{"version":3,"sources":["webpack:///./node_modules/devextreme-vue/core/strategy/vue2/configuration.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/devextreme/esm/data/abstract_store.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/devextreme/esm/events/gesture/emitter.gesture.js","webpack:///./node_modules/devextreme/esm/events/utils/add_namespace.js","webpack:///./node_modules/devextreme/esm/events/utils/index.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/devextreme/esm/core/utils/dependency_injector.js","webpack:///./node_modules/core-js/internals/symbol-constructor-detection.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///../../../src/components/transitions/createTransition.ts","webpack:///../../../src/components/transitions/expand-transition.ts","webpack:///../../../src/components/transitions/index.ts","webpack:///../../../src/components/VAlert/VAlert.ts","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/devextreme/esm/renovation/component_wrapper/button.js","webpack:///./node_modules/devextreme/esm/renovation/ui/common/icon.js","webpack:///./node_modules/devextreme/esm/renovation/ui/common/ink_ripple.js","webpack:///./node_modules/devextreme/esm/renovation/ui/button.js","webpack:///./node_modules/devextreme/esm/renovation/ui/button.j.js","webpack:///./node_modules/devextreme/esm/ui/button.js","webpack:///./node_modules/core-js/internals/length-of-array-like.js","webpack:///./node_modules/devextreme/esm/core/component_registrator_callbacks.js","webpack:///./node_modules/devextreme/esm/core/component_registrator.js","webpack:///./node_modules/devextreme/esm/data/array_query.js","webpack:///./node_modules/devextreme/esm/ui/validation_message.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/devextreme/esm/core/utils/object.js","webpack:///./node_modules/lodash.support/index.js","webpack:///./node_modules/convert-units/lib/definitions/voltage.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/error-stack-clear.js","webpack:///./node_modules/devextreme/esm/exporter/image_creator.js","webpack:///./node_modules/devextreme/esm/exporter/file_saver.js","webpack:///./node_modules/devextreme/esm/exporter/svg_creator.js","webpack:///./node_modules/devextreme/esm/exporter/pdf_creator.js","webpack:///./node_modules/devextreme/esm/exporter.js","webpack:///./node_modules/devextreme/esm/viz/core/export.js","webpack:///./node_modules/core-js/internals/try-to-string.js","webpack:///./node_modules/devextreme/esm/core/templates/empty_template.js","webpack:///./node_modules/devextreme/esm/ui/collection/ui.collection_widget.base.js","webpack:///./node_modules/devextreme/esm/ui/collection/ui.collection_widget.edit.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/devextreme/esm/core/templates/template_engine_registry.js","webpack:///./node_modules/devextreme/esm/core/templates/template.js","webpack:///./node_modules/devextreme/esm/core/utils/template_manager.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/convert-units/lib/definitions/energy.js","webpack:///../../../src/components/VGrid/VRow.ts","webpack:///./node_modules/moment/locale/eu.js","webpack:///../../../src/components/VSheet/index.ts","webpack:///./node_modules/devextreme/esm/localization/cldr-data/first_day_of_week_data.js","webpack:///./node_modules/devextreme/esm/localization/intl/date.js","webpack:///./node_modules/devextreme/esm/localization/date.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/devextreme-vue/core/extension-component.js","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///./node_modules/devextreme-vue/core/children-processing.js","webpack:///./node_modules/devextreme/esm/core/utils/callbacks.js","webpack:///../../../src/components/VIcon/VIcon.ts","webpack:///./node_modules/devextreme/esm/viz/export.js","webpack:///./node_modules/core-js/internals/make-built-in.js","webpack:///./node_modules/core-js/modules/es.array.reduce.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/core-js/modules/es.array.push.js","webpack:///./node_modules/core-js/internals/is-callable.js","webpack:///./node_modules/moment/locale/oc-lnc.js","webpack:///../../../src/components/VDialog/VDialog.ts","webpack:///./node_modules/devextreme/esm/core/utils/ready_callbacks.js","webpack:///../../../src/mixins/delayable/index.ts","webpack:///./node_modules/core-js/internals/is-possible-prototype.js","webpack:///../../../src/components/VList/VListItemAction.ts","webpack:///./node_modules/@devextreme/runtime/esm/inferno/effect_host.js","webpack:///./node_modules/@devextreme/runtime/esm/inferno/base_component.js","webpack:///./node_modules/@devextreme/runtime/esm/inferno/create_context.js","webpack:///./node_modules/@devextreme/runtime/esm/inferno/effect.js","webpack:///./node_modules/@devextreme/runtime/esm/inferno/portal.js","webpack:///./node_modules/@devextreme/runtime/esm/inferno/re_render_effect.js","webpack:///./node_modules/@devextreme/runtime/esm/inferno/mocked/shared.js","webpack:///./node_modules/@devextreme/runtime/esm/inferno/mocked/hydrate.js","webpack:///./node_modules/@devextreme/runtime/esm/inferno/render_template.js","webpack:///./node_modules/@devextreme/runtime/esm/inferno/normalize_styles.js","webpack:///./node_modules/core-js/internals/has-own-property.js","webpack:///./node_modules/convert-units/lib/definitions/reactiveEnergy.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///../../../src/components/VList/VListItemGroup.ts","webpack:///./node_modules/devextreme/esm/ui/load_panel.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/convert-units/lib/definitions/volumeFlowRate.js","webpack:///../../../src/mixins/routable/index.ts","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/devextreme/esm/core/utils/queue.js","webpack:///./node_modules/devextreme/esm/data/data_source/operation_manager.js","webpack:///./node_modules/devextreme/esm/data/data_source/data_source.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///../../../src/components/VTimeline/VTimelineItem.ts","webpack:///./node_modules/devextreme/esm/core/utils/icon.js","webpack:///../../../src/components/VDataTable/VSimpleTable.ts","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/vue-chartjs/es/mixins/index.js","webpack:///./node_modules/vue-chartjs/es/BaseCharts.js","webpack:///./node_modules/devextreme/esm/core/utils/html_parser.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/devextreme/esm/ui/list/item.js","webpack:///./node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_element_style.js","webpack:///./node_modules/devextreme/esm/ui/list/ui.list.base.js","webpack:///./node_modules/devextreme/esm/ui/themes.js","webpack:///./node_modules/devextreme/esm/ui/themes_callback.js","webpack:///./node_modules/file-saver/dist/FileSaver.min.js","webpack:///../../../src/mixins/stackable/index.ts","webpack:///../../../src/components/VProgressCircular/index.ts","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/lodash.isfunction/index.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/moment/locale/ku.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///../../../src/mixins/measurable/index.ts","webpack:///../../../src/components/VSubheader/index.ts","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/core-js/modules/web.url-search-params.has.js","webpack:///./node_modules/devextreme-vue/core/index.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/me.js","webpack:///../../../src/mixins/loadable/index.ts","webpack:///./node_modules/lodash._basebind/index.js","webpack:///./node_modules/devextreme/esm/events/drag.js","webpack:///../../../src/components/VToolbar/index.ts","webpack:///./node_modules/vue/dist/vue.runtime.esm.js","webpack:///../../../src/components/VCombobox/VCombobox.ts","webpack:///./node_modules/devextreme-vue/core/config.js","webpack:///./node_modules/core-js/internals/function-apply.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/convert-units/lib/definitions/current.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///../../../src/components/VSnackbar/VSnackbar.ts","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/vue-moment/dist/vue-moment.js","webpack:///./node_modules/vuex/dist/vuex.esm.js","webpack:///./node_modules/devextreme/esm/ui/list/ui.list.edit.decorator_registry.js","webpack:///../../../src/components/VGrid/VSpacer.ts","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/devextreme/esm/ui/popup/popup_drag.js","webpack:///./node_modules/devextreme/esm/ui/resizable.js","webpack:///./node_modules/devextreme/esm/ui/popup/popup_position_controller.js","webpack:///./node_modules/devextreme/esm/ui/popup/popup_overflow_manager.js","webpack:///./node_modules/devextreme/esm/ui/popup/ui.popup.js","webpack:///./node_modules/chart.js/dist/Chart.js","webpack:///./node_modules/devextreme/esm/renovation/utils/get_computed_style.js","webpack:///../../../src/mixins/registrable/index.ts","webpack:///../../../src/components/VMenu/index.ts","webpack:///./node_modules/devextreme/esm/core/inferno_renderer.js","webpack:///./node_modules/devextreme/esm/renovation/utils/shallow_equals.js","webpack:///./node_modules/devextreme/esm/renovation/component_wrapper/common/template_wrapper.js","webpack:///./node_modules/devextreme/esm/renovation/component_wrapper/utils/update_props_immutable.js","webpack:///./node_modules/devextreme/esm/renovation/component_wrapper/common/component.js","webpack:///./node_modules/devextreme/esm/ui/editor/editor.js","webpack:///./node_modules/devextreme/esm/renovation/utils/subscribe_to_event.js","webpack:///./node_modules/core-js/modules/es.array.at.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///../../../src/components/VList/VListItemIcon.ts","webpack:///./node_modules/devextreme/esm/core/utils/version.js","webpack:///../../../src/components/VChip/index.ts","webpack:///./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack:///./node_modules/convert-units/lib/definitions/angle.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/templates-manager.js","webpack:///./node_modules/devextreme/esm/ui/list/ui.list.edit.decorator_menu_helper.js","webpack:///./node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.context.js","webpack:///./node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.switchable.js","webpack:///./node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.switchable.button.js","webpack:///./node_modules/devextreme/esm/renovation/ui/resizable/utils.js","webpack:///./node_modules/devextreme/esm/ui/popover/popover_position_controller.js","webpack:///./node_modules/devextreme/esm/ui/popover/ui.popover.js","webpack:///./node_modules/devextreme/esm/__internal/ui/m_action_sheet.js","webpack:///./node_modules/devextreme/esm/ui/action_sheet.js","webpack:///./node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.switchable.slide.js","webpack:///./node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.static.js","webpack:///./node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.swipe.js","webpack:///./node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.reorder.js","webpack:///./node_modules/devextreme/esm/ui/list.js","webpack:///../../../src/components/VProgressLinear/index.ts","webpack:///./node_modules/devextreme/esm/core/utils/resize_callbacks.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/devextreme/esm/renovation/common/config_provider.js","webpack:///./node_modules/devextreme/esm/renovation/utils/resolve_rtl.js","webpack:///./node_modules/devextreme/esm/renovation/ui/common/widget.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/devextreme/esm/core/config.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/convert-units/lib/definitions/digital.js","webpack:///../../../src/mixins/validatable/index.ts","webpack:///./node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/lodash._setbinddata/index.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///../../../src/components/VTooltip/VTooltip.ts","webpack:///./node_modules/core-js/internals/array-set-length.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///../../../src/mixins/applicationable/index.ts","webpack:///./node_modules/devextreme/esm/core/utils/variable_wrapper.js","webpack:///./node_modules/moment/locale/zh-mo.js","webpack:///./node_modules/core-js/internals/object-is-prototype-of.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/lodash.identity/index.js","webpack:///./node_modules/devextreme/esm/core/http_request.js","webpack:///./node_modules/devextreme/esm/core/utils/ajax.js","webpack:///./node_modules/devextreme/esm/events/short.js","webpack:///./node_modules/devextreme/esm/core/action.js","webpack:///./node_modules/devextreme/esm/data/errors.js","webpack:///./node_modules/devextreme/esm/ui/text_box/utils.caret.js","webpack:///./node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.rule.js","webpack:///./node_modules/devextreme/esm/ui/text_box/ui.text_editor.clear.js","webpack:///./node_modules/devextreme/esm/ui/text_box/texteditor_button_collection/custom.js","webpack:///./node_modules/devextreme/esm/ui/text_box/texteditor_button_collection/index.js","webpack:///./node_modules/devextreme/esm/ui/text_box/ui.text_editor.label.js","webpack:///./node_modules/devextreme/esm/ui/text_box/ui.text_editor.base.js","webpack:///./node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.strategy.js","webpack:///./node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.js","webpack:///./node_modules/devextreme/esm/ui/text_box/ui.text_editor.js","webpack:///./node_modules/convert-units/lib/definitions/power.js","webpack:///./node_modules/core-js/internals/function-bind-native.js","webpack:///../../../src/mixins/scrollable/index.ts","webpack:///../../../src/components/VAppBar/VAppBar.ts","webpack:///./node_modules/devextreme/esm/renovation/ui/common/base_props.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/devextreme/esm/ui/collection/ui.collection_widget.live_update.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///../../../src/components/VRadioGroup/VRadioGroup.ts","webpack:///./node_modules/devextreme/esm/viz/chart_components/crosshair.js","webpack:///./node_modules/devextreme/esm/viz/components/consts.js","webpack:///./node_modules/devextreme/esm/viz/core/layout_element.js","webpack:///./node_modules/devextreme/esm/viz/chart_components/layout_manager.js","webpack:///./node_modules/devextreme/esm/viz/chart_components/multi_axes_synchronizer.js","webpack:///./node_modules/devextreme/esm/viz/translators/range.js","webpack:///./node_modules/devextreme/esm/viz/translators/category_translator.js","webpack:///./node_modules/devextreme/esm/viz/translators/interval_translator.js","webpack:///./node_modules/devextreme/esm/viz/translators/datetime_translator.js","webpack:///./node_modules/devextreme/esm/viz/translators/logarithmic_translator.js","webpack:///./node_modules/devextreme/esm/viz/translators/translator2d.js","webpack:///./node_modules/devextreme/esm/viz/chart_components/scroll_bar.js","webpack:///./node_modules/devextreme/esm/viz/chart_components/shutter_zoom.js","webpack:///./node_modules/devextreme/esm/events/transform.js","webpack:///./node_modules/devextreme/esm/viz/chart_components/zoom_and_pan.js","webpack:///./node_modules/devextreme/esm/viz/core/renderers/animation.js","webpack:///./node_modules/devextreme/esm/viz/core/renderers/renderer.js","webpack:///./node_modules/devextreme/esm/viz/core/plaque.js","webpack:///./node_modules/devextreme/esm/viz/core/tooltip.js","webpack:///./node_modules/devextreme/esm/viz/core/annotations.js","webpack:///./node_modules/devextreme/esm/viz/series/helpers/range_data_calculator.js","webpack:///./node_modules/devextreme/esm/viz/utils.js","webpack:///./node_modules/devextreme/esm/viz/axes/smart_formatter.js","webpack:///./node_modules/devextreme/esm/viz/axes/axes_constants.js","webpack:///./node_modules/devextreme/esm/viz/components/parse_utils.js","webpack:///./node_modules/devextreme/esm/viz/axes/tick_generator.js","webpack:///./node_modules/devextreme/esm/viz/axes/tick.js","webpack:///./node_modules/devextreme/esm/viz/axes/datetime_breaks.js","webpack:///./node_modules/devextreme/esm/viz/axes/xy_axes.js","webpack:///./node_modules/devextreme/esm/viz/axes/axes_utils.js","webpack:///./node_modules/devextreme/esm/viz/axes/polar_axes.js","webpack:///./node_modules/devextreme/esm/viz/axes/constant_line.js","webpack:///./node_modules/devextreme/esm/viz/axes/strip.js","webpack:///./node_modules/devextreme/esm/viz/axes/base_axis.js","webpack:///./node_modules/devextreme/esm/viz/core/series_family.js","webpack:///./node_modules/devextreme/esm/viz/chart_components/tracker.js","webpack:///./node_modules/devextreme/esm/viz/palette.js","webpack:///./node_modules/devextreme/esm/viz/core/base_theme_manager.js","webpack:///./node_modules/devextreme/esm/viz/components/chart_theme_manager.js","webpack:///./node_modules/devextreme/esm/viz/components/data_validator.js","webpack:///./node_modules/devextreme/esm/viz/core/title.js","webpack:///./node_modules/devextreme/esm/viz/components/legend.js","webpack:///./node_modules/devextreme/esm/viz/core/data_source.js","webpack:///./node_modules/devextreme/esm/viz/core/loading_indicator.js","webpack:///./node_modules/devextreme/esm/localization.js","webpack:///./node_modules/devextreme/esm/viz/series/helpers/display_format_parser.js","webpack:///./node_modules/devextreme/esm/viz/series/points/label.js","webpack:///./node_modules/devextreme/esm/viz/series/points/symbol_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/bar_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/bubble_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/pie_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/range_symbol_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/range_bar_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/candlestick_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/stock_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/polar_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/base_point.js","webpack:///./node_modules/devextreme/esm/viz/series/scatter_series.js","webpack:///./node_modules/devextreme/esm/viz/series/line_series.js","webpack:///./node_modules/devextreme/esm/viz/series/area_series.js","webpack:///./node_modules/devextreme/esm/viz/series/bar_series.js","webpack:///./node_modules/devextreme/esm/viz/series/range_series.js","webpack:///./node_modules/devextreme/esm/viz/series/bubble_series.js","webpack:///./node_modules/devextreme/esm/viz/series/pie_series.js","webpack:///./node_modules/devextreme/esm/viz/series/financial_series.js","webpack:///./node_modules/devextreme/esm/viz/series/stacked_series.js","webpack:///./node_modules/devextreme/esm/viz/series/base_series.js","webpack:///./node_modules/devextreme/esm/viz/core/errors_warnings.js","webpack:///./node_modules/devextreme/esm/viz/core/base_widget.utils.js","webpack:///./node_modules/devextreme/esm/viz/core/helpers.js","webpack:///./node_modules/devextreme/esm/viz/core/layout.js","webpack:///./node_modules/devextreme/esm/__internal/common/m_charts.js","webpack:///./node_modules/devextreme/esm/__internal/viz/core/m_base_widget.js","webpack:///./node_modules/devextreme/esm/__internal/viz/chart_components/rolling_stock.js","webpack:///./node_modules/devextreme/esm/__internal/viz/chart_components/m_base_chart.js","webpack:///./node_modules/devextreme/esm/__internal/viz/chart_components/m_advanced_chart.js","webpack:///./node_modules/devextreme/esm/__internal/viz/m_chart.js","webpack:///./node_modules/devextreme/esm/viz/chart.js","webpack:///./node_modules/devextreme/esm/ui/collection/ui.collection_widget.edit.strategy.js","webpack:///./node_modules/devextreme/esm/ui/collection/ui.collection_widget.edit.strategy.plain.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/devextreme/esm/renovation/ui/overlays/validation_message.js","webpack:///./node_modules/devextreme/esm/renovation/ui/editors/common/editor.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/lodash._shimkeys/index.js","webpack:///./node_modules/devextreme/esm/ui/overlay/z_index.js","webpack:///./node_modules/devextreme/esm/events/core/emitter_registrator.js","webpack:///./node_modules/devextreme/esm/core/utils/window.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///../../../src/components/VThemeProvider/VThemeProvider.ts","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/devextreme/esm/events/core/event_registrator.js","webpack:///../../../src/components/VProgressCircular/VProgressCircular.ts","webpack:///./node_modules/devextreme/esm/core/templates/template_base.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/devextreme/esm/animation/easing.js","webpack:///./node_modules/devextreme/esm/animation/fx.js","webpack:///../../../src/mixins/activatable/index.ts","webpack:///./node_modules/devextreme/esm/core/memorized_callbacks.js","webpack:///./node_modules/devextreme/esm/ui/widget/selectors.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/devextreme/esm/core/devices.js","webpack:///./node_modules/moment/locale/ar-ps.js","webpack:///../../../src/components/VBadge/VBadge.ts","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///../../../src/mixins/groupable/index.ts","webpack:///./node_modules/devextreme/esm/animation/frame.js","webpack:///./node_modules/devextreme/esm/ui/validation_engine.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/moment/locale/ga.js","webpack:///./node_modules/devextreme/esm/data/data_source/utils.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/devextreme/esm/core/dom_adapter.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///../../../src/mixins/rippleable/index.ts","webpack:///./node_modules/devextreme/esm/ui/text_box/text_box.js","webpack:///./node_modules/devextreme/esm/ui/text_box.js","webpack:///./node_modules/core-js/modules/web.url-search-params.size.js","webpack:///./node_modules/devextreme/esm/core/utils/dom.js","webpack:///./node_modules/devextreme/esm/ui/scroll_view/animator.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/convert-units/lib/definitions/speed.js","webpack:///../../../src/directives/ripple/index.ts","webpack:///./node_modules/devextreme-vue/chart.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/core-js/internals/to-string.js","webpack:///./node_modules/devextreme/esm/color.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue3/index.js","webpack:///../../src/util/mixins.ts","webpack:///./node_modules/core-js/internals/to-integer-or-infinity.js","webpack:///./node_modules/inferno-create-element/dist/index.esm.js","webpack:///../../../src/components/VRangeSlider/VRangeSlider.ts","webpack:///./node_modules/convert-units/lib/definitions/time.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/devextreme/esm/localization/ldml/number.js","webpack:///./node_modules/core-js/internals/a-callable.js","webpack:///./node_modules/moment/locale/tk.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/devextreme/esm/core/renderer_base.js","webpack:///./node_modules/devextreme/esm/core/renderer.js","webpack:///../../../src/components/VAppBar/VAppBarNavIcon.ts","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/moment/locale/te.js","webpack:///../../../src/components/VList/VListGroup.ts","webpack:///../../../src/components/VList/index.ts","webpack:///./node_modules/convert-units/lib/definitions/partsPer.js","webpack:///./node_modules/core-js/internals/function-name.js","webpack:///./node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./node_modules/lodash._basecreate/index.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///../../../src/components/VItemGroup/VItemGroup.ts","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///./node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_element_location_internal.js","webpack:///./node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.old.js","webpack:///./node_modules/devextreme/esm/core/utils/shadow_dom.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/devextreme/esm/core/templates/function_template.js","webpack:///./node_modules/devextreme-vue/core/helpers.js","webpack:///./node_modules/lodash._slice/index.js","webpack:///./node_modules/devextreme/esm/core/utils/math.js","webpack:///./node_modules/devextreme/esm/core/utils/inflector.js","webpack:///../../../src/components/VGrid/VCol.ts","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/core-js/internals/define-global-property.js","webpack:///./node_modules/devextreme/esm/localization/ldml/date.formatter.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/errors.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.native.pull_down.js","webpack:///./node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.native.swipe_down.js","webpack:///./node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.simulated.js","webpack:///./node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.js","webpack:///./node_modules/devextreme/esm/ui/scroll_view.js","webpack:///../../../src/components/VRadioGroup/VRadio.ts","webpack:///./node_modules/devextreme/esm/data_helper.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/convert-units/lib/definitions/pressure.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/devextreme/esm/exporter/jspdf/common/normalizeOptions.js","webpack:///./node_modules/devextreme/esm/exporter/jspdf/common/pdf_utils.js","webpack:///./node_modules/devextreme/esm/exporter/jspdf/common/row_utils.js","webpack:///./node_modules/devextreme/esm/exporter/jspdf/common/height_updater.js","webpack:///./node_modules/devextreme/esm/exporter/jspdf/common/rows_generator.js","webpack:///./node_modules/devextreme/esm/exporter/jspdf/common/draw_utils.js","webpack:///./node_modules/devextreme/esm/exporter/jspdf/common/rows_spliting_utils/get_multipage_row_pages.js","webpack:///./node_modules/devextreme/esm/exporter/jspdf/common/rows_spliting_utils/create_on_split_multipage_row.js","webpack:///./node_modules/devextreme/esm/exporter/jspdf/common/rows_splitting.js","webpack:///./node_modules/devextreme/esm/exporter/jspdf/common/export.js","webpack:///./node_modules/devextreme/esm/exporter/jspdf/export_data_grid.js","webpack:///./node_modules/devextreme/esm/core/utils/style.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/devextreme/esm/ui/toolbar/constants.js","webpack:///./node_modules/devextreme/esm/core/utils/common.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/devextreme-vue/list.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/convert-units/lib/definitions/temperature.js","webpack:///./node_modules/moment/locale/it-ch.js","webpack:///./node_modules/core-js/internals/error-stack-install.js","webpack:///./node_modules/devextreme/esm/ui/shared/grouped_data_converter_mixin.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/devextreme/esm/renovation/ui/common/utils/get_updated_options.js","webpack:///./node_modules/devextreme/esm/renovation/ui/common/dom_component_wrapper.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/convert-units/lib/definitions/illuminance.js","webpack:///./node_modules/devextreme/esm/events/index.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///../../../src/components/VAvatar/index.ts","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///../../../src/components/VTabs/VTab.ts","webpack:///../../../src/components/VToolbar/VToolbar.ts","webpack:///./node_modules/devextreme/esm/ui/collection/data_controller.js","webpack:///./node_modules/core-js/internals/is-null-or-undefined.js","webpack:///./node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack:///./node_modules/fflate/esm/browser.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/devextreme/esm/events/contextmenu.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/devextreme/esm/events/hold.js","webpack:///../../../src/components/VApp/VApp.ts","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/ku-kmr.js","webpack:///../../../src/mixins/themeable/index.ts","webpack:///./node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_relative_offset.js","webpack:///./node_modules/devextreme/esm/core/utils/view_port.js","webpack:///../../../src/mixins/detachable/index.ts","webpack:///./node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///../../src/util/colorUtils.ts","webpack:///./node_modules/convert-units/lib/definitions/length.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/devextreme/esm/core/utils/comparator.js","webpack:///./node_modules/devextreme/esm/core/options/option_manager.js","webpack:///./node_modules/devextreme/esm/core/options/index.js","webpack:///./node_modules/devextreme/esm/core/postponed_operations.js","webpack:///./node_modules/devextreme/esm/core/component.js","webpack:///./node_modules/devextreme/esm/core/template_manager.js","webpack:///./node_modules/devextreme/esm/core/dom_component.js","webpack:///./node_modules/devextreme/esm/renovation/ui/scroll_view/common/consts.js","webpack:///./node_modules/lodash._createwrapper/index.js","webpack:///./node_modules/devextreme/esm/core/utils/position.js","webpack:///../../../src/services/goto/easing-patterns.ts","webpack:///../../../src/services/goto/util.ts","webpack:///../../../src/services/goto/index.ts","webpack:///../../../src/mixins/binds-attrs/index.ts","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/devextreme/esm/mobile/hide_callback.js","webpack:///./node_modules/devextreme/esm/ui/overlay/ui.overlay.js","webpack:///./node_modules/convert-units/lib/definitions/each.js","webpack:///../../src/util/helpers.ts","webpack:///./node_modules/devextreme/esm/localization/ldml/date.format.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///../../../src/components/VAvatar/VAvatar.ts","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///../../../src/components/VList/VListItemAvatar.ts","webpack:///../../../src/components/VBtn/VBtn.ts","webpack:///./node_modules/convert-units/lib/definitions/pace.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///../../../src/components/VTimeline/VTimeline.ts","webpack:///./node_modules/axios/lib/helpers/validator.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/config.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///../../../src/mixins/comparable/index.ts","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/devextreme/esm/core/templates/bindable_template.js","webpack:///../../../src/components/VCounter/VCounter.ts","webpack:///../../../src/components/VCounter/index.ts","webpack:///../../../src/mixins/intersectable/index.ts","webpack:///../../../src/components/VTextField/VTextField.ts","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/devextreme/esm/ui/text_box/texteditor_button_collection/button.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///../../../src/components/VList/VList.ts","webpack:///./node_modules/core-js/modules/web.url-search-params.delete.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/devextreme/esm/localization/default_date_names.js","webpack:///./node_modules/jspdf/dist/jspdf.es.min.js","webpack:///./node_modules/vue-router/dist/vue-router.esm.js","webpack:///./node_modules/devextreme/esm/events/swipe.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///../../../src/util/color/transformSRGB.ts","webpack:///../../../src/components/VSheet/VSheet.ts","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/templates-discovering.js","webpack:///../../../src/components/VProgressLinear/VProgressLinear.ts","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/devextreme-vue/core/configuration.js","webpack:///./node_modules/devextreme-vue/core/version.js","webpack:///./node_modules/devextreme/esm/events/pointer/base.js","webpack:///./node_modules/devextreme/esm/events/pointer/touch.js","webpack:///./node_modules/devextreme/esm/events/pointer/mouse.js","webpack:///./node_modules/devextreme/esm/events/pointer/observer.js","webpack:///./node_modules/devextreme/esm/events/pointer/mouse_and_touch.js","webpack:///./node_modules/devextreme/esm/events/pointer.js","webpack:///./node_modules/devextreme/esm/core/utils/browser.js","webpack:///./node_modules/devextreme/esm/core/utils/array.js","webpack:///../../../src/components/VData/VData.ts","webpack:///../../../src/components/VDataIterator/VDataFooter.ts","webpack:///../../../src/components/VDataIterator/VDataIterator.ts","webpack:///../../../../src/components/VDataTable/mixins/header.ts","webpack:///../../../src/components/VDataTable/VDataTableHeaderMobile.ts","webpack:///../../../src/components/VDataTable/VDataTableHeaderDesktop.ts","webpack:///../../src/util/dedupeModelListeners.ts","webpack:///../../src/util/rebuildFunctionalSlots.ts","webpack:///../../../src/components/VDataTable/VDataTableHeader.ts","webpack:///../../../src/components/VDataTable/Row.ts","webpack:///../../../src/components/VDataTable/RowGroup.ts","webpack:///../../../src/components/VDataTable/MobileRow.ts","webpack:///../../../src/mixins/mouse/index.ts","webpack:///../../../src/components/VDataTable/VDataTable.ts","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/devextreme/esm/events/core/keyboard_processor.js","webpack:///../../../src/directives/intersect/index.ts","webpack:///./node_modules/devextreme/esm/viz/core/themes/generic.light.js","webpack:///./node_modules/devextreme/esm/viz/core/themes/generic.carmine.js","webpack:///./node_modules/devextreme/esm/viz/core/themes/generic.dark.js","webpack:///./node_modules/devextreme/esm/viz/core/themes/generic.contrast.js","webpack:///./node_modules/devextreme/esm/viz/core/themes/generic.darkmoon.js","webpack:///./node_modules/devextreme/esm/viz/core/themes/generic.darkviolet.js","webpack:///./node_modules/devextreme/esm/viz/core/themes/generic.greenmist.js","webpack:///./node_modules/devextreme/esm/viz/core/themes/generic.softblue.js","webpack:///./node_modules/devextreme/esm/viz/core/themes/material.js","webpack:///./node_modules/devextreme/esm/viz/themes.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/devextreme/esm/localization/currency.js","webpack:///./node_modules/devextreme/esm/events/core/emitter.js","webpack:///./node_modules/devextreme-vue/core/templates-manager.js","webpack:///./node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.native.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/devextreme/esm/core/utils/string.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/bn-bd.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/@auth0/auth0-spa-js/dist/auth0-spa-js.production.esm.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/devextreme/esm/renovation/common/config_context.js","webpack:///../../../src/components/VCard/index.ts","webpack:///../../../src/components/VSlider/index.ts","webpack:///./node_modules/devextreme/esm/localization/utils.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/devextreme/esm/data/utils.js","webpack:///./node_modules/convert-units/lib/definitions/area.js","webpack:///../../../src/components/VIcon/index.ts","webpack:///../../../src/mixins/bootable/index.ts","webpack:///./node_modules/devextreme/esm/format_helper.js","webpack:///../../../src/components/VCheckbox/VSimpleCheckbox.ts","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/devextreme/esm/ui/load_indicator.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/devextreme/esm/core/errors.js","webpack:///./node_modules/devextreme/esm/ui/scroll_view/ui.scrollbar.js","webpack:///./node_modules/devextreme/esm/renovation/utils/combine_classes.js","webpack:///./node_modules/devextreme/esm/core/utils/console.js","webpack:///./node_modules/devextreme/esm/events/core/emitter.feedback.js","webpack:///../../../src/mixins/roundable/index.ts","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/children-processing.js","webpack:///../../../src/directives/click-outside/index.ts","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/helpers.js","webpack:///./node_modules/devextreme-vue/core/constants.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/devextreme/esm/ui/selection/selection.strategy.js","webpack:///./node_modules/devextreme/esm/ui/selection/selection.strategy.deferred.js","webpack:///./node_modules/devextreme/esm/core/utils/selection_filter.js","webpack:///./node_modules/devextreme/esm/ui/selection/selection.strategy.standard.js","webpack:///./node_modules/devextreme/esm/ui/selection/selection.js","webpack:///../../../src/mixins/proxyable/index.ts","webpack:///./node_modules/devextreme/esm/core/templates/child_default_template.js","webpack:///../../../src/components/VGrid/grid.ts","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///./node_modules/vue-gtag/dist/vue-gtag.esm.js","webpack:///./node_modules/devextreme/esm/core/utils/call_once.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///../../../src/components/VMain/VMain.ts","webpack:///../../../src/components/VContent/VContent.ts","webpack:///./node_modules/moment/locale/bm.js","webpack:///../../../src/mixins/colorable/index.ts","webpack:///./node_modules/vue-filter-pretty-bytes/vue-filter-pretty-bytes.js","webpack:///./node_modules/devextreme/esm/ui/shared/filtering.js","webpack:///./node_modules/lodash.foreach/index.js","webpack:///./node_modules/convert-units/lib/index.js","webpack:///../../../src/components/VWindow/VWindow.ts","webpack:///../../../src/components/VTabs/VTabsItems.ts","webpack:///./node_modules/moment/locale/gom-deva.js","webpack:///./node_modules/core-js/internals/install-error-cause.js","webpack:///./node_modules/devextreme/esm/localization/ldml/date.parser.js","webpack:///./node_modules/devextreme/esm/core/element.js","webpack:///../../../src/components/VCheckbox/VCheckbox.ts","webpack:///./node_modules/devextreme/esm/ui/widget/utils.ink_ripple.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///../../../src/components/VResponsive/VResponsive.ts","webpack:///../../../src/components/VResponsive/index.ts","webpack:///../../../src/components/VImg/VImg.ts","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/core-js/internals/proxy-accessor.js","webpack:///./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack:///../../../src/mixins/sizeable/index.ts","webpack:///./node_modules/devextreme/esm/ui/list/ui.list.edit.strategy.grouped.js","webpack:///./node_modules/devextreme/esm/ui/list/ui.list.edit.provider.js","webpack:///./node_modules/devextreme/esm/ui/list/ui.list.edit.js","webpack:///./node_modules/devextreme/esm/ui/list/ui.list.edit.search.js","webpack:///./node_modules/devextreme/esm/ui/list_light.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/component.js","webpack:///../../../src/components/VBtn/index.ts","webpack:///../../../src/components/VCard/VCard.ts","webpack:///./node_modules/devextreme/esm/core/utils/iterator.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/devextreme-vue/core/templates-discovering.js","webpack:///./node_modules/devextreme/esm/ui/widget/ui.errors.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/core-js/internals/math-trunc.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/devextreme/esm/data/array_store.js","webpack:///./node_modules/devextreme/esm/ui/collection/ui.collection_widget.async.js","webpack:///./node_modules/devextreme/esm/ui/toolbar/ui.toolbar.base.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/convert-units/lib/definitions/frequency.js","webpack:///./node_modules/moment/locale/es-mx.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/buffer/index.js","webpack:///../../../src/components/VSwitch/VSwitch.ts","webpack:///./node_modules/convert-units/lib/definitions/reactivePower.js","webpack:///./node_modules/devextreme/esm/core/utils/data.js","webpack:///./node_modules/moment/locale/en-sg.js","webpack:///../../../src/components/VDivider/index.ts","webpack:///../../../src/mixins/dependent/index.ts","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/devextreme/esm/events/core/event_registrator_callbacks.js","webpack:///./node_modules/devextreme/esm/ui/collection/item.js","webpack:///./node_modules/lodash.noop/index.js","webpack:///../../../src/components/VSelect/VSelectList.ts","webpack:///../../../src/mixins/filterable/index.ts","webpack:///../../../src/components/VSelect/VSelect.ts","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/core-js/internals/error-stack-installable.js","webpack:///./node_modules/devextreme/esm/core/utils/extend.js","webpack:///../../../src/components/VSlider/VSlider.ts","webpack:///./node_modules/devextreme/esm/events/visibility_change.js","webpack:///../../../src/components/VLabel/VLabel.ts","webpack:///../../../src/components/VLabel/index.ts","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/lodash.keys/index.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/devextreme/esm/ui/list/modules/search.js","webpack:///./node_modules/devextreme/esm/data/array_utils.js","webpack:///./node_modules/devextreme/esm/animation/position.js","webpack:///./node_modules/devextreme/esm/viz/core/utils.js","webpack:///./node_modules/devextreme/esm/core/utils/type.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/moment.js","webpack:///./node_modules/devextreme/esm/core/utils/public_component.js","webpack:///./node_modules/devextreme/esm/ui/radio_group/radio_button.js","webpack:///./node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.selection.js","webpack:///./node_modules/devextreme/esm/ui/overlay/overlay_position_controller.js","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/devextreme/esm/core/version.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/immer/dist/immer.legacy-esm.js","webpack:///../../../src/components/VMessages/VMessages.ts","webpack:///../../../src/components/VMessages/index.ts","webpack:///../../../src/components/VInput/VInput.ts","webpack:///../../../src/components/VInput/index.ts","webpack:///../../../src/directives/touch/index.ts","webpack:///./node_modules/lodash.forown/index.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/devextreme/esm/events/core/wheel.js","webpack:///./node_modules/devextreme/esm/events/core/hook_touch_props.js","webpack:///./node_modules/devextreme/esm/events/core/events_engine.js","webpack:///./node_modules/lodash.isobject/index.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/devextreme/esm/animation/translator.js","webpack:///./node_modules/core-js/internals/function-call.js","webpack:///../../../src/components/VWindow/VWindowItem.ts","webpack:///../../../src/components/VTabs/VTabItem.ts","webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///../../../src/components/VSpeedDial/VSpeedDial.ts","webpack:///./node_modules/devextreme/esm/data/query_adapters.js","webpack:///./node_modules/devextreme/esm/data/remote_query.js","webpack:///./node_modules/devextreme/esm/data/query_implementation.js","webpack:///./node_modules/devextreme/esm/data/query.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/devextreme/esm/core/utils/storage.js","webpack:///./node_modules/devextreme/esm/core/utils/support.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/devextreme/esm/core/events_strategy.js","webpack:///./node_modules/devextreme/esm/data/custom_store.js","webpack:///../../../src/mixins/elevatable/index.ts","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/extension-component.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/devextreme/esm/renovation/utils/type_conversion.js","webpack:///./node_modules/@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw.js","webpack:///./node_modules/core-js/internals/define-built-in.js","webpack:///./node_modules/devextreme/esm/core/utils/deferred.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///../../../src/components/VChip/VChip.ts","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/convert-units/lib/definitions/mass.js","webpack:///./node_modules/core-js/internals/weak-map-basic-detection.js","webpack:///../../../src/components/VDivider/VDivider.ts","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/devextreme/esm/core/options/utils.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/devextreme/esm/events/gesture/emitter.gesture.scroll.js","webpack:///../../../src/mixins/ssr-bootable/index.ts","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/index.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/devextreme-vue/data-grid.js","webpack:///./node_modules/convert-units/lib/definitions/apparentPower.js","webpack:///./node_modules/lodash._basecreatecallback/index.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///./node_modules/inferno/dist/index.esm.js","webpack:///./node_modules/moment/locale/fil.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/core-js/internals/validate-arguments-length.js","webpack:///./node_modules/devextreme-vue/core/component.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/devextreme/esm/core/utils/error.js","webpack:///./node_modules/devextreme/esm/ui/shared/accessibility.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/m_accessibility.js","webpack:///./node_modules/devextreme/esm/events/double_click.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/column_state_mixin/m_column_state_mixin.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/m_modules.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/views/m_columns_view.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/column_headers/m_column_headers.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/m_core.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/column_headers.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/columns_controller/const.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/columns_controller/m_columns_controller_utils.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/columns_controller/m_columns_controller.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/m_columns_controller.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/data_controller/m_data_helper_mixin.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/data_controller/m_data_controller.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/data_source_adapter/m_data_source_adapter_utils.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/data_source_adapter/m_data_source_adapter.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/m_data_source_adapter.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/m_data_controller.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/sorting/m_sorting_mixin.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/sorting/m_sorting.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/sorting.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/views/m_rows_view.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/rows.js","webpack:///./node_modules/devextreme/esm/ui/hierarchical_collection/ui.data_converter.js","webpack:///./node_modules/devextreme/esm/ui/hierarchical_collection/ui.data_adapter.js","webpack:///./node_modules/devextreme/esm/ui/hierarchical_collection/ui.hierarchical_collection_widget.js","webpack:///./node_modules/devextreme/esm/ui/context_menu/ui.menu_base.edit.strategy.js","webpack:///./node_modules/devextreme/esm/ui/context_menu/ui.menu_base.js","webpack:///./node_modules/devextreme/esm/ui/context_menu/ui.context_menu.js","webpack:///./node_modules/devextreme/esm/ui/context_menu.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/context_menu/m_context_menu.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/context_menu.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/error_handling/m_error_handling.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/error_handling.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/views/m_grid_view.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/grid_view.js","webpack:///./node_modules/devextreme/esm/ui/toolbar/ui.toolbar.utils.js","webpack:///./node_modules/devextreme/esm/ui/toolbar/strategy/toolbar.multiline.js","webpack:///./node_modules/devextreme/esm/ui/toolbar/internal/ui.toolbar.menu.list.js","webpack:///./node_modules/devextreme/esm/ui/popup/ui.popup.full.js","webpack:///./node_modules/devextreme/esm/ui/popup.js","webpack:///./node_modules/devextreme/esm/ui/toolbar/internal/ui.toolbar.menu.js","webpack:///./node_modules/devextreme/esm/ui/toolbar/strategy/toolbar.singleline.js","webpack:///./node_modules/devextreme/esm/ui/toolbar/ui.toolbar.js","webpack:///./node_modules/devextreme/esm/ui/toolbar.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/header_panel/m_header_panel.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/header_panel.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/m_widget_base.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/state_storing/m_state_storing_core.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/state_storing/m_state_storing.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/state_storing.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/selection/m_selection.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/selection.js","webpack:///./node_modules/devextreme/esm/ui/tree_view/ui.tree_view.base.js","webpack:///./node_modules/devextreme/esm/ui/tree_view/ui.tree_view.search.js","webpack:///./node_modules/devextreme/esm/ui/tree_view.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/column_chooser/m_column_chooser.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/column_chooser.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/m_utils.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/grouping/m_grouping_core.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/grouping/m_grouping_collapsed.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/grouping/m_grouping_expanded.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/grouping/m_grouping.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/master_detail/m_master_detail.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/master_detail.js","webpack:///./node_modules/devextreme/esm/ui/number_box/utils.js","webpack:///./node_modules/devextreme/esm/ui/number_box/number_box.caret.js","webpack:///./node_modules/devextreme/esm/ui/number_box/number_box.spin.js","webpack:///./node_modules/devextreme/esm/ui/number_box/number_box.spins.js","webpack:///./node_modules/devextreme/esm/ui/number_box/number_box.base.js","webpack:///./node_modules/devextreme/esm/ui/number_box/number_box.mask.js","webpack:///./node_modules/devextreme/esm/ui/number_box/number_box.js","webpack:///./node_modules/devextreme/esm/ui/number_box.js","webpack:///./node_modules/devextreme/esm/ui/drop_down_editor/ui.drop_down_button.js","webpack:///./node_modules/devextreme/esm/ui/drop_down_editor/utils.js","webpack:///./node_modules/devextreme/esm/ui/drop_down_editor/ui.drop_down_editor.js","webpack:///./node_modules/devextreme/esm/ui/editor/ui.data_expression.js","webpack:///./node_modules/devextreme/esm/ui/drop_down_editor/ui.drop_down_list.js","webpack:///./node_modules/devextreme/esm/__internal/ui/m_select_box.js","webpack:///./node_modules/devextreme/esm/ui/select_box.js","webpack:///./node_modules/devextreme/esm/ui/date_box/ui.date_box.mask.parts.js","webpack:///./node_modules/devextreme/esm/ui/date_box/ui.date_utils.js","webpack:///./node_modules/devextreme/esm/events/gesture/swipeable.js","webpack:///./node_modules/devextreme/esm/ui/calendar/ui.calendar.navigator.js","webpack:///./node_modules/devextreme/esm/ui/calendar/ui.calendar.base_view.js","webpack:///./node_modules/devextreme/esm/ui/calendar/ui.calendar.views.js","webpack:///./node_modules/devextreme/esm/ui/calendar/ui.calendar.selection.strategy.js","webpack:///./node_modules/devextreme/esm/ui/calendar/ui.calendar.single.selection.strategy.js","webpack:///./node_modules/devextreme/esm/ui/calendar/ui.calendar.multi.selection.strategy.js","webpack:///./node_modules/devextreme/esm/ui/calendar/ui.calendar.range.selection.strategy.js","webpack:///./node_modules/devextreme/esm/ui/calendar/ui.calendar.js","webpack:///./node_modules/devextreme/esm/ui/calendar.js","webpack:///./node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.js","webpack:///./node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.calendar.js","webpack:///./node_modules/devextreme/esm/renovation/ui/scroll_view/utils/scroll_direction.js","webpack:///./node_modules/devextreme/esm/renovation/ui/scroll_view/utils/convert_location.js","webpack:///./node_modules/devextreme/esm/ui/date_box/ui.date_view_roller.js","webpack:///./node_modules/devextreme/esm/ui/date_box/ui.date_view.js","webpack:///./node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.date_view.js","webpack:///./node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.native.js","webpack:///./node_modules/devextreme/esm/__internal/ui/m_box.js","webpack:///./node_modules/devextreme/esm/ui/box.js","webpack:///./node_modules/devextreme/esm/ui/date_box/ui.time_view.js","webpack:///./node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.calendar_with_time.js","webpack:///./node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.list.js","webpack:///./node_modules/devextreme/esm/ui/date_box/ui.date_box.base.js","webpack:///./node_modules/devextreme/esm/ui/date_box/ui.date_box.mask.js","webpack:///./node_modules/devextreme/esm/ui/date_box/ui.date_box.js","webpack:///./node_modules/devextreme/esm/ui/shared/ui.editor_factory_mixin.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/editor_factory/m_editor_factory.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/editor_factory.js","webpack:///./node_modules/devextreme/esm/ui/dialog.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/editing/const.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/editing/m_editing_utils.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/editing/m_editing.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/m_editing.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/editing/m_editing_row_based.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/editing_row_based.js","webpack:///./node_modules/devextreme/esm/ui/form/ui.form.items_runtime_info.js","webpack:///./node_modules/devextreme/esm/ui/multi_view/ui.multi_view.animation.js","webpack:///./node_modules/devextreme/esm/ui/multi_view.js","webpack:///./node_modules/devextreme/esm/ui/tabs/item.js","webpack:///./node_modules/devextreme/esm/ui/tabs/constants.js","webpack:///./node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_scroll_left_max.js","webpack:///./node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_boundary_props.js","webpack:///./node_modules/devextreme/esm/ui/tabs.js","webpack:///./node_modules/devextreme/esm/ui/tab_panel/item.js","webpack:///./node_modules/devextreme/esm/ui/tab_panel.js","webpack:///./node_modules/devextreme/esm/ui/form/ui.form.item_option_action.js","webpack:///./node_modules/devextreme/esm/ui/form/ui.form.utils.js","webpack:///./node_modules/devextreme/esm/ui/form/ui.form.item_options_actions.js","webpack:///./node_modules/devextreme/esm/ui/responsive_box.js","webpack:///./node_modules/devextreme/esm/ui/form/constants.js","webpack:///./node_modules/devextreme/esm/ui/validation/default_adapter.js","webpack:///./node_modules/devextreme/esm/ui/validator.js","webpack:///./node_modules/devextreme/esm/ui/form/ui.form.layout_manager.utils.js","webpack:///./node_modules/devextreme/esm/ui/form/components/label.js","webpack:///./node_modules/devextreme/esm/ui/form/components/field_item.js","webpack:///./node_modules/devextreme/esm/ui/form/components/button_item.js","webpack:///./node_modules/devextreme/esm/ui/form/components/empty_item.js","webpack:///./node_modules/devextreme/esm/ui/form/ui.form.layout_manager.js","webpack:///./node_modules/devextreme/esm/ui/validation_summary.js","webpack:///./node_modules/devextreme/esm/ui/validation_group.js","webpack:///./node_modules/devextreme/esm/ui/form/ui.form.js","webpack:///./node_modules/devextreme/esm/ui/form.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/editing/m_editing_form_based.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/editing_form_based.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/editing/m_editing_cell_based.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/editing_cell_based.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/validating/m_validating.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/validating.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/virtual_data_loader/m_virtual_data_loader.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling_core.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/virtual_scrolling.js","webpack:///./node_modules/devextreme/esm/ui/overlay/utils.js","webpack:///./node_modules/devextreme/esm/ui/menu/ui.submenu.js","webpack:///./node_modules/devextreme/esm/ui/menu/ui.menu.js","webpack:///./node_modules/devextreme/esm/ui/menu.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/filter/m_filter_row.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/filter_row.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/header_filter/m_header_filter_core.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/header_filter/m_header_filter.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/header_filter.js","webpack:///./node_modules/devextreme/esm/ui/filter_builder/between.js","webpack:///./node_modules/devextreme/esm/ui/filter_builder/ui.filter_operations_dictionary.js","webpack:///./node_modules/devextreme/esm/ui/filter_builder/utils.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/filter/m_filter_custom_operations.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/filter/m_filter_sync.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/filter_sync.js","webpack:///./node_modules/devextreme/esm/ui/filter_builder/filter_builder.js","webpack:///./node_modules/devextreme/esm/ui/filter_builder.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/filter/m_filter_builder.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/filter_builder.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/filter/m_filter_panel.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/filter_panel.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/search/m_search.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/search.js","webpack:///./node_modules/devextreme/esm/renovation/component_wrapper/grid_pager.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/utils/get_element_width.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/resizable_container.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/common/base_pager_props.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/common/pager_props.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/info.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/common/keyboard_action_context.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/common/light_button.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/common/consts.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/pages/page.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/pages/large.js","webpack:///./node_modules/devextreme/esm/renovation/ui/editors/common/editor_state_props.js","webpack:///./node_modules/devextreme/esm/renovation/ui/editors/common/editor_label_props.js","webpack:///./node_modules/devextreme/esm/renovation/ui/editors/number_box.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/utils/calculate_values_fitted_width.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/pages/small.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/pages/page_index_selector.js","webpack:///./node_modules/devextreme/esm/renovation/ui/editors/drop_down_editors/select_box.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/page_size/small.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/page_size/large.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/page_size/selector.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/content.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/pager.js","webpack:///./node_modules/devextreme/esm/renovation/ui/pager/pager.j.js","webpack:///./node_modules/devextreme/esm/ui/pager.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/pager/m_pager.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/pager.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/columns_resizing_reordering.js","webpack:///./node_modules/devextreme/esm/__internal/utils/memoize.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/keyboard_navigation/const.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/keyboard_navigation/dom.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation_utils.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/m_aggregate_calculator.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/keyboard_navigation.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/summary/m_summary.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/column_fixing/m_column_fixing.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/column_fixing.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/adaptivity/m_adaptivity.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/virtual_columns/m_virtual_columns_core.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/adaptivity.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/virtual_columns/m_virtual_columns.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/virtual_columns.js","webpack:///./node_modules/devextreme/esm/__internal/ui/m_button_group.js","webpack:///./node_modules/devextreme/esm/ui/button_group.js","webpack:///./node_modules/devextreme/esm/ui/drop_down_button.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/m_export.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/export/m_export.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/focus/m_focus_utils.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/focus/m_focus.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/focus/m_focus.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/row_dragging/const.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/row_dragging/dom.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/row_dragging/m_row_dragging.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/row_dragging.js","webpack:///./node_modules/devextreme/esm/__internal/grids/data_grid/m_widget.js","webpack:///./node_modules/devextreme/esm/ui/data_grid.js","webpack:///./node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.device.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///../../src/util/console.ts","webpack:///./node_modules/core-js/modules/es.error.cause.js","webpack:///../../src/util/mergeData.ts","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///../../../src/components/VList/VListItem.ts","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/devextreme/esm/core/utils/stubs.js","webpack:///./node_modules/devextreme/esm/ui/widget/ui.search_box_mixin.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/configuration-component.js","webpack:///./node_modules/devextreme/esm/localization/default_messages.js","webpack:///./node_modules/devextreme/esm/localization/message.js","webpack:///../../../src/directives/resize/index.ts","webpack:///./node_modules/core-js/internals/get-method.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/lodash._renative/index.js","webpack:///./node_modules/idle-vue/dist/build.js","webpack:///./node_modules/devextreme/esm/core/guid.js","webpack:///../../src/util/dom.ts","webpack:///./node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.simulated.js","webpack:///./node_modules/devextreme/esm/events/remove.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/convert-units/lib/definitions/volume.js","webpack:///./node_modules/devextreme/esm/localization/cldr-data/parent_locales.js","webpack:///./node_modules/devextreme/esm/localization/parentLocale.js","webpack:///./node_modules/devextreme/esm/localization/core.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///../../../src/components/VSubheader/VSubheader.ts","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/constants.js","webpack:///./node_modules/devextreme-vue/core/vue-helper.js","webpack:///./node_modules/devextreme/esm/ui/widget/swatch_container.js","webpack:///./node_modules/mapbox-gl/dist/mapbox-gl.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/core-js/internals/function-uncurry-this.js","webpack:///./node_modules/core-js/internals/normalize-string-argument.js","webpack:///./node_modules/isarray/index.js","webpack:///../../../src/components/VMenu/VMenu.ts","webpack:///../../../src/mixins/mobile/index.ts","webpack:///./node_modules/devextreme/esm/localization/open_xml_currency_format.js","webpack:///./node_modules/devextreme/esm/localization/cldr-data/accounting_formats.js","webpack:///./node_modules/devextreme/esm/localization/intl/number.js","webpack:///./node_modules/devextreme/esm/localization/number.js","webpack:///../../../src/mixins/returnable/index.ts","webpack:///./node_modules/devextreme/esm/ui/grid_core/ui.grid_core.utils.js","webpack:///./node_modules/devextreme/esm/exporter/common/export_load_panel.js","webpack:///./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///../../../src/components/VOverlay/VOverlay.ts","webpack:///../../../src/components/VOverlay/index.ts","webpack:///../../../src/mixins/overlayable/index.ts","webpack:///./node_modules/devextreme/esm/renovation/utils/dom.js","webpack:///./node_modules/devextreme/esm/renovation/component_wrapper/editors/editor.js","webpack:///./node_modules/devextreme/esm/renovation/component_wrapper/editors/check_box.js","webpack:///./node_modules/devextreme/esm/renovation/ui/editors/check_box/utils.js","webpack:///./node_modules/devextreme/esm/renovation/ui/editors/check_box/check_box_icon.js","webpack:///./node_modules/devextreme/esm/renovation/ui/editors/check_box/check_box.js","webpack:///./node_modules/devextreme/esm/renovation/ui/editors/check_box/check_box.j.js","webpack:///./node_modules/devextreme/esm/ui/check_box.js","webpack:///./node_modules/devextreme/esm/localization/language_codes.js","webpack:///./node_modules/devextreme/esm/exporter/exceljs/export_format.js","webpack:///./node_modules/devextreme/esm/exporter/exceljs/export.js","webpack:///./node_modules/devextreme/esm/exporter/exceljs/export_merged_ranges_manager.js","webpack:///./node_modules/devextreme/esm/exporter/exceljs/export_data_grid.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/exceljs/dist/exceljs.min.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/devextreme/esm/events/utils/event_nodes_disposing.js","webpack:///./node_modules/devextreme/esm/events/click.js","webpack:///./node_modules/devextreme/esm/data/store_helper.js","webpack:///./node_modules/devextreme/esm/core/resize_observer.js","webpack:///./node_modules/core-js/modules/es.string.at-alternative.js","webpack:///./node_modules/devextreme-vue/core/configuration-component.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/lodash._objecttypes/index.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/devextreme/esm/core/utils/date_serialization.js","webpack:///./node_modules/moment/locale/en-in.js","webpack:///./node_modules/devextreme/esm/renovation/ui/common/utils/date/toMilliseconds.js","webpack:///./node_modules/devextreme/esm/core/utils/date.js","webpack:///./node_modules/devextreme/esm/__internal/grids/grid_core/m_utils.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/core-js/internals/define-built-in-accessor.js","webpack:///./node_modules/devextreme/esm/core/utils/svg.js","webpack:///./node_modules/devextreme/esm/core/utils/array_compare.js","webpack:///./node_modules/devextreme/esm/__internal/m_draggable.js","webpack:///./node_modules/devextreme/esm/__internal/m_sortable.js","webpack:///./node_modules/devextreme/esm/ui/sortable.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///../../../src/mixins/toggleable/index.ts","webpack:///../src/install.ts","webpack:///../../src/locale/en.ts","webpack:///../../../src/presets/default/index.ts","webpack:///../../../src/services/presets/index.ts","webpack:///../../../src/services/application/index.ts","webpack:///../../../src/services/breakpoint/index.ts","webpack:///../../../../src/services/icons/presets/mdi-svg.ts","webpack:///../../../../src/services/icons/presets/md.ts","webpack:///../../../../src/services/icons/presets/mdi.ts","webpack:///../../../../src/services/icons/presets/fa.ts","webpack:///../../../../src/services/icons/presets/fa4.ts","webpack:///../../../../src/services/icons/presets/fa-svg.ts","webpack:///../../../../src/services/icons/presets/index.ts","webpack:///../../../src/services/icons/index.ts","webpack:///../../../src/services/lang/index.ts","webpack:///../../../src/util/color/transformCIELAB.ts","webpack:///../../../src/services/theme/utils.ts","webpack:///../../../src/services/theme/index.ts","webpack:///../src/framework.ts","webpack:///./node_modules/is-any-array/lib-esm/index.js","webpack:///./node_modules/ml-regression-base/src/index.js","webpack:///./node_modules/ml-regression-base/src/checkArrayLength.js","webpack:///./node_modules/ml-regression-base/src/maybeToPrecision.js","webpack:///./node_modules/ml-regression-simple-linear/src/index.js","webpack:///./node_modules/ml-regression-exponential/src/index.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///../../../src/mixins/transitionable/index.ts","webpack:///./node_modules/lodash._basecreatewrapper/index.js","webpack:///../../../src/mixins/menuable/index.ts","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/devextreme/esm/ui/widget/ui.widget.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///../../../src/components/VNavigationDrawer/VNavigationDrawer.ts","webpack:///./node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///./node_modules/devextreme/esm/core/element_data.js","webpack:///../../../src/directives/scroll/index.ts","webpack:///./node_modules/devextreme/esm/core/utils/size.js","webpack:///./node_modules/devextreme/esm/core/class.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/devextreme/esm/events/hover.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///../../../src/mixins/selectable/index.ts","webpack:///../../../src/components/VSlideGroup/VSlideGroup.ts","webpack:///../../../src/components/VTabs/VTabsBar.ts","webpack:///../../../src/components/VTabs/VTabsSlider.ts","webpack:///../../../src/components/VTabs/VTabs.ts","webpack:///./node_modules/lodash.bind/index.js","webpack:///../../../src/mixins/positionable/index.ts","webpack:///../../../src/services/service/index.ts","webpack:///./node_modules/moment/locale/se.js"],"names":["__assign","this","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","defineProperty","exports","value","setEmitOptionChangedFunc","bindOptionWatchers","helpers_1","Configuration","updateFunc","name","initialValues","expectedChildren","isCollectionItem","collectionItemIndex","ownerConfig","_updateFunc","_name","_initialValues","_nestedConfigurations","_isCollectionItem","_collectionItemIndex","_expectedChildren","_ownerConfig","_componentChanges","updateValue","bind","get","enumerable","configurable","concat","cleanComponentsCountChanged","fullPath","fullName","_options","_prevNestedConfigOptions","init","options","set","handler","_emitOptionChanged","setPrevNestedOptions","onOptionChanged","args","isEqual","previousValue","_onOptionChanged","split","cleanNested","createNested","expected","actualName","actualIsCollectionItem","optionName","filter","c","configuration","push","nestedName","join","getNestedOptionValues","values","forEach","o","nestedValue","arr","Array","isArray","getOptionsToWatch","blackList","optionRelPath","optionInfo","getOptionInfo","isCollection","nestedConfig","_getNestedConfig","slice","_tryEmitOptionChanged","component","option","_i","_a","config","vueInstance","innerChanges","targets","$watch","emitOptionChanged","$props","$emit","default","wellKnownSymbol","TO_STRING_TAG","test","module","String","abstract","queryByOptions","storeImpl","Store","inherit","_langParams","ctor","that","_eventsStrategy","_","on","toLowerCase","_key","key","_errorHandler","errorHandler","_useDefaultSearch","_clearCache","_customLoadOptions","keyOf","obj","_keyGetter","_requireKey","Error","load","fireEvent","_withLock","_loadImpl","done","result","createQuery","enumerate","task","promise","resolveWith","fail","rejectWith","totalCount","_totalCountImpl","count","byKey","extraOptions","_addFailHandlers","_byKeyImpl","insert","_insertImpl","callbackValues","callbackKey","update","_updateImpl","changes","beforePushArgs","waitFor","_pushImpl","remove","_removeImpl","deferred","eventName","eventHandler","off","create","alias","registerClass","type","inheritor","members","global","factory","moment","uzLatn","defineLocale","months","monthsShort","weekdays","weekdaysShort","weekdaysMin","longDateFormat","LT","LTS","L","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","ss","m","mm","h","hh","d","dd","M","MM","y","yy","week","dow","doy","ready","add","abs","Math","SLEEP","INITED","STARTED","TOUCH_BOUNDARY","IMMEDIATE_TOUCH_BOUNDARY","IMMEDIATE_TIMEOUT","supportPointerEvents","setGestureCover","isDesktop","real","deviceType","$cover","addClass","css","subscribeGlobal","e","preventDefault","appendTo","toggle","cursor","gestureCover","gestureCoverStrategy","GestureEmitter","gesture","configure","data","getElement","immediate","callBase","allowInterruptionByMouseWheel","_stage","getDirection","direction","_cancel","_toggleGestureCover","start","_needSkipEvent","_startEvent","_startEventData","_init","_setupImmediateTimer","_this$immediateTimeou","clearTimeout","_immediateTimer","_immediateAccepted","immediateTimeout","setTimeout","move","_directionConfirmed","_resetActiveElement","_clearSelection","_adjustStartEvent","_start","_requestAccept","_move","_forgetAccept","touchBoundary","_getTouchBoundary","delta","deltaX","x","deltaY","horizontalMove","_validateMove","verticalMove","bothAccepted","horizontalAccepted","verticalAccepted","mainAxis","crossAxis","pageX","pageY","platform","find","_toggleGestureCoverImpl","isStarted","end","_end","_stop","dispose","initialTouchBoundary","newBoundary","addNamespace","eventNames","namespace","errors","map","indexOf","KEY_MAP","backspace","tab","enter","escape","pageup","pagedown","home","arrowleft","arrowup","arrowright","arrowdown","delete","f","a","alt","control","shift","LEGACY_KEY_CODES","8","9","13","27","33","34","35","36","37","38","39","40","46","32","70","65","106","109","189","173","16","17","18","EVENT_SOURCES_REGEX","dx","mouse","touch","keyboard","pointer","fixMethod","copyEvent","originalEvent","Event","isDxEvent","eventSource","isNativeMouseEvent","isNativeTouchEvent","_ref","isPointerEvent","isMouseEvent","pointerType","isDxMouseWheelEvent","isTouchEvent","eventData","_ref3","timeStamp","time","eventDelta","from","to","hasTouches","pointers","touches","skipEvents","needSkipEvent","target","$target","isContentEditable","hasAttribute","touchInEditable","is","isTextArea","hasClass","isInputFocused","which","createEvent","event","extend","props","delegateTarget","trigger","normalizeKeyName","_ref4","normalizedKey","normalizedKeyFromWhich","fromCharCode","getChar","_ref5","isCommandKeyPressed","_ref6","ctrlKey","metaKey","ml","monthsParseExact","meridiemParse","meridiemHour","hour","meridiem","minute","isLower","cv","output","affix","exec","dayOfMonthOrdinalParse","ordinal","BaseClass","object","InjectedClass","instance","initialFields","injectFields","injectionObject","initial","inject","resetInjection","V8_VERSION","fails","$String","getOwnPropertySymbols","symbol","Symbol","sham","plural","translate","number","withoutSuffix","isFuture","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","hasOwn","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","getOwnPropertyDescriptor","O","P","error","fo","mergeTransitions","dest","transitions","createSimpleTransition","origin","mode","functional","group","Boolean","hideOnLeave","leaveAbsolute","render","context","tag","beforeEnter","el","style","transformOrigin","webkitTransformOrigin","leave","offsetTop","offsetLeft","offsetWidth","offsetHeight","_transitionInitialStyles","position","top","left","width","height","afterLeave","setProperty","mergeData","children","createJavascriptTransition","functions","expandedParentClass","sizeProperty","offsetProperty","upperFirst","_parent","parentNode","_initialStyle","transition","overflow","initialStyle","offset","classList","requestAnimationFrame","afterEnter","resetStyles","enterCancelled","leaveCancelled","size","VFabTransition","VFadeTransition","VScaleTransition","VSlideXTransition","VExpandTransition","ExpandTransitionGenerator","VExpandXTransition","mixins","VSheet","Toggleable","Transitionable","border","validator","val","includes","closeLabel","coloredBorder","dense","dismissible","closeIcon","icon","outlined","prominent","text","computed","__cachedBorder","staticClass","class","setBackgroundColor","computedColor","$createElement","__cachedDismissible","color","iconColor","VBtn","small","attrs","$vuetify","lang","click","isActive","VIcon","__cachedIcon","computedIcon","classes","hasColoredIcon","hasText","undefined","isDark","Themeable","created","$attrs","breaking","methods","genWrapper","getSlot","genContent","$scopedSlots","close","genAlert","role","listeners$","styles","directives","setColor","setTextColor","ja","eras","since","narrow","abbr","until","Infinity","eraYearOrdinalRegex","eraYearOrdinalParse","input","match","parseInt","l","ll","lll","llll","isPM","now","period","getGroupConfig","_findGroup","super","getProps","onClick","_clickAction","validationGroup","_validationGroupConfig","iconType","iconTemplate","_createTemplateComponent","template","button","viewRef","activate","deactivate","needValidate","validationStatus","_createAction","_ref2","submitInput","validationResult","validate","status","complete","then","stopPropagation","_initializeComponent","_addAction","_getSubmitAction","_createClickAction","_initMarkup","$content","$element","first","$template","$input","append","replaceWith","_patchOptionValues","templateData","_templateData","findGroup","_modelByElement","_createActionByOption","excludeValidators","_optionChanged","_excluded","viewFunction","iconClassName","IconTemplate","source","sourceType","src","IconProps","getTemplate","TemplateProp","defaultProps","state","generalClasses","cssClass","_this$props","restProps","restAttributes","model","InkRippleProps","freeze","__getterCache","hideWave","showWave","getConfig","opts","nextProps","nextState","stylingModes","getCssClasses","iconPosition","stylingMode","isValidStylingMode","classesMap","viewModel","ButtonTemplate","renderText","isIconLeft","iconComponent","iconSource","accessKey","activeStateEnabled","aria","className","cssClasses","disabled","focusStateEnabled","hint","hoverStateEnabled","onActive","onWidgetClick","onInactive","onKeyDown","keyDown","rtlEnabled","tabIndex","visible","buttonTemplateData","useSubmitBehavior","submitInputRef","useInkRipple","inkRippleConfig","inkRippleRef","contentRef","widgetRef","ButtonProps","getOwnPropertyDescriptors","defaultOptionRules","device","devices","isSimulator","focus","submitEffect","checkDeprecation","emitClickEvent","onSubmit","_this$_effects$","_this$_effects$2","_effects","current","log","element","keyName","cancel","label","isPathToImage","replace","message","format","_titleRegexp$exec$","_titleRegexp$exec","title","isCentered","useHoldAnimation","waveSizeCoefficient","componentWillUpdate","__defaultOptionRules","defaultOptions","rule","_wrapKeyDownHandler","_this$viewRef","_this$viewRef2","_this$viewRef3","twoWay","allowNull","elements","templates","toLength","registerComponent","componentClass","fire","registerRendererComponent","fn","isMemberInvoke","memberName","memberArgs","each","getInstance","member","memberValue","Iterator","toArray","reset","next","countable","ArrayIterator","array","index","WrappedIterator","iter","MapIterator","mapper","hasNext","defaultCompare","xValue","yValue","locale","collatorOptions","Intl","Collator","compare","SortIterator","getter","desc","langParams","_wrap","rules","thenBy","sortedIter","_ensureSorted","sort","_compare","_unwrap","record","wrappedItem","_getDefaultCompare","xIndex","yIndex","rulesCount","compareResult","compileCriteria","_toComparable","toString","toLocaleString","compileEquals","negate","crit","ops","isConjunctiveOperator","isConjunctiveNextOperator","op","criteria","operatorFn","b","getterValue","searchValue","lastIndexOf","FilterIterator","GroupIterator","_ensureGrouped","groupedIter","hash","keys","items","SelectIterator","SliceIterator","skip","take","max","pos","min","arrayQueryImpl","queryOptions","handleError","aggregateCore","aggregator","seed","step","finalize","NaN","accumulator","resolve","reject","standardAggregate","select","chainQuery","selectProp","sortBy","Number","MAX_VALUE","groupBy","aggregate","sum","avg","INVALID_MESSAGE","INVALID_MESSAGE_AUTO","INVALID_MESSAGE_ALWAYS","INVALID_MESSAGE_CONTENT","VALIDATION_MESSAGE_MIN_WIDTH","ValidationMessage","integrationOptions","templatesRenderAsynchronously","shading","hideOnOutsideClick","animation","propagateOutsideClick","_checkParentVisibility","contentTemplate","_renderInnerHtml","maxWidth","container","validationErrors","preventScrollEvents","positionSide","boundary","v","contentId","updateMaxWidth","_updatePosition","_ensureMessageNotEmpty","_updatePositionByTarget","_toggleModeClass","_updateContentId","_textMarkup","_getTextMarkup","shouldShowMessage","_toggleVisibilityClasses","$wrapper","removeClass","id","attr","html","_this$option","validationErrorMessage","err","_err$message","separator","toggleClass","targetWidth","_getPositionsArray","rtlSide","componentOffset","positions","my","at","collision","utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","validators","Axios","instanceConfig","defaults","interceptors","request","response","url","method","transitional","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","clarifyTimeoutError","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","chain","Promise","newConfig","onFulfilled","onRejected","getUri","params","paramsSerializer","monthsShortDot","monthsParse","monthsRegex","esDo","month","monthsShortRegex","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","weekdaysParseExact","hours","w","ww","arMa","clone","Clone","orderEach","func","isNumberX","isNumberY","assignValueToProperty","property","assignByReference","isWrapped","deepExtendArraySafe","extendComplexObject","prevValue","newValue","goDeeper","reNative","reThis","support","funcDecomp","WinRTError","funcNames","Function","voltage","V","singular","to_anchor","mV","kV","metric","_anchors","unit","ratio","processRelativeTime","gomLatn","standalone","isFormat","createElement","uncurryThis","$Error","TEST","arg","stack","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","dropEntries","prepareStackTrace","parseAttributes","FILE_EXTESIONS","EXCEL","CSS","PNG","JPEG","GIF","SVG","PDF","MIME_TYPES","fileSaver","_revokeObjectURLTimeout","_getDataUri","mimeType","_getMimeType","_linkDownloader","fileName","href","exportLinkElement","download","_winJSBlobSave","blob","savePicker","Windows","Storage","Pickers","FileSavePicker","suggestedStartLocation","PickerLocationId","documentsLibrary","fileExtension","fileTypeChoices","suggestedFileName","pickSaveFileAsync","file","openAsync","FileAccessMode","readWrite","outputStream","inputStream","msDetachStream","Streams","RandomAccessStream","copyAsync","flushAsync","_click","link","dispatchEvent","MouseEvent","cancelable","getDocument","initMouseEvent","_saveBlobAs","_blobSaved","msSaveOrOpenBlob","WinJS","URL","webkitURL","mozURL","msURL","oURL","objectURL","createObjectURL","downloadLink","revokeObjectURL","_objectUrlRevoked","warn","saveAs","Blob","userAgent","_math","PI","_min","_abs","_sqrt","sqrt","_pow","pow","_atan2","atan2","_cos","cos","_sin","sin","_number","IMAGE_QUALITY","TEXT_DECORATION_LINE_WIDTH_COEFF","DEFAULT_FONT_SIZE","DEFAULT_FONT_FAMILY","DEFAULT_TEXT_COLOR","getStringFromCanvas","canvas","dataURL","toDataURL","imageData","atob","substring","arcTo","x1","y1","x2","y2","radius","largeArcFlag","clockwise","cBx","cBy","aB","k","opSide","adjSide","centerX","centerY","startAngle","endAngle","arc","getElementOptions","rootAppended","coords","attributes","textContent","textAlign","transform","translateX","translateY","rotationAngle","rotationX","rotationY","scaleX","scaleY","parseStyles","drawRect","cornerRadius","rx","save","moveTo","lineTo","restore","rect","drawImage","shared","image","Image","onload","globalAlpha","transformElement","clipElement","onerror","setAttribute","drawPath","dAttr","prevParams","prevParamsLen","dArray","item","trim","j","bezierCurveTo","closePath","field","isElementNode","getComputedStyle","prop","textDecoration","textDecorationLine","opacity","parseUrl","urlString","matches","setFontStyle","fontParams","fontSize","fontFamily","fill","fontStyle","fontWeight","font","fillStyle","drawText","applyFilter","fillText","strokeElement","drawTextDecoration","textWidth","measureText","textHeight","lineHeight","fillElement","aggregateOpacity","strokeOpacity","fillOpacity","hasTspan","nodes","childNodes","tagName","drawTextElement","line","lines","drawElement","elementOptions","mergedOptions","widths","offsets","dy","parseFloat","commonWidth","reduce","xDiff","currentOffset","parentOptions","isText","isImage","isComment","nodeType","visibility","beginPath","cx","cy","r","applyGradient","linearGradients","radialGradients","gradients","box","getBBox","horizontalCenter","verticalCenter","maxRadius","gradient","createLinearGradient","createRadialGradient","colors","opt","addColorStop","stopColor","_gradients$id$transfo","angle","rotate","filterOptions","filters","offsetX","offsetY","blur","shadowOffsetX","shadowOffsetY","shadowColor","shadowBlur","isFinite","scale","clipPaths","clip","hex2rgba","hexColor","alpha","g","createGradient","_element$attributes$g","gradientTransform","createFilter","node","stdDeviation","asyncEach","callback","drawCanvasElements","onDone","patterns","setLineDash","stroke","lineJoin","lineWidth","strokeStyle","strokeText","getPattern","pattern","patternCanvas","imageCreator","_createCanvas","patternContext","getContext","createPattern","search","drawBackground","backgroundColor","margin","fillRect","createInvisibleDiv","invisibleDiv","convertSvgToCanvas","svg","getCanvasFromSvg","markup","svgToCanvas","scaledScreenInfo","calcScaledInfo","setTransform","pixelRatio","svgElem","markupIsDomElement","getBody","appendChild","dir","always","removeChild","newAttributes","getImageData","__parseAttributesFn","getData","binaryData","useBase64","_getBlob","_getBase64","dataArray","Uint8Array","charCodeAt","buffer","btoa","hidden","testFormats","formats","supported","unsupported","devicePixelRatio","svgCreator","_markup","_imageArray","_imageDeferreds","_getBinaryFile","ajax","sendRequest","responseType","_loadImages","binary","bytes","byteLength","_parseImages","_prepareImages","$svgObject","dataURI","regexpString","RegExp","mainPageTemplate","infoTemplate","imageStartTemplate","imageEndTemplate","trailerTemplate","xrefTemplate","pad","str","len","composePdfString","imageString","curDate","widthPt","toFixed","heightPt","flooredWidth","floor","flooredHeight","mainPage","content","info","version","xref","getXref","mainContent","trailer","mainPageLength","contentLength","infoLength","getCurDate","Date","getBlob","getBase64","getTwoDigitValue","stringValue","convertToPdfDateFormat","date","dateUnits","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","pdfData","_export","exportingAction","exportedAction","fileSavingAction","eventArgs","selectedRowsOnly","creator","pdf","pointerActions","down","BUTTON_SIZE","ICON_COORDS","LIST_PADDING_TOP","LIST_WIDTH","VERTICAL_TEXT_MARGIN","HORIZONTAL_TEXT_MARGIN","MENU_ITEM_HEIGHT","LIST_STROKE_WIDTH","MARGIN","SHADOW_OFFSET","SHADOW_BLUR","DEFAULT_EXPORT_FORMAT","ALLOWED_IMAGE_FORMATS","ALLOWED_EXTRA_FORMATS","EXPORT_CSS_CLASS","A4WidthCm","EXPORT_DATA_KEY","FORMAT_DATA_KEY","GET_COLOR_REGEX","getValidFormats","imageFormats","validateFormat","incidentOccurred","validFormats","toUpperCase","getCreatorFunc","print","imageSrc","document","iFrame","setPrint","right","bottom","body","calculatePrintPageWidth","iFrameBody","window","contentWindow","img","widthRatio","removeFrame","parentElement","addEventListener","getItemAttributes","itemIndex","rtl","borderColor","sharp","createMenuItem","renderer","settings","itemData","menuItem","hover","path","resetState","fixPosition","textBBox","createMenuItems","printingEnabled","getFormatter","getBackgroundColorFromMarkup","parsedMarkup","exportFromMarkup","onExporting","onExported","onFileSaving","exportWidgets","widgets","markupInfo","combineMarkups","gridLayout","verticalAlignment","horizontalAlignment","compactView","exportItems","row","rowIndex","rowInfo","colIndex","getSize","backgroundColors","hOffset","itemWidth","rowOffsets","totalHeight","rowHeights","maxItemLen","totalWidth","getVOffset","align","getHOffset","colWidth","ExportMenu","_renderer","_incidentOccurred","_exportTo","exportTo","_print","_shadow","shadowFilter","_group","linkOn","root","after","_buttonGroup","_listGroup","_overlay","ry","_subscribeEvents","getExportOptions","widget","exportOptions","_hiddenDueToLayout","cutSide","cutLayoutSide","bBox","vertical","horizontal","layoutOptions","getLayoutOptions","freeSpace","linkAppend","linkRemove","enabled","show","_updateButton","_updateList","_hideList","hide","_unsubscribeEvents","linkOff","weak","_fillSpace","round","_listShown","_setButtonState","_menuItems","_button","_icon","up","elementType","_showList","exportData","setTitle","buttonDefault","listGroup","clear","_exportMenu","_layout","_getOption","pointerEventsValue","menu","_disablePointerEvents","__test","constructor","proto","addChange","code","setOptions","_getExportMenuOptions","_change","isThemeDependent","isOptionChange","_optionChangesMap","fontFields","argument","EmptyTemplate","COLLECTION_CLASS","ITEM_CLASS","CONTENT_CLASS_POSTFIX","ITEM_CONTENT_PLACEHOLDER_CLASS","ITEM_DATA_KEY","ITEM_INDEX_KEY","ITEM_TEMPLATE_ID_PREFIX","ITEMS_OPTIONS_NAME","SELECTED_ITEM_CLASS","ITEM_RESPONSE_WAIT_CLASS","EMPTY_COLLECTION","TEMPLATE_WRAPPER_CLASS","ITEM_PATH_REGEX","ANONYMOUS_TEMPLATE_NAME","FOCUS_UP","FOCUS_DOWN","FOCUS_LEFT","FOCUS_RIGHT","FOCUS_PAGE_UP","FOCUS_PAGE_DOWN","FOCUS_LAST","FOCUS_FIRST","CollectionWidget","_activeStateUnit","_supportedKeys","location","_moveFocus","space","_enterKeyHandler","leftArrow","rightArrow","upArrow","downArrow","pageUp","pageDown","$itemElement","_getItemData","_itemEventHandlerByHandler","_itemClickHandler","currentTarget","_getDefaultOptions","selectOnFocus","loopItemFocus","itemTemplate","onItemRendered","onItemClick","onItemHold","itemHoldTimeout","onItemContextMenu","onFocusedItemChanged","noDataText","encodeNoDataText","dataSource","_dataController","_itemAttributes","itemTemplateProperty","focusOnSelectedItem","focusedElement","displayExpr","disabledExpr","visibleExpr","_compileDisplayGetter","_initDataController","_cleanRenderedItems","_refreshDataSource","_displayGetter","_initTemplates","_initItemsFromMarkup","_initDefaultItemTemplate","_getAnonymousTemplateName","fieldsMap","_getFieldsMap","_templateManager","addDefaultTemplates","$container","_prepareDefaultItemTemplate","_getBindableFields","rawItems","isTemplateRequired","innerHTML","_prepareItemTemplate","templateId","detach","removeAttr","_saveTemplate","_dataSourceOptions","paginate","_renderedItemsCount","_focusTarget","_focusInHandler","_isFocusTarget","$focusedElement","_setFocusedItem","$activeItem","_getActiveItem","_focusOutHandler","_updateFocusedItemState","last","activeElements","_getActiveElement","lastIndex","eq","$newTarget","$items","_getAvailableItems","_prevItem","_nextItem","_getVisibleItems","$itemElements","_itemElements","targetIndex","$last","$item","loop","$first","_selectFocusedItem","selectItem","isFocused","needCleanItemId","_refreshActiveDescendant","_refreshItemId","_toggleFocusClass","_updateParentActiveDescendant","setAria","getFocusedItemId","_isDisabled","isTargetDisabled","_findItemElementByItem","itemElements","_itemDataKey","_getIndexByItem","_itemOptionChanged","oldValue","ItemClass","setDataField","_refreshItem","isDisabling","_resetItemFocus","_itemIndexKey","_renderItem","itemPath","_invalidate","_renderEmptyMessage","_createItemRenderAction","_attachHoldEvent","_attachContextMenuEvent","_loadNextPage","_expectNextPageLoading","loadNextPage","_startIndexForAppendedItems","_expectLastItemLoading","_forgetNextPageLoading","_dataSourceChangedHandler","newItems","_initialized","_shouldAppendItems","_isLastPage","_refreshContent","_prepareContent","_renderContent","_dataSourceLoadErrorHandler","_allowDynamicItemsAppend","_clean","_cleanFocusState","_cleanItemContainer","_inkRipple","_resetActiveState","_itemContainer","empty","_dispose","_itemFocusTimeout","_refresh","_itemClass","_itemContentClass","_selectedItemClass","_itemResponseWaitClass","_itemSelector","_renderContentImpl","_fireContentReadyAction","_render","_attachClickEvent","_getPointerEvent","itemSelector","pointerEvent","clickEventNamespace","NAME","pointerEventNamespace","pointerAction","_itemPointerDownHandler","execute","_itemDXEventHandler","_itemFocusHandler","isDefaultPrevented","$closestItem","closest","$closestFocusable","_closestFocusable","_forcePointerDownFocus","parent","isDocument","isDocumentFragment","_updateFocusState","$itemContainer","hold","timeout","_getHoldTimeout","_itemHoldHandler","_shouldFireHoldEvent","hasActionSubscription","_itemContextMenuHandler","_shouldFireContextMenuEvent","_renderItems","$itemToReplace","_index$item","$itemFrame","_renderItemFrame","_setElementData","_attachItemClickEvent","$itemContent","_getItemContent","renderContentPromise","_renderItemContent","contentClass","defaultTemplateName","_postprocessRenderItem","itemElement","itemContent","_executeItemRenderAction","itemTemplateName","_getItemTemplateName","_getTemplate","_addItemContentClasses","$templateResult","_createItemByTemplate","_renderItemContentByNode","$node","_appendItemToContainer","_itemOptions","displayValue","watchMethod","owner","fieldGetter","expr","_getItemRenderAction","_itemRenderAction","category","templateProperty","renderArgs","onRendered","_onItemTemplateRendered","_emptyMessageContainer","hideNoData","isLoading","_$noData","dxEvent","handlerOptionName","actionArgs","actionConfig","_itemEventHandler","initiator","action","validatingTargetName","_itemEventHandlerImpl","_closestItemElement","_extendActionArgs","_getSummaryItemsWidth","includeMargin","_focusedItemId","itemsContainer","include","ITEM_DELETING_DATA_KEY","NOT_EXISTING_INDEX","indexExists","_setOptionsByReference","_optionsByReference","selectedItem","selectionMode","selectionRequired","selectByClick","selectedItems","selectedItemKeys","maxFilterLengthInRequest","keyExpr","selectedIndex","onSelectionChanged","onItemReordered","onItemDeleting","onItemDeleted","_userOptions","_initEditStrategy","_initKeyGetter","_initSelectionModule","_getKeysByItems","_editStrategy","getKeysByItems","_getItemsByKeys","getItemsByKeys","_getKeyByIndex","getKeyByIndex","_getIndexByKey","getIndexByKey","_getIndexByItemData","getIndexByItemData","_isKeySpecified","_getCombinedFilter","store","_nullValueSelectionSupported","itemsGetter","_selection","allowNullValue","equalByReference","addedItemKeys","removedItemKeys","_updateSelectedItems","_getItemsCount","_dataController$loadO","dataController","customQueryParams","loadOptions","userData","loadFromStore","loadResult","_disposed","applyMapFunction","plainItems","dataFields","itemsCount","Strategy","_getSelectedItemIndices","indices","getSelectedItemKeys","beginCache","endCache","_rendering","_syncSelectionOptions","_normalizeSelectedItems","_rendered","byOption","_chooseSelectOption","getItemDataByIndex","_setOptionWithoutOptionChange","selectedItemIndex","setSelection","isOptionDefined","optionValue","_compareKeys","oldKeys","newKeys","newSelection","currentSelection","getSelectedItems","normalizedSelection","itemSelectPromise","_this$_itemSelectHand","_itemSelectHandler","_itemSelectPromise","isItemSelected","unselectItem","_selectedItemElement","normalizedItemIndex","getNormalizedIndex","_isItemSelected","_processSelectableItem","isSelected","_setAriaSelectionAttribute","selectionChangePromise","_selectionChangePromise","normalizedIndex","addedSelection","removedSelection","_addSelection","_removeSelection","_updateSelection","_fireSelectionChangeEvent","addedItems","removedItems","getItemElement","triggerHandler","checkPending","_clearSelectedItems","_waitDeletingPrepare","deletingActionArgs","deletePromise","deletePromiseExists","deletePromiseResolved","argumentsSpecified","shouldDelete","_deleteItemFromDS","disabledState","dataStore","_tryRefreshLastPage","_refreshLastPage","_updateSelectionAfterDelete","deselect","_updateIndicesAfterIndex","_simulateOptionChange","_optionChangedAction","_deleteItemElementByIndex","deleteItemAtIndex","_afterItemElementDeleted","deletedActionArgs","changingOption","getDataSource","beforeExecute","deleteItem","itemResponseWaitClass","reorderItem","toItemElement","strategy","$movingItem","$destinationItem","movingIndex","destinationIndex","canMoveItems","itemPlacementFunc","moveItemAtIndexToIndex","fromIndex","getIndex","toIndex","frCh","enAu","suffixes","1","5","80","2","7","20","50","3","4","100","6","10","30","60","90","tr","minutes","da","currentTemplateEngine","templateEngines","registerTemplateEngine","templateEngine","setTemplateEngine","getCurrentTemplateEngine","compile","_element","transclude","_compiledTemplate","contents","findTemplates","optionsString","optionsParser","suitableTemplatesByName","rawTemplates","templatesMap","_findBestMatches$","suitableTemplate","addOneRenderedCall","templateResult","addPublicElementNormalization","getNormalizedTemplateArgs","validateTemplateSource","templateSource","templateKey","defaultCreateElement","acquireIntegrationTemplate","isAsyncTemplate","skipTemplates","integrationTemplate","acquireTemplate","createTemplate","defaultTemplates","tlPh","energy","Wh","mWh","kWh","MWh","GWh","J","kJ","breakpoints","ALIGNMENT","makeProps","prefix","def","alignValidator","alignProps","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","justify","alignContent","classMap","breakpointClass","breakpoint","cache","Map","Vue","noGutters","cacheKey","eu","agq","ak","ar","asa","ast","az","bas","be","bem","bez","bg","bm","br","bs","ca","ce","cgg","ckb","cs","de","dje","dsb","dua","dyo","ee","eo","es","et","ewo","fa","ff","fi","fr","fur","fy","ga","gd","gl","gsw","gv","ha","hr","hsb","hu","hy","ia","ig","it","jgo","jmc","ka","kab","kde","kea","khq","kk","kkj","kl","ksb","ksf","ksh","ku","kw","ky","lag","lb","lg","ln","lrc","lt","lu","lv","mfe","mg","mgo","mi","mk","mn","ms","mua","mzn","naq","nds","nl","nmg","nnh","no","nus","nyn","os","pcm","pl","ps","rm","rn","ro","rof","ru","rw","rwk","sah","sbp","sc","se","ses","sg","shi","si","sk","sl","smn","so","sq","sr","sv","sw","teo","tg","tk","tt","twq","tzm","uk","uz","vai","vi","vun","wae","wo","xog","yav","yi","yo","zgh","SYMBOLS_TO_REMOVE_REGEX","NARROW_NO_BREAK_SPACE_REGEX","getIntlFormatter","timeZoneName","year","getFullYear","recognizableAsTwentyCentury","temporaryYearValue","utcDate","UTC","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","setFullYear","utcFormat","timeZone","formatDateTime","formattersCache","JSON","stringify","DateTimeFormat","formatNumber","NumberFormat","getAlternativeNumeralsMap","numeralsMapCache","normalizeNumerals","dateString","alternativeNumeralsMap","sign","removeLeadingZeroes","dateStringEquals","actual","normalizeMonth","intlFormats","day","dayofweek","weekday","longdate","longdatelongtime","second","longtime","monthandday","monthandyear","shortdate","shorttime","shortyear","resolvedOptions","getIntlFormat","monthNameStrategies","monthIndex","monthFormat","parts","part","engine","getMonthNames","wide","abbreviated","getDayNames","dayIndex","short","getPeriodNames","hour12Formatter","hour12","hourNumberText","timeParts","biggerPart","_format","formatter","intlFormat","formatType","parse","parser","_parseDateBySimpleFormat","formatParts","getFormatParts","dateParts","dateArgs","_generateDateArgs","constructValidDate","ampmShift","parsedDate","hoursShift","seconds","currentDate","formatPart","datePart","parsed","formatUsesMonthName","formatUsesDayName","getTimeSeparator","formattedDate","DEFAULT_DAY_OF_WEEK_INDEX","hasIntl","FORMATS_TO_PATTERN_MAP","quarterandyear","shortdateshorttime","quarter","millisecond","possiblePartPatterns","milliseconds","dateLocalization","_getPatternByFormat","_expandPattern","partName","possiblePatterns","getQuarterNames","is24HourFormat","amTime","pmTime","amTimeFormatted","pmTimeFormatted","isNaN","convertDigits","ldmlFormat","getTime","firstDayOfWeekIndex","getValueByClosestLocale","th","initDxExtensionComponent","vue_1","component_1","vue_helper_1","defineComponent","extends","initBaseComponent","mounted","$el","nodeOptions","getNodeOptions","$_isExtension","$_attachTo","attachTo","$_hasOwner","$_createWidget","noGlobal","getProto","getPrototypeOf","flat","class2type","fnToString","ObjectFunctionString","isFunction","isWindow","preservedScriptAttributes","nonce","noModule","DOMEval","doc","script","getAttribute","head","toType","rhtmlSuffix","jQuery","selector","isArrayLike","nodeName","elem","jquery","num","pushStack","elems","ret","merge","prevObject","even","grep","_elem","odd","splice","copy","copyIsArray","deep","isPlainObject","expando","random","isReady","msg","noop","Ctor","isEmptyObject","globalEval","documentElement","nodeValue","makeArray","results","inArray","isXMLDoc","namespaceURI","docElem","ownerDocument","invert","callbackInverse","callbackExpect","guid","iterator","pop","whitespace","rtrimCSS","contains","bup","compareDocumentPosition","rcssescape","fcssescape","ch","asCodePoint","escapeSelector","sel","preferredDoc","pushNative","Expr","outermostContext","sortInput","hasDuplicate","documentIsHTML","rbuggyQSA","dirruns","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","booleans","identifier","pseudos","rwhitespace","rcomma","rleadingCombinator","rdescend","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rquickExpr","rsibling","runescape","funescape","nonHex","high","unloadHandler","setDocument","inDisabledFieldset","addCombinator","safeActiveElement","activeElement","els","nid","groups","newSelector","newContext","getElementById","getElementsByTagName","getElementsByClassName","testContext","scope","tokenize","toSelector","querySelectorAll","qsaError","removeAttribute","cacheLength","markFunction","assert","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","matchIndexes","subWindow","webkitMatchesSelector","msMatchesSelector","defaultView","getById","getElementsByName","disconnectedMatch","cssHas","querySelector","attrId","getAttributeNode","sortDetached","matchesSelector","attrHandle","uniqueSort","duplicates","sortStable","createPseudo","relative","preFilter","excess","unquoted","nodeNameSelector","expectedNodeName","operator","check","what","_argument","simple","forward","ofType","_context","xml","outerCache","nodeIndex","useCache","diff","firstChild","lastChild","pseudo","setFilters","idx","matched","not","matcher","unmatched","has","elemLang","hasFocus","checked","selected","nextSibling","header","_matchIndexes","gt","nth","radio","checkbox","password","submit","parseOnly","tokens","soFar","preFilters","cached","combinator","base","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","matcherOut","preMap","postMap","preexisting","matcherIn","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","unique","getText","isXML","selectors","truncate","siblings","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","prev","sibling","cur","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","reverse","rnothtmlwhite","createOptions","flag","Identity","Thrower","ex","adoptValue","noValue","Callbacks","firing","memory","fired","locked","list","queue","firingIndex","once","stopOnFalse","disable","lock","fireWith","Deferred","tuples","pipe","fns","newDefer","tuple","returned","progress","notify","onProgress","maxDepth","depth","special","mightThrow","TypeError","notifyWith","process","exceptionHook","getErrorHook","getStackHook","stateString","when","singleValue","remaining","resolveContexts","resolveValues","primary","rerrorNames","asyncError","console","readyException","readyList","completed","removeEventListener","catch","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","camelCase","string","acceptData","Data","uid","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","tmp","defer","pnum","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","display","adjustCSS","valueParts","tween","adjusted","maxIterations","currentValue","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","showHide","rcheckableType","rtagName","rscriptType","fragment","createDocumentFragment","div","checkClone","cloneNode","noCloneChecked","defaultValue","wrapMap","thead","col","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","optgroup","rhtml","buildFragment","scripts","selection","ignored","wrap","attached","htmlPrefilter","createTextNode","rtypenamespace","returnTrue","returnFalse","types","one","origFn","leverageNative","isSetup","saved","isTrigger","delegateType","stopImmediatePropagation","isImmediatePropagationStopped","handleObjIn","eventHandle","events","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","preDispatch","isPropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","writable","noBubble","beforeunload","returnValue","defaultPrevented","relatedTarget","isSimulated","altKey","bubbles","changedTouches","detail","eventPhase","shiftKey","view","charCode","keyCode","buttons","clientX","clientY","pointerId","screenX","screenY","targetTouches","toElement","focusMappedHandler","documentMode","simulate","attaches","dataHolder","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","pdataOld","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","valueIsFunction","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","prepend","insertBefore","before","replaceChild","prependTo","insertAfter","replaceAll","original","rnumnonpx","rcustomProp","getStyles","opener","swap","old","rboxStyle","curCSS","minWidth","isCustomProp","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","pixelBoxStylesVal","boxSizingReliableVal","scrollboxSizeVal","measure","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","borderTopWidth","borderBottomWidth","cssPrefixes","emptyStyle","vendorProps","vendorPropName","capName","finalPropName","final","cssProps","rdisplayswap","cssShow","cssNormalTransform","letterSpacing","setPositiveNumber","subtract","boxModelAdjustment","dimension","isBorderBox","computedVal","extra","marginDelta","ceil","getWidthOrHeight","boxSizingNeeded","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","animationIterationCount","aspectRatio","borderImageSlice","columnCount","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","order","orphans","widows","zIndex","zoom","floodOpacity","stopOpacity","strokeMiterlimit","origName","getBoundingClientRect","scrollboxSizeBuggy","padding","suffix","expand","expanded","propHooks","run","percent","eased","duration","fx","scrollTop","scrollLeft","linear","swing","fxNow","inProgress","rfxtypes","rrun","schedule","interval","tick","createFxNow","genFx","includeWidth","createTween","Animation","tweeners","defaultPrefilter","oldfire","propTween","restoreDisplay","isBox","anim","dataShow","unqueued","overflowX","overflowY","propFilter","specialEasing","properties","stopped","prefilters","currentTime","startTime","tweens","originalProperties","originalOptions","gotoEnd","timer","tweener","prefilter","speed","speeds","fadeTo","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","checkOn","optSelected","radioValue","boolHook","nType","attrHooks","attrNames","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","classNames","curValue","finalValue","stateVal","isValidValue","rreturn","valHooks","optionSet","rquery","parseXML","parserErrorElem","DOMParser","parseFromString","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rlocalProtocol","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","responses","ct","finalDataType","firstDataType","getResponseHeader","converters","ajaxConvert","isSuccess","conv2","conv","responseFields","dataFilter","throws","active","lastModified","etag","isLocal","protocol","processData","async","contentType","accepts","json","ajaxSetup","ajaxPrefilter","ajaxTransport","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","overrideMimeType","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","modified","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onabort","ontimeout","onreadystatechange","responseText","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","unbind","delegate","undelegate","fnOver","fnOut","rtrim","proxy","holdReady","parseJSON","isNumeric","_jQuery","_$","$","noConflict","pullAllChildren","pullConfigComponents","isFragment","directChildren","allChildren","patchFlag","componentInfo","getComponentInfo","$_optionName","componentChildren","configurationChildren","$_predefinedProps","getNormalizedProps","$_isCollectionItem","$_expectedChildren","$_config","$_innerChanges","Callback","_list","_queue","_firing","_fired","_firingIndexes","_fireCore","firingIndexes","syncStrategy","SIZE_MAP","isFontAwesome5","some","isSvgPath","BindsAttrs","Colorable","Sizeable","required","medium","hasClickListener","getIcon","iconName","$slots","remapInternalIcon","sizes","xSmall","large","xLarge","explicitSize","convertToUnit","getDefaultData","attrs$","getSvgWrapperData","wrapperData","applyColors","themeClasses","renderFontIcon","newChildren","delimiterIndex","isMaterialIcon","renderSvgIcon","svgData","xmlns","viewBox","renderSvgIconComponent","nativeOn","$_wrapperFor","domProps","isCallable","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","inspectSource","InternalStateModule","enforceInternalState","enforce","getInternalState","stringSlice","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","arity","$reduce","arrayMethodIsStrict","CHROME_VERSION","IS_NODE","CHROME_BUG","FORCED","forced","callbackfn","translator","words","correctGrammaticalCase","wordKey","word","srCyrl","lastWeekDays","toObject","lengthOfArrayLike","setArrayLength","doesNotExceedSafeInteger","INCORRECT_TO_LENGTH","properErrorOnNonWritableLength","argCount","documentAll","all","ocLnc","baseMixins","Dependent","Detachable","Overlayable","Returnable","Stackable","Activatable","ClickOutside","dark","fullscreen","light","noClickAnimation","persistent","retainFocus","scrollable","activatedBy","animateTimeout","stackMinZIndex","previousActiveElement","contentClasses","hasActivator","activator","watch","hideScroll","removeOverlay","showScroll","genOverlay","removed","beforeMount","$nextTick","isBooted","beforeDestroy","animateClick","closeConditional","_isDestroyed","$refs","overlay","activeZIndex","getMaxZIndex","hideOverlay","dialog","_b","onFocusin","onClickOutside","onKeydown","keyCodes","esc","getOpenDependents","getActivator","getOpenDependentElements","focusable","showLazyContent","VThemeProvider","getScopeIdAttrs","keydown","ref","genTransition","genInnerContent","appear","getContentSlot","attach","genActivator","callbacks","subscribeReady","removeListener","listen","readyCallbacks","windowExists","getReadyState","openDelay","closeDelay","openTimeout","closeTimeout","clearDelay","runDelay","cb","isObject","filteredChild","VNode","InfernoEffectHost","lockCount","effects","areObjectsEqual","firstObject","secondObject","bothAreObjects","firstObjectKeys","secondObjectKeys","hasDifferentElement","_pendingContext","_nextProps","_nextState","createEffects","callEffects","updateEffects","destroyEffects","vDomElement","currentClasses","addedClasses","dxClasses","previous","removedClasses","indexInRemoved","added","indexInAdded","$LI","componentDidMount","componentDidUpdate","shouldUpdate","shouldComponentUpdate","vDomUpdateClasses","contextId","createContext","Provider","InfernoEffect","effect","dependency","destroy","currentDependency","createReRenderEffect","ERROR_MSG","isNullOrUndef","isInvalid","isNull","throwError","isSameInnerHTML","dom","tempdom","findLastDOMFromVNode","vNode","flags","childFlags","isSamePropsInnerHTML","dangerouslySetInnerHTML","__html","hydrateComponent","parentDOM","isSVG","isClass","lifecycle","currentNode","hydrateVNode","$CX","hydrateChildren","parentVNode","prevVNodeIsTextNode","child","hydrateElement","hydrateText","hydrateFragment","currentDom","hydrate","listener","$V","getContainer","renderTemplate","_component","hasTemplate","NUMBER_STYLES","Set","getNumberStyleValue","uppercasePattern","kebabCase","normalizeStyles","entries","acc","reactiveEnergy","VARh","mVARh","kVARh","MVARh","GVARh","mt","BaseItemGroup","provide","isInGroup","listItemGroup","genData","LOADPANEL_CLASS","LOADPANEL_WRAPPER_CLASS","LOADPANEL_INDICATOR_CLASS","LOADPANEL_MESSAGE_CLASS","LOADPANEL_CONTENT_CLASS","LOADPANEL_CONTENT_WRAPPER_CLASS","LOADPANEL_PANE_HIDDEN_CLASS","LoadPanel","showIndicator","indicatorSrc","showPane","hideTopOverlayHandler","_defaultOptionsRules","shadingColor","maxHeight","_$loadPanelContentWrapper","_togglePaneVisible","_cleanPreviousContent","_renderLoadIndicator","_renderMessage","_show","_clearShowTimeout","_showTimeout","_hide","$message","_$indicator","_createComponent","getBuiltIn","imperial","Ripple","activeClass","exact","exactPath","exactActiveClass","nuxt","ripple","proxyClass","computedRipple","isClickable","isLink","$listeners","$route","onRouteChange","generateRouteLink","getObjectValueByPath","symbolMap","pluralForm","plurals","pluralize","u","arLy","preparse","postformat","thisArg","createQueue","discardPendingTasks","_tasks","_busy","removeTaskCallback","busy","_counter","_deferreds","operationId","DataSource","_options$reshapeOnPus","_store","_changedTime","needThrottling","pushAggregationTimeout","pushDeferred","lastPushWaiters","throttlingTimeout","throttlingPushHandler","storePushPending","_onPush","_onPushHandler","_aggregationTimeoutId","_storeLoadOptions","_extractLoadOptions","_mapFunc","_postProcessFunc","postProcess","_pageIndex","pageIndex","_pageSize","pageSize","_loadingCount","_loadQueue","_createLoadQueue","_searchValue","_searchOperation","searchOperation","_searchExpr","searchExpr","_paginate","_reshapeOnPush","reshapeOnPush","substr","_operationManager","_items","_userData","_totalCount","_isLoaded","_this$_delayedLoadTas","_delayedLoadTask","cancelAll","names","customNames","newIndex","normalizedArgs","_len","generateStoreLoadOptionAccessor","newFilter","_len2","_key2","_len3","_key3","requireTotalCount","argc","_this$_store","_changeLoadingCount","increment","oldLoading","newLoading","beginLoading","endLoading","_this","_len4","_key4","_fireChanged","propName","propValue","_createStoreLoadOptions","_scheduleFailCallbacks","refresh","searchString","_byKeyViaLoad","isEmptyArray","_applyMapFunction","loadTask","_loadFromStore","loadOperation","_scheduleLoadCallbacks","_scheduleChangedCallbacks","_createLoadOperation","changingArgs","groupLevel","dataSourceChanges","postProcessChanges","keyInfo","groupCount","useInsertIndex","storeLoadOptions","_addSearchFilter","_addSearchOptions","searchFilter","pendingDeferred","handleSuccess","_processStoreLoadResult","resolvePendingDeferred","_applyPostProcessFunction","isNullOrUndefined","$TypeError","fillDot","hideDot","hasIcon","genBody","genIcon","theme","genInnerDot","genDot","genDivider","genOpposite","opposite","timeline","ICON_CLASS","SVG_ICON_CLASS","getImageSourceType","getImageContainer","fixedHeader","wrapper","toByteArray","fromByteArray","lookup","revLookup","Arr","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","curByte","tripletToBase64","encodeChunk","uint8","extraBytes","maxChunkLength","len2","forms","relativeTimeWithPlural","generateChart","chartId","chartType","plugins","_chart","_plugins","addPlugin","plugin","$data","generateLegend","renderChart","Pie","isTagName","tagWrappers","tagsCount","startTags","endTags","tags","firstRootTag","tagWrapper","isTablePart","$0","$1","$2","LIST_ITEM_BADGE_CONTAINER_CLASS","LIST_ITEM_BADGE_CLASS","BADGE_CLASS","LIST_ITEM_CHEVRON_CONTAINER_CLASS","LIST_ITEM_CHEVRON_CLASS","ListItem","_renderWatchers","_startWatcher","_renderBadge","_renderShowChevron","badge","_$element","$badge","$chevron","showChevron","$chevronContainer","getElementStyle","_getWindow$getCompute","_getWindow","getElementMargin","side","_scrollView","LIST_CLASS","LIST_ITEM_CLASS","LIST_ITEM_SELECTOR","LIST_ITEM_ICON_CONTAINER_CLASS","LIST_ITEM_ICON_CLASS","LIST_GROUP_CLASS","LIST_GROUP_HEADER_CLASS","LIST_GROUP_BODY_CLASS","LIST_COLLAPSIBLE_GROUPS_CLASS","LIST_GROUP_COLLAPSED_CLASS","LIST_GROUP_HEADER_INDICATOR_CLASS","LIST_HAS_NEXT_CLASS","LIST_NEXT_BUTTON_CLASS","WRAP_ITEM_TEXT_CLASS","SELECT_ALL_ITEM_SELECTOR","LIST_ITEM_DATA_KEY","LIST_FEEDBACK_SHOW_TIMEOUT","groupItemsGetter","ListBase","moveFocusPerPage","getEdgeVisibleItem","isFocusedItem","resultPosition","scrollToItem","containerHeight","isItemVisible","$nextItem","nextItemLocation","pullRefreshEnabled","scrollingEnabled","showScrollbar","useNativeScrolling","bounceEnabled","scrollByContent","scrollByThumb","pullingDownText","pulledDownText","refreshingText","pageLoadingText","onScroll","onPullRefresh","onPageLoading","pageLoadMode","nextButtonText","onItemSwipe","grouped","onGroupRendered","collapsibleGroups","groupTemplate","indicateLoading","wrapItemText","_swipeEnabled","showChevronExpr","badgeExpr","themeName","_device","_visibilityChanged","_updateLoadingState","_$container","_saveSelectionChangeEvent","_selectionChangeEventInstance","_getSelectionChangeEvent","_refreshItemElements","_itemElementsCache","_modifyByChanges","resetDataSourcePageIndex","_initScrollView","_feedbackShowTimeout","_createGroupRenderAction","_scrollBottomMode","_nextButtonMode","scrollBottom","nextButton","_getGroupedOption","_getGroupContainerByIndex","groupIndex","_dataSourceFromUrlLoadMode","autoPagingEnabled","getScrollView","_scrollHandler","onPullDown","_pullDownHandler","onReachBottom","_scrollBottomHandler","useNative","reachBottomText","useKeyboard","_createScrollViewActions","_scrollAction","_pullRefreshAction","_pageLoadingAction","$icon","$iconContainer","tryLoadMore","shouldLoadNextPage","_shouldContinueLoading","_infiniteDataLoading","release","_toggleNextButton","_shouldRenderNextButton","_loadIndicationSuppressed","isLoaded","_isDataSourceFirstLoadCompleted","_isFirstLoadCompleted","_dataSourceLoadingChangedHandler","_showLoadingIndicatorTimer","_this$_scrollView","isEmpty","shouldIndicateLoading","startLoading","finishLoading","_hideLoadingIfLoadIndicationOff","_isLoadIndicationSuppressed","_scrollViewIsFull","scrollView","reload","_this$_scrollView$scr","_this$_scrollView$scr2","isBottomReached","scrollOffset","isElementVisible","_loadNextPageTimer","_renderGroup","_attachGroupCollapseEvent","attachGroupHeaderInkRippleEvents","$group","_collapseGroupHandler","$groupBody","startHeight","endHeight","updateDimensions","_renderInkRipple","roledescription","_setListAria","listArea","_toggleActiveState","_inkRippleTimer","_attachSwipeEvent","endEventName","swipe","_itemSwipeEndHandler","_nextButtonHandler","toggleLoading","_$nextButton","$groupElement","groupAria","labelledby","$groupHeaderElement","groupTemplateName","_renderingGroupIndex","_groupRenderAction","groupElement","groupData","downInkRippleHandler","upInkRippleHandler","_downInkRippleHandler","_upInkRippleHandler","downArguments","upArguments","_holdTimer","_toggleDisabledState","$nextButton","_getNextButton","_createNextButton","$result","$button","expandGroup","collapseGroup","repaint","clientHeight","scrollHeight","scrollBy","distance","scrollToElement","_dimensionChanged","$activeThemeLink","knownThemes","currentThemeName","pendingThemeName","themeReadyCallback","viewPort","viewPortChanged","initDeferred","DX_LINK_SELECTOR","THEME_ATTR","ACTIVE_ATTR","DX_HAIRLINES_CLASS","ANY_THEME","defaultTimeout","THEME_MARKER_PREFIX","readThemeMarker","waitForThemeLoad","waitStartTime","timerId","intervalCleared","handleLoaded","clearInterval","isPendingThemeLoaded","setInterval","isTimeout","anyThemePending","themeMarker","processMarkup","$allThemeLinks","fullThemeName","resolveFullThemeName","desiredThemeName","desiredThemeParts","knownThemeName","themeData","knownThemeParts","initContext","detachCssClasses","currentThemeData","isAutoInit","_autoInit","loadCallback","_forceTimeout","attachCssClasses","themeNameParts","isMaterial","$tester","isTheme","themeRegExp","isGeneric","isCompact","isWebFontLoaded","testElement","etalonFontWidth","testedFontWidth","waitWebFont","intervalId","timeoutId","autoInit","prevViewPort","changed","autoBom","navigator","HTMLAnchorElement","rel","innerText","HTMLElement","safari","FileReader","onloadend","readAsDataURL","stackElement","stackExclude","getZIndex","exclude","zis","VProgressCircular","ko","isUpper","toIntegerOrInfinity","integer","createNonEnumerableProperty","defineBuiltIn","defineGlobalProperty","copyConstructorProperties","isForced","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","internalObjectKeys","enumBugKeys","hiddenKeys","getOwnPropertyNames","numberMap","normalizeHeaderName","enhanceError","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","isUndefined","getDefaultAdapter","adapter","stringifySafely","rawValue","encoder","isString","transformRequest","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","isURLSearchParams","transformResponse","strictJSONParsing","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","minHeight","measurableStyles","VSubheader","units","translateSeconds","translateSingular","validateArgumentsLength","$URLSearchParams","URLSearchParams","URLSearchParamsPrototype","$has","$value","unsafe","__createBinding","k2","__esModule","__setModuleDefault","__importStar","mod","createExtensionComponent","createConfigurationComponent","createComponent","vue2Stategy","vue3Stategy","version_1","isVue3","normalizeComponent","scriptExports","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","_compiled","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","me","loading","loaderHeight","genProgress","VProgressLinear","absolute","indeterminate","baseCreate","setBindData","arrayRef","baseBind","bindData","partialArgs","bound","thisBinding","DRAG_START_EVENT","DRAG_EVENT","DRAG_END_EVENT","DRAG_ENTER_EVENT","DRAG_LEAVE_EVENT","DROP_EVENT","DX_DRAG_EVENTS_COUNT_KEY","knownDropTargets","knownDropTargetSelectors","knownDropTargetConfigs","dropTargetRegistration","knownDropTarget","updateEventsCounter","eventsCount","handlersCount","getItemDelegatedTargets","dropTargetIndex","dropTargetSelectors","$delegatedTargets","getItemConfig","getItemPosition","dropTargetConfig","itemPositionFunc","getItemSize","itemSizeFunc","DragEmitter","_initEvent","_fireEvent","_maxLeftOffset","maxLeftOffset","_maxRightOffset","maxRightOffset","_maxTopOffset","maxTopOffset","_maxBottomOffset","maxBottomOffset","targetElements","dropTargets","_dropTargets","dragOffset","_calculateOffset","_processDropTargets","_cancelPreventDefault","_calculateXOffset","_calculateYOffset","_fitOffset","minOffset","maxOffset","_findDropTarget","sameTarget","_currentDropTarget","_fireDropTargetEvent","draggingElement","_checkDropTargetActive","delegatedTarget","$delegatedTarget","_checkDropTarget","activeTarget","$prevTarget","isDraggingElement","targetPosition","targetSize","checkDropTarget","emitter","VToolbarTitle","createSimpleFunctional","VToolbarItems","VToolbar","emptyObject","isUndef","isDef","isTrue","isFalse","isPrimitive","_toString","isRegExp","isValidArrayIndex","isPromise","replacer","__v_isRef","toNumber","makeMap","expectsLowerCase","isReservedAttribute","remove$2","hit","camelizeRE","camelize","capitalize","charAt","hyphenateRE","hyphenate","polyfillBind","ctx","boundFn","_length","nativeBind","_from","res","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","keysA","keysB","looseIndexOf","called","hasChanged","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","optionMergeStrategies","silent","productionTip","devtools","performance","warnHandler","ignoredElements","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","_lifecycleHooks","unicodeRegExp","isReserved","bailRE","parsePath","segments","hasProto","inBrowser","UA","isIE","isIE9","isEdge","isIOS","_isServer","isFF","nativeWatch","supportsPassive","isServerRendering","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","_Set","hasSymbol","Reflect","ownKeys","currentInstance","getCurrentInstance","setCurrentInstance","vm","_scope","elm","componentOptions","asyncFactory","ns","fnContext","fnOptions","fnScopeId","componentInstance","isStatic","isRootInsert","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","createEmptyVNode","createTextVNode","cloneVNode","vnode","cloned","SuppressedError","uid$2","pendingCleanupDeps","cleanupDeps","dep","subs","_pending","Dep","addSub","sub","removeSub","depend","addDep","targetStack","pushTarget","popTarget","arrayProto","arrayMethods","methodsToPatch","inserted","ob","__ob__","observeArray","arrayKeys","NO_INITIAL_VALUE","shouldObserve","toggleObserving","mockDep","Observer","shallow","mock","vmCount","__proto__","defineReactive","observe","ssrMockReactivity","isExtensible","__v_skip","isRef","customSetter","observeEvenIfShallow","childOb","dependArray","newVal","isReadonly","_isVue","del","reactive","makeReactive","shallowReactive","isReactive","isShallow","__v_isShallow","__v_isReadonly","isProxy","toRaw","observed","markRaw","RefFlag","ref$1","createRef","shallowRef","triggerRef","unref","proxyRefs","objectWithRefs","proxyWithRefUnwrap","customRef","toRefs","toRef","rawToReadonlyFlag","rawToShallowReadonlyFlag","readonly","createReadonly","existingFlag","existingProxy","defineReadonlyProperty","shallowReadonly","getterOrOptions","debugOptions","onlyGetter","watcher","Watcher","lazy","dirty","evaluate","WATCHER","WATCHER_CB","WATCHER_GETTER","WATCHER_CLEANUP","watchEffect","doWatch","watchPostEffect","flush","watchSyncEffect","activeEffectScope","INITIAL_WATCHER_VALUE","_c","onTrack","onTrigger","cleanup","invokeWithErrorHandling","forceTrigger","isMultiSource","traverse","onCleanup","baseGetter_1","onStop","noRecurse","post","queueWatcher","_isMounted","_preWatchers","$once","EffectScope","detached","cleanups","scopes","currentEffectScope","fromParent","effectScope","recordEffectScope","getCurrentScope","onScopeDispose","resolveProvided","_provided","parentProvides","$parent","treatDefaultAsFactory","provides","normalizeEvent","passive","capture","createFnInvoker","invoker","updateListeners","oldOn","createOnceHandler","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","extractPropsFromVNodeData","propOptions","checkProp","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","_isVList","renderList","renderSlot","fallbackRender","bindObject","scopedSlotFn","slot","resolveFilter","resolveAsset","isKeyNotMatch","expect","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","_loop_1","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","tree","_renderProxy","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","$stable","$key","bindDynamicKeys","baseObj","prependModifier","installRenderHelpers","_o","_n","_s","_l","_t","_q","_m","_f","_k","_v","_e","_u","_g","_d","_p","resolveSlots","slots","name_1","name_2","isWhitespace","normalizeScopedSlots","ownerVm","scopedSlots","normalSlots","prevScopedSlots","hasNormalSlots","isStable","_normalized","$hasNormal","key_1","normalizeScopedSlot","key_2","proxyNormalSlot","normalized","initSetup","_setupContext","createSetupContext","setupResult","_props","_setupState","__sfc","_setupProxy","_attrsProxy","syncSetupProxy","_listenersProxy","initSlotsProxy","emit","expose","exposed","defineProxyAttr","_slotsProxy","syncSetupSlots","useSlots","useAttrs","useListeners","listeners","mergeDefaults","initRender","_vnode","parentVnode","_parentVnode","renderContext","_renderChildren","createElement$1","parentData","_parentListeners","currentRenderingInstance","renderMixin","nextTick","prevInst","prevRenderInst","ensureCtor","comp","toStringTag","createAsyncPlaceholder","resolveAsyncComponent","baseCtor","errorComp","resolved","owners","loadingComp","owners_1","sync_1","timerLoading_1","timerTimeout_1","$on","forceRender_1","renderCompleted","$forceUpdate","reject_1","reason","res_1","getFirstComponentChild","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","pre","applyNS","registerDeepBindings","force","errorCaptured","globalHandleError","_handled","logError","timerFunc","isUsingMicroTask","pending","flushCallbacks","copies","p_1","MutationObserver","setImmediate","counter_1","observer","textNode_1","characterData","_resolve","useCssModule","useCssVars","vars","defineAsyncComponent","loader","loadingComponent","errorComponent","userOnError","suspensible","onError","pendingRequest","retries","retry","thisRequest","userRetry","userFail","createLifeCycle","hookName","injectHook","mergeLifecycleHook","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onUnmounted","onActivated","onDeactivated","onServerPrefetch","onRenderTracked","onRenderTriggered","injectErrorCapturedHook","onErrorCaptured","seenObjects","_traverse","seen","isA","isFrozen","depId","target$1","uid$1","expOrFn","isRenderWatcher","_vm","_watcher","user","sync","deps","newDeps","depIds","newDepIds","expression","_isBeingDestroyed","initEvents","_events","_hasHookEvent","updateComponentListeners","add$1","remove$1","$off","createOnceHandler$1","_target","onceHandler","oldListeners","eventsMixin","hookRE","i_1","cbs","activeInstance","setActiveInstance","prevActiveInstance","initLifecycle","$children","_inactive","_directInactive","lifecycleMixin","_update","hydrating","prevEl","prevVnode","restoreActiveInstance","__patch__","__vue__","$destroy","callHook$1","mountComponent","updateComponent","watcherOptions","preWatchers","updateChildComponent","propsData","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","prevVNode","prevListeners","propKeys","_propKeys","validateProp","isInInactiveTree","activateChildComponent","direct","deactivateChildComponent","setContext","prevScope","activatedChildren","waiting","flushing","resetSchedulerState","currentFlushTimestamp","getNow","performance_1","sortCompareFn","flushSchedulerQueue","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","queueActivatedComponent","initProvide","provideOption","provided","initInjections","resolveInject","provideKey","provideDefault","FunctionalRenderContext","contextVm","_original","isCompiled","needNormalization","injections","createFunctionalComponent","mergeProps","cloneAndMarkFunctionalResult","vnodes","getComponentName","__name","_componentTag","componentVNodeHooks","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","$mount","oldVnode","hooksToMerge","_base","cid","resolveConstructorOptions","transformModel","installComponentHooks","_isComponent","inlineTemplate","toMerge","_merged","mergeHook","f1","f2","strats","recursive","toVal","fromVal","mergeDataOrFn","parentVal","childVal","instanceData","defaultData","dedupeHooks","mergeAssets","parent_1","defaultStrat","normalizeProps","normalizeInject","normalizeDirectives$1","dirs","mergeOptions","mergeField","strat","warnMissing","assets","camelizedId","PascalCaseId","absent","booleanIndex","getTypeIndex","stringIndex","getPropDefaultValue","prevShouldObserve","getType","functionTypeCheckRE","isSameType","expectedTypes","sharedPropertyDefinition","sourceKey","initState","initProps$1","initMethods","initData","initComputed$1","initWatch","propsOptions","isRoot","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","stateMixin","dataDef","propsDef","$set","$delete","initMixin$1","_uid","initInternalComponent","_self","vnodeComponentOptions","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","components","latest","sealed","sealedOptions","initUse","use","installedPlugins","_installedPlugins","install","initMixin","mixin","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps","initComputed","Comp","initAssetRegisters","definition","_getComponentName","pruneCache","keepAliveInstance","entry","pruneCacheEntry","patternTypes","KeepAlive","cacheVNode","vnodeToCache","keyToCache","destroyed","updated","builtInComponents","initGlobalAPI","configDef","util","observable","acceptValue","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","childNode","mergeClassData","renderClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","math","isHTMLTag","unknownElementCache","HTMLUnknownElement","isTextInputType","query","multiple","createElementNS","createComment","newNode","referenceNode","setTextContent","setStyleScope","nodeOps","registerRef","isRemoval","refValue","$refsValue","isFor","refInFor","_isString","_isRef","refs","setSetupRef","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","modules","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","i_2","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","removeAndInvokeRemoveHook","i_3","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","i_5","postpatch","invokeInsertHook","i_6","isRenderedModule","inVPre","hasChildNodes","childrenMatch","i_7","fullInvoke","isInitialPatch","isRealElement","oldElm","_leaveCb","patchable","i_8","i_9","insert_1","i_10","updateDirectives","oldDir","isCreate","isDestroy","oldDirs","normalizeDirectives","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","callHook","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","setupDef","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","_v_attr_proxy","setAttr","removeAttributeNS","isInPre","baseSetAttr","setAttributeNS","__ieph","blocker_1","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","klass","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","normalizeEvents","event_1","change","useMicrotaskFix","attachedTimestamp_1","original_1","_wrapper","updateDOMListeners","svgContainer","updateDOMProps","oldProps","_value","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","_vModifiers","parseStyleText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","getStyle","checkChild","styleData","cssVarRE","importantRE","setProp","normalizedName","normalize","vendorNames","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","whitespaceRE","tar","resolveTransition","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","toggleDisplay","cancelled","_enterCb","appearClass","appearToClass","appearActiveClass","beforeAppear","afterAppear","appearCancelled","transitionNode","isAppear","startClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","pendingNode","isValidDuration","beforeLeave","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","patch","vmodel","directive","binding","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions_1","curOptions_1","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","initEvent","locateNode","originalDisplay","__vOriginalDisplay","platformDirectives","transitionProps","getRealChild","compOptions","extractTransitionData","placeholder","rawChild","hasParentTransition","isSameChild","oldChild","isNotTextNode","isVShowDirective","Transition","_leaving","oldRawChild","delayedLeave_1","moveClass","TransitionGroup","kept","prevChildren","rawChildren","transitionData","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","moved","el_1","WebkitTransform","transitionDuration","_moveCb","propertyName","_hasMove","newPos","oldPos","platformComponents","VAutocomplete","delimiters","returnObject","editingIndex","computedCounterValue","internalSearch","hasSlot","VSelect","isAnyValueAllowed","menuCanShow","hasDisplayedItems","searchIsDirty","onInternalSearchChanged","delimiter","endsWith","updateTags","updateMenuDimensions","genInput","paste","onPaste","genChipSelection","chip","dblclick","onChipInput","onEnterDown","getMenuIndex","updateSelf","selectionStart","changeSelectedIndex","onTabDown","updateEditing","toLocaleLowerCase","setSelectedItems","internalValue","setValue","findIndex","updateCombobox","isUsingSlot","hasChips","menuIndex","itemToSelect","pastedItemText","clipboardData","findExistingIndex","clearableCallback","getOption","deepWatch","NATIVE_BIND","FunctionPrototype","af","Deno","versions","v8","A","mA","kA","PositionableFactory","app","centered","multiLine","activeTimeout","hasBackground","bar","footer","insetFooter","application","paddingBottom","paddingLeft","paddingRight","paddingTop","deprecate","genActions","__CANCEL__","commonjsGlobal","commonjsRequire","createCommonjsModule","_typeof","hookCallback","setHookCallback","isObjectEmpty","isNumber","isDate","hasOwnProp","valueOf","createUTC","strict","createLocalOrUTC","utc","defaultParsingFlags","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","rfc2822","weekdayMismatch","getParsingFlags","_pf","isValid","_isValid","parsedParts","isNowValid","invalidWeekday","_strict","bigHour","createInvalid","fun","momentProperties","copyConfig","_isAMomentObject","_tzm","_isUTC","_offset","_locale","updateInProgress","Moment","updateOffset","isMoment","absFloor","toInt","argumentForCoercion","coercedNumber","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","suppressDeprecationWarnings","firstTime","deprecationHandler","deprecations","deprecateSimple","_config","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","mom","_calendar","defaultLongDateFormat","_longDateFormat","formatUpper","defaultInvalidDate","invalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","_relativeTime","pastFuture","aliases","addUnitAlias","shorthand","lowerCase","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","getPrioritizedUnits","unitsObj","zeroFill","targetLength","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","localeData","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","replaceLongDateFormatTokens","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","regexes","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","p1","p2","p3","p4","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","isLeapYear","parseTwoDigitYear","getSetYear","makeGetSet","getIsLeapYear","keepTime","set$1","daysInMonth","stringGet","stringSet","prioritized","modMonth","MONTHS_IN_FORMAT","defaultLocaleMonths","localeMonths","_months","defaultLocaleMonthsShort","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","getSetMonth","getDaysInMonth","defaultMonthsShortRegex","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","defaultMonthsRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","createDate","createUTCDate","setUTCFullYear","firstWeekOffset","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","shiftWeekdays","ws","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","localeWeekdays","_weekdays","defaultLocaleWeekdaysShort","localeWeekdaysShort","_weekdaysShort","defaultLocaleWeekdaysMin","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","defaultWeekdaysRegex","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","defaultWeekdaysShortRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","defaultWeekdaysMinRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","kInput","_isPm","_meridiem","pos1","pos2","defaultLocaleMeridiemParse","localeMeridiem","globalLocale","getSetHour","baseConfig","locales","localeFamilies","normalizeLocale","chooseLocale","loadLocale","oldLocale","_abbr","aliasedRequire","getSetGlobalLocale","getLocale","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","currentDateArray","nowValue","_useUTC","configFromArray","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","weekYear","weekdayOverflow","GG","W","E","createLocal","curWeek","gg","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","weekdayProvided","weekdayActual","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","calculateOffset","obsOffset","militaryOffset","numOffset","hm","configFromRFC2822","parsedArray","configFromString","createFromInputFallback","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","createFromConfig","prepareConfig","configFromInput","isUTC","prototypeMin","other","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","isValid$1","createInvalid$1","createDuration","Duration","years","quarters","weeks","isoWeek","days","_milliseconds","_days","_bubble","isDuration","absRound","utcOffset","offsetFromString","chunkOffset","chunk","cloneWithOffset","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isUtcOffset","isUtc","aspNetRegex","isoRegex","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","dur","isAdding","invalid","getCalendarFormat","myMoment","calendar$1","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","toISOString","keepOffset","toDate","zone","datetime","inputString","defaultFormatUtc","defaultFormat","humanize","fromNow","toNow","newLocaleData","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","isoWeekday","unix","toJSON","isValid$2","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","isoWeekYear","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetSecond","parseMs","getSetMillisecond","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","isoWeeks","isoWeeksInYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","get$1","listMonthsImpl","out","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","withSuffix","abs$1","toISOString$1","Y","D","total","totalSign","ymSign","daysSign","hmsSign","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","_toConsumableArray","arr2","vueMoment","moment$$1","defineProperties","$moment","arguments$1","addends","addend","subtrahends","_obj","subtrahend","removeSuffix","referenceTime","float","_referenceTime","tz","durationChange","_duration","vueMoment_1","applyMixin","vuexInit","$store","devtoolHook","devtoolPlugin","_devtoolHook","targetState","replaceState","subscribe","mutation","subscribeAction","deepCopy","forEachValue","partial","Module","rawModule","runtime","_children","_rawModule","rawState","prototypeAccessors","namespaced","addChild","getChild","hasChild","actions","mutations","getters","forEachChild","forEachGetter","forEachAction","forEachMutation","ModuleCollection","rawRootModule","register","targetModule","newModule","getNamespace","this$1","rawChildModule","unregister","isRegistered","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_subscribers","_watcherVM","_makeLocalGettersCache","commit","payload","installModule","resetStoreVM","useDevtools","prototypeAccessors$1","genericSubscribe","resetStore","hot","oldVm","wrappedGetters","$$state","enableStrictMode","_withCommit","rootState","parentState","getNestedState","moduleName","makeLocalContext","namespacedType","registerMutation","registerAction","registerGetter","noNamespace","_type","_payload","unifyObjectStyle","makeLocalGetters","gettersProxy","splitPos","localType","rootGetters","rawGetter","_Vue","registerModule","preserveState","unregisterModule","hasModule","hotUpdate","newOptions","committing","mapState","normalizeNamespace","states","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","createNamespacedHelpers","isValidMap","helper","createLogger","collapsed","stateBefore","stateAfter","transformer","mutationTransformer","mut","actionFilter","actionTransformer","act","logMutations","logActions","logger","prevState","formattedTime","getFormattedTime","formattedMutation","startMessage","endMessage","formattedAction","groupCollapsed","groupEnd","repeat","times","maxLength","registry","decoratorClass","decoratorsRegistry","decoratorConfig","encode","serializedParams","hashmarkIndex","KEYBOARD_DRAG_STEP","dragEnabled","draggableElement","positionController","_positionController","_draggableElement","_handle","_dragEnabled","unsubscribe","_moveTo","_getEventNames","startEventName","_dragStartHandler","updateEventName","_dragUpdateHandler","_dragEndHandler","drag","allowedOffsets","_getAllowedOffsets","_prevOffset","targetOffset","_moveByOffset","dragHandled","detectVisualPositionChange","_fitOffsetIntoAllowedRange","$dragResizeContainer","containerWidth","clientWidth","containerDimensions","_getContainerDimensions","elementDimensions","_getElementDimensions","outsideDragFactor","fullDelta","_getInnerDelta","outerDelta","_getOuterDelta","_getFullDelta","isDragAllowed","elementPosition","_getElementPosition","containerPosition","_getContainerPosition","currentPosition","newPosition","RESIZABLE","RESIZABLE_CLASS","RESIZABLE_RESIZING_CLASS","RESIZABLE_HANDLE_CLASS","RESIZABLE_HANDLE_TOP_CLASS","RESIZABLE_HANDLE_BOTTOM_CLASS","RESIZABLE_HANDLE_LEFT_CLASS","RESIZABLE_HANDLE_RIGHT_CLASS","RESIZABLE_HANDLE_CORNER_CLASS","DRAGSTART_START_EVENT_NAME","DRAGSTART_EVENT_NAME","DRAGSTART_END_EVENT_NAME","SIDE_BORDER_WIDTH_STYLES","Resizable","handles","stepPrecision","area","onResizeStart","onResize","onResizeEnd","roundStepValue","keepAspectRatio","_renderHandles","_renderActions","_resizeStartAction","_resizeEndAction","_resizeAction","_handles","directions","activeHandlesMap","handleName","_renderHandle","_attachEventHandlers","$handle","_dragHandler","handleElement","_detachEventHandlers","_toggleEventHandlers","shouldAttachEvents","_getElementSize","_toggleResizingClass","_movingSides","_getMovingSides","_elementLocation","_elementSize","_renderDragOffsets","_getArea","handleWidth","handleHeight","handleOffset","areaOffset","_getAreaScrollOffset","_leftMaxOffset","scrollX","_rightMaxOffset","_topMaxOffset","scrollY","_bottomMaxOffset","_getBorderWidth","borderWidth","_proportionate","factor","_getProportionalDelta","proportionalY","proportionalX","_getDirectionName","axis","sides","_fitIntoArea","directionName","_fitDeltaProportionally","fittedDelta","getWidth","getHeight","isInArea","isFittedX","isFittedY","_fitDelta","_getDeltaByOffset","shouldKeepAspectRatio","_isCornerHandler","proportionalDelta","fittedProportionalDelta","roundedFittedDelta","_roundByStep","elementRect","_getOffset","dimensions","_updateDimensions","_triggerResizeAction","isAbsoluteSize","isStepPrecisionStrict","elementStyle","shouldRenderWidth","shouldRenderHeight","xor","_roundStrict","_roundNotStrict","_getSteps","steps","xPos","yPos","newXShift","newYShift","separatorOffset","isSmallOffset","newOffsetX","newOffsetY","roundedOffset_x","roundedOffset_y","hasCornerTopLeftClass","hasCornerTopRightClass","hasCornerBottomLeftClass","hasCornerBottomRightClass","_getAreaFromObject","_getAreaFromElement","isElement","areaElement","_correctAreaGeometry","$area","areaBorderLeft","areaBorderTop","_renderWidth","_renderHeight","_useTemplates","fullScreen","forceApplyBindings","dragOutsideBoundary","dragAndResizeArea","_$dragResizeContainer","_updateDragResizeContainer","_fullScreenEnabled","_fullScreenDisabled","containerProp","updateContainer","restorePositionOnNextRender","_this$_props$forceApp","_this$_props","_$content","positionContent","_getDragResizeContainer","isContainerDefined","_$markupContainer","_getVisualContainer","overflowManagerMock","setOverflow","restoreOverflow","createBodyOverflowManager","isIosDevice","prevSettings","setBodyPaddingRight","scrollBarWidth","innerWidth","computedBodyPaddingRight","restoreBodyPaddingRight","removeProperty","propertyInKebabCase","POPUP_CLASS","POPUP_WRAPPER_CLASS","POPUP_FULL_SCREEN_CLASS","POPUP_FULL_SCREEN_WIDTH_CLASS","POPUP_NORMAL_CLASS","POPUP_CONTENT_CLASS","POPUP_CONTENT_SCROLLABLE_CLASS","DISABLED_STATE_CLASS","POPUP_DRAGGABLE_CLASS","POPUP_TITLE_CLASS","POPUP_TITLE_CLOSEBUTTON_CLASS","POPUP_BOTTOM_CLASS","POPUP_HAS_CLOSE_BUTTON_CLASS","POPUP_CONTENT_FLEX_HEIGHT_CLASS","POPUP_CONTENT_INHERIT_HEIGHT_CLASS","TOOLBAR_LABEL_CLASS","ALLOWED_TOOLBAR_ITEM_ALIASES","BUTTON_DEFAULT_TYPE","BUTTON_NORMAL_TYPE","BUTTON_TEXT_MODE","BUTTON_CONTAINED_MODE","IS_OLD_SAFARI","browser","HEIGHT_STRATEGIES","static","flex","getButtonPlace","toolbar","Popup","_this$_drag","_drag","moveUp","_this$_drag2","moveDown","_this$_drag3","moveLeft","_this$_drag4","moveRight","showTitle","titleTemplate","onTitleRendered","enableBodyScroll","resizeEnabled","toolbarItems","showCloseButton","bottomTemplate","useDefaultToolbarButtons","useFlatToolbarButtons","autoResizeEnabled","_iosAnimation","_androidAnimation","popupWrapperClassExternal","popupWrapperClasses","_createBodyOverflowManager","_updateResizeCallbackSkipCondition","_$popupContent","_toggleContentScrollClass","$overlayContent","isFullscreen","_toggleFullScreenClass","_bodyOverflowManager","_getActionsList","_contentResizeHandler","_shouldSkipContentResize","_renderGeometry","shouldOnlyReposition","_doesShowAnimationChangeDimensions","_animation$show","doesShowAnimationChangeDimensions","_showAnimationProcessing","_areContentDimensionsRendered","_observeContentResize","contentElement","unobserve","_entry$contentBoxSize","_this$_renderedDimens3","_this$_renderedDimens4","_this$_renderedDimens","_this$_renderedDimens2","contentBox","contentBoxSize","inlineSize","_renderedDimensions","blockSize","contentRect","_renderTitle","_renderResize","_renderBottom","_getToolbarItems","ios","_$title","$title","_renderTemplateByType","_renderDrag","_executeTitleRenderAction","_hasCloseButton","_toggleAriaLabel","_this$_$title","shouldSetAriaLabel","titleId","additionalToolbarOptions","_getTemplateByOption","toolbarTemplate","toolbarOptions","useDefaultButtons","useFlatButtons","_getToolbarName","$toolbar","_renderVisibilityAnimate","$titleElement","_getTitleRenderAction","titleElement","_titleRenderAction","_createTitleRenderAction","_getCloseButton","_getCloseButtonRenderer","__","_createToolbarItemAction","toolbarsItems","_toolbarItemClasses","currentPlatform","isShortcut","shortcut","_getToolbarItemByAlias","isLTROrder","_getLocalizationKey","itemType","itemConfig","itemClass","$toolbarItem","clickAction","afterExecute","_$bottom","$bottom","compactMode","_toggleClasses","_zIndex","_zIndexInitValue","_$wrapper","isNativeScrollingEnabled","_getPositionControllerConfig","_getDragTarget","topToolbar","useResizeObserver","isAnimated","shouldRepeatAnimation","forceStopAnimation","_isAnimationPaused","_stopAnimation","_renderPosition","_renderGeometryImpl","isDimensionChange","_animateShowing","_cacheDimensions","_resetContentHeight","_setContentHeight","_getOptionValue","$dragTarget","_resizable","_resizeEndHandler","resizeHandled","overlayContent","currentHeightStrategyClass","_chooseHeightStrategy","_getHeightCssStyles","_setHeightClasses","_heightStrategyChangeOffset","popupVerticalPaddings","isAutoWidth","_isAutoHeight","cssStyles","contentMaxHeight","contentMinHeight","popupHeightParts","_splitPopupHeight","toolbarsAndVerticalOffsetsHeight","contentVerticalOffsets","popupVerticalOffsets","overlayHeight","innerHeight","contentHeight","$visualContainer","maxHeightValue","minHeightValue","currentClass","excessClasses","bottomToolbar","_isAllWindowCovered","_renderDimensions","_renderFullscreenWidthClass","_toggleBodyScroll","refreshPosition","_this$_resizable2","_this$_resizable","shouldRenderGeometry","_toggleSafariScrolling","getCjsExportFromNamespace","colorName","conversions","reverseKeywords","convert","rgb","channels","labels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","ansi16","ansi256","hcg","apple","gray","comparativeDistance","rdif","gdif","bdif","diffc","reversed","currentClosestKeyword","currentClosestDistance","z","t1","t2","t3","smin","lmin","hi","q","vmin","wh","bl","z2","ansi","mult","rem","colorString","char","grayscale","hue","chroma","pure","buildGraph","graph","models","deriveBFS","fromModel","adjacents","adjacent","wrapConversion","toModel","conversion","route","wrapRaw","wrappedFn","wrapRounded","routes","routeModels","colorConvert","colorName$1","getRgba","getHsla","getRgb","getHsl","getHwb","getAlpha","hexString","rgbString","rgbaString","percentString","percentaString","hslString","hslaString","hwbString","rgba","per","hexAlpha","hsla","vals","hexDouble","reverseNames","Color","valid","setValues","red","lightness","whiteness","cyan","setSpace","rgbArray","hslArray","hsvArray","hwbArray","cmykArray","rgbaArray","hslaArray","setChannel","green","blue","saturation","saturationv","blackness","magenta","yellow","black","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","level","contrastRatio","yiq","lighten","darken","saturate","desaturate","whiten","blacken","greyscale","clearer","opaquer","degrees","mix","mixinColor","weight","color1","w1","w2","spaces","maxes","getValues","capped","chans","sname","svalues","chartjsColor","isValidKey","helpers","valueOrDefault","valueAtIndexOrDefault","loopable","arrayEquals","a0","a1","ilen","v0","v1","klen","_merger","tval","sval","_mergerIf","mergeIf","sources","merger","dst","inherits","extensions","ChartElement","Surrogate","__super__","_deprecated","helpers_core","callCallback","getValueOrDefault","getValueAtIndexOrDefault","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","asin","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","helpers_easing","easingEffects","RAD_PER_DEG","DOUBLE_PI","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","exports$1","chart","clearRect","roundedRect","drawPoint","rotation","xOffset","yOffset","rad","SQRT1_2","_isPointInArea","point","epsilon","clipArea","unclipArea","flip","stepped","steppedLine","midpoint","tension","controlPointPreviousX","controlPointNextX","controlPointPreviousY","controlPointNextY","helpers_canvas","drawRoundedRectangle","_set","defaultColor","defaultFontColor","defaultFontFamily","defaultFontSize","defaultFontStyle","defaultLineHeight","showLines","core_defaults","toFontString","family","helpers_options","toLineHeight","toPadding","_parseFont","globalDefaults","inputs","cacheable","exports$2","_factorize","log10","exponent","LOG10E","powerOf10","isPowerOf10","helpers_math","getRtlAdapter","rectX","setWidth","xPlus","leftForLtr","getLtrAdapter","_itemWidth","getAdapter","overrideTextDirection","getPropertyPriority","prevTextDirection","restoreTextDirection","helpers_rtl","helpers$1","interpolate","ease","c0","c1","Element","initialize","pivot","_view","_model","tooltipPosition","hasValue","core_element","exports$3","currentStep","numSteps","onAnimationProgress","onAnimationComplete","core_animation","onComplete","core_animations","animations","addAnimation","animating","cancelAnimation","requestAnimFrame","startDigest","advance","nextStep","arrayEvents","listenArrayEvents","_chartjs","unlistenArrayEvents","stub","DatasetController","datasetIndex","datasetElementType","dataElementType","_datasetElementOptions","_dataElementOptions","linkScales","addElements","getMeta","updateIndex","meta","scales","dataset","getDataset","scalesOpts","xAxisID","xAxes","yAxisID","yAxes","datasets","getDatasetMeta","getScaleForId","scaleID","_getValueScaleId","_getIndexScaleId","_getValueScale","_getIndexScale","createMetaDataset","_datasetIndex","createMetaData","_index","metaData","addElementAndReset","updateElement","buildOrUpdateElements","resyncElements","_configure","_cachedDataOpts","easingValue","draw","_resolveDatasetElementOptions","_resolveDataElementOptions","readKey","datasetOpts","custom","dataIndex","removeHoverStyle","$previousStyle","setHoverStyle","getHoverColor","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","_removeDatasetHoverStyle","_setDatasetHoverStyle","hoverOptions","numMeta","numData","insertElements","onDataPush","onDataPop","onDataShift","onDataSplice","onDataUnshift","core_datasetController","TAU","clipArc","pixelMargin","angleMargin","outerRadius","innerRadius","drawFullCircleBorders","inner","fullCircles","drawBorder","borderAlign","element_arc","inLabelRange","mouseX","hoverRadius","inRange","chartX","chartY","pointRelativePosition","getAngleFromPoint","betweenAngles","withinRadius","getCenterPoint","halfAngle","halfRadius","getArea","centreAngle","rangeFromCentre","circumference","valueOrDefault$1","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","capBezierPoints","element_line","currentVM","spanGaps","points","globalOptionLineElements","lastDrawnIndex","_loop","previousItem","lineCap","lineDashOffset","valueOrDefault$2","defaultColor$1","xRange","hitRadius","yRange","mouseY","pointStyle","element_point","inXRange","inYRange","chartArea","defaultColor$2","isVertical","getBarBounds","half","v2","parseBorderSkipped","edge","borderSkipped","parseBorderWidth","maxW","maxH","boundingRects","bounds","outer","skipX","skipY","rectangle","element_rectangle","rects","Arc","Line","Point","Rectangle","deprecated","valueOrDefault$3","computeMinSampleSize","pixels","curr","getTicks","getPixelForTick","computeFitCategoryTraits","ruler","thickness","barThickness","stackCount","categoryPercentage","barPercentage","computeFlexCategoryTraits","gridLines","offsetGridLines","controller_bar","scaleOpts","minBarLength","maxBarThickness","_ruler","getRuler","_xScale","_yScale","datasetLabel","_updateElementGeometry","vscale","getBasePixel","isHorizontal","vpixels","calculateBarValuePixels","ipixels","calculateBarIndexPixels","center","_getStacks","metasets","_getMatchingVisibleMetas","stacked","stacks","getStackCount","getStackIndex","getPixelForValue","_startPixel","_endPixel","imeta","ivalue","stackLength","_parseValue","range","stackIndex","indexOpts","valueOpts","valueOrDefault$4","resolve$1","tooltips","dataPoint","xLabel","yLabel","controller_bubble","xScale","yScale","dsIndex","getPixelForDecimal","valueOrDefault$5","PI$1","DOUBLE_PI$1","HALF_PI$1","animateRotate","animateScale","legendCallback","listItem","listItemSpan","outerHTML","legend","generateLabels","controller","legendItem","cutoutPercentage","tooltipItem","dataLabel","controller_doughnut","getRingIndex","ringIndex","isDatasetVisible","ratioX","ratioY","arcs","cutout","chartWeight","_getRingWeight","startX","startY","endX","endY","contains0","contains90","contains180","contains270","minX","minY","maxX","maxY","getMaxBorderWidth","radiusLength","_getVisibleDatasetWeightTotal","calculateTotal","_getRingWeightOffset","animationOpts","calculateCircumference","hoverWidth","ringWeightOffset","dataSetIndex","horizontalBar","controller_horizontalBar","valueOrDefault$6","resolve$2","isPointInArea","scaleClip","halfBorderWidth","tickOpts","ticks","defaultClip","toClip","controller_line","showLine","_showLine","lineTension","_scale","updateBezierControlPoints","lineModel","calculatePointY","lineOptions","ds","dsMeta","stackedRightValue","rightValue","sumPos","sumNeg","getRightValue","_getSortedVisibleDatasetMetas","controlPoints","capControlPoint","pt","cubicInterpolationMode","splineCurveMonotone","splineCurve","nextItem","resolve$3","angleLines","circular","pointLabels","beginAtZero","controller_polarArea","starts","_starts","angles","_angles","_updateRadius","countVisibleElements","_computeAngle","minSize","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getDistanceFromCenterForValue","resetRadius","doughnut","controller_pie","valueOrDefault$7","controller_radar","pointPosition","getPointPositionForValue","scatter","controller_scatter","controllers","polarArea","pie","radar","getRelativePosition","native","parseVisibleItems","metadata","jlen","getIntersectItems","getNearestItems","intersect","distanceMetric","minDistance","POSITIVE_INFINITY","nearestItems","getDistanceMetricForAxis","useX","useY","pt1","pt2","indexMode","core_interaction","modes","single","nearest","intersectsItem","filterByPosition","where","sortByWeight","wrapBoxes","boxes","layoutBoxes","setLayoutDims","layouts","layout","fullWidth","availableWidth","vBoxMaxWidth","hBoxMaxHeight","buildLayoutBoxes","leftAndTop","rightAndBottom","getCombinedMax","maxPadding","updateDims","newWidth","newHeight","getPadding","boxPadding","outerWidth","outerHeight","handleMaxPadding","updatePos","getMargins","marginForPositions","fitBoxes","refit","refitBoxes","placeBoxes","userPadding","core_layouts","addBox","_layers","removeBox","layoutItem","availableHeight","verticalBoxes","horizontalBoxes","platform_basic","acquireContext","platform_dom","platform_dom$1","stylesheet","EXPANDO_KEY","CSS_PREFIX","CSS_SIZE_MONITOR","CSS_RENDER_MONITOR","CSS_RENDER_ANIMATION","ANIMATION_START_EVENTS","EVENT_TYPES","touchstart","touchmove","touchend","pointerdown","pointermove","pointerup","pointerout","readUsedSize","initCanvas","renderHeight","renderWidth","displayWidth","displayHeight","supportsEventListenerOptions","supports","eventListenerOptions","addListener","fromNativeEvent","throttled","ticking","createDiv","createResizer","maxSize","resizer","shrink","_reset","watchForRender","renderProxy","animationName","reflow","unwatchForRender","addResizeListener","maintainAspectRatio","removeResizeListener","injectCSS","rootNode","containsStyles","platform_dom$2","disableCSSInjection","_enabled","_ensureLoaded","targetNode","releaseContext","proxies","addEvent","core_plugins","_cacheId","descriptors","$plugins","core_scaleService","constructors","registerScaleType","scaleConstructor","scaleDefaults","getScaleConstructor","getScaleDefaults","updateScaleDefaults","additions","addScalesToLayout","valueOrDefault$8","getRtlHelper","titleFontStyle","titleSpacing","titleMarginBottom","titleFontColor","titleAlign","bodySpacing","bodyFontColor","bodyAlign","footerFontStyle","footerSpacing","footerMarginTop","footerFontColor","footerAlign","yPadding","xPadding","caretPadding","caretSize","multiKeyBackground","displayColors","beforeTitle","tooltipItems","labelCount","afterTitle","beforeBody","beforeLabel","labelColor","labelTextColor","afterLabel","afterBody","beforeFooter","afterFooter","positioners","average","eventPosition","nearestElement","distanceBetweenPoints","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","indexScale","valueScale","getLabelForIndex","getBaseModel","tooltipOpts","xAlign","yAlign","textDirection","_bodyFontFamily","bodyFontFamily","_bodyFontStyle","bodyFontStyle","_bodyAlign","bodyFontSize","_titleFontFamily","titleFontFamily","_titleFontStyle","titleFontSize","_titleAlign","_footerFontFamily","footerFontFamily","_footerFontStyle","footerFontSize","_footerAlign","legendColorBackground","getTooltipSize","tooltip","combinedBodyLength","bodyItem","titleLineCount","footerLineCount","widthPadding","maxLineWidth","fontString","determineAlignment","lf","rf","olf","orf","yf","midX","midY","getBackgroundPoint","alignment","paddingAndSize","radiusAndPadding","getAlignedX","getBeforeAfterBodyLines","exports$4","_lastActive","getTitle","getBeforeBody","bodyItems","getAfterBody","getFooter","existingModel","_active","backgroundPoint","tooltipSize","caretX","caretY","labelColors","labelTextColors","_eventPosition","itemSort","dataPoints","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","drawTitle","rtlHelper","textBaseline","drawBody","textColor","drawColorBoxes","xLinePadding","colorX","fillLineOfText","bodyAlignForCalculation","rtlColorX","strokeRect","drawFooter","quadraticCurveTo","hasTooltipContent","handleEvent","getElementsAtEventForMode","positioners_1","core_tooltip","valueOrDefault$9","mergeScaleConfig","slen","initConfig","updateConfig","ensureScalesHaveIDs","buildOrUpdateScales","nextAvailableScaleId","axesOpts","hasId","positionIsHorizontal","compare2Level","l1","l2","onHover","animationDuration","responsive","responsiveAnimationDuration","Chart","construct","_bufferedRender","instances","retinaScale","bindEvents","resize","initToolTip","getMaximumWidth","getMaximumHeight","newSize","scalesOptions","scaleOptions","xAxisOptions","yAxisOptions","dtype","dposition","isDefault","scaleType","scaleClass","mergeTicksOptions","hasUpdated","buildOrUpdateControllers","newControllers","destroyDatasetMeta","ControllerClass","resetElements","updateLayout","updateDatasets","lastActive","_bufferedRequest","_idx","updateDataset","animationOptions","animationObject","easingFunction","stepDecimal","layers","drawDatasets","_drawTooltip","_getSortedDatasetMetas","filterVisible","drawDataset","getElementAtEvent","getElementsAtEvent","getElementsAtXAxis","getDatasetAtEvent","_meta","unbindEvents","toBase64Image","_chartInstance","_listeners","updateHoverStyle","bufferedRequest","core_controller","Controller","configMerge","scaleMerge","core_helpers","parseMaxStyle","styleValue","parentProperty","valueInPixels","isConstrainedValue","getConstraintDimension","domNode","maxStyle","percentageProperty","_getParentNode","constrainedNode","constrainedContainer","hasCNode","hasCContainer","infinity","filterCallback","filtered","findNextWhere","arrayToSearch","startIndex","currentItem","findPreviousWhere","almostEquals","almostWhole","rounded","NEGATIVE_INFINITY","toRadians","toDegrees","radians","_decimalPlaces","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","aliasPixel","pixelWidth","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","firstPoint","middlePoint","afterPoint","d01","d12","s01","s12","fb","EPSILON","pointBefore","pointCurrent","pointAfter","alphaK","betaK","tauK","squaredMagnitude","pointsWithTangents","deltaK","mK","pointsLen","slopeDeltaX","niceNum","niceFraction","fraction","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","srcElement","boundingRect","getConstraintWidth","getConstraintHeight","_calculatePadding","parentDimension","cw","currentStyle","forceRatio","pixelSize","longestText","arrayOfThings","gc","garbageCollect","thing","nestedThing","longest","gcLen","numberOfLabelLines","numberOfLines","CanvasGradient","colorValue","CanvasPattern","DateAdapter","_create","override","_date","core_adapters","core_ticks","formatters","tickValue","logDelta","tickString","maxTick","logTick","numExponential","toExponential","numDecimal","logarithmic","remain","valueOrDefault$a","sample","numItems","getPixelForGridLine","validIndex","lineValue","caches","computeLabelSizes","tickFonts","tickFont","nestedLabel","widest","highest","heights","widestLabelSize","highestLabelSize","major","minor","valueAt","getTickMarkLength","drawTicks","tickMarkLength","getScaleLabelHeight","parseFontOptions","nestedOpts","fontColor","parseTickFontOptions","nonSkipped","ticksToFilter","getEvenSpacing","calculateSpacing","majorIndices","axisLength","ticksLimit","factors","evenMajorSpacing","spacing","getMajorIndices","skipMajors","majorStart","majorEnd","drawOnChartArea","zeroLineWidth","zeroLineColor","zeroLineBorderDash","zeroLineBorderDashOffset","scaleLabel","labelString","minRotation","maxRotation","mirror","autoSkip","autoSkipPadding","labelOffset","Scale","zeroLineIndex","_ticks","_getLabels","xLabels","yLabels","beforeUpdate","margins","samplingEnabled","sampleSize","_labelSizes","_maxLabelLines","longestLabelWidth","longestTextCache","_gridLineItems","_labelItems","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","beforeBuildTicks","buildTicks","afterBuildTicks","_convertTicksToLabels","beforeCalculateTickRotation","calculateTickRotation","afterCalculateTickRotation","beforeFit","fit","afterFit","_ticksToDraw","_autoSkip","afterUpdate","startPixel","endPixel","reversePixels","_reversePixels","beforeTickToLabelConversion","convertTicksToLabels","userCallback","afterTickToLabelConversion","labelSizes","maxLabelWidth","maxLabelHeight","tickWidth","maxLabelDiagonal","numTicks","labelRotation","_isVisible","_getLabelSizes","scaleLabelOpts","gridLineOpts","isBottom","firstLabelSize","lastLabelSize","lineSpace","tickPadding","isRotated","angleRadians","cosRotation","sinRotation","labelHeight","offsetRight","labelWidth","handleMargins","isFullWidth","_getScaleLabel","getValueForPixel","decimal","getDecimalForPixel","getBaseValue","avgMajorSpacing","maxTicksLimit","_tickSize","numMajorIndices","optionTicks","rot","_computeGridLineItems","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","lineColor","ticksLength","tl","axisWidth","axisHalfWidth","alignPixel","alignBorderValue","_computeLabelItems","lineCount","textOffset","isMirrored","fonts","_drawGrid","firstLineWidth","lastLineWidth","_drawLabels","_drawTitle","scaleLabelX","scaleLabelY","scaleLabelFontColor","scaleLabelFont","scaleLabelPadding","halfLineHeight","isLeft","gz","_draw","core_scale","isNullOrUndef$1","defaultConfig","scale_category","ticksOpts","minIndex","maxIndex","_startValue","_valueRange","valueCategory","_defaults","isNullOrUndef$2","generateTicks","generationOptions","dataRange","niceMin","niceMax","numSpaces","MIN_SPACING","stepSize","maxNumSpaces","maxTicks","precision","rmin","rmax","scale_linearbase","handleTickRangeOptions","minSign","maxSign","setMin","suggestedMin","setMax","suggestedMax","getTickLimit","_computeTickLimit","handleDirectionalChanges","numericGeneratorOptions","fixedStepSize","ticksAsNumbers","_endValue","defaultConfig$1","DEFAULT_MIN","DEFAULT_MAX","getOrCreateStack","neg","stackData","relativePoints","updateMinMax","scale_linear","hasStacks","stackValues","_defaults$1","valueOrDefault$b","generateTicks$1","exp","significand","tickVal","endExp","endSignificand","minNotZero","lastTick","defaultConfig$2","nonNegativeOrDefault","scale_logarithmic","IDMatches","valuesPerStack","valuesForType","minVal","maxVal","tickValues","_getFirstTickValue","_valueOffset","_defaults$2","valueOrDefault$c","valueAtIndexOrDefault$1","resolve$4","defaultConfig$3","showLabelBackdrop","backdropColor","backdropPaddingY","backdropPaddingX","getTickBackdropHeight","measureLabelSize","determineLimits","fitWithPointLabels","textSize","plFont","furthestLimits","furthestAngles","_pointLabelSizes","valueCount","getPointPosition","drawingArea","getIndexAngle","hLimits","vLimits","setReductions","getTextAlignForAngle","adjustPointPositionForLabelHeight","drawPointLabels","pointLabelOpts","tickBackdropHeight","outerDistance","pointLabelPosition","pointLabelFontColor","drawRadiusLine","numberOrZero","scale_radialLinear","setCenterPoint","largestPossibleRadius","radiusReductionLeft","radiusReductionRight","radiusReductionTop","radiusReductionBottom","leftMovement","rightMovement","topMovement","bottomMovement","maxRight","maxLeft","maxTop","maxBottom","angleMultiplier","scalingFactor","distanceFromCenter","thisAngle","getBasePosition","angleLineOpts","tickFontColor","_defaults$3","deprecated$1","resolve$5","valueOrDefault$d","MIN_INTEGER","MIN_SAFE_INTEGER","MAX_INTEGER","MAX_SAFE_INTEGER","INTERVALS","UNITS","sorter","arrayUnique","getMin","getMax","buildLookupTable","timestamps","distribution","mid","i0","i1","lo","interpolate$1","skey","tkey","span","toTimestamp","_adapter","determineUnitForAutoTicks","minUnit","capacity","determineUnitForFormatting","determineMajorUnit","generate","timeOpts","unitStepSize","computeOffsets","setMajorTicks","majorUnit","ticksFromTimestamps","defaultConfig$4","adapters","displayFormat","displayFormats","scale_time","timestamp","labelsAdded","dataLabels","_table","_timestamps","getLabelCapacity","_unit","_majorUnit","_offsets","tooltipFormat","tickFormatFunction","minorFormat","majorFormat","nestedTickOpts","getPixelForOffset","_getLabelSize","tickLabelWidth","tickFontSize","getLabelWidth","exampleTime","exampleLabel","_defaults$4","radialLinear","FORMATS","_id","amount","filler","propagate","mappers","decodeFill","computeLinearBoundary","scaleBottom","scaleTop","scaleZero","computeCircularBoundary","computeBoundary","resolveTarget","visited","createMapper","isDrawable","drawArea","curve0","curve1","len0","len1","doFill","p0","d0","d1","loopOffset","plugin_filler","afterDatasetsUpdate","$filler","beforeDatasetsDraw","getRtlHelper$1","noop$1","valueOrDefault$e","getBoxWidth","labelOpts","usePointStyle","boxWidth","ci","onLeave","lineDash","Legend","legendHitBoxes","_hoveredItem","doughnutMode","beforeBuildLabels","buildLabels","afterBuildLabels","legendItems","labelFont","hitboxes","lineWidths","vPadding","columnWidths","columnHeights","currentColWidth","currentColHeight","lineDefault","legendHeight","legendWidth","drawLegendBox","SQRT2","halfFontSize","xLeft","yMiddle","alignmentOffset","itemHeight","realX","_getLegendItemAt","hitBox","lh","hoveredItem","createNewLegendAndAttach","legendOpts","plugin_legend","beforeInit","afterEvent","noop$2","Title","titleX","titleY","fontOpts","createNewTitleBlockAndAttach","titleOpts","titleBlock","plugin_title","_adapters","animationService","Interaction","scaleService","Ticks","Tooltip","pluginService","PluginBase","canvasHelpers","layoutService","LinearScaleBase","cfg","getElementComputedStyle","_window$getComputedSt","generateWarning","consoleWarn","defaultImpl","VMenu","onAfterRender","onPreRender","nextNode","mountNode","vNodeAlreadyExists","shallowEquals","isDxElementWrapper","buildTemplateArgs","_model$data","renderTemplateContent","_props$model","isNode","rendered","renovated","removeDifferentElements","oldChildren","newElement","hasOldChild","oldElement","$oldContainerContent","$actualContainerContent","nextModel","nextTemplate","equalityComparer","nextData","nextIndex","cloneObjectValue","cloneObjectProp","fullNameParts","updatePropsImmutable","currentPropsValue","prevPropsValue","setDefaultOptionValue","defaultValueGetter","_shouldRaiseContentReady","validateKeyDownHandler","supportedKeyNames","getSupportedKeyNames","hasComponentDefaultKeyHandlers","hasComponentKeyDownMethod","_viewComponent","_this$_viewRef","_viewRef","contentReadyOptions","_getContentReadyOptions","_checkContentReadyOption","_actionsMap","onContentReady","viewDefaultProps","_getViewComponentDefaultProps","_propsInfo","defaultName","unwrappedProps","_this$_templateManage","getDefaultTemplates","optionProxy","_getUnwrappedOption","_optionsWithDefaultTemplates","_componentTemplates","_getActionConfigsFull","defaultKeyHandlers","_createDefaultKeyHandlers","_renderWrapper","containerNode","_isNodeReplaced","_fireContentReady","_removeWidget","_elementAttr","_attributes$attr$name","specified","updatedAttributes","isDomAttr","_storedClasses","elemStyle","defaultWidgetPropsKeys","onKeyboardHandled","event_options","widgetProps","_getAdditionalProps","_patchElementParam","_this$elementAttr$cla","_elementAttr$class","elementAttr","_extractDefaultSlot","_aria","prepareStyleProp","_getActionConfigs","_getAdditionalActionConfigs","_templatesInfo","templateOptions","_options$templateName","templateName","templateValue","customKeyHandlers","createKeyDownOptions","actionToAdd","actionByOption","actArgs","anonymousTemplateName","templateOption","initialHandler","IS_RENOVATED_WIDGET","READONLY_STATE_CLASS","INVALID_CLASS","DX_INVALID_BADGE_CLASS","VALIDATION_TARGET","VALIDATION_STATUS_VALID","VALIDATION_STATUS_INVALID","READONLY_NAMESPACE","ALLOWED_STYLING_MODES","VALIDATION_MESSAGE_KEYS_MAP","validationMessageMode","validationMessagePosition","validationMessageOffset","validationBoundary","Editor","showValidationMessageTimeout","validationRequest","_initOptions","initValidationOptions","onValueChanged","readOnly","validationError","validationTooltipOptions","_showValidationMessage","_attachKeyboardEvents","_createValueChangeAction","_valueChangeAction","_suppressValueChangeAction","_valueChangeActionSuppressed","_resumeValueChangeAction","_toggleReadOnlyState","_setSubmitElementName","_renderValidationState","_raiseValueChangeAction","_valueChangeArgs","_valueChangeEventInstance","_saveValueChangeEvent","isValidationMessageShownOnFocus","_canValueBeChangedByClick","_this$_validationMess","$validationMessageWrapper","_validationMessage","_getStylingModePrefix","_renderStylingMode","allowedStylingClasses","stylingModeClass","defaultOptionValue","platformOptionValue","_convertRulesToOptions","_getValidationErrors","_disposeValidationMessage","_$validationMessage","_toggleValidationClasses","validationMessageContentId","_getValidationMessageTarget","visualContainer","_getValidationMessagePosition","_bindInnerWidgetOptions","_toggleBackspaceHandler","isReadOnly","$eventTarget","_keyboardEventBindingTarget","$submitElement","_getSubmitElement","_setValidationMessageOption","_this$_validationMess2","optionKey","_hasActiveElement","_this$_validationMess3","_refreshFocusState","editor","synchronizeValidationOptions","_innerWidgetOptionChanged","isEditor","subscribeToEvent","subscribeToClickEvent","subscribeToDxActiveEvent","scroll","subscribeToDxInactiveEvent","subscribeToDxHoverStartEvent","subscribeToDxHoverEndEvent","subscribeToDxFocusInEvent","subscribeToDxFocusOutEvent","addToUnscopables","relativeIndex","maxLevel","normalizeArg","xItem","yItem","VChip","deg","grad","arcmin","arcsec","__importDefault","TemplatesManager","config_1","templates_discovering_1","dom_adapter_1","events_1","constants_1","_slots","_templates","_isDirty","discover","allKeysAreEqual","_prepareTemplates","resetDirtyFlag","createDxTemplate","scopeData","mountedTemplate","mountTemplate","setClass","DX_TEMPLATE_WRAPPER_CLASS","Node","TEXT_NODE","removalListener","DX_REMOVE_EVENT","EditDecoratorMenuHelperMixin","_menuEnabled","_deleteEnabled","_fireMenuAction","CONTEXTMENU_CLASS","CONTEXTMENU_MENUCONTENT_CLASS","$menu","_menu","_renderOverlay","deferRendering","hideOnParentScroll","_$menuList","_ignoreFunctionValueDeprecation","_renderMenuContent","_deleteItem","_menuItemClickHandler","_$itemWithMenu","handleContextMenu","of","LIST_EDIT_DECORATOR","POINTER_DOWN_EVENT_NAME","ACTIVE_EVENT_NAME","LIST_ITEM_CONTENT_CLASS","SWITCHABLE_DELETE_READY_CLASS","SWITCHABLE_MENU_SHIELD_POSITIONING_CLASS","SWITCHABLE_DELETE_TOP_SHIELD_CLASS","SWITCHABLE_DELETE_BOTTOM_SHIELD_CLASS","SWITCHABLE_MENU_ITEM_SHIELD_POSITIONING_CLASS","SWITCHABLE_DELETE_ITEM_CONTENT_SHIELD_CLASS","SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS","SwitchableEditDecorator","_$topShield","_$bottomShield","_$itemContentShield","_cancelDeleteReadyItem","handleClick","_$readyToDeleteItem","_cancelDelete","_toggleDeleteReady","readyToDelete","_isReadyToDelete","_toggleShields","_toggleScrolling","_cacheReadyToDeleteItem","_animateToggleDelete","_updateShieldsHeight","_toggleContentShield","$list","listTopOffset","listHeight","itemTopOffset","dirtyTopShieldHeight","dirtyBottomShieldHeight","dxScrollView","_cancelScrolling","_enablePositioning","_prepareDeleteReady","_animatePrepareDeleteReady","_forgetDeleteReady","_animateForgetDeleteReady","_disablePositioning","_getDeleteButtonContainer","_isRtlEnabled","SWITCHABLE_DELETE_BUTTON_WRAPPER_CLASS","SWITCHABLE_DELETE_BUTTON_INNER_WRAPPER_CLASS","SWITCHABLE_DELETE_BUTTON_CLASS","SWITCHABLE_DELETE_BUTTON_ANIMATION_DURATION","SwitchableButtonEditDecorator","$buttonContainer","$buttonWrapper","$buttonInnerWrapper","_$buttonContainer","listWidth","buttonWidth","_buttonWidth","fromValue","toValue","_buttonContainerWidth","TOGGLE_DELETE_SWITCH_CONTAINER_CLASS","TOGGLE_DELETE_SWITCH_CLASS","beforeBag","$toggle","_shouldHandleSwipe","_swipeEndHandler","borderWidthStyles","WEIGHT_OF_SIDES","POPOVER_POSITION_ALIASES","POPOVER_DEFAULT_BOUNDARY_OFFSET","$arrow","_$arrow","_positionSide","updatePosition","_position","vOffset","isVerticalSide","_isVerticalSide","isHorizontalSide","_isHorizontalSide","isPopoverInside","_isPopoverInside","arrowSize","arrowSizeCorrection","_getContentBorderWidth","arrowOffset","normalizeAlign","weightSign","horizontalWeight","verticalWeight","positionProp","defaultPositionConfig","boundaryOffset","_positionToObject","_getDisplaySide","POPOVER_CLASS","POPOVER_WRAPPER_CLASS","POPOVER_ARROW_CLASS","POPOVER_WITHOUT_TITLE_CLASS","POSITION_FLIP_MAP","getEventNameByOption","getEventName","getEventDelay","attachEvent","hideEvent","isSelector","shouldIgnoreHideEvent","_clearEventsTimeouts","_timeouts","EVENT_HANDLER_NAME","targetElement","detachEvent","Popover","arrowPosition","_fixWrapperPosition","_renderArrow","isInteractive","_detachEvents","_attachEvents","_documentDownHandler","_isOutsideClick","_animate","shouldUpdateDimensions","_renderOverlayPosition","onPositioned","_resetOverlayPosition","_updateContentSize","contentPosition","resultLocation","_getSideByLocation","_togglePositionClass","_toggleFlippedClass","isArrowVisible","_renderArrowPosition","containerLocation","calculate","oversize","newContainerWidth","newOverlayContentHeight","newPopupContentHeight","_getHideOnParentScrollTarget","isFlippedByVertical","isFlippedByHorizontal","positionClass","isFlippedHorizontal","isFlippedVertical","arrowRect","arrowFlip","arrowLocation","contentOffset","contentLocation","contentSize","targetLocation","finalArrowLocation","fullUpdate","_renderWrapperDimensions","_clearEventTimeout","updateTarget","ACTION_SHEET_CLASS","ACTION_SHEET_CONTAINER_CLASS","ACTION_SHEET_POPUP_WRAPPER_CLASS","ACTION_SHEET_POPOVER_WRAPPER_CLASS","ACTION_SHEET_CANCEL_BUTTON_CLASS","ACTION_SHEET_ITEM_CLASS","ACTION_SHEET_ITEM_DATA_KEY","ACTION_SHEET_WITHOUT_TITLE_CLASS","ACTION_SHEET_BUTTON_DEFAULT_STYLING_MODE","ActionSheet","usePopover","showCancelButton","cancelText","onCancelClick","tablet","_$itemContainer","_toggleVisibility","_createItemContainer","_renderPopup","_renderDisabled","_$popup","_isPopoverMode","_createPopover","_createPopup","_renderPopupTitle","_mapPopupOption","_popup","onInitialized","angular","_popupContentReadyAction","onHidden","_overlayConfig","_renderCancelButton","_$cancelButton","cancelClickAction","hidingArgs","showing","CLICK_EVENT_NAME","SLIDE_MENU_CLASS","SLIDE_MENU_WRAPPER_CLASS","SLIDE_MENU_CONTENT_CLASS","SLIDE_MENU_BUTTONS_CONTAINER_CLASS","SLIDE_MENU_BUTTONS_CLASS","SLIDE_MENU_BUTTON_CLASS","SLIDE_MENU_BUTTON_MENU_CLASS","SLIDE_MENU_BUTTON_DELETE_CLASS","SLIDE_MENU_ANIMATION_DURATION","SLIDE_MENU_ANIMATION_EASING","_$buttonsContainer","_$buttons","_renderMenu","_renderDeleteButton","menuItems","_renderMenuButton","_fireAction","$menuButton","$deleteButton","_cachedNode","modifyElement","$slideMenuContent","_swipeStartHandler","_cacheItemData","_setPositions","_getPositions","_swipeUpdateHandler","signCorrection","isItemReadyToDelete","moveJustStarted","_getCurrentPositions","_getStartPositions","_cachedItemWidth","startOffset","_cachedButtonWidth","correctedOffset","buttonsContainer","startPositions","_$cachedContent","_minButtonContainerLeftOffset","endedAtReadyToDelete","_animateToPositions","durationTimePart","STATIC_DELETE_BUTTON_CONTAINER_CLASS","STATIC_DELETE_BUTTON_CLASS","afterBag","_renderItemPosition","itemOffset","_itemElementWidth","REORDER_HANDLE_CONTAINER_CLASS","REORDER_HANDLE_CLASS","REORDERING_ITEM_GHOST_CLASS","STATE_HOVER_CLASS","_groupedEnabled","_lockedDrag","_sortable","allowReordering","dragDirection","dragTemplate","_dragTemplate","onDragStart","onDragChange","_dragChangeHandler","onReorder","_reorderHandler","afterRender","_sameParent","$dragging","getItemElementByFlatIndex","$over","$targetElement","resizeCallbacks","prevSize","originalCallbacksAdd","originalCallbacksRemove","formatSize","handleResize","changedDimension","setPrevSize","V8_PROTOTYPE_DEFINE_BUG","definePropertyModule","anObject","objectKeys","Properties","ConfigProviderProps","resolveRtlEnabled","rtlProp","resolveRtlEnabledDefinition","isPropDefined","onlyGlobalDefined","DEFAULT_FEEDBACK_HIDE_TIMEOUT","DEFAULT_FEEDBACK_SHOW_TIMEOUT","getAria","widgetElementRef","shouldRenderConfigProvider","WidgetProps","_feedbackHideTimeout","addWidgetClass","focused","hovered","setRootElementRef","activeEffect","inactiveEffect","clickEffect","focusInEffect","focusOutEffect","hoverStartEffect","hoverEndEffect","keyboardEffect","resizeEffect","windowResizeEffect","visibilityEffect","applyCssTextEffect","activeStateUnit","onFocusIn","onFocusOut","onHoverStart","onHoverEnd","onDimensionChanged","onVisibilityChange","_this$_effects$3","_this$_effects$4","_this$_effects$5","_this$_effects$6","_this$_effects$7","_this$_effects$8","_this$_effects$9","_this$_effects$10","_this$_effects$11","_this$_effects$12","_this$_effects$13","onRootElementRendered","rootElementRef","setState","__state_argument","computedWidth","computedHeight","isFocusable","isHoverable","canBeActive","getActiveElement","isAxiosError","description","lineNumber","columnNumber","defaultCurrency","defaultUseCurrencyAccountingStyle","oDataFilterToLower","serverDecimalSeparator","decimalSeparator","thousandsSeparator","forceIsoDateParsing","wrapActionsBeforeExecute","useLegacyStoreResult","useJQuery","editorStylingMode","useLegacyVisibleIndex","floatingActionButtonConfig","maxSpeedDialActionCount","normalizeToJSONString","exNormalize","deprecatedFields","configMethod","deprecatedField","DevExpress","enCa","bits","Kb","Mb","Gb","Tb","B","KB","MB","GB","TB","RegistrableInject","errorCount","errorMessages","messages","successMessages","validateOnBlur","errorBucket","hasColor","hasFocused","hasInput","isResetting","lazyValue","appIsDark","hasError","internalErrorMessages","hasSuccess","internalSuccessMessages","externalError","hasMessages","validationTarget","hasState","shouldValidate","genInternalMessages","internalMessages","form","validations","validationState","oldVal","deepEqual","resetValidation","consoleError","isStandardBrowserEnv","originURL","msie","urlParsingNode","resolveURL","hostname","port","pathname","requestURL","enGb","relativeTimeMr","mr","Delayable","Menuable","openOnHover","openOnFocus","calculatedMinWidth","closeDependents","calculatedLeft","unknown","activatorLeft","nudgeLeft","nudgeRight","calcXOverflow","calculatedTop","activatorTop","nudgeTop","nudgeBottom","calcYOverflow","computedTransition","callActivate","getSlotType","startTransition","genActivatorListeners","genActivatorAttributes","menuable__content__active","activatorFixed","isContentActive","SILENT_ON_NON_WRITABLE_LENGTH_SET","ne","applicationable","applicationProperty","removeApplication","callUpdate","activated","deactivated","updateApplication","isWritableWrapped","zhMo","isPrototypeOf","12","isPossiblePrototype","ta","kn","nativeXMLHttpRequest","getXhr","SUCCESS","ERROR","TIMEOUT","NO_CONTENT","PARSER_ERROR","isStatusSuccess","paramsConvert","createScript","removeScript","scriptNode","appendToHead","getHead","evalScript","evalCrossDomainScript","loadHandler","getAcceptHeader","scriptAccept","getContentTypeHeader","defaultContentType","upload","getMethod","getDataFromResponse","isCrossDomain","setHttpTimeout","customStatus","getJsonpOptions","callbackParameter","getRequestOptions","paramsAlreadyString","parameters","getRequestHeaders","Accept","needScriptEvaluation","requestOptions","onprogress","onloadstart","executeAction","inactive","showTimeout","hideTimeout","shown","hiding","focusIn","focusOut","_ref7","dxClick","keyboardProcessors","generateListenerId","focusTarget","listenerId","_getProcessor","Action","_action","_beforeExecute","_afterExecute","_validatingTargetName","_excludeValidators","handled","argsBag","_validateAction","_executeAction","executors","_executor$validate","executor","_executor$execute","registerExecutor","createValidatorByTargetElement","condition","ERROR_MESSAGES","E4000","E4001","E4002","E4003","E4004","E4005","E4006","E4007","E4008","E4009","E4010","E4011","E4012","E4013","E4014","E4015","E4016","E4017","E4018","E4019","E4020","E4021","E4022","E4023","E4024","W4000","W4001","W4002","mac","isFocusingOnCaretChange","getCaret","selectionEnd","setCaret","EMPTY_CHAR","_next","_config$str","_config$start","_config$length","handlingProperty","caret","isForwardDirection","_adjustedForward","_adjustedBackward","EmptyMaskRule","maskChar","_prepareHandlingArgs","rest","_tryAcceptChar","_accepted","_isAllowed","acceptedChar","fullText","_isAccepted","allowedChars","isAccepted","StubMaskRule","hasValueProperty","nextArgs","pointerDown","STATE_INVISIBLE_CLASS","TEXTEDITOR_CLEAR_BUTTON_CLASS","TEXTEDITOR_CLEAR_ICON_CLASS","TEXTEDITOR_ICON_CLASS","TEXTEDITOR_SHOW_CLEAR_BUTTON_CLASS","_addToContainer","_isClearButtonVisible","editorName","_clearValueHandler","$editor","isVisible","_legacyRender","CUSTOM_BUTTON_HOVERED_CLASS","ignoreParentReadOnly","_prepareIntegrationOptions","isUpdated","isDefinedByUser","TEXTEDITOR_BUTTONS_CONTAINER_CLASS","checkButtonInfo","buttonInfo","checkNamesUniqueness","existingNames","newName","isPredefinedButtonName","predefinedButtonsInfo","defaultButtonsInfo","isStringButton","isDefaultButton","defaultButtonInfo","buttonsInfo","$buttonsContainer","_compileButtonInfo","_createButton","buttonName","_renderButtons","TEXTEDITOR_LABEL_CLASS","TEXTEDITOR_WITH_LABEL_CLASS","TEXTEDITOR_WITH_FLOATING_LABEL_CLASS","TEXTEDITOR_WITH_BEFORE_BUTTONS_CLASS","LABEL_BEFORE_CLASS","LABEL_CLASS","LABEL_AFTER_CLASS","_toggleMarkupVisibility","_$before","_$labelSpan","_$label","_$after","_$root","_updateMark","_updateText","_updateBeforeWidth","_updateMaxWidth","_updateEditorBeforeButtonsClass","_updateEditorLabelClass","labelClass","beforeButtonsClass","containsButtonsBefore","mark","_this$_props$beforeWi","beforeWidth","getBeforeWidth","_this$_props$containe","getContainerWidth","TEXTEDITOR_CLASS","TEXTEDITOR_INPUT_CONTAINER_CLASS","TEXTEDITOR_INPUT_CLASS","TEXTEDITOR_INPUT_SELECTOR","TEXTEDITOR_CONTAINER_CLASS","TEXTEDITOR_PLACEHOLDER_CLASS","TEXTEDITOR_EMPTY_INPUT_CLASS","TEXTEDITOR_PENDING_INDICATOR_CLASS","TEXTEDITOR_VALIDATION_PENDING_CLASS","TEXTEDITOR_VALID_CLASS","EVENTS_LIST","CONTROL_KEYS","TextEditorLabelCreator","checkButtonsOptionType","TextEditorBase","_buttonCollection","_getDefaultButtons","_$beforeButtonsContainer","_$afterButtonsContainer","_labelContainerElement","spellcheck","showClearButton","valueChangeEvent","inputAttr","onKeyUp","onChange","onInput","onCut","onCopy","onEnterKey","displayValueFormatter","showValidationMark","labelMode","labelMark","_input","_isFocused","_inputWrapper","_buttonsContainer","_isControlKey","_updateButtonsStyling","_renderInput","_renderButtonContainers","_renderInputType","_renderPlaceholder","_renderProps","_renderValue","_renderLabel","_refreshValueChangeEvent","_renderEvents","_renderEnterKeyAction","_renderEmptinessEvent","_$textEditorContainer","_$textEditorInputContainer","_createInput","_renderPendingIndicator","$inputContainer","_getInputContainer","$indicatorElement","_pendingIndicator","_disposePendingIndicator","isPending","_showValidMark","_getButtonsContainer","renderBeforeButtons","renderAfterButtons","_cleanButtonContainers","_this$_$beforeButtons","_this$_$afterButtonsC","clean","_unobserveLabelContainerResize","_applyInputAttributes","inputAttrName","customAttributes","inputAttributes","_getDefaultAttributes","_setInputMinHeight","defaultAttributes","autocomplete","_getPlaceholderAttr","_updateButtons","updateButtons","buttonInstance","getButton","renderInputPromise","_renderInputValue","_renderDisplayText","_toggleEmptinessEventHandler","_isValueValid","validity","_toggleEmptiness","_togglePlaceholder","_toggleSpellcheckState","_toggleTabIndex","_readOnlyPropValue","_getLabelContainer","_getLabelContainerWidth","_getLabelBeforeWidth","buttonsBeforeWidth","_updateLabelWidth","_label","updateBeforeWidth","_this$_label","ariaLabel","labelId","getId","_getFieldElement","labelConfig","_setFieldAria","_renderPlaceholderMarkup","_attachPlaceholderEvents","_$placeholder","placeholderAttributes","$placeholder","startEvent","_placeholder","_clearValue","_refreshEvents","_keyPressHandler","_keyDownHandler","isCtrlEnter","isNewValue","_getValueChangeEventOptionName","_renderValueChangeEvent","keyPressEvent","_renderValueEventName","keyDownEvent","_valueChangeEventHandler","_cleanValueChangeEvent","valueChangeNamespace","textChangeNamespace","_focusEventTarget","_isInput","_preventNestedFocusEvent","shouldPrevent","_isNestedTarget","_focusClassTarget","_hasFocusClass","formattedValue","_enterKeyAction","_enterKeyHandlerUp","_updateValue","_refreshFocusEvent","updateText","updateMark","updateMode","updateContainsButtonsBefore","_setInputType","MASK_EVENT_NAMESPACE","BLUR_EVENT","DELETE_INPUT_TYPES","HISTORY_INPUT_TYPES","EVENT_NAMES","getEmptyString","newCaret","_caret","_editorOption","_editorInput","_changeHandler","_previousText","_prevCaret","_editorCaret","inputType","_handleHistoryInputEvent","_handleBackwardDeleteInputEvent","currentCaret","_clearSelectedText","_autoFillHandler","_handleInsertTextInputEvent","_updateEditorMask","setForwardDirection","_adjustCaret","adjustedForwardCaret","setBackwardDirection","_this$_prevCaret","_this$_prevCaret2","_isAutoFill","_this$_prevCaret$star","_this$_prevCaret3","hasValidChars","textLength","processedCharsCount","_handleChain","_displayMask","correction","hasSkippedStub","_showMaskPlaceholder","_isValueEmpty","_maskRulesChain","_caretTimeout","_maskKeyHandler","_hasSelection","_handleKey","selectedText","_clearDragTimer","_dragTimer","_convertToValue","pastedText","restText","accepted","inputVal","_inputHandlerTimer","_validateMask","webkit","_input$matches","handlerName","getHandler","_attachChangeEventHandler","_clearTimers","stubCaret","ESCAPED_CHAR","TEXTEDITOR_MASKED_CLASS","FORWARD_DIRECTION","BACKWARD_DIRECTION","DROP_EVENT_NAME","buildInMaskRules","isLiteralChar","isSpaceChar","C","isNumericChar","TextEditorMask","mask","maskRules","maskInvalidMessage","useMaskedValue","showMaskMode","keyHandlerMap","_maskStrategy","parentHandler","_$hiddenElement","_initMaskStrategy","_renderHiddenElement","_attachMouseWheelEventHandlers","hasMouseWheelHandler","_onMouseWheel","wheel","mouseWheelAction","useMaskBehavior","_useMaskBehavior","_renderMask","_attachDropEventHandler","_removeHiddenElement","detachEvents","attachEvents","_parseMask","_renderMaskedValue","_suppressCaretChanging","inputValue","_changedValue","changeEvent","_maskRules","_parseMaskRule","currentMaskChar","isEscapedChar","_getMaskRule","ruleConfig","rulePattern","_normalizeChainArguments","chainArgs","_isMaskedValueMode","_replaceSelectedText","textBefore","textAfter","edited","_shouldShowMask","submitElementValue","_getPreparedValue","_isControlKeyFired","handledCount","_updateMaskInfo","_replaceMaskCharWithEmpty","_textValue","keyHandler","_handleSelection","previousText","raiseInputEvent","_direction","_handleKeyChain","_moveCaret","emptyChars","chars","_tryMoveCaretBackward","caretStart","adjustedCaret","maskRuleIndex","_typingDirection","editorSpecific","_updateHiddenElement","_updateMaskOption","_processEmptyMask","power","mW","kW","MW","GW","Scroll","scrollTarget","scrollThreshold","currentScroll","currentThreshold","isScrollingUp","previousScroll","savedScroll","canScroll","computedScrollThreshold","thresholdMet","Scrollable","SSRBootable","Applicationable","VAppBar","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","collapse","fixed","hideShadow","scrollRatio","computedContentHeight","computedOriginalHeight","computedFontSize","isProminent","computedLeft","computedMarginTop","computedOpacity","isExtended","extensionHeight","computedRight","computedTransform","isCollapsed","marginTop","genBackground","BaseWidgetProps","arKw","PRIVATE_KEY_FIELD","repaintChangesOnly","_this$_dataController","_customizeStoreLoadOptions","_correctionIndex","_refreshItemsCache","_findItemElementByKey","_isItemEquals","item1","item2","_isItemStrictEquals","_shouldAddNewGroup","_partialRefresh","_itemsCache","itemCache","_updateByChange","isPartialRefresh","changedItem","_insertByChange","_change$index","_beforeItemElementInserted","_getItemContainer","_afterItemElementInserted","changeData","_updateSelectionAfterRemoveByChange","removeIndex","_removeByChange","removedItem","oldItem","$removedItemElement","nextSiblingElement","insertElement","isItemsUpdated","arch","execPath","pid","argv","cwd","chdir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","VInput","radioGroup","column","genDefaultSlot","computedId","genInputSlot","genLabel","for","mathMin","mathMax","mathFloor","HORIZONTAL","VERTICAL","LABEL_BACKGROUND_PADDING_X","LABEL_BACKGROUND_PADDING_Y","CENTER","RIGHT","LEFT","TOP","BOTTOM","getRectangleBBox","getLabelCheckerPosition","coord","labelCoord","rectangleBBox","Crosshair","_crosshairGroup","_canvas","_axes","axes","_panes","panes","_prepareOptions","_horizontalGroup","_verticalGroup","_horizontal","_vertical","_circle","dashStyle","_createLines","sharpParam","verticalOptions","horizontalOptions","circleOptions","circle","_createLabels","background","currentLabelPos","labelOptions","getOptions","getTranslator","getBusinessRange","getLabelsPosition","startXY","axisName","textElement","backgroundElement","getFormattedValue","_updateLinesCanvas","_linesCanvas","_updateLines","_resetLinesCanvas","_getClipRectForPane","clipRect","pointData","getCrosshairData","getPointRadius","mouseover","mouseout","mousemove","mousedown","mouseup","selectSeries","deselectSeries","selectPoint","deselectPoint","showPointTooltip","hidePointTooltip","normal","normalMark","hoverMark","selectedMark","applyHover","applySelected","resetItem","radialLabelIndent","pieLabelSpacing","pieSeriesSpacing","_round","defaultOffset","alignFactors","LayoutElement","WrapperLayoutElement","renderElement","_renderElement","_cacheBBox","ofBBox","myBBox","shiftX","shiftY","wrapperLayoutElementPrototype","_max","DEFAULT_INNER_RADIUS","RADIAL_LABEL_INDENT","consts","getNearestCoord","firstCoord","secondCoord","pointCenterCoord","nearestCoord","getLabelLayout","getBoundingRect","getPieRadius","series","paneCenterX","paneCenterY","accessibleRadius","minR","singleSeries","getVisiblePoints","radiusIsFound","labelBBox","xCoords","yCoords","getLengthFromCenter","getSizeLabels","rWidth","outerLabelsCount","rSizes","correctLabelRadius","averageWidthLabels","curRadius","runningWidth","setVisibleArea","getInnerRadius","LayoutManager","getAverageLabelWidth","sizeLabels","getFullRadiusWithLabels","correctAvailableRadius","availableRadius","fullRadiusWithLabels","toLayoutElementCoords","applyPieChartSeriesLayout","hideLayoutLabels","paneSpaceHeight","paneSpaceWidth","piePercentage","minPiePercentage","radiusInner","radiusOuter","applyEqualPieChartLayout","correctPieLabelRadius","availableLabelWidth","rotated","fixedSizeCallback","percentageIsValid","needHorizontalSpace","needVerticalSpace","pane","paneCanvas","paneSized","needPaneHorizontalSpace","needPaneVerticalSpace","layoutInsideLegend","_floor","getValueAxesPerPanes","valueAxes","linearConverter","allowNegatives","linearThreshold","logConverter","convertAxisInfo","axisInfo","converter","isLogarithmic","logarithmicBase","minValue","oldMinValue","maxValue","oldMaxValue","tickInterval","populateAxesInfo","ticksValues","getTicksValues","majorTicks","majorTicksValues","businessRange","visibleArea","getVisibleArea","_tickInterval","synchronizedValue","getViewport","breaks","applyMargins","startValue","endValue","minorValues","minorTicksValues","minorTickInterval","_minorTickInterval","inverted","updateTickValues","axesInfo","maxTicksCount","ticksMultiplier","ticksCount","additionalStartTicksCount","baseTickValue","invertedBaseTickValue","getAxisRange","getMainAxisInfo","stubData","correctMinMaxValues","mainAxisInfo","mainAxisInfoTickInterval","mainAxisBaseValueOffset","valueFromAxisInfo","calculatePaddings","minPadding","startPadding","endPadding","correctMinMaxValuesByPaddings","paddings","updateTickValuesIfSynchronizedValueUsed","hasSynchronizedValue","applyMinMaxValues","minVisible","maxVisible","updateBusinessRange","setTicks","minorTicks","correctAfterSynchronize","correctValue","invalidAxisInfo","firstTick","correctedTick","updateMinorTicks","tickCount","allAxesValuesOnSameSideFromZero","allPositive","allNegative","correctPaddings","getCorrectedValuesToZero","multiAxesSynchronizer","synchronize","_isDefined","_isDate","_isFunction","minSelector","maxSelector","minVisibleSelector","maxVisibleSelector","baseSelector","axisTypeSelector","otherLessThan","thisValue","otherValue","otherGreaterThan","compareAndReplace","otherValueDefined","Range","_Range","addRange","otherRange","categories","otherCategories","isDiscrete","compareAndReplaceByField","controlValuesByVisibleBounds","valueField","visibleValueField","checkField","correctValueZeroLevel","setZeroLevel","sortValues","filteredSeriesCategories","notAFunction","directionOffset","canvasOptions","_canvasOptions","categoryIndex","_categoriesToPoints","specialValue","translateSpecialCase","startPointIndex","stickInterval","stick","stickDelta","_calculateProjection","getInterval","getEventScale","zoomEvent","deltaScale","visibleCategories","_categories","endCategoryIndex","translateCategories","visibleCount","startCategoryIndex","categoriesLength","canvasLength","newVisibleCategories","newInterval","_getDiscreteInterval","startPoint","getMinScale","getScale","getCanvasVisibleArea","stickOffset","minPoint","maxPoint","getCorrectValue","_businessRange","_add","isValueProlonged","minZoom","visualRange","minVisibleIndex","maxVisibleIndex","endIndex","_intervalize","correctDateWithUnitBeginning","bp","skipRound","ratioOfCanvasRange","rangeMax","rangeMin","_parse","co","addInterval","_to","rMin","rangeMinVisible","rMax","rangeMaxVisible","projectedValue","_conversionValue","origInterval","dateToMilliseconds","_calculateUnProjection","addDateInterval","getMinBarSize","minBarSize","checkMinBarSize","initialValue","minShownValue","stackValue","baseMethod","CANVAS_PROP","dummyTranslator","conversionValue","endPoint","validateCanvas","makeCategoriesToPoints","categoriesToPoints","validateBusinessRange","valueSelector","baseValueSelector","prepareBreaks","transformFrom","transformTo","axisType","trFrom","trTo","cumulativeWidth","getCanvasBounds","getCheckingMethodsAboutBreaks","isStartSide","isEndSide","isInBreak","isBetweenBreaks","prevBreak","getLength","lastBreak","getBreaksSize","_Translator2d","reinit","_prepareCanvasOptions","addSpiderCategory","_oldMethods","methodName","_checkingMethodsAboutBreaks","isInverted","_translateBreaks","_calculateSpecialValues","_breaks","breaksSize","gapSize","_checkValueAboutBreaks","inBreak","break","correctedCategoriesCount","rangeDoubleError","visibleRangeLength","updateCanvas","_userBreaks","userBreaks","canvas_position_default","canvas_position_center_middle","canvas_position_left","canvas_position_top","canvas_position_center","canvas_position_middle","canvas_position_right","canvas_position_bottom","canvas_position_start","canvas_position_end","_interval","wholeRange","zoomZeroLengthRange","newStart","newEnd","_correctValueAboutBreaks","isDateTime","newMin","newMax","getDateTimeMinScale","val1","val2","shiftZeroValue","commonBreakSize","getRange","getScreenRange","coeff","MIN_SCROLL_BAR_SIZE","ScrollBar","_translator","_scroll","_addEvents","_getXCoord","_getYCoord","scrollElement","dX","dY","lx","_layoutOptions","_applyPosition","defaultPosition","secondaryPosition","rotateX","rotateY","_translateWithOffset","setPane","updateSize","getMultipleAxesSpacing","estimateMargins","_that$_scroll$attr","_that$_scroll$attr2","hideTitle","hideOuterElements","setPosition","customPositionIsAvailable","SHUTTER_EVENTS_NS","DRAG_START_EVENT_NAME","DRAG_UPDATE_EVENT_NAME","DRAG_END_EVENT_NAME","rootOffset","checkCoords","dragStartHandler","getRootOffset","getCanvas","startCoord","triggerStart","dragHandler","curCoord","dragEndHandler","triggerEnd","shutterZoom","shutterOptions","shutter","_eventTrigger","_argumentAxes","rangeStart","rangeEnd","firstPane","lastPane","_shutterZoom","DX_PREFIX","TRANSFORM","TRANSLATE","PINCH","ROTATE","START_POSTFIX","UPDATE_POSTFIX","END_POSTFIX","eventAliases","addAlias","deltaRotation","translation","deltaTranslation","getVector","getEventVector","getDistance","vector","firstVector","secondVector","getRotation","scalarProduct","distanceProduct","acos","getTranslation","TransformEmitter","validatePointers","_accept","startVector","_startVector","_prevVector","_fireEventAliases","currentVector","_getEventArgs","eventPostfix","eventAlias","exportNames","transformstart","transformend","translatestart","translateend","zoomstart","zoomend","pinchstart","pinch","pinchend","rotatestart","rotateend","EVENTS_NS","DRAG_EVENT_NAME","PINCH_START_EVENT_NAME","PINCH_EVENT_NAME","PINCH_END_EVENT_NAME","SCROLL_BAR_START_EVENT_NAME","SCROLL_BAR_MOVE_EVENT_NAME","SCROLL_BAR_END_EVENT_NAME","GESTURE_TIMEOUT","MIN_DRAG_DELTA","canvasToRect","sortAxes","onlyAxisToNotify","getFilteredAxes","isAxisAvailablePanning","isExtremePosition","axisZoom","getParameters","actionField","stopInteraction","correctedRange","checkZoomingLowerLimitOvercome","handleZooming","handleZoomEnd","zoomStarted","isPrevented","cancelEvent","getAxesCopy","zoomAndPan","actionData","argumentAxis","getArgumentAxis","valueAxis","startAxesViewportChanging","axesViewportChanging","offsetCalc","centerCalc","zoomAxes","coordField","zoomed","viewport","getZoomBounds","adjustRange","isMinPosition","isMaxPosition","zoomInEnabled","zoomOutEnabled","panningEnabled","deltaTranslate","storeOffset","storeCenter","argZoom","valZoom","fallback","_requestChange","finishAxesViewportChanging","prepareActionData","_lastRenderingTime","curAxisRect","_valueAxes","startCenter","getPointerCoord","calcCenterForPinch","calcCenterForDrag","calcOffsetForDrag","preventDefaults","_stopCurrentHandling","isTouch","wantPan","pan","wantZoom","panKeyPressed","panKey","dragToZoom","allowTouchGestures","cancelPanning","panningVisualRangeEnabled","skipEvent","startCoords","dragBoxStyle","curCanvas","curCoords","zoomArg","zoomVal","deltaOffsetY","deltaOffsetX","getCoords","needToZoom","axisOption","panIsEmpty","argumentCoords","valueCoords","argumentAxesZoomed","valueAxesZoomed","pinchStartHandler","pinchHandler","pinchEndHandler","mouseWheelHandler","targetAxes","axesZoomed","targetCanvas","coordsIn","canZoom","none","allowMouseWheel","_zoomAndPan","_setupZoomAndPan","_themeManager","customize","easingFunctions","animationSvgStep","currentParams","curSeg","seg","attributeName","currentSettings","attrName","animateStep","_animateStep","_progress","_calcProgress","_easing","_currentParams","delayTick","_startTime","partitionDuration","AnimationController","_animationCount","_timerId","_animations","disableComplete","an","activeAnimation","endAnimation","_endAnimation","_endAnimationTimer","_startDelay","animateElement","onEndAnimation","unstoppable","hasUnstoppableInAnimations","SHARPING_CORRECTION","ARC_COORD_PREC","LIGHTENING_HASH","pxAddingExceptions","KEY_TEXT","KEY_STROKE","KEY_STROKE_WIDTH","KEY_STROKE_OPACITY","KEY_FONT_SIZE","KEY_FONT_STYLE","KEY_FONT_WEIGHT","KEY_TEXT_DECORATION","KEY_TEXTS_ALIGNMENT","NONE","ELLIPSIS","objectCreate","F","DEFAULTS","getBackup","backupContainer","backupCounter","backupRoot","restoreRoot","isObjectArgument","getFuncIri","pathModified","preserveAspectRatioMap","full","lefttop","leftcenter","leftbottom","centertop","centerbottom","righttop","rightcenter","rightbottom","processHatchingAttrs","hatching","_hatching","lockDefsElements","releaseDefsElements","_filter","buildArcPath","innerR","outerR","startAngleCos","startAngleSin","endAngleCos","endAngleSin","isCircle","longFlag","buildPathSegments","buildLineSegments","buildCurveSegments","buildSegments","buildSimpleLineSegment","buildSimpleCurveSegment","buildSimpleSegment","_points$","k0","combinePathParam","segment","jj","compensateSegments","oldSegments","newSegments","originalNewSegments","oldLength","newLength","makeEqualSegments","makeEqualAreaSegments","makeEqualLineSegments","prepareConstSegment","constSeg","long","constsSeg1","constsSeg2","shortLength","longLength","baseCss","elemStyles","_styles","fixFuncIri","attribute","baseAttr","hasTransformations","recalculateDashStyle","_settings","_addFixIRICallback","_originalSW","_applyTransformation","pathAttr","arcAttr","rectAttr","maxSW","newSW","_originalX","_originalY","_originalWidth","_originalHeight","textAttr","isResetRequired","wasStroked","alignTextNodes","isStroked","createTextNodes","_hasEllipsis","locateTextNodes","strokeTextNodes","textCss","orderHtmlTree","parentStyle","parentClassName","realStyle","wholeText","adjustLineHeights","maxLengthFontSize","removeExtraAttrs","findStyleAndClassAttrs","allTagAttrs","parseMultiline","texts","createTspans","fieldName","restoreText","applyEllipsis","lineParts","hasEllipsis","ellipsis","ellipsisWidth","_getElementBBox","prepareLines","_texts","commonLength","setNewText","startBox","removeTextSpan","cloneAndRemoveAttrs","detachTitleElements","titleElements","detachAndStoreTitleElements","setMaxSize","textChanged","textIsEmpty","ellipsisMaxWidth","restoreTitleElement","applyOverflowRules","setMaxHeight","_getLineHeight","tspan","rowCount","getIndexForEllipsis","endBox","getSubStringLength","getTextWidth","getSpaceBreakIndex","initialIndices","spaceIndices","spaceIndex","getWordBreakIndex","getEllipsisString","hideOverflowEllipsis","setEllipsis","wordWrap","lastStepBreakIndex","breakIndex","restLines","newTextOffset","restString","restTspan","textOverflow","calculateLineHeight","getItemLineHeight","commonHeight","prevLine","textValue","wordWrapLines","insertString","newText","parsedHtml","encodeHtml","setTextNodeAttribute","maxTextWidth","fontSize1","fontSize2","parsedHeight1","parsedHeight2","height1","height2","strokeWidth","baseAnimate","animationParams","animationEnabled","_animation","pathAnimate","endSegments","curSegments","arcAnimate","arcParams","buildLink","virtual","SvgElement","removeFuncIriCallback","fixFuncIriCallbacks","_getJQElement","_fixFuncIri","_clearChildrenFuncIri","clearChildren","enableLinks","_links","virtualLink","linkItem","_link","linkAfter","_linkAfter","unlinkItem","_insert","toBackground","toForeground","smartAttr","sharpDirection","transformations","sharpMode","trDirection","strokeOdd","correctionX","correctionY","scaleXDefined","scaleYDefined","animOptions","transformation","getOffset","stopAnimation","titleElem","PathSvgElement","ArcSvgElement","RectSvgElement","TextSvgElement","updateIndexes","Renderer","_locker","_backed","getHatchingHash","_defs","_animationController","updateAnimationOptions","unlock","removeByRenderer","stopAllAnimations","simpleRect","preserveAspectRatio","_text","linearGradient","stops","_createGradientStops","radialGradient","_stop$stopColor","stepTo2","stepBy15","patternUnits","customPattern","patternContentUnits","_getPatternUnits","_getPointsWithYOffset","clipShape","methodArgs","clipPath","shape","gaussianBlur","in","flood","composite","in2","finalComposite","filterAttrs","offsetAttrs","floodAttrs","brightFilter","slope","componentTransferElement","getGrayScaleFilter","_grayScaleFilter","lightenFilter","initDefsElements","storage","_defsElementsStorage","byHash","baseId","refToHash","nextId","drawPattern","storageId","drawFilter","storageItem","buildPath","getArc","xDirection","yDirection","getAbsoluteArc","x0","y0","rotateSize","getCloudAngle","anchorX","anchorY","halfHeight","xr","xl","yt","yb","getCloudPoints","bounded","arrowWidth","halfArrowWidth","leftTopCorner","rightTopCorner","rightBottomCorner","leftBottomCorner","arrowX","arrowY","arrowBaseBottom","arrowBaseTop","arrowBaseLeft","arrowAngle","arrowEndPointX","arrowEndPointY","arrowArc","_arrowArc","arrowWidthRest","_angle","arrowBaseTopX","arrowBaseTopY","_arrowWidthRest","_arrowAngle","_angle2","_arrowBaseTopX","_arrowBaseTopY","bottomAngle","arrowBaseBottomX","arrowBaseBottomY","topAngle","_arrowBaseTopX2","_arrowBaseTopY2","_bottomAngle","_arrowBaseBottomX","_arrowBaseBottomY","_bottomAngle2","_arrowBaseBottomX2","_arrowBaseBottomY2","_bottomAngle3","_arrowBaseBottomX3","_arrowBaseBottomY3","_topAngle","_arrowBaseTopX3","_arrowBaseTopY3","measureContent","moveContentGroup","bonded","bounds_xl","bounds_xr","bounds_width","bounds_yt","bounds_yb","bounds_height","_root","shadowSettings","shadow","contentWidth","onRender","_this$_root","_contentBBox","_contentGroup","_size","paddingLeftRight","paddingTopBottom","xOff","yOff","lm","tm","y_top","arrowLength","y_bottom","cloudSettings","borderOptions","cloudGroup","_cloud","radRotationAngle","mathCeil","DEFAULT_HTML_GROUP_WIDTH","hideElement","getSpecialFormatOptions","specialFormat","argumentFormat","percentPrecision","createTextHtml","removeElements","eventTrigger","_widgetRoot","widgetRoot","_widget","_textHtmlContainers","pointerEvents","_textGroupHtml","_textHtml","_getContainer","_template","_textFontStyles","_customizeTooltip","customizeTooltip","textGroupHtml","plaque","setTemplate","interactive","isMoving","templateCallback","_state","useTemplate","formatObject","skipTemplate","htmlContainers","containerToTemplateRender","_riseEvents","_moveWrapper","customizeCloud","textAlignment","_eventData","setRendererOptions","normalizedCSS","_prepare","valueText","forceEvents","_clear","_getCanvas","isCursorOnTooltip","isPointerOut","plaqueBBox","moveRoot","formatValue","_specialFormat","getLocation","isEnabled","isShared","containerBox","getDocumentElement","_initTooltip","_disposeTooltip","_tooltip","_rootClassPrefix","_setTooltipRendererOptions","_getRendererOptions","_setTooltipOptions","extenders","_eventsMap","onTooltipShown","onTooltipHidden","EVENT_NS","DOT_EVENT_NS","POINTER_ACTION","POINTER_UP_EVENT_NAME","coreAnnotation","annotationGroup","_isAnnotationBounded","_getAnnotationCoords","allowDragging","_dragOffsetX","_dragOffsetY","hitTest","annotation","tooltipTemplate","getTemplateFunction","imageWidth","imageHeight","getImageObject","createAnnotations","commonAnnotationSettings","customizeAnnotation","pullOptions","commonImageOptions","currentImageOptions","customizedItem","templateFunction","chartPlugin","_axis","_axis2","_series","argCoordName","valCoordName","argAxis","validateUnit","getValueAxis","getPointCenterByArg","_axis3","_series2","_getCanvasForPane","getAxisPosition","checkSeriesViewportCoord","getSeriesPairCoord","_annotations","tooltipEnabled","_hideToolTipForDrag","showTooltip","hideTooltip","_pullOptions","clearHover","polarChartPlugin","pointCoords","_calcCanvas","getXYFromPolar","getActualAngle","_annotationsPointerEventHandler","polarOptions","_forceAnnotationRender","vectorMapPlugin","_offTracker","_projection","coordinates","toScreenPoint","vectorMapOptions","_getAnnotationStyles","renderElements","_renderExtraElements","_tracker","pieChartPlugin","getSeriesByName","getPointsByArg","getAnnotationCoords","pieChartOptions","corePlugin","_annotationsGroup","clearItems","tooltipOptions","_buildAnnotations","_setAnnotationTooltipOptions","core","polarChart","vectorMap","pieChart","DISCRETE","continuousRangeCalculator","createGetLogFunction","logarithmBase","getRangeCalculator","getLog","rangeCalculator","calculateInterval","minInterval","minArgs","getInitialRange","firstValue","processCategories","getValueForArgument","extraPoint","calculateRangeBetweenPoints","prevPoint","isLineSeries","getViewportReducer","valueAxisType","calculatePointBetweenPoints","getMarginOptions","checkInterval","viewportFilter","getViewPortFilter","startCalc","getMinValue","getMaxValue","endCalc","dictionary","getArgumentRange","argumentAxisType","i2","getRangeData","getPoints","useAggregation","argumentCalculator","valueRangeCalculator","viewportReducer","isArgumentCorrect","argumentType","aggregatedPointBetweenTicks","getArgumentRangeInitialValue","valueType","getValueRangeInitialValue","argumentRange","reducer","getPointsInViewPort","argumentViewPortFilter","valueViewPort","valueViewPortFilter","addValue","isMinValueInViewPort","isMaxValueInViewPort","addEdgePoints","nextPoint","prepareSegmentRectPoints","segmentSequence","visiblyOpt","prevSegmentVisibility","allSegment","segmentVisibility","pathType","areCanvasesDifferent","canvas1","canvas2","sizeLessThreshold","canvasCoordsIsEqual","floorCanvasDimensions","EXPONENTIAL","dateUnitIntervals","INTERVALS_MAP","patchFirstTickDiff","differences","tickFormatIndex","dateUnitInterval","setDateUnitInterval","resetDateUnitInterval","patchTickDiff","patched","getDatesDifferences","prevDate","nextDate","tickIntervalFormat","nextDifferences","prevDifferences","intervalIndex","getNoZeroIndex","getTransitionTickIndex","curDiff","minDiff","nearestTickIndex","splitDecimalNumber","createFormat","formatLogarithmicNumber","log10Tick","getDateTimeFormat","prevDateIndex","nextDateIndex","showTransition","typeFormat","getDateFormatByTickInterval","indexOfTick","getDateFormatByTicks","datesDifferences","getDateFormatByDifferences","getFormatExponential","stringTick","getFormatWithModifier","tickIndex","tickIntervalIndex","actualIndex","indexOfFormat","separatedTickInterval","getHighDiffFormat","getHighAndSelfDiffFormat","formatDateRange","diffFormatType","diffFormat","rangeFormat","_rangeFormat","highValue","processDateInterval","dateUnit","smartFormatter","formatRange","axisOptions","formatOptions","discrete","numeric","convertTicksToValues","validateOverlappingMode","getTicksCountInRange","valueKey","areLabelsOverlap","bBox1","bBox2","horizontalInverted","verticalInverted","width1","width2","hasHorizontalOverlapping","hasVerticalOverlapping","parsedVal","numVal","deserializeDate","correctValueType","getParser","convertDateUnitToMilliseconds","mathPow","NUMBER_MULTIPLIERS","LOGARITHMIC_MULTIPLIERS","DATETIME_MULTIPLIERS","DATETIME_MULTIPLIERS_WITH_BIG_WEEKEND","DATETIME_MINOR_MULTIPLIERS","MINOR_DELIMITERS","VISIBILITY_DELIMITER","dummyGenerator","screenDelta","forceTickInterval","axisDivisionFactor","discreteGenerator","getLogValue","raiseTo","mathRaiseTo","logAbsValue","correctValueByInterval","correctMinValueByEndOnTick","floorFunc","ceilFunc","resolveEndOnTick","endOnTick","businessViewInfo","forceEndOnTick","floorTickValue","prevTickDataDiff","intervalCount","businessDelta","businessRatio","potentialTickScreenDiff","delimiterFactor","delimiterMultiplier","isSpacedMargin","screenDelimiter","resolveEndOnTickLog","resolveEndOnTickDate","getBusinessDelta","getBusinessDeltaLog","getIntervalByFactor","addTickCount","getMultiplierFactor","factorDelta","calculateTickInterval","multipliers","allowDecimals","minTickInterval","onlyIntegers","calculateMinorTickInterval","getCalculateTickIntervalLog","skipCalculationLimits","adjustInterval","getAdjustIntervalLog","getDataTimeMultipliers","numbersReducer","yearsReducer","calculateTickIntervalDateTime","adjustIntervalDateTime","calculateMinorTickIntervalDateTime","getTickIntervalByCustomTicks","isNegative","addIntervalLog","raise","addIntervalDate","addIntervalWithBreaks","breakSize","calculateTicks","correctMinValue","gaps","generateExtraTick","correctTickValue","correctTickValueOnGapSize","calculateMinorTicks","updateTickInterval","maxCount","lastMajor","firstMajor","tickBalance","middleTicks","prevTick","minors","filterTicks","tmpTicks","generator","getMajorTickIntervalByCustomTicks","getMinorTickIntervalByCustomTicks","convertTickInterval","processScaleBreaks","correctUserTickInterval","customTicks","minorTickCount","majors","numberMultipliers","skipTickGeneration","calculateMinors","minorBusinessDelta","minorScreenDelta","minorAxisDivisionFactor","getBaseTick","breakValue","insideTick","getScaleBreaksProcessor","addCorrection","breakTicks","numericGenerator","calculateTickIntervalByCustomTicks","correctValueByIntervalLog","getRound","logarithmicGenerator","logBase","absLog","absRaise","ceilNumber","dateGenerator","floorNumber","intervalObject","getDateIntervalByString","divider","floorAtStartDate","setHours","setMinutes","setSeconds","convertMillisecondsToDateUnits","tickGenerator","rangeIsEmpty","getPathStyle","createTick","tickOptions","gridOptions","skippedCategory","skipLabels","tickOffset","_tickOffset","lineGroup","_axisLineGroup","elementsGroup","_axisElementsGroup","tickStyle","gridStyle","emptyStrRegExp","labelStyle","_textOptions","getLabelFontStyle","customizeColor","createLabelHint","labelHint","formatHint","getContentContainer","initCoords","_getTranslatedValue","labelCoords","_lastStoredCoordinates","_storedCoords","_storedLabelsCoords","templateContainer","_getTemplateCoords","areCoordsOutsideAxis","getSharpDirectionByCoords","updateTickPosition","_createPathElement","lineElement","storedSettings","isGridLine","_rotateTick","_updateLine","_getTickMarkPoints","drawLabel","isRendered","updateLabelPosition","labelIsVisible","formatLabel","_templateDef","labelFontStyle","containerForData","removeLabel","startSettings","endSettings","animationSettings","_fadeOutLabel","grid","_axisGridGroup","_getLabelAdjustedCoord","_constantLabelOffset","lCoords","_lCoords","_fadeInLabel","textsAlignment","labelAlignment","drawGrid","drawLine","updateGridPosition","_getGridPoints","contentContainer","getWeekendDays","workdays","workDay","getNextDayIndex","dayBetweenWeekend","weekend","getDaysDistance","separateBreak","scaleBreak","dayEnd","setDate","getWeekEndDayIndices","workDays","generateDateBreaksForWeekend","weekendDayIndices","weekends","currentWeekEnd","trimTime","excludeWorkDaysFromWeekEndBreaks","exactWorkDays","processWorkDay","workday","separatedBreak","generateBreaksForHolidays","holidays","dayInWeekend","adjustedMin","adjustedMax","holiday","holidayStart","holidayEnd","calculateGaps","generateDateBreaks","workWeek","singleWorkdays","getNextDateUnit","SCALE_BREAK_OFFSET","RANGE_RATIO","WAVED_LINE_CENTER","WAVED_LINE_TOP","WAVED_LINE_BOTTOM","WAVED_LINE_LENGTH","TICKS_CORRECTIONS","prepareDatesDifferences","sortingBreaks","getMarkerDates","markerInterval","origMin","getSequenceByInterval","getStripHorizontalAlignmentPosition","getStripVerticalAlignmentPosition","getMarkerInterval","getMarkerFormat","getMaxSide","getDistanceByAngle","atan","getMaxConstantLinePadding","constantLines","getConstantLineLabelMarginForVerticalAlignment","getLeftMargin","getRightMargin","generateRangesOnPoints","edgePoints","curRange","maxRange","ranges","generateAutoBreaks","maxAutoBreakCount","visibleRange","sortedAllPoints","_maxAutoBreakCount","_getStep","minSpacing","_isHorizontal","maxLabelLength","_getMaxLabelHeight","_majorTicks","_validateOverlappingMode","displayMode","_validateDisplayMode","getMarkerTrackers","_markerTrackers","_getSharpParam","_createAxisElement","_updateAxisElementPosition","axisCoord","_axisPosition","_getCanvasStartEnd","_axisElement","_getTranslatedCoord","_customBoundaryPosition","getCustomBoundaryPosition","customPositionIsBoundary","getPredefinedPosition","getResolvedBoundaryPosition","getCustomPosition","tickStartCoord","tickOrientation","labelPosition","getTickStartPositionShift","hasNonBoundaryPosition","_getTitleCoords","fromStartToEnd","canvasStart","canvasEnd","_drawTitleText","titleOptions","_checkTitleOverflow","_updateTitleCoords","_title","_axisTitleGroup","_measureTitle","originalSize","_drawDateMarker","pathElement","markerOptions","marker","textIndent","textLeftIndent","withoutStick","separatorHeight","cropped","getEnd","hideLabel","_drawDateMarkers","dateMarker","_getViewportRange","minBound","dateMarkers","markerDate","markersAreaTop","_getLabelFormatOptions","topIndent","getDateUnitInterval","markerDates","markers","_adjustDateMarkers","prevDateMarker","_dateMarkers","_checkMarkersPosition","textTopIndent","_initializeMarkersTrackers","nextMarker","markerTracker","formatString","markerLabelOptions","_markerLabelOptions","_adjustConstantLineLabels","axisPosition","canvasLeft","canvasRight","canvasTop","canvasBottom","maxLabel","linesOptions","labelVerticalAlignment","labelHorizontalAlignment","labelIsInside","_drawConstantLinesForEstimating","_drawConstantLineLabelText","_estimateLabelHeight","drawingType","overlappingBehavior","staggeringSpacing","sinCos","indentFromAxis","ticksData","_createTicksAndLabelFormat","constantLineOptions","_outsideConstantLines","rootElement","labelValue","labelElement","constantLinesLabelsElement","labelBox","titleBox","constantLinesBox","titleHeight","constantLinesHeight","_checkAlignmentConstantLineLabels","_getConstantLineLabelsCoords","lineLabelOptions","_orthogonalPositions","_getAdjustedStripLabelCoords","strip","stripOptions","_adjustTitle","boxTitle","loCoord","hiCoord","_getScreenDelta","_wrapped","moreThanOriginalSize","_boundaryTicksVisibility","seriesData","_seriesData","seriesRange","showZero","_getScaleBreaks","isArgumentAxis","_getStick","valueMarginsEnabled","_getStripLabelCoords","stripLabelOptions","orthogonalPositions","_getSkippedCategory","_filterBreaks","breakStyle","currentBreak","newBreak","lastResult","_lastResult$cumulativ","_lastResult$cumulativ2","workdaysOnly","autoBreaksEnabled","_drawBreak","translatedEnd","positionFrom","positionTo","breakStart","isWaved","spaceAttr","rotateLine","drawer","getLineDrawer","_createBreakClipRect","clipWidth","_breaksElements","_createBreaksGroup","clipFrom","clipTo","_axisCssPrefix","_scaleBreaksGroup","_disposeBreaksGroup","drawScaleBreaks","customCanvas","additionGroup","additionBreakFrom","additionBreakTo","breakOptions","containerColor","_axisShift","mainGroup","breakCoord","_getSpiderCategoryOption","axesSpacing","constantLinesGroups","_axisConstantLineGroups","shiftGroup","_axisGroup","above","under","orthogonalAxis","getOrthogonalAxis","resolvedPosition","getResolvedPositionOption","orthogonalTranslator","orthogonalAxisType","validPosition","positionIsBoundary","customPosition","_options$customPositi","_this$_orthogonalPosi","oppositeAxes","overlappingObj","_detectElementsOverlapping","_shiftThroughOrthogonalAxisOverlappedTick","oppositeTick","oppositeLabel","_shiftThroughAxisOverlappedTick","orthogonalAxisPosition","orthogonalAxisLabelOptions","orthogonalAxisLabelPosition","orthogonalAxisLabelIndent","translateCoordName","defaultOrthogonalAxisLabelPosition","labelSize","outsidePart","insidePart","_tick$mark","tickMarkBBox","labelIndent","defaultLabelPosition","markerSize","element1","element2","rotatePoints","topPoint","centerPoint","bottomPoint","lineCoords","calculateCanvasMargins","bBoxes","cLeft","cTop","cRight","cBottom","measureLabels","xyAxesLinear","HALF_PI_ANGLE","getPolarQuarter","circularAxes","_calculateValueMargins","_calculateRangeInterval","_getTranslatorOptions","getCenter","_center","getRadius","_radius","getAngles","_updateCenter","_processCanvas","firstPointOnStartAngle","originValue","_viewport","tickOuterLength","labelBoxes","_adjustLabelsCoord","_checkBoundedLabelsOverlapping","_setVisualRange","applyVisualRangeSetter","_getStripGraphicAttributes","fromAngle","toAngle","_createStrip","cosSin","halfRad","_getConstantLineGraphicAttributes","_createConstantLine","_adjustDivisionFactor","radiusWithTicks","inside","outside","_maxWidth","checkCanvas","labelY","labelAngle","boxShiftX","boxShiftY","originalLeft","originalRight","originalTop","originalBottom","_getGridLineDrawer","getTranslatedAngle","maxLabelBox","angle1","angle2","labelOpt","lastVisibleLabelIndex","hideFirstOrLast","circularSpider","getSpiderTicks","getFullTicks","_spiderTicks","spiderTicks","_setTickOffset","_reinitTranslator","centerCoord","xy","fromPoint","toPoint","labelPos","linearSpider","setSpiderTicks","_getGridPointsByRadius","innerPoints","outerPoints","createConstantLine","parsedValue","lastStoredCoordinates","storedCoord","valueIsParsed","getParsedValue","_getConstantLinePos","rootGroup","displayBehindSeries","_drawConstantLineLabels","_rotateConstantLine","createStrip","_getStripPos","_drawLabel","_axisStripLabelGroup","stripPos","_getCoord","outOfCanvas","_axisStripGroup","_isArray","DEFAULT_AXIS_LABEL_SPACING","MAX_GRID_BORDER_ADHENSION","KEEP","SHIFT","RESET","DEFAULT_AXIS_DIVISION_FACTOR","DEFAULT_MINOR_AXIS_DIVISION_FACTOR","SCROLL_THRESHOLD","MIN_BAR_MARGIN","MAX_MARGIN_VALUE","dateIntervals","getTickGenerator","adjustDivisionFactor","_options$workWeek","minorTick","minorGrid","createMajorTick","createMinorTick","createBoundaryTick","isFirst","showCustomBoundaryTicks","callAction","actionArgument1","actionArgument2","initTickCoords","drawTickMarks","drawGrids","updateTicksPosition","updateGridsPosition","cleanUpInvalidTicks","removeInvalidTick","validateAxisOptions","_labelOptions$minSpac","userAlignment","hoverMode","getOptimalAngle","updateLabels","getZoomBoundValue","dataValue","configureGenerator","tickGeneratorOptions","getConstantLineSharpDirection","axisCanvas","checkDeprecatedOptions","isValueAxis","visualRangeUpdateMode","Axis","renderSettings","_stripsGroup","stripsGroup","_stripLabelAxesGroup","stripLabelAxesGroup","_labelsAxesGroup","labelsAxesGroup","_constantLinesGroup","constantLinesGroup","scaleBreaksGroup","_axesContainerGroup","axesContainerGroup","_gridContainerGroup","gridGroup","widgetClass","axisClass","_setType","_createAxisGroups","_createTranslator","_prevDataInfo","_firstDrawing","_initRange","getAxisSharpDirection","svgElement","resolveOverlappingForCustomPositioning","customPositionIsBoundaryOrthogonalAxis","maxCoord","tickPositionField","firstBorderLinePosition","lastBorderLinePosition","minDelta","maxDelta","isContinuous","cat","_parsedStartValue$val","_parsedEndValue$value","parsedStartValue","parsedEndValue","stripPosition","_adjustStripLabels","_strips","getContainerAttrs","updateMultilineTextAlignment","_adjustLabels","positionsAreConsistent","labelRotationAngle","additionalOffset","templateBox","isFlatLabel","labelX","_createAxisConstantLineGroups","classSelector","constantLinesClass","insideGroup","outsideGroup1","outsideGroup2","outside1","outside2","_clearAxisGroups","_getLabelFormatObject","customizeText","customizeHint","discreteAxisDivisionMode","aggregatedPointsPosition","resetApplyingAnimation","isFirstDrawing","_resetApplyingAnimation","placeholderSize","crosshairMargin","isDefinedCustomPositionOption","boundaryPosition","edgeMarginCorrection","constantLineAboveSeries","constantLineUnderSeries","moveByOffset","idError","axisTypeMethods","_axisBreaksGroup","_minorTicks","_templatesRendered","setTypes","typeSelector","_updateTranslator","resetTypes","_initTypes","updateOptions","_hasLabelFormat","logarithmBaseError","_createConstantLines","strips","canvasRedesign","_initAxisPositions","_addConstantLinesToRange","minDefined","maxDefined","categoriesInfo","_wholeRange$startValu","_wholeRange$endValue","adjustedVisualRange","_resolveLogarithmicOptionsForRange","disabledNegatives","newRange","oppositeValue","prevDataInfo","containsConstantLine","newCategories","minVisiblePoint","maxVisiblePoint","oppositeVisualRangeUpdateMode","axisReinitialized","_lastVisualRangeUpdateMode","_getVisualRangeUpdateMode","getVisualRangeLength","currentBusinessRange","useMerge","argCategories","_that$_seriesData$min","_that$_seriesData$max","_handleBusinessRangeChanged","dataIsEmpty","rangeWithConstantLines","sortCategories","getCategoriesSorter","_insideConstantLines","cl","extendAxis","setGroupSeries","labelShift","_getBoundaryTicks","customBounds","customBoundTicks","addMinMax","boundaryTicks","setPercentLabelFormat","resetAutoLabelFormat","multipleAxesSpacing","estimateTickInterval","_getTicks","_isSynchronized","customMinorTicks","forceUserTickInterval","_initialBreaks","useAllAggregatedPoints","_visualRange$startVal","_visualRange$endValue","_that$_seriesData","marginOptions","_marginOptions","aggregateByCategory","aggregationInterval","aggregationGroupWidth","sizePointNormalState","maxMinDistance","filteredBreaks","_aggregationInterval","createTicks","_estimatedTickInterval","adjustViewport","_boundaryTicks","oldMajorTicks","majorTicksByValues","sameType","setSkippedCategory","oldMinorTicks","_ticksToRemove","_t$label","removeTitle","setMarginOptions","_this$_marginOptions","addToArgs","_calculateWorkWeekInterval","businessInterval","weekendsCount","intervalInPx","_resetMargins","rangeInterval","minPercentPadding","maxPercentPadding","marginSize","minValueMargin","maxValueMargin","pxInterval","_getConvertIntervalCoefficient","maxPaddingValue","percentStick","_minValue","_maxValue","_minValue2","_maxValue2","canvasStartEnd","commonMargin","screenDeltaWithMargins","skipViewportExtending","firstTickPosition","lastTickPosition","invertMultiplier","minTickPadding","maxTickPadding","commonPadding","correctedMin","correctedMax","correctZeroLevel","minExpectedPadding","maxExpectedPadding","_drawAxis","drawGridLine","_applyWordWrap","_setLabelsPlacement","getTemplateDeferred","_drawn","convertedTickInterval","overlappingMode","wordWrapMode","overflowMode","usefulSpace","correctByWidth","correctByHeight","updateTitle","_resetStartCoordinates","prepareAnimation","_updateLabelsPosition","applyClipRects","elementsClipID","canvasClipID","_validateVisualRange","_customVisualRange","_validateOptions","isSilent","allowPartialUpdate","_resetVisualRangeOption","actionType","previousRange","zoomFactor","secondPriorityRange","adjustedRange","_getAdjustedBusinessRange","zoomResults","_visualRange","preventEvents","domEvent","zoomStartEvent","getZoomStartEventArg","skipEventRising","_applyZooming","_storedZoomEndParams","startRange","prevent","previousBusinessRange","typeIsNotChanged","getVisualRangeCenter","zoomEndEvent","_getZoomEndEventArg","_restorePreviousVisualRange","minVisualRangeLength","isOvercoming","beforeVisualRangeLength","afterVisualRangeLength","getRangeByMinZoomValue","fullRange","isMax","extremeDataValue","extremePoint","visualRangePoint","withIndents","widthAxis","indent","viewportRange","maxText","prevLabel","notRecastStep","ignoreOverlapping","behavior","_applyLabelMode","_applyLabelOverlapping","_checkShiftedLabels","_options$workWeek2","_options$breakStyle$w","_options$breakStyle","semiDiscreteInterval","breaksLength","visualRangeSetter","categoriesSortingMethod","DEFAULT_BAR_GROUP_PADDING","validateBarPadding","barPadding","validateBarGroupPadding","barGroupPadding","isStackExist","ignoreEmptyPoints","correctStackCoordinates","currentStacks","barsArea","seriesStackIndexCallback","extraParameters","barWidth","calculateParams","getBarOverlapGroup","correctPointCoordinates","getStackName","adjustBarSeriesDimensionsCore","_series$","_series$2","commonStacks","allArguments","seriesInStacks","barGroupWidth","_series$3","isDateArgAxis","getTickInterval","getAggregationInterval","stackName","pointsByArgument","percentWidth","fixedBarWidth","middleIndex","rawWidth","correctCoordinates","getValueType","getVisibleSeries","getAbsStackSumByArg","stackKeepers","positiveStackValue","positive","negativeStackValue","negative","getStackSumByArg","getSeriesStackIndexCallback","adjustBarSeriesDimensions","getFirstValueSign","adjustStackedSeriesValues","negativesAsZeroes","holesStack","lastSeriesInPositiveStack","lastSeriesInNegativeStack","hole","_prevSeries","holes","isNotBarSeries","resetValue","currentStack","resetCorrection","_skipSetLeftHole","_skipSetRightHole","resetHoles","setHole","_stackKeepers","absTotal","setPercentValue","updateStackedSeriesValues","valueAxisTranslator","minShownBusinessValue","fullStacked","updateFullStackedSeriesValues","stackSum","updateRangeSeriesValues","updateBarSeriesValues","adjustCandlestickSeriesDimensions","adjustBubbleSeriesDimensions","pointSize","bubbleArea","sizeProportion","visibleAreaX","visibleAreaY","minBubbleArea","minBubbleSize","maxBubbleArea","maxBubbleSize","equalBubbleSize","minPointSize","maxPointSize","seriesItem","sizeDispersion","areaDispersion","SeriesFamily","adjustSeriesDimensions","updateSeriesValues","adjustSeriesValues","eventsConsts","statesConsts","HOVER_STATE","NORMAL_STATE","LEGEND_CLICK","SERIES_CLICK","POINT_CLICK","POINT_DATA","SERIES_DATA","ARG_DATA","DELAY","HOLD_TIMEOUT","NONE_MODE","ALL_ARGUMENT_POINTS_MODE","INCLUDE_POINTS_MODE","EXLUDE_POINTS_MODE","LEGEND_HOVER_MODES","dataKey","tryCheckParent","getParentData","clickTarget","deprecatedCancel","eventCanceled","correctLegendHoverMode","correctHoverMode","baseTrackerPrototype","tracker","_legend","_seriesGroup","seriesGroup","_showPointTooltip","_hidePointTooltip","_pointerHandler","_clickHandler","resetDecorations","noHoveredSeries","hoveredSeries","_hoveredPoint","_storedSeries","clearSelection","_hideTooltip","pointAtShownTooltip","setCanvases","mainCanvas","paneCanvases","_mainCanvas","_canvases","repairTooltip","_showTooltip","_setHoveredPoint","_releaseHoveredPoint","_setHoveredSeries","_releaseHoveredSeries","hoveredPoint","_hoveredArgumentPoints","_resetHoveredArgument","tooltipFormatObject","getTooltipFormatObject","getStackedPoints","getTooltipParams","pointWithTooltip","_enableOutHandler","_outHandler","_isCursorOnTooltip","_pointerOut","_disableOutHandler","stopCurrentHandling","_triggerLegendClick","elementClick","_hoverLegendItem","getItemByCoord","legendHoverMode","isHovered","lastHoverMode","_hoverArgument","argumentIndex","_getArgumentHoverMode","_hoveredArgument","_argumentIndex","_notifySeries","notifyLegend","_notifyLegendOnHoverArgument","fullState","getPointByCoord","_isHolding","getMarkerVisibility","_stuckSeries","_hoverArgumentAxis","_isPointerOut","getNeighborPoint","_stickyHovering","_setTimeout","_setStuckSeries","_pointerComplete","_pointerOnPoint","_point","_point2","_argumentAxis","_legendClick","_point3","_pointClick","ChartTracker","_axisHoverEnabled","_rotated","_crosshair","crosshair","stickyHovering","canvases","_hideCrosshair","_this$_crosshair","_moveCrosshair","_resetTimer","_getSeriesForShared","_point4","keeper","_timeoutKeeper","_hoverTimeout","_stopEvent","updateHover","PieTracker","getPointsByKeys","currentPaletteName","_ceil","HIGHLIGHTING_STEP","DEFAULT_PALETTE","officePalette","simpleSet","indicatingSet","gradientSet","accentColor","palettes","office","pastel","bright","soft","ocean","vintage","violet","carmine","currentPalette","getPalette","palette","themeDefault","getAccentColor","RingBuf","buf","ind","getAlternateColorsStrategy","stepHighlight","useHighlight","paletteSteps","getAlteredPalette","getColor","generateColors","getExtrapolateColorsStrategy","paletteCount","cycles","cycleIndex","cycleCount","diapason","minL","maxL","cycleMiddle","cycleDiff","fromHSL","toHex","getColorMixer","extendedPalette","distributeColors","colorsCount","groupSize","extraItems","getColorAndDistance","extendPalette","colorInGroups","currentColorIndex","cleanColorIndices","keepLastColorInEnd","paletteWithEmptyColors","paletteLength","c2","blend","createPalette","themeDefaultPalette","paletteObj","_extensionStrategy","_currentColor","extensionMode","originalPalette","getNewColor","currentColor","newColor","alter","getLightness","getDiscretePalette","createDiscreteColors","colorCount","sourceCount","addColor","kr","getGradientPalette","_getTheme","_addCacheItem","_removeCacheItem","_extend","_each","getThemePart","_theme","pathItem","BaseThemeManager","_themeSection","themeSection","_fontFields","_callback","_font","setCallback","setTheme","_current","_rtl","_themeName","_defaultPalette","defaultPalette","_initializeTheme","createDiscretePalette","createGradientPalette","_initializeFont","ThemeManager","processAxisOptions","applyParticularAxisOptions","userOptions","processedUserOptions","commonAxisSettings","_mergedSettings","applyParticularTheme","valueAxisRangeSelector","seriesCount","mainSeriesColor","seriesVisibility","userCommonSettings","commonSeriesSettings","themeCommonSettings","widgetType","isBar","isLine","isArea","isBubble","resolveLabelsOverlapping","containerBackgroundColor","seriesTemplate","aggregation","getNextColor","_multiPieColors","nameField","parseOption","_mergeAxisTitleOptions","resetPalette","updatePalette","resetOptions","STRING","NUMERIC","DATETIME","SEMIDISCRETE","CONTINUOUS","LOGARITHMIC","VALUE_TYPE","ARGUMENT_TYPE","axisTypeParser","groupingValues","others","cell","processGroups","updateDataType","asc","valA","valB","aa","bb","resetArgumentAxes","parseCategories","newArray","parsedCategory","parseAxisCategories","groupsData","parsers","argumentCategories","argumentOptions","valueGroup","valueOptions","eigen","correctAxisType","hasCategories","validUnit","createParserUnit","filterInfinity","parseUnit","prepareParsers","sizeParser","valueParser","argumentParser","categoryParsers","getArgumentField","getValueFields","getSizeField","getParsedCell","parsedData","findIndexByThreshold","groupMinSlices","originalData","argumentField","smallValuesGrouping","groupName","topCount","groupPieData","firstSeries","isPie","addUniqueItemToCollection","itemsHash","getUniqueArgumentFields","uniqueArgumentFields","sortByArgument","sortByCallback","checkValueTypeOfGroup","getSortByCategories","sortData","reSortCategories","dataByArguments","userCategories","sortFunction","sortingMethodOption","sortingMethod","getCategories","_skipArgumentSorting","checkItemExistence","collectionItem","dataItem","checkArgumentTypeOfGroup","currentSeries","checkType","checkTypeForAllData","groupsIndexes","groupsWithUndefinedValueType","groupsWithUndefinedArgumentType","argumentTypeGroup","valueTypeGroup","defineArg","checkAxisType","userArgumentCategories","valueCategories","optionsSeries","argumentAxes","verifyData","sourceIsDefined","validateData","convertToAxisDataType","dataByArgumentFields","_Number","parseHorizontalAlignment","parseVerticalAlignment","DEFAULT_MARGIN","processTitleLength","pickMarginValue","validateMargin","checkRect","_params","_hasText","processTitleOptions","subtitle","_titleElement","_clipRect","_subtitleElement","_updateOptions","_updateStructure","_updateTexts","subtitleOptions","subtitleElement","_baseLineCorrection","_updateBoundingRectAlignment","_boundingRect","themeOptions","isLayoutChanged","_updateBoundingRect","_correctTitleLength","_shiftSubtitle","getCorrectedLayoutOptions","srcBox","fitRect","changeLink","_enumParser","_normalizeEnum","DEFAULT_MARKER_HATCHING_WIDTH","DEFAULT_MARKER_HATCHING_STEP","INSIDE","OUTSIDE","HEIGHT","WIDTH","parseOrientation","parseItemTextPosition","parsePosition","parseItemsAlignment","getState","stateName","colorFromAction","getAttributes","parseMargins","getSizeItem","markerBBox","itemTextPosition","calculateBBoxLabelAndMarker","applyMarkerState","idToIndexMap","renderMarker","parseOptions","textField","allowInsidePosition","orientation","itemsAlignment","createSquareMarker","createCircleMarker","inRect","checkLinesSize","countItems","maxMeasureLength","maxAltMeasureLength","firstItem","lineLength","altDirection","altMeasure","altOffset","altSpacing","countItem","decreaseItemCount","altCountItem","getLineLength","getMaxLineLength","maxLineLength","getInitPositionForDirection","initPosition","getPos","getLines","tableLine","markerOffset","firstLine","secondLine","setMaxInLine","maxLineSize","itemMeasure","transpose","transposeArray","getAlign","getMarkerCreator","getTitleHorizontalAlignment","_legendGroup","_backgroundClass","backgroundClass","_itemGroupClass","itemGroupClass","_textField","_getCustomizeObject","getFormatObject","_titleGroupClass","titleGroupClass","_allowInsidePosition","_updated","_Legend","legendPrototype","themeManagerTitleOptions","_that$_title","initMarkerSize","customizeItems","erase","_insideLegendGroup","_createBackground","horizontalPadding","_background","_markersGroup","_createItems","_updateElementsPosition","_measureElements","maxBBoxHeight","equalRowHeight","_locateElements","_finalUpdate","createMarker","markerShape","_markersId","markerTemplate","markersGroup","_deferredItems","_templatesGroups","stateOfDataItem","normalState","normalStateFill","markerColor","itemGroup","markerGroup","_createLabel","_createHint","getTemplatesGroups","getTemplatesDef","_adjustBackgroundSettings","_setBoundingRect","insideLegendGroup","_x1","_x2","_y2","locationOptions","_moveInInitialValues","_locateRowsColumns","labelFormatObject","textOpacity","isInside","iteration","_getItemsLayoutOptions","_alignLines","_applyItemPosition","secondItem","markerBox","offsetDirection","inverseLabelPosition","processLine","itemBBoxOptions","itemBBox","itemLegend","columnItemSpacing","rowItemSpacing","marginTextLabel","legendBox","_calculateTotalBox","backgroundSettings","backgroundOpacity","widthWithoutMargins","verticalPadding","getActionCallback","_shiftTitle","_shiftMarkers","_y1","getPosition","legendGroup","postCtor","_updateDataSource","_dataIsLoaded","_dataSource","_dataSourceItems","STATE_HIDDEN","STATE_SHOWN","ANIMATION_EASING","ANIMATION_DURATION","LOADING_INDICATOR_READY","LoadingIndicator","_rect","_createStates","_states","setSize","_transit","stateId","_isHiding","_noHiding","scheduleHiding","fulfillHiding","_loadingIndicator","_skipLoadingIndicatorOptions","_scheduleLoadingIndicatorHiding","_fulfillLoadingIndicatorHiding","showLoadingIndicator","hideLoadingIndicator","_onBeginUpdate","_optionChangedLocker","_dataIsReady","onLoadingIndicatorReady","formatDate","startPlaceHolderChar","endPlaceHolderChar","placeholderFormatDelimiter","getValueByPlaceHolder","placeHolder","pointInfo","customFormat","customFormatIndex","processDisplayFormat","actualText","continueProcess","startBracketIndex","endBracketIndex","CONNECTOR_LENGTH","getClosestCoord","closestCoord","closestDistance","getCrossCoord","indexOffset","barPointStrategy","isLabelInside","labelPoint","figure","xc","yc","prepareLabelPoints","rotatedBBox","figureCenter","labelPoints","isRectangular","getFigureCenter","findFigurePoint","adjustPoints","lineIsVertical","lineIsHorizontal","symbolPointStrategy","piePointStrategy","_0","_1","isOutside","pair","point1x","point1y","point2x","point2y","tan","selectStrategy","disposeItem","checkBackground","checkConnector","connector","formatText","argumentText","percentText","totalText","openValue","openValueText","closeValue","closeValueText","lowValue","lowValueText","highValueText","reductionValue","reductionValueText","Label","_container","labelsGroup","_strategy","_rowCount","_color","setData","fieldValue","setFigureToDrawConnector","_figure","_textContent","_visible","_insideGroup","_connector","_setVisibility","holdInvisible","_holdVisibility","holdVisible","correctPosition","correctLabelPosition","_updateBackground","_getLabelVisibility","_bBoxWithoutRotation","_bBox","_getConnectorPoints","_shiftBBox","rowCountChanged","resetEllipsis","setTrackerData","hideInsideLabel","_x","_y","horizontalOffset","verticalOffset","radialOffset","connectorOffset","DEFAULT_IMAGE_WIDTH","DEFAULT_IMAGE_HEIGHT","LABEL_OFFSET","CANVAS_POSITION_DEFAULT","getSquareMarkerCoords","getPolygonMarkerCoords","getCrossMarkerCoords","floorHalfRadius","ceilHalfRadius","getTriangleDownMarkerCoords","getTriangleUpMarkerCoords","deleteLabel","_hasGraphic","graphic","clearVisibility","inVisibleArea","setInvisibility","_errorBar","clearMarker","_emptySettings","_labelsGroup","_calculateVisibility","_getVisibleArea","_updateLabelData","_updateLabelOptions","_checkImage","_fillStyle","_checkSymbol","oldOptions","oldSymbol","newSymbol","symbolChanged","imageChanged","_populatePointShape","hasCoords","properValue","_getTranslates","defaultX","defaultY","_createImageMarker","_createSymbolMarker","pointSettings","_createMarker","_getSymbolBBox","_getImageBBox","_getGraphicBBox","_getShiftLabelCoords","_addLabelAlignmentAndOffset","_getLabelCoords","_checkLabelPosition","customVisibility","_getCustomLabelVisibility","_showForZeroValues","getLabelVisibility","_getLabelConnector","h2","_getPositionFromLocation","_isPointInVisibleArea","graphicBBox","fullGraphicBBox","_getLabelCoordOfPosition","_getLabelPosition","_drawMarker","translates","_getStyle","_getErrorBarSettings","_drawErrorBar","errorBars","errorBarOptions","_errorBarPos","_highErrorCoord","low","_lowErrorCoord","isHighDisplayMode","isLowDisplayMode","highErrorOnly","lowErrorOnly","edgeLength","_getErrorBarBaseEdgeLength","_baseErrorBarPos","leftHoleTotal","rightHoleTotal","valuePercent","minValuePercent","isFullStackedSeries","leftHole","minLeftHole","rightHole","minRightHole","_storeTrackerR","minTrackerSize","msPointerEnabled","msMaxTouchPoints","pointerEnabled","maxTouchPoints","trackerR","_translateErrorBars","_getValTranslator","lowError","highError","vy","vx","_translate","valTranslator","argTranslator","_getArgTranslator","_updateData","originalValue","initialMinValue","originalMinValue","_getImageSettings","extraSpace","isSquare","isTriangle","_updateMarker","initialArgument","originalArgument","seriesName","lowErrorValue","highErrorValue","_getFormatObject","trackerRadius","noErrorBar","DEFAULT_BAR_TRACKER_SIZE","CORRECTING_BAR_TRACKER_VALUE","getLabelOrientation","isDiscreteValue","isFullStacked","notAxisInverted","correctOptions","yCorrection","xCorrection","_cacheVisibility","isTop","showForZeroValues","getMarkerCoords","_getSettingsForTracker","getGraphicSettings","xCoord","yCoord","isPositive","invertedBusinessRange","_getEdgeTooltipParams","getCenterCoord","_truncateCoord","argVisibleArea","valAxis","valIntervalName","argIntervalName","valVisibleArea","edgeOffset","argAxisPosition","isStartFromAxis","getAxisShift","MIN_BUBBLE_HEIGHT","diameter","bubbleSize","initialSize","sizeText","_acos","DEG","argumentChanged","correctRadius","radiusLabels","normalInitialValue","_isLabelDrawingWithoutPoints","_getLabelExtraCoord","_checkVerticalLabelPosition","_getElementCoords","elementRadius","angleFunctions","middleAngle","columnsPosition","_correctLabelCoord","moveLabelsFromCenter","rightBorderX","leftBorderX","angleOfPoint","updateLabelCoord","_checkHorizontalLabelPosition","shiftCoord","applyWordWrap","setLabelTrackerData","seriesStyle","strokeWidthBy2","firstDrawing","shiftedAngle","getLegendStyles","legendStyles","isInVisibleArea","visibilityChanged","ly","_topLabel","_bottomLabel","hideMarker","topMarker","bottomMarker","emptySettings","markerType","labelsInside","_getLabelMinFormatObject","maxFormatObject","images","_getImage","_checkOverlay","bottomCoord","topCoord","topValue","_getOverlayCorrections","topCoords","bottomCoords","coordSelector","maxBound","coord1","coord2","_checkLabelsOverlay","topLocation","corrections","notInverted","topLabel","bottomLabel","visibleTopMarker","visibleBottomMarker","imageOption","rangeMaxPoint","rangeMinPoint","oldImages","newImages","topImageChanged","bottomImageChanged","_getSettingsForTwoMarkers","_drawOneMarker","imageSettings","_updateOneMarker","visibleRangeArea","visibleArgArea","visibleValArea","notVisibleByArg","notVisibleByVal","rangeValue1Text","rangeValue2Text","rangeValue1","rangeValue2","getLabel","getLabels","xCond","yCond","edgeLocation","barMethods","DEFAULT_FINANCIAL_TRACKER_MARGIN","_getContinuousPoints","openCoord","closeCoord","createPoint","highCoord","highY","lowY","closeY","_getCrockPoints","_getPoints","openY","_isReduction","reduction","_drawMarkerInGroup","_isPositive","reductionPositive","_getMinTrackerWidth","_getMarkerGroup","reductionPositiveMarkersGroup","reductionMarkersGroup","defaultPositiveMarkersGroup","defaultMarkersGroup","centerValue","origY","reductionColor","originalLowValue","originalHighValue","originalOpenValue","originalCloseValue","isReduction","symbolMethods","_isNumeric","openYExist","closeYExist","ERROR_BARS_ANGLE_OFFSET","CANVAS_POSITION_START","CANVAS_POSITION_END","polarSymbolPoint","_moveLabelOnCanvas","_getCoords","normalizedRadius","_checkRadiusForVisibleArea","getDefaultCoords","polarBarPoint","defaultRadius","middleAngleCorrection","isBetweenAngles","phi","SYMBOL_POINT","POLAR_SYMBOL_POINT","BAR_POINT","POLAR_BAR_POINT","PIE_POINT","SELECTED_STATE","HOVER","NORMAL","SELECTION","pointTypes","spline","stepline","stackedline","fullstackedline","stackedspline","fullstackedspline","stackedsplinearea","fullstackedsplinearea","splinearea","steparea","stackedarea","fullstackedarea","rangearea","stackedbar","fullstackedbar","rangebar","stock","candlestick","donut","polar","isNoneMode","_viewCounters","symbolPoint","barPoint","bubblePoint","piePoint","rangeSymbolPoint","rangeBarPoint","candlestickPoint","stockPoint","usePointCustomOptions","customizePoint","_dataItem","_currentStyle","updateData","argumentWasChanged","aggregationInfo","deleteMarker","_needDeletingOnDraw","autoHidePointMarkers","_needClearingOnDraw","_getViewStyle","applyView","getRenderer","getMarkersGroup","setView","resetView","viewCounters","releaseHoverState","hoverPoint","clearPointHover","_checkLabelsChanging","oldType","newType","isNewRange","isOldRange","newPointTypeMixin","_resetType","_checkCustomize","translated","useLabelCustomOptions","_argumentChecker","valueChecker","_valueChecker","isValueCorrect","stackPoints","sharedTooltipValuesArray","tooltipStackPointsFormatObject","rangeText","intervalStart","intervalEnd","holeValue","DEFAULT_TRACKER_WIDTH","DEFAULT_DURATION","HIGH_ERROR","LOW_ERROR","VARIANCE","STANDARD_DEVIATION","STANDARD_ERROR","PERCENT","FIXED","UNDEFINED","isErrorBarTypeCorrect","variance","expectedValue","calculateAvgErrorBars","errorBarsOptions","valueErrorBar","lowValueField","highValueField","areErrorBarsVisible","fusionData","calculateSumErrorBars","getMinMaxAggregator","targetData","_getIntervalCenter","checkFields","fieldsToCheck","skippedFields","allFieldsIsValid","isArgument","baseScatterMethods","_defaultDuration","_defaultTrackerWidth","_applyStyle","_parseStyle","_prepareSegment","_drawSegment","_appendInGroup","_extGroups","_createLegendState","styleOptions","_getColorId","_applyElementsClipRect","_paneClipRectID","_applyMarkerClipRect","_forceClipping","_createGroup","_applyClearingSettings","_createGroups","_setMarkerGroupSettings","_createPointStyles","_getMarkerGroupOptions","_visibleArea","_errorBarsEnabled","pointCoord","_createErrorBarGroup","_widePaneClipRectID","_setGroupsSettings","_setLabelGroupSettings","_getCreatingPointOptions","defaultPointOptions","normalStyle","creatingPointOptions","_predefinedPointOptions","_getPointOptions","_parsePointOptions","_preparePointOptions","_getOptionsForPoint","_parsePointStyle","defaultBorderColor","defaultSize","sizeValue","pointOptions","mainPointColor","hoverStyle","selectionStyle","_checkData","_points$0$aggregation","_points$aggregationIn","_getRangeData","_getPointDataSelector","tagField","getTagField","_processEmptyValue","_drawPoint","hasAnimation","_drawnPoints","_animateComplete","_errorBarGroup","lastPointIndex","_defaultAggregator","_aggregators","aggregationResult","_endUpdateData","valueFields","_calculateErrorBars","valueArray","valueArrayLength","meanValue","processDataItem","errorBarType","floatErrorValue","addSubError","_patchMarginOptions","usePointsToDefineAutoHiding","drawTrackers","trackers","trackersGroup","_segments","_trackers","_trackersGroup","_updateTrackerElement","_drawTrackerElement","_trackersTranslator","groupPointsByCoords","oppositeCoord","isOpposite","coordName","oppositeCoordName","tmpCoord","_checkAxisVisibleAreaCoord","_getNearestPoints","_getBezierPoints","allPoints","bezierPoints","nearestPoints","pCoord","nCoord","_applyVisibleArea","visibleX","visibleY","paramName","tmpPoint","clonePoint","newX","newY","newAngle","getTangentPoint","nextStepAngle","correctAngle","obtainCubicBezierTCoef","lineMethods","autoHidePointMarkersEnabled","_applyGroupSettings","_elementsGroup","_bordersGroup","_areBordersVisible","_getDefaultSegment","_parseLineOptions","_graphics","_drawElement","_createMainElement","_removeElement","_updateElement","animationComplete","_sortPoints","segmentCount","lastSegment","_getTrackerSettings","defaultTrackerWidth","strokeWidthFromElements","_getMainPointsFromSegment","lineSeries","_getNearestPointsByCoord","needValueCoord","_calculateStepLinePoints","_calculateBezierPoints","pointsCopy","checkExtremum","otherPointCoord","controlCoord","curPoint","leftControlX","leftControlY","rightControlX","rightControlY","xCur","yCur","curIsExtremum","leftPoint","rightPoint","bezierCoordName","bezierOppositeCoordName","ts","_ret","preparedPoints","_closeSegment","_getTangentPoints","_getRemainingAngle","normAngle","newPoint","_modifyReflectedPoint","lastPoint","differenceAngle","isLastSegment","tangentPoints","betweenAngle","coordParam","isInsideInterval","neighborPoints","getNeighborPoints","stepAngle","k1","b1","b2","closed","firstPointCopy","lastPointCopy","rearwardRefPoint","forwardRefPoint","chartLineSeries","polarLineSeries","calculateBezierPoints","baseAreaMethods","_createBorderElement","highlight","_options$color","fillId","defaultSegment","lineParams","areaParams","borderElement","_options$highlight","borderStyle","singlePointSegment","createAreaPoints","areaSeries","processedPoints","_processSinglePointsAreaSegment","areaPoints","stepLineSeries","_areaPointsToSplineAreaPoints","previousMiddlePoint","areaSegment","areaDefaultSegment","chartSeries","polarSeries","baseBarSeriesMethods","_getAffineCoordOptions","_getMainColor","_pointOptions$color","mainColor","colorId","_turnOffHatching","_updatePointsVisibility","_points","_animatePoints","drawnPoints","_this$getArgumentAxis","animateFunc","markersSettings","groupSettings","barSeries","baseRangeSeries","val1Field","val2Field","rangeValue1Field","rangeValue2Field","minCoordName","processedMinPointsCoords","bottomLine","drawnElement","bordersGroup","bottomLineParams","bottomBorderElement","chartBarSeries","polarBarSeries","_noop","sizeField","baseGetter","labelAnimFunc","processBubbleSize","chartScatterSeries","_map","_isFinite","_legendCallback","_getOldPoint","oldPointsByArgument","adjustLabels","drawLabelsWOPoints","getPointsCount","setMaxPointsCount","_pointsCount","labelSpace","paintNullPoints","pointsByArg","_rangeData","_getArrangeMinShownValue","minSegmentSize","totalMinSegmentSize","totalNotMinValues","_applyArrangeCorrection","isClockWise","segmentsDirection","zeroTotalCorrection","updatedZeroValue","_removePoint","arrangePoints","originalPoints","isAllPointsNegative","labelRadius","animatePoint","pointsCount","completeFunc","DEFAULT_FINANCIAL_POINT_SIZE","defaultStyle","defaultPositiveStyle","reductionStyle","reductionPositiveStyle","markerSettings","prevLevelValue","openValueField","closeValueField","innerColor","_getDefaultStyle","_getReductionStyle","positiveStyle","ohlc","chartAreaSeries","baseStackedSeries","_stackName","stackedBar","preparePointsForStackedAreaSegment","getPointsByArgFromPrevSeries","prevSeries","_segmentByArg","forwardPoints","backwardPoints","prevSeriesForwardPoints","pointByArg","prevSeriesPoints","seriesNS","APPLY_SELECTED","APPLY_HOVER","RESET_ITEM","INCLUDE_POINTS","NEAREST_POINT","SERIES_SELECTION_CHANGED","POINT_SELECTION_CHANGED","SERIES_HOVER_CHANGED","POINT_HOVER_CHANGED","ALL_SERIES_POINTS","ALL_ARGUMENT_POINTS","POINT_HOVER","CLEAR_POINT_HOVER","SERIES_SELECT","POINT_SELECT","POINT_DESELECT","getEmptyBusinessRange","includePointsMode","getLabelOptions","labelBorder","labelConnector","backgroundAttr","connectorAttr","setPointHoverState","releasePointHoverState","setPointSelectedState","releasePointSelectedState","mergePointOptionsCore","mergePointOptions","Series","_eventPipe","eventPipe","getValueChecker","_createStyles","wideId","forceClipping","clipLabels","_clipLabels","applyClip","resetClip","_createPoint","oldPoint","lastSelectionMode","pointByArgument","_deleteGroup","_checkType","_checkPolarBarType","_defineDrawingState","_pointOptions","_seriesModes","commonSeriesModes","_valueAxis","barOverlapGroup","_disposePoints","_canRenderCompleteHandle","dataSelector","itemsWithoutArgument","pointDataItem","nameFieldValue","getAggregationInfo","_useAllAggregatedPoints","_resample","_normalizeUsingAllAggregatedPoints","_createPoints","_getData","pointIndex","_removeOldSegments","isCloseSegment","setDefaultCoords","_drawSegments","groupForPoint","closeSegment","_isAllPointsTranslated","prepareCoordinatesForPoints","_prepareSegmentsPosition","_drawElements","hideLabels","_changeStyle","_this$_points","_translatePoints","spiderWidget","seriesType","_setPointsView","_resetPointsView","_resetNearestPoint","_nearestPoint","_setSelectedState","_releaseSelectedState","isStackedSeries","isFinancialSeries","_canChangeView","skipPoints","currentNearestPoint","_getMainAxisName","areLabelsVisible","maxLabelCount","customizeObject","customLabelOptions","customOptions","customizeLabel","_changeVisibility","parsedOptions","_getAggregationMethod","customAggregator","addAggregatedData","aggregationMethod","dataInInterval","aggregatedData","_aggregationInfo","canRenderCompleteHandle","getAllPoints","_createAllAggregatedPoints","getPointByPos","currentPoint","skipPointsCreation","argValue","createPoints","seriesModes","targetOptions","pointHoverMode","selectionModeOfPoint","_hoverPointHandler","_clearPointHoverHandler","seriesSelectionMode","pointSelectionMode","_selectPointHandler","_deselectPointHandler","_deletePoints","_deleteTrackers","getOpacity","E2001","E2002","E2003","E2004","E2005","E2006","E2007","E2008","E2009","E2101","E2102","E2103","E2104","E2105","E2202","E2203","W2002","W2003","W2101","W2102","W2103","W2104","W2105","W2106","W2107","W2108","W2301","createEventTrigger","eventsMap","callbackGetter","triggers","triggerEvent","eventInfo","applyChanges","actionSettings","createIncidentOccurred","widgetName","getResizeManager","resizeCallback","createDeferredHandler","createResizeHandler","redrawOnResize","disposeHandler","resizeManager","isServerSide","Flags","combineMaps","baseMap","thisMap","combineLists","baseList","thisList","buildTotalChanges","_totalChangesOrder","_optionChangesOrder","_layoutChangesOrder","_customChangesOrder","_themeDependentChanges","createChainExecutor","executeChain","_chain","expander","codes","_flags","replaceInherit","_inherit","initialChanges","_initialChanges","themeDependentChanges","optionChangesMap","partialOptionChangesMap","_partialOptionChangesMap","partialOptionChangesPath","_partialOptionChangesPath","optionChangesOrder","layoutChangesOrder","customChangesOrder","ALIGN_START","ALIGN_MIDDLE","ALIGN_END","horizontalAlignmentMap","verticalAlignmentMap","sideMap","slicersMap","BBOX_CEIL_CORRECTION","pickValue","normalizeLayoutOptions","bringToEdge","secondary","getConjugateSide","getSlice","getShrink","processForward","minSide","processRectBackward","alignmentRect","primarySide","secondarySide","itemRect","processBackward","targetRect","itemFitRect","Layout","_targets","createTargets","processWeakItems","headerItem","weakItem","makeHeader","processBackwardHeaderRect","rectCopy","weakElement","weakSize","headerSize","weakRect","headerFitReact","headerRect","_cache","backward","backwardRect","targetSide","graphicObjects","getGraphicObjects","OPTION_RTL_ENABLED","SIZED_ELEMENT_CLASS","baseOptionMethod","getTrue","getFalse","defaultOnIncidentOccurred","hasEvent","pickPositiveValue","getEmptyComponent","emptyComponentConfig","sizedElement","_getDefaultSize","setStyle","EmptyComponent","originalInherit","callForEach","sizeIsValid","baseWidget","onIncidentOccurred","onDrawn","_useLinks","_graphicObjects","_changesLocker","_asyncFirstDrawing","_changes","_suspendChanges","_createThemeManager","_renderElementAttributes","_initRenderer","useLinks","_renderVisibilityChange","_attachVisibilityChangeHandlers","_toggleParentsScrollSubscription","_initEventTrigger","_initPlugins","_initCore","_getThemeManagerOptions","_applyingChanges","_applyChanges","_changesApplied","_optionsQueue","_applyQueuedOptions","resolveItemsDeferred","_notify","_resolveDeferred","_getTemplatesItems","_collectTemplatesFromItems","_getExtraTemplatesItems","launchRequest","doneRequest","_setGroupsVisibility","_changesApplying","syncRendering","beginUpdate","endUpdate","_resumeChanges","changesOrderLength","_setThemeAndRtl","_setRendererOptions","_setupResizeHandler","_updateSize","_setContentSize","_initDisabledState","rawCanvas","_calculateRawCanvas","_rootClass","_getAnimationOptions","$parents","_proxiedTargetParentsScrollHandler","_$prevRootParents","_removeResizeHandler","_disposeCore","_disposePlugins","_disposeGraphicObjects","_disposeRenderer","defaultCanvas","getSizeOfSide","elementSize","elementWidth","elementHeight","__forceRender","_recreateSizeDependentObjects","_getMinSize","_getAlignmentRect","nextRect","_applySize","isScalar","_disposeResizeHandler","_isUpdateAllowed","_getActionForUpdating","partialChanges","getPartialChangeOptionsName","pc","changedOption","sections","partialChangeOptionsName","_addOptionsNameForPartialUpdate","_checkOptionsForPartialUpdate","optionObject","optionKeys","graphics","RollingStock","shiftFunction","oppositeStart","oppositeEnd","initialPosition","nextRollingStock","nextRollingStockBBox","changeBoxWidth","shiftLength","REINIT_REFRESH_ACTION","REINIT_DATA_SOURCE_REFRESH_ACTION","DATA_INIT_REFRESH_ACTION","FORCE_RENDER_REFRESH_ACTION","RESIZE_REFRESH_ACTION","ACTIONS_BY_PRIORITY","DEFAULT_OPACITY","REFRESH_SERIES_DATA_INIT_ACTION_OPTIONS","REFRESH_SERIES_FAMILIES_ACTION_OPTIONS","FORCE_RENDER_REFRESH_ACTION_OPTIONS","FONT","checkHeightRollingStock","rollingStocks","stubCanvas","canvasSize","rollingStock","findAndKillSmallValue","smallestObject","checkStackOverlap","iLength","jLength","overlap","checkStacksOverlapping","resolveLabelOverlappingInOneDirection","sortRollingStocks","customSorting","hasStackedSeries","sortRollingStocksByValue","rollingStocksTmp","getInitialPosition","prepareOverlapStacks","moveRollingStock","firstRolling","secondRolling","inTwoSides","firstRect","secondRect","oppositeOverlapping","positiveRollingStocks","negativeRollingStocks","currentRollingStock","toChain","rollingStocksIsOut","shouldSetCanvas","currentBBox","nextBBox","setRollingStockInCanvas","getLegendFields","colorField","indexField","getLegendSettings","legendDataField","formatObjectFields","checkOverlapping","overlapping","BaseChart","onSeriesClick","onPointClick","onArgumentAxisClick","onLegendClick","onSeriesSelectionChanged","onPointSelectionChanged","onSeriesHoverChanged","onPointHoverChanged","onZoomStart","onZoomEnd","chartOption","themeManager","_canvasClipRect","_createHtmlStructure","_createLegend","_createTracker","_needHandleRenderComplete","layoutManager","_createScrollBar","_getLayoutItems","_reinitAxes","_correctAxes","createConstantLinesGroup","appendLabelsAxesGroup","_backgroundRect","_panesBackgroundGroup","_gridGroup","_panesBorderGroup","_axesGroup","_executeAppendBeforeSeries","_executeAppendAfterSeries","_crosshairCursorGroup","_getCanvasClipRectID","_scrollBarGroup","fieldNames","disposeObject","unlinkGroup","disposeObjectsInArray","_disposeObjectsInArray","_groupsData","_processRefreshData","_doRender","__renderOptions","isResize","_trackerType","_getSelectionModes","trackerCanvases","currentCanvas","_resetIsReady","drawOptions","_prepareDrawOptions","recreateCanvas","_preserveOriginalCanvas","__currentCanvas","_updateCanvasClipRect","_createCanvasFromRect","_cleanGroups","_renderElements","__originalCanvas","_layoutAxes","argBusinessRange","zoomMinArg","zoomMaxArg","preparedOptions","_prepareToRender","_isRotated","isLegendInside","_isLegendInside","drawLegend","_layoutManagerOptions","layoutTargets","_getLayoutTargets","needSpace","axisDrawOptions","_renderAxes","_shrinkAxes","_applyClipRects","_appendSeriesGroups","_createCrosshairCursor","_scrollBar","_updateTracker","_updateLegendPosition","_applyPointMarkersAutoHiding","_renderSeries","_renderGraphicObjects","_appendAdditionalSeriesGroups","_calculateSeriesLayout","_renderSeriesElements","needMoreSpaceForPanesCanvas","keepLabels","_updateSeriesDimensions","_getArgFilter","_getValFilter","argViewPortFilter","valViewPortFilter","resolveLabelOverlapping","pointsToAnimation","_getPointsToAnimation","_applyExtraSettings","animationPointsLimit","_getLegendCallBack","_adjustSeriesLabels","_locateLabels","_renderTrackers","_clearCanvas","_seriesElementsDrawn","_renderCompleteHandler","_resolveLabelOverlapping","_resolveLabelOverlappingStack","_resolveLabelOverlappingHide","_resolveLabelOverlappingShift","getAllSeries","currentLabel","nextLabel","currentLabelRect","nextLabelRect","_getVisibleSeries","_allowLegendInsidePosition","legendSettings","_legendDataField","_updateLegend","legendOptions","legendData","_getLegendData","adjustAxes","maxPointCountSupported","newRefreshAction","currentRefreshActionPosition","_currentRefreshData","newRefreshActionPosition","_getLegendTargets","opacityStyle","_legendItemTextField","seriesIndex","seriesFamilies","paletteExtensionMode","export","commonPaneSettings","defaultPane","scrollBar","_refreshSeries","needToPopulateSeries","_dataInit","_processSeriesFamilies","_populateBusinessRange","_resetComponentsAnimation","_resetAxesAnimation","actionName","_dataSpecificInit","_populateMarginOptions","_processSingleSeries","needRedraw","_populateSeries","_repopulateSeries","_seriesPopulatedHandlerCore","updateSeries","dataValidatorOptions","_groupSeries","_handleSeriesDataUpdated","allSeriesInited","particularSeriesOptions","seriesTheme","seriesOptions","allSeriesOptions","_getExtraOptions","seriesThemes","seriesVisibilityChanged","_specialProcessSeries","_checkPaneName","particularSeries","seriesBasis","_populateSeriesOptions","disposeSeriesFamilies","curSeries","sb","_disposeSeries","_disposeSeriesFamilies","basis","_getValueAxis","found","getSeriesByPos","renderOptions","adaptiveLayout","_doRefresh","_forceRender","_reinit","_change_TITLE","DEFAULT_AXIS_NAME","COMMON_AXIS_SETTINGS","DEFAULT_PANE_NAME","VISUAL_RANGE","prepareAxis","processBubbleMargin","estimateBubbleSize","panesCount","setAxisVisualRangeByOption","isDirectOption","wrappedVisualRange","wrapVisualRange","getAxisTypes","isArgumentAxes","pathElements","destElem","AdvancedChart","_panesClipRects","panesClipRects","_disposeAxes","_cleanPanesClipRects","clipArrayName","clipArray","paneName","_getPaneIndex","forceUpdateCanvas","_createPanes","_populateAxes","_axesReinitialized","argumentAxesPopulatedOptions","paneWithNonVirtualAxis","argumentAxesOptions","valueAxisOption","valueAxesOptions","valueAxesPopulatedOptions","axisNames","valueAxesCounter","crosshairMargins","_getCrosshairMargins","getNextAxisName","_populateAxesOptions","optionPath","axisPanes","_redesignAxes","axesBasis","curAxes","axisTypes","_disposeAxis","isVirtual","_createAxis","_getVisualRangeSetter","_getLegendOptions","showInLegend","_processValueAxisFormat","paneSeries","families","negativesAsZeros","familyOptions","_getSeriesForPane","argumentMarginOptions","groupSeries","seriesMarginOptions","updatedAxis","keepRange","argRanges","commonArgRange","getPaneName","groupRange","setBusinessRange","commonInterval","currentInterval","_correctValueAxes","_getGroupsData","axesWithFullStackedFormat","preparedUserOptions","_prepareStripsAndConstantLines","_prepareAxisOptions","renderingSettings","_getAxisRenderingOptions","_applyVisualRangeByVirtualAxes","_parseVisualRangeOption","_applyCustomVisualRangeOption","setCustomVisualRange","_change_VISUAL_RANGE","stripStyle","constantLineStyle","drawAxes","checkForMoreSpaceForPanesCanvas","_setCustomVisualRange","axesName","axisPath","skipOptionsRollBack","_notifyVisualRange","sourceAxes","_getAxesForScaling","_getAxesByOptionPath","resizePanesOnZoom","_raiseZoomEndHandlers","resetVisualRange","DEFAULT_PANES","getFirstAxisNameForPane","changeVisibilityAxisGrids","gridVisibility","minorGridVisibility","gridOpt","minorGridOpt","hideGridsOnNonFirstValueAxisForPane","axesForPane","axisShown","hiddenStubAxis","minorGridOptions","findAxisOptions","axInd","findAxis","axisByName","compareAxes","doesPaneExist","accumulate","src1","src2","auxSpacing","pickMax","pickMaxValue","getAxisMargins","getHorizontalAxesMargins","getMarginsFunc","axisMargins","paneMargins","shouldResetPositionMargin","customPositionEqualsToPredefined","getVerticalAxesMargins","performActionOnAxes","actionArgument3","shrinkCanvases","verticalMargins","horizontalMargins","getMargin","getMaxMargin","margins1","margins2","getOriginalField","paneNames","startMargin","endMargin","oppositeMargins","initialEmptySpace","emptySpace","maxStartMargin","maxEndMargin","currentHeight","initialOffset","paneSize","drawAxesWithTicks","panesBorderOptions","shiftAxis","side1","side2","shifts","getCommonSize","checkUsedSpace","sizeShortage","getMarginFunc","axisAnimationEnabled","collectMarkersInfoBySeries","allSeries","filteredSeries","overloadedSeries","argVisualRange","valVisualRange","getCanvasRange","seriesPoints","pointsInViewport","mp","continuousSeries","isOverlay","overlayPoint","pointRadius","pointHitsLeftBorder","pointHitsRightBorder","pointHitsTopBorder","pointHitsBottomBorder","isPointOverlappedHorizontally","isPointOverlappedVertically","isPointOverlapped","skipSamePointsComparing","radiusPoint","isXCoordinateSame","isYCoordinateSame","fastHidingPointMarkersByArea","markersInfo","pointsArea","updateMarkersInfo","isContinuousSeries","nextX","nextY","dxChart","paneAxis","_containerInitialHeight","_deprecatedOptions","panesNameCounter","paneList","valueAxisName","customPositionAxis","_getAllAxes","allAxes","boundaryStateChanged","prevBoundaryState","crosshairOptions","_getCrosshairOptions","crosshairEnabled","horizontalLabel","horizontalLine","verticalLabel","verticalLine","valueAxisOptions","needHideGrids","synchronizeMultiAxes","paneWithAxis","paneExists","defaultAxis","axesWithSamePath","oneSeries","commonBorderOptions","scrollBarOptions","scrollBarGroup","_createPanesBorderOptions","_createPanesBackground","_appendAxesGroups","_adjustViewport","adjustOnZoom","isCanvasChanged","zoomChanged","_isZooming","zoomRange","viewportDistance","_zoomLength","_drawPanesBorders","_createClipRectsForPanes","_applyClipRectsForAxes","_fillPanesBackground","legendHasInsidePosition","newCanvas","paneIndex","wideClipRect","setClippingParams","_getPaneBorderVisibility","overlappedPointsCount","overlappingPoints","overlappedPointsCalculator","_hidePointsForSingleSeriesIfNeeded","overlappingPointsCount","borderCoords","argAxisIsDiscrete","sortingCallback","_applyAutoHidePointMarkers","calculateTitlesWidth","extendedArgAxes","_isArgumentAxisBeforeScrollBar","verticalAxes","verticalElements","horizontalAxes","horizontalElements","allElements","verticalAxesFirstDrawing","_normalizePanesHeight","_updatePanesCanvases","panesCanvases","paneSizes","cleanPanesCanvases","_initCustomPositioningAxes","needCustomAdjustAxes","_axesBoundaryPositioning","_renderScaleBreaks","vAxesMargins","hAxesMargins","drawAxesAndSetCanvases","_estimateTickIntervals","oldTitlesWidth","visibleSeries","axesIsAnimated","setInitRange","hasWrap","newTitleWidth","setRenderedState","panesAreCustomSized","argAxisRightMargin","rightPanesIndent","argAxisBottomMargin","bottomPanesIndent","realSize","customSize","containerHasStyledHeight","_forceResize","argAxisLabelPosition","scrollBarPosition","_getCommonCanvas","_getPanesParameters","commonCanvas","defaultBackgroundColor","panesBackground","bc","_calcPaneBorderCoords","segmentRectParams","needWideClipRect","_createClipRect","chartCanvasClipRectID","elementsClipRectID","_getElementsClipRectID","commonPaneBorderVisible","paneVisibility","shiftDirection","processor","coordPosition","figureCenter1","figureCenter12","getPoint","_getStackPoints","nonVirtualArgumentAxis","argumentVisualRange","EditStrategy","collectionWidget","_collectionWidget","resultIndex","_denormalizeItemIndex","_equalKeys","key1","key2","_isNormalizedItemIndex","_isItemIndex","_normalizeItemIndex","_isNode","_getNormalizedItemIndex","_getItemByNormalizedIndex","_itemsFromSameParent","PlainEditStrategy","_getPlainItems","movedItemData","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","lastDigit","firstDigit","componentProps","componentType","templateNames","ValidationMessageProps","isReactComponentWrapper","isValidationMessageVisible","validationMessageGuid","validationMessageTarget","EditorProps","valueChange","EditorPropsType","updateValidationMessageVisibility","shouldShowValidationMessage","_this$validationError","isEditorValid","describedBy","allValidationErrors","_this$rootElementRef","_this$props$value","classof","$Object","propertyIsEnumerable","UNSCOPABLES","ArrayPrototype","objectTypes","objectProto","shimKeys","iterable","baseZIndex","zIndexStack","ZIndex","baseIndex","isLastZIndexInStack","MANAGER_EVENT","EMITTER_DATA","EventManager","_attachHandlers","_proxiedCancelHandler","_cancelHandler","_proxiedAcceptHandler","_acceptHandler","_pointerDownHandler","_pointerMoveHandler","_pointerUpHandler","_mouseWheelHandler","_eachEmitter","activeEmitters","_activeEmitters","_applyToEmitters","resetEmitter","_updateEmitters","_isSetChanged","_cleanEmitters","_fetchEmitters","currentSet","_closestEmitter","previousSet","_emittersSet","setChanged","handleEmitter","addCancelCallback","addAcceptCallback","emitters","acceptedEmitter","_cancelEmitter","canceledEmitter","removeCancelCallback","removeAcceptCallback","emitterIndex","_allowInterruptionByMouseWheel","_adjustWheelEvent","allowInterruption","closestGestureEmitter","verticalGestureDirection","eventManager","EMITTER_SUBSCRIPTION_DATA","registerEmitter","emitterConfig","emitterClass","emitterName","emitterEvents","subscriptions","delegateSelector","disposeEmitter","hasWindowValue","hasWindow","windowObject","getWindow","hasProperty","defaultScreenFactorFunc","getCurrentScreenFactor","screenFactorCallback","screenFactorFunc","windowWidth","getNavigator","createError","rootIsDark","pref","registerEvent","eventObject","calculatedSize","normalizedValue","strokeDashArray","strokeDashOffset","viewBoxSize","svgStyles","genCircle","genSvg","genInfo","onObserve","isIntersecting","renderedCallbacks","TemplateBase","_renderCore","_ensureResultInContainer","resultInContainer","resultInBody","zhHk","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","mergeDeepProperties","axiosKeys","otherKeys","CSS_TRANSITION_EASING_REGEX","TransitionTimingFuncMap","polynomBezier","Cx","Bx","Ax","Cy","By","Ay","bezierX","derivativeX","convertTransitionTimingFuncToEasing","cssTransitionEasing","forceName","coeffs","easingName","getEasing","removeEventName","RELATIVE_VALUE_REGEX","ANIM_DATA_KEY","ANIM_QUEUE_KEY","TRANSFORM_PROP","TransitionAnimationStrategy","initAnimation","transitionProperty","setProps","cleanupWhen","transitionAnimation","_finishTransition","_cleanup","_completeAnimationCallback","_startAnimation","simulatedEndEventTimer","transitionEndFired","simulatedTransitionEndFired","transitionEndEventFullName","waitForJSCompleteTimer","_simulatedTransitionEndDelay","transitionDelay","transitionTimingFunction","jumpToEnd","FrameAnimationStrategy","_normalizeValue","_parseTransform","frameAnimation","animationFrameId","delayTimeout","_animationStep","transformString","translateData","scaleData","rotateData","_calcStepValue","currentDuration","calcValueRecursively","endPropValue","numericValue","FallbackToNoAnimationStrategy","isSynchronous","getAnimationStrategy","animationStrategies","frame","noAnimation","baseConfigValidator","animationType","typeMessage","isObjectConfigValidator","isStringConfigValidator","CustomAnimationConfigurator","CssAnimationConfigurator","validateConfig","positionAliases","SlideAnimationConfigurator","positioningConfig","setupPosition","_setUpConfig","_initNewPosition","relativeValue","_getRelativeValue","FadeAnimationConfigurator","_from$opacity","_to$opacity","defaultFromOpacity","defaultToOpacity","fromOpacity","toOpacity","skipElementInitialStyles","PopAnimationConfigurator","fromScale","toScale","_getCssTransform","animationConfigurators","slide","slideIn","slideOut","fade","getAnimationConfigurator","defaultJSConfig","defaultCssConfig","setupAnimationOnElement","configurator","onElementAnimationComplete","startAnimationOnElement","stopAnimationOnElement","startTimeout","scopedRemoveEvent","subscribeToRemoveEvent","createAnimation","initialConfig","pushInAnimationQueue","queueData","getAnimQueueData","writeAnimQueueData","isAnimating","shiftFromAnimationQueue","destroyAnimQueueData","executeAnimation","animationTypes","internalActivator","openOnClick","activatorElement","activatorNode","slotType","addActivatorEvents","removeActivatorEvents","getValueProxy","ELEMENT_NODE","resetActivator","MemorizedCallbacks","focusableFn","isTabIndexNotNaN","isDefaultFocus","isHyperlink","tabbable","KNOWN_UA_TABLE","iPhone","iPhone5","iPhone6","iPhone6plus","iPad","iPadMini","androidPhone","androidTablet","msSurface","desktop","DEFAULT_DEVICE","phone","android","generic","grade","UA_PARSERS","isPhone","isTablet","isMac","isIpadOs","isAppleDevice","isIPhone4","screen","isAndroid","isWinPhone","worseThan4_4","UA_PARSERS_ARRAY","appleTouchDevice","Devices","_window","_realDevice","_getDevice","_currentDevice","_currentOrientation","_recalculateOrientation","deviceOrName","_forced","_getDeviceOrNameFromWindowScope","_getDeviceNameFromSessionStorage","forceDevice","tinyHippos","realDevice","_deviceClasses","_getCssClasses","_isSimulator","isRippleEmulator","deviceName","_fromConfig","ua","_fromUA","sessionStorage","getItem","shortcuts","$window","_currentWidth","_changeOrientation","viewPortElement","prevViewport","arPs","avatar","bordered","dot","inline","tile","computedBottom","computedYOffset","isRtl","computedXOffset","computedTop","calcPosition","genBadge","genBadgeContent","genBadgeWrapper","_z","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","groupClasses","FRAME_ANIMATION_STEP_TIME","requestID","setAnimationFrameMethods","nativeRequest","nativeCancel","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","msCancelAnimationFrame","STATUS","BaseRuleValidator","rulesValidators","itemValue","_validate","RequiredRuleValidator","NumericRuleValidator","ignoreEmptyValue","useCultureSettings","RangeRuleValidator","validNumber","validValue","StringLengthRuleValidator","CustomRuleValidator","dataGetter","extraParams","validationCallback","AsyncRuleValidator","reevaluate","callbackResult","_getWrappedPromise","CompareRuleValidator","comparisonTarget","comparisonType","PatternRuleValidator","EmailRuleValidator","email","GroupConfig","_pendingValidators","_onValidatorStatusChanged","_resetValidationInfo","brokenRules","_unsubscribeFromAllChangeEvents","validatorResult","_addPendingValidator","_subscribeToChangeEvents","_raiseValidatedEvent","_updateValidationInfo","_validationInfo","_unsubscribeFromChangeEvents","foundValidator","orderedRules","foundRules","_orderBrokenRules","_resolveIfComplete","_removePendingValidator","_updateBrokenRules","_synchronizeValidationInfo","ValidationEngine","_$element$data","_$element$data$dxComp","hasValidationGroup","dxComponents","dxValidationGroup","$dxGroup","addGroup","defaultFormattedMessage","defaultMessage","brokenRule","_rules$","validationRules","pendingRules","asyncRuleItems","ruleValidationResult","ruleValidator","_addBrokenRule","_setDefaultMessage","_validateAsyncRules","_synchronizeGroupValidationInfo","_result$brokenRules","groupConfig","_validationGroup","asyncResults","validateResult","asyncResult","ruleResult","_getPatchedRuleResult","_updateRuleConfig","_getAsyncRulesResult","registerValidator","validatorsInGroup","isDefaultGroup","isValidationGroupInstance","removeRegisteredValidator","_shouldRemoveGroup","removeGroup","initedOptions","newStatus","initGroups","_classPrivateFieldGet2","assertClassBrand","CANCELED_TOKEN","normalizeStoreLoadOptionAccessorArguments","originalArguments","mapGroup","restItem","mapRecursive","mapDataRespectingGrouping","groupInfo","normalizeLoadResult","createCustomStoreFromLoadFunc","storeConfig","createStoreFromConfig","createCustomStoreFromUrl","normalizationOptions","loadMode","fromUrlLoadMode","normalizeDataSourceOptions","transformData","isCancel","throwIfCancellationRequested","cancelToken","throwIfRequested","DOCUMENT_NODE","DOCUMENT_FRAGMENT_NODE","nativeDOMAdapterStrategy","mozMatchesSelector","oMatchesSelector","_document","createAttribute","isAdd","activeElementHolder","_element$getRootNode","_element$getRootNode2","elementsFromPoint","ur","genRipple","ignoreKeys","TEXTBOX_CLASS","SEARCHBOX_CLASS","SEARCH_ICON_CLASS","TextBox","_showClearButton","_renderSearchMode","_toggleMaxLengthProp","_getMaxLength","_renderSearchIcon","_$searchIcon","$searchIcon","labelBeforeWidth","_onKeyDownCutOffHandler","actualMaxLength","_cutOffExtraChar","getSelection","_onChangeCutOffHandler","textInput","isMaskSpecified","defineBuiltInAccessor","getRootNodeHost","resetActiveElement","_activeElement$blur","removeAllRanges","closestCommonParent","startTarget","endTarget","$startTarget","$endTarget","$startParents","$endParents","startingParent","normalizeTemplateElement","clipboardText","clipboard","createTextElementHiddenCopy","elementStyles","includePaddings","fontVariant","whiteSpace","currentElement","isElementInDom","shadowHost","Animator","_finished","_stopped","_proxiedStepCore","_stepCore","_stepAnimationFrame","_isStopped","_isFinished","_complete","_step","esUs","knot","DELAY_RIPPLE","webkitTransform","isKeyboardEvent","localX","localY","_ripple","ripples","previousPosition","isHiding","isRippleEnabled","rippleShow","touched","rippleStop","showTimerCommit","showTimer","rippleHide","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyboardRippleHide","focusRippleHide","updateRipple","wasEnabled","removeListeners","DxLabel","DxImage","DxHoverStyle","DxHorizontalLineLabel","DxHorizontalLine","DxHeight","DxHatching","DxGrid","DxFormat","DxFont","DxExport","DxDragBoxStyle","DxDataPrepareSettings","DxCrosshair","DxConstantLineStyle","DxConstantLineLabel","DxConstantLine","DxConnector","DxCommonSeriesSettingsSelectionStyle","DxCommonSeriesSettingsLabel","DxCommonSeriesSettingsHoverStyle","DxCommonSeriesSettings","DxCommonPaneSettings","DxCommonAxisSettingsTitle","DxCommonAxisSettingsLabel","DxCommonAxisSettingsConstantLineStyleLabel","DxCommonAxisSettingsConstantLineStyle","DxCommonAxisSettings","DxCommonAnnotationSettings","DxColor","DxChartTitleSubtitle","DxChartTitle","DxBreakStyle","DxBreak","DxBorder","DxBackgroundColor","DxAxisTitle","DxAxisLabel","DxAxisConstantLineStyleLabel","DxAxisConstantLineStyle","DxArgumentFormat","DxArgumentAxis","DxAnnotationImage","DxAnnotationBorder","DxAnnotation","DxAnimation","DxAggregationInterval","DxAggregation","DxAdaptiveLayout","DxChart","DxZoomAndPan","DxWidth","DxWholeRange","DxVisualRange","DxVerticalLine","DxValueErrorBar","DxValueAxis","DxUrl","DxTooltipBorder","DxTooltip","DxTitle","DxTickInterval","DxTick","DxSubtitle","DxStripStyleLabel","DxStripStyle","DxStripLabel","DxStrip","DxSize","DxShadow","DxSeriesTemplate","DxSeriesBorder","DxSeries","DxSelectionStyle","DxScrollBar","DxReduction","DxPointSelectionStyle","DxPointImage","DxPointHoverStyle","DxPointBorder","DxPoint","DxPaneBorder","DxPane","DxMinVisualRangeLength","DxMinorTickInterval","DxMinorTick","DxMinorGrid","DxMargin","DxLoadingIndicator","DxLength","DxLegendTitleSubtitle","DxLegendTitle","DxLegend","chart_1","index_1","index_2","annotations","dataPrepareSettings","loadingIndicator","onDisposing","emits","$_instance","$_WidgetClass","$_hasAsyncTemplate","chartTitle","annotationBorder","annotationImage","axisConstantLineStyle","axisLabel","axisTitle","constantLine","currency","useCurrencyAccountingStyle","chartTitleSubtitle","commonAxisSettingsConstantLineStyle","commonAxisSettingsLabel","commonAxisSettingsTitle","commonAxisSettingsConstantLineStyleLabel","paneBorder","commonSeriesSettingsHoverStyle","commonSeriesSettingsLabel","commonSeriesSettingsSelectionStyle","seriesBorder","horizontalLineLabel","legendTitle","legendTitleSubtitle","pointBorder","pointHoverStyle","pointImage","pointSelectionStyle","customizeSeries","stripStyleLabel","tooltipBorder","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","tet","standardColorNames","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","feldspar","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslateblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violetred","wheat","white","whitesmoke","yellowgreen","standardColorTypes","re","hsvToRgb","hslToRgb","baseColor","parseColor","colorIsInvalid","toHsvFromRgb","toHslFromRgb","colorComponent","toHexFromRgb","H","S","vMin","vInc","vDec","calculateHue","convertTo01Bounds","maxMinSum","makeColorTint","colorPart","colorTint","modifyColorTint","hueToRgb","isIntegerBetweenMinAndMax","blendColor","getPureColor","isValidHex","isValidRGB","isValidAlpha","configuration_component_1","extension_component_1","initDxComponent","setCompatOptions","setVModel","initDxConfiguration","trunc","componentHooks","onComponentDidMount","onComponentDidUpdate","onComponentShouldUpdate","onComponentWillMount","onComponentWillUnmount","onComponentWillUpdate","newProps","childLen","prop$1","VSlider","activeThumb","roundValue","toFocus","inputWidth","getTrackStyle","endLength","startDir","endDir","trackTransition","getIndexOfClosestValue","createRange","genTrackContainer","computedTrackColor","computedTrackFillColor","section","genChildren","genSteps","onFocus","onBlur","valueWidth","genThumbContainer","reevaluateSelected","refName","thumbRef","onSliderMouseDown","parseMouseMove","thumbPressed","domRect","mouseTimeout","mouseUpOptions","passiveSupported","mouseMoveOptions","onMouseMove","addOnceEventListener","onSliderMouseUp","onSliderClick","noClick","setInternalValue","parseKeyDown","mu","dv","DEFAULT_CONFIG","ESCAPING_CHAR","MAXIMUM_NUMBER_LENGTH","PERCENT_EXPONENT_SHIFT","getGroupSizes","singleQuotesLeft","isDigit","isInStub","getSignParts","signParts","reverseString","isPercentFormat","removeStubs","getNonRequiredDigitCount","floatFormat","getRequiredDigitCount","normalizeValueString","valuePart","minDigitCount","maxDigitCount","applyGroups","valueString","groupSizes","formatNumberPart","escapeIndex","isEscape","getFloatPointIndex","signFormatParts","isPositiveZero","numberFormat","floatPointIndex","floatFormatParts","minFloatPrecision","maxFloatPrecision","minIntegerPrecision","maxIntegerPrecision","unlimitedIntegerDigits","integerLength","floatPrecision","valueIntegerPart","valueFloatPart","integerString","floatString","parseValue","isPercent","prepareValueText","isIntegerPart","nextText","nextValueText","hasGroups","getFormatByValueText","valueTextParts","valueTextWithModifiedFloat","valueWithModifiedFloat","decimalSeparatorIndex","getFormat","positiveFormat","negativeFormat","tryToString","weekEndings","dxRenderer","repeatMethod","setAttributeValue","_className","appendElements","wrapTR","tBodies","setCss","removeElement","setText","elementId","queryId","_element$host","elementMatches","parentChildNodes","previousSibling","emptyArray","scrollWindow","directionStrategy","rendererWrapper","defaultSlot","zhCn","bitmap","te","Bootable","appendIcon","noAction","prependIcon","subGroup","listClick","matchRoute","genAppendIcon","VListItemIcon","genHeader","VListItem","genPrependIcon","genItems","VListItemActionText","VListItemContent","VListItemTitle","VListItemSubtitle","VList","VListItemAction","VListItemAvatar","VListItemGroup","ppm","ppb","ppt","ppq","getDescriptor","EXISTS","PROPER","nativeCreate","Comparable","Proxyable","mandatory","internalLazyValue","toggleMethod","selectedValues","valueComparator","intern","updateInternalValue","updateMandatory","updateItem","valueIndex","updateItemsState","updateMultiple","updateSingle","getElementLocationInternal","containerElement","inverseProp","containerOffsetSize","containerClientSize","containerSize","relativeElementOffset","containerScrollOffset","relativeStartOffset","relativeEndOffset","SCROLLABLE","SCROLLABLE_STRATEGY","SCROLLABLE_CLASS","SCROLLABLE_DISABLED_CLASS","SCROLLABLE_CONTAINER_CLASS","SCROLLABLE_WRAPPER_CLASS","SCROLLABLE_CONTENT_CLASS","BOTH","onStart","onBounce","useSimulatedScrollbar","inertiaEnabled","updateManually","mozilla","_setUseSimulatedScrollbar","initialOption","_initScrollableMarkup","_locked","_updateRtlPosition","_savedScrollOffset","_renderDirection","_renderStrategy","_renderDisabledState","_createActions","needInitializeRtlConfig","updateRtlPosition","_getMaxOffset","scrollWidth","initEventData","_initHandler","handleStart","handleMove","handleEnd","handleCancel","handleStop","handleScroll","_isLocked","_updateIfNeed","_moveIsAllowed","_prepareDirections","handleInit","_lock","_unlock","_createStrategy","createActions","_resetInactiveDirection","disabledChanged","inactiveProp","_getInactiveProp","_location","_normalizeLocation","_isDirection","_updateAllowedDirection","allowedDirections","_allowedDirections","_allowedDirectionValue","_allowedDirection","_getScrollOffset","_isRtlNativeStrategy","_applyScaleRatio","elementInsideContent","elementIsInsideContent","scrollPosition","getScrollElementPosition","isRenovated","DX_RULE_PREFIX","ownerDocumentStyleSheet","createConstructedStyleSheet","CSSStyleSheet","styleElement","sheet","processRules","targetStyleSheet","styleSheets","needApplyAllStyles","cssRules","insertRule","_rule$selectorText","_rule$cssRules","_rule$cssRules$","_rule$cssRules$$selec","_rule$name","_rule$style","isDxRule","selectorText","startsWith","addShadowDomStyles","_el$getRootNode","currentShadowDomStyleSheet","adoptedStyleSheets","isPositionInElementRectangle","shiftIndex","getShadowElementsFromPoint","elementQueue","ugCn","FunctionTemplate","getTemplatePropName","uppercaseFirst","lowercaseFirst","toComparable","value1","value2","forEachChildNode","obj1","obj2","obj1Keys","obj1Keys_1","getOptionValue","fitIntoRange","isMinValueUndefined","isMaxValueUndefined","getExponent","getExponentialNotation","mantissa","multiplyInExponentialForm","exponentShift","exponentialNotation","_isEdgeBug","toPrecision","separatedAdjustedValue","getPrecision","separatedValue","sourceValue","absValue","isExponentValue","integerPart","positionOfDelimiter","getRoot","solveCubicEquation","D2","roots","D3","_normalize","_upperCaseFirst","_chop","dasherize","titleize","DIGIT_CHARS","captionize","captionList","isPrevCharNewWord","isNewWord","breakpointProps","offsetProps","orderProps","cols","alignSelf","hasColClasses","webpackPolyfill","paths","leftPad","FORMAT_TYPES","LDML_FORMATTERS","useUtc","Q","timezoneOffset","signPart","timezoneOffsetAbs","hoursPart","minutesPart","X","Z","charIndex","isCurrentCharEqualsNext","charCount","isEscaping","msMy","TEMPLATE_MULTIPLE_ROOTS_ERROR","sd","SCROLLVIEW_PULLDOWN_REFRESHING_CLASS","SCROLLVIEW_PULLDOWN_READY_CLASS","SCROLLVIEW_PULLDOWN_IMAGE_CLASS","SCROLLVIEW_PULLDOWN_INDICATOR_CLASS","SCROLLVIEW_PULLDOWN_TEXT_CLASS","SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS","STATE_RELEASED","STATE_READY","STATE_REFRESHING","STATE_LOADING","PULLDOWN_RELEASE_TIME","PullDownNativeScrollViewStrategy","_$topPocket","_$pullDown","_$refreshingText","_$scrollViewContent","_initCallbacks","pullDownCallbacks","releaseCallbacks","reachBottomCallbacks","_renderPullDown","_releaseState","$image","$loadContainer","$loadIndicator","$text","_$pullDownText","_$pullingDownText","_$pulledDownText","_refreshPullDownText","pullDownTextItems","visibleState","_setTopPocketOffset","_topPocketSize","contentEl","containerEl","_bottomBoundary","_pullDownEnabled","_setPullDownOffset","_pullDownRefreshTimeout","_pullDownRefreshing","currentLocation","scrollDelta","_isPullDown","_pullDownReady","_isReachBottom","_reachBottom","_stateReleased","_reachBottomEnabled","pullDownEnable","reachBottomEnable","pendingRelease","_releaseTimeout","_updateAction","SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS","PULLDOWN_ICON_CLASS","STATE_TOUCHED","STATE_PULLED","SwipeDownNativeScrollViewStrategy","_$icon","_releasePullDown","_startClientY","_deltaY","_movePullDown","pullDownHeight","_getPullDownHeight","_getPullDownStartPosition","_pullDownRefreshHandler","_refreshPullDown","ScrollViewScroller","_bottomPocketSize","_updateBounds","considerPockets","_$bottomPocket","_updateScrollbar","_scrollbar","_containerSize","_contentSize","scaleRatio","_getScaleRatio","_moveContent","_reachBottomReady","_moveScrollbar","_scrollComplete","_inBounds","_reachBottomLoading","_minOffset","_getMinOffset","_maxOffset","_releaseHandler","_moveToBounds","_releaseTask","_release","_reachBottomEnablingHandler","_pullDownEnablingHandler","_considerTopPocketChange","_updateHandler","_pendingReleaseHandler","SimulatedScrollViewStrategy","_eventHandler","_createScroller","scroller","_scrollers","_scrollerOptions","$topPocket","$bottomPocket","$pullDown","$pullDownText","$pullingDownText","$pulledDownText","$refreshingText","SCROLLVIEW_CLASS","SCROLLVIEW_CONTENT_CLASS","SCROLLVIEW_TOP_POCKET_CLASS","SCROLLVIEW_BOTTOM_POCKET_CLASS","SCROLLVIEW_PULLDOWN_CLASS","SCROLLVIEW_REACHBOTTOM_CLASS","SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS","SCROLLVIEW_REACHBOTTOM_TEXT_CLASS","SCROLLVIEW_LOADPANEL","refreshStrategies","pullDown","swipeDown","simulated","scrollViewServerConfig","ScrollView","refreshStrategy","_loadingIndicatorEnabled","_initContent","_initTopPocket","_initBottomPocket","_initLoadPanel","$reachBottom","_$reachBottom","_$reachBottomText","_updateReachBottomText","$loadPanelElement","loadPanelOptions","_loadPanel","strategyName","strategyClass","_reachBottomHandler","_pullDownAction","_reachBottomAction","_tryRefreshPocketState","_pullDownEnable","_reachBottomEnable","_pullDownLoading","preventReachBottom","showOrHide","Rippleable","GroupableFactory","offIcon","onIcon","Selectable","hasLabel","computedName","rippleState","VLabel","genRadio","radioAttrs","mergeListeners","DATA_SOURCE_OPTIONS_METHOD","DATA_SOURCE_CHANGED_METHOD","DATA_SOURCE_LOAD_ERROR_METHOD","DATA_SOURCE_LOADING_CHANGED_METHOD","DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD","SPECIFIC_DATA_SOURCE_OPTION","NORMALIZE_DATA_SOURCE","DataHelperMixin","_disposeDataSource","_initDataSource","_loadDataSource","widgetDataSourceOptions","dataSourceType","dataSourceOptions","_isSharedDataSource","_dataSourceType","_addDataSourceHandlers","_addDataSourceChangeHandler","_addDataSourceLoadErrorHandler","_addDataSourceLoadingChangedHandler","_addReadyWatcher","_ready","_proxiedDataSourceChangedHandler","_proxiedDataSourceLoadErrorHandler","_proxiedDataSourceLoadingChangedHandler","_loadSingle","loadSingle","isLastPage","_isDataSourceLoading","relativeTimeWithMutation","specialMutationForYears","lastNumber","softMutation","mutationTable","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","Pa","kPa","MPa","hPa","torr","psi","ksi","last2Digits","normalizeBoundaryValue","_value$top","_value$right","_value$bottom","_value$left","normalizeRowsInfo","rowsInfo","cells","pdfCell","DOTS_TEXT","toPdfUnit","coefficient","internal","scaleFactor","getPageWidth","getPageHeight","getTextLines","wordWrapEnabled","targetRectWidth","usedFont","getFont","splitTextToSize","getFontSize","fontName","textWithoutLineBreak","getTextDimensions","symbolsCountToRemove","calculateTargetRectWidth","columnWidth","calculateTextHeight","heightOfOneLine","linesCount","getLineHeightFactor","calculateRowHeight","rowHeight","cellIndex","rowSpan","cellText","cellPadding","cellHeight","applyRtl","rectsByPages","pageRects","mirroredX","marginDiff","getSum","calculateColumnWidths","dataProvider","topLeftX","customerColumnWidths","resultWidths","getColumnsWidths","totalAutoColumnsWidth","totalCustomerColumnsWidth","availablePageWidth","getAvailablePageAreaWidth","_customerColumnWidths","initializeCellsWidth","rows","topLeft","gridCell","calculateHeights","customerHeight","pdfCells","onRowExporting","rowCells","applyColSpans","colSpan","isMerged","spanIndex","mergedCell","applyRowSpans","resizeFirstColumnByIndentLevel","indentLevel","applyBordersConfig","columnIndex","leftPdfCell","topPdfCell","drawLeftBorder","drawRightBorder","drawTopBorder","drawBottomBorder","calculateCoordinates","_topLeft$y","_topLeft$x","intend","calculateTableSize","_leftPos","_options$topLeft","_topPos","_options$topLeft2","leftPos","topPos","rightPos","bottomPos","updateRowsAndCellsHeights","rowsAdditionalHeights","calculateAdditionalRowsHeights","_cell$rowSpan","rowsCount","sortedRows","sortRowsByMaxRowSpanAsc","cellsWithRowSpan","currentRowSpanRowsHeight","getMaxRowSpan","spansArray","_cell$rowSpan2","row1","row2","row1RowSpan","row2RowSpan","defaultStyles","groupFooter","totalFooter","generateRowsInfo","dataGrid","headerBackgroundColor","getRowsCount","columns","getColumns","rowType","getCellData","cellSourceData","getGroupLevel","previousRow","generateRowCells","_style$alignment","cellData","cellStyle","getStyleId","getPdfCellStyle","defaultAlignment","paddingValue","verticalAlign","horizontalAlign","_internalTextOptions","isInputVisual","isOutputVisual","isInputRtl","isOutputRtl","cellInfo","cellMerging","getCellMerging","rowspan","colspan","drawLeftBorderField","drawRightBorderField","isEmptyCellsExceptFirst","getBaseTableStyle","bold","capitalizeFirstLetter","roundToThreeDecimals","drawCellsContent","customDrawCell","cellsArray","docStyles","eventArg","drawCellBackground","drawCellText","getLineHeightShift","drawTextInRect","jsPDFTextOptions","textArray","vAlign","hAlign","verticalAlignCoefficientsMap","middle","textOptions","baseline","trySetColor","setTextStyles","_cell$_textLeftOffset","_cell$_textTopOffset","textRect","_textLeftOffset","_textTopOffset","saveGraphicsState","clipOutsideRectContent","restoreGraphicsState","drawCellsLines","drawBorders","drawGridLines","setLinesStyles","currentFont","docFont","setFont","setFontSize","currentBorderWidth","getDocBorderWidth","setDocBorderWidth","getterName","setterName","ch1","ch2","ch3","ch4","normalizedColor","__private__","decodeColorString","encodeColorString","getDocumentStyles","getDrawColor","getTextColor","setDocumentStyles","docFontSize","setDrawColor","addNewPage","addPage","resetDocBorderWidth","_doc$__borderWidth","getLineWidth","__borderWidth","setLineWidth","discardPath","isHeader","sourceCellInfo","spitMultiPageRows","rectsToPatch","isCurrentPageContainsOnlyHeader","firstRectYAdjustment","splitMultiPageRowFunc","checkIsFitToPageFunc","newPageRects","remainPageRects","newPageRectsArray","patchRects","rectsToSplit","rectIndex","untouchedRowIdx","checkPageContainsOnlyHeader","isFirstPage","getMultiPageRowPages","currentPageRects","currentPageLastRect","nextPageFirstRect","isRectsFitsToPage","multiPageRowPages","createMultiCellRect","createOnSplitMultiPageRow","headerHeight","maxBottomRight","nextPageRects","maxCurrentPageHeight","maxNextPageHeight","additionalHeight","repeatHeaders","paddingHeight","fullPageHeight","possibleLinesCount","allLines","currentPageText","currentPageHeight","_currentPageHeight","COORDINATE_EPSILON","convertToCellsArray","splitByPages","onSeparateRectHorizontally","onSeparateRectVertically","headerRows","verticallyPages","splitRectsByPages","currentCoordinate","currentPageMaxRectCoordinate","sourceRect","topRect","bottomRect","headerCells","horizontallyPages","pagesLength","leftRect","rightRect","marginValue","coordinate","isFitToPage","onSeparateCallback","onSplitMultiPageRow","pages","isFitToPageForMultiPageRow","rectHeight","currentRectCoordinate","rectsToSeparate","currentRectLeft","currentRectRight","firstPageContainsHeaderAndMultiPageRow","firstPage","restOfPages","_getFullOptions","jsPDFDocument","fullOptions","loadPanel","exportDataGrid","_component$_getIntern","exportLoadPanel","internalComponent","_getInternalInstance","initialLoadPanelEnabledOption","rowsView","getView","getDataProvider","_options$rowOptions","_options$rowOptions$h","rowOptions","headerStyles","customizeCell","_sourceRect$sourceCel","leftRectTextOptions","rightRectTextOptions","isTextNotEmpty","isTextWidthGreaterThanRect","isTextRightAlignment","_sourceRect$sourceCel2","_sourceRect$sourceCel4","_sourceRect$sourceCel5","rightRectTextOffset","leftRectTextOffset","_sourceRect$sourceCel3","_isTextWidthGreaterThanRect","isTextLeftAlignment","_sourceRect$sourceCel6","_sourceRect$sourceCel8","_sourceRect$sourceCel10","leftTextLeftOffset","rightTextLeftOffset","_sourceRect$sourceCel7","_sourceRect$sourceCel9","debugSourceCellInfo","_sourceRect$sourceCel11","topRectTextOptions","bottomRectTextOptions","_sourceRect$sourceCel12","isTextHeightGreaterThanRect","isTextTopAlignment","_sourceRect$sourceCel13","_sourceRect$sourceCel15","_sourceRect$sourceCel17","topTextTopOffset","bottomTextTopOffset","_sourceRect$sourceCel14","_sourceRect$sourceCel16","pdfCellsInfo","isEmptyPdfCellsInfoSpecified","tableRect","baseStyle","Export","getFullOptions","HOW_TO_MIGRATE_ARTICLE","autoTableOptions","jsPrefixes","Webkit","Moz","forEachPrefixes","callBack","cssPrefixesCount","jsPrefix","prefixedProp","lowerPrefixedProp","styleProp","originalName","stylePropPrefix","specific","pxExceptions","normalizeStyleProp","setDimensionProperty","setHeight","styleString","resetStyle","styleList","stylePart","NATIVE_WEAK_MAP","sharedKey","OBJECT_ALREADY_INITIALIZED","WeakMap","getterFor","TYPE","facade","STATE","TOOLBAR_CLASS","executingName","ensureDefined","executeAsync","normalizedContext","delayedFuncs","delayedNames","delayedDeferreds","deferExecute","oldExecutingName","currentDelayedCount","deferRender","deferUpdate","deferRenderer","deferUpdater","findBestMatches","targetFilter","mapFn","bestMatches","maxMatchCount","itemSrc","matchCount","targetValue","mismatch","valueItem","splitPair","_raw$x","_raw$y","pairToObject","preventRound","getKeyHash","keyHash","escapeRegExp","applyServerDecimalSeparator","asyncNoop","checkFunction","expectedCheck","compareByValue","compareObjects","object1","object2","keys1","keys2","keys2Set","DEFAULT_EQUAL_BY_VALUE_OPTS","comparable1","comparable2","comparisonResult","equalByValue","compareOptions","nb","arTn","DxSearchEditorOptions","DxOptions","DxMenuItem","DxItemDragging","DxItem","DxCursorOffset","DxButton","DxList","list_1","allowItemDeleting","itemDeleteMode","itemDragging","menuMode","onSelectAllValueChanged","searchEditorOptions","searchEnabled","searchMode","searchTimeout","selectAllMode","selectAllText","showSelectionControls","allowDropInsideItem","autoScroll","bindingOptions","cursorOffset","dropFeedbackMode","itemOrientation","moveItemOnDrop","onAdd","onDragEnd","onDragMove","onRemove","scrollSensitivity","scrollSpeed","anchor_shift","K","R","itCh","clearErrorStack","ERROR_STACK_INSTALLABLE","captureStackTrace","isCorrectStructure","hasTwoFields","hasCorrectFields","_getSpecificDataSourceOption","hasSimpleItems","innerItem","keepInitialKeyOrder","enNz","defaultNotDeepCopyArrays","propsToIgnore","getDiffItem","resultPaths","fullPropName","notDeepCopyArrays","type1","type2","diffPaths","objectDiffs","notDeepCopy","_diffPaths","objectDiffsFiltered","propsEnumerator","processItem","reactProps","objectDiffsWithoutReactProps","getUpdatedOptions","_excluded2","DomComponentWrapperProps","setupWidget","updateWidget","updatedOptions","prevProps","_this$config","normalizedProps","monthsShortWithDots","monthsShortWithoutDots","VAvatar","setPrototypeOf","dummy","Wrapper","NewTarget","NewTargetPrototype","Routable","tabValue","$router","tabsBar","extended","floating","smAndDown","breakingProps","replacement","VImg","genExtension","extension","DataControllerMock","addSearchFilter","DataController","operation","aCallable","u8","u16","Uint16Array","i32","Int32Array","fleb","fdeb","clim","freb","eb","fl","revfl","fd","revfd","rev","hMap","cd","mb","le","rvb","r_1","flt","fdt","flm","flrm","fdm","fdrm","bits16","shft","slc","subarray","ec","nt","inflt","dat","st","dict","dl","noBuf","noSt","cbuf","nbuf","bt","dm","lbt","dbt","tbts","hLit","hcLen","ldt","clt","clb","clbmsk","clm","dt","lms","dms","lpos","sym","dsym","dend","wbits","wbits16","hTree","maxSym","mbt","lft","cst","i2_1","i2_2","i2_3","lc","cli","cln","clen","cf","wfblk","wblk","syms","df","li","dlt","mlb","ddt","mdb","lclt","nlc","lcdt","ndc","lcfreq","lct","mlcb","nlcc","flen","ftlen","dtlen","llm","lcts","clct","deo","dflt","lvl","plvl","lst","msk_1","bs1_1","bs2_1","hsh","lc_1","wi","hv","imod","pimod","ch_1","dif","maxn","maxd","mmd","md","ti","pti","lin","din","adler","dopt","newDat","mem","wbytes","zlh","zls","zlibSync","unzlibSync","TextDecoder","decode","stream","queueMicrotask","enIl","CONTEXTMENU_NAMESPACE","CONTEXTMENU_NAMESPACED_EVENT_NAME","HOLD_NAMESPACED_EVENT_NAME","CONTEXTMENU_EVENT_NAME","ContextMenu","_contextMenuHandler","_holdHandler","_fireContextMenu","HOLD_EVENT_NAME","HoldEmitter","_startTimer","holdTimeout","_touchWasMoved","_stopTimer","ezafeNumSuffix","kuKmr","themeableProvide","rootThemeClasses","functionalThemeClasses","getRelativeOffset","targetElementClass","sourceElement","parentElementRect","changeCallback","$originalViewPort","$current","isNewViewportFound","originalViewPort","validateAttachTarget","removeActivator","hasDetached","initDetach","isConnected","removedNodes","disconnect","subtree","childList","SWIPE_START_EVENT_NAME","SWIPE_UPDATE_EVENT_NAME","SWIPE_END_EVENT_NAME","EditDecorator","swipeConfig","_clearSwipeCache","_itemWidthCache","_itemSwipeStartHandler","_itemSwipeUpdateHandler","_commonOptions","handleKeyboardEvents","handleEnterPressing","visibilityChange","getExcludedSelectors","Cancel","write","expires","domain","secure","cookie","toGMTString","read","decodeURIComponent","requireObjectCoercible","isCssColor","colorToInt","intToHex","colorToHex","cm","km","yd","ft","activeXDocument","definePropertiesModule","documentCreateElement","GT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","NullProtoObject","ActiveXObject","hasNegation","equals","oldValueIsNaN","newValueIsNaN","cachedGetters","cachedSetters","optionsByReference","_changingCallback","_changedCallback","_namePreparedCallbacks","rulesOptions","functionsAsIs","unwrapObservables","valueName","_prepareRelevantNames","_setPreparedValue","deprecatedOptions","_deprecatedCallback","_startChangeCallback","_endChangeCallback","_deprecatedNames","_initDeprecatedNames","_optionManager","onRelevantNamesPrepared","_setRelevantNames","_cachedOptions","_rules","_initialOptions","_getByRules","_setByReference","_normalizeName","_setField","_clearField","fieldObject","previousFieldName","_notifyDeprecated","onChanging","onChanged","areFunctions","_initial","isGetter","aliasName","_postponedOperations","postponedPromise","promises","completePromise","isInnerOption","Component","defaultOptionsRules","applyRules","isInitial","_optionChangedCallbacks","_disposingCallbacks","eventsStrategy","_updateLockCount","postponedOperations","_createOptions","_setDeprecatedOptions","_getOptionsByReference","_getDeprecatedOptions","_optionChanging","onDeprecated","_logDeprecatedOptionWarning","_notifyOptionChanged","onStartChange","onEndChange","addRules","onInitializing","_setOptionsByDevice","_createOptionChangedAction","_disposingAction","_createDisposingAction","_initializing","callPostponedOperations","_isInitializingRequired","_lockUpdate","_unlockUpdate","_commitUpdate","optionNames","getAliasesByName","_defaultActionArgs","_cancelOptionChange","actionSource","actionValue","_defaultActionConfig","actionFunc","beforeActionExecute","wrappedAction","onActionCreated","isDeprecated","TEMPLATE_OPTIONS_NAME","DX_POLYMORPH_WIDGET_TEMPLATE","widgetElement","widgetOptions","_tempTemplates","_defaultTemplates","_anonymousTemplateName","_createTemplateIfNeeded","skipImmediate","useDeferUpdateForTemplates","tempTemplate","_extractTemplates","anonymousTemplateMeta","_extractAnonymousTemplate","suitableTemplates","_createTemplate","$anonymousTemplate","$notJunkTemplateContent","isEmptyText","cachedTemplate","templateSourceResult","DOMComponent","createDefaultOptions","_customClass","_getSynchronizableOptionsForCreateComponent","_checkFunctionValueDeprecation","_attachWindowResizeCallback","_initTemplateManager","instanceCustomRules","_classCustomRules","isCustomOption","_isDimensionChangeSupported","windowResizeCallBack","_windowResizeCallBack","_toggleRTLDirection","_attachDimensionChangeHandlers","_isVisibilityChangeSupported","_isCssUpdateRequired","_isHidden","_checkVisibilityChanged","modelByElement","_requireRefresh","_renderComponent","_detachWindowResizeCallback","synchronizableOptions","nestedComponentOptions","nestedComponentConfig","_extendConfig","optionChangedHandler","extendConfig","renderRequired","_updateDOMComponent","_removeAttributes","_removeClasses","extractTemplates","anonymousTemplate","DIRECTION_VERTICAL","DIRECTION_HORIZONTAL","DIRECTION_BOTH","baseCreateWrapper","createWrapper","bitmask","partialRightArgs","isBind","isBindKey","isCurry","isPartial","isPartialRight","__bindData__","creater","getDefaultAlignment","isRtlEnabled","totalOffset","goTo","scrollingElement","appOffset","framework","isDrawer","isClipped","startLocation","easingPatterns","timeElapsed","reachBottom","Goto","Service","makeWatcher","hideCallback","indexOfCallback","hasCallback","OVERLAY_CLASS","OVERLAY_WRAPPER_CLASS","OVERLAY_CONTENT_CLASS","OVERLAY_SHADER_CLASS","INNER_OVERLAY_CLASS","INVISIBLE_STATE_CLASS","RTL_DIRECTION_CLASS","OVERLAY_STACK","PREVENT_SAFARI_SCROLLING_CLASS","TAB_KEY","_proxiedDocumentDownHandler","Overlay","wrapperAttr","closeOnOutsideClick","copyRootClassesToWrapper","_ignoreCopyRootClassesToWrapperDeprecation","_ignoreElementAttrDeprecation","_ignorePreventScrollEventsDeprecation","onShowing","onShown","onHiding","innerOverlay","restorePosition","ignoreChildEvents","_hideOnParentScrollTarget","_eventBindingTarget","_logDeprecatedPreventScrollEventsInfo","_initActions","_initHideOnOutsideClickHandler","_initTabTerminatorHandler","_customWrapperClass","_initInnerOverlayClass","_toggleViewPortSubscription","_initHideTopOverlayHandler","_parentsScrollSubscriptionInfo","_hideOnParentsScrollHandler","warnPositionAsFunction","_hideTopOverlayHandler","_renderWrapperAttributes","_initPositionController","isAttachedTarget","isInnerOverlay","outsideClick","_shouldHideOnOutsideClick","_outsideClickHandler","_isTopOverlay","overlayStack","_overlayStack","tabbableElements","_findTabbableBounds","_this2","_viewPortChangeHandle","_viewPortChangeHandler","_getAnimationConfig","_this$_getAnimationCo","_showAnimation$start","_showAnimation$comple","_this3","showAnimation","_normalizeAnimation","startShowAnimation","completeShowAnimation","_showingDeferred","_processShowingHidingCancel","cancelArg","applyFunction","cancelFunction","shouldCancel","_parentHidden","_isParentHidden","_currentVisible","_isHidingActionCanceled","_updateZIndexStackPosition","openingHandled","showingArgs","_renderVisibility","_isShowingActionCanceled","_moveFromContainer","_stopShowTimer","_asyncShowTimeout","showHideConfig","_animateHiding","_this$_getAnimationCo2","_hideAnimation$start","_hideAnimation$comple","_this4","hideAnimation","startHideAnimation","completeHideAnimation","_this4$_actions","_hideAnimationProcessing","_hidingDeferred","_forceFocusLost","_toggleShading","_toggleSubscriptions","shouldResetActiveElement","completeCallback","startCallback","_checkContainerExists","_moveToContainer","pushToStack","_toggleTabTerminator","_this5","_proxiedTabTerminatorHandler","_tabKeyHandler","$elements","elementsCount","$firstTabbable","$lastTabbable","isTabOnLast","isShiftTabOnFirst","isEmptyTabList","isOutsideTarget","$focusElement","_toggleHideTopOverlayCallback","_toggleHideOnParentsScrollSubscription","needSubscribe","_this$_parentsScrollS","scrollEvent","prevTargets","hideHandled","$hideOnParentScrollTarget","_appendContentToElement","shouldDeferRendering","isParentHidden","_contentAlreadyRendered","isHidden","whenContentRendered","contentTemplateOption","noModel","_toggleWrapperScrollEventsSubscription","_skipContentPositioning","onVisualPositionChanged","isWheel","isMouseMove","isScrollByWheel","$wrapperContainer","containerExists","$body","isIosSafari","isAllWindowCovered","isScrollingPrevented","shouldPreventScrolling","shouldEnableScrolling","_cachedBodyScrollTop","styleWrapperPosition","positionWrapper","isVisualContainerWindow","wrapperWidth","wrapperHeight","_keyboardListenerId","_keyboardHandler","_deferShowTimer","_this$_animateDeferre","_animateDeferred","_this$_animateDeferre2","updateVisualContainer","fixWrapperPosition","animateDeferred","ea","dz","testListenerOpts","addPassiveEventListener","getNestedValue","getPropertyFromItem","filterObjectOnKeys","icons","iconPath","groupItems","groupDesc","wrapInArray","sortItems","sortDesc","customSorters","stringCollator","sensitivity","usage","sortKey","sortA","sortB","customResult","defaultFilter","searchItems","getPrefixedScopedSlots","optional","kebabName","clamp","padEnd","chunked","camelizeObjectKeys","mergeDeep","fillArray","composedPath","ARABIC_COMMA","FORMAT_SEPARATORS","AM_PM_PATTERN","checkDigit","zeroCode","checkPatternContinue","nextChar","isDigitChanged","getPatternStartIndex","defaultPattern","getDifference","processedIndexes","patternsFilter","replaceCharsCore","indexes","patternPositions","baseCharIndex","patternIndex","replaceChars","letterCount","ESCAPE_CHARS_REGEXP","escapeChars","escapeIndexes","isCurrentCharEscaped","isPrevCharEscaped","isNextCharEscaped","replacedPatterns","datePatterns","numbersPast","numbersFuture","verbalNumber","Measurable","Roundable","roundedClasses","arSa","Positionable","ToggleableFactory","btnToggle","block","depressed","fab","plain","retainFocusOnClick","isElevated","hasBg","isRound","elevationClasses","sizeableClasses","computedElevation","Elevatable","defaultRipple","elevation","genLoader","isAbsoluteURL","combineURLs","baseURL","requestedURL","alignTop","pkg","deprecatedWarnings","currentVerArr","isOlderVersion","thanVersion","pkgVersionArr","destVer","schema","allowUnknown","formatMessage","useLegacyTemplateEngine","watchChanges","rawData","fields","fieldsDispose","globalDispose","dataWithRawFields","resolvedData","missedFields","watchHandlers","BindableTemplate","_fields","_fieldsMap","_watchMethod","isGreater","VCounter","intersectable","Intersect","onVisible","Intersectable","Loadable","dirtyTypes","appendOuterIcon","autofocus","clearable","clearIcon","counter","counterValue","filled","prependInnerIcon","persistentPlaceholder","shaped","singleLine","solo","soloInverted","badInput","prefixWidth","prependWidth","isClearing","isSingle","isSolo","isEnclosed","Validatable","hasCounter","hasDetails","isDirty","isLabelActive","showLabel","setLabelWidth","setPrefixWidth","tryAutofocus","genAppendSlot","genSlot","genPrependInnerSlot","genIconSlot","genClearIcon","genCounter","maxlength","genControl","genFieldset","genTextFieldSlot","genLegend","inputAttrs","quiet","genMessages","showDetails","messagesNode","counterNode","genAffix","attachedRoot","onMouseDown","onMouseUp","hasMouseDown","setPrependWidth","TextEditorButton","$placeMarker","_isRendered","_addPlaceMarker","_shouldRender","isInList","isInMenu","isInNav","nav","subheader","threeLine","twoLine","dindex","entriesLength","functionToString","MONTHS","DAYS","PERIODS","QUARTERS","cutCaptions","captions","lengthByFormat","ok","example","toRGB","N","modify","I","perm","processOwnerPassword","encryptionKey","lsbFirstWord","hexToBytes","U","publish","getTopics","objectNumber","gState","matrix","boundingBox","xStep","yStep","cloneIndex","compress","compressPdf","encryption","userPassword","ownerPassword","userPermissions","userUnit","defaultPathOperation","putOnlyUsedFonts","PubSub","getPdfVersion","setPdfVersion","a2","a3","a4","a5","a6","a7","a8","a9","a10","b0","b3","b4","b5","b6","b7","b8","b9","b10","c3","c4","c5","c6","c7","c8","c9","c10","legal","ledger","tabloid","getPageFormats","getPageFormat","COMPAT","ADVANCED","Vt","Rr","combineFontStyleAndFontWeight","advancedAPI","compatAPI","isAdvancedAPI","roundToPrecision","hpf","T","f3","setPrecision","G","getFileId","setFileId","Ye","convertDateToPDFDate","convertPDFDateToDate","setCreationDate","getCreationDate","padd2","padd2Hex","rt","ot","ut","Qt","Kt","setCustomOutputDestination","ht","resetCustomOutputDestination","getArrayBuffer","ArrayBuffer","getStandardFonts","vt","R2L","setR2L","getR2L","wt","setZoomMode","getZoomMode","Nt","Lt","setPageMode","getPageMode","At","setLayoutMode","getLayoutMode","setDisplayMode","xt","subject","author","keywords","getDocumentProperty","getDocumentProperties","setDocumentProperties","setProperties","setDocumentProperty","St","Pt","kt","It","Ft","Ct","jt","Ot","Bt","Mt","Et","qt","Dt","Rt","Tt","Ut","hotfixes","zt","Ht","Wt","_matrix","shx","sx","decompose","sy","shy","tx","ty","multiply","skew","inversed","applyToPoint","Cr","applyToRectangle","jr","Matrix","Gt","matrixMult","Yt","unitMatrix","identityMatrix","Jt","ShadingPattern","TilingPattern","addShadingPattern","beginTilingPattern","Br","endTilingPattern","Xt","newObject","Zt","newObjectDeferred","$t","newAdditionalObject","objId","pdfColorType","getFilters","ie","putStream","alreadyAppliedFilters","addLength1","objectId","encryptor","additionalKeyValues","API","processDataByFilters","reverseChain","ae","putPage","contentsObjId","rootDictionaryObjId","resourceDictionaryObjId","mediaBox","bottomLeftX","bottomLeftY","topRightX","topRightY","cropBox","bleedBox","trimBox","artBox","pageContext","pageNumber","page","oe","putPages","isAlreadyPutted","postScriptName","encoding","ue","he","fe","resourcesOid","objectOid","pe","ge","ve","oid","toHexString","ye","we","Ne","Le","Ae","xe","Se","Pe","isStandardFont","ke","Ie","foo","alert","Fe","sourceEncoding","outputEncoding","autoencode","codePages","noBOM","Ce","pdfEscape","je","beginPage","Me","Oe","pr","Lr","Ir","Be","setPage","Ee","getNumberOfPages","qe","disableWarning","noFallback","De","putInfo","Re","putCatalog","Te","putTrailer","Ue","putHeader","ze","putXRef","He","buildDocument","We","Ve","filename","unescape","pdfObjectUrl","pdfJsUrl","PDFViewerApplication","Ge","Je","Xe","getPageInfo","Ke","getPageInfoByObjId","Ze","getCurrentPageInfo","insertPage","movePage","deletePage","lineHeightFactor","lr","TabLen","mutex","activeFontKey","activeFontSize","rotationDirection","charSpace","_r","setCharSpace","getCharSpace","horizontalScale","renderingMode","usedRenderingMode","getStringUnitWidth","doKerning","yr","isHex","$e","clipEvenOdd","Qe","isValidStyle","setDefaultPathOperation","er","rr","fillEvenOdd","fillStroke","fillStrokeEvenOdd","nr","ir","or","setGState","cr","curveTo","triangle","ellipse","getFontList","addFont","dr","setLineDashPattern","gr","getLineHeight","setLineHeightFactor","vr","getHorizontalCoordinate","getVerticalCoordinate","wr","getHorizontalCoordinateString","Nr","getVerticalCoordinateString","strokeColor","getStrokeColor","setStrokeColor","Ar","fillColor","getFillColor","setFillColor","Sr","Pr","CapJoinStyles","butt","but","miter","projecting","project","square","bevel","setLineCap","setLineJoin","setLineMiterLimit","setMiterLimit","GState","Fr","addGState","setCurrentTransformationMatrix","comment","Or","currentPage","pagesContext","qr","outputDestination","Dr","Tr","Mr","Er","beginFormObject","endFormObject","doFormObject","getFormObject","returnPromise","unload","setPageWidth","setPageHeight","getCoordinateString","collections","newObjectDeferredBegin","encryptionOptions","getEncryptor","getPDFVersion","hasHotfix","__acroform__","BBox","setBit","clearBit","getBit","getBitForPdf","setBitForPdf","clearBitForPdf","lowerLeft_X","lowerLeft_Y","upperRight_X","upperRight_Y","appearanceStreamContent","DV","_V","maxFontSize","multiline","xForms","acroFormDictionaryRoot","printedOut","isInitialized","acroformPlugin","FieldNum","_eventID","Fields","hasAnnotation","Kids","Rect","DA","createDefaultAppearanceStream","getKeyValueListForStream","hasAppearanceStream","arrayToPdfArray","_objId","Ff","FT","addOption","removeOption","combo","edit","CA","pushButton","appearanceState","_AppearanceType","RadioButton","Circle","createAppearanceStream","setAppearance","getCA","createOption","Parent","CheckBox","isInteger","On","YesNormal","YesPushDown","Off","OffPushDown","Bezier_C","Cross","calculateCross","x4","addField","AcroFormChoiceField","AcroFormListBox","AcroFormComboBox","AcroFormEditBox","AcroFormButton","AcroFormPushButton","AcroFormRadioButton","AcroFormCheckBox","AcroFormTextField","AcroFormPasswordField","AcroFormAppearance","AcroForm","ChoiceField","ListBox","ComboBox","EditBox","Button","PushButton","TextField","PasswordField","Appearance","__addimage__","TIFF","JPEG2000","GIF87a","GIF89a","WEBP","BMP","getImageFileTypeByImageData","Uint8ClampedArray","colorSpace","INDEXED","sMask","DEVICE_CMYK","bitsPerComponent","decodeParameters","transparency","predictor","addImage_images","loadFile","color_spaces","DEVICE_RGB","DEVICE_GRAY","CAL_GREY","CAL_RGB","LAB","ICC_BASED","PATTERN","SEPARATION","DEVICE_N","DCT_DECODE","FLATE_DECODE","LZW_DECODE","JPX_DECODE","JBIG2_DECODE","ASCII85_DECODE","ASCII_HEX_DECODE","RUN_LENGTH_DECODE","CCITT_FAX_DECODE","image_compression","FAST","MEDIUM","SLOW","sHashCode","validateStringAsBase64","extractImageFromDataUrl","supportsArrayBuffer","Uint32Array","Int8Array","Int16Array","Float32Array","Float64Array","binaryStringToUint8Array","arrayBufferToBinaryString","addImage","compression","convertBase64ToBinaryString","getImageProperties","fileType","_nameMap","finalBounds","magFactor","createAnnotation","textWithLink","1569","1570","1571","1572","1573","1574","1575","1576","1577","1578","1579","1580","1581","1582","1583","1584","1585","1586","1587","1588","1589","1590","1591","1592","1593","1594","1601","1602","1603","1604","1605","1606","1607","1608","1609","1610","1649","1655","1657","1658","1659","1662","1663","1664","1667","1668","1670","1671","1672","1676","1677","1678","1681","1688","1700","1702","1705","1709","1711","1713","1715","1722","1723","1726","1728","1729","1733","1734","1735","1736","1737","1739","1740","1744","1746","1747","65247","65154","65156","65160","65166","65248","65165","65258","1617","1612","1613","1614","1615","1616","__arabicParser__","isInArabicSubstitutionA","isArabicLetter","isArabicEndLetter","isArabicAlfLetter","arabicLetterHasIsolatedForm","arabicLetterHasFinalForm","arabicLetterHasInitialForm","arabicLetterHasMedialForm","resolveLigatures","isArabicDiacritic","getCorrectForm","processArabic","autoPrint","variant","addJS","pageWrapXEnabled","pageWrapX","pageWrapYEnabled","pageWrapY","context2d","__cell__","headerFunction","lastCell","setHeaderFunction","cellAddPage","tableHeaderRow","printHeaders","printHeaderRow","autoSize","headerTextColor","table_font_size","prompt","setTableHeaderRow","rowStart","cellStart","table_x","table_y","italic","oblique","stretch","monospace","terminal","cursive","fantasy","serif","genericFontFamilies","trimLeft","isStrokeTransparent","isFillTransparent","globalCompositeOperation","clip_path","miterLimit","prevPageLastElemOffset","ignoreClearRect","fontFaces","arial","Arial","verdana","Verdana","helvetica","Helvetica","getLineDash","isIdentity","counterclockwise","ctxStack","isCanvasGradient","autoPaging","posY","posX","begin","deltas","colorStops","y4","prevLineDash","loadImageFile","html2canvas","DOMPurify","dompurify","sanitize","setProgress","jsPDF","toContainer","toCanvas","toImg","toPdf","thenList","setPageSize","javascriptEnabled","onrendered","toContext2d","allowTaint","imageTimeout","logging","removeContainer","foreignObjectRendering","useCORS","windowHeight","quality","outputImg","outputPdf","doCallback","setMargin","getPageSize","px","updateProgress","thenCore","thenExternal","catchExternal","worker","outline","createNamedDestinations","makeRef","genIds_r","renderRoot","renderItems","objStart","count_r","objEnd","makeString","processJPEG","numcomponents","imgData","readUInt32","colorType","compressionMethod","filterMethod","interlaceMethod","numFrames","numPlays","frames","readUInt16","disposeOp","blendOp","indexed","hasAlphaChannel","pixelBitlength","decodePixels","decodePalette","copyToImageData","_decodedPalette","putImageData","decodeFrames","createImageData","renderFrame","_timeout","_png","has_local_palette","palette_offset","palette_size","data_offset","data_length","transparent_index","interlaced","disposal","loopCount","frameInfo","decodeAndBlitFrameBGRA","decodeAndBlitFrameRGBA","displayName","datav","DataView","is_with_alpha","bottom_up","parseHeader","parseBGR","jc","Qb","qb","nd","pd","Ca","Ka","oa","pa","Jd","Yc","Zc","Sb","Ra","Ur","zr","Hr","Xa","ud","hd","jd","Ea","Hn","Wn","Vn","Gn","Tc","Ed","Cd","Fd","Db","Ab","Rd","RGBA","kb","Pd","Qd","Id","Md","hb","ib","bd","Da","Sd","ba","cc","dc","Mc","Nc","fc","Rc","Tn","Sn","An","ma","qn","Rn","Un","Ib","Jb","Nd","Oa","Ci","ji","Si","Mi","Bi","Oi","Pi","ki","Ei","qi","Dc","$n","vc","Wb","Ya","ab","Ta","Ua","nc","hc","Gr","Wr","Vr","Zr","$r","Yr","Ba","va","Ma","En","Qr","tn","Dn","nn","en","xn","zn","qd","rd","tb","Xr","Pb","Wa","wc","wd","xd","vb","xb","gi","VP8LMapColor32b","Jr","VP8LMapColor8b","Kr","Oc","Qn","Xn","Zn","Jn","Yn","Kn","pi","ub","Rb","Kd","Ld","Ud","Td","Fb","Bb","Cb","Zb","Lb","Yb","jb","Wc","Xc","Pc","wb","zd","vd","od","ld","La","tc","Na","la","Sc","Eb","Qc","ad","Za","Ob","$b","Ad","Gc","Hc","Dd","uc","Nb","wa","ya","Od","Kc","ed","Qa","Ic","$c","Aa","Xb","Va","Hb","zb","Ub","za","Jc","pb","Bd","kc","Ac","Bc","zc","Gd","Hd","rb","oc","sa","qa","ra","Ha","Ia","Ec","Vb","Fc","Fa","Cc","qc","Uc","rc","Ga","Vc","put","ac","ni","ei","ri","ui","ai","Ri","Ui","Vd","Cn","Pn","In","Fn","cn","un","hn","sn","dn","pn","gn","vn","bn","yn","wn","Nn","Ln","di","oi","Bn","jn","Mn","kd","na","xa","gb","Ja","Sa","Lc","$a","ic","mc","bi","Ni","Li","Ai","xi","Fi","Ii","Di","zi","Predictor0","Predictor1","Predictor2","Predictor3","Predictor4","Predictor5","Predictor6","Predictor7","Predictor8","Predictor9","Predictor10","Predictor11","Predictor12","Predictor13","PredictorAdd0","PredictorAdd1","PredictorAdd2","ColorIndexInverseTransform","MapARGB","VP8LColorIndexInverseTransformAlpha","MapAlpha","VP8LPredictorsAdd","VP8LPredictors","VP8LPredictorsAdd_C","VP8LPredictors_C","UpsampleRgbLinePair","UpsampleBgrLinePair","UpsampleRgbaLinePair","UpsampleBgraLinePair","UpsampleArgbLinePair","UpsampleRgba4444LinePair","UpsampleRgb565LinePair","Ti","WebPDecodeRGBA","src_off","src_size","feature_flags","canvas_width","canvas_height","bgcolor","loop_count","offset_x","offset_y","rgbaoutput","dataurl","loop_counter","imgwidth","imgheight","processPNG","processGIF89A","processGIF87A","fileSize","getUint32","reserved","getInt32","planes","getUint16","bitPP","rawSize","importantColors","getUint8","quad","bit1","bit4","bit8","bit15","bit16","bit24","bit32","processBMP","processWEBP","processRGBA","setLanguage","languageSettings","isSubscribed","zh","fj","gu","iu","ks","tlh","mo","nv","ng","om","qu","sz","tig","vo","xh","zu","languageCode","getCharWidthsArray","Unicode","fof","kerning","widthOfString","widthOfGlyph","characterToGlyph","lineIndent","__fontmetrics__","uncompress","WinAnsiEncoding","Courier","ZapfDingbats","existsFileInVFS","getFileFromVFS","TTFFont","glyIdsUsed","canvg","addSvgAsImage","ignoreMouse","ignoreAnimation","ignoreDimensions","fromString","putTotalPages","pdfEscape16","viewerPreferences","HideToolbar","explicitSet","valueSet","pdfVersion","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","viewerpreferences","__metadata__","namespaceuri","metadata_object_number","addMetadata","toUnicode","subset","PDFObject","bbox","stemV","italicAngle","ascender","decender","capHeight","hmtx","unitsPerEm","cmap","unicode","codeMap","vFS","addFileToVFS","__bidiEngine__","EN","AN","251","254","255","hiLevel","doBidiReorder","isSymmetricSwapping","readString","registerTTF","directory","hhea","maxp","os2","loca","glyf","exists","lineGap","xMin","yMin","xMax","yMax","italic_angle","xHeight","familyClass","isSerif","isScript","isFixedPitch","forGlyph","readByte","writeByte","writeUInt32","readInt32","writeInt32","writeUInt16","readInt16","writeInt16","writeString","readShort","writeShort","readLongLong","writeLongLong","readInt","writeInt","scalarType","tableCount","searchRange","entrySelector","rangeShift","tables","checksum","revision","checkSumAdjustment","magicNumber","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","platformID","encodingID","language","isUnicode","new","charMap","subtable","maxGlyphID","LN2","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfMetrics","averageCharWidth","weightClass","widthClass","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","panose","charRange","vendorID","firstCharIndex","lastCharIndex","ascent","descent","winAscent","winDescent","codePageRange","defaultChar","breakChar","maxContext","underlinePosition","underlineThickness","minMemType42","maxMemType42","minMemType1","maxMemType1","glyphNameIndex","numGlyphs","languageID","nameID","strings","copyright","fontSubfamily","uniqueSubfamily","postscriptName","trademark","manufacturer","designer","vendorUrl","designerUrl","license","licenseUrl","preferredFamily","preferredSubfamily","compatibleFull","sampleText","maxPoints","maxContours","maxCompositePoints","maxComponentContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth","metrics","lsb","leftSideBearings","glyphFor","lengthOf","numberOfContours","compound","glyphIDs","glyphOffsets","unicodes","generateCmap","glyphsFor","encodeReserveRE","encodeReserveReplacer","commaRE","resolveQuery","extraQuery","_parseQuery","parsedQuery","parseQuery","castQueryParamValue","stringifyQuery","trailingSlashRE","createRoute","redirectedFrom","router","getFullPath","formatMatch","START","_stringifyQuery","isSameRoute","onlyPath","isObjectEqual","aKeys","bKeys","aVal","bKey","bVal","isIncludedRoute","queryIncludes","handleRouteEntered","enteredCbs","i$1","View","routerView","_routerViewCache","_routerRoot","vnodeData","routerViewDepth","cachedData","cachedComponent","configProps","fillPropsinData","registerRouteInstance","propsToPass","resolveProps","resolvePath","firstChar","hashIndex","queryIndex","cleanPath","isarray","pathToRegexp_1","pathToRegexp","parse_1","compile_1","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","defaultDelimiter","escaped","modifier","asterisk","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","encodeAsterisk","pretty","attachKeys","sensitive","regexpToRegexp","arrayToRegexp","regexp","stringToRegexp","endsWithDelimiter","regexpCompileCache","fillParams","routeMsg","pathMatch","normalizeLocation","params$1","rawPath","parsedPath","basePath","toTypes","eventTypes","Link","ariaCurrentValue","this$1$1","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","guardEvent","scopedSlot","navigate","isExactActive","findAnchor","aData","handler$1","event$1","aAttrs","installed","registerInstance","callVal","_router","history","_route","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","createRouteMap","oldPathList","oldPathMap","oldNameMap","parentRoute","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","compileRouteRegex","redirect","childMatchAs","aliasRoute","createMatcher","addRoutes","addRoute","parentOrRoute","getRoutes","currentRoute","_createRoute","paramNames","record$1","originalRedirect","resolveRecordPath","resolvedPath","aliasedPath","aliasedMatch","aliasedRecord","Time","genStateKey","getStateKey","setStateKey","positionStore","setupScroll","scrollRestoration","protocolAndPath","absolutePath","stateCopy","handlePopState","isPop","scrollBehavior","getScrollPosition","shouldScroll","scrollToPosition","saveScrollPosition","getElementPosition","docEl","docRect","elRect","isValidPosition","normalizePosition","normalizeOffset","hashStartsWithNumberRE","supportsPushState","pushState","NavigationFailureType","redirected","aborted","duplicated","createNavigationRedirectedError","createRouterError","stringifyRoute","createNavigationDuplicatedError","createNavigationCancelledError","createNavigationAbortedError","_isRouter","propertiesToLog","isError","isNavigationFailure","errorType","runQueue","resolveAsyncComponents","hasAsync","flatMapComponents","resolvedDef","isESModule","flatten","History","normalizeBase","readyCbs","readyErrorCbs","errorCbs","baseEl","resolveQueue","extractGuards","records","guards","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","bindEnterGuard","onReady","errorCb","transitionTo","onAbort","confirmTransition","updateRoute","ensureURL","afterHooks","lastRouteIndex","lastCurrentIndex","beforeHooks","enterGuards","resolveHooks","setupListeners","cleanupListener","HTML5History","_startLocation","expectScroll","supportsScroll","handleRoutingEvent","go","fromRoute","getCurrentLocation","pathLowerCase","baseLowerCase","HashHistory","checkFallback","ensureSlash","getHash","replaceHash","eventType","pushHash","getUrl","AbstractHistory","VueRouter","apps","handleInitialScroll","routeOrError","beforeEach","registerHook","beforeResolve","afterEach","back","getMatchedComponents","createHref","normalizedTo","VueRouter$1","START_LOCATION","SWIPE_START_EVENT","SWIPE_EVENT","SWIPE_END_EVENT","HorizontalStrategy","defaultItemSizeFunc","getBounds","calcOffsetRatio","endEventData","_savedEventData","_itemSizeFunc","isFastSwipe","FAST_SWIPE_SPEED_LIMIT","_tickData","VerticalStrategy","STRATEGIES","SwipeEmitter","TICK_INTERVAL","elastic","_getStrategy","_defaultItemSizeFunc","moveEventData","offsetRatio","isFast","_calcTargetOffset","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","monthsNominative","monthsSubjective","srgbForwardMatrix","srgbForwardTransform","srgbReverseMatrix","srgbReverseTransform","fromXYZ","toXYZ","CancelToken","resolvePromise","VueType","errors_1","TEMPLATE_PROP","asConfigurable","slotName","childComponent","eventBus","bufferValue","striped","__cachedBackground","backgroundStyle","__cachedBar","__cachedBarType","__cachedIndeterminate","__cachedDeterminate","__cachedBuffer","genProgressBar","__cachedStream","normalizedBuffer","isReversed","genListeners","hasProp","hasVModelValue","VMODEL_NAME","getVueVersion","currentVersion","POINTER_EVENTS_NAMESPACE","BaseStrategy","originalEvents","_eventName","_originalEvents","_handlerCount","_isNoBubble","_handler","_originalEvent$target","_getDelegateTarget","_originalEvent$path","_originalEvent$compos","_setSelector","_selector","_getSelector","dxpointerdown","dxpointermove","dxpointerup","dxpointercancel","dxpointerover","dxpointerout","dxpointerenter","dxpointerleave","normalizeTouchEvent","skipTouchWithSameIdentifier","TouchStrategy","_pointerId","addEventsListener","eventMap","pointerEquals","onPointerAdding","getPointerIndex","removePointer","normalizeMouseEvent","activateStrategy","MouseStrategy","resetObserver","MouseAndTouchStrategy","EVENT_LOCK_TIMEOUT","isMouse","_skipNextEvents","_mouseLocked","_unlockMouseTimer","normalizer","getStrategy","pointerEventStrategy","getStrategyFromGlobalConfig","EventStrategy","over","eventStrategyName","webkitRegExp","mozillaRegExp","browserFromUA","browserName","browserVersion","createOccurrenceMap","_map$get","wrapToArray","getUniqueValues","removeDuplicates","toRemove","toRemoveMap","occurrencesCount","normalizeIndexes","indexPropName","needIndexCallback","indexedItems","currentIndex","shouldUpdateIndex","getGroupName","groupedResult","_groupedResult$groupN","customSort","mustSort","multiSort","itemsPerPage","customGroup","disableSort","disablePagination","disableFiltering","customFilter","serverItemsLength","internalOptions","sortDiff","groupDiff","itemsLength","filteredItems","pageCount","pageStart","pageStop","isGrouped","pagination","computedItems","paginateItems","groupedItems","scopedProps","sortArray","originalItemsLength","computedOptions","oldBy","oldDesc","by","byIndex","itemsPerPageOptions","prevIcon","nextIcon","firstIcon","lastIcon","itemsPerPageText","itemsPerPageAllText","showFirstLastPage","showCurrentPage","disableItemsPerPage","pageText","disableNextPageIcon","computedDataItemsPerPageOptions","genDataItemsPerPageOption","onFirstPage","onPreviousPage","onNextPage","onLastPage","onChangeItemsPerPage","genItemsPerPageSelect","computedIPPO","ippo","hideDetails","auto","genPaginationInfo","genIcons","Mobile","VData","itemKey","singleSelect","mobileBreakpoint","singleExpand","noResultsText","loadingText","hideDefaultFooter","footerProps","selectableKey","expansion","internalCurrentItems","shiftKeyDown","lastEntry","everyItem","selectableItems","someItems","sanitizedFooterProps","isSelectable","removedProps","toggleSelectAll","lastEntryKey","lastEntryKeySelected","multipleSelect","isExpanded","createItemProps","isMobile","genEmptyWrapper","genEmpty","filteredItemsLength","noData","noResults","genFooter","VDataFooter","genDefaultScopedSlot","outerProps","update:options","checkboxColor","sortIcon","showGroupBy","genSelectAll","VSimpleCheckbox","genSortIcon","sortByText","genSortChip","sortIndex","beingSorted","isDesc","sortable","genSortSelect","menuProps","closeOnContentClick","sortHeaders","genGroupByToggle","ariaSort","groupable","dedupeModelListeners","rebuildFunctionalSlots","mobile","rebuildSlots","VDataTableHeaderMobile","VDataTableHeaderDesktop","needsTd","computedSlots","regularSlot","cellClass","headerClass","summaryClass","hideDefaultHeader","mobileRowChildren","getDefaultMouseEventHandlers","eventFirst","getMouseEventHandlers","eventOptions","mouseEvent","classSeparator","eventTargetClasses","currentTargets","isSameNode","TouchEvent","filterFn","searchTableItems","headersWithCustomFilters","headersWithoutCustomFilters","filterMode","matchesColumnFilters","matchesSearchTerm","VDataIterator","Mouse","showSelect","showExpand","headerProps","calculateWidths","headersLength","expandIcon","itemStyle","internalGroupBy","openCache","computedHeaders","defaultHeader","colspanAttrs","columnSorters","filterable","sanitizedHeaderProps","computedItemsPerPage","firstOption","groupByText","calcWidths","customFilterWithColumns","customSortWithHeaders","genCaption","genColgroup","genLoading","genHeaders","VDataTableHeader","genGroupedRows","genRows","genDefaultGroupedRow","isOpen","toggleFn","removeFn","RowGroup","genScopedRows","genDefaultRows","genDefaultExpandedRow","genDefaultSimpleRow","headerRow","expandedRow","MobileRow","Row","mergeClasses","mergeStyles","genFoot","foot","genFooters","simpleProps","VSimpleTable","proxySlot","COMPOSITION_START_EVENT","COMPOSITION_END_EVENT","KEYDOWN_EVENT","NAMESPACE","ctrl","KeyboardProcessor","_keydown","_compositionStart","_compositionEnd","_processFunction","focusTargets","isNotFocusTarget","shouldSkipProcessing","_isComposingJustFinished","_isComposing","_toggleProcessingWithContext","toggleProcessing","IntersectionObserver","_observe","WHITE","BLACK","LIGHT_GREY","GREY_GREEN","SOME_GREY","RED","PRIMARY_TITLE_COLOR","SECONDARY_TITLE_COLOR","SOLID","primaryTitleColor","secondaryTitleColor","gridColor","axisColor","rangesplinearea","horizontalAxis","verticalAxis","minDiameter","gauge","rangeContainer","valueIndicators","twocolorneedle","secondColor","trianglemarker","textcloud","indicator","hasPositiveMeaning","_circular","scaleDivisionFactor","indentFromTick","valueIndicatorType","subvalueIndicatorType","indentFromCenter","spindleSize","spindleGapSize","beginAdaptingAtRadius","triangleneedle","secondFraction","_linear","horizontalOrientation","verticalOrientation","barGauge","relativeInnerRadius","barSpacing","connectorWidth","rangeSelector","selectedRangeColor","sliderMarker","invalidRangeColor","sliderHandle","snapToTicks","moveSelectedRangeByClick","manualRangeSelectionEnabled","allowSlidersSwap","valueChangeMode","bottomIndent","layer","hoveredBorderColor","selectedBorderWidth","selectedBorderColor","hoveredColor","selectedColor","selectedStep","backStep","backColor","backOpacity","hoveredBorderWidth","controlBar","treeMap","sparkline","areaOpacity","minColor","maxColor","barPositiveColor","barNegativeColor","winColor","lossColor","firstLastColor","pointSymbol","pointColor","winlossThreshold","showFirstLast","showMinMax","bullet","targetColor","showTarget","showZeroLevel","funnel","hoverEnabled","algorithm","neckWidth","neckHeight","sankey","sourceField","targetField","weightField","useNodeColors","colorMode","baseThemeName","ACCENT_COLOR","BACKGROUND_COLOR","TITLE_COLOR","SUBTITLE_COLOR","TEXT_COLOR","BORDER_COLOR","RANGE_COLOR","AREA_LAYER_COLOR","LINE_COLOR","TARGET_COLOR","POSITIVE_COLOR","CONTRAST_ACTIVE","MARKER_COLOR","menuButtonColor","activeBackgroundColor","activeColor","FONT_FAMILY","LIGHT_TITLE_COLOR","LIGHT_LABEL_COLOR","DARK_TITLE_COLOR","DARK_LABEL_COLOR","DARK_BACKGROUND_COLOR","LABEL_BORDER_COLOR","BREAK_STYLE_COLOR","getMaterialColorScheme","accentName","materialAccents","accent","defaultTheme","themesMapping","themesSchemeMapping","nextCacheUid","widgetsCache","getTheme","currentTheme","findThemeNameByName","scheme","findThemeNameByPlatform","colorScheme","getThemeInfo","splitter","registerThemeName","targetThemeName","themeInfo","registerTheme","patchTheme","mergeScalar","mergeObject","patchAxes","patchMapLayers","addCacheItem","cacheUid","removeCacheItem","material","postfix","zhTw","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","_formatNumberCore","formatConfig","currencyPart","getCurrencySymbol","getOpenXmlCurrencyFormat","Emitter","_cancelCallback","_acceptCallback","_acceptRequestEvent","_getEmitterTarget","appContext","unmount","SCROLLABLE_NATIVE","SCROLLABLE_NATIVE_CLASS","SCROLLABLE_SCROLLBAR_SIMULATED","SCROLLABLE_SCROLLBARS_HIDDEN","HIDE_SCROLLBAR_TIMEOUT","NativeStrategy","_useSimulatedScrollbar","_isScrollbarVisible","_renderScrollbars","isFirstRender","_moveScrollbars","_scrollbars","_hideScrollbarTimeout","_renderScrollbar","expandable","isScrollingEvent","_eachScrollbar","scrollbar","_createActionArgs","_eventForUserAction","reachedLeft","_isReachedRight","_isReachedLeft","reachedRight","reachedTop","reachedBottom","_normalizeOffsetLeft","_hideScrollbars","_updateScrollbars","_componentContentSize","scrollableNativeRegexp","_removeScrollbars","_isScrolledInMaxDirection","feature","detection","POLYFILL","NATIVE","encodeRegExp","splitQuad","quadToObject","placeholderReg","SPACE_REGEXP","bnBd","throw","sent","trys","return","globalThis","IS_HTMLDDA","withoutSetter","nonConfigurable","nonWritable","callee","filterReject","QObject","findChild","useSetter","useSimple","keyFor","oo","io","ao","uo","ho","po","bo","So","Io","Oo","xo","To","Co","jo","codeAt","Lo","Ro","Wo","Zo","Eo","Go","Ao","Po","Xo","IteratorPrototype","BUGGY_SAFARI_ITERATORS","Fo","Ko","No","Uo","Do","Ho","Yo","Jo","Vo","zo","Mo","Bo","Qo","qo","$o","Wi","Zi","Gi","opera","Xi","BigInt64Array","BigUint64Array","TypedArrayConstructor","Ki","NATIVE_ARRAY_BUFFER_VIEWS","TYPED_ARRAY_TAG","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","exportTypedArrayStaticMethod","getTypedArrayConstructor","isView","isTypedArray","TypedArray","TypedArrayPrototype","Hi","Yi","Ji","Vi","Qi","$i","kind","Arguments","preventExtensions","objectID","weakData","enable","fastKey","getWeakData","onFreeze","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","getConstructor","setStrong","_immediateFn","_unhandledRejectionFn","finally","allSettled","race","Buffer","byteOffset","fatal","isEncoding","RangeError","ignoreBOM","TextEncoder","Proxy","ReferenceError","createEventObject","signal","__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL","Request","AbortController","AbortSignal","addToLocked","isLocked","__awaiter","__generator","acquiredIatSet","acquireLock","releaseLock","releaseLock__private__","waitForSomethingToChange","refreshLockWhileAcquired","waiters","localStorage","setItem","iat","timeoutKey","timeAcquired","timeRefreshed","lockCorrector","removeFromWaiting","addToWaiting","notifyWaiters","removeItem","timeoutInSeconds","error_description","fromPayload","appState","popup","mfa_token","audience","crypto","msCrypto","subtle","webkitSubtle","getRandomValues","digest","oncomplete","responseURL","withCredentials","credentials","auth","fetchUrl","fetchOptions","useFormData","MessageChannel","port1","onmessage","postMessage","port2","baseUrl","auth0Client","client_id","toKey","fromKey","fromCacheEntry","allKeys","enclosedCache","keyManifest","nowProvider","getCacheKeys","matchExistingCacheKey","expiresAt","refresh_token","wrapCacheEntry","clearSync","expires_in","decodedToken","claims","clientId","storageKey","transaction","daysUntilExpire","id_token","__raw","encoded","signature","iss","alg","aud","azp","max_age","auth_time","leeway","setUTCSeconds","nbf","organizationId","org_id","setMilliseconds","toUTCString","sameSite","cookieDomain","Worker","manifestKey","createManifestKeyFrom","localstorage","_releaseLockOnPageHide","cacheLocation","httpTimeoutMs","httpTimeoutInSeconds","cookieStorage","legacySameSiteCookie","orgHintCookieName","isAuthenticatedCookieName","sessionCheckExpiryDays","useCookiesForTransactions","transactionManager","cacheManager","domainUrl","tokenIssuer","issuer","defaultScope","advancedOptions","useRefreshTokens","authorizeTimeoutInSeconds","redirect_uri","useRefreshTokensFallback","_url","_getParams","detailedResponse","response_type","response_mode","code_challenge","code_challenge_method","_authorizeUrl","_verifyIdToken","_parseNumber","_processOrgIdHint","buildAuthorizeUrl","organization","code_verifier","loginWithPopup","grant_type","getUser","getIdTokenClaims","loginWithRedirect","redirectMethod","handleRedirectCallback","oauthTokenScope","checkSession","getTokenSilently","ignoreCache","_getTokenSilently","access_token","_getEntryFromCache","_getTokenUsingRefreshToken","_getTokenFromIFrame","getTokenWithPopup","isAuthenticated","buildLogoutUrl","federated","logout","localOnly","crossOriginIsolated","ConfigContext","VCardActions","VCardSubtitle","VCardText","VCardTitle","VCard","DECIMAL_BASE","roundByAbs","valueSign","adjustValue","precisionMultiplier","intermediateValue","valuePrecision","adjustedValue","$defineProperty","ENUMERABLE","WRITABLE","Attributes","XHR_ERROR_UNLOAD","normalizeBinaryCriterion","normalizeSortingInfo","errorMessageFromXhr","unloading","textStatusMessages","parsererror","textStatus","aggregators","processRequestResultLock","lockDeferred","obtain","keysEqual","isUnaryOperation","isGroupOperator","isGroupCriterion","trivialPromise","rejectedPromise","throttle","throttleChanges","mm2","cm2","m2","km2","yd2","ft2","mi2","eager","formatIsValid","valueIsValid","getTimeFormat","showSecond","_normalizeFormat","dateDifferences","intervalFormat","resultFormat","needSpecialSecondFormatter","maxDiff","currentDiff","correctDateDifferences","minDate","maxDate","indeterminateIcon","LOADINDICATOR_CLASS","LOADINDICATOR_WRAPPER_CLASS","LOADINDICATOR_CONTENT_CLASS","LOADINDICATOR_ICON_CLASS","LOADINDICATOR_SEGMENT_CLASS","LOADINDICATOR_SEGMENT_INNER_CLASS","LOADINDICATOR_IMAGE_CLASS","LoadIndicator","_animatingSegmentCount","_animatingSegmentInner","obsoleteAndroid","viaImage","_renderIndicatorContent","_renderMarkup","_renderMarkupForImage","_renderMarkupForAnimation","animatingSegmentInner","$segment","_updateContentSizeForAnimation","minDimension","_removeMarkupForAnimation","_removeMarkupForImage","toPrimitive","isSymbol","E0001","E0002","E0003","E0004","E0005","E0006","E0007","E0008","E0009","E0010","E0011","E0012","E0013","E0014","E0015","E0017","E0018","E0020","E0021","E0022","E0023","E0024","E0025","E0100","E0101","E0102","E0103","E0110","E0120","E0121","W0000","W0001","W0002","W0003","W0004","W0005","W0006","W0007","W0008","W0009","W0010","W0011","W0012","W0013","W0014","W0015","W0016","W0017","W0018","SCROLLBAR","SCROLLABLE_SCROLLBAR_CLASS","SCROLLABLE_SCROLLBAR_ACTIVE_CLASS","SCROLLABLE_SCROLL_CLASS","SCROLLABLE_SCROLL_CONTENT_CLASS","HOVER_ENABLED_STATE","THUMB_MIN_SIZE","SCROLLBAR_VISIBLE","never","activeScrollbar","Scrollbar","visibilityMode","_isHovered","_renderThumb","_attachPointerDownHandler","_isHoverMode","_$thumb","isThumb","_dimension","_prop","feedbackOn","feedbackOff","cursorEnter","_needScrollbar","cursorLeave","_adjustVisibility","_baseContainerToContentRatio","scrollBarLocation","_calculateScrollBarPosition","_thumbRatio","baseContainerSize","baseContentSize","_realContainerToContentRatio","thumbSize","containerToContentRatio","_normalizeSize","combineClasses","getConsoleMethod","activeFeedback","INACTIVE_EVENT_NAME","ACTIVE_TIMEOUT","INACTIVE_TIMEOUT","FeedbackEvent","_fire","_schedule","_timer","FeedbackEmitter","inactiveTimeout","activeChildExists","childJustActivated","_initEvents","eventTarget","deferFeedback","skipTimers","lockInactive","configComponent","defaultConditional","checkEvent","checkIsActive","ShadowRoot","_clickOutside","lastMousedownWasOutside","handleShadow","onMousedown","arDz","_setOption","_clearItemKeys","isDeselect","isSelectAll","remoteFilter","_removeTemplateProperty","localFilter","filterLength","needLoadAllData","keyHashIndices","keyIndices","ignoreDisabledItems","selectedItemsLength","disabledItemsLength","getSelectableItems","_isAnyItemSelected","hasSelectedItems","hasUnselectedItems","getItemData","isSelectableItem","isItemKeySelected","_loadFilteredData","selectionFilter","needResetSelectionFilter","_addSelectionFilter","removeSelectedItem","addSelectedItem","keyField","_getKeyExpr","_normalizeKey","skipFilter","_getFilterByKey","filterString","subFilter","_findSubFilter","filterOperator","filterItem","_selectionFilter","currentFilter","currentOperation","needAddFilter","_denormalizeFilter","removedIndex","_removeSameFilter","filterIndex","shouldCleanFilter","_isOnlyNegativeFiltersLeft","isKeyOperatorsAfterRemoved","_isKeyFilter","_hasKeyFiltersOnlyStartingFromIndex","_addFilterOperator","_normalizeFilter","_isSimpleKeyFilter","_removeFilterByIndex","_filterIndex","_isLastSubFilter","componentFilter","SelectionFilterCreator","selectedItemKeyHashesMap","getLocalFilter","keyGetter","equalKeys","functionFilter","getExpr","filterExpr","filterExprPart","getFilterForPlainKey","itemKeyValue","currentKeyExpr","keyValueGetter","currentKeyValue","getCombinedFilter","dataSourceFilter","forceCombinedFilter","combinedFilter","normalizeKeys","selectedKeyHashesMap","normalizedKeys","keyValue","_initSelectedItemKeyHash","keyIndicesToRemoveMap","keyIndex","isBatchDeselect","_batchRemoveSelectedItems","updateSelectedItemKeyHash","selectionFilterCreator","deselectedItems","internalKeys","_this$_lastLoadDeferr","_lastLoadDeferred","oldRequestItems","updatedKeys","isDeselectAll","multiSelectEnabled","_isMultiSelectEnabled","lastRequestData","_lastRequestData","_shouldMergeWithLastRequest","_concatRequestsItems","_this$_lastRequestDat","_this$_lastRequestDat2","currentKeys","_requestInProgress","_collectLastRequestData","_updateKeysByLastRequestData","_loadSelectedItemsCore","_loadSelectedItems","_preserveSelectionUpdate","_replaceSelectionUpdate","disabledItemKeys","_getKeyHash","_indexOfSelectedItemKey","ignoreIndicesMap","_getSelectedIndexByKey","_getSelectedIndexByHash","currentKeyIndex","currentKey","currentKeyHash","currentKeyIndices","_shiftSelectedKeyIndices","oldSelectedKeys","oldSelectedItems","shouldCheckPending","_this$_lastRequestDat3","_updateAddedItemKeys","_updateRemovedItemKeys","_isItemSelectionInProgress","visibleOnly","_getVisibleSelectAllState","_getFullSelectAllState","selectedKeys","_selectionStrategy","_focusedItemIndex","filterIsChanged","_keys","setFocusOnly","_this$options$allowLo","_this$options","isSelectedItemsChanged","isVirtualPaging","allowLoadByRange","alwaysSelectByShift","focusedItemNotInLoadedRange","shiftFocusedItemNotInLoadedRange","itemIsNotInLoadedRange","loadIndex","_shiftFocusedItemIndex","isDataItem","allowSelectByShift","changeItemSelectionWhenShiftKeyInVirtualPaging","changeItemSelectionWhenShiftKeyPressed","_resetItemSelectionWhenShiftKeyPressed","isItemDataSelected","clearSelectedItems","_removeSelectedItem","_addSelectedItem","isKeysEqual","_setSelectedItems","getLoadOptions","itemIndexStep","indexOffsetDefined","focusedItem","focusedData","focusedKey","isFocusedItemSelected","isOnePage","_resetFocusedItemIndex","_onePageSelectAll","getSelectAllState","loadSelectedItemsWithFilter","ChildDefaultTemplate","VGrid","Grid","fluid","_defineProperty","enumerableOnly","symbols","_objectSpread2","preconnectOrigin","isFn","isBrowser","validateScreenviewShape","app_name","screen_name","getPathWithBase","pathAsArray","baseAsArray","getDefaultParams","bootstrap","onBeforeTrack","onAfterTrack","pageTrackerTemplate","customResourceURL","customPreconnectOrigin","deferScriptLoad","pageTrackerExcludedRoutes","pageTrackerEnabled","disableScriptLoad","pageTrackerScreenviewEnabled","appName","pageTrackerUseFullPath","pageTrackerPrependBase","pageTrackerSkipSamePath","globalDataLayerName","globalObjectName","defaultGroupName","send_page_view","defaultParams","_getOptions","assignGlobalProperty","optOut","optIn","setRouter","getRouter","send_to","pageview","page_path","useFullPath","useBase","page_title","page_location","screenview","exception","linker","refund","purchase","customMap","custom_map","api","attachApi","$gtag","registerGlobals","mergeDefaultParams","addConfiguration","track","useScreenview","skipSamePath","isRouteExcluded","addRoutesTracker","_getOptions2","isPageTrackerEnabled","callOnce","_wrappedHandler","METHOD_NAME","VMain","colorModifier","prettyBytes","decimals","kib","maxunit","DEFAULT_DATE_INTERVAL","DEFAULT_DATETIME_INTERVAL","isDateType","getGroupInterval","groupInterval","headerFilter","getFilterSelector","dataField","displayField","calculateDisplayValue","getFilterExpressionByRange","filterValue","endFilterValue","startFilterExpression","endFilterExpression","getFilterExpressionForDate","selectedFilterOperation","dateStart","dateEnd","dateInterval","dateValue","getFilterExpressionForNumber","startFilterValue","defaultCalculateFilterExpression","isSearchByDisplayValue","baseCreateCallback","forOwn","Converter","measures","mass","volume","temperature","digital","partsPer","pace","pressure","reactivePower","apparentPower","volumeFlowRate","illuminance","frequency","numerator","denominator","destination","getUnit","throwUnsupportedUnitError","system","toBest","best","cutOffNumber","possibilities","possibility","describe","isIncluded","systems","testAbbr","resp","testMeasure","validUnits","Touch","windowGroup","continuous","showArrows","showArrowsOnHover","touchless","changedByDelimiters","internalHeight","transitionHeight","transitionCount","isReverse","internalReverse","hasActiveItems","internalIndex","hasPrev","updateReverse","genContainer","genControlIcons","getNextIndex","getPrevIndex","prevIndex","VWindow","gomDeva","cause","monthRegExpGenerator","PATTERN_REGEXPS","countSuffix","timeSeparator","parseNumber","caseInsensitiveIndexOf","monthPatternParser","monthNames","PATTERN_PARSERS","dayNames","periodNames","ORDERED_PATTERNS","PATTERN_SETTERS","datePartValues","hourPartValue","getSameCharCount","getRegExpInfo","regexpText","stubText","addPreviousStub","isEscapeChar","regexpPart","isPossibleForParsingFormat","digitFieldSymbols","isDigitPattern","possibleForParsing","ambiguousDigitPatternsCount","getPatternSetters","setPatternPart","patternChar","partSetter","partParser","setPatternPartFromNow","getShortPatterns","fullPatterns","getMaxOrderedPatternIndex","getOrderedFormatPatterns","formatPatterns","otherPatterns","regExpInfo","regExpResult","maxPatternIndex","orderedFormatPatterns","regExpPattern","regExpText","getPublicElement","inputIndeterminate","genCheckbox","checkboxAttrs","INKRIPPLE_CLASS","INKRIPPLE_WAVE_CLASS","INKRIPPLE_SHOWING_CLASS","INKRIPPLE_HIDING_CLASS","DEFAULT_WAVE_SIZE_COEFFICIENT","MAX_WAVE_SIZE","HOLD_ANIMATION_DURATION","DEFAULT_WAVE_INDEX","wavesNumber","getDurations","getInkRipple","getWaves","inkRipple","$currentWave","getWaveStyleConfig","elementDiagonal","waveSize","$wave","wave","hidingTimeout","hideSelectedWave","showingTimeout","showingWaveHandler","durationCss","showingScale","hidingScale","hidingOpacity","weekdaysCaseReplace","nounCase","nominative","accusative","genitive","processHoursFunction","computedAspectRatio","aspectStyle","__cachedSizer","VResponsive","hasIntersect","contain","lazySrc","rootMargin","srcset","currentSrc","calculatedAspectRatio","naturalWidth","normalisedSrc","aspect","__cachedImage","backgroundImage","backgroundPosition","loadImage","lazyImg","pollForSize","onLoad","getSrc","naturalHeight","poll","__genPlaceholder","Target","Source","SELECTION_SHIFT","SELECTION_MASK","combineIndex","splitIndex","combinedIndex","GroupedEditStrategy","_groupElements","_groupItemElements","resultItems","_getGroups","groupItemByKeyMap","getItemMeta","groupKey","itemMeta","selectedGroup","movingIndices","destinationIndices","movingItemGroup","destinationItemGroup","firstIndex","secondIndex","editOptionsRegistry","registerOption","enabledFunc","decoratorTypeFunc","decoratorSubTypeFunc","decoratorType","decoratorSubType","LIST_ITEM_BEFORE_BAG_CLASS","LIST_ITEM_AFTER_BAG_CLASS","DECORATOR_BEFORE_BAG_CREATE_METHOD","DECORATOR_AFTER_BAG_CREATE_METHOD","DECORATOR_MODIFY_ELEMENT_METHOD","DECORATOR_AFTER_RENDER_METHOD","DECORATOR_GET_EXCLUDED_SELECTORS_METHOD","EditProvider","_fetchRequiredDecorators","_decorators","decorator","optionEnabled","_createDecorator","subType","_findDecorator","_registry$type","foundDecorator","modifyItemElement","_prependBeforeBags","_appendAfterBags","_applyDecorators","afterItemsRendered","$beforeBags","_collectDecoratorsMarkup","$afterBags","containerClass","$collector","_handlerExists","decorators","currentFocusedIndex","moveFocusUp","contextMenuHandlerExists","getExcludedItemSelectors","excludedSelectors","LIST_ITEM_SELECTED_CLASS","LIST_ITEM_RESPONSE_WAIT_CLASS","ListEdit","moveFocusedItem","editStrategy","focusedItemIndex","isLastIndexFocused","_getLastItemIndex","nextItemIndex","editProvider","_editProvider","isInternalMoving","privateKey","__dx_key__","_initEditProvider","_isPageSelectAll","_disposeEditProvider","_refreshEditProvider","handledByEditProvider","_this$_editStrategy$g","selectAll","deselectAll","flatIndex","deletingElementIndex","nextFocusedItem","focusListItem","ListSearch","_addWidgetPrefix","getOperationBySearchMode","BaseComponent","DxComponent","children_processing_1","configuration_1","templates_manager_1","$_processChildren","initOptionChangedFunc","getInnerChanges","$_templatesManager","$_applyConfigurationChanges","$_pendingOptions","componentsCountChanged","resetOption","thisComponent","$_getIntegrationOptions","$_createEmitters","$_getWatchMethod","$_getExtraIntegrationOptions","name_3","valueGetter","valueChangeCallback","listenerName","cleanWidgetNode","isExtension","restoreNodes","childExtension","raised","reverseEach","configurationTemplate","namedTeplates","declaredTemplates","getChildren","componentChildren_1","configurationDefaultTemplate","clearConfiguration","newContent","getConfigurationOptions","mount","$_updatedHandler","unmounted","E1001","E1002","E1003","E1004","E1005","E1006","E1007","E1010","E1011","E1012","E1016","E1018","E1019","E1020","E1021","E1022","E1023","E1025","E1026","E1031","E1032","E1033","E1034","E1035","E1037","E1038","E1039","E1040","E1041","E1042","E1043","E1044","E1045","E1046","E1047","E1048","E1049","E1050","E1051","E1052","E1053","E1054","E1055","E1056","E1058","E1059","E1060","W1001","W1002","W1003","W1004","W1005","W1006","W1007","W1008","W1009","W1010","W1011","W1012","W1013","W1014","W1015","W1016","W1017","W1018","W1019","W1020","W1021","W1022","W1023","W1024","W1025","deAt","ArrayStore","initialArray","_array","AsyncCollectionWidget","renderContentDeferred","itemDeferred","_postProcessRenderItems","TOOLBAR_BEFORE_CLASS","TOOLBAR_CENTER_CLASS","TOOLBAR_AFTER_CLASS","TOOLBAR_MINI_CLASS","TOOLBAR_ITEM_CLASS","TOOLBAR_BUTTON_CLASS","TOOLBAR_ITEMS_CONTAINER_CLASS","TOOLBAR_GROUP_CLASS","TOOLBAR_COMPACT_CLASS","TEXT_BUTTON_MODE","DEFAULT_BUTTON_TYPE","DEFAULT_DROPDOWNBUTTON_STYLING_MODE","TOOLBAR_ITEM_DATA_KEY","ANIMATION_TIMEOUT","rawModel","_data$options","_data$options2","_data$options$styling","_data$options3","_data$options$type","renderAs","_$toolbarItemsContainer","_arrangeItems","_applyCompactMode","_renderToolbar","_renderSections","_renderItemsAsync","_updateDimensionsInMaterial","sectionClass","$section","_elementWidth","_$centerSection","beforeRect","_$beforeSection","afterRect","_$afterSection","_alignCenterSection","$label","widthBeforeSection","widthAfterSection","elemsAtSectionWidth","sectionMaxWidth","_alignSection","labelPaddings","isRTL","centerRect","marginRight","$labels","_getCurrentLabelsPaddings","currentWidth","_getCurrentLabelsWidth","difference","_alignSectionLabels","expanding","getRealLabelWidth","currentLabelWidth","labelMaxWidth","possibleLabelWidth","itemContainer","$after","_item$location","_item$text","itemHasText","_group$location","_renderGroupedItems","_waitParentAnimationTimeout","readyToResolve","runCheck","settle","cookies","buildFullPath","parseHeaders","isURLSameOrigin","requestData","Authorization","responseData","timeoutErrorMessage","xsrfValue","onDownloadProgress","onUploadProgress","tzmLatn","jv","mHz","Hz","kHz","MHz","GHz","THz","rpm","esMx","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","base64","ieee754","typedArraySupport","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromObject","assertSize","alloc","fromArrayLike","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","thisStart","thisEnd","thisCopy","targetCopy","_arr","MAX_ARGUMENTS_LENGTH","codePoints","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","leadSurrogate","byteArray","inset","switchData","genSwitch","switchAttrs","onSwipeLeft","onSwipeRight","VAR","mVAR","kVAR","MVAR","GVAR","unwrapVariable","bracketsToDots","getPathParts","readPropValue","assignPropValue","prepareOptions","compileGetter","functionAsIs","hasDefaultValue","pathPart","combineGetters","compiledGetters","ensurePropValueDefined","compileSetter","lastLevelIndex","levelIndex","propertyValue","isPropertyFunc","_options$collatorOpti","REMOVE_DIACRITICAL_MARKS_REGEXP","enSg","VDivider","searchChildren","isDependent","openDependents","getClickableDependentElements","forcibleWatcher","filteredCallback","CollectionItem","_rawData","_watchers","_renderVisible","exprGetter","_dirty","_updateOwnerFocus","ownerComponent","hideSelected","itemDisabled","itemText","noFilter","searchInput","parsedItems","tileActiveClass","staticNoDataTile","genTileContent","genAction","genFilteredText","getMaskedCharacters","genHighlight","genTile","hasItem","getDisabled","needsTile","defaultMenuProps","closeOnClick","disableKeys","VTextField","Filterable","cacheItems","chips","deletableChips","disableLookup","itemColor","openOnClear","smallChips","cachedItems","menuIsBooted","isMenuActive","lastItem","keyboardLookupPrefix","keyboardLookupLastTime","allItems","filterDuplicates","computedOwns","dynamicHeight","listData","virtualizedItems","staticList","VSelectList","$_menuProps","normalisedProps","onMenuActiveChange","setMenuIndex","activateMenu","getContent","uniqueValues","click:close","genCommaSelection","selections","genSelections","genHiddenInput","genMenu","extraData","keypress","onKeyPress","genList","genListWithSlot","genSelection","genSlotSelection","listIndex","isAppendInner","onEscDown","KEYBOARD_LOOKUP_THRESHOLD","getTiles","changeListIndex","onUpDown","onSpaceDown","tiles","showMoreItems","activeTile","hasClickableTiles","prevTile","nextTile","firstTile","lastTile","appendInner","relativeTimeWithSingular","relativeSeconds","extendFromObject","overrideExistingValues","sourceValueIsArray","inverseLabel","thumbColor","thumbLabel","tickLabels","tickSize","trackColor","trackFillColor","showTicks","stepNumeric","trackFillStyles","valueDir","trackStyles","showThumbLabel","computedThumbColor","slider","genSlider","genThumb","thumbLabelContent","genThumbLabelContent","genThumbLabel","getThumbContainerStyles","thumb","trackStart","trackLength","clickOffset","clickPos","increase","multiplier","trimmedStep","triggerVisibilityChangeEvent","changeHandlers","triggerShownEvent","triggerHidingEvent","triggerResizeEvent","newData","deCh","nativeKeys","setEditorClass","hasKey","keyOrKeys","findItems","childItems","collapsedItems","indexByKey","getItems","generateDataByKeyMap","_dataByKeyMap","_dataByKeyMapLength","dataByKeyMap","arrayLength","getCacheValue","getHasKeyCacheValue","setDataByKeyMapValue","cloneInstanceWithChangedPaths","clonedInstances","instanceWithoutPrototype","createObjectWithChanges","applyBatch","immutable","disableCache","skipCopying","getErrorResult","isBatch","errorCode","newTarget","scrollbarWidth","horzRe","vertRe","collisionRe","scaleRe","IS_SAFARI","normalizeCollision","getAlignFactor","inverseAlign","calculateOversize","myLocation","collisionSide","initMyLocation","atLocation","atAlign","atSize","myAlign","mySize","collisionResolvers","inverseData","flipfit","calculateScrollbarWidth","$scrollDiv","defaultPositionResult","$what","precise","visualViewport","ofRect","getOffsetWithoutScale","hZoomLevel","vZoomLevel","boundaryWidth","boundaryHeight","$boundary","preciser","setScaleProperty","styleAttr","stylePropIsValid","newStyleValue","styleAttributeNode","setAttributeNode","$startElement","_currentElement$getAt","_style$match","$currentElement","LN10","MAX_PIXEL_COUNT","PI_DIV_180","_NaN","numDefsSvgElements","PANE_PADDING","getAdjustedLog10","normalizeAngle","degreesToRadians","getCosAndSin","angleInRadians","diffX","diffY","getPower","normalizeEnum","setCanvasValues","normalizeBBoxField","normalizeBBox","rotateBBox","w2_","h2_","centerX_","centerY_","parseScalar","enumParser","stored","patchFontOptions","fontOptions","convertPolarToXY","centerCoords","convertXYToPolar","processSeriesTemplate","generatedSeries","seriesOrder","orderedName","getCategoriesInfo","swapBuf","categoriesValue","indexStartValue","indexEndValue","lastIdx","isRelativeHeightPane","normalizePanesHeight","parsedHeight","relativeHeightPanes","weightSum","weightHeightCount","emptyHeightPanes","emptyHeightCount","weightForEmpty","emptyWeightSum","updatePanesCanvases","distributedSpace","paneSpace","totalCustomSpace","startName","endName","calcLength","getVerticallyShiftedAngularCoords","horizontalOffset1","verticalOffset1","verticalOffset2","horizontalOffset2","mergeMarginOptions","opt1","opt2","getVizRangeObject","normalizeArcParams","noArc","angleDiff","convertVisualRangeObject","convertToVisualRange","getAddFunction","rangeValue","getLogExt","raiseToExt","adjustVisualRange","nonDiscrete","rangeLength","_categoriesInfo","transformValue","rangesAreEqual","rangeFromOptions","pointInCanvas","getNextDefsSvgId","extractColor","isBase","typeOfObject","isBoolean","isExponential","isDefined","isRenderer","isDeferred","isEvent","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","arrLen","invalidEra","era","momentPropertiesLen","argLen","tok","isoweekdays","isoweekday","DDD","dayofyears","dayofyear","weekyears","weekyear","isoweekyears","isoweekyear","isoweeks","isoweek","match1to2NoLeadingZero","match1to2HasZero","tokenLen","getUTCMilliseconds","setUTCMilliseconds","setUTCHours","setUTCDate","prioritizedLen","setUTCMonth","shortP","longP","commonPrefix","arr1","minl","isLocaleNameSane","require","isoDatesLen","isoTimesLen","erasConvertYear","validFormatFound","bestFormatIsValid","configfLen","dayOrDate","orderLen","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","propertyLen","arrayTest","dataTypeTest","isCalendarSpec","localeEras","_eras","localeErasParse","eraName","localeErasConvertYear","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","erasName","erasAbbr","erasNarrow","abbrPieces","namePieces","narrowPieces","getISOWeeksInISOWeekYear","getWeeksInWeekYear","erasParse","eraNarrow","eraAbbr","eraYear","weeksInWeekYear","isoWeeksInISOWeekYear","argWithSuffix","argThresholds","COMPONENT_NAMES_DATA_KEY","ANONYMOUS_COMPONENT_DATA_KEY","componentNames","nextAnonymousComponent","getName","generatedName","attachInstanceToElement","disposeFn","getInstanceByElement","RADIO_BUTTON_CLASS","RADIO_BUTTON_ICON_CLASS","RADIO_BUTTON_ICON_DOT_CLASS","RADIO_BUTTON_CHECKED_CLASS","RADIO_BUTTON_ICON_CHECKED_CLASS","_renderIcon","_renderCheckedState","_renderClick","SELECT_DECORATOR_ENABLED_CLASS","SELECT_DECORATOR_SELECT_ALL_CLASS","SELECT_DECORATOR_SELECT_ALL_CHECKBOX_CLASS","SELECT_DECORATOR_SELECT_ALL_LABEL_CLASS","SELECT_CHECKBOX_CONTAINER_CLASS","SELECT_CHECKBOX_CLASS","SELECT_RADIO_BUTTON_CONTAINER_CLASS","SELECT_RADIO_BUTTON_CLASS","FOCUSED_STATE_CLASS","_singleStrategy","_containerClass","_controlClass","_controlWidget","$control","_isSelected","_processCheckedState","_updateSelectAllState","_$selectAll","_selectAllCheckBox","_renderSelectAll","moveFocusDown","$selectAll","lastItemIndex","isFocusOutOfList","hasSelectAllItem","downArrowHandler","registerKeyHandler","_attachSelectAllHandler","_selectAllHandler","_selectAllClickHandler","isSelectedAll","_selectAllItems","_unselectAllItems","_checkSelectAllCapability","_disposeSelectAll","OVERLAY_POSITION_ALIASES","OVERLAY_DEFAULT_BOUNDARY_OFFSET","OverlayPositionController","_$visualContainer","_shouldRenderContentInitialPosition","_visualPosition","_initialPosition","_previousVisualPosition","shouldRestorePosition","_normalizePosition","getSwatchContainer","_updateVisualPositionValue","_raisePositionedEvents","_renderContentInitialPosition","useFixed","positionStyle","_renderBoundaryOffset","wrapperOverflow","isVisualPositionChanged","_this$_position","_this$_props$position","_this$_props$position2","visualContainerProp","positionOf","_extends","ignoreDuplicateOf","__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","NOTHING","DRAFTABLE","DRAFT_STATE","die","isDraft","isDraftable","isMap","isSet","objectCtorString","getArchtype","type_","propOrOldValue","copy_","base_","shallowCopy","isPlain","dontMutateFrozenCollections","currentScope","getPlugin","pluginKey","createScope","parent_","immer_","drafts_","canAutoFreeze_","unfinalizedDrafts_","usePatchesInScope","patchListener","patches_","inversePatches_","patchListener_","revokeScope","leaveScope","revokeDraft","enterScope","immer2","draft","revoke_","revoked_","processResult","baseDraft","isReplaced","modified_","maybeFreeze","generateReplacementPatches_","rootScope","childValue","finalizeProperty","scope_","finalized_","resultEach","isSet2","generatePatches_","targetObject","rootPath","targetIsSet","assigned_","autoFreeze_","createProxyProxy","draft_","isManual_","traps","objectTraps","arrayTraps","revoke","revocable","readPropFromProto","peek","prepareCopy","createProxy","getDescriptorFromProto","current2","currentState","markChanged","useStrictShallowCopy_","deleteProperty","Immer2","produce","recipe","defaultBase","base2","ip","produceWithPatches","patches","inversePatches","autoFreeze","setAutoFreeze","useStrictShallowCopy","setUseStrictShallowCopy","applyPatchesImpl","applyPatches_","proxyMap_","proxySet_","currentImpl","immer","applyPatches","createDraft","finishDraft","genMessage","VMessages","hideSpinButtons","persistentHint","messagesToDisplay","hasHint","$_modelEvent","validation","genPrependSlot","hasListener","localeKey","prependInner","appendOuter","handleGesture","touchstartX","touchendX","touchstartY","touchendY","dirRatio","touchmoveX","touchmoveY","createHandlers","_touchHandlers","ownIndex","ownProps","EVENT_NAME","EVENT_NAMESPACE","NATIVE_EVENT_NAME","PIXEL_MODE","DELTA_MUTLIPLIER","_wheelHandler","deltaMode","deltaZ","_normalizeDelta","touchPropsToHook","touchPropHook","EMPTY_EVENT_NAME","NATIVE_EVENTS_TO_SUBSCRIBE","NATIVE_EVENTS_TO_TRIGGER","focusin","focusout","NO_BUBBLE_EVENTS","forcePassiveFalseEventNames","EVENT_PROPERTIES","matchesSafe","elementDataMap","specialData","getField","callMethod","eventsEngine","normalizeOnArguments","iterate","handlersController","getHandlersController","addHandler","oneTimeHandler","normalizeOffArguments","removeHandler","normalizeTriggerArguments","callHandlers","getParents","_element$parentNode","parentDataByEvent","callNativeMethod","applyForEach","itemArgs","detectPassiveEventHandlersSupport","isSupported","passiveEventHandlersSupported","DOCUMENT_POSITION_CONTAINS","elementData","eventNameParts","eventNameIsDefined","handleObjects","nativeHandler","callHandler","secondaryTargetIsInside","handlerArgs","handleObject","wrappedHandler","nativeListenerOptions","firstHandlerForTheType","shouldAddNativeListener","getNativeHandler","removeByEventName","removedHandler","isSubset","lastHandlerForTheType","shouldRemoveNativeListener","elementDataIsEmpty","forceStop","handleCallback","subscribeName","normalizeEventArguments","_propagationStopped","_immediatePropagationStopped","_defaultPrevented","propagationStopped","iterateEventNames","nativeMethodName","localName","calculateWhich","EventClass","addProperty","eventInstance","_src$view","srcIsEvent","isTrusted","beforeSetStrategy","afterSetStrategy","offArgs","FormData","product","assignValue","stripBOM","TRANSLATOR_DATA_KEY","TRANSFORM_MATRIX_REGEX","TRANSLATE_REGEX","locate","getTranslate","isPercentValue","cacheTranslate","clearCache","getTranslateCss","xValueString","yValueString","is3D","resetPosition","finishTransition","originalTransition","stylesConfig","parseTranslate","translateString","reverseTransition","inTransition","genWindowItem","onAfterTransition","onBeforeTransition","onTransitionCancelled","onEnter","VWindowItem","VSelectMenuProps","offsetOverflow","autoSelectFirst","queryText","lazySearch","currentRange","isSearching","setSearch","onFilteredItemsChanged","preSelectedItem","deleteCurrentItem","curIndex","curItem","currentItemText","IS_PURE","SHARED","btnCount","remoteQueryImpl","tasks","createTask","executorTask","_adapterFactory","_taskQueue","_currentTask","_mergedSortArgs","rejectWithNotify","mergeSortTask","optimize","unmergedTasks","clientChain","queryImpl","remote","impl","getSessionStorage","transitionEndEventNames","webkitTransition","MozTransition","OTransition","supportProp","isNativeScrollingSupported","isNativeScrollDevice","detectTouchEvents","hasWindowProperty","detectPointerEvent","touchEvents","touchPointersPresent","transitionEndEventName","nativeScrolling","EventsStrategy","_owner","addFn","originalAdd","TOTAL_COUNT","LOAD","BY_KEY","INSERT","UPDATE","REMOVE","ensureRequiredFuncOption","throwInvalidUserFuncResult","createUserFuncFailureHandler","promiseArguments","invokeUserLoad","userResult","userFunc","_loadFunc","invokeUserTotalCountFunc","_totalCountFunc","invokeUserByKeyFunc","_byKeyFunc","runRawLoad","userFuncOptions","continuation","__rawData","loadPromise","__rawDataPromise","_cacheRawData","runRawLoadWithQuery","countOnly","itemsQuery","totalCountQuery","rawDataQuery","waitList","runRawLoadWithKey","CustomStore","useDefaultSearch","_loadMode","cacheRawData","_insertFunc","_removeFunc","clearRawDataCache","serverResponse","DxExtensionComponent","keyup","tap","featureChanged","updateMapClasses","trash","combineFeatures","uncombineFeatures","RADIUS","FLATTENING","POLAR_RADIUS","geometry","geometries","ring","CONTROL_BASE","CONTROL_PREFIX","CONTROL_BUTTON","CONTROL_BUTTON_LINE","CONTROL_BUTTON_POLYGON","CONTROL_BUTTON_POINT","CONTROL_BUTTON_TRASH","CONTROL_BUTTON_COMBINE_FEATURES","CONTROL_BUTTON_UNCOMBINE_FEATURES","CONTROL_GROUP","ATTRIBUTION","ACTIVE_BUTTON","BOX_SELECT","HOT","COLD","ADD","MOVE","DRAG","POINTER","POLYGON","LINE","POINT","FEATURE","LINE_STRING","FEATURE_COLLECTION","MULTI_PREFIX","MULTI_POINT","MULTI_LINE_STRING","MULTI_POLYGON","DRAW_LINE_STRING","DRAW_POLYGON","DRAW_POINT","SIMPLE_SELECT","DIRECT_SELECT","CREATE","DELETE","SELECTION_CHANGE","MODE_CHANGE","ACTIONABLE","RENDER","COMBINE_FEATURES","UNCOMBINE_FEATURES","CHANGE_COORDINATES","MIDPOINT","VERTEX","ACTIVE","INACTIVE","cursors","geojsonTypes","updateActions","activeStates","interactions","LAT_MIN","LAT_RENDERED_MIN","LAT_MAX","LAT_RENDERED_MAX","LNG_MIN","LNG_MAX","LineString","MultiLineString","Polygon","_nums","clickBuffer","touchBuffer","getLayer","queryRenderedFeatures","currentModeName","queueMapClasses","fineTolerance","grossTolerance","tolerance","rack","hats","incomingCoords","setCoordinates","getCoordinates","toGeoJSON","userProperties","updateCoordinate","getCoordinate","addCoordinate","removeCoordinate","MultiPoint","MultiPolygon","_coordinatesToFeatures","drawConfig","_ctx","getFeatures","setSelectedCoordinates","feature_id","getSelected","getSelectedIds","getFeature","deleteFeature","addFeature","clearSelectedFeatures","clearSelected","clearSelectedCoordinates","setActionableState","actionable","changeMode","updateUIClasses","activateUIButton","setActiveButton","featuresAt","newFeature","isInstanceOf","doRender","onSetup","onDrag","onMouseOut","onTouchStart","onTouchMove","onTouchEnd","onTap","onTrash","onCombineFeature","onUncombineFeature","toDisplayFeatures","onCombineFeatures","onUncombineFeatures","getSource","getAllIds","getChangedIds","cold","currentModeRender","_emitSelectionChange","getSelectedCoordinates","_deletedFeaturesToEmit","clearChangedIds","_features","_featureIds","_selectedFeatureIds","_selectedCoordinates","_changedFeatureIds","_mapInitialConfig","createRenderBatch","setDirty","coord_path","setFeatureProperty","storeMapConfig","restoreMapConfig","getInitialConfigValue","connect","removeLayers","removeButtons","removeEventListeners","clearMapClasses","boxZoomInitial","boxZoom","addLayers","addEventListeners","mousedrag","touchdrag","featureTarget","touchEnabled","controls","line_string","polygon","changeZoom","defaultMode","keybindings","getMode","onDeactivate","onActivate","addButtons","combine_features","uncombine_features","boxSelect","dragPan","loaded","addSource","addLayer","removeLayer","removeSource","paint","isOfMetaType","isShiftMousedown","isActiveFeature","isInactiveFeature","noTarget","isFeature","isVertex","isShiftDown","isEscapeKey","isEnterKey","_sub","multByPoint","_multByPoint","divByPoint","_divByPoint","_mult","_div","_rotate","rotateAround","_rotateAround","matMult","_matMult","perp","_perp","mag","dist","distSqr","angleTo","angleWith","angleWithSep","clientLeft","clientTop","lng","lat","midpoints","selectedPaths","doubleClickZoom","GeometryCollection","Feature","FeatureCollection","node_","isLeaf","notLeaf","notRoot","isLast","_bbox","_valid","union","_fastContains","bboxify","dragMoveLocation","boxSelectStartLocation","boxSelectElement","boxSelecting","canBoxSelect","dragMoving","canDragMove","initiallySelectedFeatureIds","featureIds","fireActionable","fireUpdate","getUniqueIds","stopExtendedInteractions","clickAnywhere","clickOnVertex","clickOnFeature","featureId","coordPath","startPos","lngLat","startOnActiveFeature","startBoxSelect","dragMove","whileBoxSelect","createdFeatures","deletedFeatures","selectedCoordPaths","startDragging","stopDragging","onVertex","pathsToCoordinates","onMidpoint","onFeature","dragFeature","dragVertex","clickNoTarget","clickInactive","clickActiveFeature","localeCompare","stopDrawingAndRemove","currentVertexPosition","simple_select","direct_select","draw_point","draw_polygon","draw_line_string","displayControlsDefault","__data__","CommonSelectors","constrainFeatureMovement","createMidPoint","createSupplementaryPoints","createVertex","euclideanDistance","getFeatureAtAndSetCursors","isClick","isEventAtCoordinates","isTap","mapEventToBoundingBox","ModeHandler","moveFeatures","sortFeatures","stringSetsAreEqual","StringSet","toDenseArray","getFeatureIdsAt","getSelectedPoints","deleteAll","constants","lib","deferredConfig","_DeferredObj","_promise","fromPromise","whenFunc","resolvedCount","updateState","chipGroup","draggable","filterIcon","pill","hasClose","genFilter","genClose","_objectWithoutPropertiesLoose","excluded","sourceKeys","mcg","kg","oz","createInstance","axios","spread","convertRulesToOptions","currentDevice","ruleOptions","deviceFilter","deviceMatch","normalizeOptions","getFieldName","getParentName","getNestedOptionValue","optionsObject","createDefaultOptionRules","tzl","numbersNouns","translateFuture","translatePast","numberNoun","numberAsNoun","hundred","ten","aFunction","SCROLL_EVENT","SCROLL_INIT_EVENT","SCROLL_START_EVENT","SCROLL_MOVE_EVENT","SCROLL_END_EVENT","SCROLL_STOP_EVENT","SCROLL_CANCEL_EVENT","Locker","NAMESPACED_SCROLL_EVENT","_proxiedScroll","TimeoutLocker","_forget","_clearTimer","WheelLocker","_lastWheelDirection","_checkDirectionChanged","directionChange","PointerLocker","isIos","_scrollFrame","_checkFrame","ScrollEmitter","FRAME_DURATION","_pointerLocker","_wheelLocker","skipCheck","_prevEventData","currentEventData","endEventDelta","velocity","velocityMultiplier","DxConfiguration","$propertyIsEnumerable","NASHORN_BUG","uncurryThisAccessor","aPossiblePrototype","CORRECT_SETTER","ptBr","DxHide","DxHeaderFilter","DxGroupPanel","DxGroupOperationDescriptions","DxGroupItem","DxGroupingTexts","DxGrouping","DxFrom","DxFormItem","DxForm","DxFilterRow","DxFilterPanelTexts","DxFilterPanel","DxFilterOperationDescriptions","DxFilterBuilderPopup","DxFilterBuilder","DxFieldLookup","DxField","DxExportTexts","DxEmailRule","DxEditingTexts","DxEditing","DxDataGridSelection","DxDataGridHeaderFilterTexts","DxDataGridHeaderFilterSearch","DxDataGridHeaderFilter","DxCustomRule","DxCustomOperation","DxCompareRule","DxColumnLookup","DxColumnHeaderFilterSearch","DxColumnHeaderFilter","DxColumnFixingTexts","DxColumnFixing","DxColumnChooserSelection","DxColumnChooserSearch","DxColumnChooser","DxColumn","DxCollision","DxColCountByScreen","DxChange","DxBoundaryOffset","DxAt","DxAsyncRule","DxDataGrid","DxValueFormat","DxValidationRule","DxTotalItem","DxToolbarItem","DxToolbar","DxTo","DxTexts","DxSummaryTexts","DxSummary","DxStringLengthRule","DxStateStoring","DxSorting","DxSortByGroupSummaryInfo","DxShow","DxSelection","DxSearchPanel","DxSearch","DxScrolling","DxRowDragging","DxRequiredRule","DxRemoteOperations","DxRangeRule","DxPosition","DxPopup","DxPatternRule","DxPaging","DxPager","DxOperationDescriptions","DxOffset","DxNumericRule","DxMy","DxMasterDetail","DxLookup","DxLoadPanel","DxKeyboardNavigation","data_grid_1","allowColumnReordering","allowColumnResizing","autoNavigateToFocusedRow","cacheEnabled","cellHintEnabled","columnAutoWidth","columnChooser","columnFixing","columnHidingEnabled","columnMinWidth","columnResizingMode","customizeColumns","dataRowTemplate","dateSerializationFormat","editing","errorRowEnabled","filterBuilder","filterBuilderPopup","filterPanel","filterRow","filterSyncEnabled","focusedColumnIndex","focusedRowEnabled","focusedRowIndex","focusedRowKey","grouping","groupPanel","highlightChanges","keyboardNavigation","masterDetail","onAdaptiveDetailRowPreparing","onCellClick","onCellDblClick","onCellHoverChanged","onCellPrepared","onContextMenuPreparing","onDataErrorOccurred","onEditCanceled","onEditCanceling","onEditingStart","onEditorPrepared","onEditorPreparing","onFocusedCellChanged","onFocusedCellChanging","onFocusedRowChanged","onFocusedRowChanging","onInitNewRow","onRowClick","onRowCollapsed","onRowCollapsing","onRowDblClick","onRowExpanded","onRowExpanding","onRowInserted","onRowInserting","onRowPrepared","onRowRemoved","onRowRemoving","onRowUpdated","onRowUpdating","onRowValidating","onSaved","onSaving","onToolbarPreparing","pager","paging","remoteOperations","renderAsync","rowAlternationEnabled","rowDragging","rowTemplate","scrolling","searchPanel","selectedRowKeys","showBorders","showColumnHeaders","showColumnLines","showRowLines","sortByGroupSummaryInfo","sorting","stateStoring","summary","syncLookupFilterValues","twoWayBindingEnabled","dataGridHeaderFilter","dataGridSelection","insertAfterKey","insertBeforeKey","sm","xs","allowEditing","allowExporting","allowFiltering","allowFixing","allowGrouping","allowHeaderFiltering","allowHiding","allowResizing","allowSearch","allowSorting","autoExpandGroup","calculateCellValue","calculateFilterExpression","calculateGroupValue","calculateSortValue","cellTemplate","editCellTemplate","editorOptions","falseText","filterOperations","filterType","filterValues","fixedPosition","formItem","groupCellTemplate","headerCellTemplate","hidingPriority","isBand","ownerBand","setCellValue","showEditorAlways","showInColumnChooser","showWhenGrouped","trueText","visibleIndex","AsyncRule","columnHeaderFilter","columnLookup","CompareRule","CustomRule","EmailRule","NumericRule","PatternRule","RangeRule","RequiredRule","StringLengthRule","validationRule","emptyPanelText","columnChooserSearch","columnChooserSelection","allowSelectAll","columnFixingTexts","leftPosition","rightPosition","unfix","columnHeaderFilterSearch","allowClearing","valueExpr","editorTemplate","dataGridHeaderFilterSearch","dataGridHeaderFilterTexts","emptyValue","showCheckBoxesMode","allowAdding","allowDeleting","allowUpdating","confirmDelete","editColumnName","editRowKey","newRowPosition","refreshMode","selectTextOnEditStart","startEditAction","useIcons","editingTexts","addRow","cancelAllChanges","cancelRowChanges","confirmDeleteMessage","confirmDeleteTitle","deleteRow","editRow","saveAllChanges","saveRowChanges","undeleteRow","validationCancelChanges","allowExportSelectedData","exportTexts","exportAll","exportSelectedRows","fieldLookup","allowHierarchicalFields","customOperations","filterOperationDescriptions","groupOperationDescriptions","groupOperations","maxGroupLevel","customOperation","between","equal","greaterThan","greaterThanOrEqual","isBlank","isNotBlank","lessThan","lessThanOrEqual","notContains","notEqual","filterEnabled","filterPanelTexts","clearFilter","filterEnabledHint","applyFilterText","betweenEndText","betweenStartText","operationDescriptions","resetOperationText","showAllText","showOperationChooser","alignItemLabels","alignItemLabelsInAllGroups","colCount","colCountByScreen","customizeItem","formData","labelLocation","minColWidth","onEditorEnterKey","onFieldDataChanged","optionalMark","requiredMark","requiredMessage","screenByWidth","showColonAfterLabel","showOptionalMark","showRequiredMark","showValidationSummary","editorType","helpText","isRequired","allowCollapsing","autoExpandAll","contextMenuEnabled","expandMode","groupingTexts","groupByThisColumn","groupContinuedMessage","groupContinuesMessage","ungroup","ungroupAll","alignByColumn","showInColumn","showInGroupFooter","skipEmptyValues","summaryType","valueFormat","and","notAnd","notOr","allowColumnDragging","staggerDelay","locateInMenu","menuItemTemplate","showText","editOnKeyPress","enterKeyAction","enterKeyDirection","showColon","allowedPageSizes","infoText","showInfo","showNavigationButtons","showPageSizeSelector","toolbarItem","filtering","groupPaging","showDragIcons","columnRenderingMode","preloadEnabled","rowRenderingMode","highlightCaseSensitive","highlightSearchText","searchVisibleColumnsOnly","groupColumn","summaryItem","ascendingText","clearText","descendingText","showSortIndexes","customLoad","customSave","savingTimeout","calculateCustomSummary","recalculateWhileEditing","totalItems","groupItem","summaryTexts","totalItem","avgOtherColumn","maxOtherColumn","minOtherColumn","sumOtherColumn","VA","mVA","kVA","MVA","GVA","reFuncName","IndexedObject","REDUCE_EMPTY","IS_RIGHT","argumentsLength","memo","_checkPrivateRedeclaration","privateCollection","_classPrivateFieldInitSpec","privateMap","checkPrivateRedeclaration","isStringOrNumber","combineFrom","key$1","isLinkEventObject","EMPTY_OBJ","Fragment","normalizeEventName","insertOrAppend","newDom","lastDom","callAll","arrayFn","findChildVNode","startEdge","findDOMfromVNode","removeVNodeDOM","moveVNodeDOM","createDerivedState","getDerivedStateFromProps","renderCheck","componentComparator","createVNode","renderComplete","isLastValueSameLinkEvent","lastValue","nextValue","mergeUnsetProperties","safeCall1","arg1","keyPrefix","childFlag","mergeDefaultHooks","defaultHooks","mergeDefaultProps","resolveComponentFlags","createComponentVNode","createFragment","createVoidVNode","cloneFragment","vNodeToClone","directClone","propsToClone","createPortal","normalizedRoot","normalizeRoot","_normalizeVNodes","newKey","oldKey","isPrefixedKey","getFlagsForElementVnode","newChildFlags","needsCloning","isNullKey","isPrefixed","xmlNS","getDelegatedEventObject","onDblClick","attachedEventCounts","attachedEvents","syntheticEvents","updateOrAddSyntheticEvent","eventsObject","$EV","attachEventToDocument","unmountSyntheticEvent","handleSyntheticEvent","lastEvent","nextEvent","getTargetNode","dispatchEvents","currentEvent","cancelBubble","immediatePropagationStopped","extendEventProperties","rootClickEvent","rootEvent","attachedEvent","triggerEventListener","nativeListenerName","createWrappedFunction","applyValue","fnMethod","newVNode","previousKey","previousArgs","wrapped","isCheckedType","onTextInputChange","applyValueInput","wrappedOnChange","emptywrapper","inputEvents","nextPropsOrEmpty","updateChildOptions","updateChildOption","onSelectChange","applyValueSelect","selectEvents","mounting","multiplePropInBoolean","onTextareaInputChange","applyValueTextArea","wrappedOnChange$1","textAreaEvents","domValue","processElement","isControlled","addFormElementEventHandlers","isControlledFormElement","unmountRef","mountRef","unmountAllChildren","componentWillUnmount","$UN","clearDOM","removeAllChildren","wrapLinkEvent","ev","patchEvent","patchStyle","lastAttrValue","nextAttrValue","domStyle","patchDangerInnerHTML","lastVNode","lastHtml","nextHtml","patchProp","hasControlledValue","mountProps","isFormElement","renderNewInput","nextInput","childContext","getChildContext","createClassComponentInstance","usesNewAPI","$N","getSnapshotBeforeUpdate","$SVG","$L","$BS","componentWillMount","$BR","$PS","renderFunctionalComponent","mountElement","mountClassComponent","mountFunctionalComponent","mountFunctionalComponentCallbacks","mountText","mountFragment","mountPortal","placeHolderVNode","mountArrayChildren","childrenIsSVG","mountClassComponentCallbacks","createClassMountCallback","createOnMountCallback","replaceWithNewNode","nextVNode","nextFlags","patchElement","patchClassComponent","patchFunctionalComponent","patchText","patchFragment","patchPortal","patchSingleTextChild","lastChildren","nextChildren","patchContentEditableChildren","lastChildFlags","nextChildFlags","nextIsSingle","lastLen","patchChildren","lastContainer","nextContainer","lastProps","lastPropsOrEmpty","nextClassName","nextRef","lastRef","replaceOneVNodeWithMultipleVNodes","lastLength","nextLength","patchKeyedChildren","patchNonKeyedChildren","createDidUpdate","lastState","snapshot","updateClassComponent","hasSCU","componentWillReceiveProps","nextHooksDefined","lastInput","lastChildrenLength","nextChildrenLength","nextChild","aLength","bLength","outerEdge","nextPos","aEnd","bEnd","aNode","bNode","patchKeyedChildrenComplex","aStart","bStart","aLeft","bLeft","canRemoveWholeContent","seq","lis_algorithm","maxLen","arrI","hasDocumentAvailable","__render","rootInput","QUEUE","microTaskPending","queueStateChanges","newState","stateKey","applyState","$F","rerender","QU","$QU","callSetStateCallbacks","pendingState","forceUpdate","_nextContext","fil","hyAm","passed","callbacks_1","includeAttrs","getAttrs","attrValue","defaultSlots","beforeUnmount","getComponentProps","getVModelValue","childExtenton","ERROR_URL","baseErrors","makeError","combineMessage","formatDetails","details","getErrorUrl","__id","__details","FOCUS_STATE_CLASS","FOCUS_DISABLED_CLASS","FOCUSED_ROW_SELECTOR","GRID_ROW_SELECTOR","GRID_CELL_SELECTOR","TREELIST_ROW_SELECTOR","TREELIST_CELL_SELECTOR","viewItemSelectorMap","columnHeaders","isMouseDown","isHiddenFocusing","focusedElementInfo","processKeyDown","viewName","$mainElement","executeKeyDown","isHandled","fireKeyDownEvent","saveFocusedElementInfo","selectView","$activeElements","getActiveAccessibleElements","viewInstance","viewElement","$viewElement","findFocusedViewElement","viewSelectors","$focusViewElement","onDocumentVisibilityChange","visibilityState","subscribeVisibilityChange","unsubscribeVisibilityChange","hiddenFocus","preventScroll","registerKeyboardAction","getMainElement","keyDownHandler","mouseDownHandler","focusinHandler","needShowOverlay","viewNames","viewItemIndex","_viewName","setTabIndex","keyboardController","getController","isKeyboardEnabled","createAction","DBLCLICK_EVENT_NAME","DBLCLICK_NAMESPACE","NAMESPACED_CLICK_EVENT","DBLCLICK_TIMEOUT","DblClick","_forgetLastClick","_firstClickTarget","_lastClickTimeStamp","timeBetweenClicks","isDouble","COLUMN_INDICATORS_CLASS","GROUP_PANEL_ITEM_CLASS","ColumnStateMixin","Base","columnAlignment","_getColumnAlignment","isGroupPanelItem","$indicatorsContainer","_createIndicatorContainer","$span","_getIndicatorClassName","columnsController","indicatorAlignment","getHeaderContentAlignment","_renderIndicator","ignoreIndicatorAlignment","_getIndicatorContainer","$cell","$indicatorContainer","$indicator","indicatorName","$cells","getColumnElements","_updateIndicator","command","_applyColumnState","WIDGET_WITH_LEGACY_CONTAINER_NAME","_actionConfigs","callbackNames","callbackFlags","_endUpdateCore","optionCache","_optionCache","_controllers","componentName","containerName","addWidgetPrefix","$gridElement","getWidgetContainerClass","ViewController","_views","resizeCompleted","_isReady","_requireReady","_requireRender","_requireResize","_$parent","requireResize","requireReady","marginBottom","isResizing","_resizeCore","MODULES_ORDER_MAX_INDEX","getExtendedTypes","moduleExtenders","extendTypes","extender","currentType","classType","registerPublicMethods","moduleItem","publicMethods","processModules","modulesOrder","createModuleItems","moduleTypes","moduleItems","moduleType","module1","module2","orderIndex1","orderIndex2","rootControllerTypes","rootViewTypes","views","controllerTypes","viewTypes","callModuleItemsMethod","moduleNames","SCROLL_CONTAINER_CLASS","SCROLLABLE_SIMULATED_CLASS","GROUP_SPACE_CLASS","CONTENT_CLASS","TABLE_CLASS","TABLE_FIXED_CLASS","CONTENT_FIXED_CLASS","ROW_CLASS","GROUP_ROW_CLASS","GROUP_CELL_CLASS","DETAIL_ROW_CLASS","FILTER_ROW_CLASS","ERROR_ROW_CLASS","CELL_UPDATED_ANIMATION_CLASS","HIDDEN_COLUMNS_WIDTH","CELL_HINT_VISIBLE","FORM_FIELD_ITEM_CONTENT_CLASS","appendElementTemplate","subscribeToRowEvents","$table","touchTarget","touchCurrentTarget","clearTouchTargets","getRowIndex","rowElement","_rowPointerDown","_rowClick","_rowDblClick","getWidthStyle","setCellWidth","copyAttributes","oldAttributes","templateDeferred","normalizeWidth","_scrollLeft","_columnsController","_adaptiveColumnsController","_columnChooserController","_editorFactoryController","_selectionController","_columnChooserView","_delayedTemplates","_templateDeferreds","_templatesCache","_templateTimeouts","_afterRowPrepared","columnsChanged","_columnOptionChanged","_handleDataChanged","templateTimeout","optionChanged","$tableElement","scrollingOptions","_cellPrepared","needToSetCellWidths","_needToSetCellWidths","headerId","visibleWidth","rowObject","isAppend","_createColGroup","setTableRole","$row","visibleColumns","getVisibleColumns","cellOptions","isHeaderRow","isDataRow","isMasterDetailRow","isGroupRow","isFilterRow","isDataRowWithTemplate","isEditorShown","isEditing","isHeaderRowWithTemplate","isGroupCellWithTemplate","shouldShowHint","$fieldItemContent","resultOptions","cellElement","formItemOptions","getVisibleIndex","colgroupElement","_createCol","delayedTemplates","syncTemplates","asyncTemplates","_renderDelayedTemplatesCore","_renderDelayedTemplatesCoreAsync","isAsync","templateParameters","needWaitAsyncTemplates","renderDelayedTemplates","renderingTemplate","allowRenderToDetachedContainer","renderedTemplate","templateID","_processTemplate","isDisposed","columnAsync","tableElement","hasRowTemplate","_getBodies","isRefreshing","_tableElement","needWrapRow","_needWrapRow","$tbody","appendTemplate","changeType","_createTable","_renderRows","_getRows","columnIndices","changeTypes","_renderRow","_createRow","$wrappedRow","_wrapRowIfNeed","_renderCells","_appendRow","_addWatchMethod","_rowPrepared","_needRenderCell","_renderCell","oldValues","$rowElement","$newRowElement","$newCells","cellUpdatedClass","$newCell","columnIndexOffset","getColumnIndexOffset","ariaColIndex","_getCellOptions","_createCell","_setCellAriaAttributes","_renderCellContent","_getCellTemplate","_updateCell","isAltRow","_isAltRow","updateValueFunc","updateRowFunc","keepRow","checkChanges","setColumnWidths","isFixedTableRendering","$scrollContainer","_getContent","scrollChanged","forceWaiting","waitTemplatesRecursion","$newTableElement","waitAsyncTemplates","_removeContent","setTableElement","_wrapTableInScrollContainer","$cellElements","cellElements","getTableElement","$rows","isDetailRow","isErrorRow","isRowVisible","isRelevantRow","_getWidths","$cols","getVisibleColumnIndex","_getCellElementsCore","_getRowElements","columnIdentifier","getCellElements","columnVisibleIndex","_getVisibleColumnIndex","$tableElements","getTableElements","_getCellElement","_getRowElement","columnOption","cellPosition","_getRowElementsCore","CELL_CONTENT_CLASS","HEADERS_CLASS","NOWRAP_CLASS","ROW_CLASS_SELECTOR","HEADER_ROW_CLASS","COLUMN_LINES_CLASS","CONTEXT_MENU_SORT_ASC_ICON","CONTEXT_MENU_SORT_DESC_ICON","CONTEXT_MENU_SORT_NONE_ICON","CELL_FOCUS_DISABLED_CLASS","VISIBILITY_HIDDEN_CLASS","TEXT_CONTENT_ALIGNMENT_CLASS_PREFIX","SORT_INDICATOR_CLASS","SORT_INDEX_INDICATOR_CLASS","HEADER_FILTER_CLASS_SELECTOR","HEADER_FILTER_INDICATOR_CLASS","MULTI_ROW_HEADER_CLASS","LINK","createCellContent","$cellContent","addCssClassesToCellContent","contentAlignment","$indicatorElements","_getIndicatorElements","$visibleIndicatorElements","indicatorCount","sortIndicatorClassName","sortIndexIndicatorClassName","$sortIndicator","$sortIndexIndicator","_headerPanelView","_headerFilterController","needCellContent","textEmpty","_getEmptyHeaderText","needSplit","leftPart","rightPart","columnChooserTitle","columnChooserView","$link","showColumnChooser","hasHiddenColumns","hasGroupedColumns","_getDefaultTemplate","resultTemplate","_isGroupingChanged","_isLegacyKeyboardNavigation","_handleActionKeyDown","_lastActionElement","headerFilterController","$column","getColumnIndexByElement","showHeaderFilterMenu","_processHeaderAction","_hasRowElements","_updateContent","_renderTable","getRowCount","$cellElement","_getHeaderTemplate","groupExpanding","_alignCaptionByCenter","returnAll","$headerRows","columnElements","bandColumnIndex","getChildrenByBandColumn","getCellIndex","$columnElements","getColumnWidths","isReorderingEnabled","isColumnOptionUsed","getElementHeight","sortingOptions","changeSortOrder","columnID","setColumnOpacity","setRowsOpacity","rowColumns","columnHeadersModule","columnHeadersView","USER_STATE_FIELD_NAMES_15_1","USER_STATE_FIELD_NAMES","IGNORE_COLUMN_OPTION_NAMES","bestFitWidth","bufferedFilterValue","COMMAND_EXPAND_CLASS","GROUP_COMMAND_COLUMN_NAME","DETAIL_COMMAND_COLUMN_NAME","COLUMN_OPTION_REGEXP","DEFAULT_COLUMN_OPTIONS","DATATYPE_OPERATIONS","COLUMN_INDEX_OPTIONS","GROUP_LOCATION","COLUMN_CHOOSER_LOCATION","setFilterOperationsAsDefaultValues","defaultFilterOperations","globalColumnId","createColumn","columnOptions","userStateColumnOptions","bandColumn","commonColumnOptions","setName","getCommonSettings","calculatedColumnOptions","_createCalculatedColumnOptions","createColumnsFromOptions","columnsOptions","createdColumnCount","_columnsUserState","checkUserStateColumn","hasColumns","getParentBandColumns","columnParentByIndex","columnChildrenByIndex","getColumnByIndexes","columnIndexes","bandColumnsCache","getBandColumnsCache","callbackFilter","_columns","getColumnFullPath","calculateColspan","processBandColumns","getValueDataType","getSerializationFormat","getDateSerializationFormat","updateSerializers","deserializeValue","serializeValue","serializeDate","serializationFormat","getAlignmentByDataType","customizeTextForBooleanDataType","getCustomizeTextByDataType","createColumnsFromDataSource","firstItems","_getFirstItems","processedFields","updateColumnIndexes","_commandColumns","updateColumnGroupIndexes","currentColumn","updateColumnSortIndexes","isSortOrderValid","updateColumnVisibleIndexes","bandedColumns","parentBandColumns","getColumnIndexByVisibleIndex","getGroupColumns","getChooserColumns","moveColumnToGroup","groupColumns","userStateColumn","applyUserState","userStateColumnIndex","columnsUserState","ignoreColumnOptionNames","_ignoreColumnOptionNames","columnCountById","resultColumns","allColumnsHaveState","userStateColumnIndexes","applyFieldsState","defaultSelectedFilterOperation","findUserStateColumn","_hasUserState","initialIndex","hasAddedBands","columnUserState","assignColumns","resetBandColumnsCache","resetColumnsCache","_previousColumns","updateColumnDataTypes","updateColumnChanges","columnChanges","_columnChanges","fireColumnsChanged","onColumnsChanging","reinitOptionNames","_reinitAfterLookupChanges","updateSortOrderWhenGrouping","prevGroupIndex","columnWasGrouped","lastSortOrder","sortMode","sortedByAnotherColumn","fireOptionChanged","fullOptionName","fullOptionPath","_skipProcessingColumnsChange","columnOptionCore","notFireEvent","initialColumn","optionGetter","optionSetter","_checkColumns","getColumnByPath","addExpandColumn","_getExpandColumnOptions","addCommandColumn","defaultSetCellValue","dotCount","getDataColumns","bandColumnID","invisibleParents","isCustomCommandColumn","commandColumn","customCommandColumns","getFixedPosition","processExpandColumns","expandColumns","customColumnIndex","expandColumnsByType","expandColumn","digitsCount","numberToString","mergeColumns","commandColumns","needToExtend","commandColumnIndex","isColumnFixing","_isColumnFixing","defaultCommandColumns","getCommandColumnIndex","columnType","isColumnFixed","convertOwnerBandToColumnReference","_bandColumnsCache","findColumn","identifierOptionName","column1","column2","caption1","caption2","strictParseNumber","formattedValueWithDefaultFormat","isApplyingUserState","_focusController","_stateStoringController","_isColumnsFromOptions","_dataSourceApplied","applyDataSource","groupsCount","getFirstItemsCore","needUpdateRequireResize","_updateRequireResize","columnOptionValue","columnOptionName","forceApplying","isDataSourceLoaded","_dataSourceColumnsCount","columnsFromDataSource","updateColumns","isAllDataTypesDefined","_visibleColumns","_fixedColumns","getUserState","commonColumnSettings","groupingOptions","groupPanelOptions","checkSerializers","defaultCalculateCellValue","_compileVisibleColumnsCore","_shouldReturnVisibleColumns","_compileVisibleColumns","_getFixedColumnsCore","notFixedColumnCount","transparentColumnIndex","lastFixedPosition","transparentColumn","transparentColspan","prevColumn","newColumn","_getExpandColumnsCore","firstGroupColumn","isFixedFirstGroupColumn","parentIndex","isParentColumnVisible","_isColumnVisible","isInGroupPanel","_isColumnInGroupPanel","isCommand","indexedColumns","_getIndexedColumns","_getVisibleColumnsFromIndexed","isDataColumnsInvisible","hasVisibleDataColumns","columnDigitsCount","positiveIndexedColumns","negativeIndexedColumns","isDefaultCommandColumn","isFixedToEnd","getExpandColumns","rowspanGroupColumns","rowspanExpandColumns","firstPositiveIndexColumn","positiveIndexedRowColumns","columnsByFixing","columnsByVisibleIndex","hiddenColumnsByBand","getInvisibleColumns","getAllColumns","columnChooserColumns","fromVisibleIndex","toVisibleIndex","sourceLocation","sourceColumn","targetGroupIndex","targetColumn","sortingMode","needResetSorting","useLocalSelector","sortColumns","sortItem","updateNewLookupsOnly","deferreds","valueMap","shouldTakeOriginalCallbackFromPrevious","originalCallback","calculateCallbackName","calculateCallback","displayValueMap","getFormatByDataType","defaultFilterOperation","isColumnDataTypesUpdated","lookupDataType","valueDataType","getDisplayValue","_updateColumnOptions","hasOwnerBand","updateSortingGrouping","sortParameters","getSortDataSourceParameters","groupParameters","getGroupDataSourceParameters","filterParameters","lastLoadOptions","_customizeColumns","_updateChanges","equalSortParameters","equalFilterParameters","fromDataSource","isColumnsChanged","updateSortGroupParameterIndexes","indexParameterName","columnsGroupParameters","columnsSortParameters","groupingChanged","groupExpandingChanged","remoteFiltering","updateFilter","visibleColumn","childIndexes","handleStateField","isFilterPanelHidden","usedNames","hasEditableColumnWithoutName","duplicatedNames","isEditable","skipDeserialization","createFilterExpression","userDataType","calculateValue","updateValueMap","resizedCallbacks","resized","defaultOptionName","alwaysGetRowIndex","onlyVisibleDirectChildren","bandColumns","columnsControllerModule","adaptColumnWidthByRatio","regenerateColumnsByVisibleItems","readyWatcher","changePaging","_getPagingOptionValue","_skipProcessingPagingChange","_isPaging","pageChanged","_cachedProcessedItems","_editingController","_errorHandlingController","_filterSyncController","_applyFilterController","_keyboardNavigationController","_validatingController","_adaptiveExpandedKey","_currentOperationTypes","_dataChangedHandler","operationTypes","_columnsChangedHandler","_handleColumnsChanged","_loadingChangedHandler","_handleLoadingChanged","_loadErrorHandler","_handleLoadError","_customizeStoreLoadOptionsHandler","_handleCustomizeStoreLoadOptions","_changingHandler","_handleChanging","_dataPushedHandler","_handleDataPushed","_isLoading","_isCustomLoading","_repaintChangesOnly","dataErrorOccurred","isValueChanged","needToRefreshOnDataSourceChange","changedPagingOptions","_handleDataSourceChange","_setPagingOptions","isPageIndexChanged","_useSortingGroupingFromColumns","returnDataField","isColumnsTypesDefined","isDataSourceApplied","additionalFilter","_calculateAdditionalFilter","combineFilters","isRemoteFiltering","_readyDeferred","updateItems","isCustomLoading","isLoadingAll","_columnsUpdating","filterApplied","_applyFilter","_needApplyFilter","updateItemsHandler","virtualColumnsScrolling","isAsyncDataSourceApplying","_isDataSourceApplying","isDelayed","needApplyFilter","_isAllDataTypesDefined","_fireLoadingChanged","pushed","pagingEnabled","scrollingMode","appendMode","virtualMode","isPaginateChanged","isPageSizeChanged","oldDataSource","setDataSource","visibleItems","lastVisibleItem","rowIndexDelta","getRowIndexDelta","getDataIndex","_processItem","_generateDataItem","_processDataItem","generateDataValues","isModified","_applyChangeUpdate","_applyChangesOnly","_applyChangeFull","rowIndices","correctedRowIndex","allowInvisibleRowIndices","_getRowIndices","rowIndexCorrection","equalItems","oldNextItem","newItem","newNextItem","isFullUpdate","_partialUpdateRow","oldRow","newRow","visibleRowIndex","isLiveUpdate","isCellModified","modifiedValues","_isCellChanged","isRowStateEquals","isContinuation","isContinuationOnNextPage","changedColumnIndices","_getChangedColumnIndices","isCellChanged","expandedMatch","summaryCellsMatch","summaryCells","continuationMatch","newIndexByKey","getRowKey","currentItems","oldItems","_correctRowIndices","oldRowIndexOffset","_rowIndexOffset","rowIndexOffset","getRowIndexOffset","newVisibleRowIndex","cachedProcessedItems","useProcessedItemsCache","_beforeProcessItems","_processItems","_afterProcessItems","_applyChange","getVisibleRows","isDataChanged","needUpdateDimensions","_needUpdateDimensions","_updateItemsCore","loadingOperationTypes","loadingChanged","_loadingText","_isFilterApplying","filterName","clearColumnOption","searchByText","changedHandler","dataSourceChanged","dataSourceAdapterProvider","_getDataSourceAdapter","dataSourceAdapter","enabledRemoteOperations","isLocalStore","isCustomStore","_createDataSourceAdapterCore","loadError","customizeStoreLoadOptions","changing","_createDataSourceAdapter","_fireDataSourceChanged","byLoaded","_handleDataLoaded","getRowIndexByKey","byLoadedRows","rowKeys","keyData","messageText","changesOnly","customizeLoadResult","rowIndexes","searchText","getCachedStoreData","totalItemsCount","hasKnownLastPage","dataControllerModule","loadingTimeout","cloneItems","calculateOperationTypes","isFullReload","fullReload","groupExpand","executeTask","createEmptyCachedData","getPageDataFromCache","updatePaging","fillItemsFromCache","updatePagingOptionsByCache","fromEnd","localIndex","cacheItemIndex","cacheItem","getItemFromCache","skips","takes","getGroupItemFromCache","childCacheItem","cacheItemsFromBegin","cacheItemBeginCount","cacheItemsFromEnd","cacheItemEndCount","cachedDataPartBegin","cachedDataPartEnd","setPageDataToCache","globalIndex","getCacheItem","loadedItem","childSkips","_remoteOperations","_hasLastPage","_currentTotalCount","_cachedData","_lastOperationTypes","_totalCountCorrection","_isLoadingAll","_dataLoadedHandler","_pushHandler","_handlePush","isSharedDataSource","resetCurrentTotalCount","_cachedStoreData","_cachedPagingData","_lastLoadOptions","isLocalOperations","operationName","fromStore","_needClearStoreDataCache","resetPagesCache","_applyBatch","_dataIndexGetter","storeData","isCacheUpdated","_getKeyInfo","isReshapeMode","isVirtualMode","getItemCount","oldItemCount","_needToCopyDataObject","needUpdateTotalCountCorrection","operationType","operationTypesByOrder","operationTypeIndex","currentOperationTypes","cachedStoreData","cachedPagingData","_needCleanCacheByOperation","_handleDataLoading","originalStoreLoadOptions","_isRefreshing","_customizeRemoteOperations","_loadingOperationTypes","_isRefreshed","_lastOperationId","_handleDataLoadingCore","cachedExtra","localLoadOptionNames","localPaging","needCache","needPageCache","needPagingCache","needStoreCache","mergeStoreLoadData","_handleDataLoadedCore","currentTotalCount","isDataLoading","_loadPageSize","_operationTypes","_dataSourceTotalCount","dataSourceLoadOptions","_scheduleCustomLoadCallbacks","DataSourceAdapterType","SORT_CLASS","SORT_NONE_CLASS","SORTUP_CLASS","SORTDOWN_CLASS","SORT_INDEX_CLASS","SORT_INDEX_ICON_CLASS","HEADERS_ACTION_CLASS","sortingMixin","ariaSortState","isSortingAllowed","hasSeveralSortIndexes","$rootElement","localize","ariaColumnHeader","ariaSortIndex","_description","COLUMN_HEADERS_VIEW_NAMESPACE","$cellElementFromEvent","editingController","editingMode","isCellEditing","_isSortableElement","_updateIndicators","_createGroupPanelItem","_processGroupItemAction","groupColumnIndex","sortingModule","headerPanel","ROWS_VIEW_CLASS","DATA_ROW_CLASS","FREE_SPACE_CLASS","ROW_LINES_CLASS","ROW_ALTERNATION_CLASS","LAST_ROW_BORDER","EMPTY_CLASS","ROW_INSERTED_ANIMATION_CLASS","LOADPANEL_HIDE_TIMEOUT","getMaxHorizontalScrollOffset","setWatcher","defaultCellTemplate","isDataTextEmpty","setEmptyText","getScrollableBottomPadding","getScrollable","_resizingController","_columnsResizerController","_columnHeadersView","_rowHeight","_scrollTop","_scrollRight","_hasHeight","_contentChanges","setLoading","_handleScroll","forceUpdateScrollPosition","summaryItems","getGroupRowSummaryText","_getDefaultGroupTemplate","isGroup","isRowExpanded","_setAriaRowIndex","isPagerMode","isVirtualRowRendering","isNewRow","repaintRows","_renderLoadPanel","allColumnsHasWidth","_renderScrollableCore","isNativeScrolling","isScrollbarVisible","dxScrollableOptions","_createScrollableOptions","scrollHandler","_scrollable","_scrollableContainer","renderLoadPanel","_findContentElement","newTableElement","contentChanges","rowInsertedClass","dataChangeType","$rowElements","_updateCells","isFixed","getFixedColumns","$emptyRow","$tBodies","isTableContainer","$colgroup","$freeSpaceRowElement","_createEmptyRow","_appendEmptyRow","fireError","_needUpdateRowHeight","rowsHeight","_getRowsHeight","tableElements","columnsCountBeforeGroups","_getColumnsCountBeforeGroups","_renderGroupedCells","groupCellOptions","_getGroupCellOptions","groupColumnAlignment","_checkRowKeys","_renderFreeSpaceRow","updateFreeSpaceRowHeight","_renderDataRowByTemplate","_renderScrollable","resizeCompletedHandler","scrollableInstance","_lastColumnWidths","groupingTextsOptions","isParentBandColumn","renderNoDataText","itemCount","freeSpaceRowElements","_getFreeSpaceRowElements","isFreeSpaceRowVisible","getScrollbarWidth","elementHeightWithoutScrollbar","showFreeSpaceRow","heightCorrection","_getHeightCorrection","resultHeight","_updateLastRowBorder","freeSpaceRowCount","isZoomedWebkit","_getDevicePixelRatio","isChromeLatest","chrome","hasExtraBorderTop","_fireColumnResizedCallbacks","scrollableContainer","lastColumnWidths","_updateHorizontalScrollPosition","maxHorizontalScrollOffset","scrollRight","_updateRowHeight","_updateScrollable","dxScrollable","hasHeight","visibilityOptions","calculateLoadPanelPosition","_hideLoadingTimeoutID","_setRowsOpacityCore","groupCellIndex","isFloor","prevOffset","viewportBoundary","$contentElement","contentElementOffsetTop","rowElements","_getBoundaryVisibleItemIndex","getTopVisibleItemIndex","vScrollbarWidth","hScrollbarWidth","contentTable","$rowsViewElement","rowsModule","DataConverter","_dataStructure","_itemsCount","_visibleItemsCount","_indexByKey","_convertItemsToNodes","parentKey","parentId","_getParentId","_convertItemToNode","_checkForDuplicateId","internalFields","_itemHasChildren","_dataAccessors","_dataType","_getUniqueKey","isCorrectKey","getItemsCount","_rootValue","_makeObjectFromPrimitive","childrenKeys","setChildrenKeys","getParentNode","setters","_convertToPublicNode","publicNode","convertToPublicNodes","publicNodes","_getByKey","setDataAccessors","accessors","getByKey","currentElementKey","getVisibleItemsCount","updateIndexByKey","updateChildrenKeys","removeChildrenKeys","createPlainStructure","rootValue","EXPANDED","SELECTED","DISABLED","DataAdapter","_defaultOptions","dataConverter","dataAccessors","_selectedNodesKeys","_expandedNodesKeys","_createInternalDataStructure","getTreeNodes","setOption","multipleSelection","recursiveSelection","recursiveExpansion","onNodeChanged","_initialDataStructure","_updateExpansion","_setChildrenSelection","_setParentSelection","_updateNodesKeysArray","_updateOneBranch","_setParentExpansion","_getDataBySelectionMode","_isNodeVisible","toggleSelection","getFullData","_toggleChildrenSelection","_iterateParents","newParentState","_calculateSelectedState","_setFieldState","getNodeByKey","_iterateChildren","processedKeys","nodeKey","selectedItemsCount","invisibleItemsCount","isChildInvisible","childState","_markChildren","_removeNode","_addNode","_updateFields","getSelectedNodesKeys","getExpandedNodesKeys","getNodeByItem","getNodesByItems","getRootNodes","getPublicNode","getChildrenNodes","addItem","selectRecursive","isSingleModeUnselect","_isSingleModeUnselect","selectionState","toggleNodeDisabledState","lastSelectedKey","dataStructure","isAllSelected","toggleExpansion","isFiltered","_filterDataStructure","_createCriteria","lookForParents","ITEM_URL_CLASS","HierarchicalCollectionWidget","selectedExpr","itemsExpr","parentIdExpr","expandedExpr","_initAccessors","_initDataAdapter","_initDynamicTemplates","_createDataAdapterAccessors","_dataAdapter","_getDataAdapterOptions","_getItemExtraPropNames","_addContent","_itemsGetter","_getIconContainer","_getTextContainer","_getLinkContainer","iconContainer","textContainer","linkAttr","linkAttributes","_getAccessors","accessor","_compileAccessor","_getChildNodes","_hasChildren","optionExpr","newAccessor","_addWidgetClass","_widgetClass","_disabledGetter","getMenuItems","_getTemplateString","DX_MENU_CLASS","DX_MENU_NO_ICONS_CLASS","DX_MENU_BASE_CLASS","DX_ITEM_CONTENT_CLASS","DX_MENU_SELECTED_ITEM_CLASS","DX_MENU_ITEM_WRAPPER_CLASS","DX_MENU_ITEMS_CONTAINER_CLASS","DX_MENU_ITEM_EXPANDED_CLASS","DX_MENU_SEPARATOR_CLASS","DX_MENU_ITEM_LAST_GROUP_ITEM","DX_ITEM_HAS_TEXT","DX_ITEM_HAS_ICON","DX_ITEM_HAS_SUBMENU","DX_MENU_ITEM_POPOUT_CLASS","DX_MENU_ITEM_POPOUT_CONTAINER_CLASS","DX_MENU_ITEM_CAPTION_CLASS","SINGLE_SELECTION_MODE","DEFAULT_DELAY","DX_MENU_ITEM_CAPTION_URL_CLASS","DX_ICON_WITH_URL_CLASS","showSubmenuMode","_isSelectionEnabled","_renderSelectedItem","_getPopoutContainer","_addContentClasses","$popOutContainer","$popOutImage","nodeToSelect","selectedKey","selectable","_selectByItem","_isDesktopDevice","_getItemElementByEventArgs","_isItemDisabled","_getShowSubmenuMode","_showSubmenusTimeout","_showSubmenu","_getSubmenuDelay","_addExpandedClass","submenuContainer","hasIcons","$nodeContainer","_renderContainer","firstVisibleIndex","nextGroupFirstIndex","isVisibleNode","isBeginGroup","beginGroup","_renderSeparator","$nodeElement","_createDOMElement","_hasSubmenu","hasSubmenu","_selectedGetter","_isItemSelectable","$itemsContainer","_skipHandling","itemClickActionHandler","_updateSubmenuVisibilityOnClick","_itemClick","_updateSelectedItemOnClick","_isItemSelectAllowed","selectedItemKey","selectedNode","_toggleItemSelection","isSelectByClickEnabled","_isContainerEmpty","_getElementByItem","oldSelection","DX_MENU_ITEM_CLASS","DX_MENU_PHONE_CLASS","DX_SUBMENU_CLASS","DX_CONTEXT_MENU_CLASS","DX_HAS_CONTEXT_MENU_CLASS","DX_STATE_DISABLED_CLASS","DX_STATE_FOCUSED_CLASS","DX_STATE_HOVER_CLASS","ACTIONS","LOCAL_SUBMENU_DIRECTIONS","DEFAULT_SHOW_EVENT","showEventOption","showEvent","onSubmenuCreated","onPositioning","submenuDirection","onLeftFirstItem","onLeftLastItem","onCloseRootSubmenu","onExpandLastSubmenu","$availableItems","$focusedItem","$hoveredItem","$hoveredItemContainer","_getItemsByLocation","$oldTarget","$activeItemHighlighted","_setFocusedElement","_hideSubmenuHandler","_expandSubmenuHandler","$curItem","$parentItem","_hideSubmenusOnSameLevel","_hideSubmenu","isItemHasSubmenu","$submenu","_detachShowContextMenuEvents","_getTarget","_attachShowContextMenuEvents","overlayOptions","_getOverlayOptions","_addCustomCssClass","_addPlatformDependentClass","getShowEvent","_showContextMenuEventHandler","contextMenuAction","getShowDelay","_hoverEndHandler","$holder","submenuElement","_hideOnOutsideClickHandler","_overlayShownActionHandler","_overlayHidingActionHandler","_overlayHiddenActionHandler","_hideAllShownSubmenus","$activeItemContainer","_getActiveItemsContainer","$itemContainers","_getItemsContainers","$clickedItem","_searchActiveItem","$rootItem","isRootItemClicked","isInnerOverlayClicked","_isIncludeOverlay","_hideAllShownChildSubmenus","$activeOverlay","$allOverlays","$overlay","$submenuElements","shownSubmenus","_shownSubmenus","$context","isSubmenuRendered","_renderSubmenuItems","_isSubmenuVisible","_drawSubmenu","$expandedItems","_hideSubmenuCore","submenuPosition","_getSubmenuPosition","$rootItemWrapper","shouldRenderSubmenu","notCloseMenuOnItemClick","closeMenuOnClick","$prevSubmenu","canceled","$curSubmenu","_stopAnimate","jQEvent","_event$originalEvent","_positionContextMenu","_renderContextMenuOverlay","_renderFocusState","_attachHoverEvents","_setAriaAttributes","preventShowingDefaultContextMenuAboveOverlay","_overlayContentId","_getContextMenuPosition","isInitialPosition","_isInitialOptionValue","positioningAction","lastPosition","_cleanAriaAttributes","CONTEXT_MENU","footerView","VIEW_NAMES","$targetRowElement","$targetCellElement","getContextMenuItems","_contextMenuPrepared","_contextMenuController","contextMenuInstance","contextMenuModule","contextMenu","contextMenuView","ERROR_MESSAGE_CLASS","ERROR_CLOSEBUTTON_CLASS","ACTION_CLASS","_rowsView","$errorRow","$closeButton","$errorMessage","_renderErrorMessage","errorRowIndex","removeErrorRow","fireContentReadyAction","$popupContent","$errorMessageElement","$firstErrorRow","_createErrorRow","$columnHeaders","renderErrorRow","hasChanges","errorHandlingModule","errorHandling","BORDERS_CLASS","IMPORTANT_MARGIN_CLASS","GRIDBASE_CONTAINER_CLASS","GROUP_ROW_SELECTOR","isPixelWidth","calculateFreeWidth","_getTotalWidth","calculateFreeWidthWithCurrentMinWidth","currentMinWidth","selectionRange","setSelectionRange","_prevContentMinHeight","_footerView","_refreshSizesHandler","resizeDeferred","needFireContentReady","_checkSize","_refreshSizes","_setAriaLabel","_waitAsyncTemplates","_setScrollerSpacing","_getWidgetAriaLabel","headersTableElement","columnId","getColumnId","isBestFit","$rowsTables","$viewTables","$tableBody","$rowsTable","$viewTable","$rowsFixedTable","_toggleBestFitModeForView","_needStretch","getContentHeightLimit","resetBestFitMode","hasUndefinedColumnWidth","needBestFit","_needBestFit","hasMinWidth","isColumnWidthsCorrected","_setVisibleWidths","getSelectionRange","_toggleBestFitMode","_toggleContentMinHeight","_getBestFitWidths","isFocusOutsideWindow","_correctColumnWidths","expandColumnWidth","_processStretch","freeWidth","columnCountWithoutWidth","hasPercentWidth","hasAutoWidth","hasWidth","_hasWidth","isHiddenColumn","averageColumnsWidth","_getAverageColumnsWidth","realColumnWidth","_getRealColumnWidth","lastColumnIndex","getLastResizableColumnIndex","resultSizes","tableSize","unusedIndexes","diffElement","onePixelElementsCount","groupWidth","percentTotalWidth","pixelTotalWidth","percentTotalWidthInPixel","importantMarginClass","checkSize","_initPostRenderHandlers","prevResult","_resizeDeferred","_synchronizeColumns","_resetGroupElementHeight","_updateDimensionsCore","_getGroupElement","isWidgetVisible","isGridSizeChanged","_lastWidth","_lastHeight","_devicePixelRatio","setScrollerSpacing","_setScrollerSpacingCore","rootElementHeight","isHeightSpecified","maxHeightHappened","isMaxHeightApplied","_updateLastSizes","_scrollChangedHandler","_groupElement","_getTableRoleName","_rootElement","_renderViews","gridViewModule","resizing","synchronizeScrolling","gridView","BUTTON_GROUP_CLASS","TOOLBAR_ITEMS","getItemInstance","toggleItemFocusableElementTabIndex","_itemData$options","isItemNotFocusable","$widget","_itemInstance$_focusT","_itemData$options2","itemInstance","_$focusTarget","$focusTarget","_toolbar","_this$_toolbar$option","TOOLBAR_MENU_ACTION_CLASS","TOOLBAR_HIDDEN_BUTTON_CLASS","TOOLBAR_HIDDEN_BUTTON_GROUP_CLASS","TOOLBAR_MENU_SECTION_CLASS","TOOLBAR_MENU_CUSTOM_CLASS","TOOLBAR_MENU_LAST_SECTION_CLASS","_setMenuRole","_getSections","sectionName","_updateSections","$menuContainer","$sections","isAction","menuTemplate","DROP_DOWN_MENU_CLASS","DROP_DOWN_MENU_POPUP_CLASS","DROP_DOWN_MENU_POPUP_WRAPPER_CLASS","DROP_DOWN_MENU_LIST_CLASS","DROP_DOWN_MENU_BUTTON_CLASS","POPUP_BOUNDARY_VERTICAL_OFFSET","POPUP_VERTICAL_OFFSET","onButtonClick","opened","_initItemClickAction","_initButtonClickAction","_itemClickAction","_buttonClickAction","_renderButton","haspopup","_renderList","_getMaxHeight","_closeOutsideDropDownHandler","isOutsideClick","_getListDataSource","_this$_list","_this$_list2","_deferRendering","_getKeyboardListeners","_this$_list3","_this$_list4","_this$_list5","_setListDataSource","_toggleMenuVisibility","_updateFocusableItemsTabIndex","TOOLBAR_DROP_DOWN_MENU_CONTAINER_CLASS","TOOLBAR_AUTO_HIDE_ITEM_CLASS","TOOLBAR_HIDDEN_ITEM","_renderOverflowMenu","_renderMenuItems","_hasVisibleMenuItems","_renderMenuButtonContainer","_overflowMenuContainer","itemClickAction","_updateMenuVisibility","_getMenuItems","_$overflowMenuContainer","isMenuVisible","renderMenuItems","_isMenuItem","_this$_toolbar$option2","_this$_restoreItems","$hiddenItems","_getHiddenItems","_restoreItems","overflowItems","hiddenItem","$itemMarkup","overflowGetter","itemVisible","itemOverflow","_this$_restoreItems2","_hideOverflowItems","itemsWidth","_getItemsWidth","_this$_menu","_this$_menu2","_this$_menu3","_this$_menu4","_this$_menu5","_this$_menu6","TOOLBAR_MULTILINE_CLASS","TOOLBAR_AUTO_HIDE_TEXT_CLASS","menuContainer","overflowMenuVisible","_layoutStrategy","_renderLayoutStrategy","_isMultiline","HEADER_PANEL_CLASS","TOOLBAR_ARIA_LABEL","DEFAULT_TOOLBAR_ITEM_NAMES","specificClass","secondClass","userToolbarOptions","itemRenderedCallback","userItems","_normalizeToolbarItems","defaultItems","defaultButtonsByNames","normalizedItems","_toolbarOptions","$headerPanel","userItem","_getToolbarOptions","_isDisabledDefinedByUser","normalizedItem","updateToolbarDimensions","headerPanelModule","DATAGRID_ROW_SELECTOR","DATAGRID_DEPRECATED_TEMPLATE_WARNING","registerModulesOrder","DataGrid","logHeaderFilterDeprecatedWarningIfNeed","DATE_REGEX","parseDates","getStorage","getUniqueStorageKey","_windowUnloadHandler","_savingTimeoutID","_saveState","_loadState","getDataState","pagerView","getPageSizes","processLoadState","selectionController","exportController","selectionChanged","_initialPageSize","_initialFilterValue","selectionOnlyChanged","exportSelectionOnly","selectionOnly","DEFAULT_FILTER_VALUE","getFilterValue","filterSyncController","hasFilterState","getFilterValueFromColumns","stateLoaded","getDataController","isStateLoading","oldState","oldStateHash","newStateHash","isVirtualScrollingMode","getColumnsController","setUserState","getExportController","_restoreStateTimeoutID","isDeferredSelection","_fireSelectionChanged","stateStoringModule","EDITOR_CELL_CLASS","ROW_SELECTION_CLASS","CHECKBOXES_HIDDEN_CLASS","COMMAND_SELECT_CLASS","SELECTION_DISABLED_CLASS","SHOW_CHECKBOXES_MODE","SELECTION_MODE","processLongTap","isSelectionWithCheckboxes","stopSelectionWithCheckboxes","startSelectionWithCheckboxes","changeItemSelection","isSeveralRowsSelected","isComplexKey","selectionCellTemplate","isRowSelected","renderSelectCheckBoxContainer","selectionHeaderTemplate","_renderSelectAllCheckBox","_attachSelectAllCheckBoxClickEvent","_selectionMode","_isSelectionWithCheckboxes","_createSelection","_updateSelectColumn","_deselectRemovedOnPush","_updateSelectedOnPush","removedKeys","deselectRows","updateChanges","getSelectedRowsData","selectionOptions","virtualPaging","legacyScrollingMode","hasGroupColumns","loadItemIndex","shiftItemIndex","isSelectColumnVisible","_getSelectionConfig","isDeferredMode","selectionChangedOptions","changedItemIndexes","getChangedItemIndexes","visibleChangedItemIndexes","_updateCheckboxesState","itemIndexes","_selectedItemsInternalChange","selectedRowsData","currentSelectedRowKeys","currentDeselectedRowKeys","oldSelectionMode","selectRows","_isOnePageSelectAll","visibleItemIndex","loadedItemIndex","dataSelectionExtenderMixin","hasSelectColumn","hasLoadOperation","isUpdateSelection","columnHeadersSelectionExtenderMixin","_updateSelectAllValue","selectAllValue","hasSelection","dxCheckBox","isEmptyData","createEditor","parentType","rowsViewSelectionExtenderMixin","_attachCheckBoxClickEvent","_renderSelectCheckBox","_updateCheckboxesClass","isSelectionDisabled","isClickableElement","isCommandSelect","isCheckBoxesHidden","selectionModule","WIDGET_CLASS","NODE_CLASS","NODE_CONTAINER_CLASS","NODE_LOAD_INDICATOR_CLASS","OPENED_NODE_CONTAINER_CLASS","IS_LEAF","ITEM_WITH_CHECKBOX_CLASS","ITEM_WITH_CUSTOM_EXPANDER_ICON_CLASS","CUSTOM_EXPANDER_ICON_ITEM_CONTAINER_CLASS","ITEM_WITHOUT_CHECKBOX_CLASS","TOGGLE_ITEM_VISIBILITY_CLASS","CUSTOM_COLLAPSE_ICON_CLASS","CUSTOM_EXPAND_ICON_CLASS","LOAD_INDICATOR_CLASS","LOAD_INDICATOR_WRAPPER_CLASS","TOGGLE_ITEM_VISIBILITY_OPENED_CLASS","SELECT_ALL_ITEM_CLASS","EXPAND_EVENT_NAMESPACE","DATA_ITEM_ID","TreeViewBase","expandEventName","_getEventNameByOption","expandByClick","_expandEventHandler","checkboxInstance","_getCheckBoxInstance","_updateItemSelection","toggleExpandedNestedItems","rootItem","_toggleExpandedNestedItems","_showCheckboxes","minus","_toggleExpandedState","_getNodeElement","_encodeString","$nodeByKey","expandAllEnabled","hasItemsExpr","selectNodesRecursive","expandNodesRecursive","collapseIcon","onItemSelectionChanged","onItemExpanded","onItemCollapsed","scrollDirection","virtualModeEnabled","expandEvent","_supportItemUrl","_initSelectedItems","_createSelectAllValueChangedAction","_selectAllValueChangedAction","_fireSelectAllValueChanged","_checkBoxModeChange","previousSelectAllEnabled","_selectAllEnabled","previousItemsContainer","_detachClickEvent","_detachExpandEvent","selectAllExists","_$selectAllItem","_renderSelectAllItem","_attachExpandEvent","_useCustomChildrenLoader","_loadChildrenByCustomLoader","_isVirtualMode","_initVirtualMode","_isDataStructurePlain","invocationResult","_combineFilter","_initStoreChangeHandlers","_removeTreeViewLoadIndicator","_treeViewLoadIndicator","_createTreeViewLoadIndicator","resultFilter","_updateLevel","_parentIdGetter","removedKey","_markChildrenItemsToRemove","_removeItems","_getContainerByParentKey","_getOldContainer","_renderNodeContainer","_isRootLevel","_renderScrollableContainer","_this$_dataSource","_this$_dataSource$loa","_this$_dataSource$loa2","_isSingleSelection","_isRecursiveSelection","skipContentReadyAction","_skipContentReadyAndItemExpanded","_expandedGetter","_node$internalFields","_node$internalFields$","_getLevel","_hasCustomExpanderIcons","nodeData","showCheckBox","_renderCheckBox","_toggleSelectedClass","_renderCustomExpanderIcons","_renderDefaultExpanderIcons","_loadSublevel","_renderSublevel","_getActualNode","_addLeafClass","cachedNode","_hasItemsGetter","childrenNodes","_loadNestedItems","$nestedNodeContainer","childNodesByChildrenKeys","_updateParentsState","_normalizeIconState","_getNode","expandedEventName","_getNodeByElement","_decodeString","_nodeHasRenderedChildren","_createLoadIndicator","_updateExpandedItemsUI","_renderExpanderIcon","iconClass","_renderToggleItemVisibilityIconClick","$expandIcon","$collapseIcon","isNodeExpanded","_toggleCustomExpanderIcons","isHiddenNode","$childExpandIcons","$childCollapseIcons","nodeContainerExists","completionCallback","_animateNodeContainer","_loadNestedItemsWithUpdate","actualNodeData","_areNodesExists","_appendItems","keyOfRootItem","fullData","nodeHeight","_fireExpandedStateUpdatedEvent","hasNewItems","_LoadIndicator$getIns","$toggleItem","_onSelectAllCheckboxValueChanged","_toggleSelectAll","_updateItemsUI","$checkbox","_changeCheckboxValue","_toggleNodeDisabledState","_isLastSelectedBranch","selectedNodesKeys","_isLastRequired","isSingleMode","getSelectedNodeKeys","_fireItemSelectionChanged","needFireSelectAllChanged","nodeSelection","selectAllCheckbox","$parentNode","parentValue","_createEventHandler","pointerDownEventNamespace","nodeSelector","_getItemClickEventData","_updateSelectionToFirstItem","_updateSelectionToLastItem","isSelectAllItem","_setFocusedItemTimeout","_findNonDisabledNodes","$nodes","_nodeElements","$prevItem","prevItemElement","_getNodeItemElement","nextItemElement","$firstItem","$lastItem","_expandFocusedContainer","_collapseFocusedContainer","$focusedNode","_getClosestNonDisabledNode","nodeElement","collapsedNode","decodeURI","expandItem","collapseItem","getNodes","getSelectedNodes","unselectAll","_allItemsExpandedHandler","expandAll","expandingPromises","_this$_allItemsExpand","collapseAll","keyOrItemOrElement","nodeKeysToExpand","scrollCallback","_expandNodes","scrollToElementTopLeft","relativeOffset","keysToExpand","resultCallback","callbacksByNodes","TreeViewSearch","_updateSearch","_repaintContainer","_updateDataAdapter","_getNodeContainer","_searchEditor","_getSearchEditorOptions","rootNodes","isSearchMode","selectAllEnabled","_removeSearchBox","COLUMN_CHOOSER_CLASS","COLUMN_CHOOSER_BUTTON_CLASS","NOTOUCH_ACTION_CLASS","COLUMN_CHOOSER_LIST_CLASS","COLUMN_CHOOSER_PLAIN_CLASS","COLUMN_CHOOSER_DRAG_CLASS","COLUMN_CHOOSER_SELECT_CLASS","COLUMN_CHOOSER_ICON_NAME","COLUMN_CHOOSER_ITEM_CLASS","COLUMN_OPTIONS_USED_IN_ITEMS","processItems","chooserColumns","isSelectMode","isRecursive","isRecursiveWithColumns","$columnChooserButton","columnChooserButtonClass","columnChooserEnabled","$showColumnChooserButton","_initializePopupContainer","columnChooserClass","columnChooserOptions","popupPosition","isGenericTheme","dxPopupOptions","_isWinDevice","_popupContainer","setPopupAttributes","isBandColumnsUsed","isDragMode","_columnChooserList","_updateItems","_renderTreeView","treeViewConfig","_prepareSelectModeConfig","_prepareDragModeConfig","isUpdatingSelection","addNodesToArray","flatNodesArray","_isUpdatingColumnVisibility","changedColumns","onlyVisibleChanged","needUpdate","_updateItemsSelection","isColumnHidden","isColumnChooserVisible","popupContainer","hiddenColumns","_appendColumnChooserItem","hintText","_getToolbarButtonClass","isMoveColumnDisallowed","allowMoveColumn","columnChooserModule","createGroupFilter","createOffsetFilter","lastLevelOnly","filterElement","findGroupInfoByKey","groupsInfo","getGroupInfoIndexByOffset","leftIndex","rightIndex","cleanGroupsInfo","calculateItemsCount","isGroupItemCountable","_groupsInfo","totalCountCorrection","_isVirtualPaging","childrenAtFirst","foreachCollapsedGroups","updateOffsets","updateParentOffsets","foreachGroupsCore","callbackResults","executeCallback","currentParents","_updateGroupInfoOffsets","pathIndex","groupInfoData","oldGroups","getContinuationGroupCount","groupOffset","pageOffset","foreachExpandedGroups","updateGroups","foreachGroups","processGroupItems","expandedInfo","isLastGroupExpanded","lastCount","findGroupInfo","updateGroupInfoItem","isLastGroupLevel","addGroupInfo","_isGroupExpanded","updateGroupInfos","loadedGroupCount","remotePaging","isGroupExpanded","getTotalOffset","groupInfos","childrenTotalCount","applyContinuationToGroupItem","expandedItemIndex","isLastExpandedItem","isFirstExpandedItem","lastExpandedItemSkip","isItemsTruncatedByTake","fillSkipTakeInExpandedInfo","currentGroupCount","currentGroupIndex","isDataDeferred","makeDataDeferred","loadGroupItems","loadExpandedGroups","loadLastLevelGroupItems","currentGroup","requireGroupCount","groupSummary","expandedFilters","expandedPath","isPagingLocal","isLastLevelGroupItemsPagingLocal","sortLastLevelGroupItems","expandedItems","loadGroupTotalCount","isGrouping","updateTotalItemsCount","skipChildrenTotalCount","takeCorrection","parentTakeCorrection","continuationGroupCount","skipContinuationGroupCount","groupInfoCount","childrenGroupInfoCount","remoteGroupPaging","isLastGroup","_updatePagingOptions","_processPaging","_processSkips","maxTakeCount","_processTakes","handleGroup","groupCountQuery","groupOffsetQuery","loadTotalCount","correctSkipLoadOption","skipCorrection","resultSkip","skipFirstItem","removeLastItemsCount","needRemoveFirstItem","offsetInfo","pathEquals","path1","path2","updateGroupOffsets","additionalGroupInfo","removeGroupLoadOption","sorts","arrangeSortingInfo","createNotGroupFilter","getGroupCount","collapsedGroups","collapsedItemsCount","appendCollapsedPath","collapsedGroup","pathValue","_totalCountWasIncreasedByCollapsedItems","multiLevelGroup","groupedData","itemsCountCorrection","beginPageIndex","dataSourceItems","DATAGRID_GROUP_PANEL_CLASS","DATAGRID_GROUP_PANEL_MESSAGE_CLASS","DATAGRID_GROUP_PANEL_ITEM_CLASS","DATAGRID_GROUP_PANEL_LABEL_CLASS","DATAGRID_GROUP_PANEL_CONTAINER_CLASS","DATAGRID_EXPAND_CLASS","DATAGRID_GROUP_ROW_CLASS","dataSourceAdapterExtender","_initGroupingHelper","_grouping","isAutoExpandAll","isFocusedRowEnabled","isODataRemoteOperations","allowCollapseAll","_collapseExpandAll","isExpand","_changeRowExpandCore","changeRowExpand","_hasGroupLevelsExpandState","resetCache","handleDataLoading","handleDataLoaded","handleDataLoadedCore","GroupingDataControllerExtender","_processGroupItems","_processGroupItem","groupedColumns","collectContinuationItems","onGroupingMenuItemClick","clearGrouping","isGroupPanelVisible","canDrag","GroupingHeaderPanelExtender","_appendGroupingItem","_isGroupPanelVisible","$groupPanel","_updateGroupPanelContent","$groupPanelItem","$toolbarElement","_renderGroupPanelItems","$groupedColumnElement","isGroupingAllowed","isColumnGrouped","GroupingRowsViewExtender","isGroupRowStateChanged","isExpandButtonClicked","_changeGroupRowState","columnHeadersViewExtender","getExpandCellTemplate","MASTER_DETAIL_CELL_CLASS","MASTER_DETAIL_ROW_CLASS","initMasterDetail","_expandedItems","_isExpandAll","dataMasterDetailExtenderMixin","expandIndex","_getRowIndicesForExpand","detailColumnIndex","isEnabledChanged","isAutoExpandAllChanged","_updateParentDataGrids","$masterDetailRow","_updateMasterDataGrid","$detailElement","masterRowOptions","masterDataGrid","_updateMasterDataGridCore","isFixedColumns","_updateFixedMasterDetailGrids","masterRowIndex","getRowElement","$tables","rowsNotEqual","tablesNotEqual","detailElementWidth","isDetailHorizontalScrollCanBeShown","isDetailGridWidthChanged","isEditRow","_isDetailRow","$detailCell","masterDetailModule","getRealSeparatorIndex","quoteBalance","separatorCount","occurrence","getNthOccurrence","splitByIndex","adjustPercentValue","getCaretBoundaries","getSign","prefixStubLength","postfixStubLength","_getDigitCountBeforeIndex","getDecimalSeparator","regExp","textBeforePosition","_reverseText","_getDigitPositionByIndex","digitIndex","_trimNonNumericCharsFromEnd","getCaretWithOffset","getCaretAfterFormat","formatted","isSeparatorBasedText","isSeparatorBasedString","realSeparatorOccurrenceIndex","newPointPosition","textParts","formattedParts","isCaretOnFloat","digitsBefore","getCaretInBoundaries","formattedIntPart","positionFromEnd","digitsFromEnd","newPositionFromEnd","newPositionFromBegin","isCaretInBoundaries","boundaries","getCaretOffset","previousBoundaries","newBoundaries","SPIN_CLASS","SPIN_BUTTON_CLASS","SPIN_HOLD_DELAY","NUMBER_BOX","POINTERUP_EVENT_NAME","POINTERCANCEL_EVENT_NAME","SpinButton","_spinIcon","_spinDownHandler","_spinChangeHandler","_feedBackDeferred","SPIN_CONTAINER_CLASS","SPIN_TOUCH_FRIENDLY_CLASS","$spinContainer","$spinContainerChildren","pointerDownAction","_spinButtonsPointerDownHandler","_spinUpChangeHandler","_spinDownChangeHandler","$spinUp","$spinDown","_isTouchFriendly","isTouchFriendly","$spinButtons","spinUp","spinDown","FIREFOX_CONTROL_KEYS","FORCE_VALUECHANGE_EVENT_NAMESPACE","NumberBoxBase","showSpinButtons","useLargeSpinButtons","invalidValueMessage","_isSupportInputMode","_renderSubmitElement","inputmode","_validateValue","_$submitElement","_setSubmitValue","isInputCharValid","_keyPressed","_spinValueChange","_forceValueRender","valuenow","valuetext","_applyDisplayValueFormatter","valuemin","valuemax","_normalizeInputValue","_correctRounding","isFloatValue","isFloatStep","valueAccuracy","stepAccuracy","accuracy","forceValueChangeEvent","_forceRefreshInputValue","_normalizeText","valueHasDigits","_applyValueBoundaries","isValueIncomplete","_isValueIncomplete","_isValueInRange","_replaceCommaWithPoint","_inputIsInvalid","isNumberMode","validityState","_isNumber","isValueValid","NUMBER_FORMATTER_NAMESPACE","MOVE_FORWARD","MOVE_BACKWARD","MINUS","MINUS_KEY","INPUT_EVENT","NUMPAD_DOT_KEY_CODE","CARET_TIMEOUT_DURATION","NumberBoxMask","_isDeleteKey","_revertSign","_removeHandler","_arrowHandler","_moveCaretToBoundaryEventHandler","_updateFormattedValue","_getTextSeparatorIndex","clearCaretTimeout","_getInputVal","shouldHandleEvent","_focusOutOccurs","_getFormatPattern","_hasValueBeenChanged","_updateParsedValue","_adjustParsedValue","_setTextByParsedValue","_parsedValue","nextCaret","_moveCaretToBoundary","_shouldMoveCaret","isDecimalSeparatorNext","moveToFloat","_lastKey","_lastKeyName","_shouldHandleKey","enteredChar","normalizedText","_tryParse","isDeleteKey","isBackspaceKey","canDelete","_isStub","shouldTriggerInputEvent","editedText","noDigits","valueAfterRemoving","_isNonStubAfter","_isPercentFormat","noEscapedFormat","formatOption","isCustomParser","integerPartStartIndex","formatPointIndex","textPointIndex","formatIntegerPartLength","textIntegerPartLength","customFormatter","_currentFormat","_updateFormat","isLDMLPattern","isExponentialFormat","shouldUseFormatAsIs","_getFormatForSign","_sign","_removeStubs","excludeComma","getThousandsSeparator","stubs","_getStubs","prefixStubs","postfixRegex","decoratorsRegex","_truncateToPrecision","maxPrecision","strValue","isTextSelected","isWholeTextSelected","_getParsedValue","_getPrecisionLimits","isDecimalPointRestricted","isUselessCharRestricted","textWithoutStubs","parsedValueSign","parsedValueWithSign","floatLength","isPrecisionInRange","endsWithZero","_setInputText","_formattedValue","isNumberType","_isChar","isSpecialChar","isMinusKey","_renderFormatter","_detachFormatterEvents","_attachFormatterEvents","_isInputFromPaste","_isValuePasted","_formatValue","escapedDecimalSeparator","regExpString","stubRegExp","currentFormat","realSeparatorIndex","floatPart","minPrecision","_applyRevertedSign","preserveSelectedText","currentText","caretInBoundaries","_removeMinusFromText","isMinusPressed","textWithoutMinus","wasMinusRemoved","textWasChanged","clearedText","DROP_DOWN_EDITOR_BUTTON_CLASS","DROP_DOWN_EDITOR_BUTTON_VISIBLE","BUTTON_MESSAGE","currentTemplate","_editor$_shouldCallOp","_shouldCallOpenHandler","_openHandler","_addTemplate","_isSameTemplate","getElementWidth","getSizeValue","DROP_DOWN_EDITOR_CLASS","DROP_DOWN_EDITOR_INPUT_WRAPPER","DROP_DOWN_EDITOR_BUTTON_ICON","DROP_DOWN_EDITOR_OVERLAY","DROP_DOWN_EDITOR_OVERLAY_FLIPPED","DROP_DOWN_EDITOR_ACTIVE","DROP_DOWN_EDITOR_FIELD_CLICKABLE","DROP_DOWN_EDITOR_FIELD_TEMPLATE_WRAPPER","isIOs","DropDownEditor","$focusableElement","_getLastPopupElement","_getFirstPopupElement","_validatedOpening","onOpened","onClosed","acceptCustomValue","applyValueMode","dropDownButtonTemplate","fieldTemplate","openOnFieldClick","showDropDownButton","dropDownOptions","_getDefaultPopupPosition","onPopupInitialized","applyButtonText","cancelButtonText","buttonsLocation","useHiddenSubmitElement","_initVisibilityActions","_initPopupInitializedAction","_updatePopupPosition","_openAction","_closeAction","_popupInitializedAction","_getAriaRole","_renderOpenHandler","_attachFocusOutHandler","_renderOpenedState","_renderTemplateWrapper","_wrapInput","_setDefaultAria","_getAriaHasPopup","_getAriaAutocomplete","_isEditable","_detachFocusEvents","_getFieldTemplate","_renderField","_renderTemplatedField","_fieldRenderData","hasFieldTemplate","_$templateWrapper","_detachKeyboardEvents","$templateWrapper","isRenderedInRoot","_integrateInput","_refreshEmptinessEvent","dropDownButton","$inputWrapper","_getInputClickHandler","_openOnFieldClickAction","_detachFocusOutEvents","isNewTargetOutside","_isTargetOutOfComponent","popupWrapper","isTargetOutsidePopup","_executeOpenAction","_focusInput","_toggleOpenState","_resetCaretPosition","ignoreEditable","inputElement","_popupContentId","_setPopupOption","arias","_getControlsAria","_renderPopupContent","popupConfig","_popupConfig","_popupShowingHandler","_popupShownHandler","_popupHidingHandler","_popupHiddenHandler","contentReady","_contentReadyHandler","_setPopupContentId","_popupInitializedHandler","_getPopupToolbarItems","_popupPositionedHandler","_wrapperClassExternal","_updatePopupWidth","popupWidth","_e$position","_e$position$v","$popupOverlayContent","isOverlayFlipped","shouldIndentForLabel","_getValidationMessagePositionSide","myTop","popupTop","$dropDownButton","isInputClicked","isDropDownButtonClicked","_setWidgetOption","_popupToolbarItemsConfig","_popupElementTabHandler","_popupElementEscHandler","_popupButtonInitializedHandler","buttonsConfig","_applyButtonHandler","_cancelButtonHandler","_applyButtonsLocation","resultConfig","_popupOptionChanged","getOptionsFromContainer","optionsKeys","_this$_popup","DataExpressionMixin","_dataExpressionDefaultOptions","_initDataExpressions","_compileValueGetter","_itemsToDataSource","_displayGetterExpr","_valueGetter","_valueGetterExpr","_loadValue","_unwrappedValue","_isValueEquals","_loadValueDeferred","_rejectValueLoading","_this$_loadValueDefer","shouldSkipCallback","_getCurrentValue","_getItemKey","dataSourceKey","_compareValues","_compareByCompositeKey","_compareByKey","unwrapObservable","valueKey1","valueKey2","_setCollectionWidgetItemTemplate","_setCollectionWidgetOption","_getCollectionKeyExpr","isValueExprField","_dataExpressionOptionChanged","DROPDOWNLIST_POPUP_WRAPPER_CLASS","SEARCH_EVENT","SEARCH_MODES","useCompositionEvents","DropDownList","_allowSelectItemByTab","_setSelectedElement","_setValue","minSearchLength","showDataBeforeSearch","useItemTextAsTitle","_validateSearchMode","_clearSelectedItem","_initItems","_setListFocusedElementOptionChange","_updateActiveDescendant","_initContentReadyAction","_initSelectionChangedAction","_contentReadyAction","_selectionChangedAction","_saveFocusOnWidget","_fitIntoRange","availableItems","_calcNextItem","_getSelectedIndex","_updateCustomBoundaryContainer","_popupWrapperClass","customContainer","$containerWithParents","_$customBoundaryContainer","_loadInputValue","_setSelectedItem","_loadItem","_getItemFromPlain","itemByValue","listFocusedItemId","isElementOnDom","activedescendant","_displayValue","_refreshSelected","_listItemElements","_isSelectedValue","_setFocusPolicy","normalizedSearchMode","_processDataSourceChanging","_setListOption","_isCustomValueAllowed","_clearFilter","_$list","canListHaveFocus","_canListHaveFocus","_listId","_listConfig","_refreshList","_renderPreventBlurOnListClick","_shouldRefreshDataSource","dataSourceProvided","_needPassDataSourceToList","templateProvider","_listContentReadyHandler","_listItemClickAction","_getDataSource","dxList","_updateListDimensions","_listItemClickHandler","_isMinSearchLengthExceeded","_needClearFilter","_canKeepDataSource","isMinSearchLengthExceeded","_isLastMinSearchLengthExceeded","_getSearchEvent","_getCompositionStartEvent","_getCompositionEndEvent","_getSetFocusPolicyEvent","_shouldRenderSearchEvent","_searchHandler","_isTextCompositionInProgress","_isTextComposition","_clearSearchTimer","_searchTimer","_searchDataSource","_searchCanceled","_filterDataSource","_dataSourceFiltered","_refreshPopupVisibility","_shouldOpenPopup","_hasItemsToShow","shouldOpenPopup","resultAmount","_needPopupRepaint","currentPageIndex","needRepaint","$customBoundaryContainer","submitValue","_shouldUseDisplayValue","DISABLED_STATE_SELECTOR","SELECTBOX_CLASS","SELECTBOX_POPUP_CLASS","SELECTBOX_CONTAINER_CLASS","SELECTBOX_POPUP_WRAPPER_CLASS","clearSelectBox","_valueSubstituted","_preventFiltering","_savedTextRemoveEvent","_preventSubstitution","searchIfNeeded","_cancelSearchIfNeed","_setNextValue","_cancelEditing","isOpened","inputText","isCustomText","isSearchEnabled","customItemCreateEvent","customItem","displayCustomValue","_initCustomItemCreatingAction","_renderTooltip","_focusListElement","_updateField","_scrollToSelectedItem","_focusSelectedElement","$listItems","_isCustomItemSelected","_preventInputValueRender","isPaginate","_renderInputValueAsync","_renderInputValueImpl","dataSourceIsLoaded","hasPages","isLastItem","_setNextItem","isUnknownItem","_getSelectionChangeHandler","_listFocusedItemChangeHandler","_selectionChangeHandler","addedItem","_shouldClearFilter","_restoreInputText","_wasSearch","showDataImmediately","_getActualSearchValue","initialSelectedItem","_isValueEqualInputText","_shouldCancelSearch","saveEditingValue","_loadItemDeferred","_isValueChanging","_createCustomItem","_clearTextValue","newSelectedItem","_valueChangeEventIncludesBlur","_isPreventedFocusOutEvent","isOverlayTarget","_isOverlayNestedTarget","shouldCancelSearch","isPopupVisible","_shouldCancelSearchValue","selectedItemText","shouldRestoreValue","$listFocused","_completeSelection","_shouldCloseOnItemClick","_customItemAddedHandler","_customItemCreatingAction","actionResult","_setCustomItem","_wasSearchValue","_renderInputSubstitution","_renderFocusedElement","currentSearchLength","inputHasSelection","isLastSymbolSelected","_shouldSubstitutionBeRendered","valueLength","monthGetter","monthSetter","monthLimits","getLimits","newDay","PATTERN_GETTERS","lastDayInMonth","currentYear","maxLimitLength","getPatternGetter","renderDateParts","isStub","limits","forcedPattern","dM","getAmPm","getDatePartIndexByPosition","caretInGroup","DATE_COMPONENTS","TIME_COMPONENTS","ONE_MINUTE","ONE_DAY","ONE_YEAR","getStringFormat","dateUtils","SUPPORTED_FORMATS","MIN_DATEVIEW_DEFAULT_DATE","MAX_DATEVIEW_DEFAULT_DATE","newDate","FORMATS_INFO","getStandardPattern","standardPattern","FORMATS_MAP","SUBMIT_FORMATS_MAP","toStandardDateFormat","fromStandardDateFormat","dateParser","getMaxMonthDay","mergeDates","formatInfo","DATE_COMPONENTS_INFO","getLongestCaptionIndex","captionArray","longestIndex","longestCaptionLength","getLongestDate","stringFormat","longestDate","normalizeTime","DX_SWIPEABLE","SWIPEABLE_CLASS","ACTION_TO_EVENT_MAP","onCancel","Swipeable","_createEventData","CALENDAR_NAVIGATOR_CLASS","CALENDAR_NAVIGATOR_PREVIOUS_MONTH_CLASS","CALENDAR_NAVIGATOR_NEXT_MONTH_CLASS","CALENDAR_NAVIGATOR_PREVIOUS_VIEW_CLASS","CALENDAR_NAVIGATOR_NEXT_VIEW_CLASS","CALENDAR_NAVIGATOR_DISABLED_LINK_CLASS","CALENDAR_NAVIGATOR_CAPTION_BUTTON_CLASS","BUTTON_TEXT_CLASS","onCaptionClick","_captionClickAction","_renderCaption","_prevButton","$prevButton","_nextButton","_caption","viewCaptionTexts","captionText","$caption","buttonPrefix","CALENDAR_OTHER_VIEW_CLASS","CALENDAR_CELL_CLASS","CALENDAR_CELL_START_CLASS","CALENDAR_CELL_END_CLASS","CALENDAR_CELL_START_IN_ROW_CLASS","CALENDAR_CELL_END_IN_ROW_CLASS","CALENDAR_WEEK_NUMBER_CELL_CLASS","CALENDAR_EMPTY_CELL_CLASS","CALENDAR_TODAY_CLASS","CALENDAR_SELECTED_DATE_CLASS","CALENDAR_CELL_IN_RANGE_CLASS","CALENDAR_CELL_RANGE_HOVER_CLASS","CALENDAR_CELL_RANGE_HOVER_START_CLASS","CALENDAR_CELL_RANGE_HOVER_END_CLASS","CALENDAR_RANGE_START_DATE_CLASS","CALENDAR_RANGE_END_DATE_CLASS","CALENDAR_CONTOURED_DATE_CLASS","NOT_WEEK_CELL_SELECTOR","CALENDAR_DXCLICK_EVENT_NAME","CALENDAR_DXHOVERSTART_EVENT_NAME","CALENDAR_DATE_VALUE_KEY","BaseView","_getViewName","disabledDates","onCellHover","allowValueSelection","_todayDate","_renderImpl","_createDisabledDatesHandler","_renderBody","_renderContouredDate","_renderRange","_$table","localizedWidgetName","localizedHotKeysInfo","rowData","cellDate","_getFirstCellData","prevCellDate","_renderWeekNumberCell","_getClassNameByDate","getShortDateFormat","getCellAriaLabel","fixTimezoneGap","_prepareCellTemplateData","_getCellText","_getNextCellData","_isTodayCell","_isDateOutOfRange","isDateDisabled","_isOtherView","_isStartDayOfMonth","_isEndDayOfMonth","isDateCell","_createCellClickAction","_cellClickAction","_createCellHoverAction","_cellHoverAction","_disabledDatesHandler","_getDefaultDisabledDatesHandler","contouredDate","$oldContouredCell","_getContouredCell","$newContouredCell","_getCellByDate","_updateSelectedClass","_this$_$selectedCells","_isRangeMode","_isMonthView","_$selectedCells","_this$_$rangeCells","_this$_$hoveredRangeC","_this$_$rangeStartHov","_this$_$rangeEndHover","_this$_$rangeStartDat","_this$_$rangeEndDateC","_this$_$rangeStartDat2","_this$_$rangeEndDateC2","_$rangeCells","_$hoveredRangeCells","_$rangeStartHoverCell","_$rangeEndHoverCell","_$rangeStartDateCell","_$rangeEndDateCell","_this$_$hoveredRangeC2","_this$_$rangeStartHov2","_this$_$rangeEndHover2","_this$_$rangeStartHov3","_this$_$rangeEndHover3","hoveredRange","_getFirstAvailableDate","getViewFirstCellDate","isBoundary","_renderHoveredRange","CALENDAR_OTHER_MONTH_CLASS","Views","_renderHeader","_renderFocusTarget","$headerRow","$header","_renderHeaderCell","_renderWeekHeaderCell","fullCaption","abbrCaption","_getDayCaption","$weekNumberHeaderCell","showWeekNumbers","weekNumber","_getWeekNumber","weekNumberRule","getWeekNumber","getNavigatorCaption","today","sameDate","dateInRange","getFirstMonthDate","getLastMonthDate","daysInWeek","firstDay","firstMonthDayOffset","sameMonthAndYear","isDisabledDate","foundDate","sameYear","decade","sameDecade","getFirstYearInDecade","createDateWithFullYear","firstYearInDecade","startDate","endDate","_isValueOnCurrentView","century","minDecade","maxDecade","sameCentury","getFirstDecadeInCentury","firstDecadeInCentury","CalendarSelectionStrategy","_dateOption","_dateValue","_skipNavigate","_updateAriaSelected","_updateAriaId","_previousValue","_convertToDate","_updateViewsValue","updateAriaSelected","_currentDateChanged","_initCurrentDate","_isMaxZoomLevel","_updateViewsOption","dateOption","selectedValue","skipNavigate","alreadySelectedIndex","toDateString","_updateCurrentDate","_getLowestDateInArray","DAY_INTERVAL","RANGE_OFFSET","_getValues","_getDaysInRange","_cellHoverHandler","_valueSelected","processValueChanged","_getRange","_allowChangeSelectionOrder","_currentSelection","rangeStartDate","rangeEndDate","getDatesOfInterval","isMaxZoomLevel","skipHoveredRange","CALENDAR_CLASS","CALENDAR_BODY_CLASS","CALENDAR_FOOTER_CLASS","CALENDAR_TODAY_BUTTON_CLASS","CALENDAR_HAS_FOOTER_CLASS","CALENDAR_VIEWS_WRAPPER_CLASS","CALENDAR_VIEW_CLASS","CALENDAR_MULTIVIEW_CLASS","CALENDAR_RANGE_CLASS","GESTURE_COVER_CLASS","ANIMATION_DURATION_SHOW_VIEW","POP_ANIMATION_FROM","POP_ANIMATION_TO","CALENDAR_INPUT_STANDARD_PATTERN","CALENDAR_DXHOVEREND_EVENT_NAME","LEVEL_COMPARE_MAP","ZOOM_LEVEL","DECADE","CENTURY","SELECTION_STRATEGIES","SingleSelection","MultiSelection","RangeSelection","elementHasFocus","Calendar","viewsCount","zoomLevel","maxZoomLevel","minZoomLevel","showTodayButton","onContouredChanged","skipFocusCheck","_waitRenderView","_moveCurrentDateByOffset","_getRtlCorrection","_navigateUp","_navigateDown","sameView","_moveToClosestAvailableDate","getViewLastCellDate","_updateTimeComponent","selectValue","_getSerializationFormat","serializedValue","_shiftDate","baseDate","_getMaxDate","_getMinDate","isDateForwardInNeighborView","_areDatesInNeighborView","isDateForwardInRange","dateForward","date1","date2","getYear","isDateForwardInStartView","isDateBackwardInStartView","isCurrentDateAvailable","_isDateNotAvailable","isDateForwardAvailable","isDateBackwardAvailable","dateBackward","_areDatesInSameView","_initSelectionStrategy","_correctZoomLevel","_getSelectionStrategyName","_refreshSelectionStrategy","_this$_getNormalizedD","_getNormalizedDate","getDefaultCurrentDate","normalizeDate","_getDate","_onContouredChanged","_$viewsWrapper","normalizedDate","_getViewsOffset","_isOtherViewCellClicked","_suppressNavigation","_additionalView","_refreshViews","_setViewContoured","_renderNavigator","_navigate","_getActiveView","_isAdditionalViewDate","_this$_additionalView","_rangeMin","_rangeMax","zoomCorrection","_getMonthsOffset","yearOffset","monthOffset","_alreadyViewRender","_getDateByOffset","_waitRenderViewTimeout","currentDay","getDifferenceInMonth","_navigator","_renderSwipeable","_renderFooter","_renderSpecificView","beforeDate","_beforeView","_isViewAvailable","afterDate","_afterView","_translateViews","specificView","$view","_viewConfig","_this$option2","_injectComponent","getViewOptions","_cellClickHandler","getViewMinBoundaryDate","getViewMaxBoundaryDate","_moveViewElement","_getViewPosition","rtlCorrection","nextView","getViewDown","newCurrentDate","_animateShowView","_navigatorConfig","_getViewsCaption","_updateButtonsVisibility","_navigatorClickHandler","additionalViewActive","shouldDoubleOffset","getViewUp","_isMinZoomLevel","toggleButton","_swipeable","_viewWidth","_toggleGestureCoverCursor","_getRequiredView","_updateNavigatorCaption","moveOffset","isAdditionalViewActive","_isDateInInvalidRange","_animateWrapper","_viewWidthValue","additionalView","isMultiView","additionalViewCaption","$todayButton","_toTodayView","_$footer","_popAnimationView","newView","offsetSign","endPosition","viewsWrapperPosition","_preventViewChangeAnimation","_wrapperAnimationEndHandler","_rearrangeViews","_resetLocation","_this$viewToRemoveKey","viewOffset","viewToCreateKey","viewToRemoveKey","viewBeforeCreateKey","viewAfterRemoveKey","destinationDate","dateByOffset","_clearViewWidthCache","_disposeViews","_this$_additionalView2","_this$_additionalView3","_this$_beforeView","_this$_afterView","_setViewsMinOption","_restoreViewsMinMaxOptions","_setViewsMaxOption","ariaId","_suppressingNavigation","getContouredDate","DateBoxStrategy","dateBox","widgetOption","_renderWidget","_createWidget","_getWidgetContainer","_getWidgetName","_getWidgetOptions","getDefaultOptions","getDisplayFormat","supportedKeys","getKeyboardListener","customizeButtons","getParsedText","renderInputMinMax","renderOpenedState","_this$_getPopup","_getPopup","renderPopupContent","_preventFocusOnPopup","getFirstPopupElement","getLastPopupElement","popupShowingHandler","popupHiddenHandler","dateBoxValue","useCurrentDateByDefault","getDefaultDate","textChangedHandler","renderValue","isAdaptivityChanged","CalendarStrategy","todayButtonText","homeEndHandler","viewValue","_getContouredValue","lastActionElement","shouldCloseDropDown","_closeDropDownByEnter","_valueChangedHandler","isButtonsLocationDefault","_escapeHandler","_isCalendarVisible","calendarOptions","useButtons","shouldRenderTodayButton","todayButton","_getTodayButtonConfig","sameHoursAndMinutes","convertToLocation","DATEVIEW_ROLLER_CLASS","DATEVIEW_ROLLER_ACTIVE_CLASS","DATEVIEW_ROLLER_CURRENT_CLASS","DATEVIEW_ROLLER_ITEM_CLASS","DATEVIEW_ROLLER_ITEM_SELECTED_CLASS","DATEVIEW_ROLLER_ITEM_SELECTED_FRAME_CLASS","DATEVIEW_ROLLER_ITEM_SELECTED_BORDER_CLASS","showOnClick","onSelectedIndexChanged","_visibilityChangedHandler","_endActionHandler","_renderSelectedItemFrame","_renderContainerClick","_renderSelectedValue","_renderItemsClick","_renderWheelEvent","_renderSelectedIndexChanged","_selectedIndexChanged","_isWheelScrolled","_$items","_fitIndex","_getItemPosition","_renderActiveStateItem","_itemHeight","_getItemSelector","_itemElementIndex","_shouldScrollToNeighborItem","currentSelectedIndex","locationTop","currentSelectedIndexPosition","_isInNullNeighborhood","newSelectedIndex","_fitSelectedIndexInRange","_getSelectedIndexAfterScroll","_getNewSelectedIndex","_visibilityTimer","toggleActiveState","fitIndex","_fireSelectedIndexChanged","_refreshSelectedIndex","DATEVIEW_CLASS","DATEVIEW_COMPACT_CLASS","DATEVIEW_WRAPPER_CLASS","DATEVIEW_ROLLER_CONTAINER_CLASS","ROLLER_TYPE","DateView","_valueOption","_getDefaultDate","applyCompactClass","_toggleFormatClasses","_toggleCompactClass","previousFormat","_renderRollers","_$rollersContainer","_createRollerConfigs","_rollers","_rollerConfigs","$roller","displayItems","roller","_toggleActive","_setActiveRoller","_setRollerState","_createRollerConfig","valueRange","_calculateRollerConfigValueRange","_getCurrentDate","valueItems","currentRoller","activeRoller","_updateRollersPosition","correctIndex","rollerValue","_refreshRollers","_refreshRoller","rollerType","rollerConfig","minYear","minMonth","maxYear","maxMonth","minHour","maxHour","DateViewStrategy","_device2","_isNativeType","_getDateBoxType","BOX_CLASS","BOX_FLEX_CLASS","BOX_ITEM_CLASS","BOX_ITEM_DATA_KEY","SHRINK","MINSIZE_MAP","MAXSIZE_MAP","FLEX_JUSTIFY_CONTENT_MAP","FLEX_ALIGN_ITEMS_MAP","FLEX_DIRECTION_MAP","setFlexProp","cssName","styleExpr","fireItemStateChangedAction","_option","justifyContent","_normalizedAlign","alignItems","_normalizedCrossAlign","crossAlign","flexPropPrefix","baseSize","flexBasis","flexDirection","onItemStateChanged","_initLayout","_initBoxQueue","renderBox","_renderAlign","_onItemStateChanged","renderAlign","renderCrossAlign","_queueIsNotEmpty","_shiftItemFromQueue","$itemNode","boxConfig","_pushItemToQueue","TIMEVIEW_CLASS","TIMEVIEW_CLOCK_CLASS","TIMEVIEW_FIELD_CLASS","TIMEVIEW_HOURARROW_CLASS","TIMEVIEW_TIME_SEPARATOR_CLASS","TIMEVIEW_FORMAT12_CLASS","TIMEVIEW_FORMAT12_AM","TIMEVIEW_FORMAT12_PM","TIMEVIEW_MINUTEARROW_CLASS","rotateArrow","cssRotate","TimeView","use24HourFormat","_showClock","_arrowOffset","_getValue","_renderBox","_updateTime","$box","_renderClock","_$hourArrow","_$minuteArrow","_updateClock","hourArrowAngle","minuteArrowAngle","_getBoxItems","is12HourFormat","_hourBox","_minuteBox","_format12","_createHourBox","_createMinuteBox","_createFormat12Box","_onHourBoxValueChanged","_getNumberBoxConfig","_isPM","newHours","_convertMaxHourToMin","maxHoursValue","newMinutes","_refreshFormat12","_silentEditorValueUpdate","_normalizeHours","SHRINK_VIEW_SCREEN_WIDTH","DATEBOX_ADAPTIVITY_MODE_CLASS","DATEBOX_TIMEVIEW_SIDE_CLASS","CalendarWithTimeStrategy","_is24HourFormat","viewDate","_updateDateTime","_timeView","_isShrinkView","_isSmallScreen","_repaintTimer","isAdaptiveMode","currentAdaptiveMode","_currentAdaptiveMode","preventDefaultValue","_box","_attachTabHandler","calendarPopupConfig","_this$_widget$option","_removeMinWidthTimer","DATE_FORMAT","BOUNDARY_VALUES","ListStrategy","_widgetItems","_getDateByItemData","_refreshItems","_timeListItemTemplate","_getTimeListItems","_setSelectedItemsByValue","_asyncScrollTimeout","dateIndex","_getDateIndex","_areDatesEqual","_getBoundaryDate","_getRangeItems","rangeDuration","rangeItems","boundaryValue","_updatePopupHeight","dropDownOptionsHeight","popupHeight","_timeList","DATEBOX_CLASS","DX_AUTO_WIDTH_CLASS","DX_CLEAR_BUTTON_CLASS","DATEBOX_WRAPPER_CLASS","DROPDOWNEDITOR_OVERLAY_CLASS","PICKER_TYPE","rollers","STRATEGY_NAME","dateView","calendarWithTime","STRATEGY_CLASSES","Native","CalendarWithTime","List","DateBox","showAnalogClock","pickerType","invalidDateMessage","dateOutOfRangeMessage","adaptivityEnabled","_showValidationIcon","_updatePickerOptions","_pickerType","_setShowDropDownButtonOption","isMozillaOnAndroid","isNativePickerType","_initStrategy","_toLowerCaseFirstLetter","_getStrategyName","_getFormatType","isTime","_refreshFormatClass","_refreshPickerTypeClass","_formatValidationIcon","_this$_strategy$_upda","_this$_strategy","clearButtonWidth","_getClearButtonWidth","longestElementDimensions","_getLongestElementDimensions","curWidth","shouldHideValidationIcon","_storedPadding","leftPadding","rightPadding","clearButtonElement","longestValue","$longestValueElement","isPaddingStored","storedPadding","necessaryWidth","_renderPopupWrapper","_this$_strategy$_getP","_this$_strategy$_getP2","_this$_strategy2","_getPopupTitle","classPostfixes","isCustomValueDisabled","_getDisplayedText","submitFormat","displayedText","_getFormatByMode","_getParsedDate","_getDateByDefault","_applyInternalValidation","_recallInternalValidation","_applyCustomValidation","parsedText","isDateInRange","validationMessage","_updateInternalValidationState","_serializeDate","_isValueChanged","oldTime","newTime","_isTextChanged","oldText","_refreshStrategy","_this$_strategy3","_updatePopupTitle","FORWARD","BACKWARD","DateBoxMask","originalHandlers","callOriginalHandler","originalHandler","applyHandler","maskHandler","_shouldUseOriginalHandler","_revertPart","_isAllSelected","_selectFirstPart","_selectLastPart","_revertChanges","_enterHandler","_selectNextPart","_upDownArrowHandler","isNotDeletingInCalendar","_setNewDateIfEmpty","_getActivePartValue","_initialMaskValue","_loadMaskValue","_changePartValue","lockOtherParts","activePartPattern","_getActivePartProp","isAmPmPartActive","_toggleAmPm","_partIncrease","indexOfCurrentValue","_setActivePartValue","emptyDateValue","_e$originalEvent","_useBeforeInputEvent","oldInputValue","_processInputKey","_maskInputHandler","_renderSelectedPart","_isSingleCharKey","_keyInputHandler","isBackwardDeletion","isForwardDeletion","_isSingleDigitKey","_maskValue","_activePartIndex","_searchString","_searchNumber","_formatPattern","_renderDateParts","formatLength","isShortFormat","maxSearchLength","isLengthExceeded","isValueOverflowed","_getActivePartLimits","_partLimitsReached","startString","endLimit","_clearSearchValue","_regExpInfo","quantifierRegexp","convertedSource","sourcePart","_prepareRegExpInfo","_detachMaskEvents","_clearMaskState","_attachMaskEvents","_initMaskState","_dateParts","_maskClickHandler","_maskPasteHandler","_maskCompositionEndHandler","_maskBeforeInputHandler","isBoundaryIndex","limitFunction","_getRealLimitsPattern","zeroes","_addLeadingZeroes","_applyLimits","limitBase","limitClosest","_isDateValid","_isValueDirty","_fireChangeEvent","shouldFireChangeEvent","_saveMaskValue","CHECKBOX_SIZE_CLASS","EDITOR_INLINE_BLOCK","getResultConfig","checkEnterBug","getTextEditorConfig","isEnterBug","sharedData","needDelayedUpdate","isInputOrKeyUpEvent","valueChangeTimeout","updateValueTimeout","prepareDateBox","prepareTextBox","prepareNumberBox","prepareBooleanEditor","prepareLookupEditor","prepareCheckBox","watchLookupDataSource","selectBox","stopWatch","displayGetter","_options$editorType","createEditorCore","$editorElement","editorElement","isOnForm","dxDateBox","defaultEnterKeyHandler","dxTextArea","prepareCustomEditor","prepareEditor","prepareDefaultEditor","dxNumberBox","dxTextBox","_prepareDefaultEditor","EditorFactoryMixin","FOCUS_OVERLAY_CLASS","FOCUSED_ELEMENT_CLASS","MODULE_NAMESPACE","UPDATE_FOCUS_EVENTS","DX_HIDDEN","ViewControllerWithMixin","_updateFocusHandler","_updateFocus","_subscribedContainerRoot","_getContainerRoot","_attachContainerEventHandlers","_focusTimeoutID","_updateFocusTimeoutID","$dataGridElement","rowSelector","focusedElementSelector","elementIsInsideGrid","$focus","_getFocusedElement","isHideBorder","$focusCell","_getFocusCellSelector","_needHideBorder","loseFocus","rowsViewElement","isRowsView","isFocusOverlay","_isFocusOverlay","_updateFocusCore","_$focusedElement","renderFocusOverlay","isElementInCurrentGrid","_$focusOverlay","elemCoord","focusOverlayPosition","_updateFocusOverlaySize","skipValidator","editorFactoryModule","editorFactory","DEFAULT_BUTTON","DX_DIALOG_CLASSNAME","DX_DIALOG_WRAPPER_CLASSNAME","DX_DIALOG_ROOT_CLASSNAME","DX_DIALOG_CONTENT_CLASSNAME","DX_DIALOG_MESSAGE_CLASSNAME","DX_DIALOG_BUTTONS_CLASSNAME","DX_DIALOG_BUTTON_CLASSNAME","DX_BUTTON_CLASSNAME","_options$title","isMessageDefined","isMessageHtmlDefined","messageHtml","messageId","popupToolbarItems","popupInstance","$firstButton","popupOptions","isPortrait","CELL_MODIFIED_CLASS","ROW_SELECTED_CLASS","EDIT_FORM_CLASS","DATA_EDIT_DATA_INSERT_TYPE","DATA_EDIT_DATA_REMOVE_TYPE","EDITING_POPUP_OPTION_NAME","EDITING_FORM_OPTION_NAME","EDITING_EDITROWKEY_OPTION_NAME","EDITING_EDITCOLUMNNAME_OPTION_NAME","TARGET_COMPONENT_NAME","EDITORS_INPUT_SELECTOR","FOCUSABLE_ELEMENT_SELECTOR","EDIT_MODE_BATCH","EDIT_MODE_ROW","EDIT_MODE_CELL","EDIT_MODE_FORM","EDIT_MODE_POPUP","FIRST_NEW_ROW_POSITION","LAST_NEW_ROW_POSITION","PAGE_BOTTOM_NEW_ROW_POSITION","PAGE_TOP_NEW_ROW_POSITION","VIEWPORT_BOTTOM_NEW_ROW_POSITION","VIEWPORT_TOP_NEW_ROW_POSITION","EDIT_MODES","ROW_BASED_MODES","REQUIRED_EDITOR_LABELLEDBY_MODES","MODES_WITH_DELAYED_FOCUS","READONLY_CLASS","LINK_CLASS","LINK_ICON_CLASS","ROW_SELECTED","EDIT_BUTTON_CLASS","COMMAND_EDIT_CLASS","COMMAND_EDIT_WITH_ICONS_CLASS","INSERT_INDEX","ROW_INSERTED","ROW_MODIFIED","CELL_MODIFIED","EDITING_NAMESPACE","DATA_EDIT_DATA_UPDATE_TYPE","DEFAULT_START_EDIT_ACTION","EDIT_LINK_CLASS","undelete","EDIT_ICON_CLASS","METHOD_NAMES","ACTION_OPTION_NAMES","BUTTON_NAMES","EDITING_CHANGES_OPTION_NAME","ADD_ROW_BUTTON_CLASS","DROPDOWN_EDITOR_OVERLAY_CLASS","ROW_REMOVED","isRenovatedScrollable","EDIT_FORM_ITEM_CLASS","EDIT_POPUP_CLASS","EDIT_POPUP_FORM_CLASS","FOCUSABLE_ELEMENT_CLASS","BUTTON_CLASS","FORM_BUTTONS_CONTAINER_CLASS","EDIT_ROW","NEW_ROW_TEMP_KEY_PREFIX","GUID_LENGTH","createFailureHandler","isEditingOrShowEditorAlwaysDataCell","isCommandCell","isEditorCell","getEditingTexts","addRowToNode","generateNewRowTempKey","isNewRowTempKey","getButtonIndex","getButtonName","getEditorType","isCustomEditorType","forEachFormItems","tabs","_lastOperation","_saveEditorHandler","_updateEditColumn","_updateEditButtons","_internalState","editMode","needLabel","getEditMode","getChanges","_silentOption","internalData","_getInternalData","editIndex","_getOldData","getPopupContent","_isDefaultButtonVisible","editingOptions","allowAction","buttonIndex","haveCustomButtons","_getButtonConfig","_isButtonVisible","_getEditingButtons","_renderEditingButtons","_isButtonDisabled","getFirstEditableColumnIndex","getFirstEditableCellInRow","_inputFocusTimeoutID","_pointerUpEditorHandler","_pointerDownEditorHandler","_handleEditRowKeyChange","_handleChangesChange","resetChanges","_resetEditColumnName","_resetEditRowKey","oldRowIndexCorrection","_getEditRowIndexCorrection","oldRowIndex","_editRowFromOptionChanged","cancelEditData","_addInsertInfo","_addInternalData","isOptionChanged","_refreshCore","isEditRowKeyDefined","_refocusEditCell","_focusEditingCell","getKeyByRowIndex","_setEditRowKey","_getVisibleEditRowIndex","isKeyEqual","isEditRowByIndex","_getVisibleEditColumnIndex","isProcessedItems","_getInsertAfterOrBeforeKey","isProcessedItem","_isProcessedItem","insertInfo","loadedRowIndex","_getInsertRowIndex","_getNewRowPosition","insertAfterOrBeforeKey","isLastPageLoaded","isInsert","_getLoadedRowIndex","_generateNewItem","_processDataItemCore","_fireDataErrorOccurred","_getInsertIndex","getChangeKeyValue","_createInsertInfo","_setInsertAfterOrBeforeKey","isViewportBottom","getBottomVisibleItemIndex","insertKey","maxInsertIndex","editItem","insertChange","lastPageIndex","_addRow","oldEditRowIndex","allowCancelEditing","_allowRowAdding","__KEY__","_initNewRow","_addRowCore","_navigateToNewRow","insertIndex","initialOldEditRowIndex","editRowIndex","_addChange","pageIndexToInsertRow","_getPageIndexToInsertRow","navigateToRowByKey","navigateToRow","_showAddedRow","_afterInsertRow","_focusFirstEditableCellInRow","$firstCell","_editCellInProgress","_delayedInputFocus","_beforeFocusElementInRow","_setEditColumnName","_getColumnByName","editColumn","columnName","_getEditColumn","_isEditingStart","_beforeUpdateItems","_editRowFromOptionChangedCore","preventRendering","_needFocusEditor","repaintForm","saveEditData","removeChange","_removeInternalData","_updateInsertAfterOrBeforeKeys","_resetEditIndices","waitForDeferredOperations","oldColumn","beforeFocusCallback","callBeforeFocusCallbackAlways","inputFocus","focusAndSelectElement","_beforeFocusCallback","$editCell","editColumnIndex","_checkAndDeleteRow","showDialogTitle","confirmResult","_deleteRowCore","_removeChange","_afterDeleteRow","onSavingParams","dataChanges","changeCopy","_beforeSaveEditData","_executeEditingAction","doneDeferred","_processRemoveCore","processIfBatch","hasSavedData","changesLength","_processRemoveIfError","_processRemove","isSaving","_resolveAfterSave","_saving","_saveEditDataInner","_afterSaveEditData","_fireOnSaving","_processChanges","_processSaveEditDataResult","_endSaving","_cancelSaving","_beforeEndSaving","_refreshDataAfterSave","isFullRefresh","_fireSaveEditDataEvents","isEditColumnVisible","_isEditColumnVisible","_getEditCommandCellTemplate","isEditRowDefined","isButtonDisabled","_isEditButtonDisabled","setToolbarItemDisabled","_cancelEditDataCore","_beforeCancelEditData","_afterCancelEditData","isPageChanged","skipCurrentRow","rowKey","setCellValueResult","_updateRowValues","addDeferred","forceUpdateRow","_prepareChange","hasEditData","isEditCell","_updateEditRow","isCustomSetCellValue","isCustomCalculateCellValue","changeOptions","_applyChangeCore","_getRowIndicesForCascadeUpdating","_updateRowImmediately","_updateRowWithDelay","_updateEditRowCore","_validateEditFormAfterUpdate","elementContainer","_editForm","changeParams","_getDefaultEditorTemplate","editingStartOptions","isRowMode","isRowBasedEditMode","isRowEditing","getEditFormTemplate","updateFieldValue","useLegacyColumnButtonTemplate","localizationName","getButtonLocalizationNames","titleButtonTextByClassNames","revert","buttonItems","prepareButtonItem","shouldHighlightCell","allowEditAction","needCallback","_allowEditAction","modifiedValue","visibleEditRowIndex","cellModified","dataControllerEditingExtenderMixin","_updateEditItem","isParasiteChange","dataSourceKeys","newChanges","isEditNewItem","getColumnTemplate","isRowRemoved","isRowInserted","isRowModified","_getColumnIndexByElementCore","_getColumnIndexByElement","isEditedCell","isShowEditorAlways","editCell","_pointerDownTarget","withoutSaveEditData","closeEditCell","_pointerDownTimeout","_editCellByClick","isEditForm","isEditableCell","_editCellPrepared","highlightDataCell","getCellOptions","_focusEditorIfNeed","excludedOptions","shouldInvalidate","editButtonItems","prepareEditButtons","editingModule","editingControllerExtender","isPopupEditMode","hasUpdateChanges","isRowEditMode","isVisibleInRowEditMode","$editingCell","getFocusedCellInRow","editingRowBasedModule","widgetInstance","itemsRunTimeInfo","removeItemByKey","itemRunTimeInfo","_findWidgetInstance","storedItem","targetPath","_findFieldByCondition","targetItem","filteredKeys","completeAction","MULTIVIEW_CLASS","MULTIVIEW_WRAPPER_CLASS","MULTIVIEW_ITEM_CONTAINER_CLASS","MULTIVIEW_ITEM_CLASS","MULTIVIEW_ITEM_HIDDEN_CLASS","MULTIVIEW_ITEM_DATA_KEY","MULTIVIEW_ANIMATION_DURATION","MultiView","swipeEnabled","_itemWidthValue","_clearItemWidthCache","_normalizeIndex","_getRTLSignCorrection","_findBoundaryIndices","_initSwipeable","selectedItemIndices","_updateItemsVisibility","_updateItemsPosition","positionSign","_animationDirection","$selectedItem","_renderSpecificItem","hasItemContent","animationDirection","_animateItemContainer","indexDifference","_getItemFocusLoopSignCorrection","isSwipePresent","directionSignVariable","_getSwipeDisabledState","_firstIndex2","_lastIndex","_firstIndex","_boundaryIndices","firstAvailableIndex","lastAvailableIndex","firstTrueIndex","lastTrueIndex","_swipeDirection","swipeDirection","isFirstActive","isLastActive","_findNextAvailableIndex","$selectedElement","_itemFocusLooped","_updateSwipeDisabledState","TABS_ITEM_BADGE_CLASS","TabsItem","TABS_EXPANDED_CLASS","getScrollLeftMax","isReachedLeft","scrollOffsetLeft","isReachedRight","TABS_CLASS","TABS_WRAPPER_CLASS","TABS_STRETCHED_CLASS","TABS_SCROLLABLE_CLASS","TABS_NAV_BUTTONS_CLASS","OVERFLOW_HIDDEN_CLASS","TABS_ITEM_CLASS","TABS_ITEM_SELECTED_CLASS","TABS_NAV_BUTTON_CLASS","TABS_LEFT_NAV_BUTTON_CLASS","TABS_RIGHT_NAV_BUTTON_CLASS","TABS_ITEM_TEXT_CLASS","FOCUSED_NEXT_TAB_CLASS","TABS_ITEM_DATA_KEY","BUTTON_NEXT_ICON","BUTTON_PREV_ICON","FEEDBACK_HIDE_TIMEOUT","FEEDBACK_DURATION_INTERVAL","FEEDBACK_SCROLL_TIMEOUT","TAB_OFFSET","Tabs","showNavButtons","_renderMultiple","$iconElement","_deferredTemplates","_deferRenderScrolling","_renderScrolling","removeClasses","_isItemsWidthExceeded","_renderNavButtons","_updateNavButtonsVisibility","_scrollToItem","_cleanScrolling","_needStretchItems","tabItemsWidth","$visibleItems","maxTabWidth","_cleanNavButtons","_leftButton","_rightButton","_createNavButton","$leftButton","$rightButton","_updateScrollPosition","holdAction","_holdInterval","holdEventName","pointerUpEventName","pointerOutEventName","navButton","$navButton","_clearInterval","isNextTabFocused","_toggleFocusedNextClass","_updateFocusedElement","TABPANEL_CLASS","TABPANEL_TABS_CLASS","TABPANEL_CONTAINER_CLASS","DISABLED_FOCUSED_TAB_CLASS","TabPanel","itemTitleTemplate","onTitleClick","onTitleHold","_createTitleActions","_renderLayout","_createTitleClickAction","_createTitleHoldAction","_createTitleRenderedAction","_titleClickAction","_titleHoldAction","_titleRenderedAction","_resizeEventTimer","_updateLayout","_tabs","_$tabContainer","$tabs","_tabConfig","tabsHeight","tabItems","$activeTab","$newItem","_isFocusOutHandlerExecuting","isTabsTarget","isMultiViewTarget","_toggleWrapperFocusedClass","_toggleDisabledFocusedClass","_setTabsOption","selectedTabContent","_itemsRunTimeInfo","findWidgetInstanceByItem","findItemContainerByItem","findPreparedItemByItem","createItemPathByIndex","isTabs","concatPaths","getTextWithoutSpaces","isEqualToDataFieldOrNameOrTitleOrCaption","getFullOptionName","getOptionNameFromFullName","tryGetTabPath","pathParts","resultPathParts","isFullPathContainsTabs","getItemPath","tabOrGroupItems","convertToLayoutManagerOptions","$formElement","formOptions","extendedLayoutManagerOptions","onFieldItemRendered","baseOptions","layoutData","cssItemClass","onLayoutChanged","findInstance","tabPanel","findItemIndexByItem","preparedItem","findPreparedItem","_prepareGroupItemTemplate","_renderGroupContentTemplate","filterRequired","oldContainsRequired","newContainsRequired","findItemContainer","tryCreateItemOptionAction","itemActionOptions","_itemActionOptions$it","_itemActionOptions$it2","_itemActionOptions$it3","RESPONSIVE_BOX_CLASS","SCREEN_SIZE_CLASS_PREFIX","HD_SCREEN_WIDTH","ResponsiveBox","singleColumnScreen","currentScreenFactor","_initLayoutChangedAction","_layoutChangedAction","_setScreenSize","_screenItems","_itemsByScreen","_prepareGrid","_spreadItems","_layoutItems","_linkNodeToItem","_clearItemNodeTemplates","currentScreen","_getCurrentScreen","_removeScreenSizeClass","_grid","_prepareRowsAndCols","_rows","_cols","_createEmptyCell","getSingleColumnRows","screenItemsLength","filteredRows","_filterByScreen","sizeConfig","_defaultSizeConfig","_isSingleColumnScreen","_prepareSingleColumnScreenItems","_sizesByScreen","_screenRegExp","sizeConfigs","_createDefaultSizeConfig","defaultSizeConfig","screenRegExp","_screenWidth","itemInfo","itemCol","itemRow","itemCell","_occupyCells","locations","_isItemCellOccupied","_markSpanningCell","_loopOverSpanning","rowEnd","colEnd","boundRowEnd","boundColEnd","spanningCell","itemNode","colsCount","_layoutBlock","rootBox","_prepareBoxConfig","_rootBoxConfig","rootItems","_needApplyAutoBaseSize","_isSingleItem","_itemByCell","_layoutDirection","firstCellLocation","isItemRowSpanned","isItemColSpanned","crossDirection","_crossDirection","_nextBlock","_isBlockIndivisible","prevBlockOptions","_blockSize","crossStartIndex","crossSpan","crossIndex","lineCrossSpan","_cellByDirection","lineCrossEndIndex","crossEndIndex","defaultMinSize","forceRemoveRoot","$existingRoot","_saveAssistantRoot","_assistantRoots","_cleanUnusedRoots","FORM_CLASS","FORM_GROUP_CLASS","FORM_GROUP_CAPTION_CLASS","FORM_FIELD_ITEM_COL_CLASS","FIELD_ITEM_CLASS","LAYOUT_MANAGER_ONE_COLUMN","FIELD_ITEM_LABEL_CONTENT_CLASS","FORM_LAYOUT_MANAGER_CLASS","FIELD_ITEM_LABEL_CLASS","FIELD_ITEM_CONTENT_CLASS","SINGLE_COLUMN_ITEM_CONTENT","ROOT_SIMPLE_ITEM_CLASS","FORM_GROUP_CONTENT_CLASS","FIELD_ITEM_CONTENT_HAS_GROUP_CLASS","FIELD_ITEM_CONTENT_HAS_TABS_CLASS","FORM_GROUP_WITH_CAPTION_CLASS","FIELD_ITEM_TAB_CLASS","GROUP_COL_COUNT_CLASS","GROUP_COL_COUNT_ATTR","FORM_VALIDATION_SUMMARY","FORM_UNDERLINED_CLASS","SIMPLE_ITEM_TYPE","DefaultAdapter","validationRequestsCallbacks","VALIDATOR_CLASS","VALIDATION_STATUS_PENDING","Validator","_initGroupRegistration","_initAdapter","skipValidation","_groupWasInit","registerValidatorInGroup","dxStandardEditor","_getEditor","_this$option$editor$o","_this$option$editor","_toggleAccessibilityAttributes","_resetValidationRules","_validationRules","bypass","currentError","getCurrentValidationError","_getValidationRules","currentResult","_applyValidationResult","validatedAction","_updateValidationResult","applyValidationResults","EDITORS_WITH_ARRAY_VALUE","EDITORS_WITHOUT_LABELS","convertToRenderFieldItemOptions","rootElementCssClassList","formOrLayoutManager","createComponentCallback","labelTemplate","formLabelLocation","requiredMessageTemplate","editorValue","canAssignUndefinedValueToEditor","editorValidationBoundary","managerLabelLocation","itemId","managerMarkOptions","onLabelTemplateRendered","_hasRequiredRuleInSet","isSimpleItem","helpID","_convertToLabelOptions","formLabelMode","needRenderLabel","labelID","labelNeedBaselineAlign","_convertToEditorOptions","defaultEditorName","externalEditorOptions","editorInputId","labelText","textWithoutColon","markOptions","needRenderOptionalMarkAsHelpText","getLabelMarkText","convertToLabelMarkOptions","editorOptionsWithValue","hasRequiredRule","isEditorWithoutLabels","FIELD_ITEM_REQUIRED_MARK_CLASS","FIELD_ITEM_LABEL_LOCATION_CLASS","FIELD_ITEM_OPTIONAL_MARK_CLASS","FIELD_ITEM_LABEL_TEXT_CLASS","renderLabel","labelTemplateData","$labelContainer","$labelContent","_renderLabelMark","markText","setLabelWidthByMaxLabelWidth","$targetContainer","labelsSelector","labelMarkOptions","FIELD_ITEM_LABEL_CONTENT_CLASS_Selector","$FIELD_ITEM_LABEL_CONTENT_CLASS_Items","FIELD_ITEM_LABEL_CONTENT_CLASS_Length","getLabelWidthByHTML","labelContent","FLEX_LAYOUT_CLASS","FIELD_ITEM_OPTIONAL_CLASS","FIELD_ITEM_REQUIRED_CLASS","FIELD_ITEM_CONTENT_WRAPPER_CLASS","FIELD_ITEM_CONTENT_LOCATION_CLASS","FIELD_ITEM_LABEL_ALIGN_CLASS","FIELD_ITEM_HELP_TEXT_CLASS","LABEL_VERTICAL_ALIGNMENT_CLASS","LABEL_HORIZONTAL_ALIGNMENT_CLASS","TOGGLE_CONTROLS_PADDING_CLASS","VALIDATION_TARGET_CLASS","renderFieldItem","$fieldEditorContainer","getTemplateData","isToggleControls","isLabelAlignmentLeft","hasNotTemplate","isLabelOnTop","$validationTarget","getValidationTarget","validationTargetInstance","tryGetValidationTargetInstance","subscribeWrapperInvalidClassToggle","$div","isItemHaveCustomLabel","itemName","$editorParent","_$validationTarget$pa","_$validationTarget$pa2","wrapperClass","toggleInvalidClass","FIELD_BUTTON_ITEM_CLASS","renderButtonItem","convertAlignmentToTextAlign","convertAlignmentToJustifyContent","buttonOptions","FIELD_EMPTY_ITEM_CLASS","renderEmptyItem","FORM_EDITOR_BY_DEFAULT","LAYOUT_MANAGER_FIRST_ROW_CLASS","LAYOUT_MANAGER_LAST_ROW_CLASS","LAYOUT_MANAGER_FIRST_COL_CLASS","LAYOUT_MANAGER_LAST_COL_CLASS","_itemWatchers","_updateReferencedOptions","_initDataAndItems","_cleanItemWatchers","initialData","_syncDataWithItems","_getDataByField","_updateFieldValue","_isCheckboxUndefinedStateEnabled","allowIndeterminateState","nameParts","_triggerOnFieldDataChanged","isUserItemsExist","_generateItemsByData","processedItems","_isAcceptableItem","_updateItemWatchers","_setItems","_sortItems","_getWatch","itemField","_getEditorTypeByDataType","_item$allowIndetermin","_sortIndexes","itemA","itemB","indexA","indexB","_renderResponsiveBox","templatesInfo","_getColCount","_prepareItemsWithMerging","layoutItems","_generateLayoutItems","_responsiveBox","_getResponsiveBoxConfig","_renderTemplates","_itemStateChangedHandler","itemsWithLabelTemplateCount","_item$label","_renderButtonItem","_renderFieldItem","xsColCount","isSingleColumnMode","itemRenderedCountInPreviousRows","itemCssClassList","isLastColumn","_getRowsCount","isLastRow","_generateRatio","screenFactor","getTargetScreenFactor","_cashedColCount","_getMaxColCount","maxColCount","isCachedColCountObsolete","itemsMergedByCol","_getColByIndex","generatedItem","_renderEmptyItem","_item$label2","_getFormOrThis","getItemID","_getMarkOptions","_incTemplateRenderedCallCount","_shouldAlignLabelsOnTemplateRendered","_alignLabels","_bindDataField","_this$_labelTemplateR","_labelTemplateRenderedCallCount","totalItemsWithLabelTemplate","editorInstance","formOrThis","_createWatcher","linkEditorToDataField","_watch","formInstance","readOnlyState","hasEditorReadOnly","isChangeByForm","isAutoSize","newLayoutData","_disableEditorValueChangedHandler","_cashedRequiredConfig","_resetWidget","_resetColCount","isValueReferenceType","getEditor","findWidgetInstanceByDataField","findWidgetInstanceByName","responsiveBox","getItemsRunTimeInfo","VALIDATION_SUMMARY_CLASS","ValidationSummary","_unsubscribeGroup","groupSubscription","_groupValidationHandler","orderedItems","foundItems","_getOrderedItems","_validationSummary","_itemValidationHandler","itemsChanged","foundRule","foundItem","VALIDATION_ENGINE_CLASS","validatorContainer","summaryContainer","refreshValidationGroup","validateGroup","resetGroup","ITEM_OPTIONS_FOR_VALIDATION_UPDATING","Form","_cachedColCountOptions","_groupsColCount","_attachSyncSubscriptions","formID","alignRootItemLabels","_getGroupColCount","_applyLabelsWidthByCol","fieldItemClass","inOneColumn","cssExcludeTabbedSelector","excludeTabbed","_applyLabelsWidth","applyLabelsOptions","_getGroupElementsInColumn","cssColCountSelector","groupSelector","_applyLabelsWidthWithGroups","$rootSimpleItems","_applyLabelsWidthWithNestedGroups","$groups","groupsColIndex","groupColIndex","$groupsByCol","groupColCount","_labelLocation","_alignLabelsInColumn","_checkGrouping","_prepareFormData","_setStylingModeClass","_getValidationGroup","_clearCachedInstances","_renderValidationSummary","_lastMarkupScreenFactor","_targetScreenFactor","_getCurrentScreenFactor","_attachResizeObserverSubscription","formRootElement","_resizeHandler","_cachedLayoutManagers","_layoutManager$option","_clearValidationSummary","_this$_$validationSum","_$validationSummary","dxValidationSummary","parentIsTabbedItem","currentPath","_tryPrepareGroupItem","_tryPrepareTabbedItem","_tryPrepareItemTemplate","_prepareItems","groupContentTemplate","_itemGroupTemplate","_itemTabbedTemplate","_rootLayoutManager","_renderLayoutManager","_createLayoutManagerOptions","_tryGetItemsForTemplate","_item$tabs","$tabPanel","tabPanelOptions","_item$tabPanelOptions","_item$tabPanelOptions2","extendRunTimeItemInfoByKey","tryUpdateTabPanelInstance","$groupContent","_isDataUpdating","addItemsOrExtendFrom","nestedItemsRunTimeInfo","removeItemsByItems","_this$_validationSumm","layoutManagerOptions","baseColCountByScreen","_clearAutoColCountChangedTimeout","autoColCountChangedTimeoutId","optionFullName","_triggerOnFieldDataChangedByDataSet","splitFullName","_itemsOptionChangedHandler","_formDataOptionChangedHandler","_defaultOptionChangedHandler","_resetValues","_getItemPath","optionNameWithoutPath","simpleOptionName","itemAction","_tryCreateItemOptionAction","_tryExecuteItemOptionAction","_tryChangeLayoutManagerItemOption","_changeItemOption","_generateItemsFromData","removeItemsByPathStartWith","tryExecute","_updateValidationGroupAndSummaryIfNeeded","_this$_validationSumm2","findKeyByPath","contentReadyHandler","tabPath","tabLayoutManager","findGroupOrTabLayoutManagerByPath","_setLayoutManagerItemOption","endPartIndex","_itemPath","_layoutManager","formItems","layoutManagerItems","_getItemByField","resultItem","fieldParts","_getFieldParts","fieldPath","_getItemByFieldPath","subItemsField","_getSubItemField","separatorIndex","resultPath","isItemWithSubItems","isGroupWithName","nameWithoutSpaces","pathNode","_searchItemInEverySubItem","_isColCountChanged","oldScreenSize","newScreenSize","isChanged","editorSelector","isComplexData","resetValues","itemOption","allowUpdateItems","_tryChangeLayoutManagerItemOptions","_updateEditFormDeferred","isFormEditMode","firstFormItem","_firstFormItem","$editFormElements","_getEditFormEditorVisibleIndex","isFormOrPopupEditMode","getEditFormRowIndex","hasEditRow","onlyInsertChanges","_repaintEditPopup","popupVisible","_editPopup","_showEditPopup","_hideEditPopup","editForm","isMobileDevice","editPopupClass","_getSaveButtonConfig","_getCancelButtonConfig","_getPopupEditFormTemplate","$popupContainer","_getEditPopupHiddenHandler","formTemplate","isPopupForm","defaultAnimation","_handleFormOptionChange","_handlePopupOptionChange","editPopup","popupOptionName","detailCellOptions","formTemplateOptions","_getFormEditItemTemplate","validatorOptions","renderFormEditorTemplate","dxValidator","detailOptions","editFormOptions","_getValidationGroupsInForm","userCustomizeItem","editFormItemClass","getFormEditorTemplate","baseEditFormOptions","getEditFormOptions","$formContainer","getEditForm","editFormRowIndex","isPopupEditing","_isFormItem","_formItemPrepared","oldEditForm","newEditForm","editingFormBasedModule","$pointerDownTarget","needCreateHandlers","targetComponent","isCellOrBatchEditMode","isEditorPopup","checkEditorPopup","isAnotherComponent","isAddRowButton","isCellEditMode","_closeEditItem","$dropDownEditorOverlay","$componentElement","isBatchEditMode","isCurrentComponentElement","$targetCell","isEditingCell","_needToCloseEditableCell","isEditColumnNameDefined","oldColumnIndex","_editCellFromOptionChanged","_editCell","coreResult","executeOperation","_editCellCore","isEditByOptionChanged","_getNormalizedEditCellOptions","_beforeEditCell","_prepareEditCell","_processCanceledEditingCell","_setEditColumnNameByIndex","_closeEditCellCore","_beforeCloseEditCellInBatchMode","columnsCount","_applyModified","_handleEditColumnNameChange","_repaintEditCell","needResetIndexes","isBatchMode","callBaseResult","_isRowDeleteAllowed","_resetModifiedClassCells","needEditingButtons","getEditRowIndex","isUpdateInCellMode","focusPreviousEditingCell","_needUpdateRow","editingCellBasedModule","INVALIDATE_CLASS","REVERT_TOOLTIP_CLASS","INVALID_MESSAGE_CLASS","WIDGET_INVALID_MESSAGE_CLASS","INVALID_MESSAGE_ALWAYS_CLASS","REVERT_BUTTON_CLASS","PENDING_INDICATOR_CLASS","VALIDATION_PENDING_CLASS","PADDING_BETWEEN_TOOLTIPS","FORM_BASED_MODES","COMMAND_TRANSPARENT","VALIDATION_STATUS","EDIT_DATA_INSERT_TYPE","EDIT_DATA_REMOVE_TYPE","VALIDATION_CANCELLED","validationResultIsValid","cellValueShouldBeValidated","_isValidationInProgress","_disableApplyValidationResults","_validationState","initValidationState","_validationStateCache","validationData","_getValidationData","validated","isObjectKeyHash","validationResults","getChangeByKey","_getBrokenRules","errorText","getHiddenValidatorsErrorText","brokenRulesMessages","isGroupExpandColumn","isVisibleColumn","isFull","completeList","_currentCellValidator","resetRowValidationResults","_rowValidating","isRowDataModified","setDisableApplyValidationResults","updateCellValidationResult","validationStatusChanged","getCellValidationResult","cancelCellValidationResult","requestIsDisabled","disabledPendingId","getEditorInstance","renderCellPendingIndicator","disposeCellPendingIndicator","oldDataFromState","needCreateValidator","isCellOrBatchEditingAllowed","_syncInternalEditingData","useDefaultValidator","applyValidationResult","validatorInitialized","validatorDisposing","originBypass","defaultAdapterBypass","cellParams","stateRestored","currentCellValue","_ref8","validatingEditingExtender","updateValidationState","startInsertIndex","_ref9","isNotCanceled","getIndexByChange","isInserted","invisibleColumns","invisibleColumnValidators","isCellVisible","createValidator","disposeValidators","_createInvisibleColumnValidators","isFullValid","_updateRowAndPageIndices","validateCell","_showErrorRow","shouldResetValidationState","columnsWithValidatingEditors","resetRowAndPageIndices","removeCellValidationResult","currentValidator","getCellValidator","refocus","setCellValidationStatus","isValidated","needValidation","isCellInvalid","isInvalidCell","_rowIsValidated","getWidthOfVisibleCells","getBoundaryNonFixedColumnsInfo","fixedColumns","firstNonFixedColumnIndex","lastNonFixedColumnIndex","startColumnIndex","endColumnIndex","validatingEditorFactoryExtender","$tooltipElement","_revertTooltip","$overlayContainer","revertTooltipClass","$buttonElement","_positionedHandler","$nextFixedRowElement","$groupCellElement","nextRowOptions","isOverlayVisible","__skipPositionProcessing","isRevertButton","normalizedPosition","_normalizeValidationMessagePositionAndMaxWidth","editorPopup","myPosition","atPosition","hasFixedColumns","errorMessageText","invalidMessageClass","$overlayElement","_shiftValidationMessageIfNeed","_hideFixedGroupCell","validationMessages","_getValidationMessagesSelector","visibleTableWidth","$overlayContentElement","validationMessageWidth","needMaxWidth","boundaryNonFixedColumnsInfo","$revertContent","revertContentOffset","setValidator","_showRevertButton","showValidationMessage","_hideValidationMessage","isDetached","isElementInside","isCurrentValidatorProcessing","updateCellState","getWidgetInstance","validatingDataControllerExtender","oldValidationStatus","_getValidationStatus","newValidationStatus","rowIsModified","cellIsMarkedAsInvalid","hasValidationRules","rowEditStateChanged","cellValidationStateChanged","validatingRowsViewExtender","$freeSpaceRowElements","$tooltipContent","isEditorDisposed","validatingModule","validating","LEGACY_SCROLLING_MODE","needTwoPagesLoading","_controller","getViewportItemIndex","getBeginPageIndex","getEndPageIndex","fireChanged","_isChangedFiring","processDelayChanged","_isDelayChanged","getViewportPageCount","_dataOptions","preventPreload","realViewportSize","viewportSize","viewportItemSize","getContentOffset","getViewportPosition","virtualItemsCount","itemSize","getItemSizes","getPreloadPageCount","isAppendMode","getPageIndexForLoad","dataOptions","needToLoadPageBeforeLast","needToLoadPrevPage","needToLoadNextPage","_loadingPageIndexes","loadCore","processChanged","isDelayChanged","isPrepend","viewportItems","removeCount","correctCount","removeItemCount","updateLoading","_lastPageIndex","newPageIndex","lastPageSize","maxPageIndex","defaultPageIndex","endPageIndex","pageIndexForLoad","delayDeferred","_delayDeferred","_setViewportPositionCore","removeInvisiblePages","lastCacheLength","beginItemsCount","endItemsCount","SCROLLING_MODE_INFINITE","SCROLLING_MODE_VIRTUAL","_isVirtual","subscribeToExternalScrollers","scrollChangedHandler","$scrollElement","scrollableArray","scrollToArray","disposeArray","getElementOffset","$scrollableElement","scrollableOffset","widgetScrollStrategy","subscribeToScrollEvents","topOffset","scrollMethod","getScrollElementParent","_viewportSize","_viewportItemSize","_viewportItemIndex","_isScrollingBack","_itemSizes","_sizeRatio","positionChanged","_dataLoader","viewportParams","getViewportParams","loadedOffset","loadedItemCount","scrollingTimeout","changingDuration","getScrollingTimeout","_scrollTimeoutID","viewportItemIndex","defaultItemSize","itemOffsetsWithSize","itemOffsetWithSize","itemOffsetDiff","prevPosition","getItemIndexByPosition","setViewportItemIndex","virtualContentSize","contentHeightLimit","isEnd","currentItemIndex","getItemOffset","viewportItemIndexChanged","isRefresh","_windowScroll","setViewportPosition","topIndex","bottomIndex","maxGap","isScrollingBack","minGap","topMinGap","bottomMinGap","remainedItems","loadIfNeed","handleDataChanged","getDelayDeferred","BOTTOM_LOAD_PANEL_CLASS","FREESPACE_CLASS","VIRTUAL_ROW_CLASS","LOAD_TIMEOUT","VISIBLE_PAGE_INDEX","PAGING_METHOD_NAMES","isItemCountableFunc","isItemCountableByDataSource","updateItemIndices","_virtualScrollController","proxyDataSourceAdapterMethod","virtualScrollController","removeEmptyRows","$emptyRows","_loadPageCount","_getVirtualScrollDataOptions","_renderTime","_startLoadTime","newMode","loadPageCount","takeIsDefined","rowsScrollController","_rowsScrollController","baseResult","initVirtualRows","_loadViewportParams","getLoadPageParams","rowPageSize","isSortingOperation","allowedTopOffset","virtualRowsRendering","_allItems","_visibleItems","_rowPageIndex","getRowPageSize","_viewportChanging","_needUpdateViewportAfterLoading","_getRowsScrollDataOptions","loadViewport","_updateLoadViewportParams","isItemCountable","_itemCount","isNextAfterLast","countableOnly","cancelEmptyChanges","prevCountable","prevRowType","isPrevRowNew","wasCountableItem","newRows","itemCountable","isNextGroupItem","isNextDataItem","isPrevNewRowFirst","skipForCurrentPage","isNewRowInEmptyData","isLoadIndexGreaterStart","isLoadIndexLessEnd","needGroupOffset","firstLoadIndex","viewportHeight","setContentItemSizes","preloadCount","byLoadedPage","loadedPageIndex","loadedTake","topPreloadCount","getPreloadedRowCount","bottomPreloadCount","skipWithPreload","loadingTake","viewPortItemIndex","loadedPageParams","pageIndexIsValid","_pageIndexIsValid","checkLoading","viewportIsFilled","changedParams","_getChangedLoadParams","currentLoadPageCount","lastRequiredItemCount","pageIndexNotChanged","allLoadedInAppendMode","isRepaintMode","pageIndexIncreased","viewportChanging","_updateVisiblePageIndex","checkLoadedParamsOnly","viewportIsNotFilled","loadingItemsStarted","_loadItems","needToUpdateItems","noPendingChangesInEditing","currentTake","newTake","getVirtualContentSize","_resizeTimeout","masterDataGridUpdated","isNewVirtualMode","_lastTime","updateTimeout","scrollToPage","updateViewport","_scrollToCurrentPageOnResize","resizeHandler","itemSizes","_updateContentPosition","startRenderTime","_removeRowsElements","_restoreErrorRow","_updateBottomLoading","$virtualRow","_getRowHeights","correctedRowHeights","_correctRowHeights","visibleRows","firstCountableItem","lastLoadIndex","isRender","_updateContentItemSizes","$virtualRows","prevFixed","_isFixedTableRendering","_addVirtualRow","hasColumnLines","$columns","$virtualColumns","isExpandColumn","$bottomLoadPanel","showBottomLoading","bottomLoadPanelElement","_findBottomLoadPanel","zeroTopPosition","isScrollTopChanged","hasScrolled","isValidScrollTarget","_updateViewportSize","hasBottomLoadPanel","isViewportChanging","needToThrow","_heightWarningIsThrown","throwHeightWarningIfNeed","scrollPos","virtualScrollingModule","minTimeout","renderingThreshold","prerenderedRowChunkSize","loadTwoPagesOnStart","legacyMode","prerenderedRowCount","WINDOW_HEIGHT_PERCENT","getElementMaxHeightByWindow","actualOffset","elementOffset","offsetBottom","DX_CONTEXT_MENU_CONTENT_DELIMITER_CLASS","_renderDelimiter","$contentDelimiter","_overlayPositionedActionHandler","_showDelimiter","hoverStartAction","_hoverStartHandler","submenu","containerOffset","vLocation","hLocation","rootWidth","rootHeight","submenuWidth","submenuHeight","_isMenuHorizontal","DX_MENU_VERTICAL_CLASS","DX_MENU_HORIZONTAL_CLASS","DX_CONTEXT_MENU_CONTAINER_BORDER_CLASS","DX_STATE_ACTIVE_CLASS","DX_ADAPTIVE_MODE_CLASS","DX_ADAPTIVE_HAMBURGER_BUTTON_CLASS","DX_ADAPTIVE_MODE_OVERLAY_WRAPPER_CLASS","SHOW_SUBMENU_OPERATION","NEXTITEM_OPERATION","PREVITEM_OPERATION","showFirstSubmenuMode","hideSubmenuOnMouseLeave","onSubmenuShowing","onSubmenuShown","onSubmenuHiding","onSubmenuHidden","rootMenuElements","submenuElements","_submenuItemElements","currentSubmenu","_submenus","navigationAction","isMenuHorizontal","_getItemsNavigationOperation","_getKeyboardNavigationAction","navOperation","_menuItemsWidth","_updateItemsWidthCache","$menuItems","_isAdaptivityEnabled","_toggleAdaptiveMode","_visibleSubmenu","_initAdaptivity","_hamburger","_toggleTreeView","_treeView","_toggleHamburgerActiveState","$menuItemsContainer","$adaptiveElements","_hideVisibleSubmenu","_$adaptiveContainer","menuOptions","_treeviewItemClickHandler","$hamburger","_renderHamburgerButton","_getTreeViewOptions","_getAdaptiveOverlayOptions","delayType","_createSubmenu","_renderBorderElement","$submenuContainer","subMenu","_getSubmenuOptions","_parentKey","_clearTimeouts","getSubmenuPosition","_attachSubmenuHandlers","$submenuTarget","_nestedItemOnSelectionChangedHandler","_nestedItemOnItemClickHandler","_nestedItemOnItemRenderedHandler","_moveMainMenuFocus","$currentItem","_clearSelectionInSubmenus","_clearRootSelection","targetSubmenu","cleanAllSubmenus","isOtherItem","selectedItemData","$prevSelectedItem","prevSelectedItemData","$submenuOverlayContent","getOverlayContent","submenus","submenuMouseLeaveName","_submenuOnShowingHandler","_submenuOnShownHandler","_submenuOnHidingHandler","_submenuOnHiddenHandler","_submenuMouseLeaveHandler","$border","_getSubmenuByRootElement","_hideSubmenuAfterTimeout","_getDelay","isRootItemHovered","isSubmenuItemHovered","hoveredElementFromSubMenu","isHorizontalMenu","mouseMoveEventName","isSelectionActive","_getShowFirstSubmenuMode","_getSubmenuByElement","_itemMouseMoveHandler","_showSubmenuTimer","_hideSubmenuTimer","_hoveredRootItem","_changeSubmenusOption","_removeAdaptivity","OPERATION_ICONS","notcontains","startswith","endswith","OPERATION_DESCRIPTORS","FILTERING_TIMEOUT","CORRECT_FILTER_RANGE_OVERLAY_WIDTH","FILTER_RANGE_OVERLAY_CLASS","FILTER_RANGE_START_CLASS","FILTER_RANGE_END_CLASS","MENU_CLASS","EDITOR_WITH_MENU_CLASS","EDITOR_CONTAINER_CLASS","FILTER_MENU","APPLY_BUTTON_CLASS","HIGHLIGHT_OUTLINE_CLASS","FOCUSED_CLASS","FILTER_RANGE_CONTENT_CLASS","FILTER_MODIFIED_CLASS","BETWEEN_OPERATION_DATA_TYPES","ARIA_SEARCH_BOX","isOnClickApplyFilterMode","$editorContainer","getRangeTextByFilterValue","getColumnFilterValue","getFormatOptionsByColumn","getColumnSelectedFilterOperation","bufferedSelectedFilterOperation","isValidFilterValue","isFilterRange","isRangeStart","normalizeFilterValue","columnFilterValue","updateFilterValue","_applyFilterViewController","setHighLight","updateLookupDataSource","$editorRangeElements","_updateEditorValue","overlayInstance","_updateFilterRangeContent","_updateFilterOperationChooser","_renderFilterRangeContent","_renderEditor","_getEditorOptions","_hideFilterRange","_filterRangeOverlayInstance","_isElementVisible","isFilterRowVisible","filterRangeOverlayClass","$prevElement","_initFilterRangeOverlay","_updateFilterRangeOverlay","_renderFilterOperationChooser","_renderFilterCell","accessibilityOptions","_getFilterInputAccessibilityAttributes","columnAriaLabel","setCurrentColumnForFiltering","lookupDataSource","getWrappedLookupDataSource","lookupOptions","$filterRangeContent","_showFilterRange","isCellWasFocused","restoreFocus","_focusEditor","editorFactoryController","_getFilterOperationMenuItems","columnSelectedFilterOperation","notFocusEditor","isOnClickMode","_isEditorFocused","filterRowOptions","availableFilterOperations","descriptionName","filterChanged","applyFilterViewController","editorDataSource","shouldUpdateFilter","__dataGridSourceFilter","skipCalculateColumnFilters","applyFilterController","shouldSkip","getCurrentColumnForFiltering","_headerPanel","_getHeaderPanel","enableApplyButton","removeHighLights","columnHeadersViewElement","_currentColumn","columnsResizer","_startResizing","getFilterRangeOverlayInstance","_targetPoint","_endResizing","_needUpdateLookupDataSource","_prepareFilterItem","_isShowApplyFilterButton","filterRowModule","HEADER_FILTER_CLASS","HEADER_FILTER_MENU_CLASS","DEFAULT_SEARCH_EXPRESSION","resetChildrenItemSelection","getSelectAllCheckBox","listComponent","updateListSelectAllState","selectAllCheckBox","updateHeaderFilterItemSelectionState","filterValuesMatch","isExcludeFilter","_listComponent","getListComponent","isFilterBuilder","fillSelectedItemKeys","isExclude","hasChildren","hasChildrenWithSelection","hideHeaderFilterMenu","$columnElement","getPopupContainer","updatePopup","headerFilterMenu","_cleanPopupContent","headerFilterOptions","useDefaultSearchExpr","headerFilterDataSource","filterSearchExpr","_normalizeHeaderFilterOptions","applyHeaderFilter","_initializeListContainer","needShowSelectAllCheckbox","_getSearchExpr","_selectedItemsUpdating","oldSelected","filterValueIndex","isExcludeFilterType","generalHeaderFilter","specificHeaderFilter","generalDeprecated","specificDeprecated","headerFilterMixin","$headerFilterIndicator","_isHeaderFilterEmpty","indicatorLabel","DATE_INTERVAL_FORMATS","ungroupUTCDates","isMonthPart","convertDataFromUTCToLocal","getHeaderFilterGroupParameters","isUTCFormat","getFormatOptions","currentLevel","firstValueText","secondValue","secondValueText","_headerFilterView","_updateSelectedState","displaySelector","getHeaderItemText","_normalizeGroupItem","remoteGrouping","isLookup","normalizeLookupDataSource","cutoffLevel","convertUTCDates","origPostProcess","isGroupPanel","showHeaderFilterMenuBase","columnElement","previousOnHidden","dxResizableInstance","dxResizable","headerFilterByColumn","_subscribeToIndicatorEvent","isFilterRowAndHeaderFilterValuesChanged","isHeaderFilterValuesAndTypeChanged","shouldUpdateFilterIndicators","_needUpdateFilterIndicators","_updateHeaderFilterIndicators","getCurrentColumn","headerFilterModule","headerFilterView","FILTER_BUILDER_RANGE_CLASS","FILTER_BUILDER_RANGE_START_CLASS","FILTER_BUILDER_RANGE_END_CLASS","FILTER_BUILDER_RANGE_SEPARATOR_CLASS","SEPARATOR","conditionInfo","$editorStart","$editorEnd","getStartValue","getEndValue","_editorFactory","valueSeparator","notForLookup","isblank","isnotblank","OPERATION_NAME","getIconByFilterOperation","filterOperation","getNameByFilterOperation","DEFAULT_DATA_TYPE","EMPTY_MENU_ICON","AND_GROUP_OPERATION","EQUAL_OPERATION","NOT_EQUAL_OPERATION","DEFAULT_FORMAT","LOOKUP_OPERATIONS","AVAILABLE_FIELD_PROPERTIES","FILTER_BUILDER_CLASS","FILTER_BUILDER_ITEM_TEXT_CLASS","FILTER_BUILDER_ITEM_TEXT_PART_CLASS","FILTER_BUILDER_ITEM_TEXT_SEPARATOR_CLASS","FILTER_BUILDER_ITEM_TEXT_SEPARATOR_EMPTY_CLASS","getFormattedValueText","fieldFormat","isNegationGroup","isCondition","getGroupCriteria","setGroupCriteria","convertGroupToNewStructure","setGroupValue","getGroupMenuItem","availableGroups","groupValue","getGroupValue","getCriteriaOperation","getDefaultFilterOperations","containItems","entity","getFilterOperations","getCaptionByOperation","getOperationFromAvailable","availableOperations","getCustomOperation","filteredOperations","getAvailableOperations","isLookupField","isOperationForbidden","isCustom","getDefaultOperation","createCondition","updateConditionByOperation","createEmptyGroup","isNegation","isNegationGroupOperation","groupOperation","getGroupOperationFromNegationOperation","extendedFields","convertToInnerGroup","defaultGroupOperation","innerGroup","convertToInnerStructure","appendGroupOperationToGroup","convertToInnerCondition","conditionHasCustomOperation","appendGroupOperationToCriteria","getNormalizedFields","normalizedField","getConditionFilterExpression","filterExpression","getFilterExpression","_filterExpression","getNormalizedFilter","itemsForRemove","normalizedGroupValue","isValidCondition","getCurrentLookupValueText","getPrimitiveValueText","getArrayValueText","checkDefaultValue","getCurrentValueText","itemExists","pushItemAndCheckParent","originalItems","hasParent","getParentIdFromItemDataField","generateCaptionByDataField","getCaptionWithParents","getOperationValue","getMergedOperations","betweenCaption","betweenIndex","isMatchedCondition","addedFilterDataField","removeFieldConditionsFromFilter","hasMatchedCondition","syncConditionIntoGroup","addedFilter","canPush","syncFilters","getMatchedConditions","filterHasField","renderValueText","baseOperation","getFullText","parentText","closeEditor","fieldInfo","itemsDeferred","_values","getSelectedItemsTexts","selectedItemsTexts","anyOf","noneOf","baseOp","baseFilter","FILTER_ROW_OPERATIONS","FILTER_TYPES_INCLUDE","FILTER_TYPES_EXCLUDE","getColumnIdentifier","checkForErrors","getEmptyFilterValues","canSyncHeaderFilterWithFilterRow","getHeaderFilterFromCondition","headerFilterCondition","hasArrayValue","getConditionFromFilterRow","getConditionFromHeaderFilter","selectedOperation","updateHeaderFilterCondition","updateFilterRowCondition","isFilterSyncActive","_initSync","getFilteringColumns","_skipSyncColumnOptions","filterConditions","filterCondition","filteringColumns","syncFilterValue","_getSyncFilterRow","_getSyncHeaderFilter","filterBuilderCustomOperations","_parseColumnPropertyName","syncHeaderFilter","syncFilterRow","filterSyncEnabledValue","currentColumnForHeaderFilter","currentColumnForFilterRow","needRemoveCurrentColumnFilter","getCustomFilterOperations","calculatedFilterValue","filterSyncModule","filterSync","FILTER_BUILDER_GROUP_CLASS","FILTER_BUILDER_GROUP_ITEM_CLASS","FILTER_BUILDER_GROUP_CONTENT_CLASS","FILTER_BUILDER_GROUP_OPERATIONS_CLASS","FILTER_BUILDER_GROUP_OPERATION_CLASS","FILTER_BUILDER_ACTION_CLASS","FILTER_BUILDER_IMAGE_CLASS","FILTER_BUILDER_IMAGE_ADD_CLASS","FILTER_BUILDER_IMAGE_REMOVE_CLASS","FILTER_BUILDER_ITEM_FIELD_CLASS","FILTER_BUILDER_ITEM_OPERATION_CLASS","FILTER_BUILDER_ITEM_VALUE_CLASS","FILTER_BUILDER_ITEM_VALUE_TEXT_CLASS","FILTER_BUILDER_OVERLAY_CLASS","FILTER_BUILDER_FILTER_OPERATIONS_CLASS","FILTER_BUILDER_FIELDS_CLASS","FILTER_BUILDER_ADD_CONDITION_CLASS","ACTIVE_CLASS","FILTER_BUILDER_MENU_CUSTOM_OPERATION_CLASS","SOURCE","ENTER_KEY","ESCAPE_KEY","OPERATORS","FilterBuilder","closePopupOnTargetScroll","_initCustomOperations","disableInvalidateForValue","_disableInvalidateForValue","_initModel","_getNormalizedFields","_customOperations","_updateFilter","_getModel","_initEditorFactory","_getDefaultGroupOperation","_this$option$","_createGroupElementByCriteria","_createConditionElement","_createConditionItem","_createGroupElement","groupCriteria","innerCriteria","$groupItem","_createRemoveButton","_createGroupOperationButton","_createAddButton","newGroup","newCondition","_getGroupOperations","groupMenuItem","$operationButton","_createButtonWithMenu","removeMenu","treeViewElement","treeView","dxTreeView","_subscribeOnClickAndEnterKey","_createPopupWithTreeView","_hasValueButton","_createOperationButtonWithMenu","$valueButton","_createValueButton","_createOperationAndValueButtons","_createFieldButtonWithMenu","getFullCaption","$fieldButton","isSingleChild","$removeButton","addGroupHandler","addConditionHandler","_createValueText","_createValueEditorWithEvents","_updateConditionValue","areValuesDifferent","_addDocumentKeyUp","isComposing","hasCompositionJustEnded","documentKeyUpHandler","_documentKeyUpHandler","_addDocumentClick","closeEditorFunc","documentClickHandler","_isFocusOnEditorParts","_documentClickHandler","_removeEvents","createValueText","_createValueEditor","$popup","_updatePopupOptions","_initPopup","_filterBuilderPopup","_filterBuilder","_disposePopup","_getPopupContentTemplate","$filterBuilderContainer","filterBuilderModule","filterBuilderView","FILTER_PANEL_CLASS","FILTER_PANEL_TEXT_CLASS","FILTER_PANEL_CHECKBOX_CLASS","FILTER_PANEL_CLEAR_FILTER_CLASS","FILTER_PANEL_LEFT_CONTAINER","FILTER_PANEL_TARGET","isColumnsDefined","$leftContainer","_renderFilterBuilderText","$filterElement","_getFilterElement","$textElement","_getTextElement","_filterValueBuffer","$checkElement","_getCheckElement","$removeButtonElement","_getRemoveButtonElement","_showFilterBuilder","_addTabIndexToElement","filterText","getFilterText","customText","clearFilterValue","fieldText","operationText","hasCustomOperation","_getValueMaskedText","_getValueText","_getConditionText","isInnerGroup","getConditionText","getGroupText","groupText","filterPanelModule","filterPanelView","SEARCH_PANEL_CLASS","SEARCH_TEXT_CLASS","calculateSearchFilter","onQueryDone","getSearchTextEditor","_prepareSearchItem","searchPanelOptions","$search","$searchPanel","_searchParams","_highlightTimer","isCaseSensitive","stringNormalizer","_getStringNormalizer","normalizedSearchText","resultTextNodes","$contents","$textNode","$searchTextSpan","firstContentElement","_highlightSearchTextCore","isEquals","_getFormattedSearchText","textNodes","_findHighlightingTextNodes","textNode","_highlightSearchText","searchModule","pageIndexChanged","pageSizeChanged","_getElementComputedSt","computedStyle","getElementContentWidth","getElementMinWidth","contentAttributes","infoTextRef","infoTextVisible","isLargeDisplayMode","pageSizesRef","pagesRef","parentRef","Content","calculateLargeDisplayMode","pageSizes","pageSizesWidth","pagesWidth","parentWidth","calculateInfoTextVisible","infoWidth","minimalWidth","getElementsWidth","pagesHtmlWidth","ResizableContainerProps","actualIsLargeDisplayMode","actualInfoTextVisible","subscribeToResize","effectUpdateChildProps","updateAdaptivityProps","pagerProps","gridCompatibility","lightModeEnabled","maxPagesCount","pageIndexChange","pageSizeChange","pagesCountText","pagesNavigatorVisible","showPageSizes","currentElementsWidth","elementsWidth","BasePagerProps","PagerProps","defaultPageSize","InternalPagerProps","PAGER_INFO_CLASS","InfoTextPropsType","_this$props$infoText","KeyboardActionContext","LightButtonProps","subscribeToClick","keyboardContext","PAGER_CLASS","LIGHT_MODE_CLASS","PAGER_PAGES_CLASS","PAGER_PAGE_INDEXES_CLASS","PAGER_PAGE_CLASS","PAGER_SELECTION_CLASS","PAGER_PAGE_SIZE_CLASS","PAGER_PAGE_SIZES_CLASS","PAGER_SELECTED_PAGE_SIZE_CLASS","FIRST_CHILD_CLASS","PageProps","PAGER_PAGE_SEPARATOR_CLASS","PagesMarkup","pageProps","PAGES_LIMITER","getDelimiterType","slidingWindowSize","createPageIndexesBySlidingWindowIndexes","slidingWindowIndexes","pageIndexes","indexesForReuse","createPageIndexes","PagesLargePropsType","canReuseSlidingWindow","generatePageIndexes","isSlidingWindowMode","onPageClick","slidingWindowState","slidingWindowStateHolder","currentPageCount","lastPageIsFartherThanWindow","pageIndexExistInIndexes","_createPageIndexes","createPage","rtlPageIndexes","EditorStateProps","EditorLabelProps","DEFAULT_VALUE","NumberBoxProps","NumberBoxPropsType","oneDigitWidth","calculateValuesFittedWidth","PAGER_INFO_TEXT_CLASS","PAGER_PAGE_INDEX_CLASS","LIGHT_PAGES_CLASS","PAGER_PAGES_COUNT_CLASS","pageIndexRef","selectLastPageIndex","PagerSmallProps","PagerSmallPropsType","updateWidth","_this$pageIndexRef$cu","_this$props$pagesCoun","PAGER_NAVIGATE_BUTTON","PAGER_PREV_BUTTON_CLASS","PAGER_NEXT_BUTTON_CLASS","PAGER_BUTTON_DISABLE_CLASS","getNextButtonLabel","getPrevButtonLabel","nextEnabledClass","prevEnabledClass","nextDisabledClass","prevDisabledClass","reverseDirections","nextButtonProps","prevButtonProps","renderNextButton","renderPrevButton","getIncrement","PageIndexSelectorProps","PageIndexSelectorPropsType","getButtonProps","canNavigateToPage","getNextPageIndex","canNavigateTo","navigateToPage","rtlAwareDirection","canNavigate","SelectBoxProps","SelectBoxPropsType","PageSizeSmallProps","PageSizeSmallPropsType","pageSizesText","PageSizeLargePropsType","onPageSizeChange","processedPageSize","htmlRef","normalizedPageSizes","getAllText","PageSizeSelectorProps","PageSizeSelectorPropsType","infoVisible","pageIndexSelectorVisible","pagesContainerVisibility","pagesContainerVisible","widgetRootElementRef","PagerContentProps","createFakeInstance","keyboardAction","_this$props$onKeyDown","fakePagerInstance","normalizedDisplayMode","_this$props2","__newValue","_newValue","newPageSize","_this$props$pageSize$","MAX_PAGES_COUNT","getPageIndex","_pager","isPager","isPaging","isDataSource","isScrolling","skipProcessingPagingChange","_pageSizes","pagerOptions","useLegacyKeyboardNavigation","pagerVisible","pagerModule","COLUMNS_SEPARATOR_CLASS","COLUMNS_SEPARATOR_TRANSPARENT","DRAGGING_HEADER_CLASS","HEADERS_DRAG_ACTION_CLASS","TRACKER_CLASS","HEADERS_DROP_HIGHLIGHT_CLASS","BLOCK_SEPARATOR_CLASS","DRAGGING_COMMAND_CELL_CLASS","COLUMNS_SEPARATOR_TOUCH_TRACKER_WIDTH","DRAGGING_DELTA","COLUMN_OPACITY","_tablePositionController","_subscribeToCallback","_unsubscribeFromCallback","_positionChanged","_isShown","_isTransparent","columnsSeparatorTransparent","outerX","_parentElement","cursorName","startAnimate","toOptions","_columnsResizerViewController","_isDragging","_dragOptions","draggingPanels","draggingPanel","_dropOptions","targetColumnIndex","targetColumnElement","isCommandColumn","sourceIndex","sourceColumnIndex","_getVisibleIndexObject","sourceColumnElement","_onSelectStart","onselectstart","dragOptions","moveDeltaX","moveDeltaY","newLeft","newTop","dockHeader","targetDraggingPanel","_getDraggingPanelByPos","isVerticalOrientation","pointsByTarget","pointsByColumns","_generatePointsByColumns","centerPosition","dock","_resetTargetColumnOptions","drop","isNextColumnResizingMode","_subscribesToCallbacks","_unsubscribes","_subscribeToEvents","headersRowHeight","getHeadersRowHeight","_$parentContainer","cellsLength","isNextColumnMode","isRtlParentStyle","_isRtlParentStyle","firstPointColumnIndex","nextColumn","currentX","columnsSeparatorWidth","_columnsSeparatorView","parentOffsetLeft","isDragging","_draggingHeaderView","_isResizing","_resizingInfo","_updateColumnsWidthIfNeeded","currentColumnIndex","moveByX","_isHeadersRowArea","_previousParentOffset","_getTargetPoint","_isReadyResizing","changeCursor","_trackerView","nextColumnIndex","_getNextColumnIndex","currentHeader","getHeaderElement","nextHeader","startPosX","currentColumnWidth","nextColumnWidth","_setupResizingInfo","getPointsByColumns","_pointCreated","_pointsByColumns","_moveSeparatorHandler","_startResizingHandler","_endResizingHandler","_moveSeparator","resizingInfo","isPercentWidth","setColumnWidth","oldColumnWidth","cellWidth","nextCellWidth","nextMinWidth","needCorrectionNextCellWidth","allColumnsHaveWidth","totalPercent","hasScroll","_unsubscribeFromEvents","_unsubscribeFromCallbacks","generatePointsByColumnsHandler","generatePointsByColumnsScrollHandler","previousScrollbarVisibility","previousTableHeight","scrollbarVisibility","_pagerView","targetPoint","diffOffsetTop","columnsHeadersHeight","draggingHeaderView","isDraggingOrResizing","_blockSeparatorView","subscribeToEvents","isCustomGroupColumnPosition","checkIsCustomGroupColumnPosition","wasOnlyCommandColumns","isColumnAfterExpandColumn","isFirstExpandColumn","sourceColumnReorderingDisabled","otherColumnsReorderingDisabled","draggingHeader","nameDraggingPanel","dragHeader","moveHeader","dropHeader","blockSeparator","columnsSeparator","_animationColumnIndex","headersView","_getSeparator","hasTargetVisibleIndex","allowDrop","hideSeparators","moveColumn","columnsResizingReorderingModule","columnsSeparatorView","blockSeparatorView","trackerView","tablePosition","compareByReference","lastArgs","createCacheFunc","firstArgs","firstResult","originFunc","compareFunc","argsEquals","MEMOIZE_DEFAULT_OPTIONS","compareType","memoize","cachedFunc","ATTRIBUTES","dragCell","FREESPACE_ROW_CLASS","COMMAND_CELL_SELECTOR","DATEBOX_WIDGET_NAME","FAST_EDITING_DELETE_KEY","INTERACTIVE_ELEMENTS_SELECTOR","NON_FOCUSABLE_ELEMENTS_SELECTOR","FOCUS_TYPE_ROW","FOCUS_TYPE_CELL","COLUMN_HEADERS_VIEW","FUNCTIONAL_KEYS","getCellToFocus","GridCoreKeyboardNavigationDom","isDragCell","DATAGRID_GROUP_FOOTER_CLASS","isGroupFooterRow","isNotFocusedRow","_isRowEditMode","isElementDefined","isCellInHeaderRow","isFixedColumnIndexOffsetRequired","shouldPreventScroll","_isVirtualScrolling","_columnResizerController","_memoFireFocusedCellChanged","_memoFireFocusedRowChanged","focusedHandlerWithContext","focusedHandler","renderCompletedWithContext","rowsViewFocusHandlerContext","rowsViewFocusHandler","_updateFocusTimeout","_fastEditingStarted","_focusedCellPosition","_canceledCellPosition","initViewHandlers","initDocumentHandlers","_resetFocusedView","_keyDownListener","setupFocusedView","_isNeedScroll","_focusedView","_scrollToElement","isRelatedTargetInRowsView","_isEventInCurrentGrid","$focusedCell","_getFocusedCell","isCell","needSetFocusPosition","_updateFocusedCellPosition","$rowsView","isFocusedViewCorrect","needUpdateFocus","isFocusedElementCorrect","unsubscribeFromRowsViewFocusEvent","subscribeToRowsViewFocusEvent","initPointerEventHandler","initKeyDownHandler","_setRowsViewAttributes","_isNeedFocus","_isHiddenFocus","unsubscribeFromPointerEvent","unsubscribeFromKeyDownEvent","isCurrentRowsViewClick","isEditorOverlay","isColumnResizing","targetInsideFocusedView","_resetFocusedCell","_getRowsViewElement","isGridEmpty","_applyTabIndexToElement","pointerEventName","_pointerEventAction","clickSelector","_pointerEventHandler","subscribeToPointerEvent","subscribeToKeyDownEvent","focusType","needStopPropagation","_processOnKeyDown","_updateFocusedCellPositionByTarget","_leftRightKeysHandler","_upDownKeysHandler","_pageUpDownKeyHandler","_spaceKeyHandler","_ctrlAKeyHandler","_beginFastEditing","_escapeKeyHandler","_ctrlFKeyHandler","_f2KeyHandler","_isFastEditingAllowed","_isFastEditingStarted","getVisibleRowIndex","getRow","directionCode","_getDirectionCodeByKey","isEditingNavigationMode","allowNavigate","setCellFocusType","_closeEditCell","_isVirtualColumnRender","_processVirtualHorizontalPosition","_getNextCell","_arrowKeysHandlerFocusCell","isUpArrow","isRowEditingInCurrentRow","_navigateNextCell","_isVirtualRowRender","_scrollBy","isPageUp","pageStep","isFocusedRowElement","_getElementType","isRowFocusType","isFocusedSelectionCell","isCellPositionDefined","isOriginalHandlerRequired","_isLastValidCell","_isFirstValidCell","focusedViewElement","_handleTabKeyOnMasterDetailCell","_editingCellTabHandler","_targetCellTabHandler","allVisibleColumns","renderedVisibleColumns","localColumnIndex","getColumnIndex","horizontalScrollPosition","needToScroll","_getVisibleColumnCount","_getMaxHorizontalOffset","_isFixedColumn","_isColumnRendered","leftEdgePosition","_isColumnVirtual","_getHorizontalScrollPositionOffset","positionOffset","$currentCell","_getCell","currentCellWidth","rtlMultiplier","isEditingAllowed","_getCellElementFromTarget","nextCellInfo","_getNextCellByTabKey","_getColumnByCellElement","_getRowIndex","_isDataRow","_focusCell","isHighlighted","_editFocusedCell","_focusInteractiveElement","$lastInteractiveElement","_getInteractiveElement","getFirstValidCellInRow","_checkNewLineTransition","_fireFocusedCellChanging","$newCellElement","_getCellPosition","_fireFocusedRowChanging","rowIndexChanged","setFocusedColumnIndex","_processEnterKeyForDataCell","_getEnterKeyDirection","allowEditingOnEnterKey","_allowEditingOnEnterKey","_handleEnterKeyEditingCell","_startEditing","isShift","_focusEditFormCell","searchTextEditor","isCellValid","_isCellValid","$nextCell","isVerticalDirection","_fireFocusChangingEvents","_focus","isDeleting","fastEditingKey","isInteractiveElement","isExpandCommandCell","_isInsideEditForm","_focusView","_isMasterDetailCell","_clickTargetCellHandler","_isCellEditMode","setRowFocusType","setFocusedRowIndex","prevRowIndex","resetFocusedRow","_resetFocusedRow","_allowRowUpdating","skipFocusEvent","activeElementSelector","_isCellElement","_focusElement","$focusedView","getFocusedView","disableFocus","focusedView","isRowFocus","isRenderView","_needFocusEditingCell","_hasSkipRow","$focusedElementInsideCell","isFocusedElementDefined","cellEditModeHasChanges","isNewRowBatchEditMode","isNewRowInEditMode","setFocusedCellPosition","_getFixedColumnIndexOffset","_getFocusedColumnIndexOffset","_applyColumnIndexBoundaries","renderFocusState","newRowIndex","visibleColumnsCount","_hasValidCellAfterPosition","_isLastRow","_hasValidCellBeforePosition","getMaxRowIndex","lastVisibleIndex","isFirstValidCell","hasValidCells","checkingPosition","_isCellByPositionValid","visibleColumnCount","isShowWhenGrouped","isDataCell","rowItems","_isLegacyNavigation","focusedCellPosition","includeCommandCells","newFocusedCellPosition","_getNewPositionByCode","isLastCellOnDirection","_isCellInRow","visibleColumnIndex","_isAllowEditing","_startEditCell","editResult","isEditResultDeferred","isFastEditingStarted","editResultDeferred","waitTemplatesDeferred","_editingCellHandler","$inputElement","inputEvent","_getKeyPressInputValue","$widgetContainer","inputCurrentValue","fireRowEvent","isCellFocusType","newColumnIndex","prevColumnIndex","localRowIndex","$newFocusedRow","prevFocusedRowIndex","loadingOperations","getFocusedRowIndexByKey","getCell","restoreFocusableElement","$editForm","$masterDetailCell","_$cell","_processNextCellInMasterDetail","isCanceled","needTriggerPointerEventHandler","_triggerPointerDownEventHandler","updateFocusedRowIndex","updateFocusElementTabIndex","_updateFocusedCellTabIndex","cellElementsLength","updateCellTabIndex","isMasterDetailCell","isValidCell","_renderFocusByChange","hasInsertsOrRemoves","_getEditorInstance","_handleEditingNavigationMode","originalKeyHandler","isDropDownOpened","isDateBoxWithMask","_processCanceledEditCellPosition","getRowIndexCorrection","focusedRowIndexCorrection","adaptiveColumns","_showHiddenCellsInView","_hideVisibleCellInView","keyboardNavigationModule","depthFirstSearch","isCount","normalizeAggregate","_groupLevel","_totalAggregates","totalAggregates","_groupAggregates","groupAggregates","_totals","_calculateTotals","_calculateGroups","aggregates","_accumulate","_seed","_aggregate","_finalize","seedFn","stepFn","finalizeFn","aggregateIndex","fin","DATAGRID_TOTAL_FOOTER_CLASS","DATAGRID_SUMMARY_ITEM_CLASS","DATAGRID_TEXT_CONTENT_CLASS","DATAGRID_GROUP_TEXT_CONTENT_CLASS","DATAGRID_NOWRAP_CLASS","DATAGRID_FOOTER_ROW_CLASS","DATAGRID_GROUP_FOOTER_ROW_TYPE","DATAGRID_TOTAL_FOOTER_ROW_TYPE","renderSummaryCell","$summaryItems","getSummaryText","getSummaryCellOptions","getGroupAggregates","forEachGroup","applyAddedData","insertedData","applyRemovedData","removedData","updatedData","updatedItems","sortGroupsBySummaryCore","sortByGroups","sortedItems","sortGroupsBySummary","calculateAggregates","calculator","getInsertedData","getRemovedData","footerItems","needUpdateScrollLeft","_updateScrollLeftPosition","$newTable","$newRow","totalColumnIndices","_summaryGetter","summaryGetter","sortByGroupsInfo","itemsPath","totalSummary","hasOperations","_isDataColumn","isGroupFooterVisible","_isGroupFooterVisible","summaryGroupItems","afterGroupColumnIndex","_calculateSummaryCells","calculateTargetColumnIndex","summaryCellsByColumns","summaryIndex","columnCaption","summaryTotalItems","_footerItems","oldSummaryCells","_getSummaryCells","summaryCell","getUpdatedData","_prepareUnsavedDataSelector","commonSkipEmptyValues","_prepareAggregateSelector","summaryProcess","totalValue","summaryItemIndex","groupSummaryItems","_findSummaryItem","_addSortInfo","currentRemoteOperations","_getSummaryOptions","totalSummaryItems","_getAggregates","_getSummarySortByGroups","summaryItemName","_refreshSummary","_renderGroupSummaryCells","groupCellColSpan","alignByColumnCellCount","_hasAlignByColumnSummaryItems","$groupCell","_getAlignByColumnCellCount","_renderGroupSummaryCellsCore","_getSummaryCellIndex","FIRST_CELL_CLASS","LAST_CELL_CLASS","HOVER_STATE_CLASS","FIXED_COL_CLASS","FIXED_COLUMNS_CLASS","POINTER_EVENTS_NONE_CLASS","getTransparentColumnIndex","normalizeColumnWidths","fixedWidths","fixedColumnIndex","baseFixedColumns","_isFixedColumns","columnIndicesArray","isIndicesArray","transparentOffset","rowTypes","colIdx","fixedTableElement","_fixedTableElement","_partialUpdateFixedRow","needUpdateColspan","$fixedTable","$fixedDataRows","needPartialUpdate","_partialUpdateFixedTable","_correctColumnIndicesForFixedColumns","fixedCorrection","fixedCells","prevFixedColumn","columnCommand","isRowAltStyle","isSelectAllCell","isEmptyCell","isGroupCell","alignByFixedColumnCellCount","headerRowIndex","fixedCellElements","fixedColumn","getVisibleIndexByColumn","$transparentColumn","getTransparentColumnElement","positionTransparentColumn","synchronizeRows","isColumnWidthsSynced","isColumnWidthChanged","needVisibleColumns","setFixedTableColumnWidths","needSynchronizeRows","boundingClientRectElement","$fixedRowElements","fixedRowHeights","heightTable","_getClientHeight","heightFixedTable","fixedRowHeight","hWidth","_getRowVisibleColumns","columnFixingOptions","$transparentColumnElement","$fixedColumnElements","getFixedColumnElements","_fixedScrollTimeout","_detachHoverEvents","isHover","hasResizeTimeout","scrollDelay","_getScrollDelay","$nearestScrollable","nearestScrollableInstance","nearestScrollableHasVerticalScrollbar","scrollableTop","scrollableHeight","isPreventDefault","_updateFixedTablePosition","needFocus","vWidth","$fixedContent","elasticScrollTop","$scrollableContent","$scrollableContainer","maxScrollTop","_getElasticScrollTop","_applyElasticScrolling","getFixedColumnsOffset","normalizeColumnIndicesByPoints","_pointsByFixedColumns","columnFixingModule","ROWS_VIEW","FOOTER_VIEW","COLUMN_VIEWS","ADAPTIVE_NAMESPACE","ADAPTIVE_ROW_TYPE","FORM_ITEM_CONTENT_CLASS","FORM_ITEM_MODIFIED","HIDDEN_COLUMN_CLASS","ADAPTIVE_COLUMN_BUTTON_CLASS","ADAPTIVE_COLUMN_NAME_CLASS","COMMAND_ADAPTIVE_HIDDEN_CLASS","ADAPTIVE_DETAIL_ROW_CLASS","ADAPTIVE_ITEM_TEXT_CLASS","LAST_DATA_CELL_CLASS","ADAPTIVE_COLUMN_NAME","EXPAND_ARIA_NAME","COLLAPSE_ARIA_NAME","getDataCellElements","adaptiveCellTemplate","$adaptiveColumnButton","adaptiveColumnsController","toggleExpandAdaptiveDetailRow","focusCellHandler","adaptiveHidden","isAdaptiveVisible","updateHidingQueue","_hidingColumnsQueue","_hiddenColumns","_getEditMode","focusAction","_isItemModified","updateForm","renderFormTemplate","isItemEdited","_isItemEdited","_renderFormViewTemplate","percentWidths","_getItemPercentWidth","hiddenColumn","columnsCanFit","fixedColumnsWidth","columnsWithoutFixedWidthCount","_isColumnHidden","_isPercentWidth","_calculatePercentWidth","contentColumns","widthOption","columnFitted","partialWidth","resultWidth","_calculateColumnWidth","adaptiveExpandedKey","_getAdaptiveColumnVisibleIndex","_hideVisibleColumn","cssClassNameToRemove","$hiddenCommandCells","$hiddenCells","_hideVisibleColumnInView","cancelClassAdding","currentVisibleIndex","_findCellElementInRow","$rowCells","cellIsInsideGroup","groupCellLength","endGroupIndex","cssClassNameToAdd","hiddenQueue","_isVisibleColumnsValid","needHideColumn","rootElementWidth","_getCommandColumnsWidth","getVisibleContentColumns","visibleContentColumns","contentColumnsCount","_calculatePercentWidths","_getNotTruncatedColumnWidth","columnBestFitWidth","_hideAdaptiveColumn","_$itemContents","alwaysExpanded","userFormOptions","_getFormItemsByHiddenColumns","defaultFormOptions","_form","hasAdaptiveDetailRowExpanded","columnsHasHidingPriority","hideableColumns","setCommandAdaptiveAriaLabel","labelName","$adaptiveCommand","isCellOrBatchMode","createFormByHiddenColumns","hidingColumnsQueueLength","getHidingColumnsQueue","hiddenColumnsLength","getHiddenColumns","$adaptiveDetailItems","getAdaptiveDetailItems","getItemContentByColumnIndex","exportExtender","_updateColumnWidth","hasHiddenColumnsOnly","hasAdaptiveHiddenWidth","$itemContents","oldExpandRowIndex","_isForceRowAdaptiveExpand","collapseAdaptiveDetailRow","_collapseAdaptiveDetailRow","_cancelEditAdaptiveDetailRow","isAdaptiveDetailRowExpanded","expandedKey","expandRowIndex","lastRowIndex","oldExpandLoadedRowIndex","newExpandLoadedRowIndex","updateCommandAdaptiveAriaLabel","_getRevertTooltipsSelector","_updateScrollableTimeoutID","adaptiveController","oldHiddenColumns","hidingColumnsQueue","hideRedundantColumns","_showHiddenColumns","adaptivityModule","foreachColumnInfo","lastProcessedIndexes","processedColumnCount","createColumnsInfo","newInfo","columnInfo","cellColspan","DEFAULT_COLUMN_WIDTH","baseView","setScrollPosition","getWidths","_beginPageIndex","_endPageIndex","_virtualVisibleColumns","_changedTimeout","getColumnPageSize","getTotalWidth","_setScrollPositionCore","needColumnsChanged","_fireColumnsChanged","visibleColumnsHash","beginFixedColumnCount","beginFixedColumns","beginColumns","beginWidth","endFixedColumnCount","endFixedColumns","endColumns","endWidth","columnsInfo","leftFixedColumnCount","virtualColumnsModule","columnPageSize","columnRenderingThreshold","BUTTON_GROUP_WRAPPER_CLASS","BUTTON_GROUP_ITEM_CLASS","BUTTON_GROUP_FIRST_ITEM_CLASS","BUTTON_GROUP_LAST_ITEM_CLASS","BUTTON_GROUP_ITEM_HAS_WIDTH","SHAPE_STANDARD_CLASS","ButtonCollection","_prepareItemStyles","_getBasicButtonOptions","_hasCustomTemplate","ButtonGroup","buttonTemplate","_createItemClickAction","$buttons","_buttonsCollection","DROP_DOWN_BUTTON_CLASS","DROP_DOWN_BUTTON_CONTENT","DROP_DOWN_BUTTON_ACTION_CLASS","DROP_DOWN_BUTTON_TOGGLE_CLASS","DROP_DOWN_BUTTON_HAS_ARROW_CLASS","DROP_DOWN_BUTTON_POPUP_WRAPPER_CLASS","DROP_DOWN_EDITOR_OVERLAY_CLASS","DX_BUTTON_CLASS","DX_BUTTON_TEXT_CLASS","DX_ICON_RIGHT_CLASS","useSelectMode","splitButton","showArrowIcon","dropDownContentTemplate","buttonGroupOptions","_createActionClickAction","_createSelectionChangedAction","_compileKeyGetter","$listContainer","_listOptions","_escHandler","_getKey","storeKey","_renderButtonGroup","_updateArrowClass","_loadSelectedItem","_updateActionButton","_this$_loadSingleDefe","_loadSingleDeferred","_lastSelectedItemData","cachedResult","_actionClickAction","_actionItem","_actionButtonConfig","isActionButton","isToggleButton","buttonContent","$firstIcon","$textContainer","$secondIcon","_getButtonGroupItems","_buttonGroupItemClick","$buttonClicked","_fireItemClickAction","_popupOptions","_updateAriaAttributes","elementAria","owns","commonButtonAria","firstButtonAria","_getButtons","_setElementAria","_setButtonsAria","$buttonGroup","_buttonGroupOptions","_upDownKeyHandler","_tabHandler","hasArrow","isPrimitiveItem","_getDisplayValue","_fireSelectionChangedAction","_updateButtonGroup","_selectedItemKeyChanged","_actionButtonOptionChanged","_updateKeyExpr","_selectModeChanged","_updateItemCollection","prepareItems","emptyCell","defaultSetter","DATAGRID_EXPORT_MENU_CLASS","DATAGRID_EXPORT_BUTTON_CLASS","DATAGRID_EXPORT_TOOLBAR_BUTTON_NAME","DATAGRID_EXPORT_ICON","DATAGRID_EXPORT_EXCEL_ICON","DATAGRID_EXPORT_SELECTED_ICON","DATAGRID_PDF_EXPORT_ICON","initialColumnWidthsByColumnIndex","_exportController","_initialColumnWidthsByColumnIndex","_selectedRowsOnly","_getColumns","_selectionOnly","_getSelectedItems","_getAllItems","isHeadersVisible","columnStyles","getHeaderStyles","getColumnStyles","getGroupRowStyle","getHeaderRowCount","isTotalCell","_getTotalCellStyleId","getColumnsByAllRows","_correctCellIndex","gridGroupSummaryItems","isExcelJS","correctedCellIndex","columnsRow","itemValues","totalSummaryItemName","_convertFromGridGroupSummaryItems","_getGroupValue","correctCellIndex","isSummaryAlignByColumn","exportColspan","throwWarningIfNoOnExportingEvent","_headersView","currentHeaderRow","columnWidthsByColumnIndex","_getColumnWidths","_needColumnExporting","currentColspan","_calculateExportColspan","_getEmptyCell","childColumns","childColumn","isTotal","estimatedItemsCount","sourceItems","beforeGroupFooterItems","groupFooterItems","_getFooterSummaryItems","summaryValues","groupColumnCount","loadAll","_updateGroupValuesWithSummaryByColumn","_hasSummaryGroupFooters","_getItemsWithSummaryGroupFooters","_processUnExportedItems","needLoadItemsOnExportingSelectedItems","hasOnExporting","columnsLastRowVisibleColumns","getAction","_isSelectedRows","callbackList","editingButtonsUpdated","exportButton","_getExportToolbarButton","_correctItemsPosition","_getExportToolbarItems","_needDisableExportButton","toolbarButtonOptions","_widgetOptions","formatName","exportAllIcon","exportSelectedIcon","hasUnsavedChanges","isColumnLocationChanged","_isExportButtonVisible","getSortFilterValue","sortInfo","getSelector","safeValue","UiGridCoreFocusUtils","ROW_FOCUSED_CLASS","TABLE_POSTFIX_CLASS","_focusRowByIndex","getKeyboardController","_fireFocusedRowChanged","_focusRowByKey","isAutoNavigateToFocusedRow","_focusRowByIndexCore","setKeyByIndex","_isValidFocusedRowIndex","isRowFocused","_isLocalRowIndex","waitReady","isVirtualScrolling","virtualItems","virtualItemsBegin","visibleRowsCount","visiblePagesCount","_navigateToRow","isFocusedRowKeyDefined","needFocusRow","isAutoNavigate","rowIndexByKey","_navigateTo","getPageIndexByKey","isVirtualRowRenderingMode","_navigateToVirtualRow","_navigateToVisibleRow","_triggerUpdateFocusedRow","scrollToRowElement","triggerUpdateFocusedRow","scrollTopPosition","currentFocusedRowIndex","$mainRow","isMainTable","_clearPreviousFocusedRow","_prepareFocusedRow","scrollToElementVertically","$prevRowFocusedElement","focusedRow","$focusedRowTable","$firstRow","_fireFocusedCellChanged","isRowElement","sortByKey","notSortedKeys","getDataIndexGetter","notSortedKey","isPartialUpdate","isPartialUpdateWithDeleting","_updatePageIndexes","_updateFocusedRow","prevRenderingPageIndex","_lastRenderingPageIndex","renderingPageIndex","_isPagingByRendering","pagingWithoutVirtualScrolling","isReload","isValidRowIndexByKey","isValidFocusedRowIndex","isSameRowIndex","_focusRowByKeyOrIndex","getGlobalRowIndexByKey","_calculateGlobalRowIndexByGroupedData","_calculateGlobalRowIndexByFlatData","groupFilter","useGroup","_generateFilterByKey","_concatWithCombinedFilter","_generateOperationFilterByKey","isRemoteSorting","booleanFilter","_generateBooleanFilter","sortFilter","keyPart","updateFocusedRow","_setFocusedRowElementTabIndex","_findRowElementForTabIndex","_scrollToFocusOnResize","rowIndexFromOption","isPagingByRendering","currentScrollTop","resetFilterApplying","focusModule","isRowClick","_isFocusedRowInsideGroup","groupPath","expandRow","_expandGroupByPath","isGroupKey","_getGroupPath","_calculateExpandedRowGlobalIndex","dataOffset","groupContinuationCount","currentPageOffset","CLASSES","cellFocusDisabled","handleIcon","commandDrag","sortableWithoutHandle","createHandleTemplateFunc","GridCoreRowDraggingDom","_updateHandleColumn","_allowReordering","isHandleColumnVisible","_getHandleTemplate","currentSortableName","anotherSortableName","togglePointerEventsStyle","_sortableFixed","rowsViewOffset","onDraggableElementShown","$dragElement","dragElement","gridInstance","_synchronizeScrollLeftPosition","_getDraggableRowTemplate","onDragEnter","fromComponent","toComponent","onDragLeave","hasFixedSortable","_updateSortable","offsetDiff","_previousOffset","$dataGridContainer","_getDraggableGridOptions","rowDraggingModule","deviceDependentOptions","$Symbol","createMessage","Vuetify","$_alreadyWarned","generateComponentTrace","newMessage","classifyRE","classify","formatComponentName","includeFile","__file","currentRecursiveSequence","wrapErrorConstructorWithCause","WEB_ASSEMBLY","WebAssembly","exportGlobalErrorCauseWrapper","ERROR_NAME","exportWebAssemblyErrorCauseWrapper","parseStyle","styleMap","mergeTarget","frCa","genAttrs","nlBe","stubComponent","EditorClass","_renderSearch","searchBoxClassName","rootElementClassName","_$searchEditorElement","userEditorOptions","_valueChangeDeferred","_valueChangeTimeout","_getAriaTarget","_cleanAria","parentPath","defaultMessages","Yes","Close","Clear","Done","Loading","Select","Search","Back","OK","baseDictionary","getDataByLocale","_Object$entries$find","newMessages","messageLocalization","_dictionary","_localizablePrefix","localizablePrefix","localizeString","localizationKey","defaultResult","getMessagesByLocales","getDictionary","onlyNew","_getFormatterBase","_onResize","Resize","sourceRoot","esModule","media","sourceMap","styleSheet","DEBUG","idle","onIdle","onHide","onShow","keepTracking","startAtIdle","recurIdleCall","visibilityEvents","lastId","resetTimeout","webkitHidden","mozHidden","msHidden","IdleView","eventEmitter","idleTime","isIdle","isAppIdle","Sprite","sprite","play","spriteSrc","spriteId","spriteW","spriteH","spriteSpeed","frameIndex","frameLength","ticksPerFrame","numberOfFrames","frameRate","mySprite","spriteInit","spriteLoop","spriteUpdate","spriteRender","mappings","sourcesContent","locals","Guid","_generate","hoveredScrollable","activeScrollable","SCROLLABLE_SIMULATED","SCROLLABLE_SIMULATED_CURSOR","SCROLLABLE_SIMULATED_KEYBOARD","SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE","ACCELERATION","OUT_BOUNDS_ACCELERATION","MIN_VELOCITY_LIMIT","SCROLL_LINE_HEIGHT","VALIDATE_WHEEL_TIMEOUT","BOUNCE_MIN_VELOCITY_LIMIT","BOUNCE_DURATION","BOUNCE_FRAMES","BOUNCE_ACCELERATION_SUM","KEY_CODES","PAGE_UP","PAGE_DOWN","END","HOME","UP","DOWN","TAB","InertiaAnimator","VELOCITY_LIMIT","_velocity","_scrollStep","_acceleration","BounceAnimator","_crossBoundOnNextStep","_bounceLocation","Scroller","_initAnimators","_initScrollbar","_topReached","_bottomReached","_scrollProp","_inertiaAnimator","_bounceAnimator","_scrollByThumb","_visibilityModeNormalize","_scrollbarVisible","_$scrollbar","prevLocation","_suppressBounce","_bounceEnabled","_boundLocation","_moveContentByTranslator","_scaleRatio","realDimension","_getRealDimension","baseDimension","_getBaseDimension","dimensionName","translateOffset","_maxScrollPropValue","_translateOffset","_hideScrollbar","_completeDeferred","_scrollToBounds","_bounceAction","_setupBounce","boundLocation","bounceDistance","nextLocation","_stopScrolling","_prepareThumbScrolling","scrollbarClicked","_isScrollbar","_moveToMouseLocation","_thumbScrolling","_isThumb","_crossThumbScrolling","_isAnyThumbScrolling","_isThumbScrollingHandler","mouseLocation","_containerToContentRatio","_startHandler","_showScrollbar","_moveHandler","_scrollByHandler","_endHandler","_inertiaHandler","_resetThumbScrolling","_suppressInertia","_inertiaEnabled","_stopHandler","_disposeHandler","_resetScaleRatio","_updateLocation","locationChanged","_createActionsHandler","bounce","isOverflowHidden","containerScrollSize","_validateEvent","_reachedMin","_reachedMax","_cursorEnterHandler","_cursorLeaveHandler","SimulatedStrategy","_createScrollers","_attachKeyboardHandler","_attachCursorHandlers","scrollbarVisible","isAnyThumbScrolling","_getPropByDirection","isThumbScrollingVertical","isThumbScrollingHorizontal","_suppressDirections","_eachScroller","_isContent","_validDirections","_startAction","_saveActive","_resetActive","_adjustDistance","_tryGetDevicePixelRatio","_refreshCursorState","_endAction","_updateRtlConfig","_updateHandlerTimeout","_scrollByLine","_scrollByPage","_scrollToHome","_scrollToEnd","_wheelProp","_dimensionByProp","_createActionHandler","_createScrollerActions","actionHandler","scrollerX","scrollerY","_scrollOffset","_hoverHandled","$scrollable","targetScrollable","touchDirection","verticalScroller","horizontalScroller","_isHorizontalAndRtlEnabled","_rtlConfig","windowPixelRatio","_getWindowDevicePixelRatio","skipUpdating","_validateWheel","_wheelDirection","reachedMin","reachedMax","contentGreaterThanContainer","locatedNotAtBound","scrollFromMin","scrollFromMax","_validateWheelTimer","eventPropName","normalizeArray","allowAboveRoot","basename","matchedSlash","resolvedAbsolute","isAbsolute","trailingSlash","fromParts","toParts","samePartsLength","outputParts","sep","dirname","hasRoot","extname","startDot","startPart","preDotState","mm3","cm3","m3","km3","krm","tsk","msk","kkp","glas","kanna","tsp","Tbs","in3","cup","pnt","gal","ft3","yd3","PARENT_LOCALE_SEPARATOR","parentLocales","DEFAULT_LOCALE","currentLocale","isRootLocale","getNodeTypeOfComponent","usedConfigurationProps","subTree","findConfigurationComponents","hasInlineTemplate","createApp","setAppContext","compatConfig","MODE","modelValue","setCustomPluginsData","parentAppContext","childType","isConfiguration","Comment","SWATCH_CONTAINER_CLASS_PREFIX","swatchContainer","swatchClassRegex","swatchClass","viewportSwatchContainer","mapboxgl","define","workerBundleString","sharedChunk","workerUrl","bx","ax","ay","p1x","p1y","p2x","p2y","sampleCurveX","sampleCurveY","sampleCurveDerivativeX","solveCurveX","solve","WorkerGlobalScope","hardwareConcurrency","matchMedia","API_URL","FEEDBACK_URL","REQUIRE_ACCESS_TOKEN","ACCESS_TOKEN","MAX_PARALLEL_IMAGE_REQUESTS","testSupport","createTexture","bindTexture","TEXTURE_2D","texImage2D","UNSIGNED_BYTE","isContextLost","deleteTexture","_transformRequestFn","_customAccessToken","_createSkuToken","tokenExpiresAt","_skuToken","_skuTokenExpiresAt","_isSkuTokenExpired","normalizeStyleURL","_makeAPIURL","normalizeGlyphsURL","normalizeSourceURL","authority","normalizeSpriteURL","normalizeTileURL","canonicalizeTileURL","canonicalizeTileset","anonId","getStorageKey","fetchEventData","saveEventData","processRequests","postEvent","EVENTS_URL","sdkIdentifier","sdkVersion","skuId","userId","queueRequest","skuToken","postMapLoadEvent","postTurnstileEvent","lastSuccess","tokenU","OffscreenCanvas","createImageBitmap","Unknown","Style","Tile","Glyphs","SpriteImage","SpriteJSON","referrer","fetch","arrayBuffer","Headers","Response","ReadableStream","actor","accept","requestParameters","cacheControl","_oneTimeListeners","listens","_eventedParent","_eventedParentData","setEventedParent","$version","bearing","pitch","glyphs","source_vector","tms","minzoom","maxzoom","attribution","promoteId","volatile","source_raster","raster","tileSize","source_raster_dem","terrarium","mapbox","source_geojson","geojson","maximum","minimum","cluster","clusterRadius","clusterMaxZoom","clusterMinPoints","clusterProperties","lineMetrics","generateId","source_video","video","urls","source_image","heatmap","hillshade","layout_background","layout_fill","interpolated","layout_circle","layout_heatmap","layout_line","requires","layout_symbol","both","uppercase","layout_raster","layout_hillshade","filter_operator","any","within","geometry_type","function","exponential","categorical","hcl","function_stop","intensity","paint_fill","paint_line","paint_circle","paint_heatmap","paint_symbol","overridable","paint_raster","paint_hillshade","paint_background","constant","__line__","bindings","transparent","parseCSSColor","collator","resolvedLocale","fontStack","available","eachChild","outputDefined","availableImages","globals","featureState","formattedSection","_parseColorCache","canonical","geometryType","canonicalID","_evaluate","definitions","overloads","checkSubtype","diacriticSensitive","boundExpression","typeAnnotation","outputs","interpolation","interpolationFactor","needle","haystack","cases","otherwise","outputIndex$1","branches","beginIndex","lhs","rhs","hasUntypedArgument","minFractionDigits","maxFractionDigits","minimumFractionDigits","maximumFractionDigits","case","coalesce","let","literal","var","typeof","heatmapDensity","lineProgress","accumulated","ln2","log2","isSupportedScript","upcase","downcase","_warningHistory","_evaluator","_defaultValue","_enumValues","enum","resolvedImage","evaluateWithoutErrorHandling","_styleExpression","isStateDependent","zoomStops","interpolationType","_parameters","_specification","valueSpec","objectElementValidators","styleSpec","objectKey","arrayElementValidator","arrayIndex","expressionContext","propertyKey","propertyType","deserialize","needGeometry","layerType","paintProperty","layoutProperty","bboxes","_insertReadonly","extent","_forEachCell","_insertCell","_queryCell","_convertToCellCoord","_convertFromCellCoord","toArrayBuffer","ImageData","ImageBitmap","writeable","omit","_classRegistryKey","$name","lastIntegerZoom","lastIntegerZoomTime","lastZoom","lastFloorZoom","Arabic","Khmer","Hiragana","Katakana","Bopomofo","Kanbun","pluginStatus","pluginURL","applyArabicShaping","processBidirectionalText","processStyledBidirectionalText","isParsed","getPluginURL","fadeDuration","zoomHistory","crossFadingFactor","getCrossfadeParameters","specification","isDataDriven","possiblyEvaluate","transitioned","untransitioned","_properties","defaultTransitionablePropertyValues","getTransition","setTransition","prior","defaultTransitioningPropertyValues","defaultPropertyValues","isConstant","constantOr","defaultPossiblyEvaluatedValues","overrides","_calculate","overridableProperties","_featureFilter","sourceLayer","_unevaluatedLayout","_transitionablePaint","setPaintProperty","setLayoutProperty","_transitioningPaint","_crossfadeParameters","getLayoutProperty","getPaintProperty","_handleSpecialPaintPropertyUpdate","_handleOverridablePaintPropertyUpdate","updateTransitions","recalculate","isTileClipped","hasOffscreenPass","Int8","Uint8","Int16","Uint16","Int32","Uint32","Float32","_structArray","_pos1","_pos2","_pos4","_pos8","isTransferred","BYTES_PER_ELEMENT","_trim","bytesPerElement","reserve","int16","emplaceBack","emplace","float32","uint16","uint32","anchorPointX","anchorPointY","featureIndex","sourceLayerIndex","bucketIndex","anchorPoint","glyphStartIndex","vertexStartIndex","lineStartIndex","lowerSize","upperSize","lineOffsetX","lineOffsetY","writingMode","placedOrientation","crossTileID","associatedIconIndex","rightJustifiedTextSymbolIndex","centerJustifiedTextSymbolIndex","leftJustifiedTextSymbolIndex","verticalPlacedTextSymbolIndex","placedIconSymbolIndex","verticalPlacedIconSymbolIndex","textBoxStartIndex","textBoxEndIndex","verticalTextBoxStartIndex","verticalTextBoxEndIndex","iconBoxStartIndex","iconBoxEndIndex","verticalIconBoxStartIndex","verticalIconBoxEndIndex","numHorizontalGlyphVertices","numVerticalGlyphVertices","numIconVertices","numVerticalIconVertices","useRuntimeCollisionCircles","textBoxScale","textOffset0","textOffset1","collisionCircleDiameter","getoffsetX","getx","gety","gettileUnitDistanceFromAnchor","prepareSegment","MAX_VERTEX_ARRAY_LENGTH","vertexLength","vertexOffset","primitiveOffset","primitiveLength","vaos","simpleSegment","murmur3","murmur2","ids","getPositions","uniform1i","uniform1f","uniform2f","uniform3f","uniform4f","uniformMatrix4fv","uniformNames","setUniform","getBinding","patternFrom","patternTo","pixelRatioFrom","pixelRatioTo","setConstantPatternPositions","tlbr","paintVertexAttributes","paintVertexArray","populatePaintArray","_setPaintValue","updatePaintArray","paintVertexBuffer","createVertexBuffer","useIntegerZoom","layerId","zoomInPaintVertexArray","zoomOutPaintVertexArray","_setPaintValues","zoomInPaintVertexBuffer","zoomOutPaintVertexBuffer","binders","_buffers","populatePaintArrays","updatePaintArrays","defines","getBinderAttributes","getBinderUniforms","getPaintVertexBuffers","getUniforms","setUniforms","updatePaintBuffers","programConfigurations","needsUpload","_featureMap","_bufferOffset","loadGeometry","overscaling","layerIds","hasPattern","layoutVertexArray","indexArray","stateDependentLayerIds","populate","stateDependentLayers","uploadPending","uploaded","layoutVertexBuffer","indexBuffer","createIndexBuffer","hypot","createBucket","queryRadius","queryIntersectsFeature","cameraToCenterDistance","resolution","clips","evaluationKey","_updateColorRamp","colorRamp","colorRampTexture","heatmapFbo","steiner","prevZ","nextZ","rs","patternDependencies","deviation","vertices","patternFeatures","indexArray2","segments2","addFeatures","indexBuffer2","us","ls","hs","fs","_pbf","_geometry","readFields","ys","readVarint","readSVarint","vs","gs","readFloat","readDouble","readVarint64","readBoolean","VectorTile","VectorTileFeature","VectorTileLayer","As","Ss","Is","zs","Es","Cs","Ps","Ms","Bs","Ts","Vs","Fs","lineClipsArray","layoutVertexArray2","layoutVertexBuffer2","lineFeatureClips","mapbox_clip_start","mapbox_clip_end","lineClips","addLine","scaledDistance","totalDistance","updateScaledDistance","e1","e2","updateDistance","addCurrentVertex","addHalfVertex","Ds","Ls","Os","Rs","gradientVersion","stepInterpolant","gradientExpression","Us","js","qs","Ns","Ks","Gs","Zs","toLocaleUpperCase","Xs","Js","Hs","Ys","$s","Varint","Fixed64","Bytes","Fixed32","Ws","Qs","tu","realloc","writeVarint","nu","writeSVarint","au","ou","writeBoolean","su","writeFixed32","uu","writeSFixed32","writeFixed64","pu","writeSFixed64","cu","fu","yu","readMessage","du","readBytes","vu","readFixed32","readSFixed32","readFixed64","readSFixed64","readPackedVarint","readPackedSVarint","readPackedBoolean","readPackedFloat","readPackedDouble","readPackedFixed32","readPackedSFixed32","readPackedFixed64","readPackedSFixed64","writeTag","writeBytes","writeRawMessage","writeMessage","writePackedVarint","writePackedSVarint","writePackedBoolean","writePackedFloat","writePackedDouble","writePackedFixed32","writePackedSFixed32","writePackedFixed64","writePackedSFixed64","writeBytesField","writeFixed32Field","writeSFixed32Field","writeFixed64Field","writeSFixed64Field","writeVarintField","writeSVarintField","writeStringField","writeFloatField","writeDoubleField","writeBooleanField","stretchX","stretchY","paddedRect","xu","displaySize","bu","haveRenderCallbacks","addImages","iconPositions","hasRenderCallback","patchUpdatedImages","dispatchRenderCallbacks","updatedImages","patchUpdatedImage","getImage","wu","horizontalOnly","imageName","forText","forImage","Au","sectionIndex","imageSectionID","Su","fromFeature","verticalizePunctuation","Mu","positionedLines","iconsInText","verticalizable","getMaxScale","positionedGlyphs","lineOffset","getSection","getSectionIndex","getCharCode","glyph","Tu","Bu","addImageSection","addTextSection","getNextImageSectionCharCode","11","Iu","Cu","Eu","Pu","badness","priorBreak","Vu","collisionPadding","Fu","Du","layoutSize","maxZoom","Lu","uSize","uSizeT","Ou","Ru","getSizeData","evaluateSizeForFeature","evaluateSizeForZoom","SIZE_PACK_FACTOR","Uu","angleDelta","ju","Nu","Ku","Gu","Zu","Xu","Ju","Yu","$u","tex","glyphOffset","pixelOffsetTL","pixelOffsetBR","minFontScaleX","minFontScaleY","isSDF","Hu","Wu","boxStartIndex","circleDiameter","boxEndIndex","Qu","_down","rl","_up","il","al","ol","sdf","allowVerticalPlacement","textSizeData","compositeTextSizes","addSymbols","placedSymbolArray","ul","compareText","hl","yl","dynamicLayoutVertexArray","opacityVertexArray","dynamicLayoutVertexBuffer","opacityVertexBuffer","layoutAttributes","collisionVertexArray","collisionVertexBuffer","vl","collisionBoxArray","hasRTLText","sortKeyRanges","collisionCircleArray","placementInvProjMatrix","placementViewportMatrix","iconSizeData","canOverlap","sortFeaturesByKey","sortFeaturesByY","writingModes","sourceID","createArrays","glyphOffsetArray","lineVertexArray","symbolInstances","calculateGlyphDependencies","iconDependencies","glyphDependencies","getValueAndResolveTokens","hasDebugData","textCollisionBox","iconCollisionBox","destroyDebugData","addToLineVertexArray","tileUnitDistanceFromAnchor","_addCollisionDebugVertex","addCollisionDebugVertices","addDebugCollisionBoxes","generateCollisionDebugBuffers","_deserializeCollisionBoxesForSymbol","textBox","textFeatureIndex","verticalTextBox","verticalTextFeatureIndex","iconBox","iconFeatureIndex","verticalIconBox","verticalIconFeatureIndex","deserializeCollisionBoxes","collisionArrays","hasTextData","hasIconData","hasTextCollisionBoxData","hasIconCollisionBoxData","addIndicesForPlacedSymbol","getSortedSymbolIndexes","sortedAngle","symbolInstanceIndexes","addToSortKeyRanges","symbolInstanceEnd","symbolInstanceStart","featureSortOrder","MAX_GLYPHS","addDynamicAttributes","runtimeType","getOverride","hasOverride","wl","_setPaintOverrides","hasPaintOverride","_interpolationType","Al","Sl","Il","prerender","painter","zl","Cl","HTMLImageElement","El","HTMLCanvasElement","Pl","HTMLVideoElement","Ml","Bl","Tl","texture","useMipmap","pixelStoreUnpackFlipY","pixelStoreUnpack","pixelStoreUnpackPremultiplyAlpha","premultiply","texSubImage2D","isSizePowerOfTwo","generateMipmap","LINEAR_MIPMAP_NEAREST","LINEAR","texParameteri","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","Vl","_triggered","_channel","Fl","mapId","taskQueue","cancelCallbacks","receive","globalScope","Dl","targetMapId","mustQueue","sourceMapId","processTask","getWorkerSource","Ll","setSouthWest","setNorthEast","_ne","Ol","_sw","getSouthWest","getNorthEast","getNorthWest","getWest","getNorth","getSouthEast","getEast","getSouth","distanceTo","toBounds","lon","Rl","Ul","jl","ql","Nl","Kl","Gl","fromLngLat","toLngLat","toAltitude","meterInMercatorCoordinateUnits","Zl","Hl","getTilePoint","Xl","Jl","overscaledZ","scaledTo","calculateScaledKey","isChildOf","isLessThan","unwrapTo","overscaleFactor","toUnwrapped","Yl","stride","dim","_unpackTerrarium","_unpackMapbox","getUnpackVector","getPixels","backfillBorder","$l","_stringToNumber","_numberToString","Wl","_vectorTileFeature","Ql","stateChanges","deletedStates","removeFeatureState","initializeTileState","setFeatureState","coalesceChanges","ep","tileID","grid3D","featureIndexArray","rp","np","loadVTLayers","vtLayers","rawTileData","sourceLayerCoder","queryGeometry","queryPadding","cameraQueryGeometry","loadMatchingFeature","pixelPosMatrix","bucketLayerIDs","intersectionZ","lookupSymbolFeatures","hasLayer","ap","uses","buckets","expirationTime","hasSymbolBuckets","dependencies","expiredRequestCount","registerFadeDuration","timeAdded","fadeEndTime","wasRequested","loadVectorData","unloadVectorData","latestFeatureIndex","latestRawTileData","justReloaded","imageAtlas","glyphAtlasImage","imageAtlasTexture","glyphAtlasTexture","getBucket","ALPHA","prepare","querySourceFeatures","_geojsonTileLayer","patternsLoaded","setExpiryData","getExpiryTimeout","holdingForFade","symbolFadeHoldUntil","symbolFadeFinished","clearFadeHold","setHoldDuration","setDependencies","hasDependency","sp","_marks","getEntriesByName","clearMarks","clearMeasures","Actor","AlphaImage","CanonicalTileID","CollisionBoxArray","DEMData","DataConstantProperty","DictionaryCoder","EXTENT","ErrorEvent","EvaluationParameters","Evented","FeatureIndex","FillBucket","FillExtrusionBucket","ImageAtlas","ImagePosition","LineBucket","LngLat","LngLatBounds","MercatorCoordinate","ONE_EM","OverscaledTileID","Point$1","Protobuf","RGBAImage","RequestManager","RequestPerformance","ResourceType","SegmentVector","SourceFeatureState","StructArrayLayout1ui2","StructArrayLayout2f1f2i16","StructArrayLayout2i4","StructArrayLayout3ui6","StructArrayLayout4i8","SymbolBucket","Texture","Uniform1f","Uniform1i","Uniform2f","Uniform3f","Uniform4f","UniformColor","UniformMatrix4f","UnwrappedTileID","ValidationError","WritingMode","ZoomHistory","asyncAll","bezier","bindAll","cacheEntryPossiblyAdded","getActor","clearTileCache","clipLine","clone$2","collisionCircleLayout","create$1","create$2","createExpression","createLayout","createStyleLayer","cross","dot$1","emitValidationErrors","enforceCacheSizeLimit","evaluateVariableOffset","evented","featureFilter","filterObject","fromRotation","getAnchorAlignment","getAnchorJustification","getRTLTextPluginStatus","getReferrer","getVideo","muted","crossOrigin","isChar","isMapboxURL","keysDifference","makeRequest","mapObject","mercatorXfromLng","mercatorYfromLat","mercatorZfromAltitude","mvt","nextPowerOfTwo","offscreenCanvasSupported","ortho","parseGlyphPBF","pbf","performSymbolLayout","tilePixelRatio","iconsNeedLinear","compositeIconSizes","layoutTextSize","layoutIconSize","textMaxSize","sdfIcons","perspective","pick","polygonIntersectsPolygon","potpack","refProperties","registerForPluginStateChange","renderColorRamp","rotateZ","scale$1","scale$2","setCacheLimits","setRTLTextPlugin","sphericalToCartesian","sqrLen","symbolSize","transformMat3","transformMat4","triggerPluginCompletionEvent","uniqueId","validateCustomStyleLayer","validateLight","validateStyle","vectorTile","warnOnce","webpSupported","keyCache","_layerConfigs","familiesBySource","showCollisionBoxes","collectResourceTiming","returnDependencies","glyphMap","iconMap","glyphPositions","layerIndex","loadTile","resourceTiming","reloadTile","reloadCallback","abortTile","removeTile","rawImageData","offscreenCanvas","offscreenCanvasContext","_feature","rawGeometry","keycache","valuecache","fromVectorTileJs","fromGeojsonVt","GeoJSONWrapper","nodeSize","minPoints","trees","numPoints","cluster_id","point_count","point_count_abbreviated","transformed","numSimplified","numFeatures","debug","tileCoords","timeEnd","indexMaxZoom","indexMaxPoints","stats","splitTile","_geoJSONIndex","getTile","_cluster","getClusters","_limitZoom","_getOriginId","_getOriginZoom","getLeaves","_appendLeaves","_addTileFeatures","getClusterExpansionZoom","loadGeoJSON","loadData","_pendingCallback","abandoned","_pendingLoadDataParams","_loadData","superclusterOptions","geojsonVtOptions","clusterId","getClusterChildren","getClusterLeaves","layerIndexes","workerSourceTypes","workerSources","demWorkerSources","registerWorkerSource","registerRTLTextPlugin","setReferrer","setImages","setLayers","getLayerIndex","updateLayers","removedIds","loadDEMTile","getDEMWorkerSource","removeDEMTile","loadWorkerSource","importScripts","syncRTLPluginState","getAvailableImages","reduceRight","isSealed","seal","terminate","failIfMajorPerformanceCaveat","webGLContextAttributes","probablySupportsContext","supportsContext","createShader","VERTEX_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","notSupportedReason","antialias","stencil","createNS","disableDrag","enableDrag","userImage","suppressClick","mousePos","touchPos","mouseButton","InstallTrigger","callbackDispatchedThisFrame","requestors","atlasImage","setLoaded","_validateStretch","_validateContent","updateImage","removeImage","listImages","getImages","getPixelSize","bin","_updatePatternAtlas","atlasTexture","CLAMP_TO_EDGE","beginFrame","cutoff","gridOuter","gridInner","requestManager","localIdeographFontFamily","setURL","getGlyphs","requests","_tinySDF","loadGlyphRange","_doesCharSupportLocalGlyph","tinySDF","TinySDF","_transitionable","setLight","_transitioning","getLight","nextRow","dashEntry","getDash","addDash","getDashRanges","isDash","zeroLength","addRoundDash","addRegularDash","REPEAT","workerPool","actors","currentActor","acquire","vector_layers","vectorLayers","vectorLayerIds","broadcast","validateBounds","dispatcher","reparseOverscaled","_loaded","_collectResourceTiming","_tileJSONRequest","_requestManager","tileBounds","_getMapId","sourceDataType","hasTile","setSourceProperty","sourceCaches","clearTiles","setTiles","setUrl","_refreshExpiredTiles","unloadTile","roundZoom","getTileTexture","extTextureFilterAnisotropic","texParameterf","TEXTURE_MAX_ANISOTROPY_EXT","extTextureFilterAnisotropicMax","saveTileTexture","dem","needsHillshadePrepare","neighboringTiles","_getNeighboringTiles","backfilled","demTexture","fbo","_removed","_resourceTiming","workerOptions","_updateWorkerData","_finishLoading","_boundsArray","boundsBuffer","boundsSegments","triggerRepaint","pause","seek","seekable","paused","_hasInvalidDimensions","_playing","calculatePosMatrix","maxPitchScaleFactor","tilesIn","wrappedTileID","queryResults","getFeatureState","_getAndRemoveByKey","getAndRemove","dynamicDraw","unbindVAO","bindElementBuffer","bufferData","ELEMENT_ARRAY_BUFFER","DYNAMIC_DRAW","STATIC_DRAW","bufferSubData","deleteBuffer","bindVertexBuffer","ARRAY_BUFFER","enableAttributes","enableVertexAttribArray","setVertexAttribPointers","vertexAttribPointer","getDefault","setDefault","clearColor","clearDepth","clearStencil","colorMask","depthMask","stencilMask","ALWAYS","stencilFunc","stencilOp","STENCIL_TEST","depthRange","DEPTH_TEST","LESS","depthFunc","BLEND","ONE","ZERO","blendFunc","FUNC_ADD","blendEquation","CULL_FACE","BACK","cullFace","CCW","frontFace","useProgram","TEXTURE0","activeTexture","drawingBufferWidth","drawingBufferHeight","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","bindBuffer","vao","extVertexArrayObject","bindVertexArrayOES","pixelStorei","UNPACK_ALIGNMENT","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNPACK_FLIP_Y_WEBGL","framebufferTexture2D","COLOR_ATTACHMENT0","framebufferRenderbuffer","DEPTH_ATTACHMENT","framebuffer","createFramebuffer","colorAttachment","depthAttachment","deleteRenderbuffer","deleteFramebuffer","ReadOnly","ReadWrite","depthFail","pass","blendFunction","Replace","unblended","alphaBlended","backCCW","getExtension","stencilTest","depthTest","cullFaceSide","program","getParameter","MAX_TEXTURE_MAX_ANISOTROPY_EXT","extTextureHalfFloat","extRenderToTextureHalfFloat","extTimerQuery","maxTextureSize","MAX_TEXTURE_SIZE","createRenderbuffer","renderbufferStorage","COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","setCullFace","setDepthMode","setStencilMode","setColorMode","_sourceLoaded","_paused","_sourceErrored","_source","_tiles","_unloadTile","_timers","_cacheTimers","_maxTileCacheSize","_loadedParentTiles","_coveredTiles","resume","_shouldReloadOnResume","_loadTile","_abortTile","imageManager","getIds","getRenderableIds","_isIdRenderable","hasRenderableParent","findLoadedParent","_reloadTile","_tileLoaded","refreshedUponExpiration","_setTileReloadTimer","_backfillDEM","getTileByID","_retainLoadedChildren","_getLoadedTile","updateCacheSize","handleWrapJump","_prevLng","used","getVisibleUnwrappedCoordinates","coveringTiles","coveringZoomLevel","maxOverzooming","maxUnderzooming","_updateRetainedTiles","_addTile","_fadeDuration","_removeTile","_updateLoadedParentTileCache","releaseSymbolFadeTiles","getCameraQueryGeometry","pointCoordinate","getVisibleCoordinates","posMatrix","reloadTilesForDependencies","workers","workerCount","numActive","isPreloaded","setFilter","setGeoJSONSourceData","setLayerZoomRange","setLayerProperty","setCenter","setZoom","setBearing","setPitch","setSprite","setGlyphs","_distances","paddedLength","lerp","boxCells","circleCells","xCellCount","yCellCount","circleKeys","boxKeys","circles","boxUid","circleUid","labelPlaneMatrix","glCoordMatrix","signedDistanceFromCamera","useVertical","notEnoughRoom","needsFlipping","keysLength","_insertBoxCell","insertCircle","_insertCircleCell","_query","seenUids","_queryCircle","_queryCellCircle","hitTestCircle","_circleAndRectCollide","_circlesCollide","_convertToXCellCoord","_convertToYCellCoord","ignoredGrid","pitchfactor","_pitch","screenRightBoundary","screenBottomBoundary","gridRightBoundary","gridBottomBoundary","placeCollisionBox","projectAndGetPerspectiveRatio","perspectiveRatio","isInsideGrid","offscreen","isOffscreen","placeCollisionCircles","collisionDetected","queryRenderedSymbols","bucketInstanceId","insertCollisionBox","collisionGroupID","insertCollisionCircles","getViewportMatrix","placed","skipFade","invProjMatrix","viewportMatrix","crossSourceCollisions","maxGroupID","collisionGroups","predicate","collisionIndex","placements","opacities","variableOffsets","stale","commitTime","retainedQueryData","collisionCircleArrays","prevPlacement","placedOrientations","getBucketParts","bucket","textLabelPlaneMatrix","labelToScreenMatrix","textPixelRatio","partiallyEvaluatedTextSize","collisionGroup","attemptAnchorPlacement","prevAnchor","markUsedJustification","markUsedOrientation","placedGlyphBoxes","placeLayerBucketPart","zoomAtLastRecencyCheck","prevZoomAdjustment","zoomAdjustment","symbolFadeChange","lastPlacementChangeTime","updateLayerOpacities","updateBucketOpacities","hasTransitions","stillRecent","setStale","_sortAcrossTiles","_currentTileIndex","_currentPartIndex","_seenCrossTileIDs","_bucketParts","continuePlacement","placement","_currentPlacementIndex","_forceFullPlacement","_showCollisionBoxes","_done","isDone","_inProgressLayer","indexedSymbolInstances","getScaledCoordinates","findMatches","maxCrossTileID","usedCrossTileIDs","addBucket","removeBucketCrossTileIDs","removeStaleBuckets","crossTileIDs","maxBucketInstanceId","bucketsInCurrentPlacement","pruneUnusedLayers","glyphManager","lineAtlas","crossTileSymbolIndex","_serializedLayers","_order","_availableImages","_resetUpdates","_rtlTextPluginCallback","sourceId","_validateLayer","loadURL","accessToken","_request","_load","loadJSON","loadEmpty","_loadSprite","_serializeLayers","_spriteRequest","_updatedSources","_checkLoaded","_changed","_updatedLayers","_removedLayers","_updateWorkerLayers","_reloadSource","_clearSource","_updateTilesForChangedImages","_updatedPaintProps","_changedImages","_afterImageUpdated","isSourceLoaded","_layerOrderChanged","_updateLayer","moveLayer","getFilter","_flattenAndSortRenderedFeatures","addSourceType","getSourceType","setSourceType","workerSourceURL","_remove","_updateSources","_generateCollisionBoxes","_updatePlacement","pauseablePlacement","_releaseSymbolFadeTiles","getResource","fragmentSource","vertexSource","staticAttributes","staticUniforms","prelude","backgroundPattern","clippingMask","heatmapTexture","collisionBox","collisionCircle","fillOutline","fillOutlinePattern","fillPattern","fillExtrusion","fillExtrusionPattern","hillshadePrepare","lineGradient","linePattern","lineSDF","symbolIcon","symbolSDF","symbolTextAndIcon","boundProgram","boundLayoutVertexBuffer","boundPaintVertexBuffers","boundIndexBuffer","boundVertexOffset","boundDynamicVertexBuffer","boundDynamicVertexBuffer2","freshBind","numAttributes","createVertexArrayOES","currentNumAttributes","disableVertexAttribArray","deleteVertexArrayOES","createProgram","FRAGMENT_SHADER","failedToCreate","attachShader","bindAttribLocation","linkProgram","deleteShader","getUniformLocation","fixedUniforms","binderUniforms","tileZoom","u_image","u_texsize","u_scale","u_fade","u_pixel_coord_upper","u_pixel_coord_lower","LINES","TRIANGLES","LINE_STRIP","drawElements","UNSIGNED_SHORT","u_matrix","u_lightpos","u_lightintensity","u_lightcolor","u_vertical_gradient","u_opacity","u_height_factor","u_world","pixelsToGLUnits","u_camera_to_center_distance","u_scale_with_map","translatePosMatrix","u_pitch_with_map","u_device_pixel_ratio","u_extrude_scale","u_pixels_to_tile_units","u_overscale_factor","u_inv_matrix","u_viewport_size","u_color","u_overlay","u_overlay_scale","u_intensity","u_ratio","u_units_to_pixels","u_image_height","u_patternscale_a","u_patternscale_b","u_sdfgamma","u_tex_y_a","u_tex_y_b","u_mix","u_tl_parent","u_scale_parent","u_buffer_scale","u_fade_t","u_image0","u_image1","u_brightness_low","u_brightness_high","u_saturation_factor","u_contrast_factor","u_spin_weights","u_is_size_zoom_constant","u_is_size_feature_constant","u_size_t","u_size","u_pitch","u_rotate_symbol","u_aspect_ratio","u_fade_change","u_label_plane_matrix","u_coord_matrix","u_is_text","u_texture","u_gamma_scale","u_is_halo","u_texsize_icon","u_texture_icon","u_pattern_tl_a","u_pattern_br_a","u_pattern_tl_b","u_pattern_br_b","u_pattern_size_a","u_pattern_size_b","u_scale_a","u_scale_b","u_tile_units_to_pixels","u_color_ramp","u_latrange","u_light","u_shadow","u_highlight","u_accent","u_dimension","u_zoom","u_unpack","circleArray","circleOffset","invTransform","colorModeForRenderPass","shiftedAnchor","depthModeForSublayer","rotating","zooming","NEAREST","buffers","uniformValues","atlasTextureIcon","atlasInterpolation","atlasInterpolationIcon","hasHalo","TEXTURE1","stencilModeForClipping","moving","rasterBoundsBuffer","quadTriangleIndexBuffer","rasterBoundsSegments","SCISSOR_TEST","scissor","emptyTexture","debugBuffer","tileBorderIndexBuffer","debugSegments","initDebugOverlayCanvas","debugOverlayCanvas","debugOverlayTexture","renderPass","programConfiguration","HALF_FLOAT_OES","viewportBuffer","viewportSegments","opaquePassEnabledForLayer","LEQUAL","depthRangeFor3D","stencilModeFor3D","stencilConfigForOverlap","isPatternMissing","tileExtentBuffer","tileExtentSegments","setCustomLayerDefaults","customLayerMatrix","setBaseState","_tileTextures","numSublayers","depthEpsilon","gpuTimers","stencilClearMode","nextStencilID","currentStencilSource","_renderTileClippingMasks","_tileClippingMaskIDs","REPLACE","NOTEQUAL","EQUAL","GEQUAL","_showOverdrawInspector","CONSTANT_COLOR","currentLayer","opaquePassCutoff","renderLayer","showOverdrawInspector","showTileBoundaries","showPadding","gpuTimingStart","gpuTimingEnd","gpuTiming","calls","cpuTime","createQueryEXT","beginQueryEXT","TIME_ELAPSED_EXT","endQueryEXT","collectGpuTimers","queryGpuTimers","getQueryObjectEXT","QUERY_RESULT_EXT","deleteQueryEXT","fromInvProjectionMatrix","quadrant","distanceX","distanceY","intersects","maxValidLatitude","_renderWorldCopies","_minZoom","_maxZoom","_minPitch","_maxPitch","setMaxBounds","_fov","_unmodified","_edgeInsets","_posMatrixCache","_alignedPosMatrixCache","minPitch","maxPitch","renderWorldCopies","worldSize","centerOffset","fov","unmodified","latRange","_calcMatrices","rotationMatrix","_zoom","zoomScale","zoomFraction","_constrain","isPaddingEqual","interpolatePadding","scaleZoom","aabb","fullyVisible","distanceSq","unproject","setLocationAtPoint","locationCoordinate","coordinateLocation","locationPoint","coordinatePoint","pointLocation","pixelMatrixInverse","pixelMatrix","getMaxBounds","lngRange","alignedProjMatrix","projMatrix","mercatorMatrix","_constraining","getCameraPoint","_hashName","_updateHash","_updateHashUnthrottled","addTo","_onHashChange","getHashString","getZoom","getBearing","getPitch","_getCurrentHash","dragRotate","touchZoomRotate","jumpTo","linearity","deceleration","maxSpeed","_inertiaBuffer","_drainInertiaBuffer","_onMoveEnd","pinchAround","around","zoomDelta","bearingDelta","pitchDelta","panDelta","noMoveStart","getCanvasContainer","lngLats","_clickTolerance","clickTolerance","_mousedownPos","_firePreventable","touchcancel","_delayContextMenu","_contextMenuEvent","contextmenu","_el","_startPos","_lastPos","mousemoveWindow","mouseupWindow","cameraAnimation","fitScreenCoordinates","numTouches","centroid","singleTap","numTaps","lastTime","lastTap","_zoomIn","_zoomOut","easeTo","_moved","_lastPoint","_eventButton","_correctButton","_minTouches","_touches","_sum","_calculateTransform","_firstTwoTouches","_aroundCenter","_distance","_startDistance","_minDiameter","_vector","_isBelowThreshold","_firstMove","_lastPoints","gestureBeginsVertically","panStep","bearingStep","pitchStep","_panStep","_bearingStep","_pitchStep","_rotationDisabled","easeId","disableRotation","enableRotation","_delta","_defaultZoomRate","_wheelZoomRate","setZoomRate","setWheelZoomRate","_finishTimeout","isZooming","_zooming","WheelEvent","DOM_DELTA_LINE","_lastWheelEventTime","_lastValue","_onTimeout","_lastWheelEvent","_frameId","_around","_aroundPoint","_triggerRenderFrame","_targetZoom","_startZoom","_smoothOutEasing","noInertia","needsRenderFrame","_prevEase","_clickZoom","_tapZoom","_tap","_swipePoint","_swipeTouch","_tapTime","_mousePan","_touchPan","_inertiaOptions","_pitchWithRotate","pitchWithRotate","_mouseRotate","_mousePitch","_touchZoom","_touchRotate","_tapDragZoom","_handlers","_handlersById","_inertia","_bearingSnap","bearingSnap","_previousActiveHandlers","_eventsInProgress","_addDefaultHandlers","handleWindowEvent","touchPitch","scrollZoom","allowed","_updatingCamera","_fireEvents","isRotating","_blockedByActive","_getMapTouches","mergeHandlerResult","_updateMapTransform","resetNorth","_requestFrame","_renderTaskQueue","_moving","panBy","panTo","zoomTo","zoomIn","zoomOut","setPadding","rotateTo","resetNorthPitch","snapToNorth","cameraForBounds","_cameraForBoxAndBearing","fitBounds","_fitInternal","flyTo","essential","prefersReducedMotion","_normalizeBearing","_normalizeCenter","_rotating","pitching","_pitching","_padding","_easeId","_prepareEase","_ease","_fireMoveEvents","_afterEase","curve","screenSpeed","maxDuration","isEasing","_easeFrameId","_cancelRenderFrame","_onEaseFrame","_onEaseEnd","_easeStart","_easeOptions","_requestRenderFrame","_renderFrameCallback","getDefaultPosition","compact","_compactButton","_toggleAttribution","_setElementTitle","_innerContainer","_updateAttributions","_updateEditLink","_updateCompact","_attribHTML","_getUIString","_editLink","styleOwner","styleId","_hash","customAttribution","_updateLogo","_logoRequired","mapbox_logo","_cleared","_currentlyRunning","attributionControl","preserveDrawingBuffer","trackResize","refreshExpiredTiles","maxTileCacheSize","_interactive","_failIfMajorPerformanceCaveat","_preserveDrawingBuffer","_antialias","_trackResize","_crossSourceCollisions","_crossFadingFactor","_controls","_mapId","maxBounds","_setupContainer","_setupPainter","_onWindowOnline","_onWindowResize","fitBoundsOptions","_localIdeographFontFamily","addControl","logoPosition","_controlPositions","removeControl","hasControl","_containerDimensions","_resizeCanvas","setMinZoom","getMinZoom","setMaxZoom","getMaxZoom","setMinPitch","getMinPitch","setMaxPitch","getMaxPitch","getRenderWorldCopies","setRenderWorldCopies","_createDelegatedListener","delegates","_delegatedListeners","_diffStyle","_updateStyle","_lazyInitEmptyStyle","_updateDiff","isStyleLoaded","areTilesLoaded","hasImage","_canvasContainer","_detectMissingCSS","_missingCSSCanary","_contextLost","_contextRestored","_controlContainer","_onMapScroll","_frame","_styleDirty","_sourcesDirty","_placementDirty","gpuTime","layerTimes","_repaint","_fullyLoaded","loseContext","_showTileBoundaries","_showPadding","_vertices","_setCacheLimits","showCompass","showZoom","visualizePitch","_zoomInButton","_zoomOutButton","_compass","_compassIcon","_updateZoomButtons","_rotateCompassArrow","_setButtonTitle","mouseRotate","mousePitch","offTemp","_anchor","_draggable","_rotation","_rotationAlignment","rotationAlignment","_pitchAlignment","pitchAlignment","_defaultMarker","setDraggable","_onMapClick","_addDragHandler","_onUp","_onMove","getLngLat","_lngLat","setLngLat","_pos","setPopup","_onKeyPress","_originalTabIndex","togglePopup","getPopup","_pointerdownPos","_positionDelta","isDraggable","setRotation","setRotationAlignment","getRotationAlignment","setPitchAlignment","getPitchAlignment","positionOptions","enableHighAccuracy","maximumAge","trackUserLocation","showAccuracyCircle","showUserLocation","_setupUI","permissions","geolocation","_geolocationWatchID","clearWatch","_userLocationDotMarker","_accuracyCircleMarker","_onZoom","_isOutOfMapMaxBounds","longitude","latitude","_setErrorState","_watchState","_geolocateButton","_onSuccess","_finish","_lastKnownPosition","_updateCamera","_dotElement","geolocateSource","_accuracy","_updateCircleRadius","_circleElement","_onError","_clearWatch","_timeoutId","_setup","watchPosition","getCurrentPosition","setUnit","_fullscreen","_fullscreenchange","_checkFullscreenSupport","_changeIcon","fullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","webkitFullscreenEnabled","_fullscreenButton","_updateTitle","_onClickFullscreen","_getTitle","_isFullscreen","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","exitFullscreen","mozCancelFullScreen","msExitFullscreen","webkitCancelFullScreen","requestFullscreen","mozRequestFullScreen","msRequestFullscreen","webkitRequestFullscreen","closeButton","focusAfterOpen","_onClose","closeOnMove","_focusFirstElement","_trackPointer","_onMouseMove","_onMouseUp","_content","_onDrag","trackPointer","setDOMContent","setHTML","getMaxWidth","setMaxWidth","_createCloseButton","addClassName","removeClassName","toggleClassName","_closeButton","_tip","NavigationControl","GeolocateControl","AttributionControl","ScaleControl","FullscreenControl","Marker","prewarm","clearPrewarmedResources","clearStorage","enIe","uncurryThisWithBind","$default","contentProps","calculatedTopAuto","hasJustFocused","resizeTimeout","menuWidth","calcLeftAuto","calcLeft","calculatedMaxHeight","calculatedMaxWidth","nudgeWidth","pageWidth","calcTop","calcTopAuto","calcScrollPosition","tileDistanceFromMenuTop","firstTileOffsetTop","genDirectives","mouseEnterHandler","mouseLeaveHandler","callDeactivate","mobileWidth","accountingFormat","encodedCurrencySymbol","currencySymbol","encodeSymbols","am","brx","ccp","ceb","chr","dav","doi","ebu","guz","haw","kam","kgp","kln","kok","lkt","luo","luy","mai","mas","mer","mgh","mni","saq","sat","seh","ug","und","yrl","yue","CURRENCY_STYLES","MAX_FRACTION_DIGITS","detectCurrencySymbolRegex","getCurrencyFormatter","_normalizeFormatConfig","fractionDigits","minimumIntegerDigits","useGrouping","_getPrecisionConfig","_formatConfig$useCurr","useAccountingStyle","currencySign","_getCurrencySymbolInfo","_extractCurrencySymbolInfo","currencyValueString","symbolInfo","targetCurrency","closestAccountingFormat","MAX_LARGE_NUMBER_POWER","NUMERIC_FORMATS","LargeNumberFormatPostfixes","LargeNumberFormatPowers","largenumber","thousands","millions","billions","trillions","numberLocalization","numericFormats","defaultLargeNumberFormatPostfixes","_parseNumberFormatString","formatList","_calculateNumberPower","minPower","maxPower","_getNumberByPower","_formatNumber","powerPostfix","_formatNumberExponential","powString","_addZeroes","_addGroupSeparators","_getSeparators","toStandard","digits","fromFirstDigit","toFirstDigit","fromLastDigit","getNegativeEtalonRegExp","separators","digitalRegExp","negativeEtalon","numberConfig","formatterConfig","cleanedText","_calcSignificantDigits","fractional","calcDigitsAfterLeadingZeros","EXPORT_LOAD_PANEL_CLASS","_$targetElement","proxyAccessor","inheritIfRequired","normalizeStringArgument","installErrorCause","installErrorStack","FULL_NAME","IS_AGGREGATE_ERROR","STACK_TRACE_LIMIT","OPTIONS_POSITION","OriginalError","OriginalErrorPrototype","BaseError","WrappedError","relativeURL","__scrim","VOverlay","overlayColor","overlayOpacity","animationFrame","createOverlay","scrollListener","checkPath","hasScrollbar","alreadyAtStart","alreadyAtEnd","scrollingUp","scrollingDown","anchorNode","querySelectorInSameDocument","_el$getRootNode2","saveValueChangeEvent","innerWidget","optionsContainer","innerWidgetOptions","syncOptions","_silent","areValuesEmpty","_this$_valueChangeAct","_raiseValidation","prevIsEditor","newIsEditor","defaultIconSizes","defaultFontSizes","getThemeType","isMaterialTheme","isCompactTheme","getDefaultIconSize","getDefaultFontSize","isChecked","getFontSizeByIconSize","iconSize","defaultIconSize","fontToIconSizeRatio","elementRef","CheckBoxIconProps","updateFontSize","setIconFontSize","getIconSize","getComputedIconSize","newIconSize","newFontSize","iconComputedStyle","computedIconSize","editorRef","CheckBoxProps","enableThreeStateBehavior","CheckBoxPropsType","__processTwoWayProps","twoWayProps","defaultPropName","LANGUAGE_CODES","syr","quz","nso","arn","moh","qut","prs","sms","sma","smj","getLanguageId","ARABIC_ZERO_CODE","DEFINED_NUMBER_FORMTATS","fixedpoint","PERIOD_REGEXP","DAY_REGEXP","DO_REGEXP","STANDALONE_MONTH_REGEXP","HOUR_REGEXP","ANY_REGEXP","_applyPrecision","_hasArabicDigits","_convertDateFormat","_convertDateFormatToOpenXml","_getLanguageInfo","languageIDStr","languageInfo","_convertNumberFormat","excelFormat","_hasCSVInjection","_includesCSVExpression","_hasCSVQuotedInjection","textQualifier","ExportFormat","escapedTextQualifier","MAX_DIGIT_WIDTH_IN_PIXELS","MAX_EXCEL_COLUMN_WIDTH","worksheet","topLeftCell","keepColumnWidths","encodeExecutableContent","convertDateForExcelJS","excelCell","numFmt","tryConvertToExcelNumberFormat","newFormat","formatObjectConverter","convertFormat","wrapText","_excelCell$alignment","getColumn","Helpers","getLoadPanelTargetElement","getLoadPanelContainer","outlineProperties","summaryBelow","summaryRight","cellRange","dataRowsCount","setColumnsWidth","_exportAllFieldHeaders","setAlignment","fieldHeaderRowsCount","_getFieldHeaderRowsCount","getCellStyles","currentRowIndex","_isRowFieldHeadersRow","getRowAreaColCount","_exportFieldHeaders","_trySetOutlineLevel","exportRow","mergedRangesManager","applyMergedRages","worksheetViewSettings","rightToLeft","_isFrozenZone","_getWorksheetFrozenState","_trySetAutoFilter","_getFirstColumnIndex","updateMergedRanges","findMergedCellInfo","_isHeaderCell","masterCell","setNumberFormat","_trySetFont","_customizeCell","MergedRangesManager","mergedCells","mergedRanges","isCellInMergedRanges","isMasterCellOfMergedRange","allowToMergeRange","_allowToMergeRange","updateMergedCells","shouldReduceInfoRange","_isInfoCell","_allowExportRowFieldHeaders","isHeaderCell","startRowIndex","fullAddress","endRowIndex","mergeCells","autoFilterEnabled","autoFilter","ySplit","getFrozenArea","outlineLevel","_getLoadPanelTargetElement","_getLoadPanelContainer","getOwnPropertyDescriptorModule","exceptions","true","false","workbook","createReadStream","addWorksheet","sheetName","dateFormats","parserOptions","getWorksheet","sheetId","formatterOptions","dateUTC","hyperlink","formula","includeEmptyRows","eachRow","createWriteStream","dayjs","decodeAddress","nativeCol","nativeColOff","nativeRow","nativeRowOff","isCustomWidth","slideFormula","_row","_column","validateAddress","_address","Types","Null","_mergeStyle","_mergeCount","protection","effectiveType","toCsvString","Merge","isMergedTo","master","Hyperlink","_comment","note","escapeHtml","formulaType","address","definedNames","getNamesEx","removeAllNames","addEx","removeEx","dataValidations","_dataValidations","ValueType","sharedFormula","Formula","richText","RichText","sharedString","SharedString","shareType","_copyModel","_getTranslatedFormula","FormulaType","Master","Shared","None","_translatedFormula","findCell","_master","addMergeRef","releaseMergeRef","_worksheet","defn","n2l","_header","_hidden","getColumnKey","deleteColumnKey","setColumnKey","_outlineLevel","outlineLevelCol","eachCell","equivalentTo","matrixMap","decodeEx","getMatrix","addCellEx","removeCellEx","findCellEx","findCellAt","_explore","$shortRange","forEachInSheet","spliceRows","normaliseMatrix","spliceColumns","getRanges","addCell","RelationshipType","OfficeDocument","Worksheet","CalcChain","SharedStrings","Styles","Theme","DocumentType","Xlsx","ReadingOrder","LeftToRight","RightToLeft","ErrorValue","NotApplicable","Ref","Name","DivZero","Value","Num","imageId","hyperlinks","editAs","deepMerge","DEFAULT_CONFIGS","insetmode","lockText","setTLBR","_serialisedSheetName","$t$l","$b$r","$range","containsEx","encodeAddress","_cells","_commitRow","l2n","getCellEx","includeEmpty","man","rowBreaks","eachColumnKey","outlineLevelRow","$col$row","cacheState","filterButton","totalsRowLabel","totalsRowFunction","totalsRowResult","totalsRowFormula","filterHeight","totalsRow","tableHeight","autoFilterRef","tableRef","getFormula","_assign","displyName","showFirstColumn","showLastColumn","showRowStripes","showColumnStripes","company","manager","calcProperties","_worksheets","_definedNames","_xlsx","_csv","trace","tabColor","argb","orderNo","worksheets","_themes","lastModifiedBy","lastPrinted","sheets","contentStatus","themes","14","copyStyle","_workbook","_merges","defaultRowHeight","dyDescent","pageSetup","horizontalDpi","verticalDpi","fitToPage","fitToWidth","fitToHeight","pageOrder","blackAndWhite","cellComments","paperSize","showRowColHeaders","showGridLines","firstPageNumber","horizontalCentered","verticalCentered","colBreaks","headerFooter","differentFirst","differentOddEven","oddHeader","oddFooter","evenHeader","evenFooter","firstHeader","firstFooter","_media","sheetProtection","conditionalFormattings","removeWorksheetEx","_headerRowCount","cellCount","_lastRowNumber","_nextRow","_setStyleOption","findRow","_copyStyle","getRows","hasValues","getAddress","_mergeCellsInternal","unmerge","_unMergeMaster","spinCount","algorithmName","saltValue","randomBytes","hashValue","convertPasswordToHash","merges","mergeCellsWithoutStyle","_parseRows","_parseMergeCells","15","Workbook","bufferToString","stringToBuffer","getCellAt","findSheet","findSheetRow","findRowCell","19","_l2nFill","_l2n","_n2l","_level","_fill","21","createHash","getHashes","22","SaxesParser","PassThrough","asyncIterator","saxes","23","24","_encoding","toBuffer","_buffer","_buf","iRead","iWrite","bufSize","batch","corked","inPos","outPos","pipes","_getWritableBuffer","nop","_writeToBuffers","_pipe","_flush","eod","_process","25","_inPos","_grow","26","keyBy","strcmp","promiseImmediate","super_","dateToExcel","xmlDecode","F_OK","toIsoDateString","subsstr","parseBoolean","28","xmlEncode","_xml","_stack","_rollbacks","tos","leaf","openNode","writeText","closeNode","closeAll","StdDocAttributes","29","EventEmitter","zip","generateAsync","setEncoding","isPaused","unpipe","ZipWriter","jszip","31","45","47","48","49","51","52","53","54","55","56","57","58","59","61","62","67","68","69","81","CoreProperties","ExtenderProperties","Comments","VmlDrawing","Table","xform","parseOpen","parseText","parseClose","toXml","toAttribute","localSheetId","_parsedName","_parsedLocalSheetId","_parsedText","leafNode","rId","calcId","fullCalcOnLoad","date1904","defaultThemeVersion","filterPrivacy","xWindow","yWindow","firstSheet","activeTab","fileVersion","STATIC_XFORMS","workbookPr","bookViews","childXform","calcPr","printArea","printTitlesRow","printTitlesColumn","openXml","WORKBOOK_ATTRIBUTES","workbookRels","worksheetHash","lastEdited","lowestEdited","rupBuild","_richTextXform","authorId","richTextXform","COMMENTS_ATTRIBUTES","comments","41","42","43","getAnchorRect","getDefaultRect","refAddress","44","ObjectType","normalizeModel","DRAWING_ATTRIBUTES","coordsize","joinstyle","gradientshapeok","anchors","reconcile","V_SHAPE_ATTRIBUTES","obscured","fillcolor","strokecolor","conversionUnit","reverseConversionUnit","createNewModel","onParserClose","baseType","Company","Manager","HeadingPairs","TitleOfParts","PROPERTY_ATTRIBUTES","DateFormat","DateAttrs","Extension","ContentType","PartName","sharedStrings","drawings","commentRefs","commentName","CORE_PROPERTY_ATTRIBUTES","Relationship","RELATIONSHIPS_ATTRIBUTES","rels","mediaIndex","cstate","noChangeAspect","zero","anchorType","63","uri","64","addAttribute","66","picture","reconcilePicture","mergeModel","prst","71","$count","maxItems","72","73","richTextXForm","addStyleModel","ssId","siFormulae","formulae","expandToAddress","renderFormula","getStyleModel","getString","isDateFmt","excelToDate","hyperlinkMap","commentsMap","74","iconSet","iconId","toIntValue","75","v4","databarXform","iconSetXform","isExt","x14Id","renderDataBar","renderIconSet","uuid","76","fExtXform","77","sqRef","cfRule","78","cfXform","hasExtContent","79","cfvoXform","borderColorXform","negativeBorderColorXform","negativeFillColorXform","axisColorXform","minLength","toIntAttribute","toBoolAttribute","negativeBarColorSameAsPositive","negativeBarBorderColorSameAsPositive","cfvo","negativeBorderColor","negativeFillColor","toBoolValue","toStringValue","cfIconXform","toStringAttribute","showValue","82","83","dataBar","extLst","extLstRefXform","formulaXform","colorScale","colorScaleXform","renderExpression","renderCellIs","renderTop10","renderAboveAverage","renderColorScale","renderTimePeriod","dxfId","rank","aboveAverage","timePeriod","84","toFloatValue","85","colorXform","86","sqref","87","addDxfStyle","getDxfStyle","88","89","idXform","91","92","bestFit","93","dataValidation","marked","allowBlank","showInputMessage","promptTitle","showErrorMessage","errorStyle","errorTitle","_dataValidation","_formula","forEachAddress","94","95","96","97","addRollback","rollback","98","isInternalLink","99","101","102","103","104","105","useFirstPageNumber","usePrinterDefaults","107","headings","108","numRowsSeen","spans","110","defaultColWidth","customHeight","111","pageSetUpPr","outlinePr","112","selectLockedCells","selectUnlockedCells","formatCells","formatColumns","formatRows","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","pivotTables","objects","scenarios","113","frozen","frozenSplit","workbookViewId","tabSelected","showRuler","zoomScaleNormal","xSplit","activePane","activeCell","sheetView","114","115","maxRows","maxCols","ignoreNodes","sheetPr","sheetViews","sheetFormatPr","sheetData","pageMargins","printOptions","drawing","tableParts","conditionalFormatting","Type","TargetMode","vmlDrawing","drawingsCount","preImageId","WORKSHEET_ATTRIBUTES","relationships","vmlDrawings","116","117","addAttributes","118","119","120","writeXml","121","122","_textXform","_fontXform","FONT_OPTIONS","fontXform","textXform","fontNameTag","123","rPh","124","rich","_sharedStringXform","addRichText","addText","sharedStringXform","uniqueCount","125","126","horizontalValues","verticalValues","shrinkToFit","validInt","textRotation","readingOrder","127","validStyleValues","diagonal","diagonalUp","diagonalDown","128","tint","129","numFmtId","formatCode","130","fgColor","bgColor","patternType","degree","patternFill","gradientFill","validPatternValues","StopXform","PatternFillXform","GradientFillXform","131","OPTIONS","vertAlign","strike","132","getDefaultFmtId","getDefaultFmtCode","133","134","xfId","fontId","borderId","135","numFmts","fills","borders","cellStyleXfs","cellXfs","dxfs","cellStyles","tableStyles","numFmtNextId","initIndex","_addBorder","_addStyle","_addFill","weakMap","STYLESHEET_ATTRIBUTES","_addFont","_addNumFmtStr","builtinId","defaultTableStyle","defaultPivotStyle","defaultSlicerStyle","defaultTimelineStyle","Mock","autodrain","dateStyleId","_dateStyleId","136","double","singleAccounting","doubleAccounting","137","filterColumn","138","139","customFilters","colId","hiddenButton","140","141","142","143","tableColumns","tableStyleInfo","TABLE_ATTRIBUTES","totalsRowCount","totalsRowShown","headerRowCount","144","parseStream","drawingRels","worksheetRels","sheetNo","globalRels","sheetDefs","loadAsync","files","writableObjectMode","readableObjectMode","parseRels","parseWorkbook","_processWorksheetEntry","_processWorksheetRelsEntry","_processThemeEntry","_processMediaEntry","_processDrawingEntry","_processCommentEntry","_processTableEntry","_processDrawingRelsEntry","_processVmlDrawingEntry","readFile","theme1","RelType","useSharedStrings","useStyles","prepareModel","addContentTypes","addOfficeRels","addWorkbookRels","addWorksheets","addSharedStrings","addDrawings","addTables","addThemes","addStyles","addMedia","addApp","addCore","addWorkbook","145","146","CsvFormatterStream","Transform","objectMode","hasWrittenBOM","rowFormatter","RowFormatter","writeBOM","rowTransform","BOM","147","FormatterOptions","rowDelimiter","quote","quoteColumns","quoteHeaders","includeEndRowDelimiter","alwaysWriteHeaders","shouldWriteHeaders","writeHeaders","escapedQuote","148","FieldFormatter","_headers","REPLACE_REGEXP","ESCAPE_REGEXP","quoteField","shouldQuote","149","fieldFormatter","hasWrittenHeaders","isRowHashArray","isSyncTransform","_rowTransform","createTransform","callTransformer","shouldFormatColumns","checkHeaders","gatherColumns","gatherHeaders","isRowArray","150","151","writeToPath","writeToString","writeToBuffer","writeToStream","promisify","Writable","152","153","CsvParserStream","parsedRowCount","parsedLineCount","endEmitted","headersEmitted","Parser","headerTransformer","HeaderTransformer","decoder","StringDecoder","rowTransformerValidator","RowTransformerValidator","limitRows","skipRows","skipLines","rowValidator","hasHitRowLimit","wrapDoneCallback","processRows","checkAndEmitHeaders","shouldSkipLine","transformRow","pushRow","shouldEmitRows","transformAndValidate","skipRow","string_decoder","154","ParserOptions","ignoreEmpty","escapeChar","supportsComments","ltrim","renameHeaders","strictColumnHandling","discardUnmappedColumns","carriageReturn","escapedDelimiter","NEXT_TOKEN_REGEXP","155","parseString","parseFile","Readable","156","rowParser","RowParser","Scanner","removeBOM","hasMoreData","parseWithComments","parseWithoutComments","parseRow","nextCharacterToken","Token","isTokenComment","advancePastLine","lineFromCursor","hasMoreCharacters","truncateToCursor","nextNonSpaceToken","isEmptyRow","157","columnParser","ColumnParser","getStartToken","isTokenRowDelimiter","advancePastToken","isTokenCarriageReturn","shouldSkipColumnParse","isTokenDelimiter","158","startCursor","endCursor","159","160","ColumnFormatter","trimRight","161","quotedColumnParser","QuotedColumnParser","nonQuotedColumnParser","NonQuotedColumnParser","isTokenQuote","advanceToToken","162","columnFormatter","163","foundClosingQuote","gatherDataBetweenQuotes","advanceTo","checkForMalformedColumn","isTokenEscapeCharacter","164","165","166","receivedHeaders","shouldUseFirstRow","processedFirstRow","setHeaders","headersTransform","shouldMapRow","processRow","mapHeaders","167","_rowValidator","isSyncValidate","callValidator","168","169","170","bignum","decoders","encoders","171","_createNamed","_initNamed","_getDecoder","_getEncoder","172","Reporter","isEncoderBuffer","DecoderBuffer","isDecoderBuffer","reporter","_reporterState","EncoderBuffer","174","_baseState","enc","reverseArgs","choice","useDecoder","explicit","implicit","_useArgs","_decode","wrapResult","enterKey","_peekTag","_decodeGeneric","_decodeChoice","enterObject","_decodeTag","_getUse","leaveObject","exitKey","leaveKey","_decodeList","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeBool","_decodeInt","_use","_createEncoderBuffer","_encode","_encodeValue","_skipDefault","_encodeChoice","_encodePrimitive","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool","_isNumstr","_isPrintstr","175","rethrow","pathLen","176","tagClass","tagClassByName","tagByName","177","_reverse","der","178","primitive","tagStr","_skipUntilEnd","unused","179","pem","180","181","defaultBuffer","182","183","184","isBN","BN","wordSize","cmp","_initNumber","_initArray","_parseHex","_parseBase","imuln","_iaddn","_expand","_normSign","isZero","modn","idivn","toArrayLike","andln","iushrn","clz32","_countBits","_zeroBits","bitLength","zeroBits","toTwos","inotn","iaddn","fromTwos","testn","notn","ineg","isNeg","iuor","ior","uor","iuand","iand","uand","iuxor","ixor","uxor","setn","iadd","isub","imul","mulp","mulTo","makeRBT","revBin","permute","guessLen13b","conjugate","normalize13b","convert13b","mulf","muln","sqr","isqr","iushln","ishln","ishrn","shln","ushln","shrn","ushrn","imaskn","maskn","isubn","addn","subn","iabs","_ishlnsubmul","_wordDiv","divmod","divn","umod","divRound","egcd","isEven","isOdd","gcd","_invmp","cmpn","invm","bincn","ucmp","gtn","gten","gte","ltn","lten","lte","eqn","toRed","convertTo","_forceRed","fromRed","convertFrom","forceRed","redAdd","redIAdd","redSub","redISub","redShl","shl","redMul","_verify2","redIMul","redSqr","_verify1","redISqr","redSqrt","redInvm","redNeg","redPow","k256","p224","p192","p25519","_tmp","_prime","prime","r2","rinv","minv","ireduce","imulK","_strip","mont","185","186","modrn","_toArrayLikeLE","_toArrayLikeBE","187","rand","Rand","_rand","getBytes","getByte","188","SBOX","INV_SBOX","SUB_MIX","INV_SUB_MIX","keySize","_nRounds","_keySchedule","_invKeySchedule","encryptBlockRaw","encryptBlock","decryptBlock","scrub","AES","190","_cipher","_ghash","_finID","_prev","_secCache","_decrypt","_alen","_mode","_authTag","_called","encrypt","_final","getAuthTag","setAuthTag","setAAD","191","createCipher","Cipher","createCipheriv","Cipheriv","createDecipher","Decipher","createDecipheriv","Decipheriv","listCiphers","getCiphers","192","_last","_autopadding","iv","decrypt","setAutoPadding","evp_bytestokey","193","194","ghash","_multiply","195","196","197","198","199","200","201","202","ECB","CBC","CFB","CFB8","CFB1","OFB","CTR","GCM","203","cipher","aes128","aes192","aes256","204","205","206","207","instantiate","EDE","DES","_des","des","des3","208","209","modulus","prime1","prime2","blinder","publicExponent","unblinder","exponent1","exponent2","getr","randombytes","210","211","sha224WithRSAEncryption","sha256WithRSAEncryption","sha384WithRSAEncryption","sha512WithRSAEncryption","sha256","sha224","sha384","sha512","DSA","ripemd160WithRSA","md5WithRSAEncryption","212","213","_hashType","_tag","_signType","_write","verify","Sign","Verify","createSign","createVerify","214","keyFromPrivate","toDER","priv_key","getKey","makeKey","elliptic","215","subjectPrivateKey","pub_key","216","217","218","fillLast","lastNeed","lastTotal","lastChar","219","220","copyWithin","221","hashMode","_finalOrDigest","__final","_decoder","_transform","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","245","246","247","248","249","250","252","Pebble","253","256","257","258","259","260","261","262","263","264","265","266","267","268","269","270","271","272","273","274","275","276","277","278","279","280","281","282","283","284","285","286","287","288","289","290","291","292","293","294","295","296","297","298","dup","299","300","301","302","WebKitMutationObserver","303","304","305","306","307","308","309","310","311","312","313","314","315","316","317","318","319","320","321","322","323","324","PromiseRejectionEvent","CONSTRUCTOR","REJECTION_EVENT","SUBCLASSING","325","326","327","328","tail","329","330","331","332","333","334","335","336","337","338","339","clearImmediate","Dispatch","340","341","342","343","344","345","346","347","348","349","350","351","352","353","354","355","356","357","358","359","360","361","362","363","364","365","366","367","368","369","370","rejection","notified","reactions","371","372","373","374","375","376","fromCodePoint","377","378","379","380","381","382","383","384","secp256k1","secp224r1","prime256v1","prime192v1","ed25519","secp384r1","secp521r1","curveType","p256","secp256r1","secp192r1","p384","p521","generateKeys","genKeyPair","getPublicKey","computeSecret","keyFromPublic","getPublic","getPrivate","getX","getPrivateKey","setPublicKey","_importPublic","setPrivateKey","_importPrivate","385","386","ripemd160","387","388","_alg","_ipad","_opad","389","390","rng","pseudoRandomBytes","prng","Hash","createHmac","Hmac","pbkdf2","pbkdf2Sync","DiffieHellmanGroup","createDiffieHellmanGroup","getDiffieHellman","createDiffieHellman","DiffieHellman","createECDH","publicEncrypt","privateEncrypt","publicDecrypt","privateDecrypt","randomFill","randomFillSync","createCredentials","DH_CHECK_P_NOT_SAFE_PRIME","DH_CHECK_P_NOT_PRIME","DH_UNABLE_TO_CHECK_GENERATOR","DH_NOT_SUITABLE_GENERATOR","NPN_ENABLED","ALPN_ENABLED","RSA_PKCS1_PADDING","RSA_SSLV23_PADDING","RSA_NO_PADDING","RSA_PKCS1_OAEP_PADDING","RSA_X931_PADDING","RSA_PKCS1_PSS_PADDING","POINT_CONVERSION_COMPRESSED","POINT_CONVERSION_UNCOMPRESSED","POINT_CONVERSION_HYBRID","randomfill","391","$x","$offset","$d","$y","$M","$D","$W","$H","$m","$ms","$utils","$g","$locale","weekStart","isDayjs","392","dayjs_plugin_customParseFormat","afternoon","SS","SSS","HH","DD","MMM","MMMM","YY","YYYY","ZZ","customParseFormat","393","dayjs_plugin_utc","$localOffset","394","395","_cbcInit","_cbcState","396","bufferOff","_updateDecrypt","_updateEncrypt","_flushBuffer","_finalEncrypt","_finalDecrypt","_pad","_unpad","397","_desState","deriveKeys","pc1","r28shl","pc2","_encrypt","substitute","rip","398","ciphers","_edeState","399","padSplit","400","gen","401","_pub","_priv","setGenerator","__prime","_primeLen","_primeCode","simpleSieve","fermatTest","__gen","_gen","getPrime","getGenerator","402","403","modp1","modp2","modp5","modp14","modp15","modp16","modp17","modp18","404","405","curves","eddsa","brorand","406","getNAF","getJSF","two","pointFromJSON","gRed","_wnafT1","_wnafT2","_wnafT3","_wnafT4","_bitLength","redN","_maxwellTrick","precomputed","_fixedNafMul","_getDoubles","jpoint","mixedAdd","toP","_wnafMul","_getNAFPoints","wnd","dblp","_wnafMulAdd","toJ","BasePoint","decodePoint","pointFromX","encodeCompressed","getY","precompute","doubles","naf","beta","_getBeta","_hasDoubles","dbl","407","twisted","mOneA","oneC","zOne","_mulA","_mulC","pointFromY","isInfinity","fromJSON","_extDbl","_projDbl","_extAdd","_projAdd","mulAdd","jmulAdd","eqXToP","408","edwards","409","i4","a24","diffAdd","jumlAdd","410","tinv","zeroA","threeA","endo","_getEndomorphism","_endoWnafT1","_endoWnafT2","inf","_getEndoRoots","lambda","_getEndoBasis","_endoSplit","_endoWnafMulAdd","_zeroDbl","_threeDbl","_dbl","trpl","411","PresetCurve","412","nh","keyPair","fromPrivate","fromPublic","pers","persEnc","entropy","hmacStrength","entropyEnc","_truncateToN","recoveryParam","recoverPubKey","getKeyRecoveryParam","413","priv","pub","privEnc","pubEnc","derive","414","_importDER","place","415","parseBytes","pointClass","encodingLength","keyFromSecret","hashInt","messagePrefix","encodePoint","pubBytes","makeSignature","Rencoded","intFromLE","fromSecret","encodeInt","decodeInt","isPoint","416","cachedProperty","_secret","secret","_pubBytes","privBytes","getSecret","417","_R","_S","_Rencoded","_Sencoded","Sencoded","toBytes","418","419","zero2","420","421","main","lint","repository","bugs","homepage","devDependencies","brfs","coveralls","eslint","grunt","istanbul","mocha","422","_eventsCount","_maxListeners","defaultMaxListeners","newListener","warned","wrapFn","setMaxListeners","getMaxListeners","prependListener","prependOnceListener","removeAllListeners","rawListeners","listenerCount","423","424","425","_block","_blockOffset","_finalized","_digest","426","sha","ripemd","hmac","sha1","427","pendingTotal","outSize","padLength","endian","_delta8","_delta32","BlockHash","join32","428","429","rotl32","sum32","sum32_3","sum32_4","toHex32","split32","430","431","sum32_5","ft_1","432","433","ch32","maj32","s0_256","s1_256","g0_256","g1_256","434","435","rotr64_hi","rotr64_lo","shr64_hi","shr64_lo","sum64","sum64_hi","sum64_lo","sum64_4_hi","sum64_4_lo","sum64_5_hi","sum64_5_lo","_prepareBlock","436","rotr32","p32","437","htonl","zero8","438","predResist","outLen","minEntropy","_reseed","reseedInterval","nonceEnc","_hmac","reseed","439","440","441","JSZip","getTypeOf","uint8array","compressedSize","uncompressedSize","crc32","compressedContent","getContentWorker","uncompressWorker","streamInfo","getCompressedWorker","withStreamInfo","createWorkerFrom","compressWorker","STORE","magic","DEFLATE","createFolders","compressionOptions","unixPermissions","dosPermissions","lie","_pako","_pakoAction","_pakoOptions","processChunk","_createPako","cleanUp","onData","pako","utf8encode","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","bytesWritten","zipComment","zipPlatform","encodeFileName","streamFiles","contentBuffer","dirRecords","currentSourceOffset","entriesCount","currentFile","_sources","openedSource","closedSource","DATA_DESCRIPTOR","CENTRAL_DIRECTORY_END","prepareNextSource","registerPrevious","generatedError","generateWorker","_compressWorker","external","decompressed","checkCRC32","optimizedBinaryString","decodeFileName","utf8decode","prepareContent","fileNameStr","fileCommentStr","unsafeOriginalName","_upstreamEnded","_bindStream","_stream","_helper","_read","newBufferFrom","allocBuffer","folder","generateInternalStream","checkSupport","generateNodeStream","toNodejsStream","byteAt","lastIndexOfSignature","readAndCheckSignature","readData","checkIndex","setIndex","readDate","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","destType","dataIsReady","_tickScheduled","_tickAndRepeat","isFinished","_tick","extraStreamInfo","mergeStreamInfo","nodestream","_internalType","_outputType","_mimeType","_worker","newBlob","arraybuffer","nodebuffer","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","leftOver","applyFromCharCode","Utf8DecodeWorker","Utf8EncodeWorker","stringifyByChunk","stringifyByChar","applyCanBeUsed","MAX_VALUE_16BITS","MAX_VALUE_32BITS","readAsArrayBuffer","setimmediate","checkSignature","reader","isSignature","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","zip64ExtensibleData","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","processAttributes","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","isEncrypted","bitFlag","useUTF8","fileNameLength","versionMadeBy","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","fileComment","extraFields","findExtraFieldUnicodePath","findExtraFieldUnicodeComment","_dataBinary","internalStream","_decompressWorker","nodeStream","outcome","callFulfilled","otherCallFulfilled","callRejected","otherCallRejected","chunkSize","windowBits","memLevel","gzip","chunks","strm","avail_out","deflateInit2","deflateSetHeader","string2buf","deflateSetDictionary","_dict_set","next_in","avail_in","Buf8","next_out","deflate","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","Deflate","deflateRaw","inflateInit2","Z_OK","inflateGetHeader","Z_FINISH","Z_NO_FLUSH","binstring2buf","inflate","Z_NEED_DICT","inflateSetDictionary","Z_BUF_ERROR","Z_STREAM_END","Z_SYNC_FLUSH","utf8border","buf2string","arraySet","inflateEnd","Inflate","inflateRaw","ungzip","setTyped","Buf16","Buf32","Z_PARTIAL_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_DEFAULT_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_DEFAULT_STRATEGY","Z_BINARY","Z_TEXT","Z_UNKNOWN","Z_DEFLATED","pending_buf","pending_out","total_out","_tr_flush_block","block_start","strstart","max_chain_length","prev_length","nice_match","w_size","w_mask","good_match","lookahead","match_start","window_size","hash_size","total_in","ins_h","hash_shift","hash_mask","match_length","_tr_tally","max_lazy_match","last_lit","prev_match","match_available","good_length","max_lazy","nice_length","max_chain","pending_buf_size","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","heap","heap_len","heap_max","l_buf","lit_bufsize","d_buf","opt_len","static_len","bi_buf","bi_valid","data_type","_tr_init","deflateInit","deflateReset","deflateResetKeep","hcrc","_tr_align","_tr_stored_block","deflateInfo","xflags","extra_len","dmax","wsize","whave","wnext","lencode","distcode","lenbits","distbits","sane","havedict","ncode","nlen","ndist","have","work","lendyn","distdyn","was","inflateReset","inflateReset2","inflateResetKeep","inflateInit","inflateInfo","static_tree","extra_bits","extra_base","max_length","has_stree","dyn_tree","max_code","stat_desc","442","443","Cache","444","445","446","447","448","449","450","451","_randbelow","_randrange","getDivisor","452","453","454","455","456","certificate","int","RSAPrivateKey","RSAPublicKey","bitstr","PublicKey","objid","null_","octstr","PrivateKey","EncryptedPrivateKey","DSAPrivateKey","DSAparam","ECPrivateKey","namedCurve","457","utcTime","utctime","generalTime","gentime","setof","seqof","rdnSequence","458","459","passphrase","tbsCertificate","subjectPublicKeyInfo","subjectPublicKey","kdeparams","salt","iters","algo","460","461","importKey","deriveBits","iterations","462","463","464","md5","rmd160","ipad1","ipad2","opad","blocksize","465","466","467","468","469","470","471","472","473","474","475","476","477","478","allowHalfOpen","readable","_writableState","highWaterMark","getBuffer","_readableState","479","480","ReadableState","debuglog","getHighWaterMark","ERR_INVALID_ARG_TYPE","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","pipesCount","flowing","reading","needReadable","emittedReadable","readableListening","resumeScheduled","emitClose","autoDestroy","defaultEncoding","awaitDrain","readingMore","_destroy","consume","finished","_undestroy","undestroy","stdout","stderr","hasUnpiped","needDrain","_fromList","481","ERR_MULTIPLE_CALLBACK","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","_transformState","transforming","writecb","writechunk","afterTransform","needTransform","writeencoding","482","pendingcb","corkedRequestsFree","WritableState","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","finalCalled","ending","decodeStrings","writing","bufferProcessing","onwrite","writelen","errorEmitted","lastBufferedRequest","prefinished","bufferedRequestCount","writev","_writev","isBuf","allBuffers","hasInstance","cork","uncork","setDefaultEncoding","483","484","_getString","_getBuffer","customInspect","485","486","ERR_STREAM_PREMATURE_CLOSE","req","setHeader","487","488","ERR_MISSING_ARGS","489","ERR_INVALID_OPT_VALUE","490","491","Stream","pipeline","492","_invoke","__await","_sent","dispatchException","abrupt","resultName","nextLoc","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","completion","isGeneratorFunction","awrap","AsyncIterator","rval","delegateYield","regeneratorRuntime","493","494","495","kStringMaxLength","MAX_LENGTH","MAX_STRING_LENGTH","496","isS","isNameStartChar","isNameChar","S_LIST","NAME_RE","isNCNameStartChar","isNCNameChar","NC_NAME_RE","amp","quot","apos","EVENTS","xmldecl","processinginstruction","doctype","opentagstart","opentag","closetag","cdata","fragmentOpt","xmlnsOpt","trackPosition","nameStartCheck","nameCheck","isName","processAttribs","processAttribsNS","pushAttrib","pushAttribNS","additionalNamespaces","processAttribsPlain","pushAttribPlain","stateTable","sBegin","sBeginWhitespace","sDoctype","sDoctypeQuote","sDTD","sDTDQuoted","sDTDOpenWaka","sDTDOpenWakaBang","sDTDComment","sDTDCommentEnding","sDTDCommentEnded","sDTDPI","sDTDPIEnding","sText","sEntity","sOpenWaka","sOpenWakaBang","sComment","sCommentEnding","sCommentEnded","sCData","sCDataEnding","sCDataEnding2","sPIFirstChar","sPIRest","sPIBody","sPIEnding","sXMLDeclNameStart","sXMLDeclName","sXMLDeclEq","sXMLDeclValueStart","sXMLDeclValue","sXMLDeclSeparator","sXMLDeclEnding","sOpenTag","sOpenTagSlash","sAttrib","sAttribName","sAttribNameSawWhite","sAttribValue","sAttribValueQuoted","sAttribValueClosed","sAttribValueUnquoted","sCloseTag","sCloseTagSawWhite","_closed","openWakaBang","piTarget","topNS","chunkPosition","prevI","carriedFromPrevious","forbiddenState","attribList","reportedTextBeforeRoot","reportedTextAfterRoot","closedRoot","sawRoot","xmlDeclPossible","xmlDeclExpects","entityReturnState","defaultXMLVersion","forceXMLVersion","setXMLVersion","positionAtNewLine","xmlDecl","ENTITIES","readyHandler","getCode","getCodeNorm","currentXMLVersion","getCode10","getCode11","skipSpaces","unget","captureTo","doctypeHandler","captureToChar","handleTextInRoot","handleTextOutsideRoot","parseEntity","textHandler","commentHandler","cdataHandler","piHandler","xmldeclHandler","captureNameChars","openTagStartHandler","openTag","openSelfClosingTag","closeTag","qname","attributeHandler","endHandler","resolvePrefix","isSelfClosing","openTagHandler","closeTagHandler","497","_finalSize","498","499","500","501","_h","502","503","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_fl","_gl","_hl","504","505","_isStdio","506","507","508","509","510","readableHighWaterMark","511","512","writableHighWaterMark","513","514","515","516","517","518","519","520","521","522","523","_clearFn","enroll","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","524","525","526","527","noDeprecation","throwDeprecation","traceDeprecation","stylize","showHidden","NODE_DEBUG","underline","inverse","null","528","529","530","531","532","533","534","535","536","clockseq","msecs","nsecs","537","538","DNS","539","540","541","542","543","CHAR","NAME_START_CHAR","NAME_CHAR","CHAR_RE","S_RE","NAME_START_CHAR_RE","NAME_CHAR_RE","NMTOKEN_RE","544","RESTRICTED_CHAR","RESTRICTED_CHAR_RE","isRestrictedChar","isCharAndNotRestricted","545","NC_NAME_START_CHAR","NC_NAME_CHAR","NC_NAME_START_CHAR_RE","NC_NAME_CHAR_RE","nodesByEvent","subscribeNodesDisposing","unsubscribeNodesDisposing","prevented","lastFiredEvent","onNodeRemove","clickHandler","eventAlreadyFired","DXCLICK_FIRED","leftButton","ClickEmitter","desktopDevice","blurPrevented","filteredGroup","isCountQuery","_query$setLangParams","setLangParams","ResizeObserverMock","ResizeObserverSingleton","ResizeObserver","_callbacksMap","_observer","_this$_callbacksMap$g","resizeObserverSingleton","_assertClassBrand","NUMBER_SERIALIZATION_FORMAT","DATE_SERIALIZATION_FORMAT","DATETIME_SERIALIZATION_FORMAT","ISO8601_PATTERN","ISO8601_TIME_PATTERN","ISO8601_PATTERN_PARTS","DATE_SERIALIZATION_PATTERN","MILLISECOND_LENGHT","skipISO8601Parsing","parseISO8601String","parseDate","getTimePart","isDefaultSerializationFormat","timeZoneHour","timeZoneMinute","correctYear","getIso8601Format","enIn","timeIntervals","toMilliseconds","DAYS_IN_WEEK","THURSDAY_WEEK_NUMBER","SUNDAY_WEEK_NUMBER","USUAL_WEEK_COUNT_IN_YEAR","getDatesInterval","intervalUnit","millisecondCount","withWeeks","dateUnitCount","maxInterval","tickIntervalToFormatMap","getQuarter","getFirstQuarterMonth","withCorrection","firstQuarterMonth","oldDate","getFirstWeekDate","setToDayEnd","getTimezonesDifference","intervals","viewType","getLastMonthDay","resultDate","typeView","getDifferenceInMonthForCells","intervalString","startDecadeDate1","startDecadeDate2","startCenturyDate1","startCenturyDate2","getUTCTime","getDayNumber","getFirstDateInYear","getLastDateInYear","getDayWeekNumber","firstWeekDayInYear","lastWeekDayInYear","daysInFirstWeek","lastDateInPreviousYear","isSunday","isThursday","_lastDateInPreviousYear","normalizeDateByWeek","differenceInDays","intervalsOverlap","firstMin","firstMax","secondMin","secondMax","dateTimeFromDecimal","roundDateByStartDayHour","startDayHour","trial","roundToHour","makeDate","getMachineTimezoneName","sameMonth","DATAGRID_SELECTION_DISABLED_CLASS","DATAGRID_GROUP_OPENED_CLASS","DATAGRID_GROUP_CLOSED_CLASS","NO_DATA_CLASS","SCROLLING_MODE_OPTION","ROW_RENDERING_MODE_OPTION","DATE_INTERVAL_SELECTORS","getIntervalSelector","nameIntervalSelector","equalSelectors","selector1","selector2","editorData","filter1","filter2","normalizeGroupingLoadOptions","noDataClass","noDataElement","_getNoDataText","changeNames","changesWithChangeNamesCount","sortParameters1","sortParameters2","ignoreIsExpanded","pointCreated","notCreatePoint","prevItemOffset","isSelectTextOnEditingStart","hasResizableColumns","$grid","getPixelRatio","lookupDataSourceOptions","cachedUniqueRelevantItems","previousTake","previousSkip","hasGroupPaging","hasLookupOptimization","sliceItems","canUseCache","flatMap","newDataSource","logWarning","specificName","logSpecificDeprecatedWarningIfNeed","getMarkup","fixNamespaces","decodeHtmlEntities","HIDDEN_FOR_EXPORT","getSvgMarkup","getSvgElement","getKeyWrapper","getSameNewByOld","findChanges","isItemEquals","oldIndexByKey","addedCount","oldNextIndex","nextOldItem","isRemoved","oldIndex","DRAGGABLE","DRAGEND_EVENT_NAME","DRAG_ENTER_EVENT_NAME","DRAGEND_LEAVE_EVENT_NAME","POINTERDOWN_EVENT_NAME","KEYDOWN_EVENT_NAME","CLONE_CLASS","getMousePosition","_$scrollableAtPointer","_preventScroll","_scrollValue","_overFlowAttr","_sizeAttr","_scrollSizeProp","_clientSizeProp","_limitProps","mousePosition","isScrollableFound","isTargetOverOverlayWrapper","isTargetOverOverlayContent","_trySetScrollable","_scrollSpeed","distanceToBorders","isScrollable","_calculateDistanceToBorders","_calculateScrollSpeed","areaBoundingRect","nextScrollPosition","_nextScrollPosition","dragMoveArgs","_dragMoveArgs","_dragMoveHandler","scrollableSize","ScrollAnimator","horizontalScrollHelper","_horizontalScrollHelper","verticalScrollHelper","_verticalScrollHelper","scrollByStep","Draggable","dragEnter","dragLeave","sourceEvent","sourceDraggable","_getSourceDraggable","_fireRemoveEvent","onDragCancel","onCancelByEsc","onDrop","boundOffset","allowMoveByClick","_scrollAnimator","_initScrollTop","_initScrollLeft","_normalizeCursorOffset","dragElementOffset","_dragElementIsCloned","normalizedCursorOffset","currentLocate","_initialLocate","_getNormalizedCursorOffset","_calculateElementOffset","_startPosition","itemsSelector","_getItemsSelector","targetGroup","sourceGroup","_getScrollable","isOutsideScrollable","_dragEnterHandler","_dragLeaveHandler","_keydownHandler","_$dragElement","_getDragTemplateArgs","_toggleDraggingClass","_toggleDragSourceClass","_$sourceElement","$sourceElement","_getSourceElement","_getAction","_getDraggableElement","dragInProgress","_isValidElement","dragStartArgs","_getDragStartArgs","_setSourceDraggable","_hasClonedDraggable","_getScrollableScrollTop","_getScrollableScrollLeft","_getDraggableElementOffset","_createDragElement","_setGestureCoverCursor","isFixedPosition","_initPosition","_getAreaOffset","_getBoundOffset","areaWidth","areaHeight","startOffset_left","startOffset_top","_startAnimator","initialOffsetX","initialOffsetY","initScrollTop","initScrollLeft","targetDraggable","_getTargetDraggable","allObjects","updateScrollable","fromData","toData","dragEndEventArgs","dropEventArgs","needRevertPosition","dragEnd","_revertItemToInitialPosition","_resetDragOptions","$sourceDraggableElement","$targetDraggableElement","firstWidgetElement","isTargetOverItself","isTargetOverNestedDraggable","_fireDragEnterEvent","_isTargetOverAnotherDraggable","_setTargetDraggable","_fireDragLeaveEvent","_resetTargetDraggable","_keydownEscapeHandler","dragCancelEventArgs","_resetDragElement","_stopAnimator","_resetSourceElement","_resetSourceDraggable","SORTABLE","PLACEHOLDER_CLASS","getScrollableBoundary","Sortable","_sourceScrollHandler","_handleSourceScroll","_sourceScrollableInfo","onPlaceholderPrepared","dropInsideItem","itemPoints","fromIndexOffset","autoUpdate","draggableElementSize","_$placeholderElement","_isIndicateMode","_$modifiedItem","_modifiedItemMargin","_getPrevVisibleItem","_updateItemPoints","_subscribeToSourceScroll","_getElementIndex","sourceScrollableInfo","scrollProp","_correctItemPoints","_movePlaceholder","lastItemPoint","_isVerticalOrientation","sourceElementSize","scrollSize","lastPointPosition","freeSize","_getItems","$sortable","_unsubscribeFromSourceScroll","$targetDraggable","itemPoint","cancelAdd","cancelRemove","isSourceDraggable","_allowDrop","_fireAddEvent","_moveItem","_fireReorderEvent","cursorPosition","_updatePlaceholderPosition","$placeholderContainer","draggableVisibleIndex","visibleItemElements","visibleItemCount","$draggableItem","needCorrectLeftPosition","needCorrectTopPosition","_isValidPoint","_getItemPoints","positionPropName","skipOffsetting","isAnotherDraggable","_getActualFromIndex","_normalizeToIndex","placeholderElement","_$scrollable","scrollableWidth","overflowLeft","overflowRight","$placeholderElement","_makeWidthCorrection","$prevTargetItemElement","$targetItemElement","_moveItemCore","$targetItem","prevItem","isDragSource","$fromElement","_optionChangedDropInsideItem","_optionChangedToIndex","scrollContainer","clientRect","showPlaceholder","_moveItems","_updateDragSourceClass","_createPlaceholder","prevVisibleItemElement","_updatePlaceholderSizes","_isPositionVisible","isLastVerticalPosition","outerPlaceholderHeight","_makeLeftCorrection","prevToIndex","_getDraggableElementSize","prevPositions","animationConfig","OurVue","registerComponents","$_vuetify_subcomponents","$_vuetify_installed","vuetify","$ssrContext","isHydrating","dataIterator","dataTable","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","dataFooter","itemsPerPageAll","nextPage","prevPage","lastPage","datePicker","itemsSelected","nextMonthAriaLabel","nextYearAriaLabel","prevMonthAriaLabel","prevYearAriaLabel","carousel","moreEvents","prependAction","appendAction","fileInput","counterSize","timePicker","pm","rating","preset","iconfont","cspNonce","customProperties","minifyTheme","themeCache","variations","warning","Presets","parentPreset","defaultPreset","Preset","userPreset","globalPreset","Application","Breakpoint","xsOnly","smOnly","smAndUp","mdOnly","mdAndDown","mdAndUp","lgOnly","lgAndDown","lgAndUp","xlOnly","ssr","getClientHeight","getClientWidth","checkboxOn","checkboxOff","checkboxIndeterminate","subgroup","dropdown","radioOn","radioOff","ratingEmpty","ratingFull","ratingHalf","unfold","plus","convertToComponentDeclarations","mdiSvg","mdi","fa4","faSvg","Icons","presets","LANG_PREFIX","usingDefault","defaultLocale","shortKey","Lang","defaultTranslator","cielabForwardTransform","cbrt","cielabReverseTransform","transformedY","isItem","parsedTheme","genVariations","genBaseColor","genVariantColor","genColorVariableName","genColorVariable","genStyles","cssVar","variablesCss","aColor","variants","variantValue","sRGB","unwatch","vueMeta","fillVariant","isVueMeta23","applyVueMeta23","checkOrCreateStyleElement","styleEl","oldDark","applyTheme","clearCss","generatedStyles","$meta","initVueMeta","initSSR","initTheme","resetThemes","genStyleElement","metaKeyName","metaInfo","vuetifyStylesheet","obs","ThemeUtils","services","service","isAnyArray","_predict","xSum","ySum","chi2","rmsd","xSquared","ySquared","xY","checkArraySize","maybeToPrecision","intercept","coefficients","regress","xFactor","absIntercept","slr","paIn","isCurryBound","positionableFactory","allowOverflow","positionX","positionY","absoluteX","absoluteY","relativeYOffset","inputActivator","stackClass","absoluteYOffset","absolutePosition","xOverflow","getOffsetLeft","documentHeight","getInnerHeight","toTop","isOverflowing","checkForPageYOffset","getOffsetTop","checkActivatorFixed","getRoundedBoundedClientRect","sneakPeek","offsetRect","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","Widget","hoveredElement","_renderHint","_isFocusable","_attachFeedbackEvents","_toggleIndependentState","_attachFocusEvents","_renderAccessKey","_findActiveTarget","hasChildListeners","hasKeyboardEventHandler","shouldAttach","onlyChildProcessing","keyboardListeners","_hover","$previous","_findHoverTarget","newHoveredElement","widgetOptionMap","_updatedHover","eject","clipped","disableResizeWatcher","disableRouteWatcher","expandOnHover","miniVariant","miniVariantWidth","permanent","stateless","temporary","isMouseover","touchArea","isMiniVariant","computedMaxHeight","hasApp","reactsToClick","reactsToMobile","reactsToResize","reactsToRoute","showOverlay","updateMiniVariant","calculateTouchArea","parentRect","genAppend","genPosition","swipeLeft","swipeRight","transitionend","resizeEvent","initUIEvent","genPrepend","genBorder","_classPrivateFieldSet2","dataMap","strategyChanging","beforeCleanDataFunc","afterCleanDataFunc","setDataStrategy","beforeCleanData","cleanDataRecursive","cleanSelf","childElements","_onScroll","SPECIAL_HEIGHT_VALUES","getSizeByStyles","getElementBoxParams","beforeName","afterName","_element$ownerDocumen","getCSSProperty","_element$style","boxIndices","dimensionComponents","getComponentThickness","offsetFieldName","currentBox","targetBox","targetBoxIndex","currentBoxIndex","scrollThickness","boxPart","paddingAndBorder","getContainerHeight","parseHeight","getHeightWithOffset","operationString","addOffsetToMaxHeight","addOffsetToMinHeight","getVerticalOffsets","withMargins","boxParams","getVisibleHeight","boundingClientRect","implementationsMap","elementSizeHelper","getOuterWidth","_len5","_key5","setOuterWidth","_len6","_key6","getOuterHeight","_len7","_key7","setOuterHeight","_len8","_key8","getInnerWidth","_len9","_key9","setInnerWidth","_len10","_key10","_len11","_key11","setInnerHeight","_len12","_key12","partialName","isOuter","isInner","sizeAdjustment","boxSizing","getWindowByElement","wrapOverridden","baseProto","prevCallBase","clonePrototype","redefine","overridden","classObj","hasClassObjOwnProperty","isES6Class","_includedCtors","_includedPostCtors","subclassOf","parentClass","hasParentProperty","baseClass","copyStatic","classImpl","includedCtors","includedPostCtors","HOVERSTART_NAMESPACE","HOVERSTART","POINTERENTER_NAMESPACED_EVENT_NAME","HOVEREND_NAMESPACE","HOVEREND","POINTERLEAVE_NAMESPACED_EVENT_NAME","Hover","_handlerArrayKeyPath","_eventNamespace","_originalEventName","HoverStart","HoverEnd","xPseudo","falseValue","trueValue","bias","calculateUpdatedOffset","selectedElement","currentScrollOffset","calculateCenteredOffset","offsetCentered","BaseSlideGroup","centerActive","isSwipingHorizontal","isSwiping","canTouch","__cachedNext","__cachedPrev","hasAffixes","setWidths","genNext","onAffixClick","upperLocation","hasAffix","genPrev","overflowCheck","calculateNewOffset","newAbosluteOffset","maxScrollOffset","scrollIntoView","lastItemPosition","wrapperPosition","slideGroup","callSlider","newPath","oldPath","hasNew","hasOld","alignWithTitle","fixedTabs","grow","hideSlider","iconsAndText","sliderColor","sliderSize","transitionTime","sliderStyles","genBar","VTabsBar","VTabsItems","VTabsSlider","parseNodes","availableProps"],"mappings":"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MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KA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IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKopB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAGsue,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI/kN,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAKl1B,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAA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AC,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI7C,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,EAAE,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,KAAK2C,GAAG,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAMxgD,GAAG,EAAEimD,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKF,GAAG,KAAKp7X,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAIw7X,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,IAAIsB,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAGhre,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQuoL,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,MAAMkhT,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQx8V,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG8zS,GAAG,GAAG3lb,GAAG,GAAG2ve,GAAG,GAAG3G,GAAG,EAAEZ,GAAG,EAAExle,GAAG,GAAGkD,GAAG,GAAG4+c,GAAG,sBAAsBU,GAAG,GAAGV,GAAG,sBAAsBjnN,GAAG,GAAGinN,GAAG,uBAAuBjF,GAAG,GAAGiF,GAAG,uBAAuBjkK,GAAG,GAAGikK,GAAG,uBAAuBe,GAAG,GAAGf,GAAG,2BAA2BnC,GAAG,GAAGmC,GAAG,yBAAyBc,GAAG,GAAG,IAAIkrB,GAAGj0iB,EAAEm2iB,oBAAoBxse,GAAG3pE,EAAEo2iB,oBAAoBrrD,GAAG/qf,EAAEq2iB,qBAAqBnC,GAAGl0iB,EAAEs2iB,qBAAqBnC,GAAGn0iB,EAAEu2iB,qBAAqBnC,GAAGp0iB,EAAEw2iB,yBAAyBnC,GAAGr0iB,EAAEy2iB,uBAAuB5N,GAAG,GAAGpjiB,GAAG,GAAGojiB,GAAG,EAAEI,IAAI,IAAIC,GAAG,IAAIqL,GAAG,EAAED,IAAI,KAAKC,IAAI,EAAE5L,GAAG,EAAEC,GAAG90hB,EAAE,KAAKk1hB,GAAGl1hB,EAAE,KAAKi1hB,GAAGj1hB,EAAE,KAAKg1hB,GAAGh1hB,EAAE,KAAKq1hB,GAAGr1hB,EAAEo1hB,GAAGD,IAAIG,GAAGt1hB,EAAEo1hB,GAAGD,IAAInf,GAAG,cAAcnB,GAAG,GAAGmB,GAAG,cAAc9oN,GAAG,GAAG8oN,GAAG,eAAe9G,GAAG,GAAG8G,GAAG,eAAe9lK,GAAG,GAAG8lK,GAAG,eAAed,GAAG,GAAGc,GAAG,mBAAmBhE,GAAG,GAAGgE,GAAG,iBAAiBf,GAAG,GAAG,IAAIyrB,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK1C,GAAG,CAAC,EAAE,EAAE,GAAG4E,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG3E,GAAG,EAAElyiB,KAAK82iB,eAAe,SAAS32iB,EAAEqsC,EAAElsC,EAAED,EAAE4T,GAAG,IAAItP,EAAE4jiB,GAAGnoiB,EAAE,IAAI6mhB,GAAG9ihB,EAAE,IAAIg1gB,GAAG/4gB,EAAEwniB,GAAGzjiB,EAAEA,EAAEm6c,EAAE35c,EAAER,EAAEka,MAAM,CAACla,EAAEka,OAAOla,EAAEma,OAAO,CAACna,EAAEma,QAAQ,IAAI+gG,EAAEl7G,EAAEka,MAAMzR,EAAEzI,EAAEma,OAAOuG,EAAE,IAAI2he,GAAG,GAAG,MAAM3he,GAAG,MAAM1kB,EAAE,IAAI6T,EAAE,OAAOtF,EAAE,MAAMmW,GAAG7Q,EAAEmqgB,GAAGh+gB,EAAEqsC,EAAElsC,EAAEukB,EAAExG,MAAMwG,EAAEvG,OAAOuG,EAAEsihB,GAAGtihB,EAAEuihB,GAAGvihB,EAAE6I,OAAO,MAAM,GAAG,GAAG1Z,EAAEqrG,EAAE,GAAG,MAAMA,IAAIA,EAAE,GAAGx6F,EAAExG,MAAM,IAAI,MAAMzR,IAAIA,EAAE,GAAGiY,EAAEvG,OAAO,IAAI+gG,EAAE,GAAGA,EAAE,CAACl7G,EAAEka,MAAMla,EAAEka,MAAM,GAAGla,EAAEma,OAAOna,EAAEma,OAAO,GAAG,MAAMje,IAAIA,EAAE,GAAG8D,EAAEka,OAAO,MAAMpK,IAAIA,EAAE,GAAG9P,EAAEma,QAAQne,EAAE,CAAC,GAAGE,EAAE,IAAIo9gB,IAAIxpgB,EAAE,IAAIozgB,IAAIj4gB,KAAKjP,EAAE8T,EAAE4nB,EAAE2Q,EAAEv4B,EAAEkwD,GAAG7jE,EAAE2T,EAAEy/hB,GAAG,EAAElngB,EAAE,CAAC,GAAG99B,EAAE,MAAMuF,IAAI,IAAI9T,EAAEg+gB,GAAGlqgB,EAAE7E,KAAK6E,EAAE4nB,EAAE5nB,EAAEkwD,GAAG,KAAK,KAAK,KAAK33B,EAAE,KAAKv4B,KAAK,GAAG9T,IAAIqsC,EAAE,KAAKrsC,EAAE,GAAG,IAAIqsC,EAAErsC,GAAG,CAAC,GAAGuO,EAAE,MAAMtO,GAAGC,EAAE+O,KAAK6E,EAAE7E,KAAK/O,EAAEw7B,EAAE5nB,EAAE4nB,EAAE5nB,EAAEsL,OAAOlf,EAAE8jE,GAAGlwD,EAAEkwD,GAAGlwD,EAAEsL,OAAOlf,EAAEqxiB,IAAI/pD,GAAGtnf,EAAEsxiB,GAAGzgD,GAAG7wf,EAAEsmb,GAAG7tN,GAAGz4N,EAAEioiB,GAAGloiB,EAAE6T,EAAE2/hB,GAAG,CAAC,GAAG,OAAOzziB,EAAEo7gB,MAAM,CAACn7gB,EAAE,EAAE,MAAMD,EAAE,GAAG,SAASA,EAAEqsC,GAAG,IAAIlsC,EAAE,CAAC,GAAGD,EAAE,CAAC,GAAG4T,EAAE,CAAC,GAAGvF,EAAE,OAAO,CAAC,GAAG,MAAMvO,EAAE,OAAO,EAAE,GAAG,MAAMqsC,EAAE,OAAOrsC,EAAE8T,EAAE,EAAE,EAAE,GAAG9T,EAAE0kB,EAAE2nB,EAAErsC,EAAE8T,EAAE,EAAE4iB,EAAE12B,EAAEuM,EAAE8/B,EAAEp9B,KAAKo9B,EAAE3Q,EAAE2Q,EAAE23B,KAAK8a,GAAG9+E,EAAEuM,EAAEpM,EAAED,EAAE4T,GAAG,CAAC9T,EAAE8T,EAAE,EAAE,MAAMvF,EAAE,GAAGvO,EAAE0riB,GAAGC,GAAGt/f,EAAEnuB,MAAM/d,EAAE,GAAGksC,EAAEluB,OAAOje,EAAE,IAAIm7gB,GAAGl7gB,EAAE,GAAGD,EAAE,GAAG,EAAEF,EAAE,MAAM,MAAMuO,EAAE,OAAO,EAAE,OAAOA,EAAE,GAAGvO,EAAE8T,GAAG,EAAhQ,CAAmQ9T,EAAEE,GAAG,CAAC,GAAGA,EAAE,IAAImsC,EAAEg+e,GAAGnqhB,EAAEge,MAAMhe,EAAEie,OAAOle,EAAEyoiB,GAAGzoiB,EAAEwniB,KAAK,CAACl5hB,EAAE,CAACrO,EAAEF,EAAEqsC,EAAE,OAAO,CAAC,GAAG,MAAMnsC,EAAE,CAACA,EAAE,EAAE,MAAMqO,EAAE,GAAGA,EAAE,MAAMrO,EAAED,EAAE08X,IAAIpuX,EAAE,MAAMrO,EAAED,EAAEwpiB,IAAIl7hB,EAAE,EAAErO,EAAED,EAAEupiB,IAAIj7hB,EAAE,OAAOpO,EAAED,EAAEwkB,IAAInW,EAAE,OAAOuF,EAAE3T,EAAEgoiB,KAAK,GAAGjoiB,EAAEwriB,GAAG,CAAC,GAAGxriB,EAAEoiE,GAAGxuD,EAAE2zhB,GAAGvniB,EAAEgriB,GAAGp3hB,EAAEo3hB,GAAG38hB,EAAE,MAAMrO,EAAEoiE,KAAKmod,GAAG32gB,EAAE40hB,GAAGvoiB,EAAEkoiB,IAAI,CAACnoiB,EAAE4T,EAAE,EAAE,MAAMu4B,EAAE,IAAIive,GAAGp7gB,EAAEC,EAAE+d,OAAO,MAAMmuB,EAAE,GAAGlsC,EAAEk9D,GAAG,MAAMhxB,EAAE,IAAIlsC,EAAEk9D,IAAI6ob,GAAGhmf,EAAEoiE,GAAG67Y,KAAK5gM,KAAK,GAAGr9Q,EAAEoiE,GAAG67Y,IAAI8jE,MAAM,iCAAiC,MAAM/hhB,EAAEoiE,GAAGzuD,EAAEkzhB,GAAGj4O,GAAGvxC,MAAMr9Q,EAAEkriB,IAAI,EAAElriB,EAAED,EAAEw8b,IAAI,MAAMv8b,EAAED,EAAEwriB,GAAG/1E,IAAIx5c,EAAEhc,EAAED,EAAEwriB,GAAGvriB,EAAED,EAAEoriB,GAAGvF,IAAI,CAAC5liB,EAAE4T,EAAE,EAAE,MAAMu4B,EAAEnsC,EAAEwriB,GAAG,EAAE,IAAI7xZ,GAAG35I,EAAEA,EAAEk9B,EAAEl9B,EAAEmqiB,GAAGnqiB,EAAE8D,EAAE9D,EAAEA,EAAEC,EAAEqE,EAAE01gB,IAAI,MAAM7te,EAAEv4B,EAAEu1hB,GAAGnpiB,EAAEqqiB,GAAGrqiB,EAAE,EAAE,MAAMqO,EAAEA,EAAE,GAAGrO,EAAE4T,GAAG5T,EAAE,EAAEA,GAAGA,EAAEA,IAAImsC,EAAErsC,EAAE8T,QAAQu4B,EAAErsC,EAAE8T,MAAM,CAAC,GAAG,OAAO9T,EAAE,IAAIw9gB,IAAI,CAACv9gB,EAAE,EAAE,MAAMD,EAAE,GAAGA,EAAEgxiB,GAAGl9hB,EAAE0/hB,GAAGxziB,EAAEmc,EAAErI,EAAEqI,EAAEnc,EAAEkxiB,GAAGp9hB,EAAE8/hB,GAAGz6B,GAAGn5gB,EAAEE,IAAI,GAAG,IAAImsC,EAAEg+e,GAAGnqhB,EAAEge,MAAMhe,EAAEie,OAAOle,EAAEyoiB,GAAGzoiB,EAAEwniB,KAAK,CAAC,GAAGzniB,EAAEsviB,GAAG,EAAEnviB,EAAEF,EAAEyoiB,GAAGn6hB,EAAE,OAAOuF,EAAE9T,IAAI,MAAMG,EAAE,CAAC,GAAG,GAAG++G,EAAE,GAAGA,EAAE/+G,EAAEgniB,IAAI,EAAE,IAAIjob,EAAE,IAAI,IAAIA,EAAE,KAAK,CAAC,IAAIzyG,EAAEiY,EAAE,EAAE,EAAEjY,IAAIA,EAAE,IAAIoH,EAAEC,EAAEg8hB,GAAGrjiB,IAAIg8e,KAAK50e,EAAEwwD,GAAG66C,EAAEw3b,GAAG,EAAE7iiB,EAAE40e,GAAG,EAAE50e,EAAE40e,KAAK,GAAG/je,GAAG7Q,EAAEwwD,GAAG3/C,IAAIu9f,MAAM,sBAAsBnugB,EAAEuwD,GAAG,GAAGvwD,EAAEu9hB,GAAGlxiB,EAAE+miB,GAAG,IAAIpzhB,EAAEu9hB,GAAGv9hB,EAAEu9hB,GAAG,IAAI,EAAEv9hB,EAAEu9hB,KAAKv9hB,EAAEu9hB,GAAG,GAAGn4B,GAAGl5gB,EAAEE,KAAKmsC,EAAErsC,EAAE8T,SAASu4B,EAAErsC,EAAE8T,EAAE,GAAGu4B,GAAG,MAAMpsC,EAAEyoiB,IAAIzoiB,EAAEyoiB,GAAG5jD,KAAKz4c,EAAEq+e,GAAGzqhB,EAAEwniB,KAAKxniB,EAAEosC,EAAE7nC,EAAE,GAAGvE,EAAE,KAAK,GAAGuE,EAAER,EAAE6P,EAAEizhB,KAAKniD,GAAG3gf,EAAE6P,EAAEkzhB,GAAGh6hB,OAAOvI,EAAE,KAAK,OAAOA,GAAG,IAAIiwiB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,SAASv1b,EAAEl/G,EAAEuO,GAAG,IAAI,IAAI89B,EAAE,GAAGlsC,EAAE,EAAEA,EAAE,EAAEA,IAAIksC,GAAG7lC,OAAOsS,aAAa9Y,EAAEuO,MAAM,OAAO89B,EAAE,SAAS5/B,EAAEzM,EAAEuO,GAAG,OAAOvO,EAAEuO,EAAE,IAAI,EAAEvO,EAAEuO,EAAE,IAAI,EAAEvO,EAAEuO,EAAE,IAAI,MAAM,EAAE,SAASmW,EAAE1kB,EAAEuO,GAAG,OAAOvO,EAAEuO,EAAE,IAAI,EAAEvO,EAAEuO,EAAE,IAAI,EAAEvO,EAAEuO,EAAE,IAAI,GAAGvO,EAAEuO,EAAE,IAAI,MAAM,EAAE,IAAIvK,EAAE,IAAI6P,EAAE,CAAC,GAAGlH,EAAE,CAAC,GAAGrM,EAAE,GAAGmuC,EAAE,IAAIzqC,EAAEuI,EAAEvM,EAAE02B,EAAE,SAAS12B,EAAEuO,GAAG,IAAI89B,EAAE,GAAGlsC,EAAE,EAAED,GAAE,EAAG4T,EAAE,EAAEtP,EAAE,EAAE,GAAG6nC,EAAEo2f,OAAO;;;;;;;;;AASj7hE,SAASziiB,EAAEuO,EAAE89B,EAAElsC,GAAG,IAAI,IAAID,EAAE,EAAEA,EAAEC,EAAED,IAAI,GAAGF,EAAEuO,EAAErO,IAAImsC,EAAE+F,WAAWlyC,GAAG,OAAM,EAAG,OAAM,EAAhF,CAAoFF,EAAEuO,EAAE,OAAO,GAAG,CAAC,IAAItO,EAAE+D,EAAY,IAAV0gB,EAAE1kB,EAAEuO,GAAG,GAAOA,GAAG,EAAEA,EAAEvO,EAAEK,QAAQ,CAAC,IAAIwT,EAAEqrG,EAAEl/G,EAAEuO,GAAG5B,EAAE+X,EAAE1kB,EAAEuO,GAAG,GAAGA,GAAG,EAAE,IAAIjO,EAAEqM,GAAG,EAAEA,GAAG,OAAOkH,GAAG,IAAI,OAAO,IAAI,YAAO,IAASw4B,EAAEo2f,OAAOtiiB,KAAKksC,EAAEo2f,OAAOtiiB,GAAG,KAAKu2B,EAAE2V,EAAEo2f,OAAOtiiB,IAAIy2iB,QAAQ12iB,EAAEsE,EAAE+J,EAAE,EAAEmoB,EAAEmghB,SAAS/iiB,EAAEnH,EAAE,EAAExM,IAAID,IAAIA,GAAE,EAAG4T,EAAE,EAAEtP,EAAE,GAAG,MAAM,IAAI,QAAQkyB,EAAE2V,EAAEuyC,OAAO,IAAIk4d,cAAc92iB,EAAEuO,GAAG,IAAIkgC,EAAElgC,EAAE,EAAEmoB,EAAEqghB,aAAa,EAAEtqiB,EAAEzM,EAAEyuC,GAAGA,GAAG,EAAE/X,EAAEsghB,cAAc,EAAEvqiB,EAAEzM,EAAEyuC,GAAGA,GAAG,EAAE,MAAM,IAAI,OAAOvuC,GAAE,EAAG4T,EAAExT,EAAE,EAAEkE,EAAE+J,EAAE,EAAE,MAAM,IAAI,QAAQmoB,EAAE2V,EAAEuyC,QAAQq4d,QAAQvyhB,EAAE1kB,EAAEuO,GAAGkgC,EAAElgC,EAAE,EAAEmoB,EAAEwghB,YAAYj3iB,EAAED,IAAIgE,EAAEyqC,GAAG,IAAI,EAAExuC,EAAE+D,EAAE,IAAI,EAAEyqC,GAAG,EAAE,MAAM,IAAI,OAAO,IAAIliC,EAAEmqB,GAAGA,EAAE2V,EAAEo2f,OAAOtiiB,GAAG,IAAIg3iB,SAAS,EAAE1qiB,EAAEzM,EAAEuO,GAAGA,GAAG,EAAEmoB,EAAE0ghB,SAAS,EAAE3qiB,EAAEzM,EAAEuO,GAAGA,GAAG,EAAEmoB,EAAExY,MAAM,EAAEzR,EAAEzM,EAAEuO,GAAGA,GAAG,EAAEmoB,EAAEvY,OAAO,EAAE1R,EAAEzM,EAAEuO,GAAGA,GAAG,EAAEmoB,EAAEqjE,SAASttF,EAAEzM,EAAEuO,GAAGA,GAAG,EAAEhC,EAAEvM,EAAEuO,KAAKmoB,EAAEnkB,QAAQ,EAAEhG,EAAEmqB,EAAEosV,MAAMv2W,GAAG,EAAE,EAAE,QAAQsH,IAAItF,GAAGjO,GAAG,OAAO+rC,GAT6lgE,CASzlgE9/B,EAAE,GAAGmqB,EAAE0C,SAAS7sB,EAAEmqB,EAAE2ghB,YAAW,EAAG3ghB,EAAE4ghB,SAAQ,EAAG,IAAI1khB,EAAE8D,EAAEkoD,OAAOloD,EAAEkoD,OAAO,KAAK7xE,EAAE2pB,EAAE+rgB,OAAO/rgB,EAAE+rgB,OAAO,KAAK,GAAG7vgB,EAAE,CAACA,EAAE2khB,aAAa3khB,EAAEskhB,WAAWrjiB,EAAE,CAAC+e,EAAEokhB,eAAerqiB,EAAE,CAACimB,EAAEmkhB,cAAc,IAAI,IAAIr7gB,EAAE,EAAEA,EAAE3uB,EAAE1M,QAAQ,GAAG0M,EAAE2uB,GAAGonV,MAAMpnV,MAAM,IAAIi4e,EAAE5mgB,EAAE,GAAGvB,EAAEijC,EAAEkogB,eAAepqiB,EAAEongB,EAAEijC,QAAQjjC,EAAEkjC,SAASlqiB,EAAEkH,GAAG8/f,EAAEx7T,KAAK3sM,EAAEmogB,EAAE6jC,SAAS7qiB,EAAE,GAAGgngB,EAAE8jC,UAAU5jiB,EAAE,GAAG,IAAI,IAAI81J,EAAE,EAAEA,EAAEh9J,EAAE,GAAGkH,EAAE,GAAG,EAAE81J,IAAIrpK,EAAEqpK,GAAGn+J,EAAEm+J,GAAG,OAAO9pK,KAAKqe,MAAMvR,EAAE9M,KAAKse,OAAOtK,EAAEhU,KAAKoP,KAAK3O,EAAET,MAAM,SAASG,GAAG,IAAIqsC,EAAE,WAAW,MAAM,mBAAmB,QAAGlsC,EAAE,SAASksC,EAAElsC,EAAE2T,EAAErH,GAAG,IAAIiY,EAAE,EAAE7Q,EAAE5T,EAAE,OAAOwM,GAAG,KAAKzM,EAAEozhB,kBAAkBC,KAAK3ugB,EAAE,EAAE7Q,EAAErP,EAAE,MAAM,KAAKxE,EAAEozhB,kBAAkBE,OAAO5ugB,EAAE,EAAE7Q,EAAE7P,EAAE,MAAM,KAAKhE,EAAEozhB,kBAAkBG,KAAK7ugB,EAAE,EAAE7Q,EAAEqrG,EAAE7yE,EAAEnsC,EAAEmsC,EAAElsC,EAAE2T,EAAED,GAAG,IAAIlH,EAAE,eAAE0/B,EAAE,CAACquK,MAAMh2L,IAAI,OAAO1kB,EAAE8whB,aAAaoD,0BAA0BvnhB,IAAIzM,EAAE,SAASF,EAAEuO,EAAE89B,EAAElsC,GAAG,IAAI,IAAID,EAAE4T,EAAEtP,EAAEvE,EAAED,EAAEK,OAAOkO,EAAEvK,EAAE,IAAImuC,WAAWnyC,EAAEK,OAAOJ,GAAGi/G,EAAEx6F,IAAIjY,EAAE,EAAEA,EAAExM,EAAEwM,GAAG,EAAE,CAAC,GAAGjI,EAAEiI,EAAE8B,EAAErO,EAAEF,EAAEgmf,SAASxhf,EAAEA,EAAE+J,GAAGpO,EAAE6D,EAAEjB,IAAI5C,EAAED,EAAEmsC,EAAEv4B,GAAGtP,EAAEiI,OAAO,CAAC,IAAI,IAAIE,EAAErM,EAAE4+G,EAAE7+G,OAAOouC,EAAE,GAAG9hC,EAAErM,EAAEqM,GAAG,EAAE8hC,EAAE9hC,GAAGuyG,EAAEvyG,GAAGzM,EAAEmsC,EAAEv4B,GAAG,IAAIvH,EAAEsH,EAAE46B,EAAElsC,UAAUyB,EAAEjB,IAAI0rC,EAAEliC,GAAG/H,EAAEiI,GAAGqH,EAAE5T,EAAE,OAAO8D,GAAG8P,EAAE,SAAS9T,GAAG,IAAIuO,EAAE5J,MAAMjE,MAAM,GAAGV,GAAG,OAAOuO,EAAE2rB,QAAQ,GAAG3rB,GAAG/J,EAAE,SAASxE,EAAEuO,GAAG,IAAI89B,EAAElsC,EAAE,GAAGD,EAAEF,EAAEK,OAAOF,EAAE,GAAG,EAAE,IAAI,IAAI2T,EAAE,EAAEA,EAAE5T,EAAE4T,GAAG,EAAEu4B,EAAErsC,EAAE8T,EAAEvF,IAAI,EAAEpO,EAAE2T,EAAE,GAAG9T,EAAE8T,GAAGu4B,EAAE,IAAI,IAAI,OAAOlsC,GAAGF,EAAE,SAASD,EAAEuO,EAAE89B,GAAG,IAAIlsC,EAAED,EAAE,GAAG4T,EAAE9T,EAAEK,OAAOH,EAAE,GAAG,EAAE,IAAI,IAAIsE,EAAE,EAAEA,EAAEsP,EAAEtP,GAAG,EAAErE,EAAEksC,GAAGA,EAAE7nC,IAAI,EAAEtE,EAAEsE,EAAE,GAAGxE,EAAEwE,GAAGrE,EAAE,IAAI,IAAI,OAAOD,GAAG8D,EAAE,SAAShE,EAAEuO,EAAE89B,GAAG,IAAIlsC,EAAED,EAAE4T,EAAE,GAAGtP,EAAExE,EAAEK,OAAOyT,EAAE,GAAG,EAAE,IAAI,IAAI7T,EAAE,EAAEA,EAAEuE,EAAEvE,GAAG,EAAEE,EAAEH,EAAEC,EAAEsO,IAAI,EAAErO,EAAEmsC,GAAGA,EAAEpsC,IAAI,EAAE6T,EAAE7T,EAAE,GAAGD,EAAEC,GAAG,KAAKE,EAAED,IAAI,GAAG,IAAI,OAAO4T,GAAGorG,EAAE,SAASl/G,EAAEuO,EAAE89B,GAAG,IAAIlsC,EAAED,EAAE4T,EAAEtP,EAAEvE,EAAE,GAAG+D,EAAEhE,EAAEK,OAAOJ,EAAE,GAAG,EAAE,IAAI,IAAIi/G,EAAE,EAAEA,EAAEl7G,EAAEk7G,GAAG,EAAE/+G,EAAEH,EAAEk/G,EAAE3wG,IAAI,EAAErO,EAAEmsC,GAAGA,EAAE6yE,IAAI,EAAEprG,EAAEu4B,GAAGA,EAAE6yE,EAAE3wG,IAAI,EAAE/J,EAAEiI,EAAEtM,EAAED,EAAE4T,GAAG7T,EAAEi/G,EAAE,GAAGl/G,EAAEk/G,GAAG16G,EAAE,IAAI,IAAI,OAAOvE,GAAGwM,EAAE,SAASzM,EAAEuO,EAAE89B,GAAG,GAAGrsC,IAAIuO,GAAGA,IAAI89B,EAAE,OAAOrsC,EAAE,IAAIG,EAAEoN,KAAKD,IAAIiB,EAAE89B,GAAGnsC,EAAEqN,KAAKD,IAAItN,EAAEqsC,GAAGv4B,EAAEvG,KAAKD,IAAItN,EAAEuO,EAAE89B,EAAEA,GAAG,OAAOlsC,GAAGD,GAAGC,GAAG2T,EAAE9T,EAAEE,GAAG4T,EAAEvF,EAAE89B,GAAG3nB,EAAE,WAAW,MAAM,CAAC5Q,EAAEtP,EAAEvE,EAAE+D,EAAEk7G,IAAIrrG,EAAE,SAAS7T,GAAG,IAAIuO,EAAEvO,EAAE8S,KAAI,SAAU9S,GAAG,OAAOA,EAAEyrC,QAAO,SAAUzrC,EAAEuO,GAAG,OAAOvO,EAAEuN,KAAKD,IAAIiB,KAAK,MAAM,OAAOA,EAAEwE,QAAQxF,KAAKsmB,IAAInzB,MAAM,KAAK6N,KAAKvO,EAAE03iB,WAAW,SAASnpiB,EAAErO,EAAE4T,EAAEtP,GAAG,IAAIvE,EAAE+D,EAAEk7G,EAAEzyG,EAAEiY,EAAE7Q,EAAElH,EAAErM,EAAEmuC,EAAEliC,EAAEmqB,EAAE9D,EAAE7lB,EAAE2uB,EAAEi4e,EAAEnogB,EAAE3L,KAAK0sf,OAAOqmC,aAAajpX,EAAE,GAAG,GAAG9pK,KAAKixhB,aAAavzZ,cAAchvH,KAAKA,EAAE,IAAI4jC,WAAW5jC,IAAI1O,KAAKixhB,aAAalzZ,kBAAkBrvH,GAAG,CAAC,GAAGA,GAAG2wG,EAAE,IAAIi6Z,GAAG5qgB,IAAI0zhB,QAAQj+hB,EAAEk7G,EAAEi7J,KAAKl6Q,EAAEi/G,EAAEqya,WAAW7sgB,EAAEw6F,EAAEhyE,QAAQ,IAAI,CAAC,EAAE,GAAGn6B,QAAQmsG,EAAEijb,WAAW,CAAC,GAAG,IAAIjjb,EAAEi7J,KAAK,CAAC1rO,GAAGnuC,EAAE,IAAI4+G,EAAE6jb,eAAe,IAAInP,YAAY10a,EAAE8jb,eAAe3wf,QAAQ,IAAI6sE,EAAE6jb,eAAe,IAAI3+C,YAAYllY,EAAE8jb,eAAe3wf,QAAQ,IAAIF,WAAW+sE,EAAE8jb,eAAe3wf,SAAShyC,OAAOq2B,EAAE,IAAIyb,WAAW1D,EAAEywE,EAAEhyE,QAAQ3gC,EAAE,IAAI4lC,WAAW1D,GAAG,IAAIr9B,EAAE+sc,EAAEj/V,EAAE6jb,eAAe7jb,EAAEi7J,KAAK,IAAIz+O,EAAE,EAAEi4e,EAAE,EAAEj4e,EAAE+S,EAAE/S,IAAI,CAAC,IAAI3uB,EAAEzM,EAAEo7B,GAAGtqB,EAAE,EAAEA,EAAE+sc,GAAGznb,EAAEi9e,KAAK5mgB,IAAIqE,EAAE,IAAIA,GAAG8tG,EAAEi7J,KAAK5tQ,EAAEmvB,GAAG3uB,IAAIqE,EAAE,KAAK,GAAG,KAAK8tG,EAAEi7J,KAAK,CAAC1rO,GAAGnuC,EAAE,IAAIszhB,YAAY10a,EAAE8jb,eAAe3wf,SAAShyC,OAAOq2B,EAAE,IAAIyb,WAAW1D,GAAG,GAAGywE,EAAE6jb,gBAAgB7jb,EAAEhyE,QAAQ3gC,EAAE,IAAI4lC,WAAW1D,GAAG,GAAGywE,EAAE6jb,iBAAiBnwgB,EAAEssF,EAAEhyE,OAAO,EAAExR,EAAE,EAAEi4e,EAAE,EAAE,IAAI,IAAIzsgB,EAAE,EAAEw0B,EAAE+S,GAAG1hC,EAAEzM,EAAEo7B,KAAKhF,EAAEi9e,KAAK5mgB,IAAI,EAAE,IAAI6lB,IAAI8D,EAAEi9e,KAAK5mgB,IAAI,GAAG,IAAIA,EAAEzM,EAAEo7B,KAAKhF,EAAEi9e,KAAK5mgB,IAAI,EAAE,KAAKR,EAAErF,KAAK6F,IAAI,GAAG,IAAI/I,EAAE,EAAEQ,IAAIxE,EAAEozhB,kBAAkBzkO,MAAMtiR,KAAK99B,EAAEpO,EAAEu2B,EAAEwoF,EAAEhhG,MAAMghG,EAAEhyE,OAAOgyE,EAAEhyE,OAAO1oC,GAAGmI,EAAExM,EAAEoM,EAAE2yG,EAAEhhG,MAAM,EAAE1Z,KAAK+J,EAAEmoB,EAAE/pB,EAAEJ,EAAEf,OAAE,GAAQ,GAAG,IAAI0zG,EAAEijb,YAAYliiB,EAAEJ,KAAKoyhB,aAAaT,QAAQ39gB,EAAEqrG,EAAEohQ,QAAQphQ,EAAE2ya,aAAagR,SAAS,CAAC,IAAI1mhB,EAAE+iG,EAAE2ya,aAAagR,QAAQt9f,EAAE,EAAE,IAAI7J,EAAE,EAAE+S,EAAEtyB,EAAE9b,OAAOq7B,EAAE+S,IAAI/S,EAAE6J,GAAGppB,EAAEuf,GAAG,IAAI6J,GAAG,OAAOkJ,EAAE,IAAI,IAAItyB,EAAEpJ,QAAQ,GAAGtG,EAAE,CAAC0P,EAAEpJ,QAAQ,SAAS,GAAGwyB,IAAIkJ,EAAE,CAAC,IAAInuC,EAAE4+G,EAAE8jb,eAAez2hB,EAAE,IAAI4lC,WAAW7xC,EAAED,QAAQq7B,EAAE,EAAE+S,EAAEnuC,EAAED,OAAOq7B,EAAE+S,EAAE/S,IAAInvB,EAAEmvB,GAAGvf,EAAE7b,EAAEo7B,IAAI/uB,EAAExM,EAAEoM,EAAE2yG,EAAEhhG,MAAM,IAAI,IAAI21f,EAAE,SAAStlgB,GAAG,IAAI89B,EAAE,OAAO99B,GAAG,KAAKvO,EAAEozhB,kBAAkBC,KAAKhnf,EAAE,GAAG,MAAM,KAAKrsC,EAAEozhB,kBAAkBE,OAAOjnf,EAAE,GAAG,MAAM,KAAKrsC,EAAEozhB,kBAAkBG,KAAKlnf,EAAE,GAAG,MAAM,QAAQA,EAAE,GAAG,OAAOA,EAA7K,CAAgL7nC,GAAG,OAAOgH,IAAI3L,KAAK0sf,OAAOqmC,eAAejpX,EAAE,cAAckqW,EAAE,KAAKlqW,GAAG,WAAWjlJ,EAAE,sBAAsB1gB,EAAE,aAAak7G,EAAEhhG,OAAOre,KAAKixhB,aAAavzZ,cAAchvH,IAAI1O,KAAKixhB,aAAalzZ,kBAAkBrvH,MAAMA,EAAE1O,KAAKixhB,aAAaoD,0BAA0B3lhB,KAAK5B,GAAG9M,KAAKixhB,aAAavzZ,cAAc5wH,IAAI9M,KAAKixhB,aAAalzZ,kBAAkBjxH,MAAMA,EAAE9M,KAAKixhB,aAAaoD,0BAA0BvnhB,IAAI,CAACrC,MAAMwJ,EAAE7E,KAAKV,EAAEuhB,MAAM5vB,EAAE6D,OAAOyH,EAAEomhB,iBAAiBjoX,EAAEkoX,aAAaplhB,EAAE6zW,QAAQzsW,EAAE49gB,MAAM9khB,EAAEmlhB,UAAUje,EAAE31f,MAAMghG,EAAEhhG,MAAMC,OAAO+gG,EAAE/gG,OAAOwzgB,iBAAiB3thB,EAAEuthB,WAAWtxhB,KAAl+G,CAAw+G6+K,EAAEogW,KAAK,SAASl/gB,GAAGA,EAAE23iB,cAAc,SAASppiB,EAAE89B,EAAElsC,EAAED,GAAG,IAAI4T,EAAE,IAAIsqgB,GAAG7vgB,GAAG/J,EAAEsP,EAAEoK,MAAMje,EAAE6T,EAAEqK,OAAOna,EAAE,GAAG8P,EAAEuwhB,uBAAuB,EAAErgiB,GAAG,IAAIk7G,EAAE,CAACjwG,KAAKjL,EAAEka,MAAM1Z,EAAE2Z,OAAOle,GAAGwM,EAAE,IAAIysgB,GAAG,KAAKn/U,OAAO76E,EAAE,KAAK,OAAOl/G,EAAE+hiB,YAAYthiB,KAAKZ,KAAK4M,EAAE4/B,EAAElsC,EAAED,IAAIF,EAAE43iB,cAAc53iB,EAAE23iB,cAA7O,CAA4P74X,EAAEogW,KAAK/2D,GAAG5nd,UAAUokiB,YAAY,WAAW,GAAG9kiB,KAAKg4iB,SAASh4iB,KAAK0kiB,MAAMuT,UAAUj4iB,KAAK+zB,KAAI,GAAI/zB,KAAK+zB,KAAK,EAAE/zB,KAAKk4iB,SAASl4iB,KAAK0kiB,MAAMuT,UAAUj4iB,KAAK+zB,KAAI,GAAI/zB,KAAK+zB,KAAK,EAAE/zB,KAAKuf,OAAOvf,KAAK0kiB,MAAMuT,UAAUj4iB,KAAK+zB,KAAI,GAAI/zB,KAAK+zB,KAAK,EAAE/zB,KAAKo9Z,WAAWp9Z,KAAK0kiB,MAAMuT,UAAUj4iB,KAAK+zB,KAAI,GAAI/zB,KAAK+zB,KAAK,EAAE/zB,KAAKqe,MAAMre,KAAK0kiB,MAAMuT,UAAUj4iB,KAAK+zB,KAAI,GAAI/zB,KAAK+zB,KAAK,EAAE/zB,KAAKse,OAAOte,KAAK0kiB,MAAMyT,SAASn4iB,KAAK+zB,KAAI,GAAI/zB,KAAK+zB,KAAK,EAAE/zB,KAAKo4iB,OAAOp4iB,KAAK0kiB,MAAM2T,UAAUr4iB,KAAK+zB,KAAI,GAAI/zB,KAAK+zB,KAAK,EAAE/zB,KAAKs4iB,MAAMt4iB,KAAK0kiB,MAAM2T,UAAUr4iB,KAAK+zB,KAAI,GAAI/zB,KAAK+zB,KAAK,EAAE/zB,KAAKg1gB,SAASh1gB,KAAK0kiB,MAAMuT,UAAUj4iB,KAAK+zB,KAAI,GAAI/zB,KAAK+zB,KAAK,EAAE/zB,KAAKu4iB,QAAQv4iB,KAAK0kiB,MAAMuT,UAAUj4iB,KAAK+zB,KAAI,GAAI/zB,KAAK+zB,KAAK,EAAE/zB,KAAKokE,GAAGpkE,KAAK0kiB,MAAMuT,UAAUj4iB,KAAK+zB,KAAI,GAAI/zB,KAAK+zB,KAAK,EAAE/zB,KAAKoohB,GAAGpohB,KAAK0kiB,MAAMuT,UAAUj4iB,KAAK+zB,KAAI,GAAI/zB,KAAK+zB,KAAK,EAAE/zB,KAAKqtC,OAAOrtC,KAAK0kiB,MAAMuT,UAAUj4iB,KAAK+zB,KAAI,GAAI/zB,KAAK+zB,KAAK,EAAE/zB,KAAKw4iB,gBAAgBx4iB,KAAK0kiB,MAAMuT,UAAUj4iB,KAAK+zB,KAAI,GAAI/zB,KAAK+zB,KAAK,EAAE,KAAK/zB,KAAKs4iB,OAAOt4iB,KAAK4kiB,gBAAgB5kiB,KAAKs4iB,MAAM,IAAIt4iB,KAAKs4iB,MAAM,GAAG,CAAC,IAAIn4iB,EAAE,IAAIH,KAAKqtC,OAAO,GAAGrtC,KAAKs4iB,MAAMt4iB,KAAKqtC,OAAOrtC,KAAKygX,QAAQ,IAAI37W,MAAM3E,GAAG,IAAI,IAAIuO,EAAE,EAAEA,EAAEvO,EAAEuO,IAAI,CAAC,IAAI89B,EAAExsC,KAAK0kiB,MAAM+T,SAASz4iB,KAAK+zB,OAAM,GAAIzzB,EAAEN,KAAK0kiB,MAAM+T,SAASz4iB,KAAK+zB,OAAM,GAAI1zB,EAAEL,KAAK0kiB,MAAM+T,SAASz4iB,KAAK+zB,OAAM,GAAI9f,EAAEjU,KAAK0kiB,MAAM+T,SAASz4iB,KAAK+zB,OAAM,GAAI/zB,KAAKygX,QAAQ/xW,GAAG,CAACsqM,IAAI34M,EAAEw5M,MAAMv5M,EAAEw5M,KAAKttK,EAAEksgB,KAAKzkiB,IAAIjU,KAAKse,OAAO,IAAIte,KAAKse,SAAS,EAAEte,KAAK6kiB,WAAU,IAAKv8E,GAAG5nd,UAAUqkiB,SAAS,WAAW/kiB,KAAK+zB,IAAI/zB,KAAKuf,OAAO,IAAI,IAAIpf,EAAE,MAAMH,KAAKs4iB,MAAM5piB,EAAE1O,KAAKqe,MAAMre,KAAKse,OAAO,EAAEte,KAAKoP,KAAK,IAAIkjC,WAAW5jC,GAAG1O,KAAKG,KAAK,MAAMA,GAAG8T,EAAEiZ,IAAI,oBAAoB/sB,KAAKmod,GAAG5nd,UAAUi4iB,KAAK,WAAW,IAAIx4iB,EAAEuO,EAAEhB,KAAK+pF,KAAKz3F,KAAKqe,MAAM,GAAGmuB,EAAE99B,EAAE,EAAE,IAAIvO,EAAEH,KAAKse,OAAO,EAAEne,GAAG,EAAEA,IAAI,CAAC,IAAI,IAAIG,EAAEN,KAAK6kiB,UAAU1kiB,EAAEH,KAAKse,OAAO,EAAEne,EAAEE,EAAE,EAAEA,EAAEqO,EAAErO,IAAI,IAAI,IAAI4T,EAAEjU,KAAK0kiB,MAAM+T,SAASz4iB,KAAK+zB,OAAM,GAAIpvB,EAAErE,EAAEN,KAAKqe,MAAM,EAAE,EAAEhe,EAAE,EAAED,EAAE,EAAEA,EAAE,GAAG,EAAEC,EAAED,EAAEJ,KAAKqe,MAAMje,IAAI,CAAC,IAAI+D,EAAEnE,KAAKygX,QAAQxsW,GAAG,EAAE7T,EAAE,GAAGJ,KAAKoP,KAAKzK,EAAE,EAAEvE,GAAG+D,EAAE21M,KAAK95M,KAAKoP,KAAKzK,EAAE,EAAEvE,EAAE,GAAG+D,EAAE01M,MAAM75M,KAAKoP,KAAKzK,EAAE,EAAEvE,EAAE,GAAG+D,EAAE60M,IAAIh5M,KAAKoP,KAAKzK,EAAE,EAAEvE,EAAE,GAAG,IAAI,IAAIosC,IAAIxsC,KAAK+zB,KAAK,EAAEyY,KAAK87a,GAAG5nd,UAAUk4iB,KAAK,WAAW,IAAI,IAAIz4iB,EAAEuN,KAAK+pF,KAAKz3F,KAAKqe,MAAM,GAAG3P,EAAEvO,EAAE,EAAEqsC,EAAExsC,KAAKse,OAAO,EAAEkuB,GAAG,EAAEA,IAAI,CAAC,IAAI,IAAIlsC,EAAEN,KAAK6kiB,UAAUr4f,EAAExsC,KAAKse,OAAO,EAAEkuB,EAAEnsC,EAAE,EAAEA,EAAEF,EAAEE,IAAI,CAAC,IAAI4T,EAAEjU,KAAK0kiB,MAAM+T,SAASz4iB,KAAK+zB,OAAM,GAAIpvB,EAAErE,EAAEN,KAAKqe,MAAM,EAAE,EAAEhe,EAAE,EAAED,EAAE6T,GAAG,EAAE9P,EAAE,GAAG8P,EAAEorG,EAAEr/G,KAAKygX,QAAQrgX,GAAG,GAAGJ,KAAKoP,KAAKzK,GAAG06G,EAAEy6F,KAAK95M,KAAKoP,KAAKzK,EAAE,GAAG06G,EAAEw6F,MAAM75M,KAAKoP,KAAKzK,EAAE,GAAG06G,EAAE25F,IAAIh5M,KAAKoP,KAAKzK,EAAE,GAAG,IAAI,EAAEtE,EAAE,GAAGL,KAAKqe,MAAM,MAAMghG,EAAEr/G,KAAKygX,QAAQt8W,GAAGnE,KAAKoP,KAAKzK,EAAE,GAAG06G,EAAEy6F,KAAK95M,KAAKoP,KAAKzK,EAAE,EAAE,GAAG06G,EAAEw6F,MAAM75M,KAAKoP,KAAKzK,EAAE,EAAE,GAAG06G,EAAE25F,IAAIh5M,KAAKoP,KAAKzK,EAAE,EAAE,GAAG,IAAI,IAAI+J,IAAI1O,KAAK+zB,KAAK,EAAErlB,KAAK45c,GAAG5nd,UAAUm4iB,KAAK,WAAW,IAAI,IAAI14iB,EAAEH,KAAKqe,MAAM,EAAE3P,EAAE1O,KAAKse,OAAO,EAAE5P,GAAG,EAAEA,IAAI,CAAC,IAAI,IAAI89B,EAAExsC,KAAK6kiB,UAAUn2hB,EAAE1O,KAAKse,OAAO,EAAE5P,EAAEpO,EAAE,EAAEA,EAAEN,KAAKqe,MAAM/d,IAAI,CAAC,IAAID,EAAEL,KAAK0kiB,MAAM+T,SAASz4iB,KAAK+zB,OAAM,GAAI9f,EAAEu4B,EAAExsC,KAAKqe,MAAM,EAAE,EAAE/d,EAAE,GAAGD,EAAEL,KAAKygX,QAAQjgX,OAAO,CAAC,IAAImE,EAAE3E,KAAKygX,QAAQpgX,GAAGL,KAAKoP,KAAK6E,GAAGtP,EAAEq0M,IAAIh5M,KAAKoP,KAAK6E,EAAE,GAAGtP,EAAEk1M,MAAM75M,KAAKoP,KAAK6E,EAAE,GAAGtP,EAAEm1M,KAAK95M,KAAKoP,KAAK6E,EAAE,GAAG,SAASjU,KAAKoP,KAAK6E,GAAG,IAAIjU,KAAKoP,KAAK6E,EAAE,GAAG,IAAIjU,KAAKoP,KAAK6E,EAAE,GAAG,IAAIjU,KAAKoP,KAAK6E,EAAE,GAAG,IAAI,IAAI9T,IAAIH,KAAK+zB,KAAK,EAAE5zB,KAAKmod,GAAG5nd,UAAUo4iB,MAAM,WAAW,IAAI,IAAI34iB,EAAEH,KAAKqe,MAAM,EAAE3P,EAAEkW,SAAS,QAAQ,GAAG4nB,EAAExsC,KAAKse,OAAO,EAAEkuB,GAAG,EAAEA,IAAI,CAAC,IAAI,IAAIlsC,EAAEN,KAAK6kiB,UAAUr4f,EAAExsC,KAAKse,OAAO,EAAEkuB,EAAEnsC,EAAE,EAAEA,EAAEL,KAAKqe,MAAMhe,IAAI,CAAC,IAAI4T,EAAEjU,KAAK0kiB,MAAM2T,UAAUr4iB,KAAK+zB,KAAI,GAAI/zB,KAAK+zB,KAAK,EAAE,IAAIpvB,GAAGsP,EAAEvF,GAAGA,EAAE,IAAI,EAAEtO,GAAG6T,GAAG,EAAEvF,GAAGA,EAAE,IAAI,EAAEvK,GAAG8P,GAAG,GAAGvF,GAAGA,EAAE,IAAI,EAAE2wG,EAAEprG,GAAG,GAAG,IAAI,EAAErH,EAAEtM,EAAEN,KAAKqe,MAAM,EAAE,EAAEhe,EAAEL,KAAKoP,KAAKxC,GAAGzI,EAAEnE,KAAKoP,KAAKxC,EAAE,GAAGxM,EAAEJ,KAAKoP,KAAKxC,EAAE,GAAGjI,EAAE3E,KAAKoP,KAAKxC,EAAE,GAAGyyG,EAAEr/G,KAAK+zB,KAAK5zB,IAAImod,GAAG5nd,UAAUq4iB,MAAM,WAAW,IAAI,IAAI54iB,EAAEH,KAAKqe,MAAM,EAAE3P,EAAEkW,SAAS,QAAQ,GAAG4nB,EAAE5nB,SAAS,SAAS,GAAGtkB,EAAEN,KAAKse,OAAO,EAAEhe,GAAG,EAAEA,IAAI,CAAC,IAAI,IAAID,EAAEL,KAAK6kiB,UAAUvkiB,EAAEN,KAAKse,OAAO,EAAEhe,EAAE2T,EAAE,EAAEA,EAAEjU,KAAKqe,MAAMpK,IAAI,CAAC,IAAItP,EAAE3E,KAAK0kiB,MAAM2T,UAAUr4iB,KAAK+zB,KAAI,GAAI/zB,KAAK+zB,KAAK,EAAE,IAAI3zB,GAAGuE,EAAE+J,GAAGA,EAAE,IAAI,EAAEvK,GAAGQ,GAAG,EAAE6nC,GAAGA,EAAE,IAAI,EAAE6yE,GAAG16G,GAAG,IAAI+J,EAAE,IAAI,EAAE9B,EAAEvM,EAAEL,KAAKqe,MAAM,EAAE,EAAEpK,EAAEjU,KAAKoP,KAAKxC,GAAGyyG,EAAEr/G,KAAKoP,KAAKxC,EAAE,GAAGzI,EAAEnE,KAAKoP,KAAKxC,EAAE,GAAGxM,EAAEJ,KAAKoP,KAAKxC,EAAE,GAAG,IAAI5M,KAAK+zB,KAAK5zB,IAAImod,GAAG5nd,UAAUs4iB,MAAM,WAAW,IAAI,IAAI74iB,EAAEH,KAAKse,OAAO,EAAEne,GAAG,EAAEA,IAAI,CAAC,IAAI,IAAIuO,EAAE1O,KAAK6kiB,UAAU1kiB,EAAEH,KAAKse,OAAO,EAAEne,EAAEqsC,EAAE,EAAEA,EAAExsC,KAAKqe,MAAMmuB,IAAI,CAAC,IAAIlsC,EAAEN,KAAK0kiB,MAAM+T,SAASz4iB,KAAK+zB,OAAM,GAAI1zB,EAAEL,KAAK0kiB,MAAM+T,SAASz4iB,KAAK+zB,OAAM,GAAI9f,EAAEjU,KAAK0kiB,MAAM+T,SAASz4iB,KAAK+zB,OAAM,GAAIpvB,EAAE+J,EAAE1O,KAAKqe,MAAM,EAAE,EAAEmuB,EAAExsC,KAAKoP,KAAKzK,GAAGsP,EAAEjU,KAAKoP,KAAKzK,EAAE,GAAGtE,EAAEL,KAAKoP,KAAKzK,EAAE,GAAGrE,EAAEN,KAAKoP,KAAKzK,EAAE,GAAG,IAAI3E,KAAK+zB,KAAK/zB,KAAKqe,MAAM,IAAIiqc,GAAG5nd,UAAUu4iB,MAAM,WAAW,IAAI,IAAI94iB,EAAEH,KAAKse,OAAO,EAAEne,GAAG,EAAEA,IAAI,IAAI,IAAIuO,EAAE1O,KAAK6kiB,UAAU1kiB,EAAEH,KAAKse,OAAO,EAAEne,EAAEqsC,EAAE,EAAEA,EAAExsC,KAAKqe,MAAMmuB,IAAI,CAAC,IAAIlsC,EAAEN,KAAK0kiB,MAAM+T,SAASz4iB,KAAK+zB,OAAM,GAAI1zB,EAAEL,KAAK0kiB,MAAM+T,SAASz4iB,KAAK+zB,OAAM,GAAI9f,EAAEjU,KAAK0kiB,MAAM+T,SAASz4iB,KAAK+zB,OAAM,GAAIpvB,EAAE3E,KAAK0kiB,MAAM+T,SAASz4iB,KAAK+zB,OAAM,GAAI3zB,EAAEsO,EAAE1O,KAAKqe,MAAM,EAAE,EAAEmuB,EAAExsC,KAAKoP,KAAKhP,GAAG6T,EAAEjU,KAAKoP,KAAKhP,EAAE,GAAGC,EAAEL,KAAKoP,KAAKhP,EAAE,GAAGE,EAAEN,KAAKoP,KAAKhP,EAAE,GAAGuE,IAAI2jd,GAAG5nd,UAAUsxC,QAAQ,WAAW,OAAOhyC,KAAKoP;;;;;;;;AAQvrS,SAASjP,GAAGA,EAAE+4iB,WAAW,SAASxqiB,EAAE89B,EAAElsC,EAAED,GAAG,IAAI4T,EAAE,IAAIq0c,GAAG55c,GAAE,GAAI/J,EAAEsP,EAAEoK,MAAMje,EAAE6T,EAAEqK,OAAOna,EAAE,CAACiL,KAAK6E,EAAE+9B,UAAU3zB,MAAM1Z,EAAE2Z,OAAOle,GAAGi/G,EAAE,IAAIg6Z,GAAG,KAAKn/U,OAAO/1L,EAAE,KAAK,OAAOhE,EAAE+hiB,YAAYthiB,KAAKZ,KAAKq/G,EAAE7yE,EAAElsC,EAAED,IAA1L,CAA+L4+K,EAAEogW,KAAKl8c,GAAGziE,UAAUsxC,QAAQ,WAAW,OAAOhyC,KAAKoP;;;;;;;;AAQlP,SAASjP,GAAGA,EAAEg5iB,YAAY,SAASzqiB,EAAE89B,EAAElsC,EAAED,GAAG,IAAI4T,EAAE,IAAIkvD,GAAGz0D,GAAE,GAAI/J,EAAEsP,EAAEoK,MAAMje,EAAE6T,EAAEqK,OAAOna,EAAE,CAACiL,KAAK6E,EAAE+9B,UAAU3zB,MAAM1Z,EAAE2Z,OAAOle,GAAGi/G,EAAE,IAAIg6Z,GAAG,KAAKn/U,OAAO/1L,EAAE,KAAK,OAAOhE,EAAE+hiB,YAAYthiB,KAAKZ,KAAKq/G,EAAE7yE,EAAElsC,EAAED,IAA3L,CAAgM4+K,EAAEogW,KAAKpgW,EAAEogW,IAAI+5B,YAAY,SAASj5iB,EAAEuO,EAAE89B,GAAG,IAAI,IAAIlsC,EAAEH,EAAEiP,KAAK/O,EAAEC,EAAEE,OAAOyT,EAAE,IAAIq+B,WAAWjyC,EAAE,EAAE,GAAGsE,EAAE,IAAI2tC,WAAWjyC,EAAE,GAAGD,EAAE,EAAE+D,EAAE,EAAEk7G,EAAE,EAAEA,EAAEh/G,EAAEg/G,GAAG,EAAE,CAAC,IAAIzyG,EAAEtM,EAAE++G,GAAGx6F,EAAEvkB,EAAE++G,EAAE,GAAGrrG,EAAE1T,EAAE++G,EAAE,GAAGvyG,EAAExM,EAAE++G,EAAE,GAAGprG,EAAE7T,KAAKwM,EAAEqH,EAAE7T,KAAKykB,EAAE5Q,EAAE7T,KAAK4T,EAAErP,EAAER,KAAK2I,EAAE,IAAIrM,EAAET,KAAKixhB,aAAaoD,0BAA0BpghB,GAAG,MAAM,CAAC06B,MAAM3uC,KAAKixhB,aAAaoD,0BAA0B1vhB,GAAGyK,KAAK3O,EAAEwvB,MAAMvhB,EAAEjE,MAAM+hC,EAAEklf,WAAW,YAAYI,iBAAiB,EAAEzzgB,MAAMle,EAAEke,MAAMC,OAAOne,EAAEme,SAAS2gK,EAAEogW,IAAIg6B,YAAY,SAASl5iB,GAAG,YAAO,IAASH,KAAKike,SAASq1E,mBAAmBt5iB,KAAKike,SAASq1E,iBAAiB,GAAGt5iB,KAAKike,SAASq1E,iBAAiBC,cAAa,QAAI,IAAS,CAAC7vY,GAAG,YAAY/gG,GAAG,WAAW9G,GAAG,oBAAoB,QAAQ,mBAAmB,QAAQ,mBAAmB,QAAQ,iBAAiB,QAAQ,gBAAgB,QAAQ,kBAAkB,QAAQ,kBAAkB,QAAQ,mBAAmB,QAAQ,iBAAiB,QAAQ,mBAAmB,QAAQ,gBAAgB,QAAQ,iBAAiB,QAAQ,wBAAwB,QAAQ,iBAAiB,QAAQ,mBAAmB,QAAQ,kBAAkB,QAAQ,iBAAiB0rP,GAAG,YAAYhpP,GAAG,WAAWopH,GAAG,WAAW5rH,IAAI,WAAWC,GAAG,cAAcN,GAAG,SAASQ,GAAG,aAAa8we,GAAG,UAAUxwe,GAAG,UAAUD,GAAG,SAASF,GAAG,YAAY5pC,GAAG,UAAUgqC,GAAG,UAAUuU,GAAG,WAAWtU,GAAG,UAAU82e,GAAG,UAAU,QAAQ,sBAAsB,QAAQ,gBAAgB,QAAQ,sBAAsB,QAAQ,mBAAmBx/hB,GAAG,UAAUg/R,GAAG,WAAWyuO,GAAG,OAAOrjd,GAAG,WAAWvB,GAAG,QAAQrF,GAAG,SAASsJ,GAAG,mBAAmB,QAAQ,kBAAkBkke,GAAG,UAAU,QAAQ,sBAAsB,QAAQ,mBAAmB,QAAQ,mBAAmB,QAAQ,oBAAoB,QAAQ,oBAAoB,QAAQ,wBAAwB,QAAQ,wBAAwB,QAAQ,yBAAyB,QAAQ,8BAA8B,QAAQ,2BAA2B,QAAQ,0BAA0B,QAAQ,qBAAqB5ne,GAAG,YAAYE,GAAG,WAAW9mD,GAAG,WAAWi9hB,GAAG,SAAS/1e,GAAG,UAAUC,GAAG,oBAAoB,QAAQ,mBAAmB,QAAQ,kBAAkB,QAAQ,kBAAkB,QAAQ,sBAAsB,QAAQ,kBAAkB,QAAQ,uBAAuBE,GAAG,UAAUD,IAAI,WAAWG,GAAG,iBAAiB,QAAQ,iBAAiBC,GAAG,WAAWa,GAAG,WAAW/B,GAAG,oBAAoB,QAAQ,mBAAmB,QAAQ,mBAAmB,QAAQ,yBAAyB,QAAQ,sBAAsB,QAAQ,uBAAuBtlD,GAAG,QAAQk8hB,GAAG,WAAWlgC,GAAG,UAAUuH,GAAG,SAASxrU,GAAG,QAAQjxI,GAAG,YAAYpsD,GAAG,YAAYyf,GAAG,aAAagihB,GAAG,YAAY71e,GAAG,QAAQY,GAAG,qBAAqB,QAAQ,wBAAwBzgD,GAAG,WAAWm8P,GAAG,UAAUw5R,GAAG,WAAW10e,GAAG,SAAS8rb,GAAG,QAAQtrb,GAAG,UAAUm0e,IAAI,UAAUt+a,GAAG,SAAS,QAAQ,uBAAuB,QAAQ,uBAAuB4ya,GAAG,QAAQjoe,GAAG,UAAUF,GAAG,aAAaJ,GAAG,gBAAgBW,GAAG,kBAAkBE,GAAG,QAAQjtD,GAAG,YAAYsiG,GAAG,UAAUx1C,GAAG,QAAQo3M,GAAG,UAAUo8R,GAAG,YAAYC,GAAG,SAASC,GAAG,SAAS16R,GAAG,SAASr4M,GAAG,YAAY82a,GAAG,qBAAqBgtD,GAAG,sBAAsB2F,GAAG,UAAUnpB,GAAG,QAAQ0yB,GAAG,QAAQz2e,GAAG,UAAU,QAAQ,eAAe8D,GAAG,SAASwxJ,GAAG,aAAa,QAAQ,sBAAsB0sU,GAAG,UAAU,QAAQ,kBAAkB,QAAQ,qBAAqB0U,GAAG,UAAU1ye,GAAG,iBAAiBE,GAAG,WAAW,QAAQ,sBAAsBE,GAAG,UAAU,QAAQ,qBAAqBuye,GAAG,iBAAiB/xe,GAAG,QAAQuoe,GAAG,WAAW1oe,GAAG,YAAYouZ,GAAG,SAAS/tZ,GAAG,aAAaM,GAAG,UAAUL,GAAG,SAASC,GAAG,YAAYE,GAAG,SAASwqW,GAAG,UAAU7vW,GAAG,UAAU,QAAQ,sBAAsB,QAAQ,oBAAoB,QAAQ,kBAAkB,QAAQ,qBAAqB,QAAQ,uBAAuB,QAAQ,+BAA+B,QAAQ,oBAAoB,QAAQ,wBAAwB,QAAQ,sBAAsB,QAAQ,qBAAqB,QAAQ,mBAAmB,QAAQ,sBAAsB,QAAQ,mBAAmB,QAAQ,qBAAqB,QAAQ,iBAAiB,QAAQ,wBAAwB,QAAQ,kBAAkB,QAAQ,oBAAoB,QAAQ,sBAAsBs5c,GAAG,OAAO7zc,GAAG,UAAUD,GAAG,UAAU,QAAQ,oBAAoB,QAAQ,mBAAmBs3M,GAAG,QAAQj3M,GAAG,QAAQo/Y,GAAG,SAAS72Y,GAAG,OAAO2oe,IAAI,QAAQx1J,GAAG,SAASimJ,GAAG,SAASvte,GAAG,UAAU2L,GAAG,UAAUI,GAAG,YAAYhF,IAAI,gBAAgB6iY,GAAG,OAAOm6E,GAAG,QAAQ73c,GAAG,aAAa6we,GAAG,UAAUpL,GAAG,UAAU1igB,GAAG,QAAQ+tgB,GAAG,QAAQvR,GAAG,UAAUwR,GAAG,QAAQp6iB,KAAKH,KAAKike,SAASq1E,iBAAiBkB,aAAar6iB,GAAE,IAAKH,KAAKike,SAASq1E,iBAAiBC,eAAev5iB,KAAKike,SAASj2Y,OAAOokG,UAAU,cAAa,WAAYpyL,KAAKike,SAASisB,MAAM,UAAUlwf,KAAKike,SAASq1E,iBAAiBkB,aAAa,QAAQx6iB,KAAKike,SAASq1E,iBAAiBC,cAAa,IAAKv5iB,MAAM63gB,GAAG54V,EAAEogW,IAAI5B,GAAG5F,GAAG4iC,mBAAmB,SAAS/riB,EAAE89B,GAAG,IAAIlsC,EAAED,EAAE4T,GAAGu4B,EAAEA,GAAG,IAAI1C,MAAM9pC,KAAKike,SAASQ,UAAU9/d,EAAE6nC,EAAE/C,UAAUzpC,KAAKike,SAASU,cAAcvke,EAAEosC,EAAEw5e,WAAWhmhB,KAAKike,SAASkiD,eAAehihB,EAAEqoC,EAAEjB,OAAOiB,EAAEjB,OAAOt3B,EAAEqnN,SAASo/U,QAAQnvgB,OAAO8zE,EAAEl7G,EAAEw2iB,IAAIx2iB,EAAEw2iB,IAAI,EAAE/tiB,EAAE4/B,EAAEougB,QAAQpugB,EAAEougB,QAAQ3miB,EAAEqnN,SAASo/U,QAAQE,QAAQ/1hB,EAAEjY,EAAE+tiB,IAAI/tiB,EAAE+tiB,IAAI,EAAE3miB,GAAE,IAAKw4B,EAAEg6e,UAAU15gB,EAAE,EAAErM,EAAEiO,EAAElO,OAAOouC,EAAE,EAAEliC,EAAEvI,EAAE,IAAIk7G,EAAExoF,EAAE,GAAG,IAAIv2B,EAAE,EAAEA,EAAEG,EAAEH,IAAID,EAAEqO,EAAE6jC,WAAWjyC,GAAG,mBAAmB2T,EAAEqnN,SAASu/U,cAAchkhB,EAAExyB,MAAM4P,EAAEqnN,SAASw/U,aAAa7miB,EAAEqnN,SAASy/U,iBAAiB16iB,IAAID,GAAG,IAAIuE,IAAI,GAAG,MAAMmI,EAAEkH,GAAG,WAAW,IAAEpH,EAAEvM,MAAM8wE,MAAMvsD,SAAShY,EAAEvM,GAAGuuC,GAAG,KAAKhiC,EAAEvM,GAAGuuC,GAAG/pB,EAAE,EAAEgS,EAAExyB,MAAMF,EAAE9D,IAAIqM,GAAG2yG,EAAEvyG,IAAI8hC,EAAEvuC,EAAE,OAAOw2B,GAAG8mf,GAAG9F,GAAG0O,mBAAmB,SAASpmhB,EAAEuO,GAAG,IAAI89B,GAAG99B,EAAEA,GAAG,IAAI+6B,UAAUzpC,KAAKike,SAASU,cAAcrke,EAAEoO,EAAEo7B,MAAM9pC,KAAKike,SAASQ,UAAUpke,EAAEqO,EAAEs3gB,WAAWhmhB,KAAKike,SAASkiD,eAAe,OAAOtO,GAAGyjB,gBAAgBn7hB,EAAE03gB,GAAGyjB,cAAcn7hB,IAAI,mBAAmBG,EAAEg7N,SAASu/U,cAAcv6iB,EAAEg7N,SAASu/U,cAAc16iB,EAAEqsC,EAAEnsC,GAAGmsC,EAAEixe,GAAG58gB,MAAMb,KAAKO,WAAWqrC,QAAO,SAAUzrC,EAAEuO,GAAG,OAAOvO,EAAEuO,IAAI,IAAIovgB,GAAG,SAAS39gB,EAAEuO,EAAE89B,EAAElsC,GAAG,IAAI,IAAID,EAAE,GAAG4T,EAAE,EAAEtP,EAAExE,EAAEK,OAAOJ,EAAE,EAAE6T,IAAItP,GAAGvE,EAAEsO,EAAEuF,GAAGu4B,GAAGpsC,GAAGsO,EAAEuF,GAAGA,IAAI5T,EAAEgE,KAAKlE,EAAEqF,MAAM,EAAEyO,IAAI,IAAI9P,EAAE8P,EAAE,IAAI7T,EAAE,EAAE6T,IAAItP,GAAGvE,EAAEsO,EAAEuF,GAAG3T,IAAID,EAAEgE,KAAKlE,EAAEqF,MAAMrB,EAAE8P,IAAI7T,EAAE,EAAE+D,EAAE8P,GAAG7T,GAAGsO,EAAEuF,GAAGA,IAAI,OAAO9P,IAAI8P,GAAG5T,EAAEgE,KAAKlE,EAAEqF,MAAMrB,EAAE8P,IAAI5T,GAAGg+gB,GAAG,SAASl+gB,EAAEuO,EAAE89B,GAAGA,IAAIA,EAAE,IAAI,IAAIlsC,EAAED,EAAE4T,EAAEtP,EAAEvE,EAAE+D,EAAEk7G,EAAEzyG,EAAE,GAAGiY,EAAE,CAACjY,GAAGoH,EAAEw4B,EAAE6/S,YAAY,EAAEv/U,EAAE,EAAErM,EAAE,EAAEmuC,EAAEzuC,EAAEwD,MAAM,KAAK+I,EAAE+wgB,GAAG58gB,MAAMb,KAAK,CAAC,IAAIwsC,IAAI,GAAG,GAAGroC,GAAG,IAAIqoC,EAAEwugB,WAAWpsgB,EAAE,GAAGpuC,OAAO,EAAEgsC,EAAEwugB,YAAY,EAAE,CAAC,IAAInkhB,EAAE/xB,MAAMX,GAAGI,KAAK,KAAKwuB,EAAE,GAAG6b,EAAE37B,KAAI,SAAU9S,IAAIA,EAAEA,EAAEwD,MAAM,UAAUnD,OAAO,EAAEuyB,EAAEA,EAAErwB,OAAOvC,EAAE8S,KAAI,SAAU9S,EAAEuO,GAAG,OAAOA,GAAGvO,EAAEK,OAAO,KAAK,IAAIL,MAAM4yB,EAAE1uB,KAAKlE,EAAE,OAAOyuC,EAAE7b,EAAE5uB,EAAEw5gB,GAAG98gB,MAAMb,KAAK,CAAC62B,EAAE2V,IAAI,IAAIv4B,EAAE,EAAEtP,EAAEiqC,EAAEpuC,OAAOyT,EAAEtP,EAAEsP,IAAI,CAAC,IAAI/G,EAAE,EAAE,GAAG5M,EAAEsuC,EAAE36B,GAAG9P,GAAG,MAAM7D,EAAE,KAAKA,EAAEA,EAAE+hH,OAAO,GAAGn1G,EAAE,GAAG8G,EAAElH,GAAGrM,GAAGJ,EAAEo9gB,GAAG58gB,MAAMb,KAAK,CAACM,EAAEksC,KAAKZ,QAAO,SAAUzrC,EAAEuO,GAAG,OAAOvO,EAAEuO,IAAI,IAAIA,GAAGxB,EAAE,CAAC,GAAGzM,EAAEiO,EAAE,CAAC,IAAItO,EAAE09gB,GAAGj9gB,MAAMb,KAAK,CAACM,EAAED,EAAEqO,GAAGsF,EAAElH,GAAG4B,IAAI9B,EAAEvI,KAAKjE,EAAEgU,SAASxH,EAAE,CAACxM,EAAEo2E,OAAOp2E,EAAEI,QAAQqkB,EAAExgB,KAAK,CAACjE,EAAEgU,UAAU3T,EAAEJ,EAAEmF,MAAMlF,EAAEE,QAAQoM,EAAE,GAAGA,EAAE,GAAGpM,OAAO,IAAIorC,QAAO,SAAUzrC,EAAEuO,GAAG,OAAOvO,EAAEuO,IAAI,QAAQ9B,EAAE,CAACtM,GAAGukB,EAAExgB,KAAKuI,GAAGoH,EAAEvT,EAAE0D,EAAE2I,EAAEJ,OAAOE,EAAEvI,KAAK/D,GAAG0T,GAAGlH,EAAErM,EAAEqM,EAAEJ,EAAE,OAAO2yG,EAAEl7G,EAAE,SAAShE,EAAEuO,GAAG,OAAOA,EAAEmoB,EAAE,IAAI12B,EAAEoE,KAAK,MAAM,SAASpE,GAAG,OAAOA,EAAEoE,KAAK,MAAMsgB,EAAE5R,IAAIosG,IAAIw4Z,GAAGnzC,gBAAgB,SAASvke,EAAEuO,EAAE89B,GAAG,IAAIlsC,EAAED,GAAGmsC,EAAEA,GAAG,IAAI/C,UAAUzpC,KAAKike,SAASU,cAAc1wd,EAAE,SAAS9T,GAAG,GAAGA,EAAEorC,QAAQprC,EAAEy6iB,QAAQ,MAAM,CAACrvgB,OAAOprC,EAAEorC,OAAOqvgB,QAAQz6iB,EAAEy6iB,SAAS,IAAIlsiB,EAAE1O,KAAKike,SAASQ,QAAQtke,EAAEyke,SAASzke,EAAEypC,WAAW,OAAOl7B,EAAE4sN,SAASo/U,QAAQ,CAACnvgB,OAAO78B,EAAE4sN,SAASo/U,QAAQnvgB,QAAQ,CAACs7D,EAAE,GAAG+zc,QAAQlsiB,EAAE4sN,SAASo/U,QAAQE,SAAS,IAAI,CAAC9wgB,KAAKp7B,EAAE4sN,SAAS7xL,SAASzpC,KAAKike,SAASU,cAAcqhD,UAAUhmhB,KAAKike,SAASkiD,iBAAiBvlhB,KAAKZ,KAAKwsC,GAAGlsC,EAAEwE,MAAMC,QAAQ5E,GAAGA,EAAEwG,OAAOxG,GAAGwD,MAAM,SAAS,IAAIgB,EAAE,EAAE3E,KAAKike,SAASC,YAAYx1d,EAAErO,EAAE4T,EAAEo4U,WAAW7/S,EAAE6/S,WAAW,EAAE7/S,EAAE6/S,WAAWrsV,KAAKike,SAASC,YAAY7je,EAAE,EAAE4T,EAAE+miB,WAAWxugB,EAAEwugB,WAAW,IAAI56iB,EAAE+D,EAAEk7G,EAAE,GAAG,IAAIj/G,EAAE,EAAE+D,EAAE7D,EAAEE,OAAOJ,EAAE+D,EAAE/D,IAAIi/G,EAAEA,EAAE38G,OAAO27gB,GAAGx9gB,MAAMb,KAAK,CAACM,EAAEF,GAAGuE,EAAEsP,KAAK,OAAOorG,GAAG,SAAS3wG,GAAGA,EAAEusiB,gBAAgBvsiB,EAAEusiB,iBAAiB,GAAG,IAAI,IAAIzugB,EAAE,mBAAmBlsC,EAAE,GAAGD,EAAE,GAAG4T,EAAE,EAAEA,EAAEu4B,EAAEhsC,OAAOyT,IAAI3T,EAAEksC,EAAEv4B,IAAI,mBAAmBA,GAAG5T,EAAE,mBAAmB4T,IAAIu4B,EAAEv4B,GAAG,IAAItP,EAAE,SAASxE,GAAG,MAAM,KAAKykB,SAASzkB,EAAE,IAAIiyB,SAAS,KAAKhyB,EAAEsO,EAAEusiB,gBAAgBjmC,SAAS,SAAStmgB,GAAG,IAAI89B,EAAElsC,EAAE2T,EAAE9P,EAAEk7G,EAAE,CAAC,KAAK,IAAI,IAAIzyG,KAAK8B,EAAE,CAAC,GAAG89B,EAAE99B,EAAE9B,GAAGukE,MAAMvsD,SAAShY,EAAE,KAAKtM,EAAE,IAAIsM,EAAE,KAAKA,EAAEgY,SAAShY,EAAE,IAAItM,GAAGA,EAAEqE,EAAEiI,GAAGpH,MAAM,IAAIA,MAAM,GAAG,GAAGnF,EAAEC,EAAEkF,OAAO,KAAK,iBAAiBgnC,EAAEA,EAAE,GAAGv4B,EAAEtP,EAAE6nC,GAAGhnC,MAAM,GAAGrB,EAAE,MAAM8P,EAAEtP,EAAE6nC,GAAGhnC,MAAM,GAAGrB,EAAE,IAAI8P,EAAE9P,EAAE8P,EAAEzO,MAAM,GAAG,GAAGnF,EAAE4T,EAAEzO,OAAO,QAAQ,CAAC,GAAG,WAAW,IAAEgnC,GAAG,MAAM,IAAIrkC,MAAM,yCAAyC,IAAEqkC,GAAG,KAAKv4B,EAAE7T,EAAEosC,GAAG6yE,EAAEh7G,KAAK/D,EAAE2T,GAAG,OAAOorG,EAAEh7G,KAAK,KAAKg7G,EAAE96G,KAAK,KAAKJ,EAAEuK,EAAEusiB,gBAAgBC,WAAW,SAAS/6iB,GAAG,GAAG,iBAAiBA,EAAE,MAAM,IAAIgI,MAAM,0CAA0C,IAAI,IAAIuG,EAAE89B,EAAEnsC,EAAE4T,EAAEtP,EAAE,GAAGvE,EAAE,EAAE+D,EAAEQ,EAAE06G,EAAE,GAAGzyG,EAAE,GAAGiY,EAAE,GAAG7Q,EAAE7T,EAAEK,OAAO,EAAEsM,EAAE,EAAEA,EAAEkH,EAAElH,GAAG,EAAE,MAAMmH,EAAE9T,EAAE2M,IAAI4B,GAAGrO,EAAEqO,EAAEnK,KAAK,IAAImK,OAAE,GAAQA,EAAE,GAAGA,EAAEA,EAAErK,KAAK4P,GAAG,KAAKA,GAAGorG,EAAEh7G,KAAK,CAACF,EAAE9D,IAAI8D,EAAE,GAAG9D,OAAE,GAAQ,KAAK4T,IAAIu4B,EAAE6yE,EAAE7oC,OAAO,GAAGhqC,EAAE,IAAIroC,EAAE9D,OAAE,EAAO8D,EAAEqoC,EAAE,IAAI,KAAKv4B,EAAE7T,GAAG,OAAE,IAASC,EAAEC,EAAEK,eAAesT,IAAIrH,GAAGtM,EAAE2T,GAAG5T,EAAEukB,SAAShY,EAAE,IAAIxM,EAAEA,EAAE,EAAEwM,EAAE,IAAIA,GAAGqH,EAAE3T,EAAEK,eAAesT,IAAI4Q,GAAGvkB,EAAE2T,GAAG9P,EAAE9D,GAAGukB,SAASC,EAAE,IAAIzkB,EAAEA,EAAE,EAAEC,OAAE,EAAOwkB,EAAE,IAAIA,GAAG5Q,EAAE,OAAOtP,GAAG06G,EAAE,CAACoja,UAAU,CAAC,mBAAmB04B,gBAAgBh3iB,EAAE,+JAA+JyI,EAAE,CAAC8tiB,QAAQ,CAACU,QAAQ/7b,EAAE,eAAeA,EAAE,sBAAsBA,EAAE,kBAAkBA,EAAEk/a,UAAUl/a,EAAE,iBAAiBA,EAAE,wBAAwBA,EAAE,oBAAoBA,EAAE,cAAcA,EAAE,aAAaA,EAAE,mBAAmBA,EAAE,eAAeA,IAAIx6F,EAAE,CAAC61hB,QAAQ,CAAC,kBAAkBv2iB,EAAE,6CAA6C,mBAAmBA,EAAE,kxDAAkxD,iBAAiBA,EAAE,gnDAAgnDi3iB,QAAQj3iB,EAAE,6CAA6C,sBAAsBA,EAAE,6CAA6C,aAAaA,EAAE,yzDAAyzDkX,OAAOlX,EAAE,sNAAsNo6hB,UAAUp6hB,EAAE,grDAAgrD,wBAAwBA,EAAE,gnDAAgnDk3iB,aAAal3iB,EAAE,iDAAiD,eAAeA,EAAE,6CAA6C,eAAeA,EAAE,qrDAAqrD,cAAcA,EAAE,02DAA02D,oBAAoBA,EAAE,krDAAkrDuK,EAAEs/E,OAAO3pF,KAAK,CAAC,UAAU,SAASlE,GAAG,IAAIuO,EAAEvO,EAAE2pC,KAAK0C,EAAE3nB,EAAE61hB,QAAQhsiB,EAAEkygB,gBAAgBp0e,IAAI99B,EAAE4sN,SAASo/U,QAAQ,GAAGhsiB,EAAE4sN,SAASo/U,QAAQnvgB,OAAOiB,EAAEjB,OAAO78B,EAAE4sN,SAASo/U,QAAQE,QAAQpugB,EAAEougB,SAAS,IAAIt6iB,EAAEsM,EAAE8tiB,QAAQhsiB,EAAEkygB,gBAAgBtghB,IAAIoO,EAAE4sN,SAASo/U,QAAQ75B,SAASvghB,EAAEoO,EAAEmygB,SAASvghB,EAAEmihB,UAAU,OAA5rgB,CAAosgBxjW,EAAEogW;;;;;;AAM7svB,SAASl/gB,GAAG,IAAIuO,EAAE,SAASvO,GAAG,IAAI,IAAIuO,EAAEvO,EAAEK,OAAOgsC,EAAE,IAAI8F,WAAW5jC,GAAGpO,EAAE,EAAEA,EAAEoO,EAAEpO,IAAIksC,EAAElsC,GAAGH,EAAEoyC,WAAWjyC,GAAG,OAAOksC,GAAGrsC,EAAEk/gB,IAAIrxb,OAAO3pF,KAAK,CAAC,UAAU,SAASmoC,GAAG,IAAIlsC,OAAE,EAAOD,EAAEmsC,EAAE1C,KAAK71B,EAAEu4B,EAAE/xB,SAAS,IAAIpa,EAAE2hhB,eAAe,CAAC,QAAG,IAAS/tgB,EAAE,MAAM,IAAI9L,MAAM,+EAA+E9H,EAAEughB,eAAe,OAAO,GAAG,iBAAiBtghB,GAAE,IAAK2T,EAAEqniB,gBAAgBj7iB,EAAEughB,gBAAgB3sgB,EAAEk+gB,SAAS9xhB,EAAEughB,gBAAgB3sgB,EAAEsniB,eAAel7iB,EAAEughB,iBAAiB,MAAM,IAAIz4gB,MAAM,6FAA6F9H,EAAEughB,eAAe,QAAQ,SAASp0e,EAAElsC,GAAGA,EAAE,oBAAoBmG,KAAKnG,GAAGoO,EAAEpO,GAAGoO,EAAE2wG,EAAE/+G,IAAIksC,EAAE8uL,SAASn7N,EAAEk/gB,IAAIm8B,QAAQt0c,KAAK5mG,GAAGksC,EAAE8uL,SAASo/U,QAAQlugB,EAAE8uL,SAASo/U,SAAS,CAAC75B,SAAS,GAAG+5B,QAAQ,GAAGrvgB,OAAO,IAAIiB,EAAE8uL,SAASmgV,WAAW,CAAC,GAA3L,CAA+Lp7iB,EAAEC,OAA9xB,CAAsyB2+K;;;;;;;;;;;;;;;;;;;;;;;;AAwBtyB,SAAS9+K,GAAG,SAASuO,IAAI,OAAOpO,EAAEo7iB,MAAMhhhB,QAAQ/F,QAAQr0B,EAAEo7iB,OAAO,iDAAiBl0d,OAAM,SAAUrnF,GAAG,OAAOu6B,QAAQ9F,OAAO,IAAIzsB,MAAM,yBAAyBhI,OAAO0mB,MAAK,SAAU1mB,GAAG,OAAOA,EAAEmG,QAAQnG,EAAEmG,QAAQnG,KAAK8+K,EAAEogW,IAAIs8B,cAAc,SAASx7iB,EAAEqsC,EAAElsC,EAAED,EAAEsE,EAAEvE,EAAE+D,EAAEk7G,GAAG,GAAGluC,MAAM3kC,IAAI2kC,MAAM7wE,GAAG,MAAM2T,EAAEsI,MAAM,2CAA2Chc,WAAW,IAAI4H,MAAM,qDAAqD,GAAGgpE,MAAM9wE,IAAI8wE,MAAMxsE,GAAG,MAAMsP,EAAEsI,MAAM,4CAA4Chc,WAAW,IAAI4H,MAAM,4EAA4E,IAAIyE,EAAEysC,SAASjb,cAAc,UAAUxxB,EAAEyR,MAAMhe,EAAEuM,EAAE0R,OAAO3Z,EAAE,IAAIkgB,EAAEjY,EAAEwjC,WAAW,MAAMvrB,EAAEklB,UAAU,OAAOllB,EAAE6rB,SAAS,EAAE,EAAE9jC,EAAEyR,MAAMzR,EAAE0R,QAAQ,IAAItK,EAAE,CAAC4niB,aAAY,EAAGC,iBAAgB,EAAGC,kBAAiB,GAAIhviB,EAAE9M,KAAK,OAAO0O,IAAImY,MAAK,SAAUnY,GAAG,OAAOA,EAAEqtiB,WAAWl3hB,EAAE1kB,EAAE6T,MAAK,WAAY,OAAO0mB,QAAQ9F,OAAO,IAAIzsB,MAAM,6BAA6B0e,MAAK,SAAU1mB,GAAG,OAAOA,EAAEid,OAAOpJ,MAAM6S,MAAK,WAAY/Z,EAAEwnhB,SAAS1nhB,EAAE+3B,UAAU,aAAa,GAAG6H,EAAElsC,EAAED,EAAEsE,EAAER,EAAEk7G,OAA1gC,GAAohC4/D,EAAEogW,IAAI28B,cAAc,SAAS77iB,GAAG,IAAIuO,EAAE89B,EAAE,EAAE5nB,SAAS5kB,KAAKike,SAASQ,UAAU9sc,GAAG0qF,OAAO,GAAG,IAAI,IAAI3zG,EAAE,IAAIulC,OAAO9zC,EAAE,KAAKqsC,EAAExsC,KAAKike,SAASs/C,qBAAqB70gB,EAAE,IAAIulC,OAAOj0C,KAAKi8iB,YAAY97iB,EAAEH,KAAKike,SAASQ,WAAW,KAAKj4b,EAAExsC,KAAKi8iB,YAAYj8iB,KAAKike,SAASs/C,mBAAmB,GAAGvjhB,KAAKike,SAASQ,YAAY,IAAI,IAAInke,EAAE,EAAEA,GAAGN,KAAKike,SAASs/C,mBAAmBjjhB,IAAI,IAAI,IAAID,EAAE,EAAEA,EAAEL,KAAKike,SAASwQ,MAAMn0e,GAAGE,OAAOH,IAAIL,KAAKike,SAASwQ,MAAMn0e,GAAGD,GAAGL,KAAKike,SAASwQ,MAAMn0e,GAAGD,GAAGmtB,QAAQ9e,EAAE89B,GAAG,OAAOxsC,MAAMi/K,EAAEogW,IAAI68B,kBAAkB,SAASxtiB,EAAE89B,GAAG,IAAIlsC,EAAEoO,EAAEA,GAAG,GAAG89B,EAAEA,IAAG,EAAG,IAAInsC,EAAE4T,EAAEtP,EAAEvE,EAAE,CAAC+7iB,YAAY,CAACzwd,cAAa,EAAG1qF,OAAM,EAAG2J,KAAK,UAAUyxiB,aAAY,EAAGC,SAAS,EAAC,GAAG,GAAIC,WAAW,KAAKC,YAAY,CAAC7wd,cAAa,EAAG1qF,OAAM,EAAG2J,KAAK,UAAUyxiB,aAAY,EAAGC,SAAS,EAAC,GAAG,GAAIC,WAAW,KAAKE,aAAa,CAAC9wd,cAAa,EAAG1qF,OAAM,EAAG2J,KAAK,UAAUyxiB,aAAY,EAAGC,SAAS,EAAC,GAAG,GAAIC,WAAW,KAAKG,UAAU,CAAC/wd,cAAa,EAAG1qF,OAAM,EAAG2J,KAAK,UAAUyxiB,aAAY,EAAGC,SAAS,EAAC,GAAG,GAAIC,WAAW,KAAKI,aAAa,CAAChxd,cAAa,EAAG1qF,OAAM,EAAG2J,KAAK,UAAUyxiB,aAAY,EAAGC,SAAS,EAAC,GAAG,GAAIC,WAAW,KAAKK,gBAAgB,CAACjxd,cAAa,EAAG1qF,OAAM,EAAG2J,KAAK,UAAUyxiB,aAAY,EAAGC,SAAS,EAAC,GAAG,GAAIC,WAAW,KAAKM,sBAAsB,CAAClxd,aAAa,UAAU1qF,MAAM,UAAU2J,KAAK,OAAOyxiB,aAAY,EAAGC,SAAS,CAAC,UAAU,cAAc,YAAY,SAASC,WAAW,KAAKO,UAAU,CAACnxd,aAAa,MAAM1qF,MAAM,MAAM2J,KAAK,OAAOyxiB,aAAY,EAAGC,SAAS,CAAC,MAAM,OAAOC,WAAW,KAAKQ,SAAS,CAACpxd,aAAa,UAAU1qF,MAAM,UAAU2J,KAAK,OAAOyxiB,aAAY,EAAGC,SAAS,CAAC,WAAW,UAAU,UAAU,WAAW,UAAUC,WAAW,KAAKS,SAAS,CAACrxd,aAAa,UAAU1qF,MAAM,UAAU2J,KAAK,OAAOyxiB,aAAY,EAAGC,SAAS,CAAC,WAAW,UAAU,UAAU,WAAW,UAAUC,WAAW,KAAKU,UAAU,CAACtxd,aAAa,UAAU1qF,MAAM,UAAU2J,KAAK,OAAOyxiB,aAAY,EAAGC,SAAS,CAAC,WAAW,UAAU,UAAU,WAAW,UAAUC,WAAW,KAAKW,UAAU,CAACvxd,aAAa,UAAU1qF,MAAM,UAAU2J,KAAK,OAAOyxiB,aAAY,EAAGC,SAAS,CAAC,WAAW,UAAU,UAAU,WAAW,UAAUC,WAAW,KAAKY,aAAa,CAACxxd,aAAa,aAAa1qF,MAAM,aAAa2J,KAAK,OAAOyxiB,aAAY,EAAGC,SAAS,CAAC,aAAa,QAAQC,WAAW,KAAKa,OAAO,CAACzxd,aAAa,GAAG1qF,MAAM,OAAO2J,KAAK,OAAOyxiB,aAAY,EAAGC,SAAS,CAAC,UAAU,sBAAsB,qBAAqB,QAAQC,WAAW,KAAKc,kBAAkB,CAAC1xd,cAAa,EAAG1qF,OAAM,EAAG2J,KAAK,UAAUyxiB,aAAY,EAAGC,SAAS,EAAC,GAAG,GAAIC,WAAW,KAAKe,eAAe,CAAC3xd,aAAa,GAAG1qF,MAAM,GAAG2J,KAAK,QAAQyxiB,aAAY,EAAGC,SAAS,KAAKC,WAAW,KAAKgB,UAAU,CAAC5xd,aAAa,EAAE1qF,MAAM,EAAE2J,KAAK,UAAUyxiB,aAAY,EAAGC,SAAS,KAAKC,WAAW,MAAMn4iB,EAAElE,OAAOuzB,KAAKpzB,GAAGi/G,EAAE,GAAGzyG,EAAE,EAAEiY,EAAE,EAAE7Q,EAAE,EAAE,SAASlH,EAAE3M,EAAEuO,GAAG,IAAI89B,EAAElsC,GAAE,EAAG,IAAIksC,EAAE,EAAEA,EAAErsC,EAAEK,OAAOgsC,GAAG,EAAErsC,EAAEqsC,KAAK99B,IAAIpO,GAAE,GAAI,OAAOA,EAAE,QAAG,IAASN,KAAKike,SAASs5E,oBAAoBv9iB,KAAKike,SAASs5E,kBAAkB,GAAGv9iB,KAAKike,SAASs5E,kBAAkBn5iB,cAAcknE,KAAKoD,MAAMpD,KAAKC,UAAUnrE,IAAIJ,KAAKike,SAASs5E,kBAAkBhE,cAAa,GAAIj5iB,EAAEN,KAAKike,SAASs5E,kBAAkBn5iB,cAAc,UAAUsK,IAAG,IAAK89B,EAAE,CAAC,IAAI/rC,EAAE0D,EAAE3D,OAAO,IAAIwT,EAAE,EAAEA,EAAEvT,EAAEuT,GAAG,EAAE1T,EAAE6D,EAAE6P,IAAIhT,MAAMV,EAAE6D,EAAE6P,IAAI03E,aAAaprF,EAAE6D,EAAE6P,IAAIooiB,aAAY,EAAG,GAAG,WAAW,IAAE1tiB,GAAG,IAAIuF,KAAKvF,EAAE,GAAG/J,EAAE+J,EAAEuF,GAAGnH,EAAE3I,EAAE8P,SAAI,IAAStP,EAAE,CAAC,GAAG,YAAYrE,EAAE2T,GAAGtJ,MAAM,kBAAkBhG,EAAErE,EAAE2T,GAAGjT,MAAM2D,OAAO,GAAG,SAASrE,EAAE2T,GAAGtJ,MAAMmC,EAAExM,EAAE2T,GAAGooiB,SAAS13iB,GAAGrE,EAAE2T,GAAGjT,MAAM2D,OAAO,GAAG,YAAYrE,EAAE2T,GAAGtJ,MAAMuqB,OAAO+5f,UAAUtqhB,GAAGrE,EAAE2T,GAAGjT,MAAM2D,OAAO,GAAG,UAAUrE,EAAE2T,GAAGtJ,KAAK,CAAC,IAAIiC,EAAE,EAAEA,EAAEjI,EAAEnE,OAAOoM,GAAG,EAAE,GAAGvM,GAAE,EAAG,IAAIsE,EAAEiI,GAAGpM,QAAQ,iBAAiBmE,EAAEiI,GAAG,GAAGyyG,EAAEh7G,KAAKsC,OAAOhC,EAAEiI,GAAG,SAAS,GAAGjI,EAAEiI,GAAGpM,OAAO,EAAE,CAAC,IAAIqkB,EAAE,EAAEA,EAAElgB,EAAEiI,GAAGpM,OAAOqkB,GAAG,EAAE,iBAAiBlgB,EAAEiI,GAAGiY,KAAKxkB,GAAE,IAAI,IAAKA,GAAGg/G,EAAEh7G,KAAK,CAACM,EAAEiI,GAAG,GAAG,EAAEjI,EAAEiI,GAAG,GAAG,GAAGrI,KAAK,MAAMjE,EAAE2T,GAAGjT,MAAM,IAAIq+G,EAAE96G,KAAK,KAAK,SAASjE,EAAE2T,GAAGjT,MAAMV,EAAE2T,GAAGy3E,aAAaprF,EAAE2T,GAAGmoiB,aAAY,EAAG,OAAM,IAAKp8iB,KAAKike,SAASs5E,kBAAkBhE,eAAev5iB,KAAKike,SAASj2Y,OAAOokG,UAAU,cAAa,WAAY,IAAIjyL,EAAEuO,EAAE,GAAG,IAAIvO,KAAKG,GAAE,IAAKA,EAAEH,GAAGi8iB,cAAc,SAAS97iB,EAAEH,GAAGwK,KAAK+D,EAAErK,KAAK,IAAIlE,EAAE,KAAKG,EAAEH,GAAGa,OAAO0N,EAAErK,KAAK,IAAIlE,EAAE,IAAIG,EAAEH,GAAGa,QAAQ,IAAI0N,EAAElO,QAAQR,KAAKike,SAASisB,MAAM,2BAA2Bxhf,EAAEnK,KAAK,MAAM,WAAWvE,KAAKike,SAASs5E,kBAAkBhE,cAAa,GAAIv5iB,KAAKike,SAASs5E,kBAAkBn5iB,cAAc9D,EAAEN;;;;;;;;;;;;;;;;;;;;;;;;;KA0BliK,SAASG,GAAG,IAAIuO,EAAE,WAAW,IAAIvO,EAAE,+GAA+GH,KAAKike,SAASu5E,aAAaC,aAAa,qBAAqB/uiB,EAAEg2gB,SAAS7jb,mBAAmB,yCAAyCr0D,EAAEk4e,SAAS7jb,mBAAmB1gG,IAAIG,EAAEokhB,SAAS7jb,mBAAmB7gG,KAAKike,SAASu5E,aAAaliV,WAAWj7N,EAAEqkhB,SAAS7jb,mBAAmB,kDAAkD5sF,EAAEywgB,SAAS7jb,mBAAmB,iBAAiBl8F,EAAE6nC,EAAEhsC,OAAOF,EAAEE,OAAOH,EAAEG,OAAOkO,EAAElO,OAAOyT,EAAEzT,OAAOR,KAAKike,SAASu5E,aAAaE,uBAAuB19iB,KAAKike,SAASq6C,YAAYt+gB,KAAKike,SAASisB,MAAM,4CAA4Cvrf,EAAE,OAAO3E,KAAKike,SAASisB,MAAM,UAAUlwf,KAAKike,SAASisB,MAAMxhf,EAAE89B,EAAElsC,EAAED,EAAE4T,GAAGjU,KAAKike,SAASisB,MAAM,aAAalwf,KAAKike,SAASisB,MAAM,WAAW1jd,EAAE,WAAWxsC,KAAKike,SAASu5E,aAAaE,wBAAwB19iB,KAAKike,SAASisB,MAAM,aAAalwf,KAAKike,SAASu5E,aAAaE,uBAAuB,SAASv9iB,EAAEw9iB,YAAY,SAASx9iB,EAAEG,GAAG,YAAO,IAASN,KAAKike,SAASu5E,eAAex9iB,KAAKike,SAASu5E,aAAa,CAACliV,SAASn7N,EAAEs9iB,aAAan9iB,GAAG,sCAAsCN,KAAKike,SAASj2Y,OAAOokG,UAAU,aAAa5lJ,GAAGxsC,KAAKike,SAASj2Y,OAAOokG,UAAU,mBAAmB1jL,IAAI1O,MAAnuC,CAA0uCi/K,EAAEogW,KAAK,SAASl/gB,GAAG,IAAIuO,EAAEvO,EAAEk/gB,IAAI7ye,EAAE99B,EAAEutiB,YAAY,SAAS97iB,EAAEuO,GAAG,IAAI,IAAI89B,EAAElsC,EAAEoO,EAAE4sN,SAASo/U,QAAQnvgB,OAAOlrC,EAAE,CAAC,GAAG,IAAI,KAAK,MAAM,QAAQ4T,EAAE,CAAC,IAAItP,EAAE,EAAEvE,EAAED,EAAEK,OAAOmE,EAAEvE,IAAIuE,EAAE,CAAC,GAAG6nC,EAAE99B,EAAE4sN,SAASy/U,iBAAiB56iB,EAAEoyC,WAAW5tC,IAAI+J,EAAE4sN,SAASmgV,WAAWp3iB,KAAKmoC,GAAG99B,EAAE4sN,SAASsiV,UAAUpxgB,GAAGrsC,EAAEoyC,WAAW5tC,IAAI,GAAGrE,EAAE4S,QAAQs5B,KAAKlsC,EAAE+D,KAAKmoC,GAAGlsC,EAAE+D,KAAK,CAACugB,SAASlW,EAAE4sN,SAASw/U,aAAatugB,GAAG,OAAO,KAAKA,EAAE,OAAOv4B,EAAE1P,KAAK,IAAIioC,EAAEA,EAAEpa,SAAS,IAAIne,EAAE5P,KAAKhE,EAAE,EAAEmsC,EAAEhsC,QAAQgsC,GAAG,OAAOv4B,EAAE1P,KAAK,KAAKjE,EAAE,SAASH,GAAG,IAAIuO,EAAE89B,EAAElsC,EAAED,EAAE4T,EAAEtP,EAAEvE,EAAE,IAAI6T,EAAE,iQAAiQ3T,EAAE,GAAGqE,EAAE,EAAEvE,GAAGosC,EAAEvsC,OAAOuzB,KAAKrzB,GAAGqxB,MAAK,SAAUrxB,EAAEuO,GAAG,OAAOvO,EAAEuO,MAAMlO,OAAOmE,EAAEvE,EAAEuE,IAAI+J,EAAE89B,EAAE7nC,GAAGrE,EAAEE,QAAQ,MAAMyT,GAAG,KAAK3T,EAAEE,OAAO,iBAAiBF,EAAEiE,KAAK,MAAM,cAAcjE,EAAE,SAAI,IAASH,EAAEuO,IAAI,OAAOvO,EAAEuO,IAAI,mBAAmBvO,EAAEuO,GAAG0jB,WAAW/xB,GAAG,OAAOF,EAAEuO,GAAG0jB,SAAS,KAAK5sB,OAAO,GAAGkJ,GAAG,SAASA,GAAG0jB,SAAS,KAAK5sB,OAAO,GAAGlF,EAAE+D,KAAK,IAAIqK,EAAE,KAAKrO,EAAE,MAAM,OAAOC,EAAEE,SAASyT,GAAG,KAAK3T,EAAEE,OAAO,iBAAiBF,EAAEiE,KAAK,MAAM,iBAAiB0P,EAAG,oEAAoEvF,EAAEs/E,OAAO3pF,KAAK,CAAC,UAAU,SAASqK,IAAI,SAASA,GAAG,IAAI89B,EAAE99B,EAAEo7B,KAAKzpC,EAAEqO,EAAE89K,IAAIv4K,EAAEvF,EAAE4vgB,UAAU35gB,EAAE+J,EAAEqwgB,UAAU,GAAGvye,EAAE8uL,oBAAoBn7N,EAAEk/gB,IAAIm8B,SAAS,eAAehvgB,EAAEq0e,SAAS,CAAC,IAAI,IAAIzghB,EAAEosC,EAAE8uL,SAASo/U,QAAQnvgB,OAAOpnC,EAAEqoC,EAAE8uL,SAASuiV,OAAO3jX,OAAO1tJ,EAAE8uL,SAASmgV,WAAW,GAAGp8b,EAAE,GAAGzyG,EAAE,EAAEA,EAAEzI,EAAE3D,OAAOoM,IAAIyyG,GAAG14G,OAAOsS,aAAa9U,EAAEyI,IAAI,IAAIiY,EAAE5Q,IAAItP,EAAE,CAACyK,KAAKiwG,EAAE4/Z,YAAW,EAAGC,SAASr6f,IAAIxkB,EAAE,UAAU,IAAI2T,EAAEC,IAAItP,EAAE,CAACyK,KAAK9O,EAAEksC,EAAE8uL,SAASsiV,WAAW3+B,YAAW,EAAGC,SAASlrgB,IAAI3T,EAAE,UAAU,IAAIyM,EAAEmH,IAAI5T,EAAE,MAAMA,EAAE,yBAAyBA,EAAE,cAAc4uT,EAAEziR,EAAEo4b,WAAWvke,EAAE,cAAcwkB,EAAE,QAAQxkB,EAAE,aAAaF,EAAEk/gB,IAAIy+B,UAAUvqW,QAAQ/mK,EAAE8uL,SAASyiV,OAAO19iB,EAAE,UAAUmsC,EAAE8uL,SAASliH,OAAO/4G,EAAE,UAAUmsC,EAAE8uL,SAAS0iV,OAAO39iB,EAAE,gBAAgBmsC,EAAE8uL,SAAS2iV,aAAa59iB,EAAE,WAAWmsC,EAAE8uL,SAAS4iV,UAAU79iB,EAAE,YAAYmsC,EAAE8uL,SAAS6iV,UAAU99iB,EAAE,cAAcmsC,EAAE8uL,SAAS8iV,WAAW/9iB,EAAE,MAAMA,EAAE,UAAU,IAAII,EAAEwT,IAAI5T,EAAE,MAAMA,EAAE,eAAeA,EAAE,cAAc4uT,EAAEziR,EAAEo4b,WAAWvke,EAAE,mBAAmByM,EAAE,QAAQzM,EAAE,MAAMF,EAAEk/gB,IAAIy+B,UAAUvqW,QAAQnzM,IAAIC,EAAE,0BAA0BA,EAAE,YAAYA,EAAE,0BAA0BA,EAAE,kBAAkBA,EAAE,MAAMA,EAAE,iBAAiBA,EAAE,qBAAqBA,EAAE,cAAcmsC,EAAEq0e,SAAS,KAAKxghB,EAAE,MAAMA,EAAE,MAAMA,EAAE,UAAUmsC,EAAEioe,aAAaxggB,IAAI5T,EAAE,MAAMA,EAAE,eAAeA,EAAE,mBAAmBA,EAAE,cAAc2T,EAAE,QAAQ3T,EAAE,cAAc4uT,EAAEziR,EAAEo4b,WAAWvke,EAAE,cAAcmsC,EAAEq0e,UAAUxghB,EAAE,qBAAqBI,EAAE,SAASJ,EAAE,MAAMA,EAAE,UAAUmsC,EAAEm0e,iBAAgB,GAAx0C,CAA60CjygB,MAAMA,EAAEs/E,OAAO3pF,KAAK,CAAC,UAAU,SAASqK,IAAI,SAASA,GAAG,IAAI89B,EAAE99B,EAAEo7B,KAAKzpC,EAAEqO,EAAE89K,IAAIv4K,EAAEvF,EAAE4vgB,UAAU35gB,EAAE+J,EAAEqwgB,UAAU,GAAGvye,EAAE8uL,oBAAoBn7N,EAAEk/gB,IAAIm8B,SAAS,oBAAoBhvgB,EAAEq0e,SAAS,CAAC,IAAI,IAAIzghB,EAAEosC,EAAE8uL,SAASuyS,QAAQ1pgB,EAAE,GAAGk7G,EAAE,EAAEA,EAAEj/G,EAAEI,OAAO6+G,IAAIl7G,GAAGwC,OAAOsS,aAAa7Y,EAAEi/G,IAAI,IAAIzyG,EAAEqH,IAAItP,EAAE,CAACyK,KAAKjL,EAAE86gB,YAAW,EAAGC,SAAStygB,IAAIvM,EAAE,UAAU,IAAIwkB,EAAE5Q,IAAItP,EAAE,CAACyK,KAAK9O,EAAEksC,EAAE8uL,SAASsiV,WAAW3+B,YAAW,EAAGC,SAASr6f,IAAIxkB,EAAE,UAAU,IAAI2T,EAAEC,IAAI5T,EAAE,MAAMA,EAAE,YAAYmsC,EAAE8uL,SAAS6iV,UAAU99iB,EAAE,cAAcmsC,EAAE8uL,SAAS8iV,WAAW/9iB,EAAE,UAAUmsC,EAAE8uL,SAAS0iV,OAAO39iB,EAAE,yBAAyBA,EAAE,cAAcuM,EAAE,QAAQvM,EAAE,aAAaA,EAAE,aAAaF,EAAEk/gB,IAAIy+B,UAAUvqW,QAAQ/mK,EAAE8uL,SAASyiV,OAAO19iB,EAAE,cAAc4uT,EAAEziR,EAAEo4b,WAAWvke,EAAE,gBAAgBmsC,EAAE8uL,SAAS2iV,aAAa59iB,EAAE,WAAWmsC,EAAE8uL,SAAS4iV,UAAU79iB,EAAE,MAAMA,EAAE,UAAUmsC,EAAEioe,aAAaxggB,IAAI,IAAI,IAAInH,EAAE,EAAEA,EAAE0/B,EAAE8uL,SAAS+iV,KAAK9ygB,OAAO/qC,OAAOsM,IAAI0/B,EAAE8uL,SAAS+iV,KAAK9ygB,OAAOz+B,GAAG8X,SAAS4nB,EAAE8uL,SAAS+iV,KAAK9ygB,OAAOz+B,IAAI,IAAI0/B,EAAE8uL,SAAS5nJ,KAAK4qe,aAAaj+iB,EAAE,2CAA2CwkB,EAAE,iBAAiBoqS,EAAEziR,EAAEo4b,UAAU,mBAAmB5wd,EAAE,iBAAiBw4B,EAAEq0e,SAAS,wCAAwC1ghB,EAAEk/gB,IAAIy+B,UAAUvqW,QAAQ/mK,EAAE8uL,SAAS+iV,KAAK9ygB,QAAQ,MAAMlrC,EAAE,UAAUmsC,EAAEm0e,iBAAgB,GAArnC,CAA0nCjygB,MAAM,IAAIrO,EAAE,SAASF,GAAG,IAAIuO,EAAEpO,EAAEH,EAAEmhB,MAAM,GAAGjhB,EAAEF,EAAEoR,EAAE0C,EAAE9T,EAAE+M,EAAEvI,EAAExE,EAAE8C,SAAS,GAAG7C,EAAED,EAAEylhB,OAAO,GAAGzhhB,EAAE/D,EAAEwihB,UAAUvja,EAAEj/G,EAAEylhB,cAAcj5gB,EAAExM,EAAEghP,MAAMv8N,EAAEw6F,EAAErrG,EAAE,GAAGlH,EAAE,EAAErM,EAAE,GAAGmuC,EAAEhiC,EAAEiY,GAAGg8f,SAAS,GAAG,eAAej0gB,EAAEiY,GAAGg8f,SAAS,MAAM,CAACv/f,KAAKhhB,EAAEiR,EAAElR,EAAE6M,EAAE+G,EAAEhR,QAAQ0B,EAAEihhB,MAAMxlhB,GAAG,IAAIK,EAAEH,EAAEukB,EAAEw6F,EAAEv6G,MAAMC,QAAQzE,KAAKG,EAAEH,EAAE,IAAIwM,EAAE,EAAEA,EAAErM,EAAED,OAAOsM,GAAG,EAAEF,EAAEiY,GAAGy2M,SAAS36N,eAAe,UAAU+N,EAAE9B,EAAEiY,GAAGy2M,SAASijV,KAAKC,QAAQC,QAAQh+iB,EAAEqM,GAAGylC,WAAW,KAAK7jC,GAAGjO,EAAEqM,GAAGylC,WAAW,GAAG,KAAK3lC,EAAEiY,GAAGy2M,SAAS36N,eAAe,WAAWqT,GAAGvT,EAAEqM,GAAGkH,GAAG,GAAG,IAAItH,EAAE,GAAG,OAAOkY,SAASC,EAAErf,MAAM,IAAI,IAAI,oBAAoBopC,EAAEliC,EAAEvI,EAAE6P,EAAE6Q,GAAGlhB,MAAM,IAAIsP,KAAI,SAAU9S,GAAG,OAAOA,EAAEoyC,WAAW,GAAGngB,SAAS,OAAO7tB,KAAK,IAAI,eAAeqqC,IAAIliC,EAAE8/B,EAAEx4B,EAAEpH,EAAEiY,KAAKzkB,EAAEsmhB,OAAM,EAAG,CAACplgB,KAAK5U,EAAE6E,EAAElR,EAAE6M,EAAE+G,EAAEhR,QAAQ0B,EAAEihhB,MAAMxlhB,IAAIsO,EAAEs/E,OAAO3pF,KAAK,CAAC,kBAAkB,SAASlE,GAAG,IAAIuO,EAAEvO,EAAEmhB,MAAM,GAAGkrB,EAAE,GAAGlsC,EAAE,CAACghB,KAAK5S,EAAE6C,EAAEpR,EAAEoR,EAAErE,EAAE/M,EAAE+M,EAAEjK,QAAQ9C,EAAE8C,QAAQ2ihB,MAAMzlhB,EAAEylhB,OAAO,GAAG9ghB,MAAMC,QAAQ2J,GAAG,CAAC,IAAIuF,EAAE,EAAE,IAAIA,EAAE,EAAEA,EAAEvF,EAAElO,OAAOyT,GAAG,EAAEnP,MAAMC,QAAQ2J,EAAEuF,KAAK,IAAIvF,EAAEuF,GAAGzT,OAAOgsC,EAAEnoC,KAAK,CAAChE,EAAEJ,OAAOC,OAAO,GAAGI,EAAE,CAACghB,KAAK5S,EAAEuF,GAAG,MAAMqN,KAAK5S,EAAEuF,GAAG,GAAGvF,EAAEuF,GAAG,KAAKu4B,EAAEnoC,KAAKhE,EAAEJ,OAAOC,OAAO,GAAGI,EAAE,CAACghB,KAAK5S,EAAEuF,MAAMqN,MAAMnhB,EAAEmhB,KAAKkrB,OAAOrsC,EAAEmhB,KAAKjhB,EAAEJ,OAAOC,OAAO,GAAGI,EAAE,CAACghB,KAAK5S,KAAK4S,QAArxJ,CAA8xJ29J;;;;;;;;AAQ/gM,SAAS9+K,GAAG,IAAIuO,EAAE,WAAW,YAAO,IAAS1O,KAAKike,SAASy6E,MAAM1+iB,KAAKike,SAASy6E,IAAI,KAAI,GAAIv+iB,EAAEm7iB,gBAAgB,SAASn7iB,GAAG,OAAOuO,EAAE9N,KAAKZ,WAAM,IAASA,KAAKike,SAASy6E,IAAIv+iB,IAAIA,EAAEw+iB,aAAa,SAASx+iB,EAAEqsC,GAAG,OAAO99B,EAAE9N,KAAKZ,MAAMA,KAAKike,SAASy6E,IAAIv+iB,GAAGqsC,EAAExsC,MAAMG,EAAEo7iB,eAAe,SAASp7iB,GAAG,OAAOuO,EAAE9N,KAAKZ,WAAM,IAASA,KAAKike,SAASy6E,IAAIv+iB,GAAGH,KAAKike,SAASy6E,IAAIv+iB,GAAG,MAA9V,CAAqW8+K,EAAEogW;;;;;;AAMvW,SAASl/gB,GAAGA,EAAEy+iB,eAAez+iB,EAAEO,UAAUk+iB,eAAe,SAASz+iB,GAAG,IAAIqsC,EAAElsC,EAAED,EAAE4T,EAAEtP,EAAEvE,EAAE+D,EAAEk7G,EAAE3wG,EAAE9B,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAIiY,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI7Q,EAAE,CAACrI,EAAE,EAAE00e,EAAE,EAAEw+D,GAAG,EAAEC,GAAG,EAAEhrC,EAAE,EAAEn5P,EAAE,EAAE2jM,EAAE,GAAGxxc,EAAE,CAAC+5F,EAAE,EAAErqC,EAAE,EAAES,EAAE,EAAEN,EAAE,EAAExnD,GAAG,EAAE4piB,IAAI,EAAEC,IAAI,EAAEC,IAAI,GAAGx+iB,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKmuC,EAAE,IAAIqF,OAAO,qGAAqGvnC,GAAE,EAAGmqB,EAAE,EAAE72B,KAAK4+iB,eAAe,GAAG,IAAI7rhB,EAAE,SAAS5yB,GAAG,IAAIuO,EAAEvO,EAAEoyC,aAAa/F,EAAE99B,GAAG,EAAEpO,EAAEwM,EAAE0/B,GAAG,YAAO,IAASlsC,EAAE++G,EAAE,IAAI/+G,GAAG,IAAIoO,IAAI,MAAM89B,GAAG,MAAMA,EAAE,KAAKoC,EAAEnoC,KAAK+lC,GAAG,IAAI,IAAIA,EAAE,IAAI,KAAKt/B,EAAE,SAAS/M,GAAG,IAAI,IAAIuO,EAAE89B,EAAE,EAAEA,EAAErsC,EAAEK,OAAOgsC,IAAI,CAAC,GAAG,OAAO99B,EAAEqkB,EAAE5yB,EAAE8nI,OAAOz7F,KAAK,OAAM,EAAG,GAAG,MAAM99B,EAAE,OAAM,EAAG,OAAM,GAAImtB,EAAE,SAAS17B,EAAEuO,EAAE/J,EAAEvE,GAAG,IAAI+D,EAAEk7G,EAAEzyG,EAAEiY,EAAE7Q,EAAEtF,EAAEtO,GAAG,OAAO4T,GAAG,IAAI,IAAI,IAAI,IAAItH,GAAE,EAAG,MAAM,IAAI,IAAI,IAAI,KAAK,MAAM,IAAI,KAAKA,IAAIsH,EAAE,MAAM,MAAM,IAAI,KAAKtH,GAAE,EAAGsH,EAAE,IAAI,MAAM,IAAI,KAAKA,EAAE,IAAI,MAAM,IAAI,KAAK5T,EAAE,GAAGA,EAAE,GAAGsO,EAAElO,QAAQ,QAAQ2D,EAAEQ,EAAEvE,EAAE,KAAK,OAAO+D,GAAG,QAAQk7G,EAAE3wG,EAAEtO,EAAE,KAAK,OAAOi/G,EAAErrG,EAAE,IAAItH,IAAI2yG,EAAE,MAAMrrG,EAAEqrG,IAAIl7G,EAAEk7G,EAAE,IAAI,MAAM,IAAI,KAAKrrG,EAAE,QAAQ7P,EAAE/D,EAAE,EAAEuE,EAAEvE,EAAE,GAAG,MAAMA,EAAE,EAAEsO,EAAElO,QAAQ,OAAOkO,EAAEtO,EAAE,GAAG,KAAK,IAAI,MAAM,IAAI,KAAK,GAAGA,EAAE,GAAG,OAAOuE,EAAEvE,EAAE,GAAG,CAAC4T,EAAE,KAAK,MAAM,GAAGtH,EAAE,CAACsH,EAAE,IAAI,MAAM,IAAIpH,EAAExM,EAAE,EAAEykB,EAAEnW,EAAElO,OAAOoM,EAAEiY,GAAG,OAAOnW,EAAE9B,IAAIA,IAAIoH,EAAEpH,EAAEiY,GAAG,OAAOnW,EAAE9B,GAAG,KAAK,IAAI,MAAM,IAAI,MAAM,GAAGvM,IAAI4T,EAAE,CAAC,IAAI4Q,EAAEnW,EAAElO,OAAOoM,EAAExM,EAAE,EAAEwM,EAAEiY,GAAG,QAAQnW,EAAE9B,IAAIA,IAAI,GAAGA,EAAEiY,EAAE,CAAC,IAAI/X,EAAE3M,EAAEC,GAAGK,EAAEqM,GAAG,MAAMA,GAAG,MAAM,QAAQA,EAAE,GAAG3I,EAAEuK,EAAE9B,GAAGnM,IAAI,MAAM0D,GAAG,OAAOA,GAAG,CAAC6P,EAAE,IAAI,QAAQA,EAAE5T,EAAE,GAAG,OAAO+D,EAAEuK,EAAEtO,EAAE,IAAI,IAAIuE,EAAEvE,EAAE,GAAG,MAAM,IAAI,IAAIsM,GAAE,EAAG8/B,GAAE,EAAGx4B,EAAE6iB,EAAE,MAAM,IAAI,IAAIv2B,GAAE,EAAG0T,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAMtH,GAAE,EAAG,MAAM,IAAI,KAAKsH,EAAE,IAAI,OAAOA,GAAG8/f,EAAE,SAAS3zgB,EAAEuO,EAAE89B,GAAG,IAAIlsC,EAAEH,EAAEwD,MAAM,IAAI,OAAO6oC,GAAG7gC,EAAErL,EAAEksC,EAAE,CAAC0ygB,QAAQrohB,IAAIv2B,EAAE0jF,UAAUt1E,GAAGA,EAAEs1E,UAAU1jF,EAAEiE,KAAK,KAAKoH,EAAE,SAASxL,EAAEuO,EAAErO,GAAG,IAAI4T,EAAEtP,EAAEvE,EAAE+D,EAAEk7G,EAAEvyG,GAAG,EAAErM,EAAEN,EAAEK,OAAOouC,EAAE,EAAE1hC,EAAE,GAAG4mgB,EAAEj9e,EAAEhS,EAAEjY,EAAEjB,EAAE,GAAG,IAAIe,GAAE,EAAG8/B,GAAE,EAAGlsC,GAAE,EAAGqE,EAAE,EAAEA,EAAElE,EAAEkE,IAAIgH,EAAEhH,GAAGouB,EAAE5yB,EAAEwE,IAAI,IAAIvE,EAAE,EAAEA,EAAEK,EAAEL,IAAI,CAAC,GAAGi/G,EAAEzwE,EAAE1hC,EAAE9M,GAAGy7B,EAAE17B,EAAEwL,EAAEuB,EAAE9M,GAAG6T,EAAE,KAAK26B,EAAEkle,EAAEz0Z,GAAGrrG,EAAE9G,EAAE9M,MAAMwuC,GAAG,GAAGlgC,EAAEtO,GAAG+D,EAAE2vgB,EAAElle,GAAG,GAAG36B,EAAE,EAAE,GAAG,KAAKA,EAAE,CAAC,IAAItP,EAAEmI,EAAEnI,EAAEvE,EAAEuE,IAAI+J,EAAE/J,GAAG,EAAEmI,GAAG,OAAOA,GAAG,EAAE,GAAGgngB,EAAElle,GAAG,IAAI,IAAI9hC,IAAIA,EAAE1M,QAAQ,GAAG0M,GAAG,EAAE,CAAC,IAAInI,EAAEmI,EAAEnI,EAAEvE,EAAEuE,IAAI+J,EAAE/J,GAAGR,EAAE2I,GAAG,EAAE,MAAMnB,EAAEvL,KAAKsO,EAAEtO,GAAG,GAAGC,EAAE6+iB,SAAS/6iB,EAAE7D,GAAG,SAASH,EAAEuO,EAAE89B,GAAG,IAAI,IAAIlsC,EAAE,EAAEA,EAAEksC,EAAElsC,IAAI,GAAG,MAAMH,EAAEG,GAAG,CAACoO,EAAEpO,GAAGu2B,EAAE,IAAI,IAAIx2B,EAAEC,EAAE,EAAED,GAAG,GAAG,OAAOF,EAAEE,GAAGA,IAAIqO,EAAErO,GAAGw2B,GAAnG,CAAuGlrB,EAAE+C,EAAEjO,IAAIqpK,EAAE,SAAS3pK,EAAEuO,EAAEpO,EAAED,EAAE4T,GAAG,KAAKA,EAAEiriB,QAAQ/+iB,GAAG,CAAC,GAAG,IAAIA,GAAG,IAAI02B,IAAI2V,EAAE,OAAO99B,EAAEs1E,eAAe1jF,GAAGA,EAAE0jF,WAAW,IAAI,IAAIr/E,EAAEvE,EAAE+D,EAAEk7G,EAAEzyG,EAAE8B,EAAElO,OAAOqkB,EAAE,EAAEA,EAAEjY,GAAG,CAAC,GAAGvM,EAAEwkB,IAAI1kB,EAAE,CAAC,IAAIgE,EAAE0gB,EAAE,EAAE1gB,EAAEyI,GAAGvM,EAAE8D,IAAIhE,GAAGgE,IAAI,IAAIk7G,EAAEx6F,EAAEzkB,EAAE+D,EAAE,EAAEk7G,EAAEj/G,EAAEi/G,IAAIj/G,IAAIuE,EAAE+J,EAAE2wG,GAAG3wG,EAAE2wG,GAAG3wG,EAAEtO,GAAGsO,EAAEtO,GAAGuE,EAAErE,IAAIqE,EAAErE,EAAE++G,GAAG/+G,EAAE++G,GAAG/+G,EAAEF,GAAGE,EAAEF,GAAGuE,GAAGkgB,EAAE1gB,EAAE0gB,OAAOtT,EAAE,SAASpR,EAAEuO,EAAE89B,GAAG,IAAIlsC,EAAEH,EAAEwD,MAAM,IAAItD,EAAE,CAAC6+iB,QAAQrohB,GAAG,OAAO2V,IAAIA,EAAE,IAAI7gC,EAAErL,EAAEksC,EAAEnsC,GAAG,SAASF,EAAEuO,EAAE89B,GAAG,GAAG,IAAIA,EAAE0ygB,SAAS/6iB,EAAE,IAAI,IAAI7D,EAAED,EAAE,EAAEA,EAAEF,EAAEK,OAAOH,IAAI,IAAIqO,EAAErO,KAAKC,EAAEG,EAAEyS,QAAQ/S,EAAEE,MAAM,IAAIF,EAAEE,GAAGI,EAAEH,EAAE,IAA7G,CAAkHA,EAAEksC,EAAEnsC,GAAGypK,EAAE,EAAExpK,EAAEoO,EAAE89B,EAAEnsC,GAAGypK,EAAE,EAAExpK,EAAEoO,EAAE89B,EAAEnsC,GAAGC,EAAEiE,KAAK,KAAK,OAAOvE,KAAK4+iB,eAAeO,cAAc,SAASh/iB,EAAEuO,EAAE89B,GAAG,GAAG,SAASrsC,EAAEuO,GAAG,GAAGA,EAAE,IAAI,IAAI89B,EAAE,EAAEA,EAAErsC,EAAEK,OAAOgsC,IAAI99B,EAAE89B,GAAGA,OAAE,IAASv4B,IAAIA,EAAE/G,EAAE/M,SAAI,IAASC,IAAIA,EAAE8M,EAAE/M,IAA3F,CAAgGA,EAAEuO,GAAGrO,IAAIsE,GAAGvE,EAAE,GAAGC,GAAGsE,GAAGsP,EAAE7T,EAAEy2B,EAAE5iB,EAAE,EAAE,EAAE9T,EAAE2zgB,EAAE3zgB,EAAEuO,EAAE89B,QAAQ,IAAInsC,GAAGsE,GAAGvE,EAAEy2B,EAAE5iB,EAAE,EAAE,EAAE9T,EAAEoR,EAAEpR,EAAEuO,EAAE89B,GAAGrsC,EAAE2zgB,EAAE3zgB,EAAEuO,QAAQ,IAAIrO,GAAG4T,GAAGtP,GAAGvE,GAAG,GAAGC,IAAIsE,GAAGsP,EAAE7T,EAAED,EAAE2zgB,EAAE3zgB,EAAEuO,GAAGuF,GAAG4iB,EAAE,EAAE12B,EAAEoR,EAAEpR,EAAEuO,EAAE89B,KAAK3V,EAAE,EAAE12B,EAAEoR,EAAEpR,EAAEuO,EAAE89B,GAAGrsC,EAAE2zgB,EAAE3zgB,EAAEuO,SAAS,GAAGrO,GAAG4T,IAAItP,GAAGvE,EAAEy2B,EAAE,EAAE12B,EAAEoR,EAAEpR,EAAEuO,EAAE89B,GAAGrsC,EAAE2zgB,EAAE3zgB,EAAEuO,QAAQ,IAAIrO,IAAIsE,GAAGsP,EAAE7T,EAAE,CAAC,IAAIE,EAAE6D,EAAE8P,GAAG4iB,EAAE,EAAE12B,EAAEoR,EAAEpR,EAAEuO,EAAE89B,GAAG3V,EAAE,EAAE1yB,GAAE,EAAGhE,EAAEoR,EAAEpR,EAAEuO,EAAE89B,GAAGroC,EAAE7D,IAAIu2B,EAAE,EAAE12B,EAAEoR,EAAEpR,EAAEuO,EAAE89B,GAAGrsC,EAAE2zgB,EAAE3zgB,EAAEuO,GAAGmoB,EAAE,EAAE1yB,GAAE,EAAGhE,EAAEoR,EAAEpR,EAAEuO,EAAE89B,GAAGroC,EAAE7D,EAAEH,EAAE2zgB,EAAE3zgB,EAAEuO,UAAUmoB,EAAE,EAAE12B,EAAEoR,EAAEpR,EAAEuO,EAAE89B,QAAQ3V,EAAE5iB,EAAE,EAAE,EAAE9T,EAAEoR,EAAEpR,EAAEuO,EAAE89B,GAAG,OAAOrsC,GAAGH,KAAK4+iB,eAAep9f,WAAW,SAASrhD,GAAGA,IAAIE,EAAEF,EAAE0re,cAAclne,EAAExE,EAAE2re,eAAe73d,EAAE9T,EAAE4re,WAAW3re,EAAED,EAAE6re,YAAY7ne,EAAEhE,EAAEi/iB,sBAAsBp/iB,KAAK4+iB,eAAep9f,WAAWrhD,GAAGH,KAAK4+iB,gBAAgB,IAAIlwiB,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,MAAM,IAAI,MAAM,MAAM,IAAI,MAAM,MAAM,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,MAAM,MAAM,IAAI,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,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jqB,gBAAiBhmpB,QACjB2zZ,OAAQ3wa,OACRijqB,cAAejjqB,OACfkjqB,mBAAoBljqB,OACpBmjqB,YAAanjqB,OACbojqB,UAAWpjqB,OACXqjqB,kBAAmB,CAACrmpB,QAAStW,QAC7BsjmB,YAAa,CAACnlmB,MAAOu4B,SAAU12B,QAC/B48pB,mBAAoBruoB,OACpBsuoB,kBAAmBvmpB,QACnBwmpB,gBAAiBvuoB,OACjBwuoB,cAAe,GACfC,SAAU1jqB,OACV2jqB,WAAY3jqB,OACZ0pmB,aAAc1pmB,OACdqe,OAAQ,CAAC+e,SAAUnI,OAAQvuB,QAC3Bk9pB,iBAAkB5mpB,QAClBgO,KAAMtkB,OACNukB,kBAAmBjO,QACnB6mpB,mBAAoB7jqB,OACpB0zD,QAAS,CAAC7uD,MAAO6B,QACjB2ue,UAAWr1e,OACX8jqB,aAAc9jqB,OACdklD,WAAYx+C,OACZq9pB,6BAA8B3moB,SAC9B4moB,YAAa5moB,SACb6moB,eAAgB7moB,SAChB8moB,mBAAoB9moB,SACpB+moB,eAAgB/moB,SAChBy6N,eAAgBz6N,SAChBgnoB,uBAAwBhnoB,SACxBinoB,oBAAqBjnoB,SACrBk1a,YAAal1a,SACbknoB,eAAgBlnoB,SAChBmnoB,gBAAiBnnoB,SACjBonoB,eAAgBpnoB,SAChBqnoB,iBAAkBrnoB,SAClBsnoB,kBAAmBtnoB,SACnBoe,YAAape,SACbunoB,qBAAsBvnoB,SACtBwnoB,sBAAuBxnoB,SACvBynoB,oBAAqBznoB,SACrB0noB,qBAAsB1noB,SACtBgyO,cAAehyO,SACf2noB,aAAc3noB,SACd/R,UAAW+R,SACX/5B,gBAAiB+5B,SACjB4noB,WAAY5noB,SACZ6noB,eAAgB7noB,SAChB8noB,gBAAiB9noB,SACjB+noB,cAAe/noB,SACfgooB,cAAehooB,SACfiooB,eAAgBjooB,SAChBkooB,cAAelooB,SACfmooB,eAAgBnooB,SAChBoooB,cAAepooB,SACfqooB,aAAcrooB,SACdsooB,cAAetooB,SACfuooB,aAAcvooB,SACdwooB,cAAexooB,SACfyooB,gBAAiBz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CHh45B,KAAM,CACJk8B,SAAU,SACVjiB,OAAQ,WAEVkiB,UAAW,KAEb873B,IAAK,CACHj45B,KAAM,CACJk8B,SAAU,aACVjiB,OAAQ,cAEVkiB,UAAW,SAEb+73B,IAAK,CACHl45B,KAAM,CACJk8B,SAAU,aACVjiB,OAAQ,eAEVkiB,UAAW,UAIf/2B,EAAO3F,QAAU,CACf68B,OAAQA,EACRogF,SAAUA,EACVngF,SAAU,CACRD,OAAQ,CACNE,KAAM,IACNC,MAAO,YAETigF,SAAU,CACRlgF,KAAM,QACNC,MAAO,EAAE,e,kDC3LA,GACX,SAAU,SACV,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,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,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,SAAU,KACV,SAAU,KACV,QAAS,KACT,QAAS,KACT,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,aAAc,KACd,aAAc,KACd,cAAe,KACf,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,SAAU,KACV,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,MACT,QAAS,MACT,QAAS,MACT,aAAc,MACd,QAAS,MACT,QAAS,MACT,QAAS,MACT,aAAc,MACd,QAAS,MACT,QAAS,MACT,QAAS,MACT,aAAc,MACd,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,UAAW,MACX,UAAW,MACX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E,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAA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mE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,sEAAsEi30B,IAAI,CAACX,IAAI,EAAEt20B,OAAO,CAAC,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,iEAAiE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mE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AG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAIiM,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,IAAIqmB,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG6b,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,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AAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI4Q,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI1gB,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAGk7G,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAA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","file":"js/chunk-vendors.7adc8dfa.js","sourcesContent":["/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.setEmitOptionChangedFunc = exports.bindOptionWatchers = void 0;\nvar helpers_1 = require(\"./helpers\");\nvar Configuration = /** @class */ (function () {\n function Configuration(updateFunc, name, initialValues, expectedChildren, isCollectionItem, collectionItemIndex, ownerConfig) {\n this._updateFunc = updateFunc;\n this._name = name;\n this._initialValues = initialValues ? initialValues : {};\n this._nestedConfigurations = [];\n this._isCollectionItem = !!isCollectionItem;\n this._collectionItemIndex = collectionItemIndex;\n this._expectedChildren = expectedChildren || {};\n this._ownerConfig = ownerConfig;\n this._componentChanges = [];\n this.updateValue = this.updateValue.bind(this);\n }\n Object.defineProperty(Configuration.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"fullName\", {\n get: function () {\n return this._name && this._isCollectionItem\n ? \"\".concat(this._name, \"[\").concat(this._collectionItemIndex, \"]\")\n : this._name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"componentsCountChanged\", {\n get: function () {\n return this._componentChanges;\n },\n enumerable: false,\n configurable: true\n });\n Configuration.prototype.cleanComponentsCountChanged = function () {\n this._componentChanges = [];\n };\n Object.defineProperty(Configuration.prototype, \"fullPath\", {\n get: function () {\n return this._ownerConfig && this._ownerConfig.fullPath\n ? \"\".concat(this._ownerConfig.fullPath, \".\").concat(this.fullName)\n : this.fullName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"ownerConfig\", {\n get: function () {\n return this._ownerConfig;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"options\", {\n get: function () {\n return this._options;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"initialValues\", {\n get: function () {\n return this._initialValues;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"expectedChildren\", {\n get: function () {\n return this._expectedChildren;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"nested\", {\n get: function () {\n return this._nestedConfigurations;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"prevNestedOptions\", {\n get: function () {\n return this._prevNestedConfigOptions;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"collectionItemIndex\", {\n get: function () {\n return this._collectionItemIndex;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"isCollectionItem\", {\n get: function () {\n return this._isCollectionItem;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"updateFunc\", {\n get: function () {\n return this._updateFunc;\n },\n enumerable: false,\n configurable: true\n });\n Configuration.prototype.init = function (options) {\n this._options = options ? options : [];\n };\n Object.defineProperty(Configuration.prototype, \"emitOptionChanged\", {\n set: function (handler) {\n this._emitOptionChanged = handler;\n },\n enumerable: false,\n configurable: true\n });\n Configuration.prototype.setPrevNestedOptions = function (value) {\n this._prevNestedConfigOptions = value;\n };\n Configuration.prototype.onOptionChanged = function (args) {\n if ((0, helpers_1.isEqual)(args.value, args.previousValue)) {\n return;\n }\n this._onOptionChanged(args.fullName.split(\".\"), args);\n };\n Configuration.prototype.cleanNested = function () {\n this._nestedConfigurations = [];\n };\n Configuration.prototype.createNested = function (name, initialValues, isCollectionItem, expectedChildren) {\n var expected = this._expectedChildren[name];\n var actualName = name;\n var actualIsCollectionItem = isCollectionItem;\n if (expected) {\n actualIsCollectionItem = expected.isCollectionItem;\n if (expected.optionName) {\n actualName = expected.optionName;\n }\n }\n var collectionItemIndex = -1;\n if (actualIsCollectionItem && actualName) {\n collectionItemIndex = this._nestedConfigurations.filter(function (c) { return c._name && c._name === actualName; }).length;\n }\n var configuration = new Configuration(this._updateFunc, actualName, initialValues, expectedChildren, actualIsCollectionItem, collectionItemIndex, this);\n this._nestedConfigurations.push(configuration);\n return configuration;\n };\n Configuration.prototype.updateValue = function (nestedName, value) {\n var fullName = [this.fullPath, nestedName].filter(function (n) { return n; }).join(\".\");\n this._updateFunc(fullName, value);\n };\n Configuration.prototype.getNestedOptionValues = function () {\n var values = {};\n this._nestedConfigurations.forEach(function (o) {\n if (!o._name) {\n return;\n }\n var nestedValue = __assign(__assign({}, o.initialValues), o.getNestedOptionValues());\n if (!nestedValue) {\n return;\n }\n if (!o._isCollectionItem) {\n values[o._name] = nestedValue;\n }\n else {\n var arr = values[o._name];\n if (!arr || !Array.isArray(arr)) {\n arr = [];\n values[o._name] = arr;\n }\n arr.push(nestedValue);\n }\n });\n return values;\n };\n Configuration.prototype.getOptionsToWatch = function () {\n var blackList = {};\n this._nestedConfigurations.forEach(function (c) { return c._name && (blackList[c._name] = true); });\n return this._options.filter(function (o) { return !blackList[o]; });\n };\n Configuration.prototype._onOptionChanged = function (optionRelPath, args) {\n if (optionRelPath.length === 0) {\n return;\n }\n var optionInfo = (0, helpers_1.getOptionInfo)(optionRelPath[0]);\n if (optionInfo.isCollection || optionRelPath.length > 1) {\n var nestedConfig = this._getNestedConfig(optionInfo.fullName);\n if (nestedConfig) {\n nestedConfig._onOptionChanged(optionRelPath.slice(1), args);\n return;\n }\n this._tryEmitOptionChanged(optionInfo.name, args.component.option(this.fullPath ? \"\".concat(this.fullPath, \".\").concat(optionInfo.name) : optionInfo.name));\n }\n else {\n this._tryEmitOptionChanged(optionInfo.name, args.value);\n }\n };\n Configuration.prototype._getNestedConfig = function (fullName) {\n for (var _i = 0, _a = this._nestedConfigurations; _i < _a.length; _i++) {\n var nestedConfig = _a[_i];\n if (nestedConfig.fullName === fullName) {\n return nestedConfig;\n }\n }\n return undefined;\n };\n Configuration.prototype._tryEmitOptionChanged = function (name, value) {\n if (this._emitOptionChanged) {\n this._emitOptionChanged(name, value);\n }\n };\n return Configuration;\n}());\nfunction bindOptionWatchers(config, vueInstance, innerChanges) {\n var targets = config && config.getOptionsToWatch();\n if (targets) {\n targets.forEach(function (optionName) {\n vueInstance.$watch(optionName, function (value) {\n if (!innerChanges.hasOwnProperty(optionName) ||\n innerChanges[optionName] !== value) {\n config.updateValue(optionName, value);\n }\n delete innerChanges[optionName];\n });\n });\n }\n}\nexports.bindOptionWatchers = bindOptionWatchers;\nfunction setEmitOptionChangedFunc(config, vueInstance, innerChanges) {\n config.emitOptionChanged = function (name, value) {\n if (!(0, helpers_1.isEqual)(value, vueInstance.$props[name])) {\n innerChanges[name] = value;\n vueInstance.$emit(\"update:\" + name, value);\n }\n };\n}\nexports.setEmitOptionChangedFunc = setEmitOptionChangedFunc;\nexports.default = Configuration;\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","/**\r\n * DevExtreme (esm/data/abstract_store.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport Class from \"../core/class\";\r\nvar abstract = Class.abstract;\r\nimport {\r\n EventsStrategy\r\n} from \"../core/events_strategy\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n errors,\r\n handleError\r\n} from \"./errors\";\r\nimport {\r\n processRequestResultLock\r\n} from \"./utils\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport storeHelper from \"./store_helper\";\r\nvar queryByOptions = storeHelper.queryByOptions;\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nimport {\r\n isEmptyObject\r\n} from \"../core/utils/type\";\r\nvar storeImpl = {};\r\nvar Store = Class.inherit({\r\n _langParams: {},\r\n ctor: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy = new EventsStrategy(this);\r\n each([\"onLoaded\", \"onLoading\", \"onInserted\", \"onInserting\", \"onUpdated\", \"onUpdating\", \"onPush\", \"onRemoved\", \"onRemoving\", \"onModified\", \"onModifying\"], (function(_, optionName) {\r\n if (optionName in options) {\r\n that.on(optionName.slice(2).toLowerCase(), options[optionName])\r\n }\r\n }));\r\n this._key = options.key;\r\n this._errorHandler = options.errorHandler;\r\n this._useDefaultSearch = true\r\n },\r\n _clearCache: noop,\r\n _customLoadOptions: function() {\r\n return null\r\n },\r\n key: function() {\r\n return this._key\r\n },\r\n keyOf: function(obj) {\r\n if (!this._keyGetter) {\r\n this._keyGetter = compileGetter(this.key())\r\n }\r\n return this._keyGetter(obj)\r\n },\r\n _requireKey: function() {\r\n if (!this.key()) {\r\n throw errors.Error(\"E4005\")\r\n }\r\n },\r\n load: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy.fireEvent(\"loading\", [options]);\r\n return this._withLock(this._loadImpl(options)).done((function(result) {\r\n that._eventsStrategy.fireEvent(\"loaded\", [result, options])\r\n }))\r\n },\r\n _loadImpl: function(options) {\r\n if (!isEmptyObject(this._langParams)) {\r\n options = options || {};\r\n options._langParams = _extends({}, this._langParams, options._langParams)\r\n }\r\n return queryByOptions(this.createQuery(options), options).enumerate()\r\n },\r\n _withLock: function(task) {\r\n var result = new Deferred;\r\n task.done((function() {\r\n var that = this;\r\n var args = arguments;\r\n processRequestResultLock.promise().done((function() {\r\n result.resolveWith(that, args)\r\n }))\r\n })).fail((function() {\r\n result.rejectWith(this, arguments)\r\n }));\r\n return result\r\n },\r\n createQuery: abstract,\r\n totalCount: function(options) {\r\n return this._totalCountImpl(options)\r\n },\r\n _totalCountImpl: function(options) {\r\n return queryByOptions(this.createQuery(options), options, true).count()\r\n },\r\n byKey: function(key, extraOptions) {\r\n return this._addFailHandlers(this._withLock(this._byKeyImpl(key, extraOptions)))\r\n },\r\n _byKeyImpl: abstract,\r\n insert: function(values) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"inserting\", [values]);\r\n return that._addFailHandlers(that._insertImpl(values).done((function(callbackValues, callbackKey) {\r\n that._eventsStrategy.fireEvent(\"inserted\", [callbackValues, callbackKey]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _insertImpl: abstract,\r\n update: function(key, values) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"updating\", [key, values]);\r\n return that._addFailHandlers(that._updateImpl(key, values).done((function() {\r\n that._eventsStrategy.fireEvent(\"updated\", [key, values]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _updateImpl: abstract,\r\n push: function(changes) {\r\n var beforePushArgs = {\r\n changes: changes,\r\n waitFor: []\r\n };\r\n this._eventsStrategy.fireEvent(\"beforePushAggregation\", [beforePushArgs]);\r\n when(...beforePushArgs.waitFor).done(() => {\r\n this._pushImpl(changes);\r\n this._eventsStrategy.fireEvent(\"beforePush\", [{\r\n changes: changes\r\n }]);\r\n this._eventsStrategy.fireEvent(\"push\", [changes])\r\n })\r\n },\r\n _pushImpl: noop,\r\n remove: function(key) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"removing\", [key]);\r\n return that._addFailHandlers(that._removeImpl(key).done((function(callbackKey) {\r\n that._eventsStrategy.fireEvent(\"removed\", [callbackKey]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _removeImpl: abstract,\r\n _addFailHandlers: function(deferred) {\r\n return deferred.fail(this._errorHandler).fail(handleError)\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\nStore.create = function(alias, options) {\r\n if (!(alias in storeImpl)) {\r\n throw errors.Error(\"E4020\", alias)\r\n }\r\n return new storeImpl[alias](options)\r\n};\r\nStore.registerClass = function(type, alias) {\r\n if (alias) {\r\n storeImpl[alias] = type\r\n }\r\n return type\r\n};\r\nStore.inherit = function(inheritor) {\r\n return function(members, alias) {\r\n var type = inheritor.apply(this, [members]);\r\n Store.registerClass(type, alias);\r\n return type\r\n }\r\n}(Store.inherit);\r\nexport default Store;\r\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays:\n 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n '_'\n ),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uzLatn;\n\n})));\n","/**\r\n * DevExtreme (esm/events/gesture/emitter.gesture.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n styleProp\r\n} from \"../../core/utils/style\";\r\nimport callOnce from \"../../core/utils/call_once\";\r\nimport {\r\n resetActiveElement,\r\n clearSelection\r\n} from \"../../core/utils/dom\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nvar ready = readyCallbacks.add;\r\nimport {\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n needSkipEvent,\r\n createEvent,\r\n eventData,\r\n isDxMouseWheelEvent,\r\n eventDelta,\r\n isTouchEvent\r\n} from \"../utils/index\";\r\nimport Emitter from \"../core/emitter\";\r\nvar abs = Math.abs;\r\nvar SLEEP = 0;\r\nvar INITED = 1;\r\nvar STARTED = 2;\r\nvar TOUCH_BOUNDARY = 10;\r\nvar IMMEDIATE_TOUCH_BOUNDARY = 0;\r\nvar IMMEDIATE_TIMEOUT = 180;\r\nvar supportPointerEvents = function() {\r\n return styleProp(\"pointer-events\")\r\n};\r\nvar setGestureCover = callOnce((function() {\r\n var isDesktop = \"desktop\" === devices.real().deviceType;\r\n if (!supportPointerEvents() || !isDesktop) {\r\n return noop\r\n }\r\n var $cover = $(\"
\").addClass(\"dx-gesture-cover\").css(\"pointerEvents\", \"none\");\r\n eventsEngine.subscribeGlobal($cover, \"dxmousewheel\", (function(e) {\r\n e.preventDefault()\r\n }));\r\n ready((function() {\r\n $cover.appendTo(\"body\")\r\n }));\r\n return function(toggle, cursor) {\r\n $cover.css(\"pointerEvents\", toggle ? \"all\" : \"none\");\r\n toggle && $cover.css(\"cursor\", cursor)\r\n }\r\n}));\r\nvar gestureCover = function(toggle, cursor) {\r\n var gestureCoverStrategy = setGestureCover();\r\n gestureCoverStrategy(toggle, cursor)\r\n};\r\nvar GestureEmitter = Emitter.inherit({\r\n gesture: true,\r\n configure: function(data) {\r\n this.getElement().css(\"msTouchAction\", data.immediate ? \"pinch-zoom\" : \"\");\r\n this.callBase(data)\r\n },\r\n allowInterruptionByMouseWheel: function() {\r\n return this._stage !== STARTED\r\n },\r\n getDirection: function() {\r\n return this.direction\r\n },\r\n _cancel: function() {\r\n this.callBase.apply(this, arguments);\r\n this._toggleGestureCover(false);\r\n this._stage = SLEEP\r\n },\r\n start: function(e) {\r\n if (e._needSkipEvent || needSkipEvent(e)) {\r\n this._cancel(e);\r\n return\r\n }\r\n this._startEvent = createEvent(e);\r\n this._startEventData = eventData(e);\r\n this._stage = INITED;\r\n this._init(e);\r\n this._setupImmediateTimer()\r\n },\r\n _setupImmediateTimer: function() {\r\n var _this$immediateTimeou;\r\n clearTimeout(this._immediateTimer);\r\n this._immediateAccepted = false;\r\n if (!this.immediate) {\r\n return\r\n }\r\n if (0 === this.immediateTimeout) {\r\n this._immediateAccepted = true;\r\n return\r\n }\r\n this._immediateTimer = setTimeout(function() {\r\n this._immediateAccepted = true\r\n }.bind(this), null !== (_this$immediateTimeou = this.immediateTimeout) && void 0 !== _this$immediateTimeou ? _this$immediateTimeou : IMMEDIATE_TIMEOUT)\r\n },\r\n move: function(e) {\r\n if (this._stage === INITED && this._directionConfirmed(e)) {\r\n this._stage = STARTED;\r\n this._resetActiveElement();\r\n this._toggleGestureCover(true);\r\n this._clearSelection(e);\r\n this._adjustStartEvent(e);\r\n this._start(this._startEvent);\r\n if (this._stage === SLEEP) {\r\n return\r\n }\r\n this._requestAccept(e);\r\n this._move(e);\r\n this._forgetAccept()\r\n } else if (this._stage === STARTED) {\r\n this._clearSelection(e);\r\n this._move(e)\r\n }\r\n },\r\n _directionConfirmed: function(e) {\r\n var touchBoundary = this._getTouchBoundary(e);\r\n var delta = eventDelta(this._startEventData, eventData(e));\r\n var deltaX = abs(delta.x);\r\n var deltaY = abs(delta.y);\r\n var horizontalMove = this._validateMove(touchBoundary, deltaX, deltaY);\r\n var verticalMove = this._validateMove(touchBoundary, deltaY, deltaX);\r\n var direction = this.getDirection(e);\r\n var bothAccepted = \"both\" === direction && (horizontalMove || verticalMove);\r\n var horizontalAccepted = \"horizontal\" === direction && horizontalMove;\r\n var verticalAccepted = \"vertical\" === direction && verticalMove;\r\n return bothAccepted || horizontalAccepted || verticalAccepted || this._immediateAccepted\r\n },\r\n _validateMove: function(touchBoundary, mainAxis, crossAxis) {\r\n return mainAxis && mainAxis >= touchBoundary && (this.immediate ? mainAxis >= crossAxis : true)\r\n },\r\n _getTouchBoundary: function(e) {\r\n return this.immediate || isDxMouseWheelEvent(e) ? IMMEDIATE_TOUCH_BOUNDARY : TOUCH_BOUNDARY\r\n },\r\n _adjustStartEvent: function(e) {\r\n var touchBoundary = this._getTouchBoundary(e);\r\n var delta = eventDelta(this._startEventData, eventData(e));\r\n this._startEvent.pageX += sign(delta.x) * touchBoundary;\r\n this._startEvent.pageY += sign(delta.y) * touchBoundary\r\n },\r\n _resetActiveElement: function() {\r\n if (\"ios\" === devices.real().platform && this.getElement().find(\":focus\").length) {\r\n resetActiveElement()\r\n }\r\n },\r\n _toggleGestureCover: function(toggle) {\r\n this._toggleGestureCoverImpl(toggle)\r\n },\r\n _toggleGestureCoverImpl: function(toggle) {\r\n var isStarted = this._stage === STARTED;\r\n if (isStarted) {\r\n gestureCover(toggle, this.getElement().css(\"cursor\"))\r\n }\r\n },\r\n _clearSelection: function(e) {\r\n if (isDxMouseWheelEvent(e) || isTouchEvent(e)) {\r\n return\r\n }\r\n clearSelection()\r\n },\r\n end: function(e) {\r\n this._toggleGestureCover(false);\r\n if (this._stage === STARTED) {\r\n this._end(e)\r\n } else if (this._stage === INITED) {\r\n this._stop(e)\r\n }\r\n this._stage = SLEEP\r\n },\r\n dispose: function() {\r\n clearTimeout(this._immediateTimer);\r\n this.callBase.apply(this, arguments);\r\n this._toggleGestureCover(false)\r\n },\r\n _init: noop,\r\n _start: noop,\r\n _move: noop,\r\n _stop: noop,\r\n _end: noop\r\n});\r\nGestureEmitter.initialTouchBoundary = TOUCH_BOUNDARY;\r\nGestureEmitter.touchBoundary = function(newBoundary) {\r\n if (isDefined(newBoundary)) {\r\n TOUCH_BOUNDARY = newBoundary;\r\n return\r\n }\r\n return TOUCH_BOUNDARY\r\n};\r\nexport default GestureEmitter;\r\n","/**\r\n * DevExtreme (esm/events/utils/add_namespace.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../../core/errors\";\r\nvar addNamespace = (eventNames, namespace) => {\r\n if (!namespace) {\r\n throw errors.Error(\"E0017\")\r\n }\r\n if (Array.isArray(eventNames)) {\r\n return eventNames.map(eventName => addNamespace(eventName, namespace)).join(\" \")\r\n }\r\n if (-1 !== eventNames.indexOf(\" \")) {\r\n return addNamespace(eventNames.split(/\\s+/g), namespace)\r\n }\r\n return \"\".concat(eventNames, \".\").concat(namespace)\r\n};\r\nexport default addNamespace;\r\n","/**\r\n * DevExtreme (esm/events/utils/index.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport mappedAddNamespace from \"./add_namespace\";\r\nimport eventsEngine from \"../core/events_engine\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n focused\r\n} from \"../../ui/widget/selectors\";\r\nvar KEY_MAP = {\r\n backspace: \"backspace\",\r\n tab: \"tab\",\r\n enter: \"enter\",\r\n escape: \"escape\",\r\n pageup: \"pageUp\",\r\n pagedown: \"pageDown\",\r\n end: \"end\",\r\n home: \"home\",\r\n arrowleft: \"leftArrow\",\r\n arrowup: \"upArrow\",\r\n arrowright: \"rightArrow\",\r\n arrowdown: \"downArrow\",\r\n delete: \"del\",\r\n \" \": \"space\",\r\n f: \"F\",\r\n a: \"A\",\r\n \"*\": \"asterisk\",\r\n \"-\": \"minus\",\r\n alt: \"alt\",\r\n control: \"control\",\r\n shift: \"shift\"\r\n};\r\nvar LEGACY_KEY_CODES = {\r\n 8: \"backspace\",\r\n 9: \"tab\",\r\n 13: \"enter\",\r\n 27: \"escape\",\r\n 33: \"pageUp\",\r\n 34: \"pageDown\",\r\n 35: \"end\",\r\n 36: \"home\",\r\n 37: \"leftArrow\",\r\n 38: \"upArrow\",\r\n 39: \"rightArrow\",\r\n 40: \"downArrow\",\r\n 46: \"del\",\r\n 32: \"space\",\r\n 70: \"F\",\r\n 65: \"A\",\r\n 106: \"asterisk\",\r\n 109: \"minus\",\r\n 189: \"minus\",\r\n 173: \"minus\",\r\n 16: \"shift\",\r\n 17: \"control\",\r\n 18: \"alt\"\r\n};\r\nvar EVENT_SOURCES_REGEX = {\r\n dx: /^dx/i,\r\n mouse: /(mouse|wheel)/i,\r\n touch: /^touch/i,\r\n keyboard: /^key/i,\r\n pointer: /^(ms)?pointer/i\r\n};\r\nvar fixMethod = e => e;\r\nvar copyEvent = originalEvent => fixMethod(eventsEngine.Event(originalEvent, originalEvent), originalEvent);\r\nvar isDxEvent = e => \"dx\" === eventSource(e);\r\nvar isNativeMouseEvent = e => \"mouse\" === eventSource(e);\r\nvar isNativeTouchEvent = e => \"touch\" === eventSource(e);\r\nexport var eventSource = _ref => {\r\n var {\r\n type: type\r\n } = _ref;\r\n var result = \"other\";\r\n each(EVENT_SOURCES_REGEX, (function(key) {\r\n if (this.test(type)) {\r\n result = key;\r\n return false\r\n }\r\n }));\r\n return result\r\n};\r\nexport var isPointerEvent = e => \"pointer\" === eventSource(e);\r\nexport var isMouseEvent = e => isNativeMouseEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"mouse\" === e.pointerType;\r\nexport var isDxMouseWheelEvent = e => e && \"dxmousewheel\" === e.type;\r\nexport var isTouchEvent = e => isNativeTouchEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"touch\" === e.pointerType;\r\nexport var isKeyboardEvent = e => \"keyboard\" === eventSource(e);\r\nexport var isFakeClickEvent = _ref2 => {\r\n var {\r\n screenX: screenX,\r\n offsetX: offsetX,\r\n pageX: pageX\r\n } = _ref2;\r\n return 0 === screenX && !offsetX && 0 === pageX\r\n};\r\nexport var eventData = _ref3 => {\r\n var {\r\n pageX: pageX,\r\n pageY: pageY,\r\n timeStamp: timeStamp\r\n } = _ref3;\r\n return {\r\n x: pageX,\r\n y: pageY,\r\n time: timeStamp\r\n }\r\n};\r\nexport var eventDelta = (from, to) => ({\r\n x: to.x - from.x,\r\n y: to.y - from.y,\r\n time: to.time - from.time || 1\r\n});\r\nexport var hasTouches = e => {\r\n var {\r\n originalEvent: originalEvent,\r\n pointers: pointers\r\n } = e;\r\n if (isNativeTouchEvent(e)) {\r\n return (originalEvent.touches || []).length\r\n }\r\n if (isDxEvent(e)) {\r\n return (pointers || []).length\r\n }\r\n return 0\r\n};\r\nvar skipEvents = false;\r\nexport var forceSkipEvents = () => skipEvents = true;\r\nexport var stopEventsSkipping = () => skipEvents = false;\r\nexport var needSkipEvent = e => {\r\n if (skipEvents) {\r\n return true\r\n }\r\n var {\r\n target: target\r\n } = e;\r\n var $target = $(target);\r\n var isContentEditable = (null === target || void 0 === target ? void 0 : target.isContentEditable) || (null === target || void 0 === target ? void 0 : target.hasAttribute(\"contenteditable\"));\r\n var touchInEditable = $target.is(\"input, textarea, select\") || isContentEditable;\r\n if (isDxMouseWheelEvent(e)) {\r\n var isTextArea = $target.is(\"textarea\") && $target.hasClass(\"dx-texteditor-input\");\r\n if (isTextArea || isContentEditable) {\r\n return false\r\n }\r\n var isInputFocused = $target.is(\"input[type='number'], textarea, select\") && $target.is(\":focus\");\r\n return isInputFocused\r\n }\r\n if (isMouseEvent(e)) {\r\n return touchInEditable || e.which > 1\r\n }\r\n if (isTouchEvent(e)) {\r\n return touchInEditable && focused($target)\r\n }\r\n};\r\nexport var setEventFixMethod = func => fixMethod = func;\r\nexport var createEvent = (originalEvent, args) => {\r\n var event = copyEvent(originalEvent);\r\n args && extend(event, args);\r\n return event\r\n};\r\nexport var fireEvent = props => {\r\n var {\r\n originalEvent: originalEvent,\r\n delegateTarget: delegateTarget\r\n } = props;\r\n var event = createEvent(originalEvent, props);\r\n eventsEngine.trigger(delegateTarget || event.target, event);\r\n return event\r\n};\r\nexport var normalizeKeyName = _ref4 => {\r\n var {\r\n key: key,\r\n which: which\r\n } = _ref4;\r\n var normalizedKey = KEY_MAP[null === key || void 0 === key ? void 0 : key.toLowerCase()] || key;\r\n var normalizedKeyFromWhich = LEGACY_KEY_CODES[which];\r\n if (normalizedKeyFromWhich && normalizedKey === key) {\r\n return normalizedKeyFromWhich\r\n } else if (!normalizedKey && which) {\r\n return String.fromCharCode(which)\r\n }\r\n return normalizedKey\r\n};\r\nexport var getChar = _ref5 => {\r\n var {\r\n key: key,\r\n which: which\r\n } = _ref5;\r\n return key || String.fromCharCode(which)\r\n};\r\nexport var addNamespace = mappedAddNamespace;\r\nexport var isCommandKeyPressed = _ref6 => {\r\n var {\r\n ctrlKey: ctrlKey,\r\n metaKey: metaKey\r\n } = _ref6;\r\n return ctrlKey || metaKey\r\n};\r\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n '_'\n ),\n monthsShort:\n 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n '_'\n ),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം',\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n },\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n '_'\n ),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays:\n 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n '_'\n ),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output)\n ? 'рен'\n : /ҫул$/i.exec(output)\n ? 'тан'\n : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return cv;\n\n})));\n","/**\r\n * DevExtreme (esm/core/utils/dependency_injector.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n isFunction\r\n} from \"./type\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport Class from \"../class\";\r\nexport default function(object) {\r\n var BaseClass = Class.inherit(object);\r\n var InjectedClass = BaseClass;\r\n var instance = new InjectedClass(object);\r\n var initialFields = {};\r\n var injectFields = function(injectionObject, initial) {\r\n each(injectionObject, (function(key) {\r\n if (isFunction(instance[key])) {\r\n if (initial || !object[key]) {\r\n object[key] = function() {\r\n return instance[key].apply(object, arguments)\r\n }\r\n }\r\n } else {\r\n if (initial) {\r\n initialFields[key] = object[key]\r\n }\r\n object[key] = instance[key]\r\n }\r\n }))\r\n };\r\n injectFields(object, true);\r\n object.inject = function(injectionObject) {\r\n InjectedClass = InjectedClass.inherit(injectionObject);\r\n instance = new InjectedClass;\r\n injectFields(injectionObject)\r\n };\r\n object.resetInjection = function() {\r\n extend(object, initialFields);\r\n InjectedClass = BaseClass;\r\n instance = new BaseClass\r\n };\r\n return object\r\n}\r\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nokkrar sekúndur'\n : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n );\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return (\n result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n );\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture\n ? 'klukkustundir'\n : 'klukkustundum')\n );\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays:\n 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return is;\n\n})));\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays:\n 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fo;\n\n})));\n","import { FunctionalComponentOptions, VNode, VNodeData } from 'vue'\nimport mergeData from '../../util/mergeData'\n\nfunction mergeTransitions (\n dest: Function | Function[] = [],\n ...transitions: (Function | Function[])[]\n) {\n /* eslint-disable-next-line no-array-constructor */\n return Array().concat(dest, ...transitions)\n}\n\nexport function createSimpleTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n group: {\n type: Boolean,\n default: false,\n },\n hideOnLeave: {\n type: Boolean,\n default: false,\n },\n leaveAbsolute: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n render (h, context): VNode {\n const tag = `transition${context.props.group ? '-group' : ''}`\n const data: VNodeData = {\n props: {\n name,\n mode: context.props.mode,\n },\n on: {\n beforeEnter (el: HTMLElement) {\n el.style.transformOrigin = context.props.origin\n el.style.webkitTransformOrigin = context.props.origin\n },\n },\n }\n\n if (context.props.leaveAbsolute) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = offsetTop + 'px'\n el.style.left = offsetLeft + 'px'\n el.style.width = offsetWidth + 'px'\n el.style.height = offsetHeight + 'px'\n })\n data.on!.afterLeave = mergeTransitions(data.on!.afterLeave, (el?: HTMLElement) => {\n if (el && el._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n })\n }\n if (context.props.hideOnLeave) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n el.style.setProperty('display', 'none', 'important')\n })\n }\n\n return h(tag, mergeData(context.data, data), context.children)\n },\n }\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record,\n mode = 'in-out'\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n mode: {\n type: String,\n default: mode,\n },\n },\n\n render (h, context): VNode {\n return h(\n 'transition',\n mergeData(context.data, {\n props: { name },\n on: functions,\n }),\n context.children\n )\n },\n }\n}\n","import { upperFirst } from '../../util/helpers'\n\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: (Node & ParentNode & HTMLElement) | null\n _initialStyle?: {\n transition: string\n overflow: string\n height?: string | null\n width?: string | null\n }\n}\n\nexport default function (expandedParentClass = '', x = false) {\n const sizeProperty = x ? 'width' : 'height' as 'width' | 'height'\n const offsetProperty = `offset${upperFirst(sizeProperty)}` as 'offsetHeight' | 'offsetWidth'\n\n return {\n beforeEnter (el: HTMLExpandElement) {\n el._parent = el.parentNode as (Node & ParentNode & HTMLElement) | null\n el._initialStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n },\n\n enter (el: HTMLExpandElement) {\n const initialStyle = el._initialStyle!\n\n el.style.setProperty('transition', 'none', 'important')\n // Hide overflow to account for collapsed margins in the calculated height\n el.style.overflow = 'hidden'\n const offset = `${el[offsetProperty]}px`\n\n el.style[sizeProperty] = '0'\n\n void el.offsetHeight // force reflow\n\n el.style.transition = initialStyle.transition\n\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass)\n }\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset\n })\n },\n\n afterEnter: resetStyles,\n enterCancelled: resetStyles,\n\n leave (el: HTMLExpandElement) {\n el._initialStyle = {\n transition: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = `${el[offsetProperty]}px`\n void el.offsetHeight // force reflow\n\n requestAnimationFrame(() => (el.style[sizeProperty] = '0'))\n },\n\n afterLeave,\n leaveCancelled: afterLeave,\n }\n\n function afterLeave (el: HTMLExpandElement) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass)\n }\n resetStyles(el)\n }\n\n function resetStyles (el: HTMLExpandElement) {\n const size = el._initialStyle![sizeProperty]\n el.style.overflow = el._initialStyle!.overflow\n if (size != null) el.style[sizeProperty] = size\n delete el._initialStyle\n }\n}\n","import {\n createSimpleTransition,\n createJavascriptTransition,\n} from './createTransition'\n\nimport ExpandTransitionGenerator from './expand-transition'\n\n// Component specific transitions\nexport const VCarouselTransition = createSimpleTransition('carousel-transition')\nexport const VCarouselReverseTransition = createSimpleTransition('carousel-reverse-transition')\nexport const VTabTransition = createSimpleTransition('tab-transition')\nexport const VTabReverseTransition = createSimpleTransition('tab-reverse-transition')\nexport const VMenuTransition = createSimpleTransition('menu-transition')\nexport const VFabTransition = createSimpleTransition('fab-transition', 'center center', 'out-in')\n\n// Generic transitions\nexport const VDialogTransition = createSimpleTransition('dialog-transition')\nexport const VDialogBottomTransition = createSimpleTransition('dialog-bottom-transition')\nexport const VDialogTopTransition = createSimpleTransition('dialog-top-transition')\nexport const VFadeTransition = createSimpleTransition('fade-transition')\nexport const VScaleTransition = createSimpleTransition('scale-transition')\nexport const VScrollXTransition = createSimpleTransition('scroll-x-transition')\nexport const VScrollXReverseTransition = createSimpleTransition('scroll-x-reverse-transition')\nexport const VScrollYTransition = createSimpleTransition('scroll-y-transition')\nexport const VScrollYReverseTransition = createSimpleTransition('scroll-y-reverse-transition')\nexport const VSlideXTransition = createSimpleTransition('slide-x-transition')\nexport const VSlideXReverseTransition = createSimpleTransition('slide-x-reverse-transition')\nexport const VSlideYTransition = createSimpleTransition('slide-y-transition')\nexport const VSlideYReverseTransition = createSimpleTransition('slide-y-reverse-transition')\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator())\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true))\n\nexport default {\n $_vuetify_subcomponents: {\n VCarouselTransition,\n VCarouselReverseTransition,\n VDialogTransition,\n VDialogBottomTransition,\n VDialogTopTransition,\n VFabTransition,\n VFadeTransition,\n VMenuTransition,\n VScaleTransition,\n VScrollXTransition,\n VScrollXReverseTransition,\n VScrollYTransition,\n VScrollYReverseTransition,\n VSlideXTransition,\n VSlideXReverseTransition,\n VSlideYTransition,\n VSlideYReverseTransition,\n VTabReverseTransition,\n VTabTransition,\n VExpandTransition,\n VExpandXTransition,\n },\n}\n","// Styles\nimport './VAlert.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNodeData } from 'vue'\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Toggleable,\n Transitionable\n).extend({\n name: 'v-alert',\n\n props: {\n border: {\n type: String,\n validator (val: string) {\n return [\n 'top',\n 'right',\n 'bottom',\n 'left',\n ].includes(val)\n },\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n coloredBorder: Boolean,\n dense: Boolean,\n dismissible: Boolean,\n closeIcon: {\n type: String,\n default: '$cancel',\n },\n icon: {\n default: '',\n type: [Boolean, String],\n validator (val: boolean | string) {\n return typeof val === 'string' || val === false\n },\n },\n outlined: Boolean,\n prominent: Boolean,\n text: Boolean,\n type: {\n type: String,\n validator (val: string) {\n return [\n 'info',\n 'error',\n 'success',\n 'warning',\n ].includes(val)\n },\n },\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n __cachedBorder (): VNode | null {\n if (!this.border) return null\n\n let data: VNodeData = {\n staticClass: 'v-alert__border',\n class: {\n [`v-alert__border--${this.border}`]: true,\n },\n }\n\n if (this.coloredBorder) {\n data = this.setBackgroundColor(this.computedColor, data)\n data.class['v-alert__border--has-color'] = true\n }\n\n return this.$createElement('div', data)\n },\n __cachedDismissible (): VNode | null {\n if (!this.dismissible) return null\n\n const color = this.iconColor\n\n return this.$createElement(VBtn, {\n staticClass: 'v-alert__dismissible',\n props: {\n color,\n icon: true,\n small: true,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: () => (this.isActive = false),\n },\n }, [\n this.$createElement(VIcon, {\n props: { color },\n }, this.closeIcon),\n ])\n },\n __cachedIcon (): VNode | null {\n if (!this.computedIcon) return null\n\n return this.$createElement(VIcon, {\n staticClass: 'v-alert__icon',\n props: { color: this.iconColor },\n }, this.computedIcon)\n },\n classes (): object {\n const classes: Record = {\n ...VSheet.options.computed.classes.call(this),\n 'v-alert--border': Boolean(this.border),\n 'v-alert--dense': this.dense,\n 'v-alert--outlined': this.outlined,\n 'v-alert--prominent': this.prominent,\n 'v-alert--text': this.text,\n }\n\n if (this.border) {\n classes[`v-alert--border-${this.border}`] = true\n }\n\n return classes\n },\n computedColor (): string {\n return this.color || this.type\n },\n computedIcon (): string | boolean {\n if (this.icon === false) return false\n if (typeof this.icon === 'string' && this.icon) return this.icon\n if (!['error', 'info', 'success', 'warning'].includes(this.type)) return false\n\n return `$${this.type}`\n },\n hasColoredIcon (): boolean {\n return (\n this.hasText ||\n (Boolean(this.border) && this.coloredBorder)\n )\n },\n hasText (): boolean {\n return this.text || this.outlined\n },\n iconColor (): string | undefined {\n return this.hasColoredIcon ? this.computedColor : undefined\n },\n isDark (): boolean {\n if (\n this.type &&\n !this.coloredBorder &&\n !this.outlined\n ) return true\n\n return Themeable.options.computed.isDark.call(this)\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('outline')) {\n breaking('outline', 'outlined', this)\n }\n },\n\n methods: {\n genWrapper (): VNode {\n const children = [\n getSlot(this, 'prepend') || this.__cachedIcon,\n this.genContent(),\n this.__cachedBorder,\n getSlot(this, 'append'),\n this.$scopedSlots.close\n ? this.$scopedSlots.close({ toggle: this.toggle })\n : this.__cachedDismissible,\n ]\n\n const data: VNodeData = {\n staticClass: 'v-alert__wrapper',\n }\n\n return this.$createElement('div', data, children)\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-alert__content',\n }, getSlot(this))\n },\n genAlert (): VNode {\n let data: VNodeData = {\n staticClass: 'v-alert',\n attrs: {\n role: 'alert',\n },\n on: this.listeners$,\n class: this.classes,\n style: this.styles,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }\n\n if (!this.coloredBorder) {\n const setColor = this.hasText ? this.setTextColor : this.setBackgroundColor\n data = setColor(this.computedColor, data)\n }\n\n return this.$createElement('div', data, [this.genWrapper()])\n },\n /** @public */\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (h): VNode {\n const render = this.genAlert()\n\n if (!this.transition) return render\n\n return h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [render])\n },\n})\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ja = moment.defineLocale('ja', {\n eras: [\n {\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R',\n },\n {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H',\n },\n {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S',\n },\n {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T',\n },\n {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M',\n },\n {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm',\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年',\n },\n });\n\n return ja;\n\n})));\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/button.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport ValidationEngine from \"../../ui/validation_engine\";\r\nimport Component from \"./common/component\";\r\nimport {\r\n getImageSourceType\r\n} from \"../../core/utils/icon\";\r\nexport default class ButtonWrapper extends Component {\r\n get _validationGroupConfig() {\r\n return ValidationEngine.getGroupConfig(this._findGroup())\r\n }\r\n getDefaultTemplateNames() {\r\n return [\"content\"]\r\n }\r\n getSupportedKeyNames() {\r\n return [\"space\", \"enter\"]\r\n }\r\n getProps() {\r\n var props = super.getProps();\r\n props.onClick = _ref => {\r\n var {\r\n event: event\r\n } = _ref;\r\n this._clickAction({\r\n event: event,\r\n validationGroup: this._validationGroupConfig\r\n })\r\n };\r\n var iconType = getImageSourceType(props.icon);\r\n if (\"svg\" === iconType) {\r\n props.iconTemplate = this._createTemplateComponent(() => props.icon)\r\n }\r\n return props\r\n }\r\n get _templatesInfo() {\r\n return {\r\n template: \"content\"\r\n }\r\n }\r\n _toggleActiveState(_, value) {\r\n var button = this.viewRef;\r\n value ? button.activate() : button.deactivate()\r\n }\r\n _getSubmitAction() {\r\n var needValidate = true;\r\n var validationStatus = \"valid\";\r\n return this._createAction(_ref2 => {\r\n var {\r\n event: event,\r\n submitInput: submitInput\r\n } = _ref2;\r\n if (needValidate) {\r\n var validationGroup = this._validationGroupConfig;\r\n if (void 0 !== validationGroup && \"\" !== validationGroup) {\r\n var validationResult = validationGroup.validate();\r\n validationStatus = validationResult.status;\r\n if (\"pending\" === validationResult.status) {\r\n needValidate = false;\r\n this.option(\"disabled\", true);\r\n validationResult.complete.then(_ref3 => {\r\n var {\r\n status: status\r\n } = _ref3;\r\n this.option(\"disabled\", false);\r\n validationStatus = status;\r\n \"valid\" === validationStatus && submitInput.click();\r\n needValidate = true\r\n })\r\n }\r\n }\r\n }\r\n \"valid\" !== validationStatus && event.preventDefault();\r\n event.stopPropagation()\r\n })\r\n }\r\n _initializeComponent() {\r\n super._initializeComponent();\r\n this._addAction(\"onSubmit\", this._getSubmitAction());\r\n this._clickAction = this._createClickAction()\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n var $content = this.$element().find(\".dx-button-content\").first();\r\n var $template = $content.children().filter(\".dx-template-wrapper\");\r\n var $input = $content.children().filter(\".dx-button-submit-input\");\r\n if ($template.length) {\r\n $template.addClass(\"dx-button-content\");\r\n $template.append($input);\r\n $content.replaceWith($template)\r\n }\r\n }\r\n _patchOptionValues(options) {\r\n return super._patchOptionValues(_extends({}, options, {\r\n templateData: options._templateData\r\n }))\r\n }\r\n _findGroup() {\r\n var $element = this.$element();\r\n var validationGroup = this.option(\"validationGroup\");\r\n return void 0 !== validationGroup && \"\" !== validationGroup ? validationGroup : ValidationEngine.findGroup($element, this._modelByElement($element))\r\n }\r\n _createClickAction() {\r\n return this._createActionByOption(\"onClick\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n }\r\n _optionChanged(option) {\r\n switch (option.name) {\r\n case \"onClick\":\r\n this._clickAction = this._createClickAction()\r\n }\r\n super._optionChanged(option)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/icon.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"iconTemplate\", \"position\", \"source\"];\r\nimport {\r\n createVNode,\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n getImageSourceType\r\n} from \"../../../core/utils/icon\";\r\nimport {\r\n combineClasses\r\n} from \"../../utils/combine_classes\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n iconClassName: iconClassName,\r\n props: {\r\n iconTemplate: IconTemplate,\r\n source: source\r\n },\r\n sourceType: sourceType\r\n } = _ref;\r\n return createFragment([\"dxIcon\" === sourceType && createVNode(1, \"i\", iconClassName), \"fontIcon\" === sourceType && createVNode(1, \"i\", iconClassName), \"image\" === sourceType && createVNode(1, \"img\", iconClassName, null, 1, {\r\n alt: \"\",\r\n src: source\r\n }), IconTemplate && createVNode(1, \"i\", iconClassName, IconTemplate({}), 0)], 0)\r\n};\r\nexport var IconProps = {\r\n position: \"left\",\r\n source: \"\"\r\n};\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class Icon extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get sourceType() {\r\n return getImageSourceType(this.props.source)\r\n }\r\n get cssClass() {\r\n return \"left\" !== this.props.position ? \"dx-icon-right\" : \"\"\r\n }\r\n get iconClassName() {\r\n var generalClasses = {\r\n \"dx-icon\": true,\r\n [this.cssClass]: !!this.cssClass\r\n };\r\n var {\r\n source: source\r\n } = this.props;\r\n if (\"dxIcon\" === this.sourceType) {\r\n return combineClasses(_extends({}, generalClasses, {\r\n [\"dx-icon-\".concat(source)]: true\r\n }))\r\n }\r\n if (\"fontIcon\" === this.sourceType) {\r\n return combineClasses(_extends({}, generalClasses, {\r\n [String(source)]: !!source\r\n }))\r\n }\r\n if (\"image\" === this.sourceType) {\r\n return combineClasses(generalClasses)\r\n }\r\n if (\"svg\" === this.sourceType) {\r\n return combineClasses(_extends({}, generalClasses, {\r\n \"dx-svg-icon\": true\r\n }))\r\n }\r\n return \"\"\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n iconTemplate: getTemplate(props.iconTemplate)\r\n }),\r\n sourceType: this.sourceType,\r\n cssClass: this.cssClass,\r\n iconClassName: this.iconClassName,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nIcon.defaultProps = IconProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/ink_ripple.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"config\"];\r\nimport {\r\n createVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n initConfig,\r\n showWave,\r\n hideWave\r\n} from \"../../../ui/widget/utils.ink_ripple\";\r\nexport var viewFunction = model => normalizeProps(createVNode(1, \"div\", \"dx-inkripple\", null, 1, _extends({}, model.restAttributes)));\r\nexport var InkRippleProps = {\r\n config: Object.freeze({})\r\n};\r\nexport class InkRipple extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {};\r\n this.hideWave = this.hideWave.bind(this);\r\n this.showWave = this.showWave.bind(this)\r\n }\r\n get getConfig() {\r\n if (void 0 !== this.__getterCache.getConfig) {\r\n return this.__getterCache.getConfig\r\n }\r\n return this.__getterCache.getConfig = (() => {\r\n var {\r\n config: config\r\n } = this.props;\r\n return initConfig(config)\r\n })()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n hideWave(opts) {\r\n hideWave(this.getConfig, opts)\r\n }\r\n showWave(opts) {\r\n showWave(this.getConfig, opts)\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.props.config !== nextProps.config) {\r\n this.__getterCache.getConfig = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n getConfig: this.getConfig,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nInkRipple.defaultProps = InkRippleProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/button.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"children\", \"className\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"icon\", \"iconPosition\", \"iconTemplate\", \"onClick\", \"onKeyDown\", \"onSubmit\", \"pressed\", \"rtlEnabled\", \"stylingMode\", \"tabIndex\", \"template\", \"templateData\", \"text\", \"type\", \"useInkRipple\", \"useSubmitBehavior\", \"visible\", \"width\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createDefaultOptionRules,\r\n convertRulesToOptions\r\n} from \"../../core/options/utils\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n isMaterial,\r\n current\r\n} from \"../../ui/themes\";\r\nimport {\r\n click\r\n} from \"../../events/short\";\r\nimport {\r\n combineClasses\r\n} from \"../utils/combine_classes\";\r\nimport {\r\n getImageSourceType\r\n} from \"../../core/utils/icon\";\r\nimport {\r\n camelize\r\n} from \"../../core/utils/inflector\";\r\nimport {\r\n Icon\r\n} from \"./common/icon\";\r\nimport errors from \"../../core/errors\";\r\nimport {\r\n InkRipple\r\n} from \"./common/ink_ripple\";\r\nimport {\r\n Widget\r\n} from \"./common/widget\";\r\nimport {\r\n BaseWidgetProps\r\n} from \"./common/base_props\";\r\nimport messageLocalization from \"../../localization/message\";\r\nvar stylingModes = [\"outlined\", \"text\", \"contained\"];\r\nvar getCssClasses = model => {\r\n var {\r\n icon: icon,\r\n iconPosition: iconPosition,\r\n stylingMode: stylingMode,\r\n text: text,\r\n type: type\r\n } = model;\r\n var isValidStylingMode = stylingMode && stylingModes.includes(stylingMode);\r\n var classesMap = {\r\n \"dx-button\": true,\r\n [\"dx-button-mode-\".concat(isValidStylingMode ? stylingMode : \"contained\")]: true,\r\n [\"dx-button-\".concat(null !== type && void 0 !== type ? type : \"normal\")]: true,\r\n \"dx-button-has-text\": !!text,\r\n \"dx-button-has-icon\": !!icon,\r\n \"dx-button-icon-right\": \"left\" !== iconPosition\r\n };\r\n return combineClasses(classesMap)\r\n};\r\nexport var viewFunction = viewModel => {\r\n var {\r\n children: children,\r\n iconPosition: iconPosition,\r\n iconTemplate: IconTemplate,\r\n template: ButtonTemplate,\r\n text: text\r\n } = viewModel.props;\r\n var renderText = !viewModel.props.template && !children && \"\" !== text;\r\n var isIconLeft = \"left\" === iconPosition;\r\n var iconComponent = !viewModel.props.template && !children && (viewModel.iconSource || viewModel.props.iconTemplate) && createComponentVNode(2, Icon, {\r\n source: viewModel.iconSource,\r\n position: iconPosition,\r\n iconTemplate: IconTemplate\r\n });\r\n return normalizeProps(createComponentVNode(2, Widget, _extends({\r\n accessKey: viewModel.props.accessKey,\r\n activeStateEnabled: viewModel.props.activeStateEnabled,\r\n aria: viewModel.aria,\r\n className: viewModel.props.className,\r\n classes: viewModel.cssClasses,\r\n disabled: viewModel.props.disabled,\r\n focusStateEnabled: viewModel.props.focusStateEnabled,\r\n height: viewModel.props.height,\r\n hint: viewModel.props.hint,\r\n hoverStateEnabled: viewModel.props.hoverStateEnabled,\r\n onActive: viewModel.onActive,\r\n onClick: viewModel.onWidgetClick,\r\n onInactive: viewModel.onInactive,\r\n onKeyDown: viewModel.keyDown,\r\n rtlEnabled: viewModel.props.rtlEnabled,\r\n tabIndex: viewModel.props.tabIndex,\r\n visible: viewModel.props.visible,\r\n width: viewModel.props.width\r\n }, viewModel.restAttributes, {\r\n children: createVNode(1, \"div\", \"dx-button-content\", [viewModel.props.template && ButtonTemplate({\r\n data: viewModel.buttonTemplateData\r\n }), !viewModel.props.template && children, isIconLeft && iconComponent, renderText && createVNode(1, \"span\", \"dx-button-text\", text, 0), !isIconLeft && iconComponent, viewModel.props.useSubmitBehavior && createVNode(64, \"input\", \"dx-button-submit-input\", null, 1, {\r\n type: \"submit\",\r\n tabIndex: -1\r\n }, null, viewModel.submitInputRef), viewModel.props.useInkRipple && createComponentVNode(2, InkRipple, {\r\n config: viewModel.inkRippleConfig\r\n }, null, viewModel.inkRippleRef)], 0, null, null, viewModel.contentRef)\r\n }), null, viewModel.widgetRef))\r\n};\r\nexport var ButtonProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BaseWidgetProps), Object.getOwnPropertyDescriptors({\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n icon: \"\",\r\n iconPosition: \"left\",\r\n stylingMode: \"contained\",\r\n text: \"\",\r\n type: \"normal\",\r\n useInkRipple: false,\r\n useSubmitBehavior: false,\r\n templateData: Object.freeze({})\r\n})));\r\nexport var defaultOptionRules = createDefaultOptionRules([{\r\n device: () => \"desktop\" === devices.real().deviceType && !devices.isSimulator(),\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n}, {\r\n device: () => isMaterial(current()),\r\n options: {\r\n useInkRipple: true\r\n }\r\n}]);\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class Button extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.contentRef = infernoCreateRef();\r\n this.inkRippleRef = infernoCreateRef();\r\n this.submitInputRef = infernoCreateRef();\r\n this.widgetRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.focus = this.focus.bind(this);\r\n this.activate = this.activate.bind(this);\r\n this.deactivate = this.deactivate.bind(this);\r\n this.submitEffect = this.submitEffect.bind(this);\r\n this.checkDeprecation = this.checkDeprecation.bind(this);\r\n this.onActive = this.onActive.bind(this);\r\n this.onInactive = this.onInactive.bind(this);\r\n this.onWidgetClick = this.onWidgetClick.bind(this);\r\n this.keyDown = this.keyDown.bind(this);\r\n this.emitClickEvent = this.emitClickEvent.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.submitEffect, [this.props.onSubmit, this.props.useSubmitBehavior]), new InfernoEffect(this.checkDeprecation, [this.props.type]), createReRenderEffect()]\r\n }\r\n updateEffects() {\r\n var _this$_effects$, _this$_effects$2;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.onSubmit, this.props.useSubmitBehavior]);\r\n null === (_this$_effects$2 = this._effects[1]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props.type])\r\n }\r\n submitEffect() {\r\n var {\r\n onSubmit: onSubmit,\r\n useSubmitBehavior: useSubmitBehavior\r\n } = this.props;\r\n if (useSubmitBehavior && onSubmit) {\r\n click.on(this.submitInputRef.current, event => onSubmit({\r\n event: event,\r\n submitInput: this.submitInputRef.current\r\n }), {\r\n namespace: \"UIFeedback\"\r\n });\r\n return () => click.off(this.submitInputRef.current, {\r\n namespace: \"UIFeedback\"\r\n })\r\n }\r\n return\r\n }\r\n checkDeprecation() {\r\n var {\r\n type: type\r\n } = this.props;\r\n if (\"back\" === type) {\r\n errors.log(\"W0016\", \"type\", \"back\", \"22.2\", \"Use the 'back' icon instead\")\r\n }\r\n }\r\n onActive(event) {\r\n var {\r\n useInkRipple: useInkRipple\r\n } = this.props;\r\n useInkRipple && this.inkRippleRef.current.showWave({\r\n element: this.contentRef.current,\r\n event: event\r\n })\r\n }\r\n onInactive(event) {\r\n var {\r\n useInkRipple: useInkRipple\r\n } = this.props;\r\n useInkRipple && this.inkRippleRef.current.hideWave({\r\n element: this.contentRef.current,\r\n event: event\r\n })\r\n }\r\n onWidgetClick(event) {\r\n var {\r\n onClick: onClick,\r\n useSubmitBehavior: useSubmitBehavior\r\n } = this.props;\r\n null === onClick || void 0 === onClick ? void 0 : onClick({\r\n event: event\r\n });\r\n useSubmitBehavior && this.submitInputRef.current.click()\r\n }\r\n keyDown(e) {\r\n var {\r\n onKeyDown: onKeyDown\r\n } = this.props;\r\n var {\r\n keyName: keyName,\r\n originalEvent: originalEvent,\r\n which: which\r\n } = e;\r\n var result = null === onKeyDown || void 0 === onKeyDown ? void 0 : onKeyDown(e);\r\n if (null !== result && void 0 !== result && result.cancel) {\r\n return result\r\n }\r\n if (\"space\" === keyName || \"space\" === which || \"enter\" === keyName || \"enter\" === which) {\r\n originalEvent.preventDefault();\r\n this.emitClickEvent()\r\n }\r\n return\r\n }\r\n emitClickEvent() {\r\n this.contentRef.current.click()\r\n }\r\n get aria() {\r\n var {\r\n icon: icon,\r\n text: text\r\n } = this.props;\r\n var label = null !== text && void 0 !== text ? text : \"\";\r\n if (!text && icon) {\r\n var iconSource = getImageSourceType(icon);\r\n switch (iconSource) {\r\n case \"image\":\r\n var isPathToImage = !icon.includes(\"base64\") && /^(?!(?:https?:\\/\\/)|(?:ftp:\\/\\/)|(?:www\\.))[^\\s]+$/.test(icon);\r\n label = isPathToImage ? icon.replace(/.+\\/([^.]+)\\..+$/, \"$1\") : \"\";\r\n break;\r\n case \"dxIcon\":\r\n label = messageLocalization.format(camelize(icon, true)) || icon;\r\n break;\r\n case \"fontIcon\":\r\n label = icon;\r\n break;\r\n case \"svg\":\r\n var _titleRegexp$exec$, _titleRegexp$exec;\r\n var title = null !== (_titleRegexp$exec$ = null === (_titleRegexp$exec = /(.*?)<\\/title>/.exec(icon)) || void 0 === _titleRegexp$exec ? void 0 : _titleRegexp$exec[1]) && void 0 !== _titleRegexp$exec$ ? _titleRegexp$exec$ : \"\";\r\n label = title\r\n }\r\n }\r\n return _extends({\r\n role: \"button\"\r\n }, label ? {\r\n label: label\r\n } : {})\r\n }\r\n get cssClasses() {\r\n return getCssClasses(this.props)\r\n }\r\n get iconSource() {\r\n var {\r\n icon: icon,\r\n type: type\r\n } = this.props;\r\n if (icon || \"back\" === type) {\r\n return (null !== icon && void 0 !== icon ? icon : \"\") || \"back\"\r\n }\r\n return \"\"\r\n }\r\n get inkRippleConfig() {\r\n if (void 0 !== this.__getterCache.inkRippleConfig) {\r\n return this.__getterCache.inkRippleConfig\r\n }\r\n return this.__getterCache.inkRippleConfig = (() => {\r\n var {\r\n icon: icon,\r\n text: text,\r\n type: type\r\n } = this.props;\r\n return !text && icon || \"back\" === type ? {\r\n isCentered: true,\r\n useHoldAnimation: false,\r\n waveSizeCoefficient: 1\r\n } : {}\r\n })()\r\n }\r\n get buttonTemplateData() {\r\n var {\r\n icon: icon,\r\n templateData: templateData,\r\n text: text\r\n } = this.props;\r\n return _extends({\r\n icon: icon,\r\n text: text\r\n }, templateData)\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n focus() {\r\n this.widgetRef.current.focus()\r\n }\r\n activate() {\r\n this.widgetRef.current.activate()\r\n }\r\n deactivate() {\r\n this.widgetRef.current.deactivate()\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.icon !== nextProps.icon || this.props.text !== nextProps.text || this.props.type !== nextProps.type) {\r\n this.__getterCache.inkRippleConfig = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n template: getTemplate(props.template),\r\n iconTemplate: getTemplate(props.iconTemplate)\r\n }),\r\n contentRef: this.contentRef,\r\n submitInputRef: this.submitInputRef,\r\n inkRippleRef: this.inkRippleRef,\r\n widgetRef: this.widgetRef,\r\n onActive: this.onActive,\r\n onInactive: this.onInactive,\r\n onWidgetClick: this.onWidgetClick,\r\n keyDown: this.keyDown,\r\n emitClickEvent: this.emitClickEvent,\r\n aria: this.aria,\r\n cssClasses: this.cssClasses,\r\n iconSource: this.iconSource,\r\n inkRippleConfig: this.inkRippleConfig,\r\n buttonTemplateData: this.buttonTemplateData,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nButton.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(ButtonProps), Object.getOwnPropertyDescriptors(_extends({}, convertRulesToOptions(defaultOptionRules)))));\r\nvar __defaultOptionRules = [];\r\nexport function defaultOptions(rule) {\r\n __defaultOptionRules.push(rule);\r\n Button.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(Button.defaultProps), Object.getOwnPropertyDescriptors(convertRulesToOptions(defaultOptionRules)), Object.getOwnPropertyDescriptors(convertRulesToOptions(__defaultOptionRules))))\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/button.j.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport BaseComponent from \"../component_wrapper/button\";\r\nimport {\r\n Button as ButtonComponent,\r\n defaultOptions\r\n} from \"./button\";\r\nexport default class Button extends BaseComponent {\r\n getProps() {\r\n var props = super.getProps();\r\n props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown);\r\n return props\r\n }\r\n focus() {\r\n var _this$viewRef;\r\n return null === (_this$viewRef = this.viewRef) || void 0 === _this$viewRef ? void 0 : _this$viewRef.focus(...arguments)\r\n }\r\n activate() {\r\n var _this$viewRef2;\r\n return null === (_this$viewRef2 = this.viewRef) || void 0 === _this$viewRef2 ? void 0 : _this$viewRef2.activate(...arguments)\r\n }\r\n deactivate() {\r\n var _this$viewRef3;\r\n return null === (_this$viewRef3 = this.viewRef) || void 0 === _this$viewRef3 ? void 0 : _this$viewRef3.deactivate(...arguments)\r\n }\r\n _getActionConfigs() {\r\n return {\r\n onClick: {\r\n excludeValidators: [\"readOnly\"]\r\n },\r\n onSubmit: {}\r\n }\r\n }\r\n get _propsInfo() {\r\n return {\r\n twoWay: [],\r\n allowNull: [],\r\n elements: [\"onSubmit\"],\r\n templates: [\"template\", \"iconTemplate\"],\r\n props: [\"activeStateEnabled\", \"hoverStateEnabled\", \"icon\", \"iconPosition\", \"onClick\", \"onSubmit\", \"pressed\", \"stylingMode\", \"template\", \"iconTemplate\", \"text\", \"type\", \"useInkRipple\", \"useSubmitBehavior\", \"templateData\", \"className\", \"accessKey\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"onKeyDown\", \"rtlEnabled\", \"tabIndex\", \"visible\", \"width\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return ButtonComponent\r\n }\r\n}\r\nregisterComponent(\"dxButton\", Button);\r\nButton.defaultOptions = defaultOptions;\r\n","/**\r\n * DevExtreme (esm/ui/button.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Widget from \"../renovation/ui/button.j\";\r\nexport default Widget;\r\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","/**\r\n * DevExtreme (esm/core/component_registrator_callbacks.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport MemorizedCallbacks from \"./memorized_callbacks\";\r\nexport default new MemorizedCallbacks;\r\n","/**\r\n * DevExtreme (esm/core/component_registrator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport callbacks from \"./component_registrator_callbacks\";\r\nimport errors from \"./errors\";\r\nimport {\r\n name as publicComponentName\r\n} from \"./utils/public_component\";\r\nvar registerComponent = function(name, namespace, componentClass) {\r\n if (!componentClass) {\r\n componentClass = namespace\r\n } else {\r\n namespace[name] = componentClass\r\n }\r\n publicComponentName(componentClass, name);\r\n callbacks.fire(name, componentClass)\r\n};\r\nvar registerRendererComponent = function(name, componentClass) {\r\n $.fn[name] = function(options) {\r\n var isMemberInvoke = \"string\" === typeof options;\r\n var result;\r\n if (isMemberInvoke) {\r\n var memberName = options;\r\n var memberArgs = [].slice.call(arguments).slice(1);\r\n this.each((function() {\r\n var instance = componentClass.getInstance(this);\r\n if (!instance) {\r\n throw errors.Error(\"E0009\", name)\r\n }\r\n var member = instance[memberName];\r\n var memberValue = member.apply(instance, memberArgs);\r\n if (void 0 === result) {\r\n result = memberValue\r\n }\r\n }))\r\n } else {\r\n this.each((function() {\r\n var instance = componentClass.getInstance(this);\r\n if (instance) {\r\n instance.option(options)\r\n } else {\r\n new componentClass(this, options)\r\n }\r\n }));\r\n result = this\r\n }\r\n return result\r\n }\r\n};\r\ncallbacks.add(registerRendererComponent);\r\nexport default registerComponent;\r\n","/**\r\n * DevExtreme (esm/data/array_query.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../core/class\";\r\nimport {\r\n isFunction,\r\n isDefined,\r\n isString\r\n} from \"../core/utils/type\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n compileGetter,\r\n toComparable\r\n} from \"../core/utils/data\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n errors,\r\n handleError as handleDataError\r\n} from \"./errors\";\r\nimport {\r\n aggregators,\r\n isGroupCriterion,\r\n isUnaryOperation,\r\n normalizeBinaryCriterion,\r\n isConjunctiveOperator as isConjunctiveOperatorChecker\r\n} from \"./utils\";\r\nvar Iterator = Class.inherit({\r\n toArray: function() {\r\n var result = [];\r\n this.reset();\r\n while (this.next()) {\r\n result.push(this.current())\r\n }\r\n return result\r\n },\r\n countable: function() {\r\n return false\r\n }\r\n});\r\nvar ArrayIterator = Iterator.inherit({\r\n ctor: function(array) {\r\n this.array = array;\r\n this.index = -1\r\n },\r\n next: function() {\r\n if (this.index + 1 < this.array.length) {\r\n this.index++;\r\n return true\r\n }\r\n return false\r\n },\r\n current: function() {\r\n return this.array[this.index]\r\n },\r\n reset: function() {\r\n this.index = -1\r\n },\r\n toArray: function() {\r\n return this.array.slice(0)\r\n },\r\n countable: function() {\r\n return true\r\n },\r\n count: function() {\r\n return this.array.length\r\n }\r\n});\r\nvar WrappedIterator = Iterator.inherit({\r\n ctor: function(iter) {\r\n this.iter = iter\r\n },\r\n next: function() {\r\n return this.iter.next()\r\n },\r\n current: function() {\r\n return this.iter.current()\r\n },\r\n reset: function() {\r\n return this.iter.reset()\r\n }\r\n});\r\nvar MapIterator = WrappedIterator.inherit({\r\n ctor: function(iter, mapper) {\r\n this.callBase(iter);\r\n this.index = -1;\r\n this.mapper = mapper\r\n },\r\n current: function() {\r\n return this.mapper(this.callBase(), this.index)\r\n },\r\n next: function() {\r\n var hasNext = this.callBase();\r\n if (hasNext) {\r\n this.index++\r\n }\r\n return hasNext\r\n }\r\n});\r\nvar defaultCompare = function(xValue, yValue, options) {\r\n if (isString(xValue) && isString(yValue) && (null !== options && void 0 !== options && options.locale || null !== options && void 0 !== options && options.collatorOptions)) {\r\n return new Intl.Collator((null === options || void 0 === options ? void 0 : options.locale) || void 0, (null === options || void 0 === options ? void 0 : options.collatorOptions) || void 0).compare(xValue, yValue)\r\n }\r\n xValue = toComparable(xValue, false, options);\r\n yValue = toComparable(yValue, false, options);\r\n if (null === xValue && null !== yValue) {\r\n return -1\r\n }\r\n if (null !== xValue && null === yValue) {\r\n return 1\r\n }\r\n if (void 0 === xValue && void 0 !== yValue) {\r\n return 1\r\n }\r\n if (void 0 !== xValue && void 0 === yValue) {\r\n return -1\r\n }\r\n if (xValue < yValue) {\r\n return -1\r\n }\r\n if (xValue > yValue) {\r\n return 1\r\n }\r\n return 0\r\n};\r\nvar SortIterator = Iterator.inherit({\r\n ctor: function(iter, getter, desc, compare) {\r\n this.langParams = iter.langParams;\r\n if (!(iter instanceof MapIterator)) {\r\n iter = new MapIterator(iter, this._wrap);\r\n iter.langParams = this.langParams\r\n }\r\n this.iter = iter;\r\n this.rules = [{\r\n getter: getter,\r\n desc: desc,\r\n compare: compare,\r\n langParams: this.langParams\r\n }]\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n var result = new SortIterator(this.sortedIter || this.iter, getter, desc, compare);\r\n if (!this.sortedIter) {\r\n result.rules = this.rules.concat(result.rules)\r\n }\r\n return result\r\n },\r\n next: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.next()\r\n },\r\n current: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.current()\r\n },\r\n reset: function() {\r\n delete this.sortedIter\r\n },\r\n countable: function() {\r\n return this.sortedIter || this.iter.countable()\r\n },\r\n count: function() {\r\n if (this.sortedIter) {\r\n return this.sortedIter.count()\r\n }\r\n return this.iter.count()\r\n },\r\n _ensureSorted: function() {\r\n var that = this;\r\n if (that.sortedIter) {\r\n return\r\n }\r\n each(that.rules, (function() {\r\n this.getter = compileGetter(this.getter)\r\n }));\r\n that.sortedIter = new MapIterator(new ArrayIterator(this.iter.toArray().sort((function(x, y) {\r\n return that._compare(x, y)\r\n }))), that._unwrap)\r\n },\r\n _wrap: function(record, index) {\r\n return {\r\n index: index,\r\n value: record\r\n }\r\n },\r\n _unwrap: function(wrappedItem) {\r\n return wrappedItem.value\r\n },\r\n _getDefaultCompare: langParams => (xValue, yValue) => defaultCompare(xValue, yValue, langParams),\r\n _compare: function(x, y) {\r\n var xIndex = x.index;\r\n var yIndex = y.index;\r\n x = x.value;\r\n y = y.value;\r\n if (x === y) {\r\n return xIndex - yIndex\r\n }\r\n for (var i = 0, rulesCount = this.rules.length; i < rulesCount; i++) {\r\n var rule = this.rules[i];\r\n var xValue = rule.getter(x);\r\n var yValue = rule.getter(y);\r\n var compare = rule.compare || this._getDefaultCompare(rule.langParams);\r\n var compareResult = compare(xValue, yValue);\r\n if (compareResult) {\r\n return rule.desc ? -compareResult : compareResult\r\n }\r\n }\r\n return xIndex - yIndex\r\n }\r\n});\r\nvar compileCriteria = function() {\r\n var langParams = {};\r\n var _toComparable = value => toComparable(value, false, langParams);\r\n var toString = function(value) {\r\n var _langParams;\r\n return isDefined(value) ? null !== (_langParams = langParams) && void 0 !== _langParams && _langParams.locale ? value.toLocaleString(langParams.locale) : value.toString() : \"\"\r\n };\r\n\r\n function compileEquals(getter, value, negate) {\r\n return function(obj) {\r\n obj = _toComparable(getter(obj));\r\n var result = function(value) {\r\n return \"\" === value || 0 === value || false === value\r\n }(value) ? obj === value : obj == value;\r\n if (negate) {\r\n result = !result\r\n }\r\n return result\r\n }\r\n }\r\n return function(crit, options) {\r\n langParams = options || {};\r\n if (isFunction(crit)) {\r\n return crit\r\n }\r\n if (isGroupCriterion(crit)) {\r\n return function(crit) {\r\n var ops = [];\r\n var isConjunctiveOperator = false;\r\n var isConjunctiveNextOperator = false;\r\n each(crit, (function() {\r\n if (Array.isArray(this) || isFunction(this)) {\r\n if (ops.length > 1 && isConjunctiveOperator !== isConjunctiveNextOperator) {\r\n throw new errors.Error(\"E4019\")\r\n }\r\n ops.push(compileCriteria(this, langParams));\r\n isConjunctiveOperator = isConjunctiveNextOperator;\r\n isConjunctiveNextOperator = true\r\n } else {\r\n isConjunctiveNextOperator = isConjunctiveOperatorChecker(this)\r\n }\r\n }));\r\n return function(d) {\r\n var result = isConjunctiveOperator;\r\n for (var i = 0; i < ops.length; i++) {\r\n if (ops[i](d) !== isConjunctiveOperator) {\r\n result = !isConjunctiveOperator;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n }(crit)\r\n }\r\n if (isUnaryOperation(crit)) {\r\n return function(crit) {\r\n var op = crit[0];\r\n var criteria = compileCriteria(crit[1], langParams);\r\n if (\"!\" === op) {\r\n return function(obj) {\r\n return !criteria(obj)\r\n }\r\n }\r\n throw errors.Error(\"E4003\", op)\r\n }(crit)\r\n }\r\n return function(crit) {\r\n crit = normalizeBinaryCriterion(crit);\r\n var getter = compileGetter(crit[0]);\r\n var op = crit[1];\r\n var value = crit[2];\r\n value = _toComparable(value);\r\n var compare = (obj, operatorFn) => {\r\n obj = _toComparable(getter(obj));\r\n return (null == value || null == obj) && value !== obj ? false : operatorFn(obj, value)\r\n };\r\n switch (op.toLowerCase()) {\r\n case \"=\":\r\n return compileEquals(getter, value);\r\n case \"<>\":\r\n return compileEquals(getter, value, true);\r\n case \">\":\r\n return obj => compare(obj, (a, b) => a > b);\r\n case \"<\":\r\n return obj => compare(obj, (a, b) => a < b);\r\n case \">=\":\r\n return obj => compare(obj, (a, b) => a >= b);\r\n case \"<=\":\r\n return obj => compare(obj, (a, b) => a <= b);\r\n case \"startswith\":\r\n return function(obj) {\r\n return 0 === _toComparable(toString(getter(obj))).indexOf(value)\r\n };\r\n case \"endswith\":\r\n return function(obj) {\r\n var getterValue = _toComparable(toString(getter(obj)));\r\n var searchValue = toString(value);\r\n if (getterValue.length < searchValue.length) {\r\n return false\r\n }\r\n var index = getterValue.lastIndexOf(value);\r\n return -1 !== index && index === getterValue.length - value.length\r\n };\r\n case \"contains\":\r\n return function(obj) {\r\n return _toComparable(toString(getter(obj))).indexOf(value) > -1\r\n };\r\n case \"notcontains\":\r\n return function(obj) {\r\n return -1 === _toComparable(toString(getter(obj))).indexOf(value)\r\n }\r\n }\r\n throw errors.Error(\"E4003\", op)\r\n }(crit)\r\n }\r\n}();\r\nvar FilterIterator = WrappedIterator.inherit({\r\n ctor: function(iter, criteria) {\r\n this.callBase(iter);\r\n this.langParams = iter.langParams;\r\n this.criteria = compileCriteria(criteria, this.langParams)\r\n },\r\n next: function() {\r\n while (this.iter.next()) {\r\n if (this.criteria(this.current())) {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n});\r\nvar GroupIterator = Iterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.iter = iter;\r\n this.getter = getter\r\n },\r\n next: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.next()\r\n },\r\n current: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.current()\r\n },\r\n reset: function() {\r\n delete this.groupedIter\r\n },\r\n countable: function() {\r\n return !!this.groupedIter\r\n },\r\n count: function() {\r\n return this.groupedIter.count()\r\n },\r\n _ensureGrouped: function() {\r\n if (this.groupedIter) {\r\n return\r\n }\r\n var hash = {};\r\n var keys = [];\r\n var iter = this.iter;\r\n var getter = compileGetter(this.getter);\r\n iter.reset();\r\n while (iter.next()) {\r\n var current = iter.current();\r\n var key = getter(current);\r\n if (key in hash) {\r\n hash[key].push(current)\r\n } else {\r\n hash[key] = [current];\r\n keys.push(key)\r\n }\r\n }\r\n this.groupedIter = new ArrayIterator(map(keys, (function(key) {\r\n return {\r\n key: key,\r\n items: hash[key]\r\n }\r\n })))\r\n }\r\n});\r\nvar SelectIterator = WrappedIterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.callBase(iter);\r\n this.getter = compileGetter(getter)\r\n },\r\n current: function() {\r\n return this.getter(this.callBase())\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return this.iter.count()\r\n }\r\n});\r\nvar SliceIterator = WrappedIterator.inherit({\r\n ctor: function(iter, skip, take) {\r\n this.callBase(iter);\r\n this.skip = Math.max(0, skip);\r\n this.take = Math.max(0, take);\r\n this.pos = 0\r\n },\r\n next: function() {\r\n if (this.pos >= this.skip + this.take) {\r\n return false\r\n }\r\n while (this.pos < this.skip && this.iter.next()) {\r\n this.pos++\r\n }\r\n this.pos++;\r\n return this.iter.next()\r\n },\r\n reset: function() {\r\n this.callBase();\r\n this.pos = 0\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return Math.min(this.iter.count() - this.skip, this.take)\r\n }\r\n});\r\nvar arrayQueryImpl = function arrayQueryImpl(iter, queryOptions) {\r\n queryOptions = queryOptions || {};\r\n if (!(iter instanceof Iterator)) {\r\n iter = new ArrayIterator(iter)\r\n }\r\n if (queryOptions.langParams) {\r\n iter.langParams = queryOptions.langParams\r\n }\r\n var handleError = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n handleDataError(error)\r\n };\r\n var aggregateCore = function(aggregator) {\r\n var d = (new Deferred).fail(handleError);\r\n var seed;\r\n var step = aggregator.step;\r\n var finalize = aggregator.finalize;\r\n try {\r\n iter.reset();\r\n if (\"seed\" in aggregator) {\r\n seed = aggregator.seed\r\n } else {\r\n seed = iter.next() ? iter.current() : NaN\r\n }\r\n var accumulator = seed;\r\n while (iter.next()) {\r\n accumulator = step(accumulator, iter.current())\r\n }\r\n d.resolve(finalize ? finalize(accumulator) : accumulator)\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n };\r\n var standardAggregate = function(name) {\r\n return aggregateCore(aggregators[name])\r\n };\r\n var select = function(getter) {\r\n if (!isFunction(getter) && !Array.isArray(getter)) {\r\n getter = [].slice.call(arguments)\r\n }\r\n return chainQuery(new SelectIterator(iter, getter))\r\n };\r\n var selectProp = function(name) {\r\n return select(compileGetter(name))\r\n };\r\n\r\n function chainQuery(iter) {\r\n return arrayQueryImpl(iter, queryOptions)\r\n }\r\n return {\r\n toArray: function() {\r\n return iter.toArray()\r\n },\r\n enumerate: function() {\r\n var d = (new Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.toArray())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n },\r\n setLangParams(options) {\r\n iter.langParams = options\r\n },\r\n sortBy: function(getter, desc, compare) {\r\n return chainQuery(new SortIterator(iter, getter, desc, compare))\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n if (iter instanceof SortIterator) {\r\n return chainQuery(iter.thenBy(getter, desc, compare))\r\n }\r\n throw errors.Error(\"E4004\")\r\n },\r\n filter: function(criteria) {\r\n if (!Array.isArray(criteria)) {\r\n criteria = [].slice.call(arguments)\r\n }\r\n return chainQuery(new FilterIterator(iter, criteria))\r\n },\r\n slice: function(skip, take) {\r\n if (void 0 === take) {\r\n take = Number.MAX_VALUE\r\n }\r\n return chainQuery(new SliceIterator(iter, skip, take))\r\n },\r\n select: select,\r\n groupBy: function(getter) {\r\n return chainQuery(new GroupIterator(iter, getter))\r\n },\r\n aggregate: function(seed, step, finalize) {\r\n if (arguments.length < 2) {\r\n return aggregateCore({\r\n step: arguments[0]\r\n })\r\n }\r\n return aggregateCore({\r\n seed: seed,\r\n step: step,\r\n finalize: finalize\r\n })\r\n },\r\n count: function() {\r\n if (iter.countable()) {\r\n var d = (new Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.count())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n }\r\n return standardAggregate(\"count\")\r\n },\r\n sum: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).sum()\r\n }\r\n return standardAggregate(\"sum\")\r\n },\r\n min: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).min()\r\n }\r\n return standardAggregate(\"min\")\r\n },\r\n max: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).max()\r\n }\r\n return standardAggregate(\"max\")\r\n },\r\n avg: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).avg()\r\n }\r\n return standardAggregate(\"avg\")\r\n }\r\n }\r\n};\r\nexport default arrayQueryImpl;\r\n","/**\r\n * DevExtreme (esm/ui/validation_message.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getOuterWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Overlay from \"./overlay/ui.overlay\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n encodeHtml\r\n} from \"../core/utils/string\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../core/utils/position\";\r\nvar INVALID_MESSAGE = \"dx-invalid-message\";\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar INVALID_MESSAGE_ALWAYS = \"dx-invalid-message-always\";\r\nvar INVALID_MESSAGE_CONTENT = \"dx-invalid-message-content\";\r\nvar VALIDATION_MESSAGE_MIN_WIDTH = 100;\r\nvar ValidationMessage = Overlay.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n integrationOptions: {},\r\n templatesRenderAsynchronously: false,\r\n shading: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n hideOnOutsideClick: false,\r\n animation: null,\r\n visible: true,\r\n propagateOutsideClick: true,\r\n _checkParentVisibility: false,\r\n rtlEnabled: false,\r\n contentTemplate: this._renderInnerHtml,\r\n maxWidth: \"100%\",\r\n container: this.$element(),\r\n target: void 0,\r\n mode: \"auto\",\r\n validationErrors: void 0,\r\n preventScrollEvents: false,\r\n positionSide: \"top\",\r\n boundary: void 0,\r\n offset: {\r\n h: 0,\r\n v: 0\r\n },\r\n contentId: void 0\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this.updateMaxWidth();\r\n this._updatePosition()\r\n },\r\n _initMarkup() {\r\n this.callBase();\r\n this._ensureMessageNotEmpty();\r\n this._updatePositionByTarget();\r\n this._toggleModeClass();\r\n this._updateContentId()\r\n },\r\n _updatePositionByTarget: function() {\r\n var {\r\n target: target\r\n } = this.option();\r\n this.option(\"position.of\", target)\r\n },\r\n _ensureMessageNotEmpty: function() {\r\n this._textMarkup = this._getTextMarkup();\r\n var shouldShowMessage = this.option(\"visible\") && this._textMarkup;\r\n this._toggleVisibilityClasses(shouldShowMessage)\r\n },\r\n _toggleVisibilityClasses: function(visible) {\r\n if (visible) {\r\n this.$element().addClass(INVALID_MESSAGE);\r\n this.$wrapper().addClass(INVALID_MESSAGE)\r\n } else {\r\n this.$element().removeClass(INVALID_MESSAGE);\r\n this.$wrapper().removeClass(INVALID_MESSAGE)\r\n }\r\n },\r\n _updateContentId() {\r\n var {\r\n container: container,\r\n contentId: contentId\r\n } = this.option();\r\n var id = null !== contentId && void 0 !== contentId ? contentId : $(container).attr(\"aria-describedby\");\r\n this.$content().addClass(INVALID_MESSAGE_CONTENT).attr(\"id\", id)\r\n },\r\n _renderInnerHtml(element) {\r\n var $element = element && $(element);\r\n null === $element || void 0 === $element ? void 0 : $element.html(this._textMarkup)\r\n },\r\n _getTextMarkup() {\r\n var _this$option;\r\n var validationErrors = null !== (_this$option = this.option(\"validationErrors\")) && void 0 !== _this$option ? _this$option : [];\r\n var validationErrorMessage = \"\";\r\n validationErrors.forEach(err => {\r\n var _err$message;\r\n var separator = validationErrorMessage ? \"<br />\" : \"\";\r\n validationErrorMessage += separator + encodeHtml(null !== (_err$message = null === err || void 0 === err ? void 0 : err.message) && void 0 !== _err$message ? _err$message : \"\")\r\n });\r\n return validationErrorMessage\r\n },\r\n _toggleModeClass() {\r\n var mode = this.option(\"mode\");\r\n this.$wrapper().toggleClass(INVALID_MESSAGE_AUTO, \"auto\" === mode).toggleClass(INVALID_MESSAGE_ALWAYS, \"always\" === mode)\r\n },\r\n updateMaxWidth() {\r\n var target = this.option(\"target\");\r\n var targetWidth = getOuterWidth(target);\r\n var maxWidth = \"100%\";\r\n if (targetWidth) {\r\n maxWidth = Math.max(targetWidth, VALIDATION_MESSAGE_MIN_WIDTH)\r\n }\r\n this.option({\r\n maxWidth: maxWidth\r\n })\r\n },\r\n _getPositionsArray: function(positionSide, rtlSide) {\r\n switch (positionSide) {\r\n case \"top\":\r\n return [\"\".concat(rtlSide, \" bottom\"), \"\".concat(rtlSide, \" top\")];\r\n case \"left\":\r\n return [\"right\", \"left\"];\r\n case \"right\":\r\n return [\"left\", \"right\"];\r\n default:\r\n return [\"\".concat(rtlSide, \" top\"), \"\".concat(rtlSide, \" bottom\")]\r\n }\r\n },\r\n _updatePosition: function() {\r\n var {\r\n positionSide: positionSide,\r\n rtlEnabled: rtlEnabled,\r\n offset: componentOffset,\r\n boundary: boundary\r\n } = this.option();\r\n var rtlSide = getDefaultAlignment(rtlEnabled);\r\n var positions = this._getPositionsArray(positionSide, rtlSide);\r\n var offset = _extends({}, componentOffset);\r\n this.$element().addClass(\"dx-invalid-message-\".concat(positionSide));\r\n if (rtlEnabled && \"left\" !== positionSide && \"right\" !== positionSide) {\r\n offset.h = -offset.h\r\n }\r\n if (\"top\" === positionSide) {\r\n offset.v = -offset.v\r\n }\r\n if (\"left\" === positionSide) {\r\n offset.h = -offset.h\r\n }\r\n this.option(\"position\", {\r\n offset: offset,\r\n boundary: boundary,\r\n my: positions[0],\r\n at: positions[1],\r\n collision: \"none flip\"\r\n })\r\n },\r\n _optionChanged(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"target\":\r\n this._updatePositionByTarget();\r\n this.updateMaxWidth();\r\n this.callBase(args);\r\n break;\r\n case \"boundary\":\r\n this.option(\"position.boundary\", value);\r\n break;\r\n case \"mode\":\r\n this._toggleModeClass(value);\r\n break;\r\n case \"rtlEnabled\":\r\n case \"offset\":\r\n case \"positionSide\":\r\n this.$element().removeClass(\"dx-invalid-message-\".concat(previousValue));\r\n this._updatePosition();\r\n break;\r\n case \"container\":\r\n this._updateContentId();\r\n this.callBase(args);\r\n break;\r\n case \"contentId\":\r\n this._updateContentId();\r\n break;\r\n case \"validationErrors\":\r\n this._ensureMessageNotEmpty();\r\n this._renderInnerHtml(this.$content());\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxValidationMessage\", ValidationMessage);\r\nexport default ValidationMessage;\r\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arMa;\n\n})));\n","/**\r\n * DevExtreme (esm/core/utils/object.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isNumeric,\r\n isPlainObject,\r\n isObject\r\n} from \"./type\";\r\nimport variableWrapper from \"./variable_wrapper\";\r\nvar clone = function() {\r\n function Clone() {}\r\n return function(obj) {\r\n Clone.prototype = obj;\r\n return new Clone\r\n }\r\n}();\r\nvar orderEach = function(map, func) {\r\n var keys = [];\r\n var key;\r\n var i;\r\n for (key in map) {\r\n if (Object.prototype.hasOwnProperty.call(map, key)) {\r\n keys.push(key)\r\n }\r\n }\r\n keys.sort((function(x, y) {\r\n var isNumberX = isNumeric(x);\r\n var isNumberY = isNumeric(y);\r\n if (isNumberX && isNumberY) {\r\n return x - y\r\n }\r\n if (isNumberX && !isNumberY) {\r\n return -1\r\n }\r\n if (!isNumberX && isNumberY) {\r\n return 1\r\n }\r\n if (x < y) {\r\n return -1\r\n }\r\n if (x > y) {\r\n return 1\r\n }\r\n return 0\r\n }));\r\n for (i = 0; i < keys.length; i++) {\r\n key = keys[i];\r\n func(key, map[key])\r\n }\r\n};\r\nvar assignValueToProperty = function(target, property, value, assignByReference) {\r\n if (!assignByReference && variableWrapper.isWrapped(target[property])) {\r\n variableWrapper.assign(target[property], value)\r\n } else {\r\n target[property] = value\r\n }\r\n};\r\nvar deepExtendArraySafe = function deepExtendArraySafe(target, changes, extendComplexObject, assignByReference) {\r\n var prevValue;\r\n var newValue;\r\n for (var name in changes) {\r\n prevValue = target[name];\r\n newValue = changes[name];\r\n if (\"__proto__\" === name || \"constructor\" === name || target === newValue) {\r\n continue\r\n }\r\n if (isPlainObject(newValue)) {\r\n var goDeeper = extendComplexObject ? isObject(prevValue) : isPlainObject(prevValue);\r\n newValue = deepExtendArraySafe(goDeeper ? prevValue : {}, newValue, extendComplexObject, assignByReference)\r\n }\r\n if (void 0 !== newValue && prevValue !== newValue) {\r\n assignValueToProperty(target, name, newValue, assignByReference)\r\n }\r\n }\r\n return target\r\n};\r\nexport {\r\n clone,\r\n orderEach,\r\n deepExtendArraySafe\r\n};\r\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\nvar reNative = require('lodash._renative');\n\n/** Used to detect functions containing a `this` reference */\nvar reThis = /\\bthis\\b/;\n\n/**\n * An object used to flag environments features.\n *\n * @static\n * @memberOf _\n * @type Object\n */\nvar support = {};\n\n/**\n * Detect if functions can be decompiled by `Function#toString`\n * (all but PS3 and older Opera mobile browsers & avoided in Windows 8 apps).\n *\n * @memberOf _.support\n * @type boolean\n */\nsupport.funcDecomp = !reNative.test(global.WinRTError) && reThis.test(function() { return this; });\n\n/**\n * Detect if `Function#name` is supported (all but IE).\n *\n * @memberOf _.support\n * @type boolean\n */\nsupport.funcNames = typeof Function.name == 'string';\n\nmodule.exports = support;\n","var voltage;\n\nvoltage = {\n V: {\n name: {\n singular: 'Volt'\n , plural: 'Volts'\n }\n , to_anchor: 1\n }\n, mV: {\n name: {\n singular: 'Millivolt'\n , plural: 'Millivolts'\n }\n , to_anchor: .001\n }\n, kV: {\n name: {\n singular: 'Kilovolt'\n , plural: 'Kilovolts'\n }\n , to_anchor: 1000\n }\n};\n\nmodule.exports = {\n metric: voltage\n, _anchors: {\n metric: {\n unit: 'V'\n , ratio: 1\n }\n }\n};\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone:\n 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n '_'\n ),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n },\n });\n\n return gomLatn;\n\n})));\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd');\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","/**\r\n * DevExtreme (esm/exporter/image_creator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport Color from \"../color\";\r\nimport {\r\n isFunction,\r\n isPromise,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n getSvgElement,\r\n HIDDEN_FOR_EXPORT\r\n} from \"../core/utils/svg\";\r\nimport {\r\n each as _each,\r\n map as _map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n contains\r\n} from \"../core/utils/dom\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n camelize\r\n} from \"../core/utils/inflector\";\r\nimport {\r\n Deferred,\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nvar _math = Math;\r\nvar PI = _math.PI;\r\nvar _min = _math.min;\r\nvar _abs = _math.abs;\r\nvar _sqrt = _math.sqrt;\r\nvar _pow = _math.pow;\r\nvar _atan2 = _math.atan2;\r\nvar _cos = _math.cos;\r\nvar _sin = _math.sin;\r\nvar _number = Number;\r\nvar IMAGE_QUALITY = 1;\r\nvar TEXT_DECORATION_LINE_WIDTH_COEFF = .05;\r\nvar DEFAULT_FONT_SIZE = \"10px\";\r\nvar DEFAULT_FONT_FAMILY = \"sans-serif\";\r\nvar DEFAULT_TEXT_COLOR = \"#000\";\r\nvar parseAttributes;\r\n\r\nfunction getStringFromCanvas(canvas, mimeType) {\r\n var dataURL = canvas.toDataURL(mimeType, IMAGE_QUALITY);\r\n var imageData = window.atob(dataURL.substring((\"data:\" + mimeType + \";base64,\").length));\r\n return imageData\r\n}\r\n\r\nfunction arcTo(x1, y1, x2, y2, radius, largeArcFlag, clockwise, context) {\r\n var cBx = (x1 + x2) / 2;\r\n var cBy = (y1 + y2) / 2;\r\n var aB = _atan2(y1 - y2, x1 - x2);\r\n var k = largeArcFlag ? 1 : -1;\r\n aB += PI / 180 * 90 * (clockwise ? 1 : -1);\r\n var opSide = _sqrt(_pow(x2 - x1, 2) + _pow(y2 - y1, 2)) / 2;\r\n var adjSide = _sqrt(_abs(_pow(radius, 2) - _pow(opSide, 2)));\r\n var centerX = cBx + k * (adjSide * _cos(aB));\r\n var centerY = cBy + k * (adjSide * _sin(aB));\r\n var startAngle = _atan2(y1 - centerY, x1 - centerX);\r\n var endAngle = _atan2(y2 - centerY, x2 - centerX);\r\n context.arc(centerX, centerY, radius, startAngle, endAngle, !clockwise)\r\n}\r\n\r\nfunction getElementOptions(element, rootAppended) {\r\n var attr = parseAttributes(element.attributes || {});\r\n var options = extend({}, attr, {\r\n text: element.textContent.replace(/\\s+/g, \" \"),\r\n textAlign: \"middle\" === attr[\"text-anchor\"] ? \"center\" : attr[\"text-anchor\"]\r\n });\r\n var transform = attr.transform;\r\n var coords;\r\n if (transform) {\r\n coords = transform.match(/translate\\(-*\\d+([.]\\d+)*(,*\\s*-*\\d+([.]\\d+)*)*/);\r\n if (coords) {\r\n coords = coords[0].match(/-*\\d+([.]\\d+)*/g);\r\n options.translateX = _number(coords[0]);\r\n options.translateY = coords[1] ? _number(coords[1]) : 0\r\n }\r\n coords = transform.match(/rotate\\(-*\\d+([.]\\d+)*(,*\\s*-*\\d+([.]\\d+)*,*\\s*-*\\d+([.]\\d+)*)*/);\r\n if (coords) {\r\n coords = coords[0].match(/-*\\d+([.]\\d+)*/g);\r\n options.rotationAngle = _number(coords[0]);\r\n options.rotationX = coords[1] && _number(coords[1]);\r\n options.rotationY = coords[2] && _number(coords[2])\r\n }\r\n coords = transform.match(/scale\\(-*\\d+([.]\\d+)*(,*\\s*-*\\d+([.]\\d+)*)*/);\r\n if (coords) {\r\n coords = coords[0].match(/-*\\d+([.]\\d+)*/g);\r\n options.scaleX = _number(coords[0]);\r\n if (coords.length > 1) {\r\n options.scaleY = _number(coords[1])\r\n } else {\r\n options.scaleY = options.scaleX\r\n }\r\n }\r\n }\r\n parseStyles(element, options, rootAppended);\r\n return options\r\n}\r\n\r\nfunction drawRect(context, options) {\r\n var x = options.x;\r\n var y = options.y;\r\n var width = options.width;\r\n var height = options.height;\r\n var cornerRadius = options.rx;\r\n if (!cornerRadius) {\r\n context.rect(x, y, width, height)\r\n } else {\r\n cornerRadius = _min(cornerRadius, width / 2, height / 2);\r\n context.save();\r\n context.translate(x, y);\r\n context.moveTo(width / 2, 0);\r\n context.arcTo(width, 0, width, height, cornerRadius);\r\n context.arcTo(width, height, 0, height, cornerRadius);\r\n context.arcTo(0, height, 0, 0, cornerRadius);\r\n context.arcTo(0, 0, cornerRadius, 0, cornerRadius);\r\n context.lineTo(width / 2, 0);\r\n context.restore()\r\n }\r\n}\r\n\r\nfunction drawImage(context, options, shared) {\r\n var d = new Deferred;\r\n var image = new window.Image;\r\n image.onload = function() {\r\n context.save();\r\n context.globalAlpha = options.globalAlpha;\r\n transformElement(context, options);\r\n clipElement(context, options, shared);\r\n context.drawImage(image, options.x || 0, options.y || 0, options.width, options.height);\r\n context.restore();\r\n d.resolve()\r\n };\r\n image.onerror = function() {\r\n d.resolve()\r\n };\r\n image.setAttribute(\"crossOrigin\", \"anonymous\");\r\n image.src = options.href || options[\"xlink:href\"];\r\n return d\r\n}\r\n\r\nfunction drawPath(context, dAttr) {\r\n var dArray = dAttr.replace(/,/g, \" \").split(/([A-Z])/i).filter(item => \"\" !== item.trim());\r\n var i = 0;\r\n var params;\r\n var prevParams;\r\n var prevParamsLen;\r\n do {\r\n params = (dArray[i + 1] || \"\").trim().split(\" \");\r\n switch (dArray[i]) {\r\n case \"M\":\r\n context.moveTo(_number(params[0]), _number(params[1]));\r\n i += 2;\r\n break;\r\n case \"L\":\r\n for (var j = 0; j < params.length / 2; j++) {\r\n context.lineTo(_number(params[2 * j]), _number(params[2 * j + 1]))\r\n }\r\n i += 2;\r\n break;\r\n case \"C\":\r\n context.bezierCurveTo(_number(params[0]), _number(params[1]), _number(params[2]), _number(params[3]), _number(params[4]), _number(params[5]));\r\n i += 2;\r\n break;\r\n case \"a\":\r\n prevParams = dArray[i - 1].trim().split(\" \");\r\n prevParamsLen = prevParams.length - 1;\r\n arcTo(_number(prevParams[prevParamsLen - 1]), _number(prevParams[prevParamsLen]), _number(prevParams[prevParamsLen - 1]) + _number(params[5]), _number(prevParams[prevParamsLen]) + _number(params[6]), _number(params[0]), _number(params[3]), _number(params[4]), context);\r\n i += 2;\r\n break;\r\n case \"A\":\r\n prevParams = dArray[i - 1].trim().split(\" \");\r\n prevParamsLen = prevParams.length - 1;\r\n arcTo(_number(prevParams[prevParamsLen - 1]), _number(prevParams[prevParamsLen]), _number(params[5]), _number(params[6]), _number(params[0]), _number(params[3]), _number(params[4]), context);\r\n i += 2;\r\n break;\r\n case \"Z\":\r\n context.closePath();\r\n i += 1;\r\n break;\r\n default:\r\n i++\r\n }\r\n } while (i < dArray.length)\r\n}\r\n\r\nfunction parseStyles(element, options, rootAppended) {\r\n var style = element.style || {};\r\n var field;\r\n for (field in style) {\r\n if (\"\" !== style[field]) {\r\n options[camelize(field)] = style[field]\r\n }\r\n }\r\n if (rootAppended && domAdapter.isElementNode(element)) {\r\n style = window.getComputedStyle(element);\r\n [\"fill\", \"stroke\", \"stroke-width\", \"font-family\", \"font-size\", \"font-style\", \"font-weight\"].forEach((function(prop) {\r\n if (prop in style && \"\" !== style[prop]) {\r\n options[camelize(prop)] = style[prop]\r\n }\r\n }));\r\n [\"opacity\", \"fill-opacity\", \"stroke-opacity\"].forEach((function(prop) {\r\n if (prop in style && \"\" !== style[prop] && \"1\" !== style[prop]) {\r\n options[prop] = _number(style[prop])\r\n }\r\n }))\r\n }\r\n options.textDecoration = options.textDecoration || options.textDecorationLine;\r\n options.globalAlpha = isDefined(options.opacity) ? options.opacity : options.globalAlpha\r\n}\r\n\r\nfunction parseUrl(urlString) {\r\n var matches = urlString && urlString.match(/url\\(.*#(.*?)[\"']?\\)/i);\r\n return matches && matches[1]\r\n}\r\n\r\nfunction setFontStyle(context, options) {\r\n var fontParams = [];\r\n options.fontSize = options.fontSize || DEFAULT_FONT_SIZE;\r\n options.fontFamily = options.fontFamily || DEFAULT_FONT_FAMILY;\r\n options.fill = options.fill || DEFAULT_TEXT_COLOR;\r\n options.fontStyle && fontParams.push(options.fontStyle);\r\n options.fontWeight && fontParams.push(options.fontWeight);\r\n fontParams.push(options.fontSize);\r\n fontParams.push(options.fontFamily);\r\n context.font = fontParams.join(\" \");\r\n context.textAlign = options.textAlign;\r\n context.fillStyle = options.fill;\r\n context.globalAlpha = options.globalAlpha\r\n}\r\n\r\nfunction drawText(context, options, shared) {\r\n setFontStyle(context, options);\r\n applyFilter(context, options, shared);\r\n options.text && context.fillText(options.text, options.x || 0, options.y || 0);\r\n strokeElement(context, options, true);\r\n drawTextDecoration(context, options, shared)\r\n}\r\n\r\nfunction drawTextDecoration(context, options, shared) {\r\n if (!options.textDecoration || \"none\" === options.textDecoration) {\r\n return\r\n }\r\n var x = options.x;\r\n var textWidth = context.measureText(options.text).width;\r\n var textHeight = parseInt(options.fontSize, 10);\r\n var lineHeight = textHeight * TEXT_DECORATION_LINE_WIDTH_COEFF < 1 ? 1 : textHeight * TEXT_DECORATION_LINE_WIDTH_COEFF;\r\n var y = options.y;\r\n switch (options.textDecoration) {\r\n case \"line-through\":\r\n y -= textHeight / 3 + lineHeight / 2;\r\n break;\r\n case \"overline\":\r\n y -= textHeight - lineHeight;\r\n break;\r\n case \"underline\":\r\n y += lineHeight\r\n }\r\n context.rect(x, y, textWidth, lineHeight);\r\n fillElement(context, options, shared);\r\n strokeElement(context, options)\r\n}\r\n\r\nfunction aggregateOpacity(options) {\r\n options.strokeOpacity = void 0 !== options[\"stroke-opacity\"] ? options[\"stroke-opacity\"] : 1;\r\n options.fillOpacity = void 0 !== options[\"fill-opacity\"] ? options[\"fill-opacity\"] : 1;\r\n if (void 0 !== options.opacity) {\r\n options.strokeOpacity *= options.opacity;\r\n options.fillOpacity *= options.opacity\r\n }\r\n}\r\n\r\nfunction hasTspan(element) {\r\n var nodes = element.childNodes;\r\n for (var i = 0; i < nodes.length; i++) {\r\n if (\"tspan\" === nodes[i].tagName) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction drawTextElement(childNodes, context, options, shared) {\r\n var lines = [];\r\n var line;\r\n var offset = 0;\r\n for (var i = 0; i < childNodes.length; i++) {\r\n var element = childNodes[i];\r\n if (void 0 === element.tagName) {\r\n drawElement(element, context, options, shared)\r\n } else if (\"tspan\" === element.tagName || \"text\" === element.tagName) {\r\n var elementOptions = getElementOptions(element, shared.rootAppended);\r\n var mergedOptions = extend({}, options, elementOptions);\r\n if (\"tspan\" === element.tagName && hasTspan(element)) {\r\n drawTextElement(element.childNodes, context, mergedOptions, shared);\r\n continue\r\n }\r\n mergedOptions.textAlign = \"start\";\r\n if (!line || void 0 !== elementOptions.x) {\r\n line = {\r\n elements: [],\r\n options: [],\r\n widths: [],\r\n offsets: []\r\n };\r\n lines.push(line)\r\n }\r\n if (void 0 !== elementOptions.y) {\r\n offset = 0\r\n }\r\n if (void 0 !== elementOptions.dy) {\r\n offset += parseFloat(elementOptions.dy)\r\n }\r\n line.elements.push(element);\r\n line.options.push(mergedOptions);\r\n line.offsets.push(offset);\r\n setFontStyle(context, mergedOptions);\r\n line.widths.push(context.measureText(mergedOptions.text).width)\r\n }\r\n }\r\n lines.forEach((function(line) {\r\n var commonWidth = line.widths.reduce((function(commonWidth, width) {\r\n return commonWidth + width\r\n }), 0);\r\n var xDiff = 0;\r\n var currentOffset = 0;\r\n if (\"center\" === options.textAlign) {\r\n xDiff = commonWidth / 2\r\n }\r\n if (\"end\" === options.textAlign) {\r\n xDiff = commonWidth\r\n }\r\n line.options.forEach((function(o, index) {\r\n var width = line.widths[index];\r\n o.x = o.x - xDiff + currentOffset;\r\n o.y += line.offsets[index];\r\n currentOffset += width\r\n }));\r\n line.elements.forEach((function(element, index) {\r\n drawTextElement(element.childNodes, context, line.options[index], shared)\r\n }))\r\n }))\r\n}\r\n\r\nfunction drawElement(element, context, parentOptions, shared) {\r\n var tagName = element.tagName;\r\n var isText = \"text\" === tagName || \"tspan\" === tagName || void 0 === tagName;\r\n var isImage = \"image\" === tagName;\r\n var isComment = 8 === element.nodeType;\r\n var options = extend({}, parentOptions, getElementOptions(element, shared.rootAppended));\r\n if (\"hidden\" === options.visibility || options[HIDDEN_FOR_EXPORT] || isComment) {\r\n return\r\n }\r\n context.save();\r\n !isImage && transformElement(context, options);\r\n clipElement(context, options, shared);\r\n aggregateOpacity(options);\r\n var promise;\r\n context.beginPath();\r\n switch (element.tagName) {\r\n case void 0:\r\n drawText(context, options, shared);\r\n break;\r\n case \"text\":\r\n case \"tspan\":\r\n drawTextElement(element.childNodes, context, options, shared);\r\n break;\r\n case \"image\":\r\n promise = drawImage(context, options, shared);\r\n break;\r\n case \"path\":\r\n drawPath(context, options.d);\r\n break;\r\n case \"rect\":\r\n drawRect(context, options);\r\n context.closePath();\r\n break;\r\n case \"circle\":\r\n context.arc(options.cx, options.cy, options.r, 0, 2 * PI, 1)\r\n }\r\n if (!isText) {\r\n applyFilter(context, options, shared);\r\n if (!isImage) {\r\n promise = fillElement(context, options, shared)\r\n }\r\n strokeElement(context, options)\r\n }\r\n applyGradient(context, options, shared, element, \"linear\");\r\n applyGradient(context, options, shared, element, \"radial\");\r\n context.restore();\r\n return promise\r\n}\r\n\r\nfunction applyGradient(context, options, _ref, element, type) {\r\n var {\r\n linearGradients: linearGradients,\r\n radialGradients: radialGradients\r\n } = _ref;\r\n var gradients = \"linear\" === type ? linearGradients : radialGradients;\r\n if (0 === Object.keys(gradients).length) {\r\n return\r\n }\r\n var id = parseUrl(options.fill);\r\n if (id && gradients[id]) {\r\n var box = element.getBBox();\r\n var horizontalCenter = box.x + box.width / 2;\r\n var verticalCenter = box.y + box.height / 2;\r\n var maxRadius = Math.max(box.height / 2, box.width / 2);\r\n var gradient = \"linear\" === type ? context.createLinearGradient(box.x, 0, box.x + box.width, 0) : context.createRadialGradient(horizontalCenter, verticalCenter, 0, horizontalCenter, verticalCenter, maxRadius);\r\n gradients[id].colors.forEach(opt => {\r\n var offset = parseInt(opt.offset.replace(/%/, \"\"));\r\n gradient.addColorStop(offset / 100, opt.stopColor)\r\n });\r\n if (\"linear\" === type) {\r\n var _ref2, _gradients$id$transfo;\r\n var angle = null !== (_ref2 = (null === (_gradients$id$transfo = gradients[id].transform) || void 0 === _gradients$id$transfo ? void 0 : _gradients$id$transfo.replace(/\\D/g, \"\")) * Math.PI / 180) && void 0 !== _ref2 ? _ref2 : 0;\r\n context.translate(horizontalCenter, verticalCenter);\r\n context.rotate(angle);\r\n context.translate(-horizontalCenter, -verticalCenter)\r\n }\r\n context.globalAlpha = options.opacity;\r\n context.fillStyle = gradient;\r\n context.fill()\r\n }\r\n}\r\n\r\nfunction applyFilter(context, options, shared) {\r\n var filterOptions;\r\n var id = parseUrl(options.filter);\r\n if (id) {\r\n filterOptions = shared.filters[id];\r\n if (!filterOptions) {\r\n filterOptions = {\r\n offsetX: 0,\r\n offsetY: 0,\r\n blur: 0,\r\n color: \"#000\"\r\n }\r\n }\r\n context.shadowOffsetX = filterOptions.offsetX;\r\n context.shadowOffsetY = filterOptions.offsetY;\r\n context.shadowColor = filterOptions.color;\r\n context.shadowBlur = filterOptions.blur\r\n }\r\n}\r\n\r\nfunction transformElement(context, options) {\r\n context.translate(options.translateX || 0, options.translateY || 0);\r\n options.translateX = void 0;\r\n options.translateY = void 0;\r\n if (options.rotationAngle) {\r\n context.translate(options.rotationX || 0, options.rotationY || 0);\r\n context.rotate(options.rotationAngle * PI / 180);\r\n context.translate(-(options.rotationX || 0), -(options.rotationY || 0));\r\n options.rotationAngle = void 0;\r\n options.rotationX = void 0;\r\n options.rotationY = void 0\r\n }\r\n if (isFinite(options.scaleX)) {\r\n context.scale(options.scaleX, options.scaleY);\r\n options.scaleX = void 0;\r\n options.scaleY = void 0\r\n }\r\n}\r\n\r\nfunction clipElement(context, options, shared) {\r\n if (options[\"clip-path\"]) {\r\n drawElement(shared.clipPaths[parseUrl(options[\"clip-path\"])], context, {}, shared);\r\n context.clip();\r\n options[\"clip-path\"] = void 0\r\n }\r\n}\r\n\r\nfunction hex2rgba(hexColor, alpha) {\r\n var color = new Color(hexColor);\r\n return \"rgba(\" + color.r + \",\" + color.g + \",\" + color.b + \",\" + alpha + \")\"\r\n}\r\n\r\nfunction createGradient(element) {\r\n var _element$attributes$g;\r\n var options = {\r\n colors: [],\r\n transform: null === (_element$attributes$g = element.attributes.gradientTransform) || void 0 === _element$attributes$g ? void 0 : _element$attributes$g.textContent\r\n };\r\n _each(element.childNodes, (_, _ref3) => {\r\n var {\r\n attributes: attributes\r\n } = _ref3;\r\n options.colors.push({\r\n offset: attributes.offset.value,\r\n stopColor: attributes[\"stop-color\"].value\r\n })\r\n });\r\n return options\r\n}\r\n\r\nfunction createFilter(element) {\r\n var color;\r\n var opacity;\r\n var filterOptions = {};\r\n _each(element.childNodes, (function(_, node) {\r\n var attr = node.attributes;\r\n if (!attr.result) {\r\n return\r\n }\r\n switch (attr.result.value) {\r\n case \"gaussianBlurResult\":\r\n filterOptions.blur = _number(attr.stdDeviation.value);\r\n break;\r\n case \"offsetResult\":\r\n filterOptions.offsetX = _number(attr.dx.value);\r\n filterOptions.offsetY = _number(attr.dy.value);\r\n break;\r\n case \"floodResult\":\r\n color = attr[\"flood-color\"] ? attr[\"flood-color\"].value : \"#000\";\r\n opacity = attr[\"flood-opacity\"] ? attr[\"flood-opacity\"].value : 1;\r\n filterOptions.color = hex2rgba(color, opacity)\r\n }\r\n }));\r\n return filterOptions\r\n}\r\n\r\nfunction asyncEach(array, callback) {\r\n var d = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : new Deferred;\r\n var i = 0;\r\n for (; i < array.length; i++) {\r\n var result = callback(array[i]);\r\n if (isPromise(result)) {\r\n result.then(() => {\r\n asyncEach(Array.prototype.slice.call(array, i + 1), callback, d)\r\n });\r\n break\r\n }\r\n }\r\n if (i === array.length) {\r\n d.resolve()\r\n }\r\n return d\r\n}\r\n\r\nfunction drawCanvasElements(elements, context, parentOptions, shared) {\r\n return asyncEach(elements, (function(element) {\r\n switch (element.tagName && element.tagName.toLowerCase()) {\r\n case \"g\":\r\n case \"svg\":\r\n var options = extend({}, parentOptions, getElementOptions(element, shared.rootAppended));\r\n context.save();\r\n transformElement(context, options);\r\n clipElement(context, options, shared);\r\n var onDone = () => {\r\n context.restore()\r\n };\r\n var promise = drawCanvasElements(element.childNodes, context, options, shared);\r\n if (isPromise(promise)) {\r\n promise.then(onDone)\r\n } else {\r\n onDone()\r\n }\r\n return promise;\r\n case \"defs\":\r\n return drawCanvasElements(element.childNodes, context, {}, shared);\r\n case \"clippath\":\r\n shared.clipPaths[element.attributes.id.textContent] = element.childNodes[0];\r\n break;\r\n case \"pattern\":\r\n shared.patterns[element.attributes.id.textContent] = element;\r\n break;\r\n case \"filter\":\r\n shared.filters[element.id] = createFilter(element);\r\n break;\r\n case \"lineargradient\":\r\n shared.linearGradients[element.attributes.id.textContent] = createGradient(element);\r\n break;\r\n case \"radialgradient\":\r\n shared.radialGradients[element.attributes.id.textContent] = createGradient(element);\r\n break;\r\n default:\r\n return drawElement(element, context, parentOptions, shared)\r\n }\r\n }))\r\n}\r\n\r\nfunction setLineDash(context, options) {\r\n var matches = options[\"stroke-dasharray\"] && options[\"stroke-dasharray\"].match(/(\\d+)/g);\r\n if (matches && matches.length) {\r\n matches = _map(matches, (function(item) {\r\n return _number(item)\r\n }));\r\n context.setLineDash(matches)\r\n }\r\n}\r\n\r\nfunction strokeElement(context, options, isText) {\r\n var stroke = options.stroke;\r\n if (stroke && \"none\" !== stroke && 0 !== options[\"stroke-width\"]) {\r\n setLineDash(context, options);\r\n context.lineJoin = options[\"stroke-linejoin\"];\r\n context.lineWidth = options[\"stroke-width\"];\r\n context.globalAlpha = options.strokeOpacity;\r\n context.strokeStyle = stroke;\r\n isText ? context.strokeText(options.text, options.x, options.y) : context.stroke();\r\n context.globalAlpha = 1\r\n }\r\n}\r\n\r\nfunction getPattern(context, pattern, shared, parentOptions) {\r\n var options = getElementOptions(pattern, shared.rootAppended);\r\n var patternCanvas = imageCreator._createCanvas(options.width, options.height, 0);\r\n var patternContext = patternCanvas.getContext(\"2d\");\r\n var promise = drawCanvasElements(pattern.childNodes, patternContext, options, shared);\r\n var onDone = () => {\r\n context.fillStyle = context.createPattern(patternCanvas, \"repeat\");\r\n context.globalAlpha = parentOptions.fillOpacity;\r\n context.fill();\r\n context.globalAlpha = 1\r\n };\r\n if (isPromise(promise)) {\r\n promise.then(onDone)\r\n } else {\r\n onDone()\r\n }\r\n return promise\r\n}\r\n\r\nfunction fillElement(context, options, shared) {\r\n var fill = options.fill;\r\n var promise;\r\n if (fill && \"none\" !== fill) {\r\n if (-1 === fill.search(/url/)) {\r\n context.fillStyle = fill;\r\n context.globalAlpha = options.fillOpacity;\r\n context.fill();\r\n context.globalAlpha = 1\r\n } else {\r\n var pattern = shared.patterns[parseUrl(fill)];\r\n if (!pattern) {\r\n return\r\n }\r\n promise = getPattern(context, pattern, shared, options)\r\n }\r\n }\r\n return promise\r\n}\r\nparseAttributes = function(attributes) {\r\n var newAttributes = {};\r\n var attr;\r\n _each(attributes, (function(index, item) {\r\n attr = item.textContent;\r\n if (isFinite(attr)) {\r\n attr = _number(attr)\r\n }\r\n newAttributes[item.name.toLowerCase()] = attr\r\n }));\r\n return newAttributes\r\n};\r\n\r\nfunction drawBackground(context, width, height, backgroundColor, margin) {\r\n context.fillStyle = backgroundColor || \"#ffffff\";\r\n context.fillRect(-margin, -margin, width + 2 * margin, height + 2 * margin)\r\n}\r\n\r\nfunction createInvisibleDiv() {\r\n var invisibleDiv = domAdapter.createElement(\"div\");\r\n invisibleDiv.style.left = \"-9999px\";\r\n invisibleDiv.style.position = \"absolute\";\r\n return invisibleDiv\r\n}\r\n\r\nfunction convertSvgToCanvas(svg, canvas, rootAppended) {\r\n return drawCanvasElements(svg.childNodes, canvas.getContext(\"2d\"), {}, {\r\n clipPaths: {},\r\n patterns: {},\r\n filters: {},\r\n linearGradients: {},\r\n radialGradients: {},\r\n rootAppended: rootAppended\r\n })\r\n}\r\n\r\nfunction getCanvasFromSvg(markup, _ref4) {\r\n var {\r\n width: width,\r\n height: height,\r\n backgroundColor: backgroundColor,\r\n margin: margin,\r\n svgToCanvas: svgToCanvas = convertSvgToCanvas\r\n } = _ref4;\r\n var scaledScreenInfo = calcScaledInfo(width, height);\r\n var canvas = imageCreator._createCanvas(scaledScreenInfo.width, scaledScreenInfo.height, margin);\r\n var context = canvas.getContext(\"2d\");\r\n context.setTransform(scaledScreenInfo.pixelRatio, 0, 0, scaledScreenInfo.pixelRatio, 0, 0);\r\n var svgElem = getSvgElement(markup);\r\n var invisibleDiv;\r\n var markupIsDomElement = domAdapter.isElementNode(markup);\r\n context.translate(margin, margin);\r\n domAdapter.getBody().appendChild(canvas);\r\n if (!markupIsDomElement) {\r\n invisibleDiv = createInvisibleDiv();\r\n invisibleDiv.appendChild(svgElem);\r\n domAdapter.getBody().appendChild(invisibleDiv)\r\n }\r\n if (svgElem.attributes.direction) {\r\n canvas.dir = svgElem.attributes.direction.textContent\r\n }\r\n drawBackground(context, width, height, backgroundColor, margin);\r\n return fromPromise(svgToCanvas(svgElem, canvas, markupIsDomElement && contains(domAdapter.getBody(), markup))).then(() => canvas).always(() => {\r\n invisibleDiv && domAdapter.getBody().removeChild(invisibleDiv);\r\n domAdapter.getBody().removeChild(canvas)\r\n })\r\n}\r\nexport var imageCreator = {\r\n getImageData: function(markup, options) {\r\n var mimeType = \"image/\" + options.format;\r\n if (isFunction(options.__parseAttributesFn)) {\r\n parseAttributes = options.__parseAttributesFn\r\n }\r\n return getCanvasFromSvg(markup, options).then(canvas => getStringFromCanvas(canvas, mimeType))\r\n },\r\n getData: function(markup, options) {\r\n var that = this;\r\n return imageCreator.getImageData(markup, options).then(binaryData => {\r\n var mimeType = \"image/\" + options.format;\r\n var data = isFunction(window.Blob) && !options.useBase64 ? that._getBlob(binaryData, mimeType) : that._getBase64(binaryData);\r\n return data\r\n })\r\n },\r\n _getBlob: function(binaryData, mimeType) {\r\n var i;\r\n var dataArray = new Uint8Array(binaryData.length);\r\n for (i = 0; i < binaryData.length; i++) {\r\n dataArray[i] = binaryData.charCodeAt(i)\r\n }\r\n return new window.Blob([dataArray.buffer], {\r\n type: mimeType\r\n })\r\n },\r\n _getBase64: function(binaryData) {\r\n return window.btoa(binaryData)\r\n },\r\n _createCanvas(width, height, margin) {\r\n var canvas = $(\"<canvas>\")[0];\r\n canvas.width = width + 2 * margin;\r\n canvas.height = height + 2 * margin;\r\n canvas.hidden = true;\r\n return canvas\r\n }\r\n};\r\nexport function getData(data, options) {\r\n return imageCreator.getData(data, options)\r\n}\r\nexport function testFormats(formats) {\r\n var canvas = imageCreator._createCanvas(100, 100, 0);\r\n return formats.reduce((function(r, f) {\r\n var mimeType = (\"image/\" + f).toLowerCase();\r\n if (-1 !== canvas.toDataURL(mimeType).indexOf(mimeType)) {\r\n r.supported.push(f)\r\n } else {\r\n r.unsupported.push(f)\r\n }\r\n return r\r\n }), {\r\n supported: [],\r\n unsupported: []\r\n })\r\n}\r\nexport function calcScaledInfo(width, height) {\r\n var pixelRatio = window.devicePixelRatio || 1;\r\n return {\r\n pixelRatio: pixelRatio,\r\n width: width * pixelRatio,\r\n height: height * pixelRatio\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/exporter/file_saver.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n getWindow,\r\n getNavigator\r\n} from \"../core/utils/window\";\r\nimport errors from \"../ui/widget/ui.errors\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n logger\r\n} from \"../core/utils/console\";\r\nvar window = getWindow();\r\nvar navigator = getNavigator();\r\nvar FILE_EXTESIONS = {\r\n EXCEL: \"xlsx\",\r\n CSS: \"css\",\r\n PNG: \"png\",\r\n JPEG: \"jpeg\",\r\n GIF: \"gif\",\r\n SVG: \"svg\",\r\n PDF: \"pdf\"\r\n};\r\nexport var MIME_TYPES = {\r\n CSS: \"text/css\",\r\n EXCEL: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n PNG: \"image/png\",\r\n JPEG: \"image/jpeg\",\r\n GIF: \"image/gif\",\r\n SVG: \"image/svg+xml\",\r\n PDF: \"application/pdf\"\r\n};\r\nexport var fileSaver = {\r\n _revokeObjectURLTimeout: 3e4,\r\n _getDataUri: function(format, data) {\r\n var mimeType = this._getMimeType(format);\r\n return \"data:\".concat(mimeType, \";base64,\").concat(data)\r\n },\r\n _getMimeType: function(format) {\r\n return MIME_TYPES[format] || \"application/octet-stream\"\r\n },\r\n _linkDownloader: function(fileName, href) {\r\n var exportLinkElement = domAdapter.createElement(\"a\");\r\n exportLinkElement.download = fileName;\r\n exportLinkElement.href = href;\r\n exportLinkElement.target = \"_blank\";\r\n return exportLinkElement\r\n },\r\n _winJSBlobSave: function(blob, fileName, format) {\r\n var savePicker = new Windows.Storage.Pickers.FileSavePicker;\r\n savePicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.documentsLibrary;\r\n var fileExtension = FILE_EXTESIONS[format];\r\n if (fileExtension) {\r\n var mimeType = this._getMimeType(format);\r\n savePicker.fileTypeChoices.insert(mimeType, [\".\" + fileExtension])\r\n }\r\n savePicker.suggestedFileName = fileName;\r\n savePicker.pickSaveFileAsync().then((function(file) {\r\n if (file) {\r\n file.openAsync(Windows.Storage.FileAccessMode.readWrite).then((function(outputStream) {\r\n var inputStream = blob.msDetachStream();\r\n Windows.Storage.Streams.RandomAccessStream.copyAsync(inputStream, outputStream).then((function() {\r\n outputStream.flushAsync().done((function() {\r\n inputStream.close();\r\n outputStream.close()\r\n }))\r\n }))\r\n }))\r\n }\r\n }))\r\n },\r\n _click: function(link) {\r\n try {\r\n link.dispatchEvent(new MouseEvent(\"click\", {\r\n cancelable: true\r\n }))\r\n } catch (e) {\r\n var event = domAdapter.getDocument().createEvent(\"MouseEvents\");\r\n event.initMouseEvent(\"click\", true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);\r\n link.dispatchEvent(event)\r\n }\r\n },\r\n _saveBlobAs: function(fileName, format, data) {\r\n this._blobSaved = false;\r\n if (isDefined(navigator.msSaveOrOpenBlob)) {\r\n navigator.msSaveOrOpenBlob(data, fileName);\r\n this._blobSaved = true\r\n } else if (isDefined(window.WinJS)) {\r\n this._winJSBlobSave(data, fileName, format);\r\n this._blobSaved = true\r\n } else {\r\n var URL = window.URL || window.webkitURL || window.mozURL || window.msURL || window.oURL;\r\n if (isDefined(URL)) {\r\n var objectURL = URL.createObjectURL(data);\r\n var downloadLink = this._linkDownloader(fileName, objectURL);\r\n setTimeout(() => {\r\n URL.revokeObjectURL(objectURL);\r\n this._objectUrlRevoked = true\r\n }, this._revokeObjectURLTimeout);\r\n this._click(downloadLink)\r\n } else {\r\n logger.warn(\"window.URL || window.webkitURL || window.mozURL || window.msURL || window.oURL is not defined\")\r\n }\r\n }\r\n },\r\n saveAs: function(fileName, format, data) {\r\n var fileExtension = FILE_EXTESIONS[format];\r\n if (fileExtension) {\r\n fileName += \".\" + fileExtension\r\n }\r\n if (isFunction(window.Blob)) {\r\n this._saveBlobAs(fileName, format, data)\r\n } else {\r\n if (!isDefined(navigator.userAgent.match(/iPad/i))) {\r\n errors.log(\"E1034\")\r\n }\r\n var downloadLink = this._linkDownloader(fileName, this._getDataUri(format, data));\r\n this._click(downloadLink)\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/svg_creator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport ajax from \"../core/utils/ajax\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n getSvgElement,\r\n getSvgMarkup,\r\n HIDDEN_FOR_EXPORT\r\n} from \"../core/utils/svg\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nexport var svgCreator = {\r\n _markup: \"\",\r\n _imageArray: {},\r\n _imageDeferreds: [],\r\n _getBinaryFile: function(src, callback) {\r\n ajax.sendRequest({\r\n url: src,\r\n method: \"GET\",\r\n responseType: \"arraybuffer\"\r\n }).done(callback).fail((function() {\r\n callback(false)\r\n }))\r\n },\r\n _loadImages: function() {\r\n var that = this;\r\n each(that._imageArray, (function(src) {\r\n var deferred = new Deferred;\r\n that._imageDeferreds.push(deferred);\r\n that._getBinaryFile(src, (function(response) {\r\n if (!response) {\r\n delete that._imageArray[src];\r\n deferred.resolve();\r\n return\r\n }\r\n var i;\r\n var binary = \"\";\r\n var bytes = new Uint8Array(response);\r\n var length = bytes.byteLength;\r\n for (i = 0; i < length; i++) {\r\n binary += String.fromCharCode(bytes[i])\r\n }\r\n that._imageArray[src] = \"data:image/png;base64,\" + window.btoa(binary);\r\n deferred.resolve()\r\n }))\r\n }))\r\n },\r\n _parseImages: function(element) {\r\n var href;\r\n var that = this;\r\n if (\"image\" === element.tagName) {\r\n href = $(element).attr(\"href\") || $(element).attr(\"xlink:href\");\r\n if (!that._imageArray[href]) {\r\n that._imageArray[href] = \"\"\r\n }\r\n }\r\n each(element.childNodes, (function(_, element) {\r\n that._parseImages(element)\r\n }))\r\n },\r\n _prepareImages: function(svgElem) {\r\n this._parseImages(svgElem);\r\n this._loadImages();\r\n return when.apply($, this._imageDeferreds)\r\n },\r\n getData: function(data, options) {\r\n var markup;\r\n var that = this;\r\n var svgElem = getSvgElement(data);\r\n var $svgObject = $(svgElem);\r\n $svgObject.find(\"[\".concat(HIDDEN_FOR_EXPORT, \"]\")).remove();\r\n markup = '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>' + getSvgMarkup($svgObject.get(0), options.backgroundColor);\r\n return that._prepareImages(svgElem).then(() => {\r\n each(that._imageArray, (function(href, dataURI) {\r\n var regexpString = \"href=['|\\\"]\".concat(href, \"['|\\\"]\");\r\n markup = markup.replace(new RegExp(regexpString, \"gi\"), 'href=\"'.concat(dataURI, '\"'))\r\n }));\r\n return isFunction(window.Blob) ? that._getBlob(markup) : that._getBase64(markup)\r\n })\r\n },\r\n _getBlob: function(markup) {\r\n return new window.Blob([markup], {\r\n type: \"image/svg+xml\"\r\n })\r\n },\r\n _getBase64: function(markup) {\r\n return window.btoa(markup)\r\n }\r\n};\r\nexport function getData(data, options) {\r\n return svgCreator.getData(data, options)\r\n}\r\n","/**\r\n * DevExtreme (esm/exporter/pdf_creator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n version\r\n} from \"../core/version\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n imageCreator,\r\n calcScaledInfo\r\n} from \"./image_creator\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nvar mainPageTemplate = \"%PDF-1.3\\r\\n2 0 obj\\r\\n<</ProcSet[/PDF/ImageB/ImageC/ImageI]/XObject<</I0 5 0 R>>>>\\r\\nendobj\\r\\n4 0 obj\\r\\n<</Type/Pages/Kids[1 0 R]/Count 1>>\\r\\nendobj\\r\\n7 0 obj\\r\\n<</OpenAction[1 0 R /FitH null]/Type/Catalog/Pages 4 0 R/PageLayout/OneColumn>>\\r\\nendobj\\r\\n1 0 obj\\r\\n<</Type/Page/Resources 2 0 R/MediaBox[0 0 _width_ _height_]/Contents 3 0 R/Parent 4 0 R>>\\r\\nendobj\\r\\n\";\r\nvar contentTemplate = \"3 0 obj\\r\\n<</Length 52>>stream\\r\\n0.20 w\\n0 G\\nq _width_ 0 0 _height_ 0.00 0.00 cm /I0 Do Q\\r\\nendstream\\r\\nendobj\\r\\n\";\r\nvar infoTemplate = \"6 0 obj\\r\\n<</CreationDate _date_/Producer(DevExtreme _version_)>>\\r\\nendobj\\r\\n\";\r\nvar imageStartTemplate = \"5 0 obj\\r\\n<</Type/XObject/Subtype/Image/Width _width_/Height _height_/ColorSpace/DeviceRGB/BitsPerComponent 8/Filter/DCTDecode/Length _length_>>stream\\r\\n\";\r\nvar imageEndTemplate = \"\\r\\nendstream\\r\\nendobj\\r\\n\";\r\nvar trailerTemplate = \"trailer\\r\\n<<\\r\\n/Size 8\\r\\n/Root 7 0 R\\r\\n/Info 6 0 R\\r\\n>>\\r\\nstartxref\\r\\n_length_\\r\\n%%EOF\";\r\nvar xrefTemplate = \"xref\\r\\n0 8\\r\\n0000000000 65535 f\\r\\n0000000241 00000 n\\r\\n0000000010 00000 n\\r\\n_main_ 00000 n\\r\\n0000000089 00000 n\\r\\n_image_ 00000 n\\r\\n_info_ 00000 n\\r\\n0000000143 00000 n\\r\\n\";\r\nvar pad = function pad(str, len) {\r\n return str.length < len ? pad(\"0\" + str, len) : str\r\n};\r\nvar composePdfString = function(imageString, options, curDate) {\r\n var margin = 2 * (options.margin || 0);\r\n var {\r\n width: width,\r\n height: height\r\n } = calcScaledInfo(options.width, options.height);\r\n width += margin;\r\n height += margin;\r\n var widthPt = (.75 * width).toFixed(2);\r\n var heightPt = (.75 * height).toFixed(2);\r\n var flooredWidth = Math.floor(width);\r\n var flooredHeight = Math.floor(height);\r\n var mainPage = mainPageTemplate.replace(\"_width_\", widthPt).replace(\"_height_\", heightPt);\r\n var content = contentTemplate.replace(\"_width_\", widthPt).replace(\"_height_\", heightPt);\r\n var info = infoTemplate.replace(\"_date_\", curDate).replace(\"_version_\", version);\r\n var image = imageStartTemplate.replace(\"_width_\", flooredWidth).replace(\"_height_\", flooredHeight).replace(\"_length_\", imageString.length) + imageString + imageEndTemplate;\r\n var xref = getXref(mainPage.length, content.length, info.length);\r\n var mainContent = mainPage + content + info + image;\r\n var trailer = trailerTemplate.replace(\"_length_\", mainContent.length);\r\n return mainContent + xref + trailer\r\n};\r\n\r\nfunction getXref(mainPageLength, contentLength, infoLength) {\r\n return xrefTemplate.replace(\"_main_\", pad(mainPageLength + \"\", 10)).replace(\"_info_\", pad(mainPageLength + contentLength + \"\", 10)).replace(\"_image_\", pad(mainPageLength + contentLength + infoLength + \"\", 10))\r\n}\r\nvar getCurDate = function() {\r\n return new Date\r\n};\r\nvar getBlob = function(binaryData) {\r\n var i = 0;\r\n var dataArray = new Uint8Array(binaryData.length);\r\n for (; i < binaryData.length; i++) {\r\n dataArray[i] = binaryData.charCodeAt(i)\r\n }\r\n return new window.Blob([dataArray.buffer], {\r\n type: \"application/pdf\"\r\n })\r\n};\r\nvar getBase64 = function(binaryData) {\r\n return window.btoa(binaryData)\r\n};\r\n\r\nfunction getTwoDigitValue(value) {\r\n var stringValue = value.toString();\r\n if (1 === stringValue.length) {\r\n return \"0\".concat(value)\r\n }\r\n return value\r\n}\r\n\r\nfunction convertToPdfDateFormat(date) {\r\n var dateUnits = [date.getUTCFullYear(), getTwoDigitValue(date.getUTCMonth()), getTwoDigitValue(date.getUTCDate()), getTwoDigitValue(date.getUTCHours()), getTwoDigitValue(date.getUTCMinutes()), getTwoDigitValue(date.getUTCSeconds())];\r\n return \"(D:\".concat(dateUnits.join(\"\"), \"Z00'00')\")\r\n}\r\nexport function getData(data, options) {\r\n return imageCreator.getImageData(data, extend({}, options, {\r\n format: \"JPEG\"\r\n })).then(imageString => {\r\n var binaryData = composePdfString(imageString, options, convertToPdfDateFormat(getCurDate()));\r\n var pdfData = isFunction(window.Blob) ? getBlob(binaryData) : getBase64(binaryData);\r\n return pdfData\r\n })\r\n}\r\n","/**\r\n * DevExtreme (esm/exporter.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n fileSaver\r\n} from \"./exporter/file_saver\";\r\nimport {\r\n imageCreator,\r\n testFormats,\r\n getData as getImageData\r\n} from \"./exporter/image_creator\";\r\nimport {\r\n svgCreator,\r\n getData as getSvgData\r\n} from \"./exporter/svg_creator\";\r\nimport {\r\n isFunction as _isFunction,\r\n isBoolean\r\n} from \"./core/utils/type\";\r\nimport {\r\n Deferred\r\n} from \"./core/utils/deferred\";\r\nimport {\r\n getData\r\n} from \"./exporter/pdf_creator\";\r\n\r\nfunction _export(data, options, getData) {\r\n if (!data) {\r\n return (new Deferred).resolve()\r\n }\r\n var exportingAction = options.exportingAction;\r\n var exportedAction = options.exportedAction;\r\n var fileSavingAction = options.fileSavingAction;\r\n var eventArgs = {\r\n fileName: options.fileName,\r\n format: options.format,\r\n cancel: false\r\n };\r\n if (isBoolean(options.selectedRowsOnly)) {\r\n eventArgs.selectedRowsOnly = options.selectedRowsOnly\r\n }\r\n _isFunction(exportingAction) && exportingAction(eventArgs);\r\n if (!eventArgs.cancel) {\r\n return getData(data, options).then(blob => {\r\n _isFunction(exportedAction) && exportedAction();\r\n if (_isFunction(fileSavingAction)) {\r\n eventArgs.data = blob;\r\n fileSavingAction(eventArgs)\r\n }\r\n if (!eventArgs.cancel) {\r\n var format = \"xlsx\" === options.format ? \"EXCEL\" : options.format;\r\n fileSaver.saveAs(eventArgs.fileName, format, blob)\r\n }\r\n })\r\n }\r\n return (new Deferred).resolve()\r\n}\r\nexport {\r\n _export as\r\n export, fileSaver\r\n};\r\nexport var image = {\r\n creator: imageCreator,\r\n getData: getImageData,\r\n testFormats: testFormats\r\n};\r\nexport var pdf = {\r\n getData: getData\r\n};\r\nexport var svg = {\r\n creator: svgCreator,\r\n getData: getSvgData\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/export.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n patchFontOptions\r\n} from \"./utils\";\r\nimport {\r\n HIDDEN_FOR_EXPORT\r\n} from \"../../core/utils/svg\";\r\nimport {\r\n export as _export,\r\n image as imageExporter,\r\n svg as svgExporter,\r\n pdf as pdfExporter\r\n} from \"../../exporter\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getTheme\r\n} from \"../themes\";\r\nimport {\r\n start as hoverEventStart,\r\n end as hoverEventEnd\r\n} from \"../../events/hover\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n logger\r\n} from \"../../core/utils/console\";\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nvar pointerActions = [pointerEvents.down, pointerEvents.move].join(\" \");\r\nvar BUTTON_SIZE = 35;\r\nvar ICON_COORDS = [\r\n [9, 12, 26, 12, 26, 14, 9, 14],\r\n [9, 17, 26, 17, 26, 19, 9, 19],\r\n [9, 22, 26, 22, 26, 24, 9, 24]\r\n];\r\nvar LIST_PADDING_TOP = 4;\r\nvar LIST_WIDTH = 120;\r\nvar VERTICAL_TEXT_MARGIN = 8;\r\nvar HORIZONTAL_TEXT_MARGIN = 15;\r\nvar MENU_ITEM_HEIGHT = 30;\r\nvar LIST_STROKE_WIDTH = 1;\r\nvar MARGIN = 10;\r\nvar SHADOW_OFFSET = 2;\r\nvar SHADOW_BLUR = 3;\r\nvar DEFAULT_EXPORT_FORMAT = \"PNG\";\r\nvar ALLOWED_IMAGE_FORMATS = [DEFAULT_EXPORT_FORMAT, \"JPEG\", \"GIF\"];\r\nvar ALLOWED_EXTRA_FORMATS = [\"PDF\", \"SVG\"];\r\nvar EXPORT_CSS_CLASS = \"dx-export-menu\";\r\nvar A4WidthCm = \"21cm\";\r\nvar EXPORT_DATA_KEY = \"export-element-type\";\r\nvar FORMAT_DATA_KEY = \"export-element-format\";\r\nvar GET_COLOR_REGEX = /data-backgroundcolor=\"([^\"]*)\"/;\r\n\r\nfunction getValidFormats() {\r\n var imageFormats = imageExporter.testFormats(ALLOWED_IMAGE_FORMATS);\r\n return {\r\n unsupported: imageFormats.unsupported,\r\n supported: imageFormats.supported.concat(ALLOWED_EXTRA_FORMATS)\r\n }\r\n}\r\n\r\nfunction validateFormat(format, incidentOccurred, validFormats) {\r\n validFormats = validFormats || getValidFormats();\r\n format = String(format).toUpperCase();\r\n if (-1 !== validFormats.supported.indexOf(format)) {\r\n return format\r\n }\r\n if (-1 !== validFormats.unsupported.indexOf(format)) {\r\n incidentOccurred && incidentOccurred(\"W2108\", [format])\r\n }\r\n}\r\n\r\nfunction getCreatorFunc(format) {\r\n if (\"SVG\" === format) {\r\n return svgExporter.getData\r\n } else if (\"PDF\" === format) {\r\n return pdfExporter.getData\r\n } else {\r\n return imageExporter.getData\r\n }\r\n}\r\n\r\nfunction print(imageSrc, options) {\r\n var document = getWindow().document;\r\n var iFrame = document.createElement(\"iframe\");\r\n iFrame.onload = setPrint(imageSrc, options);\r\n iFrame.style.position = \"fixed\";\r\n iFrame.style.width = \"0\";\r\n iFrame.style.height = \"0\";\r\n iFrame.style.right = \"0\";\r\n iFrame.style.bottom = \"0\";\r\n document.body.appendChild(iFrame)\r\n}\r\n\r\nfunction calculatePrintPageWidth(iFrameBody) {\r\n iFrameBody.style.width = A4WidthCm;\r\n var width = getWidth(iFrameBody);\r\n iFrameBody.style.width = \"\";\r\n return width\r\n}\r\n\r\nfunction setPrint(imageSrc, options) {\r\n return function() {\r\n var window = this.contentWindow;\r\n var img = window.document.createElement(\"img\");\r\n window.document.body.appendChild(img);\r\n var widthRatio = calculatePrintPageWidth(window.document.body) / options.width;\r\n if (widthRatio < 1) {\r\n window.document.body.style.transform = \"scale(\".concat(widthRatio, \")\");\r\n window.document.body.style[\"transform-origin\"] = \"0 0\"\r\n }\r\n var removeFrame = () => {\r\n this.parentElement.removeChild(this)\r\n };\r\n img.addEventListener(\"load\", () => {\r\n window.focus();\r\n window.print()\r\n });\r\n img.addEventListener(\"error\", removeFrame);\r\n window.addEventListener(\"afterprint\", () => {\r\n setTimeout(removeFrame, 0)\r\n });\r\n img.src = imageSrc\r\n }\r\n}\r\n\r\nfunction getItemAttributes(options, type, itemIndex) {\r\n var x = BUTTON_SIZE - LIST_WIDTH;\r\n var y = BUTTON_SIZE + LIST_PADDING_TOP + LIST_STROKE_WIDTH + itemIndex * MENU_ITEM_HEIGHT;\r\n var attr = {\r\n rect: {\r\n width: LIST_WIDTH - 2 * LIST_STROKE_WIDTH,\r\n height: MENU_ITEM_HEIGHT,\r\n x: x + LIST_STROKE_WIDTH,\r\n y: y\r\n },\r\n text: {\r\n x: x + (options.rtl ? LIST_WIDTH - HORIZONTAL_TEXT_MARGIN : HORIZONTAL_TEXT_MARGIN),\r\n y: y + MENU_ITEM_HEIGHT - VERTICAL_TEXT_MARGIN\r\n }\r\n };\r\n if (\"printing\" === type) {\r\n attr.separator = {\r\n stroke: options.button.default.borderColor,\r\n \"stroke-width\": LIST_STROKE_WIDTH,\r\n cursor: \"pointer\",\r\n sharp: \"v\",\r\n d: \"M \" + x + \" \" + (y + MENU_ITEM_HEIGHT - LIST_STROKE_WIDTH) + \" L \" + (x + LIST_WIDTH) + \" \" + (y + MENU_ITEM_HEIGHT - LIST_STROKE_WIDTH)\r\n }\r\n }\r\n return attr\r\n}\r\n\r\nfunction createMenuItem(renderer, options, settings) {\r\n var itemData = {};\r\n var type = settings.type;\r\n var format = settings.format;\r\n var attr = getItemAttributes(options, type, settings.itemIndex);\r\n var fontStyle = patchFontOptions(options.font);\r\n fontStyle[\"pointer-events\"] = \"none\";\r\n var menuItem = renderer.g().attr({\r\n class: EXPORT_CSS_CLASS + \"-list-item\"\r\n });\r\n itemData[EXPORT_DATA_KEY] = type;\r\n if (format) {\r\n itemData[FORMAT_DATA_KEY] = format\r\n }\r\n var rect = renderer.rect();\r\n rect.attr(attr.rect).css({\r\n cursor: \"pointer\",\r\n \"pointer-events\": \"all\"\r\n }).data(itemData);\r\n rect.on(hoverEventStart + \".export\", () => rect.attr({\r\n fill: options.button.hover.backgroundColor\r\n })).on(hoverEventEnd + \".export\", () => rect.attr({\r\n fill: null\r\n }));\r\n rect.append(menuItem);\r\n var text = renderer.text(settings.text).css(fontStyle).attr(attr.text).append(menuItem);\r\n if (\"printing\" === type) {\r\n renderer.path(null, \"line\").attr(attr.separator).append(menuItem)\r\n }\r\n return {\r\n g: menuItem,\r\n rect: rect,\r\n resetState: () => rect.attr({\r\n fill: null\r\n }),\r\n fixPosition: () => {\r\n var textBBox = text.getBBox();\r\n text.move(attr.text.x - textBBox.x - (options.rtl ? textBBox.width : 0))\r\n }\r\n }\r\n}\r\n\r\nfunction createMenuItems(renderer, options) {\r\n var items = [];\r\n if (options.printingEnabled) {\r\n items.push(createMenuItem(renderer, options, {\r\n type: \"printing\",\r\n text: messageLocalization.format(\"vizExport-printingButtonText\"),\r\n itemIndex: items.length\r\n }))\r\n }\r\n items = options.formats.reduce((r, format) => {\r\n r.push(createMenuItem(renderer, options, {\r\n type: \"exporting\",\r\n text: messageLocalization.getFormatter(\"vizExport-exportButtonText\")(format),\r\n format: format,\r\n itemIndex: r.length\r\n }));\r\n return r\r\n }, items);\r\n return items\r\n}\r\n\r\nfunction getBackgroundColorFromMarkup(markup) {\r\n var parsedMarkup = GET_COLOR_REGEX.exec(markup);\r\n return null === parsedMarkup || void 0 === parsedMarkup ? void 0 : parsedMarkup[1]\r\n}\r\nexport var exportFromMarkup = function(markup, options) {\r\n options.format = validateFormat(options.format) || DEFAULT_EXPORT_FORMAT;\r\n options.fileName = options.fileName || \"file\";\r\n options.exportingAction = options.onExporting;\r\n options.exportedAction = options.onExported;\r\n options.fileSavingAction = options.onFileSaving;\r\n options.margin = isDefined(options.margin) ? options.margin : MARGIN;\r\n options.backgroundColor = isDefined(options.backgroundColor) ? options.backgroundColor : getBackgroundColorFromMarkup(markup) || getTheme().backgroundColor;\r\n _export(markup, options, getCreatorFunc(options.format))\r\n};\r\nexport var getMarkup = widgets => combineMarkups(widgets).markup;\r\nexport var exportWidgets = function(widgets, options) {\r\n options = options || {};\r\n var markupInfo = combineMarkups(widgets, {\r\n gridLayout: options.gridLayout,\r\n verticalAlignment: options.verticalAlignment,\r\n horizontalAlignment: options.horizontalAlignment\r\n });\r\n options.width = markupInfo.width;\r\n options.height = markupInfo.height;\r\n exportFromMarkup(markupInfo.markup, options)\r\n};\r\nexport var combineMarkups = function(widgets) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n if (!Array.isArray(widgets)) {\r\n widgets = [\r\n [widgets]\r\n ]\r\n } else if (!Array.isArray(widgets[0])) {\r\n widgets = widgets.map(item => [item])\r\n }\r\n var compactView = !options.gridLayout;\r\n var exportItems = widgets.reduce((r, row, rowIndex) => {\r\n var rowInfo = row.reduce((r, item, colIndex) => {\r\n var size = item.getSize();\r\n var backgroundColor = item.option(\"backgroundColor\") || getTheme(item.option(\"theme\")).backgroundColor;\r\n backgroundColor && -1 === r.backgroundColors.indexOf(backgroundColor) && r.backgroundColors.push(backgroundColor);\r\n r.hOffset = r.width;\r\n r.width += size.width;\r\n r.height = Math.max(r.height, size.height);\r\n r.itemWidth = Math.max(r.itemWidth, size.width);\r\n r.items.push({\r\n markup: item.svg(),\r\n width: size.width,\r\n height: size.height,\r\n c: colIndex,\r\n r: rowIndex,\r\n hOffset: r.hOffset\r\n });\r\n return r\r\n }, {\r\n items: [],\r\n height: 0,\r\n itemWidth: 0,\r\n hOffset: 0,\r\n width: 0,\r\n backgroundColors: r.backgroundColors\r\n });\r\n r.rowOffsets.push(r.totalHeight);\r\n r.rowHeights.push(rowInfo.height);\r\n r.totalHeight += rowInfo.height;\r\n r.items = r.items.concat(rowInfo.items);\r\n r.itemWidth = Math.max(r.itemWidth, rowInfo.itemWidth);\r\n r.maxItemLen = Math.max(r.maxItemLen, rowInfo.items.length);\r\n r.totalWidth = compactView ? Math.max(r.totalWidth, rowInfo.width) : r.maxItemLen * r.itemWidth;\r\n return r\r\n }, {\r\n items: [],\r\n rowOffsets: [],\r\n rowHeights: [],\r\n itemWidth: 0,\r\n totalHeight: 0,\r\n maxItemLen: 0,\r\n totalWidth: 0,\r\n backgroundColors: []\r\n });\r\n var backgroundColor = 'data-backgroundcolor=\"'.concat(1 === exportItems.backgroundColors.length ? exportItems.backgroundColors[0] : \"\", '\" ');\r\n var getVOffset = item => {\r\n var align = options.verticalAlignment;\r\n var dy = exportItems.rowHeights[item.r] - item.height;\r\n return exportItems.rowOffsets[item.r] + (\"bottom\" === align ? dy : \"center\" === align ? dy / 2 : 0)\r\n };\r\n var getHOffset = item => {\r\n if (compactView) {\r\n return item.hOffset\r\n }\r\n var align = options.horizontalAlignment;\r\n var colWidth = exportItems.itemWidth;\r\n var dx = colWidth - item.width;\r\n return item.c * colWidth + (\"right\" === align ? dx : \"center\" === align ? dx / 2 : 0)\r\n };\r\n var totalHeight = exportItems.totalHeight;\r\n var totalWidth = exportItems.totalWidth;\r\n return {\r\n markup: \"<svg \" + backgroundColor + 'height=\"' + totalHeight + '\" width=\"' + totalWidth + '\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">' + exportItems.items.map(item => '<g transform=\"translate('.concat(getHOffset(item), \",\").concat(getVOffset(item), ')\">').concat(item.markup, \"</g>\")).join(\"\") + \"</svg>\",\r\n width: totalWidth,\r\n height: totalHeight\r\n }\r\n};\r\nexport var ExportMenu = function(params) {\r\n var renderer = this._renderer = params.renderer;\r\n this._incidentOccurred = params.incidentOccurred;\r\n this._exportTo = params.exportTo;\r\n this._print = params.print;\r\n this._shadow = renderer.shadowFilter(\"-50%\", \"-50%\", \"200%\", \"200%\", SHADOW_OFFSET, 6, SHADOW_BLUR);\r\n this._shadow.attr({\r\n opacity: .8\r\n });\r\n this._group = renderer.g().attr({\r\n class: EXPORT_CSS_CLASS,\r\n [HIDDEN_FOR_EXPORT]: true\r\n }).linkOn(renderer.root, {\r\n name: \"export-menu\",\r\n after: \"peripheral\"\r\n });\r\n this._buttonGroup = renderer.g().attr({\r\n class: EXPORT_CSS_CLASS + \"-button\"\r\n }).append(this._group);\r\n this._listGroup = renderer.g().attr({\r\n class: EXPORT_CSS_CLASS + \"-list\"\r\n }).append(this._group);\r\n this._overlay = renderer.rect(-LIST_WIDTH + BUTTON_SIZE, BUTTON_SIZE + LIST_PADDING_TOP, LIST_WIDTH, 0);\r\n this._overlay.attr({\r\n \"stroke-width\": LIST_STROKE_WIDTH,\r\n cursor: \"pointer\",\r\n rx: 4,\r\n ry: 4,\r\n filter: this._shadow.id\r\n });\r\n this._overlay.data({\r\n \"export-element-type\": \"list\"\r\n });\r\n this.validFormats = getValidFormats();\r\n this._subscribeEvents()\r\n};\r\nextend(ExportMenu.prototype, {\r\n getLayoutOptions() {\r\n if (this._hiddenDueToLayout) {\r\n return {\r\n width: 0,\r\n height: 0,\r\n cutSide: \"vertical\",\r\n cutLayoutSide: \"top\"\r\n }\r\n }\r\n var bBox = this._buttonGroup.getBBox();\r\n bBox.cutSide = \"vertical\";\r\n bBox.cutLayoutSide = \"top\";\r\n bBox.height += MARGIN;\r\n bBox.position = {\r\n vertical: \"top\",\r\n horizontal: \"right\"\r\n };\r\n bBox.verticalAlignment = \"top\";\r\n bBox.horizontalAlignment = \"right\";\r\n return bBox\r\n },\r\n shift(_, y) {\r\n this._group.attr({\r\n translateY: this._group.attr(\"translateY\") + y\r\n })\r\n },\r\n draw(width, height, canvas) {\r\n this._group.move(width - BUTTON_SIZE - SHADOW_OFFSET - SHADOW_BLUR + canvas.left, Math.floor(height / 2 - BUTTON_SIZE / 2));\r\n var layoutOptions = this.getLayoutOptions();\r\n if (layoutOptions.width > width || layoutOptions.height > height) {\r\n this.freeSpace()\r\n }\r\n return this\r\n },\r\n show() {\r\n this._group.linkAppend()\r\n },\r\n hide() {\r\n this._group.linkRemove()\r\n },\r\n setOptions(options) {\r\n this._options = options;\r\n if (options.formats) {\r\n options.formats = options.formats.reduce((r, format) => {\r\n format = validateFormat(format, this._incidentOccurred, this.validFormats);\r\n format && r.push(format);\r\n return r\r\n }, [])\r\n } else {\r\n options.formats = this.validFormats.supported.slice()\r\n }\r\n options.printingEnabled = void 0 === options.printingEnabled ? true : options.printingEnabled;\r\n if (options.enabled && (options.formats.length || options.printingEnabled)) {\r\n this.show();\r\n this._updateButton();\r\n this._updateList();\r\n this._hideList()\r\n } else {\r\n this.hide()\r\n }\r\n },\r\n dispose() {\r\n this._unsubscribeEvents();\r\n this._group.linkRemove().linkOff();\r\n this._group.dispose();\r\n this._shadow.dispose()\r\n },\r\n layoutOptions() {\r\n return this._options.enabled && {\r\n horizontalAlignment: \"right\",\r\n verticalAlignment: \"top\",\r\n weak: true\r\n }\r\n },\r\n measure() {\r\n this._fillSpace();\r\n var margin = this._options.button.margin;\r\n return [BUTTON_SIZE + margin.left + margin.right, BUTTON_SIZE + margin.top + margin.bottom]\r\n },\r\n move(rect) {\r\n var margin = this._options.button.margin;\r\n this._group.attr({\r\n translateX: Math.round(rect[0]) + margin.left,\r\n translateY: Math.round(rect[1]) + margin.top\r\n })\r\n },\r\n _fillSpace() {\r\n this._hiddenDueToLayout = false;\r\n this.show()\r\n },\r\n freeSpace() {\r\n this._incidentOccurred(\"W2107\");\r\n this._hiddenDueToLayout = true;\r\n this.hide()\r\n },\r\n _hideList() {\r\n this._listGroup.remove();\r\n this._listShown = false;\r\n this._setButtonState(\"default\");\r\n this._menuItems.forEach(item => item.resetState())\r\n },\r\n _showList() {\r\n this._listGroup.append(this._group);\r\n this._listShown = true;\r\n this._menuItems.forEach(item => item.fixPosition())\r\n },\r\n _setButtonState(state) {\r\n var style = this._options.button[state];\r\n this._button.attr({\r\n stroke: style.borderColor,\r\n fill: style.backgroundColor\r\n });\r\n this._icon.attr({\r\n fill: style.color\r\n })\r\n },\r\n _subscribeEvents() {\r\n this._renderer.root.on(pointerEvents.up + \".export\", e => {\r\n var elementType = e.target[EXPORT_DATA_KEY];\r\n if (!elementType) {\r\n if (this._button) {\r\n this._hideList()\r\n }\r\n return\r\n }\r\n if (\"button\" === elementType) {\r\n if (this._listShown) {\r\n this._setButtonState(\"default\");\r\n this._hideList()\r\n } else {\r\n this._setButtonState(\"focus\");\r\n this._showList()\r\n }\r\n } else if (\"printing\" === elementType) {\r\n this._print();\r\n this._hideList()\r\n } else if (\"exporting\" === elementType) {\r\n this._exportTo(e.target[FORMAT_DATA_KEY]);\r\n this._hideList()\r\n }\r\n });\r\n this._listGroup.on(pointerActions, e => e.stopPropagation());\r\n this._buttonGroup.on(pointerEvents.enter, () => this._setButtonState(\"hover\"));\r\n this._buttonGroup.on(pointerEvents.leave, () => this._setButtonState(this._listShown ? \"focus\" : \"default\"));\r\n this._buttonGroup.on(pointerEvents.down + \".export\", () => this._setButtonState(\"active\"))\r\n },\r\n _unsubscribeEvents() {\r\n this._renderer.root.off(\".export\");\r\n this._listGroup.off();\r\n this._buttonGroup.off()\r\n },\r\n _updateButton() {\r\n var renderer = this._renderer;\r\n var options = this._options;\r\n var exportData = {\r\n \"export-element-type\": \"button\"\r\n };\r\n if (!this._button) {\r\n this._button = renderer.rect(0, 0, BUTTON_SIZE, BUTTON_SIZE).append(this._buttonGroup);\r\n this._button.attr({\r\n rx: 4,\r\n ry: 4,\r\n fill: options.button.default.backgroundColor,\r\n stroke: options.button.default.borderColor,\r\n \"stroke-width\": 1,\r\n cursor: \"pointer\"\r\n });\r\n this._button.data(exportData);\r\n this._icon = renderer.path(ICON_COORDS).append(this._buttonGroup);\r\n this._icon.attr({\r\n fill: options.button.default.color,\r\n cursor: \"pointer\"\r\n });\r\n this._icon.data(exportData);\r\n this._buttonGroup.setTitle(messageLocalization.format(\"vizExport-titleMenuText\"))\r\n }\r\n },\r\n _updateList() {\r\n var options = this._options;\r\n var buttonDefault = options.button.default;\r\n var listGroup = this._listGroup;\r\n var items = createMenuItems(this._renderer, options);\r\n this._shadow.attr({\r\n color: options.shadowColor\r\n });\r\n this._overlay.attr({\r\n height: items.length * MENU_ITEM_HEIGHT + 2 * LIST_STROKE_WIDTH,\r\n fill: buttonDefault.backgroundColor,\r\n stroke: buttonDefault.borderColor\r\n });\r\n listGroup.clear();\r\n this._overlay.append(listGroup);\r\n items.forEach(item => item.g.append(listGroup));\r\n this._menuItems = items\r\n }\r\n});\r\n\r\nfunction getExportOptions(widget, exportOptions, fileName, format) {\r\n if (format || exportOptions.format) {\r\n format = validateFormat(format || exportOptions.format, widget._incidentOccurred)\r\n }\r\n var {\r\n width: width,\r\n height: height\r\n } = widget.getSize();\r\n return {\r\n format: format || DEFAULT_EXPORT_FORMAT,\r\n fileName: fileName || exportOptions.fileName || \"file\",\r\n backgroundColor: exportOptions.backgroundColor,\r\n width: width,\r\n height: height,\r\n margin: exportOptions.margin,\r\n svgToCanvas: exportOptions.svgToCanvas,\r\n exportingAction: widget._createActionByOption(\"onExporting\", {\r\n excludeValidators: [\"disabled\"]\r\n }),\r\n exportedAction: widget._createActionByOption(\"onExported\", {\r\n excludeValidators: [\"disabled\"]\r\n }),\r\n fileSavingAction: widget._createActionByOption(\"onFileSaving\", {\r\n excludeValidators: [\"disabled\"]\r\n })\r\n }\r\n}\r\nexport var plugin = {\r\n name: \"export\",\r\n init() {\r\n this._exportMenu = new ExportMenu({\r\n renderer: this._renderer,\r\n incidentOccurred: this._incidentOccurred,\r\n print: () => this.print(),\r\n exportTo: format => this.exportTo(void 0, format)\r\n });\r\n this._layout.add(this._exportMenu)\r\n },\r\n dispose() {\r\n this._exportMenu.dispose()\r\n },\r\n members: {\r\n _getExportMenuOptions() {\r\n return extend({}, this._getOption(\"export\"), {\r\n rtl: this._getOption(\"rtlEnabled\", true)\r\n })\r\n },\r\n _disablePointerEvents() {\r\n var pointerEventsValue = this._renderer.root.attr(\"pointer-events\");\r\n this._renderer.root.attr({\r\n \"pointer-events\": \"none\"\r\n });\r\n return pointerEventsValue\r\n },\r\n exportTo(fileName, format) {\r\n var menu = this._exportMenu;\r\n var options = getExportOptions(this, this._getOption(\"export\") || {}, fileName, format);\r\n menu && menu.hide();\r\n var pointerEventsValue = this._disablePointerEvents();\r\n var promise = _export(this._renderer.root.element, options, getCreatorFunc(options.format)).fail(logger.error).always(() => {\r\n this._renderer.root.attr({\r\n \"pointer-events\": pointerEventsValue\r\n })\r\n });\r\n menu && menu.show();\r\n return promise\r\n },\r\n print() {\r\n var menu = this._exportMenu;\r\n var options = getExportOptions(this, this._getOption(\"export\") || {});\r\n options.exportingAction = null;\r\n options.exportedAction = null;\r\n options.margin = 0;\r\n options.format = \"PNG\";\r\n options.useBase64 = true;\r\n options.fileSavingAction = eventArgs => {\r\n print(\"data:image/png;base64,\".concat(eventArgs.data), {\r\n width: options.width,\r\n __test: options.__test\r\n });\r\n eventArgs.cancel = true\r\n };\r\n var pointerEventsValue = this._disablePointerEvents();\r\n menu && menu.hide();\r\n var promise = _export(this._renderer.root.element, options, getCreatorFunc(options.format)).fail(logger.error).always(() => {\r\n this._renderer.root.attr({\r\n \"pointer-events\": pointerEventsValue\r\n })\r\n });\r\n menu && menu.show();\r\n return promise\r\n }\r\n },\r\n customize(constructor) {\r\n var proto = constructor.prototype;\r\n constructor.addChange({\r\n code: \"EXPORT\",\r\n handler() {\r\n this._exportMenu.setOptions(this._getExportMenuOptions());\r\n this._change([\"LAYOUT\"])\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true,\r\n option: \"export\"\r\n });\r\n proto._optionChangesMap.onExporting = \"EXPORT\";\r\n proto._optionChangesMap.onExported = \"EXPORT\";\r\n proto._optionChangesMap.onFileSaving = \"EXPORT\"\r\n },\r\n fontFields: [\"export.font\"]\r\n};\r\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","/**\r\n * DevExtreme (esm/core/templates/empty_template.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nexport class EmptyTemplate extends TemplateBase {\r\n _renderCore() {\r\n return $()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.base.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n ensureDefined,\r\n deferRenderer,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n findTemplates\r\n} from \"../../core/utils/template_manager\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isPlainObject,\r\n isFunction,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport Action from \"../../core/action\";\r\nimport Guid from \"../../core/guid\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport DataHelperMixin from \"../../data_helper\";\r\nimport CollectionWidgetItem from \"./item\";\r\nimport {\r\n focusable\r\n} from \"../widget/selectors\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport holdEvent from \"../../events/hold\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n name as contextMenuEventName\r\n} from \"../../events/contextmenu\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nvar COLLECTION_CLASS = \"dx-collection\";\r\nvar ITEM_CLASS = \"dx-item\";\r\nvar CONTENT_CLASS_POSTFIX = \"-content\";\r\nvar ITEM_CONTENT_PLACEHOLDER_CLASS = \"dx-item-content-placeholder\";\r\nvar ITEM_DATA_KEY = \"dxItemData\";\r\nvar ITEM_INDEX_KEY = \"dxItemIndex\";\r\nvar ITEM_TEMPLATE_ID_PREFIX = \"tmpl-\";\r\nvar ITEMS_OPTIONS_NAME = \"dxItem\";\r\nvar SELECTED_ITEM_CLASS = \"dx-item-selected\";\r\nvar ITEM_RESPONSE_WAIT_CLASS = \"dx-item-response-wait\";\r\nvar EMPTY_COLLECTION = \"dx-empty-collection\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar ITEM_PATH_REGEX = /^([^.]+\\[\\d+\\]\\.)+([\\w.]+)$/;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"item\";\r\nvar FOCUS_UP = \"up\";\r\nvar FOCUS_DOWN = \"down\";\r\nvar FOCUS_LEFT = \"left\";\r\nvar FOCUS_RIGHT = \"right\";\r\nvar FOCUS_PAGE_UP = \"pageup\";\r\nvar FOCUS_PAGE_DOWN = \"pagedown\";\r\nvar FOCUS_LAST = \"last\";\r\nvar FOCUS_FIRST = \"first\";\r\nvar CollectionWidget = Widget.inherit({\r\n _activeStateUnit: \".\" + ITEM_CLASS,\r\n _supportedKeys: function() {\r\n var move = function(location, e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._moveFocus(location, e)\r\n }\r\n };\r\n return extend(this.callBase(), {\r\n space: function(e) {\r\n e.preventDefault();\r\n this._enterKeyHandler(e)\r\n },\r\n enter: this._enterKeyHandler,\r\n leftArrow: move.bind(this, FOCUS_LEFT),\r\n rightArrow: move.bind(this, FOCUS_RIGHT),\r\n upArrow: move.bind(this, FOCUS_UP),\r\n downArrow: move.bind(this, FOCUS_DOWN),\r\n pageUp: move.bind(this, FOCUS_UP),\r\n pageDown: move.bind(this, FOCUS_DOWN),\r\n home: move.bind(this, FOCUS_FIRST),\r\n end: move.bind(this, FOCUS_LAST)\r\n })\r\n },\r\n _enterKeyHandler: function(e) {\r\n var $itemElement = $(this.option(\"focusedElement\"));\r\n if (!$itemElement.length) {\r\n return\r\n }\r\n var itemData = this._getItemData($itemElement);\r\n if (null !== itemData && void 0 !== itemData && itemData.onClick) {\r\n this._itemEventHandlerByHandler($itemElement, itemData.onClick, {\r\n event: e\r\n })\r\n }\r\n this._itemClickHandler(extend({}, e, {\r\n target: $itemElement.get(0),\r\n currentTarget: $itemElement.get(0)\r\n }))\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n selectOnFocus: false,\r\n loopItemFocus: true,\r\n items: [],\r\n itemTemplate: \"item\",\r\n onItemRendered: null,\r\n onItemClick: null,\r\n onItemHold: null,\r\n itemHoldTimeout: 750,\r\n onItemContextMenu: null,\r\n onFocusedItemChanged: null,\r\n noDataText: messageLocalization.format(\"dxCollectionWidget-noDataText\"),\r\n encodeNoDataText: false,\r\n dataSource: null,\r\n _dataController: null,\r\n _itemAttributes: {},\r\n itemTemplateProperty: \"template\",\r\n focusOnSelectedItem: true,\r\n focusedElement: null,\r\n displayExpr: void 0,\r\n disabledExpr: function(data) {\r\n return data ? data.disabled : void 0\r\n },\r\n visibleExpr: function(data) {\r\n return data ? data.visible : void 0\r\n }\r\n })\r\n },\r\n _init: function() {\r\n this._compileDisplayGetter();\r\n this._initDataController();\r\n this.callBase();\r\n this._cleanRenderedItems();\r\n this._refreshDataSource()\r\n },\r\n _compileDisplayGetter: function() {\r\n var displayExpr = this.option(\"displayExpr\");\r\n this._displayGetter = displayExpr ? compileGetter(this.option(\"displayExpr\")) : void 0\r\n },\r\n _initTemplates: function() {\r\n this._initItemsFromMarkup();\r\n this._initDefaultItemTemplate();\r\n this.callBase()\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initDefaultItemTemplate: function() {\r\n var fieldsMap = this._getFieldsMap();\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(function($container, data) {\r\n if (isPlainObject(data)) {\r\n this._prepareDefaultItemTemplate(data, $container)\r\n } else {\r\n if (fieldsMap && isFunction(fieldsMap.text)) {\r\n data = fieldsMap.text(data)\r\n }\r\n $container.text(String(ensureDefined(data, \"\")))\r\n }\r\n }.bind(this), this._getBindableFields(), this.option(\"integrationOptions.watchMethod\"), fieldsMap)\r\n })\r\n },\r\n _getBindableFields: function() {\r\n return [\"text\", \"html\"]\r\n },\r\n _getFieldsMap: function() {\r\n if (this._displayGetter) {\r\n return {\r\n text: this._displayGetter\r\n }\r\n }\r\n },\r\n _prepareDefaultItemTemplate: function(data, $container) {\r\n if (isDefined(data.text)) {\r\n $container.text(data.text)\r\n }\r\n if (isDefined(data.html)) {\r\n $container.html(data.html)\r\n }\r\n },\r\n _initItemsFromMarkup: function() {\r\n var rawItems = findTemplates(this.$element(), ITEMS_OPTIONS_NAME);\r\n if (!rawItems.length || this.option(\"items\").length) {\r\n return\r\n }\r\n var items = rawItems.map(_ref => {\r\n var {\r\n element: element,\r\n options: options\r\n } = _ref;\r\n var isTemplateRequired = /\\S/.test(element.innerHTML) && !options.template;\r\n if (isTemplateRequired) {\r\n options.template = this._prepareItemTemplate(element)\r\n } else {\r\n $(element).remove()\r\n }\r\n return options\r\n });\r\n this.option(\"items\", items)\r\n },\r\n _prepareItemTemplate: function(item) {\r\n var templateId = ITEM_TEMPLATE_ID_PREFIX + new Guid;\r\n var $template = $(item).detach().clone().removeAttr(\"data-options\").addClass(TEMPLATE_WRAPPER_CLASS);\r\n this._saveTemplate(templateId, $template);\r\n return templateId\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _cleanRenderedItems: function() {\r\n this._renderedItemsCount = 0\r\n },\r\n _focusTarget: function() {\r\n return this.$element()\r\n },\r\n _focusInHandler: function(e) {\r\n this.callBase.apply(this, arguments);\r\n if (!this._isFocusTarget(e.target)) {\r\n return\r\n }\r\n var $focusedElement = $(this.option(\"focusedElement\"));\r\n if ($focusedElement.length) {\r\n this._setFocusedItem($focusedElement)\r\n } else {\r\n var $activeItem = this._getActiveItem();\r\n if ($activeItem.length) {\r\n this.option(\"focusedElement\", getPublicElement($activeItem))\r\n }\r\n }\r\n },\r\n _focusOutHandler: function() {\r\n this.callBase.apply(this, arguments);\r\n var $target = $(this.option(\"focusedElement\"));\r\n this._updateFocusedItemState($target, false)\r\n },\r\n _findActiveTarget($element) {\r\n return $element.find(this._activeStateUnit)\r\n },\r\n _getActiveItem: function(last) {\r\n var $focusedElement = $(this.option(\"focusedElement\"));\r\n if ($focusedElement.length) {\r\n return $focusedElement\r\n }\r\n var index = this.option(\"focusOnSelectedItem\") ? this.option(\"selectedIndex\") : 0;\r\n var activeElements = this._getActiveElement();\r\n var lastIndex = activeElements.length - 1;\r\n if (index < 0) {\r\n index = last ? lastIndex : 0\r\n }\r\n return activeElements.eq(index)\r\n },\r\n _moveFocus: function(location) {\r\n var $items = this._getAvailableItems();\r\n var $newTarget;\r\n switch (location) {\r\n case FOCUS_PAGE_UP:\r\n case FOCUS_UP:\r\n $newTarget = this._prevItem($items);\r\n break;\r\n case FOCUS_PAGE_DOWN:\r\n case FOCUS_DOWN:\r\n $newTarget = this._nextItem($items);\r\n break;\r\n case FOCUS_RIGHT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._prevItem($items) : this._nextItem($items);\r\n break;\r\n case FOCUS_LEFT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._nextItem($items) : this._prevItem($items);\r\n break;\r\n case FOCUS_FIRST:\r\n $newTarget = $items.first();\r\n break;\r\n case FOCUS_LAST:\r\n $newTarget = $items.last();\r\n break;\r\n default:\r\n return false\r\n }\r\n if (0 !== $newTarget.length) {\r\n this.option(\"focusedElement\", getPublicElement($newTarget))\r\n }\r\n },\r\n _getVisibleItems: function($itemElements) {\r\n $itemElements = $itemElements || this._itemElements();\r\n return $itemElements.filter(\":visible\")\r\n },\r\n _getAvailableItems: function($itemElements) {\r\n return this._getVisibleItems($itemElements)\r\n },\r\n _prevItem: function($items) {\r\n var $target = this._getActiveItem();\r\n var targetIndex = $items.index($target);\r\n var $last = $items.last();\r\n var $item = $($items[targetIndex - 1]);\r\n var loop = this.option(\"loopItemFocus\");\r\n if (0 === $item.length && loop) {\r\n $item = $last\r\n }\r\n return $item\r\n },\r\n _nextItem: function($items) {\r\n var $target = this._getActiveItem(true);\r\n var targetIndex = $items.index($target);\r\n var $first = $items.first();\r\n var $item = $($items[targetIndex + 1]);\r\n var loop = this.option(\"loopItemFocus\");\r\n if (0 === $item.length && loop) {\r\n $item = $first\r\n }\r\n return $item\r\n },\r\n _selectFocusedItem: function($target) {\r\n this.selectItem($target)\r\n },\r\n _updateFocusedItemState: function(target, isFocused, needCleanItemId) {\r\n var $target = $(target);\r\n if ($target.length) {\r\n this._refreshActiveDescendant();\r\n this._refreshItemId($target, needCleanItemId);\r\n this._toggleFocusClass(isFocused, $target)\r\n }\r\n this._updateParentActiveDescendant()\r\n },\r\n _refreshActiveDescendant: function($target) {\r\n this.setAria(\"activedescendant\", isDefined(this.option(\"focusedElement\")) ? this.getFocusedItemId() : null, $target)\r\n },\r\n _refreshItemId: function($target, needCleanItemId) {\r\n if (!needCleanItemId && this.option(\"focusedElement\")) {\r\n this.setAria(\"id\", this.getFocusedItemId(), $target)\r\n } else {\r\n this.setAria(\"id\", null, $target)\r\n }\r\n },\r\n _isDisabled: $element => $element && \"true\" === $($element).attr(\"aria-disabled\"),\r\n _setFocusedItem: function($target) {\r\n if (!$target || !$target.length) {\r\n return\r\n }\r\n this._updateFocusedItemState($target, true);\r\n this.onFocusedItemChanged(this.getFocusedItemId());\r\n var {\r\n selectOnFocus: selectOnFocus\r\n } = this.option();\r\n var isTargetDisabled = this._isDisabled($target);\r\n if (selectOnFocus && !isTargetDisabled) {\r\n this._selectFocusedItem($target)\r\n }\r\n },\r\n _findItemElementByItem: function(item) {\r\n var result = $();\r\n var that = this;\r\n this.itemElements().each((function() {\r\n var $item = $(this);\r\n if ($item.data(that._itemDataKey()) === item) {\r\n result = $item;\r\n return false\r\n }\r\n }));\r\n return result\r\n },\r\n _getIndexByItem: function(item) {\r\n return this.option(\"items\").indexOf(item)\r\n },\r\n _itemOptionChanged: function(item, property, value, oldValue) {\r\n var $item = this._findItemElementByItem(item);\r\n if (!$item.length) {\r\n return\r\n }\r\n if (!this.constructor.ItemClass.getInstance($item).setDataField(property, value)) {\r\n this._refreshItem($item, item)\r\n }\r\n var isDisabling = \"disabled\" === property && value;\r\n if (isDisabling) {\r\n this._resetItemFocus($item)\r\n }\r\n },\r\n _resetItemFocus($item) {\r\n if ($item.is(this.option(\"focusedElement\"))) {\r\n this.option(\"focusedElement\", null)\r\n }\r\n },\r\n _refreshItem: function($item) {\r\n var itemData = this._getItemData($item);\r\n var index = $item.data(this._itemIndexKey());\r\n this._renderItem(this._renderedItemsCount + index, itemData, null, $item)\r\n },\r\n _updateParentActiveDescendant: noop,\r\n _optionChanged: function(args) {\r\n if (\"items\" === args.name) {\r\n var matches = args.fullName.match(ITEM_PATH_REGEX);\r\n if (matches && matches.length) {\r\n var property = matches[matches.length - 1];\r\n var itemPath = args.fullName.replace(\".\" + property, \"\");\r\n var item = this.option(itemPath);\r\n this._itemOptionChanged(item, property, args.value, args.previousValue);\r\n return\r\n }\r\n }\r\n switch (args.name) {\r\n case \"items\":\r\n case \"_itemAttributes\":\r\n case \"itemTemplateProperty\":\r\n case \"useItemTextAsTitle\":\r\n this._cleanRenderedItems();\r\n this._invalidate();\r\n break;\r\n case \"dataSource\":\r\n this._refreshDataSource();\r\n this._renderEmptyMessage();\r\n break;\r\n case \"noDataText\":\r\n case \"encodeNoDataText\":\r\n this._renderEmptyMessage();\r\n break;\r\n case \"itemTemplate\":\r\n this._invalidate();\r\n break;\r\n case \"onItemRendered\":\r\n this._createItemRenderAction();\r\n break;\r\n case \"onItemClick\":\r\n break;\r\n case \"onItemHold\":\r\n case \"itemHoldTimeout\":\r\n this._attachHoldEvent();\r\n break;\r\n case \"onItemContextMenu\":\r\n this._attachContextMenuEvent();\r\n break;\r\n case \"onFocusedItemChanged\":\r\n this.onFocusedItemChanged = this._createActionByOption(\"onFocusedItemChanged\");\r\n break;\r\n case \"selectOnFocus\":\r\n case \"loopItemFocus\":\r\n case \"focusOnSelectedItem\":\r\n break;\r\n case \"focusedElement\":\r\n this._updateFocusedItemState(args.previousValue, false, true);\r\n this._setFocusedItem($(args.value));\r\n break;\r\n case \"displayExpr\":\r\n this._compileDisplayGetter();\r\n this._initDefaultItemTemplate();\r\n this._invalidate();\r\n break;\r\n case \"visibleExpr\":\r\n case \"disabledExpr\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _invalidate: function() {\r\n this.option(\"focusedElement\", null);\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _loadNextPage: function() {\r\n this._expectNextPageLoading();\r\n return this._dataController.loadNextPage()\r\n },\r\n _expectNextPageLoading: function() {\r\n this._startIndexForAppendedItems = 0\r\n },\r\n _expectLastItemLoading: function() {\r\n this._startIndexForAppendedItems = -1\r\n },\r\n _forgetNextPageLoading: function() {\r\n this._startIndexForAppendedItems = null\r\n },\r\n _dataSourceChangedHandler: function(newItems) {\r\n var items = this.option(\"items\");\r\n if (this._initialized && items && this._shouldAppendItems()) {\r\n this._renderedItemsCount = items.length;\r\n if (!this._isLastPage() || -1 !== this._startIndexForAppendedItems) {\r\n this.option().items = items.concat(newItems.slice(this._startIndexForAppendedItems))\r\n }\r\n this._forgetNextPageLoading();\r\n this._refreshContent()\r\n } else {\r\n this.option(\"items\", newItems.slice())\r\n }\r\n },\r\n _refreshContent: function() {\r\n this._prepareContent();\r\n this._renderContent()\r\n },\r\n _dataSourceLoadErrorHandler: function() {\r\n this._forgetNextPageLoading();\r\n this.option(\"items\", this.option(\"items\"))\r\n },\r\n _shouldAppendItems: function() {\r\n return null != this._startIndexForAppendedItems && this._allowDynamicItemsAppend()\r\n },\r\n _allowDynamicItemsAppend: function() {\r\n return false\r\n },\r\n _clean: function() {\r\n this._cleanFocusState();\r\n this._cleanItemContainer();\r\n this._inkRipple && delete this._inkRipple;\r\n this._resetActiveState()\r\n },\r\n _cleanItemContainer: function() {\r\n $(this._itemContainer()).empty()\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n clearTimeout(this._itemFocusTimeout)\r\n },\r\n _refresh: function() {\r\n this._cleanRenderedItems();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _itemContainer: function() {\r\n return this.$element()\r\n },\r\n _itemClass: function() {\r\n return ITEM_CLASS\r\n },\r\n _itemContentClass: function() {\r\n return this._itemClass() + CONTENT_CLASS_POSTFIX\r\n },\r\n _selectedItemClass: function() {\r\n return SELECTED_ITEM_CLASS\r\n },\r\n _itemResponseWaitClass: function() {\r\n return ITEM_RESPONSE_WAIT_CLASS\r\n },\r\n _itemSelector: function() {\r\n return \".\" + this._itemClass()\r\n },\r\n _itemDataKey: function() {\r\n return ITEM_DATA_KEY\r\n },\r\n _itemIndexKey: function() {\r\n return ITEM_INDEX_KEY\r\n },\r\n _itemElements: function() {\r\n return this._itemContainer().find(this._itemSelector())\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.onFocusedItemChanged = this._createActionByOption(\"onFocusedItemChanged\");\r\n this.$element().addClass(COLLECTION_CLASS);\r\n this._prepareContent()\r\n },\r\n _prepareContent: deferRenderer((function() {\r\n this._renderContentImpl()\r\n })),\r\n _renderContent: function() {\r\n this._fireContentReadyAction()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._attachClickEvent();\r\n this._attachHoldEvent();\r\n this._attachContextMenuEvent()\r\n },\r\n _getPointerEvent: () => pointerEvents.down,\r\n _attachClickEvent() {\r\n var itemSelector = this._itemSelector();\r\n var pointerEvent = this._getPointerEvent();\r\n var clickEventNamespace = addNamespace(clickEventName, this.NAME);\r\n var pointerEventNamespace = addNamespace(pointerEvent, this.NAME);\r\n var pointerAction = new Action(args => {\r\n var {\r\n event: event\r\n } = args;\r\n this._itemPointerDownHandler(event)\r\n });\r\n eventsEngine.off(this._itemContainer(), clickEventNamespace, itemSelector);\r\n eventsEngine.off(this._itemContainer(), pointerEventNamespace, itemSelector);\r\n eventsEngine.on(this._itemContainer(), clickEventNamespace, itemSelector, e => this._itemClickHandler(e));\r\n eventsEngine.on(this._itemContainer(), pointerEventNamespace, itemSelector, e => {\r\n pointerAction.execute({\r\n element: $(e.target),\r\n event: e\r\n })\r\n })\r\n },\r\n _itemClickHandler: function(e, args, config) {\r\n this._itemDXEventHandler(e, \"onItemClick\", args, config)\r\n },\r\n _itemPointerDownHandler: function(e) {\r\n if (!this.option(\"focusStateEnabled\")) {\r\n return\r\n }\r\n this._itemFocusHandler = function() {\r\n clearTimeout(this._itemFocusTimeout);\r\n this._itemFocusHandler = null;\r\n if (e.isDefaultPrevented()) {\r\n return\r\n }\r\n var $target = $(e.target);\r\n var $closestItem = $target.closest(this._itemElements());\r\n var $closestFocusable = this._closestFocusable($target);\r\n if ($closestItem.length && this._isFocusTarget(null === $closestFocusable || void 0 === $closestFocusable ? void 0 : $closestFocusable.get(0))) {\r\n this.option(\"focusedElement\", getPublicElement($closestItem))\r\n }\r\n }.bind(this);\r\n this._itemFocusTimeout = setTimeout(this._forcePointerDownFocus.bind(this))\r\n },\r\n _closestFocusable: function($target) {\r\n if ($target.is(focusable)) {\r\n return $target\r\n } else {\r\n $target = $target.parent();\r\n while ($target.length && !domAdapter.isDocument($target.get(0)) && !domAdapter.isDocumentFragment($target.get(0))) {\r\n if ($target.is(focusable)) {\r\n return $target\r\n }\r\n $target = $target.parent()\r\n }\r\n }\r\n },\r\n _forcePointerDownFocus: function() {\r\n this._itemFocusHandler && this._itemFocusHandler()\r\n },\r\n _updateFocusState: function() {\r\n this.callBase.apply(this, arguments);\r\n this._forcePointerDownFocus()\r\n },\r\n _attachHoldEvent: function() {\r\n var $itemContainer = this._itemContainer();\r\n var itemSelector = this._itemSelector();\r\n var eventName = addNamespace(holdEvent.name, this.NAME);\r\n eventsEngine.off($itemContainer, eventName, itemSelector);\r\n eventsEngine.on($itemContainer, eventName, itemSelector, {\r\n timeout: this._getHoldTimeout()\r\n }, this._itemHoldHandler.bind(this))\r\n },\r\n _getHoldTimeout: function() {\r\n return this.option(\"itemHoldTimeout\")\r\n },\r\n _shouldFireHoldEvent: function() {\r\n return this.hasActionSubscription(\"onItemHold\")\r\n },\r\n _itemHoldHandler: function(e) {\r\n if (this._shouldFireHoldEvent()) {\r\n this._itemDXEventHandler(e, \"onItemHold\")\r\n } else {\r\n e.cancel = true\r\n }\r\n },\r\n _attachContextMenuEvent: function() {\r\n var $itemContainer = this._itemContainer();\r\n var itemSelector = this._itemSelector();\r\n var eventName = addNamespace(contextMenuEventName, this.NAME);\r\n eventsEngine.off($itemContainer, eventName, itemSelector);\r\n eventsEngine.on($itemContainer, eventName, itemSelector, this._itemContextMenuHandler.bind(this))\r\n },\r\n _shouldFireContextMenuEvent: function() {\r\n return this.hasActionSubscription(\"onItemContextMenu\")\r\n },\r\n _itemContextMenuHandler: function(e) {\r\n if (this._shouldFireContextMenuEvent()) {\r\n this._itemDXEventHandler(e, \"onItemContextMenu\")\r\n } else {\r\n e.cancel = true\r\n }\r\n },\r\n _renderContentImpl: function() {\r\n var items = this.option(\"items\") || [];\r\n if (this._renderedItemsCount) {\r\n this._renderItems(items.slice(this._renderedItemsCount))\r\n } else {\r\n this._renderItems(items)\r\n }\r\n },\r\n _renderItems: function(items) {\r\n if (items.length) {\r\n each(items, function(index, itemData) {\r\n this._renderItem(this._renderedItemsCount + index, itemData)\r\n }.bind(this))\r\n }\r\n this._renderEmptyMessage()\r\n },\r\n _renderItem: function(index, itemData, $container, $itemToReplace) {\r\n var _index$item;\r\n var itemIndex = null !== (_index$item = null === index || void 0 === index ? void 0 : index.item) && void 0 !== _index$item ? _index$item : index;\r\n $container = $container || this._itemContainer();\r\n var $itemFrame = this._renderItemFrame(itemIndex, itemData, $container, $itemToReplace);\r\n this._setElementData($itemFrame, itemData, itemIndex);\r\n $itemFrame.attr(this.option(\"_itemAttributes\"));\r\n this._attachItemClickEvent(itemData, $itemFrame);\r\n var $itemContent = this._getItemContent($itemFrame);\r\n var renderContentPromise = this._renderItemContent({\r\n index: itemIndex,\r\n itemData: itemData,\r\n container: getPublicElement($itemContent),\r\n contentClass: this._itemContentClass(),\r\n defaultTemplateName: this.option(\"itemTemplate\")\r\n });\r\n var that = this;\r\n when(renderContentPromise).done((function($itemContent) {\r\n that._postprocessRenderItem({\r\n itemElement: $itemFrame,\r\n itemContent: $itemContent,\r\n itemData: itemData,\r\n itemIndex: itemIndex\r\n });\r\n that._executeItemRenderAction(index, itemData, getPublicElement($itemFrame))\r\n }));\r\n return $itemFrame\r\n },\r\n _getItemContent: function($itemFrame) {\r\n var $itemContent = $itemFrame.find(\".\" + ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n $itemContent.removeClass(ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n return $itemContent\r\n },\r\n _attachItemClickEvent: function(itemData, $itemElement) {\r\n if (!itemData || !itemData.onClick) {\r\n return\r\n }\r\n eventsEngine.on($itemElement, clickEventName, function(e) {\r\n this._itemEventHandlerByHandler($itemElement, itemData.onClick, {\r\n event: e\r\n })\r\n }.bind(this))\r\n },\r\n _renderItemContent: function(args) {\r\n var itemTemplateName = this._getItemTemplateName(args);\r\n var itemTemplate = this._getTemplate(itemTemplateName);\r\n this._addItemContentClasses(args);\r\n var $templateResult = $(this._createItemByTemplate(itemTemplate, args));\r\n if (!$templateResult.hasClass(TEMPLATE_WRAPPER_CLASS)) {\r\n return args.container\r\n }\r\n return this._renderItemContentByNode(args, $templateResult)\r\n },\r\n _renderItemContentByNode: function(args, $node) {\r\n $(args.container).replaceWith($node);\r\n args.container = getPublicElement($node);\r\n this._addItemContentClasses(args);\r\n return $node\r\n },\r\n _addItemContentClasses: function(args) {\r\n var classes = [ITEM_CLASS + CONTENT_CLASS_POSTFIX, args.contentClass];\r\n $(args.container).addClass(classes.join(\" \"))\r\n },\r\n _appendItemToContainer: function($container, $itemFrame, index) {\r\n $itemFrame.appendTo($container)\r\n },\r\n _renderItemFrame: function(index, itemData, $container, $itemToReplace) {\r\n var $itemFrame = $(\"<div>\");\r\n new this.constructor.ItemClass($itemFrame, this._itemOptions(), itemData || {});\r\n if ($itemToReplace && $itemToReplace.length) {\r\n $itemToReplace.replaceWith($itemFrame)\r\n } else {\r\n this._appendItemToContainer.call(this, $container, $itemFrame, index)\r\n }\r\n if (this.option(\"useItemTextAsTitle\")) {\r\n var displayValue = this._displayGetter ? this._displayGetter(itemData) : itemData;\r\n $itemFrame.attr(\"title\", displayValue)\r\n }\r\n return $itemFrame\r\n },\r\n _itemOptions: function() {\r\n var that = this;\r\n return {\r\n watchMethod: function() {\r\n return that.option(\"integrationOptions.watchMethod\")\r\n },\r\n owner: that,\r\n fieldGetter: function(field) {\r\n var expr = that.option(field + \"Expr\");\r\n var getter = compileGetter(expr);\r\n return getter\r\n }\r\n }\r\n },\r\n _postprocessRenderItem: noop,\r\n _executeItemRenderAction: function(index, itemData, itemElement) {\r\n this._getItemRenderAction()({\r\n itemElement: itemElement,\r\n itemIndex: index,\r\n itemData: itemData\r\n })\r\n },\r\n _setElementData: function(element, data, index) {\r\n element.addClass([ITEM_CLASS, this._itemClass()].join(\" \")).data(this._itemDataKey(), data).data(this._itemIndexKey(), index)\r\n },\r\n _createItemRenderAction: function() {\r\n return this._itemRenderAction = this._createActionByOption(\"onItemRendered\", {\r\n element: this.element(),\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n })\r\n },\r\n _getItemRenderAction: function() {\r\n return this._itemRenderAction || this._createItemRenderAction()\r\n },\r\n _getItemTemplateName: function(args) {\r\n var data = args.itemData;\r\n var templateProperty = args.templateProperty || this.option(\"itemTemplateProperty\");\r\n var template = data && data[templateProperty];\r\n return template || args.defaultTemplateName\r\n },\r\n _createItemByTemplate: function(itemTemplate, renderArgs) {\r\n return itemTemplate.render({\r\n model: renderArgs.itemData,\r\n container: renderArgs.container,\r\n index: renderArgs.index,\r\n onRendered: this._onItemTemplateRendered(itemTemplate, renderArgs)\r\n })\r\n },\r\n _onItemTemplateRendered: function() {\r\n return noop\r\n },\r\n _emptyMessageContainer: function() {\r\n return this._itemContainer()\r\n },\r\n _renderEmptyMessage: function(items) {\r\n items = items || this.option(\"items\");\r\n var noDataText = this.option(\"noDataText\");\r\n var hideNoData = !noDataText || items && items.length || this._dataController.isLoading();\r\n if (hideNoData && this._$noData) {\r\n this._$noData.remove();\r\n this._$noData = null;\r\n this.setAria(\"label\", void 0)\r\n }\r\n if (!hideNoData) {\r\n this._$noData = this._$noData || $(\"<div>\").addClass(\"dx-empty-message\");\r\n this._$noData.appendTo(this._emptyMessageContainer());\r\n if (this.option(\"encodeNoDataText\")) {\r\n this._$noData.text(noDataText)\r\n } else {\r\n this._$noData.html(noDataText)\r\n }\r\n }\r\n this.$element().toggleClass(EMPTY_COLLECTION, !hideNoData)\r\n },\r\n _itemDXEventHandler: function(dxEvent, handlerOptionName, actionArgs, actionConfig) {\r\n this._itemEventHandler(dxEvent.target, handlerOptionName, extend(actionArgs, {\r\n event: dxEvent\r\n }), actionConfig)\r\n },\r\n _itemEventHandler: function(initiator, handlerOptionName, actionArgs, actionConfig) {\r\n var action = this._createActionByOption(handlerOptionName, extend({\r\n validatingTargetName: \"itemElement\"\r\n }, actionConfig));\r\n return this._itemEventHandlerImpl(initiator, action, actionArgs)\r\n },\r\n _itemEventHandlerByHandler: function(initiator, handler, actionArgs, actionConfig) {\r\n var action = this._createAction(handler, extend({\r\n validatingTargetName: \"itemElement\"\r\n }, actionConfig));\r\n return this._itemEventHandlerImpl(initiator, action, actionArgs)\r\n },\r\n _itemEventHandlerImpl: function(initiator, action, actionArgs) {\r\n var $itemElement = this._closestItemElement($(initiator));\r\n var args = extend({}, actionArgs);\r\n return action(extend(actionArgs, this._extendActionArgs($itemElement), args))\r\n },\r\n _extendActionArgs: function($itemElement) {\r\n return {\r\n itemElement: getPublicElement($itemElement),\r\n itemIndex: this._itemElements().index($itemElement),\r\n itemData: this._getItemData($itemElement)\r\n }\r\n },\r\n _closestItemElement: function($element) {\r\n return $($element).closest(this._itemSelector())\r\n },\r\n _getItemData: function(itemElement) {\r\n return $(itemElement).data(this._itemDataKey())\r\n },\r\n _getSummaryItemsWidth: function(items, includeMargin) {\r\n var result = 0;\r\n if (items) {\r\n each(items, (function(_, item) {\r\n result += getOuterWidth(item, includeMargin || false)\r\n }))\r\n }\r\n return result\r\n },\r\n getFocusedItemId: function() {\r\n if (!this._focusedItemId) {\r\n this._focusedItemId = \"dx-\" + new Guid\r\n }\r\n return this._focusedItemId\r\n },\r\n itemElements: function() {\r\n return this._itemElements()\r\n },\r\n itemsContainer: function() {\r\n return this._itemContainer()\r\n }\r\n}).include(DataHelperMixin);\r\nCollectionWidget.ItemClass = CollectionWidgetItem;\r\nexport default CollectionWidget;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.edit.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport BaseCollectionWidget from \"./ui.collection_widget.base\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport PlainEditStrategy from \"./ui.collection_widget.edit.strategy.plain\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n DataSource\r\n} from \"../../data/data_source/data_source\";\r\nimport {\r\n normalizeLoadResult\r\n} from \"../../data/data_source/utils\";\r\nimport Selection from \"../selection/selection\";\r\nimport {\r\n when,\r\n Deferred,\r\n fromPromise\r\n} from \"../../core/utils/deferred\";\r\nvar ITEM_DELETING_DATA_KEY = \"dxItemDeleting\";\r\nvar NOT_EXISTING_INDEX = -1;\r\nvar indexExists = function(index) {\r\n return index !== NOT_EXISTING_INDEX\r\n};\r\nvar CollectionWidget = BaseCollectionWidget.inherit({\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n selectedItem: true\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n selectionMode: \"none\",\r\n selectionRequired: false,\r\n selectByClick: true,\r\n selectedItems: [],\r\n selectedItemKeys: [],\r\n maxFilterLengthInRequest: 1500,\r\n keyExpr: null,\r\n selectedIndex: NOT_EXISTING_INDEX,\r\n selectedItem: null,\r\n onSelectionChanged: null,\r\n onItemReordered: null,\r\n onItemDeleting: null,\r\n onItemDeleted: null\r\n })\r\n },\r\n ctor: function(element, options) {\r\n this._userOptions = options || {};\r\n this.callBase(element, options)\r\n },\r\n _init: function() {\r\n this._initEditStrategy();\r\n this.callBase();\r\n this._initKeyGetter();\r\n this._initSelectionModule()\r\n },\r\n _initKeyGetter: function() {\r\n this._keyGetter = compileGetter(this.option(\"keyExpr\"))\r\n },\r\n _getKeysByItems: function(selectedItems) {\r\n return this._editStrategy.getKeysByItems(selectedItems)\r\n },\r\n _getItemsByKeys: function(selectedItemKeys, selectedItems) {\r\n return this._editStrategy.getItemsByKeys(selectedItemKeys, selectedItems)\r\n },\r\n _getKeyByIndex: function(index) {\r\n return this._editStrategy.getKeyByIndex(index)\r\n },\r\n _getIndexByKey: function(key) {\r\n return this._editStrategy.getIndexByKey(key)\r\n },\r\n _getIndexByItemData: function(itemData) {\r\n return this._editStrategy.getIndexByItemData(itemData)\r\n },\r\n _isKeySpecified: function() {\r\n return !!this._dataController.key()\r\n },\r\n _getCombinedFilter: function() {\r\n return this._dataController.filter()\r\n },\r\n key: function() {\r\n if (this.option(\"keyExpr\")) {\r\n return this.option(\"keyExpr\")\r\n }\r\n return this._dataController.key()\r\n },\r\n keyOf: function(item) {\r\n var key = item;\r\n if (this.option(\"keyExpr\")) {\r\n key = this._keyGetter(item)\r\n } else if (this._dataController.store()) {\r\n key = this._dataController.keyOf(item)\r\n }\r\n return key\r\n },\r\n _nullValueSelectionSupported: function() {\r\n return false\r\n },\r\n _initSelectionModule: function() {\r\n var that = this;\r\n var itemsGetter = that._editStrategy.itemsGetter;\r\n this._selection = new Selection({\r\n allowNullValue: this._nullValueSelectionSupported(),\r\n mode: this.option(\"selectionMode\"),\r\n maxFilterLengthInRequest: this.option(\"maxFilterLengthInRequest\"),\r\n equalByReference: !this._isKeySpecified(),\r\n onSelectionChanged: function(args) {\r\n if (args.addedItemKeys.length || args.removedItemKeys.length) {\r\n that.option(\"selectedItems\", that._getItemsByKeys(args.selectedItemKeys, args.selectedItems));\r\n that._updateSelectedItems(args)\r\n }\r\n },\r\n filter: that._getCombinedFilter.bind(that),\r\n totalCount: function() {\r\n var items = that.option(\"items\");\r\n var totalCount = that._dataController.totalCount();\r\n return totalCount >= 0 ? totalCount : that._getItemsCount(items)\r\n },\r\n key: that.key.bind(that),\r\n keyOf: that.keyOf.bind(that),\r\n load: function(options) {\r\n var _dataController$loadO;\r\n var dataController = that._dataController;\r\n options.customQueryParams = null === (_dataController$loadO = dataController.loadOptions()) || void 0 === _dataController$loadO ? void 0 : _dataController$loadO.customQueryParams;\r\n options.userData = dataController.userData();\r\n if (dataController.store()) {\r\n return dataController.loadFromStore(options).done((function(loadResult) {\r\n if (that._disposed) {\r\n return\r\n }\r\n var items = normalizeLoadResult(loadResult).data;\r\n dataController.applyMapFunction(items)\r\n }))\r\n } else {\r\n return (new Deferred).resolve(this.plainItems())\r\n }\r\n },\r\n dataFields: function() {\r\n return that._dataController.select()\r\n },\r\n plainItems: itemsGetter.bind(that._editStrategy)\r\n })\r\n },\r\n _getItemsCount: function(items) {\r\n return items.reduce((itemsCount, item) => itemsCount + (item.items ? this._getItemsCount(item.items) : 1), 0)\r\n },\r\n _initEditStrategy: function() {\r\n var Strategy = PlainEditStrategy;\r\n this._editStrategy = new Strategy(this)\r\n },\r\n _getSelectedItemIndices: function(keys) {\r\n var that = this;\r\n var indices = [];\r\n keys = keys || this._selection.getSelectedItemKeys();\r\n that._editStrategy.beginCache();\r\n each(keys, (function(_, key) {\r\n var selectedIndex = that._getIndexByKey(key);\r\n if (indexExists(selectedIndex)) {\r\n indices.push(selectedIndex)\r\n }\r\n }));\r\n that._editStrategy.endCache();\r\n return indices\r\n },\r\n _initMarkup: function() {\r\n this._rendering = true;\r\n if (!this._dataController.isLoading()) {\r\n this._syncSelectionOptions().done(() => this._normalizeSelectedItems())\r\n }\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._rendering = false\r\n },\r\n _fireContentReadyAction: function() {\r\n this._rendering = false;\r\n this._rendered = true;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _syncSelectionOptions: function(byOption) {\r\n byOption = byOption || this._chooseSelectOption();\r\n var selectedItem;\r\n var selectedIndex;\r\n var selectedItemKeys;\r\n var selectedItems;\r\n switch (byOption) {\r\n case \"selectedIndex\":\r\n selectedItem = this._editStrategy.getItemDataByIndex(this.option(\"selectedIndex\"));\r\n if (isDefined(selectedItem)) {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", [selectedItem]);\r\n this._setOptionWithoutOptionChange(\"selectedItem\", selectedItem);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._editStrategy.getKeysByItems([selectedItem]))\r\n } else {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", []);\r\n this._setOptionWithoutOptionChange(\"selectedItem\", null)\r\n }\r\n break;\r\n case \"selectedItems\":\r\n selectedItems = this.option(\"selectedItems\") || [];\r\n selectedIndex = selectedItems.length ? this._editStrategy.getIndexByItemData(selectedItems[0]) : NOT_EXISTING_INDEX;\r\n if (this.option(\"selectionRequired\") && !indexExists(selectedIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n this._setOptionWithoutOptionChange(\"selectedItem\", selectedItems[0]);\r\n this._setOptionWithoutOptionChange(\"selectedIndex\", selectedIndex);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._editStrategy.getKeysByItems(selectedItems));\r\n break;\r\n case \"selectedItem\":\r\n selectedItem = this.option(\"selectedItem\");\r\n selectedIndex = this._editStrategy.getIndexByItemData(selectedItem);\r\n if (this.option(\"selectionRequired\") && !indexExists(selectedIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n if (isDefined(selectedItem)) {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", [selectedItem]);\r\n this._setOptionWithoutOptionChange(\"selectedIndex\", selectedIndex);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._editStrategy.getKeysByItems([selectedItem]))\r\n } else {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", []);\r\n this._setOptionWithoutOptionChange(\"selectedIndex\", NOT_EXISTING_INDEX)\r\n }\r\n break;\r\n case \"selectedItemKeys\":\r\n selectedItemKeys = this.option(\"selectedItemKeys\");\r\n if (this.option(\"selectionRequired\")) {\r\n var selectedItemIndex = this._getIndexByKey(selectedItemKeys[0]);\r\n if (!indexExists(selectedItemIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n }\r\n return this._selection.setSelection(selectedItemKeys)\r\n }\r\n return (new Deferred).resolve().promise()\r\n },\r\n _chooseSelectOption: function() {\r\n var optionName = \"selectedIndex\";\r\n var isOptionDefined = function(optionName) {\r\n var optionValue = this.option(optionName);\r\n var length = isDefined(optionValue) && optionValue.length;\r\n return length || optionName in this._userOptions\r\n }.bind(this);\r\n if (isOptionDefined(\"selectedItems\")) {\r\n optionName = \"selectedItems\"\r\n } else if (isOptionDefined(\"selectedItem\")) {\r\n optionName = \"selectedItem\"\r\n } else if (isOptionDefined(\"selectedItemKeys\")) {\r\n optionName = \"selectedItemKeys\"\r\n }\r\n return optionName\r\n },\r\n _compareKeys: function(oldKeys, newKeys) {\r\n if (oldKeys.length !== newKeys.length) {\r\n return false\r\n }\r\n for (var i = 0; i < newKeys.length; i++) {\r\n if (oldKeys[i] !== newKeys[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n _normalizeSelectedItems: function() {\r\n if (\"none\" === this.option(\"selectionMode\")) {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._syncSelectionOptions(\"selectedItems\")\r\n } else if (\"single\" === this.option(\"selectionMode\")) {\r\n var newSelection = this.option(\"selectedItems\");\r\n if (newSelection.length > 1 || !newSelection.length && this.option(\"selectionRequired\") && this.option(\"items\") && this.option(\"items\").length) {\r\n var currentSelection = this._selection.getSelectedItems();\r\n var normalizedSelection = void 0 === newSelection[0] ? currentSelection[0] : newSelection[0];\r\n if (void 0 === normalizedSelection) {\r\n normalizedSelection = this._editStrategy.itemsGetter()[0]\r\n }\r\n if (this.option(\"grouped\") && normalizedSelection && normalizedSelection.items) {\r\n normalizedSelection.items = [normalizedSelection.items[0]]\r\n }\r\n this._selection.setSelection(this._getKeysByItems([normalizedSelection]));\r\n this._setOptionWithoutOptionChange(\"selectedItems\", [normalizedSelection]);\r\n return this._syncSelectionOptions(\"selectedItems\")\r\n } else {\r\n this._selection.setSelection(this._getKeysByItems(newSelection))\r\n }\r\n } else {\r\n var newKeys = this._getKeysByItems(this.option(\"selectedItems\"));\r\n var oldKeys = this._selection.getSelectedItemKeys();\r\n if (!this._compareKeys(oldKeys, newKeys)) {\r\n this._selection.setSelection(newKeys)\r\n }\r\n }\r\n return (new Deferred).resolve().promise()\r\n },\r\n _itemClickHandler: function(e) {\r\n var itemSelectPromise = (new Deferred).resolve();\r\n var callBase = this.callBase;\r\n this._createAction(function(e) {\r\n var _this$_itemSelectHand;\r\n itemSelectPromise = null !== (_this$_itemSelectHand = this._itemSelectHandler(e.event)) && void 0 !== _this$_itemSelectHand ? _this$_itemSelectHand : itemSelectPromise\r\n }.bind(this), {\r\n validatingTargetName: \"itemElement\"\r\n })({\r\n itemElement: $(e.currentTarget),\r\n event: e\r\n });\r\n itemSelectPromise.always(() => {\r\n callBase.apply(this, arguments)\r\n })\r\n },\r\n _itemSelectHandler: function(e) {\r\n var _itemSelectPromise;\r\n var itemSelectPromise;\r\n if (!this.option(\"selectByClick\")) {\r\n return\r\n }\r\n var $itemElement = e.currentTarget;\r\n if (this.isItemSelected($itemElement)) {\r\n this.unselectItem(e.currentTarget)\r\n } else {\r\n itemSelectPromise = this.selectItem(e.currentTarget)\r\n }\r\n return null === (_itemSelectPromise = itemSelectPromise) || void 0 === _itemSelectPromise ? void 0 : _itemSelectPromise.promise()\r\n },\r\n _selectedItemElement: function(index) {\r\n return this._itemElements().eq(index)\r\n },\r\n _postprocessRenderItem: function(args) {\r\n if (\"none\" !== this.option(\"selectionMode\")) {\r\n var $itemElement = $(args.itemElement);\r\n var normalizedItemIndex = this._editStrategy.getNormalizedIndex($itemElement);\r\n var isItemSelected = this._isItemSelected(normalizedItemIndex);\r\n this._processSelectableItem($itemElement, isItemSelected)\r\n }\r\n },\r\n _processSelectableItem: function($itemElement, isSelected) {\r\n $itemElement.toggleClass(this._selectedItemClass(), isSelected);\r\n this._setAriaSelectionAttribute($itemElement, String(isSelected))\r\n },\r\n _updateSelectedItems: function(args) {\r\n var that = this;\r\n var addedItemKeys = args.addedItemKeys;\r\n var removedItemKeys = args.removedItemKeys;\r\n if (that._rendered && (addedItemKeys.length || removedItemKeys.length)) {\r\n var selectionChangePromise = that._selectionChangePromise;\r\n if (!that._rendering) {\r\n var addedSelection = [];\r\n var normalizedIndex;\r\n var removedSelection = [];\r\n that._editStrategy.beginCache();\r\n for (var i = 0; i < addedItemKeys.length; i++) {\r\n normalizedIndex = that._getIndexByKey(addedItemKeys[i]);\r\n addedSelection.push(normalizedIndex);\r\n that._addSelection(normalizedIndex)\r\n }\r\n for (var _i = 0; _i < removedItemKeys.length; _i++) {\r\n normalizedIndex = that._getIndexByKey(removedItemKeys[_i]);\r\n removedSelection.push(normalizedIndex);\r\n that._removeSelection(normalizedIndex)\r\n }\r\n that._editStrategy.endCache();\r\n that._updateSelection(addedSelection, removedSelection)\r\n }\r\n when(selectionChangePromise).done((function() {\r\n that._fireSelectionChangeEvent(args.addedItems, args.removedItems)\r\n }))\r\n }\r\n },\r\n _fireSelectionChangeEvent: function(addedItems, removedItems) {\r\n this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })({\r\n addedItems: addedItems,\r\n removedItems: removedItems\r\n })\r\n },\r\n _updateSelection: noop,\r\n _setAriaSelectionAttribute: function($target, value) {\r\n this.setAria(\"selected\", value, $target)\r\n },\r\n _removeSelection: function(normalizedIndex) {\r\n var $itemElement = this._editStrategy.getItemElement(normalizedIndex);\r\n if (indexExists(normalizedIndex)) {\r\n this._processSelectableItem($itemElement, false);\r\n eventsEngine.triggerHandler($itemElement, \"stateChanged\", false)\r\n }\r\n },\r\n _addSelection: function(normalizedIndex) {\r\n var $itemElement = this._editStrategy.getItemElement(normalizedIndex);\r\n if (indexExists(normalizedIndex)) {\r\n this._processSelectableItem($itemElement, true);\r\n eventsEngine.triggerHandler($itemElement, \"stateChanged\", true)\r\n }\r\n },\r\n _isItemSelected: function(index) {\r\n var key = this._getKeyByIndex(index);\r\n return this._selection.isItemSelected(key, {\r\n checkPending: true\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"selectionMode\":\r\n this._invalidate();\r\n break;\r\n case \"dataSource\":\r\n if (!args.value || Array.isArray(args.value) && !args.value.length) {\r\n this.option(\"selectedItemKeys\", [])\r\n }\r\n this.callBase(args);\r\n break;\r\n case \"selectedIndex\":\r\n case \"selectedItem\":\r\n case \"selectedItems\":\r\n case \"selectedItemKeys\":\r\n this._syncSelectionOptions(args.name).done(() => this._normalizeSelectedItems());\r\n break;\r\n case \"keyExpr\":\r\n this._initKeyGetter();\r\n break;\r\n case \"selectionRequired\":\r\n this._normalizeSelectedItems();\r\n break;\r\n case \"selectByClick\":\r\n case \"onSelectionChanged\":\r\n case \"onItemDeleting\":\r\n case \"onItemDeleted\":\r\n case \"onItemReordered\":\r\n case \"maxFilterLengthInRequest\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clearSelectedItems: function() {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._syncSelectionOptions(\"selectedItems\")\r\n },\r\n _waitDeletingPrepare: function($itemElement) {\r\n if ($itemElement.data(ITEM_DELETING_DATA_KEY)) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n $itemElement.data(ITEM_DELETING_DATA_KEY, true);\r\n var deferred = new Deferred;\r\n var deletingActionArgs = {\r\n cancel: false\r\n };\r\n var deletePromise = this._itemEventHandler($itemElement, \"onItemDeleting\", deletingActionArgs, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n when(deletePromise).always(function(value) {\r\n var deletePromiseExists = !deletePromise;\r\n var deletePromiseResolved = !deletePromiseExists && \"resolved\" === deletePromise.state();\r\n var argumentsSpecified = !!arguments.length;\r\n var shouldDelete = deletePromiseExists || deletePromiseResolved && !argumentsSpecified || deletePromiseResolved && value;\r\n when(fromPromise(deletingActionArgs.cancel)).always((function() {\r\n $itemElement.data(ITEM_DELETING_DATA_KEY, false)\r\n })).done((function(cancel) {\r\n shouldDelete && !cancel ? deferred.resolve() : deferred.reject()\r\n })).fail(deferred.reject)\r\n }.bind(this));\r\n return deferred.promise()\r\n },\r\n _deleteItemFromDS: function($item) {\r\n var dataController = this._dataController;\r\n var deferred = new Deferred;\r\n var disabledState = this.option(\"disabled\");\r\n var dataStore = dataController.store();\r\n if (!dataStore) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n if (!dataStore.remove) {\r\n throw errors.Error(\"E1011\")\r\n }\r\n this.option(\"disabled\", true);\r\n dataStore.remove(dataController.keyOf(this._getItemData($item))).done((function(key) {\r\n if (void 0 !== key) {\r\n deferred.resolve()\r\n } else {\r\n deferred.reject()\r\n }\r\n })).fail((function() {\r\n deferred.reject()\r\n }));\r\n deferred.always(function() {\r\n this.option(\"disabled\", disabledState)\r\n }.bind(this));\r\n return deferred\r\n },\r\n _tryRefreshLastPage: function() {\r\n var deferred = new Deferred;\r\n if (this._isLastPage() || this.option(\"grouped\")) {\r\n deferred.resolve()\r\n } else {\r\n this._refreshLastPage().done((function() {\r\n deferred.resolve()\r\n }))\r\n }\r\n return deferred.promise()\r\n },\r\n _refreshLastPage: function() {\r\n this._expectLastItemLoading();\r\n return this._dataController.load()\r\n },\r\n _updateSelectionAfterDelete: function(index) {\r\n var key = this._getKeyByIndex(index);\r\n this._selection.deselect([key])\r\n },\r\n _updateIndicesAfterIndex: function(index) {\r\n var itemElements = this._itemElements();\r\n for (var i = index + 1; i < itemElements.length; i++) {\r\n $(itemElements[i]).data(this._itemIndexKey(), i - 1)\r\n }\r\n },\r\n _simulateOptionChange: function(optionName) {\r\n var optionValue = this.option(optionName);\r\n if (optionValue instanceof DataSource) {\r\n return\r\n }\r\n this._optionChangedAction({\r\n name: optionName,\r\n fullName: optionName,\r\n value: optionValue\r\n })\r\n },\r\n isItemSelected: function(itemElement) {\r\n return this._isItemSelected(this._editStrategy.getNormalizedIndex(itemElement))\r\n },\r\n selectItem: function(itemElement) {\r\n if (\"none\" === this.option(\"selectionMode\")) {\r\n return\r\n }\r\n var itemIndex = this._editStrategy.getNormalizedIndex(itemElement);\r\n if (!indexExists(itemIndex)) {\r\n return\r\n }\r\n var key = this._getKeyByIndex(itemIndex);\r\n if (this._selection.isItemSelected(key)) {\r\n return\r\n }\r\n if (\"single\" === this.option(\"selectionMode\")) {\r\n return this._selection.setSelection([key])\r\n } else {\r\n var selectedItemKeys = this.option(\"selectedItemKeys\") || [];\r\n return this._selection.setSelection([...selectedItemKeys, key], [key])\r\n }\r\n },\r\n unselectItem: function(itemElement) {\r\n var itemIndex = this._editStrategy.getNormalizedIndex(itemElement);\r\n if (!indexExists(itemIndex)) {\r\n return\r\n }\r\n var selectedItemKeys = this._selection.getSelectedItemKeys();\r\n if (this.option(\"selectionRequired\") && selectedItemKeys.length <= 1) {\r\n return\r\n }\r\n var key = this._getKeyByIndex(itemIndex);\r\n if (!this._selection.isItemSelected(key, {\r\n checkPending: true\r\n })) {\r\n return\r\n }\r\n this._selection.deselect([key])\r\n },\r\n _deleteItemElementByIndex: function(index) {\r\n this._updateSelectionAfterDelete(index);\r\n this._updateIndicesAfterIndex(index);\r\n this._editStrategy.deleteItemAtIndex(index)\r\n },\r\n _afterItemElementDeleted: function($item, deletedActionArgs) {\r\n var changingOption = this._dataController.getDataSource() ? \"dataSource\" : \"items\";\r\n this._simulateOptionChange(changingOption);\r\n this._itemEventHandler($item, \"onItemDeleted\", deletedActionArgs, {\r\n beforeExecute: function() {\r\n $item.remove()\r\n },\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this._renderEmptyMessage()\r\n },\r\n deleteItem: function(itemElement) {\r\n var that = this;\r\n var deferred = new Deferred;\r\n var $item = this._editStrategy.getItemElement(itemElement);\r\n var index = this._editStrategy.getNormalizedIndex(itemElement);\r\n var itemResponseWaitClass = this._itemResponseWaitClass();\r\n if (indexExists(index)) {\r\n this._waitDeletingPrepare($item).done((function() {\r\n $item.addClass(itemResponseWaitClass);\r\n var deletedActionArgs = that._extendActionArgs($item);\r\n that._deleteItemFromDS($item).done((function() {\r\n that._deleteItemElementByIndex(index);\r\n that._afterItemElementDeleted($item, deletedActionArgs);\r\n that._tryRefreshLastPage().done((function() {\r\n deferred.resolveWith(that)\r\n }))\r\n })).fail((function() {\r\n $item.removeClass(itemResponseWaitClass);\r\n deferred.rejectWith(that)\r\n }))\r\n })).fail((function() {\r\n deferred.rejectWith(that)\r\n }))\r\n } else {\r\n deferred.rejectWith(that)\r\n }\r\n return deferred.promise()\r\n },\r\n reorderItem: function(itemElement, toItemElement) {\r\n var deferred = new Deferred;\r\n var that = this;\r\n var strategy = this._editStrategy;\r\n var $movingItem = strategy.getItemElement(itemElement);\r\n var $destinationItem = strategy.getItemElement(toItemElement);\r\n var movingIndex = strategy.getNormalizedIndex(itemElement);\r\n var destinationIndex = strategy.getNormalizedIndex(toItemElement);\r\n var changingOption = this._dataController.getDataSource() ? \"dataSource\" : \"items\";\r\n var canMoveItems = indexExists(movingIndex) && indexExists(destinationIndex) && movingIndex !== destinationIndex;\r\n if (canMoveItems) {\r\n deferred.resolveWith(this)\r\n } else {\r\n deferred.rejectWith(this)\r\n }\r\n return deferred.promise().done((function() {\r\n $destinationItem[strategy.itemPlacementFunc(movingIndex, destinationIndex)]($movingItem);\r\n strategy.moveItemAtIndexToIndex(movingIndex, destinationIndex);\r\n this._updateIndicesAfterIndex(movingIndex);\r\n that.option(\"selectedItems\", that._getItemsByKeys(that._selection.getSelectedItemKeys(), that._selection.getSelectedItems()));\r\n if (\"items\" === changingOption) {\r\n that._simulateOptionChange(changingOption)\r\n }\r\n that._itemEventHandler($movingItem, \"onItemReordered\", {\r\n fromIndex: strategy.getIndex(movingIndex),\r\n toIndex: strategy.getIndex(destinationIndex)\r\n }, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }))\r\n }\r\n});\r\nexport default CollectionWidget;\r\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\",\n };\n\n var tr = moment.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n '_'\n ),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n '_'\n ),\n weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var da = moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return da;\n\n})));\n","/**\r\n * DevExtreme (esm/core/templates/template_engine_registry.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isString\r\n} from \"../utils/type\";\r\nimport errors from \"../errors\";\r\nvar templateEngines = {};\r\nvar currentTemplateEngine;\r\nexport function registerTemplateEngine(name, templateEngine) {\r\n templateEngines[name] = templateEngine\r\n}\r\nexport function setTemplateEngine(templateEngine) {\r\n if (isString(templateEngine)) {\r\n currentTemplateEngine = templateEngines[templateEngine];\r\n if (!currentTemplateEngine) {\r\n throw errors.Error(\"E0020\", templateEngine)\r\n }\r\n } else {\r\n currentTemplateEngine = templateEngine\r\n }\r\n}\r\nexport function getCurrentTemplateEngine() {\r\n return currentTemplateEngine\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/template.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"../utils/dom\";\r\nimport {\r\n getCurrentTemplateEngine,\r\n registerTemplateEngine,\r\n setTemplateEngine\r\n} from \"./template_engine_registry\";\r\nregisterTemplateEngine(\"default\", {\r\n compile: element => normalizeTemplateElement(element),\r\n render: (template, model, index) => template.clone()\r\n});\r\nsetTemplateEngine(\"default\");\r\nexport class Template extends TemplateBase {\r\n constructor(element) {\r\n super();\r\n this._element = element\r\n }\r\n _renderCore(options) {\r\n var transclude = options.transclude;\r\n if (!transclude && !this._compiledTemplate) {\r\n this._compiledTemplate = getCurrentTemplateEngine().compile(this._element)\r\n }\r\n return $(\"<div>\").append(transclude ? this._element : getCurrentTemplateEngine().render(this._compiledTemplate, options.model, options.index)).contents()\r\n }\r\n source() {\r\n return $(this._element).clone()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/template_manager.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport config from \"../config\";\r\nimport devices from \"../devices\";\r\nimport {\r\n getPublicElement\r\n} from \"../element\";\r\nimport Errors from \"../errors\";\r\nimport $ from \"../renderer\";\r\nimport {\r\n ChildDefaultTemplate\r\n} from \"../templates/child_default_template\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../templates/empty_template\";\r\nimport {\r\n Template\r\n} from \"../templates/template\";\r\nimport {\r\n TemplateBase\r\n} from \"../templates/template_base\";\r\nimport {\r\n groupBy\r\n} from \"./array\";\r\nimport {\r\n findBestMatches\r\n} from \"./common\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"./dom\";\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n isFunction,\r\n isRenderer\r\n} from \"./type\";\r\nexport var findTemplates = (element, name) => {\r\n var templates = $(element).contents().filter(\"[\".concat(\"data-options\", '*=\"').concat(name, '\"]'));\r\n return [].slice.call(templates).map(element => {\r\n var optionsString = $(element).attr(\"data-options\") || \"\";\r\n return {\r\n element: element,\r\n options: config().optionsParser(optionsString)[name]\r\n }\r\n }).filter(template => !!template.options)\r\n};\r\nexport var suitableTemplatesByName = rawTemplates => {\r\n var templatesMap = groupBy(rawTemplates, template => template.options.name);\r\n if (templatesMap[void 0]) {\r\n throw Errors.Error(\"E0023\")\r\n }\r\n var result = {};\r\n Object.keys(templatesMap).forEach(name => {\r\n var _findBestMatches$;\r\n var suitableTemplate = null === (_findBestMatches$ = findBestMatches(devices.current(), templatesMap[name], template => template.options)[0]) || void 0 === _findBestMatches$ ? void 0 : _findBestMatches$.element;\r\n if (suitableTemplate) {\r\n result[name] = suitableTemplate\r\n }\r\n });\r\n return result\r\n};\r\nexport var addOneRenderedCall = template => {\r\n var render = template.render.bind(template);\r\n return extend({}, template, {\r\n render(options) {\r\n var templateResult = render(options);\r\n options && options.onRendered && options.onRendered();\r\n return templateResult\r\n }\r\n })\r\n};\r\nexport var addPublicElementNormalization = template => {\r\n var render = template.render.bind(template);\r\n return extend({}, template, {\r\n render(options) {\r\n var $container = $(options.container);\r\n return render(_extends({}, options, {\r\n container: getPublicElement($container)\r\n }))\r\n }\r\n })\r\n};\r\nexport var getNormalizedTemplateArgs = options => {\r\n var args = [];\r\n if (\"model\" in options) {\r\n args.push(options.model)\r\n }\r\n if (\"index\" in options) {\r\n args.push(options.index)\r\n }\r\n args.push(options.container);\r\n return args\r\n};\r\nexport var validateTemplateSource = templateSource => \"string\" === typeof templateSource ? normalizeTemplateElement(templateSource) : templateSource;\r\nexport var templateKey = templateSource => isRenderer(templateSource) && templateSource[0] || templateSource;\r\nexport var defaultCreateElement = element => new Template(element);\r\nexport var acquireIntegrationTemplate = (templateSource, templates, isAsyncTemplate, skipTemplates) => {\r\n var integrationTemplate = null;\r\n if (!skipTemplates || -1 === skipTemplates.indexOf(templateSource)) {\r\n integrationTemplate = templates[templateSource];\r\n if (integrationTemplate && !(integrationTemplate instanceof TemplateBase)) {\r\n if (isFunction(integrationTemplate.render)) {\r\n integrationTemplate = addPublicElementNormalization(integrationTemplate)\r\n }\r\n if (!isAsyncTemplate) {\r\n integrationTemplate = addOneRenderedCall(integrationTemplate)\r\n }\r\n }\r\n }\r\n return integrationTemplate\r\n};\r\nexport var acquireTemplate = (templateSource, createTemplate, templates, isAsyncTemplate, skipTemplates, defaultTemplates) => {\r\n if (null == templateSource) {\r\n return new EmptyTemplate\r\n }\r\n if (templateSource instanceof ChildDefaultTemplate) {\r\n return defaultTemplates[templateSource.name]\r\n }\r\n if (templateSource instanceof TemplateBase) {\r\n return templateSource\r\n }\r\n if (isFunction(templateSource.render) && !isRenderer(templateSource)) {\r\n return isAsyncTemplate ? templateSource : addOneRenderedCall(templateSource)\r\n }\r\n if (templateSource.nodeType || isRenderer(templateSource)) {\r\n return createTemplate($(templateSource))\r\n }\r\n return acquireIntegrationTemplate(templateSource, templates, isAsyncTemplate, skipTemplates) || defaultTemplates[templateSource] || createTemplate(templateSource)\r\n};\r\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tlPh = moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlPh;\n\n})));\n","var energy;\n\nenergy = {\n Wh: {\n name: {\n singular: 'Watt-hour'\n , plural: 'Watt-hours'\n }\n , to_anchor: 3600\n }\n, mWh: {\n name: {\n singular: 'Milliwatt-hour'\n , plural: 'Milliwatt-hours'\n }\n , to_anchor: 3.6\n }\n, kWh: {\n name: {\n singular: 'Kilowatt-hour'\n , plural: 'Kilowatt-hours'\n }\n , to_anchor: 3600000\n }\n, MWh: {\n name: {\n singular: 'Megawatt-hour'\n , plural: 'Megawatt-hours'\n }\n , to_anchor: 3600000000\n }\n, GWh: {\n name: {\n singular: 'Gigawatt-hour'\n , plural: 'Gigawatt-hours'\n }\n , to_anchor: 3600000000000\n }\n, J: {\n name: {\n singular: 'Joule'\n , plural: 'Joules'\n }\n , to_anchor: 1\n }\n, kJ: {\n name: {\n singular: 'Kilojoule'\n , plural: 'Kilojoules'\n }\n , to_anchor: 1000\n }\n};\n\nmodule.exports = {\n metric: energy\n, _anchors: {\n metric: {\n unit: 'J'\n , ratio: 1\n }\n }\n};\n","import './VGrid.sass'\n\nimport Vue, { PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst ALIGNMENT = ['start', 'end', 'center']\n\nfunction makeProps (prefix: string, def: () => PropOptions) {\n return breakpoints.reduce((props, val) => {\n props[prefix + upperFirst(val)] = def()\n return props\n }, {} as Dictionary<PropOptions>)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map<string, any[]>()\n\nexport default Vue.extend({\n name: 'v-row',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'div',\n },\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n },\n render (h, { props, data, children }) {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'no-gutters': props.noGutters,\n 'row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'row',\n class: classList,\n }),\n children\n )\n },\n})\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eu = moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n '_'\n ),\n monthsShort:\n 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n '_'\n ),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eu;\n\n})));\n","import VSheet from './VSheet'\n\nexport { VSheet }\nexport default VSheet\n","/**\r\n * DevExtreme (esm/localization/cldr-data/first_day_of_week_data.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nexport default {\r\n \"af-NA\": 1,\r\n agq: 1,\r\n ak: 1,\r\n ar: 6,\r\n \"ar-EH\": 1,\r\n \"ar-ER\": 1,\r\n \"ar-KM\": 1,\r\n \"ar-LB\": 1,\r\n \"ar-MA\": 1,\r\n \"ar-MR\": 1,\r\n \"ar-PS\": 1,\r\n \"ar-SO\": 1,\r\n \"ar-SS\": 1,\r\n \"ar-TD\": 1,\r\n \"ar-TN\": 1,\r\n asa: 1,\r\n ast: 1,\r\n az: 1,\r\n \"az-Cyrl\": 1,\r\n bas: 1,\r\n be: 1,\r\n bem: 1,\r\n bez: 1,\r\n bg: 1,\r\n bm: 1,\r\n br: 1,\r\n bs: 1,\r\n \"bs-Cyrl\": 1,\r\n ca: 1,\r\n ce: 1,\r\n cgg: 1,\r\n ckb: 6,\r\n cs: 1,\r\n cy: 1,\r\n da: 1,\r\n de: 1,\r\n dje: 1,\r\n dsb: 1,\r\n dua: 1,\r\n dyo: 1,\r\n ee: 1,\r\n el: 1,\r\n \"en-001\": 1,\r\n \"en-AE\": 6,\r\n \"en-BI\": 1,\r\n \"en-MP\": 1,\r\n \"en-MV\": 5,\r\n \"en-SD\": 6,\r\n eo: 1,\r\n es: 1,\r\n et: 1,\r\n eu: 1,\r\n ewo: 1,\r\n fa: 6,\r\n ff: 1,\r\n \"ff-Adlm\": 1,\r\n fi: 1,\r\n fo: 1,\r\n fr: 1,\r\n \"fr-DJ\": 6,\r\n \"fr-DZ\": 6,\r\n \"fr-SY\": 6,\r\n fur: 1,\r\n fy: 1,\r\n ga: 1,\r\n gd: 1,\r\n gl: 1,\r\n gsw: 1,\r\n gv: 1,\r\n ha: 1,\r\n hr: 1,\r\n hsb: 1,\r\n hu: 1,\r\n hy: 1,\r\n ia: 1,\r\n ig: 1,\r\n is: 1,\r\n it: 1,\r\n jgo: 1,\r\n jmc: 1,\r\n ka: 1,\r\n kab: 6,\r\n kde: 1,\r\n kea: 1,\r\n khq: 1,\r\n kk: 1,\r\n kkj: 1,\r\n kl: 1,\r\n \"ko-KP\": 1,\r\n ksb: 1,\r\n ksf: 1,\r\n ksh: 1,\r\n ku: 1,\r\n kw: 1,\r\n ky: 1,\r\n lag: 1,\r\n lb: 1,\r\n lg: 1,\r\n ln: 1,\r\n lrc: 6,\r\n lt: 1,\r\n lu: 1,\r\n lv: 1,\r\n \"mas-TZ\": 1,\r\n mfe: 1,\r\n mg: 1,\r\n mgo: 1,\r\n mi: 1,\r\n mk: 1,\r\n mn: 1,\r\n ms: 1,\r\n mua: 1,\r\n mzn: 6,\r\n naq: 1,\r\n nds: 1,\r\n nl: 1,\r\n nmg: 1,\r\n nnh: 1,\r\n no: 1,\r\n nus: 1,\r\n nyn: 1,\r\n os: 1,\r\n pcm: 1,\r\n pl: 1,\r\n ps: 6,\r\n \"pt-AO\": 1,\r\n \"pt-CH\": 1,\r\n \"pt-CV\": 1,\r\n \"pt-GQ\": 1,\r\n \"pt-GW\": 1,\r\n \"pt-LU\": 1,\r\n \"pt-ST\": 1,\r\n \"pt-TL\": 1,\r\n \"qu-BO\": 1,\r\n \"qu-EC\": 1,\r\n rm: 1,\r\n rn: 1,\r\n ro: 1,\r\n rof: 1,\r\n ru: 1,\r\n rw: 1,\r\n rwk: 1,\r\n sah: 1,\r\n sbp: 1,\r\n sc: 1,\r\n se: 1,\r\n ses: 1,\r\n sg: 1,\r\n shi: 1,\r\n \"shi-Latn\": 1,\r\n si: 1,\r\n sk: 1,\r\n sl: 1,\r\n smn: 1,\r\n so: 1,\r\n \"so-DJ\": 6,\r\n sq: 1,\r\n sr: 1,\r\n \"sr-Latn\": 1,\r\n sv: 1,\r\n sw: 1,\r\n \"ta-LK\": 1,\r\n \"ta-MY\": 1,\r\n teo: 1,\r\n tg: 1,\r\n \"ti-ER\": 1,\r\n tk: 1,\r\n to: 1,\r\n tr: 1,\r\n tt: 1,\r\n twq: 1,\r\n tzm: 1,\r\n uk: 1,\r\n uz: 1,\r\n \"uz-Arab\": 6,\r\n \"uz-Cyrl\": 1,\r\n vai: 1,\r\n \"vai-Latn\": 1,\r\n vi: 1,\r\n vun: 1,\r\n wae: 1,\r\n wo: 1,\r\n xog: 1,\r\n yav: 1,\r\n yi: 1,\r\n yo: 1,\r\n zgh: 1\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/intl/date.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport localizationCoreUtils from \"../core\";\r\nvar SYMBOLS_TO_REMOVE_REGEX = /[\\u200E\\u200F]/g;\r\nvar NARROW_NO_BREAK_SPACE_REGEX = /[\\u202F]/g;\r\nvar getIntlFormatter = format => date => {\r\n if (!format.timeZoneName) {\r\n var year = date.getFullYear();\r\n var recognizableAsTwentyCentury = String(year).length < 3;\r\n var temporaryYearValue = recognizableAsTwentyCentury ? year + 400 : year;\r\n var utcDate = new Date(Date.UTC(temporaryYearValue, date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\r\n if (recognizableAsTwentyCentury) {\r\n utcDate.setFullYear(year)\r\n }\r\n var utcFormat = extend({\r\n timeZone: \"UTC\"\r\n }, format);\r\n return formatDateTime(utcDate, utcFormat)\r\n }\r\n return formatDateTime(date, format)\r\n};\r\nvar formattersCache = {};\r\nvar getFormatter = format => {\r\n var key = localizationCoreUtils.locale() + \"/\" + JSON.stringify(format);\r\n if (!formattersCache[key]) {\r\n formattersCache[key] = new Intl.DateTimeFormat(localizationCoreUtils.locale(), format).format\r\n }\r\n return formattersCache[key]\r\n};\r\n\r\nfunction formatDateTime(date, format) {\r\n return getFormatter(format)(date).replace(SYMBOLS_TO_REMOVE_REGEX, \"\").replace(NARROW_NO_BREAK_SPACE_REGEX, \" \")\r\n}\r\nvar formatNumber = number => new Intl.NumberFormat(localizationCoreUtils.locale()).format(number);\r\nvar getAlternativeNumeralsMap = (() => {\r\n var numeralsMapCache = {};\r\n return locale => {\r\n if (!(locale in numeralsMapCache)) {\r\n if (\"0\" === formatNumber(0)) {\r\n numeralsMapCache[locale] = false;\r\n return false\r\n }\r\n numeralsMapCache[locale] = {};\r\n for (var i = 0; i < 10; ++i) {\r\n numeralsMapCache[locale][formatNumber(i)] = i\r\n }\r\n }\r\n return numeralsMapCache[locale]\r\n }\r\n})();\r\nvar normalizeNumerals = dateString => {\r\n var alternativeNumeralsMap = getAlternativeNumeralsMap(localizationCoreUtils.locale());\r\n if (!alternativeNumeralsMap) {\r\n return dateString\r\n }\r\n return dateString.split(\"\").map(sign => sign in alternativeNumeralsMap ? String(alternativeNumeralsMap[sign]) : sign).join(\"\")\r\n};\r\nvar removeLeadingZeroes = str => str.replace(/(\\D)0+(\\d)/g, \"$1$2\");\r\nvar dateStringEquals = (actual, expected) => removeLeadingZeroes(actual) === removeLeadingZeroes(expected);\r\nvar normalizeMonth = text => text.replace(\"d\\u2019\", \"de \");\r\nvar intlFormats = {\r\n day: {\r\n day: \"numeric\"\r\n },\r\n dayofweek: {\r\n weekday: \"long\"\r\n },\r\n longdate: {\r\n weekday: \"long\",\r\n year: \"numeric\",\r\n month: \"long\",\r\n day: \"numeric\"\r\n },\r\n longdatelongtime: {\r\n weekday: \"long\",\r\n year: \"numeric\",\r\n month: \"long\",\r\n day: \"numeric\",\r\n hour: \"numeric\",\r\n minute: \"numeric\",\r\n second: \"numeric\"\r\n },\r\n longtime: {\r\n hour: \"numeric\",\r\n minute: \"numeric\",\r\n second: \"numeric\"\r\n },\r\n month: {\r\n month: \"long\"\r\n },\r\n monthandday: {\r\n month: \"long\",\r\n day: \"numeric\"\r\n },\r\n monthandyear: {\r\n year: \"numeric\",\r\n month: \"long\"\r\n },\r\n shortdate: {},\r\n shorttime: {\r\n hour: \"numeric\",\r\n minute: \"numeric\"\r\n },\r\n shortyear: {\r\n year: \"2-digit\"\r\n },\r\n year: {\r\n year: \"numeric\"\r\n }\r\n};\r\nObject.defineProperty(intlFormats, \"shortdateshorttime\", {\r\n get: function() {\r\n var defaultOptions = Intl.DateTimeFormat(localizationCoreUtils.locale()).resolvedOptions();\r\n return {\r\n year: defaultOptions.year,\r\n month: defaultOptions.month,\r\n day: defaultOptions.day,\r\n hour: \"numeric\",\r\n minute: \"numeric\"\r\n }\r\n }\r\n});\r\nvar getIntlFormat = format => \"string\" === typeof format && intlFormats[format.toLowerCase()];\r\nvar monthNameStrategies = {\r\n standalone: function(monthIndex, monthFormat) {\r\n var date = new Date(1999, monthIndex, 13, 1);\r\n var dateString = getIntlFormatter({\r\n month: monthFormat\r\n })(date);\r\n return dateString\r\n },\r\n format: function(monthIndex, monthFormat) {\r\n var date = new Date(0, monthIndex, 13, 1);\r\n var dateString = normalizeMonth(getIntlFormatter({\r\n day: \"numeric\",\r\n month: monthFormat\r\n })(date));\r\n var parts = dateString.split(\" \").filter(part => part.indexOf(\"13\") < 0);\r\n if (1 === parts.length) {\r\n return parts[0]\r\n } else if (2 === parts.length) {\r\n return parts[0].length > parts[1].length ? parts[0] : parts[1]\r\n }\r\n return monthNameStrategies.standalone(monthIndex, monthFormat)\r\n }\r\n};\r\nexport default {\r\n engine: function() {\r\n return \"intl\"\r\n },\r\n getMonthNames: function(format, type) {\r\n var monthFormat = {\r\n wide: \"long\",\r\n abbreviated: \"short\",\r\n narrow: \"narrow\"\r\n } [format || \"wide\"];\r\n type = \"format\" === type ? type : \"standalone\";\r\n return Array.apply(null, new Array(12)).map((_, monthIndex) => monthNameStrategies[type](monthIndex, monthFormat))\r\n },\r\n getDayNames: function(format) {\r\n var result = (format => Array.apply(null, new Array(7)).map((_, dayIndex) => getIntlFormatter({\r\n weekday: format\r\n })(new Date(0, 0, dayIndex))))({\r\n wide: \"long\",\r\n abbreviated: \"short\",\r\n short: \"narrow\",\r\n narrow: \"narrow\"\r\n } [format || \"wide\"]);\r\n return result\r\n },\r\n getPeriodNames: function() {\r\n var hour12Formatter = getIntlFormatter({\r\n hour: \"numeric\",\r\n hour12: true\r\n });\r\n return [1, 13].map(hours => {\r\n var hourNumberText = formatNumber(1);\r\n var timeParts = hour12Formatter(new Date(0, 0, 1, hours)).split(hourNumberText);\r\n if (2 !== timeParts.length) {\r\n return \"\"\r\n }\r\n var biggerPart = timeParts[0].length > timeParts[1].length ? timeParts[0] : timeParts[1];\r\n return biggerPart.trim()\r\n })\r\n },\r\n format: function(date, _format) {\r\n if (!date) {\r\n return\r\n }\r\n if (!_format) {\r\n return date\r\n }\r\n if (\"function\" !== typeof _format && !_format.formatter) {\r\n _format = _format.type || _format\r\n }\r\n var intlFormat = getIntlFormat(_format);\r\n if (intlFormat) {\r\n return getIntlFormatter(intlFormat)(date)\r\n }\r\n var formatType = typeof _format;\r\n if (_format.formatter || \"function\" === formatType || \"string\" === formatType) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return getIntlFormatter(_format)(date)\r\n },\r\n parse: function(dateString, format) {\r\n var formatter;\r\n if (format && !format.parser && \"string\" === typeof dateString) {\r\n dateString = normalizeMonth(dateString);\r\n formatter = date => normalizeMonth(this.format(date, format))\r\n }\r\n return this.callBase(dateString, formatter || format)\r\n },\r\n _parseDateBySimpleFormat: function(dateString, format) {\r\n dateString = normalizeNumerals(dateString);\r\n var formatParts = this.getFormatParts(format);\r\n var dateParts = dateString.split(/\\D+/).filter(part => part.length > 0);\r\n if (formatParts.length !== dateParts.length) {\r\n return\r\n }\r\n var dateArgs = this._generateDateArgs(formatParts, dateParts);\r\n var constructValidDate = ampmShift => {\r\n var parsedDate = ((dateArgs, ampmShift) => {\r\n var hoursShift = ampmShift ? 12 : 0;\r\n return new Date(dateArgs.year, dateArgs.month, dateArgs.day, (dateArgs.hours + hoursShift) % 24, dateArgs.minutes, dateArgs.seconds)\r\n })(dateArgs, ampmShift);\r\n if (dateStringEquals(normalizeNumerals(this.format(parsedDate, format)), dateString)) {\r\n return parsedDate\r\n }\r\n };\r\n return constructValidDate(false) || constructValidDate(true)\r\n },\r\n _generateDateArgs: function(formatParts, dateParts) {\r\n var currentDate = new Date;\r\n var dateArgs = {\r\n year: currentDate.getFullYear(),\r\n month: currentDate.getMonth(),\r\n day: currentDate.getDate(),\r\n hours: 0,\r\n minutes: 0,\r\n seconds: 0\r\n };\r\n formatParts.forEach((formatPart, index) => {\r\n var datePart = dateParts[index];\r\n var parsed = parseInt(datePart, 10);\r\n if (\"month\" === formatPart) {\r\n parsed -= 1\r\n }\r\n dateArgs[formatPart] = parsed\r\n });\r\n return dateArgs\r\n },\r\n formatUsesMonthName: function(format) {\r\n if (\"object\" === typeof format && !(format.type || format.format)) {\r\n return \"long\" === format.month\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n formatUsesDayName: function(format) {\r\n if (\"object\" === typeof format && !(format.type || format.format)) {\r\n return \"long\" === format.weekday\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getTimeSeparator: function() {\r\n return normalizeNumerals(formatDateTime(new Date(2001, 1, 1, 11, 11), {\r\n hour: \"numeric\",\r\n minute: \"numeric\",\r\n hour12: false\r\n })).replace(/\\d/g, \"\")\r\n },\r\n getFormatParts: function(format) {\r\n if (\"string\" === typeof format) {\r\n return this.callBase(format)\r\n }\r\n var intlFormat = extend({}, intlFormats[format.toLowerCase()]);\r\n var date = new Date(2001, 2, 4, 5, 6, 7);\r\n var formattedDate = getIntlFormatter(intlFormat)(date);\r\n formattedDate = normalizeNumerals(formattedDate);\r\n return [{\r\n name: \"year\",\r\n value: 1\r\n }, {\r\n name: \"month\",\r\n value: 3\r\n }, {\r\n name: \"day\",\r\n value: 4\r\n }, {\r\n name: \"hours\",\r\n value: 5\r\n }, {\r\n name: \"minutes\",\r\n value: 6\r\n }, {\r\n name: \"seconds\",\r\n value: 7\r\n }].map(part => ({\r\n name: part.name,\r\n index: formattedDate.indexOf(part.value)\r\n })).filter(part => part.index > -1).sort((a, b) => a.index - b.index).map(part => part.name)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/date.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport {\r\n isString\r\n} from \"../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n getFormatter as getLDMLDateFormatter\r\n} from \"./ldml/date.formatter\";\r\nimport {\r\n getFormat as getLDMLDateFormat\r\n} from \"./ldml/date.format\";\r\nimport {\r\n getParser as getLDMLDateParser\r\n} from \"./ldml/date.parser\";\r\nimport defaultDateNames from \"./default_date_names\";\r\nimport firstDayOfWeekData from \"./cldr-data/first_day_of_week_data\";\r\nimport localizationCore from \"./core\";\r\nimport numberLocalization from \"./number\";\r\nimport intlDateLocalization from \"./intl/date\";\r\nvar DEFAULT_DAY_OF_WEEK_INDEX = 0;\r\nvar hasIntl = \"undefined\" !== typeof Intl;\r\nvar FORMATS_TO_PATTERN_MAP = {\r\n shortdate: \"M/d/y\",\r\n shorttime: \"h:mm a\",\r\n longdate: \"EEEE, MMMM d, y\",\r\n longtime: \"h:mm:ss a\",\r\n monthandday: \"MMMM d\",\r\n monthandyear: \"MMMM y\",\r\n quarterandyear: \"QQQ y\",\r\n day: \"d\",\r\n year: \"y\",\r\n shortdateshorttime: \"M/d/y, h:mm a\",\r\n longdatelongtime: \"EEEE, MMMM d, y, h:mm:ss a\",\r\n month: \"LLLL\",\r\n shortyear: \"yy\",\r\n dayofweek: \"EEEE\",\r\n quarter: \"QQQ\",\r\n hour: \"HH\",\r\n minute: \"mm\",\r\n second: \"ss\",\r\n millisecond: \"SSS\",\r\n \"datetime-local\": \"yyyy-MM-ddTHH':'mm':'ss\"\r\n};\r\nvar possiblePartPatterns = {\r\n year: [\"y\", \"yy\", \"yyyy\"],\r\n day: [\"d\", \"dd\"],\r\n month: [\"M\", \"MM\", \"MMM\", \"MMMM\"],\r\n hours: [\"H\", \"HH\", \"h\", \"hh\", \"ah\"],\r\n minutes: [\"m\", \"mm\"],\r\n seconds: [\"s\", \"ss\"],\r\n milliseconds: [\"S\", \"SS\", \"SSS\"]\r\n};\r\nvar dateLocalization = dependencyInjector({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n _getPatternByFormat: function(format) {\r\n return FORMATS_TO_PATTERN_MAP[format.toLowerCase()]\r\n },\r\n _expandPattern: function(pattern) {\r\n return this._getPatternByFormat(pattern) || pattern\r\n },\r\n formatUsesMonthName: function(format) {\r\n return -1 !== this._expandPattern(format).indexOf(\"MMMM\")\r\n },\r\n formatUsesDayName: function(format) {\r\n return -1 !== this._expandPattern(format).indexOf(\"EEEE\")\r\n },\r\n getFormatParts: function(format) {\r\n var pattern = this._getPatternByFormat(format) || format;\r\n var result = [];\r\n each(pattern.split(/\\W+/), (_, formatPart) => {\r\n each(possiblePartPatterns, (partName, possiblePatterns) => {\r\n if (possiblePatterns.includes(formatPart)) {\r\n result.push(partName)\r\n }\r\n })\r\n });\r\n return result\r\n },\r\n getMonthNames: function(format) {\r\n return defaultDateNames.getMonthNames(format)\r\n },\r\n getDayNames: function(format) {\r\n return defaultDateNames.getDayNames(format)\r\n },\r\n getQuarterNames: function(format) {\r\n return defaultDateNames.getQuarterNames(format)\r\n },\r\n getPeriodNames: function(format) {\r\n return defaultDateNames.getPeriodNames(format)\r\n },\r\n getTimeSeparator: function() {\r\n return \":\"\r\n },\r\n is24HourFormat: function(format) {\r\n var amTime = new Date(2017, 0, 20, 11, 0, 0, 0);\r\n var pmTime = new Date(2017, 0, 20, 23, 0, 0, 0);\r\n var amTimeFormatted = this.format(amTime, format);\r\n var pmTimeFormatted = this.format(pmTime, format);\r\n for (var i = 0; i < amTimeFormatted.length; i++) {\r\n if (amTimeFormatted[i] !== pmTimeFormatted[i]) {\r\n return !isNaN(parseInt(amTimeFormatted[i]))\r\n }\r\n }\r\n },\r\n format: function(date, _format) {\r\n if (!date) {\r\n return\r\n }\r\n if (!_format) {\r\n return date\r\n }\r\n var formatter;\r\n if (\"function\" === typeof _format) {\r\n formatter = _format\r\n } else if (_format.formatter) {\r\n formatter = _format.formatter\r\n } else {\r\n _format = _format.type || _format;\r\n if (isString(_format)) {\r\n _format = FORMATS_TO_PATTERN_MAP[_format.toLowerCase()] || _format;\r\n return numberLocalization.convertDigits(getLDMLDateFormatter(_format, this)(date))\r\n }\r\n }\r\n if (!formatter) {\r\n return\r\n }\r\n return formatter(date)\r\n },\r\n parse: function(text, format) {\r\n var that = this;\r\n var ldmlFormat;\r\n var formatter;\r\n if (!text) {\r\n return\r\n }\r\n if (!format) {\r\n return this.parse(text, \"shortdate\")\r\n }\r\n if (format.parser) {\r\n return format.parser(text)\r\n }\r\n if (\"string\" === typeof format && !FORMATS_TO_PATTERN_MAP[format.toLowerCase()]) {\r\n ldmlFormat = format\r\n } else {\r\n formatter = value => {\r\n var text = that.format(value, format);\r\n return numberLocalization.convertDigits(text, true)\r\n };\r\n try {\r\n ldmlFormat = getLDMLDateFormat(formatter)\r\n } catch (e) {}\r\n }\r\n if (ldmlFormat) {\r\n text = numberLocalization.convertDigits(text, true);\r\n return getLDMLDateParser(ldmlFormat, this)(text)\r\n }\r\n errors.log(\"W0012\");\r\n var result = new Date(text);\r\n if (!result || isNaN(result.getTime())) {\r\n return\r\n }\r\n return result\r\n },\r\n firstDayOfWeekIndex: function() {\r\n var index = localizationCore.getValueByClosestLocale(locale => firstDayOfWeekData[locale]);\r\n return void 0 === index ? DEFAULT_DAY_OF_WEEK_INDEX : index\r\n }\r\n});\r\nif (hasIntl) {\r\n dateLocalization.inject(intlDateLocalization)\r\n}\r\nexport default dateLocalization;\r\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var th = moment.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n '_'\n ),\n monthsShort:\n 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี',\n },\n });\n\n return th;\n\n})));\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.initDxExtensionComponent = void 0;\nvar vue_1 = require(\"vue\");\nvar component_1 = require(\"./component\");\nvar vue_helper_1 = require(\"./vue-helper\");\nfunction initDxExtensionComponent() {\n return (0, vue_1.defineComponent)({\n extends: (0, component_1.initBaseComponent)(),\n mounted: function () {\n this.$el.setAttribute(\"isExtension\", \"true\");\n var nodeOptions = (0, vue_helper_1.getNodeOptions)(this);\n nodeOptions.$_isExtension = true;\n nodeOptions.$_attachTo = this.attachTo.bind(this);\n if (nodeOptions && nodeOptions.$_hasOwner) {\n return;\n }\n this.attachTo(this.$el);\n },\n methods: {\n attachTo: function (element) {\n this.$_createWidget(element);\n }\n }\n });\n}\nexports.initDxExtensionComponent = initDxExtensionComponent;\n","/*!\n * jQuery JavaScript Library v3.7.1\n * https://jquery.com/\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2023-08-28T13:37Z\n */\n( function( global, factory ) {\n\n\t\"use strict\";\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket trac-14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n// enough that all such attempts are guarded in a try block.\n\"use strict\";\n\nvar arr = [];\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar flat = arr.flat ? function( array ) {\n\treturn arr.flat.call( array );\n} : function( array ) {\n\treturn arr.concat.apply( [], array );\n};\n\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar fnToString = hasOwn.toString;\n\nvar ObjectFunctionString = fnToString.call( Object );\n\nvar support = {};\n\nvar isFunction = function isFunction( obj ) {\n\n\t\t// Support: Chrome <=57, Firefox <=52\n\t\t// In some browsers, typeof returns \"function\" for HTML <object> elements\n\t\t// (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n\t\t// We don't want to classify *any* DOM node as a function.\n\t\t// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5\n\t\t// Plus for old WebKit, typeof returns \"function\" for HTML collections\n\t\t// (e.g., `typeof document.getElementsByTagName(\"div\") === \"function\"`). (gh-4756)\n\t\treturn typeof obj === \"function\" && typeof obj.nodeType !== \"number\" &&\n\t\t\ttypeof obj.item !== \"function\";\n\t};\n\n\nvar isWindow = function isWindow( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t};\n\n\nvar document = window.document;\n\n\n\n\tvar preservedScriptAttributes = {\n\t\ttype: true,\n\t\tsrc: true,\n\t\tnonce: true,\n\t\tnoModule: true\n\t};\n\n\tfunction DOMEval( code, node, doc ) {\n\t\tdoc = doc || document;\n\n\t\tvar i, val,\n\t\t\tscript = doc.createElement( \"script\" );\n\n\t\tscript.text = code;\n\t\tif ( node ) {\n\t\t\tfor ( i in preservedScriptAttributes ) {\n\n\t\t\t\t// Support: Firefox 64+, Edge 18+\n\t\t\t\t// Some browsers don't support the \"nonce\" property on scripts.\n\t\t\t\t// On the other hand, just using `getAttribute` is not enough as\n\t\t\t\t// the `nonce` attribute is reset to an empty string whenever it\n\t\t\t\t// becomes browsing-context connected.\n\t\t\t\t// See https://github.com/whatwg/html/issues/2369\n\t\t\t\t// See https://html.spec.whatwg.org/#nonce-attributes\n\t\t\t\t// The `node.getAttribute` check was added for the sake of\n\t\t\t\t// `jQuery.globalEval` so that it can fake a nonce-containing node\n\t\t\t\t// via an object.\n\t\t\t\tval = node[ i ] || node.getAttribute && node.getAttribute( i );\n\t\t\t\tif ( val ) {\n\t\t\t\t\tscript.setAttribute( i, val );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\n\t}\n\n\nfunction toType( obj ) {\n\tif ( obj == null ) {\n\t\treturn obj + \"\";\n\t}\n\n\t// Support: Android <=2.3 only (functionish RegExp)\n\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\ttypeof obj;\n}\n/* global Symbol */\n// Defining this global in .eslintrc.json would create a danger of using the global\n// unguarded in another place, it seems safer to define global only for this module\n\n\n\nvar version = \"3.7.1\",\n\n\trhtmlSuffix = /HTML$/i,\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t};\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\n\t\t// Return all the elements in a clean array\n\t\tif ( num == null ) {\n\t\t\treturn slice.call( this );\n\t\t}\n\n\t\t// Return just the one element from the set\n\t\treturn num < 0 ? this[ num + this.length ] : this[ num ];\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teven: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn ( i + 1 ) % 2;\n\t\t} ) );\n\t},\n\n\todd: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn i % 2;\n\t\t} ) );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent Object.prototype pollution\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( name === \"__proto__\" || target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = Array.isArray( copy ) ) ) ) {\n\t\t\t\t\tsrc = target[ name ];\n\n\t\t\t\t\t// Ensure proper type for the source value\n\t\t\t\t\tif ( copyIsArray && !Array.isArray( src ) ) {\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {\n\t\t\t\t\t\tclone = {};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src;\n\t\t\t\t\t}\n\t\t\t\t\tcopyIsArray = false;\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisPlainObject: function( obj ) {\n\t\tvar proto, Ctor;\n\n\t\t// Detect obvious negatives\n\t\t// Use toString instead of jQuery.type to catch host objects\n\t\tif ( !obj || toString.call( obj ) !== \"[object Object]\" ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tproto = getProto( obj );\n\n\t\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\n\t\tif ( !proto ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Objects with prototype are plain iff they were constructed by a global Object function\n\t\tCtor = hasOwn.call( proto, \"constructor\" ) && proto.constructor;\n\t\treturn typeof Ctor === \"function\" && fnToString.call( Ctor ) === ObjectFunctionString;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\t// Evaluates a script in a provided context; falls back to the global one\n\t// if not specified.\n\tglobalEval: function( code, options, doc ) {\n\t\tDOMEval( code, { nonce: options && options.nonce }, doc );\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\n\t// Retrieve the text value of an array of DOM nodes\n\ttext: function( elem ) {\n\t\tvar node,\n\t\t\tret = \"\",\n\t\t\ti = 0,\n\t\t\tnodeType = elem.nodeType;\n\n\t\tif ( !nodeType ) {\n\n\t\t\t// If no nodeType, this is expected to be an array\n\t\t\twhile ( ( node = elem[ i++ ] ) ) {\n\n\t\t\t\t// Do not traverse comment nodes\n\t\t\t\tret += jQuery.text( node );\n\t\t\t}\n\t\t}\n\t\tif ( nodeType === 1 || nodeType === 11 ) {\n\t\t\treturn elem.textContent;\n\t\t}\n\t\tif ( nodeType === 9 ) {\n\t\t\treturn elem.documentElement.textContent;\n\t\t}\n\t\tif ( nodeType === 3 || nodeType === 4 ) {\n\t\t\treturn elem.nodeValue;\n\t\t}\n\n\t\t// Do not include comment or processing instruction nodes\n\n\t\treturn ret;\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\tisXMLDoc: function( elem ) {\n\t\tvar namespace = elem && elem.namespaceURI,\n\t\t\tdocElem = elem && ( elem.ownerDocument || elem ).documentElement;\n\n\t\t// Assume HTML when documentElement doesn't yet exist, such as inside\n\t\t// document fragments.\n\t\treturn !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || \"HTML\" );\n\t},\n\n\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t// push.apply(_, arraylike) throws on ancient WebKit\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn flat( ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n}\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\n\tfunction( _i, name ) {\n\t\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n\t} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: real iOS 8.2 only (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = toType( obj );\n\n\tif ( isFunction( obj ) || isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\n\n\nfunction nodeName( elem, name ) {\n\n\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\n}\nvar pop = arr.pop;\n\n\nvar sort = arr.sort;\n\n\nvar splice = arr.splice;\n\n\nvar whitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\";\n\n\nvar rtrimCSS = new RegExp(\n\t\"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\",\n\t\"g\"\n);\n\n\n\n\n// Note: an element does not contain itself\njQuery.contains = function( a, b ) {\n\tvar bup = b && b.parentNode;\n\n\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\n\t\t// Support: IE 9 - 11+\n\t\t// IE doesn't have `contains` on SVG.\n\t\ta.contains ?\n\t\t\ta.contains( bup ) :\n\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t) );\n};\n\n\n\n\n// CSS string/identifier serialization\n// https://drafts.csswg.org/cssom/#common-serializing-idioms\nvar rcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g;\n\nfunction fcssescape( ch, asCodePoint ) {\n\tif ( asCodePoint ) {\n\n\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n\t\tif ( ch === \"\\0\" ) {\n\t\t\treturn \"\\uFFFD\";\n\t\t}\n\n\t\t// Control characters and (dependent upon position) numbers get escaped as code points\n\t\treturn ch.slice( 0, -1 ) + \"\\\\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\n\t}\n\n\t// Other potentially-special ASCII characters get backslash-escaped\n\treturn \"\\\\\" + ch;\n}\n\njQuery.escapeSelector = function( sel ) {\n\treturn ( sel + \"\" ).replace( rcssescape, fcssescape );\n};\n\n\n\n\nvar preferredDoc = document,\n\tpushNative = push;\n\n( function() {\n\nvar i,\n\tExpr,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\tpush = pushNative,\n\n\t// Local document vars\n\tdocument,\n\tdocumentElement,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\tmatches,\n\n\t// Instance-specific data\n\texpando = jQuery.expando,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tnonnativeSelectorCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|\" +\n\t\t\"loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram\n\tidentifier = \"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace +\n\t\t\"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",\n\n\t// Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" +\n\t\twhitespace + \"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trleadingCombinator = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" +\n\t\twhitespace + \"*\" ),\n\trdescend = new RegExp( whitespace + \"|>\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\tID: new RegExp( \"^#(\" + identifier + \")\" ),\n\t\tCLASS: new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\tTAG: new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\tATTR: new RegExp( \"^\" + attributes ),\n\t\tPSEUDO: new RegExp( \"^\" + pseudos ),\n\t\tCHILD: new RegExp(\n\t\t\t\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" +\n\t\t\t\twhitespace + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" +\n\t\t\t\twhitespace + \"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\tbool: new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\tneedsContext: new RegExp( \"^\" + whitespace +\n\t\t\t\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + whitespace +\n\t\t\t\"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\n\t// CSS escapes\n\t// https://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace +\n\t\t\"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\", \"g\" ),\n\tfunescape = function( escape, nonHex ) {\n\t\tvar high = \"0x\" + escape.slice( 1 ) - 0x10000;\n\n\t\tif ( nonHex ) {\n\n\t\t\t// Strip the backslash prefix from a non-hex escape sequence\n\t\t\treturn nonHex;\n\t\t}\n\n\t\t// Replace a hexadecimal escape sequence with the encoded Unicode code point\n\t\t// Support: IE <=11+\n\t\t// For values outside the Basic Multilingual Plane (BMP), manually construct a\n\t\t// surrogate pair\n\t\treturn high < 0 ?\n\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// Used for iframes; see `setDocument`.\n\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE/Edge.\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t},\n\n\tinDisabledFieldset = addCombinator(\n\t\tfunction( elem ) {\n\t\t\treturn elem.disabled === true && nodeName( elem, \"fieldset\" );\n\t\t},\n\t\t{ dir: \"parentNode\", next: \"legend\" }\n\t);\n\n// Support: IE <=9 only\n// Accessing document.activeElement can throw unexpectedly\n// https://bugs.jquery.com/ticket/13393\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t( arr = slice.call( preferredDoc.childNodes ) ),\n\t\tpreferredDoc.childNodes\n\t);\n\n\t// Support: Android <=4.0\n\t// Detect silently failing push.apply\n\t// eslint-disable-next-line no-unused-expressions\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = {\n\t\tapply: function( target, els ) {\n\t\t\tpushNative.apply( target, slice.call( els ) );\n\t\t},\n\t\tcall: function( target ) {\n\t\t\tpushNative.apply( target, slice.call( arguments, 1 ) );\n\t\t}\n\t};\n}\n\nfunction find( selector, context, results, seed ) {\n\tvar m, i, elem, nid, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\t\tsetDocument( context );\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( ( m = match[ 1 ] ) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( ( elem = context.getElementById( m ) ) ) {\n\n\t\t\t\t\t\t\t// Support: IE 9 only\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tpush.call( results, elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE 9 only\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && ( elem = newContext.getElementById( m ) ) &&\n\t\t\t\t\t\t\tfind.contains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tpush.call( results, elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[ 2 ] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( !nonnativeSelectorCache[ selector + \" \" ] &&\n\t\t\t\t( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) {\n\n\t\t\t\tnewSelector = selector;\n\t\t\t\tnewContext = context;\n\n\t\t\t\t// qSA considers elements outside a scoping root when evaluating child or\n\t\t\t\t// descendant combinators, which is not what we want.\n\t\t\t\t// In such cases, we work around the behavior by prefixing every selector in the\n\t\t\t\t// list with an ID selector referencing the scope context.\n\t\t\t\t// The technique has to be used as well when a leading combinator is used\n\t\t\t\t// as such selectors are not recognized by querySelectorAll.\n\t\t\t\t// Thanks to Andrew Dupont for this technique.\n\t\t\t\tif ( nodeType === 1 &&\n\t\t\t\t\t( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) {\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\n\t\t\t\t\t// We can use :scope instead of the ID hack if the browser\n\t\t\t\t\t// supports it & if we're not changing the context.\n\t\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when\n\t\t\t\t\t// strict-comparing two documents; shallow comparisons work.\n\t\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\t\tif ( newContext != context || !support.scope ) {\n\n\t\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\t\tif ( ( nid = context.getAttribute( \"id\" ) ) ) {\n\t\t\t\t\t\t\tnid = jQuery.escapeSelector( nid );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.setAttribute( \"id\", ( nid = expando ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[ i ] = ( nid ? \"#\" + nid : \":scope\" ) + \" \" +\n\t\t\t\t\t\t\ttoSelector( groups[ i ] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\tnonnativeSelectorCache( selector, true );\n\t\t\t\t} finally {\n\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrimCSS, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\n\t\t// Use (key + \" \") to avoid collision with native prototype properties\n\t\t// (see https://github.com/jquery/sizzle/issues/157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn ( cache[ key + \" \" ] = value );\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by jQuery selector module\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created element and returns a boolean result\n */\nfunction assert( fn ) {\n\tvar el = document.createElement( \"fieldset\" );\n\n\ttry {\n\t\treturn !!fn( el );\n\t} catch ( e ) {\n\t\treturn false;\n\t} finally {\n\n\t\t// Remove from its parent by default\n\t\tif ( el.parentNode ) {\n\t\t\tel.parentNode.removeChild( el );\n\t\t}\n\n\t\t// release memory in IE\n\t\tel = null;\n\t}\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\treturn nodeName( elem, \"input\" ) && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\treturn ( nodeName( elem, \"input\" ) || nodeName( elem, \"button\" ) ) &&\n\t\t\telem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for :enabled/:disabled\n * @param {Boolean} disabled true for :disabled; false for :enabled\n */\nfunction createDisabledPseudo( disabled ) {\n\n\t// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\n\treturn function( elem ) {\n\n\t\t// Only certain elements can match :enabled or :disabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\n\t\tif ( \"form\" in elem ) {\n\n\t\t\t// Check for inherited disabledness on relevant non-disabled elements:\n\t\t\t// * listed form-associated elements in a disabled fieldset\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#category-listed\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\n\t\t\t// * option elements in a disabled optgroup\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\n\t\t\t// All such elements have a \"form\" property.\n\t\t\tif ( elem.parentNode && elem.disabled === false ) {\n\n\t\t\t\t// Option elements defer to a parent optgroup if present\n\t\t\t\tif ( \"label\" in elem ) {\n\t\t\t\t\tif ( \"label\" in elem.parentNode ) {\n\t\t\t\t\t\treturn elem.parentNode.disabled === disabled;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn elem.disabled === disabled;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Support: IE 6 - 11+\n\t\t\t\t// Use the isDisabled shortcut property to check for disabled fieldset ancestors\n\t\t\t\treturn elem.isDisabled === disabled ||\n\n\t\t\t\t\t// Where there is no isDisabled, check manually\n\t\t\t\t\telem.isDisabled !== !disabled &&\n\t\t\t\t\t\tinDisabledFieldset( elem ) === disabled;\n\t\t\t}\n\n\t\t\treturn elem.disabled === disabled;\n\n\t\t// Try to winnow out elements that can't be disabled before trusting the disabled property.\n\t\t// Some victims get caught in our net (label, legend, menu, track), but it shouldn't\n\t\t// even exist on them, let alone have a boolean value.\n\t\t} else if ( \"label\" in elem ) {\n\t\t\treturn elem.disabled === disabled;\n\t\t}\n\n\t\t// Remaining elements are neither :enabled nor :disabled\n\t\treturn false;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction( function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction( function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ ( j = matchIndexes[ i ] ) ] ) {\n\t\t\t\t\tseed[ j ] = !( matches[ j ] = seed[ j ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t} );\n}\n\n/**\n * Checks a node for validity as a jQuery selector context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [node] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nfunction setDocument( node ) {\n\tvar subWindow,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocumentElement = document.documentElement;\n\tdocumentIsHTML = !jQuery.isXMLDoc( document );\n\n\t// Support: iOS 7 only, IE 9 - 11+\n\t// Older browsers didn't support unprefixed `matches`.\n\tmatches = documentElement.matches ||\n\t\tdocumentElement.webkitMatchesSelector ||\n\t\tdocumentElement.msMatchesSelector;\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t// Accessing iframe documents after unload throws \"permission denied\" errors\n\t// (see trac-13936).\n\t// Limit the fix to IE & Edge Legacy; despite Edge 15+ implementing `matches`,\n\t// all IE 9+ and Edge Legacy versions implement `msMatchesSelector` as well.\n\tif ( documentElement.msMatchesSelector &&\n\n\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t// two documents; shallow comparisons work.\n\t\t// eslint-disable-next-line eqeqeq\n\t\tpreferredDoc != document &&\n\t\t( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {\n\n\t\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t\tsubWindow.addEventListener( \"unload\", unloadHandler );\n\t}\n\n\t// Support: IE <10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programmatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert( function( el ) {\n\t\tdocumentElement.appendChild( el ).id = jQuery.expando;\n\t\treturn !document.getElementsByName ||\n\t\t\t!document.getElementsByName( jQuery.expando ).length;\n\t} );\n\n\t// Support: IE 9 only\n\t// Check to see if it's possible to do matchesSelector\n\t// on a disconnected node.\n\tsupport.disconnectedMatch = assert( function( el ) {\n\t\treturn matches.call( el, \"*\" );\n\t} );\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t// IE/Edge don't support the :scope pseudo-class.\n\tsupport.scope = assert( function() {\n\t\treturn document.querySelectorAll( \":scope\" );\n\t} );\n\n\t// Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only\n\t// Make sure the `:has()` argument is parsed unforgivingly.\n\t// We include `*` in the test to detect buggy implementations that are\n\t// _selectively_ forgiving (specifically when the list includes at least\n\t// one valid selector).\n\t// Note that we treat complete lack of support for `:has()` as if it were\n\t// spec-compliant support, which is fine because use of `:has()` in such\n\t// environments will fail in the qSA path and fall back to jQuery traversal\n\t// anyway.\n\tsupport.cssHas = assert( function() {\n\t\ttry {\n\t\t\tdocument.querySelector( \":has(*,:jqfake)\" );\n\t\t\treturn false;\n\t\t} catch ( e ) {\n\t\t\treturn true;\n\t\t}\n\t} );\n\n\t// ID filter and find\n\tif ( support.getById ) {\n\t\tExpr.filter.ID = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute( \"id\" ) === attrId;\n\t\t\t};\n\t\t};\n\t\tExpr.find.ID = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar elem = context.getElementById( id );\n\t\t\t\treturn elem ? [ elem ] : [];\n\t\t\t}\n\t\t};\n\t} else {\n\t\tExpr.filter.ID = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode( \"id\" );\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\n\t\t// Support: IE 6 - 7 only\n\t\t// getElementById is not reliable as a find shortcut\n\t\tExpr.find.ID = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar node, i, elems,\n\t\t\t\t\telem = context.getElementById( id );\n\n\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t// Verify the id attribute\n\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t}\n\n\t\t\t\t\t// Fall back on getElementsByName\n\t\t\t\t\telems = context.getElementsByName( id );\n\t\t\t\t\ti = 0;\n\t\t\t\t\twhile ( ( elem = elems[ i++ ] ) ) {\n\t\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn [];\n\t\t\t}\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find.TAG = function( tag, context ) {\n\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t// DocumentFragment nodes don't have gEBTN\n\t\t} else {\n\t\t\treturn context.querySelectorAll( tag );\n\t\t}\n\t};\n\n\t// Class\n\tExpr.find.CLASS = function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\trbuggyQSA = [];\n\n\t// Build QSA regex\n\t// Regex strategy adopted from Diego Perini\n\tassert( function( el ) {\n\n\t\tvar input;\n\n\t\tdocumentElement.appendChild( el ).innerHTML =\n\t\t\t\"<a id='\" + expando + \"' href='' disabled='disabled'></a>\" +\n\t\t\t\"<select id='\" + expando + \"-\\r\\\\' disabled='disabled'>\" +\n\t\t\t\"<option selected=''></option></select>\";\n\n\t\t// Support: iOS <=7 - 8 only\n\t\t// Boolean attributes and \"value\" are not treated correctly in some XML documents\n\t\tif ( !el.querySelectorAll( \"[selected]\" ).length ) {\n\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t}\n\n\t\t// Support: iOS <=7 - 8 only\n\t\tif ( !el.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\trbuggyQSA.push( \"~=\" );\n\t\t}\n\n\t\t// Support: iOS 8 only\n\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t// In-page `selector#id sibling-combinator selector` fails\n\t\tif ( !el.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\trbuggyQSA.push( \".#.+[+~]\" );\n\t\t}\n\n\t\t// Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+\n\t\t// In some of the document kinds, these selectors wouldn't work natively.\n\t\t// This is probably OK but for backwards compatibility we want to maintain\n\t\t// handling them through jQuery traversal in jQuery 3.x.\n\t\tif ( !el.querySelectorAll( \":checked\" ).length ) {\n\t\t\trbuggyQSA.push( \":checked\" );\n\t\t}\n\n\t\t// Support: Windows 8 Native Apps\n\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\tinput = document.createElement( \"input\" );\n\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\tel.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t// Support: IE 9 - 11+\n\t\t// IE's :disabled selector does not pick up the children of disabled fieldsets\n\t\t// Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+\n\t\t// In some of the document kinds, these selectors wouldn't work natively.\n\t\t// This is probably OK but for backwards compatibility we want to maintain\n\t\t// handling them through jQuery traversal in jQuery 3.x.\n\t\tdocumentElement.appendChild( el ).disabled = true;\n\t\tif ( el.querySelectorAll( \":disabled\" ).length !== 2 ) {\n\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t}\n\n\t\t// Support: IE 11+, Edge 15 - 18+\n\t\t// IE 11/Edge don't find elements on a `[name='']` query in some cases.\n\t\t// Adding a temporary attribute to the document before the selection works\n\t\t// around the issue.\n\t\t// Interestingly, IE 10 & older don't seem to have the issue.\n\t\tinput = document.createElement( \"input\" );\n\t\tinput.setAttribute( \"name\", \"\" );\n\t\tel.appendChild( input );\n\t\tif ( !el.querySelectorAll( \"[name='']\" ).length ) {\n\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*name\" + whitespace + \"*=\" +\n\t\t\t\twhitespace + \"*(?:''|\\\"\\\")\" );\n\t\t}\n\t} );\n\n\tif ( !support.cssHas ) {\n\n\t\t// Support: Chrome 105 - 110+, Safari 15.4 - 16.3+\n\t\t// Our regular `try-catch` mechanism fails to detect natively-unsupported\n\t\t// pseudo-classes inside `:has()` (such as `:has(:contains(\"Foo\"))`)\n\t\t// in browsers that parse the `:has()` argument as a forgiving selector list.\n\t\t// https://drafts.csswg.org/selectors/#relational now requires the argument\n\t\t// to be parsed unforgivingly, but browsers have not yet fully adjusted.\n\t\trbuggyQSA.push( \":has\" );\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( \"|\" ) );\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = function( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t// two documents; shallow comparisons work.\n\t\t// eslint-disable-next-line eqeqeq\n\t\tcompare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( a === document || a.ownerDocument == preferredDoc &&\n\t\t\t\tfind.contains( preferredDoc, a ) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( b === document || b.ownerDocument == preferredDoc &&\n\t\t\t\tfind.contains( preferredDoc, b ) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t};\n\n\treturn document;\n}\n\nfind.matches = function( expr, elements ) {\n\treturn find( expr, null, null, elements );\n};\n\nfind.matchesSelector = function( elem, expr ) {\n\tsetDocument( elem );\n\n\tif ( documentIsHTML &&\n\t\t!nonnativeSelectorCache[ expr + \" \" ] &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\tnonnativeSelectorCache( expr, true );\n\t\t}\n\t}\n\n\treturn find( expr, document, null, [ elem ] ).length > 0;\n};\n\nfind.contains = function( context, elem ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( context.ownerDocument || context ) != document ) {\n\t\tsetDocument( context );\n\t}\n\treturn jQuery.contains( context, elem );\n};\n\n\nfind.attr = function( elem, name ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( elem.ownerDocument || elem ) != document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\n\t\t// Don't get fooled by Object.prototype properties (see trac-13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\tif ( val !== undefined ) {\n\t\treturn val;\n\t}\n\n\treturn elem.getAttribute( name );\n};\n\nfind.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\njQuery.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\t//\n\t// Support: Android <=4.0+\n\t// Testing for detecting duplicates is unpredictable so instead assume we can't\n\t// depend on duplicate detection in all browsers without a stable sort.\n\thasDuplicate = !support.sortStable;\n\tsortInput = !support.sortStable && slice.call( results, 0 );\n\tsort.call( results, sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tsplice.call( results, duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\njQuery.fn.uniqueSort = function() {\n\treturn this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) );\n};\n\nExpr = jQuery.expr = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\tATTR: function( match ) {\n\t\t\tmatch[ 1 ] = match[ 1 ].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[ 3 ] = ( match[ 3 ] || match[ 4 ] || match[ 5 ] || \"\" )\n\t\t\t\t.replace( runescape, funescape );\n\n\t\t\tif ( match[ 2 ] === \"~=\" ) {\n\t\t\t\tmatch[ 3 ] = \" \" + match[ 3 ] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\tCHILD: function( match ) {\n\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[ 1 ] = match[ 1 ].toLowerCase();\n\n\t\t\tif ( match[ 1 ].slice( 0, 3 ) === \"nth\" ) {\n\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[ 3 ] ) {\n\t\t\t\t\tfind.error( match[ 0 ] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[ 4 ] = +( match[ 4 ] ?\n\t\t\t\t\tmatch[ 5 ] + ( match[ 6 ] || 1 ) :\n\t\t\t\t\t2 * ( match[ 3 ] === \"even\" || match[ 3 ] === \"odd\" )\n\t\t\t\t);\n\t\t\t\tmatch[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[ 3 ] ) {\n\t\t\t\tfind.error( match[ 0 ] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\tPSEUDO: function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[ 6 ] && match[ 2 ];\n\n\t\t\tif ( matchExpr.CHILD.test( match[ 0 ] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[ 3 ] ) {\n\t\t\t\tmatch[ 2 ] = match[ 4 ] || match[ 5 ] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t( excess = tokenize( unquoted, true ) ) &&\n\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t( excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length ) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[ 0 ] = match[ 0 ].slice( 0, excess );\n\t\t\t\tmatch[ 2 ] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\tTAG: function( nodeNameSelector ) {\n\t\t\tvar expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() {\n\t\t\t\t\treturn true;\n\t\t\t\t} :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn nodeName( elem, expectedNodeName );\n\t\t\t\t};\n\t\t},\n\n\t\tCLASS: function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t( pattern = new RegExp( \"(^|\" + whitespace + \")\" + className +\n\t\t\t\t\t\"(\" + whitespace + \"|$)\" ) ) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test(\n\t\t\t\t\t\ttypeof elem.className === \"string\" && elem.className ||\n\t\t\t\t\t\t\ttypeof elem.getAttribute !== \"undefined\" &&\n\t\t\t\t\t\t\t\telem.getAttribute( \"class\" ) ||\n\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t},\n\n\t\tATTR: function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = find.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\tif ( operator === \"=\" ) {\n\t\t\t\t\treturn result === check;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"!=\" ) {\n\t\t\t\t\treturn result !== check;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"^=\" ) {\n\t\t\t\t\treturn check && result.indexOf( check ) === 0;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"*=\" ) {\n\t\t\t\t\treturn check && result.indexOf( check ) > -1;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"$=\" ) {\n\t\t\t\t\treturn check && result.slice( -check.length ) === check;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"~=\" ) {\n\t\t\t\t\treturn ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" )\n\t\t\t\t\t\t.indexOf( check ) > -1;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"|=\" ) {\n\t\t\t\t\treturn result === check || result.slice( 0, check.length + 1 ) === check + \"-\";\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t};\n\t\t},\n\n\t\tCHILD: function( type, what, _argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tvar cache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( ( node = node[ dir ] ) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnodeName( node, name ) :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\t\t\t\t\t\t\touterCache = parent[ expando ] || ( parent[ expando ] = {} );\n\t\t\t\t\t\t\tcache = outerCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\touterCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\touterCache = elem[ expando ] || ( elem[ expando ] = {} );\n\t\t\t\t\t\t\t\tcache = outerCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnodeName( node, name ) :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( node[ expando ] = {} );\n\t\t\t\t\t\t\t\t\t\t\touterCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\tPSEUDO: function( pseudo, argument ) {\n\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// https://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tfind.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as jQuery does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction( function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf.call( seed, matched[ i ] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[ i ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t} ) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\n\t\t// Potentially complex pseudos\n\t\tnot: markFunction( function( selector ) {\n\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrimCSS, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction( function( seed, matches, _context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\t\t\t\t\tseed[ i ] = !( matches[ i ] = elem );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} ) :\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tinput[ 0 ] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\n\t\t\t\t\t// Don't keep the element\n\t\t\t\t\t// (see https://github.com/jquery/sizzle/issues/299)\n\t\t\t\t\tinput[ 0 ] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t} ),\n\n\t\thas: markFunction( function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn find( selector, elem ).length > 0;\n\t\t\t};\n\t\t} ),\n\n\t\tcontains: markFunction( function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || jQuery.text( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t} ),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// https://www.w3.org/TR/selectors/#lang-pseudo\n\t\tlang: markFunction( function( lang ) {\n\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test( lang || \"\" ) ) {\n\t\t\t\tfind.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( ( elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute( \"xml:lang\" ) || elem.getAttribute( \"lang\" ) ) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t} ),\n\n\t\t// Miscellaneous\n\t\ttarget: function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\troot: function( elem ) {\n\t\t\treturn elem === documentElement;\n\t\t},\n\n\t\tfocus: function( elem ) {\n\t\t\treturn elem === safeActiveElement() &&\n\t\t\t\tdocument.hasFocus() &&\n\t\t\t\t!!( elem.type || elem.href || ~elem.tabIndex );\n\t\t},\n\n\t\t// Boolean properties\n\t\tenabled: createDisabledPseudo( false ),\n\t\tdisabled: createDisabledPseudo( true ),\n\n\t\tchecked: function( elem ) {\n\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\treturn ( nodeName( elem, \"input\" ) && !!elem.checked ) ||\n\t\t\t\t( nodeName( elem, \"option\" ) && !!elem.selected );\n\t\t},\n\n\t\tselected: function( elem ) {\n\n\t\t\t// Support: IE <=11+\n\t\t\t// Accessing the selectedIndex property\n\t\t\t// forces the browser to treat the default option as\n\t\t\t// selected when in an optgroup.\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\tempty: function( elem ) {\n\n\t\t\t// https://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\tparent: function( elem ) {\n\t\t\treturn !Expr.pseudos.empty( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\theader: function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\tinput: function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\tbutton: function( elem ) {\n\t\t\treturn nodeName( elem, \"input\" ) && elem.type === \"button\" ||\n\t\t\t\tnodeName( elem, \"button\" );\n\t\t},\n\n\t\ttext: function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn nodeName( elem, \"input\" ) && elem.type === \"text\" &&\n\n\t\t\t\t// Support: IE <10 only\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear\n\t\t\t\t// with elem.type === \"text\"\n\t\t\t\t( ( attr = elem.getAttribute( \"type\" ) ) == null ||\n\t\t\t\t\tattr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\tfirst: createPositionalPseudo( function() {\n\t\t\treturn [ 0 ];\n\t\t} ),\n\n\t\tlast: createPositionalPseudo( function( _matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t} ),\n\n\t\teq: createPositionalPseudo( function( _matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t} ),\n\n\t\teven: createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\todd: createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\tlt: createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i;\n\n\t\t\tif ( argument < 0 ) {\n\t\t\t\ti = argument + length;\n\t\t\t} else if ( argument > length ) {\n\t\t\t\ti = length;\n\t\t\t} else {\n\t\t\t\ti = argument;\n\t\t\t}\n\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\tgt: createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} )\n\t}\n};\n\nExpr.pseudos.nth = Expr.pseudos.eq;\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\nfunction tokenize( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || ( match = rcomma.exec( soFar ) ) ) {\n\t\t\tif ( match ) {\n\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[ 0 ].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( ( tokens = [] ) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( ( match = rleadingCombinator.exec( soFar ) ) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push( {\n\t\t\t\tvalue: matched,\n\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[ 0 ].replace( rtrimCSS, \" \" )\n\t\t\t} );\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||\n\t\t\t\t( match = preFilters[ type ]( match ) ) ) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push( {\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t} );\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\tif ( parseOnly ) {\n\t\treturn soFar.length;\n\t}\n\n\treturn soFar ?\n\t\tfind.error( selector ) :\n\n\t\t// Cache the tokens\n\t\ttokenCache( selector, groups ).slice( 0 );\n}\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[ i ].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tskip = combinator.next,\n\t\tkey = skip || dir,\n\t\tcheckNonElements = base && key === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || ( elem[ expando ] = {} );\n\n\t\t\t\t\t\tif ( skip && nodeName( elem, skip ) ) {\n\t\t\t\t\t\t\telem = elem[ dir ] || elem;\n\t\t\t\t\t\t} else if ( ( oldCache = outerCache[ key ] ) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn ( newCache[ 2 ] = oldCache[ 2 ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\touterCache[ key ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[ i ]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[ 0 ];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tfind( selector, contexts[ i ], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction( function( seed, results, context, xml ) {\n\t\tvar temp, i, elem, matcherOut,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed ||\n\t\t\t\tmultipleContexts( selector || \"*\",\n\t\t\t\t\tcontext.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems;\n\n\t\tif ( matcher ) {\n\n\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter\n\t\t\t// or preexisting results,\n\t\t\tmatcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t[] :\n\n\t\t\t\t// ...otherwise use results directly\n\t\t\t\tresults;\n\n\t\t\t// Find primary matches\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t} else {\n\t\t\tmatcherOut = matcherIn;\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( ( elem = temp[ i ] ) ) {\n\t\t\t\t\tmatcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) ) {\n\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( ( matcherIn[ i ] = elem ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, ( matcherOut = [] ), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) &&\n\t\t\t\t\t\t( temp = postFinder ? indexOf.call( seed, elem ) : preMap[ i ] ) > -1 ) {\n\n\t\t\t\t\t\tseed[ temp ] = !( results[ temp ] = elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t} );\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[ 0 ].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[ \" \" ],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf.call( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tvar ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || (\n\t\t\t\t( checkContext = context ).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\n\t\t\t// Avoid hanging onto element\n\t\t\t// (see https://github.com/jquery/sizzle/issues/299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {\n\t\t\tmatchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[ j ].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\t\ttokens.slice( 0, i - 1 )\n\t\t\t\t\t\t\t.concat( { value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" } )\n\t\t\t\t\t).replace( rtrimCSS, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find.TAG( \"*\", outermost ),\n\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\n\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\toutermostContext = context == document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: iOS <=7 - 9 only\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: <number>) matching\n\t\t\t// elements by id. (see trac-14142)\n\t\t\tfor ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\n\t\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\t\tif ( !context && elem.ownerDocument != document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( ( matcher = elementMatchers[ j++ ] ) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml ) ) {\n\t\t\t\t\t\t\tpush.call( results, elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( ( elem = !matcher && elem ) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( ( matcher = setMatchers[ j++ ] ) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !( unmatched[ i ] || setMatched[ i ] ) ) {\n\t\t\t\t\t\t\t\tsetMatched[ i ] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tjQuery.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\nfunction compile( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[ i ] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector,\n\t\t\tmatcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n}\n\n/**\n * A low-level selection function that works with jQuery's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with jQuery selector compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nfunction select( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( ( selector = compiled.selector || selector ) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[ 0 ] = match[ 0 ].slice( 0 );\n\t\tif ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === \"ID\" &&\n\t\t\t\tcontext.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {\n\n\t\t\tcontext = ( Expr.find.ID(\n\t\t\t\ttoken.matches[ 0 ].replace( runescape, funescape ),\n\t\t\t\tcontext\n\t\t\t) || [] )[ 0 ];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr.needsContext.test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[ i ];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ ( type = token.type ) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( ( find = Expr.find[ type ] ) ) {\n\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( ( seed = find(\n\t\t\t\t\ttoken.matches[ 0 ].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[ 0 ].type ) &&\n\t\t\t\t\t\ttestContext( context.parentNode ) || context\n\t\t\t\t) ) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n}\n\n// One-time assignments\n\n// Support: Android <=4.0 - 4.1+\n// Sort stability\nsupport.sortStable = expando.split( \"\" ).sort( sortOrder ).join( \"\" ) === expando;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Android <=4.0 - 4.1+\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert( function( el ) {\n\n\t// Should return 1, but returns 4 (following)\n\treturn el.compareDocumentPosition( document.createElement( \"fieldset\" ) ) & 1;\n} );\n\njQuery.find = find;\n\n// Deprecated\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.unique = jQuery.uniqueSort;\n\n// These have always been private, but they used to be documented as part of\n// Sizzle so let's maintain them for now for backwards compatibility purposes.\nfind.compile = compile;\nfind.select = select;\nfind.setDocument = setDocument;\nfind.tokenize = tokenize;\n\nfind.escape = jQuery.escapeSelector;\nfind.getText = jQuery.text;\nfind.isXML = jQuery.isXMLDoc;\nfind.selectors = jQuery.expr;\nfind.support = jQuery.support;\nfind.uniqueSort = jQuery.uniqueSort;\n\n\t/* eslint-enable */\n\n} )();\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\nvar rsingleTag = ( /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i );\n\n\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\t}\n\n\t// Single element\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\t}\n\n\t// Arraylike of elements (jQuery, arguments, Array)\n\tif ( typeof qualifier !== \"string\" ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\n\t\t} );\n\t}\n\n\t// Filtered directly for both simple and complex selectors\n\treturn jQuery.filter( qualifier, elements, not );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\tif ( elems.length === 1 && elem.nodeType === 1 ) {\n\t\treturn jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];\n\t}\n\n\treturn jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\treturn elem.nodeType === 1;\n\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i, ret,\n\t\t\tlen = this.length,\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tret = this.pushStack( [] );\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\treturn len > 1 ? jQuery.uniqueSort( ret ) : ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521)\n\t// Strict HTML recognition (trac-11290: must start with <)\n\t// Shortcut simple #id case for speed\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Method init() accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[ 0 ] === \"<\" &&\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( isFunction( selector ) ) {\n\t\t\treturn root.ready !== undefined ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\ttargets = typeof selectors !== \"string\" && jQuery( selectors );\n\n\t\t// Positional selectors never match, since there's no _selection_ context\n\t\tif ( !rneedsContext.test( selectors ) ) {\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t\t// Always skip document fragments\n\t\t\t\t\tif ( cur.nodeType < 11 && ( targets ?\n\t\t\t\t\t\ttargets.index( cur ) > -1 :\n\n\t\t\t\t\t\t// Don't pass non-elements to jQuery#find\n\t\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\tif ( elem.contentDocument != null &&\n\n\t\t\t// Support: IE 11+\n\t\t\t// <object> elements with no `data` attribute has an object\n\t\t\t// `contentDocument` with a `null` prototype.\n\t\t\tgetProto( elem.contentDocument ) ) {\n\n\t\t\treturn elem.contentDocument;\n\t\t}\n\n\t\t// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n\t\t// Treat the template element as a regular one in browsers that\n\t\t// don't support it.\n\t\tif ( nodeName( elem, \"template\" ) ) {\n\t\t\telem = elem.content || elem;\n\t\t}\n\n\t\treturn jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.uniqueSort( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n} );\nvar rnothtmlwhite = ( /[^\\x20\\t\\r\\n\\f]+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = locked || options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && toType( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tif ( !memory && !firing ) {\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\nfunction Identity( v ) {\n\treturn v;\n}\nfunction Thrower( ex ) {\n\tthrow ex;\n}\n\nfunction adoptValue( value, resolve, reject, noValue ) {\n\tvar method;\n\n\ttry {\n\n\t\t// Check for promise aspect first to privilege synchronous behavior\n\t\tif ( value && isFunction( ( method = value.promise ) ) ) {\n\t\t\tmethod.call( value ).done( resolve ).fail( reject );\n\n\t\t// Other thenables\n\t\t} else if ( value && isFunction( ( method = value.then ) ) ) {\n\t\t\tmethod.call( value, resolve, reject );\n\n\t\t// Other non-thenables\n\t\t} else {\n\n\t\t\t// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n\t\t\t// * false: [ value ].slice( 0 ) => resolve( value )\n\t\t\t// * true: [ value ].slice( 1 ) => resolve()\n\t\t\tresolve.apply( undefined, [ value ].slice( noValue ) );\n\t\t}\n\n\t// For Promises/A+, convert exceptions into rejections\n\t// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n\t// Deferred#then to conditionally suppress rejection.\n\t} catch ( value ) {\n\n\t\t// Support: Android 4.0 only\n\t\t// Strict mode functions invoked without .call/.apply get global-object context\n\t\treject.apply( undefined, [ value ] );\n\t}\n}\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, callbacks,\n\t\t\t\t// ... .then handlers, argument index, [final state]\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"memory\" ), 2 ],\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 0, \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 1, \"rejected\" ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\t\"catch\": function( fn ) {\n\t\t\t\t\treturn promise.then( null, fn );\n\t\t\t\t},\n\n\t\t\t\t// Keep pipe for back-compat\n\t\t\t\tpipe: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( _i, tuple ) {\n\n\t\t\t\t\t\t\t// Map tuples (progress, done, fail) to arguments (done, fail, progress)\n\t\t\t\t\t\t\tvar fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];\n\n\t\t\t\t\t\t\t// deferred.progress(function() { bind to newDefer or newDefer.notify })\n\t\t\t\t\t\t\t// deferred.done(function() { bind to newDefer or newDefer.resolve })\n\t\t\t\t\t\t\t// deferred.fail(function() { bind to newDefer or newDefer.reject })\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\t\t\t\tthen: function( onFulfilled, onRejected, onProgress ) {\n\t\t\t\t\tvar maxDepth = 0;\n\t\t\t\t\tfunction resolve( depth, deferred, handler, special ) {\n\t\t\t\t\t\treturn function() {\n\t\t\t\t\t\t\tvar that = this,\n\t\t\t\t\t\t\t\targs = arguments,\n\t\t\t\t\t\t\t\tmightThrow = function() {\n\t\t\t\t\t\t\t\t\tvar returned, then;\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.3\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-59\n\t\t\t\t\t\t\t\t\t// Ignore double-resolution attempts\n\t\t\t\t\t\t\t\t\tif ( depth < maxDepth ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturned = handler.apply( that, args );\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.1\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-48\n\t\t\t\t\t\t\t\t\tif ( returned === deferred.promise() ) {\n\t\t\t\t\t\t\t\t\t\tthrow new TypeError( \"Thenable self-resolution\" );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ sections 2.3.3.1, 3.5\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-54\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-75\n\t\t\t\t\t\t\t\t\t// Retrieve `then` only once\n\t\t\t\t\t\t\t\t\tthen = returned &&\n\n\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.4\n\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-64\n\t\t\t\t\t\t\t\t\t\t// Only check objects and functions for thenability\n\t\t\t\t\t\t\t\t\t\t( typeof returned === \"object\" ||\n\t\t\t\t\t\t\t\t\t\t\ttypeof returned === \"function\" ) &&\n\t\t\t\t\t\t\t\t\t\treturned.then;\n\n\t\t\t\t\t\t\t\t\t// Handle a returned thenable\n\t\t\t\t\t\t\t\t\tif ( isFunction( then ) ) {\n\n\t\t\t\t\t\t\t\t\t\t// Special processors (notify) just wait for resolution\n\t\t\t\t\t\t\t\t\t\tif ( special ) {\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special )\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t// Normal processors (resolve) also hook into progress\n\t\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t\t// ...and disregard older resolution values\n\t\t\t\t\t\t\t\t\t\t\tmaxDepth++;\n\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdeferred.notifyWith )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Handle all other returned values\n\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\tif ( handler !== Identity ) {\n\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\targs = [ returned ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Process the value(s)\n\t\t\t\t\t\t\t\t\t\t// Default process is resolve\n\t\t\t\t\t\t\t\t\t\t( special || deferred.resolveWith )( that, args );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\t\t// Only normal processors (resolve) catch and reject exceptions\n\t\t\t\t\t\t\t\tprocess = special ?\n\t\t\t\t\t\t\t\t\tmightThrow :\n\t\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\tmightThrow();\n\t\t\t\t\t\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t\t\t\t\t\tif ( jQuery.Deferred.exceptionHook ) {\n\t\t\t\t\t\t\t\t\t\t\t\tjQuery.Deferred.exceptionHook( e,\n\t\t\t\t\t\t\t\t\t\t\t\t\tprocess.error );\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.4.1\n\t\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-61\n\t\t\t\t\t\t\t\t\t\t\t// Ignore post-resolution exceptions\n\t\t\t\t\t\t\t\t\t\t\tif ( depth + 1 >= maxDepth ) {\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\t\t\tif ( handler !== Thrower ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\t\t\targs = [ e ];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\tdeferred.rejectWith( that, args );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.1\n\t\t\t\t\t\t\t// https://promisesaplus.com/#point-57\n\t\t\t\t\t\t\t// Re-resolve promises immediately to dodge false rejection from\n\t\t\t\t\t\t\t// subsequent errors\n\t\t\t\t\t\t\tif ( depth ) {\n\t\t\t\t\t\t\t\tprocess();\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t// Call an optional hook to record the error, in case of exception\n\t\t\t\t\t\t\t\t// since it's otherwise lost when execution goes async\n\t\t\t\t\t\t\t\tif ( jQuery.Deferred.getErrorHook ) {\n\t\t\t\t\t\t\t\t\tprocess.error = jQuery.Deferred.getErrorHook();\n\n\t\t\t\t\t\t\t\t// The deprecated alias of the above. While the name suggests\n\t\t\t\t\t\t\t\t// returning the stack, not an error instance, jQuery just passes\n\t\t\t\t\t\t\t\t// it directly to `console.warn` so both will work; an instance\n\t\t\t\t\t\t\t\t// just better cooperates with source maps.\n\t\t\t\t\t\t\t\t} else if ( jQuery.Deferred.getStackHook ) {\n\t\t\t\t\t\t\t\t\tprocess.error = jQuery.Deferred.getStackHook();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\twindow.setTimeout( process );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\n\t\t\t\t\t\t// progress_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 0 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onProgress ) ?\n\t\t\t\t\t\t\t\t\tonProgress :\n\t\t\t\t\t\t\t\t\tIdentity,\n\t\t\t\t\t\t\t\tnewDefer.notifyWith\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// fulfilled_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 1 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onFulfilled ) ?\n\t\t\t\t\t\t\t\t\tonFulfilled :\n\t\t\t\t\t\t\t\t\tIdentity\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// rejected_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 2 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onRejected ) ?\n\t\t\t\t\t\t\t\t\tonRejected :\n\t\t\t\t\t\t\t\t\tThrower\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 5 ];\n\n\t\t\t// promise.progress = list.add\n\t\t\t// promise.done = list.add\n\t\t\t// promise.fail = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(\n\t\t\t\t\tfunction() {\n\n\t\t\t\t\t\t// state = \"resolved\" (i.e., fulfilled)\n\t\t\t\t\t\t// state = \"rejected\"\n\t\t\t\t\t\tstate = stateString;\n\t\t\t\t\t},\n\n\t\t\t\t\t// rejected_callbacks.disable\n\t\t\t\t\t// fulfilled_callbacks.disable\n\t\t\t\t\ttuples[ 3 - i ][ 2 ].disable,\n\n\t\t\t\t\t// rejected_handlers.disable\n\t\t\t\t\t// fulfilled_handlers.disable\n\t\t\t\t\ttuples[ 3 - i ][ 3 ].disable,\n\n\t\t\t\t\t// progress_callbacks.lock\n\t\t\t\t\ttuples[ 0 ][ 2 ].lock,\n\n\t\t\t\t\t// progress_handlers.lock\n\t\t\t\t\ttuples[ 0 ][ 3 ].lock\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// progress_handlers.fire\n\t\t\t// fulfilled_handlers.fire\n\t\t\t// rejected_handlers.fire\n\t\t\tlist.add( tuple[ 3 ].fire );\n\n\t\t\t// deferred.notify = function() { deferred.notifyWith(...) }\n\t\t\t// deferred.resolve = function() { deferred.resolveWith(...) }\n\t\t\t// deferred.reject = function() { deferred.rejectWith(...) }\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? undefined : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\n\t\t\t// deferred.notifyWith = list.fireWith\n\t\t\t// deferred.resolveWith = list.fireWith\n\t\t\t// deferred.rejectWith = list.fireWith\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( singleValue ) {\n\t\tvar\n\n\t\t\t// count of uncompleted subordinates\n\t\t\tremaining = arguments.length,\n\n\t\t\t// count of unprocessed arguments\n\t\t\ti = remaining,\n\n\t\t\t// subordinate fulfillment data\n\t\t\tresolveContexts = Array( i ),\n\t\t\tresolveValues = slice.call( arguments ),\n\n\t\t\t// the primary Deferred\n\t\t\tprimary = jQuery.Deferred(),\n\n\t\t\t// subordinate callback factory\n\t\t\tupdateFunc = function( i ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tresolveContexts[ i ] = this;\n\t\t\t\t\tresolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( !( --remaining ) ) {\n\t\t\t\t\t\tprimary.resolveWith( resolveContexts, resolveValues );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\n\t\t// Single- and empty arguments are adopted like Promise.resolve\n\t\tif ( remaining <= 1 ) {\n\t\t\tadoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,\n\t\t\t\t!remaining );\n\n\t\t\t// Use .then() to unwrap secondary thenables (cf. gh-3000)\n\t\t\tif ( primary.state() === \"pending\" ||\n\t\t\t\tisFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {\n\n\t\t\t\treturn primary.then();\n\t\t\t}\n\t\t}\n\n\t\t// Multiple arguments are aggregated like Promise.all array elements\n\t\twhile ( i-- ) {\n\t\t\tadoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );\n\t\t}\n\n\t\treturn primary.promise();\n\t}\n} );\n\n\n// These usually indicate a programmer mistake during development,\n// warn about them ASAP rather than swallowing them by default.\nvar rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n\n// If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error\n// captured before the async barrier to get the original error cause\n// which may otherwise be hidden.\njQuery.Deferred.exceptionHook = function( error, asyncError ) {\n\n\t// Support: IE 8 - 9 only\n\t// Console exists when dev tools are open, which can happen at any time\n\tif ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {\n\t\twindow.console.warn( \"jQuery.Deferred exception: \" + error.message,\n\t\t\terror.stack, asyncError );\n\t}\n};\n\n\n\n\njQuery.readyException = function( error ) {\n\twindow.setTimeout( function() {\n\t\tthrow error;\n\t} );\n};\n\n\n\n\n// The deferred used on DOM ready\nvar readyList = jQuery.Deferred();\n\njQuery.fn.ready = function( fn ) {\n\n\treadyList\n\t\t.then( fn )\n\n\t\t// Wrap jQuery.readyException in a function so that the lookup\n\t\t// happens at the time of error handling instead of callback\n\t\t// registration.\n\t\t.catch( function( error ) {\n\t\t\tjQuery.readyException( error );\n\t\t} );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See trac-6781\n\treadyWait: 1,\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\t}\n} );\n\njQuery.ready.then = readyList.then;\n\n// The ready event handler and self cleanup method\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\twindow.removeEventListener( \"load\", completed );\n\tjQuery.ready();\n}\n\n// Catch cases where $(document).ready() is called\n// after the browser event has already occurred.\n// Support: IE <=9 - 10 only\n// Older IE sometimes signals \"interactive\" too soon\nif ( document.readyState === \"complete\" ||\n\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\twindow.setTimeout( jQuery.ready );\n\n} else {\n\n\t// Use the handy event callback\n\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t// A fallback to window.onload, that will always work\n\twindow.addEventListener( \"load\", completed );\n}\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( toType( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, _key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ], key, raw ?\n\t\t\t\t\t\tvalue :\n\t\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( chainable ) {\n\t\treturn elems;\n\t}\n\n\t// Gets\n\tif ( bulk ) {\n\t\treturn fn.call( elems );\n\t}\n\n\treturn len ? fn( elems[ 0 ], key ) : emptyGet;\n};\n\n\n// Matches dashed string for camelizing\nvar rmsPrefix = /^-ms-/,\n\trdashAlpha = /-([a-z])/g;\n\n// Used by camelCase as callback to replace()\nfunction fcamelCase( _all, letter ) {\n\treturn letter.toUpperCase();\n}\n\n// Convert dashed to camelCase; used by the css and data modules\n// Support: IE <=9 - 11, Edge 12 - 15\n// Microsoft forgot to hump their vendor prefix (trac-9572)\nfunction camelCase( string ) {\n\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n}\nvar acceptData = function( owner ) {\n\n\t// Accepts only:\n\t// - Node\n\t// - Node.ELEMENT_NODE\n\t// - Node.DOCUMENT_NODE\n\t// - Object\n\t// - Any\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\n\n\nfunction Data() {\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\n\nData.prototype = {\n\n\tcache: function( owner ) {\n\n\t\t// Check if the owner object already has a cache\n\t\tvar value = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !value ) {\n\t\t\tvalue = {};\n\n\t\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t\t// but we should not, see trac-8335.\n\t\t\t// Always return an empty object.\n\t\t\tif ( acceptData( owner ) ) {\n\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t\t\t// use plain assignment\n\t\t\t\tif ( owner.nodeType ) {\n\t\t\t\t\towner[ this.expando ] = value;\n\n\t\t\t\t// Otherwise secure it in a non-enumerable property\n\t\t\t\t// configurable must be true to allow the property to be\n\t\t\t\t// deleted when data is removed\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\tcache = this.cache( owner );\n\n\t\t// Handle: [ owner, key, value ] args\n\t\t// Always use camelCase key (gh-2257)\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ camelCase( data ) ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\n\t\t\t// Copy the properties one-by-one to the cache object\n\t\t\tfor ( prop in data ) {\n\t\t\t\tcache[ camelCase( prop ) ] = data[ prop ];\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\treturn key === undefined ?\n\t\t\tthis.cache( owner ) :\n\n\t\t\t// Always use camelCase key (gh-2257)\n\t\t\towner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];\n\t},\n\taccess: function( owner, key, value ) {\n\n\t\t// In cases where either:\n\t\t//\n\t\t// 1. No key was specified\n\t\t// 2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t// 1. The entire cache object\n\t\t// 2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t( ( key && typeof key === \"string\" ) && value === undefined ) ) {\n\n\t\t\treturn this.get( owner, key );\n\t\t}\n\n\t\t// When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t// 1. An object of properties\n\t\t// 2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i,\n\t\t\tcache = owner[ this.expando ];\n\n\t\tif ( cache === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key !== undefined ) {\n\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( Array.isArray( key ) ) {\n\n\t\t\t\t// If key is an array of keys...\n\t\t\t\t// We always set camelCase keys, so remove that.\n\t\t\t\tkey = key.map( camelCase );\n\t\t\t} else {\n\t\t\t\tkey = camelCase( key );\n\n\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\tkey = key in cache ?\n\t\t\t\t\t[ key ] :\n\t\t\t\t\t( key.match( rnothtmlwhite ) || [] );\n\t\t\t}\n\n\t\t\ti = key.length;\n\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ key[ i ] ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if there's no more data\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\n\n\t\t\t// Support: Chrome <=35 - 45\n\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n\t\t\tif ( owner.nodeType ) {\n\t\t\t\towner[ this.expando ] = undefined;\n\t\t\t} else {\n\t\t\t\tdelete owner[ this.expando ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\tvar cache = owner[ this.expando ];\n\t\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\n\t}\n};\nvar dataPriv = new Data();\n\nvar dataUser = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /[A-Z]/g;\n\nfunction getData( data ) {\n\tif ( data === \"true\" ) {\n\t\treturn true;\n\t}\n\n\tif ( data === \"false\" ) {\n\t\treturn false;\n\t}\n\n\tif ( data === \"null\" ) {\n\t\treturn null;\n\t}\n\n\t// Only convert to a number if it doesn't change the string\n\tif ( data === +data + \"\" ) {\n\t\treturn +data;\n\t}\n\n\tif ( rbrace.test( data ) ) {\n\t\treturn JSON.parse( data );\n\t}\n\n\treturn data;\n}\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = getData( data );\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdataUser.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend( {\n\thasData: function( elem ) {\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn dataUser.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdataUser.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to dataPriv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn dataPriv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdataPriv.remove( elem, name );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = dataUser.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE 11 only\n\t\t\t\t\t\t// The attrs elements can be null (trac-14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tdataUser.set( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data;\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// The key will always be camelCased in Data\n\t\t\t\tdata = dataUser.get( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tthis.each( function() {\n\n\t\t\t\t// We always store the camelCased key\n\t\t\t\tdataUser.set( this, key, value );\n\t\t\t} );\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tdataUser.remove( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = dataPriv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || Array.isArray( data ) ) {\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar documentElement = document.documentElement;\n\n\n\n\tvar isAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem );\n\t\t},\n\t\tcomposed = { composed: true };\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n\t// Check attachment across shadow DOM boundaries when possible (gh-3504)\n\t// Support: iOS 10.0-10.2 only\n\t// Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n\t// leading to errors. We need to check for `getRootNode`.\n\tif ( documentElement.getRootNode ) {\n\t\tisAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem ) ||\n\t\t\t\telem.getRootNode( composed ) === elem.ownerDocument;\n\t\t};\n\t}\nvar isHiddenWithinTree = function( elem, el ) {\n\n\t\t// isHiddenWithinTree might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\n\t\t// Inline style trumps all\n\t\treturn elem.style.display === \"none\" ||\n\t\t\telem.style.display === \"\" &&\n\n\t\t\t// Otherwise, check computed style\n\t\t\t// Support: Firefox <=43 - 45\n\t\t\t// Disconnected elements can have computed display: none, so first confirm that elem is\n\t\t\t// in the document.\n\t\t\tisAttached( elem ) &&\n\n\t\t\tjQuery.css( elem, \"display\" ) === \"none\";\n\t};\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted, scale,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() {\n\t\t\t\treturn tween.cur();\n\t\t\t} :\n\t\t\tfunction() {\n\t\t\t\treturn jQuery.css( elem, prop, \"\" );\n\t\t\t},\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = elem.nodeType &&\n\t\t\t( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Support: Firefox <=54\n\t\t// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n\t\tinitial = initial / 2;\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\twhile ( maxIterations-- ) {\n\n\t\t\t// Evaluate and update our best guess (doubling guesses that zero out).\n\t\t\t// Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\t\t\tif ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {\n\t\t\t\tmaxIterations = 0;\n\t\t\t}\n\t\t\tinitialInUnit = initialInUnit / scale;\n\n\t\t}\n\n\t\tinitialInUnit = initialInUnit * 2;\n\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\n\n\nvar defaultDisplayMap = {};\n\nfunction getDefaultDisplay( elem ) {\n\tvar temp,\n\t\tdoc = elem.ownerDocument,\n\t\tnodeName = elem.nodeName,\n\t\tdisplay = defaultDisplayMap[ nodeName ];\n\n\tif ( display ) {\n\t\treturn display;\n\t}\n\n\ttemp = doc.body.appendChild( doc.createElement( nodeName ) );\n\tdisplay = jQuery.css( temp, \"display\" );\n\n\ttemp.parentNode.removeChild( temp );\n\n\tif ( display === \"none\" ) {\n\t\tdisplay = \"block\";\n\t}\n\tdefaultDisplayMap[ nodeName ] = display;\n\n\treturn display;\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\t// Determine new display value for elements that need to change\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\n\t\t\t// Since we force visibility upon cascade-hidden elements, an immediate (and slow)\n\t\t\t// check is required in this first loop unless we have a nonempty display value (either\n\t\t\t// inline or about-to-be-restored)\n\t\t\tif ( display === \"none\" ) {\n\t\t\t\tvalues[ index ] = dataPriv.get( elem, \"display\" ) || null;\n\t\t\t\tif ( !values[ index ] ) {\n\t\t\t\t\telem.style.display = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( elem.style.display === \"\" && isHiddenWithinTree( elem ) ) {\n\t\t\t\tvalues[ index ] = getDefaultDisplay( elem );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( display !== \"none\" ) {\n\t\t\t\tvalues[ index ] = \"none\";\n\n\t\t\t\t// Remember what we're overwriting\n\t\t\t\tdataPriv.set( elem, \"display\", display );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of the elements in a second loop to avoid constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\tif ( values[ index ] != null ) {\n\t\t\telements[ index ].style.display = values[ index ];\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.fn.extend( {\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tif ( isHiddenWithinTree( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t} );\n\t}\n} );\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i );\n\nvar rscriptType = ( /^$|^module$|\\/(?:java|ecma)script/i );\n\n\n\n( function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Android 4.0 - 4.3 only\n\t// Check state lost if the name is set (trac-11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (trac-14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Android <=4.1 only\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE <=11 only\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"<textarea>x</textarea>\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n\n\t// Support: IE <=9 only\n\t// IE <=9 replaces <option> tags with their contents when inserted outside of\n\t// the select element.\n\tdiv.innerHTML = \"<option></option>\";\n\tsupport.option = !!div.lastChild;\n} )();\n\n\n// We have to close these tags to support XHTML (trac-13200)\nvar wrapMap = {\n\n\t// XHTML parsers do not magically insert elements in the\n\t// same way that tag soup parsers do. So we cannot shorten\n\t// this by omitting <tbody> or other required elements.\n\tthead: [ 1, \"<table>\", \"</table>\" ],\n\tcol: [ 2, \"<table><colgroup>\", \"</colgroup></table>\" ],\n\ttr: [ 2, \"<table><tbody>\", \"</tbody></table>\" ],\n\ttd: [ 3, \"<table><tbody><tr>\", \"</tr></tbody></table>\" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n// Support: IE <=9 only\nif ( !support.option ) {\n\twrapMap.optgroup = wrapMap.option = [ 1, \"<select multiple='multiple'>\", \"</select>\" ];\n}\n\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE <=9 - 11 only\n\t// Use typeof to avoid zero-argument method invocation on host objects (trac-15151)\n\tvar ret;\n\n\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\tret = context.getElementsByTagName( tag || \"*\" );\n\n\t} else if ( typeof context.querySelectorAll !== \"undefined\" ) {\n\t\tret = context.querySelectorAll( tag || \"*\" );\n\n\t} else {\n\t\tret = [];\n\t}\n\n\tif ( tag === undefined || tag && nodeName( context, tag ) ) {\n\t\treturn jQuery.merge( [ context ], ret );\n\t}\n\n\treturn ret;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdataPriv.set(\n\t\t\telems[ i ],\n\t\t\t\"globalEval\",\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /<|&#?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, attached, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( toType( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Remember the top-level container\n\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t// Ensure the created nodes are orphaned (trac-12392)\n\t\t\t\ttmp.textContent = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove wrapper from fragment\n\tfragment.textContent = \"\";\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tattached = isAttached( elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( attached ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\n\nvar rtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.get( elem );\n\n\t\t// Only attach events to objects that accept data\n\t\tif ( !acceptData( elem ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Ensure that invalid selectors throw exceptions at attach time\n\t\t// Evaluate against documentElement in case elem is a non-element node (e.g., document)\n\t\tif ( selector ) {\n\t\t\tjQuery.find.matchesSelector( documentElement, selector );\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = Object.create( null );\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove data and the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdataPriv.remove( elem, \"handle events\" );\n\t\t}\n\t},\n\n\tdispatch: function( nativeEvent ) {\n\n\t\tvar i, j, ret, matched, handleObj, handlerQueue,\n\t\t\targs = new Array( arguments.length ),\n\n\t\t\t// Make a writable jQuery.Event from the native event object\n\t\t\tevent = jQuery.event.fix( nativeEvent ),\n\n\t\t\thandlers = (\n\t\t\t\tdataPriv.get( this, \"events\" ) || Object.create( null )\n\t\t\t)[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\n\t\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// If the event is namespaced, then each handler is only invoked if it is\n\t\t\t\t// specially universal or its namespaces are a superset of the event's.\n\t\t\t\tif ( !event.rnamespace || handleObj.namespace === false ||\n\t\t\t\t\tevent.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, handleObj, sel, matchedHandlers, matchedSelectors,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Find delegate handlers\n\t\tif ( delegateCount &&\n\n\t\t\t// Support: IE <=9\n\t\t\t// Black-hole SVG <use> instance trees (trac-13180)\n\t\t\tcur.nodeType &&\n\n\t\t\t// Support: Firefox <=42\n\t\t\t// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n\t\t\t// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n\t\t\t// Support: IE 11 only\n\t\t\t// ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n\t\t\t!( event.type === \"click\" && event.button >= 1 ) ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't check non-elements (trac-13208)\n\t\t\t\t// Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)\n\t\t\t\tif ( cur.nodeType === 1 && !( event.type === \"click\" && cur.disabled === true ) ) {\n\t\t\t\t\tmatchedHandlers = [];\n\t\t\t\t\tmatchedSelectors = {};\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (trac-13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatchedSelectors[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] ) {\n\t\t\t\t\t\t\tmatchedHandlers.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matchedHandlers.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matchedHandlers } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tcur = this;\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\taddProp: function( name, hook ) {\n\t\tObject.defineProperty( jQuery.Event.prototype, name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\n\t\t\tget: isFunction( hook ) ?\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\treturn hook( this.originalEvent );\n\t\t\t\t\t}\n\t\t\t\t} :\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\treturn this.originalEvent[ name ];\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\tset: function( value ) {\n\t\t\t\tObject.defineProperty( this, name, {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tvalue: value\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t},\n\n\tfix: function( originalEvent ) {\n\t\treturn originalEvent[ jQuery.expando ] ?\n\t\t\toriginalEvent :\n\t\t\tnew jQuery.Event( originalEvent );\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tclick: {\n\n\t\t\t// Utilize native event to ensure correct state for checkable inputs\n\t\t\tsetup: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Claim the first handler\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\t// dataPriv.set( el, \"click\", ... )\n\t\t\t\t\tleverageNative( el, \"click\", true );\n\t\t\t\t}\n\n\t\t\t\t// Return false to allow normal processing in the caller\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\ttrigger: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Force setup before triggering a click\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\tleverageNative( el, \"click\" );\n\t\t\t\t}\n\n\t\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, suppress native .click() on links\n\t\t\t// Also prevent it if we're currently inside a leveraged native-event stack\n\t\t\t_default: function( event ) {\n\t\t\t\tvar target = event.target;\n\t\t\t\treturn rcheckableType.test( target.type ) &&\n\t\t\t\t\ttarget.click && nodeName( target, \"input\" ) &&\n\t\t\t\t\tdataPriv.get( target, \"click\" ) ||\n\t\t\t\t\tnodeName( target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Ensure the presence of an event listener that handles manually-triggered\n// synthetic events by interrupting progress until reinvoked in response to\n// *native* events that it fires directly, ensuring that state changes have\n// already occurred before other listeners are invoked.\nfunction leverageNative( el, type, isSetup ) {\n\n\t// Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add\n\tif ( !isSetup ) {\n\t\tif ( dataPriv.get( el, type ) === undefined ) {\n\t\t\tjQuery.event.add( el, type, returnTrue );\n\t\t}\n\t\treturn;\n\t}\n\n\t// Register the controller as a special universal handler for all event namespaces\n\tdataPriv.set( el, type, false );\n\tjQuery.event.add( el, type, {\n\t\tnamespace: false,\n\t\thandler: function( event ) {\n\t\t\tvar result,\n\t\t\t\tsaved = dataPriv.get( this, type );\n\n\t\t\tif ( ( event.isTrigger & 1 ) && this[ type ] ) {\n\n\t\t\t\t// Interrupt processing of the outer synthetic .trigger()ed event\n\t\t\t\tif ( !saved ) {\n\n\t\t\t\t\t// Store arguments for use when handling the inner native event\n\t\t\t\t\t// There will always be at least one argument (an event object), so this array\n\t\t\t\t\t// will not be confused with a leftover capture object.\n\t\t\t\t\tsaved = slice.call( arguments );\n\t\t\t\t\tdataPriv.set( this, type, saved );\n\n\t\t\t\t\t// Trigger the native event and capture its result\n\t\t\t\t\tthis[ type ]();\n\t\t\t\t\tresult = dataPriv.get( this, type );\n\t\t\t\t\tdataPriv.set( this, type, false );\n\n\t\t\t\t\tif ( saved !== result ) {\n\n\t\t\t\t\t\t// Cancel the outer synthetic event\n\t\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\n\t\t\t\t// If this is an inner synthetic event for an event with a bubbling surrogate\n\t\t\t\t// (focus or blur), assume that the surrogate already propagated from triggering\n\t\t\t\t// the native event and prevent that from happening again here.\n\t\t\t\t// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n\t\t\t\t// bubbling surrogate propagates *after* the non-bubbling base), but that seems\n\t\t\t\t// less bad than duplication.\n\t\t\t\t} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t// If this is a native event triggered above, everything is now in order\n\t\t\t// Fire an inner synthetic event with the original arguments\n\t\t\t} else if ( saved ) {\n\n\t\t\t\t// ...and capture the result\n\t\t\t\tdataPriv.set( this, type, jQuery.event.trigger(\n\t\t\t\t\tsaved[ 0 ],\n\t\t\t\t\tsaved.slice( 1 ),\n\t\t\t\t\tthis\n\t\t\t\t) );\n\n\t\t\t\t// Abort handling of the native event by all jQuery handlers while allowing\n\t\t\t\t// native handlers on the same element to run. On target, this is achieved\n\t\t\t\t// by stopping immediate propagation just on the jQuery event. However,\n\t\t\t\t// the native event is re-wrapped by a jQuery one on each level of the\n\t\t\t\t// propagation so the only way to stop it for jQuery is to stop it for\n\t\t\t\t// everyone via native `stopPropagation()`. This is not a problem for\n\t\t\t\t// focus/blur which don't bubble, but it does also stop click on checkboxes\n\t\t\t\t// and radios. We accept this limitation.\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tevent.isImmediatePropagationStopped = returnTrue;\n\t\t\t}\n\t\t}\n\t} );\n}\n\njQuery.removeEvent = function( elem, type, handle ) {\n\n\t// This \"if\" is needed for plain objects\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: Android <=2.3 only\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t\t// Create target properties\n\t\t// Support: Safari <=6 - 7 only\n\t\t// Target should not be a text node (trac-504, trac-13143)\n\t\tthis.target = ( src.target && src.target.nodeType === 3 ) ?\n\t\t\tsrc.target.parentNode :\n\t\t\tsrc.target;\n\n\t\tthis.currentTarget = src.currentTarget;\n\t\tthis.relatedTarget = src.relatedTarget;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || Date.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\tisSimulated: false,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Includes all common event props including KeyEvent and MouseEvent specific props\njQuery.each( {\n\taltKey: true,\n\tbubbles: true,\n\tcancelable: true,\n\tchangedTouches: true,\n\tctrlKey: true,\n\tdetail: true,\n\teventPhase: true,\n\tmetaKey: true,\n\tpageX: true,\n\tpageY: true,\n\tshiftKey: true,\n\tview: true,\n\t\"char\": true,\n\tcode: true,\n\tcharCode: true,\n\tkey: true,\n\tkeyCode: true,\n\tbutton: true,\n\tbuttons: true,\n\tclientX: true,\n\tclientY: true,\n\toffsetX: true,\n\toffsetY: true,\n\tpointerId: true,\n\tpointerType: true,\n\tscreenX: true,\n\tscreenY: true,\n\ttargetTouches: true,\n\ttoElement: true,\n\ttouches: true,\n\twhich: true\n}, jQuery.event.addProp );\n\njQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( type, delegateType ) {\n\n\tfunction focusMappedHandler( nativeEvent ) {\n\t\tif ( document.documentMode ) {\n\n\t\t\t// Support: IE 11+\n\t\t\t// Attach a single focusin/focusout handler on the document while someone wants\n\t\t\t// focus/blur. This is because the former are synchronous in IE while the latter\n\t\t\t// are async. In other browsers, all those handlers are invoked synchronously.\n\n\t\t\t// `handle` from private data would already wrap the event, but we need\n\t\t\t// to change the `type` here.\n\t\t\tvar handle = dataPriv.get( this, \"handle\" ),\n\t\t\t\tevent = jQuery.event.fix( nativeEvent );\n\t\t\tevent.type = nativeEvent.type === \"focusin\" ? \"focus\" : \"blur\";\n\t\t\tevent.isSimulated = true;\n\n\t\t\t// First, handle focusin/focusout\n\t\t\thandle( nativeEvent );\n\n\t\t\t// ...then, handle focus/blur\n\t\t\t//\n\t\t\t// focus/blur don't bubble while focusin/focusout do; simulate the former by only\n\t\t\t// invoking the handler at the lower level.\n\t\t\tif ( event.target === event.currentTarget ) {\n\n\t\t\t\t// The setup part calls `leverageNative`, which, in turn, calls\n\t\t\t\t// `jQuery.event.add`, so event handle will already have been set\n\t\t\t\t// by this point.\n\t\t\t\thandle( event );\n\t\t\t}\n\t\t} else {\n\n\t\t\t// For non-IE browsers, attach a single capturing handler on the document\n\t\t\t// while someone wants focusin/focusout.\n\t\t\tjQuery.event.simulate( delegateType, nativeEvent.target,\n\t\t\t\tjQuery.event.fix( nativeEvent ) );\n\t\t}\n\t}\n\n\tjQuery.event.special[ type ] = {\n\n\t\t// Utilize native event if possible so blur/focus sequence is correct\n\t\tsetup: function() {\n\n\t\t\tvar attaches;\n\n\t\t\t// Claim the first handler\n\t\t\t// dataPriv.set( this, \"focus\", ... )\n\t\t\t// dataPriv.set( this, \"blur\", ... )\n\t\t\tleverageNative( this, type, true );\n\n\t\t\tif ( document.documentMode ) {\n\n\t\t\t\t// Support: IE 9 - 11+\n\t\t\t\t// We use the same native handler for focusin & focus (and focusout & blur)\n\t\t\t\t// so we need to coordinate setup & teardown parts between those events.\n\t\t\t\t// Use `delegateType` as the key as `type` is already used by `leverageNative`.\n\t\t\t\tattaches = dataPriv.get( this, delegateType );\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tthis.addEventListener( delegateType, focusMappedHandler );\n\t\t\t\t}\n\t\t\t\tdataPriv.set( this, delegateType, ( attaches || 0 ) + 1 );\n\t\t\t} else {\n\n\t\t\t\t// Return false to allow normal processing in the caller\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\ttrigger: function() {\n\n\t\t\t// Force setup before trigger\n\t\t\tleverageNative( this, type );\n\n\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\treturn true;\n\t\t},\n\n\t\tteardown: function() {\n\t\t\tvar attaches;\n\n\t\t\tif ( document.documentMode ) {\n\t\t\t\tattaches = dataPriv.get( this, delegateType ) - 1;\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tthis.removeEventListener( delegateType, focusMappedHandler );\n\t\t\t\t\tdataPriv.remove( this, delegateType );\n\t\t\t\t} else {\n\t\t\t\t\tdataPriv.set( this, delegateType, attaches );\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Return false to indicate standard teardown should be applied\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\n\t\t// Suppress native focus or blur if we're currently inside\n\t\t// a leveraged native-event stack\n\t\t_default: function( event ) {\n\t\t\treturn dataPriv.get( event.target, type );\n\t\t},\n\n\t\tdelegateType: delegateType\n\t};\n\n\t// Support: Firefox <=44\n\t// Firefox doesn't have focus(in | out) events\n\t// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n\t//\n\t// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1\n\t// focus(in | out) events fire after focus & blur events,\n\t// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n\t// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857\n\t//\n\t// Support: IE 9 - 11+\n\t// To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch,\n\t// attach a single handler for both events in IE.\n\tjQuery.event.special[ delegateType ] = {\n\t\tsetup: function() {\n\n\t\t\t// Handle: regular nodes (via `this.ownerDocument`), window\n\t\t\t// (via `this.document`) & document (via `this`).\n\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\tdataHolder = document.documentMode ? this : doc,\n\t\t\t\tattaches = dataPriv.get( dataHolder, delegateType );\n\n\t\t\t// Support: IE 9 - 11+\n\t\t\t// We use the same native handler for focusin & focus (and focusout & blur)\n\t\t\t// so we need to coordinate setup & teardown parts between those events.\n\t\t\t// Use `delegateType` as the key as `type` is already used by `leverageNative`.\n\t\t\tif ( !attaches ) {\n\t\t\t\tif ( document.documentMode ) {\n\t\t\t\t\tthis.addEventListener( delegateType, focusMappedHandler );\n\t\t\t\t} else {\n\t\t\t\t\tdoc.addEventListener( type, focusMappedHandler, true );\n\t\t\t\t}\n\t\t\t}\n\t\t\tdataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 );\n\t\t},\n\t\tteardown: function() {\n\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\tdataHolder = document.documentMode ? this : doc,\n\t\t\t\tattaches = dataPriv.get( dataHolder, delegateType ) - 1;\n\n\t\t\tif ( !attaches ) {\n\t\t\t\tif ( document.documentMode ) {\n\t\t\t\t\tthis.removeEventListener( delegateType, focusMappedHandler );\n\t\t\t\t} else {\n\t\t\t\t\tdoc.removeEventListener( type, focusMappedHandler, true );\n\t\t\t\t}\n\t\t\t\tdataPriv.remove( dataHolder, delegateType );\n\t\t\t} else {\n\t\t\t\tdataPriv.set( dataHolder, delegateType, attaches );\n\t\t\t}\n\t\t}\n\t};\n} );\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\njQuery.fn.extend( {\n\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t}\n} );\n\n\nvar\n\n\t// Support: IE <=10 - 11, Edge 12 - 13 only\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /<script|<style|<link/i,\n\n\t// checked=\"checked\" or checked\n\trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n\n\trcleanScript = /^\\s*<!\\[CDATA\\[|\\]\\]>\\s*$/g;\n\n// Prefer a tbody over its parent table for containing new rows\nfunction manipulationTarget( elem, content ) {\n\tif ( nodeName( elem, \"table\" ) &&\n\t\tnodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ) {\n\n\t\treturn jQuery( elem ).children( \"tbody\" )[ 0 ] || elem;\n\t}\n\n\treturn elem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( elem.getAttribute( \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tif ( ( elem.type || \"\" ).slice( 0, 5 ) === \"true/\" ) {\n\t\telem.type = elem.type.slice( 5 );\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( dataPriv.hasData( src ) ) {\n\t\tpdataOld = dataPriv.get( src );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdataPriv.remove( dest, \"handle events\" );\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( dataUser.hasData( src ) ) {\n\t\tudataOld = dataUser.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdataUser.set( dest, udataCur );\n\t}\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = flat( args );\n\n\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tvalueIsFunction = isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( valueIsFunction ||\n\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (trac-8070).\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Re-enable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t!dataPriv.access( node, \"globalEval\" ) &&\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src && ( node.type || \"\" ).toLowerCase() !== \"module\" ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl && !node.noModule ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src, {\n\t\t\t\t\t\t\t\t\tnonce: node.nonce || node.getAttribute( \"nonce\" )\n\t\t\t\t\t\t\t\t}, doc );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Unwrap a CDATA section containing script contents. This shouldn't be\n\t\t\t\t\t\t\t// needed as in XML documents they're already not visible when\n\t\t\t\t\t\t\t// inspecting element contents and in HTML documents they have no\n\t\t\t\t\t\t\t// meaning but we're preserving that logic for backwards compatibility.\n\t\t\t\t\t\t\t// This will be removed completely in 4.0. See gh-4904.\n\t\t\t\t\t\t\tDOMEval( node.textContent.replace( rcleanScript, \"\" ), node, doc );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\n\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData && isAttached( node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html;\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = isAttached( elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew jQuery#find here for performance reasons:\n\t\t\t// https://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\n\t\t\tif ( acceptData( elem ) ) {\n\t\t\t\tif ( ( data = elem[ dataPriv.expando ] ) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataPriv.expando ] = undefined;\n\t\t\t\t}\n\t\t\t\tif ( elem[ dataUser.expando ] ) {\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataUser.expando ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each( function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t// .get() because push.apply(_, arraylike) throws on ancient WebKit\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n\nvar rcustomProp = /^--/;\n\n\nvar getStyles = function( elem ) {\n\n\t\t// Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tvar view = elem.ownerDocument.defaultView;\n\n\t\tif ( !view || !view.opener ) {\n\t\t\tview = window;\n\t\t}\n\n\t\treturn view.getComputedStyle( elem );\n\t};\n\nvar swap = function( elem, options, callback ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.call( elem );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\nvar rboxStyle = new RegExp( cssExpand.join( \"|\" ), \"i\" );\n\n\n\n( function() {\n\n\t// Executing both pixelPosition & boxSizingReliable tests require only one layout\n\t// so they're executed at the same time to save the second computation.\n\tfunction computeStyleTests() {\n\n\t\t// This is a singleton, we need to execute it only once\n\t\tif ( !div ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.style.cssText = \"position:absolute;left:-11111px;width:60px;\" +\n\t\t\t\"margin-top:1px;padding:0;border:0\";\n\t\tdiv.style.cssText =\n\t\t\t\"position:relative;display:block;box-sizing:border-box;overflow:scroll;\" +\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\n\t\t\t\"width:60%;top:1%\";\n\t\tdocumentElement.appendChild( container ).appendChild( div );\n\n\t\tvar divStyle = window.getComputedStyle( div );\n\t\tpixelPositionVal = divStyle.top !== \"1%\";\n\n\t\t// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44\n\t\treliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;\n\n\t\t// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3\n\t\t// Some styles come back with percentage values, even though they shouldn't\n\t\tdiv.style.right = \"60%\";\n\t\tpixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;\n\n\t\t// Support: IE 9 - 11 only\n\t\t// Detect misreporting of content dimensions for box-sizing:border-box elements\n\t\tboxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;\n\n\t\t// Support: IE 9 only\n\t\t// Detect overflow:scroll screwiness (gh-3699)\n\t\t// Support: Chrome <=64\n\t\t// Don't get tricked when zoom affects offsetWidth (gh-4029)\n\t\tdiv.style.position = \"absolute\";\n\t\tscrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;\n\n\t\tdocumentElement.removeChild( container );\n\n\t\t// Nullify the div so it wouldn't be stored in the memory and\n\t\t// it will also be a sign that checks already performed\n\t\tdiv = null;\n\t}\n\n\tfunction roundPixelMeasures( measure ) {\n\t\treturn Math.round( parseFloat( measure ) );\n\t}\n\n\tvar pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,\n\t\treliableTrDimensionsVal, reliableMarginLeftVal,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Finish early in limited (non-browser) environments\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\t// Support: IE <=9 - 11 only\n\t// Style of cloned element affects source element cloned (trac-8908)\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tjQuery.extend( support, {\n\t\tboxSizingReliable: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn boxSizingReliableVal;\n\t\t},\n\t\tpixelBoxStyles: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelBoxStylesVal;\n\t\t},\n\t\tpixelPosition: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelPositionVal;\n\t\t},\n\t\treliableMarginLeft: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn reliableMarginLeftVal;\n\t\t},\n\t\tscrollboxSize: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn scrollboxSizeVal;\n\t\t},\n\n\t\t// Support: IE 9 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Behavior in IE 9 is more subtle than in newer versions & it passes\n\t\t// some versions of this test; make sure not to make it pass there!\n\t\t//\n\t\t// Support: Firefox 70+\n\t\t// Only Firefox includes border widths\n\t\t// in computed dimensions. (gh-4529)\n\t\treliableTrDimensions: function() {\n\t\t\tvar table, tr, trChild, trStyle;\n\t\t\tif ( reliableTrDimensionsVal == null ) {\n\t\t\t\ttable = document.createElement( \"table\" );\n\t\t\t\ttr = document.createElement( \"tr\" );\n\t\t\t\ttrChild = document.createElement( \"div\" );\n\n\t\t\t\ttable.style.cssText = \"position:absolute;left:-11111px;border-collapse:separate\";\n\t\t\t\ttr.style.cssText = \"box-sizing:content-box;border:1px solid\";\n\n\t\t\t\t// Support: Chrome 86+\n\t\t\t\t// Height set through cssText does not get applied.\n\t\t\t\t// Computed height then comes back as 0.\n\t\t\t\ttr.style.height = \"1px\";\n\t\t\t\ttrChild.style.height = \"9px\";\n\n\t\t\t\t// Support: Android 8 Chrome 86+\n\t\t\t\t// In our bodyBackground.html iframe,\n\t\t\t\t// display for all div elements is set to \"inline\",\n\t\t\t\t// which causes a problem only in Android 8 Chrome 86.\n\t\t\t\t// Ensuring the div is `display: block`\n\t\t\t\t// gets around this issue.\n\t\t\t\ttrChild.style.display = \"block\";\n\n\t\t\t\tdocumentElement\n\t\t\t\t\t.appendChild( table )\n\t\t\t\t\t.appendChild( tr )\n\t\t\t\t\t.appendChild( trChild );\n\n\t\t\t\ttrStyle = window.getComputedStyle( tr );\n\t\t\t\treliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderTopWidth, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;\n\n\t\t\t\tdocumentElement.removeChild( table );\n\t\t\t}\n\t\t\treturn reliableTrDimensionsVal;\n\t\t}\n\t} );\n} )();\n\n\nfunction curCSS( elem, name, computed ) {\n\tvar width, minWidth, maxWidth, ret,\n\t\tisCustomProp = rcustomProp.test( name ),\n\n\t\t// Support: Firefox 51+\n\t\t// Retrieving style before computed somehow\n\t\t// fixes an issue with getting wrong values\n\t\t// on detached elements\n\t\tstyle = elem.style;\n\n\tcomputed = computed || getStyles( elem );\n\n\t// getPropertyValue is needed for:\n\t// .css('filter') (IE 9 only, trac-12537)\n\t// .css('--customProperty) (gh-3144)\n\tif ( computed ) {\n\n\t\t// Support: IE <=9 - 11+\n\t\t// IE only supports `\"float\"` in `getPropertyValue`; in computed styles\n\t\t// it's only available as `\"cssFloat\"`. We no longer modify properties\n\t\t// sent to `.css()` apart from camelCasing, so we need to check both.\n\t\t// Normally, this would create difference in behavior: if\n\t\t// `getPropertyValue` returns an empty string, the value returned\n\t\t// by `.css()` would be `undefined`. This is usually the case for\n\t\t// disconnected elements. However, in IE even disconnected elements\n\t\t// with no styles return `\"none\"` for `getPropertyValue( \"float\" )`\n\t\tret = computed.getPropertyValue( name ) || computed[ name ];\n\n\t\tif ( isCustomProp && ret ) {\n\n\t\t\t// Support: Firefox 105+, Chrome <=105+\n\t\t\t// Spec requires trimming whitespace for custom properties (gh-4926).\n\t\t\t// Firefox only trims leading whitespace. Chrome just collapses\n\t\t\t// both leading & trailing whitespace to a single space.\n\t\t\t//\n\t\t\t// Fall back to `undefined` if empty string returned.\n\t\t\t// This collapses a missing definition with property defined\n\t\t\t// and set to an empty string but there's no standard API\n\t\t\t// allowing us to differentiate them without a performance penalty\n\t\t\t// and returning `undefined` aligns with older jQuery.\n\t\t\t//\n\t\t\t// rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED\n\t\t\t// as whitespace while CSS does not, but this is not a problem\n\t\t\t// because CSS preprocessing replaces them with U+000A LINE FEED\n\t\t\t// (which *is* CSS whitespace)\n\t\t\t// https://www.w3.org/TR/css-syntax-3/#input-preprocessing\n\t\t\tret = ret.replace( rtrimCSS, \"$1\" ) || undefined;\n\t\t}\n\n\t\tif ( ret === \"\" && !isAttached( elem ) ) {\n\t\t\tret = jQuery.style( elem, name );\n\t\t}\n\n\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t// Android Browser returns percentage for some values,\n\t\t// but width seems to be reliably pixels.\n\t\t// This is against the CSSOM draft spec:\n\t\t// https://drafts.csswg.org/cssom/#resolved-values\n\t\tif ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\twidth = style.width;\n\t\t\tminWidth = style.minWidth;\n\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\tret = computed.width;\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.width = width;\n\t\t\tstyle.minWidth = minWidth;\n\t\t\tstyle.maxWidth = maxWidth;\n\t\t}\n\t}\n\n\treturn ret !== undefined ?\n\n\t\t// Support: IE <=9 - 11 only\n\t\t// IE returns zIndex value as an integer.\n\t\tret + \"\" :\n\t\tret;\n}\n\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn ( this.get = hookFn ).apply( this, arguments );\n\t\t}\n\t};\n}\n\n\nvar cssPrefixes = [ \"Webkit\", \"Moz\", \"ms\" ],\n\temptyStyle = document.createElement( \"div\" ).style,\n\tvendorProps = {};\n\n// Return a vendor-prefixed property or undefined\nfunction vendorPropName( name ) {\n\n\t// Check for vendor prefixed names\n\tvar capName = name[ 0 ].toUpperCase() + name.slice( 1 ),\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in emptyStyle ) {\n\t\t\treturn name;\n\t\t}\n\t}\n}\n\n// Return a potentially-mapped jQuery.cssProps or vendor prefixed property\nfunction finalPropName( name ) {\n\tvar final = jQuery.cssProps[ name ] || vendorProps[ name ];\n\n\tif ( final ) {\n\t\treturn final;\n\t}\n\tif ( name in emptyStyle ) {\n\t\treturn name;\n\t}\n\treturn vendorProps[ name ] = vendorPropName( name ) || name;\n}\n\n\nvar\n\n\t// Swappable if display is none or starts with table\n\t// except \"table\", \"table-cell\", or \"table-caption\"\n\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t};\n\nfunction setPositiveNumber( _elem, value, subtract ) {\n\n\t// Any relative (+/-) values have already been\n\t// normalized at this point\n\tvar matches = rcssNum.exec( value );\n\treturn matches ?\n\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {\n\tvar i = dimension === \"width\" ? 1 : 0,\n\t\textra = 0,\n\t\tdelta = 0,\n\t\tmarginDelta = 0;\n\n\t// Adjustment may not be necessary\n\tif ( box === ( isBorderBox ? \"border\" : \"content\" ) ) {\n\t\treturn 0;\n\t}\n\n\tfor ( ; i < 4; i += 2 ) {\n\n\t\t// Both box models exclude margin\n\t\t// Count margin delta separately to only add it after scroll gutter adjustment.\n\t\t// This is needed to make negative margins work with `outerHeight( true )` (gh-3982).\n\t\tif ( box === \"margin\" ) {\n\t\t\tmarginDelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\t// If we get here with a content-box, we're seeking \"padding\" or \"border\" or \"margin\"\n\t\tif ( !isBorderBox ) {\n\n\t\t\t// Add padding\n\t\t\tdelta += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// For \"border\" or \"margin\", add border\n\t\t\tif ( box !== \"padding\" ) {\n\t\t\t\tdelta += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\n\t\t\t// But still keep track of it otherwise\n\t\t\t} else {\n\t\t\t\textra += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\n\t\t// If we get here with a border-box (content + padding + border), we're seeking \"content\" or\n\t\t// \"padding\" or \"margin\"\n\t\t} else {\n\n\t\t\t// For \"content\", subtract padding\n\t\t\tif ( box === \"content\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// For \"content\" or \"padding\", subtract border\n\t\t\tif ( box !== \"margin\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Account for positive content-box scroll gutter when requested by providing computedVal\n\tif ( !isBorderBox && computedVal >= 0 ) {\n\n\t\t// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\n\t\t// Assuming integer scroll gutter, subtract the rest and round down\n\t\tdelta += Math.max( 0, Math.ceil(\n\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\tcomputedVal -\n\t\t\tdelta -\n\t\t\textra -\n\t\t\t0.5\n\n\t\t// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter\n\t\t// Use an explicit zero to avoid NaN (gh-3964)\n\t\t) ) || 0;\n\t}\n\n\treturn delta + marginDelta;\n}\n\nfunction getWidthOrHeight( elem, dimension, extra ) {\n\n\t// Start with computed style\n\tvar styles = getStyles( elem ),\n\n\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\n\t\t// Fake content-box until we know it's needed to know the true value.\n\t\tboxSizingNeeded = !support.boxSizingReliable() || extra,\n\t\tisBorderBox = boxSizingNeeded &&\n\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\tvalueIsBorderBox = isBorderBox,\n\n\t\tval = curCSS( elem, dimension, styles ),\n\t\toffsetProp = \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );\n\n\t// Support: Firefox <=54\n\t// Return a confounding non-pixel value or feign ignorance, as appropriate.\n\tif ( rnumnonpx.test( val ) ) {\n\t\tif ( !extra ) {\n\t\t\treturn val;\n\t\t}\n\t\tval = \"auto\";\n\t}\n\n\n\t// Support: IE 9 - 11 only\n\t// Use offsetWidth/offsetHeight for when box sizing is unreliable.\n\t// In those cases, the computed value can be trusted to be border-box.\n\tif ( ( !support.boxSizingReliable() && isBorderBox ||\n\n\t\t// Support: IE 10 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Interestingly, in some cases IE 9 doesn't suffer from this issue.\n\t\t!support.reliableTrDimensions() && nodeName( elem, \"tr\" ) ||\n\n\t\t// Fall back to offsetWidth/offsetHeight when value is \"auto\"\n\t\t// This happens for inline elements with no explicit setting (gh-3571)\n\t\tval === \"auto\" ||\n\n\t\t// Support: Android <=4.1 - 4.3 only\n\t\t// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\n\t\t!parseFloat( val ) && jQuery.css( elem, \"display\", false, styles ) === \"inline\" ) &&\n\n\t\t// Make sure the element is visible & connected\n\t\telem.getClientRects().length ) {\n\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t\t// Where available, offsetWidth/offsetHeight approximate border box dimensions.\n\t\t// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\n\t\t// retrieved value as a content box dimension.\n\t\tvalueIsBorderBox = offsetProp in elem;\n\t\tif ( valueIsBorderBox ) {\n\t\t\tval = elem[ offsetProp ];\n\t\t}\n\t}\n\n\t// Normalize \"\" and auto\n\tval = parseFloat( val ) || 0;\n\n\t// Adjust for the element's box model\n\treturn ( val +\n\t\tboxModelAdjustment(\n\t\t\telem,\n\t\t\tdimension,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles,\n\n\t\t\t// Provide the current computed size to request scroll gutter calculation (gh-3589)\n\t\t\tval\n\t\t)\n\t) + \"px\";\n}\n\njQuery.extend( {\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\tanimationIterationCount: true,\n\t\taspectRatio: true,\n\t\tborderImageSlice: true,\n\t\tcolumnCount: true,\n\t\tflexGrow: true,\n\t\tflexShrink: true,\n\t\tfontWeight: true,\n\t\tgridArea: true,\n\t\tgridColumn: true,\n\t\tgridColumnEnd: true,\n\t\tgridColumnStart: true,\n\t\tgridRow: true,\n\t\tgridRowEnd: true,\n\t\tgridRowStart: true,\n\t\tlineHeight: true,\n\t\topacity: true,\n\t\torder: true,\n\t\torphans: true,\n\t\tscale: true,\n\t\twidows: true,\n\t\tzIndex: true,\n\t\tzoom: true,\n\n\t\t// SVG-related\n\t\tfillOpacity: true,\n\t\tfloodOpacity: true,\n\t\tstopOpacity: true,\n\t\tstrokeMiterlimit: true,\n\t\tstrokeOpacity: true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name ),\n\t\t\tstyle = elem.style;\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to query the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Gets hook for the prefixed version, then unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (trac-7345)\n\t\t\tif ( type === \"string\" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {\n\t\t\t\tvalue = adjustCSS( elem, name, ret );\n\n\t\t\t\t// Fixes bug trac-9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set (trac-7116)\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number was passed in, add the unit (except for certain CSS properties)\n\t\t\t// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\n\t\t\t// \"px\" to a few hardcoded values.\n\t\t\tif ( type === \"number\" && !isCustomProp ) {\n\t\t\t\tvalue += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \"\" : \"px\" );\n\t\t\t}\n\n\t\t\t// background-* props affect original clone's values\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !( \"set\" in hooks ) ||\n\t\t\t\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\n\n\t\t\t\tif ( isCustomProp ) {\n\t\t\t\t\tstyle.setProperty( name, value );\n\t\t\t\t} else {\n\t\t\t\t\tstyle[ name ] = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks &&\n\t\t\t\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\n\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar val, num, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name );\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to modify the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Try prefixed name followed by the unprefixed name\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t// Convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Make numeric if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || isFinite( num ) ? num || 0 : val;\n\t\t}\n\n\t\treturn val;\n\t}\n} );\n\njQuery.each( [ \"height\", \"width\" ], function( _i, dimension ) {\n\tjQuery.cssHooks[ dimension ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// Certain elements can have dimension info if we invisibly show them\n\t\t\t\t// but it must have a current display style that would benefit\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) &&\n\n\t\t\t\t\t// Support: Safari 8+\n\t\t\t\t\t// Table columns in Safari have non-zero offsetWidth & zero\n\t\t\t\t\t// getBoundingClientRect().width unless display is changed.\n\t\t\t\t\t// Support: IE <=11 only\n\t\t\t\t\t// Running getBoundingClientRect on a disconnected node\n\t\t\t\t\t// in IE throws an error.\n\t\t\t\t\t( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?\n\t\t\t\t\tswap( elem, cssShow, function() {\n\t\t\t\t\t\treturn getWidthOrHeight( elem, dimension, extra );\n\t\t\t\t\t} ) :\n\t\t\t\t\tgetWidthOrHeight( elem, dimension, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar matches,\n\t\t\t\tstyles = getStyles( elem ),\n\n\t\t\t\t// Only read styles.position if the test has a chance to fail\n\t\t\t\t// to avoid forcing a reflow.\n\t\t\t\tscrollboxSizeBuggy = !support.scrollboxSize() &&\n\t\t\t\t\tstyles.position === \"absolute\",\n\n\t\t\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\n\t\t\t\tboxSizingNeeded = scrollboxSizeBuggy || extra,\n\t\t\t\tisBorderBox = boxSizingNeeded &&\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\tsubtract = extra ?\n\t\t\t\t\tboxModelAdjustment(\n\t\t\t\t\t\telem,\n\t\t\t\t\t\tdimension,\n\t\t\t\t\t\textra,\n\t\t\t\t\t\tisBorderBox,\n\t\t\t\t\t\tstyles\n\t\t\t\t\t) :\n\t\t\t\t\t0;\n\n\t\t\t// Account for unreliable border-box dimensions by comparing offset* to computed and\n\t\t\t// faking a content-box to get border and padding (gh-3699)\n\t\t\tif ( isBorderBox && scrollboxSizeBuggy ) {\n\t\t\t\tsubtract -= Math.ceil(\n\t\t\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\t\t\tparseFloat( styles[ dimension ] ) -\n\t\t\t\t\tboxModelAdjustment( elem, dimension, \"border\", false, styles ) -\n\t\t\t\t\t0.5\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Convert to pixels if value adjustment is needed\n\t\t\tif ( subtract && ( matches = rcssNum.exec( value ) ) &&\n\t\t\t\t( matches[ 3 ] || \"px\" ) !== \"px\" ) {\n\n\t\t\t\telem.style[ dimension ] = value;\n\t\t\t\tvalue = jQuery.css( elem, dimension );\n\t\t\t}\n\n\t\t\treturn setPositiveNumber( elem, value, subtract );\n\t\t}\n\t};\n} );\n\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn ( parseFloat( curCSS( elem, \"marginLeft\" ) ) ||\n\t\t\t\telem.getBoundingClientRect().left -\n\t\t\t\t\tswap( elem, { marginLeft: 0 }, function() {\n\t\t\t\t\t\treturn elem.getBoundingClientRect().left;\n\t\t\t\t\t} )\n\t\t\t) + \"px\";\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each( {\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// Assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split( \" \" ) : [ value ];\n\n\t\t\tfor ( ; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( prefix !== \"margin\" ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n} );\n\njQuery.fn.extend( {\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( Array.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t}\n} );\n\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || jQuery.easing._default;\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\t// Use a property on the element directly when it is not a DOM element,\n\t\t\t// or when there is no matching style property that exists.\n\t\t\tif ( tween.elem.nodeType !== 1 ||\n\t\t\t\ttween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// Passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails.\n\t\t\t// Simple values such as \"10px\" are parsed to Float;\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as-is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\n\t\t\t// Use step hook for back compat.\n\t\t\t// Use cssHook if its there.\n\t\t\t// Use .style if available and use plain properties where available.\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.nodeType === 1 && (\n\t\t\t\tjQuery.cssHooks[ tween.prop ] ||\n\t\t\t\t\ttween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE <=9 only\n// Panic based approach to setting things on disconnected nodes\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t},\n\t_default: \"swing\"\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back compat <1.8 extension point\njQuery.fx.step = {};\n\n\n\n\nvar\n\tfxNow, inProgress,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trrun = /queueHooks$/;\n\nfunction schedule() {\n\tif ( inProgress ) {\n\t\tif ( document.hidden === false && window.requestAnimationFrame ) {\n\t\t\twindow.requestAnimationFrame( schedule );\n\t\t} else {\n\t\t\twindow.setTimeout( schedule, jQuery.fx.interval );\n\t\t}\n\n\t\tjQuery.fx.tick();\n\t}\n}\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\twindow.setTimeout( function() {\n\t\tfxNow = undefined;\n\t} );\n\treturn ( fxNow = Date.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\ti = 0,\n\t\tattrs = { height: type };\n\n\t// If we include width, step value is 1 to do all cssExpand values,\n\t// otherwise step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i < 4; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index < length; index++ ) {\n\t\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\n\n\t\t\t// We're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\tvar prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,\n\t\tisBox = \"width\" in props || \"height\" in props,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType && isHiddenWithinTree( elem ),\n\t\tdataShow = dataPriv.get( elem, \"fxshow\" );\n\n\t// Queue-skipping animations hijack the fx hooks\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always( function() {\n\n\t\t\t// Ensure the complete handler is called before this completes\n\t\t\tanim.always( function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Detect show/hide animations\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.test( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// Pretend to be hidden if this is a \"show\" and\n\t\t\t\t// there is still data from a stopped show/hide\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\n\t\t\t\t// Ignore all other no-op show/hide data\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\n\t\t}\n\t}\n\n\t// Bail out if this is a no-op like .hide().hide()\n\tpropTween = !jQuery.isEmptyObject( props );\n\tif ( !propTween && jQuery.isEmptyObject( orig ) ) {\n\t\treturn;\n\t}\n\n\t// Restrict \"overflow\" and \"display\" styles during box animations\n\tif ( isBox && elem.nodeType === 1 ) {\n\n\t\t// Support: IE <=9 - 11, Edge 12 - 15\n\t\t// Record all 3 overflow attributes because IE does not infer the shorthand\n\t\t// from identically-valued overflowX and overflowY and Edge just mirrors\n\t\t// the overflowX value there.\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Identify a display type, preferring old show/hide data over the CSS cascade\n\t\trestoreDisplay = dataShow && dataShow.display;\n\t\tif ( restoreDisplay == null ) {\n\t\t\trestoreDisplay = dataPriv.get( elem, \"display\" );\n\t\t}\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\tif ( display === \"none\" ) {\n\t\t\tif ( restoreDisplay ) {\n\t\t\t\tdisplay = restoreDisplay;\n\t\t\t} else {\n\n\t\t\t\t// Get nonempty value(s) by temporarily forcing visibility\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t\trestoreDisplay = elem.style.display || restoreDisplay;\n\t\t\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\t\t\tshowHide( [ elem ] );\n\t\t\t}\n\t\t}\n\n\t\t// Animate inline elements as inline-block\n\t\tif ( display === \"inline\" || display === \"inline-block\" && restoreDisplay != null ) {\n\t\t\tif ( jQuery.css( elem, \"float\" ) === \"none\" ) {\n\n\t\t\t\t// Restore the original display value at the end of pure show/hide animations\n\t\t\t\tif ( !propTween ) {\n\t\t\t\t\tanim.done( function() {\n\t\t\t\t\t\tstyle.display = restoreDisplay;\n\t\t\t\t\t} );\n\t\t\t\t\tif ( restoreDisplay == null ) {\n\t\t\t\t\t\tdisplay = style.display;\n\t\t\t\t\t\trestoreDisplay = display === \"none\" ? \"\" : display;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstyle.display = \"inline-block\";\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tanim.always( function() {\n\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t} );\n\t}\n\n\t// Implement show/hide animations\n\tpropTween = false;\n\tfor ( prop in orig ) {\n\n\t\t// General show/hide setup for this element animation\n\t\tif ( !propTween ) {\n\t\t\tif ( dataShow ) {\n\t\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\t\thidden = dataShow.hidden;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdataShow = dataPriv.access( elem, \"fxshow\", { display: restoreDisplay } );\n\t\t\t}\n\n\t\t\t// Store hidden/visible for toggle so `.stop().toggle()` \"reverses\"\n\t\t\tif ( toggle ) {\n\t\t\t\tdataShow.hidden = !hidden;\n\t\t\t}\n\n\t\t\t// Show elements before animating them\n\t\t\tif ( hidden ) {\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t}\n\n\t\t\t/* eslint-disable no-loop-func */\n\n\t\t\tanim.done( function() {\n\n\t\t\t\t/* eslint-enable no-loop-func */\n\n\t\t\t\t// The final step of a \"hide\" animation is actually hiding the element\n\t\t\t\tif ( !hidden ) {\n\t\t\t\t\tshowHide( [ elem ] );\n\t\t\t\t}\n\t\t\t\tdataPriv.remove( elem, \"fxshow\" );\n\t\t\t\tfor ( prop in orig ) {\n\t\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Per-property setup\n\t\tpropTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\t\tif ( !( prop in dataShow ) ) {\n\t\t\tdataShow[ prop ] = propTween.start;\n\t\t\tif ( hidden ) {\n\t\t\t\tpropTween.end = propTween.start;\n\t\t\t\tpropTween.start = 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( Array.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// Not quite $.extend, this won't overwrite existing keys.\n\t\t\t// Reusing 'index' because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = Animation.prefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\n\t\t\t// Don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t} ),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\n\t\t\t\t// Support: Android 2.3 only\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\n\n\t\t\t// If there's more to do, yield\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t}\n\n\t\t\t// If this was an empty animation, synthesize a final progress notification\n\t\t\tif ( !length ) {\n\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t}\n\n\t\t\t// Resolve the animation and report its conclusion\n\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\treturn false;\n\t\t},\n\t\tanimation = deferred.promise( {\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, {\n\t\t\t\tspecialEasing: {},\n\t\t\t\teasing: jQuery.easing._default\n\t\t\t}, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\n\t\t\t\t\t// If we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// Resolve when we played the last frame; otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t} ),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length; index++ ) {\n\t\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\tif ( isFunction( result.stop ) ) {\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\n\t\t\t\t\tresult.stop.bind( result );\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\t// Attach callbacks from options\n\tanimation\n\t\t.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t} )\n\t);\n\n\treturn animation;\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\n\ttweeners: {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value );\n\t\t\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\n\t\t\treturn tween;\n\t\t} ]\n\t},\n\n\ttweener: function( props, callback ) {\n\t\tif ( isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.match( rnothtmlwhite );\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\n\t\t\tAnimation.tweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilters: [ defaultPrefilter ],\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tAnimation.prefilters.unshift( callback );\n\t\t} else {\n\t\t\tAnimation.prefilters.push( callback );\n\t\t}\n\t}\n} );\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tisFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !isFunction( easing ) && easing\n\t};\n\n\t// Go to the end state if fx are off\n\tif ( jQuery.fx.off ) {\n\t\topt.duration = 0;\n\n\t} else {\n\t\tif ( typeof opt.duration !== \"number\" ) {\n\t\t\tif ( opt.duration in jQuery.fx.speeds ) {\n\t\t\t\topt.duration = jQuery.fx.speeds[ opt.duration ];\n\n\t\t\t} else {\n\t\t\t\topt.duration = jQuery.fx.speeds._default;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend( {\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// Show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHiddenWithinTree ).css( \"opacity\", 0 ).show()\n\n\t\t\t// Animate to the value specified\n\t\t\t.end().animate( { opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || dataPriv.get( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\n\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = dataPriv.get( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this &&\n\t\t\t\t\t( type == null || timers[ index ].queue === type ) ) {\n\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start the next in the queue if the last step wasn't forced.\n\t\t\t// Timers currently will call their complete callbacks, which\n\t\t\t// will dequeue but only if they were gotoEnd.\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t} );\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tvar index,\n\t\t\t\tdata = dataPriv.get( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// Enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// Empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks && hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// Look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t} );\n\t}\n} );\n\njQuery.each( [ \"toggle\", \"show\", \"hide\" ], function( _i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n} );\n\n// Generate shortcuts for custom animations\njQuery.each( {\n\tslideDown: genFx( \"show\" ),\n\tslideUp: genFx( \"hide\" ),\n\tslideToggle: genFx( \"toggle\" ),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n} );\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ti = 0,\n\t\ttimers = jQuery.timers;\n\n\tfxNow = Date.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\n\t\t// Run the timer and safely remove it when done (allowing for external removal)\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tjQuery.fx.start();\n};\n\njQuery.fx.interval = 13;\njQuery.fx.start = function() {\n\tif ( inProgress ) {\n\t\treturn;\n\t}\n\n\tinProgress = true;\n\tschedule();\n};\n\njQuery.fx.stop = function() {\n\tinProgress = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\n\t// Default speed\n\t_default: 400\n};\n\n\n// Based off of the plugin by Clint Helfers, with permission.\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = window.setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\twindow.clearTimeout( timeout );\n\t\t};\n\t} );\n};\n\n\n( function() {\n\tvar input = document.createElement( \"input\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\tinput.type = \"checkbox\";\n\n\t// Support: Android <=4.3 only\n\t// Default value for a checkbox should be \"on\"\n\tsupport.checkOn = input.value !== \"\";\n\n\t// Support: IE <=11 only\n\t// Must access selectedIndex to make default options select\n\tsupport.optSelected = opt.selected;\n\n\t// Support: IE <=11 only\n\t// An input loses its value after becoming a radio\n\tinput = document.createElement( \"input\" );\n\tinput.value = \"t\";\n\tinput.type = \"radio\";\n\tsupport.radioValue = input.value === \"t\";\n} )();\n\n\nvar boolHook,\n\tattrHandle = jQuery.expr.attrHandle;\n\njQuery.fn.extend( {\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tattr: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set attributes on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// Attribute hooks are determined by the lowercase version\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\thooks = jQuery.attrHooks[ name.toLowerCase() ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\tret = jQuery.find.attr( elem, name );\n\n\t\t// Non-existent attributes return null, we normalize to undefined\n\t\treturn ret == null ? undefined : ret;\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\n\t\t\t\t\tnodeName( elem, \"input\" ) ) {\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name,\n\t\t\ti = 0,\n\n\t\t\t// Attribute names can contain non-HTML whitespace characters\n\t\t\t// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n\t\t\tattrNames = value && value.match( rnothtmlwhite );\n\n\t\tif ( attrNames && elem.nodeType === 1 ) {\n\t\t\twhile ( ( name = attrNames[ i++ ] ) ) {\n\t\t\t\telem.removeAttribute( name );\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\telem.setAttribute( name, name );\n\t\t}\n\t\treturn name;\n\t}\n};\n\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( _i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\tvar ret, handle,\n\t\t\tlowercaseName = name.toLowerCase();\n\n\t\tif ( !isXML ) {\n\n\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\thandle = attrHandle[ lowercaseName ];\n\t\t\tattrHandle[ lowercaseName ] = ret;\n\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\tlowercaseName :\n\t\t\t\tnull;\n\t\t\tattrHandle[ lowercaseName ] = handle;\n\t\t}\n\t\treturn ret;\n\t};\n} );\n\n\n\n\nvar rfocusable = /^(?:input|select|textarea|button)$/i,\n\trclickable = /^(?:a|area)$/i;\n\njQuery.fn.extend( {\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tdelete this[ jQuery.propFix[ name ] || name ];\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn ( elem[ name ] = value );\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn elem[ name ];\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\t// Support: IE <=9 - 11 only\n\t\t\t\t// elem.tabIndex doesn't always return the\n\t\t\t\t// correct value when it hasn't been explicitly set\n\t\t\t\t// Use proper attribute retrieval (trac-12072)\n\t\t\t\tvar tabindex = jQuery.find.attr( elem, \"tabindex\" );\n\n\t\t\t\tif ( tabindex ) {\n\t\t\t\t\treturn parseInt( tabindex, 10 );\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\trfocusable.test( elem.nodeName ) ||\n\t\t\t\t\trclickable.test( elem.nodeName ) &&\n\t\t\t\t\telem.href\n\t\t\t\t) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t}\n} );\n\n// Support: IE <=11 only\n// Accessing the selectedIndex property\n// forces the browser to respect setting selected\n// on the option\n// The getter ensures a default option is selected\n// when in an optgroup\n// eslint rule \"no-unused-expressions\" is disabled for this code\n// since it considers such accessions noop\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent && parent.parentNode ) {\n\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tset: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\njQuery.each( [\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n} );\n\n\n\n\n\t// Strip and collapse whitespace according to HTML spec\n\t// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\n\tfunction stripAndCollapse( value ) {\n\t\tvar tokens = value.match( rnothtmlwhite ) || [];\n\t\treturn tokens.join( \" \" );\n\t}\n\n\nfunction getClass( elem ) {\n\treturn elem.getAttribute && elem.getAttribute( \"class\" ) || \"\";\n}\n\nfunction classesToArray( value ) {\n\tif ( Array.isArray( value ) ) {\n\t\treturn value;\n\t}\n\tif ( typeof value === \"string\" ) {\n\t\treturn value.match( rnothtmlwhite ) || [];\n\t}\n\treturn [];\n}\n\njQuery.fn.extend( {\n\taddClass: function( value ) {\n\t\tvar classNames, cur, curValue, className, i, finalValue;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tclassNames = classesToArray( value );\n\n\t\tif ( classNames.length ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tcurValue = getClass( this );\n\t\t\t\tcur = this.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tfor ( i = 0; i < classNames.length; i++ ) {\n\t\t\t\t\t\tclassName = classNames[ i ];\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + className + \" \" ) < 0 ) {\n\t\t\t\t\t\t\tcur += className + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\tthis.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classNames, cur, curValue, className, i, finalValue;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( !arguments.length ) {\n\t\t\treturn this.attr( \"class\", \"\" );\n\t\t}\n\n\t\tclassNames = classesToArray( value );\n\n\t\tif ( classNames.length ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tcurValue = getClass( this );\n\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = this.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tfor ( i = 0; i < classNames.length; i++ ) {\n\t\t\t\t\t\tclassName = classNames[ i ];\n\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + className + \" \" ) > -1 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + className + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\tthis.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar classNames, className, i, self,\n\t\t\ttype = typeof value,\n\t\t\tisValidValue = type === \"string\" || Array.isArray( value );\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).toggleClass(\n\t\t\t\t\tvalue.call( this, i, getClass( this ), stateVal ),\n\t\t\t\t\tstateVal\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\tif ( typeof stateVal === \"boolean\" && isValidValue ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tclassNames = classesToArray( value );\n\n\t\treturn this.each( function() {\n\t\t\tif ( isValidValue ) {\n\n\t\t\t\t// Toggle individual class names\n\t\t\t\tself = jQuery( this );\n\n\t\t\t\tfor ( i = 0; i < classNames.length; i++ ) {\n\t\t\t\t\tclassName = classNames[ i ];\n\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( value === undefined || type === \"boolean\" ) {\n\t\t\t\tclassName = getClass( this );\n\t\t\t\tif ( className ) {\n\n\t\t\t\t\t// Store className if set\n\t\t\t\t\tdataPriv.set( this, \"__className__\", className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed `false`,\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tif ( this.setAttribute ) {\n\t\t\t\t\tthis.setAttribute( \"class\",\n\t\t\t\t\t\tclassName || value === false ?\n\t\t\t\t\t\t\t\"\" :\n\t\t\t\t\t\t\tdataPriv.get( this, \"__className__\" ) || \"\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className, elem,\n\t\t\ti = 0;\n\n\t\tclassName = \" \" + selector + \" \";\n\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\tif ( elem.nodeType === 1 &&\n\t\t\t\t( \" \" + stripAndCollapse( getClass( elem ) ) + \" \" ).indexOf( className ) > -1 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n} );\n\n\n\n\nvar rreturn = /\\r/g;\n\njQuery.fn.extend( {\n\tval: function( value ) {\n\t\tvar hooks, ret, valueIsFunction,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] ||\n\t\t\t\t\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks &&\n\t\t\t\t\t\"get\" in hooks &&\n\t\t\t\t\t( ret = hooks.get( elem, \"value\" ) ) !== undefined\n\t\t\t\t) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\t// Handle most common string cases\n\t\t\t\tif ( typeof ret === \"string\" ) {\n\t\t\t\t\treturn ret.replace( rreturn, \"\" );\n\t\t\t\t}\n\n\t\t\t\t// Handle cases where value is null/undef or number\n\t\t\t\treturn ret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tvalueIsFunction = isFunction( value );\n\n\t\treturn this.each( function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\n\t\t\t} else if ( Array.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !( \"set\" in hooks ) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\n\t\t\t\t\t// Support: IE <=10 - 11 only\n\t\t\t\t\t// option.text throws exceptions (trac-14686, trac-14858)\n\t\t\t\t\t// Strip and collapse whitespace\n\t\t\t\t\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n\t\t\t\t\tstripAndCollapse( jQuery.text( elem ) );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option, i,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\",\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length;\n\n\t\t\t\tif ( index < 0 ) {\n\t\t\t\t\ti = max;\n\n\t\t\t\t} else {\n\t\t\t\t\ti = one ? index : 0;\n\t\t\t\t}\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t// IE8-9 doesn't update selected after form reset (trac-2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t!option.disabled &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled ||\n\t\t\t\t\t\t\t\t!nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t/* eslint-disable no-cond-assign */\n\n\t\t\t\t\tif ( option.selected =\n\t\t\t\t\t\tjQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1\n\t\t\t\t\t) {\n\t\t\t\t\t\toptionSet = true;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* eslint-enable no-cond-assign */\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Radios and checkboxes getter/setter\njQuery.each( [ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( Array.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute( \"value\" ) === null ? \"on\" : elem.value;\n\t\t};\n\t}\n} );\n\n\n\n\n// Return jQuery for attributes-only inclusion\nvar location = window.location;\n\nvar nonce = { guid: Date.now() };\n\nvar rquery = ( /\\?/ );\n\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml, parserErrorElem;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\n\t// Support: IE 9 - 11 only\n\t// IE throws on parseFromString with invalid input.\n\ttry {\n\t\txml = ( new window.DOMParser() ).parseFromString( data, \"text/xml\" );\n\t} catch ( e ) {}\n\n\tparserErrorElem = xml && xml.getElementsByTagName( \"parsererror\" )[ 0 ];\n\tif ( !xml || parserErrorElem ) {\n\t\tjQuery.error( \"Invalid XML: \" + (\n\t\t\tparserErrorElem ?\n\t\t\t\tjQuery.map( parserErrorElem.childNodes, function( el ) {\n\t\t\t\t\treturn el.textContent;\n\t\t\t\t} ).join( \"\\n\" ) :\n\t\t\t\tdata\n\t\t) );\n\t}\n\treturn xml;\n};\n\n\nvar rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\tstopPropagationCallback = function( e ) {\n\t\te.stopPropagation();\n\t};\n\njQuery.extend( jQuery.event, {\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special, lastElement,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\n\n\t\tcur = lastElement = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( \".\" ) > -1 ) {\n\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split( \".\" );\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf( \":\" ) < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join( \".\" );\n\t\tevent.rnamespace = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (trac-9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tlastElement = cur;\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( dataPriv.get( cur, \"events\" ) || Object.create( null ) )[ event.type ] &&\n\t\t\t\tdataPriv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( ( !special._default ||\n\t\t\t\tspecial._default.apply( eventPath.pop(), data ) === false ) &&\n\t\t\t\tacceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (trac-6170)\n\t\t\t\tif ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.addEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\telem[ type ]();\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.removeEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\t// Piggyback on a donor event to simulate a different one\n\t// Used only for `focus(in | out)` events\n\tsimulate: function( type, elem, event ) {\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true\n\t\t\t}\n\t\t);\n\n\t\tjQuery.event.trigger( e, null, elem );\n\t}\n\n} );\n\njQuery.fn.extend( {\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t} );\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[ 0 ];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n} );\n\n\nvar\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( Array.isArray( obj ) ) {\n\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams(\n\t\t\t\t\tprefix + \"[\" + ( typeof v === \"object\" && v != null ? i : \"\" ) + \"]\",\n\t\t\t\t\tv,\n\t\t\t\t\ttraditional,\n\t\t\t\t\tadd\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t} else if ( !traditional && toType( obj ) === \"object\" ) {\n\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, valueOrFunction ) {\n\n\t\t\t// If value is a function, invoke it and use its return value\n\t\t\tvar value = isFunction( valueOrFunction ) ?\n\t\t\t\tvalueOrFunction() :\n\t\t\t\tvalueOrFunction;\n\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" +\n\t\t\t\tencodeURIComponent( value == null ? \"\" : value );\n\t\t};\n\n\tif ( a == null ) {\n\t\treturn \"\";\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t} );\n\n\t} else {\n\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" );\n};\n\njQuery.fn.extend( {\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map( function() {\n\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t} ).filter( function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is( \":disabled\" ) so that fieldset[disabled] works\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t} ).map( function( _i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\tif ( val == null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif ( Array.isArray( val ) ) {\n\t\t\t\treturn jQuery.map( val, function( val ) {\n\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t} ).get();\n\t}\n} );\n\n\nvar\n\tr20 = /%20/g,\n\trhash = /#.*$/,\n\trantiCache = /([?&])_=[^&]*/,\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n\n\t// trac-7653, trac-8125, trac-8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t * - BEFORE asking for a transport\n\t * - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Anchor tag for parsing the document origin\n\toriginAnchor = document.createElement( \"a\" );\n\noriginAnchor.href = location.href;\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];\n\n\t\tif ( isFunction( func ) ) {\n\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\n\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType[ 0 ] === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" &&\n\t\t\t\t!seekingTransport && !inspected[ dataTypeOrTransport ] ) {\n\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t} );\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes trac-9887\nfunction ajaxExtend( target, src ) {\n\tvar key, deep,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\n\tvar ct, type, finalDataType, firstDataType,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"Content-Type\" );\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[ 0 ] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s.throws ) {\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tstate: \"parsererror\",\n\t\t\t\t\t\t\t\terror: conv ? e : \"No conversion from \" + prev + \" to \" + current\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend( {\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: location.href,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( location.protocol ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /\\bxml\\b/,\n\t\t\thtml: /\\bhtml/,\n\t\t\tjson: /\\bjson\\b/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": JSON.parse,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar transport,\n\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\n\t\t\t// Response headers\n\t\t\tresponseHeadersString,\n\t\t\tresponseHeaders,\n\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\n\t\t\t// Url cleanup var\n\t\t\turlAnchor,\n\n\t\t\t// Request state (becomes false upon send and true upon completion)\n\t\t\tcompleted,\n\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\n\t\t\t// Loop variable\n\t\t\ti,\n\n\t\t\t// uncached part of the url\n\t\t\tuncached,\n\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context &&\n\t\t\t\t( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\tjQuery.event,\n\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\n\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( completed ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[ 1 ].toLowerCase() + \" \" ] =\n\t\t\t\t\t\t\t\t\t( responseHeaders[ match[ 1 ].toLowerCase() + \" \" ] || [] )\n\t\t\t\t\t\t\t\t\t\t.concat( match[ 2 ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() + \" \" ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match.join( \", \" );\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn completed ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\tname = requestHeadersNames[ name.toLowerCase() ] =\n\t\t\t\t\t\t\trequestHeadersNames[ name.toLowerCase() ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( completed ) {\n\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Lazy-add the new callbacks in a way that preserves old ones\n\t\t\t\t\t\t\tfor ( code in map ) {\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR );\n\n\t\t// Add protocol if not provided (prefilters might expect it)\n\t\t// Handle falsy url in the settings object (trac-10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || location.href ) + \"\" )\n\t\t\t.replace( rprotocol, location.protocol + \"//\" );\n\n\t\t// Alias method option to type as per ticket trac-12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = ( s.dataType || \"*\" ).toLowerCase().match( rnothtmlwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when the origin doesn't match the current origin.\n\t\tif ( s.crossDomain == null ) {\n\t\t\turlAnchor = document.createElement( \"a\" );\n\n\t\t\t// Support: IE <=8 - 11, Edge 12 - 15\n\t\t\t// IE throws exception on accessing the href property if url is malformed,\n\t\t\t// e.g. http://example.com:80x/\n\t\t\ttry {\n\t\t\t\turlAnchor.href = s.url;\n\n\t\t\t\t// Support: IE <=8 - 11 only\n\t\t\t\t// Anchor's host property isn't correctly set when s.url is relative\n\t\t\t\turlAnchor.href = urlAnchor.href;\n\t\t\t\ts.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !==\n\t\t\t\t\turlAnchor.protocol + \"//\" + urlAnchor.host;\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// If there is an error parsing the URL, assume it is crossDomain,\n\t\t\t\t// it can be rejected by the transport if it is invalid\n\t\t\t\ts.crossDomain = true;\n\t\t\t}\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( completed ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118)\n\t\tfireGlobals = jQuery.event && s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\t// Remove hash to simplify url manipulation\n\t\tcacheURL = s.url.replace( rhash, \"\" );\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// Remember the hash so we can put it back\n\t\t\tuncached = s.url.slice( cacheURL.length );\n\n\t\t\t// If data is available and should be processed, append data to url\n\t\t\tif ( s.data && ( s.processData || typeof s.data === \"string\" ) ) {\n\t\t\t\tcacheURL += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data;\n\n\t\t\t\t// trac-9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add or update anti-cache param if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\tcacheURL = cacheURL.replace( rantiCache, \"$1\" );\n\t\t\t\tuncached = ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + ( nonce.guid++ ) +\n\t\t\t\t\tuncached;\n\t\t\t}\n\n\t\t\t// Put hash and anti-cache on the URL that will be requested (gh-1732)\n\t\t\ts.url = cacheURL + uncached;\n\n\t\t// Change '%20' to '+' if this is encoded form body content (gh-2658)\n\t\t} else if ( s.data && s.processData &&\n\t\t\t( s.contentType || \"\" ).indexOf( \"application/x-www-form-urlencoded\" ) === 0 ) {\n\t\t\ts.data = s.data.replace( r20, \"+\" );\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[ 0 ] ] +\n\t\t\t\t\t( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend &&\n\t\t\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {\n\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// Aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tcompleteDeferred.add( s.complete );\n\t\tjqXHR.done( s.success );\n\t\tjqXHR.fail( s.error );\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\n\t\t\t// If request was aborted inside ajaxSend, stop there\n\t\t\tif ( completed ) {\n\t\t\t\treturn jqXHR;\n\t\t\t}\n\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = window.setTimeout( function() {\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tcompleted = false;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// Rethrow post-completion exceptions\n\t\t\t\tif ( completed ) {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\n\t\t\t\t// Propagate others as results\n\t\t\t\tdone( -1, e );\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Ignore repeat invocations\n\t\t\tif ( completed ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcompleted = true;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\twindow.clearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Use a noop converter for missing script but not if jsonp\n\t\t\tif ( !isSuccess &&\n\t\t\t\tjQuery.inArray( \"script\", s.dataTypes ) > -1 &&\n\t\t\t\tjQuery.inArray( \"json\", s.dataTypes ) < 0 ) {\n\t\t\t\ts.converters[ \"text script\" ] = function() {};\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"Last-Modified\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"etag\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Extract error from statusText and normalize for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n} );\n\njQuery.each( [ \"get\", \"post\" ], function( _i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\n\t\t// Shift arguments if data argument was omitted\n\t\tif ( isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\t// The url can be an options object (which then must have .url)\n\t\treturn jQuery.ajax( jQuery.extend( {\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t}, jQuery.isPlainObject( url ) && url ) );\n\t};\n} );\n\njQuery.ajaxPrefilter( function( s ) {\n\tvar i;\n\tfor ( i in s.headers ) {\n\t\tif ( i.toLowerCase() === \"content-type\" ) {\n\t\t\ts.contentType = s.headers[ i ] || \"\";\n\t\t}\n\t}\n} );\n\n\njQuery._evalUrl = function( url, options, doc ) {\n\treturn jQuery.ajax( {\n\t\turl: url,\n\n\t\t// Make this explicit, since user can override this through ajaxSetup (trac-11264)\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tcache: true,\n\t\tasync: false,\n\t\tglobal: false,\n\n\t\t// Only evaluate the response if it is successful (gh-4126)\n\t\t// dataFilter is not invoked for failure responses, so using it instead\n\t\t// of the default converter is kludgy but it works.\n\t\tconverters: {\n\t\t\t\"text script\": function() {}\n\t\t},\n\t\tdataFilter: function( response ) {\n\t\t\tjQuery.globalEval( response, options, doc );\n\t\t}\n\t} );\n};\n\n\njQuery.fn.extend( {\n\twrapAll: function( html ) {\n\t\tvar wrap;\n\n\t\tif ( this[ 0 ] ) {\n\t\t\tif ( isFunction( html ) ) {\n\t\t\t\thtml = html.call( this[ 0 ] );\n\t\t\t}\n\n\t\t\t// The elements to wrap the target around\n\t\t\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map( function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstElementChild ) {\n\t\t\t\t\telem = elem.firstElementChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t} ).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t} );\n\t},\n\n\twrap: function( html ) {\n\t\tvar htmlIsFunction = isFunction( html );\n\n\t\treturn this.each( function( i ) {\n\t\t\tjQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );\n\t\t} );\n\t},\n\n\tunwrap: function( selector ) {\n\t\tthis.parent( selector ).not( \"body\" ).each( function() {\n\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t} );\n\t\treturn this;\n\t}\n} );\n\n\njQuery.expr.pseudos.hidden = function( elem ) {\n\treturn !jQuery.expr.pseudos.visible( elem );\n};\njQuery.expr.pseudos.visible = function( elem ) {\n\treturn !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );\n};\n\n\n\n\njQuery.ajaxSettings.xhr = function() {\n\ttry {\n\t\treturn new window.XMLHttpRequest();\n\t} catch ( e ) {}\n};\n\nvar xhrSuccessStatus = {\n\n\t\t// File protocol always yields status code 0, assume 200\n\t\t0: 200,\n\n\t\t// Support: IE <=9 only\n\t\t// trac-1450: sometimes IE returns 1223 when it should be 204\n\t\t1223: 204\n\t},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\nsupport.ajax = xhrSupported = !!xhrSupported;\n\njQuery.ajaxTransport( function( options ) {\n\tvar callback, errorCallback;\n\n\t// Cross domain only allowed if supported through XMLHttpRequest\n\tif ( support.cors || xhrSupported && !options.crossDomain ) {\n\t\treturn {\n\t\t\tsend: function( headers, complete ) {\n\t\t\t\tvar i,\n\t\t\t\t\txhr = options.xhr();\n\n\t\t\t\txhr.open(\n\t\t\t\t\toptions.type,\n\t\t\t\t\toptions.url,\n\t\t\t\t\toptions.async,\n\t\t\t\t\toptions.username,\n\t\t\t\t\toptions.password\n\t\t\t\t);\n\n\t\t\t\t// Apply custom fields if provided\n\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Override mime type if needed\n\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t}\n\n\t\t\t\t// X-Requested-With header\n\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\tif ( !options.crossDomain && !headers[ \"X-Requested-With\" ] ) {\n\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\n\t\t\t\t}\n\n\t\t\t\t// Set headers\n\t\t\t\tfor ( i in headers ) {\n\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n\t\t\t\t}\n\n\t\t\t\t// Callback\n\t\t\t\tcallback = function( type ) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\tcallback = errorCallback = xhr.onload =\n\t\t\t\t\t\t\t\txhr.onerror = xhr.onabort = xhr.ontimeout =\n\t\t\t\t\t\t\t\t\txhr.onreadystatechange = null;\n\n\t\t\t\t\t\t\tif ( type === \"abort\" ) {\n\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t} else if ( type === \"error\" ) {\n\n\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t// On a manual native abort, IE9 throws\n\t\t\t\t\t\t\t\t// errors on any property access that is not readyState\n\t\t\t\t\t\t\t\tif ( typeof xhr.status !== \"number\" ) {\n\t\t\t\t\t\t\t\t\tcomplete( 0, \"error\" );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcomplete(\n\n\t\t\t\t\t\t\t\t\t\t// File: protocol always yields status 0; see trac-8605, trac-14207\n\t\t\t\t\t\t\t\t\t\txhr.status,\n\t\t\t\t\t\t\t\t\t\txhr.statusText\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText,\n\n\t\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t\t// IE9 has no XHR2 but throws on binary (trac-11426)\n\t\t\t\t\t\t\t\t\t// For XHR2 non-text, let the caller handle it (gh-2498)\n\t\t\t\t\t\t\t\t\t( xhr.responseType || \"text\" ) !== \"text\" ||\n\t\t\t\t\t\t\t\t\ttypeof xhr.responseText !== \"string\" ?\n\t\t\t\t\t\t\t\t\t\t{ binary: xhr.response } :\n\t\t\t\t\t\t\t\t\t\t{ text: xhr.responseText },\n\t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\t\t// Listen to events\n\t\t\t\txhr.onload = callback();\n\t\t\t\terrorCallback = xhr.onerror = xhr.ontimeout = callback( \"error\" );\n\n\t\t\t\t// Support: IE 9 only\n\t\t\t\t// Use onreadystatechange to replace onabort\n\t\t\t\t// to handle uncaught aborts\n\t\t\t\tif ( xhr.onabort !== undefined ) {\n\t\t\t\t\txhr.onabort = errorCallback;\n\t\t\t\t} else {\n\t\t\t\t\txhr.onreadystatechange = function() {\n\n\t\t\t\t\t\t// Check readyState before timeout as it changes\n\t\t\t\t\t\tif ( xhr.readyState === 4 ) {\n\n\t\t\t\t\t\t\t// Allow onerror to be called first,\n\t\t\t\t\t\t\t// but that will not handle a native abort\n\t\t\t\t\t\t\t// Also, save errorCallback to a variable\n\t\t\t\t\t\t\t// as xhr.onerror cannot be accessed\n\t\t\t\t\t\t\twindow.setTimeout( function() {\n\t\t\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\t\t\terrorCallback();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Create the abort callback\n\t\t\t\tcallback = callback( \"abort\" );\n\n\t\t\t\ttry {\n\n\t\t\t\t\t// Do send the request (this may raise an exception)\n\t\t\t\t\txhr.send( options.hasContent && options.data || null );\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// trac-14683: Only rethrow if this hasn't been notified as an error yet\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\n// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\njQuery.ajaxPrefilter( function( s ) {\n\tif ( s.crossDomain ) {\n\t\ts.contents.script = false;\n\t}\n} );\n\n// Install script dataType\njQuery.ajaxSetup( {\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, \" +\n\t\t\t\"application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /\\b(?:java|ecma)script\\b/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n} );\n\n// Handle cache's special case and crossDomain\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t}\n} );\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\n\t// This transport only deals with cross domain or forced-by-attrs requests\n\tif ( s.crossDomain || s.scriptAttrs ) {\n\t\tvar script, callback;\n\t\treturn {\n\t\t\tsend: function( _, complete ) {\n\t\t\t\tscript = jQuery( \"<script>\" )\n\t\t\t\t\t.attr( s.scriptAttrs || {} )\n\t\t\t\t\t.prop( { charset: s.scriptCharset, src: s.url } )\n\t\t\t\t\t.on( \"load error\", callback = function( evt ) {\n\t\t\t\t\t\tscript.remove();\n\t\t\t\t\t\tcallback = null;\n\t\t\t\t\t\tif ( evt ) {\n\t\t\t\t\t\t\tcomplete( evt.type === \"error\" ? 404 : 200, evt.type );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t// Use native DOM manipulation to avoid our domManip AJAX trickery\n\t\t\t\tdocument.head.appendChild( script[ 0 ] );\n\t\t\t},\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\nvar oldCallbacks = [],\n\trjsonp = /(=)\\?(?=&|$)|\\?\\?/;\n\n// Default jsonp settings\njQuery.ajaxSetup( {\n\tjsonp: \"callback\",\n\tjsonpCallback: function() {\n\t\tvar callback = oldCallbacks.pop() || ( jQuery.expando + \"_\" + ( nonce.guid++ ) );\n\t\tthis[ callback ] = true;\n\t\treturn callback;\n\t}\n} );\n\n// Detect, normalize options and install callbacks for jsonp requests\njQuery.ajaxPrefilter( \"json jsonp\", function( s, originalSettings, jqXHR ) {\n\n\tvar callbackName, overwritten, responseContainer,\n\t\tjsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?\n\t\t\t\"url\" :\n\t\t\ttypeof s.data === \"string\" &&\n\t\t\t\t( s.contentType || \"\" )\n\t\t\t\t\t.indexOf( \"application/x-www-form-urlencoded\" ) === 0 &&\n\t\t\t\trjsonp.test( s.data ) && \"data\"\n\t\t);\n\n\t// Handle iff the expected data type is \"jsonp\" or we have a parameter to set\n\tif ( jsonProp || s.dataTypes[ 0 ] === \"jsonp\" ) {\n\n\t\t// Get callback name, remembering preexisting value associated with it\n\t\tcallbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?\n\t\t\ts.jsonpCallback() :\n\t\t\ts.jsonpCallback;\n\n\t\t// Insert callback into url or form data\n\t\tif ( jsonProp ) {\n\t\t\ts[ jsonProp ] = s[ jsonProp ].replace( rjsonp, \"$1\" + callbackName );\n\t\t} else if ( s.jsonp !== false ) {\n\t\t\ts.url += ( rquery.test( s.url ) ? \"&\" : \"?\" ) + s.jsonp + \"=\" + callbackName;\n\t\t}\n\n\t\t// Use data converter to retrieve json after script execution\n\t\ts.converters[ \"script json\" ] = function() {\n\t\t\tif ( !responseContainer ) {\n\t\t\t\tjQuery.error( callbackName + \" was not called\" );\n\t\t\t}\n\t\t\treturn responseContainer[ 0 ];\n\t\t};\n\n\t\t// Force json dataType\n\t\ts.dataTypes[ 0 ] = \"json\";\n\n\t\t// Install callback\n\t\toverwritten = window[ callbackName ];\n\t\twindow[ callbackName ] = function() {\n\t\t\tresponseContainer = arguments;\n\t\t};\n\n\t\t// Clean-up function (fires after converters)\n\t\tjqXHR.always( function() {\n\n\t\t\t// If previous value didn't exist - remove it\n\t\t\tif ( overwritten === undefined ) {\n\t\t\t\tjQuery( window ).removeProp( callbackName );\n\n\t\t\t// Otherwise restore preexisting value\n\t\t\t} else {\n\t\t\t\twindow[ callbackName ] = overwritten;\n\t\t\t}\n\n\t\t\t// Save back as free\n\t\t\tif ( s[ callbackName ] ) {\n\n\t\t\t\t// Make sure that re-using the options doesn't screw things around\n\t\t\t\ts.jsonpCallback = originalSettings.jsonpCallback;\n\n\t\t\t\t// Save the callback name for future use\n\t\t\t\toldCallbacks.push( callbackName );\n\t\t\t}\n\n\t\t\t// Call if it was a function and we have a response\n\t\t\tif ( responseContainer && isFunction( overwritten ) ) {\n\t\t\t\toverwritten( responseContainer[ 0 ] );\n\t\t\t}\n\n\t\t\tresponseContainer = overwritten = undefined;\n\t\t} );\n\n\t\t// Delegate to script\n\t\treturn \"script\";\n\t}\n} );\n\n\n\n\n// Support: Safari 8 only\n// In Safari 8 documents created via document.implementation.createHTMLDocument\n// collapse sibling forms: the second one becomes a child of the first one.\n// Because of that, this security measure has to be disabled in Safari 8.\n// https://bugs.webkit.org/show_bug.cgi?id=137337\nsupport.createHTMLDocument = ( function() {\n\tvar body = document.implementation.createHTMLDocument( \"\" ).body;\n\tbody.innerHTML = \"<form></form><form></form>\";\n\treturn body.childNodes.length === 2;\n} )();\n\n\n// Argument \"data\" should be string of html\n// context (optional): If specified, the fragment will be created in this context,\n// defaults to document\n// keepScripts (optional): If true, will include scripts passed in the html string\njQuery.parseHTML = function( data, context, keepScripts ) {\n\tif ( typeof data !== \"string\" ) {\n\t\treturn [];\n\t}\n\tif ( typeof context === \"boolean\" ) {\n\t\tkeepScripts = context;\n\t\tcontext = false;\n\t}\n\n\tvar base, parsed, scripts;\n\n\tif ( !context ) {\n\n\t\t// Stop scripts or inline event handlers from being executed immediately\n\t\t// by using document.implementation\n\t\tif ( support.createHTMLDocument ) {\n\t\t\tcontext = document.implementation.createHTMLDocument( \"\" );\n\n\t\t\t// Set the base href for the created document\n\t\t\t// so any parsed elements with URLs\n\t\t\t// are based on the document's URL (gh-2965)\n\t\t\tbase = context.createElement( \"base\" );\n\t\t\tbase.href = document.location.href;\n\t\t\tcontext.head.appendChild( base );\n\t\t} else {\n\t\t\tcontext = document;\n\t\t}\n\t}\n\n\tparsed = rsingleTag.exec( data );\n\tscripts = !keepScripts && [];\n\n\t// Single tag\n\tif ( parsed ) {\n\t\treturn [ context.createElement( parsed[ 1 ] ) ];\n\t}\n\n\tparsed = buildFragment( [ data ], context, scripts );\n\n\tif ( scripts && scripts.length ) {\n\t\tjQuery( scripts ).remove();\n\t}\n\n\treturn jQuery.merge( [], parsed.childNodes );\n};\n\n\n/**\n * Load a url into a page\n */\njQuery.fn.load = function( url, params, callback ) {\n\tvar selector, type, response,\n\t\tself = this,\n\t\toff = url.indexOf( \" \" );\n\n\tif ( off > -1 ) {\n\t\tselector = stripAndCollapse( url.slice( off ) );\n\t\turl = url.slice( 0, off );\n\t}\n\n\t// If it's a function\n\tif ( isFunction( params ) ) {\n\n\t\t// We assume that it's the callback\n\t\tcallback = params;\n\t\tparams = undefined;\n\n\t// Otherwise, build a param string\n\t} else if ( params && typeof params === \"object\" ) {\n\t\ttype = \"POST\";\n\t}\n\n\t// If we have elements to modify, make the request\n\tif ( self.length > 0 ) {\n\t\tjQuery.ajax( {\n\t\t\turl: url,\n\n\t\t\t// If \"type\" variable is undefined, then \"GET\" method will be used.\n\t\t\t// Make value of this field explicit since\n\t\t\t// user can override it through ajaxSetup method\n\t\t\ttype: type || \"GET\",\n\t\t\tdataType: \"html\",\n\t\t\tdata: params\n\t\t} ).done( function( responseText ) {\n\n\t\t\t// Save response for use in complete callback\n\t\t\tresponse = arguments;\n\n\t\t\tself.html( selector ?\n\n\t\t\t\t// If a selector was specified, locate the right elements in a dummy div\n\t\t\t\t// Exclude scripts to avoid IE 'Permission Denied' errors\n\t\t\t\tjQuery( \"<div>\" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :\n\n\t\t\t\t// Otherwise use the full result\n\t\t\t\tresponseText );\n\n\t\t// If the request succeeds, this function gets \"data\", \"status\", \"jqXHR\"\n\t\t// but they are ignored because response was set above.\n\t\t// If it fails, this function gets \"jqXHR\", \"status\", \"error\"\n\t\t} ).always( callback && function( jqXHR, status ) {\n\t\t\tself.each( function() {\n\t\t\t\tcallback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );\n\t\t\t} );\n\t\t} );\n\t}\n\n\treturn this;\n};\n\n\n\n\njQuery.expr.pseudos.animated = function( elem ) {\n\treturn jQuery.grep( jQuery.timers, function( fn ) {\n\t\treturn elem === fn.elem;\n\t} ).length;\n};\n\n\n\n\njQuery.offset = {\n\tsetOffset: function( elem, options, i ) {\n\t\tvar curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,\n\t\t\tposition = jQuery.css( elem, \"position\" ),\n\t\t\tcurElem = jQuery( elem ),\n\t\t\tprops = {};\n\n\t\t// Set position first, in-case top/left are set even on static elem\n\t\tif ( position === \"static\" ) {\n\t\t\telem.style.position = \"relative\";\n\t\t}\n\n\t\tcurOffset = curElem.offset();\n\t\tcurCSSTop = jQuery.css( elem, \"top\" );\n\t\tcurCSSLeft = jQuery.css( elem, \"left\" );\n\t\tcalculatePosition = ( position === \"absolute\" || position === \"fixed\" ) &&\n\t\t\t( curCSSTop + curCSSLeft ).indexOf( \"auto\" ) > -1;\n\n\t\t// Need to be able to calculate position if either\n\t\t// top or left is auto and position is either absolute or fixed\n\t\tif ( calculatePosition ) {\n\t\t\tcurPosition = curElem.position();\n\t\t\tcurTop = curPosition.top;\n\t\t\tcurLeft = curPosition.left;\n\n\t\t} else {\n\t\t\tcurTop = parseFloat( curCSSTop ) || 0;\n\t\t\tcurLeft = parseFloat( curCSSLeft ) || 0;\n\t\t}\n\n\t\tif ( isFunction( options ) ) {\n\n\t\t\t// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)\n\t\t\toptions = options.call( elem, i, jQuery.extend( {}, curOffset ) );\n\t\t}\n\n\t\tif ( options.top != null ) {\n\t\t\tprops.top = ( options.top - curOffset.top ) + curTop;\n\t\t}\n\t\tif ( options.left != null ) {\n\t\t\tprops.left = ( options.left - curOffset.left ) + curLeft;\n\t\t}\n\n\t\tif ( \"using\" in options ) {\n\t\t\toptions.using.call( elem, props );\n\n\t\t} else {\n\t\t\tcurElem.css( props );\n\t\t}\n\t}\n};\n\njQuery.fn.extend( {\n\n\t// offset() relates an element's border box to the document origin\n\toffset: function( options ) {\n\n\t\t// Preserve chaining for setter\n\t\tif ( arguments.length ) {\n\t\t\treturn options === undefined ?\n\t\t\t\tthis :\n\t\t\t\tthis.each( function( i ) {\n\t\t\t\t\tjQuery.offset.setOffset( this, options, i );\n\t\t\t\t} );\n\t\t}\n\n\t\tvar rect, win,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !elem ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Return zeros for disconnected and hidden (display: none) elements (gh-2310)\n\t\t// Support: IE <=11 only\n\t\t// Running getBoundingClientRect on a\n\t\t// disconnected node in IE throws an error\n\t\tif ( !elem.getClientRects().length ) {\n\t\t\treturn { top: 0, left: 0 };\n\t\t}\n\n\t\t// Get document-relative position by adding viewport scroll to viewport-relative gBCR\n\t\trect = elem.getBoundingClientRect();\n\t\twin = elem.ownerDocument.defaultView;\n\t\treturn {\n\t\t\ttop: rect.top + win.pageYOffset,\n\t\t\tleft: rect.left + win.pageXOffset\n\t\t};\n\t},\n\n\t// position() relates an element's margin box to its offset parent's padding box\n\t// This corresponds to the behavior of CSS absolute positioning\n\tposition: function() {\n\t\tif ( !this[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar offsetParent, offset, doc,\n\t\t\telem = this[ 0 ],\n\t\t\tparentOffset = { top: 0, left: 0 };\n\n\t\t// position:fixed elements are offset from the viewport, which itself always has zero offset\n\t\tif ( jQuery.css( elem, \"position\" ) === \"fixed\" ) {\n\n\t\t\t// Assume position:fixed implies availability of getBoundingClientRect\n\t\t\toffset = elem.getBoundingClientRect();\n\n\t\t} else {\n\t\t\toffset = this.offset();\n\n\t\t\t// Account for the *real* offset parent, which can be the document or its root element\n\t\t\t// when a statically positioned element is identified\n\t\t\tdoc = elem.ownerDocument;\n\t\t\toffsetParent = elem.offsetParent || doc.documentElement;\n\t\t\twhile ( offsetParent &&\n\t\t\t\t( offsetParent === doc.body || offsetParent === doc.documentElement ) &&\n\t\t\t\tjQuery.css( offsetParent, \"position\" ) === \"static\" ) {\n\n\t\t\t\toffsetParent = offsetParent.parentNode;\n\t\t\t}\n\t\t\tif ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {\n\n\t\t\t\t// Incorporate borders into its offset, since they are outside its content origin\n\t\t\t\tparentOffset = jQuery( offsetParent ).offset();\n\t\t\t\tparentOffset.top += jQuery.css( offsetParent, \"borderTopWidth\", true );\n\t\t\t\tparentOffset.left += jQuery.css( offsetParent, \"borderLeftWidth\", true );\n\t\t\t}\n\t\t}\n\n\t\t// Subtract parent offsets and element margins\n\t\treturn {\n\t\t\ttop: offset.top - parentOffset.top - jQuery.css( elem, \"marginTop\", true ),\n\t\t\tleft: offset.left - parentOffset.left - jQuery.css( elem, \"marginLeft\", true )\n\t\t};\n\t},\n\n\t// This method will return documentElement in the following cases:\n\t// 1) For the element inside the iframe without offsetParent, this method will return\n\t// documentElement of the parent window\n\t// 2) For the hidden or detached element\n\t// 3) For body or html element, i.e. in case of the html node - it will return itself\n\t//\n\t// but those exceptions were never presented as a real life use-cases\n\t// and might be considered as more preferable results.\n\t//\n\t// This logic, however, is not guaranteed and can change at any point in the future\n\toffsetParent: function() {\n\t\treturn this.map( function() {\n\t\t\tvar offsetParent = this.offsetParent;\n\n\t\t\twhile ( offsetParent && jQuery.css( offsetParent, \"position\" ) === \"static\" ) {\n\t\t\t\toffsetParent = offsetParent.offsetParent;\n\t\t\t}\n\n\t\t\treturn offsetParent || documentElement;\n\t\t} );\n\t}\n} );\n\n// Create scrollLeft and scrollTop methods\njQuery.each( { scrollLeft: \"pageXOffset\", scrollTop: \"pageYOffset\" }, function( method, prop ) {\n\tvar top = \"pageYOffset\" === prop;\n\n\tjQuery.fn[ method ] = function( val ) {\n\t\treturn access( this, function( elem, method, val ) {\n\n\t\t\t// Coalesce documents and windows\n\t\t\tvar win;\n\t\t\tif ( isWindow( elem ) ) {\n\t\t\t\twin = elem;\n\t\t\t} else if ( elem.nodeType === 9 ) {\n\t\t\t\twin = elem.defaultView;\n\t\t\t}\n\n\t\t\tif ( val === undefined ) {\n\t\t\t\treturn win ? win[ prop ] : elem[ method ];\n\t\t\t}\n\n\t\t\tif ( win ) {\n\t\t\t\twin.scrollTo(\n\t\t\t\t\t!top ? val : win.pageXOffset,\n\t\t\t\t\ttop ? val : win.pageYOffset\n\t\t\t\t);\n\n\t\t\t} else {\n\t\t\t\telem[ method ] = val;\n\t\t\t}\n\t\t}, method, val, arguments.length );\n\t};\n} );\n\n// Support: Safari <=7 - 9.1, Chrome <=37 - 49\n// Add the top/left cssHooks using jQuery.fn.position\n// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084\n// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347\n// getComputedStyle returns percent when specified for top/left/bottom/right;\n// rather than make the css module depend on the offset module, just check for it here\njQuery.each( [ \"top\", \"left\" ], function( _i, prop ) {\n\tjQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,\n\t\tfunction( elem, computed ) {\n\t\t\tif ( computed ) {\n\t\t\t\tcomputed = curCSS( elem, prop );\n\n\t\t\t\t// If curCSS returns percentage, fallback to offset\n\t\t\t\treturn rnumnonpx.test( computed ) ?\n\t\t\t\t\tjQuery( elem ).position()[ prop ] + \"px\" :\n\t\t\t\t\tcomputed;\n\t\t\t}\n\t\t}\n\t);\n} );\n\n\n// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods\njQuery.each( { Height: \"height\", Width: \"width\" }, function( name, type ) {\n\tjQuery.each( {\n\t\tpadding: \"inner\" + name,\n\t\tcontent: type,\n\t\t\"\": \"outer\" + name\n\t}, function( defaultExtra, funcName ) {\n\n\t\t// Margin is only for outerHeight, outerWidth\n\t\tjQuery.fn[ funcName ] = function( margin, value ) {\n\t\t\tvar chainable = arguments.length && ( defaultExtra || typeof margin !== \"boolean\" ),\n\t\t\t\textra = defaultExtra || ( margin === true || value === true ? \"margin\" : \"border\" );\n\n\t\t\treturn access( this, function( elem, type, value ) {\n\t\t\t\tvar doc;\n\n\t\t\t\tif ( isWindow( elem ) ) {\n\n\t\t\t\t\t// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)\n\t\t\t\t\treturn funcName.indexOf( \"outer\" ) === 0 ?\n\t\t\t\t\t\telem[ \"inner\" + name ] :\n\t\t\t\t\t\telem.document.documentElement[ \"client\" + name ];\n\t\t\t\t}\n\n\t\t\t\t// Get document width or height\n\t\t\t\tif ( elem.nodeType === 9 ) {\n\t\t\t\t\tdoc = elem.documentElement;\n\n\t\t\t\t\t// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],\n\t\t\t\t\t// whichever is greatest\n\t\t\t\t\treturn Math.max(\n\t\t\t\t\t\telem.body[ \"scroll\" + name ], doc[ \"scroll\" + name ],\n\t\t\t\t\t\telem.body[ \"offset\" + name ], doc[ \"offset\" + name ],\n\t\t\t\t\t\tdoc[ \"client\" + name ]\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn value === undefined ?\n\n\t\t\t\t\t// Get width or height on the element, requesting but not forcing parseFloat\n\t\t\t\t\tjQuery.css( elem, type, extra ) :\n\n\t\t\t\t\t// Set width or height on the element\n\t\t\t\t\tjQuery.style( elem, type, value, extra );\n\t\t\t}, type, chainable ? margin : undefined, chainable );\n\t\t};\n\t} );\n} );\n\n\njQuery.each( [\n\t\"ajaxStart\",\n\t\"ajaxStop\",\n\t\"ajaxComplete\",\n\t\"ajaxError\",\n\t\"ajaxSuccess\",\n\t\"ajaxSend\"\n], function( _i, type ) {\n\tjQuery.fn[ type ] = function( fn ) {\n\t\treturn this.on( type, fn );\n\t};\n} );\n\n\n\n\njQuery.fn.extend( {\n\n\tbind: function( types, data, fn ) {\n\t\treturn this.on( types, null, data, fn );\n\t},\n\tunbind: function( types, fn ) {\n\t\treturn this.off( types, null, fn );\n\t},\n\n\tdelegate: function( selector, types, data, fn ) {\n\t\treturn this.on( types, selector, data, fn );\n\t},\n\tundelegate: function( selector, types, fn ) {\n\n\t\t// ( namespace ) or ( selector, types [, fn] )\n\t\treturn arguments.length === 1 ?\n\t\t\tthis.off( selector, \"**\" ) :\n\t\t\tthis.off( types, selector || \"**\", fn );\n\t},\n\n\thover: function( fnOver, fnOut ) {\n\t\treturn this\n\t\t\t.on( \"mouseenter\", fnOver )\n\t\t\t.on( \"mouseleave\", fnOut || fnOver );\n\t}\n} );\n\njQuery.each(\n\t( \"blur focus focusin focusout resize scroll click dblclick \" +\n\t\"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave \" +\n\t\"change select submit keydown keypress keyup contextmenu\" ).split( \" \" ),\n\tfunction( _i, name ) {\n\n\t\t// Handle event binding\n\t\tjQuery.fn[ name ] = function( data, fn ) {\n\t\t\treturn arguments.length > 0 ?\n\t\t\t\tthis.on( name, null, data, fn ) :\n\t\t\t\tthis.trigger( name );\n\t\t};\n\t}\n);\n\n\n\n\n// Support: Android <=4.0 only\n// Make sure we trim BOM and NBSP\n// Require that the \"whitespace run\" starts from a non-whitespace\n// to avoid O(N^2) behavior when the engine would try matching \"\\s+$\" at each space position.\nvar rtrim = /^[\\s\\uFEFF\\xA0]+|([^\\s\\uFEFF\\xA0])[\\s\\uFEFF\\xA0]+$/g;\n\n// Bind a function to a context, optionally partially applying any\n// arguments.\n// jQuery.proxy is deprecated to promote standards (specifically Function#bind)\n// However, it is not slated for removal any time soon\njQuery.proxy = function( fn, context ) {\n\tvar tmp, args, proxy;\n\n\tif ( typeof context === \"string\" ) {\n\t\ttmp = fn[ context ];\n\t\tcontext = fn;\n\t\tfn = tmp;\n\t}\n\n\t// Quick check to determine if target is callable, in the spec\n\t// this throws a TypeError, but we will just return undefined.\n\tif ( !isFunction( fn ) ) {\n\t\treturn undefined;\n\t}\n\n\t// Simulated bind\n\targs = slice.call( arguments, 2 );\n\tproxy = function() {\n\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t};\n\n\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\treturn proxy;\n};\n\njQuery.holdReady = function( hold ) {\n\tif ( hold ) {\n\t\tjQuery.readyWait++;\n\t} else {\n\t\tjQuery.ready( true );\n\t}\n};\njQuery.isArray = Array.isArray;\njQuery.parseJSON = JSON.parse;\njQuery.nodeName = nodeName;\njQuery.isFunction = isFunction;\njQuery.isWindow = isWindow;\njQuery.camelCase = camelCase;\njQuery.type = toType;\n\njQuery.now = Date.now;\n\njQuery.isNumeric = function( obj ) {\n\n\t// As of jQuery 3.0, isNumeric is limited to\n\t// strings and numbers (primitives or objects)\n\t// that can be coerced to finite numbers (gh-2662)\n\tvar type = jQuery.type( obj );\n\treturn ( type === \"number\" || type === \"string\" ) &&\n\n\t\t// parseFloat NaNs numeric-cast false positives (\"\")\n\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t// subtraction forces infinities to NaN\n\t\t!isNaN( obj - parseFloat( obj ) );\n};\n\njQuery.trim = function( text ) {\n\treturn text == null ?\n\t\t\"\" :\n\t\t( text + \"\" ).replace( rtrim, \"$1\" );\n};\n\n\n\n// Register as a named AMD module, since jQuery can be concatenated with other\n// files that may use define, but not via a proper concatenation script that\n// understands anonymous AMD modules. A named AMD is safest and most robust\n// way to register. Lowercase jquery is used because AMD module names are\n// derived from file names, and jQuery is normally delivered in a lowercase\n// file name. Do this after creating the global so that if an AMD module wants\n// to call noConflict to hide this version of jQuery, it will work.\n\n// Note that for maximum portability, libraries that are not jQuery should\n// declare themselves as anonymous modules, and avoid setting a global if an\n// AMD loader is present. jQuery is a special case. For more information, see\n// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon\n\nif ( typeof define === \"function\" && define.amd ) {\n\tdefine( \"jquery\", [], function() {\n\t\treturn jQuery;\n\t} );\n}\n\n\n\n\nvar\n\n\t// Map over jQuery in case of overwrite\n\t_jQuery = window.jQuery,\n\n\t// Map over the $ in case of overwrite\n\t_$ = window.$;\n\njQuery.noConflict = function( deep ) {\n\tif ( window.$ === jQuery ) {\n\t\twindow.$ = _$;\n\t}\n\n\tif ( deep && window.jQuery === jQuery ) {\n\t\twindow.jQuery = _jQuery;\n\t}\n\n\treturn jQuery;\n};\n\n// Expose jQuery and $ identifiers, even in AMD\n// (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557)\n// and CommonJS for browser emulators (trac-13566)\nif ( typeof noGlobal === \"undefined\" ) {\n\twindow.jQuery = window.$ = jQuery;\n}\n\n\n\n\nreturn jQuery;\n} );\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pullAllChildren = exports.pullConfigComponents = exports.isFragment = void 0;\nvar vue_helper_1 = require(\"./vue-helper\");\nfunction pullAllChildren(directChildren, allChildren, config) {\n if (!directChildren || directChildren.length === 0) {\n return;\n }\n pullConfigComponents(directChildren, allChildren, config);\n}\nexports.pullAllChildren = pullAllChildren;\nfunction isFragment(node) {\n var patchFlag = node.patchFlag;\n return patchFlag === 128 /* PatchFlags.KEYED_FRAGMENT */\n || patchFlag === 256 /* PatchFlags.UNKEYED_FRAGMENT */\n || patchFlag === 64 /* PatchFlags.STABLE_FRAGMENT */\n || patchFlag === -2 /* PatchFlags.BAIL */;\n}\nexports.isFragment = isFragment;\nfunction pullConfigComponents(children, nodes, ownerConfig) {\n children.forEach(function (node) {\n if (isFragment(node) && Array.isArray(node.children)) {\n pullConfigComponents(node.children, nodes, ownerConfig);\n }\n if (!isFragment(node)) {\n nodes.push(node);\n }\n if (!node) {\n return;\n }\n var componentInfo = (0, vue_helper_1.getComponentInfo)(node);\n if (!componentInfo || !componentInfo.$_optionName) {\n return;\n }\n var componentChildren = (0, vue_helper_1.configurationChildren)(node);\n var initialValues = __assign(__assign({}, componentInfo.$_predefinedProps), (0, vue_helper_1.getNormalizedProps)(node.props || {}));\n var config = ownerConfig.createNested(componentInfo.$_optionName, initialValues, componentInfo.$_isCollectionItem, componentInfo.$_expectedChildren);\n node.$_config = config;\n node.$_innerChanges = {};\n if (componentChildren) {\n pullConfigComponents(componentChildren, nodes, config);\n }\n });\n}\nexports.pullConfigComponents = pullConfigComponents;\n","/**\r\n * DevExtreme (esm/core/utils/callbacks.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar Callback = function(options) {\r\n this._options = options || {};\r\n this._list = [];\r\n this._queue = [];\r\n this._firing = false;\r\n this._fired = false;\r\n this._firingIndexes = []\r\n};\r\nCallback.prototype._fireCore = function(context, args) {\r\n var firingIndexes = this._firingIndexes;\r\n var list = this._list;\r\n var stopOnFalse = this._options.stopOnFalse;\r\n var step = firingIndexes.length;\r\n for (firingIndexes[step] = 0; firingIndexes[step] < list.length; firingIndexes[step]++) {\r\n var result = list[firingIndexes[step]].apply(context, args);\r\n if (false === result && stopOnFalse) {\r\n break\r\n }\r\n }\r\n firingIndexes.pop()\r\n};\r\nCallback.prototype.add = function(fn) {\r\n if (\"function\" === typeof fn && (!this._options.unique || !this.has(fn))) {\r\n this._list.push(fn)\r\n }\r\n return this\r\n};\r\nCallback.prototype.remove = function(fn) {\r\n var list = this._list;\r\n var firingIndexes = this._firingIndexes;\r\n var index = list.indexOf(fn);\r\n if (index > -1) {\r\n list.splice(index, 1);\r\n if (this._firing && firingIndexes.length) {\r\n for (var step = 0; step < firingIndexes.length; step++) {\r\n if (index <= firingIndexes[step]) {\r\n firingIndexes[step]--\r\n }\r\n }\r\n }\r\n }\r\n return this\r\n};\r\nCallback.prototype.has = function(fn) {\r\n var list = this._list;\r\n return fn ? list.indexOf(fn) > -1 : !!list.length\r\n};\r\nCallback.prototype.empty = function(fn) {\r\n this._list = [];\r\n return this\r\n};\r\nCallback.prototype.fireWith = function(context, args) {\r\n var queue = this._queue;\r\n args = args || [];\r\n args = args.slice ? args.slice() : args;\r\n if (this._options.syncStrategy) {\r\n this._firing = true;\r\n this._fireCore(context, args)\r\n } else {\r\n queue.push([context, args]);\r\n if (this._firing) {\r\n return\r\n }\r\n this._firing = true;\r\n while (queue.length) {\r\n var memory = queue.shift();\r\n this._fireCore(memory[0], memory[1])\r\n }\r\n }\r\n this._firing = false;\r\n this._fired = true;\r\n return this\r\n};\r\nCallback.prototype.fire = function() {\r\n this.fireWith(this, arguments)\r\n};\r\nCallback.prototype.fired = function() {\r\n return this._fired\r\n};\r\nvar Callbacks = function(options) {\r\n return new Callback(options)\r\n};\r\nexport default Callbacks;\r\n","import './VIcon.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Sizeable from '../../mixins/sizeable'\nimport Themeable from '../../mixins/themeable'\n\n// Util\nimport { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'\n\n// Types\nimport Vue, { CreateElement, VNode, VNodeChildren, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { VuetifyIcon, VuetifyIconComponent } from 'vuetify/types/services/icons'\n\nenum SIZE_MAP {\n xSmall = '12px',\n small = '16px',\n default = '24px',\n medium = '28px',\n large = '36px',\n xLarge = '40px'\n}\n\nfunction isFontAwesome5 (iconType: string): boolean {\n return ['fas', 'far', 'fal', 'fab', 'fad', 'fak'].some(val => iconType.includes(val))\n}\n\nfunction isSvgPath (icon: string): boolean {\n return (/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(icon) && /[\\dz]$/i.test(icon) && icon.length > 4)\n}\n\nconst VIcon = mixins(\n BindsAttrs,\n Colorable,\n Sizeable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-icon',\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n left: Boolean,\n right: Boolean,\n size: [Number, String],\n tag: {\n type: String,\n required: false,\n default: 'i',\n },\n },\n\n computed: {\n medium () {\n return false\n },\n hasClickListener (): boolean {\n return Boolean(\n this.listeners$.click || this.listeners$['!click']\n )\n },\n },\n\n methods: {\n getIcon (): VuetifyIcon {\n let iconName = ''\n if (this.$slots.default) iconName = this.$slots.default[0].text!.trim()\n\n return remapInternalIcon(this, iconName)\n },\n getSize (): string | undefined {\n const sizes = {\n xSmall: this.xSmall,\n small: this.small,\n medium: this.medium,\n large: this.large,\n xLarge: this.xLarge,\n }\n\n const explicitSize = keys(sizes).find(key => sizes[key])\n\n return (\n (explicitSize && SIZE_MAP[explicitSize]) || convertToUnit(this.size)\n )\n },\n // Component data for both font icon and SVG wrapper span\n getDefaultData (): VNodeData {\n return {\n staticClass: 'v-icon notranslate',\n class: {\n 'v-icon--disabled': this.disabled,\n 'v-icon--left': this.left,\n 'v-icon--link': this.hasClickListener,\n 'v-icon--right': this.right,\n 'v-icon--dense': this.dense,\n },\n attrs: {\n 'aria-hidden': !this.hasClickListener,\n disabled: this.hasClickListener && this.disabled,\n type: this.hasClickListener ? 'button' : undefined,\n ...this.attrs$,\n },\n on: this.listeners$,\n }\n },\n getSvgWrapperData () {\n const fontSize = this.getSize()\n const wrapperData = {\n ...this.getDefaultData(),\n style: fontSize ? {\n fontSize,\n height: fontSize,\n width: fontSize,\n } : undefined,\n }\n this.applyColors(wrapperData)\n\n return wrapperData\n },\n applyColors (data: VNodeData): void {\n data.class = { ...data.class, ...this.themeClasses }\n this.setTextColor(this.color, data)\n },\n renderFontIcon (icon: string, h: CreateElement): VNode {\n const newChildren: VNodeChildren = []\n const data = this.getDefaultData()\n\n let iconType = 'material-icons'\n // Material Icon delimiter is _\n // https://material.io/icons/\n const delimiterIndex = icon.indexOf('-')\n const isMaterialIcon = delimiterIndex <= -1\n\n if (isMaterialIcon) {\n // Material icon uses ligatures.\n newChildren.push(icon)\n } else {\n iconType = icon.slice(0, delimiterIndex)\n if (isFontAwesome5(iconType)) iconType = ''\n }\n\n data.class[iconType] = true\n data.class[icon] = !isMaterialIcon\n\n const fontSize = this.getSize()\n if (fontSize) data.style = { fontSize }\n\n this.applyColors(data)\n\n return h(this.hasClickListener ? 'button' : this.tag, data, newChildren)\n },\n renderSvgIcon (icon: string, h: CreateElement): VNode {\n const svgData: VNodeData = {\n class: 'v-icon__svg',\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n role: 'img',\n 'aria-hidden': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n svgData.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h('svg', svgData, [\n h('path', {\n attrs: {\n d: icon,\n },\n }),\n ]),\n ])\n },\n renderSvgIconComponent (\n icon: VuetifyIconComponent,\n h: CreateElement\n ): VNode {\n const data: VNodeData = {\n class: {\n 'v-icon__component': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n data.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n this.applyColors(data)\n\n const component = icon.component\n data.props = icon.props\n data.nativeOn = data.on\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h(component, data),\n ])\n },\n },\n\n render (h: CreateElement): VNode {\n const icon = this.getIcon()\n\n if (typeof icon === 'string') {\n if (isSvgPath(icon)) {\n return this.renderSvgIcon(icon, h)\n }\n return this.renderFontIcon(icon, h)\n }\n\n return this.renderSvgIconComponent(icon, h)\n },\n})\n\nexport default Vue.extend({\n name: 'v-icon',\n\n $_wrapperFor: VIcon,\n\n functional: true,\n\n render (h, { data, children }): VNode {\n let iconName = ''\n\n // Support usage of v-text and v-html\n if (data.domProps) {\n iconName = data.domProps.textContent ||\n data.domProps.innerHTML ||\n iconName\n\n // Remove nodes so it doesn't\n // overwrite our changes\n delete data.domProps.textContent\n delete data.domProps.innerHTML\n }\n\n return h(VIcon, data, iconName ? [iconName] : children)\n },\n})\n","/**\r\n * DevExtreme (esm/viz/export.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport * from \"./core/export\";\r\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\nvar FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce');\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: FORCED }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n }\n});\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једног минута'],\n mm: ['минут', 'минута', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n d: ['један дан', 'једног дана'],\n dd: ['дан', 'дана', 'дана'],\n M: ['један месец', 'једног месеца'],\n MM: ['месец', 'месеца', 'месеци'],\n y: ['једну годину', 'једне године'],\n yy: ['годину', 'године', 'година'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'једна година';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'годину') {\n return number + ' година';\n }\n\n return number + ' ' + word;\n },\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort:\n 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return srCyrl;\n\n})));\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ocLnc = moment.defineLocale('oc-lnc', {\n months: {\n standalone:\n 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n '_'\n ),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4,\n },\n });\n\n return ocLnc;\n\n})));\n","// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Activatable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: { ClickOutside },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: [String, Number],\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: [String, Number],\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.dialog?.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.dialog?.focus()\n }\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n this.$refs.dialog &&\n // It isn't the document or the dialog body\n ![document, this.$refs.dialog].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.dialog.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.dialog.querySelectorAll('button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [\n this.$createElement('div', {\n class: this.contentClasses,\n attrs: {\n role: 'dialog',\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs(),\n },\n on: { keydown: this.onKeydown },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n appear: true,\n },\n }, [content])\n },\n genInnerContent () {\n const data: VNodeData = {\n class: this.classes,\n attrs: {\n tabindex: this.isActive ? 0 : undefined,\n },\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: convertToUnit(this.maxWidth),\n width: convertToUnit(this.width),\n }\n }\n\n return this.$createElement('div', data, this.getContentSlot())\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n","/**\r\n * DevExtreme (esm/core/utils/ready_callbacks.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nimport injector from \"./dependency_injector\";\r\nimport {\r\n hasWindow\r\n} from \"./window\";\r\nimport callOnce from \"./call_once\";\r\nvar callbacks = [];\r\nvar subscribeReady = callOnce(() => {\r\n var removeListener = domAdapter.listen(domAdapter.getDocument(), \"DOMContentLoaded\", () => {\r\n readyCallbacks.fire();\r\n removeListener()\r\n })\r\n});\r\nvar readyCallbacks = {\r\n add: callback => {\r\n var windowExists = hasWindow();\r\n if (windowExists && \"loading\" !== domAdapter.getReadyState()) {\r\n callback()\r\n } else {\r\n callbacks.push(callback);\r\n windowExists && subscribeReady()\r\n }\r\n },\r\n fire: () => {\r\n callbacks.forEach(callback => callback());\r\n callbacks = []\r\n }\r\n};\r\nexport default injector(readyCallbacks);\r\n","import Vue from 'vue'\n\n/**\n * Delayable\n *\n * @mixin\n *\n * Changes the open or close delay time for elements\n */\nexport default Vue.extend<Vue & { isActive?: boolean }>().extend({\n name: 'delayable',\n\n props: {\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n openTimeout: undefined as number | undefined,\n closeTimeout: undefined as number | undefined,\n }),\n\n methods: {\n /**\n * Clear any pending delay timers from executing\n */\n clearDelay (): void {\n clearTimeout(this.openTimeout)\n clearTimeout(this.closeTimeout)\n },\n /**\n * Runs callback after a specified delay\n */\n runDelay (type: 'open' | 'close', cb?: () => void): void {\n this.clearDelay()\n\n const delay = parseInt((this as any)[`${type}Delay`], 10)\n\n ;(this as any)[`${type}Timeout`] = setTimeout(cb || (() => {\n this.isActive = { open: true, close: false }[type]\n }), delay)\n },\n },\n})\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-action',\n\n functional: true,\n\n render (h, { data, children = [] }): VNode {\n data.staticClass = data.staticClass ? `v-list-item__action ${data.staticClass}` : 'v-list-item__action'\n const filteredChild = children.filter(VNode => {\n return VNode.isComment === false && VNode.text !== ' '\n })\n if (filteredChild.length > 1) data.staticClass += ' v-list-item__action--stack'\n\n return h('div', data, children)\n },\n})\n","export const InfernoEffectHost = {\n lockCount: 0,\n lock() {\n this.lockCount++;\n },\n callbacks: [],\n callEffects() {\n this.lockCount--;\n if (this.lockCount < 0) {\n throw new Error('Unexpected Effect Call');\n }\n if (this.lockCount === 0) {\n const effects = this.callbacks;\n this.callbacks = [];\n effects.forEach((callback) => callback());\n }\n },\n};\n","import { Component, findDOMfromVNode } from 'inferno';\nimport { InfernoEffectHost } from './effect_host';\nconst areObjectsEqual = (firstObject, secondObject) => {\n const bothAreObjects = firstObject instanceof Object && secondObject instanceof Object;\n if (!bothAreObjects) {\n return firstObject === secondObject;\n }\n const firstObjectKeys = Object.keys(firstObject);\n const secondObjectKeys = Object.keys(secondObject);\n if (firstObjectKeys.length !== secondObjectKeys.length) {\n return false;\n }\n const hasDifferentElement = firstObjectKeys.some((key) => firstObject[key] !== secondObject[key]);\n return !hasDifferentElement;\n};\nexport class BaseInfernoComponent extends Component {\n constructor() {\n super(...arguments);\n this._pendingContext = this.context;\n }\n componentWillReceiveProps(_, context) {\n this._pendingContext = context !== null && context !== void 0 ? context : {};\n }\n shouldComponentUpdate(nextProps, nextState) {\n return (!areObjectsEqual(this.props, nextProps)\n || !areObjectsEqual(this.state, nextState)\n || !areObjectsEqual(this.context, this._pendingContext));\n }\n}\nexport class InfernoComponent extends BaseInfernoComponent {\n constructor() {\n super(...arguments);\n this._effects = [];\n }\n createEffects() {\n return [];\n }\n updateEffects() { }\n componentWillMount() {\n InfernoEffectHost.lock();\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n componentWillUpdate(_nextProps, _nextState, _context) {\n InfernoEffectHost.lock();\n }\n componentDidMount() {\n InfernoEffectHost.callbacks.push(() => { this._effects = this.createEffects(); });\n InfernoEffectHost.callEffects();\n }\n componentDidUpdate() {\n InfernoEffectHost.callbacks.push(() => this.updateEffects());\n InfernoEffectHost.callEffects();\n }\n destroyEffects() {\n this._effects.forEach((e) => e.dispose());\n }\n componentWillUnmount() {\n this.destroyEffects();\n }\n}\nexport class InfernoWrapperComponent extends InfernoComponent {\n constructor() {\n super(...arguments);\n this.vDomElement = null;\n }\n vDomUpdateClasses() {\n const el = this.vDomElement;\n const currentClasses = el.className.length\n ? el.className.split(' ')\n : [];\n const addedClasses = currentClasses.filter((className) => el.dxClasses.previous.indexOf(className) < 0);\n const removedClasses = el.dxClasses.previous.filter((className) => currentClasses.indexOf(className) < 0);\n addedClasses.forEach((value) => {\n const indexInRemoved = el.dxClasses.removed.indexOf(value);\n if (indexInRemoved > -1) {\n el.dxClasses.removed.splice(indexInRemoved, 1);\n }\n else if (!el.dxClasses.added.includes(value)) {\n el.dxClasses.added.push(value);\n }\n });\n removedClasses.forEach((value) => {\n const indexInAdded = el.dxClasses.added.indexOf(value);\n if (indexInAdded > -1) {\n el.dxClasses.added.splice(indexInAdded, 1);\n }\n else if (!el.dxClasses.removed.includes(value)) {\n el.dxClasses.removed.push(value);\n }\n });\n }\n componentDidMount() {\n const el = findDOMfromVNode(this.$LI, true);\n this.vDomElement = el;\n super.componentDidMount();\n el.dxClasses = el.dxClasses || {\n removed: [], added: [], previous: [],\n };\n el.dxClasses.previous = (el === null || el === void 0 ? void 0 : el.className.length)\n ? el.className.split(' ')\n : [];\n }\n componentDidUpdate() {\n super.componentDidUpdate();\n const el = this.vDomElement;\n if (el !== null) {\n el.dxClasses.added.forEach((className) => el.classList.add(className));\n el.dxClasses.removed.forEach((className) => el.classList.remove(className));\n el.dxClasses.previous = el.className.length\n ? el.className.split(' ')\n : [];\n }\n }\n shouldComponentUpdate(nextProps, nextState) {\n const shouldUpdate = super.shouldComponentUpdate(nextProps, nextState);\n if (shouldUpdate) {\n this.vDomUpdateClasses();\n }\n return shouldUpdate;\n }\n}\n","import { Component } from 'inferno';\nlet contextId = 0;\nexport const createContext = function (defaultValue) {\n const id = contextId++;\n return {\n id,\n defaultValue,\n Provider: class extends Component {\n getChildContext() {\n return Object.assign(Object.assign({}, this.context), { [id]: this.props.value || defaultValue });\n }\n render() {\n return this.props.children;\n }\n },\n };\n};\n","export class InfernoEffect {\n constructor(effect, dependency) {\n this.dependency = dependency;\n this.effect = effect;\n this.destroy = effect();\n }\n update(dependency) {\n const currentDependency = this.dependency;\n if (dependency) {\n this.dependency = dependency;\n }\n if (!dependency || dependency.some((d, i) => currentDependency[i] !== d)) {\n this.dispose();\n this.destroy = this.effect();\n }\n }\n dispose() {\n if (this.destroy) {\n this.destroy();\n }\n }\n}\n","import { createPortal } from 'inferno';\nexport const Portal = ({ container, children }) => {\n if (container) {\n return createPortal(children, container);\n }\n return null;\n};\n","import { rerender as reRender } from 'inferno';\nimport { InfernoEffect } from './effect';\nexport const createReRenderEffect = () => new InfernoEffect(() => {\n reRender();\n}, []);\n","export const ERROR_MSG = 'a runtime error occured! Use Inferno in development environment to find the error.';\nexport function isNullOrUndef(o) {\n return o === void 0 || o === null;\n}\nexport function isInvalid(o) {\n return o === null || o === false || o === true || o === void 0;\n}\nexport function isFunction(o) {\n return typeof o === 'function';\n}\nexport function isNull(o) {\n return o === null;\n}\nexport function throwError(message) {\n if (!message) {\n message = ERROR_MSG;\n }\n throw new Error(`Inferno Error: ${message}`);\n}\n","import { _CI, _HI, _M, _MCCC, _ME, _MFCC, _MP, _MR, EMPTY_OBJ, render, _RFC as renderFunctionalComponent, } from 'inferno';\nimport { isFunction, isInvalid, isNull, isNullOrUndef, throwError, } from './shared';\nfunction isSameInnerHTML(dom, innerHTML) {\n const tempdom = document.createElement('i');\n tempdom.innerHTML = innerHTML;\n return tempdom.innerHTML === dom.innerHTML;\n}\nfunction findLastDOMFromVNode(vNode) {\n let flags;\n let children;\n while (vNode) {\n flags = vNode.flags;\n if (flags & 2033 /* DOMRef */) {\n return vNode.dom;\n }\n children = vNode.children;\n if (flags & 8192 /* Fragment */) {\n vNode = vNode.childFlags === 2 /* HasVNodeChildren */ ? children : children[children.length - 1];\n }\n else if (flags & 4 /* ComponentClass */) {\n vNode = children.$LI;\n }\n else {\n vNode = children;\n }\n }\n return null;\n}\nfunction isSamePropsInnerHTML(dom, props) {\n return Boolean(props && props.dangerouslySetInnerHTML && props.dangerouslySetInnerHTML.__html && isSameInnerHTML(dom, props.dangerouslySetInnerHTML.__html));\n}\nfunction hydrateComponent(vNode, parentDOM, dom, context, isSVG, isClass, lifecycle) {\n const type = vNode.type;\n const ref = vNode.ref;\n const props = vNode.props || EMPTY_OBJ;\n let currentNode;\n if (isClass) {\n const instance = _CI(vNode, type, props, context, isSVG, lifecycle);\n const input = instance.$LI;\n currentNode = hydrateVNode(input, parentDOM, dom, instance.$CX, isSVG, lifecycle);\n _MCCC(ref, instance, lifecycle);\n }\n else {\n const input = _HI(renderFunctionalComponent(vNode, context));\n currentNode = hydrateVNode(input, parentDOM, dom, context, isSVG, lifecycle);\n vNode.children = input;\n _MFCC(vNode, lifecycle);\n }\n return currentNode;\n}\nfunction hydrateChildren(parentVNode, parentNode, currentNode, context, isSVG, lifecycle) {\n const childFlags = parentVNode.childFlags;\n const children = parentVNode.children;\n const props = parentVNode.props;\n const flags = parentVNode.flags;\n if (childFlags !== 1 /* HasInvalidChildren */) {\n if (childFlags === 2 /* HasVNodeChildren */) {\n if (isNull(currentNode)) {\n _M(children, parentNode, context, isSVG, null, lifecycle);\n }\n else {\n currentNode = hydrateVNode(children, parentNode, currentNode, context, isSVG, lifecycle);\n currentNode = currentNode ? currentNode.nextSibling : null;\n }\n }\n else if (childFlags === 16 /* HasTextChildren */) {\n if (isNull(currentNode)) {\n parentNode.appendChild(document.createTextNode(children));\n }\n else if (parentNode.childNodes.length !== 1 || currentNode.nodeType !== 3) {\n parentNode.textContent = children;\n }\n else if (currentNode.nodeValue !== children) {\n currentNode.nodeValue = children;\n }\n currentNode = null;\n }\n else if (childFlags & 12 /* MultipleChildren */) {\n let prevVNodeIsTextNode = false;\n for (let i = 0, len = children.length; i < len; ++i) {\n const child = children[i];\n if (isNull(currentNode) || (prevVNodeIsTextNode && (child.flags & 16 /* Text */) > 0)) {\n _M(child, parentNode, context, isSVG, currentNode, lifecycle);\n }\n else {\n currentNode = hydrateVNode(child, parentNode, currentNode, context, isSVG, lifecycle);\n currentNode = currentNode ? currentNode.nextSibling : null;\n }\n prevVNodeIsTextNode = (child.flags & 16 /* Text */) > 0;\n }\n }\n // clear any other DOM nodes, there should be only a single entry for the root\n if ((flags & 8192 /* Fragment */) === 0) {\n let nextSibling = null;\n while (currentNode) {\n nextSibling = currentNode.nextSibling;\n parentNode.removeChild(currentNode);\n currentNode = nextSibling;\n }\n }\n }\n else if (!isNull(parentNode.firstChild) && !isSamePropsInnerHTML(parentNode, props)) {\n parentNode.textContent = ''; // dom has content, but VNode has no children remove everything from DOM\n if (flags & 448 /* FormElement */) {\n // If element is form element, we need to clear defaultValue also\n parentNode.defaultValue = '';\n }\n }\n}\nfunction hydrateElement(vNode, parentDOM, dom, context, isSVG, lifecycle) {\n const props = vNode.props;\n const className = vNode.className;\n const flags = vNode.flags;\n const ref = vNode.ref;\n isSVG = isSVG || (flags & 32 /* SvgElement */) > 0;\n if (dom.nodeType !== 1) {\n _ME(vNode, null, context, isSVG, null, lifecycle);\n parentDOM.replaceChild(vNode.dom, dom);\n }\n else {\n vNode.dom = dom;\n hydrateChildren(vNode, dom, dom.firstChild, context, isSVG, lifecycle);\n if (!isNull(props)) {\n _MP(vNode, flags, props, dom, isSVG);\n }\n if (isNullOrUndef(className)) {\n if (dom.className !== '') {\n dom.removeAttribute('class');\n }\n }\n else if (isSVG) {\n dom.setAttribute('class', className);\n }\n else {\n dom.className = className;\n }\n _MR(ref, dom, lifecycle);\n }\n return vNode.dom;\n}\nfunction hydrateText(vNode, parentDOM, dom) {\n if (dom.nodeType !== 3) {\n parentDOM.replaceChild((vNode.dom = document.createTextNode(vNode.children)), dom);\n }\n else {\n const text = vNode.children;\n if (dom.nodeValue !== text) {\n dom.nodeValue = text;\n }\n vNode.dom = dom;\n }\n return vNode.dom;\n}\nfunction hydrateFragment(vNode, parentDOM, dom, context, isSVG, lifecycle) {\n const children = vNode.children;\n if (vNode.childFlags === 2 /* HasVNodeChildren */) {\n hydrateText(children, parentDOM, dom);\n return children.dom;\n }\n hydrateChildren(vNode, parentDOM, dom, context, isSVG, lifecycle);\n return findLastDOMFromVNode(children[children.length - 1]);\n}\nfunction hydrateVNode(vNode, parentDOM, currentDom, context, isSVG, lifecycle) {\n const flags = (vNode.flags |= 16384 /* InUse */);\n if (flags & 14 /* Component */) {\n return hydrateComponent(vNode, parentDOM, currentDom, context, isSVG, (flags & 4 /* ComponentClass */) > 0, lifecycle);\n }\n if (flags & 481 /* Element */) {\n return hydrateElement(vNode, parentDOM, currentDom, context, isSVG, lifecycle);\n }\n if (flags & 16 /* Text */) {\n return hydrateText(vNode, parentDOM, currentDom);\n }\n if (flags & 512 /* Void */) {\n return (vNode.dom = currentDom);\n }\n if (flags & 8192 /* Fragment */) {\n return hydrateFragment(vNode, parentDOM, currentDom, context, isSVG, lifecycle);\n }\n throwError();\n return null;\n}\nexport function hydrate(input, parentDOM, callback) {\n let dom = parentDOM.firstChild;\n if (isNull(dom)) {\n render(input, parentDOM, callback);\n }\n else {\n const lifecycle = [];\n if (!isInvalid(input)) {\n dom = hydrateVNode(input, parentDOM, dom, {}, false, lifecycle);\n }\n // clear any other DOM nodes, there should be only a single entry for the root\n while (dom && (dom = dom.nextSibling)) {\n parentDOM.removeChild(dom);\n }\n if (lifecycle.length > 0) {\n let listener;\n while ((listener = lifecycle.shift()) !== undefined) {\n listener();\n }\n }\n }\n parentDOM.$V = input;\n if (isFunction(callback)) {\n callback();\n }\n}\n","import { render } from 'inferno';\nimport { createElement } from 'inferno-create-element';\nconst getContainer = (props) => { var _a, _b; return ((_a = props.container) === null || _a === void 0 ? void 0 : _a.get(0)) || ((_b = props.item) === null || _b === void 0 ? void 0 : _b.get(0)); };\nexport function renderTemplate(template, props, _component) {\n setTimeout(() => {\n render(createElement(template, props), getContainer(props));\n }, 0);\n}\nexport const hasTemplate = (name, properties, _component) => {\n const value = properties[name];\n return !!value && typeof value !== 'string';\n};\n","const NUMBER_STYLES = new Set([\n 'animationIterationCount',\n 'borderImageOutset',\n 'borderImageSlice',\n 'border-imageWidth',\n 'boxFlex',\n 'boxFlexGroup',\n 'boxOrdinalGroup',\n 'columnCount',\n 'fillOpacity',\n 'flex',\n 'flexGrow',\n 'flexNegative',\n 'flexOrder',\n 'flexPositive',\n 'flexShrink',\n 'floodOpacity',\n 'fontWeight',\n 'gridColumn',\n 'gridRow',\n 'lineClamp',\n 'lineHeight',\n 'opacity',\n 'order',\n 'orphans',\n 'stopOpacity',\n 'strokeDasharray',\n 'strokeDashoffset',\n 'strokeMiterlimit',\n 'strokeOpacity',\n 'strokeWidth',\n 'tabSize',\n 'widows',\n 'zIndex',\n 'zoom',\n]);\nconst isNumeric = (value) => {\n if (typeof value === 'number')\n return true;\n return !Number.isNaN(Number(value));\n};\nconst getNumberStyleValue = (style, value) => (NUMBER_STYLES.has(style) ? value : `${value}px`);\nconst uppercasePattern = /[A-Z]/g;\nconst kebabCase = (str) => str.replace(uppercasePattern, '-$&').toLowerCase();\nexport function normalizeStyles(styles) {\n if (!(styles instanceof Object)) {\n return undefined;\n }\n return Object\n .entries(styles)\n .reduce((acc, [key, value]) => {\n acc[kebabCase(key)] = isNumeric(value)\n ? getNumberStyleValue(key, value)\n : value;\n return acc;\n }, {});\n}\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var reactiveEnergy;\n\nreactiveEnergy = {\n VARh: {\n name: {\n singular: 'Volt-Ampere Reactive Hour'\n , plural: 'Volt-Amperes Reactive Hour'\n }\n , to_anchor: 1\n }\n, mVARh: {\n name: {\n singular: 'Millivolt-Ampere Reactive Hour'\n , plural: 'Millivolt-Amperes Reactive Hour'\n }\n , to_anchor: .001\n }\n, kVARh: {\n name: {\n singular: 'Kilovolt-Ampere Reactive Hour'\n , plural: 'Kilovolt-Amperes Reactive Hour'\n }\n , to_anchor: 1000\n }\n, MVARh: {\n name: {\n singular: 'Megavolt-Ampere Reactive Hour'\n , plural: 'Megavolt-Amperes Reactive Hour'\n }\n , to_anchor: 1000000\n }\n, GVARh: {\n name: {\n singular: 'Gigavolt-Ampere Reactive Hour'\n , plural: 'Gigavolt-Amperes Reactive Hour'\n }\n , to_anchor: 1000000000\n }\n};\n\nmodule.exports = {\n metric: reactiveEnergy\n, _anchors: {\n metric: {\n unit: 'VARh'\n , ratio: 1\n }\n }\n};\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays:\n 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n '_'\n ),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mt;\n\n})));\n","// Styles\nimport './VListItemGroup.sass'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItemGroup,\n Colorable\n).extend({\n name: 'v-list-item-group',\n\n provide () {\n return {\n isInGroup: true,\n listItemGroup: this,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-list-item-group': true,\n }\n },\n },\n\n methods: {\n genData (): object {\n return this.setTextColor(this.color, {\n ...BaseItemGroup.options.methods.genData.call(this),\n attrs: {\n role: 'listbox',\n },\n })\n },\n },\n})\n","/**\r\n * DevExtreme (esm/ui/load_panel.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport LoadIndicator from \"./load_indicator\";\r\nimport Overlay from \"./overlay/ui.overlay\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n isMaterial\r\n} from \"./themes\";\r\nvar LOADPANEL_CLASS = \"dx-loadpanel\";\r\nvar LOADPANEL_WRAPPER_CLASS = \"dx-loadpanel-wrapper\";\r\nvar LOADPANEL_INDICATOR_CLASS = \"dx-loadpanel-indicator\";\r\nvar LOADPANEL_MESSAGE_CLASS = \"dx-loadpanel-message\";\r\nvar LOADPANEL_CONTENT_CLASS = \"dx-loadpanel-content\";\r\nvar LOADPANEL_CONTENT_WRAPPER_CLASS = \"dx-loadpanel-content-wrapper\";\r\nvar LOADPANEL_PANE_HIDDEN_CLASS = \"dx-loadpanel-pane-hidden\";\r\nvar LoadPanel = Overlay.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n escape: noop\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n message: messageLocalization.format(\"Loading\"),\r\n width: 222,\r\n height: 90,\r\n animation: null,\r\n showIndicator: true,\r\n indicatorSrc: \"\",\r\n showPane: true,\r\n delay: 0,\r\n templatesRenderAsynchronously: false,\r\n hideTopOverlayHandler: null,\r\n focusStateEnabled: false,\r\n propagateOutsideClick: true,\r\n preventScrollEvents: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n shadingColor: \"transparent\"\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n message: \"\",\r\n width: 60,\r\n height: 60,\r\n maxHeight: 60,\r\n maxWidth: 60\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase.apply(this, arguments)\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(LOADPANEL_CLASS);\r\n this.$wrapper().addClass(LOADPANEL_WRAPPER_CLASS)\r\n },\r\n _renderContentImpl: function() {\r\n this.callBase();\r\n this.$content().addClass(LOADPANEL_CONTENT_CLASS);\r\n this._$loadPanelContentWrapper = $(\"<div>\").addClass(LOADPANEL_CONTENT_WRAPPER_CLASS);\r\n this._$loadPanelContentWrapper.appendTo(this.$content());\r\n this._togglePaneVisible();\r\n this._cleanPreviousContent();\r\n this._renderLoadIndicator();\r\n this._renderMessage()\r\n },\r\n _show: function() {\r\n var delay = this.option(\"delay\");\r\n if (!delay) {\r\n return this.callBase()\r\n }\r\n var deferred = new Deferred;\r\n var callBase = this.callBase.bind(this);\r\n this._clearShowTimeout();\r\n this._showTimeout = setTimeout((function() {\r\n callBase().done((function() {\r\n deferred.resolve()\r\n }))\r\n }), delay);\r\n return deferred.promise()\r\n },\r\n _hide: function() {\r\n this._clearShowTimeout();\r\n return this.callBase()\r\n },\r\n _clearShowTimeout: function() {\r\n clearTimeout(this._showTimeout)\r\n },\r\n _renderMessage: function() {\r\n if (!this._$loadPanelContentWrapper) {\r\n return\r\n }\r\n var message = this.option(\"message\");\r\n if (!message) {\r\n return\r\n }\r\n var $message = $(\"<div>\").addClass(LOADPANEL_MESSAGE_CLASS).text(message);\r\n this._$loadPanelContentWrapper.append($message)\r\n },\r\n _renderLoadIndicator: function() {\r\n if (!this._$loadPanelContentWrapper || !this.option(\"showIndicator\")) {\r\n return\r\n }\r\n if (!this._$indicator) {\r\n this._$indicator = $(\"<div>\").addClass(LOADPANEL_INDICATOR_CLASS).appendTo(this._$loadPanelContentWrapper)\r\n }\r\n this._createComponent(this._$indicator, LoadIndicator, {\r\n indicatorSrc: this.option(\"indicatorSrc\")\r\n })\r\n },\r\n _cleanPreviousContent: function() {\r\n this.$content().find(\".\" + LOADPANEL_MESSAGE_CLASS).remove();\r\n this.$content().find(\".\" + LOADPANEL_INDICATOR_CLASS).remove();\r\n delete this._$indicator\r\n },\r\n _togglePaneVisible: function() {\r\n this.$content().toggleClass(LOADPANEL_PANE_HIDDEN_CLASS, !this.option(\"showPane\"))\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"delay\":\r\n break;\r\n case \"message\":\r\n case \"showIndicator\":\r\n this._cleanPreviousContent();\r\n this._renderLoadIndicator();\r\n this._renderMessage();\r\n break;\r\n case \"showPane\":\r\n this._togglePaneVisible();\r\n break;\r\n case \"indicatorSrc\":\r\n this._renderLoadIndicator();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _dispose: function() {\r\n this._clearShowTimeout();\r\n this.callBase()\r\n }\r\n});\r\nregisterComponent(\"dxLoadPanel\", LoadPanel);\r\nexport default LoadPanel;\r\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var metric\n , imperial;\n\nmetric = {\n 'mm3/s': {\n name: {\n singular: 'Cubic Millimeter per second'\n , plural: 'Cubic Millimeters per second'\n }\n , to_anchor: 1/1000000\n }\n, 'cm3/s': {\n name: {\n singular: 'Cubic Centimeter per second'\n , plural: 'Cubic Centimeters per second'\n }\n , to_anchor: 1/1000\n }\n, 'ml/s': {\n name: {\n singular: 'Millilitre per second'\n , plural: 'Millilitres per second'\n }\n , to_anchor: 1/1000\n }\n, 'cl/s': {\n name: {\n singular: 'Centilitre per second'\n , plural: 'Centilitres per second'\n }\n , to_anchor: 1/100\n }\n, 'dl/s': {\n name: {\n singular: 'Decilitre per second'\n , plural: 'Decilitres per second'\n }\n , to_anchor: 1/10\n }\n, 'l/s': {\n name: {\n singular: 'Litre per second'\n , plural: 'Litres per second'\n }\n , to_anchor: 1\n }\n, 'l/min': {\n name: {\n singular: 'Litre per minute'\n , plural: 'Litres per minute'\n }\n , to_anchor: 1/60\n }\n, 'l/h': {\n name: {\n singular: 'Litre per hour'\n , plural: 'Litres per hour'\n }\n , to_anchor: 1/3600\n }\n, 'kl/s': {\n name: {\n singular: 'Kilolitre per second'\n , plural: 'Kilolitres per second'\n }\n , to_anchor: 1000\n }\n, 'kl/min': {\n name: {\n singular: 'Kilolitre per minute'\n , plural: 'Kilolitres per minute'\n }\n , to_anchor: 50/3\n }\n, 'kl/h': {\n name: {\n singular: 'Kilolitre per hour'\n , plural: 'Kilolitres per hour'\n }\n , to_anchor: 5/18\n }\n, 'm3/s': {\n name: {\n singular: 'Cubic meter per second'\n , plural: 'Cubic meters per second'\n }\n , to_anchor: 1000\n }\n, 'm3/min': {\n name: {\n singular: 'Cubic meter per minute'\n , plural: 'Cubic meters per minute'\n }\n , to_anchor: 50/3\n }\n, 'm3/h': {\n name: {\n singular: 'Cubic meter per hour'\n , plural: 'Cubic meters per hour'\n }\n , to_anchor: 5/18\n }\n, 'km3/s': {\n name: {\n singular: 'Cubic kilometer per second'\n , plural: 'Cubic kilometers per second'\n }\n , to_anchor: 1000000000000\n }\n};\n\nimperial = {\n 'tsp/s': {\n name: {\n singular: 'Teaspoon per second'\n , plural: 'Teaspoons per second'\n }\n , to_anchor: 1/6\n }\n, 'Tbs/s': {\n name: {\n singular: 'Tablespoon per second'\n , plural: 'Tablespoons per second'\n }\n , to_anchor: 1/2\n }\n, 'in3/s': {\n name: {\n singular: 'Cubic inch per second'\n , plural: 'Cubic inches per second'\n }\n , to_anchor: 0.55411\n }\n, 'in3/min': {\n name: {\n singular: 'Cubic inch per minute'\n , plural: 'Cubic inches per minute'\n }\n , to_anchor: 0.55411/60\n }\n, 'in3/h': {\n name: {\n singular: 'Cubic inch per hour'\n , plural: 'Cubic inches per hour'\n }\n , to_anchor: 0.55411/3600\n }\n, 'fl-oz/s': {\n name: {\n singular: 'Fluid Ounce per second'\n , plural: 'Fluid Ounces per second'\n }\n , to_anchor: 1\n }\n, 'fl-oz/min': {\n name: {\n singular: 'Fluid Ounce per minute'\n , plural: 'Fluid Ounces per minute'\n }\n , to_anchor: 1/60\n }\n, 'fl-oz/h': {\n name: {\n singular: 'Fluid Ounce per hour'\n , plural: 'Fluid Ounces per hour'\n }\n , to_anchor: 1/3600\n }\n, 'cup/s': {\n name: {\n singular: 'Cup per second'\n , plural: 'Cups per second'\n }\n , to_anchor: 8\n }\n, 'pnt/s': {\n name: {\n singular: 'Pint per second'\n , plural: 'Pints per second'\n }\n , to_anchor: 16\n }\n, 'pnt/min': {\n name: {\n singular: 'Pint per minute'\n , plural: 'Pints per minute'\n }\n , to_anchor: 4/15\n }\n, 'pnt/h': {\n name: {\n singular: 'Pint per hour'\n , plural: 'Pints per hour'\n }\n , to_anchor: 1/225\n }\n, 'qt/s': {\n name: {\n singular: 'Quart per second'\n , plural: 'Quarts per second'\n }\n , to_anchor: 32\n }\n, 'gal/s': {\n name: {\n singular: 'Gallon per second'\n , plural: 'Gallons per second'\n }\n , to_anchor: 128\n }\n, 'gal/min': {\n name: {\n singular: 'Gallon per minute'\n , plural: 'Gallons per minute'\n }\n , to_anchor: 32/15\n }\n, 'gal/h': {\n name: {\n singular: 'Gallon per hour'\n , plural: 'Gallons per hour'\n }\n , to_anchor: 8/225\n }\n, 'ft3/s': {\n name: {\n singular: 'Cubic foot per second'\n , plural: 'Cubic feet per second'\n }\n , to_anchor: 957.506\n }\n, 'ft3/min': {\n name: {\n singular: 'Cubic foot per minute'\n , plural: 'Cubic feet per minute'\n }\n , to_anchor: 957.506/60\n }\n, 'ft3/h': {\n name: {\n singular: 'Cubic foot per hour'\n , plural: 'Cubic feet per hour'\n }\n , to_anchor: 957.506/3600\n }\n, 'yd3/s': {\n name: {\n singular: 'Cubic yard per second'\n , plural: 'Cubic yards per second'\n }\n , to_anchor: 25852.7\n }\n, 'yd3/min': {\n name: {\n singular: 'Cubic yard per minute'\n , plural: 'Cubic yards per minute'\n }\n , to_anchor: 25852.7/60\n }\n, 'yd3/h': {\n name: {\n singular: 'Cubic yard per hour'\n , plural: 'Cubic yards per hour'\n }\n , to_anchor: 25852.7/3600\n }\n};\n\nmodule.exports = {\n metric: metric\n, imperial: imperial\n, _anchors: {\n metric: {\n unit: 'l/s'\n , ratio: 33.8140227\n }\n , imperial: {\n unit: 'fl-oz/s'\n , ratio: 1/33.8140227\n }\n }\n};\n","import Vue, { VNodeData, PropType } from 'vue'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'routable',\n\n directives: {\n Ripple,\n },\n\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined,\n },\n exactPath: Boolean,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null,\n },\n tag: String,\n target: String,\n },\n\n data: () => ({\n isActive: false,\n proxyClass: '',\n }),\n\n computed: {\n classes (): object {\n const classes: Record<string, boolean> = {}\n\n if (this.to) return classes\n\n if (this.activeClass) classes[this.activeClass] = this.isActive\n if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n return classes\n },\n computedRipple (): RippleOptions | boolean {\n return this.ripple ?? (!this.disabled && this.isClickable)\n },\n isClickable (): boolean {\n if (this.disabled) return false\n\n return Boolean(\n this.isLink ||\n this.$listeners.click ||\n this.$listeners['!click'] ||\n this.$attrs.tabindex\n )\n },\n isLink (): boolean {\n return this.to || this.href || this.link\n },\n styles: () => ({}),\n },\n\n watch: {\n $route: 'onRouteChange',\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n generateRouteLink () {\n let exact = this.exact\n let tag\n\n const data: VNodeData = {\n attrs: {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n },\n class: this.classes,\n style: this.styles,\n props: {},\n directives: [{\n name: 'ripple',\n value: this.computedRipple,\n }],\n [this.to ? 'nativeOn' : 'on']: {\n ...this.$listeners,\n ...('click' in this ? { click: (this as any).click } : undefined), // #14447\n },\n ref: 'link',\n }\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' ||\n (this.to === Object(this.to) && this.to.path === '/')\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass\n let exactActiveClass = this.exactActiveClass || activeClass\n\n if (this.proxyClass) {\n activeClass = `${activeClass} ${this.proxyClass}`.trim()\n exactActiveClass = `${exactActiveClass} ${this.proxyClass}`.trim()\n }\n\n tag = this.nuxt ? 'nuxt-link' : 'router-link'\n Object.assign(data.props, {\n to: this.to,\n exact,\n exactPath: this.exactPath,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace,\n })\n } else {\n tag = (this.href && 'a') || this.tag || 'div'\n\n if (tag === 'a' && this.href) data.attrs!.href = this.href\n }\n\n if (this.target) data.attrs!.target = this.target\n\n return { tag, data }\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link || !this.$route) return\n const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim()\n const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass\n\n const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass)\n\n this.$nextTick(() => {\n /* istanbul ignore else */\n if (!getObjectValueByPath(this.$refs.link, path) === this.isActive) {\n this.toggle()\n }\n })\n },\n toggle () {\n this.isActive = !this.isActive\n },\n },\n})\n","//! moment.js locale configuration\n//! locale : Arabic (Libya) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arLy;\n\n})));\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","/**\r\n * DevExtreme (esm/core/utils/queue.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../errors\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\n\r\nfunction createQueue(discardPendingTasks) {\r\n var _tasks = [];\r\n var _busy = false;\r\n\r\n function exec() {\r\n while (_tasks.length) {\r\n _busy = true;\r\n var task = _tasks.shift();\r\n var result = task();\r\n if (void 0 === result) {\r\n continue\r\n }\r\n if (result.then) {\r\n when(result).always(exec);\r\n return\r\n }\r\n throw errors.Error(\"E0015\")\r\n }\r\n _busy = false\r\n }\r\n return {\r\n add: function(task, removeTaskCallback) {\r\n if (!discardPendingTasks) {\r\n _tasks.push(task)\r\n } else {\r\n if (_tasks[0] && removeTaskCallback) {\r\n removeTaskCallback(_tasks[0])\r\n }\r\n _tasks = [task]\r\n }\r\n if (!_busy) {\r\n exec()\r\n }\r\n },\r\n busy: function() {\r\n return _busy\r\n }\r\n }\r\n}\r\nexport {\r\n createQueue as create\r\n};\r\nexport var enqueue = createQueue().add;\r\n","/**\r\n * DevExtreme (esm/data/data_source/operation_manager.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n CANCELED_TOKEN\r\n} from \"./utils\";\r\nexport default class OperationManager {\r\n constructor() {\r\n this._counter = -1;\r\n this._deferreds = {}\r\n }\r\n add(deferred) {\r\n this._counter++;\r\n this._deferreds[this._counter] = deferred;\r\n return this._counter\r\n }\r\n remove(operationId) {\r\n return delete this._deferreds[operationId]\r\n }\r\n cancel(operationId) {\r\n if (operationId in this._deferreds) {\r\n this._deferreds[operationId].reject(CANCELED_TOKEN);\r\n return true\r\n }\r\n return false\r\n }\r\n cancelAll() {\r\n while (this._counter > -1) {\r\n this.cancel(this._counter);\r\n this._counter--\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/data/data_source/data_source.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n executeAsync\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isString,\r\n isNumeric,\r\n isBoolean,\r\n isDefined,\r\n isObject,\r\n isEmptyObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n throttleChanges\r\n} from \"../utils\";\r\nimport {\r\n applyBatch\r\n} from \"../array_utils\";\r\nimport CustomStore from \"../custom_store\";\r\nimport {\r\n EventsStrategy\r\n} from \"../../core/events_strategy\";\r\nimport {\r\n errors\r\n} from \"../errors\";\r\nimport {\r\n create\r\n} from \"../../core/utils/queue\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport OperationManager from \"./operation_manager\";\r\nimport {\r\n normalizeDataSourceOptions,\r\n normalizeStoreLoadOptionAccessorArguments,\r\n CANCELED_TOKEN,\r\n isPending,\r\n normalizeLoadResult,\r\n mapDataRespectingGrouping\r\n} from \"./utils\";\r\nexport var DataSource = Class.inherit({\r\n ctor(options) {\r\n var _options$reshapeOnPus;\r\n options = normalizeDataSourceOptions(options);\r\n this._eventsStrategy = new EventsStrategy(this, {\r\n syncStrategy: true\r\n });\r\n this._store = options.store;\r\n this._changedTime = 0;\r\n var needThrottling = 0 !== options.pushAggregationTimeout;\r\n if (needThrottling) {\r\n var throttlingTimeout = void 0 === options.pushAggregationTimeout ? () => 5 * this._changedTime : options.pushAggregationTimeout;\r\n var pushDeferred;\r\n var lastPushWaiters;\r\n var throttlingPushHandler = throttleChanges(changes => {\r\n pushDeferred.resolve();\r\n var storePushPending = when(...lastPushWaiters);\r\n storePushPending.done(() => this._onPush(changes));\r\n lastPushWaiters = void 0;\r\n pushDeferred = void 0\r\n }, throttlingTimeout);\r\n this._onPushHandler = args => {\r\n this._aggregationTimeoutId = throttlingPushHandler(args.changes);\r\n if (!pushDeferred) {\r\n pushDeferred = new Deferred\r\n }\r\n lastPushWaiters = args.waitFor;\r\n args.waitFor.push(pushDeferred.promise())\r\n };\r\n this._store.on(\"beforePushAggregation\", this._onPushHandler)\r\n } else {\r\n this._onPushHandler = changes => this._onPush(changes);\r\n this._store.on(\"push\", this._onPushHandler)\r\n }\r\n this._storeLoadOptions = this._extractLoadOptions(options);\r\n this._mapFunc = options.map;\r\n this._postProcessFunc = options.postProcess;\r\n this._pageIndex = void 0 !== options.pageIndex ? options.pageIndex : 0;\r\n this._pageSize = void 0 !== options.pageSize ? options.pageSize : 20;\r\n this._loadingCount = 0;\r\n this._loadQueue = this._createLoadQueue();\r\n this._searchValue = \"searchValue\" in options ? options.searchValue : null;\r\n this._searchOperation = options.searchOperation || \"contains\";\r\n this._searchExpr = options.searchExpr;\r\n this._paginate = options.paginate;\r\n this._reshapeOnPush = null !== (_options$reshapeOnPus = options.reshapeOnPush) && void 0 !== _options$reshapeOnPus ? _options$reshapeOnPus : false;\r\n each([\"onChanged\", \"onLoadError\", \"onLoadingChanged\", \"onCustomizeLoadResult\", \"onCustomizeStoreLoadOptions\"], (_, optionName) => {\r\n if (optionName in options) {\r\n this.on(optionName.substr(2, 1).toLowerCase() + optionName.substr(3), options[optionName])\r\n }\r\n });\r\n this._operationManager = new OperationManager;\r\n this._init()\r\n },\r\n _init() {\r\n this._items = [];\r\n this._userData = {};\r\n this._totalCount = -1;\r\n this._isLoaded = false;\r\n if (!isDefined(this._paginate)) {\r\n this._paginate = !this.group()\r\n }\r\n this._isLastPage = !this._paginate\r\n },\r\n dispose() {\r\n var _this$_delayedLoadTas;\r\n this._store.off(\"beforePushAggregation\", this._onPushHandler);\r\n this._store.off(\"push\", this._onPushHandler);\r\n this._eventsStrategy.dispose();\r\n clearTimeout(this._aggregationTimeoutId);\r\n null === (_this$_delayedLoadTas = this._delayedLoadTask) || void 0 === _this$_delayedLoadTas ? void 0 : _this$_delayedLoadTas.abort();\r\n this._operationManager.cancelAll();\r\n delete this._store;\r\n delete this._items;\r\n delete this._delayedLoadTask;\r\n this._disposed = true\r\n },\r\n _extractLoadOptions(options) {\r\n var result = {};\r\n var names = [\"sort\", \"filter\", \"langParams\", \"select\", \"group\", \"requireTotalCount\"];\r\n var customNames = this._store._customLoadOptions();\r\n if (customNames) {\r\n names = names.concat(customNames)\r\n }\r\n each(names, (function() {\r\n result[this] = options[this]\r\n }));\r\n return result\r\n },\r\n loadOptions() {\r\n return this._storeLoadOptions\r\n },\r\n items() {\r\n return this._items\r\n },\r\n pageIndex(newIndex) {\r\n if (!isNumeric(newIndex)) {\r\n return this._pageIndex\r\n }\r\n this._pageIndex = newIndex;\r\n this._isLastPage = !this._paginate\r\n },\r\n paginate(value) {\r\n if (!isBoolean(value)) {\r\n return this._paginate\r\n }\r\n if (this._paginate !== value) {\r\n this._paginate = value;\r\n this.pageIndex(0)\r\n }\r\n },\r\n pageSize(value) {\r\n if (!isNumeric(value)) {\r\n return this._pageSize\r\n }\r\n this._pageSize = value\r\n },\r\n isLastPage() {\r\n return this._isLastPage\r\n },\r\n generateStoreLoadOptionAccessor(optionName) {\r\n return args => {\r\n var normalizedArgs = normalizeStoreLoadOptionAccessorArguments(args);\r\n if (void 0 === normalizedArgs) {\r\n return this._storeLoadOptions[optionName]\r\n }\r\n this._storeLoadOptions[optionName] = normalizedArgs\r\n }\r\n },\r\n sort() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"sort\")(args)\r\n },\r\n filter() {\r\n var newFilter = normalizeStoreLoadOptionAccessorArguments(arguments);\r\n if (void 0 === newFilter) {\r\n return this._storeLoadOptions.filter\r\n }\r\n this._storeLoadOptions.filter = newFilter;\r\n this.pageIndex(0)\r\n },\r\n group() {\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"group\")(args)\r\n },\r\n select() {\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"select\")(args)\r\n },\r\n requireTotalCount(value) {\r\n if (!isBoolean(value)) {\r\n return this._storeLoadOptions.requireTotalCount\r\n }\r\n this._storeLoadOptions.requireTotalCount = value\r\n },\r\n searchValue(value) {\r\n if (arguments.length < 1) {\r\n return this._searchValue\r\n }\r\n this._searchValue = value;\r\n this.pageIndex(0)\r\n },\r\n searchOperation(op) {\r\n if (!isString(op)) {\r\n return this._searchOperation\r\n }\r\n this._searchOperation = op;\r\n this.pageIndex(0)\r\n },\r\n searchExpr(expr) {\r\n var argc = arguments.length;\r\n if (0 === argc) {\r\n return this._searchExpr\r\n }\r\n if (argc > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n this._searchExpr = expr;\r\n this.pageIndex(0)\r\n },\r\n store() {\r\n return this._store\r\n },\r\n key() {\r\n var _this$_store;\r\n return null === (_this$_store = this._store) || void 0 === _this$_store ? void 0 : _this$_store.key()\r\n },\r\n totalCount() {\r\n return this._totalCount\r\n },\r\n isLoaded() {\r\n return this._isLoaded\r\n },\r\n isLoading() {\r\n return this._loadingCount > 0\r\n },\r\n beginLoading() {\r\n this._changeLoadingCount(1)\r\n },\r\n endLoading() {\r\n this._changeLoadingCount(-1)\r\n },\r\n _createLoadQueue: () => create(),\r\n _changeLoadingCount(increment) {\r\n var oldLoading = this.isLoading();\r\n this._loadingCount += increment;\r\n var newLoading = this.isLoading();\r\n if (oldLoading ^ newLoading) {\r\n this._eventsStrategy.fireEvent(\"loadingChanged\", [newLoading])\r\n }\r\n },\r\n _scheduleLoadCallbacks(deferred) {\r\n this.beginLoading();\r\n deferred.always(() => {\r\n this.endLoading()\r\n })\r\n },\r\n _scheduleFailCallbacks(deferred) {\r\n var _this = this;\r\n deferred.fail((function() {\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n if (args[0] === CANCELED_TOKEN) {\r\n return\r\n }\r\n _this._eventsStrategy.fireEvent(\"loadError\", args)\r\n }))\r\n },\r\n _fireChanged(args) {\r\n var date = new Date;\r\n this._eventsStrategy.fireEvent(\"changed\", args);\r\n this._changedTime = new Date - date\r\n },\r\n _scheduleChangedCallbacks(deferred) {\r\n deferred.done(() => this._fireChanged())\r\n },\r\n loadSingle(propName, propValue) {\r\n var d = new Deferred;\r\n var key = this.key();\r\n var store = this._store;\r\n var options = this._createStoreLoadOptions();\r\n this._scheduleFailCallbacks(d);\r\n if (arguments.length < 2) {\r\n propValue = propName;\r\n propName = key\r\n }\r\n delete options.skip;\r\n delete options.group;\r\n delete options.refresh;\r\n delete options.pageIndex;\r\n delete options.searchString;\r\n (() => {\r\n if (propName === key || store instanceof CustomStore && !store._byKeyViaLoad()) {\r\n return store.byKey(propValue, options)\r\n }\r\n options.take = 1;\r\n options.filter = options.filter ? [options.filter, [propName, propValue]] : [propName, propValue];\r\n return store.load(options)\r\n })().fail(d.reject).done(data => {\r\n var isEmptyArray = Array.isArray(data) && !data.length;\r\n if (!isDefined(data) || isEmptyArray) {\r\n d.reject(new errors.Error(\"E4009\"))\r\n } else {\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n d.resolve(this._applyMapFunction(data)[0])\r\n }\r\n });\r\n return d.promise()\r\n },\r\n load() {\r\n var d = new Deferred;\r\n var loadTask = () => {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (!isPending(d)) {\r\n return\r\n }\r\n return this._loadFromStore(loadOperation, d)\r\n };\r\n this._scheduleLoadCallbacks(d);\r\n this._scheduleFailCallbacks(d);\r\n this._scheduleChangedCallbacks(d);\r\n var loadOperation = this._createLoadOperation(d);\r\n this._eventsStrategy.fireEvent(\"customizeStoreLoadOptions\", [loadOperation]);\r\n this._loadQueue.add(() => {\r\n if (\"number\" === typeof loadOperation.delay) {\r\n this._delayedLoadTask = executeAsync(loadTask, loadOperation.delay)\r\n } else {\r\n loadTask()\r\n }\r\n return d.promise()\r\n });\r\n return d.promise({\r\n operationId: loadOperation.operationId\r\n })\r\n },\r\n _onPush(changes) {\r\n if (this._reshapeOnPush) {\r\n this.load()\r\n } else {\r\n var changingArgs = {\r\n changes: changes\r\n };\r\n this._eventsStrategy.fireEvent(\"changing\", [changingArgs]);\r\n var group = this.group();\r\n var items = this.items();\r\n var groupLevel = 0;\r\n var dataSourceChanges = this.paginate() || group ? changes.filter(item => \"update\" === item.type) : changes;\r\n if (group) {\r\n groupLevel = Array.isArray(group) ? group.length : 1\r\n }\r\n if (this._mapFunc) {\r\n dataSourceChanges.forEach(item => {\r\n if (\"insert\" === item.type) {\r\n item.data = this._mapFunc(item.data)\r\n }\r\n })\r\n }\r\n if (changingArgs.postProcessChanges) {\r\n dataSourceChanges = changingArgs.postProcessChanges(dataSourceChanges)\r\n }\r\n applyBatch({\r\n keyInfo: this.store(),\r\n data: items,\r\n changes: dataSourceChanges,\r\n groupCount: groupLevel,\r\n useInsertIndex: true\r\n });\r\n this._fireChanged([{\r\n changes: changes\r\n }])\r\n }\r\n },\r\n _createLoadOperation(deferred) {\r\n var operationId = this._operationManager.add(deferred);\r\n var storeLoadOptions = this._createStoreLoadOptions();\r\n if (this._store && !isEmptyObject(null === storeLoadOptions || void 0 === storeLoadOptions ? void 0 : storeLoadOptions.langParams)) {\r\n this._store._langParams = _extends({}, this._store._langParams, storeLoadOptions.langParams)\r\n }\r\n deferred.always(() => this._operationManager.remove(operationId));\r\n return {\r\n operationId: operationId,\r\n storeLoadOptions: storeLoadOptions\r\n }\r\n },\r\n reload() {\r\n var store = this.store();\r\n store._clearCache();\r\n this._init();\r\n return this.load()\r\n },\r\n cancel(operationId) {\r\n return this._operationManager.cancel(operationId)\r\n },\r\n cancelAll() {\r\n return this._operationManager.cancelAll()\r\n },\r\n _addSearchOptions(storeLoadOptions) {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (this.store()._useDefaultSearch) {\r\n this._addSearchFilter(storeLoadOptions)\r\n } else {\r\n storeLoadOptions.searchOperation = this._searchOperation;\r\n storeLoadOptions.searchValue = this._searchValue;\r\n storeLoadOptions.searchExpr = this._searchExpr\r\n }\r\n },\r\n _createStoreLoadOptions() {\r\n var result = extend({}, this._storeLoadOptions);\r\n this._addSearchOptions(result);\r\n if (this._paginate) {\r\n if (this._pageSize) {\r\n result.skip = this._pageIndex * this._pageSize;\r\n result.take = this._pageSize\r\n }\r\n }\r\n result.userData = this._userData;\r\n return result\r\n },\r\n _addSearchFilter(storeLoadOptions) {\r\n var value = this._searchValue;\r\n var op = this._searchOperation;\r\n var selector = this._searchExpr;\r\n var searchFilter = [];\r\n if (!value) {\r\n return\r\n }\r\n if (!selector) {\r\n selector = \"this\"\r\n }\r\n if (!Array.isArray(selector)) {\r\n selector = [selector]\r\n }\r\n each(selector, (function(i, item) {\r\n if (searchFilter.length) {\r\n searchFilter.push(\"or\")\r\n }\r\n searchFilter.push([item, op, value])\r\n }));\r\n if (storeLoadOptions.filter) {\r\n storeLoadOptions.filter = [searchFilter, storeLoadOptions.filter]\r\n } else {\r\n storeLoadOptions.filter = searchFilter\r\n }\r\n },\r\n _loadFromStore(loadOptions, pendingDeferred) {\r\n var handleSuccess = (data, extra) => {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (!isPending(pendingDeferred)) {\r\n return\r\n }\r\n var loadResult = extend(normalizeLoadResult(data, extra), loadOptions);\r\n this._eventsStrategy.fireEvent(\"customizeLoadResult\", [loadResult]);\r\n when(loadResult.data).done(data => {\r\n loadResult.data = data;\r\n this._processStoreLoadResult(loadResult, pendingDeferred)\r\n }).fail(pendingDeferred.reject)\r\n };\r\n if (loadOptions.data) {\r\n return (new Deferred).resolve(loadOptions.data).done(handleSuccess)\r\n }\r\n return this.store().load(loadOptions.storeLoadOptions).done(handleSuccess).fail(pendingDeferred.reject)\r\n },\r\n _processStoreLoadResult(loadResult, pendingDeferred) {\r\n var data = loadResult.data;\r\n var extra = loadResult.extra;\r\n var storeLoadOptions = loadResult.storeLoadOptions;\r\n var resolvePendingDeferred = () => {\r\n this._isLoaded = true;\r\n this._totalCount = isFinite(extra.totalCount) ? extra.totalCount : -1;\r\n return pendingDeferred.resolve(data, extra)\r\n };\r\n if (this._disposed) {\r\n return\r\n }\r\n data = this._applyPostProcessFunction(this._applyMapFunction(data));\r\n if (!isObject(extra)) {\r\n extra = {}\r\n }\r\n this._items = data;\r\n if (!data.length || !this._paginate || this._pageSize && data.length < this._pageSize) {\r\n this._isLastPage = true\r\n }\r\n if (storeLoadOptions.requireTotalCount && !isFinite(extra.totalCount)) {\r\n (() => {\r\n this.store().totalCount(storeLoadOptions).done((function(count) {\r\n extra.totalCount = count;\r\n resolvePendingDeferred()\r\n })).fail(pendingDeferred.reject)\r\n })()\r\n } else {\r\n resolvePendingDeferred()\r\n }\r\n },\r\n _applyMapFunction(data) {\r\n if (this._mapFunc) {\r\n return mapDataRespectingGrouping(data, this._mapFunc, this.group())\r\n }\r\n return data\r\n },\r\n _applyPostProcessFunction(data) {\r\n if (this._postProcessFunc) {\r\n return this._postProcessFunc(data)\r\n }\r\n return data\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// Types\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { VNode, VNodeData } from 'vue'\n\n// Components\nimport VTimeline from './VTimeline'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport Colorable from '../../mixins/colorable'\nimport { getSlot } from '../../util/helpers'\n\nconst baseMixins = mixins(\n Colorable,\n Themeable\n/* @vue/component */\n)\n\ntype VTimelineInstance = InstanceType<typeof VTimeline>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n timeline: VTimelineInstance\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-timeline-item',\n\n inject: ['timeline'],\n\n props: {\n color: {\n type: String,\n default: 'primary',\n },\n fillDot: Boolean,\n hideDot: Boolean,\n icon: String,\n iconColor: String,\n large: Boolean,\n left: Boolean,\n right: Boolean,\n small: Boolean,\n },\n\n computed: {\n hasIcon (): boolean {\n return !!this.icon || !!this.$slots.icon\n },\n },\n\n methods: {\n genBody () {\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__body',\n }, getSlot(this))\n },\n genIcon (): VNode | VNode[] {\n return getSlot(this, 'icon') || this.$createElement(VIcon, {\n props: {\n color: this.iconColor,\n dark: !this.theme.isDark,\n small: this.small,\n },\n }, this.icon)\n },\n genInnerDot () {\n const data: VNodeData = this.setBackgroundColor(this.color)\n\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__inner-dot',\n ...data,\n }, [this.hasIcon && this.genIcon()])\n },\n genDot () {\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__dot',\n class: {\n 'v-timeline-item__dot--small': this.small,\n 'v-timeline-item__dot--large': this.large,\n },\n }, [this.genInnerDot()])\n },\n genDivider () {\n const children = []\n\n if (!this.hideDot) children.push(this.genDot())\n\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__divider',\n }, children)\n },\n genOpposite () {\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__opposite',\n }, getSlot(this, 'opposite'))\n },\n },\n\n render (h): VNode {\n const children = [\n this.genBody(),\n this.genDivider(),\n ]\n\n if (this.$slots.opposite) children.push(this.genOpposite())\n\n return h('div', {\n staticClass: 'v-timeline-item',\n class: {\n 'v-timeline-item--fill-dot': this.fillDot,\n 'v-timeline-item--before': this.timeline.reverse ? this.right : this.left,\n 'v-timeline-item--after': this.timeline.reverse ? this.left : this.right,\n ...this.themeClasses,\n },\n }, children)\n },\n})\n","/**\r\n * DevExtreme (esm/core/utils/icon.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nvar ICON_CLASS = \"dx-icon\";\r\nvar SVG_ICON_CLASS = \"dx-svg-icon\";\r\nexport var getImageSourceType = source => {\r\n if (!source || \"string\" !== typeof source) {\r\n return false\r\n }\r\n if (/^\\s*<svg[^>]*>(.|\\r?\\n)*?<\\/svg>\\s*$/i.test(source)) {\r\n return \"svg\"\r\n }\r\n if (/data:.*base64|\\.|[^<\\s]\\/{1,1}/.test(source)) {\r\n return \"image\"\r\n }\r\n if (/^[\\w-_]+$/.test(source)) {\r\n return \"dxIcon\"\r\n }\r\n if (/^\\s?([\\w-_:]\\s?)+$/.test(source)) {\r\n return \"fontIcon\"\r\n }\r\n return false\r\n};\r\nexport var getImageContainer = source => {\r\n switch (getImageSourceType(source)) {\r\n case \"image\":\r\n return $(\"<img>\").attr(\"src\", source).addClass(ICON_CLASS);\r\n case \"fontIcon\":\r\n return $(\"<i>\").addClass(\"\".concat(ICON_CLASS, \" \").concat(source));\r\n case \"dxIcon\":\r\n return $(\"<i>\").addClass(\"\".concat(ICON_CLASS, \" \").concat(ICON_CLASS, \"-\").concat(source));\r\n case \"svg\":\r\n return $(\"<i>\").addClass(\"\".concat(ICON_CLASS, \" \").concat(SVG_ICON_CLASS)).append(source);\r\n default:\r\n return null\r\n }\r\n};\r\n","import './VSimpleTable.sass'\n\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nexport default mixins(Themeable).extend({\n name: 'v-simple-table',\n\n props: {\n dense: Boolean,\n fixedHeader: Boolean,\n height: [Number, String],\n },\n\n computed: {\n classes (): Record<string, boolean> {\n return {\n 'v-data-table--dense': this.dense,\n 'v-data-table--fixed-height': !!this.height && !this.fixedHeader,\n 'v-data-table--fixed-header': this.fixedHeader,\n 'v-data-table--has-top': !!this.$slots.top,\n 'v-data-table--has-bottom': !!this.$slots.bottom,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genWrapper () {\n return this.$slots.wrapper || this.$createElement('div', {\n staticClass: 'v-data-table__wrapper',\n style: {\n height: convertToUnit(this.height),\n },\n }, [\n this.$createElement('table', getSlot(this)),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-data-table',\n class: this.classes,\n }, [\n getSlot(this, 'top'),\n this.genWrapper(),\n getSlot(this, 'bottom'),\n ])\n },\n})\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n '_'\n ),\n standalone:\n 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n '_'\n ),\n },\n monthsShort:\n 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n '_'\n ),\n standalone:\n 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n '_'\n ),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) &&\n number % 100 !== 12 &&\n number % 100 !== 13\n ? number + '-і'\n : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return be;\n\n})));\n","function dataHandler(newData, oldData) {\n if (oldData) {\n var chart = this.$data._chart;\n var newDatasetLabels = newData.datasets.map(function (dataset) {\n return dataset.label;\n });\n var oldDatasetLabels = oldData.datasets.map(function (dataset) {\n return dataset.label;\n });\n var oldLabels = JSON.stringify(oldDatasetLabels);\n var newLabels = JSON.stringify(newDatasetLabels);\n\n if (newLabels === oldLabels && oldData.datasets.length === newData.datasets.length) {\n newData.datasets.forEach(function (dataset, i) {\n var oldDatasetKeys = Object.keys(oldData.datasets[i]);\n var newDatasetKeys = Object.keys(dataset);\n var deletionKeys = oldDatasetKeys.filter(function (key) {\n return key !== '_meta' && newDatasetKeys.indexOf(key) === -1;\n });\n deletionKeys.forEach(function (deletionKey) {\n delete chart.data.datasets[i][deletionKey];\n });\n\n for (var attribute in dataset) {\n if (dataset.hasOwnProperty(attribute)) {\n chart.data.datasets[i][attribute] = dataset[attribute];\n }\n }\n });\n\n if (newData.hasOwnProperty('labels')) {\n chart.data.labels = newData.labels;\n this.$emit('labels:update');\n }\n\n if (newData.hasOwnProperty('xLabels')) {\n chart.data.xLabels = newData.xLabels;\n this.$emit('xlabels:update');\n }\n\n if (newData.hasOwnProperty('yLabels')) {\n chart.data.yLabels = newData.yLabels;\n this.$emit('ylabels:update');\n }\n\n chart.update();\n this.$emit('chart:update');\n } else {\n if (chart) {\n chart.destroy();\n this.$emit('chart:destroy');\n }\n\n this.renderChart(this.chartData, this.options);\n this.$emit('chart:render');\n }\n } else {\n if (this.$data._chart) {\n this.$data._chart.destroy();\n\n this.$emit('chart:destroy');\n }\n\n this.renderChart(this.chartData, this.options);\n this.$emit('chart:render');\n }\n}\n\nexport var reactiveData = {\n data: function data() {\n return {\n chartData: null\n };\n },\n watch: {\n 'chartData': dataHandler\n }\n};\nexport var reactiveProp = {\n props: {\n chartData: {\n type: Object,\n required: true,\n default: function _default() {}\n }\n },\n watch: {\n 'chartData': dataHandler\n }\n};\nexport default {\n reactiveData: reactiveData,\n reactiveProp: reactiveProp\n};","import Chart from 'chart.js';\nexport function generateChart(chartId, chartType) {\n return {\n render: function render(createElement) {\n return createElement('div', {\n style: this.styles,\n class: this.cssClasses\n }, [createElement('canvas', {\n attrs: {\n id: this.chartId,\n width: this.width,\n height: this.height\n },\n ref: 'canvas'\n })]);\n },\n props: {\n chartId: {\n default: chartId,\n type: String\n },\n width: {\n default: 400,\n type: Number\n },\n height: {\n default: 400,\n type: Number\n },\n cssClasses: {\n type: String,\n default: ''\n },\n styles: {\n type: Object\n },\n plugins: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n _chart: null,\n _plugins: this.plugins\n };\n },\n methods: {\n addPlugin: function addPlugin(plugin) {\n this.$data._plugins.push(plugin);\n },\n generateLegend: function generateLegend() {\n if (this.$data._chart) {\n return this.$data._chart.generateLegend();\n }\n },\n renderChart: function renderChart(data, options) {\n if (this.$data._chart) this.$data._chart.destroy();\n if (!this.$refs.canvas) throw new Error('Please remove the <template></template> tags from your chart component. See https://vue-chartjs.org/guide/#vue-single-file-components');\n this.$data._chart = new Chart(this.$refs.canvas.getContext('2d'), {\n type: chartType,\n data: data,\n options: options,\n plugins: this.$data._plugins\n });\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (this.$data._chart) {\n this.$data._chart.destroy();\n }\n }\n };\n}\nexport var Bar = generateChart('bar-chart', 'bar');\nexport var HorizontalBar = generateChart('horizontalbar-chart', 'horizontalBar');\nexport var Doughnut = generateChart('doughnut-chart', 'doughnut');\nexport var Line = generateChart('line-chart', 'line');\nexport var Pie = generateChart('pie-chart', 'pie');\nexport var PolarArea = generateChart('polar-chart', 'polarArea');\nexport var Radar = generateChart('radar-chart', 'radar');\nexport var Bubble = generateChart('bubble-chart', 'bubble');\nexport var Scatter = generateChart('scatter-chart', 'scatter');\nexport default {\n Bar: Bar,\n HorizontalBar: HorizontalBar,\n Doughnut: Doughnut,\n Line: Line,\n Pie: Pie,\n PolarArea: PolarArea,\n Radar: Radar,\n Bubble: Bubble,\n Scatter: Scatter\n};","/**\r\n * DevExtreme (esm/core/utils/html_parser.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nvar isTagName = /<([a-z][^/\\0>\\x20\\t\\r\\n\\f]+)/i;\r\nvar tagWrappers = {\r\n default: {\r\n tagsCount: 0,\r\n startTags: \"\",\r\n endTags: \"\"\r\n },\r\n thead: {\r\n tagsCount: 1,\r\n startTags: \"<table>\",\r\n endTags: \"</table>\"\r\n },\r\n td: {\r\n tagsCount: 3,\r\n startTags: \"<table><tbody><tr>\",\r\n endTags: \"</tr></tbody></table>\"\r\n },\r\n col: {\r\n tagsCount: 2,\r\n startTags: \"<table><colgroup>\",\r\n endTags: \"</colgroup></table>\"\r\n },\r\n tr: {\r\n tagsCount: 2,\r\n startTags: \"<table><tbody>\",\r\n endTags: \"</tbody></table>\"\r\n }\r\n};\r\ntagWrappers.tbody = tagWrappers.colgroup = tagWrappers.caption = tagWrappers.tfoot = tagWrappers.thead;\r\ntagWrappers.th = tagWrappers.td;\r\nexport var parseHTML = function(html) {\r\n if (\"string\" !== typeof html) {\r\n return null\r\n }\r\n var fragment = domAdapter.createDocumentFragment();\r\n var container = fragment.appendChild(domAdapter.createElement(\"div\"));\r\n var tags = isTagName.exec(html);\r\n var firstRootTag = tags && tags[1].toLowerCase();\r\n var tagWrapper = tagWrappers[firstRootTag] || tagWrappers.default;\r\n container.innerHTML = tagWrapper.startTags + html + tagWrapper.endTags;\r\n for (var i = 0; i < tagWrapper.tagsCount; i++) {\r\n container = container.lastChild\r\n }\r\n return [...container.childNodes]\r\n};\r\nexport var isTablePart = function(html) {\r\n var tags = isTagName.exec(html);\r\n return tags && tags[1] in tagWrappers\r\n};\r\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n '_'\n ),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone:\n 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n '_'\n ),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n '_'\n ),\n isFormat: /(წინა|შემდეგ)/,\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return s.replace(\n /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\n function ($0, $1, $2) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n }\n );\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი',\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if (\n number < 20 ||\n (number <= 100 && number % 20 === 0) ||\n number % 100 === 0\n ) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7,\n },\n });\n\n return ka;\n\n})));\n","/**\r\n * DevExtreme (esm/ui/list/item.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport CollectionWidgetItem from \"../collection/item\";\r\nvar LIST_ITEM_BADGE_CONTAINER_CLASS = \"dx-list-item-badge-container\";\r\nvar LIST_ITEM_BADGE_CLASS = \"dx-list-item-badge\";\r\nvar BADGE_CLASS = \"dx-badge\";\r\nvar LIST_ITEM_CHEVRON_CONTAINER_CLASS = \"dx-list-item-chevron-container\";\r\nvar LIST_ITEM_CHEVRON_CLASS = \"dx-list-item-chevron\";\r\nvar ListItem = CollectionWidgetItem.inherit({\r\n _renderWatchers: function() {\r\n this.callBase();\r\n this._startWatcher(\"badge\", this._renderBadge.bind(this));\r\n this._startWatcher(\"showChevron\", this._renderShowChevron.bind(this))\r\n },\r\n _renderBadge: function(badge) {\r\n this._$element.children(\".\" + LIST_ITEM_BADGE_CONTAINER_CLASS).remove();\r\n if (!badge) {\r\n return\r\n }\r\n var $badge = $(\"<div>\").addClass(LIST_ITEM_BADGE_CONTAINER_CLASS).append($(\"<div>\").addClass(LIST_ITEM_BADGE_CLASS).addClass(BADGE_CLASS).text(badge));\r\n var $chevron = this._$element.children(\".\" + LIST_ITEM_CHEVRON_CONTAINER_CLASS).first();\r\n $chevron.length > 0 ? $badge.insertBefore($chevron) : $badge.appendTo(this._$element)\r\n },\r\n _renderShowChevron: function(showChevron) {\r\n this._$element.children(\".\" + LIST_ITEM_CHEVRON_CONTAINER_CLASS).remove();\r\n if (!showChevron) {\r\n return\r\n }\r\n var $chevronContainer = $(\"<div>\").addClass(LIST_ITEM_CHEVRON_CONTAINER_CLASS);\r\n var $chevron = $(\"<div>\").addClass(LIST_ITEM_CHEVRON_CLASS);\r\n $chevronContainer.append($chevron).appendTo(this._$element)\r\n }\r\n});\r\nexport default ListItem;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_element_style.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n titleize\r\n} from \"../../../../core/utils/inflector\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport {\r\n toNumber\r\n} from \"../../../utils/type_conversion\";\r\nexport function getElementStyle(el) {\r\n var _getWindow$getCompute, _getWindow;\r\n return el && hasWindow() ? null === (_getWindow$getCompute = (_getWindow = getWindow()).getComputedStyle) || void 0 === _getWindow$getCompute ? void 0 : _getWindow$getCompute.call(_getWindow, el) : null\r\n}\r\nexport function getElementMargin(element, side) {\r\n var style = getElementStyle(element);\r\n return style ? toNumber(style[\"margin\".concat(titleize(side))]) : 0\r\n}\r\nexport function getElementPadding(element, side) {\r\n var style = getElementStyle(element);\r\n return style ? toNumber(style[\"padding\".concat(titleize(side))]) : 0\r\n}\r\nexport function getElementOverflowX(element) {\r\n var style = getElementStyle(element);\r\n return style ? style.overflowX : \"visible\"\r\n}\r\nexport function getElementOverflowY(element) {\r\n var style = getElementStyle(element);\r\n return style ? style.overflowY : \"visible\"\r\n}\r\nexport function getElementTransform(element) {\r\n var style = getElementStyle(element);\r\n return style ? style.transform : \"\"\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.base.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n setHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n ensureDefined,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getImageContainer\r\n} from \"../../core/utils/icon\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n end as swipeEventEnd\r\n} from \"../../events/swipe\";\r\nimport {\r\n nativeScrolling\r\n} from \"../../core/utils/support\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n render\r\n} from \"../widget/utils.ink_ripple\";\r\nimport devices from \"../../core/devices\";\r\nimport ListItem from \"./item\";\r\nimport Button from \"../button\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n current,\r\n isMaterial\r\n} from \"../themes\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport ScrollView from \"../scroll_view\";\r\nimport {\r\n deviceDependentOptions\r\n} from \"../scroll_view/ui.scrollable.device\";\r\nimport CollectionWidget from \"../collection/ui.collection_widget.live_update\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport DataConverterMixin from \"../shared/grouped_data_converter_mixin\";\r\nimport {\r\n getElementMargin\r\n} from \"../../renovation/ui/scroll_view/utils/get_element_style\";\r\nimport Guid from \"../../core/guid\";\r\nvar LIST_CLASS = \"dx-list\";\r\nvar LIST_ITEM_CLASS = \"dx-list-item\";\r\nvar LIST_ITEM_SELECTOR = \".\" + LIST_ITEM_CLASS;\r\nvar LIST_ITEM_ICON_CONTAINER_CLASS = \"dx-list-item-icon-container\";\r\nvar LIST_ITEM_ICON_CLASS = \"dx-list-item-icon\";\r\nvar LIST_GROUP_CLASS = \"dx-list-group\";\r\nvar LIST_GROUP_HEADER_CLASS = \"dx-list-group-header\";\r\nvar LIST_GROUP_BODY_CLASS = \"dx-list-group-body\";\r\nvar LIST_COLLAPSIBLE_GROUPS_CLASS = \"dx-list-collapsible-groups\";\r\nvar LIST_GROUP_COLLAPSED_CLASS = \"dx-list-group-collapsed\";\r\nvar LIST_GROUP_HEADER_INDICATOR_CLASS = \"dx-list-group-header-indicator\";\r\nvar LIST_HAS_NEXT_CLASS = \"dx-has-next\";\r\nvar LIST_NEXT_BUTTON_CLASS = \"dx-list-next-button\";\r\nvar WRAP_ITEM_TEXT_CLASS = \"dx-wrap-item-text\";\r\nvar SELECT_ALL_ITEM_SELECTOR = \".dx-list-select-all\";\r\nvar LIST_ITEM_DATA_KEY = \"dxListItemData\";\r\nvar LIST_FEEDBACK_SHOW_TIMEOUT = 70;\r\nvar groupItemsGetter = compileGetter(\"items\");\r\nvar _scrollView;\r\nexport var ListBase = CollectionWidget.inherit({\r\n _activeStateUnit: [LIST_ITEM_SELECTOR, SELECT_ALL_ITEM_SELECTOR].join(\",\"),\r\n _supportedKeys: function() {\r\n var that = this;\r\n var moveFocusPerPage = function(direction) {\r\n var $item = getEdgeVisibleItem(direction);\r\n var isFocusedItem = $item.is(that.option(\"focusedElement\"));\r\n if (isFocusedItem) {\r\n ! function($item, direction) {\r\n var resultPosition = $item.position().top;\r\n if (\"prev\" === direction) {\r\n resultPosition = $item.position().top - getHeight(that.$element()) + getOuterHeight($item)\r\n }\r\n that.scrollTo(resultPosition)\r\n }($item, direction);\r\n $item = getEdgeVisibleItem(direction)\r\n }\r\n that.option(\"focusedElement\", getPublicElement($item));\r\n that.scrollToItem($item)\r\n };\r\n\r\n function getEdgeVisibleItem(direction) {\r\n var scrollTop = that.scrollTop();\r\n var containerHeight = getHeight(that.$element());\r\n var $item = $(that.option(\"focusedElement\"));\r\n var isItemVisible = true;\r\n if (!$item.length) {\r\n return $()\r\n }\r\n while (isItemVisible) {\r\n var $nextItem = $item[direction]();\r\n if (!$nextItem.length) {\r\n break\r\n }\r\n var nextItemLocation = $nextItem.position().top + getOuterHeight($nextItem) / 2;\r\n isItemVisible = nextItemLocation < containerHeight + scrollTop && nextItemLocation > scrollTop;\r\n if (isItemVisible) {\r\n $item = $nextItem\r\n }\r\n }\r\n return $item\r\n }\r\n return extend(this.callBase(), {\r\n leftArrow: noop,\r\n rightArrow: noop,\r\n pageUp: function() {\r\n moveFocusPerPage(\"prev\");\r\n return false\r\n },\r\n pageDown: function() {\r\n moveFocusPerPage(\"next\");\r\n return false\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n pullRefreshEnabled: false,\r\n scrollingEnabled: true,\r\n selectByClick: true,\r\n showScrollbar: \"onScroll\",\r\n useNativeScrolling: true,\r\n bounceEnabled: true,\r\n scrollByContent: true,\r\n scrollByThumb: false,\r\n pullingDownText: messageLocalization.format(\"dxList-pullingDownText\"),\r\n pulledDownText: messageLocalization.format(\"dxList-pulledDownText\"),\r\n refreshingText: messageLocalization.format(\"dxList-refreshingText\"),\r\n pageLoadingText: messageLocalization.format(\"dxList-pageLoadingText\"),\r\n onScroll: null,\r\n onPullRefresh: null,\r\n onPageLoading: null,\r\n pageLoadMode: \"scrollBottom\",\r\n nextButtonText: messageLocalization.format(\"dxList-nextButtonText\"),\r\n onItemSwipe: null,\r\n grouped: false,\r\n onGroupRendered: null,\r\n collapsibleGroups: false,\r\n groupTemplate: \"group\",\r\n indicateLoading: true,\r\n activeStateEnabled: true,\r\n _itemAttributes: {\r\n role: \"option\"\r\n },\r\n useInkRipple: false,\r\n wrapItemText: false,\r\n _swipeEnabled: true,\r\n showChevronExpr: function(data) {\r\n return data ? data.showChevron : void 0\r\n },\r\n badgeExpr: function(data) {\r\n return data ? data.badge : void 0\r\n }\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = current();\r\n return this.callBase().concat(deviceDependentOptions(), [{\r\n device: function() {\r\n return !nativeScrolling\r\n },\r\n options: {\r\n useNativeScrolling: false\r\n }\r\n }, {\r\n device: function(_device) {\r\n return !nativeScrolling && !devices.isSimulator() && \"desktop\" === devices.real().deviceType && \"generic\" === _device.platform\r\n },\r\n options: {\r\n showScrollbar: \"onHover\",\r\n pageLoadMode: \"nextButton\"\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n pullingDownText: \"\",\r\n pulledDownText: \"\",\r\n refreshingText: \"\",\r\n pageLoadingText: \"\",\r\n useInkRipple: true\r\n }\r\n }])\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._updateLoadingState(true)\r\n }\r\n },\r\n _itemClass: function() {\r\n return LIST_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return LIST_ITEM_DATA_KEY\r\n },\r\n _itemContainer: function() {\r\n return this._$container\r\n },\r\n _saveSelectionChangeEvent: function(e) {\r\n this._selectionChangeEventInstance = e\r\n },\r\n _getSelectionChangeEvent: function() {\r\n return this._selectionChangeEventInstance\r\n },\r\n _refreshItemElements: function() {\r\n if (!this.option(\"grouped\")) {\r\n this._itemElementsCache = this._itemContainer().children(this._itemSelector())\r\n } else {\r\n this._itemElementsCache = this._itemContainer().children(\".\" + LIST_GROUP_CLASS).children(\".\" + LIST_GROUP_BODY_CLASS).children(this._itemSelector())\r\n }\r\n },\r\n _modifyByChanges: function() {\r\n this.callBase.apply(this, arguments);\r\n this._refreshItemElements();\r\n this._updateLoadingState(true)\r\n },\r\n reorderItem: function(itemElement, toItemElement) {\r\n var promise = this.callBase(itemElement, toItemElement);\r\n return promise.done((function() {\r\n this._refreshItemElements()\r\n }))\r\n },\r\n deleteItem: function(itemElement) {\r\n var promise = this.callBase(itemElement);\r\n return promise.done((function() {\r\n this._refreshItemElements()\r\n }))\r\n },\r\n _itemElements: function() {\r\n return this._itemElementsCache\r\n },\r\n _itemSelectHandler: function(e) {\r\n if (\"single\" === this.option(\"selectionMode\") && this.isItemSelected(e.currentTarget)) {\r\n return\r\n }\r\n return this.callBase(e)\r\n },\r\n _allowDynamicItemsAppend: function() {\r\n return true\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._dataController.resetDataSourcePageIndex();\r\n this._$container = this.$element();\r\n this._initScrollView();\r\n this._feedbackShowTimeout = LIST_FEEDBACK_SHOW_TIMEOUT;\r\n this._createGroupRenderAction()\r\n },\r\n _scrollBottomMode: function() {\r\n return \"scrollBottom\" === this.option(\"pageLoadMode\")\r\n },\r\n _nextButtonMode: function() {\r\n return \"nextButton\" === this.option(\"pageLoadMode\")\r\n },\r\n _dataSourceOptions: function() {\r\n var scrollBottom = this._scrollBottomMode();\r\n var nextButton = this._nextButtonMode();\r\n return extend(this.callBase(), {\r\n paginate: ensureDefined(scrollBottom || nextButton, true)\r\n })\r\n },\r\n _getGroupedOption: function() {\r\n return this.option(\"grouped\")\r\n },\r\n _getGroupContainerByIndex: function(groupIndex) {\r\n return this._itemContainer().find(\".\".concat(LIST_GROUP_CLASS)).eq(groupIndex).find(\".\".concat(LIST_GROUP_BODY_CLASS))\r\n },\r\n _dataSourceFromUrlLoadMode: function() {\r\n return \"raw\"\r\n },\r\n _initScrollView: function() {\r\n var scrollingEnabled = this.option(\"scrollingEnabled\");\r\n var pullRefreshEnabled = scrollingEnabled && this.option(\"pullRefreshEnabled\");\r\n var autoPagingEnabled = scrollingEnabled && this._scrollBottomMode() && !!this._dataController.getDataSource();\r\n this._scrollView = this._createComponent(this.$element(), getScrollView(), {\r\n height: this.option(\"height\"),\r\n width: this.option(\"width\"),\r\n disabled: this.option(\"disabled\") || !scrollingEnabled,\r\n onScroll: this._scrollHandler.bind(this),\r\n onPullDown: pullRefreshEnabled ? this._pullDownHandler.bind(this) : null,\r\n onReachBottom: autoPagingEnabled ? this._scrollBottomHandler.bind(this) : null,\r\n showScrollbar: this.option(\"showScrollbar\"),\r\n useNative: this.option(\"useNativeScrolling\"),\r\n bounceEnabled: this.option(\"bounceEnabled\"),\r\n scrollByContent: this.option(\"scrollByContent\"),\r\n scrollByThumb: this.option(\"scrollByThumb\"),\r\n pullingDownText: this.option(\"pullingDownText\"),\r\n pulledDownText: this.option(\"pulledDownText\"),\r\n refreshingText: this.option(\"refreshingText\"),\r\n reachBottomText: this.option(\"pageLoadingText\"),\r\n useKeyboard: false\r\n });\r\n this._$container = $(this._scrollView.content());\r\n if (this.option(\"wrapItemText\")) {\r\n this._$container.addClass(WRAP_ITEM_TEXT_CLASS)\r\n }\r\n this._createScrollViewActions()\r\n },\r\n _createScrollViewActions: function() {\r\n this._scrollAction = this._createActionByOption(\"onScroll\");\r\n this._pullRefreshAction = this._createActionByOption(\"onPullRefresh\");\r\n this._pageLoadingAction = this._createActionByOption(\"onPageLoading\")\r\n },\r\n _scrollHandler: function(e) {\r\n this._scrollAction && this._scrollAction(e)\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n group: new BindableTemplate((function($container, data) {\r\n if (isPlainObject(data)) {\r\n if (data.key) {\r\n $container.text(data.key)\r\n }\r\n } else {\r\n $container.text(String(data))\r\n }\r\n }), [\"key\"], this.option(\"integrationOptions.watchMethod\"))\r\n });\r\n this.callBase()\r\n },\r\n _prepareDefaultItemTemplate: function(data, $container) {\r\n this.callBase(data, $container);\r\n if (data.icon) {\r\n var $icon = getImageContainer(data.icon).addClass(LIST_ITEM_ICON_CLASS);\r\n var $iconContainer = $(\"<div>\").addClass(LIST_ITEM_ICON_CONTAINER_CLASS);\r\n $iconContainer.append($icon);\r\n $container.prepend($iconContainer)\r\n }\r\n },\r\n _getBindableFields: function() {\r\n return [\"text\", \"html\", \"icon\"]\r\n },\r\n _updateLoadingState: function(tryLoadMore) {\r\n var dataController = this._dataController;\r\n var shouldLoadNextPage = this._scrollBottomMode() && tryLoadMore && !dataController.isLoading() && !this._isLastPage();\r\n if (this._shouldContinueLoading(shouldLoadNextPage)) {\r\n this._infiniteDataLoading()\r\n } else {\r\n this._scrollView.release(!shouldLoadNextPage && !dataController.isLoading());\r\n this._toggleNextButton(this._shouldRenderNextButton() && !this._isLastPage());\r\n this._loadIndicationSuppressed(false)\r\n }\r\n },\r\n _shouldRenderNextButton: function() {\r\n return this._nextButtonMode() && this._dataController.isLoaded()\r\n },\r\n _isDataSourceFirstLoadCompleted: function(newValue) {\r\n if (isDefined(newValue)) {\r\n this._isFirstLoadCompleted = newValue\r\n }\r\n return this._isFirstLoadCompleted\r\n },\r\n _dataSourceLoadingChangedHandler: function(isLoading) {\r\n if (this._loadIndicationSuppressed()) {\r\n return\r\n }\r\n if (isLoading && this.option(\"indicateLoading\")) {\r\n this._showLoadingIndicatorTimer = setTimeout(function() {\r\n var isEmpty = !this._itemElements().length;\r\n var shouldIndicateLoading = !isEmpty || this._isDataSourceFirstLoadCompleted();\r\n if (shouldIndicateLoading) {\r\n var _this$_scrollView;\r\n null === (_this$_scrollView = this._scrollView) || void 0 === _this$_scrollView ? void 0 : _this$_scrollView.startLoading()\r\n }\r\n }.bind(this))\r\n } else {\r\n clearTimeout(this._showLoadingIndicatorTimer);\r\n this._scrollView && this._scrollView.finishLoading()\r\n }\r\n if (!isLoading) {\r\n this._isDataSourceFirstLoadCompleted(false)\r\n }\r\n },\r\n _dataSourceChangedHandler: function() {\r\n if (!this._shouldAppendItems() && hasWindow()) {\r\n this._scrollView && this._scrollView.scrollTo(0)\r\n }\r\n this.callBase.apply(this, arguments);\r\n this._isDataSourceFirstLoadCompleted(true)\r\n },\r\n _refreshContent: function() {\r\n this._prepareContent();\r\n this._fireContentReadyAction()\r\n },\r\n _hideLoadingIfLoadIndicationOff: function() {\r\n if (!this.option(\"indicateLoading\")) {\r\n this._dataSourceLoadingChangedHandler(false)\r\n }\r\n },\r\n _loadIndicationSuppressed: function(value) {\r\n if (!arguments.length) {\r\n return this._isLoadIndicationSuppressed\r\n }\r\n this._isLoadIndicationSuppressed = value\r\n },\r\n _scrollViewIsFull: function() {\r\n var scrollView = this._scrollView;\r\n return !scrollView || getHeight(scrollView.content()) > getHeight(scrollView.container())\r\n },\r\n _pullDownHandler: function(e) {\r\n this._pullRefreshAction(e);\r\n var dataController = this._dataController;\r\n if (dataController.getDataSource() && !dataController.isLoading()) {\r\n this._clearSelectedItems();\r\n dataController.pageIndex(0);\r\n dataController.reload()\r\n } else {\r\n this._updateLoadingState()\r\n }\r\n },\r\n _shouldContinueLoading: function(shouldLoadNextPage) {\r\n var _this$_scrollView$scr, _this$_scrollView$scr2;\r\n var isBottomReached = getHeight(this._scrollView.content()) - getHeight(this._scrollView.container()) < (null !== (_this$_scrollView$scr = null === (_this$_scrollView$scr2 = this._scrollView.scrollOffset()) || void 0 === _this$_scrollView$scr2 ? void 0 : _this$_scrollView$scr2.top) && void 0 !== _this$_scrollView$scr ? _this$_scrollView$scr : 0);\r\n return shouldLoadNextPage && (!this._scrollViewIsFull() || isBottomReached)\r\n },\r\n _infiniteDataLoading: function() {\r\n var isElementVisible = this.$element().is(\":visible\");\r\n if (isElementVisible) {\r\n clearTimeout(this._loadNextPageTimer);\r\n this._loadNextPageTimer = setTimeout(() => {\r\n this._loadNextPage()\r\n })\r\n }\r\n },\r\n _scrollBottomHandler: function(e) {\r\n this._pageLoadingAction(e);\r\n var dataController = this._dataController;\r\n if (!dataController.isLoading() && !this._isLastPage()) {\r\n this._loadNextPage()\r\n } else {\r\n this._updateLoadingState()\r\n }\r\n },\r\n _renderItems: function(items) {\r\n if (this.option(\"grouped\")) {\r\n each(items, this._renderGroup.bind(this));\r\n this._attachGroupCollapseEvent();\r\n this._renderEmptyMessage();\r\n if (isMaterial()) {\r\n this.attachGroupHeaderInkRippleEvents()\r\n }\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n this._refreshItemElements();\r\n this._updateLoadingState(true)\r\n },\r\n _attachGroupCollapseEvent: function() {\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n var selector = \".\" + LIST_GROUP_HEADER_CLASS;\r\n var $element = this.$element();\r\n var collapsibleGroups = this.option(\"collapsibleGroups\");\r\n $element.toggleClass(LIST_COLLAPSIBLE_GROUPS_CLASS, collapsibleGroups);\r\n eventsEngine.off($element, eventName, selector);\r\n if (collapsibleGroups) {\r\n eventsEngine.on($element, eventName, selector, function(e) {\r\n this._createAction(function(e) {\r\n var $group = $(e.event.currentTarget).parent();\r\n this._collapseGroupHandler($group);\r\n if (this.option(\"focusStateEnabled\")) {\r\n this.option(\"focusedElement\", getPublicElement($group.find(\".\" + LIST_ITEM_CLASS).eq(0)))\r\n }\r\n }.bind(this), {\r\n validatingTargetName: \"element\"\r\n })({\r\n event: e\r\n })\r\n }.bind(this))\r\n }\r\n },\r\n _collapseGroupHandler: function($group, toggle) {\r\n var deferred = new Deferred;\r\n if ($group.hasClass(LIST_GROUP_COLLAPSED_CLASS) === toggle) {\r\n return deferred.resolve()\r\n }\r\n var $groupBody = $group.children(\".\" + LIST_GROUP_BODY_CLASS);\r\n var startHeight = getOuterHeight($groupBody);\r\n var endHeight = 0;\r\n if (0 === startHeight) {\r\n setHeight($groupBody, \"auto\");\r\n endHeight = getOuterHeight($groupBody)\r\n }\r\n $group.toggleClass(LIST_GROUP_COLLAPSED_CLASS, toggle);\r\n fx.animate($groupBody, {\r\n type: \"custom\",\r\n from: {\r\n height: startHeight\r\n },\r\n to: {\r\n height: endHeight\r\n },\r\n duration: 200,\r\n complete: function() {\r\n this.updateDimensions();\r\n this._updateLoadingState(true);\r\n deferred.resolve()\r\n }.bind(this)\r\n });\r\n return deferred.promise()\r\n },\r\n _dataSourceLoadErrorHandler: function() {\r\n this._forgetNextPageLoading();\r\n if (this._initialized) {\r\n this._renderEmptyMessage();\r\n this._updateLoadingState()\r\n }\r\n },\r\n _initMarkup: function() {\r\n this._itemElementsCache = $();\r\n this.$element().addClass(LIST_CLASS);\r\n this.callBase();\r\n this.option(\"useInkRipple\") && this._renderInkRipple();\r\n this.setAria({\r\n role: \"group\",\r\n roledescription: \"list\"\r\n }, this.$element());\r\n this._setListAria()\r\n },\r\n _setListAria() {\r\n var {\r\n items: items\r\n } = this.option();\r\n var listArea = null !== items && void 0 !== items && items.length ? {\r\n role: \"listbox\",\r\n label: \"Items\"\r\n } : {\r\n role: void 0,\r\n label: void 0\r\n };\r\n this.setAria(listArea)\r\n },\r\n _focusTarget: function() {\r\n return this._itemContainer()\r\n },\r\n _renderInkRipple: function() {\r\n this._inkRipple = render()\r\n },\r\n _toggleActiveState: function($element, value, e) {\r\n this.callBase.apply(this, arguments);\r\n var that = this;\r\n if (!this._inkRipple) {\r\n return\r\n }\r\n var config = {\r\n element: $element,\r\n event: e\r\n };\r\n if (value) {\r\n if (isMaterial()) {\r\n this._inkRippleTimer = setTimeout((function() {\r\n that._inkRipple.showWave(config)\r\n }), LIST_FEEDBACK_SHOW_TIMEOUT / 2)\r\n } else {\r\n that._inkRipple.showWave(config)\r\n }\r\n } else {\r\n clearTimeout(this._inkRippleTimer);\r\n this._inkRipple.hideWave(config)\r\n }\r\n },\r\n _postprocessRenderItem: function(args) {\r\n this._refreshItemElements();\r\n this.callBase.apply(this, arguments);\r\n if (this.option(\"_swipeEnabled\")) {\r\n this._attachSwipeEvent($(args.itemElement))\r\n }\r\n },\r\n _attachSwipeEvent: function($itemElement) {\r\n var endEventName = addNamespace(swipeEventEnd, this.NAME);\r\n eventsEngine.on($itemElement, endEventName, this._itemSwipeEndHandler.bind(this))\r\n },\r\n _itemSwipeEndHandler: function(e) {\r\n this._itemDXEventHandler(e, \"onItemSwipe\", {\r\n direction: e.offset < 0 ? \"left\" : \"right\"\r\n })\r\n },\r\n _nextButtonHandler: function(e) {\r\n this._pageLoadingAction(e);\r\n var dataController = this._dataController;\r\n if (dataController.getDataSource() && !dataController.isLoading()) {\r\n this._scrollView.toggleLoading(true);\r\n this._$nextButton.detach();\r\n this._loadIndicationSuppressed(true);\r\n this._loadNextPage()\r\n }\r\n },\r\n _renderGroup: function(index, group) {\r\n var $groupElement = $(\"<div>\").addClass(LIST_GROUP_CLASS).appendTo(this._itemContainer());\r\n var id = \"dx-\".concat((new Guid).toString());\r\n var groupAria = {\r\n role: \"group\",\r\n labelledby: id\r\n };\r\n this.setAria(groupAria, $groupElement);\r\n var $groupHeaderElement = $(\"<div>\").addClass(LIST_GROUP_HEADER_CLASS).attr(\"id\", id).appendTo($groupElement);\r\n var groupTemplateName = this.option(\"groupTemplate\");\r\n var groupTemplate = this._getTemplate(group.template || groupTemplateName, group, index, $groupHeaderElement);\r\n var renderArgs = {\r\n index: index,\r\n itemData: group,\r\n container: getPublicElement($groupHeaderElement)\r\n };\r\n this._createItemByTemplate(groupTemplate, renderArgs);\r\n if (isMaterial()) {\r\n $(\"<div>\").addClass(LIST_GROUP_HEADER_INDICATOR_CLASS).prependTo($groupHeaderElement)\r\n }\r\n this._renderingGroupIndex = index;\r\n var $groupBody = $(\"<div>\").addClass(LIST_GROUP_BODY_CLASS).appendTo($groupElement);\r\n each(groupItemsGetter(group) || [], function(itemIndex, item) {\r\n this._renderItem({\r\n group: index,\r\n item: itemIndex\r\n }, item, $groupBody)\r\n }.bind(this));\r\n this._groupRenderAction({\r\n groupElement: getPublicElement($groupElement),\r\n groupIndex: index,\r\n groupData: group\r\n })\r\n },\r\n downInkRippleHandler: function(e) {\r\n this._toggleActiveState($(e.currentTarget), true, e)\r\n },\r\n upInkRippleHandler: function(e) {\r\n this._toggleActiveState($(e.currentTarget), false)\r\n },\r\n attachGroupHeaderInkRippleEvents: function() {\r\n var selector = \".\" + LIST_GROUP_HEADER_CLASS;\r\n var $element = this.$element();\r\n this._downInkRippleHandler = this._downInkRippleHandler || this.downInkRippleHandler.bind(this);\r\n this._upInkRippleHandler = this._upInkRippleHandler || this.upInkRippleHandler.bind(this);\r\n var downArguments = [$element, \"dxpointerdown\", selector, this._downInkRippleHandler];\r\n var upArguments = [$element, \"dxpointerup dxpointerout\", selector, this._upInkRippleHandler];\r\n eventsEngine.off(...downArguments);\r\n eventsEngine.on(...downArguments);\r\n eventsEngine.off(...upArguments);\r\n eventsEngine.on(...upArguments)\r\n },\r\n _createGroupRenderAction: function() {\r\n this._groupRenderAction = this._createActionByOption(\"onGroupRendered\")\r\n },\r\n _clean: function() {\r\n clearTimeout(this._inkRippleTimer);\r\n if (this._$nextButton) {\r\n this._$nextButton.remove();\r\n this._$nextButton = null\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _dispose: function() {\r\n this._isDataSourceFirstLoadCompleted(false);\r\n clearTimeout(this._holdTimer);\r\n clearTimeout(this._loadNextPageTimer);\r\n clearTimeout(this._showLoadingIndicatorTimer);\r\n this.callBase()\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase(value);\r\n this._scrollView.option(\"disabled\", value || !this.option(\"scrollingEnabled\"))\r\n },\r\n _toggleNextButton: function(value) {\r\n var dataController = this._dataController;\r\n var $nextButton = this._getNextButton();\r\n this.$element().toggleClass(LIST_HAS_NEXT_CLASS, value);\r\n if (value && dataController.isLoaded()) {\r\n $nextButton.appendTo(this._itemContainer())\r\n }\r\n if (!value) {\r\n $nextButton.detach()\r\n }\r\n },\r\n _getNextButton: function() {\r\n if (!this._$nextButton) {\r\n this._$nextButton = this._createNextButton()\r\n }\r\n return this._$nextButton\r\n },\r\n _createNextButton: function() {\r\n var $result = $(\"<div>\").addClass(LIST_NEXT_BUTTON_CLASS);\r\n var $button = $(\"<div>\").appendTo($result);\r\n this._createComponent($button, Button, {\r\n text: this.option(\"nextButtonText\"),\r\n onClick: this._nextButtonHandler.bind(this),\r\n type: isMaterial() ? \"default\" : void 0,\r\n integrationOptions: {}\r\n });\r\n return $result\r\n },\r\n _moveFocus: function() {\r\n this.callBase.apply(this, arguments);\r\n this.scrollToItem(this.option(\"focusedElement\"))\r\n },\r\n _refresh: function() {\r\n if (!hasWindow()) {\r\n this.callBase()\r\n } else {\r\n var scrollTop = this._scrollView.scrollTop();\r\n this.callBase();\r\n scrollTop && this._scrollView.scrollTo(scrollTop)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"pageLoadMode\":\r\n this._toggleNextButton(args.value);\r\n this._initScrollView();\r\n break;\r\n case \"dataSource\":\r\n this.callBase(args);\r\n this._initScrollView();\r\n this._isDataSourceFirstLoadCompleted(false);\r\n break;\r\n case \"items\":\r\n this.callBase(args);\r\n this._isDataSourceFirstLoadCompleted(false);\r\n break;\r\n case \"pullingDownText\":\r\n case \"pulledDownText\":\r\n case \"refreshingText\":\r\n case \"pageLoadingText\":\r\n case \"showScrollbar\":\r\n case \"bounceEnabled\":\r\n case \"scrollByContent\":\r\n case \"scrollByThumb\":\r\n case \"useNativeScrolling\":\r\n case \"scrollingEnabled\":\r\n case \"pullRefreshEnabled\":\r\n this._initScrollView();\r\n this._updateLoadingState(true);\r\n break;\r\n case \"nextButtonText\":\r\n case \"onItemSwipe\":\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n case \"onScroll\":\r\n case \"onPullRefresh\":\r\n case \"onPageLoading\":\r\n this._createScrollViewActions();\r\n break;\r\n case \"grouped\":\r\n case \"collapsibleGroups\":\r\n case \"groupTemplate\":\r\n this._invalidate();\r\n break;\r\n case \"wrapItemText\":\r\n this._$container.toggleClass(WRAP_ITEM_TEXT_CLASS, args.value);\r\n break;\r\n case \"onGroupRendered\":\r\n this._createGroupRenderAction();\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n this._scrollView.option(args.name, args.value);\r\n this._scrollView.update();\r\n break;\r\n case \"indicateLoading\":\r\n this._hideLoadingIfLoadIndicationOff();\r\n break;\r\n case \"visible\":\r\n this.callBase(args);\r\n this._scrollView.update();\r\n break;\r\n case \"rtlEnabled\":\r\n this._initScrollView();\r\n this.callBase(args);\r\n break;\r\n case \"showChevronExpr\":\r\n case \"badgeExpr\":\r\n this._invalidate();\r\n break;\r\n case \"_swipeEnabled\":\r\n case \"selectByClick\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _extendActionArgs: function($itemElement) {\r\n if (!this.option(\"grouped\")) {\r\n return this.callBase($itemElement)\r\n }\r\n var $group = $itemElement.closest(\".\" + LIST_GROUP_CLASS);\r\n var $item = $group.find(\".\" + LIST_ITEM_CLASS);\r\n return extend(this.callBase($itemElement), {\r\n itemIndex: {\r\n group: $group.index(),\r\n item: $item.index($itemElement)\r\n }\r\n })\r\n },\r\n expandGroup: function(groupIndex) {\r\n var deferred = new Deferred;\r\n var $group = this._itemContainer().find(\".\" + LIST_GROUP_CLASS).eq(groupIndex);\r\n this._collapseGroupHandler($group, false).done(function() {\r\n deferred.resolveWith(this)\r\n }.bind(this));\r\n return deferred.promise()\r\n },\r\n collapseGroup: function(groupIndex) {\r\n var deferred = new Deferred;\r\n var $group = this._itemContainer().find(\".\" + LIST_GROUP_CLASS).eq(groupIndex);\r\n this._collapseGroupHandler($group, true).done(function() {\r\n deferred.resolveWith(this)\r\n }.bind(this));\r\n return deferred\r\n },\r\n updateDimensions: function() {\r\n var that = this;\r\n var deferred = new Deferred;\r\n if (that._scrollView) {\r\n that._scrollView.update().done((function() {\r\n !that._scrollViewIsFull() && that._updateLoadingState(true);\r\n deferred.resolveWith(that)\r\n }))\r\n } else {\r\n deferred.resolveWith(that)\r\n }\r\n return deferred.promise()\r\n },\r\n reload: function() {\r\n this.callBase();\r\n this.scrollTo(0);\r\n this._pullDownHandler()\r\n },\r\n repaint: function() {\r\n this.scrollTo(0);\r\n this.callBase()\r\n },\r\n scrollTop: function() {\r\n return this._scrollView.scrollOffset().top\r\n },\r\n clientHeight: function() {\r\n return this._scrollView.clientHeight()\r\n },\r\n scrollHeight: function() {\r\n return this._scrollView.scrollHeight()\r\n },\r\n scrollBy: function(distance) {\r\n this._scrollView.scrollBy(distance)\r\n },\r\n scrollTo: function(location) {\r\n this._scrollView.scrollTo(location)\r\n },\r\n scrollToItem: function(itemElement) {\r\n var $item = this._editStrategy.getItemElement(itemElement);\r\n var item = null === $item || void 0 === $item ? void 0 : $item.get(0);\r\n this._scrollView.scrollToElement(item, {\r\n bottom: getElementMargin(item, \"bottom\")\r\n })\r\n },\r\n _dimensionChanged: function() {\r\n this.updateDimensions()\r\n }\r\n}).include(DataConverterMixin);\r\nListBase.ItemClass = ListItem;\r\n\r\nfunction getScrollView() {\r\n return _scrollView || ScrollView\r\n}\r\nexport function setScrollView(value) {\r\n _scrollView = value\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/themes.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../core/utils/size\";\r\nimport devices from \"../core/devices\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n parseHTML\r\n} from \"../core/utils/html_parser\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport readyCallbacks from \"../core/utils/ready_callbacks\";\r\nimport {\r\n value as viewPortValue,\r\n changeCallback,\r\n originalViewPort\r\n} from \"../core/utils/view_port\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n themeReadyCallback\r\n} from \"./themes_callback\";\r\nimport errors from \"./widget/ui.errors\";\r\nvar window = getWindow();\r\nvar ready = readyCallbacks.add;\r\nvar viewPort = viewPortValue;\r\nvar viewPortChanged = changeCallback;\r\nvar initDeferred = new Deferred;\r\nvar DX_LINK_SELECTOR = \"link[rel=dx-theme]\";\r\nvar THEME_ATTR = \"data-theme\";\r\nvar ACTIVE_ATTR = \"data-active\";\r\nvar DX_HAIRLINES_CLASS = \"dx-hairlines\";\r\nvar ANY_THEME = \"any\";\r\nvar context;\r\nvar $activeThemeLink;\r\nvar knownThemes;\r\nvar currentThemeName;\r\nvar pendingThemeName;\r\nvar defaultTimeout = 15e3;\r\nvar THEME_MARKER_PREFIX = \"dx.\";\r\n\r\nfunction readThemeMarker() {\r\n if (!hasWindow()) {\r\n return null\r\n }\r\n var element = $(\"<div>\", context).addClass(\"dx-theme-marker\").appendTo(context.documentElement);\r\n var result;\r\n try {\r\n result = window.getComputedStyle(element.get(0)).fontFamily;\r\n if (!result) {\r\n return null\r\n }\r\n result = result.replace(/[\"']/g, \"\");\r\n if (result.substr(0, THEME_MARKER_PREFIX.length) !== THEME_MARKER_PREFIX) {\r\n return null\r\n }\r\n return result.substr(THEME_MARKER_PREFIX.length)\r\n } finally {\r\n element.remove()\r\n }\r\n}\r\nexport function waitForThemeLoad(themeName) {\r\n var waitStartTime;\r\n var timerId;\r\n var intervalCleared = true;\r\n pendingThemeName = themeName;\r\n\r\n function handleLoaded() {\r\n pendingThemeName = null;\r\n clearInterval(timerId);\r\n intervalCleared = true;\r\n themeReadyCallback.fire();\r\n themeReadyCallback.empty();\r\n initDeferred.resolve()\r\n }\r\n if (isPendingThemeLoaded() || !defaultTimeout) {\r\n handleLoaded()\r\n } else {\r\n if (!intervalCleared) {\r\n if (pendingThemeName) {\r\n pendingThemeName = themeName\r\n }\r\n return\r\n }\r\n waitStartTime = Date.now();\r\n intervalCleared = false;\r\n timerId = setInterval((function() {\r\n var isLoaded = isPendingThemeLoaded();\r\n var isTimeout = !isLoaded && Date.now() - waitStartTime > defaultTimeout;\r\n if (isTimeout) {\r\n errors.log(\"W0004\", pendingThemeName)\r\n }\r\n if (isLoaded || isTimeout) {\r\n handleLoaded()\r\n }\r\n }), 10)\r\n }\r\n}\r\nexport function isPendingThemeLoaded() {\r\n if (!pendingThemeName) {\r\n return true\r\n }\r\n var anyThemePending = pendingThemeName === ANY_THEME;\r\n if (\"resolved\" === initDeferred.state() && anyThemePending) {\r\n return true\r\n }\r\n var themeMarker = readThemeMarker();\r\n if (themeMarker && anyThemePending) {\r\n return true\r\n }\r\n return themeMarker === pendingThemeName\r\n}\r\n\r\nfunction processMarkup() {\r\n var $allThemeLinks = $(DX_LINK_SELECTOR, context);\r\n if (!$allThemeLinks.length) {\r\n return\r\n }\r\n knownThemes = {};\r\n $activeThemeLink = $(parseHTML(\"<link rel=stylesheet>\"), context);\r\n $allThemeLinks.each((function() {\r\n var link = $(this, context);\r\n var fullThemeName = link.attr(THEME_ATTR);\r\n var url = link.attr(\"href\");\r\n var isActive = \"true\" === link.attr(ACTIVE_ATTR);\r\n knownThemes[fullThemeName] = {\r\n url: url,\r\n isActive: isActive\r\n }\r\n }));\r\n $allThemeLinks.last().after($activeThemeLink);\r\n $allThemeLinks.remove()\r\n}\r\n\r\nfunction resolveFullThemeName(desiredThemeName) {\r\n var desiredThemeParts = desiredThemeName ? desiredThemeName.split(\".\") : [];\r\n var result = null;\r\n if (knownThemes) {\r\n if (desiredThemeName in knownThemes) {\r\n return desiredThemeName\r\n }\r\n each(knownThemes, (function(knownThemeName, themeData) {\r\n var knownThemeParts = knownThemeName.split(\".\");\r\n if (desiredThemeParts[0] && knownThemeParts[0] !== desiredThemeParts[0]) {\r\n return\r\n }\r\n if (desiredThemeParts[1] && desiredThemeParts[1] !== knownThemeParts[1]) {\r\n return\r\n }\r\n if (desiredThemeParts[2] && desiredThemeParts[2] !== knownThemeParts[2]) {\r\n return\r\n }\r\n if (!result || themeData.isActive) {\r\n result = knownThemeName\r\n }\r\n if (themeData.isActive) {\r\n return false\r\n }\r\n }))\r\n }\r\n return result\r\n}\r\n\r\nfunction initContext(newContext) {\r\n try {\r\n if (newContext !== context) {\r\n knownThemes = null\r\n }\r\n } catch (x) {\r\n knownThemes = null\r\n }\r\n context = newContext\r\n}\r\nexport function init(options) {\r\n options = options || {};\r\n initContext(options.context || domAdapter.getDocument());\r\n if (!context) {\r\n return\r\n }\r\n processMarkup();\r\n currentThemeName = void 0;\r\n current(options)\r\n}\r\nexport function current(options) {\r\n if (!arguments.length) {\r\n currentThemeName = currentThemeName || readThemeMarker();\r\n return currentThemeName\r\n }\r\n detachCssClasses(viewPort());\r\n options = options || {};\r\n if (\"string\" === typeof options) {\r\n options = {\r\n theme: options\r\n }\r\n }\r\n var isAutoInit = options._autoInit;\r\n var loadCallback = options.loadCallback;\r\n var currentThemeData;\r\n currentThemeName = resolveFullThemeName(options.theme || currentThemeName);\r\n if (currentThemeName) {\r\n currentThemeData = knownThemes[currentThemeName]\r\n }\r\n if (loadCallback) {\r\n themeReadyCallback.add(loadCallback)\r\n }\r\n if (currentThemeData) {\r\n $activeThemeLink.attr(\"href\", knownThemes[currentThemeName].url);\r\n if (themeReadyCallback.has() || \"resolved\" !== initDeferred.state() || options._forceTimeout) {\r\n waitForThemeLoad(currentThemeName)\r\n }\r\n } else if (isAutoInit) {\r\n if (hasWindow()) {\r\n waitForThemeLoad(ANY_THEME)\r\n }\r\n themeReadyCallback.fire();\r\n themeReadyCallback.empty()\r\n } else {\r\n throw errors.Error(\"E0021\", currentThemeName)\r\n }\r\n initDeferred.done(() => attachCssClasses(originalViewPort(), currentThemeName))\r\n}\r\n\r\nfunction getCssClasses(themeName) {\r\n themeName = themeName || current();\r\n var result = [];\r\n var themeNameParts = themeName && themeName.split(\".\");\r\n if (themeNameParts) {\r\n result.push(\"dx-theme-\" + themeNameParts[0], \"dx-theme-\" + themeNameParts[0] + \"-typography\");\r\n if (themeNameParts.length > 1) {\r\n result.push(\"dx-color-scheme-\" + themeNameParts[1] + (isMaterial(themeName) ? \"-\" + themeNameParts[2] : \"\"))\r\n }\r\n }\r\n return result\r\n}\r\nvar themeClasses;\r\nexport function attachCssClasses(element, themeName) {\r\n themeClasses = getCssClasses(themeName).join(\" \");\r\n $(element).addClass(themeClasses);\r\n ! function() {\r\n var pixelRatio = hasWindow() && window.devicePixelRatio;\r\n if (!pixelRatio || pixelRatio < 2) {\r\n return\r\n }\r\n var $tester = $(\"<div>\");\r\n $tester.css(\"border\", \".5px solid transparent\");\r\n $(\"body\").append($tester);\r\n if (1 === getOuterHeight($tester)) {\r\n $(element).addClass(DX_HAIRLINES_CLASS);\r\n themeClasses += \" \" + DX_HAIRLINES_CLASS\r\n }\r\n $tester.remove()\r\n }()\r\n}\r\nexport function detachCssClasses(element) {\r\n $(element).removeClass(themeClasses)\r\n}\r\n\r\nfunction themeReady(callback) {\r\n themeReadyCallback.add(callback)\r\n}\r\n\r\nfunction isTheme(themeRegExp, themeName) {\r\n if (!themeName) {\r\n themeName = currentThemeName || readThemeMarker()\r\n }\r\n return new RegExp(themeRegExp).test(themeName)\r\n}\r\nexport function isMaterial(themeName) {\r\n return isTheme(\"material\", themeName)\r\n}\r\nexport function isGeneric(themeName) {\r\n return isTheme(\"generic\", themeName)\r\n}\r\nexport function isDark(themeName) {\r\n return isTheme(\"dark\", themeName)\r\n}\r\nexport function isCompact(themeName) {\r\n return isTheme(\"compact\", themeName)\r\n}\r\nexport function isWebFontLoaded(text, fontWeight) {\r\n var document = domAdapter.getDocument();\r\n var testElement = document.createElement(\"span\");\r\n testElement.style.position = \"absolute\";\r\n testElement.style.top = \"-9999px\";\r\n testElement.style.left = \"-9999px\";\r\n testElement.style.visibility = \"hidden\";\r\n testElement.style.fontFamily = \"Arial\";\r\n testElement.style.fontSize = \"250px\";\r\n testElement.style.fontWeight = fontWeight;\r\n testElement.innerHTML = text;\r\n document.body.appendChild(testElement);\r\n var etalonFontWidth = testElement.offsetWidth;\r\n testElement.style.fontFamily = \"Roboto, RobotoFallback, Arial\";\r\n var testedFontWidth = testElement.offsetWidth;\r\n testElement.parentNode.removeChild(testElement);\r\n return etalonFontWidth !== testedFontWidth\r\n}\r\nexport function waitWebFont(text, fontWeight) {\r\n return new Promise(resolve => {\r\n var clear = () => {\r\n clearInterval(intervalId);\r\n clearTimeout(timeoutId);\r\n resolve()\r\n };\r\n var intervalId = setInterval(() => {\r\n if (isWebFontLoaded(text, fontWeight)) {\r\n clear()\r\n }\r\n }, 15);\r\n var timeoutId = setTimeout(clear, 2e3)\r\n })\r\n}\r\n\r\nfunction autoInit() {\r\n init({\r\n _autoInit: true,\r\n _forceTimeout: true\r\n });\r\n if ($(DX_LINK_SELECTOR, context).length) {\r\n throw errors.Error(\"E0022\")\r\n }\r\n}\r\nif (hasWindow()) {\r\n autoInit()\r\n} else {\r\n ready(autoInit)\r\n}\r\nviewPortChanged.add((function(viewPort, prevViewPort) {\r\n initDeferred.done((function() {\r\n detachCssClasses(prevViewPort);\r\n attachCssClasses(viewPort)\r\n }))\r\n}));\r\ndevices.changed.add((function() {\r\n init({\r\n _autoInit: true\r\n })\r\n}));\r\nexport {\r\n themeReady as ready\r\n};\r\nexport function resetTheme() {\r\n $activeThemeLink && $activeThemeLink.attr(\"href\", \"about:blank\");\r\n currentThemeName = null;\r\n pendingThemeName = null;\r\n initDeferred = new Deferred\r\n}\r\nexport function initialized(callback) {\r\n initDeferred.done(callback)\r\n}\r\nexport function setDefaultTimeout(timeout) {\r\n defaultTimeout = timeout\r\n}\r\nexport default {\r\n setDefaultTimeout: setDefaultTimeout,\r\n initialized: initialized,\r\n resetTheme: resetTheme,\r\n ready: themeReady,\r\n waitWebFont: waitWebFont,\r\n isWebFontLoaded: isWebFontLoaded,\r\n isCompact: isCompact,\r\n isDark: isDark,\r\n isGeneric: isGeneric,\r\n isMaterial: isMaterial,\r\n detachCssClasses: detachCssClasses,\r\n attachCssClasses: attachCssClasses,\r\n current: current,\r\n waitForThemeLoad: waitForThemeLoad,\r\n isPendingThemeLoaded: isPendingThemeLoaded\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/themes_callback.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Callbacks from \"../core/utils/callbacks\";\r\nexport var themeReadyCallback = Callbacks();\r\n","(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map","import Vue from 'vue'\n\nimport { getZIndex } from '../../util/helpers'\n\ninterface options extends Vue {\n $refs: {\n content: Element\n }\n}\n\n/* @vue/component */\nexport default Vue.extend<options>().extend({\n name: 'stackable',\n\n data () {\n return {\n stackElement: null as Element | null,\n stackExclude: null as Element[] | null,\n stackMinZIndex: 0,\n isActive: false,\n }\n },\n computed: {\n activeZIndex (): number {\n if (typeof window === 'undefined') return 0\n\n const content = this.stackElement || this.$refs.content\n // Return current zindex if not active\n\n const index = !this.isActive\n ? getZIndex(content)\n : this.getMaxZIndex(this.stackExclude || [content]) + 2\n\n if (index == null) return index\n\n // Return max current z-index (excluding self) + 2\n // (2 to leave room for an overlay below, if needed)\n return parseInt(index)\n },\n },\n methods: {\n getMaxZIndex (exclude: Element[] = []) {\n const base = this.$el\n // Start with lowest allowed z-index or z-index of\n // base component's element, whichever is greater\n const zis = [this.stackMinZIndex, getZIndex(base)]\n // Convert the NodeList to an array to\n // prevent an Edge bug with Symbol.iterator\n // https://github.com/vuetifyjs/vuetify/issues/2146\n const activeElements = [\n ...document.getElementsByClassName('v-menu__content--active'),\n ...document.getElementsByClassName('v-dialog__content--active'),\n ]\n\n // Get z-index for all active dialogs\n for (let index = 0; index < activeElements.length; index++) {\n if (!exclude.includes(activeElements[index])) {\n zis.push(getZIndex(activeElements[index]))\n }\n }\n\n return Math.max(...zis)\n },\n },\n})\n","import VProgressCircular from './VProgressCircular'\n\nexport { VProgressCircular }\nexport default VProgressCircular\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee <jeeeyul@gmail.com>\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ko = moment.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n '_'\n ),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm',\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n },\n });\n\n return ko;\n\n})));\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\n\n/**\n * Checks if `value` is a function.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n */\nfunction isFunction(value) {\n return typeof value == 'function';\n}\n\nmodule.exports = isFunction;\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = global[TARGET] && global[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n months = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم',\n ];\n\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays:\n 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysShort:\n 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function (input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ku;\n\n})));\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport Vue, { PropType } from 'vue'\n\nexport type NumberOrNumberString = PropType<string | number | undefined>\n\nexport default Vue.extend({\n name: 'measurable',\n\n props: {\n height: [Number, String] as NumberOrNumberString,\n maxHeight: [Number, String] as NumberOrNumberString,\n maxWidth: [Number, String] as NumberOrNumberString,\n minHeight: [Number, String] as NumberOrNumberString,\n minWidth: [Number, String] as NumberOrNumberString,\n width: [Number, String] as NumberOrNumberString,\n },\n\n computed: {\n measurableStyles (): object {\n const styles: Record<string, string> = {}\n\n const height = convertToUnit(this.height)\n const minHeight = convertToUnit(this.minHeight)\n const minWidth = convertToUnit(this.minWidth)\n const maxHeight = convertToUnit(this.maxHeight)\n const maxWidth = convertToUnit(this.maxWidth)\n const width = convertToUnit(this.width)\n\n if (height) styles.height = height\n if (minHeight) styles.minHeight = minHeight\n if (minWidth) styles.minWidth = minWidth\n if (maxHeight) styles.maxHeight = maxHeight\n if (maxWidth) styles.maxWidth = maxWidth\n if (width) styles.width = width\n\n return styles\n },\n },\n})\n","import VSubheader from './VSubheader'\n\nexport { VSubheader }\nexport default VSubheader\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! author : Rasid Redzic : https://github.com/rasidre\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 'm':\n return withoutSuffix\n ? 'jedna minuta'\n : isFuture\n ? 'jednu minutu'\n : 'jedne minute';\n }\n }\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jedan sat';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: processRelativeTime,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus',\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix\n ? forms(key)[0]\n : isFuture\n ? forms(key)[1]\n : forms(key)[2];\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return (\n result + translateSingular(number, withoutSuffix, key[0], isFuture)\n );\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n '_'\n ),\n standalone:\n 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n '_'\n ),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n '_'\n ),\n standalone:\n 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n '_'\n ),\n isFormat: /dddd HH:mm/,\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lt;\n\n})));\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar getAll = uncurryThis(URLSearchParamsPrototype.getAll);\nvar $has = uncurryThis(URLSearchParamsPrototype.has);\nvar params = new $URLSearchParams('a=1');\n\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nif (params.has('a', 2) || !params.has('a', undefined)) {\n defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $has(this, name);\n var values = getAll(this, name); // also validates `this`\n validateArgumentsLength(length, 1);\n var value = toString($value);\n var index = 0;\n while (index < values.length) {\n if (values[index++] === value) return true;\n } return false;\n }, { enumerable: true, unsafe: true });\n}\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createExtensionComponent = exports.createConfigurationComponent = exports.createComponent = void 0;\nvar vue2Stategy = __importStar(require(\"./strategy/vue2/index\"));\nvar vue3Stategy = __importStar(require(\"./strategy/vue3/index\"));\nvar version_1 = require(\"./version\");\nvar strategy = (0, version_1.isVue3)() ? vue3Stategy : vue2Stategy;\nexports.createComponent = strategy.createComponent;\nexports.createConfigurationComponent = strategy.createConfigurationComponent;\nexports.createExtensionComponent = strategy.createExtensionComponent;\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var vi = moment.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n '_'\n ),\n monthsShort:\n 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n '_'\n ),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return me;\n\n})));\n","import Vue, { VNode } from 'vue'\nimport VProgressLinear from '../../components/VProgressLinear'\nimport { getSlot } from '../../util/helpers'\n\ninterface colorable extends Vue {\n color?: string\n}\n\n/**\n * Loadable\n *\n * @mixin\n *\n * Used to add linear progress bar to components\n * Can use a default bar with a specific color\n * or designate a custom progress linear bar\n */\n/* @vue/component */\nexport default Vue.extend<colorable>().extend({\n name: 'loadable',\n\n props: {\n loading: {\n type: [Boolean, String],\n default: false,\n },\n loaderHeight: {\n type: [Number, String],\n default: 2,\n },\n },\n\n methods: {\n genProgress (): VNode | VNode[] | null {\n if (this.loading === false) return null\n\n return getSlot(this, 'progress') || this.$createElement(VProgressLinear, {\n props: {\n absolute: true,\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n height: this.loaderHeight,\n indeterminate: true,\n },\n })\n },\n },\n})\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\nvar baseCreate = require('lodash._basecreate'),\n isObject = require('lodash.isobject'),\n setBindData = require('lodash._setbinddata');\n\n/**\n * Used for `Array` method references.\n *\n * Normally `Array.prototype` would suffice, however, using an array literal\n * avoids issues in Narwhal.\n */\nvar arrayRef = [];\n\n/** Native method shortcuts */\nvar push = arrayRef.push;\n\n/**\n * The base implementation of `_.bind` that creates the bound function and\n * sets its meta data.\n *\n * @private\n * @param {Array} bindData The bind data array.\n * @returns {Function} Returns the new bound function.\n */\nfunction baseBind(bindData) {\n var func = bindData[0],\n partialArgs = bindData[2],\n thisArg = bindData[4];\n\n function bound() {\n // `Function#bind` spec\n // http://es5.github.io/#x15.3.4.5\n if (partialArgs) {\n var args = partialArgs.slice();\n push.apply(args, arguments);\n }\n // mimic the constructor's `return` behavior\n // http://es5.github.io/#x13.2.2\n if (this instanceof bound) {\n // ensure `new bound` is an instance of `func`\n var thisBinding = baseCreate(func.prototype),\n result = func.apply(thisBinding, args || arguments);\n return isObject(result) ? result : thisBinding;\n }\n return func.apply(thisArg, args || arguments);\n }\n setBindData(bound, bindData);\n return bound;\n}\n\nmodule.exports = baseBind;\n","/**\r\n * DevExtreme (esm/events/drag.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n data as elementData,\r\n removeData\r\n} from \"../core/element_data\";\r\nimport {\r\n wrapToArray\r\n} from \"../core/utils/array\";\r\nimport * as iteratorUtils from \"../core/utils/iterator\";\r\nimport {\r\n contains\r\n} from \"../core/utils/dom\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n eventData as eData,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport GestureEmitter from \"./gesture/emitter.gesture\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar DRAG_START_EVENT = \"dxdragstart\";\r\nvar DRAG_EVENT = \"dxdrag\";\r\nvar DRAG_END_EVENT = \"dxdragend\";\r\nvar DRAG_ENTER_EVENT = \"dxdragenter\";\r\nvar DRAG_LEAVE_EVENT = \"dxdragleave\";\r\nvar DROP_EVENT = \"dxdrop\";\r\nvar DX_DRAG_EVENTS_COUNT_KEY = \"dxDragEventsCount\";\r\nvar knownDropTargets = [];\r\nvar knownDropTargetSelectors = [];\r\nvar knownDropTargetConfigs = [];\r\nvar dropTargetRegistration = {\r\n setup: function(element, data) {\r\n var knownDropTarget = knownDropTargets.includes(element);\r\n if (!knownDropTarget) {\r\n knownDropTargets.push(element);\r\n knownDropTargetSelectors.push([]);\r\n knownDropTargetConfigs.push(data || {})\r\n }\r\n },\r\n add: function(element, handleObj) {\r\n var index = knownDropTargets.indexOf(element);\r\n this.updateEventsCounter(element, handleObj.type, 1);\r\n var selector = handleObj.selector;\r\n if (!knownDropTargetSelectors[index].includes(selector)) {\r\n knownDropTargetSelectors[index].push(selector)\r\n }\r\n },\r\n updateEventsCounter: function(element, event, value) {\r\n if ([DRAG_ENTER_EVENT, DRAG_LEAVE_EVENT, DROP_EVENT].indexOf(event) > -1) {\r\n var eventsCount = elementData(element, DX_DRAG_EVENTS_COUNT_KEY) || 0;\r\n elementData(element, DX_DRAG_EVENTS_COUNT_KEY, Math.max(0, eventsCount + value))\r\n }\r\n },\r\n remove: function(element, handleObj) {\r\n this.updateEventsCounter(element, handleObj.type, -1)\r\n },\r\n teardown: function(element) {\r\n var handlersCount = elementData(element, DX_DRAG_EVENTS_COUNT_KEY);\r\n if (!handlersCount) {\r\n var index = knownDropTargets.indexOf(element);\r\n knownDropTargets.splice(index, 1);\r\n knownDropTargetSelectors.splice(index, 1);\r\n knownDropTargetConfigs.splice(index, 1);\r\n removeData(element, DX_DRAG_EVENTS_COUNT_KEY)\r\n }\r\n }\r\n};\r\nregisterEvent(DRAG_ENTER_EVENT, dropTargetRegistration);\r\nregisterEvent(DRAG_LEAVE_EVENT, dropTargetRegistration);\r\nregisterEvent(DROP_EVENT, dropTargetRegistration);\r\nvar getItemDelegatedTargets = function($element) {\r\n var dropTargetIndex = knownDropTargets.indexOf($element.get(0));\r\n var dropTargetSelectors = knownDropTargetSelectors[dropTargetIndex].filter(selector => selector);\r\n var $delegatedTargets = $element.find(dropTargetSelectors.join(\", \"));\r\n if (knownDropTargetSelectors[dropTargetIndex].includes(void 0)) {\r\n $delegatedTargets = $delegatedTargets.add($element)\r\n }\r\n return $delegatedTargets\r\n};\r\nvar getItemConfig = function($element) {\r\n var dropTargetIndex = knownDropTargets.indexOf($element.get(0));\r\n return knownDropTargetConfigs[dropTargetIndex]\r\n};\r\nvar getItemPosition = function(dropTargetConfig, $element) {\r\n if (dropTargetConfig.itemPositionFunc) {\r\n return dropTargetConfig.itemPositionFunc($element)\r\n } else {\r\n return $element.offset()\r\n }\r\n};\r\nvar getItemSize = function(dropTargetConfig, $element) {\r\n if (dropTargetConfig.itemSizeFunc) {\r\n return dropTargetConfig.itemSizeFunc($element)\r\n }\r\n return {\r\n width: $element.get(0).getBoundingClientRect().width,\r\n height: $element.get(0).getBoundingClientRect().height\r\n }\r\n};\r\nvar DragEmitter = GestureEmitter.inherit({\r\n ctor: function(element) {\r\n this.callBase(element);\r\n this.direction = \"both\"\r\n },\r\n _init: function(e) {\r\n this._initEvent = e\r\n },\r\n _start: function(e) {\r\n e = this._fireEvent(DRAG_START_EVENT, this._initEvent);\r\n this._maxLeftOffset = e.maxLeftOffset;\r\n this._maxRightOffset = e.maxRightOffset;\r\n this._maxTopOffset = e.maxTopOffset;\r\n this._maxBottomOffset = e.maxBottomOffset;\r\n if (e.targetElements || null === e.targetElements) {\r\n var dropTargets = wrapToArray(e.targetElements || []);\r\n this._dropTargets = iteratorUtils.map(dropTargets, (function(element) {\r\n return $(element).get(0)\r\n }))\r\n } else {\r\n this._dropTargets = knownDropTargets\r\n }\r\n },\r\n _move: function(e) {\r\n var eventData = eData(e);\r\n var dragOffset = this._calculateOffset(eventData);\r\n e = this._fireEvent(DRAG_EVENT, e, {\r\n offset: dragOffset\r\n });\r\n this._processDropTargets(e);\r\n if (!e._cancelPreventDefault) {\r\n e.preventDefault()\r\n }\r\n },\r\n _calculateOffset: function(eventData) {\r\n return {\r\n x: this._calculateXOffset(eventData),\r\n y: this._calculateYOffset(eventData)\r\n }\r\n },\r\n _calculateXOffset: function(eventData) {\r\n if (\"vertical\" !== this.direction) {\r\n var offset = eventData.x - this._startEventData.x;\r\n return this._fitOffset(offset, this._maxLeftOffset, this._maxRightOffset)\r\n }\r\n return 0\r\n },\r\n _calculateYOffset: function(eventData) {\r\n if (\"horizontal\" !== this.direction) {\r\n var offset = eventData.y - this._startEventData.y;\r\n return this._fitOffset(offset, this._maxTopOffset, this._maxBottomOffset)\r\n }\r\n return 0\r\n },\r\n _fitOffset: function(offset, minOffset, maxOffset) {\r\n if (null != minOffset) {\r\n offset = Math.max(offset, -minOffset)\r\n }\r\n if (null != maxOffset) {\r\n offset = Math.min(offset, maxOffset)\r\n }\r\n return offset\r\n },\r\n _processDropTargets: function(e) {\r\n var target = this._findDropTarget(e);\r\n var sameTarget = target === this._currentDropTarget;\r\n if (!sameTarget) {\r\n this._fireDropTargetEvent(e, DRAG_LEAVE_EVENT);\r\n this._currentDropTarget = target;\r\n this._fireDropTargetEvent(e, DRAG_ENTER_EVENT)\r\n }\r\n },\r\n _fireDropTargetEvent: function(event, eventName) {\r\n if (!this._currentDropTarget) {\r\n return\r\n }\r\n var eventData = {\r\n type: eventName,\r\n originalEvent: event,\r\n draggingElement: this._$element.get(0),\r\n target: this._currentDropTarget\r\n };\r\n fireEvent(eventData)\r\n },\r\n _findDropTarget: function(e) {\r\n var that = this;\r\n var result;\r\n iteratorUtils.each(knownDropTargets, (function(_, target) {\r\n if (!that._checkDropTargetActive(target)) {\r\n return\r\n }\r\n var $target = $(target);\r\n iteratorUtils.each(getItemDelegatedTargets($target), (function(_, delegatedTarget) {\r\n var $delegatedTarget = $(delegatedTarget);\r\n if (that._checkDropTarget(getItemConfig($target), $delegatedTarget, $(result), e)) {\r\n result = delegatedTarget\r\n }\r\n }))\r\n }));\r\n return result\r\n },\r\n _checkDropTargetActive: function(target) {\r\n var active = false;\r\n iteratorUtils.each(this._dropTargets, (function(_, activeTarget) {\r\n active = active || activeTarget === target || contains(activeTarget, target);\r\n return !active\r\n }));\r\n return active\r\n },\r\n _checkDropTarget: function(config, $target, $prevTarget, e) {\r\n var isDraggingElement = $target.get(0) === $(e.target).get(0);\r\n if (isDraggingElement) {\r\n return false\r\n }\r\n var targetPosition = getItemPosition(config, $target);\r\n if (e.pageX < targetPosition.left) {\r\n return false\r\n }\r\n if (e.pageY < targetPosition.top) {\r\n return false\r\n }\r\n var targetSize = getItemSize(config, $target);\r\n if (e.pageX > targetPosition.left + targetSize.width) {\r\n return false\r\n }\r\n if (e.pageY > targetPosition.top + targetSize.height) {\r\n return false\r\n }\r\n if ($prevTarget.length && $prevTarget.closest($target).length) {\r\n return false\r\n }\r\n if (config.checkDropTarget && !config.checkDropTarget($target, e)) {\r\n return false\r\n }\r\n return $target\r\n },\r\n _end: function(e) {\r\n var eventData = eData(e);\r\n this._fireEvent(DRAG_END_EVENT, e, {\r\n offset: this._calculateOffset(eventData)\r\n });\r\n this._fireDropTargetEvent(e, DROP_EVENT);\r\n delete this._currentDropTarget\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: DragEmitter,\r\n events: [DRAG_START_EVENT, DRAG_EVENT, DRAG_END_EVENT]\r\n});\r\nexport {\r\n DRAG_EVENT as move, DRAG_START_EVENT as start, DRAG_END_EVENT as end, DRAG_ENTER_EVENT as enter, DRAG_LEAVE_EVENT as leave, DROP_EVENT as drop\r\n};\r\n","// Components\nimport VToolbar from './VToolbar'\n\n// Utilities\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VToolbarTitle = createSimpleFunctional('v-toolbar__title')\nconst VToolbarItems = createSimpleFunctional('v-toolbar__items')\n\nexport {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n },\n}\n","/*!\n * Vue.js v2.7.16\n * (c) 2014-2023 Evan You\n * Released under the MIT License.\n */\nvar emptyObject = Object.freeze({});\nvar isArray = Array.isArray;\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef(v) {\n return v === undefined || v === null;\n}\nfunction isDef(v) {\n return v !== undefined && v !== null;\n}\nfunction isTrue(v) {\n return v === true;\n}\nfunction isFalse(v) {\n return v === false;\n}\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive(value) {\n return (typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean');\n}\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n/**\n * Quick object check - this is primarily used to tell\n * objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object';\n}\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\nfunction toRawType(value) {\n return _toString.call(value).slice(8, -1);\n}\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject(obj) {\n return _toString.call(obj) === '[object Object]';\n}\nfunction isRegExp(v) {\n return _toString.call(v) === '[object RegExp]';\n}\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex(val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val);\n}\nfunction isPromise(val) {\n return (isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function');\n}\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString(val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, replacer, 2)\n : String(val);\n}\nfunction replacer(_key, val) {\n // avoid circular deps from v3\n if (val && val.__v_isRef) {\n return val.value;\n }\n return val;\n}\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber(val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n;\n}\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap(str, expectsLowerCase) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? function (val) { return map[val.toLowerCase()]; } : function (val) { return map[val]; };\n}\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n/**\n * Remove an item from an array.\n */\nfunction remove$2(arr, item) {\n var len = arr.length;\n if (len) {\n // fast path for the only / last item\n if (item === arr[len - 1]) {\n arr.length = len - 1;\n return;\n }\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1);\n }\n }\n}\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/**\n * Create a cached version of a pure function.\n */\nfunction cached(fn) {\n var cache = Object.create(null);\n return function cachedFn(str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return (c ? c.toUpperCase() : ''); });\n});\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase();\n});\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n/* istanbul ignore next */\nfunction polyfillBind(fn, ctx) {\n function boundFn(a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx);\n }\n boundFn._length = fn.length;\n return boundFn;\n}\nfunction nativeBind(fn, ctx) {\n return fn.bind(ctx);\n}\n// @ts-expect-error bind cannot be `undefined`\nvar bind = Function.prototype.bind ? nativeBind : polyfillBind;\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray(list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret;\n}\n/**\n * Mix properties into target object.\n */\nfunction extend(to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to;\n}\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject(arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res;\n}\n/* eslint-disable no-unused-vars */\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop(a, b, c) { }\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n/* eslint-enable no-unused-vars */\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual(a, b) {\n if (a === b)\n return true;\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return (a.length === b.length &&\n a.every(function (e, i) {\n return looseEqual(e, b[i]);\n }));\n }\n else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime();\n }\n else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return (keysA.length === keysB.length &&\n keysA.every(function (key) {\n return looseEqual(a[key], b[key]);\n }));\n }\n else {\n /* istanbul ignore next */\n return false;\n }\n }\n catch (e) {\n /* istanbul ignore next */\n return false;\n }\n }\n else if (!isObjectA && !isObjectB) {\n return String(a) === String(b);\n }\n else {\n return false;\n }\n}\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf(arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val))\n return i;\n }\n return -1;\n}\n/**\n * Ensure a function is called only once.\n */\nfunction once(fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n };\n}\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#polyfill\nfunction hasChanged(x, y) {\n if (x === y) {\n return x === 0 && 1 / x !== 1 / y;\n }\n else {\n return x === x || y === y;\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\nvar ASSET_TYPES = ['component', 'directive', 'filter'];\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch',\n 'renderTracked',\n 'renderTriggered'\n];\n\nvar config = {\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n /**\n * Whether to record perf\n */\n performance: false,\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n};\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved(str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5f;\n}\n/**\n * Define a property.\n */\nfunction def(obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp(\"[^\".concat(unicodeRegExp.source, \".$_\\\\d]\"));\nfunction parsePath(path) {\n if (bailRE.test(path)) {\n return;\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj)\n return;\n obj = obj[segments[i]];\n }\n return obj;\n };\n}\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nUA && UA.indexOf('android') > 0;\nvar isIOS = UA && /iphone|ipad|ipod|ios/.test(UA);\nUA && /chrome\\/\\d+/.test(UA) && !isEdge;\nUA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n// Firefox has a \"watch\" function on Object.prototype...\n// @ts-expect-error firebox support\nvar nativeWatch = {}.watch;\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', {\n get: function () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n }); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n }\n catch (e) { }\n}\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer =\n global['process'] && global['process'].env.VUE_ENV === 'server';\n }\n else {\n _isServer = false;\n }\n }\n return _isServer;\n};\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n/* istanbul ignore next */\nfunction isNative(Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString());\n}\nvar hasSymbol = typeof Symbol !== 'undefined' &&\n isNative(Symbol) &&\n typeof Reflect !== 'undefined' &&\n isNative(Reflect.ownKeys);\nvar _Set; // $flow-disable-line\n/* istanbul ignore if */ if (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n}\nelse {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /** @class */ (function () {\n function Set() {\n this.set = Object.create(null);\n }\n Set.prototype.has = function (key) {\n return this.set[key] === true;\n };\n Set.prototype.add = function (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function () {\n this.set = Object.create(null);\n };\n return Set;\n }());\n}\n\nvar currentInstance = null;\n/**\n * This is exposed for compatibility with v3 (e.g. some functions in VueUse\n * relies on it). Do not use this internally, just use `currentInstance`.\n *\n * @internal this function needs manual type declaration because it relies\n * on previously manually authored types from Vue 2\n */\nfunction getCurrentInstance() {\n return currentInstance && { proxy: currentInstance };\n}\n/**\n * @internal\n */\nfunction setCurrentInstance(vm) {\n if (vm === void 0) { vm = null; }\n if (!vm)\n currentInstance && currentInstance._scope.off();\n currentInstance = vm;\n vm && vm._scope.on();\n}\n\n/**\n * @internal\n */\nvar VNode = /** @class */ (function () {\n function VNode(tag, data, children, text, elm, context, componentOptions, asyncFactory) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n }\n Object.defineProperty(VNode.prototype, \"child\", {\n // DEPRECATED: alias for componentInstance for backwards compat.\n /* istanbul ignore next */\n get: function () {\n return this.componentInstance;\n },\n enumerable: false,\n configurable: true\n });\n return VNode;\n}());\nvar createEmptyVNode = function (text) {\n if (text === void 0) { text = ''; }\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node;\n};\nfunction createTextVNode(val) {\n return new VNode(undefined, undefined, undefined, String(val));\n}\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode(vnode) {\n var cloned = new VNode(vnode.tag, vnode.data, \n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(), vnode.text, vnode.elm, vnode.context, vnode.componentOptions, vnode.asyncFactory);\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned;\n}\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nvar uid$2 = 0;\nvar pendingCleanupDeps = [];\nvar cleanupDeps = function () {\n for (var i = 0; i < pendingCleanupDeps.length; i++) {\n var dep = pendingCleanupDeps[i];\n dep.subs = dep.subs.filter(function (s) { return s; });\n dep._pending = false;\n }\n pendingCleanupDeps.length = 0;\n};\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n * @internal\n */\nvar Dep = /** @class */ (function () {\n function Dep() {\n // pending subs cleanup\n this._pending = false;\n this.id = uid$2++;\n this.subs = [];\n }\n Dep.prototype.addSub = function (sub) {\n this.subs.push(sub);\n };\n Dep.prototype.removeSub = function (sub) {\n // #12696 deps with massive amount of subscribers are extremely slow to\n // clean up in Chromium\n // to workaround this, we unset the sub for now, and clear them on\n // next scheduler flush.\n this.subs[this.subs.indexOf(sub)] = null;\n if (!this._pending) {\n this._pending = true;\n pendingCleanupDeps.push(this);\n }\n };\n Dep.prototype.depend = function (info) {\n if (Dep.target) {\n Dep.target.addDep(this);\n if (process.env.NODE_ENV !== 'production' && info && Dep.target.onTrack) {\n Dep.target.onTrack(__assign({ effect: Dep.target }, info));\n }\n }\n };\n Dep.prototype.notify = function (info) {\n // stabilize the subscriber list first\n var subs = this.subs.filter(function (s) { return s; });\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n var sub = subs[i];\n if (process.env.NODE_ENV !== 'production' && info) {\n sub.onTrigger &&\n sub.onTrigger(__assign({ effect: subs[i] }, info));\n }\n sub.update();\n }\n };\n return Dep;\n}());\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\nfunction pushTarget(target) {\n targetStack.push(target);\n Dep.target = target;\n}\nfunction popTarget() {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break;\n case 'splice':\n inserted = args.slice(2);\n break;\n }\n if (inserted)\n ob.observeArray(inserted);\n // notify change\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"array mutation\" /* TriggerOpTypes.ARRAY_MUTATION */,\n target: this,\n key: method\n });\n }\n else {\n ob.dep.notify();\n }\n return result;\n });\n});\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\nvar NO_INITIAL_VALUE = {};\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\nfunction toggleObserving(value) {\n shouldObserve = value;\n}\n// ssr mock dep\nvar mockDep = {\n notify: noop,\n depend: noop,\n addSub: noop,\n removeSub: noop\n};\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = /** @class */ (function () {\n function Observer(value, shallow, mock) {\n if (shallow === void 0) { shallow = false; }\n if (mock === void 0) { mock = false; }\n this.value = value;\n this.shallow = shallow;\n this.mock = mock;\n // this.value = value\n this.dep = mock ? mockDep : new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (isArray(value)) {\n if (!mock) {\n if (hasProto) {\n value.__proto__ = arrayMethods;\n /* eslint-enable no-proto */\n }\n else {\n for (var i = 0, l = arrayKeys.length; i < l; i++) {\n var key = arrayKeys[i];\n def(value, key, arrayMethods[key]);\n }\n }\n }\n if (!shallow) {\n this.observeArray(value);\n }\n }\n else {\n /**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\n var keys = Object.keys(value);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n defineReactive(value, key, NO_INITIAL_VALUE, undefined, shallow, mock);\n }\n }\n }\n /**\n * Observe a list of Array items.\n */\n Observer.prototype.observeArray = function (value) {\n for (var i = 0, l = value.length; i < l; i++) {\n observe(value[i], false, this.mock);\n }\n };\n return Observer;\n}());\n// helpers\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe(value, shallow, ssrMockReactivity) {\n if (value && hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n return value.__ob__;\n }\n if (shouldObserve &&\n (ssrMockReactivity || !isServerRendering()) &&\n (isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value.__v_skip /* ReactiveFlags.SKIP */ &&\n !isRef(value) &&\n !(value instanceof VNode)) {\n return new Observer(value, shallow, ssrMockReactivity);\n }\n}\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive(obj, key, val, customSetter, shallow, mock, observeEvenIfShallow) {\n if (observeEvenIfShallow === void 0) { observeEvenIfShallow = false; }\n var dep = new Dep();\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return;\n }\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) &&\n (val === NO_INITIAL_VALUE || arguments.length === 2)) {\n val = obj[key];\n }\n var childOb = shallow ? val && val.__ob__ : observe(val, false, mock);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter() {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n if (process.env.NODE_ENV !== 'production') {\n dep.depend({\n target: obj,\n type: \"get\" /* TrackOpTypes.GET */,\n key: key\n });\n }\n else {\n dep.depend();\n }\n if (childOb) {\n childOb.dep.depend();\n if (isArray(value)) {\n dependArray(value);\n }\n }\n }\n return isRef(value) && !shallow ? value.value : value;\n },\n set: function reactiveSetter(newVal) {\n var value = getter ? getter.call(obj) : val;\n if (!hasChanged(value, newVal)) {\n return;\n }\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n }\n else if (getter) {\n // #7981: for accessor properties without setter\n return;\n }\n else if (!shallow && isRef(value) && !isRef(newVal)) {\n value.value = newVal;\n return;\n }\n else {\n val = newVal;\n }\n childOb = shallow ? newVal && newVal.__ob__ : observe(newVal, false, mock);\n if (process.env.NODE_ENV !== 'production') {\n dep.notify({\n type: \"set\" /* TriggerOpTypes.SET */,\n target: obj,\n key: key,\n newValue: newVal,\n oldValue: value\n });\n }\n else {\n dep.notify();\n }\n }\n });\n return dep;\n}\nfunction set(target, key, val) {\n if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target))) {\n warn(\"Cannot set reactive property on undefined, null, or primitive value: \".concat(target));\n }\n if (isReadonly(target)) {\n process.env.NODE_ENV !== 'production' && warn(\"Set operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n return;\n }\n var ob = target.__ob__;\n if (isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n // when mocking for SSR, array methods are not hijacked\n if (ob && !ob.shallow && ob.mock) {\n observe(val, false, true);\n }\n return val;\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val;\n }\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' &&\n warn('Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.');\n return val;\n }\n if (!ob) {\n target[key] = val;\n return val;\n }\n defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock);\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"add\" /* TriggerOpTypes.ADD */,\n target: target,\n key: key,\n newValue: val,\n oldValue: undefined\n });\n }\n else {\n ob.dep.notify();\n }\n return val;\n}\nfunction del(target, key) {\n if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target))) {\n warn(\"Cannot delete reactive property on undefined, null, or primitive value: \".concat(target));\n }\n if (isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return;\n }\n var ob = target.__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' &&\n warn('Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.');\n return;\n }\n if (isReadonly(target)) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Delete operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n return;\n }\n if (!hasOwn(target, key)) {\n return;\n }\n delete target[key];\n if (!ob) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"delete\" /* TriggerOpTypes.DELETE */,\n target: target,\n key: key\n });\n }\n else {\n ob.dep.notify();\n }\n}\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray(value) {\n for (var e = void 0, i = 0, l = value.length; i < l; i++) {\n e = value[i];\n if (e && e.__ob__) {\n e.__ob__.dep.depend();\n }\n if (isArray(e)) {\n dependArray(e);\n }\n }\n}\n\nfunction reactive(target) {\n makeReactive(target, false);\n return target;\n}\n/**\n * Return a shallowly-reactive copy of the original object, where only the root\n * level properties are reactive. It also does not auto-unwrap refs (even at the\n * root level).\n */\nfunction shallowReactive(target) {\n makeReactive(target, true);\n def(target, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, true);\n return target;\n}\nfunction makeReactive(target, shallow) {\n // if trying to observe a readonly proxy, return the readonly version.\n if (!isReadonly(target)) {\n if (process.env.NODE_ENV !== 'production') {\n if (isArray(target)) {\n warn(\"Avoid using Array as root value for \".concat(shallow ? \"shallowReactive()\" : \"reactive()\", \" as it cannot be tracked in watch() or watchEffect(). Use \").concat(shallow ? \"shallowRef()\" : \"ref()\", \" instead. This is a Vue-2-only limitation.\"));\n }\n var existingOb = target && target.__ob__;\n if (existingOb && existingOb.shallow !== shallow) {\n warn(\"Target is already a \".concat(existingOb.shallow ? \"\" : \"non-\", \"shallow reactive object, and cannot be converted to \").concat(shallow ? \"\" : \"non-\", \"shallow.\"));\n }\n }\n var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);\n if (process.env.NODE_ENV !== 'production' && !ob) {\n if (target == null || isPrimitive(target)) {\n warn(\"value cannot be made reactive: \".concat(String(target)));\n }\n if (isCollectionType(target)) {\n warn(\"Vue 2 does not support reactive collection types such as Map or Set.\");\n }\n }\n }\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\" /* ReactiveFlags.RAW */]);\n }\n return !!(value && value.__ob__);\n}\nfunction isShallow(value) {\n return !!(value && value.__v_isShallow);\n}\nfunction isReadonly(value) {\n return !!(value && value.__v_isReadonly);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n var raw = observed && observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n // non-extensible objects won't be observed anyway\n if (Object.isExtensible(value)) {\n def(value, \"__v_skip\" /* ReactiveFlags.SKIP */, true);\n }\n return value;\n}\n/**\n * @internal\n */\nfunction isCollectionType(value) {\n var type = toRawType(value);\n return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet');\n}\n\n/**\n * @internal\n */\nvar RefFlag = \"__v_isRef\";\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref$1(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n var ref = {};\n def(ref, RefFlag, true);\n def(ref, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, shallow);\n def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering()));\n return ref;\n}\nfunction triggerRef(ref) {\n if (process.env.NODE_ENV !== 'production' && !ref.dep) {\n warn(\"received object is not a triggerable ref.\");\n }\n if (process.env.NODE_ENV !== 'production') {\n ref.dep &&\n ref.dep.notify({\n type: \"set\" /* TriggerOpTypes.SET */,\n target: ref,\n key: 'value'\n });\n }\n else {\n ref.dep && ref.dep.notify();\n }\n}\nfunction unref(ref) {\n return isRef(ref) ? ref.value : ref;\n}\nfunction proxyRefs(objectWithRefs) {\n if (isReactive(objectWithRefs)) {\n return objectWithRefs;\n }\n var proxy = {};\n var keys = Object.keys(objectWithRefs);\n for (var i = 0; i < keys.length; i++) {\n proxyWithRefUnwrap(proxy, objectWithRefs, keys[i]);\n }\n return proxy;\n}\nfunction proxyWithRefUnwrap(target, source, key) {\n Object.defineProperty(target, key, {\n enumerable: true,\n configurable: true,\n get: function () {\n var val = source[key];\n if (isRef(val)) {\n return val.value;\n }\n else {\n var ob = val && val.__ob__;\n if (ob)\n ob.dep.depend();\n return val;\n }\n },\n set: function (value) {\n var oldValue = source[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n }\n else {\n source[key] = value;\n }\n }\n });\n}\nfunction customRef(factory) {\n var dep = new Dep();\n var _a = factory(function () {\n if (process.env.NODE_ENV !== 'production') {\n dep.depend({\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n else {\n dep.depend();\n }\n }, function () {\n if (process.env.NODE_ENV !== 'production') {\n dep.notify({\n target: ref,\n type: \"set\" /* TriggerOpTypes.SET */,\n key: 'value'\n });\n }\n else {\n dep.notify();\n }\n }), get = _a.get, set = _a.set;\n var ref = {\n get value() {\n return get();\n },\n set value(newVal) {\n set(newVal);\n }\n };\n def(ref, RefFlag, true);\n return ref;\n}\nfunction toRefs(object) {\n if (process.env.NODE_ENV !== 'production' && !isReactive(object)) {\n warn(\"toRefs() expects a reactive object but received a plain one.\");\n }\n var ret = isArray(object) ? new Array(object.length) : {};\n for (var key in object) {\n ret[key] = toRef(object, key);\n }\n return ret;\n}\nfunction toRef(object, key, defaultValue) {\n var val = object[key];\n if (isRef(val)) {\n return val;\n }\n var ref = {\n get value() {\n var val = object[key];\n return val === undefined ? defaultValue : val;\n },\n set value(newVal) {\n object[key] = newVal;\n }\n };\n def(ref, RefFlag, true);\n return ref;\n}\n\nvar rawToReadonlyFlag = \"__v_rawToReadonly\";\nvar rawToShallowReadonlyFlag = \"__v_rawToShallowReadonly\";\nfunction readonly(target) {\n return createReadonly(target, false);\n}\nfunction createReadonly(target, shallow) {\n if (!isPlainObject(target)) {\n if (process.env.NODE_ENV !== 'production') {\n if (isArray(target)) {\n warn(\"Vue 2 does not support readonly arrays.\");\n }\n else if (isCollectionType(target)) {\n warn(\"Vue 2 does not support readonly collection types such as Map or Set.\");\n }\n else {\n warn(\"value cannot be made readonly: \".concat(typeof target));\n }\n }\n return target;\n }\n if (process.env.NODE_ENV !== 'production' && !Object.isExtensible(target)) {\n warn(\"Vue 2 does not support creating readonly proxy for non-extensible object.\");\n }\n // already a readonly object\n if (isReadonly(target)) {\n return target;\n }\n // already has a readonly proxy\n var existingFlag = shallow ? rawToShallowReadonlyFlag : rawToReadonlyFlag;\n var existingProxy = target[existingFlag];\n if (existingProxy) {\n return existingProxy;\n }\n var proxy = Object.create(Object.getPrototypeOf(target));\n def(target, existingFlag, proxy);\n def(proxy, \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */, true);\n def(proxy, \"__v_raw\" /* ReactiveFlags.RAW */, target);\n if (isRef(target)) {\n def(proxy, RefFlag, true);\n }\n if (shallow || isShallow(target)) {\n def(proxy, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, true);\n }\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n defineReadonlyProperty(proxy, target, keys[i], shallow);\n }\n return proxy;\n}\nfunction defineReadonlyProperty(proxy, target, key, shallow) {\n Object.defineProperty(proxy, key, {\n enumerable: true,\n configurable: true,\n get: function () {\n var val = target[key];\n return shallow || !isPlainObject(val) ? val : readonly(val);\n },\n set: function () {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Set operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n }\n });\n}\n/**\n * Returns a reactive-copy of the original object, where only the root level\n * properties are readonly, and does NOT unwrap refs nor recursively convert\n * returned properties.\n * This is used for creating the props proxy object for stateful components.\n */\nfunction shallowReadonly(target) {\n return createReadonly(target, true);\n}\n\nfunction computed(getterOrOptions, debugOptions) {\n var getter;\n var setter;\n var onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = process.env.NODE_ENV !== 'production'\n ? function () {\n warn('Write operation failed: computed value is readonly');\n }\n : noop;\n }\n else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n var watcher = isServerRendering()\n ? null\n : new Watcher(currentInstance, getter, noop, { lazy: true });\n if (process.env.NODE_ENV !== 'production' && watcher && debugOptions) {\n watcher.onTrack = debugOptions.onTrack;\n watcher.onTrigger = debugOptions.onTrigger;\n }\n var ref = {\n // some libs rely on the presence effect for checking computed refs\n // from normal refs, but the implementation doesn't matter\n effect: watcher,\n get value() {\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n if (process.env.NODE_ENV !== 'production' && Dep.target.onTrack) {\n Dep.target.onTrack({\n effect: Dep.target,\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n watcher.depend();\n }\n return watcher.value;\n }\n else {\n return getter();\n }\n },\n set value(newVal) {\n setter(newVal);\n }\n };\n def(ref, RefFlag, true);\n def(ref, \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */, onlyGetter);\n return ref;\n}\n\nvar WATCHER = \"watcher\";\nvar WATCHER_CB = \"\".concat(WATCHER, \" callback\");\nvar WATCHER_GETTER = \"\".concat(WATCHER, \" getter\");\nvar WATCHER_CLEANUP = \"\".concat(WATCHER, \" cleanup\");\n// Simple effect.\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production'\n ? __assign(__assign({}, options), { flush: 'post' }) : { flush: 'post' }));\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production'\n ? __assign(__assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\n}\n// initial value for watchers to trigger on undefined initial values\nvar INITIAL_WATCHER_VALUE = {};\n// implementation\nfunction watch(source, cb, options) {\n if (process.env.NODE_ENV !== 'production' && typeof cb !== 'function') {\n warn(\"`watch(fn, options?)` signature has been moved to a separate API. \" +\n \"Use `watchEffect(fn, options?)` instead. `watch` now only \" +\n \"supports `watch(source, cb, options?) signature.\");\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, _a) {\n var _b = _a === void 0 ? emptyObject : _a, immediate = _b.immediate, deep = _b.deep, _c = _b.flush, flush = _c === void 0 ? 'pre' : _c, onTrack = _b.onTrack, onTrigger = _b.onTrigger;\n if (process.env.NODE_ENV !== 'production' && !cb) {\n if (immediate !== undefined) {\n warn(\"watch() \\\"immediate\\\" option is only respected when using the \" +\n \"watch(source, callback, options?) signature.\");\n }\n if (deep !== undefined) {\n warn(\"watch() \\\"deep\\\" option is only respected when using the \" +\n \"watch(source, callback, options?) signature.\");\n }\n }\n var warnInvalidSource = function (s) {\n warn(\"Invalid watch source: \".concat(s, \". A watch source can only be a getter/effect \") +\n \"function, a ref, a reactive object, or an array of these types.\");\n };\n var instance = currentInstance;\n var call = function (fn, type, args) {\n if (args === void 0) { args = null; }\n var res = invokeWithErrorHandling(fn, null, args, instance, type);\n if (deep && res && res.__ob__)\n res.__ob__.dep.depend();\n return res;\n };\n var getter;\n var forceTrigger = false;\n var isMultiSource = false;\n if (isRef(source)) {\n getter = function () { return source.value; };\n forceTrigger = isShallow(source);\n }\n else if (isReactive(source)) {\n getter = function () {\n source.__ob__.dep.depend();\n return source;\n };\n deep = true;\n }\n else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some(function (s) { return isReactive(s) || isShallow(s); });\n getter = function () {\n return source.map(function (s) {\n if (isRef(s)) {\n return s.value;\n }\n else if (isReactive(s)) {\n s.__ob__.dep.depend();\n return traverse(s);\n }\n else if (isFunction(s)) {\n return call(s, WATCHER_GETTER);\n }\n else {\n process.env.NODE_ENV !== 'production' && warnInvalidSource(s);\n }\n });\n };\n }\n else if (isFunction(source)) {\n if (cb) {\n // getter with cb\n getter = function () { return call(source, WATCHER_GETTER); };\n }\n else {\n // no cb -> simple effect\n getter = function () {\n if (instance && instance._isDestroyed) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return call(source, WATCHER, [onCleanup]);\n };\n }\n }\n else {\n getter = noop;\n process.env.NODE_ENV !== 'production' && warnInvalidSource(source);\n }\n if (cb && deep) {\n var baseGetter_1 = getter;\n getter = function () { return traverse(baseGetter_1()); };\n }\n var cleanup;\n var onCleanup = function (fn) {\n cleanup = watcher.onStop = function () {\n call(fn, WATCHER_CLEANUP);\n };\n };\n // in SSR there is no need to setup an actual effect, and it should be noop\n // unless it's eager\n if (isServerRendering()) {\n // we will also not call the invalidate callback (+ runner is not set up)\n onCleanup = noop;\n if (!cb) {\n getter();\n }\n else if (immediate) {\n call(cb, WATCHER_CB, [\n getter(),\n isMultiSource ? [] : undefined,\n onCleanup\n ]);\n }\n return noop;\n }\n var watcher = new Watcher(currentInstance, getter, noop, {\n lazy: true\n });\n watcher.noRecurse = !cb;\n var oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\n // overwrite default run\n watcher.run = function () {\n if (!watcher.active) {\n return;\n }\n if (cb) {\n // watch(source, cb)\n var newValue = watcher.get();\n if (deep ||\n forceTrigger ||\n (isMultiSource\n ? newValue.some(function (v, i) {\n return hasChanged(v, oldValue[i]);\n })\n : hasChanged(newValue, oldValue))) {\n // cleanup before running cb again\n if (cleanup) {\n cleanup();\n }\n call(cb, WATCHER_CB, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n }\n else {\n // watchEffect\n watcher.get();\n }\n };\n if (flush === 'sync') {\n watcher.update = watcher.run;\n }\n else if (flush === 'post') {\n watcher.post = true;\n watcher.update = function () { return queueWatcher(watcher); };\n }\n else {\n // pre\n watcher.update = function () {\n if (instance && instance === currentInstance && !instance._isMounted) {\n // pre-watcher triggered before\n var buffer = instance._preWatchers || (instance._preWatchers = []);\n if (buffer.indexOf(watcher) < 0)\n buffer.push(watcher);\n }\n else {\n queueWatcher(watcher);\n }\n };\n }\n if (process.env.NODE_ENV !== 'production') {\n watcher.onTrack = onTrack;\n watcher.onTrigger = onTrigger;\n }\n // initial run\n if (cb) {\n if (immediate) {\n watcher.run();\n }\n else {\n oldValue = watcher.get();\n }\n }\n else if (flush === 'post' && instance) {\n instance.$once('hook:mounted', function () { return watcher.get(); });\n }\n else {\n watcher.get();\n }\n return function () {\n watcher.teardown();\n };\n}\n\nvar activeEffectScope;\nvar EffectScope = /** @class */ (function () {\n function EffectScope(detached) {\n if (detached === void 0) { detached = false; }\n this.detached = detached;\n /**\n * @internal\n */\n this.active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index =\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\n }\n }\n EffectScope.prototype.run = function (fn) {\n if (this.active) {\n var currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n }\n finally {\n activeEffectScope = currentEffectScope;\n }\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"cannot run an inactive effect scope.\");\n }\n };\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n EffectScope.prototype.on = function () {\n activeEffectScope = this;\n };\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n EffectScope.prototype.off = function () {\n activeEffectScope = this.parent;\n };\n EffectScope.prototype.stop = function (fromParent) {\n if (this.active) {\n var i = void 0, l = void 0;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].teardown();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n // nested scope, dereference from parent to avoid memory leaks\n if (!this.detached && this.parent && !fromParent) {\n // optimized O(1) removal\n var last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = undefined;\n this.active = false;\n }\n };\n return EffectScope;\n}());\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\n/**\n * @internal\n */\nfunction recordEffectScope(effect, scope) {\n if (scope === void 0) { scope = activeEffectScope; }\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"onScopeDispose() is called when there is no active effect scope\" +\n \" to be associated with.\");\n }\n}\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"provide() can only be used inside setup().\");\n }\n }\n else {\n // TS doesn't allow symbol as index type\n resolveProvided(currentInstance)[key] = value;\n }\n}\nfunction resolveProvided(vm) {\n // by default an instance inherits its parent's provides object\n // but when it needs to provide values of its own, it creates its\n // own provides object using parent provides object as prototype.\n // this way in `inject` we can simply look up injections from direct\n // parent and let the prototype chain do the work.\n var existing = vm._provided;\n var parentProvides = vm.$parent && vm.$parent._provided;\n if (parentProvides === existing) {\n return (vm._provided = Object.create(parentProvides));\n }\n else {\n return existing;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory) {\n if (treatDefaultAsFactory === void 0) { treatDefaultAsFactory = false; }\n // fallback to `currentRenderingInstance` so that this can be called in\n // a functional component\n var instance = currentInstance;\n if (instance) {\n // #2400\n // to support `app.use` plugins,\n // fallback to appContext's `provides` if the instance is at root\n var provides = instance.$parent && instance.$parent._provided;\n if (provides && key in provides) {\n // TS doesn't allow symbol as index type\n return provides[key];\n }\n else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue)\n ? defaultValue.call(instance)\n : defaultValue;\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"injection \\\"\".concat(String(key), \"\\\" not found.\"));\n }\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"inject() can only be used inside setup() or functional components.\");\n }\n}\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once,\n capture: capture,\n passive: passive\n };\n});\nfunction createFnInvoker(fns, vm) {\n function invoker() {\n var fns = invoker.fns;\n if (isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments, vm, \"v-on handler\");\n }\n }\n else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\");\n }\n }\n invoker.fns = fns;\n return invoker;\n}\nfunction updateListeners(on, oldOn, add, remove, createOnceHandler, vm) {\n var name, cur, old, event;\n for (name in on) {\n cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Invalid handler for event \\\"\".concat(event.name, \"\\\": got \") + String(cur), vm);\n }\n else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n }\n else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove(event.name, oldOn[name], event.capture);\n }\n }\n}\n\nfunction mergeVNodeHook(def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n function wrappedHook() {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove$2(invoker.fns, wrappedHook);\n }\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n }\n else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n }\n else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\nfunction extractPropsFromVNodeData(data, Ctor, tag) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return;\n }\n var res = {};\n var attrs = data.attrs, props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (key !== keyInLowerCase && attrs && hasOwn(attrs, keyInLowerCase)) {\n tip(\"Prop \\\"\".concat(keyInLowerCase, \"\\\" is passed to component \") +\n \"\".concat(formatComponentName(\n // @ts-expect-error tag is string\n tag || Ctor), \", but the declared prop name is\") +\n \" \\\"\".concat(key, \"\\\". \") +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\".concat(altKey, \"\\\" instead of \\\"\").concat(key, \"\\\".\"));\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res;\n}\nfunction checkProp(res, hash, key, altKey, preserve) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true;\n }\n else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true;\n }\n }\n return false;\n}\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren(children) {\n for (var i = 0; i < children.length; i++) {\n if (isArray(children[i])) {\n return Array.prototype.concat.apply([], children);\n }\n }\n return children;\n}\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren(children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : isArray(children)\n ? normalizeArrayChildren(children)\n : undefined;\n}\nfunction isTextNode(node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment);\n}\nfunction normalizeArrayChildren(children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean')\n continue;\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, \"\".concat(nestedIndex || '', \"_\").concat(i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + c[0].text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n }\n else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n }\n else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n }\n else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n }\n else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\".concat(nestedIndex, \"_\").concat(i, \"__\");\n }\n res.push(c);\n }\n }\n }\n return res;\n}\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList(val, render) {\n var ret = null, i, l, keys, key;\n if (isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n }\n else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n }\n else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length));\n result = iterator.next();\n }\n }\n else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n ret._isVList = true;\n return ret;\n}\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot(name, fallbackRender, props, bindObject) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) {\n // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn('slot v-bind without argument expects an Object', this);\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes =\n scopedSlotFn(props) ||\n (isFunction(fallbackRender) ? fallbackRender() : fallbackRender);\n }\n else {\n nodes =\n this.$slots[name] ||\n (isFunction(fallbackRender) ? fallbackRender() : fallbackRender);\n }\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes);\n }\n else {\n return nodes;\n }\n}\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter(id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity;\n}\n\nfunction isKeyNotMatch(expect, actual) {\n if (isArray(expect)) {\n return expect.indexOf(actual) === -1;\n }\n else {\n return expect !== actual;\n }\n}\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes(eventKeyCode, key, builtInKeyCode, eventKeyName, builtInKeyName) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName);\n }\n else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode);\n }\n else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key;\n }\n return eventKeyCode === undefined;\n}\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps(data, tag, value, asProp, isSync) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' &&\n warn('v-bind without argument expects an Object or Array value', this);\n }\n else {\n if (isArray(value)) {\n value = toObject(value);\n }\n var hash = void 0;\n var _loop_1 = function (key) {\n if (key === 'class' || key === 'style' || isReservedAttribute(key)) {\n hash = data;\n }\n else {\n var type = data.attrs && data.attrs.type;\n hash =\n asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n if (isSync) {\n var on = data.on || (data.on = {});\n on[\"update:\".concat(key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n for (var key in value) {\n _loop_1(key);\n }\n }\n }\n return data;\n}\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic(index, isInFor) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree;\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(this._renderProxy, this._c, this // for render fns generated for functional component templates\n );\n markStatic(tree, \"__static__\".concat(index), false);\n return tree;\n}\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce(tree, index, key) {\n markStatic(tree, \"__once__\".concat(index).concat(key ? \"_\".concat(key) : \"\"), true);\n return tree;\n}\nfunction markStatic(tree, key, isOnce) {\n if (isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], \"\".concat(key, \"_\").concat(i), isOnce);\n }\n }\n }\n else {\n markStaticNode(tree, key, isOnce);\n }\n}\nfunction markStaticNode(node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\nfunction bindObjectListeners(data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn('v-on without argument expects an Object value', this);\n }\n else {\n var on = (data.on = data.on ? extend({}, data.on) : {});\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data;\n}\n\nfunction resolveScopedSlots(fns, res, \n// the following are added in 2.6\nhasDynamicKeys, contentHashKey) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n }\n else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n // @ts-expect-error\n if (slot.proxy) {\n // @ts-expect-error\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n res.$key = contentHashKey;\n }\n return res;\n}\n\n// helper to process dynamic keys for dynamic arguments in v-bind and v-on.\nfunction bindDynamicKeys(baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n }\n else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\"Invalid value for dynamic directive argument (expected string or null): \".concat(key), this);\n }\n }\n return baseObj;\n}\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier(value, symbol) {\n return typeof value === 'string' ? symbol + value : value;\n}\n\nfunction installRenderHelpers(target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots(children, context) {\n if (!children || !children.length) {\n return {};\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data &&\n data.slot != null) {\n var name_1 = data.slot;\n var slot = slots[name_1] || (slots[name_1] = []);\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n }\n else {\n slot.push(child);\n }\n }\n else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name_2 in slots) {\n if (slots[name_2].every(isWhitespace)) {\n delete slots[name_2];\n }\n }\n return slots;\n}\nfunction isWhitespace(node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' ';\n}\n\nfunction isAsyncPlaceholder(node) {\n // @ts-expect-error not really boolean type\n return node.isComment && node.asyncFactory;\n}\n\nfunction normalizeScopedSlots(ownerVm, scopedSlots, normalSlots, prevScopedSlots) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = scopedSlots ? !!scopedSlots.$stable : !hasNormalSlots;\n var key = scopedSlots && scopedSlots.$key;\n if (!scopedSlots) {\n res = {};\n }\n else if (scopedSlots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return scopedSlots._normalized;\n }\n else if (isStable &&\n prevScopedSlots &&\n prevScopedSlots !== emptyObject &&\n key === prevScopedSlots.$key &&\n !hasNormalSlots &&\n !prevScopedSlots.$hasNormal) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevScopedSlots;\n }\n else {\n res = {};\n for (var key_1 in scopedSlots) {\n if (scopedSlots[key_1] && key_1[0] !== '$') {\n res[key_1] = normalizeScopedSlot(ownerVm, normalSlots, key_1, scopedSlots[key_1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key_2 in normalSlots) {\n if (!(key_2 in res)) {\n res[key_2] = proxyNormalSlot(normalSlots, key_2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (scopedSlots && Object.isExtensible(scopedSlots)) {\n scopedSlots._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res;\n}\nfunction normalizeScopedSlot(vm, normalSlots, key, fn) {\n var normalized = function () {\n var cur = currentInstance;\n setCurrentInstance(vm);\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res =\n res && typeof res === 'object' && !isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n var vnode = res && res[0];\n setCurrentInstance(cur);\n return res &&\n (!vnode ||\n (res.length === 1 && vnode.isComment && !isAsyncPlaceholder(vnode))) // #9658, #10391\n ? undefined\n : res;\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized;\n}\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; };\n}\n\nfunction initSetup(vm) {\n var options = vm.$options;\n var setup = options.setup;\n if (setup) {\n var ctx = (vm._setupContext = createSetupContext(vm));\n setCurrentInstance(vm);\n pushTarget();\n var setupResult = invokeWithErrorHandling(setup, null, [vm._props || shallowReactive({}), ctx], vm, \"setup\");\n popTarget();\n setCurrentInstance();\n if (isFunction(setupResult)) {\n // render function\n // @ts-ignore\n options.render = setupResult;\n }\n else if (isObject(setupResult)) {\n // bindings\n if (process.env.NODE_ENV !== 'production' && setupResult instanceof VNode) {\n warn(\"setup() should not return VNodes directly - \" +\n \"return a render function instead.\");\n }\n vm._setupState = setupResult;\n // __sfc indicates compiled bindings from <script setup>\n if (!setupResult.__sfc) {\n for (var key in setupResult) {\n if (!isReserved(key)) {\n proxyWithRefUnwrap(vm, setupResult, key);\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"Avoid using variables that start with _ or $ in setup().\");\n }\n }\n }\n else {\n // exposed for compiled render fn\n var proxy = (vm._setupProxy = {});\n for (var key in setupResult) {\n if (key !== '__sfc') {\n proxyWithRefUnwrap(proxy, setupResult, key);\n }\n }\n }\n }\n else if (process.env.NODE_ENV !== 'production' && setupResult !== undefined) {\n warn(\"setup() should return an object. Received: \".concat(setupResult === null ? 'null' : typeof setupResult));\n }\n }\n}\nfunction createSetupContext(vm) {\n var exposeCalled = false;\n return {\n get attrs() {\n if (!vm._attrsProxy) {\n var proxy = (vm._attrsProxy = {});\n def(proxy, '_v_attr_proxy', true);\n syncSetupProxy(proxy, vm.$attrs, emptyObject, vm, '$attrs');\n }\n return vm._attrsProxy;\n },\n get listeners() {\n if (!vm._listenersProxy) {\n var proxy = (vm._listenersProxy = {});\n syncSetupProxy(proxy, vm.$listeners, emptyObject, vm, '$listeners');\n }\n return vm._listenersProxy;\n },\n get slots() {\n return initSlotsProxy(vm);\n },\n emit: bind(vm.$emit, vm),\n expose: function (exposed) {\n if (process.env.NODE_ENV !== 'production') {\n if (exposeCalled) {\n warn(\"expose() should be called only once per setup().\", vm);\n }\n exposeCalled = true;\n }\n if (exposed) {\n Object.keys(exposed).forEach(function (key) {\n return proxyWithRefUnwrap(vm, exposed, key);\n });\n }\n }\n };\n}\nfunction syncSetupProxy(to, from, prev, instance, type) {\n var changed = false;\n for (var key in from) {\n if (!(key in to)) {\n changed = true;\n defineProxyAttr(to, key, instance, type);\n }\n else if (from[key] !== prev[key]) {\n changed = true;\n }\n }\n for (var key in to) {\n if (!(key in from)) {\n changed = true;\n delete to[key];\n }\n }\n return changed;\n}\nfunction defineProxyAttr(proxy, key, instance, type) {\n Object.defineProperty(proxy, key, {\n enumerable: true,\n configurable: true,\n get: function () {\n return instance[type][key];\n }\n });\n}\nfunction initSlotsProxy(vm) {\n if (!vm._slotsProxy) {\n syncSetupSlots((vm._slotsProxy = {}), vm.$scopedSlots);\n }\n return vm._slotsProxy;\n}\nfunction syncSetupSlots(to, from) {\n for (var key in from) {\n to[key] = from[key];\n }\n for (var key in to) {\n if (!(key in from)) {\n delete to[key];\n }\n }\n}\n/**\n * @internal use manual type def because public setup context type relies on\n * legacy VNode types\n */\nfunction useSlots() {\n return getContext().slots;\n}\n/**\n * @internal use manual type def because public setup context type relies on\n * legacy VNode types\n */\nfunction useAttrs() {\n return getContext().attrs;\n}\n/**\n * Vue 2 only\n * @internal use manual type def because public setup context type relies on\n * legacy VNode types\n */\nfunction useListeners() {\n return getContext().listeners;\n}\nfunction getContext() {\n if (process.env.NODE_ENV !== 'production' && !currentInstance) {\n warn(\"useContext() called without active instance.\");\n }\n var vm = currentInstance;\n return vm._setupContext || (vm._setupContext = createSetupContext(vm));\n}\n/**\n * Runtime helper for merging default declarations. Imported by compiled code\n * only.\n * @internal\n */\nfunction mergeDefaults(raw, defaults) {\n var props = isArray(raw)\n ? raw.reduce(function (normalized, p) { return ((normalized[p] = {}), normalized); }, {})\n : raw;\n for (var key in defaults) {\n var opt = props[key];\n if (opt) {\n if (isArray(opt) || isFunction(opt)) {\n props[key] = { type: opt, default: defaults[key] };\n }\n else {\n opt.default = defaults[key];\n }\n }\n else if (opt === null) {\n props[key] = { default: defaults[key] };\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"props default key \\\"\".concat(key, \"\\\" has no corresponding declaration.\"));\n }\n }\n return props;\n}\n\nfunction initRender(vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = (vm.$vnode = options._parentVnode); // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = parentVnode\n ? normalizeScopedSlots(vm.$parent, parentVnode.data.scopedSlots, vm.$slots)\n : emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n // @ts-expect-error\n vm._c = function (a, b, c, d) { return createElement$1(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n // @ts-expect-error\n vm.$createElement = function (a, b, c, d) { return createElement$1(vm, a, b, c, d, true); };\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive(vm, '$attrs', (parentData && parentData.attrs) || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n }\n else {\n defineReactive(vm, '$attrs', (parentData && parentData.attrs) || emptyObject, null, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\nvar currentRenderingInstance = null;\nfunction renderMixin(Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this);\n };\n Vue.prototype._render = function () {\n var vm = this;\n var _a = vm.$options, render = _a.render, _parentVnode = _a._parentVnode;\n if (_parentVnode && vm._isMounted) {\n vm.$scopedSlots = normalizeScopedSlots(vm.$parent, _parentVnode.data.scopedSlots, vm.$slots, vm.$scopedSlots);\n if (vm._slotsProxy) {\n syncSetupSlots(vm._slotsProxy, vm.$scopedSlots);\n }\n }\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var prevInst = currentInstance;\n var prevRenderInst = currentRenderingInstance;\n var vnode;\n try {\n setCurrentInstance(vm);\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n }\n catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n }\n catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n }\n else {\n vnode = vm._vnode;\n }\n }\n finally {\n currentRenderingInstance = prevRenderInst;\n setCurrentInstance(prevInst);\n }\n // if the returned array contains only a single node, allow it\n if (isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && isArray(vnode)) {\n warn('Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.', vm);\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode;\n };\n}\n\nfunction ensureCtor(comp, base) {\n if (comp.__esModule || (hasSymbol && comp[Symbol.toStringTag] === 'Module')) {\n comp = comp.default;\n }\n return isObject(comp) ? base.extend(comp) : comp;\n}\nfunction createAsyncPlaceholder(factory, data, context, children, tag) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node;\n}\nfunction resolveAsyncComponent(factory, baseCtor) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp;\n }\n if (isDef(factory.resolved)) {\n return factory.resolved;\n }\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp;\n }\n if (owner && !isDef(factory.owners)) {\n var owners_1 = (factory.owners = [owner]);\n var sync_1 = true;\n var timerLoading_1 = null;\n var timerTimeout_1 = null;\n owner.$on('hook:destroyed', function () { return remove$2(owners_1, owner); });\n var forceRender_1 = function (renderCompleted) {\n for (var i = 0, l = owners_1.length; i < l; i++) {\n owners_1[i].$forceUpdate();\n }\n if (renderCompleted) {\n owners_1.length = 0;\n if (timerLoading_1 !== null) {\n clearTimeout(timerLoading_1);\n timerLoading_1 = null;\n }\n if (timerTimeout_1 !== null) {\n clearTimeout(timerTimeout_1);\n timerTimeout_1 = null;\n }\n }\n };\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync_1) {\n forceRender_1(true);\n }\n else {\n owners_1.length = 0;\n }\n });\n var reject_1 = once(function (reason) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Failed to resolve async component: \".concat(String(factory)) +\n (reason ? \"\\nReason: \".concat(reason) : ''));\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender_1(true);\n }\n });\n var res_1 = factory(resolve, reject_1);\n if (isObject(res_1)) {\n if (isPromise(res_1)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res_1.then(resolve, reject_1);\n }\n }\n else if (isPromise(res_1.component)) {\n res_1.component.then(resolve, reject_1);\n if (isDef(res_1.error)) {\n factory.errorComp = ensureCtor(res_1.error, baseCtor);\n }\n if (isDef(res_1.loading)) {\n factory.loadingComp = ensureCtor(res_1.loading, baseCtor);\n if (res_1.delay === 0) {\n factory.loading = true;\n }\n else {\n // @ts-expect-error NodeJS timeout type\n timerLoading_1 = setTimeout(function () {\n timerLoading_1 = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender_1(false);\n }\n }, res_1.delay || 200);\n }\n }\n if (isDef(res_1.timeout)) {\n // @ts-expect-error NodeJS timeout type\n timerTimeout_1 = setTimeout(function () {\n timerTimeout_1 = null;\n if (isUndef(factory.resolved)) {\n reject_1(process.env.NODE_ENV !== 'production' ? \"timeout (\".concat(res_1.timeout, \"ms)\") : null);\n }\n }, res_1.timeout);\n }\n }\n }\n sync_1 = false;\n // return in case resolved synchronously\n return factory.loading ? factory.loadingComp : factory.resolved;\n }\n}\n\nfunction getFirstComponentChild(children) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c;\n }\n }\n }\n}\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement$1(context, tag, data, children, normalizationType, alwaysNormalize) {\n if (isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType);\n}\nfunction _createElement(context, tag, data, children, normalizationType) {\n if (isDef(data) && isDef(data.__ob__)) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Avoid using observed data object as vnode data: \".concat(JSON.stringify(data), \"\\n\") + 'Always create fresh vnode data objects in each render!', context);\n return createEmptyVNode();\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode();\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.key) && !isPrimitive(data.key)) {\n warn('Avoid using non-primitive value as key, ' +\n 'use string/number value instead.', context);\n }\n // support single function children as default scoped slot\n if (isArray(children) && isFunction(children[0])) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n }\n else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor = void 0;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) &&\n isDef(data.nativeOn) &&\n data.tag !== 'component') {\n warn(\"The .native modifier for v-on is only valid on components but it was used on <\".concat(tag, \">.\"), context);\n }\n vnode = new VNode(config.parsePlatformTagName(tag), data, children, undefined, undefined, context);\n }\n else if ((!data || !data.pre) &&\n isDef((Ctor = resolveAsset(context.$options, 'components', tag)))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n }\n else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(tag, data, children, undefined, undefined, context);\n }\n }\n else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (isArray(vnode)) {\n return vnode;\n }\n else if (isDef(vnode)) {\n if (isDef(ns))\n applyNS(vnode, ns);\n if (isDef(data))\n registerDeepBindings(data);\n return vnode;\n }\n else {\n return createEmptyVNode();\n }\n}\nfunction applyNS(vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) &&\n (isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings(data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/**\n * @internal this function needs manual public type declaration because it relies\n * on previously manually authored types from Vue 2\n */\nfunction h(type, props, children) {\n if (!currentInstance) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"globally imported h() can only be invoked when there is an active \" +\n \"component instance, e.g. synchronously in a component's render or setup function.\");\n }\n return createElement$1(currentInstance, type, props, children, 2, true);\n}\n\nfunction handleError(err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture)\n return;\n }\n catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n }\n finally {\n popTarget();\n }\n}\nfunction invokeWithErrorHandling(handler, context, args, vm, info) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n res._handled = true;\n }\n }\n catch (e) {\n handleError(e, vm, info);\n }\n return res;\n}\nfunction globalHandleError(err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info);\n }\n catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\nfunction logError(err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Error in \".concat(info, \": \\\"\").concat(err.toString(), \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if (inBrowser && typeof console !== 'undefined') {\n console.error(err);\n }\n else {\n throw err;\n }\n}\n\n/* globals MutationObserver */\nvar isUsingMicroTask = false;\nvar callbacks = [];\nvar pending = false;\nfunction flushCallbacks() {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p_1 = Promise.resolve();\n timerFunc = function () {\n p_1.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS)\n setTimeout(noop);\n };\n isUsingMicroTask = true;\n}\nelse if (!isIE &&\n typeof MutationObserver !== 'undefined' &&\n (isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]')) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter_1 = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode_1 = document.createTextNode(String(counter_1));\n observer.observe(textNode_1, {\n characterData: true\n });\n timerFunc = function () {\n counter_1 = (counter_1 + 1) % 2;\n textNode_1.data = String(counter_1);\n };\n isUsingMicroTask = true;\n}\nelse if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n}\nelse {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n/**\n * @internal\n */\nfunction nextTick(cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n }\n catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n }\n else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n });\n }\n}\n\nfunction useCssModule(name) {\n if (name === void 0) { name = '$style'; }\n /* istanbul ignore else */\n {\n if (!currentInstance) {\n process.env.NODE_ENV !== 'production' && warn(\"useCssModule must be called inside setup()\");\n return emptyObject;\n }\n var mod = currentInstance[name];\n if (!mod) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Current instance does not have CSS module named \\\"\".concat(name, \"\\\".\"));\n return emptyObject;\n }\n return mod;\n }\n}\n\n/**\n * Runtime helper for SFC's CSS variable injection feature.\n * @private\n */\nfunction useCssVars(getter) {\n if (!inBrowser && !false)\n return;\n var instance = currentInstance;\n if (!instance) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"useCssVars is called without current active component instance.\");\n return;\n }\n watchPostEffect(function () {\n var el = instance.$el;\n var vars = getter(instance, instance._setupProxy);\n if (el && el.nodeType === 1) {\n var style = el.style;\n for (var key in vars) {\n style.setProperty(\"--\".concat(key), vars[key]);\n }\n }\n });\n}\n\n/**\n * v3-compatible async component API.\n * @internal the type is manually declared in <root>/types/v3-define-async-component.d.ts\n * because it relies on existing manual types\n */\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n var loader = source.loader, loadingComponent = source.loadingComponent, errorComponent = source.errorComponent, _a = source.delay, delay = _a === void 0 ? 200 : _a, timeout = source.timeout, // undefined = never times out\n _b = source.suspensible, // undefined = never times out\n suspensible = _b === void 0 ? false : _b, // in Vue 3 default is true\n userOnError = source.onError;\n if (process.env.NODE_ENV !== 'production' && suspensible) {\n warn(\"The suspensible option for async components is not supported in Vue2. It is ignored.\");\n }\n var pendingRequest = null;\n var retries = 0;\n var retry = function () {\n retries++;\n pendingRequest = null;\n return load();\n };\n var load = function () {\n var thisRequest;\n return (pendingRequest ||\n (thisRequest = pendingRequest =\n loader()\n .catch(function (err) {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise(function (resolve, reject) {\n var userRetry = function () { return resolve(retry()); };\n var userFail = function () { return reject(err); };\n userOnError(err, userRetry, userFail, retries + 1);\n });\n }\n else {\n throw err;\n }\n })\n .then(function (comp) {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (process.env.NODE_ENV !== 'production' && !comp) {\n warn(\"Async component loader resolved to undefined. \" +\n \"If you are using retry(), make sure to return its return value.\");\n }\n // interop module default\n if (comp &&\n (comp.__esModule || comp[Symbol.toStringTag] === 'Module')) {\n comp = comp.default;\n }\n if (process.env.NODE_ENV !== 'production' && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(\"Invalid async component load result: \".concat(comp));\n }\n return comp;\n })));\n };\n return function () {\n var component = load();\n return {\n component: component,\n delay: delay,\n timeout: timeout,\n error: errorComponent,\n loading: loadingComponent\n };\n };\n}\n\nfunction createLifeCycle(hookName) {\n return function (fn, target) {\n if (target === void 0) { target = currentInstance; }\n if (!target) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"\".concat(formatName(hookName), \" is called when there is no active component instance to be \") +\n \"associated with. \" +\n \"Lifecycle injection APIs can only be used during execution of setup().\");\n return;\n }\n return injectHook(target, hookName, fn);\n };\n}\nfunction formatName(name) {\n if (name === 'beforeDestroy') {\n name = 'beforeUnmount';\n }\n else if (name === 'destroyed') {\n name = 'unmounted';\n }\n return \"on\".concat(name[0].toUpperCase() + name.slice(1));\n}\nfunction injectHook(instance, hookName, fn) {\n var options = instance.$options;\n options[hookName] = mergeLifecycleHook(options[hookName], fn);\n}\nvar onBeforeMount = createLifeCycle('beforeMount');\nvar onMounted = createLifeCycle('mounted');\nvar onBeforeUpdate = createLifeCycle('beforeUpdate');\nvar onUpdated = createLifeCycle('updated');\nvar onBeforeUnmount = createLifeCycle('beforeDestroy');\nvar onUnmounted = createLifeCycle('destroyed');\nvar onActivated = createLifeCycle('activated');\nvar onDeactivated = createLifeCycle('deactivated');\nvar onServerPrefetch = createLifeCycle('serverPrefetch');\nvar onRenderTracked = createLifeCycle('renderTracked');\nvar onRenderTriggered = createLifeCycle('renderTriggered');\nvar injectErrorCapturedHook = createLifeCycle('errorCaptured');\nfunction onErrorCaptured(hook, target) {\n if (target === void 0) { target = currentInstance; }\n injectErrorCapturedHook(hook, target);\n}\n\n/**\n * Note: also update dist/vue.runtime.mjs when adding new exports to this file.\n */\nvar version = '2.7.16';\n/**\n * @internal type is manually declared in <root>/types/v3-define-component.d.ts\n */\nfunction defineComponent(options) {\n return options;\n}\n\nvar seenObjects = new _Set();\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse(val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n return val;\n}\nfunction _traverse(val, seen) {\n var i, keys;\n var isA = isArray(val);\n if ((!isA && !isObject(val)) ||\n val.__v_skip /* ReactiveFlags.SKIP */ ||\n Object.isFrozen(val) ||\n val instanceof VNode) {\n return;\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return;\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--)\n _traverse(val[i], seen);\n }\n else if (isRef(val)) {\n _traverse(val.value, seen);\n }\n else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--)\n _traverse(val[keys[i]], seen);\n }\n}\n\nvar uid$1 = 0;\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n * @internal\n */\nvar Watcher = /** @class */ (function () {\n function Watcher(vm, expOrFn, cb, options, isRenderWatcher) {\n recordEffectScope(this, \n // if the active effect scope is manually created (not a component scope),\n // prioritize it\n activeEffectScope && !activeEffectScope._vm\n ? activeEffectScope\n : vm\n ? vm._scope\n : undefined);\n if ((this.vm = vm) && isRenderWatcher) {\n vm._watcher = this;\n }\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n if (process.env.NODE_ENV !== 'production') {\n this.onTrack = options.onTrack;\n this.onTrigger = options.onTrigger;\n }\n }\n else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$1; // uid for batching\n this.active = true;\n this.post = false;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production' ? expOrFn.toString() : '';\n // parse expression for getter\n if (isFunction(expOrFn)) {\n this.getter = expOrFn;\n }\n else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' &&\n warn(\"Failed watching path: \\\"\".concat(expOrFn, \"\\\" \") +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.', vm);\n }\n }\n this.value = this.lazy ? undefined : this.get();\n }\n /**\n * Evaluate the getter, and re-collect dependencies.\n */\n Watcher.prototype.get = function () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n }\n catch (e) {\n if (this.user) {\n handleError(e, vm, \"getter for watcher \\\"\".concat(this.expression, \"\\\"\"));\n }\n else {\n throw e;\n }\n }\n finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value;\n };\n /**\n * Add a dependency to this directive.\n */\n Watcher.prototype.addDep = function (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n };\n /**\n * Clean up for dependency collection.\n */\n Watcher.prototype.cleanupDeps = function () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n };\n /**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\n Watcher.prototype.update = function () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n }\n else if (this.sync) {\n this.run();\n }\n else {\n queueWatcher(this);\n }\n };\n /**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\n Watcher.prototype.run = function () {\n if (this.active) {\n var value = this.get();\n if (value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n var info = \"callback for watcher \\\"\".concat(this.expression, \"\\\"\");\n invokeWithErrorHandling(this.cb, this.vm, [value, oldValue], this.vm, info);\n }\n else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n };\n /**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\n Watcher.prototype.evaluate = function () {\n this.value = this.get();\n this.dirty = false;\n };\n /**\n * Depend on all deps collected by this watcher.\n */\n Watcher.prototype.depend = function () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n };\n /**\n * Remove self from all dependencies' subscriber list.\n */\n Watcher.prototype.teardown = function () {\n if (this.vm && !this.vm._isBeingDestroyed) {\n remove$2(this.vm._scope.effects, this);\n }\n if (this.active) {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n if (this.onStop) {\n this.onStop();\n }\n }\n };\n return Watcher;\n}());\n\nvar mark;\nvar measure;\nif (process.env.NODE_ENV !== 'production') {\n var perf_1 = inBrowser && window.performance;\n /* istanbul ignore if */\n if (perf_1 &&\n // @ts-ignore\n perf_1.mark &&\n // @ts-ignore\n perf_1.measure &&\n // @ts-ignore\n perf_1.clearMarks &&\n // @ts-ignore\n perf_1.clearMeasures) {\n mark = function (tag) { return perf_1.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf_1.measure(name, startTag, endTag);\n perf_1.clearMarks(startTag);\n perf_1.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\nfunction initEvents(vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\nvar target$1;\nfunction add$1(event, fn) {\n target$1.$on(event, fn);\n}\nfunction remove$1(event, fn) {\n target$1.$off(event, fn);\n}\nfunction createOnceHandler$1(event, fn) {\n var _target = target$1;\n return function onceHandler() {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n };\n}\nfunction updateComponentListeners(vm, listeners, oldListeners) {\n target$1 = vm;\n updateListeners(listeners, oldListeners || {}, add$1, remove$1, createOnceHandler$1, vm);\n target$1 = undefined;\n}\nfunction eventsMixin(Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n }\n else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm;\n };\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on() {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm;\n };\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm;\n }\n // array of events\n if (isArray(event)) {\n for (var i_1 = 0, l = event.length; i_1 < l; i_1++) {\n vm.$off(event[i_1], fn);\n }\n return vm;\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm;\n }\n if (!fn) {\n vm._events[event] = null;\n return vm;\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break;\n }\n }\n return vm;\n };\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\"Event \\\"\".concat(lowerCaseEvent, \"\\\" is emitted in component \") +\n \"\".concat(formatComponentName(vm), \" but the handler is registered for \\\"\").concat(event, \"\\\". \") +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\".concat(hyphenate(event), \"\\\" instead of \\\"\").concat(event, \"\\\".\"));\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\".concat(event, \"\\\"\");\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm;\n };\n}\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n };\n}\nfunction initLifecycle(vm) {\n var options = vm.$options;\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n vm.$children = [];\n vm.$refs = {};\n vm._provided = parent ? parent._provided : Object.create(null);\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\nfunction lifecycleMixin(Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n }\n else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n var wrapper = vm;\n while (wrapper &&\n wrapper.$vnode &&\n wrapper.$parent &&\n wrapper.$vnode === wrapper.$parent._vnode) {\n wrapper.$parent.$el = wrapper.$el;\n wrapper = wrapper.$parent;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return;\n }\n callHook$1(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove$2(parent.$children, vm);\n }\n // teardown scope. this includes both the render watcher and other\n // watchers created\n vm._scope.stop();\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook$1(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\nfunction mountComponent(vm, el, hydrating) {\n vm.$el = el;\n if (!vm.$options.render) {\n // @ts-expect-error invalid type\n vm.$options.render = createEmptyVNode;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el ||\n el) {\n warn('You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.', vm);\n }\n else {\n warn('Failed to mount component: template or render function not defined.', vm);\n }\n }\n }\n callHook$1(vm, 'beforeMount');\n var updateComponent;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\".concat(id);\n var endTag = \"vue-perf-end:\".concat(id);\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure(\"vue \".concat(name, \" render\"), startTag, endTag);\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure(\"vue \".concat(name, \" patch\"), startTag, endTag);\n };\n }\n else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n var watcherOptions = {\n before: function () {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook$1(vm, 'beforeUpdate');\n }\n }\n };\n if (process.env.NODE_ENV !== 'production') {\n watcherOptions.onTrack = function (e) { return callHook$1(vm, 'renderTracked', [e]); };\n watcherOptions.onTrigger = function (e) { return callHook$1(vm, 'renderTriggered', [e]); };\n }\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, watcherOptions, true /* isRenderWatcher */);\n hydrating = false;\n // flush buffer for flush: \"pre\" watchers queued in setup()\n var preWatchers = vm._preWatchers;\n if (preWatchers) {\n for (var i = 0; i < preWatchers.length; i++) {\n preWatchers[i].run();\n }\n }\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook$1(vm, 'mounted');\n }\n return vm;\n}\nfunction updateChildComponent(vm, propsData, listeners, parentVnode, renderChildren) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!((newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) ||\n (!newScopedSlots && vm.$scopedSlots.$key));\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot);\n var prevVNode = vm.$vnode;\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n if (vm._vnode) {\n // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n var attrs = parentVnode.data.attrs || emptyObject;\n if (vm._attrsProxy) {\n // force update if attrs are accessed and has changed since it may be\n // passed to a child component.\n if (syncSetupProxy(vm._attrsProxy, attrs, (prevVNode.data && prevVNode.data.attrs) || emptyObject, vm, '$attrs')) {\n needsForceUpdate = true;\n }\n }\n vm.$attrs = attrs;\n // update listeners\n listeners = listeners || emptyObject;\n var prevListeners = vm.$options._parentListeners;\n if (vm._listenersProxy) {\n syncSetupProxy(vm._listenersProxy, listeners, prevListeners || emptyObject, vm, '$listeners');\n }\n vm.$listeners = vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, prevListeners);\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\nfunction isInInactiveTree(vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive)\n return true;\n }\n return false;\n}\nfunction activateChildComponent(vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return;\n }\n }\n else if (vm._directInactive) {\n return;\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook$1(vm, 'activated');\n }\n}\nfunction deactivateChildComponent(vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return;\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook$1(vm, 'deactivated');\n }\n}\nfunction callHook$1(vm, hook, args, setContext) {\n if (setContext === void 0) { setContext = true; }\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var prevInst = currentInstance;\n var prevScope = getCurrentScope();\n setContext && setCurrentInstance(vm);\n var handlers = vm.$options[hook];\n var info = \"\".concat(hook, \" hook\");\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, args || null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n if (setContext) {\n setCurrentInstance(prevInst);\n prevScope && prevScope.on();\n }\n popTarget();\n}\n\nvar MAX_UPDATE_COUNT = 100;\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState() {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance_1 = window.performance;\n if (performance_1 &&\n typeof performance_1.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance_1.now(); };\n }\n}\nvar sortCompareFn = function (a, b) {\n if (a.post) {\n if (!b.post)\n return 1;\n }\n else if (b.post) {\n return -1;\n }\n return a.id - b.id;\n};\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue() {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(sortCompareFn);\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn('You may have an infinite update loop ' +\n (watcher.user\n ? \"in watcher with expression \\\"\".concat(watcher.expression, \"\\\"\")\n : \"in a component render function.\"), watcher.vm);\n break;\n }\n }\n }\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n resetSchedulerState();\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n cleanupDeps();\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\nfunction callUpdatedHooks(queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm && vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook$1(vm, 'updated');\n }\n }\n}\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent(vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\nfunction callActivatedHooks(queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher(watcher) {\n var id = watcher.id;\n if (has[id] != null) {\n return;\n }\n if (watcher === Dep.target && watcher.noRecurse) {\n return;\n }\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n }\n else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return;\n }\n nextTick(flushSchedulerQueue);\n }\n}\n\nfunction initProvide(vm) {\n var provideOption = vm.$options.provide;\n if (provideOption) {\n var provided = isFunction(provideOption)\n ? provideOption.call(vm)\n : provideOption;\n if (!isObject(provided)) {\n return;\n }\n var source = resolveProvided(vm);\n // IE9 doesn't support Object.getOwnPropertyDescriptors so we have to\n // iterate the keys ourselves.\n var keys = hasSymbol ? Reflect.ownKeys(provided) : Object.keys(provided);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n Object.defineProperty(source, key, Object.getOwnPropertyDescriptor(provided, key));\n }\n }\n}\nfunction initInjections(vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive(vm, key, result[key], function () {\n warn(\"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\".concat(key, \"\\\"\"), vm);\n });\n }\n else {\n defineReactive(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\nfunction resolveInject(inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol ? Reflect.ownKeys(inject) : Object.keys(inject);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__')\n continue;\n var provideKey = inject[key].from;\n if (provideKey in vm._provided) {\n result[key] = vm._provided[provideKey];\n }\n else if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = isFunction(provideDefault)\n ? provideDefault.call(vm)\n : provideDefault;\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"Injection \\\"\".concat(key, \"\\\" not found\"), vm);\n }\n }\n return result;\n }\n}\n\nfunction FunctionalRenderContext(data, props, children, parent, Ctor) {\n var _this = this;\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n contextVm._original = parent;\n }\n else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // @ts-ignore\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!_this.$slots) {\n normalizeScopedSlots(parent, data.scopedSlots, (_this.$slots = resolveSlots(children, parent)));\n }\n return _this.$slots;\n };\n Object.defineProperty(this, 'scopedSlots', {\n enumerable: true,\n get: function () {\n return normalizeScopedSlots(parent, data.scopedSlots, this.slots());\n }\n });\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(parent, data.scopedSlots, this.$slots);\n }\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement$1(contextVm, a, b, c, d, needNormalization);\n if (vnode && !isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode;\n };\n }\n else {\n this._c = function (a, b, c, d) {\n return createElement$1(contextVm, a, b, c, d, needNormalization);\n };\n }\n}\ninstallRenderHelpers(FunctionalRenderContext.prototype);\nfunction createFunctionalComponent(Ctor, propsData, data, contextVm, children) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n }\n else {\n if (isDef(data.attrs))\n mergeProps(props, data.attrs);\n if (isDef(data.props))\n mergeProps(props, data.props);\n }\n var renderContext = new FunctionalRenderContext(data, props, children, contextVm, Ctor);\n var vnode = options.render.call(null, renderContext._c, renderContext);\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext);\n }\n else if (isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res;\n }\n}\nfunction cloneAndMarkFunctionalResult(vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext =\n renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone;\n}\nfunction mergeProps(to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\nfunction getComponentName(options) {\n return options.name || options.__name || options._componentTag;\n}\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function (vnode, hydrating) {\n if (vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n }\n else {\n var child = (vnode.componentInstance = createComponentInstanceForVnode(vnode, activeInstance));\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n prepatch: function (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = (vnode.componentInstance = oldVnode.componentInstance);\n updateChildComponent(child, options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n insert: function (vnode) {\n var context = vnode.context, componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook$1(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n }\n else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n destroy: function (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n }\n else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\nvar hooksToMerge = Object.keys(componentVNodeHooks);\nfunction createComponent(Ctor, data, context, children, tag) {\n if (isUndef(Ctor)) {\n return;\n }\n var baseCtor = context.$options._base;\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Invalid Component definition: \".concat(String(Ctor)), context);\n }\n return;\n }\n // async component\n var asyncFactory;\n // @ts-expect-error\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(asyncFactory, data, context, children, tag);\n }\n }\n data = data || {};\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n // @ts-expect-error\n transformModel(Ctor.options, data);\n }\n // extract props\n // @ts-expect-error\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n // functional component\n // @ts-expect-error\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children);\n }\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n // @ts-expect-error\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n // return a placeholder vnode\n // @ts-expect-error\n var name = getComponentName(Ctor.options) || tag;\n var vnode = new VNode(\n // @ts-expect-error\n \"vue-component-\".concat(Ctor.cid).concat(name ? \"-\".concat(name) : ''), data, undefined, undefined, undefined, context, \n // @ts-expect-error\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children }, asyncFactory);\n return vnode;\n}\nfunction createComponentInstanceForVnode(\n// we know it's MountedComponentVNode but flow doesn't\nvnode, \n// activeInstance in lifecycle state\nparent) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options);\n}\nfunction installComponentHooks(data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n // @ts-expect-error\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook(toMerge, existing) : toMerge;\n }\n }\n}\nfunction mergeHook(f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged;\n}\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel(options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input';\n (data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback) {\n on[event] = [callback].concat(existing);\n }\n }\n else {\n on[event] = callback;\n }\n}\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace; // work around flow check\nvar formatComponentName;\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole_1 = typeof console !== 'undefined';\n var classifyRE_1 = /(?:^|[-_])(\\w)/g;\n var classify_1 = function (str) {\n return str.replace(classifyRE_1, function (c) { return c.toUpperCase(); }).replace(/[-_]/g, '');\n };\n warn = function (msg, vm) {\n if (vm === void 0) { vm = currentInstance; }\n var trace = vm ? generateComponentTrace(vm) : '';\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n }\n else if (hasConsole_1 && !config.silent) {\n console.error(\"[Vue warn]: \".concat(msg).concat(trace));\n }\n };\n tip = function (msg, vm) {\n if (hasConsole_1 && !config.silent) {\n console.warn(\"[Vue tip]: \".concat(msg) + (vm ? generateComponentTrace(vm) : ''));\n }\n };\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return '<Root>';\n }\n var options = isFunction(vm) && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = getComponentName(options);\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n return ((name ? \"<\".concat(classify_1(name), \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? \" at \".concat(file) : ''));\n };\n var repeat_1 = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1)\n res += str;\n if (n > 1)\n str += str;\n n >>= 1;\n }\n return res;\n };\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue;\n }\n else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return ('\\n\\nfound in\\n\\n' +\n tree\n .map(function (vm, i) {\n return \"\".concat(i === 0 ? '---> ' : repeat_1(' ', 5 + i * 2)).concat(isArray(vm)\n ? \"\".concat(formatComponentName(vm[0]), \"... (\").concat(vm[1], \" recursive calls)\")\n : formatComponentName(vm));\n })\n .join('\\n'));\n }\n else {\n return \"\\n\\n(found in \".concat(formatComponentName(vm), \")\");\n }\n };\n}\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\"option \\\"\".concat(key, \"\\\" can only be used during instance \") +\n 'creation with the `new` keyword.');\n }\n return defaultStrat(parent, child);\n };\n}\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData(to, from, recursive) {\n if (recursive === void 0) { recursive = true; }\n if (!from)\n return to;\n var key, toVal, fromVal;\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__')\n continue;\n toVal = to[key];\n fromVal = from[key];\n if (!recursive || !hasOwn(to, key)) {\n set(to, key, fromVal);\n }\n else if (toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)) {\n mergeData(toVal, fromVal);\n }\n }\n return to;\n}\n/**\n * Data\n */\nfunction mergeDataOrFn(parentVal, childVal, vm) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal;\n }\n if (!parentVal) {\n return childVal;\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn() {\n return mergeData(isFunction(childVal) ? childVal.call(this, this) : childVal, isFunction(parentVal) ? parentVal.call(this, this) : parentVal);\n };\n }\n else {\n return function mergedInstanceDataFn() {\n // instance merge\n var instanceData = isFunction(childVal)\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = isFunction(parentVal)\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData);\n }\n else {\n return defaultData;\n }\n };\n }\n}\nstrats.data = function (parentVal, childVal, vm) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' &&\n warn('The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.', vm);\n return parentVal;\n }\n return mergeDataOrFn(parentVal, childVal);\n }\n return mergeDataOrFn(parentVal, childVal, vm);\n};\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeLifecycleHook(parentVal, childVal) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res ? dedupeHooks(res) : res;\n}\nfunction dedupeHooks(hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res;\n}\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeLifecycleHook;\n});\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets(parentVal, childVal, vm, key) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal);\n }\n else {\n return res;\n }\n}\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (parentVal, childVal, vm, key) {\n // work around Firefox's Object.prototype.watch...\n //@ts-expect-error work around\n if (parentVal === nativeWatch)\n parentVal = undefined;\n //@ts-expect-error work around\n if (childVal === nativeWatch)\n childVal = undefined;\n /* istanbul ignore if */\n if (!childVal)\n return Object.create(parentVal || null);\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal)\n return childVal;\n var ret = {};\n extend(ret, parentVal);\n for (var key_1 in childVal) {\n var parent_1 = ret[key_1];\n var child = childVal[key_1];\n if (parent_1 && !isArray(parent_1)) {\n parent_1 = [parent_1];\n }\n ret[key_1] = parent_1 ? parent_1.concat(child) : isArray(child) ? child : [child];\n }\n return ret;\n};\n/**\n * Other object hashes.\n */\nstrats.props =\n strats.methods =\n strats.inject =\n strats.computed =\n function (parentVal, childVal, vm, key) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal)\n return childVal;\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal)\n extend(ret, childVal);\n return ret;\n };\nstrats.provide = function (parentVal, childVal) {\n if (!parentVal)\n return childVal;\n return function () {\n var ret = Object.create(null);\n mergeData(ret, isFunction(parentVal) ? parentVal.call(this) : parentVal);\n if (childVal) {\n mergeData(ret, isFunction(childVal) ? childVal.call(this) : childVal, false // non-recursive\n );\n }\n return ret;\n };\n};\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined ? parentVal : childVal;\n};\n/**\n * Validate component names\n */\nfunction checkComponents(options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\nfunction validateComponentName(name) {\n if (!new RegExp(\"^[a-zA-Z][\\\\-\\\\.0-9_\".concat(unicodeRegExp.source, \"]*$\")).test(name)) {\n warn('Invalid component name: \"' +\n name +\n '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.');\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn('Do not use built-in or reserved HTML elements as component ' +\n 'id: ' +\n name);\n }\n}\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps(options, vm) {\n var props = options.props;\n if (!props)\n return;\n var res = {};\n var i, val, name;\n if (isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n }\n else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val) ? val : { type: val };\n }\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \".concat(toRawType(props), \".\"), vm);\n }\n options.props = res;\n}\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject(options, vm) {\n var inject = options.inject;\n if (!inject)\n return;\n var normalized = (options.inject = {});\n if (isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n }\n else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \".concat(toRawType(inject), \".\"), vm);\n }\n}\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives$1(options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def = dirs[key];\n if (isFunction(def)) {\n dirs[key] = { bind: def, update: def };\n }\n }\n }\n}\nfunction assertObjectType(name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\"Invalid value for option \\\"\".concat(name, \"\\\": expected an Object, \") +\n \"but got \".concat(toRawType(value), \".\"), vm);\n }\n}\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions(parent, child, vm) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n if (isFunction(child)) {\n // @ts-expect-error\n child = child.options;\n }\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives$1(child);\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField(key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options;\n}\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset(options, type, id, warnMissing) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return;\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id))\n return assets[id];\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId))\n return assets[camelizedId];\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId))\n return assets[PascalCaseId];\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn('Failed to resolve ' + type.slice(0, -1) + ': ' + id);\n }\n return res;\n}\n\nfunction validateProp(key, propOptions, propsData, vm) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n }\n else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (process.env.NODE_ENV !== 'production') {\n assertProp(prop, key, value, vm, absent);\n }\n return value;\n}\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue(vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined;\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn('Invalid default value for prop \"' +\n key +\n '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.', vm);\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm &&\n vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined) {\n return vm._props[key];\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return isFunction(def) && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def;\n}\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp(prop, name, value, vm, absent) {\n if (prop.required && absent) {\n warn('Missing required prop: \"' + name + '\"', vm);\n return;\n }\n if (value == null && !prop.required) {\n return;\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i], vm);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n var haveExpectedTypes = expectedTypes.some(function (t) { return t; });\n if (!valid && haveExpectedTypes) {\n warn(getInvalidTypeMessage(name, value, expectedTypes), vm);\n return;\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn('Invalid prop: custom validator check failed for prop \"' + name + '\".', vm);\n }\n }\n}\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/;\nfunction assertType(value, type, vm) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n }\n else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n }\n else if (expectedType === 'Array') {\n valid = isArray(value);\n }\n else {\n try {\n valid = value instanceof type;\n }\n catch (e) {\n warn('Invalid prop type: \"' + String(type) + '\" is not a constructor', vm);\n valid = false;\n }\n }\n return {\n valid: valid,\n expectedType: expectedType\n };\n}\nvar functionTypeCheckRE = /^\\s*function (\\w+)/;\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType(fn) {\n var match = fn && fn.toString().match(functionTypeCheckRE);\n return match ? match[1] : '';\n}\nfunction isSameType(a, b) {\n return getType(a) === getType(b);\n}\nfunction getTypeIndex(type, expectedTypes) {\n if (!isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1;\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i;\n }\n }\n return -1;\n}\nfunction getInvalidTypeMessage(name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\".concat(name, \"\\\".\") +\n \" Expected \".concat(expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n isExplicable(typeof value) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \".concat(styleValue(value, expectedType));\n }\n message += \", got \".concat(receivedType, \" \");\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \".concat(styleValue(value, receivedType), \".\");\n }\n return message;\n}\nfunction styleValue(value, type) {\n if (type === 'String') {\n return \"\\\"\".concat(value, \"\\\"\");\n }\n else if (type === 'Number') {\n return \"\".concat(Number(value));\n }\n else {\n return \"\".concat(value);\n }\n}\nvar EXPLICABLE_TYPES = ['string', 'number', 'boolean'];\nfunction isExplicable(value) {\n return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; });\n}\nfunction isBoolean() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; });\n}\n\n/* not type checking this file because flow doesn't play well with Proxy */\nvar initProxy;\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals_1 = makeMap('Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' +\n 'require' // for Webpack/Browserify\n );\n var warnNonPresent_1 = function (target, key) {\n warn(\"Property or method \\\"\".concat(key, \"\\\" is not defined on the instance but \") +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://v2.vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', target);\n };\n var warnReservedPrefix_1 = function (target, key) {\n warn(\"Property \\\"\".concat(key, \"\\\" must be accessed with \\\"$data.\").concat(key, \"\\\" because \") +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://v2.vuejs.org/v2/api/#data', target);\n };\n var hasProxy_1 = typeof Proxy !== 'undefined' && isNative(Proxy);\n if (hasProxy_1) {\n var isBuiltInModifier_1 = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function (target, key, value) {\n if (isBuiltInModifier_1(key)) {\n warn(\"Avoid overwriting built-in modifier in config.keyCodes: .\".concat(key));\n return false;\n }\n else {\n target[key] = value;\n return true;\n }\n }\n });\n }\n var hasHandler_1 = {\n has: function (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals_1(key) ||\n (typeof key === 'string' &&\n key.charAt(0) === '_' &&\n !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data)\n warnReservedPrefix_1(target, key);\n else\n warnNonPresent_1(target, key);\n }\n return has || !isAllowed;\n }\n };\n var getHandler_1 = {\n get: function (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data)\n warnReservedPrefix_1(target, key);\n else\n warnNonPresent_1(target, key);\n }\n return target[key];\n }\n };\n initProxy = function initProxy(vm) {\n if (hasProxy_1) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped ? getHandler_1 : hasHandler_1;\n vm._renderProxy = new Proxy(vm, handlers);\n }\n else {\n vm._renderProxy = vm;\n }\n };\n}\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\nfunction proxy(target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter() {\n return this[sourceKey][key];\n };\n sharedPropertyDefinition.set = function proxySetter(val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\nfunction initState(vm) {\n var opts = vm.$options;\n if (opts.props)\n initProps$1(vm, opts.props);\n // Composition API\n initSetup(vm);\n if (opts.methods)\n initMethods(vm, opts.methods);\n if (opts.data) {\n initData(vm);\n }\n else {\n var ob = observe((vm._data = {}));\n ob && ob.vmCount++;\n }\n if (opts.computed)\n initComputed$1(vm, opts.computed);\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\nfunction initProps$1(vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = (vm._props = shallowReactive({}));\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = (vm.$options._propKeys = []);\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var _loop_1 = function (key) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\"\\\"\".concat(hyphenatedKey, \"\\\" is a reserved attribute and cannot be used as component prop.\"), vm);\n }\n defineReactive(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n warn(\"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\".concat(key, \"\\\"\"), vm);\n }\n }, true /* shallow */);\n }\n else {\n defineReactive(props, key, value, undefined, true /* shallow */);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n for (var key in propsOptions) {\n _loop_1(key);\n }\n toggleObserving(true);\n}\nfunction initData(vm) {\n var data = vm.$options.data;\n data = vm._data = isFunction(data) ? getData(data, vm) : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' &&\n warn('data functions should return an object:\\n' +\n 'https://v2.vuejs.org/v2/guide/components.html#data-Must-Be-a-Function', vm);\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\"Method \\\"\".concat(key, \"\\\" has already been defined as a data property.\"), vm);\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"The data property \\\"\".concat(key, \"\\\" is already declared as a prop. \") +\n \"Use prop default value instead.\", vm);\n }\n else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n var ob = observe(data);\n ob && ob.vmCount++;\n}\nfunction getData(data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm);\n }\n catch (e) {\n handleError(e, vm, \"data()\");\n return {};\n }\n finally {\n popTarget();\n }\n}\nvar computedWatcherOptions = { lazy: true };\nfunction initComputed$1(vm, computed) {\n // $flow-disable-line\n var watchers = (vm._computedWatchers = Object.create(null));\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n for (var key in computed) {\n var userDef = computed[key];\n var getter = isFunction(userDef) ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\"Getter is missing for computed property \\\"\".concat(key, \"\\\".\"), vm);\n }\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(vm, getter || noop, noop, computedWatcherOptions);\n }\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n }\n else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn(\"The computed property \\\"\".concat(key, \"\\\" is already defined in data.\"), vm);\n }\n else if (vm.$options.props && key in vm.$options.props) {\n warn(\"The computed property \\\"\".concat(key, \"\\\" is already defined as a prop.\"), vm);\n }\n else if (vm.$options.methods && key in vm.$options.methods) {\n warn(\"The computed property \\\"\".concat(key, \"\\\" is already defined as a method.\"), vm);\n }\n }\n }\n}\nfunction defineComputed(target, key, userDef) {\n var shouldCache = !isServerRendering();\n if (isFunction(userDef)) {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n }\n else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' && sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\"Computed property \\\"\".concat(key, \"\\\" was assigned to but it has no setter.\"), this);\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\nfunction createComputedGetter(key) {\n return function computedGetter() {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n if (process.env.NODE_ENV !== 'production' && Dep.target.onTrack) {\n Dep.target.onTrack({\n effect: Dep.target,\n target: this,\n type: \"get\" /* TrackOpTypes.GET */,\n key: key\n });\n }\n watcher.depend();\n }\n return watcher.value;\n }\n };\n}\nfunction createGetterInvoker(fn) {\n return function computedGetter() {\n return fn.call(this, this);\n };\n}\nfunction initMethods(vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\"Method \\\"\".concat(key, \"\\\" has type \\\"\").concat(typeof methods[key], \"\\\" in the component definition. \") +\n \"Did you reference the function correctly?\", vm);\n }\n if (props && hasOwn(props, key)) {\n warn(\"Method \\\"\".concat(key, \"\\\" has already been defined as a prop.\"), vm);\n }\n if (key in vm && isReserved(key)) {\n warn(\"Method \\\"\".concat(key, \"\\\" conflicts with an existing Vue instance method. \") +\n \"Avoid defining component methods that start with _ or $.\");\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\nfunction initWatch(vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n }\n else {\n createWatcher(vm, key, handler);\n }\n }\n}\nfunction createWatcher(vm, expOrFn, handler, options) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options);\n}\nfunction stateMixin(Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () {\n return this._data;\n };\n var propsDef = {};\n propsDef.get = function () {\n return this._props;\n };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn('Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.', this);\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n Vue.prototype.$watch = function (expOrFn, cb, options) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options);\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n var info = \"callback for immediate watcher \\\"\".concat(watcher.expression, \"\\\"\");\n pushTarget();\n invokeWithErrorHandling(cb, vm, [watcher.value], vm, info);\n popTarget();\n }\n return function unwatchFn() {\n watcher.teardown();\n };\n };\n}\n\nvar uid = 0;\nfunction initMixin$1(Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid++;\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\".concat(vm._uid);\n endTag = \"vue-perf-end:\".concat(vm._uid);\n mark(startTag);\n }\n // a flag to mark this as a Vue instance without having to do instanceof\n // check\n vm._isVue = true;\n // avoid instances from being observed\n vm.__v_skip = true;\n // effect scope\n vm._scope = new EffectScope(true /* detached */);\n // #13134 edge case where a child component is manually created during the\n // render of a parent component\n vm._scope.parent = undefined;\n vm._scope._vm = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n }\n else {\n vm.$options = mergeOptions(resolveConstructorOptions(vm.constructor), options || {}, vm);\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n }\n else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook$1(vm, 'beforeCreate', undefined, false /* setContext */);\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook$1(vm, 'created');\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure(\"vue \".concat(vm._name, \" init\"), startTag, endTag);\n }\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\nfunction initInternalComponent(vm, options) {\n var opts = (vm.$options = Object.create(vm.constructor.options));\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\nfunction resolveConstructorOptions(Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options;\n}\nfunction resolveModifiedOptions(Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified)\n modified = {};\n modified[key] = latest[key];\n }\n }\n return modified;\n}\n\nfunction Vue(options) {\n if (process.env.NODE_ENV !== 'production' && !(this instanceof Vue)) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n//@ts-expect-error Vue has function type\ninitMixin$1(Vue);\n//@ts-expect-error Vue has function type\nstateMixin(Vue);\n//@ts-expect-error Vue has function type\neventsMixin(Vue);\n//@ts-expect-error Vue has function type\nlifecycleMixin(Vue);\n//@ts-expect-error Vue has function type\nrenderMixin(Vue);\n\nfunction initUse(Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = this._installedPlugins || (this._installedPlugins = []);\n if (installedPlugins.indexOf(plugin) > -1) {\n return this;\n }\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (isFunction(plugin.install)) {\n plugin.install.apply(plugin, args);\n }\n else if (isFunction(plugin)) {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this;\n };\n}\n\nfunction initMixin(Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this;\n };\n}\n\nfunction initExtend(Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId];\n }\n var name = getComponentName(extendOptions) || getComponentName(Super.options);\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n var Sub = function VueComponent(options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(Super.options, extendOptions);\n Sub['super'] = Super;\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps(Sub);\n }\n if (Sub.options.computed) {\n initComputed(Sub);\n }\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub;\n };\n}\nfunction initProps(Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\nfunction initComputed(Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\nfunction initAssetRegisters(Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n // @ts-expect-error function is not exact same type\n Vue[type] = function (id, definition) {\n if (!definition) {\n return this.options[type + 's'][id];\n }\n else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n // @ts-expect-error\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && isFunction(definition)) {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition;\n }\n };\n });\n}\n\nfunction _getComponentName(opts) {\n return opts && (getComponentName(opts.Ctor.options) || opts.tag);\n}\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.indexOf(name) > -1;\n }\n else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1;\n }\n else if (isRegExp(pattern)) {\n return pattern.test(name);\n }\n /* istanbul ignore next */\n return false;\n}\nfunction pruneCache(keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache, keys = keepAliveInstance.keys, _vnode = keepAliveInstance._vnode, $vnode = keepAliveInstance.$vnode;\n for (var key in cache) {\n var entry = cache[key];\n if (entry) {\n var name_1 = entry.name;\n if (name_1 && !filter(name_1)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n $vnode.componentOptions.children = undefined;\n}\nfunction pruneCacheEntry(cache, key, keys, current) {\n var entry = cache[key];\n if (entry && (!current || entry.tag !== current.tag)) {\n // @ts-expect-error can be undefined\n entry.componentInstance.$destroy();\n }\n cache[key] = null;\n remove$2(keys, key);\n}\nvar patternTypes = [String, RegExp, Array];\n// TODO defineComponent\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n methods: {\n cacheVNode: function () {\n var _a = this, cache = _a.cache, keys = _a.keys, vnodeToCache = _a.vnodeToCache, keyToCache = _a.keyToCache;\n if (vnodeToCache) {\n var tag = vnodeToCache.tag, componentInstance = vnodeToCache.componentInstance, componentOptions = vnodeToCache.componentOptions;\n cache[keyToCache] = {\n name: _getComponentName(componentOptions),\n tag: tag,\n componentInstance: componentInstance\n };\n keys.push(keyToCache);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n this.vnodeToCache = null;\n }\n }\n },\n created: function () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n destroyed: function () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n mounted: function () {\n var _this = this;\n this.cacheVNode();\n this.$watch('include', function (val) {\n pruneCache(_this, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(_this, function (name) { return !matches(val, name); });\n });\n },\n updated: function () {\n this.cacheVNode();\n },\n render: function () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name_2 = _getComponentName(componentOptions);\n var _a = this, include = _a.include, exclude = _a.exclude;\n if (\n // not included\n (include && (!name_2 || !matches(include, name_2))) ||\n // excluded\n (exclude && name_2 && matches(exclude, name_2))) {\n return vnode;\n }\n var _b = this, cache = _b.cache, keys = _b.keys;\n var key = vnode.key == null\n ? // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n componentOptions.Ctor.cid +\n (componentOptions.tag ? \"::\".concat(componentOptions.tag) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove$2(keys, key);\n keys.push(key);\n }\n else {\n // delay setting the cache until update\n this.vnodeToCache = vnode;\n this.keyToCache = key;\n }\n // @ts-expect-error can vnode.data can be undefined\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0]);\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\nfunction initGlobalAPI(Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn('Do not replace the Vue.config object, set individual fields instead.');\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive\n };\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj;\n };\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n extend(Vue.options.components, builtInComponents);\n initUse(Vue);\n initMixin(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext;\n }\n});\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\nVue.version = version;\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return ((attr === 'value' && acceptValue(tag) && type !== 'button') ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video'));\n};\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\nvar isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\nvar convertEnumeratedValue = function (key, value) {\n return isFalsyAttrValue(value) || value === 'false'\n ? 'false'\n : // allow arbitrary string value for contenteditable\n key === 'contenteditable' && isValidContentEditableValue(value)\n ? value\n : 'true';\n};\nvar isBooleanAttr = makeMap('allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,' +\n 'truespeed,typemustmatch,visible');\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink';\n};\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : '';\n};\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false;\n};\n\nfunction genClassForVnode(vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n // @ts-expect-error parentNode.parent not VNodeWithData\n while (isDef((parentNode = parentNode.parent))) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class);\n}\nfunction mergeClassData(child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class) ? [child.class, parent.class] : parent.class\n };\n}\nfunction renderClass(staticClass, dynamicClass) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass));\n }\n /* istanbul ignore next */\n return '';\n}\nfunction concat(a, b) {\n return a ? (b ? a + ' ' + b : a) : b || '';\n}\nfunction stringifyClass(value) {\n if (Array.isArray(value)) {\n return stringifyArray(value);\n }\n if (isObject(value)) {\n return stringifyObject(value);\n }\n if (typeof value === 'string') {\n return value;\n }\n /* istanbul ignore next */\n return '';\n}\nfunction stringifyArray(value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef((stringified = stringifyClass(value[i]))) && stringified !== '') {\n if (res)\n res += ' ';\n res += stringified;\n }\n }\n return res;\n}\nfunction stringifyObject(value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res)\n res += ' ';\n res += key;\n }\n }\n return res;\n}\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\nvar isHTMLTag = makeMap('html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot');\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap('svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view', true);\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag);\n};\nfunction getTagNamespace(tag) {\n if (isSVG(tag)) {\n return 'svg';\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math';\n }\n}\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement(tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true;\n }\n if (isReservedTag(tag)) {\n return false;\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag];\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // https://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] =\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement);\n }\n else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()));\n }\n}\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query(el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n process.env.NODE_ENV !== 'production' && warn('Cannot find element: ' + el);\n return document.createElement('div');\n }\n return selected;\n }\n else {\n return el;\n }\n}\n\nfunction createElement(tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm;\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data &&\n vnode.data.attrs &&\n vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm;\n}\nfunction createElementNS(namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName);\n}\nfunction createTextNode(text) {\n return document.createTextNode(text);\n}\nfunction createComment(text) {\n return document.createComment(text);\n}\nfunction insertBefore(parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\nfunction removeChild(node, child) {\n node.removeChild(child);\n}\nfunction appendChild(node, child) {\n node.appendChild(child);\n}\nfunction parentNode(node) {\n return node.parentNode;\n}\nfunction nextSibling(node) {\n return node.nextSibling;\n}\nfunction tagName(node) {\n return node.tagName;\n}\nfunction setTextContent(node, text) {\n node.textContent = text;\n}\nfunction setStyleScope(node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\nvar nodeOps = /*#__PURE__*/Object.freeze({\n __proto__: null,\n createElement: createElement,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n setStyleScope: setStyleScope\n});\n\nvar ref = {\n create: function (_, vnode) {\n registerRef(vnode);\n },\n update: function (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function (vnode) {\n registerRef(vnode, true);\n }\n};\nfunction registerRef(vnode, isRemoval) {\n var ref = vnode.data.ref;\n if (!isDef(ref))\n return;\n var vm = vnode.context;\n var refValue = vnode.componentInstance || vnode.elm;\n var value = isRemoval ? null : refValue;\n var $refsValue = isRemoval ? undefined : refValue;\n if (isFunction(ref)) {\n invokeWithErrorHandling(ref, vm, [value], vm, \"template ref function\");\n return;\n }\n var isFor = vnode.data.refInFor;\n var _isString = typeof ref === 'string' || typeof ref === 'number';\n var _isRef = isRef(ref);\n var refs = vm.$refs;\n if (_isString || _isRef) {\n if (isFor) {\n var existing = _isString ? refs[ref] : ref.value;\n if (isRemoval) {\n isArray(existing) && remove$2(existing, refValue);\n }\n else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n setSetupRef(vm, ref, refs[ref]);\n }\n else {\n ref.value = [refValue];\n }\n }\n else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n }\n else if (_isString) {\n if (isRemoval && refs[ref] !== refValue) {\n return;\n }\n refs[ref] = $refsValue;\n setSetupRef(vm, ref, value);\n }\n else if (_isRef) {\n if (isRemoval && ref.value !== refValue) {\n return;\n }\n ref.value = value;\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"Invalid template ref type: \".concat(typeof ref));\n }\n }\n}\nfunction setSetupRef(_a, key, val) {\n var _setupState = _a._setupState;\n if (_setupState && hasOwn(_setupState, key)) {\n if (isRef(_setupState[key])) {\n _setupState[key].value = val;\n }\n else {\n _setupState[key] = val;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\nvar emptyNode = new VNode('', {}, []);\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\nfunction sameVnode(a, b) {\n return (a.key === b.key &&\n a.asyncFactory === b.asyncFactory &&\n ((a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)) ||\n (isTrue(a.isAsyncPlaceholder) && isUndef(b.asyncFactory.error))));\n}\nfunction sameInputType(a, b) {\n if (a.tag !== 'input')\n return true;\n var i;\n var typeA = isDef((i = a.data)) && isDef((i = i.attrs)) && i.type;\n var typeB = isDef((i = b.data)) && isDef((i = i.attrs)) && i.type;\n return typeA === typeB || (isTextInputType(typeA) && isTextInputType(typeB));\n}\nfunction createKeyToOldIdx(children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key))\n map[key] = i;\n }\n return map;\n}\nfunction createPatchFunction(backend) {\n var i, j;\n var cbs = {};\n var modules = backend.modules, nodeOps = backend.nodeOps;\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n function emptyNodeAt(elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm);\n }\n function createRmCb(childElm, listeners) {\n function remove() {\n if (--remove.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove.listeners = listeners;\n return remove;\n }\n function removeNode(el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n function isUnknownElement(vnode, inVPre) {\n return (!inVPre &&\n !vnode.ns &&\n !(config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag;\n })) &&\n config.isUnknownElement(vnode.tag));\n }\n var creatingElmInVPre = 0;\n function createElm(vnode, insertedVnodeQueue, parentElm, refElm, nested, ownerArray, index) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return;\n }\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (process.env.NODE_ENV !== 'production') {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement(vnode, creatingElmInVPre)) {\n warn('Unknown custom element: <' +\n tag +\n '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.', vnode.context);\n }\n }\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n creatingElmInVPre--;\n }\n }\n else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n function createComponent(vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef((i = i.hook)) && isDef((i = i.init))) {\n i(vnode, false /* hydrating */);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n insert(parentElm, vnode.elm, refElm);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true;\n }\n }\n }\n function initComponent(vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n }\n else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n function reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef((i = innerNode.data)) && isDef((i = i.transition))) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break;\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n function insert(parent, elm, ref) {\n if (isDef(parent)) {\n if (isDef(ref)) {\n if (nodeOps.parentNode(ref) === parent) {\n nodeOps.insertBefore(parent, elm, ref);\n }\n }\n else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n function createChildren(vnode, children, insertedVnodeQueue) {\n if (isArray(children)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(children);\n }\n for (var i_1 = 0; i_1 < children.length; ++i_1) {\n createElm(children[i_1], insertedVnodeQueue, vnode.elm, null, true, children, i_1);\n }\n }\n else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n function isPatchable(vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag);\n }\n function invokeCreateHooks(vnode, insertedVnodeQueue) {\n for (var i_2 = 0; i_2 < cbs.create.length; ++i_2) {\n cbs.create[i_2](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create))\n i.create(emptyNode, vnode);\n if (isDef(i.insert))\n insertedVnodeQueue.push(vnode);\n }\n }\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope(vnode) {\n var i;\n if (isDef((i = vnode.fnScopeId))) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef((i = ancestor.context)) && isDef((i = i.$options._scopeId))) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef((i = activeInstance)) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef((i = i.$options._scopeId))) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n function addVnodes(parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n function invokeDestroyHook(vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef((i = data.hook)) && isDef((i = i.destroy)))\n i(vnode);\n for (i = 0; i < cbs.destroy.length; ++i)\n cbs.destroy[i](vnode);\n }\n if (isDef((i = vnode.children))) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n function removeVnodes(vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n }\n else {\n // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n function removeAndInvokeRemoveHook(vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i_3;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n }\n else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef((i_3 = vnode.componentInstance)) &&\n isDef((i_3 = i_3._vnode)) &&\n isDef(i_3.data)) {\n removeAndInvokeRemoveHook(i_3, rm);\n }\n for (i_3 = 0; i_3 < cbs.remove.length; ++i_3) {\n cbs.remove[i_3](vnode, rm);\n }\n if (isDef((i_3 = vnode.data.hook)) && isDef((i_3 = i_3.remove))) {\n i_3(vnode, rm);\n }\n else {\n rm();\n }\n }\n else {\n removeNode(vnode.elm);\n }\n }\n function updateChildren(parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(newCh);\n }\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n }\n else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n }\n else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (sameVnode(oldStartVnode, newEndVnode)) {\n // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n canMove &&\n nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (sameVnode(oldEndVnode, newStartVnode)) {\n // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n canMove &&\n nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n if (isUndef(oldKeyToIdx))\n oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx);\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) {\n // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldCh[idxInOld] = undefined;\n canMove &&\n nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n }\n else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n }\n else if (newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n }\n function checkDuplicateKeys(children) {\n var seenKeys = {};\n for (var i_4 = 0; i_4 < children.length; i_4++) {\n var vnode = children[i_4];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\"Duplicate keys detected: '\".concat(key, \"'. This may cause an update error.\"), vnode.context);\n }\n else {\n seenKeys[key] = true;\n }\n }\n }\n }\n function findIdxInOld(node, oldCh, start, end) {\n for (var i_5 = start; i_5 < end; i_5++) {\n var c = oldCh[i_5];\n if (isDef(c) && sameVnode(node, c))\n return i_5;\n }\n }\n function patchVnode(oldVnode, vnode, insertedVnodeQueue, ownerArray, index, removeOnly) {\n if (oldVnode === vnode) {\n return;\n }\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // clone reused vnode\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n var elm = (vnode.elm = oldVnode.elm);\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n }\n else {\n vnode.isAsyncPlaceholder = true;\n }\n return;\n }\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))) {\n vnode.componentInstance = oldVnode.componentInstance;\n return;\n }\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef((i = data.hook)) && isDef((i = i.prepatch))) {\n i(oldVnode, vnode);\n }\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i)\n cbs.update[i](oldVnode, vnode);\n if (isDef((i = data.hook)) && isDef((i = i.update)))\n i(oldVnode, vnode);\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch)\n updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly);\n }\n else if (isDef(ch)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(ch);\n }\n if (isDef(oldVnode.text))\n nodeOps.setTextContent(elm, '');\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n }\n else if (isDef(oldCh)) {\n removeVnodes(oldCh, 0, oldCh.length - 1);\n }\n else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n }\n else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef((i = data.hook)) && isDef((i = i.postpatch)))\n i(oldVnode, vnode);\n }\n }\n function invokeInsertHook(vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n }\n else {\n for (var i_6 = 0; i_6 < queue.length; ++i_6) {\n queue[i_6].data.hook.insert(queue[i_6]);\n }\n }\n }\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate(elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag, data = vnode.data, children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true;\n }\n // assert node match\n if (process.env.NODE_ENV !== 'production') {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false;\n }\n }\n if (isDef(data)) {\n if (isDef((i = data.hook)) && isDef((i = i.init)))\n i(vnode, true /* hydrating */);\n if (isDef((i = vnode.componentInstance))) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true;\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n }\n else {\n // v-html and domProps: innerHTML\n if (isDef((i = data)) &&\n isDef((i = i.domProps)) &&\n isDef((i = i.innerHTML))) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false;\n }\n }\n else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i_7 = 0; i_7 < children.length; i_7++) {\n if (!childNode ||\n !hydrate(childNode, children[i_7], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break;\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false;\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break;\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n }\n else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true;\n }\n function assertNodeMatch(node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return (vnode.tag.indexOf('vue-component') === 0 ||\n (!isUnknownElement(vnode, inVPre) &&\n vnode.tag.toLowerCase() ===\n (node.tagName && node.tagName.toLowerCase())));\n }\n else {\n return node.nodeType === (vnode.isComment ? 8 : 3);\n }\n }\n return function patch(oldVnode, vnode, hydrating, removeOnly) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode))\n invokeDestroyHook(oldVnode);\n return;\n }\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue);\n }\n else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);\n }\n else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode;\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn('The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.');\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm = nodeOps.parentNode(oldElm);\n // create new node\n createElm(vnode, insertedVnodeQueue, \n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm, nodeOps.nextSibling(oldElm));\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i_8 = 0; i_8 < cbs.destroy.length; ++i_8) {\n cbs.destroy[i_8](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i_9 = 0; i_9 < cbs.create.length; ++i_9) {\n cbs.create[i_9](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert_1 = ancestor.data.hook.insert;\n if (insert_1.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n // clone insert hooks to avoid being mutated during iteration.\n // e.g. for customed directives under transition group.\n var cloned = insert_1.fns.slice(1);\n for (var i_10 = 0; i_10 < cloned.length; i_10++) {\n cloned[i_10]();\n }\n }\n }\n else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n // destroy old node\n if (isDef(parentElm)) {\n removeVnodes([oldVnode], 0, 0);\n }\n else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm;\n };\n}\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives(vnode) {\n // @ts-expect-error emptyNode is not VNodeWithData\n updateDirectives(vnode, emptyNode);\n }\n};\nfunction updateDirectives(oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\nfunction _update(oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives(vnode.data.directives, vnode.context);\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n }\n else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n dir.oldArg = oldDir.arg;\n callHook(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n }\n else {\n callInsert();\n }\n }\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\nvar emptyModifiers = Object.create(null);\nfunction normalizeDirectives(dirs, vm) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res;\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n if (vm._setupState && vm._setupState.__sfc) {\n var setupDef = dir.def || resolveAsset(vm, '_setupState', 'v-' + dir.name);\n if (typeof setupDef === 'function') {\n dir.def = {\n bind: setupDef,\n update: setupDef,\n };\n }\n else {\n dir.def = setupDef;\n }\n }\n dir.def = dir.def || resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res;\n}\nfunction getRawDirName(dir) {\n return (dir.rawName || \"\".concat(dir.name, \".\").concat(Object.keys(dir.modifiers || {}).join('.')));\n}\nfunction callHook(dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n }\n catch (e) {\n handleError(e, vnode.context, \"directive \".concat(dir.name, \" \").concat(hook, \" hook\"));\n }\n }\n}\n\nvar baseModules = [ref, directives];\n\nfunction updateAttrs(oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return;\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return;\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__) || isTrue(attrs._v_attr_proxy)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur, vnode.data.pre);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n }\n else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\nfunction setAttr(el, key, value, isInPre) {\n if (isInPre || el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n }\n else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n }\n else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED' ? 'true' : key;\n el.setAttribute(key, value);\n }\n }\n else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, convertEnumeratedValue(key, value));\n }\n else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n }\n else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n }\n else {\n baseSetAttr(el, key, value);\n }\n}\nfunction baseSetAttr(el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n }\n else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (isIE &&\n !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' &&\n value !== '' &&\n !el.__ieph) {\n var blocker_1 = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker_1);\n };\n el.addEventListener('input', blocker_1);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n};\n\nfunction updateClass(oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (isUndef(data.staticClass) &&\n isUndef(data.class) &&\n (isUndef(oldData) ||\n (isUndef(oldData.staticClass) && isUndef(oldData.class)))) {\n return;\n }\n var cls = genClassForVnode(vnode);\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\nvar klass = {\n create: updateClass,\n update: updateClass\n};\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents(on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event_1 = isIE ? 'change' : 'input';\n on[event_1] = [].concat(on[RANGE_TOKEN], on[event_1] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\nvar target;\nfunction createOnceHandler(event, handler, capture) {\n var _target = target; // save current target element in closure\n return function onceHandler() {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove(event, onceHandler, capture, _target);\n }\n };\n}\n// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp\n// implementation and does not fire microtasks in between event propagation, so\n// safe to exclude.\nvar useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);\nfunction add(name, handler, capture, passive) {\n // async edge case #6566: inner click event triggers patch, event handler\n // attached to outer element during patch, and triggered again. This\n // happens because browsers fire microtask ticks between event propagation.\n // the solution is simple: we save the timestamp when a handler is attached,\n // and the handler would only fire if the event passed to it was fired\n // AFTER it was attached.\n if (useMicrotaskFix) {\n var attachedTimestamp_1 = currentFlushTimestamp;\n var original_1 = handler;\n //@ts-expect-error\n handler = original_1._wrapper = function (e) {\n if (\n // no bubbling, should always fire.\n // this is just a safety net in case event.timeStamp is unreliable in\n // certain weird environments...\n e.target === e.currentTarget ||\n // event is fired after handler attachment\n e.timeStamp >= attachedTimestamp_1 ||\n // bail for environments that have buggy event.timeStamp implementations\n // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState\n // #9681 QtWebEngine event.timeStamp is negative value\n e.timeStamp <= 0 ||\n // #9448 bail if event is fired in another document in a multi-page\n // electron/nw.js app, since event.timeStamp will be using a different\n // starting reference\n e.target.ownerDocument !== document) {\n return original_1.apply(this, arguments);\n }\n };\n }\n target.addEventListener(name, handler, supportsPassive ? { capture: capture, passive: passive } : capture);\n}\nfunction remove(name, handler, capture, _target) {\n (_target || target).removeEventListener(name, \n //@ts-expect-error\n handler._wrapper || handler, capture);\n}\nfunction updateDOMListeners(oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return;\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n // vnode is empty when removing all listeners,\n // and use old vnode dom element\n target = vnode.elm || oldVnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add, remove, createOnceHandler, vnode.context);\n target = undefined;\n}\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners,\n // @ts-expect-error emptyNode has actually data\n destroy: function (vnode) { return updateDOMListeners(vnode, emptyNode); }\n};\n\nvar svgContainer;\nfunction updateDOMProps(oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return;\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__) || isTrue(props._v_attr_proxy)) {\n props = vnode.data.domProps = extend({}, props);\n }\n for (key in oldProps) {\n if (!(key in props)) {\n elm[key] = '';\n }\n }\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children)\n vnode.children.length = 0;\n if (cur === oldProps[key])\n continue;\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n if (key === 'value' && elm.tagName !== 'PROGRESS') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n }\n else if (key === 'innerHTML' &&\n isSVG(elm.tagName) &&\n isUndef(elm.innerHTML)) {\n // IE doesn't support innerHTML for SVG elements\n svgContainer = svgContainer || document.createElement('div');\n svgContainer.innerHTML = \"<svg>\".concat(cur, \"</svg>\");\n var svg = svgContainer.firstChild;\n while (elm.firstChild) {\n elm.removeChild(elm.firstChild);\n }\n while (svg.firstChild) {\n elm.appendChild(svg.firstChild);\n }\n }\n else if (\n // skip the update if old and new VDOM state is the same.\n // `value` is handled separately because the DOM value may be temporarily\n // out of sync with VDOM state due to focus, composition and modifiers.\n // This #4521 by skipping the unnecessary `checked` update.\n cur !== oldProps[key]) {\n // some property updates can throw\n // e.g. `value` on <progress> w/ non-finite value\n try {\n elm[key] = cur;\n }\n catch (e) { }\n }\n }\n}\nfunction shouldUpdateValue(elm, checkVal) {\n return (\n //@ts-expect-error\n !elm.composing &&\n (elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)));\n}\nfunction isNotInFocusAndDirty(elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try {\n notInFocus = document.activeElement !== elm;\n }\n catch (e) { }\n return notInFocus && elm.value !== checkVal;\n}\nfunction isDirtyWithModifiers(elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal);\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim();\n }\n }\n return value !== newVal;\n}\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n};\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res;\n});\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData(data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle ? extend(data.staticStyle, style) : style;\n}\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding(bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle);\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle);\n }\n return bindingStyle;\n}\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle(vnode, checkChild) {\n var res = {};\n var styleData;\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (childNode &&\n childNode.data &&\n (styleData = normalizeStyleData(childNode.data))) {\n extend(res, styleData);\n }\n }\n }\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n var parentNode = vnode;\n // @ts-expect-error parentNode.parent not VNodeWithData\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res;\n}\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n }\n else if (importantRE.test(val)) {\n el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');\n }\n else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n }\n else {\n el.style[normalizedName] = val;\n }\n }\n};\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && prop in emptyStyle) {\n return prop;\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name_1 = vendorNames[i] + capName;\n if (name_1 in emptyStyle) {\n return name_1;\n }\n }\n});\nfunction updateStyle(oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (isUndef(data.staticStyle) &&\n isUndef(data.style) &&\n isUndef(oldData.staticStyle) &&\n isUndef(oldData.style)) {\n return;\n }\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n var style = normalizeStyleBinding(vnode.data.style) || {};\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__) ? extend({}, style) : style;\n var newStyle = getStyle(vnode, true);\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n}\nvar style = {\n create: updateStyle,\n update: updateStyle\n};\n\nvar whitespaceRE = /\\s+/;\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass(el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return;\n }\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); });\n }\n else {\n el.classList.add(cls);\n }\n }\n else {\n var cur = \" \".concat(el.getAttribute('class') || '', \" \");\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass(el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return;\n }\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); });\n }\n else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n }\n else {\n var cur = \" \".concat(el.getAttribute('class') || '', \" \");\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n }\n else {\n el.removeAttribute('class');\n }\n }\n}\n\nfunction resolveTransition(def) {\n if (!def) {\n return;\n }\n /* istanbul ignore else */\n if (typeof def === 'object') {\n var res = {};\n if (def.css !== false) {\n extend(res, autoCssTransition(def.name || 'v'));\n }\n extend(res, def);\n return res;\n }\n else if (typeof def === 'string') {\n return autoCssTransition(def);\n }\n}\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: \"\".concat(name, \"-enter\"),\n enterToClass: \"\".concat(name, \"-enter-to\"),\n enterActiveClass: \"\".concat(name, \"-enter-active\"),\n leaveClass: \"\".concat(name, \"-leave\"),\n leaveToClass: \"\".concat(name, \"-leave-to\"),\n leaveActiveClass: \"\".concat(name, \"-leave-active\")\n };\n});\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (/* istanbul ignore next */ fn) { return fn(); };\nfunction nextFrame(fn) {\n raf(function () {\n // @ts-expect-error\n raf(fn);\n });\n}\nfunction addTransitionClass(el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\nfunction removeTransitionClass(el, cls) {\n if (el._transitionClasses) {\n remove$2(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\nfunction whenTransitionEnds(el, expectedType, cb) {\n var _a = getTransitionInfo(el, expectedType), type = _a.type, timeout = _a.timeout, propCount = _a.propCount;\n if (!type)\n return cb();\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\nvar transformRE = /\\b(transform|all)(,|$)/;\nfunction getTransitionInfo(el, expectedType) {\n var styles = window.getComputedStyle(el);\n // JSDOM may return undefined for transition properties\n var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');\n var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');\n var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n }\n else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n }\n else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type =\n timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform = type === TRANSITION && transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n };\n}\nfunction getTimeout(delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i]);\n }));\n}\n// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers\n// in a locale-dependent way, using a comma instead of a dot.\n// If comma is not replaced with a dot, the input will be rounded down (i.e. acting\n// as a floor function) causing unexpected behaviors\nfunction toMs(s) {\n return Number(s.slice(0, -1).replace(',', '.')) * 1000;\n}\n\nfunction enter(vnode, toggleDisplay) {\n var el = vnode.elm;\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return;\n }\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return;\n }\n var css = data.css, type = data.type, enterClass = data.enterClass, enterToClass = data.enterToClass, enterActiveClass = data.enterActiveClass, appearClass = data.appearClass, appearToClass = data.appearToClass, appearActiveClass = data.appearActiveClass, beforeEnter = data.beforeEnter, enter = data.enter, afterEnter = data.afterEnter, enterCancelled = data.enterCancelled, beforeAppear = data.beforeAppear, appear = data.appear, afterAppear = data.afterAppear, appearCancelled = data.appearCancelled, duration = data.duration;\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n context = transitionNode.context;\n transitionNode = transitionNode.parent;\n }\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n if (isAppear && !appear && appear !== '') {\n return;\n }\n var startClass = isAppear && appearClass ? appearClass : enterClass;\n var activeClass = isAppear && appearActiveClass ? appearActiveClass : enterActiveClass;\n var toClass = isAppear && appearToClass ? appearToClass : enterToClass;\n var beforeEnterHook = isAppear ? beforeAppear || beforeEnter : beforeEnter;\n var enterHook = isAppear ? (isFunction(appear) ? appear : enter) : enter;\n var afterEnterHook = isAppear ? afterAppear || afterEnter : afterEnter;\n var enterCancelledHook = isAppear\n ? appearCancelled || enterCancelled\n : enterCancelled;\n var explicitEnterDuration = toNumber(isObject(duration) ? duration.enter : duration);\n if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n var cb = (el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n // @ts-expect-error\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n }\n else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n }));\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n // @ts-expect-error\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n }\n else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\nfunction leave(vnode, rm) {\n var el = vnode.elm;\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm();\n }\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return;\n }\n var css = data.css, type = data.type, leaveClass = data.leaveClass, leaveToClass = data.leaveToClass, leaveActiveClass = data.leaveActiveClass, beforeLeave = data.beforeLeave, leave = data.leave, afterLeave = data.afterLeave, leaveCancelled = data.leaveCancelled, delayLeave = data.delayLeave, duration = data.duration;\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n var explicitLeaveDuration = toNumber(isObject(duration) ? duration.leave : duration);\n if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n var cb = (el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n // @ts-expect-error\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n }\n else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n }));\n if (delayLeave) {\n delayLeave(performLeave);\n }\n else {\n performLeave();\n }\n function performLeave() {\n // the delayed leave may have already been cancelled\n // @ts-expect-error\n if (cb.cancelled) {\n return;\n }\n // record leaving element\n if (!vnode.data.show && el.parentNode) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[vnode.key] =\n vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n // @ts-expect-error\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n }\n else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n// only used in dev mode\nfunction checkDuration(val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\"<transition> explicit \".concat(name, \" duration is not a valid number - \") +\n \"got \".concat(JSON.stringify(val), \".\"), vnode.context);\n }\n else if (isNaN(val)) {\n warn(\"<transition> explicit \".concat(name, \" duration is NaN - \") +\n 'the duration expression might be incorrect.', vnode.context);\n }\n}\nfunction isValidDuration(val) {\n return typeof val === 'number' && !isNaN(val);\n}\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength(fn) {\n if (isUndef(fn)) {\n return false;\n }\n // @ts-expect-error\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(Array.isArray(invokerFns) ? invokerFns[0] : invokerFns);\n }\n else {\n // @ts-expect-error\n return (fn._length || fn.length) > 1;\n }\n}\nfunction _enter(_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\nvar transition = inBrowser\n ? {\n create: _enter,\n activate: _enter,\n remove: function (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n // @ts-expect-error\n leave(vnode, rm);\n }\n else {\n rm();\n }\n }\n }\n : {};\n\nvar platformModules = [attrs, klass, events, domProps, style, transition];\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n // @ts-expect-error\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\nvar directive = {\n inserted: function (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n }\n else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n }\n else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n componentUpdated: function (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions_1 = el._vOptions;\n var curOptions_1 = (el._vOptions = [].map.call(el.options, getValue));\n if (curOptions_1.some(function (o, i) { return !looseEqual(o, prevOptions_1[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions_1); })\n : binding.value !== binding.oldValue &&\n hasNoMatchingOption(binding.value, curOptions_1);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\nfunction setSelected(el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\nfunction actuallySetSelected(el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"<select multiple v-model=\\\"\".concat(binding.expression, \"\\\"> \") +\n \"expects an Array value for its binding, but got \".concat(Object.prototype.toString\n .call(value)\n .slice(8, -1)), vm);\n return;\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n }\n else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return;\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\nfunction hasNoMatchingOption(value, options) {\n return options.every(function (o) { return !looseEqual(o, value); });\n}\nfunction getValue(option) {\n return '_value' in option ? option._value : option.value;\n}\nfunction onCompositionStart(e) {\n e.target.composing = true;\n}\nfunction onCompositionEnd(e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing)\n return;\n e.target.composing = false;\n trigger(e.target, 'input');\n}\nfunction trigger(el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode(vnode) {\n // @ts-expect-error\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode;\n}\nvar show = {\n bind: function (el, _a, vnode) {\n var value = _a.value;\n vnode = locateNode(vnode);\n var transition = vnode.data && vnode.data.transition;\n var originalDisplay = (el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display);\n if (value && transition) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n }\n else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n update: function (el, _a, vnode) {\n var value = _a.value, oldValue = _a.oldValue;\n /* istanbul ignore if */\n if (!value === !oldValue)\n return;\n vnode = locateNode(vnode);\n var transition = vnode.data && vnode.data.transition;\n if (transition) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n }\n else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n }\n else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n unbind: function (el, binding, vnode, oldVnode, isDestroy) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n};\n\nvar platformDirectives = {\n model: directive,\n show: show\n};\n\n// Provides transition support for a single element/component.\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild(vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children));\n }\n else {\n return vnode;\n }\n}\nfunction extractTransitionData(comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key in listeners) {\n data[camelize(key)] = listeners[key];\n }\n return data;\n}\nfunction placeholder(h, rawChild) {\n // @ts-expect-error\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n });\n }\n}\nfunction hasParentTransition(vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true;\n }\n }\n}\nfunction isSameChild(child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag;\n}\nvar isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };\nvar isVShowDirective = function (d) { return d.name === 'show'; };\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n render: function (h) {\n var _this = this;\n var children = this.$slots.default;\n if (!children) {\n return;\n }\n // filter out text nodes (possible whitespaces)\n children = children.filter(isNotTextNode);\n /* istanbul ignore if */\n if (!children.length) {\n return;\n }\n // warn multiple elements\n if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n warn('<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.', this.$parent);\n }\n var mode = this.mode;\n // warn invalid mode\n if (process.env.NODE_ENV !== 'production' && mode && mode !== 'in-out' && mode !== 'out-in') {\n warn('invalid <transition> mode: ' + mode, this.$parent);\n }\n var rawChild = children[0];\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild;\n }\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild;\n }\n if (this._leaving) {\n return placeholder(h, rawChild);\n }\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\".concat(this._uid, \"-\");\n child.key =\n child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? String(child.key).indexOf(id) === 0\n ? child.key\n : id + child.key\n : child.key;\n var data = ((child.data || (child.data = {})).transition =\n extractTransitionData(this));\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(isVShowDirective)) {\n child.data.show = true;\n }\n if (oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance &&\n oldChild.componentInstance._vnode.isComment)) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = (oldChild.data.transition = extend({}, data));\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n _this._leaving = false;\n _this.$forceUpdate();\n });\n return placeholder(h, rawChild);\n }\n else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild;\n }\n var delayedLeave_1;\n var performLeave = function () {\n delayedLeave_1();\n };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) {\n delayedLeave_1 = leave;\n });\n }\n }\n return rawChild;\n }\n};\n\n// Provides transition support for list items.\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\ndelete props.mode;\nvar TransitionGroup = {\n props: props,\n beforeMount: function () {\n var _this = this;\n var update = this._update;\n this._update = function (vnode, hydrating) {\n var restoreActiveInstance = setActiveInstance(_this);\n // force removing pass\n _this.__patch__(_this._vnode, _this.kept, false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n _this._vnode = _this.kept;\n restoreActiveInstance();\n update.call(_this, vnode, hydrating);\n };\n },\n render: function (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = (this.prevChildren = this.children);\n var rawChildren = this.$slots.default || [];\n var children = (this.children = []);\n var transitionData = extractTransitionData(this);\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c;\n (c.data || (c.data = {})).transition = transitionData;\n }\n else if (process.env.NODE_ENV !== 'production') {\n var opts = c.componentOptions;\n var name_1 = opts\n ? getComponentName(opts.Ctor.options) || opts.tag || ''\n : c.tag;\n warn(\"<transition-group> children must be keyed: <\".concat(name_1, \">\"));\n }\n }\n }\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i = 0; i < prevChildren.length; i++) {\n var c = prevChildren[i];\n c.data.transition = transitionData;\n // @ts-expect-error .getBoundingClientRect is not typed in Node\n c.data.pos = c.elm.getBoundingClientRect();\n if (map[c.key]) {\n kept.push(c);\n }\n else {\n removed.push(c);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n return h(tag, null, children);\n },\n updated: function () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || (this.name || 'v') + '-move';\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return;\n }\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n children.forEach(function (c) {\n if (c.data.moved) {\n var el_1 = c.elm;\n var s = el_1.style;\n addTransitionClass(el_1, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el_1.addEventListener(transitionEndEvent, (el_1._moveCb = function cb(e) {\n if (e && e.target !== el_1) {\n return;\n }\n if (!e || /transform$/.test(e.propertyName)) {\n el_1.removeEventListener(transitionEndEvent, cb);\n el_1._moveCb = null;\n removeTransitionClass(el_1, moveClass);\n }\n }));\n }\n });\n },\n methods: {\n hasMove: function (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false;\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove;\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) {\n removeClass(clone, cls);\n });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform);\n }\n }\n};\nfunction callPendingCbs(c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\nfunction recordPosition(c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\nfunction applyTranslation(c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\".concat(dx, \"px,\").concat(dy, \"px)\");\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n};\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n// public mount method\nVue.prototype.$mount = function (el, hydrating) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating);\n};\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n }\n else if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n // @ts-expect-error\n console[console.info ? 'info' : 'log']('Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools');\n }\n }\n if (process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n config.productionTip !== false &&\n typeof console !== 'undefined') {\n // @ts-expect-error\n console[console.info ? 'info' : 'log'](\"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\");\n }\n }, 0);\n}\n\nexport { EffectScope, computed, customRef, Vue as default, defineAsyncComponent, defineComponent, del, effectScope, getCurrentInstance, getCurrentScope, h, inject, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, mergeDefaults, nextTick, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, provide, proxyRefs, reactive, readonly, ref$1 as ref, set, shallowReactive, shallowReadonly, shallowRef, toRaw, toRef, toRefs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useListeners, useSlots, version, watch, watchEffect, watchPostEffect, watchSyncEffect };\n","// Styles\nimport '../VAutocomplete/VAutocomplete.sass'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete/VAutocomplete'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VAutocomplete.extend({\n name: 'v-combobox',\n\n props: {\n delimiters: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n returnObject: {\n type: Boolean,\n default: true,\n },\n },\n\n data: () => ({\n editingIndex: -1,\n }),\n\n computed: {\n computedCounterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.internalSearch || '').toString().length\n },\n hasSlot (): boolean {\n return VSelect.options.computed.hasSlot.call(this) || this.multiple\n },\n isAnyValueAllowed (): boolean {\n return true\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems ||\n (!!this.$slots['no-data'] && !this.hideNoData)\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null\n },\n },\n\n methods: {\n onInternalSearchChanged (val: any) {\n if (\n val &&\n this.multiple &&\n this.delimiters.length\n ) {\n const delimiter = this.delimiters.find(d => val.endsWith(d))\n if (delimiter != null) {\n this.internalSearch = val.slice(0, val.length - delimiter.length)\n this.updateTags()\n }\n }\n\n this.updateMenuDimensions()\n },\n genInput () {\n const input = VAutocomplete.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n input.data!.on!.paste = this.onPaste\n\n return input\n },\n genChipSelection (item: object, index: number) {\n const chip = VSelect.options.methods.genChipSelection.call(this, item, index)\n\n // Allow user to update an existing value\n if (this.multiple) {\n chip.componentOptions!.listeners! = {\n ...chip.componentOptions!.listeners!,\n dblclick: () => {\n this.editingIndex = index\n this.internalSearch = this.getText(item)\n this.selectedIndex = -1\n },\n }\n }\n\n return chip\n },\n onChipInput (item: object) {\n VSelect.options.methods.onChipInput.call(this, item)\n\n this.editingIndex = -1\n },\n // Requires a manual definition\n // to overwrite removal in v-autocomplete\n onEnterDown (e: Event) {\n e.preventDefault()\n // If has menu index, let v-select-list handle\n if (this.getMenuIndex() > -1) return\n\n this.$nextTick(this.updateSelf)\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // If user is at selection index of 0\n // create a new tag\n if (this.multiple &&\n keyCode === keyCodes.left &&\n this.$refs.input.selectionStart === 0\n ) {\n this.updateSelf()\n } else if (keyCode === keyCodes.enter) {\n this.onEnterDown(e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onTabDown (e: KeyboardEvent) {\n // When adding tags, if searching and\n // there is not a filtered options,\n // add the value to the tags list\n if (this.multiple &&\n this.internalSearch &&\n this.getMenuIndex() === -1\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n return this.updateTags()\n }\n\n VAutocomplete.options.methods.onTabDown.call(this, e)\n },\n selectItem (item: object) {\n // Currently only supports items:<string[]>\n if (this.editingIndex > -1) {\n this.updateEditing()\n } else {\n VAutocomplete.options.methods.selectItem.call(this, item)\n\n // if selected item contains search value,\n // remove the search string\n if (\n this.internalSearch &&\n this.multiple &&\n this.getText(item).toLocaleLowerCase().includes(this.internalSearch.toLocaleLowerCase())\n ) {\n this.internalSearch = null\n }\n }\n },\n setSelectedItems () {\n if (this.internalValue == null ||\n this.internalValue === ''\n ) {\n this.selectedItems = []\n } else {\n this.selectedItems = this.multiple ? this.internalValue : [this.internalValue]\n }\n },\n setValue (value?: any) {\n VSelect.options.methods.setValue.call(this, value === undefined ? this.internalSearch : value)\n },\n updateEditing () {\n const value = this.internalValue.slice()\n const index = this.selectedItems.findIndex(item =>\n this.getText(item) === this.internalSearch)\n\n // If user enters a duplicate text on chip edit,\n // don't add it, move it to the end of the list\n if (index > -1) {\n const item = typeof value[index] === 'object'\n ? Object.assign({}, value[index])\n : value[index]\n\n value.splice(index, 1)\n value.push(item)\n } else {\n value[this.editingIndex] = this.internalSearch\n }\n\n this.setValue(value)\n this.editingIndex = -1\n this.internalSearch = null\n },\n updateCombobox () {\n // If search is not dirty, do nothing\n if (!this.searchIsDirty) return\n\n // The internal search is not matching\n // the internal value, update the input\n if (this.internalSearch !== this.getText(this.internalValue)) this.setValue()\n\n // Reset search if using slot to avoid a double input\n const isUsingSlot = Boolean(this.$scopedSlots.selection) || this.hasChips\n if (isUsingSlot) this.internalSearch = null\n },\n updateSelf () {\n this.multiple ? this.updateTags() : this.updateCombobox()\n },\n updateTags () {\n const menuIndex = this.getMenuIndex()\n\n // If the user is not searching\n // and no menu item is selected\n // or if the search is empty\n // do nothing\n if ((menuIndex < 0 && !this.searchIsDirty) ||\n !this.internalSearch) return\n\n if (this.editingIndex > -1) {\n return this.updateEditing()\n }\n\n const index = this.selectedItems.findIndex(item =>\n this.internalSearch === this.getText(item))\n\n // If the duplicate item is an object,\n // copy it, so that it can be added again later\n const itemToSelect = index > -1 && typeof this.selectedItems[index] === 'object'\n ? Object.assign({}, this.selectedItems[index])\n : this.internalSearch\n\n // If it already exists, do nothing\n // this might need to change to bring\n // the duplicated item to the last entered\n if (index > -1) {\n const internalValue = this.internalValue.slice()\n internalValue.splice(index, 1)\n\n this.setValue(internalValue)\n }\n\n // If menu index is greater than 1\n // the selection is handled elsewhere\n // TODO: find out where\n if (menuIndex > -1) return (this.internalSearch = null)\n\n this.selectItem(itemToSelect)\n\n this.internalSearch = null\n },\n onPaste (event: ClipboardEvent) {\n this.$emit('paste', event)\n if (!this.multiple || this.searchIsDirty) return\n\n const pastedItemText = event.clipboardData?.getData('text/vnd.vuetify.autocomplete.item+plain')\n if (pastedItemText && this.findExistingIndex(pastedItemText as any) === -1) {\n event.preventDefault()\n VSelect.options.methods.selectItem.call(this, pastedItemText as any)\n }\n },\n clearableCallback () {\n this.editingIndex = -1\n\n VAutocomplete.options.methods.clearableCallback.call(this)\n },\n },\n})\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOption = void 0;\nvar config = {\n deepWatch: false\n};\nfunction setOptions(options) {\n config = __assign(__assign({}, config), options);\n}\nfunction getOption(optionName) {\n return config[optionName];\n}\nexports.getOption = getOption;\nexports.default = setOptions;\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var af = moment.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n '_'\n ),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n ); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1, // Maandag is die eerste dag van die week.\n doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n },\n });\n\n return af;\n\n})));\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","var current;\n\ncurrent = {\n A: {\n name: {\n singular: 'Ampere'\n , plural: 'Amperes'\n }\n , to_anchor: 1\n }\n, mA: {\n name: {\n singular: 'Milliampere'\n , plural: 'Milliamperes'\n }\n , to_anchor: .001\n }\n, kA: {\n name: {\n singular: 'Kiloampere'\n , plural: 'Kiloamperes'\n }\n , to_anchor: 1000\n }\n};\n\nmodule.exports = {\n metric: current\n, _anchors: {\n metric: {\n unit: 'A'\n , ratio: 1\n }\n }\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { deprecate, removed } from '../../util/console'\n\n// Types\nimport { PropType, VNode } from 'vue'\n\nexport default mixins(\n VSheet,\n Colorable,\n Toggleable,\n PositionableFactory([\n 'absolute',\n 'bottom',\n 'left',\n 'right',\n 'top',\n ])\n/* @vue/component */\n).extend({\n name: 'v-snackbar',\n\n props: {\n app: Boolean,\n centered: Boolean,\n contentClass: {\n type: String,\n default: '',\n },\n multiLine: Boolean,\n text: Boolean,\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n transition: {\n type: [Boolean, String] as PropType<false | string>,\n default: 'v-snack-transition',\n validator: v => typeof v === 'string' || v === false,\n },\n vertical: Boolean,\n },\n\n data: () => ({\n activeTimeout: -1,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-snack--absolute': this.absolute,\n 'v-snack--active': this.isActive,\n 'v-snack--bottom': this.bottom || !this.top,\n 'v-snack--centered': this.centered,\n 'v-snack--has-background': this.hasBackground,\n 'v-snack--left': this.left,\n 'v-snack--multi-line': this.multiLine && !this.vertical,\n 'v-snack--right': this.right,\n 'v-snack--text': this.text,\n 'v-snack--top': this.top,\n 'v-snack--vertical': this.vertical,\n }\n },\n // Text and outlined styles both\n // use transparent backgrounds\n hasBackground (): boolean {\n return (\n !this.text &&\n !this.outlined\n )\n },\n // Snackbar is dark by default\n // override themeable logic.\n isDark (): boolean {\n return this.hasBackground\n ? !this.light\n : Themeable.options.computed.isDark.call(this)\n },\n styles (): object {\n if (this.absolute || !this.app) return {}\n\n const {\n bar,\n bottom,\n footer,\n insetFooter,\n left,\n right,\n top,\n } = this.$vuetify.application\n\n return {\n paddingBottom: convertToUnit(bottom + footer + insetFooter),\n paddingLeft: convertToUnit(left),\n paddingRight: convertToUnit(right),\n paddingTop: convertToUnit(bar + top),\n }\n },\n },\n\n watch: {\n isActive: 'setTimeout',\n timeout: 'setTimeout',\n },\n\n mounted () {\n if (this.isActive) this.setTimeout()\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('auto-height')) {\n removed('auto-height', this)\n }\n\n /* istanbul ignore next */\n // eslint-disable-next-line eqeqeq\n if (this.timeout == 0) {\n deprecate('timeout=\"0\"', '-1', this)\n }\n },\n\n methods: {\n genActions () {\n return this.$createElement('div', {\n staticClass: 'v-snack__action ',\n }, [\n getSlot(this, 'action', {\n attrs: { class: 'v-snack__btn' },\n }),\n ])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-snack__content',\n class: {\n [this.contentClass]: true,\n },\n attrs: {\n role: 'status',\n 'aria-live': 'polite',\n },\n }, [getSlot(this)])\n },\n genWrapper () {\n const setColor = this.hasBackground\n ? this.setBackgroundColor\n : this.setTextColor\n\n const data = setColor(this.color, {\n staticClass: 'v-snack__wrapper',\n class: VSheet.options.computed.classes.call(this),\n style: VSheet.options.computed.styles.call(this),\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n on: {\n pointerenter: () => window.clearTimeout(this.activeTimeout),\n pointerleave: this.setTimeout,\n },\n })\n\n return this.$createElement('div', data, [\n this.genContent(),\n this.genActions(),\n ])\n },\n genTransition () {\n return this.$createElement('transition', {\n props: { name: this.transition },\n }, [this.genWrapper()])\n },\n setTimeout () {\n window.clearTimeout(this.activeTimeout)\n\n const timeout = Number(this.timeout)\n\n if (\n !this.isActive ||\n // TODO: remove 0 in v3\n [0, -1].includes(timeout)\n ) {\n return\n }\n\n this.activeTimeout = window.setTimeout(() => {\n this.isActive = false\n }, timeout)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-snack',\n class: this.classes,\n style: this.styles,\n }, [\n this.transition !== false\n ? this.genTransition()\n : this.genWrapper(),\n ])\n },\n})\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return uz;\n\n})));\n","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.vueMoment = {})));\n}(this, (function (exports) { 'use strict';\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction commonjsRequire () {\n\tthrow new Error('Dynamic requires are not currently supported by rollup-plugin-commonjs');\n}\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar moment = createCommonjsModule(function (module, exports) {\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n//! moment.js\n\n(function (global, factory) {\n (_typeof(exports)) === 'object' && 'object' !== 'undefined' ? module.exports = factory() : typeof undefined === 'function' && undefined.amd ? undefined(factory) : global.moment = factory();\n})(commonjsGlobal, function () {\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [],\n i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function some(fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) && flags.overflow < 0 && !flags.empty && !flags.invalidMonth && !flags.invalidWeekday && !flags.weekdayMismatch && !flags.nullInput && !flags.invalidFormat && !flags.userInvalidated && (!flags.meridiem || flags.meridiem && parsedParts);\n\n if (m._strict) {\n isNowValid = isNowValid && flags.charsLeftOver === 0 && flags.unusedTokens.length === 0 && flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return obj instanceof Moment || obj != null && obj._isAMomentObject != null;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (dontConvert && array1[i] !== array2[i] || !dontConvert && toInt(array1[i]) !== toInt(array2[i])) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false && typeof console !== 'undefined' && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (_typeof(arguments[i]) === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + new Error().stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + '|' + /\\d{1,2}/.source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) && !hasOwnProp(childConfig, prop) && isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function keys(obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output) ? output(number, withoutSuffix, string, isFuture) : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({ unit: u, priority: priorities[u] });\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? forceSign ? '+' : '' : '-') + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function func() {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function func(input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid() ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if ((typeof units === 'undefined' ? 'undefined' : _typeof(units)) === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return (n % x + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function indexOf(o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? isLeapYear(year) ? 29 : 28 : 31 - modMonth % 7 % 2;\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months) ? this._months : this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] : this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] : this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ? this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ? this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n var args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays) ? this._weekdays : this._weekdays[m && m !== true && this._weekdays.isFormat.test(format) ? 'format' : 'standalone'];\n return m === true ? shiftWeekdays(weekdays, this._week.dow) : m ? weekdays[m.day()] : weekdays;\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort(m) {\n return m === true ? shiftWeekdays(this._weekdaysShort, this._week.dow) : m ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin(m) {\n return m === true ? shiftWeekdays(this._weekdaysMin, this._week.dow) : m ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ? this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && 'object' !== 'undefined' && module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = commonjsRequire;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride', 'use moment.updateLocale(localeName, config) to change ' + 'an existing locale. moment.defineLocale(localeName, ' + 'config) should only be used for creating a new locale ' + 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow = a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : a[HOUR] < 0 || a[HOUR] > 24 || a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0) ? HOUR : a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = config._a[i] == null ? i === 2 ? 1 : 0 : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 && config._a[MINUTE] === 0 && config._a[SECOND] === 0 && config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/], ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/], ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/], ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false], ['YYYY-DDD', /\\d{4}-\\d{3}/], ['YYYY-MM', /\\d{4}-\\d\\d/, false], ['YYYYYYMMDD', /[+-]\\d{10}/], ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/], ['GGGG[W]WW', /\\d{4}W\\d{2}/, false], ['YYYYDDD', /\\d{7}/]];\n\n // iso time formats and regexes\n var isoTimes = [['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/], ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/], ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/], ['HH:mm', /\\d\\d:\\d\\d/], ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/], ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/], ['HHmmss', /\\d\\d\\d\\d\\d\\d/], ['HHmm', /\\d\\d\\d\\d/], ['HH', /\\d\\d/]];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [untruncateYear(yearStr), defaultLocaleMonthsShort.indexOf(monthStr), parseInt(dayStr, 10), parseInt(hourStr, 10), parseInt(minuteStr, 10)];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate('value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + 'discouraged and will be removed in an upcoming major release. Please refer to ' + 'http://momentjs.com/guides/#/warnings/js-date/ for more info.', function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n });\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 && getParsingFlags(config).bigHour === true && config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig, bestMoment, scoreToBeat, i, currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || format === undefined && input === '') {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (isObject(input) && isObjectEmpty(input) || isArray(input) && input.length === 0) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate('moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n });\n\n var prototypeMax = deprecate('moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n });\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function now() {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds + seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~offset % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign)\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if ((typeof duration === 'undefined' ? 'undefined' : _typeof(duration)) === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months = other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val;val = period;period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' : diff < -1 ? 'lastWeek' : diff < 0 ? 'lastDay' : diff < 1 ? 'sameDay' : diff < 2 ? 'nextDay' : diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;break;\n case 'month':\n output = monthDiff(this, that);break;\n case 'quarter':\n output = monthDiff(this, that) / 3;break;\n case 'second':\n output = (this - that) / 1e3;break; // 1000\n case 'minute':\n output = (this - that) / 6e4;break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {\n return createDuration({ to: this, from: time }).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {\n return createDuration({ from: this, to: time }).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate('moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n });\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000;\n var MS_PER_MINUTE = 60 * MS_PER_SECOND;\n var MS_PER_HOUR = 60 * MS_PER_MINUTE;\n var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return (dividend % divisor + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(this, input, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(this, input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ? locale._dayOfMonthOrdinalParse || locale._ordinalParse : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = toInt(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!(milliseconds >= 0 && days >= 0 && months >= 0 || milliseconds <= 0 && days <= 0 && months <= 0)) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return this._milliseconds + this._days * 864e5 + this._months % 12 * 2592e6 + toInt(this._months / 12) * 31536e6;\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asQuarters = makeAs('Q');\n var asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month\n M: 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] || seconds < thresholds.s && ['ss', seconds] || minutes <= 1 && ['m'] || minutes < thresholds.m && ['mm', minutes] || hours <= 1 && ['h'] || hours < thresholds.h && ['hh', hours] || days <= 1 && ['d'] || days < thresholds.d && ['dd', days] || months <= 1 && ['M'] || months < thresholds.M && ['MM', months] || years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' + (Y ? ymSign + Y + 'Y' : '') + (M ? ymSign + M + 'M' : '') + (D ? daysSign + D + 'D' : '') + (h || m || s ? 'T' : '') + (h ? hmsSign + h + 'H' : '') + (m ? hmsSign + m + 'M' : '') + (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.24.0';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n TIME: 'HH:mm', // <input type=\"time\" />\n TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n MONTH: 'YYYY-MM' // <input type=\"month\" />\n };\n\n return hooks;\n});\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nfunction _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }return arr2;\n } else {\n return Array.from(arr);\n }\n}\n\nvar vueMoment = {\n install: function install(Vue, options) {\n var moment$$1 = options && options.moment ? options.moment : moment;\n\n Object.defineProperties(Vue.prototype, {\n $moment: {\n get: function get() {\n return moment$$1;\n }\n }\n });\n\n Vue.moment = moment$$1;\n\n Vue.filter('moment', function () {\n var arguments$1 = arguments;\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments$1[_key];\n }\n\n args = Array.prototype.slice.call(args);\n var input = args.shift();\n var date = void 0;\n\n if (Array.isArray(input) && typeof input[0] === 'string') {\n // If input is array, assume we're being passed a format pattern to parse against.\n // Format pattern will accept an array of potential formats to parse against.\n // Date string should be at [0], format pattern(s) should be at [1]\n date = moment$$1(input[0], input[1], true);\n } else if (typeof input === 'number') {\n if (input.toString().length < 12) {\n // If input is an integer with fewer than 12 digits, assume Unix seconds...\n date = moment$$1.unix(input);\n } else {\n // ..otherwise, assume milliseconds.\n date = moment$$1(input);\n }\n } else {\n // Otherwise, throw the input at moment and see what happens...\n date = moment$$1(input);\n }\n\n if (!input || !date.isValid()) {\n // Log a warning if moment couldn't reconcile the input. Better than throwing an error?\n console.warn('Could not build a valid `moment` object from input.');\n return input;\n }\n\n function parse() {\n var arguments$1 = arguments;\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments$1[_key2];\n }\n\n args = Array.prototype.slice.call(args);\n var method = args.shift();\n\n switch (method) {\n case 'add':\n {\n /*\n * Mutates the original moment by adding time.\n * http://momentjs.com/docs/#/manipulating/add/\n */\n\n var addends = args.shift().split(',').map(Function.prototype.call, String.prototype.trim);\n var obj = {};\n\n for (var n = 0; n < addends.length; n++) {\n var addend = addends[n].split(' ');\n obj[addend[1]] = addend[0];\n }\n date.add(obj);\n break;\n }\n\n case 'subtract':\n {\n /*\n * Mutates the original moment by subtracting time.\n * http://momentjs.com/docs/#/manipulating/subtract/\n */\n\n var subtrahends = args.shift().split(',').map(Function.prototype.call, String.prototype.trim);\n var _obj = {};\n\n for (var _n = 0; _n < subtrahends.length; _n++) {\n var subtrahend = subtrahends[_n].split(' ');\n _obj[subtrahend[1]] = subtrahend[0];\n }\n date.subtract(_obj);\n break;\n }\n\n case 'from':\n {\n /*\n * Display a moment in relative time, either from now or from a specified date.\n * http://momentjs.com/docs/#/displaying/fromnow/\n */\n\n var from = 'now';\n var removeSuffix = false;\n\n if (args[0] === 'now') { args.shift(); }\n // If valid, assume it is a date we want the output computed against.\n if (moment$$1(args[0]).isValid()) { from = moment$$1(args.shift()); }\n\n if (args[0] === true) {\n args.shift();\n removeSuffix = true;\n }\n\n if (from !== 'now') {\n date = date.from(from, removeSuffix);\n } else {\n date = date.fromNow(removeSuffix);\n }\n break;\n }\n\n case 'diff':\n {\n /*\n * Mutates the original moment by doing a difference with another date.\n * http://momentjs.com/docs/#/displaying/difference/\n */\n\n var referenceTime = moment$$1();\n var units = '';\n var float = false;\n\n if (moment$$1(args[0]).isValid()) {\n // If valid, assume it is a date we want the output computed against.\n referenceTime = moment$$1(args.shift());\n } else if (args[0] === null || args[0] === 'now') {\n // If null or 'now', remove argument and proceed with default referenceTime.\n args.shift();\n }\n\n if (args[0]) { units = args.shift(); }\n\n if (args[0] === true) { float = args.shift(); }\n\n date = date.diff(referenceTime, units, float);\n break;\n }\n\n case 'calendar':\n {\n /*\n * Formats a date with different strings depending on how close\n * to a certain date (today by default) the date is.\n * http://momentjs.com/docs/#/displaying/calendar-time/\n */\n\n var _referenceTime = moment$$1();\n var formats = {};\n\n if (moment$$1(args[0]).isValid()) {\n // If valid, assume it is a date we want the output computed against.\n _referenceTime = moment$$1(args.shift());\n } else if (args[0] === null || args[0] === 'now') {\n // If null or 'now', remove argument and proceed with default referenceTime.\n args.shift();\n }\n\n if (_typeof(args[0]) === 'object') { formats = args.shift(); }\n\n date = date.calendar(_referenceTime, formats);\n break;\n }\n\n case 'utc':\n {\n /*\n * Mutates the original moment by converting to UTC\n * https://momentjs.com/docs/#/manipulating/utc/\n */\n date.utc();\n break;\n }\n\n case 'timezone':\n {\n /*\n * Mutates the original moment by converting to a new timezone.\n * https://momentjs.com/timezone/docs/#/using-timezones/converting-to-zone/\n */\n date.tz(args.shift());\n break;\n }\n\n default:\n {\n /*\n * Formats a date by taking a string of tokens and replacing\n * them with their corresponding values.\n * http://momentjs.com/docs/#/displaying/format/\n */\n\n var format = method;\n date = date.format(format);\n }\n }\n\n if (args.length) { parse.apply(parse, args); }\n }\n\n parse.apply(parse, args);\n\n return date;\n });\n\n Vue.filter('duration', function () {\n var arguments$1 = arguments;\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments$1[_key3];\n }\n\n /*\n * Basic pass-through filter for leveraging moment.js's ability\n * to manipulate and display durations.\n * https://momentjs.com/docs/#/durations/\n */\n args = Array.prototype.slice.call(args);\n var input = args.shift();\n var method = args.shift();\n\n function createDuration(time) {\n if (!Array.isArray(time)) { time = [time]; }\n var result = moment$$1.duration.apply(moment$$1, _toConsumableArray(time));\n if (!result.isValid()) { console.warn('Could not build a valid `duration` object from input.'); }\n return result;\n }\n var duration = createDuration(input);\n\n if (method === 'add' || method === 'subtract') {\n // Generates a duration object and either adds or subtracts it\n // from our original duration.\n var durationChange = createDuration(args);\n duration[method](durationChange);\n } else if (duration && duration[method]) {\n var _duration;\n\n // This gives a full proxy to moment.duration functions.\n duration = (_duration = duration)[method].apply(_duration, _toConsumableArray(args));\n }\n\n return duration;\n });\n }\n};\n\nvar vueMoment_1 = vueMoment.install;\n\nexports['default'] = vueMoment;\nexports.install = vueMoment_1;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","/*!\n * vuex v3.6.2\n * (c) 2021 Evan You\n * @license MIT\n */\nfunction applyMixin (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n}\n\nvar target = typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n }, { prepend: true });\n\n store.subscribeAction(function (action, state) {\n devtoolHook.emit('vuex:action', action, state);\n }, { prepend: true });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\nfunction find (list, f) {\n return list.filter(f)[0]\n}\n\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array<Object>} cache\n * @return {*}\n */\nfunction deepCopy (obj, cache) {\n if ( cache === void 0 ) cache = [];\n\n // just return if obj is immutable value\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n\n // if obj is hit, it is in circular structure\n var hit = find(cache, function (c) { return c.original === obj; });\n if (hit) {\n return hit.copy\n }\n\n var copy = Array.isArray(obj) ? [] : {};\n // put the copy into cache at first\n // because we want to refer it in recursive deepCopy\n cache.push({\n original: obj,\n copy: copy\n });\n\n Object.keys(obj).forEach(function (key) {\n copy[key] = deepCopy(obj[key], cache);\n });\n\n return copy\n}\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nfunction partial (fn, arg) {\n return function () {\n return fn(arg)\n }\n}\n\n// Base data struct for store's module, package with some attribute and method\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n // Store some children item\n this._children = Object.create(null);\n // Store the origin module object which passed by programmer\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n\n // Store the origin module's state\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors = { namespaced: { configurable: true } };\n\nprototypeAccessors.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.hasChild = function hasChild (key) {\n return key in this._children\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n var child = parent.getChild(key);\n\n if (!child) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to unregister module '\" + key + \"', which is \" +\n \"not registered\"\n );\n }\n return\n }\n\n if (!child.runtime) {\n return\n }\n\n parent.removeChild(key);\n};\n\nModuleCollection.prototype.isRegistered = function isRegistered (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n\n if (parent) {\n return parent.hasChild(key)\n }\n\n return false\n};\n\nfunction update (path, targetModule, newModule) {\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n this._makeLocalGettersCache = Object.create(null);\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n var state = this._modules.root.state;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools;\n if (useDevtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors$1 = { state: { configurable: true } };\n\nprototypeAccessors$1.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors$1.state.set = function (v) {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(false, \"use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n\n this._subscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n (process.env.NODE_ENV !== 'production') &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n try {\n this._actionSubscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .filter(function (sub) { return sub.before; })\n .forEach(function (sub) { return sub.before(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in before action subscribers: \");\n console.error(e);\n }\n }\n\n var result = entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload);\n\n return new Promise(function (resolve, reject) {\n result.then(function (res) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.after; })\n .forEach(function (sub) { return sub.after(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in after action subscribers: \");\n console.error(e);\n }\n }\n resolve(res);\n }, function (error) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.error; })\n .forEach(function (sub) { return sub.error(action, this$1.state, error); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in error action subscribers: \");\n console.error(e);\n }\n }\n reject(error);\n });\n })\n};\n\nStore.prototype.subscribe = function subscribe (fn, options) {\n return genericSubscribe(fn, this._subscribers, options)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn, options) {\n var subs = typeof fn === 'function' ? { before: fn } : fn;\n return genericSubscribe(subs, this._actionSubscribers, options)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hasModule = function hasModule (path) {\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n return this._modules.isRegistered(path)\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors$1 );\n\nfunction genericSubscribe (fn, subs, options) {\n if (subs.indexOf(fn) < 0) {\n options && options.prepend\n ? subs.unshift(fn)\n : subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n // reset local getters cache\n store._makeLocalGettersCache = Object.create(null);\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n // direct inline function use will lead to closure preserving oldVm.\n // using partial to return function with only arguments preserved in closure environment.\n computed[key] = partial(fn, store);\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n if (store._modulesNamespaceMap[namespace] && (process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate namespace \" + namespace + \" for the namespaced module \" + (path.join('/'))));\n }\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n if ((process.env.NODE_ENV !== 'production')) {\n if (moduleName in parentState) {\n console.warn(\n (\"[vuex] state field \\\"\" + moduleName + \"\\\" was overridden by a module with the same name at \\\"\" + (path.join('.')) + \"\\\"\")\n );\n }\n }\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n if (!store._makeLocalGettersCache[namespace]) {\n var gettersProxy = {};\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n store._makeLocalGettersCache[namespace] = gettersProxy;\n }\n\n return store._makeLocalGettersCache[namespace]\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(store._committing, \"do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.reduce(function (state, key) { return state[key]; }, state)\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof type === 'string', (\"expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\n/**\n * Reduce the code which written in Vue.js for getting the state.\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.\n * @param {Object}\n */\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(states)) {\n console.error('[vuex] mapState: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for committing the mutation\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(mutations)) {\n console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // Get the commit method from store\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for getting the getters\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} getters\n * @return {Object}\n */\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(getters)) {\n console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n // The namespace has been mutated by normalizeNamespace\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if ((process.env.NODE_ENV !== 'production') && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for dispatch the action\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(actions)) {\n console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // get dispatch function from store\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object\n * @param {String} namespace\n * @return {Object}\n */\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\n/**\n * Normalize the map\n * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]\n * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]\n * @param {Array|Object} map\n * @return {Object}\n */\nfunction normalizeMap (map) {\n if (!isValidMap(map)) {\n return []\n }\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\n/**\n * Validate whether given map is valid or not\n * @param {*} map\n * @return {Boolean}\n */\nfunction isValidMap (map) {\n return Array.isArray(map) || isObject(map)\n}\n\n/**\n * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.\n * @param {Function} fn\n * @return {Function}\n */\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\n/**\n * Search a special module from store by namespace. if module not exist, print error message.\n * @param {Object} store\n * @param {String} helper\n * @param {String} namespace\n * @return {Object}\n */\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if ((process.env.NODE_ENV !== 'production') && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\n// Credits: borrowed code from fcomb/redux-logger\n\nfunction createLogger (ref) {\n if ( ref === void 0 ) ref = {};\n var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true;\n var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; };\n var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; };\n var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; };\n var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; };\n var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; };\n var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true;\n var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true;\n var logger = ref.logger; if ( logger === void 0 ) logger = console;\n\n return function (store) {\n var prevState = deepCopy(store.state);\n\n if (typeof logger === 'undefined') {\n return\n }\n\n if (logMutations) {\n store.subscribe(function (mutation, state) {\n var nextState = deepCopy(state);\n\n if (filter(mutation, prevState, nextState)) {\n var formattedTime = getFormattedTime();\n var formattedMutation = mutationTransformer(mutation);\n var message = \"mutation \" + (mutation.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState));\n logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation);\n logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState));\n endMessage(logger);\n }\n\n prevState = nextState;\n });\n }\n\n if (logActions) {\n store.subscribeAction(function (action, state) {\n if (actionFilter(action, state)) {\n var formattedTime = getFormattedTime();\n var formattedAction = actionTransformer(action);\n var message = \"action \" + (action.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction);\n endMessage(logger);\n }\n });\n }\n }\n}\n\nfunction startMessage (logger, message, collapsed) {\n var startMessage = collapsed\n ? logger.groupCollapsed\n : logger.group;\n\n // render\n try {\n startMessage.call(logger, message);\n } catch (e) {\n logger.log(message);\n }\n}\n\nfunction endMessage (logger) {\n try {\n logger.groupEnd();\n } catch (e) {\n logger.log('—— log end ——');\n }\n}\n\nfunction getFormattedTime () {\n var time = new Date();\n return (\" @ \" + (pad(time.getHours(), 2)) + \":\" + (pad(time.getMinutes(), 2)) + \":\" + (pad(time.getSeconds(), 2)) + \".\" + (pad(time.getMilliseconds(), 3)))\n}\n\nfunction repeat (str, times) {\n return (new Array(times + 1)).join(str)\n}\n\nfunction pad (num, maxLength) {\n return repeat('0', maxLength - num.toString().length) + num\n}\n\nvar index = {\n Store: Store,\n install: install,\n version: '3.6.2',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers,\n createLogger: createLogger\n};\n\nexport default index;\nexport { Store, createLogger, createNamespacedHelpers, install, mapActions, mapGetters, mapMutations, mapState };\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator_registry.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nexport var registry = {};\r\nexport function register(option, type, decoratorClass) {\r\n var decoratorsRegistry = registry;\r\n var decoratorConfig = {};\r\n decoratorConfig[option] = decoratorsRegistry[option] ? decoratorsRegistry[option] : {};\r\n decoratorConfig[option][type] = decoratorClass;\r\n extend(decoratorsRegistry, decoratorConfig)\r\n}\r\n","import './_grid.sass'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nexport default createSimpleFunctional('spacer', 'div', 'v-spacer')\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","/**\r\n * DevExtreme (esm/ui/popup/popup_drag.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n locate,\r\n move\r\n} from \"../../animation/translator\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getOffset,\r\n getOuterWidth,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n fitIntoRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n isWindow\r\n} from \"../../core/utils/type\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n start as dragStartEvent,\r\n move as dragMoveEvent,\r\n end as dragEndEvent\r\n} from \"../../events/drag\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nvar KEYBOARD_DRAG_STEP = 5;\r\nclass PopupDrag {\r\n constructor(config) {\r\n this.init(config)\r\n }\r\n init(_ref) {\r\n var {\r\n dragEnabled: dragEnabled,\r\n handle: handle,\r\n draggableElement: draggableElement,\r\n positionController: positionController\r\n } = _ref;\r\n this._positionController = positionController;\r\n this._draggableElement = draggableElement;\r\n this._handle = handle;\r\n this._dragEnabled = dragEnabled;\r\n this.unsubscribe();\r\n if (!dragEnabled) {\r\n return\r\n }\r\n this.subscribe()\r\n }\r\n moveDown(e) {\r\n this._moveTo(KEYBOARD_DRAG_STEP, 0, e)\r\n }\r\n moveUp(e) {\r\n this._moveTo(-KEYBOARD_DRAG_STEP, 0, e)\r\n }\r\n moveLeft(e) {\r\n this._moveTo(0, -KEYBOARD_DRAG_STEP, e)\r\n }\r\n moveRight(e) {\r\n this._moveTo(0, KEYBOARD_DRAG_STEP, e)\r\n }\r\n subscribe() {\r\n var eventNames = this._getEventNames();\r\n eventsEngine.on(this._handle, eventNames.startEventName, e => {\r\n this._dragStartHandler(e)\r\n });\r\n eventsEngine.on(this._handle, eventNames.updateEventName, e => {\r\n this._dragUpdateHandler(e)\r\n });\r\n eventsEngine.on(this._handle, eventNames.endEventName, e => {\r\n this._dragEndHandler(e)\r\n })\r\n }\r\n unsubscribe() {\r\n var eventNames = this._getEventNames();\r\n eventsEngine.off(this._handle, eventNames.startEventName);\r\n eventsEngine.off(this._handle, eventNames.updateEventName);\r\n eventsEngine.off(this._handle, eventNames.endEventName)\r\n }\r\n _getEventNames() {\r\n var startEventName = addNamespace(dragStartEvent, \"overlayDrag\");\r\n var updateEventName = addNamespace(dragMoveEvent, \"overlayDrag\");\r\n var endEventName = addNamespace(dragEndEvent, \"overlayDrag\");\r\n return {\r\n startEventName: startEventName,\r\n updateEventName: updateEventName,\r\n endEventName: endEventName\r\n }\r\n }\r\n _dragStartHandler(e) {\r\n var allowedOffsets = this._getAllowedOffsets();\r\n this._prevOffset = {\r\n x: 0,\r\n y: 0\r\n };\r\n e.targetElements = [];\r\n e.maxTopOffset = allowedOffsets.top;\r\n e.maxBottomOffset = allowedOffsets.bottom;\r\n e.maxLeftOffset = allowedOffsets.left;\r\n e.maxRightOffset = allowedOffsets.right\r\n }\r\n _dragUpdateHandler(e) {\r\n var targetOffset = {\r\n top: e.offset.y - this._prevOffset.y,\r\n left: e.offset.x - this._prevOffset.x\r\n };\r\n this._moveByOffset(targetOffset);\r\n this._prevOffset = e.offset\r\n }\r\n _dragEndHandler(event) {\r\n this._positionController.dragHandled();\r\n this._positionController.detectVisualPositionChange(event)\r\n }\r\n _moveTo(top, left, e) {\r\n if (!this._dragEnabled) {\r\n return\r\n }\r\n e.preventDefault();\r\n e.stopPropagation();\r\n var offset = this._fitOffsetIntoAllowedRange(top, left);\r\n this._moveByOffset(offset);\r\n this._dragEndHandler(e)\r\n }\r\n _fitOffsetIntoAllowedRange(top, left) {\r\n var allowedOffsets = this._getAllowedOffsets();\r\n return {\r\n top: fitIntoRange(top, -allowedOffsets.top, allowedOffsets.bottom),\r\n left: fitIntoRange(left, -allowedOffsets.left, allowedOffsets.right)\r\n }\r\n }\r\n _getContainerDimensions() {\r\n var document = domAdapter.getDocument();\r\n var container = this._positionController.$dragResizeContainer.get(0);\r\n var containerWidth = getOuterWidth(container);\r\n var containerHeight = getOuterHeight(container);\r\n if (isWindow(container)) {\r\n containerHeight = Math.max(document.body.clientHeight, containerHeight);\r\n containerWidth = Math.max(document.body.clientWidth, containerWidth)\r\n }\r\n return {\r\n width: containerWidth,\r\n height: containerHeight\r\n }\r\n }\r\n _getContainerPosition() {\r\n var container = this._positionController.$dragResizeContainer.get(0);\r\n return isWindow(container) ? {\r\n top: 0,\r\n left: 0\r\n } : getOffset(container)\r\n }\r\n _getElementPosition() {\r\n return getOffset(this._draggableElement)\r\n }\r\n _getInnerDelta() {\r\n var containerDimensions = this._getContainerDimensions();\r\n var elementDimensions = this._getElementDimensions();\r\n return {\r\n x: containerDimensions.width - elementDimensions.width,\r\n y: containerDimensions.height - elementDimensions.height\r\n }\r\n }\r\n _getOuterDelta() {\r\n var {\r\n width: width,\r\n height: height\r\n } = this._getElementDimensions();\r\n var outsideDragFactor = this._positionController.outsideDragFactor;\r\n return {\r\n x: width * outsideDragFactor,\r\n y: height * outsideDragFactor\r\n }\r\n }\r\n _getFullDelta() {\r\n var fullDelta = this._getInnerDelta();\r\n var outerDelta = this._getOuterDelta();\r\n return {\r\n x: fullDelta.x + outerDelta.x,\r\n y: fullDelta.y + outerDelta.y\r\n }\r\n }\r\n _getElementDimensions() {\r\n return {\r\n width: this._draggableElement.offsetWidth,\r\n height: this._draggableElement.offsetHeight\r\n }\r\n }\r\n _getAllowedOffsets() {\r\n var fullDelta = this._getFullDelta();\r\n var isDragAllowed = fullDelta.y >= 0 && fullDelta.x >= 0;\r\n if (!isDragAllowed) {\r\n return {\r\n top: 0,\r\n bottom: 0,\r\n left: 0,\r\n right: 0\r\n }\r\n }\r\n var elementPosition = this._getElementPosition();\r\n var containerPosition = this._getContainerPosition();\r\n var outerDelta = this._getOuterDelta();\r\n return {\r\n top: elementPosition.top - containerPosition.top + outerDelta.y,\r\n bottom: -elementPosition.top + containerPosition.top + fullDelta.y,\r\n left: elementPosition.left - containerPosition.left + outerDelta.x,\r\n right: -elementPosition.left + containerPosition.left + fullDelta.x\r\n }\r\n }\r\n _moveByOffset(offset) {\r\n var currentPosition = locate(this._draggableElement);\r\n var newPosition = {\r\n left: currentPosition.left + offset.left,\r\n top: currentPosition.top + offset.top\r\n };\r\n move(this._draggableElement, newPosition)\r\n }\r\n}\r\nexport default PopupDrag;\r\n","/**\r\n * DevExtreme (esm/ui/resizable.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight,\r\n getInnerWidth,\r\n getInnerHeight,\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../animation/translator\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport DOMComponent from \"../core/dom_component\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n pairToObject\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n fitIntoRange,\r\n inRange\r\n} from \"../core/utils/math\";\r\nimport {\r\n isPlainObject,\r\n isFunction,\r\n isWindow\r\n} from \"../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../events/drag\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../events/visibility_change\";\r\nvar RESIZABLE = \"dxResizable\";\r\nvar RESIZABLE_CLASS = \"dx-resizable\";\r\nvar RESIZABLE_RESIZING_CLASS = \"dx-resizable-resizing\";\r\nvar RESIZABLE_HANDLE_CLASS = \"dx-resizable-handle\";\r\nvar RESIZABLE_HANDLE_TOP_CLASS = \"dx-resizable-handle-top\";\r\nvar RESIZABLE_HANDLE_BOTTOM_CLASS = \"dx-resizable-handle-bottom\";\r\nvar RESIZABLE_HANDLE_LEFT_CLASS = \"dx-resizable-handle-left\";\r\nvar RESIZABLE_HANDLE_RIGHT_CLASS = \"dx-resizable-handle-right\";\r\nvar RESIZABLE_HANDLE_CORNER_CLASS = \"dx-resizable-handle-corner\";\r\nvar DRAGSTART_START_EVENT_NAME = addNamespace(dragEventStart, RESIZABLE);\r\nvar DRAGSTART_EVENT_NAME = addNamespace(dragEventMove, RESIZABLE);\r\nvar DRAGSTART_END_EVENT_NAME = addNamespace(dragEventEnd, RESIZABLE);\r\nvar SIDE_BORDER_WIDTH_STYLES = {\r\n left: \"borderLeftWidth\",\r\n top: \"borderTopWidth\",\r\n right: \"borderRightWidth\",\r\n bottom: \"borderBottomWidth\"\r\n};\r\nvar Resizable = DOMComponent.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n handles: \"all\",\r\n step: \"1\",\r\n stepPrecision: \"simple\",\r\n area: void 0,\r\n minWidth: 30,\r\n maxWidth: 1 / 0,\r\n minHeight: 30,\r\n maxHeight: 1 / 0,\r\n onResizeStart: null,\r\n onResize: null,\r\n onResizeEnd: null,\r\n roundStepValue: true,\r\n keepAspectRatio: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(RESIZABLE_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderHandles()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderActions()\r\n },\r\n _renderActions: function() {\r\n this._resizeStartAction = this._createActionByOption(\"onResizeStart\");\r\n this._resizeEndAction = this._createActionByOption(\"onResizeEnd\");\r\n this._resizeAction = this._createActionByOption(\"onResize\")\r\n },\r\n _renderHandles: function() {\r\n this._handles = [];\r\n var handles = this.option(\"handles\");\r\n if (\"none\" === handles || !handles) {\r\n return\r\n }\r\n var directions = \"all\" === handles ? [\"top\", \"bottom\", \"left\", \"right\"] : handles.split(\" \");\r\n var activeHandlesMap = {};\r\n each(directions, (index, handleName) => {\r\n activeHandlesMap[handleName] = true;\r\n this._renderHandle(handleName)\r\n });\r\n activeHandlesMap.bottom && activeHandlesMap.right && this._renderHandle(\"corner-bottom-right\");\r\n activeHandlesMap.bottom && activeHandlesMap.left && this._renderHandle(\"corner-bottom-left\");\r\n activeHandlesMap.top && activeHandlesMap.right && this._renderHandle(\"corner-top-right\");\r\n activeHandlesMap.top && activeHandlesMap.left && this._renderHandle(\"corner-top-left\");\r\n this._attachEventHandlers()\r\n },\r\n _renderHandle: function(handleName) {\r\n var $handle = $(\"<div>\").addClass(RESIZABLE_HANDLE_CLASS).addClass(RESIZABLE_HANDLE_CLASS + \"-\" + handleName).appendTo(this.$element());\r\n this._handles.push($handle)\r\n },\r\n _attachEventHandlers: function() {\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n var handlers = {};\r\n handlers[DRAGSTART_START_EVENT_NAME] = this._dragStartHandler.bind(this);\r\n handlers[DRAGSTART_EVENT_NAME] = this._dragHandler.bind(this);\r\n handlers[DRAGSTART_END_EVENT_NAME] = this._dragEndHandler.bind(this);\r\n this._handles.forEach(handleElement => {\r\n eventsEngine.on(handleElement, handlers, {\r\n direction: \"both\",\r\n immediate: true\r\n })\r\n })\r\n },\r\n _detachEventHandlers: function() {\r\n this._handles.forEach(handleElement => {\r\n eventsEngine.off(handleElement)\r\n })\r\n },\r\n _toggleEventHandlers: function(shouldAttachEvents) {\r\n shouldAttachEvents ? this._attachEventHandlers() : this._detachEventHandlers()\r\n },\r\n _getElementSize: function() {\r\n var $element = this.$element();\r\n return \"border-box\" === $element.css(\"boxSizing\") ? {\r\n width: getOuterWidth($element),\r\n height: getOuterHeight($element)\r\n } : {\r\n width: getWidth($element),\r\n height: getHeight($element)\r\n }\r\n },\r\n _dragStartHandler: function(e) {\r\n var $element = this.$element();\r\n if ($element.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n e.cancel = true;\r\n return\r\n }\r\n this._toggleResizingClass(true);\r\n this._movingSides = this._getMovingSides(e);\r\n this._elementLocation = locate($element);\r\n this._elementSize = this._getElementSize();\r\n this._renderDragOffsets(e);\r\n this._resizeStartAction({\r\n event: e,\r\n width: this._elementSize.width,\r\n height: this._elementSize.height,\r\n handles: this._movingSides\r\n });\r\n e.targetElements = null\r\n },\r\n _toggleResizingClass: function(value) {\r\n this.$element().toggleClass(RESIZABLE_RESIZING_CLASS, value)\r\n },\r\n _renderDragOffsets: function(e) {\r\n var area = this._getArea();\r\n if (!area) {\r\n return\r\n }\r\n var $handle = $(e.target).closest(\".\" + RESIZABLE_HANDLE_CLASS);\r\n var handleWidth = getOuterWidth($handle);\r\n var handleHeight = getOuterHeight($handle);\r\n var handleOffset = $handle.offset();\r\n var areaOffset = area.offset;\r\n var scrollOffset = this._getAreaScrollOffset();\r\n e.maxLeftOffset = this._leftMaxOffset = handleOffset.left - areaOffset.left - scrollOffset.scrollX;\r\n e.maxRightOffset = this._rightMaxOffset = areaOffset.left + area.width - handleOffset.left - handleWidth + scrollOffset.scrollX;\r\n e.maxTopOffset = this._topMaxOffset = handleOffset.top - areaOffset.top - scrollOffset.scrollY;\r\n e.maxBottomOffset = this._bottomMaxOffset = areaOffset.top + area.height - handleOffset.top - handleHeight + scrollOffset.scrollY\r\n },\r\n _getBorderWidth: function($element, direction) {\r\n if (isWindow($element.get(0))) {\r\n return 0\r\n }\r\n var borderWidth = $element.css(SIDE_BORDER_WIDTH_STYLES[direction]);\r\n return parseInt(borderWidth) || 0\r\n },\r\n _proportionate: function(direction, value) {\r\n var size = this._elementSize;\r\n var factor = \"x\" === direction ? size.width / size.height : size.height / size.width;\r\n return value * factor\r\n },\r\n _getProportionalDelta: function(_ref) {\r\n var {\r\n x: x,\r\n y: y\r\n } = _ref;\r\n var proportionalY = this._proportionate(\"y\", x);\r\n if (proportionalY >= y) {\r\n return {\r\n x: x,\r\n y: proportionalY\r\n }\r\n }\r\n var proportionalX = this._proportionate(\"x\", y);\r\n if (proportionalX >= x) {\r\n return {\r\n x: proportionalX,\r\n y: y\r\n }\r\n }\r\n return {\r\n x: 0,\r\n y: 0\r\n }\r\n },\r\n _getDirectionName: function(axis) {\r\n var sides = this._movingSides;\r\n if (\"x\" === axis) {\r\n return sides.left ? \"left\" : \"right\"\r\n } else {\r\n return sides.top ? \"top\" : \"bottom\"\r\n }\r\n },\r\n _fitIntoArea: function(axis, value) {\r\n var _this;\r\n var directionName = this._getDirectionName(axis);\r\n return Math.min(value, null !== (_this = this[\"_\".concat(directionName, \"MaxOffset\")]) && void 0 !== _this ? _this : 1 / 0)\r\n },\r\n _fitDeltaProportionally: function(delta) {\r\n var fittedDelta = _extends({}, delta);\r\n var size = this._elementSize;\r\n var {\r\n minWidth: minWidth,\r\n minHeight: minHeight,\r\n maxWidth: maxWidth,\r\n maxHeight: maxHeight\r\n } = this.option();\r\n var getWidth = () => size.width + fittedDelta.x;\r\n var getHeight = () => size.height + fittedDelta.y;\r\n var isInArea = axis => fittedDelta[axis] === this._fitIntoArea(axis, fittedDelta[axis]);\r\n var isFittedX = () => inRange(getWidth(), minWidth, maxWidth) && isInArea(\"x\");\r\n var isFittedY = () => inRange(getHeight(), minHeight, maxHeight) && isInArea(\"y\");\r\n if (!isFittedX()) {\r\n var x = this._fitIntoArea(\"x\", fitIntoRange(getWidth(), minWidth, maxWidth) - size.width);\r\n fittedDelta = {\r\n x: x,\r\n y: this._proportionate(\"y\", x)\r\n }\r\n }\r\n if (!isFittedY()) {\r\n var y = this._fitIntoArea(\"y\", fitIntoRange(getHeight(), minHeight, maxHeight) - size.height);\r\n fittedDelta = {\r\n x: this._proportionate(\"x\", y),\r\n y: y\r\n }\r\n }\r\n return isFittedX() && isFittedY() ? fittedDelta : {\r\n x: 0,\r\n y: 0\r\n }\r\n },\r\n _fitDelta: function(_ref2) {\r\n var {\r\n x: x,\r\n y: y\r\n } = _ref2;\r\n var size = this._elementSize;\r\n var {\r\n minWidth: minWidth,\r\n minHeight: minHeight,\r\n maxWidth: maxWidth,\r\n maxHeight: maxHeight\r\n } = this.option();\r\n return {\r\n x: fitIntoRange(size.width + x, minWidth, maxWidth) - size.width,\r\n y: fitIntoRange(size.height + y, minHeight, maxHeight) - size.height\r\n }\r\n },\r\n _getDeltaByOffset: function(offset) {\r\n var sides = this._movingSides;\r\n var shouldKeepAspectRatio = this._isCornerHandler(sides) && this.option(\"keepAspectRatio\");\r\n var delta = {\r\n x: offset.x * (sides.left ? -1 : 1),\r\n y: offset.y * (sides.top ? -1 : 1)\r\n };\r\n if (shouldKeepAspectRatio) {\r\n var proportionalDelta = this._getProportionalDelta(delta);\r\n var fittedProportionalDelta = this._fitDeltaProportionally(proportionalDelta);\r\n delta = fittedProportionalDelta\r\n } else {\r\n var fittedDelta = this._fitDelta(delta);\r\n var roundedFittedDelta = this._roundByStep(fittedDelta);\r\n delta = roundedFittedDelta\r\n }\r\n return delta\r\n },\r\n _updatePosition: function(delta, _ref3) {\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref3;\r\n var location = this._elementLocation;\r\n var sides = this._movingSides;\r\n var $element = this.$element();\r\n var elementRect = this._getElementSize();\r\n var offsetTop = delta.y * (sides.top ? -1 : 1) - ((elementRect.height || height) - height);\r\n var offsetLeft = delta.x * (sides.left ? -1 : 1) - ((elementRect.width || width) - width);\r\n move($element, {\r\n top: location.top + (sides.top ? offsetTop : 0),\r\n left: location.left + (sides.left ? offsetLeft : 0)\r\n })\r\n },\r\n _dragHandler: function(e) {\r\n var offset = this._getOffset(e);\r\n var delta = this._getDeltaByOffset(offset);\r\n var dimensions = this._updateDimensions(delta);\r\n this._updatePosition(delta, dimensions);\r\n this._triggerResizeAction(e, dimensions)\r\n },\r\n _updateDimensions: function(delta) {\r\n var isAbsoluteSize = size => \"px\" === size.substring(size.length - 2);\r\n var isStepPrecisionStrict = \"strict\" === this.option(\"stepPrecision\");\r\n var size = this._elementSize;\r\n var width = size.width + delta.x;\r\n var height = size.height + delta.y;\r\n var elementStyle = this.$element().get(0).style;\r\n var shouldRenderWidth = delta.x || isStepPrecisionStrict || isAbsoluteSize(elementStyle.width);\r\n var shouldRenderHeight = delta.y || isStepPrecisionStrict || isAbsoluteSize(elementStyle.height);\r\n if (shouldRenderWidth) {\r\n this.option({\r\n width: width\r\n })\r\n }\r\n if (shouldRenderHeight) {\r\n this.option({\r\n height: height\r\n })\r\n }\r\n return {\r\n width: shouldRenderWidth ? width : size.width,\r\n height: shouldRenderHeight ? height : size.height\r\n }\r\n },\r\n _triggerResizeAction: function(e, _ref4) {\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref4;\r\n this._resizeAction({\r\n event: e,\r\n width: this.option(\"width\") || width,\r\n height: this.option(\"height\") || height,\r\n handles: this._movingSides\r\n });\r\n triggerResizeEvent(this.$element())\r\n },\r\n _isCornerHandler: sides => 0 === Object.values(sides).reduce((xor, value) => xor ^ value, 0),\r\n _getOffset: function(e) {\r\n var offset = e.offset;\r\n var sides = this._movingSides;\r\n if (!sides.left && !sides.right) {\r\n offset.x = 0\r\n }\r\n if (!sides.top && !sides.bottom) {\r\n offset.y = 0\r\n }\r\n return offset\r\n },\r\n _roundByStep: function(delta) {\r\n return \"strict\" === this.option(\"stepPrecision\") ? this._roundStrict(delta) : this._roundNotStrict(delta)\r\n },\r\n _getSteps: function() {\r\n return pairToObject(this.option(\"step\"), !this.option(\"roundStepValue\"))\r\n },\r\n _roundNotStrict: function(delta) {\r\n var steps = this._getSteps();\r\n return {\r\n x: delta.x - delta.x % steps.h,\r\n y: delta.y - delta.y % steps.v\r\n }\r\n },\r\n _roundStrict: function(delta) {\r\n var sides = this._movingSides;\r\n var offset = {\r\n x: delta.x * (sides.left ? -1 : 1),\r\n y: delta.y * (sides.top ? -1 : 1)\r\n };\r\n var steps = this._getSteps();\r\n var location = this._elementLocation;\r\n var size = this._elementSize;\r\n var xPos = sides.left ? location.left : location.left + size.width;\r\n var yPos = sides.top ? location.top : location.top + size.height;\r\n var newXShift = (xPos + offset.x) % steps.h;\r\n var newYShift = (yPos + offset.y) % steps.v;\r\n var sign = Math.sign || (x => {\r\n x = +x;\r\n if (0 === x || isNaN(x)) {\r\n return x\r\n }\r\n return x > 0 ? 1 : -1\r\n });\r\n var separatorOffset = (steps, offset) => (1 + .2 * sign(offset)) % 1 * steps;\r\n var isSmallOffset = (offset, steps) => Math.abs(offset) < .2 * steps;\r\n var newOffsetX = offset.x - newXShift;\r\n var newOffsetY = offset.y - newYShift;\r\n if (newXShift > separatorOffset(steps.h, offset.x)) {\r\n newOffsetX += steps.h\r\n }\r\n if (newYShift > separatorOffset(steps.v, offset.y)) {\r\n newOffsetY += steps.v\r\n }\r\n var roundedOffset_x = (sides.left || sides.right) && !isSmallOffset(offset.x, steps.h) ? newOffsetX : 0,\r\n roundedOffset_y = (sides.top || sides.bottom) && !isSmallOffset(offset.y, steps.v) ? newOffsetY : 0;\r\n return {\r\n x: roundedOffset_x * (sides.left ? -1 : 1),\r\n y: roundedOffset_y * (sides.top ? -1 : 1)\r\n }\r\n },\r\n _getMovingSides: function(e) {\r\n var $target = $(e.target);\r\n var hasCornerTopLeftClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-top-left\");\r\n var hasCornerTopRightClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-top-right\");\r\n var hasCornerBottomLeftClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-bottom-left\");\r\n var hasCornerBottomRightClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-bottom-right\");\r\n return {\r\n top: $target.hasClass(RESIZABLE_HANDLE_TOP_CLASS) || hasCornerTopLeftClass || hasCornerTopRightClass,\r\n left: $target.hasClass(RESIZABLE_HANDLE_LEFT_CLASS) || hasCornerTopLeftClass || hasCornerBottomLeftClass,\r\n bottom: $target.hasClass(RESIZABLE_HANDLE_BOTTOM_CLASS) || hasCornerBottomLeftClass || hasCornerBottomRightClass,\r\n right: $target.hasClass(RESIZABLE_HANDLE_RIGHT_CLASS) || hasCornerTopRightClass || hasCornerBottomRightClass\r\n }\r\n },\r\n _getArea: function() {\r\n var area = this.option(\"area\");\r\n if (isFunction(area)) {\r\n area = area.call(this)\r\n }\r\n if (isPlainObject(area)) {\r\n return this._getAreaFromObject(area)\r\n }\r\n return this._getAreaFromElement(area)\r\n },\r\n _getAreaScrollOffset: function() {\r\n var area = this.option(\"area\");\r\n var isElement = !isFunction(area) && !isPlainObject(area);\r\n var scrollOffset = {\r\n scrollY: 0,\r\n scrollX: 0\r\n };\r\n if (isElement) {\r\n var areaElement = $(area)[0];\r\n if (isWindow(areaElement)) {\r\n scrollOffset.scrollX = areaElement.pageXOffset;\r\n scrollOffset.scrollY = areaElement.pageYOffset\r\n }\r\n }\r\n return scrollOffset\r\n },\r\n _getAreaFromObject: function(area) {\r\n var result = {\r\n width: area.right - area.left,\r\n height: area.bottom - area.top,\r\n offset: {\r\n left: area.left,\r\n top: area.top\r\n }\r\n };\r\n this._correctAreaGeometry(result);\r\n return result\r\n },\r\n _getAreaFromElement: function(area) {\r\n var $area = $(area);\r\n var result;\r\n if ($area.length) {\r\n result = {\r\n width: getInnerWidth($area),\r\n height: getInnerHeight($area),\r\n offset: extend({\r\n top: 0,\r\n left: 0\r\n }, isWindow($area[0]) ? {} : $area.offset())\r\n };\r\n this._correctAreaGeometry(result, $area)\r\n }\r\n return result\r\n },\r\n _correctAreaGeometry: function(result, $area) {\r\n var areaBorderLeft = $area ? this._getBorderWidth($area, \"left\") : 0;\r\n var areaBorderTop = $area ? this._getBorderWidth($area, \"top\") : 0;\r\n result.offset.left += areaBorderLeft + this._getBorderWidth(this.$element(), \"left\");\r\n result.offset.top += areaBorderTop + this._getBorderWidth(this.$element(), \"top\");\r\n result.width -= getOuterWidth(this.$element()) - getInnerWidth(this.$element());\r\n result.height -= getOuterHeight(this.$element()) - getInnerHeight(this.$element())\r\n },\r\n _dragEndHandler: function(e) {\r\n var $element = this.$element();\r\n this._resizeEndAction({\r\n event: e,\r\n width: getOuterWidth($element),\r\n height: getOuterHeight($element),\r\n handles: this._movingSides\r\n });\r\n this._toggleResizingClass(false)\r\n },\r\n _renderWidth: function(width) {\r\n this.option(\"width\", fitIntoRange(width, this.option(\"minWidth\"), this.option(\"maxWidth\")))\r\n },\r\n _renderHeight: function(height) {\r\n this.option(\"height\", fitIntoRange(height, this.option(\"minHeight\"), this.option(\"maxHeight\")))\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"disabled\":\r\n this._toggleEventHandlers(!args.value);\r\n this.callBase(args);\r\n break;\r\n case \"handles\":\r\n this._invalidate();\r\n break;\r\n case \"minWidth\":\r\n case \"maxWidth\":\r\n hasWindow() && this._renderWidth(getOuterWidth(this.$element()));\r\n break;\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n hasWindow() && this._renderHeight(getOuterHeight(this.$element()));\r\n break;\r\n case \"onResize\":\r\n case \"onResizeStart\":\r\n case \"onResizeEnd\":\r\n this._renderActions();\r\n break;\r\n case \"area\":\r\n case \"stepPrecision\":\r\n case \"step\":\r\n case \"roundStepValue\":\r\n case \"keepAspectRatio\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n this.$element().find(\".\" + RESIZABLE_HANDLE_CLASS).remove()\r\n },\r\n _useTemplates: function() {\r\n return false\r\n }\r\n});\r\nregisterComponent(RESIZABLE, Resizable);\r\nexport default Resizable;\r\n","/**\r\n * DevExtreme (esm/ui/popup/popup_position_controller.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"fullScreen\", \"forceApplyBindings\", \"dragOutsideBoundary\", \"dragAndResizeArea\", \"outsideDragFactor\"];\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n originalViewPort\r\n} from \"../../core/utils/view_port\";\r\nimport {\r\n OverlayPositionController\r\n} from \"../overlay/overlay_position_controller\";\r\nvar window = getWindow();\r\nclass PopupPositionController extends OverlayPositionController {\r\n constructor(_ref) {\r\n var {\r\n fullScreen: fullScreen,\r\n forceApplyBindings: forceApplyBindings,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor\r\n } = _ref, args = _objectWithoutPropertiesLoose(_ref, _excluded);\r\n super(args);\r\n this._props = _extends({}, this._props, {\r\n fullScreen: fullScreen,\r\n forceApplyBindings: forceApplyBindings,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor\r\n });\r\n this._$dragResizeContainer = void 0;\r\n this._updateDragResizeContainer()\r\n }\r\n set fullScreen(fullScreen) {\r\n this._props.fullScreen = fullScreen;\r\n if (fullScreen) {\r\n this._fullScreenEnabled()\r\n } else {\r\n this._fullScreenDisabled()\r\n }\r\n }\r\n get $dragResizeContainer() {\r\n return this._$dragResizeContainer\r\n }\r\n get outsideDragFactor() {\r\n if (this._props.dragOutsideBoundary) {\r\n return 1\r\n }\r\n return this._props.outsideDragFactor\r\n }\r\n set dragAndResizeArea(dragAndResizeArea) {\r\n this._props.dragAndResizeArea = dragAndResizeArea;\r\n this._updateDragResizeContainer()\r\n }\r\n set dragOutsideBoundary(dragOutsideBoundary) {\r\n this._props.dragOutsideBoundary = dragOutsideBoundary;\r\n this._updateDragResizeContainer()\r\n }\r\n set outsideDragFactor(outsideDragFactor) {\r\n this._props.outsideDragFactor = outsideDragFactor\r\n }\r\n updateContainer(containerProp) {\r\n super.updateContainer(containerProp);\r\n this._updateDragResizeContainer()\r\n }\r\n dragHandled() {\r\n this.restorePositionOnNextRender(false)\r\n }\r\n resizeHandled() {\r\n this.restorePositionOnNextRender(false)\r\n }\r\n positionContent() {\r\n if (this._props.fullScreen) {\r\n move(this._$content, {\r\n top: 0,\r\n left: 0\r\n });\r\n this.detectVisualPositionChange()\r\n } else {\r\n var _this$_props$forceApp, _this$_props;\r\n null === (_this$_props$forceApp = (_this$_props = this._props).forceApplyBindings) || void 0 === _this$_props$forceApp ? void 0 : _this$_props$forceApp.call(_this$_props);\r\n super.positionContent()\r\n }\r\n }\r\n _updateDragResizeContainer() {\r\n this._$dragResizeContainer = this._getDragResizeContainer()\r\n }\r\n _getDragResizeContainer() {\r\n if (this._props.dragOutsideBoundary) {\r\n return $(window)\r\n }\r\n if (this._props.dragAndResizeArea) {\r\n return $(this._props.dragAndResizeArea)\r\n }\r\n var isContainerDefined = originalViewPort().get(0) || this._props.container;\r\n return isContainerDefined ? this._$markupContainer : $(window)\r\n }\r\n _getVisualContainer() {\r\n if (this._props.fullScreen) {\r\n return $(window)\r\n }\r\n return super._getVisualContainer()\r\n }\r\n _fullScreenEnabled() {\r\n this.restorePositionOnNextRender(false)\r\n }\r\n _fullScreenDisabled() {\r\n this.restorePositionOnNextRender(true)\r\n }\r\n}\r\nexport {\r\n PopupPositionController\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/popup/popup_overflow_manager.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar overflowManagerMock = {\r\n setOverflow: noop,\r\n restoreOverflow: noop\r\n};\r\nexport var createBodyOverflowManager = () => {\r\n if (!hasWindow()) {\r\n return overflowManagerMock\r\n }\r\n var window = getWindow();\r\n var documentElement = domAdapter.getDocument().documentElement;\r\n var body = domAdapter.getBody();\r\n var isIosDevice = \"ios\" === devices.real().platform;\r\n var prevSettings = {\r\n overflow: null,\r\n overflowX: null,\r\n overflowY: null,\r\n paddingRight: null,\r\n position: null,\r\n top: null,\r\n left: null\r\n };\r\n var setBodyPaddingRight = () => {\r\n var scrollBarWidth = window.innerWidth - documentElement.clientWidth;\r\n if (prevSettings.paddingRight || scrollBarWidth <= 0) {\r\n return\r\n }\r\n var paddingRight = window.getComputedStyle(body).getPropertyValue(\"padding-right\");\r\n var computedBodyPaddingRight = parseInt(paddingRight, 10);\r\n prevSettings.paddingRight = computedBodyPaddingRight;\r\n body.style.setProperty(\"padding-right\", \"\".concat(computedBodyPaddingRight + scrollBarWidth, \"px\"))\r\n };\r\n var restoreBodyPaddingRight = () => {\r\n if (!isDefined(prevSettings.paddingRight)) {\r\n return\r\n }\r\n if (prevSettings.paddingRight) {\r\n body.style.setProperty(\"padding-right\", \"\".concat(prevSettings.paddingRight, \"px\"))\r\n } else {\r\n body.style.removeProperty(\"padding-right\")\r\n }\r\n prevSettings.paddingRight = null\r\n };\r\n return {\r\n setOverflow: isIosDevice ? () => {\r\n if (isDefined(prevSettings.position) || \"fixed\" === body.style.position) {\r\n return\r\n }\r\n var {\r\n scrollY: scrollY,\r\n scrollX: scrollX\r\n } = window;\r\n prevSettings.position = body.style.position;\r\n prevSettings.top = body.style.top;\r\n prevSettings.left = body.style.left;\r\n body.style.setProperty(\"position\", \"fixed\");\r\n body.style.setProperty(\"top\", \"\".concat(-scrollY, \"px\"));\r\n body.style.setProperty(\"left\", \"\".concat(-scrollX, \"px\"))\r\n } : () => {\r\n setBodyPaddingRight();\r\n if (prevSettings.overflow || \"hidden\" === body.style.overflow) {\r\n return\r\n }\r\n prevSettings.overflow = body.style.overflow;\r\n prevSettings.overflowX = body.style.overflowX;\r\n prevSettings.overflowY = body.style.overflowY;\r\n body.style.setProperty(\"overflow\", \"hidden\")\r\n },\r\n restoreOverflow: isIosDevice ? () => {\r\n if (!isDefined(prevSettings.position)) {\r\n return\r\n }\r\n var scrollY = -parseInt(body.style.top, 10);\r\n var scrollX = -parseInt(body.style.left, 10);\r\n [\"position\", \"top\", \"left\"].forEach(property => {\r\n if (prevSettings[property]) {\r\n body.style.setProperty(property, prevSettings[property])\r\n } else {\r\n body.style.removeProperty(property)\r\n }\r\n });\r\n window.scrollTo(scrollX, scrollY);\r\n prevSettings.position = null\r\n } : () => {\r\n restoreBodyPaddingRight();\r\n [\"overflow\", \"overflowX\", \"overflowY\"].forEach(property => {\r\n if (!isDefined(prevSettings[property])) {\r\n return\r\n }\r\n var propertyInKebabCase = property.replace(/(X)|(Y)/, symbol => \"-\".concat(symbol.toLowerCase()));\r\n if (prevSettings[property]) {\r\n body.style.setProperty(propertyInKebabCase, prevSettings[property])\r\n } else {\r\n body.style.removeProperty(propertyInKebabCase)\r\n }\r\n prevSettings[property] = null\r\n })\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/popup/ui.popup.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../../core/templates/empty_template\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n camelize\r\n} from \"../../core/utils/inflector\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getVisibleHeight,\r\n addOffsetToMaxHeight,\r\n addOffsetToMinHeight,\r\n getVerticalOffsets,\r\n getOuterWidth,\r\n getWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport {\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n compare as compareVersions\r\n} from \"../../core/utils/version\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../../events/visibility_change\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport PopupDrag from \"./popup_drag\";\r\nimport Resizable from \"../resizable\";\r\nimport Button from \"../button\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport {\r\n isMaterial,\r\n current as currentTheme\r\n} from \"../themes\";\r\nimport \"../toolbar/ui.toolbar.base\";\r\nimport resizeObserverSingleton from \"../../core/resize_observer\";\r\nimport * as zIndexPool from \"../overlay/z_index\";\r\nimport {\r\n PopupPositionController\r\n} from \"./popup_position_controller\";\r\nimport {\r\n createBodyOverflowManager\r\n} from \"./popup_overflow_manager\";\r\nimport Guid from \"../../core/guid\";\r\nvar window = getWindow();\r\nvar POPUP_CLASS = \"dx-popup\";\r\nvar POPUP_WRAPPER_CLASS = \"dx-popup-wrapper\";\r\nvar POPUP_FULL_SCREEN_CLASS = \"dx-popup-fullscreen\";\r\nvar POPUP_FULL_SCREEN_WIDTH_CLASS = \"dx-popup-fullscreen-width\";\r\nvar POPUP_NORMAL_CLASS = \"dx-popup-normal\";\r\nvar POPUP_CONTENT_CLASS = \"dx-popup-content\";\r\nvar POPUP_CONTENT_SCROLLABLE_CLASS = \"dx-popup-content-scrollable\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar POPUP_DRAGGABLE_CLASS = \"dx-popup-draggable\";\r\nvar POPUP_TITLE_CLASS = \"dx-popup-title\";\r\nvar POPUP_TITLE_CLOSEBUTTON_CLASS = \"dx-closebutton\";\r\nvar POPUP_BOTTOM_CLASS = \"dx-popup-bottom\";\r\nvar POPUP_HAS_CLOSE_BUTTON_CLASS = \"dx-has-close-button\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar POPUP_CONTENT_FLEX_HEIGHT_CLASS = \"dx-popup-flex-height\";\r\nvar POPUP_CONTENT_INHERIT_HEIGHT_CLASS = \"dx-popup-inherit-height\";\r\nvar TOOLBAR_LABEL_CLASS = \"dx-toolbar-label\";\r\nvar ALLOWED_TOOLBAR_ITEM_ALIASES = [\"cancel\", \"clear\", \"done\"];\r\nvar BUTTON_DEFAULT_TYPE = \"default\";\r\nvar BUTTON_NORMAL_TYPE = \"normal\";\r\nvar BUTTON_TEXT_MODE = \"text\";\r\nvar BUTTON_CONTAINED_MODE = \"contained\";\r\nvar IS_OLD_SAFARI = browser.safari && compareVersions(browser.version, [11]) < 0;\r\nvar HEIGHT_STRATEGIES = {\r\n static: \"\",\r\n inherit: POPUP_CONTENT_INHERIT_HEIGHT_CLASS,\r\n flex: POPUP_CONTENT_FLEX_HEIGHT_CLASS\r\n};\r\nvar getButtonPlace = name => {\r\n var device = devices.current();\r\n var platform = device.platform;\r\n var toolbar = \"bottom\";\r\n var location = \"before\";\r\n if (\"ios\" === platform) {\r\n switch (name) {\r\n case \"cancel\":\r\n toolbar = \"top\";\r\n break;\r\n case \"clear\":\r\n toolbar = \"top\";\r\n location = \"after\";\r\n break;\r\n case \"done\":\r\n location = \"after\"\r\n }\r\n } else if (\"android\" === platform) {\r\n switch (name) {\r\n case \"cancel\":\r\n case \"done\":\r\n location = \"after\"\r\n }\r\n }\r\n return {\r\n toolbar: toolbar,\r\n location: location\r\n }\r\n};\r\nvar Popup = Overlay.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n upArrow: e => {\r\n var _this$_drag;\r\n null === (_this$_drag = this._drag) || void 0 === _this$_drag ? void 0 : _this$_drag.moveUp(e)\r\n },\r\n downArrow: e => {\r\n var _this$_drag2;\r\n null === (_this$_drag2 = this._drag) || void 0 === _this$_drag2 ? void 0 : _this$_drag2.moveDown(e)\r\n },\r\n leftArrow: e => {\r\n var _this$_drag3;\r\n null === (_this$_drag3 = this._drag) || void 0 === _this$_drag3 ? void 0 : _this$_drag3.moveLeft(e)\r\n },\r\n rightArrow: e => {\r\n var _this$_drag4;\r\n null === (_this$_drag4 = this._drag) || void 0 === _this$_drag4 ? void 0 : _this$_drag4.moveRight(e)\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n fullScreen: false,\r\n title: \"\",\r\n showTitle: true,\r\n titleTemplate: \"title\",\r\n onTitleRendered: null,\r\n dragOutsideBoundary: false,\r\n dragEnabled: false,\r\n dragAndResizeArea: void 0,\r\n enableBodyScroll: true,\r\n outsideDragFactor: 0,\r\n onResizeStart: null,\r\n onResize: null,\r\n onResizeEnd: null,\r\n resizeEnabled: false,\r\n toolbarItems: [],\r\n showCloseButton: false,\r\n bottomTemplate: \"bottom\",\r\n useDefaultToolbarButtons: false,\r\n useFlatToolbarButtons: false,\r\n autoResizeEnabled: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = currentTheme();\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n animation: this._iosAnimation\r\n }\r\n }, {\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n animation: this._androidAnimation\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n showCloseButton: true\r\n }\r\n }, {\r\n device: function(_device) {\r\n return \"desktop\" === devices.real().deviceType && \"generic\" === _device.platform\r\n },\r\n options: {\r\n dragEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n useDefaultToolbarButtons: true,\r\n useFlatToolbarButtons: true,\r\n showCloseButton: false\r\n }\r\n }])\r\n },\r\n _iosAnimation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\"\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"center\",\r\n at: \"center\"\r\n }\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n opacity: 1,\r\n position: {\r\n my: \"center\",\r\n at: \"center\"\r\n }\r\n },\r\n to: {\r\n opacity: 1,\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\"\r\n }\r\n }\r\n }\r\n },\r\n _androidAnimation: function() {\r\n return this.option(\"fullScreen\") ? {\r\n show: {\r\n type: \"slide\",\r\n duration: 300,\r\n from: {\r\n top: \"30%\",\r\n opacity: 0\r\n },\r\n to: {\r\n top: 0,\r\n opacity: 1\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 300,\r\n from: {\r\n top: 0,\r\n opacity: 1\r\n },\r\n to: {\r\n top: \"30%\",\r\n opacity: 0\r\n }\r\n }\r\n } : {\r\n show: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n }\r\n },\r\n _init: function() {\r\n var popupWrapperClassExternal = this.option(\"_wrapperClassExternal\");\r\n var popupWrapperClasses = popupWrapperClassExternal ? \"\".concat(POPUP_WRAPPER_CLASS, \" \").concat(popupWrapperClassExternal) : POPUP_WRAPPER_CLASS;\r\n this.callBase();\r\n this._createBodyOverflowManager();\r\n this._updateResizeCallbackSkipCondition();\r\n this.$element().addClass(POPUP_CLASS);\r\n this.$wrapper().addClass(popupWrapperClasses);\r\n this._$popupContent = this._$content.wrapInner($(\"<div>\").addClass(POPUP_CONTENT_CLASS)).children().eq(0);\r\n this._toggleContentScrollClass();\r\n this.$overlayContent().attr(\"role\", \"dialog\")\r\n },\r\n _render: function() {\r\n var isFullscreen = this.option(\"fullScreen\");\r\n this._toggleFullScreenClass(isFullscreen);\r\n this.callBase()\r\n },\r\n _createBodyOverflowManager: function() {\r\n this._bodyOverflowManager = createBodyOverflowManager()\r\n },\r\n _toggleFullScreenClass: function(value) {\r\n this.$overlayContent().toggleClass(POPUP_FULL_SCREEN_CLASS, value).toggleClass(POPUP_NORMAL_CLASS, !value)\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n title: new EmptyTemplate,\r\n bottom: new EmptyTemplate\r\n })\r\n },\r\n _getActionsList: function() {\r\n return this.callBase().concat([\"onResizeStart\", \"onResize\", \"onResizeEnd\"])\r\n },\r\n _contentResizeHandler: function(entry) {\r\n if (!this._shouldSkipContentResize(entry)) {\r\n this._renderGeometry({\r\n shouldOnlyReposition: true\r\n })\r\n }\r\n },\r\n _doesShowAnimationChangeDimensions: function() {\r\n var animation = this.option(\"animation\");\r\n return [\"to\", \"from\"].some(prop => {\r\n var _animation$show;\r\n var config = null === animation || void 0 === animation ? void 0 : null === (_animation$show = animation.show) || void 0 === _animation$show ? void 0 : _animation$show[prop];\r\n return isObject(config) && (\"width\" in config || \"height\" in config)\r\n })\r\n },\r\n _updateResizeCallbackSkipCondition() {\r\n var doesShowAnimationChangeDimensions = this._doesShowAnimationChangeDimensions();\r\n this._shouldSkipContentResize = entry => doesShowAnimationChangeDimensions && this._showAnimationProcessing || this._areContentDimensionsRendered(entry)\r\n },\r\n _observeContentResize: function(shouldObserve) {\r\n if (!this.option(\"useResizeObserver\")) {\r\n return\r\n }\r\n var contentElement = this._$content.get(0);\r\n if (shouldObserve) {\r\n resizeObserverSingleton.observe(contentElement, entry => {\r\n this._contentResizeHandler(entry)\r\n })\r\n } else {\r\n resizeObserverSingleton.unobserve(contentElement)\r\n }\r\n },\r\n _areContentDimensionsRendered: function(entry) {\r\n var _entry$contentBoxSize, _this$_renderedDimens3, _this$_renderedDimens4;\r\n var contentBox = null === (_entry$contentBoxSize = entry.contentBoxSize) || void 0 === _entry$contentBoxSize ? void 0 : _entry$contentBoxSize[0];\r\n if (contentBox) {\r\n var _this$_renderedDimens, _this$_renderedDimens2;\r\n return parseInt(contentBox.inlineSize, 10) === (null === (_this$_renderedDimens = this._renderedDimensions) || void 0 === _this$_renderedDimens ? void 0 : _this$_renderedDimens.width) && parseInt(contentBox.blockSize, 10) === (null === (_this$_renderedDimens2 = this._renderedDimensions) || void 0 === _this$_renderedDimens2 ? void 0 : _this$_renderedDimens2.height)\r\n }\r\n var contentRect = entry.contentRect;\r\n return parseInt(contentRect.width, 10) === (null === (_this$_renderedDimens3 = this._renderedDimensions) || void 0 === _this$_renderedDimens3 ? void 0 : _this$_renderedDimens3.width) && parseInt(contentRect.height, 10) === (null === (_this$_renderedDimens4 = this._renderedDimensions) || void 0 === _this$_renderedDimens4 ? void 0 : _this$_renderedDimens4.height)\r\n },\r\n _renderContent() {\r\n this.callBase();\r\n this._observeContentResize(true)\r\n },\r\n _renderContentImpl: function() {\r\n this._renderTitle();\r\n this.callBase();\r\n this._renderResize();\r\n this._renderBottom()\r\n },\r\n _renderTitle: function() {\r\n var items = this._getToolbarItems(\"top\");\r\n var {\r\n title: title,\r\n showTitle: showTitle\r\n } = this.option();\r\n if (showTitle && !!title) {\r\n items.unshift({\r\n location: devices.current().ios ? \"center\" : \"before\",\r\n text: title\r\n })\r\n }\r\n if (showTitle || items.length > 0) {\r\n this._$title && this._$title.remove();\r\n var $title = $(\"<div>\").addClass(POPUP_TITLE_CLASS).insertBefore(this.$content());\r\n this._$title = this._renderTemplateByType(\"titleTemplate\", items, $title).addClass(POPUP_TITLE_CLASS);\r\n this._renderDrag();\r\n this._executeTitleRenderAction(this._$title);\r\n this._$title.toggleClass(POPUP_HAS_CLOSE_BUTTON_CLASS, this._hasCloseButton())\r\n } else if (this._$title) {\r\n this._$title.detach()\r\n }\r\n this._toggleAriaLabel()\r\n },\r\n _toggleAriaLabel() {\r\n var _this$_$title;\r\n var {\r\n title: title,\r\n showTitle: showTitle\r\n } = this.option();\r\n var shouldSetAriaLabel = showTitle && !!title;\r\n var titleId = shouldSetAriaLabel ? new Guid : null;\r\n null === (_this$_$title = this._$title) || void 0 === _this$_$title ? void 0 : _this$_$title.find(\".\".concat(TOOLBAR_LABEL_CLASS)).eq(0).attr(\"id\", titleId);\r\n this.$overlayContent().attr(\"aria-labelledby\", titleId)\r\n },\r\n _renderTemplateByType: function(optionName, data, $container, additionalToolbarOptions) {\r\n var {\r\n rtlEnabled: rtlEnabled,\r\n useDefaultToolbarButtons: useDefaultToolbarButtons,\r\n useFlatToolbarButtons: useFlatToolbarButtons,\r\n disabled: disabled\r\n } = this.option();\r\n var template = this._getTemplateByOption(optionName);\r\n var toolbarTemplate = template instanceof EmptyTemplate;\r\n if (toolbarTemplate) {\r\n var integrationOptions = extend({}, this.option(\"integrationOptions\"), {\r\n skipTemplates: [\"content\", \"title\"]\r\n });\r\n var toolbarOptions = extend(additionalToolbarOptions, {\r\n items: data,\r\n rtlEnabled: rtlEnabled,\r\n useDefaultButtons: useDefaultToolbarButtons,\r\n useFlatButtons: useFlatToolbarButtons,\r\n disabled: disabled,\r\n integrationOptions: integrationOptions\r\n });\r\n this._getTemplate(\"dx-polymorph-widget\").render({\r\n container: $container,\r\n model: {\r\n widget: this._getToolbarName(),\r\n options: toolbarOptions\r\n }\r\n });\r\n var $toolbar = $container.children(\"div\");\r\n $container.replaceWith($toolbar);\r\n return $toolbar\r\n } else {\r\n var $result = $(template.render({\r\n container: getPublicElement($container)\r\n }));\r\n if ($result.hasClass(TEMPLATE_WRAPPER_CLASS)) {\r\n $container.replaceWith($result);\r\n $container = $result\r\n }\r\n return $container\r\n }\r\n },\r\n _getToolbarName: function() {\r\n return \"dxToolbarBase\"\r\n },\r\n _renderVisibilityAnimate: function(visible) {\r\n return this.callBase(visible)\r\n },\r\n _hide() {\r\n this._observeContentResize(false);\r\n return this.callBase()\r\n },\r\n _executeTitleRenderAction: function($titleElement) {\r\n this._getTitleRenderAction()({\r\n titleElement: getPublicElement($titleElement)\r\n })\r\n },\r\n _getTitleRenderAction: function() {\r\n return this._titleRenderAction || this._createTitleRenderAction()\r\n },\r\n _createTitleRenderAction: function() {\r\n return this._titleRenderAction = this._createActionByOption(\"onTitleRendered\", {\r\n element: this.element(),\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _getCloseButton: function() {\r\n return {\r\n toolbar: \"top\",\r\n location: \"after\",\r\n template: this._getCloseButtonRenderer()\r\n }\r\n },\r\n _getCloseButtonRenderer: function() {\r\n return (_, __, container) => {\r\n var $button = $(\"<div>\").addClass(POPUP_TITLE_CLOSEBUTTON_CLASS);\r\n this._createComponent($button, Button, {\r\n icon: \"close\",\r\n onClick: this._createToolbarItemAction(void 0),\r\n stylingMode: \"text\",\r\n integrationOptions: {}\r\n });\r\n $(container).append($button)\r\n }\r\n },\r\n _getToolbarItems: function(toolbar) {\r\n var toolbarItems = this.option(\"toolbarItems\");\r\n var toolbarsItems = [];\r\n this._toolbarItemClasses = [];\r\n var currentPlatform = devices.current().platform;\r\n var index = 0;\r\n each(toolbarItems, (_, data) => {\r\n var isShortcut = isDefined(data.shortcut);\r\n var item = isShortcut ? getButtonPlace(data.shortcut) : data;\r\n if (isShortcut && \"ios\" === currentPlatform && index < 2) {\r\n item.toolbar = \"top\";\r\n index++\r\n }\r\n item.toolbar = data.toolbar || item.toolbar || \"top\";\r\n if (item && item.toolbar === toolbar) {\r\n if (isShortcut) {\r\n extend(item, {\r\n location: data.location\r\n }, this._getToolbarItemByAlias(data))\r\n }\r\n var isLTROrder = \"generic\" === currentPlatform;\r\n if (\"done\" === data.shortcut && isLTROrder || \"cancel\" === data.shortcut && !isLTROrder) {\r\n toolbarsItems.unshift(item)\r\n } else {\r\n toolbarsItems.push(item)\r\n }\r\n }\r\n });\r\n if (\"top\" === toolbar && this._hasCloseButton()) {\r\n toolbarsItems.push(this._getCloseButton())\r\n }\r\n return toolbarsItems\r\n },\r\n _hasCloseButton() {\r\n return this.option(\"showCloseButton\") && this.option(\"showTitle\")\r\n },\r\n _getLocalizationKey: itemType => \"done\" === itemType.toLowerCase() ? \"OK\" : camelize(itemType, true),\r\n _getToolbarItemByAlias: function(data) {\r\n var that = this;\r\n var itemType = data.shortcut;\r\n if (!ALLOWED_TOOLBAR_ITEM_ALIASES.includes(itemType)) {\r\n return false\r\n }\r\n var itemConfig = extend({\r\n text: messageLocalization.format(this._getLocalizationKey(itemType)),\r\n onClick: this._createToolbarItemAction(data.onClick),\r\n integrationOptions: {},\r\n type: that.option(\"useDefaultToolbarButtons\") ? BUTTON_DEFAULT_TYPE : BUTTON_NORMAL_TYPE,\r\n stylingMode: that.option(\"useFlatToolbarButtons\") ? BUTTON_TEXT_MODE : BUTTON_CONTAINED_MODE\r\n }, data.options || {});\r\n var itemClass = POPUP_CLASS + \"-\" + itemType;\r\n this._toolbarItemClasses.push(itemClass);\r\n return {\r\n template: function(_, __, container) {\r\n var $toolbarItem = $(\"<div>\").addClass(itemClass).appendTo(container);\r\n that._createComponent($toolbarItem, Button, itemConfig)\r\n }\r\n }\r\n },\r\n _createToolbarItemAction: function(clickAction) {\r\n return this._createAction(clickAction, {\r\n afterExecute: function(e) {\r\n e.component.hide()\r\n }\r\n })\r\n },\r\n _renderBottom: function() {\r\n var items = this._getToolbarItems(\"bottom\");\r\n if (items.length) {\r\n this._$bottom && this._$bottom.remove();\r\n var $bottom = $(\"<div>\").addClass(POPUP_BOTTOM_CLASS).insertAfter(this.$content());\r\n this._$bottom = this._renderTemplateByType(\"bottomTemplate\", items, $bottom, {\r\n compactMode: true\r\n }).addClass(POPUP_BOTTOM_CLASS);\r\n this._toggleClasses()\r\n } else {\r\n this._$bottom && this._$bottom.detach()\r\n }\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase(...arguments);\r\n this.$content().toggleClass(DISABLED_STATE_CLASS, Boolean(value))\r\n },\r\n _toggleClasses: function() {\r\n var aliases = ALLOWED_TOOLBAR_ITEM_ALIASES;\r\n each(aliases, (_, alias) => {\r\n var className = POPUP_CLASS + \"-\" + alias;\r\n if (this._toolbarItemClasses.includes(className)) {\r\n this.$wrapper().addClass(className + \"-visible\");\r\n this._$bottom.addClass(className)\r\n } else {\r\n this.$wrapper().removeClass(className + \"-visible\");\r\n this._$bottom.removeClass(className)\r\n }\r\n })\r\n },\r\n _toggleFocusClass(isFocused, $element) {\r\n this.callBase(isFocused, $element);\r\n if (isFocused && !zIndexPool.isLastZIndexInStack(this._zIndex)) {\r\n var zIndex = zIndexPool.create(this._zIndexInitValue());\r\n zIndexPool.remove(this._zIndex);\r\n this._zIndex = zIndex;\r\n this._$wrapper.css(\"zIndex\", zIndex);\r\n this._$content.css(\"zIndex\", zIndex)\r\n }\r\n },\r\n _toggleContentScrollClass() {\r\n var isNativeScrollingEnabled = !this.option(\"preventScrollEvents\");\r\n this.$content().toggleClass(POPUP_CONTENT_SCROLLABLE_CLASS, isNativeScrollingEnabled)\r\n },\r\n _getPositionControllerConfig() {\r\n var {\r\n fullScreen: fullScreen,\r\n forceApplyBindings: forceApplyBindings,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor\r\n } = this.option();\r\n return extend({}, this.callBase(), {\r\n fullScreen: fullScreen,\r\n forceApplyBindings: forceApplyBindings,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor\r\n })\r\n },\r\n _initPositionController() {\r\n this._positionController = new PopupPositionController(this._getPositionControllerConfig())\r\n },\r\n _getDragTarget: function() {\r\n return this.topToolbar()\r\n },\r\n _renderGeometry: function(options) {\r\n var {\r\n visible: visible,\r\n useResizeObserver: useResizeObserver\r\n } = this.option();\r\n if (visible && hasWindow()) {\r\n var isAnimated = this._showAnimationProcessing;\r\n var shouldRepeatAnimation = isAnimated && !(null !== options && void 0 !== options && options.forceStopAnimation) && useResizeObserver;\r\n this._isAnimationPaused = shouldRepeatAnimation || void 0;\r\n this._stopAnimation();\r\n if (null !== options && void 0 !== options && options.shouldOnlyReposition) {\r\n this._renderPosition(false)\r\n } else {\r\n this._renderGeometryImpl(null === options || void 0 === options ? void 0 : options.isDimensionChange)\r\n }\r\n if (shouldRepeatAnimation) {\r\n this._animateShowing();\r\n this._isAnimationPaused = void 0\r\n }\r\n }\r\n },\r\n _cacheDimensions: function() {\r\n if (!this.option(\"useResizeObserver\")) {\r\n return\r\n }\r\n this._renderedDimensions = {\r\n width: parseInt(getWidth(this._$content), 10),\r\n height: parseInt(getHeight(this._$content), 10)\r\n }\r\n },\r\n _renderGeometryImpl: function() {\r\n var isDimensionChange = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n if (!isDimensionChange) {\r\n this._resetContentHeight()\r\n }\r\n this.callBase();\r\n this._cacheDimensions();\r\n this._setContentHeight()\r\n },\r\n _resetContentHeight: function() {\r\n var height = this._getOptionValue(\"height\");\r\n if (\"auto\" === height) {\r\n this.$content().css({\r\n height: \"auto\",\r\n maxHeight: \"none\"\r\n })\r\n }\r\n },\r\n _renderDrag: function() {\r\n var $dragTarget = this._getDragTarget();\r\n var dragEnabled = this.option(\"dragEnabled\");\r\n if (!$dragTarget) {\r\n return\r\n }\r\n var config = {\r\n dragEnabled: dragEnabled,\r\n handle: $dragTarget.get(0),\r\n draggableElement: this._$content.get(0),\r\n positionController: this._positionController\r\n };\r\n if (this._drag) {\r\n this._drag.init(config)\r\n } else {\r\n this._drag = new PopupDrag(config)\r\n }\r\n this.$overlayContent().toggleClass(POPUP_DRAGGABLE_CLASS, dragEnabled)\r\n },\r\n _renderResize: function() {\r\n this._resizable = this._createComponent(this._$content, Resizable, {\r\n handles: this.option(\"resizeEnabled\") ? \"all\" : \"none\",\r\n onResizeEnd: e => {\r\n this._resizeEndHandler(e);\r\n this._observeContentResize(true)\r\n },\r\n onResize: e => {\r\n this._setContentHeight();\r\n this._actions.onResize(e)\r\n },\r\n onResizeStart: e => {\r\n this._observeContentResize(false);\r\n this._actions.onResizeStart(e)\r\n },\r\n minHeight: 100,\r\n minWidth: 100,\r\n area: this._positionController.$dragResizeContainer,\r\n keepAspectRatio: false\r\n })\r\n },\r\n _resizeEndHandler: function(e) {\r\n var width = this._resizable.option(\"width\");\r\n var height = this._resizable.option(\"height\");\r\n width && this._setOptionWithoutOptionChange(\"width\", width);\r\n height && this._setOptionWithoutOptionChange(\"height\", height);\r\n this._cacheDimensions();\r\n this._positionController.resizeHandled();\r\n this._positionController.detectVisualPositionChange(e.event);\r\n this._actions.onResizeEnd(e)\r\n },\r\n _setContentHeight: function() {\r\n (this.option(\"forceApplyBindings\") || noop)();\r\n var overlayContent = this.$overlayContent().get(0);\r\n var currentHeightStrategyClass = this._chooseHeightStrategy(overlayContent);\r\n this.$content().css(this._getHeightCssStyles(currentHeightStrategyClass, overlayContent));\r\n this._setHeightClasses(this.$overlayContent(), currentHeightStrategyClass)\r\n },\r\n _heightStrategyChangeOffset: function(currentHeightStrategyClass, popupVerticalPaddings) {\r\n return currentHeightStrategyClass === HEIGHT_STRATEGIES.flex ? -popupVerticalPaddings : 0\r\n },\r\n _chooseHeightStrategy: function(overlayContent) {\r\n var isAutoWidth = \"auto\" === overlayContent.style.width || \"\" === overlayContent.style.width;\r\n var currentHeightStrategyClass = HEIGHT_STRATEGIES.static;\r\n if (this._isAutoHeight() && this.option(\"autoResizeEnabled\")) {\r\n if (isAutoWidth || IS_OLD_SAFARI) {\r\n currentHeightStrategyClass = HEIGHT_STRATEGIES.inherit\r\n } else {\r\n currentHeightStrategyClass = HEIGHT_STRATEGIES.flex\r\n }\r\n }\r\n return currentHeightStrategyClass\r\n },\r\n _getHeightCssStyles: function(currentHeightStrategyClass, overlayContent) {\r\n var cssStyles = {};\r\n var contentMaxHeight = this._getOptionValue(\"maxHeight\", overlayContent);\r\n var contentMinHeight = this._getOptionValue(\"minHeight\", overlayContent);\r\n var popupHeightParts = this._splitPopupHeight();\r\n var toolbarsAndVerticalOffsetsHeight = popupHeightParts.header + popupHeightParts.footer + popupHeightParts.contentVerticalOffsets + popupHeightParts.popupVerticalOffsets + this._heightStrategyChangeOffset(currentHeightStrategyClass, popupHeightParts.popupVerticalPaddings);\r\n if (currentHeightStrategyClass === HEIGHT_STRATEGIES.static) {\r\n if (!this._isAutoHeight() || contentMaxHeight || contentMinHeight) {\r\n var overlayHeight = this.option(\"fullScreen\") ? Math.min(getBoundingRect(overlayContent).height, getWindow().innerHeight) : getBoundingRect(overlayContent).height;\r\n var contentHeight = overlayHeight - toolbarsAndVerticalOffsetsHeight;\r\n cssStyles = {\r\n height: Math.max(0, contentHeight),\r\n minHeight: \"auto\",\r\n maxHeight: \"auto\"\r\n }\r\n }\r\n } else {\r\n var container = $(this._positionController.$visualContainer).get(0);\r\n var maxHeightValue = addOffsetToMaxHeight(contentMaxHeight, -toolbarsAndVerticalOffsetsHeight, container);\r\n var minHeightValue = addOffsetToMinHeight(contentMinHeight, -toolbarsAndVerticalOffsetsHeight, container);\r\n cssStyles = {\r\n height: \"auto\",\r\n minHeight: minHeightValue,\r\n maxHeight: maxHeightValue\r\n }\r\n }\r\n return cssStyles\r\n },\r\n _setHeightClasses: function($container, currentClass) {\r\n var excessClasses = \"\";\r\n for (var name in HEIGHT_STRATEGIES) {\r\n if (HEIGHT_STRATEGIES[name] !== currentClass) {\r\n excessClasses += \" \" + HEIGHT_STRATEGIES[name]\r\n }\r\n }\r\n $container.removeClass(excessClasses).addClass(currentClass)\r\n },\r\n _isAutoHeight: function() {\r\n return \"auto\" === this.$overlayContent().get(0).style.height\r\n },\r\n _splitPopupHeight: function() {\r\n var topToolbar = this.topToolbar();\r\n var bottomToolbar = this.bottomToolbar();\r\n return {\r\n header: getVisibleHeight(topToolbar && topToolbar.get(0)),\r\n footer: getVisibleHeight(bottomToolbar && bottomToolbar.get(0)),\r\n contentVerticalOffsets: getVerticalOffsets(this.$overlayContent().get(0), true),\r\n popupVerticalOffsets: getVerticalOffsets(this.$content().get(0), true),\r\n popupVerticalPaddings: getVerticalOffsets(this.$content().get(0), false)\r\n }\r\n },\r\n _isAllWindowCovered: function() {\r\n return this.callBase() || this.option(\"fullScreen\")\r\n },\r\n _renderDimensions: function() {\r\n if (this.option(\"fullScreen\")) {\r\n this.$overlayContent().css({\r\n width: \"100%\",\r\n height: \"100%\",\r\n minWidth: \"\",\r\n maxWidth: \"\",\r\n minHeight: \"\",\r\n maxHeight: \"\"\r\n })\r\n } else {\r\n this.callBase()\r\n }\r\n if (hasWindow()) {\r\n this._renderFullscreenWidthClass()\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._renderGeometry({\r\n isDimensionChange: true\r\n })\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._observeContentResize(false)\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n this._toggleBodyScroll(true)\r\n },\r\n _renderFullscreenWidthClass: function() {\r\n this.$overlayContent().toggleClass(POPUP_FULL_SCREEN_WIDTH_CLASS, getOuterWidth(this.$overlayContent()) === getWidth(window))\r\n },\r\n _toggleSafariScrolling() {\r\n if (!this.option(\"enableBodyScroll\")) {\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _toggleBodyScroll: function(enabled) {\r\n if (!this._bodyOverflowManager) {\r\n return\r\n }\r\n var {\r\n setOverflow: setOverflow,\r\n restoreOverflow: restoreOverflow\r\n } = this._bodyOverflowManager;\r\n if (enabled) {\r\n restoreOverflow()\r\n } else {\r\n setOverflow()\r\n }\r\n },\r\n refreshPosition: function() {\r\n this._renderPosition()\r\n },\r\n _optionChanged: function(args) {\r\n var _this$_resizable2;\r\n var {\r\n value: value,\r\n name: name\r\n } = args;\r\n switch (name) {\r\n case \"disabled\":\r\n this.callBase(args);\r\n this._renderTitle();\r\n this._renderBottom();\r\n break;\r\n case \"animation\":\r\n this._updateResizeCallbackSkipCondition();\r\n break;\r\n case \"enableBodyScroll\":\r\n if (this.option(\"visible\")) {\r\n this._toggleBodyScroll(value)\r\n }\r\n break;\r\n case \"showTitle\":\r\n case \"title\":\r\n case \"titleTemplate\":\r\n this._renderTitle();\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"bottomTemplate\":\r\n this._renderBottom();\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"container\":\r\n this.callBase(args);\r\n if (this.option(\"resizeEnabled\")) {\r\n var _this$_resizable;\r\n null === (_this$_resizable = this._resizable) || void 0 === _this$_resizable ? void 0 : _this$_resizable.option(\"area\", this._positionController.$dragResizeContainer)\r\n }\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n null === (_this$_resizable2 = this._resizable) || void 0 === _this$_resizable2 ? void 0 : _this$_resizable2.option(name, value);\r\n break;\r\n case \"onTitleRendered\":\r\n this._createTitleRenderAction(value);\r\n break;\r\n case \"toolbarItems\":\r\n case \"useDefaultToolbarButtons\":\r\n case \"useFlatToolbarButtons\":\r\n var shouldRenderGeometry = !args.fullName.match(/^toolbarItems((\\[\\d+\\])(\\.(options|visible).*)?)?$/);\r\n this._renderTitle();\r\n this._renderBottom();\r\n if (shouldRenderGeometry) {\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent())\r\n }\r\n break;\r\n case \"dragEnabled\":\r\n this._renderDrag();\r\n break;\r\n case \"dragAndResizeArea\":\r\n this._positionController.dragAndResizeArea = value;\r\n if (this.option(\"resizeEnabled\")) {\r\n this._resizable.option(\"area\", this._positionController.$dragResizeContainer)\r\n }\r\n this._positionController.positionContent();\r\n break;\r\n case \"dragOutsideBoundary\":\r\n this._positionController.dragOutsideBoundary = value;\r\n if (this.option(\"resizeEnabled\")) {\r\n this._resizable.option(\"area\", this._positionController.$dragResizeContainer)\r\n }\r\n break;\r\n case \"outsideDragFactor\":\r\n this._positionController.outsideDragFactor = value;\r\n break;\r\n case \"resizeEnabled\":\r\n this._renderResize();\r\n this._renderGeometry();\r\n break;\r\n case \"autoResizeEnabled\":\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"fullScreen\":\r\n this._positionController.fullScreen = value;\r\n this._toggleFullScreenClass(value);\r\n this._toggleSafariScrolling();\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"showCloseButton\":\r\n this._renderTitle();\r\n break;\r\n case \"preventScrollEvents\":\r\n this.callBase(args);\r\n this._toggleContentScrollClass();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n bottomToolbar: function() {\r\n return this._$bottom\r\n },\r\n topToolbar: function() {\r\n return this._$title\r\n },\r\n $content: function() {\r\n return this._$popupContent\r\n },\r\n content: function() {\r\n return getPublicElement(this.$content())\r\n },\r\n $overlayContent: function() {\r\n return this._$content\r\n }\r\n});\r\nregisterComponent(\"dxPopup\", Popup);\r\nexport default Popup;\r\n","/*!\n * Chart.js v2.9.4\n * https://www.chartjs.org\n * (c) 2020 Chart.js Contributors\n * Released under the MIT License\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(function() { try { return require('moment'); } catch(e) { } }()) :\ntypeof define === 'function' && define.amd ? define(['require'], function(require) { return factory(function() { try { return require('moment'); } catch(e) { } }()); }) :\n(global = global || self, global.Chart = factory(global.moment));\n}(this, (function (moment) { 'use strict';\n\nmoment = moment && moment.hasOwnProperty('default') ? moment['default'] : moment;\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nfunction getCjsExportFromNamespace (n) {\n\treturn n && n['default'] || n;\n}\n\nvar colorName = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\nvar conversions = createCommonjsModule(function (module) {\n/* MIT license */\n\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in colorName) {\n\tif (colorName.hasOwnProperty(key)) {\n\t\treverseKeywords[colorName[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in colorName) {\n\t\tif (colorName.hasOwnProperty(keyword)) {\n\t\t\tvar value = colorName[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn colorName[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n});\nvar conversions_1 = conversions.rgb;\nvar conversions_2 = conversions.hsl;\nvar conversions_3 = conversions.hsv;\nvar conversions_4 = conversions.hwb;\nvar conversions_5 = conversions.cmyk;\nvar conversions_6 = conversions.xyz;\nvar conversions_7 = conversions.lab;\nvar conversions_8 = conversions.lch;\nvar conversions_9 = conversions.hex;\nvar conversions_10 = conversions.keyword;\nvar conversions_11 = conversions.ansi16;\nvar conversions_12 = conversions.ansi256;\nvar conversions_13 = conversions.hcg;\nvar conversions_14 = conversions.apple;\nvar conversions_15 = conversions.gray;\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nvar route = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nvar colorConvert = convert;\n\nvar colorName$1 = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\n/* MIT license */\n\n\nvar colorString = {\n getRgba: getRgba,\n getHsla: getHsla,\n getRgb: getRgb,\n getHsl: getHsl,\n getHwb: getHwb,\n getAlpha: getAlpha,\n\n hexString: hexString,\n rgbString: rgbString,\n rgbaString: rgbaString,\n percentString: percentString,\n percentaString: percentaString,\n hslString: hslString,\n hslaString: hslaString,\n hwbString: hwbString,\n keyword: keyword\n};\n\nfunction getRgba(string) {\n if (!string) {\n return;\n }\n var abbr = /^#([a-fA-F0-9]{3,4})$/i,\n hex = /^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i,\n rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n keyword = /(\\w+)/;\n\n var rgb = [0, 0, 0],\n a = 1,\n match = string.match(abbr),\n hexAlpha = \"\";\n if (match) {\n match = match[1];\n hexAlpha = match[3];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i] + match[i], 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(hex)) {\n hexAlpha = match[2];\n match = match[1];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(rgba)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i + 1]);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(per)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(keyword)) {\n if (match[1] == \"transparent\") {\n return [0, 0, 0, 0];\n }\n rgb = colorName$1[match[1]];\n if (!rgb) {\n return;\n }\n }\n\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = scale(rgb[i], 0, 255);\n }\n if (!a && a != 0) {\n a = 1;\n }\n else {\n a = scale(a, 0, 1);\n }\n rgb[3] = a;\n return rgb;\n}\n\nfunction getHsla(string) {\n if (!string) {\n return;\n }\n var hsl = /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hsl);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n s = scale(parseFloat(match[2]), 0, 100),\n l = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, s, l, a];\n }\n}\n\nfunction getHwb(string) {\n if (!string) {\n return;\n }\n var hwb = /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hwb);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n w = scale(parseFloat(match[2]), 0, 100),\n b = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, w, b, a];\n }\n}\n\nfunction getRgb(string) {\n var rgba = getRgba(string);\n return rgba && rgba.slice(0, 3);\n}\n\nfunction getHsl(string) {\n var hsla = getHsla(string);\n return hsla && hsla.slice(0, 3);\n}\n\nfunction getAlpha(string) {\n var vals = getRgba(string);\n if (vals) {\n return vals[3];\n }\n else if (vals = getHsla(string)) {\n return vals[3];\n }\n else if (vals = getHwb(string)) {\n return vals[3];\n }\n}\n\n// generators\nfunction hexString(rgba, a) {\n var a = (a !== undefined && rgba.length === 3) ? a : rgba[3];\n return \"#\" + hexDouble(rgba[0]) \n + hexDouble(rgba[1])\n + hexDouble(rgba[2])\n + (\n (a >= 0 && a < 1)\n ? hexDouble(Math.round(a * 255))\n : \"\"\n );\n}\n\nfunction rgbString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return rgbaString(rgba, alpha);\n }\n return \"rgb(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \")\";\n}\n\nfunction rgbaString(rgba, alpha) {\n if (alpha === undefined) {\n alpha = (rgba[3] !== undefined ? rgba[3] : 1);\n }\n return \"rgba(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2]\n + \", \" + alpha + \")\";\n}\n\nfunction percentString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return percentaString(rgba, alpha);\n }\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n\n return \"rgb(\" + r + \"%, \" + g + \"%, \" + b + \"%)\";\n}\n\nfunction percentaString(rgba, alpha) {\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n return \"rgba(\" + r + \"%, \" + g + \"%, \" + b + \"%, \" + (alpha || rgba[3] || 1) + \")\";\n}\n\nfunction hslString(hsla, alpha) {\n if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {\n return hslaString(hsla, alpha);\n }\n return \"hsl(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%)\";\n}\n\nfunction hslaString(hsla, alpha) {\n if (alpha === undefined) {\n alpha = (hsla[3] !== undefined ? hsla[3] : 1);\n }\n return \"hsla(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%, \"\n + alpha + \")\";\n}\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\nfunction hwbString(hwb, alpha) {\n if (alpha === undefined) {\n alpha = (hwb[3] !== undefined ? hwb[3] : 1);\n }\n return \"hwb(\" + hwb[0] + \", \" + hwb[1] + \"%, \" + hwb[2] + \"%\"\n + (alpha !== undefined && alpha !== 1 ? \", \" + alpha : \"\") + \")\";\n}\n\nfunction keyword(rgb) {\n return reverseNames[rgb.slice(0, 3)];\n}\n\n// helpers\nfunction scale(num, min, max) {\n return Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n var str = num.toString(16).toUpperCase();\n return (str.length < 2) ? \"0\" + str : str;\n}\n\n\n//create a list of reverse color names\nvar reverseNames = {};\nfor (var name in colorName$1) {\n reverseNames[colorName$1[name]] = name;\n}\n\n/* MIT license */\n\n\n\nvar Color = function (obj) {\n\tif (obj instanceof Color) {\n\t\treturn obj;\n\t}\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj);\n\t}\n\n\tthis.valid = false;\n\tthis.values = {\n\t\trgb: [0, 0, 0],\n\t\thsl: [0, 0, 0],\n\t\thsv: [0, 0, 0],\n\t\thwb: [0, 0, 0],\n\t\tcmyk: [0, 0, 0, 0],\n\t\talpha: 1\n\t};\n\n\t// parse Color() argument\n\tvar vals;\n\tif (typeof obj === 'string') {\n\t\tvals = colorString.getRgba(obj);\n\t\tif (vals) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals = colorString.getHsla(obj)) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals = colorString.getHwb(obj)) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t}\n\t} else if (typeof obj === 'object') {\n\t\tvals = obj;\n\t\tif (vals.r !== undefined || vals.red !== undefined) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals.l !== undefined || vals.lightness !== undefined) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals.v !== undefined || vals.value !== undefined) {\n\t\t\tthis.setValues('hsv', vals);\n\t\t} else if (vals.w !== undefined || vals.whiteness !== undefined) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t} else if (vals.c !== undefined || vals.cyan !== undefined) {\n\t\t\tthis.setValues('cmyk', vals);\n\t\t}\n\t}\n};\n\nColor.prototype = {\n\tisValid: function () {\n\t\treturn this.valid;\n\t},\n\trgb: function () {\n\t\treturn this.setSpace('rgb', arguments);\n\t},\n\thsl: function () {\n\t\treturn this.setSpace('hsl', arguments);\n\t},\n\thsv: function () {\n\t\treturn this.setSpace('hsv', arguments);\n\t},\n\thwb: function () {\n\t\treturn this.setSpace('hwb', arguments);\n\t},\n\tcmyk: function () {\n\t\treturn this.setSpace('cmyk', arguments);\n\t},\n\n\trgbArray: function () {\n\t\treturn this.values.rgb;\n\t},\n\thslArray: function () {\n\t\treturn this.values.hsl;\n\t},\n\thsvArray: function () {\n\t\treturn this.values.hsv;\n\t},\n\thwbArray: function () {\n\t\tvar values = this.values;\n\t\tif (values.alpha !== 1) {\n\t\t\treturn values.hwb.concat([values.alpha]);\n\t\t}\n\t\treturn values.hwb;\n\t},\n\tcmykArray: function () {\n\t\treturn this.values.cmyk;\n\t},\n\trgbaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.rgb.concat([values.alpha]);\n\t},\n\thslaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.hsl.concat([values.alpha]);\n\t},\n\talpha: function (val) {\n\t\tif (val === undefined) {\n\t\t\treturn this.values.alpha;\n\t\t}\n\t\tthis.setValues('alpha', val);\n\t\treturn this;\n\t},\n\n\tred: function (val) {\n\t\treturn this.setChannel('rgb', 0, val);\n\t},\n\tgreen: function (val) {\n\t\treturn this.setChannel('rgb', 1, val);\n\t},\n\tblue: function (val) {\n\t\treturn this.setChannel('rgb', 2, val);\n\t},\n\thue: function (val) {\n\t\tif (val) {\n\t\t\tval %= 360;\n\t\t\tval = val < 0 ? 360 + val : val;\n\t\t}\n\t\treturn this.setChannel('hsl', 0, val);\n\t},\n\tsaturation: function (val) {\n\t\treturn this.setChannel('hsl', 1, val);\n\t},\n\tlightness: function (val) {\n\t\treturn this.setChannel('hsl', 2, val);\n\t},\n\tsaturationv: function (val) {\n\t\treturn this.setChannel('hsv', 1, val);\n\t},\n\twhiteness: function (val) {\n\t\treturn this.setChannel('hwb', 1, val);\n\t},\n\tblackness: function (val) {\n\t\treturn this.setChannel('hwb', 2, val);\n\t},\n\tvalue: function (val) {\n\t\treturn this.setChannel('hsv', 2, val);\n\t},\n\tcyan: function (val) {\n\t\treturn this.setChannel('cmyk', 0, val);\n\t},\n\tmagenta: function (val) {\n\t\treturn this.setChannel('cmyk', 1, val);\n\t},\n\tyellow: function (val) {\n\t\treturn this.setChannel('cmyk', 2, val);\n\t},\n\tblack: function (val) {\n\t\treturn this.setChannel('cmyk', 3, val);\n\t},\n\n\thexString: function () {\n\t\treturn colorString.hexString(this.values.rgb);\n\t},\n\trgbString: function () {\n\t\treturn colorString.rgbString(this.values.rgb, this.values.alpha);\n\t},\n\trgbaString: function () {\n\t\treturn colorString.rgbaString(this.values.rgb, this.values.alpha);\n\t},\n\tpercentString: function () {\n\t\treturn colorString.percentString(this.values.rgb, this.values.alpha);\n\t},\n\thslString: function () {\n\t\treturn colorString.hslString(this.values.hsl, this.values.alpha);\n\t},\n\thslaString: function () {\n\t\treturn colorString.hslaString(this.values.hsl, this.values.alpha);\n\t},\n\thwbString: function () {\n\t\treturn colorString.hwbString(this.values.hwb, this.values.alpha);\n\t},\n\tkeyword: function () {\n\t\treturn colorString.keyword(this.values.rgb, this.values.alpha);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.values.rgb;\n\t\treturn (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.values.rgb;\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tdark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.values.rgb;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tlight: function () {\n\t\treturn !this.dark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = [];\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb[i] = 255 - this.values.rgb[i];\n\t\t}\n\t\tthis.setValues('rgb', rgb);\n\t\treturn this;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] += hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] -= hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] += hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] -= hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[1] += hwb[1] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[2] += hwb[2] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tgreyscale: function () {\n\t\tvar rgb = this.values.rgb;\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\tthis.setValues('rgb', [val, val, val]);\n\t\treturn this;\n\t},\n\n\tclearer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha - (alpha * ratio));\n\t\treturn this;\n\t},\n\n\topaquer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha + (alpha * ratio));\n\t\treturn this;\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.values.hsl;\n\t\tvar hue = (hsl[0] + degrees) % 360;\n\t\thsl[0] = hue < 0 ? 360 + hue : hue;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\t/**\n\t * Ported from sass implementation in C\n\t * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t */\n\tmix: function (mixinColor, weight) {\n\t\tvar color1 = this;\n\t\tvar color2 = mixinColor;\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn this\n\t\t\t.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue()\n\t\t\t)\n\t\t\t.alpha(color1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n\n\ttoJSON: function () {\n\t\treturn this.rgb();\n\t},\n\n\tclone: function () {\n\t\t// NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,\n\t\t// making the final build way to big to embed in Chart.js. So let's do it manually,\n\t\t// assuming that values to clone are 1 dimension arrays containing only numbers,\n\t\t// except 'alpha' which is a number.\n\t\tvar result = new Color();\n\t\tvar source = this.values;\n\t\tvar target = result.values;\n\t\tvar value, type;\n\n\t\tfor (var prop in source) {\n\t\t\tif (source.hasOwnProperty(prop)) {\n\t\t\t\tvalue = source[prop];\n\t\t\t\ttype = ({}).toString.call(value);\n\t\t\t\tif (type === '[object Array]') {\n\t\t\t\t\ttarget[prop] = value.slice(0);\n\t\t\t\t} else if (type === '[object Number]') {\n\t\t\t\t\ttarget[prop] = value;\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('unexpected color value:', value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n};\n\nColor.prototype.spaces = {\n\trgb: ['red', 'green', 'blue'],\n\thsl: ['hue', 'saturation', 'lightness'],\n\thsv: ['hue', 'saturation', 'value'],\n\thwb: ['hue', 'whiteness', 'blackness'],\n\tcmyk: ['cyan', 'magenta', 'yellow', 'black']\n};\n\nColor.prototype.maxes = {\n\trgb: [255, 255, 255],\n\thsl: [360, 100, 100],\n\thsv: [360, 100, 100],\n\thwb: [360, 100, 100],\n\tcmyk: [100, 100, 100, 100]\n};\n\nColor.prototype.getValues = function (space) {\n\tvar values = this.values;\n\tvar vals = {};\n\n\tfor (var i = 0; i < space.length; i++) {\n\t\tvals[space.charAt(i)] = values[space][i];\n\t}\n\n\tif (values.alpha !== 1) {\n\t\tvals.a = values.alpha;\n\t}\n\n\t// {r: 255, g: 255, b: 255, a: 0.4}\n\treturn vals;\n};\n\nColor.prototype.setValues = function (space, vals) {\n\tvar values = this.values;\n\tvar spaces = this.spaces;\n\tvar maxes = this.maxes;\n\tvar alpha = 1;\n\tvar i;\n\n\tthis.valid = true;\n\n\tif (space === 'alpha') {\n\t\talpha = vals;\n\t} else if (vals.length) {\n\t\t// [10, 10, 10]\n\t\tvalues[space] = vals.slice(0, space.length);\n\t\talpha = vals[space.length];\n\t} else if (vals[space.charAt(0)] !== undefined) {\n\t\t// {r: 10, g: 10, b: 10}\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[space.charAt(i)];\n\t\t}\n\n\t\talpha = vals.a;\n\t} else if (vals[spaces[space][0]] !== undefined) {\n\t\t// {red: 10, green: 10, blue: 10}\n\t\tvar chans = spaces[space];\n\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[chans[i]];\n\t\t}\n\n\t\talpha = vals.alpha;\n\t}\n\n\tvalues.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));\n\n\tif (space === 'alpha') {\n\t\treturn false;\n\t}\n\n\tvar capped;\n\n\t// cap values of the space prior converting all values\n\tfor (i = 0; i < space.length; i++) {\n\t\tcapped = Math.max(0, Math.min(maxes[space][i], values[space][i]));\n\t\tvalues[space][i] = Math.round(capped);\n\t}\n\n\t// convert to all the other color spaces\n\tfor (var sname in spaces) {\n\t\tif (sname !== space) {\n\t\t\tvalues[sname] = colorConvert[space][sname](values[space]);\n\t\t}\n\t}\n\n\treturn true;\n};\n\nColor.prototype.setSpace = function (space, args) {\n\tvar vals = args[0];\n\n\tif (vals === undefined) {\n\t\t// color.rgb()\n\t\treturn this.getValues(space);\n\t}\n\n\t// color.rgb(10, 10, 10)\n\tif (typeof vals === 'number') {\n\t\tvals = Array.prototype.slice.call(args);\n\t}\n\n\tthis.setValues(space, vals);\n\treturn this;\n};\n\nColor.prototype.setChannel = function (space, index, val) {\n\tvar svalues = this.values[space];\n\tif (val === undefined) {\n\t\t// color.red()\n\t\treturn svalues[index];\n\t} else if (val === svalues[index]) {\n\t\t// color.red(color.red())\n\t\treturn this;\n\t}\n\n\t// color.red(100)\n\tsvalues[index] = val;\n\tthis.setValues(space, svalues);\n\n\treturn this;\n};\n\nif (typeof window !== 'undefined') {\n\twindow.Color = Color;\n}\n\nvar chartjsColor = Color;\n\nfunction isValidKey(key) {\r\n\treturn ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\r\n}\r\n\r\n/**\r\n * @namespace Chart.helpers\r\n */\r\nvar helpers = {\r\n\t/**\r\n\t * An empty function that can be used, for example, for optional callback.\r\n\t */\r\n\tnoop: function() {},\r\n\r\n\t/**\r\n\t * Returns a unique id, sequentially generated from a global variable.\r\n\t * @returns {number}\r\n\t * @function\r\n\t */\r\n\tuid: (function() {\r\n\t\tvar id = 0;\r\n\t\treturn function() {\r\n\t\t\treturn id++;\r\n\t\t};\r\n\t}()),\r\n\r\n\t/**\r\n\t * Returns true if `value` is neither null nor undefined, else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisNullOrUndef: function(value) {\r\n\t\treturn value === null || typeof value === 'undefined';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an array (including typed arrays), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @function\r\n\t */\r\n\tisArray: function(value) {\r\n\t\tif (Array.isArray && Array.isArray(value)) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tvar type = Object.prototype.toString.call(value);\r\n\t\tif (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an object (excluding null), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisObject: function(value) {\r\n\t\treturn value !== null && Object.prototype.toString.call(value) === '[object Object]';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is a finite number, else returns false\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t */\r\n\tisFinite: function(value) {\r\n\t\treturn (typeof value === 'number' || value instanceof Number) && isFinite(value);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns `value` if defined, else returns `defaultValue`.\r\n\t * @param {*} value - The value to return if defined.\r\n\t * @param {*} defaultValue - The value to return if `value` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueOrDefault: function(value, defaultValue) {\r\n\t\treturn typeof value === 'undefined' ? defaultValue : value;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns value at the given `index` in array if defined, else returns `defaultValue`.\r\n\t * @param {Array} value - The array to lookup for value at `index`.\r\n\t * @param {number} index - The index in `value` to lookup for value.\r\n\t * @param {*} defaultValue - The value to return if `value[index]` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueAtIndexOrDefault: function(value, index, defaultValue) {\r\n\t\treturn helpers.valueOrDefault(helpers.isArray(value) ? value[index] : value, defaultValue);\r\n\t},\r\n\r\n\t/**\r\n\t * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\r\n\t * value returned by `fn`. If `fn` is not a function, this method returns undefined.\r\n\t * @param {function} fn - The function to call.\r\n\t * @param {Array|undefined|null} args - The arguments with which `fn` should be called.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @returns {*}\r\n\t */\r\n\tcallback: function(fn, args, thisArg) {\r\n\t\tif (fn && typeof fn.call === 'function') {\r\n\t\t\treturn fn.apply(thisArg, args);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Note(SB) for performance sake, this method should only be used when loopable type\r\n\t * is unknown or in none intensive code (not called often and small loopable). Else\r\n\t * it's preferable to use a regular for() loop and save extra function calls.\r\n\t * @param {object|Array} loopable - The object or array to be iterated.\r\n\t * @param {function} fn - The function to call for each item.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @param {boolean} [reverse] - If true, iterates backward on the loopable.\r\n\t */\r\n\teach: function(loopable, fn, thisArg, reverse) {\r\n\t\tvar i, len, keys;\r\n\t\tif (helpers.isArray(loopable)) {\r\n\t\t\tlen = loopable.length;\r\n\t\t\tif (reverse) {\r\n\t\t\t\tfor (i = len - 1; i >= 0; i--) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (helpers.isObject(loopable)) {\r\n\t\t\tkeys = Object.keys(loopable);\r\n\t\t\tlen = keys.length;\r\n\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\tfn.call(thisArg, loopable[keys[i]], keys[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\r\n\t * @see https://stackoverflow.com/a/14853974\r\n\t * @param {Array} a0 - The array to compare\r\n\t * @param {Array} a1 - The array to compare\r\n\t * @returns {boolean}\r\n\t */\r\n\tarrayEquals: function(a0, a1) {\r\n\t\tvar i, ilen, v0, v1;\r\n\r\n\t\tif (!a0 || !a1 || a0.length !== a1.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = a0.length; i < ilen; ++i) {\r\n\t\t\tv0 = a0[i];\r\n\t\t\tv1 = a1[i];\r\n\r\n\t\t\tif (v0 instanceof Array && v1 instanceof Array) {\r\n\t\t\t\tif (!helpers.arrayEquals(v0, v1)) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t} else if (v0 !== v1) {\r\n\t\t\t\t// NOTE: two different object instances will never be equal: {x:20} != {x:20}\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a deep copy of `source` without keeping references on objects and arrays.\r\n\t * @param {*} source - The value to clone.\r\n\t * @returns {*}\r\n\t */\r\n\tclone: function(source) {\r\n\t\tif (helpers.isArray(source)) {\r\n\t\t\treturn source.map(helpers.clone);\r\n\t\t}\r\n\r\n\t\tif (helpers.isObject(source)) {\r\n\t\t\tvar target = Object.create(source);\r\n\t\t\tvar keys = Object.keys(source);\r\n\t\t\tvar klen = keys.length;\r\n\t\t\tvar k = 0;\r\n\r\n\t\t\tfor (; k < klen; ++k) {\r\n\t\t\t\ttarget[keys[k]] = helpers.clone(source[keys[k]]);\r\n\t\t\t}\r\n\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\treturn source;\r\n\t},\r\n\r\n\t/**\r\n\t * The default merger when Chart.helpers.merge is called without merger option.\r\n\t * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\r\n\t * @private\r\n\t */\r\n\t_merger: function(key, target, source, options) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.merge(tval, sval, options);\r\n\t\t} else {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Merges source[key] in target[key] only if target[key] is undefined.\r\n\t * @private\r\n\t */\r\n\t_mergerIf: function(key, target, source) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.mergeIf(tval, sval);\r\n\t\t} else if (!target.hasOwnProperty(key)) {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` with the given `options`.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @param {object} [options] - Merging options:\r\n\t * @param {function} [options.merger] - The merge method (key, target, source, options)\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmerge: function(target, source, options) {\r\n\t\tvar sources = helpers.isArray(source) ? source : [source];\r\n\t\tvar ilen = sources.length;\r\n\t\tvar merge, i, keys, klen, k;\r\n\r\n\t\tif (!helpers.isObject(target)) {\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\toptions = options || {};\r\n\t\tmerge = options.merger || helpers._merger;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tsource = sources[i];\r\n\t\t\tif (!helpers.isObject(source)) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tkeys = Object.keys(source);\r\n\t\t\tfor (k = 0, klen = keys.length; k < klen; ++k) {\r\n\t\t\t\tmerge(keys[k], target, source, options);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn target;\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` *only* if not defined in target.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmergeIf: function(target, source) {\r\n\t\treturn helpers.merge(target, source, {merger: helpers._mergerIf});\r\n\t},\r\n\r\n\t/**\r\n\t * Applies the contents of two or more objects together into the first object.\r\n\t * @param {object} target - The target object in which all objects are merged into.\r\n\t * @param {object} arg1 - Object containing additional properties to merge in target.\r\n\t * @param {object} argN - Additional objects containing properties to merge in target.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\textend: Object.assign || function(target) {\r\n\t\treturn helpers.merge(target, [].slice.call(arguments, 1), {\r\n\t\t\tmerger: function(key, dst, src) {\r\n\t\t\t\tdst[key] = src[key];\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Basic javascript inheritance based on the model created in Backbone.js\r\n\t */\r\n\tinherits: function(extensions) {\r\n\t\tvar me = this;\r\n\t\tvar ChartElement = (extensions && extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() {\r\n\t\t\treturn me.apply(this, arguments);\r\n\t\t};\r\n\r\n\t\tvar Surrogate = function() {\r\n\t\t\tthis.constructor = ChartElement;\r\n\t\t};\r\n\r\n\t\tSurrogate.prototype = me.prototype;\r\n\t\tChartElement.prototype = new Surrogate();\r\n\t\tChartElement.extend = helpers.inherits;\r\n\r\n\t\tif (extensions) {\r\n\t\t\thelpers.extend(ChartElement.prototype, extensions);\r\n\t\t}\r\n\r\n\t\tChartElement.__super__ = me.prototype;\r\n\t\treturn ChartElement;\r\n\t},\r\n\r\n\t_deprecated: function(scope, value, previous, current) {\r\n\t\tif (value !== undefined) {\r\n\t\t\tconsole.warn(scope + ': \"' + previous +\r\n\t\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\r\n\t\t}\r\n\t}\r\n};\r\n\r\nvar helpers_core = helpers;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.callback instead.\r\n * @function Chart.helpers.callCallback\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.callCallback = helpers.callback;\r\n\r\n/**\r\n * Provided for backward compatibility, use Array.prototype.indexOf instead.\r\n * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+\r\n * @function Chart.helpers.indexOf\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.indexOf = function(array, item, fromIndex) {\r\n\treturn Array.prototype.indexOf.call(array, item, fromIndex);\r\n};\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.\r\n * @function Chart.helpers.getValueOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueOrDefault = helpers.valueOrDefault;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.\r\n * @function Chart.helpers.getValueAtIndexOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\n/**\r\n * Easing functions adapted from Robert Penner's easing equations.\r\n * @namespace Chart.helpers.easingEffects\r\n * @see http://www.robertpenner.com/easing/\r\n */\r\nvar effects = {\r\n\tlinear: function(t) {\r\n\t\treturn t;\r\n\t},\r\n\r\n\teaseInQuad: function(t) {\r\n\t\treturn t * t;\r\n\t},\r\n\r\n\teaseOutQuad: function(t) {\r\n\t\treturn -t * (t - 2);\r\n\t},\r\n\r\n\teaseInOutQuad: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((--t) * (t - 2) - 1);\r\n\t},\r\n\r\n\teaseInCubic: function(t) {\r\n\t\treturn t * t * t;\r\n\t},\r\n\r\n\teaseOutCubic: function(t) {\r\n\t\treturn (t = t - 1) * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutCubic: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t + 2);\r\n\t},\r\n\r\n\teaseInQuart: function(t) {\r\n\t\treturn t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuart: function(t) {\r\n\t\treturn -((t = t - 1) * t * t * t - 1);\r\n\t},\r\n\r\n\teaseInOutQuart: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((t -= 2) * t * t * t - 2);\r\n\t},\r\n\r\n\teaseInQuint: function(t) {\r\n\t\treturn t * t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuint: function(t) {\r\n\t\treturn (t = t - 1) * t * t * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutQuint: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t * t * t + 2);\r\n\t},\r\n\r\n\teaseInSine: function(t) {\r\n\t\treturn -Math.cos(t * (Math.PI / 2)) + 1;\r\n\t},\r\n\r\n\teaseOutSine: function(t) {\r\n\t\treturn Math.sin(t * (Math.PI / 2));\r\n\t},\r\n\r\n\teaseInOutSine: function(t) {\r\n\t\treturn -0.5 * (Math.cos(Math.PI * t) - 1);\r\n\t},\r\n\r\n\teaseInExpo: function(t) {\r\n\t\treturn (t === 0) ? 0 : Math.pow(2, 10 * (t - 1));\r\n\t},\r\n\r\n\teaseOutExpo: function(t) {\r\n\t\treturn (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1;\r\n\t},\r\n\r\n\teaseInOutExpo: function(t) {\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * Math.pow(2, 10 * (t - 1));\r\n\t\t}\r\n\t\treturn 0.5 * (-Math.pow(2, -10 * --t) + 2);\r\n\t},\r\n\r\n\teaseInCirc: function(t) {\r\n\t\tif (t >= 1) {\r\n\t\t\treturn t;\r\n\t\t}\r\n\t\treturn -(Math.sqrt(1 - t * t) - 1);\r\n\t},\r\n\r\n\teaseOutCirc: function(t) {\r\n\t\treturn Math.sqrt(1 - (t = t - 1) * t);\r\n\t},\r\n\r\n\teaseInOutCirc: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn -0.5 * (Math.sqrt(1 - t * t) - 1);\r\n\t\t}\r\n\t\treturn 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\r\n\t},\r\n\r\n\teaseInElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t},\r\n\r\n\teaseOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1;\r\n\t},\r\n\r\n\teaseInOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif ((t /= 0.5) === 2) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.45;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\tif (t < 1) {\r\n\t\t\treturn -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p) * 0.5 + 1;\r\n\t},\r\n\teaseInBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn t * t * ((s + 1) * t - s);\r\n\t},\r\n\r\n\teaseOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn (t = t - 1) * t * ((s + 1) * t + s) + 1;\r\n\t},\r\n\r\n\teaseInOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\r\n\t},\r\n\r\n\teaseInBounce: function(t) {\r\n\t\treturn 1 - effects.easeOutBounce(1 - t);\r\n\t},\r\n\r\n\teaseOutBounce: function(t) {\r\n\t\tif (t < (1 / 2.75)) {\r\n\t\t\treturn 7.5625 * t * t;\r\n\t\t}\r\n\t\tif (t < (2 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (1.5 / 2.75)) * t + 0.75;\r\n\t\t}\r\n\t\tif (t < (2.5 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375;\r\n\t\t}\r\n\t\treturn 7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375;\r\n\t},\r\n\r\n\teaseInOutBounce: function(t) {\r\n\t\tif (t < 0.5) {\r\n\t\t\treturn effects.easeInBounce(t * 2) * 0.5;\r\n\t\t}\r\n\t\treturn effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5;\r\n\t}\r\n};\r\n\r\nvar helpers_easing = {\r\n\teffects: effects\r\n};\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.easing.effects instead.\r\n * @function Chart.helpers.easingEffects\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.easingEffects = effects;\n\nvar PI = Math.PI;\r\nvar RAD_PER_DEG = PI / 180;\r\nvar DOUBLE_PI = PI * 2;\r\nvar HALF_PI = PI / 2;\r\nvar QUARTER_PI = PI / 4;\r\nvar TWO_THIRDS_PI = PI * 2 / 3;\r\n\r\n/**\r\n * @namespace Chart.helpers.canvas\r\n */\r\nvar exports$1 = {\r\n\t/**\r\n\t * Clears the entire canvas associated to the given `chart`.\r\n\t * @param {Chart} chart - The chart for which to clear the canvas.\r\n\t */\r\n\tclear: function(chart) {\r\n\t\tchart.ctx.clearRect(0, 0, chart.width, chart.height);\r\n\t},\r\n\r\n\t/**\r\n\t * Creates a \"path\" for a rectangle with rounded corners at position (x, y) with a\r\n\t * given size (width, height) and the same `radius` for all corners.\r\n\t * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context.\r\n\t * @param {number} x - The x axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} y - The y axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} width - The rectangle's width.\r\n\t * @param {number} height - The rectangle's height.\r\n\t * @param {number} radius - The rounded amount (in pixels) for the four corners.\r\n\t * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object?\r\n\t */\r\n\troundedRect: function(ctx, x, y, width, height, radius) {\r\n\t\tif (radius) {\r\n\t\t\tvar r = Math.min(radius, height / 2, width / 2);\r\n\t\t\tvar left = x + r;\r\n\t\t\tvar top = y + r;\r\n\t\t\tvar right = x + width - r;\r\n\t\t\tvar bottom = y + height - r;\r\n\r\n\t\t\tctx.moveTo(x, top);\r\n\t\t\tif (left < right && top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, -HALF_PI);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, 0);\r\n\t\t\t\tctx.arc(right, bottom, r, 0, HALF_PI);\r\n\t\t\t\tctx.arc(left, bottom, r, HALF_PI, PI);\r\n\t\t\t} else if (left < right) {\r\n\t\t\t\tctx.moveTo(left, y);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, HALF_PI);\r\n\t\t\t\tctx.arc(left, top, r, HALF_PI, PI + HALF_PI);\r\n\t\t\t} else if (top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, 0);\r\n\t\t\t\tctx.arc(left, bottom, r, 0, PI);\r\n\t\t\t} else {\r\n\t\t\t\tctx.arc(left, top, r, -PI, PI);\r\n\t\t\t}\r\n\t\t\tctx.closePath();\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t} else {\r\n\t\t\tctx.rect(x, y, width, height);\r\n\t\t}\r\n\t},\r\n\r\n\tdrawPoint: function(ctx, style, radius, x, y, rotation) {\r\n\t\tvar type, xOffset, yOffset, size, cornerRadius;\r\n\t\tvar rad = (rotation || 0) * RAD_PER_DEG;\r\n\r\n\t\tif (style && typeof style === 'object') {\r\n\t\t\ttype = style.toString();\r\n\t\t\tif (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\r\n\t\t\t\tctx.save();\r\n\t\t\t\tctx.translate(x, y);\r\n\t\t\t\tctx.rotate(rad);\r\n\t\t\t\tctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\r\n\t\t\t\tctx.restore();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (isNaN(radius) || radius <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\r\n\t\tswitch (style) {\r\n\t\t// Default includes circle\r\n\t\tdefault:\r\n\t\t\tctx.arc(x, y, radius, 0, DOUBLE_PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'triangle':\r\n\t\t\tctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rectRounded':\r\n\t\t\t// NOTE: the rounded rect implementation changed to use `arc` instead of\r\n\t\t\t// `quadraticCurveTo` since it generates better results when rect is\r\n\t\t\t// almost a circle. 0.516 (instead of 0.5) produces results with visually\r\n\t\t\t// closer proportion to the previous impl and it is inscribed in the\r\n\t\t\t// circle with `radius`. For more details, see the following PRs:\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5597\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5858\r\n\t\t\tcornerRadius = radius * 0.516;\r\n\t\t\tsize = radius - cornerRadius;\r\n\t\t\txOffset = Math.cos(rad + QUARTER_PI) * size;\r\n\t\t\tyOffset = Math.sin(rad + QUARTER_PI) * size;\r\n\t\t\tctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\r\n\t\t\tctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\r\n\t\t\tctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\r\n\t\t\tctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rect':\r\n\t\t\tif (!rotation) {\r\n\t\t\t\tsize = Math.SQRT1_2 * radius;\r\n\t\t\t\tctx.rect(x - size, y - size, 2 * size, 2 * size);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'rectRot':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'crossRot':\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'cross':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'star':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'line':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'dash':\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t\tctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tctx.fill();\r\n\t\tctx.stroke();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the point is inside the rectangle\r\n\t * @param {object} point - The point to test\r\n\t * @param {object} area - The rectangle\r\n\t * @returns {boolean}\r\n\t * @private\r\n\t */\r\n\t_isPointInArea: function(point, area) {\r\n\t\tvar epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.\r\n\r\n\t\treturn point.x > area.left - epsilon && point.x < area.right + epsilon &&\r\n\t\t\tpoint.y > area.top - epsilon && point.y < area.bottom + epsilon;\r\n\t},\r\n\r\n\tclipArea: function(ctx, area) {\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\r\n\t\tctx.clip();\r\n\t},\r\n\r\n\tunclipArea: function(ctx) {\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\tlineTo: function(ctx, previous, target, flip) {\r\n\t\tvar stepped = target.steppedLine;\r\n\t\tif (stepped) {\r\n\t\t\tif (stepped === 'middle') {\r\n\t\t\t\tvar midpoint = (previous.x + target.x) / 2.0;\r\n\t\t\t\tctx.lineTo(midpoint, flip ? target.y : previous.y);\r\n\t\t\t\tctx.lineTo(midpoint, flip ? previous.y : target.y);\r\n\t\t\t} else if ((stepped === 'after' && !flip) || (stepped !== 'after' && flip)) {\r\n\t\t\t\tctx.lineTo(previous.x, target.y);\r\n\t\t\t} else {\r\n\t\t\t\tctx.lineTo(target.x, previous.y);\r\n\t\t\t}\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!target.tension) {\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.bezierCurveTo(\r\n\t\t\tflip ? previous.controlPointPreviousX : previous.controlPointNextX,\r\n\t\t\tflip ? previous.controlPointPreviousY : previous.controlPointNextY,\r\n\t\t\tflip ? target.controlPointNextX : target.controlPointPreviousX,\r\n\t\t\tflip ? target.controlPointNextY : target.controlPointPreviousY,\r\n\t\t\ttarget.x,\r\n\t\t\ttarget.y);\r\n\t}\r\n};\r\n\r\nvar helpers_canvas = exports$1;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.clear instead.\r\n * @namespace Chart.helpers.clear\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.clear = exports$1.clear;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead.\r\n * @namespace Chart.helpers.drawRoundedRectangle\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.drawRoundedRectangle = function(ctx) {\r\n\tctx.beginPath();\r\n\texports$1.roundedRect.apply(exports$1, arguments);\r\n};\n\nvar defaults = {\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_set: function(scope, values) {\r\n\t\treturn helpers_core.merge(this[scope] || (this[scope] = {}), values);\r\n\t}\r\n};\r\n\r\n// TODO(v3): remove 'global' from namespace. all default are global and\r\n// there's inconsistency around which options are under 'global'\r\ndefaults._set('global', {\r\n\tdefaultColor: 'rgba(0,0,0,0.1)',\r\n\tdefaultFontColor: '#666',\r\n\tdefaultFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\r\n\tdefaultFontSize: 12,\r\n\tdefaultFontStyle: 'normal',\r\n\tdefaultLineHeight: 1.2,\r\n\tshowLines: true\r\n});\r\n\r\nvar core_defaults = defaults;\n\nvar valueOrDefault = helpers_core.valueOrDefault;\r\n\r\n/**\r\n * Converts the given font object into a CSS font string.\r\n * @param {object} font - A font object.\r\n * @return {string} The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\r\n * @private\r\n */\r\nfunction toFontString(font) {\r\n\tif (!font || helpers_core.isNullOrUndef(font.size) || helpers_core.isNullOrUndef(font.family)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (font.style ? font.style + ' ' : '')\r\n\t\t+ (font.weight ? font.weight + ' ' : '')\r\n\t\t+ font.size + 'px '\r\n\t\t+ font.family;\r\n}\r\n\r\n/**\r\n * @alias Chart.helpers.options\r\n * @namespace\r\n */\r\nvar helpers_options = {\r\n\t/**\r\n\t * Converts the given line height `value` in pixels for a specific font `size`.\r\n\t * @param {number|string} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\r\n\t * @param {number} size - The font size (in pixels) used to resolve relative `value`.\r\n\t * @returns {number} The effective line height in pixels (size * 1.2 if value is invalid).\r\n\t * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoLineHeight: function(value, size) {\r\n\t\tvar matches = ('' + value).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\r\n\t\tif (!matches || matches[1] === 'normal') {\r\n\t\t\treturn size * 1.2;\r\n\t\t}\r\n\r\n\t\tvalue = +matches[2];\r\n\r\n\t\tswitch (matches[3]) {\r\n\t\tcase 'px':\r\n\t\t\treturn value;\r\n\t\tcase '%':\r\n\t\t\tvalue /= 100;\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\treturn size * value;\r\n\t},\r\n\r\n\t/**\r\n\t * Converts the given value into a padding object with pre-computed width/height.\r\n\t * @param {number|object} value - If a number, set the value to all TRBL component,\r\n\t * else, if and object, use defined properties and sets undefined ones to 0.\r\n\t * @returns {object} The padding values (top, right, bottom, left, width, height)\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoPadding: function(value) {\r\n\t\tvar t, r, b, l;\r\n\r\n\t\tif (helpers_core.isObject(value)) {\r\n\t\t\tt = +value.top || 0;\r\n\t\t\tr = +value.right || 0;\r\n\t\t\tb = +value.bottom || 0;\r\n\t\t\tl = +value.left || 0;\r\n\t\t} else {\r\n\t\t\tt = r = b = l = +value || 0;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttop: t,\r\n\t\t\tright: r,\r\n\t\t\tbottom: b,\r\n\t\t\tleft: l,\r\n\t\t\theight: t + b,\r\n\t\t\twidth: l + r\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Parses font options and returns the font object.\r\n\t * @param {object} options - A object that contains font options to be parsed.\r\n\t * @return {object} The font object.\r\n\t * @todo Support font.* options and renamed to toFont().\r\n\t * @private\r\n\t */\r\n\t_parseFont: function(options) {\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);\r\n\t\tvar font = {\r\n\t\t\tfamily: valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily),\r\n\t\t\tlineHeight: helpers_core.options.toLineHeight(valueOrDefault(options.lineHeight, globalDefaults.defaultLineHeight), size),\r\n\t\t\tsize: size,\r\n\t\t\tstyle: valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle),\r\n\t\t\tweight: null,\r\n\t\t\tstring: ''\r\n\t\t};\r\n\r\n\t\tfont.string = toFontString(font);\r\n\t\treturn font;\r\n\t},\r\n\r\n\t/**\r\n\t * Evaluates the given `inputs` sequentially and returns the first defined value.\r\n\t * @param {Array} inputs - An array of values, falling back to the last value.\r\n\t * @param {object} [context] - If defined and the current value is a function, the value\r\n\t * is called with `context` as first argument and the result becomes the new input.\r\n\t * @param {number} [index] - If defined and the current value is an array, the value\r\n\t * at `index` become the new input.\r\n\t * @param {object} [info] - object to return information about resolution in\r\n\t * @param {boolean} [info.cacheable] - Will be set to `false` if option is not cacheable.\r\n\t * @since 2.7.0\r\n\t */\r\n\tresolve: function(inputs, context, index, info) {\r\n\t\tvar cacheable = true;\r\n\t\tvar i, ilen, value;\r\n\r\n\t\tfor (i = 0, ilen = inputs.length; i < ilen; ++i) {\r\n\t\t\tvalue = inputs[i];\r\n\t\t\tif (value === undefined) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tif (context !== undefined && typeof value === 'function') {\r\n\t\t\t\tvalue = value(context);\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (index !== undefined && helpers_core.isArray(value)) {\r\n\t\t\t\tvalue = value[index];\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (value !== undefined) {\r\n\t\t\t\tif (info && !cacheable) {\r\n\t\t\t\t\tinfo.cacheable = false;\r\n\t\t\t\t}\r\n\t\t\t\treturn value;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\n/**\r\n * @alias Chart.helpers.math\r\n * @namespace\r\n */\r\nvar exports$2 = {\r\n\t/**\r\n\t * Returns an array of factors sorted from 1 to sqrt(value)\r\n\t * @private\r\n\t */\r\n\t_factorize: function(value) {\r\n\t\tvar result = [];\r\n\t\tvar sqrt = Math.sqrt(value);\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 1; i < sqrt; i++) {\r\n\t\t\tif (value % i === 0) {\r\n\t\t\t\tresult.push(i);\r\n\t\t\t\tresult.push(value / i);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (sqrt === (sqrt | 0)) { // if value is a square number\r\n\t\t\tresult.push(sqrt);\r\n\t\t}\r\n\r\n\t\tresult.sort(function(a, b) {\r\n\t\t\treturn a - b;\r\n\t\t}).pop();\r\n\t\treturn result;\r\n\t},\r\n\r\n\tlog10: Math.log10 || function(x) {\r\n\t\tvar exponent = Math.log(x) * Math.LOG10E; // Math.LOG10E = 1 / Math.LN10.\r\n\t\t// Check for whole powers of 10,\r\n\t\t// which due to floating point rounding error should be corrected.\r\n\t\tvar powerOf10 = Math.round(exponent);\r\n\t\tvar isPowerOf10 = x === Math.pow(10, powerOf10);\r\n\r\n\t\treturn isPowerOf10 ? powerOf10 : exponent;\r\n\t}\r\n};\r\n\r\nvar helpers_math = exports$2;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.math.log10 instead.\r\n * @namespace Chart.helpers.log10\r\n * @deprecated since version 2.9.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.log10 = exports$2.log10;\n\nvar getRtlAdapter = function(rectX, width) {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn rectX + rectX + width - x;\r\n\t\t},\r\n\t\tsetWidth: function(w) {\r\n\t\t\twidth = w;\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\tif (align === 'center') {\r\n\t\t\t\treturn align;\r\n\t\t\t}\r\n\t\t\treturn align === 'right' ? 'left' : 'right';\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x - value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, itemWidth) {\r\n\t\t\treturn x - itemWidth;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getLtrAdapter = function() {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn x;\r\n\t\t},\r\n\t\tsetWidth: function(w) { // eslint-disable-line no-unused-vars\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\treturn align;\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x + value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, _itemWidth) { // eslint-disable-line no-unused-vars\r\n\t\t\treturn x;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getAdapter = function(rtl, rectX, width) {\r\n\treturn rtl ? getRtlAdapter(rectX, width) : getLtrAdapter();\r\n};\r\n\r\nvar overrideTextDirection = function(ctx, direction) {\r\n\tvar style, original;\r\n\tif (direction === 'ltr' || direction === 'rtl') {\r\n\t\tstyle = ctx.canvas.style;\r\n\t\toriginal = [\r\n\t\t\tstyle.getPropertyValue('direction'),\r\n\t\t\tstyle.getPropertyPriority('direction'),\r\n\t\t];\r\n\r\n\t\tstyle.setProperty('direction', direction, 'important');\r\n\t\tctx.prevTextDirection = original;\r\n\t}\r\n};\r\n\r\nvar restoreTextDirection = function(ctx) {\r\n\tvar original = ctx.prevTextDirection;\r\n\tif (original !== undefined) {\r\n\t\tdelete ctx.prevTextDirection;\r\n\t\tctx.canvas.style.setProperty('direction', original[0], original[1]);\r\n\t}\r\n};\r\n\r\nvar helpers_rtl = {\r\n\tgetRtlAdapter: getAdapter,\r\n\toverrideTextDirection: overrideTextDirection,\r\n\trestoreTextDirection: restoreTextDirection,\r\n};\n\nvar helpers$1 = helpers_core;\r\nvar easing = helpers_easing;\r\nvar canvas = helpers_canvas;\r\nvar options = helpers_options;\r\nvar math = helpers_math;\r\nvar rtl = helpers_rtl;\nhelpers$1.easing = easing;\nhelpers$1.canvas = canvas;\nhelpers$1.options = options;\nhelpers$1.math = math;\nhelpers$1.rtl = rtl;\n\nfunction interpolate(start, view, model, ease) {\r\n\tvar keys = Object.keys(model);\r\n\tvar i, ilen, key, actual, origin, target, type, c0, c1;\r\n\r\n\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\tkey = keys[i];\r\n\r\n\t\ttarget = model[key];\r\n\r\n\t\t// if a value is added to the model after pivot() has been called, the view\r\n\t\t// doesn't contain it, so let's initialize the view to the target value.\r\n\t\tif (!view.hasOwnProperty(key)) {\r\n\t\t\tview[key] = target;\r\n\t\t}\r\n\r\n\t\tactual = view[key];\r\n\r\n\t\tif (actual === target || key[0] === '_') {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (!start.hasOwnProperty(key)) {\r\n\t\t\tstart[key] = actual;\r\n\t\t}\r\n\r\n\t\torigin = start[key];\r\n\r\n\t\ttype = typeof target;\r\n\r\n\t\tif (type === typeof origin) {\r\n\t\t\tif (type === 'string') {\r\n\t\t\t\tc0 = chartjsColor(origin);\r\n\t\t\t\tif (c0.valid) {\r\n\t\t\t\t\tc1 = chartjsColor(target);\r\n\t\t\t\t\tif (c1.valid) {\r\n\t\t\t\t\t\tview[key] = c1.mix(c0, ease).rgbString();\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else if (helpers$1.isFinite(origin) && helpers$1.isFinite(target)) {\r\n\t\t\t\tview[key] = origin + (target - origin) * ease;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tview[key] = target;\r\n\t}\r\n}\r\n\r\nvar Element = function(configuration) {\r\n\thelpers$1.extend(this, configuration);\r\n\tthis.initialize.apply(this, arguments);\r\n};\r\n\r\nhelpers$1.extend(Element.prototype, {\r\n\t_type: undefined,\r\n\r\n\tinitialize: function() {\r\n\t\tthis.hidden = false;\r\n\t},\r\n\r\n\tpivot: function() {\r\n\t\tvar me = this;\r\n\t\tif (!me._view) {\r\n\t\t\tme._view = helpers$1.extend({}, me._model);\r\n\t\t}\r\n\t\tme._start = {};\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttransition: function(ease) {\r\n\t\tvar me = this;\r\n\t\tvar model = me._model;\r\n\t\tvar start = me._start;\r\n\t\tvar view = me._view;\r\n\r\n\t\t// No animation -> No Transition\r\n\t\tif (!model || ease === 1) {\r\n\t\t\tme._view = helpers$1.extend({}, model);\r\n\t\t\tme._start = null;\r\n\t\t\treturn me;\r\n\t\t}\r\n\r\n\t\tif (!view) {\r\n\t\t\tview = me._view = {};\r\n\t\t}\r\n\r\n\t\tif (!start) {\r\n\t\t\tstart = me._start = {};\r\n\t\t}\r\n\r\n\t\tinterpolate(start, view, model, ease);\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\treturn {\r\n\t\t\tx: this._model.x,\r\n\t\t\ty: this._model.y\r\n\t\t};\r\n\t},\r\n\r\n\thasValue: function() {\r\n\t\treturn helpers$1.isNumber(this._model.x) && helpers$1.isNumber(this._model.y);\r\n\t}\r\n});\r\n\r\nElement.extend = helpers$1.inherits;\r\n\r\nvar core_element = Element;\n\nvar exports$3 = core_element.extend({\r\n\tchart: null, // the animation associated chart instance\r\n\tcurrentStep: 0, // the current animation step\r\n\tnumSteps: 60, // default number of steps\r\n\teasing: '', // the easing to use for this animation\r\n\trender: null, // render function used by the animation service\r\n\r\n\tonAnimationProgress: null, // user specified callback to fire on each step of the animation\r\n\tonAnimationComplete: null, // user specified callback to fire when the animation finishes\r\n});\r\n\r\nvar core_animation = exports$3;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation instead\r\n * @prop Chart.Animation#animationObject\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'animationObject', {\r\n\tget: function() {\r\n\t\treturn this;\r\n\t}\r\n});\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation#chart instead\r\n * @prop Chart.Animation#chartInstance\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'chartInstance', {\r\n\tget: function() {\r\n\t\treturn this.chart;\r\n\t},\r\n\tset: function(value) {\r\n\t\tthis.chart = value;\r\n\t}\r\n});\n\ncore_defaults._set('global', {\r\n\tanimation: {\r\n\t\tduration: 1000,\r\n\t\teasing: 'easeOutQuart',\r\n\t\tonProgress: helpers$1.noop,\r\n\t\tonComplete: helpers$1.noop\r\n\t}\r\n});\r\n\r\nvar core_animations = {\r\n\tanimations: [],\r\n\trequest: null,\r\n\r\n\t/**\r\n\t * @param {Chart} chart - The chart to animate.\r\n\t * @param {Chart.Animation} animation - The animation that we will animate.\r\n\t * @param {number} duration - The animation duration in ms.\r\n\t * @param {boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions\r\n\t */\r\n\taddAnimation: function(chart, animation, duration, lazy) {\r\n\t\tvar animations = this.animations;\r\n\t\tvar i, ilen;\r\n\r\n\t\tanimation.chart = chart;\r\n\t\tanimation.startTime = Date.now();\r\n\t\tanimation.duration = duration;\r\n\r\n\t\tif (!lazy) {\r\n\t\t\tchart.animating = true;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = animations.length; i < ilen; ++i) {\r\n\t\t\tif (animations[i].chart === chart) {\r\n\t\t\t\tanimations[i] = animation;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tanimations.push(animation);\r\n\r\n\t\t// If there are no animations queued, manually kickstart a digest, for lack of a better word\r\n\t\tif (animations.length === 1) {\r\n\t\t\tthis.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\tcancelAnimation: function(chart) {\r\n\t\tvar index = helpers$1.findIndex(this.animations, function(animation) {\r\n\t\t\treturn animation.chart === chart;\r\n\t\t});\r\n\r\n\t\tif (index !== -1) {\r\n\t\t\tthis.animations.splice(index, 1);\r\n\t\t\tchart.animating = false;\r\n\t\t}\r\n\t},\r\n\r\n\trequestAnimationFrame: function() {\r\n\t\tvar me = this;\r\n\t\tif (me.request === null) {\r\n\t\t\t// Skip animation frame requests until the active one is executed.\r\n\t\t\t// This can happen when processing mouse events, e.g. 'mousemove'\r\n\t\t\t// and 'mouseout' events will trigger multiple renders.\r\n\t\t\tme.request = helpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tme.request = null;\r\n\t\t\t\tme.startDigest();\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tstartDigest: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tme.advance();\r\n\r\n\t\t// Do we have more stuff to animate?\r\n\t\tif (me.animations.length > 0) {\r\n\t\t\tme.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tadvance: function() {\r\n\t\tvar animations = this.animations;\r\n\t\tvar animation, chart, numSteps, nextStep;\r\n\t\tvar i = 0;\r\n\r\n\t\t// 1 animation per chart, so we are looping charts here\r\n\t\twhile (i < animations.length) {\r\n\t\t\tanimation = animations[i];\r\n\t\t\tchart = animation.chart;\r\n\t\t\tnumSteps = animation.numSteps;\r\n\r\n\t\t\t// Make sure that currentStep starts at 1\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/6104\r\n\t\t\tnextStep = Math.floor((Date.now() - animation.startTime) / animation.duration * numSteps) + 1;\r\n\t\t\tanimation.currentStep = Math.min(nextStep, numSteps);\r\n\r\n\t\t\thelpers$1.callback(animation.render, [chart, animation], chart);\r\n\t\t\thelpers$1.callback(animation.onAnimationProgress, [animation], chart);\r\n\r\n\t\t\tif (animation.currentStep >= numSteps) {\r\n\t\t\t\thelpers$1.callback(animation.onAnimationComplete, [animation], chart);\r\n\t\t\t\tchart.animating = false;\r\n\t\t\t\tanimations.splice(i, 1);\r\n\t\t\t} else {\r\n\t\t\t\t++i;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\nvar resolve = helpers$1.options.resolve;\r\n\r\nvar arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\r\n\r\n/**\r\n * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\r\n * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\r\n * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.\r\n */\r\nfunction listenArrayEvents(array, listener) {\r\n\tif (array._chartjs) {\r\n\t\tarray._chartjs.listeners.push(listener);\r\n\t\treturn;\r\n\t}\r\n\r\n\tObject.defineProperty(array, '_chartjs', {\r\n\t\tconfigurable: true,\r\n\t\tenumerable: false,\r\n\t\tvalue: {\r\n\t\t\tlisteners: [listener]\r\n\t\t}\r\n\t});\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tvar method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);\r\n\t\tvar base = array[key];\r\n\r\n\t\tObject.defineProperty(array, key, {\r\n\t\t\tconfigurable: true,\r\n\t\t\tenumerable: false,\r\n\t\t\tvalue: function() {\r\n\t\t\t\tvar args = Array.prototype.slice.call(arguments);\r\n\t\t\t\tvar res = base.apply(this, args);\r\n\r\n\t\t\t\thelpers$1.each(array._chartjs.listeners, function(object) {\r\n\t\t\t\t\tif (typeof object[method] === 'function') {\r\n\t\t\t\t\t\tobject[method].apply(object, args);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn res;\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\n\r\n/**\r\n * Removes the given array event listener and cleanup extra attached properties (such as\r\n * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\r\n */\r\nfunction unlistenArrayEvents(array, listener) {\r\n\tvar stub = array._chartjs;\r\n\tif (!stub) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar listeners = stub.listeners;\r\n\tvar index = listeners.indexOf(listener);\r\n\tif (index !== -1) {\r\n\t\tlisteners.splice(index, 1);\r\n\t}\r\n\r\n\tif (listeners.length > 0) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tdelete array[key];\r\n\t});\r\n\r\n\tdelete array._chartjs;\r\n}\r\n\r\n// Base class for all dataset controllers (line, bar, etc)\r\nvar DatasetController = function(chart, datasetIndex) {\r\n\tthis.initialize(chart, datasetIndex);\r\n};\r\n\r\nhelpers$1.extend(DatasetController.prototype, {\r\n\r\n\t/**\r\n\t * Element type used to generate a meta dataset (e.g. Chart.element.Line).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdatasetElementType: null,\r\n\r\n\t/**\r\n\t * Element type used to generate a meta data (e.g. Chart.element.Point).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdataElementType: null,\r\n\r\n\t/**\r\n\t * Dataset element option keys to be resolved in _resolveDatasetElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth'\r\n\t],\r\n\r\n\t/**\r\n\t * Data element option keys to be resolved in _resolveDataElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'pointStyle'\r\n\t],\r\n\r\n\tinitialize: function(chart, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tme.chart = chart;\r\n\t\tme.index = datasetIndex;\r\n\t\tme.linkScales();\r\n\t\tme.addElements();\r\n\t\tme._type = me.getMeta().type;\r\n\t},\r\n\r\n\tupdateIndex: function(datasetIndex) {\r\n\t\tthis.index = datasetIndex;\r\n\t},\r\n\r\n\tlinkScales: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar chart = me.chart;\r\n\t\tvar scales = chart.scales;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scalesOpts = chart.options.scales;\r\n\r\n\t\tif (meta.xAxisID === null || !(meta.xAxisID in scales) || dataset.xAxisID) {\r\n\t\t\tmeta.xAxisID = dataset.xAxisID || scalesOpts.xAxes[0].id;\r\n\t\t}\r\n\t\tif (meta.yAxisID === null || !(meta.yAxisID in scales) || dataset.yAxisID) {\r\n\t\t\tmeta.yAxisID = dataset.yAxisID || scalesOpts.yAxes[0].id;\r\n\t\t}\r\n\t},\r\n\r\n\tgetDataset: function() {\r\n\t\treturn this.chart.data.datasets[this.index];\r\n\t},\r\n\r\n\tgetMeta: function() {\r\n\t\treturn this.chart.getDatasetMeta(this.index);\r\n\t},\r\n\r\n\tgetScaleForId: function(scaleID) {\r\n\t\treturn this.chart.scales[scaleID];\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScale: function() {\r\n\t\treturn this.getScaleForId(this._getValueScaleId());\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScale: function() {\r\n\t\treturn this.getScaleForId(this._getIndexScaleId());\r\n\t},\r\n\r\n\treset: function() {\r\n\t\tthis._update(true);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tdestroy: function() {\r\n\t\tif (this._data) {\r\n\t\t\tunlistenArrayEvents(this._data, this);\r\n\t\t}\r\n\t},\r\n\r\n\tcreateMetaDataset: function() {\r\n\t\tvar me = this;\r\n\t\tvar type = me.datasetElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index\r\n\t\t});\r\n\t},\r\n\r\n\tcreateMetaData: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar type = me.dataElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index\r\n\t\t});\r\n\t},\r\n\r\n\taddElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data || [];\r\n\t\tvar metaData = meta.data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = data.length; i < ilen; ++i) {\r\n\t\t\tmetaData[i] = metaData[i] || me.createMetaData(i);\r\n\t\t}\r\n\r\n\t\tmeta.dataset = meta.dataset || me.createMetaDataset();\r\n\t},\r\n\r\n\taddElementAndReset: function(index) {\r\n\t\tvar element = this.createMetaData(index);\r\n\t\tthis.getMeta().data.splice(index, 0, element);\r\n\t\tthis.updateElement(element, index, true);\r\n\t},\r\n\r\n\tbuildOrUpdateElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar data = dataset.data || (dataset.data = []);\r\n\r\n\t\t// In order to correctly handle data addition/deletion animation (an thus simulate\r\n\t\t// real-time charts), we need to monitor these data modifications and synchronize\r\n\t\t// the internal meta data accordingly.\r\n\t\tif (me._data !== data) {\r\n\t\t\tif (me._data) {\r\n\t\t\t\t// This case happens when the user replaced the data array instance.\r\n\t\t\t\tunlistenArrayEvents(me._data, me);\r\n\t\t\t}\r\n\r\n\t\t\tif (data && Object.isExtensible(data)) {\r\n\t\t\t\tlistenArrayEvents(data, me);\r\n\t\t\t}\r\n\t\t\tme._data = data;\r\n\t\t}\r\n\r\n\t\t// Re-sync meta data in case the user replaced the data array or if we missed\r\n\t\t// any updates and so make sure that we handle number of datapoints changing.\r\n\t\tme.resyncElements();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the merged user-supplied and default dataset-level options\r\n\t * @private\r\n\t */\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tme._config = helpers$1.merge(Object.create(null), [\r\n\t\t\tme.chart.options.datasets[me._type],\r\n\t\t\tme.getDataset(),\r\n\t\t], {\r\n\t\t\tmerger: function(key, target, source) {\r\n\t\t\t\tif (key !== '_meta' && key !== 'data') {\r\n\t\t\t\t\thelpers$1._merger(key, target, source);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_update: function(reset) {\r\n\t\tvar me = this;\r\n\t\tme._configure();\r\n\t\tme._cachedDataOpts = null;\r\n\t\tme.update(reset);\r\n\t},\r\n\r\n\tupdate: helpers$1.noop,\r\n\r\n\ttransition: function(easingValue) {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].transition(easingValue);\r\n\t\t}\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.transition(easingValue);\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.draw();\r\n\t\t}\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].draw();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a set of predefined style properties that should be used to represent the dataset\r\n\t * or the data if the index is specified\r\n\t * @param {number} index - data index\r\n\t * @return {IStyleInterface} style object\r\n\t */\r\n\tgetStyle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = meta.dataset;\r\n\t\tvar style;\r\n\r\n\t\tme._configure();\r\n\t\tif (dataset && index === undefined) {\r\n\t\t\tstyle = me._resolveDatasetElementOptions(dataset || {});\r\n\t\t} else {\r\n\t\t\tindex = index || 0;\r\n\t\t\tstyle = me._resolveDataElementOptions(meta.data[index] || {}, index);\r\n\t\t}\r\n\r\n\t\tif (style.fill === false || style.fill === null) {\r\n\t\t\tstyle.backgroundColor = style.borderColor;\r\n\t\t}\r\n\r\n\t\treturn style;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element, hover) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = chart.options.elements[me.datasetElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._datasetElementOptions;\r\n\t\tvar values = {};\r\n\t\tvar i, ilen, key, readKey;\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index,\r\n\t\t\thover: hover\r\n\t\t};\r\n\r\n\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\tkey = elementOptions[i];\r\n\t\t\treadKey = hover ? 'hover' + key.charAt(0).toUpperCase() + key.slice(1) : key;\r\n\t\t\tvalues[key] = resolve([\r\n\t\t\t\tcustom[readKey],\r\n\t\t\t\tdatasetOpts[readKey],\r\n\t\t\t\toptions[readKey]\r\n\t\t\t], context);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(element, index) {\r\n\t\tvar me = this;\r\n\t\tvar custom = element && element.custom;\r\n\t\tvar cached = me._cachedDataOpts;\r\n\t\tif (cached && !custom) {\r\n\t\t\treturn cached;\r\n\t\t}\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar options = chart.options.elements[me.dataElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._dataElementOptions;\r\n\t\tvar values = {};\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// `resolve` sets cacheable to `false` if any option is indexed or scripted\r\n\t\tvar info = {cacheable: !custom};\r\n\r\n\t\tvar keys, i, ilen, key;\r\n\r\n\t\tcustom = custom || {};\r\n\r\n\t\tif (helpers$1.isArray(elementOptions)) {\r\n\t\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\t\tkey = elementOptions[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tkeys = Object.keys(elementOptions);\r\n\t\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\t\tkey = keys[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[elementOptions[key]],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (info.cacheable) {\r\n\t\t\tme._cachedDataOpts = Object.freeze(values);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tremoveHoverStyle: function(element) {\r\n\t\thelpers$1.merge(element._model, element.$previousStyle || {});\r\n\t\tdelete element.$previousStyle;\r\n\t},\r\n\r\n\tsetHoverStyle: function(element) {\r\n\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\r\n\t\tvar index = element._index;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar model = element._model;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\telement.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = resolve([custom.hoverBackgroundColor, dataset.hoverBackgroundColor, getHoverColor(model.backgroundColor)], undefined, index);\r\n\t\tmodel.borderColor = resolve([custom.hoverBorderColor, dataset.hoverBorderColor, getHoverColor(model.borderColor)], undefined, index);\r\n\t\tmodel.borderWidth = resolve([custom.hoverBorderWidth, dataset.hoverBorderWidth, model.borderWidth], undefined, index);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_removeDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\r\n\t\tif (element) {\r\n\t\t\tthis.removeHoverStyle(element);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_setDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\t\tvar prev = {};\r\n\t\tvar i, ilen, key, keys, hoverOptions, model;\r\n\r\n\t\tif (!element) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmodel = element._model;\r\n\t\thoverOptions = this._resolveDatasetElementOptions(element, true);\r\n\r\n\t\tkeys = Object.keys(hoverOptions);\r\n\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\tkey = keys[i];\r\n\t\t\tprev[key] = model[key];\r\n\t\t\tmodel[key] = hoverOptions[key];\r\n\t\t}\r\n\r\n\t\telement.$previousStyle = prev;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tresyncElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data;\r\n\t\tvar numMeta = meta.data.length;\r\n\t\tvar numData = data.length;\r\n\r\n\t\tif (numData < numMeta) {\r\n\t\t\tmeta.data.splice(numData, numMeta - numData);\r\n\t\t} else if (numData > numMeta) {\r\n\t\t\tme.insertElements(numMeta, numData - numMeta);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tinsertElements: function(start, count) {\r\n\t\tfor (var i = 0; i < count; ++i) {\r\n\t\t\tthis.addElementAndReset(start + i);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPush: function() {\r\n\t\tvar count = arguments.length;\r\n\t\tthis.insertElements(this.getDataset().data.length - count, count);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPop: function() {\r\n\t\tthis.getMeta().data.pop();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataShift: function() {\r\n\t\tthis.getMeta().data.shift();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataSplice: function(start, count) {\r\n\t\tthis.getMeta().data.splice(start, count);\r\n\t\tthis.insertElements(start, arguments.length - 2);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataUnshift: function() {\r\n\t\tthis.insertElements(0, arguments.length);\r\n\t}\r\n});\r\n\r\nDatasetController.extend = helpers$1.inherits;\r\n\r\nvar core_datasetController = DatasetController;\n\nvar TAU = Math.PI * 2;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tarc: {\r\n\t\t\tbackgroundColor: core_defaults.global.defaultColor,\r\n\t\t\tborderColor: '#fff',\r\n\t\t\tborderWidth: 2,\r\n\t\t\tborderAlign: 'center'\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction clipArc(ctx, arc) {\r\n\tvar startAngle = arc.startAngle;\r\n\tvar endAngle = arc.endAngle;\r\n\tvar pixelMargin = arc.pixelMargin;\r\n\tvar angleMargin = pixelMargin / arc.outerRadius;\r\n\tvar x = arc.x;\r\n\tvar y = arc.y;\r\n\r\n\t// Draw an inner border by cliping the arc and drawing a double-width border\r\n\t// Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\r\n\tctx.beginPath();\r\n\tctx.arc(x, y, arc.outerRadius, startAngle - angleMargin, endAngle + angleMargin);\r\n\tif (arc.innerRadius > pixelMargin) {\r\n\t\tangleMargin = pixelMargin / arc.innerRadius;\r\n\t\tctx.arc(x, y, arc.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true);\r\n\t} else {\r\n\t\tctx.arc(x, y, pixelMargin, endAngle + Math.PI / 2, startAngle - Math.PI / 2);\r\n\t}\r\n\tctx.closePath();\r\n\tctx.clip();\r\n}\r\n\r\nfunction drawFullCircleBorders(ctx, vm, arc, inner) {\r\n\tvar endAngle = arc.endAngle;\r\n\tvar i;\r\n\r\n\tif (inner) {\r\n\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\tclipArc(ctx, arc);\r\n\t\tarc.endAngle = endAngle;\r\n\t\tif (arc.endAngle === arc.startAngle && arc.fullCircles) {\r\n\t\t\tarc.endAngle += TAU;\r\n\t\t\tarc.fullCircles--;\r\n\t\t}\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.startAngle + TAU, arc.startAngle, true);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.startAngle + TAU);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n}\r\n\r\nfunction drawBorder(ctx, vm, arc) {\r\n\tvar inner = vm.borderAlign === 'inner';\r\n\r\n\tif (inner) {\r\n\t\tctx.lineWidth = vm.borderWidth * 2;\r\n\t\tctx.lineJoin = 'round';\r\n\t} else {\r\n\t\tctx.lineWidth = vm.borderWidth;\r\n\t\tctx.lineJoin = 'bevel';\r\n\t}\r\n\r\n\tif (arc.fullCircles) {\r\n\t\tdrawFullCircleBorders(ctx, vm, arc, inner);\r\n\t}\r\n\r\n\tif (inner) {\r\n\t\tclipArc(ctx, arc);\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.endAngle);\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\tctx.closePath();\r\n\tctx.stroke();\r\n}\r\n\r\nvar element_arc = core_element.extend({\r\n\t_type: 'arc',\r\n\r\n\tinLabelRange: function(mouseX) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\treturn (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2));\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tinRange: function(chartX, chartY) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\tvar pointRelativePosition = helpers$1.getAngleFromPoint(vm, {x: chartX, y: chartY});\r\n\t\t\tvar angle = pointRelativePosition.angle;\r\n\t\t\tvar distance = pointRelativePosition.distance;\r\n\r\n\t\t\t// Sanitise angle range\r\n\t\t\tvar startAngle = vm.startAngle;\r\n\t\t\tvar endAngle = vm.endAngle;\r\n\t\t\twhile (endAngle < startAngle) {\r\n\t\t\t\tendAngle += TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle > endAngle) {\r\n\t\t\t\tangle -= TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle < startAngle) {\r\n\t\t\t\tangle += TAU;\r\n\t\t\t}\r\n\r\n\t\t\t// Check if within the range of the open/close angle\r\n\t\t\tvar betweenAngles = (angle >= startAngle && angle <= endAngle);\r\n\t\t\tvar withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);\r\n\r\n\t\t\treturn (betweenAngles && withinRadius);\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar halfAngle = (vm.startAngle + vm.endAngle) / 2;\r\n\t\tvar halfRadius = (vm.innerRadius + vm.outerRadius) / 2;\r\n\t\treturn {\r\n\t\t\tx: vm.x + Math.cos(halfAngle) * halfRadius,\r\n\t\t\ty: vm.y + Math.sin(halfAngle) * halfRadius\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2);\r\n\t\tvar rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;\r\n\r\n\t\treturn {\r\n\t\t\tx: vm.x + (Math.cos(centreAngle) * rangeFromCentre),\r\n\t\t\ty: vm.y + (Math.sin(centreAngle) * rangeFromCentre)\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar pixelMargin = (vm.borderAlign === 'inner') ? 0.33 : 0;\r\n\t\tvar arc = {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tinnerRadius: vm.innerRadius,\r\n\t\t\touterRadius: Math.max(vm.outerRadius - pixelMargin, 0),\r\n\t\t\tpixelMargin: pixelMargin,\r\n\t\t\tstartAngle: vm.startAngle,\r\n\t\t\tendAngle: vm.endAngle,\r\n\t\t\tfullCircles: Math.floor(vm.circumference / TAU)\r\n\t\t};\r\n\t\tvar i;\r\n\r\n\t\tctx.save();\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.strokeStyle = vm.borderColor;\r\n\r\n\t\tif (arc.fullCircles) {\r\n\t\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\t\tctx.closePath();\r\n\t\t\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\t\t\tctx.fill();\r\n\t\t\t}\r\n\t\t\tarc.endAngle = arc.startAngle + vm.circumference % TAU;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\tctx.closePath();\r\n\t\tctx.fill();\r\n\r\n\t\tif (vm.borderWidth) {\r\n\t\t\tdrawBorder(ctx, vm, arc);\r\n\t\t}\r\n\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$1 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tline: {\r\n\t\t\ttension: 0.4,\r\n\t\t\tbackgroundColor: defaultColor,\r\n\t\t\tborderWidth: 3,\r\n\t\t\tborderColor: defaultColor,\r\n\t\t\tborderCapStyle: 'butt',\r\n\t\t\tborderDash: [],\r\n\t\t\tborderDashOffset: 0.0,\r\n\t\t\tborderJoinStyle: 'miter',\r\n\t\t\tcapBezierPoints: true,\r\n\t\t\tfill: true, // do we fill in the area between the line and its base axis\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar element_line = core_element.extend({\r\n\t_type: 'line',\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar vm = me._view;\r\n\t\tvar ctx = me._chart.ctx;\r\n\t\tvar spanGaps = vm.spanGaps;\r\n\t\tvar points = me._children.slice(); // clone array\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar globalOptionLineElements = globalDefaults.elements.line;\r\n\t\tvar lastDrawnIndex = -1;\r\n\t\tvar closePath = me._loop;\r\n\t\tvar index, previous, currentVM;\r\n\r\n\t\tif (!points.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (me._loop) {\r\n\t\t\tfor (index = 0; index < points.length; ++index) {\r\n\t\t\t\tprevious = helpers$1.previousItem(points, index);\r\n\t\t\t\t// If the line has an open path, shift the point array\r\n\t\t\t\tif (!points[index]._view.skip && previous._view.skip) {\r\n\t\t\t\t\tpoints = points.slice(index).concat(points.slice(0, index));\r\n\t\t\t\t\tclosePath = spanGaps;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// If the line has a close path, add the first point again\r\n\t\t\tif (closePath) {\r\n\t\t\t\tpoints.push(points[0]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\r\n\t\t// Stroke Line Options\r\n\t\tctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;\r\n\r\n\t\t// IE 9 and 10 do not support line dash\r\n\t\tif (ctx.setLineDash) {\r\n\t\t\tctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);\r\n\t\t}\r\n\r\n\t\tctx.lineDashOffset = valueOrDefault$1(vm.borderDashOffset, globalOptionLineElements.borderDashOffset);\r\n\t\tctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;\r\n\t\tctx.lineWidth = valueOrDefault$1(vm.borderWidth, globalOptionLineElements.borderWidth);\r\n\t\tctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;\r\n\r\n\t\t// Stroke Line\r\n\t\tctx.beginPath();\r\n\r\n\t\t// First point moves to it's starting position no matter what\r\n\t\tcurrentVM = points[0]._view;\r\n\t\tif (!currentVM.skip) {\r\n\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\tlastDrawnIndex = 0;\r\n\t\t}\r\n\r\n\t\tfor (index = 1; index < points.length; ++index) {\r\n\t\t\tcurrentVM = points[index]._view;\r\n\t\t\tprevious = lastDrawnIndex === -1 ? helpers$1.previousItem(points, index) : points[lastDrawnIndex];\r\n\r\n\t\t\tif (!currentVM.skip) {\r\n\t\t\t\tif ((lastDrawnIndex !== (index - 1) && !spanGaps) || lastDrawnIndex === -1) {\r\n\t\t\t\t\t// There was a gap and this is the first point after the gap\r\n\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Line to next point\r\n\t\t\t\t\thelpers$1.canvas.lineTo(ctx, previous._view, currentVM);\r\n\t\t\t\t}\r\n\t\t\t\tlastDrawnIndex = index;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (closePath) {\r\n\t\t\tctx.closePath();\r\n\t\t}\r\n\r\n\t\tctx.stroke();\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$2 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor$1 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tpoint: {\r\n\t\t\tradius: 3,\r\n\t\t\tpointStyle: 'circle',\r\n\t\t\tbackgroundColor: defaultColor$1,\r\n\t\t\tborderColor: defaultColor$1,\r\n\t\t\tborderWidth: 1,\r\n\t\t\t// Hover\r\n\t\t\thitRadius: 1,\r\n\t\t\thoverRadius: 4,\r\n\t\t\thoverBorderWidth: 1\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction xRange(mouseX) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseX - vm.x) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nfunction yRange(mouseY) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseY - vm.y) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nvar element_point = core_element.extend({\r\n\t_type: 'point',\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false;\r\n\t},\r\n\r\n\tinLabelRange: xRange,\r\n\tinXRange: xRange,\r\n\tinYRange: yRange,\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\treturn Math.PI * Math.pow(this._view.radius, 2);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tpadding: vm.radius + vm.borderWidth\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function(chartArea) {\r\n\t\tvar vm = this._view;\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar pointStyle = vm.pointStyle;\r\n\t\tvar rotation = vm.rotation;\r\n\t\tvar radius = vm.radius;\r\n\t\tvar x = vm.x;\r\n\t\tvar y = vm.y;\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar defaultColor = globalDefaults.defaultColor; // eslint-disable-line no-shadow\r\n\r\n\t\tif (vm.skip) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Clipping for Points.\r\n\t\tif (chartArea === undefined || helpers$1.canvas._isPointInArea(vm, chartArea)) {\r\n\t\t\tctx.strokeStyle = vm.borderColor || defaultColor;\r\n\t\t\tctx.lineWidth = valueOrDefault$2(vm.borderWidth, globalDefaults.elements.point.borderWidth);\r\n\t\t\tctx.fillStyle = vm.backgroundColor || defaultColor;\r\n\t\t\thelpers$1.canvas.drawPoint(ctx, pointStyle, radius, x, y, rotation);\r\n\t\t}\r\n\t}\r\n});\n\nvar defaultColor$2 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tbackgroundColor: defaultColor$2,\r\n\t\t\tborderColor: defaultColor$2,\r\n\t\t\tborderSkipped: 'bottom',\r\n\t\t\tborderWidth: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction isVertical(vm) {\r\n\treturn vm && vm.width !== undefined;\r\n}\r\n\r\n/**\r\n * Helper function to get the bounds of the bar regardless of the orientation\r\n * @param bar {Chart.Element.Rectangle} the bar\r\n * @return {Bounds} bounds of the bar\r\n * @private\r\n */\r\nfunction getBarBounds(vm) {\r\n\tvar x1, x2, y1, y2, half;\r\n\r\n\tif (isVertical(vm)) {\r\n\t\thalf = vm.width / 2;\r\n\t\tx1 = vm.x - half;\r\n\t\tx2 = vm.x + half;\r\n\t\ty1 = Math.min(vm.y, vm.base);\r\n\t\ty2 = Math.max(vm.y, vm.base);\r\n\t} else {\r\n\t\thalf = vm.height / 2;\r\n\t\tx1 = Math.min(vm.x, vm.base);\r\n\t\tx2 = Math.max(vm.x, vm.base);\r\n\t\ty1 = vm.y - half;\r\n\t\ty2 = vm.y + half;\r\n\t}\r\n\r\n\treturn {\r\n\t\tleft: x1,\r\n\t\ttop: y1,\r\n\t\tright: x2,\r\n\t\tbottom: y2\r\n\t};\r\n}\r\n\r\nfunction swap(orig, v1, v2) {\r\n\treturn orig === v1 ? v2 : orig === v2 ? v1 : orig;\r\n}\r\n\r\nfunction parseBorderSkipped(vm) {\r\n\tvar edge = vm.borderSkipped;\r\n\tvar res = {};\r\n\r\n\tif (!edge) {\r\n\t\treturn res;\r\n\t}\r\n\r\n\tif (vm.horizontal) {\r\n\t\tif (vm.base > vm.x) {\r\n\t\t\tedge = swap(edge, 'left', 'right');\r\n\t\t}\r\n\t} else if (vm.base < vm.y) {\r\n\t\tedge = swap(edge, 'bottom', 'top');\r\n\t}\r\n\r\n\tres[edge] = true;\r\n\treturn res;\r\n}\r\n\r\nfunction parseBorderWidth(vm, maxW, maxH) {\r\n\tvar value = vm.borderWidth;\r\n\tvar skip = parseBorderSkipped(vm);\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = +value.top || 0;\r\n\t\tr = +value.right || 0;\r\n\t\tb = +value.bottom || 0;\r\n\t\tl = +value.left || 0;\r\n\t} else {\r\n\t\tt = r = b = l = +value || 0;\r\n\t}\r\n\r\n\treturn {\r\n\t\tt: skip.top || (t < 0) ? 0 : t > maxH ? maxH : t,\r\n\t\tr: skip.right || (r < 0) ? 0 : r > maxW ? maxW : r,\r\n\t\tb: skip.bottom || (b < 0) ? 0 : b > maxH ? maxH : b,\r\n\t\tl: skip.left || (l < 0) ? 0 : l > maxW ? maxW : l\r\n\t};\r\n}\r\n\r\nfunction boundingRects(vm) {\r\n\tvar bounds = getBarBounds(vm);\r\n\tvar width = bounds.right - bounds.left;\r\n\tvar height = bounds.bottom - bounds.top;\r\n\tvar border = parseBorderWidth(vm, width / 2, height / 2);\r\n\r\n\treturn {\r\n\t\touter: {\r\n\t\t\tx: bounds.left,\r\n\t\t\ty: bounds.top,\r\n\t\t\tw: width,\r\n\t\t\th: height\r\n\t\t},\r\n\t\tinner: {\r\n\t\t\tx: bounds.left + border.l,\r\n\t\t\ty: bounds.top + border.t,\r\n\t\t\tw: width - border.l - border.r,\r\n\t\t\th: height - border.t - border.b\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction inRange(vm, x, y) {\r\n\tvar skipX = x === null;\r\n\tvar skipY = y === null;\r\n\tvar bounds = !vm || (skipX && skipY) ? false : getBarBounds(vm);\r\n\r\n\treturn bounds\r\n\t\t&& (skipX || x >= bounds.left && x <= bounds.right)\r\n\t\t&& (skipY || y >= bounds.top && y <= bounds.bottom);\r\n}\r\n\r\nvar element_rectangle = core_element.extend({\r\n\t_type: 'rectangle',\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar rects = boundingRects(vm);\r\n\t\tvar outer = rects.outer;\r\n\t\tvar inner = rects.inner;\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.fillRect(outer.x, outer.y, outer.w, outer.h);\r\n\r\n\t\tif (outer.w === inner.w && outer.h === inner.h) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(outer.x, outer.y, outer.w, outer.h);\r\n\t\tctx.clip();\r\n\t\tctx.fillStyle = vm.borderColor;\r\n\t\tctx.rect(inner.x, inner.y, inner.w, inner.h);\r\n\t\tctx.fill('evenodd');\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\theight: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm.base - vm.y;\r\n\t},\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\treturn inRange(this._view, mouseX, mouseY);\r\n\t},\r\n\r\n\tinLabelRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn isVertical(vm)\r\n\t\t\t? inRange(vm, mouseX, null)\r\n\t\t\t: inRange(vm, null, mouseY);\r\n\t},\r\n\r\n\tinXRange: function(mouseX) {\r\n\t\treturn inRange(this._view, mouseX, null);\r\n\t},\r\n\r\n\tinYRange: function(mouseY) {\r\n\t\treturn inRange(this._view, null, mouseY);\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar x, y;\r\n\t\tif (isVertical(vm)) {\r\n\t\t\tx = vm.x;\r\n\t\t\ty = (vm.y + vm.base) / 2;\r\n\t\t} else {\r\n\t\t\tx = (vm.x + vm.base) / 2;\r\n\t\t\ty = vm.y;\r\n\t\t}\r\n\r\n\t\treturn {x: x, y: y};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\r\n\t\treturn isVertical(vm)\r\n\t\t\t? vm.width * Math.abs(vm.y - vm.base)\r\n\t\t\t: vm.height * Math.abs(vm.x - vm.base);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t}\r\n});\n\nvar elements = {};\r\nvar Arc = element_arc;\r\nvar Line = element_line;\r\nvar Point = element_point;\r\nvar Rectangle = element_rectangle;\nelements.Arc = Arc;\nelements.Line = Line;\nelements.Point = Point;\nelements.Rectangle = Rectangle;\n\nvar deprecated = helpers$1._deprecated;\r\nvar valueOrDefault$3 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('bar', {\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tbar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * Computes the \"optimal\" sample size to maintain bars equally sized while preventing overlap.\r\n * @private\r\n */\r\nfunction computeMinSampleSize(scale, pixels) {\r\n\tvar min = scale._length;\r\n\tvar prev, curr, i, ilen;\r\n\r\n\tfor (i = 1, ilen = pixels.length; i < ilen; ++i) {\r\n\t\tmin = Math.min(min, Math.abs(pixels[i] - pixels[i - 1]));\r\n\t}\r\n\r\n\tfor (i = 0, ilen = scale.getTicks().length; i < ilen; ++i) {\r\n\t\tcurr = scale.getPixelForTick(i);\r\n\t\tmin = i > 0 ? Math.min(min, Math.abs(curr - prev)) : min;\r\n\t\tprev = curr;\r\n\t}\r\n\r\n\treturn min;\r\n}\r\n\r\n/**\r\n * Computes an \"ideal\" category based on the absolute bar thickness or, if undefined or null,\r\n * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This\r\n * mode currently always generates bars equally sized (until we introduce scriptable options?).\r\n * @private\r\n */\r\nfunction computeFitCategoryTraits(index, ruler, options) {\r\n\tvar thickness = options.barThickness;\r\n\tvar count = ruler.stackCount;\r\n\tvar curr = ruler.pixels[index];\r\n\tvar min = helpers$1.isNullOrUndef(thickness)\r\n\t\t? computeMinSampleSize(ruler.scale, ruler.pixels)\r\n\t\t: -1;\r\n\tvar size, ratio;\r\n\r\n\tif (helpers$1.isNullOrUndef(thickness)) {\r\n\t\tsize = min * options.categoryPercentage;\r\n\t\tratio = options.barPercentage;\r\n\t} else {\r\n\t\t// When bar thickness is enforced, category and bar percentages are ignored.\r\n\t\t// Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')\r\n\t\t// and deprecate barPercentage since this value is ignored when thickness is absolute.\r\n\t\tsize = thickness * count;\r\n\t\tratio = 1;\r\n\t}\r\n\r\n\treturn {\r\n\t\tchunk: size / count,\r\n\t\tratio: ratio,\r\n\t\tstart: curr - (size / 2)\r\n\t};\r\n}\r\n\r\n/**\r\n * Computes an \"optimal\" category that globally arranges bars side by side (no gap when\r\n * percentage options are 1), based on the previous and following categories. This mode\r\n * generates bars with different widths when data are not evenly spaced.\r\n * @private\r\n */\r\nfunction computeFlexCategoryTraits(index, ruler, options) {\r\n\tvar pixels = ruler.pixels;\r\n\tvar curr = pixels[index];\r\n\tvar prev = index > 0 ? pixels[index - 1] : null;\r\n\tvar next = index < pixels.length - 1 ? pixels[index + 1] : null;\r\n\tvar percent = options.categoryPercentage;\r\n\tvar start, size;\r\n\r\n\tif (prev === null) {\r\n\t\t// first data: its size is double based on the next point or,\r\n\t\t// if it's also the last data, we use the scale size.\r\n\t\tprev = curr - (next === null ? ruler.end - ruler.start : next - curr);\r\n\t}\r\n\r\n\tif (next === null) {\r\n\t\t// last data: its size is also double based on the previous point.\r\n\t\tnext = curr + curr - prev;\r\n\t}\r\n\r\n\tstart = curr - (curr - Math.min(prev, next)) / 2 * percent;\r\n\tsize = Math.abs(next - prev) / 2 * percent;\r\n\r\n\treturn {\r\n\t\tchunk: size / ruler.stackCount,\r\n\t\tratio: options.barPercentage,\r\n\t\tstart: start\r\n\t};\r\n}\r\n\r\nvar controller_bar = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Rectangle,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderSkipped',\r\n\t\t'borderWidth',\r\n\t\t'barPercentage',\r\n\t\t'barThickness',\r\n\t\t'categoryPercentage',\r\n\t\t'maxBarThickness',\r\n\t\t'minBarLength'\r\n\t],\r\n\r\n\tinitialize: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta, scaleOpts;\r\n\r\n\t\tcore_datasetController.prototype.initialize.apply(me, arguments);\r\n\r\n\t\tmeta = me.getMeta();\r\n\t\tmeta.stack = me.getDataset().stack;\r\n\t\tmeta.bar = true;\r\n\r\n\t\tscaleOpts = me._getIndexScale().options;\r\n\t\tdeprecated('bar chart', scaleOpts.barPercentage, 'scales.[x/y]Axes.barPercentage', 'dataset.barPercentage');\r\n\t\tdeprecated('bar chart', scaleOpts.barThickness, 'scales.[x/y]Axes.barThickness', 'dataset.barThickness');\r\n\t\tdeprecated('bar chart', scaleOpts.categoryPercentage, 'scales.[x/y]Axes.categoryPercentage', 'dataset.categoryPercentage');\r\n\t\tdeprecated('bar chart', me._getValueScale().options.minBarLength, 'scales.[x/y]Axes.minBarLength', 'dataset.minBarLength');\r\n\t\tdeprecated('bar chart', scaleOpts.maxBarThickness, 'scales.[x/y]Axes.maxBarThickness', 'dataset.maxBarThickness');\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._ruler = me.getRuler();\r\n\r\n\t\tfor (i = 0, ilen = rects.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(rects[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(rectangle, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar options = me._resolveDataElementOptions(rectangle, index);\r\n\r\n\t\trectangle._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\trectangle._yScale = me.getScaleForId(meta.yAxisID);\r\n\t\trectangle._datasetIndex = me.index;\r\n\t\trectangle._index = index;\r\n\t\trectangle._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderSkipped: options.borderSkipped,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\tdatasetLabel: dataset.label,\r\n\t\t\tlabel: me.chart.data.labels[index]\r\n\t\t};\r\n\r\n\t\tif (helpers$1.isArray(dataset.data[index])) {\r\n\t\t\trectangle._model.borderSkipped = null;\r\n\t\t}\r\n\r\n\t\tme._updateElementGeometry(rectangle, index, reset, options);\r\n\r\n\t\trectangle.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateElementGeometry: function(rectangle, index, reset, options) {\r\n\t\tvar me = this;\r\n\t\tvar model = rectangle._model;\r\n\t\tvar vscale = me._getValueScale();\r\n\t\tvar base = vscale.getBasePixel();\r\n\t\tvar horizontal = vscale.isHorizontal();\r\n\t\tvar ruler = me._ruler || me.getRuler();\r\n\t\tvar vpixels = me.calculateBarValuePixels(me.index, index, options);\r\n\t\tvar ipixels = me.calculateBarIndexPixels(me.index, index, ruler, options);\r\n\r\n\t\tmodel.horizontal = horizontal;\r\n\t\tmodel.base = reset ? base : vpixels.base;\r\n\t\tmodel.x = horizontal ? reset ? base : vpixels.head : ipixels.center;\r\n\t\tmodel.y = horizontal ? ipixels.center : reset ? base : vpixels.head;\r\n\t\tmodel.height = horizontal ? ipixels.size : undefined;\r\n\t\tmodel.width = horizontal ? undefined : ipixels.size;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stacks based on groups and bar visibility.\r\n\t * @param {number} [last] - The dataset index\r\n\t * @returns {string[]} The list of stack IDs\r\n\t * @private\r\n\t */\r\n\t_getStacks: function(last) {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar stacks = [];\r\n\t\tvar i, meta;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tmeta = metasets[i];\r\n\t\t\t// stacked | meta.stack\r\n\t\t\t// | found | not found | undefined\r\n\t\t\t// false | x | x | x\r\n\t\t\t// true | | x |\r\n\t\t\t// undefined | | x | x\r\n\t\t\tif (stacked === false || stacks.indexOf(meta.stack) === -1 ||\r\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\r\n\t\t\t\tstacks.push(meta.stack);\r\n\t\t\t}\r\n\t\t\tif (meta.index === last) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn stacks;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the effective number of stacks based on groups and bar visibility.\r\n\t * @private\r\n\t */\r\n\tgetStackCount: function() {\r\n\t\treturn this._getStacks().length;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stack index for the given dataset based on groups and bar visibility.\r\n\t * @param {number} [datasetIndex] - The dataset index\r\n\t * @param {string} [name] - The stack name to find\r\n\t * @returns {number} The stack index\r\n\t * @private\r\n\t */\r\n\tgetStackIndex: function(datasetIndex, name) {\r\n\t\tvar stacks = this._getStacks(datasetIndex);\r\n\t\tvar index = (name !== undefined)\r\n\t\t\t? stacks.indexOf(name)\r\n\t\t\t: -1; // indexOf returns -1 if element is not present\r\n\r\n\t\treturn (index === -1)\r\n\t\t\t? stacks.length - 1\r\n\t\t\t: index;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tgetRuler: function() {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar pixels = [];\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = me.getMeta().data.length; i < ilen; ++i) {\r\n\t\t\tpixels.push(scale.getPixelForValue(null, i, me.index));\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tpixels: pixels,\r\n\t\t\tstart: scale._startPixel,\r\n\t\t\tend: scale._endPixel,\r\n\t\t\tstackCount: me.getStackCount(),\r\n\t\t\tscale: scale\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Note: pixel values are not clamped to the scale area.\r\n\t * @private\r\n\t */\r\n\tcalculateBarValuePixels: function(datasetIndex, index, options) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar isHorizontal = scale.isHorizontal();\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar value = scale._parseValue(datasets[datasetIndex].data[index]);\r\n\t\tvar minBarLength = options.minBarLength;\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar stack = me.getMeta().stack;\r\n\t\tvar start = value.start === undefined ? 0 : value.max >= 0 && value.min >= 0 ? value.min : value.max;\r\n\t\tvar length = value.start === undefined ? value.end : value.max >= 0 && value.min >= 0 ? value.max - value.min : value.min - value.max;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar i, imeta, ivalue, base, head, size, stackLength;\r\n\r\n\t\tif (stacked || (stacked === undefined && stack !== undefined)) {\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\timeta = metasets[i];\r\n\r\n\t\t\t\tif (imeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (imeta.stack === stack) {\r\n\t\t\t\t\tstackLength = scale._parseValue(datasets[imeta.index].data[index]);\r\n\t\t\t\t\tivalue = stackLength.start === undefined ? stackLength.end : stackLength.min >= 0 && stackLength.max >= 0 ? stackLength.max : stackLength.min;\r\n\r\n\t\t\t\t\tif ((value.min < 0 && ivalue < 0) || (value.max >= 0 && ivalue > 0)) {\r\n\t\t\t\t\t\tstart += ivalue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tbase = scale.getPixelForValue(start);\r\n\t\thead = scale.getPixelForValue(start + length);\r\n\t\tsize = head - base;\r\n\r\n\t\tif (minBarLength !== undefined && Math.abs(size) < minBarLength) {\r\n\t\t\tsize = minBarLength;\r\n\t\t\tif (length >= 0 && !isHorizontal || length < 0 && isHorizontal) {\r\n\t\t\t\thead = base - minBarLength;\r\n\t\t\t} else {\r\n\t\t\t\thead = base + minBarLength;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tsize: size,\r\n\t\t\tbase: base,\r\n\t\t\thead: head,\r\n\t\t\tcenter: head + size / 2\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tcalculateBarIndexPixels: function(datasetIndex, index, ruler, options) {\r\n\t\tvar me = this;\r\n\t\tvar range = options.barThickness === 'flex'\r\n\t\t\t? computeFlexCategoryTraits(index, ruler, options)\r\n\t\t\t: computeFitCategoryTraits(index, ruler, options);\r\n\r\n\t\tvar stackIndex = me.getStackIndex(datasetIndex, me.getMeta().stack);\r\n\t\tvar center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\r\n\t\tvar size = Math.min(\r\n\t\t\tvalueOrDefault$3(options.maxBarThickness, Infinity),\r\n\t\t\trange.chunk * range.ratio);\r\n\r\n\t\treturn {\r\n\t\t\tbase: center - size / 2,\r\n\t\t\thead: center + size / 2,\r\n\t\t\tcenter: center,\r\n\t\t\tsize: size\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar ilen = rects.length;\r\n\t\tvar i = 0;\r\n\r\n\t\thelpers$1.canvas.clipArea(chart.ctx, chart.chartArea);\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tvar val = scale._parseValue(dataset.data[i]);\r\n\t\t\tif (!isNaN(val.min) && !isNaN(val.max)) {\r\n\t\t\t\trects[i].draw();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar values = helpers$1.extend({}, core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments));\r\n\t\tvar indexOpts = me._getIndexScale().options;\r\n\t\tvar valueOpts = me._getValueScale().options;\r\n\r\n\t\tvalues.barPercentage = valueOrDefault$3(indexOpts.barPercentage, values.barPercentage);\r\n\t\tvalues.barThickness = valueOrDefault$3(indexOpts.barThickness, values.barThickness);\r\n\t\tvalues.categoryPercentage = valueOrDefault$3(indexOpts.categoryPercentage, values.categoryPercentage);\r\n\t\tvalues.maxBarThickness = valueOrDefault$3(indexOpts.maxBarThickness, values.maxBarThickness);\r\n\t\tvalues.minBarLength = valueOrDefault$3(valueOpts.minBarLength, values.minBarLength);\r\n\r\n\t\treturn values;\r\n\t}\r\n\r\n});\n\nvar valueOrDefault$4 = helpers$1.valueOrDefault;\r\nvar resolve$1 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('bubble', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear', // bubble should probably use a linear scale by default\r\n\t\t\tposition: 'bottom',\r\n\t\t\tid: 'x-axis-0' // need an ID so datasets can reference the scale\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\t// Title doesn't make sense for scatter since we format the data as a point\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\tvar datasetLabel = data.datasets[item.datasetIndex].label || '';\r\n\t\t\t\tvar dataPoint = data.datasets[item.datasetIndex].data[item.index];\r\n\t\t\t\treturn datasetLabel + ': (' + item.xLabel + ', ' + item.yLabel + ', ' + dataPoint.r + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_bubble = core_datasetController.extend({\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t\t'hoverRadius',\r\n\t\t'hitRadius',\r\n\t\t'pointStyle',\r\n\t\t'rotation'\r\n\t],\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data;\r\n\r\n\t\t// Update Points\r\n\t\thelpers$1.each(points, function(point, index) {\r\n\t\t\tme.updateElement(point, index, reset);\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tvar yScale = me.getScaleForId(meta.yAxisID);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar data = me.getDataset().data[index];\r\n\t\tvar dsIndex = me.index;\r\n\r\n\t\tvar x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex);\r\n\t\tvar y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex);\r\n\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = dsIndex;\r\n\t\tpoint._index = index;\r\n\t\tpoint._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\thitRadius: options.hitRadius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tradius: reset ? 0 : options.radius,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t};\r\n\r\n\t\tpoint.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$4(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$4(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$4(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = options.radius + options.hoverRadius;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(point, index) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar data = dataset.data[index] || {};\r\n\t\tvar values = core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments);\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// In case values were cached (and thus frozen), we need to clone the values\r\n\t\tif (me._cachedDataOpts === values) {\r\n\t\t\tvalues = helpers$1.extend({}, values);\r\n\t\t}\r\n\r\n\t\t// Custom radius resolution\r\n\t\tvalues.radius = resolve$1([\r\n\t\t\tcustom.radius,\r\n\t\t\tdata.r,\r\n\t\t\tme._config.radius,\r\n\t\t\tchart.options.elements.point.radius\r\n\t\t], context, index);\r\n\r\n\t\treturn values;\r\n\t}\r\n});\n\nvar valueOrDefault$5 = helpers$1.valueOrDefault;\r\n\r\nvar PI$1 = Math.PI;\r\nvar DOUBLE_PI$1 = PI$1 * 2;\r\nvar HALF_PI$1 = PI$1 / 2;\r\n\r\ncore_defaults._set('doughnut', {\r\n\tanimation: {\r\n\t\t// Boolean - Whether we animate the rotation of the Doughnut\r\n\t\tanimateRotate: true,\r\n\t\t// Boolean - Whether we animate scaling the Doughnut from the centre\r\n\t\tanimateScale: false\r\n\t},\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t// toggle visibility of index if exists\r\n\t\t\t\tif (meta.data[index]) {\r\n\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// The percentage of the chart that we cut out of the middle.\r\n\tcutoutPercentage: 50,\r\n\r\n\t// The rotation of the chart, where the first data arc begins.\r\n\trotation: -HALF_PI$1,\r\n\r\n\t// The total circumference of the chart.\r\n\tcircumference: DOUBLE_PI$1,\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(tooltipItem, data) {\r\n\t\t\t\tvar dataLabel = data.labels[tooltipItem.index];\r\n\t\t\t\tvar value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n\r\n\t\t\t\tif (helpers$1.isArray(dataLabel)) {\r\n\t\t\t\t\t// show value on first line of multiline label\r\n\t\t\t\t\t// need to clone because we are changing the value\r\n\t\t\t\t\tdataLabel = dataLabel.slice();\r\n\t\t\t\t\tdataLabel[0] += value;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdataLabel += value;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn dataLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_doughnut = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t// Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly\r\n\tgetRingIndex: function(datasetIndex) {\r\n\t\tvar ringIndex = 0;\r\n\r\n\t\tfor (var j = 0; j < datasetIndex; ++j) {\r\n\t\t\tif (this.chart.isDatasetVisible(j)) {\r\n\t\t\t\t++ringIndex;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringIndex;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar ratioX = 1;\r\n\t\tvar ratioY = 1;\r\n\t\tvar offsetX = 0;\r\n\t\tvar offsetY = 0;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar arcs = meta.data;\r\n\t\tvar cutout = opts.cutoutPercentage / 100 || 0;\r\n\t\tvar circumference = opts.circumference;\r\n\t\tvar chartWeight = me._getRingWeight(me.index);\r\n\t\tvar maxWidth, maxHeight, i, ilen;\r\n\r\n\t\t// If the chart's circumference isn't a full circle, calculate size as a ratio of the width/height of the arc\r\n\t\tif (circumference < DOUBLE_PI$1) {\r\n\t\t\tvar startAngle = opts.rotation % DOUBLE_PI$1;\r\n\t\t\tstartAngle += startAngle >= PI$1 ? -DOUBLE_PI$1 : startAngle < -PI$1 ? DOUBLE_PI$1 : 0;\r\n\t\t\tvar endAngle = startAngle + circumference;\r\n\t\t\tvar startX = Math.cos(startAngle);\r\n\t\t\tvar startY = Math.sin(startAngle);\r\n\t\t\tvar endX = Math.cos(endAngle);\r\n\t\t\tvar endY = Math.sin(endAngle);\r\n\t\t\tvar contains0 = (startAngle <= 0 && endAngle >= 0) || endAngle >= DOUBLE_PI$1;\r\n\t\t\tvar contains90 = (startAngle <= HALF_PI$1 && endAngle >= HALF_PI$1) || endAngle >= DOUBLE_PI$1 + HALF_PI$1;\r\n\t\t\tvar contains180 = startAngle === -PI$1 || endAngle >= PI$1;\r\n\t\t\tvar contains270 = (startAngle <= -HALF_PI$1 && endAngle >= -HALF_PI$1) || endAngle >= PI$1 + HALF_PI$1;\r\n\t\t\tvar minX = contains180 ? -1 : Math.min(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar minY = contains270 ? -1 : Math.min(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tvar maxX = contains0 ? 1 : Math.max(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar maxY = contains90 ? 1 : Math.max(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tratioX = (maxX - minX) / 2;\r\n\t\t\tratioY = (maxY - minY) / 2;\r\n\t\t\toffsetX = -(maxX + minX) / 2;\r\n\t\t\toffsetY = -(maxY + minY) / 2;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t}\r\n\r\n\t\tchart.borderWidth = me.getMaxBorderWidth();\r\n\t\tmaxWidth = (chartArea.right - chartArea.left - chart.borderWidth) / ratioX;\r\n\t\tmaxHeight = (chartArea.bottom - chartArea.top - chart.borderWidth) / ratioY;\r\n\t\tchart.outerRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\r\n\t\tchart.innerRadius = Math.max(chart.outerRadius * cutout, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / (me._getVisibleDatasetWeightTotal() || 1);\r\n\t\tchart.offsetX = offsetX * chart.outerRadius;\r\n\t\tchart.offsetY = offsetY * chart.outerRadius;\r\n\r\n\t\tmeta.total = me.calculateTotal();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - chart.radiusLength * me._getRingWeightOffset(me.index);\r\n\t\tme.innerRadius = Math.max(me.outerRadius - chart.radiusLength * chartWeight, 0);\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar centerX = (chartArea.left + chartArea.right) / 2;\r\n\t\tvar centerY = (chartArea.top + chartArea.bottom) / 2;\r\n\t\tvar startAngle = opts.rotation; // non reset case handled later\r\n\t\tvar endAngle = opts.rotation; // non reset case handled later\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / DOUBLE_PI$1);\r\n\t\tvar innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius;\r\n\t\tvar outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius;\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX + chart.offsetX,\r\n\t\t\t\ty: centerY + chart.offsetY,\r\n\t\t\t\tstartAngle: startAngle,\r\n\t\t\t\tendAngle: endAngle,\r\n\t\t\t\tcircumference: circumference,\r\n\t\t\t\touterRadius: outerRadius,\r\n\t\t\t\tinnerRadius: innerRadius,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tvar model = arc._model;\r\n\r\n\t\t// Set correct angles if not resetting\r\n\t\tif (!reset || !animationOpts.animateRotate) {\r\n\t\t\tif (index === 0) {\r\n\t\t\t\tmodel.startAngle = opts.rotation;\r\n\t\t\t} else {\r\n\t\t\t\tmodel.startAngle = me.getMeta().data[index - 1]._model.endAngle;\r\n\t\t\t}\r\n\r\n\t\t\tmodel.endAngle = model.startAngle + model.circumference;\r\n\t\t}\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcalculateTotal: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar total = 0;\r\n\t\tvar value;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tvalue = dataset.data[index];\r\n\t\t\tif (!isNaN(value) && !element.hidden) {\r\n\t\t\t\ttotal += Math.abs(value);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t/* if (total === 0) {\r\n\t\t\ttotal = NaN;\r\n\t\t}*/\r\n\r\n\t\treturn total;\r\n\t},\r\n\r\n\tcalculateCircumference: function(value) {\r\n\t\tvar total = this.getMeta().total;\r\n\t\tif (total > 0 && !isNaN(value)) {\r\n\t\t\treturn DOUBLE_PI$1 * (Math.abs(value) / total);\r\n\t\t}\r\n\t\treturn 0;\r\n\t},\r\n\r\n\t// gets the max border or hover width to properly scale pie charts\r\n\tgetMaxBorderWidth: function(arcs) {\r\n\t\tvar me = this;\r\n\t\tvar max = 0;\r\n\t\tvar chart = me.chart;\r\n\t\tvar i, ilen, meta, arc, controller, options, borderWidth, hoverWidth;\r\n\r\n\t\tif (!arcs) {\r\n\t\t\t// Find the outmost visible dataset\r\n\t\t\tfor (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\r\n\t\t\t\tif (chart.isDatasetVisible(i)) {\r\n\t\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t\tarcs = meta.data;\r\n\t\t\t\t\tif (i !== me.index) {\r\n\t\t\t\t\t\tcontroller = meta.controller;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!arcs) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarc = arcs[i];\r\n\t\t\tif (controller) {\r\n\t\t\t\tcontroller._configure();\r\n\t\t\t\toptions = controller._resolveDataElementOptions(arc, i);\r\n\t\t\t} else {\r\n\t\t\t\toptions = arc._options;\r\n\t\t\t}\r\n\t\t\tif (options.borderAlign !== 'inner') {\r\n\t\t\t\tborderWidth = options.borderWidth;\r\n\t\t\t\thoverWidth = options.hoverBorderWidth;\r\n\r\n\t\t\t\tmax = borderWidth > max ? borderWidth : max;\r\n\t\t\t\tmax = hoverWidth > max ? hoverWidth : max;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn max;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$5(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$5(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$5(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * Get radius length offset of the dataset in relation to the visible datasets weights. This allows determining the inner and outer radius correctly\r\n\t * @private\r\n\t */\r\n\t_getRingWeightOffset: function(datasetIndex) {\r\n\t\tvar ringWeightOffset = 0;\r\n\r\n\t\tfor (var i = 0; i < datasetIndex; ++i) {\r\n\t\t\tif (this.chart.isDatasetVisible(i)) {\r\n\t\t\t\tringWeightOffset += this._getRingWeight(i);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringWeightOffset;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getRingWeight: function(dataSetIndex) {\r\n\t\treturn Math.max(valueOrDefault$5(this.chart.data.datasets[dataSetIndex].weight, 1), 0);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the sum of all visibile data set weights. This value can be 0.\r\n\t * @private\r\n\t */\r\n\t_getVisibleDatasetWeightTotal: function() {\r\n\t\treturn this._getRingWeightOffset(this.chart.data.datasets.length);\r\n\t}\r\n});\n\ncore_defaults._set('horizontalBar', {\r\n\thover: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tposition: 'left',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}]\r\n\t},\r\n\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tborderSkipped: 'left'\r\n\t\t}\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\thorizontalBar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_horizontalBar = controller_bar.extend({\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t}\r\n});\n\nvar valueOrDefault$6 = helpers$1.valueOrDefault;\r\nvar resolve$2 = helpers$1.options.resolve;\r\nvar isPointInArea = helpers$1.canvas._isPointInArea;\r\n\r\ncore_defaults._set('line', {\r\n\tshowLines: true,\r\n\tspanGaps: false,\r\n\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tid: 'x-axis-0'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\nfunction scaleClip(scale, halfBorderWidth) {\r\n\tvar tickOpts = scale && scale.options.ticks || {};\r\n\tvar reverse = tickOpts.reverse;\r\n\tvar min = tickOpts.min === undefined ? halfBorderWidth : 0;\r\n\tvar max = tickOpts.max === undefined ? halfBorderWidth : 0;\r\n\treturn {\r\n\t\tstart: reverse ? max : min,\r\n\t\tend: reverse ? min : max\r\n\t};\r\n}\r\n\r\nfunction defaultClip(xScale, yScale, borderWidth) {\r\n\tvar halfBorderWidth = borderWidth / 2;\r\n\tvar x = scaleClip(xScale, halfBorderWidth);\r\n\tvar y = scaleClip(yScale, halfBorderWidth);\r\n\r\n\treturn {\r\n\t\ttop: y.end,\r\n\t\tright: x.end,\r\n\t\tbottom: y.start,\r\n\t\tleft: x.start\r\n\t};\r\n}\r\n\r\nfunction toClip(value) {\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = value.top;\r\n\t\tr = value.right;\r\n\t\tb = value.bottom;\r\n\t\tl = value.left;\r\n\t} else {\r\n\t\tt = r = b = l = value;\r\n\t}\r\n\r\n\treturn {\r\n\t\ttop: t,\r\n\t\tright: r,\r\n\t\tbottom: b,\r\n\t\tleft: l\r\n\t};\r\n}\r\n\r\n\r\nvar controller_line = core_datasetController.extend({\r\n\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth',\r\n\t\t'cubicInterpolationMode',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar options = me.chart.options;\r\n\t\tvar config = me._config;\r\n\t\tvar showLine = me._showLine = valueOrDefault$6(config.showLine, options.showLines);\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tme._yScale = me.getScaleForId(meta.yAxisID);\r\n\r\n\t\t// Update Line\r\n\t\tif (showLine) {\r\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\t\tconfig.lineTension = config.tension;\r\n\t\t\t}\r\n\r\n\t\t\t// Utility\r\n\t\t\tline._scale = me._yScale;\r\n\t\t\tline._datasetIndex = me.index;\r\n\t\t\t// Data\r\n\t\t\tline._children = points;\r\n\t\t\t// Model\r\n\t\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\t\tline.pivot();\r\n\t\t}\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\tif (showLine && line._model.tension !== 0) {\r\n\t\t\tme.updateBezierControlPoints();\r\n\t\t}\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar datasetIndex = me.index;\r\n\t\tvar value = dataset.data[index];\r\n\t\tvar xScale = me._xScale;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar x, y;\r\n\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\r\n\t\tx = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex);\r\n\t\ty = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);\r\n\r\n\t\t// Utility\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = datasetIndex;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$6(custom.tension, lineModel ? lineModel.tension : 0),\r\n\t\t\tsteppedLine: lineModel ? lineModel.steppedLine : false,\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element) {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = me.chart.options;\r\n\t\tvar lineOptions = options.elements.line;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\t// The default behavior of lines is to break at null values, according\r\n\t\t// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158\r\n\t\t// This option gives lines the ability to span gaps\r\n\t\tvalues.spanGaps = valueOrDefault$6(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$6(config.lineTension, lineOptions.tension);\r\n\t\tvalues.steppedLine = resolve$2([custom.steppedLine, config.steppedLine, lineOptions.stepped]);\r\n\t\tvalues.clip = toClip(valueOrDefault$6(config.clip, defaultClip(me._xScale, me._yScale, values.borderWidth)));\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tcalculatePointY: function(value, index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar sumPos = 0;\r\n\t\tvar sumNeg = 0;\r\n\t\tvar i, ds, dsMeta, stackedRightValue, rightValue, metasets, ilen;\r\n\r\n\t\tif (yScale.options.stacked) {\r\n\t\t\trightValue = +yScale.getRightValue(value);\r\n\t\t\tmetasets = chart._getSortedVisibleDatasetMetas();\r\n\t\t\tilen = metasets.length;\r\n\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\tdsMeta = metasets[i];\r\n\t\t\t\tif (dsMeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tds = chart.data.datasets[dsMeta.index];\r\n\t\t\t\tif (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id) {\r\n\t\t\t\t\tstackedRightValue = +yScale.getRightValue(ds.data[index]);\r\n\t\t\t\t\tif (stackedRightValue < 0) {\r\n\t\t\t\t\t\tsumNeg += stackedRightValue || 0;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsumPos += stackedRightValue || 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (rightValue < 0) {\r\n\t\t\t\treturn yScale.getPixelForValue(sumNeg + rightValue);\r\n\t\t\t}\r\n\t\t\treturn yScale.getPixelForValue(sumPos + rightValue);\r\n\t\t}\r\n\t\treturn yScale.getPixelForValue(value);\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (lineModel.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tif (lineModel.cubicInterpolationMode === 'monotone') {\r\n\t\t\thelpers$1.splineCurveMonotone(points);\r\n\t\t} else {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\t\thelpers$1.previousItem(points, i)._model,\r\n\t\t\t\t\tmodel,\r\n\t\t\t\t\thelpers$1.nextItem(points, i)._model,\r\n\t\t\t\t\tlineModel.tension\r\n\t\t\t\t);\r\n\t\t\t\tmodel.controlPointPreviousX = controlPoints.previous.x;\r\n\t\t\t\tmodel.controlPointPreviousY = controlPoints.previous.y;\r\n\t\t\t\tmodel.controlPointNextX = controlPoints.next.x;\r\n\t\t\t\tmodel.controlPointNextY = controlPoints.next.y;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (chart.options.elements.line.capBezierPoints) {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tif (isPointInArea(model, area)) {\r\n\t\t\t\t\tif (i > 0 && isPointInArea(points[i - 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (i < points.length - 1 && isPointInArea(points[i + 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data || [];\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar canvas = chart.canvas;\r\n\t\tvar i = 0;\r\n\t\tvar ilen = points.length;\r\n\t\tvar clip;\r\n\r\n\t\tif (me._showLine) {\r\n\t\t\tclip = meta.dataset._model.clip;\r\n\r\n\t\t\thelpers$1.canvas.clipArea(chart.ctx, {\r\n\t\t\t\tleft: clip.left === false ? 0 : area.left - clip.left,\r\n\t\t\t\tright: clip.right === false ? canvas.width : area.right + clip.right,\r\n\t\t\t\ttop: clip.top === false ? 0 : area.top - clip.top,\r\n\t\t\t\tbottom: clip.bottom === false ? canvas.height : area.bottom + clip.bottom\r\n\t\t\t});\r\n\r\n\t\t\tmeta.dataset.draw();\r\n\r\n\t\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t\t}\r\n\r\n\t\t// Draw the points\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tpoints[i].draw(area);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$6(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$6(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$6(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$6(options.hoverRadius, options.radius);\r\n\t},\r\n});\n\nvar resolve$3 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('polarArea', {\r\n\tscale: {\r\n\t\ttype: 'radialLinear',\r\n\t\tangleLines: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tgridLines: {\r\n\t\t\tcircular: true\r\n\t\t},\r\n\t\tpointLabels: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tticks: {\r\n\t\t\tbeginAtZero: true\r\n\t\t}\r\n\t},\r\n\r\n\t// Boolean - Whether to animate the rotation of the chart\r\n\tanimation: {\r\n\t\tanimateRotate: true,\r\n\t\tanimateScale: true\r\n\t},\r\n\r\n\tstartAngle: -0.5 * Math.PI,\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\treturn data.labels[item.index] + ': ' + item.yLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_polarArea = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar start = me.chart.options.startAngle || 0;\r\n\t\tvar starts = me._starts = [];\r\n\t\tvar angles = me._angles = [];\r\n\t\tvar arcs = meta.data;\r\n\t\tvar i, ilen, angle;\r\n\r\n\t\tme._updateRadius();\r\n\r\n\t\tmeta.count = me.countVisibleElements();\r\n\r\n\t\tfor (i = 0, ilen = dataset.data.length; i < ilen; i++) {\r\n\t\t\tstarts[i] = start;\r\n\t\t\tangle = me._computeAngle(i);\r\n\t\t\tangles[i] = angle;\r\n\t\t\tstart += angle;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateRadius: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\r\n\r\n\t\tchart.outerRadius = Math.max(minSize / 2, 0);\r\n\t\tchart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.index);\r\n\t\tme.innerRadius = me.outerRadius - chart.radiusLength;\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar scale = chart.scale;\r\n\t\tvar labels = chart.data.labels;\r\n\r\n\t\tvar centerX = scale.xCenter;\r\n\t\tvar centerY = scale.yCenter;\r\n\r\n\t\t// var negHalfPI = -0.5 * Math.PI;\r\n\t\tvar datasetStartAngle = opts.startAngle;\r\n\t\tvar distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar startAngle = me._starts[index];\r\n\t\tvar endAngle = startAngle + (arc.hidden ? 0 : me._angles[index]);\r\n\r\n\t\tvar resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\t\t\t_scale: scale,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX,\r\n\t\t\t\ty: centerY,\r\n\t\t\t\tinnerRadius: 0,\r\n\t\t\t\touterRadius: reset ? resetRadius : distance,\r\n\t\t\t\tstartAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle,\r\n\t\t\t\tendAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(labels, index, labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcountVisibleElements: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar count = 0;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tif (!isNaN(dataset.data[index]) && !element.hidden) {\r\n\t\t\t\tcount++;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn count;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\t\tvar valueOrDefault = helpers$1.valueOrDefault;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_computeAngle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar count = this.getMeta().count;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\r\n\t\tif (isNaN(dataset.data[index]) || meta.data[index].hidden) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: me.chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\treturn resolve$3([\r\n\t\t\tme.chart.options.elements.arc.angle,\r\n\t\t\t(2 * Math.PI) / count\r\n\t\t], context, index);\r\n\t}\r\n});\n\ncore_defaults._set('pie', helpers$1.clone(core_defaults.doughnut));\r\ncore_defaults._set('pie', {\r\n\tcutoutPercentage: 0\r\n});\r\n\r\n// Pie charts are Doughnut chart with different defaults\r\nvar controller_pie = controller_doughnut;\n\nvar valueOrDefault$7 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('radar', {\r\n\tspanGaps: false,\r\n\tscale: {\r\n\t\ttype: 'radialLinear'\r\n\t},\r\n\telements: {\r\n\t\tline: {\r\n\t\t\tfill: 'start',\r\n\t\t\ttension: 0 // no bezier in radar\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_radar = core_datasetController.extend({\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderWidth',\r\n\t\t'borderColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar config = me._config;\r\n\t\tvar i, ilen;\r\n\r\n\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\tconfig.lineTension = config.tension;\r\n\t\t}\r\n\r\n\t\t// Utility\r\n\t\tline._scale = scale;\r\n\t\tline._datasetIndex = me.index;\r\n\t\t// Data\r\n\t\tline._children = points;\r\n\t\tline._loop = true;\r\n\t\t// Model\r\n\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\tline.pivot();\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\t// Update bezier control points\r\n\t\tme.updateBezierControlPoints();\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar pointPosition = scale.getPointPositionForValue(index, dataset.data[index]);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar lineModel = me.getMeta().dataset._model;\r\n\t\tvar x = reset ? scale.xCenter : pointPosition.x;\r\n\t\tvar y = reset ? scale.yCenter : pointPosition.y;\r\n\r\n\t\t// Utility\r\n\t\tpoint._scale = scale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = me.index;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x, // value not used in dataset scale, but we want a consistent API between scales\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$7(custom.tension, lineModel ? lineModel.tension : 0),\r\n\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar options = me.chart.options;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\tvalues.spanGaps = valueOrDefault$7(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$7(config.lineTension, options.elements.line.tension);\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar area = me.chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (meta.dataset._model.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tmodel = points[i]._model;\r\n\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\thelpers$1.previousItem(points, i, true)._model,\r\n\t\t\t\tmodel,\r\n\t\t\t\thelpers$1.nextItem(points, i, true)._model,\r\n\t\t\t\tmodel.tension\r\n\t\t\t);\r\n\r\n\t\t\t// Prevent the bezier going outside of the bounds of the graph\r\n\t\t\tmodel.controlPointPreviousX = capControlPoint(controlPoints.previous.x, area.left, area.right);\r\n\t\t\tmodel.controlPointPreviousY = capControlPoint(controlPoints.previous.y, area.top, area.bottom);\r\n\t\t\tmodel.controlPointNextX = capControlPoint(controlPoints.next.x, area.left, area.right);\r\n\t\t\tmodel.controlPointNextY = capControlPoint(controlPoints.next.y, area.top, area.bottom);\r\n\t\t}\r\n\t},\r\n\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$7(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$7(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$7(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$7(options.hoverRadius, options.radius);\r\n\t}\r\n});\n\ncore_defaults._set('scatter', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\tid: 'x-axis-1', // need an ID so datasets can reference the scale\r\n\t\t\ttype: 'linear', // scatter should not use a category axis\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\tid: 'y-axis-1',\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn ''; // doesn't make sense for scatter since data are formatted as a point\r\n\t\t\t},\r\n\t\t\tlabel: function(item) {\r\n\t\t\t\treturn '(' + item.xLabel + ', ' + item.yLabel + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tscatter: {\r\n\t\t\tshowLine: false\r\n\t\t}\r\n\t}\r\n});\r\n\r\n// Scatter charts use line controllers\r\nvar controller_scatter = controller_line;\n\n// NOTE export a map in which the key represents the controller type, not\r\n// the class, and so must be CamelCase in order to be correctly retrieved\r\n// by the controller in core.controller.js (`controllers[meta.type]`).\r\n\r\nvar controllers = {\r\n\tbar: controller_bar,\r\n\tbubble: controller_bubble,\r\n\tdoughnut: controller_doughnut,\r\n\thorizontalBar: controller_horizontalBar,\r\n\tline: controller_line,\r\n\tpolarArea: controller_polarArea,\r\n\tpie: controller_pie,\r\n\tradar: controller_radar,\r\n\tscatter: controller_scatter\r\n};\n\n/**\r\n * Helper function to get relative position for an event\r\n * @param {Event|IEvent} event - The event to get the position for\r\n * @param {Chart} chart - The chart\r\n * @returns {object} the event position\r\n */\r\nfunction getRelativePosition(e, chart) {\r\n\tif (e.native) {\r\n\t\treturn {\r\n\t\t\tx: e.x,\r\n\t\t\ty: e.y\r\n\t\t};\r\n\t}\r\n\r\n\treturn helpers$1.getRelativePosition(e, chart);\r\n}\r\n\r\n/**\r\n * Helper function to traverse all of the visible elements in the chart\r\n * @param {Chart} chart - the chart\r\n * @param {function} handler - the callback to execute for each visible item\r\n */\r\nfunction parseVisibleItems(chart, handler) {\r\n\tvar metasets = chart._getSortedVisibleDatasetMetas();\r\n\tvar metadata, i, j, ilen, jlen, element;\r\n\r\n\tfor (i = 0, ilen = metasets.length; i < ilen; ++i) {\r\n\t\tmetadata = metasets[i].data;\r\n\t\tfor (j = 0, jlen = metadata.length; j < jlen; ++j) {\r\n\t\t\telement = metadata[j];\r\n\t\t\tif (!element._view.skip) {\r\n\t\t\t\thandler(element);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Helper function to get the items that intersect the event position\r\n * @param {ChartElement[]} items - elements to filter\r\n * @param {object} position - the point to be nearest to\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getIntersectItems(chart, position) {\r\n\tvar elements = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * Helper function to get the items nearest to the event position considering all visible items in teh chart\r\n * @param {Chart} chart - the chart to look at elements from\r\n * @param {object} position - the point to be nearest to\r\n * @param {boolean} intersect - if true, only consider items that intersect the position\r\n * @param {function} distanceMetric - function to provide the distance between points\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getNearestItems(chart, position, intersect, distanceMetric) {\r\n\tvar minDistance = Number.POSITIVE_INFINITY;\r\n\tvar nearestItems = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (intersect && !element.inRange(position.x, position.y)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar center = element.getCenterPoint();\r\n\t\tvar distance = distanceMetric(position, center);\r\n\t\tif (distance < minDistance) {\r\n\t\t\tnearestItems = [element];\r\n\t\t\tminDistance = distance;\r\n\t\t} else if (distance === minDistance) {\r\n\t\t\t// Can have multiple items at the same distance in which case we sort by size\r\n\t\t\tnearestItems.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn nearestItems;\r\n}\r\n\r\n/**\r\n * Get a distance metric function for two points based on the\r\n * axis mode setting\r\n * @param {string} axis - the axis mode. x|y|xy\r\n */\r\nfunction getDistanceMetricForAxis(axis) {\r\n\tvar useX = axis.indexOf('x') !== -1;\r\n\tvar useY = axis.indexOf('y') !== -1;\r\n\r\n\treturn function(pt1, pt2) {\r\n\t\tvar deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\r\n\t\tvar deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\r\n\t\treturn Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\r\n\t};\r\n}\r\n\r\nfunction indexMode(chart, e, options) {\r\n\tvar position = getRelativePosition(e, chart);\r\n\t// Default axis for index mode is 'x' to match old behaviour\r\n\toptions.axis = options.axis || 'x';\r\n\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\tvar elements = [];\r\n\r\n\tif (!items.length) {\r\n\t\treturn [];\r\n\t}\r\n\r\n\tchart._getSortedVisibleDatasetMetas().forEach(function(meta) {\r\n\t\tvar element = meta.data[items[0]._index];\r\n\r\n\t\t// don't count items that are skipped (null data)\r\n\t\tif (element && !element._view.skip) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * @interface IInteractionOptions\r\n */\r\n/**\r\n * If true, only consider items that intersect the point\r\n * @name IInterfaceOptions#boolean\r\n * @type Boolean\r\n */\r\n\r\n/**\r\n * Contains interaction related functions\r\n * @namespace Chart.Interaction\r\n */\r\nvar core_interaction = {\r\n\t// Helper function for different modes\r\n\tmodes: {\r\n\t\tsingle: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar elements = [];\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\telements.push(element);\r\n\t\t\t\t\treturn elements;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn elements.slice(0, 1);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.label\r\n\t\t * @deprecated since version 2.4.0\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\tlabel: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\r\n\t\t * @function Chart.Interaction.modes.index\r\n\t\t * @since v2.4.0\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tindex: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect is false, we find the nearest item and return the items in that dataset\r\n\t\t * @function Chart.Interaction.modes.dataset\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tdataset: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\r\n\t\t\tif (items.length > 0) {\r\n\t\t\t\titems = chart.getDatasetMeta(items[0]._datasetIndex).data;\r\n\t\t\t}\r\n\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.x-axis\r\n\t\t * @deprecated since version 2.4.0. Use index mode and intersect == true\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\t'x-axis': function(chart, e) {\r\n\t\t\treturn indexMode(chart, e, {intersect: false});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Point mode returns all elements that hit test based on the event position\r\n\t\t * of the event\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tpoint: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\treturn getIntersectItems(chart, position);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * nearest mode returns the element closest to the point\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tnearest: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\treturn getNearestItems(chart, position, options.intersect, distanceMetric);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * x mode returns the elements that hit-test at the current x coordinate\r\n\t\t * @function Chart.Interaction.modes.x\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tx: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inXRange(position.x)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * y mode returns the elements that hit-test at the current y coordinate\r\n\t\t * @function Chart.Interaction.modes.y\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\ty: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inYRange(position.y)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t}\r\n\t}\r\n};\n\nvar extend = helpers$1.extend;\r\n\r\nfunction filterByPosition(array, position) {\r\n\treturn helpers$1.where(array, function(v) {\r\n\t\treturn v.pos === position;\r\n\t});\r\n}\r\n\r\nfunction sortByWeight(array, reverse) {\r\n\treturn array.sort(function(a, b) {\r\n\t\tvar v0 = reverse ? b : a;\r\n\t\tvar v1 = reverse ? a : b;\r\n\t\treturn v0.weight === v1.weight ?\r\n\t\t\tv0.index - v1.index :\r\n\t\t\tv0.weight - v1.weight;\r\n\t});\r\n}\r\n\r\nfunction wrapBoxes(boxes) {\r\n\tvar layoutBoxes = [];\r\n\tvar i, ilen, box;\r\n\r\n\tfor (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\r\n\t\tbox = boxes[i];\r\n\t\tlayoutBoxes.push({\r\n\t\t\tindex: i,\r\n\t\t\tbox: box,\r\n\t\t\tpos: box.position,\r\n\t\t\thorizontal: box.isHorizontal(),\r\n\t\t\tweight: box.weight\r\n\t\t});\r\n\t}\r\n\treturn layoutBoxes;\r\n}\r\n\r\nfunction setLayoutDims(layouts, params) {\r\n\tvar i, ilen, layout;\r\n\tfor (i = 0, ilen = layouts.length; i < ilen; ++i) {\r\n\t\tlayout = layouts[i];\r\n\t\t// store width used instead of chartArea.w in fitBoxes\r\n\t\tlayout.width = layout.horizontal\r\n\t\t\t? layout.box.fullWidth && params.availableWidth\r\n\t\t\t: params.vBoxMaxWidth;\r\n\t\t// store height used instead of chartArea.h in fitBoxes\r\n\t\tlayout.height = layout.horizontal && params.hBoxMaxHeight;\r\n\t}\r\n}\r\n\r\nfunction buildLayoutBoxes(boxes) {\r\n\tvar layoutBoxes = wrapBoxes(boxes);\r\n\tvar left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\r\n\tvar right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\r\n\tvar top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\r\n\tvar bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\r\n\r\n\treturn {\r\n\t\tleftAndTop: left.concat(top),\r\n\t\trightAndBottom: right.concat(bottom),\r\n\t\tchartArea: filterByPosition(layoutBoxes, 'chartArea'),\r\n\t\tvertical: left.concat(right),\r\n\t\thorizontal: top.concat(bottom)\r\n\t};\r\n}\r\n\r\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\r\n\treturn Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\r\n}\r\n\r\nfunction updateDims(chartArea, params, layout) {\r\n\tvar box = layout.box;\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\tvar newWidth, newHeight;\r\n\r\n\tif (layout.size) {\r\n\t\t// this layout was already counted for, lets first reduce old size\r\n\t\tchartArea[layout.pos] -= layout.size;\r\n\t}\r\n\tlayout.size = layout.horizontal ? box.height : box.width;\r\n\tchartArea[layout.pos] += layout.size;\r\n\r\n\tif (box.getPadding) {\r\n\t\tvar boxPadding = box.getPadding();\r\n\t\tmaxPadding.top = Math.max(maxPadding.top, boxPadding.top);\r\n\t\tmaxPadding.left = Math.max(maxPadding.left, boxPadding.left);\r\n\t\tmaxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\r\n\t\tmaxPadding.right = Math.max(maxPadding.right, boxPadding.right);\r\n\t}\r\n\r\n\tnewWidth = params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right');\r\n\tnewHeight = params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom');\r\n\r\n\tif (newWidth !== chartArea.w || newHeight !== chartArea.h) {\r\n\t\tchartArea.w = newWidth;\r\n\t\tchartArea.h = newHeight;\r\n\r\n\t\t// return true if chart area changed in layout's direction\r\n\t\tvar sizes = layout.horizontal ? [newWidth, chartArea.w] : [newHeight, chartArea.h];\r\n\t\treturn sizes[0] !== sizes[1] && (!isNaN(sizes[0]) || !isNaN(sizes[1]));\r\n\t}\r\n}\r\n\r\nfunction handleMaxPadding(chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction updatePos(pos) {\r\n\t\tvar change = Math.max(maxPadding[pos] - chartArea[pos], 0);\r\n\t\tchartArea[pos] += change;\r\n\t\treturn change;\r\n\t}\r\n\tchartArea.y += updatePos('top');\r\n\tchartArea.x += updatePos('left');\r\n\tupdatePos('right');\r\n\tupdatePos('bottom');\r\n}\r\n\r\nfunction getMargins(horizontal, chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction marginForPositions(positions) {\r\n\t\tvar margin = {left: 0, top: 0, right: 0, bottom: 0};\r\n\t\tpositions.forEach(function(pos) {\r\n\t\t\tmargin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\r\n\t\t});\r\n\t\treturn margin;\r\n\t}\r\n\r\n\treturn horizontal\r\n\t\t? marginForPositions(['left', 'right'])\r\n\t\t: marginForPositions(['top', 'bottom']);\r\n}\r\n\r\nfunction fitBoxes(boxes, chartArea, params) {\r\n\tvar refitBoxes = [];\r\n\tvar i, ilen, layout, box, refit, changed;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\r\n\t\tbox.update(\r\n\t\t\tlayout.width || chartArea.w,\r\n\t\t\tlayout.height || chartArea.h,\r\n\t\t\tgetMargins(layout.horizontal, chartArea)\r\n\t\t);\r\n\t\tif (updateDims(chartArea, params, layout)) {\r\n\t\t\tchanged = true;\r\n\t\t\tif (refitBoxes.length) {\r\n\t\t\t\t// Dimensions changed and there were non full width boxes before this\r\n\t\t\t\t// -> we have to refit those\r\n\t\t\t\trefit = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!box.fullWidth) { // fullWidth boxes don't need to be re-fitted in any case\r\n\t\t\trefitBoxes.push(layout);\r\n\t\t}\r\n\t}\r\n\r\n\treturn refit ? fitBoxes(refitBoxes, chartArea, params) || changed : changed;\r\n}\r\n\r\nfunction placeBoxes(boxes, chartArea, params) {\r\n\tvar userPadding = params.padding;\r\n\tvar x = chartArea.x;\r\n\tvar y = chartArea.y;\r\n\tvar i, ilen, layout, box;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\t\tif (layout.horizontal) {\r\n\t\t\tbox.left = box.fullWidth ? userPadding.left : chartArea.left;\r\n\t\t\tbox.right = box.fullWidth ? params.outerWidth - userPadding.right : chartArea.left + chartArea.w;\r\n\t\t\tbox.top = y;\r\n\t\t\tbox.bottom = y + box.height;\r\n\t\t\tbox.width = box.right - box.left;\r\n\t\t\ty = box.bottom;\r\n\t\t} else {\r\n\t\t\tbox.left = x;\r\n\t\t\tbox.right = x + box.width;\r\n\t\t\tbox.top = chartArea.top;\r\n\t\t\tbox.bottom = chartArea.top + chartArea.h;\r\n\t\t\tbox.height = box.bottom - box.top;\r\n\t\t\tx = box.right;\r\n\t\t}\r\n\t}\r\n\r\n\tchartArea.x = x;\r\n\tchartArea.y = y;\r\n}\r\n\r\ncore_defaults._set('global', {\r\n\tlayout: {\r\n\t\tpadding: {\r\n\t\t\ttop: 0,\r\n\t\t\tright: 0,\r\n\t\t\tbottom: 0,\r\n\t\t\tleft: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * @interface ILayoutItem\r\n * @prop {string} position - The position of the item in the chart layout. Possible values are\r\n * 'left', 'top', 'right', 'bottom', and 'chartArea'\r\n * @prop {number} weight - The weight used to sort the item. Higher weights are further away from the chart area\r\n * @prop {boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down\r\n * @prop {function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\r\n * @prop {function} update - Takes two parameters: width and height. Returns size of item\r\n * @prop {function} getPadding - Returns an object with padding on the edges\r\n * @prop {number} width - Width of item. Must be valid after update()\r\n * @prop {number} height - Height of item. Must be valid after update()\r\n * @prop {number} left - Left edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} top - Top edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} right - Right edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\r\n */\r\n\r\n// The layout service is very self explanatory. It's responsible for the layout within a chart.\r\n// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\r\n// It is this service's responsibility of carrying out that layout.\r\nvar core_layouts = {\r\n\tdefaults: {},\r\n\r\n\t/**\r\n\t * Register a box to a chart.\r\n\t * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\r\n\t * @param {Chart} chart - the chart to use\r\n\t * @param {ILayoutItem} item - the item to add to be layed out\r\n\t */\r\n\taddBox: function(chart, item) {\r\n\t\tif (!chart.boxes) {\r\n\t\t\tchart.boxes = [];\r\n\t\t}\r\n\r\n\t\t// initialize item with default values\r\n\t\titem.fullWidth = item.fullWidth || false;\r\n\t\titem.position = item.position || 'top';\r\n\t\titem.weight = item.weight || 0;\r\n\t\titem._layers = item._layers || function() {\r\n\t\t\treturn [{\r\n\t\t\t\tz: 0,\r\n\t\t\t\tdraw: function() {\r\n\t\t\t\t\titem.draw.apply(item, arguments);\r\n\t\t\t\t}\r\n\t\t\t}];\r\n\t\t};\r\n\r\n\t\tchart.boxes.push(item);\r\n\t},\r\n\r\n\t/**\r\n\t * Remove a layoutItem from a chart\r\n\t * @param {Chart} chart - the chart to remove the box from\r\n\t * @param {ILayoutItem} layoutItem - the item to remove from the layout\r\n\t */\r\n\tremoveBox: function(chart, layoutItem) {\r\n\t\tvar index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\r\n\t\tif (index !== -1) {\r\n\t\t\tchart.boxes.splice(index, 1);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Sets (or updates) options on the given `item`.\r\n\t * @param {Chart} chart - the chart in which the item lives (or will be added to)\r\n\t * @param {ILayoutItem} item - the item to configure with the given options\r\n\t * @param {object} options - the new item options.\r\n\t */\r\n\tconfigure: function(chart, item, options) {\r\n\t\tvar props = ['fullWidth', 'position', 'weight'];\r\n\t\tvar ilen = props.length;\r\n\t\tvar i = 0;\r\n\t\tvar prop;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tprop = props[i];\r\n\t\t\tif (options.hasOwnProperty(prop)) {\r\n\t\t\t\titem[prop] = options[prop];\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Fits boxes of the given chart into the given size by having each box measure itself\r\n\t * then running a fitting algorithm\r\n\t * @param {Chart} chart - the chart\r\n\t * @param {number} width - the width to fit into\r\n\t * @param {number} height - the height to fit into\r\n\t */\r\n\tupdate: function(chart, width, height) {\r\n\t\tif (!chart) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar layoutOptions = chart.options.layout || {};\r\n\t\tvar padding = helpers$1.options.toPadding(layoutOptions.padding);\r\n\r\n\t\tvar availableWidth = width - padding.width;\r\n\t\tvar availableHeight = height - padding.height;\r\n\t\tvar boxes = buildLayoutBoxes(chart.boxes);\r\n\t\tvar verticalBoxes = boxes.vertical;\r\n\t\tvar horizontalBoxes = boxes.horizontal;\r\n\r\n\t\t// Essentially we now have any number of boxes on each of the 4 sides.\r\n\t\t// Our canvas looks like the following.\r\n\t\t// The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\r\n\t\t// B1 is the bottom axis\r\n\t\t// There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\r\n\t\t// These locations are single-box locations only, when trying to register a chartArea location that is already taken,\r\n\t\t// an error will be thrown.\r\n\t\t//\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | T1 (Full Width) |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | | | T2 | |\r\n\t\t// | |----|-------------------------------------|----|\r\n\t\t// | | | C1 | | C2 | |\r\n\t\t// | | |----| |----| |\r\n\t\t// | | | | |\r\n\t\t// | L1 | L2 | ChartArea (C0) | R1 |\r\n\t\t// | | | | |\r\n\t\t// | | |----| |----| |\r\n\t\t// | | | C3 | | C4 | |\r\n\t\t// | |----|-------------------------------------|----|\r\n\t\t// | | | B1 | |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | B2 (Full Width) |\r\n\t\t// |----------------------------------------------------|\r\n\t\t//\r\n\r\n\t\tvar params = Object.freeze({\r\n\t\t\touterWidth: width,\r\n\t\t\touterHeight: height,\r\n\t\t\tpadding: padding,\r\n\t\t\tavailableWidth: availableWidth,\r\n\t\t\tvBoxMaxWidth: availableWidth / 2 / verticalBoxes.length,\r\n\t\t\thBoxMaxHeight: availableHeight / 2\r\n\t\t});\r\n\t\tvar chartArea = extend({\r\n\t\t\tmaxPadding: extend({}, padding),\r\n\t\t\tw: availableWidth,\r\n\t\t\th: availableHeight,\r\n\t\t\tx: padding.left,\r\n\t\t\ty: padding.top\r\n\t\t}, padding);\r\n\r\n\t\tsetLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\r\n\r\n\t\t// First fit vertical boxes\r\n\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\r\n\t\t// Then fit horizontal boxes\r\n\t\tif (fitBoxes(horizontalBoxes, chartArea, params)) {\r\n\t\t\t// if the area changed, re-fit vertical boxes\r\n\t\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\t\t}\r\n\r\n\t\thandleMaxPadding(chartArea);\r\n\r\n\t\t// Finally place the boxes to correct coordinates\r\n\t\tplaceBoxes(boxes.leftAndTop, chartArea, params);\r\n\r\n\t\t// Move to opposite side of chart\r\n\t\tchartArea.x += chartArea.w;\r\n\t\tchartArea.y += chartArea.h;\r\n\r\n\t\tplaceBoxes(boxes.rightAndBottom, chartArea, params);\r\n\r\n\t\tchart.chartArea = {\r\n\t\t\tleft: chartArea.left,\r\n\t\t\ttop: chartArea.top,\r\n\t\t\tright: chartArea.left + chartArea.w,\r\n\t\t\tbottom: chartArea.top + chartArea.h\r\n\t\t};\r\n\r\n\t\t// Finally update boxes in chartArea (radial scale for example)\r\n\t\thelpers$1.each(boxes.chartArea, function(layout) {\r\n\t\t\tvar box = layout.box;\r\n\t\t\textend(box, chart.chartArea);\r\n\t\t\tbox.update(chartArea.w, chartArea.h);\r\n\t\t});\r\n\t}\r\n};\n\n/**\r\n * Platform fallback implementation (minimal).\r\n * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939\r\n */\r\n\r\nvar platform_basic = {\r\n\tacquireContext: function(item) {\r\n\t\tif (item && item.canvas) {\r\n\t\t\t// Support for any object associated to a canvas (including a context2d)\r\n\t\t\titem = item.canvas;\r\n\t\t}\r\n\r\n\t\treturn item && item.getContext('2d') || null;\r\n\t}\r\n};\n\nvar platform_dom = \"/*\\r\\n * DOM element rendering detection\\r\\n * https://davidwalsh.name/detect-node-insertion\\r\\n */\\r\\n@keyframes chartjs-render-animation {\\r\\n\\tfrom { opacity: 0.99; }\\r\\n\\tto { opacity: 1; }\\r\\n}\\r\\n\\r\\n.chartjs-render-monitor {\\r\\n\\tanimation: chartjs-render-animation 0.001s;\\r\\n}\\r\\n\\r\\n/*\\r\\n * DOM element resizing detection\\r\\n * https://github.com/marcj/css-element-queries\\r\\n */\\r\\n.chartjs-size-monitor,\\r\\n.chartjs-size-monitor-expand,\\r\\n.chartjs-size-monitor-shrink {\\r\\n\\tposition: absolute;\\r\\n\\tdirection: ltr;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n\\tright: 0;\\r\\n\\tbottom: 0;\\r\\n\\toverflow: hidden;\\r\\n\\tpointer-events: none;\\r\\n\\tvisibility: hidden;\\r\\n\\tz-index: -1;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-expand > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 1000000px;\\r\\n\\theight: 1000000px;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-shrink > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 200%;\\r\\n\\theight: 200%;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\";\n\nvar platform_dom$1 = /*#__PURE__*/Object.freeze({\n__proto__: null,\n'default': platform_dom\n});\n\nvar stylesheet = getCjsExportFromNamespace(platform_dom$1);\n\nvar EXPANDO_KEY = '$chartjs';\r\nvar CSS_PREFIX = 'chartjs-';\r\nvar CSS_SIZE_MONITOR = CSS_PREFIX + 'size-monitor';\r\nvar CSS_RENDER_MONITOR = CSS_PREFIX + 'render-monitor';\r\nvar CSS_RENDER_ANIMATION = CSS_PREFIX + 'render-animation';\r\nvar ANIMATION_START_EVENTS = ['animationstart', 'webkitAnimationStart'];\r\n\r\n/**\r\n * DOM event types -> Chart.js event types.\r\n * Note: only events with different types are mapped.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/Events\r\n */\r\nvar EVENT_TYPES = {\r\n\ttouchstart: 'mousedown',\r\n\ttouchmove: 'mousemove',\r\n\ttouchend: 'mouseup',\r\n\tpointerenter: 'mouseenter',\r\n\tpointerdown: 'mousedown',\r\n\tpointermove: 'mousemove',\r\n\tpointerup: 'mouseup',\r\n\tpointerleave: 'mouseout',\r\n\tpointerout: 'mouseout'\r\n};\r\n\r\n/**\r\n * The \"used\" size is the final value of a dimension property after all calculations have\r\n * been performed. This method uses the computed style of `element` but returns undefined\r\n * if the computed style is not expressed in pixels. That can happen in some cases where\r\n * `element` has a size relative to its parent and this last one is not yet displayed,\r\n * for example because of `display: none` on a parent node.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\r\n * @returns {number} Size in pixels or undefined if unknown.\r\n */\r\nfunction readUsedSize(element, property) {\r\n\tvar value = helpers$1.getStyle(element, property);\r\n\tvar matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\r\n\treturn matches ? Number(matches[1]) : undefined;\r\n}\r\n\r\n/**\r\n * Initializes the canvas style and render size without modifying the canvas display size,\r\n * since responsiveness is handled by the controller.resize() method. The config is used\r\n * to determine the aspect ratio to apply in case no explicit height has been specified.\r\n */\r\nfunction initCanvas(canvas, config) {\r\n\tvar style = canvas.style;\r\n\r\n\t// NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\r\n\t// returns null or '' if no explicit value has been set to the canvas attribute.\r\n\tvar renderHeight = canvas.getAttribute('height');\r\n\tvar renderWidth = canvas.getAttribute('width');\r\n\r\n\t// Chart.js modifies some canvas values that we want to restore on destroy\r\n\tcanvas[EXPANDO_KEY] = {\r\n\t\tinitial: {\r\n\t\t\theight: renderHeight,\r\n\t\t\twidth: renderWidth,\r\n\t\t\tstyle: {\r\n\t\t\t\tdisplay: style.display,\r\n\t\t\t\theight: style.height,\r\n\t\t\t\twidth: style.width\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// Force canvas to display as block to avoid extra space caused by inline\r\n\t// elements, which would interfere with the responsive resize process.\r\n\t// https://github.com/chartjs/Chart.js/issues/2538\r\n\tstyle.display = style.display || 'block';\r\n\r\n\tif (renderWidth === null || renderWidth === '') {\r\n\t\tvar displayWidth = readUsedSize(canvas, 'width');\r\n\t\tif (displayWidth !== undefined) {\r\n\t\t\tcanvas.width = displayWidth;\r\n\t\t}\r\n\t}\r\n\r\n\tif (renderHeight === null || renderHeight === '') {\r\n\t\tif (canvas.style.height === '') {\r\n\t\t\t// If no explicit render height and style height, let's apply the aspect ratio,\r\n\t\t\t// which one can be specified by the user but also by charts as default option\r\n\t\t\t// (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\r\n\t\t\tcanvas.height = canvas.width / (config.options.aspectRatio || 2);\r\n\t\t} else {\r\n\t\t\tvar displayHeight = readUsedSize(canvas, 'height');\r\n\t\t\tif (displayWidth !== undefined) {\r\n\t\t\t\tcanvas.height = displayHeight;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn canvas;\r\n}\r\n\r\n/**\r\n * Detects support for options object argument in addEventListener.\r\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\r\n * @private\r\n */\r\nvar supportsEventListenerOptions = (function() {\r\n\tvar supports = false;\r\n\ttry {\r\n\t\tvar options = Object.defineProperty({}, 'passive', {\r\n\t\t\t// eslint-disable-next-line getter-return\r\n\t\t\tget: function() {\r\n\t\t\t\tsupports = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\twindow.addEventListener('e', null, options);\r\n\t} catch (e) {\r\n\t\t// continue regardless of error\r\n\t}\r\n\treturn supports;\r\n}());\r\n\r\n// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.\r\n// https://github.com/chartjs/Chart.js/issues/4287\r\nvar eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\r\n\r\nfunction addListener(node, type, listener) {\r\n\tnode.addEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction removeListener(node, type, listener) {\r\n\tnode.removeEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction createEvent(type, chart, x, y, nativeEvent) {\r\n\treturn {\r\n\t\ttype: type,\r\n\t\tchart: chart,\r\n\t\tnative: nativeEvent || null,\r\n\t\tx: x !== undefined ? x : null,\r\n\t\ty: y !== undefined ? y : null,\r\n\t};\r\n}\r\n\r\nfunction fromNativeEvent(event, chart) {\r\n\tvar type = EVENT_TYPES[event.type] || event.type;\r\n\tvar pos = helpers$1.getRelativePosition(event, chart);\r\n\treturn createEvent(type, chart, pos.x, pos.y, event);\r\n}\r\n\r\nfunction throttled(fn, thisArg) {\r\n\tvar ticking = false;\r\n\tvar args = [];\r\n\r\n\treturn function() {\r\n\t\targs = Array.prototype.slice.call(arguments);\r\n\t\tthisArg = thisArg || this;\r\n\r\n\t\tif (!ticking) {\r\n\t\t\tticking = true;\r\n\t\t\thelpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tticking = false;\r\n\t\t\t\tfn.apply(thisArg, args);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction createDiv(cls) {\r\n\tvar el = document.createElement('div');\r\n\tel.className = cls || '';\r\n\treturn el;\r\n}\r\n\r\n// Implementation based on https://github.com/marcj/css-element-queries\r\nfunction createResizer(handler) {\r\n\tvar maxSize = 1000000;\r\n\r\n\t// NOTE(SB) Don't use innerHTML because it could be considered unsafe.\r\n\t// https://github.com/chartjs/Chart.js/issues/5902\r\n\tvar resizer = createDiv(CSS_SIZE_MONITOR);\r\n\tvar expand = createDiv(CSS_SIZE_MONITOR + '-expand');\r\n\tvar shrink = createDiv(CSS_SIZE_MONITOR + '-shrink');\r\n\r\n\texpand.appendChild(createDiv());\r\n\tshrink.appendChild(createDiv());\r\n\r\n\tresizer.appendChild(expand);\r\n\tresizer.appendChild(shrink);\r\n\tresizer._reset = function() {\r\n\t\texpand.scrollLeft = maxSize;\r\n\t\texpand.scrollTop = maxSize;\r\n\t\tshrink.scrollLeft = maxSize;\r\n\t\tshrink.scrollTop = maxSize;\r\n\t};\r\n\r\n\tvar onScroll = function() {\r\n\t\tresizer._reset();\r\n\t\thandler();\r\n\t};\r\n\r\n\taddListener(expand, 'scroll', onScroll.bind(expand, 'expand'));\r\n\taddListener(shrink, 'scroll', onScroll.bind(shrink, 'shrink'));\r\n\r\n\treturn resizer;\r\n}\r\n\r\n// https://davidwalsh.name/detect-node-insertion\r\nfunction watchForRender(node, handler) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\tvar proxy = expando.renderProxy = function(e) {\r\n\t\tif (e.animationName === CSS_RENDER_ANIMATION) {\r\n\t\t\thandler();\r\n\t\t}\r\n\t};\r\n\r\n\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\taddListener(node, type, proxy);\r\n\t});\r\n\r\n\t// #4737: Chrome might skip the CSS animation when the CSS_RENDER_MONITOR class\r\n\t// is removed then added back immediately (same animation frame?). Accessing the\r\n\t// `offsetParent` property will force a reflow and re-evaluate the CSS animation.\r\n\t// https://gist.github.com/paulirish/5d52fb081b3570c81e3a#box-metrics\r\n\t// https://github.com/chartjs/Chart.js/issues/4737\r\n\texpando.reflow = !!node.offsetParent;\r\n\r\n\tnode.classList.add(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction unwatchForRender(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar proxy = expando.renderProxy;\r\n\r\n\tif (proxy) {\r\n\t\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\t\tremoveListener(node, type, proxy);\r\n\t\t});\r\n\r\n\t\tdelete expando.renderProxy;\r\n\t}\r\n\r\n\tnode.classList.remove(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction addResizeListener(node, listener, chart) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\r\n\t// Let's keep track of this added resizer and thus avoid DOM query when removing it.\r\n\tvar resizer = expando.resizer = createResizer(throttled(function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = chart.options.maintainAspectRatio && node.parentNode;\r\n\t\t\tvar w = container ? container.clientWidth : 0;\r\n\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\tif (container && container.clientWidth < w && chart.canvas) {\r\n\t\t\t\t// If the container size shrank during chart resize, let's assume\r\n\t\t\t\t// scrollbar appeared. So we resize again with the scrollbar visible -\r\n\t\t\t\t// effectively making chart smaller and the scrollbar hidden again.\r\n\t\t\t\t// Because we are inside `throttled`, and currently `ticking`, scroll\r\n\t\t\t\t// events are ignored during this whole 2 resize process.\r\n\t\t\t\t// If we assumed wrong and something else happened, we are resizing\r\n\t\t\t\t// twice in a frame (potential performance issue)\r\n\t\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\t}\r\n\t\t}\r\n\t}));\r\n\r\n\t// The resizer needs to be attached to the node parent, so we first need to be\r\n\t// sure that `node` is attached to the DOM before injecting the resizer element.\r\n\twatchForRender(node, function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = node.parentNode;\r\n\t\t\tif (container && container !== resizer.parentNode) {\r\n\t\t\t\tcontainer.insertBefore(resizer, container.firstChild);\r\n\t\t\t}\r\n\r\n\t\t\t// The container size might have changed, let's reset the resizer state.\r\n\t\t\tresizer._reset();\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction removeResizeListener(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar resizer = expando.resizer;\r\n\r\n\tdelete expando.resizer;\r\n\tunwatchForRender(node);\r\n\r\n\tif (resizer && resizer.parentNode) {\r\n\t\tresizer.parentNode.removeChild(resizer);\r\n\t}\r\n}\r\n\r\n/**\r\n * Injects CSS styles inline if the styles are not already present.\r\n * @param {HTMLDocument|ShadowRoot} rootNode - the node to contain the <style>.\r\n * @param {string} css - the CSS to be injected.\r\n */\r\nfunction injectCSS(rootNode, css) {\r\n\t// https://stackoverflow.com/q/3922139\r\n\tvar expando = rootNode[EXPANDO_KEY] || (rootNode[EXPANDO_KEY] = {});\r\n\tif (!expando.containsStyles) {\r\n\t\texpando.containsStyles = true;\r\n\t\tcss = '/* Chart.js */\\n' + css;\r\n\t\tvar style = document.createElement('style');\r\n\t\tstyle.setAttribute('type', 'text/css');\r\n\t\tstyle.appendChild(document.createTextNode(css));\r\n\t\trootNode.appendChild(style);\r\n\t}\r\n}\r\n\r\nvar platform_dom$2 = {\r\n\t/**\r\n\t * When `true`, prevents the automatic injection of the stylesheet required to\r\n\t * correctly detect when the chart is added to the DOM and then resized. This\r\n\t * switch has been added to allow external stylesheet (`dist/Chart(.min)?.js`)\r\n\t * to be manually imported to make this library compatible with any CSP.\r\n\t * See https://github.com/chartjs/Chart.js/issues/5208\r\n\t */\r\n\tdisableCSSInjection: false,\r\n\r\n\t/**\r\n\t * This property holds whether this platform is enabled for the current environment.\r\n\t * Currently used by platform.js to select the proper implementation.\r\n\t * @private\r\n\t */\r\n\t_enabled: typeof window !== 'undefined' && typeof document !== 'undefined',\r\n\r\n\t/**\r\n\t * Initializes resources that depend on platform options.\r\n\t * @param {HTMLCanvasElement} canvas - The Canvas element.\r\n\t * @private\r\n\t */\r\n\t_ensureLoaded: function(canvas) {\r\n\t\tif (!this.disableCSSInjection) {\r\n\t\t\t// If the canvas is in a shadow DOM, then the styles must also be inserted\r\n\t\t\t// into the same shadow DOM.\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5763\r\n\t\t\tvar root = canvas.getRootNode ? canvas.getRootNode() : document;\r\n\t\t\tvar targetNode = root.host ? root : document.head;\r\n\t\t\tinjectCSS(targetNode, stylesheet);\r\n\t\t}\r\n\t},\r\n\r\n\tacquireContext: function(item, config) {\r\n\t\tif (typeof item === 'string') {\r\n\t\t\titem = document.getElementById(item);\r\n\t\t} else if (item.length) {\r\n\t\t\t// Support for array based queries (such as jQuery)\r\n\t\t\titem = item[0];\r\n\t\t}\r\n\r\n\t\tif (item && item.canvas) {\r\n\t\t\t// Support for any object associated to a canvas (including a context2d)\r\n\t\t\titem = item.canvas;\r\n\t\t}\r\n\r\n\t\t// To prevent canvas fingerprinting, some add-ons undefine the getContext\r\n\t\t// method, for example: https://github.com/kkapsner/CanvasBlocker\r\n\t\t// https://github.com/chartjs/Chart.js/issues/2807\r\n\t\tvar context = item && item.getContext && item.getContext('2d');\r\n\r\n\t\t// `instanceof HTMLCanvasElement/CanvasRenderingContext2D` fails when the item is\r\n\t\t// inside an iframe or when running in a protected environment. We could guess the\r\n\t\t// types from their toString() value but let's keep things flexible and assume it's\r\n\t\t// a sufficient condition if the item has a context2D which has item as `canvas`.\r\n\t\t// https://github.com/chartjs/Chart.js/issues/3887\r\n\t\t// https://github.com/chartjs/Chart.js/issues/4102\r\n\t\t// https://github.com/chartjs/Chart.js/issues/4152\r\n\t\tif (context && context.canvas === item) {\r\n\t\t\t// Load platform resources on first chart creation, to make it possible to\r\n\t\t\t// import the library before setting platform options.\r\n\t\t\tthis._ensureLoaded(item);\r\n\t\t\tinitCanvas(item, config);\r\n\t\t\treturn context;\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t},\r\n\r\n\treleaseContext: function(context) {\r\n\t\tvar canvas = context.canvas;\r\n\t\tif (!canvas[EXPANDO_KEY]) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar initial = canvas[EXPANDO_KEY].initial;\r\n\t\t['height', 'width'].forEach(function(prop) {\r\n\t\t\tvar value = initial[prop];\r\n\t\t\tif (helpers$1.isNullOrUndef(value)) {\r\n\t\t\t\tcanvas.removeAttribute(prop);\r\n\t\t\t} else {\r\n\t\t\t\tcanvas.setAttribute(prop, value);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\thelpers$1.each(initial.style || {}, function(value, key) {\r\n\t\t\tcanvas.style[key] = value;\r\n\t\t});\r\n\r\n\t\t// The canvas render size might have been changed (and thus the state stack discarded),\r\n\t\t// we can't use save() and restore() to restore the initial state. So make sure that at\r\n\t\t// least the canvas context is reset to the default state by setting the canvas width.\r\n\t\t// https://www.w3.org/TR/2011/WD-html5-20110525/the-canvas-element.html\r\n\t\t// eslint-disable-next-line no-self-assign\r\n\t\tcanvas.width = canvas.width;\r\n\r\n\t\tdelete canvas[EXPANDO_KEY];\r\n\t},\r\n\r\n\taddEventListener: function(chart, type, listener) {\r\n\t\tvar canvas = chart.canvas;\r\n\t\tif (type === 'resize') {\r\n\t\t\t// Note: the resize event is not supported on all browsers.\r\n\t\t\taddResizeListener(canvas, listener, chart);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar expando = listener[EXPANDO_KEY] || (listener[EXPANDO_KEY] = {});\r\n\t\tvar proxies = expando.proxies || (expando.proxies = {});\r\n\t\tvar proxy = proxies[chart.id + '_' + type] = function(event) {\r\n\t\t\tlistener(fromNativeEvent(event, chart));\r\n\t\t};\r\n\r\n\t\taddListener(canvas, type, proxy);\r\n\t},\r\n\r\n\tremoveEventListener: function(chart, type, listener) {\r\n\t\tvar canvas = chart.canvas;\r\n\t\tif (type === 'resize') {\r\n\t\t\t// Note: the resize event is not supported on all browsers.\r\n\t\t\tremoveResizeListener(canvas);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar expando = listener[EXPANDO_KEY] || {};\r\n\t\tvar proxies = expando.proxies || {};\r\n\t\tvar proxy = proxies[chart.id + '_' + type];\r\n\t\tif (!proxy) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tremoveListener(canvas, type, proxy);\r\n\t}\r\n};\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use EventTarget.addEventListener instead.\r\n * EventTarget.addEventListener compatibility: Chrome, Opera 7, Safari, FF1.5+, IE9+\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\r\n * @function Chart.helpers.addEvent\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers$1.addEvent = addListener;\r\n\r\n/**\r\n * Provided for backward compatibility, use EventTarget.removeEventListener instead.\r\n * EventTarget.removeEventListener compatibility: Chrome, Opera 7, Safari, FF1.5+, IE9+\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/removeEventListener\r\n * @function Chart.helpers.removeEvent\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers$1.removeEvent = removeListener;\n\n// @TODO Make possible to select another platform at build time.\r\nvar implementation = platform_dom$2._enabled ? platform_dom$2 : platform_basic;\r\n\r\n/**\r\n * @namespace Chart.platform\r\n * @see https://chartjs.gitbooks.io/proposals/content/Platform.html\r\n * @since 2.4.0\r\n */\r\nvar platform = helpers$1.extend({\r\n\t/**\r\n\t * @since 2.7.0\r\n\t */\r\n\tinitialize: function() {},\r\n\r\n\t/**\r\n\t * Called at chart construction time, returns a context2d instance implementing\r\n\t * the [W3C Canvas 2D Context API standard]{@link https://www.w3.org/TR/2dcontext/}.\r\n\t * @param {*} item - The native item from which to acquire context (platform specific)\r\n\t * @param {object} options - The chart options\r\n\t * @returns {CanvasRenderingContext2D} context2d instance\r\n\t */\r\n\tacquireContext: function() {},\r\n\r\n\t/**\r\n\t * Called at chart destruction time, releases any resources associated to the context\r\n\t * previously returned by the acquireContext() method.\r\n\t * @param {CanvasRenderingContext2D} context - The context2d instance\r\n\t * @returns {boolean} true if the method succeeded, else false\r\n\t */\r\n\treleaseContext: function() {},\r\n\r\n\t/**\r\n\t * Registers the specified listener on the given chart.\r\n\t * @param {Chart} chart - Chart from which to listen for event\r\n\t * @param {string} type - The ({@link IEvent}) type to listen for\r\n\t * @param {function} listener - Receives a notification (an object that implements\r\n\t * the {@link IEvent} interface) when an event of the specified type occurs.\r\n\t */\r\n\taddEventListener: function() {},\r\n\r\n\t/**\r\n\t * Removes the specified listener previously registered with addEventListener.\r\n\t * @param {Chart} chart - Chart from which to remove the listener\r\n\t * @param {string} type - The ({@link IEvent}) type to remove\r\n\t * @param {function} listener - The listener function to remove from the event target.\r\n\t */\r\n\tremoveEventListener: function() {}\r\n\r\n}, implementation);\n\ncore_defaults._set('global', {\r\n\tplugins: {}\r\n});\r\n\r\n/**\r\n * The plugin service singleton\r\n * @namespace Chart.plugins\r\n * @since 2.1.0\r\n */\r\nvar core_plugins = {\r\n\t/**\r\n\t * Globally registered plugins.\r\n\t * @private\r\n\t */\r\n\t_plugins: [],\r\n\r\n\t/**\r\n\t * This identifier is used to invalidate the descriptors cache attached to each chart\r\n\t * when a global plugin is registered or unregistered. In this case, the cache ID is\r\n\t * incremented and descriptors are regenerated during following API calls.\r\n\t * @private\r\n\t */\r\n\t_cacheId: 0,\r\n\r\n\t/**\r\n\t * Registers the given plugin(s) if not already registered.\r\n\t * @param {IPlugin[]|IPlugin} plugins plugin instance(s).\r\n\t */\r\n\tregister: function(plugins) {\r\n\t\tvar p = this._plugins;\r\n\t\t([]).concat(plugins).forEach(function(plugin) {\r\n\t\t\tif (p.indexOf(plugin) === -1) {\r\n\t\t\t\tp.push(plugin);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis._cacheId++;\r\n\t},\r\n\r\n\t/**\r\n\t * Unregisters the given plugin(s) only if registered.\r\n\t * @param {IPlugin[]|IPlugin} plugins plugin instance(s).\r\n\t */\r\n\tunregister: function(plugins) {\r\n\t\tvar p = this._plugins;\r\n\t\t([]).concat(plugins).forEach(function(plugin) {\r\n\t\t\tvar idx = p.indexOf(plugin);\r\n\t\t\tif (idx !== -1) {\r\n\t\t\t\tp.splice(idx, 1);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis._cacheId++;\r\n\t},\r\n\r\n\t/**\r\n\t * Remove all registered plugins.\r\n\t * @since 2.1.5\r\n\t */\r\n\tclear: function() {\r\n\t\tthis._plugins = [];\r\n\t\tthis._cacheId++;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the number of registered plugins?\r\n\t * @returns {number}\r\n\t * @since 2.1.5\r\n\t */\r\n\tcount: function() {\r\n\t\treturn this._plugins.length;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns all registered plugin instances.\r\n\t * @returns {IPlugin[]} array of plugin objects.\r\n\t * @since 2.1.5\r\n\t */\r\n\tgetAll: function() {\r\n\t\treturn this._plugins;\r\n\t},\r\n\r\n\t/**\r\n\t * Calls enabled plugins for `chart` on the specified hook and with the given args.\r\n\t * This method immediately returns as soon as a plugin explicitly returns false. The\r\n\t * returned value can be used, for instance, to interrupt the current action.\r\n\t * @param {Chart} chart - The chart instance for which plugins should be called.\r\n\t * @param {string} hook - The name of the plugin method to call (e.g. 'beforeUpdate').\r\n\t * @param {Array} [args] - Extra arguments to apply to the hook call.\r\n\t * @returns {boolean} false if any of the plugins return false, else returns true.\r\n\t */\r\n\tnotify: function(chart, hook, args) {\r\n\t\tvar descriptors = this.descriptors(chart);\r\n\t\tvar ilen = descriptors.length;\r\n\t\tvar i, descriptor, plugin, params, method;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tdescriptor = descriptors[i];\r\n\t\t\tplugin = descriptor.plugin;\r\n\t\t\tmethod = plugin[hook];\r\n\t\t\tif (typeof method === 'function') {\r\n\t\t\t\tparams = [chart].concat(args || []);\r\n\t\t\t\tparams.push(descriptor.options);\r\n\t\t\t\tif (method.apply(plugin, params) === false) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns descriptors of enabled plugins for the given chart.\r\n\t * @returns {object[]} [{ plugin, options }]\r\n\t * @private\r\n\t */\r\n\tdescriptors: function(chart) {\r\n\t\tvar cache = chart.$plugins || (chart.$plugins = {});\r\n\t\tif (cache.id === this._cacheId) {\r\n\t\t\treturn cache.descriptors;\r\n\t\t}\r\n\r\n\t\tvar plugins = [];\r\n\t\tvar descriptors = [];\r\n\t\tvar config = (chart && chart.config) || {};\r\n\t\tvar options = (config.options && config.options.plugins) || {};\r\n\r\n\t\tthis._plugins.concat(config.plugins || []).forEach(function(plugin) {\r\n\t\t\tvar idx = plugins.indexOf(plugin);\r\n\t\t\tif (idx !== -1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar id = plugin.id;\r\n\t\t\tvar opts = options[id];\r\n\t\t\tif (opts === false) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (opts === true) {\r\n\t\t\t\topts = helpers$1.clone(core_defaults.global.plugins[id]);\r\n\t\t\t}\r\n\r\n\t\t\tplugins.push(plugin);\r\n\t\t\tdescriptors.push({\r\n\t\t\t\tplugin: plugin,\r\n\t\t\t\toptions: opts || {}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tcache.descriptors = descriptors;\r\n\t\tcache.id = this._cacheId;\r\n\t\treturn descriptors;\r\n\t},\r\n\r\n\t/**\r\n\t * Invalidates cache for the given chart: descriptors hold a reference on plugin option,\r\n\t * but in some cases, this reference can be changed by the user when updating options.\r\n\t * https://github.com/chartjs/Chart.js/issues/5111#issuecomment-355934167\r\n\t * @private\r\n\t */\r\n\t_invalidate: function(chart) {\r\n\t\tdelete chart.$plugins;\r\n\t}\r\n};\n\nvar core_scaleService = {\r\n\t// Scale registration object. Extensions can register new scale types (such as log or DB scales) and then\r\n\t// use the new chart options to grab the correct scale\r\n\tconstructors: {},\r\n\t// Use a registration function so that we can move to an ES6 map when we no longer need to support\r\n\t// old browsers\r\n\r\n\t// Scale config defaults\r\n\tdefaults: {},\r\n\tregisterScaleType: function(type, scaleConstructor, scaleDefaults) {\r\n\t\tthis.constructors[type] = scaleConstructor;\r\n\t\tthis.defaults[type] = helpers$1.clone(scaleDefaults);\r\n\t},\r\n\tgetScaleConstructor: function(type) {\r\n\t\treturn this.constructors.hasOwnProperty(type) ? this.constructors[type] : undefined;\r\n\t},\r\n\tgetScaleDefaults: function(type) {\r\n\t\t// Return the scale defaults merged with the global settings so that we always use the latest ones\r\n\t\treturn this.defaults.hasOwnProperty(type) ? helpers$1.merge(Object.create(null), [core_defaults.scale, this.defaults[type]]) : {};\r\n\t},\r\n\tupdateScaleDefaults: function(type, additions) {\r\n\t\tvar me = this;\r\n\t\tif (me.defaults.hasOwnProperty(type)) {\r\n\t\t\tme.defaults[type] = helpers$1.extend(me.defaults[type], additions);\r\n\t\t}\r\n\t},\r\n\taddScalesToLayout: function(chart) {\r\n\t\t// Adds each scale to the chart.boxes array to be sized accordingly\r\n\t\thelpers$1.each(chart.scales, function(scale) {\r\n\t\t\t// Set ILayoutItem parameters for backwards compatibility\r\n\t\t\tscale.fullWidth = scale.options.fullWidth;\r\n\t\t\tscale.position = scale.options.position;\r\n\t\t\tscale.weight = scale.options.weight;\r\n\t\t\tcore_layouts.addBox(chart, scale);\r\n\t\t});\r\n\t}\r\n};\n\nvar valueOrDefault$8 = helpers$1.valueOrDefault;\r\nvar getRtlHelper = helpers$1.rtl.getRtlAdapter;\r\n\r\ncore_defaults._set('global', {\r\n\ttooltips: {\r\n\t\tenabled: true,\r\n\t\tcustom: null,\r\n\t\tmode: 'nearest',\r\n\t\tposition: 'average',\r\n\t\tintersect: true,\r\n\t\tbackgroundColor: 'rgba(0,0,0,0.8)',\r\n\t\ttitleFontStyle: 'bold',\r\n\t\ttitleSpacing: 2,\r\n\t\ttitleMarginBottom: 6,\r\n\t\ttitleFontColor: '#fff',\r\n\t\ttitleAlign: 'left',\r\n\t\tbodySpacing: 2,\r\n\t\tbodyFontColor: '#fff',\r\n\t\tbodyAlign: 'left',\r\n\t\tfooterFontStyle: 'bold',\r\n\t\tfooterSpacing: 2,\r\n\t\tfooterMarginTop: 6,\r\n\t\tfooterFontColor: '#fff',\r\n\t\tfooterAlign: 'left',\r\n\t\tyPadding: 6,\r\n\t\txPadding: 6,\r\n\t\tcaretPadding: 2,\r\n\t\tcaretSize: 5,\r\n\t\tcornerRadius: 6,\r\n\t\tmultiKeyBackground: '#fff',\r\n\t\tdisplayColors: true,\r\n\t\tborderColor: 'rgba(0,0,0,0)',\r\n\t\tborderWidth: 0,\r\n\t\tcallbacks: {\r\n\t\t\t// Args are: (tooltipItems, data)\r\n\t\t\tbeforeTitle: helpers$1.noop,\r\n\t\t\ttitle: function(tooltipItems, data) {\r\n\t\t\t\tvar title = '';\r\n\t\t\t\tvar labels = data.labels;\r\n\t\t\t\tvar labelCount = labels ? labels.length : 0;\r\n\r\n\t\t\t\tif (tooltipItems.length > 0) {\r\n\t\t\t\t\tvar item = tooltipItems[0];\r\n\t\t\t\t\tif (item.label) {\r\n\t\t\t\t\t\ttitle = item.label;\r\n\t\t\t\t\t} else if (item.xLabel) {\r\n\t\t\t\t\t\ttitle = item.xLabel;\r\n\t\t\t\t\t} else if (labelCount > 0 && item.index < labelCount) {\r\n\t\t\t\t\t\ttitle = labels[item.index];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn title;\r\n\t\t\t},\r\n\t\t\tafterTitle: helpers$1.noop,\r\n\r\n\t\t\t// Args are: (tooltipItems, data)\r\n\t\t\tbeforeBody: helpers$1.noop,\r\n\r\n\t\t\t// Args are: (tooltipItem, data)\r\n\t\t\tbeforeLabel: helpers$1.noop,\r\n\t\t\tlabel: function(tooltipItem, data) {\r\n\t\t\t\tvar label = data.datasets[tooltipItem.datasetIndex].label || '';\r\n\r\n\t\t\t\tif (label) {\r\n\t\t\t\t\tlabel += ': ';\r\n\t\t\t\t}\r\n\t\t\t\tif (!helpers$1.isNullOrUndef(tooltipItem.value)) {\r\n\t\t\t\t\tlabel += tooltipItem.value;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlabel += tooltipItem.yLabel;\r\n\t\t\t\t}\r\n\t\t\t\treturn label;\r\n\t\t\t},\r\n\t\t\tlabelColor: function(tooltipItem, chart) {\r\n\t\t\t\tvar meta = chart.getDatasetMeta(tooltipItem.datasetIndex);\r\n\t\t\t\tvar activeElement = meta.data[tooltipItem.index];\r\n\t\t\t\tvar view = activeElement._view;\r\n\t\t\t\treturn {\r\n\t\t\t\t\tborderColor: view.borderColor,\r\n\t\t\t\t\tbackgroundColor: view.backgroundColor\r\n\t\t\t\t};\r\n\t\t\t},\r\n\t\t\tlabelTextColor: function() {\r\n\t\t\t\treturn this._options.bodyFontColor;\r\n\t\t\t},\r\n\t\t\tafterLabel: helpers$1.noop,\r\n\r\n\t\t\t// Args are: (tooltipItems, data)\r\n\t\t\tafterBody: helpers$1.noop,\r\n\r\n\t\t\t// Args are: (tooltipItems, data)\r\n\t\t\tbeforeFooter: helpers$1.noop,\r\n\t\t\tfooter: helpers$1.noop,\r\n\t\t\tafterFooter: helpers$1.noop\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar positioners = {\r\n\t/**\r\n\t * Average mode places the tooltip at the average position of the elements shown\r\n\t * @function Chart.Tooltip.positioners.average\r\n\t * @param elements {ChartElement[]} the elements being displayed in the tooltip\r\n\t * @returns {object} tooltip position\r\n\t */\r\n\taverage: function(elements) {\r\n\t\tif (!elements.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar i, len;\r\n\t\tvar x = 0;\r\n\t\tvar y = 0;\r\n\t\tvar count = 0;\r\n\r\n\t\tfor (i = 0, len = elements.length; i < len; ++i) {\r\n\t\t\tvar el = elements[i];\r\n\t\t\tif (el && el.hasValue()) {\r\n\t\t\t\tvar pos = el.tooltipPosition();\r\n\t\t\t\tx += pos.x;\r\n\t\t\t\ty += pos.y;\r\n\t\t\t\t++count;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tx: x / count,\r\n\t\t\ty: y / count\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Gets the tooltip position nearest of the item nearest to the event position\r\n\t * @function Chart.Tooltip.positioners.nearest\r\n\t * @param elements {Chart.Element[]} the tooltip elements\r\n\t * @param eventPosition {object} the position of the event in canvas coordinates\r\n\t * @returns {object} the tooltip position\r\n\t */\r\n\tnearest: function(elements, eventPosition) {\r\n\t\tvar x = eventPosition.x;\r\n\t\tvar y = eventPosition.y;\r\n\t\tvar minDistance = Number.POSITIVE_INFINITY;\r\n\t\tvar i, len, nearestElement;\r\n\r\n\t\tfor (i = 0, len = elements.length; i < len; ++i) {\r\n\t\t\tvar el = elements[i];\r\n\t\t\tif (el && el.hasValue()) {\r\n\t\t\t\tvar center = el.getCenterPoint();\r\n\t\t\t\tvar d = helpers$1.distanceBetweenPoints(eventPosition, center);\r\n\r\n\t\t\t\tif (d < minDistance) {\r\n\t\t\t\t\tminDistance = d;\r\n\t\t\t\t\tnearestElement = el;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (nearestElement) {\r\n\t\t\tvar tp = nearestElement.tooltipPosition();\r\n\t\t\tx = tp.x;\r\n\t\t\ty = tp.y;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tx: x,\r\n\t\t\ty: y\r\n\t\t};\r\n\t}\r\n};\r\n\r\n// Helper to push or concat based on if the 2nd parameter is an array or not\r\nfunction pushOrConcat(base, toPush) {\r\n\tif (toPush) {\r\n\t\tif (helpers$1.isArray(toPush)) {\r\n\t\t\t// base = base.concat(toPush);\r\n\t\t\tArray.prototype.push.apply(base, toPush);\r\n\t\t} else {\r\n\t\t\tbase.push(toPush);\r\n\t\t}\r\n\t}\r\n\r\n\treturn base;\r\n}\r\n\r\n/**\r\n * Returns array of strings split by newline\r\n * @param {string} value - The value to split by newline.\r\n * @returns {string[]} value if newline present - Returned from String split() method\r\n * @function\r\n */\r\nfunction splitNewlines(str) {\r\n\tif ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\r\n\t\treturn str.split('\\n');\r\n\t}\r\n\treturn str;\r\n}\r\n\r\n\r\n/**\r\n * Private helper to create a tooltip item model\r\n * @param element - the chart element (point, arc, bar) to create the tooltip item for\r\n * @return new tooltip item\r\n */\r\nfunction createTooltipItem(element) {\r\n\tvar xScale = element._xScale;\r\n\tvar yScale = element._yScale || element._scale; // handle radar || polarArea charts\r\n\tvar index = element._index;\r\n\tvar datasetIndex = element._datasetIndex;\r\n\tvar controller = element._chart.getDatasetMeta(datasetIndex).controller;\r\n\tvar indexScale = controller._getIndexScale();\r\n\tvar valueScale = controller._getValueScale();\r\n\r\n\treturn {\r\n\t\txLabel: xScale ? xScale.getLabelForIndex(index, datasetIndex) : '',\r\n\t\tyLabel: yScale ? yScale.getLabelForIndex(index, datasetIndex) : '',\r\n\t\tlabel: indexScale ? '' + indexScale.getLabelForIndex(index, datasetIndex) : '',\r\n\t\tvalue: valueScale ? '' + valueScale.getLabelForIndex(index, datasetIndex) : '',\r\n\t\tindex: index,\r\n\t\tdatasetIndex: datasetIndex,\r\n\t\tx: element._model.x,\r\n\t\ty: element._model.y\r\n\t};\r\n}\r\n\r\n/**\r\n * Helper to get the reset model for the tooltip\r\n * @param tooltipOpts {object} the tooltip options\r\n */\r\nfunction getBaseModel(tooltipOpts) {\r\n\tvar globalDefaults = core_defaults.global;\r\n\r\n\treturn {\r\n\t\t// Positioning\r\n\t\txPadding: tooltipOpts.xPadding,\r\n\t\tyPadding: tooltipOpts.yPadding,\r\n\t\txAlign: tooltipOpts.xAlign,\r\n\t\tyAlign: tooltipOpts.yAlign,\r\n\r\n\t\t// Drawing direction and text direction\r\n\t\trtl: tooltipOpts.rtl,\r\n\t\ttextDirection: tooltipOpts.textDirection,\r\n\r\n\t\t// Body\r\n\t\tbodyFontColor: tooltipOpts.bodyFontColor,\r\n\t\t_bodyFontFamily: valueOrDefault$8(tooltipOpts.bodyFontFamily, globalDefaults.defaultFontFamily),\r\n\t\t_bodyFontStyle: valueOrDefault$8(tooltipOpts.bodyFontStyle, globalDefaults.defaultFontStyle),\r\n\t\t_bodyAlign: tooltipOpts.bodyAlign,\r\n\t\tbodyFontSize: valueOrDefault$8(tooltipOpts.bodyFontSize, globalDefaults.defaultFontSize),\r\n\t\tbodySpacing: tooltipOpts.bodySpacing,\r\n\r\n\t\t// Title\r\n\t\ttitleFontColor: tooltipOpts.titleFontColor,\r\n\t\t_titleFontFamily: valueOrDefault$8(tooltipOpts.titleFontFamily, globalDefaults.defaultFontFamily),\r\n\t\t_titleFontStyle: valueOrDefault$8(tooltipOpts.titleFontStyle, globalDefaults.defaultFontStyle),\r\n\t\ttitleFontSize: valueOrDefault$8(tooltipOpts.titleFontSize, globalDefaults.defaultFontSize),\r\n\t\t_titleAlign: tooltipOpts.titleAlign,\r\n\t\ttitleSpacing: tooltipOpts.titleSpacing,\r\n\t\ttitleMarginBottom: tooltipOpts.titleMarginBottom,\r\n\r\n\t\t// Footer\r\n\t\tfooterFontColor: tooltipOpts.footerFontColor,\r\n\t\t_footerFontFamily: valueOrDefault$8(tooltipOpts.footerFontFamily, globalDefaults.defaultFontFamily),\r\n\t\t_footerFontStyle: valueOrDefault$8(tooltipOpts.footerFontStyle, globalDefaults.defaultFontStyle),\r\n\t\tfooterFontSize: valueOrDefault$8(tooltipOpts.footerFontSize, globalDefaults.defaultFontSize),\r\n\t\t_footerAlign: tooltipOpts.footerAlign,\r\n\t\tfooterSpacing: tooltipOpts.footerSpacing,\r\n\t\tfooterMarginTop: tooltipOpts.footerMarginTop,\r\n\r\n\t\t// Appearance\r\n\t\tcaretSize: tooltipOpts.caretSize,\r\n\t\tcornerRadius: tooltipOpts.cornerRadius,\r\n\t\tbackgroundColor: tooltipOpts.backgroundColor,\r\n\t\topacity: 0,\r\n\t\tlegendColorBackground: tooltipOpts.multiKeyBackground,\r\n\t\tdisplayColors: tooltipOpts.displayColors,\r\n\t\tborderColor: tooltipOpts.borderColor,\r\n\t\tborderWidth: tooltipOpts.borderWidth\r\n\t};\r\n}\r\n\r\n/**\r\n * Get the size of the tooltip\r\n */\r\nfunction getTooltipSize(tooltip, model) {\r\n\tvar ctx = tooltip._chart.ctx;\r\n\r\n\tvar height = model.yPadding * 2; // Tooltip Padding\r\n\tvar width = 0;\r\n\r\n\t// Count of all lines in the body\r\n\tvar body = model.body;\r\n\tvar combinedBodyLength = body.reduce(function(count, bodyItem) {\r\n\t\treturn count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length;\r\n\t}, 0);\r\n\tcombinedBodyLength += model.beforeBody.length + model.afterBody.length;\r\n\r\n\tvar titleLineCount = model.title.length;\r\n\tvar footerLineCount = model.footer.length;\r\n\tvar titleFontSize = model.titleFontSize;\r\n\tvar bodyFontSize = model.bodyFontSize;\r\n\tvar footerFontSize = model.footerFontSize;\r\n\r\n\theight += titleLineCount * titleFontSize; // Title Lines\r\n\theight += titleLineCount ? (titleLineCount - 1) * model.titleSpacing : 0; // Title Line Spacing\r\n\theight += titleLineCount ? model.titleMarginBottom : 0; // Title's bottom Margin\r\n\theight += combinedBodyLength * bodyFontSize; // Body Lines\r\n\theight += combinedBodyLength ? (combinedBodyLength - 1) * model.bodySpacing : 0; // Body Line Spacing\r\n\theight += footerLineCount ? model.footerMarginTop : 0; // Footer Margin\r\n\theight += footerLineCount * (footerFontSize); // Footer Lines\r\n\theight += footerLineCount ? (footerLineCount - 1) * model.footerSpacing : 0; // Footer Line Spacing\r\n\r\n\t// Title width\r\n\tvar widthPadding = 0;\r\n\tvar maxLineWidth = function(line) {\r\n\t\twidth = Math.max(width, ctx.measureText(line).width + widthPadding);\r\n\t};\r\n\r\n\tctx.font = helpers$1.fontString(titleFontSize, model._titleFontStyle, model._titleFontFamily);\r\n\thelpers$1.each(model.title, maxLineWidth);\r\n\r\n\t// Body width\r\n\tctx.font = helpers$1.fontString(bodyFontSize, model._bodyFontStyle, model._bodyFontFamily);\r\n\thelpers$1.each(model.beforeBody.concat(model.afterBody), maxLineWidth);\r\n\r\n\t// Body lines may include some extra width due to the color box\r\n\twidthPadding = model.displayColors ? (bodyFontSize + 2) : 0;\r\n\thelpers$1.each(body, function(bodyItem) {\r\n\t\thelpers$1.each(bodyItem.before, maxLineWidth);\r\n\t\thelpers$1.each(bodyItem.lines, maxLineWidth);\r\n\t\thelpers$1.each(bodyItem.after, maxLineWidth);\r\n\t});\r\n\r\n\t// Reset back to 0\r\n\twidthPadding = 0;\r\n\r\n\t// Footer width\r\n\tctx.font = helpers$1.fontString(footerFontSize, model._footerFontStyle, model._footerFontFamily);\r\n\thelpers$1.each(model.footer, maxLineWidth);\r\n\r\n\t// Add padding\r\n\twidth += 2 * model.xPadding;\r\n\r\n\treturn {\r\n\t\twidth: width,\r\n\t\theight: height\r\n\t};\r\n}\r\n\r\n/**\r\n * Helper to get the alignment of a tooltip given the size\r\n */\r\nfunction determineAlignment(tooltip, size) {\r\n\tvar model = tooltip._model;\r\n\tvar chart = tooltip._chart;\r\n\tvar chartArea = tooltip._chart.chartArea;\r\n\tvar xAlign = 'center';\r\n\tvar yAlign = 'center';\r\n\r\n\tif (model.y < size.height) {\r\n\t\tyAlign = 'top';\r\n\t} else if (model.y > (chart.height - size.height)) {\r\n\t\tyAlign = 'bottom';\r\n\t}\r\n\r\n\tvar lf, rf; // functions to determine left, right alignment\r\n\tvar olf, orf; // functions to determine if left/right alignment causes tooltip to go outside chart\r\n\tvar yf; // function to get the y alignment if the tooltip goes outside of the left or right edges\r\n\tvar midX = (chartArea.left + chartArea.right) / 2;\r\n\tvar midY = (chartArea.top + chartArea.bottom) / 2;\r\n\r\n\tif (yAlign === 'center') {\r\n\t\tlf = function(x) {\r\n\t\t\treturn x <= midX;\r\n\t\t};\r\n\t\trf = function(x) {\r\n\t\t\treturn x > midX;\r\n\t\t};\r\n\t} else {\r\n\t\tlf = function(x) {\r\n\t\t\treturn x <= (size.width / 2);\r\n\t\t};\r\n\t\trf = function(x) {\r\n\t\t\treturn x >= (chart.width - (size.width / 2));\r\n\t\t};\r\n\t}\r\n\r\n\tolf = function(x) {\r\n\t\treturn x + size.width + model.caretSize + model.caretPadding > chart.width;\r\n\t};\r\n\torf = function(x) {\r\n\t\treturn x - size.width - model.caretSize - model.caretPadding < 0;\r\n\t};\r\n\tyf = function(y) {\r\n\t\treturn y <= midY ? 'top' : 'bottom';\r\n\t};\r\n\r\n\tif (lf(model.x)) {\r\n\t\txAlign = 'left';\r\n\r\n\t\t// Is tooltip too wide and goes over the right side of the chart.?\r\n\t\tif (olf(model.x)) {\r\n\t\t\txAlign = 'center';\r\n\t\t\tyAlign = yf(model.y);\r\n\t\t}\r\n\t} else if (rf(model.x)) {\r\n\t\txAlign = 'right';\r\n\r\n\t\t// Is tooltip too wide and goes outside left edge of canvas?\r\n\t\tif (orf(model.x)) {\r\n\t\t\txAlign = 'center';\r\n\t\t\tyAlign = yf(model.y);\r\n\t\t}\r\n\t}\r\n\r\n\tvar opts = tooltip._options;\r\n\treturn {\r\n\t\txAlign: opts.xAlign ? opts.xAlign : xAlign,\r\n\t\tyAlign: opts.yAlign ? opts.yAlign : yAlign\r\n\t};\r\n}\r\n\r\n/**\r\n * Helper to get the location a tooltip needs to be placed at given the initial position (via the vm) and the size and alignment\r\n */\r\nfunction getBackgroundPoint(vm, size, alignment, chart) {\r\n\t// Background Position\r\n\tvar x = vm.x;\r\n\tvar y = vm.y;\r\n\r\n\tvar caretSize = vm.caretSize;\r\n\tvar caretPadding = vm.caretPadding;\r\n\tvar cornerRadius = vm.cornerRadius;\r\n\tvar xAlign = alignment.xAlign;\r\n\tvar yAlign = alignment.yAlign;\r\n\tvar paddingAndSize = caretSize + caretPadding;\r\n\tvar radiusAndPadding = cornerRadius + caretPadding;\r\n\r\n\tif (xAlign === 'right') {\r\n\t\tx -= size.width;\r\n\t} else if (xAlign === 'center') {\r\n\t\tx -= (size.width / 2);\r\n\t\tif (x + size.width > chart.width) {\r\n\t\t\tx = chart.width - size.width;\r\n\t\t}\r\n\t\tif (x < 0) {\r\n\t\t\tx = 0;\r\n\t\t}\r\n\t}\r\n\r\n\tif (yAlign === 'top') {\r\n\t\ty += paddingAndSize;\r\n\t} else if (yAlign === 'bottom') {\r\n\t\ty -= size.height + paddingAndSize;\r\n\t} else {\r\n\t\ty -= (size.height / 2);\r\n\t}\r\n\r\n\tif (yAlign === 'center') {\r\n\t\tif (xAlign === 'left') {\r\n\t\t\tx += paddingAndSize;\r\n\t\t} else if (xAlign === 'right') {\r\n\t\t\tx -= paddingAndSize;\r\n\t\t}\r\n\t} else if (xAlign === 'left') {\r\n\t\tx -= radiusAndPadding;\r\n\t} else if (xAlign === 'right') {\r\n\t\tx += radiusAndPadding;\r\n\t}\r\n\r\n\treturn {\r\n\t\tx: x,\r\n\t\ty: y\r\n\t};\r\n}\r\n\r\nfunction getAlignedX(vm, align) {\r\n\treturn align === 'center'\r\n\t\t? vm.x + vm.width / 2\r\n\t\t: align === 'right'\r\n\t\t\t? vm.x + vm.width - vm.xPadding\r\n\t\t\t: vm.x + vm.xPadding;\r\n}\r\n\r\n/**\r\n * Helper to build before and after body lines\r\n */\r\nfunction getBeforeAfterBodyLines(callback) {\r\n\treturn pushOrConcat([], splitNewlines(callback));\r\n}\r\n\r\nvar exports$4 = core_element.extend({\r\n\tinitialize: function() {\r\n\t\tthis._model = getBaseModel(this._options);\r\n\t\tthis._lastActive = [];\r\n\t},\r\n\r\n\t// Get the title\r\n\t// Args are: (tooltipItem, data)\r\n\tgetTitle: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me._options;\r\n\t\tvar callbacks = opts.callbacks;\r\n\r\n\t\tvar beforeTitle = callbacks.beforeTitle.apply(me, arguments);\r\n\t\tvar title = callbacks.title.apply(me, arguments);\r\n\t\tvar afterTitle = callbacks.afterTitle.apply(me, arguments);\r\n\r\n\t\tvar lines = [];\r\n\t\tlines = pushOrConcat(lines, splitNewlines(beforeTitle));\r\n\t\tlines = pushOrConcat(lines, splitNewlines(title));\r\n\t\tlines = pushOrConcat(lines, splitNewlines(afterTitle));\r\n\r\n\t\treturn lines;\r\n\t},\r\n\r\n\t// Args are: (tooltipItem, data)\r\n\tgetBeforeBody: function() {\r\n\t\treturn getBeforeAfterBodyLines(this._options.callbacks.beforeBody.apply(this, arguments));\r\n\t},\r\n\r\n\t// Args are: (tooltipItem, data)\r\n\tgetBody: function(tooltipItems, data) {\r\n\t\tvar me = this;\r\n\t\tvar callbacks = me._options.callbacks;\r\n\t\tvar bodyItems = [];\r\n\r\n\t\thelpers$1.each(tooltipItems, function(tooltipItem) {\r\n\t\t\tvar bodyItem = {\r\n\t\t\t\tbefore: [],\r\n\t\t\t\tlines: [],\r\n\t\t\t\tafter: []\r\n\t\t\t};\r\n\t\t\tpushOrConcat(bodyItem.before, splitNewlines(callbacks.beforeLabel.call(me, tooltipItem, data)));\r\n\t\t\tpushOrConcat(bodyItem.lines, callbacks.label.call(me, tooltipItem, data));\r\n\t\t\tpushOrConcat(bodyItem.after, splitNewlines(callbacks.afterLabel.call(me, tooltipItem, data)));\r\n\r\n\t\t\tbodyItems.push(bodyItem);\r\n\t\t});\r\n\r\n\t\treturn bodyItems;\r\n\t},\r\n\r\n\t// Args are: (tooltipItem, data)\r\n\tgetAfterBody: function() {\r\n\t\treturn getBeforeAfterBodyLines(this._options.callbacks.afterBody.apply(this, arguments));\r\n\t},\r\n\r\n\t// Get the footer and beforeFooter and afterFooter lines\r\n\t// Args are: (tooltipItem, data)\r\n\tgetFooter: function() {\r\n\t\tvar me = this;\r\n\t\tvar callbacks = me._options.callbacks;\r\n\r\n\t\tvar beforeFooter = callbacks.beforeFooter.apply(me, arguments);\r\n\t\tvar footer = callbacks.footer.apply(me, arguments);\r\n\t\tvar afterFooter = callbacks.afterFooter.apply(me, arguments);\r\n\r\n\t\tvar lines = [];\r\n\t\tlines = pushOrConcat(lines, splitNewlines(beforeFooter));\r\n\t\tlines = pushOrConcat(lines, splitNewlines(footer));\r\n\t\tlines = pushOrConcat(lines, splitNewlines(afterFooter));\r\n\r\n\t\treturn lines;\r\n\t},\r\n\r\n\tupdate: function(changed) {\r\n\t\tvar me = this;\r\n\t\tvar opts = me._options;\r\n\r\n\t\t// Need to regenerate the model because its faster than using extend and it is necessary due to the optimization in Chart.Element.transition\r\n\t\t// that does _view = _model if ease === 1. This causes the 2nd tooltip update to set properties in both the view and model at the same time\r\n\t\t// which breaks any animations.\r\n\t\tvar existingModel = me._model;\r\n\t\tvar model = me._model = getBaseModel(opts);\r\n\t\tvar active = me._active;\r\n\r\n\t\tvar data = me._data;\r\n\r\n\t\t// In the case where active.length === 0 we need to keep these at existing values for good animations\r\n\t\tvar alignment = {\r\n\t\t\txAlign: existingModel.xAlign,\r\n\t\t\tyAlign: existingModel.yAlign\r\n\t\t};\r\n\t\tvar backgroundPoint = {\r\n\t\t\tx: existingModel.x,\r\n\t\t\ty: existingModel.y\r\n\t\t};\r\n\t\tvar tooltipSize = {\r\n\t\t\twidth: existingModel.width,\r\n\t\t\theight: existingModel.height\r\n\t\t};\r\n\t\tvar tooltipPosition = {\r\n\t\t\tx: existingModel.caretX,\r\n\t\t\ty: existingModel.caretY\r\n\t\t};\r\n\r\n\t\tvar i, len;\r\n\r\n\t\tif (active.length) {\r\n\t\t\tmodel.opacity = 1;\r\n\r\n\t\t\tvar labelColors = [];\r\n\t\t\tvar labelTextColors = [];\r\n\t\t\ttooltipPosition = positioners[opts.position].call(me, active, me._eventPosition);\r\n\r\n\t\t\tvar tooltipItems = [];\r\n\t\t\tfor (i = 0, len = active.length; i < len; ++i) {\r\n\t\t\t\ttooltipItems.push(createTooltipItem(active[i]));\r\n\t\t\t}\r\n\r\n\t\t\t// If the user provided a filter function, use it to modify the tooltip items\r\n\t\t\tif (opts.filter) {\r\n\t\t\t\ttooltipItems = tooltipItems.filter(function(a) {\r\n\t\t\t\t\treturn opts.filter(a, data);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// If the user provided a sorting function, use it to modify the tooltip items\r\n\t\t\tif (opts.itemSort) {\r\n\t\t\t\ttooltipItems = tooltipItems.sort(function(a, b) {\r\n\t\t\t\t\treturn opts.itemSort(a, b, data);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// Determine colors for boxes\r\n\t\t\thelpers$1.each(tooltipItems, function(tooltipItem) {\r\n\t\t\t\tlabelColors.push(opts.callbacks.labelColor.call(me, tooltipItem, me._chart));\r\n\t\t\t\tlabelTextColors.push(opts.callbacks.labelTextColor.call(me, tooltipItem, me._chart));\r\n\t\t\t});\r\n\r\n\r\n\t\t\t// Build the Text Lines\r\n\t\t\tmodel.title = me.getTitle(tooltipItems, data);\r\n\t\t\tmodel.beforeBody = me.getBeforeBody(tooltipItems, data);\r\n\t\t\tmodel.body = me.getBody(tooltipItems, data);\r\n\t\t\tmodel.afterBody = me.getAfterBody(tooltipItems, data);\r\n\t\t\tmodel.footer = me.getFooter(tooltipItems, data);\r\n\r\n\t\t\t// Initial positioning and colors\r\n\t\t\tmodel.x = tooltipPosition.x;\r\n\t\t\tmodel.y = tooltipPosition.y;\r\n\t\t\tmodel.caretPadding = opts.caretPadding;\r\n\t\t\tmodel.labelColors = labelColors;\r\n\t\t\tmodel.labelTextColors = labelTextColors;\r\n\r\n\t\t\t// data points\r\n\t\t\tmodel.dataPoints = tooltipItems;\r\n\r\n\t\t\t// We need to determine alignment of the tooltip\r\n\t\t\ttooltipSize = getTooltipSize(this, model);\r\n\t\t\talignment = determineAlignment(this, tooltipSize);\r\n\t\t\t// Final Size and Position\r\n\t\t\tbackgroundPoint = getBackgroundPoint(model, tooltipSize, alignment, me._chart);\r\n\t\t} else {\r\n\t\t\tmodel.opacity = 0;\r\n\t\t}\r\n\r\n\t\tmodel.xAlign = alignment.xAlign;\r\n\t\tmodel.yAlign = alignment.yAlign;\r\n\t\tmodel.x = backgroundPoint.x;\r\n\t\tmodel.y = backgroundPoint.y;\r\n\t\tmodel.width = tooltipSize.width;\r\n\t\tmodel.height = tooltipSize.height;\r\n\r\n\t\t// Point where the caret on the tooltip points to\r\n\t\tmodel.caretX = tooltipPosition.x;\r\n\t\tmodel.caretY = tooltipPosition.y;\r\n\r\n\t\tme._model = model;\r\n\r\n\t\tif (changed && opts.custom) {\r\n\t\t\topts.custom.call(me, model);\r\n\t\t}\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\tdrawCaret: function(tooltipPoint, size) {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar caretPosition = this.getCaretPosition(tooltipPoint, size, vm);\r\n\r\n\t\tctx.lineTo(caretPosition.x1, caretPosition.y1);\r\n\t\tctx.lineTo(caretPosition.x2, caretPosition.y2);\r\n\t\tctx.lineTo(caretPosition.x3, caretPosition.y3);\r\n\t},\r\n\tgetCaretPosition: function(tooltipPoint, size, vm) {\r\n\t\tvar x1, x2, x3, y1, y2, y3;\r\n\t\tvar caretSize = vm.caretSize;\r\n\t\tvar cornerRadius = vm.cornerRadius;\r\n\t\tvar xAlign = vm.xAlign;\r\n\t\tvar yAlign = vm.yAlign;\r\n\t\tvar ptX = tooltipPoint.x;\r\n\t\tvar ptY = tooltipPoint.y;\r\n\t\tvar width = size.width;\r\n\t\tvar height = size.height;\r\n\r\n\t\tif (yAlign === 'center') {\r\n\t\t\ty2 = ptY + (height / 2);\r\n\r\n\t\t\tif (xAlign === 'left') {\r\n\t\t\t\tx1 = ptX;\r\n\t\t\t\tx2 = x1 - caretSize;\r\n\t\t\t\tx3 = x1;\r\n\r\n\t\t\t\ty1 = y2 + caretSize;\r\n\t\t\t\ty3 = y2 - caretSize;\r\n\t\t\t} else {\r\n\t\t\t\tx1 = ptX + width;\r\n\t\t\t\tx2 = x1 + caretSize;\r\n\t\t\t\tx3 = x1;\r\n\r\n\t\t\t\ty1 = y2 - caretSize;\r\n\t\t\t\ty3 = y2 + caretSize;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (xAlign === 'left') {\r\n\t\t\t\tx2 = ptX + cornerRadius + (caretSize);\r\n\t\t\t\tx1 = x2 - caretSize;\r\n\t\t\t\tx3 = x2 + caretSize;\r\n\t\t\t} else if (xAlign === 'right') {\r\n\t\t\t\tx2 = ptX + width - cornerRadius - caretSize;\r\n\t\t\t\tx1 = x2 - caretSize;\r\n\t\t\t\tx3 = x2 + caretSize;\r\n\t\t\t} else {\r\n\t\t\t\tx2 = vm.caretX;\r\n\t\t\t\tx1 = x2 - caretSize;\r\n\t\t\t\tx3 = x2 + caretSize;\r\n\t\t\t}\r\n\t\t\tif (yAlign === 'top') {\r\n\t\t\t\ty1 = ptY;\r\n\t\t\t\ty2 = y1 - caretSize;\r\n\t\t\t\ty3 = y1;\r\n\t\t\t} else {\r\n\t\t\t\ty1 = ptY + height;\r\n\t\t\t\ty2 = y1 + caretSize;\r\n\t\t\t\ty3 = y1;\r\n\t\t\t\t// invert drawing order\r\n\t\t\t\tvar tmp = x3;\r\n\t\t\t\tx3 = x1;\r\n\t\t\t\tx1 = tmp;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {x1: x1, x2: x2, x3: x3, y1: y1, y2: y2, y3: y3};\r\n\t},\r\n\r\n\tdrawTitle: function(pt, vm, ctx) {\r\n\t\tvar title = vm.title;\r\n\t\tvar length = title.length;\r\n\t\tvar titleFontSize, titleSpacing, i;\r\n\r\n\t\tif (length) {\r\n\t\t\tvar rtlHelper = getRtlHelper(vm.rtl, vm.x, vm.width);\r\n\r\n\t\t\tpt.x = getAlignedX(vm, vm._titleAlign);\r\n\r\n\t\t\tctx.textAlign = rtlHelper.textAlign(vm._titleAlign);\r\n\t\t\tctx.textBaseline = 'middle';\r\n\r\n\t\t\ttitleFontSize = vm.titleFontSize;\r\n\t\t\ttitleSpacing = vm.titleSpacing;\r\n\r\n\t\t\tctx.fillStyle = vm.titleFontColor;\r\n\t\t\tctx.font = helpers$1.fontString(titleFontSize, vm._titleFontStyle, vm._titleFontFamily);\r\n\r\n\t\t\tfor (i = 0; i < length; ++i) {\r\n\t\t\t\tctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFontSize / 2);\r\n\t\t\t\tpt.y += titleFontSize + titleSpacing; // Line Height and spacing\r\n\r\n\t\t\t\tif (i + 1 === length) {\r\n\t\t\t\t\tpt.y += vm.titleMarginBottom - titleSpacing; // If Last, add margin, remove spacing\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tdrawBody: function(pt, vm, ctx) {\r\n\t\tvar bodyFontSize = vm.bodyFontSize;\r\n\t\tvar bodySpacing = vm.bodySpacing;\r\n\t\tvar bodyAlign = vm._bodyAlign;\r\n\t\tvar body = vm.body;\r\n\t\tvar drawColorBoxes = vm.displayColors;\r\n\t\tvar xLinePadding = 0;\r\n\t\tvar colorX = drawColorBoxes ? getAlignedX(vm, 'left') : 0;\r\n\r\n\t\tvar rtlHelper = getRtlHelper(vm.rtl, vm.x, vm.width);\r\n\r\n\t\tvar fillLineOfText = function(line) {\r\n\t\t\tctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyFontSize / 2);\r\n\t\t\tpt.y += bodyFontSize + bodySpacing;\r\n\t\t};\r\n\r\n\t\tvar bodyItem, textColor, labelColors, lines, i, j, ilen, jlen;\r\n\t\tvar bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\r\n\r\n\t\tctx.textAlign = bodyAlign;\r\n\t\tctx.textBaseline = 'middle';\r\n\t\tctx.font = helpers$1.fontString(bodyFontSize, vm._bodyFontStyle, vm._bodyFontFamily);\r\n\r\n\t\tpt.x = getAlignedX(vm, bodyAlignForCalculation);\r\n\r\n\t\t// Before body lines\r\n\t\tctx.fillStyle = vm.bodyFontColor;\r\n\t\thelpers$1.each(vm.beforeBody, fillLineOfText);\r\n\r\n\t\txLinePadding = drawColorBoxes && bodyAlignForCalculation !== 'right'\r\n\t\t\t? bodyAlign === 'center' ? (bodyFontSize / 2 + 1) : (bodyFontSize + 2)\r\n\t\t\t: 0;\r\n\r\n\t\t// Draw body lines now\r\n\t\tfor (i = 0, ilen = body.length; i < ilen; ++i) {\r\n\t\t\tbodyItem = body[i];\r\n\t\t\ttextColor = vm.labelTextColors[i];\r\n\t\t\tlabelColors = vm.labelColors[i];\r\n\r\n\t\t\tctx.fillStyle = textColor;\r\n\t\t\thelpers$1.each(bodyItem.before, fillLineOfText);\r\n\r\n\t\t\tlines = bodyItem.lines;\r\n\t\t\tfor (j = 0, jlen = lines.length; j < jlen; ++j) {\r\n\t\t\t\t// Draw Legend-like boxes if needed\r\n\t\t\t\tif (drawColorBoxes) {\r\n\t\t\t\t\tvar rtlColorX = rtlHelper.x(colorX);\r\n\r\n\t\t\t\t\t// Fill a white rect so that colours merge nicely if the opacity is < 1\r\n\t\t\t\t\tctx.fillStyle = vm.legendColorBackground;\r\n\t\t\t\t\tctx.fillRect(rtlHelper.leftForLtr(rtlColorX, bodyFontSize), pt.y, bodyFontSize, bodyFontSize);\r\n\r\n\t\t\t\t\t// Border\r\n\t\t\t\t\tctx.lineWidth = 1;\r\n\t\t\t\t\tctx.strokeStyle = labelColors.borderColor;\r\n\t\t\t\t\tctx.strokeRect(rtlHelper.leftForLtr(rtlColorX, bodyFontSize), pt.y, bodyFontSize, bodyFontSize);\r\n\r\n\t\t\t\t\t// Inner square\r\n\t\t\t\t\tctx.fillStyle = labelColors.backgroundColor;\r\n\t\t\t\t\tctx.fillRect(rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), bodyFontSize - 2), pt.y + 1, bodyFontSize - 2, bodyFontSize - 2);\r\n\t\t\t\t\tctx.fillStyle = textColor;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfillLineOfText(lines[j]);\r\n\t\t\t}\r\n\r\n\t\t\thelpers$1.each(bodyItem.after, fillLineOfText);\r\n\t\t}\r\n\r\n\t\t// Reset back to 0 for after body\r\n\t\txLinePadding = 0;\r\n\r\n\t\t// After body lines\r\n\t\thelpers$1.each(vm.afterBody, fillLineOfText);\r\n\t\tpt.y -= bodySpacing; // Remove last body spacing\r\n\t},\r\n\r\n\tdrawFooter: function(pt, vm, ctx) {\r\n\t\tvar footer = vm.footer;\r\n\t\tvar length = footer.length;\r\n\t\tvar footerFontSize, i;\r\n\r\n\t\tif (length) {\r\n\t\t\tvar rtlHelper = getRtlHelper(vm.rtl, vm.x, vm.width);\r\n\r\n\t\t\tpt.x = getAlignedX(vm, vm._footerAlign);\r\n\t\t\tpt.y += vm.footerMarginTop;\r\n\r\n\t\t\tctx.textAlign = rtlHelper.textAlign(vm._footerAlign);\r\n\t\t\tctx.textBaseline = 'middle';\r\n\r\n\t\t\tfooterFontSize = vm.footerFontSize;\r\n\r\n\t\t\tctx.fillStyle = vm.footerFontColor;\r\n\t\t\tctx.font = helpers$1.fontString(footerFontSize, vm._footerFontStyle, vm._footerFontFamily);\r\n\r\n\t\t\tfor (i = 0; i < length; ++i) {\r\n\t\t\t\tctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFontSize / 2);\r\n\t\t\t\tpt.y += footerFontSize + vm.footerSpacing;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tdrawBackground: function(pt, vm, ctx, tooltipSize) {\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.strokeStyle = vm.borderColor;\r\n\t\tctx.lineWidth = vm.borderWidth;\r\n\t\tvar xAlign = vm.xAlign;\r\n\t\tvar yAlign = vm.yAlign;\r\n\t\tvar x = pt.x;\r\n\t\tvar y = pt.y;\r\n\t\tvar width = tooltipSize.width;\r\n\t\tvar height = tooltipSize.height;\r\n\t\tvar radius = vm.cornerRadius;\r\n\r\n\t\tctx.beginPath();\r\n\t\tctx.moveTo(x + radius, y);\r\n\t\tif (yAlign === 'top') {\r\n\t\t\tthis.drawCaret(pt, tooltipSize);\r\n\t\t}\r\n\t\tctx.lineTo(x + width - radius, y);\r\n\t\tctx.quadraticCurveTo(x + width, y, x + width, y + radius);\r\n\t\tif (yAlign === 'center' && xAlign === 'right') {\r\n\t\t\tthis.drawCaret(pt, tooltipSize);\r\n\t\t}\r\n\t\tctx.lineTo(x + width, y + height - radius);\r\n\t\tctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);\r\n\t\tif (yAlign === 'bottom') {\r\n\t\t\tthis.drawCaret(pt, tooltipSize);\r\n\t\t}\r\n\t\tctx.lineTo(x + radius, y + height);\r\n\t\tctx.quadraticCurveTo(x, y + height, x, y + height - radius);\r\n\t\tif (yAlign === 'center' && xAlign === 'left') {\r\n\t\t\tthis.drawCaret(pt, tooltipSize);\r\n\t\t}\r\n\t\tctx.lineTo(x, y + radius);\r\n\t\tctx.quadraticCurveTo(x, y, x + radius, y);\r\n\t\tctx.closePath();\r\n\r\n\t\tctx.fill();\r\n\r\n\t\tif (vm.borderWidth > 0) {\r\n\t\t\tctx.stroke();\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm.opacity === 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tooltipSize = {\r\n\t\t\twidth: vm.width,\r\n\t\t\theight: vm.height\r\n\t\t};\r\n\t\tvar pt = {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\r\n\t\t// IE11/Edge does not like very small opacities, so snap to 0\r\n\t\tvar opacity = Math.abs(vm.opacity < 1e-3) ? 0 : vm.opacity;\r\n\r\n\t\t// Truthy/falsey value for empty tooltip\r\n\t\tvar hasTooltipContent = vm.title.length || vm.beforeBody.length || vm.body.length || vm.afterBody.length || vm.footer.length;\r\n\r\n\t\tif (this._options.enabled && hasTooltipContent) {\r\n\t\t\tctx.save();\r\n\t\t\tctx.globalAlpha = opacity;\r\n\r\n\t\t\t// Draw Background\r\n\t\t\tthis.drawBackground(pt, vm, ctx, tooltipSize);\r\n\r\n\t\t\t// Draw Title, Body, and Footer\r\n\t\t\tpt.y += vm.yPadding;\r\n\r\n\t\t\thelpers$1.rtl.overrideTextDirection(ctx, vm.textDirection);\r\n\r\n\t\t\t// Titles\r\n\t\t\tthis.drawTitle(pt, vm, ctx);\r\n\r\n\t\t\t// Body\r\n\t\t\tthis.drawBody(pt, vm, ctx);\r\n\r\n\t\t\t// Footer\r\n\t\t\tthis.drawFooter(pt, vm, ctx);\r\n\r\n\t\t\thelpers$1.rtl.restoreTextDirection(ctx, vm.textDirection);\r\n\r\n\t\t\tctx.restore();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Handle an event\r\n\t * @private\r\n\t * @param {IEvent} event - The event to handle\r\n\t * @returns {boolean} true if the tooltip changed\r\n\t */\r\n\thandleEvent: function(e) {\r\n\t\tvar me = this;\r\n\t\tvar options = me._options;\r\n\t\tvar changed = false;\r\n\r\n\t\tme._lastActive = me._lastActive || [];\r\n\r\n\t\t// Find Active Elements for tooltips\r\n\t\tif (e.type === 'mouseout') {\r\n\t\t\tme._active = [];\r\n\t\t} else {\r\n\t\t\tme._active = me._chart.getElementsAtEventForMode(e, options.mode, options);\r\n\t\t\tif (options.reverse) {\r\n\t\t\t\tme._active.reverse();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Remember Last Actives\r\n\t\tchanged = !helpers$1.arrayEquals(me._active, me._lastActive);\r\n\r\n\t\t// Only handle target event on tooltip change\r\n\t\tif (changed) {\r\n\t\t\tme._lastActive = me._active;\r\n\r\n\t\t\tif (options.enabled || options.custom) {\r\n\t\t\t\tme._eventPosition = {\r\n\t\t\t\t\tx: e.x,\r\n\t\t\t\t\ty: e.y\r\n\t\t\t\t};\r\n\r\n\t\t\t\tme.update(true);\r\n\t\t\t\tme.pivot();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn changed;\r\n\t}\r\n});\r\n\r\n/**\r\n * @namespace Chart.Tooltip.positioners\r\n */\r\nvar positioners_1 = positioners;\r\n\r\nvar core_tooltip = exports$4;\ncore_tooltip.positioners = positioners_1;\n\nvar valueOrDefault$9 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {},\r\n\tevents: [\r\n\t\t'mousemove',\r\n\t\t'mouseout',\r\n\t\t'click',\r\n\t\t'touchstart',\r\n\t\t'touchmove'\r\n\t],\r\n\thover: {\r\n\t\tonHover: null,\r\n\t\tmode: 'nearest',\r\n\t\tintersect: true,\r\n\t\tanimationDuration: 400\r\n\t},\r\n\tonClick: null,\r\n\tmaintainAspectRatio: true,\r\n\tresponsive: true,\r\n\tresponsiveAnimationDuration: 0\r\n});\r\n\r\n/**\r\n * Recursively merge the given config objects representing the `scales` option\r\n * by incorporating scale defaults in `xAxes` and `yAxes` array items, then\r\n * returns a deep copy of the result, thus doesn't alter inputs.\r\n */\r\nfunction mergeScaleConfig(/* config objects ... */) {\r\n\treturn helpers$1.merge(Object.create(null), [].slice.call(arguments), {\r\n\t\tmerger: function(key, target, source, options) {\r\n\t\t\tif (key === 'xAxes' || key === 'yAxes') {\r\n\t\t\t\tvar slen = source[key].length;\r\n\t\t\t\tvar i, type, scale;\r\n\r\n\t\t\t\tif (!target[key]) {\r\n\t\t\t\t\ttarget[key] = [];\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (i = 0; i < slen; ++i) {\r\n\t\t\t\t\tscale = source[key][i];\r\n\t\t\t\t\ttype = valueOrDefault$9(scale.type, key === 'xAxes' ? 'category' : 'linear');\r\n\r\n\t\t\t\t\tif (i >= target[key].length) {\r\n\t\t\t\t\t\ttarget[key].push({});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (!target[key][i].type || (scale.type && scale.type !== target[key][i].type)) {\r\n\t\t\t\t\t\t// new/untyped scale or type changed: let's apply the new defaults\r\n\t\t\t\t\t\t// then merge source scale to correctly overwrite the defaults.\r\n\t\t\t\t\t\thelpers$1.merge(target[key][i], [core_scaleService.getScaleDefaults(type), scale]);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// scales type are the same\r\n\t\t\t\t\t\thelpers$1.merge(target[key][i], scale);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\thelpers$1._merger(key, target, source, options);\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * Recursively merge the given config objects as the root options by handling\r\n * default scale options for the `scales` and `scale` properties, then returns\r\n * a deep copy of the result, thus doesn't alter inputs.\r\n */\r\nfunction mergeConfig(/* config objects ... */) {\r\n\treturn helpers$1.merge(Object.create(null), [].slice.call(arguments), {\r\n\t\tmerger: function(key, target, source, options) {\r\n\t\t\tvar tval = target[key] || Object.create(null);\r\n\t\t\tvar sval = source[key];\r\n\r\n\t\t\tif (key === 'scales') {\r\n\t\t\t\t// scale config merging is complex. Add our own function here for that\r\n\t\t\t\ttarget[key] = mergeScaleConfig(tval, sval);\r\n\t\t\t} else if (key === 'scale') {\r\n\t\t\t\t// used in polar area & radar charts since there is only one scale\r\n\t\t\t\ttarget[key] = helpers$1.merge(tval, [core_scaleService.getScaleDefaults(sval.type), sval]);\r\n\t\t\t} else {\r\n\t\t\t\thelpers$1._merger(key, target, source, options);\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction initConfig(config) {\r\n\tconfig = config || Object.create(null);\r\n\r\n\t// Do NOT use mergeConfig for the data object because this method merges arrays\r\n\t// and so would change references to labels and datasets, preventing data updates.\r\n\tvar data = config.data = config.data || {};\r\n\tdata.datasets = data.datasets || [];\r\n\tdata.labels = data.labels || [];\r\n\r\n\tconfig.options = mergeConfig(\r\n\t\tcore_defaults.global,\r\n\t\tcore_defaults[config.type],\r\n\t\tconfig.options || {});\r\n\r\n\treturn config;\r\n}\r\n\r\nfunction updateConfig(chart) {\r\n\tvar newOptions = chart.options;\r\n\r\n\thelpers$1.each(chart.scales, function(scale) {\r\n\t\tcore_layouts.removeBox(chart, scale);\r\n\t});\r\n\r\n\tnewOptions = mergeConfig(\r\n\t\tcore_defaults.global,\r\n\t\tcore_defaults[chart.config.type],\r\n\t\tnewOptions);\r\n\r\n\tchart.options = chart.config.options = newOptions;\r\n\tchart.ensureScalesHaveIDs();\r\n\tchart.buildOrUpdateScales();\r\n\r\n\t// Tooltip\r\n\tchart.tooltip._options = newOptions.tooltips;\r\n\tchart.tooltip.initialize();\r\n}\r\n\r\nfunction nextAvailableScaleId(axesOpts, prefix, index) {\r\n\tvar id;\r\n\tvar hasId = function(obj) {\r\n\t\treturn obj.id === id;\r\n\t};\r\n\r\n\tdo {\r\n\t\tid = prefix + index++;\r\n\t} while (helpers$1.findIndex(axesOpts, hasId) >= 0);\r\n\r\n\treturn id;\r\n}\r\n\r\nfunction positionIsHorizontal(position) {\r\n\treturn position === 'top' || position === 'bottom';\r\n}\r\n\r\nfunction compare2Level(l1, l2) {\r\n\treturn function(a, b) {\r\n\t\treturn a[l1] === b[l1]\r\n\t\t\t? a[l2] - b[l2]\r\n\t\t\t: a[l1] - b[l1];\r\n\t};\r\n}\r\n\r\nvar Chart = function(item, config) {\r\n\tthis.construct(item, config);\r\n\treturn this;\r\n};\r\n\r\nhelpers$1.extend(Chart.prototype, /** @lends Chart */ {\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tconstruct: function(item, config) {\r\n\t\tvar me = this;\r\n\r\n\t\tconfig = initConfig(config);\r\n\r\n\t\tvar context = platform.acquireContext(item, config);\r\n\t\tvar canvas = context && context.canvas;\r\n\t\tvar height = canvas && canvas.height;\r\n\t\tvar width = canvas && canvas.width;\r\n\r\n\t\tme.id = helpers$1.uid();\r\n\t\tme.ctx = context;\r\n\t\tme.canvas = canvas;\r\n\t\tme.config = config;\r\n\t\tme.width = width;\r\n\t\tme.height = height;\r\n\t\tme.aspectRatio = height ? width / height : null;\r\n\t\tme.options = config.options;\r\n\t\tme._bufferedRender = false;\r\n\t\tme._layers = [];\r\n\r\n\t\t/**\r\n\t\t * Provided for backward compatibility, Chart and Chart.Controller have been merged,\r\n\t\t * the \"instance\" still need to be defined since it might be called from plugins.\r\n\t\t * @prop Chart#chart\r\n\t\t * @deprecated since version 2.6.0\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\tme.chart = me;\r\n\t\tme.controller = me; // chart.chart.controller #inception\r\n\r\n\t\t// Add the chart instance to the global namespace\r\n\t\tChart.instances[me.id] = me;\r\n\r\n\t\t// Define alias to the config data: `chart.data === chart.config.data`\r\n\t\tObject.defineProperty(me, 'data', {\r\n\t\t\tget: function() {\r\n\t\t\t\treturn me.config.data;\r\n\t\t\t},\r\n\t\t\tset: function(value) {\r\n\t\t\t\tme.config.data = value;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (!context || !canvas) {\r\n\t\t\t// The given item is not a compatible context2d element, let's return before finalizing\r\n\t\t\t// the chart initialization but after setting basic chart / controller properties that\r\n\t\t\t// can help to figure out that the chart is not valid (e.g chart.canvas !== null);\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/2807\r\n\t\t\tconsole.error(\"Failed to create chart: can't acquire context from the given item\");\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tme.initialize();\r\n\t\tme.update();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tinitialize: function() {\r\n\t\tvar me = this;\r\n\r\n\t\t// Before init plugin notification\r\n\t\tcore_plugins.notify(me, 'beforeInit');\r\n\r\n\t\thelpers$1.retinaScale(me, me.options.devicePixelRatio);\r\n\r\n\t\tme.bindEvents();\r\n\r\n\t\tif (me.options.responsive) {\r\n\t\t\t// Initial resize before chart draws (must be silent to preserve initial animations).\r\n\t\t\tme.resize(true);\r\n\t\t}\r\n\r\n\t\tme.initToolTip();\r\n\r\n\t\t// After init plugin notification\r\n\t\tcore_plugins.notify(me, 'afterInit');\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\tclear: function() {\r\n\t\thelpers$1.canvas.clear(this);\r\n\t\treturn this;\r\n\t},\r\n\r\n\tstop: function() {\r\n\t\t// Stops any current animation loop occurring\r\n\t\tcore_animations.cancelAnimation(this);\r\n\t\treturn this;\r\n\t},\r\n\r\n\tresize: function(silent) {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options;\r\n\t\tvar canvas = me.canvas;\r\n\t\tvar aspectRatio = (options.maintainAspectRatio && me.aspectRatio) || null;\r\n\r\n\t\t// the canvas render width and height will be casted to integers so make sure that\r\n\t\t// the canvas display style uses the same integer values to avoid blurring effect.\r\n\r\n\t\t// Set to 0 instead of canvas.size because the size defaults to 300x150 if the element is collapsed\r\n\t\tvar newWidth = Math.max(0, Math.floor(helpers$1.getMaximumWidth(canvas)));\r\n\t\tvar newHeight = Math.max(0, Math.floor(aspectRatio ? newWidth / aspectRatio : helpers$1.getMaximumHeight(canvas)));\r\n\r\n\t\tif (me.width === newWidth && me.height === newHeight) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tcanvas.width = me.width = newWidth;\r\n\t\tcanvas.height = me.height = newHeight;\r\n\t\tcanvas.style.width = newWidth + 'px';\r\n\t\tcanvas.style.height = newHeight + 'px';\r\n\r\n\t\thelpers$1.retinaScale(me, options.devicePixelRatio);\r\n\r\n\t\tif (!silent) {\r\n\t\t\t// Notify any plugins about the resize\r\n\t\t\tvar newSize = {width: newWidth, height: newHeight};\r\n\t\t\tcore_plugins.notify(me, 'resize', [newSize]);\r\n\r\n\t\t\t// Notify of resize\r\n\t\t\tif (options.onResize) {\r\n\t\t\t\toptions.onResize(me, newSize);\r\n\t\t\t}\r\n\r\n\t\t\tme.stop();\r\n\t\t\tme.update({\r\n\t\t\t\tduration: options.responsiveAnimationDuration\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\tensureScalesHaveIDs: function() {\r\n\t\tvar options = this.options;\r\n\t\tvar scalesOptions = options.scales || {};\r\n\t\tvar scaleOptions = options.scale;\r\n\r\n\t\thelpers$1.each(scalesOptions.xAxes, function(xAxisOptions, index) {\r\n\t\t\tif (!xAxisOptions.id) {\r\n\t\t\t\txAxisOptions.id = nextAvailableScaleId(scalesOptions.xAxes, 'x-axis-', index);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\thelpers$1.each(scalesOptions.yAxes, function(yAxisOptions, index) {\r\n\t\t\tif (!yAxisOptions.id) {\r\n\t\t\t\tyAxisOptions.id = nextAvailableScaleId(scalesOptions.yAxes, 'y-axis-', index);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (scaleOptions) {\r\n\t\t\tscaleOptions.id = scaleOptions.id || 'scale';\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Builds a map of scale ID to scale object for future lookup.\r\n\t */\r\n\tbuildOrUpdateScales: function() {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options;\r\n\t\tvar scales = me.scales || {};\r\n\t\tvar items = [];\r\n\t\tvar updated = Object.keys(scales).reduce(function(obj, id) {\r\n\t\t\tobj[id] = false;\r\n\t\t\treturn obj;\r\n\t\t}, {});\r\n\r\n\t\tif (options.scales) {\r\n\t\t\titems = items.concat(\r\n\t\t\t\t(options.scales.xAxes || []).map(function(xAxisOptions) {\r\n\t\t\t\t\treturn {options: xAxisOptions, dtype: 'category', dposition: 'bottom'};\r\n\t\t\t\t}),\r\n\t\t\t\t(options.scales.yAxes || []).map(function(yAxisOptions) {\r\n\t\t\t\t\treturn {options: yAxisOptions, dtype: 'linear', dposition: 'left'};\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (options.scale) {\r\n\t\t\titems.push({\r\n\t\t\t\toptions: options.scale,\r\n\t\t\t\tdtype: 'radialLinear',\r\n\t\t\t\tisDefault: true,\r\n\t\t\t\tdposition: 'chartArea'\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\thelpers$1.each(items, function(item) {\r\n\t\t\tvar scaleOptions = item.options;\r\n\t\t\tvar id = scaleOptions.id;\r\n\t\t\tvar scaleType = valueOrDefault$9(scaleOptions.type, item.dtype);\r\n\r\n\t\t\tif (positionIsHorizontal(scaleOptions.position) !== positionIsHorizontal(item.dposition)) {\r\n\t\t\t\tscaleOptions.position = item.dposition;\r\n\t\t\t}\r\n\r\n\t\t\tupdated[id] = true;\r\n\t\t\tvar scale = null;\r\n\t\t\tif (id in scales && scales[id].type === scaleType) {\r\n\t\t\t\tscale = scales[id];\r\n\t\t\t\tscale.options = scaleOptions;\r\n\t\t\t\tscale.ctx = me.ctx;\r\n\t\t\t\tscale.chart = me;\r\n\t\t\t} else {\r\n\t\t\t\tvar scaleClass = core_scaleService.getScaleConstructor(scaleType);\r\n\t\t\t\tif (!scaleClass) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tscale = new scaleClass({\r\n\t\t\t\t\tid: id,\r\n\t\t\t\t\ttype: scaleType,\r\n\t\t\t\t\toptions: scaleOptions,\r\n\t\t\t\t\tctx: me.ctx,\r\n\t\t\t\t\tchart: me\r\n\t\t\t\t});\r\n\t\t\t\tscales[scale.id] = scale;\r\n\t\t\t}\r\n\r\n\t\t\tscale.mergeTicksOptions();\r\n\r\n\t\t\t// TODO(SB): I think we should be able to remove this custom case (options.scale)\r\n\t\t\t// and consider it as a regular scale part of the \"scales\"\" map only! This would\r\n\t\t\t// make the logic easier and remove some useless? custom code.\r\n\t\t\tif (item.isDefault) {\r\n\t\t\t\tme.scale = scale;\r\n\t\t\t}\r\n\t\t});\r\n\t\t// clear up discarded scales\r\n\t\thelpers$1.each(updated, function(hasUpdated, id) {\r\n\t\t\tif (!hasUpdated) {\r\n\t\t\t\tdelete scales[id];\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tme.scales = scales;\r\n\r\n\t\tcore_scaleService.addScalesToLayout(this);\r\n\t},\r\n\r\n\tbuildOrUpdateControllers: function() {\r\n\t\tvar me = this;\r\n\t\tvar newControllers = [];\r\n\t\tvar datasets = me.data.datasets;\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = datasets.length; i < ilen; i++) {\r\n\t\t\tvar dataset = datasets[i];\r\n\t\t\tvar meta = me.getDatasetMeta(i);\r\n\t\t\tvar type = dataset.type || me.config.type;\r\n\r\n\t\t\tif (meta.type && meta.type !== type) {\r\n\t\t\t\tme.destroyDatasetMeta(i);\r\n\t\t\t\tmeta = me.getDatasetMeta(i);\r\n\t\t\t}\r\n\t\t\tmeta.type = type;\r\n\t\t\tmeta.order = dataset.order || 0;\r\n\t\t\tmeta.index = i;\r\n\r\n\t\t\tif (meta.controller) {\r\n\t\t\t\tmeta.controller.updateIndex(i);\r\n\t\t\t\tmeta.controller.linkScales();\r\n\t\t\t} else {\r\n\t\t\t\tvar ControllerClass = controllers[meta.type];\r\n\t\t\t\tif (ControllerClass === undefined) {\r\n\t\t\t\t\tthrow new Error('\"' + meta.type + '\" is not a chart type.');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tmeta.controller = new ControllerClass(me, i);\r\n\t\t\t\tnewControllers.push(meta.controller);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn newControllers;\r\n\t},\r\n\r\n\t/**\r\n\t * Reset the elements of all datasets\r\n\t * @private\r\n\t */\r\n\tresetElements: function() {\r\n\t\tvar me = this;\r\n\t\thelpers$1.each(me.data.datasets, function(dataset, datasetIndex) {\r\n\t\t\tme.getDatasetMeta(datasetIndex).controller.reset();\r\n\t\t}, me);\r\n\t},\r\n\r\n\t/**\r\n\t* Resets the chart back to it's state before the initial animation\r\n\t*/\r\n\treset: function() {\r\n\t\tthis.resetElements();\r\n\t\tthis.tooltip.initialize();\r\n\t},\r\n\r\n\tupdate: function(config) {\r\n\t\tvar me = this;\r\n\t\tvar i, ilen;\r\n\r\n\t\tif (!config || typeof config !== 'object') {\r\n\t\t\t// backwards compatibility\r\n\t\t\tconfig = {\r\n\t\t\t\tduration: config,\r\n\t\t\t\tlazy: arguments[1]\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tupdateConfig(me);\r\n\r\n\t\t// plugins options references might have change, let's invalidate the cache\r\n\t\t// https://github.com/chartjs/Chart.js/issues/5111#issuecomment-355934167\r\n\t\tcore_plugins._invalidate(me);\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeUpdate') === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// In case the entire data object changed\r\n\t\tme.tooltip._data = me.data;\r\n\r\n\t\t// Make sure dataset controllers are updated and new controllers are reset\r\n\t\tvar newControllers = me.buildOrUpdateControllers();\r\n\r\n\t\t// Make sure all dataset controllers have correct meta data counts\r\n\t\tfor (i = 0, ilen = me.data.datasets.length; i < ilen; i++) {\r\n\t\t\tme.getDatasetMeta(i).controller.buildOrUpdateElements();\r\n\t\t}\r\n\r\n\t\tme.updateLayout();\r\n\r\n\t\t// Can only reset the new controllers after the scales have been updated\r\n\t\tif (me.options.animation && me.options.animation.duration) {\r\n\t\t\thelpers$1.each(newControllers, function(controller) {\r\n\t\t\t\tcontroller.reset();\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tme.updateDatasets();\r\n\r\n\t\t// Need to reset tooltip in case it is displayed with elements that are removed\r\n\t\t// after update.\r\n\t\tme.tooltip.initialize();\r\n\r\n\t\t// Last active contains items that were previously in the tooltip.\r\n\t\t// When we reset the tooltip, we need to clear it\r\n\t\tme.lastActive = [];\r\n\r\n\t\t// Do this before render so that any plugins that need final scale updates can use it\r\n\t\tcore_plugins.notify(me, 'afterUpdate');\r\n\r\n\t\tme._layers.sort(compare2Level('z', '_idx'));\r\n\r\n\t\tif (me._bufferedRender) {\r\n\t\t\tme._bufferedRequest = {\r\n\t\t\t\tduration: config.duration,\r\n\t\t\t\teasing: config.easing,\r\n\t\t\t\tlazy: config.lazy\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\tme.render(config);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Updates the chart layout unless a plugin returns `false` to the `beforeLayout`\r\n\t * hook, in which case, plugins will not be called on `afterLayout`.\r\n\t * @private\r\n\t */\r\n\tupdateLayout: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeLayout') === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tcore_layouts.update(this, this.width, this.height);\r\n\r\n\t\tme._layers = [];\r\n\t\thelpers$1.each(me.boxes, function(box) {\r\n\t\t\t// _configure is called twice, once in core.scale.update and once here.\r\n\t\t\t// Here the boxes are fully updated and at their final positions.\r\n\t\t\tif (box._configure) {\r\n\t\t\t\tbox._configure();\r\n\t\t\t}\r\n\t\t\tme._layers.push.apply(me._layers, box._layers());\r\n\t\t}, me);\r\n\r\n\t\tme._layers.forEach(function(item, index) {\r\n\t\t\titem._idx = index;\r\n\t\t});\r\n\r\n\t\t/**\r\n\t\t * Provided for backward compatibility, use `afterLayout` instead.\r\n\t\t * @method IPlugin#afterScaleUpdate\r\n\t\t * @deprecated since version 2.5.0\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\tcore_plugins.notify(me, 'afterScaleUpdate');\r\n\t\tcore_plugins.notify(me, 'afterLayout');\r\n\t},\r\n\r\n\t/**\r\n\t * Updates all datasets unless a plugin returns `false` to the `beforeDatasetsUpdate`\r\n\t * hook, in which case, plugins will not be called on `afterDatasetsUpdate`.\r\n\t * @private\r\n\t */\r\n\tupdateDatasets: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeDatasetsUpdate') === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tfor (var i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {\r\n\t\t\tme.updateDataset(i);\r\n\t\t}\r\n\r\n\t\tcore_plugins.notify(me, 'afterDatasetsUpdate');\r\n\t},\r\n\r\n\t/**\r\n\t * Updates dataset at index unless a plugin returns `false` to the `beforeDatasetUpdate`\r\n\t * hook, in which case, plugins will not be called on `afterDatasetUpdate`.\r\n\t * @private\r\n\t */\r\n\tupdateDataset: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getDatasetMeta(index);\r\n\t\tvar args = {\r\n\t\t\tmeta: meta,\r\n\t\t\tindex: index\r\n\t\t};\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeDatasetUpdate', [args]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmeta.controller._update();\r\n\r\n\t\tcore_plugins.notify(me, 'afterDatasetUpdate', [args]);\r\n\t},\r\n\r\n\trender: function(config) {\r\n\t\tvar me = this;\r\n\r\n\t\tif (!config || typeof config !== 'object') {\r\n\t\t\t// backwards compatibility\r\n\t\t\tconfig = {\r\n\t\t\t\tduration: config,\r\n\t\t\t\tlazy: arguments[1]\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tvar animationOptions = me.options.animation;\r\n\t\tvar duration = valueOrDefault$9(config.duration, animationOptions && animationOptions.duration);\r\n\t\tvar lazy = config.lazy;\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeRender') === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar onComplete = function(animation) {\r\n\t\t\tcore_plugins.notify(me, 'afterRender');\r\n\t\t\thelpers$1.callback(animationOptions && animationOptions.onComplete, [animation], me);\r\n\t\t};\r\n\r\n\t\tif (animationOptions && duration) {\r\n\t\t\tvar animation = new core_animation({\r\n\t\t\t\tnumSteps: duration / 16.66, // 60 fps\r\n\t\t\t\teasing: config.easing || animationOptions.easing,\r\n\r\n\t\t\t\trender: function(chart, animationObject) {\r\n\t\t\t\t\tvar easingFunction = helpers$1.easing.effects[animationObject.easing];\r\n\t\t\t\t\tvar currentStep = animationObject.currentStep;\r\n\t\t\t\t\tvar stepDecimal = currentStep / animationObject.numSteps;\r\n\r\n\t\t\t\t\tchart.draw(easingFunction(stepDecimal), stepDecimal, currentStep);\r\n\t\t\t\t},\r\n\r\n\t\t\t\tonAnimationProgress: animationOptions.onProgress,\r\n\t\t\t\tonAnimationComplete: onComplete\r\n\t\t\t});\r\n\r\n\t\t\tcore_animations.addAnimation(me, animation, duration, lazy);\r\n\t\t} else {\r\n\t\t\tme.draw();\r\n\r\n\t\t\t// See https://github.com/chartjs/Chart.js/issues/3781\r\n\t\t\tonComplete(new core_animation({numSteps: 0, chart: me}));\r\n\t\t}\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\tdraw: function(easingValue) {\r\n\t\tvar me = this;\r\n\t\tvar i, layers;\r\n\r\n\t\tme.clear();\r\n\r\n\t\tif (helpers$1.isNullOrUndef(easingValue)) {\r\n\t\t\teasingValue = 1;\r\n\t\t}\r\n\r\n\t\tme.transition(easingValue);\r\n\r\n\t\tif (me.width <= 0 || me.height <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeDraw', [easingValue]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Because of plugin hooks (before/afterDatasetsDraw), datasets can't\r\n\t\t// currently be part of layers. Instead, we draw\r\n\t\t// layers <= 0 before(default, backward compat), and the rest after\r\n\t\tlayers = me._layers;\r\n\t\tfor (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\r\n\t\t\tlayers[i].draw(me.chartArea);\r\n\t\t}\r\n\r\n\t\tme.drawDatasets(easingValue);\r\n\r\n\t\t// Rest of layers\r\n\t\tfor (; i < layers.length; ++i) {\r\n\t\t\tlayers[i].draw(me.chartArea);\r\n\t\t}\r\n\r\n\t\tme._drawTooltip(easingValue);\r\n\r\n\t\tcore_plugins.notify(me, 'afterDraw', [easingValue]);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\ttransition: function(easingValue) {\r\n\t\tvar me = this;\r\n\r\n\t\tfor (var i = 0, ilen = (me.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\tif (me.isDatasetVisible(i)) {\r\n\t\t\t\tme.getDatasetMeta(i).controller.transition(easingValue);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme.tooltip.transition(easingValue);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getSortedDatasetMetas: function(filterVisible) {\r\n\t\tvar me = this;\r\n\t\tvar datasets = me.data.datasets || [];\r\n\t\tvar result = [];\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = datasets.length; i < ilen; ++i) {\r\n\t\t\tif (!filterVisible || me.isDatasetVisible(i)) {\r\n\t\t\t\tresult.push(me.getDatasetMeta(i));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tresult.sort(compare2Level('order', 'index'));\r\n\r\n\t\treturn result;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getSortedVisibleDatasetMetas: function() {\r\n\t\treturn this._getSortedDatasetMetas(true);\r\n\t},\r\n\r\n\t/**\r\n\t * Draws all datasets unless a plugin returns `false` to the `beforeDatasetsDraw`\r\n\t * hook, in which case, plugins will not be called on `afterDatasetsDraw`.\r\n\t * @private\r\n\t */\r\n\tdrawDatasets: function(easingValue) {\r\n\t\tvar me = this;\r\n\t\tvar metasets, i;\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeDatasetsDraw', [easingValue]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmetasets = me._getSortedVisibleDatasetMetas();\r\n\t\tfor (i = metasets.length - 1; i >= 0; --i) {\r\n\t\t\tme.drawDataset(metasets[i], easingValue);\r\n\t\t}\r\n\r\n\t\tcore_plugins.notify(me, 'afterDatasetsDraw', [easingValue]);\r\n\t},\r\n\r\n\t/**\r\n\t * Draws dataset at index unless a plugin returns `false` to the `beforeDatasetDraw`\r\n\t * hook, in which case, plugins will not be called on `afterDatasetDraw`.\r\n\t * @private\r\n\t */\r\n\tdrawDataset: function(meta, easingValue) {\r\n\t\tvar me = this;\r\n\t\tvar args = {\r\n\t\t\tmeta: meta,\r\n\t\t\tindex: meta.index,\r\n\t\t\teasingValue: easingValue\r\n\t\t};\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeDatasetDraw', [args]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmeta.controller.draw(easingValue);\r\n\r\n\t\tcore_plugins.notify(me, 'afterDatasetDraw', [args]);\r\n\t},\r\n\r\n\t/**\r\n\t * Draws tooltip unless a plugin returns `false` to the `beforeTooltipDraw`\r\n\t * hook, in which case, plugins will not be called on `afterTooltipDraw`.\r\n\t * @private\r\n\t */\r\n\t_drawTooltip: function(easingValue) {\r\n\t\tvar me = this;\r\n\t\tvar tooltip = me.tooltip;\r\n\t\tvar args = {\r\n\t\t\ttooltip: tooltip,\r\n\t\t\teasingValue: easingValue\r\n\t\t};\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeTooltipDraw', [args]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\ttooltip.draw();\r\n\r\n\t\tcore_plugins.notify(me, 'afterTooltipDraw', [args]);\r\n\t},\r\n\r\n\t/**\r\n\t * Get the single element that was clicked on\r\n\t * @return An object containing the dataset index and element index of the matching element. Also contains the rectangle that was draw\r\n\t */\r\n\tgetElementAtEvent: function(e) {\r\n\t\treturn core_interaction.modes.single(this, e);\r\n\t},\r\n\r\n\tgetElementsAtEvent: function(e) {\r\n\t\treturn core_interaction.modes.label(this, e, {intersect: true});\r\n\t},\r\n\r\n\tgetElementsAtXAxis: function(e) {\r\n\t\treturn core_interaction.modes['x-axis'](this, e, {intersect: true});\r\n\t},\r\n\r\n\tgetElementsAtEventForMode: function(e, mode, options) {\r\n\t\tvar method = core_interaction.modes[mode];\r\n\t\tif (typeof method === 'function') {\r\n\t\t\treturn method(this, e, options);\r\n\t\t}\r\n\r\n\t\treturn [];\r\n\t},\r\n\r\n\tgetDatasetAtEvent: function(e) {\r\n\t\treturn core_interaction.modes.dataset(this, e, {intersect: true});\r\n\t},\r\n\r\n\tgetDatasetMeta: function(datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.data.datasets[datasetIndex];\r\n\t\tif (!dataset._meta) {\r\n\t\t\tdataset._meta = {};\r\n\t\t}\r\n\r\n\t\tvar meta = dataset._meta[me.id];\r\n\t\tif (!meta) {\r\n\t\t\tmeta = dataset._meta[me.id] = {\r\n\t\t\t\ttype: null,\r\n\t\t\t\tdata: [],\r\n\t\t\t\tdataset: null,\r\n\t\t\t\tcontroller: null,\r\n\t\t\t\thidden: null,\t\t\t// See isDatasetVisible() comment\r\n\t\t\t\txAxisID: null,\r\n\t\t\t\tyAxisID: null,\r\n\t\t\t\torder: dataset.order || 0,\r\n\t\t\t\tindex: datasetIndex\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn meta;\r\n\t},\r\n\r\n\tgetVisibleDatasetCount: function() {\r\n\t\tvar count = 0;\r\n\t\tfor (var i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\r\n\t\t\tif (this.isDatasetVisible(i)) {\r\n\t\t\t\tcount++;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn count;\r\n\t},\r\n\r\n\tisDatasetVisible: function(datasetIndex) {\r\n\t\tvar meta = this.getDatasetMeta(datasetIndex);\r\n\r\n\t\t// meta.hidden is a per chart dataset hidden flag override with 3 states: if true or false,\r\n\t\t// the dataset.hidden value is ignored, else if null, the dataset hidden state is returned.\r\n\t\treturn typeof meta.hidden === 'boolean' ? !meta.hidden : !this.data.datasets[datasetIndex].hidden;\r\n\t},\r\n\r\n\tgenerateLegend: function() {\r\n\t\treturn this.options.legendCallback(this);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tdestroyDatasetMeta: function(datasetIndex) {\r\n\t\tvar id = this.id;\r\n\t\tvar dataset = this.data.datasets[datasetIndex];\r\n\t\tvar meta = dataset._meta && dataset._meta[id];\r\n\r\n\t\tif (meta) {\r\n\t\t\tmeta.controller.destroy();\r\n\t\t\tdelete dataset._meta[id];\r\n\t\t}\r\n\t},\r\n\r\n\tdestroy: function() {\r\n\t\tvar me = this;\r\n\t\tvar canvas = me.canvas;\r\n\t\tvar i, ilen;\r\n\r\n\t\tme.stop();\r\n\r\n\t\t// dataset controllers need to cleanup associated data\r\n\t\tfor (i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {\r\n\t\t\tme.destroyDatasetMeta(i);\r\n\t\t}\r\n\r\n\t\tif (canvas) {\r\n\t\t\tme.unbindEvents();\r\n\t\t\thelpers$1.canvas.clear(me);\r\n\t\t\tplatform.releaseContext(me.ctx);\r\n\t\t\tme.canvas = null;\r\n\t\t\tme.ctx = null;\r\n\t\t}\r\n\r\n\t\tcore_plugins.notify(me, 'destroy');\r\n\r\n\t\tdelete Chart.instances[me.id];\r\n\t},\r\n\r\n\ttoBase64Image: function() {\r\n\t\treturn this.canvas.toDataURL.apply(this.canvas, arguments);\r\n\t},\r\n\r\n\tinitToolTip: function() {\r\n\t\tvar me = this;\r\n\t\tme.tooltip = new core_tooltip({\r\n\t\t\t_chart: me,\r\n\t\t\t_chartInstance: me, // deprecated, backward compatibility\r\n\t\t\t_data: me.data,\r\n\t\t\t_options: me.options.tooltips\r\n\t\t}, me);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tbindEvents: function() {\r\n\t\tvar me = this;\r\n\t\tvar listeners = me._listeners = {};\r\n\t\tvar listener = function() {\r\n\t\t\tme.eventHandler.apply(me, arguments);\r\n\t\t};\r\n\r\n\t\thelpers$1.each(me.options.events, function(type) {\r\n\t\t\tplatform.addEventListener(me, type, listener);\r\n\t\t\tlisteners[type] = listener;\r\n\t\t});\r\n\r\n\t\t// Elements used to detect size change should not be injected for non responsive charts.\r\n\t\t// See https://github.com/chartjs/Chart.js/issues/2210\r\n\t\tif (me.options.responsive) {\r\n\t\t\tlistener = function() {\r\n\t\t\t\tme.resize();\r\n\t\t\t};\r\n\r\n\t\t\tplatform.addEventListener(me, 'resize', listener);\r\n\t\t\tlisteners.resize = listener;\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tunbindEvents: function() {\r\n\t\tvar me = this;\r\n\t\tvar listeners = me._listeners;\r\n\t\tif (!listeners) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tdelete me._listeners;\r\n\t\thelpers$1.each(listeners, function(listener, type) {\r\n\t\t\tplatform.removeEventListener(me, type, listener);\r\n\t\t});\r\n\t},\r\n\r\n\tupdateHoverStyle: function(elements, mode, enabled) {\r\n\t\tvar prefix = enabled ? 'set' : 'remove';\r\n\t\tvar element, i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = elements.length; i < ilen; ++i) {\r\n\t\t\telement = elements[i];\r\n\t\t\tif (element) {\r\n\t\t\t\tthis.getDatasetMeta(element._datasetIndex).controller[prefix + 'HoverStyle'](element);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (mode === 'dataset') {\r\n\t\t\tthis.getDatasetMeta(elements[0]._datasetIndex).controller['_' + prefix + 'DatasetHoverStyle']();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\teventHandler: function(e) {\r\n\t\tvar me = this;\r\n\t\tvar tooltip = me.tooltip;\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeEvent', [e]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Buffer any update calls so that renders do not occur\r\n\t\tme._bufferedRender = true;\r\n\t\tme._bufferedRequest = null;\r\n\r\n\t\tvar changed = me.handleEvent(e);\r\n\t\t// for smooth tooltip animations issue #4989\r\n\t\t// the tooltip should be the source of change\r\n\t\t// Animation check workaround:\r\n\t\t// tooltip._start will be null when tooltip isn't animating\r\n\t\tif (tooltip) {\r\n\t\t\tchanged = tooltip._start\r\n\t\t\t\t? tooltip.handleEvent(e)\r\n\t\t\t\t: changed | tooltip.handleEvent(e);\r\n\t\t}\r\n\r\n\t\tcore_plugins.notify(me, 'afterEvent', [e]);\r\n\r\n\t\tvar bufferedRequest = me._bufferedRequest;\r\n\t\tif (bufferedRequest) {\r\n\t\t\t// If we have an update that was triggered, we need to do a normal render\r\n\t\t\tme.render(bufferedRequest);\r\n\t\t} else if (changed && !me.animating) {\r\n\t\t\t// If entering, leaving, or changing elements, animate the change via pivot\r\n\t\t\tme.stop();\r\n\r\n\t\t\t// We only need to render at this point. Updating will cause scales to be\r\n\t\t\t// recomputed generating flicker & using more memory than necessary.\r\n\t\t\tme.render({\r\n\t\t\t\tduration: me.options.hover.animationDuration,\r\n\t\t\t\tlazy: true\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tme._bufferedRender = false;\r\n\t\tme._bufferedRequest = null;\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\t/**\r\n\t * Handle an event\r\n\t * @private\r\n\t * @param {IEvent} event the event to handle\r\n\t * @return {boolean} true if the chart needs to re-render\r\n\t */\r\n\thandleEvent: function(e) {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options || {};\r\n\t\tvar hoverOptions = options.hover;\r\n\t\tvar changed = false;\r\n\r\n\t\tme.lastActive = me.lastActive || [];\r\n\r\n\t\t// Find Active Elements for hover and tooltips\r\n\t\tif (e.type === 'mouseout') {\r\n\t\t\tme.active = [];\r\n\t\t} else {\r\n\t\t\tme.active = me.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions);\r\n\t\t}\r\n\r\n\t\t// Invoke onHover hook\r\n\t\t// Need to call with native event here to not break backwards compatibility\r\n\t\thelpers$1.callback(options.onHover || options.hover.onHover, [e.native, me.active], me);\r\n\r\n\t\tif (e.type === 'mouseup' || e.type === 'click') {\r\n\t\t\tif (options.onClick) {\r\n\t\t\t\t// Use e.native here for backwards compatibility\r\n\t\t\t\toptions.onClick.call(me, e.native, me.active);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Remove styling for last active (even if it may still be active)\r\n\t\tif (me.lastActive.length) {\r\n\t\t\tme.updateHoverStyle(me.lastActive, hoverOptions.mode, false);\r\n\t\t}\r\n\r\n\t\t// Built in hover styling\r\n\t\tif (me.active.length && hoverOptions.mode) {\r\n\t\t\tme.updateHoverStyle(me.active, hoverOptions.mode, true);\r\n\t\t}\r\n\r\n\t\tchanged = !helpers$1.arrayEquals(me.active, me.lastActive);\r\n\r\n\t\t// Remember Last Actives\r\n\t\tme.lastActive = me.active;\r\n\r\n\t\treturn changed;\r\n\t}\r\n});\r\n\r\n/**\r\n * NOTE(SB) We actually don't use this container anymore but we need to keep it\r\n * for backward compatibility. Though, it can still be useful for plugins that\r\n * would need to work on multiple charts?!\r\n */\r\nChart.instances = {};\r\n\r\nvar core_controller = Chart;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart instead.\r\n * @class Chart.Controller\r\n * @deprecated since version 2.6\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nChart.Controller = Chart;\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore.\r\n * @namespace Chart\r\n * @deprecated since version 2.8\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nChart.types = {};\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore.\r\n * @namespace Chart.helpers.configMerge\r\n * @deprecated since version 2.8.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers$1.configMerge = mergeConfig;\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore.\r\n * @namespace Chart.helpers.scaleMerge\r\n * @deprecated since version 2.8.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers$1.scaleMerge = mergeScaleConfig;\n\nvar core_helpers = function() {\r\n\r\n\t// -- Basic js utility methods\r\n\r\n\thelpers$1.where = function(collection, filterCallback) {\r\n\t\tif (helpers$1.isArray(collection) && Array.prototype.filter) {\r\n\t\t\treturn collection.filter(filterCallback);\r\n\t\t}\r\n\t\tvar filtered = [];\r\n\r\n\t\thelpers$1.each(collection, function(item) {\r\n\t\t\tif (filterCallback(item)) {\r\n\t\t\t\tfiltered.push(item);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn filtered;\r\n\t};\r\n\thelpers$1.findIndex = Array.prototype.findIndex ?\r\n\t\tfunction(array, callback, scope) {\r\n\t\t\treturn array.findIndex(callback, scope);\r\n\t\t} :\r\n\t\tfunction(array, callback, scope) {\r\n\t\t\tscope = scope === undefined ? array : scope;\r\n\t\t\tfor (var i = 0, ilen = array.length; i < ilen; ++i) {\r\n\t\t\t\tif (callback.call(scope, array[i], i, array)) {\r\n\t\t\t\t\treturn i;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn -1;\r\n\t\t};\r\n\thelpers$1.findNextWhere = function(arrayToSearch, filterCallback, startIndex) {\r\n\t\t// Default to start of the array\r\n\t\tif (helpers$1.isNullOrUndef(startIndex)) {\r\n\t\t\tstartIndex = -1;\r\n\t\t}\r\n\t\tfor (var i = startIndex + 1; i < arrayToSearch.length; i++) {\r\n\t\t\tvar currentItem = arrayToSearch[i];\r\n\t\t\tif (filterCallback(currentItem)) {\r\n\t\t\t\treturn currentItem;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\thelpers$1.findPreviousWhere = function(arrayToSearch, filterCallback, startIndex) {\r\n\t\t// Default to end of the array\r\n\t\tif (helpers$1.isNullOrUndef(startIndex)) {\r\n\t\t\tstartIndex = arrayToSearch.length;\r\n\t\t}\r\n\t\tfor (var i = startIndex - 1; i >= 0; i--) {\r\n\t\t\tvar currentItem = arrayToSearch[i];\r\n\t\t\tif (filterCallback(currentItem)) {\r\n\t\t\t\treturn currentItem;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// -- Math methods\r\n\thelpers$1.isNumber = function(n) {\r\n\t\treturn !isNaN(parseFloat(n)) && isFinite(n);\r\n\t};\r\n\thelpers$1.almostEquals = function(x, y, epsilon) {\r\n\t\treturn Math.abs(x - y) < epsilon;\r\n\t};\r\n\thelpers$1.almostWhole = function(x, epsilon) {\r\n\t\tvar rounded = Math.round(x);\r\n\t\treturn ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\r\n\t};\r\n\thelpers$1.max = function(array) {\r\n\t\treturn array.reduce(function(max, value) {\r\n\t\t\tif (!isNaN(value)) {\r\n\t\t\t\treturn Math.max(max, value);\r\n\t\t\t}\r\n\t\t\treturn max;\r\n\t\t}, Number.NEGATIVE_INFINITY);\r\n\t};\r\n\thelpers$1.min = function(array) {\r\n\t\treturn array.reduce(function(min, value) {\r\n\t\t\tif (!isNaN(value)) {\r\n\t\t\t\treturn Math.min(min, value);\r\n\t\t\t}\r\n\t\t\treturn min;\r\n\t\t}, Number.POSITIVE_INFINITY);\r\n\t};\r\n\thelpers$1.sign = Math.sign ?\r\n\t\tfunction(x) {\r\n\t\t\treturn Math.sign(x);\r\n\t\t} :\r\n\t\tfunction(x) {\r\n\t\t\tx = +x; // convert to a number\r\n\t\t\tif (x === 0 || isNaN(x)) {\r\n\t\t\t\treturn x;\r\n\t\t\t}\r\n\t\t\treturn x > 0 ? 1 : -1;\r\n\t\t};\r\n\thelpers$1.toRadians = function(degrees) {\r\n\t\treturn degrees * (Math.PI / 180);\r\n\t};\r\n\thelpers$1.toDegrees = function(radians) {\r\n\t\treturn radians * (180 / Math.PI);\r\n\t};\r\n\r\n\t/**\r\n\t * Returns the number of decimal places\r\n\t * i.e. the number of digits after the decimal point, of the value of this Number.\r\n\t * @param {number} x - A number.\r\n\t * @returns {number} The number of decimal places.\r\n\t * @private\r\n\t */\r\n\thelpers$1._decimalPlaces = function(x) {\r\n\t\tif (!helpers$1.isFinite(x)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar e = 1;\r\n\t\tvar p = 0;\r\n\t\twhile (Math.round(x * e) / e !== x) {\r\n\t\t\te *= 10;\r\n\t\t\tp++;\r\n\t\t}\r\n\t\treturn p;\r\n\t};\r\n\r\n\t// Gets the angle from vertical upright to the point about a centre.\r\n\thelpers$1.getAngleFromPoint = function(centrePoint, anglePoint) {\r\n\t\tvar distanceFromXCenter = anglePoint.x - centrePoint.x;\r\n\t\tvar distanceFromYCenter = anglePoint.y - centrePoint.y;\r\n\t\tvar radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\r\n\r\n\t\tvar angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\r\n\r\n\t\tif (angle < (-0.5 * Math.PI)) {\r\n\t\t\tangle += 2.0 * Math.PI; // make sure the returned angle is in the range of (-PI/2, 3PI/2]\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tangle: angle,\r\n\t\t\tdistance: radialDistanceFromCenter\r\n\t\t};\r\n\t};\r\n\thelpers$1.distanceBetweenPoints = function(pt1, pt2) {\r\n\t\treturn Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\r\n\t};\r\n\r\n\t/**\r\n\t * Provided for backward compatibility, not available anymore\r\n\t * @function Chart.helpers.aliasPixel\r\n\t * @deprecated since version 2.8.0\r\n\t * @todo remove at version 3\r\n\t */\r\n\thelpers$1.aliasPixel = function(pixelWidth) {\r\n\t\treturn (pixelWidth % 2 === 0) ? 0 : 0.5;\r\n\t};\r\n\r\n\t/**\r\n\t * Returns the aligned pixel value to avoid anti-aliasing blur\r\n\t * @param {Chart} chart - The chart instance.\r\n\t * @param {number} pixel - A pixel value.\r\n\t * @param {number} width - The width of the element.\r\n\t * @returns {number} The aligned pixel value.\r\n\t * @private\r\n\t */\r\n\thelpers$1._alignPixel = function(chart, pixel, width) {\r\n\t\tvar devicePixelRatio = chart.currentDevicePixelRatio;\r\n\t\tvar halfWidth = width / 2;\r\n\t\treturn Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\r\n\t};\r\n\r\n\thelpers$1.splineCurve = function(firstPoint, middlePoint, afterPoint, t) {\r\n\t\t// Props to Rob Spencer at scaled innovation for his post on splining between points\r\n\t\t// http://scaledinnovation.com/analytics/splines/aboutSplines.html\r\n\r\n\t\t// This function must also respect \"skipped\" points\r\n\r\n\t\tvar previous = firstPoint.skip ? middlePoint : firstPoint;\r\n\t\tvar current = middlePoint;\r\n\t\tvar next = afterPoint.skip ? middlePoint : afterPoint;\r\n\r\n\t\tvar d01 = Math.sqrt(Math.pow(current.x - previous.x, 2) + Math.pow(current.y - previous.y, 2));\r\n\t\tvar d12 = Math.sqrt(Math.pow(next.x - current.x, 2) + Math.pow(next.y - current.y, 2));\r\n\r\n\t\tvar s01 = d01 / (d01 + d12);\r\n\t\tvar s12 = d12 / (d01 + d12);\r\n\r\n\t\t// If all points are the same, s01 & s02 will be inf\r\n\t\ts01 = isNaN(s01) ? 0 : s01;\r\n\t\ts12 = isNaN(s12) ? 0 : s12;\r\n\r\n\t\tvar fa = t * s01; // scaling factor for triangle Ta\r\n\t\tvar fb = t * s12;\r\n\r\n\t\treturn {\r\n\t\t\tprevious: {\r\n\t\t\t\tx: current.x - fa * (next.x - previous.x),\r\n\t\t\t\ty: current.y - fa * (next.y - previous.y)\r\n\t\t\t},\r\n\t\t\tnext: {\r\n\t\t\t\tx: current.x + fb * (next.x - previous.x),\r\n\t\t\t\ty: current.y + fb * (next.y - previous.y)\r\n\t\t\t}\r\n\t\t};\r\n\t};\r\n\thelpers$1.EPSILON = Number.EPSILON || 1e-14;\r\n\thelpers$1.splineCurveMonotone = function(points) {\r\n\t\t// This function calculates Bézier control points in a similar way than |splineCurve|,\r\n\t\t// but preserves monotonicity of the provided data and ensures no local extremums are added\r\n\t\t// between the dataset discrete points due to the interpolation.\r\n\t\t// See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation\r\n\r\n\t\tvar pointsWithTangents = (points || []).map(function(point) {\r\n\t\t\treturn {\r\n\t\t\t\tmodel: point._model,\r\n\t\t\t\tdeltaK: 0,\r\n\t\t\t\tmK: 0\r\n\t\t\t};\r\n\t\t});\r\n\r\n\t\t// Calculate slopes (deltaK) and initialize tangents (mK)\r\n\t\tvar pointsLen = pointsWithTangents.length;\r\n\t\tvar i, pointBefore, pointCurrent, pointAfter;\r\n\t\tfor (i = 0; i < pointsLen; ++i) {\r\n\t\t\tpointCurrent = pointsWithTangents[i];\r\n\t\t\tif (pointCurrent.model.skip) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tpointBefore = i > 0 ? pointsWithTangents[i - 1] : null;\r\n\t\t\tpointAfter = i < pointsLen - 1 ? pointsWithTangents[i + 1] : null;\r\n\t\t\tif (pointAfter && !pointAfter.model.skip) {\r\n\t\t\t\tvar slopeDeltaX = (pointAfter.model.x - pointCurrent.model.x);\r\n\r\n\t\t\t\t// In the case of two points that appear at the same x pixel, slopeDeltaX is 0\r\n\t\t\t\tpointCurrent.deltaK = slopeDeltaX !== 0 ? (pointAfter.model.y - pointCurrent.model.y) / slopeDeltaX : 0;\r\n\t\t\t}\r\n\r\n\t\t\tif (!pointBefore || pointBefore.model.skip) {\r\n\t\t\t\tpointCurrent.mK = pointCurrent.deltaK;\r\n\t\t\t} else if (!pointAfter || pointAfter.model.skip) {\r\n\t\t\t\tpointCurrent.mK = pointBefore.deltaK;\r\n\t\t\t} else if (this.sign(pointBefore.deltaK) !== this.sign(pointCurrent.deltaK)) {\r\n\t\t\t\tpointCurrent.mK = 0;\r\n\t\t\t} else {\r\n\t\t\t\tpointCurrent.mK = (pointBefore.deltaK + pointCurrent.deltaK) / 2;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Adjust tangents to ensure monotonic properties\r\n\t\tvar alphaK, betaK, tauK, squaredMagnitude;\r\n\t\tfor (i = 0; i < pointsLen - 1; ++i) {\r\n\t\t\tpointCurrent = pointsWithTangents[i];\r\n\t\t\tpointAfter = pointsWithTangents[i + 1];\r\n\t\t\tif (pointCurrent.model.skip || pointAfter.model.skip) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tif (helpers$1.almostEquals(pointCurrent.deltaK, 0, this.EPSILON)) {\r\n\t\t\t\tpointCurrent.mK = pointAfter.mK = 0;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\talphaK = pointCurrent.mK / pointCurrent.deltaK;\r\n\t\t\tbetaK = pointAfter.mK / pointCurrent.deltaK;\r\n\t\t\tsquaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\r\n\t\t\tif (squaredMagnitude <= 9) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\ttauK = 3 / Math.sqrt(squaredMagnitude);\r\n\t\t\tpointCurrent.mK = alphaK * tauK * pointCurrent.deltaK;\r\n\t\t\tpointAfter.mK = betaK * tauK * pointCurrent.deltaK;\r\n\t\t}\r\n\r\n\t\t// Compute control points\r\n\t\tvar deltaX;\r\n\t\tfor (i = 0; i < pointsLen; ++i) {\r\n\t\t\tpointCurrent = pointsWithTangents[i];\r\n\t\t\tif (pointCurrent.model.skip) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tpointBefore = i > 0 ? pointsWithTangents[i - 1] : null;\r\n\t\t\tpointAfter = i < pointsLen - 1 ? pointsWithTangents[i + 1] : null;\r\n\t\t\tif (pointBefore && !pointBefore.model.skip) {\r\n\t\t\t\tdeltaX = (pointCurrent.model.x - pointBefore.model.x) / 3;\r\n\t\t\t\tpointCurrent.model.controlPointPreviousX = pointCurrent.model.x - deltaX;\r\n\t\t\t\tpointCurrent.model.controlPointPreviousY = pointCurrent.model.y - deltaX * pointCurrent.mK;\r\n\t\t\t}\r\n\t\t\tif (pointAfter && !pointAfter.model.skip) {\r\n\t\t\t\tdeltaX = (pointAfter.model.x - pointCurrent.model.x) / 3;\r\n\t\t\t\tpointCurrent.model.controlPointNextX = pointCurrent.model.x + deltaX;\r\n\t\t\t\tpointCurrent.model.controlPointNextY = pointCurrent.model.y + deltaX * pointCurrent.mK;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\thelpers$1.nextItem = function(collection, index, loop) {\r\n\t\tif (loop) {\r\n\t\t\treturn index >= collection.length - 1 ? collection[0] : collection[index + 1];\r\n\t\t}\r\n\t\treturn index >= collection.length - 1 ? collection[collection.length - 1] : collection[index + 1];\r\n\t};\r\n\thelpers$1.previousItem = function(collection, index, loop) {\r\n\t\tif (loop) {\r\n\t\t\treturn index <= 0 ? collection[collection.length - 1] : collection[index - 1];\r\n\t\t}\r\n\t\treturn index <= 0 ? collection[0] : collection[index - 1];\r\n\t};\r\n\t// Implementation of the nice number algorithm used in determining where axis labels will go\r\n\thelpers$1.niceNum = function(range, round) {\r\n\t\tvar exponent = Math.floor(helpers$1.log10(range));\r\n\t\tvar fraction = range / Math.pow(10, exponent);\r\n\t\tvar niceFraction;\r\n\r\n\t\tif (round) {\r\n\t\t\tif (fraction < 1.5) {\r\n\t\t\t\tniceFraction = 1;\r\n\t\t\t} else if (fraction < 3) {\r\n\t\t\t\tniceFraction = 2;\r\n\t\t\t} else if (fraction < 7) {\r\n\t\t\t\tniceFraction = 5;\r\n\t\t\t} else {\r\n\t\t\t\tniceFraction = 10;\r\n\t\t\t}\r\n\t\t} else if (fraction <= 1.0) {\r\n\t\t\tniceFraction = 1;\r\n\t\t} else if (fraction <= 2) {\r\n\t\t\tniceFraction = 2;\r\n\t\t} else if (fraction <= 5) {\r\n\t\t\tniceFraction = 5;\r\n\t\t} else {\r\n\t\t\tniceFraction = 10;\r\n\t\t}\r\n\r\n\t\treturn niceFraction * Math.pow(10, exponent);\r\n\t};\r\n\t// Request animation polyfill - https://www.paulirish.com/2011/requestanimationframe-for-smart-animating/\r\n\thelpers$1.requestAnimFrame = (function() {\r\n\t\tif (typeof window === 'undefined') {\r\n\t\t\treturn function(callback) {\r\n\t\t\t\tcallback();\r\n\t\t\t};\r\n\t\t}\r\n\t\treturn window.requestAnimationFrame ||\r\n\t\t\twindow.webkitRequestAnimationFrame ||\r\n\t\t\twindow.mozRequestAnimationFrame ||\r\n\t\t\twindow.oRequestAnimationFrame ||\r\n\t\t\twindow.msRequestAnimationFrame ||\r\n\t\t\tfunction(callback) {\r\n\t\t\t\treturn window.setTimeout(callback, 1000 / 60);\r\n\t\t\t};\r\n\t}());\r\n\t// -- DOM methods\r\n\thelpers$1.getRelativePosition = function(evt, chart) {\r\n\t\tvar mouseX, mouseY;\r\n\t\tvar e = evt.originalEvent || evt;\r\n\t\tvar canvas = evt.target || evt.srcElement;\r\n\t\tvar boundingRect = canvas.getBoundingClientRect();\r\n\r\n\t\tvar touches = e.touches;\r\n\t\tif (touches && touches.length > 0) {\r\n\t\t\tmouseX = touches[0].clientX;\r\n\t\t\tmouseY = touches[0].clientY;\r\n\r\n\t\t} else {\r\n\t\t\tmouseX = e.clientX;\r\n\t\t\tmouseY = e.clientY;\r\n\t\t}\r\n\r\n\t\t// Scale mouse coordinates into canvas coordinates\r\n\t\t// by following the pattern laid out by 'jerryj' in the comments of\r\n\t\t// https://www.html5canvastutorials.com/advanced/html5-canvas-mouse-coordinates/\r\n\t\tvar paddingLeft = parseFloat(helpers$1.getStyle(canvas, 'padding-left'));\r\n\t\tvar paddingTop = parseFloat(helpers$1.getStyle(canvas, 'padding-top'));\r\n\t\tvar paddingRight = parseFloat(helpers$1.getStyle(canvas, 'padding-right'));\r\n\t\tvar paddingBottom = parseFloat(helpers$1.getStyle(canvas, 'padding-bottom'));\r\n\t\tvar width = boundingRect.right - boundingRect.left - paddingLeft - paddingRight;\r\n\t\tvar height = boundingRect.bottom - boundingRect.top - paddingTop - paddingBottom;\r\n\r\n\t\t// We divide by the current device pixel ratio, because the canvas is scaled up by that amount in each direction. However\r\n\t\t// the backend model is in unscaled coordinates. Since we are going to deal with our model coordinates, we go back here\r\n\t\tmouseX = Math.round((mouseX - boundingRect.left - paddingLeft) / (width) * canvas.width / chart.currentDevicePixelRatio);\r\n\t\tmouseY = Math.round((mouseY - boundingRect.top - paddingTop) / (height) * canvas.height / chart.currentDevicePixelRatio);\r\n\r\n\t\treturn {\r\n\t\t\tx: mouseX,\r\n\t\t\ty: mouseY\r\n\t\t};\r\n\r\n\t};\r\n\r\n\t// Private helper function to convert max-width/max-height values that may be percentages into a number\r\n\tfunction parseMaxStyle(styleValue, node, parentProperty) {\r\n\t\tvar valueInPixels;\r\n\t\tif (typeof styleValue === 'string') {\r\n\t\t\tvalueInPixels = parseInt(styleValue, 10);\r\n\r\n\t\t\tif (styleValue.indexOf('%') !== -1) {\r\n\t\t\t\t// percentage * size in dimension\r\n\t\t\t\tvalueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvalueInPixels = styleValue;\r\n\t\t}\r\n\r\n\t\treturn valueInPixels;\r\n\t}\r\n\r\n\t/**\r\n\t * Returns if the given value contains an effective constraint.\r\n\t * @private\r\n\t */\r\n\tfunction isConstrainedValue(value) {\r\n\t\treturn value !== undefined && value !== null && value !== 'none';\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the max width or height of the given DOM node in a cross-browser compatible fashion\r\n\t * @param {HTMLElement} domNode - the node to check the constraint on\r\n\t * @param {string} maxStyle - the style that defines the maximum for the direction we are using ('max-width' / 'max-height')\r\n\t * @param {string} percentageProperty - property of parent to use when calculating width as a percentage\r\n\t * @see {@link https://www.nathanaeljones.com/blog/2013/reading-max-width-cross-browser}\r\n\t */\r\n\tfunction getConstraintDimension(domNode, maxStyle, percentageProperty) {\r\n\t\tvar view = document.defaultView;\r\n\t\tvar parentNode = helpers$1._getParentNode(domNode);\r\n\t\tvar constrainedNode = view.getComputedStyle(domNode)[maxStyle];\r\n\t\tvar constrainedContainer = view.getComputedStyle(parentNode)[maxStyle];\r\n\t\tvar hasCNode = isConstrainedValue(constrainedNode);\r\n\t\tvar hasCContainer = isConstrainedValue(constrainedContainer);\r\n\t\tvar infinity = Number.POSITIVE_INFINITY;\r\n\r\n\t\tif (hasCNode || hasCContainer) {\r\n\t\t\treturn Math.min(\r\n\t\t\t\thasCNode ? parseMaxStyle(constrainedNode, domNode, percentageProperty) : infinity,\r\n\t\t\t\thasCContainer ? parseMaxStyle(constrainedContainer, parentNode, percentageProperty) : infinity);\r\n\t\t}\r\n\r\n\t\treturn 'none';\r\n\t}\r\n\t// returns Number or undefined if no constraint\r\n\thelpers$1.getConstraintWidth = function(domNode) {\r\n\t\treturn getConstraintDimension(domNode, 'max-width', 'clientWidth');\r\n\t};\r\n\t// returns Number or undefined if no constraint\r\n\thelpers$1.getConstraintHeight = function(domNode) {\r\n\t\treturn getConstraintDimension(domNode, 'max-height', 'clientHeight');\r\n\t};\r\n\t/**\r\n\t * @private\r\n \t */\r\n\thelpers$1._calculatePadding = function(container, padding, parentDimension) {\r\n\t\tpadding = helpers$1.getStyle(container, padding);\r\n\r\n\t\treturn padding.indexOf('%') > -1 ? parentDimension * parseInt(padding, 10) / 100 : parseInt(padding, 10);\r\n\t};\r\n\t/**\r\n\t * @private\r\n\t */\r\n\thelpers$1._getParentNode = function(domNode) {\r\n\t\tvar parent = domNode.parentNode;\r\n\t\tif (parent && parent.toString() === '[object ShadowRoot]') {\r\n\t\t\tparent = parent.host;\r\n\t\t}\r\n\t\treturn parent;\r\n\t};\r\n\thelpers$1.getMaximumWidth = function(domNode) {\r\n\t\tvar container = helpers$1._getParentNode(domNode);\r\n\t\tif (!container) {\r\n\t\t\treturn domNode.clientWidth;\r\n\t\t}\r\n\r\n\t\tvar clientWidth = container.clientWidth;\r\n\t\tvar paddingLeft = helpers$1._calculatePadding(container, 'padding-left', clientWidth);\r\n\t\tvar paddingRight = helpers$1._calculatePadding(container, 'padding-right', clientWidth);\r\n\r\n\t\tvar w = clientWidth - paddingLeft - paddingRight;\r\n\t\tvar cw = helpers$1.getConstraintWidth(domNode);\r\n\t\treturn isNaN(cw) ? w : Math.min(w, cw);\r\n\t};\r\n\thelpers$1.getMaximumHeight = function(domNode) {\r\n\t\tvar container = helpers$1._getParentNode(domNode);\r\n\t\tif (!container) {\r\n\t\t\treturn domNode.clientHeight;\r\n\t\t}\r\n\r\n\t\tvar clientHeight = container.clientHeight;\r\n\t\tvar paddingTop = helpers$1._calculatePadding(container, 'padding-top', clientHeight);\r\n\t\tvar paddingBottom = helpers$1._calculatePadding(container, 'padding-bottom', clientHeight);\r\n\r\n\t\tvar h = clientHeight - paddingTop - paddingBottom;\r\n\t\tvar ch = helpers$1.getConstraintHeight(domNode);\r\n\t\treturn isNaN(ch) ? h : Math.min(h, ch);\r\n\t};\r\n\thelpers$1.getStyle = function(el, property) {\r\n\t\treturn el.currentStyle ?\r\n\t\t\tel.currentStyle[property] :\r\n\t\t\tdocument.defaultView.getComputedStyle(el, null).getPropertyValue(property);\r\n\t};\r\n\thelpers$1.retinaScale = function(chart, forceRatio) {\r\n\t\tvar pixelRatio = chart.currentDevicePixelRatio = forceRatio || (typeof window !== 'undefined' && window.devicePixelRatio) || 1;\r\n\t\tif (pixelRatio === 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar canvas = chart.canvas;\r\n\t\tvar height = chart.height;\r\n\t\tvar width = chart.width;\r\n\r\n\t\tcanvas.height = height * pixelRatio;\r\n\t\tcanvas.width = width * pixelRatio;\r\n\t\tchart.ctx.scale(pixelRatio, pixelRatio);\r\n\r\n\t\t// If no style has been set on the canvas, the render size is used as display size,\r\n\t\t// making the chart visually bigger, so let's enforce it to the \"correct\" values.\r\n\t\t// See https://github.com/chartjs/Chart.js/issues/3575\r\n\t\tif (!canvas.style.height && !canvas.style.width) {\r\n\t\t\tcanvas.style.height = height + 'px';\r\n\t\t\tcanvas.style.width = width + 'px';\r\n\t\t}\r\n\t};\r\n\t// -- Canvas methods\r\n\thelpers$1.fontString = function(pixelSize, fontStyle, fontFamily) {\r\n\t\treturn fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\r\n\t};\r\n\thelpers$1.longestText = function(ctx, font, arrayOfThings, cache) {\r\n\t\tcache = cache || {};\r\n\t\tvar data = cache.data = cache.data || {};\r\n\t\tvar gc = cache.garbageCollect = cache.garbageCollect || [];\r\n\r\n\t\tif (cache.font !== font) {\r\n\t\t\tdata = cache.data = {};\r\n\t\t\tgc = cache.garbageCollect = [];\r\n\t\t\tcache.font = font;\r\n\t\t}\r\n\r\n\t\tctx.font = font;\r\n\t\tvar longest = 0;\r\n\t\tvar ilen = arrayOfThings.length;\r\n\t\tvar i, j, jlen, thing, nestedThing;\r\n\t\tfor (i = 0; i < ilen; i++) {\r\n\t\t\tthing = arrayOfThings[i];\r\n\r\n\t\t\t// Undefined strings and arrays should not be measured\r\n\t\t\tif (thing !== undefined && thing !== null && helpers$1.isArray(thing) !== true) {\r\n\t\t\t\tlongest = helpers$1.measureText(ctx, data, gc, longest, thing);\r\n\t\t\t} else if (helpers$1.isArray(thing)) {\r\n\t\t\t\t// if it is an array lets measure each element\r\n\t\t\t\t// to do maybe simplify this function a bit so we can do this more recursively?\r\n\t\t\t\tfor (j = 0, jlen = thing.length; j < jlen; j++) {\r\n\t\t\t\t\tnestedThing = thing[j];\r\n\t\t\t\t\t// Undefined strings and arrays should not be measured\r\n\t\t\t\t\tif (nestedThing !== undefined && nestedThing !== null && !helpers$1.isArray(nestedThing)) {\r\n\t\t\t\t\t\tlongest = helpers$1.measureText(ctx, data, gc, longest, nestedThing);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar gcLen = gc.length / 2;\r\n\t\tif (gcLen > arrayOfThings.length) {\r\n\t\t\tfor (i = 0; i < gcLen; i++) {\r\n\t\t\t\tdelete data[gc[i]];\r\n\t\t\t}\r\n\t\t\tgc.splice(0, gcLen);\r\n\t\t}\r\n\t\treturn longest;\r\n\t};\r\n\thelpers$1.measureText = function(ctx, data, gc, longest, string) {\r\n\t\tvar textWidth = data[string];\r\n\t\tif (!textWidth) {\r\n\t\t\ttextWidth = data[string] = ctx.measureText(string).width;\r\n\t\t\tgc.push(string);\r\n\t\t}\r\n\t\tif (textWidth > longest) {\r\n\t\t\tlongest = textWidth;\r\n\t\t}\r\n\t\treturn longest;\r\n\t};\r\n\r\n\t/**\r\n\t * @deprecated\r\n\t */\r\n\thelpers$1.numberOfLabelLines = function(arrayOfThings) {\r\n\t\tvar numberOfLines = 1;\r\n\t\thelpers$1.each(arrayOfThings, function(thing) {\r\n\t\t\tif (helpers$1.isArray(thing)) {\r\n\t\t\t\tif (thing.length > numberOfLines) {\r\n\t\t\t\t\tnumberOfLines = thing.length;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn numberOfLines;\r\n\t};\r\n\r\n\thelpers$1.color = !chartjsColor ?\r\n\t\tfunction(value) {\r\n\t\t\tconsole.error('Color.js not found!');\r\n\t\t\treturn value;\r\n\t\t} :\r\n\t\tfunction(value) {\r\n\t\t\t/* global CanvasGradient */\r\n\t\t\tif (value instanceof CanvasGradient) {\r\n\t\t\t\tvalue = core_defaults.global.defaultColor;\r\n\t\t\t}\r\n\r\n\t\t\treturn chartjsColor(value);\r\n\t\t};\r\n\r\n\thelpers$1.getHoverColor = function(colorValue) {\r\n\t\t/* global CanvasPattern */\r\n\t\treturn (colorValue instanceof CanvasPattern || colorValue instanceof CanvasGradient) ?\r\n\t\t\tcolorValue :\r\n\t\t\thelpers$1.color(colorValue).saturate(0.5).darken(0.1).rgbString();\r\n\t};\r\n};\n\nfunction abstract() {\r\n\tthrow new Error(\r\n\t\t'This method is not implemented: either no adapter can ' +\r\n\t\t'be found or an incomplete integration was provided.'\r\n\t);\r\n}\r\n\r\n/**\r\n * Date adapter (current used by the time scale)\r\n * @namespace Chart._adapters._date\r\n * @memberof Chart._adapters\r\n * @private\r\n */\r\n\r\n/**\r\n * Currently supported unit string values.\r\n * @typedef {('millisecond'|'second'|'minute'|'hour'|'day'|'week'|'month'|'quarter'|'year')}\r\n * @memberof Chart._adapters._date\r\n * @name Unit\r\n */\r\n\r\n/**\r\n * @class\r\n */\r\nfunction DateAdapter(options) {\r\n\tthis.options = options || {};\r\n}\r\n\r\nhelpers$1.extend(DateAdapter.prototype, /** @lends DateAdapter */ {\r\n\t/**\r\n\t * Returns a map of time formats for the supported formatting units defined\r\n\t * in Unit as well as 'datetime' representing a detailed date/time string.\r\n\t * @returns {{string: string}}\r\n\t */\r\n\tformats: abstract,\r\n\r\n\t/**\r\n\t * Parses the given `value` and return the associated timestamp.\r\n\t * @param {any} value - the value to parse (usually comes from the data)\r\n\t * @param {string} [format] - the expected data format\r\n\t * @returns {(number|null)}\r\n\t * @function\r\n\t */\r\n\tparse: abstract,\r\n\r\n\t/**\r\n\t * Returns the formatted date in the specified `format` for a given `timestamp`.\r\n\t * @param {number} timestamp - the timestamp to format\r\n\t * @param {string} format - the date/time token\r\n\t * @return {string}\r\n\t * @function\r\n\t */\r\n\tformat: abstract,\r\n\r\n\t/**\r\n\t * Adds the specified `amount` of `unit` to the given `timestamp`.\r\n\t * @param {number} timestamp - the input timestamp\r\n\t * @param {number} amount - the amount to add\r\n\t * @param {Unit} unit - the unit as string\r\n\t * @return {number}\r\n\t * @function\r\n\t */\r\n\tadd: abstract,\r\n\r\n\t/**\r\n\t * Returns the number of `unit` between the given timestamps.\r\n\t * @param {number} max - the input timestamp (reference)\r\n\t * @param {number} min - the timestamp to substract\r\n\t * @param {Unit} unit - the unit as string\r\n\t * @return {number}\r\n\t * @function\r\n\t */\r\n\tdiff: abstract,\r\n\r\n\t/**\r\n\t * Returns start of `unit` for the given `timestamp`.\r\n\t * @param {number} timestamp - the input timestamp\r\n\t * @param {Unit} unit - the unit as string\r\n\t * @param {number} [weekday] - the ISO day of the week with 1 being Monday\r\n\t * and 7 being Sunday (only needed if param *unit* is `isoWeek`).\r\n\t * @function\r\n\t */\r\n\tstartOf: abstract,\r\n\r\n\t/**\r\n\t * Returns end of `unit` for the given `timestamp`.\r\n\t * @param {number} timestamp - the input timestamp\r\n\t * @param {Unit} unit - the unit as string\r\n\t * @function\r\n\t */\r\n\tendOf: abstract,\r\n\r\n\t// DEPRECATIONS\r\n\r\n\t/**\r\n\t * Provided for backward compatibility for scale.getValueForPixel(),\r\n\t * this method should be overridden only by the moment adapter.\r\n\t * @deprecated since version 2.8.0\r\n\t * @todo remove at version 3\r\n\t * @private\r\n\t */\r\n\t_create: function(value) {\r\n\t\treturn value;\r\n\t}\r\n});\r\n\r\nDateAdapter.override = function(members) {\r\n\thelpers$1.extend(DateAdapter.prototype, members);\r\n};\r\n\r\nvar _date = DateAdapter;\n\nvar core_adapters = {\n\t_date: _date\n};\n\n/**\r\n * Namespace to hold static tick generation functions\r\n * @namespace Chart.Ticks\r\n */\r\nvar core_ticks = {\r\n\t/**\r\n\t * Namespace to hold formatters for different types of ticks\r\n\t * @namespace Chart.Ticks.formatters\r\n\t */\r\n\tformatters: {\r\n\t\t/**\r\n\t\t * Formatter for value labels\r\n\t\t * @method Chart.Ticks.formatters.values\r\n\t\t * @param value the value to display\r\n\t\t * @return {string|string[]} the label to display\r\n\t\t */\r\n\t\tvalues: function(value) {\r\n\t\t\treturn helpers$1.isArray(value) ? value : '' + value;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Formatter for linear numeric ticks\r\n\t\t * @method Chart.Ticks.formatters.linear\r\n\t\t * @param tickValue {number} the value to be formatted\r\n\t\t * @param index {number} the position of the tickValue parameter in the ticks array\r\n\t\t * @param ticks {number[]} the list of ticks being converted\r\n\t\t * @return {string} string representation of the tickValue parameter\r\n\t\t */\r\n\t\tlinear: function(tickValue, index, ticks) {\r\n\t\t\t// If we have lots of ticks, don't use the ones\r\n\t\t\tvar delta = ticks.length > 3 ? ticks[2] - ticks[1] : ticks[1] - ticks[0];\r\n\r\n\t\t\t// If we have a number like 2.5 as the delta, figure out how many decimal places we need\r\n\t\t\tif (Math.abs(delta) > 1) {\r\n\t\t\t\tif (tickValue !== Math.floor(tickValue)) {\r\n\t\t\t\t\t// not an integer\r\n\t\t\t\t\tdelta = tickValue - Math.floor(tickValue);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvar logDelta = helpers$1.log10(Math.abs(delta));\r\n\t\t\tvar tickString = '';\r\n\r\n\t\t\tif (tickValue !== 0) {\r\n\t\t\t\tvar maxTick = Math.max(Math.abs(ticks[0]), Math.abs(ticks[ticks.length - 1]));\r\n\t\t\t\tif (maxTick < 1e-4) { // all ticks are small numbers; use scientific notation\r\n\t\t\t\t\tvar logTick = helpers$1.log10(Math.abs(tickValue));\r\n\t\t\t\t\tvar numExponential = Math.floor(logTick) - Math.floor(logDelta);\r\n\t\t\t\t\tnumExponential = Math.max(Math.min(numExponential, 20), 0);\r\n\t\t\t\t\ttickString = tickValue.toExponential(numExponential);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar numDecimal = -1 * Math.floor(logDelta);\r\n\t\t\t\t\tnumDecimal = Math.max(Math.min(numDecimal, 20), 0); // toFixed has a max of 20 decimal places\r\n\t\t\t\t\ttickString = tickValue.toFixed(numDecimal);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\ttickString = '0'; // never show decimal places for 0\r\n\t\t\t}\r\n\r\n\t\t\treturn tickString;\r\n\t\t},\r\n\r\n\t\tlogarithmic: function(tickValue, index, ticks) {\r\n\t\t\tvar remain = tickValue / (Math.pow(10, Math.floor(helpers$1.log10(tickValue))));\r\n\r\n\t\t\tif (tickValue === 0) {\r\n\t\t\t\treturn '0';\r\n\t\t\t} else if (remain === 1 || remain === 2 || remain === 5 || index === 0 || index === ticks.length - 1) {\r\n\t\t\t\treturn tickValue.toExponential();\r\n\t\t\t}\r\n\t\t\treturn '';\r\n\t\t}\r\n\t}\r\n};\n\nvar isArray = helpers$1.isArray;\r\nvar isNullOrUndef = helpers$1.isNullOrUndef;\r\nvar valueOrDefault$a = helpers$1.valueOrDefault;\r\nvar valueAtIndexOrDefault = helpers$1.valueAtIndexOrDefault;\r\n\r\ncore_defaults._set('scale', {\r\n\tdisplay: true,\r\n\tposition: 'left',\r\n\toffset: false,\r\n\r\n\t// grid line settings\r\n\tgridLines: {\r\n\t\tdisplay: true,\r\n\t\tcolor: 'rgba(0,0,0,0.1)',\r\n\t\tlineWidth: 1,\r\n\t\tdrawBorder: true,\r\n\t\tdrawOnChartArea: true,\r\n\t\tdrawTicks: true,\r\n\t\ttickMarkLength: 10,\r\n\t\tzeroLineWidth: 1,\r\n\t\tzeroLineColor: 'rgba(0,0,0,0.25)',\r\n\t\tzeroLineBorderDash: [],\r\n\t\tzeroLineBorderDashOffset: 0.0,\r\n\t\toffsetGridLines: false,\r\n\t\tborderDash: [],\r\n\t\tborderDashOffset: 0.0\r\n\t},\r\n\r\n\t// scale label\r\n\tscaleLabel: {\r\n\t\t// display property\r\n\t\tdisplay: false,\r\n\r\n\t\t// actual label\r\n\t\tlabelString: '',\r\n\r\n\t\t// top/bottom padding\r\n\t\tpadding: {\r\n\t\t\ttop: 4,\r\n\t\t\tbottom: 4\r\n\t\t}\r\n\t},\r\n\r\n\t// label settings\r\n\tticks: {\r\n\t\tbeginAtZero: false,\r\n\t\tminRotation: 0,\r\n\t\tmaxRotation: 50,\r\n\t\tmirror: false,\r\n\t\tpadding: 0,\r\n\t\treverse: false,\r\n\t\tdisplay: true,\r\n\t\tautoSkip: true,\r\n\t\tautoSkipPadding: 0,\r\n\t\tlabelOffset: 0,\r\n\t\t// We pass through arrays to be rendered as multiline labels, we convert Others to strings here.\r\n\t\tcallback: core_ticks.formatters.values,\r\n\t\tminor: {},\r\n\t\tmajor: {}\r\n\t}\r\n});\r\n\r\n/** Returns a new array containing numItems from arr */\r\nfunction sample(arr, numItems) {\r\n\tvar result = [];\r\n\tvar increment = arr.length / numItems;\r\n\tvar i = 0;\r\n\tvar len = arr.length;\r\n\r\n\tfor (; i < len; i += increment) {\r\n\t\tresult.push(arr[Math.floor(i)]);\r\n\t}\r\n\treturn result;\r\n}\r\n\r\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\r\n\tvar length = scale.getTicks().length;\r\n\tvar validIndex = Math.min(index, length - 1);\r\n\tvar lineValue = scale.getPixelForTick(validIndex);\r\n\tvar start = scale._startPixel;\r\n\tvar end = scale._endPixel;\r\n\tvar epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.\r\n\tvar offset;\r\n\r\n\tif (offsetGridLines) {\r\n\t\tif (length === 1) {\r\n\t\t\toffset = Math.max(lineValue - start, end - lineValue);\r\n\t\t} else if (index === 0) {\r\n\t\t\toffset = (scale.getPixelForTick(1) - lineValue) / 2;\r\n\t\t} else {\r\n\t\t\toffset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\r\n\t\t}\r\n\t\tlineValue += validIndex < index ? offset : -offset;\r\n\r\n\t\t// Return undefined if the pixel is out of the range\r\n\t\tif (lineValue < start - epsilon || lineValue > end + epsilon) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\treturn lineValue;\r\n}\r\n\r\nfunction garbageCollect(caches, length) {\r\n\thelpers$1.each(caches, function(cache) {\r\n\t\tvar gc = cache.gc;\r\n\t\tvar gcLen = gc.length / 2;\r\n\t\tvar i;\r\n\t\tif (gcLen > length) {\r\n\t\t\tfor (i = 0; i < gcLen; ++i) {\r\n\t\t\t\tdelete cache.data[gc[i]];\r\n\t\t\t}\r\n\t\t\tgc.splice(0, gcLen);\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * Returns {width, height, offset} objects for the first, last, widest, highest tick\r\n * labels where offset indicates the anchor point offset from the top in pixels.\r\n */\r\nfunction computeLabelSizes(ctx, tickFonts, ticks, caches) {\r\n\tvar length = ticks.length;\r\n\tvar widths = [];\r\n\tvar heights = [];\r\n\tvar offsets = [];\r\n\tvar widestLabelSize = 0;\r\n\tvar highestLabelSize = 0;\r\n\tvar i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel, widest, highest;\r\n\r\n\tfor (i = 0; i < length; ++i) {\r\n\t\tlabel = ticks[i].label;\r\n\t\ttickFont = ticks[i].major ? tickFonts.major : tickFonts.minor;\r\n\t\tctx.font = fontString = tickFont.string;\r\n\t\tcache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\r\n\t\tlineHeight = tickFont.lineHeight;\r\n\t\twidth = height = 0;\r\n\t\t// Undefined labels and arrays should not be measured\r\n\t\tif (!isNullOrUndef(label) && !isArray(label)) {\r\n\t\t\twidth = helpers$1.measureText(ctx, cache.data, cache.gc, width, label);\r\n\t\t\theight = lineHeight;\r\n\t\t} else if (isArray(label)) {\r\n\t\t\t// if it is an array let's measure each element\r\n\t\t\tfor (j = 0, jlen = label.length; j < jlen; ++j) {\r\n\t\t\t\tnestedLabel = label[j];\r\n\t\t\t\t// Undefined labels and arrays should not be measured\r\n\t\t\t\tif (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\r\n\t\t\t\t\twidth = helpers$1.measureText(ctx, cache.data, cache.gc, width, nestedLabel);\r\n\t\t\t\t\theight += lineHeight;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\twidths.push(width);\r\n\t\theights.push(height);\r\n\t\toffsets.push(lineHeight / 2);\r\n\t\twidestLabelSize = Math.max(width, widestLabelSize);\r\n\t\thighestLabelSize = Math.max(height, highestLabelSize);\r\n\t}\r\n\tgarbageCollect(caches, length);\r\n\r\n\twidest = widths.indexOf(widestLabelSize);\r\n\thighest = heights.indexOf(highestLabelSize);\r\n\r\n\tfunction valueAt(idx) {\r\n\t\treturn {\r\n\t\t\twidth: widths[idx] || 0,\r\n\t\t\theight: heights[idx] || 0,\r\n\t\t\toffset: offsets[idx] || 0\r\n\t\t};\r\n\t}\r\n\r\n\treturn {\r\n\t\tfirst: valueAt(0),\r\n\t\tlast: valueAt(length - 1),\r\n\t\twidest: valueAt(widest),\r\n\t\thighest: valueAt(highest)\r\n\t};\r\n}\r\n\r\nfunction getTickMarkLength(options) {\r\n\treturn options.drawTicks ? options.tickMarkLength : 0;\r\n}\r\n\r\nfunction getScaleLabelHeight(options) {\r\n\tvar font, padding;\r\n\r\n\tif (!options.display) {\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tfont = helpers$1.options._parseFont(options);\r\n\tpadding = helpers$1.options.toPadding(options.padding);\r\n\r\n\treturn font.lineHeight + padding.height;\r\n}\r\n\r\nfunction parseFontOptions(options, nestedOpts) {\r\n\treturn helpers$1.extend(helpers$1.options._parseFont({\r\n\t\tfontFamily: valueOrDefault$a(nestedOpts.fontFamily, options.fontFamily),\r\n\t\tfontSize: valueOrDefault$a(nestedOpts.fontSize, options.fontSize),\r\n\t\tfontStyle: valueOrDefault$a(nestedOpts.fontStyle, options.fontStyle),\r\n\t\tlineHeight: valueOrDefault$a(nestedOpts.lineHeight, options.lineHeight)\r\n\t}), {\r\n\t\tcolor: helpers$1.options.resolve([nestedOpts.fontColor, options.fontColor, core_defaults.global.defaultFontColor])\r\n\t});\r\n}\r\n\r\nfunction parseTickFontOptions(options) {\r\n\tvar minor = parseFontOptions(options, options.minor);\r\n\tvar major = options.major.enabled ? parseFontOptions(options, options.major) : minor;\r\n\r\n\treturn {minor: minor, major: major};\r\n}\r\n\r\nfunction nonSkipped(ticksToFilter) {\r\n\tvar filtered = [];\r\n\tvar item, index, len;\r\n\tfor (index = 0, len = ticksToFilter.length; index < len; ++index) {\r\n\t\titem = ticksToFilter[index];\r\n\t\tif (typeof item._index !== 'undefined') {\r\n\t\t\tfiltered.push(item);\r\n\t\t}\r\n\t}\r\n\treturn filtered;\r\n}\r\n\r\nfunction getEvenSpacing(arr) {\r\n\tvar len = arr.length;\r\n\tvar i, diff;\r\n\r\n\tif (len < 2) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tfor (diff = arr[0], i = 1; i < len; ++i) {\r\n\t\tif (arr[i] - arr[i - 1] !== diff) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\treturn diff;\r\n}\r\n\r\nfunction calculateSpacing(majorIndices, ticks, axisLength, ticksLimit) {\r\n\tvar evenMajorSpacing = getEvenSpacing(majorIndices);\r\n\tvar spacing = (ticks.length - 1) / ticksLimit;\r\n\tvar factors, factor, i, ilen;\r\n\r\n\t// If the major ticks are evenly spaced apart, place the minor ticks\r\n\t// so that they divide the major ticks into even chunks\r\n\tif (!evenMajorSpacing) {\r\n\t\treturn Math.max(spacing, 1);\r\n\t}\r\n\r\n\tfactors = helpers$1.math._factorize(evenMajorSpacing);\r\n\tfor (i = 0, ilen = factors.length - 1; i < ilen; i++) {\r\n\t\tfactor = factors[i];\r\n\t\tif (factor > spacing) {\r\n\t\t\treturn factor;\r\n\t\t}\r\n\t}\r\n\treturn Math.max(spacing, 1);\r\n}\r\n\r\nfunction getMajorIndices(ticks) {\r\n\tvar result = [];\r\n\tvar i, ilen;\r\n\tfor (i = 0, ilen = ticks.length; i < ilen; i++) {\r\n\t\tif (ticks[i].major) {\r\n\t\t\tresult.push(i);\r\n\t\t}\r\n\t}\r\n\treturn result;\r\n}\r\n\r\nfunction skipMajors(ticks, majorIndices, spacing) {\r\n\tvar count = 0;\r\n\tvar next = majorIndices[0];\r\n\tvar i, tick;\r\n\r\n\tspacing = Math.ceil(spacing);\r\n\tfor (i = 0; i < ticks.length; i++) {\r\n\t\ttick = ticks[i];\r\n\t\tif (i === next) {\r\n\t\t\ttick._index = i;\r\n\t\t\tcount++;\r\n\t\t\tnext = majorIndices[count * spacing];\r\n\t\t} else {\r\n\t\t\tdelete tick.label;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction skip(ticks, spacing, majorStart, majorEnd) {\r\n\tvar start = valueOrDefault$a(majorStart, 0);\r\n\tvar end = Math.min(valueOrDefault$a(majorEnd, ticks.length), ticks.length);\r\n\tvar count = 0;\r\n\tvar length, i, tick, next;\r\n\r\n\tspacing = Math.ceil(spacing);\r\n\tif (majorEnd) {\r\n\t\tlength = majorEnd - majorStart;\r\n\t\tspacing = length / Math.floor(length / spacing);\r\n\t}\r\n\r\n\tnext = start;\r\n\r\n\twhile (next < 0) {\r\n\t\tcount++;\r\n\t\tnext = Math.round(start + count * spacing);\r\n\t}\r\n\r\n\tfor (i = Math.max(start, 0); i < end; i++) {\r\n\t\ttick = ticks[i];\r\n\t\tif (i === next) {\r\n\t\t\ttick._index = i;\r\n\t\t\tcount++;\r\n\t\t\tnext = Math.round(start + count * spacing);\r\n\t\t} else {\r\n\t\t\tdelete tick.label;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvar Scale = core_element.extend({\r\n\r\n\tzeroLineIndex: 0,\r\n\r\n\t/**\r\n\t * Get the padding needed for the scale\r\n\t * @method getPadding\r\n\t * @private\r\n\t * @returns {Padding} the necessary padding\r\n\t */\r\n\tgetPadding: function() {\r\n\t\tvar me = this;\r\n\t\treturn {\r\n\t\t\tleft: me.paddingLeft || 0,\r\n\t\t\ttop: me.paddingTop || 0,\r\n\t\t\tright: me.paddingRight || 0,\r\n\t\t\tbottom: me.paddingBottom || 0\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the scale tick objects ({label, major})\r\n\t * @since 2.7\r\n\t */\r\n\tgetTicks: function() {\r\n\t\treturn this._ticks;\r\n\t},\r\n\r\n\t/**\r\n\t* @private\r\n\t*/\r\n\t_getLabels: function() {\r\n\t\tvar data = this.chart.data;\r\n\t\treturn this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\r\n\t},\r\n\r\n\t// These methods are ordered by lifecyle. Utilities then follow.\r\n\t// Any function defined here is inherited by all scale types.\r\n\t// Any function can be extended by the scale type\r\n\r\n\t/**\r\n\t * Provided for backward compatibility, not available anymore\r\n\t * @function Chart.Scale.mergeTicksOptions\r\n\t * @deprecated since version 2.8.0\r\n\t * @todo remove at version 3\r\n\t */\r\n\tmergeTicksOptions: function() {\r\n\t\t// noop\r\n\t},\r\n\r\n\tbeforeUpdate: function() {\r\n\t\thelpers$1.callback(this.options.beforeUpdate, [this]);\r\n\t},\r\n\r\n\t/**\r\n\t * @param {number} maxWidth - the max width in pixels\r\n\t * @param {number} maxHeight - the max height in pixels\r\n\t * @param {object} margins - the space between the edge of the other scales and edge of the chart\r\n\t * This space comes from two sources:\r\n\t * - padding - space that's required to show the labels at the edges of the scale\r\n\t * - thickness of scales or legends in another orientation\r\n\t */\r\n\tupdate: function(maxWidth, maxHeight, margins) {\r\n\t\tvar me = this;\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tvar sampleSize = tickOpts.sampleSize;\r\n\t\tvar i, ilen, labels, ticks, samplingEnabled;\r\n\r\n\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\r\n\t\tme.beforeUpdate();\r\n\r\n\t\t// Absorb the master measurements\r\n\t\tme.maxWidth = maxWidth;\r\n\t\tme.maxHeight = maxHeight;\r\n\t\tme.margins = helpers$1.extend({\r\n\t\t\tleft: 0,\r\n\t\t\tright: 0,\r\n\t\t\ttop: 0,\r\n\t\t\tbottom: 0\r\n\t\t}, margins);\r\n\r\n\t\tme._ticks = null;\r\n\t\tme.ticks = null;\r\n\t\tme._labelSizes = null;\r\n\t\tme._maxLabelLines = 0;\r\n\t\tme.longestLabelWidth = 0;\r\n\t\tme.longestTextCache = me.longestTextCache || {};\r\n\t\tme._gridLineItems = null;\r\n\t\tme._labelItems = null;\r\n\r\n\t\t// Dimensions\r\n\t\tme.beforeSetDimensions();\r\n\t\tme.setDimensions();\r\n\t\tme.afterSetDimensions();\r\n\r\n\t\t// Data min/max\r\n\t\tme.beforeDataLimits();\r\n\t\tme.determineDataLimits();\r\n\t\tme.afterDataLimits();\r\n\r\n\t\t// Ticks - `this.ticks` is now DEPRECATED!\r\n\t\t// Internal ticks are now stored as objects in the PRIVATE `this._ticks` member\r\n\t\t// and must not be accessed directly from outside this class. `this.ticks` being\r\n\t\t// around for long time and not marked as private, we can't change its structure\r\n\t\t// without unexpected breaking changes. If you need to access the scale ticks,\r\n\t\t// use scale.getTicks() instead.\r\n\r\n\t\tme.beforeBuildTicks();\r\n\r\n\t\t// New implementations should return an array of objects but for BACKWARD COMPAT,\r\n\t\t// we still support no return (`this.ticks` internally set by calling this method).\r\n\t\tticks = me.buildTicks() || [];\r\n\r\n\t\t// Allow modification of ticks in callback.\r\n\t\tticks = me.afterBuildTicks(ticks) || ticks;\r\n\r\n\t\t// Ensure ticks contains ticks in new tick format\r\n\t\tif ((!ticks || !ticks.length) && me.ticks) {\r\n\t\t\tticks = [];\r\n\t\t\tfor (i = 0, ilen = me.ticks.length; i < ilen; ++i) {\r\n\t\t\t\tticks.push({\r\n\t\t\t\t\tvalue: me.ticks[i],\r\n\t\t\t\t\tmajor: false\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme._ticks = ticks;\r\n\r\n\t\t// Compute tick rotation and fit using a sampled subset of labels\r\n\t\t// We generally don't need to compute the size of every single label for determining scale size\r\n\t\tsamplingEnabled = sampleSize < ticks.length;\r\n\t\tlabels = me._convertTicksToLabels(samplingEnabled ? sample(ticks, sampleSize) : ticks);\r\n\r\n\t\t// _configure is called twice, once here, once from core.controller.updateLayout.\r\n\t\t// Here we haven't been positioned yet, but dimensions are correct.\r\n\t\t// Variables set in _configure are needed for calculateTickRotation, and\r\n\t\t// it's ok that coordinates are not correct there, only dimensions matter.\r\n\t\tme._configure();\r\n\r\n\t\t// Tick Rotation\r\n\t\tme.beforeCalculateTickRotation();\r\n\t\tme.calculateTickRotation();\r\n\t\tme.afterCalculateTickRotation();\r\n\r\n\t\tme.beforeFit();\r\n\t\tme.fit();\r\n\t\tme.afterFit();\r\n\r\n\t\t// Auto-skip\r\n\t\tme._ticksToDraw = tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto') ? me._autoSkip(ticks) : ticks;\r\n\r\n\t\tif (samplingEnabled) {\r\n\t\t\t// Generate labels using all non-skipped ticks\r\n\t\t\tlabels = me._convertTicksToLabels(me._ticksToDraw);\r\n\t\t}\r\n\r\n\t\tme.ticks = labels; // BACKWARD COMPATIBILITY\r\n\r\n\t\t// IMPORTANT: after this point, we consider that `this.ticks` will NEVER change!\r\n\r\n\t\tme.afterUpdate();\r\n\r\n\t\t// TODO(v3): remove minSize as a public property and return value from all layout boxes. It is unused\r\n\t\t// make maxWidth and maxHeight private\r\n\t\treturn me.minSize;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tvar reversePixels = me.options.ticks.reverse;\r\n\t\tvar startPixel, endPixel;\r\n\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\tstartPixel = me.left;\r\n\t\t\tendPixel = me.right;\r\n\t\t} else {\r\n\t\t\tstartPixel = me.top;\r\n\t\t\tendPixel = me.bottom;\r\n\t\t\t// by default vertical scales are from bottom to top, so pixels are reversed\r\n\t\t\treversePixels = !reversePixels;\r\n\t\t}\r\n\t\tme._startPixel = startPixel;\r\n\t\tme._endPixel = endPixel;\r\n\t\tme._reversePixels = reversePixels;\r\n\t\tme._length = endPixel - startPixel;\r\n\t},\r\n\r\n\tafterUpdate: function() {\r\n\t\thelpers$1.callback(this.options.afterUpdate, [this]);\r\n\t},\r\n\r\n\t//\r\n\r\n\tbeforeSetDimensions: function() {\r\n\t\thelpers$1.callback(this.options.beforeSetDimensions, [this]);\r\n\t},\r\n\tsetDimensions: function() {\r\n\t\tvar me = this;\r\n\t\t// Set the unconstrained dimension before label rotation\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.width = me.maxWidth;\r\n\t\t\tme.left = 0;\r\n\t\t\tme.right = me.width;\r\n\t\t} else {\r\n\t\t\tme.height = me.maxHeight;\r\n\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.top = 0;\r\n\t\t\tme.bottom = me.height;\r\n\t\t}\r\n\r\n\t\t// Reset padding\r\n\t\tme.paddingLeft = 0;\r\n\t\tme.paddingTop = 0;\r\n\t\tme.paddingRight = 0;\r\n\t\tme.paddingBottom = 0;\r\n\t},\r\n\tafterSetDimensions: function() {\r\n\t\thelpers$1.callback(this.options.afterSetDimensions, [this]);\r\n\t},\r\n\r\n\t// Data limits\r\n\tbeforeDataLimits: function() {\r\n\t\thelpers$1.callback(this.options.beforeDataLimits, [this]);\r\n\t},\r\n\tdetermineDataLimits: helpers$1.noop,\r\n\tafterDataLimits: function() {\r\n\t\thelpers$1.callback(this.options.afterDataLimits, [this]);\r\n\t},\r\n\r\n\t//\r\n\tbeforeBuildTicks: function() {\r\n\t\thelpers$1.callback(this.options.beforeBuildTicks, [this]);\r\n\t},\r\n\tbuildTicks: helpers$1.noop,\r\n\tafterBuildTicks: function(ticks) {\r\n\t\tvar me = this;\r\n\t\t// ticks is empty for old axis implementations here\r\n\t\tif (isArray(ticks) && ticks.length) {\r\n\t\t\treturn helpers$1.callback(me.options.afterBuildTicks, [me, ticks]);\r\n\t\t}\r\n\t\t// Support old implementations (that modified `this.ticks` directly in buildTicks)\r\n\t\tme.ticks = helpers$1.callback(me.options.afterBuildTicks, [me, me.ticks]) || me.ticks;\r\n\t\treturn ticks;\r\n\t},\r\n\r\n\tbeforeTickToLabelConversion: function() {\r\n\t\thelpers$1.callback(this.options.beforeTickToLabelConversion, [this]);\r\n\t},\r\n\tconvertTicksToLabels: function() {\r\n\t\tvar me = this;\r\n\t\t// Convert ticks to strings\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tme.ticks = me.ticks.map(tickOpts.userCallback || tickOpts.callback, this);\r\n\t},\r\n\tafterTickToLabelConversion: function() {\r\n\t\thelpers$1.callback(this.options.afterTickToLabelConversion, [this]);\r\n\t},\r\n\r\n\t//\r\n\r\n\tbeforeCalculateTickRotation: function() {\r\n\t\thelpers$1.callback(this.options.beforeCalculateTickRotation, [this]);\r\n\t},\r\n\tcalculateTickRotation: function() {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options;\r\n\t\tvar tickOpts = options.ticks;\r\n\t\tvar numTicks = me.getTicks().length;\r\n\t\tvar minRotation = tickOpts.minRotation || 0;\r\n\t\tvar maxRotation = tickOpts.maxRotation;\r\n\t\tvar labelRotation = minRotation;\r\n\t\tvar labelSizes, maxLabelWidth, maxLabelHeight, maxWidth, tickWidth, maxHeight, maxLabelDiagonal;\r\n\r\n\t\tif (!me._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !me.isHorizontal()) {\r\n\t\t\tme.labelRotation = minRotation;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlabelSizes = me._getLabelSizes();\r\n\t\tmaxLabelWidth = labelSizes.widest.width;\r\n\t\tmaxLabelHeight = labelSizes.highest.height - labelSizes.highest.offset;\r\n\r\n\t\t// Estimate the width of each grid based on the canvas width, the maximum\r\n\t\t// label width and the number of tick intervals\r\n\t\tmaxWidth = Math.min(me.maxWidth, me.chart.width - maxLabelWidth);\r\n\t\ttickWidth = options.offset ? me.maxWidth / numTicks : maxWidth / (numTicks - 1);\r\n\r\n\t\t// Allow 3 pixels x2 padding either side for label readability\r\n\t\tif (maxLabelWidth + 6 > tickWidth) {\r\n\t\t\ttickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\r\n\t\t\tmaxHeight = me.maxHeight - getTickMarkLength(options.gridLines)\r\n\t\t\t\t- tickOpts.padding - getScaleLabelHeight(options.scaleLabel);\r\n\t\t\tmaxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\r\n\t\t\tlabelRotation = helpers$1.toDegrees(Math.min(\r\n\t\t\t\tMath.asin(Math.min((labelSizes.highest.height + 6) / tickWidth, 1)),\r\n\t\t\t\tMath.asin(Math.min(maxHeight / maxLabelDiagonal, 1)) - Math.asin(maxLabelHeight / maxLabelDiagonal)\r\n\t\t\t));\r\n\t\t\tlabelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\r\n\t\t}\r\n\r\n\t\tme.labelRotation = labelRotation;\r\n\t},\r\n\tafterCalculateTickRotation: function() {\r\n\t\thelpers$1.callback(this.options.afterCalculateTickRotation, [this]);\r\n\t},\r\n\r\n\t//\r\n\r\n\tbeforeFit: function() {\r\n\t\thelpers$1.callback(this.options.beforeFit, [this]);\r\n\t},\r\n\tfit: function() {\r\n\t\tvar me = this;\r\n\t\t// Reset\r\n\t\tvar minSize = me.minSize = {\r\n\t\t\twidth: 0,\r\n\t\t\theight: 0\r\n\t\t};\r\n\r\n\t\tvar chart = me.chart;\r\n\t\tvar opts = me.options;\r\n\t\tvar tickOpts = opts.ticks;\r\n\t\tvar scaleLabelOpts = opts.scaleLabel;\r\n\t\tvar gridLineOpts = opts.gridLines;\r\n\t\tvar display = me._isVisible();\r\n\t\tvar isBottom = opts.position === 'bottom';\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\r\n\t\t// Width\r\n\t\tif (isHorizontal) {\r\n\t\t\tminSize.width = me.maxWidth;\r\n\t\t} else if (display) {\r\n\t\t\tminSize.width = getTickMarkLength(gridLineOpts) + getScaleLabelHeight(scaleLabelOpts);\r\n\t\t}\r\n\r\n\t\t// height\r\n\t\tif (!isHorizontal) {\r\n\t\t\tminSize.height = me.maxHeight; // fill all the height\r\n\t\t} else if (display) {\r\n\t\t\tminSize.height = getTickMarkLength(gridLineOpts) + getScaleLabelHeight(scaleLabelOpts);\r\n\t\t}\r\n\r\n\t\t// Don't bother fitting the ticks if we are not showing the labels\r\n\t\tif (tickOpts.display && display) {\r\n\t\t\tvar tickFonts = parseTickFontOptions(tickOpts);\r\n\t\t\tvar labelSizes = me._getLabelSizes();\r\n\t\t\tvar firstLabelSize = labelSizes.first;\r\n\t\t\tvar lastLabelSize = labelSizes.last;\r\n\t\t\tvar widestLabelSize = labelSizes.widest;\r\n\t\t\tvar highestLabelSize = labelSizes.highest;\r\n\t\t\tvar lineSpace = tickFonts.minor.lineHeight * 0.4;\r\n\t\t\tvar tickPadding = tickOpts.padding;\r\n\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\t// A horizontal axis is more constrained by the height.\r\n\t\t\t\tvar isRotated = me.labelRotation !== 0;\r\n\t\t\t\tvar angleRadians = helpers$1.toRadians(me.labelRotation);\r\n\t\t\t\tvar cosRotation = Math.cos(angleRadians);\r\n\t\t\t\tvar sinRotation = Math.sin(angleRadians);\r\n\r\n\t\t\t\tvar labelHeight = sinRotation * widestLabelSize.width\r\n\t\t\t\t\t+ cosRotation * (highestLabelSize.height - (isRotated ? highestLabelSize.offset : 0))\r\n\t\t\t\t\t+ (isRotated ? 0 : lineSpace); // padding\r\n\r\n\t\t\t\tminSize.height = Math.min(me.maxHeight, minSize.height + labelHeight + tickPadding);\r\n\r\n\t\t\t\tvar offsetLeft = me.getPixelForTick(0) - me.left;\r\n\t\t\t\tvar offsetRight = me.right - me.getPixelForTick(me.getTicks().length - 1);\r\n\t\t\t\tvar paddingLeft, paddingRight;\r\n\r\n\t\t\t\t// Ensure that our ticks are always inside the canvas. When rotated, ticks are right aligned\r\n\t\t\t\t// which means that the right padding is dominated by the font height\r\n\t\t\t\tif (isRotated) {\r\n\t\t\t\t\tpaddingLeft = isBottom ?\r\n\t\t\t\t\t\tcosRotation * firstLabelSize.width + sinRotation * firstLabelSize.offset :\r\n\t\t\t\t\t\tsinRotation * (firstLabelSize.height - firstLabelSize.offset);\r\n\t\t\t\t\tpaddingRight = isBottom ?\r\n\t\t\t\t\t\tsinRotation * (lastLabelSize.height - lastLabelSize.offset) :\r\n\t\t\t\t\t\tcosRotation * lastLabelSize.width + sinRotation * lastLabelSize.offset;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tpaddingLeft = firstLabelSize.width / 2;\r\n\t\t\t\t\tpaddingRight = lastLabelSize.width / 2;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Adjust padding taking into account changes in offsets\r\n\t\t\t\t// and add 3 px to move away from canvas edges\r\n\t\t\t\tme.paddingLeft = Math.max((paddingLeft - offsetLeft) * me.width / (me.width - offsetLeft), 0) + 3;\r\n\t\t\t\tme.paddingRight = Math.max((paddingRight - offsetRight) * me.width / (me.width - offsetRight), 0) + 3;\r\n\t\t\t} else {\r\n\t\t\t\t// A vertical axis is more constrained by the width. Labels are the\r\n\t\t\t\t// dominant factor here, so get that length first and account for padding\r\n\t\t\t\tvar labelWidth = tickOpts.mirror ? 0 :\r\n\t\t\t\t\t// use lineSpace for consistency with horizontal axis\r\n\t\t\t\t\t// tickPadding is not implemented for horizontal\r\n\t\t\t\t\twidestLabelSize.width + tickPadding + lineSpace;\r\n\r\n\t\t\t\tminSize.width = Math.min(me.maxWidth, minSize.width + labelWidth);\r\n\r\n\t\t\t\tme.paddingTop = firstLabelSize.height / 2;\r\n\t\t\t\tme.paddingBottom = lastLabelSize.height / 2;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme.handleMargins();\r\n\r\n\t\tif (isHorizontal) {\r\n\t\t\tme.width = me._length = chart.width - me.margins.left - me.margins.right;\r\n\t\t\tme.height = minSize.height;\r\n\t\t} else {\r\n\t\t\tme.width = minSize.width;\r\n\t\t\tme.height = me._length = chart.height - me.margins.top - me.margins.bottom;\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Handle margins and padding interactions\r\n\t * @private\r\n\t */\r\n\thandleMargins: function() {\r\n\t\tvar me = this;\r\n\t\tif (me.margins) {\r\n\t\t\tme.margins.left = Math.max(me.paddingLeft, me.margins.left);\r\n\t\t\tme.margins.top = Math.max(me.paddingTop, me.margins.top);\r\n\t\t\tme.margins.right = Math.max(me.paddingRight, me.margins.right);\r\n\t\t\tme.margins.bottom = Math.max(me.paddingBottom, me.margins.bottom);\r\n\t\t}\r\n\t},\r\n\r\n\tafterFit: function() {\r\n\t\thelpers$1.callback(this.options.afterFit, [this]);\r\n\t},\r\n\r\n\t// Shared Methods\r\n\tisHorizontal: function() {\r\n\t\tvar pos = this.options.position;\r\n\t\treturn pos === 'top' || pos === 'bottom';\r\n\t},\r\n\tisFullWidth: function() {\r\n\t\treturn this.options.fullWidth;\r\n\t},\r\n\r\n\t// Get the correct value. NaN bad inputs, If the value type is object get the x or y based on whether we are horizontal or not\r\n\tgetRightValue: function(rawValue) {\r\n\t\t// Null and undefined values first\r\n\t\tif (isNullOrUndef(rawValue)) {\r\n\t\t\treturn NaN;\r\n\t\t}\r\n\t\t// isNaN(object) returns true, so make sure NaN is checking for a number; Discard Infinite values\r\n\t\tif ((typeof rawValue === 'number' || rawValue instanceof Number) && !isFinite(rawValue)) {\r\n\t\t\treturn NaN;\r\n\t\t}\r\n\r\n\t\t// If it is in fact an object, dive in one more level\r\n\t\tif (rawValue) {\r\n\t\t\tif (this.isHorizontal()) {\r\n\t\t\t\tif (rawValue.x !== undefined) {\r\n\t\t\t\t\treturn this.getRightValue(rawValue.x);\r\n\t\t\t\t}\r\n\t\t\t} else if (rawValue.y !== undefined) {\r\n\t\t\t\treturn this.getRightValue(rawValue.y);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Value is good, return it\r\n\t\treturn rawValue;\r\n\t},\r\n\r\n\t_convertTicksToLabels: function(ticks) {\r\n\t\tvar me = this;\r\n\t\tvar labels, i, ilen;\r\n\r\n\t\tme.ticks = ticks.map(function(tick) {\r\n\t\t\treturn tick.value;\r\n\t\t});\r\n\r\n\t\tme.beforeTickToLabelConversion();\r\n\r\n\t\t// New implementations should return the formatted tick labels but for BACKWARD\r\n\t\t// COMPAT, we still support no return (`this.ticks` internally changed by calling\r\n\t\t// this method and supposed to contain only string values).\r\n\t\tlabels = me.convertTicksToLabels(ticks) || me.ticks;\r\n\r\n\t\tme.afterTickToLabelConversion();\r\n\r\n\t\t// BACKWARD COMPAT: synchronize `_ticks` with labels (so potentially `this.ticks`)\r\n\t\tfor (i = 0, ilen = ticks.length; i < ilen; ++i) {\r\n\t\t\tticks[i].label = labels[i];\r\n\t\t}\r\n\r\n\t\treturn labels;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getLabelSizes: function() {\r\n\t\tvar me = this;\r\n\t\tvar labelSizes = me._labelSizes;\r\n\r\n\t\tif (!labelSizes) {\r\n\t\t\tme._labelSizes = labelSizes = computeLabelSizes(me.ctx, parseTickFontOptions(me.options.ticks), me.getTicks(), me.longestTextCache);\r\n\t\t\tme.longestLabelWidth = labelSizes.widest.width;\r\n\t\t}\r\n\r\n\t\treturn labelSizes;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_parseValue: function(value) {\r\n\t\tvar start, end, min, max;\r\n\r\n\t\tif (isArray(value)) {\r\n\t\t\tstart = +this.getRightValue(value[0]);\r\n\t\t\tend = +this.getRightValue(value[1]);\r\n\t\t\tmin = Math.min(start, end);\r\n\t\t\tmax = Math.max(start, end);\r\n\t\t} else {\r\n\t\t\tvalue = +this.getRightValue(value);\r\n\t\t\tstart = undefined;\r\n\t\t\tend = value;\r\n\t\t\tmin = value;\r\n\t\t\tmax = value;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tmin: min,\r\n\t\t\tmax: max,\r\n\t\t\tstart: start,\r\n\t\t\tend: end\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t* @private\r\n\t*/\r\n\t_getScaleLabel: function(rawValue) {\r\n\t\tvar v = this._parseValue(rawValue);\r\n\t\tif (v.start !== undefined) {\r\n\t\t\treturn '[' + v.start + ', ' + v.end + ']';\r\n\t\t}\r\n\r\n\t\treturn +this.getRightValue(rawValue);\r\n\t},\r\n\r\n\t/**\r\n\t * Used to get the value to display in the tooltip for the data at the given index\r\n\t * @param index\r\n\t * @param datasetIndex\r\n\t */\r\n\tgetLabelForIndex: helpers$1.noop,\r\n\r\n\t/**\r\n\t * Returns the location of the given data point. Value can either be an index or a numerical value\r\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t * @param value\r\n\t * @param index\r\n\t * @param datasetIndex\r\n\t */\r\n\tgetPixelForValue: helpers$1.noop,\r\n\r\n\t/**\r\n\t * Used to get the data value from a given pixel. This is the inverse of getPixelForValue\r\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t * @param pixel\r\n\t */\r\n\tgetValueForPixel: helpers$1.noop,\r\n\r\n\t/**\r\n\t * Returns the location of the tick at the given index\r\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t */\r\n\tgetPixelForTick: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar offset = me.options.offset;\r\n\t\tvar numTicks = me._ticks.length;\r\n\t\tvar tickWidth = 1 / Math.max(numTicks - (offset ? 0 : 1), 1);\r\n\r\n\t\treturn index < 0 || index > numTicks - 1\r\n\t\t\t? null\r\n\t\t\t: me.getPixelForDecimal(index * tickWidth + (offset ? tickWidth / 2 : 0));\r\n\t},\r\n\r\n\t/**\r\n\t * Utility for getting the pixel location of a percentage of scale\r\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t */\r\n\tgetPixelForDecimal: function(decimal) {\r\n\t\tvar me = this;\r\n\r\n\t\tif (me._reversePixels) {\r\n\t\t\tdecimal = 1 - decimal;\r\n\t\t}\r\n\r\n\t\treturn me._startPixel + decimal * me._length;\r\n\t},\r\n\r\n\tgetDecimalForPixel: function(pixel) {\r\n\t\tvar decimal = (pixel - this._startPixel) / this._length;\r\n\t\treturn this._reversePixels ? 1 - decimal : decimal;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the pixel for the minimum chart value\r\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t */\r\n\tgetBasePixel: function() {\r\n\t\treturn this.getPixelForValue(this.getBaseValue());\r\n\t},\r\n\r\n\tgetBaseValue: function() {\r\n\t\tvar me = this;\r\n\t\tvar min = me.min;\r\n\t\tvar max = me.max;\r\n\r\n\t\treturn me.beginAtZero ? 0 :\r\n\t\t\tmin < 0 && max < 0 ? max :\r\n\t\t\tmin > 0 && max > 0 ? min :\r\n\t\t\t0;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a subset of ticks to be plotted to avoid overlapping labels.\r\n\t * @private\r\n\t */\r\n\t_autoSkip: function(ticks) {\r\n\t\tvar me = this;\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tvar axisLength = me._length;\r\n\t\tvar ticksLimit = tickOpts.maxTicksLimit || axisLength / me._tickSize() + 1;\r\n\t\tvar majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\r\n\t\tvar numMajorIndices = majorIndices.length;\r\n\t\tvar first = majorIndices[0];\r\n\t\tvar last = majorIndices[numMajorIndices - 1];\r\n\t\tvar i, ilen, spacing, avgMajorSpacing;\r\n\r\n\t\t// If there are too many major ticks to display them all\r\n\t\tif (numMajorIndices > ticksLimit) {\r\n\t\t\tskipMajors(ticks, majorIndices, numMajorIndices / ticksLimit);\r\n\t\t\treturn nonSkipped(ticks);\r\n\t\t}\r\n\r\n\t\tspacing = calculateSpacing(majorIndices, ticks, axisLength, ticksLimit);\r\n\r\n\t\tif (numMajorIndices > 0) {\r\n\t\t\tfor (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\r\n\t\t\t\tskip(ticks, spacing, majorIndices[i], majorIndices[i + 1]);\r\n\t\t\t}\r\n\t\t\tavgMajorSpacing = numMajorIndices > 1 ? (last - first) / (numMajorIndices - 1) : null;\r\n\t\t\tskip(ticks, spacing, helpers$1.isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\r\n\t\t\tskip(ticks, spacing, last, helpers$1.isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\r\n\t\t\treturn nonSkipped(ticks);\r\n\t\t}\r\n\t\tskip(ticks, spacing);\r\n\t\treturn nonSkipped(ticks);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_tickSize: function() {\r\n\t\tvar me = this;\r\n\t\tvar optionTicks = me.options.ticks;\r\n\r\n\t\t// Calculate space needed by label in axis direction.\r\n\t\tvar rot = helpers$1.toRadians(me.labelRotation);\r\n\t\tvar cos = Math.abs(Math.cos(rot));\r\n\t\tvar sin = Math.abs(Math.sin(rot));\r\n\r\n\t\tvar labelSizes = me._getLabelSizes();\r\n\t\tvar padding = optionTicks.autoSkipPadding || 0;\r\n\t\tvar w = labelSizes ? labelSizes.widest.width + padding : 0;\r\n\t\tvar h = labelSizes ? labelSizes.highest.height + padding : 0;\r\n\r\n\t\t// Calculate space needed for 1 tick in axis direction.\r\n\t\treturn me.isHorizontal()\r\n\t\t\t? h * cos > w * sin ? w / cos : h / sin\r\n\t\t\t: h * sin < w * cos ? h / cos : w / sin;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_isVisible: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar display = me.options.display;\r\n\t\tvar i, ilen, meta;\r\n\r\n\t\tif (display !== 'auto') {\r\n\t\t\treturn !!display;\r\n\t\t}\r\n\r\n\t\t// When 'auto', the scale is visible if at least one associated dataset is visible.\r\n\t\tfor (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\r\n\t\t\tif (chart.isDatasetVisible(i)) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\tif (meta.xAxisID === me.id || meta.yAxisID === me.id) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_computeGridLineItems: function(chartArea) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar options = me.options;\r\n\t\tvar gridLines = options.gridLines;\r\n\t\tvar position = options.position;\r\n\t\tvar offsetGridLines = gridLines.offsetGridLines;\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\tvar ticks = me._ticksToDraw;\r\n\t\tvar ticksLength = ticks.length + (offsetGridLines ? 1 : 0);\r\n\r\n\t\tvar tl = getTickMarkLength(gridLines);\r\n\t\tvar items = [];\r\n\t\tvar axisWidth = gridLines.drawBorder ? valueAtIndexOrDefault(gridLines.lineWidth, 0, 0) : 0;\r\n\t\tvar axisHalfWidth = axisWidth / 2;\r\n\t\tvar alignPixel = helpers$1._alignPixel;\r\n\t\tvar alignBorderValue = function(pixel) {\r\n\t\t\treturn alignPixel(chart, pixel, axisWidth);\r\n\t\t};\r\n\t\tvar borderValue, i, tick, lineValue, alignedLineValue;\r\n\t\tvar tx1, ty1, tx2, ty2, x1, y1, x2, y2, lineWidth, lineColor, borderDash, borderDashOffset;\r\n\r\n\t\tif (position === 'top') {\r\n\t\t\tborderValue = alignBorderValue(me.bottom);\r\n\t\t\tty1 = me.bottom - tl;\r\n\t\t\tty2 = borderValue - axisHalfWidth;\r\n\t\t\ty1 = alignBorderValue(chartArea.top) + axisHalfWidth;\r\n\t\t\ty2 = chartArea.bottom;\r\n\t\t} else if (position === 'bottom') {\r\n\t\t\tborderValue = alignBorderValue(me.top);\r\n\t\t\ty1 = chartArea.top;\r\n\t\t\ty2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\r\n\t\t\tty1 = borderValue + axisHalfWidth;\r\n\t\t\tty2 = me.top + tl;\r\n\t\t} else if (position === 'left') {\r\n\t\t\tborderValue = alignBorderValue(me.right);\r\n\t\t\ttx1 = me.right - tl;\r\n\t\t\ttx2 = borderValue - axisHalfWidth;\r\n\t\t\tx1 = alignBorderValue(chartArea.left) + axisHalfWidth;\r\n\t\t\tx2 = chartArea.right;\r\n\t\t} else {\r\n\t\t\tborderValue = alignBorderValue(me.left);\r\n\t\t\tx1 = chartArea.left;\r\n\t\t\tx2 = alignBorderValue(chartArea.right) - axisHalfWidth;\r\n\t\t\ttx1 = borderValue + axisHalfWidth;\r\n\t\t\ttx2 = me.left + tl;\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < ticksLength; ++i) {\r\n\t\t\ttick = ticks[i] || {};\r\n\r\n\t\t\t// autoskipper skipped this tick (#4635)\r\n\t\t\tif (isNullOrUndef(tick.label) && i < ticks.length) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tif (i === me.zeroLineIndex && options.offset === offsetGridLines) {\r\n\t\t\t\t// Draw the first index specially\r\n\t\t\t\tlineWidth = gridLines.zeroLineWidth;\r\n\t\t\t\tlineColor = gridLines.zeroLineColor;\r\n\t\t\t\tborderDash = gridLines.zeroLineBorderDash || [];\r\n\t\t\t\tborderDashOffset = gridLines.zeroLineBorderDashOffset || 0.0;\r\n\t\t\t} else {\r\n\t\t\t\tlineWidth = valueAtIndexOrDefault(gridLines.lineWidth, i, 1);\r\n\t\t\t\tlineColor = valueAtIndexOrDefault(gridLines.color, i, 'rgba(0,0,0,0.1)');\r\n\t\t\t\tborderDash = gridLines.borderDash || [];\r\n\t\t\t\tborderDashOffset = gridLines.borderDashOffset || 0.0;\r\n\t\t\t}\r\n\r\n\t\t\tlineValue = getPixelForGridLine(me, tick._index || i, offsetGridLines);\r\n\r\n\t\t\t// Skip if the pixel is out of the range\r\n\t\t\tif (lineValue === undefined) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\talignedLineValue = alignPixel(chart, lineValue, lineWidth);\r\n\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\ttx1 = tx2 = x1 = x2 = alignedLineValue;\r\n\t\t\t} else {\r\n\t\t\t\tty1 = ty2 = y1 = y2 = alignedLineValue;\r\n\t\t\t}\r\n\r\n\t\t\titems.push({\r\n\t\t\t\ttx1: tx1,\r\n\t\t\t\tty1: ty1,\r\n\t\t\t\ttx2: tx2,\r\n\t\t\t\tty2: ty2,\r\n\t\t\t\tx1: x1,\r\n\t\t\t\ty1: y1,\r\n\t\t\t\tx2: x2,\r\n\t\t\t\ty2: y2,\r\n\t\t\t\twidth: lineWidth,\r\n\t\t\t\tcolor: lineColor,\r\n\t\t\t\tborderDash: borderDash,\r\n\t\t\t\tborderDashOffset: borderDashOffset,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\titems.ticksLength = ticksLength;\r\n\t\titems.borderValue = borderValue;\r\n\r\n\t\treturn items;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_computeLabelItems: function() {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options;\r\n\t\tvar optionTicks = options.ticks;\r\n\t\tvar position = options.position;\r\n\t\tvar isMirrored = optionTicks.mirror;\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\tvar ticks = me._ticksToDraw;\r\n\t\tvar fonts = parseTickFontOptions(optionTicks);\r\n\t\tvar tickPadding = optionTicks.padding;\r\n\t\tvar tl = getTickMarkLength(options.gridLines);\r\n\t\tvar rotation = -helpers$1.toRadians(me.labelRotation);\r\n\t\tvar items = [];\r\n\t\tvar i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\r\n\r\n\t\tif (position === 'top') {\r\n\t\t\ty = me.bottom - tl - tickPadding;\r\n\t\t\ttextAlign = !rotation ? 'center' : 'left';\r\n\t\t} else if (position === 'bottom') {\r\n\t\t\ty = me.top + tl + tickPadding;\r\n\t\t\ttextAlign = !rotation ? 'center' : 'right';\r\n\t\t} else if (position === 'left') {\r\n\t\t\tx = me.right - (isMirrored ? 0 : tl) - tickPadding;\r\n\t\t\ttextAlign = isMirrored ? 'left' : 'right';\r\n\t\t} else {\r\n\t\t\tx = me.left + (isMirrored ? 0 : tl) + tickPadding;\r\n\t\t\ttextAlign = isMirrored ? 'right' : 'left';\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = ticks.length; i < ilen; ++i) {\r\n\t\t\ttick = ticks[i];\r\n\t\t\tlabel = tick.label;\r\n\r\n\t\t\t// autoskipper skipped this tick (#4635)\r\n\t\t\tif (isNullOrUndef(label)) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tpixel = me.getPixelForTick(tick._index || i) + optionTicks.labelOffset;\r\n\t\t\tfont = tick.major ? fonts.major : fonts.minor;\r\n\t\t\tlineHeight = font.lineHeight;\r\n\t\t\tlineCount = isArray(label) ? label.length : 1;\r\n\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\tx = pixel;\r\n\t\t\t\ttextOffset = position === 'top'\r\n\t\t\t\t\t? ((!rotation ? 0.5 : 1) - lineCount) * lineHeight\r\n\t\t\t\t\t: (!rotation ? 0.5 : 0) * lineHeight;\r\n\t\t\t} else {\r\n\t\t\t\ty = pixel;\r\n\t\t\t\ttextOffset = (1 - lineCount) * lineHeight / 2;\r\n\t\t\t}\r\n\r\n\t\t\titems.push({\r\n\t\t\t\tx: x,\r\n\t\t\t\ty: y,\r\n\t\t\t\trotation: rotation,\r\n\t\t\t\tlabel: label,\r\n\t\t\t\tfont: font,\r\n\t\t\t\ttextOffset: textOffset,\r\n\t\t\t\ttextAlign: textAlign\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn items;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawGrid: function(chartArea) {\r\n\t\tvar me = this;\r\n\t\tvar gridLines = me.options.gridLines;\r\n\r\n\t\tif (!gridLines.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar chart = me.chart;\r\n\t\tvar alignPixel = helpers$1._alignPixel;\r\n\t\tvar axisWidth = gridLines.drawBorder ? valueAtIndexOrDefault(gridLines.lineWidth, 0, 0) : 0;\r\n\t\tvar items = me._gridLineItems || (me._gridLineItems = me._computeGridLineItems(chartArea));\r\n\t\tvar width, color, i, ilen, item;\r\n\r\n\t\tfor (i = 0, ilen = items.length; i < ilen; ++i) {\r\n\t\t\titem = items[i];\r\n\t\t\twidth = item.width;\r\n\t\t\tcolor = item.color;\r\n\r\n\t\t\tif (width && color) {\r\n\t\t\t\tctx.save();\r\n\t\t\t\tctx.lineWidth = width;\r\n\t\t\t\tctx.strokeStyle = color;\r\n\t\t\t\tif (ctx.setLineDash) {\r\n\t\t\t\t\tctx.setLineDash(item.borderDash);\r\n\t\t\t\t\tctx.lineDashOffset = item.borderDashOffset;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tctx.beginPath();\r\n\r\n\t\t\t\tif (gridLines.drawTicks) {\r\n\t\t\t\t\tctx.moveTo(item.tx1, item.ty1);\r\n\t\t\t\t\tctx.lineTo(item.tx2, item.ty2);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (gridLines.drawOnChartArea) {\r\n\t\t\t\t\tctx.moveTo(item.x1, item.y1);\r\n\t\t\t\t\tctx.lineTo(item.x2, item.y2);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tctx.stroke();\r\n\t\t\t\tctx.restore();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (axisWidth) {\r\n\t\t\t// Draw the line at the edge of the axis\r\n\t\t\tvar firstLineWidth = axisWidth;\r\n\t\t\tvar lastLineWidth = valueAtIndexOrDefault(gridLines.lineWidth, items.ticksLength - 1, 1);\r\n\t\t\tvar borderValue = items.borderValue;\r\n\t\t\tvar x1, x2, y1, y2;\r\n\r\n\t\t\tif (me.isHorizontal()) {\r\n\t\t\t\tx1 = alignPixel(chart, me.left, firstLineWidth) - firstLineWidth / 2;\r\n\t\t\t\tx2 = alignPixel(chart, me.right, lastLineWidth) + lastLineWidth / 2;\r\n\t\t\t\ty1 = y2 = borderValue;\r\n\t\t\t} else {\r\n\t\t\t\ty1 = alignPixel(chart, me.top, firstLineWidth) - firstLineWidth / 2;\r\n\t\t\t\ty2 = alignPixel(chart, me.bottom, lastLineWidth) + lastLineWidth / 2;\r\n\t\t\t\tx1 = x2 = borderValue;\r\n\t\t\t}\r\n\r\n\t\t\tctx.lineWidth = axisWidth;\r\n\t\t\tctx.strokeStyle = valueAtIndexOrDefault(gridLines.color, 0);\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.moveTo(x1, y1);\r\n\t\t\tctx.lineTo(x2, y2);\r\n\t\t\tctx.stroke();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawLabels: function() {\r\n\t\tvar me = this;\r\n\t\tvar optionTicks = me.options.ticks;\r\n\r\n\t\tif (!optionTicks.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar items = me._labelItems || (me._labelItems = me._computeLabelItems());\r\n\t\tvar i, j, ilen, jlen, item, tickFont, label, y;\r\n\r\n\t\tfor (i = 0, ilen = items.length; i < ilen; ++i) {\r\n\t\t\titem = items[i];\r\n\t\t\ttickFont = item.font;\r\n\r\n\t\t\t// Make sure we draw text in the correct color and font\r\n\t\t\tctx.save();\r\n\t\t\tctx.translate(item.x, item.y);\r\n\t\t\tctx.rotate(item.rotation);\r\n\t\t\tctx.font = tickFont.string;\r\n\t\t\tctx.fillStyle = tickFont.color;\r\n\t\t\tctx.textBaseline = 'middle';\r\n\t\t\tctx.textAlign = item.textAlign;\r\n\r\n\t\t\tlabel = item.label;\r\n\t\t\ty = item.textOffset;\r\n\t\t\tif (isArray(label)) {\r\n\t\t\t\tfor (j = 0, jlen = label.length; j < jlen; ++j) {\r\n\t\t\t\t\t// We just make sure the multiline element is a string here..\r\n\t\t\t\t\tctx.fillText('' + label[j], 0, y);\r\n\t\t\t\t\ty += tickFont.lineHeight;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tctx.fillText(label, 0, y);\r\n\t\t\t}\r\n\t\t\tctx.restore();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawTitle: function() {\r\n\t\tvar me = this;\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar options = me.options;\r\n\t\tvar scaleLabel = options.scaleLabel;\r\n\r\n\t\tif (!scaleLabel.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar scaleLabelFontColor = valueOrDefault$a(scaleLabel.fontColor, core_defaults.global.defaultFontColor);\r\n\t\tvar scaleLabelFont = helpers$1.options._parseFont(scaleLabel);\r\n\t\tvar scaleLabelPadding = helpers$1.options.toPadding(scaleLabel.padding);\r\n\t\tvar halfLineHeight = scaleLabelFont.lineHeight / 2;\r\n\t\tvar position = options.position;\r\n\t\tvar rotation = 0;\r\n\t\tvar scaleLabelX, scaleLabelY;\r\n\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\tscaleLabelX = me.left + me.width / 2; // midpoint of the width\r\n\t\t\tscaleLabelY = position === 'bottom'\r\n\t\t\t\t? me.bottom - halfLineHeight - scaleLabelPadding.bottom\r\n\t\t\t\t: me.top + halfLineHeight + scaleLabelPadding.top;\r\n\t\t} else {\r\n\t\t\tvar isLeft = position === 'left';\r\n\t\t\tscaleLabelX = isLeft\r\n\t\t\t\t? me.left + halfLineHeight + scaleLabelPadding.top\r\n\t\t\t\t: me.right - halfLineHeight - scaleLabelPadding.top;\r\n\t\t\tscaleLabelY = me.top + me.height / 2;\r\n\t\t\trotation = isLeft ? -0.5 * Math.PI : 0.5 * Math.PI;\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\t\tctx.translate(scaleLabelX, scaleLabelY);\r\n\t\tctx.rotate(rotation);\r\n\t\tctx.textAlign = 'center';\r\n\t\tctx.textBaseline = 'middle';\r\n\t\tctx.fillStyle = scaleLabelFontColor; // render in correct colour\r\n\t\tctx.font = scaleLabelFont.string;\r\n\t\tctx.fillText(scaleLabel.labelString, 0, 0);\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\tdraw: function(chartArea) {\r\n\t\tvar me = this;\r\n\r\n\t\tif (!me._isVisible()) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tme._drawGrid(chartArea);\r\n\t\tme._drawTitle();\r\n\t\tme._drawLabels();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_layers: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar tz = opts.ticks && opts.ticks.z || 0;\r\n\t\tvar gz = opts.gridLines && opts.gridLines.z || 0;\r\n\r\n\t\tif (!me._isVisible() || tz === gz || me.draw !== me._draw) {\r\n\t\t\t// backward compatibility: draw has been overridden by custom scale\r\n\t\t\treturn [{\r\n\t\t\t\tz: tz,\r\n\t\t\t\tdraw: function() {\r\n\t\t\t\t\tme.draw.apply(me, arguments);\r\n\t\t\t\t}\r\n\t\t\t}];\r\n\t\t}\r\n\r\n\t\treturn [{\r\n\t\t\tz: gz,\r\n\t\t\tdraw: function() {\r\n\t\t\t\tme._drawGrid.apply(me, arguments);\r\n\t\t\t\tme._drawTitle.apply(me, arguments);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tz: tz,\r\n\t\t\tdraw: function() {\r\n\t\t\t\tme._drawLabels.apply(me, arguments);\r\n\t\t\t}\r\n\t\t}];\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getMatchingVisibleMetas: function(type) {\r\n\t\tvar me = this;\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\treturn me.chart._getSortedVisibleDatasetMetas()\r\n\t\t\t.filter(function(meta) {\r\n\t\t\t\treturn (!type || meta.type === type)\r\n\t\t\t\t\t&& (isHorizontal ? meta.xAxisID === me.id : meta.yAxisID === me.id);\r\n\t\t\t});\r\n\t}\r\n});\r\n\r\nScale.prototype._draw = Scale.prototype.draw;\r\n\r\nvar core_scale = Scale;\n\nvar isNullOrUndef$1 = helpers$1.isNullOrUndef;\r\n\r\nvar defaultConfig = {\r\n\tposition: 'bottom'\r\n};\r\n\r\nvar scale_category = core_scale.extend({\r\n\tdetermineDataLimits: function() {\r\n\t\tvar me = this;\r\n\t\tvar labels = me._getLabels();\r\n\t\tvar ticksOpts = me.options.ticks;\r\n\t\tvar min = ticksOpts.min;\r\n\t\tvar max = ticksOpts.max;\r\n\t\tvar minIndex = 0;\r\n\t\tvar maxIndex = labels.length - 1;\r\n\t\tvar findIndex;\r\n\r\n\t\tif (min !== undefined) {\r\n\t\t\t// user specified min value\r\n\t\t\tfindIndex = labels.indexOf(min);\r\n\t\t\tif (findIndex >= 0) {\r\n\t\t\t\tminIndex = findIndex;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (max !== undefined) {\r\n\t\t\t// user specified max value\r\n\t\t\tfindIndex = labels.indexOf(max);\r\n\t\t\tif (findIndex >= 0) {\r\n\t\t\t\tmaxIndex = findIndex;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme.minIndex = minIndex;\r\n\t\tme.maxIndex = maxIndex;\r\n\t\tme.min = labels[minIndex];\r\n\t\tme.max = labels[maxIndex];\r\n\t},\r\n\r\n\tbuildTicks: function() {\r\n\t\tvar me = this;\r\n\t\tvar labels = me._getLabels();\r\n\t\tvar minIndex = me.minIndex;\r\n\t\tvar maxIndex = me.maxIndex;\r\n\r\n\t\t// If we are viewing some subset of labels, slice the original array\r\n\t\tme.ticks = (minIndex === 0 && maxIndex === labels.length - 1) ? labels : labels.slice(minIndex, maxIndex + 1);\r\n\t},\r\n\r\n\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\r\n\t\tif (chart.getDatasetMeta(datasetIndex).controller._getValueScaleId() === me.id) {\r\n\t\t\treturn me.getRightValue(chart.data.datasets[datasetIndex].data[index]);\r\n\t\t}\r\n\r\n\t\treturn me._getLabels()[index];\r\n\t},\r\n\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tvar offset = me.options.offset;\r\n\t\tvar ticks = me.ticks;\r\n\r\n\t\tcore_scale.prototype._configure.call(me);\r\n\r\n\t\tif (!me.isHorizontal()) {\r\n\t\t\t// For backward compatibility, vertical category scale reverse is inverted.\r\n\t\t\tme._reversePixels = !me._reversePixels;\r\n\t\t}\r\n\r\n\t\tif (!ticks) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tme._startValue = me.minIndex - (offset ? 0.5 : 0);\r\n\t\tme._valueRange = Math.max(ticks.length - (offset ? 0 : 1), 1);\r\n\t},\r\n\r\n\t// Used to get data value locations. Value can either be an index or a numerical value\r\n\tgetPixelForValue: function(value, index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar valueCategory, labels, idx;\r\n\r\n\t\tif (!isNullOrUndef$1(index) && !isNullOrUndef$1(datasetIndex)) {\r\n\t\t\tvalue = me.chart.data.datasets[datasetIndex].data[index];\r\n\t\t}\r\n\r\n\t\t// If value is a data object, then index is the index in the data array,\r\n\t\t// not the index of the scale. We need to change that.\r\n\t\tif (!isNullOrUndef$1(value)) {\r\n\t\t\tvalueCategory = me.isHorizontal() ? value.x : value.y;\r\n\t\t}\r\n\t\tif (valueCategory !== undefined || (value !== undefined && isNaN(index))) {\r\n\t\t\tlabels = me._getLabels();\r\n\t\t\tvalue = helpers$1.valueOrDefault(valueCategory, value);\r\n\t\t\tidx = labels.indexOf(value);\r\n\t\t\tindex = idx !== -1 ? idx : index;\r\n\t\t\tif (isNaN(index)) {\r\n\t\t\t\tindex = value;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn me.getPixelForDecimal((index - me._startValue) / me._valueRange);\r\n\t},\r\n\r\n\tgetPixelForTick: function(index) {\r\n\t\tvar ticks = this.ticks;\r\n\t\treturn index < 0 || index > ticks.length - 1\r\n\t\t\t? null\r\n\t\t\t: this.getPixelForValue(ticks[index], index + this.minIndex);\r\n\t},\r\n\r\n\tgetValueForPixel: function(pixel) {\r\n\t\tvar me = this;\r\n\t\tvar value = Math.round(me._startValue + me.getDecimalForPixel(pixel) * me._valueRange);\r\n\t\treturn Math.min(Math.max(value, 0), me.ticks.length - 1);\r\n\t},\r\n\r\n\tgetBasePixel: function() {\r\n\t\treturn this.bottom;\r\n\t}\r\n});\r\n\r\n// INTERNAL: static default options, registered in src/index.js\r\nvar _defaults = defaultConfig;\nscale_category._defaults = _defaults;\n\nvar noop = helpers$1.noop;\r\nvar isNullOrUndef$2 = helpers$1.isNullOrUndef;\r\n\r\n/**\r\n * Generate a set of linear ticks\r\n * @param generationOptions the options used to generate the ticks\r\n * @param dataRange the range of the data\r\n * @returns {number[]} array of tick values\r\n */\r\nfunction generateTicks(generationOptions, dataRange) {\r\n\tvar ticks = [];\r\n\t// To get a \"nice\" value for the tick spacing, we will use the appropriately named\r\n\t// \"nice number\" algorithm. See https://stackoverflow.com/questions/8506881/nice-label-algorithm-for-charts-with-minimum-ticks\r\n\t// for details.\r\n\r\n\tvar MIN_SPACING = 1e-14;\r\n\tvar stepSize = generationOptions.stepSize;\r\n\tvar unit = stepSize || 1;\r\n\tvar maxNumSpaces = generationOptions.maxTicks - 1;\r\n\tvar min = generationOptions.min;\r\n\tvar max = generationOptions.max;\r\n\tvar precision = generationOptions.precision;\r\n\tvar rmin = dataRange.min;\r\n\tvar rmax = dataRange.max;\r\n\tvar spacing = helpers$1.niceNum((rmax - rmin) / maxNumSpaces / unit) * unit;\r\n\tvar factor, niceMin, niceMax, numSpaces;\r\n\r\n\t// Beyond MIN_SPACING floating point numbers being to lose precision\r\n\t// such that we can't do the math necessary to generate ticks\r\n\tif (spacing < MIN_SPACING && isNullOrUndef$2(min) && isNullOrUndef$2(max)) {\r\n\t\treturn [rmin, rmax];\r\n\t}\r\n\r\n\tnumSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\r\n\tif (numSpaces > maxNumSpaces) {\r\n\t\t// If the calculated num of spaces exceeds maxNumSpaces, recalculate it\r\n\t\tspacing = helpers$1.niceNum(numSpaces * spacing / maxNumSpaces / unit) * unit;\r\n\t}\r\n\r\n\tif (stepSize || isNullOrUndef$2(precision)) {\r\n\t\t// If a precision is not specified, calculate factor based on spacing\r\n\t\tfactor = Math.pow(10, helpers$1._decimalPlaces(spacing));\r\n\t} else {\r\n\t\t// If the user specified a precision, round to that number of decimal places\r\n\t\tfactor = Math.pow(10, precision);\r\n\t\tspacing = Math.ceil(spacing * factor) / factor;\r\n\t}\r\n\r\n\tniceMin = Math.floor(rmin / spacing) * spacing;\r\n\tniceMax = Math.ceil(rmax / spacing) * spacing;\r\n\r\n\t// If min, max and stepSize is set and they make an evenly spaced scale use it.\r\n\tif (stepSize) {\r\n\t\t// If very close to our whole number, use it.\r\n\t\tif (!isNullOrUndef$2(min) && helpers$1.almostWhole(min / spacing, spacing / 1000)) {\r\n\t\t\tniceMin = min;\r\n\t\t}\r\n\t\tif (!isNullOrUndef$2(max) && helpers$1.almostWhole(max / spacing, spacing / 1000)) {\r\n\t\t\tniceMax = max;\r\n\t\t}\r\n\t}\r\n\r\n\tnumSpaces = (niceMax - niceMin) / spacing;\r\n\t// If very close to our rounded value, use it.\r\n\tif (helpers$1.almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\r\n\t\tnumSpaces = Math.round(numSpaces);\r\n\t} else {\r\n\t\tnumSpaces = Math.ceil(numSpaces);\r\n\t}\r\n\r\n\tniceMin = Math.round(niceMin * factor) / factor;\r\n\tniceMax = Math.round(niceMax * factor) / factor;\r\n\tticks.push(isNullOrUndef$2(min) ? niceMin : min);\r\n\tfor (var j = 1; j < numSpaces; ++j) {\r\n\t\tticks.push(Math.round((niceMin + j * spacing) * factor) / factor);\r\n\t}\r\n\tticks.push(isNullOrUndef$2(max) ? niceMax : max);\r\n\r\n\treturn ticks;\r\n}\r\n\r\nvar scale_linearbase = core_scale.extend({\r\n\tgetRightValue: function(value) {\r\n\t\tif (typeof value === 'string') {\r\n\t\t\treturn +value;\r\n\t\t}\r\n\t\treturn core_scale.prototype.getRightValue.call(this, value);\r\n\t},\r\n\r\n\thandleTickRangeOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar tickOpts = opts.ticks;\r\n\r\n\t\t// If we are forcing it to begin at 0, but 0 will already be rendered on the chart,\r\n\t\t// do nothing since that would make the chart weird. If the user really wants a weird chart\r\n\t\t// axis, they can manually override it\r\n\t\tif (tickOpts.beginAtZero) {\r\n\t\t\tvar minSign = helpers$1.sign(me.min);\r\n\t\t\tvar maxSign = helpers$1.sign(me.max);\r\n\r\n\t\t\tif (minSign < 0 && maxSign < 0) {\r\n\t\t\t\t// move the top up to 0\r\n\t\t\t\tme.max = 0;\r\n\t\t\t} else if (minSign > 0 && maxSign > 0) {\r\n\t\t\t\t// move the bottom down to 0\r\n\t\t\t\tme.min = 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar setMin = tickOpts.min !== undefined || tickOpts.suggestedMin !== undefined;\r\n\t\tvar setMax = tickOpts.max !== undefined || tickOpts.suggestedMax !== undefined;\r\n\r\n\t\tif (tickOpts.min !== undefined) {\r\n\t\t\tme.min = tickOpts.min;\r\n\t\t} else if (tickOpts.suggestedMin !== undefined) {\r\n\t\t\tif (me.min === null) {\r\n\t\t\t\tme.min = tickOpts.suggestedMin;\r\n\t\t\t} else {\r\n\t\t\t\tme.min = Math.min(me.min, tickOpts.suggestedMin);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (tickOpts.max !== undefined) {\r\n\t\t\tme.max = tickOpts.max;\r\n\t\t} else if (tickOpts.suggestedMax !== undefined) {\r\n\t\t\tif (me.max === null) {\r\n\t\t\t\tme.max = tickOpts.suggestedMax;\r\n\t\t\t} else {\r\n\t\t\t\tme.max = Math.max(me.max, tickOpts.suggestedMax);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (setMin !== setMax) {\r\n\t\t\t// We set the min or the max but not both.\r\n\t\t\t// So ensure that our range is good\r\n\t\t\t// Inverted or 0 length range can happen when\r\n\t\t\t// ticks.min is set, and no datasets are visible\r\n\t\t\tif (me.min >= me.max) {\r\n\t\t\t\tif (setMin) {\r\n\t\t\t\t\tme.max = me.min + 1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tme.min = me.max - 1;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (me.min === me.max) {\r\n\t\t\tme.max++;\r\n\r\n\t\t\tif (!tickOpts.beginAtZero) {\r\n\t\t\t\tme.min--;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tgetTickLimit: function() {\r\n\t\tvar me = this;\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tvar stepSize = tickOpts.stepSize;\r\n\t\tvar maxTicksLimit = tickOpts.maxTicksLimit;\r\n\t\tvar maxTicks;\r\n\r\n\t\tif (stepSize) {\r\n\t\t\tmaxTicks = Math.ceil(me.max / stepSize) - Math.floor(me.min / stepSize) + 1;\r\n\t\t} else {\r\n\t\t\tmaxTicks = me._computeTickLimit();\r\n\t\t\tmaxTicksLimit = maxTicksLimit || 11;\r\n\t\t}\r\n\r\n\t\tif (maxTicksLimit) {\r\n\t\t\tmaxTicks = Math.min(maxTicksLimit, maxTicks);\r\n\t\t}\r\n\r\n\t\treturn maxTicks;\r\n\t},\r\n\r\n\t_computeTickLimit: function() {\r\n\t\treturn Number.POSITIVE_INFINITY;\r\n\t},\r\n\r\n\thandleDirectionalChanges: noop,\r\n\r\n\tbuildTicks: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar tickOpts = opts.ticks;\r\n\r\n\t\t// Figure out what the max number of ticks we can support it is based on the size of\r\n\t\t// the axis area. For now, we say that the minimum tick spacing in pixels must be 40\r\n\t\t// We also limit the maximum number of ticks to 11 which gives a nice 10 squares on\r\n\t\t// the graph. Make sure we always have at least 2 ticks\r\n\t\tvar maxTicks = me.getTickLimit();\r\n\t\tmaxTicks = Math.max(2, maxTicks);\r\n\r\n\t\tvar numericGeneratorOptions = {\r\n\t\t\tmaxTicks: maxTicks,\r\n\t\t\tmin: tickOpts.min,\r\n\t\t\tmax: tickOpts.max,\r\n\t\t\tprecision: tickOpts.precision,\r\n\t\t\tstepSize: helpers$1.valueOrDefault(tickOpts.fixedStepSize, tickOpts.stepSize)\r\n\t\t};\r\n\t\tvar ticks = me.ticks = generateTicks(numericGeneratorOptions, me);\r\n\r\n\t\tme.handleDirectionalChanges();\r\n\r\n\t\t// At this point, we need to update our max and min given the tick values since we have expanded the\r\n\t\t// range of the scale\r\n\t\tme.max = helpers$1.max(ticks);\r\n\t\tme.min = helpers$1.min(ticks);\r\n\r\n\t\tif (tickOpts.reverse) {\r\n\t\t\tticks.reverse();\r\n\r\n\t\t\tme.start = me.max;\r\n\t\t\tme.end = me.min;\r\n\t\t} else {\r\n\t\t\tme.start = me.min;\r\n\t\t\tme.end = me.max;\r\n\t\t}\r\n\t},\r\n\r\n\tconvertTicksToLabels: function() {\r\n\t\tvar me = this;\r\n\t\tme.ticksAsNumbers = me.ticks.slice();\r\n\t\tme.zeroLineIndex = me.ticks.indexOf(0);\r\n\r\n\t\tcore_scale.prototype.convertTicksToLabels.call(me);\r\n\t},\r\n\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tvar ticks = me.getTicks();\r\n\t\tvar start = me.min;\r\n\t\tvar end = me.max;\r\n\t\tvar offset;\r\n\r\n\t\tcore_scale.prototype._configure.call(me);\r\n\r\n\t\tif (me.options.offset && ticks.length) {\r\n\t\t\toffset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\r\n\t\t\tstart -= offset;\r\n\t\t\tend += offset;\r\n\t\t}\r\n\t\tme._startValue = start;\r\n\t\tme._endValue = end;\r\n\t\tme._valueRange = end - start;\r\n\t}\r\n});\n\nvar defaultConfig$1 = {\r\n\tposition: 'left',\r\n\tticks: {\r\n\t\tcallback: core_ticks.formatters.linear\r\n\t}\r\n};\r\n\r\nvar DEFAULT_MIN = 0;\r\nvar DEFAULT_MAX = 1;\r\n\r\nfunction getOrCreateStack(stacks, stacked, meta) {\r\n\tvar key = [\r\n\t\tmeta.type,\r\n\t\t// we have a separate stack for stack=undefined datasets when the opts.stacked is undefined\r\n\t\tstacked === undefined && meta.stack === undefined ? meta.index : '',\r\n\t\tmeta.stack\r\n\t].join('.');\r\n\r\n\tif (stacks[key] === undefined) {\r\n\t\tstacks[key] = {\r\n\t\t\tpos: [],\r\n\t\t\tneg: []\r\n\t\t};\r\n\t}\r\n\r\n\treturn stacks[key];\r\n}\r\n\r\nfunction stackData(scale, stacks, meta, data) {\r\n\tvar opts = scale.options;\r\n\tvar stacked = opts.stacked;\r\n\tvar stack = getOrCreateStack(stacks, stacked, meta);\r\n\tvar pos = stack.pos;\r\n\tvar neg = stack.neg;\r\n\tvar ilen = data.length;\r\n\tvar i, value;\r\n\r\n\tfor (i = 0; i < ilen; ++i) {\r\n\t\tvalue = scale._parseValue(data[i]);\r\n\t\tif (isNaN(value.min) || isNaN(value.max) || meta.data[i].hidden) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tpos[i] = pos[i] || 0;\r\n\t\tneg[i] = neg[i] || 0;\r\n\r\n\t\tif (opts.relativePoints) {\r\n\t\t\tpos[i] = 100;\r\n\t\t} else if (value.min < 0 || value.max < 0) {\r\n\t\t\tneg[i] += value.min;\r\n\t\t} else {\r\n\t\t\tpos[i] += value.max;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction updateMinMax(scale, meta, data) {\r\n\tvar ilen = data.length;\r\n\tvar i, value;\r\n\r\n\tfor (i = 0; i < ilen; ++i) {\r\n\t\tvalue = scale._parseValue(data[i]);\r\n\t\tif (isNaN(value.min) || isNaN(value.max) || meta.data[i].hidden) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tscale.min = Math.min(scale.min, value.min);\r\n\t\tscale.max = Math.max(scale.max, value.max);\r\n\t}\r\n}\r\n\r\nvar scale_linear = scale_linearbase.extend({\r\n\tdetermineDataLimits: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar metasets = me._getMatchingVisibleMetas();\r\n\t\tvar hasStacks = opts.stacked;\r\n\t\tvar stacks = {};\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar i, meta, data, values;\r\n\r\n\t\tme.min = Number.POSITIVE_INFINITY;\r\n\t\tme.max = Number.NEGATIVE_INFINITY;\r\n\r\n\t\tif (hasStacks === undefined) {\r\n\t\t\tfor (i = 0; !hasStacks && i < ilen; ++i) {\r\n\t\t\t\tmeta = metasets[i];\r\n\t\t\t\thasStacks = meta.stack !== undefined;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tmeta = metasets[i];\r\n\t\t\tdata = datasets[meta.index].data;\r\n\t\t\tif (hasStacks) {\r\n\t\t\t\tstackData(me, stacks, meta, data);\r\n\t\t\t} else {\r\n\t\t\t\tupdateMinMax(me, meta, data);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thelpers$1.each(stacks, function(stackValues) {\r\n\t\t\tvalues = stackValues.pos.concat(stackValues.neg);\r\n\t\t\tme.min = Math.min(me.min, helpers$1.min(values));\r\n\t\t\tme.max = Math.max(me.max, helpers$1.max(values));\r\n\t\t});\r\n\r\n\t\tme.min = helpers$1.isFinite(me.min) && !isNaN(me.min) ? me.min : DEFAULT_MIN;\r\n\t\tme.max = helpers$1.isFinite(me.max) && !isNaN(me.max) ? me.max : DEFAULT_MAX;\r\n\r\n\t\t// Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero\r\n\t\tme.handleTickRangeOptions();\r\n\t},\r\n\r\n\t// Returns the maximum number of ticks based on the scale dimension\r\n\t_computeTickLimit: function() {\r\n\t\tvar me = this;\r\n\t\tvar tickFont;\r\n\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\treturn Math.ceil(me.width / 40);\r\n\t\t}\r\n\t\ttickFont = helpers$1.options._parseFont(me.options.ticks);\r\n\t\treturn Math.ceil(me.height / tickFont.lineHeight);\r\n\t},\r\n\r\n\t// Called after the ticks are built. We need\r\n\thandleDirectionalChanges: function() {\r\n\t\tif (!this.isHorizontal()) {\r\n\t\t\t// We are in a vertical orientation. The top value is the highest. So reverse the array\r\n\t\t\tthis.ticks.reverse();\r\n\t\t}\r\n\t},\r\n\r\n\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\treturn this._getScaleLabel(this.chart.data.datasets[datasetIndex].data[index]);\r\n\t},\r\n\r\n\t// Utils\r\n\tgetPixelForValue: function(value) {\r\n\t\tvar me = this;\r\n\t\treturn me.getPixelForDecimal((+me.getRightValue(value) - me._startValue) / me._valueRange);\r\n\t},\r\n\r\n\tgetValueForPixel: function(pixel) {\r\n\t\treturn this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\r\n\t},\r\n\r\n\tgetPixelForTick: function(index) {\r\n\t\tvar ticks = this.ticksAsNumbers;\r\n\t\tif (index < 0 || index > ticks.length - 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn this.getPixelForValue(ticks[index]);\r\n\t}\r\n});\r\n\r\n// INTERNAL: static default options, registered in src/index.js\r\nvar _defaults$1 = defaultConfig$1;\nscale_linear._defaults = _defaults$1;\n\nvar valueOrDefault$b = helpers$1.valueOrDefault;\r\nvar log10 = helpers$1.math.log10;\r\n\r\n/**\r\n * Generate a set of logarithmic ticks\r\n * @param generationOptions the options used to generate the ticks\r\n * @param dataRange the range of the data\r\n * @returns {number[]} array of tick values\r\n */\r\nfunction generateTicks$1(generationOptions, dataRange) {\r\n\tvar ticks = [];\r\n\r\n\tvar tickVal = valueOrDefault$b(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min))));\r\n\r\n\tvar endExp = Math.floor(log10(dataRange.max));\r\n\tvar endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\r\n\tvar exp, significand;\r\n\r\n\tif (tickVal === 0) {\r\n\t\texp = Math.floor(log10(dataRange.minNotZero));\r\n\t\tsignificand = Math.floor(dataRange.minNotZero / Math.pow(10, exp));\r\n\r\n\t\tticks.push(tickVal);\r\n\t\ttickVal = significand * Math.pow(10, exp);\r\n\t} else {\r\n\t\texp = Math.floor(log10(tickVal));\r\n\t\tsignificand = Math.floor(tickVal / Math.pow(10, exp));\r\n\t}\r\n\tvar precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\r\n\r\n\tdo {\r\n\t\tticks.push(tickVal);\r\n\r\n\t\t++significand;\r\n\t\tif (significand === 10) {\r\n\t\t\tsignificand = 1;\r\n\t\t\t++exp;\r\n\t\t\tprecision = exp >= 0 ? 1 : precision;\r\n\t\t}\r\n\r\n\t\ttickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\r\n\t} while (exp < endExp || (exp === endExp && significand < endSignificand));\r\n\r\n\tvar lastTick = valueOrDefault$b(generationOptions.max, tickVal);\r\n\tticks.push(lastTick);\r\n\r\n\treturn ticks;\r\n}\r\n\r\nvar defaultConfig$2 = {\r\n\tposition: 'left',\r\n\r\n\t// label settings\r\n\tticks: {\r\n\t\tcallback: core_ticks.formatters.logarithmic\r\n\t}\r\n};\r\n\r\n// TODO(v3): change this to positiveOrDefault\r\nfunction nonNegativeOrDefault(value, defaultValue) {\r\n\treturn helpers$1.isFinite(value) && value >= 0 ? value : defaultValue;\r\n}\r\n\r\nvar scale_logarithmic = core_scale.extend({\r\n\tdetermineDataLimits: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\tfunction IDMatches(meta) {\r\n\t\t\treturn isHorizontal ? meta.xAxisID === me.id : meta.yAxisID === me.id;\r\n\t\t}\r\n\t\tvar datasetIndex, meta, value, data, i, ilen;\r\n\r\n\t\t// Calculate Range\r\n\t\tme.min = Number.POSITIVE_INFINITY;\r\n\t\tme.max = Number.NEGATIVE_INFINITY;\r\n\t\tme.minNotZero = Number.POSITIVE_INFINITY;\r\n\r\n\t\tvar hasStacks = opts.stacked;\r\n\t\tif (hasStacks === undefined) {\r\n\t\t\tfor (datasetIndex = 0; datasetIndex < datasets.length; datasetIndex++) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(datasetIndex);\r\n\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta) &&\r\n\t\t\t\t\tmeta.stack !== undefined) {\r\n\t\t\t\t\thasStacks = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (opts.stacked || hasStacks) {\r\n\t\t\tvar valuesPerStack = {};\r\n\r\n\t\t\tfor (datasetIndex = 0; datasetIndex < datasets.length; datasetIndex++) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(datasetIndex);\r\n\t\t\t\tvar key = [\r\n\t\t\t\t\tmeta.type,\r\n\t\t\t\t\t// we have a separate stack for stack=undefined datasets when the opts.stacked is undefined\r\n\t\t\t\t\t((opts.stacked === undefined && meta.stack === undefined) ? datasetIndex : ''),\r\n\t\t\t\t\tmeta.stack\r\n\t\t\t\t].join('.');\r\n\r\n\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\r\n\t\t\t\t\tif (valuesPerStack[key] === undefined) {\r\n\t\t\t\t\t\tvaluesPerStack[key] = [];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdata = datasets[datasetIndex].data;\r\n\t\t\t\t\tfor (i = 0, ilen = data.length; i < ilen; i++) {\r\n\t\t\t\t\t\tvar values = valuesPerStack[key];\r\n\t\t\t\t\t\tvalue = me._parseValue(data[i]);\r\n\t\t\t\t\t\t// invalid, hidden and negative values are ignored\r\n\t\t\t\t\t\tif (isNaN(value.min) || isNaN(value.max) || meta.data[i].hidden || value.min < 0 || value.max < 0) {\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvalues[i] = values[i] || 0;\r\n\t\t\t\t\t\tvalues[i] += value.max;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\thelpers$1.each(valuesPerStack, function(valuesForType) {\r\n\t\t\t\tif (valuesForType.length > 0) {\r\n\t\t\t\t\tvar minVal = helpers$1.min(valuesForType);\r\n\t\t\t\t\tvar maxVal = helpers$1.max(valuesForType);\r\n\t\t\t\t\tme.min = Math.min(me.min, minVal);\r\n\t\t\t\t\tme.max = Math.max(me.max, maxVal);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t} else {\r\n\t\t\tfor (datasetIndex = 0; datasetIndex < datasets.length; datasetIndex++) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(datasetIndex);\r\n\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\r\n\t\t\t\t\tdata = datasets[datasetIndex].data;\r\n\t\t\t\t\tfor (i = 0, ilen = data.length; i < ilen; i++) {\r\n\t\t\t\t\t\tvalue = me._parseValue(data[i]);\r\n\t\t\t\t\t\t// invalid, hidden and negative values are ignored\r\n\t\t\t\t\t\tif (isNaN(value.min) || isNaN(value.max) || meta.data[i].hidden || value.min < 0 || value.max < 0) {\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tme.min = Math.min(value.min, me.min);\r\n\t\t\t\t\t\tme.max = Math.max(value.max, me.max);\r\n\r\n\t\t\t\t\t\tif (value.min !== 0) {\r\n\t\t\t\t\t\t\tme.minNotZero = Math.min(value.min, me.minNotZero);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme.min = helpers$1.isFinite(me.min) ? me.min : null;\r\n\t\tme.max = helpers$1.isFinite(me.max) ? me.max : null;\r\n\t\tme.minNotZero = helpers$1.isFinite(me.minNotZero) ? me.minNotZero : null;\r\n\r\n\t\t// Common base implementation to handle ticks.min, ticks.max\r\n\t\tthis.handleTickRangeOptions();\r\n\t},\r\n\r\n\thandleTickRangeOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tvar DEFAULT_MIN = 1;\r\n\t\tvar DEFAULT_MAX = 10;\r\n\r\n\t\tme.min = nonNegativeOrDefault(tickOpts.min, me.min);\r\n\t\tme.max = nonNegativeOrDefault(tickOpts.max, me.max);\r\n\r\n\t\tif (me.min === me.max) {\r\n\t\t\tif (me.min !== 0 && me.min !== null) {\r\n\t\t\t\tme.min = Math.pow(10, Math.floor(log10(me.min)) - 1);\r\n\t\t\t\tme.max = Math.pow(10, Math.floor(log10(me.max)) + 1);\r\n\t\t\t} else {\r\n\t\t\t\tme.min = DEFAULT_MIN;\r\n\t\t\t\tme.max = DEFAULT_MAX;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (me.min === null) {\r\n\t\t\tme.min = Math.pow(10, Math.floor(log10(me.max)) - 1);\r\n\t\t}\r\n\t\tif (me.max === null) {\r\n\t\t\tme.max = me.min !== 0\r\n\t\t\t\t? Math.pow(10, Math.floor(log10(me.min)) + 1)\r\n\t\t\t\t: DEFAULT_MAX;\r\n\t\t}\r\n\t\tif (me.minNotZero === null) {\r\n\t\t\tif (me.min > 0) {\r\n\t\t\t\tme.minNotZero = me.min;\r\n\t\t\t} else if (me.max < 1) {\r\n\t\t\t\tme.minNotZero = Math.pow(10, Math.floor(log10(me.max)));\r\n\t\t\t} else {\r\n\t\t\t\tme.minNotZero = DEFAULT_MIN;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tbuildTicks: function() {\r\n\t\tvar me = this;\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tvar reverse = !me.isHorizontal();\r\n\r\n\t\tvar generationOptions = {\r\n\t\t\tmin: nonNegativeOrDefault(tickOpts.min),\r\n\t\t\tmax: nonNegativeOrDefault(tickOpts.max)\r\n\t\t};\r\n\t\tvar ticks = me.ticks = generateTicks$1(generationOptions, me);\r\n\r\n\t\t// At this point, we need to update our max and min given the tick values since we have expanded the\r\n\t\t// range of the scale\r\n\t\tme.max = helpers$1.max(ticks);\r\n\t\tme.min = helpers$1.min(ticks);\r\n\r\n\t\tif (tickOpts.reverse) {\r\n\t\t\treverse = !reverse;\r\n\t\t\tme.start = me.max;\r\n\t\t\tme.end = me.min;\r\n\t\t} else {\r\n\t\t\tme.start = me.min;\r\n\t\t\tme.end = me.max;\r\n\t\t}\r\n\t\tif (reverse) {\r\n\t\t\tticks.reverse();\r\n\t\t}\r\n\t},\r\n\r\n\tconvertTicksToLabels: function() {\r\n\t\tthis.tickValues = this.ticks.slice();\r\n\r\n\t\tcore_scale.prototype.convertTicksToLabels.call(this);\r\n\t},\r\n\r\n\t// Get the correct tooltip label\r\n\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\treturn this._getScaleLabel(this.chart.data.datasets[datasetIndex].data[index]);\r\n\t},\r\n\r\n\tgetPixelForTick: function(index) {\r\n\t\tvar ticks = this.tickValues;\r\n\t\tif (index < 0 || index > ticks.length - 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn this.getPixelForValue(ticks[index]);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the value of the first tick.\r\n\t * @param {number} value - The minimum not zero value.\r\n\t * @return {number} The first tick value.\r\n\t * @private\r\n\t */\r\n\t_getFirstTickValue: function(value) {\r\n\t\tvar exp = Math.floor(log10(value));\r\n\t\tvar significand = Math.floor(value / Math.pow(10, exp));\r\n\r\n\t\treturn significand * Math.pow(10, exp);\r\n\t},\r\n\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tvar start = me.min;\r\n\t\tvar offset = 0;\r\n\r\n\t\tcore_scale.prototype._configure.call(me);\r\n\r\n\t\tif (start === 0) {\r\n\t\t\tstart = me._getFirstTickValue(me.minNotZero);\r\n\t\t\toffset = valueOrDefault$b(me.options.ticks.fontSize, core_defaults.global.defaultFontSize) / me._length;\r\n\t\t}\r\n\r\n\t\tme._startValue = log10(start);\r\n\t\tme._valueOffset = offset;\r\n\t\tme._valueRange = (log10(me.max) - log10(start)) / (1 - offset);\r\n\t},\r\n\r\n\tgetPixelForValue: function(value) {\r\n\t\tvar me = this;\r\n\t\tvar decimal = 0;\r\n\r\n\t\tvalue = +me.getRightValue(value);\r\n\r\n\t\tif (value > me.min && value > 0) {\r\n\t\t\tdecimal = (log10(value) - me._startValue) / me._valueRange + me._valueOffset;\r\n\t\t}\r\n\t\treturn me.getPixelForDecimal(decimal);\r\n\t},\r\n\r\n\tgetValueForPixel: function(pixel) {\r\n\t\tvar me = this;\r\n\t\tvar decimal = me.getDecimalForPixel(pixel);\r\n\t\treturn decimal === 0 && me.min === 0\r\n\t\t\t? 0\r\n\t\t\t: Math.pow(10, me._startValue + (decimal - me._valueOffset) * me._valueRange);\r\n\t}\r\n});\r\n\r\n// INTERNAL: static default options, registered in src/index.js\r\nvar _defaults$2 = defaultConfig$2;\nscale_logarithmic._defaults = _defaults$2;\n\nvar valueOrDefault$c = helpers$1.valueOrDefault;\r\nvar valueAtIndexOrDefault$1 = helpers$1.valueAtIndexOrDefault;\r\nvar resolve$4 = helpers$1.options.resolve;\r\n\r\nvar defaultConfig$3 = {\r\n\tdisplay: true,\r\n\r\n\t// Boolean - Whether to animate scaling the chart from the centre\r\n\tanimate: true,\r\n\tposition: 'chartArea',\r\n\r\n\tangleLines: {\r\n\t\tdisplay: true,\r\n\t\tcolor: 'rgba(0,0,0,0.1)',\r\n\t\tlineWidth: 1,\r\n\t\tborderDash: [],\r\n\t\tborderDashOffset: 0.0\r\n\t},\r\n\r\n\tgridLines: {\r\n\t\tcircular: false\r\n\t},\r\n\r\n\t// label settings\r\n\tticks: {\r\n\t\t// Boolean - Show a backdrop to the scale label\r\n\t\tshowLabelBackdrop: true,\r\n\r\n\t\t// String - The colour of the label backdrop\r\n\t\tbackdropColor: 'rgba(255,255,255,0.75)',\r\n\r\n\t\t// Number - The backdrop padding above & below the label in pixels\r\n\t\tbackdropPaddingY: 2,\r\n\r\n\t\t// Number - The backdrop padding to the side of the label in pixels\r\n\t\tbackdropPaddingX: 2,\r\n\r\n\t\tcallback: core_ticks.formatters.linear\r\n\t},\r\n\r\n\tpointLabels: {\r\n\t\t// Boolean - if true, show point labels\r\n\t\tdisplay: true,\r\n\r\n\t\t// Number - Point label font size in pixels\r\n\t\tfontSize: 10,\r\n\r\n\t\t// Function - Used to convert point labels\r\n\t\tcallback: function(label) {\r\n\t\t\treturn label;\r\n\t\t}\r\n\t}\r\n};\r\n\r\nfunction getTickBackdropHeight(opts) {\r\n\tvar tickOpts = opts.ticks;\r\n\r\n\tif (tickOpts.display && opts.display) {\r\n\t\treturn valueOrDefault$c(tickOpts.fontSize, core_defaults.global.defaultFontSize) + tickOpts.backdropPaddingY * 2;\r\n\t}\r\n\treturn 0;\r\n}\r\n\r\nfunction measureLabelSize(ctx, lineHeight, label) {\r\n\tif (helpers$1.isArray(label)) {\r\n\t\treturn {\r\n\t\t\tw: helpers$1.longestText(ctx, ctx.font, label),\r\n\t\t\th: label.length * lineHeight\r\n\t\t};\r\n\t}\r\n\r\n\treturn {\r\n\t\tw: ctx.measureText(label).width,\r\n\t\th: lineHeight\r\n\t};\r\n}\r\n\r\nfunction determineLimits(angle, pos, size, min, max) {\r\n\tif (angle === min || angle === max) {\r\n\t\treturn {\r\n\t\t\tstart: pos - (size / 2),\r\n\t\t\tend: pos + (size / 2)\r\n\t\t};\r\n\t} else if (angle < min || angle > max) {\r\n\t\treturn {\r\n\t\t\tstart: pos - size,\r\n\t\t\tend: pos\r\n\t\t};\r\n\t}\r\n\r\n\treturn {\r\n\t\tstart: pos,\r\n\t\tend: pos + size\r\n\t};\r\n}\r\n\r\n/**\r\n * Helper function to fit a radial linear scale with point labels\r\n */\r\nfunction fitWithPointLabels(scale) {\r\n\r\n\t// Right, this is really confusing and there is a lot of maths going on here\r\n\t// The gist of the problem is here: https://gist.github.com/nnnick/696cc9c55f4b0beb8fe9\r\n\t//\r\n\t// Reaction: https://dl.dropboxusercontent.com/u/34601363/toomuchscience.gif\r\n\t//\r\n\t// Solution:\r\n\t//\r\n\t// We assume the radius of the polygon is half the size of the canvas at first\r\n\t// at each index we check if the text overlaps.\r\n\t//\r\n\t// Where it does, we store that angle and that index.\r\n\t//\r\n\t// After finding the largest index and angle we calculate how much we need to remove\r\n\t// from the shape radius to move the point inwards by that x.\r\n\t//\r\n\t// We average the left and right distances to get the maximum shape radius that can fit in the box\r\n\t// along with labels.\r\n\t//\r\n\t// Once we have that, we can find the centre point for the chart, by taking the x text protrusion\r\n\t// on each side, removing that from the size, halving it and adding the left x protrusion width.\r\n\t//\r\n\t// This will mean we have a shape fitted to the canvas, as large as it can be with the labels\r\n\t// and position it in the most space efficient manner\r\n\t//\r\n\t// https://dl.dropboxusercontent.com/u/34601363/yeahscience.gif\r\n\r\n\tvar plFont = helpers$1.options._parseFont(scale.options.pointLabels);\r\n\r\n\t// Get maximum radius of the polygon. Either half the height (minus the text width) or half the width.\r\n\t// Use this to calculate the offset + change. - Make sure L/R protrusion is at least 0 to stop issues with centre points\r\n\tvar furthestLimits = {\r\n\t\tl: 0,\r\n\t\tr: scale.width,\r\n\t\tt: 0,\r\n\t\tb: scale.height - scale.paddingTop\r\n\t};\r\n\tvar furthestAngles = {};\r\n\tvar i, textSize, pointPosition;\r\n\r\n\tscale.ctx.font = plFont.string;\r\n\tscale._pointLabelSizes = [];\r\n\r\n\tvar valueCount = scale.chart.data.labels.length;\r\n\tfor (i = 0; i < valueCount; i++) {\r\n\t\tpointPosition = scale.getPointPosition(i, scale.drawingArea + 5);\r\n\t\ttextSize = measureLabelSize(scale.ctx, plFont.lineHeight, scale.pointLabels[i]);\r\n\t\tscale._pointLabelSizes[i] = textSize;\r\n\r\n\t\t// Add quarter circle to make degree 0 mean top of circle\r\n\t\tvar angleRadians = scale.getIndexAngle(i);\r\n\t\tvar angle = helpers$1.toDegrees(angleRadians) % 360;\r\n\t\tvar hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\r\n\t\tvar vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\r\n\r\n\t\tif (hLimits.start < furthestLimits.l) {\r\n\t\t\tfurthestLimits.l = hLimits.start;\r\n\t\t\tfurthestAngles.l = angleRadians;\r\n\t\t}\r\n\r\n\t\tif (hLimits.end > furthestLimits.r) {\r\n\t\t\tfurthestLimits.r = hLimits.end;\r\n\t\t\tfurthestAngles.r = angleRadians;\r\n\t\t}\r\n\r\n\t\tif (vLimits.start < furthestLimits.t) {\r\n\t\t\tfurthestLimits.t = vLimits.start;\r\n\t\t\tfurthestAngles.t = angleRadians;\r\n\t\t}\r\n\r\n\t\tif (vLimits.end > furthestLimits.b) {\r\n\t\t\tfurthestLimits.b = vLimits.end;\r\n\t\t\tfurthestAngles.b = angleRadians;\r\n\t\t}\r\n\t}\r\n\r\n\tscale.setReductions(scale.drawingArea, furthestLimits, furthestAngles);\r\n}\r\n\r\nfunction getTextAlignForAngle(angle) {\r\n\tif (angle === 0 || angle === 180) {\r\n\t\treturn 'center';\r\n\t} else if (angle < 180) {\r\n\t\treturn 'left';\r\n\t}\r\n\r\n\treturn 'right';\r\n}\r\n\r\nfunction fillText(ctx, text, position, lineHeight) {\r\n\tvar y = position.y + lineHeight / 2;\r\n\tvar i, ilen;\r\n\r\n\tif (helpers$1.isArray(text)) {\r\n\t\tfor (i = 0, ilen = text.length; i < ilen; ++i) {\r\n\t\t\tctx.fillText(text[i], position.x, y);\r\n\t\t\ty += lineHeight;\r\n\t\t}\r\n\t} else {\r\n\t\tctx.fillText(text, position.x, y);\r\n\t}\r\n}\r\n\r\nfunction adjustPointPositionForLabelHeight(angle, textSize, position) {\r\n\tif (angle === 90 || angle === 270) {\r\n\t\tposition.y -= (textSize.h / 2);\r\n\t} else if (angle > 270 || angle < 90) {\r\n\t\tposition.y -= textSize.h;\r\n\t}\r\n}\r\n\r\nfunction drawPointLabels(scale) {\r\n\tvar ctx = scale.ctx;\r\n\tvar opts = scale.options;\r\n\tvar pointLabelOpts = opts.pointLabels;\r\n\tvar tickBackdropHeight = getTickBackdropHeight(opts);\r\n\tvar outerDistance = scale.getDistanceFromCenterForValue(opts.ticks.reverse ? scale.min : scale.max);\r\n\tvar plFont = helpers$1.options._parseFont(pointLabelOpts);\r\n\r\n\tctx.save();\r\n\r\n\tctx.font = plFont.string;\r\n\tctx.textBaseline = 'middle';\r\n\r\n\tfor (var i = scale.chart.data.labels.length - 1; i >= 0; i--) {\r\n\t\t// Extra pixels out for some label spacing\r\n\t\tvar extra = (i === 0 ? tickBackdropHeight / 2 : 0);\r\n\t\tvar pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + 5);\r\n\r\n\t\t// Keep this in loop since we may support array properties here\r\n\t\tvar pointLabelFontColor = valueAtIndexOrDefault$1(pointLabelOpts.fontColor, i, core_defaults.global.defaultFontColor);\r\n\t\tctx.fillStyle = pointLabelFontColor;\r\n\r\n\t\tvar angleRadians = scale.getIndexAngle(i);\r\n\t\tvar angle = helpers$1.toDegrees(angleRadians);\r\n\t\tctx.textAlign = getTextAlignForAngle(angle);\r\n\t\tadjustPointPositionForLabelHeight(angle, scale._pointLabelSizes[i], pointLabelPosition);\r\n\t\tfillText(ctx, scale.pointLabels[i], pointLabelPosition, plFont.lineHeight);\r\n\t}\r\n\tctx.restore();\r\n}\r\n\r\nfunction drawRadiusLine(scale, gridLineOpts, radius, index) {\r\n\tvar ctx = scale.ctx;\r\n\tvar circular = gridLineOpts.circular;\r\n\tvar valueCount = scale.chart.data.labels.length;\r\n\tvar lineColor = valueAtIndexOrDefault$1(gridLineOpts.color, index - 1);\r\n\tvar lineWidth = valueAtIndexOrDefault$1(gridLineOpts.lineWidth, index - 1);\r\n\tvar pointPosition;\r\n\r\n\tif ((!circular && !valueCount) || !lineColor || !lineWidth) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tctx.save();\r\n\tctx.strokeStyle = lineColor;\r\n\tctx.lineWidth = lineWidth;\r\n\tif (ctx.setLineDash) {\r\n\t\tctx.setLineDash(gridLineOpts.borderDash || []);\r\n\t\tctx.lineDashOffset = gridLineOpts.borderDashOffset || 0.0;\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tif (circular) {\r\n\t\t// Draw circular arcs between the points\r\n\t\tctx.arc(scale.xCenter, scale.yCenter, radius, 0, Math.PI * 2);\r\n\t} else {\r\n\t\t// Draw straight lines connecting each index\r\n\t\tpointPosition = scale.getPointPosition(0, radius);\r\n\t\tctx.moveTo(pointPosition.x, pointPosition.y);\r\n\r\n\t\tfor (var i = 1; i < valueCount; i++) {\r\n\t\t\tpointPosition = scale.getPointPosition(i, radius);\r\n\t\t\tctx.lineTo(pointPosition.x, pointPosition.y);\r\n\t\t}\r\n\t}\r\n\tctx.closePath();\r\n\tctx.stroke();\r\n\tctx.restore();\r\n}\r\n\r\nfunction numberOrZero(param) {\r\n\treturn helpers$1.isNumber(param) ? param : 0;\r\n}\r\n\r\nvar scale_radialLinear = scale_linearbase.extend({\r\n\tsetDimensions: function() {\r\n\t\tvar me = this;\r\n\r\n\t\t// Set the unconstrained dimension before label rotation\r\n\t\tme.width = me.maxWidth;\r\n\t\tme.height = me.maxHeight;\r\n\t\tme.paddingTop = getTickBackdropHeight(me.options) / 2;\r\n\t\tme.xCenter = Math.floor(me.width / 2);\r\n\t\tme.yCenter = Math.floor((me.height - me.paddingTop) / 2);\r\n\t\tme.drawingArea = Math.min(me.height - me.paddingTop, me.width) / 2;\r\n\t},\r\n\r\n\tdetermineDataLimits: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar min = Number.POSITIVE_INFINITY;\r\n\t\tvar max = Number.NEGATIVE_INFINITY;\r\n\r\n\t\thelpers$1.each(chart.data.datasets, function(dataset, datasetIndex) {\r\n\t\t\tif (chart.isDatasetVisible(datasetIndex)) {\r\n\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\r\n\r\n\t\t\t\thelpers$1.each(dataset.data, function(rawValue, index) {\r\n\t\t\t\t\tvar value = +me.getRightValue(rawValue);\r\n\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tmin = Math.min(value, min);\r\n\t\t\t\t\tmax = Math.max(value, max);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tme.min = (min === Number.POSITIVE_INFINITY ? 0 : min);\r\n\t\tme.max = (max === Number.NEGATIVE_INFINITY ? 0 : max);\r\n\r\n\t\t// Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero\r\n\t\tme.handleTickRangeOptions();\r\n\t},\r\n\r\n\t// Returns the maximum number of ticks based on the scale dimension\r\n\t_computeTickLimit: function() {\r\n\t\treturn Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\r\n\t},\r\n\r\n\tconvertTicksToLabels: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tscale_linearbase.prototype.convertTicksToLabels.call(me);\r\n\r\n\t\t// Point labels\r\n\t\tme.pointLabels = me.chart.data.labels.map(function() {\r\n\t\t\tvar label = helpers$1.callback(me.options.pointLabels.callback, arguments, me);\r\n\t\t\treturn label || label === 0 ? label : '';\r\n\t\t});\r\n\t},\r\n\r\n\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\treturn +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);\r\n\t},\r\n\r\n\tfit: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\r\n\t\tif (opts.display && opts.pointLabels.display) {\r\n\t\t\tfitWithPointLabels(me);\r\n\t\t} else {\r\n\t\t\tme.setCenterPoint(0, 0, 0, 0);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Set radius reductions and determine new radius and center point\r\n\t * @private\r\n\t */\r\n\tsetReductions: function(largestPossibleRadius, furthestLimits, furthestAngles) {\r\n\t\tvar me = this;\r\n\t\tvar radiusReductionLeft = furthestLimits.l / Math.sin(furthestAngles.l);\r\n\t\tvar radiusReductionRight = Math.max(furthestLimits.r - me.width, 0) / Math.sin(furthestAngles.r);\r\n\t\tvar radiusReductionTop = -furthestLimits.t / Math.cos(furthestAngles.t);\r\n\t\tvar radiusReductionBottom = -Math.max(furthestLimits.b - (me.height - me.paddingTop), 0) / Math.cos(furthestAngles.b);\r\n\r\n\t\tradiusReductionLeft = numberOrZero(radiusReductionLeft);\r\n\t\tradiusReductionRight = numberOrZero(radiusReductionRight);\r\n\t\tradiusReductionTop = numberOrZero(radiusReductionTop);\r\n\t\tradiusReductionBottom = numberOrZero(radiusReductionBottom);\r\n\r\n\t\tme.drawingArea = Math.min(\r\n\t\t\tMath.floor(largestPossibleRadius - (radiusReductionLeft + radiusReductionRight) / 2),\r\n\t\t\tMath.floor(largestPossibleRadius - (radiusReductionTop + radiusReductionBottom) / 2));\r\n\t\tme.setCenterPoint(radiusReductionLeft, radiusReductionRight, radiusReductionTop, radiusReductionBottom);\r\n\t},\r\n\r\n\tsetCenterPoint: function(leftMovement, rightMovement, topMovement, bottomMovement) {\r\n\t\tvar me = this;\r\n\t\tvar maxRight = me.width - rightMovement - me.drawingArea;\r\n\t\tvar maxLeft = leftMovement + me.drawingArea;\r\n\t\tvar maxTop = topMovement + me.drawingArea;\r\n\t\tvar maxBottom = (me.height - me.paddingTop) - bottomMovement - me.drawingArea;\r\n\r\n\t\tme.xCenter = Math.floor(((maxLeft + maxRight) / 2) + me.left);\r\n\t\tme.yCenter = Math.floor(((maxTop + maxBottom) / 2) + me.top + me.paddingTop);\r\n\t},\r\n\r\n\tgetIndexAngle: function(index) {\r\n\t\tvar chart = this.chart;\r\n\t\tvar angleMultiplier = 360 / chart.data.labels.length;\r\n\t\tvar options = chart.options || {};\r\n\t\tvar startAngle = options.startAngle || 0;\r\n\r\n\t\t// Start from the top instead of right, so remove a quarter of the circle\r\n\t\tvar angle = (index * angleMultiplier + startAngle) % 360;\r\n\r\n\t\treturn (angle < 0 ? angle + 360 : angle) * Math.PI * 2 / 360;\r\n\t},\r\n\r\n\tgetDistanceFromCenterForValue: function(value) {\r\n\t\tvar me = this;\r\n\r\n\t\tif (helpers$1.isNullOrUndef(value)) {\r\n\t\t\treturn NaN;\r\n\t\t}\r\n\r\n\t\t// Take into account half font size + the yPadding of the top value\r\n\t\tvar scalingFactor = me.drawingArea / (me.max - me.min);\r\n\t\tif (me.options.ticks.reverse) {\r\n\t\t\treturn (me.max - value) * scalingFactor;\r\n\t\t}\r\n\t\treturn (value - me.min) * scalingFactor;\r\n\t},\r\n\r\n\tgetPointPosition: function(index, distanceFromCenter) {\r\n\t\tvar me = this;\r\n\t\tvar thisAngle = me.getIndexAngle(index) - (Math.PI / 2);\r\n\t\treturn {\r\n\t\t\tx: Math.cos(thisAngle) * distanceFromCenter + me.xCenter,\r\n\t\t\ty: Math.sin(thisAngle) * distanceFromCenter + me.yCenter\r\n\t\t};\r\n\t},\r\n\r\n\tgetPointPositionForValue: function(index, value) {\r\n\t\treturn this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\r\n\t},\r\n\r\n\tgetBasePosition: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar min = me.min;\r\n\t\tvar max = me.max;\r\n\r\n\t\treturn me.getPointPositionForValue(index || 0,\r\n\t\t\tme.beginAtZero ? 0 :\r\n\t\t\tmin < 0 && max < 0 ? max :\r\n\t\t\tmin > 0 && max > 0 ? min :\r\n\t\t\t0);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawGrid: function() {\r\n\t\tvar me = this;\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar opts = me.options;\r\n\t\tvar gridLineOpts = opts.gridLines;\r\n\t\tvar angleLineOpts = opts.angleLines;\r\n\t\tvar lineWidth = valueOrDefault$c(angleLineOpts.lineWidth, gridLineOpts.lineWidth);\r\n\t\tvar lineColor = valueOrDefault$c(angleLineOpts.color, gridLineOpts.color);\r\n\t\tvar i, offset, position;\r\n\r\n\t\tif (opts.pointLabels.display) {\r\n\t\t\tdrawPointLabels(me);\r\n\t\t}\r\n\r\n\t\tif (gridLineOpts.display) {\r\n\t\t\thelpers$1.each(me.ticks, function(label, index) {\r\n\t\t\t\tif (index !== 0) {\r\n\t\t\t\t\toffset = me.getDistanceFromCenterForValue(me.ticksAsNumbers[index]);\r\n\t\t\t\t\tdrawRadiusLine(me, gridLineOpts, offset, index);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (angleLineOpts.display && lineWidth && lineColor) {\r\n\t\t\tctx.save();\r\n\t\t\tctx.lineWidth = lineWidth;\r\n\t\t\tctx.strokeStyle = lineColor;\r\n\t\t\tif (ctx.setLineDash) {\r\n\t\t\t\tctx.setLineDash(resolve$4([angleLineOpts.borderDash, gridLineOpts.borderDash, []]));\r\n\t\t\t\tctx.lineDashOffset = resolve$4([angleLineOpts.borderDashOffset, gridLineOpts.borderDashOffset, 0.0]);\r\n\t\t\t}\r\n\r\n\t\t\tfor (i = me.chart.data.labels.length - 1; i >= 0; i--) {\r\n\t\t\t\toffset = me.getDistanceFromCenterForValue(opts.ticks.reverse ? me.min : me.max);\r\n\t\t\t\tposition = me.getPointPosition(i, offset);\r\n\t\t\t\tctx.beginPath();\r\n\t\t\t\tctx.moveTo(me.xCenter, me.yCenter);\r\n\t\t\t\tctx.lineTo(position.x, position.y);\r\n\t\t\t\tctx.stroke();\r\n\t\t\t}\r\n\r\n\t\t\tctx.restore();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawLabels: function() {\r\n\t\tvar me = this;\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar opts = me.options;\r\n\t\tvar tickOpts = opts.ticks;\r\n\r\n\t\tif (!tickOpts.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar startAngle = me.getIndexAngle(0);\r\n\t\tvar tickFont = helpers$1.options._parseFont(tickOpts);\r\n\t\tvar tickFontColor = valueOrDefault$c(tickOpts.fontColor, core_defaults.global.defaultFontColor);\r\n\t\tvar offset, width;\r\n\r\n\t\tctx.save();\r\n\t\tctx.font = tickFont.string;\r\n\t\tctx.translate(me.xCenter, me.yCenter);\r\n\t\tctx.rotate(startAngle);\r\n\t\tctx.textAlign = 'center';\r\n\t\tctx.textBaseline = 'middle';\r\n\r\n\t\thelpers$1.each(me.ticks, function(label, index) {\r\n\t\t\tif (index === 0 && !tickOpts.reverse) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\toffset = me.getDistanceFromCenterForValue(me.ticksAsNumbers[index]);\r\n\r\n\t\t\tif (tickOpts.showLabelBackdrop) {\r\n\t\t\t\twidth = ctx.measureText(label).width;\r\n\t\t\t\tctx.fillStyle = tickOpts.backdropColor;\r\n\r\n\t\t\t\tctx.fillRect(\r\n\t\t\t\t\t-width / 2 - tickOpts.backdropPaddingX,\r\n\t\t\t\t\t-offset - tickFont.size / 2 - tickOpts.backdropPaddingY,\r\n\t\t\t\t\twidth + tickOpts.backdropPaddingX * 2,\r\n\t\t\t\t\ttickFont.size + tickOpts.backdropPaddingY * 2\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tctx.fillStyle = tickFontColor;\r\n\t\t\tctx.fillText(label, 0, -offset);\r\n\t\t});\r\n\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawTitle: helpers$1.noop\r\n});\r\n\r\n// INTERNAL: static default options, registered in src/index.js\r\nvar _defaults$3 = defaultConfig$3;\nscale_radialLinear._defaults = _defaults$3;\n\nvar deprecated$1 = helpers$1._deprecated;\r\nvar resolve$5 = helpers$1.options.resolve;\r\nvar valueOrDefault$d = helpers$1.valueOrDefault;\r\n\r\n// Integer constants are from the ES6 spec.\r\nvar MIN_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;\r\nvar MAX_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\r\n\r\nvar INTERVALS = {\r\n\tmillisecond: {\r\n\t\tcommon: true,\r\n\t\tsize: 1,\r\n\t\tsteps: 1000\r\n\t},\r\n\tsecond: {\r\n\t\tcommon: true,\r\n\t\tsize: 1000,\r\n\t\tsteps: 60\r\n\t},\r\n\tminute: {\r\n\t\tcommon: true,\r\n\t\tsize: 60000,\r\n\t\tsteps: 60\r\n\t},\r\n\thour: {\r\n\t\tcommon: true,\r\n\t\tsize: 3600000,\r\n\t\tsteps: 24\r\n\t},\r\n\tday: {\r\n\t\tcommon: true,\r\n\t\tsize: 86400000,\r\n\t\tsteps: 30\r\n\t},\r\n\tweek: {\r\n\t\tcommon: false,\r\n\t\tsize: 604800000,\r\n\t\tsteps: 4\r\n\t},\r\n\tmonth: {\r\n\t\tcommon: true,\r\n\t\tsize: 2.628e9,\r\n\t\tsteps: 12\r\n\t},\r\n\tquarter: {\r\n\t\tcommon: false,\r\n\t\tsize: 7.884e9,\r\n\t\tsteps: 4\r\n\t},\r\n\tyear: {\r\n\t\tcommon: true,\r\n\t\tsize: 3.154e10\r\n\t}\r\n};\r\n\r\nvar UNITS = Object.keys(INTERVALS);\r\n\r\nfunction sorter(a, b) {\r\n\treturn a - b;\r\n}\r\n\r\nfunction arrayUnique(items) {\r\n\tvar hash = {};\r\n\tvar out = [];\r\n\tvar i, ilen, item;\r\n\r\n\tfor (i = 0, ilen = items.length; i < ilen; ++i) {\r\n\t\titem = items[i];\r\n\t\tif (!hash[item]) {\r\n\t\t\thash[item] = true;\r\n\t\t\tout.push(item);\r\n\t\t}\r\n\t}\r\n\r\n\treturn out;\r\n}\r\n\r\nfunction getMin(options) {\r\n\treturn helpers$1.valueOrDefault(options.time.min, options.ticks.min);\r\n}\r\n\r\nfunction getMax(options) {\r\n\treturn helpers$1.valueOrDefault(options.time.max, options.ticks.max);\r\n}\r\n\r\n/**\r\n * Returns an array of {time, pos} objects used to interpolate a specific `time` or position\r\n * (`pos`) on the scale, by searching entries before and after the requested value. `pos` is\r\n * a decimal between 0 and 1: 0 being the start of the scale (left or top) and 1 the other\r\n * extremity (left + width or top + height). Note that it would be more optimized to directly\r\n * store pre-computed pixels, but the scale dimensions are not guaranteed at the time we need\r\n * to create the lookup table. The table ALWAYS contains at least two items: min and max.\r\n *\r\n * @param {number[]} timestamps - timestamps sorted from lowest to highest.\r\n * @param {string} distribution - If 'linear', timestamps will be spread linearly along the min\r\n * and max range, so basically, the table will contains only two items: {min, 0} and {max, 1}.\r\n * If 'series', timestamps will be positioned at the same distance from each other. In this\r\n * case, only timestamps that break the time linearity are registered, meaning that in the\r\n * best case, all timestamps are linear, the table contains only min and max.\r\n */\r\nfunction buildLookupTable(timestamps, min, max, distribution) {\r\n\tif (distribution === 'linear' || !timestamps.length) {\r\n\t\treturn [\r\n\t\t\t{time: min, pos: 0},\r\n\t\t\t{time: max, pos: 1}\r\n\t\t];\r\n\t}\r\n\r\n\tvar table = [];\r\n\tvar items = [min];\r\n\tvar i, ilen, prev, curr, next;\r\n\r\n\tfor (i = 0, ilen = timestamps.length; i < ilen; ++i) {\r\n\t\tcurr = timestamps[i];\r\n\t\tif (curr > min && curr < max) {\r\n\t\t\titems.push(curr);\r\n\t\t}\r\n\t}\r\n\r\n\titems.push(max);\r\n\r\n\tfor (i = 0, ilen = items.length; i < ilen; ++i) {\r\n\t\tnext = items[i + 1];\r\n\t\tprev = items[i - 1];\r\n\t\tcurr = items[i];\r\n\r\n\t\t// only add points that breaks the scale linearity\r\n\t\tif (prev === undefined || next === undefined || Math.round((next + prev) / 2) !== curr) {\r\n\t\t\ttable.push({time: curr, pos: i / (ilen - 1)});\r\n\t\t}\r\n\t}\r\n\r\n\treturn table;\r\n}\r\n\r\n// @see adapted from https://www.anujgakhar.com/2014/03/01/binary-search-in-javascript/\r\nfunction lookup(table, key, value) {\r\n\tvar lo = 0;\r\n\tvar hi = table.length - 1;\r\n\tvar mid, i0, i1;\r\n\r\n\twhile (lo >= 0 && lo <= hi) {\r\n\t\tmid = (lo + hi) >> 1;\r\n\t\ti0 = table[mid - 1] || null;\r\n\t\ti1 = table[mid];\r\n\r\n\t\tif (!i0) {\r\n\t\t\t// given value is outside table (before first item)\r\n\t\t\treturn {lo: null, hi: i1};\r\n\t\t} else if (i1[key] < value) {\r\n\t\t\tlo = mid + 1;\r\n\t\t} else if (i0[key] > value) {\r\n\t\t\thi = mid - 1;\r\n\t\t} else {\r\n\t\t\treturn {lo: i0, hi: i1};\r\n\t\t}\r\n\t}\r\n\r\n\t// given value is outside table (after last item)\r\n\treturn {lo: i1, hi: null};\r\n}\r\n\r\n/**\r\n * Linearly interpolates the given source `value` using the table items `skey` values and\r\n * returns the associated `tkey` value. For example, interpolate(table, 'time', 42, 'pos')\r\n * returns the position for a timestamp equal to 42. If value is out of bounds, values at\r\n * index [0, 1] or [n - 1, n] are used for the interpolation.\r\n */\r\nfunction interpolate$1(table, skey, sval, tkey) {\r\n\tvar range = lookup(table, skey, sval);\r\n\r\n\t// Note: the lookup table ALWAYS contains at least 2 items (min and max)\r\n\tvar prev = !range.lo ? table[0] : !range.hi ? table[table.length - 2] : range.lo;\r\n\tvar next = !range.lo ? table[1] : !range.hi ? table[table.length - 1] : range.hi;\r\n\r\n\tvar span = next[skey] - prev[skey];\r\n\tvar ratio = span ? (sval - prev[skey]) / span : 0;\r\n\tvar offset = (next[tkey] - prev[tkey]) * ratio;\r\n\r\n\treturn prev[tkey] + offset;\r\n}\r\n\r\nfunction toTimestamp(scale, input) {\r\n\tvar adapter = scale._adapter;\r\n\tvar options = scale.options.time;\r\n\tvar parser = options.parser;\r\n\tvar format = parser || options.format;\r\n\tvar value = input;\r\n\r\n\tif (typeof parser === 'function') {\r\n\t\tvalue = parser(value);\r\n\t}\r\n\r\n\t// Only parse if its not a timestamp already\r\n\tif (!helpers$1.isFinite(value)) {\r\n\t\tvalue = typeof format === 'string'\r\n\t\t\t? adapter.parse(value, format)\r\n\t\t\t: adapter.parse(value);\r\n\t}\r\n\r\n\tif (value !== null) {\r\n\t\treturn +value;\r\n\t}\r\n\r\n\t// Labels are in an incompatible format and no `parser` has been provided.\r\n\t// The user might still use the deprecated `format` option for parsing.\r\n\tif (!parser && typeof format === 'function') {\r\n\t\tvalue = format(input);\r\n\r\n\t\t// `format` could return something else than a timestamp, if so, parse it\r\n\t\tif (!helpers$1.isFinite(value)) {\r\n\t\t\tvalue = adapter.parse(value);\r\n\t\t}\r\n\t}\r\n\r\n\treturn value;\r\n}\r\n\r\nfunction parse(scale, input) {\r\n\tif (helpers$1.isNullOrUndef(input)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tvar options = scale.options.time;\r\n\tvar value = toTimestamp(scale, scale.getRightValue(input));\r\n\tif (value === null) {\r\n\t\treturn value;\r\n\t}\r\n\r\n\tif (options.round) {\r\n\t\tvalue = +scale._adapter.startOf(value, options.round);\r\n\t}\r\n\r\n\treturn value;\r\n}\r\n\r\n/**\r\n * Figures out what unit results in an appropriate number of auto-generated ticks\r\n */\r\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\r\n\tvar ilen = UNITS.length;\r\n\tvar i, interval, factor;\r\n\r\n\tfor (i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\r\n\t\tinterval = INTERVALS[UNITS[i]];\r\n\t\tfactor = interval.steps ? interval.steps : MAX_INTEGER;\r\n\r\n\t\tif (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\r\n\t\t\treturn UNITS[i];\r\n\t\t}\r\n\t}\r\n\r\n\treturn UNITS[ilen - 1];\r\n}\r\n\r\n/**\r\n * Figures out what unit to format a set of ticks with\r\n */\r\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\r\n\tvar i, unit;\r\n\r\n\tfor (i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\r\n\t\tunit = UNITS[i];\r\n\t\tif (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\r\n\t\t\treturn unit;\r\n\t\t}\r\n\t}\r\n\r\n\treturn UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\r\n}\r\n\r\nfunction determineMajorUnit(unit) {\r\n\tfor (var i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\r\n\t\tif (INTERVALS[UNITS[i]].common) {\r\n\t\t\treturn UNITS[i];\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Generates a maximum of `capacity` timestamps between min and max, rounded to the\r\n * `minor` unit using the given scale time `options`.\r\n * Important: this method can return ticks outside the min and max range, it's the\r\n * responsibility of the calling code to clamp values if needed.\r\n */\r\nfunction generate(scale, min, max, capacity) {\r\n\tvar adapter = scale._adapter;\r\n\tvar options = scale.options;\r\n\tvar timeOpts = options.time;\r\n\tvar minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, capacity);\r\n\tvar stepSize = resolve$5([timeOpts.stepSize, timeOpts.unitStepSize, 1]);\r\n\tvar weekday = minor === 'week' ? timeOpts.isoWeekday : false;\r\n\tvar first = min;\r\n\tvar ticks = [];\r\n\tvar time;\r\n\r\n\t// For 'week' unit, handle the first day of week option\r\n\tif (weekday) {\r\n\t\tfirst = +adapter.startOf(first, 'isoWeek', weekday);\r\n\t}\r\n\r\n\t// Align first ticks on unit\r\n\tfirst = +adapter.startOf(first, weekday ? 'day' : minor);\r\n\r\n\t// Prevent browser from freezing in case user options request millions of milliseconds\r\n\tif (adapter.diff(max, min, minor) > 100000 * stepSize) {\r\n\t\tthrow min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor;\r\n\t}\r\n\r\n\tfor (time = first; time < max; time = +adapter.add(time, stepSize, minor)) {\r\n\t\tticks.push(time);\r\n\t}\r\n\r\n\tif (time === max || options.bounds === 'ticks') {\r\n\t\tticks.push(time);\r\n\t}\r\n\r\n\treturn ticks;\r\n}\r\n\r\n/**\r\n * Returns the start and end offsets from edges in the form of {start, end}\r\n * where each value is a relative width to the scale and ranges between 0 and 1.\r\n * They add extra margins on the both sides by scaling down the original scale.\r\n * Offsets are added when the `offset` option is true.\r\n */\r\nfunction computeOffsets(table, ticks, min, max, options) {\r\n\tvar start = 0;\r\n\tvar end = 0;\r\n\tvar first, last;\r\n\r\n\tif (options.offset && ticks.length) {\r\n\t\tfirst = interpolate$1(table, 'time', ticks[0], 'pos');\r\n\t\tif (ticks.length === 1) {\r\n\t\t\tstart = 1 - first;\r\n\t\t} else {\r\n\t\t\tstart = (interpolate$1(table, 'time', ticks[1], 'pos') - first) / 2;\r\n\t\t}\r\n\t\tlast = interpolate$1(table, 'time', ticks[ticks.length - 1], 'pos');\r\n\t\tif (ticks.length === 1) {\r\n\t\t\tend = last;\r\n\t\t} else {\r\n\t\t\tend = (last - interpolate$1(table, 'time', ticks[ticks.length - 2], 'pos')) / 2;\r\n\t\t}\r\n\t}\r\n\r\n\treturn {start: start, end: end, factor: 1 / (start + 1 + end)};\r\n}\r\n\r\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\r\n\tvar adapter = scale._adapter;\r\n\tvar first = +adapter.startOf(ticks[0].value, majorUnit);\r\n\tvar last = ticks[ticks.length - 1].value;\r\n\tvar major, index;\r\n\r\n\tfor (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\r\n\t\tindex = map[major];\r\n\t\tif (index >= 0) {\r\n\t\t\tticks[index].major = true;\r\n\t\t}\r\n\t}\r\n\treturn ticks;\r\n}\r\n\r\nfunction ticksFromTimestamps(scale, values, majorUnit) {\r\n\tvar ticks = [];\r\n\tvar map = {};\r\n\tvar ilen = values.length;\r\n\tvar i, value;\r\n\r\n\tfor (i = 0; i < ilen; ++i) {\r\n\t\tvalue = values[i];\r\n\t\tmap[value] = i;\r\n\r\n\t\tticks.push({\r\n\t\t\tvalue: value,\r\n\t\t\tmajor: false\r\n\t\t});\r\n\t}\r\n\r\n\t// We set the major ticks separately from the above loop because calling startOf for every tick\r\n\t// is expensive when there is a large number of ticks\r\n\treturn (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\r\n}\r\n\r\nvar defaultConfig$4 = {\r\n\tposition: 'bottom',\r\n\r\n\t/**\r\n\t * Data distribution along the scale:\r\n\t * - 'linear': data are spread according to their time (distances can vary),\r\n\t * - 'series': data are spread at the same distance from each other.\r\n\t * @see https://github.com/chartjs/Chart.js/pull/4507\r\n\t * @since 2.7.0\r\n\t */\r\n\tdistribution: 'linear',\r\n\r\n\t/**\r\n\t * Scale boundary strategy (bypassed by min/max time options)\r\n\t * - `data`: make sure data are fully visible, ticks outside are removed\r\n\t * - `ticks`: make sure ticks are fully visible, data outside are truncated\r\n\t * @see https://github.com/chartjs/Chart.js/pull/4556\r\n\t * @since 2.7.0\r\n\t */\r\n\tbounds: 'data',\r\n\r\n\tadapters: {},\r\n\ttime: {\r\n\t\tparser: false, // false == a pattern string from https://momentjs.com/docs/#/parsing/string-format/ or a custom callback that converts its argument to a moment\r\n\t\tunit: false, // false == automatic or override with week, month, year, etc.\r\n\t\tround: false, // none, or override with week, month, year, etc.\r\n\t\tdisplayFormat: false, // DEPRECATED\r\n\t\tisoWeekday: false, // override week start day - see https://momentjs.com/docs/#/get-set/iso-weekday/\r\n\t\tminUnit: 'millisecond',\r\n\t\tdisplayFormats: {}\r\n\t},\r\n\tticks: {\r\n\t\tautoSkip: false,\r\n\r\n\t\t/**\r\n\t\t * Ticks generation input values:\r\n\t\t * - 'auto': generates \"optimal\" ticks based on scale size and time options.\r\n\t\t * - 'data': generates ticks from data (including labels from data {t|x|y} objects).\r\n\t\t * - 'labels': generates ticks from user given `data.labels` values ONLY.\r\n\t\t * @see https://github.com/chartjs/Chart.js/pull/4507\r\n\t\t * @since 2.7.0\r\n\t\t */\r\n\t\tsource: 'auto',\r\n\r\n\t\tmajor: {\r\n\t\t\tenabled: false\r\n\t\t}\r\n\t}\r\n};\r\n\r\nvar scale_time = core_scale.extend({\r\n\tinitialize: function() {\r\n\t\tthis.mergeTicksOptions();\r\n\t\tcore_scale.prototype.initialize.call(this);\r\n\t},\r\n\r\n\tupdate: function() {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options;\r\n\t\tvar time = options.time || (options.time = {});\r\n\t\tvar adapter = me._adapter = new core_adapters._date(options.adapters.date);\r\n\r\n\t\t// DEPRECATIONS: output a message only one time per update\r\n\t\tdeprecated$1('time scale', time.format, 'time.format', 'time.parser');\r\n\t\tdeprecated$1('time scale', time.min, 'time.min', 'ticks.min');\r\n\t\tdeprecated$1('time scale', time.max, 'time.max', 'ticks.max');\r\n\r\n\t\t// Backward compatibility: before introducing adapter, `displayFormats` was\r\n\t\t// supposed to contain *all* unit/string pairs but this can't be resolved\r\n\t\t// when loading the scale (adapters are loaded afterward), so let's populate\r\n\t\t// missing formats on update\r\n\t\thelpers$1.mergeIf(time.displayFormats, adapter.formats());\r\n\r\n\t\treturn core_scale.prototype.update.apply(me, arguments);\r\n\t},\r\n\r\n\t/**\r\n\t * Allows data to be referenced via 't' attribute\r\n\t */\r\n\tgetRightValue: function(rawValue) {\r\n\t\tif (rawValue && rawValue.t !== undefined) {\r\n\t\t\trawValue = rawValue.t;\r\n\t\t}\r\n\t\treturn core_scale.prototype.getRightValue.call(this, rawValue);\r\n\t},\r\n\r\n\tdetermineDataLimits: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar adapter = me._adapter;\r\n\t\tvar options = me.options;\r\n\t\tvar unit = options.time.unit || 'day';\r\n\t\tvar min = MAX_INTEGER;\r\n\t\tvar max = MIN_INTEGER;\r\n\t\tvar timestamps = [];\r\n\t\tvar datasets = [];\r\n\t\tvar labels = [];\r\n\t\tvar i, j, ilen, jlen, data, timestamp, labelsAdded;\r\n\t\tvar dataLabels = me._getLabels();\r\n\r\n\t\tfor (i = 0, ilen = dataLabels.length; i < ilen; ++i) {\r\n\t\t\tlabels.push(parse(me, dataLabels[i]));\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\tif (chart.isDatasetVisible(i)) {\r\n\t\t\t\tdata = chart.data.datasets[i].data;\r\n\r\n\t\t\t\t// Let's consider that all data have the same format.\r\n\t\t\t\tif (helpers$1.isObject(data[0])) {\r\n\t\t\t\t\tdatasets[i] = [];\r\n\r\n\t\t\t\t\tfor (j = 0, jlen = data.length; j < jlen; ++j) {\r\n\t\t\t\t\t\ttimestamp = parse(me, data[j]);\r\n\t\t\t\t\t\ttimestamps.push(timestamp);\r\n\t\t\t\t\t\tdatasets[i][j] = timestamp;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdatasets[i] = labels.slice(0);\r\n\t\t\t\t\tif (!labelsAdded) {\r\n\t\t\t\t\t\ttimestamps = timestamps.concat(labels);\r\n\t\t\t\t\t\tlabelsAdded = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tdatasets[i] = [];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (labels.length) {\r\n\t\t\tmin = Math.min(min, labels[0]);\r\n\t\t\tmax = Math.max(max, labels[labels.length - 1]);\r\n\t\t}\r\n\r\n\t\tif (timestamps.length) {\r\n\t\t\ttimestamps = ilen > 1 ? arrayUnique(timestamps).sort(sorter) : timestamps.sort(sorter);\r\n\t\t\tmin = Math.min(min, timestamps[0]);\r\n\t\t\tmax = Math.max(max, timestamps[timestamps.length - 1]);\r\n\t\t}\r\n\r\n\t\tmin = parse(me, getMin(options)) || min;\r\n\t\tmax = parse(me, getMax(options)) || max;\r\n\r\n\t\t// In case there is no valid min/max, set limits based on unit time option\r\n\t\tmin = min === MAX_INTEGER ? +adapter.startOf(Date.now(), unit) : min;\r\n\t\tmax = max === MIN_INTEGER ? +adapter.endOf(Date.now(), unit) + 1 : max;\r\n\r\n\t\t// Make sure that max is strictly higher than min (required by the lookup table)\r\n\t\tme.min = Math.min(min, max);\r\n\t\tme.max = Math.max(min + 1, max);\r\n\r\n\t\t// PRIVATE\r\n\t\tme._table = [];\r\n\t\tme._timestamps = {\r\n\t\t\tdata: timestamps,\r\n\t\t\tdatasets: datasets,\r\n\t\t\tlabels: labels\r\n\t\t};\r\n\t},\r\n\r\n\tbuildTicks: function() {\r\n\t\tvar me = this;\r\n\t\tvar min = me.min;\r\n\t\tvar max = me.max;\r\n\t\tvar options = me.options;\r\n\t\tvar tickOpts = options.ticks;\r\n\t\tvar timeOpts = options.time;\r\n\t\tvar timestamps = me._timestamps;\r\n\t\tvar ticks = [];\r\n\t\tvar capacity = me.getLabelCapacity(min);\r\n\t\tvar source = tickOpts.source;\r\n\t\tvar distribution = options.distribution;\r\n\t\tvar i, ilen, timestamp;\r\n\r\n\t\tif (source === 'data' || (source === 'auto' && distribution === 'series')) {\r\n\t\t\ttimestamps = timestamps.data;\r\n\t\t} else if (source === 'labels') {\r\n\t\t\ttimestamps = timestamps.labels;\r\n\t\t} else {\r\n\t\t\ttimestamps = generate(me, min, max, capacity);\r\n\t\t}\r\n\r\n\t\tif (options.bounds === 'ticks' && timestamps.length) {\r\n\t\t\tmin = timestamps[0];\r\n\t\t\tmax = timestamps[timestamps.length - 1];\r\n\t\t}\r\n\r\n\t\t// Enforce limits with user min/max options\r\n\t\tmin = parse(me, getMin(options)) || min;\r\n\t\tmax = parse(me, getMax(options)) || max;\r\n\r\n\t\t// Remove ticks outside the min/max range\r\n\t\tfor (i = 0, ilen = timestamps.length; i < ilen; ++i) {\r\n\t\t\ttimestamp = timestamps[i];\r\n\t\t\tif (timestamp >= min && timestamp <= max) {\r\n\t\t\t\tticks.push(timestamp);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme.min = min;\r\n\t\tme.max = max;\r\n\r\n\t\t// PRIVATE\r\n\t\t// determineUnitForFormatting relies on the number of ticks so we don't use it when\r\n\t\t// autoSkip is enabled because we don't yet know what the final number of ticks will be\r\n\t\tme._unit = timeOpts.unit || (tickOpts.autoSkip\r\n\t\t\t? determineUnitForAutoTicks(timeOpts.minUnit, me.min, me.max, capacity)\r\n\t\t\t: determineUnitForFormatting(me, ticks.length, timeOpts.minUnit, me.min, me.max));\r\n\t\tme._majorUnit = !tickOpts.major.enabled || me._unit === 'year' ? undefined\r\n\t\t\t: determineMajorUnit(me._unit);\r\n\t\tme._table = buildLookupTable(me._timestamps.data, min, max, distribution);\r\n\t\tme._offsets = computeOffsets(me._table, ticks, min, max, options);\r\n\r\n\t\tif (tickOpts.reverse) {\r\n\t\t\tticks.reverse();\r\n\t\t}\r\n\r\n\t\treturn ticksFromTimestamps(me, ticks, me._majorUnit);\r\n\t},\r\n\r\n\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar adapter = me._adapter;\r\n\t\tvar data = me.chart.data;\r\n\t\tvar timeOpts = me.options.time;\r\n\t\tvar label = data.labels && index < data.labels.length ? data.labels[index] : '';\r\n\t\tvar value = data.datasets[datasetIndex].data[index];\r\n\r\n\t\tif (helpers$1.isObject(value)) {\r\n\t\t\tlabel = me.getRightValue(value);\r\n\t\t}\r\n\t\tif (timeOpts.tooltipFormat) {\r\n\t\t\treturn adapter.format(toTimestamp(me, label), timeOpts.tooltipFormat);\r\n\t\t}\r\n\t\tif (typeof label === 'string') {\r\n\t\t\treturn label;\r\n\t\t}\r\n\t\treturn adapter.format(toTimestamp(me, label), timeOpts.displayFormats.datetime);\r\n\t},\r\n\r\n\t/**\r\n\t * Function to format an individual tick mark\r\n\t * @private\r\n\t */\r\n\ttickFormatFunction: function(time, index, ticks, format) {\r\n\t\tvar me = this;\r\n\t\tvar adapter = me._adapter;\r\n\t\tvar options = me.options;\r\n\t\tvar formats = options.time.displayFormats;\r\n\t\tvar minorFormat = formats[me._unit];\r\n\t\tvar majorUnit = me._majorUnit;\r\n\t\tvar majorFormat = formats[majorUnit];\r\n\t\tvar tick = ticks[index];\r\n\t\tvar tickOpts = options.ticks;\r\n\t\tvar major = majorUnit && majorFormat && tick && tick.major;\r\n\t\tvar label = adapter.format(time, format ? format : major ? majorFormat : minorFormat);\r\n\t\tvar nestedTickOpts = major ? tickOpts.major : tickOpts.minor;\r\n\t\tvar formatter = resolve$5([\r\n\t\t\tnestedTickOpts.callback,\r\n\t\t\tnestedTickOpts.userCallback,\r\n\t\t\ttickOpts.callback,\r\n\t\t\ttickOpts.userCallback\r\n\t\t]);\r\n\r\n\t\treturn formatter ? formatter(label, index, ticks) : label;\r\n\t},\r\n\r\n\tconvertTicksToLabels: function(ticks) {\r\n\t\tvar labels = [];\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = ticks.length; i < ilen; ++i) {\r\n\t\t\tlabels.push(this.tickFormatFunction(ticks[i].value, i, ticks));\r\n\t\t}\r\n\r\n\t\treturn labels;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tgetPixelForOffset: function(time) {\r\n\t\tvar me = this;\r\n\t\tvar offsets = me._offsets;\r\n\t\tvar pos = interpolate$1(me._table, 'time', time, 'pos');\r\n\t\treturn me.getPixelForDecimal((offsets.start + pos) * offsets.factor);\r\n\t},\r\n\r\n\tgetPixelForValue: function(value, index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar time = null;\r\n\r\n\t\tif (index !== undefined && datasetIndex !== undefined) {\r\n\t\t\ttime = me._timestamps.datasets[datasetIndex][index];\r\n\t\t}\r\n\r\n\t\tif (time === null) {\r\n\t\t\ttime = parse(me, value);\r\n\t\t}\r\n\r\n\t\tif (time !== null) {\r\n\t\t\treturn me.getPixelForOffset(time);\r\n\t\t}\r\n\t},\r\n\r\n\tgetPixelForTick: function(index) {\r\n\t\tvar ticks = this.getTicks();\r\n\t\treturn index >= 0 && index < ticks.length ?\r\n\t\t\tthis.getPixelForOffset(ticks[index].value) :\r\n\t\t\tnull;\r\n\t},\r\n\r\n\tgetValueForPixel: function(pixel) {\r\n\t\tvar me = this;\r\n\t\tvar offsets = me._offsets;\r\n\t\tvar pos = me.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\r\n\t\tvar time = interpolate$1(me._table, 'pos', pos, 'time');\r\n\r\n\t\t// DEPRECATION, we should return time directly\r\n\t\treturn me._adapter._create(time);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getLabelSize: function(label) {\r\n\t\tvar me = this;\r\n\t\tvar ticksOpts = me.options.ticks;\r\n\t\tvar tickLabelWidth = me.ctx.measureText(label).width;\r\n\t\tvar angle = helpers$1.toRadians(me.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\r\n\t\tvar cosRotation = Math.cos(angle);\r\n\t\tvar sinRotation = Math.sin(angle);\r\n\t\tvar tickFontSize = valueOrDefault$d(ticksOpts.fontSize, core_defaults.global.defaultFontSize);\r\n\r\n\t\treturn {\r\n\t\t\tw: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\r\n\t\t\th: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Crude approximation of what the label width might be\r\n\t * @private\r\n\t */\r\n\tgetLabelWidth: function(label) {\r\n\t\treturn this._getLabelSize(label).w;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tgetLabelCapacity: function(exampleTime) {\r\n\t\tvar me = this;\r\n\t\tvar timeOpts = me.options.time;\r\n\t\tvar displayFormats = timeOpts.displayFormats;\r\n\r\n\t\t// pick the longest format (milliseconds) for guestimation\r\n\t\tvar format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\r\n\t\tvar exampleLabel = me.tickFormatFunction(exampleTime, 0, ticksFromTimestamps(me, [exampleTime], me._majorUnit), format);\r\n\t\tvar size = me._getLabelSize(exampleLabel);\r\n\t\tvar capacity = Math.floor(me.isHorizontal() ? me.width / size.w : me.height / size.h);\r\n\r\n\t\tif (me.options.offset) {\r\n\t\t\tcapacity--;\r\n\t\t}\r\n\r\n\t\treturn capacity > 0 ? capacity : 1;\r\n\t}\r\n});\r\n\r\n// INTERNAL: static default options, registered in src/index.js\r\nvar _defaults$4 = defaultConfig$4;\nscale_time._defaults = _defaults$4;\n\nvar scales = {\r\n\tcategory: scale_category,\r\n\tlinear: scale_linear,\r\n\tlogarithmic: scale_logarithmic,\r\n\tradialLinear: scale_radialLinear,\r\n\ttime: scale_time\r\n};\n\nvar FORMATS = {\r\n\tdatetime: 'MMM D, YYYY, h:mm:ss a',\r\n\tmillisecond: 'h:mm:ss.SSS a',\r\n\tsecond: 'h:mm:ss a',\r\n\tminute: 'h:mm a',\r\n\thour: 'hA',\r\n\tday: 'MMM D',\r\n\tweek: 'll',\r\n\tmonth: 'MMM YYYY',\r\n\tquarter: '[Q]Q - YYYY',\r\n\tyear: 'YYYY'\r\n};\r\n\r\ncore_adapters._date.override(typeof moment === 'function' ? {\r\n\t_id: 'moment', // DEBUG ONLY\r\n\r\n\tformats: function() {\r\n\t\treturn FORMATS;\r\n\t},\r\n\r\n\tparse: function(value, format) {\r\n\t\tif (typeof value === 'string' && typeof format === 'string') {\r\n\t\t\tvalue = moment(value, format);\r\n\t\t} else if (!(value instanceof moment)) {\r\n\t\t\tvalue = moment(value);\r\n\t\t}\r\n\t\treturn value.isValid() ? value.valueOf() : null;\r\n\t},\r\n\r\n\tformat: function(time, format) {\r\n\t\treturn moment(time).format(format);\r\n\t},\r\n\r\n\tadd: function(time, amount, unit) {\r\n\t\treturn moment(time).add(amount, unit).valueOf();\r\n\t},\r\n\r\n\tdiff: function(max, min, unit) {\r\n\t\treturn moment(max).diff(moment(min), unit);\r\n\t},\r\n\r\n\tstartOf: function(time, unit, weekday) {\r\n\t\ttime = moment(time);\r\n\t\tif (unit === 'isoWeek') {\r\n\t\t\treturn time.isoWeekday(weekday).valueOf();\r\n\t\t}\r\n\t\treturn time.startOf(unit).valueOf();\r\n\t},\r\n\r\n\tendOf: function(time, unit) {\r\n\t\treturn moment(time).endOf(unit).valueOf();\r\n\t},\r\n\r\n\t// DEPRECATIONS\r\n\r\n\t/**\r\n\t * Provided for backward compatibility with scale.getValueForPixel().\r\n\t * @deprecated since version 2.8.0\r\n\t * @todo remove at version 3\r\n\t * @private\r\n\t */\r\n\t_create: function(time) {\r\n\t\treturn moment(time);\r\n\t},\r\n} : {});\n\ncore_defaults._set('global', {\r\n\tplugins: {\r\n\t\tfiller: {\r\n\t\t\tpropagate: true\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar mappers = {\r\n\tdataset: function(source) {\r\n\t\tvar index = source.fill;\r\n\t\tvar chart = source.chart;\r\n\t\tvar meta = chart.getDatasetMeta(index);\r\n\t\tvar visible = meta && chart.isDatasetVisible(index);\r\n\t\tvar points = (visible && meta.dataset._children) || [];\r\n\t\tvar length = points.length || 0;\r\n\r\n\t\treturn !length ? null : function(point, i) {\r\n\t\t\treturn (i < length && points[i]._view) || null;\r\n\t\t};\r\n\t},\r\n\r\n\tboundary: function(source) {\r\n\t\tvar boundary = source.boundary;\r\n\t\tvar x = boundary ? boundary.x : null;\r\n\t\tvar y = boundary ? boundary.y : null;\r\n\r\n\t\tif (helpers$1.isArray(boundary)) {\r\n\t\t\treturn function(point, i) {\r\n\t\t\t\treturn boundary[i];\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn function(point) {\r\n\t\t\treturn {\r\n\t\t\t\tx: x === null ? point.x : x,\r\n\t\t\t\ty: y === null ? point.y : y,\r\n\t\t\t};\r\n\t\t};\r\n\t}\r\n};\r\n\r\n// @todo if (fill[0] === '#')\r\nfunction decodeFill(el, index, count) {\r\n\tvar model = el._model || {};\r\n\tvar fill = model.fill;\r\n\tvar target;\r\n\r\n\tif (fill === undefined) {\r\n\t\tfill = !!model.backgroundColor;\r\n\t}\r\n\r\n\tif (fill === false || fill === null) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tif (fill === true) {\r\n\t\treturn 'origin';\r\n\t}\r\n\r\n\ttarget = parseFloat(fill, 10);\r\n\tif (isFinite(target) && Math.floor(target) === target) {\r\n\t\tif (fill[0] === '-' || fill[0] === '+') {\r\n\t\t\ttarget = index + target;\r\n\t\t}\r\n\r\n\t\tif (target === index || target < 0 || target >= count) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn target;\r\n\t}\r\n\r\n\tswitch (fill) {\r\n\t// compatibility\r\n\tcase 'bottom':\r\n\t\treturn 'start';\r\n\tcase 'top':\r\n\t\treturn 'end';\r\n\tcase 'zero':\r\n\t\treturn 'origin';\r\n\t// supported boundaries\r\n\tcase 'origin':\r\n\tcase 'start':\r\n\tcase 'end':\r\n\t\treturn fill;\r\n\t// invalid fill values\r\n\tdefault:\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\nfunction computeLinearBoundary(source) {\r\n\tvar model = source.el._model || {};\r\n\tvar scale = source.el._scale || {};\r\n\tvar fill = source.fill;\r\n\tvar target = null;\r\n\tvar horizontal;\r\n\r\n\tif (isFinite(fill)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\t// Backward compatibility: until v3, we still need to support boundary values set on\r\n\t// the model (scaleTop, scaleBottom and scaleZero) because some external plugins and\r\n\t// controllers might still use it (e.g. the Smith chart).\r\n\r\n\tif (fill === 'start') {\r\n\t\ttarget = model.scaleBottom === undefined ? scale.bottom : model.scaleBottom;\r\n\t} else if (fill === 'end') {\r\n\t\ttarget = model.scaleTop === undefined ? scale.top : model.scaleTop;\r\n\t} else if (model.scaleZero !== undefined) {\r\n\t\ttarget = model.scaleZero;\r\n\t} else if (scale.getBasePixel) {\r\n\t\ttarget = scale.getBasePixel();\r\n\t}\r\n\r\n\tif (target !== undefined && target !== null) {\r\n\t\tif (target.x !== undefined && target.y !== undefined) {\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\tif (helpers$1.isFinite(target)) {\r\n\t\t\thorizontal = scale.isHorizontal();\r\n\t\t\treturn {\r\n\t\t\t\tx: horizontal ? target : null,\r\n\t\t\t\ty: horizontal ? null : target\r\n\t\t\t};\r\n\t\t}\r\n\t}\r\n\r\n\treturn null;\r\n}\r\n\r\nfunction computeCircularBoundary(source) {\r\n\tvar scale = source.el._scale;\r\n\tvar options = scale.options;\r\n\tvar length = scale.chart.data.labels.length;\r\n\tvar fill = source.fill;\r\n\tvar target = [];\r\n\tvar start, end, center, i, point;\r\n\r\n\tif (!length) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tstart = options.ticks.reverse ? scale.max : scale.min;\r\n\tend = options.ticks.reverse ? scale.min : scale.max;\r\n\tcenter = scale.getPointPositionForValue(0, start);\r\n\tfor (i = 0; i < length; ++i) {\r\n\t\tpoint = fill === 'start' || fill === 'end'\r\n\t\t\t? scale.getPointPositionForValue(i, fill === 'start' ? start : end)\r\n\t\t\t: scale.getBasePosition(i);\r\n\t\tif (options.gridLines.circular) {\r\n\t\t\tpoint.cx = center.x;\r\n\t\t\tpoint.cy = center.y;\r\n\t\t\tpoint.angle = scale.getIndexAngle(i) - Math.PI / 2;\r\n\t\t}\r\n\t\ttarget.push(point);\r\n\t}\r\n\treturn target;\r\n}\r\n\r\nfunction computeBoundary(source) {\r\n\tvar scale = source.el._scale || {};\r\n\r\n\tif (scale.getPointPositionForValue) {\r\n\t\treturn computeCircularBoundary(source);\r\n\t}\r\n\treturn computeLinearBoundary(source);\r\n}\r\n\r\nfunction resolveTarget(sources, index, propagate) {\r\n\tvar source = sources[index];\r\n\tvar fill = source.fill;\r\n\tvar visited = [index];\r\n\tvar target;\r\n\r\n\tif (!propagate) {\r\n\t\treturn fill;\r\n\t}\r\n\r\n\twhile (fill !== false && visited.indexOf(fill) === -1) {\r\n\t\tif (!isFinite(fill)) {\r\n\t\t\treturn fill;\r\n\t\t}\r\n\r\n\t\ttarget = sources[fill];\r\n\t\tif (!target) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (target.visible) {\r\n\t\t\treturn fill;\r\n\t\t}\r\n\r\n\t\tvisited.push(fill);\r\n\t\tfill = target.fill;\r\n\t}\r\n\r\n\treturn false;\r\n}\r\n\r\nfunction createMapper(source) {\r\n\tvar fill = source.fill;\r\n\tvar type = 'dataset';\r\n\r\n\tif (fill === false) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tif (!isFinite(fill)) {\r\n\t\ttype = 'boundary';\r\n\t}\r\n\r\n\treturn mappers[type](source);\r\n}\r\n\r\nfunction isDrawable(point) {\r\n\treturn point && !point.skip;\r\n}\r\n\r\nfunction drawArea(ctx, curve0, curve1, len0, len1) {\r\n\tvar i, cx, cy, r;\r\n\r\n\tif (!len0 || !len1) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t// building first area curve (normal)\r\n\tctx.moveTo(curve0[0].x, curve0[0].y);\r\n\tfor (i = 1; i < len0; ++i) {\r\n\t\thelpers$1.canvas.lineTo(ctx, curve0[i - 1], curve0[i]);\r\n\t}\r\n\r\n\tif (curve1[0].angle !== undefined) {\r\n\t\tcx = curve1[0].cx;\r\n\t\tcy = curve1[0].cy;\r\n\t\tr = Math.sqrt(Math.pow(curve1[0].x - cx, 2) + Math.pow(curve1[0].y - cy, 2));\r\n\t\tfor (i = len1 - 1; i > 0; --i) {\r\n\t\t\tctx.arc(cx, cy, r, curve1[i].angle, curve1[i - 1].angle, true);\r\n\t\t}\r\n\t\treturn;\r\n\t}\r\n\r\n\t// joining the two area curves\r\n\tctx.lineTo(curve1[len1 - 1].x, curve1[len1 - 1].y);\r\n\r\n\t// building opposite area curve (reverse)\r\n\tfor (i = len1 - 1; i > 0; --i) {\r\n\t\thelpers$1.canvas.lineTo(ctx, curve1[i], curve1[i - 1], true);\r\n\t}\r\n}\r\n\r\nfunction doFill(ctx, points, mapper, view, color, loop) {\r\n\tvar count = points.length;\r\n\tvar span = view.spanGaps;\r\n\tvar curve0 = [];\r\n\tvar curve1 = [];\r\n\tvar len0 = 0;\r\n\tvar len1 = 0;\r\n\tvar i, ilen, index, p0, p1, d0, d1, loopOffset;\r\n\r\n\tctx.beginPath();\r\n\r\n\tfor (i = 0, ilen = count; i < ilen; ++i) {\r\n\t\tindex = i % count;\r\n\t\tp0 = points[index]._view;\r\n\t\tp1 = mapper(p0, index, view);\r\n\t\td0 = isDrawable(p0);\r\n\t\td1 = isDrawable(p1);\r\n\r\n\t\tif (loop && loopOffset === undefined && d0) {\r\n\t\t\tloopOffset = i + 1;\r\n\t\t\tilen = count + loopOffset;\r\n\t\t}\r\n\r\n\t\tif (d0 && d1) {\r\n\t\t\tlen0 = curve0.push(p0);\r\n\t\t\tlen1 = curve1.push(p1);\r\n\t\t} else if (len0 && len1) {\r\n\t\t\tif (!span) {\r\n\t\t\t\tdrawArea(ctx, curve0, curve1, len0, len1);\r\n\t\t\t\tlen0 = len1 = 0;\r\n\t\t\t\tcurve0 = [];\r\n\t\t\t\tcurve1 = [];\r\n\t\t\t} else {\r\n\t\t\t\tif (d0) {\r\n\t\t\t\t\tcurve0.push(p0);\r\n\t\t\t\t}\r\n\t\t\t\tif (d1) {\r\n\t\t\t\t\tcurve1.push(p1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tdrawArea(ctx, curve0, curve1, len0, len1);\r\n\r\n\tctx.closePath();\r\n\tctx.fillStyle = color;\r\n\tctx.fill();\r\n}\r\n\r\nvar plugin_filler = {\r\n\tid: 'filler',\r\n\r\n\tafterDatasetsUpdate: function(chart, options) {\r\n\t\tvar count = (chart.data.datasets || []).length;\r\n\t\tvar propagate = options.propagate;\r\n\t\tvar sources = [];\r\n\t\tvar meta, i, el, source;\r\n\r\n\t\tfor (i = 0; i < count; ++i) {\r\n\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\tel = meta.dataset;\r\n\t\t\tsource = null;\r\n\r\n\t\t\tif (el && el._model && el instanceof elements.Line) {\r\n\t\t\t\tsource = {\r\n\t\t\t\t\tvisible: chart.isDatasetVisible(i),\r\n\t\t\t\t\tfill: decodeFill(el, i, count),\r\n\t\t\t\t\tchart: chart,\r\n\t\t\t\t\tel: el\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tmeta.$filler = source;\r\n\t\t\tsources.push(source);\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < count; ++i) {\r\n\t\t\tsource = sources[i];\r\n\t\t\tif (!source) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tsource.fill = resolveTarget(sources, i, propagate);\r\n\t\t\tsource.boundary = computeBoundary(source);\r\n\t\t\tsource.mapper = createMapper(source);\r\n\t\t}\r\n\t},\r\n\r\n\tbeforeDatasetsDraw: function(chart) {\r\n\t\tvar metasets = chart._getSortedVisibleDatasetMetas();\r\n\t\tvar ctx = chart.ctx;\r\n\t\tvar meta, i, el, view, points, mapper, color;\r\n\r\n\t\tfor (i = metasets.length - 1; i >= 0; --i) {\r\n\t\t\tmeta = metasets[i].$filler;\r\n\r\n\t\t\tif (!meta || !meta.visible) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tel = meta.el;\r\n\t\t\tview = el._view;\r\n\t\t\tpoints = el._children || [];\r\n\t\t\tmapper = meta.mapper;\r\n\t\t\tcolor = view.backgroundColor || core_defaults.global.defaultColor;\r\n\r\n\t\t\tif (mapper && color && points.length) {\r\n\t\t\t\thelpers$1.canvas.clipArea(ctx, chart.chartArea);\r\n\t\t\t\tdoFill(ctx, points, mapper, view, color, el._loop);\r\n\t\t\t\thelpers$1.canvas.unclipArea(ctx);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\nvar getRtlHelper$1 = helpers$1.rtl.getRtlAdapter;\r\nvar noop$1 = helpers$1.noop;\r\nvar valueOrDefault$e = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('global', {\r\n\tlegend: {\r\n\t\tdisplay: true,\r\n\t\tposition: 'top',\r\n\t\talign: 'center',\r\n\t\tfullWidth: true,\r\n\t\treverse: false,\r\n\t\tweight: 1000,\r\n\r\n\t\t// a callback that will handle\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.datasetIndex;\r\n\t\t\tvar ci = this.chart;\r\n\t\t\tvar meta = ci.getDatasetMeta(index);\r\n\r\n\t\t\t// See controller.isDatasetVisible comment\r\n\t\t\tmeta.hidden = meta.hidden === null ? !ci.data.datasets[index].hidden : null;\r\n\r\n\t\t\t// We hid a dataset ... rerender the chart\r\n\t\t\tci.update();\r\n\t\t},\r\n\r\n\t\tonHover: null,\r\n\t\tonLeave: null,\r\n\r\n\t\tlabels: {\r\n\t\t\tboxWidth: 40,\r\n\t\t\tpadding: 10,\r\n\t\t\t// Generates labels shown in the legend\r\n\t\t\t// Valid properties to return:\r\n\t\t\t// text : text to display\r\n\t\t\t// fillStyle : fill of coloured box\r\n\t\t\t// strokeStyle: stroke of coloured box\r\n\t\t\t// hidden : if this legend item refers to a hidden item\r\n\t\t\t// lineCap : cap style for line\r\n\t\t\t// lineDash\r\n\t\t\t// lineDashOffset :\r\n\t\t\t// lineJoin :\r\n\t\t\t// lineWidth :\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar datasets = chart.data.datasets;\r\n\t\t\t\tvar options = chart.options.legend || {};\r\n\t\t\t\tvar usePointStyle = options.labels && options.labels.usePointStyle;\r\n\r\n\t\t\t\treturn chart._getSortedDatasetMetas().map(function(meta) {\r\n\t\t\t\t\tvar style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\ttext: datasets[meta.index].label,\r\n\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\thidden: !chart.isDatasetVisible(meta.index),\r\n\t\t\t\t\t\tlineCap: style.borderCapStyle,\r\n\t\t\t\t\t\tlineDash: style.borderDash,\r\n\t\t\t\t\t\tlineDashOffset: style.borderDashOffset,\r\n\t\t\t\t\t\tlineJoin: style.borderJoinStyle,\r\n\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\tpointStyle: style.pointStyle,\r\n\t\t\t\t\t\trotation: style.rotation,\r\n\r\n\t\t\t\t\t\t// Below is extra data used for toggling the datasets\r\n\t\t\t\t\t\tdatasetIndex: meta.index\r\n\t\t\t\t\t};\r\n\t\t\t\t}, this);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\r\n\t\tfor (i = 0, ilen = datasets.length; i < ilen; i++) {\r\n\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\tlistItemSpan.style.backgroundColor = datasets[i].backgroundColor;\r\n\t\t\tif (datasets[i].label) {\r\n\t\t\t\tlistItem.appendChild(document.createTextNode(datasets[i].label));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t}\r\n});\r\n\r\n/**\r\n * Helper function to get the box width based on the usePointStyle option\r\n * @param {object} labelopts - the label options on the legend\r\n * @param {number} fontSize - the label font size\r\n * @return {number} width of the color box area\r\n */\r\nfunction getBoxWidth(labelOpts, fontSize) {\r\n\treturn labelOpts.usePointStyle && labelOpts.boxWidth > fontSize ?\r\n\t\tfontSize :\r\n\t\tlabelOpts.boxWidth;\r\n}\r\n\r\n/**\r\n * IMPORTANT: this class is exposed publicly as Chart.Legend, backward compatibility required!\r\n */\r\nvar Legend = core_element.extend({\r\n\r\n\tinitialize: function(config) {\r\n\t\tvar me = this;\r\n\t\thelpers$1.extend(me, config);\r\n\r\n\t\t// Contains hit boxes for each dataset (in dataset order)\r\n\t\tme.legendHitBoxes = [];\r\n\r\n\t\t/**\r\n \t\t * @private\r\n \t\t */\r\n\t\tme._hoveredItem = null;\r\n\r\n\t\t// Are we in doughnut mode which has a different data type\r\n\t\tme.doughnutMode = false;\r\n\t},\r\n\r\n\t// These methods are ordered by lifecycle. Utilities then follow.\r\n\t// Any function defined here is inherited by all legend types.\r\n\t// Any function can be extended by the legend type\r\n\r\n\tbeforeUpdate: noop$1,\r\n\tupdate: function(maxWidth, maxHeight, margins) {\r\n\t\tvar me = this;\r\n\r\n\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\r\n\t\tme.beforeUpdate();\r\n\r\n\t\t// Absorb the master measurements\r\n\t\tme.maxWidth = maxWidth;\r\n\t\tme.maxHeight = maxHeight;\r\n\t\tme.margins = margins;\r\n\r\n\t\t// Dimensions\r\n\t\tme.beforeSetDimensions();\r\n\t\tme.setDimensions();\r\n\t\tme.afterSetDimensions();\r\n\t\t// Labels\r\n\t\tme.beforeBuildLabels();\r\n\t\tme.buildLabels();\r\n\t\tme.afterBuildLabels();\r\n\r\n\t\t// Fit\r\n\t\tme.beforeFit();\r\n\t\tme.fit();\r\n\t\tme.afterFit();\r\n\t\t//\r\n\t\tme.afterUpdate();\r\n\r\n\t\treturn me.minSize;\r\n\t},\r\n\tafterUpdate: noop$1,\r\n\r\n\t//\r\n\r\n\tbeforeSetDimensions: noop$1,\r\n\tsetDimensions: function() {\r\n\t\tvar me = this;\r\n\t\t// Set the unconstrained dimension before label rotation\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.width = me.maxWidth;\r\n\t\t\tme.left = 0;\r\n\t\t\tme.right = me.width;\r\n\t\t} else {\r\n\t\t\tme.height = me.maxHeight;\r\n\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.top = 0;\r\n\t\t\tme.bottom = me.height;\r\n\t\t}\r\n\r\n\t\t// Reset padding\r\n\t\tme.paddingLeft = 0;\r\n\t\tme.paddingTop = 0;\r\n\t\tme.paddingRight = 0;\r\n\t\tme.paddingBottom = 0;\r\n\r\n\t\t// Reset minSize\r\n\t\tme.minSize = {\r\n\t\t\twidth: 0,\r\n\t\t\theight: 0\r\n\t\t};\r\n\t},\r\n\tafterSetDimensions: noop$1,\r\n\r\n\t//\r\n\r\n\tbeforeBuildLabels: noop$1,\r\n\tbuildLabels: function() {\r\n\t\tvar me = this;\r\n\t\tvar labelOpts = me.options.labels || {};\r\n\t\tvar legendItems = helpers$1.callback(labelOpts.generateLabels, [me.chart], me) || [];\r\n\r\n\t\tif (labelOpts.filter) {\r\n\t\t\tlegendItems = legendItems.filter(function(item) {\r\n\t\t\t\treturn labelOpts.filter(item, me.chart.data);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (me.options.reverse) {\r\n\t\t\tlegendItems.reverse();\r\n\t\t}\r\n\r\n\t\tme.legendItems = legendItems;\r\n\t},\r\n\tafterBuildLabels: noop$1,\r\n\r\n\t//\r\n\r\n\tbeforeFit: noop$1,\r\n\tfit: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar labelOpts = opts.labels;\r\n\t\tvar display = opts.display;\r\n\r\n\t\tvar ctx = me.ctx;\r\n\r\n\t\tvar labelFont = helpers$1.options._parseFont(labelOpts);\r\n\t\tvar fontSize = labelFont.size;\r\n\r\n\t\t// Reset hit boxes\r\n\t\tvar hitboxes = me.legendHitBoxes = [];\r\n\r\n\t\tvar minSize = me.minSize;\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\r\n\t\tif (isHorizontal) {\r\n\t\t\tminSize.width = me.maxWidth; // fill all the width\r\n\t\t\tminSize.height = display ? 10 : 0;\r\n\t\t} else {\r\n\t\t\tminSize.width = display ? 10 : 0;\r\n\t\t\tminSize.height = me.maxHeight; // fill all the height\r\n\t\t}\r\n\r\n\t\t// Increase sizes here\r\n\t\tif (!display) {\r\n\t\t\tme.width = minSize.width = me.height = minSize.height = 0;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tctx.font = labelFont.string;\r\n\r\n\t\tif (isHorizontal) {\r\n\t\t\t// Labels\r\n\r\n\t\t\t// Width of each line of legend boxes. Labels wrap onto multiple lines when there are too many to fit on one\r\n\t\t\tvar lineWidths = me.lineWidths = [0];\r\n\t\t\tvar totalHeight = 0;\r\n\r\n\t\t\tctx.textAlign = 'left';\r\n\t\t\tctx.textBaseline = 'middle';\r\n\r\n\t\t\thelpers$1.each(me.legendItems, function(legendItem, i) {\r\n\t\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\r\n\t\t\t\tvar width = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\r\n\r\n\t\t\t\tif (i === 0 || lineWidths[lineWidths.length - 1] + width + 2 * labelOpts.padding > minSize.width) {\r\n\t\t\t\t\ttotalHeight += fontSize + labelOpts.padding;\r\n\t\t\t\t\tlineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Store the hitbox width and height here. Final position will be updated in `draw`\r\n\t\t\t\thitboxes[i] = {\r\n\t\t\t\t\tleft: 0,\r\n\t\t\t\t\ttop: 0,\r\n\t\t\t\t\twidth: width,\r\n\t\t\t\t\theight: fontSize\r\n\t\t\t\t};\r\n\r\n\t\t\t\tlineWidths[lineWidths.length - 1] += width + labelOpts.padding;\r\n\t\t\t});\r\n\r\n\t\t\tminSize.height += totalHeight;\r\n\r\n\t\t} else {\r\n\t\t\tvar vPadding = labelOpts.padding;\r\n\t\t\tvar columnWidths = me.columnWidths = [];\r\n\t\t\tvar columnHeights = me.columnHeights = [];\r\n\t\t\tvar totalWidth = labelOpts.padding;\r\n\t\t\tvar currentColWidth = 0;\r\n\t\t\tvar currentColHeight = 0;\r\n\r\n\t\t\thelpers$1.each(me.legendItems, function(legendItem, i) {\r\n\t\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\r\n\t\t\t\tvar itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\r\n\r\n\t\t\t\t// If too tall, go to new column\r\n\t\t\t\tif (i > 0 && currentColHeight + fontSize + 2 * vPadding > minSize.height) {\r\n\t\t\t\t\ttotalWidth += currentColWidth + labelOpts.padding;\r\n\t\t\t\t\tcolumnWidths.push(currentColWidth); // previous column width\r\n\t\t\t\t\tcolumnHeights.push(currentColHeight);\r\n\t\t\t\t\tcurrentColWidth = 0;\r\n\t\t\t\t\tcurrentColHeight = 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Get max width\r\n\t\t\t\tcurrentColWidth = Math.max(currentColWidth, itemWidth);\r\n\t\t\t\tcurrentColHeight += fontSize + vPadding;\r\n\r\n\t\t\t\t// Store the hitbox width and height here. Final position will be updated in `draw`\r\n\t\t\t\thitboxes[i] = {\r\n\t\t\t\t\tleft: 0,\r\n\t\t\t\t\ttop: 0,\r\n\t\t\t\t\twidth: itemWidth,\r\n\t\t\t\t\theight: fontSize\r\n\t\t\t\t};\r\n\t\t\t});\r\n\r\n\t\t\ttotalWidth += currentColWidth;\r\n\t\t\tcolumnWidths.push(currentColWidth);\r\n\t\t\tcolumnHeights.push(currentColHeight);\r\n\t\t\tminSize.width += totalWidth;\r\n\t\t}\r\n\r\n\t\tme.width = minSize.width;\r\n\t\tme.height = minSize.height;\r\n\t},\r\n\tafterFit: noop$1,\r\n\r\n\t// Shared Methods\r\n\tisHorizontal: function() {\r\n\t\treturn this.options.position === 'top' || this.options.position === 'bottom';\r\n\t},\r\n\r\n\t// Actually draw the legend on the canvas\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar labelOpts = opts.labels;\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar defaultColor = globalDefaults.defaultColor;\r\n\t\tvar lineDefault = globalDefaults.elements.line;\r\n\t\tvar legendHeight = me.height;\r\n\t\tvar columnHeights = me.columnHeights;\r\n\t\tvar legendWidth = me.width;\r\n\t\tvar lineWidths = me.lineWidths;\r\n\r\n\t\tif (!opts.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar rtlHelper = getRtlHelper$1(opts.rtl, me.left, me.minSize.width);\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar fontColor = valueOrDefault$e(labelOpts.fontColor, globalDefaults.defaultFontColor);\r\n\t\tvar labelFont = helpers$1.options._parseFont(labelOpts);\r\n\t\tvar fontSize = labelFont.size;\r\n\t\tvar cursor;\r\n\r\n\t\t// Canvas setup\r\n\t\tctx.textAlign = rtlHelper.textAlign('left');\r\n\t\tctx.textBaseline = 'middle';\r\n\t\tctx.lineWidth = 0.5;\r\n\t\tctx.strokeStyle = fontColor; // for strikethrough effect\r\n\t\tctx.fillStyle = fontColor; // render in correct colour\r\n\t\tctx.font = labelFont.string;\r\n\r\n\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\r\n\t\tvar hitboxes = me.legendHitBoxes;\r\n\r\n\t\t// current position\r\n\t\tvar drawLegendBox = function(x, y, legendItem) {\r\n\t\t\tif (isNaN(boxWidth) || boxWidth <= 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// Set the ctx for the box\r\n\t\t\tctx.save();\r\n\r\n\t\t\tvar lineWidth = valueOrDefault$e(legendItem.lineWidth, lineDefault.borderWidth);\r\n\t\t\tctx.fillStyle = valueOrDefault$e(legendItem.fillStyle, defaultColor);\r\n\t\t\tctx.lineCap = valueOrDefault$e(legendItem.lineCap, lineDefault.borderCapStyle);\r\n\t\t\tctx.lineDashOffset = valueOrDefault$e(legendItem.lineDashOffset, lineDefault.borderDashOffset);\r\n\t\t\tctx.lineJoin = valueOrDefault$e(legendItem.lineJoin, lineDefault.borderJoinStyle);\r\n\t\t\tctx.lineWidth = lineWidth;\r\n\t\t\tctx.strokeStyle = valueOrDefault$e(legendItem.strokeStyle, defaultColor);\r\n\r\n\t\t\tif (ctx.setLineDash) {\r\n\t\t\t\t// IE 9 and 10 do not support line dash\r\n\t\t\t\tctx.setLineDash(valueOrDefault$e(legendItem.lineDash, lineDefault.borderDash));\r\n\t\t\t}\r\n\r\n\t\t\tif (labelOpts && labelOpts.usePointStyle) {\r\n\t\t\t\t// Recalculate x and y for drawPoint() because its expecting\r\n\t\t\t\t// x and y to be center of figure (instead of top left)\r\n\t\t\t\tvar radius = boxWidth * Math.SQRT2 / 2;\r\n\t\t\t\tvar centerX = rtlHelper.xPlus(x, boxWidth / 2);\r\n\t\t\t\tvar centerY = y + fontSize / 2;\r\n\r\n\t\t\t\t// Draw pointStyle as legend symbol\r\n\t\t\t\thelpers$1.canvas.drawPoint(ctx, legendItem.pointStyle, radius, centerX, centerY, legendItem.rotation);\r\n\t\t\t} else {\r\n\t\t\t\t// Draw box as legend symbol\r\n\t\t\t\tctx.fillRect(rtlHelper.leftForLtr(x, boxWidth), y, boxWidth, fontSize);\r\n\t\t\t\tif (lineWidth !== 0) {\r\n\t\t\t\t\tctx.strokeRect(rtlHelper.leftForLtr(x, boxWidth), y, boxWidth, fontSize);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tctx.restore();\r\n\t\t};\r\n\r\n\t\tvar fillText = function(x, y, legendItem, textWidth) {\r\n\t\t\tvar halfFontSize = fontSize / 2;\r\n\t\t\tvar xLeft = rtlHelper.xPlus(x, boxWidth + halfFontSize);\r\n\t\t\tvar yMiddle = y + halfFontSize;\r\n\r\n\t\t\tctx.fillText(legendItem.text, xLeft, yMiddle);\r\n\r\n\t\t\tif (legendItem.hidden) {\r\n\t\t\t\t// Strikethrough the text if hidden\r\n\t\t\t\tctx.beginPath();\r\n\t\t\t\tctx.lineWidth = 2;\r\n\t\t\t\tctx.moveTo(xLeft, yMiddle);\r\n\t\t\t\tctx.lineTo(rtlHelper.xPlus(xLeft, textWidth), yMiddle);\r\n\t\t\t\tctx.stroke();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvar alignmentOffset = function(dimension, blockSize) {\r\n\t\t\tswitch (opts.align) {\r\n\t\t\tcase 'start':\r\n\t\t\t\treturn labelOpts.padding;\r\n\t\t\tcase 'end':\r\n\t\t\t\treturn dimension - blockSize;\r\n\t\t\tdefault: // center\r\n\t\t\t\treturn (dimension - blockSize + labelOpts.padding) / 2;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// Horizontal\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\tif (isHorizontal) {\r\n\t\t\tcursor = {\r\n\t\t\t\tx: me.left + alignmentOffset(legendWidth, lineWidths[0]),\r\n\t\t\t\ty: me.top + labelOpts.padding,\r\n\t\t\t\tline: 0\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\tcursor = {\r\n\t\t\t\tx: me.left + labelOpts.padding,\r\n\t\t\t\ty: me.top + alignmentOffset(legendHeight, columnHeights[0]),\r\n\t\t\t\tline: 0\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\thelpers$1.rtl.overrideTextDirection(me.ctx, opts.textDirection);\r\n\r\n\t\tvar itemHeight = fontSize + labelOpts.padding;\r\n\t\thelpers$1.each(me.legendItems, function(legendItem, i) {\r\n\t\t\tvar textWidth = ctx.measureText(legendItem.text).width;\r\n\t\t\tvar width = boxWidth + (fontSize / 2) + textWidth;\r\n\t\t\tvar x = cursor.x;\r\n\t\t\tvar y = cursor.y;\r\n\r\n\t\t\trtlHelper.setWidth(me.minSize.width);\r\n\r\n\t\t\t// Use (me.left + me.minSize.width) and (me.top + me.minSize.height)\r\n\t\t\t// instead of me.right and me.bottom because me.width and me.height\r\n\t\t\t// may have been changed since me.minSize was calculated\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\tif (i > 0 && x + width + labelOpts.padding > me.left + me.minSize.width) {\r\n\t\t\t\t\ty = cursor.y += itemHeight;\r\n\t\t\t\t\tcursor.line++;\r\n\t\t\t\t\tx = cursor.x = me.left + alignmentOffset(legendWidth, lineWidths[cursor.line]);\r\n\t\t\t\t}\r\n\t\t\t} else if (i > 0 && y + itemHeight > me.top + me.minSize.height) {\r\n\t\t\t\tx = cursor.x = x + me.columnWidths[cursor.line] + labelOpts.padding;\r\n\t\t\t\tcursor.line++;\r\n\t\t\t\ty = cursor.y = me.top + alignmentOffset(legendHeight, columnHeights[cursor.line]);\r\n\t\t\t}\r\n\r\n\t\t\tvar realX = rtlHelper.x(x);\r\n\r\n\t\t\tdrawLegendBox(realX, y, legendItem);\r\n\r\n\t\t\thitboxes[i].left = rtlHelper.leftForLtr(realX, hitboxes[i].width);\r\n\t\t\thitboxes[i].top = y;\r\n\r\n\t\t\t// Fill the actual label\r\n\t\t\tfillText(realX, y, legendItem, textWidth);\r\n\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\tcursor.x += width + labelOpts.padding;\r\n\t\t\t} else {\r\n\t\t\t\tcursor.y += itemHeight;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\thelpers$1.rtl.restoreTextDirection(me.ctx, opts.textDirection);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getLegendItemAt: function(x, y) {\r\n\t\tvar me = this;\r\n\t\tvar i, hitBox, lh;\r\n\r\n\t\tif (x >= me.left && x <= me.right && y >= me.top && y <= me.bottom) {\r\n\t\t\t// See if we are touching one of the dataset boxes\r\n\t\t\tlh = me.legendHitBoxes;\r\n\t\t\tfor (i = 0; i < lh.length; ++i) {\r\n\t\t\t\thitBox = lh[i];\r\n\r\n\t\t\t\tif (x >= hitBox.left && x <= hitBox.left + hitBox.width && y >= hitBox.top && y <= hitBox.top + hitBox.height) {\r\n\t\t\t\t\t// Touching an element\r\n\t\t\t\t\treturn me.legendItems[i];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t},\r\n\r\n\t/**\r\n\t * Handle an event\r\n\t * @private\r\n\t * @param {IEvent} event - The event to handle\r\n\t */\r\n\thandleEvent: function(e) {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar type = e.type === 'mouseup' ? 'click' : e.type;\r\n\t\tvar hoveredItem;\r\n\r\n\t\tif (type === 'mousemove') {\r\n\t\t\tif (!opts.onHover && !opts.onLeave) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t} else if (type === 'click') {\r\n\t\t\tif (!opts.onClick) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Chart event already has relative position in it\r\n\t\thoveredItem = me._getLegendItemAt(e.x, e.y);\r\n\r\n\t\tif (type === 'click') {\r\n\t\t\tif (hoveredItem && opts.onClick) {\r\n\t\t\t\t// use e.native for backwards compatibility\r\n\t\t\t\topts.onClick.call(me, e.native, hoveredItem);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (opts.onLeave && hoveredItem !== me._hoveredItem) {\r\n\t\t\t\tif (me._hoveredItem) {\r\n\t\t\t\t\topts.onLeave.call(me, e.native, me._hoveredItem);\r\n\t\t\t\t}\r\n\t\t\t\tme._hoveredItem = hoveredItem;\r\n\t\t\t}\r\n\r\n\t\t\tif (opts.onHover && hoveredItem) {\r\n\t\t\t\t// use e.native for backwards compatibility\r\n\t\t\t\topts.onHover.call(me, e.native, hoveredItem);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction createNewLegendAndAttach(chart, legendOpts) {\r\n\tvar legend = new Legend({\r\n\t\tctx: chart.ctx,\r\n\t\toptions: legendOpts,\r\n\t\tchart: chart\r\n\t});\r\n\r\n\tcore_layouts.configure(chart, legend, legendOpts);\r\n\tcore_layouts.addBox(chart, legend);\r\n\tchart.legend = legend;\r\n}\r\n\r\nvar plugin_legend = {\r\n\tid: 'legend',\r\n\r\n\t/**\r\n\t * Backward compatibility: since 2.1.5, the legend is registered as a plugin, making\r\n\t * Chart.Legend obsolete. To avoid a breaking change, we export the Legend as part of\r\n\t * the plugin, which one will be re-exposed in the chart.js file.\r\n\t * https://github.com/chartjs/Chart.js/pull/2640\r\n\t * @private\r\n\t */\r\n\t_element: Legend,\r\n\r\n\tbeforeInit: function(chart) {\r\n\t\tvar legendOpts = chart.options.legend;\r\n\r\n\t\tif (legendOpts) {\r\n\t\t\tcreateNewLegendAndAttach(chart, legendOpts);\r\n\t\t}\r\n\t},\r\n\r\n\tbeforeUpdate: function(chart) {\r\n\t\tvar legendOpts = chart.options.legend;\r\n\t\tvar legend = chart.legend;\r\n\r\n\t\tif (legendOpts) {\r\n\t\t\thelpers$1.mergeIf(legendOpts, core_defaults.global.legend);\r\n\r\n\t\t\tif (legend) {\r\n\t\t\t\tcore_layouts.configure(chart, legend, legendOpts);\r\n\t\t\t\tlegend.options = legendOpts;\r\n\t\t\t} else {\r\n\t\t\t\tcreateNewLegendAndAttach(chart, legendOpts);\r\n\t\t\t}\r\n\t\t} else if (legend) {\r\n\t\t\tcore_layouts.removeBox(chart, legend);\r\n\t\t\tdelete chart.legend;\r\n\t\t}\r\n\t},\r\n\r\n\tafterEvent: function(chart, e) {\r\n\t\tvar legend = chart.legend;\r\n\t\tif (legend) {\r\n\t\t\tlegend.handleEvent(e);\r\n\t\t}\r\n\t}\r\n};\n\nvar noop$2 = helpers$1.noop;\r\n\r\ncore_defaults._set('global', {\r\n\ttitle: {\r\n\t\tdisplay: false,\r\n\t\tfontStyle: 'bold',\r\n\t\tfullWidth: true,\r\n\t\tpadding: 10,\r\n\t\tposition: 'top',\r\n\t\ttext: '',\r\n\t\tweight: 2000 // by default greater than legend (1000) to be above\r\n\t}\r\n});\r\n\r\n/**\r\n * IMPORTANT: this class is exposed publicly as Chart.Legend, backward compatibility required!\r\n */\r\nvar Title = core_element.extend({\r\n\tinitialize: function(config) {\r\n\t\tvar me = this;\r\n\t\thelpers$1.extend(me, config);\r\n\r\n\t\t// Contains hit boxes for each dataset (in dataset order)\r\n\t\tme.legendHitBoxes = [];\r\n\t},\r\n\r\n\t// These methods are ordered by lifecycle. Utilities then follow.\r\n\r\n\tbeforeUpdate: noop$2,\r\n\tupdate: function(maxWidth, maxHeight, margins) {\r\n\t\tvar me = this;\r\n\r\n\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\r\n\t\tme.beforeUpdate();\r\n\r\n\t\t// Absorb the master measurements\r\n\t\tme.maxWidth = maxWidth;\r\n\t\tme.maxHeight = maxHeight;\r\n\t\tme.margins = margins;\r\n\r\n\t\t// Dimensions\r\n\t\tme.beforeSetDimensions();\r\n\t\tme.setDimensions();\r\n\t\tme.afterSetDimensions();\r\n\t\t// Labels\r\n\t\tme.beforeBuildLabels();\r\n\t\tme.buildLabels();\r\n\t\tme.afterBuildLabels();\r\n\r\n\t\t// Fit\r\n\t\tme.beforeFit();\r\n\t\tme.fit();\r\n\t\tme.afterFit();\r\n\t\t//\r\n\t\tme.afterUpdate();\r\n\r\n\t\treturn me.minSize;\r\n\r\n\t},\r\n\tafterUpdate: noop$2,\r\n\r\n\t//\r\n\r\n\tbeforeSetDimensions: noop$2,\r\n\tsetDimensions: function() {\r\n\t\tvar me = this;\r\n\t\t// Set the unconstrained dimension before label rotation\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.width = me.maxWidth;\r\n\t\t\tme.left = 0;\r\n\t\t\tme.right = me.width;\r\n\t\t} else {\r\n\t\t\tme.height = me.maxHeight;\r\n\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.top = 0;\r\n\t\t\tme.bottom = me.height;\r\n\t\t}\r\n\r\n\t\t// Reset padding\r\n\t\tme.paddingLeft = 0;\r\n\t\tme.paddingTop = 0;\r\n\t\tme.paddingRight = 0;\r\n\t\tme.paddingBottom = 0;\r\n\r\n\t\t// Reset minSize\r\n\t\tme.minSize = {\r\n\t\t\twidth: 0,\r\n\t\t\theight: 0\r\n\t\t};\r\n\t},\r\n\tafterSetDimensions: noop$2,\r\n\r\n\t//\r\n\r\n\tbeforeBuildLabels: noop$2,\r\n\tbuildLabels: noop$2,\r\n\tafterBuildLabels: noop$2,\r\n\r\n\t//\r\n\r\n\tbeforeFit: noop$2,\r\n\tfit: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar minSize = me.minSize = {};\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\tvar lineCount, textSize;\r\n\r\n\t\tif (!opts.display) {\r\n\t\t\tme.width = minSize.width = me.height = minSize.height = 0;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlineCount = helpers$1.isArray(opts.text) ? opts.text.length : 1;\r\n\t\ttextSize = lineCount * helpers$1.options._parseFont(opts).lineHeight + opts.padding * 2;\r\n\r\n\t\tme.width = minSize.width = isHorizontal ? me.maxWidth : textSize;\r\n\t\tme.height = minSize.height = isHorizontal ? textSize : me.maxHeight;\r\n\t},\r\n\tafterFit: noop$2,\r\n\r\n\t// Shared Methods\r\n\tisHorizontal: function() {\r\n\t\tvar pos = this.options.position;\r\n\t\treturn pos === 'top' || pos === 'bottom';\r\n\t},\r\n\r\n\t// Actually draw the title block on the canvas\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar opts = me.options;\r\n\r\n\t\tif (!opts.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar fontOpts = helpers$1.options._parseFont(opts);\r\n\t\tvar lineHeight = fontOpts.lineHeight;\r\n\t\tvar offset = lineHeight / 2 + opts.padding;\r\n\t\tvar rotation = 0;\r\n\t\tvar top = me.top;\r\n\t\tvar left = me.left;\r\n\t\tvar bottom = me.bottom;\r\n\t\tvar right = me.right;\r\n\t\tvar maxWidth, titleX, titleY;\r\n\r\n\t\tctx.fillStyle = helpers$1.valueOrDefault(opts.fontColor, core_defaults.global.defaultFontColor); // render in correct colour\r\n\t\tctx.font = fontOpts.string;\r\n\r\n\t\t// Horizontal\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\ttitleX = left + ((right - left) / 2); // midpoint of the width\r\n\t\t\ttitleY = top + offset;\r\n\t\t\tmaxWidth = right - left;\r\n\t\t} else {\r\n\t\t\ttitleX = opts.position === 'left' ? left + offset : right - offset;\r\n\t\t\ttitleY = top + ((bottom - top) / 2);\r\n\t\t\tmaxWidth = bottom - top;\r\n\t\t\trotation = Math.PI * (opts.position === 'left' ? -0.5 : 0.5);\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\t\tctx.translate(titleX, titleY);\r\n\t\tctx.rotate(rotation);\r\n\t\tctx.textAlign = 'center';\r\n\t\tctx.textBaseline = 'middle';\r\n\r\n\t\tvar text = opts.text;\r\n\t\tif (helpers$1.isArray(text)) {\r\n\t\t\tvar y = 0;\r\n\t\t\tfor (var i = 0; i < text.length; ++i) {\r\n\t\t\t\tctx.fillText(text[i], 0, y, maxWidth);\r\n\t\t\t\ty += lineHeight;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tctx.fillText(text, 0, 0, maxWidth);\r\n\t\t}\r\n\r\n\t\tctx.restore();\r\n\t}\r\n});\r\n\r\nfunction createNewTitleBlockAndAttach(chart, titleOpts) {\r\n\tvar title = new Title({\r\n\t\tctx: chart.ctx,\r\n\t\toptions: titleOpts,\r\n\t\tchart: chart\r\n\t});\r\n\r\n\tcore_layouts.configure(chart, title, titleOpts);\r\n\tcore_layouts.addBox(chart, title);\r\n\tchart.titleBlock = title;\r\n}\r\n\r\nvar plugin_title = {\r\n\tid: 'title',\r\n\r\n\t/**\r\n\t * Backward compatibility: since 2.1.5, the title is registered as a plugin, making\r\n\t * Chart.Title obsolete. To avoid a breaking change, we export the Title as part of\r\n\t * the plugin, which one will be re-exposed in the chart.js file.\r\n\t * https://github.com/chartjs/Chart.js/pull/2640\r\n\t * @private\r\n\t */\r\n\t_element: Title,\r\n\r\n\tbeforeInit: function(chart) {\r\n\t\tvar titleOpts = chart.options.title;\r\n\r\n\t\tif (titleOpts) {\r\n\t\t\tcreateNewTitleBlockAndAttach(chart, titleOpts);\r\n\t\t}\r\n\t},\r\n\r\n\tbeforeUpdate: function(chart) {\r\n\t\tvar titleOpts = chart.options.title;\r\n\t\tvar titleBlock = chart.titleBlock;\r\n\r\n\t\tif (titleOpts) {\r\n\t\t\thelpers$1.mergeIf(titleOpts, core_defaults.global.title);\r\n\r\n\t\t\tif (titleBlock) {\r\n\t\t\t\tcore_layouts.configure(chart, titleBlock, titleOpts);\r\n\t\t\t\ttitleBlock.options = titleOpts;\r\n\t\t\t} else {\r\n\t\t\t\tcreateNewTitleBlockAndAttach(chart, titleOpts);\r\n\t\t\t}\r\n\t\t} else if (titleBlock) {\r\n\t\t\tcore_layouts.removeBox(chart, titleBlock);\r\n\t\t\tdelete chart.titleBlock;\r\n\t\t}\r\n\t}\r\n};\n\nvar plugins = {};\r\nvar filler = plugin_filler;\r\nvar legend = plugin_legend;\r\nvar title = plugin_title;\nplugins.filler = filler;\nplugins.legend = legend;\nplugins.title = title;\n\n/**\r\n * @namespace Chart\r\n */\r\n\r\n\r\ncore_controller.helpers = helpers$1;\r\n\r\n// @todo dispatch these helpers into appropriated helpers/helpers.* file and write unit tests!\r\ncore_helpers();\r\n\r\ncore_controller._adapters = core_adapters;\r\ncore_controller.Animation = core_animation;\r\ncore_controller.animationService = core_animations;\r\ncore_controller.controllers = controllers;\r\ncore_controller.DatasetController = core_datasetController;\r\ncore_controller.defaults = core_defaults;\r\ncore_controller.Element = core_element;\r\ncore_controller.elements = elements;\r\ncore_controller.Interaction = core_interaction;\r\ncore_controller.layouts = core_layouts;\r\ncore_controller.platform = platform;\r\ncore_controller.plugins = core_plugins;\r\ncore_controller.Scale = core_scale;\r\ncore_controller.scaleService = core_scaleService;\r\ncore_controller.Ticks = core_ticks;\r\ncore_controller.Tooltip = core_tooltip;\r\n\r\n// Register built-in scales\r\n\r\ncore_controller.helpers.each(scales, function(scale, type) {\r\n\tcore_controller.scaleService.registerScaleType(type, scale, scale._defaults);\r\n});\r\n\r\n// Load to register built-in adapters (as side effects)\r\n\r\n\r\n// Loading built-in plugins\r\n\r\nfor (var k in plugins) {\r\n\tif (plugins.hasOwnProperty(k)) {\r\n\t\tcore_controller.plugins.register(plugins[k]);\r\n\t}\r\n}\r\n\r\ncore_controller.platform.initialize();\r\n\r\nvar src = core_controller;\r\nif (typeof window !== 'undefined') {\r\n\twindow.Chart = core_controller;\r\n}\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore\r\n * @namespace Chart.Chart\r\n * @deprecated since version 2.8.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.Chart = core_controller;\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore\r\n * @namespace Chart.Legend\r\n * @deprecated since version 2.1.5\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.Legend = plugins.legend._element;\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore\r\n * @namespace Chart.Title\r\n * @deprecated since version 2.1.5\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.Title = plugins.title._element;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.plugins instead\r\n * @namespace Chart.pluginService\r\n * @deprecated since version 2.1.5\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.pluginService = core_controller.plugins;\r\n\r\n/**\r\n * Provided for backward compatibility, inheriting from Chart.PlugingBase has no\r\n * effect, instead simply create/register plugins via plain JavaScript objects.\r\n * @interface Chart.PluginBase\r\n * @deprecated since version 2.5.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.PluginBase = core_controller.Element.extend({});\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas instead.\r\n * @namespace Chart.canvasHelpers\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.canvasHelpers = core_controller.helpers.canvas;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.layouts instead.\r\n * @namespace Chart.layoutService\r\n * @deprecated since version 2.7.3\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.layoutService = core_controller.layouts;\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore.\r\n * @namespace Chart.LinearScaleBase\r\n * @deprecated since version 2.8\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.LinearScaleBase = scale_linearbase;\r\n\r\n/**\r\n * Provided for backward compatibility, instead we should create a new Chart\r\n * by setting the type in the config (`new Chart(id, {type: '{chart-type}'}`).\r\n * @deprecated since version 2.8.0\r\n * @todo remove at version 3\r\n */\r\ncore_controller.helpers.each(\r\n\t[\r\n\t\t'Bar',\r\n\t\t'Bubble',\r\n\t\t'Doughnut',\r\n\t\t'Line',\r\n\t\t'PolarArea',\r\n\t\t'Radar',\r\n\t\t'Scatter'\r\n\t],\r\n\tfunction(klass) {\r\n\t\tcore_controller[klass] = function(ctx, cfg) {\r\n\t\t\treturn new core_controller(ctx, core_controller.helpers.merge(cfg || {}, {\r\n\t\t\t\ttype: klass.charAt(0).toLowerCase() + klass.slice(1)\r\n\t\t\t}));\r\n\t\t};\r\n\t}\r\n);\n\nreturn src;\n\n})));\n","/**\r\n * DevExtreme (esm/renovation/utils/get_computed_style.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nexport default function getElementComputedStyle(el) {\r\n var _window$getComputedSt;\r\n var window = getWindow();\r\n return el ? null === (_window$getComputedSt = window.getComputedStyle) || void 0 === _window$getComputedSt ? void 0 : _window$getComputedSt.call(window, el) : null\r\n}\r\n","import Vue from 'vue'\nimport { VueConstructor } from 'vue/types/vue'\nimport { consoleWarn } from '../../util/console'\n\nfunction generateWarning (child: string, parent: string) {\n return () => consoleWarn(`The ${child} component must be used inside a ${parent}`)\n}\n\nexport type Registrable<T extends string, C extends VueConstructor | null = null> = VueConstructor<Vue & {\n [K in T]: C extends VueConstructor ? InstanceType<C> : {\n register (...props: any[]): void\n unregister (self: any): void\n }\n}>\n\nexport function inject<\n T extends string, C extends VueConstructor | null = null\n> (namespace: T, child?: string, parent?: string): Registrable<T, C> {\n const defaultImpl = child && parent ? {\n register: generateWarning(child, parent),\n unregister: generateWarning(child, parent),\n } : null\n\n return Vue.extend({\n name: 'registrable-inject',\n\n inject: {\n [namespace]: {\n default: defaultImpl,\n },\n },\n })\n}\n\nexport function provide (namespace: string, self = false) {\n return Vue.extend({\n name: 'registrable-provide',\n\n provide (): object {\n return {\n [namespace]: self ? this : {\n register: (this as any).register,\n unregister: (this as any).unregister,\n },\n }\n },\n })\n}\n","import VMenu from './VMenu'\n\nexport { VMenu }\nexport default VMenu\n","/**\r\n * DevExtreme (esm/core/inferno_renderer.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n render as _render\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffectHost,\r\n hydrate\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createElement as _createElement\r\n} from \"inferno-create-element\";\r\nimport domAdapter from \"./dom_adapter\";\r\nimport {\r\n cleanDataRecursive\r\n} from \"./element_data\";\r\nimport injector from \"./utils/dependency_injector\";\r\nvar remove = element => {\r\n var {\r\n parentNode: parentNode\r\n } = element;\r\n if (parentNode) {\r\n var nextSibling = element.nextSibling;\r\n cleanDataRecursive(element);\r\n parentNode.$V = element.$V;\r\n _render(null, parentNode);\r\n parentNode.insertBefore(element, nextSibling);\r\n element.innerHTML = \"\";\r\n delete parentNode.$V\r\n }\r\n delete element.$V\r\n};\r\nexport default injector({\r\n createElement: (component, props) => _createElement(component, props),\r\n remove: remove,\r\n onAfterRender: () => {\r\n InfernoEffectHost.callEffects()\r\n },\r\n onPreRender: () => {\r\n InfernoEffectHost.lock()\r\n },\r\n render: (component, props, container, replace) => {\r\n if (!replace) {\r\n var {\r\n parentNode: parentNode\r\n } = container;\r\n var nextNode = null === container || void 0 === container ? void 0 : container.nextSibling;\r\n var rootNode = domAdapter.createElement(\"div\");\r\n rootNode.appendChild(container);\r\n var mountNode = domAdapter.createDocumentFragment().appendChild(rootNode);\r\n var vNodeAlreadyExists = !!container.$V;\r\n vNodeAlreadyExists && remove(container);\r\n hydrate(_createElement(component, props), mountNode);\r\n container.$V = mountNode.$V;\r\n if (parentNode) {\r\n parentNode.insertBefore(container, nextNode)\r\n }\r\n } else {\r\n _render(_createElement(component, props), container)\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/renovation/utils/shallow_equals.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var shallowEquals = (firstObject, secondObject) => {\r\n if (Object.keys(firstObject).length !== Object.keys(secondObject).length) {\r\n return false\r\n }\r\n return Object.keys(firstObject).every(key => firstObject[key] === secondObject[key])\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/common/template_wrapper.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"isEqual\"];\r\nimport {\r\n InfernoComponent,\r\n InfernoEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n findDOMfromVNode\r\n} from \"inferno\";\r\nimport {\r\n replaceWith\r\n} from \"../../../core/utils/dom\";\r\nimport {\r\n shallowEquals\r\n} from \"../../utils/shallow_equals\";\r\nimport $ from \"../../../core/renderer\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\n\r\nfunction isDxElementWrapper(element) {\r\n return !!element.toArray\r\n}\r\nexport function buildTemplateArgs(model, template) {\r\n var _model$data;\r\n var args = {\r\n template: template,\r\n model: _extends({}, model)\r\n };\r\n var _ref = null !== (_model$data = model.data) && void 0 !== _model$data ? _model$data : {},\r\n {\r\n isEqual: isEqual\r\n } = _ref,\r\n data = _objectWithoutPropertiesLoose(_ref, _excluded);\r\n if (isEqual) {\r\n args.model.data = data;\r\n args.isEqual = isEqual\r\n }\r\n return args\r\n}\r\n\r\nfunction renderTemplateContent(props, container) {\r\n var _props$model;\r\n var {\r\n data: data,\r\n index: index\r\n } = null !== (_props$model = props.model) && void 0 !== _props$model ? _props$model : {\r\n data: {}\r\n };\r\n if (data) {\r\n Object.keys(data).forEach(name => {\r\n if (data[name] && domAdapter.isNode(data[name])) {\r\n data[name] = getPublicElement($(data[name]))\r\n }\r\n })\r\n }\r\n var rendered = props.template.render(_extends({\r\n container: container,\r\n transclude: props.transclude\r\n }, {\r\n renovated: props.renovated\r\n }, !props.transclude ? {\r\n model: data\r\n } : {}, !props.transclude && Number.isFinite(index) ? {\r\n index: index\r\n } : {}));\r\n if (void 0 === rendered) {\r\n return []\r\n }\r\n return isDxElementWrapper(rendered) ? rendered.toArray() : [$(rendered).get(0)]\r\n}\r\n\r\nfunction removeDifferentElements(oldChildren, newChildren) {\r\n newChildren.forEach(newElement => {\r\n var hasOldChild = !!oldChildren.find(oldElement => newElement === oldElement);\r\n if (!hasOldChild && newElement.parentNode) {\r\n $(newElement).remove()\r\n }\r\n })\r\n}\r\nexport class TemplateWrapper extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.renderTemplate = this.renderTemplate.bind(this)\r\n }\r\n renderTemplate() {\r\n var node = findDOMfromVNode(this.$LI, true);\r\n if (!(null !== node && void 0 !== node && node.parentNode)) {\r\n return () => {}\r\n }\r\n var container = node.parentNode;\r\n var $container = $(container);\r\n var $oldContainerContent = $container.contents().toArray();\r\n var content = renderTemplateContent(this.props, getPublicElement($container));\r\n replaceWith($(node), $(content));\r\n return () => {\r\n var $actualContainerContent = $(container).contents().toArray();\r\n removeDifferentElements($oldContainerContent, $actualContainerContent);\r\n container.appendChild(node)\r\n }\r\n }\r\n shouldComponentUpdate(nextProps) {\r\n var {\r\n model: model,\r\n template: template\r\n } = this.props;\r\n var {\r\n isEqual: isEqual,\r\n model: nextModel,\r\n template: nextTemplate\r\n } = nextProps;\r\n var equalityComparer = null !== isEqual && void 0 !== isEqual ? isEqual : shallowEquals;\r\n if (template !== nextTemplate) {\r\n return true\r\n }\r\n if (!isDefined(model) || !isDefined(nextModel)) {\r\n return model !== nextModel\r\n }\r\n var {\r\n data: data,\r\n index: index\r\n } = model;\r\n var {\r\n data: nextData,\r\n index: nextIndex\r\n } = nextModel;\r\n if (index !== nextIndex) {\r\n return true\r\n }\r\n return !equalityComparer(data, nextData)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.renderTemplate, [this.props.template, this.props.model])]\r\n }\r\n updateEffects() {\r\n this._effects[0].update([this.props.template, this.props.model])\r\n }\r\n componentWillUnmount() {}\r\n render() {\r\n return null\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/utils/update_props_immutable.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isPlainObject\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n getPathParts\r\n} from \"../../../core/utils/data\";\r\n\r\nfunction cloneObjectValue(value) {\r\n return Array.isArray(value) ? [...value] : _extends({}, value)\r\n}\r\n\r\nfunction cloneObjectProp(value, prevValue, fullNameParts) {\r\n var result = fullNameParts.length > 0 && prevValue && value !== prevValue ? cloneObjectValue(prevValue) : cloneObjectValue(value);\r\n var name = fullNameParts[0];\r\n if (fullNameParts.length > 1) {\r\n result[name] = cloneObjectProp(value[name], null === prevValue || void 0 === prevValue ? void 0 : prevValue[name], fullNameParts.slice(1))\r\n } else if (name) {\r\n if (isPlainObject(value[name])) {\r\n result[name] = cloneObjectValue(value[name])\r\n } else {\r\n result[name] = value[name]\r\n }\r\n }\r\n return result\r\n}\r\nexport function updatePropsImmutable(props, option, name, fullName) {\r\n var currentPropsValue = option[name];\r\n var prevPropsValue = props[name];\r\n var result = props;\r\n if (isPlainObject(currentPropsValue) || name !== fullName && Array.isArray(currentPropsValue)) {\r\n result[name] = cloneObjectProp(currentPropsValue, prevPropsValue, getPathParts(fullName).slice(1))\r\n } else {\r\n result[name] = currentPropsValue\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/common/component.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n createRef\r\n} from \"inferno\";\r\nimport KeyboardProcessor from \"../../../events/core/keyboard_processor\";\r\nimport renderer from \"../../../core/inferno_renderer\";\r\nimport $ from \"../../../core/renderer\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport DOMComponent from \"../../../core/dom_component\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport {\r\n isDefined,\r\n isRenderer,\r\n isString\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n TemplateWrapper,\r\n buildTemplateArgs\r\n} from \"./template_wrapper\";\r\nimport {\r\n updatePropsImmutable\r\n} from \"../utils/update_props_immutable\";\r\nimport \"../../../events/click\";\r\nimport \"../../../events/core/emitter.feedback\";\r\nimport \"../../../events/hover\";\r\nvar setDefaultOptionValue = (options, defaultValueGetter) => name => {\r\n if (Object.prototype.hasOwnProperty.call(options, name) && void 0 === options[name]) {\r\n options[name] = defaultValueGetter(name)\r\n }\r\n};\r\nexport default class ComponentWrapper extends DOMComponent {\r\n constructor(element, options) {\r\n super(element, options);\r\n this._shouldRaiseContentReady = false;\r\n this.validateKeyDownHandler()\r\n }\r\n get _propsInfo() {\r\n return {\r\n allowNull: [],\r\n twoWay: [],\r\n elements: [],\r\n templates: [],\r\n props: []\r\n }\r\n }\r\n validateKeyDownHandler() {\r\n var supportedKeyNames = this.getSupportedKeyNames();\r\n var hasComponentDefaultKeyHandlers = supportedKeyNames.length > 0;\r\n var hasComponentKeyDownMethod = \"function\" === typeof this._viewComponent.prototype.keyDown;\r\n if (hasComponentDefaultKeyHandlers && !hasComponentKeyDownMethod) {\r\n throw Error(\"Component's declaration must have 'keyDown' method.\")\r\n }\r\n }\r\n get viewRef() {\r\n var _this$_viewRef;\r\n return null === (_this$_viewRef = this._viewRef) || void 0 === _this$_viewRef ? void 0 : _this$_viewRef.current\r\n }\r\n _checkContentReadyOption(fullName) {\r\n var contentReadyOptions = this._getContentReadyOptions().reduce((options, name) => {\r\n options[name] = true;\r\n return options\r\n }, {});\r\n this._checkContentReadyOption = optionName => !!contentReadyOptions[optionName];\r\n return this._checkContentReadyOption(fullName)\r\n }\r\n _getContentReadyOptions() {\r\n return [\"rtlEnabled\"]\r\n }\r\n _fireContentReady() {\r\n this._actionsMap.onContentReady({})\r\n }\r\n _getDefaultOptions() {\r\n var viewDefaultProps = this._getViewComponentDefaultProps();\r\n return extend(true, super._getDefaultOptions(), viewDefaultProps, this._propsInfo.twoWay.reduce((options, _ref) => {\r\n var [name, defaultName, eventName] = _ref;\r\n return _extends({}, options, {\r\n [name]: viewDefaultProps[defaultName],\r\n [eventName]: value => this.option(name, value)\r\n })\r\n }, {}), this._propsInfo.templates.reduce((options, name) => _extends({}, options, {\r\n [name]: null\r\n }), {}))\r\n }\r\n _getUnwrappedOption() {\r\n var unwrappedProps = {};\r\n Object.keys(this.option()).forEach(key => {\r\n unwrappedProps[key] = this.option(key)\r\n });\r\n return unwrappedProps\r\n }\r\n _initializeComponent() {\r\n var _this$_templateManage;\r\n super._initializeComponent();\r\n null === (_this$_templateManage = this._templateManager) || void 0 === _this$_templateManage ? void 0 : _this$_templateManage.addDefaultTemplates(this.getDefaultTemplates());\r\n var optionProxy = this._getUnwrappedOption();\r\n this._props = this._optionsWithDefaultTemplates(optionProxy);\r\n this._propsInfo.templates.forEach(template => {\r\n this._componentTemplates[template] = this._createTemplateComponent(this._props[template])\r\n });\r\n Object.keys(this._getActionConfigsFull()).forEach(name => this._addAction(name));\r\n this._viewRef = createRef();\r\n this.defaultKeyHandlers = this._createDefaultKeyHandlers()\r\n }\r\n _initMarkup() {\r\n var props = this.getProps();\r\n this._renderWrapper(props)\r\n }\r\n _renderWrapper(props) {\r\n var containerNode = this.$element()[0];\r\n if (!this._isNodeReplaced) {\r\n renderer.onPreRender()\r\n }\r\n renderer.render(this._viewComponent, props, containerNode, this._isNodeReplaced);\r\n if (!this._isNodeReplaced) {\r\n this._isNodeReplaced = true;\r\n renderer.onAfterRender();\r\n this._shouldRaiseContentReady = true\r\n }\r\n if (this._shouldRaiseContentReady) {\r\n this._fireContentReady();\r\n this._shouldRaiseContentReady = false\r\n }\r\n }\r\n _silent(name, value) {\r\n this._options.silent(name, value)\r\n }\r\n _render() {}\r\n _removeWidget() {\r\n renderer.remove(this.$element()[0])\r\n }\r\n _dispose() {\r\n this._removeWidget();\r\n super._dispose()\r\n }\r\n get elementAttr() {\r\n var element = this.$element()[0];\r\n if (!this._elementAttr) {\r\n var {\r\n attributes: attributes\r\n } = element;\r\n var attrs = Array.from(attributes).filter(attr => {\r\n var _attributes$attr$name;\r\n return !this._propsInfo.templates.includes(attr.name) && (null === (_attributes$attr$name = attributes[attr.name]) || void 0 === _attributes$attr$name ? void 0 : _attributes$attr$name.specified)\r\n }).reduce((result, _ref2) => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref2;\r\n var updatedAttributes = result;\r\n var isDomAttr = name in element;\r\n updatedAttributes[name] = \"\" === value && isDomAttr ? element[name] : value;\r\n return updatedAttributes\r\n }, {});\r\n this._elementAttr = attrs;\r\n this._storedClasses = element.getAttribute(\"class\") || \"\"\r\n }\r\n var elemStyle = element.style;\r\n var style = {};\r\n for (var i = 0; i < elemStyle.length; i += 1) {\r\n style[elemStyle[i]] = elemStyle.getPropertyValue(elemStyle[i])\r\n }\r\n this._elementAttr.style = style;\r\n this._elementAttr.class = this._storedClasses;\r\n return this._elementAttr\r\n }\r\n _getAdditionalActionConfigs() {\r\n return {\r\n onContentReady: {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }\r\n }\r\n }\r\n _getAdditionalProps() {\r\n return []\r\n }\r\n _patchOptionValues(options) {\r\n var {\r\n allowNull: allowNull,\r\n elements: elements,\r\n props: props,\r\n twoWay: twoWay\r\n } = this._propsInfo;\r\n var viewDefaultProps = this._getViewComponentDefaultProps();\r\n var defaultWidgetPropsKeys = Object.keys(viewDefaultProps);\r\n var defaultOptions = this._getDefaultOptions();\r\n var {\r\n children: children,\r\n onKeyboardHandled: onKeyboardHandled,\r\n ref: ref\r\n } = options;\r\n var onKeyDown = onKeyboardHandled ? (_, event_options) => {\r\n onKeyboardHandled(event_options)\r\n } : void 0;\r\n var widgetProps = {\r\n ref: ref,\r\n children: children,\r\n onKeyDown: onKeyDown\r\n };\r\n [...props, ...this._getAdditionalProps()].forEach(propName => {\r\n if (Object.prototype.hasOwnProperty.call(options, propName)) {\r\n widgetProps[propName] = options[propName]\r\n }\r\n });\r\n allowNull.forEach(setDefaultOptionValue(widgetProps, () => null));\r\n defaultWidgetPropsKeys.forEach(setDefaultOptionValue(widgetProps, name => defaultOptions[name]));\r\n twoWay.forEach(_ref3 => {\r\n var [name, defaultName] = _ref3;\r\n setDefaultOptionValue(widgetProps, () => defaultOptions[defaultName])(name)\r\n });\r\n elements.forEach(name => {\r\n if (name in widgetProps) {\r\n var value = widgetProps[name];\r\n if (isRenderer(value)) {\r\n widgetProps[name] = this._patchElementParam(value)\r\n }\r\n }\r\n });\r\n return widgetProps\r\n }\r\n getSupportedKeyNames() {\r\n return []\r\n }\r\n prepareStyleProp(props) {\r\n if (\"string\" === typeof props.style) {\r\n return _extends({}, props, {\r\n style: {},\r\n cssText: props.style\r\n })\r\n }\r\n return props\r\n }\r\n getProps() {\r\n var _this$elementAttr$cla, _elementAttr$class;\r\n var {\r\n elementAttr: elementAttr\r\n } = this.option();\r\n var options = this._patchOptionValues(_extends({}, this._props, {\r\n ref: this._viewRef,\r\n children: this._extractDefaultSlot(),\r\n aria: this._aria\r\n }));\r\n this._propsInfo.templates.forEach(template => {\r\n options[template] = this._componentTemplates[template]\r\n });\r\n return this.prepareStyleProp(_extends({}, options, this.elementAttr, elementAttr, {\r\n className: [...(null !== (_this$elementAttr$cla = this.elementAttr.class) && void 0 !== _this$elementAttr$cla ? _this$elementAttr$cla : \"\").split(\" \"), ...(null !== (_elementAttr$class = null === elementAttr || void 0 === elementAttr ? void 0 : elementAttr.class) && void 0 !== _elementAttr$class ? _elementAttr$class : \"\").split(\" \")].filter((c, i, a) => c && a.indexOf(c) === i).join(\" \").trim(),\r\n class: \"\"\r\n }, this._actionsMap))\r\n }\r\n _getActionConfigs() {\r\n return {}\r\n }\r\n _getActionConfigsFull() {\r\n return _extends({}, this._getActionConfigs(), this._getAdditionalActionConfigs())\r\n }\r\n getDefaultTemplates() {\r\n var defaultTemplates = Object.values(this._templatesInfo);\r\n var result = {};\r\n defaultTemplates.forEach(template => {\r\n result[template] = \"dx-renovation-template-mock\"\r\n });\r\n return result\r\n }\r\n get _templatesInfo() {\r\n return {}\r\n }\r\n _optionsWithDefaultTemplates(options) {\r\n var templateOptions = Object.entries(this._templatesInfo).reduce((result, _ref4) => {\r\n var _options$templateName;\r\n var [templateName, templateValue] = _ref4;\r\n return _extends({}, result, {\r\n [templateName]: null !== (_options$templateName = options[templateName]) && void 0 !== _options$templateName ? _options$templateName : templateValue\r\n })\r\n }, {});\r\n return _extends({}, options, templateOptions)\r\n }\r\n _init() {\r\n super._init();\r\n this.customKeyHandlers = {};\r\n this._actionsMap = {};\r\n this._aria = {};\r\n this._componentTemplates = {}\r\n }\r\n _createDefaultKeyHandlers() {\r\n var result = {};\r\n var keys = this.getSupportedKeyNames();\r\n keys.forEach(key => {\r\n result[key] = e => this.viewRef.keyDown(KeyboardProcessor.createKeyDownOptions(e))\r\n });\r\n return result\r\n }\r\n _addAction(event, actionToAdd) {\r\n var action = actionToAdd;\r\n if (!action) {\r\n var actionByOption = this._createActionByOption(event, this._getActionConfigsFull()[event]);\r\n action = actArgs => {\r\n Object.keys(actArgs).forEach(name => {\r\n if (isDefined(actArgs[name]) && domAdapter.isNode(actArgs[name])) {\r\n actArgs[name] = getPublicElement($(actArgs[name]))\r\n }\r\n });\r\n return actionByOption(actArgs)\r\n }\r\n }\r\n this._actionsMap[event] = action\r\n }\r\n _optionChanged(option) {\r\n var {\r\n fullName: fullName,\r\n name: name,\r\n previousValue: previousValue,\r\n value: value\r\n } = option;\r\n updatePropsImmutable(this._props, this.option(), name, fullName);\r\n if (this._propsInfo.templates.includes(name) && value !== previousValue) {\r\n this._componentTemplates[name] = this._createTemplateComponent(value)\r\n }\r\n if (name && this._getActionConfigsFull()[name]) {\r\n this._addAction(name)\r\n }\r\n this._shouldRaiseContentReady = this._shouldRaiseContentReady || this._checkContentReadyOption(fullName);\r\n super._optionChanged(option);\r\n this._invalidate()\r\n }\r\n _extractDefaultSlot() {\r\n if (this.option(\"_hasAnonymousTemplateContent\")) {\r\n return renderer.createElement(TemplateWrapper, {\r\n template: this._getTemplate(this._templateManager.anonymousTemplateName),\r\n transclude: true,\r\n renovated: true\r\n })\r\n }\r\n return null\r\n }\r\n _createTemplateComponent(templateOption) {\r\n if (!templateOption) {\r\n return\r\n }\r\n var template = this._getTemplate(templateOption);\r\n if (isString(template) && \"dx-renovation-template-mock\" === template) {\r\n return\r\n }\r\n return model => renderer.createElement(TemplateWrapper, buildTemplateArgs(model, template))\r\n }\r\n _wrapKeyDownHandler(initialHandler) {\r\n return options => {\r\n var {\r\n keyName: keyName,\r\n originalEvent: originalEvent,\r\n which: which\r\n } = options;\r\n var keys = this.customKeyHandlers;\r\n var func = keys[keyName] || keys[which];\r\n if (void 0 !== func) {\r\n var handler = func.bind(this);\r\n var result = handler(originalEvent, options);\r\n if (!result) {\r\n originalEvent.cancel = true;\r\n return originalEvent\r\n }\r\n }\r\n return null === initialHandler || void 0 === initialHandler ? void 0 : initialHandler(originalEvent, options)\r\n }\r\n }\r\n _toPublicElement(element) {\r\n return getPublicElement($(element))\r\n }\r\n _patchElementParam(value) {\r\n try {\r\n var result = $(value);\r\n var element = null === result || void 0 === result ? void 0 : result.get(0);\r\n return null !== element && void 0 !== element && element.nodeType ? element : value\r\n } catch (error) {\r\n return value\r\n }\r\n }\r\n repaint() {\r\n this._isNodeReplaced = false;\r\n this._shouldRaiseContentReady = true;\r\n this._removeWidget();\r\n this._refresh()\r\n }\r\n _supportedKeys() {\r\n return _extends({}, this.defaultKeyHandlers, this.customKeyHandlers)\r\n }\r\n registerKeyHandler(key, handler) {\r\n this.customKeyHandlers[key] = handler\r\n }\r\n setAria(name, value) {\r\n this._aria[name] = value;\r\n this._initMarkup()\r\n }\r\n _getViewComponentDefaultProps() {\r\n return this._viewComponent.defaultProps || {}\r\n }\r\n}\r\nComponentWrapper.IS_RENOVATED_WIDGET = false;\r\nComponentWrapper.IS_RENOVATED_WIDGET = true;\r\n","/**\r\n * DevExtreme (esm/ui/editor/editor.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n data\r\n} from \"../../core/element_data\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport ValidationEngine from \"../validation_engine\";\r\nimport EventsEngine from \"../../events/core/events_engine\";\r\nimport ValidationMessage from \"../validation_message\";\r\nimport Guid from \"../../core/guid\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n resetActiveElement\r\n} from \"../../core/utils/dom\";\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar READONLY_STATE_CLASS = \"dx-state-readonly\";\r\nvar INVALID_CLASS = \"dx-invalid\";\r\nvar DX_INVALID_BADGE_CLASS = \"dx-show-invalid-badge\";\r\nvar VALIDATION_TARGET = \"dx-validation-target\";\r\nvar VALIDATION_STATUS_VALID = \"valid\";\r\nvar VALIDATION_STATUS_INVALID = \"invalid\";\r\nvar READONLY_NAMESPACE = \"editorReadOnly\";\r\nvar ALLOWED_STYLING_MODES = [\"outlined\", \"filled\", \"underlined\"];\r\nvar VALIDATION_MESSAGE_KEYS_MAP = {\r\n validationMessageMode: \"mode\",\r\n validationMessagePosition: \"positionSide\",\r\n validationMessageOffset: \"offset\",\r\n validationBoundary: \"boundary\"\r\n};\r\nvar Editor = Widget.inherit({\r\n ctor: function() {\r\n this.showValidationMessageTimeout = null;\r\n this.validationRequest = Callbacks();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _createElement: function(element) {\r\n this.callBase(element);\r\n var $element = this.$element();\r\n if ($element) {\r\n data($element[0], VALIDATION_TARGET, this)\r\n }\r\n },\r\n _initOptions: function(options) {\r\n this.callBase.apply(this, arguments);\r\n this.option(ValidationEngine.initValidationOptions(options))\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._options.cache(\"validationTooltipOptions\", this.option(\"validationTooltipOptions\"));\r\n var $element = this.$element();\r\n $element.addClass(DX_INVALID_BADGE_CLASS)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: null,\r\n name: \"\",\r\n onValueChanged: null,\r\n readOnly: false,\r\n isValid: true,\r\n validationError: null,\r\n validationErrors: null,\r\n validationStatus: VALIDATION_STATUS_VALID,\r\n validationMessageMode: \"auto\",\r\n validationMessagePosition: \"bottom\",\r\n validationBoundary: void 0,\r\n validationMessageOffset: {\r\n h: 0,\r\n v: 0\r\n },\r\n validationTooltipOptions: {},\r\n _showValidationMessage: true\r\n })\r\n },\r\n _attachKeyboardEvents: function() {\r\n if (!this.option(\"readOnly\")) {\r\n this.callBase()\r\n }\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n validationError: true\r\n })\r\n },\r\n _createValueChangeAction: function() {\r\n this._valueChangeAction = this._createActionByOption(\"onValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _suppressValueChangeAction: function() {\r\n this._valueChangeActionSuppressed = true\r\n },\r\n _resumeValueChangeAction: function() {\r\n this._valueChangeActionSuppressed = false\r\n },\r\n _initMarkup: function() {\r\n var _this$option;\r\n this._toggleReadOnlyState();\r\n this._setSubmitElementName(this.option(\"name\"));\r\n this.callBase();\r\n this._renderValidationState();\r\n null === (_this$option = this.option(\"_onMarkupRendered\")) || void 0 === _this$option ? void 0 : _this$option()\r\n },\r\n _raiseValueChangeAction: function(value, previousValue) {\r\n if (!this._valueChangeAction) {\r\n this._createValueChangeAction()\r\n }\r\n this._valueChangeAction(this._valueChangeArgs(value, previousValue))\r\n },\r\n _valueChangeArgs: function(value, previousValue) {\r\n return {\r\n value: value,\r\n previousValue: previousValue,\r\n event: this._valueChangeEventInstance\r\n }\r\n },\r\n _saveValueChangeEvent: function(e) {\r\n this._valueChangeEventInstance = e\r\n },\r\n _focusInHandler: function(e) {\r\n var isValidationMessageShownOnFocus = \"auto\" === this.option(\"validationMessageMode\");\r\n if (this._canValueBeChangedByClick() && isValidationMessageShownOnFocus) {\r\n var _this$_validationMess;\r\n var $validationMessageWrapper = null === (_this$_validationMess = this._validationMessage) || void 0 === _this$_validationMess ? void 0 : _this$_validationMess.$wrapper();\r\n null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.removeClass(INVALID_MESSAGE_AUTO);\r\n clearTimeout(this.showValidationMessageTimeout);\r\n this.showValidationMessageTimeout = setTimeout(() => null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.addClass(INVALID_MESSAGE_AUTO), 150)\r\n }\r\n return this.callBase(e)\r\n },\r\n _canValueBeChangedByClick: function() {\r\n return false\r\n },\r\n _getStylingModePrefix: function() {\r\n return \"dx-editor-\"\r\n },\r\n _renderStylingMode: function() {\r\n var optionValue = this.option(\"stylingMode\");\r\n var prefix = this._getStylingModePrefix();\r\n var allowedStylingClasses = ALLOWED_STYLING_MODES.map(mode => prefix + mode);\r\n allowedStylingClasses.forEach(className => this.$element().removeClass(className));\r\n var stylingModeClass = prefix + optionValue;\r\n if (-1 === allowedStylingClasses.indexOf(stylingModeClass)) {\r\n var defaultOptionValue = this._getDefaultOptions().stylingMode;\r\n var platformOptionValue = this._convertRulesToOptions(this._defaultOptionsRules()).stylingMode;\r\n stylingModeClass = prefix + (platformOptionValue || defaultOptionValue)\r\n }\r\n this.$element().addClass(stylingModeClass)\r\n },\r\n _getValidationErrors: function() {\r\n var validationErrors = this.option(\"validationErrors\");\r\n if (!validationErrors && this.option(\"validationError\")) {\r\n validationErrors = [this.option(\"validationError\")]\r\n }\r\n return validationErrors\r\n },\r\n _disposeValidationMessage: function() {\r\n if (this._$validationMessage) {\r\n this._$validationMessage.remove();\r\n this.setAria(\"describedby\", null);\r\n this._$validationMessage = void 0;\r\n this._validationMessage = void 0\r\n }\r\n },\r\n _toggleValidationClasses: function(isInvalid) {\r\n this.$element().toggleClass(INVALID_CLASS, isInvalid);\r\n this.setAria(VALIDATION_STATUS_INVALID, isInvalid || void 0)\r\n },\r\n _renderValidationState: function() {\r\n var isValid = this.option(\"isValid\") && this.option(\"validationStatus\") !== VALIDATION_STATUS_INVALID;\r\n var validationErrors = this._getValidationErrors();\r\n var $element = this.$element();\r\n this._toggleValidationClasses(!isValid);\r\n if (!hasWindow() || false === this.option(\"_showValidationMessage\")) {\r\n return\r\n }\r\n this._disposeValidationMessage();\r\n if (!isValid && validationErrors) {\r\n var {\r\n validationMessageMode: validationMessageMode,\r\n validationMessageOffset: validationMessageOffset,\r\n validationBoundary: validationBoundary,\r\n rtlEnabled: rtlEnabled\r\n } = this.option();\r\n this._$validationMessage = $(\"<div>\").appendTo($element);\r\n var validationMessageContentId = \"dx-\".concat(new Guid);\r\n this.setAria(\"describedby\", validationMessageContentId);\r\n this._validationMessage = new ValidationMessage(this._$validationMessage, extend({\r\n validationErrors: validationErrors,\r\n rtlEnabled: rtlEnabled,\r\n target: this._getValidationMessageTarget(),\r\n visualContainer: $element,\r\n mode: validationMessageMode,\r\n positionSide: this._getValidationMessagePosition(),\r\n offset: validationMessageOffset,\r\n boundary: validationBoundary,\r\n contentId: validationMessageContentId\r\n }, this._options.cache(\"validationTooltipOptions\")));\r\n this._bindInnerWidgetOptions(this._validationMessage, \"validationTooltipOptions\")\r\n }\r\n },\r\n _getValidationMessagePosition: function() {\r\n return this.option(\"validationMessagePosition\")\r\n },\r\n _getValidationMessageTarget: function() {\r\n return this.$element()\r\n },\r\n _toggleReadOnlyState: function() {\r\n var readOnly = this.option(\"readOnly\");\r\n this._toggleBackspaceHandler(readOnly);\r\n this.$element().toggleClass(READONLY_STATE_CLASS, !!readOnly);\r\n this.setAria(\"readonly\", readOnly || void 0)\r\n },\r\n _toggleBackspaceHandler: function(isReadOnly) {\r\n var $eventTarget = this._keyboardEventBindingTarget();\r\n var eventName = addNamespace(\"keydown\", READONLY_NAMESPACE);\r\n EventsEngine.off($eventTarget, eventName);\r\n if (isReadOnly) {\r\n EventsEngine.on($eventTarget, eventName, e => {\r\n if (\"backspace\" === normalizeKeyName(e)) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n },\r\n _dispose: function() {\r\n var element = this.$element()[0];\r\n data(element, VALIDATION_TARGET, null);\r\n clearTimeout(this.showValidationMessageTimeout);\r\n this._disposeValidationMessage();\r\n this.callBase()\r\n },\r\n _setSubmitElementName: function(name) {\r\n var $submitElement = this._getSubmitElement();\r\n if (!$submitElement) {\r\n return\r\n }\r\n if (name.length > 0) {\r\n $submitElement.attr(\"name\", name)\r\n } else {\r\n $submitElement.removeAttr(\"name\")\r\n }\r\n },\r\n _getSubmitElement: function() {\r\n return null\r\n },\r\n _setValidationMessageOption: function(_ref) {\r\n var _this$_validationMess2;\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n var optionKey = VALIDATION_MESSAGE_KEYS_MAP[name] ? VALIDATION_MESSAGE_KEYS_MAP[name] : name;\r\n null === (_this$_validationMess2 = this._validationMessage) || void 0 === _this$_validationMess2 ? void 0 : _this$_validationMess2.option(optionKey, value)\r\n },\r\n _hasActiveElement: noop,\r\n _optionChanged: function(args) {\r\n var _this$_validationMess3;\r\n switch (args.name) {\r\n case \"onValueChanged\":\r\n this._createValueChangeAction();\r\n break;\r\n case \"readOnly\":\r\n this._toggleReadOnlyState();\r\n this._refreshFocusState();\r\n break;\r\n case \"value\":\r\n if (args.value != args.previousValue) {\r\n this.validationRequest.fire({\r\n value: args.value,\r\n editor: this\r\n })\r\n }\r\n if (!this._valueChangeActionSuppressed) {\r\n this._raiseValueChangeAction(args.value, args.previousValue);\r\n this._saveValueChangeEvent(void 0)\r\n }\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n null === (_this$_validationMess3 = this._validationMessage) || void 0 === _this$_validationMess3 ? void 0 : _this$_validationMess3.updateMaxWidth();\r\n break;\r\n case \"name\":\r\n this._setSubmitElementName(args.value);\r\n break;\r\n case \"isValid\":\r\n case \"validationError\":\r\n case \"validationErrors\":\r\n case \"validationStatus\":\r\n this.option(ValidationEngine.synchronizeValidationOptions(args, this.option()));\r\n this._renderValidationState();\r\n break;\r\n case \"validationBoundary\":\r\n case \"validationMessageMode\":\r\n case \"validationMessagePosition\":\r\n case \"validationMessageOffset\":\r\n this._setValidationMessageOption(args);\r\n break;\r\n case \"rtlEnabled\":\r\n this._setValidationMessageOption(args);\r\n this.callBase(args);\r\n break;\r\n case \"validationTooltipOptions\":\r\n this._innerWidgetOptionChanged(this._validationMessage, args);\r\n break;\r\n case \"_showValidationMessage\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n blur: function() {\r\n if (this._hasActiveElement()) {\r\n resetActiveElement()\r\n }\r\n },\r\n reset: function() {\r\n var defaultOptions = this._getDefaultOptions();\r\n this.option(\"value\", defaultOptions.value)\r\n }\r\n});\r\nEditor.isEditor = instance => instance instanceof Editor;\r\nexport default Editor;\r\n","/**\r\n * DevExtreme (esm/renovation/utils/subscribe_to_event.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport * as clickEvent from \"../../events/click\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport scrollEvents from \"../../events/gesture/emitter.gesture.scroll\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nexport function subscribeToEvent(eventName) {\r\n return (element, handler, eventData, namespace) => {\r\n var event = namespace ? addNamespace(eventName, namespace) : eventName;\r\n if (handler) {\r\n eventsEngine.on(element, event, eventData, handler);\r\n return () => {\r\n eventsEngine.off(element, event, handler)\r\n }\r\n }\r\n return\r\n }\r\n}\r\nexport var subscribeToClickEvent = subscribeToEvent(clickEvent.name);\r\nexport var subscribeToScrollEvent = subscribeToEvent(scrollEvents.scroll);\r\nexport var subscribeToScrollInitEvent = subscribeToEvent(scrollEvents.init);\r\nexport var subscribeToDXScrollStartEvent = subscribeToEvent(scrollEvents.start);\r\nexport var subscribeToDXScrollMoveEvent = subscribeToEvent(scrollEvents.move);\r\nexport var subscribeToDXScrollEndEvent = subscribeToEvent(scrollEvents.end);\r\nexport var subscribeToDXScrollStopEvent = subscribeToEvent(scrollEvents.stop);\r\nexport var subscribeToDXScrollCancelEvent = subscribeToEvent(scrollEvents.cancel);\r\nexport var subscribeToDXPointerDownEvent = subscribeToEvent(pointerEvents.down);\r\nexport var subscribeToDXPointerUpEvent = subscribeToEvent(pointerEvents.up);\r\nexport var subscribeToDXPointerMoveEvent = subscribeToEvent(pointerEvents.move);\r\nexport var subscribeToMouseEnterEvent = subscribeToEvent(\"mouseenter\");\r\nexport var subscribeToMouseLeaveEvent = subscribeToEvent(\"mouseleave\");\r\nexport var subscribeToKeyDownEvent = subscribeToEvent(\"keydown\");\r\nexport var subscribeToDxActiveEvent = subscribeToEvent(\"dxactive\");\r\nexport var subscribeToDxInactiveEvent = subscribeToEvent(\"dxinactive\");\r\nexport var subscribeToDxHoverStartEvent = subscribeToEvent(\"dxhoverstart\");\r\nexport var subscribeToDxHoverEndEvent = subscribeToEvent(\"dxhoverend\");\r\nexport var subscribeToDxFocusInEvent = subscribeToEvent(\"focusin\");\r\nexport var subscribeToDxFocusOutEvent = subscribeToEvent(\"focusout\");\r\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.at` method\n// https://tc39.es/ecma262/#sec-array.prototype.at\n$({ target: 'Array', proto: true }, {\n at: function at(index) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : O[k];\n }\n});\n\naddToUnscopables('at');\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-icon',\n\n functional: true,\n\n render (h, { data, children }): VNode {\n data.staticClass = (`v-list-item__icon ${data.staticClass || ''}`).trim()\n\n return h('div', data, children)\n },\n})\n","/**\r\n * DevExtreme (esm/core/utils/version.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function compare(x, y, maxLevel) {\r\n function normalizeArg(value) {\r\n if (\"string\" === typeof value) {\r\n return value.split(\".\")\r\n }\r\n if (\"number\" === typeof value) {\r\n return [value]\r\n }\r\n return value\r\n }\r\n x = normalizeArg(x);\r\n y = normalizeArg(y);\r\n var length = Math.max(x.length, y.length);\r\n if (isFinite(maxLevel)) {\r\n length = Math.min(length, maxLevel)\r\n }\r\n for (var i = 0; i < length; i++) {\r\n var xItem = parseInt(x[i] || 0, 10);\r\n var yItem = parseInt(y[i] || 0, 10);\r\n if (xItem < yItem) {\r\n return -1\r\n }\r\n if (xItem > yItem) {\r\n return 1\r\n }\r\n }\r\n return 0\r\n}\r\n","import VChip from './VChip'\n\nexport { VChip }\nexport default VChip\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","var angle;\n\nangle = {\n rad: {\n name: {\n singular: 'radian'\n , plural: 'radians'\n }\n , to_anchor: 180/Math.PI\n }\n, deg: {\n name: {\n singular: 'degree'\n , plural: 'degrees'\n }\n , to_anchor: 1\n }\n, grad: {\n name: {\n singular: 'gradian'\n , plural: 'gradians'\n }\n , to_anchor: 9/10\n }\n, arcmin: {\n name: {\n singular: 'arcminute'\n , plural: 'arcminutes'\n }\n , to_anchor: 1/60\n }\n, arcsec: {\n name: {\n singular: 'arcsecond'\n , plural: 'arcseconds'\n }\n , to_anchor: 1/3600\n }\n};\n\nmodule.exports = {\n metric: angle\n, _anchors: {\n metric: {\n unit: 'deg'\n , ratio: 1\n }\n }\n};\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TemplatesManager = void 0;\nvar config_1 = require(\"./config\");\nvar templates_discovering_1 = require(\"./templates-discovering\");\nvar dom_adapter_1 = __importDefault(require(\"devextreme/core/dom_adapter\"));\nvar events_1 = require(\"devextreme/events\");\nvar constants_1 = require(\"./constants\");\nvar helpers_1 = require(\"./helpers\");\nvar TemplatesManager = /** @class */ (function () {\n function TemplatesManager(component) {\n this._slots = {};\n this._templates = {};\n this._isDirty = false;\n this._component = component;\n this.discover();\n }\n TemplatesManager.prototype.discover = function () {\n var slots = (0, templates_discovering_1.discover)(this._component);\n this._slots = __assign(__assign({}, this._slots), slots);\n if (!(0, helpers_1.allKeysAreEqual)(this._templates, slots)) {\n this._prepareTemplates();\n }\n };\n Object.defineProperty(TemplatesManager.prototype, \"templates\", {\n get: function () {\n return this._templates;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TemplatesManager.prototype, \"isDirty\", {\n get: function () {\n return this._isDirty;\n },\n enumerable: false,\n configurable: true\n });\n TemplatesManager.prototype.resetDirtyFlag = function () {\n this._isDirty = false;\n };\n TemplatesManager.prototype._prepareTemplates = function () {\n this._templates = {};\n for (var _i = 0, _a = Object.keys(this._slots); _i < _a.length; _i++) {\n var name_1 = _a[_i];\n this._templates[name_1] = this.createDxTemplate(name_1);\n }\n this._isDirty = true;\n };\n TemplatesManager.prototype.createDxTemplate = function (name) {\n var _this = this;\n return {\n render: function (data) {\n var scopeData = (0, config_1.getOption)(\"useLegacyTemplateEngine\")\n ? data.model\n : { data: data.model, index: data.index };\n var container = data.container.get ? data.container.get(0) : data.container;\n var placeholder = document.createElement(\"div\");\n container.appendChild(placeholder);\n var mountedTemplate = (0, templates_discovering_1.mountTemplate)(function () { return _this._slots[name]; }, _this._component, scopeData, name, placeholder);\n var element = mountedTemplate.$el;\n dom_adapter_1.default.setClass(element, constants_1.DX_TEMPLATE_WRAPPER_CLASS, true);\n if (element.nodeType === Node.TEXT_NODE) {\n var removalListener = document.createElement(container.nodeName === \"TABLE\" ? \"tbody\" : \"span\");\n removalListener.style.display = \"none\";\n container.appendChild(removalListener);\n (0, events_1.one)(removalListener, constants_1.DX_REMOVE_EVENT, mountedTemplate.$destroy.bind(mountedTemplate));\n }\n else {\n (0, events_1.one)(element, constants_1.DX_REMOVE_EVENT, mountedTemplate.$destroy.bind(mountedTemplate));\n }\n return element;\n }\n };\n };\n return TemplatesManager;\n}());\nexports.TemplatesManager = TemplatesManager;\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator_menu_helper.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar EditDecoratorMenuHelperMixin = {\r\n _menuEnabled: function() {\r\n return !!this._menuItems().length\r\n },\r\n _menuItems: function() {\r\n return this._list.option(\"menuItems\")\r\n },\r\n _deleteEnabled: function() {\r\n return this._list.option(\"allowItemDeleting\")\r\n },\r\n _fireMenuAction: function($itemElement, action) {\r\n this._list._itemEventHandlerByHandler($itemElement, action, {}, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }\r\n};\r\nexport default EditDecoratorMenuHelperMixin;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.context.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight,\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport EditDecoratorMenuHelperMixin from \"./ui.list.edit.decorator_menu_helper\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport {\r\n ListBase\r\n} from \"./ui.list.base\";\r\nvar CONTEXTMENU_CLASS = \"dx-list-context-menu\";\r\nvar CONTEXTMENU_MENUCONTENT_CLASS = \"dx-list-context-menucontent\";\r\nregisterDecorator(\"menu\", \"context\", EditDecorator.inherit({\r\n _init: function() {\r\n var $menu = $(\"<div>\").addClass(CONTEXTMENU_CLASS);\r\n this._list.$element().append($menu);\r\n this._menu = this._renderOverlay($menu)\r\n },\r\n _renderOverlay: function($element) {\r\n return this._list._createComponent($element, Overlay, {\r\n shading: false,\r\n deferRendering: true,\r\n hideOnParentScroll: true,\r\n hideOnOutsideClick: function(e) {\r\n return !$(e.target).closest(\".\" + CONTEXTMENU_CLASS).length\r\n },\r\n animation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 300,\r\n from: {\r\n height: 0,\r\n opacity: 1\r\n },\r\n to: {\r\n height: function() {\r\n return getOuterHeight(this._$menuList)\r\n }.bind(this),\r\n opacity: 1\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 0,\r\n from: {\r\n opacity: 1\r\n },\r\n to: {\r\n opacity: 0\r\n }\r\n }\r\n },\r\n _ignoreFunctionValueDeprecation: true,\r\n height: function() {\r\n return this._$menuList ? getOuterHeight(this._$menuList) : 0\r\n }.bind(this),\r\n width: function() {\r\n return getOuterWidth(this._list.$element())\r\n }.bind(this),\r\n onContentReady: this._renderMenuContent.bind(this)\r\n })\r\n },\r\n _renderMenuContent: function(e) {\r\n var $overlayContent = e.component.$content();\r\n var items = this._menuItems().slice();\r\n if (this._deleteEnabled()) {\r\n items.push({\r\n text: messageLocalization.format(\"dxListEditDecorator-delete\"),\r\n action: this._deleteItem.bind(this)\r\n })\r\n }\r\n this._$menuList = $(\"<div>\");\r\n this._list._createComponent(this._$menuList, ListBase, {\r\n items: items,\r\n onItemClick: this._menuItemClickHandler.bind(this),\r\n height: \"auto\",\r\n integrationOptions: {}\r\n });\r\n $overlayContent.addClass(CONTEXTMENU_MENUCONTENT_CLASS);\r\n $overlayContent.append(this._$menuList)\r\n },\r\n _menuItemClickHandler: function(args) {\r\n this._menu.hide();\r\n this._fireMenuAction(this._$itemWithMenu, args.itemData.action)\r\n },\r\n _deleteItem: function() {\r\n this._list.deleteItem(this._$itemWithMenu)\r\n },\r\n handleContextMenu: function($itemElement) {\r\n this._$itemWithMenu = $itemElement;\r\n this._menu.option({\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: $itemElement,\r\n collision: \"flip\"\r\n }\r\n });\r\n this._menu.show();\r\n return true\r\n },\r\n dispose: function() {\r\n if (this._menu) {\r\n this._menu.$element().remove()\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n}).include(EditDecoratorMenuHelperMixin));\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.switchable.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight,\r\n setHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nvar abstract = EditDecorator.abstract;\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n active\r\n} from \"../../events/core/emitter.feedback\";\r\nvar LIST_EDIT_DECORATOR = \"dxListEditDecorator\";\r\nvar POINTER_DOWN_EVENT_NAME = addNamespace(pointerEvents.down, LIST_EDIT_DECORATOR);\r\nvar ACTIVE_EVENT_NAME = addNamespace(active, LIST_EDIT_DECORATOR);\r\nvar LIST_ITEM_CONTENT_CLASS = \"dx-list-item-content\";\r\nvar SWITCHABLE_DELETE_READY_CLASS = \"dx-list-switchable-delete-ready\";\r\nvar SWITCHABLE_MENU_SHIELD_POSITIONING_CLASS = \"dx-list-switchable-menu-shield-positioning\";\r\nvar SWITCHABLE_DELETE_TOP_SHIELD_CLASS = \"dx-list-switchable-delete-top-shield\";\r\nvar SWITCHABLE_DELETE_BOTTOM_SHIELD_CLASS = \"dx-list-switchable-delete-bottom-shield\";\r\nvar SWITCHABLE_MENU_ITEM_SHIELD_POSITIONING_CLASS = \"dx-list-switchable-menu-item-shield-positioning\";\r\nvar SWITCHABLE_DELETE_ITEM_CONTENT_SHIELD_CLASS = \"dx-list-switchable-delete-item-content-shield\";\r\nvar SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS = \"dx-list-switchable-delete-button-container\";\r\nvar SwitchableEditDecorator = EditDecorator.inherit({\r\n _init: function() {\r\n this._$topShield = $(\"<div>\").addClass(SWITCHABLE_DELETE_TOP_SHIELD_CLASS);\r\n this._$bottomShield = $(\"<div>\").addClass(SWITCHABLE_DELETE_BOTTOM_SHIELD_CLASS);\r\n this._$itemContentShield = $(\"<div>\").addClass(SWITCHABLE_DELETE_ITEM_CONTENT_SHIELD_CLASS);\r\n eventsEngine.on(this._$topShield, POINTER_DOWN_EVENT_NAME, this._cancelDeleteReadyItem.bind(this));\r\n eventsEngine.on(this._$bottomShield, POINTER_DOWN_EVENT_NAME, this._cancelDeleteReadyItem.bind(this));\r\n this._list.$element().append(this._$topShield.toggle(false)).append(this._$bottomShield.toggle(false))\r\n },\r\n handleClick: function() {\r\n return this._cancelDeleteReadyItem()\r\n },\r\n _cancelDeleteReadyItem: function() {\r\n if (!this._$readyToDeleteItem) {\r\n return false\r\n }\r\n this._cancelDelete(this._$readyToDeleteItem);\r\n return true\r\n },\r\n _cancelDelete: function($itemElement) {\r\n this._toggleDeleteReady($itemElement, false)\r\n },\r\n _toggleDeleteReady: function($itemElement, readyToDelete) {\r\n if (void 0 === readyToDelete) {\r\n readyToDelete = !this._isReadyToDelete($itemElement)\r\n }\r\n this._toggleShields($itemElement, readyToDelete);\r\n this._toggleScrolling(readyToDelete);\r\n this._cacheReadyToDeleteItem($itemElement, readyToDelete);\r\n this._animateToggleDelete($itemElement, readyToDelete)\r\n },\r\n _isReadyToDelete: function($itemElement) {\r\n return $itemElement.hasClass(SWITCHABLE_DELETE_READY_CLASS)\r\n },\r\n _toggleShields: function($itemElement, enabled) {\r\n this._list.$element().toggleClass(SWITCHABLE_MENU_SHIELD_POSITIONING_CLASS, enabled);\r\n this._$topShield.toggle(enabled);\r\n this._$bottomShield.toggle(enabled);\r\n if (enabled) {\r\n this._updateShieldsHeight($itemElement)\r\n }\r\n this._toggleContentShield($itemElement, enabled)\r\n },\r\n _updateShieldsHeight: function($itemElement) {\r\n var $list = this._list.$element();\r\n var listTopOffset = $list.offset().top;\r\n var listHeight = getOuterHeight($list);\r\n var itemTopOffset = $itemElement.offset().top;\r\n var itemHeight = getOuterHeight($itemElement);\r\n var dirtyTopShieldHeight = itemTopOffset - listTopOffset;\r\n var dirtyBottomShieldHeight = listHeight - itemHeight - dirtyTopShieldHeight;\r\n setHeight(this._$topShield, Math.max(dirtyTopShieldHeight, 0));\r\n setHeight(this._$bottomShield, Math.max(dirtyBottomShieldHeight, 0))\r\n },\r\n _toggleContentShield: function($itemElement, enabled) {\r\n if (enabled) {\r\n $itemElement.find(\".\" + LIST_ITEM_CONTENT_CLASS).first().append(this._$itemContentShield)\r\n } else {\r\n this._$itemContentShield.detach()\r\n }\r\n },\r\n _toggleScrolling: function(readyToDelete) {\r\n var scrollView = this._list.$element().dxScrollView(\"instance\");\r\n if (readyToDelete) {\r\n scrollView.on(\"start\", this._cancelScrolling)\r\n } else {\r\n scrollView.off(\"start\", this._cancelScrolling)\r\n }\r\n },\r\n _cancelScrolling: function(args) {\r\n args.event.cancel = true\r\n },\r\n _cacheReadyToDeleteItem: function($itemElement, cache) {\r\n if (cache) {\r\n this._$readyToDeleteItem = $itemElement\r\n } else {\r\n delete this._$readyToDeleteItem\r\n }\r\n },\r\n _animateToggleDelete: function($itemElement, readyToDelete) {\r\n if (readyToDelete) {\r\n this._enablePositioning($itemElement);\r\n this._prepareDeleteReady($itemElement);\r\n this._animatePrepareDeleteReady($itemElement);\r\n eventsEngine.off($itemElement, pointerEvents.up)\r\n } else {\r\n this._forgetDeleteReady($itemElement);\r\n this._animateForgetDeleteReady($itemElement).done(this._disablePositioning.bind(this, $itemElement))\r\n }\r\n },\r\n _enablePositioning: function($itemElement) {\r\n $itemElement.addClass(SWITCHABLE_MENU_ITEM_SHIELD_POSITIONING_CLASS);\r\n eventsEngine.on($itemElement, ACTIVE_EVENT_NAME, noop);\r\n eventsEngine.one($itemElement, pointerEvents.up, this._disablePositioning.bind(this, $itemElement))\r\n },\r\n _disablePositioning: function($itemElement) {\r\n $itemElement.removeClass(SWITCHABLE_MENU_ITEM_SHIELD_POSITIONING_CLASS);\r\n eventsEngine.off($itemElement, ACTIVE_EVENT_NAME)\r\n },\r\n _prepareDeleteReady: function($itemElement) {\r\n $itemElement.addClass(SWITCHABLE_DELETE_READY_CLASS)\r\n },\r\n _forgetDeleteReady: function($itemElement) {\r\n $itemElement.removeClass(SWITCHABLE_DELETE_READY_CLASS)\r\n },\r\n _animatePrepareDeleteReady: abstract,\r\n _animateForgetDeleteReady: abstract,\r\n _getDeleteButtonContainer: function($itemElement) {\r\n $itemElement = $itemElement || this._$readyToDeleteItem;\r\n return $itemElement.children(\".\" + SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS)\r\n },\r\n _deleteItem: function($itemElement) {\r\n $itemElement = $itemElement || this._$readyToDeleteItem;\r\n this._getDeleteButtonContainer($itemElement).detach();\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n this._list.deleteItem($itemElement).always(this._cancelDelete.bind(this, $itemElement))\r\n },\r\n _isRtlEnabled: function() {\r\n return this._list.option(\"rtlEnabled\")\r\n },\r\n dispose: function() {\r\n if (this._$topShield) {\r\n this._$topShield.remove()\r\n }\r\n if (this._$bottomShield) {\r\n this._$bottomShield.remove()\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n});\r\nexport default SwitchableEditDecorator;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.switchable.button.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport fx from \"../../animation/fx\";\r\nimport Button from \"../button\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport SwitchableEditDecorator from \"./ui.list.edit.decorator.switchable\";\r\nvar SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS = \"dx-list-switchable-delete-button-container\";\r\nvar SWITCHABLE_DELETE_BUTTON_WRAPPER_CLASS = \"dx-list-switchable-delete-button-wrapper\";\r\nvar SWITCHABLE_DELETE_BUTTON_INNER_WRAPPER_CLASS = \"dx-list-switchable-delete-button-inner-wrapper\";\r\nvar SWITCHABLE_DELETE_BUTTON_CLASS = \"dx-list-switchable-delete-button\";\r\nvar SWITCHABLE_DELETE_BUTTON_ANIMATION_DURATION = 200;\r\nvar SwitchableButtonEditDecorator = SwitchableEditDecorator.inherit({\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n var $buttonContainer = $(\"<div>\").addClass(SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS);\r\n var $buttonWrapper = $(\"<div>\").addClass(SWITCHABLE_DELETE_BUTTON_WRAPPER_CLASS);\r\n var $buttonInnerWrapper = $(\"<div>\").addClass(SWITCHABLE_DELETE_BUTTON_INNER_WRAPPER_CLASS);\r\n var $button = $(\"<div>\").addClass(SWITCHABLE_DELETE_BUTTON_CLASS);\r\n this._list._createComponent($button, Button, {\r\n text: messageLocalization.format(\"dxListEditDecorator-delete\"),\r\n type: \"danger\",\r\n onClick: function(e) {\r\n this._deleteItem();\r\n e.event.stopPropagation()\r\n }.bind(this),\r\n integrationOptions: {}\r\n });\r\n $buttonContainer.append($buttonWrapper);\r\n $buttonWrapper.append($buttonInnerWrapper);\r\n $buttonInnerWrapper.append($button);\r\n this._$buttonContainer = $buttonContainer\r\n },\r\n _enablePositioning: function($itemElement) {\r\n this.callBase.apply(this, arguments);\r\n fx.stop(this._$buttonContainer, true);\r\n this._$buttonContainer.appendTo($itemElement)\r\n },\r\n _disablePositioning: function() {\r\n this.callBase.apply(this, arguments);\r\n this._$buttonContainer.detach()\r\n },\r\n _animatePrepareDeleteReady: function() {\r\n var rtl = this._isRtlEnabled();\r\n var listWidth = getWidth(this._list.$element());\r\n var buttonWidth = this._buttonWidth();\r\n var fromValue = rtl ? listWidth : -buttonWidth;\r\n var toValue = rtl ? listWidth - buttonWidth : 0;\r\n return fx.animate(this._$buttonContainer, {\r\n type: \"custom\",\r\n duration: SWITCHABLE_DELETE_BUTTON_ANIMATION_DURATION,\r\n from: {\r\n right: fromValue\r\n },\r\n to: {\r\n right: toValue\r\n }\r\n })\r\n },\r\n _animateForgetDeleteReady: function() {\r\n var rtl = this._isRtlEnabled();\r\n var listWidth = getWidth(this._list.$element());\r\n var buttonWidth = this._buttonWidth();\r\n var fromValue = rtl ? listWidth - buttonWidth : 0;\r\n var toValue = rtl ? listWidth : -buttonWidth;\r\n return fx.animate(this._$buttonContainer, {\r\n type: \"custom\",\r\n duration: SWITCHABLE_DELETE_BUTTON_ANIMATION_DURATION,\r\n from: {\r\n right: fromValue\r\n },\r\n to: {\r\n right: toValue\r\n }\r\n })\r\n },\r\n _buttonWidth: function() {\r\n if (!this._buttonContainerWidth) {\r\n this._buttonContainerWidth = getOuterWidth(this._$buttonContainer)\r\n }\r\n return this._buttonContainerWidth\r\n },\r\n dispose: function() {\r\n if (this._$buttonContainer) {\r\n this._$buttonContainer.remove()\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n});\r\nvar TOGGLE_DELETE_SWITCH_CONTAINER_CLASS = \"dx-list-toggle-delete-switch-container\";\r\nvar TOGGLE_DELETE_SWITCH_CLASS = \"dx-list-toggle-delete-switch\";\r\nregisterDecorator(\"delete\", \"toggle\", SwitchableButtonEditDecorator.inherit({\r\n beforeBag: function(config) {\r\n var $itemElement = config.$itemElement;\r\n var $container = config.$container;\r\n var $toggle = $(\"<div>\").addClass(TOGGLE_DELETE_SWITCH_CLASS);\r\n this._list._createComponent($toggle, Button, {\r\n icon: \"toggle-delete\",\r\n onClick: function(e) {\r\n fx.stop(this._$buttonContainer, false);\r\n this._toggleDeleteReady($itemElement);\r\n e.event.stopPropagation()\r\n }.bind(this),\r\n integrationOptions: {}\r\n });\r\n $container.addClass(TOGGLE_DELETE_SWITCH_CONTAINER_CLASS);\r\n $container.append($toggle)\r\n }\r\n}));\r\nregisterDecorator(\"delete\", \"slideButton\", SwitchableButtonEditDecorator.inherit({\r\n _shouldHandleSwipe: true,\r\n _swipeEndHandler: function($itemElement, args) {\r\n if (0 !== args.targetOffset) {\r\n fx.stop(this._$buttonContainer, false);\r\n this._toggleDeleteReady($itemElement)\r\n }\r\n return true\r\n }\r\n}));\r\nexport default SwitchableButtonEditDecorator;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/resizable/utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isWindow\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n getOuterWidth,\r\n getInnerWidth,\r\n getOuterHeight,\r\n getInnerHeight,\r\n getOffset\r\n} from \"../../../core/utils/size\";\r\nexport var borderWidthStyles = {\r\n left: \"borderLeftWidth\",\r\n top: \"borderTopWidth\",\r\n right: \"borderRightWidth\",\r\n bottom: \"borderBottomWidth\"\r\n};\r\n\r\nfunction getBorderWidth(el, direction) {\r\n if (!isWindow(el)) {\r\n var borderWidth = el.style[borderWidthStyles[direction]];\r\n return parseInt(borderWidth, 10) || 0\r\n }\r\n return 0\r\n}\r\nvar correctGeometry = function(area, mainEl) {\r\n var el = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : void 0;\r\n var {\r\n height: height,\r\n offset: offset,\r\n width: width\r\n } = area;\r\n var {\r\n left: left,\r\n top: top\r\n } = offset;\r\n var areaBorderLeft = el ? getBorderWidth(el, \"left\") : 0;\r\n var areaBorderTop = el ? getBorderWidth(el, \"top\") : 0;\r\n return {\r\n width: width - getOuterWidth(mainEl) - getInnerWidth(mainEl),\r\n height: height - getOuterHeight(mainEl) - getInnerHeight(mainEl),\r\n offset: {\r\n left: left + areaBorderLeft + getBorderWidth(mainEl, \"left\"),\r\n top: top + areaBorderTop + getBorderWidth(mainEl, \"top\")\r\n }\r\n }\r\n};\r\nexport var getAreaFromElement = (el, mainEl) => correctGeometry({\r\n width: getInnerWidth(el),\r\n height: getInnerHeight(el),\r\n offset: extend({\r\n top: 0,\r\n left: 0\r\n }, isWindow(el) ? {} : getOffset(el))\r\n}, mainEl, el);\r\nexport var getAreaFromObject = (_ref, mainEl) => {\r\n var {\r\n bottom: bottom,\r\n left: left,\r\n right: right,\r\n top: top\r\n } = _ref;\r\n return correctGeometry({\r\n width: right - left,\r\n height: bottom - top,\r\n offset: {\r\n left: left,\r\n top: top\r\n }\r\n }, mainEl)\r\n};\r\nexport var getMovingSides = el => {\r\n var {\r\n className: className\r\n } = el;\r\n var hasCornerTopLeftClass = className.includes(\"dx-resizable-handle-corner-top-left\");\r\n var hasCornerTopRightClass = className.includes(\"dx-resizable-handle-corner-top-right\");\r\n var hasCornerBottomLeftClass = className.includes(\"dx-resizable-handle-corner-bottom-left\");\r\n var hasCornerBottomRightClass = className.includes(\"dx-resizable-handle-corner-bottom-right\");\r\n return {\r\n top: className.includes(\"dx-resizable-handle-top\") || hasCornerTopLeftClass || hasCornerTopRightClass,\r\n left: className.includes(\"dx-resizable-handle-left\") || hasCornerTopLeftClass || hasCornerBottomLeftClass,\r\n bottom: className.includes(\"dx-resizable-handle-bottom\") || hasCornerBottomLeftClass || hasCornerBottomRightClass,\r\n right: className.includes(\"dx-resizable-handle-right\") || hasCornerTopRightClass || hasCornerBottomRightClass\r\n }\r\n};\r\nexport function getDragOffsets(area, handleEl, areaProp) {\r\n var hWidth = getOuterWidth(handleEl);\r\n var hHeight = getOuterHeight(handleEl);\r\n var hOffset = getOffset(handleEl);\r\n var areaOffset = area.offset;\r\n var isAreaWindow = isWindow(areaProp);\r\n var scrollOffset_scrollX = isAreaWindow ? areaProp.pageXOffset : 0,\r\n scrollOffset_scrollY = isAreaWindow ? areaProp.pageYOffset : 0;\r\n return {\r\n maxLeftOffset: hOffset.left - areaOffset.left - scrollOffset_scrollX,\r\n maxRightOffset: areaOffset.left + area.width - hOffset.left - hWidth + scrollOffset_scrollX,\r\n maxTopOffset: hOffset.top - areaOffset.top - scrollOffset_scrollY,\r\n maxBottomOffset: areaOffset.top + area.height - hOffset.top - hHeight + scrollOffset_scrollY\r\n }\r\n}\r\nexport var filterOffsets = (offset, handleEl) => {\r\n var sides = getMovingSides(handleEl);\r\n var offsetX = !sides.left && !sides.right ? 0 : offset.x;\r\n var offsetY = !sides.top && !sides.bottom ? 0 : offset.y;\r\n return {\r\n x: offsetX,\r\n y: offsetY\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/popover/popover_position_controller.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"shading\", \"target\", \"$arrow\"];\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport positionUtils from \"../../animation/position\";\r\nimport {\r\n pairToObject\r\n} from \"../../core/utils/common\";\r\nimport {\r\n borderWidthStyles\r\n} from \"../../renovation/ui/resizable/utils\";\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n OverlayPositionController\r\n} from \"../overlay/overlay_position_controller\";\r\nvar WEIGHT_OF_SIDES = {\r\n left: -1,\r\n top: -1,\r\n center: 0,\r\n right: 1,\r\n bottom: 1\r\n};\r\nvar POPOVER_POSITION_ALIASES = {\r\n top: {\r\n my: \"bottom center\",\r\n at: \"top center\",\r\n collision: \"fit flip\"\r\n },\r\n bottom: {\r\n my: \"top center\",\r\n at: \"bottom center\",\r\n collision: \"fit flip\"\r\n },\r\n right: {\r\n my: \"left center\",\r\n at: \"right center\",\r\n collision: \"flip fit\"\r\n },\r\n left: {\r\n my: \"right center\",\r\n at: \"left center\",\r\n collision: \"flip fit\"\r\n }\r\n};\r\nvar POPOVER_DEFAULT_BOUNDARY_OFFSET = {\r\n h: 10,\r\n v: 10\r\n};\r\nclass PopoverPositionController extends OverlayPositionController {\r\n constructor(_ref) {\r\n var {\r\n shading: shading,\r\n target: target,\r\n $arrow: $arrow\r\n } = _ref, args = _objectWithoutPropertiesLoose(_ref, _excluded);\r\n super(args);\r\n this._props = _extends({}, this._props, {\r\n shading: shading,\r\n target: target\r\n });\r\n this._$arrow = $arrow;\r\n this._positionSide = void 0;\r\n this.updatePosition(this._props.position)\r\n }\r\n positionWrapper() {\r\n if (this._props.shading) {\r\n this._$wrapper.css({\r\n top: 0,\r\n left: 0\r\n })\r\n }\r\n }\r\n updateTarget(target) {\r\n this._props.target = target;\r\n this.updatePosition(this._props.position)\r\n }\r\n _renderBoundaryOffset() {}\r\n _getContainerPosition() {\r\n var offset = pairToObject(this._position.offset || \"\");\r\n var {\r\n h: hOffset,\r\n v: vOffset\r\n } = offset;\r\n var isVerticalSide = this._isVerticalSide();\r\n var isHorizontalSide = this._isHorizontalSide();\r\n if (isVerticalSide || isHorizontalSide) {\r\n var isPopoverInside = this._isPopoverInside();\r\n var sign = (isPopoverInside ? -1 : 1) * WEIGHT_OF_SIDES[this._positionSide];\r\n var arrowSize = isVerticalSide ? getHeight(this._$arrow) : getWidth(this._$arrow);\r\n var arrowSizeCorrection = this._getContentBorderWidth(this._positionSide);\r\n var arrowOffset = sign * (arrowSize - arrowSizeCorrection);\r\n isVerticalSide ? vOffset += arrowOffset : hOffset += arrowOffset\r\n }\r\n return extend({}, this._position, {\r\n offset: hOffset + \" \" + vOffset\r\n })\r\n }\r\n _getContentBorderWidth(side) {\r\n var borderWidth = this._$content.css(borderWidthStyles[side]);\r\n return parseInt(borderWidth) || 0\r\n }\r\n _isPopoverInside() {\r\n var my = positionUtils.setup.normalizeAlign(this._position.my);\r\n var at = positionUtils.setup.normalizeAlign(this._position.at);\r\n return my.h === at.h && my.v === at.v\r\n }\r\n _isVerticalSide() {\r\n var side = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._positionSide;\r\n return \"top\" === side || \"bottom\" === side\r\n }\r\n _isHorizontalSide() {\r\n var side = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._positionSide;\r\n return \"left\" === side || \"right\" === side\r\n }\r\n _getDisplaySide(position) {\r\n var my = positionUtils.setup.normalizeAlign(position.my);\r\n var at = positionUtils.setup.normalizeAlign(position.at);\r\n var weightSign = WEIGHT_OF_SIDES[my.h] === WEIGHT_OF_SIDES[at.h] && WEIGHT_OF_SIDES[my.v] === WEIGHT_OF_SIDES[at.v] ? -1 : 1;\r\n var horizontalWeight = Math.abs(WEIGHT_OF_SIDES[my.h] - weightSign * WEIGHT_OF_SIDES[at.h]);\r\n var verticalWeight = Math.abs(WEIGHT_OF_SIDES[my.v] - weightSign * WEIGHT_OF_SIDES[at.v]);\r\n return horizontalWeight > verticalWeight ? at.h : at.v\r\n }\r\n _normalizePosition(positionProp) {\r\n var defaultPositionConfig = {\r\n of: this._props.target,\r\n boundaryOffset: POPOVER_DEFAULT_BOUNDARY_OFFSET\r\n };\r\n var resultPosition;\r\n if (isDefined(positionProp)) {\r\n resultPosition = extend(true, {}, defaultPositionConfig, this._positionToObject(positionProp))\r\n } else {\r\n resultPosition = defaultPositionConfig\r\n }\r\n this._positionSide = this._getDisplaySide(resultPosition);\r\n return resultPosition\r\n }\r\n _positionToObject(positionProp) {\r\n if (isString(positionProp)) {\r\n return extend({}, POPOVER_POSITION_ALIASES[positionProp])\r\n }\r\n return positionProp\r\n }\r\n}\r\nexport {\r\n PopoverPositionController,\r\n POPOVER_POSITION_ALIASES\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/popover/ui.popover.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n setWidth,\r\n getHeight,\r\n setHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport positionUtils from \"../../animation/position\";\r\nimport {\r\n isObject,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n fitIntoRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport Popup from \"../popup/ui.popup\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport {\r\n PopoverPositionController,\r\n POPOVER_POSITION_ALIASES\r\n} from \"./popover_position_controller\";\r\nvar POPOVER_CLASS = \"dx-popover\";\r\nvar POPOVER_WRAPPER_CLASS = \"dx-popover-wrapper\";\r\nvar POPOVER_ARROW_CLASS = \"dx-popover-arrow\";\r\nvar POPOVER_WITHOUT_TITLE_CLASS = \"dx-popover-without-title\";\r\nvar POSITION_FLIP_MAP = {\r\n left: \"right\",\r\n top: \"bottom\",\r\n right: \"left\",\r\n bottom: \"top\",\r\n center: \"center\"\r\n};\r\nvar getEventNameByOption = function(optionValue) {\r\n return isObject(optionValue) ? optionValue.name : optionValue\r\n};\r\nvar getEventName = function(that, optionName) {\r\n var optionValue = that.option(optionName);\r\n return getEventNameByOption(optionValue)\r\n};\r\nvar getEventDelay = function(that, optionName) {\r\n var optionValue = that.option(optionName);\r\n return isObject(optionValue) && optionValue.delay\r\n};\r\nvar attachEvent = function(that, name) {\r\n var {\r\n target: target,\r\n shading: shading,\r\n disabled: disabled,\r\n hideEvent: hideEvent\r\n } = that.option();\r\n var isSelector = isString(target);\r\n var shouldIgnoreHideEvent = shading && \"hide\" === name;\r\n var event = shouldIgnoreHideEvent ? null : getEventName(that, \"\".concat(name, \"Event\"));\r\n if (shouldIgnoreHideEvent && hideEvent) {\r\n errors.log(\"W1020\")\r\n }\r\n if (!event || disabled) {\r\n return\r\n }\r\n var eventName = addNamespace(event, that.NAME);\r\n var action = that._createAction(function() {\r\n var delay = getEventDelay(that, name + \"Event\");\r\n this._clearEventsTimeouts();\r\n if (delay) {\r\n this._timeouts[name] = setTimeout((function() {\r\n that[name]()\r\n }), delay)\r\n } else {\r\n that[name]()\r\n }\r\n }.bind(that), {\r\n validatingTargetName: \"target\"\r\n });\r\n var handler = function(e) {\r\n action({\r\n event: e,\r\n target: $(e.currentTarget)\r\n })\r\n };\r\n var EVENT_HANDLER_NAME = \"_\" + name + \"EventHandler\";\r\n if (isSelector) {\r\n that[EVENT_HANDLER_NAME] = handler;\r\n eventsEngine.on(domAdapter.getDocument(), eventName, target, handler)\r\n } else {\r\n var targetElement = getPublicElement($(target));\r\n that[EVENT_HANDLER_NAME] = void 0;\r\n eventsEngine.on(targetElement, eventName, handler)\r\n }\r\n};\r\nvar detachEvent = function(that, target, name, event) {\r\n var eventName = event || getEventName(that, name + \"Event\");\r\n if (!eventName) {\r\n return\r\n }\r\n eventName = addNamespace(eventName, that.NAME);\r\n var EVENT_HANDLER_NAME = \"_\" + name + \"EventHandler\";\r\n if (that[EVENT_HANDLER_NAME]) {\r\n eventsEngine.off(domAdapter.getDocument(), eventName, target, that[EVENT_HANDLER_NAME])\r\n } else {\r\n eventsEngine.off(getPublicElement($(target)), eventName)\r\n }\r\n};\r\nvar Popover = Popup.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n target: void 0,\r\n shading: false,\r\n position: extend({}, POPOVER_POSITION_ALIASES.bottom),\r\n hideOnOutsideClick: true,\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n from: 1,\r\n to: 0\r\n }\r\n },\r\n showTitle: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n dragEnabled: false,\r\n resizeEnabled: false,\r\n fullScreen: false,\r\n hideOnParentScroll: true,\r\n arrowPosition: \"\",\r\n arrowOffset: 0,\r\n _fixWrapperPosition: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return [{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n arrowPosition: {\r\n boundaryOffset: {\r\n h: 20,\r\n v: -10\r\n },\r\n collision: \"fit\"\r\n }\r\n }\r\n }, {\r\n device: function() {\r\n return !hasWindow()\r\n },\r\n options: {\r\n animation: null\r\n }\r\n }]\r\n },\r\n _init: function() {\r\n var _this$option;\r\n this.callBase();\r\n this._renderArrow();\r\n this._timeouts = {};\r\n this.$element().addClass(POPOVER_CLASS);\r\n this.$wrapper().addClass(POPOVER_WRAPPER_CLASS);\r\n var isInteractive = null === (_this$option = this.option(\"toolbarItems\")) || void 0 === _this$option ? void 0 : _this$option.length;\r\n this.setAria(\"role\", isInteractive ? \"dialog\" : \"tooltip\")\r\n },\r\n _render: function() {\r\n this.callBase.apply(this, arguments);\r\n this._detachEvents(this.option(\"target\"));\r\n this._attachEvents()\r\n },\r\n _detachEvents: function(target) {\r\n detachEvent(this, target, \"show\");\r\n detachEvent(this, target, \"hide\")\r\n },\r\n _attachEvents: function() {\r\n attachEvent(this, \"show\");\r\n attachEvent(this, \"hide\")\r\n },\r\n _renderArrow: function() {\r\n this._$arrow = $(\"<div>\").addClass(POPOVER_ARROW_CLASS).prependTo(this.$overlayContent())\r\n },\r\n _documentDownHandler: function(e) {\r\n if (this._isOutsideClick(e)) {\r\n return this.callBase(e)\r\n }\r\n return true\r\n },\r\n _isOutsideClick: function(e) {\r\n return !$(e.target).closest(this.option(\"target\")).length\r\n },\r\n _animate: function(animation) {\r\n if (animation && animation.to && \"object\" === typeof animation.to) {\r\n extend(animation.to, {\r\n position: this._getContainerPosition()\r\n })\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _stopAnimation: function() {\r\n this.callBase.apply(this, arguments)\r\n },\r\n _renderTitle: function() {\r\n this.$wrapper().toggleClass(POPOVER_WITHOUT_TITLE_CLASS, !this.option(\"showTitle\"));\r\n this.callBase()\r\n },\r\n _renderPosition: function() {\r\n var shouldUpdateDimensions = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : true;\r\n this.callBase();\r\n this._renderOverlayPosition(shouldUpdateDimensions);\r\n this._actions.onPositioned()\r\n },\r\n _renderOverlayPosition: function(shouldUpdateDimensions) {\r\n this._resetOverlayPosition(shouldUpdateDimensions);\r\n this._updateContentSize(shouldUpdateDimensions);\r\n var contentPosition = this._getContainerPosition();\r\n var resultLocation = positionUtils.setup(this.$overlayContent(), contentPosition);\r\n var positionSide = this._getSideByLocation(resultLocation);\r\n this._togglePositionClass(\"dx-position-\" + positionSide);\r\n this._toggleFlippedClass(resultLocation.h.flip, resultLocation.v.flip);\r\n var isArrowVisible = this._isHorizontalSide() || this._isVerticalSide();\r\n if (isArrowVisible) {\r\n this._renderArrowPosition(positionSide)\r\n }\r\n },\r\n _resetOverlayPosition: function(shouldUpdateDimensions) {\r\n this._setContentHeight(shouldUpdateDimensions);\r\n this._togglePositionClass(\"dx-position-\" + this._positionController._positionSide);\r\n move(this.$overlayContent(), {\r\n left: 0,\r\n top: 0\r\n });\r\n this._$arrow.css({\r\n top: \"auto\",\r\n right: \"auto\",\r\n bottom: \"auto\",\r\n left: \"auto\"\r\n })\r\n },\r\n _updateContentSize: function(shouldUpdateDimensions) {\r\n if (!this.$content() || !shouldUpdateDimensions) {\r\n return\r\n }\r\n var containerLocation = positionUtils.calculate(this.$overlayContent(), this._getContainerPosition());\r\n if (containerLocation.h.oversize > 0 && this._isHorizontalSide() && !containerLocation.h.fit) {\r\n var newContainerWidth = getWidth(this.$overlayContent()) - containerLocation.h.oversize;\r\n setWidth(this.$overlayContent(), newContainerWidth)\r\n }\r\n if (containerLocation.v.oversize > 0 && this._isVerticalSide() && !containerLocation.v.fit) {\r\n var newOverlayContentHeight = getHeight(this.$overlayContent()) - containerLocation.v.oversize;\r\n var newPopupContentHeight = getHeight(this.$content()) - containerLocation.v.oversize;\r\n setHeight(this.$overlayContent(), newOverlayContentHeight);\r\n setHeight(this.$content(), newPopupContentHeight)\r\n }\r\n },\r\n _getContainerPosition: function() {\r\n return this._positionController._getContainerPosition()\r\n },\r\n _getHideOnParentScrollTarget: function() {\r\n return $(this._positionController._position.of || this.callBase())\r\n },\r\n _getSideByLocation: function(location) {\r\n var isFlippedByVertical = location.v.flip;\r\n var isFlippedByHorizontal = location.h.flip;\r\n return this._isVerticalSide() && isFlippedByVertical || this._isHorizontalSide() && isFlippedByHorizontal || this._isPopoverInside() ? POSITION_FLIP_MAP[this._positionController._positionSide] : this._positionController._positionSide\r\n },\r\n _togglePositionClass: function(positionClass) {\r\n this.$wrapper().removeClass(\"dx-position-left dx-position-right dx-position-top dx-position-bottom\").addClass(positionClass)\r\n },\r\n _toggleFlippedClass: function(isFlippedHorizontal, isFlippedVertical) {\r\n this.$wrapper().toggleClass(\"dx-popover-flipped-horizontal\", isFlippedHorizontal).toggleClass(\"dx-popover-flipped-vertical\", isFlippedVertical)\r\n },\r\n _renderArrowPosition: function(side) {\r\n var arrowRect = getBoundingRect(this._$arrow.get(0));\r\n var arrowFlip = -(this._isVerticalSide(side) ? arrowRect.height : arrowRect.width);\r\n this._$arrow.css(POSITION_FLIP_MAP[side], arrowFlip);\r\n var axis = this._isVerticalSide(side) ? \"left\" : \"top\";\r\n var sizeProperty = this._isVerticalSide(side) ? \"width\" : \"height\";\r\n var $target = $(this._positionController._position.of);\r\n var targetOffset = positionUtils.offset($target) || {\r\n top: 0,\r\n left: 0\r\n };\r\n var contentOffset = positionUtils.offset(this.$overlayContent());\r\n var arrowSize = arrowRect[sizeProperty];\r\n var contentLocation = contentOffset[axis];\r\n var contentSize = getBoundingRect(this.$overlayContent().get(0))[sizeProperty];\r\n var targetLocation = targetOffset[axis];\r\n var targetElement = $target.get(0);\r\n var targetSize = targetElement && !targetElement.preventDefault ? getBoundingRect(targetElement)[sizeProperty] : 0;\r\n var min = Math.max(contentLocation, targetLocation);\r\n var max = Math.min(contentLocation + contentSize, targetLocation + targetSize);\r\n var arrowLocation;\r\n if (\"start\" === this.option(\"arrowPosition\")) {\r\n arrowLocation = min - contentLocation\r\n } else if (\"end\" === this.option(\"arrowPosition\")) {\r\n arrowLocation = max - contentLocation - arrowSize\r\n } else {\r\n arrowLocation = (min + max) / 2 - contentLocation - arrowSize / 2\r\n }\r\n var borderWidth = this._positionController._getContentBorderWidth(side);\r\n var finalArrowLocation = fitIntoRange(arrowLocation - borderWidth + this.option(\"arrowOffset\"), borderWidth, contentSize - arrowSize - 2 * borderWidth);\r\n this._$arrow.css(axis, finalArrowLocation)\r\n },\r\n _isPopoverInside: function() {\r\n return this._positionController._isPopoverInside()\r\n },\r\n _setContentHeight: function(fullUpdate) {\r\n if (fullUpdate) {\r\n this.callBase()\r\n }\r\n },\r\n _getPositionControllerConfig() {\r\n var {\r\n shading: shading,\r\n target: target\r\n } = this.option();\r\n return extend({}, this.callBase(), {\r\n target: target,\r\n shading: shading,\r\n $arrow: this._$arrow\r\n })\r\n },\r\n _initPositionController() {\r\n this._positionController = new PopoverPositionController(this._getPositionControllerConfig())\r\n },\r\n _renderWrapperDimensions: function() {\r\n if (this.option(\"shading\")) {\r\n this.$wrapper().css({\r\n width: \"100%\",\r\n height: \"100%\"\r\n })\r\n }\r\n },\r\n _isVerticalSide: function(side) {\r\n return this._positionController._isVerticalSide(side)\r\n },\r\n _isHorizontalSide: function(side) {\r\n return this._positionController._isHorizontalSide(side)\r\n },\r\n _clearEventTimeout: function(name) {\r\n clearTimeout(this._timeouts[name])\r\n },\r\n _clearEventsTimeouts: function() {\r\n this._clearEventTimeout(\"show\");\r\n this._clearEventTimeout(\"hide\")\r\n },\r\n _clean: function() {\r\n this._detachEvents(this.option(\"target\"));\r\n this.callBase.apply(this, arguments)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"arrowPosition\":\r\n case \"arrowOffset\":\r\n this._renderGeometry();\r\n break;\r\n case \"fullScreen\":\r\n if (args.value) {\r\n this.option(\"fullScreen\", false)\r\n }\r\n break;\r\n case \"target\":\r\n args.previousValue && this._detachEvents(args.previousValue);\r\n this._positionController.updateTarget(args.value);\r\n this._invalidate();\r\n break;\r\n case \"showEvent\":\r\n case \"hideEvent\":\r\n var name = args.name.substring(0, 4);\r\n var event = getEventNameByOption(args.previousValue);\r\n this.hide();\r\n detachEvent(this, this.option(\"target\"), name, event);\r\n attachEvent(this, name);\r\n break;\r\n case \"visible\":\r\n this._clearEventTimeout(args.value ? \"show\" : \"hide\");\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n show: function(target) {\r\n if (target) {\r\n this.option(\"target\", target)\r\n }\r\n return this.callBase()\r\n }\r\n});\r\nregisterComponent(\"dxPopover\", Popover);\r\nexport default Popover;\r\n","/**\r\n * DevExtreme (esm/__internal/ui/m_action_sheet.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport Button from \"../../ui/button\";\r\nimport CollectionWidget from \"../../ui/collection/ui.collection_widget.edit\";\r\nimport Popover from \"../../ui/popover/ui.popover\";\r\nimport Popup from \"../../ui/popup/ui.popup\";\r\nvar window = getWindow();\r\nvar ACTION_SHEET_CLASS = \"dx-actionsheet\";\r\nvar ACTION_SHEET_CONTAINER_CLASS = \"dx-actionsheet-container\";\r\nvar ACTION_SHEET_POPUP_WRAPPER_CLASS = \"dx-actionsheet-popup-wrapper\";\r\nvar ACTION_SHEET_POPOVER_WRAPPER_CLASS = \"dx-actionsheet-popover-wrapper\";\r\nvar ACTION_SHEET_CANCEL_BUTTON_CLASS = \"dx-actionsheet-cancel\";\r\nvar ACTION_SHEET_ITEM_CLASS = \"dx-actionsheet-item\";\r\nvar ACTION_SHEET_ITEM_DATA_KEY = \"dxActionSheetItemData\";\r\nvar ACTION_SHEET_WITHOUT_TITLE_CLASS = \"dx-actionsheet-without-title\";\r\nvar ACTION_SHEET_BUTTON_DEFAULT_STYLING_MODE = \"outlined\";\r\nvar ActionSheet = CollectionWidget.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n usePopover: false,\r\n target: null,\r\n title: \"\",\r\n showTitle: true,\r\n showCancelButton: true,\r\n cancelText: messageLocalization.format(\"Cancel\"),\r\n onCancelClick: null,\r\n visible: false,\r\n noDataText: \"\",\r\n focusStateEnabled: false,\r\n selectByClick: false\r\n })\r\n },\r\n _defaultOptionsRules() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\",\r\n tablet: true\r\n },\r\n options: {\r\n usePopover: true\r\n }\r\n }])\r\n },\r\n _initTemplates() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(($container, data) => {\r\n var button = new Button($(\"<div>\"), extend({\r\n onClick: data && data.click,\r\n stylingMode: data && data.stylingMode || ACTION_SHEET_BUTTON_DEFAULT_STYLING_MODE\r\n }, data));\r\n $container.append(button.$element())\r\n }, [\"disabled\", \"icon\", \"text\", \"type\", \"onClick\", \"click\", \"stylingMode\"], this.option(\"integrationOptions.watchMethod\"))\r\n })\r\n },\r\n _itemContainer() {\r\n return this._$itemContainer\r\n },\r\n _itemClass: () => ACTION_SHEET_ITEM_CLASS,\r\n _itemDataKey: () => ACTION_SHEET_ITEM_DATA_KEY,\r\n _toggleVisibility: noop,\r\n _renderDimensions: noop,\r\n _initMarkup() {\r\n this.callBase();\r\n this.$element().addClass(ACTION_SHEET_CLASS);\r\n this._createItemContainer()\r\n },\r\n _render() {\r\n this._renderPopup()\r\n },\r\n _createItemContainer() {\r\n this._$itemContainer = $(\"<div>\").addClass(ACTION_SHEET_CONTAINER_CLASS);\r\n this._renderDisabled()\r\n },\r\n _renderDisabled() {\r\n this._$itemContainer.toggleClass(\"dx-state-disabled\", this.option(\"disabled\"))\r\n },\r\n _renderPopup() {\r\n this._$popup = $(\"<div>\").appendTo(this.$element());\r\n this._isPopoverMode() ? this._createPopover() : this._createPopup();\r\n this._renderPopupTitle();\r\n this._mapPopupOption(\"visible\")\r\n },\r\n _mapPopupOption(optionName) {\r\n this._popup && this._popup.option(optionName, this.option(optionName))\r\n },\r\n _isPopoverMode() {\r\n return this.option(\"usePopover\") && this.option(\"target\")\r\n },\r\n _renderPopupTitle() {\r\n this._mapPopupOption(\"showTitle\");\r\n this._popup && this._popup.$wrapper().toggleClass(ACTION_SHEET_WITHOUT_TITLE_CLASS, !this.option(\"showTitle\"))\r\n },\r\n _clean() {\r\n if (this._$popup) {\r\n this._$popup.remove()\r\n }\r\n this.callBase()\r\n },\r\n _overlayConfig() {\r\n return {\r\n onInitialized: function(args) {\r\n this._popup = args.component\r\n }.bind(this),\r\n disabled: false,\r\n showTitle: true,\r\n title: this.option(\"title\"),\r\n deferRendering: !window.angular,\r\n onContentReady: this._popupContentReadyAction.bind(this),\r\n onHidden: this.hide.bind(this)\r\n }\r\n },\r\n _createPopover() {\r\n this._createComponent(this._$popup, Popover, extend(this._overlayConfig(), {\r\n width: this.option(\"width\") || 200,\r\n height: this.option(\"height\") || \"auto\",\r\n target: this.option(\"target\")\r\n }));\r\n this._popup.$overlayContent().attr(\"role\", \"dialog\");\r\n this._popup.$wrapper().addClass(ACTION_SHEET_POPOVER_WRAPPER_CLASS)\r\n },\r\n _createPopup() {\r\n this._createComponent(this._$popup, Popup, extend(this._overlayConfig(), {\r\n dragEnabled: false,\r\n width: this.option(\"width\") || \"100%\",\r\n height: this.option(\"height\") || \"auto\",\r\n showCloseButton: false,\r\n position: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: window\r\n },\r\n animation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n position: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n }\r\n }\r\n }));\r\n this._popup.$wrapper().addClass(ACTION_SHEET_POPUP_WRAPPER_CLASS)\r\n },\r\n _popupContentReadyAction() {\r\n this._popup.$content().append(this._$itemContainer);\r\n this._attachClickEvent();\r\n this._attachHoldEvent();\r\n this._prepareContent();\r\n this._renderContent();\r\n this._renderCancelButton()\r\n },\r\n _renderCancelButton() {\r\n if (this._isPopoverMode()) {\r\n return\r\n }\r\n if (this._$cancelButton) {\r\n this._$cancelButton.remove()\r\n }\r\n if (this.option(\"showCancelButton\")) {\r\n var cancelClickAction = this._createActionByOption(\"onCancelClick\") || noop;\r\n var that = this;\r\n this._$cancelButton = $(\"<div>\").addClass(ACTION_SHEET_CANCEL_BUTTON_CLASS).appendTo(this._popup && this._popup.$content());\r\n this._createComponent(this._$cancelButton, Button, {\r\n disabled: false,\r\n stylingMode: ACTION_SHEET_BUTTON_DEFAULT_STYLING_MODE,\r\n text: this.option(\"cancelText\"),\r\n onClick(e) {\r\n var hidingArgs = {\r\n event: e,\r\n cancel: false\r\n };\r\n cancelClickAction(hidingArgs);\r\n if (!hidingArgs.cancel) {\r\n that.hide()\r\n }\r\n },\r\n integrationOptions: {}\r\n })\r\n }\r\n },\r\n _attachItemClickEvent: noop,\r\n _itemClickHandler(e) {\r\n this.callBase(e);\r\n if (!$(e.target).is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n this.hide()\r\n }\r\n },\r\n _itemHoldHandler(e) {\r\n this.callBase(e);\r\n if (!$(e.target).is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n this.hide()\r\n }\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n case \"visible\":\r\n case \"title\":\r\n this._mapPopupOption(args.name);\r\n break;\r\n case \"disabled\":\r\n this._renderDisabled();\r\n break;\r\n case \"showTitle\":\r\n this._renderPopupTitle();\r\n break;\r\n case \"showCancelButton\":\r\n case \"onCancelClick\":\r\n case \"cancelText\":\r\n this._renderCancelButton();\r\n break;\r\n case \"target\":\r\n case \"usePopover\":\r\n case \"items\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n toggle(showing) {\r\n var that = this;\r\n var d = new Deferred;\r\n that._popup.toggle(showing).done(() => {\r\n that.option(\"visible\", showing);\r\n d.resolveWith(that)\r\n });\r\n return d.promise()\r\n },\r\n show() {\r\n return this.toggle(true)\r\n },\r\n hide() {\r\n return this.toggle(false)\r\n }\r\n});\r\nregisterComponent(\"dxActionSheet\", ActionSheet);\r\nexport default ActionSheet;\r\n","/**\r\n * DevExtreme (esm/ui/action_sheet.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ActionSheet from \"../__internal/ui/m_action_sheet\";\r\nexport default ActionSheet;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.switchable.slide.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n setWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../../animation/translator\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n active\r\n} from \"../../events/core/emitter.feedback\";\r\nimport EditDecoratorMenuHelperMixin from \"./ui.list.edit.decorator_menu_helper\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport SwitchableEditDecorator from \"./ui.list.edit.decorator.switchable\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n isMaterial\r\n} from \"../themes\";\r\nimport ActionSheet from \"../action_sheet\";\r\nvar LIST_EDIT_DECORATOR = \"dxListEditDecorator\";\r\nvar CLICK_EVENT_NAME = addNamespace(clickEventName, LIST_EDIT_DECORATOR);\r\nvar ACTIVE_EVENT_NAME = addNamespace(active, LIST_EDIT_DECORATOR);\r\nvar SLIDE_MENU_CLASS = \"dx-list-slide-menu\";\r\nvar SLIDE_MENU_WRAPPER_CLASS = \"dx-list-slide-menu-wrapper\";\r\nvar SLIDE_MENU_CONTENT_CLASS = \"dx-list-slide-menu-content\";\r\nvar SLIDE_MENU_BUTTONS_CONTAINER_CLASS = \"dx-list-slide-menu-buttons-container\";\r\nvar SLIDE_MENU_BUTTONS_CLASS = \"dx-list-slide-menu-buttons\";\r\nvar SLIDE_MENU_BUTTON_CLASS = \"dx-list-slide-menu-button\";\r\nvar SLIDE_MENU_BUTTON_MENU_CLASS = \"dx-list-slide-menu-button-menu\";\r\nvar SLIDE_MENU_BUTTON_DELETE_CLASS = \"dx-list-slide-menu-button-delete\";\r\nvar SLIDE_MENU_ANIMATION_DURATION = 400;\r\nvar SLIDE_MENU_ANIMATION_EASING = \"cubic-bezier(0.075, 0.82, 0.165, 1)\";\r\nregisterDecorator(\"menu\", \"slide\", SwitchableEditDecorator.inherit({\r\n _shouldHandleSwipe: true,\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n this._$buttonsContainer = $(\"<div>\").addClass(SLIDE_MENU_BUTTONS_CONTAINER_CLASS);\r\n eventsEngine.on(this._$buttonsContainer, ACTIVE_EVENT_NAME, noop);\r\n this._$buttons = $(\"<div>\").addClass(SLIDE_MENU_BUTTONS_CLASS).appendTo(this._$buttonsContainer);\r\n this._renderMenu();\r\n this._renderDeleteButton()\r\n },\r\n _renderMenu: function() {\r\n if (!this._menuEnabled()) {\r\n return\r\n }\r\n var menuItems = this._menuItems();\r\n if (1 === menuItems.length) {\r\n var menuItem = menuItems[0];\r\n this._renderMenuButton(menuItem.text, function(e) {\r\n e.stopPropagation();\r\n this._fireAction(menuItem)\r\n }.bind(this))\r\n } else {\r\n var $menu = $(\"<div>\").addClass(SLIDE_MENU_CLASS);\r\n this._menu = this._list._createComponent($menu, ActionSheet, {\r\n showTitle: false,\r\n items: menuItems,\r\n onItemClick: function(args) {\r\n this._fireAction(args.itemData)\r\n }.bind(this),\r\n integrationOptions: {}\r\n });\r\n $menu.appendTo(this._list.$element());\r\n var $menuButton = this._renderMenuButton(messageLocalization.format(\"dxListEditDecorator-more\"), function(e) {\r\n e.stopPropagation();\r\n this._menu.show()\r\n }.bind(this));\r\n this._menu.option(\"target\", $menuButton)\r\n }\r\n },\r\n _renderMenuButton: function(text, action) {\r\n var $menuButton = $(\"<div>\").addClass(SLIDE_MENU_BUTTON_CLASS).addClass(SLIDE_MENU_BUTTON_MENU_CLASS).text(text);\r\n this._$buttons.append($menuButton);\r\n eventsEngine.on($menuButton, CLICK_EVENT_NAME, action);\r\n return $menuButton\r\n },\r\n _renderDeleteButton: function() {\r\n if (!this._deleteEnabled()) {\r\n return\r\n }\r\n var $deleteButton = $(\"<div>\").addClass(SLIDE_MENU_BUTTON_CLASS).addClass(SLIDE_MENU_BUTTON_DELETE_CLASS).text(isMaterial() ? \"\" : messageLocalization.format(\"dxListEditDecorator-delete\"));\r\n eventsEngine.on($deleteButton, CLICK_EVENT_NAME, function(e) {\r\n e.stopPropagation();\r\n this._deleteItem()\r\n }.bind(this));\r\n this._$buttons.append($deleteButton)\r\n },\r\n _fireAction: function(menuItem) {\r\n this._fireMenuAction($(this._cachedNode), menuItem.action);\r\n this._cancelDeleteReadyItem()\r\n },\r\n modifyElement: function(config) {\r\n this.callBase.apply(this, arguments);\r\n var $itemElement = config.$itemElement;\r\n $itemElement.addClass(SLIDE_MENU_WRAPPER_CLASS);\r\n var $slideMenuContent = $(\"<div>\").addClass(SLIDE_MENU_CONTENT_CLASS);\r\n $itemElement.wrapInner($slideMenuContent)\r\n },\r\n _getDeleteButtonContainer: function() {\r\n return this._$buttonsContainer\r\n },\r\n handleClick: function(_, e) {\r\n if ($(e.target).closest(\".\" + SLIDE_MENU_CONTENT_CLASS).length) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return false\r\n },\r\n _swipeStartHandler: function($itemElement) {\r\n this._enablePositioning($itemElement);\r\n this._cacheItemData($itemElement);\r\n this._setPositions(this._getPositions(0))\r\n },\r\n _swipeUpdateHandler: function($itemElement, args) {\r\n var rtl = this._isRtlEnabled();\r\n var signCorrection = rtl ? -1 : 1;\r\n var isItemReadyToDelete = this._isReadyToDelete($itemElement);\r\n var moveJustStarted = this._getCurrentPositions().content === this._getStartPositions().content;\r\n if (moveJustStarted && !isItemReadyToDelete && args.offset * signCorrection > 0) {\r\n args.cancel = true;\r\n return\r\n }\r\n var offset = this._cachedItemWidth * args.offset;\r\n var startOffset = isItemReadyToDelete ? -this._cachedButtonWidth * signCorrection : 0;\r\n var correctedOffset = (offset + startOffset) * signCorrection;\r\n var percent = correctedOffset < 0 ? Math.abs((offset + startOffset) / this._cachedButtonWidth) : 0;\r\n this._setPositions(this._getPositions(percent));\r\n return true\r\n },\r\n _getStartPositions: function() {\r\n var rtl = this._isRtlEnabled();\r\n var signCorrection = rtl ? -1 : 1;\r\n return {\r\n content: 0,\r\n buttonsContainer: rtl ? -this._cachedButtonWidth : this._cachedItemWidth,\r\n buttons: -this._cachedButtonWidth * signCorrection\r\n }\r\n },\r\n _getPositions: function(percent) {\r\n var rtl = this._isRtlEnabled();\r\n var signCorrection = rtl ? -1 : 1;\r\n var startPositions = this._getStartPositions();\r\n return {\r\n content: startPositions.content - percent * this._cachedButtonWidth * signCorrection,\r\n buttonsContainer: startPositions.buttonsContainer - Math.min(percent, 1) * this._cachedButtonWidth * signCorrection,\r\n buttons: startPositions.buttons + Math.min(percent, 1) * this._cachedButtonWidth * signCorrection\r\n }\r\n },\r\n _getCurrentPositions: function() {\r\n return {\r\n content: locate(this._$cachedContent).left,\r\n buttonsContainer: locate(this._$buttonsContainer).left,\r\n buttons: locate(this._$buttons).left\r\n }\r\n },\r\n _setPositions: function(positions) {\r\n move(this._$cachedContent, {\r\n left: positions.content\r\n });\r\n move(this._$buttonsContainer, {\r\n left: positions.buttonsContainer\r\n });\r\n move(this._$buttons, {\r\n left: positions.buttons\r\n })\r\n },\r\n _cacheItemData: function($itemElement) {\r\n if ($itemElement[0] === this._cachedNode) {\r\n return\r\n }\r\n this._$cachedContent = $itemElement.find(\".\" + SLIDE_MENU_CONTENT_CLASS);\r\n this._cachedItemWidth = getOuterWidth($itemElement);\r\n this._cachedButtonWidth = this._cachedButtonWidth || getOuterWidth(this._$buttons);\r\n setWidth(this._$buttonsContainer, this._cachedButtonWidth);\r\n if (this._$cachedContent.length) {\r\n this._cachedNode = $itemElement[0]\r\n }\r\n },\r\n _minButtonContainerLeftOffset: function() {\r\n return this._cachedItemWidth - this._cachedButtonWidth\r\n },\r\n _swipeEndHandler: function($itemElement, args) {\r\n this._cacheItemData($itemElement);\r\n var signCorrection = this._isRtlEnabled() ? 1 : -1;\r\n var offset = this._cachedItemWidth * args.offset;\r\n var endedAtReadyToDelete = !this._isReadyToDelete($itemElement) && offset * signCorrection > .2 * this._cachedButtonWidth;\r\n var readyToDelete = args.targetOffset === signCorrection && endedAtReadyToDelete;\r\n this._toggleDeleteReady($itemElement, readyToDelete);\r\n return true\r\n },\r\n _enablePositioning: function($itemElement) {\r\n fx.stop(this._$cachedContent, true);\r\n this.callBase.apply(this, arguments);\r\n this._$buttonsContainer.appendTo($itemElement)\r\n },\r\n _disablePositioning: function() {\r\n this.callBase.apply(this, arguments);\r\n this._$buttonsContainer.detach()\r\n },\r\n _animatePrepareDeleteReady: function() {\r\n return this._animateToPositions(this._getPositions(1))\r\n },\r\n _animateForgetDeleteReady: function($itemElement) {\r\n this._cacheItemData($itemElement);\r\n return this._animateToPositions(this._getPositions(0))\r\n },\r\n _animateToPositions: function(positions) {\r\n var that = this;\r\n var currentPosition = this._getCurrentPositions();\r\n var durationTimePart = Math.min(Math.abs(currentPosition.content - positions.content) / this._cachedButtonWidth, 1);\r\n return fx.animate(this._$cachedContent, {\r\n from: currentPosition,\r\n to: positions,\r\n easing: SLIDE_MENU_ANIMATION_EASING,\r\n duration: SLIDE_MENU_ANIMATION_DURATION * durationTimePart,\r\n strategy: \"frame\",\r\n draw: function(positions) {\r\n that._setPositions(positions)\r\n }\r\n })\r\n },\r\n dispose: function() {\r\n if (this._menu) {\r\n this._menu.$element().remove()\r\n }\r\n if (this._$buttonsContainer) {\r\n this._$buttonsContainer.remove()\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n}).include(EditDecoratorMenuHelperMixin));\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.static.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Button from \"../button\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nvar STATIC_DELETE_BUTTON_CONTAINER_CLASS = \"dx-list-static-delete-button-container\";\r\nvar STATIC_DELETE_BUTTON_CLASS = \"dx-list-static-delete-button\";\r\nregisterDecorator(\"delete\", \"static\", EditDecorator.inherit({\r\n afterBag: function(config) {\r\n var $itemElement = config.$itemElement;\r\n var $container = config.$container;\r\n var $button = $(\"<div>\").addClass(STATIC_DELETE_BUTTON_CLASS);\r\n this._list._createComponent($button, Button, {\r\n icon: \"remove\",\r\n onClick: function(args) {\r\n args.event.stopPropagation();\r\n this._deleteItem($itemElement)\r\n }.bind(this),\r\n integrationOptions: {}\r\n });\r\n $container.addClass(STATIC_DELETE_BUTTON_CONTAINER_CLASS).append($button)\r\n },\r\n _deleteItem: function($itemElement) {\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n this._list.deleteItem($itemElement)\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.swipe.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nregisterDecorator(\"delete\", \"swipe\", EditDecorator.inherit({\r\n _shouldHandleSwipe: true,\r\n _renderItemPosition: function($itemElement, offset, animate) {\r\n var deferred = new Deferred;\r\n var itemOffset = offset * this._itemElementWidth;\r\n if (animate) {\r\n fx.animate($itemElement, {\r\n to: {\r\n left: itemOffset\r\n },\r\n type: \"slide\",\r\n complete: function() {\r\n deferred.resolve($itemElement, offset)\r\n }\r\n })\r\n } else {\r\n move($itemElement, {\r\n left: itemOffset\r\n });\r\n deferred.resolve()\r\n }\r\n return deferred.promise()\r\n },\r\n _swipeStartHandler: function($itemElement) {\r\n this._itemElementWidth = getWidth($itemElement);\r\n return true\r\n },\r\n _swipeUpdateHandler: function($itemElement, args) {\r\n this._renderItemPosition($itemElement, args.offset);\r\n return true\r\n },\r\n _swipeEndHandler: function($itemElement, args) {\r\n var offset = args.targetOffset;\r\n this._renderItemPosition($itemElement, offset, true).done(function($itemElement, offset) {\r\n if (Math.abs(offset)) {\r\n this._list.deleteItem($itemElement).fail(function() {\r\n this._renderItemPosition($itemElement, 0, true)\r\n }.bind(this))\r\n }\r\n }.bind(this));\r\n return true\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.reorder.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n setWidth,\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isMouseEvent\r\n} from \"../../events/utils/index\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nimport Sortable from \"../sortable\";\r\nvar REORDER_HANDLE_CONTAINER_CLASS = \"dx-list-reorder-handle-container\";\r\nvar REORDER_HANDLE_CLASS = \"dx-list-reorder-handle\";\r\nvar REORDERING_ITEM_GHOST_CLASS = \"dx-list-item-ghost-reordering\";\r\nvar STATE_HOVER_CLASS = \"dx-state-hover\";\r\nregisterDecorator(\"reorder\", \"default\", EditDecorator.inherit({\r\n _init: function() {\r\n var list = this._list;\r\n this._groupedEnabled = this._list.option(\"grouped\");\r\n this._lockedDrag = false;\r\n var filter = this._groupedEnabled ? \"> .dx-list-group > .dx-list-group-body > .dx-list-item\" : \"> .dx-list-item\";\r\n this._sortable = list._createComponent(list._scrollView.content(), Sortable, extend({\r\n component: list,\r\n contentTemplate: null,\r\n allowReordering: false,\r\n filter: filter,\r\n container: list.$element(),\r\n dragDirection: list.option(\"itemDragging.group\") ? \"both\" : \"vertical\",\r\n handle: \".\".concat(REORDER_HANDLE_CLASS),\r\n dragTemplate: this._dragTemplate,\r\n onDragStart: this._dragStartHandler.bind(this),\r\n onDragChange: this._dragChangeHandler.bind(this),\r\n onReorder: this._reorderHandler.bind(this)\r\n }, list.option(\"itemDragging\")))\r\n },\r\n afterRender: function() {\r\n this._sortable.update()\r\n },\r\n _dragTemplate: function(e) {\r\n var result = $(e.itemElement).clone().addClass(REORDERING_ITEM_GHOST_CLASS).addClass(STATE_HOVER_CLASS);\r\n setWidth(result, getWidth(e.itemElement));\r\n return result\r\n },\r\n _dragStartHandler: function(e) {\r\n if (this._lockedDrag) {\r\n e.cancel = true;\r\n return\r\n }\r\n },\r\n _dragChangeHandler: function(e) {\r\n if (this._groupedEnabled && !this._sameParent(e.fromIndex, e.toIndex)) {\r\n e.cancel = true;\r\n return\r\n }\r\n },\r\n _sameParent: function(fromIndex, toIndex) {\r\n var $dragging = this._list.getItemElementByFlatIndex(fromIndex);\r\n var $over = this._list.getItemElementByFlatIndex(toIndex);\r\n return $over.parent().get(0) === $dragging.parent().get(0)\r\n },\r\n _reorderHandler: function(e) {\r\n var $targetElement = this._list.getItemElementByFlatIndex(e.toIndex);\r\n this._list.reorderItem($(e.itemElement), $targetElement)\r\n },\r\n afterBag: function(config) {\r\n var $handle = $(\"<div>\").addClass(REORDER_HANDLE_CLASS);\r\n eventsEngine.on($handle, \"dxpointerdown\", e => {\r\n this._lockedDrag = !isMouseEvent(e)\r\n });\r\n eventsEngine.on($handle, \"dxhold\", {\r\n timeout: 30\r\n }, e => {\r\n e.cancel = true;\r\n this._lockedDrag = false\r\n });\r\n config.$container.addClass(REORDER_HANDLE_CONTAINER_CLASS).append($handle)\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/ui/list.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport List from \"./list_light\";\r\nimport \"./list/modules/selection\";\r\nimport \"./list/modules/deleting\";\r\nimport \"./list/modules/dragging\";\r\nimport \"./list/modules/context\";\r\nimport \"./list/modules/search\";\r\nexport default List;\r\n","import VProgressLinear from './VProgressLinear'\n\nexport { VProgressLinear }\nexport default VProgressLinear\n","/**\r\n * DevExtreme (esm/core/utils/resize_callbacks.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n hasWindow,\r\n getWindow\r\n} from \"./window\";\r\nimport domAdapter from \"../dom_adapter\";\r\nimport Callbacks from \"./callbacks\";\r\nimport readyCallbacks from \"./ready_callbacks\";\r\nimport callOnce from \"./call_once\";\r\nvar resizeCallbacks = function() {\r\n var prevSize;\r\n var callbacks = Callbacks();\r\n var originalCallbacksAdd = callbacks.add;\r\n var originalCallbacksRemove = callbacks.remove;\r\n if (!hasWindow()) {\r\n return callbacks\r\n }\r\n var formatSize = function() {\r\n var window = getWindow();\r\n return {\r\n width: window.innerWidth,\r\n height: window.innerHeight\r\n }\r\n };\r\n var handleResize = function() {\r\n var now = formatSize();\r\n if (now.width === prevSize.width && now.height === prevSize.height) {\r\n return\r\n }\r\n var changedDimension;\r\n if (now.width === prevSize.width) {\r\n changedDimension = \"height\"\r\n }\r\n if (now.height === prevSize.height) {\r\n changedDimension = \"width\"\r\n }\r\n prevSize = now;\r\n callbacks.fire(changedDimension)\r\n };\r\n var setPrevSize = callOnce((function() {\r\n prevSize = formatSize()\r\n }));\r\n var removeListener;\r\n callbacks.add = function() {\r\n var result = originalCallbacksAdd.apply(callbacks, arguments);\r\n setPrevSize();\r\n readyCallbacks.add((function() {\r\n if (!removeListener && callbacks.has()) {\r\n removeListener = domAdapter.listen(getWindow(), \"resize\", handleResize)\r\n }\r\n }));\r\n return result\r\n };\r\n callbacks.remove = function() {\r\n var result = originalCallbacksRemove.apply(callbacks, arguments);\r\n if (!callbacks.has() && removeListener) {\r\n removeListener();\r\n removeListener = void 0\r\n }\r\n return result\r\n };\r\n return callbacks\r\n}();\r\nexport default resizeCallbacks;\r\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","/**\r\n * DevExtreme (esm/renovation/common/config_provider.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"children\", \"rtlEnabled\"];\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n ConfigContext\r\n} from \"./config_context\";\r\nexport var viewFunction = viewModel => viewModel.props.children;\r\nexport var ConfigProviderProps = {};\r\nexport class ConfigProvider extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {}\r\n }\r\n getChildContext() {\r\n return _extends({}, this.context, {\r\n [ConfigContext.id]: this.config || ConfigContext.defaultValue\r\n })\r\n }\r\n get config() {\r\n if (void 0 !== this.__getterCache.config) {\r\n return this.__getterCache.config\r\n }\r\n return this.__getterCache.config = (() => ({\r\n rtlEnabled: this.props.rtlEnabled\r\n }))()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.props.rtlEnabled !== nextProps.rtlEnabled) {\r\n this.__getterCache.config = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n config: this.config,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nConfigProvider.defaultProps = ConfigProviderProps;\r\n","/**\r\n * DevExtreme (esm/renovation/utils/resolve_rtl.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport globalConfig from \"../../core/config\";\r\nexport function resolveRtlEnabled(rtlProp, config) {\r\n if (void 0 !== rtlProp) {\r\n return rtlProp\r\n }\r\n if (void 0 !== (null === config || void 0 === config ? void 0 : config.rtlEnabled)) {\r\n return config.rtlEnabled\r\n }\r\n return globalConfig().rtlEnabled\r\n}\r\nexport function resolveRtlEnabledDefinition(rtlProp, config) {\r\n var isPropDefined = isDefined(rtlProp);\r\n var onlyGlobalDefined = isDefined(globalConfig().rtlEnabled) && !isPropDefined && !isDefined(null === config || void 0 === config ? void 0 : config.rtlEnabled);\r\n return isPropDefined && rtlProp !== (null === config || void 0 === config ? void 0 : config.rtlEnabled) || onlyGlobalDefined\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/widget.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"_feedbackHideTimeout\", \"_feedbackShowTimeout\", \"accessKey\", \"activeStateEnabled\", \"activeStateUnit\", \"addWidgetClass\", \"aria\", \"children\", \"className\", \"classes\", \"cssText\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"name\", \"onActive\", \"onClick\", \"onDimensionChanged\", \"onFocusIn\", \"onFocusOut\", \"onHoverEnd\", \"onHoverStart\", \"onInactive\", \"onKeyDown\", \"onRootElementRendered\", \"onVisibilityChange\", \"rootElementRef\", \"rtlEnabled\", \"tabIndex\", \"visible\", \"width\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nimport \"../../../events/click\";\r\nimport \"../../../events/hover\";\r\nimport {\r\n isFunction\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n dxClick,\r\n focus,\r\n keyboard,\r\n resize,\r\n visibility\r\n} from \"../../../events/short\";\r\nimport {\r\n subscribeToDxActiveEvent,\r\n subscribeToDxInactiveEvent,\r\n subscribeToDxHoverStartEvent,\r\n subscribeToDxHoverEndEvent,\r\n subscribeToDxFocusInEvent,\r\n subscribeToDxFocusOutEvent\r\n} from \"../../utils/subscribe_to_event\";\r\nimport {\r\n combineClasses\r\n} from \"../../utils/combine_classes\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n normalizeStyleProp\r\n} from \"../../../core/utils/style\";\r\nimport {\r\n BaseWidgetProps\r\n} from \"./base_props\";\r\nimport {\r\n ConfigContext\r\n} from \"../../common/config_context\";\r\nimport {\r\n ConfigProvider\r\n} from \"../../common/config_provider\";\r\nimport {\r\n resolveRtlEnabled,\r\n resolveRtlEnabledDefinition\r\n} from \"../../utils/resolve_rtl\";\r\nimport resizeCallbacks from \"../../../core/utils/resize_callbacks\";\r\nimport errors from \"../../../core/errors\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nvar DEFAULT_FEEDBACK_HIDE_TIMEOUT = 400;\r\nvar DEFAULT_FEEDBACK_SHOW_TIMEOUT = 30;\r\nvar getAria = args => Object.keys(args).reduce((r, key) => {\r\n if (args[key]) {\r\n return _extends({}, r, {\r\n [\"role\" === key || \"id\" === key ? key : \"aria-\".concat(key)]: String(args[key])\r\n })\r\n }\r\n return r\r\n}, {});\r\nexport var viewFunction = viewModel => {\r\n var widget = normalizeProps(createVNode(1, \"div\", viewModel.cssClasses, viewModel.props.children, 0, _extends({}, viewModel.attributes, {\r\n tabIndex: viewModel.tabIndex,\r\n title: viewModel.props.hint,\r\n style: normalizeStyles(viewModel.styles)\r\n }), null, viewModel.widgetElementRef));\r\n return viewModel.shouldRenderConfigProvider ? createComponentVNode(2, ConfigProvider, {\r\n rtlEnabled: viewModel.rtlEnabled,\r\n children: widget\r\n }) : widget\r\n};\r\nexport var WidgetProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BaseWidgetProps), Object.getOwnPropertyDescriptors({\r\n _feedbackHideTimeout: DEFAULT_FEEDBACK_HIDE_TIMEOUT,\r\n _feedbackShowTimeout: DEFAULT_FEEDBACK_SHOW_TIMEOUT,\r\n cssText: \"\",\r\n aria: Object.freeze({}),\r\n classes: \"\",\r\n name: \"\",\r\n addWidgetClass: true\r\n})));\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class Widget extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.widgetElementRef = infernoCreateRef();\r\n this.state = {\r\n active: false,\r\n focused: false,\r\n hovered: false\r\n };\r\n this.setRootElementRef = this.setRootElementRef.bind(this);\r\n this.activeEffect = this.activeEffect.bind(this);\r\n this.inactiveEffect = this.inactiveEffect.bind(this);\r\n this.clickEffect = this.clickEffect.bind(this);\r\n this.focus = this.focus.bind(this);\r\n this.blur = this.blur.bind(this);\r\n this.activate = this.activate.bind(this);\r\n this.deactivate = this.deactivate.bind(this);\r\n this.focusInEffect = this.focusInEffect.bind(this);\r\n this.focusOutEffect = this.focusOutEffect.bind(this);\r\n this.hoverStartEffect = this.hoverStartEffect.bind(this);\r\n this.hoverEndEffect = this.hoverEndEffect.bind(this);\r\n this.keyboardEffect = this.keyboardEffect.bind(this);\r\n this.resizeEffect = this.resizeEffect.bind(this);\r\n this.windowResizeEffect = this.windowResizeEffect.bind(this);\r\n this.visibilityEffect = this.visibilityEffect.bind(this);\r\n this.checkDeprecation = this.checkDeprecation.bind(this);\r\n this.applyCssTextEffect = this.applyCssTextEffect.bind(this)\r\n }\r\n get config() {\r\n if (this.context[ConfigContext.id]) {\r\n return this.context[ConfigContext.id]\r\n }\r\n return ConfigContext.defaultValue\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.setRootElementRef, []), new InfernoEffect(this.activeEffect, [this.props._feedbackShowTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.disabled, this.props.onActive]), new InfernoEffect(this.inactiveEffect, [this.props._feedbackHideTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.onInactive, this.state.active]), new InfernoEffect(this.clickEffect, [this.props.disabled, this.props.name, this.props.onClick]), new InfernoEffect(this.focusInEffect, [this.props.disabled, this.props.focusStateEnabled, this.props.name, this.props.onFocusIn]), new InfernoEffect(this.focusOutEffect, [this.props.focusStateEnabled, this.props.name, this.props.onFocusOut, this.state.focused]), new InfernoEffect(this.hoverStartEffect, [this.props.activeStateUnit, this.props.disabled, this.props.hoverStateEnabled, this.props.onHoverStart, this.state.active]), new InfernoEffect(this.hoverEndEffect, [this.props.activeStateUnit, this.props.hoverStateEnabled, this.props.onHoverEnd, this.state.hovered]), new InfernoEffect(this.keyboardEffect, [this.props.focusStateEnabled, this.props.onKeyDown]), new InfernoEffect(this.resizeEffect, [this.props.name, this.props.onDimensionChanged]), new InfernoEffect(this.windowResizeEffect, [this.props.onDimensionChanged]), new InfernoEffect(this.visibilityEffect, [this.props.name, this.props.onVisibilityChange]), new InfernoEffect(this.checkDeprecation, [this.props.height, this.props.width]), new InfernoEffect(this.applyCssTextEffect, [this.props.cssText]), createReRenderEffect()]\r\n }\r\n updateEffects() {\r\n var _this$_effects$, _this$_effects$2, _this$_effects$3, _this$_effects$4, _this$_effects$5, _this$_effects$6, _this$_effects$7, _this$_effects$8, _this$_effects$9, _this$_effects$10, _this$_effects$11, _this$_effects$12, _this$_effects$13;\r\n null === (_this$_effects$ = this._effects[1]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props._feedbackShowTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.disabled, this.props.onActive]);\r\n null === (_this$_effects$2 = this._effects[2]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props._feedbackHideTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.onInactive, this.state.active]);\r\n null === (_this$_effects$3 = this._effects[3]) || void 0 === _this$_effects$3 ? void 0 : _this$_effects$3.update([this.props.disabled, this.props.name, this.props.onClick]);\r\n null === (_this$_effects$4 = this._effects[4]) || void 0 === _this$_effects$4 ? void 0 : _this$_effects$4.update([this.props.disabled, this.props.focusStateEnabled, this.props.name, this.props.onFocusIn]);\r\n null === (_this$_effects$5 = this._effects[5]) || void 0 === _this$_effects$5 ? void 0 : _this$_effects$5.update([this.props.focusStateEnabled, this.props.name, this.props.onFocusOut, this.state.focused]);\r\n null === (_this$_effects$6 = this._effects[6]) || void 0 === _this$_effects$6 ? void 0 : _this$_effects$6.update([this.props.activeStateUnit, this.props.disabled, this.props.hoverStateEnabled, this.props.onHoverStart, this.state.active]);\r\n null === (_this$_effects$7 = this._effects[7]) || void 0 === _this$_effects$7 ? void 0 : _this$_effects$7.update([this.props.activeStateUnit, this.props.hoverStateEnabled, this.props.onHoverEnd, this.state.hovered]);\r\n null === (_this$_effects$8 = this._effects[8]) || void 0 === _this$_effects$8 ? void 0 : _this$_effects$8.update([this.props.focusStateEnabled, this.props.onKeyDown]);\r\n null === (_this$_effects$9 = this._effects[9]) || void 0 === _this$_effects$9 ? void 0 : _this$_effects$9.update([this.props.name, this.props.onDimensionChanged]);\r\n null === (_this$_effects$10 = this._effects[10]) || void 0 === _this$_effects$10 ? void 0 : _this$_effects$10.update([this.props.onDimensionChanged]);\r\n null === (_this$_effects$11 = this._effects[11]) || void 0 === _this$_effects$11 ? void 0 : _this$_effects$11.update([this.props.name, this.props.onVisibilityChange]);\r\n null === (_this$_effects$12 = this._effects[12]) || void 0 === _this$_effects$12 ? void 0 : _this$_effects$12.update([this.props.height, this.props.width]);\r\n null === (_this$_effects$13 = this._effects[13]) || void 0 === _this$_effects$13 ? void 0 : _this$_effects$13.update([this.props.cssText])\r\n }\r\n setRootElementRef() {\r\n var {\r\n onRootElementRendered: onRootElementRendered,\r\n rootElementRef: rootElementRef\r\n } = this.props;\r\n if (rootElementRef) {\r\n rootElementRef.current = this.widgetElementRef.current\r\n }\r\n null === onRootElementRendered || void 0 === onRootElementRendered ? void 0 : onRootElementRendered(this.widgetElementRef.current)\r\n }\r\n activeEffect() {\r\n var {\r\n _feedbackShowTimeout: _feedbackShowTimeout,\r\n activeStateEnabled: activeStateEnabled,\r\n activeStateUnit: activeStateUnit,\r\n disabled: disabled,\r\n onActive: onActive\r\n } = this.props;\r\n var selector = activeStateUnit;\r\n if (activeStateEnabled) {\r\n if (!disabled) {\r\n return subscribeToDxActiveEvent(this.widgetElementRef.current, event => {\r\n this.setState(__state_argument => ({\r\n active: true\r\n }));\r\n null === onActive || void 0 === onActive ? void 0 : onActive(event)\r\n }, {\r\n timeout: _feedbackShowTimeout,\r\n selector: selector\r\n }, \"UIFeedback\")\r\n }\r\n }\r\n return\r\n }\r\n inactiveEffect() {\r\n var {\r\n _feedbackHideTimeout: _feedbackHideTimeout,\r\n activeStateEnabled: activeStateEnabled,\r\n activeStateUnit: activeStateUnit,\r\n onInactive: onInactive\r\n } = this.props;\r\n var selector = activeStateUnit;\r\n if (activeStateEnabled) {\r\n return subscribeToDxInactiveEvent(this.widgetElementRef.current, event => {\r\n if (this.state.active) {\r\n this.setState(__state_argument => ({\r\n active: false\r\n }));\r\n null === onInactive || void 0 === onInactive ? void 0 : onInactive(event)\r\n }\r\n }, {\r\n timeout: _feedbackHideTimeout,\r\n selector: selector\r\n }, \"UIFeedback\")\r\n }\r\n return\r\n }\r\n clickEffect() {\r\n var {\r\n disabled: disabled,\r\n name: name,\r\n onClick: onClick\r\n } = this.props;\r\n var namespace = name;\r\n if (onClick && !disabled) {\r\n dxClick.on(this.widgetElementRef.current, onClick, {\r\n namespace: namespace\r\n });\r\n return () => dxClick.off(this.widgetElementRef.current, {\r\n namespace: namespace\r\n })\r\n }\r\n return\r\n }\r\n focusInEffect() {\r\n var {\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n name: name,\r\n onFocusIn: onFocusIn\r\n } = this.props;\r\n var namespace = \"\".concat(name, \"Focus\");\r\n if (focusStateEnabled) {\r\n if (!disabled) {\r\n return subscribeToDxFocusInEvent(this.widgetElementRef.current, event => {\r\n if (!event.isDefaultPrevented()) {\r\n this.setState(__state_argument => ({\r\n focused: true\r\n }));\r\n null === onFocusIn || void 0 === onFocusIn ? void 0 : onFocusIn(event)\r\n }\r\n }, null, namespace)\r\n }\r\n }\r\n return\r\n }\r\n focusOutEffect() {\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n name: name,\r\n onFocusOut: onFocusOut\r\n } = this.props;\r\n var namespace = \"\".concat(name, \"Focus\");\r\n if (focusStateEnabled) {\r\n return subscribeToDxFocusOutEvent(this.widgetElementRef.current, event => {\r\n if (!event.isDefaultPrevented() && this.state.focused) {\r\n this.setState(__state_argument => ({\r\n focused: false\r\n }));\r\n null === onFocusOut || void 0 === onFocusOut ? void 0 : onFocusOut(event)\r\n }\r\n }, null, namespace)\r\n }\r\n return\r\n }\r\n hoverStartEffect() {\r\n var {\r\n activeStateUnit: activeStateUnit,\r\n disabled: disabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n onHoverStart: onHoverStart\r\n } = this.props;\r\n var selector = activeStateUnit;\r\n if (hoverStateEnabled) {\r\n if (!disabled) {\r\n return subscribeToDxHoverStartEvent(this.widgetElementRef.current, event => {\r\n !this.state.active && this.setState(__state_argument => ({\r\n hovered: true\r\n }));\r\n null === onHoverStart || void 0 === onHoverStart ? void 0 : onHoverStart(event)\r\n }, {\r\n selector: selector\r\n }, \"UIFeedback\")\r\n }\r\n }\r\n return\r\n }\r\n hoverEndEffect() {\r\n var {\r\n activeStateUnit: activeStateUnit,\r\n hoverStateEnabled: hoverStateEnabled,\r\n onHoverEnd: onHoverEnd\r\n } = this.props;\r\n var selector = activeStateUnit;\r\n if (hoverStateEnabled) {\r\n return subscribeToDxHoverEndEvent(this.widgetElementRef.current, event => {\r\n if (this.state.hovered) {\r\n this.setState(__state_argument => ({\r\n hovered: false\r\n }));\r\n null === onHoverEnd || void 0 === onHoverEnd ? void 0 : onHoverEnd(event)\r\n }\r\n }, {\r\n selector: selector\r\n }, \"UIFeedback\")\r\n }\r\n return\r\n }\r\n keyboardEffect() {\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n onKeyDown: onKeyDown\r\n } = this.props;\r\n if (focusStateEnabled && onKeyDown) {\r\n var id = keyboard.on(this.widgetElementRef.current, this.widgetElementRef.current, e => onKeyDown(e));\r\n return () => keyboard.off(id)\r\n }\r\n return\r\n }\r\n resizeEffect() {\r\n var namespace = \"\".concat(this.props.name, \"VisibilityChange\");\r\n var {\r\n onDimensionChanged: onDimensionChanged\r\n } = this.props;\r\n if (onDimensionChanged) {\r\n resize.on(this.widgetElementRef.current, onDimensionChanged, {\r\n namespace: namespace\r\n });\r\n return () => resize.off(this.widgetElementRef.current, {\r\n namespace: namespace\r\n })\r\n }\r\n return\r\n }\r\n windowResizeEffect() {\r\n var {\r\n onDimensionChanged: onDimensionChanged\r\n } = this.props;\r\n if (onDimensionChanged) {\r\n resizeCallbacks.add(onDimensionChanged);\r\n return () => {\r\n resizeCallbacks.remove(onDimensionChanged)\r\n }\r\n }\r\n return\r\n }\r\n visibilityEffect() {\r\n var {\r\n name: name,\r\n onVisibilityChange: onVisibilityChange\r\n } = this.props;\r\n var namespace = \"\".concat(name, \"VisibilityChange\");\r\n if (onVisibilityChange) {\r\n visibility.on(this.widgetElementRef.current, () => onVisibilityChange(true), () => onVisibilityChange(false), {\r\n namespace: namespace\r\n });\r\n return () => visibility.off(this.widgetElementRef.current, {\r\n namespace: namespace\r\n })\r\n }\r\n return\r\n }\r\n checkDeprecation() {\r\n var {\r\n height: height,\r\n width: width\r\n } = this.props;\r\n if (isFunction(width)) {\r\n errors.log(\"W0017\", \"width\")\r\n }\r\n if (isFunction(height)) {\r\n errors.log(\"W0017\", \"height\")\r\n }\r\n }\r\n applyCssTextEffect() {\r\n var {\r\n cssText: cssText\r\n } = this.props;\r\n if (\"\" !== cssText) {\r\n this.widgetElementRef.current.style.cssText = cssText\r\n }\r\n }\r\n get shouldRenderConfigProvider() {\r\n var {\r\n rtlEnabled: rtlEnabled\r\n } = this.props;\r\n return resolveRtlEnabledDefinition(rtlEnabled, this.config)\r\n }\r\n get rtlEnabled() {\r\n var {\r\n rtlEnabled: rtlEnabled\r\n } = this.props;\r\n return resolveRtlEnabled(rtlEnabled, this.config)\r\n }\r\n get attributes() {\r\n var {\r\n aria: aria,\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n visible: visible\r\n } = this.props;\r\n var accessKey = focusStateEnabled && !disabled && this.props.accessKey;\r\n return _extends({}, extend({}, accessKey && {\r\n accessKey: accessKey\r\n }), getAria(_extends({}, aria, {\r\n disabled: disabled,\r\n hidden: !visible\r\n })), extend({}, this.restAttributes))\r\n }\r\n get styles() {\r\n var {\r\n height: height,\r\n width: width\r\n } = this.props;\r\n var style = this.restAttributes.style || {};\r\n var computedWidth = normalizeStyleProp(\"width\", isFunction(width) ? width() : width);\r\n var computedHeight = normalizeStyleProp(\"height\", isFunction(height) ? height() : height);\r\n return _extends({}, style, {\r\n height: null !== computedHeight && void 0 !== computedHeight ? computedHeight : style.height,\r\n width: null !== computedWidth && void 0 !== computedWidth ? computedWidth : style.width\r\n })\r\n }\r\n get cssClasses() {\r\n var {\r\n activeStateEnabled: activeStateEnabled,\r\n addWidgetClass: addWidgetClass,\r\n className: className,\r\n classes: classes,\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n onVisibilityChange: onVisibilityChange,\r\n visible: visible\r\n } = this.props;\r\n var isFocusable = !!focusStateEnabled && !disabled;\r\n var isHoverable = !!hoverStateEnabled && !disabled;\r\n var canBeActive = !!activeStateEnabled && !disabled;\r\n var classesMap = {\r\n \"dx-widget\": !!addWidgetClass,\r\n [String(classes)]: !!classes,\r\n [String(className)]: !!className,\r\n \"dx-state-disabled\": !!disabled,\r\n \"dx-state-invisible\": !visible,\r\n \"dx-state-focused\": !!this.state.focused && isFocusable,\r\n \"dx-state-active\": !!this.state.active && canBeActive,\r\n \"dx-state-hover\": !!this.state.hovered && isHoverable && !this.state.active,\r\n \"dx-rtl\": !!this.rtlEnabled,\r\n \"dx-visibility-change-handler\": !!onVisibilityChange\r\n };\r\n return combineClasses(classesMap)\r\n }\r\n get tabIndex() {\r\n var {\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n tabIndex: tabIndex\r\n } = this.props;\r\n var isFocusable = focusStateEnabled && !disabled;\r\n return isFocusable ? tabIndex : void 0\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n focus() {\r\n focus.trigger(this.widgetElementRef.current)\r\n }\r\n blur() {\r\n var activeElement = domAdapter.getActiveElement(this.widgetElementRef.current);\r\n if (this.widgetElementRef.current === activeElement) {\r\n activeElement.blur()\r\n }\r\n }\r\n activate() {\r\n this.setState(__state_argument => ({\r\n active: true\r\n }))\r\n }\r\n deactivate() {\r\n this.setState(__state_argument => ({\r\n active: false\r\n }))\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n active: this.state.active,\r\n focused: this.state.focused,\r\n hovered: this.state.hovered,\r\n widgetElementRef: this.widgetElementRef,\r\n config: this.config,\r\n shouldRenderConfigProvider: this.shouldRenderConfigProvider,\r\n rtlEnabled: this.rtlEnabled,\r\n attributes: this.attributes,\r\n styles: this.styles,\r\n cssClasses: this.cssClasses,\r\n tabIndex: this.tabIndex,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nWidget.defaultProps = WidgetProps;\r\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","/**\r\n * DevExtreme (esm/core/config.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport errors from \"./errors\";\r\nvar config = {\r\n rtlEnabled: false,\r\n defaultCurrency: \"USD\",\r\n defaultUseCurrencyAccountingStyle: true,\r\n oDataFilterToLower: true,\r\n serverDecimalSeparator: \".\",\r\n decimalSeparator: \".\",\r\n thousandsSeparator: \",\",\r\n forceIsoDateParsing: true,\r\n wrapActionsBeforeExecute: true,\r\n useLegacyStoreResult: false,\r\n useJQuery: void 0,\r\n editorStylingMode: void 0,\r\n useLegacyVisibleIndex: false,\r\n floatingActionButtonConfig: {\r\n icon: \"add\",\r\n closeIcon: \"close\",\r\n label: \"\",\r\n position: {\r\n at: \"right bottom\",\r\n my: \"right bottom\",\r\n offset: {\r\n x: -16,\r\n y: -16\r\n }\r\n },\r\n maxSpeedDialActionCount: 5,\r\n shading: false,\r\n direction: \"auto\"\r\n },\r\n optionsParser: optionsString => {\r\n if (\"{\" !== optionsString.trim().charAt(0)) {\r\n optionsString = \"{\" + optionsString + \"}\"\r\n }\r\n try {\r\n return JSON.parse(optionsString)\r\n } catch (ex) {\r\n try {\r\n return JSON.parse(normalizeToJSONString(optionsString))\r\n } catch (exNormalize) {\r\n throw errors.Error(\"E3018\", ex, optionsString)\r\n }\r\n }\r\n }\r\n};\r\nvar normalizeToJSONString = optionsString => optionsString.replace(/'/g, '\"').replace(/,\\s*([\\]}])/g, \"$1\").replace(/([{,])\\s*([^\":\\s]+)\\s*:/g, '$1\"$2\":');\r\nvar deprecatedFields = [\"decimalSeparator\", \"thousandsSeparator\"];\r\nvar configMethod = function() {\r\n if (!arguments.length) {\r\n return config\r\n }\r\n var newConfig = arguments.length <= 0 ? void 0 : arguments[0];\r\n deprecatedFields.forEach(deprecatedField => {\r\n if (newConfig[deprecatedField]) {\r\n var message = \"Now, the \".concat(deprecatedField, \" is selected based on the specified locale.\");\r\n errors.log(\"W0003\", \"config\", deprecatedField, \"19.2\", message)\r\n }\r\n });\r\n extend(config, newConfig)\r\n};\r\nif (\"undefined\" !== typeof DevExpress && DevExpress.config) {\r\n configMethod(DevExpress.config)\r\n}\r\nexport default configMethod;\r\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enCa = moment.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enCa;\n\n})));\n","var bits\n , bytes;\n\nbits = {\n b: {\n name: {\n singular: 'Bit'\n , plural: 'Bits'\n }\n , to_anchor: 1\n }\n, Kb: {\n name: {\n singular: 'Kilobit'\n , plural: 'Kilobits'\n }\n , to_anchor: 1024\n }\n, Mb: {\n name: {\n singular: 'Megabit'\n , plural: 'Megabits'\n }\n , to_anchor: 1048576\n }\n, Gb: {\n name: {\n singular: 'Gigabit'\n , plural: 'Gigabits'\n }\n , to_anchor: 1073741824\n }\n, Tb: {\n name: {\n singular: 'Terabit'\n , plural: 'Terabits'\n }\n , to_anchor: 1099511627776\n }\n};\n\nbytes = {\n B: {\n name: {\n singular: 'Byte'\n , plural: 'Bytes'\n }\n , to_anchor: 1\n }\n, KB: {\n name: {\n singular: 'Kilobyte'\n , plural: 'Kilobytes'\n }\n , to_anchor: 1024\n }\n, MB: {\n name: {\n singular: 'Megabyte'\n , plural: 'Megabytes'\n }\n , to_anchor: 1048576\n }\n, GB: {\n name: {\n singular: 'Gigabyte'\n , plural: 'Gigabytes'\n }\n , to_anchor: 1073741824\n }\n, TB: {\n name: {\n singular: 'Terabyte'\n , plural: 'Terabytes'\n }\n , to_anchor: 1099511627776\n }\n};\n\nmodule.exports = {\n bits: bits\n, bytes: bytes\n, _anchors: {\n bits: {\n unit: 'b'\n , ratio: 1/8\n }\n , bytes: {\n unit: 'B'\n , ratio: 8\n }\n }\n};\n","// Mixins\nimport Colorable from '../colorable'\nimport Themeable from '../themeable'\nimport { inject as RegistrableInject } from '../registrable'\n\n// Utilities\nimport { deepEqual } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { InputMessage, InputValidationRules } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'form', any>('form'),\n Themeable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'validatable',\n\n props: {\n disabled: {\n type: Boolean,\n default: null,\n },\n error: Boolean,\n errorCount: {\n type: [Number, String],\n default: 1,\n },\n errorMessages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<InputMessage | null>,\n messages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<InputMessage | null>,\n readonly: {\n type: Boolean,\n default: null,\n },\n rules: {\n type: Array,\n default: () => [],\n } as PropValidator<InputValidationRules>,\n success: Boolean,\n successMessages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<InputMessage | null>,\n validateOnBlur: Boolean,\n value: { required: false },\n },\n\n data () {\n return {\n errorBucket: [] as string[],\n hasColor: false,\n hasFocused: false,\n hasInput: false,\n isFocused: false,\n isResetting: false,\n lazyValue: this.value,\n valid: false,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.color) return this.color\n // It's assumed that if the input is on a\n // dark background, the user will want to\n // have a white color. If the entire app\n // is setup to be dark, then they will\n // like want to use their primary color\n if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n hasError (): boolean {\n return (\n this.internalErrorMessages.length > 0 ||\n this.errorBucket.length > 0 ||\n this.error\n )\n },\n // TODO: Add logic that allows the user to enable based\n // upon a good validation\n hasSuccess (): boolean {\n return (\n this.internalSuccessMessages.length > 0 ||\n this.success\n )\n },\n externalError (): boolean {\n return this.internalErrorMessages.length > 0 || this.error\n },\n hasMessages (): boolean {\n return this.validationTarget.length > 0\n },\n hasState (): boolean {\n if (this.isDisabled) return false\n\n return (\n this.hasSuccess ||\n (this.shouldValidate && this.hasError)\n )\n },\n internalErrorMessages (): InputValidationRules {\n return this.genInternalMessages(this.errorMessages)\n },\n internalMessages (): InputValidationRules {\n return this.genInternalMessages(this.messages)\n },\n internalSuccessMessages (): InputValidationRules {\n return this.genInternalMessages(this.successMessages)\n },\n internalValue: {\n get (): unknown {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n\n this.$emit('input', val)\n },\n },\n isDisabled (): boolean {\n return this.disabled ?? (\n !!this.form &&\n this.form.disabled\n )\n },\n isInteractive (): boolean {\n return !this.isDisabled && !this.isReadonly\n },\n isReadonly (): boolean {\n return this.readonly ?? (\n !!this.form &&\n this.form.readonly\n )\n },\n shouldValidate (): boolean {\n if (this.externalError) return true\n if (this.isResetting) return false\n\n return this.validateOnBlur\n ? this.hasFocused && !this.isFocused\n : (this.hasInput || this.hasFocused)\n },\n validations (): InputValidationRules {\n return this.validationTarget.slice(0, Number(this.errorCount))\n },\n validationState (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor) return this.computedColor\n return undefined\n },\n validationTarget (): InputValidationRules {\n if (this.internalErrorMessages.length > 0) {\n return this.internalErrorMessages\n } else if (this.successMessages && this.successMessages.length > 0) {\n return this.internalSuccessMessages\n } else if (this.messages && this.messages.length > 0) {\n return this.internalMessages\n } else if (this.shouldValidate) {\n return this.errorBucket\n } else return []\n },\n },\n\n watch: {\n rules: {\n handler (newVal, oldVal) {\n if (deepEqual(newVal, oldVal)) return\n this.validate()\n },\n deep: true,\n },\n internalValue () {\n // If it's the first time we're setting input,\n // mark it with hasInput\n this.hasInput = true\n this.validateOnBlur || this.$nextTick(this.validate)\n },\n isFocused (val) {\n // Should not check validation\n // if disabled\n if (\n !val &&\n !this.isDisabled\n ) {\n this.hasFocused = true\n this.validateOnBlur && this.$nextTick(this.validate)\n }\n },\n isResetting () {\n setTimeout(() => {\n this.hasInput = false\n this.hasFocused = false\n this.isResetting = false\n this.validate()\n }, 0)\n },\n hasError (val) {\n if (this.shouldValidate) {\n this.$emit('update:error', val)\n }\n },\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeMount () {\n this.validate()\n },\n\n created () {\n this.form && this.form.register(this)\n },\n\n beforeDestroy () {\n this.form && this.form.unregister(this)\n },\n\n methods: {\n genInternalMessages (messages: InputMessage | null): InputValidationRules {\n if (!messages) return []\n else if (Array.isArray(messages)) return messages\n else return [messages]\n },\n /** @public */\n reset () {\n this.isResetting = true\n this.internalValue = Array.isArray(this.internalValue)\n ? []\n : null\n },\n /** @public */\n resetValidation () {\n this.isResetting = true\n },\n /** @public */\n validate (force = false, value?: any): boolean {\n const errorBucket = []\n value = value || this.internalValue\n\n if (force) this.hasInput = this.hasFocused = true\n\n for (let index = 0; index < this.rules.length; index++) {\n const rule = this.rules[index]\n const valid = typeof rule === 'function' ? rule(value) : rule\n\n if (valid === false || typeof valid === 'string') {\n errorBucket.push(valid || '')\n } else if (typeof valid !== 'boolean') {\n consoleError(`Rules should return a string or boolean, received '${typeof valid}' instead`, this)\n }\n }\n\n this.errorBucket = errorBucket\n this.valid = errorBucket.length === 0\n\n return this.valid\n },\n },\n})\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Scrollable from \"./ui.scrollable.old\";\r\nexport default Scrollable;\r\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\nvar noop = require('lodash.noop'),\n reNative = require('lodash._renative');\n\n/** Used as the property descriptor for `__bindData__` */\nvar descriptor = {\n 'configurable': false,\n 'enumerable': false,\n 'value': null,\n 'writable': false\n};\n\n/** Used to set meta data on functions */\nvar defineProperty = (function() {\n // IE 8 only accepts DOM elements\n try {\n var o = {},\n func = reNative.test(func = Object.defineProperty) && func,\n result = func(o, o, o) && func;\n } catch(e) { }\n return result;\n}());\n\n/**\n * Sets `this` binding data on a given function.\n *\n * @private\n * @param {Function} func The function to set data on.\n * @param {Array} value The data array to set.\n */\nvar setBindData = !defineProperty ? noop : function(func, value) {\n descriptor.value = value;\n defineProperty(func, '__bindData__', descriptor);\n};\n\nmodule.exports = setBindData;\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enGb = moment.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n case 'ss':\n output = '%d सेकंद';\n break;\n case 'm':\n output = 'एक मिनिट';\n break;\n case 'mm':\n output = '%d मिनिटे';\n break;\n case 'h':\n output = 'एक तास';\n break;\n case 'hh':\n output = '%d तास';\n break;\n case 'd':\n output = 'एक दिवस';\n break;\n case 'dd':\n output = '%d दिवस';\n break;\n case 'M':\n output = 'एक महिना';\n break;\n case 'MM':\n output = '%d महिने';\n break;\n case 'y':\n output = 'एक वर्ष';\n break;\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n case 'ss':\n output = '%d सेकंदां';\n break;\n case 'm':\n output = 'एका मिनिटा';\n break;\n case 'mm':\n output = '%d मिनिटां';\n break;\n case 'h':\n output = 'एका तासा';\n break;\n case 'hh':\n output = '%d तासां';\n break;\n case 'd':\n output = 'एका दिवसा';\n break;\n case 'dd':\n output = '%d दिवसां';\n break;\n case 'M':\n output = 'एका महिन्या';\n break;\n case 'MM':\n output = '%d महिन्यां';\n break;\n case 'y':\n output = 'एका वर्षा';\n break;\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n monthsShort:\n 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm वाजता',\n LTS: 'A h:mm:ss वाजता',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm वाजता',\n LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[उद्या] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr,\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (\n meridiem === 'दुपारी' ||\n meridiem === 'सायंकाळी' ||\n meridiem === 'रात्री'\n ) {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\n return 'पहाटे';\n } else if (hour < 12) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return mr;\n\n})));\n","import './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Menuable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n openOnFocus: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n if (this.attach === false) top += this.pageYOffset\n\n return `${this.calcYOverflow(top)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.value && this.callActivate()\n })\n },\n\n mounted () {\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-tooltip's activator slot must be bound, try '<template #activator=\"data\"><v-btn v-on=\"data.on>'`, this)\n }\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(this.startTransition)\n },\n deactivate () {\n this.runDelay('close')\n },\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n if (this.openOnFocus) {\n listeners.focus = (e: Event) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.blur = (e: Event) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n listeners.keydown = (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.esc) {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n return listeners\n },\n genActivatorAttributes () {\n return {\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genTransition () {\n const content = this.genContent()\n\n if (!this.computedTransition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.computedTransition,\n },\n }, [content])\n },\n genContent () {\n return this.$createElement(\n 'div',\n this.setBackgroundColor(this.color, {\n staticClass: 'v-tooltip__content',\n class: {\n [this.contentClass]: true,\n menuable__content__active: this.isActive,\n 'v-tooltip__content--fixed': this.activatorFixed,\n },\n style: this.styles,\n attrs: this.getScopeIdAttrs(),\n directives: [{\n name: 'show',\n value: this.isContentActive,\n }],\n ref: 'content',\n }),\n this.getContentSlot()\n )\n },\n },\n\n render (h): VNode {\n return h(this.tag, {\n staticClass: 'v-tooltip',\n class: this.classes,\n }, [\n this.showLazyContent(() => [this.genTransition()]),\n this.genActivator(),\n ])\n },\n})\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n var ne = moment.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n '_'\n ),\n monthsShort:\n 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n '_'\n ),\n weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'Aको h:mm बजे',\n LTS: 'Aको h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, Aको h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[भोलि] LT',\n nextWeek: '[आउँदो] dddd[,] LT',\n lastDay: '[हिजो] LT',\n lastWeek: '[गएको] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमा',\n past: '%s अगाडि',\n s: 'केही क्षण',\n ss: '%d सेकेण्ड',\n m: 'एक मिनेट',\n mm: '%d मिनेट',\n h: 'एक घण्टा',\n hh: '%d घण्टा',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महिना',\n MM: '%d महिना',\n y: 'एक बर्ष',\n yy: '%d बर्ष',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ne;\n\n})));\n","import { factory as PositionableFactory } from '../positionable'\nimport { TargetProp } from 'vuetify/types/services/application'\n\n// Util\nimport mixins from '../../util/mixins'\n\nexport default function applicationable (value: TargetProp, events: string[] = []) {\n /* @vue/component */\n return mixins(PositionableFactory(['absolute', 'fixed'])).extend({\n name: 'applicationable',\n\n props: {\n app: Boolean,\n },\n\n computed: {\n applicationProperty (): TargetProp {\n return value\n },\n },\n\n watch: {\n // If previous value was app\n // reset the provided prop\n app (x: boolean, prev: boolean) {\n prev\n ? this.removeApplication(true)\n : this.callUpdate()\n },\n applicationProperty (newVal, oldVal) {\n this.$vuetify.application.unregister(this._uid, oldVal)\n },\n },\n\n activated () {\n this.callUpdate()\n },\n\n created () {\n for (let i = 0, length = events.length; i < length; i++) {\n this.$watch(events[i], this.callUpdate)\n }\n this.callUpdate()\n },\n\n mounted () {\n this.callUpdate()\n },\n\n deactivated () {\n this.removeApplication()\n },\n\n destroyed () {\n this.removeApplication()\n },\n\n methods: {\n callUpdate () {\n if (!this.app) return\n\n this.$vuetify.application.register(\n this._uid,\n this.applicationProperty,\n this.updateApplication()\n )\n },\n removeApplication (force = false) {\n if (!force && !this.app) return\n\n this.$vuetify.application.unregister(\n this._uid,\n this.applicationProperty\n )\n },\n updateApplication: () => 0,\n },\n })\n}\n","/**\r\n * DevExtreme (esm/core/utils/variable_wrapper.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n logger\r\n} from \"./console\";\r\nimport dependencyInjector from \"./dependency_injector\";\r\nexport default dependencyInjector({\r\n isWrapped: function() {\r\n return false\r\n },\r\n isWritableWrapped: function() {\r\n return false\r\n },\r\n wrap: function(value) {\r\n return value\r\n },\r\n unwrap: function(value) {\r\n return value\r\n },\r\n assign: function() {\r\n logger.error(\"Method 'assign' should not be used for not wrapped variables. Use 'isWrapped' method for ensuring.\")\r\n }\r\n});\r\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhMo = moment.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhMo;\n\n})));\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум',\n };\n\n var tg = moment.defineLocale('tg', {\n months: {\n format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n '_'\n ),\n standalone:\n 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n },\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n '_'\n ),\n weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Имрӯз соати] LT',\n nextDay: '[Фардо соати] LT',\n lastDay: '[Дирӯз соати] LT',\n nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\n m: 'як дақиқа',\n mm: '%d дақиқа',\n h: 'як соат',\n hh: '%d соат',\n d: 'як рӯз',\n dd: '%d рӯз',\n M: 'як моҳ',\n MM: '%d моҳ',\n y: 'як сол',\n yy: '%d сол',\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1th is the first week of the year.\n },\n });\n\n return tg;\n\n})));\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = {\n standalone:\n 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n '_'\n ),\n format: 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n '_'\n ),\n isFormat: /DD?[o.]?(\\[[^\\[\\]]*\\]|\\s)+MMMM/,\n },\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse = [\n /^led/i,\n /^úno/i,\n /^bře/i,\n /^dub/i,\n /^kvě/i,\n /^(čvn|červen$|června)/i,\n /^(čvc|červenec|července)/i,\n /^srp/i,\n /^zář/i,\n /^říj/i,\n /^lis/i,\n /^pro/i,\n ],\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex =\n /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months: months,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex:\n /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex:\n /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY',\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦',\n },\n numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0',\n };\n\n var ta = moment.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n monthsShort:\n 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n weekdays:\n 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n '_'\n ),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n '_'\n ),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm',\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: '೭',\n 8: '೮',\n 9: '೯',\n 0: '೦',\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0',\n };\n\n var kn = moment.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n '_'\n ),\n monthsShort:\n 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n '_'\n ),\n weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[ಇಂದು] LT',\n nextDay: '[ನಾಳೆ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ನಿನ್ನೆ] LT',\n lastWeek: '[ಕೊನೆಯ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ನಂತರ',\n past: '%s ಹಿಂದೆ',\n s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss: '%d ಸೆಕೆಂಡುಗಳು',\n m: 'ಒಂದು ನಿಮಿಷ',\n mm: '%d ನಿಮಿಷ',\n h: 'ಒಂದು ಗಂಟೆ',\n hh: '%d ಗಂಟೆ',\n d: 'ಒಂದು ದಿನ',\n dd: '%d ದಿನ',\n M: 'ಒಂದು ತಿಂಗಳು',\n MM: '%d ತಿಂಗಳು',\n y: 'ಒಂದು ವರ್ಷ',\n yy: '%d ವರ್ಷ',\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function (number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return kn;\n\n})));\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\n\n/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'name': 'fred' };\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\r\n * DevExtreme (esm/core/http_request.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nvar window = getWindow();\r\nimport injector from \"./utils/dependency_injector\";\r\nvar nativeXMLHttpRequest = {\r\n getXhr: function() {\r\n return new window.XMLHttpRequest\r\n }\r\n};\r\nexport default injector(nativeXMLHttpRequest);\r\n","/**\r\n * DevExtreme (esm/core/utils/ajax.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred\r\n} from \"./deferred\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport httpRequest from \"../../core/http_request\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n extendFromObject\r\n} from \"./extend\";\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport injector from \"./dependency_injector\";\r\nvar SUCCESS = \"success\";\r\nvar ERROR = \"error\";\r\nvar TIMEOUT = \"timeout\";\r\nvar NO_CONTENT = \"nocontent\";\r\nvar PARSER_ERROR = \"parsererror\";\r\nvar isStatusSuccess = function(status) {\r\n return 200 <= status && status < 300\r\n};\r\nvar hasContent = function(status) {\r\n return 204 !== status\r\n};\r\nvar paramsConvert = function(params) {\r\n var result = [];\r\n for (var name in params) {\r\n var value = params[name];\r\n if (void 0 === value) {\r\n continue\r\n }\r\n if (null === value) {\r\n value = \"\"\r\n }\r\n if (\"function\" === typeof value) {\r\n value = value()\r\n }\r\n result.push(encodeURIComponent(name) + \"=\" + encodeURIComponent(value))\r\n }\r\n return result.join(\"&\")\r\n};\r\nvar createScript = function(options) {\r\n var script = domAdapter.createElement(\"script\");\r\n for (var name in options) {\r\n script[name] = options[name]\r\n }\r\n return script\r\n};\r\nvar removeScript = function(scriptNode) {\r\n scriptNode.parentNode.removeChild(scriptNode)\r\n};\r\nvar appendToHead = function(element) {\r\n return domAdapter.getHead().appendChild(element)\r\n};\r\nvar evalScript = function(code) {\r\n var script = createScript({\r\n text: code\r\n });\r\n appendToHead(script);\r\n removeScript(script)\r\n};\r\nvar evalCrossDomainScript = function(url) {\r\n var script = createScript({\r\n src: url\r\n });\r\n return new Promise((function(resolve, reject) {\r\n var events = {\r\n load: resolve,\r\n error: reject\r\n };\r\n var loadHandler = function(e) {\r\n events[e.type]();\r\n removeScript(script)\r\n };\r\n for (var event in events) {\r\n domAdapter.listen(script, event, loadHandler)\r\n }\r\n appendToHead(script)\r\n }))\r\n};\r\nvar getAcceptHeader = function(options) {\r\n var dataType = options.dataType || \"*\";\r\n var scriptAccept = \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\";\r\n var accepts = {\r\n \"*\": \"*/*\",\r\n text: \"text/plain\",\r\n html: \"text/html\",\r\n xml: \"application/xml, text/xml\",\r\n json: \"application/json, text/javascript\",\r\n jsonp: scriptAccept,\r\n script: scriptAccept\r\n };\r\n extendFromObject(accepts, options.accepts, true);\r\n return accepts[dataType] ? accepts[dataType] + (\"*\" !== dataType ? \", */*; q=0.01\" : \"\") : accepts[\"*\"]\r\n};\r\nvar getContentTypeHeader = function(options) {\r\n var defaultContentType;\r\n if (options.data && !options.upload && \"GET\" !== getMethod(options)) {\r\n defaultContentType = \"application/x-www-form-urlencoded;charset=utf-8\"\r\n }\r\n return options.contentType || defaultContentType\r\n};\r\nvar getDataFromResponse = function(xhr) {\r\n return xhr.responseType && \"text\" !== xhr.responseType || \"string\" !== typeof xhr.responseText ? xhr.response : xhr.responseText\r\n};\r\nvar postProcess = function(deferred, xhr, dataType) {\r\n var data = getDataFromResponse(xhr);\r\n switch (dataType) {\r\n case \"jsonp\":\r\n evalScript(data);\r\n break;\r\n case \"script\":\r\n evalScript(data);\r\n deferred.resolve(data, SUCCESS, xhr);\r\n break;\r\n case \"json\":\r\n try {\r\n deferred.resolve(JSON.parse(data), SUCCESS, xhr)\r\n } catch (e) {\r\n deferred.reject(xhr, PARSER_ERROR, e)\r\n }\r\n break;\r\n default:\r\n deferred.resolve(data, SUCCESS, xhr)\r\n }\r\n};\r\nvar isCrossDomain = function(url) {\r\n if (!hasWindow()) {\r\n return true\r\n }\r\n var crossDomain = false;\r\n var originAnchor = domAdapter.createElement(\"a\");\r\n var urlAnchor = domAdapter.createElement(\"a\");\r\n originAnchor.href = window.location.href;\r\n try {\r\n urlAnchor.href = url;\r\n urlAnchor.href = urlAnchor.href;\r\n crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !== urlAnchor.protocol + \"//\" + urlAnchor.host\r\n } catch (e) {\r\n crossDomain = true\r\n }\r\n return crossDomain\r\n};\r\nvar setHttpTimeout = function(timeout, xhr) {\r\n return timeout && setTimeout((function() {\r\n xhr.customStatus = TIMEOUT;\r\n xhr.abort()\r\n }), timeout)\r\n};\r\nvar getJsonpOptions = function(options) {\r\n if (\"jsonp\" === options.dataType) {\r\n var random = Math.random().toString().replace(/\\D/g, \"\");\r\n var callbackName = options.jsonpCallback || \"dxCallback\" + Date.now() + \"_\" + random;\r\n var callbackParameter = options.jsonp || \"callback\";\r\n options.data = options.data || {};\r\n options.data[callbackParameter] = callbackName;\r\n return callbackName\r\n }\r\n};\r\nvar getRequestOptions = function(options, headers) {\r\n var params = options.data;\r\n var paramsAlreadyString = \"string\" === typeof params;\r\n var url = options.url || window.location.href;\r\n if (!paramsAlreadyString && !options.cache) {\r\n params = params || {};\r\n params._ = Date.now()\r\n }\r\n if (params && !options.upload) {\r\n if (!paramsAlreadyString) {\r\n params = paramsConvert(params)\r\n }\r\n if (\"GET\" === getMethod(options)) {\r\n if (\"\" !== params) {\r\n url += (url.indexOf(\"?\") > -1 ? \"&\" : \"?\") + params\r\n }\r\n params = null\r\n } else if (headers[\"Content-Type\"] && headers[\"Content-Type\"].indexOf(\"application/x-www-form-urlencoded\") > -1) {\r\n params = params.replace(/%20/g, \"+\")\r\n }\r\n }\r\n return {\r\n url: url,\r\n parameters: params\r\n }\r\n};\r\n\r\nfunction getMethod(options) {\r\n return (options.method || \"GET\").toUpperCase()\r\n}\r\nvar getRequestHeaders = function(options) {\r\n var headers = options.headers || {};\r\n headers[\"Content-Type\"] = headers[\"Content-Type\"] || getContentTypeHeader(options);\r\n headers.Accept = headers.Accept || getAcceptHeader(options);\r\n if (!options.crossDomain && !headers[\"X-Requested-With\"]) {\r\n headers[\"X-Requested-With\"] = \"XMLHttpRequest\"\r\n }\r\n return headers\r\n};\r\nvar sendRequest = function(options) {\r\n var xhr = httpRequest.getXhr();\r\n var d = new Deferred;\r\n var result = d.promise();\r\n var async = isDefined(options.async) ? options.async : true;\r\n var dataType = options.dataType;\r\n var timeout = options.timeout || 0;\r\n var timeoutId;\r\n options.crossDomain = isCrossDomain(options.url);\r\n var needScriptEvaluation = \"jsonp\" === dataType || \"script\" === dataType;\r\n if (void 0 === options.cache) {\r\n options.cache = !needScriptEvaluation\r\n }\r\n var callbackName = getJsonpOptions(options);\r\n var headers = getRequestHeaders(options);\r\n var requestOptions = getRequestOptions(options, headers);\r\n var url = requestOptions.url;\r\n var parameters = requestOptions.parameters;\r\n if (callbackName) {\r\n window[callbackName] = function(data) {\r\n d.resolve(data, SUCCESS, xhr)\r\n }\r\n }\r\n if (options.crossDomain && needScriptEvaluation) {\r\n evalCrossDomainScript(url).then((function() {\r\n if (\"jsonp\" === dataType) {\r\n return\r\n }\r\n d.resolve(null, SUCCESS, xhr)\r\n }), (function() {\r\n d.reject(xhr, ERROR)\r\n }));\r\n return result\r\n }\r\n if (options.crossDomain && !(\"withCredentials\" in xhr)) {\r\n d.reject(xhr, ERROR);\r\n return result\r\n }\r\n xhr.open(getMethod(options), url, async, options.username, options.password);\r\n if (async) {\r\n xhr.timeout = timeout;\r\n timeoutId = setHttpTimeout(timeout, xhr)\r\n }\r\n xhr.onreadystatechange = function(e) {\r\n if (4 === xhr.readyState) {\r\n clearTimeout(timeoutId);\r\n if (isStatusSuccess(xhr.status)) {\r\n if (hasContent(xhr.status)) {\r\n postProcess(d, xhr, dataType)\r\n } else {\r\n d.resolve(null, NO_CONTENT, xhr)\r\n }\r\n } else {\r\n d.reject(xhr, xhr.customStatus || ERROR)\r\n }\r\n }\r\n };\r\n if (options.upload) {\r\n xhr.upload.onprogress = options.upload.onprogress;\r\n xhr.upload.onloadstart = options.upload.onloadstart;\r\n xhr.upload.onabort = options.upload.onabort\r\n }\r\n if (options.xhrFields) {\r\n for (var field in options.xhrFields) {\r\n xhr[field] = options.xhrFields[field]\r\n }\r\n }\r\n if (\"arraybuffer\" === options.responseType) {\r\n xhr.responseType = options.responseType\r\n }\r\n for (var name in headers) {\r\n if (Object.prototype.hasOwnProperty.call(headers, name) && isDefined(headers[name])) {\r\n xhr.setRequestHeader(name, headers[name])\r\n }\r\n }\r\n if (options.beforeSend) {\r\n options.beforeSend(xhr)\r\n }\r\n xhr.send(parameters);\r\n result.abort = function() {\r\n xhr.abort()\r\n };\r\n return result\r\n};\r\nexport default injector({\r\n sendRequest: sendRequest\r\n});\r\n","/**\r\n * DevExtreme (esm/events/short.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"./core/events_engine\";\r\nimport KeyboardProcessor from \"./core/keyboard_processor\";\r\nimport {\r\n addNamespace as pureAddNamespace\r\n} from \"./utils/index\";\r\n\r\nfunction addNamespace(event, namespace) {\r\n return namespace ? pureAddNamespace(event, namespace) : event\r\n}\r\n\r\nfunction executeAction(action, args) {\r\n return \"function\" === typeof action ? action(args) : action.execute(args)\r\n}\r\nexport var active = {\r\n on: ($el, active, inactive, opts) => {\r\n var {\r\n selector: selector,\r\n showTimeout: showTimeout,\r\n hideTimeout: hideTimeout,\r\n namespace: namespace\r\n } = opts;\r\n eventsEngine.on($el, addNamespace(\"dxactive\", namespace), selector, {\r\n timeout: showTimeout\r\n }, event => executeAction(active, {\r\n event: event,\r\n element: event.currentTarget\r\n }));\r\n eventsEngine.on($el, addNamespace(\"dxinactive\", namespace), selector, {\r\n timeout: hideTimeout\r\n }, event => executeAction(inactive, {\r\n event: event,\r\n element: event.currentTarget\r\n }))\r\n },\r\n off: ($el, _ref) => {\r\n var {\r\n namespace: namespace,\r\n selector: selector\r\n } = _ref;\r\n eventsEngine.off($el, addNamespace(\"dxactive\", namespace), selector);\r\n eventsEngine.off($el, addNamespace(\"dxinactive\", namespace), selector)\r\n }\r\n};\r\nexport var resize = {\r\n on: function($el, resize) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"dxresize\", namespace), resize)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxresize\", namespace))\r\n }\r\n};\r\nexport var hover = {\r\n on: ($el, start, end, _ref2) => {\r\n var {\r\n selector: selector,\r\n namespace: namespace\r\n } = _ref2;\r\n eventsEngine.on($el, addNamespace(\"dxhoverend\", namespace), selector, event => end(event));\r\n eventsEngine.on($el, addNamespace(\"dxhoverstart\", namespace), selector, event => executeAction(start, {\r\n element: event.target,\r\n event: event\r\n }))\r\n },\r\n off: ($el, _ref3) => {\r\n var {\r\n selector: selector,\r\n namespace: namespace\r\n } = _ref3;\r\n eventsEngine.off($el, addNamespace(\"dxhoverstart\", namespace), selector);\r\n eventsEngine.off($el, addNamespace(\"dxhoverend\", namespace), selector)\r\n }\r\n};\r\nexport var visibility = {\r\n on: ($el, shown, hiding, _ref4) => {\r\n var {\r\n namespace: namespace\r\n } = _ref4;\r\n eventsEngine.on($el, addNamespace(\"dxhiding\", namespace), hiding);\r\n eventsEngine.on($el, addNamespace(\"dxshown\", namespace), shown)\r\n },\r\n off: ($el, _ref5) => {\r\n var {\r\n namespace: namespace\r\n } = _ref5;\r\n eventsEngine.off($el, addNamespace(\"dxhiding\", namespace));\r\n eventsEngine.off($el, addNamespace(\"dxshown\", namespace))\r\n }\r\n};\r\nexport var focus = {\r\n on: ($el, focusIn, focusOut, _ref6) => {\r\n var {\r\n namespace: namespace\r\n } = _ref6;\r\n eventsEngine.on($el, addNamespace(\"focusin\", namespace), focusIn);\r\n eventsEngine.on($el, addNamespace(\"focusout\", namespace), focusOut)\r\n },\r\n off: ($el, _ref7) => {\r\n var {\r\n namespace: namespace\r\n } = _ref7;\r\n eventsEngine.off($el, addNamespace(\"focusin\", namespace));\r\n eventsEngine.off($el, addNamespace(\"focusout\", namespace))\r\n },\r\n trigger: $el => eventsEngine.trigger($el, \"focus\")\r\n};\r\nexport var dxClick = {\r\n on: function($el, click) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"dxclick\", namespace), click)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxclick\", namespace))\r\n }\r\n};\r\nexport var click = {\r\n on: function($el, click) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"click\", namespace), click)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"click\", namespace))\r\n }\r\n};\r\nvar index = 0;\r\nvar keyboardProcessors = {};\r\nvar generateListenerId = () => \"keyboardProcessorId\".concat(index++);\r\nexport var keyboard = {\r\n on: (element, focusTarget, handler) => {\r\n var listenerId = generateListenerId();\r\n keyboardProcessors[listenerId] = new KeyboardProcessor({\r\n element: element,\r\n focusTarget: focusTarget,\r\n handler: handler\r\n });\r\n return listenerId\r\n },\r\n off: listenerId => {\r\n if (listenerId && keyboardProcessors[listenerId]) {\r\n keyboardProcessors[listenerId].dispose();\r\n delete keyboardProcessors[listenerId]\r\n }\r\n },\r\n _getProcessor: listenerId => keyboardProcessors[listenerId]\r\n};\r\n","/**\r\n * DevExtreme (esm/core/action.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nimport {\r\n isPlainObject,\r\n isFunction\r\n} from \"./utils/type\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nexport default class Action {\r\n constructor(action, config) {\r\n config = config || {};\r\n this._action = action;\r\n this._context = config.context || getWindow();\r\n this._beforeExecute = config.beforeExecute;\r\n this._afterExecute = config.afterExecute;\r\n this._component = config.component;\r\n this._validatingTargetName = config.validatingTargetName;\r\n var excludeValidators = this._excludeValidators = {};\r\n if (config.excludeValidators) {\r\n for (var i = 0; i < config.excludeValidators.length; i++) {\r\n excludeValidators[config.excludeValidators[i]] = true\r\n }\r\n }\r\n }\r\n execute() {\r\n var e = {\r\n action: this._action,\r\n args: Array.prototype.slice.call(arguments),\r\n context: this._context,\r\n component: this._component,\r\n validatingTargetName: this._validatingTargetName,\r\n cancel: false,\r\n handled: false\r\n };\r\n var beforeExecute = this._beforeExecute;\r\n var afterExecute = this._afterExecute;\r\n var argsBag = e.args[0] || {};\r\n if (!this._validateAction(e)) {\r\n return\r\n }\r\n null === beforeExecute || void 0 === beforeExecute ? void 0 : beforeExecute.call(this._context, e);\r\n if (e.cancel) {\r\n return\r\n }\r\n var result = this._executeAction(e);\r\n if (argsBag.cancel) {\r\n return\r\n }\r\n null === afterExecute || void 0 === afterExecute ? void 0 : afterExecute.call(this._context, e);\r\n return result\r\n }\r\n _validateAction(e) {\r\n var excludeValidators = this._excludeValidators;\r\n var {\r\n executors: executors\r\n } = Action;\r\n for (var name in executors) {\r\n if (!excludeValidators[name]) {\r\n var _executor$validate;\r\n var executor = executors[name];\r\n null === (_executor$validate = executor.validate) || void 0 === _executor$validate ? void 0 : _executor$validate.call(executor, e);\r\n if (e.cancel) {\r\n return false\r\n }\r\n }\r\n }\r\n return true\r\n }\r\n _executeAction(e) {\r\n var result;\r\n var {\r\n executors: executors\r\n } = Action;\r\n for (var name in executors) {\r\n var _executor$execute;\r\n var executor = executors[name];\r\n null === (_executor$execute = executor.execute) || void 0 === _executor$execute ? void 0 : _executor$execute.call(executor, e);\r\n if (e.handled) {\r\n result = e.result;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n static registerExecutor(name, executor) {\r\n if (isPlainObject(name)) {\r\n each(name, Action.registerExecutor);\r\n return\r\n }\r\n Action.executors[name] = executor\r\n }\r\n static unregisterExecutor() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n each(args, (function() {\r\n delete Action.executors[this]\r\n }))\r\n }\r\n}\r\nAction.executors = {};\r\nvar createValidatorByTargetElement = condition => e => {\r\n if (!e.args.length) {\r\n return\r\n }\r\n var args = e.args[0];\r\n var element = args[e.validatingTargetName] || args.element;\r\n if (element && condition($(element))) {\r\n e.cancel = true\r\n }\r\n};\r\nAction.registerExecutor({\r\n disabled: {\r\n validate: createValidatorByTargetElement($target => $target.is(\".dx-state-disabled, .dx-state-disabled *\"))\r\n },\r\n readOnly: {\r\n validate: createValidatorByTargetElement($target => $target.is(\".dx-state-readonly, .dx-state-readonly *:not(.dx-state-independent)\"))\r\n },\r\n undefined: {\r\n execute: e => {\r\n if (!e.action) {\r\n e.result = void 0;\r\n e.handled = true\r\n }\r\n }\r\n },\r\n func: {\r\n execute: e => {\r\n if (isFunction(e.action)) {\r\n e.result = e.action.call(e.context, e.args[0]);\r\n e.handled = true\r\n }\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/data/errors.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"../core/utils/error\";\r\nimport coreErrors from \"../core/errors\";\r\nexport var errors = errorUtils(coreErrors.ERROR_MESSAGES, {\r\n E4000: \"[DevExpress.data]: {0}\",\r\n E4001: \"Unknown aggregating function is detected: '{0}'\",\r\n E4002: \"Unsupported OData protocol version is used\",\r\n E4003: \"Unknown filter operation is used: {0}\",\r\n E4004: \"The thenby() method is called before the sortby() method\",\r\n E4005: \"Store requires a key expression for this operation\",\r\n E4006: \"ArrayStore 'data' option must be an array\",\r\n E4007: \"Compound keys cannot be auto-generated\",\r\n E4008: \"Attempt to insert an item with a duplicated key\",\r\n E4009: \"Data item cannot be found\",\r\n E4010: \"CustomStore does not support creating queries\",\r\n E4011: \"Custom Store method is not implemented or is not a function: {0}\",\r\n E4012: \"Custom Store method returns an invalid value: {0}\",\r\n E4013: \"Local Store requires the 'name' configuration option is specified\",\r\n E4014: \"Unknown data type is specified for ODataStore: {0}\",\r\n E4015: \"Unknown entity name or alias is used: {0}\",\r\n E4016: \"The compileSetter(expr) method is called with 'self' passed as a parameter\",\r\n E4017: \"Keys cannot be modified\",\r\n E4018: \"The server has returned a non-numeric value in a response to an item count request\",\r\n E4019: \"Mixing of group operators inside a single group of filter expression is not allowed\",\r\n E4020: \"Unknown store type is detected: {0}\",\r\n E4021: \"The server response does not provide the totalCount value\",\r\n E4022: \"The server response does not provide the groupCount value\",\r\n E4023: \"Could not parse the following XML: {0}\",\r\n E4024: \"String function {0} cannot be used with the data field {1} of type {2}.\",\r\n W4000: \"Data returned from the server has an incorrect structure\",\r\n W4001: 'The {0} field is listed in both \"keyType\" and \"fieldTypes\". The value of \"fieldTypes\" is used.',\r\n W4002: \"Data loading has failed for some cells due to the following error: {0}\"\r\n});\r\nexport var errorHandler = null;\r\nexport var handleError = function(error) {\r\n var _errorHandler;\r\n null === (_errorHandler = errorHandler) || void 0 === _errorHandler ? void 0 : _errorHandler(error)\r\n};\r\nexport var setErrorHandler = handler => errorHandler = handler;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/utils.caret.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport devices from \"../../core/devices\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nvar {\r\n ios: ios,\r\n mac: mac\r\n} = devices.real();\r\nvar isFocusingOnCaretChange = ios || mac;\r\nvar getCaret = function(input) {\r\n var range;\r\n try {\r\n range = {\r\n start: input.selectionStart,\r\n end: input.selectionEnd\r\n }\r\n } catch (e) {\r\n range = {\r\n start: 0,\r\n end: 0\r\n }\r\n }\r\n return range\r\n};\r\nvar setCaret = function(input, position) {\r\n var body = domAdapter.getBody();\r\n if (!body.contains(input) && !body.contains(input.getRootNode().host)) {\r\n return\r\n }\r\n try {\r\n input.selectionStart = position.start;\r\n input.selectionEnd = position.end\r\n } catch (e) {}\r\n};\r\nvar caret = function(input, position) {\r\n var force = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n input = $(input).get(0);\r\n if (!isDefined(position)) {\r\n return getCaret(input)\r\n }\r\n if (!force && isFocusingOnCaretChange && domAdapter.getActiveElement(input) !== input) {\r\n return\r\n }\r\n setCaret(input, position)\r\n};\r\nexport default caret;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.rule.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nvar EMPTY_CHAR = \" \";\r\nclass BaseMaskRule {\r\n constructor(config) {\r\n this._value = EMPTY_CHAR;\r\n extend(this, config)\r\n }\r\n next(rule) {\r\n if (!arguments.length) {\r\n return this._next\r\n }\r\n this._next = rule\r\n }\r\n _prepareHandlingArgs(args, config) {\r\n var _config$str, _config$start, _config$length;\r\n config = config || {};\r\n var handlingProperty = Object.prototype.hasOwnProperty.call(args, \"value\") ? \"value\" : \"text\";\r\n args[handlingProperty] = null !== (_config$str = config.str) && void 0 !== _config$str ? _config$str : args[handlingProperty];\r\n args.start = null !== (_config$start = config.start) && void 0 !== _config$start ? _config$start : args.start;\r\n args.length = null !== (_config$length = config.length) && void 0 !== _config$length ? _config$length : args.length;\r\n args.index = args.index + 1;\r\n return args\r\n }\r\n first(index) {\r\n index = index || 0;\r\n return this.next().first(index + 1)\r\n }\r\n isAccepted() {\r\n return false\r\n }\r\n adjustedCaret(caret, isForwardDirection, char) {\r\n return isForwardDirection ? this._adjustedForward(caret, 0, char) : this._adjustedBackward(caret, 0, char)\r\n }\r\n _adjustedForward() {}\r\n _adjustedBackward() {}\r\n isValid() {}\r\n reset() {}\r\n clear() {}\r\n text() {}\r\n value() {}\r\n rawValue() {}\r\n handle() {}\r\n}\r\nexport class EmptyMaskRule extends BaseMaskRule {\r\n next() {}\r\n handle() {\r\n return 0\r\n }\r\n text() {\r\n return \"\"\r\n }\r\n value() {\r\n return \"\"\r\n }\r\n first() {\r\n return 0\r\n }\r\n rawValue() {\r\n return \"\"\r\n }\r\n adjustedCaret() {\r\n return 0\r\n }\r\n isValid() {\r\n return true\r\n }\r\n}\r\nexport class MaskRule extends BaseMaskRule {\r\n text() {\r\n return (this._value !== EMPTY_CHAR ? this._value : this.maskChar) + this.next().text()\r\n }\r\n value() {\r\n return this._value + this.next().value()\r\n }\r\n rawValue() {\r\n return this._value + this.next().rawValue()\r\n }\r\n handle(args) {\r\n var str = Object.prototype.hasOwnProperty.call(args, \"value\") ? args.value : args.text;\r\n if (!str || !str.length || !args.length) {\r\n return 0\r\n }\r\n if (args.start) {\r\n return this.next().handle(this._prepareHandlingArgs(args, {\r\n start: args.start - 1\r\n }))\r\n }\r\n var char = str[0];\r\n var rest = str.substring(1);\r\n this._tryAcceptChar(char, args);\r\n return this._accepted() ? this.next().handle(this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n })) + 1 : this.handle(this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n }))\r\n }\r\n clear(args) {\r\n this._tryAcceptChar(EMPTY_CHAR, args);\r\n this.next().clear(this._prepareHandlingArgs(args))\r\n }\r\n reset() {\r\n this._accepted(false);\r\n this.next().reset()\r\n }\r\n _tryAcceptChar(char, args) {\r\n this._accepted(false);\r\n if (!this._isAllowed(char, args)) {\r\n return\r\n }\r\n var acceptedChar = char === EMPTY_CHAR ? this.maskChar : char;\r\n args.fullText = args.fullText.substring(0, args.index) + acceptedChar + args.fullText.substring(args.index + 1);\r\n this._accepted(true);\r\n this._value = char\r\n }\r\n _accepted(value) {\r\n if (!arguments.length) {\r\n return !!this._isAccepted\r\n }\r\n this._isAccepted = !!value\r\n }\r\n first(index) {\r\n return this._value === EMPTY_CHAR ? index || 0 : super.first(index)\r\n }\r\n _isAllowed(char, args) {\r\n if (char === EMPTY_CHAR) {\r\n return true\r\n }\r\n return this._isValid(char, args)\r\n }\r\n _isValid(char, args) {\r\n var allowedChars = this.allowedChars;\r\n if (allowedChars instanceof RegExp) {\r\n return allowedChars.test(char)\r\n }\r\n if (isFunction(allowedChars)) {\r\n return allowedChars(char, args.index, args.fullText)\r\n }\r\n if (Array.isArray(allowedChars)) {\r\n return allowedChars.includes(char)\r\n }\r\n return allowedChars === char\r\n }\r\n isAccepted(caret) {\r\n return 0 === caret ? this._accepted() : this.next().isAccepted(caret - 1)\r\n }\r\n _adjustedForward(caret, index, char) {\r\n if (index >= caret) {\r\n return index\r\n }\r\n return this.next()._adjustedForward(caret, index + 1, char) || index + 1\r\n }\r\n _adjustedBackward(caret, index) {\r\n if (index >= caret - 1) {\r\n return caret\r\n }\r\n return this.next()._adjustedBackward(caret, index + 1) || index + 1\r\n }\r\n isValid(args) {\r\n return this._isValid(this._value, args) && this.next().isValid(this._prepareHandlingArgs(args))\r\n }\r\n}\r\nexport class StubMaskRule extends MaskRule {\r\n value() {\r\n return this.next().value()\r\n }\r\n handle(args) {\r\n var hasValueProperty = Object.prototype.hasOwnProperty.call(args, \"value\");\r\n var str = hasValueProperty ? args.value : args.text;\r\n if (!str.length || !args.length) {\r\n return 0\r\n }\r\n if (args.start || hasValueProperty) {\r\n return this.next().handle(this._prepareHandlingArgs(args, {\r\n start: args.start && args.start - 1\r\n }))\r\n }\r\n var char = str[0];\r\n var rest = str.substring(1);\r\n this._tryAcceptChar(char);\r\n var nextArgs = this._isAllowed(char) ? this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n }) : args;\r\n return this.next().handle(nextArgs) + 1\r\n }\r\n clear(args) {\r\n this._accepted(false);\r\n this.next().clear(this._prepareHandlingArgs(args))\r\n }\r\n _tryAcceptChar(char) {\r\n this._accepted(this._isValid(char))\r\n }\r\n _isValid(char) {\r\n return char === this.maskChar\r\n }\r\n first(index) {\r\n index = index || 0;\r\n return this.next().first(index + 1)\r\n }\r\n _adjustedForward(caret, index, char) {\r\n if (index >= caret && char === this.maskChar) {\r\n return index\r\n }\r\n if (caret === index + 1 && this._accepted()) {\r\n return caret\r\n }\r\n return this.next()._adjustedForward(caret, index + 1, char)\r\n }\r\n _adjustedBackward(caret, index) {\r\n if (index >= caret - 1) {\r\n return 0\r\n }\r\n return this.next()._adjustedBackward(caret, index + 1)\r\n }\r\n isValid(args) {\r\n return this.next().isValid(this._prepareHandlingArgs(args))\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.clear.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport TextEditorButton from \"./texteditor_button_collection/button\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointer from \"../../events/pointer\";\r\nimport {\r\n name as click\r\n} from \"../../events/click\";\r\nvar pointerDown = pointer.down;\r\nvar STATE_INVISIBLE_CLASS = \"dx-state-invisible\";\r\nvar TEXTEDITOR_CLEAR_BUTTON_CLASS = \"dx-clear-button-area\";\r\nvar TEXTEDITOR_CLEAR_ICON_CLASS = \"dx-icon-clear\";\r\nvar TEXTEDITOR_ICON_CLASS = \"dx-icon\";\r\nvar TEXTEDITOR_SHOW_CLEAR_BUTTON_CLASS = \"dx-show-clear-button\";\r\nexport default class ClearButton extends TextEditorButton {\r\n _create() {\r\n var $element = $(\"<span>\").addClass(TEXTEDITOR_CLEAR_BUTTON_CLASS).append($(\"<span>\").addClass(TEXTEDITOR_ICON_CLASS).addClass(TEXTEDITOR_CLEAR_ICON_CLASS));\r\n this._addToContainer($element);\r\n this.update(true);\r\n return {\r\n instance: $element,\r\n $element: $element\r\n }\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return editor._isClearButtonVisible()\r\n }\r\n _attachEvents(instance, $button) {\r\n var {\r\n editor: editor\r\n } = this;\r\n var editorName = editor.NAME;\r\n eventsEngine.on($button, addNamespace(pointerDown, editorName), e => {\r\n e.preventDefault();\r\n if (\"mouse\" !== e.pointerType) {\r\n editor._clearValueHandler(e)\r\n }\r\n });\r\n eventsEngine.on($button, addNamespace(click, editorName), e => editor._clearValueHandler(e))\r\n }\r\n _legacyRender($editor, isVisible) {\r\n $editor.toggleClass(TEXTEDITOR_SHOW_CLEAR_BUTTON_CLASS, isVisible)\r\n }\r\n update() {\r\n var rendered = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n !rendered && super.update();\r\n var {\r\n editor: editor,\r\n instance: instance\r\n } = this;\r\n var $editor = editor.$element();\r\n var isVisible = this._isVisible();\r\n instance && instance.toggleClass(STATE_INVISIBLE_CLASS, !isVisible);\r\n this._legacyRender($editor, isVisible)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/texteditor_button_collection/custom.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport TextEditorButton from \"./button\";\r\nimport Button from \"../../button\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n start,\r\n end\r\n} from \"../../../events/hover\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../events/click\";\r\nvar CUSTOM_BUTTON_HOVERED_CLASS = \"dx-custom-button-hovered\";\r\nexport default class CustomButton extends TextEditorButton {\r\n _attachEvents(instance, $element) {\r\n var {\r\n editor: editor\r\n } = this;\r\n eventsEngine.on($element, start, () => {\r\n editor.$element().addClass(CUSTOM_BUTTON_HOVERED_CLASS)\r\n });\r\n eventsEngine.on($element, end, () => {\r\n editor.$element().removeClass(CUSTOM_BUTTON_HOVERED_CLASS)\r\n });\r\n eventsEngine.on($element, clickEventName, e => {\r\n e.stopPropagation()\r\n })\r\n }\r\n _create() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var $element = $(\"<div>\");\r\n this._addToContainer($element);\r\n var instance = editor._createComponent($element, Button, extend({}, this.options, {\r\n ignoreParentReadOnly: true,\r\n disabled: this._isDisabled(),\r\n integrationOptions: this._prepareIntegrationOptions(editor)\r\n }));\r\n return {\r\n $element: $element,\r\n instance: instance\r\n }\r\n }\r\n _prepareIntegrationOptions(editor) {\r\n return extend({}, editor.option(\"integrationOptions\"), {\r\n skipTemplates: [\"content\"]\r\n })\r\n }\r\n update() {\r\n var isUpdated = super.update();\r\n if (this.instance) {\r\n this.instance.option(\"disabled\", this._isDisabled())\r\n }\r\n return isUpdated\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return editor.option(\"visible\")\r\n }\r\n _isDisabled() {\r\n var isDefinedByUser = void 0 !== this.options.disabled;\r\n if (isDefinedByUser) {\r\n return this.instance ? this.instance.option(\"disabled\") : this.options.disabled\r\n } else {\r\n return this.editor.option(\"readOnly\")\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/texteditor_button_collection/index.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport CustomButton from \"./custom\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport errors from \"../../widget/ui.errors\";\r\nvar TEXTEDITOR_BUTTONS_CONTAINER_CLASS = \"dx-texteditor-buttons-container\";\r\n\r\nfunction checkButtonInfo(buttonInfo) {\r\n (() => {\r\n if (!buttonInfo || \"object\" !== typeof buttonInfo || Array.isArray(buttonInfo)) {\r\n throw errors.Error(\"E1053\")\r\n }\r\n })();\r\n (() => {\r\n if (!(\"name\" in buttonInfo)) {\r\n throw errors.Error(\"E1054\")\r\n }\r\n })();\r\n (() => {\r\n var {\r\n name: name\r\n } = buttonInfo;\r\n if (\"string\" !== typeof name) {\r\n throw errors.Error(\"E1055\")\r\n }\r\n })();\r\n (() => {\r\n var {\r\n location: location\r\n } = buttonInfo;\r\n if (\"location\" in buttonInfo && \"after\" !== location && \"before\" !== location) {\r\n buttonInfo.location = \"after\"\r\n }\r\n })()\r\n}\r\n\r\nfunction checkNamesUniqueness(existingNames, newName) {\r\n if (-1 !== existingNames.indexOf(newName)) {\r\n throw errors.Error(\"E1055\", newName)\r\n }\r\n existingNames.push(newName)\r\n}\r\n\r\nfunction isPredefinedButtonName(name, predefinedButtonsInfo) {\r\n return !!predefinedButtonsInfo.find(info => info.name === name)\r\n}\r\nexport default class TextEditorButtonCollection {\r\n constructor(editor, defaultButtonsInfo) {\r\n this.buttons = [];\r\n this.defaultButtonsInfo = defaultButtonsInfo;\r\n this.editor = editor\r\n }\r\n _compileButtonInfo(buttons) {\r\n var names = [];\r\n return buttons.map(button => {\r\n var isStringButton = \"string\" === typeof button;\r\n if (!isStringButton) {\r\n checkButtonInfo(button)\r\n }\r\n var isDefaultButton = isStringButton || isPredefinedButtonName(button.name, this.defaultButtonsInfo);\r\n if (isDefaultButton) {\r\n var defaultButtonInfo = this.defaultButtonsInfo.find(_ref => {\r\n var {\r\n name: name\r\n } = _ref;\r\n return name === button || name === button.name\r\n });\r\n if (!defaultButtonInfo) {\r\n throw errors.Error(\"E1056\", this.editor.NAME, button)\r\n }\r\n checkNamesUniqueness(names, button);\r\n return defaultButtonInfo\r\n } else {\r\n var {\r\n name: name\r\n } = button;\r\n checkNamesUniqueness(names, name);\r\n return extend(button, {\r\n Ctor: CustomButton\r\n })\r\n }\r\n })\r\n }\r\n _createButton(buttonsInfo) {\r\n var {\r\n Ctor: Ctor,\r\n options: options,\r\n name: name\r\n } = buttonsInfo;\r\n var button = new Ctor(name, this.editor, options);\r\n this.buttons.push(button);\r\n return button\r\n }\r\n _renderButtons(buttons, $container, targetLocation) {\r\n var $buttonsContainer = null;\r\n var buttonsInfo = buttons ? this._compileButtonInfo(buttons) : this.defaultButtonsInfo;\r\n buttonsInfo.forEach(buttonsInfo => {\r\n var {\r\n location: location = \"after\"\r\n } = buttonsInfo;\r\n if (location === targetLocation) {\r\n this._createButton(buttonsInfo).render((() => {\r\n $buttonsContainer = $buttonsContainer || $(\"<div>\").addClass(TEXTEDITOR_BUTTONS_CONTAINER_CLASS);\r\n \"before\" === targetLocation ? $container.prepend($buttonsContainer) : $container.append($buttonsContainer);\r\n return $buttonsContainer\r\n })())\r\n }\r\n });\r\n return $buttonsContainer\r\n }\r\n clean() {\r\n this.buttons.forEach(button => button.dispose());\r\n this.buttons = []\r\n }\r\n getButton(buttonName) {\r\n var button = this.buttons.find(_ref2 => {\r\n var {\r\n name: name\r\n } = _ref2;\r\n return name === buttonName\r\n });\r\n return button && button.instance\r\n }\r\n renderAfterButtons(buttons, $container) {\r\n return this._renderButtons(buttons, $container, \"after\")\r\n }\r\n renderBeforeButtons(buttons, $container) {\r\n return this._renderButtons(buttons, $container, \"before\")\r\n }\r\n updateButtons(names) {\r\n this.buttons.forEach(button => {\r\n if (!names || -1 !== names.indexOf(button.name)) {\r\n button.update()\r\n }\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.label.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Guid from \"../../core/guid\";\r\nvar TEXTEDITOR_LABEL_CLASS = \"dx-texteditor-label\";\r\nvar TEXTEDITOR_WITH_LABEL_CLASS = \"dx-texteditor-with-label\";\r\nvar TEXTEDITOR_WITH_FLOATING_LABEL_CLASS = \"dx-texteditor-with-floating-label\";\r\nvar TEXTEDITOR_WITH_BEFORE_BUTTONS_CLASS = \"dx-texteditor-with-before-buttons\";\r\nvar LABEL_BEFORE_CLASS = \"dx-label-before\";\r\nvar LABEL_CLASS = \"dx-label\";\r\nvar LABEL_AFTER_CLASS = \"dx-label-after\";\r\nclass TextEditorLabel {\r\n constructor(props) {\r\n this._props = props;\r\n this._id = \"\".concat(TEXTEDITOR_LABEL_CLASS, \"-\").concat(new Guid);\r\n this._render();\r\n this._toggleMarkupVisibility()\r\n }\r\n _isVisible() {\r\n return !!this._props.text && \"hidden\" !== this._props.mode\r\n }\r\n _render() {\r\n this._$before = $(\"<div>\").addClass(LABEL_BEFORE_CLASS);\r\n this._$labelSpan = $(\"<span>\");\r\n this._$label = $(\"<div>\").addClass(LABEL_CLASS).append(this._$labelSpan);\r\n this._$after = $(\"<div>\").addClass(LABEL_AFTER_CLASS);\r\n this._$root = $(\"<div>\").addClass(TEXTEDITOR_LABEL_CLASS).attr(\"id\", this._id).append(this._$before).append(this._$label).append(this._$after);\r\n this._updateMark();\r\n this._updateText();\r\n this._updateBeforeWidth();\r\n this._updateMaxWidth()\r\n }\r\n _toggleMarkupVisibility() {\r\n var visible = this._isVisible();\r\n this._updateEditorBeforeButtonsClass(visible);\r\n this._updateEditorLabelClass(visible);\r\n visible ? this._$root.appendTo(this._props.$editor) : this._$root.detach()\r\n }\r\n _updateEditorLabelClass(visible) {\r\n this._props.$editor.removeClass(TEXTEDITOR_WITH_FLOATING_LABEL_CLASS).removeClass(TEXTEDITOR_WITH_LABEL_CLASS);\r\n if (visible) {\r\n var labelClass = \"floating\" === this._props.mode ? TEXTEDITOR_WITH_FLOATING_LABEL_CLASS : TEXTEDITOR_WITH_LABEL_CLASS;\r\n this._props.$editor.addClass(labelClass)\r\n }\r\n }\r\n _updateEditorBeforeButtonsClass() {\r\n var visible = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._isVisible();\r\n this._props.$editor.removeClass(TEXTEDITOR_WITH_BEFORE_BUTTONS_CLASS);\r\n if (visible) {\r\n var beforeButtonsClass = this._props.containsButtonsBefore ? TEXTEDITOR_WITH_BEFORE_BUTTONS_CLASS : \"\";\r\n this._props.$editor.addClass(beforeButtonsClass)\r\n }\r\n }\r\n _updateMark() {\r\n this._$labelSpan.attr(\"data-mark\", this._props.mark)\r\n }\r\n _updateText() {\r\n this._$labelSpan.text(this._props.text)\r\n }\r\n _updateBeforeWidth() {\r\n if (this._isVisible()) {\r\n var _this$_props$beforeWi;\r\n var width = null !== (_this$_props$beforeWi = this._props.beforeWidth) && void 0 !== _this$_props$beforeWi ? _this$_props$beforeWi : this._props.getBeforeWidth();\r\n this._$before.css({\r\n width: width\r\n })\r\n }\r\n }\r\n _updateMaxWidth() {\r\n if (this._isVisible()) {\r\n var _this$_props$containe;\r\n var maxWidth = null !== (_this$_props$containe = this._props.containerWidth) && void 0 !== _this$_props$containe ? _this$_props$containe : this._props.getContainerWidth();\r\n this._$label.css({\r\n maxWidth: maxWidth\r\n })\r\n }\r\n }\r\n $element() {\r\n return this._$root\r\n }\r\n isVisible() {\r\n return this._isVisible()\r\n }\r\n getId() {\r\n if (this._isVisible()) {\r\n return this._id\r\n }\r\n }\r\n updateMode(mode) {\r\n this._props.mode = mode;\r\n this._toggleMarkupVisibility();\r\n this._updateBeforeWidth();\r\n this._updateMaxWidth()\r\n }\r\n updateText(text) {\r\n this._props.text = text;\r\n this._updateText();\r\n this._toggleMarkupVisibility();\r\n this._updateBeforeWidth();\r\n this._updateMaxWidth()\r\n }\r\n updateMark(mark) {\r\n this._props.mark = mark;\r\n this._updateMark()\r\n }\r\n updateContainsButtonsBefore(containsButtonsBefore) {\r\n this._props.containsButtonsBefore = containsButtonsBefore;\r\n this._updateEditorBeforeButtonsClass()\r\n }\r\n updateBeforeWidth(beforeWidth) {\r\n this._props.beforeWidth = beforeWidth;\r\n this._updateBeforeWidth()\r\n }\r\n updateMaxWidth(containerWidth) {\r\n this._props.containerWidth = containerWidth;\r\n this._updateMaxWidth()\r\n }\r\n}\r\nexport {\r\n TextEditorLabel\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.base.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n focused\r\n} from \"../widget/selectors\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n current,\r\n isMaterial\r\n} from \"../themes\";\r\nimport devices from \"../../core/devices\";\r\nimport Editor from \"../editor/editor\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport ClearButton from \"./ui.text_editor.clear\";\r\nimport TextEditorButtonCollection from \"./texteditor_button_collection/index\";\r\nimport config from \"../../core/config\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n TextEditorLabel\r\n} from \"./ui.text_editor.label\";\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport resizeObserverSingleton from \"../../core/resize_observer\";\r\nimport Guid from \"../../core/guid\";\r\nvar TEXTEDITOR_CLASS = \"dx-texteditor\";\r\nvar TEXTEDITOR_INPUT_CONTAINER_CLASS = \"dx-texteditor-input-container\";\r\nvar TEXTEDITOR_INPUT_CLASS = \"dx-texteditor-input\";\r\nvar TEXTEDITOR_INPUT_SELECTOR = \".\" + TEXTEDITOR_INPUT_CLASS;\r\nvar TEXTEDITOR_CONTAINER_CLASS = \"dx-texteditor-container\";\r\nvar TEXTEDITOR_BUTTONS_CONTAINER_CLASS = \"dx-texteditor-buttons-container\";\r\nvar TEXTEDITOR_PLACEHOLDER_CLASS = \"dx-placeholder\";\r\nvar TEXTEDITOR_EMPTY_INPUT_CLASS = \"dx-texteditor-empty\";\r\nvar STATE_INVISIBLE_CLASS = \"dx-state-invisible\";\r\nvar TEXTEDITOR_PENDING_INDICATOR_CLASS = \"dx-pending-indicator\";\r\nvar TEXTEDITOR_VALIDATION_PENDING_CLASS = \"dx-validation-pending\";\r\nvar TEXTEDITOR_VALID_CLASS = \"dx-valid\";\r\nvar EVENTS_LIST = [\"KeyDown\", \"KeyPress\", \"KeyUp\", \"Change\", \"Cut\", \"Copy\", \"Paste\", \"Input\"];\r\nvar CONTROL_KEYS = [\"tab\", \"enter\", \"shift\", \"control\", \"alt\", \"escape\", \"pageUp\", \"pageDown\", \"end\", \"home\", \"leftArrow\", \"upArrow\", \"rightArrow\", \"downArrow\"];\r\nvar TextEditorLabelCreator = TextEditorLabel;\r\n\r\nfunction checkButtonsOptionType(buttons) {\r\n if (isDefined(buttons) && !Array.isArray(buttons)) {\r\n throw errors.Error(\"E1053\")\r\n }\r\n}\r\nvar TextEditorBase = Editor.inherit({\r\n ctor: function(_, options) {\r\n if (options) {\r\n checkButtonsOptionType(options.buttons)\r\n }\r\n this._buttonCollection = new TextEditorButtonCollection(this, this._getDefaultButtons());\r\n this._$beforeButtonsContainer = null;\r\n this._$afterButtonsContainer = null;\r\n this._labelContainerElement = null;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n buttons: void 0,\r\n value: \"\",\r\n spellcheck: false,\r\n showClearButton: false,\r\n valueChangeEvent: \"change\",\r\n placeholder: \"\",\r\n inputAttr: {},\r\n onFocusIn: null,\r\n onFocusOut: null,\r\n onKeyDown: null,\r\n onKeyUp: null,\r\n onChange: null,\r\n onInput: null,\r\n onCut: null,\r\n onCopy: null,\r\n onPaste: null,\r\n onEnterKey: null,\r\n mode: \"text\",\r\n hoverStateEnabled: true,\r\n focusStateEnabled: true,\r\n text: void 0,\r\n displayValueFormatter: function(value) {\r\n return isDefined(value) && false !== value ? value : \"\"\r\n },\r\n stylingMode: config().editorStylingMode || \"outlined\",\r\n showValidationMark: true,\r\n label: \"\",\r\n labelMode: \"static\",\r\n labelMark: \"\"\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n var themeName = current();\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n stylingMode: config().editorStylingMode || \"filled\",\r\n labelMode: \"floating\"\r\n }\r\n }])\r\n },\r\n _getDefaultButtons: function() {\r\n return [{\r\n name: \"clear\",\r\n Ctor: ClearButton\r\n }]\r\n },\r\n _isClearButtonVisible: function() {\r\n return this.option(\"showClearButton\") && !this.option(\"readOnly\")\r\n },\r\n _input: function() {\r\n return this.$element().find(TEXTEDITOR_INPUT_SELECTOR).first()\r\n },\r\n _isFocused: function() {\r\n return focused(this._input()) || this.callBase()\r\n },\r\n _inputWrapper: function() {\r\n return this.$element()\r\n },\r\n _buttonsContainer: function() {\r\n return this._inputWrapper().find(\".\" + TEXTEDITOR_BUTTONS_CONTAINER_CLASS).eq(0)\r\n },\r\n _isControlKey: function(key) {\r\n return -1 !== CONTROL_KEYS.indexOf(key)\r\n },\r\n _renderStylingMode: function() {\r\n this.callBase();\r\n this._updateButtonsStyling(this.option(\"stylingMode\"))\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(TEXTEDITOR_CLASS);\r\n this._renderInput();\r\n this._renderButtonContainers();\r\n this._renderStylingMode();\r\n this._renderInputType();\r\n this._renderPlaceholder();\r\n this._renderProps();\r\n this.callBase();\r\n this._renderValue();\r\n this._renderLabel()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._refreshValueChangeEvent();\r\n this._renderEvents();\r\n this._renderEnterKeyAction();\r\n this._renderEmptinessEvent()\r\n },\r\n _renderInput: function() {\r\n this._$textEditorContainer = $(\"<div>\").addClass(TEXTEDITOR_CONTAINER_CLASS).appendTo(this.$element());\r\n this._$textEditorInputContainer = $(\"<div>\").addClass(TEXTEDITOR_INPUT_CONTAINER_CLASS).appendTo(this._$textEditorContainer);\r\n this._$textEditorInputContainer.append(this._createInput())\r\n },\r\n _getInputContainer() {\r\n return this._$textEditorInputContainer\r\n },\r\n _renderPendingIndicator: function() {\r\n this.$element().addClass(TEXTEDITOR_VALIDATION_PENDING_CLASS);\r\n var $inputContainer = this._getInputContainer();\r\n var $indicatorElement = $(\"<div>\").addClass(TEXTEDITOR_PENDING_INDICATOR_CLASS).appendTo($inputContainer);\r\n this._pendingIndicator = this._createComponent($indicatorElement, LoadIndicator)\r\n },\r\n _disposePendingIndicator: function() {\r\n if (!this._pendingIndicator) {\r\n return\r\n }\r\n this._pendingIndicator.dispose();\r\n this._pendingIndicator.$element().remove();\r\n this._pendingIndicator = null;\r\n this.$element().removeClass(TEXTEDITOR_VALIDATION_PENDING_CLASS)\r\n },\r\n _renderValidationState: function() {\r\n this.callBase();\r\n var isPending = \"pending\" === this.option(\"validationStatus\");\r\n var $element = this.$element();\r\n if (isPending) {\r\n !this._pendingIndicator && this._renderPendingIndicator();\r\n this._showValidMark = false\r\n } else {\r\n if (\"invalid\" === this.option(\"validationStatus\")) {\r\n this._showValidMark = false\r\n }\r\n if (!this._showValidMark && true === this.option(\"showValidationMark\")) {\r\n this._showValidMark = \"valid\" === this.option(\"validationStatus\") && !!this._pendingIndicator\r\n }\r\n this._disposePendingIndicator()\r\n }\r\n $element.toggleClass(TEXTEDITOR_VALID_CLASS, !!this._showValidMark)\r\n },\r\n _getButtonsContainer() {\r\n return this._$textEditorContainer\r\n },\r\n _renderButtonContainers: function() {\r\n var buttons = this.option(\"buttons\");\r\n var $buttonsContainer = this._getButtonsContainer();\r\n this._$beforeButtonsContainer = this._buttonCollection.renderBeforeButtons(buttons, $buttonsContainer);\r\n this._$afterButtonsContainer = this._buttonCollection.renderAfterButtons(buttons, $buttonsContainer)\r\n },\r\n _cleanButtonContainers: function() {\r\n var _this$_$beforeButtons, _this$_$afterButtonsC;\r\n null === (_this$_$beforeButtons = this._$beforeButtonsContainer) || void 0 === _this$_$beforeButtons ? void 0 : _this$_$beforeButtons.remove();\r\n null === (_this$_$afterButtonsC = this._$afterButtonsContainer) || void 0 === _this$_$afterButtonsC ? void 0 : _this$_$afterButtonsC.remove();\r\n this._buttonCollection.clean()\r\n },\r\n _clean() {\r\n this._buttonCollection.clean();\r\n this._disposePendingIndicator();\r\n this._unobserveLabelContainerResize();\r\n this._$beforeButtonsContainer = null;\r\n this._$afterButtonsContainer = null;\r\n this._$textEditorContainer = null;\r\n this.callBase()\r\n },\r\n _createInput: function() {\r\n var $input = $(\"<input>\");\r\n this._applyInputAttributes($input, this.option(\"inputAttr\"));\r\n return $input\r\n },\r\n _setSubmitElementName: function(name) {\r\n var inputAttrName = this.option(\"inputAttr.name\");\r\n return this.callBase(name || inputAttrName || \"\")\r\n },\r\n _applyInputAttributes: function($input, customAttributes) {\r\n var inputAttributes = extend(this._getDefaultAttributes(), customAttributes);\r\n $input.attr(inputAttributes).addClass(TEXTEDITOR_INPUT_CLASS);\r\n this._setInputMinHeight($input)\r\n },\r\n _setInputMinHeight: function($input) {\r\n $input.css(\"minHeight\", this.option(\"height\") ? \"0\" : \"\")\r\n },\r\n _getPlaceholderAttr() {\r\n var {\r\n ios: ios,\r\n mac: mac\r\n } = devices.real();\r\n var {\r\n placeholder: placeholder\r\n } = this.option();\r\n var value = placeholder || (ios || mac ? \" \" : null);\r\n return value\r\n },\r\n _getDefaultAttributes() {\r\n var defaultAttributes = {\r\n autocomplete: \"off\",\r\n placeholder: this._getPlaceholderAttr()\r\n };\r\n return defaultAttributes\r\n },\r\n _updateButtons: function(names) {\r\n this._buttonCollection.updateButtons(names)\r\n },\r\n _updateButtonsStyling: function(editorStylingMode) {\r\n each(this.option(\"buttons\"), (_, _ref) => {\r\n var {\r\n options: options,\r\n name: buttonName\r\n } = _ref;\r\n if (options && !options.stylingMode && this.option(\"visible\")) {\r\n var buttonInstance = this.getButton(buttonName);\r\n buttonInstance.option && buttonInstance.option(\"stylingMode\", \"underlined\" === editorStylingMode ? \"text\" : \"contained\")\r\n }\r\n })\r\n },\r\n _renderValue: function() {\r\n var renderInputPromise = this._renderInputValue();\r\n return renderInputPromise.promise()\r\n },\r\n _renderInputValue: function(value) {\r\n var _value;\r\n value = null !== (_value = value) && void 0 !== _value ? _value : this.option(\"value\");\r\n var text = this.option(\"text\");\r\n var displayValue = this.option(\"displayValue\");\r\n var displayValueFormatter = this.option(\"displayValueFormatter\");\r\n if (void 0 !== displayValue && null !== value) {\r\n text = displayValueFormatter(displayValue)\r\n } else if (!isDefined(text)) {\r\n text = displayValueFormatter(value)\r\n }\r\n this.option(\"text\", text);\r\n if (this._input().val() !== (isDefined(text) ? text : \"\")) {\r\n this._renderDisplayText(text)\r\n } else {\r\n this._toggleEmptinessEventHandler()\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n _renderDisplayText: function(text) {\r\n this._input().val(text);\r\n this._toggleEmptinessEventHandler()\r\n },\r\n _isValueValid: function() {\r\n if (this._input().length) {\r\n var validity = this._input().get(0).validity;\r\n if (validity) {\r\n return validity.valid\r\n }\r\n }\r\n return true\r\n },\r\n _toggleEmptiness: function(isEmpty) {\r\n this.$element().toggleClass(TEXTEDITOR_EMPTY_INPUT_CLASS, isEmpty);\r\n this._togglePlaceholder(isEmpty)\r\n },\r\n _togglePlaceholder: function(isEmpty) {\r\n this.$element().find(\".\".concat(TEXTEDITOR_PLACEHOLDER_CLASS)).eq(0).toggleClass(STATE_INVISIBLE_CLASS, !isEmpty)\r\n },\r\n _renderProps: function() {\r\n this._toggleReadOnlyState();\r\n this._toggleSpellcheckState();\r\n this._toggleTabIndex()\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase.apply(this, arguments);\r\n var $input = this._input();\r\n $input.prop(\"disabled\", value)\r\n },\r\n _toggleTabIndex: function() {\r\n var $input = this._input();\r\n var disabled = this.option(\"disabled\");\r\n var focusStateEnabled = this.option(\"focusStateEnabled\");\r\n if (disabled || !focusStateEnabled) {\r\n $input.attr(\"tabIndex\", -1)\r\n } else {\r\n $input.removeAttr(\"tabIndex\")\r\n }\r\n },\r\n _toggleReadOnlyState: function() {\r\n this._input().prop(\"readOnly\", this._readOnlyPropValue());\r\n this.callBase()\r\n },\r\n _readOnlyPropValue: function() {\r\n return this.option(\"readOnly\")\r\n },\r\n _toggleSpellcheckState: function() {\r\n this._input().prop(\"spellcheck\", this.option(\"spellcheck\"))\r\n },\r\n _unobserveLabelContainerResize: function() {\r\n if (this._labelContainerElement) {\r\n resizeObserverSingleton.unobserve(this._labelContainerElement);\r\n this._labelContainerElement = null\r\n }\r\n },\r\n _getLabelContainer: function() {\r\n return this._input()\r\n },\r\n _getLabelContainerWidth: function() {\r\n return getWidth(this._getLabelContainer())\r\n },\r\n _getLabelBeforeWidth: function() {\r\n var buttonsBeforeWidth = this._$beforeButtonsContainer && getWidth(this._$beforeButtonsContainer);\r\n return null !== buttonsBeforeWidth && void 0 !== buttonsBeforeWidth ? buttonsBeforeWidth : 0\r\n },\r\n _updateLabelWidth: function() {\r\n this._label.updateBeforeWidth(this._getLabelBeforeWidth());\r\n this._label.updateMaxWidth(this._getLabelContainerWidth())\r\n },\r\n _getFieldElement() {\r\n return this._getLabelContainer()\r\n },\r\n _setFieldAria(force) {\r\n var _this$_label;\r\n var inputAttr = this.option(\"inputAttr\");\r\n var ariaLabel = null === inputAttr || void 0 === inputAttr ? void 0 : inputAttr[\"aria-label\"];\r\n var labelId = null === (_this$_label = this._label) || void 0 === _this$_label ? void 0 : _this$_label.getId();\r\n var value = ariaLabel ? void 0 : labelId;\r\n if (labelId || force) {\r\n var aria = {\r\n labelledby: value,\r\n label: ariaLabel\r\n };\r\n this.setAria(aria, this._getFieldElement())\r\n }\r\n },\r\n _renderLabel: function() {\r\n this._unobserveLabelContainerResize();\r\n this._labelContainerElement = $(this._getLabelContainer()).get(0);\r\n var {\r\n label: label,\r\n labelMode: labelMode,\r\n labelMark: labelMark\r\n } = this.option();\r\n var labelConfig = {\r\n $editor: this.$element(),\r\n text: label,\r\n mark: labelMark,\r\n mode: labelMode,\r\n containsButtonsBefore: !!this._$beforeButtonsContainer,\r\n getContainerWidth: () => this._getLabelContainerWidth(),\r\n getBeforeWidth: () => this._getLabelBeforeWidth()\r\n };\r\n this._label = new TextEditorLabelCreator(labelConfig);\r\n this._setFieldAria();\r\n if (this._labelContainerElement) {\r\n resizeObserverSingleton.observe(this._labelContainerElement, this._updateLabelWidth.bind(this))\r\n }\r\n },\r\n _renderPlaceholder: function() {\r\n this._renderPlaceholderMarkup();\r\n this._attachPlaceholderEvents()\r\n },\r\n _renderPlaceholderMarkup: function() {\r\n if (this._$placeholder) {\r\n this._$placeholder.remove();\r\n this._$placeholder = null\r\n }\r\n var $input = this._input();\r\n var placeholder = this.option(\"placeholder\");\r\n var placeholderAttributes = {\r\n id: placeholder ? \"dx-\".concat(new Guid) : void 0,\r\n \"data-dx_placeholder\": placeholder\r\n };\r\n var $placeholder = this._$placeholder = $(\"<div>\").attr(placeholderAttributes);\r\n $placeholder.insertAfter($input);\r\n $placeholder.addClass(TEXTEDITOR_PLACEHOLDER_CLASS)\r\n },\r\n _attachPlaceholderEvents: function() {\r\n var startEvent = addNamespace(pointerEvents.up, this.NAME);\r\n eventsEngine.on(this._$placeholder, startEvent, () => {\r\n eventsEngine.trigger(this._input(), \"focus\")\r\n });\r\n this._toggleEmptinessEventHandler()\r\n },\r\n _placeholder: function() {\r\n return this._$placeholder || $()\r\n },\r\n _clearValueHandler: function(e) {\r\n var $input = this._input();\r\n e.stopPropagation();\r\n this._saveValueChangeEvent(e);\r\n this._clearValue();\r\n !this._isFocused() && eventsEngine.trigger($input, \"focus\");\r\n eventsEngine.trigger($input, \"input\")\r\n },\r\n _clearValue: function() {\r\n this.reset()\r\n },\r\n _renderEvents: function() {\r\n var $input = this._input();\r\n each(EVENTS_LIST, (_, event) => {\r\n if (this.hasActionSubscription(\"on\" + event)) {\r\n var action = this._createActionByOption(\"on\" + event, {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n eventsEngine.on($input, addNamespace(event.toLowerCase(), this.NAME), e => {\r\n if (this._disposed) {\r\n return\r\n }\r\n action({\r\n event: e\r\n })\r\n })\r\n }\r\n })\r\n },\r\n _refreshEvents: function() {\r\n var $input = this._input();\r\n each(EVENTS_LIST, (_, event) => {\r\n eventsEngine.off($input, addNamespace(event.toLowerCase(), this.NAME))\r\n });\r\n this._renderEvents()\r\n },\r\n _keyPressHandler: function() {\r\n this.option(\"text\", this._input().val())\r\n },\r\n _keyDownHandler: function(e) {\r\n var $input = this._input();\r\n var isCtrlEnter = e.ctrlKey && \"enter\" === normalizeKeyName(e);\r\n var isNewValue = $input.val() !== this.option(\"value\");\r\n if (isCtrlEnter && isNewValue) {\r\n eventsEngine.trigger($input, \"change\")\r\n }\r\n },\r\n _getValueChangeEventOptionName: function() {\r\n return \"valueChangeEvent\"\r\n },\r\n _renderValueChangeEvent: function() {\r\n var keyPressEvent = addNamespace(this._renderValueEventName(), \"\".concat(this.NAME, \"TextChange\"));\r\n var valueChangeEvent = addNamespace(this.option(this._getValueChangeEventOptionName()), \"\".concat(this.NAME, \"ValueChange\"));\r\n var keyDownEvent = addNamespace(\"keydown\", \"\".concat(this.NAME, \"TextChange\"));\r\n var $input = this._input();\r\n eventsEngine.on($input, keyPressEvent, this._keyPressHandler.bind(this));\r\n eventsEngine.on($input, valueChangeEvent, this._valueChangeEventHandler.bind(this));\r\n eventsEngine.on($input, keyDownEvent, this._keyDownHandler.bind(this))\r\n },\r\n _cleanValueChangeEvent: function() {\r\n var valueChangeNamespace = \".\".concat(this.NAME, \"ValueChange\");\r\n var textChangeNamespace = \".\".concat(this.NAME, \"TextChange\");\r\n eventsEngine.off(this._input(), valueChangeNamespace);\r\n eventsEngine.off(this._input(), textChangeNamespace)\r\n },\r\n _refreshValueChangeEvent: function() {\r\n this._cleanValueChangeEvent();\r\n this._renderValueChangeEvent()\r\n },\r\n _renderValueEventName: function() {\r\n return \"input change keypress\"\r\n },\r\n _focusTarget: function() {\r\n return this._input()\r\n },\r\n _focusEventTarget: function() {\r\n return this.element()\r\n },\r\n _isInput: function(element) {\r\n return element === this._input().get(0)\r\n },\r\n _preventNestedFocusEvent: function(event) {\r\n if (event.isDefaultPrevented()) {\r\n return true\r\n }\r\n var shouldPrevent = this._isNestedTarget(event.relatedTarget);\r\n if (\"focusin\" === event.type) {\r\n shouldPrevent = shouldPrevent && this._isNestedTarget(event.target) && !this._isInput(event.target)\r\n } else if (!shouldPrevent) {\r\n this._toggleFocusClass(false, this.$element())\r\n }\r\n shouldPrevent && event.preventDefault();\r\n return shouldPrevent\r\n },\r\n _isNestedTarget: function(target) {\r\n return !!this.$element().find(target).length\r\n },\r\n _focusClassTarget: function() {\r\n return this.$element()\r\n },\r\n _focusInHandler: function(event) {\r\n this._preventNestedFocusEvent(event);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _focusOutHandler: function(event) {\r\n this._preventNestedFocusEvent(event);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _toggleFocusClass: function(isFocused, $element) {\r\n this.callBase(isFocused, this._focusClassTarget($element))\r\n },\r\n _hasFocusClass: function(element) {\r\n return this.callBase($(element || this.$element()))\r\n },\r\n _renderEmptinessEvent: function() {\r\n var $input = this._input();\r\n eventsEngine.on($input, \"input blur\", this._toggleEmptinessEventHandler.bind(this))\r\n },\r\n _toggleEmptinessEventHandler: function() {\r\n var text = this._input().val();\r\n var isEmpty = (\"\" === text || null === text) && this._isValueValid();\r\n this._toggleEmptiness(isEmpty)\r\n },\r\n _valueChangeEventHandler: function(e, formattedValue) {\r\n if (this.option(\"readOnly\")) {\r\n return\r\n }\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", arguments.length > 1 ? formattedValue : this._input().val());\r\n this._saveValueChangeEvent(void 0)\r\n },\r\n _renderEnterKeyAction: function() {\r\n this._enterKeyAction = this._createActionByOption(\"onEnterKey\", {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n eventsEngine.off(this._input(), \"keyup.onEnterKey.dxTextEditor\");\r\n eventsEngine.on(this._input(), \"keyup.onEnterKey.dxTextEditor\", this._enterKeyHandlerUp.bind(this))\r\n },\r\n _enterKeyHandlerUp: function(e) {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (\"enter\" === normalizeKeyName(e)) {\r\n this._enterKeyAction({\r\n event: e\r\n })\r\n }\r\n },\r\n _updateValue: function() {\r\n this._options.silent(\"text\", null);\r\n this._renderValue()\r\n },\r\n _dispose: function() {\r\n this._enterKeyAction = void 0;\r\n this.callBase()\r\n },\r\n _getSubmitElement: function() {\r\n return this._input()\r\n },\r\n _hasActiveElement: function() {\r\n return this._input().is(domAdapter.getActiveElement(this._input()[0]))\r\n },\r\n _optionChanged: function(args) {\r\n var {\r\n name: name,\r\n fullName: fullName,\r\n value: value\r\n } = args;\r\n var eventName = name.replace(\"on\", \"\");\r\n if (EVENTS_LIST.includes(eventName)) {\r\n this._refreshEvents();\r\n return\r\n }\r\n switch (name) {\r\n case \"valueChangeEvent\":\r\n this._refreshValueChangeEvent();\r\n this._refreshFocusEvent();\r\n this._refreshEvents();\r\n break;\r\n case \"onValueChanged\":\r\n this._createValueChangeAction();\r\n break;\r\n case \"focusStateEnabled\":\r\n this.callBase(args);\r\n this._toggleTabIndex();\r\n break;\r\n case \"spellcheck\":\r\n this._toggleSpellcheckState();\r\n break;\r\n case \"mode\":\r\n this._renderInputType();\r\n break;\r\n case \"onEnterKey\":\r\n this._renderEnterKeyAction();\r\n break;\r\n case \"placeholder\":\r\n this._renderPlaceholder();\r\n this._setFieldAria(true);\r\n this._input().attr({\r\n placeholder: this._getPlaceholderAttr()\r\n });\r\n break;\r\n case \"label\":\r\n this._label.updateText(value);\r\n this._setFieldAria(true);\r\n break;\r\n case \"labelMark\":\r\n this._label.updateMark(value);\r\n break;\r\n case \"labelMode\":\r\n this._label.updateMode(value);\r\n this._setFieldAria();\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._label.updateMaxWidth(this._getLabelContainerWidth());\r\n break;\r\n case \"readOnly\":\r\n case \"disabled\":\r\n this._updateButtons();\r\n this.callBase(args);\r\n break;\r\n case \"showClearButton\":\r\n this._updateButtons([\"clear\"]);\r\n break;\r\n case \"text\":\r\n break;\r\n case \"value\":\r\n this._updateValue();\r\n this.callBase(args);\r\n break;\r\n case \"inputAttr\":\r\n this._applyInputAttributes(this._input(), this.option(name));\r\n break;\r\n case \"stylingMode\":\r\n this._renderStylingMode();\r\n this._updateLabelWidth();\r\n break;\r\n case \"buttons\":\r\n if (fullName === name) {\r\n checkButtonsOptionType(value)\r\n }\r\n this._cleanButtonContainers();\r\n this._renderButtonContainers();\r\n this._updateButtonsStyling(this.option(\"stylingMode\"));\r\n this._updateLabelWidth();\r\n this._label.updateContainsButtonsBefore(!!this._$beforeButtonsContainer);\r\n break;\r\n case \"visible\":\r\n this.callBase(args);\r\n if (value && this.option(\"buttons\")) {\r\n this._cleanButtonContainers();\r\n this._renderButtonContainers();\r\n this._updateButtonsStyling(this.option(\"stylingMode\"))\r\n }\r\n break;\r\n case \"displayValueFormatter\":\r\n this._invalidate();\r\n break;\r\n case \"showValidationMark\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _renderInputType: function() {\r\n this._setInputType(this.option(\"mode\"))\r\n },\r\n _setInputType: function(type) {\r\n var input = this._input();\r\n if (\"search\" === type) {\r\n type = \"text\"\r\n }\r\n try {\r\n input.prop(\"type\", type)\r\n } catch (e) {\r\n input.prop(\"type\", \"text\")\r\n }\r\n },\r\n getButton(name) {\r\n return this._buttonCollection.getButton(name)\r\n },\r\n focus: function() {\r\n eventsEngine.trigger(this._input(), \"focus\")\r\n },\r\n reset: function() {\r\n if (this._showValidMark) {\r\n this._showValidMark = false;\r\n this._renderValidationState()\r\n }\r\n var defaultOptions = this._getDefaultOptions();\r\n if (this.option(\"value\") === defaultOptions.value) {\r\n this._options.silent(\"text\", \"\");\r\n this._renderValue()\r\n } else {\r\n this.option(\"value\", defaultOptions.value)\r\n }\r\n },\r\n on: function(eventName, eventHandler) {\r\n var result = this.callBase(eventName, eventHandler);\r\n var event = eventName.charAt(0).toUpperCase() + eventName.substr(1);\r\n if (EVENTS_LIST.indexOf(event) >= 0) {\r\n this._refreshEvents()\r\n }\r\n return result\r\n }\r\n});\r\nexport default TextEditorBase;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.strategy.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport EventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n clipboardText as getClipboardText\r\n} from \"../../core/utils/dom\";\r\nvar MASK_EVENT_NAMESPACE = \"dxMask\";\r\nvar BLUR_EVENT = \"blur beforedeactivate\";\r\nvar EMPTY_CHAR = \" \";\r\nvar DELETE_INPUT_TYPES = [\"deleteContentBackward\", \"deleteSoftLineBackward\", \"deleteContent\", \"deleteHardLineBackward\"];\r\nvar HISTORY_INPUT_TYPES = [\"historyUndo\", \"historyRedo\"];\r\nvar EVENT_NAMES = [\"focusIn\", \"focusOut\", \"input\", \"paste\", \"cut\", \"drop\", \"beforeInput\"];\r\n\r\nfunction getEmptyString(length) {\r\n return EMPTY_CHAR.repeat(length)\r\n}\r\nexport default class MaskStrategy {\r\n constructor(editor) {\r\n this.editor = editor\r\n }\r\n _editorOption() {\r\n return this.editor.option(...arguments)\r\n }\r\n _editorInput() {\r\n return this.editor._input()\r\n }\r\n _editorCaret(newCaret) {\r\n if (!newCaret) {\r\n return this.editor._caret()\r\n }\r\n this.editor._caret(newCaret)\r\n }\r\n _attachChangeEventHandler() {\r\n if (!this._editorOption(\"valueChangeEvent\").split(\" \").includes(\"change\")) {\r\n return\r\n }\r\n var $input = this._editorInput();\r\n var namespace = addNamespace(BLUR_EVENT, MASK_EVENT_NAMESPACE);\r\n EventsEngine.on($input, namespace, e => {\r\n this.editor._changeHandler(e)\r\n })\r\n }\r\n _beforeInputHandler() {\r\n this._previousText = this._editorOption(\"text\");\r\n this._prevCaret = this._editorCaret()\r\n }\r\n _inputHandler(event) {\r\n var {\r\n originalEvent: originalEvent\r\n } = event;\r\n if (!originalEvent) {\r\n return\r\n }\r\n var {\r\n inputType: inputType\r\n } = originalEvent;\r\n if (HISTORY_INPUT_TYPES.includes(inputType)) {\r\n this._handleHistoryInputEvent()\r\n } else if (DELETE_INPUT_TYPES.includes(inputType)) {\r\n this._handleBackwardDeleteInputEvent()\r\n } else {\r\n var currentCaret = this._editorCaret();\r\n if (!currentCaret.end) {\r\n return\r\n }\r\n this._clearSelectedText();\r\n this._autoFillHandler(originalEvent);\r\n this._editorCaret(currentCaret);\r\n this._handleInsertTextInputEvent(originalEvent.data)\r\n }\r\n if (this._editorOption(\"text\") === this._previousText) {\r\n event.stopImmediatePropagation()\r\n }\r\n }\r\n _handleHistoryInputEvent() {\r\n var caret = this._editorCaret();\r\n this._updateEditorMask({\r\n start: caret.start,\r\n length: caret.end - caret.start,\r\n text: \"\"\r\n });\r\n this._editorCaret(this._prevCaret)\r\n }\r\n _handleBackwardDeleteInputEvent() {\r\n this._clearSelectedText();\r\n var caret = this._editorCaret();\r\n this.editor.setForwardDirection();\r\n this.editor._adjustCaret();\r\n var adjustedForwardCaret = this._editorCaret();\r\n if (adjustedForwardCaret.start !== caret.start) {\r\n this.editor.setBackwardDirection();\r\n this.editor._adjustCaret()\r\n }\r\n }\r\n _clearSelectedText() {\r\n var _this$_prevCaret, _this$_prevCaret2;\r\n var length = (null === (_this$_prevCaret = this._prevCaret) || void 0 === _this$_prevCaret ? void 0 : _this$_prevCaret.end) - (null === (_this$_prevCaret2 = this._prevCaret) || void 0 === _this$_prevCaret2 ? void 0 : _this$_prevCaret2.start) || 1;\r\n var caret = this._editorCaret();\r\n if (!this._isAutoFill()) {\r\n this.editor.setBackwardDirection();\r\n this._updateEditorMask({\r\n start: caret.start,\r\n length: length,\r\n text: getEmptyString(length)\r\n })\r\n }\r\n }\r\n _handleInsertTextInputEvent(data) {\r\n var _this$_prevCaret$star, _this$_prevCaret3;\r\n var text = null !== data && void 0 !== data ? data : \"\";\r\n this.editor.setForwardDirection();\r\n var hasValidChars = this._updateEditorMask({\r\n start: null !== (_this$_prevCaret$star = null === (_this$_prevCaret3 = this._prevCaret) || void 0 === _this$_prevCaret3 ? void 0 : _this$_prevCaret3.start) && void 0 !== _this$_prevCaret$star ? _this$_prevCaret$star : 0,\r\n length: text.length || 1,\r\n text: text\r\n });\r\n if (!hasValidChars) {\r\n this._editorCaret(this._prevCaret)\r\n }\r\n }\r\n _updateEditorMask(args) {\r\n var textLength = args.text.length;\r\n var processedCharsCount = this.editor._handleChain(args);\r\n this.editor._displayMask();\r\n if (this.editor.isForwardDirection()) {\r\n var {\r\n start: start,\r\n end: end\r\n } = this._editorCaret();\r\n var correction = processedCharsCount - textLength;\r\n var hasSkippedStub = processedCharsCount > 1;\r\n if (hasSkippedStub && 1 === textLength) {\r\n this._editorCaret({\r\n start: start + correction,\r\n end: end + correction\r\n })\r\n }\r\n this.editor._adjustCaret()\r\n }\r\n return !!processedCharsCount\r\n }\r\n _focusInHandler() {\r\n this.editor._showMaskPlaceholder();\r\n this.editor.setForwardDirection();\r\n if (!this.editor._isValueEmpty() && this._editorOption(\"isValid\")) {\r\n this.editor._adjustCaret()\r\n } else {\r\n var caret = this.editor._maskRulesChain.first();\r\n this._caretTimeout = setTimeout(() => {\r\n this._editorCaret({\r\n start: caret,\r\n end: caret\r\n })\r\n }, 0)\r\n }\r\n }\r\n _focusOutHandler(event) {\r\n this.editor._changeHandler(event);\r\n if (\"onFocus\" === this._editorOption(\"showMaskMode\") && this.editor._isValueEmpty()) {\r\n this._editorOption(\"text\", \"\");\r\n this.editor._renderDisplayText(\"\")\r\n }\r\n }\r\n _delHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n editor._maskKeyHandler(event, () => {\r\n if (!editor._hasSelection()) {\r\n editor._handleKey(EMPTY_CHAR)\r\n }\r\n })\r\n }\r\n _cutHandler(event) {\r\n var caret = this._editorCaret();\r\n var selectedText = this._editorInput().val().substring(caret.start, caret.end);\r\n this.editor._maskKeyHandler(event, () => getClipboardText(event, selectedText))\r\n }\r\n _dropHandler() {\r\n this._clearDragTimer();\r\n this._dragTimer = setTimeout(() => {\r\n var value = this.editor._convertToValue(this._editorInput().val());\r\n this._editorOption(\"value\", value)\r\n })\r\n }\r\n _pasteHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n if (this._editorOption(\"disabled\")) {\r\n return\r\n }\r\n var caret = this._editorCaret();\r\n editor._maskKeyHandler(event, () => {\r\n var pastedText = getClipboardText(event);\r\n var restText = editor._maskRulesChain.text().substring(caret.end);\r\n var accepted = editor._handleChain({\r\n text: pastedText,\r\n start: caret.start,\r\n length: pastedText.length\r\n });\r\n var newCaret = caret.start + accepted;\r\n editor._handleChain({\r\n text: restText,\r\n start: newCaret,\r\n length: restText.length\r\n });\r\n editor._caret({\r\n start: newCaret,\r\n end: newCaret\r\n })\r\n })\r\n }\r\n _autoFillHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n var inputVal = this._editorInput().val();\r\n this._inputHandlerTimer = setTimeout(() => {\r\n if (this._isAutoFill()) {\r\n editor._maskKeyHandler(event, () => {\r\n editor._handleChain({\r\n text: inputVal,\r\n start: 0,\r\n length: inputVal.length\r\n })\r\n });\r\n editor._validateMask()\r\n }\r\n })\r\n }\r\n _isAutoFill() {\r\n var $input = this._editorInput();\r\n if (browser.webkit) {\r\n var _input$matches;\r\n var input = $input.get(0);\r\n return null !== (_input$matches = null === input || void 0 === input ? void 0 : input.matches(\":-webkit-autofill\")) && void 0 !== _input$matches ? _input$matches : false\r\n }\r\n return false\r\n }\r\n _clearDragTimer() {\r\n clearTimeout(this._dragTimer)\r\n }\r\n _clearTimers() {\r\n this._clearDragTimer();\r\n clearTimeout(this._caretTimeout);\r\n clearTimeout(this._inputHandlerTimer)\r\n }\r\n getHandler(handlerName) {\r\n return args => {\r\n var _this;\r\n null === (_this = this[\"_\".concat(handlerName, \"Handler\")]) || void 0 === _this ? void 0 : _this.call(this, args)\r\n }\r\n }\r\n attachEvents() {\r\n var $input = this._editorInput();\r\n EVENT_NAMES.forEach(eventName => {\r\n var namespace = addNamespace(eventName.toLowerCase(), MASK_EVENT_NAMESPACE);\r\n EventsEngine.on($input, namespace, this.getHandler(eventName))\r\n });\r\n this._attachChangeEventHandler()\r\n }\r\n detachEvents() {\r\n this._clearTimers();\r\n EventsEngine.off(this._editorInput(), \".\".concat(MASK_EVENT_NAMESPACE))\r\n }\r\n clean() {\r\n this._clearTimers()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport caretUtils from \"./utils.caret\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n addNamespace,\r\n createEvent,\r\n isCommandKeyPressed,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n focused\r\n} from \"../widget/selectors\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isEmpty\r\n} from \"../../core/utils/string\";\r\nimport {\r\n name as wheelEventName\r\n} from \"../../events/core/wheel\";\r\nimport {\r\n EmptyMaskRule,\r\n StubMaskRule,\r\n MaskRule\r\n} from \"./ui.text_editor.mask.rule\";\r\nimport TextEditorBase from \"./ui.text_editor.base\";\r\nimport MaskStrategy from \"./ui.text_editor.mask.strategy\";\r\nvar stubCaret = function() {\r\n return {}\r\n};\r\nvar caret = caretUtils;\r\nvar EMPTY_CHAR = \" \";\r\nvar ESCAPED_CHAR = \"\\\\\";\r\nvar TEXTEDITOR_MASKED_CLASS = \"dx-texteditor-masked\";\r\nvar FORWARD_DIRECTION = \"forward\";\r\nvar BACKWARD_DIRECTION = \"backward\";\r\nvar DROP_EVENT_NAME = \"drop\";\r\nvar buildInMaskRules = {\r\n 0: /[0-9]/,\r\n 9: /[0-9\\s]/,\r\n \"#\": /[-+0-9\\s]/,\r\n L: function(char) {\r\n return isLiteralChar(char)\r\n },\r\n l: function(char) {\r\n return isLiteralChar(char) || isSpaceChar(char)\r\n },\r\n C: /\\S/,\r\n c: /./,\r\n A: function(char) {\r\n return isLiteralChar(char) || isNumericChar(char)\r\n },\r\n a: function(char) {\r\n return isLiteralChar(char) || isNumericChar(char) || isSpaceChar(char)\r\n }\r\n};\r\n\r\nfunction isNumericChar(char) {\r\n return /[0-9]/.test(char)\r\n}\r\n\r\nfunction isLiteralChar(char) {\r\n var code = char.charCodeAt();\r\n return 64 < code && code < 91 || 96 < code && code < 123 || code > 127\r\n}\r\n\r\nfunction isSpaceChar(char) {\r\n return \" \" === char\r\n}\r\nvar TextEditorMask = TextEditorBase.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n mask: \"\",\r\n maskChar: \"_\",\r\n maskRules: {},\r\n maskInvalidMessage: messageLocalization.format(\"validation-mask\"),\r\n useMaskedValue: false,\r\n showMaskMode: \"always\"\r\n })\r\n },\r\n _supportedKeys: function() {\r\n var that = this;\r\n var keyHandlerMap = {\r\n del: that._maskStrategy.getHandler(\"del\"),\r\n enter: that._changeHandler\r\n };\r\n var result = that.callBase();\r\n each(keyHandlerMap, (function(key, callback) {\r\n var parentHandler = result[key];\r\n result[key] = function(e) {\r\n that.option(\"mask\") && callback.call(that, e);\r\n parentHandler && parentHandler(e)\r\n }\r\n }));\r\n return result\r\n },\r\n _getSubmitElement: function() {\r\n return !this.option(\"mask\") ? this.callBase() : this._$hiddenElement\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initMaskStrategy()\r\n },\r\n _initMaskStrategy: function() {\r\n this._maskStrategy = new MaskStrategy(this)\r\n },\r\n _initMarkup: function() {\r\n this._renderHiddenElement();\r\n this.callBase()\r\n },\r\n _attachMouseWheelEventHandlers: function() {\r\n var hasMouseWheelHandler = this._onMouseWheel !== noop;\r\n if (!hasMouseWheelHandler) {\r\n return\r\n }\r\n var input = this._input();\r\n var eventName = addNamespace(wheelEventName, this.NAME);\r\n var mouseWheelAction = this._createAction(function(e) {\r\n var {\r\n event: event\r\n } = e;\r\n if (focused(input) && !isCommandKeyPressed(event)) {\r\n this._onMouseWheel(event);\r\n event.preventDefault();\r\n event.stopPropagation()\r\n }\r\n }.bind(this));\r\n eventsEngine.off(input, eventName);\r\n eventsEngine.on(input, eventName, (function(e) {\r\n mouseWheelAction({\r\n event: e\r\n })\r\n }))\r\n },\r\n _onMouseWheel: noop,\r\n _useMaskBehavior() {\r\n return Boolean(this.option(\"mask\"))\r\n },\r\n _attachDropEventHandler() {\r\n var useMaskBehavior = this._useMaskBehavior();\r\n if (!useMaskBehavior) {\r\n return\r\n }\r\n var eventName = addNamespace(DROP_EVENT_NAME, this.NAME);\r\n var input = this._input();\r\n eventsEngine.off(input, eventName);\r\n eventsEngine.on(input, eventName, e => e.preventDefault())\r\n },\r\n _render: function() {\r\n this._attachMouseWheelEventHandlers();\r\n this._renderMask();\r\n this.callBase();\r\n this._attachDropEventHandler()\r\n },\r\n _renderHiddenElement: function() {\r\n if (this.option(\"mask\")) {\r\n this._$hiddenElement = $(\"<input>\").attr(\"type\", \"hidden\").appendTo(this._inputWrapper())\r\n }\r\n },\r\n _removeHiddenElement: function() {\r\n this._$hiddenElement && this._$hiddenElement.remove()\r\n },\r\n _renderMask: function() {\r\n this.$element().removeClass(TEXTEDITOR_MASKED_CLASS);\r\n this._maskRulesChain = null;\r\n this._maskStrategy.detachEvents();\r\n if (!this.option(\"mask\")) {\r\n return\r\n }\r\n this.$element().addClass(TEXTEDITOR_MASKED_CLASS);\r\n this._maskStrategy.attachEvents();\r\n this._parseMask();\r\n this._renderMaskedValue()\r\n },\r\n _suppressCaretChanging: function(callback, args) {\r\n caret = stubCaret;\r\n try {\r\n callback.apply(this, args)\r\n } finally {\r\n caret = caretUtils\r\n }\r\n },\r\n _changeHandler: function(e) {\r\n var $input = this._input();\r\n var inputValue = $input.val();\r\n if (inputValue === this._changedValue) {\r\n return\r\n }\r\n this._changedValue = inputValue;\r\n var changeEvent = createEvent(e, {\r\n type: \"change\"\r\n });\r\n eventsEngine.trigger($input, changeEvent)\r\n },\r\n _parseMask: function() {\r\n this._maskRules = extend({}, buildInMaskRules, this.option(\"maskRules\"));\r\n this._maskRulesChain = this._parseMaskRule(0)\r\n },\r\n _parseMaskRule: function(index) {\r\n var mask = this.option(\"mask\");\r\n if (index >= mask.length) {\r\n return new EmptyMaskRule\r\n }\r\n var currentMaskChar = mask[index];\r\n var isEscapedChar = currentMaskChar === ESCAPED_CHAR;\r\n var result = isEscapedChar ? new StubMaskRule({\r\n maskChar: mask[index + 1]\r\n }) : this._getMaskRule(currentMaskChar);\r\n result.next(this._parseMaskRule(index + 1 + isEscapedChar));\r\n return result\r\n },\r\n _getMaskRule: function(pattern) {\r\n var ruleConfig;\r\n each(this._maskRules, (function(rulePattern, allowedChars) {\r\n if (rulePattern === pattern) {\r\n ruleConfig = {\r\n pattern: rulePattern,\r\n allowedChars: allowedChars\r\n };\r\n return false\r\n }\r\n }));\r\n return isDefined(ruleConfig) ? new MaskRule(extend({\r\n maskChar: this.option(\"maskChar\") || \" \"\r\n }, ruleConfig)) : new StubMaskRule({\r\n maskChar: pattern\r\n })\r\n },\r\n _renderMaskedValue: function() {\r\n if (!this._maskRulesChain) {\r\n return\r\n }\r\n var value = this.option(\"value\") || \"\";\r\n this._maskRulesChain.clear(this._normalizeChainArguments());\r\n var chainArgs = {\r\n length: value.length\r\n };\r\n chainArgs[this._isMaskedValueMode() ? \"text\" : \"value\"] = value;\r\n this._handleChain(chainArgs);\r\n this._displayMask()\r\n },\r\n _replaceSelectedText: function(text, selection, char) {\r\n if (void 0 === char) {\r\n return text\r\n }\r\n var textBefore = text.slice(0, selection.start);\r\n var textAfter = text.slice(selection.end);\r\n var edited = textBefore + char + textAfter;\r\n return edited\r\n },\r\n _isMaskedValueMode: function() {\r\n return this.option(\"useMaskedValue\")\r\n },\r\n _displayMask: function(caret) {\r\n caret = caret || this._caret();\r\n this._renderValue();\r\n this._caret(caret)\r\n },\r\n _isValueEmpty: function() {\r\n return isEmpty(this._value)\r\n },\r\n _shouldShowMask: function() {\r\n var showMaskMode = this.option(\"showMaskMode\");\r\n if (\"onFocus\" === showMaskMode) {\r\n return focused(this._input()) || !this._isValueEmpty()\r\n }\r\n return true\r\n },\r\n _showMaskPlaceholder: function() {\r\n if (this._shouldShowMask()) {\r\n var text = this._maskRulesChain.text();\r\n this.option(\"text\", text);\r\n if (\"onFocus\" === this.option(\"showMaskMode\")) {\r\n this._renderDisplayText(text)\r\n }\r\n }\r\n },\r\n _renderValue: function() {\r\n if (this._maskRulesChain) {\r\n this._showMaskPlaceholder();\r\n if (this._$hiddenElement) {\r\n var value = this._maskRulesChain.value();\r\n var submitElementValue = !isEmpty(value) ? this._getPreparedValue() : \"\";\r\n this._$hiddenElement.val(submitElementValue)\r\n }\r\n }\r\n return this.callBase()\r\n },\r\n _getPreparedValue: function() {\r\n return this._convertToValue().replace(/\\s+$/, \"\")\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n if (!this._maskRulesChain) {\r\n this.callBase.apply(this, arguments);\r\n return\r\n }\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", this._getPreparedValue())\r\n },\r\n _isControlKeyFired: function(e) {\r\n return this._isControlKey(normalizeKeyName(e)) || isCommandKeyPressed(e)\r\n },\r\n _handleChain: function(args) {\r\n var handledCount = this._maskRulesChain.handle(this._normalizeChainArguments(args));\r\n this._updateMaskInfo();\r\n return handledCount\r\n },\r\n _normalizeChainArguments: function(args) {\r\n args = args || {};\r\n args.index = 0;\r\n args.fullText = this._maskRulesChain.text();\r\n return args\r\n },\r\n _convertToValue: function(text) {\r\n if (this._isMaskedValueMode()) {\r\n text = this._replaceMaskCharWithEmpty(text || this._textValue || \"\")\r\n } else {\r\n text = text || this._value || \"\"\r\n }\r\n return text\r\n },\r\n _replaceMaskCharWithEmpty: function(text) {\r\n return text.replace(new RegExp(this.option(\"maskChar\"), \"g\"), EMPTY_CHAR)\r\n },\r\n _maskKeyHandler: function(e, keyHandler) {\r\n if (this.option(\"readOnly\")) {\r\n return\r\n }\r\n this.setForwardDirection();\r\n e.preventDefault();\r\n this._handleSelection();\r\n var previousText = this._input().val();\r\n var raiseInputEvent = () => {\r\n if (previousText !== this._input().val()) {\r\n eventsEngine.trigger(this._input(), \"input\")\r\n }\r\n };\r\n var handled = keyHandler();\r\n if (handled) {\r\n handled.then(raiseInputEvent)\r\n } else {\r\n this.setForwardDirection();\r\n this._adjustCaret();\r\n this._displayMask();\r\n this._maskRulesChain.reset();\r\n raiseInputEvent()\r\n }\r\n },\r\n _handleKey: function(key, direction) {\r\n this._direction(direction || FORWARD_DIRECTION);\r\n this._adjustCaret(key);\r\n this._handleKeyChain(key);\r\n this._moveCaret()\r\n },\r\n _handleSelection: function() {\r\n if (!this._hasSelection()) {\r\n return\r\n }\r\n var caret = this._caret();\r\n var emptyChars = new Array(caret.end - caret.start + 1).join(EMPTY_CHAR);\r\n this._handleKeyChain(emptyChars)\r\n },\r\n _handleKeyChain: function(chars) {\r\n var caret = this._caret();\r\n var start = this.isForwardDirection() ? caret.start : caret.start - 1;\r\n var end = this.isForwardDirection() ? caret.end : caret.end - 1;\r\n var length = start === end ? 1 : end - start;\r\n this._handleChain({\r\n text: chars,\r\n start: start,\r\n length: length\r\n })\r\n },\r\n _tryMoveCaretBackward: function() {\r\n this.setBackwardDirection();\r\n var currentCaret = this._caret().start;\r\n this._adjustCaret();\r\n return !currentCaret || currentCaret !== this._caret().start\r\n },\r\n _adjustCaret: function(char) {\r\n var caretStart = this._caret().start;\r\n var isForwardDirection = this.isForwardDirection();\r\n var caret = this._maskRulesChain.adjustedCaret(caretStart, isForwardDirection, char);\r\n this._caret({\r\n start: caret,\r\n end: caret\r\n })\r\n },\r\n _moveCaret: function() {\r\n var currentCaret = this._caret().start;\r\n var maskRuleIndex = currentCaret + (this.isForwardDirection() ? 0 : -1);\r\n var caret = this._maskRulesChain.isAccepted(maskRuleIndex) ? currentCaret + (this.isForwardDirection() ? 1 : -1) : currentCaret;\r\n this._caret({\r\n start: caret,\r\n end: caret\r\n })\r\n },\r\n _caret: function(position, force) {\r\n var $input = this._input();\r\n if (!$input.length) {\r\n return\r\n }\r\n if (!arguments.length) {\r\n return caret($input)\r\n }\r\n caret($input, position, force)\r\n },\r\n _hasSelection: function() {\r\n var caret = this._caret();\r\n return caret.start !== caret.end\r\n },\r\n _direction: function(direction) {\r\n if (!arguments.length) {\r\n return this._typingDirection\r\n }\r\n this._typingDirection = direction\r\n },\r\n setForwardDirection: function() {\r\n this._direction(FORWARD_DIRECTION)\r\n },\r\n setBackwardDirection: function() {\r\n this._direction(BACKWARD_DIRECTION)\r\n },\r\n isForwardDirection: function() {\r\n return this._direction() === FORWARD_DIRECTION\r\n },\r\n _updateMaskInfo() {\r\n this._textValue = this._maskRulesChain.text();\r\n this._value = this._maskRulesChain.value()\r\n },\r\n _clean: function() {\r\n this._maskStrategy && this._maskStrategy.clean();\r\n this.callBase()\r\n },\r\n _validateMask: function() {\r\n if (!this._maskRulesChain) {\r\n return\r\n }\r\n var isValid = isEmpty(this.option(\"value\")) || this._maskRulesChain.isValid(this._normalizeChainArguments());\r\n this.option({\r\n isValid: isValid,\r\n validationError: isValid ? null : {\r\n editorSpecific: true,\r\n message: this.option(\"maskInvalidMessage\")\r\n }\r\n })\r\n },\r\n _updateHiddenElement: function() {\r\n this._removeHiddenElement();\r\n if (this.option(\"mask\")) {\r\n this._input().removeAttr(\"name\");\r\n this._renderHiddenElement()\r\n }\r\n this._setSubmitElementName(this.option(\"name\"))\r\n },\r\n _updateMaskOption: function() {\r\n this._updateHiddenElement();\r\n this._renderMask();\r\n this._validateMask();\r\n this._refreshValueChangeEvent()\r\n },\r\n _processEmptyMask: function(mask) {\r\n if (mask) {\r\n return\r\n }\r\n var value = this.option(\"value\");\r\n this.option({\r\n text: value,\r\n isValid: true,\r\n validationError: null\r\n });\r\n this.validationRequest.fire({\r\n value: value,\r\n editor: this\r\n });\r\n this._renderValue()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"mask\":\r\n this._updateMaskOption();\r\n this._processEmptyMask(args.value);\r\n break;\r\n case \"maskChar\":\r\n case \"maskRules\":\r\n case \"useMaskedValue\":\r\n this._updateMaskOption();\r\n break;\r\n case \"value\":\r\n this._renderMaskedValue();\r\n this._validateMask();\r\n this.callBase(args);\r\n this._changedValue = this._input().val();\r\n break;\r\n case \"maskInvalidMessage\":\r\n break;\r\n case \"showMaskMode\":\r\n this.option(\"text\", \"\");\r\n this._renderValue();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n reset: function() {\r\n var {\r\n value: defaultValue\r\n } = this._getDefaultOptions();\r\n if (this.option(\"value\") === defaultValue) {\r\n this._renderMaskedValue()\r\n }\r\n this.callBase()\r\n }\r\n});\r\nexport default TextEditorMask;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport TextEditorMask from \"./ui.text_editor.mask\";\r\nregisterComponent(\"dxTextEditor\", TextEditorMask);\r\nexport default TextEditorMask;\r\n","var power;\n\npower = {\n W: {\n name: {\n singular: 'Watt'\n , plural: 'Watts'\n }\n , to_anchor: 1\n }\n, mW: {\n name: {\n singular: 'Milliwatt'\n , plural: 'Milliwatts'\n }\n , to_anchor: .001\n }\n, kW: {\n name: {\n singular: 'Kilowatt'\n , plural: 'Kilowatts'\n }\n , to_anchor: 1000\n }\n, MW: {\n name: {\n singular: 'Megawatt'\n , plural: 'Megawatts'\n }\n , to_anchor: 1000000\n }\n, GW: {\n name: {\n singular: 'Gigawatt'\n , plural: 'Gigawatts'\n }\n , to_anchor: 1000000000\n }\n};\n\nmodule.exports = {\n metric: power\n, _anchors: {\n metric: {\n unit: 'W'\n , ratio: 1\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","// Directives\nimport { Scroll } from '../../directives'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\n/**\n * Scrollable\n *\n * Used for monitoring scrolling and\n * invoking functions based upon\n * scrolling thresholds being\n * met.\n */\n/* @vue/component */\nexport default Vue.extend({\n name: 'scrollable',\n\n directives: { Scroll },\n\n props: {\n scrollTarget: String,\n scrollThreshold: [String, Number],\n },\n\n data: () => ({\n currentScroll: 0,\n currentThreshold: 0,\n isActive: false,\n isScrollingUp: false,\n previousScroll: 0,\n savedScroll: 0,\n target: null as Element | null,\n }),\n\n computed: {\n /**\n * A computed property that returns\n * whether scrolling features are\n * enabled or disabled\n */\n canScroll (): boolean {\n return typeof window !== 'undefined'\n },\n /**\n * The threshold that must be met before\n * thresholdMet function is invoked\n */\n computedScrollThreshold (): number {\n return this.scrollThreshold\n ? Number(this.scrollThreshold)\n : 300\n },\n },\n\n watch: {\n isScrollingUp () {\n this.savedScroll = this.savedScroll || this.currentScroll\n },\n isActive () {\n this.savedScroll = 0\n },\n },\n\n mounted () {\n if (this.scrollTarget) {\n this.target = document.querySelector(this.scrollTarget)\n\n if (!this.target) {\n consoleWarn(`Unable to locate element with identifier ${this.scrollTarget}`, this)\n }\n }\n },\n\n methods: {\n onScroll () {\n if (!this.canScroll) return\n\n this.previousScroll = this.currentScroll\n this.currentScroll = this.target\n ? this.target.scrollTop\n : window.pageYOffset\n\n this.isScrollingUp = this.currentScroll < this.previousScroll\n this.currentThreshold = Math.abs(this.currentScroll - this.computedScrollThreshold)\n\n this.$nextTick(() => {\n if (\n Math.abs(this.currentScroll - this.savedScroll) >\n this.computedScrollThreshold\n ) this.thresholdMet()\n })\n },\n /**\n * The method invoked when\n * scrolling in any direction\n * has exceeded the threshold\n */\n thresholdMet () { /* noop */ },\n },\n})\n","// Styles\nimport './VAppBar.sass'\n\n// Extensions\nimport VToolbar from '../VToolbar/VToolbar'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Scrollable from '../../mixins/scrollable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VToolbar,\n Scrollable,\n SSRBootable,\n Toggleable,\n Applicationable('top', [\n 'clippedLeft',\n 'clippedRight',\n 'computedHeight',\n 'invertedScroll',\n 'isExtended',\n 'isProminent',\n 'value',\n ])\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-app-bar',\n\n directives: { Scroll },\n\n provide (): object {\n return { VAppBar: this }\n },\n\n props: {\n clippedLeft: Boolean,\n clippedRight: Boolean,\n collapseOnScroll: Boolean,\n elevateOnScroll: Boolean,\n fadeImgOnScroll: Boolean,\n hideOnScroll: Boolean,\n invertedScroll: Boolean,\n scrollOffScreen: Boolean,\n shrinkOnScroll: Boolean,\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n isActive: this.value,\n }\n },\n\n computed: {\n applicationProperty (): string {\n return !this.bottom ? 'top' : 'bottom'\n },\n canScroll (): boolean {\n return (\n Scrollable.options.computed.canScroll.call(this) &&\n (\n this.invertedScroll ||\n this.elevateOnScroll ||\n this.hideOnScroll ||\n this.collapseOnScroll ||\n this.isBooted ||\n // If falsy, user has provided an\n // explicit value which should\n // overwrite anything we do\n !this.value\n )\n )\n },\n classes (): object {\n return {\n ...VToolbar.options.computed.classes.call(this),\n 'v-toolbar--collapse': this.collapse || this.collapseOnScroll,\n 'v-app-bar': true,\n 'v-app-bar--clipped': this.clippedLeft || this.clippedRight,\n 'v-app-bar--fade-img-on-scroll': this.fadeImgOnScroll,\n 'v-app-bar--elevate-on-scroll': this.elevateOnScroll,\n 'v-app-bar--fixed': !this.absolute && (this.app || this.fixed),\n 'v-app-bar--hide-shadow': this.hideShadow,\n 'v-app-bar--is-scrolled': this.currentScroll > 0,\n 'v-app-bar--shrink-on-scroll': this.shrinkOnScroll,\n }\n },\n scrollRatio (): number {\n const threshold = this.computedScrollThreshold\n return Math.max((threshold - this.currentScroll) / threshold, 0)\n },\n computedContentHeight (): number {\n if (!this.shrinkOnScroll) return VToolbar.options.computed.computedContentHeight.call(this)\n\n const min = this.dense ? 48 : 56\n const max = this.computedOriginalHeight\n\n return min + (max - min) * this.scrollRatio\n },\n computedFontSize (): number | undefined {\n if (!this.isProminent) return undefined\n\n const min = 1.25\n const max = 1.5\n\n return min + (max - min) * this.scrollRatio\n },\n computedLeft (): number {\n if (!this.app || this.clippedLeft) return 0\n\n return this.$vuetify.application.left\n },\n computedMarginTop (): number {\n if (!this.app) return 0\n\n return this.$vuetify.application.bar\n },\n computedOpacity (): number | undefined {\n if (!this.fadeImgOnScroll) return undefined\n\n return this.scrollRatio\n },\n computedOriginalHeight (): number {\n let height = VToolbar.options.computed.computedContentHeight.call(this)\n if (this.isExtended) height += parseInt(this.extensionHeight)\n return height\n },\n computedRight (): number {\n if (!this.app || this.clippedRight) return 0\n\n return this.$vuetify.application.right\n },\n computedScrollThreshold (): number {\n if (this.scrollThreshold) return Number(this.scrollThreshold)\n\n return this.computedOriginalHeight - (this.dense ? 48 : 56)\n },\n computedTransform (): number {\n if (\n !this.canScroll ||\n (this.elevateOnScroll && this.currentScroll === 0 && this.isActive)\n ) return 0\n\n if (this.isActive) return 0\n\n const scrollOffScreen = this.scrollOffScreen\n ? this.computedHeight\n : this.computedContentHeight\n\n return this.bottom ? scrollOffScreen : -scrollOffScreen\n },\n hideShadow (): boolean {\n if (this.elevateOnScroll && this.isExtended) {\n return this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.elevateOnScroll) {\n return this.currentScroll === 0 ||\n this.computedTransform < 0\n }\n\n return (\n !this.isExtended ||\n this.scrollOffScreen\n ) && this.computedTransform !== 0\n },\n isCollapsed (): boolean {\n if (!this.collapseOnScroll) {\n return VToolbar.options.computed.isCollapsed.call(this)\n }\n\n return this.currentScroll > 0\n },\n isProminent (): boolean {\n return (\n VToolbar.options.computed.isProminent.call(this) ||\n this.shrinkOnScroll\n )\n },\n styles (): object {\n return {\n ...VToolbar.options.computed.styles.call(this),\n fontSize: convertToUnit(this.computedFontSize, 'rem'),\n marginTop: convertToUnit(this.computedMarginTop),\n transform: `translateY(${convertToUnit(this.computedTransform)})`,\n left: convertToUnit(this.computedLeft),\n right: convertToUnit(this.computedRight),\n }\n },\n },\n\n watch: {\n canScroll: 'onScroll',\n computedTransform () {\n // Normally we do not want the v-app-bar\n // to update the application top value\n // to avoid screen jump. However, in\n // this situation, we must so that\n // the clipped drawer can update\n // its top value when scrolled\n if (\n !this.canScroll ||\n (!this.clippedLeft && !this.clippedRight)\n ) return\n\n this.callUpdate()\n },\n invertedScroll (val: boolean) {\n this.isActive = !val || this.currentScroll !== 0\n },\n hideOnScroll (val: boolean) {\n this.isActive = !val || this.currentScroll < this.computedScrollThreshold\n },\n },\n\n created () {\n if (this.invertedScroll) this.isActive = false\n },\n\n methods: {\n genBackground () {\n const render = VToolbar.options.methods.genBackground.call(this)\n\n render.data = this._b(render.data || {}, render.tag!, {\n style: { opacity: this.computedOpacity },\n })\n\n return render\n },\n updateApplication (): number {\n return this.invertedScroll\n ? 0\n : this.computedHeight + this.computedTransform\n },\n thresholdMet () {\n if (this.invertedScroll) {\n this.isActive = this.currentScroll > this.computedScrollThreshold\n return\n }\n\n if (this.hideOnScroll) {\n this.isActive = this.isScrollingUp ||\n this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.currentThreshold < this.computedScrollThreshold) return\n\n this.savedScroll = this.currentScroll\n },\n },\n\n render (h): VNode {\n const render = VToolbar.options.render.call(this, h)\n\n render.data = render.data || {}\n\n if (this.canScroll) {\n render.data.directives = render.data.directives || []\n render.data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll,\n })\n }\n\n return render\n },\n})\n","/**\r\n * DevExtreme (esm/renovation/ui/common/base_props.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var BaseWidgetProps = {\r\n className: \"\",\r\n activeStateEnabled: false,\r\n disabled: false,\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n tabIndex: 0,\r\n visible: true\r\n};\r\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arKw = moment.defineLocale('ar-kw', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arKw;\n\n})));\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.live_update.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport CollectionWidget from \"./ui.collection_widget.edit\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n update,\r\n insert,\r\n indexByKey\r\n} from \"../../data/array_utils\";\r\nimport {\r\n keysEqual\r\n} from \"../../data/utils\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n findChanges\r\n} from \"../../core/utils/array_compare\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar PRIVATE_KEY_FIELD = \"__dx_key__\";\r\nexport default CollectionWidget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n repaintChangesOnly: false\r\n })\r\n },\r\n ctor: function() {\r\n var _this$_dataController;\r\n this.callBase.apply(this, arguments);\r\n this._customizeStoreLoadOptions = e => {\r\n var dataController = this._dataController;\r\n if (dataController.getDataSource() && !this._dataController.isLoaded()) {\r\n this._correctionIndex = 0\r\n }\r\n if (this._correctionIndex && e.storeLoadOptions) {\r\n e.storeLoadOptions.skip += this._correctionIndex\r\n }\r\n }, null === (_this$_dataController = this._dataController) || void 0 === _this$_dataController ? void 0 : _this$_dataController.on(\"customizeStoreLoadOptions\", this._customizeStoreLoadOptions)\r\n },\r\n reload: function() {\r\n this._correctionIndex = 0\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._refreshItemsCache();\r\n this._correctionIndex = 0\r\n },\r\n _findItemElementByKey: function(key) {\r\n var result = $();\r\n var keyExpr = this.key();\r\n this.itemElements().each((_, item) => {\r\n var $item = $(item);\r\n var itemData = this._getItemData($item);\r\n if (keyExpr ? keysEqual(keyExpr, this.keyOf(itemData), key) : this._isItemEquals(itemData, key)) {\r\n result = $item;\r\n return false\r\n }\r\n });\r\n return result\r\n },\r\n _dataSourceChangedHandler: function(newItems, e) {\r\n if (null !== e && void 0 !== e && e.changes) {\r\n this._modifyByChanges(e.changes)\r\n } else {\r\n this.callBase(newItems, e);\r\n this._refreshItemsCache()\r\n }\r\n },\r\n _isItemEquals: function(item1, item2) {\r\n if (item1 && item1[PRIVATE_KEY_FIELD]) {\r\n item1 = item1.data\r\n }\r\n try {\r\n return JSON.stringify(item1) === JSON.stringify(item2)\r\n } catch (e) {\r\n return item1 === item2\r\n }\r\n },\r\n _isItemStrictEquals: function(item1, item2) {\r\n return this._isItemEquals(item1, item2)\r\n },\r\n _shouldAddNewGroup: function(changes, items) {\r\n var result = false;\r\n if (this.option(\"grouped\")) {\r\n if (!changes.length) {\r\n result = true\r\n }\r\n each(changes, (i, change) => {\r\n if (\"insert\" === change.type) {\r\n result = true;\r\n each(items, (_, item) => {\r\n if (void 0 !== change.data.key && change.data.key === item.key) {\r\n result = false;\r\n return false\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return result\r\n },\r\n _partialRefresh: function() {\r\n if (this.option(\"repaintChangesOnly\")) {\r\n var result = findChanges(this._itemsCache, this._editStrategy.itemsGetter(), data => {\r\n if (data && void 0 !== data[PRIVATE_KEY_FIELD]) {\r\n return data[PRIVATE_KEY_FIELD]\r\n }\r\n return this.keyOf(data)\r\n }, this._isItemStrictEquals.bind(this));\r\n if (result && this._itemsCache.length && !this._shouldAddNewGroup(result, this._itemsCache)) {\r\n this._modifyByChanges(result, true);\r\n this._renderEmptyMessage();\r\n return true\r\n } else {\r\n this._refreshItemsCache()\r\n }\r\n }\r\n return false\r\n },\r\n _refreshItemsCache: function() {\r\n if (this.option(\"repaintChangesOnly\")) {\r\n var items = this._editStrategy.itemsGetter();\r\n try {\r\n this._itemsCache = extend(true, [], items);\r\n if (!this.key()) {\r\n this._itemsCache = this._itemsCache.map((itemCache, index) => ({\r\n [PRIVATE_KEY_FIELD]: items[index],\r\n data: itemCache\r\n }))\r\n }\r\n } catch (e) {\r\n this._itemsCache = extend([], items)\r\n }\r\n }\r\n },\r\n _dispose: function() {\r\n this._dataController.off(\"customizeStoreLoadOptions\", this._customizeStoreLoadOptions);\r\n this.callBase()\r\n },\r\n _updateByChange: function(keyInfo, items, change, isPartialRefresh) {\r\n if (isPartialRefresh) {\r\n this._renderItem(change.index, change.data, null, this._findItemElementByKey(change.key))\r\n } else {\r\n var changedItem = items[indexByKey(keyInfo, items, change.key)];\r\n if (changedItem) {\r\n update(keyInfo, items, change.key, change.data).done(() => {\r\n this._renderItem(items.indexOf(changedItem), changedItem, null, this._findItemElementByKey(change.key))\r\n })\r\n }\r\n }\r\n },\r\n _insertByChange: function(keyInfo, items, change, isPartialRefresh) {\r\n when(isPartialRefresh || insert(keyInfo, items, change.data, change.index)).done(() => {\r\n var _change$index;\r\n this._beforeItemElementInserted(change);\r\n var $itemContainer = this._getItemContainer(change.data);\r\n this._renderItem(null !== (_change$index = change.index) && void 0 !== _change$index ? _change$index : items.length, change.data, $itemContainer);\r\n this._afterItemElementInserted();\r\n this._correctionIndex++\r\n })\r\n },\r\n _getItemContainer: function(changeData) {\r\n return this._itemContainer()\r\n },\r\n _updateSelectionAfterRemoveByChange: function(removeIndex) {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n if (selectedIndex > removeIndex) {\r\n this.option(\"selectedIndex\", selectedIndex - 1)\r\n } else if (selectedIndex === removeIndex && 1 === this.option(\"selectedItems\").length) {\r\n this.option(\"selectedItems\", [])\r\n } else {\r\n this._normalizeSelectedItems()\r\n }\r\n },\r\n _beforeItemElementInserted: function(change) {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n if (change.index <= selectedIndex) {\r\n this.option(\"selectedIndex\", selectedIndex + 1)\r\n }\r\n },\r\n _afterItemElementInserted: noop,\r\n _removeByChange: function(keyInfo, items, change, isPartialRefresh) {\r\n var index = isPartialRefresh ? change.index : indexByKey(keyInfo, items, change.key);\r\n var removedItem = isPartialRefresh ? change.oldItem : items[index];\r\n if (removedItem) {\r\n var $removedItemElement = this._findItemElementByKey(change.key);\r\n var deletedActionArgs = this._extendActionArgs($removedItemElement);\r\n this._waitDeletingPrepare($removedItemElement).done(() => {\r\n if (isPartialRefresh) {\r\n this._updateIndicesAfterIndex(index - 1);\r\n this._afterItemElementDeleted($removedItemElement, deletedActionArgs);\r\n this._updateSelectionAfterRemoveByChange(index)\r\n } else {\r\n this._deleteItemElementByIndex(index);\r\n this._afterItemElementDeleted($removedItemElement, deletedActionArgs)\r\n }\r\n });\r\n this._correctionIndex--\r\n }\r\n },\r\n _modifyByChanges: function(changes, isPartialRefresh) {\r\n var items = this._editStrategy.itemsGetter();\r\n var keyInfo = {\r\n key: this.key.bind(this),\r\n keyOf: this.keyOf.bind(this)\r\n };\r\n var dataController = this._dataController;\r\n var paginate = dataController.paginate();\r\n var group = dataController.group();\r\n if (paginate || group) {\r\n changes = changes.filter(item => \"insert\" !== item.type || void 0 !== item.index)\r\n }\r\n changes.forEach(change => this[\"_\".concat(change.type, \"ByChange\")](keyInfo, items, change, isPartialRefresh));\r\n this._renderedItemsCount = items.length;\r\n this._refreshItemsCache();\r\n this._fireContentReadyAction()\r\n },\r\n _appendItemToContainer: function($container, $itemFrame, index) {\r\n var nextSiblingElement = $container.children(this._itemSelector()).get(index);\r\n domAdapter.insertElement($container.get(0), $itemFrame.get(0), nextSiblingElement)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"items\":\r\n var isItemsUpdated = this._partialRefresh(args.value);\r\n if (!isItemsUpdated) {\r\n this.callBase(args)\r\n }\r\n break;\r\n case \"dataSource\":\r\n if (!this.option(\"repaintChangesOnly\") || !args.value) {\r\n this.option(\"items\", [])\r\n }\r\n this.callBase(args);\r\n break;\r\n case \"repaintChangesOnly\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropType } from 'vue'\n\nconst baseMixins = mixins(\n BaseItemGroup,\n VInput\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide () {\n return {\n radioGroup: this,\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true,\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n value: null as unknown as PropType<any>,\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row,\n }\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId,\n },\n }, VInput.options.methods.genDefaultSlot.call(this))\n },\n genInputSlot () {\n const render = VInput.options.methods.genInputSlot.call(this)\n\n delete render.data!.on!.click\n\n return render\n },\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return null\n\n label.data!.attrs!.id = this.computedId\n // WAI considers this an orphaned label\n delete label.data!.attrs!.for\n label.tag = 'legend'\n\n return label\n },\n onClick: BaseItemGroup.options.methods.onClick,\n },\n\n render (h) {\n const vnode = VInput.options.render.call(this, h)\n\n this._b(vnode.data!, 'div', this.attrs$)\n\n return vnode\n },\n})\n","/**\r\n * DevExtreme (esm/viz/chart_components/crosshair.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n patchFontOptions\r\n} from \"../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar math = Math;\r\nvar mathAbs = math.abs;\r\nvar mathMin = math.min;\r\nvar mathMax = math.max;\r\nvar mathFloor = math.floor;\r\nvar HORIZONTAL = \"horizontal\";\r\nvar VERTICAL = \"vertical\";\r\nvar LABEL_BACKGROUND_PADDING_X = 8;\r\nvar LABEL_BACKGROUND_PADDING_Y = 4;\r\nvar CENTER = \"center\";\r\nvar RIGHT = \"right\";\r\nvar LEFT = \"left\";\r\nvar TOP = \"top\";\r\nvar BOTTOM = \"bottom\";\r\nexport function getMargins() {\r\n return {\r\n x: LABEL_BACKGROUND_PADDING_X,\r\n y: LABEL_BACKGROUND_PADDING_Y\r\n }\r\n}\r\n\r\nfunction getRectangleBBox(bBox) {\r\n return {\r\n x: bBox.x - LABEL_BACKGROUND_PADDING_X,\r\n y: bBox.y - LABEL_BACKGROUND_PADDING_Y,\r\n width: bBox.width + 2 * LABEL_BACKGROUND_PADDING_X,\r\n height: bBox.height + 2 * LABEL_BACKGROUND_PADDING_Y\r\n }\r\n}\r\n\r\nfunction getLabelCheckerPosition(x, y, isHorizontal, canvas) {\r\n var params = isHorizontal ? [\"x\", \"width\", \"y\", \"height\", y, 0] : [\"y\", \"height\", \"x\", \"width\", x, 1];\r\n return function(bBox, position, coord) {\r\n var labelCoord = {\r\n x: coord.x,\r\n y: coord.y\r\n };\r\n var rectangleBBox = getRectangleBBox(bBox);\r\n var delta = isHorizontal ? coord.y - bBox.y - bBox.height / 2 : coord.y - bBox.y;\r\n labelCoord.y = isHorizontal || !isHorizontal && position === BOTTOM ? coord.y + delta : coord.y;\r\n if (rectangleBBox[params[0]] < 0) {\r\n labelCoord[params[0]] -= rectangleBBox[params[0]]\r\n } else if (rectangleBBox[params[0]] + rectangleBBox[params[1]] + delta * params[5] > canvas[params[1]]) {\r\n labelCoord[params[0]] -= rectangleBBox[params[0]] + rectangleBBox[params[1]] + delta * params[5] - canvas[params[1]]\r\n }\r\n if (params[4] - rectangleBBox[params[3]] / 2 < 0) {\r\n labelCoord[params[2]] -= params[4] - rectangleBBox[params[3]] / 2\r\n } else if (params[4] + rectangleBBox[params[3]] / 2 > canvas[params[3]]) {\r\n labelCoord[params[2]] -= params[4] + rectangleBBox[params[3]] / 2 - canvas[params[3]]\r\n }\r\n return labelCoord\r\n }\r\n}\r\nexport function Crosshair(renderer, options, params, group) {\r\n this._renderer = renderer;\r\n this._crosshairGroup = group;\r\n this._options = {};\r\n this.update(options, params)\r\n}\r\nCrosshair.prototype = {\r\n constructor: Crosshair,\r\n update: function(options, params) {\r\n var canvas = params.canvas;\r\n this._canvas = {\r\n top: canvas.top,\r\n bottom: canvas.height - canvas.bottom,\r\n left: canvas.left,\r\n right: canvas.width - canvas.right,\r\n width: canvas.width,\r\n height: canvas.height\r\n };\r\n this._axes = params.axes;\r\n this._panes = params.panes;\r\n this._prepareOptions(options, HORIZONTAL);\r\n this._prepareOptions(options, VERTICAL)\r\n },\r\n dispose: function() {\r\n this._renderer = this._crosshairGroup = this._options = this._axes = this._canvas = this._horizontalGroup = this._verticalGroup = this._horizontal = this._vertical = this._circle = this._panes = null\r\n },\r\n _prepareOptions: function(options, direction) {\r\n var lineOptions = options[direction + \"Line\"];\r\n this._options[direction] = {\r\n visible: lineOptions.visible,\r\n line: {\r\n stroke: lineOptions.color || options.color,\r\n \"stroke-width\": lineOptions.width || options.width,\r\n dashStyle: lineOptions.dashStyle || options.dashStyle,\r\n opacity: lineOptions.opacity || options.opacity,\r\n \"stroke-linecap\": \"butt\"\r\n },\r\n label: extend(true, {}, options.label, lineOptions.label)\r\n }\r\n },\r\n _createLines: function(options, sharpParam, group) {\r\n var lines = [];\r\n var canvas = this._canvas;\r\n var points = [canvas.left, canvas.top, canvas.left, canvas.top];\r\n for (var i = 0; i < 2; i++) {\r\n lines.push(this._renderer.path(points, \"line\").attr(options).sharp(sharpParam).append(group))\r\n }\r\n return lines\r\n },\r\n render: function() {\r\n var renderer = this._renderer;\r\n var options = this._options;\r\n var verticalOptions = options.vertical;\r\n var horizontalOptions = options.horizontal;\r\n var extraOptions = horizontalOptions.visible ? horizontalOptions.line : verticalOptions.line;\r\n var circleOptions = {\r\n stroke: extraOptions.stroke,\r\n \"stroke-width\": extraOptions[\"stroke-width\"],\r\n dashStyle: extraOptions.dashStyle,\r\n opacity: extraOptions.opacity\r\n };\r\n var canvas = this._canvas;\r\n this._horizontal = {};\r\n this._vertical = {};\r\n this._circle = renderer.circle(canvas.left, canvas.top, 0).attr(circleOptions).append(this._crosshairGroup);\r\n this._horizontalGroup = renderer.g().append(this._crosshairGroup);\r\n this._verticalGroup = renderer.g().append(this._crosshairGroup);\r\n if (verticalOptions.visible) {\r\n this._vertical.lines = this._createLines(verticalOptions.line, \"h\", this._verticalGroup);\r\n this._vertical.labels = this._createLabels(this._axes[0], verticalOptions, false, this._verticalGroup)\r\n }\r\n if (horizontalOptions.visible) {\r\n this._horizontal.lines = this._createLines(horizontalOptions.line, \"v\", this._horizontalGroup);\r\n this._horizontal.labels = this._createLabels(this._axes[1], horizontalOptions, true, this._horizontalGroup)\r\n }\r\n this.hide()\r\n },\r\n _createLabels: function(axes, options, isHorizontal, group) {\r\n var canvas = this._canvas;\r\n var renderer = this._renderer;\r\n var x;\r\n var y;\r\n var text;\r\n var labels = [];\r\n var background;\r\n var currentLabelPos;\r\n var labelOptions = options.label;\r\n if (labelOptions.visible) {\r\n axes.forEach((function(axis) {\r\n var position = axis.getOptions().position;\r\n if (axis.getTranslator().getBusinessRange().isEmpty()) {\r\n return\r\n }\r\n currentLabelPos = axis.getLabelsPosition();\r\n if (isHorizontal) {\r\n y = canvas.top;\r\n x = currentLabelPos\r\n } else {\r\n x = canvas.left;\r\n y = currentLabelPos\r\n }\r\n var align = position === TOP || position === BOTTOM ? CENTER : position === RIGHT ? LEFT : RIGHT;\r\n background = renderer.rect(0, 0, 0, 0).attr({\r\n fill: labelOptions.backgroundColor || options.line.stroke\r\n }).append(group);\r\n text = renderer.text(\"0\", 0, 0).css(patchFontOptions(options.label.font)).attr({\r\n align: align,\r\n class: labelOptions.cssClass\r\n }).append(group);\r\n labels.push({\r\n text: text,\r\n background: background,\r\n axis: axis,\r\n options: labelOptions,\r\n pos: {\r\n coord: currentLabelPos,\r\n side: position\r\n },\r\n startXY: {\r\n x: x,\r\n y: y\r\n }\r\n })\r\n }))\r\n }\r\n return labels\r\n },\r\n _updateText: function(value, axisName, labels, point, func) {\r\n var that = this;\r\n labels.forEach((function(label) {\r\n var axis = label.axis;\r\n var coord = label.startXY;\r\n var textElement = label.text;\r\n var backgroundElement = label.background;\r\n var text = \"\";\r\n if (!axis.name || axis.name === axisName) {\r\n text = axis.getFormattedValue(value, label.options, point)\r\n }\r\n if (text) {\r\n textElement.attr({\r\n text: text,\r\n x: coord.x,\r\n y: coord.y\r\n });\r\n textElement.attr(func(textElement.getBBox(), label.pos.side, coord));\r\n that._updateLinesCanvas(label);\r\n backgroundElement.attr(getRectangleBBox(textElement.getBBox()))\r\n } else {\r\n textElement.attr({\r\n text: \"\"\r\n });\r\n backgroundElement.attr({\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n })\r\n }\r\n }))\r\n },\r\n hide: function() {\r\n this._crosshairGroup.attr({\r\n visibility: \"hidden\"\r\n })\r\n },\r\n _updateLinesCanvas: function(label) {\r\n var position = label.pos.side;\r\n var labelCoord = label.pos.coord;\r\n var coords = this._linesCanvas;\r\n var canvas = this._canvas;\r\n coords[position] = coords[position] !== canvas[position] && mathAbs(coords[position] - canvas[position]) < mathAbs(labelCoord - canvas[position]) ? coords[position] : labelCoord\r\n },\r\n _updateLines: function(lines, x, y, r, isHorizontal) {\r\n var coords = this._linesCanvas;\r\n var canvas = this._canvas;\r\n var points = isHorizontal ? [\r\n [mathMin(x - r, coords.left), canvas.top, x - r, canvas.top],\r\n [x + r, canvas.top, mathMax(coords.right, x + r), canvas.top]\r\n ] : [\r\n [canvas.left, mathMin(coords.top, y - r), canvas.left, y - r],\r\n [canvas.left, y + r, canvas.left, mathMax(coords.bottom, y + r)]\r\n ];\r\n for (var i = 0; i < 2; i++) {\r\n lines[i].attr({\r\n points: points[i]\r\n }).sharp(isHorizontal ? \"v\" : \"h\", isHorizontal ? y === canvas.bottom ? -1 : 1 : x === canvas.right ? -1 : 1)\r\n }\r\n },\r\n _resetLinesCanvas: function() {\r\n var canvas = this._canvas;\r\n this._linesCanvas = {\r\n left: canvas.left,\r\n right: canvas.right,\r\n top: canvas.top,\r\n bottom: canvas.bottom\r\n }\r\n },\r\n _getClipRectForPane: function(x, y) {\r\n var panes = this._panes;\r\n var i;\r\n var coords;\r\n for (i = 0; i < panes.length; i++) {\r\n coords = panes[i].coords;\r\n if (coords.left <= x && coords.right >= x && coords.top <= y && coords.bottom >= y) {\r\n return panes[i].clipRect\r\n }\r\n }\r\n return {\r\n id: null\r\n }\r\n },\r\n show: function(data) {\r\n var point = data.point;\r\n var pointData = point.getCrosshairData(data.x, data.y);\r\n var r = point.getPointRadius();\r\n var horizontal = this._horizontal;\r\n var vertical = this._vertical;\r\n var rad = !r ? 0 : r + 3;\r\n var canvas = this._canvas;\r\n var x = mathFloor(pointData.x);\r\n var y = mathFloor(pointData.y);\r\n if (x >= canvas.left && x <= canvas.right && y >= canvas.top && y <= canvas.bottom) {\r\n this._crosshairGroup.attr({\r\n visibility: \"visible\"\r\n });\r\n this._resetLinesCanvas();\r\n this._circle.attr({\r\n cx: x,\r\n cy: y,\r\n r: rad,\r\n \"clip-path\": this._getClipRectForPane(x, y).id\r\n });\r\n if (horizontal.lines) {\r\n this._updateText(pointData.yValue, pointData.axis, horizontal.labels, point, getLabelCheckerPosition(x, y, true, canvas));\r\n this._updateLines(horizontal.lines, x, y, rad, true);\r\n this._horizontalGroup.attr({\r\n translateY: y - canvas.top\r\n })\r\n }\r\n if (vertical.lines) {\r\n this._updateText(pointData.xValue, pointData.axis, vertical.labels, point, getLabelCheckerPosition(x, y, false, canvas));\r\n this._updateLines(vertical.lines, x, y, rad, false);\r\n this._verticalGroup.attr({\r\n translateX: x - canvas.left\r\n })\r\n }\r\n } else {\r\n this.hide()\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/components/consts.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default {\r\n events: {\r\n mouseover: \"mouseover\",\r\n mouseout: \"mouseout\",\r\n mousemove: \"mousemove\",\r\n touchstart: \"touchstart\",\r\n touchmove: \"touchmove\",\r\n touchend: \"touchend\",\r\n mousedown: \"mousedown\",\r\n mouseup: \"mouseup\",\r\n click: \"click\",\r\n selectSeries: \"selectseries\",\r\n deselectSeries: \"deselectseries\",\r\n selectPoint: \"selectpoint\",\r\n deselectPoint: \"deselectpoint\",\r\n showPointTooltip: \"showpointtooltip\",\r\n hidePointTooltip: \"hidepointtooltip\"\r\n },\r\n states: {\r\n hover: \"hover\",\r\n normal: \"normal\",\r\n selection: \"selection\",\r\n normalMark: 0,\r\n hoverMark: 1,\r\n selectedMark: 2,\r\n applyHover: \"applyHover\",\r\n applySelected: \"applySelected\",\r\n resetItem: \"resetItem\"\r\n },\r\n radialLabelIndent: 30,\r\n pieLabelSpacing: 10,\r\n pieSeriesSpacing: 4\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/layout_element.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar _round = Math.round;\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nvar defaultOffset = {\r\n horizontal: 0,\r\n vertical: 0\r\n};\r\nvar alignFactors = {\r\n center: .5,\r\n right: 1,\r\n bottom: 1,\r\n left: 0,\r\n top: 0\r\n};\r\n\r\nfunction LayoutElement(options) {\r\n this._options = options\r\n}\r\nLayoutElement.prototype = {\r\n constructor: LayoutElement,\r\n position: function(options) {\r\n var ofBBox = options.of.getLayoutOptions();\r\n var myBBox = this.getLayoutOptions();\r\n var at = options.at;\r\n var my = options.my;\r\n var offset = options.offset || defaultOffset;\r\n var shiftX = -alignFactors[my.horizontal] * myBBox.width + ofBBox.x + alignFactors[at.horizontal] * ofBBox.width + parseInt(offset.horizontal);\r\n var shiftY = -alignFactors[my.vertical] * myBBox.height + ofBBox.y + alignFactors[at.vertical] * ofBBox.height + parseInt(offset.vertical);\r\n this.shift(_round(shiftX), _round(shiftY))\r\n },\r\n getLayoutOptions: noop\r\n};\r\n\r\nfunction WrapperLayoutElement(renderElement, bBox) {\r\n this._renderElement = renderElement;\r\n this._cacheBBox = bBox\r\n}\r\nvar wrapperLayoutElementPrototype = WrapperLayoutElement.prototype = clone(LayoutElement.prototype);\r\nwrapperLayoutElementPrototype.constructor = WrapperLayoutElement;\r\nwrapperLayoutElementPrototype.getLayoutOptions = function() {\r\n return this._cacheBBox || this._renderElement.getBBox()\r\n};\r\nwrapperLayoutElementPrototype.shift = function(shiftX, shiftY) {\r\n var bBox = this.getLayoutOptions();\r\n this._renderElement.move(_round(shiftX - bBox.x), _round(shiftY - bBox.y))\r\n};\r\nexport {\r\n LayoutElement,\r\n WrapperLayoutElement\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/layout_manager.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isNumeric as _isNumber\r\n} from \"../../core/utils/type\";\r\nimport consts from \"../components/consts\";\r\nimport {\r\n WrapperLayoutElement\r\n} from \"../core/layout_element\";\r\nvar {\r\n floor: floor,\r\n sqrt: sqrt\r\n} = Math;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar DEFAULT_INNER_RADIUS = .5;\r\nvar RADIAL_LABEL_INDENT = consts.radialLabelIndent;\r\n\r\nfunction getNearestCoord(firstCoord, secondCoord, pointCenterCoord) {\r\n var nearestCoord;\r\n if (pointCenterCoord < firstCoord) {\r\n nearestCoord = firstCoord\r\n } else if (secondCoord < pointCenterCoord) {\r\n nearestCoord = secondCoord\r\n } else {\r\n nearestCoord = pointCenterCoord\r\n }\r\n return nearestCoord\r\n}\r\n\r\nfunction getLabelLayout(point) {\r\n if (point._label.isVisible() && \"inside\" !== point._label.getLayoutOptions().position) {\r\n return point._label.getBoundingRect()\r\n }\r\n}\r\n\r\nfunction getPieRadius(series, paneCenterX, paneCenterY, accessibleRadius, minR) {\r\n series.some((function(singleSeries) {\r\n return singleSeries.getVisiblePoints().reduce((function(radiusIsFound, point) {\r\n var labelBBox = getLabelLayout(point);\r\n if (labelBBox) {\r\n var xCoords = getNearestCoord(labelBBox.x, labelBBox.x + labelBBox.width, paneCenterX);\r\n var yCoords = getNearestCoord(labelBBox.y, labelBBox.y + labelBBox.height, paneCenterY);\r\n accessibleRadius = _min(_max(getLengthFromCenter(xCoords, yCoords, paneCenterX, paneCenterY) - RADIAL_LABEL_INDENT, minR), accessibleRadius);\r\n radiusIsFound = true\r\n }\r\n return radiusIsFound\r\n }), false)\r\n }));\r\n return accessibleRadius\r\n}\r\n\r\nfunction getSizeLabels(series) {\r\n return series.reduce((function(res, singleSeries) {\r\n var maxWidth = singleSeries.getVisiblePoints().reduce((function(width, point) {\r\n var labelBBox = getLabelLayout(point);\r\n if (labelBBox && labelBBox.width > width) {\r\n width = labelBBox.width\r\n }\r\n return width\r\n }), 0);\r\n var rWidth = maxWidth;\r\n if (maxWidth) {\r\n res.outerLabelsCount++;\r\n if (res.outerLabelsCount > 1) {\r\n maxWidth += consts.pieLabelSpacing\r\n }\r\n rWidth += consts.pieLabelSpacing\r\n }\r\n res.sizes.push(maxWidth);\r\n res.rSizes.push(rWidth);\r\n res.common += maxWidth;\r\n return res\r\n }), {\r\n sizes: [],\r\n rSizes: [],\r\n common: 0,\r\n outerLabelsCount: 0\r\n })\r\n}\r\n\r\nfunction correctLabelRadius(labelSizes, radius, series, canvas, averageWidthLabels, centerX) {\r\n var curRadius;\r\n var i;\r\n var runningWidth = 0;\r\n var sizes = labelSizes.sizes;\r\n var rSizes = labelSizes.rSizes;\r\n for (i = 0; i < series.length; i++) {\r\n if (0 === sizes[i]) {\r\n curRadius && (curRadius += rSizes[i - 1]);\r\n continue\r\n }\r\n curRadius = floor(curRadius ? curRadius + rSizes[i - 1] : radius);\r\n series[i].correctLabelRadius(curRadius);\r\n runningWidth += averageWidthLabels || sizes[i];\r\n rSizes[i] = averageWidthLabels || rSizes[i];\r\n series[i].setVisibleArea({\r\n left: floor(centerX - radius - runningWidth),\r\n right: floor(canvas.width - (centerX + radius + runningWidth)),\r\n top: canvas.top,\r\n bottom: canvas.bottom,\r\n width: canvas.width,\r\n height: canvas.height\r\n })\r\n }\r\n}\r\n\r\nfunction getLengthFromCenter(x, y, paneCenterX, paneCenterY) {\r\n return sqrt((x - paneCenterX) * (x - paneCenterX) + (y - paneCenterY) * (y - paneCenterY))\r\n}\r\n\r\nfunction getInnerRadius(_ref) {\r\n var {\r\n type: type,\r\n innerRadius: innerRadius\r\n } = _ref;\r\n return \"pie\" === type ? 0 : _isNumber(innerRadius) ? Number(innerRadius) : DEFAULT_INNER_RADIUS\r\n}\r\n\r\nfunction LayoutManager() {}\r\n\r\nfunction getAverageLabelWidth(centerX, radius, canvas, sizeLabels) {\r\n return (centerX - radius - RADIAL_LABEL_INDENT - canvas.left) / sizeLabels.outerLabelsCount\r\n}\r\n\r\nfunction getFullRadiusWithLabels(centerX, canvas, sizeLabels) {\r\n return centerX - canvas.left - (sizeLabels.outerLabelsCount > 0 ? sizeLabels.common + RADIAL_LABEL_INDENT : 0)\r\n}\r\n\r\nfunction correctAvailableRadius(availableRadius, canvas, series, minR, paneCenterX, paneCenterY) {\r\n var sizeLabels = getSizeLabels(series);\r\n var averageWidthLabels;\r\n var fullRadiusWithLabels = getFullRadiusWithLabels(paneCenterX, canvas, sizeLabels);\r\n if (fullRadiusWithLabels < minR) {\r\n availableRadius = minR;\r\n averageWidthLabels = getAverageLabelWidth(paneCenterX, availableRadius, canvas, sizeLabels)\r\n } else {\r\n availableRadius = _min(getPieRadius(series, paneCenterX, paneCenterY, availableRadius, minR), fullRadiusWithLabels)\r\n }\r\n correctLabelRadius(sizeLabels, availableRadius + RADIAL_LABEL_INDENT, series, canvas, averageWidthLabels, paneCenterX);\r\n return availableRadius\r\n}\r\n\r\nfunction toLayoutElementCoords(canvas) {\r\n return new WrapperLayoutElement(null, {\r\n x: canvas.left,\r\n y: canvas.top,\r\n width: canvas.width - canvas.left - canvas.right,\r\n height: canvas.height - canvas.top - canvas.bottom\r\n })\r\n}\r\nLayoutManager.prototype = {\r\n constructor: LayoutManager,\r\n setOptions: function(options) {\r\n this._options = options\r\n },\r\n applyPieChartSeriesLayout: function(canvas, series, hideLayoutLabels) {\r\n var paneSpaceHeight = canvas.height - canvas.top - canvas.bottom;\r\n var paneSpaceWidth = canvas.width - canvas.left - canvas.right;\r\n var paneCenterX = paneSpaceWidth / 2 + canvas.left;\r\n var paneCenterY = paneSpaceHeight / 2 + canvas.top;\r\n var piePercentage = this._options.piePercentage;\r\n var availableRadius;\r\n var minR;\r\n if (_isNumber(piePercentage)) {\r\n availableRadius = minR = piePercentage * _min(canvas.height, canvas.width) / 2\r\n } else {\r\n availableRadius = _min(paneSpaceWidth, paneSpaceHeight) / 2;\r\n minR = this._options.minPiePercentage * availableRadius\r\n }\r\n if (!hideLayoutLabels) {\r\n availableRadius = correctAvailableRadius(availableRadius, canvas, series, minR, paneCenterX, paneCenterY)\r\n }\r\n return {\r\n centerX: floor(paneCenterX),\r\n centerY: floor(paneCenterY),\r\n radiusInner: floor(availableRadius * getInnerRadius(series[0])),\r\n radiusOuter: floor(availableRadius)\r\n }\r\n },\r\n applyEqualPieChartLayout: function(series, layout) {\r\n var radius = layout.radius;\r\n return {\r\n centerX: floor(layout.x),\r\n centerY: floor(layout.y),\r\n radiusInner: floor(radius * getInnerRadius(series[0])),\r\n radiusOuter: floor(radius)\r\n }\r\n },\r\n correctPieLabelRadius: function(series, layout, canvas) {\r\n var sizeLabels = getSizeLabels(series);\r\n var averageWidthLabels;\r\n var radius = layout.radiusOuter + RADIAL_LABEL_INDENT;\r\n var availableLabelWidth = layout.centerX - canvas.left - radius;\r\n if (sizeLabels.common + RADIAL_LABEL_INDENT > availableLabelWidth) {\r\n averageWidthLabels = getAverageLabelWidth(layout.centerX, layout.radiusOuter, canvas, sizeLabels)\r\n }\r\n correctLabelRadius(sizeLabels, radius, series, canvas, averageWidthLabels, layout.centerX)\r\n },\r\n needMoreSpaceForPanesCanvas(panes, rotated, fixedSizeCallback) {\r\n var options = this._options;\r\n var width = options.width;\r\n var height = options.height;\r\n var piePercentage = options.piePercentage;\r\n var percentageIsValid = _isNumber(piePercentage);\r\n var needHorizontalSpace = 0;\r\n var needVerticalSpace = 0;\r\n panes.forEach(pane => {\r\n var paneCanvas = pane.canvas;\r\n var minSize = percentageIsValid ? _min(paneCanvas.width, paneCanvas.height) * piePercentage : void 0;\r\n var paneSized = fixedSizeCallback ? fixedSizeCallback(pane) : {\r\n width: false,\r\n height: false\r\n };\r\n var needPaneHorizontalSpace = !paneSized.width ? (percentageIsValid ? minSize : width) - (paneCanvas.width - paneCanvas.left - paneCanvas.right) : 0;\r\n var needPaneVerticalSpace = !paneSized.height ? (percentageIsValid ? minSize : height) - (paneCanvas.height - paneCanvas.top - paneCanvas.bottom) : 0;\r\n if (rotated) {\r\n needHorizontalSpace += needPaneHorizontalSpace > 0 ? needPaneHorizontalSpace : 0;\r\n needVerticalSpace = _max(needPaneVerticalSpace > 0 ? needPaneVerticalSpace : 0, needVerticalSpace)\r\n } else {\r\n needHorizontalSpace = _max(needPaneHorizontalSpace > 0 ? needPaneHorizontalSpace : 0, needHorizontalSpace);\r\n needVerticalSpace += needPaneVerticalSpace > 0 ? needPaneVerticalSpace : 0\r\n }\r\n });\r\n return needHorizontalSpace > 0 || needVerticalSpace > 0 ? {\r\n width: needHorizontalSpace,\r\n height: needVerticalSpace\r\n } : false\r\n },\r\n layoutInsideLegend: function(legend, canvas) {\r\n var layoutOptions = legend.getLayoutOptions();\r\n if (!layoutOptions) {\r\n return\r\n }\r\n var position = layoutOptions.position;\r\n var cutSide = layoutOptions.cutSide;\r\n var my = {\r\n horizontal: position.horizontal,\r\n vertical: position.vertical\r\n };\r\n canvas[layoutOptions.cutLayoutSide] += \"horizontal\" === layoutOptions.cutSide ? layoutOptions.width : layoutOptions.height;\r\n my[cutSide] = {\r\n left: \"right\",\r\n right: \"left\",\r\n top: \"bottom\",\r\n bottom: \"top\",\r\n center: \"center\"\r\n } [my[cutSide]];\r\n legend.position({\r\n of: toLayoutElementCoords(canvas),\r\n my: my,\r\n at: position\r\n })\r\n }\r\n};\r\nexport {\r\n LayoutManager\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/multi_axes_synchronizer.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n debug\r\n} from \"../../core/utils/console\";\r\nimport {\r\n isDefined,\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getLogExt,\r\n raiseToExt\r\n} from \"../core/utils\";\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nvar _math = Math;\r\nvar _floor = _math.floor;\r\nvar _max = _math.max;\r\nvar _abs = _math.abs;\r\n\r\nfunction getValueAxesPerPanes(valueAxes) {\r\n var result = {};\r\n valueAxes.forEach(axis => {\r\n var pane = axis.pane;\r\n if (!result[pane]) {\r\n result[pane] = []\r\n }\r\n result[pane].push(axis)\r\n });\r\n return result\r\n}\r\nvar linearConverter = br => ({\r\n transform: function(v, b) {\r\n return adjust(getLogExt(v, b, br.allowNegatives, br.linearThreshold))\r\n },\r\n getTicks: function(interval, tickValues, base) {\r\n var ticks = [];\r\n var tick = this.transform(tickValues[0], base);\r\n while (ticks.length < tickValues.length) {\r\n ticks.push(tick);\r\n tick = adjust(tick + interval)\r\n }\r\n return ticks\r\n }\r\n});\r\nvar logConverter = br => ({\r\n transform: function(v, b) {\r\n return adjust(raiseToExt(v, b, br.allowNegatives, br.linearThreshold))\r\n },\r\n getTicks: function(interval, tickValues, base) {\r\n var ticks = [];\r\n var tick;\r\n for (var i = 0; i < tickValues.length; i += 1) {\r\n tick = this.transform(tickValues[i], base);\r\n ticks.push(tick)\r\n }\r\n return ticks\r\n }\r\n});\r\n\r\nfunction convertAxisInfo(axisInfo, converter) {\r\n if (!axisInfo.isLogarithmic) {\r\n return\r\n }\r\n var base = axisInfo.logarithmicBase;\r\n var tickValues = axisInfo.tickValues;\r\n axisInfo.minValue = converter.transform(axisInfo.minValue, base);\r\n axisInfo.oldMinValue = converter.transform(axisInfo.oldMinValue, base);\r\n axisInfo.maxValue = converter.transform(axisInfo.maxValue, base);\r\n axisInfo.oldMaxValue = converter.transform(axisInfo.oldMaxValue, base);\r\n axisInfo.tickInterval = _math.round(axisInfo.tickInterval);\r\n if (axisInfo.tickInterval < 1) {\r\n axisInfo.tickInterval = 1\r\n }\r\n var ticks = converter.getTicks(axisInfo.tickInterval, tickValues, base);\r\n ticks.tickInterval = axisInfo.tickInterval;\r\n axisInfo.tickValues = ticks\r\n}\r\n\r\nfunction populateAxesInfo(axes) {\r\n return axes.reduce((function(result, axis) {\r\n var ticksValues = axis.getTicksValues();\r\n var majorTicks = ticksValues.majorTicksValues;\r\n var options = axis.getOptions();\r\n var businessRange = axis.getTranslator().getBusinessRange();\r\n var visibleArea = axis.getVisibleArea();\r\n var axisInfo;\r\n var tickInterval = axis._tickInterval;\r\n var synchronizedValue = options.synchronizedValue;\r\n var action = axis.getViewport().action;\r\n if (majorTicks && majorTicks.length > 0 && isNumeric(majorTicks[0]) && \"discrete\" !== options.type && !businessRange.isEmpty() && !(businessRange.breaks && businessRange.breaks.length) && \"zoom\" !== action && \"pan\" !== action) {\r\n axis.applyMargins();\r\n var startValue = axis.getTranslator().from(visibleArea[0]);\r\n var endValue = axis.getTranslator().from(visibleArea[1]);\r\n var minValue = startValue < endValue ? startValue : endValue;\r\n var maxValue = startValue < endValue ? endValue : startValue;\r\n if (minValue === maxValue && isDefined(synchronizedValue)) {\r\n tickInterval = _abs(majorTicks[0] - synchronizedValue) || 1;\r\n minValue = majorTicks[0] - tickInterval;\r\n maxValue = majorTicks[0] + tickInterval\r\n }\r\n axisInfo = {\r\n axis: axis,\r\n isLogarithmic: \"logarithmic\" === options.type,\r\n logarithmicBase: businessRange.base,\r\n tickValues: majorTicks,\r\n minorValues: ticksValues.minorTicksValues,\r\n minorTickInterval: axis._minorTickInterval,\r\n minValue: minValue,\r\n oldMinValue: minValue,\r\n maxValue: maxValue,\r\n oldMaxValue: maxValue,\r\n inverted: businessRange.invert,\r\n tickInterval: tickInterval,\r\n synchronizedValue: synchronizedValue\r\n };\r\n convertAxisInfo(axisInfo, linearConverter(axis.getTranslator().getBusinessRange()));\r\n result.push(axisInfo)\r\n }\r\n return result\r\n }), [])\r\n}\r\n\r\nfunction updateTickValues(axesInfo) {\r\n var maxTicksCount = axesInfo.reduce((max, axisInfo) => _max(max, axisInfo.tickValues.length), 0);\r\n axesInfo.forEach(axisInfo => {\r\n var ticksMultiplier;\r\n var ticksCount;\r\n var additionalStartTicksCount = 0;\r\n var synchronizedValue = axisInfo.synchronizedValue;\r\n var tickValues = axisInfo.tickValues;\r\n var tickInterval = axisInfo.tickInterval;\r\n if (isDefined(synchronizedValue)) {\r\n axisInfo.baseTickValue = axisInfo.invertedBaseTickValue = synchronizedValue;\r\n axisInfo.tickValues = [axisInfo.baseTickValue]\r\n } else {\r\n if (tickValues.length > 1 && tickInterval) {\r\n ticksMultiplier = _floor((maxTicksCount + 1) / tickValues.length);\r\n ticksCount = ticksMultiplier > 1 ? _floor((maxTicksCount + 1) / ticksMultiplier) : maxTicksCount;\r\n additionalStartTicksCount = _floor((ticksCount - tickValues.length) / 2);\r\n while (additionalStartTicksCount > 0 && 0 !== tickValues[0]) {\r\n tickValues.unshift(adjust(tickValues[0] - tickInterval));\r\n additionalStartTicksCount--\r\n }\r\n while (tickValues.length < ticksCount) {\r\n tickValues.push(adjust(tickValues[tickValues.length - 1] + tickInterval))\r\n }\r\n axisInfo.tickInterval = tickInterval / ticksMultiplier\r\n }\r\n axisInfo.baseTickValue = tickValues[0];\r\n axisInfo.invertedBaseTickValue = tickValues[tickValues.length - 1]\r\n }\r\n })\r\n}\r\n\r\nfunction getAxisRange(axisInfo) {\r\n return axisInfo.maxValue - axisInfo.minValue || 1\r\n}\r\n\r\nfunction getMainAxisInfo(axesInfo) {\r\n for (var i = 0; i < axesInfo.length; i++) {\r\n if (!axesInfo[i].stubData) {\r\n return axesInfo[i]\r\n }\r\n }\r\n return null\r\n}\r\n\r\nfunction correctMinMaxValues(axesInfo) {\r\n var mainAxisInfo = getMainAxisInfo(axesInfo);\r\n var mainAxisInfoTickInterval = mainAxisInfo.tickInterval;\r\n axesInfo.forEach(axisInfo => {\r\n var scale;\r\n var move;\r\n var mainAxisBaseValueOffset;\r\n var valueFromAxisInfo;\r\n if (axisInfo !== mainAxisInfo) {\r\n if (mainAxisInfoTickInterval && axisInfo.tickInterval) {\r\n if (axisInfo.stubData && isDefined(axisInfo.synchronizedValue)) {\r\n axisInfo.oldMinValue = axisInfo.minValue = axisInfo.baseTickValue - (mainAxisInfo.baseTickValue - mainAxisInfo.minValue) / mainAxisInfoTickInterval * axisInfo.tickInterval;\r\n axisInfo.oldMaxValue = axisInfo.maxValue = axisInfo.baseTickValue - (mainAxisInfo.baseTickValue - mainAxisInfo.maxValue) / mainAxisInfoTickInterval * axisInfo.tickInterval\r\n }\r\n scale = mainAxisInfoTickInterval / getAxisRange(mainAxisInfo) / axisInfo.tickInterval * getAxisRange(axisInfo);\r\n axisInfo.maxValue = axisInfo.minValue + getAxisRange(axisInfo) / scale\r\n }\r\n if (mainAxisInfo.inverted && !axisInfo.inverted || !mainAxisInfo.inverted && axisInfo.inverted) {\r\n mainAxisBaseValueOffset = mainAxisInfo.maxValue - mainAxisInfo.invertedBaseTickValue\r\n } else {\r\n mainAxisBaseValueOffset = mainAxisInfo.baseTickValue - mainAxisInfo.minValue\r\n }\r\n valueFromAxisInfo = getAxisRange(axisInfo);\r\n move = (mainAxisBaseValueOffset / getAxisRange(mainAxisInfo) - (axisInfo.baseTickValue - axisInfo.minValue) / valueFromAxisInfo) * valueFromAxisInfo;\r\n axisInfo.minValue -= move;\r\n axisInfo.maxValue -= move\r\n }\r\n })\r\n}\r\n\r\nfunction calculatePaddings(axesInfo) {\r\n var minPadding;\r\n var maxPadding;\r\n var startPadding = 0;\r\n var endPadding = 0;\r\n axesInfo.forEach(axisInfo => {\r\n var inverted = axisInfo.inverted;\r\n minPadding = axisInfo.minValue > axisInfo.oldMinValue ? (axisInfo.minValue - axisInfo.oldMinValue) / getAxisRange(axisInfo) : 0;\r\n maxPadding = axisInfo.maxValue < axisInfo.oldMaxValue ? (axisInfo.oldMaxValue - axisInfo.maxValue) / getAxisRange(axisInfo) : 0;\r\n startPadding = _max(startPadding, inverted ? maxPadding : minPadding);\r\n endPadding = _max(endPadding, inverted ? minPadding : maxPadding)\r\n });\r\n return {\r\n start: startPadding,\r\n end: endPadding\r\n }\r\n}\r\n\r\nfunction correctMinMaxValuesByPaddings(axesInfo, paddings) {\r\n axesInfo.forEach(info => {\r\n var range = getAxisRange(info);\r\n var inverted = info.inverted;\r\n info.minValue = adjust(info.minValue - paddings[inverted ? \"end\" : \"start\"] * range);\r\n info.maxValue = adjust(info.maxValue + paddings[inverted ? \"start\" : \"end\"] * range)\r\n })\r\n}\r\n\r\nfunction updateTickValuesIfSynchronizedValueUsed(axesInfo) {\r\n var hasSynchronizedValue = false;\r\n axesInfo.forEach(info => {\r\n hasSynchronizedValue = hasSynchronizedValue || isDefined(info.synchronizedValue)\r\n });\r\n axesInfo.forEach(info => {\r\n var tickInterval = info.tickInterval;\r\n var tickValues = info.tickValues;\r\n var maxValue = info.maxValue;\r\n var minValue = info.minValue;\r\n var tick;\r\n if (hasSynchronizedValue && tickInterval) {\r\n while ((tick = adjust(tickValues[0] - tickInterval)) >= minValue) {\r\n tickValues.unshift(tick)\r\n }\r\n tick = tickValues[tickValues.length - 1];\r\n while ((tick = adjust(tick + tickInterval)) <= maxValue) {\r\n tickValues.push(tick)\r\n }\r\n }\r\n while (tickValues[0] + tickInterval / 10 < minValue) {\r\n tickValues.shift()\r\n }\r\n while (tickValues[tickValues.length - 1] - tickInterval / 10 > maxValue) {\r\n tickValues.pop()\r\n }\r\n })\r\n}\r\n\r\nfunction applyMinMaxValues(axesInfo) {\r\n axesInfo.forEach(info => {\r\n var axis = info.axis;\r\n var range = axis.getTranslator().getBusinessRange();\r\n if (range.min === range.minVisible) {\r\n range.min = info.minValue\r\n }\r\n if (range.max === range.maxVisible) {\r\n range.max = info.maxValue\r\n }\r\n range.minVisible = info.minValue;\r\n range.maxVisible = info.maxValue;\r\n if (range.min > range.minVisible) {\r\n range.min = range.minVisible\r\n }\r\n if (range.max < range.maxVisible) {\r\n range.max = range.maxVisible\r\n }\r\n axis.getTranslator().updateBusinessRange(range);\r\n axis.setTicks({\r\n majorTicks: info.tickValues,\r\n minorTicks: info.minorValues\r\n })\r\n })\r\n}\r\n\r\nfunction correctAfterSynchronize(axesInfo) {\r\n var invalidAxisInfo = [];\r\n var correctValue;\r\n axesInfo.forEach(info => {\r\n if (info.oldMaxValue - info.oldMinValue === 0) {\r\n invalidAxisInfo.push(info)\r\n } else if (!isDefined(correctValue) && !isDefined(info.synchronizedValue)) {\r\n correctValue = _abs((info.maxValue - info.minValue) / (info.tickValues[_floor(info.tickValues.length / 2)] - info.minValue || info.maxValue))\r\n }\r\n });\r\n if (!isDefined(correctValue)) {\r\n return\r\n }\r\n invalidAxisInfo.forEach(info => {\r\n var firstTick = info.tickValues[0];\r\n var correctedTick = firstTick * correctValue;\r\n if (firstTick > 0) {\r\n info.maxValue = correctedTick;\r\n info.minValue = 0\r\n } else if (firstTick < 0) {\r\n info.minValue = correctedTick;\r\n info.maxValue = 0\r\n }\r\n })\r\n}\r\n\r\nfunction updateMinorTicks(axesInfo) {\r\n axesInfo.forEach((function(axisInfo) {\r\n if (!axisInfo.minorTickInterval) {\r\n return\r\n }\r\n var ticks = [];\r\n var interval = axisInfo.minorTickInterval;\r\n var tickCount = axisInfo.tickInterval / interval - 1;\r\n for (var i = 1; i < axisInfo.tickValues.length; i++) {\r\n var tick = axisInfo.tickValues[i - 1];\r\n for (var j = 0; j < tickCount; j++) {\r\n tick += interval;\r\n ticks.push(tick)\r\n }\r\n }\r\n axisInfo.minorValues = ticks\r\n }))\r\n}\r\n\r\nfunction allAxesValuesOnSameSideFromZero(axesInfo) {\r\n var allPositive = true;\r\n var allNegative = true;\r\n axesInfo.forEach(axis => {\r\n if (axis.oldMinValue > 0 || axis.oldMaxValue > 0) {\r\n allNegative = false\r\n }\r\n if (axis.oldMinValue < 0 || axis.oldMaxValue < 0) {\r\n allPositive = false\r\n }\r\n });\r\n return allPositive || allNegative\r\n}\r\n\r\nfunction correctPaddings(axesInfo, paddings) {\r\n if (!allAxesValuesOnSameSideFromZero(axesInfo)) {\r\n return paddings\r\n }\r\n return axesInfo.reduce((prev, info) => {\r\n var inverted = info.inverted;\r\n var {\r\n start: start,\r\n end: end\r\n } = info.axis.getCorrectedValuesToZero(info.minValue, info.maxValue);\r\n if (isDefined(start) || isDefined(end)) {\r\n return inverted ? {\r\n start: prev.start,\r\n end: Math.min(prev.end, end)\r\n } : {\r\n start: Math.min(prev.start, start),\r\n end: prev.end\r\n }\r\n }\r\n return prev\r\n }, paddings)\r\n}\r\nvar multiAxesSynchronizer = {\r\n synchronize: function(valueAxes) {\r\n each(getValueAxesPerPanes(valueAxes), (function(_, axes) {\r\n var axesInfo;\r\n var paddings;\r\n if (axes.length > 1) {\r\n axesInfo = populateAxesInfo(axes);\r\n if (axesInfo.length < 2 || !getMainAxisInfo(axesInfo)) {\r\n return\r\n }\r\n updateTickValues(axesInfo);\r\n correctMinMaxValues(axesInfo);\r\n paddings = calculatePaddings(axesInfo);\r\n paddings = correctPaddings(axesInfo, paddings);\r\n correctMinMaxValuesByPaddings(axesInfo, paddings);\r\n correctAfterSynchronize(axesInfo);\r\n updateTickValuesIfSynchronizedValueUsed(axesInfo);\r\n updateMinorTicks(axesInfo);\r\n axesInfo.forEach(info => {\r\n convertAxisInfo(info, logConverter(info.axis.getTranslator().getBusinessRange()))\r\n });\r\n applyMinMaxValues(axesInfo)\r\n }\r\n }))\r\n }\r\n};\r\nexport default multiAxesSynchronizer;\r\n","/**\r\n * DevExtreme (esm/viz/translators/range.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined,\r\n isDate,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar _isDefined = isDefined;\r\nvar _isDate = isDate;\r\nvar _isFunction = isFunction;\r\nimport {\r\n unique\r\n} from \"../core/utils\";\r\nvar minSelector = \"min\";\r\nvar maxSelector = \"max\";\r\nvar minVisibleSelector = \"minVisible\";\r\nvar maxVisibleSelector = \"maxVisible\";\r\nvar baseSelector = \"base\";\r\nvar axisTypeSelector = \"axisType\";\r\n\r\nfunction otherLessThan(thisValue, otherValue) {\r\n return otherValue < thisValue\r\n}\r\n\r\nfunction otherGreaterThan(thisValue, otherValue) {\r\n return otherValue > thisValue\r\n}\r\n\r\nfunction compareAndReplace(thisValue, otherValue, setValue, compare) {\r\n var otherValueDefined = _isDefined(otherValue);\r\n if (_isDefined(thisValue)) {\r\n if (otherValueDefined && compare(thisValue, otherValue)) {\r\n setValue(otherValue)\r\n }\r\n } else if (otherValueDefined) {\r\n setValue(otherValue)\r\n }\r\n}\r\nexport var Range = function(range) {\r\n range && extend(this, range)\r\n};\r\nvar _Range = Range;\r\n_Range.prototype = {\r\n constructor: _Range,\r\n addRange: function(otherRange) {\r\n var that = this;\r\n var categories = that.categories;\r\n var otherCategories = otherRange.categories;\r\n var isDiscrete = \"discrete\" === that[axisTypeSelector];\r\n var compareAndReplaceByField = function(field, compare) {\r\n compareAndReplace(that[field], otherRange[field], (function(value) {\r\n that[field] = value\r\n }), compare)\r\n };\r\n var controlValuesByVisibleBounds = function(valueField, visibleValueField, compare) {\r\n compareAndReplace(that[valueField], that[visibleValueField], (function(value) {\r\n _isDefined(that[valueField]) && (that[valueField] = value)\r\n }), compare)\r\n };\r\n var checkField = function(field) {\r\n that[field] = that[field] || otherRange[field]\r\n };\r\n checkField(\"invert\");\r\n checkField(\"containsConstantLine\");\r\n checkField(axisTypeSelector);\r\n checkField(\"dataType\");\r\n checkField(\"isSpacedMargin\");\r\n if (\"logarithmic\" === that[axisTypeSelector]) {\r\n checkField(baseSelector)\r\n } else {\r\n that[baseSelector] = void 0\r\n }\r\n compareAndReplaceByField(minSelector, otherLessThan);\r\n compareAndReplaceByField(maxSelector, otherGreaterThan);\r\n if (isDiscrete) {\r\n checkField(minVisibleSelector);\r\n checkField(maxVisibleSelector)\r\n } else {\r\n compareAndReplaceByField(minVisibleSelector, otherLessThan);\r\n compareAndReplaceByField(maxVisibleSelector, otherGreaterThan)\r\n }\r\n compareAndReplaceByField(\"interval\", otherLessThan);\r\n if (!isDiscrete) {\r\n controlValuesByVisibleBounds(minSelector, minVisibleSelector, otherLessThan);\r\n controlValuesByVisibleBounds(minSelector, maxVisibleSelector, otherLessThan);\r\n controlValuesByVisibleBounds(maxSelector, maxVisibleSelector, otherGreaterThan);\r\n controlValuesByVisibleBounds(maxSelector, minVisibleSelector, otherGreaterThan)\r\n }\r\n if (void 0 === categories) {\r\n that.categories = otherCategories\r\n } else {\r\n that.categories = otherCategories ? unique(categories.concat(otherCategories)) : categories\r\n }\r\n if (\"logarithmic\" === that[axisTypeSelector]) {\r\n checkField(\"allowNegatives\");\r\n compareAndReplaceByField(\"linearThreshold\", otherLessThan)\r\n }\r\n return that\r\n },\r\n isEmpty: function() {\r\n return (!_isDefined(this[minSelector]) || !_isDefined(this[maxSelector])) && (!this.categories || 0 === this.categories.length)\r\n },\r\n correctValueZeroLevel: function() {\r\n var that = this;\r\n if (_isDate(that[maxSelector]) || _isDate(that[minSelector])) {\r\n return that\r\n }\r\n\r\n function setZeroLevel(min, max) {\r\n that[min] < 0 && that[max] < 0 && (that[max] = 0);\r\n that[min] > 0 && that[max] > 0 && (that[min] = 0)\r\n }\r\n setZeroLevel(minSelector, maxSelector);\r\n setZeroLevel(minVisibleSelector, maxVisibleSelector);\r\n return that\r\n },\r\n sortCategories(sort) {\r\n if (false === sort || !this.categories) {\r\n return\r\n }\r\n if (Array.isArray(sort)) {\r\n var sortValues = sort.map(item => item.valueOf());\r\n var filteredSeriesCategories = this.categories.filter(item => -1 === sortValues.indexOf(item.valueOf()));\r\n this.categories = sort.concat(filteredSeriesCategories)\r\n } else {\r\n var notAFunction = !_isFunction(sort);\r\n if (notAFunction && \"string\" !== this.dataType) {\r\n sort = (a, b) => a.valueOf() - b.valueOf()\r\n } else if (notAFunction) {\r\n sort = false\r\n }\r\n sort && this.categories.sort(sort)\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/translators/category_translator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nvar round = Math.round;\r\n\r\nfunction getValue(value) {\r\n return value\r\n}\r\nexport default {\r\n translate: function(category, directionOffset) {\r\n var canvasOptions = this._canvasOptions;\r\n var categoryIndex = this._categoriesToPoints[null === category || void 0 === category ? void 0 : category.valueOf()];\r\n var specialValue = this.translateSpecialCase(category);\r\n var startPointIndex = canvasOptions.startPointIndex || 0;\r\n var stickInterval = this._options.stick ? 0 : .5;\r\n if (isDefined(specialValue)) {\r\n return round(specialValue)\r\n }\r\n if (!categoryIndex && 0 !== categoryIndex) {\r\n return null\r\n }\r\n directionOffset = directionOffset || 0;\r\n var stickDelta = categoryIndex + stickInterval - startPointIndex + .5 * directionOffset;\r\n return round(this._calculateProjection(canvasOptions.interval * stickDelta))\r\n },\r\n getInterval: function() {\r\n return this._canvasOptions.interval\r\n },\r\n getEventScale: function(zoomEvent) {\r\n var scale = zoomEvent.deltaScale || 1;\r\n return 1 - (1 - scale) / (.75 + this.visibleCategories.length / this._categories.length)\r\n },\r\n zoom: function(translate, scale) {\r\n var categories = this._categories;\r\n var canvasOptions = this._canvasOptions;\r\n var stick = this._options.stick;\r\n var invert = canvasOptions.invert;\r\n var interval = canvasOptions.interval * scale;\r\n var translateCategories = translate / interval;\r\n var visibleCount = (this.visibleCategories || []).length;\r\n var startCategoryIndex = parseInt((canvasOptions.startPointIndex || 0) + translateCategories + .5);\r\n var categoriesLength = parseInt(adjust(canvasOptions.canvasLength / interval) + (stick ? 1 : 0)) || 1;\r\n var endCategoryIndex;\r\n if (invert) {\r\n startCategoryIndex = parseInt((canvasOptions.startPointIndex || 0) + visibleCount - translateCategories + .5) - categoriesLength\r\n }\r\n if (startCategoryIndex < 0) {\r\n startCategoryIndex = 0\r\n }\r\n endCategoryIndex = startCategoryIndex + categoriesLength;\r\n if (endCategoryIndex > categories.length) {\r\n endCategoryIndex = categories.length;\r\n startCategoryIndex = endCategoryIndex - categoriesLength;\r\n if (startCategoryIndex < 0) {\r\n startCategoryIndex = 0\r\n }\r\n }\r\n var newVisibleCategories = categories.slice(parseInt(startCategoryIndex), parseInt(endCategoryIndex));\r\n var newInterval = this._getDiscreteInterval(newVisibleCategories.length, canvasOptions);\r\n scale = newInterval / canvasOptions.interval;\r\n translate = this.translate(!invert ? newVisibleCategories[0] : newVisibleCategories[newVisibleCategories.length - 1]) * scale - (canvasOptions.startPoint + (stick ? 0 : newInterval / 2));\r\n return {\r\n min: newVisibleCategories[0],\r\n max: newVisibleCategories[newVisibleCategories.length - 1],\r\n translate: translate,\r\n scale: scale\r\n }\r\n },\r\n getMinScale: function(zoom) {\r\n var canvasOptions = this._canvasOptions;\r\n var categoriesLength = (this.visibleCategories || this._categories).length;\r\n categoriesLength += (parseInt(.1 * categoriesLength) || 1) * (zoom ? -2 : 2);\r\n return canvasOptions.canvasLength / (Math.max(categoriesLength, 1) * canvasOptions.interval)\r\n },\r\n getScale: function(min, max) {\r\n var canvasOptions = this._canvasOptions;\r\n var visibleArea = this.getCanvasVisibleArea();\r\n var stickOffset = !this._options.stick && 1;\r\n var minPoint = isDefined(min) ? this.translate(min, -stickOffset) : null;\r\n var maxPoint = isDefined(max) ? this.translate(max, +stickOffset) : null;\r\n if (null === minPoint) {\r\n minPoint = canvasOptions.invert ? visibleArea.max : visibleArea.min\r\n }\r\n if (null === maxPoint) {\r\n maxPoint = canvasOptions.invert ? visibleArea.min : visibleArea.max\r\n }\r\n return this.canvasLength / Math.abs(maxPoint - minPoint)\r\n },\r\n isValid: function(value) {\r\n return isDefined(value) ? this._categoriesToPoints[value.valueOf()] >= 0 : false\r\n },\r\n getCorrectValue: getValue,\r\n to: function(value, direction) {\r\n var canvasOptions = this._canvasOptions;\r\n var categoryIndex = this._categoriesToPoints[null === value || void 0 === value ? void 0 : value.valueOf()];\r\n var startPointIndex = canvasOptions.startPointIndex || 0;\r\n var stickDelta = categoryIndex + (this._options.stick ? 0 : .5) - startPointIndex + (this._businessRange.invert ? -1 : 1) * direction * .5;\r\n return round(this._calculateProjection(canvasOptions.interval * stickDelta))\r\n },\r\n from: function(position) {\r\n var direction = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n var canvasOptions = this._canvasOptions;\r\n var startPoint = canvasOptions.startPoint;\r\n var categories = this.visibleCategories || this._categories;\r\n var categoriesLength = categories.length;\r\n var stickInterval = this._options.stick ? .5 : 0;\r\n var result = round((position - startPoint) / canvasOptions.interval + stickInterval - .5 - .5 * direction);\r\n if (result >= categoriesLength) {\r\n result = categoriesLength - 1\r\n }\r\n if (result < 0) {\r\n result = 0\r\n }\r\n if (canvasOptions.invert) {\r\n result = categoriesLength - result - 1\r\n }\r\n return categories[result]\r\n },\r\n _add: function() {\r\n return NaN\r\n },\r\n toValue: getValue,\r\n isValueProlonged: true,\r\n getRangeByMinZoomValue(minZoom, visualRange) {\r\n var categories = this._categories;\r\n var minVisibleIndex = categories.indexOf(visualRange.minVisible);\r\n var maxVisibleIndex = categories.indexOf(visualRange.maxVisible);\r\n var startIndex = minVisibleIndex + minZoom - 1;\r\n var endIndex = maxVisibleIndex - minZoom + 1;\r\n if (categories[startIndex]) {\r\n return [visualRange.minVisible, categories[startIndex]]\r\n } else {\r\n return [categories[endIndex], visualRange.maxVisible]\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/translators/interval_translator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isNumeric as isNumber,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nvar floor = Math.floor;\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nexport default {\r\n _intervalize: function(value, interval) {\r\n if (!isDefined(value)) {\r\n return\r\n }\r\n if (\"datetime\" === this._businessRange.dataType) {\r\n if (isNumber(value)) {\r\n value = new Date(value)\r\n } else {\r\n value = new Date(value.getTime())\r\n }\r\n value = dateUtils.correctDateWithUnitBeginning(value, interval, null, this._options.firstDayOfWeek)\r\n } else {\r\n value = adjust(floor(adjust(value / interval)) * interval, interval)\r\n }\r\n return value\r\n },\r\n translate: function(bp, direction, skipRound, interval) {\r\n var specialValue = this.translateSpecialCase(bp);\r\n if (isDefined(specialValue)) {\r\n return Math.round(specialValue)\r\n }\r\n interval = interval || this._options.interval;\r\n if (!this.isValid(bp, interval)) {\r\n return null\r\n }\r\n return this.to(bp, direction, skipRound, interval)\r\n },\r\n getInterval: function() {\r\n return Math.round(this._canvasOptions.ratioOfCanvasRange * (this._businessRange.interval || Math.abs(this._canvasOptions.rangeMax - this._canvasOptions.rangeMin)))\r\n },\r\n zoom: function() {},\r\n getMinScale: function() {},\r\n getScale: function() {},\r\n _parse: function(value) {\r\n return \"datetime\" === this._businessRange.dataType ? new Date(value) : Number(value)\r\n },\r\n fromValue: function(value) {\r\n return this._parse(value)\r\n },\r\n toValue: function(value) {\r\n return this._parse(value)\r\n },\r\n isValid: function(value, interval) {\r\n var co = this._canvasOptions;\r\n var rangeMin = co.rangeMin;\r\n var rangeMax = co.rangeMax;\r\n interval = interval || this._options.interval;\r\n if (null === value || isNaN(value)) {\r\n return false\r\n }\r\n value = \"datetime\" === this._businessRange.dataType && isNumber(value) ? new Date(value) : value;\r\n if (interval !== this._options.interval) {\r\n rangeMin = this._intervalize(rangeMin, interval);\r\n rangeMax = this._intervalize(rangeMax, interval)\r\n }\r\n if (value.valueOf() < rangeMin || value.valueOf() >= dateUtils.addInterval(rangeMax, interval)) {\r\n return false\r\n }\r\n return true\r\n },\r\n to: function(bp, direction, skipRound, interval) {\r\n interval = interval || this._options.interval;\r\n var v1 = this._intervalize(bp, interval);\r\n var v2 = dateUtils.addInterval(v1, interval);\r\n var res = this._to(v1, skipRound);\r\n var p2 = this._to(v2, skipRound);\r\n if (!direction) {\r\n res = floor((res + p2) / 2)\r\n } else if (direction > 0) {\r\n res = p2\r\n }\r\n return res\r\n },\r\n _to: function(value, skipRound) {\r\n var co = this._canvasOptions;\r\n var rMin = co.rangeMinVisible;\r\n var rMax = co.rangeMaxVisible;\r\n var offset = value - rMin;\r\n if (value < rMin) {\r\n offset = 0\r\n } else if (value > rMax) {\r\n offset = dateUtils.addInterval(rMax, this._options.interval) - rMin\r\n }\r\n var projectedValue = this._calculateProjection(offset * this._canvasOptions.ratioOfCanvasRange);\r\n return this._conversionValue(projectedValue, skipRound)\r\n },\r\n from: function(position, direction) {\r\n var origInterval = this._options.interval;\r\n var interval = origInterval;\r\n var co = this._canvasOptions;\r\n var rMin = co.rangeMinVisible;\r\n var rMax = co.rangeMaxVisible;\r\n var value;\r\n if (\"datetime\" === this._businessRange.dataType) {\r\n interval = dateUtils.dateToMilliseconds(origInterval)\r\n }\r\n value = this._calculateUnProjection((position - this._canvasOptions.startPoint) / this._canvasOptions.ratioOfCanvasRange);\r\n value = this._intervalize(dateUtils.addInterval(value, interval / 2, direction > 0), origInterval);\r\n if (value < rMin) {\r\n value = rMin\r\n } else if (value > rMax) {\r\n value = rMax\r\n }\r\n return value\r\n },\r\n _add: function() {\r\n return NaN\r\n },\r\n isValueProlonged: true\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/translators/datetime_translator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../core/utils/date\";\r\n\r\nfunction parse(value) {\r\n return null !== value ? new Date(value) : value\r\n}\r\nexport default {\r\n fromValue: parse,\r\n toValue: parse,\r\n _add: dateUtils.addDateInterval,\r\n convert: dateUtils.dateToMilliseconds\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/translators/logarithmic_translator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n raiseToExt as raiseTo,\r\n getLogExt as getLog\r\n} from \"../core/utils\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nexport default {\r\n fromValue: function(value) {\r\n return null !== value ? getLog(value, this._canvasOptions.base, this._businessRange.allowNegatives, this._businessRange.linearThreshold) : value\r\n },\r\n toValue: function(value) {\r\n return null !== value ? raiseTo(value, this._canvasOptions.base, this._businessRange.allowNegatives, this._businessRange.linearThreshold) : value\r\n },\r\n getMinBarSize: function(minBarSize) {\r\n var visibleArea = this.getCanvasVisibleArea();\r\n var minValue = this.from(visibleArea.min + minBarSize);\r\n var canvasOptions = this._canvasOptions;\r\n var startValue = this.fromValue(this.from(visibleArea.min));\r\n var endValue = this.fromValue(null !== minValue && void 0 !== minValue ? minValue : this.from(visibleArea.max));\r\n var value = Math.abs(startValue - endValue);\r\n return Math.pow(canvasOptions.base, value)\r\n },\r\n checkMinBarSize: function(initialValue, minShownValue, stackValue) {\r\n var canvasOptions = this._canvasOptions;\r\n var prevValue = stackValue ? stackValue - initialValue : 0;\r\n var baseMethod = this.constructor.prototype.checkMinBarSize;\r\n var minBarSize;\r\n var updateValue;\r\n if (isDefined(minShownValue) && prevValue > 0) {\r\n minBarSize = baseMethod(this.fromValue(stackValue / prevValue), this.fromValue(minShownValue) - canvasOptions.rangeMinVisible);\r\n updateValue = Math.pow(canvasOptions.base, this.fromValue(prevValue) + minBarSize) - prevValue\r\n } else {\r\n updateValue = baseMethod(initialValue, minShownValue)\r\n }\r\n return updateValue\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/translators/translator2d.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n Range\r\n} from \"./range\";\r\nimport categoryTranslator from \"./category_translator\";\r\nimport intervalTranslator from \"./interval_translator\";\r\nimport datetimeTranslator from \"./datetime_translator\";\r\nimport logarithmicTranslator from \"./logarithmic_translator\";\r\nimport {\r\n getLogExt as getLog,\r\n getPower,\r\n raiseToExt,\r\n getCategoriesInfo\r\n} from \"../core/utils\";\r\nimport {\r\n isDefined,\r\n isDate\r\n} from \"../../core/utils/type\";\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nvar _abs = Math.abs;\r\nvar CANVAS_PROP = [\"width\", \"height\", \"left\", \"top\", \"bottom\", \"right\"];\r\nvar dummyTranslator = {\r\n to(value) {\r\n var coord = this._canvasOptions.startPoint + (this._options.conversionValue ? value : Math.round(value));\r\n return coord > this._canvasOptions.endPoint ? this._canvasOptions.endPoint : coord\r\n },\r\n from(value) {\r\n return value - this._canvasOptions.startPoint\r\n }\r\n};\r\nvar validateCanvas = function(canvas) {\r\n each(CANVAS_PROP, (function(_, prop) {\r\n canvas[prop] = parseInt(canvas[prop]) || 0\r\n }));\r\n return canvas\r\n};\r\nvar makeCategoriesToPoints = function(categories) {\r\n var categoriesToPoints = {};\r\n categories.forEach((function(item, i) {\r\n categoriesToPoints[item.valueOf()] = i\r\n }));\r\n return categoriesToPoints\r\n};\r\nvar validateBusinessRange = function(businessRange) {\r\n if (!(businessRange instanceof Range)) {\r\n businessRange = new Range(businessRange)\r\n }\r\n\r\n function validate(valueSelector, baseValueSelector) {\r\n if (!isDefined(businessRange[valueSelector]) && isDefined(businessRange[baseValueSelector])) {\r\n businessRange[valueSelector] = businessRange[baseValueSelector]\r\n }\r\n }\r\n validate(\"minVisible\", \"min\");\r\n validate(\"maxVisible\", \"max\");\r\n return businessRange\r\n};\r\n\r\nfunction prepareBreaks(breaks, range) {\r\n var transform = \"logarithmic\" === range.axisType ? function(value) {\r\n return getLog(value, range.base)\r\n } : function(value) {\r\n return value\r\n };\r\n var array = [];\r\n var br;\r\n var transformFrom;\r\n var transformTo;\r\n var i;\r\n var length = breaks.length;\r\n var sum = 0;\r\n for (i = 0; i < length; i++) {\r\n br = breaks[i];\r\n transformFrom = transform(br.from);\r\n transformTo = transform(br.to);\r\n sum += transformTo - transformFrom;\r\n array.push({\r\n trFrom: transformFrom,\r\n trTo: transformTo,\r\n from: br.from,\r\n to: br.to,\r\n length: sum,\r\n cumulativeWidth: br.cumulativeWidth\r\n })\r\n }\r\n return array\r\n}\r\n\r\nfunction getCanvasBounds(range) {\r\n var min = range.min;\r\n var max = range.max;\r\n var minVisible = range.minVisible;\r\n var maxVisible = range.maxVisible;\r\n var isLogarithmic = \"logarithmic\" === range.axisType;\r\n if (isLogarithmic) {\r\n maxVisible = getLog(maxVisible, range.base, range.allowNegatives, range.linearThreshold);\r\n minVisible = getLog(minVisible, range.base, range.allowNegatives, range.linearThreshold);\r\n min = getLog(min, range.base, range.allowNegatives, range.linearThreshold);\r\n max = getLog(max, range.base, range.allowNegatives, range.linearThreshold)\r\n }\r\n return {\r\n base: range.base,\r\n rangeMin: min,\r\n rangeMax: max,\r\n rangeMinVisible: minVisible,\r\n rangeMaxVisible: maxVisible\r\n }\r\n}\r\n\r\nfunction getCheckingMethodsAboutBreaks(inverted) {\r\n return {\r\n isStartSide: !inverted ? function(pos, breaks, start, end) {\r\n return pos < breaks[0][start]\r\n } : function(pos, breaks, start, end) {\r\n return pos <= breaks[breaks.length - 1][end]\r\n },\r\n isEndSide: !inverted ? function(pos, breaks, start, end) {\r\n return pos >= breaks[breaks.length - 1][end]\r\n } : function(pos, breaks, start, end) {\r\n return pos > breaks[0][start]\r\n },\r\n isInBreak: !inverted ? function(pos, br, start, end) {\r\n return pos >= br[start] && pos < br[end]\r\n } : function(pos, br, start, end) {\r\n return pos > br[end] && pos <= br[start]\r\n },\r\n isBetweenBreaks: !inverted ? function(pos, br, prevBreak, start, end) {\r\n return pos < br[start] && pos >= prevBreak[end]\r\n } : function(pos, br, prevBreak, start, end) {\r\n return pos >= br[end] && pos < prevBreak[start]\r\n },\r\n getLength: !inverted ? function(br) {\r\n return br.length\r\n } : function(br, lastBreak) {\r\n return lastBreak.length - br.length\r\n },\r\n getBreaksSize: !inverted ? function(br) {\r\n return br.cumulativeWidth\r\n } : function(br, lastBreak) {\r\n return lastBreak.cumulativeWidth - br.cumulativeWidth\r\n }\r\n }\r\n}\r\nvar _Translator2d = function(businessRange, canvas, options) {\r\n this.update(businessRange, canvas, options)\r\n};\r\n_Translator2d.prototype = {\r\n constructor: _Translator2d,\r\n reinit: function() {\r\n var that = this;\r\n var options = that._options;\r\n var range = that._businessRange;\r\n var categories = range.categories || [];\r\n var script = {};\r\n var canvasOptions = that._prepareCanvasOptions();\r\n var visibleCategories = getCategoriesInfo(categories, range.minVisible, range.maxVisible).categories;\r\n var categoriesLength = visibleCategories.length;\r\n if (range.isEmpty()) {\r\n script = dummyTranslator\r\n } else {\r\n switch (range.axisType) {\r\n case \"logarithmic\":\r\n script = logarithmicTranslator;\r\n break;\r\n case \"semidiscrete\":\r\n script = intervalTranslator;\r\n canvasOptions.ratioOfCanvasRange = canvasOptions.canvasLength / (dateUtils.addInterval(canvasOptions.rangeMaxVisible, options.interval) - canvasOptions.rangeMinVisible);\r\n break;\r\n case \"discrete\":\r\n script = categoryTranslator;\r\n that._categories = categories;\r\n canvasOptions.interval = that._getDiscreteInterval(options.addSpiderCategory ? categoriesLength + 1 : categoriesLength, canvasOptions);\r\n that._categoriesToPoints = makeCategoriesToPoints(categories);\r\n if (categoriesLength) {\r\n canvasOptions.startPointIndex = that._categoriesToPoints[visibleCategories[0].valueOf()];\r\n that.visibleCategories = visibleCategories\r\n }\r\n break;\r\n default:\r\n if (\"datetime\" === range.dataType) {\r\n script = datetimeTranslator\r\n }\r\n }\r\n }(that._oldMethods || []).forEach((function(methodName) {\r\n delete that[methodName]\r\n }));\r\n that._oldMethods = Object.keys(script);\r\n extend(that, script);\r\n that._conversionValue = options.conversionValue ? value => value : (value, skipRound) => skipRound ? value : Math.round(value);\r\n that.sc = {};\r\n that._checkingMethodsAboutBreaks = [getCheckingMethodsAboutBreaks(false), getCheckingMethodsAboutBreaks(that.isInverted())];\r\n that._translateBreaks();\r\n that._calculateSpecialValues()\r\n },\r\n _translateBreaks: function() {\r\n var breaks = this._breaks;\r\n var size = this._options.breaksSize;\r\n var i;\r\n var b;\r\n var end;\r\n var length;\r\n if (void 0 === breaks) {\r\n return\r\n }\r\n for (i = 0, length = breaks.length; i < length; i++) {\r\n b = breaks[i];\r\n end = this.translate(b.to);\r\n b.end = end;\r\n b.start = !b.gapSize ? !this.isInverted() ? end - size : end + size : end\r\n }\r\n },\r\n _checkValueAboutBreaks: function(breaks, pos, start, end, methods) {\r\n var i;\r\n var length;\r\n var prop = {\r\n length: 0,\r\n breaksSize: void 0,\r\n inBreak: false\r\n };\r\n var br;\r\n var prevBreak;\r\n var lastBreak = breaks[breaks.length - 1];\r\n if (methods.isStartSide(pos, breaks, start, end)) {\r\n return prop\r\n } else if (methods.isEndSide(pos, breaks, start, end)) {\r\n return {\r\n length: lastBreak.length,\r\n breaksSize: lastBreak.cumulativeWidth,\r\n inBreak: false\r\n }\r\n }\r\n for (i = 0, length = breaks.length; i < length; i++) {\r\n br = breaks[i];\r\n prevBreak = breaks[i - 1];\r\n if (methods.isInBreak(pos, br, start, end)) {\r\n prop.inBreak = true;\r\n prop.break = br;\r\n break\r\n }\r\n if (prevBreak && methods.isBetweenBreaks(pos, br, prevBreak, start, end)) {\r\n prop = {\r\n length: methods.getLength(prevBreak, lastBreak),\r\n breaksSize: methods.getBreaksSize(prevBreak, lastBreak),\r\n inBreak: false\r\n };\r\n break\r\n }\r\n }\r\n return prop\r\n },\r\n isInverted: function() {\r\n return !(this._options.isHorizontal ^ this._businessRange.invert)\r\n },\r\n _getDiscreteInterval: function(categoriesLength, canvasOptions) {\r\n var correctedCategoriesCount = categoriesLength - (this._options.stick ? 1 : 0);\r\n return correctedCategoriesCount > 0 ? canvasOptions.canvasLength / correctedCategoriesCount : canvasOptions.canvasLength\r\n },\r\n _prepareCanvasOptions() {\r\n var businessRange = this._businessRange;\r\n var canvasOptions = this._canvasOptions = getCanvasBounds(businessRange);\r\n var canvas = this._canvas;\r\n var breaks = this._breaks;\r\n var length;\r\n canvasOptions.startPadding = canvas.startPadding || 0;\r\n canvasOptions.endPadding = canvas.endPadding || 0;\r\n if (this._options.isHorizontal) {\r\n canvasOptions.startPoint = canvas.left + canvasOptions.startPadding;\r\n length = canvas.width;\r\n canvasOptions.endPoint = canvas.width - canvas.right - canvasOptions.endPadding;\r\n canvasOptions.invert = businessRange.invert\r\n } else {\r\n canvasOptions.startPoint = canvas.top + canvasOptions.startPadding;\r\n length = canvas.height;\r\n canvasOptions.endPoint = canvas.height - canvas.bottom - canvasOptions.endPadding;\r\n canvasOptions.invert = !businessRange.invert\r\n }\r\n this.canvasLength = canvasOptions.canvasLength = canvasOptions.endPoint - canvasOptions.startPoint;\r\n canvasOptions.rangeDoubleError = Math.pow(10, getPower(canvasOptions.rangeMax - canvasOptions.rangeMin) - getPower(length) - 2);\r\n canvasOptions.ratioOfCanvasRange = canvasOptions.canvasLength / (canvasOptions.rangeMaxVisible - canvasOptions.rangeMinVisible);\r\n if (void 0 !== breaks) {\r\n var visibleRangeLength = canvasOptions.rangeMaxVisible - canvasOptions.rangeMinVisible - breaks[breaks.length - 1].length;\r\n if (0 !== visibleRangeLength) {\r\n canvasOptions.ratioOfCanvasRange = (canvasOptions.canvasLength - breaks[breaks.length - 1].cumulativeWidth) / visibleRangeLength\r\n }\r\n }\r\n return canvasOptions\r\n },\r\n updateCanvas: function(canvas) {\r\n this._canvas = validateCanvas(canvas);\r\n this.reinit()\r\n },\r\n updateBusinessRange: function(businessRange) {\r\n var breaks = businessRange.breaks || [];\r\n this._userBreaks = businessRange.userBreaks || [];\r\n this._businessRange = validateBusinessRange(businessRange);\r\n this._breaks = breaks.length ? prepareBreaks(breaks, this._businessRange) : void 0;\r\n this.reinit()\r\n },\r\n update: function(businessRange, canvas, options) {\r\n this._options = extend(this._options || {}, options);\r\n this._canvas = validateCanvas(canvas);\r\n this.updateBusinessRange(businessRange)\r\n },\r\n getBusinessRange: function() {\r\n return this._businessRange\r\n },\r\n getEventScale: function(zoomEvent) {\r\n return zoomEvent.deltaScale || 1\r\n },\r\n getCanvasVisibleArea: function() {\r\n return {\r\n min: this._canvasOptions.startPoint,\r\n max: this._canvasOptions.endPoint\r\n }\r\n },\r\n _calculateSpecialValues: function() {\r\n var canvasOptions = this._canvasOptions;\r\n var startPoint = canvasOptions.startPoint - canvasOptions.startPadding;\r\n var endPoint = canvasOptions.endPoint + canvasOptions.endPadding;\r\n var range = this._businessRange;\r\n var minVisible = range.minVisible;\r\n var maxVisible = range.maxVisible;\r\n var canvas_position_center_middle = startPoint + canvasOptions.canvasLength / 2;\r\n var canvas_position_default;\r\n if (minVisible < 0 && maxVisible > 0 && minVisible !== maxVisible) {\r\n canvas_position_default = this.translate(0, 1)\r\n }\r\n if (!isDefined(canvas_position_default)) {\r\n var invert = range.invert ^ (minVisible < 0 && maxVisible <= 0);\r\n if (this._options.isHorizontal) {\r\n canvas_position_default = invert ? endPoint : startPoint\r\n } else {\r\n canvas_position_default = invert ? startPoint : endPoint\r\n }\r\n }\r\n this.sc = {\r\n canvas_position_default: canvas_position_default,\r\n canvas_position_left: startPoint,\r\n canvas_position_top: startPoint,\r\n canvas_position_center: canvas_position_center_middle,\r\n canvas_position_middle: canvas_position_center_middle,\r\n canvas_position_right: endPoint,\r\n canvas_position_bottom: endPoint,\r\n canvas_position_start: canvasOptions.invert ? endPoint : startPoint,\r\n canvas_position_end: canvasOptions.invert ? startPoint : endPoint\r\n }\r\n },\r\n translateSpecialCase(value) {\r\n return this.sc[value]\r\n },\r\n _calculateProjection: function(distance) {\r\n var canvasOptions = this._canvasOptions;\r\n return canvasOptions.invert ? canvasOptions.endPoint - distance : canvasOptions.startPoint + distance\r\n },\r\n _calculateUnProjection: function(distance) {\r\n var canvasOptions = this._canvasOptions;\r\n \"datetime\" === this._businessRange.dataType && (distance = Math.round(distance));\r\n return canvasOptions.invert ? canvasOptions.rangeMaxVisible.valueOf() - distance : canvasOptions.rangeMinVisible.valueOf() + distance\r\n },\r\n getMinBarSize: function(minBarSize) {\r\n var visibleArea = this.getCanvasVisibleArea();\r\n var minValue = this.from(visibleArea.min + minBarSize);\r\n return _abs(this.from(visibleArea.min) - (!isDefined(minValue) ? this.from(visibleArea.max) : minValue))\r\n },\r\n checkMinBarSize: function(value, minShownValue) {\r\n return _abs(value) < minShownValue ? value >= 0 ? minShownValue : -minShownValue : value\r\n },\r\n translate(bp, direction, skipRound) {\r\n var specialValue = this.translateSpecialCase(bp);\r\n if (isDefined(specialValue)) {\r\n return Math.round(specialValue)\r\n }\r\n if (isNaN(bp)) {\r\n return null\r\n }\r\n return this.to(bp, direction, skipRound)\r\n },\r\n getInterval: function(interval) {\r\n var _interval;\r\n var canvasOptions = this._canvasOptions;\r\n interval = null !== (_interval = interval) && void 0 !== _interval ? _interval : this._businessRange.interval;\r\n if (interval) {\r\n return Math.round(canvasOptions.ratioOfCanvasRange * interval)\r\n }\r\n return Math.round(canvasOptions.endPoint - canvasOptions.startPoint)\r\n },\r\n zoom(translate, scale, wholeRange) {\r\n var canvasOptions = this._canvasOptions;\r\n if (canvasOptions.rangeMinVisible.valueOf() === canvasOptions.rangeMaxVisible.valueOf() && 0 !== translate) {\r\n return this.zoomZeroLengthRange(translate, scale)\r\n }\r\n var startPoint = canvasOptions.startPoint;\r\n var endPoint = canvasOptions.endPoint;\r\n var isInverted = this.isInverted();\r\n var newStart = (startPoint + translate) / scale;\r\n var newEnd = (endPoint + translate) / scale;\r\n wholeRange = wholeRange || {};\r\n var minPoint = this.to(isInverted ? wholeRange.endValue : wholeRange.startValue);\r\n var maxPoint = this.to(isInverted ? wholeRange.startValue : wholeRange.endValue);\r\n var min;\r\n var max;\r\n if (minPoint > newStart) {\r\n newEnd -= newStart - minPoint;\r\n newStart = minPoint;\r\n min = isInverted ? wholeRange.endValue : wholeRange.startValue\r\n }\r\n if (maxPoint < newEnd) {\r\n newStart -= newEnd - maxPoint;\r\n newEnd = maxPoint;\r\n max = isInverted ? wholeRange.startValue : wholeRange.endValue\r\n }\r\n if (maxPoint - minPoint < newEnd - newStart) {\r\n newStart = minPoint;\r\n newEnd = maxPoint\r\n }\r\n translate = (endPoint - startPoint) * newStart / (newEnd - newStart) - startPoint;\r\n scale = (startPoint + translate) / newStart || 1;\r\n min = isDefined(min) ? min : adjust(this.from(newStart, 1));\r\n max = isDefined(max) ? max : adjust(this.from(newEnd, -1));\r\n if (scale <= 1) {\r\n min = this._correctValueAboutBreaks(min, 1 === scale ? translate : -1);\r\n max = this._correctValueAboutBreaks(max, 1 === scale ? translate : 1)\r\n }\r\n if (min > max) {\r\n min = min > wholeRange.endValue ? wholeRange.endValue : min;\r\n max = max < wholeRange.startValue ? wholeRange.startValue : max\r\n } else {\r\n min = min < wholeRange.startValue ? wholeRange.startValue : min;\r\n max = max > wholeRange.endValue ? wholeRange.endValue : max\r\n }\r\n return {\r\n min: min,\r\n max: max,\r\n translate: adjust(translate),\r\n scale: adjust(scale)\r\n }\r\n },\r\n _correctValueAboutBreaks(value, direction) {\r\n var br = this._userBreaks.filter(br => value >= br.from && value <= br.to);\r\n if (br.length) {\r\n return direction > 0 ? br[0].to : br[0].from\r\n } else {\r\n return value\r\n }\r\n },\r\n zoomZeroLengthRange(translate, scale) {\r\n var canvasOptions = this._canvasOptions;\r\n var min = canvasOptions.rangeMin;\r\n var max = canvasOptions.rangeMax;\r\n var correction = (max.valueOf() !== min.valueOf() ? max.valueOf() - min.valueOf() : _abs(canvasOptions.rangeMinVisible.valueOf() - min.valueOf())) / canvasOptions.canvasLength;\r\n var isDateTime = isDate(max) || isDate(min);\r\n var isLogarithmic = \"logarithmic\" === this._businessRange.axisType;\r\n var newMin = canvasOptions.rangeMinVisible.valueOf() - correction;\r\n var newMax = canvasOptions.rangeMaxVisible.valueOf() + correction;\r\n newMin = isLogarithmic ? adjust(raiseToExt(newMin, canvasOptions.base)) : isDateTime ? new Date(newMin) : newMin;\r\n newMax = isLogarithmic ? adjust(raiseToExt(newMax, canvasOptions.base)) : isDateTime ? new Date(newMax) : newMax;\r\n return {\r\n min: newMin,\r\n max: newMax,\r\n translate: translate,\r\n scale: scale\r\n }\r\n },\r\n getMinScale: function(zoom) {\r\n var {\r\n dataType: dataType,\r\n interval: interval\r\n } = this._businessRange;\r\n if (\"datetime\" === dataType && 1 === interval) {\r\n return this.getDateTimeMinScale(zoom)\r\n }\r\n return zoom ? 1.1 : .9\r\n },\r\n getDateTimeMinScale(zoom) {\r\n var canvasOptions = this._canvasOptions;\r\n var length = canvasOptions.canvasLength / canvasOptions.ratioOfCanvasRange;\r\n length += (parseInt(.1 * length) || 1) * (zoom ? -2 : 2);\r\n return canvasOptions.canvasLength / (Math.max(length, 1) * canvasOptions.ratioOfCanvasRange)\r\n },\r\n getScale: function(val1, val2) {\r\n var canvasOptions = this._canvasOptions;\r\n if (canvasOptions.rangeMax === canvasOptions.rangeMin) {\r\n return 1\r\n }\r\n val1 = isDefined(val1) ? this.fromValue(val1) : canvasOptions.rangeMin;\r\n val2 = isDefined(val2) ? this.fromValue(val2) : canvasOptions.rangeMax;\r\n return (canvasOptions.rangeMax - canvasOptions.rangeMin) / Math.abs(val1 - val2)\r\n },\r\n isValid: function(value) {\r\n var co = this._canvasOptions;\r\n value = this.fromValue(value);\r\n return null !== value && !isNaN(value) && value.valueOf() + co.rangeDoubleError >= co.rangeMin && value.valueOf() - co.rangeDoubleError <= co.rangeMax\r\n },\r\n getCorrectValue: function(value, direction) {\r\n var breaks = this._breaks;\r\n var prop;\r\n value = this.fromValue(value);\r\n if (this._breaks) {\r\n prop = this._checkValueAboutBreaks(breaks, value, \"trFrom\", \"trTo\", this._checkingMethodsAboutBreaks[0]);\r\n if (true === prop.inBreak) {\r\n return this.toValue(direction > 0 ? prop.break.trTo : prop.break.trFrom)\r\n }\r\n }\r\n return this.toValue(value)\r\n },\r\n to: function(bp, direction, skipRound) {\r\n var range = this.getBusinessRange();\r\n if (isDefined(range.maxVisible) && isDefined(range.minVisible) && range.maxVisible.valueOf() === range.minVisible.valueOf()) {\r\n if (!isDefined(bp) || range.maxVisible.valueOf() !== bp.valueOf()) {\r\n return null\r\n }\r\n return this.translateSpecialCase(0 === bp && this._options.shiftZeroValue ? \"canvas_position_default\" : \"canvas_position_middle\")\r\n }\r\n bp = this.fromValue(bp);\r\n var canvasOptions = this._canvasOptions;\r\n var breaks = this._breaks;\r\n var prop = {\r\n length: 0\r\n };\r\n var commonBreakSize = 0;\r\n if (void 0 !== breaks) {\r\n prop = this._checkValueAboutBreaks(breaks, bp, \"trFrom\", \"trTo\", this._checkingMethodsAboutBreaks[0]);\r\n commonBreakSize = isDefined(prop.breaksSize) ? prop.breaksSize : 0\r\n }\r\n if (true === prop.inBreak) {\r\n if (direction > 0) {\r\n return prop.break.start\r\n } else if (direction < 0) {\r\n return prop.break.end\r\n } else {\r\n return null\r\n }\r\n }\r\n return this._conversionValue(this._calculateProjection((bp - canvasOptions.rangeMinVisible - prop.length) * canvasOptions.ratioOfCanvasRange + commonBreakSize), skipRound)\r\n },\r\n from: function(pos, direction) {\r\n var breaks = this._breaks;\r\n var prop = {\r\n length: 0\r\n };\r\n var canvasOptions = this._canvasOptions;\r\n var startPoint = canvasOptions.startPoint;\r\n var commonBreakSize = 0;\r\n if (void 0 !== breaks) {\r\n prop = this._checkValueAboutBreaks(breaks, pos, \"start\", \"end\", this._checkingMethodsAboutBreaks[1]);\r\n commonBreakSize = isDefined(prop.breaksSize) ? prop.breaksSize : 0\r\n }\r\n if (true === prop.inBreak) {\r\n if (direction > 0) {\r\n return this.toValue(prop.break.trTo)\r\n } else if (direction < 0) {\r\n return this.toValue(prop.break.trFrom)\r\n } else {\r\n return null\r\n }\r\n }\r\n return this.toValue(this._calculateUnProjection((pos - startPoint - commonBreakSize) / canvasOptions.ratioOfCanvasRange + prop.length))\r\n },\r\n isValueProlonged: false,\r\n getRange: function() {\r\n return [this.toValue(this._canvasOptions.rangeMin), this.toValue(this._canvasOptions.rangeMax)]\r\n },\r\n getScreenRange: function() {\r\n return [this._canvasOptions.startPoint, this._canvasOptions.endPoint]\r\n },\r\n add: function(value, diff, dir) {\r\n return this._add(value, diff, (this._businessRange.invert ? -1 : 1) * dir)\r\n },\r\n _add: function(value, diff, coeff) {\r\n return this.toValue(this.fromValue(value) + diff * coeff)\r\n },\r\n fromValue: function(value) {\r\n return null !== value ? Number(value) : null\r\n },\r\n toValue: function(value) {\r\n return null !== value ? Number(value) : null\r\n },\r\n ratioOfCanvasRange() {\r\n return this._canvasOptions.ratioOfCanvasRange\r\n },\r\n convert: value => value,\r\n getRangeByMinZoomValue(minZoom, visualRange) {\r\n if (visualRange.minVisible + minZoom <= this._businessRange.max) {\r\n return [visualRange.minVisible, visualRange.minVisible + minZoom]\r\n } else {\r\n return [visualRange.maxVisible - minZoom, visualRange.maxVisible]\r\n }\r\n }\r\n};\r\nexport {\r\n _Translator2d as Translator2D\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/scroll_bar.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n fireEvent\r\n} from \"../../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n Translator2D\r\n} from \"../translators/translator2d\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../../events/drag\";\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar MIN_SCROLL_BAR_SIZE = 2;\r\nexport var ScrollBar = function(renderer, group) {\r\n this._translator = new Translator2D({}, {}, {});\r\n this._scroll = renderer.rect().append(group);\r\n this._addEvents()\r\n};\r\n\r\nfunction _getXCoord(canvas, pos, offset, width) {\r\n var x = 0;\r\n if (\"right\" === pos) {\r\n x = canvas.width - canvas.right + offset\r\n } else if (\"left\" === pos) {\r\n x = canvas.left - offset - width\r\n }\r\n return x\r\n}\r\n\r\nfunction _getYCoord(canvas, pos, offset, width) {\r\n var y = 0;\r\n if (\"top\" === pos) {\r\n y = canvas.top - offset\r\n } else if (\"bottom\" === pos) {\r\n y = canvas.height - canvas.bottom + width + offset\r\n }\r\n return y\r\n}\r\nScrollBar.prototype = {\r\n _addEvents: function() {\r\n var scrollElement = this._scroll.element;\r\n eventsEngine.on(scrollElement, dragEventStart, e => {\r\n fireEvent({\r\n type: \"dxc-scroll-start\",\r\n originalEvent: e,\r\n target: scrollElement\r\n })\r\n });\r\n eventsEngine.on(scrollElement, dragEventMove, e => {\r\n var dX = -e.offset.x * this._scale;\r\n var dY = -e.offset.y * this._scale;\r\n var lx = this._offset - (this._layoutOptions.vertical ? dY : dX) / this._scale;\r\n this._applyPosition(lx, lx + this._translator.canvasLength / this._scale);\r\n fireEvent({\r\n type: \"dxc-scroll-move\",\r\n originalEvent: e,\r\n target: scrollElement,\r\n offset: {\r\n x: dX,\r\n y: dY\r\n }\r\n })\r\n });\r\n eventsEngine.on(scrollElement, dragEventEnd, e => {\r\n fireEvent({\r\n type: \"dxc-scroll-end\",\r\n originalEvent: e,\r\n target: scrollElement,\r\n offset: {\r\n x: -e.offset.x * this._scale,\r\n y: -e.offset.y * this._scale\r\n }\r\n })\r\n })\r\n },\r\n update: function(options) {\r\n var position = options.position;\r\n var isVertical = options.rotated;\r\n var defaultPosition = isVertical ? \"right\" : \"top\";\r\n var secondaryPosition = isVertical ? \"left\" : \"bottom\";\r\n if (position !== defaultPosition && position !== secondaryPosition) {\r\n position = defaultPosition\r\n }\r\n this._scroll.attr({\r\n rotate: !options.rotated ? -90 : 0,\r\n rotateX: 0,\r\n rotateY: 0,\r\n fill: options.color,\r\n width: options.width,\r\n opacity: options.opacity\r\n });\r\n this._layoutOptions = {\r\n width: options.width,\r\n offset: options.offset,\r\n vertical: isVertical,\r\n position: position\r\n };\r\n return this\r\n },\r\n init: function(range, stick) {\r\n var isDiscrete = \"discrete\" === range.axisType;\r\n this._translateWithOffset = isDiscrete && !stick ? 1 : 0;\r\n this._translator.update(extend({}, range, {\r\n minVisible: null,\r\n maxVisible: null,\r\n visibleCategories: null\r\n }, isDiscrete && {\r\n min: null,\r\n max: null\r\n } || {}), this._canvas, {\r\n isHorizontal: !this._layoutOptions.vertical,\r\n stick: stick\r\n });\r\n return this\r\n },\r\n getOptions: function() {\r\n return this._layoutOptions\r\n },\r\n setPane: function(panes) {\r\n var position = this._layoutOptions.position;\r\n var pane;\r\n if (\"left\" === position || \"top\" === position) {\r\n pane = panes[0]\r\n } else {\r\n pane = panes[panes.length - 1]\r\n }\r\n this.pane = pane.name;\r\n return this\r\n },\r\n updateSize: function(canvas) {\r\n this._canvas = extend({}, canvas);\r\n var options = this._layoutOptions;\r\n var pos = options.position;\r\n var offset = options.offset;\r\n var width = options.width;\r\n this._scroll.attr({\r\n translateX: _getXCoord(canvas, pos, offset, width),\r\n translateY: _getYCoord(canvas, pos, offset, width)\r\n })\r\n },\r\n getMultipleAxesSpacing: function() {\r\n return 0\r\n },\r\n estimateMargins: function() {\r\n return this.getMargins()\r\n },\r\n getMargins: function() {\r\n var options = this._layoutOptions;\r\n var margins = {\r\n left: 0,\r\n top: 0,\r\n right: 0,\r\n bottom: 0\r\n };\r\n margins[options.position] = options.width + options.offset;\r\n return margins\r\n },\r\n shift: function(margins) {\r\n var _that$_scroll$attr, _that$_scroll$attr2;\r\n var options = this._layoutOptions;\r\n var side = options.position;\r\n var isVertical = options.vertical;\r\n var attr = {\r\n translateX: null !== (_that$_scroll$attr = this._scroll.attr(\"translateX\")) && void 0 !== _that$_scroll$attr ? _that$_scroll$attr : 0,\r\n translateY: null !== (_that$_scroll$attr2 = this._scroll.attr(\"translateY\")) && void 0 !== _that$_scroll$attr2 ? _that$_scroll$attr2 : 0\r\n };\r\n var shift = margins[side];\r\n attr[isVertical ? \"translateX\" : \"translateY\"] += (\"left\" === side || \"top\" === side ? -1 : 1) * shift;\r\n this._scroll.attr(attr)\r\n },\r\n hideTitle: noop,\r\n hideOuterElements: noop,\r\n setPosition: function(min, max) {\r\n var translator = this._translator;\r\n var minPoint = isDefined(min) ? translator.translate(min, -this._translateWithOffset) : translator.translate(\"canvas_position_start\");\r\n var maxPoint = isDefined(max) ? translator.translate(max, this._translateWithOffset) : translator.translate(\"canvas_position_end\");\r\n this._offset = _min(minPoint, maxPoint);\r\n this._scale = translator.getScale(min, max);\r\n this._applyPosition(_min(minPoint, maxPoint), _max(minPoint, maxPoint))\r\n },\r\n customPositionIsAvailable: () => false,\r\n dispose: function() {\r\n this._scroll.dispose();\r\n this._scroll = this._translator = null\r\n },\r\n _applyPosition: function(x1, x2) {\r\n var visibleArea = this._translator.getCanvasVisibleArea();\r\n x1 = _max(x1, visibleArea.min);\r\n x1 = _min(x1, visibleArea.max);\r\n x2 = _min(x2, visibleArea.max);\r\n x2 = _max(x2, visibleArea.min);\r\n var height = Math.abs(x2 - x1);\r\n this._scroll.attr({\r\n y: x1,\r\n height: height < MIN_SCROLL_BAR_SIZE ? MIN_SCROLL_BAR_SIZE : height\r\n })\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/shutter_zoom.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../../events/drag\";\r\nvar SHUTTER_EVENTS_NS = \".shutter-zoom\";\r\nvar DRAG_START_EVENT_NAME = dragEventStart + SHUTTER_EVENTS_NS;\r\nvar DRAG_UPDATE_EVENT_NAME = dragEventMove + SHUTTER_EVENTS_NS;\r\nvar DRAG_END_EVENT_NAME = dragEventEnd + SHUTTER_EVENTS_NS;\r\n\r\nfunction getPointerCoord(rootOffset, canvas, rotated, e) {\r\n var coord = Math.floor(rotated ? e.pageY - rootOffset.top : e.pageX - rootOffset.left);\r\n var min = rotated ? canvas.y1 : canvas.x1;\r\n var max = rotated ? canvas.y2 : canvas.x2;\r\n if (coord < min) {\r\n coord = min\r\n } else if (coord > max) {\r\n coord = max\r\n }\r\n return coord\r\n}\r\n\r\nfunction checkCoords(rootOffset, canvas, e) {\r\n var x = e.pageX - rootOffset.left;\r\n var y = e.pageY - rootOffset.top;\r\n return x >= canvas.x1 && x <= canvas.x2 && y >= canvas.y1 && y <= canvas.y2\r\n}\r\n\r\nfunction dragStartHandler(ctx) {\r\n return function(e) {\r\n var offset = ctx.getRootOffset();\r\n var canvas = ctx.getCanvas();\r\n if (!checkCoords(offset, canvas, e)) {\r\n e.cancel = true;\r\n return\r\n }\r\n ctx.rootOffset = offset;\r\n ctx.canvas = canvas;\r\n ctx.startCoord = getPointerCoord(offset, canvas, ctx.rotated, e);\r\n ctx.triggerStart();\r\n ctx.rect.attr({\r\n x: canvas.x1,\r\n y: canvas.y1,\r\n width: canvas.width,\r\n height: canvas.height\r\n }).append(ctx.root)\r\n }\r\n}\r\n\r\nfunction dragHandler(ctx) {\r\n return function(e) {\r\n var curCoord = getPointerCoord(ctx.rootOffset, ctx.canvas, ctx.rotated, e);\r\n var attr = {};\r\n ctx.curCoord = curCoord;\r\n attr[ctx.rotated ? \"y\" : \"x\"] = Math.min(ctx.startCoord, curCoord);\r\n attr[ctx.rotated ? \"height\" : \"width\"] = Math.abs(ctx.startCoord - curCoord);\r\n ctx.rect.attr(attr)\r\n }\r\n}\r\n\r\nfunction dragEndHandler(ctx) {\r\n return function(e) {\r\n ctx.triggerEnd();\r\n ctx.rect.remove()\r\n }\r\n}\r\n\r\nfunction shutterZoom(options) {\r\n var chart = options.chart;\r\n var renderer = options.renderer;\r\n var rotated = options.rotated;\r\n var rect = renderer.rect(0, 0, 0, 0).attr(options.shutterOptions);\r\n var shutter = {\r\n rect: rect,\r\n root: renderer.root,\r\n rotated: rotated,\r\n triggerStart: function() {\r\n chart._eventTrigger(\"zoomStart\")\r\n },\r\n triggerEnd: function() {\r\n var tr = chart._argumentAxes[0].getTranslator();\r\n var rangeStart = Math.min(this.startCoord, this.curCoord);\r\n var rangeEnd = Math.max(this.startCoord, this.curCoord);\r\n chart._eventTrigger(\"zoomEnd\", {\r\n rangeStart: tr.from(rangeStart),\r\n rangeEnd: tr.from(rangeEnd)\r\n })\r\n },\r\n dispose: function() {\r\n renderer.root.off(SHUTTER_EVENTS_NS);\r\n rect.dispose()\r\n },\r\n getRootOffset: function() {\r\n return renderer.getRootOffset()\r\n },\r\n getCanvas: function() {\r\n var canvas = chart._canvas;\r\n var panes = chart.panes;\r\n var firstPane = panes[0].canvas;\r\n var lastPane = panes[panes.length - 1].canvas;\r\n return {\r\n x1: firstPane.left,\r\n y1: firstPane.top,\r\n x2: canvas.width - lastPane.right,\r\n y2: canvas.height - lastPane.bottom,\r\n width: canvas.width - firstPane.left - lastPane.right,\r\n height: canvas.height - firstPane.top - lastPane.bottom\r\n }\r\n }\r\n };\r\n renderer.root.off(SHUTTER_EVENTS_NS).on(DRAG_START_EVENT_NAME, {\r\n direction: rotated ? \"vertical\" : \"horizontal\",\r\n immediate: true\r\n }, dragStartHandler(shutter)).on(DRAG_UPDATE_EVENT_NAME, dragHandler(shutter)).on(DRAG_END_EVENT_NAME, dragEndHandler(shutter));\r\n return shutter\r\n}\r\nexport default {\r\n name: \"shutter_zoom\",\r\n init: function() {\r\n var options = this.option(\"shutterZoom\") || {};\r\n if (!options.enabled) {\r\n return\r\n }\r\n this._shutterZoom = shutterZoom({\r\n chart: this,\r\n renderer: this._renderer,\r\n rotated: this.option(\"rotated\"),\r\n shutterOptions: options\r\n })\r\n },\r\n dispose: function() {\r\n this._shutterZoom && this._shutterZoom.dispose()\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/events/transform.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n sign as mathSign,\r\n fitIntoRange\r\n} from \"../core/utils/math\";\r\nimport * as iteratorUtils from \"../core/utils/iterator\";\r\nimport {\r\n hasTouches\r\n} from \"./utils/index\";\r\nimport Emitter from \"./core/emitter\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar DX_PREFIX = \"dx\";\r\nvar TRANSFORM = \"transform\";\r\nvar TRANSLATE = \"translate\";\r\nvar PINCH = \"pinch\";\r\nvar ROTATE = \"rotate\";\r\nvar START_POSTFIX = \"start\";\r\nvar UPDATE_POSTFIX = \"\";\r\nvar END_POSTFIX = \"end\";\r\nvar eventAliases = [];\r\nvar addAlias = function(eventName, eventArgs) {\r\n eventAliases.push({\r\n name: eventName,\r\n args: eventArgs\r\n })\r\n};\r\naddAlias(TRANSFORM, {\r\n scale: true,\r\n deltaScale: true,\r\n rotation: true,\r\n deltaRotation: true,\r\n translation: true,\r\n deltaTranslation: true\r\n});\r\naddAlias(TRANSLATE, {\r\n translation: true,\r\n deltaTranslation: true\r\n});\r\naddAlias(PINCH, {\r\n scale: true,\r\n deltaScale: true\r\n});\r\naddAlias(ROTATE, {\r\n rotation: true,\r\n deltaRotation: true\r\n});\r\nvar getVector = function(first, second) {\r\n return {\r\n x: second.pageX - first.pageX,\r\n y: -second.pageY + first.pageY,\r\n centerX: .5 * (second.pageX + first.pageX),\r\n centerY: .5 * (second.pageY + first.pageY)\r\n }\r\n};\r\nvar getEventVector = function(e) {\r\n var pointers = e.pointers;\r\n return getVector(pointers[0], pointers[1])\r\n};\r\nvar getDistance = function(vector) {\r\n return Math.sqrt(vector.x * vector.x + vector.y * vector.y)\r\n};\r\nvar getScale = function(firstVector, secondVector) {\r\n return getDistance(firstVector) / getDistance(secondVector)\r\n};\r\nvar getRotation = function(firstVector, secondVector) {\r\n var scalarProduct = firstVector.x * secondVector.x + firstVector.y * secondVector.y;\r\n var distanceProduct = getDistance(firstVector) * getDistance(secondVector);\r\n if (0 === distanceProduct) {\r\n return 0\r\n }\r\n var sign = mathSign(firstVector.x * secondVector.y - secondVector.x * firstVector.y);\r\n var angle = Math.acos(fitIntoRange(scalarProduct / distanceProduct, -1, 1));\r\n return sign * angle\r\n};\r\nvar getTranslation = function(firstVector, secondVector) {\r\n return {\r\n x: firstVector.centerX - secondVector.centerX,\r\n y: firstVector.centerY - secondVector.centerY\r\n }\r\n};\r\nvar TransformEmitter = Emitter.inherit({\r\n validatePointers: function(e) {\r\n return hasTouches(e) > 1\r\n },\r\n start: function(e) {\r\n this._accept(e);\r\n var startVector = getEventVector(e);\r\n this._startVector = startVector;\r\n this._prevVector = startVector;\r\n this._fireEventAliases(START_POSTFIX, e)\r\n },\r\n move: function(e) {\r\n var currentVector = getEventVector(e);\r\n var eventArgs = this._getEventArgs(currentVector);\r\n this._fireEventAliases(UPDATE_POSTFIX, e, eventArgs);\r\n this._prevVector = currentVector\r\n },\r\n end: function(e) {\r\n var eventArgs = this._getEventArgs(this._prevVector);\r\n this._fireEventAliases(END_POSTFIX, e, eventArgs)\r\n },\r\n _getEventArgs: function(vector) {\r\n return {\r\n scale: getScale(vector, this._startVector),\r\n deltaScale: getScale(vector, this._prevVector),\r\n rotation: getRotation(vector, this._startVector),\r\n deltaRotation: getRotation(vector, this._prevVector),\r\n translation: getTranslation(vector, this._startVector),\r\n deltaTranslation: getTranslation(vector, this._prevVector)\r\n }\r\n },\r\n _fireEventAliases: function(eventPostfix, originalEvent, eventArgs) {\r\n eventArgs = eventArgs || {};\r\n iteratorUtils.each(eventAliases, function(_, eventAlias) {\r\n var args = {};\r\n iteratorUtils.each(eventAlias.args, (function(name) {\r\n if (name in eventArgs) {\r\n args[name] = eventArgs[name]\r\n }\r\n }));\r\n this._fireEvent(DX_PREFIX + eventAlias.name + eventPostfix, originalEvent, args)\r\n }.bind(this))\r\n }\r\n});\r\nvar eventNames = eventAliases.reduce((result, eventAlias) => {\r\n [START_POSTFIX, UPDATE_POSTFIX, END_POSTFIX].forEach(eventPostfix => {\r\n result.push(DX_PREFIX + eventAlias.name + eventPostfix)\r\n });\r\n return result\r\n}, []);\r\nregisterEmitter({\r\n emitter: TransformEmitter,\r\n events: eventNames\r\n});\r\nvar exportNames = {};\r\niteratorUtils.each(eventNames, (function(_, eventName) {\r\n exportNames[eventName.substring(DX_PREFIX.length)] = eventName\r\n}));\r\nexport var {\r\n transformstart: transformstart,\r\n transform: transform,\r\n transformend: transformend,\r\n translatestart: translatestart,\r\n translate: translate,\r\n translateend: translateend,\r\n zoomstart: zoomstart,\r\n zoom: zoom,\r\n zoomend: zoomend,\r\n pinchstart: pinchstart,\r\n pinch: pinch,\r\n pinchend: pinchend,\r\n rotatestart: rotatestart,\r\n rotate: rotate,\r\n rotateend: rotateend\r\n} = exportNames;\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/zoom_and_pan.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n normalizeEnum,\r\n getVizRangeObject\r\n} from \"../core/utils\";\r\nimport {\r\n name as wheelEvent\r\n} from \"../../events/core/wheel\";\r\nimport * as transformEvents from \"../../events/transform\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../../events/drag\";\r\nvar EVENTS_NS = \".zoomAndPanNS\";\r\nvar DRAG_START_EVENT_NAME = dragEventStart + EVENTS_NS;\r\nvar DRAG_EVENT_NAME = dragEventMove + EVENTS_NS;\r\nvar DRAG_END_EVENT_NAME = dragEventEnd + EVENTS_NS;\r\nvar PINCH_START_EVENT_NAME = transformEvents.pinchstart + EVENTS_NS;\r\nvar PINCH_EVENT_NAME = transformEvents.pinch + EVENTS_NS;\r\nvar PINCH_END_EVENT_NAME = transformEvents.pinchend + EVENTS_NS;\r\nvar SCROLL_BAR_START_EVENT_NAME = \"dxc-scroll-start\" + EVENTS_NS;\r\nvar SCROLL_BAR_MOVE_EVENT_NAME = \"dxc-scroll-move\" + EVENTS_NS;\r\nvar SCROLL_BAR_END_EVENT_NAME = \"dxc-scroll-end\" + EVENTS_NS;\r\nvar GESTURE_TIMEOUT = 300;\r\nvar MIN_DRAG_DELTA = 5;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar _abs = Math.abs;\r\n\r\nfunction canvasToRect(canvas) {\r\n return {\r\n x: canvas.left,\r\n y: canvas.top,\r\n width: canvas.width - canvas.left - canvas.right,\r\n height: canvas.height - canvas.top - canvas.bottom\r\n }\r\n}\r\n\r\nfunction checkCoords(rect, coords) {\r\n var x = coords.x;\r\n var y = coords.y;\r\n return x >= rect.x && x <= rect.width + rect.x && y >= rect.y && y <= rect.height + rect.y\r\n}\r\n\r\nfunction sortAxes(axes, onlyAxisToNotify) {\r\n if (onlyAxisToNotify) {\r\n axes = axes.sort((a, b) => {\r\n if (a === onlyAxisToNotify) {\r\n return -1\r\n }\r\n if (b === onlyAxisToNotify) {\r\n return 1\r\n }\r\n return 0\r\n })\r\n }\r\n return axes\r\n}\r\n\r\nfunction getFilteredAxes(axes) {\r\n return axes.filter(a => !a.getTranslator().getBusinessRange().isEmpty())\r\n}\r\n\r\nfunction isAxisAvailablePanning(axes) {\r\n return axes.some(axis => !axis.isExtremePosition(false) || !axis.isExtremePosition(true))\r\n}\r\n\r\nfunction axisZoom(axis, onlyAxisToNotify, getRange, getParameters, actionField, scale, e) {\r\n var silent = onlyAxisToNotify && axis !== onlyAxisToNotify;\r\n var range = getRange(axis);\r\n var {\r\n stopInteraction: stopInteraction,\r\n correctedRange: correctedRange\r\n } = axis.checkZoomingLowerLimitOvercome(actionField, scale, range);\r\n var result = axis.handleZooming(stopInteraction ? null : correctedRange, getParameters(silent), e, actionField);\r\n stopInteraction && axis.handleZoomEnd();\r\n return {\r\n stopInteraction: stopInteraction,\r\n result: result\r\n }\r\n}\r\n\r\nfunction zoomAxes(e, axes, getRange, zoom, params, onlyAxisToNotify) {\r\n axes = sortAxes(axes, onlyAxisToNotify);\r\n var zoomStarted = false;\r\n var getParameters = silent => ({\r\n start: !!silent,\r\n end: !!silent\r\n });\r\n getFilteredAxes(axes).some(axis => {\r\n var translator = axis.getTranslator();\r\n var scale = translator.getMinScale(zoom);\r\n var {\r\n stopInteraction: stopInteraction,\r\n result: result\r\n } = axisZoom(axis, onlyAxisToNotify, getRange(_extends({\r\n scale: scale,\r\n translator: translator,\r\n axis: axis\r\n }, params)), getParameters, \"zoom\", scale, e);\r\n zoomStarted = !stopInteraction;\r\n return onlyAxisToNotify && result.isPrevented\r\n });\r\n return zoomStarted\r\n}\r\n\r\nfunction cancelEvent(e) {\r\n if (e.originalEvent) {\r\n cancelEvent(e.originalEvent)\r\n }\r\n if (false !== e.cancelable) {\r\n e.cancel = true\r\n }\r\n}\r\nexport default {\r\n name: \"zoom_and_pan\",\r\n init: function() {\r\n var chart = this;\r\n var renderer = this._renderer;\r\n\r\n function getAxesCopy(zoomAndPan, actionField) {\r\n var axes = [];\r\n var options = zoomAndPan.options;\r\n var actionData = zoomAndPan.actionData;\r\n if (options.argumentAxis[actionField]) {\r\n axes.push(chart.getArgumentAxis())\r\n }\r\n if (options.valueAxis[actionField]) {\r\n axes = axes.concat(actionData.valueAxes)\r\n }\r\n return axes\r\n }\r\n\r\n function startAxesViewportChanging(zoomAndPan, actionField, e) {\r\n var axes = getAxesCopy(zoomAndPan, actionField);\r\n getFilteredAxes(axes).some(axis => axis.handleZooming(null, {\r\n end: true\r\n }, e, actionField).isPrevented) && cancelEvent(e)\r\n }\r\n\r\n function axesViewportChanging(zoomAndPan, actionField, e, offsetCalc, centerCalc) {\r\n function zoomAxes(axes, criteria, coordField, e, actionData) {\r\n var zoom = {\r\n zoomed: false\r\n };\r\n criteria && getFilteredAxes(axes).forEach(axis => {\r\n var options = axis.getOptions();\r\n var viewport = axis.visualRange();\r\n var scale = axis.getTranslator().getEventScale(e);\r\n var translate = -offsetCalc(e, actionData, coordField, scale);\r\n zoom = extend(true, zoom, axis.getTranslator().zoom(translate, scale, axis.getZoomBounds()));\r\n var range = axis.adjustRange(getVizRangeObject([zoom.min, zoom.max]));\r\n var {\r\n stopInteraction: stopInteraction,\r\n correctedRange: correctedRange\r\n } = axis.checkZoomingLowerLimitOvercome(actionField, scale, range);\r\n if (!isDefined(viewport) || viewport.startValue.valueOf() !== correctedRange.startValue.valueOf() || viewport.endValue.valueOf() !== correctedRange.endValue.valueOf()) {\r\n axis.handleZooming(stopInteraction ? null : correctedRange, {\r\n start: true,\r\n end: true\r\n }, e, actionField);\r\n if (!stopInteraction) {\r\n zoom.zoomed = true;\r\n zoom.deltaTranslate = translate - zoom.translate\r\n }\r\n } else if (\"touch\" === e.pointerType && \"discrete\" === options.type) {\r\n var isMinPosition = axis.isExtremePosition(false);\r\n var isMaxPosition = axis.isExtremePosition(true);\r\n var zoomInEnabled = scale > 1 && !stopInteraction;\r\n var zoomOutEnabled = scale < 1 && (!isMinPosition || !isMaxPosition);\r\n var panningEnabled = 1 === scale && !(isMinPosition && (translate < 0 && !options.inverted || translate > 0 && options.inverted) || isMaxPosition && (translate > 0 && !options.inverted || translate < 0 && options.inverted));\r\n zoom.enabled = zoomInEnabled || zoomOutEnabled || panningEnabled\r\n }\r\n });\r\n return zoom\r\n }\r\n\r\n function storeOffset(e, actionData, zoom, coordField) {\r\n if (zoom.zoomed) {\r\n actionData.offset[coordField] = (e.offset ? e.offset[coordField] : actionData.offset[coordField]) + zoom.deltaTranslate\r\n }\r\n }\r\n\r\n function storeCenter(center, actionData, zoom, coordField) {\r\n if (zoom.zoomed) {\r\n actionData.center[coordField] = center[coordField] + zoom.deltaTranslate\r\n }\r\n }\r\n var rotated = chart.option(\"rotated\");\r\n var actionData = zoomAndPan.actionData;\r\n var options = zoomAndPan.options;\r\n var argZoom = {};\r\n var valZoom = {};\r\n if (!actionData.fallback) {\r\n argZoom = zoomAxes(chart._argumentAxes, options.argumentAxis[actionField], rotated ? \"y\" : \"x\", e, actionData);\r\n valZoom = zoomAxes(actionData.valueAxes, options.valueAxis[actionField], rotated ? \"x\" : \"y\", e, actionData);\r\n chart._requestChange([\"VISUAL_RANGE\"]);\r\n storeOffset(e, actionData, argZoom, rotated ? \"y\" : \"x\");\r\n storeOffset(e, actionData, valZoom, rotated ? \"x\" : \"y\")\r\n }\r\n var center = centerCalc(e);\r\n storeCenter(center, actionData, argZoom, rotated ? \"y\" : \"x\");\r\n storeCenter(center, actionData, valZoom, rotated ? \"x\" : \"y\");\r\n if (!argZoom.zoomed && !valZoom.zoomed) {\r\n actionData.center = center\r\n }\r\n return argZoom.zoomed || valZoom.zoomed || actionData.fallback || argZoom.enabled || valZoom.enabled\r\n }\r\n\r\n function finishAxesViewportChanging(zoomAndPan, actionField, e, offsetCalc) {\r\n function zoomAxes(axes, coordField, actionData, onlyAxisToNotify) {\r\n var zoomStarted = false;\r\n var scale = e.scale || 1;\r\n var getRange = axis => {\r\n var zoom = axis.getTranslator().zoom(-offsetCalc(e, actionData, coordField, scale), scale, axis.getZoomBounds());\r\n return {\r\n startValue: zoom.min,\r\n endValue: zoom.max\r\n }\r\n };\r\n var getParameters = silent => ({\r\n start: true,\r\n end: silent\r\n });\r\n getFilteredAxes(axes).forEach(axis => {\r\n zoomStarted = !axisZoom(axis, onlyAxisToNotify, getRange, getParameters, actionField, scale, e).stopInteraction\r\n });\r\n return zoomStarted\r\n }\r\n var rotated = chart.option(\"rotated\");\r\n var actionData = zoomAndPan.actionData;\r\n var options = zoomAndPan.options;\r\n var zoomStarted = true;\r\n if (actionData.fallback) {\r\n zoomStarted &= options.argumentAxis[actionField] && zoomAxes(chart._argumentAxes, rotated ? \"y\" : \"x\", actionData, chart.getArgumentAxis());\r\n zoomStarted |= options.valueAxis[actionField] && zoomAxes(actionData.valueAxes, rotated ? \"x\" : \"y\", actionData)\r\n } else {\r\n var axes = getAxesCopy(zoomAndPan, actionField);\r\n getFilteredAxes(axes).forEach(axis => {\r\n axis.handleZooming(null, {\r\n start: true\r\n }, e, actionField)\r\n });\r\n zoomStarted = axes.length\r\n }\r\n zoomStarted && chart._requestChange([\"VISUAL_RANGE\"])\r\n }\r\n\r\n function prepareActionData(coords, action) {\r\n var axes = chart._argumentAxes.filter(axis => checkCoords(canvasToRect(axis.getCanvas()), coords));\r\n return {\r\n fallback: chart._lastRenderingTime > GESTURE_TIMEOUT,\r\n cancel: !axes.length || !isDefined(action),\r\n action: action,\r\n curAxisRect: axes.length && canvasToRect(axes[0].getCanvas()),\r\n valueAxes: axes.length && chart._valueAxes.filter(axis => checkCoords(canvasToRect(axis.getCanvas()), coords)),\r\n offset: {\r\n x: 0,\r\n y: 0\r\n },\r\n center: coords,\r\n startCenter: coords\r\n }\r\n }\r\n\r\n function getPointerCoord(rect, e) {\r\n var rootOffset = renderer.getRootOffset();\r\n return {\r\n x: _min(_max(e.pageX - rootOffset.left, rect.x), rect.width + rect.x),\r\n y: _min(_max(e.pageY - rootOffset.top, rect.y), rect.height + rect.y)\r\n }\r\n }\r\n\r\n function calcCenterForPinch(e) {\r\n var rootOffset = renderer.getRootOffset();\r\n var x1 = e.pointers[0].pageX;\r\n var x2 = e.pointers[1].pageX;\r\n var y1 = e.pointers[0].pageY;\r\n var y2 = e.pointers[1].pageY;\r\n return {\r\n x: _min(x1, x2) + _abs(x2 - x1) / 2 - rootOffset.left,\r\n y: _min(y1, y2) + _abs(y2 - y1) / 2 - rootOffset.top\r\n }\r\n }\r\n\r\n function calcCenterForDrag(e) {\r\n var rootOffset = renderer.getRootOffset();\r\n return {\r\n x: e.pageX - rootOffset.left,\r\n y: e.pageY - rootOffset.top\r\n }\r\n }\r\n\r\n function calcOffsetForDrag(e, actionData, coordField) {\r\n return e.offset[coordField] - actionData.offset[coordField]\r\n }\r\n\r\n function preventDefaults(e) {\r\n if (false !== e.cancelable) {\r\n e.preventDefault();\r\n e.stopPropagation()\r\n }\r\n chart._stopCurrentHandling()\r\n }\r\n var zoomAndPan = {\r\n dragStartHandler: function(e) {\r\n var options = zoomAndPan.options;\r\n var isTouch = \"touch\" === e.pointerType;\r\n var wantPan = options.argumentAxis.pan || options.valueAxis.pan;\r\n var wantZoom = options.argumentAxis.zoom || options.valueAxis.zoom;\r\n var panKeyPressed = isDefined(options.panKey) && e[normalizeEnum(options.panKey) + \"Key\"];\r\n var dragToZoom = options.dragToZoom;\r\n var action;\r\n e._cancelPreventDefault = true;\r\n if (isTouch) {\r\n if (options.allowTouchGestures && wantPan) {\r\n var cancelPanning = !zoomAndPan.panningVisualRangeEnabled() || zoomAndPan.skipEvent;\r\n action = cancelPanning ? null : \"pan\"\r\n }\r\n } else if (dragToZoom && wantPan && panKeyPressed || !dragToZoom && wantPan) {\r\n action = \"pan\"\r\n } else if (dragToZoom && wantZoom) {\r\n action = \"zoom\"\r\n }\r\n var actionData = prepareActionData(calcCenterForDrag(e), action);\r\n if (actionData.cancel) {\r\n zoomAndPan.skipEvent = false;\r\n if (false !== e.cancelable) {\r\n e.cancel = true\r\n }\r\n return\r\n }\r\n zoomAndPan.actionData = actionData;\r\n if (\"zoom\" === action) {\r\n actionData.startCoords = getPointerCoord(actionData.curAxisRect, e);\r\n actionData.rect = renderer.rect(0, 0, 0, 0).attr(options.dragBoxStyle).append(renderer.root)\r\n } else {\r\n startAxesViewportChanging(zoomAndPan, \"pan\", e)\r\n }\r\n },\r\n dragHandler: function(e) {\r\n var rotated = chart.option(\"rotated\");\r\n var options = zoomAndPan.options;\r\n var actionData = zoomAndPan.actionData;\r\n var isTouch = \"touch\" === e.pointerType;\r\n e._cancelPreventDefault = true;\r\n if (!actionData || isTouch && !zoomAndPan.panningVisualRangeEnabled()) {\r\n return\r\n }\r\n if (\"zoom\" === actionData.action) {\r\n preventDefaults(e);\r\n var curCanvas = actionData.curAxisRect;\r\n var startCoords = actionData.startCoords;\r\n var curCoords = getPointerCoord(curCanvas, e);\r\n var zoomArg = options.argumentAxis.zoom;\r\n var zoomVal = options.valueAxis.zoom;\r\n var rect = {\r\n x: _min(startCoords.x, curCoords.x),\r\n y: _min(startCoords.y, curCoords.y),\r\n width: _abs(startCoords.x - curCoords.x),\r\n height: _abs(startCoords.y - curCoords.y)\r\n };\r\n if (!zoomArg || !zoomVal) {\r\n if (!zoomArg && !rotated || !zoomVal && rotated) {\r\n rect.x = curCanvas.x;\r\n rect.width = curCanvas.width\r\n } else {\r\n rect.y = curCanvas.y;\r\n rect.height = curCanvas.height\r\n }\r\n }\r\n actionData.rect.attr(rect)\r\n } else if (\"pan\" === actionData.action) {\r\n axesViewportChanging(zoomAndPan, \"pan\", e, calcOffsetForDrag, e => e.offset);\r\n var deltaOffsetY = Math.abs(e.offset.y - actionData.offset.y);\r\n var deltaOffsetX = Math.abs(e.offset.x - actionData.offset.x);\r\n if (isTouch && (deltaOffsetY > MIN_DRAG_DELTA && deltaOffsetY > Math.abs(actionData.offset.x) || deltaOffsetX > MIN_DRAG_DELTA && deltaOffsetX > Math.abs(actionData.offset.y))) {\r\n return\r\n }\r\n preventDefaults(e)\r\n }\r\n },\r\n dragEndHandler: function(e) {\r\n var rotated = chart.option(\"rotated\");\r\n var options = zoomAndPan.options;\r\n var actionData = zoomAndPan.actionData;\r\n var isTouch = \"touch\" === e.pointerType;\r\n var getRange = _ref => {\r\n var {\r\n translator: translator,\r\n startCoord: startCoord,\r\n curCoord: curCoord\r\n } = _ref;\r\n return () => [translator.from(startCoord), translator.from(curCoord)]\r\n };\r\n var getCoords = (curCoords, startCoords, field) => ({\r\n curCoord: curCoords[field],\r\n startCoord: startCoords[field]\r\n });\r\n var needToZoom = (axisOption, coords) => axisOption.zoom && _abs(coords.curCoord - coords.startCoord) > MIN_DRAG_DELTA;\r\n var panIsEmpty = actionData && \"pan\" === actionData.action && !actionData.fallback && 0 === actionData.offset.x && 0 === actionData.offset.y;\r\n if (!actionData || isTouch && !zoomAndPan.panningVisualRangeEnabled() || panIsEmpty) {\r\n return\r\n }!isTouch && preventDefaults(e);\r\n if (\"zoom\" === actionData.action) {\r\n var curCoords = getPointerCoord(actionData.curAxisRect, e);\r\n var argumentCoords = getCoords(curCoords, actionData.startCoords, rotated ? \"y\" : \"x\");\r\n var valueCoords = getCoords(curCoords, actionData.startCoords, rotated ? \"x\" : \"y\");\r\n var argumentAxesZoomed = needToZoom(options.argumentAxis, argumentCoords) && zoomAxes(e, chart._argumentAxes, getRange, true, argumentCoords, chart.getArgumentAxis());\r\n var valueAxesZoomed = needToZoom(options.valueAxis, valueCoords) && zoomAxes(e, actionData.valueAxes, getRange, true, valueCoords);\r\n if (valueAxesZoomed || argumentAxesZoomed) {\r\n chart._requestChange([\"VISUAL_RANGE\"])\r\n }\r\n actionData.rect.dispose()\r\n } else if (\"pan\" === actionData.action) {\r\n finishAxesViewportChanging(zoomAndPan, \"pan\", e, calcOffsetForDrag)\r\n }\r\n zoomAndPan.actionData = null\r\n },\r\n pinchStartHandler: function(e) {\r\n var actionData = prepareActionData(calcCenterForPinch(e), \"zoom\");\r\n if (actionData.cancel) {\r\n cancelEvent(e);\r\n return\r\n }\r\n zoomAndPan.actionData = actionData;\r\n startAxesViewportChanging(zoomAndPan, \"zoom\", e)\r\n },\r\n pinchHandler: function(e) {\r\n if (!zoomAndPan.actionData) {\r\n return\r\n }\r\n axesViewportChanging(zoomAndPan, \"zoom\", e, (e, actionData, coordField, scale) => calcCenterForPinch(e)[coordField] - actionData.center[coordField] + (actionData.center[coordField] - actionData.center[coordField] * scale), calcCenterForPinch);\r\n preventDefaults(e)\r\n },\r\n pinchEndHandler: function(e) {\r\n if (!zoomAndPan.actionData) {\r\n return\r\n }\r\n finishAxesViewportChanging(zoomAndPan, \"zoom\", e, (e, actionData, coordField, scale) => actionData.center[coordField] - actionData.startCenter[coordField] + (actionData.startCenter[coordField] - actionData.startCenter[coordField] * scale));\r\n zoomAndPan.actionData = null\r\n },\r\n mouseWheelHandler: function(e) {\r\n var options = zoomAndPan.options;\r\n var rotated = chart.option(\"rotated\");\r\n var getRange = _ref2 => {\r\n var {\r\n translator: translator,\r\n coord: coord,\r\n scale: scale,\r\n axis: axis\r\n } = _ref2;\r\n return () => {\r\n var zoom = translator.zoom(-(coord - coord * scale), scale, axis.getZoomBounds());\r\n return {\r\n startValue: zoom.min,\r\n endValue: zoom.max\r\n }\r\n }\r\n };\r\n var coords = calcCenterForDrag(e);\r\n var axesZoomed = false;\r\n var targetAxes;\r\n if (options.valueAxis.zoom) {\r\n targetAxes = chart._valueAxes.filter(axis => checkCoords(canvasToRect(axis.getCanvas()), coords));\r\n if (0 === targetAxes.length) {\r\n var targetCanvas = chart._valueAxes.reduce((r, axis) => {\r\n if (!r && axis.coordsIn(coords.x, coords.y)) {\r\n r = axis.getCanvas()\r\n }\r\n return r\r\n }, null);\r\n if (targetCanvas) {\r\n targetAxes = chart._valueAxes.filter(axis => checkCoords(canvasToRect(axis.getCanvas()), {\r\n x: targetCanvas.left,\r\n y: targetCanvas.top\r\n }))\r\n }\r\n }\r\n axesZoomed |= zoomAxes(e, targetAxes, getRange, e.delta > 0, {\r\n coord: rotated ? coords.x : coords.y\r\n })\r\n }\r\n if (options.argumentAxis.zoom) {\r\n var canZoom = chart._argumentAxes.some(axis => {\r\n if (checkCoords(canvasToRect(axis.getCanvas()), coords) || axis.coordsIn(coords.x, coords.y)) {\r\n return true\r\n }\r\n return false\r\n });\r\n axesZoomed |= canZoom && zoomAxes(e, chart._argumentAxes, getRange, e.delta > 0, {\r\n coord: rotated ? coords.y : coords.x\r\n }, chart.getArgumentAxis())\r\n }\r\n if (axesZoomed) {\r\n chart._requestChange([\"VISUAL_RANGE\"]);\r\n if (targetAxes && isAxisAvailablePanning(targetAxes) || !targetAxes && zoomAndPan.panningVisualRangeEnabled()) {\r\n preventDefaults(e)\r\n }\r\n }\r\n },\r\n cleanup: function() {\r\n renderer.root.off(EVENTS_NS);\r\n zoomAndPan.actionData && zoomAndPan.actionData.rect && zoomAndPan.actionData.rect.dispose();\r\n zoomAndPan.actionData = null;\r\n renderer.root.css({\r\n \"touch-action\": \"\",\r\n \"-ms-touch-action\": \"\"\r\n })\r\n },\r\n setup: function(options) {\r\n zoomAndPan.cleanup();\r\n if (!options.argumentAxis.pan) {\r\n renderer.root.on(SCROLL_BAR_START_EVENT_NAME, cancelEvent)\r\n }\r\n if (options.argumentAxis.none && options.valueAxis.none) {\r\n return\r\n }\r\n zoomAndPan.options = options;\r\n if ((options.argumentAxis.zoom || options.valueAxis.zoom) && options.allowMouseWheel) {\r\n renderer.root.on(wheelEvent + EVENTS_NS, zoomAndPan.mouseWheelHandler)\r\n }\r\n if ((options.argumentAxis.zoom || options.valueAxis.zoom) && options.allowTouchGestures) {\r\n renderer.root.on(PINCH_START_EVENT_NAME, {\r\n passive: false\r\n }, zoomAndPan.pinchStartHandler).on(PINCH_EVENT_NAME, {\r\n passive: false\r\n }, zoomAndPan.pinchHandler).on(PINCH_END_EVENT_NAME, zoomAndPan.pinchEndHandler)\r\n }\r\n renderer.root.on(DRAG_START_EVENT_NAME, {\r\n immediate: true,\r\n passive: false\r\n }, zoomAndPan.dragStartHandler).on(DRAG_EVENT_NAME, {\r\n immediate: true,\r\n passive: false\r\n }, zoomAndPan.dragHandler).on(DRAG_END_EVENT_NAME, zoomAndPan.dragEndHandler);\r\n renderer.root.on(SCROLL_BAR_START_EVENT_NAME, (function(e) {\r\n zoomAndPan.actionData = {\r\n valueAxes: [],\r\n offset: {\r\n x: 0,\r\n y: 0\r\n },\r\n center: {\r\n x: 0,\r\n y: 0\r\n }\r\n };\r\n preventDefaults(e);\r\n startAxesViewportChanging(zoomAndPan, \"pan\", e)\r\n })).on(SCROLL_BAR_MOVE_EVENT_NAME, (function(e) {\r\n preventDefaults(e);\r\n axesViewportChanging(zoomAndPan, \"pan\", e, calcOffsetForDrag, e => e.offset)\r\n })).on(SCROLL_BAR_END_EVENT_NAME, (function(e) {\r\n preventDefaults(e);\r\n finishAxesViewportChanging(zoomAndPan, \"pan\", e, calcOffsetForDrag);\r\n zoomAndPan.actionData = null\r\n }))\r\n },\r\n panningVisualRangeEnabled: function() {\r\n return isAxisAvailablePanning(chart._valueAxes) || isAxisAvailablePanning(chart._argumentAxes)\r\n }\r\n };\r\n this._zoomAndPan = zoomAndPan\r\n },\r\n members: {\r\n _setupZoomAndPan: function() {\r\n this._zoomAndPan.setup(this._themeManager.getOptions(\"zoomAndPan\"))\r\n }\r\n },\r\n dispose: function() {\r\n this._zoomAndPan.cleanup()\r\n },\r\n customize: function(constructor) {\r\n constructor.addChange({\r\n code: \"ZOOM_AND_PAN\",\r\n handler: function() {\r\n this._setupZoomAndPan()\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true,\r\n option: \"zoomAndPan\"\r\n })\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/renderers/animation.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../../../animation/frame\";\r\nvar noop = function() {};\r\nexport var easingFunctions = {\r\n easeOutCubic: function(pos, start, end) {\r\n return 1 === pos ? end : (1 - Math.pow(1 - pos, 3)) * (end - start) + +start\r\n },\r\n linear: function(pos, start, end) {\r\n return 1 === pos ? end : pos * (end - start) + +start\r\n }\r\n};\r\nexport var animationSvgStep = {\r\n segments: function(elem, params, progress, easing, currentParams) {\r\n var from = params.from;\r\n var to = params.to;\r\n var curSeg;\r\n var seg;\r\n var i;\r\n var j;\r\n var segments = [];\r\n for (i = 0; i < from.length; i++) {\r\n curSeg = from[i];\r\n seg = [curSeg[0]];\r\n if (curSeg.length > 1) {\r\n for (j = 1; j < curSeg.length; j++) {\r\n seg.push(easing(progress, curSeg[j], to[i][j]))\r\n }\r\n }\r\n segments.push(seg)\r\n }\r\n currentParams.segments = params.end && 1 === progress ? params.end : segments;\r\n elem.attr({\r\n segments: segments\r\n })\r\n },\r\n arc: function(elem, params, progress, easing) {\r\n var from = params.from;\r\n var to = params.to;\r\n var current = {};\r\n for (var i in from) {\r\n current[i] = easing(progress, from[i], to[i])\r\n }\r\n elem.attr(current)\r\n },\r\n transform: function(elem, params, progress, easing, currentParams) {\r\n var from = params.from;\r\n var to = params.to;\r\n var current = {};\r\n for (var i in from) {\r\n current[i] = currentParams[i] = easing(progress, from[i], to[i])\r\n }\r\n elem.attr(current)\r\n },\r\n base: function(elem, params, progress, easing, currentParams, attributeName) {\r\n var obj = {};\r\n obj[attributeName] = currentParams[attributeName] = easing(progress, params.from, params.to);\r\n elem.attr(obj)\r\n },\r\n _: noop,\r\n complete: function(element, currentSettings) {\r\n element.attr(currentSettings)\r\n }\r\n};\r\n\r\nfunction step(now) {\r\n var animateStep = this._animateStep;\r\n var attrName;\r\n this._progress = this._calcProgress(now);\r\n for (attrName in this.params) {\r\n var anim = animateStep[attrName] || animateStep.base;\r\n anim(this.element, this.params[attrName], this._progress, this._easing, this._currentParams, attrName)\r\n }\r\n this.options.step && this.options.step(this._easing(this._progress, 0, 1), this._progress);\r\n if (1 === this._progress) {\r\n return this.stop()\r\n }\r\n return true\r\n}\r\n\r\nfunction delayTick(now) {\r\n if (now - this._startTime >= this.delay) {\r\n this.tick = step\r\n }\r\n return true\r\n}\r\n\r\nfunction start(now) {\r\n this._startTime = now;\r\n this.tick = this.delay ? delayTick : step;\r\n return true\r\n}\r\n\r\nfunction Animation(element, params, options) {\r\n this._progress = 0;\r\n this.element = element;\r\n this.params = params;\r\n this.options = options;\r\n this.duration = options.partitionDuration ? options.duration * options.partitionDuration : options.duration;\r\n this.delay = options.delay && options.duration * options.delay || 0;\r\n this._animateStep = options.animateStep || animationSvgStep;\r\n this._easing = easingFunctions[options.easing] || easingFunctions.easeOutCubic;\r\n this._currentParams = {};\r\n this.tick = start\r\n}\r\nAnimation.prototype = {\r\n _calcProgress: function(now) {\r\n return Math.min(1, (now - this.delay - this._startTime) / this.duration)\r\n },\r\n stop: function(disableComplete) {\r\n var options = this.options;\r\n var animateStep = this._animateStep;\r\n this.stop = this.tick = noop;\r\n animateStep.complete && animateStep.complete(this.element, this._currentParams);\r\n options.complete && !disableComplete && options.complete()\r\n }\r\n};\r\nexport function AnimationController(element) {\r\n this._animationCount = 0;\r\n this._timerId = null;\r\n this._animations = {};\r\n this.element = element\r\n}\r\nAnimationController.prototype = {\r\n _loop: function() {\r\n var that = this;\r\n var animations = that._animations;\r\n var activeAnimation = 0;\r\n var now = (new Date).getTime();\r\n var an;\r\n var endAnimation = that._endAnimation;\r\n for (an in animations) {\r\n if (!animations[an].tick(now)) {\r\n delete animations[an]\r\n }\r\n activeAnimation++\r\n }\r\n if (0 === activeAnimation) {\r\n that.stop();\r\n that._endAnimationTimer = endAnimation && setTimeout((function() {\r\n if (0 === that._animationCount) {\r\n endAnimation();\r\n that._endAnimation = null\r\n }\r\n }));\r\n return\r\n }\r\n that._timerId = requestAnimationFrame.call(null, (function() {\r\n that._loop()\r\n }), that.element)\r\n },\r\n addAnimation: function(animation) {\r\n var that = this;\r\n that._animations[that._animationCount++] = animation;\r\n clearTimeout(that._endAnimationTimer);\r\n if (!that._timerId) {\r\n clearTimeout(that._startDelay);\r\n that._startDelay = setTimeout((function() {\r\n that._timerId = 1;\r\n that._loop()\r\n }), 0)\r\n }\r\n },\r\n animateElement: function(elem, params, options) {\r\n if (elem && params && options) {\r\n elem.animation && elem.animation.stop();\r\n this.addAnimation(elem.animation = new Animation(elem, params, options))\r\n }\r\n },\r\n onEndAnimation: function(endAnimation) {\r\n this._animationCount ? this._endAnimation = endAnimation : endAnimation()\r\n },\r\n dispose: function() {\r\n this.stop();\r\n this.element = null\r\n },\r\n stop: function() {\r\n this._animations = {};\r\n this._animationCount = 0;\r\n cancelAnimationFrame(this._timerId);\r\n clearTimeout(this._startDelay);\r\n clearTimeout(this._endAnimationTimer);\r\n this._timerId = null\r\n },\r\n lock: function() {\r\n var an;\r\n var animations = this._animations;\r\n var unstoppable;\r\n var hasUnstoppableInAnimations;\r\n for (an in animations) {\r\n unstoppable = animations[an].options.unstoppable;\r\n hasUnstoppableInAnimations = hasUnstoppableInAnimations || unstoppable;\r\n if (!unstoppable) {\r\n animations[an].stop(true);\r\n delete animations[an]\r\n }\r\n }!hasUnstoppableInAnimations && this.stop()\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/renderers/renderer.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport {\r\n getWindow\r\n} from \"../../../core/utils/window\";\r\nimport callOnce from \"../../../core/utils/call_once\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n getSvgMarkup\r\n} from \"../../../core/utils/svg\";\r\nimport {\r\n AnimationController\r\n} from \"./animation\";\r\nimport {\r\n normalizeBBox,\r\n rotateBBox,\r\n normalizeEnum,\r\n normalizeArcParams,\r\n getNextDefsSvgId\r\n} from \"../utils\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nvar window = getWindow();\r\nvar {\r\n max: max,\r\n round: round\r\n} = Math;\r\nvar SHARPING_CORRECTION = .5;\r\nvar ARC_COORD_PREC = 5;\r\nvar LIGHTENING_HASH = \"@filter::lightening\";\r\nvar pxAddingExceptions = {\r\n \"column-count\": true,\r\n \"fill-opacity\": true,\r\n \"flex-grow\": true,\r\n \"flex-shrink\": true,\r\n \"font-weight\": true,\r\n \"line-height\": true,\r\n opacity: true,\r\n order: true,\r\n orphans: true,\r\n widows: true,\r\n \"z-index\": true,\r\n zoom: true\r\n};\r\nvar KEY_TEXT = \"text\";\r\nvar KEY_STROKE = \"stroke\";\r\nvar KEY_STROKE_WIDTH = \"stroke-width\";\r\nvar KEY_STROKE_OPACITY = \"stroke-opacity\";\r\nvar KEY_FONT_SIZE = \"font-size\";\r\nvar KEY_FONT_STYLE = \"font-style\";\r\nvar KEY_FONT_WEIGHT = \"font-weight\";\r\nvar KEY_TEXT_DECORATION = \"text-decoration\";\r\nvar KEY_TEXTS_ALIGNMENT = \"textsAlignment\";\r\nvar NONE = \"none\";\r\nvar DEFAULT_FONT_SIZE = 12;\r\nvar ELLIPSIS = \"...\";\r\nvar objectCreate = function() {\r\n if (!Object.create) {\r\n return function(proto) {\r\n var F = function() {};\r\n F.prototype = proto;\r\n return new F\r\n }\r\n } else {\r\n return function(proto) {\r\n return Object.create(proto)\r\n }\r\n }\r\n}();\r\nvar DEFAULTS = {\r\n scaleX: 1,\r\n scaleY: 1,\r\n \"pointer-events\": null\r\n};\r\nvar getBackup = callOnce((function() {\r\n var backupContainer = domAdapter.createElement(\"div\");\r\n backupContainer.style.left = \"-9999px\";\r\n backupContainer.style.position = \"absolute\";\r\n return {\r\n backupContainer: backupContainer,\r\n backupCounter: 0\r\n }\r\n}));\r\n\r\nfunction backupRoot(root) {\r\n if (0 === getBackup().backupCounter) {\r\n domAdapter.getBody().appendChild(getBackup().backupContainer)\r\n }++getBackup().backupCounter;\r\n root.append({\r\n element: getBackup().backupContainer\r\n })\r\n}\r\n\r\nfunction restoreRoot(root, container) {\r\n root.append({\r\n element: container\r\n });\r\n --getBackup().backupCounter;\r\n if (0 === getBackup().backupCounter) {\r\n domAdapter.getBody().removeChild(getBackup().backupContainer)\r\n }\r\n}\r\n\r\nfunction isObjectArgument(value) {\r\n return value && \"string\" !== typeof value\r\n}\r\n\r\nfunction createElement(tagName) {\r\n return domAdapter.createElementNS(\"http://www.w3.org/2000/svg\", tagName)\r\n}\r\nexport function getFuncIri(id, pathModified) {\r\n return null !== id ? \"url(\" + (pathModified ? window.location.href.split(\"#\")[0] : \"\") + \"#\" + id + \")\" : id\r\n}\r\n\r\nfunction extend(target, source) {\r\n var key;\r\n for (key in source) {\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\nvar preserveAspectRatioMap = {\r\n full: NONE,\r\n lefttop: \"xMinYMin\",\r\n leftcenter: \"xMinYMid\",\r\n leftbottom: \"xMinYMax\",\r\n centertop: \"xMidYMin\",\r\n center: \"xMidYMid\",\r\n centerbottom: \"xMidYMax\",\r\n righttop: \"xMaxYMin\",\r\n rightcenter: \"xMaxYMid\",\r\n rightbottom: \"xMaxYMax\"\r\n};\r\nexport function processHatchingAttrs(element, attrs) {\r\n if (attrs.hatching && \"none\" !== normalizeEnum(attrs.hatching.direction)) {\r\n attrs = extend({}, attrs);\r\n attrs.fill = element._hatching = element.renderer.lockDefsElements({\r\n color: attrs.fill,\r\n hatching: attrs.hatching\r\n }, element._hatching, \"pattern\");\r\n delete attrs.filter\r\n } else if (element._hatching) {\r\n element.renderer.releaseDefsElements(element._hatching);\r\n element._hatching = null;\r\n delete attrs.filter\r\n } else if (attrs.filter) {\r\n attrs = extend({}, attrs);\r\n attrs.filter = element._filter = element.renderer.lockDefsElements({}, element._filter, \"filter\")\r\n } else if (element._filter) {\r\n element.renderer.releaseDefsElements(element._filter);\r\n element._filter = null\r\n }\r\n delete attrs.hatching;\r\n return attrs\r\n}\r\nvar buildArcPath = function(x, y, innerR, outerR, startAngleCos, startAngleSin, endAngleCos, endAngleSin, isCircle, longFlag) {\r\n return [\"M\", (x + outerR * startAngleCos).toFixed(ARC_COORD_PREC), (y - outerR * startAngleSin).toFixed(ARC_COORD_PREC), \"A\", outerR.toFixed(ARC_COORD_PREC), outerR.toFixed(ARC_COORD_PREC), 0, longFlag, 0, (x + outerR * endAngleCos).toFixed(ARC_COORD_PREC), (y - outerR * endAngleSin).toFixed(ARC_COORD_PREC), isCircle ? \"M\" : \"L\", (x + innerR * endAngleCos).toFixed(5), (y - innerR * endAngleSin).toFixed(ARC_COORD_PREC), \"A\", innerR.toFixed(ARC_COORD_PREC), innerR.toFixed(ARC_COORD_PREC), 0, longFlag, 1, (x + innerR * startAngleCos).toFixed(ARC_COORD_PREC), (y - innerR * startAngleSin).toFixed(ARC_COORD_PREC), \"Z\"].join(\" \")\r\n};\r\n\r\nfunction buildPathSegments(points, type) {\r\n var list = [\r\n [\"M\", 0, 0]\r\n ];\r\n switch (type) {\r\n case \"line\":\r\n list = buildLineSegments(points);\r\n break;\r\n case \"area\":\r\n list = buildLineSegments(points, true);\r\n break;\r\n case \"bezier\":\r\n list = buildCurveSegments(points);\r\n break;\r\n case \"bezierarea\":\r\n list = buildCurveSegments(points, true)\r\n }\r\n return list\r\n}\r\n\r\nfunction buildLineSegments(points, close) {\r\n return buildSegments(points, buildSimpleLineSegment, close)\r\n}\r\n\r\nfunction buildCurveSegments(points, close) {\r\n return buildSegments(points, buildSimpleCurveSegment, close)\r\n}\r\n\r\nfunction buildSegments(points, buildSimpleSegment, close) {\r\n var _points$;\r\n var i;\r\n var ii;\r\n var list = [];\r\n if (null !== (_points$ = points[0]) && void 0 !== _points$ && _points$.length) {\r\n for (i = 0, ii = points.length; i < ii; ++i) {\r\n buildSimpleSegment(points[i], close, list)\r\n }\r\n } else {\r\n buildSimpleSegment(points, close, list)\r\n }\r\n return list\r\n}\r\n\r\nfunction buildSimpleLineSegment(points, close, list) {\r\n var i = 0;\r\n var k0 = list.length;\r\n var k = k0;\r\n var ii = (points || []).length;\r\n if (ii) {\r\n if (void 0 !== points[0].x) {\r\n for (; i < ii;) {\r\n list[k++] = [\"L\", points[i].x, points[i++].y]\r\n }\r\n } else {\r\n for (; i < ii;) {\r\n list[k++] = [\"L\", points[i++], points[i++]]\r\n }\r\n }\r\n list[k0][0] = \"M\"\r\n } else {\r\n list[k] = [\"M\", 0, 0]\r\n }\r\n close && list.push([\"Z\"]);\r\n return list\r\n}\r\n\r\nfunction buildSimpleCurveSegment(points, close, list) {\r\n var i;\r\n var k = list.length;\r\n var ii = (points || []).length;\r\n if (ii) {\r\n if (void 0 !== points[0].x) {\r\n list[k++] = [\"M\", points[0].x, points[0].y];\r\n for (i = 1; i < ii;) {\r\n list[k++] = [\"C\", points[i].x, points[i++].y, points[i].x, points[i++].y, points[i].x, points[i++].y]\r\n }\r\n } else {\r\n list[k++] = [\"M\", points[0], points[1]];\r\n for (i = 2; i < ii;) {\r\n list[k++] = [\"C\", points[i++], points[i++], points[i++], points[i++], points[i++], points[i++]]\r\n }\r\n }\r\n } else {\r\n list[k] = [\"M\", 0, 0]\r\n }\r\n close && list.push([\"Z\"]);\r\n return list\r\n}\r\n\r\nfunction combinePathParam(segments) {\r\n var d = [];\r\n var k = 0;\r\n var i;\r\n var ii = segments.length;\r\n var segment;\r\n var j;\r\n var jj;\r\n for (i = 0; i < ii; ++i) {\r\n segment = segments[i];\r\n for (j = 0, jj = segment.length; j < jj; ++j) {\r\n d[k++] = segment[j]\r\n }\r\n }\r\n return d.join(\" \")\r\n}\r\n\r\nfunction compensateSegments(oldSegments, newSegments, type) {\r\n var oldLength = oldSegments.length;\r\n var newLength = newSegments.length;\r\n var i;\r\n var originalNewSegments;\r\n var makeEqualSegments = -1 !== type.indexOf(\"area\") ? makeEqualAreaSegments : makeEqualLineSegments;\r\n if (0 === oldLength) {\r\n for (i = 0; i < newLength; i++) {\r\n oldSegments.push(newSegments[i].slice(0))\r\n }\r\n } else if (oldLength < newLength) {\r\n makeEqualSegments(oldSegments, newSegments, type)\r\n } else if (oldLength > newLength) {\r\n originalNewSegments = newSegments.slice(0);\r\n makeEqualSegments(newSegments, oldSegments, type)\r\n }\r\n return originalNewSegments\r\n}\r\n\r\nfunction prepareConstSegment(constSeg, type) {\r\n var x = constSeg[constSeg.length - 2];\r\n var y = constSeg[constSeg.length - 1];\r\n switch (type) {\r\n case \"line\":\r\n case \"area\":\r\n constSeg[0] = \"L\";\r\n break;\r\n case \"bezier\":\r\n case \"bezierarea\":\r\n constSeg[0] = \"C\";\r\n constSeg[1] = constSeg[3] = constSeg[5] = x;\r\n constSeg[2] = constSeg[4] = constSeg[6] = y\r\n }\r\n}\r\n\r\nfunction makeEqualLineSegments(short, long, type) {\r\n var constSeg = short[short.length - 1].slice();\r\n var i = short.length;\r\n prepareConstSegment(constSeg, type);\r\n for (; i < long.length; i++) {\r\n short[i] = constSeg.slice(0)\r\n }\r\n}\r\n\r\nfunction makeEqualAreaSegments(short, long, type) {\r\n var i;\r\n var head;\r\n var shortLength = short.length;\r\n var longLength = long.length;\r\n var constsSeg1;\r\n var constsSeg2;\r\n if ((shortLength - 1) % 2 === 0 && (longLength - 1) % 2 === 0) {\r\n i = (shortLength - 1) / 2 - 1;\r\n head = short.slice(0, i + 1);\r\n constsSeg1 = head[head.length - 1].slice(0);\r\n constsSeg2 = short.slice(i + 1)[0].slice(0);\r\n prepareConstSegment(constsSeg1, type);\r\n prepareConstSegment(constsSeg2, type);\r\n for (var j = i; j < (longLength - 1) / 2 - 1; j++) {\r\n short.splice(j + 1, 0, constsSeg1);\r\n short.splice(j + 3, 0, constsSeg2)\r\n }\r\n }\r\n}\r\n\r\nfunction baseCss(that, styles) {\r\n var elemStyles = that._styles;\r\n var key;\r\n var value;\r\n styles = styles || {};\r\n for (key in styles) {\r\n value = styles[key];\r\n if (isDefined(value)) {\r\n value += \"number\" === typeof value && !pxAddingExceptions[key] ? \"px\" : \"\";\r\n elemStyles[key] = \"\" !== value ? value : null\r\n }\r\n }\r\n for (key in elemStyles) {\r\n value = elemStyles[key];\r\n if (value) {\r\n that.element.style[key] = value\r\n } else if (null === value) {\r\n that.element.style[key] = \"\"\r\n }\r\n }\r\n return that\r\n}\r\n\r\nfunction fixFuncIri(wrapper, attribute) {\r\n var element = wrapper.element;\r\n var id = wrapper.attr(attribute);\r\n if (id && -1 !== id.indexOf(\"DevExpress\")) {\r\n element.removeAttribute(attribute);\r\n element.setAttribute(attribute, getFuncIri(id, wrapper.renderer.pathModified))\r\n }\r\n}\r\n\r\nfunction baseAttr(that, attrs) {\r\n attrs = attrs || {};\r\n var settings = that._settings;\r\n var attributes = {};\r\n var key;\r\n var value;\r\n var elem = that.element;\r\n var renderer = that.renderer;\r\n var rtl = renderer.rtl;\r\n var hasTransformations;\r\n var recalculateDashStyle;\r\n var sw;\r\n var i;\r\n if (!isObjectArgument(attrs)) {\r\n if (attrs in settings) {\r\n return settings[attrs]\r\n }\r\n if (attrs in DEFAULTS) {\r\n return DEFAULTS[attrs]\r\n }\r\n return 0\r\n }\r\n extend(attributes, attrs);\r\n for (key in attributes) {\r\n value = attributes[key];\r\n if (void 0 === value) {\r\n continue\r\n }\r\n settings[key] = value;\r\n if (\"align\" === key) {\r\n key = \"text-anchor\";\r\n value = {\r\n left: rtl ? \"end\" : \"start\",\r\n center: \"middle\",\r\n right: rtl ? \"start\" : \"end\"\r\n } [value] || null\r\n } else if (\"dashStyle\" === key) {\r\n recalculateDashStyle = true;\r\n continue\r\n } else if (key === KEY_STROKE_WIDTH) {\r\n recalculateDashStyle = true\r\n } else if (value && (\"fill\" === key || \"clip-path\" === key || \"filter\" === key) && 0 === value.indexOf(\"DevExpress\")) {\r\n that._addFixIRICallback();\r\n value = getFuncIri(value, renderer.pathModified)\r\n } else if (/^(translate(X|Y)|rotate[XY]?|scale(X|Y)|sharp|sharpDirection)$/i.test(key)) {\r\n hasTransformations = true;\r\n continue\r\n } else if (/^(x|y|d)$/i.test(key)) {\r\n hasTransformations = true\r\n }\r\n if (null === value) {\r\n elem.removeAttribute(key)\r\n } else {\r\n elem.setAttribute(key, value)\r\n }\r\n }\r\n if (recalculateDashStyle && \"dashStyle\" in settings) {\r\n value = settings.dashStyle;\r\n sw = (\"_originalSW\" in that ? that._originalSW : settings[KEY_STROKE_WIDTH]) || 1;\r\n key = \"stroke-dasharray\";\r\n value = null === value ? \"\" : normalizeEnum(value);\r\n if (\"\" === value || \"solid\" === value || value === NONE) {\r\n that.element.removeAttribute(key)\r\n } else {\r\n value = value.replace(/longdash/g, \"8,3,\").replace(/dash/g, \"4,3,\").replace(/dot/g, \"1,3,\").replace(/,$/, \"\").split(\",\");\r\n i = value.length;\r\n while (i--) {\r\n value[i] = parseInt(value[i]) * sw\r\n }\r\n that.element.setAttribute(key, value.join(\",\"))\r\n }\r\n }\r\n if (hasTransformations) {\r\n that._applyTransformation()\r\n }\r\n return that\r\n}\r\n\r\nfunction pathAttr(attrs) {\r\n var segments;\r\n if (isObjectArgument(attrs)) {\r\n attrs = extend({}, attrs);\r\n segments = attrs.segments;\r\n if (\"points\" in attrs) {\r\n segments = buildPathSegments(attrs.points, this.type);\r\n delete attrs.points\r\n }\r\n if (segments) {\r\n attrs.d = combinePathParam(segments);\r\n this.segments = segments;\r\n delete attrs.segments\r\n }\r\n }\r\n return baseAttr(this, attrs)\r\n}\r\n\r\nfunction arcAttr(attrs) {\r\n var settings = this._settings;\r\n var x;\r\n var y;\r\n var innerRadius;\r\n var outerRadius;\r\n var startAngle;\r\n var endAngle;\r\n if (isObjectArgument(attrs)) {\r\n attrs = extend({}, attrs);\r\n if (\"x\" in attrs || \"y\" in attrs || \"innerRadius\" in attrs || \"outerRadius\" in attrs || \"startAngle\" in attrs || \"endAngle\" in attrs) {\r\n settings.x = x = \"x\" in attrs ? attrs.x : settings.x;\r\n delete attrs.x;\r\n settings.y = y = \"y\" in attrs ? attrs.y : settings.y;\r\n delete attrs.y;\r\n settings.innerRadius = innerRadius = \"innerRadius\" in attrs ? attrs.innerRadius : settings.innerRadius;\r\n delete attrs.innerRadius;\r\n settings.outerRadius = outerRadius = \"outerRadius\" in attrs ? attrs.outerRadius : settings.outerRadius;\r\n delete attrs.outerRadius;\r\n settings.startAngle = startAngle = \"startAngle\" in attrs ? attrs.startAngle : settings.startAngle;\r\n delete attrs.startAngle;\r\n settings.endAngle = endAngle = \"endAngle\" in attrs ? attrs.endAngle : settings.endAngle;\r\n delete attrs.endAngle;\r\n attrs.d = buildArcPath.apply(null, normalizeArcParams(x, y, innerRadius, outerRadius, startAngle, endAngle))\r\n }\r\n }\r\n return baseAttr(this, attrs)\r\n}\r\n\r\nfunction rectAttr(attrs) {\r\n var x;\r\n var y;\r\n var width;\r\n var height;\r\n var sw;\r\n var maxSW;\r\n var newSW;\r\n if (isObjectArgument(attrs)) {\r\n attrs = extend({}, attrs);\r\n if (void 0 !== attrs.x || void 0 !== attrs.y || void 0 !== attrs.width || void 0 !== attrs.height || void 0 !== attrs[KEY_STROKE_WIDTH]) {\r\n void 0 !== attrs.x ? x = this._originalX = attrs.x : x = this._originalX || 0;\r\n void 0 !== attrs.y ? y = this._originalY = attrs.y : y = this._originalY || 0;\r\n void 0 !== attrs.width ? width = this._originalWidth = attrs.width : width = this._originalWidth || 0;\r\n void 0 !== attrs.height ? height = this._originalHeight = attrs.height : height = this._originalHeight || 0;\r\n void 0 !== attrs[KEY_STROKE_WIDTH] ? sw = this._originalSW = attrs[KEY_STROKE_WIDTH] : sw = this._originalSW;\r\n maxSW = ~~((width < height ? width : height) / 2);\r\n newSW = (sw || 0) < maxSW ? sw || 0 : maxSW;\r\n attrs.x = x + newSW / 2;\r\n attrs.y = y + newSW / 2;\r\n attrs.width = width - newSW;\r\n attrs.height = height - newSW;\r\n ((sw || 0) !== newSW || !(0 === newSW && void 0 === sw)) && (attrs[KEY_STROKE_WIDTH] = newSW)\r\n }\r\n if (\"sharp\" in attrs) {\r\n delete attrs.sharp\r\n }\r\n }\r\n return baseAttr(this, attrs)\r\n}\r\n\r\nfunction textAttr(attrs) {\r\n var isResetRequired;\r\n if (!isObjectArgument(attrs)) {\r\n return baseAttr(this, attrs)\r\n }\r\n attrs = extend({}, attrs);\r\n var settings = this._settings;\r\n var wasStroked = isDefined(settings[KEY_STROKE]) && isDefined(settings[KEY_STROKE_WIDTH]);\r\n if (void 0 !== attrs[KEY_TEXT]) {\r\n settings[KEY_TEXT] = attrs[KEY_TEXT];\r\n delete attrs[KEY_TEXT];\r\n isResetRequired = true\r\n }\r\n if (void 0 !== attrs[KEY_STROKE]) {\r\n settings[KEY_STROKE] = attrs[KEY_STROKE];\r\n delete attrs[KEY_STROKE]\r\n }\r\n if (void 0 !== attrs[KEY_STROKE_WIDTH]) {\r\n settings[KEY_STROKE_WIDTH] = attrs[KEY_STROKE_WIDTH];\r\n delete attrs[KEY_STROKE_WIDTH]\r\n }\r\n if (void 0 !== attrs[KEY_STROKE_OPACITY]) {\r\n settings[KEY_STROKE_OPACITY] = attrs[KEY_STROKE_OPACITY];\r\n delete attrs[KEY_STROKE_OPACITY]\r\n }\r\n if (void 0 !== attrs[KEY_TEXTS_ALIGNMENT]) {\r\n alignTextNodes(this, attrs[KEY_TEXTS_ALIGNMENT]);\r\n delete attrs[KEY_TEXTS_ALIGNMENT]\r\n }\r\n var isStroked = isDefined(settings[KEY_STROKE]) && isDefined(settings[KEY_STROKE_WIDTH]);\r\n baseAttr(this, attrs);\r\n isResetRequired = isResetRequired || isStroked !== wasStroked && settings[KEY_TEXT];\r\n if (isResetRequired) {\r\n createTextNodes(this, settings.text, isStroked);\r\n this._hasEllipsis = false\r\n }\r\n if (isResetRequired || void 0 !== attrs.x || void 0 !== attrs.y) {\r\n locateTextNodes(this)\r\n }\r\n if (isStroked) {\r\n strokeTextNodes(this)\r\n }\r\n return this\r\n}\r\n\r\nfunction textCss(styles) {\r\n styles = styles || {};\r\n baseCss(this, styles);\r\n if (KEY_FONT_SIZE in styles) {\r\n locateTextNodes(this)\r\n }\r\n return this\r\n}\r\n\r\nfunction orderHtmlTree(list, line, node, parentStyle, parentClassName) {\r\n var style;\r\n var realStyle;\r\n var i;\r\n var ii;\r\n var nodes;\r\n if (void 0 !== node.wholeText) {\r\n list.push({\r\n value: node.wholeText,\r\n style: parentStyle,\r\n className: parentClassName,\r\n line: line,\r\n height: parentStyle[KEY_FONT_SIZE] || 0\r\n })\r\n } else if (\"BR\" === node.tagName) {\r\n ++line\r\n } else if (domAdapter.isElementNode(node)) {\r\n extend(style = {}, parentStyle);\r\n switch (node.tagName) {\r\n case \"B\":\r\n case \"STRONG\":\r\n style[KEY_FONT_WEIGHT] = \"bold\";\r\n break;\r\n case \"I\":\r\n case \"EM\":\r\n style[KEY_FONT_STYLE] = \"italic\";\r\n break;\r\n case \"U\":\r\n style[KEY_TEXT_DECORATION] = \"underline\"\r\n }\r\n realStyle = node.style;\r\n realStyle.color && (style.fill = realStyle.color);\r\n realStyle.fontSize && (style[KEY_FONT_SIZE] = realStyle.fontSize);\r\n realStyle.fontStyle && (style[KEY_FONT_STYLE] = realStyle.fontStyle);\r\n realStyle.fontWeight && (style[KEY_FONT_WEIGHT] = realStyle.fontWeight);\r\n realStyle.textDecoration && (style[KEY_TEXT_DECORATION] = realStyle.textDecoration);\r\n for (i = 0, nodes = node.childNodes, ii = nodes.length; i < ii; ++i) {\r\n line = orderHtmlTree(list, line, nodes[i], style, node.className || parentClassName)\r\n }\r\n }\r\n return line\r\n}\r\n\r\nfunction adjustLineHeights(items) {\r\n var i;\r\n var ii;\r\n var currentItem = items[0];\r\n var item;\r\n for (i = 1, ii = items.length; i < ii; ++i) {\r\n item = items[i];\r\n if (item.line === currentItem.line) {\r\n currentItem.height = maxLengthFontSize(currentItem.height, item.height);\r\n currentItem.inherits = currentItem.inherits || 0 === parseFloat(item.height);\r\n item.height = NaN\r\n } else {\r\n currentItem = item\r\n }\r\n }\r\n}\r\n\r\nfunction removeExtraAttrs(html) {\r\n var findStyleAndClassAttrs = /(style|class)\\s*=\\s*([\"'])(?:(?!\\2).)*\\2\\s?/gi;\r\n return html.replace(/(?:(<[a-z0-9]+\\s*))([\\s\\S]*?)(>|\\/>)/gi, (function(allTagAttrs, p1, p2, p3) {\r\n p2 = (p2 && p2.match(findStyleAndClassAttrs) || []).map((function(str) {\r\n return str\r\n })).join(\" \");\r\n return p1 + p2 + p3\r\n }))\r\n}\r\n\r\nfunction parseHTML(text) {\r\n var items = [];\r\n var div = domAdapter.createElement(\"div\");\r\n div.innerHTML = text.replace(/\\r/g, \"\").replace(/\\n/g, \"<br/>\").replace(/style=/g, \"data-style=\");\r\n div.querySelectorAll(\"[data-style]\").forEach(element => {\r\n element.style = element.getAttribute(\"data-style\");\r\n element.removeAttribute(\"data-style\")\r\n });\r\n orderHtmlTree(items, 0, div, {}, \"\");\r\n adjustLineHeights(items);\r\n return items\r\n}\r\n\r\nfunction parseMultiline(text) {\r\n var texts = text.replace(/\\r/g, \"\").split(/\\n/g);\r\n var i = 0;\r\n var items = [];\r\n for (; i < texts.length; i++) {\r\n items.push({\r\n value: texts[i].trim(),\r\n height: 0,\r\n line: i\r\n })\r\n }\r\n return items\r\n}\r\n\r\nfunction createTspans(items, element, fieldName) {\r\n var i;\r\n var ii;\r\n var item;\r\n for (i = 0, ii = items.length; i < ii; ++i) {\r\n item = items[i];\r\n item[fieldName] = createElement(\"tspan\");\r\n item[fieldName].appendChild(domAdapter.createTextNode(item.value));\r\n item.style && baseCss({\r\n element: item[fieldName],\r\n _styles: {}\r\n }, item.style);\r\n item.className && item[fieldName].setAttribute(\"class\", item.className);\r\n element.appendChild(item[fieldName])\r\n }\r\n}\r\n\r\nfunction restoreText() {\r\n if (this._hasEllipsis) {\r\n this.attr({\r\n text: this._settings.text\r\n })\r\n }\r\n}\r\n\r\nfunction applyEllipsis(maxWidth) {\r\n var lines;\r\n var hasEllipsis = false;\r\n var i;\r\n var ii;\r\n var lineParts;\r\n var j;\r\n var jj;\r\n var text;\r\n restoreText.call(this);\r\n var ellipsis = this.renderer.text(ELLIPSIS).attr(this._styles).append(this.renderer.root);\r\n var ellipsisWidth = ellipsis.getBBox().width;\r\n if (this._getElementBBox().width > maxWidth) {\r\n if (maxWidth - ellipsisWidth < 0) {\r\n maxWidth = 0\r\n } else {\r\n maxWidth -= ellipsisWidth\r\n }\r\n lines = prepareLines(this.element, this._texts, maxWidth);\r\n for (i = 0, ii = lines.length; i < ii; ++i) {\r\n lineParts = lines[i].parts;\r\n if (1 === lines[i].commonLength) {\r\n continue\r\n }\r\n for (j = 0, jj = lineParts.length; j < jj; ++j) {\r\n text = lineParts[j];\r\n if (isDefined(text.endIndex)) {\r\n setNewText(text, text.endIndex);\r\n hasEllipsis = true\r\n } else if (text.startBox > maxWidth) {\r\n removeTextSpan(text)\r\n }\r\n }\r\n }\r\n }\r\n ellipsis.remove();\r\n this._hasEllipsis = hasEllipsis;\r\n return hasEllipsis\r\n}\r\n\r\nfunction cloneAndRemoveAttrs(node) {\r\n var clone;\r\n if (node) {\r\n clone = node.cloneNode();\r\n clone.removeAttribute(\"y\");\r\n clone.removeAttribute(\"x\")\r\n }\r\n return clone || node\r\n}\r\n\r\nfunction detachTitleElements(element) {\r\n var titleElements = domAdapter.querySelectorAll(element, \"title\");\r\n for (var i = 0; i < titleElements.length; i++) {\r\n element.removeChild(titleElements[i])\r\n }\r\n return titleElements\r\n}\r\n\r\nfunction detachAndStoreTitleElements(element) {\r\n var titleElements = detachTitleElements(element);\r\n return () => {\r\n for (var i = 0; i < titleElements.length; i++) {\r\n element.appendChild(titleElements[i])\r\n }\r\n }\r\n}\r\n\r\nfunction setMaxSize(maxWidth, maxHeight) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var that = this;\r\n var lines = [];\r\n var textChanged = false;\r\n var textIsEmpty = false;\r\n var ellipsisMaxWidth = maxWidth;\r\n restoreText.call(that);\r\n var restoreTitleElement = detachAndStoreTitleElements(this.element);\r\n var ellipsis = that.renderer.text(ELLIPSIS).attr(that._styles).append(that.renderer.root);\r\n var ellipsisWidth = ellipsis.getBBox().width;\r\n var {\r\n width: width,\r\n height: height\r\n } = that._getElementBBox();\r\n if ((width || height) && (width > maxWidth || maxHeight && height > maxHeight)) {\r\n if (maxWidth - ellipsisWidth < 0) {\r\n ellipsisMaxWidth = 0\r\n } else {\r\n ellipsisMaxWidth -= ellipsisWidth\r\n }\r\n lines = applyOverflowRules(that.element, that._texts, maxWidth, ellipsisMaxWidth, options);\r\n lines = setMaxHeight(lines, ellipsisMaxWidth, options, maxHeight, parseFloat(this._getLineHeight()));\r\n this._texts = lines.reduce((texts, line) => texts.concat(line.parts), []).filter(t => \"\" !== t.value).map(t => {\r\n t.stroke && t.tspan.parentNode.appendChild(t.stroke);\r\n return t\r\n }).map(t => {\r\n t.tspan.parentNode.appendChild(t.tspan);\r\n return t\r\n });\r\n !this._texts.length && (this._texts = null);\r\n textChanged = true;\r\n if (this._texts) {\r\n locateTextNodes(this)\r\n } else {\r\n this.element.textContent = \"\";\r\n textIsEmpty = true\r\n }\r\n }\r\n ellipsis.remove();\r\n that._hasEllipsis = textChanged;\r\n restoreTitleElement();\r\n return {\r\n rowCount: lines.length,\r\n textChanged: textChanged,\r\n textIsEmpty: textIsEmpty\r\n }\r\n}\r\n\r\nfunction getIndexForEllipsis(text, maxWidth, startBox, endBox) {\r\n var k;\r\n var kk;\r\n if (startBox <= maxWidth && endBox > maxWidth) {\r\n for (k = 1, kk = text.value.length; k <= kk; ++k) {\r\n if (startBox + text.tspan.getSubStringLength(0, k) > maxWidth) {\r\n return k - 1\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction getTextWidth(text) {\r\n return text.value.length ? text.tspan.getSubStringLength(0, text.value.length) : 0\r\n}\r\n\r\nfunction prepareLines(element, texts, maxWidth) {\r\n var lines = [];\r\n var i;\r\n var ii;\r\n var text;\r\n var startBox;\r\n var endBox;\r\n if (texts) {\r\n for (i = 0, ii = texts.length; i < ii; ++i) {\r\n text = texts[i];\r\n if (!lines[text.line]) {\r\n text.startBox = startBox = 0;\r\n lines.push({\r\n commonLength: text.value.length,\r\n parts: [text]\r\n })\r\n } else {\r\n text.startBox = startBox;\r\n lines[text.line].parts.push(text);\r\n lines[text.line].commonLength += text.value.length\r\n }\r\n endBox = startBox + text.tspan.getSubStringLength(0, text.value.length);\r\n text.endIndex = getIndexForEllipsis(text, maxWidth, startBox, endBox);\r\n startBox = endBox\r\n }\r\n } else {\r\n text = {\r\n value: element.textContent,\r\n tspan: element\r\n };\r\n text.startBox = startBox = 0;\r\n endBox = startBox + getTextWidth(text);\r\n text.endIndex = getIndexForEllipsis(text, maxWidth, startBox, endBox);\r\n lines = [{\r\n commonLength: element.textContent.length,\r\n parts: [text]\r\n }]\r\n }\r\n return lines\r\n}\r\n\r\nfunction getSpaceBreakIndex(text, maxWidth) {\r\n var initialIndices = text.startBox > 0 ? [0] : [];\r\n var spaceIndices = text.value.split(\"\").reduce((indices, char, index) => {\r\n if (\" \" === char) {\r\n indices.push(index)\r\n }\r\n return indices\r\n }, initialIndices);\r\n var spaceIndex = 0;\r\n while (void 0 !== spaceIndices[spaceIndex + 1] && text.startBox + text.tspan.getSubStringLength(0, spaceIndices[spaceIndex + 1]) < maxWidth) {\r\n spaceIndex++\r\n }\r\n return spaceIndices[spaceIndex]\r\n}\r\n\r\nfunction getWordBreakIndex(text, maxWidth) {\r\n for (var i = 0; i < text.value.length - 1; i++) {\r\n if (text.startBox + text.tspan.getSubStringLength(0, i + 1) > maxWidth) {\r\n return i\r\n }\r\n }\r\n}\r\n\r\nfunction getEllipsisString(ellipsisMaxWidth, _ref) {\r\n var {\r\n hideOverflowEllipsis: hideOverflowEllipsis\r\n } = _ref;\r\n return hideOverflowEllipsis && 0 === ellipsisMaxWidth ? \"\" : ELLIPSIS\r\n}\r\n\r\nfunction setEllipsis(text, ellipsisMaxWidth, options) {\r\n var ellipsis = getEllipsisString(ellipsisMaxWidth, options);\r\n if (text.value.length && text.tspan.parentNode) {\r\n for (var i = text.value.length - 1; i >= 1; i--) {\r\n if (text.startBox + text.tspan.getSubStringLength(0, i) < ellipsisMaxWidth) {\r\n setNewText(text, i, ellipsis);\r\n break\r\n } else if (1 === i) {\r\n setNewText(text, 0, ellipsis)\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction wordWrap(text, maxWidth, ellipsisMaxWidth, options, lastStepBreakIndex) {\r\n var wholeText = text.value;\r\n var breakIndex;\r\n if (\"none\" !== options.wordWrap) {\r\n breakIndex = \"normal\" === options.wordWrap ? getSpaceBreakIndex(text, maxWidth) : getWordBreakIndex(text, maxWidth)\r\n }\r\n var restLines = [];\r\n var restText;\r\n if (isFinite(breakIndex) && !(0 === lastStepBreakIndex && 0 === breakIndex)) {\r\n setNewText(text, breakIndex, \"\");\r\n var newTextOffset = \" \" === wholeText[breakIndex] ? 1 : 0;\r\n var restString = wholeText.slice(breakIndex + newTextOffset);\r\n if (restString.length) {\r\n var restTspan = cloneAndRemoveAttrs(text.tspan);\r\n restTspan.textContent = restString;\r\n text.tspan.parentNode.appendChild(restTspan);\r\n restText = extend(extend({}, text), {\r\n value: restString,\r\n startBox: 0,\r\n height: 0,\r\n tspan: restTspan,\r\n stroke: cloneAndRemoveAttrs(text.stroke),\r\n endBox: restTspan.getSubStringLength(0, restString.length)\r\n });\r\n restText.stroke && (restText.stroke.textContent = restString);\r\n if (restText.endBox > maxWidth) {\r\n restLines = wordWrap(restText, maxWidth, ellipsisMaxWidth, options, breakIndex);\r\n if (!restLines.length) {\r\n return []\r\n }\r\n }\r\n }\r\n }\r\n if (text.value.length) {\r\n if (\"ellipsis\" === options.textOverflow && text.tspan.getSubStringLength(0, text.value.length) > maxWidth) {\r\n setEllipsis(text, ellipsisMaxWidth, options)\r\n }\r\n if (\"hide\" === options.textOverflow && text.tspan.getSubStringLength(0, text.value.length) > maxWidth) {\r\n return []\r\n }\r\n } else {\r\n text.tspan.parentNode.removeChild(text.tspan)\r\n }\r\n var parts = [];\r\n if (restText) {\r\n parts.push(restText)\r\n }\r\n return [{\r\n commonLength: wholeText.length,\r\n parts: parts\r\n }].concat(restLines)\r\n}\r\n\r\nfunction calculateLineHeight(line, lineHeight) {\r\n return line.parts.reduce((height, text) => max(height, getItemLineHeight(text, lineHeight)), 0)\r\n}\r\n\r\nfunction setMaxHeight(lines, ellipsisMaxWidth, options, maxHeight, lineHeight) {\r\n var textOverflow = options.textOverflow;\r\n if (!isFinite(maxHeight) || 0 === Number(maxHeight) || \"none\" === textOverflow) {\r\n return lines\r\n }\r\n var result = lines.reduce((_ref2, l, index, arr) => {\r\n var [lines, commonHeight] = _ref2;\r\n var height = calculateLineHeight(l, lineHeight);\r\n commonHeight += height;\r\n if (commonHeight < maxHeight) {\r\n lines.push(l)\r\n } else {\r\n l.parts.forEach(item => {\r\n removeTextSpan(item)\r\n });\r\n if (\"ellipsis\" === textOverflow) {\r\n var prevLine = arr[index - 1];\r\n if (prevLine) {\r\n var text = prevLine.parts[prevLine.parts.length - 1];\r\n if (!text.hasEllipsis) {\r\n if (0 === ellipsisMaxWidth || text.endBox < ellipsisMaxWidth) {\r\n setNewText(text, text.value.length, getEllipsisString(ellipsisMaxWidth, options))\r\n } else {\r\n setEllipsis(text, ellipsisMaxWidth, options)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return [lines, commonHeight]\r\n }, [\r\n [], 0\r\n ]);\r\n if (\"hide\" === textOverflow && result[1] > maxHeight) {\r\n result[0].forEach(l => {\r\n l.parts.forEach(item => {\r\n removeTextSpan(item)\r\n })\r\n });\r\n return []\r\n }\r\n return result[0]\r\n}\r\n\r\nfunction applyOverflowRules(element, texts, maxWidth, ellipsisMaxWidth, options) {\r\n if (!texts) {\r\n var textValue = element.textContent;\r\n var text = {\r\n value: textValue,\r\n height: 0,\r\n line: 0\r\n };\r\n element.textContent = \"\";\r\n createTspans([text], element, \"tspan\");\r\n texts = [text]\r\n }\r\n return texts.reduce((_ref3, text) => {\r\n var [lines, startBox, endBox, stop, lineNumber] = _ref3;\r\n var line = lines[lines.length - 1];\r\n if (stop) {\r\n return [lines, startBox, endBox, stop]\r\n }\r\n if (!line || text.line !== lineNumber) {\r\n text.startBox = startBox = 0;\r\n lines.push({\r\n commonLength: text.value.length,\r\n parts: [text]\r\n })\r\n } else {\r\n text.startBox = startBox;\r\n if (startBox > ellipsisMaxWidth && \"none\" === options.wordWrap && \"ellipsis\" === options.textOverflow) {\r\n removeTextSpan(text);\r\n return [lines, startBox, endBox, stop, lineNumber]\r\n }\r\n line.parts.push(text);\r\n line.commonLength += text.value.length\r\n }\r\n text.endBox = endBox = startBox + getTextWidth(text);\r\n startBox = endBox;\r\n if (isDefined(maxWidth) && endBox > maxWidth) {\r\n var wordWrapLines = wordWrap(text, maxWidth, ellipsisMaxWidth, options);\r\n if (!wordWrapLines.length) {\r\n lines = [];\r\n stop = true\r\n } else {\r\n lines = lines.concat(wordWrapLines.filter(l => l.parts.length > 0))\r\n }\r\n }\r\n return [lines, startBox, endBox, stop, text.line]\r\n }, [\r\n [], 0, 0, false, 0\r\n ])[0]\r\n}\r\n\r\nfunction setNewText(text, index) {\r\n var insertString = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : ELLIPSIS;\r\n var newText = text.value.substr(0, index) + insertString;\r\n text.value = text.tspan.textContent = newText;\r\n text.stroke && (text.stroke.textContent = newText);\r\n if (insertString === ELLIPSIS) {\r\n text.hasEllipsis = true\r\n }\r\n}\r\n\r\nfunction removeTextSpan(text) {\r\n text.tspan.parentNode && text.tspan.parentNode.removeChild(text.tspan);\r\n text.stroke && text.stroke.parentNode && text.stroke.parentNode.removeChild(text.stroke)\r\n}\r\n\r\nfunction createTextNodes(wrapper, text, isStroked) {\r\n var items;\r\n var parsedHtml;\r\n wrapper._texts = null;\r\n wrapper.clear();\r\n if (null === text) {\r\n return\r\n }\r\n text = \"\" + text;\r\n if (!wrapper.renderer.encodeHtml && (/<[a-z][\\s\\S]*>/i.test(text) || -1 !== text.indexOf(\"&\"))) {\r\n parsedHtml = removeExtraAttrs(text);\r\n items = parseHTML(parsedHtml)\r\n } else if (/\\n/g.test(text)) {\r\n items = parseMultiline(text)\r\n } else if (isStroked) {\r\n items = [{\r\n value: text.trim(),\r\n height: 0\r\n }]\r\n }\r\n if (items) {\r\n if (items.length) {\r\n wrapper._texts = items;\r\n if (isStroked) {\r\n createTspans(items, wrapper.element, KEY_STROKE)\r\n }\r\n createTspans(items, wrapper.element, \"tspan\")\r\n }\r\n } else {\r\n wrapper.element.appendChild(domAdapter.createTextNode(text))\r\n }\r\n}\r\n\r\nfunction setTextNodeAttribute(item, name, value) {\r\n item.tspan.setAttribute(name, value);\r\n item.stroke && item.stroke.setAttribute(name, value)\r\n}\r\n\r\nfunction getItemLineHeight(item, defaultValue) {\r\n return item.inherits ? maxLengthFontSize(item.height, defaultValue) : item.height || defaultValue\r\n}\r\n\r\nfunction locateTextNodes(wrapper) {\r\n if (!wrapper._texts) {\r\n return\r\n }\r\n var items = wrapper._texts;\r\n var x = wrapper._settings.x;\r\n var lineHeight = wrapper._getLineHeight();\r\n var i;\r\n var ii;\r\n var item = items[0];\r\n setTextNodeAttribute(item, \"x\", x);\r\n setTextNodeAttribute(item, \"y\", wrapper._settings.y);\r\n for (i = 1, ii = items.length; i < ii; ++i) {\r\n item = items[i];\r\n if (parseFloat(item.height) >= 0) {\r\n setTextNodeAttribute(item, \"x\", x);\r\n var height = getItemLineHeight(item, lineHeight);\r\n setTextNodeAttribute(item, \"dy\", height)\r\n }\r\n }\r\n}\r\n\r\nfunction alignTextNodes(wrapper, alignment) {\r\n if (!wrapper._texts || \"center\" === alignment) {\r\n return\r\n }\r\n var items = wrapper._texts;\r\n var direction = \"left\" === alignment ? -1 : 1;\r\n var maxTextWidth = Math.max.apply(Math, items.map(t => getTextWidth(t)));\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var textWidth = getTextWidth(item);\r\n if (0 !== maxTextWidth && maxTextWidth !== textWidth) {\r\n setTextNodeAttribute(item, \"dx\", direction * round((maxTextWidth - textWidth) / 2 * 10) / 10)\r\n }\r\n }\r\n}\r\n\r\nfunction maxLengthFontSize(fontSize1, fontSize2) {\r\n var parsedHeight1 = parseFloat(fontSize1);\r\n var parsedHeight2 = parseFloat(fontSize2);\r\n var height1 = parsedHeight1 || DEFAULT_FONT_SIZE;\r\n var height2 = parsedHeight2 || DEFAULT_FONT_SIZE;\r\n return height1 > height2 ? !isNaN(parsedHeight1) ? fontSize1 : height1 : !isNaN(parsedHeight2) ? fontSize2 : height2\r\n}\r\n\r\nfunction strokeTextNodes(wrapper) {\r\n if (!wrapper._texts) {\r\n return\r\n }\r\n var items = wrapper._texts;\r\n var stroke = wrapper._settings[KEY_STROKE];\r\n var strokeWidth = wrapper._settings[KEY_STROKE_WIDTH];\r\n var strokeOpacity = wrapper._settings[KEY_STROKE_OPACITY] || 1;\r\n var tspan;\r\n var i;\r\n var ii;\r\n for (i = 0, ii = items.length; i < ii; ++i) {\r\n tspan = items[i].stroke;\r\n tspan.setAttribute(KEY_STROKE, stroke);\r\n tspan.setAttribute(KEY_STROKE_WIDTH, strokeWidth);\r\n tspan.setAttribute(KEY_STROKE_OPACITY, strokeOpacity);\r\n tspan.setAttribute(\"stroke-linejoin\", \"round\")\r\n }\r\n}\r\n\r\nfunction baseAnimate(that, params, options, complete) {\r\n options = options || {};\r\n var key;\r\n var value;\r\n var renderer = that.renderer;\r\n var settings = that._settings;\r\n var animationParams = {};\r\n var defaults = {\r\n translateX: 0,\r\n translateY: 0,\r\n scaleX: 1,\r\n scaleY: 1,\r\n rotate: 0,\r\n rotateX: 0,\r\n rotateY: 0\r\n };\r\n if (complete) {\r\n options.complete = complete\r\n }\r\n if (renderer.animationEnabled()) {\r\n for (key in params) {\r\n value = params[key];\r\n if (/^(translate(X|Y)|rotate[XY]?|scale(X|Y))$/i.test(key)) {\r\n animationParams.transform = animationParams.transform || {\r\n from: {},\r\n to: {}\r\n };\r\n animationParams.transform.from[key] = key in settings ? Number(settings[key].toFixed(3)) : defaults[key];\r\n animationParams.transform.to[key] = value\r\n } else if (\"arc\" === key || \"segments\" === key) {\r\n animationParams[key] = value\r\n } else {\r\n animationParams[key] = {\r\n from: key in settings ? settings[key] : parseFloat(that.element.getAttribute(key) || 0),\r\n to: value\r\n }\r\n }\r\n }\r\n renderer.animateElement(that, animationParams, extend(extend({}, renderer._animation), options))\r\n } else {\r\n options.step && options.step.call(that, 1, 1);\r\n options.complete && options.complete.call(that);\r\n that.attr(params)\r\n }\r\n return that\r\n}\r\n\r\nfunction pathAnimate(params, options, complete) {\r\n var curSegments = this.segments || [];\r\n var newSegments;\r\n var endSegments;\r\n if (this.renderer.animationEnabled() && \"points\" in params) {\r\n newSegments = buildPathSegments(params.points, this.type);\r\n endSegments = compensateSegments(curSegments, newSegments, this.type);\r\n params.segments = {\r\n from: curSegments,\r\n to: newSegments,\r\n end: endSegments\r\n };\r\n delete params.points\r\n }\r\n return baseAnimate(this, params, options, complete)\r\n}\r\n\r\nfunction arcAnimate(params, options, complete) {\r\n var settings = this._settings;\r\n var arcParams = {\r\n from: {},\r\n to: {}\r\n };\r\n if (this.renderer.animationEnabled() && (\"x\" in params || \"y\" in params || \"innerRadius\" in params || \"outerRadius\" in params || \"startAngle\" in params || \"endAngle\" in params)) {\r\n arcParams.from.x = settings.x || 0;\r\n arcParams.from.y = settings.y || 0;\r\n arcParams.from.innerRadius = settings.innerRadius || 0;\r\n arcParams.from.outerRadius = settings.outerRadius || 0;\r\n arcParams.from.startAngle = settings.startAngle || 0;\r\n arcParams.from.endAngle = settings.endAngle || 0;\r\n arcParams.to.x = \"x\" in params ? params.x : settings.x;\r\n delete params.x;\r\n arcParams.to.y = \"y\" in params ? params.y : settings.y;\r\n delete params.y;\r\n arcParams.to.innerRadius = \"innerRadius\" in params ? params.innerRadius : settings.innerRadius;\r\n delete params.innerRadius;\r\n arcParams.to.outerRadius = \"outerRadius\" in params ? params.outerRadius : settings.outerRadius;\r\n delete params.outerRadius;\r\n arcParams.to.startAngle = \"startAngle\" in params ? params.startAngle : settings.startAngle;\r\n delete params.startAngle;\r\n arcParams.to.endAngle = \"endAngle\" in params ? params.endAngle : settings.endAngle;\r\n delete params.endAngle;\r\n params.arc = arcParams\r\n }\r\n return baseAnimate(this, params, options, complete)\r\n}\r\n\r\nfunction buildLink(target, parameters) {\r\n var obj = {\r\n is: false,\r\n name: parameters.name || parameters,\r\n after: parameters.after\r\n };\r\n if (target) {\r\n obj.to = target\r\n } else {\r\n obj.virtual = true\r\n }\r\n return obj\r\n}\r\nexport var SvgElement = function(renderer, tagName, type) {\r\n this.renderer = renderer;\r\n this.element = createElement(tagName);\r\n this._settings = {};\r\n this._styles = {};\r\n if (\"path\" === tagName) {\r\n this.type = type || \"line\"\r\n }\r\n};\r\n\r\nfunction removeFuncIriCallback(callback) {\r\n fixFuncIriCallbacks.remove(callback)\r\n}\r\nSvgElement.prototype = {\r\n constructor: SvgElement,\r\n _getJQElement: function() {\r\n return this._$element || (this._$element = $(this.element))\r\n },\r\n _addFixIRICallback: function() {\r\n var that = this;\r\n var fn = function() {\r\n fixFuncIri(that, \"fill\");\r\n fixFuncIri(that, \"clip-path\");\r\n fixFuncIri(that, \"filter\")\r\n };\r\n that.element._fixFuncIri = fn;\r\n fn.renderer = that.renderer;\r\n fixFuncIriCallbacks.add(fn);\r\n that._addFixIRICallback = function() {}\r\n },\r\n _clearChildrenFuncIri: function() {\r\n ! function clearChildren(element) {\r\n var i;\r\n for (i = 0; i < element.childNodes.length; i++) {\r\n removeFuncIriCallback(element.childNodes[i]._fixFuncIri);\r\n clearChildren(element.childNodes[i])\r\n }\r\n }(this.element)\r\n },\r\n dispose: function() {\r\n removeFuncIriCallback(this.element._fixFuncIri);\r\n this._clearChildrenFuncIri();\r\n this._getJQElement().remove();\r\n return this\r\n },\r\n append: function(parent) {\r\n (parent || this.renderer.root).element.appendChild(this.element);\r\n return this\r\n },\r\n remove: function() {\r\n var element = this.element;\r\n element.parentNode && element.parentNode.removeChild(element);\r\n return this\r\n },\r\n enableLinks: function() {\r\n this._links = [];\r\n return this\r\n },\r\n virtualLink: function(parameters) {\r\n linkItem({\r\n _link: buildLink(null, parameters)\r\n }, this);\r\n return this\r\n },\r\n linkAfter: function(name) {\r\n this._linkAfter = name;\r\n return this\r\n },\r\n linkOn: function(target, parameters) {\r\n this._link = buildLink(target, parameters);\r\n linkItem(this, target);\r\n return this\r\n },\r\n linkOff: function() {\r\n unlinkItem(this);\r\n this._link = null;\r\n return this\r\n },\r\n linkAppend: function() {\r\n var link = this._link;\r\n var items = link.to._links;\r\n var i;\r\n var next;\r\n for (i = link.i + 1;\r\n (next = items[i]) && !next._link.is; ++i) {}\r\n this._insert(link.to, next);\r\n link.is = true;\r\n return this\r\n },\r\n _insert: function(parent, next) {\r\n parent.element.insertBefore(this.element, next ? next.element : null)\r\n },\r\n linkRemove: function() {\r\n this.remove();\r\n this._link.is = false;\r\n return this\r\n },\r\n clear: function() {\r\n this._clearChildrenFuncIri();\r\n this._getJQElement().empty();\r\n return this\r\n },\r\n toBackground: function() {\r\n var elem = this.element;\r\n var parent = elem.parentNode;\r\n parent && parent.insertBefore(elem, parent.firstChild);\r\n return this\r\n },\r\n toForeground: function() {\r\n var elem = this.element;\r\n var parent = elem.parentNode;\r\n parent && parent.appendChild(elem);\r\n return this\r\n },\r\n attr: function(attrs) {\r\n return baseAttr(this, attrs)\r\n },\r\n smartAttr: function(attrs) {\r\n return this.attr(processHatchingAttrs(this, attrs))\r\n },\r\n css: function(styles) {\r\n return baseCss(this, styles)\r\n },\r\n animate: function(params, options, complete) {\r\n return baseAnimate(this, params, options, complete)\r\n },\r\n sharp(pos, sharpDirection) {\r\n return this.attr({\r\n sharp: pos || true,\r\n sharpDirection: sharpDirection\r\n })\r\n },\r\n _applyTransformation() {\r\n var tr = this._settings;\r\n var rotateX;\r\n var rotateY;\r\n var transformations = [];\r\n var sharpMode = tr.sharp;\r\n var trDirection = tr.sharpDirection || 1;\r\n var strokeOdd = tr[KEY_STROKE_WIDTH] % 2;\r\n var correctionX = strokeOdd && (\"h\" === sharpMode || true === sharpMode) ? SHARPING_CORRECTION * trDirection : 0;\r\n var correctionY = strokeOdd && (\"v\" === sharpMode || true === sharpMode) ? SHARPING_CORRECTION * trDirection : 0;\r\n transformations.push(\"translate(\" + ((tr.translateX || 0) + correctionX) + \",\" + ((tr.translateY || 0) + correctionY) + \")\");\r\n if (tr.rotate) {\r\n if (\"rotateX\" in tr) {\r\n rotateX = tr.rotateX\r\n } else {\r\n rotateX = tr.x\r\n }\r\n if (\"rotateY\" in tr) {\r\n rotateY = tr.rotateY\r\n } else {\r\n rotateY = tr.y\r\n }\r\n transformations.push(\"rotate(\" + tr.rotate + \",\" + (rotateX || 0) + \",\" + (rotateY || 0) + \")\")\r\n }\r\n var scaleXDefined = isDefined(tr.scaleX);\r\n var scaleYDefined = isDefined(tr.scaleY);\r\n if (scaleXDefined || scaleYDefined) {\r\n transformations.push(\"scale(\" + (scaleXDefined ? tr.scaleX : 1) + \",\" + (scaleYDefined ? tr.scaleY : 1) + \")\")\r\n }\r\n if (transformations.length) {\r\n this.element.setAttribute(\"transform\", transformations.join(\" \"))\r\n }\r\n },\r\n move: function(x, y, animate, animOptions) {\r\n var obj = {};\r\n isDefined(x) && (obj.translateX = x);\r\n isDefined(y) && (obj.translateY = y);\r\n if (!animate) {\r\n this.attr(obj)\r\n } else {\r\n this.animate(obj, animOptions)\r\n }\r\n return this\r\n },\r\n rotate: function(angle, x, y, animate, animOptions) {\r\n var obj = {\r\n rotate: angle || 0\r\n };\r\n isDefined(x) && (obj.rotateX = x);\r\n isDefined(y) && (obj.rotateY = y);\r\n if (!animate) {\r\n this.attr(obj)\r\n } else {\r\n this.animate(obj, animOptions)\r\n }\r\n return this\r\n },\r\n _getElementBBox: function() {\r\n var elem = this.element;\r\n var bBox;\r\n try {\r\n bBox = elem.getBBox && elem.getBBox()\r\n } catch (e) {}\r\n return bBox || {\r\n x: 0,\r\n y: 0,\r\n width: elem.offsetWidth || 0,\r\n height: elem.offsetHeight || 0\r\n }\r\n },\r\n getBBox: function() {\r\n var transformation = this._settings;\r\n var bBox = this._getElementBBox();\r\n if (transformation.rotate) {\r\n bBox = rotateBBox(bBox, [(\"rotateX\" in transformation ? transformation.rotateX : transformation.x) || 0, (\"rotateY\" in transformation ? transformation.rotateY : transformation.y) || 0], -transformation.rotate)\r\n } else {\r\n bBox = normalizeBBox(bBox)\r\n }\r\n return bBox\r\n },\r\n markup: function() {\r\n return getSvgMarkup(this.element)\r\n },\r\n getOffset: function() {\r\n return this._getJQElement().offset()\r\n },\r\n stopAnimation: function(disableComplete) {\r\n var animation = this.animation;\r\n animation && animation.stop(disableComplete);\r\n return this\r\n },\r\n setTitle: function(text) {\r\n var titleElem = createElement(\"title\");\r\n titleElem.textContent = text || \"\";\r\n this.element.appendChild(titleElem)\r\n },\r\n removeTitle() {\r\n detachTitleElements(this.element)\r\n },\r\n data: function(obj, val) {\r\n var elem = this.element;\r\n var key;\r\n if (void 0 !== val) {\r\n elem[obj] = val\r\n } else {\r\n for (key in obj) {\r\n elem[key] = obj[key]\r\n }\r\n }\r\n return this\r\n },\r\n on: function() {\r\n var args = [this._getJQElement()];\r\n args.push.apply(args, arguments);\r\n eventsEngine.on.apply(eventsEngine, args);\r\n return this\r\n },\r\n off: function() {\r\n var args = [this._getJQElement()];\r\n args.push.apply(args, arguments);\r\n eventsEngine.off.apply(eventsEngine, args);\r\n return this\r\n },\r\n trigger: function() {\r\n var args = [this._getJQElement()];\r\n args.push.apply(args, arguments);\r\n eventsEngine.trigger.apply(eventsEngine, args);\r\n return this\r\n }\r\n};\r\nexport var PathSvgElement = function(renderer, type) {\r\n SvgElement.call(this, renderer, \"path\", type)\r\n};\r\nPathSvgElement.prototype = objectCreate(SvgElement.prototype);\r\nextend(PathSvgElement.prototype, {\r\n constructor: PathSvgElement,\r\n attr: pathAttr,\r\n animate: pathAnimate\r\n});\r\nexport var ArcSvgElement = function(renderer) {\r\n SvgElement.call(this, renderer, \"path\", \"arc\")\r\n};\r\nArcSvgElement.prototype = objectCreate(SvgElement.prototype);\r\nextend(ArcSvgElement.prototype, {\r\n constructor: ArcSvgElement,\r\n attr: arcAttr,\r\n animate: arcAnimate\r\n});\r\nexport var RectSvgElement = function(renderer) {\r\n SvgElement.call(this, renderer, \"rect\")\r\n};\r\nRectSvgElement.prototype = objectCreate(SvgElement.prototype);\r\nextend(RectSvgElement.prototype, {\r\n constructor: RectSvgElement,\r\n attr: rectAttr\r\n});\r\nexport var TextSvgElement = function(renderer) {\r\n SvgElement.call(this, renderer, \"text\");\r\n this.css({\r\n \"white-space\": \"pre\"\r\n })\r\n};\r\nTextSvgElement.prototype = objectCreate(SvgElement.prototype);\r\nextend(TextSvgElement.prototype, {\r\n constructor: TextSvgElement,\r\n attr: textAttr,\r\n css: textCss,\r\n applyEllipsis: applyEllipsis,\r\n setMaxSize: setMaxSize,\r\n restoreText: restoreText,\r\n _getLineHeight() {\r\n return !isNaN(parseFloat(this._styles[KEY_FONT_SIZE])) ? this._styles[KEY_FONT_SIZE] : DEFAULT_FONT_SIZE\r\n }\r\n});\r\n\r\nfunction updateIndexes(items, k) {\r\n var i;\r\n var item;\r\n for (i = k; item = items[i]; ++i) {\r\n item._link.i = i\r\n }\r\n}\r\n\r\nfunction linkItem(target, container) {\r\n var items = container._links;\r\n var key = target._link.after = target._link.after || container._linkAfter;\r\n var i;\r\n var item;\r\n if (key) {\r\n for (i = 0;\r\n (item = items[i]) && item._link.name !== key; ++i) {}\r\n if (item) {\r\n for (++i;\r\n (item = items[i]) && item._link.after === key; ++i) {}\r\n }\r\n } else {\r\n i = items.length\r\n }\r\n items.splice(i, 0, target);\r\n updateIndexes(items, i)\r\n}\r\n\r\nfunction unlinkItem(target) {\r\n var i;\r\n var items = target._link.to._links;\r\n for (i = 0; items[i] !== target; ++i) {}\r\n items.splice(i, 1);\r\n updateIndexes(items, i)\r\n}\r\nexport function Renderer(options) {\r\n this.root = this._createElement(\"svg\", {\r\n xmlns: \"http://www.w3.org/2000/svg\",\r\n version: \"1.1\",\r\n fill: NONE,\r\n stroke: NONE,\r\n \"stroke-width\": 0\r\n }).attr({\r\n class: options.cssClass\r\n }).css({\r\n \"line-height\": \"normal\",\r\n \"-ms-user-select\": NONE,\r\n \"-moz-user-select\": NONE,\r\n \"-webkit-user-select\": NONE,\r\n \"-webkit-tap-highlight-color\": \"rgba(0, 0, 0, 0)\",\r\n display: \"block\",\r\n overflow: \"hidden\"\r\n });\r\n this._init();\r\n this.pathModified = !!options.pathModified;\r\n this._$container = $(options.container);\r\n this.root.append({\r\n element: options.container\r\n });\r\n this._locker = 0;\r\n this._backed = false\r\n}\r\nRenderer.prototype = {\r\n constructor: Renderer,\r\n _init: function() {\r\n this._defs = this._createElement(\"defs\").append(this.root);\r\n this._animationController = new AnimationController(this.root.element);\r\n this._animation = {\r\n enabled: true,\r\n duration: 1e3,\r\n easing: \"easeOutCubic\"\r\n }\r\n },\r\n setOptions: function(options) {\r\n this.rtl = !!options.rtl;\r\n this.encodeHtml = !!options.encodeHtml;\r\n this.updateAnimationOptions(options.animation || {});\r\n this.root.attr({\r\n direction: this.rtl ? \"rtl\" : \"ltr\"\r\n });\r\n return this\r\n },\r\n _createElement: function(tagName, attr, type) {\r\n var elem = new SvgElement(this, tagName, type);\r\n attr && elem.attr(attr);\r\n return elem\r\n },\r\n lock: function() {\r\n if (0 === this._locker) {\r\n this._backed = !this._$container.is(\":visible\");\r\n if (this._backed) {\r\n backupRoot(this.root)\r\n }\r\n }++this._locker;\r\n return this\r\n },\r\n unlock: function() {\r\n --this._locker;\r\n if (0 === this._locker) {\r\n if (this._backed) {\r\n restoreRoot(this.root, this._$container[0])\r\n }\r\n this._backed = false\r\n }\r\n return this\r\n },\r\n resize: function(width, height) {\r\n if (width >= 0 && height >= 0) {\r\n this.root.attr({\r\n width: width,\r\n height: height\r\n })\r\n }\r\n return this\r\n },\r\n dispose: function() {\r\n var key;\r\n this.root.dispose();\r\n this._defs.dispose();\r\n this._animationController.dispose();\r\n fixFuncIriCallbacks.removeByRenderer(this);\r\n for (key in this) {\r\n this[key] = null\r\n }\r\n return this\r\n },\r\n animationEnabled: function() {\r\n return !!this._animation.enabled\r\n },\r\n updateAnimationOptions: function(newOptions) {\r\n extend(this._animation, newOptions);\r\n return this\r\n },\r\n stopAllAnimations: function(lock) {\r\n this._animationController[lock ? \"lock\" : \"stop\"]();\r\n return this\r\n },\r\n animateElement: function(element, params, options) {\r\n this._animationController.animateElement(element, params, options);\r\n return this\r\n },\r\n svg: function() {\r\n return this.root.markup()\r\n },\r\n getRootOffset: function() {\r\n return this.root.getOffset()\r\n },\r\n onEndAnimation: function(endAnimation) {\r\n this._animationController.onEndAnimation(endAnimation)\r\n },\r\n rect: function(x, y, width, height) {\r\n var elem = new RectSvgElement(this);\r\n return elem.attr({\r\n x: x || 0,\r\n y: y || 0,\r\n width: width || 0,\r\n height: height || 0\r\n })\r\n },\r\n simpleRect: function() {\r\n return this._createElement(\"rect\")\r\n },\r\n circle: function(x, y, r) {\r\n return this._createElement(\"circle\", {\r\n cx: x || 0,\r\n cy: y || 0,\r\n r: r || 0\r\n })\r\n },\r\n g: function() {\r\n return this._createElement(\"g\")\r\n },\r\n image: function(x, y, w, h, href, location) {\r\n var image = this._createElement(\"image\", {\r\n x: x || 0,\r\n y: y || 0,\r\n width: w || 0,\r\n height: h || 0,\r\n preserveAspectRatio: preserveAspectRatioMap[normalizeEnum(location)] || NONE\r\n });\r\n image.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", href || \"\");\r\n return image\r\n },\r\n path: function(points, type) {\r\n var elem = new PathSvgElement(this, type);\r\n return elem.attr({\r\n points: points || []\r\n })\r\n },\r\n arc: function(x, y, innerRadius, outerRadius, startAngle, endAngle) {\r\n var elem = new ArcSvgElement(this);\r\n return elem.attr({\r\n x: x || 0,\r\n y: y || 0,\r\n innerRadius: innerRadius || 0,\r\n outerRadius: outerRadius || 0,\r\n startAngle: startAngle || 0,\r\n endAngle: endAngle || 0\r\n })\r\n },\r\n text: function(_text, x, y) {\r\n var elem = new TextSvgElement(this);\r\n return elem.attr({\r\n text: _text,\r\n x: x || 0,\r\n y: y || 0\r\n })\r\n },\r\n linearGradient: function(stops) {\r\n var id = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : getNextDefsSvgId();\r\n var rotationAngle = arguments.length > 2 ? arguments[2] : void 0;\r\n var gradient = this._createElement(\"linearGradient\", {\r\n id: id,\r\n gradientTransform: \"rotate(\".concat(rotationAngle || 0, \")\")\r\n }).append(this._defs);\r\n gradient.id = id;\r\n this._createGradientStops(stops, gradient);\r\n return gradient\r\n },\r\n radialGradient: function(stops, id) {\r\n var gradient = this._createElement(\"radialGradient\", {\r\n id: id\r\n }).append(this._defs);\r\n this._createGradientStops(stops, gradient);\r\n return gradient\r\n },\r\n _createGradientStops: function(stops, group) {\r\n stops.forEach(stop => {\r\n var _stop$stopColor;\r\n this._createElement(\"stop\", {\r\n offset: stop.offset,\r\n \"stop-color\": null !== (_stop$stopColor = stop[\"stop-color\"]) && void 0 !== _stop$stopColor ? _stop$stopColor : stop.color,\r\n \"stop-opacity\": stop.opacity\r\n }).append(group)\r\n })\r\n },\r\n pattern: function(color, hatching, _id) {\r\n hatching = hatching || {};\r\n var step = hatching.step || 6;\r\n var stepTo2 = step / 2;\r\n var stepBy15 = 1.5 * step;\r\n var id = _id || getNextDefsSvgId();\r\n var d = \"right\" === normalizeEnum(hatching.direction) ? \"M \" + stepTo2 + \" \" + -stepTo2 + \" L \" + -stepTo2 + \" \" + stepTo2 + \" M 0 \" + step + \" L \" + step + \" 0 M \" + stepBy15 + \" \" + stepTo2 + \" L \" + stepTo2 + \" \" + stepBy15 : \"M 0 0 L \" + step + \" \" + step + \" M \" + -stepTo2 + \" \" + stepTo2 + \" L \" + stepTo2 + \" \" + stepBy15 + \" M \" + stepTo2 + \" \" + -stepTo2 + \" L \" + stepBy15 + \" \" + stepTo2;\r\n var pattern = this._createElement(\"pattern\", {\r\n id: id,\r\n width: step,\r\n height: step,\r\n patternUnits: \"userSpaceOnUse\"\r\n }).append(this._defs);\r\n pattern.id = id;\r\n this.rect(0, 0, step, step).attr({\r\n fill: color,\r\n opacity: hatching.opacity\r\n }).append(pattern);\r\n new PathSvgElement(this).attr({\r\n d: d,\r\n \"stroke-width\": hatching.width || 1,\r\n stroke: color\r\n }).append(pattern);\r\n return pattern\r\n },\r\n customPattern: function(id, template, width, height) {\r\n var option = {\r\n id: id,\r\n width: width,\r\n height: height,\r\n patternContentUnits: \"userSpaceOnUse\",\r\n patternUnits: this._getPatternUnits(width, height)\r\n };\r\n var pattern = this._createElement(\"pattern\", option).append(this._defs);\r\n template.render({\r\n container: pattern.element\r\n });\r\n return pattern\r\n },\r\n _getPatternUnits: function(width, height) {\r\n if (Number(width) && Number(height)) {\r\n return \"userSpaceOnUse\"\r\n }\r\n },\r\n _getPointsWithYOffset: function(points, offset) {\r\n return points.map((function(point, index) {\r\n if (index % 2 !== 0) {\r\n return point + offset\r\n }\r\n return point\r\n }))\r\n },\r\n clipShape: function(method, methodArgs) {\r\n var id = getNextDefsSvgId();\r\n var clipPath = this._createElement(\"clipPath\", {\r\n id: id\r\n }).append(this._defs);\r\n var shape = method.apply(this, methodArgs).append(clipPath);\r\n shape.id = id;\r\n shape.remove = function() {\r\n throw \"Not implemented\"\r\n };\r\n shape.dispose = function() {\r\n clipPath.dispose();\r\n clipPath = null;\r\n return this\r\n };\r\n return shape\r\n },\r\n clipRect(x, y, width, height) {\r\n return this.clipShape(this.rect, arguments)\r\n },\r\n clipCircle(x, y, radius) {\r\n return this.clipShape(this.circle, arguments)\r\n },\r\n shadowFilter: function(x, y, width, height, offsetX, offsetY, blur, color, opacity) {\r\n var id = getNextDefsSvgId();\r\n var filter = this._createElement(\"filter\", {\r\n id: id,\r\n x: x || 0,\r\n y: y || 0,\r\n width: width || 0,\r\n height: height || 0\r\n }).append(this._defs);\r\n var gaussianBlur = this._createElement(\"feGaussianBlur\", {\r\n in: \"SourceGraphic\",\r\n result: \"gaussianBlurResult\",\r\n stdDeviation: blur || 0\r\n }).append(filter);\r\n var offset = this._createElement(\"feOffset\", {\r\n in: \"gaussianBlurResult\",\r\n result: \"offsetResult\",\r\n dx: offsetX || 0,\r\n dy: offsetY || 0\r\n }).append(filter);\r\n var flood = this._createElement(\"feFlood\", {\r\n result: \"floodResult\",\r\n \"flood-color\": color || \"\",\r\n \"flood-opacity\": opacity\r\n }).append(filter);\r\n var composite = this._createElement(\"feComposite\", {\r\n in: \"floodResult\",\r\n in2: \"offsetResult\",\r\n operator: \"in\",\r\n result: \"compositeResult\"\r\n }).append(filter);\r\n var finalComposite = this._createElement(\"feComposite\", {\r\n in: \"SourceGraphic\",\r\n in2: \"compositeResult\",\r\n operator: \"over\"\r\n }).append(filter);\r\n filter.id = id;\r\n filter.gaussianBlur = gaussianBlur;\r\n filter.offset = offset;\r\n filter.flood = flood;\r\n filter.composite = composite;\r\n filter.finalComposite = finalComposite;\r\n filter.attr = function(attrs) {\r\n var filterAttrs = {};\r\n var offsetAttrs = {};\r\n var floodAttrs = {};\r\n \"x\" in attrs && (filterAttrs.x = attrs.x);\r\n \"y\" in attrs && (filterAttrs.y = attrs.y);\r\n \"width\" in attrs && (filterAttrs.width = attrs.width);\r\n \"height\" in attrs && (filterAttrs.height = attrs.height);\r\n baseAttr(this, filterAttrs);\r\n \"blur\" in attrs && this.gaussianBlur.attr({\r\n stdDeviation: attrs.blur\r\n });\r\n \"offsetX\" in attrs && (offsetAttrs.dx = attrs.offsetX);\r\n \"offsetY\" in attrs && (offsetAttrs.dy = attrs.offsetY);\r\n this.offset.attr(offsetAttrs);\r\n \"color\" in attrs && (floodAttrs[\"flood-color\"] = attrs.color);\r\n \"opacity\" in attrs && (floodAttrs[\"flood-opacity\"] = attrs.opacity);\r\n this.flood.attr(floodAttrs);\r\n return this\r\n };\r\n return filter\r\n },\r\n brightFilter: function(type, slope) {\r\n var id = getNextDefsSvgId();\r\n var filter = this._createElement(\"filter\", {\r\n id: id\r\n }).append(this._defs);\r\n var componentTransferElement = this._createElement(\"feComponentTransfer\").append(filter);\r\n var attrs = {\r\n type: type,\r\n slope: slope\r\n };\r\n filter.id = id;\r\n this._createElement(\"feFuncR\", attrs).append(componentTransferElement);\r\n this._createElement(\"feFuncG\", attrs).append(componentTransferElement);\r\n this._createElement(\"feFuncB\", attrs).append(componentTransferElement);\r\n return filter\r\n },\r\n getGrayScaleFilter: function() {\r\n if (this._grayScaleFilter) {\r\n return this._grayScaleFilter\r\n }\r\n var id = getNextDefsSvgId();\r\n var filter = this._createElement(\"filter\", {\r\n id: id\r\n }).append(this._defs);\r\n this._createElement(\"feColorMatrix\").attr({\r\n type: \"matrix\",\r\n values: \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 0.6 0\"\r\n }).append(filter);\r\n filter.id = id;\r\n this._grayScaleFilter = filter;\r\n return filter\r\n },\r\n lightenFilter: function(id) {\r\n var filter = this._createElement(\"filter\", {\r\n id: id\r\n }).append(this._defs);\r\n this._createElement(\"feColorMatrix\", {\r\n type: \"matrix\",\r\n values: \"\".concat(1.3, \" 0 0 0 0 0 \").concat(1.3, \" 0 0 0 0 0 \").concat(1.3, \" 0 0 0 0 0 1 0\")\r\n }).append(filter);\r\n filter.id = id;\r\n return filter\r\n },\r\n initDefsElements: function() {\r\n var storage = this._defsElementsStorage = this._defsElementsStorage || {\r\n byHash: {},\r\n baseId: getNextDefsSvgId()\r\n };\r\n var byHash = storage.byHash;\r\n var name;\r\n for (name in byHash) {\r\n byHash[name].pattern.dispose()\r\n }\r\n storage.byHash = {};\r\n storage.refToHash = {};\r\n storage.nextId = 0\r\n },\r\n drawPattern: function(_ref4, storageId, nextId) {\r\n var {\r\n color: color,\r\n hatching: hatching\r\n } = _ref4;\r\n return this.pattern(color, hatching, \"\".concat(storageId, \"-hatching-\").concat(nextId++))\r\n },\r\n drawFilter: function(_, storageId, nextId) {\r\n return this.lightenFilter(\"\".concat(storageId, \"-lightening-\").concat(nextId++))\r\n },\r\n lockDefsElements: function(attrs, ref, type) {\r\n var storage = this._defsElementsStorage;\r\n var storageItem;\r\n var hash = \"pattern\" === type ? getHatchingHash(attrs) : LIGHTENING_HASH;\r\n var method = \"pattern\" === type ? this.drawPattern : this.drawFilter;\r\n var pattern;\r\n if (storage.refToHash[ref] !== hash) {\r\n if (ref) {\r\n this.releaseDefsElements(ref)\r\n }\r\n storageItem = storage.byHash[hash];\r\n if (!storageItem) {\r\n pattern = method.call(this, attrs, storage.baseId, storage.nextId++);\r\n storageItem = storage.byHash[hash] = {\r\n pattern: pattern,\r\n count: 0\r\n };\r\n storage.refToHash[pattern.id] = hash\r\n }++storageItem.count;\r\n ref = storageItem.pattern.id\r\n }\r\n return ref\r\n },\r\n releaseDefsElements: function(ref) {\r\n var storage = this._defsElementsStorage;\r\n var hash = storage.refToHash[ref];\r\n var storageItem = storage.byHash[hash];\r\n if (storageItem && 0 === --storageItem.count) {\r\n storageItem.pattern.dispose();\r\n delete storage.byHash[hash];\r\n delete storage.refToHash[ref]\r\n }\r\n }\r\n};\r\n\r\nfunction getHatchingHash(_ref5) {\r\n var {\r\n color: color,\r\n hatching: hatching\r\n } = _ref5;\r\n return \"@\" + color + \"::\" + hatching.step + \":\" + hatching.width + \":\" + hatching.opacity + \":\" + hatching.direction\r\n}\r\nvar fixFuncIriCallbacks = function() {\r\n var callbacks = [];\r\n return {\r\n add: function(fn) {\r\n callbacks.push(fn)\r\n },\r\n remove: function(fn) {\r\n callbacks = callbacks.filter((function(el) {\r\n return el !== fn\r\n }))\r\n },\r\n removeByRenderer: function(renderer) {\r\n callbacks = callbacks.filter((function(el) {\r\n return el.renderer !== renderer\r\n }))\r\n },\r\n fire: function() {\r\n callbacks.forEach((function(fn) {\r\n fn()\r\n }))\r\n }\r\n }\r\n}();\r\nexport var refreshPaths = function() {\r\n fixFuncIriCallbacks.fire()\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/plaque.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"x\", \"y\", \"canvas\", \"offsetX\", \"offsetY\", \"offset\"];\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nvar math = Math;\r\nvar round = math.round;\r\nvar max = math.max;\r\nvar min = math.min;\r\nvar sin = math.sin;\r\nvar cos = math.cos;\r\nvar asin = math.asin;\r\nvar PI = math.PI;\r\nvar buildPath = function() {\r\n for (var _len = arguments.length, points = new Array(_len), _key = 0; _key < _len; _key++) {\r\n points[_key] = arguments[_key]\r\n }\r\n return points.join(\"\")\r\n};\r\n\r\nfunction getArc(cornerRadius, xDirection, yDirection) {\r\n return \"a \".concat(cornerRadius, \" \").concat(cornerRadius, \" 0 0 1 \").concat(xDirection * cornerRadius, \" \").concat(yDirection * cornerRadius)\r\n}\r\n\r\nfunction getAbsoluteArc(cornerRadius, x, y) {\r\n return \"A \".concat(cornerRadius, \" \").concat(cornerRadius, \" 0 0 1 \").concat(x, \" \").concat(y)\r\n}\r\n\r\nfunction rotateX(x, y, angle, x0, y0) {\r\n return (x - x0) * round(cos(angle)) + (y - y0) * round(sin(angle)) + x0\r\n}\r\n\r\nfunction rotateY(x, y, angle, x0, y0) {\r\n return -(x - x0) * round(sin(angle)) + (y - y0) * round(cos(angle)) + y0\r\n}\r\n\r\nfunction rotateSize(options, angle) {\r\n if (angle % 90 === 0 && angle % 180 !== 0) {\r\n return {\r\n width: options.height,\r\n height: options.width\r\n }\r\n }\r\n return options\r\n}\r\n\r\nfunction getCloudAngle(_ref, x, y, anchorX, anchorY) {\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref;\r\n var halfWidth = width / 2;\r\n var halfHeight = height / 2;\r\n var xr = Math.ceil(x + halfWidth);\r\n var xl = Math.floor(x - halfWidth);\r\n var yt = Math.floor(y - halfHeight);\r\n var yb = Math.ceil(y + halfHeight);\r\n if (anchorX < xl && anchorY < yt || anchorX >= xl && anchorX <= xr && anchorY < yt) {\r\n return 270\r\n }\r\n if (anchorX > xr && anchorY > yb || anchorX >= xl && anchorX <= xr && anchorY > yb) {\r\n return 90\r\n } else if (anchorX < xl && anchorY > yb || anchorX < xl && anchorY >= yt && anchorY <= yb) {\r\n return 180\r\n }\r\n return 0\r\n}\r\n\r\nfunction getCloudPoints(_ref2, x, y, anchorX, anchorY, _ref3, bounded) {\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref2;\r\n var {\r\n arrowWidth: arrowWidth,\r\n cornerRadius: cornerRadius = 0\r\n } = _ref3;\r\n var halfArrowWidth = arrowWidth / 2;\r\n var halfWidth = width / 2;\r\n var halfHeight = height / 2;\r\n var xr = Math.ceil(x + halfWidth);\r\n var xl = Math.floor(x - halfWidth);\r\n var yt = Math.floor(y - halfHeight);\r\n var yb = Math.ceil(y + halfHeight);\r\n var leftTopCorner = [xl, yt];\r\n var rightTopCorner = [xr, yt];\r\n var rightBottomCorner = [xr, yb];\r\n var leftBottomCorner = [xl, yb];\r\n var arrowX = anchorX <= xl ? xl : xr <= anchorX ? xr : anchorX;\r\n var arrowY = anchorY <= yt ? yt : yb <= anchorY ? yb : anchorY;\r\n var arrowBaseBottom = min(arrowY + halfArrowWidth, yb);\r\n var arrowBaseTop = max(arrowY - halfArrowWidth, yt);\r\n var arrowBaseLeft = max(arrowX - halfArrowWidth, xl);\r\n cornerRadius = Math.min(width / 2, height / 2, cornerRadius);\r\n var points;\r\n leftTopCorner[1] += cornerRadius;\r\n rightTopCorner[0] -= cornerRadius;\r\n rightBottomCorner[1] -= cornerRadius;\r\n leftBottomCorner[0] += cornerRadius;\r\n if (!bounded || xl <= anchorX && anchorX <= xr && yt <= anchorY && anchorY <= yb) {\r\n points = buildPath(leftTopCorner, getArc(cornerRadius, 1, -1), \"L\", rightTopCorner, getArc(cornerRadius, 1, 1), \"L\", rightBottomCorner, getArc(cornerRadius, -1, 1), \"L\", leftBottomCorner, getArc(cornerRadius, -1, -1))\r\n } else if (anchorX > xr && anchorY < yt) {\r\n var arrowAngle = arrowWidth / cornerRadius || 0;\r\n var angle = PI / 4 + arrowAngle / 2;\r\n var endAngle = PI / 4 - arrowAngle / 2;\r\n var arrowEndPointX = rightTopCorner[0] + cos(endAngle) * cornerRadius;\r\n var arrowEndPointY = rightTopCorner[1] + (1 - sin(endAngle)) * cornerRadius;\r\n var arrowArc = buildPath(\"L\", rightTopCorner, getArc(cornerRadius, cos(angle), 1 - sin(angle)), \"L\", [anchorX, anchorY, arrowEndPointX, arrowEndPointY], getAbsoluteArc(cornerRadius, rightTopCorner[0] + cornerRadius, rightTopCorner[1] + cornerRadius));\r\n if (Math.abs(angle) > PI / 2) {\r\n arrowArc = buildPath(\"L\", [arrowBaseLeft, yt, anchorX, anchorY, xr, arrowBaseBottom])\r\n }\r\n points = buildPath(leftTopCorner, getArc(cornerRadius, 1, -1), arrowArc, \"L\", rightBottomCorner, getArc(cornerRadius, -1, 1), \"L\", leftBottomCorner, getArc(cornerRadius, -1, -1))\r\n } else if (anchorX > xr && anchorY >= yt && anchorY <= yb) {\r\n var _arrowArc;\r\n if (arrowBaseTop >= rightTopCorner[1] + cornerRadius && arrowBaseBottom <= rightBottomCorner[1]) {\r\n _arrowArc = buildPath(getArc(cornerRadius, 1, 1), \"L\", [xr, arrowBaseTop, anchorX, anchorY, xr, arrowBaseBottom], \"L\", rightBottomCorner, getArc(cornerRadius, -1, 1))\r\n } else if (arrowBaseTop < rightTopCorner[1] + cornerRadius && arrowBaseBottom >= rightTopCorner[1] + cornerRadius && arrowBaseBottom <= rightBottomCorner[1]) {\r\n var arrowWidthRest = rightTopCorner[1] + cornerRadius - arrowBaseTop;\r\n var _angle = arrowWidthRest / cornerRadius;\r\n var arrowBaseTopX = rightTopCorner[0] + cos(_angle) * cornerRadius;\r\n var arrowBaseTopY = rightTopCorner[1] + (1 - sin(_angle)) * cornerRadius;\r\n _arrowArc = buildPath(getArc(cornerRadius, cos(_angle), 1 - sin(_angle)), \"L\", [arrowBaseTopX, arrowBaseTopY, anchorX, anchorY, xr, arrowBaseBottom], \"L\", rightBottomCorner, getArc(cornerRadius, -1, 1))\r\n } else if (arrowBaseTop < rightTopCorner[1] + cornerRadius && arrowBaseBottom < rightTopCorner[1] + cornerRadius) {\r\n var _arrowWidthRest = rightTopCorner[1] + cornerRadius - arrowBaseTop;\r\n var _arrowAngle = _arrowWidthRest / cornerRadius;\r\n var _angle2 = _arrowAngle;\r\n var _arrowBaseTopX = rightTopCorner[0] + cos(_angle2) * cornerRadius;\r\n var _arrowBaseTopY = rightTopCorner[1] + (1 - sin(_angle2)) * cornerRadius;\r\n var bottomAngle = Math.sin((rightTopCorner[1] + cornerRadius - arrowBaseBottom) / cornerRadius);\r\n var arrowBaseBottomX = rightTopCorner[0] + cornerRadius * cos(bottomAngle);\r\n var arrowBaseBottomY = rightTopCorner[1] + cornerRadius * (1 - sin(bottomAngle));\r\n _arrowArc = buildPath(getArc(cornerRadius, cos(_angle2), 1 - sin(_angle2)), \"L\", [_arrowBaseTopX, _arrowBaseTopY, anchorX, anchorY, arrowBaseBottomX, arrowBaseBottomY], getAbsoluteArc(cornerRadius, rightTopCorner[0] + cornerRadius, rightTopCorner[1] + cornerRadius), \"L\", rightBottomCorner, getArc(cornerRadius, -1, 1))\r\n } else if (arrowBaseTop <= rightTopCorner[1] + cornerRadius && arrowBaseBottom >= rightBottomCorner[1]) {\r\n var topAngle = asin((rightTopCorner[1] + cornerRadius - arrowBaseTop) / cornerRadius);\r\n var _arrowBaseTopX2 = rightTopCorner[0] + cornerRadius * cos(topAngle);\r\n var _arrowBaseTopY2 = rightTopCorner[1] + cornerRadius * (1 - sin(topAngle));\r\n var _bottomAngle = asin((arrowBaseBottom - rightBottomCorner[1]) / cornerRadius);\r\n var _arrowBaseBottomX = rightBottomCorner[0] + cornerRadius * (cos(_bottomAngle) - 1);\r\n var _arrowBaseBottomY = rightBottomCorner[1] + cornerRadius * sin(_bottomAngle);\r\n _arrowArc = buildPath(getArc(cornerRadius, cos(topAngle), 1 - sin(topAngle)), \"L\", [_arrowBaseTopX2, _arrowBaseTopY2, anchorX, anchorY, _arrowBaseBottomX, _arrowBaseBottomY], getAbsoluteArc(cornerRadius, rightBottomCorner[0] - cornerRadius, rightBottomCorner[1] + cornerRadius))\r\n } else if (arrowBaseTop > rightTopCorner[1] + cornerRadius && arrowBaseTop <= rightBottomCorner[1] && arrowBaseBottom > rightBottomCorner[1]) {\r\n var _bottomAngle2 = asin((arrowBaseBottom - rightBottomCorner[1]) / cornerRadius);\r\n var _arrowBaseBottomX2 = rightBottomCorner[0] + cornerRadius * (cos(_bottomAngle2) - 1);\r\n var _arrowBaseBottomY2 = rightBottomCorner[1] + cornerRadius * sin(_bottomAngle2);\r\n _arrowArc = buildPath(getArc(cornerRadius, 1, 1), \"L\", [xr, arrowBaseTop, anchorX, anchorY, _arrowBaseBottomX2, _arrowBaseBottomY2], getAbsoluteArc(cornerRadius, rightBottomCorner[0] - cornerRadius, rightBottomCorner[1] + cornerRadius))\r\n } else if (arrowBaseTop > rightTopCorner[1] + cornerRadius && arrowBaseBottom > rightBottomCorner[1]) {\r\n var _bottomAngle3 = asin((arrowBaseBottom - rightBottomCorner[1]) / cornerRadius);\r\n var _arrowBaseBottomX3 = rightBottomCorner[0] + cornerRadius * (cos(_bottomAngle3) - 1);\r\n var _arrowBaseBottomY3 = rightBottomCorner[1] + cornerRadius * sin(_bottomAngle3);\r\n var _topAngle = asin((arrowBaseTop - rightBottomCorner[1]) / cornerRadius);\r\n var _arrowBaseTopX3 = rightBottomCorner[0] + cornerRadius * (cos(_topAngle) - 1);\r\n var _arrowBaseTopY3 = rightBottomCorner[1] + cornerRadius * sin(_topAngle);\r\n _arrowArc = buildPath(getArc(cornerRadius, 1, 1), \"L\", rightBottomCorner, getArc(cornerRadius, cos(_topAngle) - 1, sin(_topAngle)), \"L\", [_arrowBaseTopX3, _arrowBaseTopY3, anchorX, anchorY, _arrowBaseBottomX3, _arrowBaseBottomY3], getAbsoluteArc(cornerRadius, rightBottomCorner[0] - cornerRadius, rightBottomCorner[1] + cornerRadius))\r\n }\r\n points = buildPath(leftTopCorner, getArc(cornerRadius, 1, -1), \"L\", rightTopCorner, _arrowArc, \"L\", leftBottomCorner, getArc(cornerRadius, -1, -1))\r\n }\r\n return buildPath(\"M\", points, \"Z\")\r\n}\r\nexport class Plaque {\r\n constructor(options, widget, root, contentTemplate) {\r\n var bounded = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : true;\r\n var measureContent = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : (_, g) => g.getBBox();\r\n var moveContentGroup = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : (_, g, x, y) => g.move(x, y);\r\n this.widget = widget;\r\n this.options = options;\r\n this.root = root;\r\n this.contentTemplate = contentTemplate;\r\n this.bonded = bounded;\r\n this.measureContent = measureContent;\r\n this.moveContentGroup = moveContentGroup\r\n }\r\n draw(_ref4) {\r\n var {\r\n x: anchorX,\r\n y: anchorY,\r\n canvas: canvas = {},\r\n offsetX: offsetX,\r\n offsetY: offsetY,\r\n offset: offset = 0\r\n } = _ref4, restProps = _objectWithoutPropertiesLoose(_ref4, _excluded);\r\n var options = this.options;\r\n var {\r\n x: x,\r\n y: y\r\n } = options;\r\n var bounds_xl = canvas.left,\r\n bounds_xr = canvas.width - canvas.right,\r\n bounds_width = canvas.width - canvas.right - canvas.left,\r\n bounds_yt = canvas.top,\r\n bounds_yb = canvas.height - canvas.bottom,\r\n bounds_height = canvas.height - canvas.bottom - canvas.top;\r\n if (!(isDefined(anchorX) && isDefined(anchorY)) && !(isDefined(x) && isDefined(y))) {\r\n return false\r\n }\r\n if (isDefined(anchorX) && (anchorX < bounds_xl || bounds_xr < anchorX || anchorY < bounds_yt || bounds_yb < anchorY)) {\r\n return false\r\n }\r\n if (!this._root) {\r\n this._draw()\r\n }\r\n var shadowSettings = extend({\r\n x: \"-50%\",\r\n y: \"-50%\",\r\n width: \"200%\",\r\n height: \"200%\"\r\n }, options.shadow);\r\n var contentWidth = options.width > 0 ? options.width : null;\r\n var contentHeight = options.height > 0 ? options.height : null;\r\n var onRender = () => {\r\n var _this$_root;\r\n var bBox = this._contentBBox = this.measureContent(this.widget, this._contentGroup);\r\n var size = this._size = {\r\n width: max(contentWidth, bBox.width) + 2 * options.paddingLeftRight,\r\n height: max(contentHeight, bBox.height) + 2 * options.paddingTopBottom,\r\n offset: offset\r\n };\r\n var xOff = shadowSettings.offsetX;\r\n var yOff = shadowSettings.offsetY;\r\n var blur = 2 * shadowSettings.blur + 1;\r\n var lm = max(blur - xOff, 0);\r\n var rm = max(blur + xOff, 0);\r\n var tm = max(blur - yOff, 0);\r\n var bm = max(blur + yOff, 0);\r\n this.margins = {\r\n lm: lm,\r\n rm: rm,\r\n tm: tm,\r\n bm: bm\r\n };\r\n if (!isDefined(x)) {\r\n if (isDefined(offsetX)) {\r\n x = anchorX + offsetX\r\n } else if (bounds_width < size.width) {\r\n x = round(bounds_xl + bounds_width / 2)\r\n } else {\r\n x = min(max(anchorX, Math.ceil(bounds_xl + size.width / 2 + lm)), Math.floor(bounds_xr - size.width / 2 - rm))\r\n }\r\n } else {\r\n x += offsetX || 0;\r\n if (!isDefined(anchorX)) {\r\n anchorX = x\r\n }\r\n }\r\n if (!isDefined(y)) {\r\n if (isDefined(offsetY)) {\r\n y = anchorY + offsetY\r\n } else {\r\n var y_top = anchorY - options.arrowLength - size.height / 2 - offset;\r\n var y_bottom = anchorY + options.arrowLength + size.height / 2 + offset;\r\n if (bounds_height < size.height + options.arrowLength) {\r\n y = round(bounds_yt + size.height / 2)\r\n } else if (y_top - size.height / 2 - tm < bounds_yt) {\r\n if (y_bottom + size.height / 2 + bm < bounds_yb) {\r\n y = y_bottom;\r\n anchorY += offset\r\n } else {\r\n y = round(bounds_yt + size.height / 2)\r\n }\r\n } else {\r\n y = y_top;\r\n anchorY -= offset\r\n }\r\n }\r\n } else {\r\n y += offsetY || 0;\r\n if (!isDefined(anchorY)) {\r\n anchorY = y + size.height / 2\r\n }\r\n }\r\n this.anchorX = anchorX;\r\n this.anchorY = anchorY;\r\n this.move(x, y);\r\n null === (_this$_root = this._root) || void 0 === _this$_root ? void 0 : _this$_root.append(this.root)\r\n };\r\n if (this.contentTemplate.render) {\r\n this.contentTemplate.render({\r\n model: options,\r\n container: this._contentGroup.element,\r\n onRendered: onRender\r\n })\r\n } else {\r\n return this.contentTemplate(_extends({\r\n group: this._contentGroup,\r\n onRender: onRender\r\n }, restProps))\r\n }\r\n return true\r\n }\r\n _draw() {\r\n var renderer = this.widget._renderer;\r\n var options = this.options;\r\n var shadowSettings = extend({\r\n x: \"-50%\",\r\n y: \"-50%\",\r\n width: \"200%\",\r\n height: \"200%\"\r\n }, options.shadow);\r\n var shadow = this._shadow = renderer.shadowFilter().attr(shadowSettings);\r\n var cloudSettings = {\r\n opacity: options.opacity,\r\n \"stroke-width\": 0,\r\n fill: options.color\r\n };\r\n var borderOptions = options.border || {};\r\n if (borderOptions.visible) {\r\n extend(cloudSettings, {\r\n \"stroke-width\": borderOptions.width,\r\n stroke: borderOptions.color,\r\n \"stroke-opacity\": borderOptions.opacity,\r\n dashStyle: borderOptions.dashStyle\r\n })\r\n }\r\n var group = this._root = renderer.g().append(this.root);\r\n if (options.type) {\r\n group.attr({\r\n class: \"dxc-\".concat(options.type, \"-annotation\")\r\n })\r\n }\r\n var cloudGroup = renderer.g().attr({\r\n filter: shadow.id\r\n }).append(group);\r\n this._cloud = renderer.path([], \"area\").attr(cloudSettings).sharp().append(cloudGroup);\r\n this._contentGroup = renderer.g().append(group)\r\n }\r\n getBBox() {\r\n var size = this._size || {};\r\n var margins = this.margins || {};\r\n var rotationAngle = getCloudAngle(size, this.x, this.y, this.anchorX, this.anchorY);\r\n return {\r\n x: Math.floor(this.x - size.width / 2 - margins.lm),\r\n y: Math.floor(this.y - size.height / 2 - margins.tm - (270 === rotationAngle ? this.options.arrowLength : 0)),\r\n width: size.width + margins.lm + margins.rm,\r\n height: size.height + margins.tm + margins.bm + (90 === rotationAngle || 270 === rotationAngle ? this.options.arrowLength : 0)\r\n }\r\n }\r\n clear() {\r\n if (this._root) {\r\n this._root.remove();\r\n this._shadow.remove();\r\n this._root = null\r\n }\r\n return this\r\n }\r\n customizeCloud(attr) {\r\n if (this._cloud) {\r\n this._cloud.attr(attr)\r\n }\r\n }\r\n moveRoot(x, y) {\r\n if (this._root) {\r\n this._root.move(x, y)\r\n }\r\n }\r\n move(x, y) {\r\n x = round(x);\r\n y = round(y);\r\n this.x = x;\r\n this.y = y;\r\n var rotationAngle = getCloudAngle(this._size, x, y, this.anchorX, this.anchorY);\r\n var radRotationAngle = rotationAngle * PI / 180;\r\n this._cloud.attr({\r\n d: getCloudPoints(rotateSize(this._size, rotationAngle), x, y, rotateX(this.anchorX, this.anchorY, radRotationAngle, x, y), rotateY(this.anchorX, this.anchorY, radRotationAngle, x, y), this.options, this.bonded)\r\n }).rotate(rotationAngle, x, y);\r\n this.moveContentGroup(this.widget, this._contentGroup, x - this._contentBBox.x - this._contentBBox.width / 2, y - this._contentBBox.y - this._contentBBox.height / 2)\r\n }\r\n hitTest(x, y) {\r\n var {\r\n width: width,\r\n height: height\r\n } = this._size || {};\r\n return Math.abs(x - this.x) <= width / 2 && Math.abs(y - this.y) <= height / 2\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/core/tooltip.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n replaceWith\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n camelize\r\n} from \"../../core/utils/inflector\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n Renderer\r\n} from \"./renderers/renderer\";\r\nimport {\r\n isFunction,\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n patchFontOptions,\r\n normalizeEnum\r\n} from \"./utils\";\r\nimport formatHelper from \"../../format_helper\";\r\nimport {\r\n Plaque\r\n} from \"./plaque\";\r\nvar format = formatHelper.format;\r\nvar mathCeil = Math.ceil;\r\nvar mathMax = Math.max;\r\nvar mathMin = Math.min;\r\nvar window = getWindow();\r\nvar DEFAULT_HTML_GROUP_WIDTH = 3e3;\r\n\r\nfunction hideElement($element) {\r\n $element.css({\r\n left: \"-9999px\"\r\n }).detach()\r\n}\r\n\r\nfunction getSpecialFormatOptions(options, specialFormat) {\r\n var result = options;\r\n switch (specialFormat) {\r\n case \"argument\":\r\n result = {\r\n format: options.argumentFormat\r\n };\r\n break;\r\n case \"percent\":\r\n result = {\r\n format: {\r\n type: \"percent\",\r\n precision: options.format && options.format.percentPrecision\r\n }\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction createTextHtml() {\r\n return $(\"<div>\").css({\r\n position: \"relative\",\r\n display: \"inline-block\",\r\n padding: 0,\r\n margin: 0,\r\n border: \"0px solid transparent\"\r\n })\r\n}\r\n\r\nfunction removeElements(elements) {\r\n elements.forEach(el => el.remove())\r\n}\r\nexport var Tooltip = function(params) {\r\n this._eventTrigger = params.eventTrigger;\r\n this._widgetRoot = params.widgetRoot;\r\n this._widget = params.widget;\r\n this._textHtmlContainers = [];\r\n this._wrapper = $(\"<div>\").css({\r\n position: \"absolute\",\r\n overflow: \"hidden\",\r\n pointerEvents: \"none\"\r\n }).addClass(params.cssClass);\r\n var renderer = this._renderer = new Renderer({\r\n pathModified: params.pathModified,\r\n container: this._wrapper[0]\r\n });\r\n var root = renderer.root;\r\n root.attr({\r\n \"pointer-events\": \"none\"\r\n });\r\n this._text = renderer.text(void 0, 0, 0);\r\n this._textGroupHtml = $(\"<div>\").css({\r\n position: \"absolute\",\r\n padding: 0,\r\n margin: 0,\r\n border: \"0px solid transparent\"\r\n }).appendTo(this._wrapper);\r\n this._textHtml = createTextHtml().appendTo(this._textGroupHtml)\r\n};\r\nTooltip.prototype = {\r\n constructor: Tooltip,\r\n dispose: function() {\r\n this._wrapper.remove();\r\n this._renderer.dispose();\r\n this._options = this._widgetRoot = null\r\n },\r\n _getContainer: function() {\r\n var options = this._options;\r\n var container = $(this._widgetRoot).closest(options.container);\r\n if (0 === container.length) {\r\n container = $(options.container)\r\n }\r\n return (container.length ? container : $(\"body\")).get(0)\r\n },\r\n setTemplate(contentTemplate) {\r\n this._template = contentTemplate ? this._widget._getTemplate(contentTemplate) : null\r\n },\r\n setOptions: function(options) {\r\n options = options || {};\r\n var that = this;\r\n that._options = options;\r\n that._textFontStyles = patchFontOptions(options.font);\r\n that._textFontStyles.color = that._textFontStyles.fill;\r\n that._wrapper.css({\r\n zIndex: options.zIndex\r\n });\r\n that._customizeTooltip = options.customizeTooltip;\r\n var textGroupHtml = that._textGroupHtml;\r\n if (this.plaque) {\r\n this.plaque.clear()\r\n }\r\n this.setTemplate(options.contentTemplate);\r\n var pointerEvents = options.interactive ? \"auto\" : \"none\";\r\n if (options.interactive) {\r\n this._renderer.root.css({\r\n \"-ms-user-select\": \"auto\",\r\n \"-moz-user-select\": \"auto\",\r\n \"-webkit-user-select\": \"auto\"\r\n })\r\n }\r\n this.plaque = new Plaque({\r\n opacity: that._options.opacity,\r\n color: that._options.color,\r\n border: that._options.border,\r\n paddingLeftRight: that._options.paddingLeftRight,\r\n paddingTopBottom: that._options.paddingTopBottom,\r\n arrowLength: that._options.arrowLength,\r\n arrowWidth: 20,\r\n shadow: that._options.shadow,\r\n cornerRadius: that._options.cornerRadius\r\n }, that, that._renderer.root, _ref => {\r\n var {\r\n group: group,\r\n onRender: onRender,\r\n eventData: eventData,\r\n isMoving: isMoving,\r\n templateCallback: templateCallback = (() => {})\r\n } = _ref;\r\n var state = that._state;\r\n if (!isMoving) {\r\n var template = that._template;\r\n var useTemplate = template && !state.formatObject.skipTemplate;\r\n if (state.html || useTemplate) {\r\n textGroupHtml.css({\r\n color: state.textColor,\r\n width: DEFAULT_HTML_GROUP_WIDTH,\r\n pointerEvents: pointerEvents\r\n });\r\n if (useTemplate) {\r\n var htmlContainers = that._textHtmlContainers;\r\n var containerToTemplateRender = createTextHtml().appendTo(that._textGroupHtml);\r\n htmlContainers.push(containerToTemplateRender);\r\n template.render({\r\n model: state.formatObject,\r\n container: containerToTemplateRender,\r\n onRendered: () => {\r\n removeElements(htmlContainers.splice(0, htmlContainers.length - 1));\r\n that._textHtml = replaceWith(that._textHtml, containerToTemplateRender);\r\n state.html = that._textHtml.html();\r\n if (0 === getWidth(that._textHtml) && 0 === getHeight(that._textHtml)) {\r\n this.plaque.clear();\r\n templateCallback(false);\r\n return\r\n }\r\n onRender();\r\n that._riseEvents(eventData);\r\n that._moveWrapper();\r\n that.plaque.customizeCloud({\r\n fill: state.color,\r\n stroke: state.borderColor,\r\n \"pointer-events\": pointerEvents\r\n });\r\n templateCallback(true);\r\n that._textHtmlContainers = []\r\n }\r\n });\r\n return\r\n } else {\r\n that._text.attr({\r\n text: \"\"\r\n });\r\n that._textHtml.html(state.html)\r\n }\r\n } else {\r\n that._text.css({\r\n fill: state.textColor\r\n }).attr({\r\n text: state.text,\r\n class: options.cssClass,\r\n \"pointer-events\": pointerEvents\r\n }).append(group.attr({\r\n align: options.textAlignment\r\n }))\r\n }\r\n that._riseEvents(eventData);\r\n that.plaque.customizeCloud({\r\n fill: state.color,\r\n stroke: state.borderColor,\r\n \"pointer-events\": pointerEvents\r\n })\r\n }\r\n onRender();\r\n that._moveWrapper();\r\n return true\r\n }, true, (tooltip, g) => {\r\n var state = tooltip._state;\r\n if (state.html) {\r\n var bBox = window.getComputedStyle(that._textHtml.get(0));\r\n bBox = {\r\n x: 0,\r\n y: 0,\r\n width: mathCeil(parseFloat(bBox.width)),\r\n height: mathCeil(parseFloat(bBox.height))\r\n };\r\n return bBox\r\n }\r\n return g.getBBox()\r\n }, (tooltip, g, x, y) => {\r\n var state = tooltip._state;\r\n if (state.html) {\r\n that._textGroupHtml.css({\r\n left: x,\r\n top: y\r\n })\r\n } else {\r\n g.move(x, y)\r\n }\r\n });\r\n return that\r\n },\r\n _riseEvents: function(eventData) {\r\n this._eventData && this._eventTrigger(\"tooltipHidden\", this._eventData);\r\n this._eventData = eventData;\r\n this._eventTrigger(\"tooltipShown\", this._eventData)\r\n },\r\n setRendererOptions: function(options) {\r\n this._renderer.setOptions(options);\r\n this._textGroupHtml.css({\r\n direction: options.rtl ? \"rtl\" : \"ltr\"\r\n });\r\n return this\r\n },\r\n update: function(options) {\r\n this.setOptions(options);\r\n hideElement(this._wrapper);\r\n var normalizedCSS = {};\r\n for (var name in this._textFontStyles) {\r\n normalizedCSS[camelize(name)] = this._textFontStyles[name]\r\n }\r\n this._textGroupHtml.css(normalizedCSS);\r\n this._text.css(this._textFontStyles);\r\n this._eventData = null;\r\n return this\r\n },\r\n _prepare: function(formatObject, state) {\r\n var customizeTooltip = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : this._customizeTooltip;\r\n var options = this._options;\r\n var customize = {};\r\n if (isFunction(customizeTooltip)) {\r\n customize = customizeTooltip.call(formatObject, formatObject);\r\n customize = isPlainObject(customize) ? customize : {};\r\n if (\"text\" in customize) {\r\n state.text = isDefined(customize.text) ? String(customize.text) : \"\"\r\n }\r\n if (\"html\" in customize) {\r\n state.html = isDefined(customize.html) ? String(customize.html) : \"\"\r\n }\r\n }\r\n if (!(\"text\" in state) && !(\"html\" in state)) {\r\n state.text = formatObject.valueText || formatObject.description || \"\"\r\n }\r\n state.color = customize.color || options.color;\r\n state.borderColor = customize.borderColor || (options.border || {}).color;\r\n state.textColor = customize.fontColor || (this._textFontStyles || {}).color;\r\n return !!state.text || !!state.html || !!this._template\r\n },\r\n show: function(formatObject, params, eventData, customizeTooltip, templateCallback) {\r\n if (this._options.forceEvents) {\r\n eventData.x = params.x;\r\n eventData.y = params.y - params.offset;\r\n this._riseEvents(eventData);\r\n return true\r\n }\r\n var state = {\r\n formatObject: formatObject,\r\n eventData: eventData,\r\n templateCallback: templateCallback\r\n };\r\n if (!this._prepare(formatObject, state, customizeTooltip)) {\r\n return false\r\n }\r\n this._state = state;\r\n this._wrapper.appendTo(this._getContainer());\r\n this._clear();\r\n var parameters = extend({}, this._options, {\r\n canvas: this._getCanvas()\r\n }, state, {\r\n x: params.x,\r\n y: params.y,\r\n offset: params.offset\r\n });\r\n return this.plaque.clear().draw(parameters)\r\n },\r\n isCursorOnTooltip: function(x, y) {\r\n if (this._options.interactive) {\r\n var box = this.plaque.getBBox();\r\n return x > box.x && x < box.x + box.width && y > box.y && y < box.y + box.height\r\n }\r\n return false\r\n },\r\n hide: function(isPointerOut) {\r\n hideElement(this._wrapper);\r\n if (this._eventData) {\r\n this._eventTrigger(\"tooltipHidden\", this._options.forceEvents ? extend({\r\n isPointerOut: isPointerOut\r\n }, this._eventData) : this._eventData);\r\n this._clear();\r\n this._eventData = null\r\n }\r\n },\r\n _clear() {\r\n this._textHtml.empty()\r\n },\r\n move: function(x, y, offset) {\r\n this.plaque.draw({\r\n x: x,\r\n y: y,\r\n offset: offset,\r\n canvas: this._getCanvas(),\r\n isMoving: true\r\n })\r\n },\r\n _moveWrapper: function() {\r\n var plaqueBBox = this.plaque.getBBox();\r\n this._renderer.resize(plaqueBBox.width, plaqueBBox.height);\r\n var offset = this._wrapper.css({\r\n left: 0,\r\n top: 0\r\n }).offset();\r\n var left = plaqueBBox.x;\r\n var top = plaqueBBox.y;\r\n this._wrapper.css({\r\n left: left - offset.left,\r\n top: top - offset.top\r\n });\r\n this.plaque.moveRoot(-left, -top);\r\n if (this._state.html) {\r\n this._textHtml.css({\r\n left: -left,\r\n top: -top\r\n });\r\n this._textGroupHtml.css({\r\n width: mathCeil(getWidth(this._textHtml))\r\n })\r\n }\r\n },\r\n formatValue: function(value, _specialFormat) {\r\n var options = _specialFormat ? getSpecialFormatOptions(this._options, _specialFormat) : this._options;\r\n return format(value, options.format)\r\n },\r\n getOptions() {\r\n return this._options\r\n },\r\n getLocation: function() {\r\n return normalizeEnum(this._options.location)\r\n },\r\n isEnabled: function() {\r\n return !!this._options.enabled || !!this._options.forceEvents\r\n },\r\n isShared: function() {\r\n return !!this._options.shared\r\n },\r\n _getCanvas: function() {\r\n var container = this._getContainer();\r\n var containerBox = container.getBoundingClientRect();\r\n var html = domAdapter.getDocumentElement();\r\n var document = domAdapter.getDocument();\r\n var left = window.pageXOffset || html.scrollLeft || 0;\r\n var top = window.pageYOffset || html.scrollTop || 0;\r\n var box = {\r\n left: left,\r\n top: top,\r\n width: mathMax(html.clientWidth, document.body.clientWidth) + left,\r\n height: mathMax(document.body.scrollHeight, html.scrollHeight, document.body.offsetHeight, html.offsetHeight, document.body.clientHeight, html.clientHeight),\r\n right: 0,\r\n bottom: 0\r\n };\r\n if (container !== domAdapter.getBody()) {\r\n left = mathMax(box.left, box.left + containerBox.left);\r\n top = mathMax(box.top, box.top + containerBox.top);\r\n box.width = mathMin(containerBox.width, box.width) + left + box.left;\r\n box.height = mathMin(containerBox.height, box.height) + top + box.top;\r\n box.left = left;\r\n box.top = top\r\n }\r\n return box\r\n }\r\n};\r\nexport var plugin = {\r\n name: \"tooltip\",\r\n init: function() {\r\n this._initTooltip()\r\n },\r\n dispose: function() {\r\n this._disposeTooltip()\r\n },\r\n members: {\r\n _initTooltip: function() {\r\n this._tooltip = new Tooltip({\r\n cssClass: this._rootClassPrefix + \"-tooltip\",\r\n eventTrigger: this._eventTrigger,\r\n pathModified: this.option(\"pathModified\"),\r\n widgetRoot: this.element(),\r\n widget: this\r\n })\r\n },\r\n _disposeTooltip: function() {\r\n this._tooltip.dispose();\r\n this._tooltip = null\r\n },\r\n _setTooltipRendererOptions: function() {\r\n this._tooltip.setRendererOptions(this._getRendererOptions())\r\n },\r\n _setTooltipOptions: function() {\r\n this._tooltip.update(this._getOption(\"tooltip\"))\r\n }\r\n },\r\n extenders: {\r\n _stopCurrentHandling() {\r\n this._tooltip && this._tooltip.hide()\r\n }\r\n },\r\n customize: function(constructor) {\r\n var proto = constructor.prototype;\r\n proto._eventsMap.onTooltipShown = {\r\n name: \"tooltipShown\"\r\n };\r\n proto._eventsMap.onTooltipHidden = {\r\n name: \"tooltipHidden\"\r\n };\r\n constructor.addChange({\r\n code: \"TOOLTIP_RENDERER\",\r\n handler: function() {\r\n this._setTooltipRendererOptions()\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true\r\n });\r\n constructor.addChange({\r\n code: \"TOOLTIP\",\r\n handler: function() {\r\n this._setTooltipOptions()\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true,\r\n option: \"tooltip\"\r\n })\r\n },\r\n fontFields: [\"tooltip.font\"]\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/annotations.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Tooltip\r\n} from \"../core/tooltip\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n patchFontOptions\r\n} from \"./utils\";\r\nimport {\r\n Plaque\r\n} from \"./plaque\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../../events/drag\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nvar getDocument = domAdapter.getDocument;\r\nvar EVENT_NS = \"annotations\";\r\nvar DOT_EVENT_NS = \".\" + EVENT_NS;\r\nvar POINTER_ACTION = addNamespace([pointerEvents.down, pointerEvents.move], EVENT_NS);\r\nvar POINTER_UP_EVENT_NAME = addNamespace(pointerEvents.up, EVENT_NS);\r\nvar DRAG_START_EVENT_NAME = dragEventStart + DOT_EVENT_NS;\r\nvar DRAG_EVENT_NAME = dragEventMove + DOT_EVENT_NS;\r\nvar DRAG_END_EVENT_NAME = dragEventEnd + DOT_EVENT_NS;\r\n\r\nfunction coreAnnotation(options, contentTemplate) {\r\n return {\r\n draw: function(widget, group) {\r\n var annotationGroup = widget._renderer.g().append(group).css(patchFontOptions(options.font));\r\n if (this.plaque) {\r\n this.plaque.clear()\r\n }\r\n this.plaque = new Plaque(extend(true, {}, options, {\r\n cornerRadius: (options.border || {}).cornerRadius\r\n }), widget, annotationGroup, contentTemplate, widget._isAnnotationBounded(options));\r\n this.plaque.draw(widget._getAnnotationCoords(this));\r\n if (options.allowDragging) {\r\n annotationGroup.on(DRAG_START_EVENT_NAME, {\r\n immediate: true\r\n }, e => {\r\n this._dragOffsetX = this.plaque.x - e.pageX;\r\n this._dragOffsetY = this.plaque.y - e.pageY\r\n }).on(DRAG_EVENT_NAME, e => {\r\n this.plaque.move(e.pageX + this._dragOffsetX, e.pageY + this._dragOffsetY)\r\n }).on(DRAG_END_EVENT_NAME, e => {\r\n this.offsetX = (this.offsetX || 0) + e.offset.x;\r\n this.offsetY = (this.offsetY || 0) + e.offset.y\r\n })\r\n }\r\n },\r\n hitTest(x, y) {\r\n return this.plaque.hitTest(x, y)\r\n },\r\n showTooltip(tooltip, _ref) {\r\n var {\r\n x: x,\r\n y: y\r\n } = _ref;\r\n var that = this;\r\n var options = that.options;\r\n if (tooltip.annotation !== that) {\r\n tooltip.setTemplate(options.tooltipTemplate);\r\n var callback = result => {\r\n result && (tooltip.annotation = that)\r\n };\r\n callback(tooltip.show(options, {\r\n x: x,\r\n y: y\r\n }, {\r\n target: options\r\n }, options.customizeTooltip, callback))\r\n } else if (!tooltip.isCursorOnTooltip(x, y)) {\r\n tooltip.move(x, y)\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction getTemplateFunction(options, widget) {\r\n var template;\r\n if (\"text\" === options.type) {\r\n template = function(item, groupElement) {\r\n var text = widget._renderer.text(item.text).attr({\r\n class: item.cssClass\r\n }).append({\r\n element: groupElement\r\n });\r\n if (item.width > 0 || item.height > 0) {\r\n text.setMaxSize(item.width, item.height, {\r\n wordWrap: item.wordWrap,\r\n textOverflow: item.textOverflow\r\n })\r\n }\r\n }\r\n } else if (\"image\" === options.type) {\r\n template = function(item, groupElement) {\r\n var {\r\n width: width,\r\n height: height,\r\n url: url,\r\n location: location\r\n } = item.image || {};\r\n var {\r\n width: outerWidth,\r\n height: outerHeight\r\n } = item;\r\n var imageWidth = outerWidth > 0 ? Math.min(width, outerWidth) : width;\r\n var imageHeight = outerHeight > 0 ? Math.min(height, outerHeight) : height;\r\n widget._renderer.image(0, 0, imageWidth, imageHeight, url, location || \"center\").append({\r\n element: groupElement\r\n })\r\n }\r\n } else if (\"custom\" === options.type) {\r\n template = options.template\r\n }\r\n return template\r\n}\r\n\r\nfunction getImageObject(image) {\r\n return \"string\" === typeof image ? {\r\n url: image\r\n } : image\r\n}\r\nexport var createAnnotations = function(widget, items) {\r\n var commonAnnotationSettings = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var customizeAnnotation = arguments.length > 3 ? arguments[3] : void 0;\r\n var pullOptions = arguments.length > 4 ? arguments[4] : void 0;\r\n var commonImageOptions = getImageObject(commonAnnotationSettings.image);\r\n return items.reduce((arr, item) => {\r\n var currentImageOptions = getImageObject(item.image);\r\n var customizedItem = isFunction(customizeAnnotation) ? customizeAnnotation(item) : {};\r\n if (customizedItem) {\r\n customizedItem.image = getImageObject(customizedItem.image)\r\n }\r\n var options = extend(true, {}, commonAnnotationSettings, item, {\r\n image: commonImageOptions\r\n }, {\r\n image: currentImageOptions\r\n }, customizedItem);\r\n var templateFunction = getTemplateFunction(options, widget);\r\n var annotation = templateFunction && extend(true, pullOptions(options), coreAnnotation(options, widget._getTemplate(templateFunction)));\r\n annotation && arr.push(annotation);\r\n return arr\r\n }, [])\r\n};\r\nvar chartPlugin = {\r\n name: \"annotations_chart\",\r\n init() {},\r\n dispose() {},\r\n members: {\r\n _getAnnotationCoords(annotation) {\r\n var _axis, _axis2;\r\n var coords = {\r\n offsetX: annotation.offsetX,\r\n offsetY: annotation.offsetY\r\n };\r\n var argCoordName = this._options.silent(\"rotated\") ? \"y\" : \"x\";\r\n var valCoordName = this._options.silent(\"rotated\") ? \"x\" : \"y\";\r\n var argAxis = this.getArgumentAxis();\r\n var argument = argAxis.validateUnit(annotation.argument);\r\n var axis = this.getValueAxis(annotation.axis);\r\n var series;\r\n var pane = null === (_axis = axis) || void 0 === _axis ? void 0 : _axis.pane;\r\n if (annotation.series) {\r\n var _series;\r\n series = this.series.filter(s => s.name === annotation.series)[0];\r\n axis = null === (_series = series) || void 0 === _series ? void 0 : _series.getValueAxis();\r\n isDefined(axis) && (pane = axis.pane)\r\n }\r\n if (isDefined(argument)) {\r\n if (series) {\r\n var center = series.getPointCenterByArg(argument);\r\n center && (coords[argCoordName] = center[argCoordName])\r\n } else {\r\n coords[argCoordName] = argAxis.getTranslator().translate(argument)\r\n }!isDefined(pane) && (pane = argAxis.pane)\r\n }\r\n var value = null === (_axis2 = axis) || void 0 === _axis2 ? void 0 : _axis2.validateUnit(annotation.value);\r\n if (isDefined(value)) {\r\n var _axis3;\r\n coords[valCoordName] = null === (_axis3 = axis) || void 0 === _axis3 ? void 0 : _axis3.getTranslator().translate(value);\r\n !isDefined(pane) && isDefined(axis) && (pane = axis.pane)\r\n }\r\n coords.canvas = this._getCanvasForPane(pane);\r\n if (isDefined(coords[argCoordName]) && !isDefined(value)) {\r\n var _series2;\r\n if (!isDefined(axis) && !isDefined(series)) {\r\n coords[valCoordName] = argAxis.getAxisPosition()\r\n } else if (isDefined(axis) && !isDefined(series)) {\r\n coords[valCoordName] = this._argumentAxes.filter(a => a.pane === axis.pane)[0].getAxisPosition()\r\n } else if (null !== (_series2 = series) && void 0 !== _series2 && _series2.checkSeriesViewportCoord(argAxis, coords[argCoordName])) {\r\n coords[valCoordName] = series.getSeriesPairCoord(coords[argCoordName], true)\r\n }\r\n }\r\n if (!isDefined(argument) && isDefined(coords[valCoordName])) {\r\n if (isDefined(axis) && !isDefined(series)) {\r\n coords[argCoordName] = axis.getAxisPosition()\r\n } else if (isDefined(series)) {\r\n if (series.checkSeriesViewportCoord(axis, coords[valCoordName])) {\r\n coords[argCoordName] = series.getSeriesPairCoord(coords[valCoordName], false)\r\n }\r\n }\r\n }\r\n return coords\r\n },\r\n _annotationsPointerEventHandler(event) {\r\n if (this._disposed) {\r\n return\r\n }\r\n var originalEvent = event.originalEvent || {};\r\n var touch = originalEvent.touches && originalEvent.touches[0] || {};\r\n var rootOffset = this._renderer.getRootOffset();\r\n var coords = {\r\n x: touch.pageX || originalEvent.pageX || event.pageX,\r\n y: touch.pageY || originalEvent.pageY || event.pageY\r\n };\r\n var annotation = this._annotations.items.filter(a => a.hitTest(coords.x - rootOffset.left, coords.y - rootOffset.top))[0];\r\n if (!annotation || !annotation.options.tooltipEnabled) {\r\n this._annotations.hideTooltip();\r\n return\r\n }\r\n this._clear();\r\n if (annotation.options.allowDragging && event.type === pointerEvents.down) {\r\n this._annotations._hideToolTipForDrag = true\r\n }\r\n if (!this._annotations._hideToolTipForDrag) {\r\n annotation.showTooltip(this._annotations.tooltip, coords);\r\n event.stopPropagation()\r\n }\r\n },\r\n _isAnnotationBounded: options => isDefined(options.value) || isDefined(options.argument),\r\n _pullOptions: options => ({\r\n type: options.type,\r\n name: options.name,\r\n x: options.x,\r\n y: options.y,\r\n value: options.value,\r\n argument: options.argument,\r\n axis: options.axis,\r\n series: options.series,\r\n options: options,\r\n offsetX: options.offsetX,\r\n offsetY: options.offsetY\r\n }),\r\n _forceAnnotationRender() {\r\n this._change([\"FORCE_RENDER\"])\r\n },\r\n _clear() {\r\n this.hideTooltip();\r\n this.clearHover()\r\n }\r\n }\r\n};\r\nvar polarChartPlugin = {\r\n name: \"annotations_polar_chart\",\r\n init() {},\r\n dispose() {},\r\n members: {\r\n _getAnnotationCoords(annotation) {\r\n var coords = {\r\n offsetX: annotation.offsetX,\r\n offsetY: annotation.offsetY,\r\n canvas: this._calcCanvas()\r\n };\r\n var argAxis = this.getArgumentAxis();\r\n var argument = argAxis.validateUnit(annotation.argument);\r\n var value = this.getValueAxis().validateUnit(annotation.value);\r\n var radius = annotation.radius;\r\n var angle = annotation.angle;\r\n var pointCoords;\r\n var series;\r\n if (annotation.series) {\r\n series = this.series.filter(s => s.name === annotation.series)[0]\r\n }\r\n extend(true, coords, this.getXYFromPolar(angle, radius, argument, value));\r\n if (isDefined(series)) {\r\n if (isDefined(coords.angle) && !isDefined(value) && !isDefined(radius)) {\r\n if (!isDefined(argument)) {\r\n argument = argAxis.getTranslator().from(isFinite(angle) ? this.getActualAngle(angle) : coords.angle)\r\n }\r\n pointCoords = series.getSeriesPairCoord({\r\n argument: argument,\r\n angle: -coords.angle\r\n }, true)\r\n } else if (isDefined(coords.radius) && !isDefined(argument) && !isDefined(angle)) {\r\n pointCoords = series.getSeriesPairCoord({\r\n radius: coords.radius\r\n }, false)\r\n }\r\n if (isDefined(pointCoords)) {\r\n coords.x = pointCoords.x;\r\n coords.y = pointCoords.y\r\n }\r\n }\r\n if (annotation.series && !isDefined(pointCoords)) {\r\n coords.x = coords.y = void 0\r\n }\r\n return coords\r\n },\r\n _annotationsPointerEventHandler: chartPlugin.members._annotationsPointerEventHandler,\r\n _isAnnotationBounded: chartPlugin.members._isAnnotationBounded,\r\n _pullOptions(options) {\r\n var polarOptions = extend({}, {\r\n radius: options.radius,\r\n angle: options.angle\r\n }, chartPlugin.members._pullOptions(options));\r\n delete polarOptions.axis;\r\n return polarOptions\r\n },\r\n _forceAnnotationRender: chartPlugin.members._forceAnnotationRender,\r\n _clear: chartPlugin.members._clear\r\n }\r\n};\r\nvar vectorMapPlugin = {\r\n name: \"annotations_vector_map\",\r\n init() {},\r\n dispose() {\r\n this._annotations._offTracker();\r\n this._annotations._offTracker = null\r\n },\r\n members: {\r\n _getAnnotationCoords(annotation) {\r\n var coords = {\r\n offsetX: annotation.offsetX,\r\n offsetY: annotation.offsetY\r\n };\r\n coords.canvas = this._projection.getCanvas();\r\n if (annotation.coordinates) {\r\n var data = this._projection.toScreenPoint(annotation.coordinates);\r\n coords.x = data[0];\r\n coords.y = data[1]\r\n }\r\n return coords\r\n },\r\n _annotationsPointerEventHandler: chartPlugin.members._annotationsPointerEventHandler,\r\n _isAnnotationBounded: options => isDefined(options.coordinates),\r\n _pullOptions(options) {\r\n var vectorMapOptions = extend({}, {\r\n coordinates: options.coordinates\r\n }, chartPlugin.members._pullOptions(options));\r\n delete vectorMapOptions.axis;\r\n delete vectorMapOptions.series;\r\n delete vectorMapOptions.argument;\r\n delete vectorMapOptions.value;\r\n return vectorMapOptions\r\n },\r\n _forceAnnotationRender() {\r\n this._change([\"EXTRA_ELEMENTS\"])\r\n },\r\n _getAnnotationStyles: () => ({\r\n \"text-anchor\": \"start\"\r\n }),\r\n _clear() {}\r\n },\r\n extenders: {\r\n _prepareExtraElements() {\r\n var that = this;\r\n var renderElements = () => {\r\n that._renderExtraElements()\r\n };\r\n that._annotations._offTracker = that._tracker.on({\r\n move: renderElements,\r\n zoom: renderElements,\r\n end: renderElements\r\n })\r\n }\r\n }\r\n};\r\nvar pieChartPlugin = {\r\n name: \"annotations_pie_chart\",\r\n init() {},\r\n dispose() {},\r\n members: {\r\n _getAnnotationCoords(annotation) {\r\n var series;\r\n var coords = {\r\n offsetX: annotation.offsetX,\r\n offsetY: annotation.offsetY,\r\n canvas: this._canvas\r\n };\r\n if (annotation.argument) {\r\n if (annotation.series) {\r\n series = this.getSeriesByName(annotation.series)\r\n } else {\r\n series = this.series[0]\r\n }\r\n var argument = series.getPointsByArg(annotation.argument)[0];\r\n var {\r\n x: x,\r\n y: y\r\n } = argument.getAnnotationCoords(annotation.location);\r\n coords.x = x;\r\n coords.y = y\r\n }\r\n return coords\r\n },\r\n _isAnnotationBounded: options => options.argument,\r\n _annotationsPointerEventHandler: chartPlugin.members._annotationsPointerEventHandler,\r\n _pullOptions(options) {\r\n var pieChartOptions = extend({}, {\r\n location: options.location\r\n }, chartPlugin.members._pullOptions(options));\r\n delete pieChartOptions.axis;\r\n return pieChartOptions\r\n },\r\n _clear: chartPlugin.members._clear,\r\n _forceAnnotationRender: chartPlugin.members._forceAnnotationRender\r\n }\r\n};\r\nvar corePlugin = {\r\n name: \"annotations_core\",\r\n init() {\r\n this._annotations = {\r\n items: [],\r\n _hideToolTipForDrag: false,\r\n tooltip: new Tooltip({\r\n cssClass: \"\".concat(this._rootClassPrefix, \"-annotation-tooltip\"),\r\n eventTrigger: this._eventTrigger,\r\n widgetRoot: this.element(),\r\n widget: this\r\n }),\r\n hideTooltip() {\r\n this.tooltip.annotation = null;\r\n this.tooltip.hide()\r\n },\r\n clearItems() {\r\n this.items.forEach(i => i.plaque.clear());\r\n this.items = []\r\n }\r\n };\r\n this._annotations.tooltip.setRendererOptions(this._getRendererOptions())\r\n },\r\n dispose() {\r\n this._annotationsGroup.linkRemove().linkOff();\r\n eventsEngine.off(getDocument(), DOT_EVENT_NS);\r\n this._annotationsGroup.off(DOT_EVENT_NS);\r\n this._annotations.tooltip && this._annotations.tooltip.dispose()\r\n },\r\n extenders: {\r\n _createHtmlStructure() {\r\n this._annotationsGroup = this._renderer.g().attr({\r\n class: \"\".concat(this._rootClassPrefix, \"-annotations\")\r\n }).css(this._getAnnotationStyles()).linkOn(this._renderer.root, \"annotations\").linkAppend();\r\n eventsEngine.on(getDocument(), POINTER_ACTION, e => {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (!this._annotations.tooltip.isCursorOnTooltip(e.pageX, e.pageY)) {\r\n this._annotations.hideTooltip()\r\n }\r\n });\r\n eventsEngine.on(getDocument(), POINTER_UP_EVENT_NAME, event => {\r\n this._annotations._hideToolTipForDrag = false;\r\n this._annotationsPointerEventHandler(event)\r\n });\r\n this._annotationsGroup.on(POINTER_ACTION, this._annotationsPointerEventHandler.bind(this))\r\n },\r\n _renderExtraElements() {\r\n this._annotationsGroup.clear();\r\n this._annotations.items.forEach(item => item.draw(this, this._annotationsGroup))\r\n },\r\n _stopCurrentHandling() {\r\n this._annotations.hideTooltip()\r\n }\r\n },\r\n members: {\r\n _buildAnnotations() {\r\n this._annotations.clearItems();\r\n var items = this._getOption(\"annotations\", true);\r\n if (!(null !== items && void 0 !== items && items.length)) {\r\n return\r\n }\r\n this._annotations.items = createAnnotations(this, items, this._getOption(\"commonAnnotationSettings\"), this._getOption(\"customizeAnnotation\", true), this._pullOptions)\r\n },\r\n _setAnnotationTooltipOptions() {\r\n var tooltipOptions = extend({}, this._getOption(\"tooltip\"));\r\n tooltipOptions.contentTemplate = tooltipOptions.customizeTooltip = void 0;\r\n this._annotations.tooltip.update(tooltipOptions)\r\n },\r\n _getAnnotationCoords: () => ({}),\r\n _pullOptions: () => ({}),\r\n _getAnnotationStyles: () => ({})\r\n },\r\n customize(constructor) {\r\n constructor.addChange({\r\n code: \"ANNOTATIONITEMS\",\r\n handler() {\r\n this._requestChange([\"ANNOTATIONS\"])\r\n },\r\n isOptionChange: true,\r\n option: \"annotations\"\r\n });\r\n constructor.addChange({\r\n code: \"ANNOTATIONSSETTINGS\",\r\n handler() {\r\n this._requestChange([\"ANNOTATIONS\"])\r\n },\r\n isOptionChange: true,\r\n option: \"commonAnnotationSettings\"\r\n });\r\n constructor.addChange({\r\n code: \"ANNOTATIONS\",\r\n handler() {\r\n this._buildAnnotations();\r\n this._setAnnotationTooltipOptions();\r\n this._forceAnnotationRender()\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true\r\n })\r\n },\r\n fontFields: [\"commonAnnotationSettings.font\"]\r\n};\r\nexport var plugins = {\r\n core: corePlugin,\r\n chart: chartPlugin,\r\n polarChart: polarChartPlugin,\r\n vectorMap: vectorMapPlugin,\r\n pieChart: pieChartPlugin\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/helpers/range_data_calculator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n unique,\r\n getAddFunction,\r\n getLog\r\n} from \"../../core/utils\";\r\nimport {\r\n isDefined,\r\n isObject\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nvar DISCRETE = \"discrete\";\r\nvar {\r\n abs: abs,\r\n floor: floor,\r\n ceil: ceil,\r\n min: min\r\n} = Math;\r\n\r\nfunction continuousRangeCalculator(range, minValue, maxValue) {\r\n range.min = range.min < minValue ? range.min : minValue;\r\n range.max = range.max > maxValue ? range.max : maxValue\r\n}\r\n\r\nfunction createGetLogFunction(axisType, axis) {\r\n if (\"logarithmic\" !== axisType) {\r\n return null\r\n }\r\n var base = axis.getOptions().logarithmBase;\r\n return value => {\r\n var log = getLog(abs(value), base);\r\n var round = log < 0 ? floor : ceil;\r\n return round(log)\r\n }\r\n}\r\n\r\nfunction getRangeCalculator(axisType, axis, getLog) {\r\n var rangeCalculator = continuousRangeCalculator;\r\n if (axisType === DISCRETE) {\r\n rangeCalculator = function(range, minValue, maxValue) {\r\n if (minValue !== maxValue) {\r\n range.categories.push(maxValue)\r\n }\r\n range.categories.push(minValue)\r\n }\r\n } else if (axis) {\r\n rangeCalculator = function(range, value) {\r\n var interval = axis.calculateInterval(value, range.prevValue);\r\n var minInterval = range.interval;\r\n range.interval = (minInterval < interval ? minInterval : interval) || minInterval;\r\n range.prevValue = value;\r\n continuousRangeCalculator(range, value, value)\r\n }\r\n }\r\n if (getLog) {\r\n return (range, minValue, maxValue) => {\r\n var minArgs = [];\r\n rangeCalculator(range, minValue, maxValue);\r\n 0 !== minValue && minArgs.push(getLog(minValue));\r\n 0 !== maxValue && minArgs.push(getLog(maxValue));\r\n var linearThreshold = min.apply(null, minArgs);\r\n range.linearThreshold = range.linearThreshold < linearThreshold ? range.linearThreshold : linearThreshold\r\n }\r\n }\r\n return rangeCalculator\r\n}\r\n\r\nfunction getInitialRange(axisType, dataType, firstValue) {\r\n var range = {\r\n axisType: axisType,\r\n dataType: dataType\r\n };\r\n if (axisType === DISCRETE) {\r\n range.categories = []\r\n } else {\r\n range.min = isObject(firstValue) ? firstValue.min : firstValue;\r\n range.max = isObject(firstValue) ? firstValue.max : firstValue\r\n }\r\n return range\r\n}\r\n\r\nfunction processCategories(range) {\r\n if (range.categories) {\r\n range.categories = unique(range.categories)\r\n }\r\n return range\r\n}\r\n\r\nfunction getValueForArgument(point, extraPoint, x, range) {\r\n if (extraPoint && isDefined(extraPoint.value)) {\r\n var y1 = point.value;\r\n var y2 = extraPoint.value;\r\n var x1 = point.argument;\r\n var x2 = extraPoint.argument;\r\n var r = (x - x1) * (y2 - y1) / (x2 - x1) + y1.valueOf();\r\n return \"datetime\" === range.dataType ? new Date(r) : r\r\n } else {\r\n return point.value\r\n }\r\n}\r\n\r\nfunction calculateRangeBetweenPoints(rangeCalculator, range, point, prevPoint, bound) {\r\n var value = getValueForArgument(point, prevPoint, bound, range);\r\n rangeCalculator(range, value, value)\r\n}\r\n\r\nfunction isLineSeries(series) {\r\n return series.type.toLowerCase().indexOf(\"line\") >= 0 || series.type.toLowerCase().indexOf(\"area\") >= 0\r\n}\r\n\r\nfunction getViewportReducer(series) {\r\n var rangeCalculator = getRangeCalculator(series.valueAxisType);\r\n var argumentAxis = series.getArgumentAxis();\r\n var viewport = argumentAxis && series.getArgumentAxis().visualRange() || {};\r\n var calculatePointBetweenPoints = isLineSeries(series) ? calculateRangeBetweenPoints : noop;\r\n if (argumentAxis && argumentAxis.getMarginOptions().checkInterval) {\r\n var range = series.getArgumentAxis().getTranslator().getBusinessRange();\r\n var add = getAddFunction(range, false);\r\n var interval = range.interval;\r\n if (isFinite(interval) && isDefined(viewport.startValue) && isDefined(viewport.endValue)) {\r\n viewport.startValue = add(viewport.startValue, interval, -1);\r\n viewport.endValue = add(viewport.endValue, interval)\r\n }\r\n }\r\n var viewportFilter = getViewPortFilter(viewport);\r\n return function(range, point, index, points) {\r\n var argument = point.argument;\r\n if (!point.hasValue()) {\r\n return range\r\n }\r\n if (viewportFilter(argument)) {\r\n if (!range.startCalc) {\r\n range.startCalc = true;\r\n calculatePointBetweenPoints(rangeCalculator, range, point, points[index - 1], viewport.startValue)\r\n }\r\n rangeCalculator(range, point.getMinValue(), point.getMaxValue())\r\n } else if (!viewport.categories && isDefined(viewport.startValue) && argument > viewport.startValue) {\r\n if (!range.startCalc) {\r\n calculatePointBetweenPoints(rangeCalculator, range, point, points[index - 1], viewport.startValue)\r\n }\r\n range.endCalc = true;\r\n calculatePointBetweenPoints(rangeCalculator, range, point, points[index - 1], viewport.endValue)\r\n }\r\n return range\r\n }\r\n}\r\n\r\nfunction getViewPortFilter(viewport) {\r\n if (viewport.categories) {\r\n var dictionary = viewport.categories.reduce((result, category) => {\r\n result[category.valueOf()] = true;\r\n return result\r\n }, {});\r\n return argument => isDefined(argument) && dictionary[argument.valueOf()]\r\n }\r\n if (!isDefined(viewport.startValue) && !isDefined(viewport.endValue)) {\r\n return () => true\r\n }\r\n if (!isDefined(viewport.endValue)) {\r\n return argument => argument >= viewport.startValue\r\n }\r\n if (!isDefined(viewport.startValue)) {\r\n return argument => argument <= viewport.endValue\r\n }\r\n return argument => argument >= viewport.startValue && argument <= viewport.endValue\r\n}\r\nexport default {\r\n getViewPortFilter: getViewPortFilter,\r\n getArgumentRange: function(series) {\r\n var data = series._data || [];\r\n var range = {};\r\n if (data.length) {\r\n if (series.argumentAxisType === DISCRETE) {\r\n range = {\r\n categories: data.map(item => item.argument)\r\n }\r\n } else {\r\n var interval;\r\n if (data.length > 1) {\r\n var i1 = series.getArgumentAxis().calculateInterval(data[0].argument, data[1].argument);\r\n var i2 = series.getArgumentAxis().calculateInterval(data[data.length - 1].argument, data[data.length - 2].argument);\r\n interval = min(i1, i2)\r\n }\r\n range = {\r\n min: data[0].argument,\r\n max: data[data.length - 1].argument,\r\n interval: interval\r\n }\r\n }\r\n }\r\n return processCategories(range)\r\n },\r\n getRangeData: function(series) {\r\n var points = series.getPoints();\r\n var useAggregation = series.useAggregation();\r\n var argumentAxis = series.getArgumentAxis();\r\n var argumentCalculator = getRangeCalculator(series.argumentAxisType, points.length > 1 && argumentAxis, createGetLogFunction(series.argumentAxisType, argumentAxis));\r\n var valueRangeCalculator = getRangeCalculator(series.valueAxisType, null, createGetLogFunction(series.valueAxisType, series.getValueAxis()));\r\n var viewportReducer = getViewportReducer(series);\r\n var range = points.reduce((function(range, point, index, points) {\r\n var argument = point.argument;\r\n if (!point.isArgumentCorrect()) {\r\n return range\r\n }\r\n argumentCalculator(range.arg, argument, argument);\r\n if (point.hasValue()) {\r\n valueRangeCalculator(range.val, point.getMinValue(), point.getMaxValue());\r\n viewportReducer(range.viewport, point, index, points)\r\n }\r\n return range\r\n }), {\r\n arg: getInitialRange(series.argumentAxisType, series.argumentType, null !== argumentAxis && void 0 !== argumentAxis && argumentAxis.aggregatedPointBetweenTicks() ? void 0 : series.getArgumentRangeInitialValue()),\r\n val: getInitialRange(series.valueAxisType, series.valueType, points.length ? series.getValueRangeInitialValue() : void 0),\r\n viewport: getInitialRange(series.valueAxisType, series.valueType, points.length ? series.getValueRangeInitialValue() : void 0)\r\n });\r\n if (useAggregation) {\r\n var argumentRange = this.getArgumentRange(series);\r\n if (series.argumentAxisType === DISCRETE) {\r\n range.arg = argumentRange\r\n } else {\r\n var viewport = argumentAxis.getViewport();\r\n if (isDefined(viewport.startValue) || isDefined(viewport.length)) {\r\n argumentCalculator(range.arg, argumentRange.min, argumentRange.min)\r\n }\r\n if (isDefined(viewport.endValue) || isDefined(viewport.length) && isDefined(viewport.startValue)) {\r\n argumentCalculator(range.arg, argumentRange.max, argumentRange.max)\r\n }\r\n }\r\n }\r\n processCategories(range.arg);\r\n processCategories(range.val);\r\n return range\r\n },\r\n getViewport: function(series) {\r\n var points = series.getPoints();\r\n var range;\r\n var reducer = getViewportReducer(series);\r\n range = getInitialRange(series.valueAxisType, series.valueType, points.length ? series.getValueRangeInitialValue() : void 0);\r\n points.some((function(point, index) {\r\n reducer(range, point, index, points);\r\n return range.endCalc\r\n }));\r\n return range\r\n },\r\n getPointsInViewPort: function(series) {\r\n var argumentViewPortFilter = getViewPortFilter(series.getArgumentAxis().visualRange() || {});\r\n var valueViewPort = series.getValueAxis().visualRange() || {};\r\n var valueViewPortFilter = getViewPortFilter(valueViewPort);\r\n var points = series.getPoints();\r\n var addValue = function(values, point, isEdge) {\r\n var minValue = point.getMinValue();\r\n var maxValue = point.getMaxValue();\r\n var isMinValueInViewPort = valueViewPortFilter(minValue);\r\n var isMaxValueInViewPort = valueViewPortFilter(maxValue);\r\n if (isMinValueInViewPort) {\r\n values.push(minValue)\r\n }\r\n if (maxValue !== minValue && isMaxValueInViewPort) {\r\n values.push(maxValue)\r\n }\r\n if (isEdge && !isMinValueInViewPort && !isMaxValueInViewPort) {\r\n if (!values.length) {\r\n values.push(valueViewPort.startValue)\r\n } else {\r\n values.push(valueViewPort.endValue)\r\n }\r\n }\r\n };\r\n var addEdgePoints = isLineSeries(series) ? function(result, points, index) {\r\n var point = points[index];\r\n var prevPoint = points[index - 1];\r\n var nextPoint = points[index + 1];\r\n if (nextPoint && argumentViewPortFilter(nextPoint.argument)) {\r\n addValue(result[1], point, true)\r\n }\r\n if (prevPoint && argumentViewPortFilter(prevPoint.argument)) {\r\n addValue(result[1], point, true)\r\n }\r\n } : noop;\r\n return points.reduce((function(result, point, index) {\r\n if (argumentViewPortFilter(point.argument)) {\r\n addValue(result[0], point)\r\n } else {\r\n addEdgePoints(result, points, index)\r\n }\r\n return result\r\n }), [\r\n [],\r\n []\r\n ])\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n refreshPaths\r\n} from \"./core/renderers/renderer\";\r\nimport {\r\n each as _each\r\n} from \"../core/utils/iterator\";\r\nvar {\r\n floor: floor\r\n} = Math;\r\nexport var prepareSegmentRectPoints = function(left, top, width, height, borderOptions) {\r\n var maxSW = ~~((width < height ? width : height) / 2);\r\n var sw = borderOptions.width || 0;\r\n var newSW = sw < maxSW ? sw : maxSW;\r\n left += newSW / 2;\r\n top += newSW / 2;\r\n width -= newSW;\r\n height -= newSW;\r\n var right = left + width;\r\n var bottom = top + height;\r\n var points = [];\r\n var segments = [];\r\n var segmentSequence;\r\n var visiblyOpt = 0;\r\n var prevSegmentVisibility = 0;\r\n var allSegment = {\r\n top: [\r\n [left, top],\r\n [right, top]\r\n ],\r\n right: [\r\n [right, top],\r\n [right, bottom]\r\n ],\r\n bottom: [\r\n [right, bottom],\r\n [left, bottom]\r\n ],\r\n left: [\r\n [left, bottom],\r\n [left, top]\r\n ]\r\n };\r\n _each(allSegment, (function(seg) {\r\n var visibility = !!borderOptions[seg];\r\n visiblyOpt = 2 * visiblyOpt + ~~visibility\r\n }));\r\n switch (visiblyOpt) {\r\n case 13:\r\n case 9:\r\n segmentSequence = [\"left\", \"top\", \"right\", \"bottom\"];\r\n break;\r\n case 11:\r\n segmentSequence = [\"bottom\", \"left\", \"top\", \"right\"];\r\n break;\r\n default:\r\n segmentSequence = [\"top\", \"right\", \"bottom\", \"left\"]\r\n }\r\n _each(segmentSequence, (function(_, seg) {\r\n var segmentVisibility = !!borderOptions[seg];\r\n if (!prevSegmentVisibility && segments.length) {\r\n points.push(segments);\r\n segments = []\r\n }\r\n if (segmentVisibility) {\r\n _each(allSegment[seg].slice(prevSegmentVisibility), (function(_, segment) {\r\n segments = segments.concat(segment)\r\n }))\r\n }\r\n prevSegmentVisibility = ~~segmentVisibility\r\n }));\r\n segments.length && points.push(segments);\r\n 1 === points.length && (points = points[0]);\r\n return {\r\n points: points,\r\n pathType: 15 === visiblyOpt ? \"area\" : \"line\"\r\n }\r\n};\r\nexport {\r\n refreshPaths\r\n};\r\nexport var areCanvasesDifferent = function(canvas1, canvas2) {\r\n var sizeLessThreshold = [\"width\", \"height\"].every(key => Math.abs(canvas1[key] - canvas2[key]) < 1);\r\n var canvasCoordsIsEqual = [\"left\", \"right\", \"top\", \"bottom\"].every(key => canvas1[key] === canvas2[key]);\r\n return !(sizeLessThreshold && canvasCoordsIsEqual)\r\n};\r\nexport var floorCanvasDimensions = function(canvas) {\r\n return _extends({}, canvas, {\r\n height: floor(canvas.height),\r\n width: floor(canvas.width)\r\n })\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/axes/smart_formatter.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport formatHelper from \"../../format_helper\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isExponential,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n adjust,\r\n getPrecision,\r\n getExponent\r\n} from \"../../core/utils/math\";\r\nimport {\r\n getAdjustedLog10 as log10\r\n} from \"../core/utils\";\r\nvar _format = formatHelper.format;\r\nvar {\r\n abs: abs,\r\n floor: floor\r\n} = Math;\r\nvar EXPONENTIAL = \"exponential\";\r\nvar formats = [\"fixedPoint\", \"thousands\", \"millions\", \"billions\", \"trillions\", EXPONENTIAL];\r\nvar dateUnitIntervals = [\"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"month\", \"year\"];\r\nvar INTERVALS_MAP = {\r\n week: \"day\",\r\n quarter: \"month\",\r\n shorttime: \"hour\",\r\n longtime: \"second\"\r\n};\r\n\r\nfunction patchFirstTickDiff(differences, tickFormatIndex) {\r\n for (var i = tickFormatIndex; i < dateUnitIntervals.length - 1; i++) {\r\n var dateUnitInterval = dateUnitIntervals[i];\r\n if (i === tickFormatIndex) {\r\n setDateUnitInterval(differences, tickFormatIndex + (differences.millisecond ? 2 : 1));\r\n break\r\n } else if (differences[dateUnitInterval] && differences.count > 1) {\r\n resetDateUnitInterval(differences, i);\r\n break\r\n }\r\n }\r\n}\r\n\r\nfunction patchTickDiff(differences, tickFormatIndex) {\r\n var patched = false;\r\n for (var i = dateUnitIntervals.length - 1; i >= tickFormatIndex; i--) {\r\n var dateUnitInterval = dateUnitIntervals[i];\r\n if (differences[dateUnitInterval]) {\r\n if (i - tickFormatIndex > 1) {\r\n for (var j = 0; j <= tickFormatIndex; j++) {\r\n resetDateUnitInterval(differences, j);\r\n patched = true\r\n }\r\n break\r\n }\r\n }\r\n }\r\n return patched\r\n}\r\n\r\nfunction getDatesDifferences(prevDate, curDate, nextDate, tickIntervalFormat) {\r\n tickIntervalFormat = INTERVALS_MAP[tickIntervalFormat] || tickIntervalFormat;\r\n var tickFormatIndex = dateUnitIntervals.indexOf(tickIntervalFormat);\r\n if (nextDate) {\r\n var nextDifferences = dateUtils.getDatesDifferences(curDate, nextDate);\r\n if (nextDifferences[tickIntervalFormat]) {\r\n patchFirstTickDiff(nextDifferences, tickFormatIndex)\r\n }\r\n return nextDifferences\r\n } else {\r\n var prevDifferences = dateUtils.getDatesDifferences(prevDate, curDate);\r\n var patched = patchTickDiff(prevDifferences, tickFormatIndex);\r\n if (!patched && 1 === prevDifferences.count) {\r\n setDateUnitInterval(prevDifferences, tickFormatIndex)\r\n }\r\n return prevDifferences\r\n }\r\n}\r\n\r\nfunction resetDateUnitInterval(differences, intervalIndex) {\r\n var dateUnitInterval = dateUnitIntervals[intervalIndex];\r\n if (differences[dateUnitInterval]) {\r\n differences[dateUnitInterval] = false;\r\n differences.count--\r\n }\r\n}\r\n\r\nfunction setDateUnitInterval(differences, intervalIndex) {\r\n var dateUnitInterval = dateUnitIntervals[intervalIndex];\r\n if (false === differences[dateUnitInterval]) {\r\n differences[dateUnitInterval] = true;\r\n differences.count++\r\n }\r\n}\r\n\r\nfunction getNoZeroIndex(str) {\r\n return str.length - parseInt(str).toString().length\r\n}\r\n\r\nfunction getTransitionTickIndex(ticks, value) {\r\n var i;\r\n var curDiff;\r\n var minDiff;\r\n var nearestTickIndex = 0;\r\n minDiff = abs(value - ticks[0]);\r\n for (i = 1; i < ticks.length; i++) {\r\n curDiff = abs(value - ticks[i]);\r\n if (curDiff < minDiff) {\r\n minDiff = curDiff;\r\n nearestTickIndex = i\r\n }\r\n }\r\n return nearestTickIndex\r\n}\r\n\r\nfunction splitDecimalNumber(value) {\r\n return value.toString().split(\".\")\r\n}\r\n\r\nfunction createFormat(type) {\r\n var formatter;\r\n if (isFunction(type)) {\r\n formatter = type;\r\n type = null\r\n }\r\n return {\r\n type: type,\r\n formatter: formatter\r\n }\r\n}\r\n\r\nfunction formatLogarithmicNumber(tick) {\r\n var log10Tick = log10(abs(tick));\r\n var type;\r\n if (log10Tick > 0) {\r\n type = formats[floor(log10Tick / 3)] || EXPONENTIAL\r\n } else if (log10Tick < -4) {\r\n type = EXPONENTIAL\r\n } else {\r\n return _format(adjust(tick))\r\n }\r\n return _format(tick, {\r\n type: type,\r\n precision: 0\r\n })\r\n}\r\n\r\nfunction getDateTimeFormat(tick, _ref) {\r\n var {\r\n showTransition: showTransition,\r\n ticks: ticks,\r\n tickInterval: tickInterval\r\n } = _ref;\r\n var typeFormat = dateUtils.getDateFormatByTickInterval(tickInterval);\r\n var prevDateIndex;\r\n var nextDateIndex;\r\n if (showTransition && ticks.length) {\r\n var indexOfTick = ticks.map(Number).indexOf(+tick);\r\n if (1 === ticks.length && 0 === indexOfTick) {\r\n typeFormat = formatHelper.getDateFormatByTicks(ticks)\r\n } else {\r\n if (-1 === indexOfTick) {\r\n prevDateIndex = getTransitionTickIndex(ticks, tick)\r\n } else {\r\n prevDateIndex = 0 === indexOfTick ? ticks.length - 1 : indexOfTick - 1;\r\n nextDateIndex = 0 === indexOfTick ? 1 : -1\r\n }\r\n var datesDifferences = getDatesDifferences(ticks[prevDateIndex], tick, ticks[nextDateIndex], typeFormat);\r\n typeFormat = formatHelper.getDateFormatByDifferences(datesDifferences, typeFormat)\r\n }\r\n }\r\n return createFormat(typeFormat)\r\n}\r\n\r\nfunction getFormatExponential(tick, tickInterval) {\r\n var stringTick = abs(tick).toString();\r\n if (isExponential(tick)) {\r\n return Math.max(abs(getExponent(tick) - getExponent(tickInterval)), abs(getPrecision(tick) - getPrecision(tickInterval)))\r\n } else {\r\n return abs(getNoZeroIndex(stringTick.split(\".\")[1]) - getExponent(tickInterval) + 1)\r\n }\r\n}\r\n\r\nfunction getFormatWithModifier(tick, tickInterval) {\r\n var tickIntervalIndex = floor(log10(tickInterval));\r\n var tickIndex;\r\n var precision = 0;\r\n var actualIndex = tickIndex = floor(log10(abs(tick)));\r\n if (tickIndex - tickIntervalIndex >= 2) {\r\n actualIndex = tickIntervalIndex\r\n }\r\n var indexOfFormat = floor(actualIndex / 3);\r\n var offset = 3 * indexOfFormat;\r\n if (indexOfFormat < 0) {\r\n indexOfFormat = 0\r\n }\r\n var typeFormat = formats[indexOfFormat] || formats[formats.length - 1];\r\n if (offset > 0) {\r\n var separatedTickInterval = splitDecimalNumber(tickInterval / Math.pow(10, offset));\r\n if (separatedTickInterval[1]) {\r\n precision = separatedTickInterval[1].length\r\n }\r\n }\r\n return {\r\n precision: precision,\r\n type: typeFormat\r\n }\r\n}\r\n\r\nfunction getHighDiffFormat(diff) {\r\n var stop = false;\r\n for (var i in diff) {\r\n if (true === diff[i] || \"hour\" === i || stop) {\r\n diff[i] = false;\r\n stop = true\r\n } else if (false === diff[i]) {\r\n diff[i] = true\r\n }\r\n }\r\n return createFormat(formatHelper.getDateFormatByDifferences(diff))\r\n}\r\n\r\nfunction getHighAndSelfDiffFormat(diff, interval) {\r\n var stop = false;\r\n for (var i in diff) {\r\n if (stop) {\r\n diff[i] = false\r\n } else if (i === interval) {\r\n stop = true\r\n } else {\r\n diff[i] = true\r\n }\r\n }\r\n return createFormat(formatHelper.getDateFormatByDifferences(diff))\r\n}\r\n\r\nfunction formatDateRange(startValue, endValue, tickInterval) {\r\n var diff = getDatesDifferences(startValue, endValue);\r\n var typeFormat = dateUtils.getDateFormatByTickInterval(tickInterval);\r\n var diffFormatType = formatHelper.getDateFormatByDifferences(diff, typeFormat);\r\n var diffFormat = createFormat(diffFormatType);\r\n var values = [];\r\n if (tickInterval in diff) {\r\n var rangeFormat = getHighAndSelfDiffFormat(getDatesDifferences(startValue, endValue), tickInterval);\r\n var value = _format(startValue, rangeFormat);\r\n if (value) {\r\n values.push(value)\r\n }\r\n } else {\r\n var _rangeFormat = getHighDiffFormat(getDatesDifferences(startValue, endValue));\r\n var highValue = _format(startValue, _rangeFormat);\r\n if (highValue) {\r\n values.push(highValue)\r\n }\r\n values.push(\"\".concat(_format(startValue, diffFormat), \" - \").concat(_format(endValue, diffFormat)))\r\n }\r\n return values.join(\", \")\r\n}\r\n\r\nfunction processDateInterval(interval) {\r\n if (isObject(interval)) {\r\n var dateUnits = Object.keys(interval);\r\n var sum = dateUnits.reduce((sum, k) => interval[k] + sum, 0);\r\n if (1 === sum) {\r\n var dateUnit = dateUnits.filter(k => 1 === interval[k])[0];\r\n return dateUnit.slice(0, dateUnit.length - 1)\r\n }\r\n }\r\n return interval\r\n}\r\nexport function smartFormatter(tick, options) {\r\n var tickInterval = options.tickInterval;\r\n var stringTick = abs(tick).toString();\r\n var format = options.labelOptions.format;\r\n var ticks = options.ticks;\r\n var isLogarithmic = \"logarithmic\" === options.type;\r\n if (1 === ticks.length && 0 === ticks.indexOf(tick) && !isDefined(tickInterval)) {\r\n tickInterval = abs(tick) >= 1 ? 1 : adjust(1 - abs(tick), tick)\r\n }\r\n if (Object.is(tick, -0)) {\r\n tick = 0\r\n }\r\n if (!isDefined(format) && \"discrete\" !== options.type && tick && (10 === options.logarithmBase || !isLogarithmic)) {\r\n if (\"datetime\" !== options.dataType && isDefined(tickInterval)) {\r\n if (ticks.length && -1 === ticks.indexOf(tick)) {\r\n var indexOfTick = getTransitionTickIndex(ticks, tick);\r\n tickInterval = adjust(abs(tick - ticks[indexOfTick]), tick)\r\n }\r\n if (isLogarithmic) {\r\n return formatLogarithmicNumber(tick)\r\n } else {\r\n var separatedTickInterval = splitDecimalNumber(tickInterval);\r\n if (separatedTickInterval < 2) {\r\n separatedTickInterval = splitDecimalNumber(tick)\r\n }\r\n if (separatedTickInterval.length > 1 && !isExponential(tickInterval)) {\r\n format = {\r\n type: formats[0],\r\n precision: separatedTickInterval[1].length\r\n }\r\n } else if (isExponential(tickInterval) && (-1 !== stringTick.indexOf(\".\") || isExponential(tick))) {\r\n format = {\r\n type: EXPONENTIAL,\r\n precision: getFormatExponential(tick, tickInterval)\r\n }\r\n } else {\r\n format = getFormatWithModifier(tick, tickInterval)\r\n }\r\n }\r\n } else if (\"datetime\" === options.dataType) {\r\n format = getDateTimeFormat(tick, options)\r\n }\r\n }\r\n return _format(tick, format)\r\n}\r\nexport function formatRange(_ref2) {\r\n var {\r\n startValue: startValue,\r\n endValue: endValue,\r\n tickInterval: tickInterval,\r\n argumentFormat: argumentFormat,\r\n axisOptions: {\r\n dataType: dataType,\r\n type: type,\r\n logarithmBase: logarithmBase\r\n }\r\n } = _ref2;\r\n if (\"discrete\" === type) {\r\n return \"\"\r\n }\r\n if (\"datetime\" === dataType) {\r\n return formatDateRange(startValue, endValue, processDateInterval(tickInterval))\r\n }\r\n var formatOptions = {\r\n ticks: [],\r\n type: type,\r\n dataType: dataType,\r\n tickInterval: tickInterval,\r\n logarithmBase: logarithmBase,\r\n labelOptions: {\r\n format: argumentFormat\r\n }\r\n };\r\n return \"\".concat(smartFormatter(startValue, formatOptions), \" - \").concat(smartFormatter(endValue, formatOptions))\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/axes/axes_constants.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map as _map\r\n} from \"../core/utils\";\r\nexport default {\r\n logarithmic: \"logarithmic\",\r\n discrete: \"discrete\",\r\n numeric: \"numeric\",\r\n left: \"left\",\r\n right: \"right\",\r\n top: \"top\",\r\n bottom: \"bottom\",\r\n center: \"center\",\r\n horizontal: \"horizontal\",\r\n vertical: \"vertical\",\r\n convertTicksToValues: function(ticks) {\r\n return _map(ticks || [], (function(item) {\r\n return item.value\r\n }))\r\n },\r\n validateOverlappingMode: function(mode) {\r\n return \"ignore\" === mode || \"none\" === mode ? mode : \"hide\"\r\n },\r\n getTicksCountInRange: function(ticks, valueKey, range) {\r\n var i = 1;\r\n if (ticks.length > 1) {\r\n for (; i < ticks.length; i++) {\r\n if (Math.abs(ticks[i].coords[valueKey] - ticks[0].coords[valueKey]) >= range) {\r\n break\r\n }\r\n }\r\n }\r\n return i\r\n },\r\n areLabelsOverlap: function(bBox1, bBox2, spacing, alignment) {\r\n var horizontalInverted = bBox1.x > bBox2.x;\r\n var verticalInverted = bBox1.y > bBox2.y;\r\n var x1 = bBox1.x;\r\n var x2 = bBox2.x;\r\n var width1 = bBox1.width;\r\n var width2 = bBox2.width;\r\n if (\"left\" === alignment) {\r\n x1 += width1 / 2;\r\n x2 += width2 / 2\r\n } else if (\"right\" === alignment) {\r\n x1 -= width1 / 2;\r\n x2 -= width2 / 2\r\n }\r\n var hasHorizontalOverlapping = horizontalInverted ? x2 + width2 + spacing > x1 : x1 + width1 + spacing > x2;\r\n var hasVerticalOverlapping = verticalInverted ? bBox2.y + bBox2.height > bBox1.y : bBox1.y + bBox1.height > bBox2.y;\r\n return hasHorizontalOverlapping && hasVerticalOverlapping\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/components/parse_utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nvar parsers = {\r\n string: function(val) {\r\n return isDefined(val) ? \"\" + val : val\r\n },\r\n numeric: function(val) {\r\n if (!isDefined(val)) {\r\n return val\r\n }\r\n var parsedVal = Number(val);\r\n if (isNaN(parsedVal)) {\r\n parsedVal = void 0\r\n }\r\n return parsedVal\r\n },\r\n datetime: function(val) {\r\n if (!isDefined(val)) {\r\n return val\r\n }\r\n var parsedVal;\r\n var numVal = Number(val);\r\n if (!isNaN(numVal)) {\r\n parsedVal = new Date(numVal)\r\n } else {\r\n parsedVal = dateSerialization.deserializeDate(val)\r\n }\r\n if (isNaN(Number(parsedVal))) {\r\n parsedVal = void 0\r\n }\r\n return parsedVal\r\n }\r\n};\r\nexport function correctValueType(type) {\r\n return \"numeric\" === type || \"datetime\" === type || \"string\" === type ? type : \"\"\r\n}\r\nexport var getParser = function(valueType) {\r\n return parsers[correctValueType(valueType)] || noop\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/axes/tick_generator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getLogExt as getLog,\r\n getCategoriesInfo,\r\n raiseToExt,\r\n getLog as mathLog,\r\n raiseTo as mathRaise\r\n} from \"../core/utils\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n adjust,\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar convertDateUnitToMilliseconds = dateUtils.convertDateUnitToMilliseconds;\r\nvar dateToMilliseconds = dateUtils.dateToMilliseconds;\r\nvar math = Math;\r\nvar mathAbs = math.abs;\r\nvar mathFloor = math.floor;\r\nvar mathCeil = math.ceil;\r\nvar mathPow = math.pow;\r\nvar NUMBER_MULTIPLIERS = [1, 2, 2.5, 5];\r\nvar LOGARITHMIC_MULTIPLIERS = [1, 2, 3, 5];\r\nvar DATETIME_MULTIPLIERS = {\r\n millisecond: [1, 2, 5, 10, 25, 50, 100, 250, 500],\r\n second: [1, 2, 3, 5, 10, 15, 20, 30],\r\n minute: [1, 2, 3, 5, 10, 15, 20, 30],\r\n hour: [1, 2, 3, 4, 6, 8, 12],\r\n day: [1, 2],\r\n week: [1, 2],\r\n month: [1, 2, 3, 6]\r\n};\r\nvar DATETIME_MULTIPLIERS_WITH_BIG_WEEKEND = extend({}, DATETIME_MULTIPLIERS, {\r\n day: [1]\r\n});\r\nvar DATETIME_MINOR_MULTIPLIERS = {\r\n millisecond: [1, 2, 5, 10, 25, 50, 100, 250, 500],\r\n second: [1, 2, 3, 5, 10, 15, 20, 30],\r\n minute: [1, 2, 3, 5, 10, 15, 20, 30],\r\n hour: [1, 2, 3, 4, 6, 8, 12],\r\n day: [1, 2, 3, 7, 14],\r\n month: [1, 2, 3, 6]\r\n};\r\nvar MINOR_DELIMITERS = [2, 4, 5, 8, 10];\r\nvar VISIBILITY_DELIMITER = 3;\r\nvar MINUTE = 6e4;\r\n\r\nfunction dummyGenerator(options) {\r\n return function(data, screenDelta, tickInterval, forceTickInterval) {\r\n var count = mathFloor(screenDelta / options.axisDivisionFactor);\r\n count = count < 1 ? 1 : count;\r\n var interval = screenDelta / count;\r\n return {\r\n ticks: interval > 0 ? Array.apply(null, new Array(count + 1)).map((_, i) => interval * i) : [],\r\n tickInterval: interval\r\n }\r\n }\r\n}\r\n\r\nfunction discreteGenerator(options) {\r\n return function(data, screenDelta, tickInterval, forceTickInterval) {\r\n var categories = getCategoriesInfo(data.categories, data.min, data.max).categories;\r\n return {\r\n ticks: categories,\r\n tickInterval: mathCeil(categories.length * options.axisDivisionFactor / screenDelta)\r\n }\r\n }\r\n}\r\nvar getValue = value => value;\r\nvar getLogValue = (base, allowNegatives, linearThreshold) => value => getLog(value, base, allowNegatives, linearThreshold);\r\nvar raiseTo = (base, allowNegatives, linearThreshold) => value => raiseToExt(value, base, allowNegatives, linearThreshold);\r\nvar mathRaiseTo = base => value => mathRaise(value, base);\r\nvar logAbsValue = base => value => 0 === value ? 0 : mathLog(mathAbs(value), base);\r\nvar correctValueByInterval = (post, round, getValue) => (value, interval) => adjust(post(round(adjust(getValue(value) / interval)) * interval));\r\n\r\nfunction correctMinValueByEndOnTick(floorFunc, ceilFunc, resolveEndOnTick, endOnTick) {\r\n if (isDefined(endOnTick)) {\r\n return endOnTick ? floorFunc : ceilFunc\r\n }\r\n return function(value, interval, businessViewInfo, forceEndOnTick) {\r\n var floorTickValue = floorFunc(value, interval);\r\n if (value - floorTickValue === 0 || !isDefined(businessViewInfo) || resolveEndOnTick(value, floorTickValue, interval, businessViewInfo) || forceEndOnTick) {\r\n return floorTickValue\r\n }\r\n return ceilFunc(value, interval)\r\n }\r\n}\r\n\r\nfunction resolveEndOnTick(curValue, tickValue, interval, businessViewInfo) {\r\n var prevTickDataDiff = interval - mathAbs(tickValue - curValue);\r\n var intervalCount = math.max(mathCeil(businessViewInfo.businessDelta / interval), 2);\r\n var businessRatio = businessViewInfo.screenDelta / (intervalCount * interval);\r\n var potentialTickScreenDiff = math.round(businessRatio * prevTickDataDiff);\r\n var delimiterFactor = getLog(businessRatio * interval / businessViewInfo.axisDivisionFactor, 2) + 1;\r\n var delimiterMultiplier = (businessViewInfo.isSpacedMargin ? 2 : 1) * delimiterFactor;\r\n var screenDelimiter = math.round(VISIBILITY_DELIMITER * delimiterMultiplier);\r\n return businessViewInfo.businessDelta > businessViewInfo.interval && potentialTickScreenDiff >= screenDelimiter\r\n}\r\n\r\nfunction resolveEndOnTickLog(base) {\r\n return function(curValue, tickValue, interval, businessViewInfo) {\r\n return resolveEndOnTick(getLog(curValue, base), getLog(tickValue, base), interval, businessViewInfo)\r\n }\r\n}\r\n\r\nfunction resolveEndOnTickDate(curValue, tickValue, interval, businessViewInfo) {\r\n return resolveEndOnTick(curValue.valueOf(), tickValue.valueOf(), dateToMilliseconds(interval), businessViewInfo)\r\n}\r\n\r\nfunction getBusinessDelta(data, breaks) {\r\n var spacing = 0;\r\n if (breaks) {\r\n spacing = breaks.reduce((prev, item) => prev + (item.to - item.from), 0)\r\n }\r\n return mathAbs(data.max - data.min - spacing)\r\n}\r\n\r\nfunction getBusinessDeltaLog(base, allowNegatives, linearThreshold) {\r\n var getLog = getLogValue(base, allowNegatives, linearThreshold);\r\n return function(data, breaks) {\r\n var spacing = 0;\r\n if (breaks) {\r\n spacing = breaks.reduce((prev, item) => prev + mathAbs(getLog(item.to / item.from)), 0)\r\n }\r\n return mathCeil(mathAbs(getLog(data.max) - getLog(data.min)) - spacing)\r\n }\r\n}\r\n\r\nfunction getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor, addTickCount) {\r\n var count = screenDelta / axisDivisionFactor - (addTickCount || 0);\r\n count = count < 1 ? 1 : count;\r\n return businessDelta / count\r\n}\r\n\r\nfunction getMultiplierFactor(interval, factorDelta) {\r\n return mathPow(10, mathFloor(getLog(interval, 10)) + (factorDelta || 0))\r\n}\r\n\r\nfunction calculateTickInterval(businessDelta, screenDelta, tickInterval, forceTickInterval, axisDivisionFactor, multipliers, allowDecimals, addTickCount, _, minTickInterval) {\r\n var interval = getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor, addTickCount);\r\n var result = 1;\r\n var onlyIntegers = false === allowDecimals;\r\n if (!forceTickInterval || !tickInterval) {\r\n if (interval >= 1 || !onlyIntegers && interval > 0) {\r\n result = adjustInterval(interval, multipliers, onlyIntegers)\r\n }\r\n if (!tickInterval || !forceTickInterval && tickInterval < result) {\r\n tickInterval = result\r\n }\r\n }\r\n if (!forceTickInterval && minTickInterval) {\r\n minTickInterval = adjustInterval(minTickInterval, multipliers, onlyIntegers);\r\n if (minTickInterval > tickInterval) {\r\n tickInterval = minTickInterval\r\n }\r\n }\r\n return tickInterval\r\n}\r\n\r\nfunction adjustInterval(interval, multipliers, onlyIntegers) {\r\n var factor = getMultiplierFactor(interval, -1);\r\n var result = 1;\r\n multipliers = multipliers || NUMBER_MULTIPLIERS;\r\n if (interval > 0) {\r\n interval /= factor;\r\n result = multipliers.concat(10 * multipliers[0]).map(m => 10 * m).reduce((r, m) => {\r\n if (.1 === factor && onlyIntegers && 25 === m) {\r\n return r\r\n }\r\n return r < interval ? m : r\r\n }, 0);\r\n result = adjust(result * factor, factor)\r\n }\r\n return result\r\n}\r\n\r\nfunction calculateMinorTickInterval(businessDelta, screenDelta, tickInterval, axisDivisionFactor) {\r\n var interval = getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor);\r\n return tickInterval || MINOR_DELIMITERS.reduce((r, d) => {\r\n var cur = businessDelta / d;\r\n return cur >= interval ? cur : r\r\n }, 0)\r\n}\r\n\r\nfunction getCalculateTickIntervalLog(skipCalculationLimits) {\r\n return function(businessDelta, screenDelta, tickInterval, forceTickInterval, axisDivisionFactor, multipliers, allowDecimals, _, __, minTickInterval) {\r\n var interval = getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor);\r\n var result = 0;\r\n var adjustInterval = getAdjustIntervalLog(skipCalculationLimits);\r\n if (!forceTickInterval || !tickInterval) {\r\n if (interval > 0) {\r\n result = adjustInterval(interval, multipliers)\r\n }\r\n if (!tickInterval || !forceTickInterval && tickInterval < result) {\r\n tickInterval = result\r\n }\r\n }\r\n if (!forceTickInterval && minTickInterval) {\r\n minTickInterval = adjustInterval(minTickInterval, multipliers);\r\n if (minTickInterval > tickInterval) {\r\n tickInterval = minTickInterval\r\n }\r\n }\r\n return tickInterval\r\n }\r\n}\r\n\r\nfunction getAdjustIntervalLog(skipCalculationLimits) {\r\n return function(interval, multipliers) {\r\n var factor = getMultiplierFactor(interval);\r\n multipliers = multipliers || LOGARITHMIC_MULTIPLIERS;\r\n if (!skipCalculationLimits && factor < 1) {\r\n factor = 1\r\n }\r\n return multipliers.concat(10 * multipliers[0]).reduce((r, m) => r < interval ? m * factor : r, 0)\r\n }\r\n}\r\n\r\nfunction getDataTimeMultipliers(gapSize) {\r\n if (gapSize && gapSize > 2) {\r\n return DATETIME_MULTIPLIERS_WITH_BIG_WEEKEND\r\n } else {\r\n return DATETIME_MULTIPLIERS\r\n }\r\n}\r\n\r\nfunction numbersReducer(interval, key) {\r\n return function(r, m) {\r\n if (!r && interval <= convertDateUnitToMilliseconds(key, m)) {\r\n r = {};\r\n r[key + \"s\"] = m\r\n }\r\n return r\r\n }\r\n}\r\n\r\nfunction yearsReducer(interval, factor) {\r\n return function(r, m) {\r\n var years = factor * m;\r\n if (!r && interval <= convertDateUnitToMilliseconds(\"year\", years) && 2.5 !== years) {\r\n r = {\r\n years: years\r\n }\r\n }\r\n return r\r\n }\r\n}\r\n\r\nfunction calculateTickIntervalDateTime(businessDelta, screenDelta, tickInterval, forceTickInterval, axisDivisionFactor, multipliers, allowDecimals, addTickCount, gapSize, minTickInterval) {\r\n if (!forceTickInterval || !tickInterval) {\r\n var result = adjustIntervalDateTime(getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor), multipliers, null, gapSize);\r\n if (!tickInterval || !forceTickInterval && dateToMilliseconds(tickInterval) <= dateToMilliseconds(result)) {\r\n tickInterval = result\r\n }\r\n }\r\n if (!forceTickInterval && minTickInterval) {\r\n minTickInterval = adjustIntervalDateTime(minTickInterval, multipliers, null, gapSize);\r\n if (dateToMilliseconds(minTickInterval) > dateToMilliseconds(tickInterval)) {\r\n tickInterval = minTickInterval\r\n }\r\n }\r\n return tickInterval\r\n}\r\n\r\nfunction adjustIntervalDateTime(interval, multipliers, _, gapSize) {\r\n var result;\r\n multipliers = multipliers || getDataTimeMultipliers(gapSize);\r\n for (var key in multipliers) {\r\n result = multipliers[key].reduce(numbersReducer(interval, key), result);\r\n if (result) {\r\n break\r\n }\r\n }\r\n if (!result) {\r\n for (var factor = 1;; factor *= 10) {\r\n result = NUMBER_MULTIPLIERS.reduce(yearsReducer(interval, factor), result);\r\n if (result) {\r\n break\r\n }\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction calculateMinorTickIntervalDateTime(businessDelta, screenDelta, tickInterval, axisDivisionFactor) {\r\n return calculateTickIntervalDateTime(businessDelta, screenDelta, tickInterval, true, axisDivisionFactor, DATETIME_MINOR_MULTIPLIERS)\r\n}\r\n\r\nfunction getTickIntervalByCustomTicks(getValue, postProcess) {\r\n return ticks => ticks ? postProcess(mathAbs(adjust(getValue(ticks[1]) - getValue(ticks[0])))) || void 0 : void 0\r\n}\r\n\r\nfunction addInterval(value, interval, isNegative) {\r\n return dateUtils.addInterval(value, interval, isNegative)\r\n}\r\n\r\nfunction addIntervalLog(log, raise) {\r\n return (value, interval, isNegative) => raise(addInterval(log(value), interval, isNegative))\r\n}\r\n\r\nfunction addIntervalDate(value, interval, isNegative) {\r\n return addInterval(value, interval, isNegative)\r\n}\r\n\r\nfunction addIntervalWithBreaks(addInterval, breaks, correctValue) {\r\n breaks = breaks.filter(b => !b.gapSize);\r\n return function(value, interval, isNegative) {\r\n var breakSize;\r\n value = addInterval(value, interval, isNegative);\r\n if (!breaks.every(item => {\r\n if (value >= addInterval(item.from, interval) && addInterval(value, interval) < item.to) {\r\n breakSize = item.to - item.from - 2 * (addInterval(item.from, interval) - item.from)\r\n }\r\n return !breakSize\r\n })) {\r\n value = correctValue(addInterval(value, breakSize), interval)\r\n }\r\n return value\r\n }\r\n}\r\n\r\nfunction calculateTicks(addInterval, correctMinValue, adjustInterval, resolveEndOnTick) {\r\n return function(data, tickInterval, endOnTick, gaps, breaks, businessDelta, screenDelta, axisDivisionFactor, generateExtraTick) {\r\n var correctTickValue = correctTickValueOnGapSize(addInterval, gaps);\r\n var min = data.min;\r\n var max = data.max;\r\n var businessViewInfo = {\r\n screenDelta: screenDelta,\r\n businessDelta: businessDelta,\r\n axisDivisionFactor: axisDivisionFactor,\r\n isSpacedMargin: data.isSpacedMargin,\r\n interval: tickInterval\r\n };\r\n var cur = correctMinValue(min, tickInterval, businessViewInfo);\r\n var ticks = [];\r\n if (null !== breaks && void 0 !== breaks && breaks.length) {\r\n addInterval = addIntervalWithBreaks(addInterval, breaks, correctMinValue)\r\n }\r\n if (cur > max) {\r\n cur = correctMinValue(min, adjustInterval(businessDelta / 2), businessViewInfo);\r\n if (cur > max) {\r\n endOnTick = true;\r\n cur = correctMinValue(min, tickInterval, businessViewInfo, endOnTick)\r\n }\r\n }\r\n cur = correctTickValue(cur);\r\n var prev;\r\n while (cur < max && cur !== prev || generateExtraTick && cur <= max) {\r\n ticks.push(cur);\r\n prev = cur;\r\n cur = correctTickValue(addInterval(cur, tickInterval))\r\n }\r\n if (endOnTick || cur - max === 0 || !isDefined(endOnTick) && resolveEndOnTick(max, cur, tickInterval, businessViewInfo)) {\r\n ticks.push(cur)\r\n }\r\n return ticks\r\n }\r\n}\r\n\r\nfunction calculateMinorTicks(updateTickInterval, addInterval, correctMinValue, correctTickValue, ceil) {\r\n return function(min, max, majorTicks, minorTickInterval, tickInterval, breaks, maxCount) {\r\n var factor = tickInterval / minorTickInterval;\r\n var lastMajor = majorTicks[majorTicks.length - 1];\r\n var firstMajor = majorTicks[0];\r\n var tickBalance = maxCount - 1;\r\n if (null !== breaks && void 0 !== breaks && breaks.length) {\r\n addInterval = addIntervalWithBreaks(addInterval, breaks, correctMinValue)\r\n }\r\n minorTickInterval = updateTickInterval(minorTickInterval, firstMajor, firstMajor, factor);\r\n if (0 === minorTickInterval) {\r\n return []\r\n }\r\n var cur = correctTickValue(correctMinValue(min, tickInterval, min), minorTickInterval);\r\n minorTickInterval = updateTickInterval(minorTickInterval, firstMajor, cur, factor);\r\n var ticks = [];\r\n while (cur < firstMajor && (!tickBalance || tickBalance > 0)) {\r\n cur >= min && ticks.push(cur);\r\n tickBalance--;\r\n cur = addInterval(cur, minorTickInterval)\r\n }\r\n var middleTicks = majorTicks.reduce((r, tick) => {\r\n tickBalance = maxCount - 1;\r\n if (null === r.prevTick) {\r\n r.prevTick = tick;\r\n return r\r\n }\r\n minorTickInterval = updateTickInterval(minorTickInterval, tick, r.prevTick, factor);\r\n var cur = correctTickValue(r.prevTick, minorTickInterval);\r\n while (cur < tick && (!tickBalance || tickBalance > 0)) {\r\n cur !== r.prevTick && r.minors.push(cur);\r\n tickBalance--;\r\n cur = addInterval(cur, minorTickInterval)\r\n }\r\n r.prevTick = tick;\r\n return r\r\n }, {\r\n prevTick: null,\r\n minors: []\r\n });\r\n ticks = ticks.concat(middleTicks.minors);\r\n var maxValue = ceil(max, tickInterval, min);\r\n minorTickInterval = updateTickInterval(minorTickInterval, maxValue, maxValue, factor);\r\n cur = correctTickValue(lastMajor, minorTickInterval);\r\n var prev;\r\n while (cur < max && cur !== prev) {\r\n ticks.push(cur);\r\n prev = cur;\r\n cur = addInterval(cur, minorTickInterval)\r\n }\r\n if (lastMajor - max !== 0 && cur - max === 0) {\r\n ticks.push(cur)\r\n }\r\n return ticks\r\n }\r\n}\r\n\r\nfunction filterTicks(ticks, breaks) {\r\n if (breaks.length) {\r\n var result = breaks.reduce((result, b) => {\r\n var tmpTicks = [];\r\n var i;\r\n for (i = result[1]; i < ticks.length; i++) {\r\n var tickValue = ticks[i];\r\n if (tickValue < b.from) {\r\n tmpTicks.push(tickValue)\r\n }\r\n if (tickValue >= b.to) {\r\n break\r\n }\r\n }\r\n return [result[0].concat(tmpTicks), i]\r\n }, [\r\n [], 0\r\n ]);\r\n return result[0].concat(ticks.slice(result[1]))\r\n }\r\n return ticks\r\n}\r\n\r\nfunction correctTickValueOnGapSize(addInterval, breaks) {\r\n return function(value) {\r\n var gapSize;\r\n if (!breaks.every(item => {\r\n if (value >= item.from && value < item.to) {\r\n gapSize = item.gapSize\r\n }\r\n return !gapSize\r\n })) {\r\n value = addInterval(value, gapSize)\r\n }\r\n return value\r\n }\r\n}\r\n\r\nfunction generator(options, getBusinessDelta, calculateTickInterval, calculateMinorTickInterval, getMajorTickIntervalByCustomTicks, getMinorTickIntervalByCustomTicks, convertTickInterval, calculateTicks, calculateMinorTicks, processScaleBreaks) {\r\n function correctUserTickInterval(tickInterval, businessDelta, limit) {\r\n if (tickInterval && businessDelta / convertTickInterval(tickInterval) >= limit + 1) {\r\n options.incidentOccurred(\"W2003\");\r\n tickInterval = void 0\r\n }\r\n return tickInterval\r\n }\r\n return function(data, screenDelta, tickInterval, forceTickInterval, customTicks, minorTickInterval, minorTickCount, breaks) {\r\n customTicks = customTicks || {};\r\n var businessDelta = getBusinessDelta(data, breaks);\r\n var result = function(customTicks) {\r\n return {\r\n tickInterval: getMajorTickIntervalByCustomTicks(customTicks.majors),\r\n ticks: customTicks.majors || [],\r\n minorTickInterval: getMinorTickIntervalByCustomTicks(customTicks.minors),\r\n minorTicks: customTicks.minors || []\r\n }\r\n }(customTicks);\r\n if (!isNaN(businessDelta)) {\r\n if (0 === businessDelta && !customTicks.majors) {\r\n result.ticks = [data.min]\r\n } else {\r\n result = function(ticks, data, businessDelta, screenDelta, tickInterval, forceTickInterval, customTicks, breaks) {\r\n if (customTicks.majors) {\r\n ticks.breaks = breaks;\r\n return ticks\r\n }\r\n var gaps = breaks.filter(b => b.gapSize);\r\n var majorTicks;\r\n tickInterval = options.skipCalculationLimits ? tickInterval : correctUserTickInterval(tickInterval, businessDelta, screenDelta);\r\n tickInterval = calculateTickInterval(businessDelta, screenDelta, tickInterval, forceTickInterval, options.axisDivisionFactor, options.numberMultipliers, options.allowDecimals, breaks.length, gaps[0] && gaps[0].gapSize.days, options.minTickInterval);\r\n if (!options.skipTickGeneration) {\r\n majorTicks = calculateTicks(data, tickInterval, options.endOnTick, gaps, breaks, businessDelta, screenDelta, options.axisDivisionFactor, options.generateExtraTick);\r\n breaks = processScaleBreaks(breaks, majorTicks, tickInterval);\r\n majorTicks = filterTicks(majorTicks, breaks);\r\n ticks.breaks = breaks;\r\n ticks.ticks = ticks.ticks.concat(majorTicks)\r\n }\r\n ticks.tickInterval = tickInterval;\r\n return ticks\r\n }(result, data, businessDelta, screenDelta, tickInterval, forceTickInterval, customTicks, breaks || []);\r\n if (!options.skipTickGeneration && businessDelta > 0) {\r\n result = function(ticks, data, businessDelta, screenDelta, minorTickInterval, minorTickCount, customTicks) {\r\n if (!options.calculateMinors) {\r\n return ticks\r\n }\r\n if (customTicks.minors) {\r\n return ticks\r\n }\r\n var minorBusinessDelta = convertTickInterval(ticks.tickInterval);\r\n var minorScreenDelta = screenDelta * minorBusinessDelta / businessDelta;\r\n var breaks = ticks.breaks;\r\n if (!minorTickInterval && minorTickCount) {\r\n minorTickInterval = getMinorTickIntervalByCustomTicks([minorBusinessDelta / (minorTickCount + 1), minorBusinessDelta / (minorTickCount + 1) * 2])\r\n } else {\r\n minorTickCount = void 0\r\n }\r\n minorTickInterval = correctUserTickInterval(minorTickInterval, minorBusinessDelta, minorScreenDelta);\r\n minorTickInterval = calculateMinorTickInterval(minorBusinessDelta, minorScreenDelta, minorTickInterval, options.minorAxisDivisionFactor);\r\n ticks.minorTicks = filterTicks(ticks.minorTicks.concat(calculateMinorTicks(data.min, data.max, ticks.ticks, minorTickInterval, ticks.tickInterval, breaks, minorTickCount)), breaks);\r\n ticks.minorTickInterval = minorTickInterval;\r\n return ticks\r\n }(result, data, businessDelta, screenDelta, minorTickInterval, minorTickCount, customTicks)\r\n }\r\n }\r\n }\r\n return result\r\n }\r\n}\r\n\r\nfunction getBaseTick(breakValue, _ref, interval, getValue) {\r\n var [tick, insideTick] = _ref;\r\n if (!isDefined(tick) || mathAbs(getValue(breakValue) - getValue(tick)) / interval > .25) {\r\n if (isDefined(insideTick) && mathAbs(getValue(insideTick) - getValue(tick)) / interval < 2) {\r\n tick = insideTick\r\n } else if (!isDefined(tick)) {\r\n tick = breakValue\r\n }\r\n }\r\n return tick\r\n}\r\n\r\nfunction getScaleBreaksProcessor(convertTickInterval, getValue, addCorrection) {\r\n return function(breaks, ticks, tickInterval) {\r\n var interval = convertTickInterval(tickInterval);\r\n var correction = .5 * interval;\r\n return breaks.reduce((result, b) => {\r\n var breakTicks = ticks.filter(tick => tick <= b.from);\r\n var from = addCorrection(getBaseTick(b.from, [].concat(breakTicks[breakTicks.length - 1], ticks[breakTicks.length]), interval, getValue), correction);\r\n breakTicks = ticks.filter(tick => tick >= b.to);\r\n var to = addCorrection(getBaseTick(b.to, [].concat(breakTicks[0], ticks[ticks.length - breakTicks.length - 1]), interval, getValue), -correction);\r\n if (getValue(to) - getValue(from) < interval && !b.gapSize) {\r\n return result\r\n }\r\n if (b.gapSize) {\r\n return result.concat([b])\r\n }\r\n return result.concat([{\r\n from: from,\r\n to: to,\r\n cumulativeWidth: b.cumulativeWidth\r\n }])\r\n }, [])\r\n }\r\n}\r\n\r\nfunction numericGenerator(options) {\r\n var floor = correctValueByInterval(getValue, mathFloor, getValue);\r\n var ceil = correctValueByInterval(getValue, mathCeil, getValue);\r\n var calculateTickIntervalByCustomTicks = getTickIntervalByCustomTicks(getValue, getValue);\r\n return generator(options, getBusinessDelta, calculateTickInterval, calculateMinorTickInterval, calculateTickIntervalByCustomTicks, calculateTickIntervalByCustomTicks, getValue, calculateTicks(addInterval, correctMinValueByEndOnTick(floor, ceil, resolveEndOnTick, options.endOnTick), adjustInterval, resolveEndOnTick), calculateMinorTicks(getValue, addInterval, floor, addInterval, getValue), getScaleBreaksProcessor(getValue, getValue, (value, correction) => value + correction))\r\n}\r\nvar correctValueByIntervalLog = (post, getRound, getValue) => (value, interval) => sign(value) * adjust(post(getRound(value)(adjust(getValue(value) / interval)) * interval));\r\n\r\nfunction logarithmicGenerator(options) {\r\n var base = options.logBase;\r\n var raise = raiseTo(base, options.allowNegatives, options.linearThreshold);\r\n var log = getLogValue(base, options.allowNegatives, options.linearThreshold);\r\n var absLog = logAbsValue(base);\r\n var absRaise = mathRaiseTo(base);\r\n var floor = correctValueByIntervalLog(absRaise, value => value < 0 ? mathCeil : mathFloor, absLog);\r\n var ceil = correctValueByIntervalLog(absRaise, value => value < 0 ? mathFloor : mathCeil, absLog);\r\n var ceilNumber = correctValueByInterval(getValue, mathCeil, getValue);\r\n return generator(options, getBusinessDeltaLog(base, options.allowNegatives, options.linearThreshold), getCalculateTickIntervalLog(options.skipCalculationLimits), calculateMinorTickInterval, getTickIntervalByCustomTicks(log, getValue), getTickIntervalByCustomTicks(getValue, getValue), getValue, calculateTicks(addIntervalLog(log, raise), correctMinValueByEndOnTick(floor, ceil, resolveEndOnTickLog(base), options.endOnTick), getAdjustIntervalLog(options.skipCalculationLimits), resolveEndOnTickLog(base)), calculateMinorTicks((_, tick, prevTick, factor) => Math.max(Math.abs(tick), Math.abs(prevTick)) / factor, addInterval, floor, ceilNumber, ceil), getScaleBreaksProcessor(getValue, log, (value, correction) => raise(log(value) + correction)))\r\n}\r\n\r\nfunction dateGenerator(options) {\r\n function floor(value, interval) {\r\n var floorNumber = correctValueByInterval(getValue, mathFloor, getValue);\r\n var intervalObject = isString(interval) ? dateUtils.getDateIntervalByString(interval.toLowerCase()) : interval;\r\n var divider = dateToMilliseconds(interval);\r\n if (intervalObject.days % 7 === 0 || interval.quarters) {\r\n intervalObject = adjustIntervalDateTime(divider)\r\n }\r\n var correctDateWithUnitBeginning = v => dateUtils.correctDateWithUnitBeginning(v, intervalObject, null, options.firstDayOfWeek);\r\n var floorAtStartDate = v => new Date(mathFloor((v.getTime() - v.getTimezoneOffset() * MINUTE) / divider) * divider + v.getTimezoneOffset() * MINUTE);\r\n value = correctDateWithUnitBeginning(value);\r\n if (\"years\" in intervalObject) {\r\n value.setFullYear(floorNumber(value.getFullYear(), intervalObject.years))\r\n } else if (\"quarters\" in intervalObject) {\r\n value = correctDateWithUnitBeginning(floorAtStartDate(value))\r\n } else if (\"months\" in intervalObject) {\r\n value.setMonth(floorNumber(value.getMonth(), intervalObject.months))\r\n } else if (\"weeks\" in intervalObject || \"days\" in intervalObject) {\r\n value = correctDateWithUnitBeginning(floorAtStartDate(value))\r\n } else if (\"hours\" in intervalObject) {\r\n value.setHours(floorNumber(value.getHours(), intervalObject.hours))\r\n } else if (\"minutes\" in intervalObject) {\r\n value.setMinutes(floorNumber(value.getMinutes(), intervalObject.minutes))\r\n } else if (\"seconds\" in intervalObject) {\r\n value.setSeconds(floorNumber(value.getSeconds(), intervalObject.seconds))\r\n } else if (\"milliseconds\" in intervalObject) {\r\n value = floorAtStartDate(value)\r\n }\r\n return value\r\n }\r\n var calculateTickIntervalByCustomTicks = getTickIntervalByCustomTicks(getValue, dateUtils.convertMillisecondsToDateUnits);\r\n return generator(options, getBusinessDelta, calculateTickIntervalDateTime, calculateMinorTickIntervalDateTime, calculateTickIntervalByCustomTicks, calculateTickIntervalByCustomTicks, dateToMilliseconds, calculateTicks(addIntervalDate, correctMinValueByEndOnTick(floor, (function(value, interval) {\r\n var newValue = floor(value, interval);\r\n while (value - newValue > 0) {\r\n newValue = addIntervalDate(newValue, interval)\r\n }\r\n return newValue\r\n }), resolveEndOnTickDate, options.endOnTick), adjustIntervalDateTime, resolveEndOnTickDate), calculateMinorTicks(getValue, addIntervalDate, floor, addIntervalDate, getValue), getScaleBreaksProcessor(dateToMilliseconds, getValue, (value, correction) => new Date(value.getTime() + correction)))\r\n}\r\nexport var tickGenerator = function(options) {\r\n var result;\r\n if (options.rangeIsEmpty) {\r\n result = dummyGenerator(options)\r\n } else if (\"discrete\" === options.axisType) {\r\n result = discreteGenerator(options)\r\n } else if (\"logarithmic\" === options.axisType) {\r\n result = logarithmicGenerator(options)\r\n } else if (\"datetime\" === options.dataType) {\r\n result = dateGenerator(options)\r\n } else {\r\n result = numericGenerator(options)\r\n }\r\n return result\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/axes/tick.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\n\r\nfunction getPathStyle(options) {\r\n return {\r\n stroke: options.color,\r\n \"stroke-width\": options.width,\r\n \"stroke-opacity\": options.opacity,\r\n opacity: 1\r\n }\r\n}\r\n\r\nfunction createTick(axis, renderer, tickOptions, gridOptions, skippedCategory, skipLabels, offset) {\r\n var tickOffset = offset || axis._tickOffset;\r\n var lineGroup = axis._axisLineGroup;\r\n var elementsGroup = axis._axisElementsGroup;\r\n var tickStyle = getPathStyle(tickOptions);\r\n var gridStyle = getPathStyle(gridOptions);\r\n var emptyStrRegExp = /^\\s+$/;\r\n var axisOptions = axis.getOptions();\r\n var labelOptions = axisOptions.label;\r\n var labelStyle = axis._textOptions;\r\n\r\n function getLabelFontStyle(tick) {\r\n var fontStyle = axis._textFontStyles;\r\n var customizeColor = labelOptions.customizeColor;\r\n if (customizeColor && customizeColor.call) {\r\n fontStyle = extend({}, axis._textFontStyles, {\r\n fill: customizeColor.call(tick, tick)\r\n })\r\n }\r\n return fontStyle\r\n }\r\n\r\n function createLabelHint(tick, range) {\r\n var labelHint = axis.formatHint(tick.value, labelOptions, range);\r\n if (isDefined(labelHint) && \"\" !== labelHint) {\r\n tick.getContentContainer().setTitle(labelHint)\r\n }\r\n }\r\n return function(value) {\r\n var tick = {\r\n value: value,\r\n updateValue(newValue) {\r\n this.value = value = newValue\r\n },\r\n initCoords: function() {\r\n this.coords = axis._getTranslatedValue(value, tickOffset);\r\n this.labelCoords = axis._getTranslatedValue(value)\r\n },\r\n saveCoords() {\r\n this._lastStoredCoordinates = {\r\n coords: this._storedCoords,\r\n labelCoords: this._storedLabelsCoords\r\n };\r\n this._storedCoords = this.coords;\r\n this._storedLabelsCoords = this.templateContainer ? this._getTemplateCoords() : this.labelCoords\r\n },\r\n resetCoordinates() {\r\n if (this._lastStoredCoordinates) {\r\n this._storedCoords = this._lastStoredCoordinates.coords;\r\n this._storedLabelsCoords = this._lastStoredCoordinates.labelCoords\r\n }\r\n },\r\n drawMark(options) {\r\n if (!tickOptions.visible || skippedCategory === value) {\r\n return\r\n }\r\n if (axis.areCoordsOutsideAxis(this.coords)) {\r\n return\r\n }\r\n if (this.mark) {\r\n this.mark.append(lineGroup);\r\n axis.sharp(this.mark, axis.getSharpDirectionByCoords(this.coords));\r\n this.updateTickPosition(options)\r\n } else {\r\n this.mark = axis._createPathElement([], tickStyle, axis.getSharpDirectionByCoords(this.coords)).append(lineGroup);\r\n this.updateTickPosition(options)\r\n }\r\n },\r\n setSkippedCategory(category) {\r\n skippedCategory = category\r\n },\r\n _updateLine(lineElement, settings, storedSettings, animate, isGridLine) {\r\n if (!lineElement) {\r\n return\r\n }\r\n if (null === settings.points || null === settings.r) {\r\n lineElement.remove();\r\n return\r\n }\r\n if (animate && storedSettings && null !== storedSettings.points) {\r\n settings.opacity = 1;\r\n lineElement.attr(storedSettings);\r\n lineElement.animate(settings)\r\n } else {\r\n settings.opacity = animate ? 0 : 1;\r\n lineElement.attr(settings);\r\n animate && lineElement.animate({\r\n opacity: 1\r\n }, {\r\n delay: .5,\r\n partitionDuration: .5\r\n })\r\n }\r\n this.coords.angle && axis._rotateTick(lineElement, this.coords, isGridLine)\r\n },\r\n updateTickPosition: function(options, animate) {\r\n this._updateLine(this.mark, {\r\n points: axis._getTickMarkPoints(tick.coords, tickOptions.length, options)\r\n }, this._storedCoords && {\r\n points: axis._getTickMarkPoints(tick._storedCoords, tickOptions.length, options)\r\n }, animate, false)\r\n },\r\n drawLabel: function(range, template) {\r\n if (this.templateContainer && axis.isRendered()) {\r\n this.updateLabelPosition();\r\n return\r\n }\r\n var labelIsVisible = labelOptions.visible && !skipLabels && !axis.getTranslator().getBusinessRange().isEmpty() && !axis.areCoordsOutsideAxis(this.labelCoords);\r\n if (!labelIsVisible) {\r\n if (this.label) {\r\n this.removeLabel()\r\n }\r\n return\r\n }\r\n var templateOption = labelOptions.template;\r\n var text = axis.formatLabel(value, labelOptions, range);\r\n if (this.label) {\r\n this.label.attr({\r\n text: text,\r\n rotate: 0\r\n }).append(elementsGroup);\r\n createLabelHint(this, range);\r\n this.updateLabelPosition();\r\n return\r\n }\r\n if (templateOption) {\r\n this.templateContainer = renderer.g().append(elementsGroup);\r\n this._templateDef && this._templateDef.reject();\r\n this._templateDef = new Deferred;\r\n template.render({\r\n model: {\r\n valueText: text,\r\n value: this.value,\r\n labelFontStyle: getLabelFontStyle(this),\r\n labelStyle: labelStyle\r\n },\r\n container: this.templateContainer.element,\r\n onRendered: () => {\r\n this.updateLabelPosition();\r\n this._templateDef && this._templateDef.resolve()\r\n }\r\n })\r\n } else if (isDefined(text) && \"\" !== text && !emptyStrRegExp.test(text)) {\r\n this.label = renderer.text(text).css(getLabelFontStyle(this)).attr(labelStyle).append(elementsGroup);\r\n this.updateLabelPosition();\r\n createLabelHint(this, range)\r\n }\r\n var containerForData = this.getContentContainer();\r\n containerForData && containerForData.data(\"chart-data-argument\", this.value);\r\n this.templateContainer && createLabelHint(this, range)\r\n },\r\n getTemplateDeferred() {\r\n return this._templateDef\r\n },\r\n getContentContainer() {\r\n return this.templateContainer || this.label\r\n },\r\n fadeOutElements() {\r\n var startSettings = {\r\n opacity: 1\r\n };\r\n var endSettings = {\r\n opacity: 0\r\n };\r\n var animationSettings = {\r\n partitionDuration: .5\r\n };\r\n if (this.getContentContainer()) {\r\n this._fadeOutLabel()\r\n }\r\n if (this.grid) {\r\n this.grid.append(axis._axisGridGroup).attr(startSettings).animate(endSettings, animationSettings)\r\n }\r\n if (this.mark) {\r\n this.mark.append(axis._axisLineGroup).attr(startSettings).animate(endSettings, animationSettings)\r\n }\r\n },\r\n _fadeInLabel() {\r\n var group = axis._renderer.g().attr({\r\n opacity: 0\r\n }).append(axis._axisElementsGroup).animate({\r\n opacity: 1\r\n }, {\r\n delay: .5,\r\n partitionDuration: .5\r\n });\r\n this.getContentContainer().append(group)\r\n },\r\n _fadeOutLabel() {\r\n var group = axis._renderer.g().attr({\r\n opacity: 1\r\n }).animate({\r\n opacity: 0\r\n }, {\r\n partitionDuration: .5\r\n }).append(axis._axisElementsGroup).toBackground();\r\n this.getContentContainer().append(group)\r\n },\r\n _getTemplateCoords() {\r\n return axis._getLabelAdjustedCoord(this, (axis._constantLabelOffset || 0) + (tick.labelOffset || 0))\r\n },\r\n updateLabelPosition: function(animate) {\r\n var templateContainer = this.templateContainer;\r\n if (!this.getContentContainer()) {\r\n return\r\n }\r\n if (animate && this._storedLabelsCoords) {\r\n if (templateContainer) {\r\n templateContainer.attr(this._storedLabelsCoords);\r\n var lCoords = this._getTemplateCoords();\r\n templateContainer.animate(lCoords)\r\n } else {\r\n this.label.attr({\r\n x: this._storedLabelsCoords.x,\r\n y: this._storedLabelsCoords.y\r\n });\r\n this.label.animate({\r\n x: this.labelCoords.x,\r\n y: this.labelCoords.y\r\n })\r\n }\r\n } else {\r\n if (templateContainer) {\r\n var _lCoords = this._getTemplateCoords();\r\n templateContainer.attr(_lCoords)\r\n } else {\r\n this.label.attr({\r\n x: this.labelCoords.x,\r\n y: this.labelCoords.y\r\n })\r\n }\r\n if (animate) {\r\n this._fadeInLabel()\r\n }\r\n }\r\n },\r\n updateMultilineTextAlignment() {\r\n if (labelOptions.template || !this.label) {\r\n return\r\n }\r\n this.label.attr({\r\n textsAlignment: this.labelAlignment || axis.getOptions().label.alignment\r\n })\r\n },\r\n drawGrid: function(drawLine) {\r\n if (gridOptions.visible && skippedCategory !== this.value) {\r\n if (this.grid) {\r\n this.grid.append(axis._axisGridGroup);\r\n axis.sharp(this.grid, axis.getSharpDirectionByCoords(this.coords));\r\n this.updateGridPosition()\r\n } else {\r\n this.grid = drawLine(this, gridStyle);\r\n this.grid && this.grid.append(axis._axisGridGroup)\r\n }\r\n }\r\n },\r\n updateGridPosition: function(animate) {\r\n this._updateLine(this.grid, axis._getGridPoints(tick.coords), this._storedCoords && axis._getGridPoints(this._storedCoords), animate, true)\r\n },\r\n removeLabel() {\r\n var contentContainer = this.getContentContainer();\r\n contentContainer && contentContainer.remove();\r\n this._templateDef && this._templateDef.reject();\r\n this._templateDef = this.templateContainer = this.label = null\r\n }\r\n };\r\n return tick\r\n }\r\n}\r\nexport {\r\n createTick as tick\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/axes/datetime_breaks.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../core/utils/date\";\r\nvar days = [0, 1, 2, 3, 4, 5, 6];\r\n\r\nfunction getWeekendDays(workdays) {\r\n return days.filter((function(day) {\r\n return !workdays.some((function(workDay) {\r\n return workDay === day\r\n }))\r\n }))\r\n}\r\n\r\nfunction getNextDayIndex(dayIndex) {\r\n return (dayIndex + 1) % 7\r\n}\r\n\r\nfunction dayBetweenWeekend(weekend, day) {\r\n var start = weekend.start;\r\n var end = weekend.end;\r\n while (start !== end) {\r\n if (start === day) {\r\n return true\r\n }\r\n start = getNextDayIndex(start)\r\n }\r\n return false\r\n}\r\n\r\nfunction getDaysDistance(day, end) {\r\n var length = 0;\r\n while (day !== end) {\r\n day = getNextDayIndex(day);\r\n length++\r\n }\r\n return length\r\n}\r\n\r\nfunction separateBreak(scaleBreak, day) {\r\n var result = [];\r\n var dayEnd = new Date(day);\r\n dayEnd.setDate(day.getDate() + 1);\r\n if (day > scaleBreak.from) {\r\n result.push({\r\n from: scaleBreak.from,\r\n to: day\r\n })\r\n }\r\n if (dayEnd < scaleBreak.to) {\r\n result.push({\r\n from: dayEnd,\r\n to: scaleBreak.to\r\n })\r\n }\r\n return result\r\n}\r\n\r\nfunction getWeekEndDayIndices(workDays) {\r\n var indices = getWeekendDays(workDays);\r\n if (indices.length < 7) {\r\n while (getNextDayIndex(indices[indices.length - 1]) === indices[0]) {\r\n indices.unshift(indices.pop())\r\n }\r\n }\r\n return indices\r\n}\r\n\r\nfunction generateDateBreaksForWeekend(min, max, weekendDayIndices) {\r\n var day = min.getDate();\r\n var breaks = [];\r\n var weekends = weekendDayIndices.reduce((function(obj, day) {\r\n var currentWeekEnd = obj[1];\r\n if (void 0 === currentWeekEnd.start) {\r\n currentWeekEnd = {\r\n start: day,\r\n end: getNextDayIndex(day)\r\n };\r\n obj[0].push(currentWeekEnd);\r\n return [obj[0], currentWeekEnd]\r\n } else if (currentWeekEnd.end === day) {\r\n currentWeekEnd.end = getNextDayIndex(day);\r\n return obj\r\n }\r\n currentWeekEnd = {\r\n start: day,\r\n end: getNextDayIndex(day)\r\n };\r\n obj[0].push(currentWeekEnd);\r\n return [obj[0], currentWeekEnd]\r\n }), [\r\n [], {}\r\n ]);\r\n weekends[0].forEach((function(weekend) {\r\n var currentDate = new Date(min);\r\n currentDate = dateUtils.trimTime(currentDate);\r\n while (currentDate < max) {\r\n day = currentDate.getDay();\r\n var date = currentDate.getDate();\r\n if (dayBetweenWeekend(weekend, day)) {\r\n var from = new Date(currentDate);\r\n currentDate.setDate(date + getDaysDistance(day, weekend.end));\r\n var to = new Date(currentDate);\r\n breaks.push({\r\n from: from,\r\n to: to\r\n })\r\n }\r\n currentDate.setDate(currentDate.getDate() + 1)\r\n }\r\n }));\r\n return breaks\r\n}\r\n\r\nfunction excludeWorkDaysFromWeekEndBreaks(breaks, exactWorkDays) {\r\n var result = breaks.slice();\r\n var i;\r\n var processWorkDay = function(workday) {\r\n workday = dateUtils.trimTime(new Date(workday));\r\n if (result[i].from <= workday && result[i].to > workday) {\r\n var separatedBreak = separateBreak(result[i], workday);\r\n if (2 === separatedBreak.length) {\r\n result.splice(i, 1, separatedBreak[0], separatedBreak[1])\r\n } else if (1 === separatedBreak.length) {\r\n result.splice(i, 1, separatedBreak[0])\r\n } else {\r\n result.splice(i, 1)\r\n }\r\n }\r\n };\r\n for (i = 0; i < result.length; i++) {\r\n exactWorkDays.forEach(processWorkDay)\r\n }\r\n return result\r\n}\r\n\r\nfunction generateBreaksForHolidays(min, max, holidays, weekendDayIndices) {\r\n var day;\r\n var dayInWeekend = function(dayIndex) {\r\n return dayIndex === day\r\n };\r\n var adjustedMin = dateUtils.trimTime(min);\r\n var adjustedMax = dateUtils.trimTime(max);\r\n adjustedMax.setDate(max.getDate() + 1);\r\n return holidays.reduce((function(breaks, holiday) {\r\n var holidayStart;\r\n var holidayEnd;\r\n holiday = new Date(holiday);\r\n day = holiday.getDay();\r\n if (!weekendDayIndices.some(dayInWeekend) && holiday >= adjustedMin && holiday <= adjustedMax) {\r\n holidayStart = dateUtils.trimTime(holiday);\r\n holidayEnd = new Date(holidayStart);\r\n holidayEnd.setDate(holidayStart.getDate() + 1);\r\n breaks.push({\r\n from: holidayStart,\r\n to: holidayEnd\r\n })\r\n }\r\n return breaks\r\n }), [])\r\n}\r\n\r\nfunction calculateGaps(breaks) {\r\n return breaks.map((function(b) {\r\n return {\r\n from: b.from,\r\n to: b.to,\r\n gapSize: dateUtils.convertMillisecondsToDateUnits(b.to - b.from)\r\n }\r\n }))\r\n}\r\nexport function generateDateBreaks(min, max, workWeek, singleWorkdays, holidays) {\r\n var weekendDayIndices = getWeekEndDayIndices(workWeek);\r\n var breaks = generateDateBreaksForWeekend(min, max, weekendDayIndices);\r\n breaks.push.apply(breaks, generateBreaksForHolidays(min, max, holidays || [], weekendDayIndices));\r\n return calculateGaps(excludeWorkDaysFromWeekEndBreaks(breaks, singleWorkdays || []))\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/axes/xy_axes.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Range\r\n} from \"../translators/range\";\r\nimport formatHelper from \"../../format_helper\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n generateDateBreaks\r\n} from \"./datetime_breaks\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n getLog,\r\n patchFontOptions,\r\n getCosAndSin\r\n} from \"../core/utils\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport constants from \"./axes_constants\";\r\nvar getNextDateUnit = dateUtils.getNextDateUnit;\r\nvar correctDateWithUnitBeginning = dateUtils.correctDateWithUnitBeginning;\r\nvar _math = Math;\r\nvar _max = _math.max;\r\nvar TOP = constants.top;\r\nvar BOTTOM = constants.bottom;\r\nvar LEFT = constants.left;\r\nvar RIGHT = constants.right;\r\nvar CENTER = constants.center;\r\nvar SCALE_BREAK_OFFSET = 3;\r\nvar RANGE_RATIO = .3;\r\nvar WAVED_LINE_CENTER = 2;\r\nvar WAVED_LINE_TOP = 0;\r\nvar WAVED_LINE_BOTTOM = 4;\r\nvar WAVED_LINE_LENGTH = 24;\r\nvar TICKS_CORRECTIONS = {\r\n left: -1,\r\n top: -1,\r\n right: 0,\r\n bottom: 0,\r\n center: -.5\r\n};\r\n\r\nfunction prepareDatesDifferences(datesDifferences, tickInterval) {\r\n var dateUnitInterval;\r\n var i;\r\n if (\"week\" === tickInterval) {\r\n tickInterval = \"day\"\r\n }\r\n if (\"quarter\" === tickInterval) {\r\n tickInterval = \"month\"\r\n }\r\n if (datesDifferences[tickInterval]) {\r\n for (i = 0; i < dateUtils.dateUnitIntervals.length; i++) {\r\n dateUnitInterval = dateUtils.dateUnitIntervals[i];\r\n if (datesDifferences[dateUnitInterval]) {\r\n datesDifferences[dateUnitInterval] = false;\r\n datesDifferences.count--\r\n }\r\n if (dateUnitInterval === tickInterval) {\r\n break\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction sortingBreaks(breaks) {\r\n return breaks.sort((function(a, b) {\r\n return a.from - b.from\r\n }))\r\n}\r\n\r\nfunction getMarkerDates(min, max, markerInterval) {\r\n var origMin = min;\r\n var dates;\r\n min = correctDateWithUnitBeginning(min, markerInterval);\r\n max = correctDateWithUnitBeginning(max, markerInterval);\r\n dates = dateUtils.getSequenceByInterval(min, max, markerInterval);\r\n if (dates.length && origMin > dates[0]) {\r\n dates = dates.slice(1)\r\n }\r\n return dates\r\n}\r\n\r\nfunction getStripHorizontalAlignmentPosition(alignment) {\r\n var position = \"start\";\r\n if (\"center\" === alignment) {\r\n position = \"center\"\r\n }\r\n if (\"right\" === alignment) {\r\n position = \"end\"\r\n }\r\n return position\r\n}\r\n\r\nfunction getStripVerticalAlignmentPosition(alignment) {\r\n var position = \"start\";\r\n if (\"center\" === alignment) {\r\n position = \"center\"\r\n }\r\n if (\"bottom\" === alignment) {\r\n position = \"end\"\r\n }\r\n return position\r\n}\r\n\r\nfunction getMarkerInterval(tickInterval) {\r\n var markerInterval = getNextDateUnit(tickInterval);\r\n if (\"quarter\" === markerInterval) {\r\n markerInterval = getNextDateUnit(markerInterval)\r\n }\r\n return markerInterval\r\n}\r\n\r\nfunction getMarkerFormat(curDate, prevDate, tickInterval, markerInterval) {\r\n var format = markerInterval;\r\n var datesDifferences = prevDate && dateUtils.getDatesDifferences(prevDate, curDate);\r\n if (prevDate && \"year\" !== tickInterval) {\r\n prepareDatesDifferences(datesDifferences, tickInterval);\r\n format = formatHelper.getDateFormatByDifferences(datesDifferences)\r\n }\r\n return format\r\n}\r\n\r\nfunction getMaxSide(act, boxes) {\r\n return boxes.reduce((function(prevValue, box) {\r\n return _max(prevValue, act(box))\r\n }), 0)\r\n}\r\n\r\nfunction getDistanceByAngle(bBox, rotationAngle) {\r\n rotationAngle = _math.abs(rotationAngle);\r\n rotationAngle = rotationAngle % 180 >= 90 ? 90 - rotationAngle % 90 : rotationAngle % 90;\r\n var a = rotationAngle * (_math.PI / 180);\r\n if (a >= _math.atan(bBox.height / bBox.width)) {\r\n return bBox.height / _math.abs(_math.sin(a))\r\n } else {\r\n return bBox.width\r\n }\r\n}\r\n\r\nfunction getMaxConstantLinePadding(constantLines) {\r\n return constantLines.reduce((function(padding, options) {\r\n return _max(padding, options.paddingTopBottom)\r\n }), 0)\r\n}\r\n\r\nfunction getConstantLineLabelMarginForVerticalAlignment(constantLines, alignment, labelHeight) {\r\n return constantLines.some((function(options) {\r\n return options.label.verticalAlignment === alignment\r\n })) && labelHeight || 0\r\n}\r\n\r\nfunction getLeftMargin(bBox) {\r\n return _math.abs(bBox.x) || 0\r\n}\r\n\r\nfunction getRightMargin(bBox) {\r\n return _math.abs(bBox.width - _math.abs(bBox.x)) || 0\r\n}\r\n\r\nfunction generateRangesOnPoints(points, edgePoints, getRange) {\r\n var i;\r\n var length;\r\n var maxRange = null;\r\n var ranges = [];\r\n var curValue;\r\n var prevValue;\r\n var curRange;\r\n for (i = 1, length = points.length; i < length; i++) {\r\n curValue = points[i];\r\n prevValue = points[i - 1];\r\n curRange = getRange(curValue, prevValue);\r\n if (edgePoints.indexOf(curValue) >= 0) {\r\n if (!maxRange || curRange > maxRange.length) {\r\n maxRange = {\r\n start: curValue,\r\n end: prevValue,\r\n length: curRange\r\n }\r\n }\r\n } else {\r\n if (maxRange && curRange < maxRange.length) {\r\n ranges.push(maxRange)\r\n } else {\r\n ranges.push({\r\n start: curValue,\r\n end: prevValue,\r\n length: curRange\r\n })\r\n }\r\n maxRange = null\r\n }\r\n }\r\n if (maxRange) {\r\n ranges.push(maxRange)\r\n }\r\n return ranges\r\n}\r\n\r\nfunction generateAutoBreaks(_ref, series, _ref2) {\r\n var {\r\n logarithmBase: logarithmBase,\r\n type: type,\r\n maxAutoBreakCount: maxAutoBreakCount\r\n } = _ref;\r\n var {\r\n minVisible: minVisible,\r\n maxVisible: maxVisible\r\n } = _ref2;\r\n var breaks = [];\r\n var getRange = \"logarithmic\" === type ? (min, max) => getLog(max / min, logarithmBase) : (min, max) => max - min;\r\n var visibleRange = getRange(minVisible, maxVisible);\r\n var points = series.reduce((result, s) => {\r\n var points = s.getPointsInViewPort();\r\n result[0] = result[0].concat(points[0]);\r\n result[1] = result[1].concat(points[1]);\r\n return result\r\n }, [\r\n [],\r\n []\r\n ]);\r\n var sortedAllPoints = points[0].concat(points[1]).sort((a, b) => b - a);\r\n var edgePoints = points[1].filter(p => points[0].indexOf(p) < 0);\r\n var minDiff = RANGE_RATIO * visibleRange;\r\n var ranges = generateRangesOnPoints(sortedAllPoints, edgePoints, getRange).sort((a, b) => b.length - a.length);\r\n var epsilon = _math.min.apply(null, ranges.map(r => r.length)) / 1e3;\r\n var _maxAutoBreakCount = isDefined(maxAutoBreakCount) ? _math.min(maxAutoBreakCount, ranges.length) : ranges.length;\r\n for (var i = 0; i < _maxAutoBreakCount; i++) {\r\n if (ranges[i].length >= minDiff) {\r\n if (visibleRange <= ranges[i].length) {\r\n break\r\n }\r\n visibleRange -= ranges[i].length;\r\n if (visibleRange > epsilon || visibleRange < -epsilon) {\r\n breaks.push({\r\n from: ranges[i].start,\r\n to: ranges[i].end\r\n });\r\n minDiff = RANGE_RATIO * visibleRange\r\n }\r\n } else {\r\n break\r\n }\r\n }\r\n sortingBreaks(breaks);\r\n return breaks\r\n}\r\nexport default {\r\n linear: {\r\n _getStep: function(boxes, rotationAngle) {\r\n var spacing = this._options.label.minSpacing;\r\n var func = this._isHorizontal ? function(box) {\r\n return box.width + spacing\r\n } : function(box) {\r\n return box.height\r\n };\r\n var maxLabelLength = getMaxSide(func, boxes);\r\n if (rotationAngle) {\r\n maxLabelLength = getDistanceByAngle({\r\n width: maxLabelLength,\r\n height: this._getMaxLabelHeight(boxes, 0)\r\n }, rotationAngle)\r\n }\r\n return constants.getTicksCountInRange(this._majorTicks, this._isHorizontal ? \"x\" : \"y\", maxLabelLength)\r\n },\r\n _getMaxLabelHeight: function(boxes, spacing) {\r\n return getMaxSide((function(box) {\r\n return box.height\r\n }), boxes) + spacing\r\n },\r\n _validateOverlappingMode: function(mode, displayMode) {\r\n if (this._isHorizontal && (\"rotate\" === displayMode || \"stagger\" === displayMode) || !this._isHorizontal) {\r\n return constants.validateOverlappingMode(mode)\r\n }\r\n return mode\r\n },\r\n _validateDisplayMode: function(mode) {\r\n return this._isHorizontal ? mode : \"standard\"\r\n },\r\n getMarkerTrackers: function() {\r\n return this._markerTrackers\r\n },\r\n _getSharpParam: function(opposite) {\r\n return this._isHorizontal ^ opposite ? \"h\" : \"v\"\r\n },\r\n _createAxisElement: function() {\r\n return this._renderer.path([], \"line\")\r\n },\r\n _updateAxisElementPosition: function() {\r\n var axisCoord = this._axisPosition;\r\n var canvas = this._getCanvasStartEnd();\r\n this._axisElement.attr({\r\n points: this._isHorizontal ? [canvas.start, axisCoord, canvas.end, axisCoord] : [axisCoord, canvas.start, axisCoord, canvas.end]\r\n })\r\n },\r\n _getTranslatedCoord: function(value, offset) {\r\n return this._translator.translate(value, offset)\r\n },\r\n _initAxisPositions() {\r\n if (this.customPositionIsAvailable()) {\r\n this._customBoundaryPosition = this.getCustomBoundaryPosition()\r\n }\r\n if (!this.customPositionIsAvailable() || this.customPositionIsBoundary()) {\r\n this._axisPosition = this.getPredefinedPosition(this.getResolvedBoundaryPosition())\r\n } else {\r\n this._axisPosition = this.getCustomPosition()\r\n }\r\n },\r\n _getTickMarkPoints(coords, length, tickOptions) {\r\n var isHorizontal = this._isHorizontal;\r\n var tickOrientation = this._options.tickOrientation;\r\n var labelPosition = this._options.label.position;\r\n var tickStartCoord;\r\n if (isDefined(tickOrientation)) {\r\n tickStartCoord = TICKS_CORRECTIONS[tickOrientation] * length\r\n } else {\r\n var shift = tickOptions.shift || 0;\r\n if (!isHorizontal && labelPosition === LEFT || isHorizontal && labelPosition !== BOTTOM) {\r\n shift = -shift\r\n }\r\n tickStartCoord = shift + this.getTickStartPositionShift(length)\r\n }\r\n return [coords.x + (isHorizontal ? 0 : tickStartCoord), coords.y + (isHorizontal ? tickStartCoord : 0), coords.x + (isHorizontal ? 0 : tickStartCoord + length), coords.y + (isHorizontal ? tickStartCoord + length : 0)]\r\n },\r\n getTickStartPositionShift(length) {\r\n var width = this._options.width;\r\n var position = this.getResolvedBoundaryPosition();\r\n return length % 2 === 1 ? width % 2 === 0 && (position === LEFT || position === TOP) || width % 2 === 1 && (position === RIGHT || position === BOTTOM) && !this.hasNonBoundaryPosition() ? Math.floor(-length / 2) : -Math.floor(length / 2) : -length / 2 + (width % 2 === 0 ? 0 : position === BOTTOM || position === RIGHT ? -1 : 1)\r\n },\r\n _getTitleCoords: function() {\r\n var horizontal = this._isHorizontal;\r\n var x = this._axisPosition;\r\n var y = this._axisPosition;\r\n var align = this._options.title.alignment;\r\n var canvas = this._getCanvasStartEnd();\r\n var fromStartToEnd = horizontal || this._options.position === LEFT;\r\n var canvasStart = fromStartToEnd ? canvas.start : canvas.end;\r\n var canvasEnd = fromStartToEnd ? canvas.end : canvas.start;\r\n var coord = align === LEFT ? canvasStart : align === RIGHT ? canvasEnd : canvas.start + (canvas.end - canvas.start) / 2;\r\n if (horizontal) {\r\n x = coord\r\n } else {\r\n y = coord\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _drawTitleText: function(group, coords) {\r\n var options = this._options;\r\n var titleOptions = options.title;\r\n var attrs = {\r\n opacity: titleOptions.opacity,\r\n align: titleOptions.alignment,\r\n class: titleOptions.cssClass\r\n };\r\n if (!titleOptions.text || !group) {\r\n return\r\n }\r\n coords = coords || this._getTitleCoords();\r\n if (!this._isHorizontal) {\r\n attrs.rotate = options.position === LEFT ? 270 : 90\r\n }\r\n var text = this._renderer.text(titleOptions.text, coords.x, coords.y).css(patchFontOptions(titleOptions.font)).attr(attrs).append(group);\r\n this._checkTitleOverflow(text);\r\n return text\r\n },\r\n _updateTitleCoords: function() {\r\n this._title && this._title.element.attr(this._getTitleCoords())\r\n },\r\n _drawTitle: function() {\r\n var title = this._drawTitleText(this._axisTitleGroup);\r\n if (title) {\r\n this._title = {\r\n element: title\r\n }\r\n }\r\n },\r\n _measureTitle: function() {\r\n if (this._title) {\r\n if (this._title.bBox && !this._title.originalSize) {\r\n this._title.originalSize = this._title.bBox\r\n }\r\n this._title.bBox = this._title.element.getBBox()\r\n }\r\n },\r\n _drawDateMarker: function(date, options, range) {\r\n var markerOptions = this._options.marker;\r\n var invert = this._translator.getBusinessRange().invert;\r\n var textIndent = markerOptions.width + markerOptions.textLeftIndent;\r\n var pathElement;\r\n if (null === options.x) {\r\n return\r\n }\r\n if (!options.withoutStick) {\r\n pathElement = this._renderer.path([options.x, options.y, options.x, options.y + markerOptions.separatorHeight], \"line\").attr({\r\n \"stroke-width\": markerOptions.width,\r\n stroke: markerOptions.color,\r\n \"stroke-opacity\": markerOptions.opacity,\r\n sharp: \"h\"\r\n }).append(this._axisElementsGroup)\r\n }\r\n var text = String(this.formatLabel(date, options.labelOptions, range));\r\n return {\r\n date: date,\r\n x: options.x,\r\n y: options.y,\r\n cropped: options.withoutStick,\r\n label: this._renderer.text(text, options.x, options.y).css(patchFontOptions(markerOptions.label.font)).append(this._axisElementsGroup),\r\n line: pathElement,\r\n getContentContainer() {\r\n return this.label\r\n },\r\n getEnd: function() {\r\n return this.x + (invert ? -1 : 1) * (textIndent + this.labelBBox.width)\r\n },\r\n setTitle: function() {\r\n this.title = text\r\n },\r\n hideLabel: function() {\r\n this.label.dispose();\r\n this.label = null;\r\n this.title = text\r\n },\r\n hide: function() {\r\n if (pathElement) {\r\n pathElement.dispose();\r\n pathElement = null\r\n }\r\n this.label.dispose();\r\n this.label = null;\r\n this.hidden = true\r\n }\r\n }\r\n },\r\n _drawDateMarkers: function() {\r\n var that = this;\r\n var options = that._options;\r\n var translator = that._translator;\r\n var viewport = that._getViewportRange();\r\n var minBound = viewport.minVisible;\r\n var dateMarkers = [];\r\n var dateMarker;\r\n\r\n function draw(markerDate, format, withoutStick) {\r\n return that._drawDateMarker(markerDate, {\r\n x: translator.translate(markerDate),\r\n y: markersAreaTop,\r\n labelOptions: that._getLabelFormatOptions(format),\r\n withoutStick: withoutStick\r\n }, viewport)\r\n }\r\n if (viewport.isEmpty() || !options.marker.visible || \"datetime\" !== options.argumentType || \"discrete\" === options.type || that._majorTicks.length <= 1) {\r\n return []\r\n }\r\n var markersAreaTop = that._axisPosition + options.marker.topIndent;\r\n var tickInterval = dateUtils.getDateUnitInterval(this._tickInterval);\r\n var markerInterval = getMarkerInterval(tickInterval);\r\n var markerDates = getMarkerDates(minBound, viewport.maxVisible, markerInterval);\r\n if (markerDates.length > 1 || 1 === markerDates.length && minBound < markerDates[0]) {\r\n dateMarkers = markerDates.reduce((function(markers, curDate, i, dates) {\r\n var marker = draw(curDate, getMarkerFormat(curDate, dates[i - 1] || minBound < curDate && minBound, tickInterval, markerInterval));\r\n marker && markers.push(marker);\r\n return markers\r\n }), []);\r\n if (minBound < markerDates[0]) {\r\n dateMarker = draw(minBound, getMarkerFormat(minBound, markerDates[0], tickInterval, markerInterval), true);\r\n dateMarker && dateMarkers.unshift(dateMarker)\r\n }\r\n }\r\n return dateMarkers\r\n },\r\n _adjustDateMarkers: function(offset) {\r\n offset = offset || 0;\r\n var that = this;\r\n var markerOptions = this._options.marker;\r\n var textIndent = markerOptions.width + markerOptions.textLeftIndent;\r\n var invert = this._translator.getBusinessRange().invert;\r\n var canvas = that._getCanvasStartEnd();\r\n var dateMarkers = this._dateMarkers;\r\n if (!dateMarkers.length) {\r\n return offset\r\n }\r\n if (dateMarkers[0].cropped) {\r\n if (!this._checkMarkersPosition(invert, dateMarkers[1], dateMarkers[0])) {\r\n dateMarkers[0].hideLabel()\r\n }\r\n }\r\n var prevDateMarker;\r\n dateMarkers.forEach((function(marker, i, markers) {\r\n if (marker.cropped) {\r\n return\r\n }\r\n if (invert ? marker.getEnd() < canvas.end : marker.getEnd() > canvas.end) {\r\n marker.hideLabel()\r\n } else if (that._checkMarkersPosition(invert, marker, prevDateMarker)) {\r\n prevDateMarker = marker\r\n } else {\r\n marker.hide()\r\n }\r\n }));\r\n this._dateMarkers.forEach((function(marker) {\r\n if (marker.label) {\r\n var labelBBox = marker.labelBBox;\r\n var dy = marker.y + markerOptions.textTopIndent - labelBBox.y;\r\n marker.label.attr({\r\n translateX: invert ? marker.x - textIndent - labelBBox.x - labelBBox.width : marker.x + textIndent - labelBBox.x,\r\n translateY: dy + offset\r\n })\r\n }\r\n if (marker.line) {\r\n marker.line.attr({\r\n translateY: offset\r\n })\r\n }\r\n }));\r\n that._initializeMarkersTrackers(offset);\r\n return offset + markerOptions.topIndent + markerOptions.separatorHeight\r\n },\r\n _checkMarkersPosition: function(invert, dateMarker, prevDateMarker) {\r\n if (void 0 === prevDateMarker) {\r\n return true\r\n }\r\n return invert ? dateMarker.x < prevDateMarker.getEnd() : dateMarker.x > prevDateMarker.getEnd()\r\n },\r\n _initializeMarkersTrackers: function(offset) {\r\n var separatorHeight = this._options.marker.separatorHeight;\r\n var renderer = this._renderer;\r\n var businessRange = this._translator.getBusinessRange();\r\n var canvas = this._getCanvasStartEnd();\r\n var group = this._axisElementsGroup;\r\n this._markerTrackers = this._dateMarkers.filter((function(marker) {\r\n return !marker.hidden\r\n })).map((function(marker, i, markers) {\r\n var nextMarker = markers[i + 1] || {\r\n x: canvas.end,\r\n date: businessRange.max\r\n };\r\n var x = marker.x;\r\n var y = marker.y + offset;\r\n var markerTracker = renderer.path([x, y, x, y + separatorHeight, nextMarker.x, y + separatorHeight, nextMarker.x, y, x, y], \"area\").attr({\r\n \"stroke-width\": 1,\r\n stroke: \"grey\",\r\n fill: \"grey\",\r\n opacity: 1e-4\r\n }).append(group);\r\n markerTracker.data(\"range\", {\r\n startValue: marker.date,\r\n endValue: nextMarker.date\r\n });\r\n if (marker.title) {\r\n markerTracker.setTitle(marker.title)\r\n }\r\n return markerTracker\r\n }))\r\n },\r\n _getLabelFormatOptions: function(formatString) {\r\n var markerLabelOptions = this._markerLabelOptions;\r\n if (!markerLabelOptions) {\r\n this._markerLabelOptions = markerLabelOptions = extend(true, {}, this._options.marker.label)\r\n }\r\n if (!isDefined(this._options.marker.label.format)) {\r\n markerLabelOptions.format = formatString\r\n }\r\n return markerLabelOptions\r\n },\r\n _adjustConstantLineLabels: function(constantLines) {\r\n var that = this;\r\n var axisPosition = that._options.position;\r\n var canvas = that.getCanvas();\r\n var canvasLeft = canvas.left;\r\n var canvasRight = canvas.width - canvas.right;\r\n var canvasTop = canvas.top;\r\n var canvasBottom = canvas.height - canvas.bottom;\r\n var verticalCenter = canvasTop + (canvasBottom - canvasTop) / 2;\r\n var horizontalCenter = canvasLeft + (canvasRight - canvasLeft) / 2;\r\n var maxLabel = 0;\r\n constantLines.forEach((function(item) {\r\n var isHorizontal = that._isHorizontal;\r\n var linesOptions = item.options;\r\n var paddingTopBottom = linesOptions.paddingTopBottom;\r\n var paddingLeftRight = linesOptions.paddingLeftRight;\r\n var labelOptions = linesOptions.label;\r\n var labelVerticalAlignment = labelOptions.verticalAlignment;\r\n var labelHorizontalAlignment = labelOptions.horizontalAlignment;\r\n var labelIsInside = \"inside\" === labelOptions.position;\r\n var label = item.label;\r\n var box = item.labelBBox;\r\n var translateX;\r\n var translateY;\r\n if (null === label || box.isEmpty) {\r\n return\r\n }\r\n if (isHorizontal) {\r\n if (labelIsInside) {\r\n if (labelHorizontalAlignment === LEFT) {\r\n translateX = item.coord - paddingLeftRight - box.x - box.width\r\n } else {\r\n translateX = item.coord + paddingLeftRight - box.x\r\n }\r\n switch (labelVerticalAlignment) {\r\n case CENTER:\r\n translateY = verticalCenter - box.y - box.height / 2;\r\n break;\r\n case BOTTOM:\r\n translateY = canvasBottom - paddingTopBottom - box.y - box.height;\r\n break;\r\n default:\r\n translateY = canvasTop + paddingTopBottom - box.y\r\n }\r\n } else {\r\n if (axisPosition === labelVerticalAlignment) {\r\n maxLabel = _max(maxLabel, box.height + paddingTopBottom)\r\n }\r\n translateX = item.coord - box.x - box.width / 2;\r\n if (labelVerticalAlignment === BOTTOM) {\r\n translateY = canvasBottom + paddingTopBottom - box.y\r\n } else {\r\n translateY = canvasTop - paddingTopBottom - box.y - box.height\r\n }\r\n }\r\n } else if (labelIsInside) {\r\n if (labelVerticalAlignment === BOTTOM) {\r\n translateY = item.coord + paddingTopBottom - box.y\r\n } else {\r\n translateY = item.coord - paddingTopBottom - box.y - box.height\r\n }\r\n switch (labelHorizontalAlignment) {\r\n case CENTER:\r\n translateX = horizontalCenter - box.x - box.width / 2;\r\n break;\r\n case RIGHT:\r\n translateX = canvasRight - paddingLeftRight - box.x - box.width;\r\n break;\r\n default:\r\n translateX = canvasLeft + paddingLeftRight - box.x\r\n }\r\n } else {\r\n if (axisPosition === labelHorizontalAlignment) {\r\n maxLabel = _max(maxLabel, box.width + paddingLeftRight)\r\n }\r\n translateY = item.coord - box.y - box.height / 2;\r\n if (labelHorizontalAlignment === RIGHT) {\r\n translateX = canvasRight + paddingLeftRight - box.x\r\n } else {\r\n translateX = canvasLeft - paddingLeftRight - box.x - box.width\r\n }\r\n }\r\n label.attr({\r\n translateX: translateX,\r\n translateY: translateY\r\n })\r\n }));\r\n return maxLabel\r\n },\r\n _drawConstantLinesForEstimating: function(constantLines) {\r\n var that = this;\r\n var renderer = this._renderer;\r\n var group = renderer.g();\r\n constantLines.forEach((function(options) {\r\n that._drawConstantLineLabelText(options.label.text, 0, 0, options.label, group).attr({\r\n align: \"center\"\r\n })\r\n }));\r\n return group.append(renderer.root)\r\n },\r\n _estimateLabelHeight: function(bBox, labelOptions) {\r\n var height = bBox.height;\r\n var drawingType = labelOptions.drawingType;\r\n if (\"stagger\" === this._validateDisplayMode(drawingType) || \"stagger\" === this._validateOverlappingMode(labelOptions.overlappingBehavior, drawingType)) {\r\n height = 2 * height + labelOptions.staggeringSpacing\r\n }\r\n if (\"rotate\" === this._validateDisplayMode(drawingType) || \"rotate\" === this._validateOverlappingMode(labelOptions.overlappingBehavior, drawingType)) {\r\n var sinCos = getCosAndSin(labelOptions.rotationAngle);\r\n height = height * sinCos.cos + bBox.width * sinCos.sin\r\n }\r\n return height && (height + labelOptions.indentFromAxis || 0) || 0\r\n },\r\n estimateMargins: function(canvas) {\r\n this.updateCanvas(canvas);\r\n var range = this._getViewportRange();\r\n var ticksData = this._createTicksAndLabelFormat(range);\r\n var ticks = ticksData.ticks;\r\n var tickInterval = ticksData.tickInterval;\r\n var options = this._options;\r\n var constantLineOptions = this._outsideConstantLines.filter(l => l.labelOptions.visible).map(l => l.options);\r\n var rootElement = this._renderer.root;\r\n var labelIsVisible = options.label.visible && !range.isEmpty() && ticks.length;\r\n var labelValue = labelIsVisible && this.formatLabel(ticks[ticks.length - 1], options.label, void 0, void 0, tickInterval, ticks);\r\n var labelElement = labelIsVisible && this._renderer.text(labelValue, 0, 0).css(this._textFontStyles).attr(this._textOptions).append(rootElement);\r\n var titleElement = this._drawTitleText(rootElement, {\r\n x: 0,\r\n y: 0\r\n });\r\n var constantLinesLabelsElement = this._drawConstantLinesForEstimating(constantLineOptions);\r\n var labelBox = !options.label.template && labelElement && labelElement.getBBox() || {\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n };\r\n var titleBox = titleElement && titleElement.getBBox() || {\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n };\r\n var constantLinesBox = constantLinesLabelsElement.getBBox();\r\n var titleHeight = titleBox.height ? titleBox.height + options.title.margin : 0;\r\n var labelHeight = this._estimateLabelHeight(labelBox, options.label);\r\n var constantLinesHeight = constantLinesBox.height ? constantLinesBox.height + getMaxConstantLinePadding(constantLineOptions) : 0;\r\n var height = labelHeight + titleHeight;\r\n var margins = {\r\n left: _max(getLeftMargin(labelBox), getLeftMargin(constantLinesBox)),\r\n right: _max(getRightMargin(labelBox), getRightMargin(constantLinesBox)),\r\n top: (\"top\" === options.position ? height : 0) + getConstantLineLabelMarginForVerticalAlignment(constantLineOptions, \"top\", constantLinesHeight),\r\n bottom: (\"top\" !== options.position ? height : 0) + getConstantLineLabelMarginForVerticalAlignment(constantLineOptions, \"bottom\", constantLinesHeight)\r\n };\r\n labelElement && labelElement.remove();\r\n titleElement && titleElement.remove();\r\n constantLinesLabelsElement && constantLinesLabelsElement.remove();\r\n return margins\r\n },\r\n _checkAlignmentConstantLineLabels: function(labelOptions) {\r\n var position = labelOptions.position;\r\n var verticalAlignment = (labelOptions.verticalAlignment || \"\").toLowerCase();\r\n var horizontalAlignment = (labelOptions.horizontalAlignment || \"\").toLowerCase();\r\n if (this._isHorizontal) {\r\n if (\"outside\" === position) {\r\n verticalAlignment = verticalAlignment === BOTTOM ? BOTTOM : TOP;\r\n horizontalAlignment = CENTER\r\n } else {\r\n verticalAlignment = verticalAlignment === CENTER ? CENTER : verticalAlignment === BOTTOM ? BOTTOM : TOP;\r\n horizontalAlignment = horizontalAlignment === LEFT ? LEFT : RIGHT\r\n }\r\n } else if (\"outside\" === position) {\r\n verticalAlignment = CENTER;\r\n horizontalAlignment = horizontalAlignment === LEFT ? LEFT : RIGHT\r\n } else {\r\n verticalAlignment = verticalAlignment === BOTTOM ? BOTTOM : TOP;\r\n horizontalAlignment = horizontalAlignment === RIGHT ? RIGHT : horizontalAlignment === CENTER ? CENTER : LEFT\r\n }\r\n labelOptions.verticalAlignment = verticalAlignment;\r\n labelOptions.horizontalAlignment = horizontalAlignment\r\n },\r\n _getConstantLineLabelsCoords: function(value, lineLabelOptions) {\r\n var x = value;\r\n var y = value;\r\n if (this._isHorizontal) {\r\n y = this._orthogonalPositions[\"top\" === lineLabelOptions.verticalAlignment ? \"start\" : \"end\"]\r\n } else {\r\n x = this._orthogonalPositions[\"right\" === lineLabelOptions.horizontalAlignment ? \"end\" : \"start\"]\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _getAdjustedStripLabelCoords: function(strip) {\r\n var stripOptions = strip.options;\r\n var paddingTopBottom = stripOptions.paddingTopBottom;\r\n var paddingLeftRight = stripOptions.paddingLeftRight;\r\n var horizontalAlignment = stripOptions.label.horizontalAlignment;\r\n var verticalAlignment = stripOptions.label.verticalAlignment;\r\n var box = strip.labelBBox;\r\n var labelHeight = box.height;\r\n var labelWidth = box.width;\r\n var labelCoords = strip.labelCoords;\r\n var y = labelCoords.y - box.y;\r\n var x = labelCoords.x - box.x;\r\n if (verticalAlignment === TOP) {\r\n y += paddingTopBottom\r\n } else if (verticalAlignment === CENTER) {\r\n y -= labelHeight / 2\r\n } else if (verticalAlignment === BOTTOM) {\r\n y -= paddingTopBottom + labelHeight\r\n }\r\n if (horizontalAlignment === LEFT) {\r\n x += paddingLeftRight\r\n } else if (horizontalAlignment === CENTER) {\r\n x -= labelWidth / 2\r\n } else if (horizontalAlignment === RIGHT) {\r\n x -= paddingLeftRight + labelWidth\r\n }\r\n return {\r\n translateX: x,\r\n translateY: y\r\n }\r\n },\r\n _adjustTitle: function(offset) {\r\n offset = offset || 0;\r\n if (!this._title) {\r\n return\r\n }\r\n var options = this._options;\r\n var position = options.position;\r\n var margin = options.title.margin;\r\n var title = this._title;\r\n var boxTitle = title.bBox;\r\n var x = boxTitle.x;\r\n var y = boxTitle.y;\r\n var width = boxTitle.width;\r\n var height = boxTitle.height;\r\n var axisPosition = this._axisPosition;\r\n var loCoord = axisPosition - margin - offset;\r\n var hiCoord = axisPosition + margin + offset;\r\n var params = {};\r\n if (this._isHorizontal) {\r\n if (position === TOP) {\r\n params.translateY = loCoord - (y + height)\r\n } else {\r\n params.translateY = hiCoord - y\r\n }\r\n } else if (position === LEFT) {\r\n params.translateX = loCoord - (x + width)\r\n } else {\r\n params.translateX = hiCoord - x\r\n }\r\n title.element.attr(params)\r\n },\r\n _checkTitleOverflow: function(titleElement) {\r\n if (!this._title && !titleElement) {\r\n return\r\n }\r\n var canvasLength = this._getScreenDelta();\r\n var title = titleElement ? {\r\n bBox: titleElement.getBBox(),\r\n element: titleElement\r\n } : this._title;\r\n var titleOptions = this._options.title;\r\n var boxTitle = title.bBox;\r\n if ((this._isHorizontal ? boxTitle.width : boxTitle.height) > canvasLength) {\r\n title.element.setMaxSize(canvasLength, void 0, {\r\n wordWrap: titleOptions.wordWrap || \"none\",\r\n textOverflow: titleOptions.textOverflow || \"ellipsis\"\r\n });\r\n this._wrapped = titleOptions.wordWrap && \"none\" !== titleOptions.wordWrap\r\n } else {\r\n var moreThanOriginalSize = title.originalSize && canvasLength > (this._isHorizontal ? title.originalSize.width : title.originalSize.height);\r\n !this._wrapped && moreThanOriginalSize && title.element.restoreText()\r\n }\r\n },\r\n coordsIn: function(x, y) {\r\n var canvas = this.getCanvas();\r\n var isHorizontal = this._options.isHorizontal;\r\n var position = this._options.position;\r\n var coord = isHorizontal ? y : x;\r\n if (isHorizontal && (x < canvas.left || x > canvas.width - canvas.right) || !isHorizontal && (y < canvas.top || y > canvas.height - canvas.bottom)) {\r\n return false\r\n }\r\n if (isHorizontal && position === constants.top || !isHorizontal && position === constants.left) {\r\n return coord < canvas[position]\r\n }\r\n return coord > canvas[isHorizontal ? \"height\" : \"width\"] - canvas[position]\r\n },\r\n _boundaryTicksVisibility: {\r\n min: true,\r\n max: true\r\n },\r\n adjust() {\r\n var seriesData = this._seriesData;\r\n var viewport = this._series.filter(s => s.isVisible()).reduce((range, s) => {\r\n var seriesRange = s.getViewport();\r\n range.min = isDefined(seriesRange.min) ? range.min < seriesRange.min ? range.min : seriesRange.min : range.min;\r\n range.max = isDefined(seriesRange.max) ? range.max > seriesRange.max ? range.max : seriesRange.max : range.max;\r\n if (s.showZero) {\r\n range = new Range(range);\r\n range.correctValueZeroLevel()\r\n }\r\n return range\r\n }, {});\r\n if (isDefined(viewport.min) && isDefined(viewport.max)) {\r\n seriesData.minVisible = viewport.min;\r\n seriesData.maxVisible = viewport.max\r\n }\r\n seriesData.userBreaks = this._getScaleBreaks(this._options, {\r\n minVisible: seriesData.minVisible,\r\n maxVisible: seriesData.maxVisible\r\n }, this._series, this.isArgumentAxis);\r\n this._translator.updateBusinessRange(this._getViewportRange())\r\n },\r\n hasWrap() {\r\n return this._wrapped\r\n },\r\n getAxisPosition() {\r\n return this._axisPosition\r\n },\r\n _getStick: function() {\r\n return !this._options.valueMarginsEnabled\r\n },\r\n _getStripLabelCoords: function(from, to, stripLabelOptions) {\r\n var orthogonalPositions = this._orthogonalPositions;\r\n var isHorizontal = this._isHorizontal;\r\n var horizontalAlignment = stripLabelOptions.horizontalAlignment;\r\n var verticalAlignment = stripLabelOptions.verticalAlignment;\r\n var x;\r\n var y;\r\n if (isHorizontal) {\r\n if (horizontalAlignment === CENTER) {\r\n x = from + (to - from) / 2\r\n } else if (horizontalAlignment === LEFT) {\r\n x = from\r\n } else if (horizontalAlignment === RIGHT) {\r\n x = to\r\n }\r\n y = orthogonalPositions[getStripVerticalAlignmentPosition(verticalAlignment)]\r\n } else {\r\n x = orthogonalPositions[getStripHorizontalAlignmentPosition(horizontalAlignment)];\r\n if (verticalAlignment === TOP) {\r\n y = from\r\n } else if (verticalAlignment === CENTER) {\r\n y = to + (from - to) / 2\r\n } else if (verticalAlignment === BOTTOM) {\r\n y = to\r\n }\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _getTranslatedValue: function(value, offset) {\r\n var interval;\r\n if (\"semidiscrete\" === this._options.type) {\r\n interval = this._options.tickInterval\r\n }\r\n var pos1 = this._translator.translate(value, offset, false, interval);\r\n var pos2 = this._axisPosition;\r\n var isHorizontal = this._isHorizontal;\r\n return {\r\n x: isHorizontal ? pos1 : pos2,\r\n y: isHorizontal ? pos2 : pos1\r\n }\r\n },\r\n areCoordsOutsideAxis: function(coords) {\r\n var coord = this._isHorizontal ? coords.x : coords.y;\r\n var visibleArea = this.getVisibleArea();\r\n if (coord < visibleArea[0] || coord > visibleArea[1]) {\r\n return true\r\n }\r\n return false\r\n },\r\n _getSkippedCategory: function(ticks) {\r\n var skippedCategory;\r\n if (this._options.type === constants.discrete && this._tickOffset && 0 !== ticks.length) {\r\n skippedCategory = ticks[ticks.length - 1]\r\n }\r\n return skippedCategory\r\n },\r\n _filterBreaks: function(breaks, viewport, breakStyle) {\r\n var minVisible = viewport.minVisible;\r\n var maxVisible = viewport.maxVisible;\r\n var breakSize = breakStyle ? breakStyle.width : 0;\r\n return breaks.reduce((function(result, currentBreak) {\r\n var from = currentBreak.from;\r\n var to = currentBreak.to;\r\n var lastResult = result[result.length - 1];\r\n var newBreak;\r\n if (!isDefined(from) || !isDefined(to)) {\r\n return result\r\n }\r\n if (from > to) {\r\n to = [from, from = to][0]\r\n }\r\n if (result.length && from < lastResult.to) {\r\n if (to > lastResult.to) {\r\n lastResult.to = to > maxVisible ? maxVisible : to;\r\n if (lastResult.gapSize) {\r\n lastResult.gapSize = void 0;\r\n lastResult.cumulativeWidth += breakSize\r\n }\r\n }\r\n } else if (from >= minVisible && from < maxVisible || to <= maxVisible && to > minVisible) {\r\n from = from >= minVisible ? from : minVisible;\r\n to = to <= maxVisible ? to : maxVisible;\r\n if (to - from < maxVisible - minVisible) {\r\n var _lastResult$cumulativ;\r\n newBreak = {\r\n from: from,\r\n to: to,\r\n cumulativeWidth: (null !== (_lastResult$cumulativ = null === lastResult || void 0 === lastResult ? void 0 : lastResult.cumulativeWidth) && void 0 !== _lastResult$cumulativ ? _lastResult$cumulativ : 0) + breakSize\r\n };\r\n if (currentBreak.gapSize) {\r\n var _lastResult$cumulativ2;\r\n newBreak.gapSize = dateUtils.convertMillisecondsToDateUnits(to - from);\r\n newBreak.cumulativeWidth = null !== (_lastResult$cumulativ2 = null === lastResult || void 0 === lastResult ? void 0 : lastResult.cumulativeWidth) && void 0 !== _lastResult$cumulativ2 ? _lastResult$cumulativ2 : 0\r\n }\r\n result.push(newBreak)\r\n }\r\n }\r\n return result\r\n }), [])\r\n },\r\n _getScaleBreaks: function(axisOptions, viewport, series, isArgumentAxis) {\r\n var that = this;\r\n var breaks = (axisOptions.breaks || []).map((function(b) {\r\n return {\r\n from: that.parser(b.startValue),\r\n to: that.parser(b.endValue)\r\n }\r\n }));\r\n if (\"discrete\" !== axisOptions.type && \"datetime\" === axisOptions.dataType && axisOptions.workdaysOnly) {\r\n breaks = breaks.concat(generateDateBreaks(viewport.minVisible, viewport.maxVisible, axisOptions.workWeek, axisOptions.singleWorkdays, axisOptions.holidays))\r\n }\r\n if (!isArgumentAxis && \"discrete\" !== axisOptions.type && \"datetime\" !== axisOptions.dataType && axisOptions.autoBreaksEnabled && 0 !== axisOptions.maxAutoBreakCount) {\r\n breaks = breaks.concat(generateAutoBreaks(axisOptions, series, viewport))\r\n }\r\n return sortingBreaks(breaks)\r\n },\r\n _drawBreak: function(translatedEnd, positionFrom, positionTo, width, options, group) {\r\n var breakStart = translatedEnd - (!this._translator.isInverted() ? width + 1 : 0);\r\n var attr = {\r\n \"stroke-width\": 1,\r\n stroke: options.borderColor,\r\n sharp: !options.isWaved ? options.isHorizontal ? \"h\" : \"v\" : void 0\r\n };\r\n var spaceAttr = {\r\n stroke: options.color,\r\n \"stroke-width\": width\r\n };\r\n var getPoints = this._isHorizontal ? rotateLine : function(p) {\r\n return p\r\n };\r\n var drawer = getLineDrawer(this._renderer, group, getPoints, positionFrom, breakStart, positionTo, options.isWaved);\r\n drawer(width / 2, spaceAttr);\r\n drawer(0, attr);\r\n drawer(width, attr)\r\n },\r\n _createBreakClipRect: function(from, to) {\r\n var canvas = this._canvas;\r\n var clipWidth = to - from;\r\n var clipRect;\r\n if (this._isHorizontal) {\r\n clipRect = this._renderer.clipRect(canvas.left, from, canvas.width, clipWidth)\r\n } else {\r\n clipRect = this._renderer.clipRect(from, canvas.top, clipWidth, canvas.height)\r\n }\r\n this._breaksElements = this._breaksElements || [];\r\n this._breaksElements.push(clipRect);\r\n return clipRect.id\r\n },\r\n _createBreaksGroup: function(clipFrom, clipTo) {\r\n var group = this._renderer.g().attr({\r\n class: this._axisCssPrefix + \"breaks\",\r\n \"clip-path\": this._createBreakClipRect(clipFrom, clipTo)\r\n }).append(this._scaleBreaksGroup);\r\n this._breaksElements = this._breaksElements || [];\r\n this._breaksElements.push(group);\r\n return group\r\n },\r\n _disposeBreaksGroup: function() {\r\n (this._breaksElements || []).forEach((function(clipRect) {\r\n clipRect.dispose()\r\n }));\r\n this._breaksElements = null\r\n },\r\n drawScaleBreaks: function(customCanvas) {\r\n var that = this;\r\n var options = that._options;\r\n var breakStyle = options.breakStyle;\r\n var position = options.position;\r\n var positionFrom;\r\n var positionTo;\r\n var breaks = that._translator.getBusinessRange().breaks || [];\r\n var additionGroup;\r\n var additionBreakFrom;\r\n var additionBreakTo;\r\n that._disposeBreaksGroup();\r\n if (!(breaks && breaks.length)) {\r\n return\r\n }\r\n var breakOptions = {\r\n color: that._options.containerColor,\r\n borderColor: breakStyle.color,\r\n isHorizontal: that._isHorizontal,\r\n isWaved: \"straight\" !== breakStyle.line.toLowerCase()\r\n };\r\n if (customCanvas) {\r\n positionFrom = customCanvas.start;\r\n positionTo = customCanvas.end\r\n } else {\r\n positionFrom = that._orthogonalPositions.start - (options.visible && !that._axisShift && (position === LEFT || position === TOP) ? SCALE_BREAK_OFFSET : 0);\r\n positionTo = that._orthogonalPositions.end + (options.visible && (position === RIGHT || position === BOTTOM) ? SCALE_BREAK_OFFSET : 0)\r\n }\r\n var mainGroup = that._createBreaksGroup(positionFrom, positionTo);\r\n if (that._axisShift && options.visible) {\r\n additionBreakFrom = that._axisPosition - that._axisShift - SCALE_BREAK_OFFSET;\r\n additionBreakTo = additionBreakFrom + 2 * SCALE_BREAK_OFFSET;\r\n additionGroup = that._createBreaksGroup(additionBreakFrom, additionBreakTo)\r\n }\r\n breaks.forEach((function(br) {\r\n if (!br.gapSize) {\r\n var breakCoord = that._getTranslatedCoord(br.to);\r\n that._drawBreak(breakCoord, positionFrom, positionTo, breakStyle.width, breakOptions, mainGroup);\r\n if (that._axisShift && options.visible) {\r\n that._drawBreak(breakCoord, additionBreakFrom, additionBreakTo, breakStyle.width, breakOptions, additionGroup)\r\n }\r\n }\r\n }))\r\n },\r\n _getSpiderCategoryOption: noop,\r\n shift: function(margins) {\r\n var options = this._options;\r\n var isHorizontal = options.isHorizontal;\r\n var axesSpacing = this.getMultipleAxesSpacing();\r\n var constantLinesGroups = this._axisConstantLineGroups;\r\n\r\n function shiftGroup(side, group) {\r\n var attr = {\r\n translateX: 0,\r\n translateY: 0\r\n };\r\n var shift = margins[side] ? margins[side] + axesSpacing : 0;\r\n attr[isHorizontal ? \"translateY\" : \"translateX\"] = (side === LEFT || side === TOP ? -1 : 1) * shift;\r\n (group[side] || group).attr(attr);\r\n return shift\r\n }\r\n this._axisShift = shiftGroup(options.position, this._axisGroup);\r\n shiftGroup(options.position, this._axisElementsGroup);\r\n (isHorizontal ? [TOP, BOTTOM] : [LEFT, RIGHT]).forEach(side => {\r\n shiftGroup(side, constantLinesGroups.above);\r\n shiftGroup(side, constantLinesGroups.under)\r\n })\r\n },\r\n getCustomPosition(position) {\r\n var orthogonalAxis = this.getOrthogonalAxis();\r\n var resolvedPosition = null !== position && void 0 !== position ? position : this.getResolvedPositionOption();\r\n var offset = this.getOptions().offset;\r\n var orthogonalTranslator = orthogonalAxis.getTranslator();\r\n var orthogonalAxisType = orthogonalAxis.getOptions().type;\r\n var validPosition = orthogonalAxis.validateUnit(resolvedPosition);\r\n var currentPosition;\r\n if (\"discrete\" === orthogonalAxisType && (!orthogonalTranslator._categories || orthogonalTranslator._categories.indexOf(validPosition) < 0)) {\r\n validPosition = void 0\r\n }\r\n if (this.positionIsBoundary(resolvedPosition)) {\r\n currentPosition = this.getPredefinedPosition(resolvedPosition)\r\n } else if (!isDefined(validPosition)) {\r\n currentPosition = this.getPredefinedPosition(this.getOptions().position)\r\n } else {\r\n currentPosition = orthogonalTranslator.to(validPosition, -1)\r\n }\r\n if (isFinite(currentPosition) && isFinite(offset)) {\r\n currentPosition += offset\r\n }\r\n return currentPosition\r\n },\r\n getCustomBoundaryPosition(position) {\r\n var {\r\n customPosition: customPosition,\r\n offset: offset\r\n } = this.getOptions();\r\n var resolvedPosition = null !== position && void 0 !== position ? position : this.getResolvedPositionOption();\r\n var orthogonalAxis = this.getOrthogonalAxis();\r\n var orthogonalTranslator = orthogonalAxis.getTranslator();\r\n var visibleArea = orthogonalTranslator.getCanvasVisibleArea();\r\n if (!isDefined(orthogonalAxis._orthogonalPositions) || 0 === orthogonalTranslator.canvasLength) {\r\n return\r\n }\r\n var currentPosition = this.getCustomPosition(resolvedPosition);\r\n if (!isDefined(currentPosition)) {\r\n return this.getResolvedBoundaryPosition()\r\n } else if (isDefined(customPosition)) {\r\n if (currentPosition <= visibleArea.min) {\r\n return this._isHorizontal ? TOP : LEFT\r\n } else if (currentPosition >= visibleArea.max) {\r\n return this._isHorizontal ? BOTTOM : RIGHT\r\n }\r\n } else if (isDefined(offset)) {\r\n if (currentPosition <= this._orthogonalPositions.start) {\r\n return this._isHorizontal ? TOP : LEFT\r\n } else if (currentPosition >= this._orthogonalPositions.end) {\r\n return this._isHorizontal ? BOTTOM : RIGHT\r\n }\r\n }\r\n return currentPosition\r\n },\r\n getResolvedPositionOption() {\r\n var _options$customPositi;\r\n var options = this.getOptions();\r\n return null !== (_options$customPositi = options.customPosition) && void 0 !== _options$customPositi ? _options$customPositi : options.position\r\n },\r\n customPositionIsAvailable() {\r\n var options = this.getOptions();\r\n return isDefined(this.getOrthogonalAxis()) && (isDefined(options.customPosition) || isFinite(options.offset))\r\n },\r\n hasNonBoundaryPosition() {\r\n return this.customPositionIsAvailable() && !this.customPositionIsBoundary()\r\n },\r\n getResolvedBoundaryPosition() {\r\n return this.customPositionIsBoundary() ? this._customBoundaryPosition : this.getOptions().position\r\n },\r\n customPositionEqualsToPredefined() {\r\n return this.customPositionIsBoundary() && this._customBoundaryPosition === this.getOptions().position\r\n },\r\n customPositionIsBoundary() {\r\n return this.positionIsBoundary(this._customBoundaryPosition)\r\n },\r\n positionIsBoundary: position => [TOP, LEFT, BOTTOM, RIGHT].indexOf(position) >= 0,\r\n getPredefinedPosition(position) {\r\n var _this$_orthogonalPosi;\r\n return null === (_this$_orthogonalPosi = this._orthogonalPositions) || void 0 === _this$_orthogonalPosi ? void 0 : _this$_orthogonalPosi[position === TOP || position === LEFT ? \"start\" : \"end\"]\r\n },\r\n resolveOverlappingForCustomPositioning(oppositeAxes) {\r\n var that = this;\r\n if (!that.hasNonBoundaryPosition() && !that.customPositionIsBoundary() && !oppositeAxes.some(a => a.hasNonBoundaryPosition())) {\r\n return\r\n }\r\n var overlappingObj = {\r\n axes: [],\r\n ticks: []\r\n };\r\n oppositeAxes.filter(orthogonalAxis => orthogonalAxis.pane === that.pane).forEach(orthogonalAxis => {\r\n for (var i = 0; i < that._majorTicks.length; i++) {\r\n var tick = that._majorTicks[i];\r\n var label = tick.label;\r\n if (label) {\r\n if (overlappingObj.axes.indexOf(orthogonalAxis) < 0 && that._detectElementsOverlapping(label, orthogonalAxis._axisElement)) {\r\n overlappingObj.axes.push(orthogonalAxis);\r\n that._shiftThroughOrthogonalAxisOverlappedTick(label, orthogonalAxis)\r\n }\r\n for (var j = 0; j < orthogonalAxis._majorTicks.length; j++) {\r\n var oppositeTick = orthogonalAxis._majorTicks[j];\r\n var oppositeLabel = oppositeTick.label;\r\n if (oppositeLabel && that._detectElementsOverlapping(label, oppositeLabel)) {\r\n overlappingObj.ticks.push(tick);\r\n that._shiftThroughAxisOverlappedTick(tick);\r\n i = that._majorTicks.length;\r\n break\r\n }\r\n }\r\n }\r\n if (tick.mark && overlappingObj.ticks.indexOf(tick) < 0) {\r\n if (that._isHorizontal && tick.mark.attr(\"translateY\")) {\r\n tick.mark.attr({\r\n translateY: 0\r\n })\r\n } else if (!that._isHorizontal && tick.mark.attr(\"translateX\")) {\r\n tick.mark.attr({\r\n translateX: 0\r\n })\r\n }\r\n }\r\n }\r\n })\r\n },\r\n _shiftThroughOrthogonalAxisOverlappedTick(label, orthogonalAxis) {\r\n var labelBBox = label.getBBox();\r\n var orthogonalAxisPosition = orthogonalAxis.getAxisPosition();\r\n var orthogonalAxisLabelOptions = orthogonalAxis.getOptions().label;\r\n var orthogonalAxisLabelPosition = orthogonalAxisLabelOptions.position;\r\n var orthogonalAxisLabelIndent = orthogonalAxisLabelOptions.indentFromAxis / 2;\r\n var translateCoordName = this._isHorizontal ? \"translateX\" : \"translateY\";\r\n var defaultOrthogonalAxisLabelPosition = this._isHorizontal ? LEFT : TOP;\r\n var translate = label.attr(translateCoordName);\r\n var labelCoord = (this._isHorizontal ? labelBBox.x : labelBBox.y) + translate;\r\n var labelSize = this._isHorizontal ? labelBBox.width : labelBBox.height;\r\n var outsidePart = orthogonalAxisPosition - labelCoord;\r\n var insidePart = labelCoord + labelSize - orthogonalAxisPosition;\r\n var attr = {};\r\n attr[translateCoordName] = translate;\r\n if (outsidePart > 0 && insidePart > 0) {\r\n if (insidePart - outsidePart > 1) {\r\n attr[translateCoordName] += outsidePart + orthogonalAxisLabelIndent\r\n } else if (outsidePart - insidePart > 1) {\r\n attr[translateCoordName] -= insidePart + orthogonalAxisLabelIndent\r\n } else {\r\n attr[translateCoordName] += orthogonalAxisLabelPosition === defaultOrthogonalAxisLabelPosition ? outsidePart + orthogonalAxisLabelIndent : -(insidePart + orthogonalAxisLabelIndent)\r\n }\r\n label.attr(attr)\r\n }\r\n },\r\n _shiftThroughAxisOverlappedTick(tick) {\r\n var _tick$mark;\r\n var label = tick.label;\r\n if (!label) {\r\n return\r\n }\r\n var labelBBox = label.getBBox();\r\n var tickMarkBBox = null === (_tick$mark = tick.mark) || void 0 === _tick$mark ? void 0 : _tick$mark.getBBox();\r\n var axisPosition = this.getAxisPosition();\r\n var labelOptions = this.getOptions().label;\r\n var labelIndent = labelOptions.indentFromAxis;\r\n var labelPosition = labelOptions.position;\r\n var defaultLabelPosition = this._isHorizontal ? TOP : LEFT;\r\n var translateCoordName = this._isHorizontal ? \"translateY\" : \"translateX\";\r\n var translate = label.attr(translateCoordName);\r\n var labelCoord = (this._isHorizontal ? labelBBox.y : labelBBox.x) + translate;\r\n var labelSize = this._isHorizontal ? labelBBox.height : labelBBox.width;\r\n var attr = {};\r\n attr[translateCoordName] = translate + (labelPosition === defaultLabelPosition ? axisPosition - labelCoord + labelIndent : -(labelCoord - axisPosition + labelSize + labelIndent));\r\n label.attr(attr);\r\n if (tick.mark) {\r\n var markerSize = this._isHorizontal ? tickMarkBBox.height : tickMarkBBox.width;\r\n var dir = labelPosition === defaultLabelPosition ? 1 : -1;\r\n attr[translateCoordName] = dir * (markerSize - 1);\r\n tick.mark.attr(attr)\r\n }\r\n },\r\n _detectElementsOverlapping(element1, element2) {\r\n if (!element1 || !element2) {\r\n return false\r\n }\r\n var bBox1 = element1.getBBox();\r\n var x1 = bBox1.x + element1.attr(\"translateX\");\r\n var y1 = bBox1.y + element1.attr(\"translateY\");\r\n var bBox2 = element2.getBBox();\r\n var x2 = bBox2.x + element2.attr(\"translateX\");\r\n var y2 = bBox2.y + element2.attr(\"translateY\");\r\n return (x2 >= x1 && x2 <= x1 + bBox1.width || x1 >= x2 && x1 <= x2 + bBox2.width) && (y2 >= y1 && y2 <= y1 + bBox1.height || y1 >= y2 && y1 <= y2 + bBox2.height)\r\n }\r\n }\r\n};\r\n\r\nfunction getLineDrawer(renderer, root, rotatePoints, positionFrom, breakStart, positionTo, isWaved) {\r\n var elementType = isWaved ? \"bezier\" : \"line\";\r\n var group = renderer.g().append(root);\r\n return function(offset, attr) {\r\n renderer.path(rotatePoints(getPoints(positionFrom, breakStart, positionTo, offset, isWaved)), elementType).attr(attr).append(group)\r\n }\r\n}\r\n\r\nfunction getPoints(positionFrom, breakStart, positionTo, offset, isWaved) {\r\n if (!isWaved) {\r\n return [positionFrom, breakStart + offset, positionTo, breakStart + offset]\r\n }\r\n breakStart += offset;\r\n var currentPosition;\r\n var topPoint = breakStart + WAVED_LINE_TOP;\r\n var centerPoint = breakStart + WAVED_LINE_CENTER;\r\n var bottomPoint = breakStart + WAVED_LINE_BOTTOM;\r\n var points = [\r\n [positionFrom, centerPoint]\r\n ];\r\n for (currentPosition = positionFrom; currentPosition < positionTo + WAVED_LINE_LENGTH; currentPosition += WAVED_LINE_LENGTH) {\r\n points.push([currentPosition + 6, topPoint, currentPosition + 6, topPoint, currentPosition + 12, centerPoint, currentPosition + 18, bottomPoint, currentPosition + 18, bottomPoint, currentPosition + 24, centerPoint])\r\n }\r\n return [].concat.apply([], points)\r\n}\r\n\r\nfunction rotateLine(lineCoords) {\r\n var points = [];\r\n var i;\r\n for (i = 0; i < lineCoords.length; i += 2) {\r\n points.push(lineCoords[i + 1]);\r\n points.push(lineCoords[i])\r\n }\r\n return points\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/axes/axes_utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar _max = Math.max;\r\nexport var calculateCanvasMargins = function(bBoxes, canvas) {\r\n var cLeft = canvas.left;\r\n var cTop = canvas.top;\r\n var cRight = canvas.width - canvas.right;\r\n var cBottom = canvas.height - canvas.bottom;\r\n return bBoxes.reduce((function(margins, bBox) {\r\n if (!bBox || bBox.isEmpty) {\r\n return margins\r\n }\r\n return {\r\n left: _max(margins.left, cLeft - bBox.x),\r\n top: _max(margins.top, cTop - bBox.y),\r\n right: _max(margins.right, bBox.x + bBox.width - cRight),\r\n bottom: _max(margins.bottom, bBox.y + bBox.height - cBottom)\r\n }\r\n }), {\r\n left: 0,\r\n right: 0,\r\n top: 0,\r\n bottom: 0\r\n })\r\n};\r\nexport var measureLabels = function(items) {\r\n items.forEach((function(item) {\r\n var label = item.getContentContainer();\r\n item.labelBBox = label ? label.getBBox() : {\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n }\r\n }))\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/axes/polar_axes.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map as _map,\r\n convertPolarToXY,\r\n convertXYToPolar,\r\n normalizeAngle,\r\n getVizRangeObject,\r\n getCosAndSin,\r\n getDistance\r\n} from \"../core/utils\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport constants from \"./axes_constants\";\r\nimport xyAxes from \"./xy_axes\";\r\nimport {\r\n tick\r\n} from \"./tick\";\r\nimport {\r\n calculateCanvasMargins,\r\n measureLabels\r\n} from \"./axes_utils\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nvar {\r\n PI: PI,\r\n abs: abs,\r\n atan: atan,\r\n round: round\r\n} = Math;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar xyAxesLinear = xyAxes.linear;\r\nvar HALF_PI_ANGLE = 90;\r\n\r\nfunction getPolarQuarter(angle) {\r\n var quarter;\r\n angle = normalizeAngle(angle);\r\n if (angle >= 315 && angle <= 360 || angle < 45 && angle >= 0) {\r\n quarter = 1\r\n } else if (angle >= 45 && angle < 135) {\r\n quarter = 2\r\n } else if (angle >= 135 && angle < 225) {\r\n quarter = 3\r\n } else if (angle >= 225 && angle < 315) {\r\n quarter = 4\r\n }\r\n return quarter\r\n}\r\nvar circularAxes = {\r\n _calculateValueMargins(ticks) {\r\n var {\r\n minVisible: minVisible,\r\n maxVisible: maxVisible\r\n } = this._getViewportRange();\r\n if (ticks && ticks.length > 1) {\r\n minVisible = minVisible < ticks[0].value ? minVisible : ticks[0].value;\r\n maxVisible = minVisible > ticks[ticks.length - 1].value ? maxVisible : ticks[ticks.length - 1].value\r\n }\r\n return {\r\n minValue: minVisible,\r\n maxValue: maxVisible\r\n }\r\n },\r\n applyMargins() {\r\n var margins = this._calculateValueMargins(this._majorTicks);\r\n var br = this._translator.getBusinessRange();\r\n br.addRange({\r\n minVisible: margins.minValue,\r\n maxVisible: margins.maxValue,\r\n interval: this._calculateRangeInterval(br.interval)\r\n });\r\n this._translator.updateBusinessRange(br)\r\n },\r\n _getTranslatorOptions: function() {\r\n return {\r\n isHorizontal: true,\r\n conversionValue: true,\r\n addSpiderCategory: this._getSpiderCategoryOption(),\r\n stick: this._getStick()\r\n }\r\n },\r\n getCenter: function() {\r\n return this._center\r\n },\r\n getRadius: function() {\r\n return this._radius\r\n },\r\n getAngles: function() {\r\n var options = this._options;\r\n return [options.startAngle, options.endAngle]\r\n },\r\n _updateRadius(canvas) {\r\n var rad = _min(canvas.width - canvas.left - canvas.right, canvas.height - canvas.top - canvas.bottom) / 2;\r\n this._radius = rad < 0 ? 0 : rad\r\n },\r\n _updateCenter: function(canvas) {\r\n this._center = {\r\n x: canvas.left + (canvas.width - canvas.right - canvas.left) / 2,\r\n y: canvas.top + (canvas.height - canvas.top - canvas.bottom) / 2\r\n }\r\n },\r\n _processCanvas: function(canvas) {\r\n this._updateRadius(canvas);\r\n this._updateCenter(canvas);\r\n return {\r\n left: 0,\r\n right: 0,\r\n width: this._getScreenDelta()\r\n }\r\n },\r\n _createAxisElement: function() {\r\n return this._renderer.circle()\r\n },\r\n _updateAxisElementPosition: function() {\r\n var center = this.getCenter();\r\n this._axisElement.attr({\r\n cx: center.x,\r\n cy: center.y,\r\n r: this.getRadius()\r\n })\r\n },\r\n _boundaryTicksVisibility: {\r\n min: true\r\n },\r\n _getSpiderCategoryOption: function() {\r\n return this._options.firstPointOnStartAngle\r\n },\r\n _validateOptions(options) {\r\n var originValue = options.originValue;\r\n var wholeRange = options.wholeRange = {};\r\n var period = options.period;\r\n if (isDefined(originValue)) {\r\n originValue = this.validateUnit(originValue)\r\n }\r\n if (period > 0 && options.argumentType === constants.numeric) {\r\n originValue = originValue || 0;\r\n wholeRange.endValue = originValue + period;\r\n this._viewport = getVizRangeObject([originValue, wholeRange.endValue])\r\n }\r\n if (isDefined(originValue)) {\r\n wholeRange.startValue = originValue\r\n }\r\n },\r\n getMargins() {\r\n var tickOptions = this._options.tick;\r\n var tickOuterLength = _max(tickOptions.visible ? tickOptions.length / 2 + tickOptions.shift : 0, 0);\r\n var radius = this.getRadius();\r\n var {\r\n x: x,\r\n y: y\r\n } = this._center;\r\n var labelBoxes = this._majorTicks.map(t => t.label && t.label.getBBox()).filter(b => b);\r\n var canvas = extend({}, this._canvas, {\r\n left: x - radius,\r\n top: y - radius,\r\n right: this._canvas.width - (x + radius),\r\n bottom: this._canvas.height - (y + radius)\r\n });\r\n var margins = calculateCanvasMargins(labelBoxes, canvas);\r\n Object.keys(margins).forEach(k => margins[k] = margins[k] < tickOuterLength ? tickOuterLength : margins[k]);\r\n return margins\r\n },\r\n _updateLabelsPosition() {\r\n measureLabels(this._majorTicks);\r\n this._adjustLabelsCoord(0, 0, true);\r\n this._checkBoundedLabelsOverlapping(this._majorTicks, this._majorTicks.map(t => t.labelBBox))\r\n },\r\n _setVisualRange: _noop,\r\n applyVisualRangeSetter: _noop,\r\n _getStick: function() {\r\n return this._options.firstPointOnStartAngle || this._options.type !== constants.discrete\r\n },\r\n _getTranslatedCoord: function(value, offset) {\r\n return this._translator.translate(value, offset) - HALF_PI_ANGLE\r\n },\r\n _getCanvasStartEnd: function() {\r\n return {\r\n start: 0 - HALF_PI_ANGLE,\r\n end: 360 - HALF_PI_ANGLE\r\n }\r\n },\r\n _getStripGraphicAttributes: function(fromAngle, toAngle) {\r\n var center = this.getCenter();\r\n var angle = this.getAngles()[0];\r\n var r = this.getRadius();\r\n return {\r\n x: center.x,\r\n y: center.y,\r\n innerRadius: 0,\r\n outerRadius: r,\r\n startAngle: -toAngle - angle,\r\n endAngle: -fromAngle - angle\r\n }\r\n },\r\n _createStrip: function(coords) {\r\n return this._renderer.arc(coords.x, coords.y, coords.innerRadius, coords.outerRadius, coords.startAngle, coords.endAngle)\r\n },\r\n _getStripLabelCoords: function(from, to) {\r\n var coords = this._getStripGraphicAttributes(from, to);\r\n var angle = coords.startAngle + (coords.endAngle - coords.startAngle) / 2;\r\n var cosSin = getCosAndSin(angle);\r\n var halfRad = this.getRadius() / 2;\r\n var center = this.getCenter();\r\n var x = round(center.x + halfRad * cosSin.cos);\r\n var y = round(center.y - halfRad * cosSin.sin);\r\n return {\r\n x: x,\r\n y: y,\r\n align: constants.center\r\n }\r\n },\r\n _getConstantLineGraphicAttributes: function(value) {\r\n var center = this.getCenter();\r\n var r = this.getRadius();\r\n return {\r\n points: [center.x, center.y, center.x + r, center.y]\r\n }\r\n },\r\n _createConstantLine: function(value, attr) {\r\n return this._createPathElement(this._getConstantLineGraphicAttributes(value).points, attr)\r\n },\r\n _rotateConstantLine(line, value) {\r\n var {\r\n x: x,\r\n y: y\r\n } = this.getCenter();\r\n line.rotate(value + this.getAngles()[0], x, y)\r\n },\r\n _getConstantLineLabelsCoords: function(value) {\r\n var cosSin = getCosAndSin(-value - this.getAngles()[0]);\r\n var halfRad = this.getRadius() / 2;\r\n var center = this.getCenter();\r\n var x = round(center.x + halfRad * cosSin.cos);\r\n var y = round(center.y - halfRad * cosSin.sin);\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _checkAlignmentConstantLineLabels: _noop,\r\n _adjustDivisionFactor: function(val) {\r\n return 180 * val / (this.getRadius() * PI)\r\n },\r\n _getScreenDelta: function() {\r\n var angles = this.getAngles();\r\n return abs(angles[0] - angles[1])\r\n },\r\n _getTickMarkPoints: function(coords, length, _ref) {\r\n var {\r\n shift: shift = 0\r\n } = _ref;\r\n var center = this.getCenter();\r\n var radiusWithTicks = this.getRadius() + length * {\r\n inside: -1,\r\n center: -.5,\r\n outside: 0\r\n } [this._options.tickOrientation || \"center\"];\r\n return [center.x + radiusWithTicks + shift, center.y, center.x + radiusWithTicks + length + shift, center.y]\r\n },\r\n _getLabelAdjustedCoord: function(tick, _offset, _maxWidth, checkCanvas) {\r\n var labelCoords = tick.labelCoords;\r\n var labelY = labelCoords.y;\r\n var labelAngle = labelCoords.angle;\r\n var cosSin = getCosAndSin(labelAngle);\r\n var cos = cosSin.cos;\r\n var sin = cosSin.sin;\r\n var box = tick.labelBBox;\r\n var halfWidth = box.width / 2;\r\n var halfHeight = box.height / 2;\r\n var indentFromAxis = this._options.label.indentFromAxis || 0;\r\n var x = labelCoords.x + indentFromAxis * cos;\r\n var y = labelY + (labelY - box.y - halfHeight) + indentFromAxis * sin;\r\n var shiftX = 0;\r\n var shiftY = 0;\r\n switch (getPolarQuarter(labelAngle)) {\r\n case 1:\r\n shiftX = halfWidth;\r\n shiftY = halfHeight * sin;\r\n break;\r\n case 2:\r\n shiftX = halfWidth * cos;\r\n shiftY = halfHeight;\r\n break;\r\n case 3:\r\n shiftX = -halfWidth;\r\n shiftY = halfHeight * sin;\r\n break;\r\n case 4:\r\n shiftX = halfWidth * cos;\r\n shiftY = -halfHeight\r\n }\r\n if (checkCanvas) {\r\n var canvas = this._canvas;\r\n var boxShiftX = x - labelCoords.x + shiftX;\r\n var boxShiftY = y - labelCoords.y + shiftY;\r\n if (box.x + boxShiftX < canvas.originalLeft) {\r\n shiftX -= box.x + boxShiftX - canvas.originalLeft\r\n }\r\n if (box.x + box.width + boxShiftX > canvas.width - canvas.originalRight) {\r\n shiftX -= box.x + box.width + boxShiftX - (canvas.width - canvas.originalRight)\r\n }\r\n if (box.y + boxShiftY < canvas.originalTop) {\r\n shiftY -= box.y + boxShiftY - canvas.originalTop\r\n }\r\n if (box.y + box.height + boxShiftY > canvas.height - canvas.originalBottom) {\r\n shiftY -= box.y + box.height + boxShiftY - (canvas.height - canvas.originalBottom)\r\n }\r\n }\r\n return {\r\n x: x + shiftX,\r\n y: y + shiftY\r\n }\r\n },\r\n _getGridLineDrawer: function() {\r\n var that = this;\r\n return function(tick, gridStyle) {\r\n var center = that.getCenter();\r\n return that._createPathElement(that._getGridPoints().points, gridStyle).rotate(tick.coords.angle, center.x, center.y)\r\n }\r\n },\r\n _getGridPoints: function() {\r\n var r = this.getRadius();\r\n var center = this.getCenter();\r\n return {\r\n points: [center.x, center.y, center.x + r, center.y]\r\n }\r\n },\r\n _getTranslatedValue: function(value, offset) {\r\n var startAngle = this.getAngles()[0];\r\n var angle = this._translator.translate(value, -offset);\r\n var coords = convertPolarToXY(this.getCenter(), startAngle, angle, this.getRadius());\r\n return {\r\n x: coords.x,\r\n y: coords.y,\r\n angle: this.getTranslatedAngle(angle)\r\n }\r\n },\r\n _getAdjustedStripLabelCoords: function(strip) {\r\n var box = strip.labelBBox;\r\n return {\r\n translateY: strip.label.attr(\"y\") - box.y - box.height / 2\r\n }\r\n },\r\n coordsIn: function(x, y) {\r\n return convertXYToPolar(this.getCenter(), x, y).r > this.getRadius()\r\n },\r\n _rotateTick: function(element, coords) {\r\n var center = this.getCenter();\r\n element.rotate(coords.angle, center.x, center.y)\r\n },\r\n _validateOverlappingMode: function(mode) {\r\n return constants.validateOverlappingMode(mode)\r\n },\r\n _validateDisplayMode: function() {\r\n return \"standard\"\r\n },\r\n _getStep: function(boxes) {\r\n var radius = this.getRadius() + (this._options.label.indentFromAxis || 0);\r\n var maxLabelBox = boxes.reduce((function(prevValue, box) {\r\n var curValue = prevValue;\r\n if (prevValue.width < box.width) {\r\n curValue.width = box.width\r\n }\r\n if (prevValue.height < box.height) {\r\n curValue.height = box.height\r\n }\r\n return curValue\r\n }), {\r\n width: 0,\r\n height: 0\r\n });\r\n var angle1 = abs(2 * atan(maxLabelBox.height / (2 * radius - maxLabelBox.width)) * 180 / PI);\r\n var angle2 = abs(2 * atan(maxLabelBox.width / (2 * radius - maxLabelBox.height)) * 180 / PI);\r\n return constants.getTicksCountInRange(this._majorTicks, \"angle\", _max(angle1, angle2))\r\n },\r\n _checkBoundedLabelsOverlapping: function(majorTicks, boxes, mode) {\r\n var labelOpt = this._options.label;\r\n mode = mode || this._validateOverlappingMode(labelOpt.overlappingBehavior);\r\n if (\"hide\" !== mode) {\r\n return\r\n }\r\n var lastVisibleLabelIndex = majorTicks.reduce((lastVisibleLabelIndex, tick, index) => tick.label ? index : lastVisibleLabelIndex, null);\r\n if (!lastVisibleLabelIndex) {\r\n return\r\n }\r\n if (constants.areLabelsOverlap(boxes[0], boxes[lastVisibleLabelIndex], labelOpt.minSpacing, constants.center)) {\r\n \"first\" === labelOpt.hideFirstOrLast ? majorTicks[0].removeLabel() : majorTicks[lastVisibleLabelIndex].removeLabel()\r\n }\r\n },\r\n shift: function(margins) {\r\n this._axisGroup.attr({\r\n translateX: margins.right,\r\n translateY: margins.bottom\r\n });\r\n this._axisElementsGroup.attr({\r\n translateX: margins.right,\r\n translateY: margins.bottom\r\n })\r\n },\r\n getTranslatedAngle(angle) {\r\n var startAngle = this.getAngles()[0];\r\n return angle + startAngle - HALF_PI_ANGLE\r\n }\r\n};\r\nexport var circular = circularAxes;\r\nexport var circularSpider = extend({}, circularAxes, {\r\n _createAxisElement: function() {\r\n return this._renderer.path([], \"area\")\r\n },\r\n _updateAxisElementPosition: function() {\r\n this._axisElement.attr({\r\n points: _map(this.getSpiderTicks(), (function(tick) {\r\n return {\r\n x: tick.coords.x,\r\n y: tick.coords.y\r\n }\r\n }))\r\n })\r\n },\r\n _getStick: function() {\r\n return true\r\n },\r\n _getSpiderCategoryOption: function() {\r\n return true\r\n },\r\n getSpiderTicks: function() {\r\n var ticks = this.getFullTicks();\r\n this._spiderTicks = ticks.map(tick(this, this.renderer, {}, {}, this._getSkippedCategory(ticks), true));\r\n this._spiderTicks.forEach((function(tick) {\r\n tick.initCoords()\r\n }));\r\n return this._spiderTicks\r\n },\r\n _getStripGraphicAttributes: function(fromAngle, toAngle) {\r\n var center = this.getCenter();\r\n var spiderTicks = this.getSpiderTicks();\r\n var firstTick;\r\n var lastTick;\r\n var nextTick;\r\n var tick;\r\n var points = [];\r\n var i = 0;\r\n var len = spiderTicks.length;\r\n while (i < len) {\r\n tick = spiderTicks[i].coords;\r\n if (tick.angle >= fromAngle && tick.angle <= toAngle) {\r\n if (!firstTick) {\r\n firstTick = (spiderTicks[i - 1] || spiderTicks[spiderTicks.length - 1]).coords;\r\n points.push((tick.x + firstTick.x) / 2, (tick.y + firstTick.y) / 2)\r\n }\r\n points.push(tick.x, tick.y);\r\n nextTick = (spiderTicks[i + 1] || spiderTicks[0]).coords;\r\n lastTick = {\r\n x: (tick.x + nextTick.x) / 2,\r\n y: (tick.y + nextTick.y) / 2\r\n }\r\n }\r\n i++\r\n }\r\n points.push(lastTick.x, lastTick.y);\r\n points.push(center.x, center.y);\r\n return {\r\n points: points\r\n }\r\n },\r\n _createStrip: function(_ref2) {\r\n var {\r\n points: points\r\n } = _ref2;\r\n return this._renderer.path(points, \"area\")\r\n },\r\n _getTranslatedCoord: function(value, offset) {\r\n return this._translator.translate(value, offset) - HALF_PI_ANGLE\r\n },\r\n _setTickOffset: function() {\r\n this._tickOffset = false\r\n }\r\n});\r\nexport var linear = {\r\n _resetMargins() {\r\n this._reinitTranslator(this._getViewportRange())\r\n },\r\n _getStick: xyAxesLinear._getStick,\r\n _getSpiderCategoryOption: _noop,\r\n _getTranslatorOptions: function() {\r\n return {\r\n isHorizontal: true,\r\n stick: this._getStick()\r\n }\r\n },\r\n getRadius: circularAxes.getRadius,\r\n getCenter: circularAxes.getCenter,\r\n getAngles: circularAxes.getAngles,\r\n _updateRadius: circularAxes._updateRadius,\r\n _updateCenter: circularAxes._updateCenter,\r\n _processCanvas(canvas) {\r\n this._updateRadius(canvas);\r\n this._updateCenter(canvas);\r\n return {\r\n left: 0,\r\n right: 0,\r\n startPadding: canvas.startPadding,\r\n endPadding: canvas.endPadding,\r\n width: this.getRadius()\r\n }\r\n },\r\n _createAxisElement: xyAxesLinear._createAxisElement,\r\n _updateAxisElementPosition: function() {\r\n var centerCoord = this.getCenter();\r\n this._axisElement.attr({\r\n points: [centerCoord.x, centerCoord.y, centerCoord.x + this.getRadius(), centerCoord.y]\r\n }).rotate(this.getAngles()[0] - HALF_PI_ANGLE, centerCoord.x, centerCoord.y)\r\n },\r\n _getScreenDelta: function() {\r\n return this.getRadius()\r\n },\r\n _getTickMarkPoints: function(coords, length) {\r\n return [coords.x - length / 2, coords.y, coords.x + length / 2, coords.y]\r\n },\r\n _getLabelAdjustedCoord: function(tick) {\r\n var labelCoords = tick.labelCoords;\r\n var labelY = labelCoords.y;\r\n var cosSin = getCosAndSin(labelCoords.angle);\r\n var indentFromAxis = this._options.label.indentFromAxis || 0;\r\n var box = tick.labelBBox;\r\n var x = labelCoords.x - abs(indentFromAxis * cosSin.sin) + abs(box.width / 2 * cosSin.cos) - box.width / 2;\r\n var y = labelY + (labelY - box.y) - abs(box.height / 2 * cosSin.sin) + abs(indentFromAxis * cosSin.cos);\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _getGridLineDrawer: function() {\r\n var that = this;\r\n return function(tick, gridStyle) {\r\n var grid = that._getGridPoints(tick.coords);\r\n return that._renderer.circle(grid.cx, grid.cy, grid.r).attr(gridStyle).sharp()\r\n }\r\n },\r\n _getGridPoints: function(coords) {\r\n var pos = this.getCenter();\r\n var radius = getDistance(pos.x, pos.y, coords.x, coords.y);\r\n if (radius > this.getRadius()) {\r\n return {\r\n cx: null,\r\n cy: null,\r\n r: null\r\n }\r\n }\r\n return {\r\n cx: pos.x,\r\n cy: pos.y,\r\n r: radius\r\n }\r\n },\r\n _getTranslatedValue: function(value, offset) {\r\n var startAngle = this.getAngles()[0];\r\n var xy = convertPolarToXY(this.getCenter(), startAngle, 0, this._translator.translate(value, offset));\r\n return {\r\n x: xy.x,\r\n y: xy.y,\r\n angle: startAngle - HALF_PI_ANGLE\r\n }\r\n },\r\n _getTranslatedCoord: function(value, offset) {\r\n return this._translator.translate(value, offset)\r\n },\r\n _getCanvasStartEnd() {\r\n var invert = this.getTranslator().getBusinessRange().invert;\r\n var coords = [0, this.getRadius()];\r\n invert && coords.reverse();\r\n return {\r\n start: coords[0],\r\n end: coords[1]\r\n }\r\n },\r\n _getStripGraphicAttributes: function(fromPoint, toPoint) {\r\n var center = this.getCenter();\r\n return {\r\n x: center.x,\r\n y: center.y,\r\n innerRadius: fromPoint,\r\n outerRadius: toPoint\r\n }\r\n },\r\n _createStrip: function(attrs) {\r\n return this._renderer.arc(attrs.x, attrs.y, attrs.innerRadius, attrs.outerRadius, 0, 360)\r\n },\r\n _getAdjustedStripLabelCoords: circularAxes._getAdjustedStripLabelCoords,\r\n _getStripLabelCoords: function(from, to) {\r\n var labelPos = from + (to - from) / 2;\r\n var center = this.getCenter();\r\n var y = round(center.y - labelPos);\r\n return {\r\n x: center.x,\r\n y: y,\r\n align: constants.center\r\n }\r\n },\r\n _getConstantLineGraphicAttributes: function(value) {\r\n var center = this.getCenter();\r\n return {\r\n cx: center.x,\r\n cy: center.y,\r\n r: value\r\n }\r\n },\r\n _createConstantLine: function(value, attr) {\r\n var attrs = this._getConstantLineGraphicAttributes(value);\r\n return this._renderer.circle(attrs.cx, attrs.cy, attrs.r).attr(attr).sharp()\r\n },\r\n _getConstantLineLabelsCoords: function(value) {\r\n var center = this.getCenter();\r\n var y = round(center.y - value);\r\n return {\r\n x: center.x,\r\n y: y\r\n }\r\n },\r\n _checkAlignmentConstantLineLabels: _noop,\r\n _rotateTick: function(element, coords, isGridLine) {\r\n !isGridLine && element.rotate(coords.angle + HALF_PI_ANGLE, coords.x, coords.y)\r\n },\r\n _validateOverlappingMode: circularAxes._validateOverlappingMode,\r\n _validateDisplayMode: circularAxes._validateDisplayMode,\r\n _getStep: function(boxes) {\r\n var quarter = getPolarQuarter(this.getAngles()[0]);\r\n var spacing = this._options.label.minSpacing;\r\n var func = 2 === quarter || 4 === quarter ? function(box) {\r\n return box.width + spacing\r\n } : function(box) {\r\n return box.height\r\n };\r\n var maxLabelLength = boxes.reduce((prevValue, box) => _max(prevValue, func(box)), 0);\r\n return constants.getTicksCountInRange(this._majorTicks, 2 === quarter || 4 === quarter ? \"x\" : \"y\", maxLabelLength)\r\n }\r\n};\r\nexport var linearSpider = extend({}, linear, {\r\n _createPathElement: function(points, attr) {\r\n return this._renderer.path(points, \"area\").attr(attr).sharp()\r\n },\r\n setSpiderTicks: function(ticks) {\r\n this._spiderTicks = ticks\r\n },\r\n _getGridLineDrawer: function() {\r\n var that = this;\r\n return function(tick, gridStyle) {\r\n return that._createPathElement(that._getGridPoints(tick.coords).points, gridStyle)\r\n }\r\n },\r\n _getGridPoints: function(coords) {\r\n var pos = this.getCenter();\r\n var radius = getDistance(pos.x, pos.y, coords.x, coords.y);\r\n return this._getGridPointsByRadius(radius)\r\n },\r\n _getGridPointsByRadius: function(radius) {\r\n var pos = this.getCenter();\r\n if (radius > this.getRadius()) {\r\n return {\r\n points: null\r\n }\r\n }\r\n return {\r\n points: _map(this._spiderTicks, (function(tick) {\r\n var cosSin = getCosAndSin(tick.coords.angle);\r\n return {\r\n x: round(pos.x + radius * cosSin.cos),\r\n y: round(pos.y + radius * cosSin.sin)\r\n }\r\n }))\r\n }\r\n },\r\n _getStripGraphicAttributes: function(fromPoint, toPoint) {\r\n var innerPoints = this._getGridPointsByRadius(toPoint).points;\r\n var outerPoints = this._getGridPointsByRadius(fromPoint).points;\r\n return {\r\n points: [outerPoints, innerPoints.reverse()]\r\n }\r\n },\r\n _createStrip: circularSpider._createStrip,\r\n _getConstantLineGraphicAttributes: function(value) {\r\n return this._getGridPointsByRadius(value)\r\n },\r\n _createConstantLine: function(value, attr) {\r\n return this._createPathElement(this._getConstantLineGraphicAttributes(value).points, attr)\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/axes/constant_line.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nexport default function createConstantLine(axis, options) {\r\n var labelOptions = options.label || {};\r\n var labelPosition = labelOptions.position || \"inside\";\r\n var parsedValue;\r\n var valueIsParsed = false;\r\n var lastStoredCoordinates;\r\n axis._checkAlignmentConstantLineLabels(labelOptions);\r\n var storedCoord;\r\n return {\r\n options: options,\r\n labelOptions: labelOptions,\r\n labelPosition: labelPosition,\r\n label: null,\r\n line: null,\r\n getParsedValue() {\r\n if (!valueIsParsed) {\r\n parsedValue = axis.validateUnit(options.value, \"E2105\", \"constantLine\");\r\n valueIsParsed = true;\r\n return parsedValue\r\n }\r\n return parsedValue\r\n },\r\n draw() {\r\n if (!isDefined(options.value) || axis._translator.getBusinessRange().isEmpty()) {\r\n return this\r\n }\r\n var canvas = axis._getCanvasStartEnd();\r\n var parsedValue = this.getParsedValue();\r\n this.coord = axis._getConstantLinePos(parsedValue, canvas.start, canvas.end);\r\n var rootGroup = options.displayBehindSeries ? axis._axisConstantLineGroups.under : axis._axisConstantLineGroups.above;\r\n var group = rootGroup[labelPosition];\r\n if (!group) {\r\n var side = axis._isHorizontal ? labelOptions.verticalAlignment : labelOptions.horizontalAlignment;\r\n group = rootGroup[side]\r\n }\r\n if (!isDefined(this.coord)) {\r\n return this\r\n }\r\n var path = axis._createConstantLine(this.coord, {\r\n stroke: options.color,\r\n \"stroke-width\": options.width,\r\n dashStyle: options.dashStyle\r\n });\r\n this.line = path.append(rootGroup.inside);\r\n this.label = labelOptions.visible ? axis._drawConstantLineLabels(parsedValue, labelOptions, this.coord, group) : null;\r\n this.updatePosition();\r\n return this\r\n },\r\n getContentContainer() {\r\n return this.label\r\n },\r\n removeLabel() {\r\n this.label && this.label.remove()\r\n },\r\n updatePosition(animate) {\r\n var canvas = axis._getCanvasStartEnd();\r\n var coord = axis._getConstantLinePos(this.getParsedValue(), canvas.start, canvas.end);\r\n if (!isDefined(coord)) {\r\n return\r\n }\r\n this.coord = coord;\r\n if (animate && storedCoord) {\r\n this.label && this.label.attr(axis._getConstantLineLabelsCoords(storedCoord, this.labelOptions));\r\n this.line && this.line.attr(axis._getConstantLineGraphicAttributes(storedCoord));\r\n this.label && this.label.animate(axis._getConstantLineLabelsCoords(this.coord, this.labelOptions));\r\n this.line && this.line.animate(axis._getConstantLineGraphicAttributes(this.coord))\r\n } else {\r\n this.label && this.label.attr(axis._getConstantLineLabelsCoords(this.coord, this.labelOptions));\r\n this.line && this.line.attr(axis._getConstantLineGraphicAttributes(this.coord));\r\n axis._rotateConstantLine(this.line, this.coord)\r\n }\r\n },\r\n saveCoords() {\r\n lastStoredCoordinates = storedCoord;\r\n storedCoord = this.coord\r\n },\r\n resetCoordinates() {\r\n storedCoord = lastStoredCoordinates\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/axes/strip.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n patchFontOptions\r\n} from \"../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nexport default function createStrip(axis, options) {\r\n var storedCoord;\r\n var lastStoredCoordinates;\r\n var labelOptions = options.label || {};\r\n return {\r\n options: options,\r\n label: null,\r\n rect: null,\r\n _getCoord() {\r\n var canvas = axis._getCanvasStartEnd();\r\n var range = axis._translator.getBusinessRange();\r\n return axis._getStripPos(options.startValue, options.endValue, canvas.start, canvas.end, range)\r\n },\r\n _drawLabel: coords => axis._renderer.text(labelOptions.text, coords.x, coords.y).css(patchFontOptions(extend({}, axis.getOptions().label.font, labelOptions.font))).attr({\r\n align: \"center\",\r\n class: labelOptions.cssClass\r\n }).append(axis._axisStripLabelGroup),\r\n draw() {\r\n if (axis._translator.getBusinessRange().isEmpty()) {\r\n return\r\n }\r\n if ((isDefined(options.startValue) || isDefined(options.endValue)) && isDefined(options.color)) {\r\n var stripPos = this._getCoord();\r\n this.labelCoords = labelOptions.text ? axis._getStripLabelCoords(stripPos.from, stripPos.to, labelOptions) : null;\r\n if (stripPos.outOfCanvas || !isDefined(stripPos.to) || !isDefined(stripPos.from)) {\r\n return\r\n }\r\n this.rect = axis._createStrip(axis._getStripGraphicAttributes(stripPos.from, stripPos.to)).attr({\r\n fill: options.color\r\n }).append(axis._axisStripGroup);\r\n this.label = labelOptions.text ? this._drawLabel(this.labelCoords) : null\r\n }\r\n },\r\n getContentContainer() {\r\n return this.label\r\n },\r\n removeLabel() {},\r\n updatePosition(animate) {\r\n var stripPos = this._getCoord();\r\n if (animate && storedCoord) {\r\n this.label && this.label.attr(axis._getStripLabelCoords(storedCoord.from, storedCoord.to, options.label));\r\n this.rect && this.rect.attr(axis._getStripGraphicAttributes(storedCoord.from, storedCoord.to));\r\n this.label && this.label.animate(axis._getStripLabelCoords(stripPos.from, stripPos.to, options.label));\r\n this.rect && this.rect.animate(axis._getStripGraphicAttributes(stripPos.from, stripPos.to))\r\n } else {\r\n this.label && this.label.attr(axis._getStripLabelCoords(stripPos.from, stripPos.to, options.label));\r\n this.rect && this.rect.attr(axis._getStripGraphicAttributes(stripPos.from, stripPos.to))\r\n }\r\n },\r\n saveCoords() {\r\n lastStoredCoordinates = storedCoord;\r\n storedCoord = this._getCoord()\r\n },\r\n resetCoordinates() {\r\n storedCoord = lastStoredCoordinates\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/axes/base_axis.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n smartFormatter as _format,\r\n formatRange\r\n} from \"./smart_formatter\";\r\nimport {\r\n patchFontOptions,\r\n getVizRangeObject,\r\n getLogExt as getLog,\r\n raiseToExt as raiseTo,\r\n valueOf,\r\n rotateBBox,\r\n getCategoriesInfo,\r\n adjustVisualRange,\r\n getAddFunction,\r\n convertVisualRangeObject\r\n} from \"../core/utils\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isPlainObject,\r\n type\r\n} from \"../../core/utils/type\";\r\nimport constants from \"./axes_constants\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport formatHelper from \"../../format_helper\";\r\nimport {\r\n getParser\r\n} from \"../components/parse_utils\";\r\nimport {\r\n tickGenerator\r\n} from \"./tick_generator\";\r\nimport {\r\n Translator2D\r\n} from \"../translators/translator2d\";\r\nimport {\r\n Range\r\n} from \"../translators/range\";\r\nimport {\r\n tick\r\n} from \"./tick\";\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nimport errors from \"../../core/errors\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport xyMethods from \"./xy_axes\";\r\nimport * as polarMethods from \"./polar_axes\";\r\nimport createConstantLine from \"./constant_line\";\r\nimport createStrip from \"./strip\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n calculateCanvasMargins,\r\n measureLabels\r\n} from \"./axes_utils\";\r\nvar convertTicksToValues = constants.convertTicksToValues;\r\nvar _math = Math;\r\nvar _abs = _math.abs;\r\nvar _max = _math.max;\r\nvar _min = _math.min;\r\nvar _isArray = Array.isArray;\r\nvar DEFAULT_AXIS_LABEL_SPACING = 5;\r\nvar MAX_GRID_BORDER_ADHENSION = 4;\r\nvar TOP = constants.top;\r\nvar BOTTOM = constants.bottom;\r\nvar LEFT = constants.left;\r\nvar RIGHT = constants.right;\r\nvar CENTER = constants.center;\r\nvar KEEP = \"keep\";\r\nvar SHIFT = \"shift\";\r\nvar RESET = \"reset\";\r\nvar ROTATE = \"rotate\";\r\nvar DEFAULT_AXIS_DIVISION_FACTOR = 50;\r\nvar DEFAULT_MINOR_AXIS_DIVISION_FACTOR = 15;\r\nvar SCROLL_THRESHOLD = 5;\r\nvar MIN_BAR_MARGIN = 5;\r\nvar MAX_MARGIN_VALUE = .8;\r\nvar dateIntervals = {\r\n day: 864e5,\r\n week: 6048e5\r\n};\r\n\r\nfunction getTickGenerator(options, incidentOccurred, skipTickGeneration, rangeIsEmpty, adjustDivisionFactor, _ref) {\r\n var _options$workWeek;\r\n var {\r\n allowNegatives: allowNegatives,\r\n linearThreshold: linearThreshold\r\n } = _ref;\r\n return tickGenerator({\r\n axisType: options.type,\r\n dataType: options.dataType,\r\n logBase: options.logarithmBase,\r\n allowNegatives: allowNegatives,\r\n linearThreshold: linearThreshold,\r\n axisDivisionFactor: adjustDivisionFactor(options.axisDivisionFactor || DEFAULT_AXIS_DIVISION_FACTOR),\r\n minorAxisDivisionFactor: adjustDivisionFactor(options.minorAxisDivisionFactor || DEFAULT_MINOR_AXIS_DIVISION_FACTOR),\r\n numberMultipliers: options.numberMultipliers,\r\n calculateMinors: options.minorTick.visible || options.minorGrid.visible || options.calculateMinors,\r\n allowDecimals: options.allowDecimals,\r\n endOnTick: options.endOnTick,\r\n incidentOccurred: incidentOccurred,\r\n firstDayOfWeek: null === (_options$workWeek = options.workWeek) || void 0 === _options$workWeek ? void 0 : _options$workWeek[0],\r\n skipTickGeneration: skipTickGeneration,\r\n skipCalculationLimits: options.skipCalculationLimits,\r\n generateExtraTick: options.generateExtraTick,\r\n minTickInterval: options.minTickInterval,\r\n rangeIsEmpty: rangeIsEmpty\r\n })\r\n}\r\n\r\nfunction createMajorTick(axis, renderer, skippedCategory) {\r\n var options = axis.getOptions();\r\n return tick(axis, renderer, options.tick, options.grid, skippedCategory, false)\r\n}\r\n\r\nfunction createMinorTick(axis, renderer) {\r\n var options = axis.getOptions();\r\n return tick(axis, renderer, options.minorTick, options.minorGrid)\r\n}\r\n\r\nfunction createBoundaryTick(axis, renderer, isFirst) {\r\n var options = axis.getOptions();\r\n return tick(axis, renderer, extend({}, options.tick, {\r\n visible: options.showCustomBoundaryTicks\r\n }), options.grid, void 0, false, isFirst ? -1 : 1)\r\n}\r\n\r\nfunction callAction(elements, action, actionArgument1, actionArgument2) {\r\n (elements || []).forEach(e => e[action](actionArgument1, actionArgument2))\r\n}\r\n\r\nfunction initTickCoords(ticks) {\r\n callAction(ticks, \"initCoords\")\r\n}\r\n\r\nfunction drawTickMarks(ticks, options) {\r\n callAction(ticks, \"drawMark\", options)\r\n}\r\n\r\nfunction drawGrids(ticks, drawLine) {\r\n callAction(ticks, \"drawGrid\", drawLine)\r\n}\r\n\r\nfunction updateTicksPosition(ticks, options, animate) {\r\n callAction(ticks, \"updateTickPosition\", options, animate)\r\n}\r\n\r\nfunction updateGridsPosition(ticks, animate) {\r\n callAction(ticks, \"updateGridPosition\", animate)\r\n}\r\n\r\nfunction cleanUpInvalidTicks(ticks) {\r\n var i = ticks.length - 1;\r\n for (i; i >= 0; i--) {\r\n if (!removeInvalidTick(ticks, i)) {\r\n break\r\n }\r\n }\r\n for (i = 0; i < ticks.length; i++) {\r\n if (removeInvalidTick(ticks, i)) {\r\n i--\r\n } else {\r\n break\r\n }\r\n }\r\n}\r\n\r\nfunction removeInvalidTick(ticks, i) {\r\n if (null === ticks[i].coords.x || null === ticks[i].coords.y) {\r\n ticks.splice(i, 1);\r\n return true\r\n }\r\n return false\r\n}\r\n\r\nfunction validateAxisOptions(options) {\r\n var _labelOptions$minSpac;\r\n var labelOptions = options.label;\r\n var position = options.position;\r\n var defaultPosition = options.isHorizontal ? BOTTOM : LEFT;\r\n var secondaryPosition = options.isHorizontal ? TOP : RIGHT;\r\n var labelPosition = labelOptions.position;\r\n if (position !== defaultPosition && position !== secondaryPosition) {\r\n position = defaultPosition\r\n }\r\n if (!labelPosition || \"outside\" === labelPosition) {\r\n labelPosition = position\r\n } else if (\"inside\" === labelPosition) {\r\n labelPosition = {\r\n [TOP]: BOTTOM,\r\n [BOTTOM]: TOP,\r\n [LEFT]: RIGHT,\r\n [RIGHT]: LEFT\r\n } [position]\r\n }\r\n if (labelPosition !== defaultPosition && labelPosition !== secondaryPosition) {\r\n labelPosition = position\r\n }\r\n if (labelOptions.alignment !== CENTER && !labelOptions.userAlignment) {\r\n labelOptions.alignment = {\r\n [TOP]: CENTER,\r\n [BOTTOM]: CENTER,\r\n [LEFT]: RIGHT,\r\n [RIGHT]: LEFT\r\n } [labelPosition]\r\n }\r\n options.position = position;\r\n labelOptions.position = labelPosition;\r\n options.hoverMode = options.hoverMode ? options.hoverMode.toLowerCase() : \"none\";\r\n labelOptions.minSpacing = null !== (_labelOptions$minSpac = labelOptions.minSpacing) && void 0 !== _labelOptions$minSpac ? _labelOptions$minSpac : DEFAULT_AXIS_LABEL_SPACING;\r\n options.type && (options.type = options.type.toLowerCase());\r\n options.argumentType && (options.argumentType = options.argumentType.toLowerCase());\r\n options.valueType && (options.valueType = options.valueType.toLowerCase())\r\n}\r\n\r\nfunction getOptimalAngle(boxes, labelOpt) {\r\n var angle = 180 * _math.asin((boxes[0].height + labelOpt.minSpacing) / (boxes[1].x - boxes[0].x)) / _math.PI;\r\n return angle < 45 ? -45 : -90\r\n}\r\n\r\nfunction updateLabels(ticks, step, func) {\r\n ticks.forEach((function(tick, index) {\r\n if (tick.getContentContainer()) {\r\n if (index % step !== 0) {\r\n tick.removeLabel()\r\n } else if (func) {\r\n func(tick, index)\r\n }\r\n }\r\n }))\r\n}\r\n\r\nfunction getZoomBoundValue(optionValue, dataValue) {\r\n if (void 0 === optionValue) {\r\n return dataValue\r\n } else if (null === optionValue) {\r\n return\r\n } else {\r\n return optionValue\r\n }\r\n}\r\n\r\nfunction configureGenerator(options, axisDivisionFactor, viewPort, screenDelta, minTickInterval) {\r\n var tickGeneratorOptions = extend({}, options, {\r\n endOnTick: true,\r\n axisDivisionFactor: axisDivisionFactor,\r\n skipCalculationLimits: true,\r\n generateExtraTick: true,\r\n minTickInterval: minTickInterval\r\n });\r\n return function(tickInterval, skipTickGeneration, min, max, breaks) {\r\n return getTickGenerator(tickGeneratorOptions, _noop, skipTickGeneration, viewPort.isEmpty(), v => v, viewPort)({\r\n min: min,\r\n max: max,\r\n categories: viewPort.categories,\r\n isSpacedMargin: viewPort.isSpacedMargin\r\n }, screenDelta, tickInterval, isDefined(tickInterval), void 0, void 0, void 0, breaks)\r\n }\r\n}\r\n\r\nfunction getConstantLineSharpDirection(coord, axisCanvas) {\r\n return Math.max(axisCanvas.start, axisCanvas.end) !== coord ? 1 : -1\r\n}\r\n\r\nfunction checkDeprecatedOptions(isValueAxis, options) {\r\n if (isValueAxis && \"shift\" === options.visualRangeUpdateMode) {\r\n errors.log(\"W0016\", \"valueAxis.visualRangeUpdateMode\", \"shift\", \"23.1\", \"Specify another value\")\r\n }\r\n}\r\nexport var Axis = function(renderSettings) {\r\n this._renderer = renderSettings.renderer;\r\n this._incidentOccurred = renderSettings.incidentOccurred;\r\n this._eventTrigger = renderSettings.eventTrigger;\r\n this._stripsGroup = renderSettings.stripsGroup;\r\n this._stripLabelAxesGroup = renderSettings.stripLabelAxesGroup;\r\n this._labelsAxesGroup = renderSettings.labelsAxesGroup;\r\n this._constantLinesGroup = renderSettings.constantLinesGroup;\r\n this._scaleBreaksGroup = renderSettings.scaleBreaksGroup;\r\n this._axesContainerGroup = renderSettings.axesContainerGroup;\r\n this._gridContainerGroup = renderSettings.gridGroup;\r\n this._axisCssPrefix = renderSettings.widgetClass + \"-\" + (renderSettings.axisClass ? renderSettings.axisClass + \"-\" : \"\");\r\n this._setType(renderSettings.axisType, renderSettings.drawingType);\r\n this._createAxisGroups();\r\n this._translator = this._createTranslator();\r\n this.isArgumentAxis = renderSettings.isArgumentAxis;\r\n this._viewport = {};\r\n this._prevDataInfo = {};\r\n this._firstDrawing = true;\r\n this._initRange = {};\r\n this._getTemplate = renderSettings.getTemplate\r\n};\r\nAxis.prototype = {\r\n constructor: Axis,\r\n _drawAxis() {\r\n var options = this._options;\r\n if (!options.visible) {\r\n return\r\n }\r\n this._axisElement = this._createAxisElement();\r\n this._updateAxisElementPosition();\r\n this._axisElement.attr({\r\n \"stroke-width\": options.width,\r\n stroke: options.color,\r\n \"stroke-opacity\": options.opacity\r\n }).sharp(this._getSharpParam(true), this.getAxisSharpDirection()).append(this._axisLineGroup)\r\n },\r\n _createPathElement(points, attr, sharpDirection) {\r\n return this.sharp(this._renderer.path(points, \"line\").attr(attr), sharpDirection)\r\n },\r\n sharp(svgElement) {\r\n var sharpDirection = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1;\r\n return svgElement.sharp(this._getSharpParam(), sharpDirection)\r\n },\r\n customPositionIsAvailable: () => false,\r\n getOrthogonalAxis: _noop,\r\n getCustomPosition: _noop,\r\n getCustomBoundaryPosition: _noop,\r\n resolveOverlappingForCustomPositioning: _noop,\r\n hasNonBoundaryPosition: () => false,\r\n customPositionIsBoundaryOrthogonalAxis: () => false,\r\n getResolvedBoundaryPosition() {\r\n return this.getOptions().position\r\n },\r\n getAxisSharpDirection() {\r\n var position = this.getResolvedBoundaryPosition();\r\n return this.hasNonBoundaryPosition() || position !== BOTTOM && position !== RIGHT ? 1 : -1\r\n },\r\n getSharpDirectionByCoords(coords) {\r\n var canvas = this._getCanvasStartEnd();\r\n var maxCoord = Math.max(canvas.start, canvas.end);\r\n return this.getRadius ? 0 : maxCoord !== coords[this._isHorizontal ? \"x\" : \"y\"] ? 1 : -1\r\n },\r\n _getGridLineDrawer: function() {\r\n var that = this;\r\n return function(tick, gridStyle) {\r\n var grid = that._getGridPoints(tick.coords);\r\n if (grid.points) {\r\n return that._createPathElement(grid.points, gridStyle, that.getSharpDirectionByCoords(tick.coords))\r\n }\r\n return null\r\n }\r\n },\r\n _getGridPoints: function(coords) {\r\n var isHorizontal = this._isHorizontal;\r\n var tickPositionField = isHorizontal ? \"x\" : \"y\";\r\n var orthogonalPositions = this._orthogonalPositions;\r\n var positionFrom = orthogonalPositions.start;\r\n var positionTo = orthogonalPositions.end;\r\n var borderOptions = this.borderOptions;\r\n var canvasStart = isHorizontal ? LEFT : TOP;\r\n var canvasEnd = isHorizontal ? RIGHT : BOTTOM;\r\n var axisCanvas = this.getCanvas();\r\n var canvas = {\r\n left: axisCanvas.left,\r\n right: axisCanvas.width - axisCanvas.right,\r\n top: axisCanvas.top,\r\n bottom: axisCanvas.height - axisCanvas.bottom\r\n };\r\n var firstBorderLinePosition = borderOptions.visible && borderOptions[canvasStart] ? canvas[canvasStart] : void 0;\r\n var lastBorderLinePosition = borderOptions.visible && borderOptions[canvasEnd] ? canvas[canvasEnd] : void 0;\r\n var minDelta = MAX_GRID_BORDER_ADHENSION + firstBorderLinePosition;\r\n var maxDelta = lastBorderLinePosition - MAX_GRID_BORDER_ADHENSION;\r\n if (this.areCoordsOutsideAxis(coords) || void 0 === coords[tickPositionField] || coords[tickPositionField] < minDelta || coords[tickPositionField] > maxDelta) {\r\n return {\r\n points: null\r\n }\r\n }\r\n return {\r\n points: isHorizontal ? null !== coords[tickPositionField] ? [coords[tickPositionField], positionFrom, coords[tickPositionField], positionTo] : null : null !== coords[tickPositionField] ? [positionFrom, coords[tickPositionField], positionTo, coords[tickPositionField]] : null\r\n }\r\n },\r\n _getConstantLinePos: function(parsedValue, canvasStart, canvasEnd) {\r\n var value = this._getTranslatedCoord(parsedValue);\r\n if (!isDefined(value) || value < _min(canvasStart, canvasEnd) || value > _max(canvasStart, canvasEnd)) {\r\n return\r\n }\r\n return value\r\n },\r\n _getConstantLineGraphicAttributes: function(value) {\r\n var positionFrom = this._orthogonalPositions.start;\r\n var positionTo = this._orthogonalPositions.end;\r\n return {\r\n points: this._isHorizontal ? [value, positionFrom, value, positionTo] : [positionFrom, value, positionTo, value]\r\n }\r\n },\r\n _createConstantLine: function(value, attr) {\r\n return this._createPathElement(this._getConstantLineGraphicAttributes(value).points, attr, getConstantLineSharpDirection(value, this._getCanvasStartEnd()))\r\n },\r\n _drawConstantLineLabelText: function(text, x, y, _ref2, group) {\r\n var {\r\n font: font,\r\n cssClass: cssClass\r\n } = _ref2;\r\n return this._renderer.text(text, x, y).css(patchFontOptions(extend({}, this._options.label.font, font))).attr({\r\n align: \"center\",\r\n class: cssClass\r\n }).append(group)\r\n },\r\n _drawConstantLineLabels: function(parsedValue, lineLabelOptions, value, group) {\r\n var _text;\r\n var text = lineLabelOptions.text;\r\n var options = this._options;\r\n var labelOptions = options.label;\r\n this._checkAlignmentConstantLineLabels(lineLabelOptions);\r\n text = null !== (_text = text) && void 0 !== _text ? _text : this.formatLabel(parsedValue, labelOptions);\r\n var coords = this._getConstantLineLabelsCoords(value, lineLabelOptions);\r\n return this._drawConstantLineLabelText(text, coords.x, coords.y, lineLabelOptions, group)\r\n },\r\n _getStripPos: function(startValue, endValue, canvasStart, canvasEnd, range) {\r\n var isContinuous = !!(range.minVisible || range.maxVisible);\r\n var categories = (range.categories || []).reduce((function(result, cat) {\r\n result.push(cat.valueOf());\r\n return result\r\n }), []);\r\n var start;\r\n var end;\r\n var swap;\r\n var startCategoryIndex;\r\n var endCategoryIndex;\r\n if (!isContinuous) {\r\n if (isDefined(startValue) && isDefined(endValue)) {\r\n var _parsedStartValue$val, _parsedEndValue$value;\r\n var parsedStartValue = this.parser(startValue);\r\n var parsedEndValue = this.parser(endValue);\r\n startCategoryIndex = categories.indexOf(null !== (_parsedStartValue$val = null === parsedStartValue || void 0 === parsedStartValue ? void 0 : parsedStartValue.valueOf()) && void 0 !== _parsedStartValue$val ? _parsedStartValue$val : void 0);\r\n endCategoryIndex = categories.indexOf(null !== (_parsedEndValue$value = null === parsedEndValue || void 0 === parsedEndValue ? void 0 : parsedEndValue.valueOf()) && void 0 !== _parsedEndValue$value ? _parsedEndValue$value : void 0);\r\n if (-1 === startCategoryIndex || -1 === endCategoryIndex) {\r\n return {\r\n from: 0,\r\n to: 0,\r\n outOfCanvas: true\r\n }\r\n }\r\n if (startCategoryIndex > endCategoryIndex) {\r\n swap = endValue;\r\n endValue = startValue;\r\n startValue = swap\r\n }\r\n }\r\n }\r\n if (isDefined(startValue)) {\r\n startValue = this.validateUnit(startValue, \"E2105\", \"strip\");\r\n start = this._getTranslatedCoord(startValue, -1)\r\n } else {\r\n start = canvasStart\r\n }\r\n if (isDefined(endValue)) {\r\n endValue = this.validateUnit(endValue, \"E2105\", \"strip\");\r\n end = this._getTranslatedCoord(endValue, 1)\r\n } else {\r\n end = canvasEnd\r\n }\r\n var stripPosition = start < end ? {\r\n from: start,\r\n to: end\r\n } : {\r\n from: end,\r\n to: start\r\n };\r\n var visibleArea = this.getVisibleArea();\r\n if (stripPosition.from <= visibleArea[0] && stripPosition.to <= visibleArea[0] || stripPosition.from >= visibleArea[1] && stripPosition.to >= visibleArea[1]) {\r\n stripPosition.outOfCanvas = true\r\n }\r\n return stripPosition\r\n },\r\n _getStripGraphicAttributes: function(fromPoint, toPoint) {\r\n var x;\r\n var y;\r\n var width;\r\n var height;\r\n var orthogonalPositions = this._orthogonalPositions;\r\n var positionFrom = orthogonalPositions.start;\r\n var positionTo = orthogonalPositions.end;\r\n if (this._isHorizontal) {\r\n x = fromPoint;\r\n y = _min(positionFrom, positionTo);\r\n width = toPoint - fromPoint;\r\n height = _abs(positionFrom - positionTo)\r\n } else {\r\n x = _min(positionFrom, positionTo);\r\n y = fromPoint;\r\n width = _abs(positionFrom - positionTo);\r\n height = _abs(fromPoint - toPoint)\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n }\r\n },\r\n _createStrip: function(attrs) {\r\n return this._renderer.rect(attrs.x, attrs.y, attrs.width, attrs.height)\r\n },\r\n _adjustStripLabels: function() {\r\n var that = this;\r\n this._strips.forEach((function(strip) {\r\n if (strip.label) {\r\n strip.label.attr(that._getAdjustedStripLabelCoords(strip))\r\n }\r\n }))\r\n },\r\n _adjustLabelsCoord(offset, maxWidth, checkCanvas) {\r\n var getContainerAttrs = tick => this._getLabelAdjustedCoord(tick, offset + (tick.labelOffset || 0), maxWidth, checkCanvas);\r\n this._majorTicks.forEach((function(tick) {\r\n if (tick.label) {\r\n tick.updateMultilineTextAlignment();\r\n tick.label.attr(getContainerAttrs(tick))\r\n } else {\r\n tick.templateContainer && tick.templateContainer.attr(getContainerAttrs(tick))\r\n }\r\n }))\r\n },\r\n _adjustLabels: function(offset) {\r\n var options = this.getOptions();\r\n var positionsAreConsistent = options.position === options.label.position;\r\n var maxSize = this._majorTicks.reduce((function(size, tick) {\r\n if (!tick.getContentContainer()) {\r\n return size\r\n }\r\n var bBox = tick.labelRotationAngle ? rotateBBox(tick.labelBBox, [tick.labelCoords.x, tick.labelCoords.y], -tick.labelRotationAngle) : tick.labelBBox;\r\n return {\r\n width: _max(size.width || 0, bBox.width),\r\n height: _max(size.height || 0, bBox.height),\r\n offset: _max(size.offset || 0, tick.labelOffset || 0)\r\n }\r\n }), {});\r\n var additionalOffset = positionsAreConsistent ? this._isHorizontal ? maxSize.height : maxSize.width : 0;\r\n this._adjustLabelsCoord(offset, maxSize.width);\r\n return offset + additionalOffset + (additionalOffset && this._options.label.indentFromAxis) + (positionsAreConsistent ? maxSize.offset : 0)\r\n },\r\n _getLabelAdjustedCoord: function(tick, offset, maxWidth) {\r\n offset = offset || 0;\r\n var options = this._options;\r\n var templateBox = tick.templateContainer && tick.templateContainer.getBBox();\r\n var box = templateBox || rotateBBox(tick.labelBBox, [tick.labelCoords.x, tick.labelCoords.y], -tick.labelRotationAngle || 0);\r\n var textAlign = tick.labelAlignment || options.label.alignment;\r\n var isDiscrete = \"discrete\" === this._options.type;\r\n var isFlatLabel = tick.labelRotationAngle % 90 === 0;\r\n var indentFromAxis = options.label.indentFromAxis;\r\n var labelPosition = options.label.position;\r\n var axisPosition = this._axisPosition;\r\n var labelCoords = tick.labelCoords;\r\n var labelX = labelCoords.x;\r\n var translateX;\r\n var translateY;\r\n if (this._isHorizontal) {\r\n if (labelPosition === BOTTOM) {\r\n translateY = axisPosition + indentFromAxis - box.y + offset\r\n } else {\r\n translateY = axisPosition - indentFromAxis - (box.y + box.height) - offset\r\n }\r\n if (textAlign === RIGHT) {\r\n translateX = isDiscrete && isFlatLabel ? tick.coords.x - (box.x + box.width) : labelX - box.x - box.width\r\n } else if (textAlign === LEFT) {\r\n translateX = isDiscrete && isFlatLabel ? labelX - box.x - (tick.coords.x - labelX) : labelX - box.x\r\n } else {\r\n translateX = labelX - box.x - box.width / 2\r\n }\r\n } else {\r\n translateY = labelCoords.y - box.y - box.height / 2;\r\n if (labelPosition === LEFT) {\r\n if (textAlign === LEFT) {\r\n translateX = axisPosition - indentFromAxis - maxWidth - box.x\r\n } else if (textAlign === CENTER) {\r\n translateX = axisPosition - indentFromAxis - maxWidth / 2 - box.x - box.width / 2\r\n } else {\r\n translateX = axisPosition - indentFromAxis - box.x - box.width\r\n }\r\n translateX -= offset\r\n } else {\r\n if (textAlign === RIGHT) {\r\n translateX = axisPosition + indentFromAxis + maxWidth - box.x - box.width\r\n } else if (textAlign === CENTER) {\r\n translateX = axisPosition + indentFromAxis + maxWidth / 2 - box.x - box.width / 2\r\n } else {\r\n translateX = axisPosition + indentFromAxis - box.x\r\n }\r\n translateX += offset\r\n }\r\n }\r\n return {\r\n translateX: translateX,\r\n translateY: translateY\r\n }\r\n },\r\n _createAxisConstantLineGroups: function() {\r\n var renderer = this._renderer;\r\n var classSelector = this._axisCssPrefix;\r\n var constantLinesClass = classSelector + \"constant-lines\";\r\n var insideGroup = renderer.g().attr({\r\n class: constantLinesClass\r\n });\r\n var outsideGroup1 = renderer.g().attr({\r\n class: constantLinesClass\r\n });\r\n var outsideGroup2 = renderer.g().attr({\r\n class: constantLinesClass\r\n });\r\n return {\r\n inside: insideGroup,\r\n outside1: outsideGroup1,\r\n left: outsideGroup1,\r\n top: outsideGroup1,\r\n outside2: outsideGroup2,\r\n right: outsideGroup2,\r\n bottom: outsideGroup2,\r\n remove: function() {\r\n this.inside.remove();\r\n this.outside1.remove();\r\n this.outside2.remove()\r\n },\r\n clear: function() {\r\n this.inside.clear();\r\n this.outside1.clear();\r\n this.outside2.clear()\r\n }\r\n }\r\n },\r\n _createAxisGroups: function() {\r\n var renderer = this._renderer;\r\n var classSelector = this._axisCssPrefix;\r\n this._axisGroup = renderer.g().attr({\r\n class: classSelector + \"axis\"\r\n }).enableLinks();\r\n this._axisStripGroup = renderer.g().attr({\r\n class: classSelector + \"strips\"\r\n });\r\n this._axisGridGroup = renderer.g().attr({\r\n class: classSelector + \"grid\"\r\n });\r\n this._axisElementsGroup = renderer.g().attr({\r\n class: classSelector + \"elements\"\r\n });\r\n this._axisLineGroup = renderer.g().attr({\r\n class: classSelector + \"line\"\r\n }).linkOn(this._axisGroup, \"axisLine\").linkAppend();\r\n this._axisTitleGroup = renderer.g().attr({\r\n class: classSelector + \"title\"\r\n }).append(this._axisGroup);\r\n this._axisConstantLineGroups = {\r\n above: this._createAxisConstantLineGroups(),\r\n under: this._createAxisConstantLineGroups()\r\n };\r\n this._axisStripLabelGroup = renderer.g().attr({\r\n class: classSelector + \"axis-labels\"\r\n })\r\n },\r\n _clearAxisGroups: function() {\r\n this._axisGroup.remove();\r\n this._axisStripGroup.remove();\r\n this._axisStripLabelGroup.remove();\r\n this._axisConstantLineGroups.above.remove();\r\n this._axisConstantLineGroups.under.remove();\r\n this._axisGridGroup.remove();\r\n this._axisTitleGroup.clear();\r\n if (!this._options.label.template || !this.isRendered()) {\r\n this._axisElementsGroup.remove();\r\n this._axisElementsGroup.clear()\r\n }\r\n this._axisLineGroup && this._axisLineGroup.clear();\r\n this._axisStripGroup && this._axisStripGroup.clear();\r\n this._axisGridGroup && this._axisGridGroup.clear();\r\n this._axisConstantLineGroups.above.clear();\r\n this._axisConstantLineGroups.under.clear();\r\n this._axisStripLabelGroup && this._axisStripLabelGroup.clear()\r\n },\r\n _getLabelFormatObject: function(value, labelOptions, range, point, tickInterval, ticks) {\r\n range = range || this._getViewportRange();\r\n var formatObject = {\r\n value: value,\r\n valueText: _format(value, {\r\n labelOptions: labelOptions,\r\n ticks: ticks || convertTicksToValues(this._majorTicks),\r\n tickInterval: null !== tickInterval && void 0 !== tickInterval ? tickInterval : this._tickInterval,\r\n dataType: this._options.dataType,\r\n logarithmBase: this._options.logarithmBase,\r\n type: this._options.type,\r\n showTransition: !this._options.marker.visible,\r\n point: point\r\n }) || \"\",\r\n min: range.minVisible,\r\n max: range.maxVisible\r\n };\r\n if (point) {\r\n formatObject.point = point\r\n }\r\n return formatObject\r\n },\r\n formatLabel: function(value, labelOptions, range, point, tickInterval, ticks) {\r\n var formatObject = this._getLabelFormatObject(value, labelOptions, range, point, tickInterval, ticks);\r\n return isFunction(labelOptions.customizeText) ? labelOptions.customizeText.call(formatObject, formatObject) : formatObject.valueText\r\n },\r\n formatHint: function(value, labelOptions, range) {\r\n var formatObject = this._getLabelFormatObject(value, labelOptions, range);\r\n return isFunction(labelOptions.customizeHint) ? labelOptions.customizeHint.call(formatObject, formatObject) : void 0\r\n },\r\n formatRange(startValue, endValue, interval, argumentFormat) {\r\n return formatRange({\r\n startValue: startValue,\r\n endValue: endValue,\r\n tickInterval: interval,\r\n argumentFormat: argumentFormat,\r\n axisOptions: this.getOptions()\r\n })\r\n },\r\n _setTickOffset: function() {\r\n var options = this._options;\r\n var discreteAxisDivisionMode = options.discreteAxisDivisionMode;\r\n this._tickOffset = +(\"crossLabels\" !== discreteAxisDivisionMode || !discreteAxisDivisionMode)\r\n },\r\n aggregatedPointBetweenTicks() {\r\n return \"crossTicks\" === this._options.aggregatedPointsPosition\r\n },\r\n resetApplyingAnimation: function(isFirstDrawing) {\r\n this._resetApplyingAnimation = true;\r\n if (isFirstDrawing) {\r\n this._firstDrawing = true\r\n }\r\n },\r\n isFirstDrawing() {\r\n return this._firstDrawing\r\n },\r\n getMargins: function() {\r\n var that = this;\r\n var {\r\n position: position,\r\n offset: offset,\r\n customPosition: customPosition,\r\n placeholderSize: placeholderSize,\r\n grid: grid,\r\n tick: tick,\r\n crosshairMargin: crosshairMargin\r\n } = that._options;\r\n var isDefinedCustomPositionOption = isDefined(customPosition);\r\n var boundaryPosition = that.getResolvedBoundaryPosition();\r\n var canvas = that.getCanvas();\r\n var cLeft = canvas.left;\r\n var cTop = canvas.top;\r\n var cRight = canvas.width - canvas.right;\r\n var cBottom = canvas.height - canvas.bottom;\r\n var edgeMarginCorrection = _max(grid.visible && grid.width || 0, tick.visible && tick.width || 0);\r\n var constantLineAboveSeries = that._axisConstantLineGroups.above;\r\n var constantLineUnderSeries = that._axisConstantLineGroups.under;\r\n var boxes = [that._axisElementsGroup, constantLineAboveSeries.outside1, constantLineAboveSeries.outside2, constantLineUnderSeries.outside1, constantLineUnderSeries.outside2, that._axisLineGroup].map(group => group && group.getBBox()).concat(function(group) {\r\n var box = group && group.getBBox();\r\n if (!box || box.isEmpty) {\r\n return box\r\n }\r\n if (that._isHorizontal) {\r\n box.x = cLeft;\r\n box.width = cRight - cLeft\r\n } else {\r\n box.y = cTop;\r\n box.height = cBottom - cTop\r\n }\r\n return box\r\n }(that._axisTitleGroup));\r\n var margins = calculateCanvasMargins(boxes, canvas);\r\n margins[position] += crosshairMargin;\r\n if (that.hasNonBoundaryPosition() && isDefinedCustomPositionOption) {\r\n margins[boundaryPosition] = 0\r\n }\r\n if (placeholderSize) {\r\n margins[position] = placeholderSize\r\n }\r\n if (edgeMarginCorrection) {\r\n if (that._isHorizontal && canvas.right < edgeMarginCorrection && margins.right < edgeMarginCorrection) {\r\n margins.right = edgeMarginCorrection\r\n }\r\n if (!that._isHorizontal && canvas.bottom < edgeMarginCorrection && margins.bottom < edgeMarginCorrection) {\r\n margins.bottom = edgeMarginCorrection\r\n }\r\n }\r\n if (!isDefinedCustomPositionOption && isDefined(offset)) {\r\n var moveByOffset = that.customPositionIsBoundary() && (offset > 0 && (boundaryPosition === LEFT || boundaryPosition === TOP) || offset < 0 && (boundaryPosition === RIGHT || boundaryPosition === BOTTOM));\r\n margins[boundaryPosition] -= moveByOffset ? offset : 0\r\n }\r\n return margins\r\n },\r\n validateUnit: function(unit, idError, parameters) {\r\n unit = this.parser(unit);\r\n if (void 0 === unit && idError) {\r\n this._incidentOccurred(idError, [parameters])\r\n }\r\n return unit\r\n },\r\n _setType: function(axisType, drawingType) {\r\n var axisTypeMethods;\r\n switch (axisType) {\r\n case \"xyAxes\":\r\n axisTypeMethods = xyMethods;\r\n break;\r\n case \"polarAxes\":\r\n axisTypeMethods = polarMethods\r\n }\r\n extend(this, axisTypeMethods[drawingType])\r\n },\r\n _getSharpParam: function() {\r\n return true\r\n },\r\n _disposeBreaksGroup: _noop,\r\n dispose: function() {\r\n [this._axisElementsGroup, this._axisStripGroup, this._axisGroup].forEach((function(g) {\r\n g.dispose()\r\n }));\r\n this._strips = this._title = null;\r\n this._axisStripGroup = this._axisConstantLineGroups = this._axisStripLabelGroup = this._axisBreaksGroup = null;\r\n this._axisLineGroup = this._axisElementsGroup = this._axisGridGroup = null;\r\n this._axisGroup = this._axisTitleGroup = null;\r\n this._axesContainerGroup = this._stripsGroup = this._constantLinesGroup = this._labelsAxesGroup = null;\r\n this._renderer = this._options = this._textOptions = this._textFontStyles = null;\r\n this._translator = null;\r\n this._majorTicks = this._minorTicks = null;\r\n this._disposeBreaksGroup();\r\n this._templatesRendered && this._templatesRendered.reject()\r\n },\r\n getOptions: function() {\r\n return this._options\r\n },\r\n setPane: function(pane) {\r\n this.pane = pane;\r\n this._options.pane = pane\r\n },\r\n setTypes: function(type, axisType, typeSelector) {\r\n this._options.type = type || this._options.type;\r\n this._options[typeSelector] = axisType || this._options[typeSelector];\r\n this._updateTranslator()\r\n },\r\n resetTypes: function(typeSelector) {\r\n this._options.type = this._initTypes.type;\r\n this._options[typeSelector] = this._initTypes[typeSelector]\r\n },\r\n getTranslator: function() {\r\n return this._translator\r\n },\r\n updateOptions: function(options) {\r\n var that = this;\r\n var labelOpt = options.label;\r\n validateAxisOptions(options);\r\n checkDeprecatedOptions(!that.isArgumentAxis, options);\r\n that._options = options;\r\n options.tick = options.tick || {};\r\n options.minorTick = options.minorTick || {};\r\n options.grid = options.grid || {};\r\n options.minorGrid = options.minorGrid || {};\r\n options.title = options.title || {};\r\n options.marker = options.marker || {};\r\n that._initTypes = {\r\n type: options.type,\r\n argumentType: options.argumentType,\r\n valueType: options.valueType\r\n };\r\n that._setTickOffset();\r\n that._isHorizontal = options.isHorizontal;\r\n that.pane = options.pane;\r\n that.name = options.name;\r\n that.priority = options.priority;\r\n that._hasLabelFormat = \"\" !== labelOpt.format && isDefined(labelOpt.format);\r\n that._textOptions = {\r\n opacity: labelOpt.opacity,\r\n align: \"center\",\r\n class: labelOpt.cssClass\r\n };\r\n that._textFontStyles = patchFontOptions(labelOpt.font);\r\n if (options.type === constants.logarithmic) {\r\n if (options.logarithmBaseError) {\r\n that._incidentOccurred(\"E2104\");\r\n delete options.logarithmBaseError\r\n }\r\n }\r\n that._updateTranslator();\r\n that._createConstantLines();\r\n that._strips = (options.strips || []).map(o => createStrip(that, o));\r\n that._majorTicks = that._minorTicks = null;\r\n that._firstDrawing = true\r\n },\r\n calculateInterval: function(value, prevValue) {\r\n var options = this._options;\r\n if (!options || options.type !== constants.logarithmic) {\r\n return _abs(value - prevValue)\r\n }\r\n var {\r\n allowNegatives: allowNegatives,\r\n linearThreshold: linearThreshold\r\n } = new Range(this.getTranslator().getBusinessRange());\r\n return _abs(getLog(value, options.logarithmBase, allowNegatives, linearThreshold) - getLog(prevValue, options.logarithmBase, allowNegatives, linearThreshold))\r\n },\r\n getCanvasRange() {\r\n var translator = this._translator;\r\n return {\r\n startValue: translator.from(translator.translate(\"canvas_position_start\")),\r\n endValue: translator.from(translator.translate(\"canvas_position_end\"))\r\n }\r\n },\r\n _processCanvas: function(canvas) {\r\n return canvas\r\n },\r\n updateCanvas: function(canvas, canvasRedesign) {\r\n if (!canvasRedesign) {\r\n var positions = this._orthogonalPositions = {\r\n start: !this._isHorizontal ? canvas.left : canvas.top,\r\n end: !this._isHorizontal ? canvas.width - canvas.right : canvas.height - canvas.bottom\r\n };\r\n positions.center = positions.start + (positions.end - positions.start) / 2\r\n } else {\r\n this._orthogonalPositions = null\r\n }\r\n this._canvas = canvas;\r\n this._translator.updateCanvas(this._processCanvas(canvas));\r\n this._initAxisPositions()\r\n },\r\n getCanvas: function() {\r\n return this._canvas\r\n },\r\n getAxisShift() {\r\n return this._axisShift || 0\r\n },\r\n hideTitle: function() {\r\n if (this._options.title.text) {\r\n this._incidentOccurred(\"W2105\", [this._isHorizontal ? \"horizontal\" : \"vertical\"]);\r\n this._axisTitleGroup.clear()\r\n }\r\n },\r\n getTitle: function() {\r\n return this._title\r\n },\r\n hideOuterElements: function() {\r\n var options = this._options;\r\n if ((options.label.visible || this._outsideConstantLines.length) && !this._translator.getBusinessRange().isEmpty()) {\r\n this._incidentOccurred(\"W2106\", [this._isHorizontal ? \"horizontal\" : \"vertical\"]);\r\n this._axisElementsGroup.clear();\r\n callAction(this._outsideConstantLines, \"removeLabel\")\r\n }\r\n },\r\n _resolveLogarithmicOptionsForRange(range) {\r\n var options = this._options;\r\n if (options.type === constants.logarithmic) {\r\n range.addRange({\r\n allowNegatives: void 0 !== options.allowNegatives ? options.allowNegatives : range.min <= 0\r\n });\r\n if (!isNaN(options.linearThreshold)) {\r\n range.linearThreshold = options.linearThreshold\r\n }\r\n }\r\n },\r\n adjustViewport(businessRange) {\r\n var options = this._options;\r\n var isDiscrete = options.type === constants.discrete;\r\n var categories = this._seriesData && this._seriesData.categories || [];\r\n var wholeRange = this.adjustRange(getVizRangeObject(options.wholeRange));\r\n var visualRange = this.getViewport() || {};\r\n var result = new Range(businessRange);\r\n this._addConstantLinesToRange(result);\r\n var minDefined = isDefined(visualRange.startValue);\r\n var maxDefined = isDefined(visualRange.endValue);\r\n if (!isDiscrete) {\r\n minDefined = minDefined && (!isDefined(wholeRange.endValue) || visualRange.startValue < wholeRange.endValue);\r\n maxDefined = maxDefined && (!isDefined(wholeRange.startValue) || visualRange.endValue > wholeRange.startValue)\r\n }\r\n var minVisible = minDefined ? visualRange.startValue : result.minVisible;\r\n var maxVisible = maxDefined ? visualRange.endValue : result.maxVisible;\r\n if (!isDiscrete) {\r\n var _wholeRange$startValu, _wholeRange$endValue;\r\n result.min = null !== (_wholeRange$startValu = wholeRange.startValue) && void 0 !== _wholeRange$startValu ? _wholeRange$startValu : result.min;\r\n result.max = null !== (_wholeRange$endValue = wholeRange.endValue) && void 0 !== _wholeRange$endValue ? _wholeRange$endValue : result.max\r\n } else {\r\n var categoriesInfo = getCategoriesInfo(categories, wholeRange.startValue, wholeRange.endValue);\r\n categories = categoriesInfo.categories;\r\n result.categories = categories\r\n }\r\n var adjustedVisualRange = adjustVisualRange({\r\n axisType: options.type,\r\n dataType: options.dataType,\r\n base: options.logarithmBase\r\n }, {\r\n startValue: minDefined ? visualRange.startValue : void 0,\r\n endValue: maxDefined ? visualRange.endValue : void 0,\r\n length: visualRange.length\r\n }, {\r\n categories: categories,\r\n min: wholeRange.startValue,\r\n max: wholeRange.endValue\r\n }, {\r\n categories: categories,\r\n min: minVisible,\r\n max: maxVisible\r\n });\r\n result.minVisible = adjustedVisualRange.startValue;\r\n result.maxVisible = adjustedVisualRange.endValue;\r\n !isDefined(result.min) && (result.min = result.minVisible);\r\n !isDefined(result.max) && (result.max = result.maxVisible);\r\n result.addRange({});\r\n this._resolveLogarithmicOptionsForRange(result);\r\n return result\r\n },\r\n adjustRange(range) {\r\n range = range || {};\r\n var isDiscrete = this._options.type === constants.discrete;\r\n var isLogarithmic = this._options.type === constants.logarithmic;\r\n var disabledNegatives = false === this._options.allowNegatives;\r\n if (isLogarithmic) {\r\n range.startValue = disabledNegatives && range.startValue <= 0 ? null : range.startValue;\r\n range.endValue = disabledNegatives && range.endValue <= 0 ? null : range.endValue\r\n }\r\n if (!isDiscrete && isDefined(range.startValue) && isDefined(range.endValue) && range.startValue > range.endValue) {\r\n var tmp = range.endValue;\r\n range.endValue = range.startValue;\r\n range.startValue = tmp\r\n }\r\n return range\r\n },\r\n _getVisualRangeUpdateMode(viewport, newRange, oppositeValue) {\r\n var value = this._options.visualRangeUpdateMode;\r\n var translator = this._translator;\r\n var range = this._seriesData;\r\n var prevDataInfo = this._prevDataInfo;\r\n if (prevDataInfo.isEmpty && !prevDataInfo.containsConstantLine) {\r\n return KEEP\r\n }\r\n if (!this.isArgumentAxis) {\r\n var _viewport = this.getViewport();\r\n if (!isDefined(_viewport.startValue) && !isDefined(_viewport.endValue) && !isDefined(_viewport.length)) {\r\n return RESET\r\n }\r\n }\r\n if (this.isArgumentAxis) {\r\n if (-1 === [SHIFT, KEEP, RESET].indexOf(value)) {\r\n if (range.axisType === constants.discrete) {\r\n var categories = range.categories;\r\n var newCategories = newRange.categories;\r\n var visualRange = this.visualRange();\r\n if (categories && newCategories && categories.length && -1 !== newCategories.map(c => c.valueOf()).join(\",\").indexOf(categories.map(c => c.valueOf()).join(\",\")) && (visualRange.startValue.valueOf() !== categories[0].valueOf() || visualRange.endValue.valueOf() !== categories[categories.length - 1].valueOf())) {\r\n value = KEEP\r\n } else {\r\n value = RESET\r\n }\r\n } else {\r\n var minPoint = translator.translate(range.min);\r\n var minVisiblePoint = translator.translate(viewport.startValue);\r\n var maxPoint = translator.translate(range.max);\r\n var maxVisiblePoint = translator.translate(viewport.endValue);\r\n if (minPoint === minVisiblePoint && maxPoint === maxVisiblePoint) {\r\n value = RESET\r\n } else if (minPoint !== minVisiblePoint && maxPoint === maxVisiblePoint) {\r\n value = SHIFT\r\n } else {\r\n value = KEEP\r\n }\r\n }\r\n if (value === KEEP && prevDataInfo.isEmpty && prevDataInfo.containsConstantLine) {\r\n value = RESET\r\n }\r\n }\r\n } else if (-1 === [KEEP, RESET].indexOf(value)) {\r\n if (oppositeValue === KEEP) {\r\n value = KEEP\r\n } else {\r\n value = RESET\r\n }\r\n }\r\n return value\r\n },\r\n _handleBusinessRangeChanged(oppositeVisualRangeUpdateMode, axisReinitialized, newRange) {\r\n var visualRange = this.visualRange();\r\n if (axisReinitialized || this._translator.getBusinessRange().isEmpty()) {\r\n return\r\n }\r\n var visualRangeUpdateMode = this._lastVisualRangeUpdateMode = this._getVisualRangeUpdateMode(visualRange, newRange, oppositeVisualRangeUpdateMode);\r\n if (visualRangeUpdateMode === KEEP) {\r\n this._setVisualRange([visualRange.startValue, visualRange.endValue])\r\n } else if (visualRangeUpdateMode === RESET) {\r\n this._setVisualRange([null, null])\r\n } else if (visualRangeUpdateMode === SHIFT) {\r\n this._setVisualRange({\r\n length: this.getVisualRangeLength()\r\n })\r\n }\r\n },\r\n getVisualRangeLength(range) {\r\n var currentBusinessRange = range || this._translator.getBusinessRange();\r\n var {\r\n type: type\r\n } = this._options;\r\n var length;\r\n if (type === constants.logarithmic) {\r\n length = adjust(this.calculateInterval(currentBusinessRange.maxVisible, currentBusinessRange.minVisible))\r\n } else if (type === constants.discrete) {\r\n var categoriesInfo = getCategoriesInfo(currentBusinessRange.categories, currentBusinessRange.minVisible, currentBusinessRange.maxVisible);\r\n length = categoriesInfo.categories.length\r\n } else {\r\n length = currentBusinessRange.maxVisible - currentBusinessRange.minVisible\r\n }\r\n return length\r\n },\r\n getVisualRangeCenter(range, useMerge) {\r\n var translator = this.getTranslator();\r\n var businessRange = translator.getBusinessRange();\r\n var currentBusinessRange = useMerge ? extend(true, {}, businessRange, range || {}) : range || businessRange;\r\n var {\r\n type: type,\r\n logarithmBase: logarithmBase\r\n } = this._options;\r\n var center;\r\n if (!isDefined(currentBusinessRange.minVisible) || !isDefined(currentBusinessRange.maxVisible)) {\r\n return\r\n }\r\n if (type === constants.logarithmic) {\r\n var {\r\n allowNegatives: allowNegatives,\r\n linearThreshold: linearThreshold,\r\n minVisible: minVisible,\r\n maxVisible: maxVisible\r\n } = currentBusinessRange;\r\n center = raiseTo(adjust(getLog(maxVisible, logarithmBase, allowNegatives, linearThreshold) + getLog(minVisible, logarithmBase, allowNegatives, linearThreshold)) / 2, logarithmBase, allowNegatives, linearThreshold)\r\n } else if (type === constants.discrete) {\r\n var categoriesInfo = getCategoriesInfo(currentBusinessRange.categories, currentBusinessRange.minVisible, currentBusinessRange.maxVisible);\r\n var index = Math.ceil(categoriesInfo.categories.length / 2) - 1;\r\n center = businessRange.categories.indexOf(categoriesInfo.categories[index])\r\n } else {\r\n center = translator.toValue((currentBusinessRange.maxVisible.valueOf() + currentBusinessRange.minVisible.valueOf()) / 2)\r\n }\r\n return center\r\n },\r\n setBusinessRange(range, axisReinitialized, oppositeVisualRangeUpdateMode, argCategories) {\r\n var _that$_seriesData$min, _that$_seriesData$max;\r\n var options = this._options;\r\n var isDiscrete = options.type === constants.discrete;\r\n this._handleBusinessRangeChanged(oppositeVisualRangeUpdateMode, axisReinitialized, range);\r\n this._seriesData = new Range(range);\r\n var dataIsEmpty = this._seriesData.isEmpty();\r\n var rangeWithConstantLines = new Range(this._seriesData);\r\n this._addConstantLinesToRange(rangeWithConstantLines);\r\n this._prevDataInfo = {\r\n isEmpty: dataIsEmpty,\r\n containsConstantLine: rangeWithConstantLines.containsConstantLine\r\n };\r\n this._seriesData.addRange({\r\n categories: options.categories,\r\n dataType: options.dataType,\r\n axisType: options.type,\r\n base: options.logarithmBase,\r\n invert: options.inverted\r\n });\r\n this._resolveLogarithmicOptionsForRange(this._seriesData);\r\n if (!isDiscrete) {\r\n if (!isDefined(this._seriesData.min) && !isDefined(this._seriesData.max)) {\r\n var visualRange = this.getViewport();\r\n visualRange && this._seriesData.addRange({\r\n min: visualRange.startValue,\r\n max: visualRange.endValue\r\n })\r\n }\r\n var synchronizedValue = options.synchronizedValue;\r\n if (isDefined(synchronizedValue)) {\r\n this._seriesData.addRange({\r\n min: synchronizedValue,\r\n max: synchronizedValue\r\n })\r\n }\r\n }\r\n this._seriesData.minVisible = null !== (_that$_seriesData$min = this._seriesData.minVisible) && void 0 !== _that$_seriesData$min ? _that$_seriesData$min : this._seriesData.min;\r\n this._seriesData.maxVisible = null !== (_that$_seriesData$max = this._seriesData.maxVisible) && void 0 !== _that$_seriesData$max ? _that$_seriesData$max : this._seriesData.max;\r\n if (!this.isArgumentAxis && options.showZero) {\r\n this._seriesData.correctValueZeroLevel()\r\n }\r\n this._seriesData.sortCategories(this.getCategoriesSorter(argCategories));\r\n this._seriesData.userBreaks = this._seriesData.isEmpty() ? [] : this._getScaleBreaks(options, this._seriesData, this._series, this.isArgumentAxis);\r\n this._translator.updateBusinessRange(this._getViewportRange())\r\n },\r\n _addConstantLinesToRange(dataRange) {\r\n this._outsideConstantLines.concat(this._insideConstantLines || []).forEach(cl => {\r\n if (cl.options.extendAxis) {\r\n var value = cl.getParsedValue();\r\n dataRange.addRange({\r\n containsConstantLine: true,\r\n minVisible: value,\r\n maxVisible: value,\r\n min: !isDefined(dataRange.min) ? value : dataRange.min,\r\n max: !isDefined(dataRange.max) ? value : dataRange.max\r\n })\r\n }\r\n })\r\n },\r\n setGroupSeries: function(series) {\r\n this._series = series\r\n },\r\n getLabelsPosition: function() {\r\n var options = this._options;\r\n var position = options.position;\r\n var labelShift = options.label.indentFromAxis + (this._axisShift || 0) + this._constantLabelOffset;\r\n var axisPosition = this._axisPosition;\r\n return position === TOP || position === LEFT ? axisPosition - labelShift : axisPosition + labelShift\r\n },\r\n getFormattedValue: function(value, options, point) {\r\n var labelOptions = this._options.label;\r\n return isDefined(value) ? this.formatLabel(value, extend(true, {}, labelOptions, options), void 0, point) : null\r\n },\r\n _getBoundaryTicks: function(majors, viewPort) {\r\n var length = majors.length;\r\n var options = this._options;\r\n var customBounds = options.customBoundTicks;\r\n var min = viewPort.minVisible;\r\n var max = viewPort.maxVisible;\r\n var addMinMax = options.showCustomBoundaryTicks ? this._boundaryTicksVisibility : {};\r\n var boundaryTicks = [];\r\n if (options.type === constants.discrete) {\r\n if (this._tickOffset && 0 !== majors.length) {\r\n boundaryTicks = [majors[0], majors[majors.length - 1]]\r\n }\r\n } else if (customBounds) {\r\n if (addMinMax.min && isDefined(customBounds[0])) {\r\n boundaryTicks.push(customBounds[0])\r\n }\r\n if (addMinMax.max && isDefined(customBounds[1])) {\r\n boundaryTicks.push(customBounds[1])\r\n }\r\n } else {\r\n if (addMinMax.min && (0 === length || majors[0] > min)) {\r\n boundaryTicks.push(min)\r\n }\r\n if (addMinMax.max && (0 === length || majors[length - 1] < max)) {\r\n boundaryTicks.push(max)\r\n }\r\n }\r\n return boundaryTicks\r\n },\r\n setPercentLabelFormat: function() {\r\n if (!this._hasLabelFormat) {\r\n this._options.label.format = \"percent\"\r\n }\r\n },\r\n resetAutoLabelFormat: function() {\r\n if (!this._hasLabelFormat) {\r\n delete this._options.label.format\r\n }\r\n },\r\n getMultipleAxesSpacing: function() {\r\n return this._options.multipleAxesSpacing || 0\r\n },\r\n getTicksValues: function() {\r\n return {\r\n majorTicksValues: convertTicksToValues(this._majorTicks),\r\n minorTicksValues: convertTicksToValues(this._minorTicks)\r\n }\r\n },\r\n estimateTickInterval: function(canvas) {\r\n this.updateCanvas(canvas);\r\n return this._tickInterval !== this._getTicks(this._getViewportRange(), _noop, true).tickInterval\r\n },\r\n setTicks: function(ticks) {\r\n var majors = ticks.majorTicks || [];\r\n this._majorTicks = majors.map(createMajorTick(this, this._renderer, this._getSkippedCategory(majors)));\r\n this._minorTicks = (ticks.minorTicks || []).map(createMinorTick(this, this._renderer));\r\n this._isSynchronized = true\r\n },\r\n _adjustDivisionFactor: function(val) {\r\n return val\r\n },\r\n _getTicks: function(viewPort, incidentOccurred, skipTickGeneration) {\r\n var options = this._options;\r\n var customTicks = options.customTicks;\r\n var customMinorTicks = options.customMinorTicks;\r\n return getTickGenerator(options, incidentOccurred || this._incidentOccurred, skipTickGeneration, this._translator.getBusinessRange().isEmpty(), this._adjustDivisionFactor.bind(this), viewPort)({\r\n min: viewPort.minVisible,\r\n max: viewPort.maxVisible,\r\n categories: viewPort.categories,\r\n isSpacedMargin: viewPort.isSpacedMargin\r\n }, this._getScreenDelta(), options.tickInterval, \"ignore\" === options.label.overlappingBehavior || options.forceUserTickInterval, {\r\n majors: customTicks,\r\n minors: customMinorTicks\r\n }, options.minorTickInterval, options.minorTickCount, this._initialBreaks)\r\n },\r\n _createTicksAndLabelFormat: function(range, incidentOccurred) {\r\n var options = this._options;\r\n var ticks = this._getTicks(range, incidentOccurred, false);\r\n if (!range.isEmpty() && options.type === constants.discrete && \"datetime\" === options.dataType && !this._hasLabelFormat && ticks.ticks.length) {\r\n options.label.format = formatHelper.getDateFormatByTicks(ticks.ticks)\r\n }\r\n return ticks\r\n },\r\n getAggregationInfo(useAllAggregatedPoints, range) {\r\n var _visualRange$startVal, _visualRange$endValue, _that$_seriesData;\r\n var options = this._options;\r\n var marginOptions = this._marginOptions;\r\n var businessRange = new Range(this.getTranslator().getBusinessRange()).addRange(range);\r\n var visualRange = this.getViewport();\r\n var minVisible = null !== (_visualRange$startVal = null === visualRange || void 0 === visualRange ? void 0 : visualRange.startValue) && void 0 !== _visualRange$startVal ? _visualRange$startVal : businessRange.minVisible;\r\n var maxVisible = null !== (_visualRange$endValue = null === visualRange || void 0 === visualRange ? void 0 : visualRange.endValue) && void 0 !== _visualRange$endValue ? _visualRange$endValue : businessRange.maxVisible;\r\n var ticks = [];\r\n if (options.type === constants.discrete && options.aggregateByCategory) {\r\n return {\r\n aggregateByCategory: true\r\n }\r\n }\r\n var aggregationInterval = options.aggregationInterval;\r\n var aggregationGroupWidth = options.aggregationGroupWidth;\r\n if (!aggregationGroupWidth && marginOptions) {\r\n if (marginOptions.checkInterval) {\r\n aggregationGroupWidth = options.axisDivisionFactor\r\n }\r\n if (marginOptions.sizePointNormalState) {\r\n aggregationGroupWidth = Math.min(marginOptions.sizePointNormalState, options.axisDivisionFactor)\r\n }\r\n }\r\n var minInterval = !options.aggregationGroupWidth && !aggregationInterval && range.interval;\r\n var generateTicks = configureGenerator(options, aggregationGroupWidth, businessRange, this._getScreenDelta(), minInterval);\r\n var tickInterval = generateTicks(aggregationInterval, true, minVisible, maxVisible, null === (_that$_seriesData = this._seriesData) || void 0 === _that$_seriesData ? void 0 : _that$_seriesData.breaks).tickInterval;\r\n if (options.type !== constants.discrete) {\r\n var min = useAllAggregatedPoints ? businessRange.min : minVisible;\r\n var max = useAllAggregatedPoints ? businessRange.max : maxVisible;\r\n if (isDefined(min) && isDefined(max)) {\r\n var add = getAddFunction({\r\n base: options.logarithmBase,\r\n axisType: options.type,\r\n dataType: options.dataType\r\n }, false);\r\n var start = min;\r\n var end = max;\r\n if (!useAllAggregatedPoints && isDefined(tickInterval)) {\r\n var maxMinDistance = Math.max(this.calculateInterval(max, min), \"datetime\" === options.dataType ? dateUtils.dateToMilliseconds(tickInterval) : tickInterval);\r\n start = add(min, maxMinDistance, -1);\r\n end = add(max, maxMinDistance)\r\n }\r\n start = start < businessRange.min ? businessRange.min : start;\r\n end = end > businessRange.max ? businessRange.max : end;\r\n var breaks = this._getScaleBreaks(options, {\r\n minVisible: start,\r\n maxVisible: end\r\n }, this._series, this.isArgumentAxis);\r\n var filteredBreaks = this._filterBreaks(breaks, {\r\n minVisible: start,\r\n maxVisible: end\r\n }, options.breakStyle);\r\n ticks = generateTicks(tickInterval, false, start, end, filteredBreaks).ticks\r\n }\r\n }\r\n this._aggregationInterval = tickInterval;\r\n return {\r\n interval: tickInterval,\r\n ticks: ticks\r\n }\r\n },\r\n getTickInterval() {\r\n return this._tickInterval\r\n },\r\n getAggregationInterval() {\r\n return this._aggregationInterval\r\n },\r\n createTicks: function(canvas) {\r\n var that = this;\r\n var renderer = that._renderer;\r\n var options = that._options;\r\n if (!canvas) {\r\n return\r\n }\r\n that._isSynchronized = false;\r\n that.updateCanvas(canvas);\r\n var range = that._getViewportRange();\r\n that._initialBreaks = range.breaks = this._seriesData.breaks = that._filterBreaks(this._seriesData.userBreaks, range, options.breakStyle);\r\n that._estimatedTickInterval = that._getTicks(that.adjustViewport(this._seriesData), _noop, true).tickInterval;\r\n var margins = this._calculateValueMargins();\r\n range.addRange({\r\n minVisible: margins.minValue,\r\n maxVisible: margins.maxValue,\r\n isSpacedMargin: margins.isSpacedMargin\r\n });\r\n var ticks = that._createTicksAndLabelFormat(range);\r\n var boundaryTicks = that._getBoundaryTicks(ticks.ticks, that._getViewportRange());\r\n if (options.showCustomBoundaryTicks && boundaryTicks.length) {\r\n that._boundaryTicks = [boundaryTicks[0]].map(createBoundaryTick(that, renderer, true));\r\n if (boundaryTicks.length > 1) {\r\n that._boundaryTicks = that._boundaryTicks.concat([boundaryTicks[1]].map(createBoundaryTick(that, renderer, false)))\r\n }\r\n } else {\r\n that._boundaryTicks = []\r\n }\r\n var minors = (ticks.minorTicks || []).filter((function(minor) {\r\n return !boundaryTicks.some((function(boundary) {\r\n return valueOf(boundary) === valueOf(minor)\r\n }))\r\n }));\r\n that._tickInterval = ticks.tickInterval;\r\n that._minorTickInterval = ticks.minorTickInterval;\r\n var oldMajorTicks = that._majorTicks || [];\r\n var majorTicksByValues = oldMajorTicks.reduce((r, t) => {\r\n r[t.value.valueOf()] = t;\r\n return r\r\n }, {});\r\n var sameType = type(ticks.ticks[0]) === type(oldMajorTicks[0] && oldMajorTicks[0].value);\r\n var skippedCategory = that._getSkippedCategory(ticks.ticks);\r\n var majorTicks = ticks.ticks.map(v => {\r\n var tick = majorTicksByValues[v.valueOf()];\r\n if (tick && sameType) {\r\n delete majorTicksByValues[v.valueOf()];\r\n tick.setSkippedCategory(skippedCategory);\r\n return tick\r\n } else {\r\n return createMajorTick(that, renderer, skippedCategory)(v)\r\n }\r\n });\r\n that._majorTicks = majorTicks;\r\n var oldMinorTicks = that._minorTicks || [];\r\n that._minorTicks = minors.map((v, i) => {\r\n var minorTick = oldMinorTicks[i];\r\n if (minorTick) {\r\n minorTick.updateValue(v);\r\n return minorTick\r\n }\r\n return createMinorTick(that, renderer)(v)\r\n });\r\n that._ticksToRemove = Object.keys(majorTicksByValues).map(k => majorTicksByValues[k]).concat(oldMinorTicks.slice(that._minorTicks.length, oldMinorTicks.length));\r\n that._ticksToRemove.forEach(t => {\r\n var _t$label;\r\n return null === (_t$label = t.label) || void 0 === _t$label ? void 0 : _t$label.removeTitle()\r\n });\r\n if (ticks.breaks) {\r\n that._seriesData.breaks = ticks.breaks\r\n }\r\n that._reinitTranslator(that._getViewportRange())\r\n },\r\n _reinitTranslator: function(range) {\r\n var translator = this._translator;\r\n if (this._isSynchronized) {\r\n return\r\n }\r\n translator.updateBusinessRange(range)\r\n },\r\n _getViewportRange() {\r\n return this.adjustViewport(this._seriesData)\r\n },\r\n setMarginOptions: function(options) {\r\n this._marginOptions = options\r\n },\r\n getMarginOptions() {\r\n var _this$_marginOptions;\r\n return null !== (_this$_marginOptions = this._marginOptions) && void 0 !== _this$_marginOptions ? _this$_marginOptions : {}\r\n },\r\n _calculateRangeInterval: function(interval) {\r\n var isDateTime = \"datetime\" === this._options.dataType;\r\n var minArgs = [];\r\n var addToArgs = function(value) {\r\n isDefined(value) && minArgs.push(isDateTime ? dateUtils.dateToMilliseconds(value) : value)\r\n };\r\n addToArgs(this._tickInterval);\r\n addToArgs(this._estimatedTickInterval);\r\n isDefined(interval) && minArgs.push(interval);\r\n addToArgs(this._aggregationInterval);\r\n return this._calculateWorkWeekInterval(_min.apply(this, minArgs))\r\n },\r\n _calculateWorkWeekInterval(businessInterval) {\r\n var options = this._options;\r\n if (\"datetime\" === options.dataType && options.workdaysOnly && businessInterval) {\r\n var workWeek = options.workWeek.length * dateIntervals.day;\r\n var weekend = dateIntervals.week - workWeek;\r\n if (workWeek !== businessInterval && weekend < businessInterval) {\r\n var weekendsCount = Math.ceil(businessInterval / dateIntervals.week);\r\n businessInterval -= weekend * weekendsCount\r\n } else if (weekend >= businessInterval && businessInterval > dateIntervals.day) {\r\n businessInterval = dateIntervals.day\r\n }\r\n }\r\n return businessInterval\r\n },\r\n _getConvertIntervalCoefficient(intervalInPx, screenDelta) {\r\n var ratioOfCanvasRange = this._translator.ratioOfCanvasRange();\r\n return ratioOfCanvasRange / (ratioOfCanvasRange * screenDelta / (intervalInPx + screenDelta))\r\n },\r\n _calculateValueMargins(ticks) {\r\n this._resetMargins();\r\n var margins = this.getMarginOptions();\r\n var marginSize = (margins.size || 0) / 2;\r\n var options = this._options;\r\n var dataRange = this._getViewportRange();\r\n var viewPort = this.getViewport();\r\n var screenDelta = this._getScreenDelta();\r\n var isDiscrete = -1 !== (options.type || \"\").indexOf(constants.discrete);\r\n var valueMarginsEnabled = options.valueMarginsEnabled && !isDiscrete && !this.customPositionIsBoundaryOrthogonalAxis();\r\n var translator = this._translator;\r\n var minValueMargin = options.minValueMargin;\r\n var maxValueMargin = options.maxValueMargin;\r\n var minPadding = 0;\r\n var maxPadding = 0;\r\n var interval = 0;\r\n var rangeInterval;\r\n if (dataRange.stubData || !screenDelta) {\r\n return {\r\n startPadding: 0,\r\n endPadding: 0\r\n }\r\n }\r\n if (this.isArgumentAxis && margins.checkInterval) {\r\n rangeInterval = this._calculateRangeInterval(dataRange.interval);\r\n var pxInterval = translator.getInterval(rangeInterval);\r\n if (isFinite(pxInterval)) {\r\n interval = Math.ceil(pxInterval / (2 * this._getConvertIntervalCoefficient(pxInterval, screenDelta)))\r\n } else {\r\n rangeInterval = 0\r\n }\r\n }\r\n var minPercentPadding;\r\n var maxPercentPadding;\r\n var maxPaddingValue = screenDelta * MAX_MARGIN_VALUE / 2;\r\n if (valueMarginsEnabled) {\r\n if (isDefined(minValueMargin)) {\r\n minPercentPadding = isFinite(minValueMargin) ? minValueMargin : 0\r\n } else if (!this.isArgumentAxis && margins.checkInterval && valueOf(dataRange.minVisible) > 0 && valueOf(dataRange.minVisible) === valueOf(dataRange.min)) {\r\n minPadding = MIN_BAR_MARGIN\r\n } else {\r\n minPadding = Math.max(marginSize, interval);\r\n minPadding = Math.min(maxPaddingValue, minPadding)\r\n }\r\n if (isDefined(maxValueMargin)) {\r\n maxPercentPadding = isFinite(maxValueMargin) ? maxValueMargin : 0\r\n } else if (!this.isArgumentAxis && margins.checkInterval && valueOf(dataRange.maxVisible) < 0 && valueOf(dataRange.maxVisible) === valueOf(dataRange.max)) {\r\n maxPadding = MIN_BAR_MARGIN\r\n } else {\r\n maxPadding = Math.max(marginSize, interval);\r\n maxPadding = Math.min(maxPaddingValue, maxPadding)\r\n }\r\n }\r\n var percentStick = margins.percentStick && !this.isArgumentAxis;\r\n if (percentStick) {\r\n if (1 === _abs(dataRange.max)) {\r\n maxPadding = 0\r\n }\r\n if (1 === _abs(dataRange.min)) {\r\n minPadding = 0\r\n }\r\n }\r\n var canvasStartEnd = this._getCanvasStartEnd();\r\n var commonMargin = 1 + (minPercentPadding || 0) + (maxPercentPadding || 0);\r\n var screenDeltaWithMargins = (screenDelta - minPadding - maxPadding) / commonMargin || screenDelta;\r\n if (void 0 !== minPercentPadding || void 0 !== maxPercentPadding) {\r\n if (void 0 !== minPercentPadding) {\r\n minPadding = screenDeltaWithMargins * minPercentPadding\r\n }\r\n if (void 0 !== maxPercentPadding) {\r\n maxPadding = screenDeltaWithMargins * maxPercentPadding\r\n }\r\n }\r\n var minValue;\r\n var maxValue;\r\n if (options.type !== constants.discrete && ticks && ticks.length > 1 && !options.skipViewportExtending && !viewPort.action && false !== options.endOnTick) {\r\n var length = ticks.length;\r\n var firstTickPosition = translator.translate(ticks[0].value);\r\n var lastTickPosition = translator.translate(ticks[length - 1].value);\r\n var invertMultiplier = firstTickPosition > lastTickPosition ? -1 : 1;\r\n var minTickPadding = _max(invertMultiplier * (canvasStartEnd.start - firstTickPosition), 0);\r\n var maxTickPadding = _max(invertMultiplier * (lastTickPosition - canvasStartEnd.end), 0);\r\n if (minTickPadding > minPadding || maxTickPadding > maxPadding) {\r\n var commonPadding = maxTickPadding + minTickPadding;\r\n var coeff = this._getConvertIntervalCoefficient(commonPadding, screenDelta);\r\n if (minTickPadding >= minPadding) {\r\n minValue = ticks[0].value\r\n }\r\n if (maxTickPadding >= maxPadding) {\r\n maxValue = ticks[length - 1].value\r\n }\r\n minPadding = _max(minTickPadding, minPadding) / coeff;\r\n maxPadding = _max(maxTickPadding, maxPadding) / coeff\r\n }\r\n }\r\n minPercentPadding = void 0 === minPercentPadding ? minPadding / screenDeltaWithMargins : minPercentPadding;\r\n maxPercentPadding = void 0 === maxPercentPadding ? maxPadding / screenDeltaWithMargins : maxPercentPadding;\r\n if (!isDiscrete) {\r\n if (this._translator.isInverted()) {\r\n var _minValue, _maxValue;\r\n minValue = null !== (_minValue = minValue) && void 0 !== _minValue ? _minValue : translator.from(canvasStartEnd.start + screenDelta * minPercentPadding, -1);\r\n maxValue = null !== (_maxValue = maxValue) && void 0 !== _maxValue ? _maxValue : translator.from(canvasStartEnd.end - screenDelta * maxPercentPadding, 1)\r\n } else {\r\n var _minValue2, _maxValue2;\r\n minValue = null !== (_minValue2 = minValue) && void 0 !== _minValue2 ? _minValue2 : translator.from(canvasStartEnd.start - screenDelta * minPercentPadding, -1);\r\n maxValue = null !== (_maxValue2 = maxValue) && void 0 !== _maxValue2 ? _maxValue2 : translator.from(canvasStartEnd.end + screenDelta * maxPercentPadding, 1)\r\n }\r\n }\r\n var {\r\n correctedMin: correctedMin,\r\n correctedMax: correctedMax,\r\n start: start,\r\n end: end\r\n } = this.getCorrectedValuesToZero(minValue, maxValue);\r\n minPadding = null !== start && void 0 !== start ? start : minPadding;\r\n maxPadding = null !== end && void 0 !== end ? end : maxPadding;\r\n return {\r\n startPadding: translator.isInverted() ? maxPadding : minPadding,\r\n endPadding: translator.isInverted() ? minPadding : maxPadding,\r\n minValue: null !== correctedMin && void 0 !== correctedMin ? correctedMin : minValue,\r\n maxValue: null !== correctedMax && void 0 !== correctedMax ? correctedMax : maxValue,\r\n interval: rangeInterval,\r\n isSpacedMargin: minPadding === maxPadding && 0 !== minPadding\r\n }\r\n },\r\n getCorrectedValuesToZero(minValue, maxValue) {\r\n var that = this;\r\n var translator = that._translator;\r\n var canvasStartEnd = that._getCanvasStartEnd();\r\n var dataRange = that._getViewportRange();\r\n var screenDelta = that._getScreenDelta();\r\n var options = that._options;\r\n var start;\r\n var end;\r\n var correctedMin;\r\n var correctedMax;\r\n var correctZeroLevel = (minPoint, maxPoint) => {\r\n var minExpectedPadding = _abs(canvasStartEnd.start - minPoint);\r\n var maxExpectedPadding = _abs(canvasStartEnd.end - maxPoint);\r\n var coeff = that._getConvertIntervalCoefficient(minExpectedPadding + maxExpectedPadding, screenDelta);\r\n start = minExpectedPadding / coeff;\r\n end = maxExpectedPadding / coeff\r\n };\r\n if (!that.isArgumentAxis && \"datetime\" !== options.dataType) {\r\n if (minValue * dataRange.min <= 0 && minValue * dataRange.minVisible <= 0) {\r\n correctZeroLevel(translator.translate(0), translator.translate(maxValue));\r\n correctedMin = 0\r\n }\r\n if (maxValue * dataRange.max <= 0 && maxValue * dataRange.maxVisible <= 0) {\r\n correctZeroLevel(translator.translate(minValue), translator.translate(0));\r\n correctedMax = 0\r\n }\r\n }\r\n return {\r\n start: isFinite(start) ? start : null,\r\n end: isFinite(end) ? end : null,\r\n correctedMin: correctedMin,\r\n correctedMax: correctedMax\r\n }\r\n },\r\n applyMargins() {\r\n if (this._isSynchronized) {\r\n return\r\n }\r\n var margins = this._calculateValueMargins(this._majorTicks);\r\n var canvas = extend({}, this._canvas, {\r\n startPadding: margins.startPadding,\r\n endPadding: margins.endPadding\r\n });\r\n this._translator.updateCanvas(this._processCanvas(canvas));\r\n if (isFinite(margins.interval)) {\r\n var br = this._translator.getBusinessRange();\r\n br.addRange({\r\n interval: margins.interval\r\n });\r\n this._translator.updateBusinessRange(br)\r\n }\r\n },\r\n _resetMargins: function() {\r\n this._reinitTranslator(this._getViewportRange());\r\n if (this._canvas) {\r\n this._translator.updateCanvas(this._processCanvas(this._canvas))\r\n }\r\n },\r\n _createConstantLines() {\r\n var constantLines = (this._options.constantLines || []).map(o => createConstantLine(this, o));\r\n this._outsideConstantLines = constantLines.filter(l => \"outside\" === l.labelPosition);\r\n this._insideConstantLines = constantLines.filter(l => \"inside\" === l.labelPosition)\r\n },\r\n draw: function(canvas, borderOptions) {\r\n var that = this;\r\n var options = this._options;\r\n that.borderOptions = borderOptions || {\r\n visible: false\r\n };\r\n that._resetMargins();\r\n that.createTicks(canvas);\r\n that.applyMargins();\r\n that._clearAxisGroups();\r\n initTickCoords(that._majorTicks);\r\n initTickCoords(that._minorTicks);\r\n initTickCoords(that._boundaryTicks);\r\n that._axisGroup.append(that._axesContainerGroup);\r\n that._drawAxis();\r\n that._drawTitle();\r\n drawTickMarks(that._majorTicks, options.tick);\r\n drawTickMarks(that._minorTicks, options.minorTick);\r\n drawTickMarks(that._boundaryTicks, options.tick);\r\n var drawGridLine = that._getGridLineDrawer();\r\n drawGrids(that._majorTicks, drawGridLine);\r\n drawGrids(that._minorTicks, drawGridLine);\r\n callAction(that._majorTicks, \"drawLabel\", that._getViewportRange(), that._getTemplate(options.label.template));\r\n that._templatesRendered && that._templatesRendered.reject();\r\n that._templatesRendered = new Deferred;\r\n that._majorTicks.forEach((function(tick) {\r\n tick.labelRotationAngle = 0;\r\n tick.labelAlignment = void 0;\r\n tick.labelOffset = 0\r\n }));\r\n callAction(that._outsideConstantLines.concat(that._insideConstantLines), \"draw\");\r\n callAction(that._strips, \"draw\");\r\n that._dateMarkers = that._drawDateMarkers() || [];\r\n that._stripLabelAxesGroup && that._axisStripLabelGroup.append(that._stripLabelAxesGroup);\r\n that._gridContainerGroup && that._axisGridGroup.append(that._gridContainerGroup);\r\n that._stripsGroup && that._axisStripGroup.append(that._stripsGroup);\r\n that._labelsAxesGroup && that._axisElementsGroup.append(that._labelsAxesGroup);\r\n if (that._constantLinesGroup) {\r\n that._axisConstantLineGroups.above.inside.append(that._constantLinesGroup.above);\r\n that._axisConstantLineGroups.above.outside1.append(that._constantLinesGroup.above);\r\n that._axisConstantLineGroups.above.outside2.append(that._constantLinesGroup.above);\r\n that._axisConstantLineGroups.under.inside.append(that._constantLinesGroup.under);\r\n that._axisConstantLineGroups.under.outside1.append(that._constantLinesGroup.under);\r\n that._axisConstantLineGroups.under.outside2.append(that._constantLinesGroup.under)\r\n }\r\n that._measureTitle();\r\n measureLabels(that._majorTicks);\r\n !options.label.template && that._applyWordWrap();\r\n measureLabels(that._outsideConstantLines);\r\n measureLabels(that._insideConstantLines);\r\n measureLabels(that._strips);\r\n measureLabels(that._dateMarkers);\r\n that._adjustConstantLineLabels(that._insideConstantLines);\r\n that._adjustStripLabels();\r\n var offset = that._constantLabelOffset = that._adjustConstantLineLabels(that._outsideConstantLines);\r\n if (!that._translator.getBusinessRange().isEmpty()) {\r\n that._setLabelsPlacement();\r\n offset = that._adjustLabels(offset)\r\n }\r\n when.apply(this, that._majorTicks.map(tick => tick.getTemplateDeferred())).done(() => {\r\n that._templatesRendered.resolve()\r\n });\r\n offset = that._adjustDateMarkers(offset);\r\n that._adjustTitle(offset)\r\n },\r\n getTemplatesDef() {\r\n return this._templatesRendered\r\n },\r\n setRenderedState(state) {\r\n this._drawn = state\r\n },\r\n isRendered() {\r\n return this._drawn\r\n },\r\n _applyWordWrap() {\r\n var convertedTickInterval;\r\n var textWidth;\r\n var textHeight;\r\n var options = this._options;\r\n var tickInterval = this._tickInterval;\r\n if (isDefined(tickInterval)) {\r\n convertedTickInterval = this.getTranslator().getInterval(\"datetime\" === options.dataType ? dateUtils.dateToMilliseconds(tickInterval) : tickInterval)\r\n }\r\n var displayMode = this._validateDisplayMode(options.label.displayMode);\r\n var overlappingMode = this._validateOverlappingMode(options.label.overlappingBehavior, displayMode);\r\n var wordWrapMode = options.label.wordWrap || \"none\";\r\n var overflowMode = options.label.textOverflow || \"none\";\r\n if ((\"none\" !== wordWrapMode || \"none\" !== overflowMode) && displayMode !== ROTATE && overlappingMode !== ROTATE && \"auto\" !== overlappingMode) {\r\n var usefulSpace = isDefined(options.placeholderSize) ? options.placeholderSize - options.label.indentFromAxis : void 0;\r\n if (this._isHorizontal) {\r\n textWidth = convertedTickInterval;\r\n textHeight = usefulSpace\r\n } else {\r\n textWidth = usefulSpace;\r\n textHeight = convertedTickInterval\r\n }\r\n var correctByWidth = false;\r\n var correctByHeight = false;\r\n if (textWidth) {\r\n if (this._majorTicks.some(tick => tick.labelBBox.width > textWidth)) {\r\n correctByWidth = true\r\n }\r\n }\r\n if (textHeight) {\r\n if (this._majorTicks.some(tick => tick.labelBBox.height > textHeight)) {\r\n correctByHeight = true\r\n }\r\n }\r\n if (correctByWidth || correctByHeight) {\r\n this._majorTicks.forEach(tick => {\r\n tick.label && tick.label.setMaxSize(textWidth, textHeight, options.label)\r\n });\r\n measureLabels(this._majorTicks)\r\n }\r\n }\r\n },\r\n _measureTitle: _noop,\r\n animate() {\r\n callAction(this._majorTicks, \"animateLabels\")\r\n },\r\n updateSize(canvas, animate) {\r\n var updateTitle = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : true;\r\n this.updateCanvas(canvas);\r\n if (updateTitle) {\r\n this._checkTitleOverflow();\r\n this._measureTitle();\r\n this._updateTitleCoords()\r\n }\r\n this._reinitTranslator(this._getViewportRange());\r\n this.applyMargins();\r\n var animationEnabled = !this._firstDrawing && animate;\r\n var options = this._options;\r\n initTickCoords(this._majorTicks);\r\n initTickCoords(this._minorTicks);\r\n initTickCoords(this._boundaryTicks);\r\n if (this._resetApplyingAnimation && !this._firstDrawing) {\r\n this._resetStartCoordinates()\r\n }\r\n cleanUpInvalidTicks(this._majorTicks);\r\n cleanUpInvalidTicks(this._minorTicks);\r\n cleanUpInvalidTicks(this._boundaryTicks);\r\n if (this._axisElement) {\r\n this._updateAxisElementPosition()\r\n }\r\n updateTicksPosition(this._majorTicks, options.tick, animationEnabled);\r\n updateTicksPosition(this._minorTicks, options.minorTick, animationEnabled);\r\n updateTicksPosition(this._boundaryTicks, options.tick);\r\n callAction(this._majorTicks, \"updateLabelPosition\", animationEnabled);\r\n this._outsideConstantLines.concat(this._insideConstantLines || []).forEach(l => l.updatePosition(animationEnabled));\r\n callAction(this._strips, \"updatePosition\", animationEnabled);\r\n updateGridsPosition(this._majorTicks, animationEnabled);\r\n updateGridsPosition(this._minorTicks, animationEnabled);\r\n if (animationEnabled) {\r\n callAction(this._ticksToRemove || [], \"fadeOutElements\")\r\n }\r\n this.prepareAnimation();\r\n this._ticksToRemove = null;\r\n if (!this._translator.getBusinessRange().isEmpty()) {\r\n this._firstDrawing = false\r\n }\r\n this._resetApplyingAnimation = false;\r\n this._updateLabelsPosition()\r\n },\r\n _updateLabelsPosition: _noop,\r\n prepareAnimation() {\r\n var action = \"saveCoords\";\r\n callAction(this._majorTicks, action);\r\n callAction(this._minorTicks, action);\r\n callAction(this._insideConstantLines, action);\r\n callAction(this._outsideConstantLines, action);\r\n callAction(this._strips, action)\r\n },\r\n _resetStartCoordinates() {\r\n var action = \"resetCoordinates\";\r\n callAction(this._majorTicks, action);\r\n callAction(this._minorTicks, action);\r\n callAction(this._insideConstantLines, action);\r\n callAction(this._outsideConstantLines, action);\r\n callAction(this._strips, action)\r\n },\r\n applyClipRects: function(elementsClipID, canvasClipID) {\r\n this._axisGroup.attr({\r\n \"clip-path\": canvasClipID\r\n });\r\n this._axisStripGroup.attr({\r\n \"clip-path\": elementsClipID\r\n });\r\n this._axisElementsGroup.attr({\r\n \"clip-path\": canvasClipID\r\n })\r\n },\r\n _validateVisualRange(optionValue) {\r\n var range = getVizRangeObject(optionValue);\r\n if (void 0 !== range.startValue) {\r\n range.startValue = this.validateUnit(range.startValue)\r\n }\r\n if (void 0 !== range.endValue) {\r\n range.endValue = this.validateUnit(range.endValue)\r\n }\r\n return convertVisualRangeObject(range, !_isArray(optionValue))\r\n },\r\n _validateOptions(options) {\r\n options.wholeRange = this._validateVisualRange(options.wholeRange);\r\n options.visualRange = options._customVisualRange = this._validateVisualRange(options._customVisualRange);\r\n this._setVisualRange(options._customVisualRange)\r\n },\r\n validate() {\r\n var options = this._options;\r\n var dataType = this.isArgumentAxis ? options.argumentType : options.valueType;\r\n var parser = dataType ? getParser(dataType) : function(unit) {\r\n return unit\r\n };\r\n this.parser = parser;\r\n options.dataType = dataType;\r\n this._validateOptions(options)\r\n },\r\n resetVisualRange(isSilent) {\r\n this._seriesData.minVisible = this._seriesData.min;\r\n this._seriesData.maxVisible = this._seriesData.max;\r\n this.handleZooming([null, null], {\r\n start: !!isSilent,\r\n end: !!isSilent\r\n })\r\n },\r\n _setVisualRange(visualRange, allowPartialUpdate) {\r\n var range = this.adjustRange(getVizRangeObject(visualRange));\r\n if (allowPartialUpdate) {\r\n isDefined(range.startValue) && (this._viewport.startValue = range.startValue);\r\n isDefined(range.endValue) && (this._viewport.endValue = range.endValue)\r\n } else {\r\n this._viewport = range\r\n }\r\n },\r\n _applyZooming(visualRange, allowPartialUpdate) {\r\n this._resetVisualRangeOption();\r\n this._setVisualRange(visualRange, allowPartialUpdate);\r\n var viewPort = this.getViewport();\r\n this._seriesData.userBreaks = this._getScaleBreaks(this._options, {\r\n minVisible: viewPort.startValue,\r\n maxVisible: viewPort.endValue\r\n }, this._series, this.isArgumentAxis);\r\n this._translator.updateBusinessRange(this._getViewportRange())\r\n },\r\n getZoomStartEventArg(event, actionType) {\r\n return {\r\n axis: this,\r\n range: this.visualRange(),\r\n cancel: false,\r\n event: event,\r\n actionType: actionType\r\n }\r\n },\r\n _getZoomEndEventArg(previousRange, event, actionType, zoomFactor, shift) {\r\n var newRange = this.visualRange();\r\n return {\r\n axis: this,\r\n previousRange: previousRange,\r\n range: newRange,\r\n cancel: false,\r\n event: event,\r\n actionType: actionType,\r\n zoomFactor: zoomFactor,\r\n shift: shift,\r\n rangeStart: newRange.startValue,\r\n rangeEnd: newRange.endValue\r\n }\r\n },\r\n getZoomBounds() {\r\n var wholeRange = getVizRangeObject(this._options.wholeRange);\r\n var range = this.getTranslator().getBusinessRange();\r\n var secondPriorityRange = {\r\n startValue: getZoomBoundValue(this._initRange.startValue, range.min),\r\n endValue: getZoomBoundValue(this._initRange.endValue, range.max)\r\n };\r\n return {\r\n startValue: getZoomBoundValue(wholeRange.startValue, secondPriorityRange.startValue),\r\n endValue: getZoomBoundValue(wholeRange.endValue, secondPriorityRange.endValue)\r\n }\r\n },\r\n setInitRange() {\r\n this._initRange = {};\r\n if (0 === Object.keys(this._options.wholeRange || {}).length) {\r\n this._initRange = this.getZoomBounds()\r\n }\r\n },\r\n _resetVisualRangeOption() {\r\n this._options._customVisualRange = {}\r\n },\r\n getTemplatesGroups() {\r\n var ticks = this._majorTicks;\r\n if (ticks) {\r\n return this._majorTicks.map(tick => tick.templateContainer).filter(item => isDefined(item))\r\n } else {\r\n return []\r\n }\r\n },\r\n setCustomVisualRange(range) {\r\n this._options._customVisualRange = range\r\n },\r\n visualRange() {\r\n var args = arguments;\r\n var visualRange;\r\n if (0 === args.length) {\r\n var adjustedRange = this._getAdjustedBusinessRange();\r\n var startValue = adjustedRange.minVisible;\r\n var endValue = adjustedRange.maxVisible;\r\n if (this._options.type === constants.discrete) {\r\n var _startValue, _endValue;\r\n startValue = null !== (_startValue = startValue) && void 0 !== _startValue ? _startValue : adjustedRange.categories[0];\r\n endValue = null !== (_endValue = endValue) && void 0 !== _endValue ? _endValue : adjustedRange.categories[adjustedRange.categories.length - 1];\r\n return {\r\n startValue: startValue,\r\n endValue: endValue,\r\n categories: getCategoriesInfo(adjustedRange.categories, startValue, endValue).categories\r\n }\r\n }\r\n return {\r\n startValue: startValue,\r\n endValue: endValue\r\n }\r\n } else if (_isArray(args[0])) {\r\n visualRange = args[0]\r\n } else if (isPlainObject(args[0])) {\r\n visualRange = extend({}, args[0])\r\n } else {\r\n visualRange = [args[0], args[1]]\r\n }\r\n var zoomResults = this.handleZooming(visualRange, args[1]);\r\n if (!zoomResults.isPrevented) {\r\n this._visualRange(this, zoomResults)\r\n }\r\n },\r\n handleZooming(visualRange, preventEvents, domEvent, action) {\r\n preventEvents = preventEvents || {};\r\n if (isDefined(visualRange)) {\r\n visualRange = this._validateVisualRange(visualRange);\r\n visualRange.action = action\r\n }\r\n var zoomStartEvent = this.getZoomStartEventArg(domEvent, action);\r\n var previousRange = zoomStartEvent.range;\r\n !preventEvents.start && this._eventTrigger(\"zoomStart\", zoomStartEvent);\r\n var zoomResults = {\r\n isPrevented: zoomStartEvent.cancel,\r\n skipEventRising: preventEvents.skipEventRising,\r\n range: visualRange || zoomStartEvent.range\r\n };\r\n if (!zoomStartEvent.cancel) {\r\n isDefined(visualRange) && this._applyZooming(visualRange, preventEvents.allowPartialUpdate);\r\n if (!isDefined(this._storedZoomEndParams)) {\r\n this._storedZoomEndParams = {\r\n startRange: previousRange,\r\n type: this.getOptions().type\r\n }\r\n }\r\n this._storedZoomEndParams.event = domEvent;\r\n this._storedZoomEndParams.action = action;\r\n this._storedZoomEndParams.prevent = !!preventEvents.end\r\n }\r\n return zoomResults\r\n },\r\n handleZoomEnd() {\r\n if (isDefined(this._storedZoomEndParams) && !this._storedZoomEndParams.prevent) {\r\n var previousRange = this._storedZoomEndParams.startRange;\r\n var domEvent = this._storedZoomEndParams.event;\r\n var action = this._storedZoomEndParams.action;\r\n var previousBusinessRange = {\r\n minVisible: previousRange.startValue,\r\n maxVisible: previousRange.endValue,\r\n categories: previousRange.categories\r\n };\r\n var typeIsNotChanged = this.getOptions().type === this._storedZoomEndParams.type;\r\n var shift = typeIsNotChanged ? adjust(this.getVisualRangeCenter() - this.getVisualRangeCenter(previousBusinessRange, false)) : NaN;\r\n var zoomFactor = typeIsNotChanged ? +(Math.round(this.getVisualRangeLength(previousBusinessRange) / (this.getVisualRangeLength() || 1) + \"e+2\") + \"e-2\") : NaN;\r\n var zoomEndEvent = this._getZoomEndEventArg(previousRange, domEvent, action, zoomFactor, shift);\r\n zoomEndEvent.cancel = this.checkZoomingLowerLimitOvercome(1 === zoomFactor ? \"pan\" : \"zoom\", zoomFactor).stopInteraction;\r\n this._eventTrigger(\"zoomEnd\", zoomEndEvent);\r\n if (zoomEndEvent.cancel) {\r\n this._restorePreviousVisualRange(previousRange)\r\n }\r\n this._storedZoomEndParams = null\r\n }\r\n },\r\n _restorePreviousVisualRange(previousRange) {\r\n this._storedZoomEndParams = null;\r\n this._applyZooming(previousRange);\r\n this._visualRange(this, previousRange)\r\n },\r\n checkZoomingLowerLimitOvercome(actionType, zoomFactor, range) {\r\n var options = this._options;\r\n var translator = this._translator;\r\n var minZoom = options.minVisualRangeLength;\r\n var correctedRange = range;\r\n var visualRange;\r\n var isOvercoming = \"zoom\" === actionType && zoomFactor >= 1;\r\n var businessRange = translator.getBusinessRange();\r\n if (range) {\r\n visualRange = this.adjustRange(getVizRangeObject(range));\r\n visualRange = {\r\n minVisible: visualRange.startValue,\r\n maxVisible: visualRange.endValue,\r\n categories: businessRange.categories\r\n }\r\n }\r\n var beforeVisualRangeLength = this.getVisualRangeLength(businessRange);\r\n var afterVisualRangeLength = this.getVisualRangeLength(visualRange);\r\n if (isDefined(minZoom) || \"discrete\" === options.type) {\r\n minZoom = translator.convert(minZoom);\r\n if (visualRange && minZoom < beforeVisualRangeLength && minZoom >= afterVisualRangeLength) {\r\n correctedRange = getVizRangeObject(translator.getRangeByMinZoomValue(minZoom, visualRange));\r\n isOvercoming = false\r\n } else {\r\n isOvercoming &= minZoom > afterVisualRangeLength\r\n }\r\n } else {\r\n var canvasLength = this._translator.canvasLength;\r\n var fullRange = {\r\n minVisible: businessRange.min,\r\n maxVisible: businessRange.max,\r\n categories: businessRange.categories\r\n };\r\n isOvercoming &= this.getVisualRangeLength(fullRange) / canvasLength >= afterVisualRangeLength\r\n }\r\n return {\r\n stopInteraction: !!isOvercoming,\r\n correctedRange: correctedRange\r\n }\r\n },\r\n isExtremePosition(isMax) {\r\n var extremeDataValue;\r\n var seriesData;\r\n if (\"discrete\" === this._options.type) {\r\n seriesData = this._translator.getBusinessRange();\r\n extremeDataValue = isMax ? seriesData.categories[seriesData.categories.length - 1] : seriesData.categories[0]\r\n } else {\r\n seriesData = this.getZoomBounds();\r\n extremeDataValue = isMax ? seriesData.endValue : seriesData.startValue\r\n }\r\n var translator = this.getTranslator();\r\n var extremePoint = translator.translate(extremeDataValue);\r\n var visualRange = this.visualRange();\r\n var visualRangePoint = isMax ? translator.translate(visualRange.endValue) : translator.translate(visualRange.startValue);\r\n return _abs(visualRangePoint - extremePoint) < SCROLL_THRESHOLD\r\n },\r\n getViewport() {\r\n return this._viewport\r\n },\r\n getFullTicks: function() {\r\n var majors = this._majorTicks || [];\r\n if (this._options.type === constants.discrete) {\r\n return convertTicksToValues(majors)\r\n } else {\r\n return convertTicksToValues(majors.concat(this._minorTicks, this._boundaryTicks)).sort((function(a, b) {\r\n return valueOf(a) - valueOf(b)\r\n }))\r\n }\r\n },\r\n measureLabels: function(canvas, withIndents) {\r\n var that = this;\r\n var options = that._options;\r\n var widthAxis = options.visible ? options.width : 0;\r\n var ticks;\r\n var indent = withIndents ? options.label.indentFromAxis + .5 * options.tick.length : 0;\r\n var tickInterval;\r\n var viewportRange = that._getViewportRange();\r\n if (viewportRange.isEmpty() || !options.label.visible || !that._axisElementsGroup) {\r\n return {\r\n height: widthAxis,\r\n width: widthAxis,\r\n x: 0,\r\n y: 0\r\n }\r\n }\r\n if (that._majorTicks) {\r\n ticks = convertTicksToValues(that._majorTicks)\r\n } else {\r\n that.updateCanvas(canvas);\r\n ticks = that._createTicksAndLabelFormat(viewportRange, _noop);\r\n tickInterval = ticks.tickInterval;\r\n ticks = ticks.ticks\r\n }\r\n var maxText = ticks.reduce((function(prevLabel, tick, index) {\r\n var label = that.formatLabel(tick, options.label, viewportRange, void 0, tickInterval, ticks);\r\n if (prevLabel.length < label.length) {\r\n return label\r\n } else {\r\n return prevLabel\r\n }\r\n }), that.formatLabel(ticks[0], options.label, viewportRange, void 0, tickInterval, ticks));\r\n var text = that._renderer.text(maxText, 0, 0).css(that._textFontStyles).attr(that._textOptions).append(that._renderer.root);\r\n var box = text.getBBox();\r\n text.remove();\r\n return {\r\n x: box.x,\r\n y: box.y,\r\n width: box.width + indent,\r\n height: box.height + indent\r\n }\r\n },\r\n _setLabelsPlacement: function() {\r\n if (!this._options.label.visible) {\r\n return\r\n }\r\n var labelOpt = this._options.label;\r\n var displayMode = this._validateDisplayMode(labelOpt.displayMode);\r\n var overlappingMode = this._validateOverlappingMode(labelOpt.overlappingBehavior, displayMode);\r\n var ignoreOverlapping = \"none\" === overlappingMode || \"ignore\" === overlappingMode;\r\n var behavior = {\r\n rotationAngle: labelOpt.rotationAngle,\r\n staggeringSpacing: labelOpt.staggeringSpacing\r\n };\r\n var notRecastStep;\r\n var boxes = this._majorTicks.map((function(tick) {\r\n return tick.labelBBox\r\n }));\r\n var step = this._getStep(boxes);\r\n switch (displayMode) {\r\n case ROTATE:\r\n if (ignoreOverlapping) {\r\n notRecastStep = true;\r\n step = 1\r\n }\r\n this._applyLabelMode(displayMode, step, boxes, labelOpt, notRecastStep);\r\n break;\r\n case \"stagger\":\r\n if (ignoreOverlapping) {\r\n step = 2\r\n }\r\n this._applyLabelMode(displayMode, _max(step, 2), boxes, labelOpt);\r\n break;\r\n default:\r\n this._applyLabelOverlapping(boxes, overlappingMode, step, behavior)\r\n }\r\n },\r\n _applyLabelOverlapping: function(boxes, mode, step, behavior) {\r\n var labelOpt = this._options.label;\r\n var majorTicks = this._majorTicks;\r\n if (\"none\" === mode || \"ignore\" === mode) {\r\n return\r\n }\r\n if (step > 1 && boxes.some((function(box, index, array) {\r\n if (0 === index) {\r\n return false\r\n }\r\n return constants.areLabelsOverlap(box, array[index - 1], labelOpt.minSpacing, labelOpt.alignment)\r\n }))) {\r\n this._applyLabelMode(mode, step, boxes, behavior)\r\n }\r\n this._checkBoundedLabelsOverlapping(majorTicks, boxes, mode);\r\n this._checkShiftedLabels(majorTicks, boxes, labelOpt.minSpacing, labelOpt.alignment)\r\n },\r\n _applyLabelMode: function(mode, step, boxes, behavior, notRecastStep) {\r\n var majorTicks = this._majorTicks;\r\n var labelOpt = this._options.label;\r\n var angle = behavior.rotationAngle;\r\n var labelHeight;\r\n var alignment;\r\n var func;\r\n switch (mode) {\r\n case ROTATE:\r\n if (!labelOpt.userAlignment) {\r\n alignment = angle < 0 ? RIGHT : LEFT;\r\n if (angle % 90 === 0) {\r\n alignment = CENTER\r\n }\r\n }\r\n step = notRecastStep ? step : this._getStep(boxes, angle);\r\n func = function(tick) {\r\n var contentContainer = tick.getContentContainer();\r\n if (!contentContainer) {\r\n return\r\n }\r\n contentContainer.rotate(angle);\r\n tick.labelRotationAngle = angle;\r\n alignment && (tick.labelAlignment = alignment)\r\n };\r\n updateLabels(majorTicks, step, func);\r\n break;\r\n case \"stagger\":\r\n labelHeight = this._getMaxLabelHeight(boxes, behavior.staggeringSpacing);\r\n func = function(tick, index) {\r\n if (index / (step - 1) % 2 !== 0) {\r\n tick.labelOffset = labelHeight\r\n }\r\n };\r\n updateLabels(majorTicks, step - 1, func);\r\n break;\r\n case \"auto\":\r\n case \"_auto\":\r\n if (2 === step) {\r\n this._applyLabelMode(\"stagger\", step, boxes, behavior)\r\n } else {\r\n this._applyLabelMode(ROTATE, step, boxes, {\r\n rotationAngle: getOptimalAngle(boxes, labelOpt)\r\n })\r\n }\r\n break;\r\n default:\r\n updateLabels(majorTicks, step)\r\n }\r\n },\r\n getMarkerTrackers: _noop,\r\n _drawDateMarkers: _noop,\r\n _adjustDateMarkers: _noop,\r\n coordsIn: _noop,\r\n areCoordsOutsideAxis: _noop,\r\n _getSkippedCategory: _noop,\r\n _initAxisPositions: _noop,\r\n _drawTitle: _noop,\r\n _updateTitleCoords: _noop,\r\n _adjustConstantLineLabels: _noop,\r\n _createTranslator: function() {\r\n return new Translator2D({}, {}, {})\r\n },\r\n _updateTranslator: function() {\r\n var translator = this._translator;\r\n translator.update(translator.getBusinessRange(), this._canvas || {}, this._getTranslatorOptions())\r\n },\r\n _getTranslatorOptions: function() {\r\n var _options$workWeek2, _options$breakStyle$w, _options$breakStyle;\r\n var options = this._options;\r\n return {\r\n isHorizontal: this._isHorizontal,\r\n shiftZeroValue: !this.isArgumentAxis,\r\n interval: options.semiDiscreteInterval,\r\n firstDayOfWeek: null === (_options$workWeek2 = options.workWeek) || void 0 === _options$workWeek2 ? void 0 : _options$workWeek2[0],\r\n stick: this._getStick(),\r\n breaksSize: null !== (_options$breakStyle$w = null === (_options$breakStyle = options.breakStyle) || void 0 === _options$breakStyle ? void 0 : _options$breakStyle.width) && void 0 !== _options$breakStyle$w ? _options$breakStyle$w : 0\r\n }\r\n },\r\n getVisibleArea() {\r\n var canvas = this._getCanvasStartEnd();\r\n return [canvas.start, canvas.end].sort((a, b) => a - b)\r\n },\r\n _getCanvasStartEnd: function() {\r\n var isHorizontal = this._isHorizontal;\r\n var canvas = this._canvas || {};\r\n var invert = this._translator.getBusinessRange().invert;\r\n var coords = isHorizontal ? [canvas.left, canvas.width - canvas.right] : [canvas.height - canvas.bottom, canvas.top];\r\n invert && coords.reverse();\r\n return {\r\n start: coords[0],\r\n end: coords[1]\r\n }\r\n },\r\n _getScreenDelta: function() {\r\n var canvas = this._getCanvasStartEnd();\r\n var breaks = this._seriesData ? this._seriesData.breaks || [] : [];\r\n var breaksLength = breaks.length;\r\n var screenDelta = _abs(canvas.start - canvas.end);\r\n return screenDelta - (breaksLength ? breaks[breaksLength - 1].cumulativeWidth : 0)\r\n },\r\n _getScaleBreaks: function() {\r\n return []\r\n },\r\n _filterBreaks: function() {\r\n return []\r\n },\r\n _adjustTitle: _noop,\r\n _checkTitleOverflow: _noop,\r\n getSpiderTicks: _noop,\r\n setSpiderTicks: _noop,\r\n _checkBoundedLabelsOverlapping: _noop,\r\n _checkShiftedLabels: _noop,\r\n drawScaleBreaks: _noop,\r\n _visualRange: _noop,\r\n _rotateConstantLine: _noop,\r\n applyVisualRangeSetter(visualRangeSetter) {\r\n this._visualRange = visualRangeSetter\r\n },\r\n getCategoriesSorter(argCategories) {\r\n var sort;\r\n if (this.isArgumentAxis) {\r\n sort = argCategories\r\n } else {\r\n var categoriesSortingMethod = this._options.categoriesSortingMethod;\r\n sort = null !== categoriesSortingMethod && void 0 !== categoriesSortingMethod ? categoriesSortingMethod : this._options.categories\r\n }\r\n return sort\r\n },\r\n _getAdjustedBusinessRange() {\r\n return this.adjustViewport(this._translator.getBusinessRange())\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/series_family.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isNumeric,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each as _each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n map as _map,\r\n normalizeEnum as _normalizeEnum\r\n} from \"./utils\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nvar {\r\n round: round,\r\n abs: abs,\r\n pow: pow,\r\n sqrt: sqrt\r\n} = Math;\r\nvar _min = Math.min;\r\nvar DEFAULT_BAR_GROUP_PADDING = .3;\r\n\r\nfunction validateBarPadding(barPadding) {\r\n return barPadding < 0 || barPadding > 1 ? void 0 : barPadding\r\n}\r\n\r\nfunction validateBarGroupPadding(barGroupPadding) {\r\n return barGroupPadding < 0 || barGroupPadding > 1 ? DEFAULT_BAR_GROUP_PADDING : barGroupPadding\r\n}\r\n\r\nfunction isStackExist(series, arg) {\r\n return series.some((function(s) {\r\n return !s.getOptions().ignoreEmptyPoints || s.getPointsByArg(arg, true).some((function(point) {\r\n return point.hasValue()\r\n }))\r\n }))\r\n}\r\n\r\nfunction correctStackCoordinates(series, currentStacks, arg, stack, parameters, barsArea, seriesStackIndexCallback) {\r\n series.forEach((function(series) {\r\n var stackIndex = seriesStackIndexCallback(currentStacks.indexOf(stack), currentStacks.length);\r\n var points = series.getPointsByArg(arg, true);\r\n var barPadding = validateBarPadding(series.getOptions().barPadding);\r\n var barWidth = series.getOptions().barWidth;\r\n var offset = getOffset(stackIndex, parameters);\r\n var width = parameters.width;\r\n var extraParameters;\r\n if (-1 === stackIndex) {\r\n return\r\n }\r\n if (isDefined(barPadding) || isDefined(barWidth)) {\r\n extraParameters = calculateParams(barsArea, currentStacks.length, 1 - barPadding, barWidth);\r\n width = extraParameters.width;\r\n if (!series.getBarOverlapGroup()) {\r\n offset = getOffset(stackIndex, extraParameters)\r\n }\r\n }\r\n correctPointCoordinates(points, width, offset)\r\n }))\r\n}\r\n\r\nfunction getStackName(series) {\r\n return series.getStackName() || series.getBarOverlapGroup()\r\n}\r\n\r\nfunction adjustBarSeriesDimensionsCore(series, options, seriesStackIndexCallback) {\r\n var _series$, _series$2;\r\n var commonStacks = [];\r\n var allArguments = [];\r\n var seriesInStacks = {};\r\n var barGroupWidth = options.barGroupWidth;\r\n var argumentAxis = null === (_series$ = series[0]) || void 0 === _series$ ? void 0 : _series$.getArgumentAxis();\r\n var interval;\r\n if (null !== (_series$2 = series[0]) && void 0 !== _series$2 && _series$2.useAggregation()) {\r\n var _series$3;\r\n var isDateArgAxis = \"datetime\" === (null === (_series$3 = series[0]) || void 0 === _series$3 ? void 0 : _series$3.argumentType);\r\n var tickInterval = argumentAxis.getTickInterval();\r\n var aggregationInterval = argumentAxis.getAggregationInterval();\r\n tickInterval = isDateArgAxis ? dateUtils.dateToMilliseconds(tickInterval) : tickInterval;\r\n aggregationInterval = isDateArgAxis ? dateUtils.dateToMilliseconds(aggregationInterval) : aggregationInterval;\r\n interval = aggregationInterval < tickInterval ? aggregationInterval : tickInterval\r\n }\r\n interval = null === argumentAxis || void 0 === argumentAxis ? void 0 : argumentAxis.getTranslator().getInterval(interval);\r\n var barsArea = barGroupWidth ? interval > barGroupWidth ? barGroupWidth : interval : interval * (1 - validateBarGroupPadding(options.barGroupPadding));\r\n series.forEach((function(s, i) {\r\n var stackName = getStackName(s) || i.toString();\r\n var argument;\r\n for (argument in s.pointsByArgument) {\r\n if (-1 === allArguments.indexOf(argument.valueOf())) {\r\n allArguments.push(argument.valueOf())\r\n }\r\n }\r\n if (-1 === commonStacks.indexOf(stackName)) {\r\n commonStacks.push(stackName);\r\n seriesInStacks[stackName] = []\r\n }\r\n seriesInStacks[stackName].push(s)\r\n }));\r\n allArguments.forEach((function(arg) {\r\n var currentStacks = commonStacks.reduce((stacks, stack) => {\r\n if (isStackExist(seriesInStacks[stack], arg)) {\r\n stacks.push(stack)\r\n }\r\n return stacks\r\n }, []);\r\n var parameters = calculateParams(barsArea, currentStacks.length);\r\n commonStacks.forEach(stack => {\r\n correctStackCoordinates(seriesInStacks[stack], currentStacks, arg, stack, parameters, barsArea, seriesStackIndexCallback)\r\n })\r\n }))\r\n}\r\n\r\nfunction calculateParams(barsArea, count, percentWidth, fixedBarWidth) {\r\n var spacing;\r\n var width;\r\n if (fixedBarWidth) {\r\n width = _min(fixedBarWidth, barsArea / count);\r\n spacing = count > 1 ? round((barsArea - round(width) * count) / (count - 1)) : 0\r\n } else if (isDefined(percentWidth)) {\r\n width = barsArea * percentWidth / count;\r\n spacing = count > 1 ? round((barsArea - barsArea * percentWidth) / (count - 1)) : 0\r\n } else {\r\n spacing = round(barsArea / count * .2);\r\n width = (barsArea - spacing * (count - 1)) / count\r\n }\r\n return {\r\n width: width > 1 ? round(width) : 1,\r\n spacing: spacing,\r\n middleIndex: count / 2,\r\n rawWidth: width\r\n }\r\n}\r\n\r\nfunction getOffset(stackIndex, parameters) {\r\n var width = parameters.rawWidth < 1 ? parameters.rawWidth : parameters.width;\r\n return (stackIndex - parameters.middleIndex + .5) * width - (parameters.middleIndex - stackIndex - .5) * parameters.spacing\r\n}\r\n\r\nfunction correctPointCoordinates(points, width, offset) {\r\n _each(points, (function(_, point) {\r\n point.correctCoordinates({\r\n width: width,\r\n offset: offset\r\n })\r\n }))\r\n}\r\n\r\nfunction getValueType(value) {\r\n return value >= 0 ? \"positive\" : \"negative\"\r\n}\r\n\r\nfunction getVisibleSeries(that) {\r\n return that.series.filter((function(s) {\r\n return s.isVisible()\r\n }))\r\n}\r\n\r\nfunction getAbsStackSumByArg(stackKeepers, stackName, argument) {\r\n var positiveStackValue = (stackKeepers.positive[stackName] || {})[argument] || 0;\r\n var negativeStackValue = -(stackKeepers.negative[stackName] || {})[argument] || 0;\r\n return positiveStackValue + negativeStackValue\r\n}\r\n\r\nfunction getStackSumByArg(stackKeepers, stackName, argument) {\r\n var positiveStackValue = (stackKeepers.positive[stackName] || {})[argument] || 0;\r\n var negativeStackValue = (stackKeepers.negative[stackName] || {})[argument] || 0;\r\n return positiveStackValue + negativeStackValue\r\n}\r\n\r\nfunction getSeriesStackIndexCallback(inverted) {\r\n if (!inverted) {\r\n return function(index) {\r\n return index\r\n }\r\n } else {\r\n return function(index, stackCount) {\r\n return stackCount - index - 1\r\n }\r\n }\r\n}\r\n\r\nfunction isInverted(series) {\r\n return series[0] && series[0].getArgumentAxis().getTranslator().isInverted()\r\n}\r\n\r\nfunction adjustBarSeriesDimensions() {\r\n var series = getVisibleSeries(this);\r\n adjustBarSeriesDimensionsCore(series, this._options, getSeriesStackIndexCallback(isInverted(series)))\r\n}\r\n\r\nfunction getFirstValueSign(series) {\r\n var points = series.getPoints();\r\n var value;\r\n for (var i = 0; i < points.length; i++) {\r\n var point = points[i];\r\n value = point.initialValue && point.initialValue.valueOf();\r\n if (abs(value) > 0) {\r\n break\r\n }\r\n }\r\n return sign(value)\r\n}\r\n\r\nfunction adjustStackedSeriesValues() {\r\n var negativesAsZeroes = this._options.negativesAsZeroes;\r\n var series = getVisibleSeries(this);\r\n var stackKeepers = {\r\n positive: {},\r\n negative: {}\r\n };\r\n var holesStack = {\r\n left: {},\r\n right: {}\r\n };\r\n var lastSeriesInPositiveStack = {};\r\n var lastSeriesInNegativeStack = {};\r\n series.forEach((function(singleSeries) {\r\n var stackName = getStackName(singleSeries);\r\n var hole = false;\r\n var stack = getFirstValueSign(singleSeries) < 0 ? lastSeriesInNegativeStack : lastSeriesInPositiveStack;\r\n singleSeries._prevSeries = stack[stackName];\r\n stack[stackName] = singleSeries;\r\n singleSeries.holes = extend(true, {}, holesStack);\r\n singleSeries.getPoints().forEach((function(point, index, points) {\r\n var value = point.initialValue && point.initialValue.valueOf();\r\n var argument = point.argument.valueOf();\r\n var stacks = value >= 0 ? stackKeepers.positive : stackKeepers.negative;\r\n var isNotBarSeries = \"bar\" !== singleSeries.type;\r\n if (negativesAsZeroes && value < 0) {\r\n stacks = stackKeepers.positive;\r\n value = 0;\r\n point.resetValue()\r\n }\r\n stacks[stackName] = stacks[stackName] || {};\r\n var currentStack = stacks[stackName];\r\n if (currentStack[argument]) {\r\n if (isNotBarSeries) {\r\n point.correctValue(currentStack[argument])\r\n }\r\n currentStack[argument] += value\r\n } else {\r\n currentStack[argument] = value;\r\n if (isNotBarSeries) {\r\n point.resetCorrection()\r\n }\r\n }\r\n if (!point.hasValue()) {\r\n var prevPoint = points[index - 1];\r\n if (!hole && prevPoint && prevPoint.hasValue()) {\r\n argument = prevPoint.argument.valueOf();\r\n prevPoint._skipSetRightHole = true;\r\n holesStack.right[argument] = (holesStack.right[argument] || 0) + (prevPoint.value.valueOf() - (isFinite(prevPoint.minValue) ? prevPoint.minValue.valueOf() : 0))\r\n }\r\n hole = true\r\n } else if (hole) {\r\n hole = false;\r\n holesStack.left[argument] = (holesStack.left[argument] || 0) + (point.value.valueOf() - (isFinite(point.minValue) ? point.minValue.valueOf() : 0));\r\n point._skipSetLeftHole = true\r\n }\r\n }))\r\n }));\r\n series.forEach((function(singleSeries) {\r\n var holes = singleSeries.holes;\r\n singleSeries.getPoints().forEach((function(point) {\r\n var argument = point.argument.valueOf();\r\n point.resetHoles();\r\n !point._skipSetLeftHole && point.setHole(holes.left[argument] || holesStack.left[argument] && 0, \"left\");\r\n !point._skipSetRightHole && point.setHole(holes.right[argument] || holesStack.right[argument] && 0, \"right\");\r\n point._skipSetLeftHole = null;\r\n point._skipSetRightHole = null\r\n }))\r\n }));\r\n this._stackKeepers = stackKeepers;\r\n series.forEach((function(singleSeries) {\r\n singleSeries.getPoints().forEach((function(point) {\r\n var argument = point.argument.valueOf();\r\n var stackName = getStackName(singleSeries);\r\n var absTotal = getAbsStackSumByArg(stackKeepers, stackName, argument);\r\n var total = getStackSumByArg(stackKeepers, stackName, argument);\r\n point.setPercentValue(absTotal, total, holesStack.left[argument], holesStack.right[argument])\r\n }))\r\n }))\r\n}\r\n\r\nfunction updateStackedSeriesValues() {\r\n var that = this;\r\n var series = getVisibleSeries(that);\r\n var stack = that._stackKeepers;\r\n var stackKeepers = {\r\n positive: {},\r\n negative: {}\r\n };\r\n _each(series, (function(_, singleSeries) {\r\n var minBarSize = singleSeries.getOptions().minBarSize;\r\n var valueAxisTranslator = singleSeries.getValueAxis().getTranslator();\r\n var minShownBusinessValue = minBarSize && valueAxisTranslator.getMinBarSize(minBarSize);\r\n var stackName = singleSeries.getStackName();\r\n _each(singleSeries.getPoints(), (function(index, point) {\r\n if (!point.hasValue()) {\r\n return\r\n }\r\n var value = point.initialValue && point.initialValue.valueOf();\r\n var argument = point.argument.valueOf();\r\n if (that.fullStacked) {\r\n value = value / getAbsStackSumByArg(stack, stackName, argument) || 0\r\n }\r\n var updateValue = valueAxisTranslator.checkMinBarSize(value, minShownBusinessValue, point.value);\r\n var valueType = getValueType(updateValue);\r\n var currentStack = stackKeepers[valueType][stackName] = stackKeepers[valueType][stackName] || {};\r\n if (currentStack[argument]) {\r\n point.minValue = currentStack[argument];\r\n currentStack[argument] += updateValue\r\n } else {\r\n currentStack[argument] = updateValue\r\n }\r\n point.value = currentStack[argument]\r\n }))\r\n }));\r\n if (that.fullStacked) {\r\n updateFullStackedSeriesValues(series, stackKeepers)\r\n }\r\n}\r\n\r\nfunction updateFullStackedSeriesValues(series, stackKeepers) {\r\n _each(series, (function(_, singleSeries) {\r\n var stackName = singleSeries.getStackName ? singleSeries.getStackName() : \"default\";\r\n _each(singleSeries.getPoints(), (function(index, point) {\r\n var stackSum = getAbsStackSumByArg(stackKeepers, stackName, point.argument.valueOf());\r\n if (0 !== stackSum) {\r\n point.value = point.value / stackSum;\r\n if (isNumeric(point.minValue)) {\r\n point.minValue = point.minValue / stackSum\r\n }\r\n }\r\n }))\r\n }))\r\n}\r\n\r\nfunction updateRangeSeriesValues() {\r\n var series = getVisibleSeries(this);\r\n _each(series, (function(_, singleSeries) {\r\n var minBarSize = singleSeries.getOptions().minBarSize;\r\n var valueAxisTranslator = singleSeries.getValueAxis().getTranslator();\r\n var minShownBusinessValue = minBarSize && valueAxisTranslator.getMinBarSize(minBarSize);\r\n if (minShownBusinessValue) {\r\n _each(singleSeries.getPoints(), (function(_, point) {\r\n if (!point.hasValue()) {\r\n return\r\n }\r\n if (point.value.valueOf() - point.minValue.valueOf() < minShownBusinessValue) {\r\n point.value = point.value.valueOf() + minShownBusinessValue / 2;\r\n point.minValue = point.minValue.valueOf() - minShownBusinessValue / 2\r\n }\r\n }))\r\n }\r\n }))\r\n}\r\n\r\nfunction updateBarSeriesValues() {\r\n _each(this.series, (function(_, singleSeries) {\r\n var minBarSize = singleSeries.getOptions().minBarSize;\r\n var valueAxisTranslator = singleSeries.getValueAxis().getTranslator();\r\n var minShownBusinessValue = minBarSize && valueAxisTranslator.getMinBarSize(minBarSize);\r\n if (minShownBusinessValue) {\r\n _each(singleSeries.getPoints(), (function(index, point) {\r\n if (point.hasValue()) {\r\n point.value = valueAxisTranslator.checkMinBarSize(point.initialValue, minShownBusinessValue)\r\n }\r\n }))\r\n }\r\n }))\r\n}\r\n\r\nfunction adjustCandlestickSeriesDimensions() {\r\n var series = getVisibleSeries(this);\r\n adjustBarSeriesDimensionsCore(series, {\r\n barGroupPadding: .3\r\n }, getSeriesStackIndexCallback(isInverted(series)))\r\n}\r\n\r\nfunction adjustBubbleSeriesDimensions() {\r\n var series = getVisibleSeries(this);\r\n if (!series.length) {\r\n return\r\n }\r\n var options = this._options;\r\n var visibleAreaX = series[0].getArgumentAxis().getVisibleArea();\r\n var visibleAreaY = series[0].getValueAxis().getVisibleArea();\r\n var min = _min(visibleAreaX[1] - visibleAreaX[0], visibleAreaY[1] - visibleAreaY[0]);\r\n var minBubbleArea = pow(options.minBubbleSize, 2);\r\n var maxBubbleArea = pow(min * options.maxBubbleSize, 2);\r\n var equalBubbleSize = (min * options.maxBubbleSize + options.minBubbleSize) / 2;\r\n var minPointSize = 1 / 0;\r\n var maxPointSize = -1 / 0;\r\n var pointSize;\r\n var bubbleArea;\r\n var sizeProportion;\r\n _each(series, (function(_, seriesItem) {\r\n _each(seriesItem.getPoints(), (function(_, point) {\r\n maxPointSize = maxPointSize > point.size ? maxPointSize : point.size;\r\n minPointSize = minPointSize < point.size ? minPointSize : point.size\r\n }))\r\n }));\r\n var sizeDispersion = maxPointSize - minPointSize;\r\n var areaDispersion = abs(maxBubbleArea - minBubbleArea);\r\n _each(series, (function(_, seriesItem) {\r\n _each(seriesItem.getPoints(), (function(_, point) {\r\n if (maxPointSize === minPointSize) {\r\n pointSize = round(equalBubbleSize)\r\n } else {\r\n sizeProportion = abs(point.size - minPointSize) / sizeDispersion;\r\n bubbleArea = areaDispersion * sizeProportion + minBubbleArea;\r\n pointSize = round(sqrt(bubbleArea))\r\n }\r\n point.correctCoordinates(pointSize)\r\n }))\r\n }))\r\n}\r\nexport function SeriesFamily(options) {\r\n this.type = _normalizeEnum(options.type);\r\n this.pane = options.pane;\r\n this.series = [];\r\n this.updateOptions(options);\r\n switch (this.type) {\r\n case \"bar\":\r\n this.adjustSeriesDimensions = adjustBarSeriesDimensions;\r\n this.updateSeriesValues = updateBarSeriesValues;\r\n this.adjustSeriesValues = adjustStackedSeriesValues;\r\n break;\r\n case \"rangebar\":\r\n this.adjustSeriesDimensions = adjustBarSeriesDimensions;\r\n this.updateSeriesValues = updateRangeSeriesValues;\r\n break;\r\n case \"fullstackedbar\":\r\n this.fullStacked = true;\r\n this.adjustSeriesDimensions = adjustBarSeriesDimensions;\r\n this.adjustSeriesValues = adjustStackedSeriesValues;\r\n this.updateSeriesValues = updateStackedSeriesValues;\r\n break;\r\n case \"stackedbar\":\r\n this.adjustSeriesDimensions = adjustBarSeriesDimensions;\r\n this.adjustSeriesValues = adjustStackedSeriesValues;\r\n this.updateSeriesValues = updateStackedSeriesValues;\r\n break;\r\n case \"fullstackedarea\":\r\n case \"fullstackedline\":\r\n case \"fullstackedspline\":\r\n case \"fullstackedsplinearea\":\r\n this.fullStacked = true;\r\n this.adjustSeriesValues = adjustStackedSeriesValues;\r\n break;\r\n case \"stackedarea\":\r\n case \"stackedsplinearea\":\r\n case \"stackedline\":\r\n case \"stackedspline\":\r\n this.adjustSeriesValues = adjustStackedSeriesValues;\r\n break;\r\n case \"candlestick\":\r\n case \"stock\":\r\n this.adjustSeriesDimensions = adjustCandlestickSeriesDimensions;\r\n break;\r\n case \"bubble\":\r\n this.adjustSeriesDimensions = adjustBubbleSeriesDimensions\r\n }\r\n}\r\nSeriesFamily.prototype = {\r\n constructor: SeriesFamily,\r\n adjustSeriesDimensions: _noop,\r\n adjustSeriesValues: _noop,\r\n updateSeriesValues: _noop,\r\n updateOptions: function(options) {\r\n this._options = options\r\n },\r\n dispose: function() {\r\n this.series = null\r\n },\r\n add: function(series) {\r\n var type = this.type;\r\n this.series = _map(series, singleSeries => singleSeries.type === type ? singleSeries : null)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/tracker.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each as _each\r\n} from \"../../core/utils/iterator\";\r\nimport consts from \"../components/consts\";\r\nimport {\r\n getDistance,\r\n pointInCanvas as inCanvas,\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport errors from \"../../core/errors\";\r\nvar _floor = Math.floor;\r\nvar eventsConsts = consts.events;\r\nvar statesConsts = consts.states;\r\nvar HOVER_STATE = statesConsts.hoverMark;\r\nvar NORMAL_STATE = statesConsts.normalMark;\r\nvar EVENT_NS = \"dxChartTracker\";\r\nvar DOT_EVENT_NS = \".\" + EVENT_NS;\r\nvar POINTER_ACTION = addNamespace([pointerEvents.down, pointerEvents.move], EVENT_NS);\r\nvar LEGEND_CLICK = \"legendClick\";\r\nvar SERIES_CLICK = \"seriesClick\";\r\nvar POINT_CLICK = \"pointClick\";\r\nvar POINT_DATA = \"chart-data-point\";\r\nvar SERIES_DATA = \"chart-data-series\";\r\nvar ARG_DATA = \"chart-data-argument\";\r\nvar DELAY = 100;\r\nvar HOLD_TIMEOUT = 300;\r\nvar NONE_MODE = \"none\";\r\nvar ALL_ARGUMENT_POINTS_MODE = \"allargumentpoints\";\r\nvar INCLUDE_POINTS_MODE = \"includepoints\";\r\nvar EXLUDE_POINTS_MODE = \"excludepoints\";\r\nvar LEGEND_HOVER_MODES = [INCLUDE_POINTS_MODE, EXLUDE_POINTS_MODE, NONE_MODE];\r\n\r\nfunction getData(event, dataKey, tryCheckParent) {\r\n var target = event.target;\r\n if (\"tspan\" === target.tagName) {\r\n return target.parentNode[dataKey]\r\n }\r\n var data = target[dataKey];\r\n if (tryCheckParent && !isDefined(data)) {\r\n return function getParentData(node) {\r\n if (node.parentNode) {\r\n if (isDefined(node.parentNode[dataKey])) {\r\n return node.parentNode[dataKey]\r\n } else {\r\n return getParentData(node.parentNode)\r\n }\r\n }\r\n return\r\n }(target)\r\n }\r\n return data\r\n}\r\n\r\nfunction eventCanceled(_ref, target, clickTarget) {\r\n var {\r\n event: event,\r\n cancel: cancel\r\n } = _ref;\r\n var deprecatedCancel = event.cancel;\r\n var eventCanceled = cancel || deprecatedCancel;\r\n if (deprecatedCancel) {\r\n errors.log(\"W0003\", \"\".concat(clickTarget, \"Click handler argument\"), \"event.cancel\", \"22.1\", \"Use the 'cancel' field instead\")\r\n }\r\n return eventCanceled || !target.getOptions()\r\n}\r\n\r\nfunction correctLegendHoverMode(mode) {\r\n if (LEGEND_HOVER_MODES.indexOf(mode) > -1) {\r\n return mode\r\n } else {\r\n return INCLUDE_POINTS_MODE\r\n }\r\n}\r\n\r\nfunction correctHoverMode(target) {\r\n var mode = target.getOptions().hoverMode;\r\n return mode === NONE_MODE ? mode : ALL_ARGUMENT_POINTS_MODE\r\n}\r\nvar baseTrackerPrototype = {\r\n ctor: function(options) {\r\n var that = this;\r\n var data = {\r\n tracker: that\r\n };\r\n that._renderer = options.renderer;\r\n that._legend = options.legend;\r\n that._tooltip = options.tooltip;\r\n that._eventTrigger = options.eventTrigger;\r\n that._seriesGroup = options.seriesGroup;\r\n options.seriesGroup.off(DOT_EVENT_NS).on(addNamespace(eventsConsts.showPointTooltip, EVENT_NS), data, that._showPointTooltip).on(addNamespace(eventsConsts.hidePointTooltip, EVENT_NS), data, that._hidePointTooltip);\r\n that._renderer.root.off(DOT_EVENT_NS).on(POINTER_ACTION, data, that._pointerHandler).on(addNamespace(pointerEvents.up, EVENT_NS), () => clearTimeout(that._holdTimer)).on(addNamespace(clickEventName, EVENT_NS), data, that._clickHandler)\r\n },\r\n update: function(options) {\r\n this._chart = options.chart\r\n },\r\n updateSeries(series, resetDecorations) {\r\n var that = this;\r\n var noHoveredSeries = !(null !== series && void 0 !== series && series.some(s => s === that.hoveredSeries) || that._hoveredPoint && that._hoveredPoint.series);\r\n if (that._storedSeries !== series) {\r\n that._storedSeries = series || []\r\n }\r\n if (noHoveredSeries) {\r\n that._clean();\r\n that._renderer.initDefsElements()\r\n }\r\n if (resetDecorations) {\r\n that.clearSelection();\r\n if (!noHoveredSeries) {\r\n that._hideTooltip(that.pointAtShownTooltip);\r\n that.clearHover()\r\n }\r\n }\r\n },\r\n setCanvases: function(mainCanvas, paneCanvases) {\r\n this._mainCanvas = mainCanvas;\r\n this._canvases = paneCanvases\r\n },\r\n repairTooltip: function() {\r\n var point = this.pointAtShownTooltip;\r\n if (!point || !point.series || !point.isVisible()) {\r\n this._hideTooltip(point, true)\r\n } else {\r\n this._showTooltip(point)\r\n }\r\n },\r\n _setHoveredPoint: function(point) {\r\n if (point === this._hoveredPoint) {\r\n return\r\n }\r\n this._releaseHoveredPoint();\r\n point.hover();\r\n this._hoveredPoint = point\r\n },\r\n _releaseHoveredPoint: function(isPointerOut) {\r\n if (this._hoveredPoint && this._hoveredPoint.getOptions()) {\r\n this._hoveredPoint.clearHover();\r\n this._hoveredPoint = null;\r\n if (this._tooltip.isEnabled()) {\r\n this._hideTooltip(this._hoveredPoint, false, isPointerOut)\r\n }\r\n }\r\n },\r\n _setHoveredSeries: function(series, mode) {\r\n this._releaseHoveredSeries();\r\n this._releaseHoveredPoint();\r\n series.hover(mode);\r\n this.hoveredSeries = series\r\n },\r\n _releaseHoveredSeries() {\r\n if (this.hoveredSeries) {\r\n this.hoveredSeries.clearHover();\r\n this.hoveredSeries = null\r\n }\r\n },\r\n clearSelection() {\r\n this._storedSeries.forEach(series => {\r\n if (series) {\r\n series.clearSelection();\r\n series.getPoints().forEach(point => point.clearSelection())\r\n }\r\n })\r\n },\r\n _clean: function() {\r\n this.hoveredPoint = this.hoveredSeries = this._hoveredArgumentPoints = null;\r\n this._hideTooltip(this.pointAtShownTooltip)\r\n },\r\n clearHover: function(isPointerOut) {\r\n this._resetHoveredArgument();\r\n this._releaseHoveredSeries();\r\n this._releaseHoveredPoint(isPointerOut)\r\n },\r\n _hideTooltip: function(point, silent, isPointerOut) {\r\n if (!this._tooltip || point && this.pointAtShownTooltip !== point) {\r\n return\r\n }\r\n if (!silent && this.pointAtShownTooltip) {\r\n this.pointAtShownTooltip = null\r\n }\r\n this._tooltip.hide(!!isPointerOut)\r\n },\r\n _showTooltip: function(point) {\r\n var that = this;\r\n var tooltipFormatObject;\r\n var eventData = {\r\n target: point\r\n };\r\n if (null !== point && void 0 !== point && point.getOptions()) {\r\n tooltipFormatObject = point.getTooltipFormatObject(that._tooltip, that._tooltip.isShared() && that._chart.getStackedPoints(point));\r\n if (!isDefined(tooltipFormatObject.valueText) && !tooltipFormatObject.points || !point.isVisible()) {\r\n return\r\n }\r\n var coords = point.getTooltipParams(that._tooltip.getLocation());\r\n var rootOffset = that._renderer.getRootOffset();\r\n coords.x += rootOffset.left;\r\n coords.y += rootOffset.top;\r\n var callback = result => {\r\n result && (that.pointAtShownTooltip = point)\r\n };\r\n callback(that._tooltip.show(tooltipFormatObject, coords, eventData, void 0, callback))\r\n }\r\n },\r\n _showPointTooltip: function(event, point) {\r\n var that = event.data.tracker;\r\n var pointWithTooltip = that.pointAtShownTooltip;\r\n if (pointWithTooltip && pointWithTooltip !== point) {\r\n that._hideTooltip(pointWithTooltip)\r\n }\r\n that._showTooltip(point)\r\n },\r\n _hidePointTooltip: function(event, point) {\r\n event.data.tracker._hideTooltip(point, false, true)\r\n },\r\n _enableOutHandler: function() {\r\n if (this._outHandler) {\r\n return\r\n }\r\n var that = this;\r\n var handler = function(e) {\r\n var rootOffset = that._renderer.getRootOffset();\r\n var x = _floor(e.pageX - rootOffset.left);\r\n var y = _floor(e.pageY - rootOffset.top);\r\n if (!inCanvas(that._mainCanvas, x, y) && !that._isCursorOnTooltip(e)) {\r\n that._pointerOut();\r\n that._disableOutHandler()\r\n }\r\n };\r\n eventsEngine.on(domAdapter.getDocument(), POINTER_ACTION, handler);\r\n this._outHandler = handler\r\n },\r\n _isCursorOnTooltip: function(e) {\r\n return this._tooltip.isEnabled() && this._tooltip.isCursorOnTooltip(e.pageX, e.pageY)\r\n },\r\n _disableOutHandler: function() {\r\n this._outHandler && eventsEngine.off(domAdapter.getDocument(), POINTER_ACTION, this._outHandler);\r\n this._outHandler = null\r\n },\r\n stopCurrentHandling: function() {\r\n this._pointerOut(true)\r\n },\r\n _pointerOut: function(force) {\r\n this.clearHover(true);\r\n (force || this._tooltip.isEnabled()) && this._hideTooltip(this.pointAtShownTooltip, false, true)\r\n },\r\n _triggerLegendClick: function(eventArgs, elementClick) {\r\n var eventTrigger = this._eventTrigger;\r\n eventTrigger(LEGEND_CLICK, eventArgs, (function() {\r\n !eventCanceled(eventArgs, eventArgs.target, \"legend\") && eventTrigger(elementClick, eventArgs)\r\n }))\r\n },\r\n _hoverLegendItem: function(x, y) {\r\n var item = this._legend.getItemByCoord(x, y);\r\n var series;\r\n var legendHoverMode = correctLegendHoverMode(this._legend.getOptions().hoverMode);\r\n if (item) {\r\n series = this._storedSeries[item.id];\r\n if (!series.isHovered() || series.lastHoverMode !== legendHoverMode) {\r\n this._setHoveredSeries(series, legendHoverMode)\r\n }\r\n this._tooltip.isEnabled() && this._hideTooltip(this.pointAtShownTooltip)\r\n } else {\r\n this.clearHover()\r\n }\r\n },\r\n _hoverArgument: function(argument, argumentIndex) {\r\n var hoverMode = this._getArgumentHoverMode();\r\n if (isDefined(argument)) {\r\n this._releaseHoveredPoint();\r\n this._hoveredArgument = argument;\r\n this._argumentIndex = argumentIndex;\r\n this._notifySeries({\r\n action: \"pointHover\",\r\n notifyLegend: this._notifyLegendOnHoverArgument,\r\n target: {\r\n argument: argument,\r\n fullState: HOVER_STATE,\r\n argumentIndex: argumentIndex,\r\n getOptions: function() {\r\n return {\r\n hoverMode: hoverMode\r\n }\r\n }\r\n }\r\n })\r\n }\r\n },\r\n _resetHoveredArgument: function() {\r\n var hoverMode;\r\n if (isDefined(this._hoveredArgument)) {\r\n hoverMode = this._getArgumentHoverMode();\r\n this._notifySeries({\r\n action: \"clearPointHover\",\r\n notifyLegend: this._notifyLegendOnHoverArgument,\r\n target: {\r\n fullState: NORMAL_STATE,\r\n argumentIndex: this._argumentIndex,\r\n argument: this._hoveredArgument,\r\n getOptions: function() {\r\n return {\r\n hoverMode: hoverMode\r\n }\r\n }\r\n }\r\n });\r\n this._hoveredArgument = null\r\n }\r\n },\r\n _notifySeries: function(data) {\r\n this._storedSeries.forEach((function(series) {\r\n series.notify(data)\r\n }))\r\n },\r\n _pointerHandler: function(e) {\r\n var _series;\r\n var that = e.data.tracker;\r\n var rootOffset = that._renderer.getRootOffset();\r\n var x = _floor(e.pageX - rootOffset.left);\r\n var y = _floor(e.pageY - rootOffset.top);\r\n var canvas = that._getCanvas(x, y);\r\n var series = getData(e, SERIES_DATA);\r\n var point = getData(e, POINT_DATA) || (null === (_series = series) || void 0 === _series ? void 0 : _series.getPointByCoord(x, y));\r\n that._isHolding = false;\r\n clearTimeout(that._holdTimer);\r\n if (e.type === pointerEvents.down) {\r\n that._holdTimer = setTimeout(() => that._isHolding = true, HOLD_TIMEOUT)\r\n }\r\n if (point && !point.getMarkerVisibility()) {\r\n point = void 0\r\n }\r\n that._enableOutHandler();\r\n if (that._legend.coordsIn(x, y)) {\r\n that._hoverLegendItem(x, y);\r\n return\r\n }\r\n if (that.hoveredSeries && that.hoveredSeries !== that._stuckSeries) {\r\n that._releaseHoveredSeries()\r\n }\r\n if (that._hoverArgumentAxis(x, y, e)) {\r\n return\r\n }\r\n if (that._isPointerOut(canvas, point)) {\r\n that._pointerOut()\r\n }\r\n if (!canvas && !point) {\r\n return\r\n }\r\n if (series && !point) {\r\n point = series.getNeighborPoint(x, y);\r\n if (!that._stickyHovering && point && !point.coordsIn(x, y)) {\r\n point = null\r\n }\r\n if (series !== that.hoveredSeries) {\r\n that._setTimeout((function() {\r\n that._setHoveredSeries(series);\r\n that._setStuckSeries(e, series, x, y);\r\n that._pointerComplete(point, x, y)\r\n }), series);\r\n return\r\n }\r\n } else if (point) {\r\n if (e.type !== pointerEvents.move && \"touch\" !== e.pointerType) {\r\n return\r\n }\r\n if (that.hoveredSeries) {\r\n that._setTimeout(() => that._pointerOnPoint(point, x, y, e), point)\r\n } else {\r\n that._pointerOnPoint(point, x, y, e)\r\n }\r\n return\r\n } else if (that._setStuckSeries(e, void 0, x, y) && that._stickyHovering) {\r\n var _point;\r\n series = that._stuckSeries;\r\n point = series.getNeighborPoint(x, y);\r\n that._releaseHoveredSeries();\r\n (null === (_point = point) || void 0 === _point ? void 0 : _point.getMarkerVisibility()) && that._setHoveredPoint(point)\r\n } else if (!that._stickyHovering) {\r\n that._pointerOut()\r\n }\r\n that._pointerComplete(point, x, y)\r\n },\r\n _pointerOnPoint: function(point, x, y) {\r\n this._resetHoveredArgument();\r\n this._setHoveredPoint(point);\r\n this._pointerComplete(point, x, y)\r\n },\r\n _pointerComplete: function(point) {\r\n this.pointAtShownTooltip !== point && this._tooltip.isEnabled() && this._showTooltip(point)\r\n },\r\n _clickHandler: function(e) {\r\n var _point2;\r\n var that = e.data.tracker;\r\n if (that._isHolding) {\r\n return\r\n }\r\n var rootOffset = that._renderer.getRootOffset();\r\n var x = _floor(e.pageX - rootOffset.left);\r\n var y = _floor(e.pageY - rootOffset.top);\r\n var point = getData(e, POINT_DATA);\r\n var series = that._stuckSeries || getData(e, SERIES_DATA) || (null === (_point2 = point) || void 0 === _point2 ? void 0 : _point2.series);\r\n var axis = that._argumentAxis;\r\n if (that._legend.coordsIn(x, y)) {\r\n var item = that._legend.getItemByCoord(x, y);\r\n if (item) {\r\n that._legendClick(item, e)\r\n }\r\n } else if (null !== axis && void 0 !== axis && axis.coordsIn(x, y)) {\r\n var argument = getData(e, ARG_DATA, true);\r\n if (isDefined(argument)) {\r\n that._eventTrigger(\"argumentAxisClick\", {\r\n argument: argument,\r\n event: e\r\n })\r\n }\r\n } else if (series) {\r\n var _point3;\r\n point = point || series.getPointByCoord(x, y);\r\n if (null !== (_point3 = point) && void 0 !== _point3 && _point3.getMarkerVisibility()) {\r\n that._pointClick(point, e)\r\n } else {\r\n getData(e, SERIES_DATA) && that._eventTrigger(SERIES_CLICK, {\r\n target: series,\r\n event: e\r\n })\r\n }\r\n }\r\n },\r\n dispose: function() {\r\n this._disableOutHandler();\r\n this._renderer.root.off(DOT_EVENT_NS);\r\n this._seriesGroup.off(DOT_EVENT_NS)\r\n }\r\n};\r\nexport var ChartTracker = function(options) {\r\n this.ctor(options)\r\n};\r\nextend(ChartTracker.prototype, baseTrackerPrototype, {\r\n _pointClick: function(point, event) {\r\n var eventTrigger = this._eventTrigger;\r\n var series = point.series;\r\n var eventArgs = {\r\n target: point,\r\n event: event\r\n };\r\n eventTrigger(POINT_CLICK, eventArgs, (function() {\r\n !eventCanceled(eventArgs, series, \"point\") && eventTrigger(SERIES_CLICK, {\r\n target: series,\r\n event: event\r\n })\r\n }))\r\n },\r\n update: function(options) {\r\n baseTrackerPrototype.update.call(this, options);\r\n this._argumentAxis = options.argumentAxis || {};\r\n this._axisHoverEnabled = this._argumentAxis && _normalizeEnum(this._argumentAxis.getOptions().hoverMode) === ALL_ARGUMENT_POINTS_MODE;\r\n this._rotated = options.rotated;\r\n this._crosshair = options.crosshair;\r\n this._stickyHovering = options.stickyHovering\r\n },\r\n _getCanvas: function(x, y) {\r\n var canvases = this._canvases || [];\r\n for (var i = 0; i < canvases.length; i++) {\r\n var c = canvases[i];\r\n if (inCanvas(c, x, y)) {\r\n return c\r\n }\r\n }\r\n return null\r\n },\r\n _isPointerOut: function(canvas) {\r\n return !canvas && this._stuckSeries\r\n },\r\n _hideCrosshair: function() {\r\n var _this$_crosshair;\r\n null === (_this$_crosshair = this._crosshair) || void 0 === _this$_crosshair ? void 0 : _this$_crosshair.hide()\r\n },\r\n _moveCrosshair: function(point, x, y) {\r\n if (this._crosshair && null !== point && void 0 !== point && point.isVisible()) {\r\n this._crosshair.show({\r\n point: point,\r\n x: x,\r\n y: y\r\n })\r\n }\r\n },\r\n _clean: function() {\r\n baseTrackerPrototype._clean.call(this);\r\n this._resetTimer();\r\n this._stuckSeries = null\r\n },\r\n _getSeriesForShared: function(x, y) {\r\n var _point4;\r\n var points = [];\r\n var point = null;\r\n var distance = 1 / 0;\r\n if (this._tooltip.isShared() && !this.hoveredSeries) {\r\n _each(this._storedSeries, (function(_, series) {\r\n var point = series.getNeighborPoint(x, y);\r\n point && points.push(point)\r\n }));\r\n _each(points, (function(_, p) {\r\n var coords = p.getCrosshairData(x, y);\r\n var d = getDistance(x, y, coords.x, coords.y);\r\n if (d < distance) {\r\n point = p;\r\n distance = d\r\n }\r\n }))\r\n }\r\n return null === (_point4 = point) || void 0 === _point4 ? void 0 : _point4.series\r\n },\r\n _setTimeout: function(callback, keeper) {\r\n var that = this;\r\n if (that._timeoutKeeper !== keeper) {\r\n that._resetTimer();\r\n that._hoverTimeout = setTimeout((function() {\r\n callback();\r\n that._timeoutKeeper = null\r\n }), DELAY);\r\n that._timeoutKeeper = keeper\r\n }\r\n },\r\n _resetTimer: function() {\r\n clearTimeout(this._hoverTimeout);\r\n this._timeoutKeeper = this._hoverTimeout = null\r\n },\r\n _stopEvent: function(e) {\r\n if (!isDefined(e.cancelable) || e.cancelable) {\r\n e.preventDefault();\r\n e.stopPropagation()\r\n }\r\n },\r\n _setStuckSeries: function(e, series, x, y) {\r\n if (\"mouse\" !== e.pointerType) {\r\n this._stuckSeries = null\r\n } else {\r\n this._stuckSeries = series || this._stuckSeries || this._getSeriesForShared(x, y)\r\n }\r\n return !!this._stuckSeries\r\n },\r\n _pointerOut: function() {\r\n var that = this;\r\n that._stuckSeries = null;\r\n that._hideCrosshair();\r\n that._resetTimer();\r\n baseTrackerPrototype._pointerOut.apply(that, arguments)\r\n },\r\n _hoverArgumentAxis: function(x, y, e) {\r\n this._resetHoveredArgument();\r\n if (this._axisHoverEnabled && this._argumentAxis.coordsIn(x, y)) {\r\n this._hoverArgument(getData(e, ARG_DATA, true));\r\n return true\r\n }\r\n },\r\n _pointerComplete: function(point, x, y) {\r\n this.hoveredSeries && this.hoveredSeries.updateHover(x, y);\r\n this._resetTimer();\r\n this._moveCrosshair(point, x, y);\r\n baseTrackerPrototype._pointerComplete.call(this, point)\r\n },\r\n _legendClick: function(item, e) {\r\n var series = this._storedSeries[item.id];\r\n this._triggerLegendClick({\r\n target: series,\r\n event: e\r\n }, SERIES_CLICK)\r\n },\r\n _hoverLegendItem: function(x, y) {\r\n this._stuckSeries = null;\r\n this._hideCrosshair();\r\n baseTrackerPrototype._hoverLegendItem.call(this, x, y)\r\n },\r\n _pointerOnPoint: function(point, x, y, e) {\r\n this._setStuckSeries(e, point.series, x, y);\r\n this._releaseHoveredSeries();\r\n baseTrackerPrototype._pointerOnPoint.call(this, point, x, y, e)\r\n },\r\n _notifyLegendOnHoverArgument: false,\r\n _getArgumentHoverMode: function() {\r\n return correctHoverMode(this._argumentAxis)\r\n },\r\n dispose: function() {\r\n this._resetTimer();\r\n baseTrackerPrototype.dispose.call(this)\r\n }\r\n});\r\nexport var PieTracker = function(options) {\r\n this.ctor(options)\r\n};\r\nextend(PieTracker.prototype, baseTrackerPrototype, {\r\n _isPointerOut: function(_, point) {\r\n return !point\r\n },\r\n _legendClick: function(item, e) {\r\n var points = [];\r\n this._storedSeries.forEach(s => points.push.apply(points, s.getPointsByKeys(item.argument, item.argumentIndex)));\r\n this._eventTrigger(LEGEND_CLICK, {\r\n target: item.argument,\r\n points: points,\r\n event: e\r\n })\r\n },\r\n _pointClick: function(point, e) {\r\n this._eventTrigger(POINT_CLICK, {\r\n target: point,\r\n event: e\r\n })\r\n },\r\n _hoverLegendItem: function(x, y) {\r\n var item = this._legend.getItemByCoord(x, y);\r\n if (item && this._hoveredArgument !== item.argument) {\r\n this._resetHoveredArgument();\r\n this._hoverArgument(item.argument, item.argumentIndex)\r\n } else if (!item) {\r\n this.clearHover()\r\n }\r\n },\r\n _getArgumentHoverMode: function() {\r\n return correctHoverMode(this._legend)\r\n },\r\n _hoverArgumentAxis: _noop,\r\n _setStuckSeries: _noop,\r\n _getCanvas: _noop,\r\n _notifyLegendOnHoverArgument: true\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/palette.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n normalizeEnum\r\n} from \"./core/utils\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nvar _floor = Math.floor;\r\nvar _ceil = Math.ceil;\r\nimport _Color from \"../color\";\r\nvar _isArray = Array.isArray;\r\nimport {\r\n isString as _isString\r\n} from \"../core/utils/type\";\r\nvar HIGHLIGHTING_STEP = 50;\r\nvar DEFAULT_PALETTE = \"material\";\r\nvar officePalette = {\r\n simpleSet: [\"#5f8b95\", \"#ba4d51\", \"#af8a53\", \"#955f71\", \"#859666\", \"#7e688c\"],\r\n indicatingSet: [\"#a3b97c\", \"#e1b676\", \"#ec7f83\"],\r\n gradientSet: [\"#5f8b95\", \"#ba4d51\"],\r\n accentColor: \"#ba4d51\"\r\n};\r\nvar palettes = {\r\n [DEFAULT_PALETTE]: {\r\n simpleSet: [\"#1db2f5\", \"#f5564a\", \"#97c95c\", \"#ffc720\", \"#eb3573\", \"#a63db8\"],\r\n indicatingSet: [\"#97c95c\", \"#ffc720\", \"#f5564a\"],\r\n gradientSet: [\"#1db2f5\", \"#97c95c\"],\r\n accentColor: \"#1db2f5\"\r\n },\r\n office: officePalette,\r\n \"harmony light\": {\r\n simpleSet: [\"#fcb65e\", \"#679ec5\", \"#ad79ce\", \"#7abd5c\", \"#e18e92\", \"#b6d623\", \"#b7abea\", \"#85dbd5\"],\r\n indicatingSet: [\"#b6d623\", \"#fcb65e\", \"#e18e92\"],\r\n gradientSet: [\"#7abd5c\", \"#fcb65e\"],\r\n accentColor: \"#679ec5\"\r\n },\r\n \"soft pastel\": {\r\n simpleSet: [\"#60a69f\", \"#78b6d9\", \"#6682bb\", \"#a37182\", \"#eeba69\", \"#90ba58\", \"#456c68\", \"#7565a4\"],\r\n indicatingSet: [\"#90ba58\", \"#eeba69\", \"#a37182\"],\r\n gradientSet: [\"#78b6d9\", \"#eeba69\"],\r\n accentColor: \"#60a69f\"\r\n },\r\n pastel: {\r\n simpleSet: [\"#bb7862\", \"#70b3a1\", \"#bb626a\", \"#057d85\", \"#ab394b\", \"#dac599\", \"#153459\", \"#b1d2c6\"],\r\n indicatingSet: [\"#70b3a1\", \"#dac599\", \"#bb626a\"],\r\n gradientSet: [\"#bb7862\", \"#70b3a1\"],\r\n accentColor: \"#bb7862\"\r\n },\r\n bright: {\r\n simpleSet: [\"#70c92f\", \"#f8ca00\", \"#bd1550\", \"#e97f02\", \"#9d419c\", \"#7e4452\", \"#9ab57e\", \"#36a3a6\"],\r\n indicatingSet: [\"#70c92f\", \"#f8ca00\", \"#bd1550\"],\r\n gradientSet: [\"#e97f02\", \"#f8ca00\"],\r\n accentColor: \"#e97f02\"\r\n },\r\n soft: {\r\n simpleSet: [\"#cbc87b\", \"#9ab57e\", \"#e55253\", \"#7e4452\", \"#e8c267\", \"#565077\", \"#6babac\", \"#ad6082\"],\r\n indicatingSet: [\"#9ab57e\", \"#e8c267\", \"#e55253\"],\r\n gradientSet: [\"#9ab57e\", \"#e8c267\"],\r\n accentColor: \"#565077\"\r\n },\r\n ocean: {\r\n simpleSet: [\"#75c099\", \"#acc371\", \"#378a8a\", \"#5fa26a\", \"#064970\", \"#38c5d2\", \"#00a7c6\", \"#6f84bb\"],\r\n indicatingSet: [\"#c8e394\", \"#7bc59d\", \"#397c8b\"],\r\n gradientSet: [\"#acc371\", \"#38c5d2\"],\r\n accentColor: \"#378a8a\"\r\n },\r\n vintage: {\r\n simpleSet: [\"#dea484\", \"#efc59c\", \"#cb715e\", \"#eb9692\", \"#a85c4c\", \"#f2c0b5\", \"#c96374\", \"#dd956c\"],\r\n indicatingSet: [\"#ffe5c6\", \"#f4bb9d\", \"#e57660\"],\r\n gradientSet: [\"#efc59c\", \"#cb715e\"],\r\n accentColor: \"#cb715e\"\r\n },\r\n violet: {\r\n simpleSet: [\"#d1a1d1\", \"#eeacc5\", \"#7b5685\", \"#7e7cad\", \"#a13d73\", \"#5b41ab\", \"#e287e2\", \"#689cc1\"],\r\n indicatingSet: [\"#d8e2f6\", \"#d0b2da\", \"#d56a8a\"],\r\n gradientSet: [\"#eeacc5\", \"#7b5685\"],\r\n accentColor: \"#7b5685\"\r\n },\r\n carmine: {\r\n simpleSet: [\"#fb7764\", \"#73d47f\", \"#fed85e\", \"#d47683\", \"#dde392\", \"#757ab2\"],\r\n indicatingSet: [\"#5cb85c\", \"#f0ad4e\", \"#d9534f\"],\r\n gradientSet: [\"#fb7764\", \"#73d47f\"],\r\n accentColor: \"#f05b41\"\r\n },\r\n \"dark moon\": {\r\n simpleSet: [\"#4ddac1\", \"#f4c99a\", \"#80dd9b\", \"#f998b3\", \"#4aaaa0\", \"#a5aef1\"],\r\n indicatingSet: [\"#59d8a4\", \"#f0ad4e\", \"#f9517e\"],\r\n gradientSet: [\"#4ddac1\", \"#f4c99a\"],\r\n accentColor: \"#3debd3\"\r\n },\r\n \"soft blue\": {\r\n simpleSet: [\"#7ab8eb\", \"#97da97\", \"#facb86\", \"#e78683\", \"#839bda\", \"#4db7be\"],\r\n indicatingSet: [\"#5cb85c\", \"#f0ad4e\", \"#d9534f\"],\r\n gradientSet: [\"#7ab8eb\", \"#97da97\"],\r\n accentColor: \"#7ab8eb\"\r\n },\r\n \"dark violet\": {\r\n simpleSet: [\"#9c63ff\", \"#64c064\", \"#eead51\", \"#d2504b\", \"#4b6bbf\", \"#2da7b0\"],\r\n indicatingSet: [\"#5cb85c\", \"#f0ad4e\", \"#d9534f\"],\r\n gradientSet: [\"#9c63ff\", \"#64c064\"],\r\n accentColor: \"#9c63ff\"\r\n },\r\n \"green mist\": {\r\n simpleSet: [\"#3cbab2\", \"#8ed962\", \"#5b9d95\", \"#efcc7c\", \"#f1929f\", \"#4d8dab\"],\r\n indicatingSet: [\"#72d63c\", \"#ffc852\", \"#f74a5e\"],\r\n gradientSet: [\"#3cbab2\", \"#8ed962\"],\r\n accentColor: \"#3cbab2\"\r\n }\r\n};\r\nvar currentPaletteName;\r\nexport function currentPalette(name) {\r\n if (void 0 === name) {\r\n return currentPaletteName || DEFAULT_PALETTE\r\n } else {\r\n name = normalizeEnum(name);\r\n currentPaletteName = name in palettes ? name : void 0\r\n }\r\n}\r\nexport function generateColors(palette, count) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {\r\n keepLastColorInEnd: false\r\n };\r\n options.type = options.baseColorSet;\r\n options.extensionMode = options.paletteExtensionMode;\r\n return createPalette(palette, options).generateColors(count)\r\n}\r\nexport function getPalette(palette, parameters) {\r\n parameters = parameters || {};\r\n palette = palette || (void 0 === currentPaletteName ? parameters.themeDefault : currentPalette());\r\n var result;\r\n var type = parameters.type;\r\n if (_isArray(palette)) {\r\n return palette.slice(0)\r\n } else {\r\n if (_isString(palette)) {\r\n result = palettes[normalizeEnum(palette)]\r\n }\r\n if (!result) {\r\n result = palettes[currentPalette()]\r\n }\r\n }\r\n return type ? result[type].slice(0) : result\r\n}\r\nexport function registerPalette(name, palette) {\r\n var item = {};\r\n var paletteName;\r\n if (_isArray(palette)) {\r\n item.simpleSet = palette.slice(0)\r\n } else if (palette) {\r\n item.simpleSet = _isArray(palette.simpleSet) ? palette.simpleSet.slice(0) : void 0;\r\n item.indicatingSet = _isArray(palette.indicatingSet) ? palette.indicatingSet.slice(0) : void 0;\r\n item.gradientSet = _isArray(palette.gradientSet) ? palette.gradientSet.slice(0) : void 0;\r\n item.accentColor = palette.accentColor\r\n }\r\n if (!item.accentColor) {\r\n item.accentColor = item.simpleSet && item.simpleSet[0]\r\n }\r\n if (item.simpleSet || item.indicatingSet || item.gradientSet) {\r\n paletteName = normalizeEnum(name);\r\n extend(palettes[paletteName] = palettes[paletteName] || {}, item)\r\n }\r\n}\r\nexport function getAccentColor(palette, themeDefault) {\r\n palette = getPalette(palette, {\r\n themeDefault: themeDefault\r\n });\r\n return palette.accentColor || palette[0]\r\n}\r\n\r\nfunction RingBuf(buf) {\r\n var ind = 0;\r\n this.next = function() {\r\n var res = buf[ind++];\r\n if (ind === buf.length) {\r\n this.reset()\r\n }\r\n return res\r\n };\r\n this.reset = function() {\r\n ind = 0\r\n }\r\n}\r\n\r\nfunction getAlternateColorsStrategy(palette, parameters) {\r\n var stepHighlight = parameters.useHighlight ? HIGHLIGHTING_STEP : 0;\r\n var paletteSteps = new RingBuf([0, stepHighlight, -stepHighlight]);\r\n var currentPalette = [];\r\n\r\n function _reset() {\r\n var step = paletteSteps.next();\r\n currentPalette = step ? getAlteredPalette(palette, step) : palette.slice(0)\r\n }\r\n return {\r\n getColor: function(index) {\r\n var color = currentPalette[index % palette.length];\r\n if (index % palette.length === palette.length - 1) {\r\n _reset()\r\n }\r\n return color\r\n },\r\n generateColors: function(count) {\r\n var colors = [];\r\n count = count || parameters.count;\r\n for (var i = 0; i < count; i++) {\r\n colors.push(this.getColor(i))\r\n }\r\n return colors\r\n },\r\n reset: function() {\r\n paletteSteps.reset();\r\n _reset()\r\n }\r\n }\r\n}\r\n\r\nfunction getExtrapolateColorsStrategy(palette, parameters) {\r\n return {\r\n getColor: function(index, count) {\r\n var paletteCount = palette.length;\r\n var cycles = _floor((count - 1) / paletteCount + 1);\r\n var color = palette[index % paletteCount];\r\n if (cycles > 1) {\r\n return function(color, cycleIndex, cycleCount) {\r\n var hsl = new _Color(color).hsl;\r\n var l = hsl.l / 100;\r\n var diapason = cycleCount - 1 / cycleCount;\r\n var minL = l - .5 * diapason;\r\n var maxL = l + .5 * diapason;\r\n var cycleMiddle = (cycleCount - 1) / 2;\r\n var cycleDiff = cycleIndex - cycleMiddle;\r\n if (minL < Math.min(.5, .9 * l)) {\r\n minL = Math.min(.5, .9 * l)\r\n }\r\n if (maxL > Math.max(.8, l + .15 * (1 - l))) {\r\n maxL = Math.max(.8, l + .15 * (1 - l))\r\n }\r\n if (cycleDiff < 0) {\r\n l -= (minL - l) * cycleDiff / cycleMiddle\r\n } else {\r\n l += cycleDiff / cycleMiddle * (maxL - l)\r\n }\r\n hsl.l = 100 * l;\r\n return _Color.prototype.fromHSL(hsl).toHex()\r\n }(color, _floor(index / paletteCount), cycles)\r\n }\r\n return color\r\n },\r\n generateColors: function(count) {\r\n var colors = [];\r\n count = count || parameters.count;\r\n for (var i = 0; i < count; i++) {\r\n colors.push(this.getColor(i, count))\r\n }\r\n return colors\r\n },\r\n reset: function() {}\r\n }\r\n}\r\n\r\nfunction getColorMixer(palette, parameters) {\r\n var paletteCount = palette.length;\r\n var extendedPalette = [];\r\n\r\n function distributeColors(count, colorsCount, startIndex, distribution) {\r\n var groupSize = Math.floor(count / colorsCount);\r\n var extraItems = count - colorsCount * groupSize;\r\n var i = startIndex;\r\n var middleIndex;\r\n var size;\r\n while (i < startIndex + count) {\r\n size = groupSize;\r\n if (extraItems > 0) {\r\n size += 1;\r\n extraItems--\r\n }\r\n middleIndex = size > 2 ? Math.floor(size / 2) : 0;\r\n distribution.push(i + middleIndex);\r\n i += size\r\n }\r\n return distribution.sort((function(a, b) {\r\n return a - b\r\n }))\r\n }\r\n\r\n function getColorAndDistance(arr, startIndex, count) {\r\n startIndex = (count + startIndex) % count;\r\n var distance = 0;\r\n for (var i = startIndex; i < 2 * count; i += 1) {\r\n var index = (count + i) % count;\r\n if (arr[index]) {\r\n return [arr[index], distance]\r\n }\r\n distance++\r\n }\r\n }\r\n\r\n function extendPalette(count) {\r\n if (count <= paletteCount) {\r\n return palette\r\n }\r\n var result = [];\r\n var colorInGroups = paletteCount - 2;\r\n var currentColorIndex = 0;\r\n var cleanColorIndices = [];\r\n if (parameters.keepLastColorInEnd) {\r\n cleanColorIndices = distributeColors(count - 2, colorInGroups, 1, [0, count - 1])\r\n } else {\r\n cleanColorIndices = distributeColors(count - 1, paletteCount - 1, 1, [0])\r\n }\r\n for (var i = 0; i < count; i++) {\r\n if (cleanColorIndices.indexOf(i) > -1) {\r\n result[i] = palette[currentColorIndex++]\r\n }\r\n }\r\n result = function(paletteWithEmptyColors, paletteLength) {\r\n for (var i = 0; i < paletteLength; i++) {\r\n var color = paletteWithEmptyColors[i];\r\n if (!color) {\r\n var color1 = paletteWithEmptyColors[i - 1];\r\n if (!color1) {\r\n continue\r\n } else {\r\n var c2 = getColorAndDistance(paletteWithEmptyColors, i, paletteLength);\r\n var color2 = new _Color(c2[0]);\r\n color1 = new _Color(color1);\r\n for (var j = 0; j < c2[1]; j++, i++) {\r\n paletteWithEmptyColors[i] = color1.blend(color2, (j + 1) / (c2[1] + 1)).toHex()\r\n }\r\n }\r\n }\r\n }\r\n return paletteWithEmptyColors\r\n }(result, count);\r\n return result\r\n }\r\n return {\r\n getColor: function(index, count) {\r\n count = count || parameters.count || paletteCount;\r\n if (extendedPalette.length !== count) {\r\n extendedPalette = extendPalette(count)\r\n }\r\n return extendedPalette[index % count]\r\n },\r\n generateColors: function(count, repeat) {\r\n count = count || parameters.count || paletteCount;\r\n if (repeat && count > paletteCount) {\r\n var colors = extendPalette(paletteCount);\r\n for (var i = 0; i < count - paletteCount; i++) {\r\n colors.push(colors[i])\r\n }\r\n return colors\r\n } else {\r\n return paletteCount > 0 ? extendPalette(count).slice(0, count) : []\r\n }\r\n },\r\n reset: function() {}\r\n }\r\n}\r\nexport function createPalette(palette, parameters, themeDefaultPalette) {\r\n var paletteObj = {\r\n dispose() {\r\n this._extensionStrategy = null\r\n },\r\n getNextColor(count) {\r\n return this._extensionStrategy.getColor(this._currentColor++, count)\r\n },\r\n generateColors(count, parameters) {\r\n return this._extensionStrategy.generateColors(count, (parameters || {}).repeat)\r\n },\r\n reset() {\r\n this._currentColor = 0;\r\n this._extensionStrategy.reset();\r\n return this\r\n }\r\n };\r\n parameters = parameters || {};\r\n var extensionMode = (parameters.extensionMode || \"\").toLowerCase();\r\n var colors = getPalette(palette, {\r\n type: parameters.type || \"simpleSet\",\r\n themeDefault: themeDefaultPalette\r\n });\r\n if (\"alternate\" === extensionMode) {\r\n paletteObj._extensionStrategy = getAlternateColorsStrategy(colors, parameters)\r\n } else if (\"extrapolate\" === extensionMode) {\r\n paletteObj._extensionStrategy = getExtrapolateColorsStrategy(colors, parameters)\r\n } else {\r\n paletteObj._extensionStrategy = getColorMixer(colors, parameters)\r\n }\r\n paletteObj.reset();\r\n return paletteObj\r\n}\r\n\r\nfunction getAlteredPalette(originalPalette, step) {\r\n var palette = [];\r\n var i;\r\n var ii = originalPalette.length;\r\n for (i = 0; i < ii; ++i) {\r\n palette.push(getNewColor(originalPalette[i], step))\r\n }\r\n return palette\r\n}\r\n\r\nfunction getNewColor(currentColor, step) {\r\n var newColor = new _Color(currentColor).alter(step);\r\n var lightness = getLightness(newColor);\r\n if (lightness > 200 || lightness < 55) {\r\n newColor = new _Color(currentColor).alter(-step / 2)\r\n }\r\n return newColor.toHex()\r\n}\r\n\r\nfunction getLightness(color) {\r\n return .3 * color.r + .59 * color.g + .11 * color.b\r\n}\r\nexport function getDiscretePalette(source, size, themeDefaultPalette) {\r\n var palette = size > 0 ? createDiscreteColors(getPalette(source, {\r\n type: \"gradientSet\",\r\n themeDefault: themeDefaultPalette\r\n }), size) : [];\r\n return {\r\n getColor: function(index) {\r\n return palette[index] || null\r\n }\r\n }\r\n}\r\n\r\nfunction createDiscreteColors(source, count) {\r\n var colorCount = count - 1;\r\n var sourceCount = source.length - 1;\r\n var colors = [];\r\n var gradient = [];\r\n var i;\r\n\r\n function addColor(pos) {\r\n var k = sourceCount * pos;\r\n var kl = _floor(k);\r\n var kr = _ceil(k);\r\n gradient.push(colors[kl].blend(colors[kr], k - kl).toHex())\r\n }\r\n for (i = 0; i <= sourceCount; ++i) {\r\n colors.push(new _Color(source[i]))\r\n }\r\n if (colorCount > 0) {\r\n for (i = 0; i <= colorCount; ++i) {\r\n addColor(i / colorCount)\r\n }\r\n } else {\r\n addColor(.5)\r\n }\r\n return gradient\r\n}\r\nexport function getGradientPalette(source, themeDefaultPalette) {\r\n var palette = getPalette(source, {\r\n type: \"gradientSet\",\r\n themeDefault: themeDefaultPalette\r\n });\r\n var color1 = new _Color(palette[0]);\r\n var color2 = new _Color(palette[1]);\r\n return {\r\n getColor: function(ratio) {\r\n return 0 <= ratio && ratio <= 1 ? color1.blend(color2, ratio).toHex() : null\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/core/base_theme_manager.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isString as _isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n createPalette as getPalette,\r\n getDiscretePalette,\r\n getGradientPalette,\r\n getAccentColor as accentColor\r\n} from \"../palette\";\r\nimport {\r\n parseScalar as _parseScalar\r\n} from \"./utils\";\r\nimport {\r\n getTheme,\r\n addCacheItem,\r\n removeCacheItem\r\n} from \"../themes\";\r\nvar _getTheme = getTheme;\r\nvar _addCacheItem = addCacheItem;\r\nvar _removeCacheItem = removeCacheItem;\r\nvar _extend = extend;\r\nvar _each = each;\r\n\r\nfunction getThemePart(theme, path) {\r\n var _theme = theme;\r\n path && _each(path.split(\".\"), (function(_, pathItem) {\r\n return _theme = _theme[pathItem]\r\n }));\r\n return _theme\r\n}\r\nexport var BaseThemeManager = Class.inherit({\r\n ctor: function(options) {\r\n this._themeSection = options.themeSection;\r\n this._fontFields = options.fontFields || [];\r\n _addCacheItem(this)\r\n },\r\n dispose: function() {\r\n _removeCacheItem(this);\r\n this._callback = this._theme = this._font = null;\r\n return this\r\n },\r\n setCallback: function(callback) {\r\n this._callback = callback;\r\n return this\r\n },\r\n setTheme: function(theme, rtl) {\r\n this._current = theme;\r\n this._rtl = rtl;\r\n return this.refresh()\r\n },\r\n refresh: function() {\r\n var current = this._current || {};\r\n var theme = _getTheme(current.name || current);\r\n this._themeName = theme.name;\r\n this._defaultPalette = theme.defaultPalette;\r\n this._font = _extend({}, theme.font, current.font);\r\n this._themeSection && _each(this._themeSection.split(\".\"), (function(_, path) {\r\n theme = _extend(true, {}, theme[path])\r\n }));\r\n this._theme = _extend(true, {}, theme, _isString(current) ? {} : current);\r\n this._initializeTheme();\r\n if (_parseScalar(this._rtl, this._theme.rtlEnabled)) {\r\n _extend(true, this._theme, this._theme._rtl)\r\n }\r\n this._callback();\r\n return this\r\n },\r\n theme: function(path) {\r\n return getThemePart(this._theme, path)\r\n },\r\n themeName: function() {\r\n return this._themeName\r\n },\r\n createPalette: function(palette, options) {\r\n return getPalette(palette, options, this._defaultPalette)\r\n },\r\n createDiscretePalette: function(palette, count) {\r\n return getDiscretePalette(palette, count, this._defaultPalette)\r\n },\r\n createGradientPalette: function(palette) {\r\n return getGradientPalette(palette, this._defaultPalette)\r\n },\r\n getAccentColor: function(palette) {\r\n return accentColor(palette, this._defaultPalette)\r\n },\r\n _initializeTheme: function() {\r\n var that = this;\r\n _each(that._fontFields || [], (function(_, path) {\r\n that._initializeFont(getThemePart(that._theme, path))\r\n }))\r\n },\r\n _initializeFont: function(font) {\r\n _extend(font, this._font, _extend({}, font))\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/components/chart_theme_manager.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isString as _isString,\r\n isDefined as _isDefined,\r\n isNumeric,\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n BaseThemeManager\r\n} from \"../core/base_theme_manager\";\r\nimport {\r\n normalizeEnum as _normalizeEnum,\r\n extractColor\r\n} from \"../core/utils\";\r\nexport var ThemeManager = BaseThemeManager.inherit(function() {\r\n var processAxisOptions = function(axisOptions) {\r\n if (!axisOptions) {\r\n return {}\r\n }\r\n axisOptions = extend(true, {}, axisOptions);\r\n axisOptions.title = (options = axisOptions.title, _isString(options) ? {\r\n text: options\r\n } : options);\r\n var options;\r\n if (\"logarithmic\" === axisOptions.type && axisOptions.logarithmBase <= 0 || axisOptions.logarithmBase && !isNumeric(axisOptions.logarithmBase)) {\r\n axisOptions.logarithmBase = void 0;\r\n axisOptions.logarithmBaseError = true\r\n }\r\n if (axisOptions.label) {\r\n if (axisOptions.label.alignment) {\r\n axisOptions.label.userAlignment = true\r\n }\r\n }\r\n return axisOptions\r\n };\r\n var applyParticularAxisOptions = function(name, userOptions, rotated) {\r\n var theme = this._theme;\r\n var position = !(rotated ^ \"valueAxis\" === name) ? \"horizontalAxis\" : \"verticalAxis\";\r\n var processedUserOptions = processAxisOptions(userOptions);\r\n var commonAxisSettings = processAxisOptions(this._userOptions.commonAxisSettings);\r\n var mergeOptions = extend(true, {}, theme.commonAxisSettings, theme[position], theme[name], commonAxisSettings, processedUserOptions);\r\n mergeOptions.workWeek = processedUserOptions.workWeek || theme[name].workWeek;\r\n mergeOptions.forceUserTickInterval |= _isDefined(processedUserOptions.tickInterval) && !_isDefined(processedUserOptions.axisDivisionFactor);\r\n return mergeOptions\r\n };\r\n var mergeOptions = function(name, userOptions) {\r\n userOptions = userOptions || this._userOptions[name];\r\n var theme = this._theme[name];\r\n var result = this._mergedSettings[name];\r\n if (result) {\r\n return result\r\n }\r\n if (isPlainObject(theme) && isPlainObject(userOptions)) {\r\n result = extend(true, {}, theme, userOptions)\r\n } else {\r\n result = _isDefined(userOptions) ? userOptions : theme\r\n }\r\n this._mergedSettings[name] = result;\r\n return result\r\n };\r\n var applyParticularTheme = {\r\n base: mergeOptions,\r\n argumentAxis: applyParticularAxisOptions,\r\n valueAxisRangeSelector: function() {\r\n return mergeOptions.call(this, \"valueAxis\")\r\n },\r\n valueAxis: applyParticularAxisOptions,\r\n series: function(name, userOptions, seriesCount) {\r\n var that = this;\r\n var theme = that._theme;\r\n var userCommonSettings = that._userOptions.commonSeriesSettings || {};\r\n var themeCommonSettings = theme.commonSeriesSettings;\r\n var widgetType = that._themeSection.split(\".\").slice(-1)[0];\r\n var type = _normalizeEnum(userOptions.type || userCommonSettings.type || themeCommonSettings.type || \"pie\" === widgetType && theme.type);\r\n var palette = that.palette;\r\n var isBar = ~type.indexOf(\"bar\");\r\n var isLine = ~type.indexOf(\"line\");\r\n var isArea = ~type.indexOf(\"area\");\r\n var isBubble = \"bubble\" === type;\r\n var mainSeriesColor;\r\n var resolveLabelsOverlapping = that.getOptions(\"resolveLabelsOverlapping\");\r\n var containerBackgroundColor = that.getOptions(\"containerBackgroundColor\");\r\n var seriesTemplate = applyParticularTheme.seriesTemplate.call(this);\r\n var seriesVisibility;\r\n if (isBar || isBubble) {\r\n userOptions = extend(true, {}, userCommonSettings, userCommonSettings[type], userOptions);\r\n seriesVisibility = userOptions.visible;\r\n userCommonSettings = {\r\n type: {}\r\n };\r\n extend(true, userOptions, userOptions.point);\r\n userOptions.visible = seriesVisibility\r\n }\r\n var settings = extend(true, {\r\n aggregation: {}\r\n }, themeCommonSettings, themeCommonSettings[type], userCommonSettings, userCommonSettings[type], userOptions);\r\n settings.aggregation.enabled = \"chart\" === widgetType && !!settings.aggregation.enabled;\r\n settings.type = type;\r\n settings.widgetType = widgetType;\r\n settings.containerBackgroundColor = containerBackgroundColor;\r\n if (\"pie\" !== widgetType) {\r\n mainSeriesColor = extractColor(settings.color, true) || palette.getNextColor(seriesCount)\r\n } else {\r\n mainSeriesColor = function(argument, index, count) {\r\n var cat = \"\".concat(argument, \"-\").concat(index);\r\n if (!that._multiPieColors[cat]) {\r\n that._multiPieColors[cat] = palette.getNextColor(count)\r\n }\r\n return that._multiPieColors[cat]\r\n }\r\n }\r\n settings.mainSeriesColor = mainSeriesColor;\r\n settings.resolveLabelsOverlapping = resolveLabelsOverlapping;\r\n if (settings.label && (isLine || isArea && \"rangearea\" !== type || \"scatter\" === type)) {\r\n settings.label.position = \"outside\"\r\n }\r\n if (seriesTemplate) {\r\n settings.nameField = seriesTemplate.nameField\r\n }\r\n return settings\r\n },\r\n animation: function(name) {\r\n var userOptions = this._userOptions[name];\r\n userOptions = isPlainObject(userOptions) ? userOptions : _isDefined(userOptions) ? {\r\n enabled: !!userOptions\r\n } : {};\r\n return mergeOptions.call(this, name, userOptions)\r\n },\r\n seriesTemplate() {\r\n var value = mergeOptions.call(this, \"seriesTemplate\");\r\n if (value) {\r\n value.nameField = value.nameField || \"series\"\r\n }\r\n return value\r\n },\r\n zoomAndPan() {\r\n function parseOption(option) {\r\n option = _normalizeEnum(option);\r\n var pan = \"pan\" === option || \"both\" === option;\r\n var zoom = \"zoom\" === option || \"both\" === option;\r\n return {\r\n pan: pan,\r\n zoom: zoom,\r\n none: !pan && !zoom\r\n }\r\n }\r\n var options = mergeOptions.call(this, \"zoomAndPan\");\r\n return {\r\n valueAxis: parseOption(options.valueAxis),\r\n argumentAxis: parseOption(options.argumentAxis),\r\n dragToZoom: !!options.dragToZoom,\r\n dragBoxStyle: {\r\n class: \"dxc-shutter\",\r\n fill: options.dragBoxStyle.color,\r\n opacity: options.dragBoxStyle.opacity\r\n },\r\n panKey: options.panKey,\r\n allowMouseWheel: !!options.allowMouseWheel,\r\n allowTouchGestures: !!options.allowTouchGestures\r\n }\r\n }\r\n };\r\n return {\r\n _themeSection: \"chart\",\r\n ctor: function(params) {\r\n var that = this;\r\n that.callBase.apply(that, arguments);\r\n var options = params.options || {};\r\n that._userOptions = options;\r\n that._mergeAxisTitleOptions = [];\r\n that._multiPieColors = {};\r\n that._callback = noop\r\n },\r\n dispose: function() {\r\n var that = this;\r\n that.palette && that.palette.dispose();\r\n that.palette = that._userOptions = that._mergedSettings = that._multiPieColors = null;\r\n return that.callBase.apply(that, arguments)\r\n },\r\n resetPalette: function() {\r\n this.palette.reset();\r\n this._multiPieColors = {}\r\n },\r\n getOptions: function(name) {\r\n return (applyParticularTheme[name] || applyParticularTheme.base).apply(this, arguments)\r\n },\r\n refresh: function() {\r\n this._mergedSettings = {};\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _initializeTheme: function() {\r\n var that = this;\r\n that.callBase.apply(that, arguments);\r\n that.updatePalette()\r\n },\r\n resetOptions: function(name) {\r\n this._mergedSettings[name] = null\r\n },\r\n update: function(options) {\r\n this._userOptions = options\r\n },\r\n updatePalette: function() {\r\n this.palette = this.createPalette(this.getOptions(\"palette\"), {\r\n useHighlight: true,\r\n extensionMode: this.getOptions(\"paletteExtensionMode\")\r\n })\r\n }\r\n }\r\n}());\r\n","/**\r\n * DevExtreme (esm/viz/components/data_validator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined as _isDefined,\r\n isFunction as _isFunction,\r\n isString as _isString,\r\n isDate as _isDate,\r\n isNumeric as _isNumber,\r\n isObject as _isObject\r\n} from \"../../core/utils/type\";\r\nvar STRING = \"string\";\r\nvar NUMERIC = \"numeric\";\r\nvar DATETIME = \"datetime\";\r\nvar DISCRETE = \"discrete\";\r\nvar SEMIDISCRETE = \"semidiscrete\";\r\nvar CONTINUOUS = \"continuous\";\r\nvar LOGARITHMIC = \"logarithmic\";\r\nvar VALUE_TYPE = \"valueType\";\r\nvar ARGUMENT_TYPE = \"argumentType\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n enumParser\r\n} from \"../core/utils\";\r\nvar axisTypeParser = enumParser([STRING, NUMERIC, DATETIME]);\r\nimport {\r\n getParser as _getParser\r\n} from \"./parse_utils\";\r\nvar _isArray = Array.isArray;\r\n\r\nfunction groupingValues(data, others, valueField, index) {\r\n if (index >= 0) {\r\n data.slice(index).forEach((function(cell) {\r\n if (_isDefined(cell[valueField])) {\r\n others[valueField] += cell[valueField];\r\n cell[valueField] = void 0\r\n }\r\n }))\r\n }\r\n}\r\n\r\nfunction processGroups(groups) {\r\n groups.forEach((function(group) {\r\n group.valueType = group.valueAxisType = null;\r\n group.series.forEach((function(series) {\r\n series.updateDataType({})\r\n }));\r\n group.valueAxis && group.valueAxis.resetTypes(VALUE_TYPE)\r\n }))\r\n}\r\n\r\nfunction sortValues(data, asc, selector) {\r\n var func = asc ? function(a, b) {\r\n return a - b\r\n } : function(a, b) {\r\n return b - a\r\n };\r\n data.sort((function(a, b) {\r\n var valA = selector(a);\r\n var valB = selector(b);\r\n var aa = _isDefined(valA) ? 1 : 0;\r\n var bb = _isDefined(valB) ? 1 : 0;\r\n return aa && bb ? func(valA, valB) : func(aa, bb)\r\n }));\r\n return data\r\n}\r\n\r\nfunction resetArgumentAxes(axes) {\r\n axes && axes.forEach((function(axis) {\r\n axis.resetTypes(ARGUMENT_TYPE)\r\n }))\r\n}\r\n\r\nfunction parseCategories(categories, parser) {\r\n var newArray = [];\r\n categories.forEach((function(category) {\r\n var parsedCategory = parser(category);\r\n void 0 !== parsedCategory && newArray.push(parsedCategory)\r\n }));\r\n return newArray\r\n}\r\n\r\nfunction parseAxisCategories(groupsData, parsers) {\r\n var argumentCategories = groupsData.argumentOptions && groupsData.argumentOptions.categories;\r\n groupsData.groups.forEach((function(valueGroup, i) {\r\n var categories = valueGroup.valueOptions && valueGroup.valueOptions.categories;\r\n if (categories) {\r\n valueGroup.valueOptions.categories = parseCategories(categories, parsers[i + 1])\r\n }\r\n }));\r\n if (argumentCategories) {\r\n groupsData.argumentOptions.categories = parseCategories(argumentCategories, parsers[0])\r\n }\r\n}\r\n\r\nfunction eigen(x) {\r\n return x\r\n}\r\n\r\nfunction getType(unit, type) {\r\n var result = type;\r\n if (type === STRING || _isString(unit)) {\r\n result = STRING\r\n } else if (type === DATETIME || _isDate(unit)) {\r\n result = DATETIME\r\n } else if (_isNumber(unit)) {\r\n result = NUMERIC\r\n }\r\n return result\r\n}\r\n\r\nfunction correctAxisType(type, axisType, hasCategories, incidentOccurred) {\r\n if (type === STRING && (axisType === CONTINUOUS || axisType === LOGARITHMIC || axisType === SEMIDISCRETE)) {\r\n incidentOccurred(\"E2002\")\r\n }\r\n return axisType === LOGARITHMIC ? LOGARITHMIC : hasCategories || axisType === DISCRETE || type === STRING ? DISCRETE : axisType === SEMIDISCRETE ? SEMIDISCRETE : CONTINUOUS\r\n}\r\n\r\nfunction validUnit(unit, field, incidentOccurred) {\r\n if (unit) {\r\n incidentOccurred(!_isNumber(unit) && !_isDate(unit) && !_isString(unit) ? \"E2003\" : \"E2004\", [field])\r\n }\r\n}\r\n\r\nfunction createParserUnit(type, axisType, incidentOccurred) {\r\n var parser = type ? _getParser(type) : eigen;\r\n var filterInfinity = axisType !== DISCRETE ? function(x) {\r\n return isFinite(x) || void 0 === x ? x : null\r\n } : eigen;\r\n return function(unit, field) {\r\n var parseUnit = filterInfinity(parser(unit));\r\n if (void 0 === parseUnit) {\r\n validUnit(unit, field, incidentOccurred)\r\n }\r\n return parseUnit\r\n }\r\n}\r\n\r\nfunction prepareParsers(groupsData, incidentOccurred) {\r\n var argumentParser = createParserUnit(groupsData.argumentType, groupsData.argumentAxisType, incidentOccurred);\r\n var sizeParser;\r\n var valueParser;\r\n var categoryParsers = [argumentParser];\r\n var cache = {};\r\n var list = [];\r\n groupsData.groups.forEach((function(group, groupIndex) {\r\n group.series.forEach((function(series) {\r\n valueParser = createParserUnit(group.valueType, group.valueAxisType, incidentOccurred);\r\n sizeParser = createParserUnit(NUMERIC, CONTINUOUS, incidentOccurred);\r\n cache[series.getArgumentField()] = argumentParser;\r\n series.getValueFields().forEach((function(field) {\r\n categoryParsers[groupIndex + 1] = valueParser;\r\n cache[field] = valueParser\r\n }));\r\n if (series.getSizeField()) {\r\n cache[series.getSizeField()] = sizeParser\r\n }\r\n }))\r\n }));\r\n for (var field in cache) {\r\n list.push([field, cache[field]])\r\n }\r\n list.length && parseAxisCategories(groupsData, categoryParsers);\r\n return list\r\n}\r\n\r\nfunction getParsedCell(cell, parsers) {\r\n var i;\r\n var ii = parsers.length;\r\n var obj = extend({}, cell);\r\n var field;\r\n var value;\r\n for (i = 0; i < ii; ++i) {\r\n field = parsers[i][0];\r\n value = cell[field];\r\n obj[field] = parsers[i][1](value, field)\r\n }\r\n return obj\r\n}\r\n\r\nfunction parse(data, parsers) {\r\n var parsedData = [];\r\n var i;\r\n var ii = data.length;\r\n parsedData.length = ii;\r\n for (i = 0; i < ii; ++i) {\r\n parsedData[i] = getParsedCell(data[i], parsers)\r\n }\r\n return parsedData\r\n}\r\n\r\nfunction findIndexByThreshold(data, valueField, threshold) {\r\n var i;\r\n var ii = data.length;\r\n var value;\r\n for (i = 0; i < ii; ++i) {\r\n value = data[i][valueField];\r\n if (_isDefined(value) && threshold > value) {\r\n break\r\n }\r\n }\r\n return i\r\n}\r\n\r\nfunction groupMinSlices(originalData, argumentField, valueField, smallValuesGrouping) {\r\n smallValuesGrouping = smallValuesGrouping || {};\r\n var mode = smallValuesGrouping.mode;\r\n var others = {};\r\n if (!mode || \"none\" === mode) {\r\n return\r\n }\r\n others[argumentField] = String(smallValuesGrouping.groupName || \"others\");\r\n others[valueField] = 0;\r\n var data = sortValues(originalData.slice(), false, (function(a) {\r\n return a[valueField]\r\n }));\r\n groupingValues(data, others, valueField, \"smallValueThreshold\" === mode ? findIndexByThreshold(data, valueField, smallValuesGrouping.threshold) : smallValuesGrouping.topCount);\r\n others[valueField] && originalData.push(others)\r\n}\r\n\r\nfunction groupPieData(data, groupsData) {\r\n var firstSeries = groupsData.groups[0] && groupsData.groups[0].series[0];\r\n var isPie = firstSeries && (\"pie\" === firstSeries.type || \"doughnut\" === firstSeries.type || \"donut\" === firstSeries.type);\r\n if (!isPie) {\r\n return\r\n }\r\n groupsData.groups.forEach((function(group) {\r\n group.series.forEach((function(series) {\r\n groupMinSlices(data, series.getArgumentField(), series.getValueFields()[0], series.getOptions().smallValuesGrouping)\r\n }))\r\n }))\r\n}\r\n\r\nfunction addUniqueItemToCollection(item, collection, itemsHash) {\r\n if (!itemsHash[item]) {\r\n collection.push(item);\r\n itemsHash[item] = true\r\n }\r\n}\r\n\r\nfunction getUniqueArgumentFields(groupsData) {\r\n var uniqueArgumentFields = [];\r\n var hash = {};\r\n groupsData.groups.forEach((function(group) {\r\n group.series.forEach((function(series) {\r\n addUniqueItemToCollection(series.getArgumentField(), uniqueArgumentFields, hash)\r\n }))\r\n }));\r\n return uniqueArgumentFields\r\n}\r\n\r\nfunction sort(a, b) {\r\n var result = a - b;\r\n if (isNaN(result)) {\r\n if (!_isDefined(a)) {\r\n return 1\r\n }\r\n if (!_isDefined(b)) {\r\n return -1\r\n }\r\n return 0\r\n }\r\n return result\r\n}\r\n\r\nfunction sortByArgument(data, argumentField) {\r\n return data.slice().sort((function(a, b) {\r\n return sort(a[argumentField], b[argumentField])\r\n }))\r\n}\r\n\r\nfunction sortByCallback(data, callback) {\r\n return data.slice().sort(callback)\r\n}\r\n\r\nfunction checkValueTypeOfGroup(group, cell) {\r\n group.series.forEach((function(series) {\r\n series.getValueFields().forEach((function(field) {\r\n group.valueType = getType(cell[field], group.valueType)\r\n }))\r\n }));\r\n return group.valueType\r\n}\r\n\r\nfunction getSortByCategories(categories) {\r\n var hash = {};\r\n categories.forEach((function(value, i) {\r\n hash[value] = i\r\n }));\r\n return function(data, argumentField) {\r\n return sortValues(data.slice(), true, (function(a) {\r\n return hash[a[argumentField]]\r\n }))\r\n }\r\n}\r\n\r\nfunction sortData(data, groupsData, options, uniqueArgumentFields) {\r\n var dataByArguments = {};\r\n var isDiscrete = groupsData.argumentAxisType === DISCRETE;\r\n var userCategories = isDiscrete && groupsData.argumentOptions && groupsData.argumentOptions.categories;\r\n var sortFunction = function(data) {\r\n return data\r\n };\r\n var sortingMethodOption = options.sortingMethod;\r\n var reSortCategories;\r\n if (!userCategories && _isFunction(sortingMethodOption)) {\r\n data = sortByCallback(data, sortingMethodOption)\r\n }\r\n if (isDiscrete) {\r\n groupsData.categories = getCategories(data, uniqueArgumentFields, userCategories)\r\n }\r\n if (userCategories || !_isFunction(sortingMethodOption) && groupsData.argumentType === STRING && !options._skipArgumentSorting) {\r\n sortFunction = getSortByCategories(groupsData.categories)\r\n } else if (true === sortingMethodOption && groupsData.argumentType !== STRING) {\r\n sortFunction = sortByArgument;\r\n reSortCategories = isDiscrete\r\n }\r\n uniqueArgumentFields.forEach((function(field) {\r\n dataByArguments[field] = sortFunction(data, field)\r\n }));\r\n if (reSortCategories) {\r\n groupsData.categories = groupsData.categories.sort(sort)\r\n }\r\n return dataByArguments\r\n}\r\n\r\nfunction checkItemExistence(collection, item) {\r\n return -1 === collection.map((function(collectionItem) {\r\n return collectionItem.valueOf()\r\n })).indexOf(item.valueOf())\r\n}\r\n\r\nfunction getCategories(data, uniqueArgumentFields, userCategories) {\r\n var categories = userCategories ? userCategories.slice() : [];\r\n uniqueArgumentFields.forEach((function(field) {\r\n data.forEach((function(item) {\r\n var dataItem = item[field];\r\n _isDefined(dataItem) && checkItemExistence(categories, dataItem) && categories.push(dataItem)\r\n }))\r\n }));\r\n return categories\r\n}\r\n\r\nfunction checkArgumentTypeOfGroup(series, cell, groupsData) {\r\n series.forEach((function(currentSeries) {\r\n groupsData.argumentType = getType(cell[currentSeries.getArgumentField()], groupsData.argumentType)\r\n }));\r\n return groupsData.argumentType\r\n}\r\n\r\nfunction checkType(data, groupsData, checkTypeForAllData) {\r\n var groupsWithUndefinedValueType = [];\r\n var groupsWithUndefinedArgumentType = [];\r\n var argumentTypeGroup = groupsData.argumentOptions && axisTypeParser(groupsData.argumentOptions.argumentType);\r\n var groupsIndexes;\r\n groupsData.groups.forEach((function(group) {\r\n if (!group.series.length) {\r\n return\r\n }\r\n var valueTypeGroup = group.valueOptions && axisTypeParser(group.valueOptions.valueType);\r\n group.valueType = valueTypeGroup;\r\n groupsData.argumentType = argumentTypeGroup;\r\n !valueTypeGroup && groupsWithUndefinedValueType.push(group);\r\n !argumentTypeGroup && groupsWithUndefinedArgumentType.push(group)\r\n }));\r\n if (groupsWithUndefinedValueType.length || groupsWithUndefinedArgumentType.length) {\r\n groupsIndexes = groupsWithUndefinedValueType.map((function(_, index) {\r\n return index\r\n }));\r\n data.some((function(cell) {\r\n var defineArg;\r\n groupsWithUndefinedValueType.forEach((function(group, groupIndex) {\r\n if (checkValueTypeOfGroup(group, cell) && groupsIndexes.indexOf(groupIndex) >= 0) {\r\n groupsIndexes.splice(groupIndex, 1)\r\n }\r\n }));\r\n if (!defineArg) {\r\n groupsWithUndefinedArgumentType.forEach((function(group) {\r\n defineArg = checkArgumentTypeOfGroup(group.series, cell, groupsData)\r\n }))\r\n }\r\n if (!checkTypeForAllData && defineArg && 0 === groupsIndexes.length) {\r\n return true\r\n }\r\n }))\r\n }\r\n}\r\n\r\nfunction checkAxisType(groupsData, incidentOccurred) {\r\n var argumentOptions = groupsData.argumentOptions || {};\r\n var userArgumentCategories = argumentOptions && argumentOptions.categories || [];\r\n var argumentAxisType = correctAxisType(groupsData.argumentType, argumentOptions.type, !!userArgumentCategories.length, incidentOccurred);\r\n groupsData.groups.forEach((function(group) {\r\n var valueOptions = group.valueOptions || {};\r\n var valueCategories = valueOptions.categories || [];\r\n var valueAxisType = correctAxisType(group.valueType, valueOptions.type, !!valueCategories.length, incidentOccurred);\r\n group.series.forEach((function(series) {\r\n var optionsSeries = {};\r\n optionsSeries.argumentAxisType = argumentAxisType;\r\n optionsSeries.valueAxisType = valueAxisType;\r\n groupsData.argumentAxisType = groupsData.argumentAxisType || optionsSeries.argumentAxisType;\r\n group.valueAxisType = group.valueAxisType || optionsSeries.valueAxisType;\r\n optionsSeries.argumentType = groupsData.argumentType;\r\n optionsSeries.valueType = group.valueType;\r\n optionsSeries.showZero = valueOptions.showZero;\r\n series.updateDataType(optionsSeries)\r\n }));\r\n group.valueAxisType = group.valueAxisType || valueAxisType;\r\n if (group.valueAxis) {\r\n group.valueAxis.setTypes(group.valueAxisType, group.valueType, VALUE_TYPE);\r\n group.valueAxis.validate()\r\n }\r\n }));\r\n groupsData.argumentAxisType = groupsData.argumentAxisType || argumentAxisType;\r\n if (groupsData.argumentAxes) {\r\n groupsData.argumentAxes.forEach((function(axis) {\r\n axis.setTypes(groupsData.argumentAxisType, groupsData.argumentType, ARGUMENT_TYPE);\r\n axis.validate()\r\n }))\r\n }\r\n}\r\n\r\nfunction verifyData(source, incidentOccurred) {\r\n var data = [];\r\n var sourceIsDefined = _isDefined(source);\r\n var hasError = sourceIsDefined && !_isArray(source);\r\n var i;\r\n var ii;\r\n var k;\r\n var item;\r\n if (sourceIsDefined && !hasError) {\r\n for (i = 0, ii = source.length, k = 0; i < ii; ++i) {\r\n item = source[i];\r\n if (_isObject(item)) {\r\n data[k++] = item\r\n } else if (item) {\r\n hasError = true\r\n }\r\n }\r\n }\r\n if (hasError) {\r\n incidentOccurred(\"E2001\")\r\n }\r\n return data\r\n}\r\nexport function validateData(data, groupsData, incidentOccurred, options) {\r\n data = verifyData(data, incidentOccurred);\r\n groupsData.argumentType = groupsData.argumentAxisType = null;\r\n processGroups(groupsData.groups);\r\n resetArgumentAxes(groupsData.argumentAxes);\r\n checkType(data, groupsData, options.checkTypeForAllData);\r\n checkAxisType(groupsData, incidentOccurred);\r\n if (options.convertToAxisDataType) {\r\n data = parse(data, prepareParsers(groupsData, incidentOccurred))\r\n }\r\n groupPieData(data, groupsData);\r\n var dataByArgumentFields = sortData(data, groupsData, options, getUniqueArgumentFields(groupsData));\r\n return dataByArgumentFields\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/core/title.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isString as _isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n patchFontOptions as _patchFontOptions,\r\n enumParser\r\n} from \"./utils\";\r\nimport {\r\n LayoutElement\r\n} from \"./layout_element\";\r\nvar _Number = Number;\r\nvar parseHorizontalAlignment = enumParser([\"left\", \"center\", \"right\"]);\r\nvar parseVerticalAlignment = enumParser([\"top\", \"bottom\"]);\r\nvar DEFAULT_MARGIN = 10;\r\n\r\nfunction hasText(text) {\r\n return !!(text && String(text).length > 0)\r\n}\r\n\r\nfunction processTitleLength(elem, text, width, options, placeholderSize) {\r\n if (elem.attr({\r\n text: text\r\n }).setMaxSize(width, placeholderSize, options).textChanged) {\r\n elem.setTitle(text)\r\n }\r\n}\r\n\r\nfunction pickMarginValue(value) {\r\n return value >= 0 ? _Number(value) : DEFAULT_MARGIN\r\n}\r\n\r\nfunction validateMargin(margin) {\r\n var result;\r\n if (margin >= 0) {\r\n result = {\r\n left: _Number(margin),\r\n top: _Number(margin),\r\n right: _Number(margin),\r\n bottom: _Number(margin)\r\n }\r\n } else {\r\n margin = margin || {};\r\n result = {\r\n left: pickMarginValue(margin.left),\r\n top: pickMarginValue(margin.top),\r\n right: pickMarginValue(margin.right),\r\n bottom: pickMarginValue(margin.bottom)\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction checkRect(rect, boundingRect) {\r\n return rect[2] - rect[0] < boundingRect.width || rect[3] - rect[1] < boundingRect.height\r\n}\r\nexport var Title = function(params) {\r\n this._params = params;\r\n this._group = params.renderer.g().attr({\r\n class: params.cssClass\r\n }).linkOn(params.root || params.renderer.root, \"title\");\r\n this._hasText = false\r\n};\r\nextend(Title.prototype, LayoutElement.prototype, {\r\n dispose: function() {\r\n this._group.linkRemove();\r\n this._group.linkOff();\r\n if (this._titleElement) {\r\n this._clipRect.dispose();\r\n this._titleElement = this._subtitleElement = this._clipRect = null\r\n }\r\n this._params = this._group = this._options = null\r\n },\r\n _updateOptions: function(options) {\r\n this._options = options;\r\n this._options.horizontalAlignment = parseHorizontalAlignment(options.horizontalAlignment, \"center\");\r\n this._options.verticalAlignment = parseVerticalAlignment(options.verticalAlignment, \"top\");\r\n this._options.margin = validateMargin(options.margin)\r\n },\r\n _updateStructure: function() {\r\n var renderer = this._params.renderer;\r\n var group = this._group;\r\n var options = this._options;\r\n var align = options.horizontalAlignment;\r\n if (!this._titleElement) {\r\n this._titleElement = renderer.text().append(group);\r\n this._subtitleElement = renderer.text();\r\n this._clipRect = renderer.clipRect();\r\n group.attr({\r\n \"clip-path\": this._clipRect.id\r\n })\r\n }\r\n this._titleElement.attr({\r\n align: align,\r\n class: options.cssClass\r\n });\r\n this._subtitleElement.attr({\r\n align: align,\r\n class: options.subtitle.cssClass\r\n });\r\n group.linkAppend();\r\n hasText(options.subtitle.text) ? this._subtitleElement.append(group) : this._subtitleElement.remove()\r\n },\r\n _updateTexts: function() {\r\n var options = this._options;\r\n var subtitleOptions = options.subtitle;\r\n var titleElement = this._titleElement;\r\n var subtitleElement = this._subtitleElement;\r\n var titleBox;\r\n titleElement.attr({\r\n text: \"A\",\r\n y: 0\r\n }).css(_patchFontOptions(options.font));\r\n titleBox = titleElement.getBBox();\r\n this._baseLineCorrection = titleBox.height + titleBox.y;\r\n titleElement.attr({\r\n text: options.text\r\n });\r\n titleBox = titleElement.getBBox();\r\n var y = -titleBox.y;\r\n titleElement.attr({\r\n y: y\r\n });\r\n if (hasText(subtitleOptions.text)) {\r\n subtitleElement.attr({\r\n text: subtitleOptions.text,\r\n y: 0\r\n }).css(_patchFontOptions(subtitleOptions.font))\r\n }\r\n },\r\n _shiftSubtitle() {\r\n var titleBox = this._titleElement.getBBox();\r\n var element = this._subtitleElement;\r\n var offset = this._options.subtitle.offset;\r\n element.move(0, titleBox.y + titleBox.height - element.getBBox().y - offset)\r\n },\r\n _updateBoundingRectAlignment: function() {\r\n var boundingRect = this._boundingRect;\r\n var options = this._options;\r\n boundingRect.verticalAlignment = options.verticalAlignment;\r\n boundingRect.horizontalAlignment = options.horizontalAlignment;\r\n boundingRect.cutLayoutSide = options.verticalAlignment;\r\n boundingRect.cutSide = \"vertical\";\r\n boundingRect.position = {\r\n horizontal: options.horizontalAlignment,\r\n vertical: options.verticalAlignment\r\n }\r\n },\r\n hasText: function() {\r\n return this._hasText\r\n },\r\n update: function(themeOptions, userOptions) {\r\n var options = extend(true, {}, themeOptions, processTitleOptions(userOptions));\r\n var _hasText = hasText(options.text);\r\n var isLayoutChanged = _hasText || _hasText !== this._hasText;\r\n this._baseLineCorrection = 0;\r\n this._updateOptions(options);\r\n this._boundingRect = {};\r\n if (_hasText) {\r\n this._updateStructure();\r\n this._updateTexts()\r\n } else {\r\n this._group.linkRemove()\r\n }\r\n this._updateBoundingRect();\r\n this._updateBoundingRectAlignment();\r\n this._hasText = _hasText;\r\n return isLayoutChanged\r\n },\r\n draw: function(width, height) {\r\n if (this._hasText) {\r\n this._group.linkAppend();\r\n this._correctTitleLength(width);\r\n if (this._group.getBBox().height > height) {\r\n this.freeSpace()\r\n }\r\n }\r\n return this\r\n },\r\n _correctTitleLength: function(width) {\r\n var options = this._options;\r\n var margin = options.margin;\r\n var maxWidth = width - margin.left - margin.right;\r\n var placeholderSize = options.placeholderSize;\r\n processTitleLength(this._titleElement, options.text, maxWidth, options, placeholderSize);\r\n if (this._subtitleElement) {\r\n if (_Number(placeholderSize) > 0) {\r\n placeholderSize -= this._titleElement.getBBox().height\r\n }\r\n processTitleLength(this._subtitleElement, options.subtitle.text, maxWidth, options.subtitle, placeholderSize);\r\n this._shiftSubtitle()\r\n }\r\n this._updateBoundingRect();\r\n var {\r\n x: x,\r\n y: y,\r\n height: height\r\n } = this.getCorrectedLayoutOptions();\r\n this._clipRect.attr({\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n })\r\n },\r\n getLayoutOptions: function() {\r\n return this._boundingRect || null\r\n },\r\n shift: function(x, y) {\r\n var box = this.getLayoutOptions();\r\n this._group.move(x - box.x, y - box.y);\r\n return this\r\n },\r\n _updateBoundingRect: function() {\r\n var options = this._options;\r\n var margin = options.margin;\r\n var boundingRect = this._boundingRect;\r\n var box = this._hasText ? this._group.getBBox() : {\r\n width: 0,\r\n height: 0,\r\n x: 0,\r\n y: 0,\r\n isEmpty: true\r\n };\r\n if (!box.isEmpty) {\r\n box.height += margin.top + margin.bottom - this._baseLineCorrection;\r\n box.width += margin.left + margin.right;\r\n box.x -= margin.left;\r\n box.y += this._baseLineCorrection - margin.top\r\n }\r\n if (options.placeholderSize > 0) {\r\n box.height = options.placeholderSize\r\n }\r\n boundingRect.height = box.height;\r\n boundingRect.width = box.width;\r\n boundingRect.x = box.x;\r\n boundingRect.y = box.y\r\n },\r\n getCorrectedLayoutOptions() {\r\n var srcBox = this.getLayoutOptions();\r\n var correction = this._baseLineCorrection;\r\n return extend({}, srcBox, {\r\n y: srcBox.y - correction,\r\n height: srcBox.height + correction\r\n })\r\n },\r\n layoutOptions: function() {\r\n if (!this._hasText) {\r\n return null\r\n }\r\n return {\r\n horizontalAlignment: this._boundingRect.horizontalAlignment,\r\n verticalAlignment: this._boundingRect.verticalAlignment,\r\n priority: 0\r\n }\r\n },\r\n measure: function(size) {\r\n this.draw(size[0], size[1]);\r\n return [this._boundingRect.width, this._boundingRect.height]\r\n },\r\n move: function(rect, fitRect) {\r\n var boundingRect = this._boundingRect;\r\n if (checkRect(rect, boundingRect)) {\r\n this.shift(fitRect[0], fitRect[1])\r\n } else {\r\n this.shift(Math.round(rect[0]), Math.round(rect[1]))\r\n }\r\n },\r\n freeSpace: function() {\r\n this._params.incidentOccurred(\"W2103\");\r\n this._group.linkRemove();\r\n this._boundingRect.width = this._boundingRect.height = 0\r\n },\r\n getOptions: function() {\r\n return this._options\r\n },\r\n changeLink: function(root) {\r\n this._group.linkRemove();\r\n this._group.linkOn(root, \"title\")\r\n }\r\n});\r\n\r\nfunction processTitleOptions(options) {\r\n var newOptions = _isString(options) ? {\r\n text: options\r\n } : options || {};\r\n newOptions.subtitle = _isString(newOptions.subtitle) ? {\r\n text: newOptions.subtitle\r\n } : newOptions.subtitle || {};\r\n return newOptions\r\n}\r\nexport var plugin = {\r\n name: \"title\",\r\n init: function() {\r\n this._title = new Title({\r\n renderer: this._renderer,\r\n cssClass: this._rootClassPrefix + \"-title\",\r\n incidentOccurred: this._incidentOccurred\r\n });\r\n this._layout.add(this._title)\r\n },\r\n dispose: function() {\r\n this._title.dispose();\r\n this._title = null\r\n },\r\n customize: function(constructor) {\r\n constructor.addChange({\r\n code: \"TITLE\",\r\n handler: function() {\r\n if (this._title.update(this._themeManager.theme(\"title\"), this.option(\"title\"))) {\r\n this._change([\"LAYOUT\"])\r\n }\r\n },\r\n isThemeDependent: true,\r\n option: \"title\",\r\n isOptionChange: true\r\n })\r\n },\r\n fontFields: [\"title.font\", \"title.subtitle.font\"]\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/components/legend.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n enumParser,\r\n normalizeEnum,\r\n patchFontOptions\r\n} from \"../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n LayoutElement,\r\n WrapperLayoutElement\r\n} from \"../core/layout_element\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Title\r\n} from \"../core/title\";\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n processHatchingAttrs,\r\n getFuncIri\r\n} from \"../core/renderers/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar _Number = Number;\r\nvar _math = Math;\r\nvar _round = _math.round;\r\nvar _max = _math.max;\r\nvar _min = _math.min;\r\nvar _ceil = _math.ceil;\r\nvar _isDefined = isDefined;\r\nvar _isFunction = isFunction;\r\nvar _enumParser = enumParser;\r\nvar _normalizeEnum = normalizeEnum;\r\nvar _extend = extend;\r\nvar DEFAULT_MARGIN = 10;\r\nvar DEFAULT_MARKER_HATCHING_WIDTH = 2;\r\nvar DEFAULT_MARKER_HATCHING_STEP = 5;\r\nvar CENTER = \"center\";\r\nvar RIGHT = \"right\";\r\nvar LEFT = \"left\";\r\nvar TOP = \"top\";\r\nvar BOTTOM = \"bottom\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar VERTICAL = \"vertical\";\r\nvar INSIDE = \"inside\";\r\nvar OUTSIDE = \"outside\";\r\nvar NONE = \"none\";\r\nvar HEIGHT = \"height\";\r\nvar WIDTH = \"width\";\r\nvar parseHorizontalAlignment = _enumParser([LEFT, CENTER, RIGHT]);\r\nvar parseVerticalAlignment = _enumParser([TOP, BOTTOM]);\r\nvar parseOrientation = _enumParser([VERTICAL, HORIZONTAL]);\r\nvar parseItemTextPosition = _enumParser([LEFT, RIGHT, TOP, BOTTOM]);\r\nvar parsePosition = _enumParser([OUTSIDE, INSIDE]);\r\nvar parseItemsAlignment = _enumParser([LEFT, CENTER, RIGHT]);\r\n\r\nfunction getState(state, color, stateName) {\r\n if (!state) {\r\n return\r\n }\r\n var colorFromAction = state.fill;\r\n return extend({}, {\r\n state: stateName,\r\n fill: colorFromAction === NONE ? color : colorFromAction,\r\n opacity: state.opacity,\r\n filter: state.filter,\r\n hatching: _extend({}, state.hatching, {\r\n step: DEFAULT_MARKER_HATCHING_STEP,\r\n width: DEFAULT_MARKER_HATCHING_WIDTH\r\n })\r\n })\r\n}\r\n\r\nfunction getAttributes(item, state, size) {\r\n var attrs = processHatchingAttrs(item, state);\r\n if (attrs.fill && 0 === attrs.fill.indexOf(\"DevExpress\")) {\r\n attrs.fill = getFuncIri(attrs.fill)\r\n }\r\n attrs.opacity = attrs.opacity >= 0 ? attrs.opacity : 1;\r\n return extend({}, attrs, {\r\n size: size\r\n })\r\n}\r\n\r\nfunction parseMargins(options) {\r\n var margin = options.margin;\r\n if (margin >= 0) {\r\n margin = _Number(options.margin);\r\n margin = {\r\n top: margin,\r\n bottom: margin,\r\n left: margin,\r\n right: margin\r\n }\r\n } else {\r\n margin = {\r\n top: margin.top >= 0 ? _Number(margin.top) : DEFAULT_MARGIN,\r\n bottom: margin.bottom >= 0 ? _Number(margin.bottom) : DEFAULT_MARGIN,\r\n left: margin.left >= 0 ? _Number(margin.left) : DEFAULT_MARGIN,\r\n right: margin.right >= 0 ? _Number(margin.right) : DEFAULT_MARGIN\r\n }\r\n }\r\n options.margin = margin\r\n}\r\n\r\nfunction getSizeItem(options, markerBBox, labelBBox) {\r\n var width;\r\n var height;\r\n switch (options.itemTextPosition) {\r\n case LEFT:\r\n case RIGHT:\r\n width = markerBBox.width + 7 + labelBBox.width;\r\n height = _max(markerBBox.height, labelBBox.height);\r\n break;\r\n case TOP:\r\n case BOTTOM:\r\n width = _max(markerBBox.width, labelBBox.width);\r\n height = markerBBox.height + 4 + labelBBox.height\r\n }\r\n return {\r\n width: width,\r\n height: height\r\n }\r\n}\r\n\r\nfunction calculateBBoxLabelAndMarker(markerBBox, labelBBox) {\r\n var bBox = {};\r\n bBox.left = _min(markerBBox.x, labelBBox.x);\r\n bBox.top = _min(markerBBox.y, labelBBox.y);\r\n bBox.right = _max(markerBBox.x + markerBBox.width, labelBBox.x + labelBBox.width);\r\n bBox.bottom = _max(markerBBox.y + markerBBox.height, labelBBox.y + labelBBox.height);\r\n return bBox\r\n}\r\n\r\nfunction applyMarkerState(id, idToIndexMap, items, stateName) {\r\n var item = idToIndexMap && items[idToIndexMap[id]];\r\n if (item) {\r\n item.renderMarker(item.states[stateName])\r\n }\r\n}\r\n\r\nfunction parseOptions(options, textField, allowInsidePosition) {\r\n if (!options) {\r\n return null\r\n }\r\n parseMargins(options);\r\n options.horizontalAlignment = parseHorizontalAlignment(options.horizontalAlignment, RIGHT);\r\n options.verticalAlignment = parseVerticalAlignment(options.verticalAlignment, options.horizontalAlignment === CENTER ? BOTTOM : TOP);\r\n options.orientation = parseOrientation(options.orientation, options.horizontalAlignment === CENTER ? HORIZONTAL : VERTICAL);\r\n options.itemTextPosition = parseItemTextPosition(options.itemTextPosition, options.orientation === HORIZONTAL ? BOTTOM : RIGHT);\r\n options.position = allowInsidePosition ? parsePosition(options.position, OUTSIDE) : OUTSIDE;\r\n options.itemsAlignment = parseItemsAlignment(options.itemsAlignment, null);\r\n options.hoverMode = _normalizeEnum(options.hoverMode);\r\n options.customizeText = _isFunction(options.customizeText) ? options.customizeText : function() {\r\n return this[textField]\r\n };\r\n options.customizeHint = _isFunction(options.customizeHint) ? options.customizeHint : noop;\r\n options._incidentOccurred = options._incidentOccurred || noop;\r\n return options\r\n}\r\n\r\nfunction createSquareMarker(renderer, size) {\r\n return renderer.rect(0, 0, size, size)\r\n}\r\n\r\nfunction createCircleMarker(renderer, size) {\r\n return renderer.circle(size / 2, size / 2, size / 2)\r\n}\r\n\r\nfunction isCircle(type) {\r\n return \"circle\" === _normalizeEnum(type)\r\n}\r\n\r\nfunction inRect(rect, x, y) {\r\n return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom\r\n}\r\n\r\nfunction checkLinesSize(lines, layoutOptions, countItems, margins) {\r\n var position = {\r\n x: 0,\r\n y: 0\r\n };\r\n var maxMeasureLength = 0;\r\n var maxAltMeasureLength = 0;\r\n var margin = 0;\r\n if (\"y\" === layoutOptions.direction) {\r\n margin = margins.top + margins.bottom\r\n } else {\r\n margin = margins.left + margins.right\r\n }\r\n lines.forEach((function(line, i) {\r\n var firstItem = line[0];\r\n var lineLength = line.length;\r\n line.forEach((function(item, index) {\r\n var offset = item.offset || layoutOptions.spacing;\r\n position[layoutOptions.direction] += item[layoutOptions.measure] + (index !== lineLength - 1 ? offset : 0);\r\n maxMeasureLength = _max(maxMeasureLength, position[layoutOptions.direction])\r\n }));\r\n position[layoutOptions.direction] = 0;\r\n position[layoutOptions.altDirection] += firstItem[layoutOptions.altMeasure] + firstItem.altOffset || layoutOptions.altSpacing;\r\n maxAltMeasureLength = _max(maxAltMeasureLength, position[layoutOptions.altDirection])\r\n }));\r\n if (maxMeasureLength + margin > layoutOptions.length) {\r\n layoutOptions.countItem = decreaseItemCount(layoutOptions, countItems);\r\n return true\r\n }\r\n}\r\n\r\nfunction decreaseItemCount(layoutOptions, countItems) {\r\n layoutOptions.altCountItem++;\r\n return _ceil(countItems / layoutOptions.altCountItem)\r\n}\r\n\r\nfunction getLineLength(line, layoutOptions) {\r\n return line.reduce((lineLength, item) => {\r\n var offset = item.offset || layoutOptions.spacing;\r\n return lineLength + item[layoutOptions.measure] + offset\r\n }, 0)\r\n}\r\n\r\nfunction getMaxLineLength(lines, layoutOptions) {\r\n return lines.reduce((maxLineLength, line) => _max(maxLineLength, getLineLength(line, layoutOptions)), 0)\r\n}\r\n\r\nfunction getInitPositionForDirection(line, layoutOptions, maxLineLength) {\r\n var lineLength = getLineLength(line, layoutOptions);\r\n var initPosition;\r\n switch (layoutOptions.itemsAlignment) {\r\n case RIGHT:\r\n initPosition = maxLineLength - lineLength;\r\n break;\r\n case CENTER:\r\n initPosition = (maxLineLength - lineLength) / 2;\r\n break;\r\n default:\r\n initPosition = 0\r\n }\r\n return initPosition\r\n}\r\n\r\nfunction getPos(layoutOptions) {\r\n switch (layoutOptions.itemTextPosition) {\r\n case BOTTOM:\r\n return {\r\n horizontal: CENTER, vertical: TOP\r\n };\r\n case TOP:\r\n return {\r\n horizontal: CENTER, vertical: BOTTOM\r\n };\r\n case LEFT:\r\n return {\r\n horizontal: RIGHT, vertical: CENTER\r\n };\r\n case RIGHT:\r\n return {\r\n horizontal: LEFT, vertical: CENTER\r\n }\r\n }\r\n}\r\n\r\nfunction getLines(lines, layoutOptions, itemIndex) {\r\n var tableLine = {};\r\n if (itemIndex % layoutOptions.countItem === 0) {\r\n if (layoutOptions.markerOffset) {\r\n lines.push([], [])\r\n } else {\r\n lines.push([])\r\n }\r\n }\r\n if (layoutOptions.markerOffset) {\r\n tableLine.firstLine = lines[lines.length - 1];\r\n tableLine.secondLine = lines[lines.length - 2]\r\n } else {\r\n tableLine.firstLine = tableLine.secondLine = lines[lines.length - 1]\r\n }\r\n return tableLine\r\n}\r\n\r\nfunction setMaxInLine(line, measure) {\r\n var maxLineSize = line.reduce((maxLineSize, item) => {\r\n var itemMeasure = item ? item[measure] : maxLineSize;\r\n return _max(maxLineSize, itemMeasure)\r\n }, 0);\r\n line.forEach(item => {\r\n if (item) {\r\n item[measure] = maxLineSize\r\n }\r\n })\r\n}\r\n\r\nfunction transpose(array) {\r\n var width = array.length;\r\n var height = array[0].length;\r\n var i;\r\n var j;\r\n var transposeArray = [];\r\n for (i = 0; i < height; i++) {\r\n transposeArray[i] = [];\r\n for (j = 0; j < width; j++) {\r\n transposeArray[i][j] = array[j][i]\r\n }\r\n }\r\n return transposeArray\r\n}\r\n\r\nfunction getAlign(position) {\r\n switch (position) {\r\n case TOP:\r\n case BOTTOM:\r\n return CENTER;\r\n case LEFT:\r\n return RIGHT;\r\n case RIGHT:\r\n return LEFT\r\n }\r\n}\r\nvar getMarkerCreator = function(type) {\r\n return isCircle(type) ? createCircleMarker : createSquareMarker\r\n};\r\n\r\nfunction getTitleHorizontalAlignment(options) {\r\n if (options.horizontalAlignment === CENTER) {\r\n return CENTER\r\n } else if (options.itemTextPosition === RIGHT) {\r\n return LEFT\r\n } else if (options.itemTextPosition === LEFT) {\r\n return RIGHT\r\n } else {\r\n return CENTER\r\n }\r\n}\r\nexport var Legend = function(settings) {\r\n this._renderer = settings.renderer;\r\n this._legendGroup = settings.group;\r\n this._backgroundClass = settings.backgroundClass;\r\n this._itemGroupClass = settings.itemGroupClass;\r\n this._textField = settings.textField;\r\n this._getCustomizeObject = settings.getFormatObject;\r\n this._titleGroupClass = settings.titleGroupClass;\r\n this._allowInsidePosition = settings.allowInsidePosition;\r\n this._widget = settings.widget;\r\n this._updated = false\r\n};\r\nvar _Legend = Legend;\r\nvar legendPrototype = _Legend.prototype = clone(LayoutElement.prototype);\r\nextend(legendPrototype, {\r\n constructor: _Legend,\r\n getOptions: function() {\r\n return this._options\r\n },\r\n update: function() {\r\n var data = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n var options = arguments.length > 1 ? arguments[1] : void 0;\r\n var themeManagerTitleOptions = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var that = this;\r\n options = that._options = parseOptions(options, that._textField, that._allowInsidePosition) || {};\r\n var initMarkerSize = options.markerSize;\r\n this._updated = true;\r\n this._data = data.map(dataItem => {\r\n dataItem.size = _Number(dataItem.size > 0 ? dataItem.size : initMarkerSize);\r\n dataItem.marker = getAttributes(dataItem, dataItem.states.normal);\r\n Object.defineProperty(dataItem.marker, \"size\", {\r\n get: () => dataItem.size,\r\n set(value) {\r\n dataItem.size = value\r\n }\r\n });\r\n Object.defineProperty(dataItem.marker, \"opacity\", {\r\n get: () => dataItem.states.normal.opacity,\r\n set(value) {\r\n dataItem.states.normal.opacity = dataItem.states.hover.opacity = dataItem.states.selection.opacity = value\r\n }\r\n });\r\n return dataItem\r\n });\r\n if (options.customizeItems) {\r\n that._data = options.customizeItems(data.slice()) || data\r\n }\r\n that._boundingRect = {\r\n width: 0,\r\n height: 0,\r\n x: 0,\r\n y: 0\r\n };\r\n if (that.isVisible()) {\r\n var _that$_title;\r\n null === (_that$_title = that._title) || void 0 === _that$_title ? void 0 : _that$_title.dispose();\r\n that._title = new Title({\r\n renderer: that._renderer,\r\n cssClass: that._titleGroupClass,\r\n root: that._legendGroup\r\n })\r\n }\r\n if (that._title) {\r\n var titleOptions = options.title;\r\n themeManagerTitleOptions.horizontalAlignment = getTitleHorizontalAlignment(options);\r\n that._title.update(themeManagerTitleOptions, titleOptions)\r\n }\r\n this.erase();\r\n return that\r\n },\r\n isVisible: function() {\r\n return this._options && this._options.visible\r\n },\r\n draw: function(width, height) {\r\n var items = this._getItemData();\r\n this.erase();\r\n if (!(this.isVisible() && items && items.length)) {\r\n return this\r\n }\r\n this._insideLegendGroup = this._renderer.g().enableLinks().append(this._legendGroup);\r\n this._title.changeLink(this._insideLegendGroup);\r\n this._createBackground();\r\n if (this._title.hasText()) {\r\n var horizontalPadding = this._background ? 2 * this._options.paddingLeftRight : 0;\r\n this._title.draw(width - horizontalPadding, height)\r\n }\r\n this._markersGroup = this._renderer.g().attr({\r\n class: this._itemGroupClass\r\n }).append(this._insideLegendGroup);\r\n this._createItems(items);\r\n this._updateElementsPosition(width, height);\r\n return this\r\n },\r\n _measureElements: function() {\r\n var options = this._options;\r\n var maxBBoxHeight = 0;\r\n this._items.forEach(item => {\r\n var labelBBox = item.label.getBBox();\r\n var markerBBox = item.marker.getBBox();\r\n item.markerBBox = markerBBox;\r\n item.markerSize = Math.max(markerBBox.width, markerBBox.height);\r\n var bBox = getSizeItem(options, markerBBox, labelBBox);\r\n item.labelBBox = labelBBox;\r\n item.bBox = bBox;\r\n maxBBoxHeight = _max(maxBBoxHeight, bBox.height)\r\n });\r\n if (options.equalRowHeight) {\r\n this._items.forEach(item => item.bBox.height = maxBBoxHeight)\r\n }\r\n },\r\n _updateElementsPosition: function(width, height) {\r\n var options = this._options;\r\n this._size = {\r\n width: width,\r\n height: height\r\n };\r\n this._measureElements();\r\n this._locateElements(options);\r\n this._finalUpdate(options);\r\n var size = this.getLayoutOptions();\r\n if (size.width > width || size.height > height) {\r\n this.freeSpace()\r\n }\r\n },\r\n _createItems: function(items) {\r\n var that = this;\r\n var options = that._options;\r\n var renderer = that._renderer;\r\n var createMarker = getMarkerCreator(options.markerShape);\r\n that._markersId = {};\r\n var templateFunction = !options.markerTemplate ? (dataItem, group) => {\r\n var attrs = dataItem.marker;\r\n createMarker(renderer, attrs.size).attr({\r\n fill: attrs.fill,\r\n opacity: attrs.opacity,\r\n filter: attrs.filter\r\n }).append({\r\n element: group\r\n })\r\n } : options.markerTemplate;\r\n var template = that._widget._getTemplate(templateFunction);\r\n var markersGroup = that._markersGroup;\r\n markersGroup.css(patchFontOptions(options.font));\r\n that._deferredItems = [];\r\n that._templatesGroups = [];\r\n that._items = (items || []).map((dataItem, i) => {\r\n var stateOfDataItem = dataItem.states;\r\n var normalState = stateOfDataItem.normal;\r\n var normalStateFill = normalState.fill;\r\n dataItem.size = dataItem.marker.size;\r\n var states = {\r\n normal: extend(normalState, {\r\n fill: normalStateFill || options.markerColor || options.defaultColor,\r\n state: \"normal\"\r\n }),\r\n hover: getState(stateOfDataItem.hover, normalStateFill, \"hovered\"),\r\n selection: getState(stateOfDataItem.selection, normalStateFill, \"selected\")\r\n };\r\n dataItem.states = states;\r\n var itemGroup = renderer.g().append(markersGroup);\r\n var markerGroup = renderer.g().attr({\r\n class: \"dxl-marker\"\r\n }).append(itemGroup);\r\n that._deferredItems[i] = new Deferred;\r\n that._templatesGroups.push(markerGroup);\r\n var item = {\r\n label: that._createLabel(dataItem, itemGroup),\r\n marker: markerGroup,\r\n renderer: renderer,\r\n group: itemGroup,\r\n tracker: {\r\n id: dataItem.id,\r\n argument: dataItem.argument,\r\n argumentIndex: dataItem.argumentIndex\r\n },\r\n states: states,\r\n itemTextPosition: options.itemTextPosition,\r\n markerOffset: 0,\r\n bBoxes: [],\r\n renderMarker(state) {\r\n dataItem.marker = getAttributes(item, state, dataItem.size);\r\n markerGroup.clear();\r\n template.render({\r\n model: dataItem,\r\n container: markerGroup.element,\r\n onRendered: that._deferredItems[i].resolve\r\n })\r\n }\r\n };\r\n item.renderMarker(states.normal);\r\n that._createHint(dataItem, itemGroup);\r\n if (void 0 !== dataItem.id) {\r\n that._markersId[dataItem.id] = i\r\n }\r\n return item\r\n })\r\n },\r\n getTemplatesGroups: function() {\r\n return this._templatesGroups || []\r\n },\r\n getTemplatesDef: function() {\r\n return this._deferredItems || []\r\n },\r\n _getItemData: function() {\r\n var items = this._data || [];\r\n var options = this._options || {};\r\n if (options.inverted) {\r\n items = items.slice().reverse()\r\n }\r\n return items.filter(i => i.visible)\r\n },\r\n _finalUpdate: function(options) {\r\n this._adjustBackgroundSettings(options);\r\n this._setBoundingRect(options.margin)\r\n },\r\n erase: function() {\r\n var insideLegendGroup = this._insideLegendGroup;\r\n insideLegendGroup && insideLegendGroup.dispose();\r\n this._insideLegendGroup = this._markersGroup = this._x1 = this._x2 = this._y2 = this._y2 = null;\r\n return this\r\n },\r\n _locateElements: function(locationOptions) {\r\n this._moveInInitialValues();\r\n this._locateRowsColumns(locationOptions)\r\n },\r\n _moveInInitialValues: function() {\r\n this._title.hasText() && this._title.move([0, 0]);\r\n this._legendGroup && this._legendGroup.move(0, 0);\r\n this._background && this._background.attr({\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n })\r\n },\r\n applySelected: function(id) {\r\n applyMarkerState(id, this._markersId, this._items, \"selection\");\r\n return this\r\n },\r\n applyHover: function(id) {\r\n applyMarkerState(id, this._markersId, this._items, \"hover\");\r\n return this\r\n },\r\n resetItem: function(id) {\r\n applyMarkerState(id, this._markersId, this._items, \"normal\");\r\n return this\r\n },\r\n _createLabel: function(data, group) {\r\n var labelFormatObject = this._getCustomizeObject(data);\r\n var options = this._options;\r\n var align = getAlign(options.itemTextPosition);\r\n var text = options.customizeText.call(labelFormatObject, labelFormatObject);\r\n var fontStyle = _isDefined(data.textOpacity) ? {\r\n color: options.font.color,\r\n opacity: data.textOpacity\r\n } : {};\r\n return this._renderer.text(text, 0, 0).css(patchFontOptions(fontStyle)).attr({\r\n align: align,\r\n class: options.cssClass\r\n }).append(group)\r\n },\r\n _createHint: function(data, group) {\r\n var labelFormatObject = this._getCustomizeObject(data);\r\n var text = this._options.customizeHint.call(labelFormatObject, labelFormatObject);\r\n if (_isDefined(text) && \"\" !== text) {\r\n group.setTitle(text)\r\n }\r\n },\r\n _createBackground: function() {\r\n var isInside = this._options.position === INSIDE;\r\n var color = this._options.backgroundColor;\r\n var fill = color || (isInside ? this._options.containerBackgroundColor : NONE);\r\n if (this._options.border.visible || (isInside || color) && color !== NONE) {\r\n this._background = this._renderer.rect(0, 0, 0, 0).attr({\r\n fill: fill,\r\n class: this._backgroundClass\r\n }).append(this._insideLegendGroup)\r\n }\r\n },\r\n _locateRowsColumns: function(options) {\r\n var iteration = 0;\r\n var layoutOptions = this._getItemsLayoutOptions();\r\n var countItems = this._items.length;\r\n var lines;\r\n do {\r\n lines = [];\r\n this._createLines(lines, layoutOptions);\r\n this._alignLines(lines, layoutOptions);\r\n iteration++\r\n } while (checkLinesSize(lines, layoutOptions, countItems, options.margin) && iteration < countItems);\r\n this._applyItemPosition(lines, layoutOptions)\r\n },\r\n _createLines: function(lines, layoutOptions) {\r\n this._items.forEach((item, i) => {\r\n var tableLine = getLines(lines, layoutOptions, i);\r\n var labelBox = {\r\n width: item.labelBBox.width,\r\n height: item.labelBBox.height,\r\n element: item.label,\r\n bBox: item.labelBBox,\r\n pos: getPos(layoutOptions),\r\n itemIndex: i\r\n };\r\n var markerBox = {\r\n width: item.markerBBox.width,\r\n height: item.markerBBox.height,\r\n element: item.marker,\r\n pos: {\r\n horizontal: CENTER,\r\n vertical: CENTER\r\n },\r\n bBox: {\r\n width: item.markerBBox.width,\r\n height: item.markerBBox.height,\r\n x: item.markerBBox.x,\r\n y: item.markerBBox.y\r\n },\r\n itemIndex: i\r\n };\r\n var firstItem;\r\n var secondItem;\r\n var offsetDirection = layoutOptions.markerOffset ? \"altOffset\" : \"offset\";\r\n if (layoutOptions.inverseLabelPosition) {\r\n firstItem = labelBox;\r\n secondItem = markerBox\r\n } else {\r\n firstItem = markerBox;\r\n secondItem = labelBox\r\n }\r\n firstItem[offsetDirection] = layoutOptions.labelOffset;\r\n tableLine.secondLine.push(firstItem);\r\n tableLine.firstLine.push(secondItem)\r\n })\r\n },\r\n _alignLines: function(lines, layoutOptions) {\r\n var i;\r\n var measure = layoutOptions.altMeasure;\r\n lines.forEach(line => setMaxInLine(line, measure));\r\n measure = layoutOptions.measure;\r\n if (layoutOptions.itemsAlignment) {\r\n if (layoutOptions.markerOffset) {\r\n for (i = 0; i < lines.length;) {\r\n transpose([lines[i++], lines[i++]]).forEach(processLine)\r\n }\r\n }\r\n } else {\r\n transpose(lines).forEach(processLine)\r\n }\r\n\r\n function processLine(line) {\r\n setMaxInLine(line, measure)\r\n }\r\n },\r\n _applyItemPosition: function(lines, layoutOptions) {\r\n var that = this;\r\n var position = {\r\n x: 0,\r\n y: 0\r\n };\r\n var maxLineLength = getMaxLineLength(lines, layoutOptions);\r\n lines.forEach(line => {\r\n var firstItem = line[0];\r\n var altOffset = firstItem.altOffset || layoutOptions.altSpacing;\r\n position[layoutOptions.direction] = getInitPositionForDirection(line, layoutOptions, maxLineLength);\r\n line.forEach(item => {\r\n var offset = item.offset || layoutOptions.spacing;\r\n var wrap = new WrapperLayoutElement(item.element, item.bBox);\r\n var itemBBoxOptions = {\r\n x: position.x,\r\n y: position.y,\r\n width: item.width,\r\n height: item.height\r\n };\r\n var itemBBox = new WrapperLayoutElement(null, itemBBoxOptions);\r\n var itemLegend = that._items[item.itemIndex];\r\n wrap.position({\r\n of: itemBBox,\r\n my: item.pos,\r\n at: item.pos\r\n });\r\n itemLegend.bBoxes.push(itemBBox);\r\n position[layoutOptions.direction] += item[layoutOptions.measure] + offset\r\n });\r\n position[layoutOptions.altDirection] += firstItem[layoutOptions.altMeasure] + altOffset\r\n });\r\n this._items.forEach(item => {\r\n var itemBBox = calculateBBoxLabelAndMarker(item.bBoxes[0].getLayoutOptions(), item.bBoxes[1].getLayoutOptions());\r\n var horizontal = that._options.columnItemSpacing / 2;\r\n var vertical = that._options.rowItemSpacing / 2;\r\n item.tracker.left = itemBBox.left - horizontal;\r\n item.tracker.right = itemBBox.right + horizontal;\r\n item.tracker.top = itemBBox.top - vertical;\r\n item.tracker.bottom = itemBBox.bottom + vertical\r\n })\r\n },\r\n _getItemsLayoutOptions: function() {\r\n var options = this._options;\r\n var orientation = options.orientation;\r\n var layoutOptions = {\r\n itemsAlignment: options.itemsAlignment,\r\n orientation: options.orientation\r\n };\r\n var width = this._size.width - (this._background ? 2 * options.paddingLeftRight : 0);\r\n var height = this._size.height - (this._background ? 2 * options.paddingTopBottom : 0);\r\n if (orientation === HORIZONTAL) {\r\n layoutOptions.length = width;\r\n layoutOptions.spacing = options.columnItemSpacing;\r\n layoutOptions.direction = \"x\";\r\n layoutOptions.measure = WIDTH;\r\n layoutOptions.altMeasure = HEIGHT;\r\n layoutOptions.altDirection = \"y\";\r\n layoutOptions.altSpacing = options.rowItemSpacing;\r\n layoutOptions.countItem = options.columnCount;\r\n layoutOptions.altCountItem = options.rowCount;\r\n layoutOptions.marginTextLabel = 4;\r\n layoutOptions.labelOffset = 7;\r\n if (options.itemTextPosition === BOTTOM || options.itemTextPosition === TOP) {\r\n layoutOptions.labelOffset = 4;\r\n layoutOptions.markerOffset = true\r\n }\r\n } else {\r\n layoutOptions.length = height;\r\n layoutOptions.spacing = options.rowItemSpacing;\r\n layoutOptions.direction = \"y\";\r\n layoutOptions.measure = HEIGHT;\r\n layoutOptions.altMeasure = WIDTH;\r\n layoutOptions.altDirection = \"x\";\r\n layoutOptions.altSpacing = options.columnItemSpacing;\r\n layoutOptions.countItem = options.rowCount;\r\n layoutOptions.altCountItem = options.columnCount;\r\n layoutOptions.marginTextLabel = 7;\r\n layoutOptions.labelOffset = 4;\r\n if (options.itemTextPosition === RIGHT || options.itemTextPosition === LEFT) {\r\n layoutOptions.labelOffset = 7;\r\n layoutOptions.markerOffset = true\r\n }\r\n }\r\n if (!layoutOptions.countItem) {\r\n if (layoutOptions.altCountItem) {\r\n layoutOptions.countItem = _ceil(this._items.length / layoutOptions.altCountItem)\r\n } else {\r\n layoutOptions.countItem = this._items.length\r\n }\r\n }\r\n if (options.itemTextPosition === TOP || options.itemTextPosition === LEFT) {\r\n layoutOptions.inverseLabelPosition = true\r\n }\r\n layoutOptions.itemTextPosition = options.itemTextPosition;\r\n layoutOptions.altCountItem = layoutOptions.altCountItem || _ceil(this._items.length / layoutOptions.countItem);\r\n return layoutOptions\r\n },\r\n _adjustBackgroundSettings: function(locationOptions) {\r\n if (!this._background) {\r\n return\r\n }\r\n var border = locationOptions.border;\r\n var legendBox = this._calculateTotalBox();\r\n var backgroundSettings = {\r\n x: _round(legendBox.x - locationOptions.paddingLeftRight),\r\n y: _round(legendBox.y - locationOptions.paddingTopBottom),\r\n width: _round(legendBox.width) + 2 * locationOptions.paddingLeftRight,\r\n height: _round(legendBox.height),\r\n opacity: locationOptions.backgroundOpacity\r\n };\r\n if (border.visible && border.width && border.color && border.color !== NONE) {\r\n backgroundSettings[\"stroke-width\"] = border.width;\r\n backgroundSettings.stroke = border.color;\r\n backgroundSettings[\"stroke-opacity\"] = border.opacity;\r\n backgroundSettings.dashStyle = border.dashStyle;\r\n backgroundSettings.rx = border.cornerRadius || 0;\r\n backgroundSettings.ry = border.cornerRadius || 0\r\n }\r\n this._background.attr(backgroundSettings)\r\n },\r\n _setBoundingRect: function(margin) {\r\n if (!this._insideLegendGroup) {\r\n return\r\n }\r\n var box = this._calculateTotalBox();\r\n box.height += margin.top + margin.bottom;\r\n box.widthWithoutMargins = box.width;\r\n box.width += margin.left + margin.right;\r\n box.x -= margin.left;\r\n box.y -= margin.top;\r\n this._boundingRect = box\r\n },\r\n _calculateTotalBox: function() {\r\n var markerBox = this._markersGroup.getBBox();\r\n var titleBox = this._title.getCorrectedLayoutOptions();\r\n var box = this._insideLegendGroup.getBBox();\r\n var verticalPadding = this._background ? 2 * this._options.paddingTopBottom : 0;\r\n box.height = markerBox.height + titleBox.height + verticalPadding;\r\n titleBox.width > box.width && (box.width = titleBox.width);\r\n return box\r\n },\r\n getActionCallback: function(point) {\r\n var that = this;\r\n if (that._options.visible) {\r\n return function(act) {\r\n that[act](point.index)\r\n }\r\n } else {\r\n return noop\r\n }\r\n },\r\n getLayoutOptions: function() {\r\n var options = this._options;\r\n var boundingRect = this._insideLegendGroup ? this._boundingRect : {\r\n width: 0,\r\n height: 0,\r\n x: 0,\r\n y: 0\r\n };\r\n if (options) {\r\n boundingRect.verticalAlignment = options.verticalAlignment;\r\n boundingRect.horizontalAlignment = options.horizontalAlignment;\r\n if (options.orientation === HORIZONTAL) {\r\n boundingRect.cutLayoutSide = options.verticalAlignment;\r\n boundingRect.cutSide = \"vertical\"\r\n } else if (options.horizontalAlignment === CENTER) {\r\n boundingRect.cutLayoutSide = options.verticalAlignment;\r\n boundingRect.cutSide = \"vertical\"\r\n } else {\r\n boundingRect.cutLayoutSide = options.horizontalAlignment;\r\n boundingRect.cutSide = \"horizontal\"\r\n }\r\n boundingRect.position = {\r\n horizontal: options.horizontalAlignment,\r\n vertical: options.verticalAlignment\r\n };\r\n return boundingRect\r\n }\r\n return null\r\n },\r\n shift: function(x, y) {\r\n var box = {};\r\n if (this._insideLegendGroup) {\r\n this._insideLegendGroup.attr({\r\n translateX: x - this._boundingRect.x,\r\n translateY: y - this._boundingRect.y\r\n })\r\n }\r\n this._title && this._shiftTitle(this._boundingRect.widthWithoutMargins);\r\n this._markersGroup && this._shiftMarkers();\r\n if (this._insideLegendGroup) {\r\n box = this._legendGroup.getBBox()\r\n }\r\n this._x1 = box.x;\r\n this._y1 = box.y;\r\n this._x2 = box.x + box.width;\r\n this._y2 = box.y + box.height;\r\n return this\r\n },\r\n _shiftTitle: function(boxWidth) {\r\n var title = this._title;\r\n var titleBox = title.getCorrectedLayoutOptions();\r\n if (!titleBox || !title.hasText()) {\r\n return\r\n }\r\n var width = boxWidth - (this._background ? 2 * this._options.paddingLeftRight : 0);\r\n var titleOptions = title.getOptions();\r\n var titleY = titleBox.y + titleOptions.margin.top;\r\n var titleX = 0;\r\n if (titleOptions.verticalAlignment === BOTTOM && this._markersGroup) {\r\n titleY += this._markersGroup.getBBox().height\r\n }\r\n if (titleOptions.horizontalAlignment === RIGHT) {\r\n titleX = width - titleBox.width\r\n } else if (titleOptions.horizontalAlignment === CENTER) {\r\n titleX = (width - titleBox.width) / 2\r\n }\r\n title.shift(titleX, titleY)\r\n },\r\n _shiftMarkers: function() {\r\n var titleBox = this._title.getLayoutOptions();\r\n var markerBox = this._markersGroup.getBBox();\r\n var titleOptions = this._title.getOptions() || {};\r\n var center = 0;\r\n var y = 0;\r\n if (titleBox.width > markerBox.width && this._options.horizontalAlignment === CENTER) {\r\n center = titleBox.width / 2 - markerBox.width / 2\r\n }\r\n if (titleOptions.verticalAlignment === TOP) {\r\n y = titleBox.height\r\n }\r\n if (0 !== center || 0 !== y) {\r\n this._markersGroup.attr({\r\n translateX: center,\r\n translateY: y\r\n });\r\n this._items.forEach(item => {\r\n item.tracker.left += center;\r\n item.tracker.right += center;\r\n item.tracker.top += y;\r\n item.tracker.bottom += y\r\n })\r\n }\r\n },\r\n getPosition: function() {\r\n return this._options.position\r\n },\r\n coordsIn: function(x, y) {\r\n return x >= this._x1 && x <= this._x2 && y >= this._y1 && y <= this._y2\r\n },\r\n getItemByCoord: function(x, y) {\r\n var items = this._items;\r\n var legendGroup = this._insideLegendGroup;\r\n x -= legendGroup.attr(\"translateX\");\r\n y -= legendGroup.attr(\"translateY\");\r\n for (var i = 0; i < items.length; i++) {\r\n if (inRect(items[i].tracker, x, y)) {\r\n return items[i].tracker\r\n }\r\n }\r\n return null\r\n },\r\n dispose: function() {\r\n this._title && this._title.dispose();\r\n this._legendGroup = this._insideLegendGroup = this._title = this._renderer = this._options = this._data = this._items = null;\r\n return this\r\n },\r\n layoutOptions: function() {\r\n if (!this.isVisible()) {\r\n return null\r\n }\r\n var pos = this.getLayoutOptions();\r\n return {\r\n horizontalAlignment: this._options.horizontalAlignment,\r\n verticalAlignment: this._options.verticalAlignment,\r\n side: pos.cutSide,\r\n priority: 1,\r\n position: this.getPosition()\r\n }\r\n },\r\n measure: function(size) {\r\n if (this._updated || !this._insideLegendGroup) {\r\n this.draw(size[0], size[1]);\r\n this._updated = false\r\n } else {\r\n this._items.forEach(item => {\r\n item.bBoxes = []\r\n });\r\n this._updateElementsPosition(size[0], size[1])\r\n }\r\n var rect = this.getLayoutOptions();\r\n return [rect.width, rect.height]\r\n },\r\n move: function(rect) {\r\n this.shift(rect[0], rect[1])\r\n },\r\n freeSpace: function() {\r\n this._options._incidentOccurred(\"W2104\");\r\n this.erase()\r\n }\r\n});\r\nexport var plugin = {\r\n name: \"legend\",\r\n init: function() {\r\n var group = this._renderer.g().attr({\r\n class: this._rootClassPrefix + \"-legend\"\r\n }).enableLinks().append(this._renderer.root);\r\n this._legend = new Legend({\r\n renderer: this._renderer,\r\n group: group,\r\n widget: this,\r\n itemGroupClass: this._rootClassPrefix + \"-item\",\r\n titleGroupClass: this._rootClassPrefix + \"-title\",\r\n textField: \"text\",\r\n getFormatObject: function(data) {\r\n return {\r\n item: data.item,\r\n text: data.text\r\n }\r\n }\r\n });\r\n this._layout.add(this._legend)\r\n },\r\n extenders: {\r\n _applyTilesAppearance: function() {\r\n var that = this;\r\n this._items.forEach((function(item) {\r\n that._applyLegendItemStyle(item.id, item.getState())\r\n }))\r\n },\r\n _buildNodes: function() {\r\n this._createLegendItems()\r\n }\r\n },\r\n members: {\r\n _applyLegendItemStyle: function(id, state) {\r\n var legend = this._legend;\r\n switch (state) {\r\n case \"hover\":\r\n legend.applyHover(id);\r\n break;\r\n case \"selection\":\r\n legend.applySelected(id);\r\n break;\r\n default:\r\n legend.resetItem(id)\r\n }\r\n },\r\n _createLegendItems: function() {\r\n if (this._legend.update(this._getLegendData(), this._getOption(\"legend\"), this._themeManager.theme(\"legend\").title)) {\r\n this._requestChange([\"LAYOUT\"])\r\n }\r\n }\r\n },\r\n dispose: function() {\r\n this._legend.dispose()\r\n },\r\n customize: function(constructor) {\r\n constructor.prototype._proxyData.push((function(x, y) {\r\n if (this._legend.coordsIn(x, y)) {\r\n var item = this._legend.getItemByCoord(x, y);\r\n if (item) {\r\n return {\r\n id: item.id,\r\n type: \"legend\"\r\n }\r\n }\r\n }\r\n }));\r\n constructor.addChange({\r\n code: \"LEGEND\",\r\n handler: function() {\r\n this._createLegendItems()\r\n },\r\n isThemeDependent: true,\r\n option: \"legend\",\r\n isOptionChange: true\r\n })\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/data_source.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport DataHelperMixin from \"../../data_helper\";\r\nvar postCtor = DataHelperMixin.postCtor;\r\nvar name;\r\nvar members = {\r\n _dataSourceLoadErrorHandler: function() {\r\n this._dataSourceChangedHandler()\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _updateDataSource: function() {\r\n this._refreshDataSource();\r\n if (!this.option(\"dataSource\")) {\r\n this._dataSourceChangedHandler()\r\n }\r\n },\r\n _dataIsLoaded: function() {\r\n return !this._dataSource || this._dataSource.isLoaded()\r\n },\r\n _dataSourceItems: function() {\r\n return this._dataSource && this._dataSource.items()\r\n }\r\n};\r\nfor (name in DataHelperMixin) {\r\n if (\"postCtor\" === name) {\r\n continue\r\n }\r\n members[name] = DataHelperMixin[name]\r\n}\r\nexport var plugin = {\r\n name: \"data_source\",\r\n init: function() {\r\n postCtor.call(this)\r\n },\r\n dispose: noop,\r\n members: members\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/loading_indicator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n patchFontOptions as _patchFontOptions\r\n} from \"./utils\";\r\nvar STATE_HIDDEN = 0;\r\nvar STATE_SHOWN = 1;\r\nvar ANIMATION_EASING = \"linear\";\r\nvar ANIMATION_DURATION = 400;\r\nvar LOADING_INDICATOR_READY = \"loadingIndicatorReady\";\r\nexport var LoadingIndicator = function(parameters) {\r\n var renderer = parameters.renderer;\r\n this._group = renderer.g().attr({\r\n class: \"dx-loading-indicator\"\r\n }).linkOn(renderer.root, {\r\n name: \"loading-indicator\",\r\n after: \"peripheral\"\r\n });\r\n this._rect = renderer.rect().attr({\r\n opacity: 0\r\n }).append(this._group);\r\n this._text = renderer.text().attr({\r\n align: \"center\"\r\n }).append(this._group);\r\n this._createStates(parameters.eventTrigger, this._group, renderer.root, parameters.notify)\r\n};\r\nLoadingIndicator.prototype = {\r\n constructor: LoadingIndicator,\r\n _createStates: function(eventTrigger, group, root, notify) {\r\n this._states = [{\r\n opacity: 0,\r\n start: function() {\r\n notify(false)\r\n },\r\n complete: function() {\r\n group.linkRemove();\r\n root.css({\r\n \"pointer-events\": \"\"\r\n });\r\n eventTrigger(LOADING_INDICATOR_READY)\r\n }\r\n }, {\r\n opacity: .85,\r\n start: function() {\r\n group.linkAppend();\r\n root.css({\r\n \"pointer-events\": \"none\"\r\n });\r\n notify(true)\r\n },\r\n complete: function() {\r\n eventTrigger(LOADING_INDICATOR_READY)\r\n }\r\n }];\r\n this._state = STATE_HIDDEN\r\n },\r\n setSize: function(size) {\r\n var width = size.width;\r\n var height = size.height;\r\n this._rect.attr({\r\n width: width,\r\n height: height\r\n });\r\n this._text.attr({\r\n x: width / 2,\r\n y: height / 2\r\n })\r\n },\r\n setOptions: function(options) {\r\n this._rect.attr({\r\n fill: options.backgroundColor\r\n });\r\n this._text.css(_patchFontOptions(options.font)).attr({\r\n text: options.text,\r\n class: options.cssClass\r\n });\r\n this[options.show ? \"show\" : \"hide\"]()\r\n },\r\n dispose: function() {\r\n this._group.linkRemove().linkOff();\r\n this._group = this._rect = this._text = this._states = null\r\n },\r\n _transit: function(stateId) {\r\n var state;\r\n if (this._state !== stateId) {\r\n this._state = stateId;\r\n this._isHiding = false;\r\n state = this._states[stateId];\r\n this._rect.stopAnimation().animate({\r\n opacity: state.opacity\r\n }, {\r\n complete: state.complete,\r\n easing: ANIMATION_EASING,\r\n duration: ANIMATION_DURATION,\r\n unstoppable: true\r\n });\r\n this._noHiding = true;\r\n state.start();\r\n this._noHiding = false\r\n }\r\n },\r\n show: function() {\r\n this._transit(STATE_SHOWN)\r\n },\r\n hide: function() {\r\n this._transit(STATE_HIDDEN)\r\n },\r\n scheduleHiding: function() {\r\n if (!this._noHiding) {\r\n this._isHiding = true\r\n }\r\n },\r\n fulfillHiding: function() {\r\n if (this._isHiding) {\r\n this.hide()\r\n }\r\n }\r\n};\r\nexport var plugin = {\r\n name: \"loading_indicator\",\r\n init: function() {\r\n var that = this;\r\n that._loadingIndicator = new LoadingIndicator({\r\n eventTrigger: that._eventTrigger,\r\n renderer: that._renderer,\r\n notify: function(state) {\r\n that._skipLoadingIndicatorOptions = true;\r\n that.option(\"loadingIndicator\", {\r\n show: state\r\n });\r\n that._skipLoadingIndicatorOptions = false;\r\n if (state) {\r\n that._stopCurrentHandling()\r\n }\r\n }\r\n });\r\n that._scheduleLoadingIndicatorHiding()\r\n },\r\n dispose: function() {\r\n this._loadingIndicator.dispose();\r\n this._loadingIndicator = null\r\n },\r\n members: {\r\n _scheduleLoadingIndicatorHiding: function() {\r\n this._loadingIndicator.scheduleHiding()\r\n },\r\n _fulfillLoadingIndicatorHiding: function() {\r\n this._loadingIndicator.fulfillHiding()\r\n },\r\n showLoadingIndicator: function() {\r\n this._loadingIndicator.show()\r\n },\r\n hideLoadingIndicator: function() {\r\n this._loadingIndicator.hide()\r\n },\r\n _onBeginUpdate: function() {\r\n if (!this._optionChangedLocker) {\r\n this._scheduleLoadingIndicatorHiding()\r\n }\r\n }\r\n },\r\n extenders: {\r\n _dataSourceLoadingChangedHandler(isLoading) {\r\n if (isLoading && (this._options.silent(\"loadingIndicator\") || {}).enabled) {\r\n this._loadingIndicator.show()\r\n }\r\n },\r\n _setContentSize() {\r\n this._loadingIndicator.setSize(this._canvas)\r\n },\r\n endUpdate() {\r\n if (this._initialized && this._dataIsReady()) {\r\n this._fulfillLoadingIndicatorHiding()\r\n }\r\n }\r\n },\r\n customize: function(constructor) {\r\n var proto = constructor.prototype;\r\n if (proto._dataSourceChangedHandler) {\r\n var _dataSourceChangedHandler = proto._dataSourceChangedHandler;\r\n proto._dataSourceChangedHandler = function() {\r\n this._scheduleLoadingIndicatorHiding();\r\n _dataSourceChangedHandler.apply(this, arguments)\r\n }\r\n }\r\n constructor.addChange({\r\n code: \"LOADING_INDICATOR\",\r\n handler: function() {\r\n if (!this._skipLoadingIndicatorOptions) {\r\n this._loadingIndicator.setOptions(this._getOption(\"loadingIndicator\"))\r\n }\r\n this._scheduleLoadingIndicatorHiding()\r\n },\r\n isThemeDependent: true,\r\n option: \"loadingIndicator\",\r\n isOptionChange: true\r\n });\r\n proto._eventsMap.onLoadingIndicatorReady = {\r\n name: \"loadingIndicatorReady\"\r\n };\r\n var _drawn = proto._drawn;\r\n proto._drawn = function() {\r\n _drawn.apply(this, arguments);\r\n if (this._dataIsReady()) {\r\n this._fulfillLoadingIndicatorHiding()\r\n }\r\n }\r\n },\r\n fontFields: [\"loadingIndicator.font\"]\r\n};\r\n","/**\r\n * DevExtreme (esm/localization.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport core from \"./localization/core\";\r\nimport message from \"./localization/message\";\r\nimport number from \"./localization/number\";\r\nimport date from \"./localization/date\";\r\nimport \"./localization/currency\";\r\nexport var locale = core.locale.bind(core);\r\nexport var loadMessages = message.load.bind(message);\r\nexport var formatMessage = message.format.bind(message);\r\nexport var formatNumber = number.format.bind(number);\r\nexport var parseNumber = number.parse.bind(number);\r\nexport var formatDate = date.format.bind(date);\r\nexport var parseDate = date.parse.bind(date);\r\nexport {\r\n message,\r\n number,\r\n date\r\n};\r\nexport function disableIntl() {\r\n if (\"intl\" === number.engine()) {\r\n number.resetInjection()\r\n }\r\n if (\"intl\" === date.engine()) {\r\n date.resetInjection()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/series/helpers/display_format_parser.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n formatDate,\r\n formatNumber\r\n} from \"../../../localization\";\r\nvar startPlaceHolderChar = \"{\";\r\nvar endPlaceHolderChar = \"}\";\r\nvar placeholderFormatDelimiter = \":\";\r\n\r\nfunction formatValue(value, format) {\r\n if (format) {\r\n if (value instanceof Date) {\r\n return formatDate(value, format)\r\n }\r\n if (\"number\" === typeof value) {\r\n return formatNumber(value, format)\r\n }\r\n }\r\n return value\r\n}\r\n\r\nfunction getValueByPlaceHolder(placeHolder, pointInfo) {\r\n var customFormat = \"\";\r\n var customFormatIndex = placeHolder.indexOf(placeholderFormatDelimiter);\r\n if (customFormatIndex > 0) {\r\n customFormat = placeHolder.substr(customFormatIndex + 1);\r\n placeHolder = placeHolder.substr(0, customFormatIndex)\r\n }\r\n return formatValue(pointInfo[placeHolder], customFormat)\r\n}\r\nexport function processDisplayFormat(displayFormat, pointInfo) {\r\n var actualText = displayFormat;\r\n var continueProcess = true;\r\n while (continueProcess) {\r\n var startBracketIndex = actualText.indexOf(startPlaceHolderChar);\r\n var endBracketIndex = actualText.indexOf(endPlaceHolderChar);\r\n if (startBracketIndex >= 0 && endBracketIndex > 0) {\r\n var placeHolder = actualText.substring(startBracketIndex + 1, endBracketIndex);\r\n var value = getValueByPlaceHolder(placeHolder, pointInfo);\r\n actualText = actualText.substr(0, startBracketIndex) + value + actualText.substr(endBracketIndex + 1)\r\n } else {\r\n continueProcess = false\r\n }\r\n }\r\n return actualText\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/series/points/label.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport formatHelper from \"../../../format_helper\";\r\nimport {\r\n degreesToRadians as _degreesToRadians,\r\n patchFontOptions as _patchFontOptions,\r\n getCosAndSin as _getCosAndSin,\r\n rotateBBox as _rotateBBox\r\n} from \"../../core/utils\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n processDisplayFormat\r\n} from \"../helpers/display_format_parser\";\r\nvar _format = formatHelper.format;\r\nvar _math = Math;\r\nvar _round = _math.round;\r\nvar _floor = _math.floor;\r\nvar _abs = _math.abs;\r\nvar CONNECTOR_LENGTH = 12;\r\nvar LABEL_BACKGROUND_PADDING_X = 8;\r\nvar LABEL_BACKGROUND_PADDING_Y = 4;\r\n\r\nfunction getClosestCoord(point, coords) {\r\n var closestDistance = 1 / 0;\r\n var closestCoord;\r\n each(coords, (function(_, coord) {\r\n var x = point[0] - coord[0];\r\n var y = point[1] - coord[1];\r\n var distance = x * x + y * y;\r\n if (distance < closestDistance) {\r\n closestDistance = distance;\r\n closestCoord = coord\r\n }\r\n }));\r\n return [_floor(closestCoord[0]), _floor(closestCoord[1])]\r\n}\r\n\r\nfunction getCrossCoord(rect, coord, indexOffset) {\r\n return (coord - rect[0 + indexOffset]) / (rect[2 + indexOffset] - rect[0 + indexOffset]) * (rect[3 - indexOffset] - rect[1 - indexOffset]) + rect[1 - indexOffset]\r\n}\r\nvar barPointStrategy = {\r\n isLabelInside: function(labelPoint, figure) {\r\n var xc = labelPoint.x + labelPoint.width / 2;\r\n var yc = labelPoint.y + labelPoint.height / 2;\r\n return figure.x <= xc && xc <= figure.x + figure.width && figure.y <= yc && yc <= figure.y + figure.height\r\n },\r\n prepareLabelPoints: function(bBox, rotatedBBox, isHorizontal, angle, figureCenter) {\r\n var x1 = rotatedBBox.x;\r\n var xc = x1 + rotatedBBox.width / 2;\r\n var x2 = x1 + rotatedBBox.width - 1;\r\n var y1 = rotatedBBox.y;\r\n var yc = y1 + rotatedBBox.height / 2;\r\n var y2 = y1 + rotatedBBox.height - 1;\r\n var labelPoints;\r\n var isRectangular = _abs(angle) % 90 === 0;\r\n if (figureCenter[0] > x1 && figureCenter[0] < x2) {\r\n if (isRectangular) {\r\n labelPoints = [\r\n [figureCenter[0], _abs(figureCenter[1] - y1) < _abs(figureCenter[1] - y2) ? y1 : y2]\r\n ]\r\n } else {\r\n labelPoints = [\r\n [figureCenter[0], getCrossCoord([x1, y1, x2, y2], figureCenter[0], 0)]\r\n ]\r\n }\r\n } else if (figureCenter[1] > y1 && figureCenter[1] < y2) {\r\n if (isRectangular) {\r\n labelPoints = [\r\n [_abs(figureCenter[0] - x1) < _abs(figureCenter[0] - x2) ? x1 : x2, figureCenter[1]]\r\n ]\r\n } else {\r\n labelPoints = [\r\n [getCrossCoord([x1, y1, x2, y2], figureCenter[1], 1), figureCenter[1]]\r\n ]\r\n }\r\n } else if (isRectangular) {\r\n labelPoints = [\r\n [x1, y1],\r\n [isHorizontal ? x1 : xc, isHorizontal ? yc : y1],\r\n [x2, y1],\r\n [x1, y2],\r\n [isHorizontal ? x2 : xc, isHorizontal ? yc : y2],\r\n [x2, y2]\r\n ]\r\n } else {\r\n labelPoints = [\r\n [xc, yc]\r\n ]\r\n }\r\n return labelPoints\r\n },\r\n isHorizontal: function(bBox, figure) {\r\n return bBox.x > figure.x + figure.width || bBox.x + bBox.width < figure.x\r\n },\r\n getFigureCenter: function(figure) {\r\n return [_floor(figure.x + figure.width / 2), _floor(figure.y + figure.height / 2)]\r\n },\r\n findFigurePoint: function(figure, labelPoint) {\r\n var figureCenter = barPointStrategy.getFigureCenter(figure);\r\n var point = getClosestCoord(labelPoint, [\r\n [figure.x, figureCenter[1]],\r\n [figureCenter[0], figure.y + figure.height],\r\n [figure.x + figure.width, figureCenter[1]],\r\n [figureCenter[0], figure.y]\r\n ]);\r\n return point\r\n },\r\n adjustPoints: function(points) {\r\n var lineIsVertical = _abs(points[1] - points[3]) <= 1;\r\n var lineIsHorizontal = _abs(points[0] - points[2]) <= 1;\r\n if (lineIsHorizontal) {\r\n points[0] = points[2]\r\n }\r\n if (lineIsVertical) {\r\n points[1] = points[3]\r\n }\r\n return points\r\n }\r\n};\r\nvar symbolPointStrategy = {\r\n isLabelInside: function() {\r\n return false\r\n },\r\n prepareLabelPoints: barPointStrategy.prepareLabelPoints,\r\n isHorizontal: function(bBox, figure) {\r\n return bBox.x > figure.x + figure.r || bBox.x + bBox.width < figure.x - figure.r\r\n },\r\n getFigureCenter: function(figure) {\r\n return [figure.x, figure.y]\r\n },\r\n findFigurePoint: function(figure, labelPoint) {\r\n var angle = Math.atan2(figure.y - labelPoint[1], labelPoint[0] - figure.x);\r\n return [_round(figure.x + figure.r * Math.cos(angle)), _round(figure.y - figure.r * Math.sin(angle))]\r\n },\r\n adjustPoints: barPointStrategy.adjustPoints\r\n};\r\nvar piePointStrategy = {\r\n isLabelInside: function(_0, _1, isOutside) {\r\n return !isOutside\r\n },\r\n prepareLabelPoints: function(bBox, rotatedBBox, isHorizontal, angle) {\r\n var xl = bBox.x;\r\n var xr = xl + bBox.width;\r\n var xc = xl + _round(bBox.width / 2);\r\n var yt = bBox.y;\r\n var yb = yt + bBox.height;\r\n var yc = yt + _round(bBox.height / 2);\r\n var points = [\r\n [\r\n [xl, yt],\r\n [xr, yt]\r\n ],\r\n [\r\n [xr, yt],\r\n [xr, yb]\r\n ],\r\n [\r\n [xr, yb],\r\n [xl, yb]\r\n ],\r\n [\r\n [xl, yb],\r\n [xl, yt]\r\n ]\r\n ];\r\n var cosSin = _getCosAndSin(angle);\r\n if (0 === angle) {\r\n points = isHorizontal ? [\r\n [xl, yc],\r\n [xr, yc]\r\n ] : [\r\n [xc, yt],\r\n [xc, yb]\r\n ]\r\n } else {\r\n points = points.map((function(pair) {\r\n return pair.map((function(point) {\r\n return [_round((point[0] - xc) * cosSin.cos + (point[1] - yc) * cosSin.sin + xc), _round(-(point[0] - xc) * cosSin.sin + (point[1] - yc) * cosSin.cos + yc)]\r\n }))\r\n })).reduce((function(r, pair) {\r\n var point1x = pair[0][0];\r\n var point1y = pair[0][1];\r\n var point2x = pair[1][0];\r\n var point2y = pair[1][1];\r\n if (isHorizontal) {\r\n if (point1y >= yc && yc >= point2y || point1y <= yc && yc <= point2y) {\r\n r.push([(yc - point1y) * (point2x - point1x) / (point2y - point1y) + point1x, yc])\r\n }\r\n } else if (point1x >= xc && xc >= point2x || point1x <= xc && xc <= point2x) {\r\n r.push([xc, (xc - point1x) * (point2y - point1y) / (point2x - point1x) + point1y])\r\n }\r\n return r\r\n }), [])\r\n }\r\n return points\r\n },\r\n isHorizontal: function(bBox, figure) {\r\n return bBox.x > figure.x || figure.x > bBox.x + bBox.width\r\n },\r\n getFigureCenter: symbolPointStrategy.getFigureCenter,\r\n findFigurePoint: function(figure, labelPoint, isHorizontal) {\r\n if (!isHorizontal) {\r\n return [figure.x, figure.y]\r\n }\r\n var labelX = labelPoint[0];\r\n var x = _round(figure.x + (figure.y - labelPoint[1]) / Math.tan(_degreesToRadians(figure.angle)));\r\n var points = [figure.x, figure.y, x, labelPoint[1]];\r\n if (!(figure.x <= x && x <= labelX) && !(labelX <= x && x <= figure.x)) {\r\n if (_abs(figure.x - labelX) < CONNECTOR_LENGTH) {\r\n points = [figure.x, figure.y]\r\n } else if (figure.x <= labelX) {\r\n points[2] = figure.x + CONNECTOR_LENGTH\r\n } else {\r\n points[2] = figure.x - CONNECTOR_LENGTH\r\n }\r\n }\r\n return points\r\n },\r\n adjustPoints: function(points) {\r\n return points\r\n }\r\n};\r\n\r\nfunction selectStrategy(figure) {\r\n return void 0 !== figure.angle && piePointStrategy || void 0 !== figure.r && symbolPointStrategy || barPointStrategy\r\n}\r\n\r\nfunction disposeItem(obj, field) {\r\n obj[field] && obj[field].dispose();\r\n obj[field] = null\r\n}\r\n\r\nfunction checkBackground(background) {\r\n return background && (background.fill && \"none\" !== background.fill || background[\"stroke-width\"] > 0 && background.stroke && \"none\" !== background.stroke)\r\n}\r\n\r\nfunction checkConnector(connector) {\r\n return connector && connector[\"stroke-width\"] > 0 && connector.stroke && \"none\" !== connector.stroke\r\n}\r\n\r\nfunction formatText(data, options) {\r\n var format = options.format;\r\n data.valueText = _format(data.value, format);\r\n data.argumentText = _format(data.argument, options.argumentFormat);\r\n if (void 0 !== data.percent) {\r\n data.percentText = _format(data.percent, {\r\n type: \"percent\",\r\n precision: format && format.percentPrecision\r\n })\r\n }\r\n if (void 0 !== data.total) {\r\n data.totalText = _format(data.total, format)\r\n }\r\n if (void 0 !== data.openValue) {\r\n data.openValueText = _format(data.openValue, format)\r\n }\r\n if (void 0 !== data.closeValue) {\r\n data.closeValueText = _format(data.closeValue, format)\r\n }\r\n if (void 0 !== data.lowValue) {\r\n data.lowValueText = _format(data.lowValue, format)\r\n }\r\n if (void 0 !== data.highValue) {\r\n data.highValueText = _format(data.highValue, format)\r\n }\r\n if (void 0 !== data.reductionValue) {\r\n data.reductionValueText = _format(data.reductionValue, format)\r\n }\r\n return options.customizeText ? options.customizeText.call(data, data) : options.displayFormat ? processDisplayFormat(options.displayFormat, data) : data.valueText\r\n}\r\nexport function Label(renderSettings) {\r\n this._renderer = renderSettings.renderer;\r\n this._container = renderSettings.labelsGroup;\r\n this._point = renderSettings.point;\r\n this._strategy = renderSettings.strategy;\r\n this._rowCount = 1\r\n}\r\nLabel.prototype = {\r\n constructor: Label,\r\n setColor: function(color) {\r\n this._color = color\r\n },\r\n setOptions: function(options) {\r\n this._options = options\r\n },\r\n setData: function(data) {\r\n this._data = data\r\n },\r\n setDataField: function(fieldName, fieldValue) {\r\n this._data = this._data || {};\r\n this._data[fieldName] = fieldValue\r\n },\r\n getData: function() {\r\n return this._data\r\n },\r\n setFigureToDrawConnector: function(figure) {\r\n this._figure = figure\r\n },\r\n dispose: function() {\r\n disposeItem(this, \"_group\");\r\n this._data = this._options = this._textContent = this._visible = this._insideGroup = this._text = this._background = this._connector = this._figure = null\r\n },\r\n _setVisibility: function(value, state) {\r\n this._group && this._group.attr({\r\n visibility: value\r\n });\r\n this._visible = state\r\n },\r\n isVisible: function() {\r\n return this._visible\r\n },\r\n hide: function(holdInvisible) {\r\n this._holdVisibility = !!holdInvisible;\r\n this._hide()\r\n },\r\n _hide: function() {\r\n this._setVisibility(\"hidden\", false)\r\n },\r\n show: function(holdVisible) {\r\n var correctPosition = !this._drawn;\r\n if (this._point.hasValue()) {\r\n this._holdVisibility = !!holdVisible;\r\n this._show();\r\n correctPosition && this._point.correctLabelPosition(this)\r\n }\r\n },\r\n _show: function() {\r\n var renderer = this._renderer;\r\n var container = this._container;\r\n var options = this._options || {};\r\n var text = this._textContent = formatText(this._data, options) || null;\r\n if (text) {\r\n if (!this._group) {\r\n this._group = renderer.g().append(container);\r\n this._insideGroup = renderer.g().append(this._group);\r\n this._text = renderer.text(\"\", 0, 0).append(this._insideGroup)\r\n }\r\n this._text.css(options.attributes ? _patchFontOptions(options.attributes.font) : {});\r\n if (checkBackground(options.background)) {\r\n this._background = this._background || renderer.rect().append(this._insideGroup).toBackground();\r\n this._background.attr(options.background);\r\n this._color && this._background.attr({\r\n fill: this._color\r\n })\r\n } else {\r\n disposeItem(this, \"_background\")\r\n }\r\n if (checkConnector(options.connector)) {\r\n this._connector = this._connector || renderer.path([], \"line\").sharp().append(this._group).toBackground();\r\n this._connector.attr(options.connector);\r\n this._color && this._connector.attr({\r\n stroke: this._color\r\n })\r\n } else {\r\n disposeItem(this, \"_connector\")\r\n }\r\n this._text.attr({\r\n text: text,\r\n align: options.textAlignment,\r\n class: options.cssClass\r\n });\r\n this._updateBackground(this._text.getBBox());\r\n this._setVisibility(\"visible\", true);\r\n this._drawn = true\r\n } else {\r\n this._hide()\r\n }\r\n },\r\n _getLabelVisibility: function(isVisible) {\r\n return this._holdVisibility ? this.isVisible() : isVisible\r\n },\r\n draw: function(isVisible) {\r\n if (this._getLabelVisibility(isVisible)) {\r\n this._show();\r\n this._point && this._point.correctLabelPosition(this)\r\n } else {\r\n this._drawn = false;\r\n this._hide()\r\n }\r\n return this\r\n },\r\n _updateBackground: function(bBox) {\r\n if (this._background) {\r\n bBox.x -= LABEL_BACKGROUND_PADDING_X;\r\n bBox.y -= LABEL_BACKGROUND_PADDING_Y;\r\n bBox.width += 2 * LABEL_BACKGROUND_PADDING_X;\r\n bBox.height += 2 * LABEL_BACKGROUND_PADDING_Y;\r\n this._background.attr(bBox)\r\n }\r\n this._bBoxWithoutRotation = extend({}, bBox);\r\n var rotationAngle = this._options.rotationAngle || 0;\r\n this._insideGroup.rotate(rotationAngle, bBox.x + bBox.width / 2, bBox.y + bBox.height / 2);\r\n bBox = _rotateBBox(bBox, [bBox.x + bBox.width / 2, bBox.y + bBox.height / 2], -rotationAngle);\r\n this._bBox = bBox\r\n },\r\n getFigureCenter() {\r\n var figure = this._figure;\r\n var strategy = this._strategy || selectStrategy(figure);\r\n return strategy.getFigureCenter(figure)\r\n },\r\n _getConnectorPoints: function() {\r\n var figure = this._figure;\r\n var options = this._options;\r\n var strategy = this._strategy || selectStrategy(figure);\r\n var bBox = this._shiftBBox(this._bBoxWithoutRotation);\r\n var rotatedBBox = this.getBoundingRect();\r\n var labelPoint;\r\n var points = [];\r\n var isHorizontal;\r\n if (!strategy.isLabelInside(bBox, figure, \"inside\" !== options.position)) {\r\n isHorizontal = strategy.isHorizontal(bBox, figure);\r\n var figureCenter = this.getFigureCenter();\r\n points = strategy.prepareLabelPoints(bBox, rotatedBBox, isHorizontal, -options.rotationAngle || 0, figureCenter);\r\n labelPoint = getClosestCoord(figureCenter, points);\r\n points = strategy.findFigurePoint(figure, labelPoint, isHorizontal);\r\n points = points.concat(labelPoint)\r\n }\r\n return strategy.adjustPoints(points)\r\n },\r\n fit: function(maxWidth) {\r\n var padding = this._background ? 2 * LABEL_BACKGROUND_PADDING_X : 0;\r\n var rowCountChanged = false;\r\n if (this._text) {\r\n var result = this._text.setMaxSize(maxWidth - padding, void 0, this._options);\r\n var rowCount = result.rowCount;\r\n if (0 === rowCount) {\r\n rowCount = 1\r\n }\r\n if (rowCount !== this._rowCount) {\r\n rowCountChanged = true;\r\n this._rowCount = rowCount\r\n }\r\n result.textIsEmpty && disposeItem(this, \"_background\")\r\n }\r\n this._updateBackground(this._text.getBBox());\r\n return rowCountChanged\r\n },\r\n resetEllipsis: function() {\r\n this._text && this._text.restoreText();\r\n this._updateBackground(this._text.getBBox())\r\n },\r\n setTrackerData: function(point) {\r\n this._text.data({\r\n \"chart-data-point\": point\r\n });\r\n this._background && this._background.data({\r\n \"chart-data-point\": point\r\n })\r\n },\r\n hideInsideLabel: function(coords) {\r\n return this._point.hideInsideLabel(this, coords)\r\n },\r\n getPoint() {\r\n return this._point\r\n },\r\n shift: function(x, y) {\r\n if (this._textContent) {\r\n this._insideGroup.attr({\r\n translateX: this._x = _round(x - this._bBox.x),\r\n translateY: this._y = _round(y - this._bBox.y)\r\n });\r\n if (this._connector) {\r\n this._connector.attr({\r\n points: this._getConnectorPoints()\r\n })\r\n }\r\n }\r\n return this\r\n },\r\n getBoundingRect: function() {\r\n return this._shiftBBox(this._bBox)\r\n },\r\n _shiftBBox: function(bBox) {\r\n return this._textContent ? {\r\n x: bBox.x + this._x,\r\n y: bBox.y + this._y,\r\n width: bBox.width,\r\n height: bBox.height\r\n } : {}\r\n },\r\n getLayoutOptions: function() {\r\n var options = this._options;\r\n return {\r\n alignment: options.alignment,\r\n background: checkBackground(options.background),\r\n horizontalOffset: options.horizontalOffset,\r\n verticalOffset: options.verticalOffset,\r\n radialOffset: options.radialOffset,\r\n position: options.position,\r\n connectorOffset: (checkConnector(options.connector) ? CONNECTOR_LENGTH : 0) + (checkBackground(options.background) ? LABEL_BACKGROUND_PADDING_X : 0)\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/points/symbol_point.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n getWindow,\r\n hasProperty\r\n} from \"../../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n Label\r\n} from \"./label\";\r\nvar _extend = extend;\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../../core/utils\";\r\nvar _math = Math;\r\nvar _round = _math.round;\r\nvar _floor = _math.floor;\r\nvar _ceil = _math.ceil;\r\nvar DEFAULT_IMAGE_WIDTH = 20;\r\nvar DEFAULT_IMAGE_HEIGHT = 20;\r\nvar LABEL_OFFSET = 10;\r\nvar CANVAS_POSITION_DEFAULT = \"canvas_position_default\";\r\n\r\nfunction getSquareMarkerCoords(radius) {\r\n return [-radius, -radius, radius, -radius, radius, radius, -radius, radius, -radius, -radius]\r\n}\r\n\r\nfunction getPolygonMarkerCoords(radius) {\r\n var r = _ceil(radius);\r\n return [-r, 0, 0, -r, r, 0, 0, r, -r, 0]\r\n}\r\n\r\nfunction getCrossMarkerCoords(radius) {\r\n var r = _ceil(radius);\r\n var floorHalfRadius = _floor(r / 2);\r\n var ceilHalfRadius = _ceil(r / 2);\r\n return [-r, -floorHalfRadius, -floorHalfRadius, -r, 0, -ceilHalfRadius, floorHalfRadius, -r, r, -floorHalfRadius, ceilHalfRadius, 0, r, floorHalfRadius, floorHalfRadius, r, 0, ceilHalfRadius, -floorHalfRadius, r, -r, floorHalfRadius, -ceilHalfRadius, 0]\r\n}\r\n\r\nfunction getTriangleDownMarkerCoords(radius) {\r\n return [-radius, -radius, radius, -radius, 0, radius, -radius, -radius]\r\n}\r\n\r\nfunction getTriangleUpMarkerCoords(radius) {\r\n return [-radius, radius, radius, radius, 0, -radius, -radius, radius]\r\n}\r\nexport default {\r\n deleteLabel: function() {\r\n this._label.dispose();\r\n this._label = null\r\n },\r\n _hasGraphic: function() {\r\n return this.graphic\r\n },\r\n clearVisibility: function() {\r\n var graphic = this.graphic;\r\n if (graphic && graphic.attr(\"visibility\")) {\r\n graphic.attr({\r\n visibility: null\r\n })\r\n }\r\n },\r\n isVisible: function() {\r\n return this.inVisibleArea && this.series.isVisible()\r\n },\r\n setInvisibility: function() {\r\n var graphic = this.graphic;\r\n if (graphic && \"hidden\" !== graphic.attr(\"visibility\")) {\r\n graphic.attr({\r\n visibility: \"hidden\"\r\n })\r\n }\r\n this._errorBar && this._errorBar.attr({\r\n visibility: \"hidden\"\r\n });\r\n this._label.draw(false)\r\n },\r\n clearMarker: function() {\r\n var graphic = this.graphic;\r\n graphic && graphic.attr(this._emptySettings)\r\n },\r\n _createLabel: function() {\r\n this._label = new Label({\r\n renderer: this.series._renderer,\r\n labelsGroup: this.series._labelsGroup,\r\n point: this\r\n })\r\n },\r\n _calculateVisibility: function(x, y) {\r\n var {\r\n minX: minX,\r\n maxX: maxX,\r\n minY: minY,\r\n maxY: maxY\r\n } = this._getVisibleArea();\r\n this.inVisibleArea = minX <= x && maxX >= x && minY <= y && maxY >= y\r\n },\r\n _updateLabelData: function() {\r\n this._label.setData(this._getLabelFormatObject())\r\n },\r\n _updateLabelOptions: function() {\r\n !this._label && this._createLabel();\r\n this._label.setOptions(this._options.label)\r\n },\r\n _checkImage: function(image) {\r\n return _isDefined(image) && (\"string\" === typeof image || _isDefined(image.url))\r\n },\r\n _fillStyle: function() {\r\n this._styles = this._options.styles\r\n },\r\n _checkSymbol: function(oldOptions, newOptions) {\r\n var oldSymbol = oldOptions.symbol;\r\n var newSymbol = newOptions.symbol;\r\n var symbolChanged = \"circle\" === oldSymbol && \"circle\" !== newSymbol || \"circle\" !== oldSymbol && \"circle\" === newSymbol;\r\n var imageChanged = this._checkImage(oldOptions.image) !== this._checkImage(newOptions.image);\r\n return !!(symbolChanged || imageChanged)\r\n },\r\n _populatePointShape: function(symbol, radius) {\r\n switch (symbol) {\r\n case \"square\":\r\n return getSquareMarkerCoords(radius);\r\n case \"polygon\":\r\n return getPolygonMarkerCoords(radius);\r\n case \"triangle\":\r\n case \"triangleDown\":\r\n return getTriangleDownMarkerCoords(radius);\r\n case \"triangleUp\":\r\n return getTriangleUpMarkerCoords(radius);\r\n case \"cross\":\r\n return getCrossMarkerCoords(radius)\r\n }\r\n },\r\n hasCoords: function() {\r\n return null !== this.x && null !== this.y\r\n },\r\n correctValue: function(correction) {\r\n var axis = this.series.getValueAxis();\r\n if (this.hasValue()) {\r\n this.value = this.properValue = axis.validateUnit(this.initialValue.valueOf() + correction.valueOf());\r\n this.minValue = axis.validateUnit(correction)\r\n }\r\n },\r\n resetCorrection: function() {\r\n this.value = this.properValue = this.initialValue;\r\n this.minValue = CANVAS_POSITION_DEFAULT\r\n },\r\n resetValue: function() {\r\n if (this.hasValue()) {\r\n this.value = this.properValue = this.initialValue = 0;\r\n this.minValue = 0;\r\n this._label.setDataField(\"value\", this.value)\r\n }\r\n },\r\n _getTranslates: function(animationEnabled) {\r\n var translateX = this.x;\r\n var translateY = this.y;\r\n if (animationEnabled) {\r\n if (this._options.rotated) {\r\n translateX = this.defaultX\r\n } else {\r\n translateY = this.defaultY\r\n }\r\n }\r\n return {\r\n x: translateX,\r\n y: translateY\r\n }\r\n },\r\n _createImageMarker: function(renderer, settings, options) {\r\n var width = options.width || DEFAULT_IMAGE_WIDTH;\r\n var height = options.height || DEFAULT_IMAGE_HEIGHT;\r\n return renderer.image(-_round(.5 * width), -_round(.5 * height), width, height, options.url ? options.url.toString() : options.toString(), \"center\").attr({\r\n translateX: settings.translateX,\r\n translateY: settings.translateY,\r\n visibility: settings.visibility\r\n })\r\n },\r\n _createSymbolMarker: function(renderer, pointSettings) {\r\n var marker;\r\n var symbol = this._options.symbol;\r\n if (\"circle\" === symbol) {\r\n delete pointSettings.points;\r\n marker = renderer.circle().attr(pointSettings)\r\n } else if (\"square\" === symbol || \"polygon\" === symbol || \"triangle\" === symbol || \"triangleDown\" === symbol || \"triangleUp\" === symbol || \"cross\" === symbol) {\r\n marker = renderer.path([], \"area\").attr(pointSettings).sharp()\r\n }\r\n return marker\r\n },\r\n _createMarker: function(renderer, group, image, settings) {\r\n var marker = this._checkImage(image) ? this._createImageMarker(renderer, settings, image) : this._createSymbolMarker(renderer, settings);\r\n if (marker) {\r\n marker.data({\r\n \"chart-data-point\": this\r\n }).append(group)\r\n }\r\n return marker\r\n },\r\n _getSymbolBBox: function(x, y, r) {\r\n return {\r\n x: x - r,\r\n y: y - r,\r\n width: 2 * r,\r\n height: 2 * r\r\n }\r\n },\r\n _getImageBBox: function(x, y) {\r\n var image = this._options.image;\r\n var width = image.width || DEFAULT_IMAGE_WIDTH;\r\n var height = image.height || DEFAULT_IMAGE_HEIGHT;\r\n return {\r\n x: x - _round(width / 2),\r\n y: y - _round(height / 2),\r\n width: width,\r\n height: height\r\n }\r\n },\r\n _getGraphicBBox: function() {\r\n var options = this._options;\r\n var x = this.x;\r\n var y = this.y;\r\n var bBox;\r\n if (options.visible) {\r\n bBox = this._checkImage(options.image) ? this._getImageBBox(x, y) : this._getSymbolBBox(x, y, options.styles.normal.r)\r\n } else {\r\n bBox = {\r\n x: x,\r\n y: y,\r\n width: 0,\r\n height: 0\r\n }\r\n }\r\n return bBox\r\n },\r\n hideInsideLabel: noop,\r\n _getShiftLabelCoords: function(label) {\r\n var coord = this._addLabelAlignmentAndOffset(label, this._getLabelCoords(label));\r\n return this._checkLabelPosition(label, coord)\r\n },\r\n _drawLabel: function() {\r\n var customVisibility = this._getCustomLabelVisibility();\r\n var label = this._label;\r\n var isVisible = this._showForZeroValues() && this.hasValue() && false !== customVisibility && (this.series.getLabelVisibility() || customVisibility);\r\n label.draw(!!isVisible)\r\n },\r\n correctLabelPosition: function(label) {\r\n var coord = this._getShiftLabelCoords(label);\r\n if (!this.hideInsideLabel(label, coord)) {\r\n label.setFigureToDrawConnector(this._getLabelConnector(label.pointPosition));\r\n label.shift(_round(coord.x), _round(coord.y))\r\n }\r\n },\r\n _showForZeroValues: function() {\r\n return true\r\n },\r\n _getLabelConnector: function(pointPosition) {\r\n var bBox = this._getGraphicBBox(pointPosition);\r\n var w2 = bBox.width / 2;\r\n var h2 = bBox.height / 2;\r\n return {\r\n x: bBox.x + w2,\r\n y: bBox.y + h2,\r\n r: this._options.visible ? Math.max(w2, h2) : 0\r\n }\r\n },\r\n _getPositionFromLocation: function() {\r\n return {\r\n x: this.x,\r\n y: this.y\r\n }\r\n },\r\n _isPointInVisibleArea: function(visibleArea, graphicBBox) {\r\n return visibleArea.minX <= graphicBBox.x + graphicBBox.width && visibleArea.maxX >= graphicBBox.x && visibleArea.minY <= graphicBBox.y + graphicBBox.height && visibleArea.maxY >= graphicBBox.y\r\n },\r\n _checkLabelPosition: function(label, coord) {\r\n var visibleArea = this._getVisibleArea();\r\n var labelBBox = label.getBoundingRect();\r\n var graphicBBox = this._getGraphicBBox(label.pointPosition);\r\n var fullGraphicBBox = this._getGraphicBBox();\r\n var isInside = \"inside\" === label.getLayoutOptions().position;\r\n var offset = LABEL_OFFSET;\r\n if (this._isPointInVisibleArea(visibleArea, fullGraphicBBox)) {\r\n if (!this._options.rotated) {\r\n if (visibleArea.minX > coord.x) {\r\n coord.x = visibleArea.minX\r\n }\r\n if (visibleArea.maxX < coord.x + labelBBox.width) {\r\n coord.x = visibleArea.maxX - labelBBox.width\r\n }\r\n if (visibleArea.minY > coord.y) {\r\n coord.y = isInside ? visibleArea.minY : graphicBBox.y + graphicBBox.height + offset\r\n }\r\n if (visibleArea.maxY < coord.y + labelBBox.height) {\r\n coord.y = isInside ? visibleArea.maxY - labelBBox.height : graphicBBox.y - labelBBox.height - offset\r\n }\r\n } else {\r\n if (visibleArea.minX > coord.x) {\r\n coord.x = isInside ? visibleArea.minX : graphicBBox.x + graphicBBox.width + offset\r\n }\r\n if (visibleArea.maxX < coord.x + labelBBox.width) {\r\n coord.x = isInside ? visibleArea.maxX - labelBBox.width : graphicBBox.x - offset - labelBBox.width\r\n }\r\n if (visibleArea.minY > coord.y) {\r\n coord.y = visibleArea.minY\r\n }\r\n if (visibleArea.maxY < coord.y + labelBBox.height) {\r\n coord.y = visibleArea.maxY - labelBBox.height\r\n }\r\n }\r\n }\r\n return coord\r\n },\r\n _addLabelAlignmentAndOffset: function(label, coord) {\r\n var labelBBox = label.getBoundingRect();\r\n var labelOptions = label.getLayoutOptions();\r\n if (!this._options.rotated) {\r\n if (\"left\" === labelOptions.alignment) {\r\n coord.x += labelBBox.width / 2\r\n } else if (\"right\" === labelOptions.alignment) {\r\n coord.x -= labelBBox.width / 2\r\n }\r\n }\r\n coord.x += labelOptions.horizontalOffset;\r\n coord.y += labelOptions.verticalOffset;\r\n return coord\r\n },\r\n _getLabelCoords: function(label) {\r\n return this._getLabelCoordOfPosition(label, this._getLabelPosition(label.pointPosition))\r\n },\r\n _getLabelCoordOfPosition: function(label, position) {\r\n var labelBBox = label.getBoundingRect();\r\n var graphicBBox = this._getGraphicBBox(label.pointPosition);\r\n var offset = LABEL_OFFSET;\r\n var centerY = graphicBBox.height / 2 - labelBBox.height / 2;\r\n var centerX = graphicBBox.width / 2 - labelBBox.width / 2;\r\n var x = graphicBBox.x;\r\n var y = graphicBBox.y;\r\n switch (position) {\r\n case \"left\":\r\n x -= labelBBox.width + offset;\r\n y += centerY;\r\n break;\r\n case \"right\":\r\n x += graphicBBox.width + offset;\r\n y += centerY;\r\n break;\r\n case \"top\":\r\n x += centerX;\r\n y -= labelBBox.height + offset;\r\n break;\r\n case \"bottom\":\r\n x += centerX;\r\n y += graphicBBox.height + offset;\r\n break;\r\n case \"inside\":\r\n x += centerX;\r\n y += centerY\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _drawMarker: function(renderer, group, animationEnabled) {\r\n var options = this._options;\r\n var translates = this._getTranslates(animationEnabled);\r\n var style = this._getStyle();\r\n this.graphic = this._createMarker(renderer, group, options.image, _extend({\r\n translateX: translates.x,\r\n translateY: translates.y,\r\n points: this._populatePointShape(options.symbol, style.r)\r\n }, style))\r\n },\r\n _getErrorBarSettings: function() {\r\n return {\r\n visibility: \"visible\"\r\n }\r\n },\r\n _getErrorBarBaseEdgeLength() {\r\n return 2 * this.getPointRadius()\r\n },\r\n _drawErrorBar: function(renderer, group) {\r\n if (!this._options.errorBars) {\r\n return\r\n }\r\n var options = this._options;\r\n var errorBarOptions = options.errorBars;\r\n var points = [];\r\n var settings;\r\n var pos = this._errorBarPos;\r\n var high = this._highErrorCoord;\r\n var low = this._lowErrorCoord;\r\n var displayMode = _normalizeEnum(errorBarOptions.displayMode);\r\n var isHighDisplayMode = \"high\" === displayMode;\r\n var isLowDisplayMode = \"low\" === displayMode;\r\n var highErrorOnly = (isHighDisplayMode || !_isDefined(low)) && _isDefined(high) && !isLowDisplayMode;\r\n var lowErrorOnly = (isLowDisplayMode || !_isDefined(high)) && _isDefined(low) && !isHighDisplayMode;\r\n var edgeLength = errorBarOptions.edgeLength;\r\n if (edgeLength <= 1 && edgeLength > 0) {\r\n edgeLength = this._getErrorBarBaseEdgeLength() * errorBarOptions.edgeLength\r\n }\r\n edgeLength = _floor(parseInt(edgeLength) / 2);\r\n highErrorOnly && (low = this._baseErrorBarPos);\r\n lowErrorOnly && (high = this._baseErrorBarPos);\r\n if (\"none\" !== displayMode && _isDefined(high) && _isDefined(low) && _isDefined(pos)) {\r\n !lowErrorOnly && points.push([pos - edgeLength, high, pos + edgeLength, high]);\r\n points.push([pos, high, pos, low]);\r\n !highErrorOnly && points.push([pos + edgeLength, low, pos - edgeLength, low]);\r\n options.rotated && each(points, (function(_, p) {\r\n p.reverse()\r\n }));\r\n settings = this._getErrorBarSettings(errorBarOptions);\r\n if (!this._errorBar) {\r\n this._errorBar = renderer.path(points, \"line\").attr(settings).append(group)\r\n } else {\r\n settings.points = points;\r\n this._errorBar.attr(settings)\r\n }\r\n } else {\r\n this._errorBar && this._errorBar.attr({\r\n visibility: \"hidden\"\r\n })\r\n }\r\n },\r\n getTooltipParams: function() {\r\n var graphic = this.graphic;\r\n return {\r\n x: this.x,\r\n y: this.y,\r\n offset: graphic ? graphic.getBBox().height / 2 : 0\r\n }\r\n },\r\n setPercentValue: function(absTotal, total, leftHoleTotal, rightHoleTotal) {\r\n var valuePercent = this.value / absTotal || 0;\r\n var minValuePercent = this.minValue / absTotal || 0;\r\n var percent = valuePercent - minValuePercent;\r\n this._label.setDataField(\"percent\", percent);\r\n this._label.setDataField(\"total\", total);\r\n if (this.series.isFullStackedSeries() && this.hasValue()) {\r\n if (this.leftHole) {\r\n this.leftHole /= absTotal - leftHoleTotal;\r\n this.minLeftHole /= absTotal - leftHoleTotal\r\n }\r\n if (this.rightHole) {\r\n this.rightHole /= absTotal - rightHoleTotal;\r\n this.minRightHole /= absTotal - rightHoleTotal\r\n }\r\n this.value = this.properValue = valuePercent;\r\n this.minValue = !minValuePercent ? this.minValue : minValuePercent\r\n }\r\n },\r\n _storeTrackerR: function() {\r\n var navigator = window.navigator;\r\n var r = this._options.styles.normal.r;\r\n var minTrackerSize = hasProperty(\"ontouchstart\") || navigator.msPointerEnabled && navigator.msMaxTouchPoints || navigator.pointerEnabled && navigator.maxTouchPoints ? 20 : 6;\r\n this._options.trackerR = r < minTrackerSize ? minTrackerSize : r;\r\n return this._options.trackerR\r\n },\r\n _translateErrorBars: function() {\r\n var options = this._options;\r\n var rotated = options.rotated;\r\n var errorBars = options.errorBars;\r\n var translator = this._getValTranslator();\r\n if (!errorBars) {\r\n return\r\n }\r\n _isDefined(this.lowError) && (this._lowErrorCoord = translator.translate(this.lowError));\r\n _isDefined(this.highError) && (this._highErrorCoord = translator.translate(this.highError));\r\n this._errorBarPos = _floor(rotated ? this.vy : this.vx);\r\n this._baseErrorBarPos = \"stdDeviation\" === errorBars.type ? this._lowErrorCoord + (this._highErrorCoord - this._lowErrorCoord) / 2 : rotated ? this.vx : this.vy\r\n },\r\n _translate: function() {\r\n var valTranslator = this._getValTranslator();\r\n var argTranslator = this._getArgTranslator();\r\n if (this._options.rotated) {\r\n this.vx = this.x = valTranslator.translate(this.value, void 0, true);\r\n this.vy = this.y = argTranslator.translate(this.argument, void 0, true);\r\n this.minX = valTranslator.translate(this.minValue, void 0, true);\r\n this.defaultX = valTranslator.translate(CANVAS_POSITION_DEFAULT)\r\n } else {\r\n this.vy = this.y = valTranslator.translate(this.value, void 0, true);\r\n this.vx = this.x = argTranslator.translate(this.argument, void 0, true);\r\n this.minY = valTranslator.translate(this.minValue, void 0, true);\r\n this.defaultY = valTranslator.translate(CANVAS_POSITION_DEFAULT)\r\n }\r\n this._translateErrorBars();\r\n this._calculateVisibility(this.x, this.y)\r\n },\r\n _updateData: function(data) {\r\n this.value = this.properValue = this.initialValue = this.originalValue = data.value;\r\n this.minValue = this.initialMinValue = this.originalMinValue = _isDefined(data.minValue) ? data.minValue : CANVAS_POSITION_DEFAULT\r\n },\r\n _getImageSettings: function(image) {\r\n return {\r\n href: image.url || image.toString(),\r\n width: image.width || DEFAULT_IMAGE_WIDTH,\r\n height: image.height || DEFAULT_IMAGE_HEIGHT\r\n }\r\n },\r\n getCrosshairData: function() {\r\n var r = this._options.rotated;\r\n var value = this.properValue;\r\n var argument = this.argument;\r\n return {\r\n x: this.vx,\r\n y: this.vy,\r\n xValue: r ? value : argument,\r\n yValue: r ? argument : value,\r\n axis: this.series.axis\r\n }\r\n },\r\n getPointRadius: function() {\r\n var style = this._getStyle();\r\n var options = this._options;\r\n var r = style.r;\r\n var extraSpace;\r\n var symbol = options.symbol;\r\n var isSquare = \"square\" === symbol;\r\n var isTriangle = \"triangle\" === symbol || \"triangleDown\" === symbol || \"triangleUp\" === symbol;\r\n if (options.visible && !options.image && r) {\r\n extraSpace = style[\"stroke-width\"] / 2;\r\n return (isSquare || isTriangle ? 1.4 * r : r) + extraSpace\r\n }\r\n return 0\r\n },\r\n _updateMarker: function(animationEnabled, style) {\r\n var options = this._options;\r\n var settings;\r\n var image = options.image;\r\n var visibility = !this.isVisible() ? {\r\n visibility: \"hidden\"\r\n } : {};\r\n if (this._checkImage(image)) {\r\n settings = _extend({}, {\r\n visibility: style.visibility\r\n }, visibility, this._getImageSettings(image))\r\n } else {\r\n settings = _extend({}, style, visibility, {\r\n points: this._populatePointShape(options.symbol, style.r)\r\n })\r\n }\r\n if (!animationEnabled) {\r\n settings.translateX = this.x;\r\n settings.translateY = this.y\r\n }\r\n this.graphic.attr(settings).sharp()\r\n },\r\n _getLabelFormatObject: function() {\r\n return {\r\n argument: this.initialArgument,\r\n value: this.initialValue,\r\n originalArgument: this.originalArgument,\r\n originalValue: this.originalValue,\r\n seriesName: this.series.name,\r\n lowErrorValue: this.lowError,\r\n highErrorValue: this.highError,\r\n point: this\r\n }\r\n },\r\n _getLabelPosition: function() {\r\n var rotated = this._options.rotated;\r\n if (this.initialValue > 0) {\r\n return rotated ? \"right\" : \"top\"\r\n } else {\r\n return rotated ? \"left\" : \"bottom\"\r\n }\r\n },\r\n _getFormatObject: function(tooltip) {\r\n var labelFormatObject = this._label.getData();\r\n return _extend({}, labelFormatObject, {\r\n argumentText: tooltip.formatValue(this.initialArgument, \"argument\"),\r\n valueText: tooltip.formatValue(this.initialValue)\r\n }, _isDefined(labelFormatObject.percent) ? {\r\n percentText: tooltip.formatValue(labelFormatObject.percent, \"percent\")\r\n } : {}, _isDefined(labelFormatObject.total) ? {\r\n totalText: tooltip.formatValue(labelFormatObject.total)\r\n } : {})\r\n },\r\n getMarkerVisibility: function() {\r\n return this._options.visible\r\n },\r\n coordsIn: function(x, y) {\r\n var trackerRadius = this._storeTrackerR();\r\n return x >= this.x - trackerRadius && x <= this.x + trackerRadius && y >= this.y - trackerRadius && y <= this.y + trackerRadius\r\n },\r\n getMinValue: function(noErrorBar) {\r\n var errorBarOptions = this._options.errorBars;\r\n if (errorBarOptions && !noErrorBar) {\r\n var displayMode = errorBarOptions.displayMode;\r\n var lowValue = \"high\" !== displayMode && _isDefined(this.lowError) ? this.lowError : this.value;\r\n var highValue = \"low\" !== displayMode && _isDefined(this.highError) ? this.highError : this.value;\r\n return lowValue < highValue ? lowValue : highValue\r\n } else {\r\n return this.value\r\n }\r\n },\r\n getMaxValue: function(noErrorBar) {\r\n var errorBarOptions = this._options.errorBars;\r\n if (errorBarOptions && !noErrorBar) {\r\n var displayMode = errorBarOptions.displayMode;\r\n var lowValue = \"high\" !== displayMode && _isDefined(this.lowError) ? this.lowError : this.value;\r\n var highValue = \"low\" !== displayMode && _isDefined(this.highError) ? this.highError : this.value;\r\n return lowValue > highValue ? lowValue : highValue\r\n } else {\r\n return this.value\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/points/bar_point.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nvar _extend = extend;\r\nvar _math = Math;\r\nvar _floor = _math.floor;\r\nvar _abs = _math.abs;\r\nimport symbolPoint from \"./symbol_point\";\r\nvar CANVAS_POSITION_DEFAULT = \"canvas_position_default\";\r\nvar DEFAULT_BAR_TRACKER_SIZE = 9;\r\nvar CORRECTING_BAR_TRACKER_VALUE = 4;\r\nvar RIGHT = \"right\";\r\nvar LEFT = \"left\";\r\nvar TOP = \"top\";\r\nvar BOTTOM = \"bottom\";\r\n\r\nfunction getLabelOrientation(point) {\r\n var initialValue = point.initialValue;\r\n var invert = point._getValTranslator().getBusinessRange().invert;\r\n var isDiscreteValue = \"discrete\" === point.series.valueAxisType;\r\n var isFullStacked = point.series.isFullStackedSeries();\r\n var notAxisInverted = !isDiscreteValue && (initialValue >= 0 && !invert || initialValue < 0 && invert) || isDiscreteValue && !invert || isFullStacked;\r\n return notAxisInverted ? TOP : BOTTOM\r\n}\r\nexport default _extend({}, symbolPoint, {\r\n correctCoordinates(correctOptions) {\r\n var correction = _floor(correctOptions.offset - correctOptions.width / 2);\r\n if (this._options.rotated) {\r\n this.height = correctOptions.width;\r\n this.yCorrection = correction;\r\n this.xCorrection = null\r\n } else {\r\n this.width = correctOptions.width;\r\n this.xCorrection = correction;\r\n this.yCorrection = null\r\n }\r\n },\r\n _calculateVisibility: function(x, y, width, height) {\r\n var {\r\n minX: minX,\r\n maxX: maxX,\r\n minY: minY,\r\n maxY: maxY\r\n } = this._getVisibleArea();\r\n this.inVisibleArea = minX <= x + width && maxX >= x && minY <= y + height && maxY >= y\r\n },\r\n _cacheVisibility: function(x, y, minY, rotated) {\r\n var size = Math.abs(y - minY);\r\n y = Math.min(y, minY);\r\n if (rotated) {\r\n this._calculateVisibility(y, x, size, this.height)\r\n } else {\r\n this._calculateVisibility(x, y, this.width, size)\r\n }\r\n },\r\n _getGraphicBBox: function(location) {\r\n var bBox = {\r\n x: this.x,\r\n y: this.y,\r\n width: this.width,\r\n height: this.height\r\n };\r\n if (location) {\r\n var isTop = \"top\" === location;\r\n if (!this._options.rotated) {\r\n bBox.y = isTop ? bBox.y : bBox.y + bBox.height;\r\n bBox.height = 0\r\n } else {\r\n bBox.x = isTop ? bBox.x + bBox.width : bBox.x;\r\n bBox.width = 0\r\n }\r\n }\r\n return bBox\r\n },\r\n _getLabelConnector: function(location) {\r\n return this._getGraphicBBox(location)\r\n },\r\n _getLabelPosition: function() {\r\n var position = getLabelOrientation(this);\r\n if (this._options.rotated) {\r\n position = position === TOP ? RIGHT : LEFT\r\n }\r\n return position\r\n },\r\n _getLabelCoords: function(label) {\r\n var coords;\r\n if (0 === this.initialValue && this.series.isFullStackedSeries()) {\r\n if (!this._options.rotated) {\r\n coords = this._getLabelCoordOfPosition(label, TOP)\r\n } else {\r\n coords = this._getLabelCoordOfPosition(label, RIGHT)\r\n }\r\n } else if (\"inside\" === label.getLayoutOptions().position) {\r\n coords = this._getLabelCoordOfPosition(label, \"inside\")\r\n } else {\r\n coords = symbolPoint._getLabelCoords.call(this, label)\r\n }\r\n return coords\r\n },\r\n _drawLabel: function() {\r\n this._label.pointPosition = \"inside\" !== this._label.getLayoutOptions().position && getLabelOrientation(this);\r\n symbolPoint._drawLabel.call(this)\r\n },\r\n hideInsideLabel: function(label, coord) {\r\n var graphicBBox = this._getGraphicBBox();\r\n var labelBBox = label.getBoundingRect();\r\n if (this._options.resolveLabelsOverlapping) {\r\n if ((coord.y <= graphicBBox.y && coord.y + labelBBox.height >= graphicBBox.y + graphicBBox.height || coord.x <= graphicBBox.x && coord.x + labelBBox.width >= graphicBBox.x + graphicBBox.width) && !(coord.y > graphicBBox.y + graphicBBox.height || coord.y + labelBBox.height < graphicBBox.y || coord.x > graphicBBox.x + graphicBBox.width || coord.x + labelBBox.width < graphicBBox.x)) {\r\n label.draw(false);\r\n return true\r\n }\r\n }\r\n return false\r\n },\r\n _showForZeroValues: function() {\r\n return this._options.label.showForZeroValues || this.initialValue\r\n },\r\n _drawMarker(renderer, group, animationEnabled) {\r\n var style = this._getStyle();\r\n var r = this._options.cornerRadius;\r\n var rotated = this._options.rotated;\r\n var {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n } = this.getMarkerCoords();\r\n if (animationEnabled) {\r\n if (rotated) {\r\n width = 0;\r\n x = this.defaultX\r\n } else {\r\n height = 0;\r\n y = this.defaultY\r\n }\r\n }\r\n this.graphic = renderer.rect(x, y, width, height).attr({\r\n rx: r,\r\n ry: r\r\n }).smartAttr(style).data({\r\n \"chart-data-point\": this\r\n }).append(group)\r\n },\r\n _getSettingsForTracker: function() {\r\n var y = this.y;\r\n var height = this.height;\r\n var x = this.x;\r\n var width = this.width;\r\n if (this._options.rotated) {\r\n if (1 === width) {\r\n width = DEFAULT_BAR_TRACKER_SIZE;\r\n x -= CORRECTING_BAR_TRACKER_VALUE\r\n }\r\n } else if (1 === height) {\r\n height = DEFAULT_BAR_TRACKER_SIZE;\r\n y -= CORRECTING_BAR_TRACKER_VALUE\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n }\r\n },\r\n getGraphicSettings: function() {\r\n var graphic = this.graphic;\r\n return {\r\n x: graphic.attr(\"x\"),\r\n y: graphic.attr(\"y\"),\r\n height: graphic.attr(\"height\"),\r\n width: graphic.attr(\"width\")\r\n }\r\n },\r\n _getEdgeTooltipParams() {\r\n var isPositive = this.value >= 0;\r\n var xCoord;\r\n var yCoord;\r\n var invertedBusinessRange = this._getValTranslator().getBusinessRange().invert;\r\n var {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n } = this;\r\n if (this._options.rotated) {\r\n yCoord = y + height / 2;\r\n if (invertedBusinessRange) {\r\n xCoord = isPositive ? x : x + width\r\n } else {\r\n xCoord = isPositive ? x + width : x\r\n }\r\n } else {\r\n xCoord = x + width / 2;\r\n if (invertedBusinessRange) {\r\n yCoord = isPositive ? y + height : y\r\n } else {\r\n yCoord = isPositive ? y : y + height\r\n }\r\n }\r\n return {\r\n x: xCoord,\r\n y: yCoord,\r\n offset: 0\r\n }\r\n },\r\n getTooltipParams: function(location) {\r\n if (\"edge\" === location) {\r\n return this._getEdgeTooltipParams()\r\n }\r\n var center = this.getCenterCoord();\r\n center.offset = 0;\r\n return center\r\n },\r\n getCenterCoord() {\r\n var {\r\n width: width,\r\n height: height,\r\n x: x,\r\n y: y\r\n } = this;\r\n return {\r\n x: x + width / 2,\r\n y: y + height / 2\r\n }\r\n },\r\n _truncateCoord: function(coord, bounds) {\r\n if (null === coord) {\r\n return coord\r\n }\r\n if (coord < bounds[0]) {\r\n return bounds[0]\r\n }\r\n if (coord > bounds[1]) {\r\n return bounds[1]\r\n }\r\n return coord\r\n },\r\n _getErrorBarBaseEdgeLength() {\r\n return this._options.rotated ? this.height : this.width\r\n },\r\n _translateErrorBars: function(argVisibleArea) {\r\n symbolPoint._translateErrorBars.call(this);\r\n if (this._errorBarPos < argVisibleArea[0] || this._errorBarPos > argVisibleArea[1]) {\r\n this._errorBarPos = void 0\r\n }\r\n },\r\n _translate: function() {\r\n var rotated = this._options.rotated;\r\n var valAxis = rotated ? \"x\" : \"y\";\r\n var argAxis = rotated ? \"y\" : \"x\";\r\n var valIntervalName = rotated ? \"width\" : \"height\";\r\n var argIntervalName = rotated ? \"height\" : \"width\";\r\n var argTranslator = this._getArgTranslator();\r\n var valTranslator = this._getValTranslator();\r\n var argVisibleArea = this.series.getArgumentAxis().getVisibleArea();\r\n var valVisibleArea = this.series.getValueAxis().getVisibleArea();\r\n var arg = argTranslator.translate(this.argument);\r\n var val = valTranslator.translate(this.value, 1);\r\n var minVal = valTranslator.translate(this.minValue, -1);\r\n this[argAxis] = arg = null === arg ? arg : arg + (this[argAxis + \"Correction\"] || 0);\r\n this[\"v\" + valAxis] = val;\r\n this[\"v\" + argAxis] = arg + this[argIntervalName] / 2;\r\n this._cacheVisibility(arg, val, minVal, rotated);\r\n val = this._truncateCoord(val, valVisibleArea);\r\n minVal = this._truncateCoord(minVal, valVisibleArea);\r\n this[valIntervalName] = _abs(val - minVal);\r\n val = val < minVal ? val : minVal;\r\n this[valAxis] = null === val ? val : val + (this[valAxis + \"Correction\"] || 0);\r\n this[\"min\" + valAxis.toUpperCase()] = null === minVal ? minVal : minVal + (this[valAxis + \"Correction\"] || 0);\r\n this[\"default\" + valAxis.toUpperCase()] = valTranslator.translate(CANVAS_POSITION_DEFAULT);\r\n this._translateErrorBars(argVisibleArea);\r\n if (this.inVisibleArea && null !== this[argAxis]) {\r\n if (this[argAxis] < argVisibleArea[0]) {\r\n this[argIntervalName] = this[argIntervalName] - (argVisibleArea[0] - this[argAxis]);\r\n this[argAxis] = argVisibleArea[0]\r\n }\r\n if (this[argAxis] + this[argIntervalName] > argVisibleArea[1]) {\r\n this[argIntervalName] = argVisibleArea[1] - this[argAxis]\r\n }\r\n }\r\n },\r\n _updateMarker: function(animationEnabled, style) {\r\n this.graphic.smartAttr(_extend({}, style, !animationEnabled ? this.getMarkerCoords() : {}))\r\n },\r\n getMarkerCoords: function() {\r\n var x = this.x;\r\n var y = this.y;\r\n var width = this.width;\r\n var height = this.height;\r\n var argAxis = this.series.getArgumentAxis();\r\n var rotated = this._options.rotated;\r\n if (argAxis.getAxisPosition) {\r\n var axisOptions = argAxis.getOptions();\r\n var edgeOffset = Math.round(axisOptions.width / 2);\r\n var argAxisPosition = argAxis.getAxisPosition();\r\n if (axisOptions.visible) {\r\n if (!rotated) {\r\n height -= this.minY === this.defaultY && this.minY === argAxisPosition - argAxis.getAxisShift() ? edgeOffset : 0;\r\n height < 0 && (height = 0)\r\n } else {\r\n var isStartFromAxis = this.minX === this.defaultX && this.minX === argAxisPosition - argAxis.getAxisShift();\r\n x += isStartFromAxis ? edgeOffset : 0;\r\n width -= isStartFromAxis ? edgeOffset : 0;\r\n width < 0 && (width = 0)\r\n }\r\n }\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n }\r\n },\r\n coordsIn: function(x, y) {\r\n return x >= this.x && x <= this.x + this.width && y >= this.y && y <= this.y + this.height\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/bubble_point.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport symbolPoint from \"./symbol_point\";\r\nvar _extend = extend;\r\nvar MIN_BUBBLE_HEIGHT = 20;\r\nexport default _extend({}, symbolPoint, {\r\n correctCoordinates: function(diameter) {\r\n this.bubbleSize = diameter / 2\r\n },\r\n _drawMarker: function(renderer, group, animationEnabled) {\r\n var attr = _extend({\r\n translateX: this.x,\r\n translateY: this.y\r\n }, this._getStyle());\r\n this.graphic = renderer.circle(0, 0, animationEnabled ? 0 : this.bubbleSize).smartAttr(attr).data({\r\n \"chart-data-point\": this\r\n }).append(group)\r\n },\r\n getTooltipParams: function(location) {\r\n var graphic = this.graphic;\r\n if (!graphic) {\r\n return\r\n }\r\n var height = graphic.getBBox().height;\r\n return {\r\n x: this.x,\r\n y: this.y,\r\n offset: height < MIN_BUBBLE_HEIGHT || \"edge\" === location ? height / 2 : 0\r\n }\r\n },\r\n _getLabelFormatObject: function() {\r\n var formatObject = symbolPoint._getLabelFormatObject.call(this);\r\n formatObject.size = this.initialSize;\r\n return formatObject\r\n },\r\n _updateData: function(data) {\r\n symbolPoint._updateData.call(this, data);\r\n this.size = this.initialSize = data.size\r\n },\r\n _getGraphicBBox: function() {\r\n return this._getSymbolBBox(this.x, this.y, this.bubbleSize)\r\n },\r\n _updateMarker: function(animationEnabled, style) {\r\n if (!animationEnabled) {\r\n style = _extend({\r\n r: this.bubbleSize,\r\n translateX: this.x,\r\n translateY: this.y\r\n }, style)\r\n }\r\n this.graphic.smartAttr(style)\r\n },\r\n _getFormatObject: function(tooltip) {\r\n var formatObject = symbolPoint._getFormatObject.call(this, tooltip);\r\n formatObject.sizeText = tooltip.formatValue(this.initialSize);\r\n return formatObject\r\n },\r\n _storeTrackerR: function() {\r\n return this.bubbleSize\r\n },\r\n _getLabelCoords: function(label) {\r\n var coords;\r\n if (\"inside\" === label.getLayoutOptions().position) {\r\n coords = this._getLabelCoordOfPosition(label, \"inside\")\r\n } else {\r\n coords = symbolPoint._getLabelCoords.call(this, label)\r\n }\r\n return coords\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/pie_point.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport symbolPoint from \"./symbol_point\";\r\nvar _extend = extend;\r\nvar _round = Math.round;\r\nvar _sqrt = Math.sqrt;\r\nvar _acos = Math.acos;\r\nvar DEG = 180 / Math.PI;\r\nvar _abs = Math.abs;\r\nimport {\r\n getVerticallyShiftedAngularCoords,\r\n normalizeAngle as _normalizeAngle,\r\n getCosAndSin as _getCosAndSin\r\n} from \"../../core/utils\";\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../../core/utils/type\";\r\nimport consts from \"../../components/consts\";\r\nvar RADIAL_LABEL_INDENT = consts.radialLabelIndent;\r\nexport default _extend({}, symbolPoint, {\r\n _updateData: function(data, argumentChanged) {\r\n symbolPoint._updateData.call(this, data);\r\n if (argumentChanged || !_isDefined(this._visible)) {\r\n this._visible = true\r\n }\r\n this.minValue = this.initialMinValue = this.originalMinValue = _isDefined(data.minValue) ? data.minValue : 0\r\n },\r\n animate: function(complete, duration, delay) {\r\n this.graphic.animate({\r\n x: this.centerX,\r\n y: this.centerY,\r\n outerRadius: this.radiusOuter,\r\n innerRadius: this.radiusInner,\r\n startAngle: this.toAngle,\r\n endAngle: this.fromAngle\r\n }, {\r\n delay: delay,\r\n partitionDuration: duration\r\n }, complete)\r\n },\r\n correctPosition: function(correction) {\r\n this.correctRadius(correction);\r\n this.correctLabelRadius(correction.radiusOuter + RADIAL_LABEL_INDENT);\r\n this.centerX = correction.centerX;\r\n this.centerY = correction.centerY\r\n },\r\n correctRadius: function(correction) {\r\n this.radiusInner = correction.radiusInner;\r\n this.radiusOuter = correction.radiusOuter\r\n },\r\n correctLabelRadius: function(radiusLabels) {\r\n this.radiusLabels = radiusLabels\r\n },\r\n correctValue: function(correction, percent, base) {\r\n this.value = (base || this.normalInitialValue) + correction;\r\n this.minValue = correction;\r\n this.percent = percent;\r\n this._label.setDataField(\"percent\", percent)\r\n },\r\n _updateLabelData: function() {\r\n this._label.setData(this._getLabelFormatObject())\r\n },\r\n _getShiftLabelCoords: function() {\r\n var bBox = this._label.getBoundingRect();\r\n var coord = this._getLabelCoords(this._label);\r\n var visibleArea = this._getVisibleArea();\r\n if (this._isLabelDrawingWithoutPoints) {\r\n return this._checkLabelPosition(coord, bBox, visibleArea)\r\n } else {\r\n return this._getLabelExtraCoord(coord, this._checkVerticalLabelPosition(coord, bBox, visibleArea), bBox)\r\n }\r\n },\r\n _getLabelPosition: function(options) {\r\n return options.position\r\n },\r\n getAnnotationCoords: function(location) {\r\n return this._getElementCoords(\"edge\" !== location ? \"inside\" : \"outside\", this.radiusOuter, 0)\r\n },\r\n _getElementCoords: function(position, elementRadius, radialOffset) {\r\n var bBox = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n };\r\n var that = this;\r\n var angleFunctions = _getCosAndSin(that.middleAngle);\r\n var radiusInner = that.radiusInner;\r\n var radiusOuter = that.radiusOuter;\r\n var columnsPosition = \"columns\" === position;\r\n var rad;\r\n var x;\r\n if (\"inside\" === position) {\r\n rad = radiusInner + (radiusOuter - radiusInner) / 2 + radialOffset;\r\n x = that.centerX + rad * angleFunctions.cos - bBox.width / 2\r\n } else {\r\n rad = elementRadius + radialOffset;\r\n if (angleFunctions.cos > .1 || columnsPosition && angleFunctions.cos >= 0) {\r\n x = that.centerX + rad * angleFunctions.cos\r\n } else if (angleFunctions.cos < -.1 || columnsPosition && angleFunctions.cos < 0) {\r\n x = that.centerX + rad * angleFunctions.cos - bBox.width\r\n } else {\r\n x = that.centerX + rad * angleFunctions.cos - bBox.width / 2\r\n }\r\n }\r\n return {\r\n x: x,\r\n y: _round(that.centerY - rad * angleFunctions.sin - bBox.height / 2)\r\n }\r\n },\r\n _getLabelCoords: function(label) {\r\n var bBox = label.getBoundingRect();\r\n var options = label.getLayoutOptions();\r\n var position = this._getLabelPosition(options);\r\n return this._getElementCoords(position, this.radiusLabels, options.radialOffset, bBox)\r\n },\r\n _correctLabelCoord: function(coord, moveLabelsFromCenter) {\r\n var label = this._label;\r\n var bBox = label.getBoundingRect();\r\n var labelWidth = bBox.width;\r\n var options = label.getLayoutOptions();\r\n var visibleArea = this._getVisibleArea();\r\n var rightBorderX = visibleArea.maxX - labelWidth;\r\n var leftBorderX = visibleArea.minX;\r\n var angleOfPoint = _normalizeAngle(this.middleAngle);\r\n var centerX = this.centerX;\r\n var connectorOffset = options.connectorOffset;\r\n var x = coord.x;\r\n if (\"columns\" === options.position) {\r\n if (angleOfPoint <= 90 || angleOfPoint >= 270) {\r\n x = rightBorderX\r\n } else {\r\n x = leftBorderX\r\n }\r\n coord.x = x\r\n } else if (\"inside\" !== options.position && moveLabelsFromCenter) {\r\n if (angleOfPoint <= 90 || angleOfPoint >= 270) {\r\n if (x - connectorOffset < centerX) {\r\n x = centerX + connectorOffset\r\n }\r\n } else if (x + labelWidth + connectorOffset > centerX) {\r\n x = centerX - labelWidth - connectorOffset\r\n }\r\n coord.x = x\r\n }\r\n return coord\r\n },\r\n drawLabel: function() {\r\n this.translate();\r\n this._isLabelDrawingWithoutPoints = true;\r\n this._drawLabel();\r\n this._isLabelDrawingWithoutPoints = false\r\n },\r\n updateLabelCoord: function(moveLabelsFromCenter) {\r\n var bBox = this._label.getBoundingRect();\r\n var coord = this._correctLabelCoord(bBox, moveLabelsFromCenter);\r\n coord = this._checkHorizontalLabelPosition(coord, bBox, this._getVisibleArea());\r\n this._label.shift(_round(coord.x), _round(bBox.y))\r\n },\r\n _checkVerticalLabelPosition: function(coord, box, visibleArea) {\r\n var x = coord.x;\r\n var y = coord.y;\r\n if (coord.y + box.height > visibleArea.maxY) {\r\n y = visibleArea.maxY - box.height\r\n } else if (coord.y < visibleArea.minY) {\r\n y = visibleArea.minY\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _getLabelExtraCoord: function(coord, shiftCoord, box) {\r\n return coord.y !== shiftCoord.y ? getVerticallyShiftedAngularCoords({\r\n x: coord.x,\r\n y: coord.y,\r\n width: box.width,\r\n height: box.height\r\n }, shiftCoord.y - coord.y, {\r\n x: this.centerX,\r\n y: this.centerY\r\n }) : coord\r\n },\r\n _checkHorizontalLabelPosition: function(coord, box, visibleArea) {\r\n var x = coord.x;\r\n var y = coord.y;\r\n if (coord.x + box.width > visibleArea.maxX) {\r\n x = visibleArea.maxX - box.width\r\n } else if (coord.x < visibleArea.minX) {\r\n x = visibleArea.minX\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n applyWordWrap: function(moveLabelsFromCenter) {\r\n var label = this._label;\r\n var box = label.getBoundingRect();\r\n var visibleArea = this._getVisibleArea();\r\n var position = label.getLayoutOptions().position;\r\n var width = box.width;\r\n var rowCountChanged = false;\r\n if (\"columns\" === position && this.series.index > 0) {\r\n width = visibleArea.maxX - this.centerX - this.radiusLabels\r\n } else if (\"inside\" === position) {\r\n if (width > visibleArea.maxX - visibleArea.minX) {\r\n width = visibleArea.maxX - visibleArea.minX\r\n }\r\n } else if (moveLabelsFromCenter && box.x < this.centerX && box.width + box.x > this.centerX) {\r\n width = Math.floor((visibleArea.maxX - visibleArea.minX) / 2)\r\n } else if (box.x + width > visibleArea.maxX) {\r\n width = visibleArea.maxX - box.x\r\n } else if (box.x < visibleArea.minX) {\r\n width = box.x + width - visibleArea.minX\r\n }\r\n if (width < box.width) {\r\n rowCountChanged = label.fit(width)\r\n }\r\n return rowCountChanged\r\n },\r\n setLabelTrackerData: function() {\r\n this._label.setTrackerData(this)\r\n },\r\n _checkLabelPosition: function(coord, bBox, visibleArea) {\r\n coord = this._checkHorizontalLabelPosition(coord, bBox, visibleArea);\r\n return this._checkVerticalLabelPosition(coord, bBox, visibleArea)\r\n },\r\n _getLabelConnector: function() {\r\n var rad = this.radiusOuter;\r\n var seriesStyle = this._options.styles.normal;\r\n var strokeWidthBy2 = seriesStyle[\"stroke-width\"] / 2;\r\n var borderWidth = this.series.getOptions().containerBackgroundColor === seriesStyle.stroke ? _round(strokeWidthBy2) : _round(-strokeWidthBy2);\r\n var angleFunctions = _getCosAndSin(_round(this.middleAngle));\r\n return {\r\n x: _round(this.centerX + (rad - borderWidth) * angleFunctions.cos),\r\n y: _round(this.centerY - (rad - borderWidth) * angleFunctions.sin),\r\n angle: this.middleAngle\r\n }\r\n },\r\n _drawMarker: function(renderer, group, animationEnabled, firstDrawing) {\r\n var radiusOuter = this.radiusOuter;\r\n var radiusInner = this.radiusInner;\r\n var fromAngle = this.fromAngle;\r\n var toAngle = this.toAngle;\r\n if (animationEnabled) {\r\n radiusInner = radiusOuter = 0;\r\n if (!firstDrawing) {\r\n fromAngle = toAngle = this.shiftedAngle\r\n }\r\n }\r\n this.graphic = renderer.arc(this.centerX, this.centerY, radiusInner, radiusOuter, toAngle, fromAngle).attr({\r\n \"stroke-linejoin\": \"round\"\r\n }).smartAttr(this._getStyle()).data({\r\n \"chart-data-point\": this\r\n }).sharp().append(group)\r\n },\r\n getTooltipParams: function() {\r\n var angleFunctions = _getCosAndSin(this.middleAngle);\r\n var radiusInner = this.radiusInner;\r\n var radiusOuter = this.radiusOuter;\r\n return {\r\n x: this.centerX + (radiusInner + (radiusOuter - radiusInner) / 2) * angleFunctions.cos,\r\n y: this.centerY - (radiusInner + (radiusOuter - radiusInner) / 2) * angleFunctions.sin,\r\n offset: 0\r\n }\r\n },\r\n _translate: function() {\r\n var angle = this.shiftedAngle || 0;\r\n var value = this.value;\r\n var minValue = this.minValue;\r\n var translator = this._getValTranslator();\r\n this.fromAngle = translator.translate(minValue) + angle;\r\n this.toAngle = translator.translate(value) + angle;\r\n this.middleAngle = translator.translate((value - minValue) / 2 + minValue) + angle;\r\n if (!this.isVisible()) {\r\n this.middleAngle = this.toAngle = this.fromAngle = this.fromAngle || angle\r\n }\r\n },\r\n getMarkerVisibility: function() {\r\n return true\r\n },\r\n _updateMarker: function(animationEnabled, style, _, callback) {\r\n if (!animationEnabled) {\r\n style = _extend({\r\n x: this.centerX,\r\n y: this.centerY,\r\n outerRadius: this.radiusOuter,\r\n innerRadius: this.radiusInner,\r\n startAngle: this.toAngle,\r\n endAngle: this.fromAngle\r\n }, style)\r\n }\r\n this.graphic.smartAttr(style).sharp();\r\n callback && callback()\r\n },\r\n getLegendStyles: function() {\r\n return this._styles.legendStyles\r\n },\r\n isInVisibleArea: function() {\r\n return true\r\n },\r\n hide: function() {\r\n if (this._visible) {\r\n this._visible = false;\r\n this.hideTooltip();\r\n this._options.visibilityChanged()\r\n }\r\n },\r\n show: function() {\r\n if (!this._visible) {\r\n this._visible = true;\r\n this._options.visibilityChanged()\r\n }\r\n },\r\n setInvisibility: function() {\r\n this._label.draw(false)\r\n },\r\n isVisible: function() {\r\n return this._visible\r\n },\r\n _getFormatObject: function(tooltip) {\r\n var formatObject = symbolPoint._getFormatObject.call(this, tooltip);\r\n var percent = this.percent;\r\n formatObject.percent = percent;\r\n formatObject.percentText = tooltip.formatValue(percent, \"percent\");\r\n return formatObject\r\n },\r\n getColor: function() {\r\n return this._styles.normal.fill\r\n },\r\n coordsIn: function(x, y) {\r\n var lx = x - this.centerX;\r\n var ly = y - this.centerY;\r\n var r = _sqrt(lx * lx + ly * ly);\r\n var fromAngle = this.fromAngle % 360;\r\n var toAngle = this.toAngle % 360;\r\n var angle;\r\n if (r < this.radiusInner || r > this.radiusOuter || 0 === r) {\r\n return false\r\n }\r\n angle = _acos(lx / r) * DEG * (ly > 0 ? -1 : 1);\r\n if (angle < 0) {\r\n angle += 360\r\n }\r\n if (fromAngle === toAngle && _abs(this.toAngle - this.fromAngle) > 1e-4) {\r\n return true\r\n } else {\r\n return fromAngle >= toAngle ? angle <= fromAngle && angle >= toAngle : !(angle >= fromAngle && angle <= toAngle)\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/range_symbol_point.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n Label\r\n} from \"./label\";\r\nimport symbolPoint from \"./symbol_point\";\r\nvar _extend = extend;\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../../core/utils/type\";\r\nvar _math = Math;\r\nvar _abs = _math.abs;\r\nvar _min = _math.min;\r\nvar _max = _math.max;\r\nvar _round = _math.round;\r\nvar DEFAULT_IMAGE_WIDTH = 20;\r\nvar DEFAULT_IMAGE_HEIGHT = 20;\r\nexport default _extend({}, symbolPoint, {\r\n deleteLabel: function() {\r\n this._topLabel.dispose();\r\n this._topLabel = null;\r\n this._bottomLabel.dispose();\r\n this._bottomLabel = null\r\n },\r\n hideMarker: function(type) {\r\n var graphic = this.graphic;\r\n var marker = graphic && graphic[type + \"Marker\"];\r\n var label = this[\"_\" + type + \"Label\"];\r\n if (marker && \"hidden\" !== marker.attr(\"visibility\")) {\r\n marker.attr({\r\n visibility: \"hidden\"\r\n })\r\n }\r\n label.draw(false)\r\n },\r\n setInvisibility: function() {\r\n this.hideMarker(\"top\");\r\n this.hideMarker(\"bottom\")\r\n },\r\n clearVisibility: function() {\r\n var graphic = this.graphic;\r\n var topMarker = graphic && graphic.topMarker;\r\n var bottomMarker = graphic && graphic.bottomMarker;\r\n if (topMarker && topMarker.attr(\"visibility\")) {\r\n topMarker.attr({\r\n visibility: null\r\n })\r\n }\r\n if (bottomMarker && bottomMarker.attr(\"visibility\")) {\r\n bottomMarker.attr({\r\n visibility: null\r\n })\r\n }\r\n },\r\n clearMarker: function() {\r\n var graphic = this.graphic;\r\n var topMarker = graphic && graphic.topMarker;\r\n var bottomMarker = graphic && graphic.bottomMarker;\r\n var emptySettings = this._emptySettings;\r\n topMarker && topMarker.attr(emptySettings);\r\n bottomMarker && bottomMarker.attr(emptySettings)\r\n },\r\n _getLabelPosition: function(markerType) {\r\n var position;\r\n var labelsInside = \"inside\" === this._options.label.position;\r\n if (!this._options.rotated) {\r\n position = \"top\" === markerType ^ labelsInside ? \"top\" : \"bottom\"\r\n } else {\r\n position = \"top\" === markerType ^ labelsInside ? \"right\" : \"left\"\r\n }\r\n return position\r\n },\r\n _getLabelMinFormatObject: function() {\r\n return {\r\n index: 0,\r\n argument: this.initialArgument,\r\n value: this.initialMinValue,\r\n seriesName: this.series.name,\r\n originalValue: this.originalMinValue,\r\n originalArgument: this.originalArgument,\r\n point: this\r\n }\r\n },\r\n _updateLabelData: function() {\r\n var maxFormatObject = this._getLabelFormatObject();\r\n maxFormatObject.index = 1;\r\n this._topLabel.setData(maxFormatObject);\r\n this._bottomLabel.setData(this._getLabelMinFormatObject())\r\n },\r\n _updateLabelOptions: function() {\r\n var options = this._options.label;\r\n (!this._topLabel || !this._bottomLabel) && this._createLabel();\r\n this._topLabel.setOptions(options);\r\n this._bottomLabel.setOptions(options)\r\n },\r\n _createLabel: function() {\r\n var options = {\r\n renderer: this.series._renderer,\r\n labelsGroup: this.series._labelsGroup,\r\n point: this\r\n };\r\n this._topLabel = new Label(options);\r\n this._bottomLabel = new Label(options)\r\n },\r\n _getGraphicBBox: function(location) {\r\n var options = this._options;\r\n var images = this._getImage(options.image);\r\n var image = \"top\" === location ? this._checkImage(images.top) : this._checkImage(images.bottom);\r\n var bBox;\r\n var coord = this._getPositionFromLocation(location);\r\n if (options.visible) {\r\n bBox = image ? this._getImageBBox(coord.x, coord.y) : this._getSymbolBBox(coord.x, coord.y, options.styles.normal.r)\r\n } else {\r\n bBox = {\r\n x: coord.x,\r\n y: coord.y,\r\n width: 0,\r\n height: 0\r\n }\r\n }\r\n return bBox\r\n },\r\n _getPositionFromLocation: function(location) {\r\n var x;\r\n var y;\r\n var isTop = \"top\" === location;\r\n if (!this._options.rotated) {\r\n x = this.x;\r\n y = isTop ? _min(this.y, this.minY) : _max(this.y, this.minY)\r\n } else {\r\n x = isTop ? _max(this.x, this.minX) : _min(this.x, this.minX);\r\n y = this.y\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _checkOverlay: function(bottomCoord, topCoord, topValue) {\r\n return bottomCoord < topCoord + topValue\r\n },\r\n _getOverlayCorrections: function(topCoords, bottomCoords) {\r\n var rotated = this._options.rotated;\r\n var coordSelector = !rotated ? \"y\" : \"x\";\r\n var valueSelector = !rotated ? \"height\" : \"width\";\r\n var visibleArea = this.series.getValueAxis().getVisibleArea();\r\n var minBound = visibleArea[0];\r\n var maxBound = visibleArea[1];\r\n var delta = _round((topCoords[coordSelector] + topCoords[valueSelector] - bottomCoords[coordSelector]) / 2);\r\n var coord1 = topCoords[coordSelector] - delta;\r\n var coord2 = bottomCoords[coordSelector] + delta;\r\n if (coord1 < minBound) {\r\n delta = minBound - coord1;\r\n coord1 += delta;\r\n coord2 += delta\r\n } else if (coord2 + bottomCoords[valueSelector] > maxBound) {\r\n delta = maxBound - coord2 - bottomCoords[valueSelector];\r\n coord1 += delta;\r\n coord2 += delta\r\n }\r\n return {\r\n coord1: coord1,\r\n coord2: coord2\r\n }\r\n },\r\n _checkLabelsOverlay: function(topLocation) {\r\n var topCoords = this._topLabel.getBoundingRect();\r\n var bottomCoords = this._bottomLabel.getBoundingRect();\r\n var corrections = {};\r\n if (!this._options.rotated) {\r\n if (\"top\" === topLocation) {\r\n if (this._checkOverlay(bottomCoords.y, topCoords.y, topCoords.height)) {\r\n corrections = this._getOverlayCorrections(topCoords, bottomCoords);\r\n this._topLabel.shift(topCoords.x, corrections.coord1);\r\n this._bottomLabel.shift(bottomCoords.x, corrections.coord2)\r\n }\r\n } else if (this._checkOverlay(topCoords.y, bottomCoords.y, bottomCoords.height)) {\r\n corrections = this._getOverlayCorrections(bottomCoords, topCoords);\r\n this._topLabel.shift(topCoords.x, corrections.coord2);\r\n this._bottomLabel.shift(bottomCoords.x, corrections.coord1)\r\n }\r\n } else if (\"top\" === topLocation) {\r\n if (this._checkOverlay(topCoords.x, bottomCoords.x, bottomCoords.width)) {\r\n corrections = this._getOverlayCorrections(bottomCoords, topCoords);\r\n this._topLabel.shift(corrections.coord2, topCoords.y);\r\n this._bottomLabel.shift(corrections.coord1, bottomCoords.y)\r\n }\r\n } else if (this._checkOverlay(bottomCoords.x, topCoords.x, topCoords.width)) {\r\n corrections = this._getOverlayCorrections(topCoords, bottomCoords);\r\n this._topLabel.shift(corrections.coord1, topCoords.y);\r\n this._bottomLabel.shift(corrections.coord2, bottomCoords.y)\r\n }\r\n },\r\n _drawLabel: function() {\r\n var labels = [];\r\n var notInverted = this._options.rotated ? this.x >= this.minX : this.y < this.minY;\r\n var customVisibility = this._getCustomLabelVisibility();\r\n var topLabel = this._topLabel;\r\n var bottomLabel = this._bottomLabel;\r\n topLabel.pointPosition = notInverted ? \"top\" : \"bottom\";\r\n bottomLabel.pointPosition = notInverted ? \"bottom\" : \"top\";\r\n if ((this.series.getLabelVisibility() || customVisibility) && this.hasValue() && false !== customVisibility) {\r\n false !== this.visibleTopMarker && labels.push(topLabel);\r\n false !== this.visibleBottomMarker && labels.push(bottomLabel);\r\n each(labels, (function(_, label) {\r\n label.draw(true)\r\n }));\r\n this._checkLabelsOverlay(this._topLabel.pointPosition)\r\n } else {\r\n topLabel.draw(false);\r\n bottomLabel.draw(false)\r\n }\r\n },\r\n _getImage: function(imageOption) {\r\n var image = {};\r\n if (_isDefined(imageOption)) {\r\n if (\"string\" === typeof imageOption) {\r\n image.top = image.bottom = imageOption\r\n } else {\r\n image.top = {\r\n url: \"string\" === typeof imageOption.url ? imageOption.url : imageOption.url && imageOption.url.rangeMaxPoint,\r\n width: \"number\" === typeof imageOption.width ? imageOption.width : imageOption.width && imageOption.width.rangeMaxPoint,\r\n height: \"number\" === typeof imageOption.height ? imageOption.height : imageOption.height && imageOption.height.rangeMaxPoint\r\n };\r\n image.bottom = {\r\n url: \"string\" === typeof imageOption.url ? imageOption.url : imageOption.url && imageOption.url.rangeMinPoint,\r\n width: \"number\" === typeof imageOption.width ? imageOption.width : imageOption.width && imageOption.width.rangeMinPoint,\r\n height: \"number\" === typeof imageOption.height ? imageOption.height : imageOption.height && imageOption.height.rangeMinPoint\r\n }\r\n }\r\n }\r\n return image\r\n },\r\n _checkSymbol: function(oldOptions, newOptions) {\r\n var oldSymbol = oldOptions.symbol;\r\n var newSymbol = newOptions.symbol;\r\n var symbolChanged = \"circle\" === oldSymbol && \"circle\" !== newSymbol || \"circle\" !== oldSymbol && \"circle\" === newSymbol;\r\n var oldImages = this._getImage(oldOptions.image);\r\n var newImages = this._getImage(newOptions.image);\r\n var topImageChanged = this._checkImage(oldImages.top) !== this._checkImage(newImages.top);\r\n var bottomImageChanged = this._checkImage(oldImages.bottom) !== this._checkImage(newImages.bottom);\r\n return symbolChanged || topImageChanged || bottomImageChanged\r\n },\r\n _getSettingsForTwoMarkers: function(style) {\r\n var options = this._options;\r\n var settings = {};\r\n var x = options.rotated ? _min(this.x, this.minX) : this.x;\r\n var y = options.rotated ? this.y : _min(this.y, this.minY);\r\n var radius = style.r;\r\n var points = this._populatePointShape(options.symbol, radius);\r\n settings.top = _extend({\r\n translateX: x + this.width,\r\n translateY: y,\r\n r: radius\r\n }, style);\r\n settings.bottom = _extend({\r\n translateX: x,\r\n translateY: y + this.height,\r\n r: radius\r\n }, style);\r\n if (points) {\r\n settings.top.points = settings.bottom.points = points\r\n }\r\n return settings\r\n },\r\n _hasGraphic: function() {\r\n return this.graphic && this.graphic.topMarker && this.graphic.bottomMarker\r\n },\r\n _drawOneMarker: function(renderer, markerType, imageSettings, settings) {\r\n var graphic = this.graphic;\r\n if (graphic[markerType]) {\r\n this._updateOneMarker(markerType, settings)\r\n } else {\r\n graphic[markerType] = this._createMarker(renderer, graphic, imageSettings, settings)\r\n }\r\n },\r\n _drawMarker: function(renderer, group, animationEnabled, firstDrawing, style) {\r\n var settings = this._getSettingsForTwoMarkers(style || this._getStyle());\r\n var image = this._getImage(this._options.image);\r\n if (this._checkImage(image.top)) {\r\n settings.top = this._getImageSettings(settings.top, image.top)\r\n }\r\n if (this._checkImage(image.bottom)) {\r\n settings.bottom = this._getImageSettings(settings.bottom, image.bottom)\r\n }\r\n this.graphic = this.graphic || renderer.g().append(group);\r\n this.visibleTopMarker && this._drawOneMarker(renderer, \"topMarker\", image.top, settings.top);\r\n this.visibleBottomMarker && this._drawOneMarker(renderer, \"bottomMarker\", image.bottom, settings.bottom)\r\n },\r\n _getSettingsForTracker: function(radius) {\r\n var rotated = this._options.rotated;\r\n return {\r\n translateX: rotated ? _min(this.x, this.minX) - radius : this.x - radius,\r\n translateY: rotated ? this.y - radius : _min(this.y, this.minY) - radius,\r\n width: this.width + 2 * radius,\r\n height: this.height + 2 * radius\r\n }\r\n },\r\n isInVisibleArea: function() {\r\n var rotated = this._options.rotated;\r\n var argument = !rotated ? this.x : this.y;\r\n var maxValue = !rotated ? _max(this.minY, this.y) : _max(this.minX, this.x);\r\n var minValue = !rotated ? _min(this.minY, this.y) : _min(this.minX, this.x);\r\n var tmp;\r\n var visibleTopMarker;\r\n var visibleBottomMarker;\r\n var visibleRangeArea = true;\r\n var visibleArgArea = this.series.getArgumentAxis().getVisibleArea();\r\n var visibleValArea = this.series.getValueAxis().getVisibleArea();\r\n var notVisibleByArg = visibleArgArea[1] < argument || visibleArgArea[0] > argument;\r\n var notVisibleByVal = visibleValArea[0] > minValue && visibleValArea[0] > maxValue || visibleValArea[1] < minValue && visibleValArea[1] < maxValue;\r\n if (notVisibleByArg || notVisibleByVal) {\r\n visibleTopMarker = visibleBottomMarker = visibleRangeArea = false\r\n } else {\r\n visibleTopMarker = visibleValArea[0] <= minValue && visibleValArea[1] > minValue;\r\n visibleBottomMarker = visibleValArea[0] < maxValue && visibleValArea[1] >= maxValue;\r\n if (rotated) {\r\n tmp = visibleTopMarker;\r\n visibleTopMarker = visibleBottomMarker;\r\n visibleBottomMarker = tmp\r\n }\r\n }\r\n this.visibleTopMarker = visibleTopMarker;\r\n this.visibleBottomMarker = visibleBottomMarker;\r\n return visibleRangeArea\r\n },\r\n getTooltipParams: function() {\r\n var x;\r\n var y;\r\n var rotated = this._options.rotated;\r\n var minValue = !rotated ? _min(this.y, this.minY) : _min(this.x, this.minX);\r\n var side = !rotated ? \"height\" : \"width\";\r\n var visibleArea = this._getVisibleArea();\r\n var minVisible = rotated ? visibleArea.minX : visibleArea.minY;\r\n var maxVisible = rotated ? visibleArea.maxX : visibleArea.maxY;\r\n var min = _max(minVisible, minValue);\r\n var max = _min(maxVisible, minValue + this[side]);\r\n if (!rotated) {\r\n x = this.x;\r\n y = min + (max - min) / 2\r\n } else {\r\n y = this.y;\r\n x = min + (max - min) / 2\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n offset: 0\r\n }\r\n },\r\n _translate: function() {\r\n var rotated = this._options.rotated;\r\n symbolPoint._translate.call(this);\r\n this.height = rotated ? 0 : _abs(this.minY - this.y);\r\n this.width = rotated ? _abs(this.x - this.minX) : 0\r\n },\r\n hasCoords: function() {\r\n return symbolPoint.hasCoords.call(this) && !(null === this.minX || null === this.minY)\r\n },\r\n _updateData: function(data) {\r\n symbolPoint._updateData.call(this, data);\r\n this.minValue = this.initialMinValue = this.originalMinValue = data.minValue\r\n },\r\n _getImageSettings: function(settings, image) {\r\n return {\r\n href: image.url || image.toString(),\r\n width: image.width || DEFAULT_IMAGE_WIDTH,\r\n height: image.height || DEFAULT_IMAGE_HEIGHT,\r\n translateX: settings.translateX,\r\n translateY: settings.translateY\r\n }\r\n },\r\n getCrosshairData: function(x, y) {\r\n var rotated = this._options.rotated;\r\n var minX = this.minX;\r\n var minY = this.minY;\r\n var vx = this.vx;\r\n var vy = this.vy;\r\n var value = this.value;\r\n var minValue = this.minValue;\r\n var argument = this.argument;\r\n var coords = {\r\n axis: this.series.axis,\r\n x: vx,\r\n y: vy,\r\n yValue: value,\r\n xValue: argument\r\n };\r\n if (rotated) {\r\n coords.yValue = argument;\r\n if (_abs(vx - x) < _abs(minX - x)) {\r\n coords.xValue = value\r\n } else {\r\n coords.x = minX;\r\n coords.xValue = minValue\r\n }\r\n } else if (_abs(vy - y) >= _abs(minY - y)) {\r\n coords.y = minY;\r\n coords.yValue = minValue\r\n }\r\n return coords\r\n },\r\n _updateOneMarker: function(markerType, settings) {\r\n this.graphic && this.graphic[markerType] && this.graphic[markerType].attr(settings)\r\n },\r\n _updateMarker: function(animationEnabled, style) {\r\n this._drawMarker(void 0, void 0, false, false, style)\r\n },\r\n _getFormatObject: function(tooltip) {\r\n var initialMinValue = this.initialMinValue;\r\n var initialValue = this.initialValue;\r\n var initialArgument = this.initialArgument;\r\n var minValue = tooltip.formatValue(initialMinValue);\r\n var value = tooltip.formatValue(initialValue);\r\n return {\r\n argument: initialArgument,\r\n argumentText: tooltip.formatValue(initialArgument, \"argument\"),\r\n valueText: minValue + \" - \" + value,\r\n rangeValue1Text: minValue,\r\n rangeValue2Text: value,\r\n rangeValue1: initialMinValue,\r\n rangeValue2: initialValue,\r\n seriesName: this.series.name,\r\n point: this,\r\n originalMinValue: this.originalMinValue,\r\n originalValue: this.originalValue,\r\n originalArgument: this.originalArgument\r\n }\r\n },\r\n getLabel: function() {\r\n return [this._topLabel, this._bottomLabel]\r\n },\r\n getLabels: function() {\r\n return [this._topLabel, this._bottomLabel]\r\n },\r\n getBoundingRect: noop,\r\n coordsIn: function(x, y) {\r\n var trackerRadius = this._storeTrackerR();\r\n var xCond = x >= this.x - trackerRadius && x <= this.x + trackerRadius;\r\n var yCond = y >= this.y - trackerRadius && y <= this.y + trackerRadius;\r\n if (this._options.rotated) {\r\n return yCond && (xCond || x >= this.minX - trackerRadius && x <= this.minX + trackerRadius)\r\n } else {\r\n return xCond && (yCond || y >= this.minY - trackerRadius && y <= this.minY + trackerRadius)\r\n }\r\n },\r\n getMaxValue: function() {\r\n if (\"discrete\" !== this.series.valueAxisType) {\r\n return this.minValue > this.value ? this.minValue : this.value\r\n }\r\n return this.value\r\n },\r\n getMinValue: function() {\r\n if (\"discrete\" !== this.series.valueAxisType) {\r\n return this.minValue < this.value ? this.minValue : this.value\r\n }\r\n return this.minValue\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/range_bar_point.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport barPoint from \"./bar_point\";\r\nimport rangeSymbolPointMethods from \"./range_symbol_point\";\r\nvar _extend = extend;\r\nexport default _extend({}, barPoint, {\r\n deleteLabel: rangeSymbolPointMethods.deleteLabel,\r\n _getFormatObject: rangeSymbolPointMethods._getFormatObject,\r\n clearVisibility: function() {\r\n var graphic = this.graphic;\r\n if (graphic && graphic.attr(\"visibility\")) {\r\n graphic.attr({\r\n visibility: null\r\n })\r\n }\r\n },\r\n setInvisibility: function() {\r\n var graphic = this.graphic;\r\n if (graphic && \"hidden\" !== graphic.attr(\"visibility\")) {\r\n graphic.attr({\r\n visibility: \"hidden\"\r\n })\r\n }\r\n this._topLabel.draw(false);\r\n this._bottomLabel.draw(false)\r\n },\r\n getTooltipParams: function(location) {\r\n var edgeLocation = \"edge\" === location;\r\n var x;\r\n var y;\r\n if (this._options.rotated) {\r\n x = edgeLocation ? this.x + this.width : this.x + this.width / 2;\r\n y = this.y + this.height / 2\r\n } else {\r\n x = this.x + this.width / 2;\r\n y = edgeLocation ? this.y : this.y + this.height / 2\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n offset: 0\r\n }\r\n },\r\n _translate: function() {\r\n var barMethods = barPoint;\r\n barMethods._translate.call(this);\r\n if (this._options.rotated) {\r\n this.width = this.width || 1\r\n } else {\r\n this.height = this.height || 1\r\n }\r\n },\r\n hasCoords: rangeSymbolPointMethods.hasCoords,\r\n _updateData: rangeSymbolPointMethods._updateData,\r\n _getLabelPosition: rangeSymbolPointMethods._getLabelPosition,\r\n _getLabelMinFormatObject: rangeSymbolPointMethods._getLabelMinFormatObject,\r\n _updateLabelData: rangeSymbolPointMethods._updateLabelData,\r\n _updateLabelOptions: rangeSymbolPointMethods._updateLabelOptions,\r\n getCrosshairData: rangeSymbolPointMethods.getCrosshairData,\r\n _createLabel: rangeSymbolPointMethods._createLabel,\r\n _checkOverlay: rangeSymbolPointMethods._checkOverlay,\r\n _checkLabelsOverlay: rangeSymbolPointMethods._checkLabelsOverlay,\r\n _getOverlayCorrections: rangeSymbolPointMethods._getOverlayCorrections,\r\n _drawLabel: rangeSymbolPointMethods._drawLabel,\r\n _getLabelCoords: rangeSymbolPointMethods._getLabelCoords,\r\n getLabel: rangeSymbolPointMethods.getLabel,\r\n getLabels: rangeSymbolPointMethods.getLabels,\r\n getBoundingRect: noop,\r\n getMinValue: rangeSymbolPointMethods.getMinValue,\r\n getMaxValue: rangeSymbolPointMethods.getMaxValue\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/candlestick_point.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend as _extend\r\n} from \"../../../core/utils/extend\";\r\nimport symbolPoint from \"./symbol_point\";\r\nimport barPoint from \"./bar_point\";\r\nvar _math = Math;\r\nvar _abs = _math.abs;\r\nvar _min = _math.min;\r\nvar _max = _math.max;\r\nvar _round = _math.round;\r\nvar DEFAULT_FINANCIAL_TRACKER_MARGIN = 2;\r\nexport default _extend({}, barPoint, {\r\n _calculateVisibility: symbolPoint._calculateVisibility,\r\n _getContinuousPoints: function(openCoord, closeCoord) {\r\n var x = this.x;\r\n var createPoint = this._options.rotated ? function(x, y) {\r\n return [y, x]\r\n } : function(x, y) {\r\n return [x, y]\r\n };\r\n var width = this.width;\r\n var highCoord = this.highY;\r\n var max = _abs(highCoord - openCoord) < _abs(highCoord - closeCoord) ? openCoord : closeCoord;\r\n var min = max === closeCoord ? openCoord : closeCoord;\r\n var points;\r\n if (min === max) {\r\n points = [].concat(createPoint(x, this.highY)).concat(createPoint(x, this.lowY)).concat(createPoint(x, this.closeY)).concat(createPoint(x - width / 2, this.closeY)).concat(createPoint(x + width / 2, this.closeY)).concat(createPoint(x, this.closeY))\r\n } else {\r\n points = [].concat(createPoint(x, this.highY)).concat(createPoint(x, max)).concat(createPoint(x + width / 2, max)).concat(createPoint(x + width / 2, min)).concat(createPoint(x, min)).concat(createPoint(x, this.lowY)).concat(createPoint(x, min)).concat(createPoint(x - width / 2, min)).concat(createPoint(x - width / 2, max)).concat(createPoint(x, max))\r\n }\r\n return points\r\n },\r\n _getCrockPoints: function(y) {\r\n var x = this.x;\r\n var createPoint = this._options.rotated ? function(x, y) {\r\n return [y, x]\r\n } : function(x, y) {\r\n return [x, y]\r\n };\r\n return [].concat(createPoint(x, this.highY)).concat(createPoint(x, this.lowY)).concat(createPoint(x, y)).concat(createPoint(x - this.width / 2, y)).concat(createPoint(x + this.width / 2, y)).concat(createPoint(x, y))\r\n },\r\n _getPoints: function() {\r\n var points;\r\n var closeCoord = this.closeY;\r\n var openCoord = this.openY;\r\n if (null !== closeCoord && null !== openCoord) {\r\n points = this._getContinuousPoints(openCoord, closeCoord)\r\n } else if (openCoord === closeCoord) {\r\n points = [this.x, this.highY, this.x, this.lowY]\r\n } else {\r\n points = this._getCrockPoints(null !== openCoord ? openCoord : closeCoord)\r\n }\r\n return points\r\n },\r\n getColor: function() {\r\n return this._isReduction ? this._options.reduction.color : this._styles.normal.stroke || this.series.getColor()\r\n },\r\n _drawMarkerInGroup: function(group, attributes, renderer) {\r\n this.graphic = renderer.path(this._getPoints(), \"area\").attr({\r\n \"stroke-linecap\": \"square\"\r\n }).attr(attributes).data({\r\n \"chart-data-point\": this\r\n }).sharp().append(group)\r\n },\r\n _fillStyle: function() {\r\n var styles = this._options.styles;\r\n if (this._isReduction && this._isPositive) {\r\n this._styles = styles.reductionPositive\r\n } else if (this._isReduction) {\r\n this._styles = styles.reduction\r\n } else if (this._isPositive) {\r\n this._styles = styles.positive\r\n } else {\r\n this._styles = styles\r\n }\r\n },\r\n _getMinTrackerWidth: function() {\r\n return 2 + 2 * this._styles.normal[\"stroke-width\"]\r\n },\r\n correctCoordinates: function(correctOptions) {\r\n var minWidth = this._getMinTrackerWidth();\r\n var width = correctOptions.width;\r\n width = width < minWidth ? minWidth : width > 10 ? 10 : width;\r\n this.width = width + width % 2;\r\n this.xCorrection = correctOptions.offset\r\n },\r\n _getMarkerGroup: function(group) {\r\n var markerGroup;\r\n if (this._isReduction && this._isPositive) {\r\n markerGroup = group.reductionPositiveMarkersGroup\r\n } else if (this._isReduction) {\r\n markerGroup = group.reductionMarkersGroup\r\n } else if (this._isPositive) {\r\n markerGroup = group.defaultPositiveMarkersGroup\r\n } else {\r\n markerGroup = group.defaultMarkersGroup\r\n }\r\n return markerGroup\r\n },\r\n _drawMarker: function(renderer, group) {\r\n this._drawMarkerInGroup(this._getMarkerGroup(group), this._getStyle(), renderer)\r\n },\r\n _getSettingsForTracker: function() {\r\n var highY = this.highY;\r\n var lowY = this.lowY;\r\n var rotated = this._options.rotated;\r\n var x;\r\n var y;\r\n var width;\r\n var height;\r\n if (highY === lowY) {\r\n highY = rotated ? highY + DEFAULT_FINANCIAL_TRACKER_MARGIN : highY - DEFAULT_FINANCIAL_TRACKER_MARGIN;\r\n lowY = rotated ? lowY - DEFAULT_FINANCIAL_TRACKER_MARGIN : lowY + DEFAULT_FINANCIAL_TRACKER_MARGIN\r\n }\r\n if (rotated) {\r\n x = _min(lowY, highY);\r\n y = this.x - this.width / 2;\r\n width = _abs(lowY - highY);\r\n height = this.width\r\n } else {\r\n x = this.x - this.width / 2;\r\n y = _min(lowY, highY);\r\n width = this.width;\r\n height = _abs(lowY - highY)\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n }\r\n },\r\n _getGraphicBBox: function(location) {\r\n var rotated = this._options.rotated;\r\n var x = this.x;\r\n var width = this.width;\r\n var lowY = this.lowY;\r\n var highY = this.highY;\r\n if (location) {\r\n var valVisibleArea = this.series.getValueAxis().getVisibleArea();\r\n highY = this._truncateCoord(highY, valVisibleArea);\r\n lowY = this._truncateCoord(lowY, valVisibleArea)\r\n }\r\n var bBox = {\r\n x: !rotated ? x - _round(width / 2) : lowY,\r\n y: !rotated ? highY : x - _round(width / 2),\r\n width: !rotated ? width : highY - lowY,\r\n height: !rotated ? lowY - highY : width\r\n };\r\n if (location) {\r\n var isTop = \"top\" === location;\r\n if (!this._options.rotated) {\r\n bBox.y = isTop ? bBox.y : bBox.y + bBox.height;\r\n bBox.height = 0\r\n } else {\r\n bBox.x = isTop ? bBox.x + bBox.width : bBox.x;\r\n bBox.width = 0\r\n }\r\n }\r\n return bBox\r\n },\r\n getTooltipParams: function(location) {\r\n if (this.graphic) {\r\n var minValue = _min(this.lowY, this.highY);\r\n var maxValue = _max(this.lowY, this.highY);\r\n var visibleArea = this._getVisibleArea();\r\n var rotated = this._options.rotated;\r\n var minVisible = rotated ? visibleArea.minX : visibleArea.minY;\r\n var maxVisible = rotated ? visibleArea.maxX : visibleArea.maxY;\r\n var min = _max(minVisible, minValue);\r\n var max = _min(maxVisible, maxValue);\r\n var centerCoord = this.getCenterCoord();\r\n if (\"edge\" === location) {\r\n centerCoord[rotated ? \"x\" : \"y\"] = rotated ? max : min\r\n }\r\n centerCoord.offset = 0;\r\n return centerCoord\r\n }\r\n },\r\n getCenterCoord() {\r\n if (this.graphic) {\r\n var x;\r\n var y;\r\n var minValue = _min(this.lowY, this.highY);\r\n var maxValue = _max(this.lowY, this.highY);\r\n var visibleArea = this._getVisibleArea();\r\n var rotated = this._options.rotated;\r\n var minVisible = rotated ? visibleArea.minX : visibleArea.minY;\r\n var maxVisible = rotated ? visibleArea.maxX : visibleArea.maxY;\r\n var min = _max(minVisible, minValue);\r\n var max = _min(maxVisible, maxValue);\r\n var center = min + (max - min) / 2;\r\n if (rotated) {\r\n y = this.x;\r\n x = center\r\n } else {\r\n x = this.x;\r\n y = center\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n }\r\n },\r\n hasValue: function() {\r\n return null !== this.highValue && null !== this.lowValue\r\n },\r\n hasCoords: function() {\r\n return null !== this.x && null !== this.lowY && null !== this.highY\r\n },\r\n _translate: function() {\r\n var rotated = this._options.rotated;\r\n var valTranslator = this._getValTranslator();\r\n var x = this._getArgTranslator().translate(this.argument);\r\n this.vx = this.vy = this.x = null === x ? x : x + (this.xCorrection || 0);\r\n this.openY = null !== this.openValue ? valTranslator.translate(this.openValue) : null;\r\n this.highY = valTranslator.translate(this.highValue);\r\n this.lowY = valTranslator.translate(this.lowValue);\r\n this.closeY = null !== this.closeValue ? valTranslator.translate(this.closeValue) : null;\r\n var centerValue = _min(this.lowY, this.highY) + _abs(this.lowY - this.highY) / 2;\r\n this._calculateVisibility(!rotated ? this.x : centerValue, !rotated ? centerValue : this.x)\r\n },\r\n getCrosshairData: function(x, y) {\r\n var rotated = this._options.rotated;\r\n var origY = rotated ? x : y;\r\n var yValue;\r\n var argument = this.argument;\r\n var coords;\r\n var coord = \"low\";\r\n if (_abs(this.lowY - origY) < _abs(this.closeY - origY)) {\r\n yValue = this.lowY\r\n } else {\r\n yValue = this.closeY;\r\n coord = \"close\"\r\n }\r\n if (_abs(yValue - origY) >= _abs(this.openY - origY)) {\r\n yValue = this.openY;\r\n coord = \"open\"\r\n }\r\n if (_abs(yValue - origY) >= _abs(this.highY - origY)) {\r\n yValue = this.highY;\r\n coord = \"high\"\r\n }\r\n if (rotated) {\r\n coords = {\r\n y: this.vy,\r\n x: yValue,\r\n xValue: this[coord + \"Value\"],\r\n yValue: argument\r\n }\r\n } else {\r\n coords = {\r\n x: this.vx,\r\n y: yValue,\r\n xValue: argument,\r\n yValue: this[coord + \"Value\"]\r\n }\r\n }\r\n coords.axis = this.series.axis;\r\n return coords\r\n },\r\n _updateData: function(data) {\r\n var label = this._label;\r\n var reductionColor = this._options.reduction.color;\r\n this.value = this.initialValue = data.reductionValue;\r\n this.originalValue = data.value;\r\n this.lowValue = this.originalLowValue = data.lowValue;\r\n this.highValue = this.originalHighValue = data.highValue;\r\n this.openValue = this.originalOpenValue = data.openValue;\r\n this.closeValue = this.originalCloseValue = data.closeValue;\r\n this._isPositive = data.openValue < data.closeValue;\r\n this._isReduction = data.isReduction;\r\n if (this._isReduction) {\r\n label.setColor(reductionColor)\r\n }\r\n },\r\n _updateMarker: function(animationEnabled, style, group) {\r\n var graphic = this.graphic;\r\n graphic.attr({\r\n points: this._getPoints()\r\n }).smartAttr(style).sharp();\r\n group && graphic.append(this._getMarkerGroup(group))\r\n },\r\n _getLabelFormatObject: function() {\r\n return {\r\n openValue: this.openValue,\r\n highValue: this.highValue,\r\n lowValue: this.lowValue,\r\n closeValue: this.closeValue,\r\n reductionValue: this.initialValue,\r\n argument: this.initialArgument,\r\n value: this.initialValue,\r\n seriesName: this.series.name,\r\n originalOpenValue: this.originalOpenValue,\r\n originalCloseValue: this.originalCloseValue,\r\n originalLowValue: this.originalLowValue,\r\n originalHighValue: this.originalHighValue,\r\n originalArgument: this.originalArgument,\r\n point: this\r\n }\r\n },\r\n _getFormatObject: function(tooltip) {\r\n var highValue = tooltip.formatValue(this.highValue);\r\n var openValue = tooltip.formatValue(this.openValue);\r\n var closeValue = tooltip.formatValue(this.closeValue);\r\n var lowValue = tooltip.formatValue(this.lowValue);\r\n var symbolMethods = symbolPoint;\r\n var formatObject = symbolMethods._getFormatObject.call(this, tooltip);\r\n return _extend({}, formatObject, {\r\n valueText: \"h: \" + highValue + (\"\" !== openValue ? \" o: \" + openValue : \"\") + (\"\" !== closeValue ? \" c: \" + closeValue : \"\") + \" l: \" + lowValue,\r\n highValueText: highValue,\r\n openValueText: openValue,\r\n closeValueText: closeValue,\r\n lowValueText: lowValue\r\n })\r\n },\r\n getMaxValue: function() {\r\n return this.highValue\r\n },\r\n getMinValue: function() {\r\n return this.lowValue\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/stock_point.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n isNumeric\r\n} from \"../../../core/utils/type\";\r\nimport candlestickPoint from \"./candlestick_point\";\r\nvar _extend = extend;\r\nvar _isNumeric = isNumeric;\r\nexport default _extend({}, candlestickPoint, {\r\n _getPoints: function() {\r\n var createPoint = this._options.rotated ? function(x, y) {\r\n return [y, x]\r\n } : function(x, y) {\r\n return [x, y]\r\n };\r\n var openYExist = _isNumeric(this.openY);\r\n var closeYExist = _isNumeric(this.closeY);\r\n var x = this.x;\r\n var width = this.width;\r\n var points = [].concat(createPoint(x, this.highY));\r\n openYExist && (points = points.concat(createPoint(x, this.openY)));\r\n openYExist && (points = points.concat(createPoint(x - width / 2, this.openY)));\r\n openYExist && (points = points.concat(createPoint(x, this.openY)));\r\n closeYExist && (points = points.concat(createPoint(x, this.closeY)));\r\n closeYExist && (points = points.concat(createPoint(x + width / 2, this.closeY)));\r\n closeYExist && (points = points.concat(createPoint(x, this.closeY)));\r\n points = points.concat(createPoint(x, this.lowY));\r\n return points\r\n },\r\n _drawMarkerInGroup: function(group, attributes, renderer) {\r\n this.graphic = renderer.path(this._getPoints(), \"line\").attr({\r\n \"stroke-linecap\": \"square\"\r\n }).attr(attributes).data({\r\n \"chart-data-point\": this\r\n }).sharp().append(group)\r\n },\r\n _getMinTrackerWidth: function() {\r\n var width = 2 + this._styles.normal[\"stroke-width\"];\r\n return width + width % 2\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/polar_point.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nvar _extend = extend;\r\nimport symbolPoint from \"./symbol_point\";\r\nimport barPoint from \"./bar_point\";\r\nimport piePoint from \"./pie_point\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n normalizeAngle,\r\n convertPolarToXY,\r\n getCosAndSin,\r\n convertXYToPolar\r\n} from \"../../core/utils\";\r\nvar _math = Math;\r\nvar _max = _math.max;\r\nimport consts from \"../../components/consts\";\r\nvar RADIAL_LABEL_INDENT = consts.radialLabelIndent;\r\nvar ERROR_BARS_ANGLE_OFFSET = 90;\r\nvar CANVAS_POSITION_START = \"canvas_position_start\";\r\nvar CANVAS_POSITION_END = \"canvas_position_end\";\r\nvar CANVAS_POSITION_DEFAULT = \"canvas_position_default\";\r\nexport var polarSymbolPoint = _extend({}, symbolPoint, {\r\n _getLabelCoords: piePoint._getLabelCoords,\r\n _getElementCoords: piePoint._getElementCoords,\r\n _moveLabelOnCanvas: function(coord, visibleArea, labelBBox) {\r\n var x = coord.x;\r\n var y = coord.y;\r\n if (visibleArea.minX > x) {\r\n x = visibleArea.minX\r\n }\r\n if (visibleArea.maxX < x + labelBBox.width) {\r\n x = visibleArea.maxX - labelBBox.width\r\n }\r\n if (visibleArea.minY > y) {\r\n y = visibleArea.minY\r\n }\r\n if (visibleArea.maxY < y + labelBBox.height) {\r\n y = visibleArea.maxY - labelBBox.height\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _getLabelPosition: function() {\r\n return \"outside\"\r\n },\r\n _getCoords: function(argument, value) {\r\n var axis = this.series.getValueAxis();\r\n var startAngle = axis.getAngles()[0];\r\n var angle = this._getArgTranslator().translate(argument);\r\n var radius = this._getValTranslator().translate(value);\r\n var coords = convertPolarToXY(axis.getCenter(), axis.getAngles()[0], angle, radius);\r\n coords.angle = angle + startAngle - 90, coords.radius = radius;\r\n return coords\r\n },\r\n _translate() {\r\n var center = this.series.getValueAxis().getCenter();\r\n var coord = this._getCoords(this.argument, this.value);\r\n var translator = this._getValTranslator();\r\n var maxRadius = translator.isInverted() ? translator.translate(CANVAS_POSITION_START) : translator.translate(CANVAS_POSITION_END);\r\n var normalizedRadius = isDefined(coord.radius) && coord.radius >= 0 ? coord.radius : null;\r\n this.vx = normalizeAngle(coord.angle);\r\n this.vy = this.radiusOuter = this.radiusLabels = normalizedRadius;\r\n this.radiusLabels += RADIAL_LABEL_INDENT;\r\n this.radius = normalizedRadius;\r\n this.middleAngle = -coord.angle;\r\n this.angle = -coord.angle;\r\n this.x = coord.x;\r\n this.y = coord.y;\r\n this.defaultX = this.centerX = center.x;\r\n this.defaultY = this.centerY = center.y;\r\n this._translateErrorBars();\r\n this.inVisibleArea = this._checkRadiusForVisibleArea(normalizedRadius, maxRadius)\r\n },\r\n _checkRadiusForVisibleArea: (radius, maxRadius) => isDefined(radius) && radius <= maxRadius,\r\n _translateErrorBars: function() {\r\n var errorBars = this._options.errorBars;\r\n var translator = this._getValTranslator();\r\n if (!errorBars) {\r\n return\r\n }\r\n isDefined(this.lowError) && (this._lowErrorCoord = this.centerY - translator.translate(this.lowError));\r\n isDefined(this.highError) && (this._highErrorCoord = this.centerY - translator.translate(this.highError));\r\n this._errorBarPos = this.centerX;\r\n this._baseErrorBarPos = \"stdDeviation\" === errorBars.type ? this._lowErrorCoord + (this._highErrorCoord - this._lowErrorCoord) / 2 : this.centerY - this.radius\r\n },\r\n _getTranslates: function(animationEnabled) {\r\n return animationEnabled ? this.getDefaultCoords() : {\r\n x: this.x,\r\n y: this.y\r\n }\r\n },\r\n getDefaultCoords: function() {\r\n var cosSin = getCosAndSin(-this.angle);\r\n var radius = this._getValTranslator().translate(CANVAS_POSITION_DEFAULT);\r\n var x = this.defaultX + radius * cosSin.cos;\r\n var y = this.defaultY + radius * cosSin.sin;\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _addLabelAlignmentAndOffset: function(label, coord) {\r\n return coord\r\n },\r\n _checkLabelPosition: function(label, coord) {\r\n var visibleArea = this._getVisibleArea();\r\n var graphicBBox = this._getGraphicBBox();\r\n if (this._isPointInVisibleArea(visibleArea, graphicBBox)) {\r\n coord = this._moveLabelOnCanvas(coord, visibleArea, label.getBoundingRect())\r\n }\r\n return coord\r\n },\r\n _getErrorBarSettings: function(errorBarOptions, animationEnabled) {\r\n var settings = symbolPoint._getErrorBarSettings.call(this, errorBarOptions, animationEnabled);\r\n settings.rotate = ERROR_BARS_ANGLE_OFFSET - this.angle;\r\n settings.rotateX = this.centerX;\r\n settings.rotateY = this.centerY;\r\n return settings\r\n },\r\n getCoords: function(min) {\r\n return min ? this.getDefaultCoords() : {\r\n x: this.x,\r\n y: this.y\r\n }\r\n }\r\n});\r\nexport var polarBarPoint = _extend({}, barPoint, {\r\n _translateErrorBars: polarSymbolPoint._translateErrorBars,\r\n _getErrorBarSettings: polarSymbolPoint._getErrorBarSettings,\r\n _moveLabelOnCanvas: polarSymbolPoint._moveLabelOnCanvas,\r\n _getLabelCoords: piePoint._getLabelCoords,\r\n _getElementCoords: piePoint._getElementCoords,\r\n _getLabelConnector: piePoint._getLabelConnector,\r\n getTooltipParams: piePoint.getTooltipParams,\r\n _getLabelPosition: piePoint._getLabelPosition,\r\n _getCoords: polarSymbolPoint._getCoords,\r\n _translate() {\r\n var translator = this._getValTranslator();\r\n var businessRange = translator.getBusinessRange();\r\n var maxRadius = translator.isInverted() ? translator.translate(CANVAS_POSITION_START) : translator.translate(CANVAS_POSITION_END);\r\n this.radiusInner = translator.translate(this.minValue);\r\n polarSymbolPoint._translate.call(this);\r\n if (null === this.radiusInner) {\r\n this.radiusInner = this.radius = maxRadius\r\n } else if (null === this.radius) {\r\n this.radius = this.value >= businessRange.minVisible ? maxRadius : 0\r\n } else if (this.radius > maxRadius) {\r\n this.radius = maxRadius\r\n }\r\n this.radiusOuter = this.radiusLabels = _max(this.radiusInner, this.radius);\r\n this.radiusLabels += RADIAL_LABEL_INDENT;\r\n this.radiusInner = this.defaultRadius = _math.min(this.radiusInner, this.radius);\r\n this.middleAngle = this.angle = -normalizeAngle(this.middleAngleCorrection - this.angle)\r\n },\r\n _checkRadiusForVisibleArea(radius) {\r\n return isDefined(radius) || this._getValTranslator().translate(this.minValue) > 0\r\n },\r\n _getErrorBarBaseEdgeLength() {\r\n var coord = this.getMarkerCoords();\r\n return _math.PI * coord.outerRadius * _math.abs(coord.startAngle - coord.endAngle) / 180\r\n },\r\n getMarkerCoords: function() {\r\n return {\r\n x: this.centerX,\r\n y: this.centerY,\r\n outerRadius: this.radiusOuter,\r\n innerRadius: this.defaultRadius,\r\n startAngle: this.middleAngle - this.interval / 2,\r\n endAngle: this.middleAngle + this.interval / 2\r\n }\r\n },\r\n _drawMarker: function(renderer, group, animationEnabled) {\r\n var styles = this._getStyle();\r\n var coords = this.getMarkerCoords();\r\n var innerRadius = coords.innerRadius;\r\n var outerRadius = coords.outerRadius;\r\n var start = this._getCoords(this.argument, CANVAS_POSITION_DEFAULT);\r\n var x = coords.x;\r\n var y = coords.y;\r\n if (animationEnabled) {\r\n innerRadius = 0;\r\n outerRadius = 0;\r\n x = start.x;\r\n y = start.y\r\n }\r\n this.graphic = renderer.arc(x, y, innerRadius, outerRadius, coords.startAngle, coords.endAngle).attr(styles).data({\r\n \"chart-data-point\": this\r\n }).append(group)\r\n },\r\n _checkLabelPosition: function(label, coord) {\r\n var visibleArea = this._getVisibleArea();\r\n var angleFunctions = getCosAndSin(this.middleAngle);\r\n var x = this.centerX + this.defaultRadius * angleFunctions.cos;\r\n var y = this.centerY - this.defaultRadius * angleFunctions.sin;\r\n if (x > visibleArea.minX && x < visibleArea.maxX && y > visibleArea.minY && y < visibleArea.maxY) {\r\n coord = this._moveLabelOnCanvas(coord, visibleArea, label.getBoundingRect())\r\n }\r\n return coord\r\n },\r\n _addLabelAlignmentAndOffset: function(label, coord) {\r\n return coord\r\n },\r\n correctCoordinates: function(correctOptions) {\r\n this.middleAngleCorrection = correctOptions.offset;\r\n this.interval = correctOptions.width\r\n },\r\n coordsIn: function(x, y) {\r\n var val = convertXYToPolar(this.series.getValueAxis().getCenter(), x, y);\r\n var coords = this.getMarkerCoords();\r\n var isBetweenAngles = coords.startAngle < coords.endAngle ? -val.phi >= coords.startAngle && -val.phi <= coords.endAngle : -val.phi <= coords.startAngle && -val.phi >= coords.endAngle;\r\n return val.r >= coords.innerRadius && val.r <= coords.outerRadius && isBetweenAngles\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/base_point.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar mixins = {};\r\nimport consts from \"../../components/consts\";\r\nimport symbolPoint from \"./symbol_point\";\r\nimport barPoint from \"./bar_point\";\r\nimport bubblePoint from \"./bubble_point\";\r\nimport piePoint from \"./pie_point\";\r\nimport rangeSymbolPoint from \"./range_symbol_point\";\r\nimport rangeBarPoint from \"./range_bar_point\";\r\nimport candlestickPoint from \"./candlestick_point\";\r\nimport stockPoint from \"./stock_point\";\r\nimport {\r\n polarSymbolPoint,\r\n polarBarPoint\r\n} from \"./polar_point\";\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nvar _extend = extend;\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n noop as _noop\r\n} from \"../../../core/utils/common\";\r\nvar statesConsts = consts.states;\r\nvar SYMBOL_POINT = \"symbolPoint\";\r\nvar POLAR_SYMBOL_POINT = \"polarSymbolPoint\";\r\nvar BAR_POINT = \"barPoint\";\r\nvar POLAR_BAR_POINT = \"polarBarPoint\";\r\nvar PIE_POINT = \"piePoint\";\r\nvar SELECTED_STATE = statesConsts.selectedMark;\r\nvar HOVER_STATE = statesConsts.hoverMark;\r\nvar NORMAL_STATE = statesConsts.normalMark;\r\nvar HOVER = statesConsts.hover;\r\nvar NORMAL = statesConsts.normal;\r\nvar SELECTION = statesConsts.selection;\r\nvar pointTypes = {\r\n chart: {\r\n scatter: SYMBOL_POINT,\r\n line: SYMBOL_POINT,\r\n spline: SYMBOL_POINT,\r\n stepline: SYMBOL_POINT,\r\n stackedline: SYMBOL_POINT,\r\n fullstackedline: SYMBOL_POINT,\r\n stackedspline: SYMBOL_POINT,\r\n fullstackedspline: SYMBOL_POINT,\r\n stackedsplinearea: SYMBOL_POINT,\r\n fullstackedsplinearea: SYMBOL_POINT,\r\n area: SYMBOL_POINT,\r\n splinearea: SYMBOL_POINT,\r\n steparea: SYMBOL_POINT,\r\n stackedarea: SYMBOL_POINT,\r\n fullstackedarea: SYMBOL_POINT,\r\n rangearea: \"rangeSymbolPoint\",\r\n bar: BAR_POINT,\r\n stackedbar: BAR_POINT,\r\n fullstackedbar: BAR_POINT,\r\n rangebar: \"rangeBarPoint\",\r\n bubble: \"bubblePoint\",\r\n stock: \"stockPoint\",\r\n candlestick: \"candlestickPoint\"\r\n },\r\n pie: {\r\n pie: PIE_POINT,\r\n doughnut: PIE_POINT,\r\n donut: PIE_POINT\r\n },\r\n polar: {\r\n scatter: POLAR_SYMBOL_POINT,\r\n line: POLAR_SYMBOL_POINT,\r\n area: POLAR_SYMBOL_POINT,\r\n bar: POLAR_BAR_POINT,\r\n stackedbar: POLAR_BAR_POINT\r\n }\r\n};\r\n\r\nfunction isNoneMode(mode) {\r\n return \"none\" === _normalizeEnum(mode)\r\n}\r\nexport function Point(series, dataItem, options) {\r\n this.fullState = NORMAL_STATE;\r\n this.series = series;\r\n this.update(dataItem, options);\r\n this._viewCounters = {\r\n hover: 0,\r\n selection: 0\r\n };\r\n this._emptySettings = {\r\n fill: null,\r\n stroke: null,\r\n dashStyle: null,\r\n filter: null\r\n }\r\n}\r\nmixins.symbolPoint = symbolPoint;\r\nmixins.barPoint = barPoint;\r\nmixins.bubblePoint = bubblePoint;\r\nmixins.piePoint = piePoint;\r\nmixins.rangeSymbolPoint = rangeSymbolPoint;\r\nmixins.rangeBarPoint = rangeBarPoint;\r\nmixins.candlestickPoint = candlestickPoint;\r\nmixins.stockPoint = stockPoint;\r\nmixins.polarSymbolPoint = polarSymbolPoint;\r\nmixins.polarBarPoint = polarBarPoint;\r\nPoint.prototype = {\r\n constructor: Point,\r\n getColor: function() {\r\n if (!this.hasValue() && !this._styles.usePointCustomOptions) {\r\n this.series.customizePoint(this, this._dataItem)\r\n }\r\n return this._styles.normal.fill || this.series.getColor()\r\n },\r\n _getStyle: function() {\r\n return this._styles[this._currentStyle || \"normal\"]\r\n },\r\n update: function(dataItem, options) {\r\n this.updateOptions(options);\r\n this.updateData(dataItem)\r\n },\r\n updateData: function(dataItem) {\r\n var argumentWasChanged = this.argument !== dataItem.argument;\r\n this.argument = this.initialArgument = this.originalArgument = dataItem.argument;\r\n this.tag = dataItem.tag;\r\n this.index = dataItem.index;\r\n this._dataItem = dataItem;\r\n this.data = dataItem.data;\r\n this.lowError = dataItem.lowError;\r\n this.highError = dataItem.highError;\r\n this.aggregationInfo = dataItem.aggregationInfo;\r\n this._updateData(dataItem, argumentWasChanged);\r\n !this.hasValue() && this.setInvisibility();\r\n this._fillStyle();\r\n this._updateLabelData()\r\n },\r\n deleteMarker: function() {\r\n if (this.graphic) {\r\n this.graphic.dispose()\r\n }\r\n this.graphic = null\r\n },\r\n draw: function(renderer, groups, animationEnabled, firstDrawing) {\r\n if (this._needDeletingOnDraw || this.series.autoHidePointMarkers && !this.isSelected()) {\r\n this.deleteMarker();\r\n this._needDeletingOnDraw = false\r\n }\r\n if (this._needClearingOnDraw) {\r\n this.clearMarker();\r\n this._needClearingOnDraw = false\r\n }\r\n if (!this._hasGraphic()) {\r\n this.getMarkerVisibility() && !this.series.autoHidePointMarkers && this._drawMarker(renderer, groups.markers, animationEnabled, firstDrawing)\r\n } else {\r\n this._updateMarker(animationEnabled, this._getStyle(), groups.markers)\r\n }\r\n this._drawLabel();\r\n this._drawErrorBar(renderer, groups.errorBars, animationEnabled);\r\n return this\r\n },\r\n _getViewStyle: function() {\r\n var state = NORMAL_STATE;\r\n var fullState = this.fullState;\r\n var styles = [NORMAL, HOVER, SELECTION, SELECTION];\r\n if (this._viewCounters.hover) {\r\n state |= HOVER_STATE\r\n }\r\n if (this._viewCounters.selection) {\r\n state |= SELECTED_STATE\r\n }\r\n if (isNoneMode(this.getOptions().selectionMode)) {\r\n fullState &= ~SELECTED_STATE\r\n }\r\n if (isNoneMode(this.getOptions().hoverMode)) {\r\n fullState &= ~HOVER_STATE\r\n }\r\n state |= fullState;\r\n return styles[state]\r\n },\r\n applyView: function(legendCallback) {\r\n var style = this._getViewStyle();\r\n this._currentStyle = style;\r\n if (!this.graphic && this.getMarkerVisibility() && this.series.autoHidePointMarkers && (style === SELECTION || style === HOVER)) {\r\n this._drawMarker(this.series.getRenderer(), this.series.getMarkersGroup())\r\n }\r\n if (this.graphic) {\r\n if (this.series.autoHidePointMarkers && style !== SELECTION && style !== HOVER) {\r\n this.deleteMarker()\r\n } else {\r\n if (\"normal\" === style) {\r\n this.clearMarker()\r\n } else {\r\n this.graphic.toForeground()\r\n }\r\n this._updateMarker(true, this._styles[style], void 0, legendCallback)\r\n }\r\n }\r\n },\r\n setView: function(style) {\r\n this._viewCounters[style]++;\r\n this.applyView()\r\n },\r\n resetView: function(style) {\r\n var viewCounters = this._viewCounters;\r\n --viewCounters[style];\r\n if (viewCounters[style] < 0) {\r\n viewCounters[style] = 0\r\n }\r\n this.applyView()\r\n },\r\n releaseHoverState: function() {\r\n if (this.graphic && !this.isSelected()) {\r\n this.graphic.toBackground()\r\n }\r\n },\r\n select: function() {\r\n this.series.selectPoint(this)\r\n },\r\n clearSelection: function() {\r\n this.series.deselectPoint(this)\r\n },\r\n hover: function() {\r\n this.series.hoverPoint(this)\r\n },\r\n clearHover: function() {\r\n this.series.clearPointHover()\r\n },\r\n showTooltip: function() {\r\n this.series.showPointTooltip(this)\r\n },\r\n hideTooltip: function() {\r\n this.series.hidePointTooltip(this)\r\n },\r\n _checkLabelsChanging: function(oldType, newType) {\r\n var isNewRange = ~newType.indexOf(\"range\");\r\n var isOldRange = ~oldType.indexOf(\"range\");\r\n return isOldRange && !isNewRange || !isOldRange && isNewRange\r\n },\r\n updateOptions: function(newOptions) {\r\n if (!newOptions) {\r\n return\r\n }\r\n var oldOptions = this._options;\r\n var widgetType = newOptions.widgetType;\r\n var oldType = oldOptions && oldOptions.type;\r\n var newType = newOptions.type;\r\n var newPointTypeMixin = pointTypes[widgetType][newType];\r\n if (oldType !== newType) {\r\n this._needDeletingOnDraw = true;\r\n this._needClearingOnDraw = false;\r\n if (oldType) {\r\n this._checkLabelsChanging(oldType, newType) && this.deleteLabel();\r\n this._resetType(mixins[pointTypes[oldType]])\r\n }\r\n this._setType(mixins[newPointTypeMixin])\r\n } else {\r\n this._needDeletingOnDraw = this._checkSymbol(oldOptions, newOptions);\r\n this._needClearingOnDraw = this._checkCustomize(oldOptions, newOptions)\r\n }\r\n this._options = newOptions;\r\n this._fillStyle();\r\n this._updateLabelOptions(newPointTypeMixin)\r\n },\r\n translate: function() {\r\n if (this.hasValue()) {\r\n this._translate();\r\n this.translated = true\r\n }\r\n },\r\n _checkCustomize: function(oldOptions, newOptions) {\r\n return oldOptions.styles.usePointCustomOptions && !newOptions.styles.usePointCustomOptions\r\n },\r\n _getCustomLabelVisibility: function() {\r\n return this._styles.useLabelCustomOptions ? !!this._options.label.visible : null\r\n },\r\n getBoundingRect: function() {\r\n return this._getGraphicBBox()\r\n },\r\n _resetType: function(methods) {\r\n for (var methodName in methods) {\r\n delete this[methodName]\r\n }\r\n },\r\n _setType: function(methods) {\r\n for (var methodName in methods) {\r\n this[methodName] = methods[methodName]\r\n }\r\n },\r\n isInVisibleArea: function() {\r\n return this.inVisibleArea\r\n },\r\n isSelected: function() {\r\n return !!(this.fullState & SELECTED_STATE)\r\n },\r\n isHovered: function() {\r\n return !!(this.fullState & HOVER_STATE)\r\n },\r\n getOptions: function() {\r\n return this._options\r\n },\r\n animate: function(complete, settings, partitionDuration) {\r\n if (!this.graphic) {\r\n complete && complete();\r\n return\r\n }\r\n this.graphic.animate(settings, {\r\n partitionDuration: partitionDuration\r\n }, complete)\r\n },\r\n getCoords: function(min) {\r\n if (!min) {\r\n return {\r\n x: this.x,\r\n y: this.y\r\n }\r\n }\r\n if (!this._options.rotated) {\r\n return {\r\n x: this.x,\r\n y: this.minY + (this.y - this.minY ? 0 : 1)\r\n }\r\n }\r\n return {\r\n x: this.minX - (this.x - this.minX ? 0 : 1),\r\n y: this.y\r\n }\r\n },\r\n getDefaultCoords: function() {\r\n return !this._options.rotated ? {\r\n x: this.x,\r\n y: this.defaultY\r\n } : {\r\n x: this.defaultX,\r\n y: this.y\r\n }\r\n },\r\n setDefaultCoords() {\r\n var coords = this.getDefaultCoords();\r\n this.x = coords.x;\r\n this.y = coords.y\r\n },\r\n _getVisibleArea: function() {\r\n return this.series.getVisibleArea()\r\n },\r\n _getArgTranslator: function() {\r\n return this.series.getArgumentAxis().getTranslator()\r\n },\r\n _getValTranslator: function() {\r\n return this.series.getValueAxis().getTranslator()\r\n },\r\n isArgumentCorrect() {\r\n return this.series._argumentChecker(this.argument)\r\n },\r\n isValueCorrect() {\r\n var valueChecker = this.series._valueChecker;\r\n return valueChecker(this.getMinValue()) && valueChecker(this.getMaxValue())\r\n },\r\n hasValue: function() {\r\n return null !== this.value && null !== this.minValue && this.isArgumentCorrect() && this.isValueCorrect()\r\n },\r\n hasCoords: _noop,\r\n correctPosition: _noop,\r\n correctRadius: _noop,\r\n correctLabelRadius: _noop,\r\n getCrosshairData: _noop,\r\n getPointRadius: _noop,\r\n _populatePointShape: _noop,\r\n _checkSymbol: _noop,\r\n getMarkerCoords: _noop,\r\n hide: _noop,\r\n show: _noop,\r\n hideMarker: _noop,\r\n setInvisibility: _noop,\r\n clearVisibility: _noop,\r\n isVisible: _noop,\r\n resetCorrection: _noop,\r\n correctValue: _noop,\r\n resetValue: _noop,\r\n setPercentValue: _noop,\r\n correctCoordinates: _noop,\r\n coordsIn: _noop,\r\n getTooltipParams: _noop,\r\n applyWordWrap: _noop,\r\n setLabelTrackerData: _noop,\r\n updateLabelCoord: _noop,\r\n drawLabel: _noop,\r\n correctLabelPosition: _noop,\r\n getMinValue: _noop,\r\n getMaxValue: _noop,\r\n _drawErrorBar: _noop,\r\n getMarkerVisibility: _noop,\r\n dispose: function() {\r\n this.deleteMarker();\r\n this.deleteLabel();\r\n this._errorBar && this._errorBar.dispose();\r\n this._options = this._styles = this.series = this._errorBar = null\r\n },\r\n getTooltipFormatObject: function(tooltip, stackPoints) {\r\n var tooltipFormatObject = this._getFormatObject(tooltip);\r\n var sharedTooltipValuesArray = [];\r\n var tooltipStackPointsFormatObject = [];\r\n if (stackPoints) {\r\n stackPoints.forEach(point => {\r\n if (!point.isVisible()) {\r\n return\r\n }\r\n var formatObject = point._getFormatObject(tooltip);\r\n tooltipStackPointsFormatObject.push(formatObject);\r\n sharedTooltipValuesArray.push(formatObject.seriesName + \": \" + formatObject.valueText)\r\n });\r\n _extend(tooltipFormatObject, {\r\n points: tooltipStackPointsFormatObject,\r\n valueText: sharedTooltipValuesArray.join(\"\\n\"),\r\n stackName: this.series.getStackName() || null\r\n })\r\n }\r\n var aggregationInfo = this.aggregationInfo;\r\n if (aggregationInfo) {\r\n var axis = this.series.getArgumentAxis();\r\n var rangeText = axis.formatRange(aggregationInfo.intervalStart, aggregationInfo.intervalEnd, aggregationInfo.aggregationInterval, tooltip.getOptions().argumentFormat);\r\n if (rangeText) {\r\n tooltipFormatObject.valueText += \"\\n\".concat(rangeText)\r\n }\r\n }\r\n return tooltipFormatObject\r\n },\r\n setHole: function(holeValue, position) {\r\n var minValue = isFinite(this.minValue) ? this.minValue : 0;\r\n if (_isDefined(holeValue)) {\r\n if (\"left\" === position) {\r\n this.leftHole = this.value - holeValue;\r\n this.minLeftHole = minValue - holeValue\r\n } else {\r\n this.rightHole = this.value - holeValue;\r\n this.minRightHole = minValue - holeValue\r\n }\r\n }\r\n },\r\n resetHoles: function() {\r\n this.leftHole = null;\r\n this.minLeftHole = null;\r\n this.rightHole = null;\r\n this.minRightHole = null\r\n },\r\n getLabel: function() {\r\n return this._label\r\n },\r\n getLabels: function() {\r\n return [this._label]\r\n },\r\n getCenterCoord() {\r\n return {\r\n x: this.x,\r\n y: this.y\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/scatter_series.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each as _each\r\n} from \"../../core/utils/iterator\";\r\nimport rangeCalculator from \"./helpers/range_data_calculator\";\r\nimport {\r\n isDefined as _isDefined,\r\n isString as _isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n map as _map,\r\n normalizeEnum as _normalizeEnum,\r\n convertXYToPolar,\r\n extractColor\r\n} from \"../core/utils\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nvar math = Math;\r\nvar _abs = math.abs;\r\nvar _sqrt = math.sqrt;\r\nvar _max = math.max;\r\nvar DEFAULT_TRACKER_WIDTH = 12;\r\nvar DEFAULT_DURATION = 400;\r\nvar HIGH_ERROR = \"highError\";\r\nvar LOW_ERROR = \"lowError\";\r\nvar VARIANCE = \"variance\";\r\nvar STANDARD_DEVIATION = \"stddeviation\";\r\nvar STANDARD_ERROR = \"stderror\";\r\nvar PERCENT = \"percent\";\r\nvar FIXED = \"fixed\";\r\nvar UNDEFINED = \"undefined\";\r\nvar DISCRETE = \"discrete\";\r\nvar LOGARITHMIC = \"logarithmic\";\r\nvar DATETIME = \"datetime\";\r\nvar chart = {};\r\nvar polar = {};\r\n\r\nfunction sum(array) {\r\n var result = 0;\r\n _each(array, (function(_, value) {\r\n result += value\r\n }));\r\n return result\r\n}\r\n\r\nfunction isErrorBarTypeCorrect(type) {\r\n return [FIXED, PERCENT, VARIANCE, STANDARD_DEVIATION, STANDARD_ERROR].includes(type)\r\n}\r\n\r\nfunction variance(array, expectedValue) {\r\n return sum(_map(array, (function(value) {\r\n return (value - expectedValue) * (value - expectedValue)\r\n }))) / array.length\r\n}\r\n\r\nfunction calculateAvgErrorBars(result, data, series) {\r\n var errorBarsOptions = series.getOptions().valueErrorBar;\r\n var valueField = series.getValueFields()[0];\r\n var lowValueField = errorBarsOptions.lowValueField || LOW_ERROR;\r\n var highValueField = errorBarsOptions.highValueField || HIGH_ERROR;\r\n if (series.areErrorBarsVisible() && void 0 === errorBarsOptions.type) {\r\n var fusionData = data.reduce((function(result, item) {\r\n if (_isDefined(item[lowValueField])) {\r\n result[0] += item[valueField] - item[lowValueField];\r\n result[1]++\r\n }\r\n if (_isDefined(item[highValueField])) {\r\n result[2] += item[highValueField] - item[valueField];\r\n result[3]++\r\n }\r\n return result\r\n }), [0, 0, 0, 0]);\r\n if (fusionData[1]) {\r\n result[lowValueField] = result[valueField] - fusionData[0] / fusionData[1]\r\n }\r\n if (fusionData[2]) {\r\n result[highValueField] = result[valueField] + fusionData[2] / fusionData[3]\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction calculateSumErrorBars(result, data, series) {\r\n var errorBarsOptions = series.getOptions().valueErrorBar;\r\n var lowValueField = errorBarsOptions.lowValueField || LOW_ERROR;\r\n var highValueField = errorBarsOptions.highValueField || HIGH_ERROR;\r\n if (series.areErrorBarsVisible() && void 0 === errorBarsOptions.type) {\r\n result[lowValueField] = 0;\r\n result[highValueField] = 0;\r\n result = data.reduce((function(result, item) {\r\n result[lowValueField] += item[lowValueField];\r\n result[highValueField] += item[highValueField];\r\n return result\r\n }), result)\r\n }\r\n return result\r\n}\r\n\r\nfunction getMinMaxAggregator(compare) {\r\n return (_ref, series) => {\r\n var {\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd,\r\n data: data\r\n } = _ref;\r\n var valueField = series.getValueFields()[0];\r\n var targetData = data[0];\r\n targetData = data.reduce((result, item) => {\r\n var value = item[valueField];\r\n if (null === result[valueField]) {\r\n result = item\r\n }\r\n if (null !== value && compare(value, result[valueField])) {\r\n return item\r\n }\r\n return result\r\n }, targetData);\r\n return _extend({}, targetData, {\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd)\r\n })\r\n }\r\n}\r\n\r\nfunction checkFields(data, fieldsToCheck, skippedFields) {\r\n var allFieldsIsValid = true;\r\n for (var field in fieldsToCheck) {\r\n var isArgument = \"argument\" === field;\r\n if (isArgument || \"size\" === field ? !_isDefined(data[field]) : void 0 === data[field]) {\r\n var selector = fieldsToCheck[field];\r\n if (!isArgument) {\r\n skippedFields[selector] = (skippedFields[selector] || 0) + 1\r\n }\r\n allFieldsIsValid = false\r\n }\r\n }\r\n return allFieldsIsValid\r\n}\r\nvar baseScatterMethods = {\r\n _defaultDuration: DEFAULT_DURATION,\r\n _defaultTrackerWidth: DEFAULT_TRACKER_WIDTH,\r\n _applyStyle: _noop,\r\n _updateOptions: _noop,\r\n _parseStyle: _noop,\r\n _prepareSegment: _noop,\r\n _drawSegment: _noop,\r\n _appendInGroup: function() {\r\n this._group.append(this._extGroups.seriesGroup)\r\n },\r\n _createLegendState: function(styleOptions, defaultColor) {\r\n return {\r\n fill: extractColor(styleOptions.color, true) || defaultColor,\r\n hatching: styleOptions.hatching ? _extend({}, styleOptions.hatching, {\r\n direction: \"right\"\r\n }) : void 0\r\n }\r\n },\r\n _getColorId: _noop,\r\n _applyElementsClipRect: function(settings) {\r\n settings[\"clip-path\"] = this._paneClipRectID\r\n },\r\n _applyMarkerClipRect: function(settings) {\r\n settings[\"clip-path\"] = this._forceClipping ? this._paneClipRectID : null\r\n },\r\n _createGroup: function(groupName, parent, target, settings) {\r\n var group = parent[groupName] = parent[groupName] || this._renderer.g();\r\n target && group.append(target);\r\n settings && group.attr(settings)\r\n },\r\n _applyClearingSettings: function(settings) {\r\n settings.opacity = null;\r\n settings.scale = null;\r\n if (this._options.rotated) {\r\n settings.translateX = null\r\n } else {\r\n settings.translateY = null\r\n }\r\n },\r\n _createGroups: function() {\r\n this._createGroup(\"_markersGroup\", this, this._group);\r\n this._createGroup(\"_labelsGroup\", this)\r\n },\r\n _setMarkerGroupSettings: function() {\r\n var settings = this._createPointStyles(this._getMarkerGroupOptions()).normal;\r\n settings.class = \"dxc-markers\";\r\n settings.opacity = 1;\r\n this._applyMarkerClipRect(settings);\r\n this._markersGroup.attr(settings)\r\n },\r\n getVisibleArea: function() {\r\n return this._visibleArea\r\n },\r\n areErrorBarsVisible: function() {\r\n var errorBarOptions = this._options.valueErrorBar;\r\n return errorBarOptions && this._errorBarsEnabled() && \"none\" !== errorBarOptions.displayMode && (isErrorBarTypeCorrect(_normalizeEnum(errorBarOptions.type)) || _isDefined(errorBarOptions.lowValueField) || _isDefined(errorBarOptions.highValueField))\r\n },\r\n groupPointsByCoords(rotated) {\r\n var cat = [];\r\n _each(this.getVisiblePoints(), (function(_, p) {\r\n var pointCoord = parseInt(rotated ? p.vy : p.vx);\r\n if (!cat[pointCoord]) {\r\n cat[pointCoord] = p\r\n } else {\r\n Array.isArray(cat[pointCoord]) ? cat[pointCoord].push(p) : cat[pointCoord] = [cat[pointCoord], p]\r\n }\r\n }));\r\n return cat\r\n },\r\n _createErrorBarGroup: function(animationEnabled) {\r\n var errorBarOptions = this._options.valueErrorBar;\r\n var settings;\r\n if (this.areErrorBarsVisible()) {\r\n settings = {\r\n class: \"dxc-error-bars\",\r\n stroke: errorBarOptions.color,\r\n \"stroke-width\": errorBarOptions.lineWidth,\r\n opacity: animationEnabled ? .001 : errorBarOptions.opacity || 1,\r\n \"stroke-linecap\": \"square\",\r\n sharp: true,\r\n \"clip-path\": this._forceClipping ? this._paneClipRectID : this._widePaneClipRectID\r\n };\r\n this._createGroup(\"_errorBarGroup\", this, this._group, settings)\r\n }\r\n },\r\n _setGroupsSettings: function(animationEnabled) {\r\n this._setMarkerGroupSettings();\r\n this._setLabelGroupSettings(animationEnabled);\r\n this._createErrorBarGroup(animationEnabled)\r\n },\r\n _getCreatingPointOptions: function() {\r\n var defaultPointOptions;\r\n var creatingPointOptions = this._predefinedPointOptions;\r\n var normalStyle;\r\n if (!creatingPointOptions) {\r\n defaultPointOptions = this._getPointOptions();\r\n this._predefinedPointOptions = creatingPointOptions = _extend(true, {\r\n styles: {}\r\n }, defaultPointOptions);\r\n normalStyle = defaultPointOptions.styles && defaultPointOptions.styles.normal || {};\r\n creatingPointOptions.styles = creatingPointOptions.styles || {};\r\n creatingPointOptions.styles.normal = {\r\n \"stroke-width\": normalStyle[\"stroke-width\"],\r\n r: normalStyle.r,\r\n opacity: normalStyle.opacity\r\n }\r\n }\r\n return creatingPointOptions\r\n },\r\n _getPointOptions: function() {\r\n return this._parsePointOptions(this._preparePointOptions(), this._options.label)\r\n },\r\n _getOptionsForPoint: function() {\r\n return this._options.point\r\n },\r\n _parsePointStyle: function(style, defaultColor, defaultBorderColor, defaultSize) {\r\n var border = style.border || {};\r\n var sizeValue = void 0 !== style.size ? style.size : defaultSize;\r\n return {\r\n fill: extractColor(style.color, true) || defaultColor,\r\n stroke: border.color || defaultBorderColor,\r\n \"stroke-width\": border.visible ? border.width : 0,\r\n r: sizeValue / 2 + (border.visible && 0 !== sizeValue ? ~~(border.width / 2) || 0 : 0)\r\n }\r\n },\r\n _createPointStyles: function(pointOptions) {\r\n var mainPointColor = extractColor(pointOptions.color, true) || this._options.mainSeriesColor;\r\n var containerColor = this._options.containerBackgroundColor;\r\n var normalStyle = this._parsePointStyle(pointOptions, mainPointColor, mainPointColor);\r\n normalStyle.visibility = pointOptions.visible ? \"visible\" : \"hidden\";\r\n return {\r\n labelColor: mainPointColor,\r\n normal: normalStyle,\r\n hover: this._parsePointStyle(pointOptions.hoverStyle, containerColor, mainPointColor, pointOptions.size),\r\n selection: this._parsePointStyle(pointOptions.selectionStyle, containerColor, mainPointColor, pointOptions.size)\r\n }\r\n },\r\n _checkData: function(data, skippedFields, fieldsToCheck) {\r\n fieldsToCheck = fieldsToCheck || {\r\n value: this.getValueFields()[0]\r\n };\r\n fieldsToCheck.argument = this.getArgumentField();\r\n return checkFields(data, fieldsToCheck, skippedFields || {}) && data.value === data.value\r\n },\r\n getArgumentRangeInitialValue() {\r\n var points = this.getPoints();\r\n if (this.useAggregation() && points.length) {\r\n var _points$0$aggregation, _points$aggregationIn;\r\n return {\r\n min: null === (_points$0$aggregation = points[0].aggregationInfo) || void 0 === _points$0$aggregation ? void 0 : _points$0$aggregation.intervalStart,\r\n max: null === (_points$aggregationIn = points[points.length - 1].aggregationInfo) || void 0 === _points$aggregationIn ? void 0 : _points$aggregationIn.intervalEnd\r\n }\r\n }\r\n return\r\n },\r\n getValueRangeInitialValue: function() {\r\n return\r\n },\r\n _getRangeData: function() {\r\n return rangeCalculator.getRangeData(this)\r\n },\r\n _getPointDataSelector: function() {\r\n var valueField = this.getValueFields()[0];\r\n var argumentField = this.getArgumentField();\r\n var tagField = this.getTagField();\r\n var areErrorBarsVisible = this.areErrorBarsVisible();\r\n var lowValueField;\r\n var highValueField;\r\n if (areErrorBarsVisible) {\r\n var errorBarOptions = this._options.valueErrorBar;\r\n lowValueField = errorBarOptions.lowValueField || LOW_ERROR;\r\n highValueField = errorBarOptions.highValueField || HIGH_ERROR\r\n }\r\n return data => {\r\n var pointData = {\r\n value: this._processEmptyValue(data[valueField]),\r\n argument: data[argumentField],\r\n tag: data[tagField],\r\n data: data\r\n };\r\n if (areErrorBarsVisible) {\r\n pointData.lowError = data[lowValueField];\r\n pointData.highError = data[highValueField]\r\n }\r\n return pointData\r\n }\r\n },\r\n _errorBarsEnabled: function() {\r\n return this.valueAxisType !== DISCRETE && this.valueAxisType !== LOGARITHMIC && this.valueType !== DATETIME\r\n },\r\n _drawPoint: function(options) {\r\n var point = options.point;\r\n if (point.isInVisibleArea()) {\r\n point.clearVisibility();\r\n point.draw(this._renderer, options.groups, options.hasAnimation, options.firstDrawing);\r\n this._drawnPoints.push(point)\r\n } else {\r\n point.setInvisibility()\r\n }\r\n },\r\n _animateComplete: function() {\r\n var animationSettings = {\r\n duration: this._defaultDuration\r\n };\r\n this._labelsGroup && this._labelsGroup.animate({\r\n opacity: 1\r\n }, animationSettings);\r\n this._errorBarGroup && this._errorBarGroup.animate({\r\n opacity: this._options.valueErrorBar.opacity || 1\r\n }, animationSettings)\r\n },\r\n _animate: function() {\r\n var that = this;\r\n var lastPointIndex = that._drawnPoints.length - 1;\r\n _each(that._drawnPoints || [], (function(i, p) {\r\n p.animate(i === lastPointIndex ? function() {\r\n that._animateComplete()\r\n } : void 0, {\r\n translateX: p.x,\r\n translateY: p.y\r\n })\r\n }))\r\n },\r\n _getIntervalCenter(intervalStart, intervalEnd) {\r\n var argAxis = this.getArgumentAxis();\r\n var axisOptions = argAxis.getOptions();\r\n if (argAxis.aggregatedPointBetweenTicks()) {\r\n return intervalStart\r\n }\r\n return \"discrete\" !== axisOptions.type ? argAxis.getVisualRangeCenter({\r\n minVisible: intervalStart,\r\n maxVisible: intervalEnd\r\n }, true) : intervalStart\r\n },\r\n _defaultAggregator: \"avg\",\r\n _aggregators: {\r\n avg(_ref2, series) {\r\n var {\r\n data: data,\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd\r\n } = _ref2;\r\n if (!data.length) {\r\n return\r\n }\r\n var valueField = series.getValueFields()[0];\r\n var aggregationResult = data.reduce((result, item) => {\r\n var value = item[valueField];\r\n if (_isDefined(value)) {\r\n result[0] += value;\r\n result[1]++\r\n } else if (null === value) {\r\n result[2]++\r\n }\r\n return result\r\n }, [0, 0, 0]);\r\n return calculateAvgErrorBars({\r\n [valueField]: aggregationResult[2] === data.length ? null : aggregationResult[0] / aggregationResult[1],\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd)\r\n }, data, series)\r\n },\r\n sum(_ref3, series) {\r\n var {\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd,\r\n data: data\r\n } = _ref3;\r\n if (!data.length) {\r\n return\r\n }\r\n var valueField = series.getValueFields()[0];\r\n var aggregationResult = data.reduce((result, item) => {\r\n var value = item[valueField];\r\n if (void 0 !== value) {\r\n result[0] += value\r\n }\r\n if (null === value) {\r\n result[1]++\r\n } else if (void 0 === value) {\r\n result[2]++\r\n }\r\n return result\r\n }, [0, 0, 0]);\r\n var value = aggregationResult[0];\r\n if (aggregationResult[1] === data.length) {\r\n value = null\r\n }\r\n if (aggregationResult[2] === data.length) {\r\n return\r\n }\r\n return calculateSumErrorBars({\r\n [valueField]: value,\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd)\r\n }, data, series)\r\n },\r\n count(_ref4, series) {\r\n var {\r\n data: data,\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd\r\n } = _ref4;\r\n var valueField = series.getValueFields()[0];\r\n return {\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd),\r\n [valueField]: data.filter(i => void 0 !== i[valueField]).length\r\n }\r\n },\r\n min: getMinMaxAggregator((a, b) => a < b),\r\n max: getMinMaxAggregator((a, b) => a > b)\r\n },\r\n _endUpdateData: function() {\r\n delete this._predefinedPointOptions\r\n },\r\n getArgumentField: function() {\r\n return this._options.argumentField || \"arg\"\r\n },\r\n getValueFields: function() {\r\n var options = this._options;\r\n var errorBarsOptions = options.valueErrorBar;\r\n var valueFields = [options.valueField || \"val\"];\r\n var lowValueField;\r\n var highValueField;\r\n if (errorBarsOptions) {\r\n lowValueField = errorBarsOptions.lowValueField;\r\n highValueField = errorBarsOptions.highValueField;\r\n _isString(lowValueField) && valueFields.push(lowValueField);\r\n _isString(highValueField) && valueFields.push(highValueField)\r\n }\r\n return valueFields\r\n },\r\n _calculateErrorBars: function(data) {\r\n if (!this.areErrorBarsVisible()) {\r\n return\r\n }\r\n var options = this._options;\r\n var errorBarsOptions = options.valueErrorBar;\r\n var errorBarType = _normalizeEnum(errorBarsOptions.type);\r\n var floatErrorValue = parseFloat(errorBarsOptions.value);\r\n var valueField = this.getValueFields()[0];\r\n var value;\r\n var lowValueField = errorBarsOptions.lowValueField || LOW_ERROR;\r\n var highValueField = errorBarsOptions.highValueField || HIGH_ERROR;\r\n var valueArray;\r\n var valueArrayLength;\r\n var meanValue;\r\n var processDataItem;\r\n var addSubError = function(_i, item) {\r\n value = item.value;\r\n item.lowError = value - floatErrorValue;\r\n item.highError = value + floatErrorValue\r\n };\r\n switch (errorBarType) {\r\n case FIXED:\r\n processDataItem = addSubError;\r\n break;\r\n case PERCENT:\r\n processDataItem = function(_, item) {\r\n value = item.value;\r\n var error = value * floatErrorValue / 100;\r\n item.lowError = value - error;\r\n item.highError = value + error\r\n };\r\n break;\r\n case UNDEFINED:\r\n processDataItem = function(_, item) {\r\n item.lowError = item.data[lowValueField];\r\n item.highError = item.data[highValueField]\r\n };\r\n break;\r\n default:\r\n valueArray = _map(data, (function(item) {\r\n return _isDefined(item.data[valueField]) ? item.data[valueField] : null\r\n }));\r\n valueArrayLength = valueArray.length;\r\n floatErrorValue = floatErrorValue || 1;\r\n switch (errorBarType) {\r\n case VARIANCE:\r\n floatErrorValue = variance(valueArray, sum(valueArray) / valueArrayLength) * floatErrorValue;\r\n processDataItem = addSubError;\r\n break;\r\n case STANDARD_DEVIATION:\r\n meanValue = sum(valueArray) / valueArrayLength;\r\n floatErrorValue = _sqrt(variance(valueArray, meanValue)) * floatErrorValue;\r\n processDataItem = function(_, item) {\r\n item.lowError = meanValue - floatErrorValue;\r\n item.highError = meanValue + floatErrorValue\r\n };\r\n break;\r\n case STANDARD_ERROR:\r\n floatErrorValue = _sqrt(variance(valueArray, sum(valueArray) / valueArrayLength) / valueArrayLength) * floatErrorValue;\r\n processDataItem = addSubError\r\n }\r\n }\r\n processDataItem && _each(data, processDataItem)\r\n },\r\n _patchMarginOptions: function(options) {\r\n var pointOptions = this._getCreatingPointOptions();\r\n var styles = pointOptions.styles;\r\n var maxSize = [styles.normal, styles.hover, styles.selection].reduce((function(max, style) {\r\n return _max(max, 2 * style.r + style[\"stroke-width\"])\r\n }), 0);\r\n options.size = pointOptions.visible ? maxSize : 0;\r\n options.sizePointNormalState = pointOptions.visible ? 2 * styles.normal.r + styles.normal[\"stroke-width\"] : 2;\r\n return options\r\n },\r\n usePointsToDefineAutoHiding: () => true\r\n};\r\nchart = _extend({}, baseScatterMethods, {\r\n drawTrackers: function() {\r\n var that = this;\r\n var trackers;\r\n var trackersGroup;\r\n var segments = that._segments || [];\r\n var rotated = that._options.rotated;\r\n if (!that.isVisible()) {\r\n return\r\n }\r\n if (segments.length) {\r\n trackers = that._trackers = that._trackers || [];\r\n trackersGroup = that._trackersGroup = (that._trackersGroup || that._renderer.g().attr({\r\n fill: \"gray\",\r\n opacity: .001,\r\n stroke: \"gray\",\r\n class: \"dxc-trackers\"\r\n })).attr({\r\n \"clip-path\": this._paneClipRectID || null\r\n }).append(that._group);\r\n _each(segments, (function(i, segment) {\r\n if (!trackers[i]) {\r\n trackers[i] = that._drawTrackerElement(segment).data({\r\n \"chart-data-series\": that\r\n }).append(trackersGroup)\r\n } else {\r\n that._updateTrackerElement(segment, trackers[i])\r\n }\r\n }))\r\n }\r\n that._trackersTranslator = that.groupPointsByCoords(rotated)\r\n },\r\n _checkAxisVisibleAreaCoord(isArgument, coord) {\r\n var axis = isArgument ? this.getArgumentAxis() : this.getValueAxis();\r\n var visibleArea = axis.getVisibleArea();\r\n return _isDefined(coord) && visibleArea[0] <= coord && visibleArea[1] >= coord\r\n },\r\n checkSeriesViewportCoord(axis, coord) {\r\n return this.getPoints().length && this.isVisible()\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var isOpposite = !isArgument && !this._options.rotated || isArgument && this._options.rotated;\r\n var coordName = !isOpposite ? \"vx\" : \"vy\";\r\n var oppositeCoordName = !isOpposite ? \"vy\" : \"vx\";\r\n var points = this.getVisiblePoints();\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpCoord = p[coordName] === coord ? p[oppositeCoordName] : void 0;\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n },\r\n _getNearestPoints: (point, nextPoint) => [point, nextPoint],\r\n _getBezierPoints: () => [],\r\n _getNearestPointsByCoord(coord, isArgument) {\r\n var that = this;\r\n var rotated = that.getOptions().rotated;\r\n var isOpposite = !isArgument && !rotated || isArgument && rotated;\r\n var coordName = isOpposite ? \"vy\" : \"vx\";\r\n var allPoints = that.getPoints();\r\n var bezierPoints = that._getBezierPoints();\r\n var nearestPoints = [];\r\n if (allPoints.length > 1) {\r\n allPoints.forEach((point, i) => {\r\n var nextPoint = allPoints[i + 1];\r\n if (nextPoint && (point[coordName] <= coord && nextPoint[coordName] >= coord || point[coordName] >= coord && nextPoint[coordName] <= coord)) {\r\n nearestPoints.push(that._getNearestPoints(point, nextPoint, bezierPoints))\r\n }\r\n })\r\n } else {\r\n nearestPoints.push([allPoints[0], allPoints[0]])\r\n }\r\n return nearestPoints\r\n },\r\n getNeighborPoint: function(x, y) {\r\n var pCoord = this._options.rotated ? y : x;\r\n var nCoord = pCoord;\r\n var cat = this._trackersTranslator;\r\n var point = null;\r\n var minDistance;\r\n var oppositeCoord = this._options.rotated ? x : y;\r\n var oppositeCoordName = this._options.rotated ? \"vx\" : \"vy\";\r\n if (this.isVisible() && cat) {\r\n point = cat[pCoord];\r\n do {\r\n point = cat[nCoord] || cat[pCoord];\r\n pCoord--;\r\n nCoord++\r\n } while ((pCoord >= 0 || nCoord < cat.length) && !point);\r\n if (Array.isArray(point)) {\r\n minDistance = _abs(point[0][oppositeCoordName] - oppositeCoord);\r\n _each(point, (function(i, p) {\r\n var distance = _abs(p[oppositeCoordName] - oppositeCoord);\r\n if (minDistance >= distance) {\r\n minDistance = distance;\r\n point = p\r\n }\r\n }))\r\n }\r\n }\r\n return point\r\n },\r\n _applyVisibleArea: function() {\r\n var rotated = this._options.rotated;\r\n var visibleX = (rotated ? this.getValueAxis() : this.getArgumentAxis()).getVisibleArea();\r\n var visibleY = (rotated ? this.getArgumentAxis() : this.getValueAxis()).getVisibleArea();\r\n this._visibleArea = {\r\n minX: visibleX[0],\r\n maxX: visibleX[1],\r\n minY: visibleY[0],\r\n maxY: visibleY[1]\r\n }\r\n },\r\n getPointCenterByArg(arg) {\r\n var point = this.getPointsByArg(arg)[0];\r\n return point ? point.getCenterCoord() : void 0\r\n }\r\n});\r\npolar = _extend({}, baseScatterMethods, {\r\n drawTrackers: function() {\r\n chart.drawTrackers.call(this);\r\n var cat = this._trackersTranslator;\r\n var index;\r\n if (!this.isVisible()) {\r\n return\r\n }\r\n _each(cat, (function(i, category) {\r\n if (category) {\r\n index = i;\r\n return false\r\n }\r\n }));\r\n cat[index + 360] = cat[index]\r\n },\r\n getNeighborPoint: function(x, y) {\r\n var pos = convertXYToPolar(this.getValueAxis().getCenter(), x, y);\r\n return chart.getNeighborPoint.call(this, pos.phi, pos.r)\r\n },\r\n _applyVisibleArea: function() {\r\n var canvas = this.getValueAxis().getCanvas();\r\n this._visibleArea = {\r\n minX: canvas.left,\r\n maxX: canvas.width - canvas.right,\r\n minY: canvas.top,\r\n maxY: canvas.height - canvas.bottom\r\n }\r\n },\r\n getSeriesPairCoord(params, isArgument) {\r\n var coords = null;\r\n var paramName = isArgument ? \"argument\" : \"radius\";\r\n var points = this.getVisiblePoints();\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpPoint = _isDefined(p[paramName]) && _isDefined(params[paramName]) && p[paramName].valueOf() === params[paramName].valueOf() ? {\r\n x: p.x,\r\n y: p.y\r\n } : void 0;\r\n if (_isDefined(tmpPoint)) {\r\n coords = tmpPoint;\r\n break\r\n }\r\n }\r\n return coords\r\n }\r\n});\r\nexport {\r\n chart,\r\n polar\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/line_series.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n chart as chartScatterSeries,\r\n polar as polarScatterSeries\r\n} from \"./scatter_series\";\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n map,\r\n normalizeAngle,\r\n getCosAndSin,\r\n extractColor\r\n} from \"../core/utils\";\r\nimport {\r\n solveCubicEquation,\r\n trunc\r\n} from \"../../core/utils/math\";\r\nvar DISCRETE = \"discrete\";\r\nvar {\r\n round: round,\r\n sqrt: sqrt,\r\n pow: pow,\r\n min: min,\r\n max: max,\r\n abs: abs\r\n} = Math;\r\nvar chart = {};\r\nvar polar = {};\r\n\r\nfunction clonePoint(point, newX, newY, newAngle) {\r\n var p = clone(point);\r\n p.x = newX;\r\n p.y = newY;\r\n p.angle = newAngle;\r\n return p\r\n}\r\n\r\nfunction getTangentPoint(point, prevPoint, centerPoint, tan, nextStepAngle) {\r\n var correctAngle = point.angle + nextStepAngle;\r\n var cosSin = getCosAndSin(correctAngle);\r\n var x = centerPoint.x + (point.radius + tan * nextStepAngle) * cosSin.cos;\r\n var y = centerPoint.y - (point.radius + tan * nextStepAngle) * cosSin.sin;\r\n return clonePoint(prevPoint, x, y, correctAngle)\r\n}\r\n\r\nfunction obtainCubicBezierTCoef(p, p0, p1, p2, p3) {\r\n var d = p0 - p;\r\n var c = 3 * p1 - 3 * p0;\r\n var b = 3 * p2 - 6 * p1 + 3 * p0;\r\n var a = p3 - 3 * p2 + 3 * p1 - p0;\r\n return solveCubicEquation(a, b, c, d)\r\n}\r\nvar lineMethods = {\r\n autoHidePointMarkersEnabled: () => true,\r\n _applyGroupSettings: function(style, settings, group) {\r\n settings = extend(settings, style);\r\n this._applyElementsClipRect(settings);\r\n group.attr(settings)\r\n },\r\n _setGroupsSettings: function(animationEnabled) {\r\n var style = this._styles.normal;\r\n this._applyGroupSettings(style.elements, {\r\n class: \"dxc-elements\"\r\n }, this._elementsGroup);\r\n this._bordersGroup && this._applyGroupSettings(style.border, {\r\n class: \"dxc-borders\"\r\n }, this._bordersGroup);\r\n chartScatterSeries._setGroupsSettings.call(this, animationEnabled);\r\n animationEnabled && this._markersGroup && this._markersGroup.attr({\r\n opacity: .001\r\n })\r\n },\r\n _createGroups: function() {\r\n this._createGroup(\"_elementsGroup\", this, this._group);\r\n this._areBordersVisible() && this._createGroup(\"_bordersGroup\", this, this._group);\r\n chartScatterSeries._createGroups.call(this)\r\n },\r\n _areBordersVisible: function() {\r\n return false\r\n },\r\n _getDefaultSegment: function(segment) {\r\n return {\r\n line: map(segment.line || [], (function(pt) {\r\n return pt.getDefaultCoords()\r\n }))\r\n }\r\n },\r\n _prepareSegment: function(points) {\r\n return {\r\n line: points\r\n }\r\n },\r\n _parseLineOptions: function(options, defaultColor) {\r\n return {\r\n stroke: extractColor(options.color, true) || defaultColor,\r\n \"stroke-width\": options.width,\r\n dashStyle: options.dashStyle || \"solid\"\r\n }\r\n },\r\n _parseStyle: function(options, defaultColor) {\r\n return {\r\n elements: this._parseLineOptions(options, defaultColor)\r\n }\r\n },\r\n _applyStyle: function(style) {\r\n this._elementsGroup && this._elementsGroup.attr(style.elements);\r\n each(this._graphics || [], (function(_, graphic) {\r\n graphic.line && graphic.line.attr({\r\n \"stroke-width\": style.elements[\"stroke-width\"]\r\n }).sharp()\r\n }))\r\n },\r\n _drawElement: function(segment, group) {\r\n return {\r\n line: this._createMainElement(segment.line, {\r\n \"stroke-width\": this._styles.normal.elements[\"stroke-width\"]\r\n }).append(group)\r\n }\r\n },\r\n _removeElement: function(element) {\r\n element.line.remove()\r\n },\r\n _updateElement: function(element, segment, animate, animationComplete) {\r\n var params = {\r\n points: segment.line\r\n };\r\n var lineElement = element.line;\r\n animate ? lineElement.animate(params, {}, animationComplete) : lineElement.attr(params)\r\n },\r\n _animateComplete: function() {\r\n chartScatterSeries._animateComplete.call(this);\r\n this._markersGroup && this._markersGroup.animate({\r\n opacity: 1\r\n }, {\r\n duration: this._defaultDuration\r\n })\r\n },\r\n _animate: function() {\r\n var that = this;\r\n var lastIndex = that._graphics.length - 1;\r\n each(that._graphics || [], (function(i, elem) {\r\n var complete;\r\n if (i === lastIndex) {\r\n complete = function() {\r\n that._animateComplete()\r\n }\r\n }\r\n that._updateElement(elem, that._segments[i], true, complete)\r\n }))\r\n },\r\n _drawPoint: function(options) {\r\n chartScatterSeries._drawPoint.call(this, {\r\n point: options.point,\r\n groups: options.groups\r\n })\r\n },\r\n _createMainElement: function(points, settings) {\r\n return this._renderer.path(points, \"line\").attr(settings)\r\n },\r\n _sortPoints: function(points, rotated) {\r\n return rotated ? points.sort((function(p1, p2) {\r\n return p2.y - p1.y\r\n })) : points.sort((function(p1, p2) {\r\n return p1.x - p2.x\r\n }))\r\n },\r\n _drawSegment: function(points, animationEnabled, segmentCount, lastSegment) {\r\n var rotated = this._options.rotated;\r\n var segment = this._prepareSegment(points, rotated, lastSegment);\r\n this._segments.push(segment);\r\n if (!this._graphics[segmentCount]) {\r\n this._graphics[segmentCount] = this._drawElement(animationEnabled ? this._getDefaultSegment(segment) : segment, this._elementsGroup)\r\n } else if (!animationEnabled) {\r\n this._updateElement(this._graphics[segmentCount], segment)\r\n }\r\n },\r\n _getTrackerSettings: function() {\r\n var defaultTrackerWidth = this._defaultTrackerWidth;\r\n var strokeWidthFromElements = this._styles.normal.elements[\"stroke-width\"];\r\n return {\r\n \"stroke-width\": strokeWidthFromElements > defaultTrackerWidth ? strokeWidthFromElements : defaultTrackerWidth,\r\n fill: \"none\"\r\n }\r\n },\r\n _getMainPointsFromSegment: function(segment) {\r\n return segment.line\r\n },\r\n _drawTrackerElement: function(segment) {\r\n return this._createMainElement(this._getMainPointsFromSegment(segment), this._getTrackerSettings(segment))\r\n },\r\n _updateTrackerElement: function(segment, element) {\r\n var settings = this._getTrackerSettings(segment);\r\n settings.points = this._getMainPointsFromSegment(segment);\r\n element.attr(settings)\r\n },\r\n checkSeriesViewportCoord(axis, coord) {\r\n if (!chartScatterSeries.checkSeriesViewportCoord.call(this)) {\r\n return false\r\n }\r\n var range = axis.isArgumentAxis ? this.getArgumentRange() : this.getViewport();\r\n var min = axis.getTranslator().translate(range.categories ? range.categories[0] : range.min);\r\n var max = axis.getTranslator().translate(range.categories ? range.categories[range.categories.length - 1] : range.max);\r\n var rotated = this.getOptions().rotated;\r\n var inverted = axis.getOptions().inverted;\r\n return axis.isArgumentAxis && (!rotated && !inverted || rotated && inverted) || !axis.isArgumentAxis && (rotated && !inverted || !rotated && inverted) ? coord >= min && coord <= max : coord >= max && coord <= min\r\n }\r\n};\r\nvar lineSeries = chart.line = extend({}, chartScatterSeries, lineMethods, {\r\n getPointCenterByArg(arg) {\r\n var value = this.getArgumentAxis().getTranslator().translate(arg);\r\n return {\r\n x: value,\r\n y: value\r\n }\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var nearestPoints = this._getNearestPointsByCoord(coord, isArgument);\r\n var needValueCoord = isArgument && !this._options.rotated || !isArgument && this._options.rotated;\r\n for (var i = 0; i < nearestPoints.length; i++) {\r\n var p = nearestPoints[i];\r\n var k = (p[1].vy - p[0].vy) / (p[1].vx - p[0].vx);\r\n var b = p[0].vy - p[0].vx * k;\r\n var tmpCoord = void 0;\r\n if (p[1].vx - p[0].vx === 0) {\r\n tmpCoord = needValueCoord ? p[0].vy : p[0].vx\r\n } else {\r\n tmpCoord = needValueCoord ? k * coord + b : (coord - b) / k\r\n }\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n }\r\n});\r\nchart.stepline = extend({}, lineSeries, {\r\n _calculateStepLinePoints(points) {\r\n var segment = [];\r\n var coordName = this._options.rotated ? \"x\" : \"y\";\r\n each(points, (function(i, pt) {\r\n var point;\r\n if (!i) {\r\n segment.push(pt);\r\n return\r\n }\r\n var step = segment[segment.length - 1][coordName];\r\n if (step !== pt[coordName]) {\r\n point = clone(pt);\r\n point[coordName] = step;\r\n segment.push(point)\r\n }\r\n segment.push(pt)\r\n }));\r\n return segment\r\n },\r\n _prepareSegment: function(points) {\r\n return lineSeries._prepareSegment(this._calculateStepLinePoints(points))\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord;\r\n var rotated = this._options.rotated;\r\n var isOpposite = !isArgument && !rotated || isArgument && rotated;\r\n var coordName = !isOpposite ? \"vx\" : \"vy\";\r\n var oppositeCoordName = !isOpposite ? \"vy\" : \"vx\";\r\n var nearestPoints = this._getNearestPointsByCoord(coord, isArgument);\r\n for (var i = 0; i < nearestPoints.length; i++) {\r\n var p = nearestPoints[i];\r\n var tmpCoord = void 0;\r\n if (isArgument) {\r\n tmpCoord = coord !== p[1][coordName] ? p[0][oppositeCoordName] : p[1][oppositeCoordName]\r\n } else {\r\n tmpCoord = coord === p[0][coordName] ? p[0][oppositeCoordName] : p[1][oppositeCoordName]\r\n }\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n }\r\n});\r\nchart.spline = extend({}, lineSeries, {\r\n _calculateBezierPoints: function(src, rotated) {\r\n var bezierPoints = [];\r\n var pointsCopy = src;\r\n var checkExtremum = function(otherPointCoord, pointCoord, controlCoord) {\r\n return otherPointCoord > pointCoord && controlCoord > otherPointCoord || otherPointCoord < pointCoord && controlCoord < otherPointCoord ? otherPointCoord : controlCoord\r\n };\r\n if (1 !== pointsCopy.length) {\r\n pointsCopy.forEach((function(curPoint, i) {\r\n var leftControlX;\r\n var leftControlY;\r\n var rightControlX;\r\n var rightControlY;\r\n var prevPoint = pointsCopy[i - 1];\r\n var nextPoint = pointsCopy[i + 1];\r\n var x1;\r\n var x2;\r\n var y1;\r\n var y2;\r\n var a;\r\n var b;\r\n var c;\r\n var xc;\r\n var yc;\r\n var shift;\r\n if (!i || i === pointsCopy.length - 1) {\r\n bezierPoints.push(curPoint, curPoint);\r\n return\r\n }\r\n var xCur = curPoint.x;\r\n var yCur = curPoint.y;\r\n x1 = prevPoint.x;\r\n x2 = nextPoint.x;\r\n y1 = prevPoint.y;\r\n y2 = nextPoint.y;\r\n var curIsExtremum = !!(!rotated && (yCur <= prevPoint.y && yCur <= nextPoint.y || yCur >= prevPoint.y && yCur >= nextPoint.y) || rotated && (xCur <= prevPoint.x && xCur <= nextPoint.x || xCur >= prevPoint.x && xCur >= nextPoint.x));\r\n if (curIsExtremum) {\r\n if (!rotated) {\r\n rightControlY = leftControlY = yCur;\r\n rightControlX = (xCur + nextPoint.x) / 2;\r\n leftControlX = (xCur + prevPoint.x) / 2\r\n } else {\r\n rightControlX = leftControlX = xCur;\r\n rightControlY = (yCur + nextPoint.y) / 2;\r\n leftControlY = (yCur + prevPoint.y) / 2\r\n }\r\n } else {\r\n a = y2 - y1;\r\n b = x1 - x2;\r\n c = y1 * x2 - x1 * y2;\r\n if (!rotated) {\r\n if (!b) {\r\n bezierPoints.push(curPoint, curPoint, curPoint);\r\n return\r\n }\r\n xc = xCur;\r\n yc = -1 * (a * xc + c) / b;\r\n shift = yc - yCur;\r\n y1 -= shift;\r\n y2 -= shift\r\n } else {\r\n if (!a) {\r\n bezierPoints.push(curPoint, curPoint, curPoint);\r\n return\r\n }\r\n yc = yCur;\r\n xc = -1 * (b * yc + c) / a;\r\n shift = xc - xCur;\r\n x1 -= shift;\r\n x2 -= shift\r\n }\r\n rightControlX = (xCur + .5 * x2) / 1.5;\r\n rightControlY = (yCur + .5 * y2) / 1.5;\r\n leftControlX = (xCur + .5 * x1) / 1.5;\r\n leftControlY = (yCur + .5 * y1) / 1.5\r\n }\r\n if (!rotated) {\r\n leftControlY = checkExtremum(prevPoint.y, yCur, leftControlY);\r\n rightControlY = checkExtremum(nextPoint.y, yCur, rightControlY)\r\n } else {\r\n leftControlX = checkExtremum(prevPoint.x, xCur, leftControlX);\r\n rightControlX = checkExtremum(nextPoint.x, xCur, rightControlX)\r\n }\r\n var leftPoint = clonePoint(curPoint, leftControlX, leftControlY);\r\n var rightPoint = clonePoint(curPoint, rightControlX, rightControlY);\r\n bezierPoints.push(leftPoint, curPoint, rightPoint)\r\n }))\r\n } else {\r\n bezierPoints.push(pointsCopy[0])\r\n }\r\n return bezierPoints\r\n },\r\n _prepareSegment: function(points, rotated) {\r\n return lineSeries._prepareSegment(this._calculateBezierPoints(points, rotated))\r\n },\r\n _createMainElement: function(points, settings) {\r\n return this._renderer.path(points, \"bezier\").attr(settings)\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var isOpposite = !isArgument && !this._options.rotated || isArgument && this._options.rotated;\r\n var coordName = !isOpposite ? \"vx\" : \"vy\";\r\n var bezierCoordName = !isOpposite ? \"x\" : \"y\";\r\n var oppositeCoordName = !isOpposite ? \"vy\" : \"vx\";\r\n var bezierOppositeCoordName = !isOpposite ? \"y\" : \"x\";\r\n var axis = !isArgument ? this.getArgumentAxis() : this.getValueAxis();\r\n var visibleArea = axis.getVisibleArea();\r\n var nearestPoints = this._getNearestPointsByCoord(coord, isArgument);\r\n var _loop = function() {\r\n var p = nearestPoints[i];\r\n if (1 === p.length) {\r\n visibleArea[0] <= p[0][oppositeCoordName] && visibleArea[1] >= p[0][oppositeCoordName] && (oppositeCoord = p[0][oppositeCoordName])\r\n } else {\r\n var ts = obtainCubicBezierTCoef(coord, p[0][coordName], p[1][bezierCoordName], p[2][bezierCoordName], p[3][coordName]);\r\n ts.forEach(t => {\r\n if (t >= 0 && t <= 1) {\r\n var tmpCoord = Math.pow(1 - t, 3) * p[0][oppositeCoordName] + 3 * Math.pow(1 - t, 2) * t * p[1][bezierOppositeCoordName] + 3 * (1 - t) * t * t * p[2][bezierOppositeCoordName] + t * t * t * p[3][oppositeCoordName];\r\n if (visibleArea[0] <= tmpCoord && visibleArea[1] >= tmpCoord) {\r\n oppositeCoord = tmpCoord\r\n }\r\n }\r\n })\r\n }\r\n if (null !== oppositeCoord) {\r\n return \"break\"\r\n }\r\n };\r\n for (var i = 0; i < nearestPoints.length; i++) {\r\n var _ret = _loop();\r\n if (\"break\" === _ret) {\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n },\r\n _getNearestPoints(point, nextPoint, bezierPoints) {\r\n var index = bezierPoints.indexOf(point);\r\n return [point, bezierPoints[index + 1], bezierPoints[index + 2], nextPoint]\r\n },\r\n _getBezierPoints() {\r\n return this._segments.length > 0 ? this._segments.reduce((a, seg) => a.concat(seg.line), []) : []\r\n }\r\n});\r\npolar.line = extend({}, polarScatterSeries, lineMethods, {\r\n _sortPoints: function(points) {\r\n return points\r\n },\r\n _prepareSegment: function(points, rotated, lastSegment) {\r\n var preparedPoints = [];\r\n var centerPoint = this.getValueAxis().getCenter();\r\n var i;\r\n lastSegment && this._closeSegment(points);\r\n if (this.argumentAxisType !== DISCRETE && this.valueAxisType !== DISCRETE) {\r\n for (i = 1; i < points.length; i++) {\r\n preparedPoints = preparedPoints.concat(this._getTangentPoints(points[i], points[i - 1], centerPoint, i === points.length - 1))\r\n }\r\n if (!preparedPoints.length) {\r\n preparedPoints = points\r\n }\r\n } else {\r\n return lineSeries._prepareSegment.call(this, points)\r\n }\r\n return {\r\n line: preparedPoints\r\n }\r\n },\r\n _getRemainingAngle: function(angle) {\r\n var normAngle = normalizeAngle(angle);\r\n return angle >= 0 ? 360 - normAngle : -normAngle\r\n },\r\n _closeSegment(points) {\r\n var point = this._segments.length ? this._segments[0].line[0] : points[0];\r\n var newPoint = clonePoint(point, point.x, point.y, point.angle);\r\n newPoint = this._modifyReflectedPoint(newPoint, points.at(-1));\r\n if (newPoint) {\r\n points.push(newPoint)\r\n }\r\n },\r\n _modifyReflectedPoint(point, lastPoint) {\r\n if (lastPoint.angle === point.angle) {\r\n return\r\n }\r\n if (normalizeAngle(round(lastPoint.angle)) === normalizeAngle(round(point.angle))) {\r\n point.angle = lastPoint.angle\r\n } else {\r\n var differenceAngle = lastPoint.angle - point.angle;\r\n point.angle = lastPoint.angle + this._getRemainingAngle(differenceAngle)\r\n }\r\n return point\r\n },\r\n _getTangentPoints: function(point, prevPoint, centerPoint, isLastSegment) {\r\n var tangentPoints = [];\r\n var betweenAngle = Math.round(prevPoint.angle - point.angle);\r\n var tan = (prevPoint.radius - point.radius) / betweenAngle;\r\n var i;\r\n if (0 === betweenAngle) {\r\n tangentPoints = [prevPoint, point]\r\n } else if (betweenAngle > 0) {\r\n var angle = isLastSegment ? betweenAngle : betweenAngle - 1;\r\n for (i = angle; i >= 0; i--) {\r\n tangentPoints.push(getTangentPoint(point, prevPoint, centerPoint, tan, i))\r\n }\r\n } else {\r\n var _angle = isLastSegment ? betweenAngle : betweenAngle + 1;\r\n for (i = 0; i >= _angle; i--) {\r\n tangentPoints.push(getTangentPoint(point, prevPoint, centerPoint, tan, betweenAngle - i))\r\n }\r\n }\r\n return tangentPoints\r\n },\r\n getSeriesPairCoord(params, isArgument) {\r\n var argAxis = this.getArgumentAxis();\r\n var paramName = isArgument ? \"angle\" : \"radius\";\r\n var coordParam = params[paramName];\r\n var centerPoint = argAxis.getCenter();\r\n var isInsideInterval = (prevPoint, point, _ref) => {\r\n var {\r\n x: x,\r\n y: y\r\n } = _ref;\r\n return (p1 = {\r\n x: x,\r\n y: y\r\n }, p2 = centerPoint, sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2))) <= argAxis.getRadius() && min(prevPoint.x, point.x) <= x && max(prevPoint.x, point.x) >= x && min(prevPoint.y, point.y) <= y && max(prevPoint.y, point.y) >= y;\r\n var p1, p2\r\n };\r\n var coords;\r\n var neighborPoints = this.getNeighborPoints(coordParam, paramName);\r\n if (1 === neighborPoints.length) {\r\n coords = neighborPoints[0]\r\n } else if (neighborPoints.length > 1) {\r\n var prevPoint = neighborPoints[0];\r\n var point = neighborPoints[1];\r\n if (this.argumentAxisType !== DISCRETE && this.valueAxisType !== DISCRETE) {\r\n var tan;\r\n var stepAngle;\r\n if (isArgument) {\r\n tan = (prevPoint.radius - point.radius) / (prevPoint.angle - point.angle);\r\n stepAngle = coordParam - point.angle\r\n } else {\r\n tan = (prevPoint.radius - point.radius) / (prevPoint.angle - point.angle);\r\n stepAngle = (coordParam - point.radius) / tan\r\n }\r\n coords = getTangentPoint(point, prevPoint, centerPoint, tan, stepAngle)\r\n } else if (isArgument) {\r\n var cosSin = getCosAndSin(-coordParam);\r\n var k1 = (point.y - prevPoint.y) / (point.x - prevPoint.x);\r\n var b1 = prevPoint.y - prevPoint.x * k1;\r\n var k2 = cosSin.sin / cosSin.cos;\r\n var b2 = centerPoint.y - k2 * centerPoint.x;\r\n var x = (b2 - b1) / (k1 - k2);\r\n var y = k1 * x + b1;\r\n if (isInsideInterval(prevPoint, point, {\r\n x: x,\r\n y: y\r\n })) {\r\n var quarter = abs(trunc((360 + coordParam) / 90) % 4);\r\n if (0 === quarter && x >= centerPoint.x && y <= centerPoint.y || 1 === quarter && x <= centerPoint.x && y <= centerPoint.y || 2 === quarter && x <= centerPoint.x && y >= centerPoint.y || 3 === quarter && x >= centerPoint.x && y >= centerPoint.y) {\r\n coords = {\r\n x: x,\r\n y: y\r\n }\r\n }\r\n }\r\n } else {\r\n var k = (point.y - prevPoint.y) / (point.x - prevPoint.x);\r\n var y0 = prevPoint.y - prevPoint.x * k;\r\n var a = 1 + k * k;\r\n var b = -2 * centerPoint.x + 2 * k * y0 - 2 * k * centerPoint.y;\r\n var c = -pow(coordParam, 2) + pow(y0 - centerPoint.y, 2) + pow(centerPoint.x, 2);\r\n var d = b * b - 4 * a * c;\r\n if (d >= 0) {\r\n var x1 = (-b - sqrt(d)) / (2 * a);\r\n var x2 = (-b + sqrt(d)) / (2 * a);\r\n var y1 = k * x1 + y0;\r\n var y2 = k * x2 + y0;\r\n coords = isInsideInterval(prevPoint, point, {\r\n x: x1,\r\n y: y1\r\n }) ? {\r\n x: x1,\r\n y: y1\r\n } : isInsideInterval(prevPoint, point, {\r\n x: x2,\r\n y: y2\r\n }) ? {\r\n x: x2,\r\n y: y2\r\n } : void 0\r\n }\r\n }\r\n }\r\n return coords\r\n },\r\n getNeighborPoints(param, paramName) {\r\n var points = this.getPoints();\r\n var neighborPoints = [];\r\n if (this.getOptions().closed) {\r\n points = extend(true, [], points);\r\n var lastPoint = points[points.length - 1];\r\n var firstPointCopy = clonePoint(points[0], points[0].x, points[0].y, points[0].angle);\r\n var lastPointCopy = clonePoint(lastPoint, lastPoint.x, lastPoint.y, lastPoint.angle);\r\n var rearwardRefPoint = this._modifyReflectedPoint(firstPointCopy, lastPoint);\r\n var forwardRefPoint = this._modifyReflectedPoint(lastPointCopy, points[0]);\r\n if (forwardRefPoint) {\r\n points.unshift(forwardRefPoint)\r\n }\r\n if (rearwardRefPoint) {\r\n points.push(rearwardRefPoint)\r\n }\r\n }\r\n for (var i = 1; i < points.length; i++) {\r\n if (points[i - 1][paramName] === param) {\r\n neighborPoints.push(points[i - 1])\r\n } else if (points[i][paramName] === param) {\r\n neighborPoints.push(points[i])\r\n } else if (points[i][paramName] > param && points[i - 1][paramName] < param || points[i - 1][paramName] > param && points[i][paramName] < param) {\r\n neighborPoints.push(points[i - 1]);\r\n neighborPoints.push(points[i])\r\n }\r\n if (neighborPoints.length > 0) {\r\n break\r\n }\r\n }\r\n return neighborPoints\r\n }\r\n});\r\nexport {\r\n chart,\r\n polar\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/area_series.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n chart as scatterSeries\r\n} from \"./scatter_series\";\r\nimport {\r\n chart as lineSeriesChart,\r\n polar as lineSeriesPolar\r\n} from \"./line_series\";\r\nvar chartLineSeries = lineSeriesChart.line;\r\nvar polarLineSeries = lineSeriesPolar.line;\r\nimport {\r\n map as _map,\r\n extractColor\r\n} from \"../core/utils\";\r\nvar _extend = extend;\r\nvar calculateBezierPoints = lineSeriesChart.spline._calculateBezierPoints;\r\nvar chart = {};\r\nvar polar = {};\r\nvar baseAreaMethods = {\r\n _createBorderElement: chartLineSeries._createMainElement,\r\n _createLegendState: function(styleOptions, defaultColor) {\r\n return {\r\n fill: extractColor(styleOptions.color) || defaultColor,\r\n opacity: styleOptions.opacity,\r\n hatching: styleOptions.hatching,\r\n filter: styleOptions.highlight\r\n }\r\n },\r\n _getColorId: function(options) {\r\n var _options$color;\r\n return null === (_options$color = options.color) || void 0 === _options$color ? void 0 : _options$color.fillId\r\n },\r\n getValueRangeInitialValue: function() {\r\n if (\"logarithmic\" !== this.valueAxisType && \"datetime\" !== this.valueType && false !== this.showZero) {\r\n return 0\r\n } else {\r\n return scatterSeries.getValueRangeInitialValue.call(this)\r\n }\r\n },\r\n _getDefaultSegment: function(segment) {\r\n var defaultSegment = chartLineSeries._getDefaultSegment(segment);\r\n defaultSegment.area = defaultSegment.line.concat(defaultSegment.line.slice().reverse());\r\n return defaultSegment\r\n },\r\n _updateElement: function(element, segment, animate, complete) {\r\n var lineParams = {\r\n points: segment.line\r\n };\r\n var areaParams = {\r\n points: segment.area\r\n };\r\n var borderElement = element.line;\r\n if (animate) {\r\n borderElement && borderElement.animate(lineParams);\r\n element.area.animate(areaParams, {}, complete)\r\n } else {\r\n borderElement && borderElement.attr(lineParams);\r\n element.area.attr(areaParams)\r\n }\r\n },\r\n _removeElement: function(element) {\r\n element.line && element.line.remove();\r\n element.area.remove()\r\n },\r\n _drawElement: function(segment) {\r\n return {\r\n line: this._bordersGroup && this._createBorderElement(segment.line, {\r\n \"stroke-width\": this._styles.normal.border[\"stroke-width\"]\r\n }).append(this._bordersGroup),\r\n area: this._createMainElement(segment.area).append(this._elementsGroup)\r\n }\r\n },\r\n _applyStyle: function(style) {\r\n this._elementsGroup && this._elementsGroup.smartAttr(style.elements);\r\n this._bordersGroup && this._bordersGroup.attr(style.border);\r\n (this._graphics || []).forEach((function(graphic) {\r\n graphic.line && graphic.line.attr({\r\n \"stroke-width\": style.border[\"stroke-width\"]\r\n }).sharp()\r\n }))\r\n },\r\n _parseStyle: function(options, defaultColor, defaultBorderColor) {\r\n var _options$highlight;\r\n var borderOptions = options.border || {};\r\n var borderStyle = chartLineSeries._parseLineOptions(borderOptions, defaultBorderColor);\r\n borderStyle.stroke = borderOptions.visible && borderStyle[\"stroke-width\"] ? borderStyle.stroke : \"none\";\r\n borderStyle[\"stroke-width\"] = borderStyle[\"stroke-width\"] || 1;\r\n return {\r\n border: borderStyle,\r\n elements: {\r\n stroke: \"none\",\r\n fill: extractColor(options.color) || defaultColor,\r\n hatching: options.hatching,\r\n opacity: options.opacity,\r\n filter: null !== (_options$highlight = options.highlight) && void 0 !== _options$highlight ? _options$highlight : null\r\n }\r\n }\r\n },\r\n _areBordersVisible: function() {\r\n var options = this._options;\r\n return options.border.visible || options.hoverStyle.border.visible || options.selectionStyle.border.visible\r\n },\r\n _createMainElement: function(points, settings) {\r\n return this._renderer.path(points, \"area\").attr(settings)\r\n },\r\n _getTrackerSettings: function(segment) {\r\n return {\r\n \"stroke-width\": segment.singlePointSegment ? this._defaultTrackerWidth : 0\r\n }\r\n },\r\n _getMainPointsFromSegment: function(segment) {\r\n return segment.area\r\n }\r\n};\r\n\r\nfunction createAreaPoints(points) {\r\n return _map(points, (function(pt) {\r\n return pt.getCoords()\r\n })).concat(_map(points.slice().reverse(), (function(pt) {\r\n return pt.getCoords(true)\r\n })))\r\n}\r\nvar areaSeries = chart.area = _extend({}, chartLineSeries, baseAreaMethods, {\r\n _prepareSegment(points, rotated) {\r\n var processedPoints = this._processSinglePointsAreaSegment(points, rotated);\r\n var areaPoints = createAreaPoints(processedPoints);\r\n var argAxis = this.getArgumentAxis();\r\n if (argAxis.getAxisPosition) {\r\n var argAxisPosition = argAxis.getAxisPosition();\r\n var axisOptions = argAxis.getOptions();\r\n var edgeOffset = (!rotated ? -1 : 1) * Math.round(axisOptions.width / 2);\r\n if (axisOptions.visible) {\r\n areaPoints.forEach((p, i) => {\r\n if (p) {\r\n var index = 1 === points.length ? 0 : i < points.length ? i : areaPoints.length - 1 - i;\r\n rotated && p.x === points[index].defaultX && p.x === argAxisPosition - argAxis.getAxisShift() && (p.x += edgeOffset);\r\n !rotated && p.y === points[index].defaultY && p.y === argAxisPosition - argAxis.getAxisShift() && (p.y += edgeOffset)\r\n }\r\n })\r\n }\r\n }\r\n return {\r\n line: processedPoints,\r\n area: areaPoints,\r\n singlePointSegment: processedPoints !== points\r\n }\r\n },\r\n _processSinglePointsAreaSegment: function(points, rotated) {\r\n if (points && 1 === points.length) {\r\n var p = points[0];\r\n var p1 = clone(p);\r\n p1[rotated ? \"y\" : \"x\"] += 1;\r\n p1.argument = null;\r\n return [p, p1]\r\n }\r\n return points\r\n }\r\n});\r\npolar.area = _extend({}, polarLineSeries, baseAreaMethods, {\r\n _prepareSegment: function(points, rotated, lastSegment) {\r\n lastSegment && polarLineSeries._closeSegment.call(this, points);\r\n return areaSeries._prepareSegment.call(this, points)\r\n },\r\n _processSinglePointsAreaSegment: function(points) {\r\n return lineSeriesPolar.line._prepareSegment.call(this, points).line\r\n }\r\n});\r\nchart.steparea = _extend({}, areaSeries, {\r\n _prepareSegment: function(points, rotated) {\r\n var stepLineSeries = lineSeriesChart.stepline;\r\n points = areaSeries._processSinglePointsAreaSegment(points, rotated);\r\n return areaSeries._prepareSegment.call(this, stepLineSeries._calculateStepLinePoints.call(this, points), rotated)\r\n },\r\n getSeriesPairCoord: lineSeriesChart.stepline.getSeriesPairCoord\r\n});\r\nchart.splinearea = _extend({}, areaSeries, {\r\n _areaPointsToSplineAreaPoints: function(areaPoints) {\r\n var previousMiddlePoint = areaPoints[areaPoints.length / 2 - 1];\r\n var middlePoint = areaPoints[areaPoints.length / 2];\r\n areaPoints.splice(areaPoints.length / 2, 0, {\r\n x: previousMiddlePoint.x,\r\n y: previousMiddlePoint.y\r\n }, {\r\n x: middlePoint.x,\r\n y: middlePoint.y\r\n })\r\n },\r\n _prepareSegment: function(points, rotated) {\r\n var processedPoints = areaSeries._processSinglePointsAreaSegment(points, rotated);\r\n var areaSegment = areaSeries._prepareSegment.call(this, calculateBezierPoints(processedPoints, rotated));\r\n this._areaPointsToSplineAreaPoints(areaSegment.area);\r\n areaSegment.singlePointSegment = processedPoints !== points;\r\n return areaSegment\r\n },\r\n _getDefaultSegment: function(segment) {\r\n var areaDefaultSegment = areaSeries._getDefaultSegment(segment);\r\n this._areaPointsToSplineAreaPoints(areaDefaultSegment.area);\r\n return areaDefaultSegment\r\n },\r\n _createMainElement: function(points, settings) {\r\n return this._renderer.path(points, \"bezierarea\").attr(settings)\r\n },\r\n _createBorderElement: lineSeriesChart.spline._createMainElement,\r\n getSeriesPairCoord: lineSeriesChart.spline.getSeriesPairCoord,\r\n _getNearestPoints: lineSeriesChart.spline._getNearestPoints,\r\n _getBezierPoints: lineSeriesChart.spline._getBezierPoints,\r\n obtainCubicBezierTCoef: lineSeriesChart.spline.obtainCubicBezierTCoef\r\n});\r\nexport {\r\n chart,\r\n polar\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/bar_series.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport * as scatterSeries from \"./scatter_series\";\r\nimport {\r\n chart as areaChart\r\n} from \"./area_series\";\r\nvar areaSeries = areaChart.area;\r\nimport {\r\n convertPolarToXY,\r\n extractColor\r\n} from \"../core/utils\";\r\nvar chartSeries = scatterSeries.chart;\r\nvar polarSeries = scatterSeries.polar;\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../core/utils/type\";\r\nvar _extend = extend;\r\nvar _each = each;\r\nvar chart = {};\r\nvar polar = {};\r\nvar baseBarSeriesMethods = {\r\n _createLegendState: function(styleOptions, defaultColor) {\r\n return {\r\n fill: extractColor(styleOptions.color) || defaultColor,\r\n hatching: styleOptions.hatching,\r\n filter: styleOptions.highlight\r\n }\r\n },\r\n _getColorId: areaSeries._getColorId,\r\n _parsePointStyle: function(style, defaultColor, defaultBorderColor) {\r\n var color = extractColor(style.color) || defaultColor;\r\n var base = chartSeries._parsePointStyle.call(this, style, color, defaultBorderColor);\r\n base.fill = color;\r\n base.hatching = style.hatching;\r\n base.filter = style.highlight;\r\n base.dashStyle = style.border && style.border.dashStyle || \"solid\";\r\n delete base.r;\r\n return base\r\n },\r\n _applyMarkerClipRect: function(settings) {\r\n settings[\"clip-path\"] = null\r\n },\r\n _setGroupsSettings: function(animationEnabled, firstDrawing) {\r\n var that = this;\r\n var settings = {};\r\n chartSeries._setGroupsSettings.apply(that, arguments);\r\n if (animationEnabled && firstDrawing) {\r\n settings = this._getAffineCoordOptions()\r\n } else if (!animationEnabled) {\r\n settings = {\r\n scaleX: 1,\r\n scaleY: 1,\r\n translateX: 0,\r\n translateY: 0\r\n }\r\n }\r\n that._markersGroup.attr(settings)\r\n },\r\n _drawPoint: function(options) {\r\n options.hasAnimation = options.hasAnimation && !options.firstDrawing;\r\n options.firstDrawing = false;\r\n chartSeries._drawPoint.call(this, options)\r\n },\r\n _getMainColor: function() {\r\n return this._options.mainSeriesColor\r\n },\r\n _createPointStyles: function(pointOptions) {\r\n var _pointOptions$color;\r\n var mainColor = extractColor(pointOptions.color, true) || this._getMainColor();\r\n var colorId = null === (_pointOptions$color = pointOptions.color) || void 0 === _pointOptions$color ? void 0 : _pointOptions$color.fillId;\r\n var hoverStyle = pointOptions.hoverStyle || {};\r\n var selectionStyle = pointOptions.selectionStyle || {};\r\n if (colorId) {\r\n this._turnOffHatching(hoverStyle, selectionStyle)\r\n }\r\n return {\r\n labelColor: mainColor,\r\n normal: this._parsePointStyle(pointOptions, mainColor, mainColor),\r\n hover: this._parsePointStyle(hoverStyle, colorId || mainColor, mainColor),\r\n selection: this._parsePointStyle(selectionStyle, colorId || mainColor, mainColor)\r\n }\r\n },\r\n _updatePointsVisibility: function() {\r\n var visibility = this._options.visible;\r\n each(this._points, (function(_, point) {\r\n point._options.visible = visibility\r\n }))\r\n },\r\n _getOptionsForPoint: function() {\r\n return this._options\r\n },\r\n _animate: function(firstDrawing) {\r\n var that = this;\r\n that._animatePoints(firstDrawing, (function() {\r\n that._animateComplete()\r\n }), (function(drawnPoints, complete) {\r\n var lastPointIndex = drawnPoints.length - 1;\r\n _each(drawnPoints || [], (function(i, point) {\r\n point.animate(i === lastPointIndex ? complete : void 0, point.getMarkerCoords())\r\n }))\r\n }))\r\n },\r\n getValueRangeInitialValue: areaSeries.getValueRangeInitialValue,\r\n _patchMarginOptions: function(options) {\r\n var _this$getArgumentAxis;\r\n options.checkInterval = !this.useAggregation() || (null === (_this$getArgumentAxis = this.getArgumentAxis()) || void 0 === _this$getArgumentAxis ? void 0 : _this$getArgumentAxis.aggregatedPointBetweenTicks());\r\n return options\r\n },\r\n _defaultAggregator: \"sum\",\r\n _defineDrawingState() {},\r\n usePointsToDefineAutoHiding: () => false\r\n};\r\nchart.bar = _extend({}, chartSeries, baseBarSeriesMethods, {\r\n _getAffineCoordOptions: function() {\r\n var rotated = this._options.rotated;\r\n var direction = rotated ? \"X\" : \"Y\";\r\n var settings = {\r\n scaleX: rotated ? .001 : 1,\r\n scaleY: rotated ? 1 : .001\r\n };\r\n settings[\"translate\" + direction] = this.getValueAxis().getTranslator().translate(\"canvas_position_default\");\r\n return settings\r\n },\r\n _animatePoints: function(firstDrawing, complete, animateFunc) {\r\n this._markersGroup.animate({\r\n scaleX: 1,\r\n scaleY: 1,\r\n translateY: 0,\r\n translateX: 0\r\n }, void 0, complete);\r\n if (!firstDrawing) {\r\n animateFunc(this._drawnPoints, complete)\r\n }\r\n },\r\n checkSeriesViewportCoord(axis, coord) {\r\n if (!chartSeries.checkSeriesViewportCoord.call(this)) {\r\n return false\r\n }\r\n if (axis.isArgumentAxis) {\r\n return true\r\n }\r\n var translator = axis.getTranslator();\r\n var range = this.getViewport();\r\n var min = translator.translate(range.categories ? range.categories[0] : range.min);\r\n var max = translator.translate(range.categories ? range.categories[range.categories.length - 1] : range.max);\r\n var rotated = this.getOptions().rotated;\r\n var inverted = axis.getOptions().inverted;\r\n return rotated && !inverted || !rotated && inverted ? coord >= min && coord <= max : coord >= max && coord <= min\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var {\r\n rotated: rotated\r\n } = this._options;\r\n var isOpposite = !isArgument && !rotated || isArgument && rotated;\r\n var coordName = isOpposite ? \"vy\" : \"vx\";\r\n var oppositeCoordName = isOpposite ? \"vx\" : \"vy\";\r\n var points = this.getPoints();\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpCoord = void 0;\r\n if (isArgument) {\r\n tmpCoord = p.getCenterCoord()[coordName[1]] === coord ? p[oppositeCoordName] : void 0\r\n } else {\r\n tmpCoord = p[coordName] === coord ? p[oppositeCoordName] : void 0\r\n }\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n }\r\n});\r\npolar.bar = _extend({}, polarSeries, baseBarSeriesMethods, {\r\n _animatePoints: function(firstDrawing, complete, animateFunc) {\r\n animateFunc(this._drawnPoints, complete)\r\n },\r\n _setGroupsSettings: chartSeries._setGroupsSettings,\r\n _drawPoint: function(point, groups, animationEnabled) {\r\n chartSeries._drawPoint.call(this, point, groups, animationEnabled)\r\n },\r\n _parsePointStyle: function(style) {\r\n var base = baseBarSeriesMethods._parsePointStyle.apply(this, arguments);\r\n base.opacity = style.opacity;\r\n return base\r\n },\r\n _createGroups: chartSeries._createGroups,\r\n _setMarkerGroupSettings: function() {\r\n var markersSettings = this._createPointStyles(this._getMarkerGroupOptions()).normal;\r\n markersSettings.class = \"dxc-markers\";\r\n this._applyMarkerClipRect(markersSettings);\r\n var groupSettings = _extend({}, markersSettings);\r\n delete groupSettings.opacity;\r\n this._markersGroup.attr(groupSettings)\r\n },\r\n getSeriesPairCoord(params, isArgument) {\r\n var coords = null;\r\n var paramName = isArgument ? \"argument\" : \"radius\";\r\n var points = this.getVisiblePoints();\r\n var argAxis = this.getArgumentAxis();\r\n var startAngle = argAxis.getAngles()[0];\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpPoint = _isDefined(p[paramName]) && _isDefined(params[paramName]) && p[paramName].valueOf() === params[paramName].valueOf() ? convertPolarToXY(argAxis.getCenter(), startAngle, -argAxis.getTranslatedAngle(p.angle), p.radius) : void 0;\r\n if (_isDefined(tmpPoint)) {\r\n coords = tmpPoint;\r\n break\r\n }\r\n }\r\n return coords\r\n },\r\n _createLegendState: areaSeries._createLegendState\r\n});\r\nexport {\r\n chart,\r\n polar\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/range_series.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar _extend = extend;\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n map as _map\r\n} from \"../core/utils\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n chart as scatterSeries\r\n} from \"./scatter_series\";\r\nimport {\r\n chart as barChart\r\n} from \"./bar_series\";\r\nimport {\r\n chart as areaChart\r\n} from \"./area_series\";\r\nvar barSeries = barChart.bar;\r\nvar areaSeries = areaChart.area;\r\nvar chart = {};\r\nvar baseRangeSeries = {\r\n areErrorBarsVisible: _noop,\r\n _createErrorBarGroup: _noop,\r\n _checkData: function(data, skippedFields) {\r\n var valueFields = this.getValueFields();\r\n return scatterSeries._checkData.call(this, data, skippedFields, {\r\n minValue: valueFields[0],\r\n value: valueFields[1]\r\n }) && data.minValue === data.minValue\r\n },\r\n getValueRangeInitialValue: scatterSeries.getValueRangeInitialValue,\r\n _getPointDataSelector: function(data) {\r\n var valueFields = this.getValueFields();\r\n var val1Field = valueFields[0];\r\n var val2Field = valueFields[1];\r\n var tagField = this.getTagField();\r\n var argumentField = this.getArgumentField();\r\n return data => ({\r\n tag: data[tagField],\r\n minValue: this._processEmptyValue(data[val1Field]),\r\n value: this._processEmptyValue(data[val2Field]),\r\n argument: data[argumentField],\r\n data: data\r\n })\r\n },\r\n _defaultAggregator: \"range\",\r\n _aggregators: {\r\n range(_ref, series) {\r\n var {\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd,\r\n data: data\r\n } = _ref;\r\n if (!data.length) {\r\n return\r\n }\r\n var valueFields = series.getValueFields();\r\n var val1Field = valueFields[0];\r\n var val2Field = valueFields[1];\r\n var result = data.reduce((result, item) => {\r\n var val1 = item[val1Field];\r\n var val2 = item[val2Field];\r\n if (!_isDefined(val1) || !_isDefined(val2)) {\r\n return result\r\n }\r\n result[val1Field] = Math.min(result[val1Field], Math.min(val1, val2));\r\n result[val2Field] = Math.max(result[val2Field], Math.max(val1, val2));\r\n return result\r\n }, {\r\n [val1Field]: 1 / 0,\r\n [val2Field]: -1 / 0,\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd)\r\n });\r\n if (!isFinite(result[val1Field]) || !isFinite(result[val2Field])) {\r\n if (data.filter(i => null === i[val1Field] && null === i[val2Field]).length === data.length) {\r\n result[val1Field] = result[val2Field] = null\r\n } else {\r\n return\r\n }\r\n }\r\n return result\r\n }\r\n },\r\n getValueFields: function() {\r\n return [this._options.rangeValue1Field || \"val1\", this._options.rangeValue2Field || \"val2\"]\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var {\r\n rotated: rotated\r\n } = this._options;\r\n var isOpposite = !isArgument && !rotated || isArgument && rotated;\r\n var coordName = isOpposite ? \"vy\" : \"vx\";\r\n var minCoordName = rotated ? \"minX\" : \"minY\";\r\n var oppositeCoordName = isOpposite ? \"vx\" : \"vy\";\r\n var points = this.getPoints();\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpCoord = void 0;\r\n if (isArgument) {\r\n tmpCoord = p.getCenterCoord()[coordName[1]] === coord ? p[oppositeCoordName] : void 0\r\n } else {\r\n var coords = [Math.min(p[coordName], p[minCoordName]), Math.max(p[coordName], p[minCoordName])];\r\n tmpCoord = coord >= coords[0] && coord <= coords[1] ? p[oppositeCoordName] : void 0\r\n }\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n }\r\n};\r\nchart.rangebar = _extend({}, barSeries, baseRangeSeries);\r\nchart.rangearea = _extend({}, areaSeries, {\r\n _drawPoint: function(options) {\r\n var point = options.point;\r\n if (point.isInVisibleArea()) {\r\n point.clearVisibility();\r\n point.draw(this._renderer, options.groups);\r\n this._drawnPoints.push(point);\r\n if (!point.visibleTopMarker) {\r\n point.hideMarker(\"top\")\r\n }\r\n if (!point.visibleBottomMarker) {\r\n point.hideMarker(\"bottom\")\r\n }\r\n } else {\r\n point.setInvisibility()\r\n }\r\n },\r\n _prepareSegment: function(points, rotated) {\r\n var processedPoints = this._processSinglePointsAreaSegment(points, rotated);\r\n var processedMinPointsCoords = _map(processedPoints, (function(pt) {\r\n return pt.getCoords(true)\r\n }));\r\n return {\r\n line: processedPoints,\r\n bottomLine: processedMinPointsCoords,\r\n area: _map(processedPoints, (function(pt) {\r\n return pt.getCoords()\r\n })).concat(processedMinPointsCoords.slice().reverse()),\r\n singlePointSegment: processedPoints !== points\r\n }\r\n },\r\n _getDefaultSegment: function(segment) {\r\n var defaultSegment = areaSeries._getDefaultSegment.call(this, segment);\r\n defaultSegment.bottomLine = defaultSegment.line;\r\n return defaultSegment\r\n },\r\n _removeElement: function(element) {\r\n areaSeries._removeElement.call(this, element);\r\n element.bottomLine && element.bottomLine.remove()\r\n },\r\n _drawElement: function(segment, group) {\r\n var drawnElement = areaSeries._drawElement.call(this, segment, group);\r\n drawnElement.bottomLine = this._bordersGroup && this._createBorderElement(segment.bottomLine, {\r\n \"stroke-width\": this._styles.normal.border[\"stroke-width\"]\r\n }).append(this._bordersGroup);\r\n return drawnElement\r\n },\r\n _applyStyle: function(style) {\r\n var elementsGroup = this._elementsGroup;\r\n var bordersGroup = this._bordersGroup;\r\n elementsGroup && elementsGroup.smartAttr(style.elements);\r\n bordersGroup && bordersGroup.attr(style.border);\r\n (this._graphics || []).forEach((function(graphic) {\r\n graphic.line && graphic.line.attr({\r\n \"stroke-width\": style.border[\"stroke-width\"]\r\n });\r\n graphic.bottomLine && graphic.bottomLine.attr({\r\n \"stroke-width\": style.border[\"stroke-width\"]\r\n })\r\n }))\r\n },\r\n _updateElement: function(element, segment, animate, complete) {\r\n var bottomLineParams = {\r\n points: segment.bottomLine\r\n };\r\n var bottomBorderElement = element.bottomLine;\r\n areaSeries._updateElement.apply(this, arguments);\r\n if (bottomBorderElement) {\r\n animate ? bottomBorderElement.animate(bottomLineParams) : bottomBorderElement.attr(bottomLineParams)\r\n }\r\n }\r\n}, baseRangeSeries);\r\nexport {\r\n chart\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/bubble_series.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n chart as lineChart\r\n} from \"./line_series\";\r\nimport {\r\n chart as scatterSeries\r\n} from \"./scatter_series\";\r\nimport {\r\n chart as areaChart\r\n} from \"./area_series\";\r\nimport {\r\n chart as barChart,\r\n polar as barPolar\r\n} from \"./bar_series\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar lineSeries = lineChart.line;\r\nvar areaSeries = areaChart.area;\r\nvar chartBarSeries = barChart.bar;\r\nvar polarBarSeries = barPolar.bar;\r\nvar _extend = extend;\r\nvar _each = each;\r\nvar _noop = noop;\r\nvar chart = {};\r\nchart.bubble = _extend({}, scatterSeries, {\r\n _calculateErrorBars: _noop,\r\n _getMainColor: chartBarSeries._getMainColor,\r\n _createPointStyles: chartBarSeries._createPointStyles,\r\n _updatePointsVisibility: chartBarSeries._updatePointsVisibility,\r\n _getOptionsForPoint: chartBarSeries._getOptionsForPoint,\r\n _applyMarkerClipRect: lineSeries._applyElementsClipRect,\r\n _parsePointStyle: polarBarSeries._parsePointStyle,\r\n _createLegendState: areaSeries._createLegendState,\r\n _getColorId: areaSeries._getColorId,\r\n _setMarkerGroupSettings: polarBarSeries._setMarkerGroupSettings,\r\n areErrorBarsVisible: _noop,\r\n _createErrorBarGroup: _noop,\r\n _checkData: function(data, skippedFields) {\r\n return scatterSeries._checkData.call(this, data, skippedFields, {\r\n value: this.getValueFields()[0],\r\n size: this.getSizeField()\r\n })\r\n },\r\n _getPointDataSelector: function(data, options) {\r\n var sizeField = this.getSizeField();\r\n var baseGetter = scatterSeries._getPointDataSelector.call(this);\r\n return data => {\r\n var pointData = baseGetter(data);\r\n pointData.size = data[sizeField];\r\n return pointData\r\n }\r\n },\r\n _aggregators: {\r\n avg(_ref, series) {\r\n var {\r\n data: data,\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd\r\n } = _ref;\r\n if (!data.length) {\r\n return\r\n }\r\n var valueField = series.getValueFields()[0];\r\n var sizeField = series.getSizeField();\r\n var aggregate = data.reduce((result, item) => {\r\n result[0] += item[valueField];\r\n result[1] += item[sizeField];\r\n result[2]++;\r\n return result\r\n }, [0, 0, 0]);\r\n return {\r\n [valueField]: aggregate[0] / aggregate[2],\r\n [sizeField]: aggregate[1] / aggregate[2],\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd)\r\n }\r\n }\r\n },\r\n getValueFields: function() {\r\n return [this._options.valueField || \"val\"]\r\n },\r\n getSizeField: function() {\r\n return this._options.sizeField || \"size\"\r\n },\r\n _animate: function() {\r\n var that = this;\r\n var lastPointIndex = that._drawnPoints.length - 1;\r\n var labelsGroup = that._labelsGroup;\r\n var labelAnimFunc = function() {\r\n labelsGroup && labelsGroup.animate({\r\n opacity: 1\r\n }, {\r\n duration: that._defaultDuration\r\n })\r\n };\r\n _each(that._drawnPoints || [], (function(i, p) {\r\n p.animate(i === lastPointIndex ? labelAnimFunc : void 0, {\r\n r: p.bubbleSize,\r\n translateX: p.x,\r\n translateY: p.y\r\n })\r\n }))\r\n },\r\n _patchMarginOptions: function(options) {\r\n options.processBubbleSize = true;\r\n return options\r\n }\r\n});\r\nexport {\r\n chart\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/pie_series.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n chart\r\n} from \"./scatter_series\";\r\nimport {\r\n normalizeAngle,\r\n map,\r\n extractColor\r\n} from \"../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n chart as barChart\r\n} from \"./bar_series\";\r\nvar chartScatterSeries = chart;\r\nvar barSeries = barChart.bar;\r\nvar _extend = extend;\r\nvar _each = each;\r\nvar _noop = noop;\r\nvar _map = map;\r\nvar _isFinite = isFinite;\r\nvar _max = Math.max;\r\nvar ANIMATION_DURATION = .7;\r\nvar INSIDE = \"inside\";\r\nexport var pie = _extend({}, barSeries, {\r\n _setGroupsSettings: function() {\r\n chartScatterSeries._setGroupsSettings.apply(this, arguments);\r\n this._labelsGroup.attr({\r\n \"pointer-events\": null\r\n })\r\n },\r\n _createErrorBarGroup: _noop,\r\n _drawPoint: function(options) {\r\n var point = options.point;\r\n var legendCallback = this._legendCallback;\r\n chartScatterSeries._drawPoint.call(this, options);\r\n !point.isVisible() && point.setInvisibility();\r\n point.isSelected() && legendCallback()\r\n },\r\n _getOldPoint: function(data, oldPointsByArgument, index) {\r\n var point = (this._points || [])[index];\r\n if (point) {\r\n oldPointsByArgument[point.argument.valueOf()] = oldPointsByArgument[point.argument.valueOf()].filter(p => p !== point)\r\n }\r\n return point\r\n },\r\n adjustLabels: function(moveLabelsFromCenter) {\r\n return (this._points || []).reduce((r, p) => {\r\n if (p._label.isVisible()) {\r\n p.setLabelTrackerData();\r\n r = p.applyWordWrap(moveLabelsFromCenter) || r;\r\n p.updateLabelCoord(moveLabelsFromCenter);\r\n return r\r\n }\r\n }, false)\r\n },\r\n _applyElementsClipRect: _noop,\r\n getColor: _noop,\r\n areErrorBarsVisible: _noop,\r\n drawLabelsWOPoints: function() {\r\n if (this._options.label.position === INSIDE) {\r\n return false\r\n }\r\n this._labelsGroup.append(this._extGroups.labelsGroup);\r\n (this._points || []).forEach((function(point) {\r\n point.drawLabel()\r\n }));\r\n return true\r\n },\r\n getPointsCount: function() {\r\n return this._data.filter(d => this._checkData(d)).length\r\n },\r\n setMaxPointsCount: function(count) {\r\n this._pointsCount = count\r\n },\r\n _getCreatingPointOptions: function(data, dataIndex) {\r\n return this._getPointOptions(data, dataIndex)\r\n },\r\n _updateOptions: function(options) {\r\n this.labelSpace = 0;\r\n this.innerRadius = \"pie\" === this.type ? 0 : options.innerRadius\r\n },\r\n _checkData: function(data, skippedFields) {\r\n var base = barSeries._checkData.call(this, data, skippedFields, {\r\n value: this.getValueFields()[0]\r\n });\r\n return this._options.paintNullPoints ? base : base && null !== data.value\r\n },\r\n _createGroups: chartScatterSeries._createGroups,\r\n _setMarkerGroupSettings: function() {\r\n this._markersGroup.attr({\r\n class: \"dxc-markers\"\r\n })\r\n },\r\n _getMainColor(data, point) {\r\n var pointsByArg = this.getPointsByArg(data.argument);\r\n var argumentIndex = point ? pointsByArg.indexOf(point) : pointsByArg.length;\r\n return this._options.mainSeriesColor(data.argument, argumentIndex, this._pointsCount)\r\n },\r\n _getPointOptions: function(data) {\r\n return this._parsePointOptions(this._preparePointOptions(), this._options.label, data)\r\n },\r\n _getRangeData: function() {\r\n return this._rangeData\r\n },\r\n _createPointStyles: function(pointOptions, data, point) {\r\n var _pointOptions$color;\r\n var mainColor = extractColor(pointOptions.color, true) || this._getMainColor(data, point);\r\n var colorId = null === (_pointOptions$color = pointOptions.color) || void 0 === _pointOptions$color ? void 0 : _pointOptions$color.fillId;\r\n var hoverStyle = pointOptions.hoverStyle || {};\r\n var selectionStyle = pointOptions.selectionStyle || {};\r\n if (colorId) {\r\n this._turnOffHatching(hoverStyle, selectionStyle)\r\n }\r\n return {\r\n labelColor: mainColor,\r\n normal: this._parsePointStyle(pointOptions, mainColor, mainColor),\r\n hover: this._parsePointStyle(hoverStyle, colorId || mainColor, mainColor),\r\n selection: this._parsePointStyle(selectionStyle, colorId || mainColor, mainColor),\r\n legendStyles: {\r\n normal: this._createLegendState(pointOptions, mainColor),\r\n hover: this._createLegendState(hoverStyle, colorId || mainColor),\r\n selection: this._createLegendState(selectionStyle, colorId || mainColor)\r\n }\r\n }\r\n },\r\n _getArrangeMinShownValue: function(points, total) {\r\n var minSegmentSize = this._options.minSegmentSize;\r\n var totalMinSegmentSize = 0;\r\n var totalNotMinValues = 0;\r\n total = total || points.length;\r\n _each(points, (function(_, point) {\r\n if (point.isVisible()) {\r\n if (point.normalInitialValue < minSegmentSize * total / 360) {\r\n totalMinSegmentSize += minSegmentSize\r\n } else {\r\n totalNotMinValues += point.normalInitialValue\r\n }\r\n }\r\n }));\r\n return totalMinSegmentSize < 360 ? minSegmentSize * totalNotMinValues / (360 - totalMinSegmentSize) : 0\r\n },\r\n _applyArrangeCorrection: function(points, minShownValue, total) {\r\n var options = this._options;\r\n var isClockWise = \"anticlockwise\" !== options.segmentsDirection;\r\n var shiftedAngle = _isFinite(options.startAngle) ? normalizeAngle(options.startAngle) : 0;\r\n var minSegmentSize = options.minSegmentSize;\r\n var percent;\r\n var correction = 0;\r\n var zeroTotalCorrection = 0;\r\n if (0 === total) {\r\n total = points.filter((function(el) {\r\n return el.isVisible()\r\n })).length;\r\n zeroTotalCorrection = 1\r\n }\r\n _each(isClockWise ? points : points.concat([]).reverse(), (function(_, point) {\r\n var val = point.isVisible() ? zeroTotalCorrection || point.normalInitialValue : 0;\r\n var updatedZeroValue;\r\n if (minSegmentSize && point.isVisible() && val < minShownValue) {\r\n updatedZeroValue = minShownValue\r\n }\r\n percent = val / total;\r\n point.correctValue(correction, percent, zeroTotalCorrection + (updatedZeroValue || 0));\r\n point.shiftedAngle = shiftedAngle;\r\n correction += updatedZeroValue || val\r\n }));\r\n this._rangeData = {\r\n val: {\r\n min: 0,\r\n max: correction\r\n }\r\n }\r\n },\r\n _removePoint: function(point) {\r\n var points = this.getPointsByArg(point.argument);\r\n points.splice(points.indexOf(point), 1);\r\n point.dispose()\r\n },\r\n arrangePoints: function() {\r\n var that = this;\r\n var originalPoints = that._points || [];\r\n var minSegmentSize = that._options.minSegmentSize;\r\n var minShownValue;\r\n var isAllPointsNegative = true;\r\n var i = 0;\r\n var len = originalPoints.length;\r\n while (i < len && isAllPointsNegative) {\r\n isAllPointsNegative = originalPoints[i].value <= 0;\r\n i++\r\n }\r\n var points = that._points = _map(originalPoints, (function(point) {\r\n if (null === point.value || !isAllPointsNegative && point.value < 0) {\r\n that._removePoint(point);\r\n return null\r\n } else {\r\n return point\r\n }\r\n }));\r\n var maxValue = points.reduce((function(max, p) {\r\n return _max(max, Math.abs(p.initialValue))\r\n }), 0);\r\n points.forEach((function(p) {\r\n p.normalInitialValue = p.initialValue / (0 !== maxValue ? maxValue : 1)\r\n }));\r\n var total = points.reduce((function(total, point) {\r\n return total + (point.isVisible() ? point.normalInitialValue : 0)\r\n }), 0);\r\n if (minSegmentSize) {\r\n minShownValue = this._getArrangeMinShownValue(points, total)\r\n }\r\n that._applyArrangeCorrection(points, minShownValue, total)\r\n },\r\n correctPosition: function(correction, canvas) {\r\n _each(this._points, (function(_, point) {\r\n point.correctPosition(correction)\r\n }));\r\n this.setVisibleArea(canvas)\r\n },\r\n correctRadius: function(correction) {\r\n this._points.forEach((function(point) {\r\n point.correctRadius(correction)\r\n }))\r\n },\r\n correctLabelRadius: function(labelRadius) {\r\n this._points.forEach((function(point) {\r\n point.correctLabelRadius(labelRadius)\r\n }))\r\n },\r\n setVisibleArea: function(canvas) {\r\n this._visibleArea = {\r\n minX: canvas.left,\r\n maxX: canvas.width - canvas.right,\r\n minY: canvas.top,\r\n maxY: canvas.height - canvas.bottom\r\n }\r\n },\r\n _applyVisibleArea: _noop,\r\n _animate: function(firstDrawing) {\r\n var that = this;\r\n var points = that._points;\r\n var pointsCount = points && points.length;\r\n var completeFunc = function() {\r\n that._animateComplete()\r\n };\r\n var animatePoint;\r\n if (firstDrawing) {\r\n animatePoint = function(p, i) {\r\n p.animate(i === pointsCount - 1 ? completeFunc : void 0, ANIMATION_DURATION, (1 - ANIMATION_DURATION) * i / (pointsCount - 1))\r\n }\r\n } else {\r\n animatePoint = function(p, i) {\r\n p.animate(i === pointsCount - 1 ? completeFunc : void 0)\r\n }\r\n }\r\n points.forEach(animatePoint)\r\n },\r\n getVisiblePoints: function() {\r\n return _map(this._points, (function(p) {\r\n return p.isVisible() ? p : null\r\n }))\r\n },\r\n getPointsByKeys: function(arg, argumentIndex) {\r\n var pointsByArg = this.getPointsByArg(arg);\r\n return pointsByArg[argumentIndex] && [pointsByArg[argumentIndex]] || []\r\n }\r\n});\r\nexport var doughnut = pie;\r\nexport var donut = pie;\r\n","/**\r\n * DevExtreme (esm/viz/series/financial_series.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n chart as scatterSeries\r\n} from \"./scatter_series\";\r\nimport {\r\n chart as barChart\r\n} from \"./bar_series\";\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n normalizeEnum as _normalizeEnum,\r\n extractColor\r\n} from \"../core/utils\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nvar barSeries = barChart.bar;\r\nvar DEFAULT_FINANCIAL_POINT_SIZE = 10;\r\nexport var stock = _extend({}, scatterSeries, {\r\n _animate: _noop,\r\n _applyMarkerClipRect: function(settings) {\r\n settings[\"clip-path\"] = this._forceClipping ? this._paneClipRectID : this._widePaneClipRectID\r\n },\r\n _updatePointsVisibility: barSeries._updatePointsVisibility,\r\n _getOptionsForPoint: barSeries._getOptionsForPoint,\r\n _createErrorBarGroup: _noop,\r\n areErrorBarsVisible: _noop,\r\n _createGroups: scatterSeries._createGroups,\r\n _setMarkerGroupSettings: function() {\r\n var markersGroup = this._markersGroup;\r\n var styles = this._createPointStyles(this._getMarkerGroupOptions());\r\n var defaultStyle = _extend(styles.normal, {\r\n class: \"default-markers\"\r\n });\r\n var defaultPositiveStyle = _extend(styles.positive.normal, {\r\n class: \"default-positive-markers\"\r\n });\r\n var reductionStyle = _extend(styles.reduction.normal, {\r\n class: \"reduction-markers\"\r\n });\r\n var reductionPositiveStyle = _extend(styles.reductionPositive.normal, {\r\n class: \"reduction-positive-markers\"\r\n });\r\n var markerSettings = {\r\n class: \"dxc-markers\"\r\n };\r\n this._applyMarkerClipRect(markerSettings);\r\n markersGroup.attr(markerSettings);\r\n this._createGroup(\"defaultMarkersGroup\", markersGroup, markersGroup, defaultStyle);\r\n this._createGroup(\"reductionMarkersGroup\", markersGroup, markersGroup, reductionStyle);\r\n this._createGroup(\"defaultPositiveMarkersGroup\", markersGroup, markersGroup, defaultPositiveStyle);\r\n this._createGroup(\"reductionPositiveMarkersGroup\", markersGroup, markersGroup, reductionPositiveStyle)\r\n },\r\n _setGroupsSettings: function() {\r\n scatterSeries._setGroupsSettings.call(this, false)\r\n },\r\n _getCreatingPointOptions: function() {\r\n var defaultPointOptions;\r\n var creatingPointOptions = this._predefinedPointOptions;\r\n if (!creatingPointOptions) {\r\n defaultPointOptions = this._getPointOptions();\r\n this._predefinedPointOptions = creatingPointOptions = _extend(true, {\r\n styles: {}\r\n }, defaultPointOptions);\r\n creatingPointOptions.styles.normal = creatingPointOptions.styles.positive.normal = creatingPointOptions.styles.reduction.normal = creatingPointOptions.styles.reductionPositive.normal = {\r\n \"stroke-width\": defaultPointOptions.styles && defaultPointOptions.styles.normal && defaultPointOptions.styles.normal[\"stroke-width\"]\r\n }\r\n }\r\n return creatingPointOptions\r\n },\r\n _checkData: function(data, skippedFields) {\r\n var valueFields = this.getValueFields();\r\n return scatterSeries._checkData.call(this, data, skippedFields, {\r\n openValue: valueFields[0],\r\n highValue: valueFields[1],\r\n lowValue: valueFields[2],\r\n closeValue: valueFields[3]\r\n }) && data.highValue === data.highValue && data.lowValue === data.lowValue\r\n },\r\n _getPointDataSelector: function(data, options) {\r\n var that = this;\r\n var level;\r\n var valueFields = that.getValueFields();\r\n var argumentField = that.getArgumentField();\r\n var openValueField = valueFields[0];\r\n var highValueField = valueFields[1];\r\n var lowValueField = valueFields[2];\r\n var closeValueField = valueFields[3];\r\n that.level = that._options.reduction.level;\r\n switch (_normalizeEnum(that.level)) {\r\n case \"open\":\r\n level = openValueField;\r\n break;\r\n case \"high\":\r\n level = highValueField;\r\n break;\r\n case \"low\":\r\n level = lowValueField;\r\n break;\r\n default:\r\n level = closeValueField;\r\n that.level = \"close\"\r\n }\r\n var prevLevelValue;\r\n return data => {\r\n var reductionValue = data[level];\r\n var isReduction = false;\r\n if (_isDefined(reductionValue)) {\r\n if (_isDefined(prevLevelValue)) {\r\n isReduction = reductionValue < prevLevelValue\r\n }\r\n prevLevelValue = reductionValue\r\n }\r\n return {\r\n argument: data[argumentField],\r\n highValue: this._processEmptyValue(data[highValueField]),\r\n lowValue: this._processEmptyValue(data[lowValueField]),\r\n closeValue: this._processEmptyValue(data[closeValueField]),\r\n openValue: this._processEmptyValue(data[openValueField]),\r\n reductionValue: reductionValue,\r\n tag: data[that.getTagField()],\r\n isReduction: isReduction,\r\n data: data\r\n }\r\n }\r\n },\r\n _parsePointStyle: function(style, defaultColor, innerColor) {\r\n var color = extractColor(style.color, true);\r\n return {\r\n stroke: color || defaultColor,\r\n \"stroke-width\": style.width,\r\n fill: color || innerColor\r\n }\r\n },\r\n _getDefaultStyle: function(options) {\r\n var mainPointColor = extractColor(options.color, true) || this._options.mainSeriesColor;\r\n return {\r\n normal: this._parsePointStyle(options, mainPointColor, mainPointColor),\r\n hover: this._parsePointStyle(options.hoverStyle, mainPointColor, mainPointColor),\r\n selection: this._parsePointStyle(options.selectionStyle, mainPointColor, mainPointColor)\r\n }\r\n },\r\n _getReductionStyle: function(options) {\r\n var reductionColor = options.reduction.color;\r\n return {\r\n normal: this._parsePointStyle({\r\n color: reductionColor,\r\n width: options.width,\r\n hatching: options.hatching\r\n }, reductionColor, reductionColor),\r\n hover: this._parsePointStyle(options.hoverStyle, reductionColor, reductionColor),\r\n selection: this._parsePointStyle(options.selectionStyle, reductionColor, reductionColor)\r\n }\r\n },\r\n _createPointStyles: function(pointOptions) {\r\n var innerColor = this._options.innerColor;\r\n var styles = this._getDefaultStyle(pointOptions);\r\n var positiveStyle = _extend(true, {}, styles);\r\n var reductionStyle = this._getReductionStyle(pointOptions);\r\n var reductionPositiveStyle = _extend(true, {}, reductionStyle);\r\n positiveStyle.normal.fill = positiveStyle.hover.fill = positiveStyle.selection.fill = innerColor;\r\n reductionPositiveStyle.normal.fill = reductionPositiveStyle.hover.fill = reductionPositiveStyle.selection.fill = innerColor;\r\n styles.positive = positiveStyle;\r\n styles.reduction = reductionStyle;\r\n styles.reductionPositive = reductionPositiveStyle;\r\n styles.labelColor = this._options.mainSeriesColor;\r\n return styles\r\n },\r\n _endUpdateData: function() {\r\n delete this._predefinedPointOptions\r\n },\r\n _defaultAggregator: \"ohlc\",\r\n _aggregators: {\r\n ohlc: (_ref, series) => {\r\n var {\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd,\r\n data: data\r\n } = _ref;\r\n if (!data.length) {\r\n return\r\n }\r\n var result = {};\r\n var valueFields = series.getValueFields();\r\n var highValueField = valueFields[1];\r\n var lowValueField = valueFields[2];\r\n result[highValueField] = -1 / 0;\r\n result[lowValueField] = 1 / 0;\r\n result = data.reduce((function(result, item) {\r\n if (null !== item[highValueField]) {\r\n result[highValueField] = Math.max(result[highValueField], item[highValueField])\r\n }\r\n if (null !== item[lowValueField]) {\r\n result[lowValueField] = Math.min(result[lowValueField], item[lowValueField])\r\n }\r\n return result\r\n }), result);\r\n result[valueFields[0]] = data[0][valueFields[0]];\r\n result[valueFields[3]] = data[data.length - 1][valueFields[3]];\r\n if (!isFinite(result[highValueField])) {\r\n result[highValueField] = null\r\n }\r\n if (!isFinite(result[lowValueField])) {\r\n result[lowValueField] = null\r\n }\r\n result[series.getArgumentField()] = series._getIntervalCenter(intervalStart, intervalEnd);\r\n return result\r\n }\r\n },\r\n getValueFields: function() {\r\n var options = this._options;\r\n return [options.openValueField || \"open\", options.highValueField || \"high\", options.lowValueField || \"low\", options.closeValueField || \"close\"]\r\n },\r\n getArgumentField: function() {\r\n return this._options.argumentField || \"date\"\r\n },\r\n _patchMarginOptions: function(options) {\r\n var pointOptions = this._getCreatingPointOptions();\r\n var styles = pointOptions.styles;\r\n var border = [styles.normal, styles.hover, styles.selection].reduce((function(max, style) {\r\n return Math.max(max, style[\"stroke-width\"])\r\n }), 0);\r\n options.size = DEFAULT_FINANCIAL_POINT_SIZE + border;\r\n options.sizePointNormalState = DEFAULT_FINANCIAL_POINT_SIZE;\r\n return options\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var points = this.getVisiblePoints();\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpCoord = void 0;\r\n if (isArgument) {\r\n tmpCoord = p.vx === coord ? (p.openY + p.closeY) / 2 : void 0\r\n } else {\r\n var coords = [Math.min(p.lowY, p.highY), Math.max(p.lowY, p.highY)];\r\n tmpCoord = coord >= coords[0] && coord <= coords[1] ? p.vx : void 0\r\n }\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n },\r\n usePointsToDefineAutoHiding: () => false\r\n});\r\nexport var candlestick = _extend({}, stock, {\r\n _parsePointStyle: function(style, defaultColor, innerColor) {\r\n var color = extractColor(style.color, true) || innerColor;\r\n var base = stock._parsePointStyle.call(this, style, defaultColor, color);\r\n base.fill = color;\r\n base.hatching = style.hatching;\r\n return base\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/stacked_series.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n chart as areaSeries\r\n} from \"./area_series\";\r\nvar chartAreaSeries = areaSeries.area;\r\nimport {\r\n chart as _chart,\r\n polar as _polar\r\n} from \"./bar_series\";\r\nvar chartBarSeries = _chart.bar;\r\nimport {\r\n chart as lineSeries\r\n} from \"./line_series\";\r\nimport {\r\n map\r\n} from \"../core/utils\";\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nvar baseStackedSeries = {\r\n _calculateErrorBars: _noop,\r\n _updateOptions: function(options) {\r\n this._stackName = \"axis_\" + (options.axis || \"default\")\r\n }\r\n};\r\nvar chart = {};\r\nvar polar = {};\r\nchart.stackedline = _extend({}, lineSeries.line, baseStackedSeries, {});\r\nchart.stackedspline = _extend({}, lineSeries.spline, baseStackedSeries, {});\r\nchart.fullstackedline = _extend({}, lineSeries.line, baseStackedSeries, {\r\n getValueRangeInitialValue: areaSeries.area.getValueRangeInitialValue\r\n});\r\nchart.fullstackedspline = _extend({}, lineSeries.spline, baseStackedSeries, {\r\n getValueRangeInitialValue: areaSeries.area.getValueRangeInitialValue\r\n});\r\nvar stackedBar = chart.stackedbar = _extend({}, chartBarSeries, baseStackedSeries, {\r\n _updateOptions: function(options) {\r\n baseStackedSeries._updateOptions.call(this, options);\r\n this._stackName = this._stackName + \"_stack_\" + (options.stack || \"default\")\r\n }\r\n});\r\nchart.fullstackedbar = _extend({}, chartBarSeries, baseStackedSeries, {\r\n _updateOptions: stackedBar._updateOptions\r\n});\r\n\r\nfunction clonePoint(point, value, minValue, position) {\r\n point = clone(point);\r\n point.value = value;\r\n point.minValue = minValue;\r\n point.translate();\r\n point.argument = point.argument + position;\r\n return point\r\n}\r\n\r\nfunction preparePointsForStackedAreaSegment(points) {\r\n var i = 0;\r\n var p;\r\n var result = [];\r\n var array;\r\n var len = points.length;\r\n while (i < len) {\r\n p = points[i];\r\n array = [p];\r\n if (p.leftHole) {\r\n array = [clonePoint(p, p.leftHole, p.minLeftHole, \"left\"), p]\r\n }\r\n if (p.rightHole) {\r\n array.push(clonePoint(p, p.rightHole, p.minRightHole, \"right\"))\r\n }\r\n result.push(array);\r\n i++\r\n }\r\n return [].concat.apply([], result)\r\n}\r\nchart.stackedarea = _extend({}, chartAreaSeries, baseStackedSeries, {\r\n _prepareSegment: function(points, rotated) {\r\n return chartAreaSeries._prepareSegment.call(this, preparePointsForStackedAreaSegment(points), rotated)\r\n },\r\n _appendInGroup: function() {\r\n this._group.append(this._extGroups.seriesGroup).toBackground()\r\n }\r\n});\r\n\r\nfunction getPointsByArgFromPrevSeries(prevSeries, argument) {\r\n var result;\r\n while (!result && prevSeries) {\r\n result = prevSeries._segmentByArg && prevSeries._segmentByArg[argument];\r\n prevSeries = prevSeries._prevSeries\r\n }\r\n return result\r\n}\r\nchart.stackedsplinearea = _extend({}, areaSeries.splinearea, baseStackedSeries, {\r\n _prepareSegment: function(points, rotated) {\r\n var that = this;\r\n var areaSegment;\r\n points = preparePointsForStackedAreaSegment(points);\r\n if (!this._prevSeries || 1 === points.length) {\r\n areaSegment = areaSeries.splinearea._prepareSegment.call(this, points, rotated)\r\n } else {\r\n var forwardPoints = lineSeries.spline._calculateBezierPoints(points, rotated);\r\n var backwardPoints = map(points, (function(p) {\r\n var point = p.getCoords(true);\r\n point.argument = p.argument;\r\n return point\r\n }));\r\n var prevSeriesForwardPoints = [];\r\n var pointByArg = {};\r\n var i = 0;\r\n var len = that._prevSeries._segments.length;\r\n while (i < len) {\r\n prevSeriesForwardPoints = prevSeriesForwardPoints.concat(that._prevSeries._segments[i].line);\r\n i++\r\n }\r\n each(prevSeriesForwardPoints, (function(_, p) {\r\n if (null !== p.argument) {\r\n var argument = p.argument.valueOf();\r\n if (!pointByArg[argument]) {\r\n pointByArg[argument] = [p]\r\n } else {\r\n pointByArg[argument].push(p)\r\n }\r\n }\r\n }));\r\n that._prevSeries._segmentByArg = pointByArg;\r\n backwardPoints = lineSeries.spline._calculateBezierPoints(backwardPoints, rotated);\r\n each(backwardPoints, (function(i, p) {\r\n var argument = p.argument.valueOf();\r\n var prevSeriesPoints;\r\n if (i % 3 === 0) {\r\n prevSeriesPoints = pointByArg[argument] || getPointsByArgFromPrevSeries(that._prevSeries, argument);\r\n if (prevSeriesPoints) {\r\n backwardPoints[i - 1] && prevSeriesPoints[0] && (backwardPoints[i - 1] = prevSeriesPoints[0]);\r\n backwardPoints[i + 1] && (backwardPoints[i + 1] = prevSeriesPoints[2] || p)\r\n }\r\n }\r\n }));\r\n areaSegment = {\r\n line: forwardPoints,\r\n area: forwardPoints.concat(backwardPoints.reverse())\r\n };\r\n that._areaPointsToSplineAreaPoints(areaSegment.area)\r\n }\r\n return areaSegment\r\n },\r\n _appendInGroup: chart.stackedarea._appendInGroup\r\n});\r\nchart.fullstackedarea = _extend({}, chartAreaSeries, baseStackedSeries, {\r\n _prepareSegment: chart.stackedarea._prepareSegment,\r\n _appendInGroup: chart.stackedarea._appendInGroup\r\n});\r\nchart.fullstackedsplinearea = _extend({}, areaSeries.splinearea, baseStackedSeries, {\r\n _prepareSegment: chart.stackedsplinearea._prepareSegment,\r\n _appendInGroup: chart.stackedarea._appendInGroup\r\n});\r\npolar.stackedbar = _extend({}, _polar.bar, baseStackedSeries, {\r\n _updateOptions: function(options) {\r\n baseStackedSeries._updateOptions.call(this, options);\r\n this._stackName = this._stackName + \"_stack_\" + (options.stack || \"default\")\r\n }\r\n});\r\nexport {\r\n chart,\r\n polar\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/base_series.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar seriesNS = {};\r\nimport {\r\n isFunction,\r\n isDefined as _isDefined,\r\n isEmptyObject as _isEmptyObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each as _each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n Point\r\n} from \"./points/base_point\";\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport consts from \"../components/consts\";\r\nvar states = consts.states;\r\nimport rangeCalculator from \"./helpers/range_data_calculator\";\r\nimport * as scatterSeries from \"./scatter_series\";\r\nimport * as lineSeries from \"./line_series\";\r\nimport * as areaSeries from \"./area_series\";\r\nimport * as barSeries from \"./bar_series\";\r\nimport {\r\n chart as rangeSeriesChart\r\n} from \"./range_series\";\r\nimport {\r\n chart as bubbleSeriesChart\r\n} from \"./bubble_series\";\r\nimport * as pieSeries from \"./pie_series\";\r\nimport * as financialSeries from \"./financial_series\";\r\nimport * as stackedSeries from \"./stacked_series\";\r\nvar DISCRETE = \"discrete\";\r\nvar SELECTED_STATE = states.selectedMark;\r\nvar HOVER_STATE = states.hoverMark;\r\nvar HOVER = states.hover;\r\nvar NORMAL = states.normal;\r\nvar SELECTION = states.selection;\r\nvar APPLY_SELECTED = states.applySelected;\r\nvar APPLY_HOVER = states.applyHover;\r\nvar RESET_ITEM = states.resetItem;\r\nvar NONE_MODE = \"none\";\r\nvar INCLUDE_POINTS = \"includepoints\";\r\nvar NEAREST_POINT = \"nearestpoint\";\r\nvar SERIES_SELECTION_CHANGED = \"seriesSelectionChanged\";\r\nvar POINT_SELECTION_CHANGED = \"pointSelectionChanged\";\r\nvar SERIES_HOVER_CHANGED = \"seriesHoverChanged\";\r\nvar POINT_HOVER_CHANGED = \"pointHoverChanged\";\r\nvar ALL_SERIES_POINTS = \"allseriespoints\";\r\nvar ALL_ARGUMENT_POINTS = \"allargumentpoints\";\r\nvar POINT_HOVER = \"pointHover\";\r\nvar CLEAR_POINT_HOVER = \"clearPointHover\";\r\nvar SERIES_SELECT = \"seriesSelect\";\r\nvar POINT_SELECT = \"pointSelect\";\r\nvar POINT_DESELECT = \"pointDeselect\";\r\nvar getEmptyBusinessRange = function() {\r\n return {\r\n arg: {},\r\n val: {}\r\n }\r\n};\r\n\r\nfunction triggerEvent(element, event, point) {\r\n element && element.trigger(event, point)\r\n}\r\nseriesNS.mixins = {\r\n chart: {},\r\n pie: {},\r\n polar: {}\r\n};\r\nseriesNS.mixins.chart.scatter = scatterSeries.chart;\r\nseriesNS.mixins.polar.scatter = scatterSeries.polar;\r\n_extend(seriesNS.mixins.pie, pieSeries);\r\n_extend(seriesNS.mixins.chart, lineSeries.chart, areaSeries.chart, barSeries.chart, rangeSeriesChart, bubbleSeriesChart, financialSeries, stackedSeries.chart);\r\n_extend(seriesNS.mixins.polar, lineSeries.polar, areaSeries.polar, barSeries.polar, stackedSeries.polar);\r\n\r\nfunction includePointsMode(mode) {\r\n mode = _normalizeEnum(mode);\r\n return mode === INCLUDE_POINTS || mode === ALL_SERIES_POINTS\r\n}\r\n\r\nfunction getLabelOptions(labelOptions, defaultColor) {\r\n var opt = labelOptions || {};\r\n var labelFont = _extend({}, opt.font) || {};\r\n var labelBorder = opt.border || {};\r\n var labelConnector = opt.connector || {};\r\n var backgroundAttr = {\r\n fill: opt.backgroundColor || defaultColor,\r\n \"stroke-width\": labelBorder.visible ? labelBorder.width || 0 : 0,\r\n stroke: labelBorder.visible && labelBorder.width ? labelBorder.color : \"none\",\r\n dashStyle: labelBorder.dashStyle\r\n };\r\n var connectorAttr = {\r\n stroke: labelConnector.visible && labelConnector.width ? labelConnector.color || defaultColor : \"none\",\r\n \"stroke-width\": labelConnector.visible ? labelConnector.width || 0 : 0\r\n };\r\n labelFont.color = \"none\" === opt.backgroundColor && \"#ffffff\" === _normalizeEnum(labelFont.color) && \"inside\" !== opt.position ? defaultColor : labelFont.color;\r\n return {\r\n alignment: opt.alignment,\r\n format: opt.format,\r\n argumentFormat: opt.argumentFormat,\r\n customizeText: isFunction(opt.customizeText) ? opt.customizeText : void 0,\r\n attributes: {\r\n font: labelFont\r\n },\r\n visible: 0 !== labelFont.size ? opt.visible : false,\r\n showForZeroValues: opt.showForZeroValues,\r\n horizontalOffset: opt.horizontalOffset,\r\n verticalOffset: opt.verticalOffset,\r\n radialOffset: opt.radialOffset,\r\n background: backgroundAttr,\r\n position: opt.position,\r\n connector: connectorAttr,\r\n rotationAngle: opt.rotationAngle,\r\n wordWrap: opt.wordWrap,\r\n textOverflow: opt.textOverflow,\r\n cssClass: opt.cssClass,\r\n displayFormat: opt.displayFormat\r\n }\r\n}\r\n\r\nfunction setPointHoverState(point, legendCallback) {\r\n point.fullState |= HOVER_STATE;\r\n point.applyView(legendCallback)\r\n}\r\n\r\nfunction releasePointHoverState(point, legendCallback) {\r\n point.fullState &= ~HOVER_STATE;\r\n point.applyView(legendCallback);\r\n point.releaseHoverState()\r\n}\r\n\r\nfunction setPointSelectedState(point, legendCallback) {\r\n point.fullState |= SELECTED_STATE;\r\n point.applyView(legendCallback)\r\n}\r\n\r\nfunction releasePointSelectedState(point, legendCallback) {\r\n point.fullState &= ~SELECTED_STATE;\r\n point.applyView(legendCallback)\r\n}\r\n\r\nfunction mergePointOptionsCore(base, extra) {\r\n var options = _extend({}, base, extra);\r\n options.border = _extend({}, base && base.border, extra && extra.border);\r\n return options\r\n}\r\n\r\nfunction mergePointOptions(base, extra) {\r\n var options = mergePointOptionsCore(base, extra);\r\n options.image = _extend(true, {}, base.image, extra.image);\r\n options.selectionStyle = mergePointOptionsCore(base.selectionStyle, extra.selectionStyle);\r\n options.hoverStyle = mergePointOptionsCore(base.hoverStyle, extra.hoverStyle);\r\n return options\r\n}\r\nexport function Series(settings, options) {\r\n this.fullState = 0;\r\n this._extGroups = settings;\r\n this._renderer = settings.renderer;\r\n this._group = settings.renderer.g().attr({\r\n class: \"dxc-series\"\r\n });\r\n this._eventTrigger = settings.eventTrigger;\r\n this._eventPipe = settings.eventPipe;\r\n this._incidentOccurred = settings.incidentOccurred;\r\n this._legendCallback = _noop;\r\n this.updateOptions(options, settings)\r\n}\r\n\r\nfunction getData(pointData) {\r\n return pointData.data\r\n}\r\n\r\nfunction getValueChecker(axisType, axis) {\r\n if (!axis || \"logarithmic\" !== axisType || false !== axis.getOptions().allowNegatives) {\r\n return () => true\r\n } else {\r\n return value => value > 0\r\n }\r\n}\r\nSeries.prototype = {\r\n constructor: Series,\r\n _createLegendState: _noop,\r\n getLegendStyles: function() {\r\n return this._styles.legendStyles\r\n },\r\n _createStyles: function(options) {\r\n var mainSeriesColor = options.mainSeriesColor;\r\n var colorId = this._getColorId(options);\r\n var hoverStyle = options.hoverStyle || {};\r\n var selectionStyle = options.selectionStyle || {};\r\n if (colorId) {\r\n this._turnOffHatching(hoverStyle, selectionStyle)\r\n }\r\n this._styles = {\r\n labelColor: mainSeriesColor,\r\n normal: this._parseStyle(options, mainSeriesColor, mainSeriesColor),\r\n hover: this._parseStyle(hoverStyle, colorId || mainSeriesColor, mainSeriesColor),\r\n selection: this._parseStyle(selectionStyle, colorId || mainSeriesColor, mainSeriesColor),\r\n legendStyles: {\r\n normal: this._createLegendState(options, colorId || mainSeriesColor),\r\n hover: this._createLegendState(hoverStyle, colorId || mainSeriesColor),\r\n selection: this._createLegendState(selectionStyle, colorId || mainSeriesColor)\r\n }\r\n }\r\n },\r\n setClippingParams(baseId, wideId, forceClipping) {\r\n var clipLabels = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : true;\r\n this._paneClipRectID = baseId;\r\n this._widePaneClipRectID = wideId;\r\n this._forceClipping = forceClipping;\r\n this._clipLabels = clipLabels\r\n },\r\n applyClip: function() {\r\n this._group.attr({\r\n \"clip-path\": this._paneClipRectID\r\n })\r\n },\r\n resetClip: function() {\r\n this._group.attr({\r\n \"clip-path\": null\r\n })\r\n },\r\n getTagField: function() {\r\n return this._options.tagField || \"tag\"\r\n },\r\n getValueFields: _noop,\r\n getSizeField: _noop,\r\n getArgumentField: _noop,\r\n getPoints: function() {\r\n return this._points\r\n },\r\n getPointsInViewPort: function() {\r\n return rangeCalculator.getPointsInViewPort(this)\r\n },\r\n _createPoint: function(data, index, oldPoint) {\r\n data.index = index;\r\n var pointsByArgument = this.pointsByArgument;\r\n var options = this._getCreatingPointOptions(data);\r\n var arg = data.argument.valueOf();\r\n var point = oldPoint;\r\n if (point) {\r\n point.update(data, options)\r\n } else {\r\n point = new Point(this, data, options);\r\n if (this.isSelected() && includePointsMode(this.lastSelectionMode)) {\r\n point.setView(SELECTION)\r\n }\r\n }\r\n var pointByArgument = pointsByArgument[arg];\r\n if (pointByArgument) {\r\n pointByArgument.push(point)\r\n } else {\r\n pointsByArgument[arg] = [point]\r\n }\r\n if (point.hasValue()) {\r\n this.customizePoint(point, data)\r\n }\r\n return point\r\n },\r\n getRangeData: function() {\r\n return this._visible ? this._getRangeData() : getEmptyBusinessRange()\r\n },\r\n getArgumentRange: function() {\r\n return this._visible ? rangeCalculator.getArgumentRange(this) : getEmptyBusinessRange()\r\n },\r\n getViewport: function() {\r\n return rangeCalculator.getViewport(this)\r\n },\r\n _deleteGroup: function(groupName) {\r\n var group = this[groupName];\r\n if (group) {\r\n group.dispose();\r\n this[groupName] = null\r\n }\r\n },\r\n updateOptions(newOptions, settings) {\r\n var widgetType = newOptions.widgetType;\r\n var oldType = this.type;\r\n var newType = newOptions.type;\r\n this.type = newType && _normalizeEnum(newType.toString());\r\n if (!this._checkType(widgetType) || this._checkPolarBarType(widgetType, newOptions)) {\r\n this.dispose();\r\n this.isUpdated = false;\r\n return\r\n }\r\n if (oldType !== this.type) {\r\n this._firstDrawing = true;\r\n this._resetType(oldType, widgetType);\r\n this._setType(this.type, widgetType)\r\n } else {\r\n this._defineDrawingState()\r\n }\r\n this._options = newOptions;\r\n this._pointOptions = null;\r\n this.name = newOptions.name;\r\n this.pane = newOptions.pane;\r\n this.tag = newOptions.tag;\r\n if (settings) {\r\n this._seriesModes = settings.commonSeriesModes || this._seriesModes;\r\n this._valueAxis = settings.valueAxis || this._valueAxis;\r\n this.axis = this._valueAxis && this._valueAxis.name;\r\n this._argumentAxis = settings.argumentAxis || this._argumentAxis\r\n }\r\n this._createStyles(newOptions);\r\n this._stackName = null;\r\n this._updateOptions(newOptions);\r\n this._visible = newOptions.visible;\r\n this.isUpdated = true;\r\n this.stack = newOptions.stack;\r\n this.barOverlapGroup = newOptions.barOverlapGroup;\r\n this._createGroups();\r\n this._processEmptyValue = newOptions.ignoreEmptyPoints ? x => null === x ? void 0 : x : x => x\r\n },\r\n _defineDrawingState() {\r\n this._firstDrawing = true\r\n },\r\n _disposePoints: function(points) {\r\n _each(points || [], (function(_, p) {\r\n p.dispose()\r\n }))\r\n },\r\n updateDataType: function(settings) {\r\n this.argumentType = settings.argumentType;\r\n this.valueType = settings.valueType;\r\n this.argumentAxisType = settings.argumentAxisType;\r\n this.valueAxisType = settings.valueAxisType;\r\n this.showZero = settings.showZero;\r\n this._argumentChecker = getValueChecker(settings.argumentAxisType, this.getArgumentAxis());\r\n this._valueChecker = getValueChecker(settings.valueAxisType, this.getValueAxis());\r\n return this\r\n },\r\n _argumentChecker: function() {\r\n return true\r\n },\r\n _valueChecker: function() {\r\n return true\r\n },\r\n getOptions: function() {\r\n return this._options\r\n },\r\n _getOldPoint: function(data, oldPointsByArgument, index) {\r\n var arg = data.argument && data.argument.valueOf();\r\n var point = (oldPointsByArgument[arg] || [])[0];\r\n if (point) {\r\n oldPointsByArgument[arg].splice(0, 1)\r\n }\r\n return point\r\n },\r\n updateData: function(data) {\r\n var options = this._options;\r\n var nameField = options.nameField;\r\n data = data || [];\r\n if (data.length) {\r\n this._canRenderCompleteHandle = true\r\n }\r\n var dataSelector = this._getPointDataSelector();\r\n var itemsWithoutArgument = 0;\r\n this._data = data.reduce((data, dataItem, index) => {\r\n var pointDataItem = dataSelector(dataItem);\r\n if (_isDefined(pointDataItem.argument)) {\r\n if (!nameField || dataItem[nameField] === options.nameFieldValue) {\r\n pointDataItem.index = index;\r\n data.push(pointDataItem)\r\n }\r\n } else {\r\n itemsWithoutArgument++\r\n }\r\n return data\r\n }, []);\r\n if (itemsWithoutArgument && itemsWithoutArgument === data.length) {\r\n this._incidentOccurred(\"W2002\", [this.name, this.getArgumentField()])\r\n }\r\n this._endUpdateData()\r\n },\r\n _getData() {\r\n var data = this._data || [];\r\n if (this.useAggregation()) {\r\n var argumentRange = this.argumentAxisType !== DISCRETE ? this.getArgumentRange() : {};\r\n var aggregationInfo = this.getArgumentAxis().getAggregationInfo(this._useAllAggregatedPoints, argumentRange);\r\n data = this._resample(aggregationInfo, data)\r\n }\r\n return data\r\n },\r\n useAggregation: function() {\r\n var aggregation = this.getOptions().aggregation;\r\n return aggregation && aggregation.enabled\r\n },\r\n autoHidePointMarkersEnabled: _noop,\r\n usePointsToDefineAutoHiding: _noop,\r\n createPoints(useAllAggregatedPoints) {\r\n this._normalizeUsingAllAggregatedPoints(useAllAggregatedPoints);\r\n this._createPoints()\r\n },\r\n _normalizeUsingAllAggregatedPoints: function(useAllAggregatedPoints) {\r\n this._useAllAggregatedPoints = this.useAggregation() && (this.argumentAxisType === DISCRETE || (this._data || []).length > 1 && !!useAllAggregatedPoints)\r\n },\r\n _createPoints: function() {\r\n var that = this;\r\n var oldPointsByArgument = that.pointsByArgument || {};\r\n var data = that._getData();\r\n that.pointsByArgument = {};\r\n that._calculateErrorBars(data);\r\n var skippedFields = {};\r\n var points = data.reduce((points, pointDataItem) => {\r\n if (that._checkData(pointDataItem, skippedFields)) {\r\n var pointIndex = points.length;\r\n var oldPoint = that._getOldPoint(pointDataItem, oldPointsByArgument, pointIndex);\r\n var point = that._createPoint(pointDataItem, pointIndex, oldPoint);\r\n points.push(point)\r\n }\r\n return points\r\n }, []);\r\n for (var field in skippedFields) {\r\n if (skippedFields[field] === data.length) {\r\n that._incidentOccurred(\"W2002\", [that.name, field])\r\n }\r\n }\r\n Object.keys(oldPointsByArgument).forEach(key => that._disposePoints(oldPointsByArgument[key]));\r\n that._points = points\r\n },\r\n _removeOldSegments: function() {\r\n var that = this;\r\n var startIndex = that._segments.length;\r\n _each(that._graphics.splice(startIndex, that._graphics.length) || [], (function(_, elem) {\r\n that._removeElement(elem)\r\n }));\r\n if (that._trackers) {\r\n _each(that._trackers.splice(startIndex, that._trackers.length) || [], (function(_, elem) {\r\n elem.remove()\r\n }))\r\n }\r\n },\r\n _prepareSegmentsPosition() {\r\n var points = this._points || [];\r\n var isCloseSegment = points[0] && points[0].hasValue() && this._options.closed;\r\n var segments = points.reduce((function(segments, p) {\r\n var segment = segments.at(-1);\r\n if (!p.translated) {\r\n p.setDefaultCoords()\r\n }\r\n if (p.hasValue() && p.hasCoords()) {\r\n segment.push(p)\r\n } else if (!p.hasValue() && segment.length) {\r\n segments.push([])\r\n }\r\n return segments\r\n }), [\r\n []\r\n ]);\r\n this._drawSegments(segments, isCloseSegment, false)\r\n },\r\n _drawElements(animationEnabled, firstDrawing) {\r\n var that = this;\r\n var points = that._points || [];\r\n var isCloseSegment = points[0] && points[0].hasValue() && that._options.closed;\r\n var groupForPoint = {\r\n markers: that._markersGroup,\r\n errorBars: that._errorBarGroup\r\n };\r\n that._drawnPoints = [];\r\n that._graphics = that._graphics || [];\r\n that._segments = [];\r\n var segments = points.reduce((function(segments, p) {\r\n var segment = segments.at(-1);\r\n if (p.hasValue() && p.hasCoords()) {\r\n that._drawPoint({\r\n point: p,\r\n groups: groupForPoint,\r\n hasAnimation: animationEnabled,\r\n firstDrawing: firstDrawing\r\n });\r\n segment.push(p)\r\n } else if (!p.hasValue()) {\r\n segment.length && segments.push([])\r\n } else {\r\n p.setInvisibility()\r\n }\r\n return segments\r\n }), [\r\n []\r\n ]);\r\n that._drawSegments(segments, isCloseSegment, animationEnabled);\r\n that._firstDrawing = !points.length;\r\n that._removeOldSegments();\r\n animationEnabled && that._animate(firstDrawing)\r\n },\r\n _drawSegments(segments, closeSegment, animationEnabled) {\r\n segments.forEach((segment, index) => {\r\n if (segment.length) {\r\n var lastSegment = closeSegment && index === segments.length - 1;\r\n this._drawSegment(segment, animationEnabled, index, lastSegment)\r\n }\r\n })\r\n },\r\n draw(animationEnabled, hideLayoutLabels, legendCallback) {\r\n var firstDrawing = this._firstDrawing;\r\n this._legendCallback = legendCallback || this._legendCallback;\r\n if (!this._visible) {\r\n this._group.remove();\r\n return\r\n }\r\n this._appendInGroup();\r\n if (!this._isAllPointsTranslated) {\r\n this.prepareCoordinatesForPoints()\r\n }\r\n this._setGroupsSettings(animationEnabled, firstDrawing);\r\n !firstDrawing && !this._resetApplyingAnimation && this._prepareSegmentsPosition();\r\n this._drawElements(animationEnabled, firstDrawing);\r\n hideLayoutLabels && this.hideLabels();\r\n if (this.isSelected()) {\r\n this._changeStyle(this.lastSelectionMode, void 0, true)\r\n } else if (this.isHovered()) {\r\n this._changeStyle(this.lastHoverMode, void 0, true)\r\n } else {\r\n this._applyStyle(this._styles.normal)\r\n }\r\n this._isAllPointsTranslated = false;\r\n this._resetApplyingAnimation = false\r\n },\r\n _translatePoints() {\r\n var _this$_points;\r\n var points = null !== (_this$_points = this._points) && void 0 !== _this$_points ? _this$_points : [];\r\n points.forEach(p => {\r\n p.translate()\r\n })\r\n },\r\n prepareCoordinatesForPoints() {\r\n this._applyVisibleArea();\r\n this._translatePoints();\r\n this._isAllPointsTranslated = true\r\n },\r\n _setLabelGroupSettings: function(animationEnabled) {\r\n var settings = {\r\n class: \"dxc-labels\",\r\n \"pointer-events\": \"none\"\r\n };\r\n this._clipLabels && this._applyElementsClipRect(settings);\r\n this._applyClearingSettings(settings);\r\n animationEnabled && (settings.opacity = .001);\r\n this._labelsGroup.attr(settings).append(this._extGroups.labelsGroup)\r\n },\r\n _checkType: function(widgetType) {\r\n return !!seriesNS.mixins[widgetType][this.type]\r\n },\r\n _checkPolarBarType: function(widgetType, options) {\r\n return \"polar\" === widgetType && options.spiderWidget && -1 !== this.type.indexOf(\"bar\")\r\n },\r\n _resetType: function(seriesType, widgetType) {\r\n var methodName;\r\n var methods;\r\n if (seriesType) {\r\n methods = seriesNS.mixins[widgetType][seriesType];\r\n for (methodName in methods) {\r\n delete this[methodName]\r\n }\r\n }\r\n },\r\n _setType: function(seriesType, widgetType) {\r\n var methodName;\r\n var methods = seriesNS.mixins[widgetType][seriesType];\r\n for (methodName in methods) {\r\n this[methodName] = methods[methodName]\r\n }\r\n },\r\n _setPointsView: function(view, target) {\r\n this.getPoints().forEach((function(point) {\r\n if (target !== point) {\r\n point.setView(view)\r\n }\r\n }))\r\n },\r\n _resetPointsView: function(view, target) {\r\n this.getPoints().forEach((function(point) {\r\n if (target !== point) {\r\n point.resetView(view)\r\n }\r\n }))\r\n },\r\n _resetNearestPoint: function() {\r\n this._nearestPoint && null !== this._nearestPoint.series && this._nearestPoint.resetView(HOVER);\r\n this._nearestPoint = null\r\n },\r\n _setSelectedState: function(mode) {\r\n this.lastSelectionMode = _normalizeEnum(mode || this._options.selectionMode);\r\n this.fullState = this.fullState | SELECTED_STATE;\r\n this._resetNearestPoint();\r\n this._changeStyle(this.lastSelectionMode);\r\n if (this.lastSelectionMode !== NONE_MODE && this.isHovered() && includePointsMode(this.lastHoverMode)) {\r\n this._resetPointsView(HOVER)\r\n }\r\n },\r\n _releaseSelectedState: function() {\r\n this.fullState = this.fullState & ~SELECTED_STATE;\r\n this._changeStyle(this.lastSelectionMode, SELECTION);\r\n if (this.lastSelectionMode !== NONE_MODE && this.isHovered() && includePointsMode(this.lastHoverMode)) {\r\n this._setPointsView(HOVER)\r\n }\r\n },\r\n isFullStackedSeries: function() {\r\n return 0 === this.type.indexOf(\"fullstacked\")\r\n },\r\n isStackedSeries: function() {\r\n return 0 === this.type.indexOf(\"stacked\")\r\n },\r\n resetApplyingAnimation: function(isFirstDrawing) {\r\n this._resetApplyingAnimation = true;\r\n if (isFirstDrawing) {\r\n this._firstDrawing = true\r\n }\r\n },\r\n isFinancialSeries: function() {\r\n return \"stock\" === this.type || \"candlestick\" === this.type\r\n },\r\n _canChangeView: function() {\r\n return !this.isSelected() && _normalizeEnum(this._options.hoverMode) !== NONE_MODE\r\n },\r\n _changeStyle: function(mode, resetView, skipPoints) {\r\n var state = this.fullState;\r\n var styles = [NORMAL, HOVER, SELECTION, SELECTION];\r\n if (\"none\" === this.lastHoverMode) {\r\n state &= ~HOVER_STATE\r\n }\r\n if (\"none\" === this.lastSelectionMode) {\r\n state &= ~SELECTED_STATE\r\n }\r\n if (includePointsMode(mode) && !skipPoints) {\r\n if (!resetView) {\r\n this._setPointsView(styles[state])\r\n } else {\r\n this._resetPointsView(resetView)\r\n }\r\n }\r\n this._legendCallback([RESET_ITEM, APPLY_HOVER, APPLY_SELECTED, APPLY_SELECTED][state]);\r\n this._applyStyle(this._styles[styles[state]])\r\n },\r\n updateHover: function(x, y) {\r\n var currentNearestPoint = this._nearestPoint;\r\n var point = this.isHovered() && this.lastHoverMode === NEAREST_POINT && this.getNeighborPoint(x, y);\r\n if (point !== currentNearestPoint && !(this.isSelected() && this.lastSelectionMode !== NONE_MODE)) {\r\n this._resetNearestPoint();\r\n if (point) {\r\n point.setView(HOVER);\r\n this._nearestPoint = point\r\n }\r\n }\r\n },\r\n _getMainAxisName: function() {\r\n return this._options.rotated ? \"X\" : \"Y\"\r\n },\r\n areLabelsVisible: function() {\r\n return !_isDefined(this._options.maxLabelCount) || this._points.length <= this._options.maxLabelCount\r\n },\r\n getLabelVisibility: function() {\r\n return this.areLabelsVisible() && this._options.label && this._options.label.visible\r\n },\r\n customizePoint: function(point, pointData) {\r\n var options = this._options;\r\n var customizePoint = options.customizePoint;\r\n var customizeObject;\r\n var pointOptions;\r\n var customLabelOptions;\r\n var customOptions;\r\n var customizeLabel = options.customizeLabel;\r\n var useLabelCustomOptions;\r\n var usePointCustomOptions;\r\n if (customizeLabel && customizeLabel.call) {\r\n customizeObject = _extend({\r\n seriesName: this.name\r\n }, pointData);\r\n customizeObject.series = this;\r\n customLabelOptions = customizeLabel.call(customizeObject, customizeObject);\r\n useLabelCustomOptions = customLabelOptions && !_isEmptyObject(customLabelOptions);\r\n customLabelOptions = useLabelCustomOptions ? _extend(true, {}, options.label, customLabelOptions) : null\r\n }\r\n if (customizePoint && customizePoint.call) {\r\n customizeObject = customizeObject || _extend({\r\n seriesName: this.name\r\n }, pointData);\r\n customizeObject.series = this;\r\n customOptions = customizePoint.call(customizeObject, customizeObject);\r\n usePointCustomOptions = customOptions && !_isEmptyObject(customOptions)\r\n }\r\n if (useLabelCustomOptions || usePointCustomOptions) {\r\n pointOptions = this._parsePointOptions(this._preparePointOptions(customOptions), customLabelOptions || options.label, pointData, point);\r\n pointOptions.styles.useLabelCustomOptions = useLabelCustomOptions;\r\n pointOptions.styles.usePointCustomOptions = usePointCustomOptions;\r\n point.updateOptions(pointOptions)\r\n }\r\n },\r\n show: function() {\r\n if (!this._visible) {\r\n this._changeVisibility(true)\r\n }\r\n },\r\n hide: function() {\r\n if (this._visible) {\r\n this._changeVisibility(false)\r\n }\r\n },\r\n _changeVisibility: function(visibility) {\r\n this._visible = this._options.visible = visibility;\r\n this._updatePointsVisibility();\r\n this.hidePointTooltip();\r\n this._options.visibilityChanged(this)\r\n },\r\n _updatePointsVisibility: _noop,\r\n hideLabels: function() {\r\n _each(this._points, (function(_, point) {\r\n point._label.draw(false)\r\n }))\r\n },\r\n _turnOffHatching(hoverStyle, selectionStyle) {\r\n if (hoverStyle.hatching) {\r\n hoverStyle.hatching.direction = \"none\"\r\n }\r\n if (selectionStyle.hatching) {\r\n selectionStyle.hatching.direction = \"none\"\r\n }\r\n },\r\n _parsePointOptions: function(pointOptions, labelOptions, data, point) {\r\n var options = this._options;\r\n var styles = this._createPointStyles(pointOptions, data, point);\r\n var parsedOptions = _extend({}, pointOptions, {\r\n type: options.type,\r\n rotated: options.rotated,\r\n styles: styles,\r\n widgetType: options.widgetType,\r\n visibilityChanged: options.visibilityChanged\r\n });\r\n parsedOptions.label = getLabelOptions(labelOptions, styles.labelColor);\r\n if (this.areErrorBarsVisible()) {\r\n parsedOptions.errorBars = options.valueErrorBar\r\n }\r\n return parsedOptions\r\n },\r\n _preparePointOptions: function(customOptions) {\r\n var pointOptions = this._getOptionsForPoint();\r\n return customOptions ? mergePointOptions(pointOptions, customOptions) : pointOptions\r\n },\r\n _getMarkerGroupOptions: function() {\r\n return _extend(false, {}, this._getOptionsForPoint(), {\r\n hoverStyle: {},\r\n selectionStyle: {}\r\n })\r\n },\r\n _getAggregationMethod: function(isDiscrete, aggregateByCategory) {\r\n var options = this.getOptions().aggregation;\r\n var method = _normalizeEnum(options.method);\r\n var customAggregator = \"custom\" === method && options.calculate;\r\n var aggregator;\r\n if (isDiscrete && !aggregateByCategory) {\r\n aggregator = _ref => {\r\n var {\r\n data: data\r\n } = _ref;\r\n return data[0]\r\n }\r\n } else {\r\n aggregator = this._aggregators[method] || this._aggregators[this._defaultAggregator]\r\n }\r\n return customAggregator || aggregator\r\n },\r\n _resample(_ref2, data) {\r\n var {\r\n interval: interval,\r\n ticks: ticks,\r\n aggregateByCategory: aggregateByCategory\r\n } = _ref2;\r\n var that = this;\r\n var isDiscrete = that.argumentAxisType === DISCRETE || that.valueAxisType === DISCRETE;\r\n var dataIndex = 0;\r\n var dataSelector = this._getPointDataSelector();\r\n var options = that.getOptions();\r\n var addAggregatedData = (target, data, aggregationInfo) => {\r\n if (!data) {\r\n return\r\n }\r\n var processData = d => {\r\n var pointData = d && dataSelector(d, options);\r\n if (pointData && that._checkData(pointData)) {\r\n pointData.aggregationInfo = aggregationInfo;\r\n target.push(pointData)\r\n }\r\n };\r\n if (Array.isArray(data)) {\r\n data.forEach(processData)\r\n } else {\r\n processData(data)\r\n }\r\n };\r\n var aggregationMethod = this._getAggregationMethod(isDiscrete, aggregateByCategory);\r\n if (isDiscrete) {\r\n if (aggregateByCategory) {\r\n var categories = this.getArgumentAxis().getTranslator().getBusinessRange().categories;\r\n var groups = categories.reduce((g, category) => {\r\n g[category.valueOf()] = [];\r\n return g\r\n }, {});\r\n data.forEach(dataItem => {\r\n groups[dataItem.argument.valueOf()].push(dataItem)\r\n });\r\n return categories.reduce((result, c) => {\r\n addAggregatedData(result, aggregationMethod({\r\n aggregationInterval: null,\r\n intervalStart: c,\r\n intervalEnd: c,\r\n data: groups[c.valueOf()].map(getData)\r\n }, that));\r\n return result\r\n }, [])\r\n } else {\r\n return data.reduce((result, dataItem, index, data) => {\r\n result[1].push(dataItem);\r\n if (index === data.length - 1 || (index + 1) % interval === 0) {\r\n var dataInInterval = result[1];\r\n var aggregationInfo = {\r\n aggregationInterval: interval,\r\n data: dataInInterval.map(getData)\r\n };\r\n addAggregatedData(result[0], aggregationMethod(aggregationInfo, that));\r\n result[1] = []\r\n }\r\n return result\r\n }, [\r\n [],\r\n []\r\n ])[0]\r\n }\r\n }\r\n var aggregatedData = [];\r\n if (1 === ticks.length) {\r\n var aggregationInfo = {\r\n intervalStart: ticks[0],\r\n intervalEnd: ticks[0],\r\n aggregationInterval: null,\r\n data: data.map(getData)\r\n };\r\n addAggregatedData(aggregatedData, aggregationMethod(aggregationInfo, that), aggregationInfo)\r\n } else {\r\n for (var i = 1; i < ticks.length; i++) {\r\n var intervalEnd = ticks[i];\r\n var intervalStart = ticks[i - 1];\r\n var dataInInterval = [];\r\n while (data[dataIndex] && data[dataIndex].argument < intervalEnd) {\r\n if (data[dataIndex].argument >= intervalStart) {\r\n dataInInterval.push(data[dataIndex])\r\n }\r\n dataIndex++\r\n }\r\n var _aggregationInfo = {\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd,\r\n aggregationInterval: interval,\r\n data: dataInInterval.map(getData)\r\n };\r\n addAggregatedData(aggregatedData, aggregationMethod(_aggregationInfo, that), _aggregationInfo)\r\n }\r\n }\r\n that._endUpdateData();\r\n return aggregatedData\r\n },\r\n canRenderCompleteHandle: function() {\r\n var result = this._canRenderCompleteHandle;\r\n delete this._canRenderCompleteHandle;\r\n return !!result\r\n },\r\n isHovered: function() {\r\n return !!(1 & this.fullState)\r\n },\r\n isSelected: function() {\r\n return !!(2 & this.fullState)\r\n },\r\n isVisible: function() {\r\n return this._visible\r\n },\r\n getAllPoints: function() {\r\n this._createAllAggregatedPoints();\r\n return (this._points || []).slice()\r\n },\r\n getPointByPos: function(pos) {\r\n this._createAllAggregatedPoints();\r\n return (this._points || [])[pos]\r\n },\r\n getVisiblePoints: function() {\r\n return (this._drawnPoints || []).slice()\r\n },\r\n selectPoint: function(point) {\r\n if (!point.isSelected()) {\r\n setPointSelectedState(point, this._legendCallback);\r\n this._eventPipe({\r\n action: POINT_SELECT,\r\n target: point\r\n });\r\n this._eventTrigger(POINT_SELECTION_CHANGED, {\r\n target: point\r\n })\r\n }\r\n },\r\n deselectPoint: function(point) {\r\n if (point.isSelected()) {\r\n releasePointSelectedState(point, this._legendCallback);\r\n this._eventPipe({\r\n action: POINT_DESELECT,\r\n target: point\r\n });\r\n this._eventTrigger(POINT_SELECTION_CHANGED, {\r\n target: point\r\n })\r\n }\r\n },\r\n hover: function(mode) {\r\n var eventTrigger = this._eventTrigger;\r\n if (this.isHovered()) {\r\n return\r\n }\r\n this.lastHoverMode = _normalizeEnum(mode || this._options.hoverMode);\r\n this.fullState = this.fullState | HOVER_STATE;\r\n this._changeStyle(this.lastHoverMode, void 0, this.isSelected() && this.lastSelectionMode !== NONE_MODE);\r\n eventTrigger(SERIES_HOVER_CHANGED, {\r\n target: this\r\n })\r\n },\r\n clearHover: function() {\r\n var eventTrigger = this._eventTrigger;\r\n if (!this.isHovered()) {\r\n return\r\n }\r\n this._resetNearestPoint();\r\n this.fullState = this.fullState & ~HOVER_STATE;\r\n this._changeStyle(this.lastHoverMode, HOVER, this.isSelected() && this.lastSelectionMode !== NONE_MODE);\r\n eventTrigger(SERIES_HOVER_CHANGED, {\r\n target: this\r\n })\r\n },\r\n hoverPoint: function(point) {\r\n if (!point.isHovered()) {\r\n point.clearHover();\r\n setPointHoverState(point, this._legendCallback);\r\n this._canChangeView() && this._applyStyle(this._styles.hover);\r\n this._eventPipe({\r\n action: POINT_HOVER,\r\n target: point\r\n });\r\n this._eventTrigger(POINT_HOVER_CHANGED, {\r\n target: point\r\n })\r\n }\r\n },\r\n clearPointHover: function() {\r\n var that = this;\r\n that.getPoints().some((function(currentPoint) {\r\n if (currentPoint.isHovered()) {\r\n releasePointHoverState(currentPoint, that._legendCallback);\r\n that._canChangeView() && that._applyStyle(that._styles.normal);\r\n that._eventPipe({\r\n action: CLEAR_POINT_HOVER,\r\n target: currentPoint\r\n });\r\n that._eventTrigger(POINT_HOVER_CHANGED, {\r\n target: currentPoint\r\n });\r\n return true\r\n }\r\n return false\r\n }))\r\n },\r\n showPointTooltip: function(point) {\r\n triggerEvent(this._extGroups.seriesGroup, \"showpointtooltip\", point)\r\n },\r\n hidePointTooltip: function(point) {\r\n triggerEvent(this._extGroups.seriesGroup, \"hidepointtooltip\", point)\r\n },\r\n select: function() {\r\n if (!this.isSelected()) {\r\n this._setSelectedState(this._options.selectionMode);\r\n this._eventPipe({\r\n action: SERIES_SELECT,\r\n target: this\r\n });\r\n this._group.toForeground();\r\n this._eventTrigger(SERIES_SELECTION_CHANGED, {\r\n target: this\r\n })\r\n }\r\n },\r\n clearSelection: function() {\r\n if (this.isSelected()) {\r\n this._releaseSelectedState();\r\n this._eventTrigger(SERIES_SELECTION_CHANGED, {\r\n target: this\r\n })\r\n }\r\n },\r\n getPointsByArg: function(arg, skipPointsCreation) {\r\n var argValue = arg.valueOf();\r\n var points = this.pointsByArgument[argValue];\r\n if (!points && !skipPointsCreation && this._createAllAggregatedPoints()) {\r\n points = this.pointsByArgument[argValue]\r\n }\r\n return points || []\r\n },\r\n _createAllAggregatedPoints: function() {\r\n if (this.useAggregation() && !this._useAllAggregatedPoints) {\r\n this.createPoints(true);\r\n return true\r\n }\r\n return false\r\n },\r\n getPointsByKeys: function(arg) {\r\n return this.getPointsByArg(arg)\r\n },\r\n notify: function(data) {\r\n var that = this;\r\n var action = data.action;\r\n var seriesModes = that._seriesModes;\r\n var target = data.target;\r\n var targetOptions = target.getOptions();\r\n var pointHoverMode = _normalizeEnum(targetOptions.hoverMode);\r\n var selectionModeOfPoint = _normalizeEnum(targetOptions.selectionMode);\r\n if (action === POINT_HOVER) {\r\n that._hoverPointHandler(target, pointHoverMode, data.notifyLegend)\r\n } else if (action === CLEAR_POINT_HOVER) {\r\n that._clearPointHoverHandler(target, pointHoverMode, data.notifyLegend)\r\n } else if (action === SERIES_SELECT) {\r\n target !== that && \"single\" === seriesModes.seriesSelectionMode && that.clearSelection()\r\n } else if (action === POINT_SELECT) {\r\n if (\"single\" === seriesModes.pointSelectionMode) {\r\n that.getPoints().some((function(currentPoint) {\r\n if (currentPoint !== target && currentPoint.isSelected()) {\r\n that.deselectPoint(currentPoint);\r\n return true\r\n }\r\n return false\r\n }))\r\n }\r\n that._selectPointHandler(target, selectionModeOfPoint)\r\n } else if (action === POINT_DESELECT) {\r\n that._deselectPointHandler(target, selectionModeOfPoint)\r\n }\r\n },\r\n _selectPointHandler: function(target, mode) {\r\n if (mode === ALL_SERIES_POINTS) {\r\n target.series === this && this._setPointsView(SELECTION, target)\r\n } else if (mode === ALL_ARGUMENT_POINTS) {\r\n this.getPointsByKeys(target.argument, target.argumentIndex).forEach((function(currentPoint) {\r\n currentPoint !== target && currentPoint.setView(SELECTION)\r\n }))\r\n }\r\n },\r\n _deselectPointHandler: function(target, mode) {\r\n if (mode === ALL_SERIES_POINTS) {\r\n target.series === this && this._resetPointsView(SELECTION, target)\r\n } else if (mode === ALL_ARGUMENT_POINTS) {\r\n this.getPointsByKeys(target.argument, target.argumentIndex).forEach((function(currentPoint) {\r\n currentPoint !== target && currentPoint.resetView(SELECTION)\r\n }))\r\n }\r\n },\r\n _hoverPointHandler: function(target, mode, notifyLegend) {\r\n if (target.series !== this && mode === ALL_ARGUMENT_POINTS) {\r\n this.getPointsByKeys(target.argument, target.argumentIndex).forEach((function(currentPoint) {\r\n currentPoint.setView(HOVER)\r\n }));\r\n notifyLegend && this._legendCallback(target)\r\n } else if (mode === ALL_SERIES_POINTS && target.series === this) {\r\n this._setPointsView(HOVER, target)\r\n }\r\n },\r\n _clearPointHoverHandler: function(target, mode, notifyLegend) {\r\n if (mode === ALL_ARGUMENT_POINTS) {\r\n target.series !== this && this.getPointsByKeys(target.argument, target.argumentIndex).forEach((function(currentPoint) {\r\n currentPoint.resetView(HOVER)\r\n }));\r\n notifyLegend && this._legendCallback(target)\r\n } else if (mode === ALL_SERIES_POINTS && target.series === this) {\r\n this._resetPointsView(HOVER, target)\r\n }\r\n },\r\n _deletePoints: function() {\r\n this._disposePoints(this._points);\r\n this._points = this._drawnPoints = null\r\n },\r\n _deleteTrackers: function() {\r\n _each(this._trackers || [], (function(_, tracker) {\r\n tracker.remove()\r\n }));\r\n this._trackersGroup && this._trackersGroup.dispose();\r\n this._trackers = this._trackersGroup = null\r\n },\r\n dispose: function() {\r\n this._deletePoints();\r\n this._group.dispose();\r\n this._labelsGroup && this._labelsGroup.dispose();\r\n this._errorBarGroup && this._errorBarGroup.dispose();\r\n this._deleteTrackers();\r\n this._group = this._extGroups = this._markersGroup = this._elementsGroup = this._bordersGroup = this._labelsGroup = this._errorBarGroup = this._graphics = this._rangeData = this._renderer = this._styles = this._options = this._pointOptions = this._drawnPoints = this.pointsByArgument = this._segments = this._prevSeries = null\r\n },\r\n correctPosition: _noop,\r\n drawTrackers: _noop,\r\n getNeighborPoint: _noop,\r\n areErrorBarsVisible: _noop,\r\n _getColorId: _noop,\r\n getMarginOptions: function() {\r\n return this._patchMarginOptions({\r\n percentStick: this.isFullStackedSeries()\r\n })\r\n },\r\n getColor: function() {\r\n return this.getLegendStyles().normal.fill\r\n },\r\n getOpacity: function() {\r\n return this._options.opacity\r\n },\r\n getStackName: function() {\r\n return this._stackName\r\n },\r\n getBarOverlapGroup: function() {\r\n return this._options.barOverlapGroup\r\n },\r\n getPointByCoord: function(x, y) {\r\n var point = this.getNeighborPoint(x, y);\r\n return null !== point && void 0 !== point && point.coordsIn(x, y) ? point : null\r\n },\r\n getValueAxis: function() {\r\n return this._valueAxis\r\n },\r\n getArgumentAxis: function() {\r\n return this._argumentAxis\r\n },\r\n getMarkersGroup() {\r\n return this._markersGroup\r\n },\r\n getRenderer() {\r\n return this._renderer\r\n },\r\n removePointElements() {\r\n if (this._markersGroup) {\r\n _each(this._points, (_, p) => p.deleteMarker());\r\n this._markersGroup.dispose();\r\n this._markersGroup = null\r\n }\r\n },\r\n removeGraphicElements() {\r\n var that = this;\r\n if (that._elementsGroup) {\r\n that._elementsGroup.dispose();\r\n that._elementsGroup = null\r\n }\r\n _each(that._graphics || [], (_, elem) => {\r\n that._removeElement(elem)\r\n });\r\n that._graphics = null\r\n },\r\n removeBordersGroup() {\r\n if (this._bordersGroup) {\r\n this._bordersGroup.dispose();\r\n this._bordersGroup = null\r\n }\r\n }\r\n};\r\nexport var mixins = seriesNS.mixins;\r\n","/**\r\n * DevExtreme (esm/viz/core/errors_warnings.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"../../core/utils/error\";\r\nimport errors from \"../../core/errors\";\r\nexport default errorUtils(errors.ERROR_MESSAGES, {\r\n E2001: \"Invalid data source\",\r\n E2002: \"Axis type and data type are incompatible\",\r\n E2003: 'The \"{0}\" data source field contains data of unsupported type',\r\n E2004: 'The \"{0}\" data source field is inconsistent',\r\n E2005: 'The value field \"{0}\" is absent in the data source or all its values are negative',\r\n E2006: \"A cycle is detected in provided data\",\r\n E2007: 'The value field \"{0}\" is absent in the data source',\r\n E2008: 'The value field \"{0}\" must be a string',\r\n E2009: 'The value field \"{0}\" must be a positive numeric value',\r\n E2101: \"Unknown series type: {0}\",\r\n E2102: \"Ambiguity occurred between two value axes with the same name\",\r\n E2103: 'The \"{0}\" option is given an invalid value. Assign a function instead',\r\n E2104: \"Invalid logarithm base\",\r\n E2105: 'Invalid value of a \"{0}\"',\r\n E2202: \"Invalid {0} scale value\",\r\n E2203: \"The range you are trying to set is invalid\",\r\n W2002: \"The {0} series cannot be drawn because the {1} data field is missing\",\r\n W2003: \"Tick interval is too small\",\r\n W2101: 'The \"{0}\" pane does not exist; the last pane is used by default',\r\n W2102: 'A value axis with the \"{0}\" name was created automatically',\r\n W2103: \"The chart title was hidden due to the container size\",\r\n W2104: \"The legend was hidden due to the container size\",\r\n W2105: 'The title of the \"{0}\" axis was hidden due to the container size',\r\n W2106: 'The labels of the \"{0}\" axis were hidden due to the container size',\r\n W2107: \"The export menu was hidden due to the container size\",\r\n W2108: \"The browser does not support exporting images to {0} format.\",\r\n W2301: \"Invalid value range\"\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/core/base_widget.utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n version\r\n} from \"../../core/version\";\r\nimport {\r\n format as _stringFormat\r\n} from \"../../core/utils/string\";\r\nimport warnings from \"./errors_warnings\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport _windowResizeCallbacks from \"../../core/utils/resize_callbacks\";\r\nimport resizeObserverSingleton from \"../../core/resize_observer\";\r\nimport {\r\n normalizeEnum\r\n} from \"./utils\";\r\nvar ERROR_MESSAGES = warnings.ERROR_MESSAGES;\r\nexport function createEventTrigger(eventsMap, callbackGetter) {\r\n var triggers = {};\r\n each(eventsMap, (function(name, info) {\r\n if (info.name) {\r\n createEvent(name)\r\n }\r\n }));\r\n var changes;\r\n triggerEvent.change = function(name) {\r\n var eventInfo = eventsMap[name];\r\n if (eventInfo) {\r\n (changes = changes || {})[name] = eventInfo\r\n }\r\n return !!eventInfo\r\n };\r\n triggerEvent.applyChanges = function() {\r\n if (changes) {\r\n each(changes, (function(name, eventInfo) {\r\n createEvent(eventInfo.newName || name)\r\n }));\r\n changes = null\r\n }\r\n };\r\n triggerEvent.dispose = function() {\r\n eventsMap = callbackGetter = triggers = null\r\n };\r\n return triggerEvent;\r\n\r\n function createEvent(name) {\r\n var eventInfo = eventsMap[name];\r\n triggers[eventInfo.name] = callbackGetter(name, eventInfo.actionSettings)\r\n }\r\n\r\n function triggerEvent(name, arg, complete) {\r\n triggers[name](arg);\r\n complete && complete()\r\n }\r\n}\r\nexport var createIncidentOccurred = function(widgetName, eventTrigger) {\r\n return function(id, args) {\r\n eventTrigger(\"incidentOccurred\", {\r\n target: {\r\n id: id,\r\n type: \"E\" === id[0] ? \"error\" : \"warning\",\r\n args: args,\r\n text: _stringFormat.apply(null, [ERROR_MESSAGES[id]].concat(args || [])),\r\n widget: widgetName,\r\n version: version\r\n }\r\n })\r\n }\r\n};\r\n\r\nfunction getResizeManager(resizeCallback) {\r\n return (observe, unsubscribe) => {\r\n var {\r\n handler: handler,\r\n dispose: dispose\r\n } = createDeferredHandler(resizeCallback, unsubscribe);\r\n observe(handler);\r\n return dispose\r\n }\r\n}\r\n\r\nfunction createDeferredHandler(callback, unsubscribe) {\r\n var timeout;\r\n var handler = function() {\r\n clearTimeout(timeout);\r\n timeout = setTimeout(callback, 100)\r\n };\r\n return {\r\n handler: handler,\r\n dispose() {\r\n clearTimeout(timeout);\r\n unsubscribe(handler)\r\n }\r\n }\r\n}\r\nexport function createResizeHandler(contentElement, redrawOnResize, resize) {\r\n var disposeHandler;\r\n var resizeManager = getResizeManager(resize);\r\n if (\"windowonly\" === normalizeEnum(redrawOnResize)) {\r\n disposeHandler = resizeManager(handler => _windowResizeCallbacks.add(handler), handler => _windowResizeCallbacks.remove(handler))\r\n } else if (true === redrawOnResize) {\r\n disposeHandler = resizeManager(handler => resizeObserverSingleton.observe(contentElement, handler), () => resizeObserverSingleton.unobserve(contentElement))\r\n }\r\n return disposeHandler\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/core/helpers.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar isServerSide = !hasWindow();\r\n\r\nfunction Flags() {\r\n this.reset()\r\n}\r\nFlags.prototype = {\r\n constructor: Flags,\r\n add: function(codes) {\r\n var i;\r\n var ii = codes.length;\r\n var flags = this._flags;\r\n for (i = 0; i < ii; ++i) {\r\n flags[codes[i]] = 1\r\n }\r\n },\r\n has: function(code) {\r\n return this._flags[code] > 0\r\n },\r\n count: function() {\r\n return Object.keys(this._flags).length\r\n },\r\n reset: function() {\r\n this._flags = {}\r\n }\r\n};\r\n\r\nfunction combineMaps(baseMap, thisMap) {\r\n return baseMap !== thisMap ? _extend({}, baseMap, thisMap) : _extend({}, baseMap)\r\n}\r\n\r\nfunction combineLists(baseList, thisList) {\r\n return baseList !== thisList ? baseList.concat(thisList) : baseList.slice()\r\n}\r\n\r\nfunction buildTotalChanges(proto) {\r\n proto._totalChangesOrder = proto._optionChangesOrder.concat(proto._layoutChangesOrder, proto._customChangesOrder)\r\n}\r\n\r\nfunction addChange(settings) {\r\n var proto = this.prototype;\r\n var code = settings.code;\r\n proto[\"_change_\" + code] = settings.handler;\r\n if (settings.isThemeDependent) {\r\n proto._themeDependentChanges.push(code)\r\n }\r\n if (settings.option) {\r\n proto._optionChangesMap[settings.option] = code\r\n }(settings.isOptionChange ? proto._optionChangesOrder : proto._customChangesOrder).push(code);\r\n buildTotalChanges(proto)\r\n}\r\n\r\nfunction createChainExecutor() {\r\n var executeChain = function executeChain() {\r\n var i;\r\n var ii = executeChain._chain.length;\r\n var result;\r\n for (i = 0; i < ii; ++i) {\r\n result = executeChain._chain[i].apply(this, arguments)\r\n }\r\n return result\r\n };\r\n executeChain._chain = [];\r\n executeChain.add = function(item) {\r\n executeChain._chain.push(item)\r\n };\r\n executeChain.copy = function(executor) {\r\n executeChain._chain = executor._chain.slice()\r\n };\r\n return executeChain\r\n}\r\nexport function expand(target, name, expander) {\r\n var current = target[name];\r\n if (!current) {\r\n current = expander\r\n } else if (!current.add) {\r\n current = createChainExecutor();\r\n current.add(target[name]);\r\n current.add(expander)\r\n } else {\r\n if (false === Object.prototype.hasOwnProperty.call(target, name)) {\r\n current = createChainExecutor();\r\n current.copy(target[name])\r\n }\r\n current.add(expander)\r\n }\r\n target[name] = current\r\n}\r\n\r\nfunction addPlugin(plugin) {\r\n var proto = this.prototype;\r\n proto._plugins.push(plugin);\r\n plugin.fontFields && proto._fontFields.push.apply(proto._fontFields, plugin.fontFields);\r\n if (plugin.members) {\r\n _extend(this.prototype, plugin.members)\r\n }\r\n if (plugin.customize) {\r\n plugin.customize(this)\r\n }\r\n if (plugin.extenders) {\r\n Object.keys(plugin.extenders).forEach((function(key) {\r\n var func = plugin.extenders[key];\r\n expand(proto, key, func)\r\n }), this)\r\n }\r\n}\r\nexport var replaceInherit = isServerSide ? function(widget) {\r\n var _inherit = widget.inherit;\r\n widget.inherit = function() {\r\n var result = _inherit.apply(this, arguments);\r\n var proto = result.prototype;\r\n [\"_plugins\", \"_eventsMap\", \"_initialChanges\", \"_themeDependentChanges\", \"_optionChangesMap\", \"_optionChangesOrder\", \"_layoutChangesOrder\", \"_customChangesOrder\", \"_totalChangesOrder\"].forEach((function(key) {\r\n proto[key] = {}\r\n }));\r\n result.addPlugin = noop;\r\n return result\r\n };\r\n widget.addChange = noop;\r\n widget.addPlugin = noop\r\n} : function(widget) {\r\n var _inherit = widget.inherit;\r\n widget.inherit = function() {\r\n var proto = this.prototype;\r\n var plugins = proto._plugins;\r\n var fontFields = proto._fontFields;\r\n var eventsMap = proto._eventsMap;\r\n var initialChanges = proto._initialChanges;\r\n var themeDependentChanges = proto._themeDependentChanges;\r\n var optionChangesMap = proto._optionChangesMap;\r\n var partialOptionChangesMap = proto._partialOptionChangesMap;\r\n var partialOptionChangesPath = proto._partialOptionChangesPath;\r\n var optionChangesOrder = proto._optionChangesOrder;\r\n var layoutChangesOrder = proto._layoutChangesOrder;\r\n var customChangesOrder = proto._customChangesOrder;\r\n var result = _inherit.apply(this, arguments);\r\n proto = result.prototype;\r\n proto._plugins = combineLists(plugins, proto._plugins);\r\n proto._fontFields = combineLists(fontFields, proto._fontFields);\r\n proto._eventsMap = combineMaps(eventsMap, proto._eventsMap);\r\n proto._initialChanges = combineLists(initialChanges, proto._initialChanges);\r\n proto._themeDependentChanges = combineLists(themeDependentChanges, proto._themeDependentChanges);\r\n proto._optionChangesMap = combineMaps(optionChangesMap, proto._optionChangesMap);\r\n proto._partialOptionChangesMap = combineMaps(partialOptionChangesMap, proto._partialOptionChangesMap);\r\n proto._partialOptionChangesPath = combineMaps(partialOptionChangesPath, proto._partialOptionChangesPath);\r\n proto._optionChangesOrder = combineLists(optionChangesOrder, proto._optionChangesOrder);\r\n proto._layoutChangesOrder = combineLists(layoutChangesOrder, proto._layoutChangesOrder);\r\n proto._customChangesOrder = combineLists(customChangesOrder, proto._customChangesOrder);\r\n buildTotalChanges(proto);\r\n result.addPlugin = addPlugin;\r\n return result\r\n };\r\n widget.prototype._plugins = [];\r\n widget.prototype._fontFields = [];\r\n widget.addChange = addChange;\r\n widget.addPlugin = addPlugin\r\n};\r\nexport function changes() {\r\n return new Flags\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/core/layout.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"./utils\";\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar _round = Math.round;\r\nvar ALIGN_START = 0;\r\nvar ALIGN_MIDDLE = 1;\r\nvar ALIGN_END = 2;\r\nvar horizontalAlignmentMap = {\r\n left: ALIGN_START,\r\n center: ALIGN_MIDDLE,\r\n right: ALIGN_END\r\n};\r\nvar verticalAlignmentMap = {\r\n top: ALIGN_START,\r\n center: ALIGN_MIDDLE,\r\n bottom: ALIGN_END\r\n};\r\nvar sideMap = {\r\n horizontal: 0,\r\n vertical: 1\r\n};\r\nvar slicersMap = {};\r\nvar BBOX_CEIL_CORRECTION = 2;\r\nslicersMap[ALIGN_START] = function(a, b, size) {\r\n return [a, _min(b, a + size)]\r\n};\r\nslicersMap[ALIGN_MIDDLE] = function(a, b, size) {\r\n return [_max(a, (a + b - size) / 2), _min(b, (a + b + size) / 2)]\r\n};\r\nslicersMap[ALIGN_END] = function(a, b, size) {\r\n return [_max(a, b - size), b]\r\n};\r\n\r\nfunction pickValue(value, map, defaultValue) {\r\n var val = _normalizeEnum(value);\r\n return val in map ? map[val] : defaultValue\r\n}\r\n\r\nfunction normalizeLayoutOptions(options) {\r\n var side = pickValue(options.side, sideMap, 1);\r\n var alignment = [pickValue(options.horizontalAlignment, horizontalAlignmentMap, ALIGN_MIDDLE), pickValue(options.verticalAlignment, verticalAlignmentMap, ALIGN_START)];\r\n return {\r\n side: side,\r\n primary: bringToEdge(alignment[side]),\r\n secondary: alignment[1 - side],\r\n weak: options.weak,\r\n priority: options.priority || 0,\r\n header: options.header,\r\n position: options.position\r\n }\r\n}\r\n\r\nfunction bringToEdge(primary) {\r\n return primary < 2 ? 0 : 2\r\n}\r\n\r\nfunction getConjugateSide(side) {\r\n return 1 - side\r\n}\r\n\r\nfunction getSlice(alignment, a, b, size) {\r\n return slicersMap[alignment](a, b, size)\r\n}\r\n\r\nfunction getShrink(alignment, size) {\r\n return (alignment > 0 ? -1 : 1) * size\r\n}\r\n\r\nfunction processForward(item, rect, minSize) {\r\n var side = item.side;\r\n var size = item.element.measure([rect[2] - rect[0], rect[3] - rect[1]]);\r\n var minSide = \"indside\" === item.position ? 0 : minSize[side];\r\n var isValid = size[side] < rect[2 + side] - rect[side] - minSide;\r\n if (isValid) {\r\n if (\"inside\" !== item.position) {\r\n rect[item.primary + side] += getShrink(item.primary, size[side])\r\n }\r\n item.size = size\r\n }\r\n return isValid\r\n}\r\n\r\nfunction processRectBackward(item, rect, alignmentRect) {\r\n var primarySide = item.side;\r\n var secondarySide = getConjugateSide(primarySide);\r\n var itemRect = [];\r\n var secondary = getSlice(item.secondary, alignmentRect[secondarySide], alignmentRect[2 + secondarySide], item.size[secondarySide]);\r\n itemRect[primarySide] = _round(itemRect[2 + primarySide] = rect[item.primary + primarySide] + (\"inside\" === item.position ? getShrink(item.primary, item.size[primarySide]) : 0));\r\n itemRect[item.primary + primarySide] = _round(rect[item.primary + primarySide] - getShrink(item.primary, item.size[primarySide]));\r\n if (\"inside\" !== item.position) {\r\n rect[item.primary + primarySide] = itemRect[item.primary + primarySide]\r\n }\r\n itemRect[secondarySide] = _round(secondary[0]);\r\n itemRect[2 + secondarySide] = _round(secondary[1]);\r\n return itemRect\r\n}\r\n\r\nfunction processBackward(item, rect, alignmentRect, fitRect, size, targetRect) {\r\n var itemRect = processRectBackward(item, rect, alignmentRect);\r\n var itemFitRect = processRectBackward(item, fitRect, fitRect);\r\n if (size[item.side] > 0) {\r\n size[item.side] -= item.size[item.side];\r\n targetRect[item.primary + item.side] = itemRect[item.primary + item.side];\r\n item.element.freeSpace()\r\n } else {\r\n item.element.move(itemRect, itemFitRect)\r\n }\r\n}\r\n\r\nfunction Layout() {\r\n this._targets = []\r\n}\r\nLayout.prototype = {\r\n constructor: Layout,\r\n dispose: function() {\r\n this._targets = null\r\n },\r\n add: function(target) {\r\n this._targets.push(target)\r\n },\r\n forward: function(targetRect, minSize) {\r\n var rect = targetRect.slice();\r\n var targets = createTargets(this._targets);\r\n var i;\r\n var ii = targets.length;\r\n var cache = [];\r\n for (i = 0; i < ii; ++i) {\r\n if (processForward(targets[i], rect, minSize)) {\r\n cache.push(targets[i])\r\n } else {\r\n targets[i].element.freeSpace()\r\n }\r\n }\r\n this._cache = cache.reverse();\r\n return rect\r\n },\r\n backward: function(targetRect, alignmentRect) {\r\n var size = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [0, 0];\r\n var backwardRect = targetRect.slice();\r\n var fitRect = targetRect.slice();\r\n var targets = this._cache;\r\n var targetSide = 0;\r\n var target;\r\n var i;\r\n var ii = targets.length;\r\n for (i = 0; i < ii; ++i) {\r\n target = targets[i];\r\n if (target.side !== targetSide) {\r\n backwardRect = targetRect.slice()\r\n }\r\n processBackward(target, backwardRect, alignmentRect, fitRect, size, targetRect);\r\n targetSide = target.side\r\n }\r\n return size\r\n }\r\n};\r\n\r\nfunction createTargets(targets) {\r\n var i;\r\n var ii = targets.length;\r\n var collection = [];\r\n var layout;\r\n for (i = 0; i < ii; ++i) {\r\n layout = targets[i].layoutOptions();\r\n if (layout) {\r\n layout = normalizeLayoutOptions(layout);\r\n layout.element = targets[i];\r\n collection.push(layout)\r\n }\r\n }\r\n collection.sort((function(a, b) {\r\n return b.side - a.side || a.priority - b.priority\r\n }));\r\n collection = processWeakItems(collection);\r\n return collection\r\n}\r\n\r\nfunction processWeakItems(collection) {\r\n var weakItem = collection.filter((function(item) {\r\n return true === item.weak\r\n }))[0];\r\n var headerItem;\r\n if (weakItem) {\r\n headerItem = collection.filter((function(item) {\r\n return weakItem.primary === item.primary && item.side === weakItem.side && item !== weakItem\r\n }))[0]\r\n }\r\n if (weakItem && headerItem) {\r\n return [makeHeader(headerItem, weakItem)].concat(collection.filter((function(item) {\r\n return !(item === headerItem || item === weakItem)\r\n })))\r\n }\r\n return collection\r\n}\r\n\r\nfunction processBackwardHeaderRect(element, rect) {\r\n var rectCopy = rect.slice();\r\n var itemRect = processRectBackward(element, rectCopy, rectCopy);\r\n itemRect[element.side] = rect[element.side];\r\n itemRect[2 + element.side] = rect[2 + element.side];\r\n return itemRect\r\n}\r\n\r\nfunction makeHeader(header, weakElement) {\r\n var side = header.side;\r\n var primary = header.primary;\r\n var secondary = header.secondary;\r\n return {\r\n side: side,\r\n primary: primary,\r\n secondary: secondary,\r\n priority: 0,\r\n element: {\r\n measure: function(targetSize) {\r\n var result = targetSize.slice();\r\n var weakSize = weakElement.element.measure(targetSize.slice());\r\n targetSize[primary] -= weakSize[primary];\r\n var headerSize = header.element.measure(targetSize.slice());\r\n result[side] = weakSize[side] = headerSize[side] = Math.max(headerSize[side], weakSize[side]);\r\n weakElement.size = weakSize;\r\n header.size = headerSize;\r\n return result\r\n },\r\n move: function(rect, fitRect) {\r\n if (fitRect[2] - fitRect[0] < header.size[0] + weakElement.size[0] - BBOX_CEIL_CORRECTION) {\r\n this.freeSpace();\r\n return\r\n }\r\n var weakRect = processBackwardHeaderRect(weakElement, fitRect);\r\n fitRect[2 + weakElement.primary] = weakRect[weakElement.primary];\r\n var headerFitReact = processBackwardHeaderRect(header, fitRect);\r\n if (fitRect[2 + weakElement.primary] < rect[2 + weakElement.primary] && header.size[header.primary] > rect[2 + header.primary] - rect[header.primary]) {\r\n rect[2 + weakElement.primary] = fitRect[2 + weakElement.primary]\r\n }\r\n var headerRect = processBackwardHeaderRect(header, rect);\r\n if (headerRect[2 + weakElement.primary] > fitRect[2 + weakElement.primary]) {\r\n rect[2 + weakElement.primary] = fitRect[2 + weakElement.primary];\r\n headerRect = processBackwardHeaderRect(header, rect)\r\n }\r\n weakElement.element.move(weakRect);\r\n header.element.move(headerRect, headerFitReact)\r\n },\r\n freeSpace: function() {\r\n header.element.freeSpace();\r\n weakElement.element.freeSpace()\r\n }\r\n }\r\n }\r\n}\r\nexport default Layout;\r\n","/**\r\n * DevExtreme (esm/__internal/common/m_charts.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getNextDefsSvgId\r\n} from \"../../viz/core/utils\";\r\nvar graphicObjects = {};\r\nexport var registerPattern = options => {\r\n var id = getNextDefsSvgId();\r\n graphicObjects[id] = _extends({\r\n type: \"pattern\"\r\n }, options);\r\n return id\r\n};\r\nexport var registerGradient = (type, options) => {\r\n var id = getNextDefsSvgId();\r\n graphicObjects[id] = _extends({\r\n type: type\r\n }, options);\r\n return id\r\n};\r\nvar getGraphicObjects = () => graphicObjects;\r\nexport default {\r\n getGraphicObjects: getGraphicObjects\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/viz/core/m_base_widget.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../../core/devices\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport DOMComponent from \"../../../core/dom_component\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n when\r\n} from \"../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"../../../core/utils/size\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isNumeric,\r\n isObject as _isObject,\r\n type\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../core/utils/window\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n BaseThemeManager\r\n} from \"../../../viz/core/base_theme_manager\";\r\nimport {\r\n createEventTrigger,\r\n createIncidentOccurred,\r\n createResizeHandler\r\n} from \"../../../viz/core/base_widget.utils\";\r\nimport warnings from \"../../../viz/core/errors_warnings\";\r\nimport {\r\n changes,\r\n replaceInherit\r\n} from \"../../../viz/core/helpers\";\r\nimport _Layout from \"../../../viz/core/layout\";\r\nimport {\r\n Renderer\r\n} from \"../../../viz/core/renderers/renderer\";\r\nimport {\r\n parseScalar as _parseScalar\r\n} from \"../../../viz/core/utils\";\r\nimport {\r\n areCanvasesDifferent,\r\n floorCanvasDimensions\r\n} from \"../../../viz/utils\";\r\nimport graphicObject from \"../../common/m_charts\";\r\nvar {\r\n log: log\r\n} = warnings;\r\nvar OPTION_RTL_ENABLED = \"rtlEnabled\";\r\nvar SIZED_ELEMENT_CLASS = \"dx-sized-element\";\r\nvar baseOptionMethod = DOMComponent.prototype.option;\r\n\r\nfunction getTrue() {\r\n return true\r\n}\r\n\r\nfunction getFalse() {\r\n return false\r\n}\r\n\r\nfunction defaultOnIncidentOccurred(e) {\r\n if (!e.component._eventsStrategy.hasEvent(\"incidentOccurred\")) {\r\n log.apply(null, [e.target.id].concat(e.target.args || []))\r\n }\r\n}\r\n\r\nfunction pickPositiveValue(values) {\r\n return values.reduce((result, value) => value > 0 && !result ? value : result, 0)\r\n}\r\nvar getEmptyComponent = function() {\r\n var emptyComponentConfig = {\r\n _initTemplates() {},\r\n ctor(element, options) {\r\n this.callBase(element, options);\r\n var sizedElement = domAdapter.createElement(\"div\");\r\n var width = options && isNumeric(options.width) ? \"\".concat(options.width, \"px\") : \"100%\";\r\n var height = options && isNumeric(options.height) ? \"\".concat(options.height, \"px\") : \"\".concat(this._getDefaultSize().height, \"px\");\r\n domAdapter.setStyle(sizedElement, \"width\", width);\r\n domAdapter.setStyle(sizedElement, \"height\", height);\r\n domAdapter.setClass(sizedElement, SIZED_ELEMENT_CLASS, false);\r\n domAdapter.insertElement(element, sizedElement)\r\n }\r\n };\r\n var EmptyComponent = DOMComponent.inherit(emptyComponentConfig);\r\n var originalInherit = EmptyComponent.inherit;\r\n EmptyComponent.inherit = function(config) {\r\n Object.keys(config).forEach(field => {\r\n if (isFunction(config[field]) && \"_\" !== field.substr(0, 1) && \"option\" !== field || \"_dispose\" === field || \"_optionChanged\" === field) {\r\n config[field] = noop\r\n }\r\n });\r\n return originalInherit.call(this, config)\r\n };\r\n return EmptyComponent\r\n};\r\n\r\nfunction callForEach(functions) {\r\n functions.forEach(c => c())\r\n}\r\nvar isServerSide = !hasWindow();\r\n\r\nfunction sizeIsValid(value) {\r\n return isDefined(value) && value > 0\r\n}\r\nvar baseWidget = isServerSide ? getEmptyComponent() : DOMComponent.inherit({\r\n _eventsMap: {\r\n onIncidentOccurred: {\r\n name: \"incidentOccurred\",\r\n actionSettings: {\r\n excludeValidators: [\"disabled\"]\r\n }\r\n },\r\n onDrawn: {\r\n name: \"drawn\",\r\n actionSettings: {\r\n excludeValidators: [\"disabled\"]\r\n }\r\n }\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n onIncidentOccurred: defaultOnIncidentOccurred\r\n })\r\n },\r\n _useLinks: true,\r\n _init() {\r\n this._$element.children(\".\".concat(SIZED_ELEMENT_CLASS)).remove();\r\n this._graphicObjects = {};\r\n this.callBase(...arguments);\r\n this._changesLocker = 0;\r\n this._optionChangedLocker = 0;\r\n this._asyncFirstDrawing = true;\r\n this._changes = changes();\r\n this._suspendChanges();\r\n this._themeManager = this._createThemeManager();\r\n this._themeManager.setCallback(() => {\r\n this._requestChange(this._themeDependentChanges)\r\n });\r\n this._renderElementAttributes();\r\n this._initRenderer();\r\n var useLinks = this._useLinks;\r\n if (useLinks) {\r\n this._renderer.root.enableLinks().virtualLink(\"core\").virtualLink(\"peripheral\")\r\n }\r\n this._renderVisibilityChange();\r\n this._attachVisibilityChangeHandlers();\r\n this._toggleParentsScrollSubscription(this._isVisible());\r\n this._initEventTrigger();\r\n this._incidentOccurred = createIncidentOccurred(this.NAME, this._eventTrigger);\r\n this._layout = new _Layout;\r\n if (useLinks) {\r\n this._renderer.root.linkAfter(\"core\")\r\n }\r\n this._initPlugins();\r\n this._initCore();\r\n if (useLinks) {\r\n this._renderer.root.linkAfter()\r\n }\r\n this._change(this._initialChanges)\r\n },\r\n _createThemeManager() {\r\n return new BaseThemeManager(this._getThemeManagerOptions())\r\n },\r\n _getThemeManagerOptions() {\r\n return {\r\n themeSection: this._themeSection,\r\n fontFields: this._fontFields\r\n }\r\n },\r\n _initialChanges: [\"LAYOUT\", \"RESIZE_HANDLER\", \"THEME\", \"DISABLED\"],\r\n _initPlugins() {\r\n each(this._plugins, (_, plugin) => {\r\n plugin.init.call(this)\r\n })\r\n },\r\n _disposePlugins() {\r\n each(this._plugins.slice().reverse(), (_, plugin) => {\r\n plugin.dispose.call(this)\r\n })\r\n },\r\n _change(codes) {\r\n this._changes.add(codes)\r\n },\r\n _suspendChanges() {\r\n this._changesLocker += 1\r\n },\r\n _resumeChanges() {\r\n if (0 === --this._changesLocker && this._changes.count() > 0 && !this._applyingChanges) {\r\n this._renderer.lock();\r\n this._applyingChanges = true;\r\n this._applyChanges();\r\n this._changes.reset();\r\n this._applyingChanges = false;\r\n this._changesApplied();\r\n this._renderer.unlock();\r\n if (this._optionsQueue) {\r\n this._applyQueuedOptions()\r\n }\r\n this.resolveItemsDeferred(this._legend ? [this._legend] : []);\r\n this._optionChangedLocker += 1;\r\n this._notify();\r\n this._optionChangedLocker -= 1\r\n }\r\n },\r\n resolveItemsDeferred(items) {\r\n this._resolveDeferred(this._getTemplatesItems(items))\r\n },\r\n _collectTemplatesFromItems: items => items.reduce((prev, i) => ({\r\n items: prev.items.concat(i.getTemplatesDef()),\r\n groups: prev.groups.concat(i.getTemplatesGroups())\r\n }), {\r\n items: [],\r\n groups: []\r\n }),\r\n _getTemplatesItems(items) {\r\n var elements = this._collectTemplatesFromItems(items);\r\n var extraItems = this._getExtraTemplatesItems();\r\n return {\r\n items: extraItems.items.concat(elements.items),\r\n groups: extraItems.groups.concat(elements.groups),\r\n launchRequest: [extraItems.launchRequest],\r\n doneRequest: [extraItems.doneRequest]\r\n }\r\n },\r\n _getExtraTemplatesItems: () => ({\r\n items: [],\r\n groups: [],\r\n launchRequest: () => {},\r\n doneRequest: () => {}\r\n }),\r\n _resolveDeferred(_ref) {\r\n var {\r\n items: items,\r\n launchRequest: launchRequest,\r\n doneRequest: doneRequest,\r\n groups: groups\r\n } = _ref;\r\n this._setGroupsVisibility(groups, \"hidden\");\r\n if (this._changesApplying) {\r\n this._changesApplying = false;\r\n callForEach(doneRequest);\r\n return\r\n }\r\n var syncRendering = true;\r\n when.apply(this, items).done(() => {\r\n if (syncRendering) {\r\n this._setGroupsVisibility(groups, \"visible\");\r\n return\r\n }\r\n callForEach(launchRequest);\r\n this._changesApplying = true;\r\n var changes = [\"LAYOUT\", \"FULL_RENDER\"];\r\n if (this._asyncFirstDrawing) {\r\n changes.push(\"FORCE_FIRST_DRAWING\");\r\n this._asyncFirstDrawing = false\r\n } else {\r\n changes.push(\"FORCE_DRAWING\")\r\n }\r\n this._requestChange(changes);\r\n this._setGroupsVisibility(groups, \"visible\")\r\n });\r\n syncRendering = false\r\n },\r\n _setGroupsVisibility(groups, visibility) {\r\n groups.forEach(g => g.attr({\r\n visibility: visibility\r\n }))\r\n },\r\n _applyQueuedOptions() {\r\n var queue = this._optionsQueue;\r\n this._optionsQueue = null;\r\n this.beginUpdate();\r\n each(queue, (_, action) => {\r\n action()\r\n });\r\n this.endUpdate()\r\n },\r\n _requestChange(codes) {\r\n this._suspendChanges();\r\n this._change(codes);\r\n this._resumeChanges()\r\n },\r\n _applyChanges() {\r\n var changes = this._changes;\r\n var order = this._totalChangesOrder;\r\n var changesOrderLength = order.length;\r\n for (var i = 0; i < changesOrderLength; i += 1) {\r\n if (changes.has(order[i])) {\r\n this[\"_change_\".concat(order[i])]()\r\n }\r\n }\r\n },\r\n _optionChangesOrder: [\"EVENTS\", \"THEME\", \"RENDERER\", \"RESIZE_HANDLER\"],\r\n _layoutChangesOrder: [\"ELEMENT_ATTR\", \"CONTAINER_SIZE\", \"LAYOUT\"],\r\n _customChangesOrder: [\"DISABLED\"],\r\n _change_EVENTS() {\r\n this._eventTrigger.applyChanges()\r\n },\r\n _change_THEME() {\r\n this._setThemeAndRtl()\r\n },\r\n _change_RENDERER() {\r\n this._setRendererOptions()\r\n },\r\n _change_RESIZE_HANDLER() {\r\n this._setupResizeHandler()\r\n },\r\n _change_ELEMENT_ATTR() {\r\n this._renderElementAttributes();\r\n this._change([\"CONTAINER_SIZE\"])\r\n },\r\n _change_CONTAINER_SIZE() {\r\n this._updateSize()\r\n },\r\n _change_LAYOUT() {\r\n this._setContentSize()\r\n },\r\n _change_DISABLED() {\r\n var renderer = this._renderer;\r\n var {\r\n root: root\r\n } = renderer;\r\n if (this.option(\"disabled\")) {\r\n this._initDisabledState = root.attr(\"pointer-events\");\r\n root.attr({\r\n \"pointer-events\": \"none\",\r\n filter: renderer.getGrayScaleFilter().id\r\n })\r\n } else if (\"none\" === root.attr(\"pointer-events\")) {\r\n root.attr({\r\n \"pointer-events\": isDefined(this._initDisabledState) ? this._initDisabledState : null,\r\n filter: null\r\n })\r\n }\r\n },\r\n _themeDependentChanges: [\"RENDERER\"],\r\n _initRenderer() {\r\n var rawCanvas = this._calculateRawCanvas();\r\n this._canvas = floorCanvasDimensions(rawCanvas);\r\n this._renderer = new Renderer({\r\n cssClass: \"\".concat(this._rootClassPrefix, \" \").concat(this._rootClass),\r\n pathModified: this.option(\"pathModified\"),\r\n container: this._$element[0]\r\n });\r\n this._renderer.resize(this._canvas.width, this._canvas.height)\r\n },\r\n _disposeRenderer() {\r\n this._renderer.dispose()\r\n },\r\n _disposeGraphicObjects() {\r\n Object.keys(this._graphicObjects).forEach(id => {\r\n this._graphicObjects[id].dispose()\r\n });\r\n this._graphicObjects = null\r\n },\r\n _getAnimationOptions: noop,\r\n render() {\r\n this._requestChange([\"CONTAINER_SIZE\"]);\r\n var visible = this._isVisible();\r\n this._toggleParentsScrollSubscription(visible);\r\n !visible && this._stopCurrentHandling()\r\n },\r\n _toggleParentsScrollSubscription(subscribe) {\r\n var $parents = $(this._renderer.root.element).parents();\r\n if (\"generic\" === devices.real().platform) {\r\n $parents = $parents.add(getWindow())\r\n }\r\n this._proxiedTargetParentsScrollHandler = this._proxiedTargetParentsScrollHandler || function() {\r\n this._stopCurrentHandling()\r\n }.bind(this);\r\n eventsEngine.off($(\"\").add(this._$prevRootParents), \"scroll.viz_widgets\", this._proxiedTargetParentsScrollHandler);\r\n if (subscribe) {\r\n eventsEngine.on($parents, \"scroll.viz_widgets\", this._proxiedTargetParentsScrollHandler);\r\n this._$prevRootParents = $parents\r\n }\r\n },\r\n _stopCurrentHandling: noop,\r\n _dispose() {\r\n if (this._disposed) {\r\n return\r\n }\r\n this.callBase(...arguments);\r\n this._toggleParentsScrollSubscription(false);\r\n this._removeResizeHandler();\r\n this._layout.dispose();\r\n this._eventTrigger.dispose();\r\n this._disposeCore();\r\n this._disposePlugins();\r\n this._disposeGraphicObjects();\r\n this._disposeRenderer();\r\n this._themeManager.dispose();\r\n this._themeManager = null;\r\n this._renderer = null;\r\n this._eventTrigger = null\r\n },\r\n _initEventTrigger() {\r\n this._eventTrigger = createEventTrigger(this._eventsMap, (name, actionSettings) => this._createActionByOption(name, actionSettings))\r\n },\r\n _calculateRawCanvas() {\r\n var size = this.option(\"size\") || {};\r\n var margin = this.option(\"margin\") || {};\r\n var defaultCanvas = this._getDefaultSize() || {};\r\n var getSizeOfSide = (size, side, getter) => {\r\n if (sizeIsValid(size[side]) || !hasWindow()) {\r\n return 0\r\n }\r\n var elementSize = getter(this._$element);\r\n return elementSize <= 1 ? 0 : elementSize\r\n };\r\n var elementWidth = getSizeOfSide(size, \"width\", x => getWidth(x));\r\n var elementHeight = getSizeOfSide(size, \"height\", x => getHeight(x));\r\n var canvas = {\r\n width: size.width <= 0 ? 0 : pickPositiveValue([size.width, elementWidth, defaultCanvas.width]),\r\n height: size.height <= 0 ? 0 : pickPositiveValue([size.height, elementHeight, defaultCanvas.height]),\r\n left: pickPositiveValue([margin.left, defaultCanvas.left]),\r\n top: pickPositiveValue([margin.top, defaultCanvas.top]),\r\n right: pickPositiveValue([margin.right, defaultCanvas.right]),\r\n bottom: pickPositiveValue([margin.bottom, defaultCanvas.bottom])\r\n };\r\n if (canvas.width - canvas.left - canvas.right <= 0 || canvas.height - canvas.top - canvas.bottom <= 0) {\r\n canvas = {\r\n width: 0,\r\n height: 0\r\n }\r\n }\r\n return canvas\r\n },\r\n _updateSize() {\r\n var rawCanvas = this._calculateRawCanvas();\r\n if (areCanvasesDifferent(this._canvas, rawCanvas) || this.__forceRender) {\r\n this._canvas = floorCanvasDimensions(rawCanvas);\r\n this._recreateSizeDependentObjects(true);\r\n this._renderer.resize(this._canvas.width, this._canvas.height);\r\n this._change([\"LAYOUT\"])\r\n }\r\n },\r\n _recreateSizeDependentObjects: noop,\r\n _getMinSize: () => [0, 0],\r\n _getAlignmentRect: noop,\r\n _setContentSize() {\r\n var canvas = this._canvas;\r\n var layout = this._layout;\r\n var rect = canvas.width > 0 && canvas.height > 0 ? [canvas.left, canvas.top, canvas.width - canvas.right, canvas.height - canvas.bottom] : [0, 0, 0, 0];\r\n rect = layout.forward(rect, this._getMinSize());\r\n var nextRect = this._applySize(rect) || rect;\r\n layout.backward(nextRect, this._getAlignmentRect() || nextRect)\r\n },\r\n _getOption(name, isScalar) {\r\n var theme = this._themeManager.theme(name);\r\n var option = this.option(name);\r\n return isScalar ? void 0 !== option ? option : theme : extend(true, {}, theme, option)\r\n },\r\n _setupResizeHandler() {\r\n var redrawOnResize = _parseScalar(this._getOption(\"redrawOnResize\", true), true);\r\n if (this._disposeResizeHandler) {\r\n this._removeResizeHandler()\r\n }\r\n this._disposeResizeHandler = createResizeHandler(this._$element[0], redrawOnResize, () => this._requestChange([\"CONTAINER_SIZE\"]))\r\n },\r\n _removeResizeHandler() {\r\n if (this._disposeResizeHandler) {\r\n this._disposeResizeHandler();\r\n this._disposeResizeHandler = null\r\n }\r\n },\r\n _onBeginUpdate: noop,\r\n beginUpdate() {\r\n if (this._initialized && this._isUpdateAllowed()) {\r\n this._onBeginUpdate();\r\n this._suspendChanges()\r\n }\r\n this.callBase(...arguments);\r\n return this\r\n },\r\n endUpdate() {\r\n this.callBase();\r\n this._isUpdateAllowed() && this._resumeChanges();\r\n return this\r\n },\r\n option(name) {\r\n if (this._initialized && this._applyingChanges && (arguments.length > 1 || _isObject(name))) {\r\n this._optionsQueue = this._optionsQueue || [];\r\n this._optionsQueue.push(this._getActionForUpdating(arguments))\r\n } else {\r\n return baseOptionMethod.apply(this, arguments)\r\n }\r\n },\r\n _getActionForUpdating(args) {\r\n return () => {\r\n baseOptionMethod.apply(this, args)\r\n }\r\n },\r\n _clean: noop,\r\n _render: noop,\r\n _optionChanged(arg) {\r\n if (this._optionChangedLocker) {\r\n return\r\n }\r\n var partialChanges = this.getPartialChangeOptionsName(arg);\r\n var changes = [];\r\n if (partialChanges.length > 0) {\r\n partialChanges.forEach(pc => changes.push(this._partialOptionChangesMap[pc]))\r\n } else {\r\n changes.push(this._optionChangesMap[arg.name])\r\n }\r\n changes = changes.filter(c => !!c);\r\n if (this._eventTrigger.change(arg.name)) {\r\n this._change([\"EVENTS\"])\r\n } else if (changes.length > 0) {\r\n this._change(changes)\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _notify: noop,\r\n _changesApplied: noop,\r\n _optionChangesMap: {\r\n size: \"CONTAINER_SIZE\",\r\n margin: \"CONTAINER_SIZE\",\r\n redrawOnResize: \"RESIZE_HANDLER\",\r\n theme: \"THEME\",\r\n rtlEnabled: \"THEME\",\r\n encodeHtml: \"THEME\",\r\n elementAttr: \"ELEMENT_ATTR\",\r\n disabled: \"DISABLED\"\r\n },\r\n _partialOptionChangesMap: {},\r\n _partialOptionChangesPath: {},\r\n getPartialChangeOptionsName(changedOption) {\r\n var {\r\n fullName: fullName\r\n } = changedOption;\r\n var sections = fullName.split(/[.]/);\r\n var {\r\n name: name\r\n } = changedOption;\r\n var {\r\n value: value\r\n } = changedOption;\r\n var options = this._partialOptionChangesPath[name];\r\n var partialChangeOptionsName = [];\r\n if (options) {\r\n if (true === options) {\r\n partialChangeOptionsName.push(name)\r\n } else {\r\n options.forEach(op => {\r\n fullName.indexOf(op) >= 0 && partialChangeOptionsName.push(op)\r\n });\r\n if (1 === sections.length) {\r\n if (\"object\" === type(value)) {\r\n this._addOptionsNameForPartialUpdate(value, options, partialChangeOptionsName)\r\n } else if (\"array\" === type(value)) {\r\n if (value.length > 0 && value.every(item => this._checkOptionsForPartialUpdate(item, options))) {\r\n value.forEach(item => {\r\n this._addOptionsNameForPartialUpdate(item, options, partialChangeOptionsName)\r\n })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return partialChangeOptionsName.filter((value, index, self) => self.indexOf(value) === index)\r\n },\r\n _checkOptionsForPartialUpdate: (optionObject, options) => !Object.keys(optionObject).some(key => -1 === options.indexOf(key)),\r\n _addOptionsNameForPartialUpdate(optionObject, options, partialChangeOptionsName) {\r\n var optionKeys = Object.keys(optionObject);\r\n if (this._checkOptionsForPartialUpdate(optionObject, options)) {\r\n optionKeys.forEach(key => options.indexOf(key) > -1 && partialChangeOptionsName.push(key))\r\n }\r\n },\r\n _visibilityChanged() {\r\n this.render()\r\n },\r\n _setThemeAndRtl() {\r\n this._themeManager.setTheme(this.option(\"theme\"), this.option(OPTION_RTL_ENABLED))\r\n },\r\n _getRendererOptions() {\r\n return {\r\n rtl: this.option(OPTION_RTL_ENABLED),\r\n encodeHtml: this.option(\"encodeHtml\"),\r\n animation: this._getAnimationOptions()\r\n }\r\n },\r\n _setRendererOptions() {\r\n this._renderer.setOptions(this._getRendererOptions())\r\n },\r\n svg() {\r\n return this._renderer.svg()\r\n },\r\n getSize() {\r\n var canvas = this._canvas || {};\r\n return {\r\n width: canvas.width,\r\n height: canvas.height\r\n }\r\n },\r\n isReady: getFalse,\r\n _dataIsReady: getTrue,\r\n _resetIsReady() {\r\n this.isReady = getFalse\r\n },\r\n _renderGraphicObjects() {\r\n var renderer = this._renderer;\r\n var graphics = graphicObject.getGraphicObjects();\r\n Object.keys(graphics).forEach(id => {\r\n if (!this._graphicObjects[id]) {\r\n var {\r\n type: _type,\r\n colors: colors,\r\n rotationAngle: rotationAngle,\r\n template: template,\r\n width: width,\r\n height: height\r\n } = graphics[id];\r\n switch (_type) {\r\n case \"linear\":\r\n this._graphicObjects[id] = renderer.linearGradient(colors, id, rotationAngle);\r\n break;\r\n case \"radial\":\r\n this._graphicObjects[id] = renderer.radialGradient(colors, id);\r\n break;\r\n case \"pattern\":\r\n this._graphicObjects[id] = renderer.customPattern(id, this._getTemplate(template), width, height)\r\n }\r\n }\r\n })\r\n },\r\n _drawn() {\r\n this.isReady = getFalse;\r\n if (this._dataIsReady()) {\r\n this._renderer.onEndAnimation(() => {\r\n this.isReady = getTrue\r\n })\r\n }\r\n this._eventTrigger(\"drawn\", {})\r\n }\r\n});\r\nexport default baseWidget;\r\nreplaceInherit(baseWidget);\r\n","/**\r\n * DevExtreme (esm/__internal/viz/chart_components/rolling_stock.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport class RollingStock {\r\n constructor(label, isRotated, shiftFunction) {\r\n var bBox = label.getBoundingRect();\r\n var {\r\n x: x\r\n } = bBox;\r\n var {\r\n y: y\r\n } = bBox;\r\n var endX = bBox.x + bBox.width;\r\n var endY = bBox.y + bBox.height;\r\n this.labels = [label];\r\n this.shiftFunction = shiftFunction;\r\n this.bBox = {\r\n start: isRotated ? x : y,\r\n width: isRotated ? bBox.width : bBox.height,\r\n end: isRotated ? endX : endY,\r\n oppositeStart: isRotated ? y : x,\r\n oppositeEnd: isRotated ? endY : endX\r\n };\r\n this.initialPosition = isRotated ? bBox.x : bBox.y\r\n }\r\n toChain(nextRollingStock) {\r\n var nextRollingStockBBox = nextRollingStock.getBoundingRect();\r\n nextRollingStock.shift(nextRollingStockBBox.start - this.bBox.end);\r\n this.changeBoxWidth(nextRollingStockBBox.width);\r\n this.labels = this.labels.concat(nextRollingStock.labels)\r\n }\r\n getBoundingRect() {\r\n return this.bBox\r\n }\r\n shift(shiftLength) {\r\n this.labels.forEach(label => {\r\n var bBox = label.getBoundingRect();\r\n var coords = this.shiftFunction(bBox, shiftLength);\r\n if (!label.hideInsideLabel(coords)) {\r\n label.shift(coords.x, coords.y)\r\n }\r\n });\r\n this.bBox.end -= shiftLength;\r\n this.bBox.start -= shiftLength\r\n }\r\n setRollingStockInCanvas(canvas) {\r\n if (this.bBox.end > canvas.end) {\r\n this.shift(this.bBox.end - canvas.end)\r\n }\r\n }\r\n getLabels() {\r\n return this.labels\r\n }\r\n value() {\r\n return this.labels[0].getData().value\r\n }\r\n getInitialPosition() {\r\n return this.initialPosition\r\n }\r\n changeBoxWidth(width) {\r\n this.bBox.end += width;\r\n this.bBox.width += width\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/viz/chart_components/m_base_chart.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n grep,\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n reverseEach as _reverseEach\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n isDefined as _isDefined,\r\n isFunction\r\n} from \"../../../core/utils/type\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n isPointerEvent,\r\n isTouchEvent\r\n} from \"../../../events/utils/index\";\r\nimport {\r\n LayoutManager\r\n} from \"../../../viz/chart_components/layout_manager\";\r\nimport * as trackerModule from \"../../../viz/chart_components/tracker\";\r\nimport {\r\n ThemeManager\r\n} from \"../../../viz/components/chart_theme_manager\";\r\nimport {\r\n validateData\r\n} from \"../../../viz/components/data_validator\";\r\nimport {\r\n Legend\r\n} from \"../../../viz/components/legend\";\r\nimport {\r\n plugin as dataSourcePlugin\r\n} from \"../../../viz/core/data_source\";\r\nimport {\r\n plugin as exportPlugin\r\n} from \"../../../viz/core/export\";\r\nimport {\r\n plugin as loadingIndicatorPlugin\r\n} from \"../../../viz/core/loading_indicator\";\r\nimport {\r\n plugin as titlePlugin\r\n} from \"../../../viz/core/title\";\r\nimport {\r\n plugin as tooltipPlugin\r\n} from \"../../../viz/core/tooltip\";\r\nimport {\r\n map as _map,\r\n processSeriesTemplate,\r\n setCanvasValues as _setCanvasValues\r\n} from \"../../../viz/core/utils\";\r\nimport {\r\n Series\r\n} from \"../../../viz/series/base_series\";\r\nimport BaseWidget from \"../core/m_base_widget\";\r\nimport {\r\n RollingStock\r\n} from \"./rolling_stock\";\r\nvar {\r\n isArray: isArray\r\n} = Array;\r\nvar REINIT_REFRESH_ACTION = \"_reinit\";\r\nvar REINIT_DATA_SOURCE_REFRESH_ACTION = \"_updateDataSource\";\r\nvar DATA_INIT_REFRESH_ACTION = \"_dataInit\";\r\nvar FORCE_RENDER_REFRESH_ACTION = \"_forceRender\";\r\nvar RESIZE_REFRESH_ACTION = \"_resize\";\r\nvar ACTIONS_BY_PRIORITY = [REINIT_REFRESH_ACTION, REINIT_DATA_SOURCE_REFRESH_ACTION, DATA_INIT_REFRESH_ACTION, FORCE_RENDER_REFRESH_ACTION, RESIZE_REFRESH_ACTION];\r\nvar DEFAULT_OPACITY = .3;\r\nvar REFRESH_SERIES_DATA_INIT_ACTION_OPTIONS = [\"series\", \"commonSeriesSettings\", \"dataPrepareSettings\", \"seriesSelectionMode\", \"pointSelectionMode\", \"synchronizeMultiAxes\", \"resolveLabelsOverlapping\"];\r\nvar REFRESH_SERIES_FAMILIES_ACTION_OPTIONS = [\"minBubbleSize\", \"maxBubbleSize\", \"barGroupPadding\", \"barGroupWidth\", \"negativesAsZeroes\", \"negativesAsZeros\"];\r\nvar FORCE_RENDER_REFRESH_ACTION_OPTIONS = [\"adaptiveLayout\", \"crosshair\", \"resolveLabelOverlapping\", \"adjustOnZoom\", \"stickyHovering\"];\r\nvar FONT = \"font\";\r\n\r\nfunction checkHeightRollingStock(rollingStocks, stubCanvas) {\r\n var canvasSize = stubCanvas.end - stubCanvas.start;\r\n var size = 0;\r\n rollingStocks.forEach(rollingStock => {\r\n size += rollingStock.getBoundingRect().width\r\n });\r\n while (canvasSize < size) {\r\n size -= findAndKillSmallValue(rollingStocks)\r\n }\r\n}\r\n\r\nfunction findAndKillSmallValue(rollingStocks) {\r\n var smallestObject = rollingStocks.reduce((prev, rollingStock, index) => {\r\n if (!rollingStock) {\r\n return prev\r\n }\r\n var value = rollingStock.value();\r\n return value < prev.value ? {\r\n value: value,\r\n rollingStock: rollingStock,\r\n index: index\r\n } : prev\r\n }, {\r\n rollingStock: void 0,\r\n value: 1 / 0,\r\n index: void 0\r\n });\r\n smallestObject.rollingStock.getLabels()[0].draw(false);\r\n var {\r\n width: width\r\n } = smallestObject.rollingStock.getBoundingRect();\r\n rollingStocks[smallestObject.index] = null;\r\n return width\r\n}\r\n\r\nfunction checkStackOverlap(rollingStocks) {\r\n var i;\r\n var j;\r\n var iLength;\r\n var jLength;\r\n var overlap = false;\r\n for (i = 0, iLength = rollingStocks.length - 1; i < iLength; i++) {\r\n for (j = i + 1, jLength = rollingStocks.length; j < jLength; j++) {\r\n if (i !== j && checkStacksOverlapping(rollingStocks[i], rollingStocks[j], true)) {\r\n overlap = true;\r\n break\r\n }\r\n }\r\n if (overlap) {\r\n break\r\n }\r\n }\r\n return overlap\r\n}\r\n\r\nfunction resolveLabelOverlappingInOneDirection(points, canvas, isRotated, isInverted, shiftFunction) {\r\n var customSorting = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : () => 0;\r\n var rollingStocks = [];\r\n var stubCanvas = {\r\n start: isRotated ? canvas.left : canvas.top,\r\n end: isRotated ? canvas.width - canvas.right : canvas.height - canvas.bottom\r\n };\r\n var hasStackedSeries = false;\r\n var sortRollingStocks;\r\n points.forEach(p => {\r\n if (!p) {\r\n return\r\n }\r\n hasStackedSeries = hasStackedSeries || p.series.isStackedSeries() || p.series.isFullStackedSeries();\r\n p.getLabels().forEach(l => {\r\n if (l.isVisible()) {\r\n rollingStocks.push(new RollingStock(l, isRotated, shiftFunction))\r\n }\r\n })\r\n });\r\n if (hasStackedSeries) {\r\n if (Number(!isRotated) ^ Number(isInverted)) {\r\n rollingStocks.reverse()\r\n }\r\n sortRollingStocks = isInverted ? rollingStocks : sortRollingStocksByValue(rollingStocks)\r\n } else {\r\n var rollingStocksTmp = rollingStocks.slice();\r\n sortRollingStocks = rollingStocks.sort((a, b) => customSorting(a, b) || a.getInitialPosition() - b.getInitialPosition() || rollingStocksTmp.indexOf(a) - rollingStocksTmp.indexOf(b))\r\n }\r\n if (!checkStackOverlap(sortRollingStocks)) {\r\n return false\r\n }\r\n checkHeightRollingStock(sortRollingStocks, stubCanvas);\r\n prepareOverlapStacks(sortRollingStocks);\r\n sortRollingStocks.reverse();\r\n moveRollingStock(sortRollingStocks, stubCanvas);\r\n return true\r\n}\r\n\r\nfunction checkStacksOverlapping(firstRolling, secondRolling, inTwoSides) {\r\n if (!firstRolling || !secondRolling) {\r\n return\r\n }\r\n var firstRect = firstRolling.getBoundingRect();\r\n var secondRect = secondRolling.getBoundingRect();\r\n var oppositeOverlapping = inTwoSides ? firstRect.oppositeStart <= secondRect.oppositeStart && firstRect.oppositeEnd > secondRect.oppositeStart || secondRect.oppositeStart <= firstRect.oppositeStart && secondRect.oppositeEnd > firstRect.oppositeStart : true;\r\n return firstRect.end > secondRect.start && oppositeOverlapping\r\n}\r\n\r\nfunction sortRollingStocksByValue(rollingStocks) {\r\n var positiveRollingStocks = [];\r\n var negativeRollingStocks = [];\r\n rollingStocks.forEach(stock => {\r\n if (stock.value() > 0) {\r\n positiveRollingStocks.push(stock)\r\n } else {\r\n negativeRollingStocks.unshift(stock)\r\n }\r\n });\r\n return positiveRollingStocks.concat(negativeRollingStocks)\r\n}\r\n\r\nfunction prepareOverlapStacks(rollingStocks) {\r\n var root;\r\n for (var i = 0; i < rollingStocks.length - 1; i += 1) {\r\n var currentRollingStock = root || rollingStocks[i];\r\n if (checkStacksOverlapping(currentRollingStock, rollingStocks[i + 1])) {\r\n currentRollingStock.toChain(rollingStocks[i + 1]);\r\n rollingStocks[i + 1] = null;\r\n root = currentRollingStock\r\n } else {\r\n root = rollingStocks[i + 1] || currentRollingStock\r\n }\r\n }\r\n}\r\n\r\nfunction rollingStocksIsOut(rollingStock, canvas) {\r\n return rollingStock.getBoundingRect().end > canvas.end\r\n}\r\n\r\nfunction moveRollingStock(rollingStocks, canvas) {\r\n for (var i = 0; i < rollingStocks.length; i += 1) {\r\n var currentRollingStock = rollingStocks[i];\r\n var shouldSetCanvas = true;\r\n if (null !== currentRollingStock && rollingStocksIsOut(currentRollingStock, canvas)) {\r\n var currentBBox = currentRollingStock.getBoundingRect();\r\n for (var j = i + 1; j < rollingStocks.length; j += 1) {\r\n var nextRollingStock = rollingStocks[j];\r\n if (nextRollingStock) {\r\n var nextBBox = nextRollingStock.getBoundingRect();\r\n if (nextBBox.end > currentBBox.start - (currentBBox.end - canvas.end)) {\r\n nextRollingStock.toChain(currentRollingStock);\r\n shouldSetCanvas = false;\r\n break\r\n }\r\n }\r\n }\r\n }\r\n if (shouldSetCanvas) {\r\n null === currentRollingStock || void 0 === currentRollingStock ? void 0 : currentRollingStock.setRollingStockInCanvas(canvas)\r\n }\r\n }\r\n}\r\n\r\nfunction getLegendFields(name) {\r\n return {\r\n nameField: \"\".concat(name, \"Name\"),\r\n colorField: \"\".concat(name, \"Color\"),\r\n indexField: \"\".concat(name, \"Index\")\r\n }\r\n}\r\n\r\nfunction getLegendSettings(legendDataField) {\r\n var formatObjectFields = getLegendFields(legendDataField);\r\n return {\r\n getFormatObject(data) {\r\n var res = {};\r\n res[formatObjectFields.indexField] = data.id;\r\n res[formatObjectFields.colorField] = data.states.normal.fill;\r\n res[formatObjectFields.nameField] = data.text;\r\n return res\r\n },\r\n textField: formatObjectFields.nameField\r\n }\r\n}\r\n\r\nfunction checkOverlapping(firstRect, secondRect) {\r\n return (firstRect.x <= secondRect.x && secondRect.x <= firstRect.x + firstRect.width || firstRect.x >= secondRect.x && firstRect.x <= secondRect.x + secondRect.width) && (firstRect.y <= secondRect.y && secondRect.y <= firstRect.y + firstRect.height || firstRect.y >= secondRect.y && firstRect.y <= secondRect.y + secondRect.height)\r\n}\r\nexport var overlapping = {\r\n resolveLabelOverlappingInOneDirection: resolveLabelOverlappingInOneDirection\r\n};\r\nexport var BaseChart = BaseWidget.inherit({\r\n _eventsMap: {\r\n onSeriesClick: {\r\n name: \"seriesClick\"\r\n },\r\n onPointClick: {\r\n name: \"pointClick\"\r\n },\r\n onArgumentAxisClick: {\r\n name: \"argumentAxisClick\"\r\n },\r\n onLegendClick: {\r\n name: \"legendClick\"\r\n },\r\n onSeriesSelectionChanged: {\r\n name: \"seriesSelectionChanged\"\r\n },\r\n onPointSelectionChanged: {\r\n name: \"pointSelectionChanged\"\r\n },\r\n onSeriesHoverChanged: {\r\n name: \"seriesHoverChanged\"\r\n },\r\n onPointHoverChanged: {\r\n name: \"pointHoverChanged\"\r\n },\r\n onDone: {\r\n name: \"done\",\r\n actionSettings: {\r\n excludeValidators: [\"disabled\"]\r\n }\r\n },\r\n onZoomStart: {\r\n name: \"zoomStart\"\r\n },\r\n onZoomEnd: {\r\n name: \"zoomEnd\"\r\n }\r\n },\r\n _fontFields: [\"legend.\".concat(FONT), \"legend.title.\".concat(FONT), \"legend.title.subtitle.\".concat(FONT), \"commonSeriesSettings.label.\".concat(FONT)],\r\n _rootClassPrefix: \"dxc\",\r\n _rootClass: \"dxc-chart\",\r\n _initialChanges: [\"INIT\"],\r\n _themeDependentChanges: [\"REFRESH_SERIES_REINIT\"],\r\n _getThemeManagerOptions() {\r\n var themeOptions = this.callBase.apply(this, arguments);\r\n themeOptions.options = this.option();\r\n return themeOptions\r\n },\r\n _createThemeManager() {\r\n var chartOption = this.option();\r\n var themeManager = new ThemeManager(this._getThemeManagerOptions());\r\n themeManager.setTheme(chartOption.theme, chartOption.rtlEnabled);\r\n return themeManager\r\n },\r\n _initCore() {\r\n this._canvasClipRect = this._renderer.clipRect();\r\n this._createHtmlStructure();\r\n this._createLegend();\r\n this._createTracker();\r\n this._needHandleRenderComplete = true;\r\n this.layoutManager = new LayoutManager;\r\n this._createScrollBar();\r\n eventsEngine.on(this._$element, \"contextmenu\", event => {\r\n if (isTouchEvent(event) || isPointerEvent(event)) {\r\n event.preventDefault()\r\n }\r\n });\r\n eventsEngine.on(this._$element, \"MSHoldVisual\", event => {\r\n event.preventDefault()\r\n })\r\n },\r\n _getLayoutItems: noop,\r\n _layoutManagerOptions() {\r\n return this._themeManager.getOptions(\"adaptiveLayout\")\r\n },\r\n _reinit() {\r\n _setCanvasValues(this._canvas);\r\n this._reinitAxes();\r\n this._requestChange([\"DATA_SOURCE\", \"DATA_INIT\", \"CORRECT_AXIS\", \"FULL_RENDER\"])\r\n },\r\n _correctAxes: noop,\r\n _createHtmlStructure() {\r\n var renderer = this._renderer;\r\n var {\r\n root: root\r\n } = renderer;\r\n var createConstantLinesGroup = function() {\r\n return renderer.g().attr({\r\n class: \"dxc-constant-lines-group\"\r\n }).linkOn(root, \"constant-lines\")\r\n };\r\n this._constantLinesGroup = {\r\n dispose() {\r\n this.under.dispose();\r\n this.above.dispose()\r\n },\r\n linkOff() {\r\n this.under.linkOff();\r\n this.above.linkOff()\r\n },\r\n clear() {\r\n this.under.linkRemove().clear();\r\n this.above.linkRemove().clear()\r\n },\r\n linkAppend() {\r\n this.under.linkAppend();\r\n this.above.linkAppend()\r\n }\r\n };\r\n this._labelsAxesGroup = renderer.g().attr({\r\n class: \"dxc-elements-axes-group\"\r\n });\r\n var appendLabelsAxesGroup = () => {\r\n this._labelsAxesGroup.linkOn(root, \"elements\")\r\n };\r\n this._backgroundRect = renderer.rect().attr({\r\n fill: \"gray\",\r\n opacity: 1e-4\r\n }).append(root);\r\n this._panesBackgroundGroup = renderer.g().attr({\r\n class: \"dxc-background\"\r\n }).append(root);\r\n this._stripsGroup = renderer.g().attr({\r\n class: \"dxc-strips-group\"\r\n }).linkOn(root, \"strips\");\r\n this._gridGroup = renderer.g().attr({\r\n class: \"dxc-grids-group\"\r\n }).linkOn(root, \"grids\");\r\n this._panesBorderGroup = renderer.g().attr({\r\n class: \"dxc-border\"\r\n }).linkOn(root, \"border\");\r\n this._axesGroup = renderer.g().attr({\r\n class: \"dxc-axes-group\"\r\n }).linkOn(root, \"axes\");\r\n this._executeAppendBeforeSeries(appendLabelsAxesGroup);\r\n this._stripLabelAxesGroup = renderer.g().attr({\r\n class: \"dxc-strips-labels-group\"\r\n }).linkOn(root, \"strips-labels\");\r\n this._constantLinesGroup.under = createConstantLinesGroup();\r\n this._seriesGroup = renderer.g().attr({\r\n class: \"dxc-series-group\"\r\n }).linkOn(root, \"series\");\r\n this._executeAppendAfterSeries(appendLabelsAxesGroup);\r\n this._constantLinesGroup.above = createConstantLinesGroup();\r\n this._scaleBreaksGroup = renderer.g().attr({\r\n class: \"dxc-scale-breaks\"\r\n }).linkOn(root, \"scale-breaks\");\r\n this._labelsGroup = renderer.g().attr({\r\n class: \"dxc-labels-group\"\r\n }).linkOn(root, \"labels\");\r\n this._crosshairCursorGroup = renderer.g().attr({\r\n class: \"dxc-crosshair-cursor\"\r\n }).linkOn(root, \"crosshair\");\r\n this._legendGroup = renderer.g().attr({\r\n class: \"dxc-legend\",\r\n \"clip-path\": this._getCanvasClipRectID()\r\n }).linkOn(root, \"legend\").linkAppend(root).enableLinks();\r\n this._scrollBarGroup = renderer.g().attr({\r\n class: \"dxc-scroll-bar\"\r\n }).linkOn(root, \"scroll-bar\")\r\n },\r\n _executeAppendBeforeSeries() {},\r\n _executeAppendAfterSeries() {},\r\n _disposeObjectsInArray(propName, fieldNames) {\r\n (this[propName] || []).forEach(item => {\r\n if (fieldNames && item) {\r\n fieldNames.forEach(field => {\r\n var _a;\r\n null === (_a = item[field]) || void 0 === _a ? void 0 : _a.dispose()\r\n })\r\n } else {\r\n null === item || void 0 === item ? void 0 : item.dispose()\r\n }\r\n });\r\n this[propName] = null\r\n },\r\n _disposeCore() {\r\n var disposeObject = propName => {\r\n if (this[propName]) {\r\n this[propName].dispose();\r\n this[propName] = null\r\n }\r\n };\r\n var unlinkGroup = name => {\r\n this[name].linkOff()\r\n };\r\n var disposeObjectsInArray = this._disposeObjectsInArray;\r\n this._renderer.stopAllAnimations();\r\n disposeObjectsInArray.call(this, \"series\");\r\n disposeObject(\"_tracker\");\r\n disposeObject(\"_crosshair\");\r\n this.layoutManager = this._userOptions = this._canvas = this._groupsData = null;\r\n unlinkGroup(\"_stripsGroup\");\r\n unlinkGroup(\"_gridGroup\");\r\n unlinkGroup(\"_axesGroup\");\r\n unlinkGroup(\"_constantLinesGroup\");\r\n unlinkGroup(\"_stripLabelAxesGroup\");\r\n unlinkGroup(\"_panesBorderGroup\");\r\n unlinkGroup(\"_seriesGroup\");\r\n unlinkGroup(\"_labelsGroup\");\r\n unlinkGroup(\"_crosshairCursorGroup\");\r\n unlinkGroup(\"_legendGroup\");\r\n unlinkGroup(\"_scrollBarGroup\");\r\n unlinkGroup(\"_scaleBreaksGroup\");\r\n disposeObject(\"_canvasClipRect\");\r\n disposeObject(\"_panesBackgroundGroup\");\r\n disposeObject(\"_backgroundRect\");\r\n disposeObject(\"_stripsGroup\");\r\n disposeObject(\"_gridGroup\");\r\n disposeObject(\"_axesGroup\");\r\n disposeObject(\"_constantLinesGroup\");\r\n disposeObject(\"_stripLabelAxesGroup\");\r\n disposeObject(\"_panesBorderGroup\");\r\n disposeObject(\"_seriesGroup\");\r\n disposeObject(\"_labelsGroup\");\r\n disposeObject(\"_crosshairCursorGroup\");\r\n disposeObject(\"_legendGroup\");\r\n disposeObject(\"_scrollBarGroup\");\r\n disposeObject(\"_scaleBreaksGroup\")\r\n },\r\n _getAnimationOptions() {\r\n return this._themeManager.getOptions(\"animation\")\r\n },\r\n _getDefaultSize: () => ({\r\n width: 400,\r\n height: 400\r\n }),\r\n _getOption(name) {\r\n return this._themeManager.getOptions(name)\r\n },\r\n _applySize(rect) {\r\n this._rect = rect.slice();\r\n if (!this._changes.has(\"FULL_RENDER\")) {\r\n this._processRefreshData(RESIZE_REFRESH_ACTION)\r\n }\r\n },\r\n _resize() {\r\n this._doRender(this.__renderOptions || {\r\n animate: false,\r\n isResize: true\r\n })\r\n },\r\n _trackerType: \"ChartTracker\",\r\n _createTracker() {\r\n this._tracker = new trackerModule[this._trackerType]({\r\n seriesGroup: this._seriesGroup,\r\n renderer: this._renderer,\r\n tooltip: this._tooltip,\r\n legend: this._legend,\r\n eventTrigger: this._eventTrigger\r\n })\r\n },\r\n _getTrackerSettings() {\r\n return extend({\r\n chart: this\r\n }, this._getSelectionModes())\r\n },\r\n _getSelectionModes() {\r\n var themeManager = this._themeManager;\r\n return {\r\n seriesSelectionMode: themeManager.getOptions(\"seriesSelectionMode\"),\r\n pointSelectionMode: themeManager.getOptions(\"pointSelectionMode\")\r\n }\r\n },\r\n _updateTracker(trackerCanvases) {\r\n this._tracker.update(this._getTrackerSettings());\r\n this._tracker.setCanvases({\r\n left: 0,\r\n right: this._canvas.width,\r\n top: 0,\r\n bottom: this._canvas.height\r\n }, trackerCanvases)\r\n },\r\n _createCanvasFromRect(rect) {\r\n var currentCanvas = this._canvas;\r\n return _setCanvasValues({\r\n left: rect[0],\r\n top: rect[1],\r\n right: currentCanvas.width - rect[2],\r\n bottom: currentCanvas.height - rect[3],\r\n width: currentCanvas.width,\r\n height: currentCanvas.height\r\n })\r\n },\r\n _doRender(_options) {\r\n if (0 === this._canvas.width && 0 === this._canvas.height) {\r\n return\r\n }\r\n this._resetIsReady();\r\n var drawOptions = this._prepareDrawOptions(_options);\r\n var {\r\n recreateCanvas: recreateCanvas\r\n } = drawOptions;\r\n this._preserveOriginalCanvas();\r\n if (recreateCanvas) {\r\n this.__currentCanvas = this._canvas\r\n } else {\r\n this._canvas = this.__currentCanvas\r\n }\r\n recreateCanvas && this._updateCanvasClipRect(this._canvas);\r\n this._canvas = this._createCanvasFromRect(this._rect);\r\n this._renderer.stopAllAnimations(true);\r\n this._cleanGroups();\r\n var startTime = new Date;\r\n this._renderElements(drawOptions);\r\n this._lastRenderingTime = Number(new Date) - Number(startTime)\r\n },\r\n _preserveOriginalCanvas() {\r\n this.__originalCanvas = this._canvas;\r\n this._canvas = extend({}, this._canvas)\r\n },\r\n _layoutAxes: noop,\r\n _renderElements(drawOptions) {\r\n var preparedOptions = this._prepareToRender(drawOptions);\r\n var isRotated = this._isRotated();\r\n var isLegendInside = this._isLegendInside();\r\n var trackerCanvases = [];\r\n extend({}, this._canvas);\r\n var argBusinessRange;\r\n var zoomMinArg;\r\n var zoomMaxArg;\r\n this._renderer.lock();\r\n if (drawOptions.drawLegend && this._legend) {\r\n this._legendGroup.linkAppend()\r\n }\r\n this.layoutManager.setOptions(this._layoutManagerOptions());\r\n var layoutTargets = this._getLayoutTargets();\r\n this._layoutAxes(needSpace => {\r\n var axisDrawOptions = needSpace ? extend({}, drawOptions, {\r\n animate: false,\r\n recreateCanvas: true\r\n }) : drawOptions;\r\n var canvas = this._renderAxes(axisDrawOptions, preparedOptions);\r\n this._shrinkAxes(needSpace, canvas)\r\n });\r\n this._applyClipRects(preparedOptions);\r\n this._appendSeriesGroups();\r\n this._createCrosshairCursor();\r\n layoutTargets.forEach(_ref => {\r\n var {\r\n canvas: canvas\r\n } = _ref;\r\n trackerCanvases.push({\r\n left: canvas.left,\r\n right: canvas.width - canvas.right,\r\n top: canvas.top,\r\n bottom: canvas.height - canvas.bottom\r\n })\r\n });\r\n if (this._scrollBar) {\r\n argBusinessRange = this._argumentAxes[0].getTranslator().getBusinessRange();\r\n if (\"discrete\" === argBusinessRange.axisType && argBusinessRange.categories && argBusinessRange.categories.length <= 1 || \"discrete\" !== argBusinessRange.axisType && argBusinessRange.min === argBusinessRange.max) {\r\n zoomMinArg = zoomMaxArg = void 0\r\n } else {\r\n zoomMinArg = argBusinessRange.minVisible;\r\n zoomMaxArg = argBusinessRange.maxVisible\r\n }\r\n this._scrollBar.init(argBusinessRange, !this._argumentAxes[0].getOptions().valueMarginsEnabled).setPosition(zoomMinArg, zoomMaxArg)\r\n }\r\n this._updateTracker(trackerCanvases);\r\n this._updateLegendPosition(drawOptions, isLegendInside);\r\n this._applyPointMarkersAutoHiding();\r\n this._renderSeries(drawOptions, isRotated, isLegendInside);\r\n this._renderGraphicObjects();\r\n this._renderer.unlock()\r\n },\r\n _updateLegendPosition: noop,\r\n _createCrosshairCursor: noop,\r\n _appendSeriesGroups() {\r\n this._seriesGroup.linkAppend();\r\n this._labelsGroup.linkAppend();\r\n this._appendAdditionalSeriesGroups()\r\n },\r\n _renderSeries(drawOptions, isRotated, isLegendInside) {\r\n this._calculateSeriesLayout(drawOptions, isRotated);\r\n this._renderSeriesElements(drawOptions, isLegendInside)\r\n },\r\n _calculateSeriesLayout(drawOptions, isRotated) {\r\n drawOptions.hideLayoutLabels = this.layoutManager.needMoreSpaceForPanesCanvas(this._getLayoutTargets(), isRotated) && !this._themeManager.getOptions(\"adaptiveLayout\").keepLabels;\r\n this._updateSeriesDimensions(drawOptions)\r\n },\r\n _getArgFilter: () => () => true,\r\n _getValFilter: () => () => true,\r\n _getPointsToAnimation(series) {\r\n var argViewPortFilter = this._getArgFilter();\r\n return series.map(s => {\r\n var valViewPortFilter = this._getValFilter(s);\r\n return s.getPoints().filter(p => p.getOptions().visible && argViewPortFilter(p.argument) && (valViewPortFilter(p.getMinValue(true)) || valViewPortFilter(p.getMaxValue(true)))).length\r\n })\r\n },\r\n _renderSeriesElements(drawOptions, isLegendInside) {\r\n var {\r\n series: series\r\n } = this;\r\n var resolveLabelOverlapping = this._themeManager.getOptions(\"resolveLabelOverlapping\");\r\n var pointsToAnimation = this._getPointsToAnimation(series);\r\n series.forEach((singleSeries, index) => {\r\n this._applyExtraSettings(singleSeries, drawOptions);\r\n var animationEnabled = drawOptions.animate && pointsToAnimation[index] <= drawOptions.animationPointsLimit && this._renderer.animationEnabled();\r\n singleSeries.draw(animationEnabled, drawOptions.hideLayoutLabels, this._getLegendCallBack(singleSeries))\r\n });\r\n if (\"none\" === resolveLabelOverlapping) {\r\n this._adjustSeriesLabels(false)\r\n } else {\r\n this._locateLabels(resolveLabelOverlapping)\r\n }\r\n this._renderTrackers(isLegendInside);\r\n this._tracker.repairTooltip();\r\n this._renderExtraElements();\r\n this._clearCanvas();\r\n this._seriesElementsDrawn = true\r\n },\r\n _changesApplied() {\r\n if (this._seriesElementsDrawn) {\r\n this._seriesElementsDrawn = false;\r\n this._drawn();\r\n this._renderCompleteHandler()\r\n }\r\n },\r\n _locateLabels(resolveLabelOverlapping) {\r\n this._resolveLabelOverlapping(resolveLabelOverlapping)\r\n },\r\n _renderExtraElements() {},\r\n _clearCanvas() {\r\n this._canvas = this.__originalCanvas\r\n },\r\n _resolveLabelOverlapping(resolveLabelOverlapping) {\r\n var func;\r\n switch (resolveLabelOverlapping) {\r\n case \"stack\":\r\n func = this._resolveLabelOverlappingStack;\r\n break;\r\n case \"hide\":\r\n func = this._resolveLabelOverlappingHide;\r\n break;\r\n case \"shift\":\r\n func = this._resolveLabelOverlappingShift\r\n }\r\n return isFunction(func) && func.call(this)\r\n },\r\n _getVisibleSeries() {\r\n return grep(this.getAllSeries(), series => series.isVisible())\r\n },\r\n _resolveLabelOverlappingHide() {\r\n var labels = [];\r\n var currentLabel;\r\n var nextLabel;\r\n var currentLabelRect;\r\n var nextLabelRect;\r\n var i;\r\n var j;\r\n var points;\r\n var series = this._getVisibleSeries();\r\n for (i = 0; i < series.length; i++) {\r\n points = series[i].getVisiblePoints();\r\n for (j = 0; j < points.length; j++) {\r\n labels.push.apply(labels, points[j].getLabels())\r\n }\r\n }\r\n for (i = 0; i < labels.length; i++) {\r\n currentLabel = labels[i];\r\n if (!currentLabel.isVisible()) {\r\n continue\r\n }\r\n currentLabelRect = currentLabel.getBoundingRect();\r\n for (j = i + 1; j < labels.length; j++) {\r\n nextLabel = labels[j];\r\n nextLabelRect = nextLabel.getBoundingRect();\r\n if (checkOverlapping(currentLabelRect, nextLabelRect)) {\r\n nextLabel.draw(false)\r\n }\r\n }\r\n }\r\n },\r\n _cleanGroups() {\r\n this._stripsGroup.linkRemove().clear();\r\n this._gridGroup.linkRemove().clear();\r\n this._axesGroup.linkRemove().clear();\r\n this._constantLinesGroup.clear();\r\n this._stripLabelAxesGroup.linkRemove().clear();\r\n this._labelsGroup.linkRemove().clear();\r\n this._crosshairCursorGroup.linkRemove().clear();\r\n this._scaleBreaksGroup.linkRemove().clear()\r\n },\r\n _allowLegendInsidePosition: () => false,\r\n _createLegend() {\r\n var legendSettings = getLegendSettings(this._legendDataField);\r\n this._legend = new Legend({\r\n renderer: this._renderer,\r\n widget: this,\r\n group: this._legendGroup,\r\n backgroundClass: \"dxc-border\",\r\n itemGroupClass: \"dxc-item\",\r\n titleGroupClass: \"dxc-title\",\r\n textField: legendSettings.textField,\r\n getFormatObject: legendSettings.getFormatObject,\r\n allowInsidePosition: this._allowLegendInsidePosition()\r\n });\r\n this._updateLegend();\r\n this._layout.add(this._legend)\r\n },\r\n _updateLegend() {\r\n var themeManager = this._themeManager;\r\n var legendOptions = themeManager.getOptions(\"legend\");\r\n var legendData = this._getLegendData();\r\n legendOptions.containerBackgroundColor = themeManager.getOptions(\"containerBackgroundColor\");\r\n legendOptions._incidentOccurred = this._incidentOccurred;\r\n this._legend.update(legendData, legendOptions, themeManager.theme(\"legend\").title);\r\n this._change([\"LAYOUT\"])\r\n },\r\n _prepareDrawOptions(drawOptions) {\r\n var animationOptions = this._getAnimationOptions();\r\n var options = extend({}, {\r\n force: false,\r\n adjustAxes: true,\r\n drawLegend: true,\r\n drawTitle: true,\r\n animate: animationOptions.enabled,\r\n animationPointsLimit: animationOptions.maxPointCountSupported\r\n }, drawOptions, this.__renderOptions);\r\n if (!_isDefined(options.recreateCanvas)) {\r\n options.recreateCanvas = options.adjustAxes && options.drawLegend && options.drawTitle\r\n }\r\n return options\r\n },\r\n _processRefreshData(newRefreshAction) {\r\n var currentRefreshActionPosition = ACTIONS_BY_PRIORITY.indexOf(this._currentRefreshData);\r\n var newRefreshActionPosition = ACTIONS_BY_PRIORITY.indexOf(newRefreshAction);\r\n if (!this._currentRefreshData || currentRefreshActionPosition >= 0 && newRefreshActionPosition < currentRefreshActionPosition) {\r\n this._currentRefreshData = newRefreshAction\r\n }\r\n this._requestChange([\"REFRESH\"])\r\n },\r\n _getLegendData() {\r\n return _map(this._getLegendTargets(), item => {\r\n var {\r\n legendData: legendData\r\n } = item;\r\n var style = item.getLegendStyles;\r\n var {\r\n opacity: opacity\r\n } = style.normal;\r\n if (!item.visible) {\r\n if (!_isDefined(opacity) || opacity > DEFAULT_OPACITY) {\r\n opacity = DEFAULT_OPACITY\r\n }\r\n legendData.textOpacity = DEFAULT_OPACITY\r\n }\r\n var opacityStyle = {\r\n opacity: opacity\r\n };\r\n legendData.states = {\r\n hover: extend({}, style.hover, opacityStyle),\r\n selection: extend({}, style.selection, opacityStyle),\r\n normal: extend({}, style.normal, opacityStyle)\r\n };\r\n return legendData\r\n })\r\n },\r\n _getLegendOptions(item) {\r\n return {\r\n legendData: {\r\n text: item[this._legendItemTextField],\r\n id: item.index,\r\n visible: true\r\n },\r\n getLegendStyles: item.getLegendStyles(),\r\n visible: item.isVisible()\r\n }\r\n },\r\n _disposeSeries(seriesIndex) {\r\n var _a;\r\n if (this.series) {\r\n if (_isDefined(seriesIndex)) {\r\n this.series[seriesIndex].dispose();\r\n this.series.splice(seriesIndex, 1)\r\n } else {\r\n this.series.forEach(s => s.dispose());\r\n this.series.length = 0\r\n }\r\n }\r\n if (!(null === (_a = this.series) || void 0 === _a ? void 0 : _a.length)) {\r\n this.series = []\r\n }\r\n },\r\n _disposeSeriesFamilies() {\r\n (this.seriesFamilies || []).forEach(family => {\r\n family.dispose()\r\n });\r\n this.seriesFamilies = null;\r\n this._needHandleRenderComplete = true\r\n },\r\n _optionChanged(arg) {\r\n this._themeManager.resetOptions(arg.name);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _applyChanges() {\r\n this._themeManager.update(this._options.silent());\r\n this.callBase(...arguments)\r\n },\r\n _optionChangesMap: {\r\n animation: \"ANIMATION\",\r\n dataSource: \"DATA_SOURCE\",\r\n palette: \"PALETTE\",\r\n paletteExtensionMode: \"PALETTE\",\r\n legend: \"FORCE_DATA_INIT\",\r\n seriesTemplate: \"FORCE_DATA_INIT\",\r\n export: \"FORCE_RENDER\",\r\n valueAxis: \"AXES_AND_PANES\",\r\n argumentAxis: \"AXES_AND_PANES\",\r\n commonAxisSettings: \"AXES_AND_PANES\",\r\n panes: \"AXES_AND_PANES\",\r\n commonPaneSettings: \"AXES_AND_PANES\",\r\n defaultPane: \"AXES_AND_PANES\",\r\n containerBackgroundColor: \"AXES_AND_PANES\",\r\n rotated: \"ROTATED\",\r\n autoHidePointMarkers: \"REFRESH_SERIES_REINIT\",\r\n customizePoint: \"REFRESH_SERIES_REINIT\",\r\n customizeLabel: \"REFRESH_SERIES_REINIT\",\r\n scrollBar: \"SCROLL_BAR\"\r\n },\r\n _optionChangesOrder: [\"ROTATED\", \"PALETTE\", \"REFRESH_SERIES_REINIT\", \"USE_SPIDER_WEB\", \"AXES_AND_PANES\", \"INIT\", \"REINIT\", \"DATA_SOURCE\", \"REFRESH_SERIES_DATA_INIT\", \"DATA_INIT\", \"FORCE_DATA_INIT\", \"REFRESH_AXES\", \"CORRECT_AXIS\"],\r\n _customChangesOrder: [\"ANIMATION\", \"REFRESH_SERIES_FAMILIES\", \"FORCE_FIRST_DRAWING\", \"FORCE_DRAWING\", \"FORCE_RENDER\", \"VISUAL_RANGE\", \"SCROLL_BAR\", \"REINIT\", \"REFRESH\", \"FULL_RENDER\"],\r\n _change_ANIMATION() {\r\n this._renderer.updateAnimationOptions(this._getAnimationOptions())\r\n },\r\n _change_DATA_SOURCE() {\r\n this._needHandleRenderComplete = true;\r\n this._updateDataSource()\r\n },\r\n _change_PALETTE() {\r\n this._themeManager.updatePalette();\r\n this._refreshSeries(\"DATA_INIT\")\r\n },\r\n _change_REFRESH_SERIES_DATA_INIT() {\r\n this._refreshSeries(\"DATA_INIT\")\r\n },\r\n _change_DATA_INIT() {\r\n if ((!this.series || this.needToPopulateSeries) && !this._changes.has(\"FORCE_DATA_INIT\")) {\r\n this._dataInit()\r\n }\r\n },\r\n _change_FORCE_DATA_INIT() {\r\n this._dataInit()\r\n },\r\n _change_REFRESH_SERIES_FAMILIES() {\r\n this._processSeriesFamilies();\r\n this._populateBusinessRange();\r\n this._processRefreshData(FORCE_RENDER_REFRESH_ACTION)\r\n },\r\n _change_FORCE_RENDER() {\r\n this._processRefreshData(FORCE_RENDER_REFRESH_ACTION)\r\n },\r\n _change_AXES_AND_PANES() {\r\n this._refreshSeries(\"INIT\")\r\n },\r\n _change_ROTATED() {\r\n this._createScrollBar();\r\n this._refreshSeries(\"INIT\")\r\n },\r\n _change_REFRESH_SERIES_REINIT() {\r\n this._refreshSeries(\"INIT\")\r\n },\r\n _change_REFRESH_AXES() {\r\n _setCanvasValues(this._canvas);\r\n this._reinitAxes();\r\n this._requestChange([\"CORRECT_AXIS\", \"FULL_RENDER\"])\r\n },\r\n _change_SCROLL_BAR() {\r\n this._createScrollBar();\r\n this._processRefreshData(FORCE_RENDER_REFRESH_ACTION)\r\n },\r\n _change_REINIT() {\r\n this._processRefreshData(REINIT_REFRESH_ACTION)\r\n },\r\n _change_FORCE_DRAWING() {\r\n this._resetComponentsAnimation()\r\n },\r\n _change_FORCE_FIRST_DRAWING() {\r\n this._resetComponentsAnimation(true)\r\n },\r\n _resetComponentsAnimation(isFirstDrawing) {\r\n this.series.forEach(s => {\r\n s.resetApplyingAnimation(isFirstDrawing)\r\n });\r\n this._resetAxesAnimation(isFirstDrawing)\r\n },\r\n _resetAxesAnimation: noop,\r\n _refreshSeries(actionName) {\r\n this.needToPopulateSeries = true;\r\n this._requestChange([actionName])\r\n },\r\n _change_CORRECT_AXIS() {\r\n this._correctAxes()\r\n },\r\n _doRefresh() {\r\n var methodName = this._currentRefreshData;\r\n if (methodName) {\r\n this._currentRefreshData = null;\r\n this._renderer.stopAllAnimations(true);\r\n this[methodName]()\r\n }\r\n },\r\n _updateCanvasClipRect(canvas) {\r\n var width = Math.max(canvas.width - canvas.left - canvas.right, 0);\r\n var height = Math.max(canvas.height - canvas.top - canvas.bottom, 0);\r\n this._canvasClipRect.attr({\r\n x: canvas.left,\r\n y: canvas.top,\r\n width: width,\r\n height: height\r\n });\r\n this._backgroundRect.attr({\r\n x: canvas.left,\r\n y: canvas.top,\r\n width: width,\r\n height: height\r\n })\r\n },\r\n _getCanvasClipRectID() {\r\n return this._canvasClipRect.id\r\n },\r\n _dataSourceChangedHandler() {\r\n if (this._changes.has(\"INIT\")) {\r\n this._requestChange([\"DATA_INIT\"])\r\n } else {\r\n this._requestChange([\"FORCE_DATA_INIT\"])\r\n }\r\n },\r\n _dataInit() {\r\n this._dataSpecificInit(true)\r\n },\r\n _processSingleSeries(singleSeries) {\r\n singleSeries.createPoints(false)\r\n },\r\n _handleSeriesDataUpdated() {\r\n if (this._getVisibleSeries().some(s => s.useAggregation())) {\r\n this._populateMarginOptions()\r\n }\r\n this.series.forEach(s => this._processSingleSeries(s), this)\r\n },\r\n _dataSpecificInit(needRedraw) {\r\n if (!this.series || this.needToPopulateSeries) {\r\n this.series = this._populateSeries()\r\n }\r\n this._repopulateSeries();\r\n this._seriesPopulatedHandlerCore();\r\n this._populateBusinessRange();\r\n this._tracker.updateSeries(this.series, this._changes.has(\"INIT\"));\r\n this._updateLegend();\r\n if (needRedraw) {\r\n this._requestChange([\"FULL_RENDER\"])\r\n }\r\n },\r\n _forceRender() {\r\n this._doRender({\r\n force: true\r\n })\r\n },\r\n _repopulateSeries() {\r\n var themeManager = this._themeManager;\r\n var data = this._dataSourceItems();\r\n var dataValidatorOptions = themeManager.getOptions(\"dataPrepareSettings\");\r\n var seriesTemplate = themeManager.getOptions(\"seriesTemplate\");\r\n if (seriesTemplate) {\r\n this._populateSeries(data)\r\n }\r\n this._groupSeries();\r\n var parsedData = validateData(data, this._groupsData, this._incidentOccurred, dataValidatorOptions);\r\n themeManager.resetPalette();\r\n this.series.forEach(singleSeries => {\r\n singleSeries.updateData(parsedData[singleSeries.getArgumentField()])\r\n });\r\n this._handleSeriesDataUpdated()\r\n },\r\n _renderCompleteHandler() {\r\n var allSeriesInited = true;\r\n if (this._needHandleRenderComplete) {\r\n this.series.forEach(s => {\r\n allSeriesInited = allSeriesInited && s.canRenderCompleteHandle()\r\n });\r\n if (allSeriesInited) {\r\n this._needHandleRenderComplete = false;\r\n this._eventTrigger(\"done\", {\r\n target: this\r\n })\r\n }\r\n }\r\n },\r\n _dataIsReady() {\r\n return _isDefined(this.option(\"dataSource\")) && this._dataIsLoaded()\r\n },\r\n _populateSeriesOptions(data) {\r\n var themeManager = this._themeManager;\r\n var seriesTemplate = themeManager.getOptions(\"seriesTemplate\");\r\n var seriesOptions = seriesTemplate ? processSeriesTemplate(seriesTemplate, data || []) : this.option(\"series\");\r\n var allSeriesOptions = isArray(seriesOptions) ? seriesOptions : seriesOptions ? [seriesOptions] : [];\r\n var extraOptions = this._getExtraOptions();\r\n var particularSeriesOptions;\r\n var seriesTheme;\r\n var seriesThemes = [];\r\n var seriesVisibilityChanged = target => {\r\n this._specialProcessSeries();\r\n this._populateBusinessRange(target && target.getValueAxis(), true);\r\n this._renderer.stopAllAnimations(true);\r\n this._updateLegend();\r\n this._requestChange([\"FULL_RENDER\"])\r\n };\r\n for (var i = 0; i < allSeriesOptions.length; i++) {\r\n particularSeriesOptions = extend(true, {}, allSeriesOptions[i], extraOptions);\r\n if (!_isDefined(particularSeriesOptions.name) || \"\" === particularSeriesOptions.name) {\r\n particularSeriesOptions.name = \"Series \".concat((i + 1).toString())\r\n }\r\n particularSeriesOptions.rotated = this._isRotated();\r\n particularSeriesOptions.customizePoint = themeManager.getOptions(\"customizePoint\");\r\n particularSeriesOptions.customizeLabel = themeManager.getOptions(\"customizeLabel\");\r\n particularSeriesOptions.visibilityChanged = seriesVisibilityChanged;\r\n particularSeriesOptions.incidentOccurred = this._incidentOccurred;\r\n seriesTheme = themeManager.getOptions(\"series\", particularSeriesOptions, allSeriesOptions.length);\r\n if (this._checkPaneName(seriesTheme)) {\r\n seriesThemes.push(seriesTheme)\r\n }\r\n }\r\n return seriesThemes\r\n },\r\n _populateSeries(data) {\r\n var _a;\r\n var seriesBasis = [];\r\n var incidentOccurred = this._incidentOccurred;\r\n var seriesThemes = this._populateSeriesOptions(data);\r\n var particularSeries;\r\n var disposeSeriesFamilies = false;\r\n this.needToPopulateSeries = false;\r\n seriesThemes.forEach(theme => {\r\n var _a;\r\n var curSeries = null === (_a = this.series) || void 0 === _a ? void 0 : _a.find(s => s.name === theme.name && !seriesBasis.map(sb => sb.series).includes(s));\r\n if (curSeries && curSeries.type === theme.type) {\r\n seriesBasis.push({\r\n series: curSeries,\r\n options: theme\r\n })\r\n } else {\r\n seriesBasis.push({\r\n options: theme\r\n });\r\n disposeSeriesFamilies = true\r\n }\r\n });\r\n 0 !== (null === (_a = this.series) || void 0 === _a ? void 0 : _a.length) && this._tracker.clearHover();\r\n _reverseEach(this.series, (index, series) => {\r\n if (!seriesBasis.some(s => series === s.series)) {\r\n this._disposeSeries(index);\r\n disposeSeriesFamilies = true\r\n }\r\n });\r\n !disposeSeriesFamilies && (disposeSeriesFamilies = seriesBasis.some(sb => sb.series.name !== seriesThemes[sb.series.index].name));\r\n this.series = [];\r\n disposeSeriesFamilies && this._disposeSeriesFamilies();\r\n this._themeManager.resetPalette();\r\n var eventPipe = data => {\r\n this.series.forEach(currentSeries => {\r\n currentSeries.notify(data)\r\n })\r\n };\r\n seriesBasis.forEach(basis => {\r\n var _a, _b;\r\n var seriesTheme = basis.options;\r\n var argumentAxis = null !== (_b = null === (_a = this._argumentAxes) || void 0 === _a ? void 0 : _a.filter(a => a.pane === seriesTheme.pane)[0]) && void 0 !== _b ? _b : this.getArgumentAxis();\r\n var renderSettings = {\r\n commonSeriesModes: this._getSelectionModes(),\r\n argumentAxis: argumentAxis,\r\n valueAxis: this._getValueAxis(seriesTheme.pane, seriesTheme.axis)\r\n };\r\n if (basis.series) {\r\n particularSeries = basis.series;\r\n particularSeries.updateOptions(seriesTheme, renderSettings)\r\n } else {\r\n particularSeries = new Series(extend({\r\n renderer: this._renderer,\r\n seriesGroup: this._seriesGroup,\r\n labelsGroup: this._labelsGroup,\r\n eventTrigger: this._eventTrigger,\r\n eventPipe: eventPipe,\r\n incidentOccurred: incidentOccurred\r\n }, renderSettings), seriesTheme)\r\n }\r\n if (!particularSeries.isUpdated) {\r\n incidentOccurred(\"E2101\", [seriesTheme.type])\r\n } else {\r\n particularSeries.index = this.series.length;\r\n this.series.push(particularSeries)\r\n }\r\n });\r\n return this.series\r\n },\r\n getStackedPoints(point) {\r\n var stackName = point.series.getStackName();\r\n return this._getVisibleSeries().reduce((stackPoints, series) => {\r\n if (!_isDefined(series.getStackName()) || !_isDefined(stackName) || stackName === series.getStackName()) {\r\n stackPoints = stackPoints.concat(series.getPointsByArg(point.argument))\r\n }\r\n return stackPoints\r\n }, [])\r\n },\r\n getAllSeries: function() {\r\n return (this.series || []).slice()\r\n },\r\n getSeriesByName: function(name) {\r\n var found = (this.series || []).find(singleSeries => singleSeries.name === name);\r\n return found || null\r\n },\r\n getSeriesByPos: function(pos) {\r\n return (this.series || [])[pos]\r\n },\r\n clearSelection: function() {\r\n this._tracker.clearSelection()\r\n },\r\n hideTooltip() {\r\n this._tracker._hideTooltip()\r\n },\r\n clearHover() {\r\n this._tracker.clearHover()\r\n },\r\n render(renderOptions) {\r\n this.__renderOptions = renderOptions;\r\n this.__forceRender = renderOptions && renderOptions.force;\r\n this.callBase.apply(this, arguments);\r\n this.__renderOptions = this.__forceRender = null;\r\n return this\r\n },\r\n refresh() {\r\n this._disposeSeries();\r\n this._disposeSeriesFamilies();\r\n this._requestChange([\"CONTAINER_SIZE\", \"REFRESH_SERIES_REINIT\"])\r\n },\r\n _getMinSize() {\r\n var adaptiveLayout = this._layoutManagerOptions();\r\n return [adaptiveLayout.width, adaptiveLayout.height]\r\n },\r\n _change_REFRESH() {\r\n if (!this._changes.has(\"INIT\")) {\r\n this._doRefresh()\r\n } else {\r\n this._currentRefreshData = null\r\n }\r\n },\r\n _change_FULL_RENDER() {\r\n this._forceRender()\r\n },\r\n _change_INIT() {\r\n this._reinit()\r\n },\r\n _stopCurrentHandling() {\r\n if (this._disposed) {\r\n return\r\n }\r\n this._tracker.stopCurrentHandling()\r\n }\r\n});\r\nREFRESH_SERIES_DATA_INIT_ACTION_OPTIONS.forEach(name => {\r\n BaseChart.prototype._optionChangesMap[name] = \"REFRESH_SERIES_DATA_INIT\"\r\n});\r\nFORCE_RENDER_REFRESH_ACTION_OPTIONS.forEach(name => {\r\n BaseChart.prototype._optionChangesMap[name] = \"FORCE_RENDER\"\r\n});\r\nREFRESH_SERIES_FAMILIES_ACTION_OPTIONS.forEach(name => {\r\n BaseChart.prototype._optionChangesMap[name] = \"REFRESH_SERIES_FAMILIES\"\r\n});\r\nBaseChart.addPlugin(exportPlugin);\r\nBaseChart.addPlugin(titlePlugin);\r\nBaseChart.addPlugin(dataSourcePlugin);\r\nBaseChart.addPlugin(tooltipPlugin);\r\nBaseChart.addPlugin(loadingIndicatorPlugin);\r\nvar {\r\n _change_TITLE: _change_TITLE\r\n} = BaseChart.prototype;\r\nBaseChart.prototype._change_TITLE = function() {\r\n _change_TITLE.apply(this, arguments);\r\n this._change([\"FORCE_RENDER\"])\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/viz/chart_components/m_advanced_chart.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n noop as _noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n extend as _extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n reverseEach as _reverseEach\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n isDefined as _isDefined,\r\n type\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n Axis\r\n} from \"../../../viz/axes/base_axis\";\r\nimport {\r\n SeriesFamily\r\n} from \"../../../viz/core/series_family\";\r\nimport {\r\n convertVisualRangeObject,\r\n map as _map,\r\n mergeMarginOptions,\r\n rangesAreEqual,\r\n setCanvasValues,\r\n unique\r\n} from \"../../../viz/core/utils\";\r\nimport rangeDataCalculator from \"../../../viz/series/helpers/range_data_calculator\";\r\nimport {\r\n Range\r\n} from \"../../../viz/translators/range\";\r\nimport {\r\n areCanvasesDifferent,\r\n floorCanvasDimensions\r\n} from \"../../../viz/utils\";\r\nimport {\r\n BaseChart\r\n} from \"./m_base_chart\";\r\nvar {\r\n isArray: isArray\r\n} = Array;\r\nvar DEFAULT_AXIS_NAME = \"defaultAxisName\";\r\nvar FONT = \"font\";\r\nvar COMMON_AXIS_SETTINGS = \"commonAxisSettings\";\r\nvar DEFAULT_PANE_NAME = \"default\";\r\nvar VISUAL_RANGE = \"VISUAL_RANGE\";\r\n\r\nfunction prepareAxis(axisOptions) {\r\n if (isArray(axisOptions)) {\r\n return 0 === axisOptions.length ? [{}] : axisOptions\r\n }\r\n return [axisOptions]\r\n}\r\n\r\nfunction processBubbleMargin(marginOptions, bubbleSize) {\r\n if (marginOptions.processBubbleSize) {\r\n marginOptions.size = bubbleSize\r\n }\r\n return marginOptions\r\n}\r\n\r\nfunction estimateBubbleSize(size, panesCount, maxSize, rotated) {\r\n var width = rotated ? size.width / panesCount : size.width;\r\n var height = rotated ? size.height : size.height / panesCount;\r\n return Math.min(width, height) * maxSize\r\n}\r\n\r\nfunction setAxisVisualRangeByOption(arg, axis, isDirectOption, index) {\r\n var options;\r\n var visualRange;\r\n if (isDirectOption) {\r\n visualRange = arg.value;\r\n options = {\r\n skipEventRising: true\r\n };\r\n var wrappedVisualRange = wrapVisualRange(arg.fullName, visualRange);\r\n if (wrappedVisualRange) {\r\n options = {\r\n allowPartialUpdate: true\r\n };\r\n visualRange = wrappedVisualRange\r\n }\r\n } else {\r\n visualRange = (_isDefined(index) ? arg.value[index] : arg.value).visualRange\r\n }\r\n axis.visualRange(visualRange, options)\r\n}\r\n\r\nfunction getAxisTypes(groupsData, axis, isArgumentAxes) {\r\n if (isArgumentAxes) {\r\n return {\r\n argumentAxisType: groupsData.argumentAxisType,\r\n argumentType: groupsData.argumentType\r\n }\r\n }\r\n var {\r\n valueAxisType: valueAxisType,\r\n valueType: valueType\r\n } = groupsData.groups.find(g => g.valueAxis === axis);\r\n return {\r\n valueAxisType: valueAxisType,\r\n valueType: valueType\r\n }\r\n}\r\n\r\nfunction wrapVisualRange(fullName, value) {\r\n var pathElements = fullName.split(\".\");\r\n var destElem = pathElements.at(-1);\r\n if (\"endValue\" === destElem || \"startValue\" === destElem) {\r\n return {\r\n [destElem]: value\r\n }\r\n }\r\n return\r\n}\r\nexport var AdvancedChart = BaseChart.inherit({\r\n _fontFields: [\"\".concat(COMMON_AXIS_SETTINGS, \".label.\").concat(FONT), \"\".concat(COMMON_AXIS_SETTINGS, \".title.\").concat(FONT)],\r\n _partialOptionChangesMap: {\r\n visualRange: VISUAL_RANGE,\r\n _customVisualRange: VISUAL_RANGE,\r\n strips: \"REFRESH_AXES\",\r\n constantLines: \"REFRESH_AXES\"\r\n },\r\n _partialOptionChangesPath: {\r\n argumentAxis: [\"strips\", \"constantLines\", \"visualRange\", \"_customVisualRange\"],\r\n valueAxis: [\"strips\", \"constantLines\", \"visualRange\", \"_customVisualRange\"]\r\n },\r\n _initCore() {\r\n this._panesClipRects = {};\r\n this.callBase()\r\n },\r\n _disposeCore() {\r\n var disposeObjectsInArray = this._disposeObjectsInArray;\r\n var panesClipRects = this._panesClipRects;\r\n this.callBase();\r\n disposeObjectsInArray.call(panesClipRects, \"fixed\");\r\n disposeObjectsInArray.call(panesClipRects, \"base\");\r\n disposeObjectsInArray.call(panesClipRects, \"wide\");\r\n this._panesClipRects = null;\r\n this._labelsAxesGroup.linkOff();\r\n this._labelsAxesGroup.dispose();\r\n this._labelsAxesGroup = null\r\n },\r\n _dispose() {\r\n var disposeObjectsInArray = this._disposeObjectsInArray;\r\n this.callBase();\r\n this.panes = null;\r\n if (this._legend) {\r\n this._legend.dispose();\r\n this._legend = null\r\n }\r\n disposeObjectsInArray.call(this, \"panesBackground\");\r\n disposeObjectsInArray.call(this, \"seriesFamilies\");\r\n this._disposeAxes()\r\n },\r\n _createPanes() {\r\n this._cleanPanesClipRects(\"fixed\");\r\n this._cleanPanesClipRects(\"base\");\r\n this._cleanPanesClipRects(\"wide\")\r\n },\r\n _cleanPanesClipRects(clipArrayName) {\r\n var clipArray = this._panesClipRects[clipArrayName];\r\n (clipArray || []).forEach(clipRect => {\r\n null === clipRect || void 0 === clipRect ? void 0 : clipRect.dispose()\r\n });\r\n this._panesClipRects[clipArrayName] = []\r\n },\r\n _getElementsClipRectID(paneName) {\r\n var clipShape = this._panesClipRects.fixed[this._getPaneIndex(paneName)];\r\n return null === clipShape || void 0 === clipShape ? void 0 : clipShape.id\r\n },\r\n _getPaneIndex(paneName) {\r\n var name = paneName || DEFAULT_PANE_NAME;\r\n return this.panes.findIndex(pane => pane.name === name)\r\n },\r\n _updateSize(forceUpdateCanvas) {\r\n this.callBase();\r\n if (forceUpdateCanvas && areCanvasesDifferent(this.__currentCanvas, this._canvas)) {\r\n this.__currentCanvas = floorCanvasDimensions(this._canvas)\r\n }\r\n setCanvasValues(this._canvas)\r\n },\r\n _reinitAxes() {\r\n this.panes = this._createPanes();\r\n this._populateAxes();\r\n this._axesReinitialized = true\r\n },\r\n _populateAxes() {\r\n var {\r\n panes: panes\r\n } = this;\r\n var rotated = this._isRotated();\r\n var argumentAxesOptions = prepareAxis(this.option(\"argumentAxis\") || {})[0];\r\n var valueAxisOption = this.option(\"valueAxis\");\r\n var valueAxesOptions = prepareAxis(valueAxisOption || {});\r\n var argumentAxesPopulatedOptions;\r\n var valueAxesPopulatedOptions = [];\r\n var axisNames = [];\r\n var valueAxesCounter = 0;\r\n var paneWithNonVirtualAxis;\r\n var crosshairMargins = this._getCrosshairMargins();\r\n\r\n function getNextAxisName() {\r\n var name = DEFAULT_AXIS_NAME + String(valueAxesCounter);\r\n valueAxesCounter += 1;\r\n return name\r\n }\r\n if (rotated) {\r\n paneWithNonVirtualAxis = \"right\" === argumentAxesOptions.position ? panes[panes.length - 1].name : panes[0].name\r\n } else {\r\n paneWithNonVirtualAxis = \"top\" === argumentAxesOptions.position ? panes[0].name : panes[panes.length - 1].name\r\n }\r\n argumentAxesPopulatedOptions = _map(panes, pane => {\r\n var virtual = pane.name !== paneWithNonVirtualAxis;\r\n return this._populateAxesOptions(\"argumentAxis\", argumentAxesOptions, {\r\n pane: pane.name,\r\n name: null,\r\n optionPath: \"argumentAxis\",\r\n crosshairMargin: rotated ? crosshairMargins.x : crosshairMargins.y\r\n }, rotated, virtual)\r\n });\r\n valueAxesOptions.forEach((axisOptions, priority) => {\r\n var _a;\r\n var axisPanes = [];\r\n var {\r\n name: name\r\n } = axisOptions;\r\n if (name && axisNames.includes(name)) {\r\n this._incidentOccurred(\"E2102\");\r\n return\r\n }\r\n if (name) {\r\n axisNames.push(name)\r\n }\r\n if (axisOptions.pane) {\r\n axisPanes.push(axisOptions.pane)\r\n }\r\n if (null === (_a = axisOptions.panes) || void 0 === _a ? void 0 : _a.length) {\r\n axisPanes = axisPanes.concat(axisOptions.panes.slice(0))\r\n }\r\n axisPanes = unique(axisPanes);\r\n if (!axisPanes.length) {\r\n axisPanes.push(void 0)\r\n }\r\n axisPanes.forEach(pane => {\r\n var optionPath = isArray(valueAxisOption) ? \"valueAxis[\".concat(String(priority), \"]\") : \"valueAxis\";\r\n valueAxesPopulatedOptions.push(this._populateAxesOptions(\"valueAxis\", axisOptions, {\r\n name: name || getNextAxisName(),\r\n pane: pane,\r\n priority: priority,\r\n optionPath: optionPath,\r\n crosshairMargin: rotated ? crosshairMargins.y : crosshairMargins.x\r\n }, rotated))\r\n })\r\n });\r\n this._redesignAxes(argumentAxesPopulatedOptions, true, paneWithNonVirtualAxis);\r\n this._redesignAxes(valueAxesPopulatedOptions, false)\r\n },\r\n _redesignAxes(options, isArgumentAxes, paneWithNonVirtualAxis) {\r\n var axesBasis = [];\r\n var axes = isArgumentAxes ? this._argumentAxes : this._valueAxes;\r\n options.forEach(opt => {\r\n var curAxes = null === axes || void 0 === axes ? void 0 : axes.filter(a => a.name === opt.name && (!_isDefined(opt.pane) && this.panes.some(p => p.name === a.pane) || a.pane === opt.pane));\r\n if (null === curAxes || void 0 === curAxes ? void 0 : curAxes.length) {\r\n curAxes.forEach(axis => {\r\n var axisTypes = getAxisTypes(this._groupsData, axis, isArgumentAxes);\r\n axis.updateOptions(opt);\r\n if (isArgumentAxes) {\r\n axis.setTypes(axisTypes.argumentAxisType, axisTypes.argumentType, \"argumentType\")\r\n } else {\r\n axis.setTypes(axisTypes.valueAxisType, axisTypes.valueType, \"valueType\")\r\n }\r\n axis.validate();\r\n axesBasis.push({\r\n axis: axis\r\n })\r\n })\r\n } else {\r\n axesBasis.push({\r\n options: opt\r\n })\r\n }\r\n });\r\n if (axes) {\r\n _reverseEach(axes, (index, axis) => {\r\n if (!axesBasis.some(basis => basis.axis && basis.axis === axis)) {\r\n this._disposeAxis(index, isArgumentAxes)\r\n }\r\n })\r\n } else if (isArgumentAxes) {\r\n axes = this._argumentAxes = []\r\n } else {\r\n axes = this._valueAxes = []\r\n }\r\n axesBasis.forEach(basis => {\r\n var {\r\n axis: axis\r\n } = basis;\r\n if (basis.axis && isArgumentAxes) {\r\n basis.axis.isVirtual = basis.axis.pane !== paneWithNonVirtualAxis\r\n } else if (basis.options) {\r\n axis = this._createAxis(isArgumentAxes, basis.options, isArgumentAxes ? basis.options.pane !== paneWithNonVirtualAxis : void 0);\r\n axes.push(axis)\r\n }\r\n axis.applyVisualRangeSetter(this._getVisualRangeSetter())\r\n })\r\n },\r\n _disposeAxis(index, isArgumentAxis) {\r\n var axes = isArgumentAxis ? this._argumentAxes : this._valueAxes;\r\n var axis = axes[index];\r\n if (!axis) {\r\n return\r\n }\r\n axis.dispose();\r\n axes.splice(index, 1)\r\n },\r\n _disposeAxes() {\r\n var disposeObjectsInArray = this._disposeObjectsInArray;\r\n disposeObjectsInArray.call(this, \"_argumentAxes\");\r\n disposeObjectsInArray.call(this, \"_valueAxes\")\r\n },\r\n _appendAdditionalSeriesGroups() {\r\n this._crosshairCursorGroup.linkAppend();\r\n if (this._scrollBar) {\r\n this._scrollBarGroup.linkAppend()\r\n }\r\n },\r\n _getLegendTargets() {\r\n return (this.series || []).map(s => {\r\n var item = this._getLegendOptions(s);\r\n item.legendData.series = s;\r\n if (!s.getOptions().showInLegend) {\r\n item.legendData.visible = false\r\n }\r\n return item\r\n })\r\n },\r\n _legendItemTextField: \"name\",\r\n _seriesPopulatedHandlerCore() {\r\n this._processSeriesFamilies();\r\n this._processValueAxisFormat()\r\n },\r\n _renderTrackers() {\r\n for (var i = 0; i < this.series.length; i += 1) {\r\n this.series[i].drawTrackers()\r\n }\r\n },\r\n _specialProcessSeries() {\r\n this._processSeriesFamilies()\r\n },\r\n _processSeriesFamilies() {\r\n var _a;\r\n var types = [];\r\n var families = [];\r\n var paneSeries;\r\n var themeManager = this._themeManager;\r\n var negativesAsZeroes = themeManager.getOptions(\"negativesAsZeroes\");\r\n var negativesAsZeros = themeManager.getOptions(\"negativesAsZeros\");\r\n var familyOptions = {\r\n minBubbleSize: themeManager.getOptions(\"minBubbleSize\"),\r\n maxBubbleSize: themeManager.getOptions(\"maxBubbleSize\"),\r\n barGroupPadding: themeManager.getOptions(\"barGroupPadding\"),\r\n barGroupWidth: themeManager.getOptions(\"barGroupWidth\"),\r\n negativesAsZeroes: _isDefined(negativesAsZeroes) ? negativesAsZeroes : negativesAsZeros\r\n };\r\n if (null === (_a = this.seriesFamilies) || void 0 === _a ? void 0 : _a.length) {\r\n this.seriesFamilies.forEach(family => {\r\n family.updateOptions(familyOptions);\r\n family.adjustSeriesValues()\r\n });\r\n return\r\n }\r\n this.series.forEach(item => {\r\n if (!types.includes(item.type)) {\r\n types.push(item.type)\r\n }\r\n });\r\n this._getLayoutTargets().forEach(pane => {\r\n paneSeries = this._getSeriesForPane(pane.name);\r\n types.forEach(type => {\r\n var family = new SeriesFamily({\r\n type: type,\r\n pane: pane.name,\r\n minBubbleSize: familyOptions.minBubbleSize,\r\n maxBubbleSize: familyOptions.maxBubbleSize,\r\n barGroupPadding: familyOptions.barGroupPadding,\r\n barGroupWidth: familyOptions.barGroupWidth,\r\n negativesAsZeroes: familyOptions.negativesAsZeroes,\r\n rotated: this._isRotated()\r\n });\r\n family.add(paneSeries);\r\n family.adjustSeriesValues();\r\n families.push(family)\r\n })\r\n });\r\n this.seriesFamilies = families\r\n },\r\n _updateSeriesDimensions() {\r\n var seriesFamilies = this.seriesFamilies || [];\r\n for (var i = 0; i < seriesFamilies.length; i += 1) {\r\n var family = seriesFamilies[i];\r\n family.updateSeriesValues();\r\n family.adjustSeriesDimensions()\r\n }\r\n },\r\n _getLegendCallBack(series) {\r\n var _a;\r\n return null === (_a = this._legend) || void 0 === _a ? void 0 : _a.getActionCallback(series)\r\n },\r\n _appendAxesGroups() {\r\n this._stripsGroup.linkAppend();\r\n this._gridGroup.linkAppend();\r\n this._axesGroup.linkAppend();\r\n this._labelsAxesGroup.linkAppend();\r\n this._constantLinesGroup.linkAppend();\r\n this._stripLabelAxesGroup.linkAppend();\r\n this._scaleBreaksGroup.linkAppend()\r\n },\r\n _populateMarginOptions() {\r\n var bubbleSize = estimateBubbleSize(this.getSize(), this.panes.length, this._themeManager.getOptions(\"maxBubbleSize\"), this._isRotated());\r\n var argumentMarginOptions = {};\r\n this._valueAxes.forEach(valueAxis => {\r\n var groupSeries = this.series.filter(series => series.getValueAxis() === valueAxis);\r\n var marginOptions = {};\r\n groupSeries.forEach(series => {\r\n if (series.isVisible()) {\r\n var seriesMarginOptions = processBubbleMargin(series.getMarginOptions(), bubbleSize);\r\n marginOptions = mergeMarginOptions(marginOptions, seriesMarginOptions);\r\n argumentMarginOptions = mergeMarginOptions(argumentMarginOptions, seriesMarginOptions)\r\n }\r\n });\r\n valueAxis.setMarginOptions(marginOptions)\r\n });\r\n this._argumentAxes.forEach(a => a.setMarginOptions(argumentMarginOptions))\r\n },\r\n _populateBusinessRange(updatedAxis, keepRange) {\r\n var rotated = this._isRotated();\r\n var series = this._getVisibleSeries();\r\n var argRanges = {};\r\n var commonArgRange = new Range({\r\n rotated: !!rotated\r\n });\r\n var getPaneName = axis => axis.pane || DEFAULT_PANE_NAME;\r\n this.panes.forEach(p => {\r\n argRanges[p.name] = new Range({\r\n rotated: !!rotated\r\n })\r\n });\r\n this._valueAxes.forEach(valueAxis => {\r\n var groupRange = new Range({\r\n rotated: !!rotated,\r\n pane: valueAxis.pane,\r\n axis: valueAxis.name\r\n });\r\n var groupSeries = series.filter(series => series.getValueAxis() === valueAxis);\r\n groupSeries.forEach(series => {\r\n var seriesRange = series.getRangeData();\r\n groupRange.addRange(seriesRange.val);\r\n argRanges[getPaneName(valueAxis)].addRange(seriesRange.arg)\r\n });\r\n if (!updatedAxis || updatedAxis && groupSeries.length && valueAxis === updatedAxis) {\r\n valueAxis.setGroupSeries(groupSeries);\r\n valueAxis.setBusinessRange(groupRange, this._axesReinitialized || keepRange, this._argumentAxes[0]._lastVisualRangeUpdateMode)\r\n }\r\n });\r\n if (!updatedAxis || updatedAxis && series.length) {\r\n Object.keys(argRanges).forEach(p => commonArgRange.addRange(argRanges[p]));\r\n var commonInterval = commonArgRange.interval;\r\n this._argumentAxes.forEach(a => {\r\n var _a;\r\n var currentInterval = null !== (_a = argRanges[getPaneName(a)].interval) && void 0 !== _a ? _a : commonInterval;\r\n a.setBusinessRange(new Range(_extends(_extends({}, commonArgRange), {\r\n interval: currentInterval\r\n })), this._axesReinitialized, void 0, this._groupsData.categories)\r\n })\r\n }\r\n this._populateMarginOptions()\r\n },\r\n getArgumentAxis() {\r\n return (this._argumentAxes || []).find(a => !a.isVirtual)\r\n },\r\n getValueAxis(name) {\r\n return (this._valueAxes || []).find(_isDefined(name) ? a => a.name === name : a => a.pane === this.defaultPane)\r\n },\r\n _getGroupsData() {\r\n var groups = [];\r\n this._valueAxes.forEach(axis => {\r\n groups.push({\r\n series: this.series.filter(series => series.getValueAxis() === axis),\r\n valueAxis: axis,\r\n valueOptions: axis.getOptions()\r\n })\r\n });\r\n return {\r\n groups: groups,\r\n argumentAxes: this._argumentAxes,\r\n argumentOptions: this._argumentAxes[0].getOptions()\r\n }\r\n },\r\n _groupSeries() {\r\n this._correctValueAxes(false);\r\n this._groupsData = this._getGroupsData()\r\n },\r\n _processValueAxisFormat() {\r\n var axesWithFullStackedFormat = [];\r\n this.series.forEach(series => {\r\n var axis = series.getValueAxis();\r\n if (series.isFullStackedSeries()) {\r\n axis.setPercentLabelFormat();\r\n axesWithFullStackedFormat.push(axis)\r\n }\r\n });\r\n this._valueAxes.forEach(axis => {\r\n if (!axesWithFullStackedFormat.includes(axis)) {\r\n axis.resetAutoLabelFormat()\r\n }\r\n })\r\n },\r\n _populateAxesOptions(typeSelector, userOptions, axisOptions, rotated, virtual) {\r\n var preparedUserOptions = this._prepareStripsAndConstantLines(typeSelector, userOptions, rotated);\r\n var options = _extend(true, {}, preparedUserOptions, axisOptions, this._prepareAxisOptions(typeSelector, preparedUserOptions, rotated));\r\n if (virtual) {\r\n options.visible = false;\r\n options.tick.visible = false;\r\n options.minorTick.visible = false;\r\n options.label.visible = false;\r\n options.title = {}\r\n }\r\n return options\r\n },\r\n _getValFilter: series => rangeDataCalculator.getViewPortFilter(series.getValueAxis().visualRange() || {}),\r\n _createAxis(isArgumentAxes, options, virtual) {\r\n var typeSelector = isArgumentAxes ? \"argumentAxis\" : \"valueAxis\";\r\n var renderingSettings = _extend({\r\n renderer: this._renderer,\r\n incidentOccurred: this._incidentOccurred,\r\n eventTrigger: this._eventTrigger,\r\n axisClass: isArgumentAxes ? \"arg\" : \"val\",\r\n widgetClass: \"dxc\",\r\n stripsGroup: this._stripsGroup,\r\n stripLabelAxesGroup: this._stripLabelAxesGroup,\r\n constantLinesGroup: this._constantLinesGroup,\r\n scaleBreaksGroup: this._scaleBreaksGroup,\r\n axesContainerGroup: this._axesGroup,\r\n labelsAxesGroup: this._labelsAxesGroup,\r\n gridGroup: this._gridGroup,\r\n isArgumentAxis: isArgumentAxes,\r\n getTemplate: template => this._getTemplate(template)\r\n }, this._getAxisRenderingOptions(typeSelector));\r\n var axis = new Axis(renderingSettings);\r\n axis.updateOptions(options);\r\n axis.isVirtual = virtual;\r\n return axis\r\n },\r\n _applyVisualRangeByVirtualAxes: () => false,\r\n _applyCustomVisualRangeOption(axis, range) {\r\n if (axis.getOptions().optionPath) {\r\n this._parseVisualRangeOption(\"\".concat(axis.getOptions().optionPath, \".visualRange\"), range)\r\n }\r\n },\r\n _getVisualRangeSetter() {\r\n return (axis, _ref) => {\r\n var {\r\n skipEventRising: skipEventRising,\r\n range: range\r\n } = _ref;\r\n this._applyCustomVisualRangeOption(axis, range);\r\n axis.setCustomVisualRange(range);\r\n axis.skipEventRising = skipEventRising;\r\n if (!this._applyVisualRangeByVirtualAxes(axis, range)) {\r\n if (this._applyingChanges) {\r\n this._change_VISUAL_RANGE()\r\n } else {\r\n this._requestChange([VISUAL_RANGE])\r\n }\r\n }\r\n }\r\n },\r\n _getTrackerSettings() {\r\n return _extend(this.callBase(), {\r\n argumentAxis: this.getArgumentAxis()\r\n })\r\n },\r\n _prepareStripsAndConstantLines(typeSelector, userOptions, rotated) {\r\n userOptions = this._themeManager.getOptions(typeSelector, userOptions, rotated);\r\n if (userOptions.strips) {\r\n userOptions.strips.forEach((line, i) => {\r\n userOptions.strips[i] = _extend(true, {}, userOptions.stripStyle, line)\r\n })\r\n }\r\n if (userOptions.constantLines) {\r\n userOptions.constantLines.forEach((line, i) => {\r\n userOptions.constantLines[i] = _extend(true, {}, userOptions.constantLineStyle, line)\r\n })\r\n }\r\n return userOptions\r\n },\r\n refresh() {\r\n this._disposeAxes();\r\n this.callBase()\r\n },\r\n _layoutAxes(drawAxes) {\r\n drawAxes();\r\n var needSpace = this.checkForMoreSpaceForPanesCanvas();\r\n if (needSpace) {\r\n var rect = this._rect.slice();\r\n var size = this._layout.backward(rect, rect, [needSpace.width, needSpace.height]);\r\n needSpace.width = Math.max(0, size[0]);\r\n needSpace.height = Math.max(0, size[1]);\r\n this._canvas = this._createCanvasFromRect(rect);\r\n drawAxes(needSpace)\r\n }\r\n },\r\n checkForMoreSpaceForPanesCanvas() {\r\n return this.layoutManager.needMoreSpaceForPanesCanvas(this._getLayoutTargets(), this._isRotated())\r\n },\r\n _parseVisualRangeOption(fullName, value) {\r\n var _a;\r\n var name = fullName.split(/[.[]/)[0];\r\n var index = fullName.match(/\\d+/g);\r\n index = _isDefined(index) ? parseInt(index[0], 10) : index;\r\n if (fullName.indexOf(\"visualRange\") > 0) {\r\n if (\"object\" !== type(value)) {\r\n value = null !== (_a = wrapVisualRange(fullName, value)) && void 0 !== _a ? _a : value\r\n }\r\n this._setCustomVisualRange(name, index, value)\r\n } else if ((\"object\" === type(value) || isArray(value)) && name.indexOf(\"Axis\") > 0 && JSON.stringify(value).indexOf(\"visualRange\") > 0) {\r\n if (_isDefined(value.visualRange)) {\r\n this._setCustomVisualRange(name, index, value.visualRange)\r\n } else if (isArray(value)) {\r\n value.forEach((a, i) => {\r\n if (_isDefined(a.visualRange)) {\r\n this._setCustomVisualRange(name, i, a.visualRange)\r\n }\r\n })\r\n }\r\n }\r\n },\r\n _setCustomVisualRange(axesName, index, value) {\r\n var options = this._options.silent(axesName);\r\n if (!options) {\r\n return\r\n }\r\n if (!_isDefined(index)) {\r\n options._customVisualRange = value\r\n } else {\r\n options[index]._customVisualRange = value\r\n }\r\n this._axesReinitialized = true\r\n },\r\n _raiseZoomEndHandlers() {\r\n this._valueAxes.forEach(axis => axis.handleZoomEnd())\r\n },\r\n _setOptionsByReference() {\r\n this.callBase();\r\n _extend(this._optionsByReference, {\r\n \"valueAxis.visualRange\": true\r\n })\r\n },\r\n _notifyOptionChanged(option, value) {\r\n this.callBase.apply(this, arguments);\r\n if (!this._optionChangedLocker) {\r\n this._parseVisualRangeOption(option, value)\r\n }\r\n },\r\n _notifyVisualRange() {\r\n this._valueAxes.forEach(axis => {\r\n var axisPath = axis.getOptions().optionPath;\r\n if (axisPath) {\r\n var path = \"\".concat(axisPath, \".visualRange\");\r\n var visualRange = convertVisualRangeObject(axis.visualRange(), !isArray(this.option(path)));\r\n if (!axis.skipEventRising || !rangesAreEqual(visualRange, this.option(path))) {\r\n if (!this.option(axisPath) && \"valueAxis\" !== axisPath) {\r\n this.option(axisPath, {\r\n name: axis.name,\r\n visualRange: visualRange\r\n })\r\n } else {\r\n this.option(path, visualRange)\r\n }\r\n } else {\r\n axis.skipEventRising = null\r\n }\r\n }\r\n })\r\n },\r\n _notify() {\r\n this.callBase();\r\n this._axesReinitialized = false;\r\n if (true !== this.option(\"disableTwoWayBinding\")) {\r\n this.skipOptionsRollBack = true;\r\n this._notifyVisualRange();\r\n this.skipOptionsRollBack = false\r\n }\r\n },\r\n _getAxesForScaling() {\r\n return this._valueAxes\r\n },\r\n _getAxesByOptionPath(arg, isDirectOption, optionName) {\r\n var sourceAxes = this._getAxesForScaling();\r\n var axes = [];\r\n if (isDirectOption) {\r\n var axisPath;\r\n if (arg.fullName) {\r\n axisPath = arg.fullName.slice(0, arg.fullName.indexOf(\".\"))\r\n }\r\n axes = sourceAxes.filter(a => a.getOptions().optionPath === axisPath)\r\n } else if (\"object\" === type(arg.value)) {\r\n axes = sourceAxes.filter(a => a.getOptions().optionPath === arg.name)\r\n } else if (isArray(arg.value)) {\r\n arg.value.forEach((v, index) => {\r\n var axis = sourceAxes.filter(a => a.getOptions().optionPath === \"\".concat(arg.name, \"[\").concat(index, \"]\"))[0];\r\n if (_isDefined(v[optionName]) && _isDefined(axis)) {\r\n axes[index] = axis\r\n }\r\n })\r\n }\r\n return axes\r\n },\r\n _optionChanged(arg) {\r\n if (!this._optionChangedLocker) {\r\n var axes;\r\n var isDirectOption = arg.fullName.indexOf(\"visualRange\") > 0 ? true : this.getPartialChangeOptionsName(arg).indexOf(\"visualRange\") > -1 ? false : void 0;\r\n if (_isDefined(isDirectOption)) {\r\n axes = this._getAxesByOptionPath(arg, isDirectOption, \"visualRange\");\r\n if (axes) {\r\n if (axes.length > 1 || isArray(arg.value)) {\r\n axes.forEach((a, index) => setAxisVisualRangeByOption(arg, a, isDirectOption, index))\r\n } else if (1 === axes.length) {\r\n setAxisVisualRangeByOption(arg, axes[0], isDirectOption)\r\n }\r\n }\r\n }\r\n }\r\n this.callBase(arg)\r\n },\r\n _change_VISUAL_RANGE() {\r\n this._recreateSizeDependentObjects(false);\r\n if (!this._changes.has(\"FULL_RENDER\")) {\r\n var resizePanesOnZoom = this.option(\"resizePanesOnZoom\");\r\n this._doRender({\r\n force: true,\r\n drawTitle: false,\r\n drawLegend: false,\r\n adjustAxes: null !== resizePanesOnZoom && void 0 !== resizePanesOnZoom ? resizePanesOnZoom : this.option(\"adjustAxesOnZoom\") || false,\r\n animate: false\r\n });\r\n this._raiseZoomEndHandlers()\r\n }\r\n },\r\n resetVisualRange() {\r\n this._valueAxes.forEach(axis => {\r\n axis.resetVisualRange(false);\r\n this._applyCustomVisualRangeOption(axis)\r\n });\r\n this._requestChange([VISUAL_RANGE])\r\n },\r\n _getCrosshairMargins: () => ({\r\n x: 0,\r\n y: 0\r\n }),\r\n _legendDataField: \"series\",\r\n _adjustSeriesLabels: _noop,\r\n _correctValueAxes: _noop\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/viz/m_chart.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each as _each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getPrecision\r\n} from \"../../core/utils/math\";\r\nimport {\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n isDefined as _isDefined,\r\n type\r\n} from \"../../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n Crosshair,\r\n getMargins\r\n} from \"../../viz/chart_components/crosshair\";\r\nimport {\r\n LayoutManager\r\n} from \"../../viz/chart_components/layout_manager\";\r\nimport multiAxesSynchronizer from \"../../viz/chart_components/multi_axes_synchronizer\";\r\nimport {\r\n ScrollBar\r\n} from \"../../viz/chart_components/scroll_bar\";\r\nimport shutterZoom from \"../../viz/chart_components/shutter_zoom\";\r\nimport zoomAndPan from \"../../viz/chart_components/zoom_and_pan\";\r\nimport {\r\n plugins\r\n} from \"../../viz/core/annotations\";\r\nimport {\r\n convertVisualRangeObject,\r\n extractColor,\r\n getCategoriesInfo,\r\n getLog,\r\n isRelativeHeightPane,\r\n map as _map,\r\n normalizePanesHeight,\r\n PANE_PADDING,\r\n rangesAreEqual,\r\n updatePanesCanvases\r\n} from \"../../viz/core/utils\";\r\nimport rangeDataCalculator from \"../../viz/series/helpers/range_data_calculator\";\r\nimport {\r\n Range\r\n} from \"../../viz/translators/range\";\r\nimport {\r\n prepareSegmentRectPoints\r\n} from \"../../viz/utils\";\r\nimport {\r\n AdvancedChart\r\n} from \"./chart_components/m_advanced_chart\";\r\nimport {\r\n overlapping\r\n} from \"./chart_components/m_base_chart\";\r\nvar DEFAULT_PANE_NAME = \"default\";\r\nvar VISUAL_RANGE = \"VISUAL_RANGE\";\r\nvar DEFAULT_PANES = [{\r\n name: DEFAULT_PANE_NAME,\r\n border: {}\r\n}];\r\nvar DISCRETE = \"discrete\";\r\nvar {\r\n isArray: isArray\r\n} = Array;\r\n\r\nfunction getFirstAxisNameForPane(axes, paneName, defaultPane) {\r\n var result;\r\n for (var i = 0; i < axes.length; i += 1) {\r\n if (axes[i].pane === paneName || void 0 === axes[i].pane && paneName === defaultPane) {\r\n result = axes[i].name;\r\n break\r\n }\r\n }\r\n if (!result) {\r\n result = axes[0].name\r\n }\r\n return result\r\n}\r\n\r\nfunction changeVisibilityAxisGrids(axis, gridVisibility, minorGridVisibility) {\r\n var gridOpt = axis.getOptions().grid;\r\n var minorGridOpt = axis.getOptions().minorGrid;\r\n gridOpt.visible = gridVisibility;\r\n minorGridOpt && (minorGridOpt.visible = minorGridVisibility)\r\n}\r\n\r\nfunction hideGridsOnNonFirstValueAxisForPane(axesForPane) {\r\n var axisShown = false;\r\n var hiddenStubAxis = [];\r\n var minorGridVisibility = axesForPane.some(axis => {\r\n var minorGridOptions = axis.getOptions().minorGrid;\r\n return null === minorGridOptions || void 0 === minorGridOptions ? void 0 : minorGridOptions.visible\r\n });\r\n var gridVisibility = axesForPane.some(axis => {\r\n var gridOptions = axis.getOptions().grid;\r\n return null === gridOptions || void 0 === gridOptions ? void 0 : gridOptions.visible\r\n });\r\n if (axesForPane.length > 1) {\r\n axesForPane.forEach(axis => {\r\n var gridOpt = axis.getOptions().grid;\r\n if (axisShown) {\r\n changeVisibilityAxisGrids(axis, false, false)\r\n } else if (null === gridOpt || void 0 === gridOpt ? void 0 : gridOpt.visible) {\r\n if (axis.getTranslator().getBusinessRange().isEmpty()) {\r\n changeVisibilityAxisGrids(axis, false, false);\r\n hiddenStubAxis.push(axis)\r\n } else {\r\n axisShown = true;\r\n changeVisibilityAxisGrids(axis, gridVisibility, minorGridVisibility)\r\n }\r\n }\r\n });\r\n if (!axisShown && hiddenStubAxis.length) {\r\n changeVisibilityAxisGrids(hiddenStubAxis[0], gridVisibility, minorGridVisibility)\r\n }\r\n }\r\n}\r\n\r\nfunction findAxisOptions(valueAxes, valueAxesOptions, axisName) {\r\n var result;\r\n var axInd;\r\n for (axInd = 0; axInd < valueAxesOptions.length; axInd += 1) {\r\n if (valueAxesOptions[axInd].name === axisName) {\r\n result = valueAxesOptions[axInd];\r\n result.priority = axInd;\r\n break\r\n }\r\n }\r\n if (!result) {\r\n for (axInd = 0; axInd < valueAxes.length; axInd += 1) {\r\n if (valueAxes[axInd].name === axisName) {\r\n result = valueAxes[axInd].getOptions();\r\n result.priority = valueAxes[axInd].priority;\r\n break\r\n }\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction findAxis(paneName, axisName, axes) {\r\n var axisByName = axes.find(axis => axis.name === axisName && axis.pane === paneName);\r\n if (axisByName) {\r\n return axisByName\r\n }\r\n if (paneName) {\r\n return findAxis(void 0, axisName, axes)\r\n }\r\n}\r\n\r\nfunction compareAxes(a, b) {\r\n return a.priority - b.priority\r\n}\r\n\r\nfunction doesPaneExist(panes, paneName) {\r\n var found = false;\r\n _each(panes, (_, pane) => {\r\n if (pane.name === paneName) {\r\n found = true;\r\n return false\r\n }\r\n return\r\n });\r\n return found\r\n}\r\n\r\nfunction accumulate(field, src1, src2, auxSpacing) {\r\n var val1 = src1[field] || 0;\r\n var val2 = src2[field] || 0;\r\n return val1 + val2 + (val1 && val2 ? auxSpacing : 0)\r\n}\r\n\r\nfunction pickMax(field, src1, src2) {\r\n return pickMaxValue(src1[field], src2[field])\r\n}\r\n\r\nfunction pickMaxValue(val1, val2) {\r\n return Math.max(val1 || 0, val2 || 0)\r\n}\r\n\r\nfunction getAxisMargins(axis) {\r\n return axis.getMargins()\r\n}\r\n\r\nfunction getHorizontalAxesMargins(axes, getMarginsFunc) {\r\n return axes.reduce((margins, axis) => {\r\n var _a;\r\n var axisMargins = getMarginsFunc(axis);\r\n var paneMargins = margins.panes[axis.pane] = margins.panes[axis.pane] || {};\r\n var spacing = axis.getMultipleAxesSpacing();\r\n paneMargins.top = accumulate(\"top\", paneMargins, axisMargins, spacing);\r\n paneMargins.bottom = accumulate(\"bottom\", paneMargins, axisMargins, spacing);\r\n paneMargins.left = pickMax(\"left\", paneMargins, axisMargins);\r\n paneMargins.right = pickMax(\"right\", paneMargins, axisMargins);\r\n margins.top = pickMax(\"top\", paneMargins, margins);\r\n margins.bottom = pickMax(\"bottom\", paneMargins, margins);\r\n margins.left = pickMax(\"left\", paneMargins, margins);\r\n margins.right = pickMax(\"right\", paneMargins, margins);\r\n var orthogonalAxis = null === (_a = axis.getOrthogonalAxis) || void 0 === _a ? void 0 : _a.call(axis);\r\n var shouldResetPositionMargin = (null === orthogonalAxis || void 0 === orthogonalAxis ? void 0 : orthogonalAxis.customPositionIsAvailable()) && (!axis.customPositionIsBoundaryOrthogonalAxis() || !orthogonalAxis.customPositionEqualsToPredefined());\r\n if (shouldResetPositionMargin) {\r\n margins[orthogonalAxis.getResolvedBoundaryPosition()] = 0\r\n }\r\n return margins\r\n }, {\r\n panes: {}\r\n })\r\n}\r\n\r\nfunction getVerticalAxesMargins(axes) {\r\n return axes.reduce((margins, axis) => {\r\n var axisMargins = axis.getMargins();\r\n var paneMargins = margins.panes[axis.pane] = margins.panes[axis.pane] || {};\r\n var spacing = axis.getMultipleAxesSpacing();\r\n paneMargins.top = pickMax(\"top\", paneMargins, axisMargins);\r\n paneMargins.bottom = pickMax(\"bottom\", paneMargins, axisMargins);\r\n paneMargins.left = accumulate(\"left\", paneMargins, axisMargins, spacing);\r\n paneMargins.right = accumulate(\"right\", paneMargins, axisMargins, spacing);\r\n margins.top = pickMax(\"top\", paneMargins, margins);\r\n margins.bottom = pickMax(\"bottom\", paneMargins, margins);\r\n margins.left = pickMax(\"left\", paneMargins, margins);\r\n margins.right = pickMax(\"right\", paneMargins, margins);\r\n return margins\r\n }, {\r\n panes: {}\r\n })\r\n}\r\n\r\nfunction performActionOnAxes(axes, action, actionArgument1, actionArgument2, actionArgument3) {\r\n axes.forEach(axis => {\r\n axis[action](null === actionArgument1 || void 0 === actionArgument1 ? void 0 : actionArgument1[axis.pane], (null === actionArgument2 || void 0 === actionArgument2 ? void 0 : actionArgument2[axis.pane]) || actionArgument2, actionArgument3)\r\n })\r\n}\r\n\r\nfunction shrinkCanvases(isRotated, canvases, sizes, verticalMargins, horizontalMargins) {\r\n function getMargin(side, margins, pane) {\r\n var m = !(isRotated ? [\"left\", \"right\"] : [\"top\", \"bottom\"]).includes(side) ? margins : margins.panes[pane] || {};\r\n return m[side]\r\n }\r\n\r\n function getMaxMargin(side, margins1, margins2, pane) {\r\n return pickMaxValue(getMargin(side, margins1, pane), getMargin(side, margins2, pane))\r\n }\r\n var getOriginalField = field => \"original\".concat(field[0].toUpperCase()).concat(field.slice(1));\r\n\r\n function shrink(canvases, paneNames, sizeField, startMargin, endMargin, oppositeMargins) {\r\n paneNames = paneNames.sort((p1, p2) => canvases[p2][startMargin] - canvases[p1][startMargin]);\r\n paneNames.forEach(pane => {\r\n var canvas = canvases[pane];\r\n oppositeMargins.forEach(margin => {\r\n canvas[margin] = canvas[getOriginalField(margin)] + getMaxMargin(margin, verticalMargins, horizontalMargins, pane)\r\n })\r\n });\r\n var firstPane = canvases[paneNames[0]];\r\n var initialEmptySpace = firstPane[sizeField] - firstPane[getOriginalField(endMargin)] - canvases[paneNames.at(-1)][getOriginalField(startMargin)];\r\n var emptySpace = paneNames.reduce((space, paneName) => {\r\n var maxStartMargin = getMaxMargin(startMargin, verticalMargins, horizontalMargins, paneName);\r\n var maxEndMargin = getMaxMargin(endMargin, verticalMargins, horizontalMargins, paneName);\r\n return space - maxStartMargin - maxEndMargin\r\n }, initialEmptySpace) - PANE_PADDING * (paneNames.length - 1);\r\n emptySpace -= Object.keys(sizes).reduce((prev, key) => {\r\n var currentHeight = !isRelativeHeightPane(sizes[key]) ? sizes[key].height : 0;\r\n return prev + currentHeight\r\n }, 0);\r\n var initialOffset = firstPane[sizeField] - firstPane[getOriginalField(endMargin)] - (emptySpace < 0 ? emptySpace : 0);\r\n paneNames.reduce((offset, pane) => {\r\n var canvas = canvases[pane];\r\n var paneSize = sizes[pane];\r\n offset -= getMaxMargin(endMargin, verticalMargins, horizontalMargins, pane);\r\n canvas[endMargin] = firstPane[sizeField] - offset;\r\n offset -= !isRelativeHeightPane(paneSize) ? paneSize.height : Math.floor(emptySpace * paneSize.height);\r\n canvas[startMargin] = offset;\r\n offset -= getMaxMargin(startMargin, verticalMargins, horizontalMargins, pane) + PANE_PADDING;\r\n return offset\r\n }, initialOffset)\r\n }\r\n var paneNames = Object.keys(canvases);\r\n if (!isRotated) {\r\n shrink(canvases, paneNames, \"height\", \"top\", \"bottom\", [\"left\", \"right\"])\r\n } else {\r\n shrink(canvases, paneNames, \"width\", \"left\", \"right\", [\"top\", \"bottom\"])\r\n }\r\n return canvases\r\n}\r\n\r\nfunction drawAxesWithTicks(axes, condition, canvases, panesBorderOptions) {\r\n if (condition) {\r\n performActionOnAxes(axes, \"createTicks\", canvases);\r\n multiAxesSynchronizer.synchronize(axes)\r\n }\r\n performActionOnAxes(axes, \"draw\", !condition && canvases, panesBorderOptions)\r\n}\r\n\r\nfunction shiftAxis(side1, side2) {\r\n var shifts = {};\r\n return function(axis) {\r\n if (!axis.customPositionIsAvailable() || axis.customPositionEqualsToPredefined()) {\r\n var shift = shifts[axis.pane] = shifts[axis.pane] || {\r\n top: 0,\r\n left: 0,\r\n bottom: 0,\r\n right: 0\r\n };\r\n var spacing = axis.getMultipleAxesSpacing();\r\n var margins = axis.getMargins();\r\n axis.shift(shift);\r\n shift[side1] = accumulate(side1, shift, margins, spacing);\r\n shift[side2] = accumulate(side2, shift, margins, spacing)\r\n } else {\r\n axis.shift({\r\n top: 0,\r\n left: 0,\r\n bottom: 0,\r\n right: 0\r\n })\r\n }\r\n }\r\n}\r\n\r\nfunction getCommonSize(side, margins) {\r\n var size = 0;\r\n var paneMargins;\r\n Object.keys(margins.panes).forEach(pane => {\r\n paneMargins = margins.panes[pane];\r\n size += \"height\" === side ? paneMargins.top + paneMargins.bottom : paneMargins.left + paneMargins.right\r\n });\r\n return size\r\n}\r\n\r\nfunction checkUsedSpace(sizeShortage, side, axes, getMarginFunc) {\r\n var size = 0;\r\n if (sizeShortage[side] > 0) {\r\n size = getCommonSize(side, getMarginFunc(axes, getAxisMargins));\r\n performActionOnAxes(axes, \"hideTitle\");\r\n sizeShortage[side] -= size - getCommonSize(side, getMarginFunc(axes, getAxisMargins))\r\n }\r\n if (sizeShortage[side] > 0) {\r\n performActionOnAxes(axes, \"hideOuterElements\")\r\n }\r\n}\r\n\r\nfunction axisAnimationEnabled(drawOptions, pointsToAnimation) {\r\n var pointsCount = pointsToAnimation.reduce((sum, count) => sum + count, 0) / pointsToAnimation.length;\r\n return drawOptions.animate && pointsCount <= drawOptions.animationPointsLimit\r\n}\r\n\r\nfunction collectMarkersInfoBySeries(allSeries, filteredSeries, argAxis) {\r\n var series = [];\r\n var overloadedSeries = {};\r\n var argVisualRange = argAxis.visualRange();\r\n var argTranslator = argAxis.getTranslator();\r\n var argViewPortFilter = rangeDataCalculator.getViewPortFilter(argVisualRange || {});\r\n filteredSeries.forEach(s => {\r\n var valAxis = s.getValueAxis();\r\n var valVisualRange = valAxis.getCanvasRange();\r\n var valTranslator = valAxis.getTranslator();\r\n var seriesIndex = allSeries.indexOf(s);\r\n var valViewPortFilter = rangeDataCalculator.getViewPortFilter(valVisualRange || {});\r\n overloadedSeries[seriesIndex] = {};\r\n filteredSeries.forEach(sr => {\r\n overloadedSeries[seriesIndex][allSeries.indexOf(sr)] = 0\r\n });\r\n var seriesPoints = [];\r\n var pointsInViewport = s.getPoints().filter(p => p.getOptions().visible && argViewPortFilter(p.argument) && (valViewPortFilter(p.getMinValue(true)) || valViewPortFilter(p.getMaxValue(true))));\r\n pointsInViewport.forEach(p => {\r\n var tp = {\r\n seriesIndex: seriesIndex,\r\n argument: p.argument,\r\n value: p.getMaxValue(true),\r\n size: p.bubbleSize || p.getOptions().size,\r\n x: void 0,\r\n y: void 0\r\n };\r\n if (p.getMinValue(true) !== p.getMaxValue(true)) {\r\n var mp = _extend({}, tp);\r\n mp.value = p.getMinValue(true);\r\n mp.x = argTranslator.to(mp.argument, 1);\r\n mp.y = valTranslator.to(mp.value, 1);\r\n seriesPoints.push(mp)\r\n }\r\n tp.x = argTranslator.to(tp.argument, 1);\r\n tp.y = valTranslator.to(tp.value, 1);\r\n seriesPoints.push(tp)\r\n });\r\n overloadedSeries[seriesIndex].pointsCount = seriesPoints.length;\r\n overloadedSeries[seriesIndex].total = 0;\r\n overloadedSeries[seriesIndex].continuousSeries = 0;\r\n series.push({\r\n name: s.name,\r\n index: seriesIndex,\r\n points: seriesPoints\r\n })\r\n });\r\n return {\r\n series: series,\r\n overloadedSeries: overloadedSeries\r\n }\r\n}\r\nvar isOverlay = (currentPoint, overlayPoint, pointRadius) => {\r\n var pointHitsLeftBorder = overlayPoint.x - pointRadius <= currentPoint.x;\r\n var pointHitsRightBorder = overlayPoint.x + pointRadius >= currentPoint.x;\r\n var pointHitsTopBorder = overlayPoint.y - pointRadius <= currentPoint.y;\r\n var pointHitsBottomBorder = overlayPoint.y + pointRadius >= currentPoint.y;\r\n var isPointOverlappedHorizontally = pointHitsLeftBorder && pointHitsRightBorder;\r\n var isPointOverlappedVertically = pointHitsTopBorder && pointHitsBottomBorder;\r\n return isPointOverlappedHorizontally && isPointOverlappedVertically\r\n};\r\nvar isPointOverlapped = (currentPoint, points, skipSamePointsComparing) => {\r\n var radiusPoint = currentPoint.getOptions().size / 2;\r\n for (var i = 0; i < points.length; i += 1) {\r\n if (!skipSamePointsComparing) {\r\n var isXCoordinateSame = points[i].x === currentPoint.x;\r\n var isYCoordinateSame = points[i].y === currentPoint.y;\r\n if (isXCoordinateSame && isYCoordinateSame) {\r\n continue\r\n }\r\n }\r\n if (isOverlay(currentPoint, points[i], radiusPoint)) {\r\n return true\r\n }\r\n }\r\n return false\r\n};\r\n\r\nfunction fastHidingPointMarkersByArea(canvas, markersInfo, series) {\r\n var area = canvas.width * canvas.height;\r\n var seriesPoints = markersInfo.series;\r\n var _loop = function(i) {\r\n var currentSeries = series.filter(s => s.name === seriesPoints[i].name)[0];\r\n var {\r\n points: points\r\n } = seriesPoints[i];\r\n var pointSize = points.length ? points[0].size : 0;\r\n var pointsArea = pointSize * pointSize * points.length;\r\n if (currentSeries.autoHidePointMarkersEnabled() && pointsArea >= area / seriesPoints.length) {\r\n var {\r\n index: index\r\n } = seriesPoints[i];\r\n currentSeries.autoHidePointMarkers = true;\r\n seriesPoints.splice(i, 1);\r\n series.splice(series.indexOf(currentSeries), 1);\r\n markersInfo.overloadedSeries[index] = null\r\n }\r\n };\r\n for (var i = seriesPoints.length - 1; i >= 0; i -= 1) {\r\n _loop(i)\r\n }\r\n}\r\n\r\nfunction updateMarkersInfo(points, overloadedSeries) {\r\n var isContinuousSeries = false;\r\n for (var i = 0; i < points.length - 1; i += 1) {\r\n var curPoint = points[i];\r\n var {\r\n size: size\r\n } = curPoint;\r\n if (_isDefined(curPoint.x) && _isDefined(curPoint.y)) {\r\n for (var j = i + 1; j < points.length; j += 1) {\r\n var nextPoint = points[j];\r\n var nextX = null === nextPoint || void 0 === nextPoint ? void 0 : nextPoint.x;\r\n var nextY = null === nextPoint || void 0 === nextPoint ? void 0 : nextPoint.y;\r\n if (!_isDefined(nextX) || Math.abs(curPoint.x - nextX) >= size) {\r\n isContinuousSeries = isContinuousSeries && j !== i + 1;\r\n break\r\n } else {\r\n var distance = _isDefined(nextX) && _isDefined(nextY) && Math.sqrt(Math.pow(curPoint.x - nextX, 2) + Math.pow(curPoint.y - nextY, 2));\r\n if (distance && distance < size) {\r\n overloadedSeries[curPoint.seriesIndex][nextPoint.seriesIndex] += 1;\r\n overloadedSeries[curPoint.seriesIndex].total += 1;\r\n if (!isContinuousSeries) {\r\n overloadedSeries[curPoint.seriesIndex].continuousSeries += 1;\r\n isContinuousSeries = true\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\nvar dxChart = AdvancedChart.inherit({\r\n _themeSection: \"chart\",\r\n _fontFields: [\"crosshair.label.font\"],\r\n _initCore() {\r\n this.paneAxis = {};\r\n this.callBase()\r\n },\r\n _init() {\r\n this._containerInitialHeight = hasWindow() ? getHeight(this._$element) : 0;\r\n this.callBase()\r\n },\r\n _correctAxes() {\r\n this._correctValueAxes(true)\r\n },\r\n _setDeprecatedOptions() {\r\n this.callBase();\r\n _extend(this._deprecatedOptions, {\r\n \"argumentAxis.aggregateByCategory\": {\r\n since: \"23.1\",\r\n message: \"Use the aggregation.enabled property\"\r\n }\r\n })\r\n },\r\n _getExtraOptions: noop,\r\n _createPanes() {\r\n var panes = this.option(\"panes\");\r\n var panesNameCounter = 0;\r\n var defaultPane;\r\n if (!panes || isArray(panes) && !panes.length) {\r\n panes = DEFAULT_PANES\r\n }\r\n this.callBase();\r\n defaultPane = this.option(\"defaultPane\");\r\n panes = _extend(true, [], isArray(panes) ? panes : [panes]);\r\n _each(panes, (_, pane) => {\r\n pane.name = !_isDefined(pane.name) ? DEFAULT_PANE_NAME + panesNameCounter++ : pane.name\r\n });\r\n if (_isDefined(defaultPane)) {\r\n if (!doesPaneExist(panes, defaultPane)) {\r\n this._incidentOccurred(\"W2101\", [defaultPane]);\r\n defaultPane = panes[panes.length - 1].name\r\n }\r\n } else {\r\n defaultPane = panes[panes.length - 1].name\r\n }\r\n this.defaultPane = defaultPane;\r\n panes = this._isRotated() ? panes.reverse() : panes;\r\n return panes\r\n },\r\n _getAxisRenderingOptions: () => ({\r\n axisType: \"xyAxes\",\r\n drawingType: \"linear\"\r\n }),\r\n _prepareAxisOptions(typeSelector, userOptions, rotated) {\r\n return {\r\n isHorizontal: \"argumentAxis\" === typeSelector !== rotated,\r\n containerColor: this._themeManager.getOptions(\"containerBackgroundColor\")\r\n }\r\n },\r\n _checkPaneName(seriesTheme) {\r\n var paneList = _map(this.panes, pane => pane.name);\r\n seriesTheme.pane = seriesTheme.pane || this.defaultPane;\r\n return paneList.includes(seriesTheme.pane)\r\n },\r\n _initCustomPositioningAxes() {\r\n var argumentAxis = this.getArgumentAxis();\r\n var valueAxisName = argumentAxis.getOptions().customPositionAxis;\r\n var valueAxis = this._valueAxes.find(v => v.pane === argumentAxis.pane && (!valueAxisName || valueAxisName === v.name));\r\n this._valueAxes.forEach(v => {\r\n if (argumentAxis !== v.getOrthogonalAxis()) {\r\n v.getOrthogonalAxis = () => argumentAxis;\r\n v.customPositionIsBoundaryOrthogonalAxis = () => argumentAxis.customPositionIsBoundary()\r\n }\r\n });\r\n if (_isDefined(valueAxis) && valueAxis !== argumentAxis.getOrthogonalAxis()) {\r\n argumentAxis.getOrthogonalAxis = () => valueAxis;\r\n argumentAxis.customPositionIsBoundaryOrthogonalAxis = () => this._valueAxes.some(v => v.customPositionIsBoundary())\r\n } else if (_isDefined(argumentAxis.getOrthogonalAxis()) && !_isDefined(valueAxis)) {\r\n argumentAxis.getOrthogonalAxis = noop\r\n }\r\n },\r\n _getAllAxes() {\r\n return this._argumentAxes.concat(this._valueAxes)\r\n },\r\n _resetAxesAnimation(isFirstDrawing, isHorizontal) {\r\n var axes;\r\n if (_isDefined(isHorizontal)) {\r\n axes = isHorizontal ^ this._isRotated() ? this._argumentAxes : this._valueAxes\r\n } else {\r\n axes = this._getAllAxes()\r\n }\r\n axes.forEach(a => {\r\n a.resetApplyingAnimation(isFirstDrawing)\r\n })\r\n },\r\n _axesBoundaryPositioning() {\r\n var allAxes = this._getAllAxes();\r\n var boundaryStateChanged = false;\r\n allAxes.forEach(a => {\r\n if (!a.customPositionIsAvailable()) {\r\n return\r\n }\r\n var prevBoundaryState = a.customPositionIsBoundary();\r\n a._customBoundaryPosition = a.getCustomBoundaryPosition();\r\n boundaryStateChanged = boundaryStateChanged || prevBoundaryState !== a.customPositionIsBoundary()\r\n });\r\n return boundaryStateChanged\r\n },\r\n _getCrosshairMargins() {\r\n var crosshairOptions = this._getCrosshairOptions() || {};\r\n var crosshairEnabled = crosshairOptions.enabled;\r\n var margins = getMargins();\r\n var horizontalLabel = _extend(true, {}, crosshairOptions.label, crosshairOptions.horizontalLine.label);\r\n var verticalLabel = _extend(true, {}, crosshairOptions.label, crosshairOptions.verticalLine.label);\r\n return {\r\n x: crosshairEnabled && crosshairOptions.horizontalLine.visible && horizontalLabel.visible ? margins.x : 0,\r\n y: crosshairEnabled && crosshairOptions.verticalLine.visible && verticalLabel.visible ? margins.y : 0\r\n }\r\n },\r\n _getValueAxis(paneName, axisName) {\r\n var valueAxes = this._valueAxes;\r\n var valueAxisOptions = this.option(\"valueAxis\") || {};\r\n var valueAxesOptions = isArray(valueAxisOptions) ? valueAxisOptions : [valueAxisOptions];\r\n var rotated = this._isRotated();\r\n var crosshairMargins = this._getCrosshairMargins();\r\n var axisOptions;\r\n var axis;\r\n axisName = axisName || getFirstAxisNameForPane(valueAxes, paneName, this.defaultPane);\r\n axis = findAxis(paneName, axisName, valueAxes);\r\n if (!axis) {\r\n axisOptions = findAxisOptions(valueAxes, valueAxesOptions, axisName);\r\n if (!axisOptions) {\r\n this._incidentOccurred(\"W2102\", [axisName]);\r\n axisOptions = {\r\n name: axisName,\r\n priority: valueAxes.length\r\n }\r\n }\r\n axis = this._createAxis(false, this._populateAxesOptions(\"valueAxis\", axisOptions, {\r\n pane: paneName,\r\n name: axisName,\r\n optionPath: isArray(valueAxisOptions) ? \"valueAxis[\".concat(axisOptions.priority, \"]\") : \"valueAxis\",\r\n crosshairMargin: rotated ? crosshairMargins.y : crosshairMargins.x\r\n }, rotated));\r\n axis.applyVisualRangeSetter(this._getVisualRangeSetter());\r\n valueAxes.push(axis)\r\n }\r\n axis.setPane(paneName);\r\n return axis\r\n },\r\n _correctValueAxes(needHideGrids) {\r\n var synchronizeMultiAxes = this._themeManager.getOptions(\"synchronizeMultiAxes\");\r\n var valueAxes = this._valueAxes;\r\n var paneWithAxis = {};\r\n this.series.forEach(series => {\r\n var axis = series.getValueAxis();\r\n paneWithAxis[axis.pane] = true\r\n });\r\n this.panes.forEach(pane => {\r\n var paneName = pane.name;\r\n if (!paneWithAxis[paneName]) {\r\n this._getValueAxis(paneName)\r\n }\r\n if (needHideGrids && synchronizeMultiAxes) {\r\n hideGridsOnNonFirstValueAxisForPane(valueAxes.filter(axis => axis.pane === paneName))\r\n }\r\n });\r\n this._valueAxes = valueAxes.filter(axis => {\r\n if (!axis.pane) {\r\n axis.setPane(this.defaultPane)\r\n }\r\n var paneExists = doesPaneExist(this.panes, axis.pane);\r\n if (!paneExists) {\r\n axis.dispose();\r\n axis = null\r\n }\r\n return paneExists\r\n }).sort(compareAxes);\r\n var defaultAxis = this.getValueAxis();\r\n this._valueAxes.forEach(axis => {\r\n var {\r\n optionPath: optionPath\r\n } = axis.getOptions();\r\n if (optionPath) {\r\n var axesWithSamePath = this._valueAxes.filter(a => a.getOptions().optionPath === optionPath);\r\n if (axesWithSamePath.length > 1) {\r\n if (axesWithSamePath.some(a => a === defaultAxis)) {\r\n axesWithSamePath.forEach(a => {\r\n if (a !== defaultAxis) {\r\n a.getOptions().optionPath = null\r\n }\r\n })\r\n } else {\r\n axesWithSamePath.forEach((a, i) => {\r\n if (0 !== i) {\r\n a.getOptions().optionPath = null\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n },\r\n _getSeriesForPane(paneName) {\r\n var paneSeries = [];\r\n _each(this.series, (_, oneSeries) => {\r\n if (oneSeries.pane === paneName) {\r\n paneSeries.push(oneSeries)\r\n }\r\n });\r\n return paneSeries\r\n },\r\n _createPanesBorderOptions() {\r\n var commonBorderOptions = this._themeManager.getOptions(\"commonPaneSettings\").border;\r\n var panesBorderOptions = {};\r\n this.panes.forEach(pane => {\r\n panesBorderOptions[pane.name] = _extend(true, {}, commonBorderOptions, pane.border)\r\n });\r\n return panesBorderOptions\r\n },\r\n _createScrollBar() {\r\n var _a;\r\n var scrollBarOptions = this._themeManager.getOptions(\"scrollBar\") || {};\r\n var scrollBarGroup = this._scrollBarGroup;\r\n if (scrollBarOptions.visible) {\r\n scrollBarOptions.rotated = this._isRotated();\r\n this._scrollBar = (this._scrollBar || new ScrollBar(this._renderer, scrollBarGroup)).update(scrollBarOptions)\r\n } else {\r\n scrollBarGroup.linkRemove();\r\n null === (_a = this._scrollBar) || void 0 === _a ? void 0 : _a.dispose();\r\n this._scrollBar = null\r\n }\r\n },\r\n _executeAppendAfterSeries(append) {\r\n append()\r\n },\r\n _prepareToRender() {\r\n var panesBorderOptions = this._createPanesBorderOptions();\r\n this._createPanesBackground();\r\n this._appendAxesGroups();\r\n this._adjustViewport();\r\n return panesBorderOptions\r\n },\r\n _adjustViewport() {\r\n var adjustOnZoom = this._themeManager.getOptions(\"adjustOnZoom\");\r\n if (!adjustOnZoom) {\r\n return\r\n }\r\n this._valueAxes.forEach(axis => axis.adjust())\r\n },\r\n _recreateSizeDependentObjects(isCanvasChanged) {\r\n var series = this._getVisibleSeries();\r\n var useAggregation = series.some(s => s.useAggregation());\r\n var zoomChanged = this._isZooming();\r\n if (!useAggregation) {\r\n return\r\n }\r\n this._argumentAxes.forEach(axis => {\r\n axis.updateCanvas(this._canvas, true)\r\n });\r\n series.forEach(series => {\r\n if (series.useAggregation() && (isCanvasChanged || zoomChanged || !series._useAllAggregatedPoints)) {\r\n series.createPoints()\r\n }\r\n });\r\n this._processSeriesFamilies()\r\n },\r\n _isZooming() {\r\n var argumentAxis = this.getArgumentAxis();\r\n if (!(null === argumentAxis || void 0 === argumentAxis ? void 0 : argumentAxis.getTranslator())) {\r\n return false\r\n }\r\n var businessRange = argumentAxis.getTranslator().getBusinessRange();\r\n var zoomRange = argumentAxis.getViewport();\r\n var min = zoomRange ? zoomRange.min : 0;\r\n var max = zoomRange ? zoomRange.max : 0;\r\n if (\"logarithmic\" === businessRange.axisType) {\r\n min = getLog(min, businessRange.base);\r\n max = getLog(max, businessRange.base)\r\n }\r\n var viewportDistance = businessRange.axisType === DISCRETE ? getCategoriesInfo(businessRange.categories, min, max).categories.length : Math.abs(max - min);\r\n var precision = getPrecision(viewportDistance);\r\n precision = precision > 1 ? Math.pow(10, precision - 2) : 1;\r\n var zoomChanged = Math.round((this._zoomLength - viewportDistance) * precision) / precision !== 0;\r\n this._zoomLength = viewportDistance;\r\n return zoomChanged\r\n },\r\n _handleSeriesDataUpdated() {\r\n var viewport = new Range;\r\n this.series.forEach(s => {\r\n viewport.addRange(s.getArgumentRange())\r\n });\r\n this._argumentAxes.forEach(axis => {\r\n axis.updateCanvas(this._canvas, true);\r\n axis.setBusinessRange(viewport, this._axesReinitialized)\r\n });\r\n this.callBase()\r\n },\r\n _isLegendInside() {\r\n return this._legend && \"inside\" === this._legend.getPosition()\r\n },\r\n _isRotated() {\r\n return this._themeManager.getOptions(\"rotated\")\r\n },\r\n _getLayoutTargets() {\r\n return this.panes\r\n },\r\n _applyClipRects(panesBorderOptions) {\r\n this._drawPanesBorders(panesBorderOptions);\r\n this._createClipRectsForPanes();\r\n this._applyClipRectsForAxes();\r\n this._fillPanesBackground()\r\n },\r\n _updateLegendPosition(drawOptions, legendHasInsidePosition) {\r\n if (drawOptions.drawLegend && this._legend && legendHasInsidePosition) {\r\n var {\r\n panes: panes\r\n } = this;\r\n var newCanvas = _extend({}, panes[0].canvas);\r\n var layoutManager = new LayoutManager;\r\n newCanvas.right = panes[panes.length - 1].canvas.right;\r\n newCanvas.bottom = panes[panes.length - 1].canvas.bottom;\r\n layoutManager.layoutInsideLegend(this._legend, newCanvas)\r\n }\r\n },\r\n _allowLegendInsidePosition: () => true,\r\n _applyExtraSettings(series) {\r\n var paneIndex = this._getPaneIndex(series.pane);\r\n var panesClipRects = this._panesClipRects;\r\n var wideClipRect = panesClipRects.wide[paneIndex];\r\n series.setClippingParams(panesClipRects.base[paneIndex].id, null === wideClipRect || void 0 === wideClipRect ? void 0 : wideClipRect.id, this._getPaneBorderVisibility(paneIndex))\r\n },\r\n _updatePanesCanvases(drawOptions) {\r\n if (!drawOptions.recreateCanvas) {\r\n return\r\n }\r\n updatePanesCanvases(this.panes, this._canvas, this._isRotated())\r\n },\r\n _normalizePanesHeight() {\r\n normalizePanesHeight(this.panes)\r\n },\r\n _renderScaleBreaks() {\r\n this._valueAxes.concat(this._argumentAxes).forEach(axis => {\r\n axis.drawScaleBreaks()\r\n })\r\n },\r\n _getArgFilter() {\r\n return rangeDataCalculator.getViewPortFilter(this.getArgumentAxis().visualRange() || {})\r\n },\r\n _hidePointsForSingleSeriesIfNeeded(series) {\r\n var seriesPoints = series.getPoints();\r\n var overlappedPointsCount = 0;\r\n for (var i = 0; i < seriesPoints.length; i += 1) {\r\n var currentPoint = seriesPoints[i];\r\n var overlappingPoints = seriesPoints.slice(i + 1);\r\n overlappedPointsCount += Number(isPointOverlapped(currentPoint, overlappingPoints));\r\n if (overlappedPointsCount > seriesPoints.length / 2) {\r\n series.autoHidePointMarkers = true;\r\n break\r\n }\r\n }\r\n },\r\n _applyAutoHidePointMarkers(filteredSeries) {\r\n var overlappingPoints = [];\r\n var overlappedPointsCalculator = (pointsCount, currentPoint) => pointsCount + isPointOverlapped(currentPoint, overlappingPoints, true);\r\n for (var i = filteredSeries.length - 1; i >= 0; i -= 1) {\r\n var currentSeries = filteredSeries[i];\r\n if (!currentSeries.autoHidePointMarkersEnabled()) {\r\n continue\r\n }\r\n currentSeries.autoHidePointMarkers = false;\r\n this._hidePointsForSingleSeriesIfNeeded(currentSeries);\r\n if (!currentSeries.autoHidePointMarkers) {\r\n var seriesPoints = currentSeries.getPoints();\r\n var overlappingPointsCount = seriesPoints.reduce(overlappedPointsCalculator, 0);\r\n if (overlappingPointsCount < seriesPoints.length) {\r\n overlappingPoints = overlappingPoints.concat(seriesPoints)\r\n } else {\r\n currentSeries.autoHidePointMarkers = true\r\n }\r\n }\r\n }\r\n },\r\n _applyPointMarkersAutoHiding() {\r\n var allSeries = this.series;\r\n if (!this._themeManager.getOptions(\"autoHidePointMarkers\")) {\r\n allSeries.forEach(s => {\r\n s.autoHidePointMarkers = false\r\n });\r\n return\r\n }\r\n this.panes.forEach(_ref => {\r\n var {\r\n borderCoords: borderCoords,\r\n name: name\r\n } = _ref;\r\n var series = allSeries.filter(s => s.pane === name && s.usePointsToDefineAutoHiding());\r\n series.forEach(singleSeries => {\r\n singleSeries.prepareCoordinatesForPoints()\r\n });\r\n var argAxis = this.getArgumentAxis();\r\n var markersInfo = collectMarkersInfoBySeries(allSeries, series, argAxis);\r\n fastHidingPointMarkersByArea(borderCoords, markersInfo, series);\r\n if (markersInfo.series.length) {\r\n var argVisualRange = argAxis.visualRange();\r\n var argAxisIsDiscrete = argAxis.getOptions().type === DISCRETE;\r\n var sortingCallback = argAxisIsDiscrete ? (p1, p2) => argVisualRange.categories.indexOf(p1.argument) - argVisualRange.categories.indexOf(p2.argument) : (p1, p2) => p1.argument - p2.argument;\r\n var points = [];\r\n markersInfo.series.forEach(s => {\r\n points = points.concat(s.points)\r\n });\r\n points.sort(sortingCallback);\r\n updateMarkersInfo(points, markersInfo.overloadedSeries);\r\n this._applyAutoHidePointMarkers(series)\r\n }\r\n })\r\n },\r\n _renderAxes(drawOptions, panesBorderOptions) {\r\n function calculateTitlesWidth(axes) {\r\n return axes.map(axis => {\r\n if (!axis.getTitle) {\r\n return 0\r\n }\r\n var title = axis.getTitle();\r\n return title ? title.bBox.width : 0\r\n })\r\n }\r\n var rotated = this._isRotated();\r\n var synchronizeMultiAxes = this._themeManager.getOptions(\"synchronizeMultiAxes\");\r\n var scrollBar = this._scrollBar ? [this._scrollBar] : [];\r\n var extendedArgAxes = this._isArgumentAxisBeforeScrollBar() ? this._argumentAxes.concat(scrollBar) : scrollBar.concat(this._argumentAxes);\r\n var verticalAxes = rotated ? this._argumentAxes : this._valueAxes;\r\n var verticalElements = rotated ? extendedArgAxes : this._valueAxes;\r\n var horizontalAxes = rotated ? this._valueAxes : this._argumentAxes;\r\n var horizontalElements = rotated ? this._valueAxes : extendedArgAxes;\r\n var allAxes = verticalAxes.concat(horizontalAxes);\r\n var allElements = allAxes.concat(scrollBar);\r\n var verticalAxesFirstDrawing = verticalAxes.some(v => v.isFirstDrawing());\r\n this._normalizePanesHeight();\r\n this._updatePanesCanvases(drawOptions);\r\n var panesCanvases = this.panes.reduce((canvases, pane) => {\r\n canvases[pane.name] = _extend({}, pane.canvas);\r\n return canvases\r\n }, {});\r\n var paneSizes = this.panes.reduce((sizes, pane) => {\r\n sizes[pane.name] = {\r\n height: pane.height,\r\n unit: pane.unit\r\n };\r\n return sizes\r\n }, {});\r\n var cleanPanesCanvases = _extend(true, {}, panesCanvases);\r\n this._initCustomPositioningAxes();\r\n var needCustomAdjustAxes = this._axesBoundaryPositioning();\r\n if (!drawOptions.adjustAxes && !needCustomAdjustAxes) {\r\n drawAxesWithTicks(verticalAxes, !rotated && synchronizeMultiAxes, panesCanvases, panesBorderOptions);\r\n drawAxesWithTicks(horizontalAxes, rotated && synchronizeMultiAxes, panesCanvases, panesBorderOptions);\r\n performActionOnAxes(allAxes, \"prepareAnimation\");\r\n this._renderScaleBreaks();\r\n horizontalAxes.forEach(a => a.resolveOverlappingForCustomPositioning(verticalAxes));\r\n verticalAxes.forEach(a => a.resolveOverlappingForCustomPositioning(horizontalAxes));\r\n return false\r\n }\r\n if (needCustomAdjustAxes) {\r\n allAxes.forEach(a => a.customPositionIsAvailable() && a.shift({\r\n top: 0,\r\n left: 0,\r\n bottom: 0,\r\n right: 0\r\n }))\r\n }\r\n if (this._scrollBar) {\r\n this._scrollBar.setPane(this.panes)\r\n }\r\n var vAxesMargins = {\r\n panes: {},\r\n left: 0,\r\n right: 0\r\n };\r\n var hAxesMargins = getHorizontalAxesMargins(horizontalElements, axis => axis.estimateMargins(panesCanvases[axis.pane]));\r\n panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, vAxesMargins, hAxesMargins);\r\n var drawAxesAndSetCanvases = isHorizontal => {\r\n var axes = isHorizontal ? horizontalAxes : verticalAxes;\r\n var condition = (isHorizontal ? rotated : !rotated) && synchronizeMultiAxes;\r\n drawAxesWithTicks(axes, condition, panesCanvases, panesBorderOptions);\r\n if (isHorizontal) {\r\n hAxesMargins = getHorizontalAxesMargins(horizontalElements, getAxisMargins)\r\n } else {\r\n vAxesMargins = getVerticalAxesMargins(verticalElements)\r\n }\r\n panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, vAxesMargins, hAxesMargins)\r\n };\r\n drawAxesAndSetCanvases(false);\r\n drawAxesAndSetCanvases(true);\r\n if (!this._changesApplying && this._estimateTickIntervals(verticalAxes, panesCanvases)) {\r\n drawAxesAndSetCanvases(false)\r\n }\r\n var oldTitlesWidth = calculateTitlesWidth(verticalAxes);\r\n var visibleSeries = this._getVisibleSeries();\r\n var pointsToAnimation = this._getPointsToAnimation(visibleSeries);\r\n var axesIsAnimated = axisAnimationEnabled(drawOptions, pointsToAnimation);\r\n performActionOnAxes(allElements, \"updateSize\", panesCanvases, axesIsAnimated);\r\n horizontalElements.forEach(shiftAxis(\"top\", \"bottom\"));\r\n verticalElements.forEach(shiftAxis(\"left\", \"right\"));\r\n this._renderScaleBreaks();\r\n this.panes.forEach(pane => {\r\n _extend(pane.canvas, panesCanvases[pane.name])\r\n });\r\n this._valueAxes.forEach(axis => {\r\n axis.setInitRange()\r\n });\r\n verticalAxes.forEach((axis, i) => {\r\n var _a;\r\n if (null === (_a = axis.hasWrap) || void 0 === _a ? void 0 : _a.call(axis)) {\r\n var title = axis.getTitle();\r\n var newTitleWidth = title ? title.bBox.width : 0;\r\n var offset = newTitleWidth - oldTitlesWidth[i];\r\n if (\"right\" === axis.getOptions().position) {\r\n vAxesMargins.right += offset\r\n } else {\r\n vAxesMargins.left += offset;\r\n this.panes.forEach(_ref2 => {\r\n var {\r\n name: name\r\n } = _ref2;\r\n vAxesMargins.panes[name].left += offset\r\n })\r\n }\r\n panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, vAxesMargins, hAxesMargins);\r\n performActionOnAxes(allElements, \"updateSize\", panesCanvases, false, false);\r\n oldTitlesWidth = calculateTitlesWidth(verticalAxes)\r\n }\r\n });\r\n if (verticalAxes.some(v => v.customPositionIsAvailable() && v.getCustomPosition() !== v._axisPosition)) {\r\n axesIsAnimated && this._resetAxesAnimation(verticalAxesFirstDrawing, false);\r\n performActionOnAxes(verticalAxes, \"updateSize\", panesCanvases, axesIsAnimated)\r\n }\r\n horizontalAxes.forEach(a => a.resolveOverlappingForCustomPositioning(verticalAxes));\r\n verticalAxes.forEach(a => a.resolveOverlappingForCustomPositioning(horizontalAxes));\r\n return cleanPanesCanvases\r\n },\r\n _getExtraTemplatesItems() {\r\n var allAxes = (this._argumentAxes || []).concat(this._valueAxes || []);\r\n var elements = this._collectTemplatesFromItems(allAxes);\r\n return {\r\n items: elements.items,\r\n groups: elements.groups,\r\n launchRequest() {\r\n allAxes.forEach(a => {\r\n a.setRenderedState(true)\r\n })\r\n },\r\n doneRequest() {\r\n allAxes.forEach(a => {\r\n a.setRenderedState(false)\r\n })\r\n }\r\n }\r\n },\r\n _estimateTickIntervals: (axes, canvases) => axes.some(axis => axis.estimateTickInterval(canvases[axis.pane])),\r\n checkForMoreSpaceForPanesCanvas() {\r\n var rotated = this._isRotated();\r\n var panesAreCustomSized = this.panes.filter(p => p.unit).length === this.panes.length;\r\n var needSpace = false;\r\n if (panesAreCustomSized) {\r\n var needHorizontalSpace = 0;\r\n var needVerticalSpace = 0;\r\n if (rotated) {\r\n var argAxisRightMargin = this.getArgumentAxis().getMargins().right;\r\n var rightPanesIndent = Math.min(...this.panes.map(p => p.canvas.right));\r\n needHorizontalSpace = this._canvas.right + argAxisRightMargin - rightPanesIndent\r\n } else {\r\n var argAxisBottomMargin = this.getArgumentAxis().getMargins().bottom;\r\n var bottomPanesIndent = Math.min(...this.panes.map(p => p.canvas.bottom));\r\n needVerticalSpace = this._canvas.bottom + argAxisBottomMargin - bottomPanesIndent\r\n }\r\n needSpace = needHorizontalSpace > 0 || needVerticalSpace > 0 ? {\r\n width: needHorizontalSpace,\r\n height: needVerticalSpace\r\n } : false;\r\n if (0 !== needVerticalSpace) {\r\n var realSize = this.getSize();\r\n var customSize = this.option(\"size\");\r\n var container = this._$element[0];\r\n var containerHasStyledHeight = !!parseInt(container.style.height, 10) || 0 !== this._containerInitialHeight;\r\n if (!rotated && !(null === customSize || void 0 === customSize ? void 0 : customSize.height) && !containerHasStyledHeight) {\r\n this._forceResize(realSize.width, realSize.height + needVerticalSpace);\r\n needSpace = false\r\n }\r\n }\r\n } else {\r\n needSpace = this.layoutManager.needMoreSpaceForPanesCanvas(this._getLayoutTargets(), rotated, pane => ({\r\n width: rotated && !!pane.unit,\r\n height: !rotated && !!pane.unit\r\n }))\r\n }\r\n return needSpace\r\n },\r\n _forceResize(width, height) {\r\n this._renderer.resize(width, height);\r\n this._updateSize(true);\r\n this._setContentSize();\r\n this._preserveOriginalCanvas();\r\n this._updateCanvasClipRect(this._canvas)\r\n },\r\n _shrinkAxes(sizeShortage, panesCanvases) {\r\n if (!sizeShortage || !panesCanvases) {\r\n return\r\n }\r\n this._renderer.stopAllAnimations(true);\r\n var rotated = this._isRotated();\r\n var scrollBar = this._scrollBar ? [this._scrollBar] : [];\r\n var extendedArgAxes = this._isArgumentAxisBeforeScrollBar() ? this._argumentAxes.concat(scrollBar) : scrollBar.concat(this._argumentAxes);\r\n var verticalAxes = rotated ? extendedArgAxes : this._valueAxes;\r\n var horizontalAxes = rotated ? this._valueAxes : extendedArgAxes;\r\n var allAxes = verticalAxes.concat(horizontalAxes);\r\n if (sizeShortage.width || sizeShortage.height) {\r\n checkUsedSpace(sizeShortage, \"height\", horizontalAxes, getHorizontalAxesMargins);\r\n checkUsedSpace(sizeShortage, \"width\", verticalAxes, getVerticalAxesMargins);\r\n performActionOnAxes(allAxes, \"updateSize\", panesCanvases);\r\n var paneSizes = this.panes.reduce((sizes, pane) => {\r\n sizes[pane.name] = {\r\n height: pane.height,\r\n unit: pane.unit\r\n };\r\n return sizes\r\n }, {});\r\n panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, getVerticalAxesMargins(verticalAxes), getHorizontalAxesMargins(horizontalAxes, getAxisMargins));\r\n performActionOnAxes(allAxes, \"updateSize\", panesCanvases);\r\n horizontalAxes.forEach(shiftAxis(\"top\", \"bottom\"));\r\n verticalAxes.forEach(shiftAxis(\"left\", \"right\"));\r\n this.panes.forEach(pane => _extend(pane.canvas, panesCanvases[pane.name]))\r\n }\r\n },\r\n _isArgumentAxisBeforeScrollBar() {\r\n var _a;\r\n var argumentAxis = this.getArgumentAxis();\r\n if (this._scrollBar) {\r\n var argAxisPosition = argumentAxis.getResolvedBoundaryPosition();\r\n var argAxisLabelPosition = null === (_a = argumentAxis.getOptions().label) || void 0 === _a ? void 0 : _a.position;\r\n var scrollBarPosition = this._scrollBar.getOptions().position;\r\n return argumentAxis.hasNonBoundaryPosition() || scrollBarPosition === argAxisPosition && argAxisLabelPosition !== scrollBarPosition\r\n }\r\n return false\r\n },\r\n _getPanesParameters() {\r\n var {\r\n panes: panes\r\n } = this;\r\n var params = [];\r\n for (var i = 0; i < panes.length; i += 1) {\r\n if (this._getPaneBorderVisibility(i)) {\r\n params.push({\r\n coords: panes[i].borderCoords,\r\n clipRect: this._panesClipRects.fixed[i]\r\n })\r\n }\r\n }\r\n return params\r\n },\r\n _createCrosshairCursor() {\r\n var options = this._themeManager.getOptions(\"crosshair\") || {};\r\n var argumentAxis = this.getArgumentAxis();\r\n var axes = this._isRotated() ? [this._valueAxes, [argumentAxis]] : [\r\n [argumentAxis], this._valueAxes\r\n ];\r\n var parameters = {\r\n canvas: this._getCommonCanvas(),\r\n panes: this._getPanesParameters(),\r\n axes: axes\r\n };\r\n if (!(null === options || void 0 === options ? void 0 : options.enabled)) {\r\n return\r\n }\r\n if (this._crosshair) {\r\n this._crosshair.update(options, parameters)\r\n } else {\r\n this._crosshair = new Crosshair(this._renderer, options, parameters, this._crosshairCursorGroup)\r\n }\r\n this._crosshair.render()\r\n },\r\n _getCommonCanvas() {\r\n var commonCanvas;\r\n var {\r\n panes: panes\r\n } = this;\r\n for (var i = 0; i < panes.length; i += 1) {\r\n var {\r\n canvas: canvas\r\n } = panes[i];\r\n if (!commonCanvas) {\r\n commonCanvas = _extend({}, canvas)\r\n } else {\r\n commonCanvas.right = canvas.right;\r\n commonCanvas.bottom = canvas.bottom\r\n }\r\n }\r\n return commonCanvas\r\n },\r\n _createPanesBackground() {\r\n var defaultBackgroundColor = this._themeManager.getOptions(\"commonPaneSettings\").backgroundColor;\r\n var renderer = this._renderer;\r\n var rects = [];\r\n this._panesBackgroundGroup.clear();\r\n for (var i = 0; i < this.panes.length; i += 1) {\r\n var backgroundColor = this.panes[i].backgroundColor || defaultBackgroundColor;\r\n if (!backgroundColor || \"none\" === backgroundColor) {\r\n rects.push(null);\r\n continue\r\n }\r\n var rect = renderer.rect(0, 0, 0, 0).attr({\r\n fill: extractColor(backgroundColor),\r\n \"stroke-width\": 0\r\n }).append(this._panesBackgroundGroup);\r\n rects.push(rect)\r\n }\r\n this.panesBackground = rects\r\n },\r\n _fillPanesBackground() {\r\n _each(this.panes, (i, pane) => {\r\n var bc = pane.borderCoords;\r\n if (null !== this.panesBackground[i]) {\r\n this.panesBackground[i].attr({\r\n x: bc.left,\r\n y: bc.top,\r\n width: bc.width,\r\n height: bc.height\r\n })\r\n }\r\n })\r\n },\r\n _calcPaneBorderCoords(pane) {\r\n var {\r\n canvas: canvas\r\n } = pane;\r\n var bc = pane.borderCoords = pane.borderCoords || {};\r\n bc.left = canvas.left;\r\n bc.top = canvas.top;\r\n bc.right = canvas.width - canvas.right;\r\n bc.bottom = canvas.height - canvas.bottom;\r\n bc.width = Math.max(bc.right - bc.left, 0);\r\n bc.height = Math.max(bc.bottom - bc.top, 0)\r\n },\r\n _drawPanesBorders(panesBorderOptions) {\r\n var rotated = this._isRotated();\r\n this._panesBorderGroup.linkRemove().clear();\r\n _each(this.panes, (i, pane) => {\r\n var borderOptions = panesBorderOptions[pane.name];\r\n var attr = {\r\n fill: \"none\",\r\n stroke: borderOptions.color,\r\n \"stroke-opacity\": borderOptions.opacity,\r\n \"stroke-width\": borderOptions.width,\r\n dashStyle: borderOptions.dashStyle,\r\n \"stroke-linecap\": \"square\"\r\n };\r\n this._calcPaneBorderCoords(pane, rotated);\r\n if (!borderOptions.visible) {\r\n return\r\n }\r\n var bc = pane.borderCoords;\r\n var segmentRectParams = prepareSegmentRectPoints(bc.left, bc.top, bc.width, bc.height, borderOptions);\r\n this._renderer.path(segmentRectParams.points, segmentRectParams.pathType).attr(attr).append(this._panesBorderGroup)\r\n });\r\n this._panesBorderGroup.linkAppend()\r\n },\r\n _createClipRect(clipArray, index, left, top, width, height) {\r\n var clipRect = clipArray[index];\r\n if (!clipRect) {\r\n clipRect = this._renderer.clipRect(left, top, width, height);\r\n clipArray[index] = clipRect\r\n } else {\r\n clipRect.attr({\r\n x: left,\r\n y: top,\r\n width: width,\r\n height: height\r\n })\r\n }\r\n },\r\n _createClipRectsForPanes() {\r\n var canvas = this._canvas;\r\n _each(this.panes, (i, pane) => {\r\n var needWideClipRect = false;\r\n var bc = pane.borderCoords;\r\n var {\r\n left: left\r\n } = bc;\r\n var {\r\n top: top\r\n } = bc;\r\n var {\r\n width: width\r\n } = bc;\r\n var {\r\n height: height\r\n } = bc;\r\n var panesClipRects = this._panesClipRects;\r\n this._createClipRect(panesClipRects.fixed, i, left, top, width, height);\r\n this._createClipRect(panesClipRects.base, i, left, top, width, height);\r\n _each(this.series, (_, series) => {\r\n if (series.pane === pane.name && (series.isFinancialSeries() || series.areErrorBarsVisible())) {\r\n needWideClipRect = true\r\n }\r\n });\r\n if (needWideClipRect) {\r\n if (this._isRotated()) {\r\n top = 0;\r\n height = canvas.height\r\n } else {\r\n left = 0;\r\n width = canvas.width\r\n }\r\n this._createClipRect(panesClipRects.wide, i, left, top, width, height)\r\n } else {\r\n panesClipRects.wide[i] = null\r\n }\r\n })\r\n },\r\n _applyClipRectsForAxes() {\r\n var axes = this._getAllAxes();\r\n var chartCanvasClipRectID = this._getCanvasClipRectID();\r\n for (var i = 0; i < axes.length; i += 1) {\r\n var elementsClipRectID = this._getElementsClipRectID(axes[i].pane);\r\n axes[i].applyClipRects(elementsClipRectID, chartCanvasClipRectID)\r\n }\r\n },\r\n _getPaneBorderVisibility(paneIndex) {\r\n var _a;\r\n var commonPaneBorderVisible = this._themeManager.getOptions(\"commonPaneSettings\").border.visible;\r\n var pane = this.panes[paneIndex];\r\n var paneVisibility = null === (_a = null === pane || void 0 === pane ? void 0 : pane.border) || void 0 === _a ? void 0 : _a.visible;\r\n return void 0 === paneVisibility ? commonPaneBorderVisible : paneVisibility\r\n },\r\n _getCanvasForPane(paneName) {\r\n var _a;\r\n return null === (_a = this.panes.find(pane => pane.name === paneName)) || void 0 === _a ? void 0 : _a.canvas\r\n },\r\n _getTrackerSettings() {\r\n return _extend(this.callBase(), {\r\n chart: this,\r\n rotated: this._isRotated(),\r\n crosshair: this._getCrosshairOptions().enabled ? this._crosshair : null,\r\n stickyHovering: this._themeManager.getOptions(\"stickyHovering\")\r\n })\r\n },\r\n _resolveLabelOverlappingStack() {\r\n var isRotated = this._isRotated();\r\n var shiftDirection = isRotated ? (box, length) => ({\r\n x: box.x - length,\r\n y: box.y\r\n }) : (box, length) => ({\r\n x: box.x,\r\n y: box.y - length\r\n });\r\n var processor = (a, b) => {\r\n var coordPosition = isRotated ? 1 : 0;\r\n var figureCenter1 = a.labels[0].getFigureCenter()[coordPosition];\r\n var figureCenter12 = b.labels[0].getFigureCenter()[coordPosition];\r\n if (figureCenter1 - figureCenter12 === 0) {\r\n var translator = a.labels[0].getPoint().series.getValueAxis().getTranslator();\r\n var direction = translator.isInverted() ? -1 : 1;\r\n return (a.value() - b.value()) * direction\r\n }\r\n return 0\r\n };\r\n _each(this._getStackPoints(), (_, stacks) => {\r\n _each(stacks, (_, points) => {\r\n var isInverted = points[0].series.getValueAxis().getOptions().inverted;\r\n overlapping.resolveLabelOverlappingInOneDirection(points, this._getCommonCanvas(), isRotated, isInverted, shiftDirection, processor)\r\n })\r\n })\r\n },\r\n _getStackPoints() {\r\n var stackPoints = {};\r\n var visibleSeries = this._getVisibleSeries();\r\n _each(visibleSeries, (_, singleSeries) => {\r\n var points = singleSeries.getPoints();\r\n var stackName = singleSeries.getStackName() || null;\r\n _each(points, (_, point) => {\r\n var {\r\n argument: argument\r\n } = point;\r\n if (!stackPoints[argument]) {\r\n stackPoints[argument] = {}\r\n }\r\n if (!stackPoints[argument][stackName]) {\r\n stackPoints[argument][stackName] = []\r\n }\r\n stackPoints[argument][stackName].push(point)\r\n })\r\n });\r\n return stackPoints\r\n },\r\n _getCrosshairOptions() {\r\n return this._getOption(\"crosshair\")\r\n },\r\n zoomArgument(min, max) {\r\n if (!this._initialized || !_isDefined(min) && !_isDefined(max)) {\r\n return\r\n }\r\n this.getArgumentAxis().visualRange([min, max])\r\n },\r\n resetVisualRange() {\r\n var axes = this._argumentAxes;\r\n var nonVirtualArgumentAxis = this.getArgumentAxis();\r\n axes.forEach(axis => {\r\n axis.resetVisualRange(nonVirtualArgumentAxis !== axis);\r\n this._applyCustomVisualRangeOption(axis)\r\n });\r\n this.callBase()\r\n },\r\n getVisibleArgumentBounds() {\r\n var translator = this._argumentAxes[0].getTranslator();\r\n var range = translator.getBusinessRange();\r\n var isDiscrete = range.axisType === DISCRETE;\r\n var {\r\n categories: categories\r\n } = range;\r\n return {\r\n minVisible: isDiscrete ? range.minVisible || categories[0] : range.minVisible,\r\n maxVisible: isDiscrete ? range.maxVisible || categories[categories.length - 1] : range.maxVisible\r\n }\r\n },\r\n _change_FULL_RENDER() {\r\n this.callBase();\r\n if (this._changes.has(VISUAL_RANGE)) {\r\n this._raiseZoomEndHandlers()\r\n }\r\n },\r\n _getAxesForScaling() {\r\n return [this.getArgumentAxis()].concat(this._valueAxes)\r\n },\r\n _applyVisualRangeByVirtualAxes(axis, range) {\r\n if (axis.isArgumentAxis) {\r\n if (axis !== this.getArgumentAxis()) {\r\n return true\r\n }\r\n this._argumentAxes.filter(a => a !== axis).forEach(a => a.visualRange(range, {\r\n start: true,\r\n end: true\r\n }))\r\n }\r\n return false\r\n },\r\n _raiseZoomEndHandlers() {\r\n this._argumentAxes.forEach(axis => axis.handleZoomEnd());\r\n this.callBase()\r\n },\r\n _setOptionsByReference() {\r\n this.callBase();\r\n _extend(this._optionsByReference, {\r\n \"argumentAxis.visualRange\": true\r\n })\r\n },\r\n option() {\r\n var option = this.callBase(...arguments);\r\n var valueAxis = this._options.silent(\"valueAxis\");\r\n if (\"array\" === type(valueAxis)) {\r\n for (var i = 0; i < valueAxis.length; i += 1) {\r\n var optionPath = \"valueAxis[\".concat(i, \"].visualRange\");\r\n this._optionsByReference[optionPath] = true\r\n }\r\n }\r\n return option\r\n },\r\n _notifyVisualRange() {\r\n var argAxis = this._argumentAxes[0];\r\n var argumentVisualRange = convertVisualRangeObject(argAxis.visualRange(), !isArray(this.option(\"argumentAxis.visualRange\")));\r\n if (!argAxis.skipEventRising || !rangesAreEqual(argumentVisualRange, this.option(\"argumentAxis.visualRange\"))) {\r\n this.option(\"argumentAxis.visualRange\", argumentVisualRange)\r\n } else {\r\n argAxis.skipEventRising = null\r\n }\r\n this.callBase()\r\n }\r\n});\r\ndxChart.addPlugin(shutterZoom);\r\ndxChart.addPlugin(zoomAndPan);\r\ndxChart.addPlugin(plugins.core);\r\ndxChart.addPlugin(plugins.chart);\r\nregisterComponent(\"dxChart\", dxChart);\r\nexport default dxChart;\r\n","/**\r\n * DevExtreme (esm/viz/chart.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Chart from \"../__internal/viz/m_chart\";\r\nexport default Chart;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.edit.strategy.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n equalByValue\r\n} from \"../../core/utils/common\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isRenderer\r\n} from \"../../core/utils/type\";\r\nvar abstract = Class.abstract;\r\nvar EditStrategy = Class.inherit({\r\n ctor: function(collectionWidget) {\r\n this._collectionWidget = collectionWidget\r\n },\r\n getIndexByItemData: abstract,\r\n getItemDataByIndex: abstract,\r\n getKeysByItems: abstract,\r\n getItemsByKeys: abstract,\r\n itemsGetter: abstract,\r\n getKeyByIndex: function(index) {\r\n var resultIndex = this._denormalizeItemIndex(index);\r\n return this.getKeysByItems([this.getItemDataByIndex(resultIndex)])[0]\r\n },\r\n _equalKeys: function(key1, key2) {\r\n if (this._collectionWidget._isKeySpecified()) {\r\n return equalByValue(key1, key2)\r\n } else {\r\n return key1 === key2\r\n }\r\n },\r\n beginCache: function() {\r\n this._cache = {}\r\n },\r\n endCache: function() {\r\n this._cache = null\r\n },\r\n getIndexByKey: abstract,\r\n getNormalizedIndex: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return value\r\n }\r\n if (this._isItemIndex(value)) {\r\n return this._normalizeItemIndex(value)\r\n }\r\n if (this._isNode(value)) {\r\n return this._getNormalizedItemIndex(value)\r\n }\r\n return this._normalizeItemIndex(this.getIndexByItemData(value))\r\n },\r\n getIndex: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return this._denormalizeItemIndex(value)\r\n }\r\n if (this._isItemIndex(value)) {\r\n return value\r\n }\r\n if (this._isNode(value)) {\r\n return this._denormalizeItemIndex(this._getNormalizedItemIndex(value))\r\n }\r\n return this.getIndexByItemData(value)\r\n },\r\n getItemElement: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return this._getItemByNormalizedIndex(value)\r\n }\r\n if (this._isItemIndex(value)) {\r\n return this._getItemByNormalizedIndex(this._normalizeItemIndex(value))\r\n }\r\n if (this._isNode(value)) {\r\n return $(value)\r\n }\r\n var normalizedItemIndex = this._normalizeItemIndex(this.getIndexByItemData(value));\r\n return this._getItemByNormalizedIndex(normalizedItemIndex)\r\n },\r\n _isNode: el => domAdapter.isNode(el && isRenderer(el) ? el.get(0) : el),\r\n deleteItemAtIndex: abstract,\r\n itemPlacementFunc: function(movingIndex, destinationIndex) {\r\n return this._itemsFromSameParent(movingIndex, destinationIndex) && movingIndex < destinationIndex ? \"after\" : \"before\"\r\n },\r\n moveItemAtIndexToIndex: abstract,\r\n _isNormalizedItemIndex: function(index) {\r\n return \"number\" === typeof index && Math.round(index) === index\r\n },\r\n _isItemIndex: abstract,\r\n _getNormalizedItemIndex: abstract,\r\n _normalizeItemIndex: abstract,\r\n _denormalizeItemIndex: abstract,\r\n _getItemByNormalizedIndex: abstract,\r\n _itemsFromSameParent: abstract\r\n});\r\nexport default EditStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.edit.strategy.plain.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport EditStrategy from \"./ui.collection_widget.edit.strategy\";\r\nvar PlainEditStrategy = EditStrategy.inherit({\r\n _getPlainItems: function() {\r\n return this._collectionWidget.option(\"items\") || []\r\n },\r\n getIndexByItemData: function(itemData) {\r\n var keyOf = this._collectionWidget.keyOf.bind(this._collectionWidget);\r\n if (keyOf) {\r\n return this.getIndexByKey(keyOf(itemData))\r\n } else {\r\n return this._getPlainItems().indexOf(itemData)\r\n }\r\n },\r\n getItemDataByIndex: function(index) {\r\n return this._getPlainItems()[index]\r\n },\r\n deleteItemAtIndex: function(index) {\r\n this._getPlainItems().splice(index, 1)\r\n },\r\n itemsGetter: function() {\r\n return this._getPlainItems()\r\n },\r\n getKeysByItems: function(items) {\r\n var keyOf = this._collectionWidget.keyOf.bind(this._collectionWidget);\r\n var result = items;\r\n if (keyOf) {\r\n result = [];\r\n for (var i = 0; i < items.length; i++) {\r\n result.push(keyOf(items[i]))\r\n }\r\n }\r\n return result\r\n },\r\n getIndexByKey: function(key) {\r\n var cache = this._cache;\r\n var keys = cache && cache.keys || this.getKeysByItems(this._getPlainItems());\r\n if (cache && !cache.keys) {\r\n cache.keys = keys\r\n }\r\n if (\"object\" === typeof key) {\r\n for (var i = 0, length = keys.length; i < length; i++) {\r\n if (this._equalKeys(key, keys[i])) {\r\n return i\r\n }\r\n }\r\n } else {\r\n return keys.indexOf(key)\r\n }\r\n return -1\r\n },\r\n getItemsByKeys: function(keys, items) {\r\n return (items || keys).slice()\r\n },\r\n moveItemAtIndexToIndex: function(movingIndex, destinationIndex) {\r\n var items = this._getPlainItems();\r\n var movedItemData = items[movingIndex];\r\n items.splice(movingIndex, 1);\r\n items.splice(destinationIndex, 0, movedItemData)\r\n },\r\n _isItemIndex: function(index) {\r\n return \"number\" === typeof index && Math.round(index) === index\r\n },\r\n _getNormalizedItemIndex: function(itemElement) {\r\n return this._collectionWidget._itemElements().index(itemElement)\r\n },\r\n _normalizeItemIndex: function(index) {\r\n return index\r\n },\r\n _denormalizeItemIndex: function(index) {\r\n return index\r\n },\r\n _getItemByNormalizedIndex: function(index) {\r\n return index > -1 ? this._collectionWidget._itemElements().eq(index) : null\r\n },\r\n _itemsFromSameParent: function() {\r\n return true\r\n }\r\n});\r\nexport default PlainEditStrategy;\r\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n '_'\n ),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n },\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime,\n mm: '%d Minutten',\n h: processRelativeTime,\n hh: '%d Stonnen',\n d: processRelativeTime,\n dd: '%d Deeg',\n M: processRelativeTime,\n MM: '%d Méint',\n y: processRelativeTime,\n yy: '%d Joer',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lb;\n\n})));\n","/**\r\n * DevExtreme (esm/renovation/ui/overlays/validation_message.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"boundary\", \"className\", \"contentId\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"mode\", \"offset\", \"onClick\", \"onKeyDown\", \"positionSide\", \"rtlEnabled\", \"tabIndex\", \"target\", \"validationErrors\", \"visible\", \"visualContainer\", \"width\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport LegacyValidationMessage from \"../../../ui/validation_message\";\r\nimport {\r\n DomComponentWrapper\r\n} from \"../common/dom_component_wrapper\";\r\nimport {\r\n BaseWidgetProps\r\n} from \"../common/base_props\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n componentProps: componentProps,\r\n restAttributes: restAttributes\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, DomComponentWrapper, _extends({\r\n componentType: LegacyValidationMessage,\r\n componentProps: componentProps,\r\n templateNames: []\r\n }, restAttributes)))\r\n};\r\nexport var ValidationMessageProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BaseWidgetProps), Object.getOwnPropertyDescriptors({\r\n mode: \"auto\",\r\n positionSide: \"top\",\r\n offset: Object.freeze({\r\n h: 0,\r\n v: 0\r\n }),\r\n isReactComponentWrapper: true\r\n})));\r\nexport class ValidationMessage extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get componentProps() {\r\n return this.props\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n componentProps: this.componentProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nValidationMessage.defaultProps = ValidationMessageProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/common/editor.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"aria\", \"children\", \"className\", \"classes\", \"defaultValue\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"inputAttr\", \"isValid\", \"name\", \"onClick\", \"onFocusIn\", \"onKeyDown\", \"readOnly\", \"rtlEnabled\", \"tabIndex\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"value\", \"valueChange\", \"visible\", \"width\"];\r\nimport {\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport Guid from \"../../../../core/guid\";\r\nimport {\r\n Widget,\r\n WidgetProps\r\n} from \"../../common/widget\";\r\nimport {\r\n BaseWidgetProps\r\n} from \"../../common/base_props\";\r\nimport {\r\n combineClasses\r\n} from \"../../../utils/combine_classes\";\r\nimport {\r\n ValidationMessage\r\n} from \"../../overlays/validation_message\";\r\nvar getCssClasses = model => {\r\n var {\r\n classes: classes,\r\n isValid: isValid,\r\n readOnly: readOnly\r\n } = model;\r\n var classesMap = {\r\n \"dx-state-readonly\": !!readOnly,\r\n \"dx-invalid\": !isValid,\r\n [\"\".concat(classes)]: !!classes\r\n };\r\n return combineClasses(classesMap)\r\n};\r\nexport var viewFunction = viewModel => {\r\n var {\r\n aria: aria,\r\n cssClasses: classes,\r\n isValidationMessageVisible: isValidationMessageVisible,\r\n onFocusIn: onFocusIn,\r\n props: {\r\n accessKey: accessKey,\r\n activeStateEnabled: activeStateEnabled,\r\n children: children,\r\n className: className,\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n height: height,\r\n hint: hint,\r\n hoverStateEnabled: hoverStateEnabled,\r\n onClick: onClick,\r\n onKeyDown: onKeyDown,\r\n rtlEnabled: rtlEnabled,\r\n tabIndex: tabIndex,\r\n validationMessageMode: validationMessageMode,\r\n validationMessagePosition: validationMessagePosition,\r\n visible: visible,\r\n width: width\r\n },\r\n restAttributes: restAttributes,\r\n rootElementRef: rootElementRef,\r\n validationErrors: validationErrors,\r\n validationMessageGuid: validationMessageGuid,\r\n validationMessageTarget: validationMessageTarget,\r\n widgetRef: widgetRef\r\n } = viewModel;\r\n return normalizeProps(createComponentVNode(2, Widget, _extends({\r\n rootElementRef: rootElementRef,\r\n aria: aria,\r\n classes: classes,\r\n activeStateEnabled: activeStateEnabled,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n accessKey: accessKey,\r\n className: className,\r\n rtlEnabled: rtlEnabled,\r\n hint: hint,\r\n disabled: disabled,\r\n height: height,\r\n width: width,\r\n onFocusIn: onFocusIn,\r\n onClick: onClick,\r\n onKeyDown: onKeyDown,\r\n tabIndex: tabIndex,\r\n visible: visible\r\n }, restAttributes, {\r\n children: createFragment([children, isValidationMessageVisible && createComponentVNode(2, ValidationMessage, {\r\n validationErrors: validationErrors,\r\n mode: validationMessageMode,\r\n positionSide: validationMessagePosition,\r\n rtlEnabled: rtlEnabled,\r\n target: validationMessageTarget,\r\n boundary: validationMessageTarget,\r\n visualContainer: validationMessageTarget,\r\n contentId: validationMessageGuid\r\n })], 0)\r\n }), null, widgetRef))\r\n};\r\nexport var EditorProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BaseWidgetProps), Object.getOwnPropertyDescriptors({\r\n readOnly: false,\r\n name: \"\",\r\n validationError: null,\r\n validationErrors: null,\r\n validationMessageMode: \"auto\",\r\n validationMessagePosition: \"bottom\",\r\n validationStatus: \"valid\",\r\n isValid: true,\r\n inputAttr: Object.freeze({}),\r\n defaultValue: null,\r\n valueChange: () => {}\r\n})));\r\nexport var EditorPropsType = {\r\n get readOnly() {\r\n return EditorProps.readOnly\r\n },\r\n get name() {\r\n return EditorProps.name\r\n },\r\n get validationError() {\r\n return EditorProps.validationError\r\n },\r\n get validationErrors() {\r\n return EditorProps.validationErrors\r\n },\r\n get validationMessageMode() {\r\n return EditorProps.validationMessageMode\r\n },\r\n get validationMessagePosition() {\r\n return EditorProps.validationMessagePosition\r\n },\r\n get validationStatus() {\r\n return EditorProps.validationStatus\r\n },\r\n get isValid() {\r\n return EditorProps.isValid\r\n },\r\n get inputAttr() {\r\n return EditorProps.inputAttr\r\n },\r\n get defaultValue() {\r\n return EditorProps.defaultValue\r\n },\r\n get valueChange() {\r\n return EditorProps.valueChange\r\n },\r\n get className() {\r\n return EditorProps.className\r\n },\r\n get activeStateEnabled() {\r\n return EditorProps.activeStateEnabled\r\n },\r\n get disabled() {\r\n return EditorProps.disabled\r\n },\r\n get focusStateEnabled() {\r\n return EditorProps.focusStateEnabled\r\n },\r\n get hoverStateEnabled() {\r\n return EditorProps.hoverStateEnabled\r\n },\r\n get tabIndex() {\r\n return EditorProps.tabIndex\r\n },\r\n get visible() {\r\n return EditorProps.visible\r\n },\r\n get aria() {\r\n return WidgetProps.aria\r\n },\r\n get classes() {\r\n return WidgetProps.classes\r\n }\r\n};\r\nimport {\r\n convertRulesToOptions\r\n} from \"../../../../core/options/utils\";\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class Editor extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.widgetRef = infernoCreateRef();\r\n this.rootElementRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.state = {\r\n validationMessageGuid: \"dx-\".concat(new Guid),\r\n isValidationMessageVisible: false,\r\n value: void 0 !== this.props.value ? this.props.value : this.props.defaultValue\r\n };\r\n this.updateValidationMessageVisibility = this.updateValidationMessageVisibility.bind(this);\r\n this.focus = this.focus.bind(this);\r\n this.blur = this.blur.bind(this);\r\n this.onFocusIn = this.onFocusIn.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.updateValidationMessageVisibility, [this.props.isValid, this.props.validationStatus, this.props.validationError, this.props.validationErrors]), createReRenderEffect()]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.isValid, this.props.validationStatus, this.props.validationError, this.props.validationErrors])\r\n }\r\n updateValidationMessageVisibility() {\r\n this.setState(__state_argument => ({\r\n isValidationMessageVisible: this.shouldShowValidationMessage\r\n }))\r\n }\r\n onFocusIn(event) {\r\n var {\r\n onFocusIn: onFocusIn\r\n } = this.props;\r\n null === onFocusIn || void 0 === onFocusIn ? void 0 : onFocusIn(event)\r\n }\r\n get cssClasses() {\r\n return \"\".concat(getCssClasses(_extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n })))\r\n }\r\n get shouldShowValidationMessage() {\r\n var _this$validationError;\r\n var {\r\n isValid: isValid,\r\n validationStatus: validationStatus\r\n } = this.props;\r\n var validationErrors = null !== (_this$validationError = this.validationErrors) && void 0 !== _this$validationError ? _this$validationError : [];\r\n var isEditorValid = isValid && \"invalid\" !== validationStatus;\r\n return !isEditorValid && validationErrors.length > 0\r\n }\r\n get aria() {\r\n var {\r\n isValid: isValid,\r\n readOnly: readOnly\r\n } = this.props;\r\n var result = {\r\n readonly: readOnly ? \"true\" : \"false\",\r\n invalid: !isValid ? \"true\" : \"false\"\r\n };\r\n if (this.shouldShowValidationMessage) {\r\n result.describedBy = this.state.validationMessageGuid\r\n }\r\n return _extends({}, result, this.props.aria)\r\n }\r\n get validationErrors() {\r\n if (void 0 !== this.__getterCache.validationErrors) {\r\n return this.__getterCache.validationErrors\r\n }\r\n return this.__getterCache.validationErrors = (() => {\r\n var {\r\n validationError: validationError,\r\n validationErrors: validationErrors\r\n } = this.props;\r\n var allValidationErrors = validationErrors && [...validationErrors];\r\n if (!allValidationErrors && validationError) {\r\n allValidationErrors = [_extends({}, validationError)]\r\n }\r\n return allValidationErrors\r\n })()\r\n }\r\n get validationMessageTarget() {\r\n var _this$rootElementRef;\r\n return null === (_this$rootElementRef = this.rootElementRef) || void 0 === _this$rootElementRef ? void 0 : _this$rootElementRef.current\r\n }\r\n get restAttributes() {\r\n var _this$props$value = _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n restProps = _objectWithoutPropertiesLoose(_this$props$value, _excluded);\r\n return restProps\r\n }\r\n focus() {\r\n this.widgetRef.current.focus()\r\n }\r\n blur() {\r\n this.widgetRef.current.blur()\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.validationError !== nextProps.validationError || this.props.validationErrors !== nextProps.validationErrors) {\r\n this.__getterCache.validationErrors = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n validationMessageGuid: this.state.validationMessageGuid,\r\n isValidationMessageVisible: this.state.isValidationMessageVisible,\r\n rootElementRef: this.rootElementRef,\r\n widgetRef: this.widgetRef,\r\n onFocusIn: this.onFocusIn,\r\n cssClasses: this.cssClasses,\r\n shouldShowValidationMessage: this.shouldShowValidationMessage,\r\n aria: this.aria,\r\n validationErrors: this.validationErrors,\r\n validationMessageTarget: this.validationMessageTarget,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\n\r\nfunction __processTwoWayProps(defaultProps) {\r\n var twoWayProps = [\"value\"];\r\n return Object.keys(defaultProps).reduce((props, propName) => {\r\n var propValue = defaultProps[propName];\r\n var defaultPropName = twoWayProps.some(p => p === propName) ? \"default\" + propName.charAt(0).toUpperCase() + propName.slice(1) : propName;\r\n props[defaultPropName] = propValue;\r\n return props\r\n }, {})\r\n}\r\nEditor.defaultProps = EditorPropsType;\r\nvar __defaultOptionRules = [];\r\nexport function defaultOptions(rule) {\r\n __defaultOptionRules.push(rule);\r\n Editor.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(Editor.defaultProps), Object.getOwnPropertyDescriptors(__processTwoWayProps(convertRulesToOptions(__defaultOptionRules)))))\r\n}\r\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\nvar objectTypes = require('lodash._objecttypes');\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Native method shortcuts */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which produces an array of the\n * given object's own enumerable property names.\n *\n * @private\n * @type Function\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns an array of property names.\n */\nvar shimKeys = function(object) {\n var index, iterable = object, result = [];\n if (!iterable) return result;\n if (!(objectTypes[typeof object])) return result;\n for (index in iterable) {\n if (hasOwnProperty.call(iterable, index)) {\n result.push(index);\n }\n }\n return result\n};\n\nmodule.exports = shimKeys;\n","/**\r\n * DevExtreme (esm/ui/overlay/z_index.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nvar baseZIndex = 1500;\r\nvar zIndexStack = [];\r\nexport var base = ZIndex => {\r\n baseZIndex = ensureDefined(ZIndex, baseZIndex);\r\n return baseZIndex\r\n};\r\nexport var create = function() {\r\n var baseIndex = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : baseZIndex;\r\n var length = zIndexStack.length;\r\n var index = (length ? zIndexStack[length - 1] : baseIndex) + 1;\r\n zIndexStack.push(index);\r\n return index\r\n};\r\nexport var remove = zIndex => {\r\n var position = zIndexStack.indexOf(zIndex);\r\n if (position >= 0) {\r\n zIndexStack.splice(position, 1)\r\n }\r\n};\r\nexport var isLastZIndexInStack = zIndex => zIndexStack.length && zIndexStack[zIndexStack.length - 1] === zIndex;\r\nexport var clearStack = () => {\r\n zIndexStack = []\r\n};\r\n","/**\r\n * DevExtreme (esm/events/core/emitter_registrator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n data as elementData\r\n} from \"../../core/element_data\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport registerEvent from \"./event_registrator\";\r\nimport {\r\n addNamespace,\r\n isMouseEvent\r\n} from \"../utils/index\";\r\nimport pointerEvents from \"../pointer\";\r\nimport {\r\n name as wheelEventName\r\n} from \"./wheel\";\r\nvar MANAGER_EVENT = \"dxEventManager\";\r\nvar EMITTER_DATA = \"dxEmitter\";\r\nvar EventManager = Class.inherit({\r\n ctor: function() {\r\n this._attachHandlers();\r\n this.reset();\r\n this._proxiedCancelHandler = this._cancelHandler.bind(this);\r\n this._proxiedAcceptHandler = this._acceptHandler.bind(this)\r\n },\r\n _attachHandlers: function() {\r\n readyCallbacks.add(function() {\r\n var document = domAdapter.getDocument();\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.down, MANAGER_EVENT), this._pointerDownHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.move, MANAGER_EVENT), this._pointerMoveHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace([pointerEvents.up, pointerEvents.cancel].join(\" \"), MANAGER_EVENT), this._pointerUpHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace(wheelEventName, MANAGER_EVENT), this._mouseWheelHandler.bind(this))\r\n }.bind(this))\r\n },\r\n _eachEmitter: function(callback) {\r\n var activeEmitters = this._activeEmitters || [];\r\n var i = 0;\r\n while (activeEmitters.length > i) {\r\n var emitter = activeEmitters[i];\r\n if (false === callback(emitter)) {\r\n break\r\n }\r\n if (activeEmitters[i] === emitter) {\r\n i++\r\n }\r\n }\r\n },\r\n _applyToEmitters: function(method, arg) {\r\n this._eachEmitter((function(emitter) {\r\n emitter[method].call(emitter, arg)\r\n }))\r\n },\r\n reset: function() {\r\n this._eachEmitter(this._proxiedCancelHandler);\r\n this._activeEmitters = []\r\n },\r\n resetEmitter: function(emitter) {\r\n this._proxiedCancelHandler(emitter)\r\n },\r\n _pointerDownHandler: function(e) {\r\n if (isMouseEvent(e) && e.which > 1) {\r\n return\r\n }\r\n this._updateEmitters(e)\r\n },\r\n _updateEmitters: function(e) {\r\n if (!this._isSetChanged(e)) {\r\n return\r\n }\r\n this._cleanEmitters(e);\r\n this._fetchEmitters(e)\r\n },\r\n _isSetChanged: function(e) {\r\n var currentSet = this._closestEmitter(e);\r\n var previousSet = this._emittersSet || [];\r\n var setChanged = currentSet.length !== previousSet.length;\r\n each(currentSet, (function(index, emitter) {\r\n setChanged = setChanged || previousSet[index] !== emitter;\r\n return !setChanged\r\n }));\r\n this._emittersSet = currentSet;\r\n return setChanged\r\n },\r\n _closestEmitter: function(e) {\r\n var that = this;\r\n var result = [];\r\n var $element = $(e.target);\r\n\r\n function handleEmitter(_, emitter) {\r\n if (!!emitter && emitter.validatePointers(e) && emitter.validate(e)) {\r\n emitter.addCancelCallback(that._proxiedCancelHandler);\r\n emitter.addAcceptCallback(that._proxiedAcceptHandler);\r\n result.push(emitter)\r\n }\r\n }\r\n while ($element.length) {\r\n var emitters = elementData($element.get(0), EMITTER_DATA) || [];\r\n each(emitters, handleEmitter);\r\n $element = $element.parent()\r\n }\r\n return result\r\n },\r\n _acceptHandler: function(acceptedEmitter, e) {\r\n var that = this;\r\n this._eachEmitter((function(emitter) {\r\n if (emitter !== acceptedEmitter) {\r\n that._cancelEmitter(emitter, e)\r\n }\r\n }))\r\n },\r\n _cancelHandler: function(canceledEmitter, e) {\r\n this._cancelEmitter(canceledEmitter, e)\r\n },\r\n _cancelEmitter: function(emitter, e) {\r\n var activeEmitters = this._activeEmitters;\r\n if (e) {\r\n emitter.cancel(e)\r\n } else {\r\n emitter.reset()\r\n }\r\n emitter.removeCancelCallback();\r\n emitter.removeAcceptCallback();\r\n var emitterIndex = activeEmitters.indexOf(emitter);\r\n if (emitterIndex > -1) {\r\n activeEmitters.splice(emitterIndex, 1)\r\n }\r\n },\r\n _cleanEmitters: function(e) {\r\n this._applyToEmitters(\"end\", e);\r\n this.reset(e)\r\n },\r\n _fetchEmitters: function(e) {\r\n this._activeEmitters = this._emittersSet.slice();\r\n this._applyToEmitters(\"start\", e)\r\n },\r\n _pointerMoveHandler: function(e) {\r\n this._applyToEmitters(\"move\", e)\r\n },\r\n _pointerUpHandler: function(e) {\r\n this._updateEmitters(e)\r\n },\r\n _mouseWheelHandler: function(e) {\r\n if (!this._allowInterruptionByMouseWheel()) {\r\n return\r\n }\r\n e.pointers = [null];\r\n this._pointerDownHandler(e);\r\n this._adjustWheelEvent(e);\r\n this._pointerMoveHandler(e);\r\n e.pointers = [];\r\n this._pointerUpHandler(e)\r\n },\r\n _allowInterruptionByMouseWheel: function() {\r\n var allowInterruption = true;\r\n this._eachEmitter((function(emitter) {\r\n allowInterruption = emitter.allowInterruptionByMouseWheel() && allowInterruption;\r\n return allowInterruption\r\n }));\r\n return allowInterruption\r\n },\r\n _adjustWheelEvent: function(e) {\r\n var closestGestureEmitter = null;\r\n this._eachEmitter((function(emitter) {\r\n if (!emitter.gesture) {\r\n return\r\n }\r\n var direction = emitter.getDirection(e);\r\n if (\"horizontal\" !== direction && !e.shiftKey || \"vertical\" !== direction && e.shiftKey) {\r\n closestGestureEmitter = emitter;\r\n return false\r\n }\r\n }));\r\n if (!closestGestureEmitter) {\r\n return\r\n }\r\n var direction = closestGestureEmitter.getDirection(e);\r\n var verticalGestureDirection = \"both\" === direction && !e.shiftKey || \"vertical\" === direction;\r\n var prop = verticalGestureDirection ? \"pageY\" : \"pageX\";\r\n e[prop] += e.delta\r\n },\r\n isActive: function(element) {\r\n var result = false;\r\n this._eachEmitter((function(emitter) {\r\n result = result || emitter.getElement().is(element)\r\n }));\r\n return result\r\n }\r\n});\r\nvar eventManager = new EventManager;\r\nvar EMITTER_SUBSCRIPTION_DATA = \"dxEmitterSubscription\";\r\nvar registerEmitter = function(emitterConfig) {\r\n var emitterClass = emitterConfig.emitter;\r\n var emitterName = emitterConfig.events[0];\r\n var emitterEvents = emitterConfig.events;\r\n each(emitterEvents, (function(_, eventName) {\r\n registerEvent(eventName, {\r\n noBubble: !emitterConfig.bubble,\r\n setup: function(element) {\r\n var subscriptions = elementData(element, EMITTER_SUBSCRIPTION_DATA) || {};\r\n var emitters = elementData(element, EMITTER_DATA) || {};\r\n var emitter = emitters[emitterName] || new emitterClass(element);\r\n subscriptions[eventName] = true;\r\n emitters[emitterName] = emitter;\r\n elementData(element, EMITTER_DATA, emitters);\r\n elementData(element, EMITTER_SUBSCRIPTION_DATA, subscriptions)\r\n },\r\n add: function(element, handleObj) {\r\n var emitters = elementData(element, EMITTER_DATA);\r\n var emitter = emitters[emitterName];\r\n emitter.configure(extend({\r\n delegateSelector: handleObj.selector\r\n }, handleObj.data), handleObj.type)\r\n },\r\n teardown: function(element) {\r\n var subscriptions = elementData(element, EMITTER_SUBSCRIPTION_DATA);\r\n var emitters = elementData(element, EMITTER_DATA);\r\n var emitter = emitters[emitterName];\r\n delete subscriptions[eventName];\r\n var disposeEmitter = true;\r\n each(emitterEvents, (function(_, eventName) {\r\n disposeEmitter = disposeEmitter && !subscriptions[eventName];\r\n return disposeEmitter\r\n }));\r\n if (disposeEmitter) {\r\n if (eventManager.isActive(element)) {\r\n eventManager.resetEmitter(emitter)\r\n }\r\n emitter && emitter.dispose();\r\n delete emitters[emitterName]\r\n }\r\n }\r\n })\r\n }))\r\n};\r\nexport default registerEmitter;\r\n","/**\r\n * DevExtreme (esm/core/utils/window.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nvar hasWindowValue = \"undefined\" !== typeof window;\r\nvar hasWindow = () => hasWindowValue;\r\nvar windowObject = hasWindow() ? window : void 0;\r\nif (!windowObject) {\r\n windowObject = {};\r\n windowObject.window = windowObject\r\n}\r\nvar getWindow = () => windowObject;\r\nvar setWindow = (newWindowObject, hasWindow) => {\r\n if (void 0 === hasWindow) {\r\n hasWindowValue = \"undefined\" !== typeof window && window === newWindowObject\r\n } else {\r\n hasWindowValue = hasWindow\r\n }\r\n windowObject = newWindowObject\r\n};\r\nvar hasProperty = prop => hasWindow() && prop in windowObject;\r\nvar defaultScreenFactorFunc = width => {\r\n if (width < 768) {\r\n return \"xs\"\r\n } else if (width < 992) {\r\n return \"sm\"\r\n } else if (width < 1200) {\r\n return \"md\"\r\n } else {\r\n return \"lg\"\r\n }\r\n};\r\nvar getCurrentScreenFactor = screenFactorCallback => {\r\n var screenFactorFunc = screenFactorCallback || defaultScreenFactorFunc;\r\n var windowWidth = domAdapter.getDocumentElement().clientWidth;\r\n return screenFactorFunc(windowWidth)\r\n};\r\nvar getNavigator = () => hasWindow() ? windowObject.navigator : {\r\n userAgent: \"\"\r\n};\r\nexport {\r\n hasWindow,\r\n getWindow,\r\n setWindow,\r\n hasProperty,\r\n defaultScreenFactorFunc,\r\n getCurrentScreenFactor,\r\n getNavigator\r\n};\r\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default Themeable.extend({\n name: 'v-theme-provider',\n\n props: { root: Boolean },\n\n computed: {\n isDark (): boolean {\n return this.root\n ? this.rootIsDark\n : Themeable.options.computed.isDark.call(this)\n },\n },\n\n render (): VNode {\n /* istanbul ignore next */\n return (\n this.$slots.default! &&\n this.$slots.default!.find(node => !node.isComment && node.text !== ' ')!\n )\n },\n})\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı',\n };\n\n var az = moment.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n '_'\n ),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays:\n 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n '_'\n ),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il',\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function (number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return az;\n\n})));\n","/**\r\n * DevExtreme (esm/events/core/event_registrator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport callbacks from \"./event_registrator_callbacks\";\r\nvar registerEvent = function(name, eventObject) {\r\n var strategy = {};\r\n if (\"noBubble\" in eventObject) {\r\n strategy.noBubble = eventObject.noBubble\r\n }\r\n if (\"bindType\" in eventObject) {\r\n strategy.bindType = eventObject.bindType\r\n }\r\n if (\"delegateType\" in eventObject) {\r\n strategy.delegateType = eventObject.delegateType\r\n }\r\n each([\"setup\", \"teardown\", \"add\", \"remove\", \"trigger\", \"handle\", \"_default\", \"dispose\"], (function(_, methodName) {\r\n if (!eventObject[methodName]) {\r\n return\r\n }\r\n strategy[methodName] = function() {\r\n var args = [].slice.call(arguments);\r\n args.unshift(this);\r\n return eventObject[methodName].apply(eventObject, args)\r\n }\r\n }));\r\n callbacks.fire(name, strategy)\r\n};\r\nregisterEvent.callbacks = callbacks;\r\nexport default registerEvent;\r\n","// Styles\nimport './VProgressCircular.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\n\n/* @vue/component */\nexport default Colorable.extend({\n name: 'v-progress-circular',\n\n directives: { intersect },\n\n props: {\n button: Boolean,\n indeterminate: Boolean,\n rotate: {\n type: [Number, String],\n default: 0,\n },\n size: {\n type: [Number, String],\n default: 32,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n radius: 20,\n isVisible: true,\n }),\n\n computed: {\n calculatedSize (): number {\n return Number(this.size) + (this.button ? 8 : 0)\n },\n\n circumference (): number {\n return 2 * Math.PI * this.radius\n },\n\n classes (): object {\n return {\n 'v-progress-circular--visible': this.isVisible,\n 'v-progress-circular--indeterminate': this.indeterminate,\n 'v-progress-circular--button': this.button,\n }\n },\n\n normalizedValue (): number {\n if (this.value < 0) {\n return 0\n }\n\n if (this.value > 100) {\n return 100\n }\n\n return parseFloat(this.value)\n },\n\n strokeDashArray (): number {\n return Math.round(this.circumference * 1000) / 1000\n },\n\n strokeDashOffset (): string {\n return ((100 - this.normalizedValue) / 100) * this.circumference + 'px'\n },\n\n strokeWidth (): number {\n return Number(this.width) / +this.size * this.viewBoxSize * 2\n },\n\n styles (): object {\n return {\n height: convertToUnit(this.calculatedSize),\n width: convertToUnit(this.calculatedSize),\n }\n },\n\n svgStyles (): object {\n return {\n transform: `rotate(${Number(this.rotate)}deg)`,\n }\n },\n\n viewBoxSize (): number {\n return this.radius / (1 - Number(this.width) / +this.size)\n },\n },\n\n methods: {\n genCircle (name: string, offset: string | number): VNode {\n return this.$createElement('circle', {\n class: `v-progress-circular__${name}`,\n attrs: {\n fill: 'transparent',\n cx: 2 * this.viewBoxSize,\n cy: 2 * this.viewBoxSize,\n r: this.radius,\n 'stroke-width': this.strokeWidth,\n 'stroke-dasharray': this.strokeDashArray,\n 'stroke-dashoffset': offset,\n },\n })\n },\n genSvg (): VNode {\n const children = [\n this.indeterminate || this.genCircle('underlay', 0),\n this.genCircle('overlay', this.strokeDashOffset),\n ] as VNodeChildren\n\n return this.$createElement('svg', {\n style: this.svgStyles,\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: `${this.viewBoxSize} ${this.viewBoxSize} ${2 * this.viewBoxSize} ${2 * this.viewBoxSize}`,\n },\n }, children)\n },\n genInfo (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-circular__info',\n }, getSlot(this))\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-circular',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n directives: [{\n name: 'intersect',\n value: this.onObserve,\n }],\n style: this.styles,\n on: this.$listeners,\n }), [\n this.genSvg(),\n this.genInfo(),\n ])\n },\n})\n","/**\r\n * DevExtreme (esm/core/templates/template_base.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport domAdapter from \"../dom_adapter\";\r\nimport Callbacks from \"../utils/callbacks\";\r\nimport {\r\n contains\r\n} from \"../utils/dom\";\r\nimport {\r\n triggerShownEvent\r\n} from \"../../events/visibility_change\";\r\nimport errors from \"../errors\";\r\nexport var renderedCallbacks = Callbacks({\r\n syncStrategy: true\r\n});\r\nexport class TemplateBase {\r\n render(options) {\r\n options = options || {};\r\n var onRendered = options.onRendered;\r\n delete options.onRendered;\r\n var $result;\r\n if (options.renovated && options.transclude && this._element) {\r\n $result = $(\"<div>\").append(this._element).contents()\r\n } else {\r\n $result = this._renderCore(options)\r\n }\r\n this._ensureResultInContainer($result, options.container);\r\n renderedCallbacks.fire($result, options.container);\r\n onRendered && onRendered();\r\n return $result\r\n }\r\n _ensureResultInContainer($result, container) {\r\n if (!container) {\r\n return\r\n }\r\n var $container = $(container);\r\n var resultInContainer = contains($container.get(0), $result.get(0));\r\n $container.append($result);\r\n if (resultInContainer) {\r\n return\r\n }\r\n var resultInBody = domAdapter.getBody().contains($container.get(0));\r\n if (!resultInBody) {\r\n return\r\n }\r\n triggerShownEvent($result)\r\n }\r\n _renderCore() {\r\n throw errors.Error(\"E0001\")\r\n }\r\n}\r\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhHk = moment.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhHk;\n\n})));\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","/**\r\n * DevExtreme (esm/animation/easing.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nvar CSS_TRANSITION_EASING_REGEX = /cubic-bezier\\((\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\)/;\r\nvar TransitionTimingFuncMap = {\r\n linear: \"cubic-bezier(0, 0, 1, 1)\",\r\n swing: \"cubic-bezier(0.445, 0.05, 0.55, 0.95)\",\r\n ease: \"cubic-bezier(0.25, 0.1, 0.25, 1)\",\r\n \"ease-in\": \"cubic-bezier(0.42, 0, 1, 1)\",\r\n \"ease-out\": \"cubic-bezier(0, 0, 0.58, 1)\",\r\n \"ease-in-out\": \"cubic-bezier(0.42, 0, 0.58, 1)\"\r\n};\r\nvar polynomBezier = function(x1, y1, x2, y2) {\r\n var Cx = 3 * x1;\r\n var Bx = 3 * (x2 - x1) - Cx;\r\n var Ax = 1 - Cx - Bx;\r\n var Cy = 3 * y1;\r\n var By = 3 * (y2 - y1) - Cy;\r\n var Ay = 1 - Cy - By;\r\n var bezierX = function(t) {\r\n return t * (Cx + t * (Bx + t * Ax))\r\n };\r\n var derivativeX = function(t) {\r\n return Cx + t * (2 * Bx + 3 * t * Ax)\r\n };\r\n return function(t) {\r\n return function(t) {\r\n return t * (Cy + t * (By + t * Ay))\r\n }(function(t) {\r\n var x = t;\r\n var i = 0;\r\n var z;\r\n while (i < 14) {\r\n z = bezierX(x) - t;\r\n if (Math.abs(z) < .001) {\r\n break\r\n }\r\n x -= z / derivativeX(x);\r\n i++\r\n }\r\n return x\r\n }(t))\r\n }\r\n};\r\nvar easing = {};\r\nexport var convertTransitionTimingFuncToEasing = function(cssTransitionEasing) {\r\n cssTransitionEasing = TransitionTimingFuncMap[cssTransitionEasing] || cssTransitionEasing;\r\n var coeffs = cssTransitionEasing.match(CSS_TRANSITION_EASING_REGEX);\r\n var forceName;\r\n if (!coeffs) {\r\n forceName = \"linear\";\r\n coeffs = TransitionTimingFuncMap[forceName].match(CSS_TRANSITION_EASING_REGEX)\r\n }\r\n coeffs = coeffs.slice(1, 5);\r\n for (var i = 0; i < coeffs.length; i++) {\r\n coeffs[i] = parseFloat(coeffs[i])\r\n }\r\n var easingName = forceName || \"cubicbezier_\" + coeffs.join(\"_\").replace(/\\./g, \"p\");\r\n if (!isFunction(easing[easingName])) {\r\n easing[easingName] = function(x, t, b, c, d) {\r\n return c * polynomBezier(coeffs[0], coeffs[1], coeffs[2], coeffs[3])(t / d) + b\r\n }\r\n }\r\n return easingName\r\n};\r\nexport function setEasing(value) {\r\n easing = value\r\n}\r\nexport function getEasing(name) {\r\n return easing[name]\r\n}\r\n","/**\r\n * DevExtreme (esm/animation/fx.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isFunction,\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n getTranslateCss,\r\n parseTranslate,\r\n clearCache,\r\n locate,\r\n getTranslate\r\n} from \"./translator\";\r\nimport {\r\n convertTransitionTimingFuncToEasing,\r\n getEasing\r\n} from \"./easing\";\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"./frame\";\r\nimport {\r\n transitionEndEventName,\r\n transition\r\n} from \"../core/utils/support\";\r\nimport positionUtils from \"./position\";\r\nimport {\r\n removeEvent\r\n} from \"../events/remove\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar removeEventName = addNamespace(removeEvent, \"dxFX\");\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nvar RELATIVE_VALUE_REGEX = /^([+-])=(.*)/i;\r\nvar ANIM_DATA_KEY = \"dxAnimData\";\r\nvar ANIM_QUEUE_KEY = \"dxAnimQueue\";\r\nvar TRANSFORM_PROP = \"transform\";\r\nvar TransitionAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"none\"\r\n });\r\n if (\"string\" === typeof config.from) {\r\n $element.addClass(config.from)\r\n } else {\r\n setProps($element, config.from)\r\n }\r\n var that = this;\r\n var deferred = new Deferred;\r\n var cleanupWhen = config.cleanupWhen;\r\n config.transitionAnimation = {\r\n deferred: deferred,\r\n finish: function() {\r\n that._finishTransition($element);\r\n if (cleanupWhen) {\r\n when(deferred, cleanupWhen).always((function() {\r\n that._cleanup($element, config)\r\n }))\r\n } else {\r\n that._cleanup($element, config)\r\n }\r\n deferred.resolveWith($element, [config, $element])\r\n }\r\n };\r\n this._completeAnimationCallback($element, config).done((function() {\r\n config.transitionAnimation.finish()\r\n })).fail((function() {\r\n deferred.rejectWith($element, [config, $element])\r\n }));\r\n if (!config.duration) {\r\n config.transitionAnimation.finish()\r\n }\r\n $element.css(\"transform\")\r\n },\r\n animate: function($element, config) {\r\n this._startAnimation($element, config);\r\n return config.transitionAnimation.deferred.promise()\r\n },\r\n _completeAnimationCallback: function($element, config) {\r\n var that = this;\r\n var startTime = Date.now() + config.delay;\r\n var deferred = new Deferred;\r\n var transitionEndFired = new Deferred;\r\n var simulatedTransitionEndFired = new Deferred;\r\n var simulatedEndEventTimer;\r\n var transitionEndEventFullName = transitionEndEventName() + \".dxFX\";\r\n config.transitionAnimation.cleanup = function() {\r\n clearTimeout(simulatedEndEventTimer);\r\n clearTimeout(waitForJSCompleteTimer);\r\n eventsEngine.off($element, transitionEndEventFullName);\r\n eventsEngine.off($element, removeEventName)\r\n };\r\n eventsEngine.one($element, transitionEndEventFullName, (function() {\r\n if (Date.now() - startTime >= config.duration) {\r\n transitionEndFired.reject()\r\n }\r\n }));\r\n eventsEngine.off($element, removeEventName);\r\n eventsEngine.on($element, removeEventName, (function() {\r\n that.stop($element, config);\r\n deferred.reject()\r\n }));\r\n var waitForJSCompleteTimer = setTimeout((function() {\r\n simulatedEndEventTimer = setTimeout((function() {\r\n simulatedTransitionEndFired.reject()\r\n }), config.duration + config.delay + fx._simulatedTransitionEndDelay);\r\n when(transitionEndFired, simulatedTransitionEndFired).fail(function() {\r\n deferred.resolve()\r\n }.bind(this))\r\n }));\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"all\",\r\n transitionDelay: config.delay + \"ms\",\r\n transitionDuration: config.duration + \"ms\",\r\n transitionTimingFunction: config.easing\r\n });\r\n if (\"string\" === typeof config.to) {\r\n $element[0].className += \" \" + config.to\r\n } else if (config.to) {\r\n setProps($element, config.to)\r\n }\r\n },\r\n _finishTransition: function($element) {\r\n $element.css(\"transition\", \"none\")\r\n },\r\n _cleanup: function($element, config) {\r\n config.transitionAnimation.cleanup();\r\n if (\"string\" === typeof config.from) {\r\n $element.removeClass(config.from);\r\n $element.removeClass(config.to)\r\n }\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n if (!config) {\r\n return\r\n }\r\n if (jumpToEnd) {\r\n config.transitionAnimation.finish()\r\n } else {\r\n if (isPlainObject(config.to)) {\r\n each(config.to, (function(key) {\r\n $element.css(key, $element.css(key))\r\n }))\r\n }\r\n this._finishTransition($element);\r\n this._cleanup($element, config)\r\n }\r\n }\r\n};\r\nvar FrameAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n setProps($element, config.from)\r\n },\r\n animate: function($element, config) {\r\n var deferred = new Deferred;\r\n var that = this;\r\n if (!config) {\r\n return deferred.reject().promise()\r\n }\r\n each(config.to, (function(prop) {\r\n if (void 0 === config.from[prop]) {\r\n config.from[prop] = that._normalizeValue($element.css(prop))\r\n }\r\n }));\r\n if (config.to[TRANSFORM_PROP]) {\r\n config.from[TRANSFORM_PROP] = that._parseTransform(config.from[TRANSFORM_PROP]);\r\n config.to[TRANSFORM_PROP] = that._parseTransform(config.to[TRANSFORM_PROP])\r\n }\r\n config.frameAnimation = {\r\n to: config.to,\r\n from: config.from,\r\n currentValue: config.from,\r\n easing: convertTransitionTimingFuncToEasing(config.easing),\r\n duration: config.duration,\r\n startTime: (new Date).valueOf(),\r\n finish: function() {\r\n this.currentValue = this.to;\r\n this.draw();\r\n cancelAnimationFrame(config.frameAnimation.animationFrameId);\r\n deferred.resolve()\r\n },\r\n draw: function() {\r\n if (config.draw) {\r\n config.draw(this.currentValue);\r\n return\r\n }\r\n var currentValue = extend({}, this.currentValue);\r\n if (currentValue[TRANSFORM_PROP]) {\r\n currentValue[TRANSFORM_PROP] = map(currentValue[TRANSFORM_PROP], (function(value, prop) {\r\n if (\"translate\" === prop) {\r\n return getTranslateCss(value)\r\n } else if (\"scale\" === prop) {\r\n return \"scale(\" + value + \")\"\r\n } else if (\"rotate\" === prop.substr(0, prop.length - 1)) {\r\n return prop + \"(\" + value + \"deg)\"\r\n }\r\n })).join(\" \")\r\n }\r\n $element.css(currentValue)\r\n }\r\n };\r\n if (config.delay) {\r\n config.frameAnimation.startTime += config.delay;\r\n config.frameAnimation.delayTimeout = setTimeout((function() {\r\n that._startAnimation($element, config)\r\n }), config.delay)\r\n } else {\r\n that._startAnimation($element, config)\r\n }\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n eventsEngine.off($element, removeEventName);\r\n eventsEngine.on($element, removeEventName, (function() {\r\n if (config.frameAnimation) {\r\n cancelAnimationFrame(config.frameAnimation.animationFrameId)\r\n }\r\n }));\r\n this._animationStep($element, config)\r\n },\r\n _parseTransform: function(transformString) {\r\n var result = {};\r\n each(transformString.match(/\\w+\\d*\\w*\\([^)]*\\)\\s*/g), (function(i, part) {\r\n var translateData = parseTranslate(part);\r\n var scaleData = part.match(/scale\\((.+?)\\)/);\r\n var rotateData = part.match(/(rotate.)\\((.+)deg\\)/);\r\n if (translateData) {\r\n result.translate = translateData\r\n }\r\n if (scaleData && scaleData[1]) {\r\n result.scale = parseFloat(scaleData[1])\r\n }\r\n if (rotateData && rotateData[1]) {\r\n result[rotateData[1]] = parseFloat(rotateData[2])\r\n }\r\n }));\r\n return result\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }\r\n cancelAnimationFrame(frameAnimation.animationFrameId);\r\n clearTimeout(frameAnimation.delayTimeout);\r\n if (jumpToEnd) {\r\n frameAnimation.finish()\r\n }\r\n delete config.frameAnimation\r\n },\r\n _animationStep: function($element, config) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }\r\n var now = (new Date).valueOf();\r\n if (now >= frameAnimation.startTime + frameAnimation.duration) {\r\n frameAnimation.finish();\r\n return\r\n }\r\n frameAnimation.currentValue = this._calcStepValue(frameAnimation, now - frameAnimation.startTime);\r\n frameAnimation.draw();\r\n var that = this;\r\n frameAnimation.animationFrameId = requestAnimationFrame((function() {\r\n that._animationStep($element, config)\r\n }))\r\n },\r\n _calcStepValue: function(frameAnimation, currentDuration) {\r\n return function calcValueRecursively(from, to) {\r\n var result = Array.isArray(to) ? [] : {};\r\n each(to, (function(propName, endPropValue) {\r\n if (\"string\" === typeof endPropValue && false === parseFloat(endPropValue)) {\r\n return true\r\n }\r\n result[propName] = \"object\" === typeof endPropValue ? calcValueRecursively(from[propName], endPropValue) : function(propName) {\r\n var x = currentDuration / frameAnimation.duration;\r\n var t = currentDuration;\r\n var b = 1 * from[propName];\r\n var c = to[propName] - from[propName];\r\n var d = frameAnimation.duration;\r\n return getEasing(frameAnimation.easing)(x, t, b, c, d)\r\n }(propName)\r\n }));\r\n return result\r\n }(frameAnimation.from, frameAnimation.to)\r\n },\r\n _normalizeValue: function(value) {\r\n var numericValue = parseFloat(value);\r\n if (false === numericValue) {\r\n return value\r\n }\r\n return numericValue\r\n }\r\n};\r\nvar FallbackToNoAnimationStrategy = {\r\n initAnimation: function() {},\r\n animate: function() {\r\n return (new Deferred).resolve().promise()\r\n },\r\n stop: noop,\r\n isSynchronous: true\r\n};\r\nvar getAnimationStrategy = function(config) {\r\n config = config || {};\r\n var animationStrategies = {\r\n transition: transition() ? TransitionAnimationStrategy : FrameAnimationStrategy,\r\n frame: FrameAnimationStrategy,\r\n noAnimation: FallbackToNoAnimationStrategy\r\n };\r\n var strategy = config.strategy || \"transition\";\r\n if (\"css\" === config.type && !transition()) {\r\n strategy = \"noAnimation\"\r\n }\r\n return animationStrategies[strategy]\r\n};\r\nvar baseConfigValidator = function(config, animationType, validate, typeMessage) {\r\n each([\"from\", \"to\"], (function() {\r\n if (!validate(config[this])) {\r\n throw errors.Error(\"E0010\", animationType, this, typeMessage)\r\n }\r\n }))\r\n};\r\nvar isObjectConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, (function(target) {\r\n return isPlainObject(target)\r\n }), \"a plain object\")\r\n};\r\nvar isStringConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, (function(target) {\r\n return \"string\" === typeof target\r\n }), \"a string\")\r\n};\r\nvar CustomAnimationConfigurator = {\r\n setup: function() {}\r\n};\r\nvar CssAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isStringConfigValidator(config, \"css\")\r\n },\r\n setup: function() {}\r\n};\r\nvar positionAliases = {\r\n top: {\r\n my: \"bottom center\",\r\n at: \"top center\"\r\n },\r\n bottom: {\r\n my: \"top center\",\r\n at: \"bottom center\"\r\n },\r\n right: {\r\n my: \"left center\",\r\n at: \"right center\"\r\n },\r\n left: {\r\n my: \"right center\",\r\n at: \"left center\"\r\n }\r\n};\r\nvar SlideAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"slide\")\r\n },\r\n setup: function($element, config) {\r\n var location = locate($element);\r\n if (\"slide\" !== config.type) {\r\n var positioningConfig = \"slideIn\" === config.type ? config.from : config.to;\r\n positioningConfig.position = extend({\r\n of: window\r\n }, positionAliases[config.direction]);\r\n setupPosition($element, positioningConfig)\r\n }\r\n this._setUpConfig(location, config.from);\r\n this._setUpConfig(location, config.to);\r\n clearCache($element)\r\n },\r\n _setUpConfig: function(location, config) {\r\n config.left = \"left\" in config ? config.left : \"+=0\";\r\n config.top = \"top\" in config ? config.top : \"+=0\";\r\n this._initNewPosition(location, config)\r\n },\r\n _initNewPosition: function(location, config) {\r\n var position = {\r\n left: config.left,\r\n top: config.top\r\n };\r\n delete config.left;\r\n delete config.top;\r\n var relativeValue = this._getRelativeValue(position.left);\r\n if (void 0 !== relativeValue) {\r\n position.left = relativeValue + location.left\r\n } else {\r\n config.left = 0\r\n }\r\n relativeValue = this._getRelativeValue(position.top);\r\n if (void 0 !== relativeValue) {\r\n position.top = relativeValue + location.top\r\n } else {\r\n config.top = 0\r\n }\r\n config[TRANSFORM_PROP] = getTranslateCss({\r\n x: position.left,\r\n y: position.top\r\n })\r\n },\r\n _getRelativeValue: function(value) {\r\n var relativeValue;\r\n if (\"string\" === typeof value && (relativeValue = RELATIVE_VALUE_REGEX.exec(value))) {\r\n return parseInt(relativeValue[1] + \"1\") * relativeValue[2]\r\n }\r\n }\r\n};\r\nvar FadeAnimationConfigurator = {\r\n setup: function($element, config) {\r\n var _from$opacity, _to$opacity;\r\n var from = config.from;\r\n var to = config.to;\r\n var defaultFromOpacity = \"fadeOut\" === config.type ? 1 : 0;\r\n var defaultToOpacity = \"fadeOut\" === config.type ? 0 : 1;\r\n var fromOpacity = isPlainObject(from) ? String(null !== (_from$opacity = from.opacity) && void 0 !== _from$opacity ? _from$opacity : defaultFromOpacity) : String(from);\r\n var toOpacity = isPlainObject(to) ? String(null !== (_to$opacity = to.opacity) && void 0 !== _to$opacity ? _to$opacity : defaultToOpacity) : String(to);\r\n if (!config.skipElementInitialStyles) {\r\n fromOpacity = $element.css(\"opacity\")\r\n }\r\n switch (config.type) {\r\n case \"fadeIn\":\r\n toOpacity = 1;\r\n break;\r\n case \"fadeOut\":\r\n toOpacity = 0\r\n }\r\n config.from = {\r\n visibility: \"visible\",\r\n opacity: fromOpacity\r\n };\r\n config.to = {\r\n opacity: toOpacity\r\n }\r\n }\r\n};\r\nvar PopAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"pop\")\r\n },\r\n setup: function($element, config) {\r\n var from = config.from;\r\n var to = config.to;\r\n var fromOpacity = \"opacity\" in from ? from.opacity : $element.css(\"opacity\");\r\n var toOpacity = \"opacity\" in to ? to.opacity : 1;\r\n var fromScale = \"scale\" in from ? from.scale : 0;\r\n var toScale = \"scale\" in to ? to.scale : 1;\r\n config.from = {\r\n opacity: fromOpacity\r\n };\r\n var translate = getTranslate($element);\r\n config.from[TRANSFORM_PROP] = this._getCssTransform(translate, fromScale);\r\n config.to = {\r\n opacity: toOpacity\r\n };\r\n config.to[TRANSFORM_PROP] = this._getCssTransform(translate, toScale)\r\n },\r\n _getCssTransform: function(translate, scale) {\r\n return getTranslateCss(translate) + \"scale(\" + scale + \")\"\r\n }\r\n};\r\nvar animationConfigurators = {\r\n custom: CustomAnimationConfigurator,\r\n slide: SlideAnimationConfigurator,\r\n slideIn: SlideAnimationConfigurator,\r\n slideOut: SlideAnimationConfigurator,\r\n fade: FadeAnimationConfigurator,\r\n fadeIn: FadeAnimationConfigurator,\r\n fadeOut: FadeAnimationConfigurator,\r\n pop: PopAnimationConfigurator,\r\n css: CssAnimationConfigurator\r\n};\r\nvar getAnimationConfigurator = function(config) {\r\n var result = animationConfigurators[config.type];\r\n if (!result) {\r\n throw errors.Error(\"E0011\", config.type)\r\n }\r\n return result\r\n};\r\nvar defaultJSConfig = {\r\n type: \"custom\",\r\n from: {},\r\n to: {},\r\n duration: 400,\r\n start: noop,\r\n complete: noop,\r\n easing: \"ease\",\r\n delay: 0\r\n};\r\nvar defaultCssConfig = {\r\n duration: 400,\r\n easing: \"ease\",\r\n delay: 0\r\n};\r\n\r\nfunction setupAnimationOnElement() {\r\n var $element = this.element;\r\n var config = this.config;\r\n setupPosition($element, config.from);\r\n setupPosition($element, config.to);\r\n this.configurator.setup($element, config);\r\n $element.data(ANIM_DATA_KEY, this);\r\n if (fx.off) {\r\n config.duration = 0;\r\n config.delay = 0\r\n }\r\n this.strategy.initAnimation($element, config);\r\n if (config.start) {\r\n var element = getPublicElement($element);\r\n config.start.apply(this, [element, config])\r\n }\r\n}\r\nvar onElementAnimationComplete = function(animation) {\r\n var $element = animation.element;\r\n var config = animation.config;\r\n $element.removeData(ANIM_DATA_KEY);\r\n if (config.complete) {\r\n var element = getPublicElement($element);\r\n config.complete.apply(this, [element, config])\r\n }\r\n animation.deferred.resolveWith(this, [$element, config])\r\n};\r\nvar startAnimationOnElement = function() {\r\n var animation = this;\r\n var $element = animation.element;\r\n var config = animation.config;\r\n animation.isStarted = true;\r\n return animation.strategy.animate($element, config).done((function() {\r\n onElementAnimationComplete(animation)\r\n })).fail((function() {\r\n animation.deferred.rejectWith(this, [$element, config])\r\n }))\r\n};\r\nvar stopAnimationOnElement = function(jumpToEnd) {\r\n var $element = this.element;\r\n var config = this.config;\r\n clearTimeout(this.startTimeout);\r\n if (!this.isStarted) {\r\n this.start()\r\n }\r\n this.strategy.stop($element, config, jumpToEnd)\r\n};\r\nvar scopedRemoveEvent = addNamespace(removeEvent, \"dxFXStartAnimation\");\r\nvar subscribeToRemoveEvent = function(animation) {\r\n eventsEngine.off(animation.element, scopedRemoveEvent);\r\n eventsEngine.on(animation.element, scopedRemoveEvent, (function() {\r\n fx.stop(animation.element)\r\n }));\r\n animation.deferred.always((function() {\r\n eventsEngine.off(animation.element, scopedRemoveEvent)\r\n }))\r\n};\r\nvar createAnimation = function(element, initialConfig) {\r\n var defaultConfig = \"css\" === initialConfig.type ? defaultCssConfig : defaultJSConfig;\r\n var config = extend(true, {}, defaultConfig, initialConfig);\r\n var configurator = getAnimationConfigurator(config);\r\n var strategy = getAnimationStrategy(config);\r\n var animation = {\r\n element: $(element),\r\n config: config,\r\n configurator: configurator,\r\n strategy: strategy,\r\n isSynchronous: strategy.isSynchronous,\r\n setup: setupAnimationOnElement,\r\n start: startAnimationOnElement,\r\n stop: stopAnimationOnElement,\r\n deferred: new Deferred\r\n };\r\n if (isFunction(configurator.validateConfig)) {\r\n configurator.validateConfig(config)\r\n }\r\n subscribeToRemoveEvent(animation);\r\n return animation\r\n};\r\nvar animate = function(element, config) {\r\n var $element = $(element);\r\n if (!$element.length) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n var animation = createAnimation($element, config);\r\n pushInAnimationQueue($element, animation);\r\n return animation.deferred.promise()\r\n};\r\n\r\nfunction pushInAnimationQueue($element, animation) {\r\n var queueData = getAnimQueueData($element);\r\n writeAnimQueueData($element, queueData);\r\n queueData.push(animation);\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n}\r\n\r\nfunction getAnimQueueData($element) {\r\n return $element.data(ANIM_QUEUE_KEY) || []\r\n}\r\n\r\nfunction writeAnimQueueData($element, queueData) {\r\n $element.data(ANIM_QUEUE_KEY, queueData)\r\n}\r\nvar destroyAnimQueueData = function($element) {\r\n $element.removeData(ANIM_QUEUE_KEY)\r\n};\r\n\r\nfunction isAnimating($element) {\r\n return !!$element.data(ANIM_DATA_KEY)\r\n}\r\n\r\nfunction shiftFromAnimationQueue($element, queueData) {\r\n queueData = getAnimQueueData($element);\r\n if (!queueData.length) {\r\n return\r\n }\r\n var animation = queueData.shift();\r\n if (0 === queueData.length) {\r\n destroyAnimQueueData($element)\r\n }\r\n executeAnimation(animation).done((function() {\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element)\r\n }\r\n }))\r\n}\r\n\r\nfunction executeAnimation(animation) {\r\n animation.setup();\r\n if (fx.off || animation.isSynchronous) {\r\n animation.start()\r\n } else {\r\n animation.startTimeout = setTimeout((function() {\r\n animation.start()\r\n }))\r\n }\r\n return animation.deferred.promise()\r\n}\r\n\r\nfunction setupPosition($element, config) {\r\n if (!config || !config.position) {\r\n return\r\n }\r\n var win = $(window);\r\n var left = 0;\r\n var top = 0;\r\n var position = positionUtils.calculate($element, config.position);\r\n var offset = $element.offset();\r\n var currentPosition = $element.position();\r\n if (currentPosition.top > offset.top) {\r\n top = win.scrollTop()\r\n }\r\n if (currentPosition.left > offset.left) {\r\n left = win.scrollLeft()\r\n }\r\n extend(config, {\r\n left: position.h.location - offset.left + currentPosition.left - left,\r\n top: position.v.location - offset.top + currentPosition.top - top\r\n });\r\n delete config.position\r\n}\r\n\r\nfunction setProps($element, props) {\r\n each(props, (function(key, value) {\r\n try {\r\n $element.css(key, isFunction(value) ? value() : value)\r\n } catch (e) {}\r\n }))\r\n}\r\nvar stop = function(element, jumpToEnd) {\r\n var $element = $(element);\r\n var queueData = getAnimQueueData($element);\r\n each(queueData, (function(_, animation) {\r\n animation.config.delay = 0;\r\n animation.config.duration = 0;\r\n animation.isSynchronous = true\r\n }));\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n var animation = $element.data(ANIM_DATA_KEY);\r\n if (animation) {\r\n animation.stop(jumpToEnd)\r\n }\r\n $element.removeData(ANIM_DATA_KEY);\r\n destroyAnimQueueData($element)\r\n};\r\nvar fx = {\r\n off: false,\r\n animationTypes: animationConfigurators,\r\n animate: animate,\r\n createAnimation: createAnimation,\r\n isAnimating: isAnimating,\r\n stop: stop,\r\n _simulatedTransitionEndDelay: 100\r\n};\r\nexport default fx;\r\n","// Mixins\nimport Delayable from '../delayable'\nimport Toggleable from '../toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\ntype Listeners = Dictionary<(e: MouseEvent & KeyboardEvent & FocusEvent) => void>\n\nconst baseMixins = mixins(\n Delayable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'activatable',\n\n props: {\n activator: {\n default: null as unknown as PropType<string | HTMLElement | VNode | Element | null>,\n validator: (val: string | object) => {\n return ['string', 'object'].includes(typeof val)\n },\n },\n disabled: Boolean,\n internalActivator: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n openOnFocus: Boolean,\n },\n\n data: () => ({\n // Do not use this directly, call getActivator() instead\n activatorElement: null as HTMLElement | null,\n activatorNode: [] as VNode[],\n events: ['click', 'mouseenter', 'mouseleave', 'focus'],\n listeners: {} as Listeners,\n }),\n\n watch: {\n activator: 'resetActivator',\n openOnFocus: 'resetActivator',\n openOnHover: 'resetActivator',\n },\n\n mounted () {\n const slotType = getSlotType(this, 'activator', true)\n\n if (slotType && ['v-slot', 'normal'].includes(slotType)) {\n consoleError(`The activator slot must be bound, try '<template v-slot:activator=\"{ on }\"><v-btn v-on=\"on\">'`, this)\n }\n\n this.addActivatorEvents()\n },\n\n beforeDestroy () {\n this.removeActivatorEvents()\n },\n\n methods: {\n addActivatorEvents () {\n if (\n !this.activator ||\n this.disabled ||\n !this.getActivator()\n ) return\n\n this.listeners = this.genActivatorListeners()\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n this.getActivator()!.addEventListener(key, this.listeners[key] as any)\n }\n },\n genActivator () {\n const node = getSlot(this, 'activator', Object.assign(this.getValueProxy(), {\n on: this.genActivatorListeners(),\n attrs: this.genActivatorAttributes(),\n })) || []\n\n this.activatorNode = node\n\n return node\n },\n genActivatorAttributes () {\n return {\n role: (this.openOnClick && !this.openOnHover) ? 'button' : undefined,\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genActivatorListeners () {\n if (this.disabled) return {}\n\n const listeners: Listeners = {}\n\n if (this.openOnHover) {\n listeners.mouseenter = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.mouseleave = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n } else if (this.openOnClick) {\n listeners.click = (e: MouseEvent) => {\n const activator = this.getActivator(e)\n if (activator) activator.focus()\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n if (this.openOnFocus) {\n listeners.focus = (e: FocusEvent) => {\n this.getActivator(e)\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n return listeners\n },\n getActivator (e?: Event): HTMLElement | null {\n // If we've already fetched the activator, re-use\n if (this.activatorElement) return this.activatorElement\n\n let activator = null\n\n if (this.activator) {\n const target = this.internalActivator ? this.$el : document\n\n if (typeof this.activator === 'string') {\n // Selector\n activator = target.querySelector(this.activator)\n } else if ((this.activator as any).$el) {\n // Component (ref)\n activator = (this.activator as any).$el\n } else {\n // HTMLElement | Element\n activator = this.activator\n }\n } else if (this.activatorNode.length === 1 || (this.activatorNode.length && !e)) {\n // Use the contents of the activator slot\n // There's either only one element in it or we\n // don't have a click event to use as a last resort\n const vm = this.activatorNode[0].componentInstance\n if (\n vm &&\n vm.$options.mixins && // Activatable is indirectly used via Menuable\n vm.$options.mixins.some((m: any) => m.options && ['activatable', 'menuable'].includes(m.options.name))\n ) {\n // Activator is actually another activatible component, use its activator (#8846)\n activator = (vm as any).getActivator()\n } else {\n activator = this.activatorNode[0].elm as HTMLElement\n }\n } else if (e) {\n // Activated by a click or focus event\n activator = (e.currentTarget || e.target) as HTMLElement\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n this.activatorElement = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return this.activatorElement\n },\n getContentSlot () {\n return getSlot(this, 'default', this.getValueProxy(), true)\n },\n getValueProxy (): object {\n const self = this\n return {\n get value () {\n return self.isActive\n },\n set value (isActive: boolean) {\n self.isActive = isActive\n },\n }\n },\n removeActivatorEvents () {\n if (\n !this.activator ||\n !this.activatorElement\n ) return\n\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n (this.activatorElement as any).removeEventListener(key, this.listeners[key])\n }\n\n this.listeners = {}\n },\n resetActivator () {\n this.removeActivatorEvents()\n this.activatorElement = null\n this.getActivator()\n this.addActivatorEvents()\n },\n },\n})\n","/**\r\n * DevExtreme (esm/core/memorized_callbacks.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport Callbacks from \"./utils/callbacks\";\r\nexport default class MemorizedCallbacks {\r\n constructor() {\r\n this.memory = [];\r\n this.callbacks = Callbacks()\r\n }\r\n add(fn) {\r\n each(this.memory, (_, item) => fn.apply(fn, item));\r\n this.callbacks.add(fn)\r\n }\r\n remove(fn) {\r\n this.callbacks.remove(fn)\r\n }\r\n fire() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n this.memory.push(args);\r\n this.callbacks.fire.apply(this.callbacks, args)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/widget/selectors.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nvar focusableFn = function(element, tabIndex) {\r\n if (!visible(element)) {\r\n return false\r\n }\r\n var nodeName = element.nodeName.toLowerCase();\r\n var isTabIndexNotNaN = !isNaN(tabIndex);\r\n var isDisabled = element.disabled;\r\n var isDefaultFocus = /^(input|select|textarea|button|object|iframe)$/.test(nodeName);\r\n var isHyperlink = \"a\" === nodeName;\r\n var isFocusable;\r\n var isContentEditable = element.isContentEditable;\r\n if (isDefaultFocus || isContentEditable) {\r\n isFocusable = !isDisabled\r\n } else if (isHyperlink) {\r\n isFocusable = element.href || isTabIndexNotNaN\r\n } else {\r\n isFocusable = isTabIndexNotNaN\r\n }\r\n return isFocusable\r\n};\r\n\r\nfunction visible(element) {\r\n var $element = $(element);\r\n return $element.is(\":visible\") && \"hidden\" !== $element.css(\"visibility\") && \"hidden\" !== $element.parents().css(\"visibility\")\r\n}\r\nexport var focusable = function(index, element) {\r\n return focusableFn(element, $(element).attr(\"tabIndex\"))\r\n};\r\nexport var tabbable = function(index, element) {\r\n var tabIndex = $(element).attr(\"tabIndex\");\r\n return (isNaN(tabIndex) || tabIndex >= 0) && focusableFn(element, tabIndex)\r\n};\r\nexport var focused = function($element) {\r\n var element = $($element).get(0);\r\n return domAdapter.getActiveElement(element) === element\r\n};\r\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n '_'\n ),\n standalone:\n 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n '_'\n ),\n },\n monthsShort:\n 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hr;\n\n})));\n","/**\r\n * DevExtreme (esm/core/devices.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"./utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow,\r\n getNavigator,\r\n hasWindow\r\n} from \"./utils/window\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n isPlainObject\r\n} from \"./utils/type\";\r\nimport errors from \"./errors\";\r\nimport Callbacks from \"./utils/callbacks\";\r\nimport readyCallbacks from \"./utils/ready_callbacks\";\r\nimport resizeCallbacks from \"./utils/resize_callbacks\";\r\nimport {\r\n EventsStrategy\r\n} from \"./events_strategy\";\r\nimport {\r\n sessionStorage as SessionStorage\r\n} from \"./utils/storage\";\r\nimport {\r\n changeCallback,\r\n value as viewPort\r\n} from \"./utils/view_port\";\r\nimport Config from \"./config\";\r\nvar window = getWindow();\r\nvar KNOWN_UA_TABLE = {\r\n iPhone: \"iPhone\",\r\n iPhone5: \"iPhone\",\r\n iPhone6: \"iPhone\",\r\n iPhone6plus: \"iPhone\",\r\n iPad: \"iPad\",\r\n iPadMini: \"iPad Mini\",\r\n androidPhone: \"Android Mobile\",\r\n androidTablet: \"Android\",\r\n msSurface: \"Windows ARM Tablet PC\",\r\n desktop: \"desktop\"\r\n};\r\nvar DEFAULT_DEVICE = {\r\n deviceType: \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n phone: false,\r\n tablet: false,\r\n android: false,\r\n ios: false,\r\n generic: true,\r\n grade: \"A\",\r\n mac: false\r\n};\r\nvar UA_PARSERS = {\r\n generic(userAgent) {\r\n var isPhone = /windows phone/i.test(userAgent) || userAgent.match(/WPDesktop/);\r\n var isTablet = !isPhone && /Windows(.*)arm(.*)Tablet PC/i.test(userAgent);\r\n var isDesktop = !isPhone && !isTablet && /msapphost/i.test(userAgent);\r\n var isMac = /((intel|ppc) mac os x)/.test(userAgent.toLowerCase());\r\n if (!(isPhone || isTablet || isDesktop || isMac)) {\r\n return null\r\n }\r\n return {\r\n deviceType: isPhone ? \"phone\" : isTablet ? \"tablet\" : \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n grade: \"A\",\r\n mac: isMac\r\n }\r\n },\r\n appleTouchDevice(userAgent) {\r\n var navigator = getNavigator();\r\n var isIpadOs = /Macintosh/i.test(userAgent) && (null === navigator || void 0 === navigator ? void 0 : navigator.maxTouchPoints) > 2;\r\n var isAppleDevice = /ip(hone|od|ad)/i.test(userAgent);\r\n if (!isAppleDevice && !isIpadOs) {\r\n return null\r\n }\r\n var isPhone = /ip(hone|od)/i.test(userAgent);\r\n var matches = userAgent.match(/os\\s{0,}X? (\\d+)_(\\d+)_?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2], 10), parseInt(matches[3] || 0, 10)] : [];\r\n var isIPhone4 = 480 === window.screen.height;\r\n var grade = isIPhone4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"ios\",\r\n version: version,\r\n grade: grade\r\n }\r\n },\r\n android(userAgent) {\r\n var isAndroid = /android|htc_|silk/i.test(userAgent);\r\n var isWinPhone = /windows phone/i.test(userAgent);\r\n if (!isAndroid || isWinPhone) {\r\n return null\r\n }\r\n var isPhone = /mobile/i.test(userAgent);\r\n var matches = userAgent.match(/android (\\d+)\\.?(\\d+)?\\.?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2] || 0, 10), parseInt(matches[3] || 0, 10)] : [];\r\n var worseThan4_4 = version.length > 1 && (version[0] < 4 || 4 === version[0] && version[1] < 4);\r\n var grade = worseThan4_4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"android\",\r\n version: version,\r\n grade: grade\r\n }\r\n }\r\n};\r\nvar UA_PARSERS_ARRAY = [UA_PARSERS.appleTouchDevice, UA_PARSERS.android, UA_PARSERS.generic];\r\nclass Devices {\r\n constructor(options) {\r\n this._window = (null === options || void 0 === options ? void 0 : options.window) || window;\r\n this._realDevice = this._getDevice();\r\n this._currentDevice = void 0;\r\n this._currentOrientation = void 0;\r\n this._eventsStrategy = new EventsStrategy(this);\r\n this.changed = Callbacks();\r\n if (hasWindow()) {\r\n readyCallbacks.add(this._recalculateOrientation.bind(this));\r\n resizeCallbacks.add(this._recalculateOrientation.bind(this))\r\n }\r\n }\r\n current(deviceOrName) {\r\n if (deviceOrName) {\r\n this._currentDevice = this._getDevice(deviceOrName);\r\n this._forced = true;\r\n this.changed.fire();\r\n return\r\n }\r\n if (!this._currentDevice) {\r\n deviceOrName = void 0;\r\n try {\r\n deviceOrName = this._getDeviceOrNameFromWindowScope()\r\n } catch (e) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n } finally {\r\n if (!deviceOrName) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n }\r\n if (deviceOrName) {\r\n this._forced = true\r\n }\r\n }\r\n this._currentDevice = this._getDevice(deviceOrName)\r\n }\r\n return this._currentDevice\r\n }\r\n real(forceDevice) {\r\n return extend({}, this._realDevice)\r\n }\r\n orientation() {\r\n return this._currentOrientation\r\n }\r\n isForced() {\r\n return this._forced\r\n }\r\n isRippleEmulator() {\r\n return !!this._window.tinyHippos\r\n }\r\n _getCssClasses(device) {\r\n var result = [];\r\n var realDevice = this._realDevice;\r\n device = device || this.current();\r\n if (device.deviceType) {\r\n result.push(\"dx-device-\".concat(device.deviceType));\r\n if (\"desktop\" !== device.deviceType) {\r\n result.push(\"dx-device-mobile\")\r\n }\r\n }\r\n result.push(\"dx-device-\".concat(realDevice.platform));\r\n if (realDevice.version && realDevice.version.length) {\r\n result.push(\"dx-device-\".concat(realDevice.platform, \"-\").concat(realDevice.version[0]))\r\n }\r\n if (this.isSimulator()) {\r\n result.push(\"dx-simulator\")\r\n }\r\n if (Config().rtlEnabled) {\r\n result.push(\"dx-rtl\")\r\n }\r\n return result\r\n }\r\n attachCssClasses(element, device) {\r\n this._deviceClasses = this._getCssClasses(device).join(\" \");\r\n $(element).addClass(this._deviceClasses)\r\n }\r\n detachCssClasses(element) {\r\n $(element).removeClass(this._deviceClasses)\r\n }\r\n isSimulator() {\r\n try {\r\n return this._isSimulator || hasWindow() && this._window.top !== this._window.self && this._window.top[\"dx-force-device\"] || this.isRippleEmulator()\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n forceSimulator() {\r\n this._isSimulator = true\r\n }\r\n _getDevice(deviceName) {\r\n if (\"genericPhone\" === deviceName) {\r\n deviceName = {\r\n deviceType: \"phone\",\r\n platform: \"generic\",\r\n generic: true\r\n }\r\n }\r\n if (isPlainObject(deviceName)) {\r\n return this._fromConfig(deviceName)\r\n } else {\r\n var ua;\r\n if (deviceName) {\r\n ua = KNOWN_UA_TABLE[deviceName];\r\n if (!ua) {\r\n throw errors.Error(\"E0005\")\r\n }\r\n } else {\r\n var navigator = getNavigator();\r\n ua = navigator.userAgent\r\n }\r\n return this._fromUA(ua)\r\n }\r\n }\r\n _getDeviceOrNameFromWindowScope() {\r\n var result;\r\n if (hasWindow() && (this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"])) {\r\n result = this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"]\r\n }\r\n return result\r\n }\r\n _getDeviceNameFromSessionStorage() {\r\n var sessionStorage = SessionStorage();\r\n if (!sessionStorage) {\r\n return\r\n }\r\n var deviceOrName = sessionStorage.getItem(\"dx-force-device\");\r\n try {\r\n return JSON.parse(deviceOrName)\r\n } catch (ex) {\r\n return deviceOrName\r\n }\r\n }\r\n _fromConfig(config) {\r\n var result = extend({}, DEFAULT_DEVICE, this._currentDevice, config);\r\n var shortcuts = {\r\n phone: \"phone\" === result.deviceType,\r\n tablet: \"tablet\" === result.deviceType,\r\n android: \"android\" === result.platform,\r\n ios: \"ios\" === result.platform,\r\n generic: \"generic\" === result.platform\r\n };\r\n return extend(result, shortcuts)\r\n }\r\n _fromUA(ua) {\r\n for (var idx = 0; idx < UA_PARSERS_ARRAY.length; idx += 1) {\r\n var parser = UA_PARSERS_ARRAY[idx];\r\n var config = parser(ua);\r\n if (config) {\r\n return this._fromConfig(config)\r\n }\r\n }\r\n return DEFAULT_DEVICE\r\n }\r\n _changeOrientation() {\r\n var $window = $(this._window);\r\n var orientation = getHeight($window) > getWidth($window) ? \"portrait\" : \"landscape\";\r\n if (this._currentOrientation === orientation) {\r\n return\r\n }\r\n this._currentOrientation = orientation;\r\n this._eventsStrategy.fireEvent(\"orientationChanged\", [{\r\n orientation: orientation\r\n }])\r\n }\r\n _recalculateOrientation() {\r\n var windowWidth = getWidth(this._window);\r\n if (this._currentWidth === windowWidth) {\r\n return\r\n }\r\n this._currentWidth = windowWidth;\r\n this._changeOrientation()\r\n }\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n }\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n}\r\nvar devices = new Devices;\r\nvar viewPortElement = viewPort();\r\nif (viewPortElement) {\r\n devices.attachCssClasses(viewPortElement)\r\n}\r\nchangeCallback.add((viewPort, prevViewport) => {\r\n devices.detachCssClasses(prevViewport);\r\n devices.attachCssClasses(viewPort)\r\n});\r\nexport default devices;\r\n","//! moment.js locale configuration\n//! locale : Arabic (Palestine) [ar-ps]\n//! author : Majd Al-Shihabi : https://github.com/majdal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n var arPs = moment.defineLocale('ar-ps', {\n months: 'كانون الثاني_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_تشري الأوّل_تشرين الثاني_كانون الأوّل'.split(\n '_'\n ),\n monthsShort:\n 'ك٢_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n preparse: function (string) {\n return string\n .replace(/[٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .split('') // reversed since negative lookbehind not supported everywhere\n .reverse()\n .join('')\n .replace(/[١٢](?![\\u062a\\u0643])/g, function (match) {\n return numberMap[match];\n })\n .split('')\n .reverse()\n .join('')\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return arPs;\n\n})));\n","// Styles\nimport './VBadge.sass'\n\n// Components\nimport VIcon from '../VIcon/VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport Transitionable from '../../mixins/transitionable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport {\n convertToUnit,\n getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Colorable,\n PositionableFactory(['left', 'bottom']),\n Themeable,\n Toggleable,\n Transitionable,\n/* @vue/component */\n).extend({\n name: 'v-badge',\n\n props: {\n avatar: Boolean,\n bordered: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n content: { required: false },\n dot: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\n },\n icon: String,\n inline: Boolean,\n offsetX: [Number, String],\n offsetY: [Number, String],\n overlap: Boolean,\n tile: Boolean,\n transition: {\n type: String,\n default: 'scale-rotate-transition',\n },\n value: { default: true },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-badge--avatar': this.avatar,\n 'v-badge--bordered': this.bordered,\n 'v-badge--bottom': this.bottom,\n 'v-badge--dot': this.dot,\n 'v-badge--icon': this.icon != null,\n 'v-badge--inline': this.inline,\n 'v-badge--left': this.left,\n 'v-badge--overlap': this.overlap,\n 'v-badge--tile': this.tile,\n ...this.themeClasses,\n }\n },\n computedBottom (): string {\n return this.bottom ? 'auto' : this.computedYOffset\n },\n computedLeft (): string {\n if (this.isRtl) {\n return this.left ? this.computedXOffset : 'auto'\n }\n\n return this.left ? 'auto' : this.computedXOffset\n },\n computedRight (): string {\n if (this.isRtl) {\n return this.left ? 'auto' : this.computedXOffset\n }\n\n return !this.left ? 'auto' : this.computedXOffset\n },\n computedTop (): string {\n return this.bottom ? this.computedYOffset : 'auto'\n },\n computedXOffset (): string {\n return this.calcPosition(this.offsetX)\n },\n computedYOffset (): string {\n return this.calcPosition(this.offsetY)\n },\n isRtl (): boolean {\n return this.$vuetify.rtl\n },\n // Default fallback if offsetX\n // or offsetY are undefined.\n offset (): number {\n if (this.overlap) return this.dot ? 8 : 12\n return this.dot ? 2 : 4\n },\n styles (): object {\n if (this.inline) return {}\n\n return {\n bottom: this.computedBottom,\n left: this.computedLeft,\n right: this.computedRight,\n top: this.computedTop,\n }\n },\n },\n\n methods: {\n calcPosition (offset: string | number): string {\n return `calc(100% - ${convertToUnit(offset || this.offset)})`\n },\n genBadge () {\n const lang = this.$vuetify.lang\n const label = this.$attrs['aria-label'] || lang.t(this.label)\n\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-badge__badge',\n style: this.styles,\n attrs: {\n 'aria-atomic': this.$attrs['aria-atomic'] || 'true',\n 'aria-label': label,\n 'aria-live': this.$attrs['aria-live'] || 'polite',\n title: this.$attrs.title,\n role: this.$attrs.role || 'status',\n },\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n })\n\n const badge = this.$createElement('span', data, [this.genBadgeContent()])\n\n if (!this.transition) return badge\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [badge])\n },\n genBadgeContent () {\n // Dot prop shows no content\n if (this.dot) return undefined\n\n const slot = getSlot(this, 'badge')\n\n if (slot) return slot\n if (this.content) return String(this.content)\n if (this.icon) return this.$createElement(VIcon, this.icon)\n\n return undefined\n },\n genBadgeWrapper () {\n return this.$createElement('span', {\n staticClass: 'v-badge__wrapper',\n }, [this.genBadge()])\n },\n },\n\n render (h): VNode {\n const badge = [this.genBadgeWrapper()]\n const children = [getSlot(this)]\n const {\n 'aria-atomic': _x,\n 'aria-label': _y,\n 'aria-live': _z,\n role,\n title,\n ...attrs\n } = this.$attrs\n\n if (this.inline && this.left) children.unshift(badge)\n else children.push(badge)\n\n return h('span', {\n staticClass: 'v-badge',\n attrs,\n class: this.classes,\n }, children)\n },\n})\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","// Mixins\nimport { Registrable, inject as RegistrableInject } from '../registrable'\n\n// Utilities\nimport { ExtractVue } from '../../util/mixins'\nimport { VueConstructor } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport type Groupable<T extends string, C extends VueConstructor | null = null> = VueConstructor<ExtractVue<Registrable<T, C>> & {\n activeClass: string\n isActive: boolean\n disabled: boolean\n groupClasses: object\n toggle (e?: Event): void\n}>\n\nexport function factory<T extends string, C extends VueConstructor | null = null> (\n namespace: T,\n child?: string,\n parent?: string\n): Groupable<T, C> {\n return RegistrableInject<T, C>(namespace, child, parent).extend({\n name: 'groupable',\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this[namespace]) return undefined\n\n return this[namespace].activeClass\n },\n } as any as PropValidator<string>,\n disabled: Boolean,\n },\n\n data () {\n return {\n isActive: false,\n }\n },\n\n computed: {\n groupClasses (): object {\n if (!this.activeClass) return {}\n\n return {\n [this.activeClass]: this.isActive,\n }\n },\n },\n\n created () {\n this[namespace] && (this[namespace] as any).register(this)\n },\n\n beforeDestroy () {\n this[namespace] && (this[namespace] as any).unregister(this)\n },\n\n methods: {\n toggle (e?: Event) {\n if (this.disabled && e) {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n e.preventDefault()\n return\n }\n this.$emit('change')\n },\n },\n })\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\nconst Groupable = factory('itemGroup')\n\nexport default Groupable\n","/**\r\n * DevExtreme (esm/animation/frame.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n hasWindow,\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = hasWindow() ? getWindow() : {};\r\nimport callOnce from \"../core/utils/call_once\";\r\nvar FRAME_ANIMATION_STEP_TIME = 1e3 / 60;\r\nvar request = function(callback) {\r\n return setTimeout(callback, FRAME_ANIMATION_STEP_TIME)\r\n};\r\nvar cancel = function(requestID) {\r\n clearTimeout(requestID)\r\n};\r\nvar setAnimationFrameMethods = callOnce((function() {\r\n var nativeRequest = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame;\r\n var nativeCancel = window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || window.msCancelAnimationFrame;\r\n if (nativeRequest && nativeCancel) {\r\n request = nativeRequest;\r\n cancel = nativeCancel\r\n }\r\n}));\r\nexport function requestAnimationFrame() {\r\n setAnimationFrameMethods();\r\n return request.apply(window, arguments)\r\n}\r\nexport function cancelAnimationFrame() {\r\n setAnimationFrameMethods();\r\n cancel.apply(window, arguments)\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/validation_engine.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../core/class\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n EventsStrategy\r\n} from \"../core/events_strategy\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n grep\r\n} from \"../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isString,\r\n isDate,\r\n isBoolean,\r\n isObject,\r\n isFunction,\r\n isPromise,\r\n isNumeric\r\n} from \"../core/utils/type\";\r\nimport numberLocalization from \"../localization/number\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport {\r\n fromPromise,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar STATUS = {\r\n valid: \"valid\",\r\n invalid: \"invalid\",\r\n pending: \"pending\"\r\n};\r\nclass BaseRuleValidator {\r\n constructor() {\r\n this.NAME = \"base\"\r\n }\r\n defaultMessage(value) {\r\n return messageLocalization.getFormatter(\"validation-\".concat(this.NAME))(value)\r\n }\r\n defaultFormattedMessage(value) {\r\n return messageLocalization.getFormatter(\"validation-\".concat(this.NAME, \"-formatted\"))(value)\r\n }\r\n _isValueEmpty(value) {\r\n return !rulesValidators.required.validate(value, {})\r\n }\r\n validate(value, rule) {\r\n var valueArray = Array.isArray(value) ? value : [value];\r\n var result = true;\r\n if (valueArray.length) {\r\n valueArray.every(itemValue => {\r\n result = this._validate(itemValue, rule);\r\n return result\r\n })\r\n } else {\r\n result = this._validate(null, rule)\r\n }\r\n return result\r\n }\r\n}\r\nclass RequiredRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"required\"\r\n }\r\n _validate(value, rule) {\r\n if (!isDefined(value)) {\r\n return false\r\n }\r\n if (false === value) {\r\n return false\r\n }\r\n value = String(value);\r\n if (rule.trim || !isDefined(rule.trim)) {\r\n value = value.trim()\r\n }\r\n return \"\" !== value\r\n }\r\n}\r\nclass NumericRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"numeric\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n if (rule.useCultureSettings && isString(value)) {\r\n return !isNaN(numberLocalization.parse(value))\r\n } else {\r\n return isNumeric(value)\r\n }\r\n }\r\n}\r\nclass RangeRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"range\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validNumber = rulesValidators.numeric.validate(value, rule);\r\n var validValue = isDefined(value) && \"\" !== value;\r\n var number = validNumber ? parseFloat(value) : validValue && value.valueOf();\r\n var min = rule.min;\r\n var max = rule.max;\r\n if (!(validNumber || isDate(value)) && !validValue) {\r\n return false\r\n }\r\n if (isDefined(min)) {\r\n if (isDefined(max)) {\r\n return number >= min && number <= max\r\n }\r\n return number >= min\r\n } else if (isDefined(max)) {\r\n return number <= max\r\n } else {\r\n throw errors.Error(\"E0101\")\r\n }\r\n }\r\n}\r\nclass StringLengthRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"stringLength\"\r\n }\r\n _validate(value, rule) {\r\n var _value;\r\n value = String(null !== (_value = value) && void 0 !== _value ? _value : \"\");\r\n if (rule.trim || !isDefined(rule.trim)) {\r\n value = value.trim()\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n return rulesValidators.range.validate(value.length, extend({}, rule))\r\n }\r\n}\r\nclass CustomRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"custom\"\r\n }\r\n validate(value, rule) {\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validator = rule.validator;\r\n var dataGetter = validator && isFunction(validator.option) && validator.option(\"dataGetter\");\r\n var extraParams = isFunction(dataGetter) && dataGetter();\r\n var params = {\r\n value: value,\r\n validator: validator,\r\n rule: rule\r\n };\r\n if (extraParams) {\r\n extend(params, extraParams)\r\n }\r\n return rule.validationCallback(params)\r\n }\r\n}\r\nclass AsyncRuleValidator extends CustomRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"async\"\r\n }\r\n validate(value, rule) {\r\n if (!isDefined(rule.reevaluate)) {\r\n extend(rule, {\r\n reevaluate: true\r\n })\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validator = rule.validator;\r\n var dataGetter = validator && isFunction(validator.option) && validator.option(\"dataGetter\");\r\n var extraParams = isFunction(dataGetter) && dataGetter();\r\n var params = {\r\n value: value,\r\n validator: validator,\r\n rule: rule\r\n };\r\n if (extraParams) {\r\n extend(params, extraParams)\r\n }\r\n var callbackResult = rule.validationCallback(params);\r\n if (!isPromise(callbackResult)) {\r\n throw errors.Error(\"E0103\")\r\n }\r\n return this._getWrappedPromise(fromPromise(callbackResult).promise())\r\n }\r\n _getWrappedPromise(promise) {\r\n var deferred = new Deferred;\r\n promise.then((function(res) {\r\n deferred.resolve(res)\r\n }), (function(err) {\r\n var res = {\r\n isValid: false\r\n };\r\n if (isDefined(err)) {\r\n if (isString(err)) {\r\n res.message = err\r\n } else if (isObject(err) && isDefined(err.message) && isString(err.message)) {\r\n res.message = err.message\r\n }\r\n }\r\n deferred.resolve(res)\r\n }));\r\n return deferred.promise()\r\n }\r\n}\r\nclass CompareRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"compare\"\r\n }\r\n _validate(value, rule) {\r\n if (!rule.comparisonTarget) {\r\n throw errors.Error(\"E0102\")\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n extend(rule, {\r\n reevaluate: true\r\n });\r\n var otherValue = rule.comparisonTarget();\r\n var type = rule.comparisonType || \"==\";\r\n switch (type) {\r\n case \"==\":\r\n return value == otherValue;\r\n case \"!=\":\r\n return value != otherValue;\r\n case \"===\":\r\n return value === otherValue;\r\n case \"!==\":\r\n return value !== otherValue;\r\n case \">\":\r\n return value > otherValue;\r\n case \">=\":\r\n return value >= otherValue;\r\n case \"<\":\r\n return value < otherValue;\r\n case \"<=\":\r\n return value <= otherValue\r\n }\r\n }\r\n}\r\nclass PatternRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"pattern\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var pattern = rule.pattern;\r\n if (isString(pattern)) {\r\n pattern = new RegExp(pattern)\r\n }\r\n return pattern.test(value)\r\n }\r\n}\r\nclass EmailRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"email\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n return rulesValidators.pattern.validate(value, extend({}, rule, {\r\n pattern: /^[\\d\\w._-]+@[\\d\\w._-]+\\.[\\w]+$/i\r\n }))\r\n }\r\n}\r\nvar rulesValidators = {\r\n required: new RequiredRuleValidator,\r\n numeric: new NumericRuleValidator,\r\n range: new RangeRuleValidator,\r\n stringLength: new StringLengthRuleValidator,\r\n custom: new CustomRuleValidator,\r\n async: new AsyncRuleValidator,\r\n compare: new CompareRuleValidator,\r\n pattern: new PatternRuleValidator,\r\n email: new EmailRuleValidator\r\n};\r\nvar GroupConfig = Class.inherit({\r\n ctor(group) {\r\n this.group = group;\r\n this.validators = [];\r\n this._pendingValidators = [];\r\n this._onValidatorStatusChanged = this._onValidatorStatusChanged.bind(this);\r\n this._resetValidationInfo();\r\n this._eventsStrategy = new EventsStrategy(this)\r\n },\r\n validate() {\r\n var result = {\r\n isValid: true,\r\n brokenRules: [],\r\n validators: [],\r\n status: STATUS.valid,\r\n complete: null\r\n };\r\n this._unsubscribeFromAllChangeEvents();\r\n this._pendingValidators = [];\r\n this._resetValidationInfo();\r\n each(this.validators, (_, validator) => {\r\n var validatorResult = validator.validate();\r\n result.isValid = result.isValid && validatorResult.isValid;\r\n if (validatorResult.brokenRules) {\r\n result.brokenRules = result.brokenRules.concat(validatorResult.brokenRules)\r\n }\r\n result.validators.push(validator);\r\n if (validatorResult.status === STATUS.pending) {\r\n this._addPendingValidator(validator)\r\n }\r\n this._subscribeToChangeEvents(validator)\r\n });\r\n if (this._pendingValidators.length) {\r\n result.status = STATUS.pending\r\n } else {\r\n result.status = result.isValid ? STATUS.valid : STATUS.invalid;\r\n this._unsubscribeFromAllChangeEvents();\r\n this._raiseValidatedEvent(result)\r\n }\r\n this._updateValidationInfo(result);\r\n return extend({}, this._validationInfo.result)\r\n },\r\n _subscribeToChangeEvents(validator) {\r\n validator.on(\"validating\", this._onValidatorStatusChanged);\r\n validator.on(\"validated\", this._onValidatorStatusChanged)\r\n },\r\n _unsubscribeFromChangeEvents(validator) {\r\n validator.off(\"validating\", this._onValidatorStatusChanged);\r\n validator.off(\"validated\", this._onValidatorStatusChanged)\r\n },\r\n _unsubscribeFromAllChangeEvents() {\r\n each(this.validators, (_, validator) => {\r\n this._unsubscribeFromChangeEvents(validator)\r\n })\r\n },\r\n _updateValidationInfo(result) {\r\n this._validationInfo.result = result;\r\n if (result.status !== STATUS.pending) {\r\n return\r\n }\r\n if (!this._validationInfo.deferred) {\r\n this._validationInfo.deferred = new Deferred;\r\n this._validationInfo.result.complete = this._validationInfo.deferred.promise()\r\n }\r\n },\r\n _addPendingValidator(validator) {\r\n var foundValidator = grep(this._pendingValidators, (function(val) {\r\n return val === validator\r\n }))[0];\r\n if (!foundValidator) {\r\n this._pendingValidators.push(validator)\r\n }\r\n },\r\n _removePendingValidator(validator) {\r\n var index = this._pendingValidators.indexOf(validator);\r\n if (index >= 0) {\r\n this._pendingValidators.splice(index, 1)\r\n }\r\n },\r\n _orderBrokenRules(brokenRules) {\r\n var orderedRules = [];\r\n each(this.validators, (function(_, validator) {\r\n var foundRules = grep(brokenRules, (function(rule) {\r\n return rule.validator === validator\r\n }));\r\n if (foundRules.length) {\r\n orderedRules = orderedRules.concat(foundRules)\r\n }\r\n }));\r\n return orderedRules\r\n },\r\n _updateBrokenRules(result) {\r\n if (!this._validationInfo.result) {\r\n return\r\n }\r\n var brokenRules = this._validationInfo.result.brokenRules;\r\n var rules = grep(brokenRules, (function(rule) {\r\n return rule.validator !== result.validator\r\n }));\r\n if (result.brokenRules) {\r\n brokenRules = rules.concat(result.brokenRules)\r\n }\r\n this._validationInfo.result.brokenRules = this._orderBrokenRules(brokenRules)\r\n },\r\n _onValidatorStatusChanged(result) {\r\n if (result.status === STATUS.pending) {\r\n this._addPendingValidator(result.validator);\r\n return\r\n }\r\n this._resolveIfComplete(result)\r\n },\r\n _resolveIfComplete(result) {\r\n this._removePendingValidator(result.validator);\r\n this._updateBrokenRules(result);\r\n if (!this._pendingValidators.length) {\r\n this._unsubscribeFromAllChangeEvents();\r\n if (!this._validationInfo.result) {\r\n return\r\n }\r\n this._validationInfo.result.status = 0 === this._validationInfo.result.brokenRules.length ? STATUS.valid : STATUS.invalid;\r\n this._validationInfo.result.isValid = this._validationInfo.result.status === STATUS.valid;\r\n var res = extend({}, this._validationInfo.result, {\r\n complete: null\r\n });\r\n var deferred = this._validationInfo.deferred;\r\n this._validationInfo.deferred = null;\r\n this._raiseValidatedEvent(res);\r\n deferred && setTimeout(() => {\r\n deferred.resolve(res)\r\n })\r\n }\r\n },\r\n _raiseValidatedEvent(result) {\r\n this._eventsStrategy.fireEvent(\"validated\", [result])\r\n },\r\n _resetValidationInfo() {\r\n this._validationInfo = {\r\n result: null,\r\n deferred: null\r\n }\r\n },\r\n _synchronizeValidationInfo() {\r\n if (this._validationInfo.result) {\r\n this._validationInfo.result.validators = this.validators\r\n }\r\n },\r\n removeRegisteredValidator(validator) {\r\n var index = this.validators.indexOf(validator);\r\n if (index > -1) {\r\n this.validators.splice(index, 1);\r\n this._synchronizeValidationInfo();\r\n this._resolveIfComplete({\r\n validator: validator\r\n })\r\n }\r\n },\r\n registerValidator(validator) {\r\n if (!this.validators.includes(validator)) {\r\n this.validators.push(validator);\r\n this._synchronizeValidationInfo()\r\n }\r\n },\r\n reset() {\r\n each(this.validators, (function(_, validator) {\r\n validator.reset()\r\n }));\r\n this._pendingValidators = [];\r\n this._resetValidationInfo()\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\nvar ValidationEngine = {\r\n groups: [],\r\n getGroupConfig(group) {\r\n var result = grep(this.groups, (function(config) {\r\n return config.group === group\r\n }));\r\n if (result.length) {\r\n return result[0]\r\n }\r\n },\r\n findGroup($element, model) {\r\n var _$element$data, _$element$data$dxComp;\r\n var hasValidationGroup = null === (_$element$data = $element.data()) || void 0 === _$element$data ? void 0 : null === (_$element$data$dxComp = _$element$data.dxComponents) || void 0 === _$element$data$dxComp ? void 0 : _$element$data$dxComp.includes(\"dxValidationGroup\");\r\n var validationGroup = hasValidationGroup && $element.dxValidationGroup(\"instance\");\r\n if (validationGroup) {\r\n return validationGroup\r\n }\r\n var $dxGroup = $element.parents(\".dx-validationgroup\").first();\r\n if ($dxGroup.length) {\r\n return $dxGroup.dxValidationGroup(\"instance\")\r\n }\r\n return model\r\n },\r\n initGroups() {\r\n this.groups = [];\r\n this.addGroup()\r\n },\r\n addGroup(group) {\r\n var config = this.getGroupConfig(group);\r\n if (!config) {\r\n config = new GroupConfig(group);\r\n this.groups.push(config)\r\n }\r\n return config\r\n },\r\n removeGroup(group) {\r\n var config = this.getGroupConfig(group);\r\n var index = this.groups.indexOf(config);\r\n if (index > -1) {\r\n this.groups.splice(index, 1)\r\n }\r\n return config\r\n },\r\n _setDefaultMessage(info) {\r\n var {\r\n rule: rule,\r\n validator: validator,\r\n name: name\r\n } = info;\r\n if (!isDefined(rule.message)) {\r\n if (validator.defaultFormattedMessage && isDefined(name)) {\r\n rule.message = validator.defaultFormattedMessage(name)\r\n } else {\r\n rule.message = validator.defaultMessage()\r\n }\r\n }\r\n },\r\n _addBrokenRule(info) {\r\n var {\r\n result: result,\r\n rule: rule\r\n } = info;\r\n if (!result.brokenRule) {\r\n result.brokenRule = rule\r\n }\r\n if (!result.brokenRules) {\r\n result.brokenRules = []\r\n }\r\n result.brokenRules.push(rule)\r\n },\r\n validate(value, rules, name) {\r\n var _rules$;\r\n var result = {\r\n name: name,\r\n value: value,\r\n brokenRule: null,\r\n brokenRules: null,\r\n isValid: true,\r\n validationRules: rules,\r\n pendingRules: null,\r\n status: STATUS.valid,\r\n complete: null\r\n };\r\n var validator = null === rules || void 0 === rules ? void 0 : null === (_rules$ = rules[0]) || void 0 === _rules$ ? void 0 : _rules$.validator;\r\n var asyncRuleItems = [];\r\n each(rules || [], (_, rule) => {\r\n var ruleValidator = rulesValidators[rule.type];\r\n var ruleValidationResult;\r\n if (ruleValidator) {\r\n if (isDefined(rule.isValid) && rule.value === value && !rule.reevaluate) {\r\n if (!rule.isValid) {\r\n result.isValid = false;\r\n this._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n });\r\n return false\r\n }\r\n return true\r\n }\r\n rule.value = value;\r\n if (\"async\" === rule.type) {\r\n asyncRuleItems.push({\r\n rule: rule,\r\n ruleValidator: ruleValidator\r\n });\r\n return true\r\n }\r\n ruleValidationResult = ruleValidator.validate(value, rule);\r\n rule.isValid = ruleValidationResult;\r\n if (!ruleValidationResult) {\r\n result.isValid = false;\r\n this._setDefaultMessage({\r\n rule: rule,\r\n validator: ruleValidator,\r\n name: name\r\n });\r\n this._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n })\r\n }\r\n if (!rule.isValid) {\r\n return false\r\n }\r\n } else {\r\n throw errors.Error(\"E0100\")\r\n }\r\n });\r\n if (result.isValid && !result.brokenRules && asyncRuleItems.length) {\r\n result = this._validateAsyncRules({\r\n value: value,\r\n items: asyncRuleItems,\r\n result: result,\r\n name: name\r\n })\r\n }\r\n this._synchronizeGroupValidationInfo(validator, result);\r\n result.status = result.pendingRules ? STATUS.pending : result.isValid ? STATUS.valid : STATUS.invalid;\r\n return result\r\n },\r\n _synchronizeGroupValidationInfo(validator, result) {\r\n var _result$brokenRules;\r\n if (!validator) {\r\n return\r\n }\r\n var groupConfig = ValidationEngine.getGroupConfig(validator._validationGroup);\r\n groupConfig._updateBrokenRules.call(groupConfig, {\r\n validator: validator,\r\n brokenRules: null !== (_result$brokenRules = result.brokenRules) && void 0 !== _result$brokenRules ? _result$brokenRules : []\r\n })\r\n },\r\n _validateAsyncRules(_ref) {\r\n var {\r\n result: result,\r\n value: value,\r\n items: items,\r\n name: name\r\n } = _ref;\r\n var asyncResults = [];\r\n each(items, (_, item) => {\r\n var validateResult = item.ruleValidator.validate(value, item.rule);\r\n if (!isPromise(validateResult)) {\r\n this._updateRuleConfig({\r\n rule: item.rule,\r\n ruleResult: this._getPatchedRuleResult(validateResult),\r\n validator: item.ruleValidator,\r\n name: name\r\n })\r\n } else {\r\n if (!result.pendingRules) {\r\n result.pendingRules = []\r\n }\r\n result.pendingRules.push(item.rule);\r\n var asyncResult = validateResult.then(res => {\r\n var ruleResult = this._getPatchedRuleResult(res);\r\n this._updateRuleConfig({\r\n rule: item.rule,\r\n ruleResult: ruleResult,\r\n validator: item.ruleValidator,\r\n name: name\r\n });\r\n return ruleResult\r\n });\r\n asyncResults.push(asyncResult)\r\n }\r\n });\r\n if (asyncResults.length) {\r\n result.complete = Promise.all(asyncResults).then(values => this._getAsyncRulesResult({\r\n result: result,\r\n values: values\r\n }))\r\n }\r\n return result\r\n },\r\n _updateRuleConfig(_ref2) {\r\n var {\r\n rule: rule,\r\n ruleResult: ruleResult,\r\n validator: validator,\r\n name: name\r\n } = _ref2;\r\n rule.isValid = ruleResult.isValid;\r\n if (!ruleResult.isValid) {\r\n if (isDefined(ruleResult.message) && isString(ruleResult.message) && ruleResult.message.length) {\r\n rule.message = ruleResult.message\r\n } else {\r\n this._setDefaultMessage({\r\n rule: rule,\r\n validator: validator,\r\n name: name\r\n })\r\n }\r\n }\r\n },\r\n _getPatchedRuleResult(ruleResult) {\r\n var result;\r\n if (isObject(ruleResult)) {\r\n result = extend({}, ruleResult);\r\n if (!isDefined(result.isValid)) {\r\n result.isValid = true\r\n }\r\n } else {\r\n result = {\r\n isValid: isBoolean(ruleResult) ? ruleResult : true\r\n }\r\n }\r\n return result\r\n },\r\n _getAsyncRulesResult(_ref3) {\r\n var {\r\n values: values,\r\n result: result\r\n } = _ref3;\r\n each(values, (index, val) => {\r\n if (false === val.isValid) {\r\n result.isValid = val.isValid;\r\n var rule = result.pendingRules[index];\r\n this._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n })\r\n }\r\n });\r\n result.pendingRules = null;\r\n result.complete = null;\r\n result.status = result.isValid ? STATUS.valid : STATUS.invalid;\r\n return result\r\n },\r\n registerValidatorInGroup(group, validator) {\r\n var groupConfig = ValidationEngine.addGroup(group);\r\n groupConfig.registerValidator.call(groupConfig, validator)\r\n },\r\n _shouldRemoveGroup(group, validatorsInGroup) {\r\n var isDefaultGroup = void 0 === group;\r\n var isValidationGroupInstance = group && \"dxValidationGroup\" === group.NAME;\r\n return !isDefaultGroup && !isValidationGroupInstance && !validatorsInGroup.length\r\n },\r\n removeRegisteredValidator(group, validator) {\r\n var config = ValidationEngine.getGroupConfig(group);\r\n if (config) {\r\n config.removeRegisteredValidator.call(config, validator);\r\n var validatorsInGroup = config.validators;\r\n if (this._shouldRemoveGroup(group, validatorsInGroup)) {\r\n this.removeGroup(group)\r\n }\r\n }\r\n },\r\n initValidationOptions(options) {\r\n var initedOptions = {};\r\n if (options) {\r\n [\"isValid\", \"validationStatus\", \"validationError\", \"validationErrors\"].forEach(prop => {\r\n if (prop in options) {\r\n extend(initedOptions, this.synchronizeValidationOptions({\r\n name: prop,\r\n value: options[prop]\r\n }, options))\r\n }\r\n })\r\n }\r\n return initedOptions\r\n },\r\n synchronizeValidationOptions(_ref4, options) {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref4;\r\n switch (name) {\r\n case \"validationStatus\":\r\n var isValid = value === STATUS.valid || value === STATUS.pending;\r\n return options.isValid !== isValid ? {\r\n isValid: isValid\r\n } : {};\r\n case \"isValid\":\r\n var {\r\n validationStatus: validationStatus\r\n } = options;\r\n var newStatus = validationStatus;\r\n if (value && validationStatus === STATUS.invalid) {\r\n newStatus = STATUS.valid\r\n } else if (!value && validationStatus !== STATUS.invalid) {\r\n newStatus = STATUS.invalid\r\n }\r\n return newStatus !== validationStatus ? {\r\n validationStatus: newStatus\r\n } : {};\r\n case \"validationErrors\":\r\n var validationError = !value || !value.length ? null : value[0];\r\n return options.validationError !== validationError ? {\r\n validationError: validationError\r\n } : {};\r\n case \"validationError\":\r\n var {\r\n validationErrors: validationErrors\r\n } = options;\r\n if (!value && validationErrors) {\r\n return {\r\n validationErrors: null\r\n }\r\n } else if (value && !validationErrors) {\r\n return {\r\n validationErrors: [value]\r\n }\r\n } else if (value && validationErrors && value !== validationErrors[0]) {\r\n validationErrors[0] = value;\r\n return {\r\n validationErrors: validationErrors.slice()\r\n }\r\n }\r\n }\r\n return {}\r\n },\r\n validateGroup(group) {\r\n var groupConfig = ValidationEngine.getGroupConfig(group);\r\n if (!groupConfig) {\r\n throw errors.Error(\"E0110\")\r\n }\r\n return groupConfig.validate()\r\n },\r\n resetGroup(group) {\r\n var groupConfig = ValidationEngine.getGroupConfig(group);\r\n if (!groupConfig) {\r\n throw errors.Error(\"E0110\")\r\n }\r\n return groupConfig.reset()\r\n }\r\n};\r\nValidationEngine.initGroups();\r\nexport default ValidationEngine;\r\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var id = moment.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return id;\n\n})));\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Eanáir',\n 'Feabhra',\n 'Márta',\n 'Aibreán',\n 'Bealtaine',\n 'Meitheamh',\n 'Iúil',\n 'Lúnasa',\n 'Meán Fómhair',\n 'Deireadh Fómhair',\n 'Samhain',\n 'Nollaig',\n ],\n monthsShort = [\n 'Ean',\n 'Feabh',\n 'Márt',\n 'Aib',\n 'Beal',\n 'Meith',\n 'Iúil',\n 'Lún',\n 'M.F.',\n 'D.F.',\n 'Samh',\n 'Noll',\n ],\n weekdays = [\n 'Dé Domhnaigh',\n 'Dé Luain',\n 'Dé Máirt',\n 'Dé Céadaoin',\n 'Déardaoin',\n 'Dé hAoine',\n 'Dé Sathairn',\n ],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n var ga = moment.defineLocale('ga', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné ag] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d míonna',\n y: 'bliain',\n yy: '%d bliain',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ga;\n\n})));\n","/**\r\n * DevExtreme (esm/data/data_source/utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"items\"];\r\nimport ajaxUtils from \"../../core/utils/ajax\";\r\nimport Store from \"../abstract_store\";\r\nimport ArrayStore from \"../array_store\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport CustomStore from \"../custom_store\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"../utils\";\r\nexport var CANCELED_TOKEN = \"canceled\";\r\nexport var isPending = deferred => \"pending\" === deferred.state();\r\nexport var normalizeStoreLoadOptionAccessorArguments = originalArguments => {\r\n switch (originalArguments.length) {\r\n case 0:\r\n return;\r\n case 1:\r\n return originalArguments[0]\r\n }\r\n return [].slice.call(originalArguments)\r\n};\r\nvar mapGroup = (group, level, mapper) => map(group, item => {\r\n var restItem = _objectWithoutPropertiesLoose(item, _excluded);\r\n return _extends({}, restItem, {\r\n items: mapRecursive(item.items, level - 1, mapper)\r\n })\r\n});\r\nvar mapRecursive = (items, level, mapper) => {\r\n if (!Array.isArray(items)) {\r\n return items\r\n }\r\n return level ? mapGroup(items, level, mapper) : map(items, mapper)\r\n};\r\nexport var mapDataRespectingGrouping = (items, mapper, groupInfo) => {\r\n var level = groupInfo ? normalizeSortingInfo(groupInfo).length : 0;\r\n return mapRecursive(items, level, mapper)\r\n};\r\nexport var normalizeLoadResult = (data, extra) => {\r\n var _data;\r\n if (null !== (_data = data) && void 0 !== _data && _data.data) {\r\n extra = data;\r\n data = data.data\r\n }\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n return {\r\n data: data,\r\n extra: extra\r\n }\r\n};\r\nvar createCustomStoreFromLoadFunc = options => {\r\n var storeConfig = {};\r\n each([\"useDefaultSearch\", \"key\", \"load\", \"loadMode\", \"cacheRawData\", \"byKey\", \"lookup\", \"totalCount\", \"insert\", \"update\", \"remove\"], (function() {\r\n storeConfig[this] = options[this];\r\n delete options[this]\r\n }));\r\n return new CustomStore(storeConfig)\r\n};\r\nvar createStoreFromConfig = storeConfig => {\r\n var alias = storeConfig.type;\r\n delete storeConfig.type;\r\n return Store.create(alias, storeConfig)\r\n};\r\nvar createCustomStoreFromUrl = (url, normalizationOptions) => new CustomStore({\r\n load: () => ajaxUtils.sendRequest({\r\n url: url,\r\n dataType: \"json\"\r\n }),\r\n loadMode: null === normalizationOptions || void 0 === normalizationOptions ? void 0 : normalizationOptions.fromUrlLoadMode\r\n});\r\nexport var normalizeDataSourceOptions = (options, normalizationOptions) => {\r\n var store;\r\n if (\"string\" === typeof options) {\r\n options = {\r\n paginate: false,\r\n store: createCustomStoreFromUrl(options, normalizationOptions)\r\n }\r\n }\r\n if (void 0 === options) {\r\n options = []\r\n }\r\n if (Array.isArray(options) || options instanceof Store) {\r\n options = {\r\n store: options\r\n }\r\n } else {\r\n options = extend({}, options)\r\n }\r\n if (void 0 === options.store) {\r\n options.store = []\r\n }\r\n store = options.store;\r\n if (\"load\" in options) {\r\n store = createCustomStoreFromLoadFunc(options)\r\n } else if (Array.isArray(store)) {\r\n store = new ArrayStore(store)\r\n } else if (isPlainObject(store)) {\r\n store = createStoreFromConfig(extend({}, store))\r\n }\r\n options.store = store;\r\n return options\r\n};\r\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","/**\r\n * DevExtreme (esm/core/dom_adapter.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport injector from \"./utils/dependency_injector\";\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n getShadowElementsFromPoint\r\n} from \"./utils/shadow_dom\";\r\nvar ELEMENT_NODE = 1;\r\nvar TEXT_NODE = 3;\r\nvar DOCUMENT_NODE = 9;\r\nvar DOCUMENT_FRAGMENT_NODE = 11;\r\nvar nativeDOMAdapterStrategy = {\r\n querySelectorAll: (element, selector) => element.querySelectorAll(selector),\r\n elementMatches(element, selector) {\r\n var matches = element.matches || element.matchesSelector || element.mozMatchesSelector || element.msMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector || (selector => {\r\n var doc = element.document || element.ownerDocument;\r\n if (!doc) {\r\n return false\r\n }\r\n var items = this.querySelectorAll(doc, selector);\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] === element) {\r\n return true\r\n }\r\n }\r\n });\r\n return matches.call(element, selector)\r\n },\r\n createElement(tagName, context) {\r\n context = context || this._document;\r\n return context.createElement(tagName)\r\n },\r\n createElementNS(ns, tagName, context) {\r\n context = context || this._document;\r\n return context.createElementNS(ns, tagName)\r\n },\r\n createTextNode(text, context) {\r\n context = context || this._document;\r\n return context.createTextNode(text)\r\n },\r\n createAttribute(text, context) {\r\n context = context || this._document;\r\n return context.createAttribute(text)\r\n },\r\n isNode: element => element && \"object\" === typeof element && \"nodeType\" in element && \"nodeName\" in element,\r\n isElementNode: element => element && element.nodeType === ELEMENT_NODE,\r\n isTextNode: element => element && element.nodeType === TEXT_NODE,\r\n isDocument: element => element && element.nodeType === DOCUMENT_NODE,\r\n isDocumentFragment: element => element && element.nodeType === DOCUMENT_FRAGMENT_NODE,\r\n removeElement(element) {\r\n var parentNode = element && element.parentNode;\r\n if (parentNode) {\r\n parentNode.removeChild(element)\r\n }\r\n },\r\n insertElement(parentElement, newElement, nextSiblingElement) {\r\n if (parentElement && newElement && parentElement !== newElement) {\r\n if (nextSiblingElement) {\r\n parentElement.insertBefore(newElement, nextSiblingElement)\r\n } else {\r\n parentElement.appendChild(newElement)\r\n }\r\n }\r\n },\r\n getAttribute: (element, name) => element.getAttribute(name),\r\n setAttribute(element, name, value) {\r\n if (\"style\" === name) {\r\n element.style.cssText = value\r\n } else {\r\n element.setAttribute(name, value)\r\n }\r\n },\r\n removeAttribute(element, name) {\r\n element.removeAttribute(name)\r\n },\r\n setProperty(element, name, value) {\r\n element[name] = value\r\n },\r\n setText(element, text) {\r\n if (element) {\r\n element.textContent = text\r\n }\r\n },\r\n setClass(element, className, isAdd) {\r\n if (1 === element.nodeType && className) {\r\n isAdd ? element.classList.add(className) : element.classList.remove(className)\r\n }\r\n },\r\n setStyle(element, name, value) {\r\n element.style[name] = value || \"\"\r\n },\r\n _document: \"undefined\" === typeof document ? void 0 : document,\r\n getDocument() {\r\n return this._document\r\n },\r\n getActiveElement(element) {\r\n var activeElementHolder = this.getRootNode(element);\r\n return activeElementHolder.activeElement\r\n },\r\n getRootNode(element) {\r\n var _element$getRootNode, _element$getRootNode2;\r\n return null !== (_element$getRootNode = null === element || void 0 === element ? void 0 : null === (_element$getRootNode2 = element.getRootNode) || void 0 === _element$getRootNode2 ? void 0 : _element$getRootNode2.call(element)) && void 0 !== _element$getRootNode ? _element$getRootNode : this._document\r\n },\r\n getBody() {\r\n return this._document.body\r\n },\r\n createDocumentFragment() {\r\n return this._document.createDocumentFragment()\r\n },\r\n getDocumentElement() {\r\n return this._document.documentElement\r\n },\r\n getLocation() {\r\n return this._document.location\r\n },\r\n getSelection() {\r\n return this._document.selection\r\n },\r\n getReadyState() {\r\n return this._document.readyState\r\n },\r\n getHead() {\r\n return this._document.head\r\n },\r\n hasDocumentProperty(property) {\r\n return property in this._document\r\n },\r\n listen(element, event, callback, options) {\r\n if (!element || !(\"addEventListener\" in element)) {\r\n return noop\r\n }\r\n element.addEventListener(event, callback, options);\r\n return () => {\r\n element.removeEventListener(event, callback)\r\n }\r\n },\r\n elementsFromPoint(x, y, element) {\r\n var activeElementHolder = this.getRootNode(element);\r\n if (activeElementHolder.host) {\r\n return getShadowElementsFromPoint(x, y, activeElementHolder)\r\n }\r\n return activeElementHolder.elementsFromPoint(x, y)\r\n }\r\n};\r\nexport default injector(nativeDOMAdapterStrategy);\r\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر',\n ],\n days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n var ur = moment.defineLocale('ur', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[آج بوقت] LT',\n nextDay: '[کل بوقت] LT',\n nextWeek: 'dddd [بوقت] LT',\n lastDay: '[گذشتہ روز بوقت] LT',\n lastWeek: '[گذشتہ] dddd [بوقت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s بعد',\n past: '%s قبل',\n s: 'چند سیکنڈ',\n ss: '%d سیکنڈ',\n m: 'ایک منٹ',\n mm: '%d منٹ',\n h: 'ایک گھنٹہ',\n hh: '%d گھنٹے',\n d: 'ایک دن',\n dd: '%d دن',\n M: 'ایک ماہ',\n MM: '%d ماہ',\n y: 'ایک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ss = moment.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n '_'\n ),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays:\n 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n '_'\n ),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka',\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ss;\n\n})));\n","// Directives\nimport ripple from '../../directives/ripple'\n\n// Types\nimport Vue, { VNode, VNodeData, VNodeDirective } from 'vue'\n\nexport default Vue.extend({\n name: 'rippleable',\n\n directives: { ripple },\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n methods: {\n genRipple (data: VNodeData = {}): VNode | null {\n if (!this.ripple) return null\n\n data.staticClass = 'v-input--selection-controls__ripple'\n\n data.directives = data.directives || []\n data.directives.push({\n name: 'ripple',\n value: { center: true },\n } as VNodeDirective)\n\n return this.$createElement('div', data)\n },\n },\n})\n","/**\r\n * DevExtreme (esm/ui/text_box/text_box.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport TextEditor from \"./ui.text_editor\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nvar ignoreKeys = [\"backspace\", \"tab\", \"enter\", \"pageUp\", \"pageDown\", \"end\", \"home\", \"leftArrow\", \"rightArrow\", \"downArrow\", \"upArrow\", \"del\"];\r\nvar TEXTBOX_CLASS = \"dx-textbox\";\r\nvar SEARCHBOX_CLASS = \"dx-searchbox\";\r\nvar ICON_CLASS = \"dx-icon\";\r\nvar SEARCH_ICON_CLASS = \"dx-icon-search\";\r\nvar TextBox = TextEditor.inherit({\r\n ctor: function(element, options) {\r\n if (options) {\r\n this._showClearButton = options.showClearButton\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: \"\",\r\n mode: \"text\",\r\n maxLength: null\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(TEXTBOX_CLASS);\r\n this.callBase();\r\n this.setAria(\"role\", \"textbox\")\r\n },\r\n _renderInputType: function() {\r\n this.callBase();\r\n this._renderSearchMode()\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _renderProps: function() {\r\n this.callBase();\r\n this._toggleMaxLengthProp()\r\n },\r\n _toggleMaxLengthProp: function() {\r\n var maxLength = this._getMaxLength();\r\n if (maxLength && maxLength > 0) {\r\n this._input().attr(\"maxLength\", maxLength)\r\n } else {\r\n this._input().removeAttr(\"maxLength\")\r\n }\r\n },\r\n _renderSearchMode: function() {\r\n var $element = this._$element;\r\n if (\"search\" === this.option(\"mode\")) {\r\n $element.addClass(SEARCHBOX_CLASS);\r\n this._renderSearchIcon();\r\n if (void 0 === this._showClearButton) {\r\n this._showClearButton = this.option(\"showClearButton\");\r\n this.option(\"showClearButton\", true)\r\n }\r\n } else {\r\n $element.removeClass(SEARCHBOX_CLASS);\r\n this._$searchIcon && this._$searchIcon.remove();\r\n this.option(\"showClearButton\", void 0 === this._showClearButton ? this.option(\"showClearButton\") : this._showClearButton);\r\n delete this._showClearButton\r\n }\r\n },\r\n _renderSearchIcon: function() {\r\n var $searchIcon = $(\"<div>\").addClass(ICON_CLASS).addClass(SEARCH_ICON_CLASS);\r\n $searchIcon.prependTo(this._input().parent());\r\n this._$searchIcon = $searchIcon\r\n },\r\n _getLabelContainerWidth: function() {\r\n if (this._$searchIcon) {\r\n var $inputContainer = this._input().parent();\r\n return getWidth($inputContainer) - this._getLabelBeforeWidth()\r\n }\r\n return this.callBase()\r\n },\r\n _getLabelBeforeWidth: function() {\r\n var labelBeforeWidth = this.callBase();\r\n if (this._$searchIcon) {\r\n labelBeforeWidth += getOuterWidth(this._$searchIcon)\r\n }\r\n return labelBeforeWidth\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"maxLength\":\r\n this._toggleMaxLengthProp();\r\n break;\r\n case \"mode\":\r\n this.callBase(args);\r\n this._updateLabelWidth();\r\n break;\r\n case \"mask\":\r\n this.callBase(args);\r\n this._toggleMaxLengthProp();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _onKeyDownCutOffHandler: function(e) {\r\n var actualMaxLength = this._getMaxLength();\r\n if (actualMaxLength && !e.ctrlKey && !this._hasSelection()) {\r\n var $input = $(e.target);\r\n var key = normalizeKeyName(e);\r\n this._cutOffExtraChar($input);\r\n return $input.val().length < actualMaxLength || ignoreKeys.includes(key) || \"\" !== window.getSelection().toString()\r\n } else {\r\n return true\r\n }\r\n },\r\n _onChangeCutOffHandler: function(e) {\r\n var $input = $(e.target);\r\n if (this.option(\"maxLength\")) {\r\n this._cutOffExtraChar($input)\r\n }\r\n },\r\n _cutOffExtraChar: function($input) {\r\n var actualMaxLength = this._getMaxLength();\r\n var textInput = $input.val();\r\n if (actualMaxLength && textInput.length > actualMaxLength) {\r\n $input.val(textInput.substr(0, actualMaxLength))\r\n }\r\n },\r\n _getMaxLength: function() {\r\n var isMaskSpecified = !!this.option(\"mask\");\r\n return isMaskSpecified ? null : this.option(\"maxLength\")\r\n }\r\n});\r\nregisterComponent(\"dxTextBox\", TextBox);\r\nexport default TextBox;\r\n","/**\r\n * DevExtreme (esm/ui/text_box.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TextBox from \"./text_box/text_box\";\r\nexport default TextBox;\r\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar URLSearchParamsPrototype = URLSearchParams.prototype;\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) {\n defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n get: function size() {\n var count = 0;\n forEach(this, function () { count++; });\n return count;\n },\n configurable: true,\n enumerable: true\n });\n}\n","/**\r\n * DevExtreme (esm/core/utils/dom.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport {\r\n isDefined,\r\n isRenderer,\r\n isWindow,\r\n isString\r\n} from \"./type\";\r\nimport {\r\n getWindow\r\n} from \"./window\";\r\nvar window = getWindow();\r\nvar getRootNodeHost = element => {\r\n if (!element.getRootNode) {\r\n return\r\n }\r\n var host = element.getRootNode().host;\r\n if (isString(host)) {\r\n return\r\n }\r\n return host\r\n};\r\nexport var resetActiveElement = () => {\r\n var activeElement = domAdapter.getActiveElement();\r\n if (activeElement && activeElement !== domAdapter.getBody()) {\r\n var _activeElement$blur;\r\n null === (_activeElement$blur = activeElement.blur) || void 0 === _activeElement$blur ? void 0 : _activeElement$blur.call(activeElement)\r\n }\r\n};\r\nexport var clearSelection = () => {\r\n var selection = window.getSelection();\r\n if (!selection) {\r\n return\r\n }\r\n if (\"Caret\" === selection.type) {\r\n return\r\n }\r\n if (selection.empty) {\r\n selection.empty()\r\n } else if (selection.removeAllRanges) {\r\n try {\r\n selection.removeAllRanges()\r\n } catch (e) {}\r\n }\r\n};\r\nexport var closestCommonParent = (startTarget, endTarget) => {\r\n var $startTarget = $(startTarget);\r\n var $endTarget = $(endTarget);\r\n if ($startTarget[0] === $endTarget[0]) {\r\n return $startTarget[0]\r\n }\r\n var $startParents = $startTarget.parents();\r\n var $endParents = $endTarget.parents();\r\n var startingParent = Math.min($startParents.length, $endParents.length);\r\n for (var i = -startingParent; i < 0; i++) {\r\n if ($startParents.get(i) === $endParents.get(i)) {\r\n return $startParents.get(i)\r\n }\r\n }\r\n};\r\nexport var extractTemplateMarkup = element => {\r\n element = $(element);\r\n var templateTag = element.length && element.filter((function() {\r\n var $node = $(this);\r\n return $node.is(\"script[type]\") && $node.attr(\"type\").indexOf(\"script\") < 0\r\n }));\r\n if (templateTag.length) {\r\n return templateTag.eq(0).html()\r\n } else {\r\n element = $(\"<div>\").append(element);\r\n return element.html()\r\n }\r\n};\r\nexport var normalizeTemplateElement = element => {\r\n var $element = isDefined(element) && (element.nodeType || isRenderer(element)) ? $(element) : $(\"<div>\").html(element).contents();\r\n if (1 === $element.length) {\r\n if ($element.is(\"script\")) {\r\n $element = normalizeTemplateElement($element.html().trim())\r\n } else if ($element.is(\"table\")) {\r\n $element = $element.children(\"tbody\").contents()\r\n }\r\n }\r\n return $element\r\n};\r\nexport var clipboardText = (event, text) => {\r\n var clipboard = event.originalEvent && event.originalEvent.clipboardData || window.clipboardData;\r\n if (!text) {\r\n return clipboard && clipboard.getData(\"Text\")\r\n }\r\n clipboard && clipboard.setData(\"Text\", text)\r\n};\r\nexport var contains = (container, element) => {\r\n if (!element) {\r\n return false\r\n }\r\n if (isWindow(container)) {\r\n return contains(container.document, element)\r\n }\r\n return container.contains(element) || contains(container, getRootNodeHost(element))\r\n};\r\nexport var createTextElementHiddenCopy = (element, text, options) => {\r\n var elementStyles = window.getComputedStyle($(element).get(0));\r\n var includePaddings = options && options.includePaddings;\r\n return $(\"<div>\").text(text).css({\r\n fontStyle: elementStyles.fontStyle,\r\n fontVariant: elementStyles.fontVariant,\r\n fontWeight: elementStyles.fontWeight,\r\n fontSize: elementStyles.fontSize,\r\n fontFamily: elementStyles.fontFamily,\r\n letterSpacing: elementStyles.letterSpacing,\r\n border: elementStyles.border,\r\n paddingTop: includePaddings ? elementStyles.paddingTop : \"\",\r\n paddingRight: includePaddings ? elementStyles.paddingRight : \"\",\r\n paddingBottom: includePaddings ? elementStyles.paddingBottom : \"\",\r\n paddingLeft: includePaddings ? elementStyles.paddingLeft : \"\",\r\n visibility: \"hidden\",\r\n whiteSpace: \"pre\",\r\n position: \"absolute\",\r\n float: \"left\"\r\n })\r\n};\r\nexport var insertBefore = (element, newElement) => {\r\n if (newElement) {\r\n domAdapter.insertElement(element.parentNode, newElement, element)\r\n }\r\n return element\r\n};\r\nexport var replaceWith = (element, newElement) => {\r\n if (!(newElement && newElement[0])) {\r\n return\r\n }\r\n if (newElement.is(element)) {\r\n return element\r\n }\r\n each(newElement, (_, currentElement) => {\r\n insertBefore(element[0], currentElement)\r\n });\r\n element.remove();\r\n return newElement\r\n};\r\nexport var isElementInDom = $element => {\r\n var element = null === $element || void 0 === $element ? void 0 : $element.get(0);\r\n var shadowHost = null === element || void 0 === element ? void 0 : element.getRootNode().host;\r\n return !!$(shadowHost || element).closest(getWindow().document).length\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/animator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nvar abstract = Class.abstract;\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../../animation/frame\";\r\nvar Animator = Class.inherit({\r\n ctor: function() {\r\n this._finished = true;\r\n this._stopped = false;\r\n this._proxiedStepCore = this._stepCore.bind(this)\r\n },\r\n start: function() {\r\n this._stopped = false;\r\n this._finished = false;\r\n this._stepCore()\r\n },\r\n stop: function() {\r\n this._stopped = true;\r\n cancelAnimationFrame(this._stepAnimationFrame)\r\n },\r\n _stepCore: function() {\r\n if (this._isStopped()) {\r\n this._stop();\r\n return\r\n }\r\n if (this._isFinished()) {\r\n this._finished = true;\r\n this._complete();\r\n return\r\n }\r\n this._step();\r\n this._stepAnimationFrame = requestAnimationFrame(this._proxiedStepCore)\r\n },\r\n _step: abstract,\r\n _isFinished: noop,\r\n _stop: noop,\r\n _complete: noop,\r\n _isStopped: function() {\r\n return this._stopped\r\n },\r\n inProgress: function() {\r\n return !(this._stopped || this._finished)\r\n }\r\n});\r\nexport default Animator;\r\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esUs = moment.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return esUs;\n\n})));\n","var metric\n , imperial;\n\nmetric = {\n 'm/s': {\n name: {\n singular: 'Metre per second'\n , plural: 'Metres per second'\n }\n , to_anchor: 3.6\n }\n, 'km/h': {\n name: {\n singular: 'Kilometre per hour'\n , plural: 'Kilometres per hour'\n }\n , to_anchor: 1\n }\n}\n\n imperial = {\n 'm/h': {\n name: {\n singular: 'Mile per hour'\n , plural: 'Miles per hour'\n }\n , to_anchor: 1\n }\n , knot: {\n name: {\n singular: 'Knot'\n , plural: 'Knots'\n }\n , to_anchor: 1.150779\n }\n , 'ft/s': {\n name: {\n singular: 'Foot per second'\n , plural: 'Feet per second'\n }\n , to_anchor: 0.681818\n }\n};\n\nmodule.exports = {\n metric: metric\n, imperial: imperial\n, _anchors: {\n metric: {\n unit: 'km/h'\n , ratio: 1/1.609344\n }\n , imperial: {\n unit: 'm/h'\n , ratio: 1.609344\n }\n }\n};\n","// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue'\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { rippleStop?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nexport interface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple && el._ripple.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el._ripple || !el._ripple.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el || !el._ripple || !el._ripple.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n if (animation.parentNode?.parentNode === el) el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement\n\n if (!element || !element._ripple || element._ripple.touched || e.rippleStop) return\n\n // Don't allow the event to trigger ripples on any other elements\n e.rippleStop = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element && element._ripple && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple === true) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: VNodeDirective, wasEnabled: boolean) {\n const enabled = isRippleEnabled(binding.value)\n if (!enabled) {\n ripples.hide(el)\n }\n el._ripple = el._ripple || {}\n el._ripple.enabled = enabled\n const value = binding.value || {}\n if (value.center) {\n el._ripple.centered = true\n }\n if (value.class) {\n el._ripple.class = binding.value.class\n }\n if (value.circle) {\n el._ripple.circle = value.circle\n }\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction directive (el: HTMLElement, binding: VNodeDirective, node: VNode) {\n updateRipple(el, binding, false)\n\n if (process.env.NODE_ENV === 'development') {\n // warn if an inline element is used, waiting for el to be in the DOM first\n node.context && node.context.$nextTick(() => {\n const computed = window.getComputedStyle(el)\n if (computed && computed.display === 'inline') {\n const context = (node as any).fnOptions ? [(node as any).fnOptions, node.context] : [node.componentInstance]\n consoleWarn('v-ripple can only be used on block-level elements', ...context)\n }\n })\n }\n}\n\nfunction unbind (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction update (el: HTMLElement, binding: VNodeDirective) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n bind: directive,\n unbind,\n update,\n}\n\nexport default Ripple\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DxLabel = exports.DxImage = exports.DxHoverStyle = exports.DxHorizontalLineLabel = exports.DxHorizontalLine = exports.DxHeight = exports.DxHatching = exports.DxGrid = exports.DxFormat = exports.DxFont = exports.DxExport = exports.DxDragBoxStyle = exports.DxDataPrepareSettings = exports.DxCrosshair = exports.DxConstantLineStyle = exports.DxConstantLineLabel = exports.DxConstantLine = exports.DxConnector = exports.DxCommonSeriesSettingsSelectionStyle = exports.DxCommonSeriesSettingsLabel = exports.DxCommonSeriesSettingsHoverStyle = exports.DxCommonSeriesSettings = exports.DxCommonPaneSettings = exports.DxCommonAxisSettingsTitle = exports.DxCommonAxisSettingsLabel = exports.DxCommonAxisSettingsConstantLineStyleLabel = exports.DxCommonAxisSettingsConstantLineStyle = exports.DxCommonAxisSettings = exports.DxCommonAnnotationSettings = exports.DxColor = exports.DxChartTitleSubtitle = exports.DxChartTitle = exports.DxBreakStyle = exports.DxBreak = exports.DxBorder = exports.DxBackgroundColor = exports.DxAxisTitle = exports.DxAxisLabel = exports.DxAxisConstantLineStyleLabel = exports.DxAxisConstantLineStyle = exports.DxArgumentFormat = exports.DxArgumentAxis = exports.DxAnnotationImage = exports.DxAnnotationBorder = exports.DxAnnotation = exports.DxAnimation = exports.DxAggregationInterval = exports.DxAggregation = exports.DxAdaptiveLayout = exports.DxChart = void 0;\nexports.DxZoomAndPan = exports.DxWidth = exports.DxWholeRange = exports.DxVisualRange = exports.DxVerticalLine = exports.DxValueErrorBar = exports.DxValueAxis = exports.DxUrl = exports.DxTooltipBorder = exports.DxTooltip = exports.DxTitle = exports.DxTickInterval = exports.DxTick = exports.DxSubtitle = exports.DxStripStyleLabel = exports.DxStripStyle = exports.DxStripLabel = exports.DxStrip = exports.DxSize = exports.DxShadow = exports.DxSeriesTemplate = exports.DxSeriesBorder = exports.DxSeries = exports.DxSelectionStyle = exports.DxScrollBar = exports.DxReduction = exports.DxPointSelectionStyle = exports.DxPointImage = exports.DxPointHoverStyle = exports.DxPointBorder = exports.DxPoint = exports.DxPaneBorder = exports.DxPane = exports.DxMinVisualRangeLength = exports.DxMinorTickInterval = exports.DxMinorTick = exports.DxMinorGrid = exports.DxMargin = exports.DxLoadingIndicator = exports.DxLength = exports.DxLegendTitleSubtitle = exports.DxLegendTitle = exports.DxLegend = void 0;\nvar chart_1 = __importDefault(require(\"devextreme/viz/chart\"));\nvar index_1 = require(\"./core/index\");\nvar index_2 = require(\"./core/index\");\nvar DxChart = (0, index_1.createComponent)({\n props: {\n adaptiveLayout: Object,\n adjustOnZoom: Boolean,\n animation: [Boolean, Object],\n annotations: Array,\n argumentAxis: Object,\n autoHidePointMarkers: Boolean,\n barGroupPadding: Number,\n barGroupWidth: Number,\n commonAnnotationSettings: Object,\n commonAxisSettings: Object,\n commonPaneSettings: Object,\n commonSeriesSettings: Object,\n containerBackgroundColor: String,\n crosshair: Object,\n customizeAnnotation: Function,\n customizeLabel: Function,\n customizePoint: Function,\n dataPrepareSettings: Object,\n dataSource: {},\n defaultPane: String,\n disabled: Boolean,\n elementAttr: Object,\n export: Object,\n legend: Object,\n loadingIndicator: Object,\n margin: Object,\n maxBubbleSize: Number,\n minBubbleSize: Number,\n negativesAsZeroes: Boolean,\n onArgumentAxisClick: Function,\n onDisposing: Function,\n onDone: Function,\n onDrawn: Function,\n onExported: Function,\n onExporting: Function,\n onFileSaving: Function,\n onIncidentOccurred: Function,\n onInitialized: Function,\n onLegendClick: Function,\n onOptionChanged: Function,\n onPointClick: Function,\n onPointHoverChanged: Function,\n onPointSelectionChanged: Function,\n onSeriesClick: Function,\n onSeriesHoverChanged: Function,\n onSeriesSelectionChanged: Function,\n onTooltipHidden: Function,\n onTooltipShown: Function,\n onZoomEnd: Function,\n onZoomStart: Function,\n palette: [Array, String],\n paletteExtensionMode: String,\n panes: [Array, Object],\n pathModified: Boolean,\n pointSelectionMode: String,\n redrawOnResize: Boolean,\n resizePanesOnZoom: Boolean,\n resolveLabelOverlapping: String,\n rotated: Boolean,\n rtlEnabled: Boolean,\n scrollBar: Object,\n series: [Array, Object],\n seriesSelectionMode: String,\n seriesTemplate: Object,\n size: Object,\n stickyHovering: Boolean,\n synchronizeMultiAxes: Boolean,\n theme: String,\n title: [Object, String],\n tooltip: Object,\n valueAxis: [Array, Object],\n zoomAndPan: Object\n },\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:adaptiveLayout\": null,\n \"update:adjustOnZoom\": null,\n \"update:animation\": null,\n \"update:annotations\": null,\n \"update:argumentAxis\": null,\n \"update:autoHidePointMarkers\": null,\n \"update:barGroupPadding\": null,\n \"update:barGroupWidth\": null,\n \"update:commonAnnotationSettings\": null,\n \"update:commonAxisSettings\": null,\n \"update:commonPaneSettings\": null,\n \"update:commonSeriesSettings\": null,\n \"update:containerBackgroundColor\": null,\n \"update:crosshair\": null,\n \"update:customizeAnnotation\": null,\n \"update:customizeLabel\": null,\n \"update:customizePoint\": null,\n \"update:dataPrepareSettings\": null,\n \"update:dataSource\": null,\n \"update:defaultPane\": null,\n \"update:disabled\": null,\n \"update:elementAttr\": null,\n \"update:export\": null,\n \"update:legend\": null,\n \"update:loadingIndicator\": null,\n \"update:margin\": null,\n \"update:maxBubbleSize\": null,\n \"update:minBubbleSize\": null,\n \"update:negativesAsZeroes\": null,\n \"update:onArgumentAxisClick\": null,\n \"update:onDisposing\": null,\n \"update:onDone\": null,\n \"update:onDrawn\": null,\n \"update:onExported\": null,\n \"update:onExporting\": null,\n \"update:onFileSaving\": null,\n \"update:onIncidentOccurred\": null,\n \"update:onInitialized\": null,\n \"update:onLegendClick\": null,\n \"update:onOptionChanged\": null,\n \"update:onPointClick\": null,\n \"update:onPointHoverChanged\": null,\n \"update:onPointSelectionChanged\": null,\n \"update:onSeriesClick\": null,\n \"update:onSeriesHoverChanged\": null,\n \"update:onSeriesSelectionChanged\": null,\n \"update:onTooltipHidden\": null,\n \"update:onTooltipShown\": null,\n \"update:onZoomEnd\": null,\n \"update:onZoomStart\": null,\n \"update:palette\": null,\n \"update:paletteExtensionMode\": null,\n \"update:panes\": null,\n \"update:pathModified\": null,\n \"update:pointSelectionMode\": null,\n \"update:redrawOnResize\": null,\n \"update:resizePanesOnZoom\": null,\n \"update:resolveLabelOverlapping\": null,\n \"update:rotated\": null,\n \"update:rtlEnabled\": null,\n \"update:scrollBar\": null,\n \"update:series\": null,\n \"update:seriesSelectionMode\": null,\n \"update:seriesTemplate\": null,\n \"update:size\": null,\n \"update:stickyHovering\": null,\n \"update:synchronizeMultiAxes\": null,\n \"update:theme\": null,\n \"update:title\": null,\n \"update:tooltip\": null,\n \"update:valueAxis\": null,\n \"update:zoomAndPan\": null,\n },\n computed: {\n instance: function () {\n return this.$_instance;\n }\n },\n beforeCreate: function () {\n this.$_WidgetClass = chart_1.default;\n this.$_hasAsyncTemplate = true;\n this.$_expectedChildren = {\n adaptiveLayout: { isCollectionItem: false, optionName: \"adaptiveLayout\" },\n animation: { isCollectionItem: false, optionName: \"animation\" },\n annotation: { isCollectionItem: true, optionName: \"annotations\" },\n argumentAxis: { isCollectionItem: false, optionName: \"argumentAxis\" },\n chartTitle: { isCollectionItem: false, optionName: \"title\" },\n commonAnnotationSettings: { isCollectionItem: false, optionName: \"commonAnnotationSettings\" },\n commonAxisSettings: { isCollectionItem: false, optionName: \"commonAxisSettings\" },\n commonPaneSettings: { isCollectionItem: false, optionName: \"commonPaneSettings\" },\n commonSeriesSettings: { isCollectionItem: false, optionName: \"commonSeriesSettings\" },\n crosshair: { isCollectionItem: false, optionName: \"crosshair\" },\n dataPrepareSettings: { isCollectionItem: false, optionName: \"dataPrepareSettings\" },\n export: { isCollectionItem: false, optionName: \"export\" },\n legend: { isCollectionItem: false, optionName: \"legend\" },\n loadingIndicator: { isCollectionItem: false, optionName: \"loadingIndicator\" },\n margin: { isCollectionItem: false, optionName: \"margin\" },\n pane: { isCollectionItem: true, optionName: \"panes\" },\n scrollBar: { isCollectionItem: false, optionName: \"scrollBar\" },\n series: { isCollectionItem: true, optionName: \"series\" },\n seriesTemplate: { isCollectionItem: false, optionName: \"seriesTemplate\" },\n size: { isCollectionItem: false, optionName: \"size\" },\n title: { isCollectionItem: false, optionName: \"title\" },\n tooltip: { isCollectionItem: false, optionName: \"tooltip\" },\n valueAxis: { isCollectionItem: true, optionName: \"valueAxis\" },\n zoomAndPan: { isCollectionItem: false, optionName: \"zoomAndPan\" }\n };\n }\n});\nexports.DxChart = DxChart;\nvar DxAdaptiveLayout = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:height\": null,\n \"update:keepLabels\": null,\n \"update:width\": null,\n },\n props: {\n height: Number,\n keepLabels: Boolean,\n width: Number\n }\n});\nexports.DxAdaptiveLayout = DxAdaptiveLayout;\nDxAdaptiveLayout.$_optionName = \"adaptiveLayout\";\nvar DxAggregation = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:calculate\": null,\n \"update:enabled\": null,\n \"update:method\": null,\n },\n props: {\n calculate: Function,\n enabled: Boolean,\n method: String\n }\n});\nexports.DxAggregation = DxAggregation;\nDxAggregation.$_optionName = \"aggregation\";\nvar DxAggregationInterval = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:days\": null,\n \"update:hours\": null,\n \"update:milliseconds\": null,\n \"update:minutes\": null,\n \"update:months\": null,\n \"update:quarters\": null,\n \"update:seconds\": null,\n \"update:weeks\": null,\n \"update:years\": null,\n },\n props: {\n days: Number,\n hours: Number,\n milliseconds: Number,\n minutes: Number,\n months: Number,\n quarters: Number,\n seconds: Number,\n weeks: Number,\n years: Number\n }\n});\nexports.DxAggregationInterval = DxAggregationInterval;\nDxAggregationInterval.$_optionName = \"aggregationInterval\";\nvar DxAnimation = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:duration\": null,\n \"update:easing\": null,\n \"update:enabled\": null,\n \"update:maxPointCountSupported\": null,\n },\n props: {\n duration: Number,\n easing: String,\n enabled: Boolean,\n maxPointCountSupported: Number\n }\n});\nexports.DxAnimation = DxAnimation;\nDxAnimation.$_optionName = \"animation\";\nvar DxAnnotation = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowDragging\": null,\n \"update:argument\": null,\n \"update:arrowLength\": null,\n \"update:arrowWidth\": null,\n \"update:axis\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:customizeTooltip\": null,\n \"update:data\": null,\n \"update:description\": null,\n \"update:font\": null,\n \"update:height\": null,\n \"update:image\": null,\n \"update:name\": null,\n \"update:offsetX\": null,\n \"update:offsetY\": null,\n \"update:opacity\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:series\": null,\n \"update:shadow\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:textOverflow\": null,\n \"update:tooltipEnabled\": null,\n \"update:tooltipTemplate\": null,\n \"update:type\": null,\n \"update:value\": null,\n \"update:width\": null,\n \"update:wordWrap\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n allowDragging: Boolean,\n argument: {},\n arrowLength: Number,\n arrowWidth: Number,\n axis: String,\n border: Object,\n color: String,\n customizeTooltip: Function,\n data: {},\n description: String,\n font: Object,\n height: Number,\n image: [Object, String],\n name: String,\n offsetX: Number,\n offsetY: Number,\n opacity: Number,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n series: String,\n shadow: Object,\n template: {},\n text: String,\n textOverflow: String,\n tooltipEnabled: Boolean,\n tooltipTemplate: {},\n type: String,\n value: {},\n width: Number,\n wordWrap: String,\n x: Number,\n y: Number\n }\n});\nexports.DxAnnotation = DxAnnotation;\nDxAnnotation.$_optionName = \"annotations\";\nDxAnnotation.$_isCollectionItem = true;\nDxAnnotation.$_expectedChildren = {\n annotationBorder: { isCollectionItem: false, optionName: \"border\" },\n annotationImage: { isCollectionItem: false, optionName: \"image\" },\n border: { isCollectionItem: false, optionName: \"border\" },\n font: { isCollectionItem: false, optionName: \"font\" },\n image: { isCollectionItem: false, optionName: \"image\" },\n shadow: { isCollectionItem: false, optionName: \"shadow\" }\n};\nvar DxAnnotationBorder = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:cornerRadius\": null,\n \"update:dashStyle\": null,\n \"update:opacity\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n cornerRadius: Number,\n dashStyle: String,\n opacity: Number,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxAnnotationBorder = DxAnnotationBorder;\nDxAnnotationBorder.$_optionName = \"border\";\nvar DxAnnotationImage = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:height\": null,\n \"update:url\": null,\n \"update:width\": null,\n },\n props: {\n height: Number,\n url: String,\n width: Number\n }\n});\nexports.DxAnnotationImage = DxAnnotationImage;\nDxAnnotationImage.$_optionName = \"image\";\nvar DxArgumentAxis = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:aggregateByCategory\": null,\n \"update:aggregatedPointsPosition\": null,\n \"update:aggregationGroupWidth\": null,\n \"update:aggregationInterval\": null,\n \"update:allowDecimals\": null,\n \"update:argumentType\": null,\n \"update:axisDivisionFactor\": null,\n \"update:breaks\": null,\n \"update:breakStyle\": null,\n \"update:categories\": null,\n \"update:color\": null,\n \"update:constantLines\": null,\n \"update:constantLineStyle\": null,\n \"update:customPosition\": null,\n \"update:customPositionAxis\": null,\n \"update:discreteAxisDivisionMode\": null,\n \"update:endOnTick\": null,\n \"update:grid\": null,\n \"update:holidays\": null,\n \"update:hoverMode\": null,\n \"update:inverted\": null,\n \"update:label\": null,\n \"update:linearThreshold\": null,\n \"update:logarithmBase\": null,\n \"update:maxValueMargin\": null,\n \"update:minorGrid\": null,\n \"update:minorTick\": null,\n \"update:minorTickCount\": null,\n \"update:minorTickInterval\": null,\n \"update:minValueMargin\": null,\n \"update:minVisualRangeLength\": null,\n \"update:offset\": null,\n \"update:opacity\": null,\n \"update:placeholderSize\": null,\n \"update:position\": null,\n \"update:singleWorkdays\": null,\n \"update:strips\": null,\n \"update:stripStyle\": null,\n \"update:tick\": null,\n \"update:tickInterval\": null,\n \"update:title\": null,\n \"update:type\": null,\n \"update:valueMarginsEnabled\": null,\n \"update:visible\": null,\n \"update:visualRange\": null,\n \"update:visualRangeUpdateMode\": null,\n \"update:wholeRange\": null,\n \"update:width\": null,\n \"update:workdaysOnly\": null,\n \"update:workWeek\": null,\n },\n props: {\n aggregateByCategory: Boolean,\n aggregatedPointsPosition: String,\n aggregationGroupWidth: Number,\n aggregationInterval: [Number, Object, String],\n allowDecimals: Boolean,\n argumentType: String,\n axisDivisionFactor: Number,\n breaks: Array,\n breakStyle: Object,\n categories: Array,\n color: String,\n constantLines: Array,\n constantLineStyle: Object,\n customPosition: {},\n customPositionAxis: String,\n discreteAxisDivisionMode: String,\n endOnTick: Boolean,\n grid: Object,\n holidays: Array,\n hoverMode: String,\n inverted: Boolean,\n label: Object,\n linearThreshold: Number,\n logarithmBase: Number,\n maxValueMargin: Number,\n minorGrid: Object,\n minorTick: Object,\n minorTickCount: Number,\n minorTickInterval: [Number, Object, String],\n minValueMargin: Number,\n minVisualRangeLength: [Number, Object, String],\n offset: Number,\n opacity: Number,\n placeholderSize: Number,\n position: String,\n singleWorkdays: Array,\n strips: Array,\n stripStyle: Object,\n tick: Object,\n tickInterval: [Number, Object, String],\n title: [Object, String],\n type: String,\n valueMarginsEnabled: Boolean,\n visible: Boolean,\n visualRange: [Array, Object],\n visualRangeUpdateMode: String,\n wholeRange: [Array, Object],\n width: Number,\n workdaysOnly: Boolean,\n workWeek: Array\n }\n});\nexports.DxArgumentAxis = DxArgumentAxis;\nDxArgumentAxis.$_optionName = \"argumentAxis\";\nDxArgumentAxis.$_expectedChildren = {\n aggregationInterval: { isCollectionItem: false, optionName: \"aggregationInterval\" },\n axisConstantLineStyle: { isCollectionItem: false, optionName: \"constantLineStyle\" },\n axisLabel: { isCollectionItem: false, optionName: \"label\" },\n axisTitle: { isCollectionItem: false, optionName: \"title\" },\n break: { isCollectionItem: true, optionName: \"breaks\" },\n breakStyle: { isCollectionItem: false, optionName: \"breakStyle\" },\n constantLine: { isCollectionItem: true, optionName: \"constantLines\" },\n constantLineStyle: { isCollectionItem: false, optionName: \"constantLineStyle\" },\n grid: { isCollectionItem: false, optionName: \"grid\" },\n label: { isCollectionItem: false, optionName: \"label\" },\n minorGrid: { isCollectionItem: false, optionName: \"minorGrid\" },\n minorTick: { isCollectionItem: false, optionName: \"minorTick\" },\n minorTickInterval: { isCollectionItem: false, optionName: \"minorTickInterval\" },\n minVisualRangeLength: { isCollectionItem: false, optionName: \"minVisualRangeLength\" },\n strip: { isCollectionItem: true, optionName: \"strips\" },\n stripStyle: { isCollectionItem: false, optionName: \"stripStyle\" },\n tick: { isCollectionItem: false, optionName: \"tick\" },\n tickInterval: { isCollectionItem: false, optionName: \"tickInterval\" },\n title: { isCollectionItem: false, optionName: \"title\" },\n visualRange: { isCollectionItem: false, optionName: \"visualRange\" },\n wholeRange: { isCollectionItem: false, optionName: \"wholeRange\" }\n};\nvar DxArgumentFormat = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:currency\": null,\n \"update:formatter\": null,\n \"update:parser\": null,\n \"update:precision\": null,\n \"update:type\": null,\n \"update:useCurrencyAccountingStyle\": null,\n },\n props: {\n currency: String,\n formatter: Function,\n parser: Function,\n precision: Number,\n type: String,\n useCurrencyAccountingStyle: Boolean\n }\n});\nexports.DxArgumentFormat = DxArgumentFormat;\nDxArgumentFormat.$_optionName = \"argumentFormat\";\nvar DxAxisConstantLineStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:label\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n label: Object,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n width: Number\n }\n});\nexports.DxAxisConstantLineStyle = DxAxisConstantLineStyle;\nDxAxisConstantLineStyle.$_optionName = \"constantLineStyle\";\nvar DxAxisConstantLineStyleLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:horizontalAlignment\": null,\n \"update:position\": null,\n \"update:verticalAlignment\": null,\n \"update:visible\": null,\n },\n props: {\n font: Object,\n horizontalAlignment: String,\n position: String,\n verticalAlignment: String,\n visible: Boolean\n }\n});\nexports.DxAxisConstantLineStyleLabel = DxAxisConstantLineStyleLabel;\nDxAxisConstantLineStyleLabel.$_optionName = \"label\";\nvar DxAxisLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:customizeHint\": null,\n \"update:customizeText\": null,\n \"update:displayMode\": null,\n \"update:font\": null,\n \"update:format\": null,\n \"update:indentFromAxis\": null,\n \"update:overlappingBehavior\": null,\n \"update:position\": null,\n \"update:rotationAngle\": null,\n \"update:staggeringSpacing\": null,\n \"update:template\": null,\n \"update:textOverflow\": null,\n \"update:visible\": null,\n \"update:wordWrap\": null,\n },\n props: {\n alignment: String,\n customizeHint: Function,\n customizeText: Function,\n displayMode: String,\n font: Object,\n format: [Object, Function, String],\n indentFromAxis: Number,\n overlappingBehavior: String,\n position: String,\n rotationAngle: Number,\n staggeringSpacing: Number,\n template: {},\n textOverflow: String,\n visible: Boolean,\n wordWrap: String\n }\n});\nexports.DxAxisLabel = DxAxisLabel;\nDxAxisLabel.$_optionName = \"label\";\nvar DxAxisTitle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:font\": null,\n \"update:margin\": null,\n \"update:text\": null,\n \"update:textOverflow\": null,\n \"update:wordWrap\": null,\n },\n props: {\n alignment: String,\n font: Object,\n margin: Number,\n text: String,\n textOverflow: String,\n wordWrap: String\n }\n});\nexports.DxAxisTitle = DxAxisTitle;\nDxAxisTitle.$_optionName = \"title\";\nvar DxBackgroundColor = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:base\": null,\n \"update:fillId\": null,\n },\n props: {\n base: String,\n fillId: String\n }\n});\nexports.DxBackgroundColor = DxBackgroundColor;\nDxBackgroundColor.$_optionName = \"backgroundColor\";\nvar DxBorder = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:bottom\": null,\n \"update:color\": null,\n \"update:cornerRadius\": null,\n \"update:dashStyle\": null,\n \"update:left\": null,\n \"update:opacity\": null,\n \"update:right\": null,\n \"update:top\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n bottom: Boolean,\n color: String,\n cornerRadius: Number,\n dashStyle: String,\n left: Boolean,\n opacity: Number,\n right: Boolean,\n top: Boolean,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxBorder = DxBorder;\nDxBorder.$_optionName = \"border\";\nvar DxBreak = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:endValue\": null,\n \"update:startValue\": null,\n },\n props: {\n endValue: {},\n startValue: {}\n }\n});\nexports.DxBreak = DxBreak;\nDxBreak.$_optionName = \"breaks\";\nDxBreak.$_isCollectionItem = true;\nvar DxBreakStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:line\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n line: String,\n width: Number\n }\n});\nexports.DxBreakStyle = DxBreakStyle;\nDxBreakStyle.$_optionName = \"breakStyle\";\nvar DxChartTitle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:horizontalAlignment\": null,\n \"update:margin\": null,\n \"update:placeholderSize\": null,\n \"update:subtitle\": null,\n \"update:text\": null,\n \"update:textOverflow\": null,\n \"update:verticalAlignment\": null,\n \"update:wordWrap\": null,\n },\n props: {\n font: Object,\n horizontalAlignment: String,\n margin: [Number, Object],\n placeholderSize: Number,\n subtitle: [Object, String],\n text: String,\n textOverflow: String,\n verticalAlignment: String,\n wordWrap: String\n }\n});\nexports.DxChartTitle = DxChartTitle;\nDxChartTitle.$_optionName = \"title\";\nDxChartTitle.$_expectedChildren = {\n chartTitleSubtitle: { isCollectionItem: false, optionName: \"subtitle\" },\n font: { isCollectionItem: false, optionName: \"font\" },\n margin: { isCollectionItem: false, optionName: \"margin\" },\n subtitle: { isCollectionItem: false, optionName: \"subtitle\" }\n};\nvar DxChartTitleSubtitle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:offset\": null,\n \"update:text\": null,\n \"update:textOverflow\": null,\n \"update:wordWrap\": null,\n },\n props: {\n font: Object,\n offset: Number,\n text: String,\n textOverflow: String,\n wordWrap: String\n }\n});\nexports.DxChartTitleSubtitle = DxChartTitleSubtitle;\nDxChartTitleSubtitle.$_optionName = \"subtitle\";\nDxChartTitleSubtitle.$_expectedChildren = {\n font: { isCollectionItem: false, optionName: \"font\" }\n};\nvar DxColor = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:base\": null,\n \"update:fillId\": null,\n },\n props: {\n base: String,\n fillId: String\n }\n});\nexports.DxColor = DxColor;\nDxColor.$_optionName = \"color\";\nvar DxCommonAnnotationSettings = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowDragging\": null,\n \"update:argument\": null,\n \"update:arrowLength\": null,\n \"update:arrowWidth\": null,\n \"update:axis\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:customizeTooltip\": null,\n \"update:data\": null,\n \"update:description\": null,\n \"update:font\": null,\n \"update:height\": null,\n \"update:image\": null,\n \"update:offsetX\": null,\n \"update:offsetY\": null,\n \"update:opacity\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:series\": null,\n \"update:shadow\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:textOverflow\": null,\n \"update:tooltipEnabled\": null,\n \"update:tooltipTemplate\": null,\n \"update:type\": null,\n \"update:value\": null,\n \"update:width\": null,\n \"update:wordWrap\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n allowDragging: Boolean,\n argument: {},\n arrowLength: Number,\n arrowWidth: Number,\n axis: String,\n border: Object,\n color: String,\n customizeTooltip: Function,\n data: {},\n description: String,\n font: Object,\n height: Number,\n image: [Object, String],\n offsetX: Number,\n offsetY: Number,\n opacity: Number,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n series: String,\n shadow: Object,\n template: {},\n text: String,\n textOverflow: String,\n tooltipEnabled: Boolean,\n tooltipTemplate: {},\n type: String,\n value: {},\n width: Number,\n wordWrap: String,\n x: Number,\n y: Number\n }\n});\nexports.DxCommonAnnotationSettings = DxCommonAnnotationSettings;\nDxCommonAnnotationSettings.$_optionName = \"commonAnnotationSettings\";\nvar DxCommonAxisSettings = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:aggregatedPointsPosition\": null,\n \"update:allowDecimals\": null,\n \"update:breakStyle\": null,\n \"update:color\": null,\n \"update:constantLineStyle\": null,\n \"update:discreteAxisDivisionMode\": null,\n \"update:endOnTick\": null,\n \"update:grid\": null,\n \"update:inverted\": null,\n \"update:label\": null,\n \"update:maxValueMargin\": null,\n \"update:minorGrid\": null,\n \"update:minorTick\": null,\n \"update:minValueMargin\": null,\n \"update:opacity\": null,\n \"update:placeholderSize\": null,\n \"update:stripStyle\": null,\n \"update:tick\": null,\n \"update:title\": null,\n \"update:valueMarginsEnabled\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n aggregatedPointsPosition: String,\n allowDecimals: Boolean,\n breakStyle: Object,\n color: String,\n constantLineStyle: Object,\n discreteAxisDivisionMode: String,\n endOnTick: Boolean,\n grid: Object,\n inverted: Boolean,\n label: Object,\n maxValueMargin: Number,\n minorGrid: Object,\n minorTick: Object,\n minValueMargin: Number,\n opacity: Number,\n placeholderSize: Number,\n stripStyle: Object,\n tick: Object,\n title: Object,\n valueMarginsEnabled: Boolean,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxCommonAxisSettings = DxCommonAxisSettings;\nDxCommonAxisSettings.$_optionName = \"commonAxisSettings\";\nDxCommonAxisSettings.$_expectedChildren = {\n commonAxisSettingsConstantLineStyle: { isCollectionItem: false, optionName: \"constantLineStyle\" },\n commonAxisSettingsLabel: { isCollectionItem: false, optionName: \"label\" },\n commonAxisSettingsTitle: { isCollectionItem: false, optionName: \"title\" },\n constantLineStyle: { isCollectionItem: false, optionName: \"constantLineStyle\" },\n label: { isCollectionItem: false, optionName: \"label\" },\n title: { isCollectionItem: false, optionName: \"title\" }\n};\nvar DxCommonAxisSettingsConstantLineStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:label\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n label: Object,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n width: Number\n }\n});\nexports.DxCommonAxisSettingsConstantLineStyle = DxCommonAxisSettingsConstantLineStyle;\nDxCommonAxisSettingsConstantLineStyle.$_optionName = \"constantLineStyle\";\nDxCommonAxisSettingsConstantLineStyle.$_expectedChildren = {\n commonAxisSettingsConstantLineStyleLabel: { isCollectionItem: false, optionName: \"label\" },\n label: { isCollectionItem: false, optionName: \"label\" }\n};\nvar DxCommonAxisSettingsConstantLineStyleLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:position\": null,\n \"update:visible\": null,\n },\n props: {\n font: Object,\n position: String,\n visible: Boolean\n }\n});\nexports.DxCommonAxisSettingsConstantLineStyleLabel = DxCommonAxisSettingsConstantLineStyleLabel;\nDxCommonAxisSettingsConstantLineStyleLabel.$_optionName = \"label\";\nvar DxCommonAxisSettingsLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:displayMode\": null,\n \"update:font\": null,\n \"update:indentFromAxis\": null,\n \"update:overlappingBehavior\": null,\n \"update:position\": null,\n \"update:rotationAngle\": null,\n \"update:staggeringSpacing\": null,\n \"update:template\": null,\n \"update:textOverflow\": null,\n \"update:visible\": null,\n \"update:wordWrap\": null,\n },\n props: {\n alignment: String,\n displayMode: String,\n font: Object,\n indentFromAxis: Number,\n overlappingBehavior: String,\n position: String,\n rotationAngle: Number,\n staggeringSpacing: Number,\n template: {},\n textOverflow: String,\n visible: Boolean,\n wordWrap: String\n }\n});\nexports.DxCommonAxisSettingsLabel = DxCommonAxisSettingsLabel;\nDxCommonAxisSettingsLabel.$_optionName = \"label\";\nvar DxCommonAxisSettingsTitle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:font\": null,\n \"update:margin\": null,\n \"update:textOverflow\": null,\n \"update:wordWrap\": null,\n },\n props: {\n alignment: String,\n font: Object,\n margin: Number,\n textOverflow: String,\n wordWrap: String\n }\n});\nexports.DxCommonAxisSettingsTitle = DxCommonAxisSettingsTitle;\nDxCommonAxisSettingsTitle.$_optionName = \"title\";\nvar DxCommonPaneSettings = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:backgroundColor\": null,\n \"update:border\": null,\n },\n props: {\n backgroundColor: [Object, String],\n border: Object\n }\n});\nexports.DxCommonPaneSettings = DxCommonPaneSettings;\nDxCommonPaneSettings.$_optionName = \"commonPaneSettings\";\nDxCommonPaneSettings.$_expectedChildren = {\n backgroundColor: { isCollectionItem: false, optionName: \"backgroundColor\" },\n border: { isCollectionItem: false, optionName: \"border\" },\n paneBorder: { isCollectionItem: false, optionName: \"border\" }\n};\nvar DxCommonSeriesSettings = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:aggregation\": null,\n \"update:area\": null,\n \"update:argumentField\": null,\n \"update:axis\": null,\n \"update:bar\": null,\n \"update:barOverlapGroup\": null,\n \"update:barPadding\": null,\n \"update:barWidth\": null,\n \"update:border\": null,\n \"update:bubble\": null,\n \"update:candlestick\": null,\n \"update:closeValueField\": null,\n \"update:color\": null,\n \"update:cornerRadius\": null,\n \"update:dashStyle\": null,\n \"update:fullstackedarea\": null,\n \"update:fullstackedbar\": null,\n \"update:fullstackedline\": null,\n \"update:fullstackedspline\": null,\n \"update:fullstackedsplinearea\": null,\n \"update:highValueField\": null,\n \"update:hoverMode\": null,\n \"update:hoverStyle\": null,\n \"update:ignoreEmptyPoints\": null,\n \"update:innerColor\": null,\n \"update:label\": null,\n \"update:line\": null,\n \"update:lowValueField\": null,\n \"update:maxLabelCount\": null,\n \"update:minBarSize\": null,\n \"update:opacity\": null,\n \"update:openValueField\": null,\n \"update:pane\": null,\n \"update:point\": null,\n \"update:rangearea\": null,\n \"update:rangebar\": null,\n \"update:rangeValue1Field\": null,\n \"update:rangeValue2Field\": null,\n \"update:reduction\": null,\n \"update:scatter\": null,\n \"update:selectionMode\": null,\n \"update:selectionStyle\": null,\n \"update:showInLegend\": null,\n \"update:sizeField\": null,\n \"update:spline\": null,\n \"update:splinearea\": null,\n \"update:stack\": null,\n \"update:stackedarea\": null,\n \"update:stackedbar\": null,\n \"update:stackedline\": null,\n \"update:stackedspline\": null,\n \"update:stackedsplinearea\": null,\n \"update:steparea\": null,\n \"update:stepline\": null,\n \"update:stock\": null,\n \"update:tagField\": null,\n \"update:type\": null,\n \"update:valueErrorBar\": null,\n \"update:valueField\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n aggregation: Object,\n area: {},\n argumentField: String,\n axis: String,\n bar: {},\n barOverlapGroup: String,\n barPadding: Number,\n barWidth: Number,\n border: Object,\n bubble: {},\n candlestick: {},\n closeValueField: String,\n color: [Object, String],\n cornerRadius: Number,\n dashStyle: String,\n fullstackedarea: {},\n fullstackedbar: {},\n fullstackedline: {},\n fullstackedspline: {},\n fullstackedsplinearea: {},\n highValueField: String,\n hoverMode: String,\n hoverStyle: Object,\n ignoreEmptyPoints: Boolean,\n innerColor: String,\n label: Object,\n line: {},\n lowValueField: String,\n maxLabelCount: Number,\n minBarSize: Number,\n opacity: Number,\n openValueField: String,\n pane: String,\n point: Object,\n rangearea: {},\n rangebar: {},\n rangeValue1Field: String,\n rangeValue2Field: String,\n reduction: Object,\n scatter: {},\n selectionMode: String,\n selectionStyle: Object,\n showInLegend: Boolean,\n sizeField: String,\n spline: {},\n splinearea: {},\n stack: String,\n stackedarea: {},\n stackedbar: {},\n stackedline: {},\n stackedspline: {},\n stackedsplinearea: {},\n steparea: {},\n stepline: {},\n stock: {},\n tagField: String,\n type: String,\n valueErrorBar: Object,\n valueField: String,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxCommonSeriesSettings = DxCommonSeriesSettings;\nDxCommonSeriesSettings.$_optionName = \"commonSeriesSettings\";\nDxCommonSeriesSettings.$_expectedChildren = {\n aggregation: { isCollectionItem: false, optionName: \"aggregation\" },\n border: { isCollectionItem: false, optionName: \"border\" },\n color: { isCollectionItem: false, optionName: \"color\" },\n commonSeriesSettingsHoverStyle: { isCollectionItem: false, optionName: \"hoverStyle\" },\n commonSeriesSettingsLabel: { isCollectionItem: false, optionName: \"label\" },\n commonSeriesSettingsSelectionStyle: { isCollectionItem: false, optionName: \"selectionStyle\" },\n hoverStyle: { isCollectionItem: false, optionName: \"hoverStyle\" },\n label: { isCollectionItem: false, optionName: \"label\" },\n point: { isCollectionItem: false, optionName: \"point\" },\n reduction: { isCollectionItem: false, optionName: \"reduction\" },\n selectionStyle: { isCollectionItem: false, optionName: \"selectionStyle\" },\n seriesBorder: { isCollectionItem: false, optionName: \"border\" },\n valueErrorBar: { isCollectionItem: false, optionName: \"valueErrorBar\" }\n};\nvar DxCommonSeriesSettingsHoverStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:hatching\": null,\n \"update:highlight\": null,\n \"update:width\": null,\n },\n props: {\n border: Object,\n color: [Object, String],\n dashStyle: String,\n hatching: Object,\n highlight: Boolean,\n width: Number\n }\n});\nexports.DxCommonSeriesSettingsHoverStyle = DxCommonSeriesSettingsHoverStyle;\nDxCommonSeriesSettingsHoverStyle.$_optionName = \"hoverStyle\";\nDxCommonSeriesSettingsHoverStyle.$_expectedChildren = {\n border: { isCollectionItem: false, optionName: \"border\" },\n color: { isCollectionItem: false, optionName: \"color\" },\n hatching: { isCollectionItem: false, optionName: \"hatching\" },\n seriesBorder: { isCollectionItem: false, optionName: \"border\" }\n};\nvar DxCommonSeriesSettingsLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:argumentFormat\": null,\n \"update:backgroundColor\": null,\n \"update:border\": null,\n \"update:connector\": null,\n \"update:customizeText\": null,\n \"update:displayFormat\": null,\n \"update:font\": null,\n \"update:format\": null,\n \"update:horizontalOffset\": null,\n \"update:position\": null,\n \"update:rotationAngle\": null,\n \"update:showForZeroValues\": null,\n \"update:verticalOffset\": null,\n \"update:visible\": null,\n },\n props: {\n alignment: String,\n argumentFormat: [Object, Function, String],\n backgroundColor: String,\n border: Object,\n connector: Object,\n customizeText: Function,\n displayFormat: String,\n font: Object,\n format: [Object, Function, String],\n horizontalOffset: Number,\n position: String,\n rotationAngle: Number,\n showForZeroValues: Boolean,\n verticalOffset: Number,\n visible: Boolean\n }\n});\nexports.DxCommonSeriesSettingsLabel = DxCommonSeriesSettingsLabel;\nDxCommonSeriesSettingsLabel.$_optionName = \"label\";\nDxCommonSeriesSettingsLabel.$_expectedChildren = {\n argumentFormat: { isCollectionItem: false, optionName: \"argumentFormat\" },\n border: { isCollectionItem: false, optionName: \"border\" },\n connector: { isCollectionItem: false, optionName: \"connector\" },\n font: { isCollectionItem: false, optionName: \"font\" },\n format: { isCollectionItem: false, optionName: \"format\" },\n seriesBorder: { isCollectionItem: false, optionName: \"border\" }\n};\nvar DxCommonSeriesSettingsSelectionStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:hatching\": null,\n \"update:highlight\": null,\n \"update:width\": null,\n },\n props: {\n border: Object,\n color: [Object, String],\n dashStyle: String,\n hatching: Object,\n highlight: Boolean,\n width: Number\n }\n});\nexports.DxCommonSeriesSettingsSelectionStyle = DxCommonSeriesSettingsSelectionStyle;\nDxCommonSeriesSettingsSelectionStyle.$_optionName = \"selectionStyle\";\nDxCommonSeriesSettingsSelectionStyle.$_expectedChildren = {\n border: { isCollectionItem: false, optionName: \"border\" },\n color: { isCollectionItem: false, optionName: \"color\" },\n hatching: { isCollectionItem: false, optionName: \"hatching\" },\n seriesBorder: { isCollectionItem: false, optionName: \"border\" }\n};\nvar DxConnector = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxConnector = DxConnector;\nDxConnector.$_optionName = \"connector\";\nvar DxConstantLine = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:displayBehindSeries\": null,\n \"update:extendAxis\": null,\n \"update:label\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:value\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n displayBehindSeries: Boolean,\n extendAxis: Boolean,\n label: Object,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n value: {},\n width: Number\n }\n});\nexports.DxConstantLine = DxConstantLine;\nDxConstantLine.$_optionName = \"constantLines\";\nDxConstantLine.$_isCollectionItem = true;\nvar DxConstantLineLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:horizontalAlignment\": null,\n \"update:position\": null,\n \"update:text\": null,\n \"update:verticalAlignment\": null,\n \"update:visible\": null,\n },\n props: {\n font: Object,\n horizontalAlignment: String,\n position: String,\n text: String,\n verticalAlignment: String,\n visible: Boolean\n }\n});\nexports.DxConstantLineLabel = DxConstantLineLabel;\nDxConstantLineLabel.$_optionName = \"label\";\nvar DxConstantLineStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:label\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n label: Object,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n width: Number\n }\n});\nexports.DxConstantLineStyle = DxConstantLineStyle;\nDxConstantLineStyle.$_optionName = \"constantLineStyle\";\nvar DxCrosshair = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:enabled\": null,\n \"update:horizontalLine\": null,\n \"update:label\": null,\n \"update:opacity\": null,\n \"update:verticalLine\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n enabled: Boolean,\n horizontalLine: [Boolean, Object],\n label: Object,\n opacity: Number,\n verticalLine: [Boolean, Object],\n width: Number\n }\n});\nexports.DxCrosshair = DxCrosshair;\nDxCrosshair.$_optionName = \"crosshair\";\nDxCrosshair.$_expectedChildren = {\n horizontalLine: { isCollectionItem: false, optionName: \"horizontalLine\" },\n horizontalLineLabel: { isCollectionItem: false, optionName: \"label\" },\n label: { isCollectionItem: false, optionName: \"label\" },\n verticalLine: { isCollectionItem: false, optionName: \"verticalLine\" }\n};\nvar DxDataPrepareSettings = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:checkTypeForAllData\": null,\n \"update:convertToAxisDataType\": null,\n \"update:sortingMethod\": null,\n },\n props: {\n checkTypeForAllData: Boolean,\n convertToAxisDataType: Boolean,\n sortingMethod: [Boolean, Function]\n }\n});\nexports.DxDataPrepareSettings = DxDataPrepareSettings;\nDxDataPrepareSettings.$_optionName = \"dataPrepareSettings\";\nvar DxDragBoxStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:opacity\": null,\n },\n props: {\n color: String,\n opacity: Number\n }\n});\nexports.DxDragBoxStyle = DxDragBoxStyle;\nDxDragBoxStyle.$_optionName = \"dragBoxStyle\";\nvar DxExport = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:backgroundColor\": null,\n \"update:enabled\": null,\n \"update:fileName\": null,\n \"update:formats\": null,\n \"update:margin\": null,\n \"update:printingEnabled\": null,\n \"update:svgToCanvas\": null,\n },\n props: {\n backgroundColor: String,\n enabled: Boolean,\n fileName: String,\n formats: Array,\n margin: Number,\n printingEnabled: Boolean,\n svgToCanvas: Function\n }\n});\nexports.DxExport = DxExport;\nDxExport.$_optionName = \"export\";\nvar DxFont = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:family\": null,\n \"update:opacity\": null,\n \"update:size\": null,\n \"update:weight\": null,\n },\n props: {\n color: String,\n family: String,\n opacity: Number,\n size: [Number, String],\n weight: Number\n }\n});\nexports.DxFont = DxFont;\nDxFont.$_optionName = \"font\";\nvar DxFormat = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:currency\": null,\n \"update:formatter\": null,\n \"update:parser\": null,\n \"update:precision\": null,\n \"update:type\": null,\n \"update:useCurrencyAccountingStyle\": null,\n },\n props: {\n currency: String,\n formatter: Function,\n parser: Function,\n precision: Number,\n type: String,\n useCurrencyAccountingStyle: Boolean\n }\n});\nexports.DxFormat = DxFormat;\nDxFormat.$_optionName = \"format\";\nvar DxGrid = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:opacity\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n opacity: Number,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxGrid = DxGrid;\nDxGrid.$_optionName = \"grid\";\nvar DxHatching = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:direction\": null,\n \"update:opacity\": null,\n \"update:step\": null,\n \"update:width\": null,\n },\n props: {\n direction: String,\n opacity: Number,\n step: Number,\n width: Number\n }\n});\nexports.DxHatching = DxHatching;\nDxHatching.$_optionName = \"hatching\";\nvar DxHeight = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:rangeMaxPoint\": null,\n \"update:rangeMinPoint\": null,\n },\n props: {\n rangeMaxPoint: Number,\n rangeMinPoint: Number\n }\n});\nexports.DxHeight = DxHeight;\nDxHeight.$_optionName = \"height\";\nvar DxHorizontalLine = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:label\": null,\n \"update:opacity\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n label: Object,\n opacity: Number,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxHorizontalLine = DxHorizontalLine;\nDxHorizontalLine.$_optionName = \"horizontalLine\";\nDxHorizontalLine.$_expectedChildren = {\n horizontalLineLabel: { isCollectionItem: false, optionName: \"label\" },\n label: { isCollectionItem: false, optionName: \"label\" }\n};\nvar DxHorizontalLineLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:backgroundColor\": null,\n \"update:customizeText\": null,\n \"update:font\": null,\n \"update:format\": null,\n \"update:visible\": null,\n },\n props: {\n backgroundColor: String,\n customizeText: Function,\n font: Object,\n format: [Object, Function, String],\n visible: Boolean\n }\n});\nexports.DxHorizontalLineLabel = DxHorizontalLineLabel;\nDxHorizontalLineLabel.$_optionName = \"label\";\nvar DxHoverStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:hatching\": null,\n \"update:highlight\": null,\n \"update:size\": null,\n \"update:width\": null,\n },\n props: {\n border: Object,\n color: [Object, String],\n dashStyle: String,\n hatching: Object,\n highlight: Boolean,\n size: Number,\n width: Number\n }\n});\nexports.DxHoverStyle = DxHoverStyle;\nDxHoverStyle.$_optionName = \"hoverStyle\";\nvar DxImage = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:height\": null,\n \"update:url\": null,\n \"update:width\": null,\n },\n props: {\n height: [Number, Object],\n url: [String, Object],\n width: [Number, Object]\n }\n});\nexports.DxImage = DxImage;\nDxImage.$_optionName = \"image\";\nvar DxLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:argumentFormat\": null,\n \"update:backgroundColor\": null,\n \"update:border\": null,\n \"update:connector\": null,\n \"update:customizeHint\": null,\n \"update:customizeText\": null,\n \"update:displayFormat\": null,\n \"update:displayMode\": null,\n \"update:font\": null,\n \"update:format\": null,\n \"update:horizontalAlignment\": null,\n \"update:horizontalOffset\": null,\n \"update:indentFromAxis\": null,\n \"update:overlappingBehavior\": null,\n \"update:position\": null,\n \"update:rotationAngle\": null,\n \"update:showForZeroValues\": null,\n \"update:staggeringSpacing\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:textOverflow\": null,\n \"update:verticalAlignment\": null,\n \"update:verticalOffset\": null,\n \"update:visible\": null,\n \"update:wordWrap\": null,\n },\n props: {\n alignment: String,\n argumentFormat: [Object, Function, String],\n backgroundColor: String,\n border: Object,\n connector: Object,\n customizeHint: Function,\n customizeText: Function,\n displayFormat: String,\n displayMode: String,\n font: Object,\n format: [Object, Function, String],\n horizontalAlignment: String,\n horizontalOffset: Number,\n indentFromAxis: Number,\n overlappingBehavior: String,\n position: String,\n rotationAngle: Number,\n showForZeroValues: Boolean,\n staggeringSpacing: Number,\n template: {},\n text: String,\n textOverflow: String,\n verticalAlignment: String,\n verticalOffset: Number,\n visible: Boolean,\n wordWrap: String\n }\n});\nexports.DxLabel = DxLabel;\nDxLabel.$_optionName = \"label\";\nvar DxLegend = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:backgroundColor\": null,\n \"update:border\": null,\n \"update:columnCount\": null,\n \"update:columnItemSpacing\": null,\n \"update:customizeHint\": null,\n \"update:customizeItems\": null,\n \"update:customizeText\": null,\n \"update:font\": null,\n \"update:horizontalAlignment\": null,\n \"update:hoverMode\": null,\n \"update:itemsAlignment\": null,\n \"update:itemTextPosition\": null,\n \"update:margin\": null,\n \"update:markerSize\": null,\n \"update:markerTemplate\": null,\n \"update:orientation\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:position\": null,\n \"update:rowCount\": null,\n \"update:rowItemSpacing\": null,\n \"update:title\": null,\n \"update:verticalAlignment\": null,\n \"update:visible\": null,\n },\n props: {\n backgroundColor: String,\n border: Object,\n columnCount: Number,\n columnItemSpacing: Number,\n customizeHint: Function,\n customizeItems: Function,\n customizeText: Function,\n font: Object,\n horizontalAlignment: String,\n hoverMode: String,\n itemsAlignment: String,\n itemTextPosition: String,\n margin: [Number, Object],\n markerSize: Number,\n markerTemplate: {},\n orientation: String,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n position: String,\n rowCount: Number,\n rowItemSpacing: Number,\n title: [Object, String],\n verticalAlignment: String,\n visible: Boolean\n }\n});\nexports.DxLegend = DxLegend;\nDxLegend.$_optionName = \"legend\";\nDxLegend.$_expectedChildren = {\n annotationBorder: { isCollectionItem: false, optionName: \"border\" },\n border: { isCollectionItem: false, optionName: \"border\" },\n font: { isCollectionItem: false, optionName: \"font\" },\n legendTitle: { isCollectionItem: false, optionName: \"title\" },\n margin: { isCollectionItem: false, optionName: \"margin\" },\n title: { isCollectionItem: false, optionName: \"title\" }\n};\nvar DxLegendTitle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:horizontalAlignment\": null,\n \"update:margin\": null,\n \"update:placeholderSize\": null,\n \"update:subtitle\": null,\n \"update:text\": null,\n \"update:verticalAlignment\": null,\n },\n props: {\n font: Object,\n horizontalAlignment: String,\n margin: Object,\n placeholderSize: Number,\n subtitle: [Object, String],\n text: String,\n verticalAlignment: String\n }\n});\nexports.DxLegendTitle = DxLegendTitle;\nDxLegendTitle.$_optionName = \"title\";\nDxLegendTitle.$_expectedChildren = {\n font: { isCollectionItem: false, optionName: \"font\" },\n legendTitleSubtitle: { isCollectionItem: false, optionName: \"subtitle\" },\n margin: { isCollectionItem: false, optionName: \"margin\" },\n subtitle: { isCollectionItem: false, optionName: \"subtitle\" }\n};\nvar DxLegendTitleSubtitle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:offset\": null,\n \"update:text\": null,\n },\n props: {\n font: Object,\n offset: Number,\n text: String\n }\n});\nexports.DxLegendTitleSubtitle = DxLegendTitleSubtitle;\nDxLegendTitleSubtitle.$_optionName = \"subtitle\";\nDxLegendTitleSubtitle.$_expectedChildren = {\n font: { isCollectionItem: false, optionName: \"font\" }\n};\nvar DxLength = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:days\": null,\n \"update:hours\": null,\n \"update:milliseconds\": null,\n \"update:minutes\": null,\n \"update:months\": null,\n \"update:quarters\": null,\n \"update:seconds\": null,\n \"update:weeks\": null,\n \"update:years\": null,\n },\n props: {\n days: Number,\n hours: Number,\n milliseconds: Number,\n minutes: Number,\n months: Number,\n quarters: Number,\n seconds: Number,\n weeks: Number,\n years: Number\n }\n});\nexports.DxLength = DxLength;\nDxLength.$_optionName = \"length\";\nvar DxLoadingIndicator = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:backgroundColor\": null,\n \"update:enabled\": null,\n \"update:font\": null,\n \"update:show\": null,\n \"update:text\": null,\n },\n props: {\n backgroundColor: String,\n enabled: Boolean,\n font: Object,\n show: Boolean,\n text: String\n }\n});\nexports.DxLoadingIndicator = DxLoadingIndicator;\nDxLoadingIndicator.$_optionName = \"loadingIndicator\";\nDxLoadingIndicator.$_expectedChildren = {\n font: { isCollectionItem: false, optionName: \"font\" }\n};\nvar DxMargin = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:bottom\": null,\n \"update:left\": null,\n \"update:right\": null,\n \"update:top\": null,\n },\n props: {\n bottom: Number,\n left: Number,\n right: Number,\n top: Number\n }\n});\nexports.DxMargin = DxMargin;\nDxMargin.$_optionName = \"margin\";\nvar DxMinorGrid = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:opacity\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n opacity: Number,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxMinorGrid = DxMinorGrid;\nDxMinorGrid.$_optionName = \"minorGrid\";\nvar DxMinorTick = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:length\": null,\n \"update:opacity\": null,\n \"update:shift\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n length: Number,\n opacity: Number,\n shift: Number,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxMinorTick = DxMinorTick;\nDxMinorTick.$_optionName = \"minorTick\";\nvar DxMinorTickInterval = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:days\": null,\n \"update:hours\": null,\n \"update:milliseconds\": null,\n \"update:minutes\": null,\n \"update:months\": null,\n \"update:quarters\": null,\n \"update:seconds\": null,\n \"update:weeks\": null,\n \"update:years\": null,\n },\n props: {\n days: Number,\n hours: Number,\n milliseconds: Number,\n minutes: Number,\n months: Number,\n quarters: Number,\n seconds: Number,\n weeks: Number,\n years: Number\n }\n});\nexports.DxMinorTickInterval = DxMinorTickInterval;\nDxMinorTickInterval.$_optionName = \"minorTickInterval\";\nvar DxMinVisualRangeLength = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:days\": null,\n \"update:hours\": null,\n \"update:milliseconds\": null,\n \"update:minutes\": null,\n \"update:months\": null,\n \"update:quarters\": null,\n \"update:seconds\": null,\n \"update:weeks\": null,\n \"update:years\": null,\n },\n props: {\n days: Number,\n hours: Number,\n milliseconds: Number,\n minutes: Number,\n months: Number,\n quarters: Number,\n seconds: Number,\n weeks: Number,\n years: Number\n }\n});\nexports.DxMinVisualRangeLength = DxMinVisualRangeLength;\nDxMinVisualRangeLength.$_optionName = \"minVisualRangeLength\";\nvar DxPane = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:backgroundColor\": null,\n \"update:border\": null,\n \"update:height\": null,\n \"update:name\": null,\n },\n props: {\n backgroundColor: [Object, String],\n border: Object,\n height: [Number, String],\n name: String\n }\n});\nexports.DxPane = DxPane;\nDxPane.$_optionName = \"panes\";\nDxPane.$_isCollectionItem = true;\nvar DxPaneBorder = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:bottom\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:left\": null,\n \"update:opacity\": null,\n \"update:right\": null,\n \"update:top\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n bottom: Boolean,\n color: String,\n dashStyle: String,\n left: Boolean,\n opacity: Number,\n right: Boolean,\n top: Boolean,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxPaneBorder = DxPaneBorder;\nDxPaneBorder.$_optionName = \"border\";\nvar DxPoint = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:hoverMode\": null,\n \"update:hoverStyle\": null,\n \"update:image\": null,\n \"update:selectionMode\": null,\n \"update:selectionStyle\": null,\n \"update:size\": null,\n \"update:symbol\": null,\n \"update:visible\": null,\n },\n props: {\n border: Object,\n color: [Object, String],\n hoverMode: String,\n hoverStyle: Object,\n image: [Object, String],\n selectionMode: String,\n selectionStyle: Object,\n size: Number,\n symbol: String,\n visible: Boolean\n }\n});\nexports.DxPoint = DxPoint;\nDxPoint.$_optionName = \"point\";\nDxPoint.$_expectedChildren = {\n border: { isCollectionItem: false, optionName: \"border\" },\n color: { isCollectionItem: false, optionName: \"color\" },\n hoverStyle: { isCollectionItem: false, optionName: \"hoverStyle\" },\n image: { isCollectionItem: false, optionName: \"image\" },\n pointBorder: { isCollectionItem: false, optionName: \"border\" },\n pointHoverStyle: { isCollectionItem: false, optionName: \"hoverStyle\" },\n pointImage: { isCollectionItem: false, optionName: \"image\" },\n pointSelectionStyle: { isCollectionItem: false, optionName: \"selectionStyle\" },\n selectionStyle: { isCollectionItem: false, optionName: \"selectionStyle\" }\n};\nvar DxPointBorder = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxPointBorder = DxPointBorder;\nDxPointBorder.$_optionName = \"border\";\nvar DxPointHoverStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:size\": null,\n },\n props: {\n border: Object,\n color: [Object, String],\n size: Number\n }\n});\nexports.DxPointHoverStyle = DxPointHoverStyle;\nDxPointHoverStyle.$_optionName = \"hoverStyle\";\nDxPointHoverStyle.$_expectedChildren = {\n border: { isCollectionItem: false, optionName: \"border\" },\n color: { isCollectionItem: false, optionName: \"color\" },\n pointBorder: { isCollectionItem: false, optionName: \"border\" }\n};\nvar DxPointImage = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:height\": null,\n \"update:url\": null,\n \"update:width\": null,\n },\n props: {\n height: [Number, Object],\n url: [Object, String],\n width: [Number, Object]\n }\n});\nexports.DxPointImage = DxPointImage;\nDxPointImage.$_optionName = \"image\";\nDxPointImage.$_expectedChildren = {\n height: { isCollectionItem: false, optionName: \"height\" },\n url: { isCollectionItem: false, optionName: \"url\" },\n width: { isCollectionItem: false, optionName: \"width\" }\n};\nvar DxPointSelectionStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:size\": null,\n },\n props: {\n border: Object,\n color: [Object, String],\n size: Number\n }\n});\nexports.DxPointSelectionStyle = DxPointSelectionStyle;\nDxPointSelectionStyle.$_optionName = \"selectionStyle\";\nDxPointSelectionStyle.$_expectedChildren = {\n border: { isCollectionItem: false, optionName: \"border\" },\n color: { isCollectionItem: false, optionName: \"color\" },\n pointBorder: { isCollectionItem: false, optionName: \"border\" }\n};\nvar DxReduction = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:level\": null,\n },\n props: {\n color: String,\n level: String\n }\n});\nexports.DxReduction = DxReduction;\nDxReduction.$_optionName = \"reduction\";\nvar DxScrollBar = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:offset\": null,\n \"update:opacity\": null,\n \"update:position\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n offset: Number,\n opacity: Number,\n position: String,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxScrollBar = DxScrollBar;\nDxScrollBar.$_optionName = \"scrollBar\";\nvar DxSelectionStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:hatching\": null,\n \"update:highlight\": null,\n \"update:size\": null,\n \"update:width\": null,\n },\n props: {\n border: Object,\n color: [Object, String],\n dashStyle: String,\n hatching: Object,\n highlight: Boolean,\n size: Number,\n width: Number\n }\n});\nexports.DxSelectionStyle = DxSelectionStyle;\nDxSelectionStyle.$_optionName = \"selectionStyle\";\nvar DxSeries = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:aggregation\": null,\n \"update:argumentField\": null,\n \"update:axis\": null,\n \"update:barOverlapGroup\": null,\n \"update:barPadding\": null,\n \"update:barWidth\": null,\n \"update:border\": null,\n \"update:closeValueField\": null,\n \"update:color\": null,\n \"update:cornerRadius\": null,\n \"update:dashStyle\": null,\n \"update:highValueField\": null,\n \"update:hoverMode\": null,\n \"update:hoverStyle\": null,\n \"update:ignoreEmptyPoints\": null,\n \"update:innerColor\": null,\n \"update:label\": null,\n \"update:lowValueField\": null,\n \"update:maxLabelCount\": null,\n \"update:minBarSize\": null,\n \"update:name\": null,\n \"update:opacity\": null,\n \"update:openValueField\": null,\n \"update:pane\": null,\n \"update:point\": null,\n \"update:rangeValue1Field\": null,\n \"update:rangeValue2Field\": null,\n \"update:reduction\": null,\n \"update:selectionMode\": null,\n \"update:selectionStyle\": null,\n \"update:showInLegend\": null,\n \"update:sizeField\": null,\n \"update:stack\": null,\n \"update:tag\": null,\n \"update:tagField\": null,\n \"update:type\": null,\n \"update:valueErrorBar\": null,\n \"update:valueField\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n aggregation: Object,\n argumentField: String,\n axis: String,\n barOverlapGroup: String,\n barPadding: Number,\n barWidth: Number,\n border: Object,\n closeValueField: String,\n color: [Object, String],\n cornerRadius: Number,\n dashStyle: String,\n highValueField: String,\n hoverMode: String,\n hoverStyle: Object,\n ignoreEmptyPoints: Boolean,\n innerColor: String,\n label: Object,\n lowValueField: String,\n maxLabelCount: Number,\n minBarSize: Number,\n name: String,\n opacity: Number,\n openValueField: String,\n pane: String,\n point: Object,\n rangeValue1Field: String,\n rangeValue2Field: String,\n reduction: Object,\n selectionMode: String,\n selectionStyle: Object,\n showInLegend: Boolean,\n sizeField: String,\n stack: String,\n tag: {},\n tagField: String,\n type: String,\n valueErrorBar: Object,\n valueField: String,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxSeries = DxSeries;\nDxSeries.$_optionName = \"series\";\nDxSeries.$_isCollectionItem = true;\nvar DxSeriesBorder = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxSeriesBorder = DxSeriesBorder;\nDxSeriesBorder.$_optionName = \"border\";\nvar DxSeriesTemplate = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:customizeSeries\": null,\n \"update:nameField\": null,\n },\n props: {\n customizeSeries: Function,\n nameField: String\n }\n});\nexports.DxSeriesTemplate = DxSeriesTemplate;\nDxSeriesTemplate.$_optionName = \"seriesTemplate\";\nvar DxShadow = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:blur\": null,\n \"update:color\": null,\n \"update:offsetX\": null,\n \"update:offsetY\": null,\n \"update:opacity\": null,\n },\n props: {\n blur: Number,\n color: String,\n offsetX: Number,\n offsetY: Number,\n opacity: Number\n }\n});\nexports.DxShadow = DxShadow;\nDxShadow.$_optionName = \"shadow\";\nvar DxSize = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:height\": null,\n \"update:width\": null,\n },\n props: {\n height: Number,\n width: Number\n }\n});\nexports.DxSize = DxSize;\nDxSize.$_optionName = \"size\";\nvar DxStrip = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:endValue\": null,\n \"update:label\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:startValue\": null,\n },\n props: {\n color: String,\n endValue: {},\n label: Object,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n startValue: {}\n }\n});\nexports.DxStrip = DxStrip;\nDxStrip.$_optionName = \"strips\";\nDxStrip.$_isCollectionItem = true;\nvar DxStripLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:horizontalAlignment\": null,\n \"update:text\": null,\n \"update:verticalAlignment\": null,\n },\n props: {\n font: Object,\n horizontalAlignment: String,\n text: String,\n verticalAlignment: String\n }\n});\nexports.DxStripLabel = DxStripLabel;\nDxStripLabel.$_optionName = \"label\";\nvar DxStripStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:label\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n },\n props: {\n label: Object,\n paddingLeftRight: Number,\n paddingTopBottom: Number\n }\n});\nexports.DxStripStyle = DxStripStyle;\nDxStripStyle.$_optionName = \"stripStyle\";\nDxStripStyle.$_expectedChildren = {\n label: { isCollectionItem: false, optionName: \"label\" },\n stripStyleLabel: { isCollectionItem: false, optionName: \"label\" }\n};\nvar DxStripStyleLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:horizontalAlignment\": null,\n \"update:verticalAlignment\": null,\n },\n props: {\n font: Object,\n horizontalAlignment: String,\n verticalAlignment: String\n }\n});\nexports.DxStripStyleLabel = DxStripStyleLabel;\nDxStripStyleLabel.$_optionName = \"label\";\nvar DxSubtitle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:offset\": null,\n \"update:text\": null,\n \"update:textOverflow\": null,\n \"update:wordWrap\": null,\n },\n props: {\n font: Object,\n offset: Number,\n text: String,\n textOverflow: String,\n wordWrap: String\n }\n});\nexports.DxSubtitle = DxSubtitle;\nDxSubtitle.$_optionName = \"subtitle\";\nvar DxTick = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:length\": null,\n \"update:opacity\": null,\n \"update:shift\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n length: Number,\n opacity: Number,\n shift: Number,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxTick = DxTick;\nDxTick.$_optionName = \"tick\";\nvar DxTickInterval = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:days\": null,\n \"update:hours\": null,\n \"update:milliseconds\": null,\n \"update:minutes\": null,\n \"update:months\": null,\n \"update:quarters\": null,\n \"update:seconds\": null,\n \"update:weeks\": null,\n \"update:years\": null,\n },\n props: {\n days: Number,\n hours: Number,\n milliseconds: Number,\n minutes: Number,\n months: Number,\n quarters: Number,\n seconds: Number,\n weeks: Number,\n years: Number\n }\n});\nexports.DxTickInterval = DxTickInterval;\nDxTickInterval.$_optionName = \"tickInterval\";\nvar DxTitle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:font\": null,\n \"update:horizontalAlignment\": null,\n \"update:margin\": null,\n \"update:placeholderSize\": null,\n \"update:subtitle\": null,\n \"update:text\": null,\n \"update:textOverflow\": null,\n \"update:verticalAlignment\": null,\n \"update:wordWrap\": null,\n },\n props: {\n alignment: String,\n font: Object,\n horizontalAlignment: String,\n margin: [Number, Object],\n placeholderSize: Number,\n subtitle: [Object, String],\n text: String,\n textOverflow: String,\n verticalAlignment: String,\n wordWrap: String\n }\n});\nexports.DxTitle = DxTitle;\nDxTitle.$_optionName = \"title\";\nvar DxTooltip = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:argumentFormat\": null,\n \"update:arrowLength\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:container\": null,\n \"update:contentTemplate\": null,\n \"update:cornerRadius\": null,\n \"update:customizeTooltip\": null,\n \"update:enabled\": null,\n \"update:font\": null,\n \"update:format\": null,\n \"update:interactive\": null,\n \"update:location\": null,\n \"update:opacity\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:shadow\": null,\n \"update:shared\": null,\n \"update:zIndex\": null,\n },\n props: {\n argumentFormat: [Object, Function, String],\n arrowLength: Number,\n border: Object,\n color: String,\n container: {},\n contentTemplate: {},\n cornerRadius: Number,\n customizeTooltip: Function,\n enabled: Boolean,\n font: Object,\n format: [Object, Function, String],\n interactive: Boolean,\n location: String,\n opacity: Number,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n shadow: Object,\n shared: Boolean,\n zIndex: Number\n }\n});\nexports.DxTooltip = DxTooltip;\nDxTooltip.$_optionName = \"tooltip\";\nDxTooltip.$_expectedChildren = {\n argumentFormat: { isCollectionItem: false, optionName: \"argumentFormat\" },\n border: { isCollectionItem: false, optionName: \"border\" },\n font: { isCollectionItem: false, optionName: \"font\" },\n format: { isCollectionItem: false, optionName: \"format\" },\n shadow: { isCollectionItem: false, optionName: \"shadow\" },\n tooltipBorder: { isCollectionItem: false, optionName: \"border\" }\n};\nvar DxTooltipBorder = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:opacity\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n opacity: Number,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxTooltipBorder = DxTooltipBorder;\nDxTooltipBorder.$_optionName = \"border\";\nvar DxUrl = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:rangeMaxPoint\": null,\n \"update:rangeMinPoint\": null,\n },\n props: {\n rangeMaxPoint: String,\n rangeMinPoint: String\n }\n});\nexports.DxUrl = DxUrl;\nDxUrl.$_optionName = \"url\";\nvar DxValueAxis = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:aggregatedPointsPosition\": null,\n \"update:allowDecimals\": null,\n \"update:autoBreaksEnabled\": null,\n \"update:axisDivisionFactor\": null,\n \"update:breaks\": null,\n \"update:breakStyle\": null,\n \"update:categories\": null,\n \"update:color\": null,\n \"update:constantLines\": null,\n \"update:constantLineStyle\": null,\n \"update:customPosition\": null,\n \"update:discreteAxisDivisionMode\": null,\n \"update:endOnTick\": null,\n \"update:grid\": null,\n \"update:inverted\": null,\n \"update:label\": null,\n \"update:linearThreshold\": null,\n \"update:logarithmBase\": null,\n \"update:maxAutoBreakCount\": null,\n \"update:maxValueMargin\": null,\n \"update:minorGrid\": null,\n \"update:minorTick\": null,\n \"update:minorTickCount\": null,\n \"update:minorTickInterval\": null,\n \"update:minValueMargin\": null,\n \"update:minVisualRangeLength\": null,\n \"update:multipleAxesSpacing\": null,\n \"update:name\": null,\n \"update:offset\": null,\n \"update:opacity\": null,\n \"update:pane\": null,\n \"update:placeholderSize\": null,\n \"update:position\": null,\n \"update:showZero\": null,\n \"update:strips\": null,\n \"update:stripStyle\": null,\n \"update:synchronizedValue\": null,\n \"update:tick\": null,\n \"update:tickInterval\": null,\n \"update:title\": null,\n \"update:type\": null,\n \"update:valueMarginsEnabled\": null,\n \"update:valueType\": null,\n \"update:visible\": null,\n \"update:visualRange\": null,\n \"update:visualRangeUpdateMode\": null,\n \"update:wholeRange\": null,\n \"update:width\": null,\n },\n props: {\n aggregatedPointsPosition: String,\n allowDecimals: Boolean,\n autoBreaksEnabled: Boolean,\n axisDivisionFactor: Number,\n breaks: Array,\n breakStyle: Object,\n categories: Array,\n color: String,\n constantLines: Array,\n constantLineStyle: Object,\n customPosition: {},\n discreteAxisDivisionMode: String,\n endOnTick: Boolean,\n grid: Object,\n inverted: Boolean,\n label: Object,\n linearThreshold: Number,\n logarithmBase: Number,\n maxAutoBreakCount: Number,\n maxValueMargin: Number,\n minorGrid: Object,\n minorTick: Object,\n minorTickCount: Number,\n minorTickInterval: [Number, Object, String],\n minValueMargin: Number,\n minVisualRangeLength: [Number, Object, String],\n multipleAxesSpacing: Number,\n name: String,\n offset: Number,\n opacity: Number,\n pane: String,\n placeholderSize: Number,\n position: String,\n showZero: Boolean,\n strips: Array,\n stripStyle: Object,\n synchronizedValue: Number,\n tick: Object,\n tickInterval: [Number, Object, String],\n title: [Object, String],\n type: String,\n valueMarginsEnabled: Boolean,\n valueType: String,\n visible: Boolean,\n visualRange: [Array, Object],\n visualRangeUpdateMode: String,\n wholeRange: [Array, Object],\n width: Number\n }\n});\nexports.DxValueAxis = DxValueAxis;\nDxValueAxis.$_optionName = \"valueAxis\";\nDxValueAxis.$_isCollectionItem = true;\nDxValueAxis.$_expectedChildren = {\n axisConstantLineStyle: { isCollectionItem: false, optionName: \"constantLineStyle\" },\n axisLabel: { isCollectionItem: false, optionName: \"label\" },\n axisTitle: { isCollectionItem: false, optionName: \"title\" },\n break: { isCollectionItem: true, optionName: \"breaks\" },\n constantLine: { isCollectionItem: true, optionName: \"constantLines\" },\n constantLineStyle: { isCollectionItem: false, optionName: \"constantLineStyle\" },\n label: { isCollectionItem: false, optionName: \"label\" },\n minorTickInterval: { isCollectionItem: false, optionName: \"minorTickInterval\" },\n minVisualRangeLength: { isCollectionItem: false, optionName: \"minVisualRangeLength\" },\n strip: { isCollectionItem: true, optionName: \"strips\" },\n tickInterval: { isCollectionItem: false, optionName: \"tickInterval\" },\n title: { isCollectionItem: false, optionName: \"title\" },\n visualRange: { isCollectionItem: false, optionName: \"visualRange\" },\n wholeRange: { isCollectionItem: false, optionName: \"wholeRange\" }\n};\nvar DxValueErrorBar = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:displayMode\": null,\n \"update:edgeLength\": null,\n \"update:highValueField\": null,\n \"update:lineWidth\": null,\n \"update:lowValueField\": null,\n \"update:opacity\": null,\n \"update:type\": null,\n \"update:value\": null,\n },\n props: {\n color: String,\n displayMode: String,\n edgeLength: Number,\n highValueField: String,\n lineWidth: Number,\n lowValueField: String,\n opacity: Number,\n type: String,\n value: Number\n }\n});\nexports.DxValueErrorBar = DxValueErrorBar;\nDxValueErrorBar.$_optionName = \"valueErrorBar\";\nvar DxVerticalLine = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:label\": null,\n \"update:opacity\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n label: Object,\n opacity: Number,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxVerticalLine = DxVerticalLine;\nDxVerticalLine.$_optionName = \"verticalLine\";\nDxVerticalLine.$_expectedChildren = {\n horizontalLineLabel: { isCollectionItem: false, optionName: \"label\" },\n label: { isCollectionItem: false, optionName: \"label\" }\n};\nvar DxVisualRange = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:endValue\": null,\n \"update:length\": null,\n \"update:startValue\": null,\n },\n props: {\n endValue: {},\n length: [Number, Object, String],\n startValue: {}\n }\n});\nexports.DxVisualRange = DxVisualRange;\nDxVisualRange.$_optionName = \"visualRange\";\nvar DxWholeRange = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:endValue\": null,\n \"update:length\": null,\n \"update:startValue\": null,\n },\n props: {\n endValue: {},\n length: [Number, Object, String],\n startValue: {}\n }\n});\nexports.DxWholeRange = DxWholeRange;\nDxWholeRange.$_optionName = \"wholeRange\";\nvar DxWidth = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:rangeMaxPoint\": null,\n \"update:rangeMinPoint\": null,\n },\n props: {\n rangeMaxPoint: Number,\n rangeMinPoint: Number\n }\n});\nexports.DxWidth = DxWidth;\nDxWidth.$_optionName = \"width\";\nvar DxZoomAndPan = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowMouseWheel\": null,\n \"update:allowTouchGestures\": null,\n \"update:argumentAxis\": null,\n \"update:dragBoxStyle\": null,\n \"update:dragToZoom\": null,\n \"update:panKey\": null,\n \"update:valueAxis\": null,\n },\n props: {\n allowMouseWheel: Boolean,\n allowTouchGestures: Boolean,\n argumentAxis: String,\n dragBoxStyle: Object,\n dragToZoom: Boolean,\n panKey: String,\n valueAxis: String\n }\n});\nexports.DxZoomAndPan = DxZoomAndPan;\nDxZoomAndPan.$_optionName = \"zoomAndPan\";\nDxZoomAndPan.$_expectedChildren = {\n dragBoxStyle: { isCollectionItem: false, optionName: \"dragBoxStyle\" }\n};\nexports.default = DxChart;\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tet = moment.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tet;\n\n})));\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","/**\r\n * DevExtreme (esm/color.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar standardColorNames = {\r\n aliceblue: \"f0f8ff\",\r\n antiquewhite: \"faebd7\",\r\n aqua: \"00ffff\",\r\n aquamarine: \"7fffd4\",\r\n azure: \"f0ffff\",\r\n beige: \"f5f5dc\",\r\n bisque: \"ffe4c4\",\r\n black: \"000000\",\r\n blanchedalmond: \"ffebcd\",\r\n blue: \"0000ff\",\r\n blueviolet: \"8a2be2\",\r\n brown: \"a52a2a\",\r\n burlywood: \"deb887\",\r\n cadetblue: \"5f9ea0\",\r\n chartreuse: \"7fff00\",\r\n chocolate: \"d2691e\",\r\n coral: \"ff7f50\",\r\n cornflowerblue: \"6495ed\",\r\n cornsilk: \"fff8dc\",\r\n crimson: \"dc143c\",\r\n cyan: \"00ffff\",\r\n darkblue: \"00008b\",\r\n darkcyan: \"008b8b\",\r\n darkgoldenrod: \"b8860b\",\r\n darkgray: \"a9a9a9\",\r\n darkgreen: \"006400\",\r\n darkgrey: \"a9a9a9\",\r\n darkkhaki: \"bdb76b\",\r\n darkmagenta: \"8b008b\",\r\n darkolivegreen: \"556b2f\",\r\n darkorange: \"ff8c00\",\r\n darkorchid: \"9932cc\",\r\n darkred: \"8b0000\",\r\n darksalmon: \"e9967a\",\r\n darkseagreen: \"8fbc8f\",\r\n darkslateblue: \"483d8b\",\r\n darkslategray: \"2f4f4f\",\r\n darkslategrey: \"2f4f4f\",\r\n darkturquoise: \"00ced1\",\r\n darkviolet: \"9400d3\",\r\n deeppink: \"ff1493\",\r\n deepskyblue: \"00bfff\",\r\n dimgray: \"696969\",\r\n dimgrey: \"696969\",\r\n dodgerblue: \"1e90ff\",\r\n feldspar: \"d19275\",\r\n firebrick: \"b22222\",\r\n floralwhite: \"fffaf0\",\r\n forestgreen: \"228b22\",\r\n fuchsia: \"ff00ff\",\r\n gainsboro: \"dcdcdc\",\r\n ghostwhite: \"f8f8ff\",\r\n gold: \"ffd700\",\r\n goldenrod: \"daa520\",\r\n gray: \"808080\",\r\n green: \"008000\",\r\n greenyellow: \"adff2f\",\r\n grey: \"808080\",\r\n honeydew: \"f0fff0\",\r\n hotpink: \"ff69b4\",\r\n indianred: \"cd5c5c\",\r\n indigo: \"4b0082\",\r\n ivory: \"fffff0\",\r\n khaki: \"f0e68c\",\r\n lavender: \"e6e6fa\",\r\n lavenderblush: \"fff0f5\",\r\n lawngreen: \"7cfc00\",\r\n lemonchiffon: \"fffacd\",\r\n lightblue: \"add8e6\",\r\n lightcoral: \"f08080\",\r\n lightcyan: \"e0ffff\",\r\n lightgoldenrodyellow: \"fafad2\",\r\n lightgray: \"d3d3d3\",\r\n lightgreen: \"90ee90\",\r\n lightgrey: \"d3d3d3\",\r\n lightpink: \"ffb6c1\",\r\n lightsalmon: \"ffa07a\",\r\n lightseagreen: \"20b2aa\",\r\n lightskyblue: \"87cefa\",\r\n lightslateblue: \"8470ff\",\r\n lightslategray: \"778899\",\r\n lightslategrey: \"778899\",\r\n lightsteelblue: \"b0c4de\",\r\n lightyellow: \"ffffe0\",\r\n lime: \"00ff00\",\r\n limegreen: \"32cd32\",\r\n linen: \"faf0e6\",\r\n magenta: \"ff00ff\",\r\n maroon: \"800000\",\r\n mediumaquamarine: \"66cdaa\",\r\n mediumblue: \"0000cd\",\r\n mediumorchid: \"ba55d3\",\r\n mediumpurple: \"9370d8\",\r\n mediumseagreen: \"3cb371\",\r\n mediumslateblue: \"7b68ee\",\r\n mediumspringgreen: \"00fa9a\",\r\n mediumturquoise: \"48d1cc\",\r\n mediumvioletred: \"c71585\",\r\n midnightblue: \"191970\",\r\n mintcream: \"f5fffa\",\r\n mistyrose: \"ffe4e1\",\r\n moccasin: \"ffe4b5\",\r\n navajowhite: \"ffdead\",\r\n navy: \"000080\",\r\n oldlace: \"fdf5e6\",\r\n olive: \"808000\",\r\n olivedrab: \"6b8e23\",\r\n orange: \"ffa500\",\r\n orangered: \"ff4500\",\r\n orchid: \"da70d6\",\r\n palegoldenrod: \"eee8aa\",\r\n palegreen: \"98fb98\",\r\n paleturquoise: \"afeeee\",\r\n palevioletred: \"d87093\",\r\n papayawhip: \"ffefd5\",\r\n peachpuff: \"ffdab9\",\r\n peru: \"cd853f\",\r\n pink: \"ffc0cb\",\r\n plum: \"dda0dd\",\r\n powderblue: \"b0e0e6\",\r\n purple: \"800080\",\r\n rebeccapurple: \"663399\",\r\n red: \"ff0000\",\r\n rosybrown: \"bc8f8f\",\r\n royalblue: \"4169e1\",\r\n saddlebrown: \"8b4513\",\r\n salmon: \"fa8072\",\r\n sandybrown: \"f4a460\",\r\n seagreen: \"2e8b57\",\r\n seashell: \"fff5ee\",\r\n sienna: \"a0522d\",\r\n silver: \"c0c0c0\",\r\n skyblue: \"87ceeb\",\r\n slateblue: \"6a5acd\",\r\n slategray: \"708090\",\r\n slategrey: \"708090\",\r\n snow: \"fffafa\",\r\n springgreen: \"00ff7f\",\r\n steelblue: \"4682b4\",\r\n tan: \"d2b48c\",\r\n teal: \"008080\",\r\n thistle: \"d8bfd8\",\r\n tomato: \"ff6347\",\r\n turquoise: \"40e0d0\",\r\n violet: \"ee82ee\",\r\n violetred: \"d02090\",\r\n wheat: \"f5deb3\",\r\n white: \"ffffff\",\r\n whitesmoke: \"f5f5f5\",\r\n yellow: \"ffff00\",\r\n yellowgreen: \"9acd32\"\r\n};\r\nvar standardColorTypes = [{\r\n re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1], 10), parseInt(colorString[2], 10), parseInt(colorString[3], 10)]\r\n }\r\n}, {\r\n re: /^rgba\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d*\\.*\\d+)\\)$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1], 10), parseInt(colorString[2], 10), parseInt(colorString[3], 10), parseFloat(colorString[4])]\r\n }\r\n}, {\r\n re: /^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1], 16), parseInt(colorString[2], 16), parseInt(colorString[3], 16)]\r\n }\r\n}, {\r\n re: /^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1], 16), parseInt(colorString[2], 16), parseInt(colorString[3], 16), Number((parseInt(colorString[4], 16) / 255).toFixed(2))]\r\n }\r\n}, {\r\n re: /^#([a-f0-9]{1})([a-f0-9]{1})([a-f0-9]{1})([a-f0-9]{1})$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1] + colorString[1], 16), parseInt(colorString[2] + colorString[2], 16), parseInt(colorString[3] + colorString[3], 16), Number((parseInt(colorString[4] + colorString[4], 16) / 255).toFixed(2))]\r\n }\r\n}, {\r\n re: /^#([a-f0-9]{1})([a-f0-9]{1})([a-f0-9]{1})$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1] + colorString[1], 16), parseInt(colorString[2] + colorString[2], 16), parseInt(colorString[3] + colorString[3], 16)]\r\n }\r\n}, {\r\n re: /^hsv\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\r\n process: function(colorString) {\r\n var h = parseInt(colorString[1], 10);\r\n var s = parseInt(colorString[2], 10);\r\n var v = parseInt(colorString[3], 10);\r\n var rgb = hsvToRgb(h, s, v);\r\n return [rgb[0], rgb[1], rgb[2], 1, [h, s, v]]\r\n }\r\n}, {\r\n re: /^hsl\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\r\n process: function(colorString) {\r\n var h = parseInt(colorString[1], 10);\r\n var s = parseInt(colorString[2], 10);\r\n var l = parseInt(colorString[3], 10);\r\n var rgb = hslToRgb(h, s, l);\r\n return [rgb[0], rgb[1], rgb[2], 1, null, [h, s, l]]\r\n }\r\n}];\r\nvar _round = Math.round;\r\n\r\nfunction Color(value) {\r\n this.baseColor = value;\r\n var color;\r\n if (value) {\r\n color = String(value).toLowerCase().replace(/ /g, \"\");\r\n color = standardColorNames[color] ? \"#\" + standardColorNames[color] : color;\r\n color = parseColor(color)\r\n }\r\n if (!color) {\r\n this.colorIsInvalid = true\r\n }\r\n color = color || {};\r\n this.r = normalize(color[0]);\r\n this.g = normalize(color[1]);\r\n this.b = normalize(color[2]);\r\n this.a = normalize(color[3], 1, 1);\r\n if (color[4]) {\r\n this.hsv = {\r\n h: color[4][0],\r\n s: color[4][1],\r\n v: color[4][2]\r\n }\r\n } else {\r\n this.hsv = toHsvFromRgb(this.r, this.g, this.b)\r\n }\r\n if (color[5]) {\r\n this.hsl = {\r\n h: color[5][0],\r\n s: color[5][1],\r\n l: color[5][2]\r\n }\r\n } else {\r\n this.hsl = toHslFromRgb(this.r, this.g, this.b)\r\n }\r\n}\r\n\r\nfunction parseColor(color) {\r\n if (\"transparent\" === color) {\r\n return [0, 0, 0, 0]\r\n }\r\n var i = 0;\r\n var ii = standardColorTypes.length;\r\n var str;\r\n for (; i < ii; ++i) {\r\n str = standardColorTypes[i].re.exec(color);\r\n if (str) {\r\n return standardColorTypes[i].process(str)\r\n }\r\n }\r\n return null\r\n}\r\n\r\nfunction normalize(colorComponent, def, max) {\r\n def = def || 0;\r\n max = max || 255;\r\n return colorComponent < 0 || isNaN(colorComponent) ? def : colorComponent > max ? max : colorComponent\r\n}\r\n\r\nfunction toHexFromRgb(r, g, b) {\r\n return \"#\" + (16777216 | r << 16 | g << 8 | b).toString(16).slice(1)\r\n}\r\n\r\nfunction toHsvFromRgb(r, g, b) {\r\n var max = Math.max(r, g, b);\r\n var min = Math.min(r, g, b);\r\n var delta = max - min;\r\n var H;\r\n var S;\r\n var V = max;\r\n S = 0 === max ? 0 : 1 - min / max;\r\n if (max === min) {\r\n H = 0\r\n } else {\r\n switch (max) {\r\n case r:\r\n H = (g - b) / delta * 60;\r\n if (g < b) {\r\n H += 360\r\n }\r\n break;\r\n case g:\r\n H = (b - r) / delta * 60 + 120;\r\n break;\r\n case b:\r\n H = (r - g) / delta * 60 + 240\r\n }\r\n }\r\n S *= 100;\r\n V *= 100 / 255;\r\n return {\r\n h: Math.round(H),\r\n s: Math.round(S),\r\n v: Math.round(V)\r\n }\r\n}\r\n\r\nfunction hsvToRgb(h, s, v) {\r\n var index = Math.floor(h % 360 / 60);\r\n var vMin = (100 - s) * v / 100;\r\n var a = h % 60 / 60 * (v - vMin);\r\n var vInc = vMin + a;\r\n var vDec = v - a;\r\n var r;\r\n var g;\r\n var b;\r\n switch (index) {\r\n case 0:\r\n r = v;\r\n g = vInc;\r\n b = vMin;\r\n break;\r\n case 1:\r\n r = vDec;\r\n g = v;\r\n b = vMin;\r\n break;\r\n case 2:\r\n r = vMin;\r\n g = v;\r\n b = vInc;\r\n break;\r\n case 3:\r\n r = vMin;\r\n g = vDec;\r\n b = v;\r\n break;\r\n case 4:\r\n r = vInc;\r\n g = vMin;\r\n b = v;\r\n break;\r\n case 5:\r\n r = v;\r\n g = vMin;\r\n b = vDec\r\n }\r\n return [Math.round(2.55 * r), Math.round(2.55 * g), Math.round(2.55 * b)]\r\n}\r\n\r\nfunction calculateHue(r, g, b, delta) {\r\n var max = Math.max(r, g, b);\r\n switch (max) {\r\n case r:\r\n return (g - b) / delta + (g < b ? 6 : 0);\r\n case g:\r\n return (b - r) / delta + 2;\r\n case b:\r\n return (r - g) / delta + 4\r\n }\r\n}\r\n\r\nfunction toHslFromRgb(r, g, b) {\r\n r = convertTo01Bounds(r, 255);\r\n g = convertTo01Bounds(g, 255);\r\n b = convertTo01Bounds(b, 255);\r\n var max = Math.max(r, g, b);\r\n var min = Math.min(r, g, b);\r\n var maxMinSum = max + min;\r\n var h;\r\n var s;\r\n var l = maxMinSum / 2;\r\n if (max === min) {\r\n h = s = 0\r\n } else {\r\n var delta = max - min;\r\n if (l > .5) {\r\n s = delta / (2 - maxMinSum)\r\n } else {\r\n s = delta / maxMinSum\r\n }\r\n h = calculateHue(r, g, b, delta);\r\n h /= 6\r\n }\r\n return {\r\n h: _round(360 * h),\r\n s: _round(100 * s),\r\n l: _round(100 * l)\r\n }\r\n}\r\n\r\nfunction makeColorTint(colorPart, h) {\r\n var colorTint = h;\r\n if (\"r\" === colorPart) {\r\n colorTint = h + 1 / 3\r\n }\r\n if (\"b\" === colorPart) {\r\n colorTint = h - 1 / 3\r\n }\r\n return colorTint\r\n}\r\n\r\nfunction modifyColorTint(colorTint) {\r\n if (colorTint < 0) {\r\n colorTint += 1\r\n }\r\n if (colorTint > 1) {\r\n colorTint -= 1\r\n }\r\n return colorTint\r\n}\r\n\r\nfunction hueToRgb(p, q, colorTint) {\r\n colorTint = modifyColorTint(colorTint);\r\n if (colorTint < 1 / 6) {\r\n return p + 6 * (q - p) * colorTint\r\n }\r\n if (colorTint < .5) {\r\n return q\r\n }\r\n if (colorTint < 2 / 3) {\r\n return p + (q - p) * (2 / 3 - colorTint) * 6\r\n }\r\n return p\r\n}\r\n\r\nfunction hslToRgb(h, s, l) {\r\n var r;\r\n var g;\r\n var b;\r\n h = convertTo01Bounds(h, 360);\r\n s = convertTo01Bounds(s, 100);\r\n l = convertTo01Bounds(l, 100);\r\n if (0 === s) {\r\n r = g = b = l\r\n } else {\r\n var q = l < .5 ? l * (1 + s) : l + s - l * s;\r\n var p = 2 * l - q;\r\n r = hueToRgb(p, q, makeColorTint(\"r\", h));\r\n g = hueToRgb(p, q, makeColorTint(\"g\", h));\r\n b = hueToRgb(p, q, makeColorTint(\"b\", h))\r\n }\r\n return [_round(255 * r), _round(255 * g), _round(255 * b)]\r\n}\r\n\r\nfunction convertTo01Bounds(n, max) {\r\n n = Math.min(max, Math.max(0, parseFloat(n)));\r\n if (Math.abs(n - max) < 1e-6) {\r\n return 1\r\n }\r\n return n % max / parseFloat(max)\r\n}\r\n\r\nfunction isIntegerBetweenMinAndMax(number, min, max) {\r\n min = min || 0;\r\n max = max || 255;\r\n if (number % 1 !== 0 || number < min || number > max || \"number\" !== typeof number || isNaN(number)) {\r\n return false\r\n }\r\n return true\r\n}\r\nColor.prototype = {\r\n constructor: Color,\r\n highlight: function(step) {\r\n step = step || 10;\r\n return this.alter(step).toHex()\r\n },\r\n darken: function(step) {\r\n step = step || 10;\r\n return this.alter(-step).toHex()\r\n },\r\n alter: function(step) {\r\n var result = new Color;\r\n result.r = normalize(this.r + step);\r\n result.g = normalize(this.g + step);\r\n result.b = normalize(this.b + step);\r\n return result\r\n },\r\n blend: function(blendColor, opacity) {\r\n var other = blendColor instanceof Color ? blendColor : new Color(blendColor);\r\n var result = new Color;\r\n result.r = normalize(_round(this.r * (1 - opacity) + other.r * opacity));\r\n result.g = normalize(_round(this.g * (1 - opacity) + other.g * opacity));\r\n result.b = normalize(_round(this.b * (1 - opacity) + other.b * opacity));\r\n return result\r\n },\r\n toHex: function() {\r\n return toHexFromRgb(this.r, this.g, this.b)\r\n },\r\n getPureColor: function() {\r\n var rgb = hsvToRgb(this.hsv.h, 100, 100);\r\n return new Color(\"rgb(\" + rgb.join(\",\") + \")\")\r\n },\r\n isValidHex: function(hex) {\r\n return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(hex)\r\n },\r\n isValidRGB: function(r, g, b) {\r\n if (!isIntegerBetweenMinAndMax(r) || !isIntegerBetweenMinAndMax(g) || !isIntegerBetweenMinAndMax(b)) {\r\n return false\r\n }\r\n return true\r\n },\r\n isValidAlpha: function(a) {\r\n if (isNaN(a) || a < 0 || a > 1 || \"number\" !== typeof a) {\r\n return false\r\n }\r\n return true\r\n },\r\n colorIsInvalid: false,\r\n fromHSL: function(hsl) {\r\n var color = new Color;\r\n var rgb = hslToRgb(hsl.h, hsl.s, hsl.l);\r\n color.r = rgb[0];\r\n color.g = rgb[1];\r\n color.b = rgb[2];\r\n return color\r\n }\r\n};\r\nexport default Color;\r\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createExtensionComponent = exports.createConfigurationComponent = exports.createComponent = void 0;\nvar vue_1 = require(\"vue\");\nvar component_1 = require(\"../../component\");\nvar configuration_component_1 = require(\"../../configuration-component\");\nvar extension_component_1 = require(\"../../extension-component\");\nvar vue_helper_1 = require(\"../../vue-helper\");\nfunction createComponent(config) {\n config.extends = (0, component_1.initDxComponent)();\n (0, vue_helper_1.setCompatOptions)(config);\n if (config.model) {\n (0, vue_helper_1.setVModel)(config);\n }\n return (0, vue_1.defineComponent)(config);\n}\nexports.createComponent = createComponent;\nfunction createConfigurationComponent(config) {\n config.extends = (0, configuration_component_1.initDxConfiguration)();\n (0, vue_helper_1.setCompatOptions)(config);\n return (0, vue_1.defineComponent)(config);\n}\nexports.createConfigurationComponent = createConfigurationComponent;\nfunction createExtensionComponent(config) {\n config.extends = (0, extension_component_1.initDxExtensionComponent)();\n (0, vue_helper_1.setCompatOptions)(config);\n return (0, vue_1.defineComponent)(config);\n}\nexports.createExtensionComponent = createExtensionComponent;\n","/* eslint-disable max-len, import/export, no-use-before-define */\nimport Vue, { VueConstructor } from 'vue'\n\nexport default function mixins<T extends VueConstructor[]> (...args: T): ExtractVue<T> extends infer V ? V extends Vue ? VueConstructor<V> : never : never\nexport default function mixins<T extends Vue> (...args: VueConstructor[]): VueConstructor<T>\nexport default function mixins (...args: VueConstructor[]): VueConstructor {\n return Vue.extend({ mixins: args })\n}\n\n/**\n * Returns the instance type from a VueConstructor\n * Useful for adding types when using mixins().extend()\n */\nexport type ExtractVue<T extends VueConstructor | VueConstructor[]> = T extends (infer U)[]\n ? UnionToIntersection<\n U extends VueConstructor<infer V> ? V : never\n >\n : T extends VueConstructor<infer V> ? V : never\n\ntype UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","import { getFlagsForElementVnode, createComponentVNode, createFragment, createVNode } from 'inferno';\n\nfunction isNullOrUndef(o) {\n return o === void 0 || o === null;\n}\nfunction isString(o) {\n return typeof o === 'string';\n}\nfunction isUndefined(o) {\n return o === void 0;\n}\n\nvar componentHooks = {\n onComponentDidMount: 1,\n onComponentDidUpdate: 1,\n onComponentShouldUpdate: 1,\n onComponentWillMount: 1,\n onComponentWillUnmount: 1,\n onComponentWillUpdate: 1\n};\nfunction createElement(type, props, _children) {\n var arguments$1 = arguments;\n var children;\n var ref = null;\n var key = null;\n var className = null;\n var flags = 0;\n var newProps;\n var childLen = arguments.length - 2;\n if (childLen === 1) {\n children = _children;\n }\n else if (childLen > 1) {\n children = [];\n while (childLen-- > 0) {\n children[childLen] = arguments$1[childLen + 2];\n }\n }\n if (isString(type)) {\n flags = getFlagsForElementVnode(type);\n if (!isNullOrUndef(props)) {\n newProps = {};\n for (var prop in props) {\n if (prop === 'className' || prop === 'class') {\n className = props[prop];\n }\n else if (prop === 'key') {\n key = props.key;\n }\n else if (prop === 'children' && isUndefined(children)) {\n children = props.children; // always favour children args over props\n }\n else if (prop === 'ref') {\n ref = props.ref;\n }\n else {\n if (prop === 'contenteditable') {\n flags |= 4096 /* ContentEditable */;\n }\n newProps[prop] = props[prop];\n }\n }\n }\n }\n else {\n flags = 2 /* ComponentUnknown */;\n if (!isUndefined(children)) {\n if (!props) {\n props = {};\n }\n props.children = children;\n }\n if (!isNullOrUndef(props)) {\n newProps = {};\n for (var prop$1 in props) {\n if (prop$1 === 'key') {\n key = props.key;\n }\n else if (prop$1 === 'ref') {\n ref = props.ref;\n }\n else if (componentHooks[prop$1] === 1) {\n if (!ref) {\n ref = {};\n }\n ref[prop$1] = props[prop$1];\n }\n else {\n newProps[prop$1] = props[prop$1];\n }\n }\n }\n return createComponentVNode(flags, type, newProps, key, ref);\n }\n if (flags & 8192 /* Fragment */) {\n return createFragment(childLen === 1 ? [children] : children, 0 /* UnknownChildren */, key);\n }\n return createVNode(flags, type, className, children, 0 /* UnknownChildren */, newProps, key, ref);\n}\n\nexport { createElement };\n","// Styles\nimport './VRangeSlider.sass'\n\n// Components\nimport VSlider from '../VSlider'\n\n// Helpers\nimport {\n addOnceEventListener,\n createRange,\n deepEqual,\n passiveSupported,\n} from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VSlider.extend({\n name: 'v-range-slider',\n\n props: {\n value: {\n type: Array,\n default: () => ([0, 0]),\n } as unknown as PropValidator<[number, number]>,\n },\n\n data () {\n return {\n activeThumb: null as null | number,\n lazyValue: this.value,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSlider.options.computed.classes.call(this),\n 'v-input--range-slider': true,\n }\n },\n internalValue: {\n get (): number[] {\n return this.lazyValue\n },\n set (val: number[]) {\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = val.map((v = 0) => this.roundValue(Math.min(Math.max(v, this.minValue), this.maxValue)))\n\n // Switch values if range and wrong order\n if (value[0] > value[1] || value[1] < value[0]) {\n if (this.activeThumb !== null) {\n const toFocus = this.activeThumb === 1 ? 0 : 1\n const el = this.$refs[`thumb_${toFocus}`] as HTMLElement\n el.focus()\n }\n value = [value[1], value[0]]\n }\n\n this.lazyValue = value\n if (!deepEqual(value, this.value)) this.$emit('input', value)\n\n this.validate()\n },\n },\n inputWidth (): number[] {\n return this.internalValue.map((v: number) => (\n this.roundValue(v) - this.minValue) / (this.maxValue - this.minValue) * 100\n )\n },\n },\n\n methods: {\n getTrackStyle (startLength: number, endLength: number, startPadding = 0, endPadding = 0) {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'top' : 'bottom' : this.$vuetify.rtl ? 'right' : 'left'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = `calc(${startLength}% + ${startPadding}px)`\n const end = `calc(${endLength}% + ${endPadding}px)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n getIndexOfClosestValue (arr: number[], v: number) {\n if (Math.abs(arr[0] - v) < Math.abs(arr[1] - v)) return 0\n else return 1\n },\n genInput () {\n return createRange(2).map(i => {\n const input = VSlider.options.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.attrs = input.data.attrs || {}\n input.data.attrs.value = this.internalValue[i]\n input.data.attrs.id = `input-${i ? 'max' : 'min'}-${this._uid}`\n\n return input\n })\n },\n genTrackContainer () {\n const children = []\n\n const padding = this.isDisabled ? 10 : 0\n const sections: { class: string, color: string | undefined, styles: [number, number, number, number] }[] = [\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [0, this.inputWidth[0], 0, -padding],\n },\n {\n class: this.isDisabled ? 'v-slider__track-background' : 'v-slider__track-fill',\n color: this.isDisabled ? this.computedTrackColor : this.computedTrackFillColor,\n styles: [this.inputWidth[0], Math.abs(this.inputWidth[1] - this.inputWidth[0]), padding, padding * -2],\n },\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [this.inputWidth[1], Math.abs(100 - this.inputWidth[1]), padding, -padding],\n },\n ]\n\n if (this.$vuetify.rtl) sections.reverse()\n\n children.push(...sections.map(section => this.$createElement('div', this.setBackgroundColor(section.color, {\n staticClass: section.class,\n style: this.getTrackStyle(...section.styles),\n }))))\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genChildren () {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n createRange(2).map(index => {\n const value = this.internalValue[index]\n const onFocus = (e: Event) => {\n this.isFocused = true\n this.activeThumb = index\n\n this.$emit('focus', e)\n }\n\n const onBlur = (e: Event) => {\n this.isFocused = false\n this.activeThumb = null\n\n this.$emit('blur', e)\n }\n\n const valueWidth = this.inputWidth[index]\n const isActive = this.isActive && this.activeThumb === index\n const isFocused = this.isFocused && this.activeThumb === index\n\n return this.genThumbContainer(value, valueWidth, isActive, isFocused, onFocus, onBlur, `thumb_${index}`)\n }),\n ]\n },\n reevaluateSelected (value: number) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n const refName = `thumb_${this.activeThumb}`\n const thumbRef = this.$refs[refName] as HTMLElement\n thumbRef.focus()\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderClick (e: MouseEvent) {\n if (!this.isActive) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.setInternalValue(value)\n\n this.$emit('change', this.internalValue)\n }\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n\n if (this.activeThumb === null) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n }\n\n this.setInternalValue(value)\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.activeThumb === null) return\n\n const value = this.parseKeyDown(e, this.internalValue[this.activeThumb])\n\n if (value == null) return\n\n this.setInternalValue(value)\n this.$emit('change', this.internalValue)\n },\n setInternalValue (value: number) {\n this.internalValue = this.internalValue.map((v: number, i: number) => {\n if (i === this.activeThumb) return value\n else return Number(v)\n })\n },\n },\n})\n","var time;\nvar daysInYear = 365.25;\n\ntime = {\n ns: {\n name: {\n singular: 'Nanosecond'\n , plural: 'Nanoseconds'\n }\n , to_anchor: 1/1000000000\n }\n, mu: {\n name: {\n singular: 'Microsecond'\n , plural: 'Microseconds'\n }\n , to_anchor: 1/1000000\n }\n, ms: {\n name: {\n singular: 'Millisecond'\n , plural: 'Milliseconds'\n }\n , to_anchor: 1/1000\n }\n, s: {\n name: {\n singular: 'Second'\n , plural: 'Seconds'\n }\n , to_anchor: 1\n }\n, min: {\n name: {\n singular: 'Minute'\n , plural: 'Minutes'\n }\n , to_anchor: 60\n }\n, h: {\n name: {\n singular: 'Hour'\n , plural: 'Hours'\n }\n , to_anchor: 60 * 60 \n }\n, d: {\n name: {\n singular: 'Day'\n , plural: 'Days'\n }\n , to_anchor: 60 * 60 * 24\n }\n, week: {\n name: {\n singular: 'Week'\n , plural: 'Weeks'\n }\n , to_anchor: 60 * 60 * 24 * 7\n }\n, month: {\n name: {\n singular: 'Month'\n , plural: 'Months'\n }\n , to_anchor: 60 * 60 * 24 * daysInYear / 12\n }\n, year: {\n name: {\n singular: 'Year'\n , plural: 'Years'\n }\n , to_anchor: 60 * 60 * 24 * daysInYear\n }\n};\n\n\nmodule.exports = {\n metric: time \n, _anchors: {\n metric: {\n unit: 's'\n , ratio: 1\n }\n }\n};\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު',\n ],\n weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު',\n ];\n\n var dv = moment.defineLocale('dv', {\n months: months,\n monthsShort: months,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /މކ|މފ/,\n isPM: function (input) {\n return 'މފ' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar: {\n sameDay: '[މިއަދު] LT',\n nextDay: '[މާދަމާ] LT',\n nextWeek: 'dddd LT',\n lastDay: '[އިއްޔެ] LT',\n lastWeek: '[ފާއިތުވި] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ތެރޭގައި %s',\n past: 'ކުރިން %s',\n s: 'ސިކުންތުކޮޅެއް',\n ss: 'd% ސިކުންތު',\n m: 'މިނިޓެއް',\n mm: 'މިނިޓު %d',\n h: 'ގަޑިއިރެއް',\n hh: 'ގަޑިއިރު %d',\n d: 'ދުވަހެއް',\n dd: 'ދުވަސް %d',\n M: 'މަހެއް',\n MM: 'މަސް %d',\n y: 'އަހަރެއް',\n yy: 'އަހަރު %d',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return dv;\n\n})));\n","/**\r\n * DevExtreme (esm/localization/ldml/number.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n fitIntoRange,\r\n multiplyInExponentialForm\r\n} from \"../../core/utils/math\";\r\nimport {\r\n toFixed\r\n} from \"../utils\";\r\nvar DEFAULT_CONFIG = {\r\n thousandsSeparator: \",\",\r\n decimalSeparator: \".\"\r\n};\r\nvar ESCAPING_CHAR = \"'\";\r\nvar MAXIMUM_NUMBER_LENGTH = 15;\r\nvar PERCENT_EXPONENT_SHIFT = 2;\r\n\r\nfunction getGroupSizes(formatString) {\r\n return formatString.split(\",\").slice(1).map((function(str) {\r\n var singleQuotesLeft = 0;\r\n return str.split(\"\").filter((function(char, index) {\r\n singleQuotesLeft += \"'\" === char;\r\n var isDigit = \"#\" === char || \"0\" === char;\r\n var isInStub = singleQuotesLeft % 2;\r\n return isDigit && !isInStub\r\n })).length\r\n }))\r\n}\r\n\r\nfunction getSignParts(format) {\r\n var signParts = format.split(\";\");\r\n if (1 === signParts.length) {\r\n signParts.push(\"-\" + signParts[0])\r\n }\r\n return signParts\r\n}\r\n\r\nfunction reverseString(str) {\r\n return str.toString().split(\"\").reverse().join(\"\")\r\n}\r\n\r\nfunction isPercentFormat(format) {\r\n return -1 !== format.indexOf(\"%\") && !format.match(/'[^']*%[^']*'/g)\r\n}\r\n\r\nfunction removeStubs(str) {\r\n return str.replace(/'.+'/g, \"\")\r\n}\r\n\r\nfunction getNonRequiredDigitCount(floatFormat) {\r\n if (!floatFormat) {\r\n return 0\r\n }\r\n var format = removeStubs(floatFormat);\r\n return format.length - format.replace(/[#]/g, \"\").length\r\n}\r\n\r\nfunction getRequiredDigitCount(floatFormat) {\r\n if (!floatFormat) {\r\n return 0\r\n }\r\n var format = removeStubs(floatFormat);\r\n return format.length - format.replace(/[0]/g, \"\").length\r\n}\r\n\r\nfunction normalizeValueString(valuePart, minDigitCount, maxDigitCount) {\r\n if (!valuePart) {\r\n return \"\"\r\n }\r\n if (valuePart.length > maxDigitCount) {\r\n valuePart = valuePart.substr(0, maxDigitCount)\r\n }\r\n while (valuePart.length > minDigitCount && \"0\" === valuePart.slice(-1)) {\r\n valuePart = valuePart.substr(0, valuePart.length - 1)\r\n }\r\n while (valuePart.length < minDigitCount) {\r\n valuePart += \"0\"\r\n }\r\n return valuePart\r\n}\r\n\r\nfunction applyGroups(valueString, groupSizes, thousandsSeparator) {\r\n if (!groupSizes.length) {\r\n return valueString\r\n }\r\n var groups = [];\r\n var index = 0;\r\n while (valueString) {\r\n var groupSize = groupSizes[index];\r\n if (!groupSize) {\r\n break\r\n }\r\n groups.push(valueString.slice(0, groupSize));\r\n valueString = valueString.slice(groupSize);\r\n if (index < groupSizes.length - 1) {\r\n index++\r\n }\r\n }\r\n return groups.join(thousandsSeparator)\r\n}\r\n\r\nfunction formatNumberPart(format, valueString) {\r\n return format.split(ESCAPING_CHAR).map((function(formatPart, escapeIndex) {\r\n var isEscape = escapeIndex % 2;\r\n if (!formatPart && isEscape) {\r\n return ESCAPING_CHAR\r\n }\r\n return isEscape ? formatPart : formatPart.replace(/[,#0]+/, valueString)\r\n })).join(\"\")\r\n}\r\n\r\nfunction getFloatPointIndex(format) {\r\n var isEscape = false;\r\n for (var index = 0; index < format.length; index++) {\r\n if (\"'\" === format[index]) {\r\n isEscape = !isEscape\r\n }\r\n if (\".\" === format[index] && !isEscape) {\r\n return index\r\n }\r\n }\r\n return format.length\r\n}\r\nexport function getFormatter(format, config) {\r\n config = config || DEFAULT_CONFIG;\r\n return function(value) {\r\n if (\"number\" !== typeof value || isNaN(value)) {\r\n return \"\"\r\n }\r\n var signFormatParts = getSignParts(format);\r\n var isPositiveZero = 1 / value === 1 / 0;\r\n var isPositive = value > 0 || isPositiveZero;\r\n var numberFormat = signFormatParts[isPositive ? 0 : 1];\r\n var floatPointIndex = getFloatPointIndex(numberFormat);\r\n var floatFormatParts = [numberFormat.substr(0, floatPointIndex), numberFormat.substr(floatPointIndex + 1)];\r\n var minFloatPrecision = getRequiredDigitCount(floatFormatParts[1]);\r\n var maxFloatPrecision = minFloatPrecision + getNonRequiredDigitCount(floatFormatParts[1]);\r\n if (isPercentFormat(numberFormat)) {\r\n value = multiplyInExponentialForm(value, PERCENT_EXPONENT_SHIFT)\r\n }\r\n if (!isPositive) {\r\n value = -value\r\n }\r\n var minIntegerPrecision = getRequiredDigitCount(floatFormatParts[0]);\r\n var maxIntegerPrecision = getNonRequiredDigitCount(floatFormatParts[0]) || config.unlimitedIntegerDigits ? void 0 : minIntegerPrecision;\r\n var integerLength = Math.floor(value).toString().length;\r\n var floatPrecision = fitIntoRange(maxFloatPrecision, 0, MAXIMUM_NUMBER_LENGTH - integerLength);\r\n var groupSizes = getGroupSizes(floatFormatParts[0]).reverse();\r\n var valueParts = toFixed(value, floatPrecision < 0 ? 0 : floatPrecision).split(\".\");\r\n var valueIntegerPart = normalizeValueString(reverseString(valueParts[0]), minIntegerPrecision, maxIntegerPrecision);\r\n var valueFloatPart = normalizeValueString(valueParts[1], minFloatPrecision, maxFloatPrecision);\r\n valueIntegerPart = applyGroups(valueIntegerPart, groupSizes, config.thousandsSeparator);\r\n var integerString = reverseString(formatNumberPart(reverseString(floatFormatParts[0]), valueIntegerPart));\r\n var floatString = maxFloatPrecision ? formatNumberPart(floatFormatParts[1], valueFloatPart) : \"\";\r\n var result = integerString + (floatString.match(/\\d/) ? config.decimalSeparator : \"\") + floatString;\r\n return result\r\n }\r\n}\r\n\r\nfunction parseValue(text, isPercent, isNegative) {\r\n var value = (isPercent ? .01 : 1) * parseFloat(text) || 0;\r\n return isNegative ? -value : value\r\n}\r\n\r\nfunction prepareValueText(valueText, formatter, isPercent, isIntegerPart) {\r\n var nextValueText = valueText;\r\n var char;\r\n var text;\r\n var nextText;\r\n do {\r\n if (nextText) {\r\n char = text.length === nextText.length ? \"0\" : \"1\";\r\n valueText = isIntegerPart ? char + valueText : valueText + char\r\n }\r\n text = nextText || formatter(parseValue(nextValueText, isPercent));\r\n nextValueText = isIntegerPart ? \"1\" + nextValueText : nextValueText + \"1\";\r\n nextText = formatter(parseValue(nextValueText, isPercent))\r\n } while (text !== nextText && (isIntegerPart ? text.length === nextText.length : text.length <= nextText.length));\r\n if (isIntegerPart && nextText.length > text.length) {\r\n var hasGroups = -1 === formatter(12345).indexOf(\"12345\");\r\n do {\r\n valueText = \"1\" + valueText\r\n } while (hasGroups && parseValue(valueText, isPercent) < 1e5)\r\n }\r\n return valueText\r\n}\r\n\r\nfunction getFormatByValueText(valueText, formatter, isPercent, isNegative) {\r\n var format = formatter(parseValue(valueText, isPercent, isNegative));\r\n var valueTextParts = valueText.split(\".\");\r\n var valueTextWithModifiedFloat = valueTextParts[0] + \".3\" + valueTextParts[1].slice(1);\r\n var valueWithModifiedFloat = parseValue(valueTextWithModifiedFloat, isPercent, isNegative);\r\n var decimalSeparatorIndex = formatter(valueWithModifiedFloat).indexOf(\"3\") - 1;\r\n format = format.replace(/(\\d)\\D(\\d)/g, \"$1,$2\");\r\n if (decimalSeparatorIndex >= 0) {\r\n format = format.slice(0, decimalSeparatorIndex) + \".\" + format.slice(decimalSeparatorIndex + 1)\r\n }\r\n format = format.replace(/1+/, \"1\").replace(/1/g, \"#\");\r\n if (!isPercent) {\r\n format = format.replace(/%/g, \"'%'\")\r\n }\r\n return format\r\n}\r\nexport function getFormat(formatter) {\r\n var valueText = \".\";\r\n var isPercent = formatter(1).indexOf(\"100\") >= 0;\r\n valueText = prepareValueText(valueText, formatter, isPercent, true);\r\n valueText = prepareValueText(valueText, formatter, isPercent, false);\r\n var positiveFormat = getFormatByValueText(valueText, formatter, isPercent, false);\r\n var negativeFormat = getFormatByValueText(valueText, formatter, isPercent, true);\r\n return negativeFormat === \"-\" + positiveFormat ? positiveFormat : positiveFormat + \";\" + negativeFormat\r\n}\r\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\",\n };\n\n var tk = moment.defineLocale('tk', {\n months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n '_'\n ),\n weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt : https://github.com/passatgt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var weekEndings =\n 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return isFuture || withoutSuffix\n ? 'néhány másodperc'\n : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix)\n ? ' másodperc'\n : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (\n (isFuture ? '' : '[múlt] ') +\n '[' +\n weekEndings[this.day()] +\n '] LT[-kor]'\n );\n }\n\n var hu = moment.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm',\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function () {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function () {\n return week.call(this, false);\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return hu;\n\n})));\n","/**\r\n * DevExtreme (esm/core/renderer_base.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n cleanDataRecursive,\r\n removeData,\r\n data as elementData\r\n} from \"./element_data\";\r\nimport domAdapter from \"./dom_adapter\";\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nimport {\r\n isObject,\r\n isWindow,\r\n isPlainObject,\r\n isString,\r\n isNumeric,\r\n isDefined,\r\n isFunction,\r\n type\r\n} from \"./utils/type\";\r\nimport {\r\n styleProp,\r\n normalizeStyleProp\r\n} from \"./utils/style\";\r\nimport {\r\n getOffset,\r\n getWindowByElement\r\n} from \"./utils/size\";\r\nimport {\r\n parseHTML,\r\n isTablePart\r\n} from \"./utils/html_parser\";\r\nvar window = getWindow();\r\nvar renderer;\r\nvar initRender = function(selector, context) {\r\n if (!selector) {\r\n this.length = 0;\r\n return this\r\n }\r\n if (\"string\" === typeof selector) {\r\n if (\"body\" === selector) {\r\n this[0] = context ? context.body : domAdapter.getBody();\r\n this.length = 1;\r\n return this\r\n }\r\n context = context || domAdapter.getDocument();\r\n if (\"<\" === selector[0]) {\r\n this[0] = domAdapter.createElement(selector.slice(1, -1), context);\r\n this.length = 1;\r\n return this\r\n } [].push.apply(this, domAdapter.querySelectorAll(context, selector));\r\n return this\r\n } else if (domAdapter.isNode(selector) || isWindow(selector)) {\r\n this[0] = selector;\r\n this.length = 1;\r\n return this\r\n } else if (Array.isArray(selector)) {\r\n [].push.apply(this, selector);\r\n return this\r\n }\r\n return renderer(selector.toArray ? selector.toArray() : [selector])\r\n};\r\nrenderer = function(selector, context) {\r\n return new initRender(selector, context)\r\n};\r\nrenderer.fn = {\r\n dxRenderer: true\r\n};\r\ninitRender.prototype = renderer.fn;\r\nvar repeatMethod = function(methodName, args) {\r\n for (var i = 0; i < this.length; i++) {\r\n var item = renderer(this[i]);\r\n item[methodName].apply(item, args)\r\n }\r\n return this\r\n};\r\nvar setAttributeValue = function(element, attrName, value) {\r\n if (void 0 !== value && null !== value && false !== value) {\r\n domAdapter.setAttribute(element, attrName, value)\r\n } else {\r\n domAdapter.removeAttribute(element, attrName)\r\n }\r\n};\r\ninitRender.prototype.show = function() {\r\n return this.toggle(true)\r\n};\r\ninitRender.prototype.hide = function() {\r\n return this.toggle(false)\r\n};\r\ninitRender.prototype.toggle = function(value) {\r\n if (this[0]) {\r\n this.toggleClass(\"dx-state-invisible\", !value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.attr = function(attrName, value) {\r\n if (this.length > 1 && arguments.length > 1) {\r\n return repeatMethod.call(this, \"attr\", arguments)\r\n }\r\n if (!this[0]) {\r\n if (isObject(attrName) || void 0 !== value) {\r\n return this\r\n } else {\r\n return\r\n }\r\n }\r\n if (!this[0].getAttribute) {\r\n return this.prop(attrName, value)\r\n }\r\n if (\"string\" === typeof attrName && 1 === arguments.length) {\r\n var result = this[0].getAttribute(attrName);\r\n return null == result ? void 0 : result\r\n } else if (isPlainObject(attrName)) {\r\n for (var key in attrName) {\r\n this.attr(key, attrName[key])\r\n }\r\n } else {\r\n setAttributeValue(this[0], attrName, value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.removeAttr = function(attrName) {\r\n this[0] && domAdapter.removeAttribute(this[0], attrName);\r\n return this\r\n};\r\ninitRender.prototype.prop = function(propName, value) {\r\n if (!this[0]) {\r\n return this\r\n }\r\n if (\"string\" === typeof propName && 1 === arguments.length) {\r\n return this[0][propName]\r\n } else if (isPlainObject(propName)) {\r\n for (var key in propName) {\r\n this.prop(key, propName[key])\r\n }\r\n } else {\r\n domAdapter.setProperty(this[0], propName, value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.addClass = function(className) {\r\n return this.toggleClass(className, true)\r\n};\r\ninitRender.prototype.removeClass = function(className) {\r\n return this.toggleClass(className, false)\r\n};\r\ninitRender.prototype.hasClass = function(className) {\r\n if (!this[0] || void 0 === this[0].className) {\r\n return false\r\n }\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n if (this[0].classList) {\r\n if (this[0].classList.contains(classNames[i])) {\r\n return true\r\n }\r\n } else {\r\n var _className = isString(this[0].className) ? this[0].className : domAdapter.getAttribute(this[0], \"class\");\r\n if ((_className || \"\").split(\" \").indexOf(classNames[i]) >= 0) {\r\n return true\r\n }\r\n }\r\n }\r\n return false\r\n};\r\ninitRender.prototype.toggleClass = function(className, value) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"toggleClass\", arguments)\r\n }\r\n if (!this[0] || !className) {\r\n return this\r\n }\r\n value = void 0 === value ? !this.hasClass(className) : value;\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n domAdapter.setClass(this[0], classNames[i], value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.html = function(value) {\r\n if (!arguments.length) {\r\n return this[0].innerHTML\r\n }\r\n this.empty();\r\n if (\"string\" === typeof value && !isTablePart(value) || \"number\" === typeof value) {\r\n this[0].innerHTML = value;\r\n return this\r\n }\r\n return this.append(parseHTML(value))\r\n};\r\nvar appendElements = function(element, nextSibling) {\r\n if (!this[0] || !element) {\r\n return\r\n }\r\n if (\"string\" === typeof element) {\r\n element = parseHTML(element)\r\n } else if (element.nodeType) {\r\n element = [element]\r\n } else if (isNumeric(element)) {\r\n element = [domAdapter.createTextNode(element)]\r\n }\r\n for (var i = 0; i < element.length; i++) {\r\n var item = element[i];\r\n var container = this[0];\r\n var wrapTR = \"TABLE\" === container.tagName && \"TR\" === item.tagName;\r\n if (wrapTR && container.tBodies && container.tBodies.length) {\r\n container = container.tBodies[0]\r\n }\r\n domAdapter.insertElement(container, item.nodeType ? item : item[0], nextSibling)\r\n }\r\n};\r\nvar setCss = function(name, value) {\r\n if (!this[0] || !this[0].style) {\r\n return\r\n }\r\n if (null === value || \"number\" === typeof value && isNaN(value)) {\r\n return\r\n }\r\n name = styleProp(name);\r\n for (var i = 0; i < this.length; i++) {\r\n this[i].style[name] = normalizeStyleProp(name, value)\r\n }\r\n};\r\ninitRender.prototype.css = function(name, value) {\r\n if (isString(name)) {\r\n if (2 === arguments.length) {\r\n setCss.call(this, name, value)\r\n } else {\r\n if (!this[0]) {\r\n return\r\n }\r\n name = styleProp(name);\r\n var result = window.getComputedStyle(this[0])[name] || this[0].style[name];\r\n return isNumeric(result) ? result.toString() : result\r\n }\r\n } else if (isPlainObject(name)) {\r\n for (var key in name) {\r\n setCss.call(this, key, name[key])\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.prepend = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.prepend(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element, this[0].firstChild]);\r\n return this\r\n};\r\ninitRender.prototype.append = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.append(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element]);\r\n return this\r\n};\r\ninitRender.prototype.prependTo = function(element) {\r\n if (this.length > 1) {\r\n for (var i = this.length - 1; i >= 0; i--) {\r\n renderer(this[i]).prependTo(element)\r\n }\r\n return this\r\n }\r\n element = renderer(element);\r\n if (element[0]) {\r\n domAdapter.insertElement(element[0], this[0], element[0].firstChild)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.appendTo = function(element) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"appendTo\", arguments)\r\n }\r\n domAdapter.insertElement(renderer(element)[0], this[0]);\r\n return this\r\n};\r\ninitRender.prototype.insertBefore = function(element) {\r\n if (element && element[0]) {\r\n domAdapter.insertElement(element[0].parentNode, this[0], element[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.insertAfter = function(element) {\r\n if (element && element[0]) {\r\n domAdapter.insertElement(element[0].parentNode, this[0], element[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.before = function(element) {\r\n if (this[0]) {\r\n domAdapter.insertElement(this[0].parentNode, element[0], this[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.after = function(element) {\r\n if (this[0]) {\r\n domAdapter.insertElement(this[0].parentNode, element[0], this[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrap = function(wrapper) {\r\n if (this[0]) {\r\n var wrap = renderer(wrapper);\r\n wrap.insertBefore(this);\r\n wrap.append(this)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrapInner = function(wrapper) {\r\n var contents = this.contents();\r\n if (contents.length) {\r\n contents.wrap(wrapper)\r\n } else {\r\n this.append(wrapper)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.replaceWith = function(element) {\r\n if (!(element && element[0])) {\r\n return\r\n }\r\n if (element.is(this)) {\r\n return this\r\n }\r\n element.insertBefore(this);\r\n this.remove();\r\n return element\r\n};\r\ninitRender.prototype.remove = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"remove\", arguments)\r\n }\r\n cleanDataRecursive(this[0], true);\r\n domAdapter.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.detach = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"detach\", arguments)\r\n }\r\n domAdapter.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.empty = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"empty\", arguments)\r\n }\r\n cleanDataRecursive(this[0]);\r\n domAdapter.setText(this[0], \"\");\r\n return this\r\n};\r\ninitRender.prototype.clone = function() {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n result.push(this[i].cloneNode(true))\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.text = function(value) {\r\n if (!arguments.length) {\r\n var result = \"\";\r\n for (var i = 0; i < this.length; i++) {\r\n result += this[i] && this[i].textContent || \"\"\r\n }\r\n return result\r\n }\r\n var text = isFunction(value) ? value() : value;\r\n cleanDataRecursive(this[0], false);\r\n domAdapter.setText(this[0], isDefined(text) ? text : \"\");\r\n return this\r\n};\r\ninitRender.prototype.val = function(value) {\r\n if (1 === arguments.length) {\r\n return this.prop(\"value\", isDefined(value) ? value : \"\")\r\n }\r\n return this.prop(\"value\")\r\n};\r\ninitRender.prototype.contents = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = [];\r\n result.push.apply(result, this[0].childNodes);\r\n return renderer(result)\r\n};\r\ninitRender.prototype.find = function(selector) {\r\n var result = renderer();\r\n if (!selector) {\r\n return result\r\n }\r\n var nodes = [];\r\n var i;\r\n if (\"string\" === typeof selector) {\r\n selector = selector.trim();\r\n for (i = 0; i < this.length; i++) {\r\n var element = this[i];\r\n if (domAdapter.isElementNode(element)) {\r\n var elementId = element.getAttribute(\"id\");\r\n var queryId = elementId || \"dx-query-children\";\r\n if (!elementId) {\r\n setAttributeValue(element, \"id\", queryId)\r\n }\r\n queryId = \"[id='\" + queryId + \"'] \";\r\n var querySelector = queryId + selector.replace(/([^\\\\])(,)/g, \"$1, \" + queryId);\r\n nodes.push.apply(nodes, domAdapter.querySelectorAll(element, querySelector));\r\n setAttributeValue(element, \"id\", elementId)\r\n } else if (domAdapter.isDocument(element) || domAdapter.isDocumentFragment(element)) {\r\n nodes.push.apply(nodes, domAdapter.querySelectorAll(element, selector))\r\n }\r\n }\r\n } else {\r\n for (i = 0; i < this.length; i++) {\r\n selector = domAdapter.isNode(selector) ? selector : selector[0];\r\n if (this[i] !== selector && this[i].contains(selector)) {\r\n nodes.push(selector)\r\n }\r\n }\r\n }\r\n return result.add(nodes)\r\n};\r\nvar isVisible = function(_, element) {\r\n var _element$host;\r\n element = null !== (_element$host = element.host) && void 0 !== _element$host ? _element$host : element;\r\n if (!element.nodeType) {\r\n return true\r\n }\r\n return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length)\r\n};\r\ninitRender.prototype.filter = function(selector) {\r\n if (!selector) {\r\n return renderer()\r\n }\r\n if (\":visible\" === selector) {\r\n return this.filter(isVisible)\r\n } else if (\":hidden\" === selector) {\r\n return this.filter((function(_, element) {\r\n return !isVisible(_, element)\r\n }))\r\n }\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var item = this[i];\r\n if (domAdapter.isElementNode(item) && \"string\" === type(selector)) {\r\n domAdapter.elementMatches(item, selector) && result.push(item)\r\n } else if (domAdapter.isNode(selector) || isWindow(selector)) {\r\n selector === item && result.push(item)\r\n } else if (isFunction(selector)) {\r\n selector.call(item, i, item) && result.push(item)\r\n } else {\r\n for (var j = 0; j < selector.length; j++) {\r\n selector[j] === item && result.push(item)\r\n }\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.not = function(selector) {\r\n var result = [];\r\n var nodes = this.filter(selector).toArray();\r\n for (var i = 0; i < this.length; i++) {\r\n if (-1 === nodes.indexOf(this[i])) {\r\n result.push(this[i])\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.is = function(selector) {\r\n return !!this.filter(selector).length\r\n};\r\ninitRender.prototype.children = function(selector) {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var nodes = this[i] ? this[i].childNodes : [];\r\n for (var j = 0; j < nodes.length; j++) {\r\n if (domAdapter.isElementNode(nodes[j])) {\r\n result.push(nodes[j])\r\n }\r\n }\r\n }\r\n result = renderer(result);\r\n return selector ? result.filter(selector) : result\r\n};\r\ninitRender.prototype.siblings = function() {\r\n var element = this[0];\r\n if (!element || !element.parentNode) {\r\n return renderer()\r\n }\r\n var result = [];\r\n var parentChildNodes = element.parentNode.childNodes || [];\r\n for (var i = 0; i < parentChildNodes.length; i++) {\r\n var node = parentChildNodes[i];\r\n if (domAdapter.isElementNode(node) && node !== element) {\r\n result.push(node)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.each = function(callback) {\r\n for (var i = 0; i < this.length; i++) {\r\n if (false === callback.call(this[i], i, this[i])) {\r\n break\r\n }\r\n }\r\n};\r\ninitRender.prototype.index = function(element) {\r\n if (!element) {\r\n return this.parent().children().index(this)\r\n }\r\n element = renderer(element);\r\n return this.toArray().indexOf(element[0])\r\n};\r\ninitRender.prototype.get = function(index) {\r\n return this[index < 0 ? this.length + index : index]\r\n};\r\ninitRender.prototype.eq = function(index) {\r\n index = index < 0 ? this.length + index : index;\r\n return renderer(this[index])\r\n};\r\ninitRender.prototype.first = function() {\r\n return this.eq(0)\r\n};\r\ninitRender.prototype.last = function() {\r\n return this.eq(-1)\r\n};\r\ninitRender.prototype.select = function() {\r\n for (var i = 0; i < this.length; i += 1) {\r\n this[i].select && this[i].select()\r\n }\r\n return this\r\n};\r\ninitRender.prototype.parent = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = renderer(this[0].parentNode);\r\n return !selector || result.is(selector) ? result : renderer()\r\n};\r\ninitRender.prototype.parents = function(selector) {\r\n var result = [];\r\n var parent = this.parent();\r\n while (parent && parent[0] && !domAdapter.isDocument(parent[0])) {\r\n if (domAdapter.isElementNode(parent[0])) {\r\n if (!selector || parent.is(selector)) {\r\n result.push(parent.get(0))\r\n }\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.closest = function(selector) {\r\n if (this.is(selector)) {\r\n return this\r\n }\r\n var parent = this.parent();\r\n while (parent && parent.length) {\r\n if (parent.is(selector)) {\r\n return parent\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.next = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var next = renderer(this[0].nextSibling);\r\n if (!arguments.length) {\r\n return next\r\n }\r\n while (next && next.length) {\r\n if (next.is(selector)) {\r\n return next\r\n }\r\n next = next.next()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.prev = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n return renderer(this[0].previousSibling)\r\n};\r\ninitRender.prototype.add = function(selector) {\r\n var targets = renderer(selector);\r\n var result = this.toArray();\r\n for (var i = 0; i < targets.length; i++) {\r\n var target = targets[i];\r\n if (-1 === result.indexOf(target)) {\r\n result.push(target)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\nvar emptyArray = [];\r\ninitRender.prototype.splice = function() {\r\n return renderer(emptyArray.splice.apply(this, arguments))\r\n};\r\ninitRender.prototype.slice = function() {\r\n return renderer(emptyArray.slice.apply(this, arguments))\r\n};\r\ninitRender.prototype.toArray = function() {\r\n return emptyArray.slice.call(this)\r\n};\r\ninitRender.prototype.offset = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n return getOffset(this[0])\r\n};\r\ninitRender.prototype.offsetParent = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var offsetParent = renderer(this[0].offsetParent);\r\n while (offsetParent[0] && \"static\" === offsetParent.css(\"position\")) {\r\n offsetParent = renderer(offsetParent[0].offsetParent)\r\n }\r\n offsetParent = offsetParent[0] ? offsetParent : renderer(domAdapter.getDocumentElement());\r\n return offsetParent\r\n};\r\ninitRender.prototype.position = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n var offset;\r\n var marginTop = parseFloat(this.css(\"marginTop\"));\r\n var marginLeft = parseFloat(this.css(\"marginLeft\"));\r\n if (\"fixed\" === this.css(\"position\")) {\r\n offset = this[0].getBoundingClientRect();\r\n return {\r\n top: offset.top - marginTop,\r\n left: offset.left - marginLeft\r\n }\r\n }\r\n offset = this.offset();\r\n var offsetParent = this.offsetParent();\r\n var parentOffset = {\r\n top: 0,\r\n left: 0\r\n };\r\n if (\"HTML\" !== offsetParent[0].nodeName) {\r\n parentOffset = offsetParent.offset()\r\n }\r\n parentOffset = {\r\n top: parentOffset.top + parseFloat(offsetParent.css(\"borderTopWidth\")),\r\n left: parentOffset.left + parseFloat(offsetParent.css(\"borderLeftWidth\"))\r\n };\r\n return {\r\n top: offset.top - parentOffset.top - marginTop,\r\n left: offset.left - parentOffset.left - marginLeft\r\n }\r\n};\r\n[{\r\n name: \"scrollLeft\",\r\n offsetProp: \"pageXOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(value, win.pageYOffset)\r\n }\r\n}, {\r\n name: \"scrollTop\",\r\n offsetProp: \"pageYOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(win.pageXOffset, value)\r\n }\r\n}].forEach((function(directionStrategy) {\r\n var propName = directionStrategy.name;\r\n initRender.prototype[propName] = function(value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n var window = getWindowByElement(this[0]);\r\n if (void 0 === value) {\r\n return window ? window[directionStrategy.offsetProp] : this[0][propName]\r\n }\r\n if (window) {\r\n directionStrategy.scrollWindow(window, value)\r\n } else {\r\n this[0][propName] = value\r\n }\r\n return this\r\n }\r\n}));\r\ninitRender.prototype.data = function(key, value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n if (arguments.length < 2) {\r\n return elementData.call(renderer, this[0], key)\r\n }\r\n elementData.call(renderer, this[0], key, value);\r\n return this\r\n};\r\ninitRender.prototype.removeData = function(key) {\r\n this[0] && removeData(this[0], key);\r\n return this\r\n};\r\nvar rendererWrapper = function() {\r\n return renderer.apply(this, arguments)\r\n};\r\nObject.defineProperty(rendererWrapper, \"fn\", {\r\n enumerable: true,\r\n configurable: true,\r\n get: function() {\r\n return renderer.fn\r\n },\r\n set: function(value) {\r\n renderer.fn = value\r\n }\r\n});\r\nexport default {\r\n set: function(strategy) {\r\n renderer = strategy\r\n },\r\n get: function() {\r\n return rendererWrapper\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/renderer.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport rendererBase from \"./renderer_base\";\r\nexport default rendererBase.get();\r\n","// Components\nimport VIcon from '../VIcon'\nimport VBtn from '../VBtn/VBtn'\n\n// Types\nimport Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-app-bar-nav-icon',\n\n functional: true,\n\n render (h, { slots, listeners, props, data }) {\n const d = Object.assign(data, {\n staticClass: (`v-app-bar__nav-icon ${data.staticClass || ''}`).trim(),\n props: {\n ...props,\n icon: true,\n },\n on: listeners,\n })\n\n const defaultSlot = slots().default\n\n return h(VBtn, d, defaultSlot || [h(VIcon, '$menu')])\n },\n})\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhCn = moment.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s后',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n w: '1 周',\n ww: '%d 周',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年',\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return zhCn;\n\n})));\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var te = moment.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n '_'\n ),\n monthsShort:\n 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n '_'\n ),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return te;\n\n})));\n","// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType<typeof VList>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-list-group',\n\n directives: { ripple },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: [String, RegExp],\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this._uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.value == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeDestroy () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return this.$createElement(VIcon, icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n const slot = getSlot(this, 'appendIcon')\n\n if (!icon && !slot) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__append-icon',\n }, [\n slot || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return this.$createElement(VListItem, {\n staticClass: 'v-list-group__header',\n attrs: {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n },\n class: {\n [this.activeClass]: this.isActive,\n },\n props: {\n inputValue: this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.listeners$,\n click: this.click,\n },\n }, [\n this.genPrependIcon(),\n getSlot(this, 'activator'),\n this.genAppendIcon(),\n ])\n },\n genItems (): VNode[] {\n return this.showLazyContent(() => [\n this.$createElement('div', {\n staticClass: 'v-list-group__items',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, getSlot(this)),\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n const slot = getSlot(this, 'prependIcon')\n\n if (!icon && !slot) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__prepend-icon',\n }, [\n slot || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this._uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this._uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-list-group',\n class: this.classes,\n }), [\n this.genHeader(),\n h(VExpandTransition, this.genItems()),\n ])\n },\n})\n","import { createSimpleFunctional } from '../../util/helpers'\n\nimport VList from './VList'\nimport VListGroup from './VListGroup'\nimport VListItem from './VListItem'\nimport VListItemGroup from './VListItemGroup'\nimport VListItemAction from './VListItemAction'\nimport VListItemAvatar from './VListItemAvatar'\nimport VListItemIcon from './VListItemIcon'\n\nexport const VListItemActionText = createSimpleFunctional('v-list-item__action-text', 'span')\nexport const VListItemContent = createSimpleFunctional('v-list-item__content', 'div')\nexport const VListItemTitle = createSimpleFunctional('v-list-item__title', 'div')\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item__subtitle', 'div')\n\nexport {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemAvatar,\n VListItemIcon,\n VListItemGroup,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemActionText,\n VListItemAvatar,\n VListItemContent,\n VListItemGroup,\n VListItemIcon,\n VListItemSubtitle,\n VListItemTitle,\n },\n}\n","var metric\n , imperial;\n\nmetric = {\n ppm: {\n name: {\n singular: 'Part-per Million'\n , plural: 'Parts-per Million'\n }\n , to_anchor: 1\n }\n , ppb: {\n name: {\n singular: 'Part-per Billion'\n , plural: 'Parts-per Billion'\n }\n , to_anchor: .001\n }\n , ppt: {\n name: {\n singular: 'Part-per Trillion'\n , plural: 'Parts-per Trillion'\n }\n , to_anchor: .000001\n }\n , ppq: {\n name: {\n singular: 'Part-per Quadrillion'\n , plural: 'Parts-per Quadrillion'\n }\n , to_anchor: .000000001\n }\n};\n\nmodule.exports = {\n metric: metric\n , imperial: {}\n , _anchors: {\n metric: {\n unit: 'ppm'\n , ratio: .000001\n }\n }\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\nvar isObject = require('lodash.isobject'),\n noop = require('lodash.noop'),\n reNative = require('lodash._renative');\n\n/* Native method shortcuts for methods with the same name as other `lodash` methods */\nvar nativeCreate = reNative.test(nativeCreate = Object.create) && nativeCreate;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(prototype, properties) {\n return isObject(prototype) ? nativeCreate(prototype) : {};\n}\n// fallback for browsers without `Object.create`\nif (!nativeCreate) {\n baseCreate = (function() {\n function Object() {}\n return function(prototype) {\n if (isObject(prototype)) {\n Object.prototype = prototype;\n var result = new Object;\n Object.prototype = null;\n }\n return result || global.Object();\n };\n }());\n}\n\nmodule.exports = baseCreate;\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sv = moment.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? ':e'\n : b === 1\n ? ':a'\n : b === 2\n ? ':a'\n : b === 3\n ? ':e'\n : ':e';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sv;\n\n})));\n","// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types'\n\nexport type GroupableInstance = InstanceType<typeof Groupable> & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Comparable,\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n items: [] as GroupableInstance[],\n }\n },\n\n computed: {\n classes (): Record<string, boolean> {\n return {\n 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.valueComparator(this.internalValue, v)\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.some(intern => this.valueComparator(intern, v))\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue: 'updateItemsState',\n items: 'updateItemsState',\n },\n\n created () {\n if (this.multiple && !Array.isArray(this.internalValue)) {\n consoleWarn('Model must be bound to an array if the multiple property is true.', this)\n }\n },\n\n methods: {\n\n genData (): object {\n return {\n class: this.classes,\n }\n },\n getValue (item: GroupableInstance, i: number): unknown {\n return item.value === undefined\n ? i\n : item.value\n },\n onClick (item: GroupableInstance) {\n this.updateInternalValue(\n this.getValue(item, this.items.indexOf(item))\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n item.$on('change', () => this.onClick(item))\n\n // If no value provided and mandatory,\n // assign first registered item\n if (this.mandatory && !this.selectedValues.length) {\n this.updateMandatory()\n }\n\n this.updateItem(item, index)\n },\n unregister (item: GroupableInstance) {\n if (this._isDestroyed) return\n\n const index = this.items.indexOf(item)\n const value = this.getValue(item, index)\n\n this.items.splice(index, 1)\n\n const valueIndex = this.selectedValues.indexOf(value)\n\n // Items is not selected, do nothing\n if (valueIndex < 0) return\n\n // If not mandatory, use regular update process\n if (!this.mandatory) {\n return this.updateInternalValue(value)\n }\n\n // Remove the value\n if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = this.internalValue.filter(v => v !== value)\n } else {\n this.internalValue = undefined\n }\n\n // If mandatory and we have no selection\n // add the last item as value\n /* istanbul ignore else */\n if (!this.selectedItems.length) {\n this.updateMandatory(true)\n }\n },\n updateItem (item: GroupableInstance, index: number) {\n const value = this.getValue(item, index)\n\n item.isActive = this.toggleMethod(value)\n },\n // https://github.com/vuetifyjs/vuetify/issues/5352\n updateItemsState () {\n this.$nextTick(() => {\n if (this.mandatory &&\n !this.selectedItems.length\n ) {\n return this.updateMandatory()\n }\n\n // TODO: Make this smarter so it\n // doesn't have to iterate every\n // child in an update\n this.items.forEach(this.updateItem)\n })\n },\n updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => this.valueComparator(val, value))\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = this.valueComparator(this.internalValue, value)\n\n if (this.mandatory && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (h): VNode {\n return h(this.tag, this.genData(), getSlot(this))\n },\n})\n\nexport default BaseItemGroup.extend({\n name: 'v-item-group',\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_element_location_internal.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n titleize\r\n} from \"../../../../core/utils/inflector\";\r\nimport {\r\n getRelativeOffset\r\n} from \"./get_relative_offset\";\r\nimport {\r\n DIRECTION_VERTICAL,\r\n SCROLLABLE_CONTENT_CLASS\r\n} from \"../common/consts\";\r\nexport function getElementLocationInternal(targetElement, direction, containerElement, scrollOffset, offset) {\r\n var additionalOffset = _extends({\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n bottom: 0\r\n }, offset);\r\n var isVertical = direction === DIRECTION_VERTICAL;\r\n var prop = isVertical ? \"top\" : \"left\";\r\n var inverseProp = isVertical ? \"bottom\" : \"right\";\r\n var dimension = isVertical ? \"height\" : \"width\";\r\n var containerOffsetSize = containerElement[\"offset\".concat(titleize(dimension))];\r\n var containerClientSize = containerElement[\"client\".concat(titleize(dimension))];\r\n var containerSize = containerElement.getBoundingClientRect()[dimension];\r\n var elementSize = targetElement.getBoundingClientRect()[dimension];\r\n var scale = 1;\r\n if (Math.abs(containerSize - containerOffsetSize) > 1) {\r\n scale = containerSize / containerOffsetSize\r\n }\r\n var relativeElementOffset = getRelativeOffset(SCROLLABLE_CONTENT_CLASS, targetElement)[prop] / scale;\r\n var containerScrollOffset = scrollOffset[prop];\r\n var relativeStartOffset = containerScrollOffset - relativeElementOffset + additionalOffset[prop];\r\n var relativeEndOffset = containerScrollOffset - relativeElementOffset - elementSize / scale + containerClientSize - additionalOffset[inverseProp];\r\n if (relativeStartOffset <= 0 && relativeEndOffset >= 0) {\r\n return containerScrollOffset\r\n }\r\n return containerScrollOffset - (Math.abs(relativeStartOffset) > Math.abs(relativeEndOffset) ? relativeEndOffset : relativeStartOffset)\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.old.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getWidth,\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n nativeScrolling\r\n} from \"../../core/utils/support\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport devices from \"../../core/devices\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport DOMComponent from \"../../core/dom_component\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport scrollEvents from \"../../events/gesture/emitter.gesture.scroll\";\r\nimport {\r\n SimulatedStrategy\r\n} from \"./ui.scrollable.simulated\";\r\nimport NativeStrategy from \"./ui.scrollable.native\";\r\nimport {\r\n deviceDependentOptions\r\n} from \"./ui.scrollable.device\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n getElementLocationInternal\r\n} from \"../../renovation/ui/scroll_view/utils/get_element_location_internal\";\r\nvar SCROLLABLE = \"dxScrollable\";\r\nvar SCROLLABLE_STRATEGY = \"dxScrollableStrategy\";\r\nvar SCROLLABLE_CLASS = \"dx-scrollable\";\r\nvar SCROLLABLE_DISABLED_CLASS = \"dx-scrollable-disabled\";\r\nvar SCROLLABLE_CONTAINER_CLASS = \"dx-scrollable-container\";\r\nvar SCROLLABLE_WRAPPER_CLASS = \"dx-scrollable-wrapper\";\r\nvar SCROLLABLE_CONTENT_CLASS = \"dx-scrollable-content\";\r\nvar VERTICAL = \"vertical\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar BOTH = \"both\";\r\nvar Scrollable = DOMComponent.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n disabled: false,\r\n onScroll: null,\r\n direction: VERTICAL,\r\n showScrollbar: \"onScroll\",\r\n useNative: true,\r\n bounceEnabled: true,\r\n scrollByContent: true,\r\n scrollByThumb: false,\r\n onUpdated: null,\r\n onStart: null,\r\n onEnd: null,\r\n onBounce: null,\r\n useSimulatedScrollbar: false,\r\n useKeyboard: true,\r\n inertiaEnabled: true,\r\n updateManually: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat(deviceDependentOptions(), [{\r\n device: function() {\r\n return nativeScrolling && \"android\" === devices.real().platform && !browser.mozilla\r\n },\r\n options: {\r\n useSimulatedScrollbar: true\r\n }\r\n }])\r\n },\r\n _initOptions: function(options) {\r\n this.callBase(options);\r\n if (!(\"useSimulatedScrollbar\" in options)) {\r\n this._setUseSimulatedScrollbar()\r\n }\r\n },\r\n _setUseSimulatedScrollbar: function() {\r\n if (!this.initialOption(\"useSimulatedScrollbar\")) {\r\n this.option(\"useSimulatedScrollbar\", !this.option(\"useNative\"))\r\n }\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initScrollableMarkup();\r\n this._locked = false\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this.update();\r\n this._updateRtlPosition();\r\n this._savedScrollOffset && this.scrollTo(this._savedScrollOffset);\r\n delete this._savedScrollOffset\r\n } else {\r\n this._savedScrollOffset = this.scrollOffset()\r\n }\r\n },\r\n _initScrollableMarkup: function() {\r\n var $element = this.$element().addClass(SCROLLABLE_CLASS);\r\n var $container = this._$container = $(\"<div>\").addClass(SCROLLABLE_CONTAINER_CLASS);\r\n var $wrapper = this._$wrapper = $(\"<div>\").addClass(SCROLLABLE_WRAPPER_CLASS);\r\n var $content = this._$content = $(\"<div>\").addClass(SCROLLABLE_CONTENT_CLASS);\r\n $content.append($element.contents()).appendTo($container);\r\n $container.appendTo($wrapper);\r\n $wrapper.appendTo($element)\r\n },\r\n _dimensionChanged: function() {\r\n this.update();\r\n this._updateRtlPosition()\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderDirection()\r\n },\r\n _render: function() {\r\n this._renderStrategy();\r\n this._attachEventHandlers();\r\n this._renderDisabledState();\r\n this._createActions();\r\n this.update();\r\n this.callBase();\r\n this._updateRtlPosition(true)\r\n },\r\n _updateRtlPosition: function(needInitializeRtlConfig) {\r\n this._strategy.updateRtlPosition(needInitializeRtlConfig)\r\n },\r\n _getMaxOffset: function() {\r\n var {\r\n scrollWidth: scrollWidth,\r\n clientWidth: clientWidth,\r\n scrollHeight: scrollHeight,\r\n clientHeight: clientHeight\r\n } = $(this.container()).get(0);\r\n return {\r\n left: scrollWidth - clientWidth,\r\n top: scrollHeight - clientHeight\r\n }\r\n },\r\n _attachEventHandlers: function() {\r\n var strategy = this._strategy;\r\n var initEventData = {\r\n getDirection: strategy.getDirection.bind(strategy),\r\n validate: this._validate.bind(this),\r\n isNative: this.option(\"useNative\"),\r\n scrollTarget: this._$container\r\n };\r\n eventsEngine.off(this._$wrapper, \".\" + SCROLLABLE);\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.init, SCROLLABLE), initEventData, this._initHandler.bind(this));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.start, SCROLLABLE), strategy.handleStart.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.move, SCROLLABLE), strategy.handleMove.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.end, SCROLLABLE), strategy.handleEnd.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.cancel, SCROLLABLE), strategy.handleCancel.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.stop, SCROLLABLE), strategy.handleStop.bind(strategy));\r\n eventsEngine.off(this._$container, \".\" + SCROLLABLE);\r\n eventsEngine.on(this._$container, addNamespace(\"scroll\", SCROLLABLE), strategy.handleScroll.bind(strategy))\r\n },\r\n _validate: function(e) {\r\n if (this._isLocked()) {\r\n return false\r\n }\r\n this._updateIfNeed();\r\n return this._moveIsAllowed(e)\r\n },\r\n _moveIsAllowed(e) {\r\n return this._strategy.validate(e)\r\n },\r\n handleMove(e) {\r\n this._strategy.handleMove(e)\r\n },\r\n _prepareDirections(value) {\r\n this._strategy._prepareDirections(value)\r\n },\r\n _initHandler: function() {\r\n var strategy = this._strategy;\r\n strategy.handleInit.apply(strategy, arguments)\r\n },\r\n _renderDisabledState: function() {\r\n this.$element().toggleClass(SCROLLABLE_DISABLED_CLASS, this.option(\"disabled\"));\r\n if (this.option(\"disabled\")) {\r\n this._lock()\r\n } else {\r\n this._unlock()\r\n }\r\n },\r\n _renderDirection: function() {\r\n this.$element().removeClass(\"dx-scrollable-\" + HORIZONTAL).removeClass(\"dx-scrollable-\" + VERTICAL).removeClass(\"dx-scrollable-\" + BOTH).addClass(\"dx-scrollable-\" + this.option(\"direction\"))\r\n },\r\n _renderStrategy: function() {\r\n this._createStrategy();\r\n this._strategy.render();\r\n this.$element().data(SCROLLABLE_STRATEGY, this._strategy)\r\n },\r\n _createStrategy: function() {\r\n this._strategy = this.option(\"useNative\") ? new NativeStrategy(this) : new SimulatedStrategy(this)\r\n },\r\n _createActions: function() {\r\n this._strategy && this._strategy.createActions()\r\n },\r\n _clean: function() {\r\n this._strategy && this._strategy.dispose()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onStart\":\r\n case \"onEnd\":\r\n case \"onUpdated\":\r\n case \"onScroll\":\r\n case \"onBounce\":\r\n this._createActions();\r\n break;\r\n case \"direction\":\r\n this._resetInactiveDirection();\r\n this._invalidate();\r\n break;\r\n case \"useNative\":\r\n this._setUseSimulatedScrollbar();\r\n this._invalidate();\r\n break;\r\n case \"inertiaEnabled\":\r\n case \"scrollByThumb\":\r\n case \"bounceEnabled\":\r\n case \"useKeyboard\":\r\n case \"showScrollbar\":\r\n case \"useSimulatedScrollbar\":\r\n this._invalidate();\r\n break;\r\n case \"disabled\":\r\n this._renderDisabledState();\r\n this._strategy && this._strategy.disabledChanged();\r\n break;\r\n case \"updateManually\":\r\n case \"scrollByContent\":\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._updateRtlPosition();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _resetInactiveDirection: function() {\r\n var inactiveProp = this._getInactiveProp();\r\n if (!inactiveProp || !hasWindow()) {\r\n return\r\n }\r\n var scrollOffset = this.scrollOffset();\r\n scrollOffset[inactiveProp] = 0;\r\n this.scrollTo(scrollOffset)\r\n },\r\n _getInactiveProp: function() {\r\n var direction = this.option(\"direction\");\r\n if (direction === VERTICAL) {\r\n return \"left\"\r\n }\r\n if (direction === HORIZONTAL) {\r\n return \"top\"\r\n }\r\n },\r\n _location: function() {\r\n return this._strategy.location()\r\n },\r\n _normalizeLocation: function(location) {\r\n if (isPlainObject(location)) {\r\n var left = ensureDefined(location.left, location.x);\r\n var top = ensureDefined(location.top, location.y);\r\n return {\r\n left: isDefined(left) ? -left : void 0,\r\n top: isDefined(top) ? -top : void 0\r\n }\r\n } else {\r\n var direction = this.option(\"direction\");\r\n return {\r\n left: direction !== VERTICAL ? -location : void 0,\r\n top: direction !== HORIZONTAL ? -location : void 0\r\n }\r\n }\r\n },\r\n _isLocked: function() {\r\n return this._locked\r\n },\r\n _lock: function() {\r\n this._locked = true\r\n },\r\n _unlock: function() {\r\n if (!this.option(\"disabled\")) {\r\n this._locked = false\r\n }\r\n },\r\n _isDirection: function(direction) {\r\n var current = this.option(\"direction\");\r\n if (direction === VERTICAL) {\r\n return current !== HORIZONTAL\r\n }\r\n if (direction === HORIZONTAL) {\r\n return current !== VERTICAL\r\n }\r\n return current === direction\r\n },\r\n _updateAllowedDirection: function() {\r\n var allowedDirections = this._strategy._allowedDirections();\r\n if (this._isDirection(BOTH) && allowedDirections.vertical && allowedDirections.horizontal) {\r\n this._allowedDirectionValue = BOTH\r\n } else if (this._isDirection(HORIZONTAL) && allowedDirections.horizontal) {\r\n this._allowedDirectionValue = HORIZONTAL\r\n } else if (this._isDirection(VERTICAL) && allowedDirections.vertical) {\r\n this._allowedDirectionValue = VERTICAL\r\n } else {\r\n this._allowedDirectionValue = null\r\n }\r\n },\r\n _allowedDirection: function() {\r\n return this._allowedDirectionValue\r\n },\r\n $content: function() {\r\n return this._$content\r\n },\r\n content: function() {\r\n return getPublicElement(this._$content)\r\n },\r\n container: function() {\r\n return getPublicElement(this._$container)\r\n },\r\n scrollOffset: function() {\r\n return this._strategy._getScrollOffset()\r\n },\r\n _isRtlNativeStrategy: function() {\r\n var {\r\n useNative: useNative,\r\n rtlEnabled: rtlEnabled\r\n } = this.option();\r\n return useNative && rtlEnabled\r\n },\r\n scrollTop: function() {\r\n return this.scrollOffset().top\r\n },\r\n scrollLeft: function() {\r\n return this.scrollOffset().left\r\n },\r\n clientHeight: function() {\r\n return getHeight(this._$container)\r\n },\r\n scrollHeight: function() {\r\n return getOuterHeight(this.$content())\r\n },\r\n clientWidth: function() {\r\n return getWidth(this._$container)\r\n },\r\n scrollWidth: function() {\r\n return getOuterWidth(this.$content())\r\n },\r\n update: function() {\r\n if (!this._strategy) {\r\n return\r\n }\r\n return when(this._strategy.update()).done(function() {\r\n this._updateAllowedDirection()\r\n }.bind(this))\r\n },\r\n scrollBy: function(distance) {\r\n distance = this._normalizeLocation(distance);\r\n if (!distance.top && !distance.left) {\r\n return\r\n }\r\n this._updateIfNeed();\r\n this._strategy.scrollBy(distance)\r\n },\r\n scrollTo: function(targetLocation) {\r\n targetLocation = this._normalizeLocation(targetLocation);\r\n this._updateIfNeed();\r\n var location = this._location();\r\n if (!this.option(\"useNative\")) {\r\n targetLocation = this._strategy._applyScaleRatio(targetLocation);\r\n location = this._strategy._applyScaleRatio(location)\r\n }\r\n if (this._isRtlNativeStrategy()) {\r\n location.left = location.left - this._getMaxOffset().left\r\n }\r\n var distance = this._normalizeLocation({\r\n left: location.left - ensureDefined(targetLocation.left, location.left),\r\n top: location.top - ensureDefined(targetLocation.top, location.top)\r\n });\r\n if (!distance.top && !distance.left) {\r\n return\r\n }\r\n this._strategy.scrollBy(distance)\r\n },\r\n scrollToElement: function(element, offset) {\r\n var $element = $(element);\r\n var elementInsideContent = this.$content().find(element).length;\r\n var elementIsInsideContent = $element.parents(\".\" + SCROLLABLE_CLASS).length - $element.parents(\".\" + SCROLLABLE_CONTENT_CLASS).length === 0;\r\n if (!elementInsideContent || !elementIsInsideContent) {\r\n return\r\n }\r\n var scrollPosition = {\r\n top: 0,\r\n left: 0\r\n };\r\n var direction = this.option(\"direction\");\r\n if (direction !== VERTICAL) {\r\n scrollPosition.left = this.getScrollElementPosition($element, HORIZONTAL, offset)\r\n }\r\n if (direction !== HORIZONTAL) {\r\n scrollPosition.top = this.getScrollElementPosition($element, VERTICAL, offset)\r\n }\r\n this.scrollTo(scrollPosition)\r\n },\r\n getScrollElementPosition: function($element, direction, offset) {\r\n var scrollOffset = this.scrollOffset();\r\n return getElementLocationInternal($element.get(0), direction, $(this.container()).get(0), scrollOffset, offset)\r\n },\r\n _updateIfNeed: function() {\r\n if (!this.option(\"updateManually\")) {\r\n this.update()\r\n }\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n isRenovated: function() {\r\n return !!Scrollable.IS_RENOVATED_WIDGET\r\n }\r\n});\r\nregisterComponent(SCROLLABLE, Scrollable);\r\nexport default Scrollable;\r\n","/**\r\n * DevExtreme (esm/core/utils/shadow_dom.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar DX_RULE_PREFIX = \"dx-\";\r\nvar ownerDocumentStyleSheet = null;\r\n\r\nfunction createConstructedStyleSheet(rootNode) {\r\n try {\r\n return new CSSStyleSheet\r\n } catch (err) {\r\n var styleElement = rootNode.ownerDocument.createElement(\"style\");\r\n rootNode.appendChild(styleElement);\r\n return styleElement.sheet\r\n }\r\n}\r\n\r\nfunction processRules(targetStyleSheet, styleSheets, needApplyAllStyles) {\r\n for (var i = 0; i < styleSheets.length; i++) {\r\n var sheet = styleSheets[i];\r\n try {\r\n for (var j = 0; j < sheet.cssRules.length; j++) {\r\n insertRule(targetStyleSheet, sheet.cssRules[j], needApplyAllStyles)\r\n }\r\n } catch (err) {}\r\n }\r\n}\r\n\r\nfunction insertRule(targetStyleSheet, rule, needApplyAllStyles) {\r\n var _rule$selectorText, _rule$cssRules, _rule$cssRules$, _rule$cssRules$$selec, _rule$name, _rule$style;\r\n var isDxRule = needApplyAllStyles || (null === (_rule$selectorText = rule.selectorText) || void 0 === _rule$selectorText ? void 0 : _rule$selectorText.includes(DX_RULE_PREFIX)) || (null === (_rule$cssRules = rule.cssRules) || void 0 === _rule$cssRules ? void 0 : null === (_rule$cssRules$ = _rule$cssRules[0]) || void 0 === _rule$cssRules$ ? void 0 : null === (_rule$cssRules$$selec = _rule$cssRules$.selectorText) || void 0 === _rule$cssRules$$selec ? void 0 : _rule$cssRules$$selec.includes(DX_RULE_PREFIX)) || (null === (_rule$name = rule.name) || void 0 === _rule$name ? void 0 : _rule$name.startsWith(DX_RULE_PREFIX)) || \"DXIcons\" === (null === (_rule$style = rule.style) || void 0 === _rule$style ? void 0 : _rule$style.fontFamily);\r\n if (isDxRule) {\r\n targetStyleSheet.insertRule(rule.cssText, targetStyleSheet.cssRules.length)\r\n }\r\n}\r\nexport function addShadowDomStyles($element) {\r\n var _el$getRootNode;\r\n var el = $element.get(0);\r\n var root = null === (_el$getRootNode = el.getRootNode) || void 0 === _el$getRootNode ? void 0 : _el$getRootNode.call(el);\r\n if (!(null !== root && void 0 !== root && root.host)) {\r\n return\r\n }\r\n if (!ownerDocumentStyleSheet) {\r\n ownerDocumentStyleSheet = createConstructedStyleSheet(root);\r\n processRules(ownerDocumentStyleSheet, el.ownerDocument.styleSheets, false)\r\n }\r\n var currentShadowDomStyleSheet = createConstructedStyleSheet(root);\r\n processRules(currentShadowDomStyleSheet, root.styleSheets, true);\r\n root.adoptedStyleSheets = [ownerDocumentStyleSheet, currentShadowDomStyleSheet]\r\n}\r\n\r\nfunction isPositionInElementRectangle(element, x, y) {\r\n var rect = element.getBoundingClientRect();\r\n return rect && x >= rect.left && x < rect.right && y >= rect.top && y < rect.bottom\r\n}\r\n\r\nfunction createQueue() {\r\n var shiftIndex = 0;\r\n var items = [];\r\n return {\r\n push(item) {\r\n items.push(item);\r\n return this\r\n },\r\n shift() {\r\n shiftIndex++;\r\n return items[shiftIndex - 1]\r\n },\r\n get length() {\r\n return items.length - shiftIndex\r\n },\r\n get items() {\r\n return items\r\n }\r\n }\r\n}\r\nexport function getShadowElementsFromPoint(x, y, root) {\r\n var elementQueue = createQueue().push(root);\r\n while (elementQueue.length) {\r\n var el = elementQueue.shift();\r\n for (var i = 0; i < el.childNodes.length; i++) {\r\n var childNode = el.childNodes[i];\r\n if (childNode.nodeType === Node.ELEMENT_NODE && isPositionInElementRectangle(childNode, x, y) && \"none\" !== getComputedStyle(childNode).pointerEvents) {\r\n elementQueue.push(childNode)\r\n }\r\n }\r\n }\r\n var result = elementQueue.items.reverse();\r\n result.pop();\r\n return result\r\n}\r\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort:\n 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل',\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return ugCn;\n\n})));\n","/**\r\n * DevExtreme (esm/core/templates/function_template.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"../utils/dom\";\r\nexport class FunctionTemplate extends TemplateBase {\r\n constructor(render) {\r\n super();\r\n this._render = render\r\n }\r\n _renderCore(options) {\r\n return normalizeTemplateElement(this._render(options))\r\n }\r\n}\r\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOptionInfo = exports.getOptionValue = exports.allKeysAreEqual = exports.forEachChildNode = exports.isEqual = exports.toComparable = exports.camelize = exports.lowercaseFirst = exports.uppercaseFirst = exports.getTemplatePropName = void 0;\nfunction getTemplatePropName(props, templateName) {\n for (var propName in props) {\n if (props[propName] === templateName) {\n return propName;\n }\n }\n return templateName;\n}\nexports.getTemplatePropName = getTemplatePropName;\nfunction uppercaseFirst(value) {\n return value[0].toUpperCase() + value.substr(1);\n}\nexports.uppercaseFirst = uppercaseFirst;\nfunction lowercaseFirst(value) {\n return value[0].toLowerCase() + value.substr(1);\n}\nexports.lowercaseFirst = lowercaseFirst;\nfunction camelize(value) {\n return lowercaseFirst(value.split(\"-\").map(function (v) { return uppercaseFirst(v); }).join(\"\"));\n}\nexports.camelize = camelize;\nfunction toComparable(value) {\n return value instanceof Date ? value.getTime() : value;\n}\nexports.toComparable = toComparable;\nfunction isEqual(value1, value2) {\n if (toComparable(value1) === toComparable(value2)) {\n return true;\n }\n if (Array.isArray(value1) && Array.isArray(value2)) {\n return value1.length === 0 && value2.length === 0;\n }\n return false;\n}\nexports.isEqual = isEqual;\nfunction forEachChildNode(el, callback) {\n Array.prototype.slice.call(el.childNodes).forEach(callback);\n}\nexports.forEachChildNode = forEachChildNode;\nfunction allKeysAreEqual(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n if (obj1Keys.length !== Object.keys(obj2).length) {\n return false;\n }\n for (var _i = 0, obj1Keys_1 = obj1Keys; _i < obj1Keys_1.length; _i++) {\n var key = obj1Keys_1[_i];\n if (!obj2.hasOwnProperty(key)) {\n return false;\n }\n }\n return true;\n}\nexports.allKeysAreEqual = allKeysAreEqual;\nfunction getOptionValue(options, optionPath) {\n var value = options;\n optionPath.split(\".\").forEach(function (p) {\n var optionInfo = getOptionInfo(p);\n if (value) {\n value = optionInfo.isCollection ?\n value[optionInfo.name] && value[optionInfo.name][optionInfo.index] :\n value[optionInfo.name];\n }\n });\n return value;\n}\nexports.getOptionValue = getOptionValue;\nfunction getOptionInfo(name) {\n var parts = name.split(\"[\");\n if (parts.length === 1) {\n return {\n isCollection: false,\n name: name,\n fullName: name\n };\n }\n return {\n isCollection: true,\n name: parts[0],\n fullName: name,\n index: Number(parts[1].slice(0, -1))\n };\n}\nexports.getOptionInfo = getOptionInfo;\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\n\n/**\n * Slices the `collection` from the `start` index up to, but not including,\n * the `end` index.\n *\n * Note: This function is used instead of `Array#slice` to support node lists\n * in IE < 9 and to ensure dense arrays are returned.\n *\n * @private\n * @param {Array|Object|string} collection The collection to slice.\n * @param {number} start The start index.\n * @param {number} end The end index.\n * @returns {Array} Returns the new array.\n */\nfunction slice(array, start, end) {\n start || (start = 0);\n if (typeof end == 'undefined') {\n end = array ? array.length : 0;\n }\n var index = -1,\n length = end - start || 0,\n result = Array(length < 0 ? 0 : length);\n\n while (++index < length) {\n result[index] = array[start + index];\n }\n return result;\n}\n\nmodule.exports = slice;\n","/**\r\n * DevExtreme (esm/core/utils/math.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isExponential\r\n} from \"./type\";\r\nvar sign = function(value) {\r\n if (0 === value) {\r\n return 0\r\n }\r\n return value / Math.abs(value)\r\n};\r\nvar fitIntoRange = function(value, minValue, maxValue) {\r\n var isMinValueUndefined = !minValue && 0 !== minValue;\r\n var isMaxValueUndefined = !maxValue && 0 !== maxValue;\r\n isMinValueUndefined && (minValue = !isMaxValueUndefined ? Math.min(value, maxValue) : value);\r\n isMaxValueUndefined && (maxValue = !isMinValueUndefined ? Math.max(value, minValue) : value);\r\n return Math.min(Math.max(value, minValue), maxValue)\r\n};\r\nvar inRange = function(value, minValue, maxValue) {\r\n return value >= minValue && value <= maxValue\r\n};\r\n\r\nfunction getExponent(value) {\r\n return Math.abs(parseInt(value.toExponential().split(\"e\")[1]))\r\n}\r\n\r\nfunction getExponentialNotation(value) {\r\n var parts = value.toExponential().split(\"e\");\r\n var mantissa = parseFloat(parts[0]);\r\n var exponent = parseInt(parts[1]);\r\n return {\r\n exponent: exponent,\r\n mantissa: mantissa\r\n }\r\n}\r\n\r\nfunction multiplyInExponentialForm(value, exponentShift) {\r\n var exponentialNotation = getExponentialNotation(value);\r\n return parseFloat(\"\".concat(exponentialNotation.mantissa, \"e\").concat(exponentialNotation.exponent + exponentShift))\r\n}\r\n\r\nfunction _isEdgeBug() {\r\n return \"0.000300\" !== 3e-4.toPrecision(3)\r\n}\r\n\r\nfunction adjust(value, interval) {\r\n var precision = getPrecision(interval || 0) + 2;\r\n var separatedValue = value.toString().split(\".\");\r\n var sourceValue = value;\r\n var absValue = Math.abs(value);\r\n var separatedAdjustedValue;\r\n var isExponentValue = isExponential(value);\r\n var integerPart = absValue > 1 ? 10 : 0;\r\n if (1 === separatedValue.length) {\r\n return value\r\n }\r\n if (!isExponentValue) {\r\n if (isExponential(interval)) {\r\n precision = separatedValue[0].length + getExponent(interval)\r\n }\r\n value = absValue;\r\n value = value - Math.floor(value) + integerPart\r\n }\r\n precision = _isEdgeBug() && getExponent(value) > 6 || precision > 7 ? 15 : 7;\r\n if (!isExponentValue) {\r\n separatedAdjustedValue = parseFloat(value.toPrecision(precision)).toString().split(\".\");\r\n if (separatedAdjustedValue[0] === integerPart.toString()) {\r\n return parseFloat(separatedValue[0] + \".\" + separatedAdjustedValue[1])\r\n }\r\n }\r\n return parseFloat(sourceValue.toPrecision(precision))\r\n}\r\n\r\nfunction getPrecision(value) {\r\n var str = value.toString();\r\n if (str.indexOf(\".\") < 0) {\r\n return 0\r\n }\r\n var mantissa = str.split(\".\");\r\n var positionOfDelimiter = mantissa[1].indexOf(\"e\");\r\n return positionOfDelimiter >= 0 ? positionOfDelimiter : mantissa[1].length\r\n}\r\n\r\nfunction getRoot(x, n) {\r\n if (x < 0 && n % 2 !== 1) {\r\n return NaN\r\n }\r\n var y = Math.pow(Math.abs(x), 1 / n);\r\n return n % 2 === 1 && x < 0 ? -y : y\r\n}\r\n\r\nfunction solveCubicEquation(a, b, c, d) {\r\n if (Math.abs(a) < 1e-8) {\r\n a = b;\r\n b = c;\r\n c = d;\r\n if (Math.abs(a) < 1e-8) {\r\n a = b;\r\n b = c;\r\n if (Math.abs(a) < 1e-8) {\r\n return []\r\n }\r\n return [-b / a]\r\n }\r\n var D2 = b * b - 4 * a * c;\r\n if (Math.abs(D2) < 1e-8) {\r\n return [-b / (2 * a)]\r\n } else if (D2 > 0) {\r\n return [(-b + Math.sqrt(D2)) / (2 * a), (-b - Math.sqrt(D2)) / (2 * a)]\r\n }\r\n return []\r\n }\r\n var p = (3 * a * c - b * b) / (3 * a * a);\r\n var q = (2 * b * b * b - 9 * a * b * c + 27 * a * a * d) / (27 * a * a * a);\r\n var roots;\r\n var u;\r\n if (Math.abs(p) < 1e-8) {\r\n roots = [getRoot(-q, 3)]\r\n } else if (Math.abs(q) < 1e-8) {\r\n roots = [0].concat(p < 0 ? [Math.sqrt(-p), -Math.sqrt(-p)] : [])\r\n } else {\r\n var D3 = q * q / 4 + p * p * p / 27;\r\n if (Math.abs(D3) < 1e-8) {\r\n roots = [-1.5 * q / p, 3 * q / p]\r\n } else if (D3 > 0) {\r\n u = getRoot(-q / 2 - Math.sqrt(D3), 3);\r\n roots = [u - p / (3 * u)]\r\n } else {\r\n u = 2 * Math.sqrt(-p / 3);\r\n var t = Math.acos(3 * q / p / u) / 3;\r\n var k = 2 * Math.PI / 3;\r\n roots = [u * Math.cos(t), u * Math.cos(t - k), u * Math.cos(t - 2 * k)]\r\n }\r\n }\r\n for (var i = 0; i < roots.length; i++) {\r\n roots[i] -= b / (3 * a)\r\n }\r\n return roots\r\n}\r\n\r\nfunction trunc(value) {\r\n return Math.trunc ? Math.trunc(value) : value > 0 ? Math.floor(value) : Math.ceil(value)\r\n}\r\n\r\nfunction getRemainderByDivision(dividend, divider, digitsCount) {\r\n if (divider === parseInt(divider)) {\r\n return dividend % divider\r\n }\r\n var quotient = roundFloatPart(dividend / divider, digitsCount);\r\n return (quotient - parseInt(quotient)) * divider\r\n}\r\n\r\nfunction getExponentLength(value) {\r\n var _valueString$split$;\r\n var valueString = value.toString();\r\n return (null === (_valueString$split$ = valueString.split(\".\")[1]) || void 0 === _valueString$split$ ? void 0 : _valueString$split$.length) || parseInt(valueString.split(\"e-\")[1]) || 0\r\n}\r\n\r\nfunction roundFloatPart(value) {\r\n var digitsCount = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n return parseFloat(value.toFixed(digitsCount))\r\n}\r\nexport {\r\n sign,\r\n fitIntoRange,\r\n inRange,\r\n adjust,\r\n getPrecision,\r\n getExponent,\r\n getRoot,\r\n solveCubicEquation,\r\n trunc,\r\n roundFloatPart,\r\n getExponentLength,\r\n getRemainderByDivision,\r\n multiplyInExponentialForm\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/inflector.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map\r\n} from \"./iterator\";\r\nvar _normalize = function(text) {\r\n if (void 0 === text || null === text) {\r\n return \"\"\r\n }\r\n return String(text)\r\n};\r\nvar _upperCaseFirst = function(text) {\r\n return _normalize(text).charAt(0).toUpperCase() + text.substr(1)\r\n};\r\nvar _chop = function(text) {\r\n return _normalize(text).replace(/([a-z\\d])([A-Z])/g, \"$1 $2\").split(/[\\s_-]+/)\r\n};\r\nexport var dasherize = function(text) {\r\n return map(_chop(text), (function(p) {\r\n return p.toLowerCase()\r\n })).join(\"-\")\r\n};\r\nexport var underscore = function(text) {\r\n return dasherize(text).replace(/-/g, \"_\")\r\n};\r\nexport var camelize = function(text, upperFirst) {\r\n return map(_chop(text), (function(p, i) {\r\n p = p.toLowerCase();\r\n if (upperFirst || i > 0) {\r\n p = _upperCaseFirst(p)\r\n }\r\n return p\r\n })).join(\"\")\r\n};\r\nexport var humanize = function(text) {\r\n return _upperCaseFirst(dasherize(text).replace(/-/g, \" \"))\r\n};\r\nexport var titleize = function(text) {\r\n return map(_chop(text), (function(p) {\r\n return _upperCaseFirst(p.toLowerCase())\r\n })).join(\" \")\r\n};\r\nvar DIGIT_CHARS = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"];\r\nexport var captionize = function(name) {\r\n var captionList = [];\r\n var i;\r\n var char;\r\n var isPrevCharNewWord = false;\r\n var isNewWord = false;\r\n for (i = 0; i < name.length; i++) {\r\n char = name.charAt(i);\r\n isNewWord = char === char.toUpperCase() && \"-\" !== char && \")\" !== char && \"/\" !== char || char in DIGIT_CHARS;\r\n if (\"_\" === char || \".\" === char) {\r\n char = \" \";\r\n isNewWord = true\r\n } else if (0 === i) {\r\n char = char.toUpperCase();\r\n isNewWord = true\r\n } else if (!isPrevCharNewWord && isNewWord) {\r\n if (captionList.length > 0) {\r\n captionList.push(\" \")\r\n }\r\n }\r\n captionList.push(char);\r\n isPrevCharNewWord = isNewWord\r\n }\r\n return captionList.join(\"\")\r\n};\r\n","import './VGrid.sass'\n\nimport Vue, { VNode, PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Dictionary<PropOptions>)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary<PropOptions>)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary<PropOptions>)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert <v-col sm></v-col> to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map<string, any[]>()\n\nexport default Vue.extend({\n name: 'v-col',\n functional: true,\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n tag: {\n type: String,\n default: 'div',\n },\n },\n render (h, { props, data, children, parent }): VNode {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: !hasColClasses || !props.cols,\n [`col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n },\n})\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","/**\r\n * DevExtreme (esm/localization/ldml/date.formatter.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nfunction leftPad(text, length) {\r\n while (text.length < length) {\r\n text = \"0\" + text\r\n }\r\n return text\r\n}\r\nvar FORMAT_TYPES = {\r\n 3: \"abbreviated\",\r\n 4: \"wide\",\r\n 5: \"narrow\"\r\n};\r\nvar LDML_FORMATTERS = {\r\n y: function(date, count, useUtc) {\r\n var year = date[useUtc ? \"getUTCFullYear\" : \"getFullYear\"]();\r\n if (2 === count) {\r\n year %= 100\r\n }\r\n return leftPad(year.toString(), count)\r\n },\r\n M: function(date, count, useUtc, dateParts) {\r\n var month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\r\n var formatType = FORMAT_TYPES[count];\r\n if (formatType) {\r\n return dateParts.getMonthNames(formatType, \"format\")[month]\r\n }\r\n return leftPad((month + 1).toString(), Math.min(count, 2))\r\n },\r\n L: function(date, count, useUtc, dateParts) {\r\n var month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\r\n var formatType = FORMAT_TYPES[count];\r\n if (formatType) {\r\n return dateParts.getMonthNames(formatType, \"standalone\")[month]\r\n }\r\n return leftPad((month + 1).toString(), Math.min(count, 2))\r\n },\r\n Q: function(date, count, useUtc, dateParts) {\r\n var month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\r\n var quarter = Math.floor(month / 3);\r\n var formatType = FORMAT_TYPES[count];\r\n if (formatType) {\r\n return dateParts.getQuarterNames(formatType)[quarter]\r\n }\r\n return leftPad((quarter + 1).toString(), Math.min(count, 2))\r\n },\r\n E: function(date, count, useUtc, dateParts) {\r\n var day = date[useUtc ? \"getUTCDay\" : \"getDay\"]();\r\n var formatType = FORMAT_TYPES[count < 3 ? 3 : count];\r\n return dateParts.getDayNames(formatType)[day]\r\n },\r\n a: function(date, count, useUtc, dateParts) {\r\n var hours = date[useUtc ? \"getUTCHours\" : \"getHours\"]();\r\n var period = hours < 12 ? 0 : 1;\r\n var formatType = FORMAT_TYPES[count];\r\n return dateParts.getPeriodNames(formatType)[period]\r\n },\r\n d: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCDate\" : \"getDate\"]().toString(), Math.min(count, 2))\r\n },\r\n H: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCHours\" : \"getHours\"]().toString(), Math.min(count, 2))\r\n },\r\n h: function(date, count, useUtc) {\r\n var hours = date[useUtc ? \"getUTCHours\" : \"getHours\"]();\r\n return leftPad((hours % 12 || 12).toString(), Math.min(count, 2))\r\n },\r\n m: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCMinutes\" : \"getMinutes\"]().toString(), Math.min(count, 2))\r\n },\r\n s: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCSeconds\" : \"getSeconds\"]().toString(), Math.min(count, 2))\r\n },\r\n S: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCMilliseconds\" : \"getMilliseconds\"]().toString(), 3).substr(0, count)\r\n },\r\n x: function(date, count, useUtc) {\r\n var timezoneOffset = useUtc ? 0 : date.getTimezoneOffset();\r\n var signPart = timezoneOffset > 0 ? \"-\" : \"+\";\r\n var timezoneOffsetAbs = Math.abs(timezoneOffset);\r\n var hours = Math.floor(timezoneOffsetAbs / 60);\r\n var minutes = timezoneOffsetAbs % 60;\r\n var hoursPart = leftPad(hours.toString(), 2);\r\n var minutesPart = leftPad(minutes.toString(), 2);\r\n return signPart + hoursPart + (count >= 3 ? \":\" : \"\") + (count > 1 || minutes ? minutesPart : \"\")\r\n },\r\n X: function(date, count, useUtc) {\r\n if (useUtc || !date.getTimezoneOffset()) {\r\n return \"Z\"\r\n }\r\n return LDML_FORMATTERS.x(date, count, useUtc)\r\n },\r\n Z: function(date, count, useUtc) {\r\n return LDML_FORMATTERS.X(date, count >= 5 ? 3 : 2, useUtc)\r\n }\r\n};\r\nexport var getFormatter = function(format, dateParts) {\r\n return function(date) {\r\n var charIndex;\r\n var formatter;\r\n var char;\r\n var charCount = 0;\r\n var isEscaping = false;\r\n var isCurrentCharEqualsNext;\r\n var result = \"\";\r\n if (!date) {\r\n return null\r\n }\r\n if (!format) {\r\n return date\r\n }\r\n var useUtc = \"Z\" === format[format.length - 1] || \"'Z'\" === format.slice(-3);\r\n for (charIndex = 0; charIndex < format.length; charIndex++) {\r\n char = format[charIndex];\r\n formatter = LDML_FORMATTERS[char];\r\n isCurrentCharEqualsNext = char === format[charIndex + 1];\r\n charCount++;\r\n if (!isCurrentCharEqualsNext) {\r\n if (formatter && !isEscaping) {\r\n result += formatter(date, charCount, useUtc, dateParts)\r\n }\r\n charCount = 0\r\n }\r\n if (\"'\" === char && !isCurrentCharEqualsNext) {\r\n isEscaping = !isEscaping\r\n } else if (isEscaping || !formatter) {\r\n result += char\r\n }\r\n if (\"'\" === char && isCurrentCharEqualsNext) {\r\n charIndex++\r\n }\r\n }\r\n return result\r\n }\r\n};\r\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var msMy = moment.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eo = moment.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eo;\n\n})));\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TEMPLATE_MULTIPLE_ROOTS_ERROR = void 0;\nexports.TEMPLATE_MULTIPLE_ROOTS_ERROR = \"Template must have a single root node.\";\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر',\n ],\n days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n var sd = moment.defineLocale('sd', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[اڄ] LT',\n nextDay: '[سڀاڻي] LT',\n nextWeek: 'dddd [اڳين هفتي تي] LT',\n lastDay: '[ڪالهه] LT',\n lastWeek: '[گزريل هفتي] dddd [تي] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s پوء',\n past: '%s اڳ',\n s: 'چند سيڪنڊ',\n ss: '%d سيڪنڊ',\n m: 'هڪ منٽ',\n mm: '%d منٽ',\n h: 'هڪ ڪلاڪ',\n hh: '%d ڪلاڪ',\n d: 'هڪ ڏينهن',\n dd: '%d ڏينهن',\n M: 'هڪ مهينو',\n MM: '%d مهينا',\n y: 'هڪ سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sd;\n\n})));\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.native.pull_down.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport NativeStrategy from \"./ui.scrollable.native\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar SCROLLVIEW_PULLDOWN_REFRESHING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nvar SCROLLVIEW_PULLDOWN_READY_CLASS = \"dx-scrollview-pull-down-ready\";\r\nvar SCROLLVIEW_PULLDOWN_IMAGE_CLASS = \"dx-scrollview-pull-down-image\";\r\nvar SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nvar SCROLLVIEW_PULLDOWN_TEXT_CLASS = \"dx-scrollview-pull-down-text\";\r\nvar SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = \"dx-scrollview-pull-down-text-visible\";\r\nvar STATE_RELEASED = 0;\r\nvar STATE_READY = 1;\r\nvar STATE_REFRESHING = 2;\r\nvar STATE_LOADING = 3;\r\nvar PULLDOWN_RELEASE_TIME = 400;\r\nvar PullDownNativeScrollViewStrategy = NativeStrategy.inherit({\r\n _init: function(scrollView) {\r\n this.callBase(scrollView);\r\n this._$topPocket = scrollView._$topPocket;\r\n this._$pullDown = scrollView._$pullDown;\r\n this._$refreshingText = scrollView._$refreshingText;\r\n this._$scrollViewContent = $(scrollView.content());\r\n this._$container = $(scrollView.container());\r\n this._initCallbacks()\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n render: function() {\r\n this.callBase();\r\n this._renderPullDown();\r\n this._releaseState()\r\n },\r\n _renderPullDown: function() {\r\n var $image = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_IMAGE_CLASS);\r\n var $loadContainer = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"<div>\")).$element();\r\n var $text = this._$pullDownText = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_TEXT_CLASS);\r\n this._$pullingDownText = $(\"<div>\").text(this.option(\"pullingDownText\")).appendTo($text);\r\n this._$pulledDownText = $(\"<div>\").text(this.option(\"pulledDownText\")).appendTo($text);\r\n this._$refreshingText = $(\"<div>\").text(this.option(\"refreshingText\")).appendTo($text);\r\n this._$pullDown.empty().append($image).append($loadContainer.append($loadIndicator)).append($text)\r\n },\r\n _releaseState: function() {\r\n this._state = STATE_RELEASED;\r\n this._refreshPullDownText()\r\n },\r\n _refreshPullDownText: function() {\r\n var that = this;\r\n var pullDownTextItems = [{\r\n element: this._$pullingDownText,\r\n visibleState: STATE_RELEASED\r\n }, {\r\n element: this._$pulledDownText,\r\n visibleState: STATE_READY\r\n }, {\r\n element: this._$refreshingText,\r\n visibleState: STATE_REFRESHING\r\n }];\r\n each(pullDownTextItems, (function(_, item) {\r\n var action = that._state === item.visibleState ? \"addClass\" : \"removeClass\";\r\n item.element[action](SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS)\r\n }))\r\n },\r\n update: function() {\r\n this.callBase();\r\n this._setTopPocketOffset()\r\n },\r\n _updateDimensions: function() {\r\n this.callBase();\r\n this._topPocketSize = this._$topPocket.get(0).clientHeight;\r\n var contentEl = this._$scrollViewContent.get(0);\r\n var containerEl = this._$container.get(0);\r\n this._bottomBoundary = Math.max(contentEl.clientHeight - containerEl.clientHeight, 0)\r\n },\r\n _allowedDirections: function() {\r\n var allowedDirections = this.callBase();\r\n allowedDirections.vertical = allowedDirections.vertical || this._pullDownEnabled;\r\n return allowedDirections\r\n },\r\n _setTopPocketOffset: function() {\r\n this._$topPocket.css({\r\n top: -this._topPocketSize\r\n })\r\n },\r\n handleEnd: function() {\r\n this.callBase();\r\n this._complete()\r\n },\r\n handleStop: function() {\r\n this.callBase();\r\n this._complete()\r\n },\r\n _complete: function() {\r\n if (this._state === STATE_READY) {\r\n this._setPullDownOffset(this._topPocketSize);\r\n clearTimeout(this._pullDownRefreshTimeout);\r\n this._pullDownRefreshTimeout = setTimeout(function() {\r\n this._pullDownRefreshing()\r\n }.bind(this), 400)\r\n }\r\n },\r\n _setPullDownOffset: function(offset) {\r\n move(this._$topPocket, {\r\n top: offset\r\n });\r\n move(this._$scrollViewContent, {\r\n top: offset\r\n })\r\n },\r\n handleScroll: function(e) {\r\n this.callBase(e);\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n var currentLocation = this.location().top;\r\n var scrollDelta = (this._location || 0) - currentLocation;\r\n this._location = currentLocation;\r\n if (this._isPullDown()) {\r\n this._pullDownReady()\r\n } else if (scrollDelta > 0 && this._isReachBottom()) {\r\n this._reachBottom()\r\n } else {\r\n this._stateReleased()\r\n }\r\n },\r\n _isPullDown: function() {\r\n return this._pullDownEnabled && this._location >= this._topPocketSize\r\n },\r\n _isReachBottom: function() {\r\n return this._reachBottomEnabled && Math.round(this._bottomBoundary + Math.floor(this._location)) <= 1\r\n },\r\n _reachBottom: function() {\r\n if (this._state === STATE_LOADING) {\r\n return\r\n }\r\n this._state = STATE_LOADING;\r\n this.reachBottomCallbacks.fire()\r\n },\r\n _pullDownReady: function() {\r\n if (this._state === STATE_READY) {\r\n return\r\n }\r\n this._state = STATE_READY;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText()\r\n },\r\n _stateReleased: function() {\r\n if (this._state === STATE_RELEASED) {\r\n return\r\n }\r\n this._$pullDown.removeClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._releaseState()\r\n },\r\n _pullDownRefreshing: function() {\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n this._state = STATE_REFRESHING;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText();\r\n this.pullDownCallbacks.fire()\r\n },\r\n pullDownEnable: function(enabled) {\r\n if (enabled) {\r\n this._updateDimensions();\r\n this._setTopPocketOffset()\r\n }\r\n this._pullDownEnabled = enabled\r\n },\r\n reachBottomEnable: function(enabled) {\r\n this._reachBottomEnabled = enabled\r\n },\r\n pendingRelease: function() {\r\n this._state = STATE_READY\r\n },\r\n release: function() {\r\n var deferred = new Deferred;\r\n this._updateDimensions();\r\n clearTimeout(this._releaseTimeout);\r\n if (this._state === STATE_LOADING) {\r\n this._state = STATE_RELEASED\r\n }\r\n this._releaseTimeout = setTimeout(function() {\r\n this._setPullDownOffset(0);\r\n this._stateReleased();\r\n this.releaseCallbacks.fire();\r\n this._updateAction();\r\n deferred.resolve()\r\n }.bind(this), PULLDOWN_RELEASE_TIME);\r\n return deferred.promise()\r\n },\r\n dispose: function() {\r\n clearTimeout(this._pullDownRefreshTimeout);\r\n clearTimeout(this._releaseTimeout);\r\n this.callBase()\r\n }\r\n});\r\nexport default PullDownNativeScrollViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.native.swipe_down.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport {\r\n eventData\r\n} from \"../../events/utils/index\";\r\nimport NativeStrategy from \"./ui.scrollable.native\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nvar SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nvar SCROLLVIEW_PULLDOWN_REFRESHING_CLASS = \"dx-scrollview-pull-down-refreshing\";\r\nvar PULLDOWN_ICON_CLASS = \"dx-icon-pulldown\";\r\nvar STATE_RELEASED = 0;\r\nvar STATE_READY = 1;\r\nvar STATE_REFRESHING = 2;\r\nvar STATE_TOUCHED = 4;\r\nvar STATE_PULLED = 5;\r\nvar SwipeDownNativeScrollViewStrategy = NativeStrategy.inherit({\r\n _init: function(scrollView) {\r\n this.callBase(scrollView);\r\n this._$topPocket = scrollView._$topPocket;\r\n this._$pullDown = scrollView._$pullDown;\r\n this._$scrollViewContent = $(scrollView.content());\r\n this._$container = $(scrollView.container());\r\n this._initCallbacks();\r\n this._location = 0\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n render: function() {\r\n this.callBase();\r\n this._renderPullDown();\r\n this._releaseState()\r\n },\r\n _renderPullDown: function() {\r\n var $loadContainer = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"<div>\")).$element();\r\n this._$icon = $(\"<div>\").addClass(PULLDOWN_ICON_CLASS);\r\n this._$pullDown.empty().append(this._$icon).append($loadContainer.append($loadIndicator))\r\n },\r\n _releaseState: function() {\r\n this._state = STATE_RELEASED;\r\n this._releasePullDown();\r\n this._updateDimensions()\r\n },\r\n _releasePullDown: function() {\r\n this._$pullDown.css({\r\n opacity: 0\r\n })\r\n },\r\n _updateDimensions: function() {\r\n this.callBase();\r\n this._topPocketSize = this._$topPocket.get(0).clientHeight;\r\n var contentEl = this._$scrollViewContent.get(0);\r\n var containerEl = this._$container.get(0);\r\n this._bottomBoundary = Math.max(contentEl.clientHeight - containerEl.clientHeight, 0)\r\n },\r\n _allowedDirections: function() {\r\n var allowedDirections = this.callBase();\r\n allowedDirections.vertical = allowedDirections.vertical || this._pullDownEnabled;\r\n return allowedDirections\r\n },\r\n handleInit: function(e) {\r\n this.callBase(e);\r\n if (this._state === STATE_RELEASED && 0 === this._location) {\r\n this._startClientY = eventData(e.originalEvent).y;\r\n this._state = STATE_TOUCHED\r\n }\r\n },\r\n handleMove: function(e) {\r\n this.callBase(e);\r\n this._deltaY = eventData(e.originalEvent).y - this._startClientY;\r\n if (this._state === STATE_TOUCHED) {\r\n if (this._pullDownEnabled && this._deltaY > 0) {\r\n this._state = STATE_PULLED\r\n } else {\r\n this._complete()\r\n }\r\n }\r\n if (this._state === STATE_PULLED) {\r\n e.preventDefault();\r\n this._movePullDown()\r\n }\r\n },\r\n _movePullDown: function() {\r\n var pullDownHeight = this._getPullDownHeight();\r\n var top = Math.min(3 * pullDownHeight, this._deltaY + this._getPullDownStartPosition());\r\n var angle = 180 * top / pullDownHeight / 3;\r\n this._$pullDown.css({\r\n opacity: 1\r\n }).toggleClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS, top < pullDownHeight);\r\n move(this._$pullDown, {\r\n top: top\r\n });\r\n this._$icon.css({\r\n transform: \"rotate(\" + angle + \"deg)\"\r\n })\r\n },\r\n _isPullDown: function() {\r\n return this._pullDownEnabled && this._state === STATE_PULLED && this._deltaY >= this._getPullDownHeight() - this._getPullDownStartPosition()\r\n },\r\n _getPullDownHeight: function() {\r\n return Math.round(.05 * getOuterHeight(this._$element))\r\n },\r\n _getPullDownStartPosition: function() {\r\n return -Math.round(1.5 * getOuterHeight(this._$pullDown))\r\n },\r\n handleEnd: function() {\r\n if (this._isPullDown()) {\r\n this._pullDownRefreshing()\r\n }\r\n this._complete()\r\n },\r\n handleStop: function() {\r\n this._complete()\r\n },\r\n _complete: function() {\r\n if (this._state === STATE_TOUCHED || this._state === STATE_PULLED) {\r\n this._releaseState()\r\n }\r\n },\r\n handleScroll: function(e) {\r\n this.callBase(e);\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n var currentLocation = this.location().top;\r\n var scrollDelta = this._location - currentLocation;\r\n this._location = currentLocation;\r\n if (scrollDelta > 0 && this._isReachBottom()) {\r\n this._reachBottom()\r\n } else {\r\n this._stateReleased()\r\n }\r\n },\r\n _isReachBottom: function() {\r\n return this._reachBottomEnabled && Math.round(this._bottomBoundary + Math.floor(this._location)) <= 1\r\n },\r\n _reachBottom: function() {\r\n this.reachBottomCallbacks.fire()\r\n },\r\n _stateReleased: function() {\r\n if (this._state === STATE_RELEASED) {\r\n return\r\n }\r\n this._$pullDown.removeClass(SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS);\r\n this._releaseState()\r\n },\r\n _pullDownRefreshing: function() {\r\n this._state = STATE_REFRESHING;\r\n this._pullDownRefreshHandler()\r\n },\r\n _pullDownRefreshHandler: function() {\r\n this._refreshPullDown();\r\n this.pullDownCallbacks.fire()\r\n },\r\n _refreshPullDown: function() {\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS);\r\n move(this._$pullDown, {\r\n top: this._getPullDownHeight()\r\n })\r\n },\r\n pullDownEnable: function(enabled) {\r\n this._$topPocket.toggle(enabled);\r\n this._pullDownEnabled = enabled\r\n },\r\n reachBottomEnable: function(enabled) {\r\n this._reachBottomEnabled = enabled\r\n },\r\n pendingRelease: function() {\r\n this._state = STATE_READY\r\n },\r\n release: function() {\r\n var deferred = new Deferred;\r\n this._updateDimensions();\r\n clearTimeout(this._releaseTimeout);\r\n this._releaseTimeout = setTimeout(function() {\r\n this._stateReleased();\r\n this.releaseCallbacks.fire();\r\n this._updateAction();\r\n deferred.resolve()\r\n }.bind(this), 800);\r\n return deferred.promise()\r\n },\r\n dispose: function() {\r\n clearTimeout(this._pullDownRefreshTimeout);\r\n clearTimeout(this._releaseTimeout);\r\n this.callBase()\r\n }\r\n});\r\nexport default SwipeDownNativeScrollViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.simulated.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n executeAsync\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar math = Math;\r\nimport {\r\n Scroller,\r\n SimulatedStrategy\r\n} from \"./ui.scrollable.simulated\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nvar SCROLLVIEW_PULLDOWN_REFRESHING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nvar SCROLLVIEW_PULLDOWN_READY_CLASS = \"dx-scrollview-pull-down-ready\";\r\nvar SCROLLVIEW_PULLDOWN_IMAGE_CLASS = \"dx-scrollview-pull-down-image\";\r\nvar SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nvar SCROLLVIEW_PULLDOWN_TEXT_CLASS = \"dx-scrollview-pull-down-text\";\r\nvar SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = \"dx-scrollview-pull-down-text-visible\";\r\nvar STATE_RELEASED = 0;\r\nvar STATE_READY = 1;\r\nvar STATE_REFRESHING = 2;\r\nvar STATE_LOADING = 3;\r\nvar ScrollViewScroller = Scroller.inherit({\r\n ctor: function() {\r\n this._topPocketSize = 0;\r\n this._bottomPocketSize = 0;\r\n this.callBase.apply(this, arguments);\r\n this._initCallbacks();\r\n this._releaseState()\r\n },\r\n _releaseState: function() {\r\n this._state = STATE_RELEASED;\r\n this._refreshPullDownText()\r\n },\r\n _refreshPullDownText: function() {\r\n var that = this;\r\n var pullDownTextItems = [{\r\n element: this._$pullingDownText,\r\n visibleState: STATE_RELEASED\r\n }, {\r\n element: this._$pulledDownText,\r\n visibleState: STATE_READY\r\n }, {\r\n element: this._$refreshingText,\r\n visibleState: STATE_REFRESHING\r\n }];\r\n each(pullDownTextItems, (function(_, item) {\r\n var action = that._state === item.visibleState ? \"addClass\" : \"removeClass\";\r\n item.element[action](SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS)\r\n }))\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n _updateBounds: function() {\r\n var considerPockets = \"horizontal\" !== this._direction;\r\n if (considerPockets) {\r\n this._topPocketSize = this._$topPocket.get(0).clientHeight;\r\n this._bottomPocketSize = this._$bottomPocket.get(0).clientHeight;\r\n var containerEl = this._$container.get(0);\r\n var contentEl = this._$content.get(0);\r\n this._bottomBoundary = Math.max(contentEl.clientHeight - this._bottomPocketSize - containerEl.clientHeight, 0)\r\n }\r\n this.callBase()\r\n },\r\n _updateScrollbar: function() {\r\n this._scrollbar.option({\r\n containerSize: this._containerSize(),\r\n contentSize: this._contentSize() - this._topPocketSize - this._bottomPocketSize,\r\n scaleRatio: this._getScaleRatio()\r\n })\r\n },\r\n _moveContent: function() {\r\n this.callBase();\r\n if (this._isPullDown()) {\r\n this._pullDownReady()\r\n } else if (this._isReachBottom()) {\r\n this._reachBottomReady()\r\n } else if (this._state !== STATE_RELEASED) {\r\n this._stateReleased()\r\n }\r\n },\r\n _moveScrollbar: function() {\r\n this._scrollbar.moveTo(this._topPocketSize + this._location)\r\n },\r\n _isPullDown: function() {\r\n return this._pullDownEnabled && this._location >= 0\r\n },\r\n _isReachBottom: function() {\r\n var containerEl = this._$container.get(0);\r\n return this._reachBottomEnabled && Math.round(this._bottomBoundary - Math.ceil(containerEl.scrollTop)) <= 1\r\n },\r\n _scrollComplete: function() {\r\n if (this._inBounds() && this._state === STATE_READY) {\r\n this._pullDownRefreshing()\r\n } else if (this._inBounds() && this._state === STATE_LOADING) {\r\n this._reachBottomLoading()\r\n } else {\r\n this.callBase()\r\n }\r\n },\r\n _reachBottomReady: function() {\r\n if (this._state === STATE_LOADING) {\r\n return\r\n }\r\n this._state = STATE_LOADING;\r\n this._minOffset = this._getMinOffset()\r\n },\r\n _getMaxOffset: function() {\r\n return -this._topPocketSize\r\n },\r\n _getMinOffset: function() {\r\n return math.min(this.callBase(), -this._topPocketSize)\r\n },\r\n _reachBottomLoading: function() {\r\n this.reachBottomCallbacks.fire()\r\n },\r\n _pullDownReady: function() {\r\n if (this._state === STATE_READY) {\r\n return\r\n }\r\n this._state = STATE_READY;\r\n this._maxOffset = 0;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText()\r\n },\r\n _stateReleased: function() {\r\n if (this._state === STATE_RELEASED) {\r\n return\r\n }\r\n this._releaseState();\r\n this._updateBounds();\r\n this._$pullDown.removeClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this.releaseCallbacks.fire()\r\n },\r\n _pullDownRefreshing: function() {\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n this._state = STATE_REFRESHING;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText();\r\n this.pullDownCallbacks.fire()\r\n },\r\n _releaseHandler: function() {\r\n if (this._state === STATE_RELEASED) {\r\n this._moveToBounds()\r\n }\r\n this._update();\r\n if (this._releaseTask) {\r\n this._releaseTask.abort()\r\n }\r\n this._releaseTask = executeAsync(this._release.bind(this));\r\n return this._releaseTask.promise\r\n },\r\n _release: function() {\r\n this._stateReleased();\r\n this._scrollComplete()\r\n },\r\n _reachBottomEnablingHandler: function(enabled) {\r\n if (this._reachBottomEnabled === enabled) {\r\n return\r\n }\r\n this._reachBottomEnabled = enabled;\r\n this._updateBounds()\r\n },\r\n _pullDownEnablingHandler: function(enabled) {\r\n if (this._pullDownEnabled === enabled) {\r\n return\r\n }\r\n this._pullDownEnabled = enabled;\r\n this._considerTopPocketChange();\r\n this._updateHandler()\r\n },\r\n _considerTopPocketChange: function() {\r\n this._location -= getHeight(this._$topPocket) || -this._topPocketSize;\r\n this._maxOffset = 0;\r\n this._move()\r\n },\r\n _pendingReleaseHandler: function() {\r\n this._state = STATE_READY\r\n },\r\n dispose: function() {\r\n if (this._releaseTask) {\r\n this._releaseTask.abort()\r\n }\r\n this.callBase()\r\n }\r\n});\r\nvar SimulatedScrollViewStrategy = SimulatedStrategy.inherit({\r\n _init: function(scrollView) {\r\n this.callBase(scrollView);\r\n this._$pullDown = scrollView._$pullDown;\r\n this._$topPocket = scrollView._$topPocket;\r\n this._$bottomPocket = scrollView._$bottomPocket;\r\n this._initCallbacks()\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n render: function() {\r\n this._renderPullDown();\r\n this.callBase()\r\n },\r\n _renderPullDown: function() {\r\n var $image = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_IMAGE_CLASS);\r\n var $loadContainer = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"<div>\")).$element();\r\n var $text = this._$pullDownText = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_TEXT_CLASS);\r\n this._$pullingDownText = $(\"<div>\").text(this.option(\"pullingDownText\")).appendTo($text);\r\n this._$pulledDownText = $(\"<div>\").text(this.option(\"pulledDownText\")).appendTo($text);\r\n this._$refreshingText = $(\"<div>\").text(this.option(\"refreshingText\")).appendTo($text);\r\n this._$pullDown.empty().append($image).append($loadContainer.append($loadIndicator)).append($text)\r\n },\r\n pullDownEnable: function(enabled) {\r\n this._eventHandler(\"pullDownEnabling\", enabled)\r\n },\r\n reachBottomEnable: function(enabled) {\r\n this._eventHandler(\"reachBottomEnabling\", enabled)\r\n },\r\n _createScroller: function(direction) {\r\n var that = this;\r\n var scroller = that._scrollers[direction] = new ScrollViewScroller(that._scrollerOptions(direction));\r\n scroller.pullDownCallbacks.add((function() {\r\n that.pullDownCallbacks.fire()\r\n }));\r\n scroller.releaseCallbacks.add((function() {\r\n that.releaseCallbacks.fire()\r\n }));\r\n scroller.reachBottomCallbacks.add((function() {\r\n that.reachBottomCallbacks.fire()\r\n }))\r\n },\r\n _scrollerOptions: function(direction) {\r\n return extend(this.callBase(direction), {\r\n $topPocket: this._$topPocket,\r\n $bottomPocket: this._$bottomPocket,\r\n $pullDown: this._$pullDown,\r\n $pullDownText: this._$pullDownText,\r\n $pullingDownText: this._$pullingDownText,\r\n $pulledDownText: this._$pulledDownText,\r\n $refreshingText: this._$refreshingText\r\n })\r\n },\r\n pendingRelease: function() {\r\n this._eventHandler(\"pendingRelease\")\r\n },\r\n release: function() {\r\n return this._eventHandler(\"release\").done(this._updateAction)\r\n },\r\n location: function() {\r\n var location = this.callBase();\r\n location.top += getHeight(this._$topPocket);\r\n return location\r\n },\r\n dispose: function() {\r\n each(this._scrollers, (function() {\r\n this.dispose()\r\n }));\r\n this.callBase()\r\n }\r\n});\r\nexport default SimulatedScrollViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport PullDownStrategy from \"./ui.scroll_view.native.pull_down\";\r\nimport SwipeDownStrategy from \"./ui.scroll_view.native.swipe_down\";\r\nimport SimulatedStrategy from \"./ui.scroll_view.simulated\";\r\nimport Scrollable from \"./ui.scrollable\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n isMaterial\r\n} from \"./../themes\";\r\nimport LoadPanel from \"../load_panel\";\r\nvar SCROLLVIEW_CLASS = \"dx-scrollview\";\r\nvar SCROLLVIEW_CONTENT_CLASS = SCROLLVIEW_CLASS + \"-content\";\r\nvar SCROLLVIEW_TOP_POCKET_CLASS = SCROLLVIEW_CLASS + \"-top-pocket\";\r\nvar SCROLLVIEW_BOTTOM_POCKET_CLASS = SCROLLVIEW_CLASS + \"-bottom-pocket\";\r\nvar SCROLLVIEW_PULLDOWN_CLASS = SCROLLVIEW_CLASS + \"-pull-down\";\r\nvar SCROLLVIEW_REACHBOTTOM_CLASS = SCROLLVIEW_CLASS + \"-scrollbottom\";\r\nvar SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS = SCROLLVIEW_REACHBOTTOM_CLASS + \"-indicator\";\r\nvar SCROLLVIEW_REACHBOTTOM_TEXT_CLASS = SCROLLVIEW_REACHBOTTOM_CLASS + \"-text\";\r\nvar SCROLLVIEW_LOADPANEL = SCROLLVIEW_CLASS + \"-loadpanel\";\r\nvar refreshStrategies = {\r\n pullDown: PullDownStrategy,\r\n swipeDown: SwipeDownStrategy,\r\n simulated: SimulatedStrategy\r\n};\r\nvar isServerSide = !hasWindow();\r\nvar scrollViewServerConfig = {\r\n finishLoading: noop,\r\n release: noop,\r\n refresh: noop,\r\n scrollOffset: () => ({\r\n top: 0,\r\n left: 0\r\n }),\r\n _optionChanged: function(args) {\r\n if (\"onUpdated\" !== args.name) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n};\r\nvar ScrollView = Scrollable.inherit(isServerSide ? scrollViewServerConfig : {\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n pullingDownText: messageLocalization.format(\"dxScrollView-pullingDownText\"),\r\n pulledDownText: messageLocalization.format(\"dxScrollView-pulledDownText\"),\r\n refreshingText: messageLocalization.format(\"dxScrollView-refreshingText\"),\r\n reachBottomText: messageLocalization.format(\"dxScrollView-reachBottomText\"),\r\n onPullDown: null,\r\n onReachBottom: null,\r\n refreshStrategy: \"pullDown\"\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n var realDevice = devices.real();\r\n return \"android\" === realDevice.platform\r\n },\r\n options: {\r\n refreshStrategy: \"swipeDown\"\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n pullingDownText: \"\",\r\n pulledDownText: \"\",\r\n refreshingText: \"\",\r\n reachBottomText: \"\"\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._loadingIndicatorEnabled = true\r\n },\r\n _initScrollableMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(SCROLLVIEW_CLASS);\r\n this._initContent();\r\n this._initTopPocket();\r\n this._initBottomPocket();\r\n this._initLoadPanel()\r\n },\r\n _initContent: function() {\r\n var $content = $(\"<div>\").addClass(SCROLLVIEW_CONTENT_CLASS);\r\n this._$content.wrapInner($content)\r\n },\r\n _initTopPocket: function() {\r\n var $topPocket = this._$topPocket = $(\"<div>\").addClass(SCROLLVIEW_TOP_POCKET_CLASS);\r\n var $pullDown = this._$pullDown = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_CLASS);\r\n $topPocket.append($pullDown);\r\n this._$content.prepend($topPocket)\r\n },\r\n _initBottomPocket: function() {\r\n var $bottomPocket = this._$bottomPocket = $(\"<div>\").addClass(SCROLLVIEW_BOTTOM_POCKET_CLASS);\r\n var $reachBottom = this._$reachBottom = $(\"<div>\").addClass(SCROLLVIEW_REACHBOTTOM_CLASS);\r\n var $loadContainer = $(\"<div>\").addClass(SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"<div>\")).$element();\r\n var $text = this._$reachBottomText = $(\"<div>\").addClass(SCROLLVIEW_REACHBOTTOM_TEXT_CLASS);\r\n this._updateReachBottomText();\r\n $reachBottom.append($loadContainer.append($loadIndicator)).append($text);\r\n $bottomPocket.append($reachBottom);\r\n this._$content.append($bottomPocket)\r\n },\r\n _initLoadPanel: function() {\r\n var $loadPanelElement = $(\"<div>\").addClass(SCROLLVIEW_LOADPANEL).appendTo(this.$element());\r\n var loadPanelOptions = {\r\n shading: false,\r\n delay: 400,\r\n message: this.option(\"refreshingText\"),\r\n position: {\r\n of: this.$element()\r\n }\r\n };\r\n this._loadPanel = this._createComponent($loadPanelElement, LoadPanel, loadPanelOptions)\r\n },\r\n _updateReachBottomText: function() {\r\n this._$reachBottomText.text(this.option(\"reachBottomText\"))\r\n },\r\n _createStrategy: function() {\r\n var strategyName = this.option(\"useNative\") ? this.option(\"refreshStrategy\") : \"simulated\";\r\n var strategyClass = refreshStrategies[strategyName];\r\n this._strategy = new strategyClass(this);\r\n this._strategy.pullDownCallbacks.add(this._pullDownHandler.bind(this));\r\n this._strategy.releaseCallbacks.add(this._releaseHandler.bind(this));\r\n this._strategy.reachBottomCallbacks.add(this._reachBottomHandler.bind(this))\r\n },\r\n _createActions: function() {\r\n this.callBase();\r\n this._pullDownAction = this._createActionByOption(\"onPullDown\");\r\n this._reachBottomAction = this._createActionByOption(\"onReachBottom\");\r\n this._tryRefreshPocketState()\r\n },\r\n _tryRefreshPocketState: function() {\r\n this._pullDownEnable(this.hasActionSubscription(\"onPullDown\"));\r\n this._reachBottomEnable(this.hasActionSubscription(\"onReachBottom\"))\r\n },\r\n on: function(eventName) {\r\n var result = this.callBase.apply(this, arguments);\r\n if (\"pullDown\" === eventName || \"reachBottom\" === eventName) {\r\n this._tryRefreshPocketState()\r\n }\r\n return result\r\n },\r\n _pullDownEnable: function(enabled) {\r\n if (0 === arguments.length) {\r\n return this._pullDownEnabled\r\n }\r\n if (this._$pullDown && this._strategy) {\r\n this._$pullDown.toggle(enabled);\r\n this._strategy.pullDownEnable(enabled);\r\n this._pullDownEnabled = enabled\r\n }\r\n },\r\n _reachBottomEnable: function(enabled) {\r\n if (0 === arguments.length) {\r\n return this._reachBottomEnabled\r\n }\r\n if (this._$reachBottom && this._strategy) {\r\n this._$reachBottom.toggle(enabled);\r\n this._strategy.reachBottomEnable(enabled);\r\n this._reachBottomEnabled = enabled\r\n }\r\n },\r\n _pullDownHandler: function() {\r\n this._loadingIndicator(false);\r\n this._pullDownLoading()\r\n },\r\n _loadingIndicator: function(value) {\r\n if (arguments.length < 1) {\r\n return this._loadingIndicatorEnabled\r\n }\r\n this._loadingIndicatorEnabled = value\r\n },\r\n _pullDownLoading: function() {\r\n this.startLoading();\r\n this._pullDownAction()\r\n },\r\n _reachBottomHandler: function() {\r\n this._loadingIndicator(false);\r\n this._reachBottomLoading()\r\n },\r\n _reachBottomLoading: function() {\r\n this.startLoading();\r\n this._reachBottomAction()\r\n },\r\n _releaseHandler: function() {\r\n this.finishLoading();\r\n this._loadingIndicator(true)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onPullDown\":\r\n case \"onReachBottom\":\r\n this._createActions();\r\n break;\r\n case \"pullingDownText\":\r\n case \"pulledDownText\":\r\n case \"refreshingText\":\r\n case \"refreshStrategy\":\r\n this._invalidate();\r\n break;\r\n case \"reachBottomText\":\r\n this._updateReachBottomText();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n content: function() {\r\n return getPublicElement(this._$content.children().eq(1))\r\n },\r\n release: function(preventReachBottom) {\r\n if (void 0 !== preventReachBottom) {\r\n this.toggleLoading(!preventReachBottom)\r\n }\r\n return this._strategy.release()\r\n },\r\n toggleLoading: function(showOrHide) {\r\n this._reachBottomEnable(showOrHide)\r\n },\r\n refresh: function() {\r\n if (!this.hasActionSubscription(\"onPullDown\")) {\r\n return\r\n }\r\n this._strategy.pendingRelease();\r\n this._pullDownLoading()\r\n },\r\n startLoading: function() {\r\n if (this._loadingIndicator() && this.$element().is(\":visible\")) {\r\n this._loadPanel.show()\r\n }\r\n this._lock()\r\n },\r\n finishLoading: function() {\r\n this._loadPanel.hide();\r\n this._unlock()\r\n },\r\n _dispose: function() {\r\n this._strategy.dispose();\r\n this.callBase();\r\n if (this._loadPanel) {\r\n this._loadPanel.$element().remove()\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxScrollView\", ScrollView);\r\nexport default ScrollView;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ScrollView from \"./scroll_view/ui.scroll_view\";\r\nexport default ScrollView;\r\n","// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n radioGroup: InstanceType<typeof VRadioGroup>\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: {\n type: Boolean,\n default: null,\n },\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: {\n type: Boolean,\n default: null,\n },\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n if (this.isDisabled) return undefined\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled ?? (\n !!this.radioGroup &&\n this.radioGroup.isDisabled\n )\n },\n isReadonly (): boolean {\n return this.readonly ?? (\n !!this.radioGroup &&\n this.radioGroup.isReadonly\n )\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n rippleState (): string | undefined {\n return Selectable.options.computed.rippleState.call(this)\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n // Label shouldn't cause the input to focus\n click: prevent,\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n const { title, ...radioAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense,\n },\n }), this.computedIcon),\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...radioAttrs,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data: VNodeData = {\n staticClass: 'v-radio',\n class: this.classes,\n on: mergeListeners({\n click: this.onChange,\n }, this.listeners$),\n attrs: { title: this.attrs$.title },\n }\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n","/**\r\n * DevExtreme (esm/data_helper.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n DataSource\r\n} from \"./data/data_source/data_source\";\r\nimport {\r\n extend\r\n} from \"./core/utils/extend\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"./data/data_source/utils\";\r\nimport DataController from \"./ui/collection/data_controller\";\r\nvar DATA_SOURCE_OPTIONS_METHOD = \"_dataSourceOptions\";\r\nvar DATA_SOURCE_CHANGED_METHOD = \"_dataSourceChangedHandler\";\r\nvar DATA_SOURCE_LOAD_ERROR_METHOD = \"_dataSourceLoadErrorHandler\";\r\nvar DATA_SOURCE_LOADING_CHANGED_METHOD = \"_dataSourceLoadingChangedHandler\";\r\nvar DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD = \"_dataSourceFromUrlLoadMode\";\r\nvar SPECIFIC_DATA_SOURCE_OPTION = \"_getSpecificDataSourceOption\";\r\nvar NORMALIZE_DATA_SOURCE = \"_normalizeDataSource\";\r\nvar DataHelperMixin = {\r\n postCtor: function() {\r\n this.on(\"disposing\", function() {\r\n this._disposeDataSource()\r\n }.bind(this))\r\n },\r\n _refreshDataSource: function() {\r\n this._initDataSource();\r\n this._loadDataSource()\r\n },\r\n _initDataSource: function() {\r\n var dataSourceOptions = SPECIFIC_DATA_SOURCE_OPTION in this ? this[SPECIFIC_DATA_SOURCE_OPTION]() : this.option(\"dataSource\");\r\n var widgetDataSourceOptions;\r\n var dataSourceType;\r\n this._disposeDataSource();\r\n if (dataSourceOptions) {\r\n if (dataSourceOptions instanceof DataSource) {\r\n this._isSharedDataSource = true;\r\n this._dataSource = dataSourceOptions\r\n } else {\r\n widgetDataSourceOptions = DATA_SOURCE_OPTIONS_METHOD in this ? this[DATA_SOURCE_OPTIONS_METHOD]() : {};\r\n dataSourceType = this._dataSourceType ? this._dataSourceType() : DataSource;\r\n dataSourceOptions = normalizeDataSourceOptions(dataSourceOptions, {\r\n fromUrlLoadMode: DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD in this && this[DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD]()\r\n });\r\n this._dataSource = new dataSourceType(extend(true, {}, widgetDataSourceOptions, dataSourceOptions))\r\n }\r\n if (NORMALIZE_DATA_SOURCE in this) {\r\n this._dataSource = this[NORMALIZE_DATA_SOURCE](this._dataSource)\r\n }\r\n this._addDataSourceHandlers();\r\n this._initDataController()\r\n }\r\n },\r\n _initDataController: function() {\r\n var _this$option;\r\n var dataController = null === (_this$option = this.option) || void 0 === _this$option ? void 0 : _this$option.call(this, \"_dataController\");\r\n var dataSource = this._dataSource;\r\n if (dataController) {\r\n this._dataController = dataController\r\n } else {\r\n this._dataController = new DataController(dataSource)\r\n }\r\n },\r\n _addDataSourceHandlers: function() {\r\n if (DATA_SOURCE_CHANGED_METHOD in this) {\r\n this._addDataSourceChangeHandler()\r\n }\r\n if (DATA_SOURCE_LOAD_ERROR_METHOD in this) {\r\n this._addDataSourceLoadErrorHandler()\r\n }\r\n if (DATA_SOURCE_LOADING_CHANGED_METHOD in this) {\r\n this._addDataSourceLoadingChangedHandler()\r\n }\r\n this._addReadyWatcher()\r\n },\r\n _addReadyWatcher: function() {\r\n this._dataSource.on(\"loadingChanged\", function(isLoading) {\r\n this._ready && this._ready(!isLoading)\r\n }.bind(this))\r\n },\r\n _addDataSourceChangeHandler: function() {\r\n var dataSource = this._dataSource;\r\n this._proxiedDataSourceChangedHandler = function(e) {\r\n this[DATA_SOURCE_CHANGED_METHOD](dataSource.items(), e)\r\n }.bind(this);\r\n dataSource.on(\"changed\", this._proxiedDataSourceChangedHandler)\r\n },\r\n _addDataSourceLoadErrorHandler: function() {\r\n this._proxiedDataSourceLoadErrorHandler = this[DATA_SOURCE_LOAD_ERROR_METHOD].bind(this);\r\n this._dataSource.on(\"loadError\", this._proxiedDataSourceLoadErrorHandler)\r\n },\r\n _addDataSourceLoadingChangedHandler: function() {\r\n this._proxiedDataSourceLoadingChangedHandler = this[DATA_SOURCE_LOADING_CHANGED_METHOD].bind(this);\r\n this._dataSource.on(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n },\r\n _loadDataSource: function() {\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n if (dataSource.isLoaded()) {\r\n this._proxiedDataSourceChangedHandler && this._proxiedDataSourceChangedHandler()\r\n } else {\r\n dataSource.load()\r\n }\r\n }\r\n },\r\n _loadSingle: function(key, value) {\r\n key = \"this\" === key ? this._dataSource.key() || \"this\" : key;\r\n return this._dataSource.loadSingle(key, value)\r\n },\r\n _isLastPage: function() {\r\n return !this._dataSource || this._dataSource.isLastPage() || !this._dataSource._pageSize\r\n },\r\n _isDataSourceLoading: function() {\r\n return this._dataSource && this._dataSource.isLoading()\r\n },\r\n _disposeDataSource: function() {\r\n if (this._dataSource) {\r\n if (this._isSharedDataSource) {\r\n delete this._isSharedDataSource;\r\n this._proxiedDataSourceChangedHandler && this._dataSource.off(\"changed\", this._proxiedDataSourceChangedHandler);\r\n this._proxiedDataSourceLoadErrorHandler && this._dataSource.off(\"loadError\", this._proxiedDataSourceLoadErrorHandler);\r\n this._proxiedDataSourceLoadingChangedHandler && this._dataSource.off(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n } else {\r\n this._dataSource.dispose()\r\n }\r\n delete this._dataSource;\r\n delete this._proxiedDataSourceChangedHandler;\r\n delete this._proxiedDataSourceLoadErrorHandler;\r\n delete this._proxiedDataSourceLoadingChangedHandler\r\n }\r\n },\r\n getDataSource: function() {\r\n return this._dataSource || null\r\n }\r\n};\r\nexport default DataHelperMixin;\r\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh',\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z',\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [\n /^gen/i,\n /^c[ʼ\\']hwe/i,\n /^meu/i,\n /^ebr/i,\n /^mae/i,\n /^(mez|eve)/i,\n /^gou/i,\n /^eos/i,\n /^gwe/i,\n /^her/i,\n /^du/i,\n /^ker/i,\n ],\n monthsRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex =\n /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [\n /^sul/i,\n /^lun/i,\n /^meurzh/i,\n /^merc[ʼ\\']her/i,\n /^yaou/i,\n /^gwener/i,\n /^sadorn/i,\n ],\n shortWeekdaysParse = [\n /^Sul/i,\n /^Lun/i,\n /^Meu/i,\n /^Mer/i,\n /^Yao/i,\n /^Gwe/i,\n /^Sad/i,\n ],\n minWeekdaysParse = [\n /^Su/i,\n /^Lu/i,\n /^Me([^r]|$)/i,\n /^Mer/i,\n /^Ya/i,\n /^Gw/i,\n /^Sa/i,\n ];\n\n var br = moment.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n '_'\n ),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function (number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n isPM: function (token) {\n return token === 'g.m.';\n },\n meridiem: function (hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n },\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n '_'\n ),\n monthsShort:\n 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n '_'\n ),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mi;\n\n})));\n","var metric\n , imperial;\n\nmetric = {\n Pa: {\n name: {\n singular: 'pascal'\n , plural: 'pascals'\n }\n , to_anchor: 1/1000\n }\n, kPa: {\n name: {\n singular: 'kilopascal'\n , plural: 'kilopascals'\n }\n , to_anchor: 1\n }\n, MPa: {\n name: {\n singular: 'megapascal'\n , plural: 'megapascals'\n }\n , to_anchor: 1000\n }\n, hPa: {\n name: {\n singular: 'hectopascal'\n , plural: 'hectopascals'\n }\n , to_anchor: 1/10\n }\n, bar: {\n name: {\n singular: 'bar'\n , plural: 'bar'\n }\n , to_anchor: 100\n }\n, torr: {\n name: {\n singular: 'torr'\n , plural: 'torr'\n }\n , to_anchor: 101325/760000\n }\n};\n\nimperial = {\n psi: {\n name: {\n singular: 'pound per square inch'\n , plural: 'pounds per square inch'\n }\n , to_anchor: 1/1000\n }\n, ksi: {\n name: {\n singular: 'kilopound per square inch'\n , plural: 'kilopound per square inch'\n }\n , to_anchor: 1\n }\n};\n\nmodule.exports = {\n metric: metric\n, imperial: imperial\n, _anchors: {\n metric: {\n unit: 'kPa'\n , ratio: 0.00014503768078\n }\n , imperial: {\n unit: 'psi'\n , ratio: 1/0.00014503768078\n }\n }\n};\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mk = moment.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'една минута',\n mm: '%d минути',\n h: 'еден час',\n hh: '%d часа',\n d: 'еден ден',\n dd: '%d дена',\n M: 'еден месец',\n MM: '%d месеци',\n y: 'една година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return mk;\n\n})));\n","/**\r\n * DevExtreme (esm/exporter/jspdf/common/normalizeOptions.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isNumeric\r\n} from \"../../../core/utils/type\";\r\n\r\nfunction normalizeBoundaryValue(value) {\r\n var _value$top, _value$right, _value$bottom, _value$left;\r\n if (isNumeric(value)) {\r\n return {\r\n top: value,\r\n right: value,\r\n bottom: value,\r\n left: value\r\n }\r\n }\r\n return {\r\n top: null !== (_value$top = null === value || void 0 === value ? void 0 : value.top) && void 0 !== _value$top ? _value$top : 0,\r\n right: null !== (_value$right = null === value || void 0 === value ? void 0 : value.right) && void 0 !== _value$right ? _value$right : 0,\r\n bottom: null !== (_value$bottom = null === value || void 0 === value ? void 0 : value.bottom) && void 0 !== _value$bottom ? _value$bottom : 0,\r\n left: null !== (_value$left = null === value || void 0 === value ? void 0 : value.left) && void 0 !== _value$left ? _value$left : 0\r\n }\r\n}\r\n\r\nfunction normalizeRowsInfo(rowsInfo) {\r\n rowsInfo.forEach(row => {\r\n row.cells.forEach(_ref => {\r\n var {\r\n pdfCell: pdfCell\r\n } = _ref;\r\n pdfCell.padding = normalizeBoundaryValue(pdfCell.padding)\r\n })\r\n })\r\n}\r\nexport {\r\n normalizeRowsInfo,\r\n normalizeBoundaryValue\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/jspdf/common/pdf_utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nvar DOTS_TEXT = \"...\";\r\n\r\nfunction toPdfUnit(doc, value) {\r\n var coefficient = 1 / doc.internal.scaleFactor;\r\n return value * coefficient\r\n}\r\n\r\nfunction getPageWidth(doc) {\r\n return doc.internal.pageSize.getWidth()\r\n}\r\n\r\nfunction getPageHeight(doc) {\r\n return doc.internal.pageSize.getHeight()\r\n}\r\n\r\nfunction getTextLines(doc, text, font, _ref) {\r\n var {\r\n wordWrapEnabled: wordWrapEnabled,\r\n targetRectWidth: targetRectWidth\r\n } = _ref;\r\n if (wordWrapEnabled) {\r\n var usedFont = doc.getFont(null === font || void 0 === font ? void 0 : font.name, null === font || void 0 === font ? void 0 : font.style);\r\n return doc.splitTextToSize(text, targetRectWidth, {\r\n fontSize: (null === font || void 0 === font ? void 0 : font.size) || doc.getFontSize(),\r\n fontName: usedFont.fontName,\r\n fontStyle: usedFont.fontStyle\r\n })\r\n }\r\n var textWithoutLineBreak = text.split(\"\\n\").filter(ch => \"\" !== ch).join(\" \");\r\n if (getTextDimensions(doc, textWithoutLineBreak, font).w <= targetRectWidth) {\r\n return [textWithoutLineBreak]\r\n }\r\n var textWidth = getTextDimensions(doc, textWithoutLineBreak + DOTS_TEXT, font).w;\r\n while (textWithoutLineBreak.length > 0 && textWidth > targetRectWidth) {\r\n var symbolsCountToRemove = 0;\r\n if (textWidth >= 2 * targetRectWidth) {\r\n symbolsCountToRemove = textWithoutLineBreak.length / 2\r\n }\r\n if (symbolsCountToRemove < 1) {\r\n symbolsCountToRemove = 1\r\n }\r\n textWithoutLineBreak = textWithoutLineBreak.substring(0, textWithoutLineBreak.length - symbolsCountToRemove);\r\n textWidth = getTextDimensions(doc, textWithoutLineBreak + DOTS_TEXT, font).w\r\n }\r\n return [textWithoutLineBreak + DOTS_TEXT]\r\n}\r\n\r\nfunction calculateTargetRectWidth(columnWidth, padding) {\r\n var width = columnWidth - (padding.left + padding.right);\r\n return width >= 0 ? width : 0\r\n}\r\n\r\nfunction getTextDimensions(doc, text, font) {\r\n return doc.getTextDimensions(text, {\r\n font: doc.getFont(null === font || void 0 === font ? void 0 : font.name, null === font || void 0 === font ? void 0 : font.style),\r\n fontSize: (null === font || void 0 === font ? void 0 : font.size) || doc.getFontSize()\r\n })\r\n}\r\n\r\nfunction calculateTextHeight(doc, text, font, _ref2) {\r\n var {\r\n wordWrapEnabled: wordWrapEnabled,\r\n targetRectWidth: targetRectWidth\r\n } = _ref2;\r\n var heightOfOneLine = getTextDimensions(doc, text, font).h;\r\n var linesCount = getTextLines(doc, text, font, {\r\n wordWrapEnabled: wordWrapEnabled,\r\n targetRectWidth: targetRectWidth\r\n }).length;\r\n return heightOfOneLine * linesCount * doc.getLineHeightFactor()\r\n}\r\n\r\nfunction calculateRowHeight(doc, cells, columnWidths) {\r\n if (cells.length !== columnWidths.length) {\r\n throw \"the cells count must be equal to the count of the columns\"\r\n }\r\n var rowHeight = 0;\r\n for (var cellIndex = 0; cellIndex < cells.length; cellIndex++) {\r\n if (isDefined(cells[cellIndex].rowSpan)) {\r\n continue\r\n }\r\n var cellText = cells[cellIndex].pdfCell.text;\r\n var cellPadding = cells[cellIndex].pdfCell.padding;\r\n var font = cells[cellIndex].pdfCell.font;\r\n var wordWrapEnabled = cells[cellIndex].pdfCell.wordWrapEnabled;\r\n var columnWidth = columnWidths[cellIndex];\r\n var targetRectWidth = calculateTargetRectWidth(columnWidth, cellPadding);\r\n if (isDefined(cellText)) {\r\n var textHeight = \"\" !== cellText ? calculateTextHeight(doc, cellText, font, {\r\n wordWrapEnabled: wordWrapEnabled,\r\n targetRectWidth: targetRectWidth\r\n }) : 0;\r\n var cellHeight = textHeight + cellPadding.top + cellPadding.bottom;\r\n if (rowHeight < cellHeight) {\r\n rowHeight = cellHeight\r\n }\r\n }\r\n }\r\n return rowHeight\r\n}\r\n\r\nfunction applyWordWrap(doc, rowsInfo) {\r\n rowsInfo.forEach(row => {\r\n row.cells.forEach(_ref3 => {\r\n var {\r\n pdfCell: pdfCell\r\n } = _ref3;\r\n if (isDefined(pdfCell.text)) {\r\n var lines = getTextLines(doc, pdfCell.text, pdfCell.font, {\r\n wordWrapEnabled: pdfCell.wordWrapEnabled,\r\n targetRectWidth: calculateTargetRectWidth(pdfCell._rect.w, pdfCell.padding)\r\n });\r\n pdfCell.text = lines.join(\"\\n\")\r\n }\r\n })\r\n })\r\n}\r\n\r\nfunction applyRtl(doc, rectsByPages, options) {\r\n rectsByPages.forEach(pageRects => {\r\n pageRects.forEach(pdfCell => {\r\n var mirroredX = getPageWidth(doc) - (pdfCell._rect.x + pdfCell._rect.w);\r\n var marginDiff = options.margin.left - options.margin.right;\r\n pdfCell._rect.x = mirroredX + marginDiff\r\n })\r\n })\r\n}\r\nexport {\r\n calculateRowHeight,\r\n calculateTextHeight,\r\n calculateTargetRectWidth,\r\n getTextDimensions,\r\n getTextLines,\r\n getPageWidth,\r\n getPageHeight,\r\n applyWordWrap,\r\n toPdfUnit,\r\n applyRtl\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/jspdf/common/row_utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined,\r\n isNumeric\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n calculateRowHeight,\r\n getPageWidth,\r\n toPdfUnit\r\n} from \"./pdf_utils\";\r\nvar getSum = (a, b) => a + b;\r\n\r\nfunction calculateColumnWidths(doc, dataProvider, topLeftX, margin, customerColumnWidths) {\r\n var resultWidths = dataProvider.getColumnsWidths().map(width => toPdfUnit(doc, null !== width && void 0 !== width ? width : 150));\r\n var totalAutoColumnsWidth = resultWidths.filter((width, index) => !isDefined(customerColumnWidths[index])).reduce(getSum, 0);\r\n var totalCustomerColumnsWidth = customerColumnWidths.filter(width => isNumeric(width)).reduce(getSum, 0);\r\n var availablePageWidth = getAvailablePageAreaWidth(doc, topLeftX, margin);\r\n var ratio = totalCustomerColumnsWidth < availablePageWidth ? (availablePageWidth - totalCustomerColumnsWidth) / totalAutoColumnsWidth : 1;\r\n return resultWidths.map((width, index) => {\r\n var _customerColumnWidths;\r\n return null !== (_customerColumnWidths = customerColumnWidths[index]) && void 0 !== _customerColumnWidths ? _customerColumnWidths : width * ratio\r\n })\r\n}\r\n\r\nfunction getAvailablePageAreaWidth(doc, topLeftX, margin) {\r\n return getPageWidth(doc) - topLeftX - margin.left - margin.right\r\n}\r\n\r\nfunction initializeCellsWidth(doc, dataProvider, rows, options) {\r\n var columnWidths = calculateColumnWidths(doc, dataProvider, options.topLeft.x, options.margin, options.columnWidths);\r\n rows.forEach(row => {\r\n row.cells.forEach((_ref, index) => {\r\n var {\r\n gridCell: gridCell,\r\n pdfCell: pdfCell\r\n } = _ref;\r\n pdfCell._rect.w = columnWidths[index]\r\n })\r\n })\r\n}\r\n\r\nfunction calculateHeights(doc, rows, options) {\r\n rows.forEach(row => {\r\n var pdfCells = row.cells.map(c => c.pdfCell);\r\n var customerHeight;\r\n if (options.onRowExporting) {\r\n var args = {\r\n rowCells: pdfCells\r\n };\r\n options.onRowExporting(args);\r\n if (isDefined(args.rowHeight)) {\r\n customerHeight = args.rowHeight\r\n }\r\n }\r\n row.height = isDefined(customerHeight) ? customerHeight : calculateRowHeight(doc, row.cells, pdfCells.map(c => c._rect.w));\r\n pdfCells.forEach(cell => {\r\n cell._rect.h = row.height\r\n })\r\n })\r\n}\r\n\r\nfunction applyColSpans(rows) {\r\n for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) {\r\n var row = rows[rowIndex];\r\n for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {\r\n var cell = row.cells[cellIndex];\r\n if (isDefined(cell.colSpan) && !isDefined(cell.pdfCell.isMerged)) {\r\n for (var spanIndex = 1; spanIndex <= cell.colSpan; spanIndex++) {\r\n var mergedCell = rows[rowIndex].cells[cellIndex + spanIndex];\r\n cell.pdfCell._rect.w += mergedCell.pdfCell._rect.w;\r\n mergedCell.pdfCell._rect.w = 0;\r\n mergedCell.pdfCell.isMerged = true\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction applyRowSpans(rows) {\r\n for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) {\r\n var row = rows[rowIndex];\r\n for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {\r\n var cell = row.cells[cellIndex];\r\n if (isDefined(cell.rowSpan) && !isDefined(cell.pdfCell.isMerged)) {\r\n for (var spanIndex = 1; spanIndex <= cell.rowSpan; spanIndex++) {\r\n var mergedCell = rows[rowIndex + spanIndex].cells[cellIndex];\r\n cell.pdfCell._rect.h += mergedCell.pdfCell._rect.h;\r\n mergedCell.pdfCell._rect.h = 0;\r\n mergedCell.pdfCell.isMerged = true\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction resizeFirstColumnByIndentLevel(rows, options) {\r\n rows.forEach(row => {\r\n row.cells[0].pdfCell._rect.w -= row.indentLevel * options.indent\r\n })\r\n}\r\n\r\nfunction applyBordersConfig(rows) {\r\n for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) {\r\n var cells = rows[rowIndex].cells;\r\n for (var columnIndex = 0; columnIndex < cells.length; columnIndex++) {\r\n var pdfCell = cells[columnIndex].pdfCell;\r\n var leftPdfCell = columnIndex >= 1 ? cells[columnIndex - 1].pdfCell : null;\r\n var topPdfCell = rowIndex >= 1 ? rows[rowIndex - 1].cells[columnIndex].pdfCell : null;\r\n if (false === pdfCell.drawLeftBorder && !isDefined(cells[columnIndex].colSpan)) {\r\n if (isDefined(leftPdfCell)) {\r\n leftPdfCell.drawRightBorder = false\r\n }\r\n } else if (!isDefined(pdfCell.drawLeftBorder)) {\r\n if (isDefined(leftPdfCell) && false === leftPdfCell.drawRightBorder) {\r\n pdfCell.drawLeftBorder = false\r\n }\r\n }\r\n if (false === pdfCell.drawTopBorder) {\r\n if (isDefined(topPdfCell)) {\r\n topPdfCell.drawBottomBorder = false\r\n }\r\n } else if (!isDefined(pdfCell.drawTopBorder)) {\r\n if (isDefined(topPdfCell) && false === topPdfCell.drawBottomBorder) {\r\n pdfCell.drawTopBorder = false\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction calculateCoordinates(doc, rows, options) {\r\n var _topLeft$y;\r\n var topLeft = null === options || void 0 === options ? void 0 : options.topLeft;\r\n var margin = null === options || void 0 === options ? void 0 : options.margin;\r\n var y = (null !== (_topLeft$y = null === topLeft || void 0 === topLeft ? void 0 : topLeft.y) && void 0 !== _topLeft$y ? _topLeft$y : 0) + margin.top;\r\n rows.forEach(row => {\r\n var _topLeft$x;\r\n var x = (null !== (_topLeft$x = null === topLeft || void 0 === topLeft ? void 0 : topLeft.x) && void 0 !== _topLeft$x ? _topLeft$x : 0) + margin.left;\r\n var intend = row.indentLevel * options.indent;\r\n row.cells.forEach(cell => {\r\n cell.pdfCell._rect.x = x + intend;\r\n cell.pdfCell._rect.y = y;\r\n x += cell.pdfCell._rect.w\r\n });\r\n y += row.height\r\n })\r\n}\r\n\r\nfunction calculateTableSize(doc, cells, options) {\r\n var _ref2, _leftPos, _options$topLeft, _ref3, _topPos, _options$topLeft2;\r\n var leftPos;\r\n var topPos;\r\n var rightPos;\r\n var bottomPos;\r\n cells.forEach(cell => {\r\n if (!isDefined(leftPos) || leftPos > cell._rect.x) {\r\n leftPos = cell._rect.x\r\n }\r\n if (!isDefined(topPos) || topPos > cell._rect.y) {\r\n topPos = cell._rect.y\r\n }\r\n if (!isDefined(rightPos) || rightPos < cell._rect.x + cell._rect.w) {\r\n rightPos = cell._rect.x + cell._rect.w\r\n }\r\n if (!isDefined(bottomPos) || bottomPos < cell._rect.y + cell._rect.h) {\r\n bottomPos = cell._rect.y + cell._rect.h\r\n }\r\n });\r\n var x = null !== (_ref2 = null !== (_leftPos = leftPos) && void 0 !== _leftPos ? _leftPos : null === options || void 0 === options ? void 0 : null === (_options$topLeft = options.topLeft) || void 0 === _options$topLeft ? void 0 : _options$topLeft.x) && void 0 !== _ref2 ? _ref2 : 0;\r\n var y = null !== (_ref3 = null !== (_topPos = topPos) && void 0 !== _topPos ? _topPos : null === options || void 0 === options ? void 0 : null === (_options$topLeft2 = options.topLeft) || void 0 === _options$topLeft2 ? void 0 : _options$topLeft2.y) && void 0 !== _ref3 ? _ref3 : 0;\r\n var w = isDefined(rightPos) ? rightPos - x : 0;\r\n var h = isDefined(bottomPos) ? bottomPos - y : 0;\r\n return {\r\n x: x,\r\n y: y,\r\n w: w,\r\n h: h\r\n }\r\n}\r\nexport {\r\n initializeCellsWidth,\r\n applyColSpans,\r\n applyRowSpans,\r\n resizeFirstColumnByIndentLevel,\r\n applyBordersConfig,\r\n calculateHeights,\r\n calculateCoordinates,\r\n calculateTableSize\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/jspdf/common/height_updater.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n calculateTextHeight,\r\n calculateTargetRectWidth\r\n} from \"./pdf_utils\";\r\n\r\nfunction updateRowsAndCellsHeights(doc, rows) {\r\n var rowsAdditionalHeights = calculateAdditionalRowsHeights(doc, rows);\r\n rows.forEach(row => {\r\n row.height += rowsAdditionalHeights[row.rowIndex]\r\n });\r\n rows.forEach(row => {\r\n row.cells.forEach(cell => {\r\n var _cell$rowSpan;\r\n var rowsCount = (null !== (_cell$rowSpan = cell.rowSpan) && void 0 !== _cell$rowSpan ? _cell$rowSpan : 0) + 1;\r\n cell.pdfCell._rect.h = rows.slice(row.rowIndex, row.rowIndex + rowsCount).reduce((accumulator, rowInfo) => accumulator + rowInfo.height, 0)\r\n })\r\n })\r\n}\r\n\r\nfunction calculateAdditionalRowsHeights(doc, rows) {\r\n var rowsAdditionalHeights = Array.from({\r\n length: rows.length\r\n }, () => 0);\r\n var sortedRows = sortRowsByMaxRowSpanAsc(rows);\r\n sortedRows.forEach(row => {\r\n var cellsWithRowSpan = row.cells.filter(cell => isDefined(cell.rowSpan));\r\n cellsWithRowSpan.forEach(cell => {\r\n var targetRectWidth = calculateTargetRectWidth(cell.pdfCell._rect.w, cell.pdfCell.padding);\r\n var textHeight = calculateTextHeight(doc, cell.pdfCell.text, cell.pdfCell.font, {\r\n wordWrapEnabled: cell.pdfCell.wordWrapEnabled,\r\n targetRectWidth: targetRectWidth\r\n });\r\n var cellHeight = textHeight + cell.pdfCell.padding.top + cell.pdfCell.padding.bottom;\r\n var rowsCount = cell.rowSpan + 1;\r\n var currentRowSpanRowsHeight = rows.slice(row.rowIndex, row.rowIndex + rowsCount).reduce((accumulator, rowInfo) => accumulator + rowInfo.height + rowsAdditionalHeights[rowInfo.rowIndex], 0);\r\n if (cellHeight > currentRowSpanRowsHeight) {\r\n var delta = (cellHeight - currentRowSpanRowsHeight) / rowsCount;\r\n for (var spanIndex = row.rowIndex; spanIndex < row.rowIndex + rowsCount; spanIndex++) {\r\n rowsAdditionalHeights[spanIndex] += delta\r\n }\r\n }\r\n })\r\n });\r\n return rowsAdditionalHeights\r\n}\r\n\r\nfunction sortRowsByMaxRowSpanAsc(rows) {\r\n var getMaxRowSpan = row => {\r\n var spansArray = row.cells.map(cell => {\r\n var _cell$rowSpan2;\r\n return null !== (_cell$rowSpan2 = cell.rowSpan) && void 0 !== _cell$rowSpan2 ? _cell$rowSpan2 : 0\r\n });\r\n return Math.max(...spansArray)\r\n };\r\n return [...rows].sort((row1, row2) => {\r\n var row1RowSpan = getMaxRowSpan(row1);\r\n var row2RowSpan = getMaxRowSpan(row2);\r\n if (row1RowSpan > row2RowSpan) {\r\n return 1\r\n }\r\n if (row2RowSpan > row1RowSpan) {\r\n return -1\r\n }\r\n return 0\r\n })\r\n}\r\nexport {\r\n updateRowsAndCellsHeights\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/jspdf/common/rows_generator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isDate,\r\n isDefined,\r\n isNumeric\r\n} from \"../../../core/utils/type\";\r\nimport dateLocalization from \"../../../localization/date\";\r\nimport numberLocalization from \"../../../localization/number\";\r\nimport {\r\n toPdfUnit\r\n} from \"./pdf_utils\";\r\nvar defaultStyles = {\r\n base: {\r\n font: {\r\n size: 10\r\n },\r\n borderWidth: .5,\r\n borderColor: \"#979797\"\r\n },\r\n header: {\r\n textColor: \"#979797\"\r\n },\r\n group: {},\r\n data: {},\r\n groupFooter: {},\r\n totalFooter: {}\r\n};\r\n\r\nfunction generateRowsInfo(doc, dataProvider, dataGrid, headerBackgroundColor) {\r\n var result = [];\r\n var rowsCount = dataProvider.getRowsCount();\r\n var wordWrapEnabled = !!dataGrid.option(\"wordWrapEnabled\");\r\n var rtlEnabled = !!dataGrid.option(\"rtlEnabled\");\r\n var columns = dataProvider.getColumns();\r\n var styles = dataProvider.getStyles();\r\n for (var rowIndex = 0; rowIndex < rowsCount; rowIndex++) {\r\n var rowType = dataProvider.getCellData(rowIndex, 0, true).cellSourceData.rowType;\r\n var indentLevel = \"header\" !== rowType ? dataProvider.getGroupLevel(rowIndex) : 0;\r\n var previousRow = result[rowIndex - 1];\r\n if (\"groupFooter\" === rowType && \"groupFooter\" === (null === previousRow || void 0 === previousRow ? void 0 : previousRow.rowType)) {\r\n indentLevel = previousRow.indentLevel - 1\r\n }\r\n result.push({\r\n rowType: rowType,\r\n indentLevel: indentLevel,\r\n cells: generateRowCells({\r\n doc: doc,\r\n dataProvider: dataProvider,\r\n rowIndex: rowIndex,\r\n wordWrapEnabled: wordWrapEnabled,\r\n columns: columns,\r\n styles: styles,\r\n rowType: rowType,\r\n backgroundColor: \"header\" === rowType ? headerBackgroundColor : void 0,\r\n rtlEnabled: rtlEnabled\r\n }),\r\n rowIndex: rowIndex\r\n })\r\n }\r\n return result\r\n}\r\n\r\nfunction generateRowCells(_ref) {\r\n var {\r\n doc: doc,\r\n dataProvider: dataProvider,\r\n rowIndex: rowIndex,\r\n wordWrapEnabled: wordWrapEnabled,\r\n columns: columns,\r\n styles: styles,\r\n rowType: rowType,\r\n backgroundColor: backgroundColor,\r\n rtlEnabled: rtlEnabled\r\n } = _ref;\r\n var result = [];\r\n for (var cellIndex = 0; cellIndex < columns.length; cellIndex++) {\r\n var _style$alignment;\r\n var cellData = dataProvider.getCellData(rowIndex, cellIndex, true);\r\n var cellStyle = styles[dataProvider.getStyleId(rowIndex, cellIndex)];\r\n var style = getPdfCellStyle(columns[cellIndex], rowType, cellStyle);\r\n var defaultAlignment = rtlEnabled ? \"right\" : \"left\";\r\n var paddingValue = toPdfUnit(doc, 5);\r\n var pdfCell = {\r\n text: getFormattedValue(cellData.value, cellStyle.format),\r\n verticalAlign: \"middle\",\r\n horizontalAlign: null !== (_style$alignment = style.alignment) && void 0 !== _style$alignment ? _style$alignment : defaultAlignment,\r\n wordWrapEnabled: wordWrapEnabled,\r\n backgroundColor: backgroundColor,\r\n padding: {\r\n top: paddingValue,\r\n right: paddingValue,\r\n bottom: paddingValue,\r\n left: paddingValue\r\n },\r\n _rect: {},\r\n _internalTextOptions: {}\r\n };\r\n if (rtlEnabled) {\r\n pdfCell._internalTextOptions.isInputVisual = false;\r\n pdfCell._internalTextOptions.isOutputVisual = true;\r\n pdfCell._internalTextOptions.isInputRtl = true;\r\n pdfCell._internalTextOptions.isOutputRtl = false\r\n }\r\n var cellInfo = {\r\n gridCell: cellData.cellSourceData,\r\n pdfCell: _extends({}, pdfCell, style)\r\n };\r\n if (\"header\" === rowType) {\r\n var cellMerging = dataProvider.getCellMerging(rowIndex, cellIndex);\r\n if (cellMerging && cellMerging.rowspan > 0) {\r\n cellInfo.rowSpan = cellMerging.rowspan\r\n }\r\n if (cellMerging && cellMerging.colspan > 0) {\r\n cellInfo.colSpan = cellMerging.colspan\r\n }\r\n } else if (\"group\" === rowType) {\r\n var drawLeftBorderField = rtlEnabled ? \"drawRightBorder\" : \"drawLeftBorder\";\r\n var drawRightBorderField = rtlEnabled ? \"drawLeftBorder\" : \"drawRightBorder\";\r\n cellInfo.pdfCell[drawLeftBorderField] = 0 === cellIndex;\r\n cellInfo.pdfCell[drawRightBorderField] = cellIndex === columns.length - 1;\r\n if (cellIndex > 0) {\r\n var isEmptyCellsExceptFirst = result.slice(1).reduce((accumulate, cellInfo) => accumulate && !isDefined(cellInfo.pdfCell.text), true);\r\n if (!isDefined(cellInfo.pdfCell.text) && isEmptyCellsExceptFirst) {\r\n result[0].pdfCell[drawRightBorderField] = true;\r\n for (var i = 0; i < result.length; i++) {\r\n result[i].colSpan = result.length\r\n }\r\n cellInfo.colSpan = result.length\r\n }\r\n }\r\n }\r\n result.push(cellInfo)\r\n }\r\n return result\r\n}\r\n\r\nfunction getBaseTableStyle() {\r\n return defaultStyles.base\r\n}\r\n\r\nfunction getPdfCellStyle(column, rowType, cellStyle) {\r\n var styles = _extends({}, defaultStyles.base, defaultStyles[rowType]);\r\n var alignment = \"header\" === rowType ? column.alignment : cellStyle.alignment;\r\n if (alignment) {\r\n styles.alignment = alignment\r\n }\r\n if (cellStyle.bold && \"header\" !== rowType) {\r\n styles.font = _extends({}, styles.font, {\r\n style: \"bold\"\r\n })\r\n }\r\n return styles\r\n}\r\n\r\nfunction getFormattedValue(value, format) {\r\n if (isDefined(format)) {\r\n if (isDate(value)) {\r\n return dateLocalization.format(value, format)\r\n }\r\n if (isNumeric(value)) {\r\n return numberLocalization.format(value, format)\r\n }\r\n }\r\n return null === value || void 0 === value ? void 0 : value.toString()\r\n}\r\nexport {\r\n generateRowsInfo,\r\n getBaseTableStyle\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/jspdf/common/draw_utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"_rect\", \"gridCell\"];\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n calculateTextHeight,\r\n toPdfUnit\r\n} from \"./pdf_utils\";\r\n\r\nfunction capitalizeFirstLetter(string) {\r\n return string.charAt(0).toUpperCase() + string.slice(1)\r\n}\r\n\r\nfunction roundToThreeDecimals(value) {\r\n return Math.round(1e3 * value) / 1e3\r\n}\r\n\r\nfunction drawCellsContent(doc, customDrawCell, cellsArray, docStyles) {\r\n cellsArray.forEach(cell => {\r\n var {\r\n _rect: _rect,\r\n gridCell: gridCell\r\n } = cell, pdfCell = _objectWithoutPropertiesLoose(cell, _excluded);\r\n var {\r\n x: x,\r\n y: y,\r\n w: w,\r\n h: h\r\n } = _rect;\r\n var rect = {\r\n x: x,\r\n y: y,\r\n w: w,\r\n h: h\r\n };\r\n var eventArg = {\r\n doc: doc,\r\n rect: rect,\r\n pdfCell: pdfCell,\r\n gridCell: gridCell,\r\n cancel: false\r\n };\r\n null === customDrawCell || void 0 === customDrawCell ? void 0 : customDrawCell(eventArg);\r\n if (!eventArg.cancel) {\r\n drawCellBackground(doc, cell);\r\n drawCellText(doc, cell, docStyles)\r\n }\r\n })\r\n}\r\n\r\nfunction drawLine(doc, startX, startY, endX, endY) {\r\n doc.line(roundToThreeDecimals(startX), roundToThreeDecimals(startY), roundToThreeDecimals(endX), roundToThreeDecimals(endY))\r\n}\r\n\r\nfunction drawRect(doc, x, y, width, height, style) {\r\n if (isDefined(style)) {\r\n doc.rect(roundToThreeDecimals(x), roundToThreeDecimals(y), roundToThreeDecimals(width), roundToThreeDecimals(height), style)\r\n } else {\r\n doc.rect(roundToThreeDecimals(x), roundToThreeDecimals(y), roundToThreeDecimals(width), roundToThreeDecimals(height))\r\n }\r\n}\r\n\r\nfunction getLineHeightShift(doc) {\r\n return (doc.getLineHeightFactor() - 1.15) * doc.getFontSize()\r\n}\r\n\r\nfunction drawTextInRect(doc, text, rect, verticalAlign, horizontalAlign, jsPDFTextOptions) {\r\n var textArray = text.split(\"\\n\");\r\n var linesCount = textArray.length;\r\n var heightOfOneLine = calculateTextHeight(doc, textArray[0], doc.getFont(), {\r\n wordWrapEnabled: false,\r\n targetRectWidth: 1e9\r\n });\r\n var vAlign = null !== verticalAlign && void 0 !== verticalAlign ? verticalAlign : \"middle\";\r\n var hAlign = null !== horizontalAlign && void 0 !== horizontalAlign ? horizontalAlign : \"left\";\r\n var verticalAlignCoefficientsMap = {\r\n top: 0,\r\n middle: .5,\r\n bottom: 1\r\n };\r\n var y = rect.y + rect.h * verticalAlignCoefficientsMap[vAlign] - heightOfOneLine * (linesCount - 1) * verticalAlignCoefficientsMap[vAlign] + getLineHeightShift(doc);\r\n var x = rect.x + rect.w * {\r\n left: 0,\r\n center: .5,\r\n right: 1\r\n } [hAlign];\r\n var textOptions = extend({\r\n baseline: vAlign,\r\n align: hAlign\r\n }, jsPDFTextOptions);\r\n doc.text(textArray.join(\"\\n\"), roundToThreeDecimals(x), roundToThreeDecimals(y), textOptions)\r\n}\r\n\r\nfunction drawCellBackground(doc, cell) {\r\n if (isDefined(cell.backgroundColor)) {\r\n trySetColor(doc, \"fill\", cell.backgroundColor);\r\n drawRect(doc, cell._rect.x, cell._rect.y, cell._rect.w, cell._rect.h, \"F\")\r\n }\r\n}\r\n\r\nfunction drawCellText(doc, cell, docStyles) {\r\n if (isDefined(cell.text) && \"\" !== cell.text) {\r\n var {\r\n textColor: textColor,\r\n font: font,\r\n _rect: _rect,\r\n padding: padding\r\n } = cell;\r\n setTextStyles(doc, {\r\n textColor: textColor,\r\n font: font\r\n }, docStyles);\r\n var textRect = {\r\n x: _rect.x + padding.left,\r\n y: _rect.y + padding.top,\r\n w: _rect.w - (padding.left + padding.right),\r\n h: _rect.h - (padding.top + padding.bottom)\r\n };\r\n if (isDefined(cell._textLeftOffset) || isDefined(cell._textTopOffset)) {\r\n var _cell$_textLeftOffset, _cell$_textTopOffset;\r\n textRect.x = textRect.x + (null !== (_cell$_textLeftOffset = cell._textLeftOffset) && void 0 !== _cell$_textLeftOffset ? _cell$_textLeftOffset : 0);\r\n textRect.y = textRect.y + (null !== (_cell$_textTopOffset = cell._textTopOffset) && void 0 !== _cell$_textTopOffset ? _cell$_textTopOffset : 0);\r\n doc.saveGraphicsState();\r\n clipOutsideRectContent(doc, cell._rect.x, cell._rect.y, cell._rect.w, cell._rect.h)\r\n }\r\n drawTextInRect(doc, cell.text, textRect, cell.verticalAlign, cell.horizontalAlign, cell._internalTextOptions);\r\n if (isDefined(cell._textLeftOffset) || isDefined(cell._textTopOffset)) {\r\n doc.restoreGraphicsState()\r\n }\r\n }\r\n}\r\n\r\nfunction drawCellsLines(doc, cellsArray, docStyles) {\r\n cellsArray.filter(cell => !isDefined(cell.borderColor)).forEach(cell => {\r\n drawBorders(doc, cell._rect, cell, docStyles)\r\n });\r\n cellsArray.filter(cell => isDefined(cell.borderColor)).forEach(cell => {\r\n drawBorders(doc, cell._rect, cell, docStyles)\r\n })\r\n}\r\n\r\nfunction drawGridLines(doc, rect, options, docStyles) {\r\n drawBorders(doc, rect, options, docStyles)\r\n}\r\n\r\nfunction drawBorders(doc, rect, _ref, docStyles) {\r\n var {\r\n borderWidth: borderWidth,\r\n borderColor: borderColor,\r\n drawLeftBorder: drawLeftBorder = true,\r\n drawRightBorder: drawRightBorder = true,\r\n drawTopBorder: drawTopBorder = true,\r\n drawBottomBorder: drawBottomBorder = true\r\n } = _ref;\r\n if (!isDefined(rect)) {\r\n throw \"rect is required\"\r\n }\r\n if (!drawLeftBorder && !drawRightBorder && !drawTopBorder && !drawBottomBorder) {\r\n return\r\n } else if (drawLeftBorder && drawRightBorder && drawTopBorder && drawBottomBorder) {\r\n setLinesStyles(doc, {\r\n borderWidth: borderWidth,\r\n borderColor: borderColor\r\n }, docStyles);\r\n drawRect(doc, rect.x, rect.y, rect.w, rect.h)\r\n } else {\r\n setLinesStyles(doc, {\r\n borderWidth: borderWidth,\r\n borderColor: borderColor\r\n }, docStyles);\r\n if (drawTopBorder) {\r\n drawLine(doc, rect.x, rect.y, rect.x + rect.w, rect.y)\r\n }\r\n if (drawLeftBorder) {\r\n drawLine(doc, rect.x, rect.y, rect.x, rect.y + rect.h)\r\n }\r\n if (drawRightBorder) {\r\n drawLine(doc, rect.x + rect.w, rect.y, rect.x + rect.w, rect.y + rect.h)\r\n }\r\n if (drawBottomBorder) {\r\n drawLine(doc, rect.x, rect.y + rect.h, rect.x + rect.w, rect.y + rect.h)\r\n }\r\n }\r\n}\r\n\r\nfunction setTextStyles(doc, _ref2, docStyles) {\r\n var {\r\n textColor: textColor,\r\n font: font\r\n } = _ref2;\r\n trySetColor(doc, \"text\", isDefined(textColor) ? textColor : docStyles.textColor);\r\n var currentFont = isDefined(font) ? extend({}, docStyles.font, font) : docStyles.font;\r\n var docFont = doc.getFont();\r\n if (currentFont.name !== docFont.fontName || currentFont.style !== docFont.fontStyle || isDefined(currentFont.weight)) {\r\n doc.setFont(currentFont.name, currentFont.style, currentFont.weight)\r\n }\r\n if (currentFont.size !== doc.getFontSize()) {\r\n doc.setFontSize(currentFont.size)\r\n }\r\n}\r\n\r\nfunction setLinesStyles(doc, _ref3, docStyles) {\r\n var {\r\n borderWidth: borderWidth,\r\n borderColor: borderColor\r\n } = _ref3;\r\n var currentBorderWidth = isDefined(borderWidth) ? borderWidth : docStyles.borderWidth;\r\n if (currentBorderWidth !== getDocBorderWidth(doc)) {\r\n setDocBorderWidth(doc, toPdfUnit(doc, currentBorderWidth))\r\n }\r\n trySetColor(doc, \"draw\", isDefined(borderColor) ? borderColor : docStyles.borderColor)\r\n}\r\n\r\nfunction trySetColor(doc, target, color) {\r\n var getterName = \"get\".concat(capitalizeFirstLetter(target), \"Color\");\r\n var setterName = \"set\".concat(capitalizeFirstLetter(target), \"Color\");\r\n var {\r\n ch1: ch1 = color,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4\r\n } = color;\r\n var normalizedColor = doc.__private__.decodeColorString(doc.__private__.encodeColorString({\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n precision: \"text\" === target ? 3 : 2\r\n }));\r\n if (normalizedColor !== doc[getterName]() || \"fill\" === target) {\r\n doc[setterName].apply(doc, [ch1, ch2, ch3, ch4].filter(item => void 0 !== item))\r\n }\r\n}\r\n\r\nfunction getDocumentStyles(doc) {\r\n var docFont = doc.getFont();\r\n return {\r\n borderWidth: getDocBorderWidth(doc),\r\n borderColor: doc.getDrawColor(),\r\n font: {\r\n name: docFont.fontName,\r\n style: docFont.fontStyle,\r\n size: doc.getFontSize()\r\n },\r\n textColor: doc.getTextColor()\r\n }\r\n}\r\n\r\nfunction setDocumentStyles(doc, styles) {\r\n var {\r\n borderWidth: borderWidth,\r\n borderColor: borderColor,\r\n font: font,\r\n textColor: textColor\r\n } = styles;\r\n var docFont = doc.getFont();\r\n if (docFont.fontName !== font.name || docFont.fontStyle !== font.style) {\r\n doc.setFont(font.name, font.style, void 0)\r\n }\r\n var docFontSize = doc.getFontSize();\r\n if (docFontSize !== font.size) {\r\n doc.setFontSize(font.size)\r\n }\r\n if (getDocBorderWidth(doc) !== borderWidth) {\r\n setDocBorderWidth(doc, borderWidth)\r\n }\r\n if (doc.getDrawColor() !== borderColor) {\r\n doc.setDrawColor(borderColor)\r\n }\r\n if (doc.getTextColor() !== textColor) {\r\n doc.setTextColor(textColor)\r\n }\r\n}\r\n\r\nfunction addNewPage(doc) {\r\n doc.addPage();\r\n resetDocBorderWidth(doc)\r\n}\r\n\r\nfunction getDocBorderWidth(doc) {\r\n var _doc$__borderWidth;\r\n if (isDefined(doc.getLineWidth)) {\r\n return doc.getLineWidth()\r\n }\r\n return null !== (_doc$__borderWidth = doc.__borderWidth) && void 0 !== _doc$__borderWidth ? _doc$__borderWidth : .200025\r\n}\r\n\r\nfunction setDocBorderWidth(doc, width) {\r\n doc.setLineWidth(width);\r\n if (!isDefined(doc.getLineWidth)) {\r\n doc.__borderWidth = width\r\n }\r\n}\r\n\r\nfunction resetDocBorderWidth(doc) {\r\n if (!isDefined(doc.getLineWidth)) {\r\n doc.__borderWidth = null\r\n }\r\n}\r\n\r\nfunction clipOutsideRectContent(doc, x, y, w, h) {\r\n doc.moveTo(roundToThreeDecimals(x), roundToThreeDecimals(y));\r\n doc.lineTo(roundToThreeDecimals(x + w), roundToThreeDecimals(y));\r\n doc.lineTo(roundToThreeDecimals(x + w), roundToThreeDecimals(y + h));\r\n doc.lineTo(roundToThreeDecimals(x), roundToThreeDecimals(y + h));\r\n doc.clip();\r\n doc.discardPath()\r\n}\r\nexport {\r\n drawCellsContent,\r\n drawCellsLines,\r\n drawGridLines,\r\n getDocumentStyles,\r\n setDocumentStyles,\r\n drawTextInRect,\r\n drawRect,\r\n drawLine,\r\n roundToThreeDecimals,\r\n addNewPage\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/jspdf/common/rows_spliting_utils/get_multipage_row_pages.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar isHeader = rect => \"header\" === (null === rect || void 0 === rect ? void 0 : rect.sourceCellInfo.gridCell.rowType);\r\nvar spitMultiPageRows = (rectsToPatch, isCurrentPageContainsOnlyHeader, firstRectYAdjustment, splitMultiPageRowFunc, checkIsFitToPageFunc) => {\r\n var [newPageRects, remainPageRects] = splitMultiPageRowFunc(isCurrentPageContainsOnlyHeader, rectsToPatch);\r\n var newPageRectsArray = [isCurrentPageContainsOnlyHeader ? newPageRects.map(rect => _extends({}, rect, {\r\n y: firstRectYAdjustment\r\n })) : newPageRects];\r\n while (!checkIsFitToPageFunc(false, remainPageRects[0].h)) {\r\n [newPageRects, remainPageRects] = splitMultiPageRowFunc(false, remainPageRects);\r\n newPageRectsArray.push(newPageRects)\r\n }\r\n return [newPageRectsArray, remainPageRects]\r\n};\r\nvar patchRects = (rectsToSplit, rectsToPatch, remainPageRects) => {\r\n rectsToPatch.forEach((rect, rectIndex) => {\r\n rect.sourceCellInfo.text = remainPageRects[rectIndex].sourceCellInfo.text;\r\n rect.h = remainPageRects[rectIndex].h\r\n });\r\n var untouchedRowIdx = rectsToSplit.indexOf(rectsToPatch[rectsToPatch.length - 1]) + 1;\r\n if (untouchedRowIdx >= rectsToSplit.length) {\r\n return\r\n }\r\n var delta = rectsToSplit[untouchedRowIdx].y - (rectsToPatch[0].y + remainPageRects[0].h);\r\n for (var idx = untouchedRowIdx; idx < rectsToSplit.length; idx++) {\r\n rectsToSplit[idx].y = rectsToSplit[idx].y - delta\r\n }\r\n};\r\nexport var checkPageContainsOnlyHeader = (pageRects, isFirstPage) => isFirstPage && isHeader(pageRects[pageRects.length - 1]);\r\nexport var getMultiPageRowPages = (currentPageRects, rectsToSplit, isCurrentPageContainsOnlyHeader, splitMultiPageRowFunc, checkIsFitToPageFunc) => {\r\n if (!splitMultiPageRowFunc) {\r\n return []\r\n }\r\n var currentPageLastRect = currentPageRects[currentPageRects.length - 1];\r\n var nextPageFirstRect = rectsToSplit[currentPageRects.length];\r\n if (!nextPageFirstRect || isHeader(nextPageFirstRect)) {\r\n return []\r\n }\r\n var isRectsFitsToPage = checkIsFitToPageFunc(isCurrentPageContainsOnlyHeader, nextPageFirstRect.h);\r\n if (isRectsFitsToPage && !isCurrentPageContainsOnlyHeader) {\r\n return []\r\n }\r\n var rectsToPatch = rectsToSplit.filter(_ref => {\r\n var {\r\n y: y\r\n } = _ref;\r\n return y === nextPageFirstRect.y\r\n });\r\n var firstRectYAdjustment = currentPageLastRect.y + currentPageLastRect.h;\r\n var [multiPageRowPages, remainPageRects] = spitMultiPageRows(rectsToPatch, isCurrentPageContainsOnlyHeader, firstRectYAdjustment, splitMultiPageRowFunc, checkIsFitToPageFunc);\r\n patchRects(rectsToSplit, rectsToPatch, remainPageRects);\r\n return multiPageRowPages\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/jspdf/common/rows_spliting_utils/create_on_split_multipage_row.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getTextLines,\r\n getTextDimensions,\r\n calculateTextHeight\r\n} from \"../pdf_utils\";\r\n\r\nfunction createMultiCellRect(rect, text, marginTop) {\r\n return _extends({}, rect, {\r\n sourceCellInfo: _extends({}, rect.sourceCellInfo, {\r\n text: text\r\n }),\r\n y: marginTop\r\n })\r\n}\r\nexport var createOnSplitMultiPageRow = (doc, options, headerHeight, maxBottomRight) => (isFirstPage, pageRects) => {\r\n var currentPageRects = [];\r\n var nextPageRects = [];\r\n var maxCurrentPageHeight = 0;\r\n var maxNextPageHeight = 0;\r\n pageRects.forEach(rect => {\r\n var {\r\n w: w,\r\n sourceCellInfo: sourceCellInfo\r\n } = rect;\r\n var additionalHeight = !isFirstPage && options.repeatHeaders ? headerHeight : headerHeight + options.topLeft.y;\r\n var heightOfOneLine = getTextDimensions(doc, sourceCellInfo.text, sourceCellInfo.font).h;\r\n var paddingHeight = sourceCellInfo.padding.top + sourceCellInfo.padding.bottom;\r\n var fullPageHeight = maxBottomRight.y - additionalHeight - paddingHeight - options.margin.top;\r\n var possibleLinesCount = Math.floor(fullPageHeight / (heightOfOneLine * doc.getLineHeightFactor()));\r\n var allLines = getTextLines(doc, sourceCellInfo.text, sourceCellInfo.font, {\r\n wordWrapEnabled: sourceCellInfo.wordWrapEnabled,\r\n targetRectWidth: w\r\n });\r\n if (possibleLinesCount < allLines.length) {\r\n var currentPageText = allLines.slice(0, possibleLinesCount).join(\"\\n\");\r\n var currentPageHeight = calculateTextHeight(doc, currentPageText, sourceCellInfo.font, {\r\n wordWrapEnabled: sourceCellInfo.wordWrapEnabled,\r\n targetRectWidth: w\r\n });\r\n maxCurrentPageHeight = Math.max(maxCurrentPageHeight, currentPageHeight + paddingHeight);\r\n maxNextPageHeight = rect.h - currentPageHeight;\r\n currentPageRects.push(createMultiCellRect(rect, currentPageText, options.margin.top));\r\n nextPageRects.push(createMultiCellRect(rect, allLines.slice(possibleLinesCount).join(\"\\n\"), options.margin.top))\r\n } else {\r\n var _currentPageHeight = calculateTextHeight(doc, sourceCellInfo.text, sourceCellInfo.font, {\r\n wordWrapEnabled: sourceCellInfo.wordWrapEnabled,\r\n targetRectWidth: w\r\n });\r\n maxCurrentPageHeight = Math.max(maxCurrentPageHeight, _currentPageHeight + paddingHeight);\r\n maxNextPageHeight = Math.max(maxNextPageHeight, _currentPageHeight + paddingHeight);\r\n currentPageRects.push(createMultiCellRect(rect, sourceCellInfo.text, options.margin.top));\r\n nextPageRects.push(createMultiCellRect(rect, \"\", options.margin.top))\r\n }\r\n });\r\n currentPageRects.forEach(rect => rect.h = maxCurrentPageHeight);\r\n nextPageRects.forEach(rect => rect.h = maxNextPageHeight);\r\n return [currentPageRects, nextPageRects]\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/jspdf/common/rows_splitting.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n getPageWidth,\r\n getPageHeight\r\n} from \"./pdf_utils\";\r\nimport {\r\n roundToThreeDecimals\r\n} from \"./draw_utils\";\r\nimport {\r\n getMultiPageRowPages,\r\n checkPageContainsOnlyHeader\r\n} from \"./rows_spliting_utils/get_multipage_row_pages\";\r\nimport {\r\n createOnSplitMultiPageRow\r\n} from \"./rows_spliting_utils/create_on_split_multipage_row\";\r\nvar COORDINATE_EPSILON = .001;\r\n\r\nfunction convertToCellsArray(rows) {\r\n return [].concat.apply([], rows.map(rowInfo => rowInfo.cells.filter(cell => !isDefined(cell.pdfCell.isMerged)).map(cellInfo => _extends({}, cellInfo.pdfCell._rect, {\r\n sourceCellInfo: _extends({}, cellInfo.pdfCell, {\r\n gridCell: cellInfo.gridCell\r\n })\r\n }))))\r\n}\r\n\r\nfunction splitByPages(doc, rowsInfo, options, onSeparateRectHorizontally, onSeparateRectVertically) {\r\n if (0 === rowsInfo.length) {\r\n return [\r\n []\r\n ]\r\n }\r\n var maxBottomRight = {\r\n x: getPageWidth(doc) - options.margin.right,\r\n y: getPageHeight(doc) - options.margin.bottom\r\n };\r\n var headerRows = rowsInfo.filter(r => \"header\" === r.rowType);\r\n var headerHeight = headerRows.reduce((accumulator, row) => accumulator + row.height, 0);\r\n var verticallyPages = splitRectsByPages(convertToCellsArray(rowsInfo), options.margin.top, \"y\", \"h\", (isFirstPage, currentCoordinate) => {\r\n var additionalHeight = !isFirstPage && options.repeatHeaders ? headerHeight : 0;\r\n return roundToThreeDecimals(currentCoordinate + additionalHeight) <= roundToThreeDecimals(maxBottomRight.y)\r\n }, (rect, currentPageMaxRectCoordinate, currentPageRects, rectsToSplit) => {\r\n var args = {\r\n sourceRect: rect,\r\n topRect: {\r\n x: rect.x,\r\n y: rect.y,\r\n w: rect.w,\r\n h: currentPageMaxRectCoordinate - rect.y\r\n },\r\n bottomRect: {\r\n x: rect.x,\r\n y: currentPageMaxRectCoordinate,\r\n w: rect.w,\r\n h: rect.h - (currentPageMaxRectCoordinate - rect.y)\r\n }\r\n };\r\n onSeparateRectVertically(args);\r\n currentPageRects.push(args.topRect);\r\n rectsToSplit.push(args.bottomRect)\r\n }, createOnSplitMultiPageRow(doc, options, headerHeight, maxBottomRight));\r\n if (options.repeatHeaders) {\r\n for (var i = 1; i < verticallyPages.length; i++) {\r\n verticallyPages[i].forEach(rect => rect.y += headerHeight);\r\n var headerCells = convertToCellsArray(headerRows);\r\n headerCells.forEach(cell => {\r\n cell.y -= options.topLeft.y\r\n });\r\n verticallyPages[i] = [...headerCells, ...verticallyPages[i]]\r\n }\r\n }\r\n var pageIndex = 0;\r\n while (pageIndex < verticallyPages.length) {\r\n var horizontallyPages = splitRectsByPages(verticallyPages[pageIndex], options.margin.left, \"x\", \"w\", (pagesLength, currentCoordinate) => roundToThreeDecimals(currentCoordinate) <= roundToThreeDecimals(maxBottomRight.x), (rect, currentPageMaxRectCoordinate, currentPageRects, rectsToSplit) => {\r\n var args = {\r\n sourceRect: rect,\r\n leftRect: {\r\n x: rect.x,\r\n y: rect.y,\r\n w: currentPageMaxRectCoordinate - rect.x,\r\n h: rect.h\r\n },\r\n rightRect: {\r\n x: currentPageMaxRectCoordinate,\r\n y: rect.y,\r\n w: rect.w - (currentPageMaxRectCoordinate - rect.x),\r\n h: rect.h\r\n }\r\n };\r\n onSeparateRectHorizontally(args);\r\n currentPageRects.push(args.leftRect);\r\n rectsToSplit.push(args.rightRect)\r\n });\r\n if (horizontallyPages.length > 1) {\r\n verticallyPages.splice(pageIndex, 1, ...horizontallyPages);\r\n pageIndex += horizontallyPages.length\r\n } else {\r\n pageIndex += 1\r\n }\r\n }\r\n return verticallyPages.map(rects => rects.map(rect => _extends({}, rect.sourceCellInfo, {\r\n _rect: rect\r\n })))\r\n}\r\n\r\nfunction splitRectsByPages(rects, marginValue, coordinate, dimension, isFitToPage, onSeparateCallback, onSplitMultiPageRow) {\r\n var pages = [];\r\n var rectsToSplit = [...rects];\r\n var isFitToPageForMultiPageRow = (isFirstPage, rectHeight) => isFitToPage(isFirstPage, rectHeight + marginValue);\r\n var _loop = function() {\r\n var currentPageMaxRectCoordinate = 0;\r\n var currentPageRects = rectsToSplit.filter(rect => {\r\n var currentRectCoordinate = rect[coordinate] + rect[dimension];\r\n if (isFitToPage(0 === pages.length, currentRectCoordinate)) {\r\n if (currentPageMaxRectCoordinate <= currentRectCoordinate) {\r\n currentPageMaxRectCoordinate = currentRectCoordinate\r\n }\r\n return true\r\n } else {\r\n return false\r\n }\r\n });\r\n var isCurrentPageContainsOnlyHeader = checkPageContainsOnlyHeader(currentPageRects, 0 === pages.length);\r\n var multiPageRowPages = getMultiPageRowPages(currentPageRects, rectsToSplit, isCurrentPageContainsOnlyHeader, onSplitMultiPageRow, isFitToPageForMultiPageRow);\r\n var rectsToSeparate = rectsToSplit.filter(rect => {\r\n var currentRectLeft = rect[coordinate];\r\n var currentRectRight = rect[coordinate] + rect[dimension];\r\n return currentPageMaxRectCoordinate - currentRectLeft > COORDINATE_EPSILON && currentRectRight - currentPageMaxRectCoordinate > COORDINATE_EPSILON\r\n });\r\n rectsToSeparate.forEach(rect => {\r\n onSeparateCallback(rect, currentPageMaxRectCoordinate, currentPageRects, rectsToSplit);\r\n var index = rectsToSplit.indexOf(rect);\r\n if (-1 !== index) {\r\n rectsToSplit.splice(index, 1)\r\n }\r\n });\r\n currentPageRects.forEach(rect => {\r\n var index = rectsToSplit.indexOf(rect);\r\n if (-1 !== index) {\r\n rectsToSplit.splice(index, 1)\r\n }\r\n });\r\n rectsToSplit.forEach(rect => {\r\n rect[coordinate] = isDefined(currentPageMaxRectCoordinate) ? rect[coordinate] - currentPageMaxRectCoordinate + marginValue : rect[coordinate]\r\n });\r\n var firstPageContainsHeaderAndMultiPageRow = isCurrentPageContainsOnlyHeader && multiPageRowPages.length > 0;\r\n if (firstPageContainsHeaderAndMultiPageRow) {\r\n var [firstPage, ...restOfPages] = multiPageRowPages;\r\n pages.push([...currentPageRects, ...firstPage]);\r\n pages.push(...restOfPages)\r\n } else if (currentPageRects.length > 0) {\r\n pages.push(currentPageRects);\r\n pages.push(...multiPageRowPages)\r\n } else if (multiPageRowPages.length > 0) {\r\n pages.push(...multiPageRowPages);\r\n pages.push(rectsToSplit)\r\n } else {\r\n pages.push(rectsToSplit);\r\n return \"break\"\r\n }\r\n };\r\n while (rectsToSplit.length > 0) {\r\n var _ret = _loop();\r\n if (\"break\" === _ret) {\r\n break\r\n }\r\n }\r\n return pages\r\n}\r\nexport {\r\n splitByPages\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/jspdf/common/export.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n normalizeRowsInfo,\r\n normalizeBoundaryValue\r\n} from \"./normalizeOptions\";\r\nimport {\r\n initializeCellsWidth,\r\n applyColSpans,\r\n applyRowSpans,\r\n applyBordersConfig,\r\n calculateHeights,\r\n calculateCoordinates,\r\n calculateTableSize,\r\n resizeFirstColumnByIndentLevel\r\n} from \"./row_utils\";\r\nimport {\r\n updateRowsAndCellsHeights\r\n} from \"./height_updater\";\r\nimport {\r\n generateRowsInfo,\r\n getBaseTableStyle\r\n} from \"./rows_generator\";\r\nimport {\r\n splitByPages\r\n} from \"./rows_splitting\";\r\nimport {\r\n drawCellsContent,\r\n drawCellsLines,\r\n drawGridLines,\r\n getDocumentStyles,\r\n setDocumentStyles,\r\n addNewPage\r\n} from \"./draw_utils\";\r\nimport {\r\n applyRtl,\r\n applyWordWrap,\r\n toPdfUnit\r\n} from \"./pdf_utils\";\r\nimport messageLocalization from \"../../../localization/message\";\r\nimport {\r\n ExportLoadPanel\r\n} from \"../../common/export_load_panel\";\r\nimport {\r\n hasWindow\r\n} from \"../../../core/utils/window\";\r\n\r\nfunction _getFullOptions(options) {\r\n var {\r\n jsPDFDocument: jsPDFDocument\r\n } = options;\r\n var fullOptions = extend({}, options);\r\n if (!isDefined(fullOptions.topLeft)) {\r\n fullOptions.topLeft = {\r\n x: 0,\r\n y: 0\r\n }\r\n }\r\n if (!isDefined(fullOptions.indent)) {\r\n fullOptions.indent = 0\r\n }\r\n if (!isDefined(fullOptions.repeatHeaders)) {\r\n fullOptions.repeatHeaders = true\r\n }\r\n if (!isDefined(fullOptions.margin)) {\r\n fullOptions.margin = toPdfUnit(jsPDFDocument, 40)\r\n }\r\n fullOptions.margin = normalizeBoundaryValue(fullOptions.margin);\r\n if (!Array.isArray(fullOptions.columnWidths)) {\r\n fullOptions.columnWidths = []\r\n }\r\n if (!isDefined(fullOptions.loadPanel)) {\r\n fullOptions.loadPanel = {}\r\n }\r\n if (!isDefined(fullOptions.loadPanel.enabled)) {\r\n fullOptions.loadPanel.enabled = true\r\n }\r\n if (!isDefined(fullOptions.loadPanel.text)) {\r\n fullOptions.loadPanel.text = messageLocalization.format(\"dxDataGrid-exporting\")\r\n }\r\n return fullOptions\r\n}\r\n\r\nfunction exportDataGrid(options) {\r\n var _component$_getIntern;\r\n var {\r\n jsPDFDocument: jsPDFDocument,\r\n component: component,\r\n selectedRowsOnly: selectedRowsOnly,\r\n loadPanel: loadPanel\r\n } = options;\r\n var internalComponent = (null === (_component$_getIntern = component._getInternalInstance) || void 0 === _component$_getIntern ? void 0 : _component$_getIntern.call(component)) || component;\r\n var initialLoadPanelEnabledOption = internalComponent.option(\"loadPanel\") && internalComponent.option(\"loadPanel\").enabled;\r\n if (initialLoadPanelEnabledOption) {\r\n component.option(\"loadPanel.enabled\", false)\r\n }\r\n var exportLoadPanel;\r\n if (loadPanel.enabled && hasWindow()) {\r\n var rowsView = component.getView(\"rowsView\");\r\n exportLoadPanel = new ExportLoadPanel(component, rowsView.element(), rowsView.element().parent(), loadPanel);\r\n exportLoadPanel.show()\r\n }\r\n var dataProvider = component.getDataProvider(selectedRowsOnly);\r\n return new Promise(resolve => {\r\n dataProvider.ready().done(() => {\r\n var _options$rowOptions, _options$rowOptions$h;\r\n var rowsInfo = generateRowsInfo(jsPDFDocument, dataProvider, component, null === (_options$rowOptions = options.rowOptions) || void 0 === _options$rowOptions ? void 0 : null === (_options$rowOptions$h = _options$rowOptions.headerStyles) || void 0 === _options$rowOptions$h ? void 0 : _options$rowOptions$h.backgroundColor);\r\n if (options.customizeCell) {\r\n rowsInfo.forEach(rowInfo => rowInfo.cells.forEach(cellInfo => options.customizeCell(cellInfo)))\r\n }\r\n normalizeRowsInfo(rowsInfo);\r\n initializeCellsWidth(jsPDFDocument, dataProvider, rowsInfo, options);\r\n resizeFirstColumnByIndentLevel(rowsInfo, options);\r\n applyColSpans(rowsInfo);\r\n calculateHeights(jsPDFDocument, rowsInfo, options);\r\n applyRowSpans(rowsInfo);\r\n updateRowsAndCellsHeights(jsPDFDocument, rowsInfo);\r\n calculateCoordinates(jsPDFDocument, rowsInfo, options);\r\n applyBordersConfig(rowsInfo);\r\n applyWordWrap(jsPDFDocument, rowsInfo);\r\n var docStyles = getDocumentStyles(jsPDFDocument);\r\n var rtlEnabled = !!component.option(\"rtlEnabled\");\r\n var rectsByPages = splitByPages(jsPDFDocument, rowsInfo, options, _ref => {\r\n var _sourceRect$sourceCel;\r\n var {\r\n sourceRect: sourceRect,\r\n leftRect: leftRect,\r\n rightRect: rightRect\r\n } = _ref;\r\n var leftRectTextOptions = {};\r\n var rightRectTextOptions = {};\r\n var isTextNotEmpty = (null === (_sourceRect$sourceCel = sourceRect.sourceCellInfo.text) || void 0 === _sourceRect$sourceCel ? void 0 : _sourceRect$sourceCel.length) > 0;\r\n if (isTextNotEmpty) {\r\n if (rtlEnabled) {\r\n var isTextWidthGreaterThanRect = jsPDFDocument.getTextWidth(sourceRect.sourceCellInfo.text) > leftRect.w;\r\n var isTextRightAlignment = !isDefined(sourceRect.sourceCellInfo.horizontalAlign) || \"right\" === sourceRect.sourceCellInfo.horizontalAlign;\r\n if (isTextWidthGreaterThanRect || !isTextRightAlignment) {\r\n var _sourceRect$sourceCel2, _sourceRect$sourceCel4, _sourceRect$sourceCel5;\r\n var rightRectTextOffset;\r\n var leftRectTextOffset;\r\n if (\"right\" === (null === (_sourceRect$sourceCel2 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel2 ? void 0 : _sourceRect$sourceCel2.horizontalAlign)) {\r\n var _sourceRect$sourceCel3;\r\n rightRectTextOffset = null !== (_sourceRect$sourceCel3 = sourceRect.sourceCellInfo._textLeftOffset) && void 0 !== _sourceRect$sourceCel3 ? _sourceRect$sourceCel3 : 0;\r\n leftRectTextOffset = rightRectTextOffset + leftRect.w\r\n } else if (\"center\" === (null === (_sourceRect$sourceCel4 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel4 ? void 0 : _sourceRect$sourceCel4.horizontalAlign)) {\r\n leftRectTextOffset = sourceRect.x + sourceRect.w - (rightRect.x + rightRect.w) + sourceRect.sourceCellInfo._rect.w / 2 - leftRect.w / 2;\r\n rightRectTextOffset = leftRectTextOffset - rightRect.w\r\n } else if (\"left\" === (null === (_sourceRect$sourceCel5 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel5 ? void 0 : _sourceRect$sourceCel5.horizontalAlign)) {\r\n leftRectTextOffset = sourceRect.x + sourceRect.w - (rightRect.x + rightRect.w);\r\n rightRectTextOffset = leftRectTextOffset - rightRect.w\r\n }\r\n leftRectTextOptions = _extends({}, {\r\n _textLeftOffset: rightRectTextOffset\r\n });\r\n rightRectTextOptions = _extends({}, {\r\n _textLeftOffset: leftRectTextOffset\r\n })\r\n } else {\r\n rightRectTextOptions = _extends({}, {\r\n text: \"\"\r\n })\r\n }\r\n } else {\r\n var _isTextWidthGreaterThanRect = jsPDFDocument.getTextWidth(sourceRect.sourceCellInfo.text) > leftRect.w;\r\n var isTextLeftAlignment = !isDefined(sourceRect.sourceCellInfo.horizontalAlign) || \"left\" === sourceRect.sourceCellInfo.horizontalAlign;\r\n if (_isTextWidthGreaterThanRect || !isTextLeftAlignment) {\r\n var _sourceRect$sourceCel6, _sourceRect$sourceCel8, _sourceRect$sourceCel10;\r\n var leftTextLeftOffset;\r\n var rightTextLeftOffset;\r\n if (\"left\" === (null === (_sourceRect$sourceCel6 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel6 ? void 0 : _sourceRect$sourceCel6.horizontalAlign)) {\r\n var _sourceRect$sourceCel7;\r\n leftTextLeftOffset = null !== (_sourceRect$sourceCel7 = sourceRect.sourceCellInfo._textLeftOffset) && void 0 !== _sourceRect$sourceCel7 ? _sourceRect$sourceCel7 : 0;\r\n rightTextLeftOffset = leftTextLeftOffset - leftRect.w\r\n } else if (\"center\" === (null === (_sourceRect$sourceCel8 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel8 ? void 0 : _sourceRect$sourceCel8.horizontalAlign)) {\r\n var _sourceRect$sourceCel9;\r\n var offset = null !== (_sourceRect$sourceCel9 = sourceRect.sourceCellInfo._textLeftOffset) && void 0 !== _sourceRect$sourceCel9 ? _sourceRect$sourceCel9 : 0;\r\n leftTextLeftOffset = offset + (sourceRect.x + sourceRect.w / 2) - (leftRect.x + leftRect.w / 2);\r\n rightTextLeftOffset = offset + (sourceRect.x + sourceRect.w / 2) - (rightRect.x + rightRect.w / 2)\r\n } else if (\"right\" === (null === (_sourceRect$sourceCel10 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel10 ? void 0 : _sourceRect$sourceCel10.horizontalAlign)) {\r\n leftTextLeftOffset = sourceRect.x + sourceRect.w - (leftRect.x + leftRect.w);\r\n rightTextLeftOffset = sourceRect.x + sourceRect.w - (rightRect.x + rightRect.w)\r\n }\r\n leftRectTextOptions = _extends({}, {\r\n _textLeftOffset: leftTextLeftOffset\r\n });\r\n rightRectTextOptions = _extends({}, {\r\n _textLeftOffset: rightTextLeftOffset\r\n })\r\n } else {\r\n rightRectTextOptions = _extends({}, {\r\n text: \"\"\r\n })\r\n }\r\n }\r\n }\r\n leftRect.sourceCellInfo = _extends({}, sourceRect.sourceCellInfo, {\r\n debugSourceCellInfo: sourceRect.sourceCellInfo\r\n }, leftRectTextOptions);\r\n rightRect.sourceCellInfo = _extends({}, sourceRect.sourceCellInfo, {\r\n debugSourceCellInfo: sourceRect.sourceCellInfo\r\n }, rightRectTextOptions)\r\n }, _ref2 => {\r\n var _sourceRect$sourceCel11;\r\n var {\r\n sourceRect: sourceRect,\r\n topRect: topRect,\r\n bottomRect: bottomRect\r\n } = _ref2;\r\n var topRectTextOptions = {};\r\n var bottomRectTextOptions = {};\r\n var isTextNotEmpty = (null === (_sourceRect$sourceCel11 = sourceRect.sourceCellInfo.text) || void 0 === _sourceRect$sourceCel11 ? void 0 : _sourceRect$sourceCel11.length) > 0;\r\n if (isTextNotEmpty) {\r\n var _sourceRect$sourceCel12;\r\n var isTextHeightGreaterThanRect = jsPDFDocument.getTextDimensions(sourceRect.sourceCellInfo.text).h > topRect.h;\r\n var isTextTopAlignment = \"top\" === (null === (_sourceRect$sourceCel12 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel12 ? void 0 : _sourceRect$sourceCel12.verticalAlign);\r\n if (isTextHeightGreaterThanRect || !isTextTopAlignment) {\r\n var _sourceRect$sourceCel13, _sourceRect$sourceCel15, _sourceRect$sourceCel17;\r\n var topTextTopOffset;\r\n var bottomTextTopOffset;\r\n if (\"top\" === (null === (_sourceRect$sourceCel13 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel13 ? void 0 : _sourceRect$sourceCel13.verticalAlign)) {\r\n var _sourceRect$sourceCel14;\r\n topTextTopOffset = null !== (_sourceRect$sourceCel14 = sourceRect.sourceCellInfo._textTopOffset) && void 0 !== _sourceRect$sourceCel14 ? _sourceRect$sourceCel14 : 0;\r\n bottomTextTopOffset = topTextTopOffset - topRect.h\r\n } else if (\"middle\" === (null === (_sourceRect$sourceCel15 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel15 ? void 0 : _sourceRect$sourceCel15.verticalAlign)) {\r\n var _sourceRect$sourceCel16;\r\n var offset = null !== (_sourceRect$sourceCel16 = sourceRect.sourceCellInfo._textTopOffset) && void 0 !== _sourceRect$sourceCel16 ? _sourceRect$sourceCel16 : 0;\r\n topTextTopOffset = offset + (sourceRect.y + sourceRect.h / 2) - (topRect.y + topRect.h / 2);\r\n bottomTextTopOffset = offset + (sourceRect.y + sourceRect.h / 2) - (bottomRect.y + bottomRect.h / 2)\r\n } else if (\"bottom\" === (null === (_sourceRect$sourceCel17 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel17 ? void 0 : _sourceRect$sourceCel17.verticalAlign)) {\r\n topTextTopOffset = sourceRect.y + sourceRect.h - (topRect.y + topRect.h);\r\n bottomTextTopOffset = sourceRect.y + sourceRect.h - (bottomRect.y + bottomRect.h)\r\n }\r\n topRectTextOptions = _extends({}, {\r\n _textTopOffset: topTextTopOffset\r\n });\r\n bottomRectTextOptions = _extends({}, {\r\n _textTopOffset: bottomTextTopOffset\r\n })\r\n } else {\r\n bottomRectTextOptions = _extends({}, {\r\n text: \"\"\r\n })\r\n }\r\n }\r\n topRect.sourceCellInfo = _extends({}, sourceRect.sourceCellInfo, {\r\n debugSourceCellInfo: sourceRect.sourceCellInfo\r\n }, topRectTextOptions);\r\n bottomRect.sourceCellInfo = _extends({}, sourceRect.sourceCellInfo, {\r\n debugSourceCellInfo: sourceRect.sourceCellInfo\r\n }, bottomRectTextOptions)\r\n });\r\n if (rtlEnabled) {\r\n applyRtl(jsPDFDocument, rectsByPages, options)\r\n }\r\n rectsByPages.forEach((pdfCellsInfo, index) => {\r\n if (index > 0) {\r\n addNewPage(jsPDFDocument)\r\n }\r\n drawCellsContent(jsPDFDocument, options.customDrawCell, pdfCellsInfo, docStyles);\r\n drawCellsLines(jsPDFDocument, pdfCellsInfo, docStyles);\r\n var isEmptyPdfCellsInfoSpecified = isDefined(pdfCellsInfo) && 0 === pdfCellsInfo.length;\r\n if (isEmptyPdfCellsInfoSpecified) {\r\n var tableRect = calculateTableSize(jsPDFDocument, pdfCellsInfo, options);\r\n var baseStyle = getBaseTableStyle();\r\n drawGridLines(jsPDFDocument, tableRect, baseStyle, docStyles)\r\n }\r\n });\r\n setDocumentStyles(jsPDFDocument, docStyles);\r\n resolve()\r\n }).always(() => {\r\n if (initialLoadPanelEnabledOption) {\r\n component.option(\"loadPanel.enabled\", initialLoadPanelEnabledOption)\r\n }\r\n if (loadPanel.enabled && hasWindow()) {\r\n exportLoadPanel.dispose()\r\n }\r\n })\r\n })\r\n}\r\nexport var Export = {\r\n getFullOptions: _getFullOptions,\r\n export: exportDataGrid\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/jspdf/export_data_grid.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport errors from \"../../core/errors\";\r\nimport {\r\n Export\r\n} from \"./common/export\";\r\nvar HOW_TO_MIGRATE_ARTICLE = \"https://supportcenter.devexpress.com/ticket/details/t1077554\";\r\n\r\nfunction _getFullOptions(options) {\r\n if (!(isDefined(options) && isObject(options))) {\r\n throw Error('The \"exportDataGrid\" method requires a configuration object.')\r\n }\r\n if (!(isDefined(options.component) && isObject(options.component) && \"dxDataGrid\" === options.component.NAME)) {\r\n throw Error('The \"component\" field must contain a DataGrid instance.')\r\n }\r\n if (!(isDefined(options.jsPDFDocument) && isObject(options.jsPDFDocument))) {\r\n throw Error('The \"jsPDFDocument\" field must contain a jsPDF instance.')\r\n }\r\n if (isDefined(options.autoTableOptions)) {\r\n errors.log(\"W0001\", \"Export\", \"autoTableOptions\", \"22.1\", \"You can migrate from exporting to PDF with the AutoTable plugin to a new export system. See the following topic for more information: \".concat(HOW_TO_MIGRATE_ARTICLE))\r\n }\r\n return Export.getFullOptions(options)\r\n}\r\n\r\nfunction exportDataGrid(options) {\r\n return Export.export(_getFullOptions(options))\r\n}\r\nexport {\r\n exportDataGrid\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/style.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n camelize\r\n} from \"./inflector\";\r\nimport callOnce from \"./call_once\";\r\nimport {\r\n isNumeric,\r\n isString\r\n} from \"./type\";\r\nimport domAdapter from \"../dom_adapter\";\r\nvar jsPrefixes = [\"\", \"Webkit\", \"Moz\", \"O\", \"Ms\"];\r\nvar cssPrefixes = {\r\n \"\": \"\",\r\n Webkit: \"-webkit-\",\r\n Moz: \"-moz-\",\r\n O: \"-o-\",\r\n ms: \"-ms-\"\r\n};\r\nvar getStyles = callOnce((function() {\r\n return domAdapter.createElement(\"dx\").style\r\n}));\r\nvar forEachPrefixes = function(prop, callBack) {\r\n prop = camelize(prop, true);\r\n var result;\r\n for (var i = 0, cssPrefixesCount = jsPrefixes.length; i < cssPrefixesCount; i++) {\r\n var jsPrefix = jsPrefixes[i];\r\n var prefixedProp = jsPrefix + prop;\r\n var lowerPrefixedProp = camelize(prefixedProp);\r\n result = callBack(lowerPrefixedProp, jsPrefix);\r\n if (void 0 === result) {\r\n result = callBack(prefixedProp, jsPrefix)\r\n }\r\n if (void 0 !== result) {\r\n break\r\n }\r\n }\r\n return result || \"\"\r\n};\r\nvar styleProp = function(name) {\r\n if (name in getStyles()) {\r\n return name\r\n }\r\n var originalName = name;\r\n name = name.charAt(0).toUpperCase() + name.substr(1);\r\n for (var i = 1; i < jsPrefixes.length; i++) {\r\n var prefixedProp = jsPrefixes[i].toLowerCase() + name;\r\n if (prefixedProp in getStyles()) {\r\n return prefixedProp\r\n }\r\n }\r\n return originalName\r\n};\r\nvar stylePropPrefix = function(prop) {\r\n return forEachPrefixes(prop, (function(specific, jsPrefix) {\r\n if (specific in getStyles()) {\r\n return cssPrefixes[jsPrefix]\r\n }\r\n }))\r\n};\r\nvar pxExceptions = [\"fillOpacity\", \"columnCount\", \"flexGrow\", \"flexShrink\", \"fontWeight\", \"lineHeight\", \"opacity\", \"zIndex\", \"zoom\"];\r\nvar parsePixelValue = function(value) {\r\n if (isNumeric(value)) {\r\n return value\r\n } else if (isString(value)) {\r\n return Number(value.replace(\"px\", \"\"))\r\n }\r\n return NaN\r\n};\r\nvar normalizeStyleProp = function(prop, value) {\r\n if (isNumeric(value) && -1 === pxExceptions.indexOf(prop)) {\r\n value += \"px\"\r\n }\r\n return value\r\n};\r\nvar setDimensionProperty = function(elements, propertyName, value) {\r\n if (elements) {\r\n value = isNumeric(value) ? value += \"px\" : value;\r\n for (var i = 0; i < elements.length; ++i) {\r\n elements[i].style[propertyName] = value\r\n }\r\n }\r\n};\r\nvar setWidth = function(elements, value) {\r\n setDimensionProperty(elements, \"width\", value)\r\n};\r\nvar setHeight = function(elements, value) {\r\n setDimensionProperty(elements, \"height\", value)\r\n};\r\nvar setStyle = function(element, styleString) {\r\n var resetStyle = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : true;\r\n if (resetStyle) {\r\n var styleList = [].slice.call(element.style);\r\n styleList.forEach(propertyName => {\r\n element.style.removeProperty(propertyName)\r\n })\r\n }\r\n styleString.split(\";\").forEach(style => {\r\n var parts = style.split(\":\").map(stylePart => stylePart.trim());\r\n if (2 === parts.length) {\r\n var [property, value] = parts;\r\n element.style[property] = value\r\n }\r\n })\r\n};\r\nexport {\r\n styleProp,\r\n setStyle,\r\n stylePropPrefix,\r\n normalizeStyleProp,\r\n parsePixelValue,\r\n setWidth,\r\n setHeight\r\n};\r\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","/**\r\n * DevExtreme (esm/ui/toolbar/constants.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var TOOLBAR_CLASS = \"dx-toolbar\";\r\n","/**\r\n * DevExtreme (esm/core/utils/common.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport config from \"../config\";\r\nimport Guid from \"../guid\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../utils/deferred\";\r\nimport {\r\n toComparable\r\n} from \"./data\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isString,\r\n isObject,\r\n type\r\n} from \"./type\";\r\nexport var ensureDefined = function(value, defaultValue) {\r\n return isDefined(value) ? value : defaultValue\r\n};\r\nexport var executeAsync = function(action, context) {\r\n var deferred = new Deferred;\r\n var normalizedContext = context || this;\r\n var task = {\r\n promise: deferred.promise(),\r\n abort: function() {\r\n clearTimeout(timerId);\r\n deferred.rejectWith(normalizedContext)\r\n }\r\n };\r\n var callback = function() {\r\n var result = action.call(normalizedContext);\r\n if (result && result.done && isFunction(result.done)) {\r\n result.done((function() {\r\n deferred.resolveWith(normalizedContext)\r\n }))\r\n } else {\r\n deferred.resolveWith(normalizedContext)\r\n }\r\n };\r\n var timerId = (arguments[2] || setTimeout)(callback, \"number\" === typeof context ? context : 0);\r\n return task\r\n};\r\nvar delayedFuncs = [];\r\nvar delayedNames = [];\r\nvar delayedDeferreds = [];\r\nvar executingName;\r\nvar deferExecute = function(name, func, deferred) {\r\n if (executingName && executingName !== name) {\r\n delayedFuncs.push(func);\r\n delayedNames.push(name);\r\n deferred = deferred || new Deferred;\r\n delayedDeferreds.push(deferred);\r\n return deferred\r\n } else {\r\n var oldExecutingName = executingName;\r\n var currentDelayedCount = delayedDeferreds.length;\r\n executingName = name;\r\n var result = func();\r\n if (!result) {\r\n if (delayedDeferreds.length > currentDelayedCount) {\r\n result = when.apply(this, delayedDeferreds.slice(currentDelayedCount))\r\n } else if (deferred) {\r\n deferred.resolve()\r\n }\r\n }\r\n executingName = oldExecutingName;\r\n if (deferred && result && result.done) {\r\n result.done(deferred.resolve).fail(deferred.reject)\r\n }\r\n if (!executingName && delayedFuncs.length) {\r\n (\"render\" === delayedNames.shift() ? deferRender : deferUpdate)(delayedFuncs.shift(), delayedDeferreds.shift())\r\n }\r\n return result || when()\r\n }\r\n};\r\nexport var deferRender = function(func, deferred) {\r\n return deferExecute(\"render\", func, deferred)\r\n};\r\nexport var deferUpdate = function(func, deferred) {\r\n return deferExecute(\"update\", func, deferred)\r\n};\r\nexport var deferRenderer = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"render\", (function() {\r\n return func.call(that)\r\n }))\r\n }\r\n};\r\nexport var deferUpdater = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"update\", (function() {\r\n return func.call(that)\r\n }))\r\n }\r\n};\r\nexport var findBestMatches = function(targetFilter, items, mapFn) {\r\n var bestMatches = [];\r\n var maxMatchCount = 0;\r\n each(items, (index, itemSrc) => {\r\n var matchCount = 0;\r\n var item = mapFn ? mapFn(itemSrc) : itemSrc;\r\n each(targetFilter, (paramName, targetValue) => {\r\n var value = item[paramName];\r\n if (void 0 === value) {\r\n return\r\n }\r\n if (match(value, targetValue)) {\r\n matchCount++;\r\n return\r\n }\r\n matchCount = -1;\r\n return false\r\n });\r\n if (matchCount < maxMatchCount) {\r\n return\r\n }\r\n if (matchCount > maxMatchCount) {\r\n bestMatches.length = 0;\r\n maxMatchCount = matchCount\r\n }\r\n bestMatches.push(itemSrc)\r\n });\r\n return bestMatches\r\n};\r\nvar match = function(value, targetValue) {\r\n if (Array.isArray(value) && Array.isArray(targetValue)) {\r\n var mismatch = false;\r\n each(value, (index, valueItem) => {\r\n if (valueItem !== targetValue[index]) {\r\n mismatch = true;\r\n return false\r\n }\r\n });\r\n if (mismatch) {\r\n return false\r\n }\r\n return true\r\n }\r\n if (value === targetValue) {\r\n return true\r\n }\r\n return false\r\n};\r\nexport var splitPair = function(raw) {\r\n var _raw$x, _raw$y;\r\n switch (type(raw)) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 2);\r\n case \"object\":\r\n return [null !== (_raw$x = raw.x) && void 0 !== _raw$x ? _raw$x : raw.h, null !== (_raw$y = raw.y) && void 0 !== _raw$y ? _raw$y : raw.v];\r\n case \"number\":\r\n return [raw];\r\n case \"array\":\r\n return raw;\r\n default:\r\n return null\r\n }\r\n};\r\nexport var normalizeKey = function(id) {\r\n var key = isString(id) ? id : id.toString();\r\n var arr = key.match(/[^a-zA-Z0-9_]/g);\r\n arr && each(arr, (_, sign) => {\r\n key = key.replace(sign, \"__\" + sign.charCodeAt() + \"__\")\r\n });\r\n return key\r\n};\r\nexport var denormalizeKey = function(key) {\r\n var arr = key.match(/__\\d+__/g);\r\n arr && arr.forEach(char => {\r\n var charCode = parseInt(char.replace(\"__\", \"\"));\r\n key = key.replace(char, String.fromCharCode(charCode))\r\n });\r\n return key\r\n};\r\nexport var pairToObject = function(raw, preventRound) {\r\n var pair = splitPair(raw);\r\n var h = preventRound ? parseFloat(pair && pair[0]) : parseInt(pair && pair[0], 10);\r\n var v = preventRound ? parseFloat(pair && pair[1]) : parseInt(pair && pair[1], 10);\r\n if (!isFinite(h)) {\r\n h = 0\r\n }\r\n if (!isFinite(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nexport var getKeyHash = function(key) {\r\n if (key instanceof Guid) {\r\n return key.toString()\r\n } else if (isObject(key) || Array.isArray(key)) {\r\n try {\r\n var keyHash = JSON.stringify(key);\r\n return \"{}\" === keyHash ? key : keyHash\r\n } catch (e) {\r\n return key\r\n }\r\n }\r\n return key\r\n};\r\nexport var escapeRegExp = function(string) {\r\n return string.replace(/[[\\]{}\\-()*+?.\\\\^$|\\s]/g, \"\\\\$&\")\r\n};\r\nexport var applyServerDecimalSeparator = function(value) {\r\n var separator = config().serverDecimalSeparator;\r\n if (isDefined(value)) {\r\n value = value.toString().replace(\".\", separator)\r\n }\r\n return value\r\n};\r\nexport var noop = function() {};\r\nexport var asyncNoop = function() {\r\n return (new Deferred).resolve().promise()\r\n};\r\nexport var grep = function(elements, checkFunction, invert) {\r\n var result = [];\r\n var check;\r\n var expectedCheck = !invert;\r\n for (var i = 0; i < elements.length; i++) {\r\n check = !!checkFunction(elements[i], i);\r\n if (check === expectedCheck) {\r\n result.push(elements[i])\r\n }\r\n }\r\n return result\r\n};\r\nvar compareArrays = (array1, array2, depth, options) => {\r\n if (array1.length !== array2.length) {\r\n return false\r\n }\r\n return !array1.some((item, idx) => !compareByValue(item, array2[idx], depth + 1, _extends({}, options, {\r\n strict: true\r\n })))\r\n};\r\nvar compareObjects = (object1, object2, depth, options) => {\r\n var keys1 = Object.keys(object1);\r\n var keys2 = Object.keys(object2);\r\n if (keys1.length !== keys2.length) {\r\n return false\r\n }\r\n var keys2Set = new Set(keys2);\r\n return !keys1.some(key => !keys2Set.has(key) || !compareByValue(object1[key], object2[key], depth + 1, options))\r\n};\r\nvar DEFAULT_EQUAL_BY_VALUE_OPTS = {\r\n maxDepth: 3,\r\n strict: true\r\n};\r\nvar compareByValue = (value1, value2, depth, options) => {\r\n var {\r\n strict: strict,\r\n maxDepth: maxDepth\r\n } = options;\r\n var comparable1 = toComparable(value1, true);\r\n var comparable2 = toComparable(value2, true);\r\n var comparisonResult = strict ? comparable1 === comparable2 : comparable1 == comparable2;\r\n switch (true) {\r\n case comparisonResult:\r\n case depth >= maxDepth:\r\n return true;\r\n case isObject(comparable1) && isObject(comparable2):\r\n return compareObjects(comparable1, comparable2, depth, options);\r\n case Array.isArray(comparable1) && Array.isArray(comparable2):\r\n return compareArrays(comparable1, comparable2, depth, options);\r\n default:\r\n return false\r\n }\r\n};\r\nexport var equalByValue = function(value1, value2) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : DEFAULT_EQUAL_BY_VALUE_OPTS;\r\n var compareOptions = _extends({}, DEFAULT_EQUAL_BY_VALUE_OPTS, options);\r\n return compareByValue(value1, value2, 0, compareOptions)\r\n};\r\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nb = moment.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'én time',\n hh: '%d timer',\n d: 'én dag',\n dd: '%d dager',\n w: 'én uke',\n ww: '%d uker',\n M: 'én måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші',\n };\n\n var kk = moment.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n '_'\n ),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n '_'\n ),\n weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгін сағат] LT',\n nextDay: '[Ертең сағат] LT',\n nextWeek: 'dddd [сағат] LT',\n lastDay: '[Кеше сағат] LT',\n lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ішінде',\n past: '%s бұрын',\n s: 'бірнеше секунд',\n ss: '%d секунд',\n m: 'бір минут',\n mm: '%d минут',\n h: 'бір сағат',\n hh: '%d сағат',\n d: 'бір күн',\n dd: '%d күн',\n M: 'бір ай',\n MM: '%d ай',\n y: 'бір жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arTn;\n\n})));\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DxSearchEditorOptions = exports.DxOptions = exports.DxMenuItem = exports.DxItemDragging = exports.DxItem = exports.DxCursorOffset = exports.DxButton = exports.DxList = void 0;\nvar list_1 = __importDefault(require(\"devextreme/ui/list\"));\nvar index_1 = require(\"./core/index\");\nvar index_2 = require(\"./core/index\");\nvar DxList = (0, index_1.createComponent)({\n props: {\n accessKey: String,\n activeStateEnabled: Boolean,\n allowItemDeleting: Boolean,\n bounceEnabled: Boolean,\n collapsibleGroups: Boolean,\n dataSource: {},\n disabled: Boolean,\n displayExpr: [Function, String],\n elementAttr: Object,\n focusStateEnabled: Boolean,\n grouped: Boolean,\n groupTemplate: {},\n height: [Function, Number, String],\n hint: String,\n hoverStateEnabled: Boolean,\n indicateLoading: Boolean,\n itemDeleteMode: String,\n itemDragging: Object,\n itemHoldTimeout: Number,\n items: Array,\n itemTemplate: {},\n keyExpr: [Function, String],\n menuItems: Array,\n menuMode: String,\n nextButtonText: String,\n noDataText: String,\n onContentReady: Function,\n onDisposing: Function,\n onGroupRendered: Function,\n onInitialized: Function,\n onItemClick: Function,\n onItemContextMenu: Function,\n onItemDeleted: Function,\n onItemDeleting: Function,\n onItemHold: Function,\n onItemRendered: Function,\n onItemReordered: Function,\n onItemSwipe: Function,\n onOptionChanged: Function,\n onPageLoading: Function,\n onPullRefresh: Function,\n onScroll: Function,\n onSelectAllValueChanged: Function,\n onSelectionChanged: Function,\n pageLoadingText: String,\n pageLoadMode: String,\n pulledDownText: String,\n pullingDownText: String,\n pullRefreshEnabled: Boolean,\n refreshingText: String,\n repaintChangesOnly: Boolean,\n rtlEnabled: Boolean,\n scrollByContent: Boolean,\n scrollByThumb: Boolean,\n scrollingEnabled: Boolean,\n searchEditorOptions: Object,\n searchEnabled: Boolean,\n searchExpr: [Array, Function, String],\n searchMode: String,\n searchTimeout: Number,\n searchValue: String,\n selectAllMode: String,\n selectAllText: String,\n selectByClick: Boolean,\n selectedItemKeys: Array,\n selectedItems: Array,\n selectionMode: String,\n showScrollbar: String,\n showSelectionControls: Boolean,\n tabIndex: Number,\n useNativeScrolling: Boolean,\n visible: Boolean,\n width: [Function, Number, String]\n },\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:activeStateEnabled\": null,\n \"update:allowItemDeleting\": null,\n \"update:bounceEnabled\": null,\n \"update:collapsibleGroups\": null,\n \"update:dataSource\": null,\n \"update:disabled\": null,\n \"update:displayExpr\": null,\n \"update:elementAttr\": null,\n \"update:focusStateEnabled\": null,\n \"update:grouped\": null,\n \"update:groupTemplate\": null,\n \"update:height\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:indicateLoading\": null,\n \"update:itemDeleteMode\": null,\n \"update:itemDragging\": null,\n \"update:itemHoldTimeout\": null,\n \"update:items\": null,\n \"update:itemTemplate\": null,\n \"update:keyExpr\": null,\n \"update:menuItems\": null,\n \"update:menuMode\": null,\n \"update:nextButtonText\": null,\n \"update:noDataText\": null,\n \"update:onContentReady\": null,\n \"update:onDisposing\": null,\n \"update:onGroupRendered\": null,\n \"update:onInitialized\": null,\n \"update:onItemClick\": null,\n \"update:onItemContextMenu\": null,\n \"update:onItemDeleted\": null,\n \"update:onItemDeleting\": null,\n \"update:onItemHold\": null,\n \"update:onItemRendered\": null,\n \"update:onItemReordered\": null,\n \"update:onItemSwipe\": null,\n \"update:onOptionChanged\": null,\n \"update:onPageLoading\": null,\n \"update:onPullRefresh\": null,\n \"update:onScroll\": null,\n \"update:onSelectAllValueChanged\": null,\n \"update:onSelectionChanged\": null,\n \"update:pageLoadingText\": null,\n \"update:pageLoadMode\": null,\n \"update:pulledDownText\": null,\n \"update:pullingDownText\": null,\n \"update:pullRefreshEnabled\": null,\n \"update:refreshingText\": null,\n \"update:repaintChangesOnly\": null,\n \"update:rtlEnabled\": null,\n \"update:scrollByContent\": null,\n \"update:scrollByThumb\": null,\n \"update:scrollingEnabled\": null,\n \"update:searchEditorOptions\": null,\n \"update:searchEnabled\": null,\n \"update:searchExpr\": null,\n \"update:searchMode\": null,\n \"update:searchTimeout\": null,\n \"update:searchValue\": null,\n \"update:selectAllMode\": null,\n \"update:selectAllText\": null,\n \"update:selectByClick\": null,\n \"update:selectedItemKeys\": null,\n \"update:selectedItems\": null,\n \"update:selectionMode\": null,\n \"update:showScrollbar\": null,\n \"update:showSelectionControls\": null,\n \"update:tabIndex\": null,\n \"update:useNativeScrolling\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n computed: {\n instance: function () {\n return this.$_instance;\n }\n },\n beforeCreate: function () {\n this.$_WidgetClass = list_1.default;\n this.$_hasAsyncTemplate = true;\n this.$_expectedChildren = {\n item: { isCollectionItem: true, optionName: \"items\" },\n itemDragging: { isCollectionItem: false, optionName: \"itemDragging\" },\n menuItem: { isCollectionItem: true, optionName: \"menuItems\" },\n searchEditorOptions: { isCollectionItem: false, optionName: \"searchEditorOptions\" }\n };\n }\n});\nexports.DxList = DxList;\nvar DxButton = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:location\": null,\n \"update:name\": null,\n \"update:options\": null,\n },\n props: {\n location: String,\n name: String,\n options: Object\n }\n});\nexports.DxButton = DxButton;\nDxButton.$_optionName = \"buttons\";\nDxButton.$_isCollectionItem = true;\nDxButton.$_expectedChildren = {\n options: { isCollectionItem: false, optionName: \"options\" }\n};\nvar DxCursorOffset = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: Number,\n y: Number\n }\n});\nexports.DxCursorOffset = DxCursorOffset;\nDxCursorOffset.$_optionName = \"cursorOffset\";\nvar DxItem = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:badge\": null,\n \"update:disabled\": null,\n \"update:html\": null,\n \"update:icon\": null,\n \"update:showChevron\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:visible\": null,\n },\n props: {\n badge: String,\n disabled: Boolean,\n html: String,\n icon: String,\n showChevron: Boolean,\n template: {},\n text: String,\n visible: Boolean\n }\n});\nexports.DxItem = DxItem;\nDxItem.$_optionName = \"items\";\nDxItem.$_isCollectionItem = true;\nvar DxItemDragging = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowDropInsideItem\": null,\n \"update:allowReordering\": null,\n \"update:autoScroll\": null,\n \"update:bindingOptions\": null,\n \"update:boundary\": null,\n \"update:container\": null,\n \"update:cursorOffset\": null,\n \"update:data\": null,\n \"update:dragDirection\": null,\n \"update:dragTemplate\": null,\n \"update:dropFeedbackMode\": null,\n \"update:elementAttr\": null,\n \"update:filter\": null,\n \"update:group\": null,\n \"update:handle\": null,\n \"update:height\": null,\n \"update:itemOrientation\": null,\n \"update:moveItemOnDrop\": null,\n \"update:onAdd\": null,\n \"update:onDisposing\": null,\n \"update:onDragChange\": null,\n \"update:onDragEnd\": null,\n \"update:onDragMove\": null,\n \"update:onDragStart\": null,\n \"update:onInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:onRemove\": null,\n \"update:onReorder\": null,\n \"update:rtlEnabled\": null,\n \"update:scrollSensitivity\": null,\n \"update:scrollSpeed\": null,\n \"update:width\": null,\n },\n props: {\n allowDropInsideItem: Boolean,\n allowReordering: Boolean,\n autoScroll: Boolean,\n bindingOptions: Object,\n boundary: {},\n container: {},\n cursorOffset: [Object, String],\n data: {},\n dragDirection: String,\n dragTemplate: {},\n dropFeedbackMode: String,\n elementAttr: Object,\n filter: String,\n group: String,\n handle: String,\n height: [Function, Number, String],\n itemOrientation: String,\n moveItemOnDrop: Boolean,\n onAdd: Function,\n onDisposing: Function,\n onDragChange: Function,\n onDragEnd: Function,\n onDragMove: Function,\n onDragStart: Function,\n onInitialized: Function,\n onOptionChanged: Function,\n onRemove: Function,\n onReorder: Function,\n rtlEnabled: Boolean,\n scrollSensitivity: Number,\n scrollSpeed: Number,\n width: [Function, Number, String]\n }\n});\nexports.DxItemDragging = DxItemDragging;\nDxItemDragging.$_optionName = \"itemDragging\";\nDxItemDragging.$_expectedChildren = {\n cursorOffset: { isCollectionItem: false, optionName: \"cursorOffset\" }\n};\nvar DxMenuItem = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:action\": null,\n \"update:text\": null,\n },\n props: {\n action: Function,\n text: String\n }\n});\nexports.DxMenuItem = DxMenuItem;\nDxMenuItem.$_optionName = \"menuItems\";\nDxMenuItem.$_isCollectionItem = true;\nvar DxOptions = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:activeStateEnabled\": null,\n \"update:bindingOptions\": null,\n \"update:disabled\": null,\n \"update:elementAttr\": null,\n \"update:focusStateEnabled\": null,\n \"update:height\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:icon\": null,\n \"update:onClick\": null,\n \"update:onContentReady\": null,\n \"update:onDisposing\": null,\n \"update:onInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:rtlEnabled\": null,\n \"update:stylingMode\": null,\n \"update:tabIndex\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:type\": null,\n \"update:useSubmitBehavior\": null,\n \"update:validationGroup\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n accessKey: String,\n activeStateEnabled: Boolean,\n bindingOptions: Object,\n disabled: Boolean,\n elementAttr: Object,\n focusStateEnabled: Boolean,\n height: [Function, Number, String],\n hint: String,\n hoverStateEnabled: Boolean,\n icon: String,\n onClick: Function,\n onContentReady: Function,\n onDisposing: Function,\n onInitialized: Function,\n onOptionChanged: Function,\n rtlEnabled: Boolean,\n stylingMode: String,\n tabIndex: Number,\n template: {},\n text: String,\n type: String,\n useSubmitBehavior: Boolean,\n validationGroup: String,\n visible: Boolean,\n width: [Function, Number, String]\n }\n});\nexports.DxOptions = DxOptions;\nDxOptions.$_optionName = \"options\";\nvar DxSearchEditorOptions = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:activeStateEnabled\": null,\n \"update:bindingOptions\": null,\n \"update:buttons\": null,\n \"update:disabled\": null,\n \"update:elementAttr\": null,\n \"update:focusStateEnabled\": null,\n \"update:height\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:inputAttr\": null,\n \"update:isValid\": null,\n \"update:label\": null,\n \"update:labelMode\": null,\n \"update:mask\": null,\n \"update:maskChar\": null,\n \"update:maskInvalidMessage\": null,\n \"update:maskRules\": null,\n \"update:maxLength\": null,\n \"update:mode\": null,\n \"update:name\": null,\n \"update:onChange\": null,\n \"update:onContentReady\": null,\n \"update:onCopy\": null,\n \"update:onCut\": null,\n \"update:onDisposing\": null,\n \"update:onEnterKey\": null,\n \"update:onFocusIn\": null,\n \"update:onFocusOut\": null,\n \"update:onInitialized\": null,\n \"update:onInput\": null,\n \"update:onKeyDown\": null,\n \"update:onKeyUp\": null,\n \"update:onOptionChanged\": null,\n \"update:onPaste\": null,\n \"update:onValueChanged\": null,\n \"update:placeholder\": null,\n \"update:readOnly\": null,\n \"update:rtlEnabled\": null,\n \"update:showClearButton\": null,\n \"update:showMaskMode\": null,\n \"update:spellcheck\": null,\n \"update:stylingMode\": null,\n \"update:tabIndex\": null,\n \"update:text\": null,\n \"update:useMaskedValue\": null,\n \"update:validationError\": null,\n \"update:validationErrors\": null,\n \"update:validationMessageMode\": null,\n \"update:validationMessagePosition\": null,\n \"update:validationStatus\": null,\n \"update:value\": null,\n \"update:valueChangeEvent\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n accessKey: String,\n activeStateEnabled: Boolean,\n bindingOptions: Object,\n buttons: Array,\n disabled: Boolean,\n elementAttr: Object,\n focusStateEnabled: Boolean,\n height: [Function, Number, String],\n hint: String,\n hoverStateEnabled: Boolean,\n inputAttr: {},\n isValid: Boolean,\n label: String,\n labelMode: String,\n mask: String,\n maskChar: String,\n maskInvalidMessage: String,\n maskRules: {},\n maxLength: [Number, String],\n mode: String,\n name: String,\n onChange: Function,\n onContentReady: Function,\n onCopy: Function,\n onCut: Function,\n onDisposing: Function,\n onEnterKey: Function,\n onFocusIn: Function,\n onFocusOut: Function,\n onInitialized: Function,\n onInput: Function,\n onKeyDown: Function,\n onKeyUp: Function,\n onOptionChanged: Function,\n onPaste: Function,\n onValueChanged: Function,\n placeholder: String,\n readOnly: Boolean,\n rtlEnabled: Boolean,\n showClearButton: Boolean,\n showMaskMode: String,\n spellcheck: Boolean,\n stylingMode: String,\n tabIndex: Number,\n text: String,\n useMaskedValue: Boolean,\n validationError: {},\n validationErrors: Array,\n validationMessageMode: String,\n validationMessagePosition: String,\n validationStatus: String,\n value: String,\n valueChangeEvent: String,\n visible: Boolean,\n width: [Function, Number, String]\n }\n});\nexports.DxSearchEditorOptions = DxSearchEditorOptions;\nDxSearchEditorOptions.$_optionName = \"searchEditorOptions\";\nDxSearchEditorOptions.$_expectedChildren = {\n button: { isCollectionItem: true, optionName: \"buttons\" }\n};\nexports.default = DxList;\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var it = moment.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: function () {\n return (\n '[Oggi a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextDay: function () {\n return (\n '[Domani a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextWeek: function () {\n return (\n 'dddd [a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastDay: function () {\n return (\n '[Ieri a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return (\n '[La scorsa] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n default:\n return (\n '[Lo scorso] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return it;\n\n})));\n","var metric\n , imperial;\n\nmetric = {\n C: {\n name: {\n singular: 'degree Celsius'\n , plural: 'degrees Celsius'\n }\n , to_anchor: 1\n , anchor_shift: 0\n },\n K: {\n name: {\n singular: 'degree Kelvin'\n , plural: 'degrees Kelvin'\n }\n , to_anchor: 1\n , anchor_shift: 273.15\n }\n};\n\nimperial = {\n F: {\n name: {\n singular: 'degree Fahrenheit'\n , plural: 'degrees Fahrenheit'\n }\n , to_anchor: 1\n },\n R: {\n name: {\n singular: 'degree Rankine'\n , plural: 'degrees Rankine'\n }\n , to_anchor: 1\n , anchor_shift: 459.67\n }\n};\n\nmodule.exports = {\n metric: metric\n, imperial: imperial\n, _anchors: {\n metric: {\n unit: 'C'\n , transform: function (C) { return C / (5/9) + 32 }\n }\n , imperial: {\n unit: 'F'\n , transform: function (F) { return (F - 32) * (5/9) }\n }\n }\n};\n\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var itCh = moment.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return itCh;\n\n})));\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\n// non-standard V8\nvar captureStackTrace = Error.captureStackTrace;\n\nmodule.exports = function (error, C, stack, dropEntries) {\n if (ERROR_STACK_INSTALLABLE) {\n if (captureStackTrace) captureStackTrace(error, C);\n else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries));\n }\n};\n","/**\r\n * DevExtreme (esm/ui/shared/grouped_data_converter_mixin.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isObject\r\n} from \"../../core/utils/type\";\r\nvar isCorrectStructure = data => Array.isArray(data) && data.every(item => {\r\n var hasTwoFields = 2 === Object.keys(item).length;\r\n var hasCorrectFields = \"key\" in item && \"items\" in item;\r\n return hasTwoFields && hasCorrectFields && Array.isArray(item.items)\r\n});\r\nexport default {\r\n _getSpecificDataSourceOption: function() {\r\n var dataSource = this.option(\"dataSource\");\r\n var hasSimpleItems = false;\r\n var data = {};\r\n if (this._getGroupedOption() && isCorrectStructure(dataSource)) {\r\n data = dataSource.reduce((accumulator, item) => {\r\n var items = item.items.map(innerItem => {\r\n if (!isObject(innerItem)) {\r\n innerItem = {\r\n text: innerItem\r\n };\r\n hasSimpleItems = true\r\n }\r\n if (!(\"key\" in innerItem)) {\r\n innerItem.key = item.key\r\n }\r\n return innerItem\r\n });\r\n return accumulator.concat(items)\r\n }, []);\r\n dataSource = {\r\n store: {\r\n type: \"array\",\r\n data: data\r\n },\r\n group: {\r\n selector: \"key\",\r\n keepInitialKeyOrder: true\r\n }\r\n };\r\n if (hasSimpleItems) {\r\n dataSource.searchExpr = \"text\"\r\n }\r\n }\r\n return dataSource\r\n }\r\n};\r\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enNz = moment.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enNz;\n\n})));\n","/**\r\n * DevExtreme (esm/renovation/ui/common/utils/get_updated_options.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isPlainObject,\r\n type\r\n} from \"../../../../core/utils/type\";\r\nvar defaultNotDeepCopyArrays = [\"dataSource\", \"selectedRowKeys\"];\r\nvar propsToIgnore = {\r\n integrationOptions: true\r\n};\r\n\r\nfunction getDiffItem(key, value, previousValue) {\r\n return {\r\n path: key,\r\n value: value,\r\n previousValue: previousValue\r\n }\r\n}\r\n\r\nfunction compare(resultPaths, item1, item2, key, fullPropName, notDeepCopyArrays) {\r\n if (propsToIgnore[key]) {\r\n return\r\n }\r\n var type1 = type(item1);\r\n var type2 = type(item2);\r\n if (item1 === item2) {\r\n return\r\n }\r\n if (type1 !== type2) {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n } else if (\"object\" === type1) {\r\n if (!isPlainObject(item2)) {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n } else {\r\n var diffPaths = objectDiffs(item1, item2, fullPropName, notDeepCopyArrays);\r\n resultPaths.push(...diffPaths.map(item => _extends({}, item, {\r\n path: \"\".concat(key, \".\").concat(item.path)\r\n })))\r\n }\r\n } else if (\"array\" === type1) {\r\n var notDeepCopy = notDeepCopyArrays.some(prop => fullPropName.includes(prop));\r\n if (notDeepCopy && item1 !== item2) {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n } else if (item1.length !== item2.length) {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n } else {\r\n var _diffPaths = objectDiffs(item1, item2, fullPropName, notDeepCopyArrays);\r\n [].push.apply(resultPaths, _diffPaths.map(item => _extends({}, item, {\r\n path: \"\".concat(key).concat(item.path)\r\n })))\r\n }\r\n } else {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n }\r\n}\r\nvar objectDiffsFiltered = propsEnumerator => (oldProps, props, fullPropName, notDeepCopyArrays) => {\r\n var resultPaths = [];\r\n var processItem = !Array.isArray(oldProps) ? propName => {\r\n compare(resultPaths, oldProps[propName], props[propName], propName, \"\".concat(fullPropName, \".\").concat(propName), notDeepCopyArrays)\r\n } : propName => {\r\n compare(resultPaths, oldProps[propName], props[propName], \"[\".concat(propName, \"]\"), \"\".concat(fullPropName, \".\").concat(propName), notDeepCopyArrays)\r\n };\r\n propsEnumerator(oldProps).forEach(processItem);\r\n Object.keys(props).filter(propName => !Object.prototype.hasOwnProperty.call(oldProps, propName) && oldProps[propName] !== props[propName]).forEach(propName => {\r\n resultPaths.push({\r\n path: propName,\r\n value: props[propName],\r\n previousValue: oldProps[propName]\r\n })\r\n });\r\n return resultPaths\r\n};\r\nvar objectDiffs = objectDiffsFiltered(oldProps => Object.keys(oldProps));\r\nvar reactProps = {\r\n key: true,\r\n ref: true,\r\n children: true,\r\n style: true\r\n};\r\nvar objectDiffsWithoutReactProps = objectDiffsFiltered(prop => Object.keys(prop).filter(p => !reactProps[p]));\r\nexport function getUpdatedOptions(oldProps, props) {\r\n var notDeepCopyArrays = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : defaultNotDeepCopyArrays;\r\n return objectDiffsWithoutReactProps(oldProps, props, \"\", notDeepCopyArrays)\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/dom_component_wrapper.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"valueChange\"],\r\n _excluded2 = [\"componentProps\", \"componentType\", \"templateNames\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n renderTemplate,\r\n hasTemplate\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n ConfigContext\r\n} from \"../../common/config_context\";\r\nimport {\r\n getUpdatedOptions\r\n} from \"./utils/get_updated_options\";\r\nvar normalizeProps = props => Object.keys(props).reduce((accumulator, key) => {\r\n if (void 0 !== props[key]) {\r\n accumulator[key] = props[key]\r\n }\r\n return accumulator\r\n}, {});\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n componentProps: {\r\n className: className\r\n }\r\n },\r\n restAttributes: restAttributes,\r\n widgetRef: widgetRef\r\n } = _ref;\r\n return normalizeProps(createVNode(1, \"div\", className, null, 1, _extends({}, restAttributes), null, widgetRef))\r\n};\r\nexport var DomComponentWrapperProps = {};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class DomComponentWrapper extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.widgetRef = infernoCreateRef();\r\n this.getInstance = this.getInstance.bind(this);\r\n this.setupWidget = this.setupWidget.bind(this);\r\n this.updateWidget = this.updateWidget.bind(this)\r\n }\r\n get config() {\r\n if (this.context[ConfigContext.id]) {\r\n return this.context[ConfigContext.id]\r\n }\r\n return ConfigContext.defaultValue\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.setupWidget, []), new InfernoEffect(this.updateWidget, [this.props.componentProps, this.config, this.props.templateNames])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[1]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.componentProps, this.config, this.props.templateNames])\r\n }\r\n setupWidget() {\r\n var componentInstance = new this.props.componentType(this.widgetRef.current, this.properties);\r\n this.instance = componentInstance;\r\n return () => {\r\n componentInstance.dispose();\r\n this.instance = null\r\n }\r\n }\r\n updateWidget() {\r\n var instance = this.getInstance();\r\n if (!instance) {\r\n return\r\n }\r\n var updatedOptions = getUpdatedOptions(this.prevProps || {}, this.properties);\r\n if (updatedOptions.length) {\r\n instance.beginUpdate();\r\n updatedOptions.forEach(_ref2 => {\r\n var {\r\n path: path,\r\n value: value\r\n } = _ref2;\r\n instance.option(path, value)\r\n });\r\n instance.endUpdate()\r\n }\r\n this.prevProps = this.properties\r\n }\r\n get properties() {\r\n var _this$config;\r\n var normalizedProps = normalizeProps(this.props.componentProps);\r\n var {\r\n valueChange: valueChange\r\n } = normalizedProps, restProps = _objectWithoutPropertiesLoose(normalizedProps, _excluded);\r\n var properties = _extends({\r\n rtlEnabled: !!(null !== (_this$config = this.config) && void 0 !== _this$config && _this$config.rtlEnabled),\r\n isRenovated: true\r\n }, restProps);\r\n if (valueChange) {\r\n properties.onValueChanged = _ref3 => {\r\n var {\r\n value: value\r\n } = _ref3;\r\n return valueChange(value)\r\n }\r\n }\r\n var templates = this.props.templateNames;\r\n templates.forEach(name => {\r\n if (hasTemplate(name, properties, this)) {\r\n properties[name] = (item, index, container) => {\r\n renderTemplate(this.props.componentProps[name], {\r\n item: item,\r\n index: index,\r\n container: container\r\n }, this)\r\n }\r\n }\r\n });\r\n return properties\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded2);\r\n return restProps\r\n }\r\n getInstance() {\r\n return this.instance\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n widgetRef: this.widgetRef,\r\n config: this.config,\r\n properties: this.properties,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nDomComponentWrapper.defaultProps = DomComponentWrapperProps;\r\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var metric,\nimperial;\n\nmetric = {\n 'lx': {\n name: {\n singular: 'Lux',\n plural: 'Lux'\n },\n to_anchor: 1\n }\n};\n\nimperial = {\n 'ft-cd': {\n name: {\n singular: 'Foot-candle',\n plural: 'Foot-candles'\n },\n to_anchor: 1\n }\n};\n\nmodule.exports = {\n metric: metric,\n imperial: imperial,\n _anchors: {\n metric: {\n unit: 'lx',\n ratio: 1/10.76391\n },\n imperial: {\n unit: 'ft-cd', \n\t ratio: 10.76391\n }\n }\n};\n","/**\r\n * DevExtreme (esm/events/index.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"./core/events_engine\";\r\nexport var on = eventsEngine.on;\r\nexport var one = eventsEngine.one;\r\nexport var off = eventsEngine.off;\r\nexport var trigger = eventsEngine.trigger;\r\nexport var triggerHandler = eventsEngine.triggerHandler;\r\nexport var Event = eventsEngine.Event;\r\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n var fy = moment.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n '_'\n ),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fy;\n\n})));\n","import VAvatar from './VAvatar'\n\nexport { VAvatar }\nexport default VAvatar\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { getSlot, keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n// Components\nimport VTabsBar from '../VTabs/VTabsBar'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ntype VTabBarInstance = InstanceType<typeof VTabsBar>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n tabsBar: VTabBarInstance\n}\n\nexport default baseMixins.extend<options>().extend(\n /* @vue/component */\n).extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n tabValue: {\n required: false,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n if (this.tabValue != null) return this.tabValue\n\n let to = this.to || this.href\n\n if (to == null) return to\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n if (this.disabled) {\n e.preventDefault()\n return\n }\n\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n toggle () {\n // VItemGroup treats a change event as a click\n if (!this.isActive || (!this.tabsBar.mandatory && !this.to)) {\n this.$emit('change')\n }\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: this.disabled ? -1 : 0,\n }\n data.on = {\n ...data.on,\n keydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n return h(tag, data, getSlot(this))\n },\n})\n","// Styles\nimport './VToolbar.sass'\n\n// Extensions\nimport VSheet from '../VSheet/VSheet'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\n/* @vue/component */\nexport default VSheet.extend({\n name: 'v-toolbar',\n\n props: {\n absolute: Boolean,\n bottom: Boolean,\n collapse: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n default: 48,\n type: [Number, String],\n },\n flat: Boolean,\n floating: Boolean,\n prominent: Boolean,\n short: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n tag: {\n type: String,\n default: 'header',\n },\n },\n\n data: () => ({\n isExtended: false,\n }),\n\n computed: {\n computedHeight (): number {\n const height = this.computedContentHeight\n\n if (!this.isExtended) return height\n\n const extensionHeight = parseInt(this.extensionHeight)\n\n return this.isCollapsed\n ? height\n : height + (!isNaN(extensionHeight) ? extensionHeight : 0)\n },\n computedContentHeight (): number {\n if (this.height) return parseInt(this.height)\n if (this.isProminent && this.dense) return 96\n if (this.isProminent && this.short) return 112\n if (this.isProminent) return 128\n if (this.dense) return 48\n if (this.short || this.$vuetify.breakpoint.smAndDown) return 56\n return 64\n },\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-toolbar': true,\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--bottom': this.bottom,\n 'v-toolbar--collapse': this.collapse,\n 'v-toolbar--collapsed': this.isCollapsed,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--flat': this.flat,\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.isProminent,\n }\n },\n isCollapsed (): boolean {\n return this.collapse\n },\n isProminent (): boolean {\n return this.prominent\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['app', '<v-app-bar app>'],\n ['manual-scroll', '<v-app-bar :value=\"false\">'],\n ['clipped-left', '<v-app-bar clipped-left>'],\n ['clipped-right', '<v-app-bar clipped-right>'],\n ['inverted-scroll', '<v-app-bar inverted-scroll>'],\n ['scroll-off-screen', '<v-app-bar scroll-off-screen>'],\n ['scroll-target', '<v-app-bar scroll-target>'],\n ['scroll-threshold', '<v-app-bar scroll-threshold>'],\n ['card', '<v-app-bar flat>'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genBackground () {\n const props = {\n height: convertToUnit(this.computedHeight),\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img({ props })\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-toolbar__image',\n }, [image])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__content',\n style: {\n height: convertToUnit(this.computedContentHeight),\n },\n }, getSlot(this))\n },\n genExtension () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__extension',\n style: {\n height: convertToUnit(this.extensionHeight),\n },\n }, getSlot(this, 'extension'))\n },\n },\n\n render (h): VNode {\n this.isExtended = this.extended || !!this.$scopedSlots.extension\n\n const children = [this.genContent()]\n const data = this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n })\n\n if (this.isExtended) children.push(this.genExtension())\n if (this.src || this.$scopedSlots.img) children.unshift(this.genBackground())\n\n return h(this.tag, data, children)\n },\n})\n","/**\r\n * DevExtreme (esm/ui/collection/data_controller.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar DataControllerMock = {\r\n load: () => Deferred().reject(),\r\n loadSingle: () => Deferred().reject(),\r\n loadFromStore: () => Deferred().reject(),\r\n loadNextPage: () => Deferred().reject(),\r\n loadOptions: noop,\r\n userData: noop,\r\n cancel: noop,\r\n cancelAll: noop,\r\n filter: noop,\r\n addSearchFilter: noop,\r\n group: noop,\r\n paginate: noop,\r\n pageSize: noop,\r\n pageIndex: noop,\r\n resetDataSourcePageIndex: noop,\r\n totalCount: noop,\r\n isLastPage: noop,\r\n isLoading: noop,\r\n isLoaded: noop,\r\n searchValue: noop,\r\n searchOperation: noop,\r\n searchExpr: noop,\r\n select: noop,\r\n key: noop,\r\n keyOf: noop,\r\n store: noop,\r\n items: noop,\r\n applyMapFunction: noop,\r\n getDataSource: noop,\r\n reload: noop,\r\n on: noop,\r\n off: noop\r\n};\r\nclass DataController {\r\n constructor(dataSource) {\r\n if (!dataSource) {\r\n return DataControllerMock\r\n }\r\n this._dataSource = dataSource\r\n }\r\n load() {\r\n return this._dataSource.load()\r\n }\r\n loadSingle(propName, propValue) {\r\n if (arguments.length < 2) {\r\n propValue = propName;\r\n propName = this.key()\r\n }\r\n return this._dataSource.loadSingle(propName, propValue)\r\n }\r\n loadFromStore(loadOptions) {\r\n return this.store().load(loadOptions)\r\n }\r\n loadNextPage() {\r\n this.pageIndex(1 + this.pageIndex());\r\n return this.load()\r\n }\r\n loadOptions() {\r\n return this._dataSource.loadOptions()\r\n }\r\n userData() {\r\n return this._dataSource._userData\r\n }\r\n cancel(operationId) {\r\n this._dataSource.cancel(operationId)\r\n }\r\n cancelAll() {\r\n this._dataSource.cancelAll()\r\n }\r\n filter(filter) {\r\n return this._dataSource.filter(filter)\r\n }\r\n addSearchFilter(storeLoadOptions) {\r\n this._dataSource._addSearchFilter(storeLoadOptions)\r\n }\r\n group(group) {\r\n return this._dataSource.group(group)\r\n }\r\n paginate() {\r\n return this._dataSource.paginate()\r\n }\r\n pageSize() {\r\n return this._dataSource._pageSize\r\n }\r\n pageIndex(pageIndex) {\r\n return this._dataSource.pageIndex(pageIndex)\r\n }\r\n resetDataSourcePageIndex() {\r\n if (this.pageIndex()) {\r\n this.pageIndex(0);\r\n this.load()\r\n }\r\n }\r\n totalCount() {\r\n return this._dataSource.totalCount()\r\n }\r\n isLastPage() {\r\n return this._dataSource.isLastPage() || !this._dataSource._pageSize\r\n }\r\n isLoading() {\r\n return this._dataSource.isLoading()\r\n }\r\n isLoaded() {\r\n return this._dataSource.isLoaded()\r\n }\r\n searchValue(value) {\r\n if (!arguments.length) {\r\n return this._dataSource.searchValue()\r\n }\r\n return this._dataSource.searchValue(value)\r\n }\r\n searchOperation(operation) {\r\n return this._dataSource.searchOperation(operation)\r\n }\r\n searchExpr(expr) {\r\n if (!arguments.length) {\r\n return this._dataSource.searchExpr()\r\n }\r\n return this._dataSource.searchExpr(expr)\r\n }\r\n select() {\r\n return this._dataSource.select(...arguments)\r\n }\r\n key() {\r\n return this._dataSource.key()\r\n }\r\n keyOf(item) {\r\n return this.store().keyOf(item)\r\n }\r\n store() {\r\n return this._dataSource.store()\r\n }\r\n items() {\r\n return this._dataSource.items()\r\n }\r\n applyMapFunction(data) {\r\n return this._dataSource._applyMapFunction(data)\r\n }\r\n getDataSource() {\r\n return this._dataSource || null\r\n }\r\n reload() {\r\n return this._dataSource.reload()\r\n }\r\n on(event, handler) {\r\n this._dataSource.on(event, handler)\r\n }\r\n off(event, handler) {\r\n this._dataSource.off(event, handler)\r\n }\r\n}\r\nexport default DataController;\r\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","// DEFLATE is a complex format; to read this code, you should probably check the RFC first:\n// https://tools.ietf.org/html/rfc1951\n// You may also wish to take a look at the guide I made about this program:\n// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad\n// Some of the following code is similar to that of UZIP.js:\n// https://github.com/photopea/UZIP.js\n// However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size.\n// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint\n// is better for memory in most engines (I *think*).\nvar ch2 = {};\nvar wk = (function (c, id, msg, transfer, cb) {\n var w = new Worker(ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([\n c + ';addEventListener(\"error\",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'\n ], { type: 'text/javascript' }))));\n w.onmessage = function (e) {\n var d = e.data, ed = d.$e$;\n if (ed) {\n var err = new Error(ed[0]);\n err['code'] = ed[1];\n err.stack = ed[2];\n cb(err, null);\n }\n else\n cb(null, d);\n };\n w.postMessage(msg, transfer);\n return w;\n});\n\n// aliases for shorter compressed code (most minifers don't do this)\nvar u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array;\n// fixed length extra bits\nvar fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);\n// fixed distance extra bits\nvar fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);\n// code length index map\nvar clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n// get base, reverse index map from extra bits\nvar freb = function (eb, start) {\n var b = new u16(31);\n for (var i = 0; i < 31; ++i) {\n b[i] = start += 1 << eb[i - 1];\n }\n // numbers here are at max 18 bits\n var r = new i32(b[30]);\n for (var i = 1; i < 30; ++i) {\n for (var j = b[i]; j < b[i + 1]; ++j) {\n r[j] = ((j - b[i]) << 5) | i;\n }\n }\n return { b: b, r: r };\n};\nvar _a = freb(fleb, 2), fl = _a.b, revfl = _a.r;\n// we can ignore the fact that the other numbers are wrong; they never happen anyway\nfl[28] = 258, revfl[258] = 28;\nvar _b = freb(fdeb, 0), fd = _b.b, revfd = _b.r;\n// map of value to reverse (assuming 16 bits)\nvar rev = new u16(32768);\nfor (var i = 0; i < 32768; ++i) {\n // reverse table algorithm from SO\n var x = ((i & 0xAAAA) >> 1) | ((i & 0x5555) << 1);\n x = ((x & 0xCCCC) >> 2) | ((x & 0x3333) << 2);\n x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4);\n rev[i] = (((x & 0xFF00) >> 8) | ((x & 0x00FF) << 8)) >> 1;\n}\n// create huffman tree from u8 \"map\": index -> code length for code index\n// mb (max bits) must be at most 15\n// TODO: optimize/split up?\nvar hMap = (function (cd, mb, r) {\n var s = cd.length;\n // index\n var i = 0;\n // u16 \"map\": index -> # of codes with bit length = index\n var l = new u16(mb);\n // length of cd must be 288 (total # of codes)\n for (; i < s; ++i) {\n if (cd[i])\n ++l[cd[i] - 1];\n }\n // u16 \"map\": index -> minimum code for bit length = index\n var le = new u16(mb);\n for (i = 1; i < mb; ++i) {\n le[i] = (le[i - 1] + l[i - 1]) << 1;\n }\n var co;\n if (r) {\n // u16 \"map\": index -> number of actual bits, symbol for code\n co = new u16(1 << mb);\n // bits to remove for reverser\n var rvb = 15 - mb;\n for (i = 0; i < s; ++i) {\n // ignore 0 lengths\n if (cd[i]) {\n // num encoding both symbol and bits read\n var sv = (i << 4) | cd[i];\n // free bits\n var r_1 = mb - cd[i];\n // start value\n var v = le[cd[i] - 1]++ << r_1;\n // m is end value\n for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {\n // every 16 bit value starting with the code yields the same result\n co[rev[v] >> rvb] = sv;\n }\n }\n }\n }\n else {\n co = new u16(s);\n for (i = 0; i < s; ++i) {\n if (cd[i]) {\n co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]);\n }\n }\n }\n return co;\n});\n// fixed length tree\nvar flt = new u8(288);\nfor (var i = 0; i < 144; ++i)\n flt[i] = 8;\nfor (var i = 144; i < 256; ++i)\n flt[i] = 9;\nfor (var i = 256; i < 280; ++i)\n flt[i] = 7;\nfor (var i = 280; i < 288; ++i)\n flt[i] = 8;\n// fixed distance tree\nvar fdt = new u8(32);\nfor (var i = 0; i < 32; ++i)\n fdt[i] = 5;\n// fixed length map\nvar flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1);\n// fixed distance map\nvar fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);\n// find max of array\nvar max = function (a) {\n var m = a[0];\n for (var i = 1; i < a.length; ++i) {\n if (a[i] > m)\n m = a[i];\n }\n return m;\n};\n// read d, starting at bit p and mask with m\nvar bits = function (d, p, m) {\n var o = (p / 8) | 0;\n return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m;\n};\n// read d, starting at bit p continuing for at least 16 bits\nvar bits16 = function (d, p) {\n var o = (p / 8) | 0;\n return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7));\n};\n// get end of byte\nvar shft = function (p) { return ((p + 7) / 8) | 0; };\n// typed array slice - allows garbage collector to free original reference,\n// while being more compatible than .slice\nvar slc = function (v, s, e) {\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n // can't use .constructor in case user-supplied\n return new u8(v.subarray(s, e));\n};\n/**\n * Codes for errors generated within this library\n */\nexport var FlateErrorCode = {\n UnexpectedEOF: 0,\n InvalidBlockType: 1,\n InvalidLengthLiteral: 2,\n InvalidDistance: 3,\n StreamFinished: 4,\n NoStreamHandler: 5,\n InvalidHeader: 6,\n NoCallback: 7,\n InvalidUTF8: 8,\n ExtraFieldTooLong: 9,\n InvalidDate: 10,\n FilenameTooLong: 11,\n StreamFinishing: 12,\n InvalidZipData: 13,\n UnknownCompressionMethod: 14\n};\n// error codes\nvar ec = [\n 'unexpected EOF',\n 'invalid block type',\n 'invalid length/literal',\n 'invalid distance',\n 'stream finished',\n 'no stream handler',\n ,\n 'no callback',\n 'invalid UTF-8 data',\n 'extra field too long',\n 'date not in range 1980-2099',\n 'filename too long',\n 'stream finishing',\n 'invalid zip data'\n // determined by unknown compression method\n];\n;\nvar err = function (ind, msg, nt) {\n var e = new Error(msg || ec[ind]);\n e.code = ind;\n if (Error.captureStackTrace)\n Error.captureStackTrace(e, err);\n if (!nt)\n throw e;\n return e;\n};\n// expands raw DEFLATE data\nvar inflt = function (dat, st, buf, dict) {\n // source length dict length\n var sl = dat.length, dl = dict ? dict.length : 0;\n if (!sl || st.f && !st.l)\n return buf || new u8(0);\n var noBuf = !buf;\n // have to estimate size\n var resize = noBuf || st.i != 2;\n // no state\n var noSt = st.i;\n // Assumes roughly 33% compression ratio average\n if (noBuf)\n buf = new u8(sl * 3);\n // ensure buffer can fit at least l elements\n var cbuf = function (l) {\n var bl = buf.length;\n // need to increase size to fit\n if (l > bl) {\n // Double or set to necessary, whichever is greater\n var nbuf = new u8(Math.max(bl * 2, l));\n nbuf.set(buf);\n buf = nbuf;\n }\n };\n // last chunk bitpos bytes\n var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;\n // total bits\n var tbts = sl * 8;\n do {\n if (!lm) {\n // BFINAL - this is only 1 when last chunk is next\n final = bits(dat, pos, 1);\n // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman\n var type = bits(dat, pos + 1, 3);\n pos += 3;\n if (!type) {\n // go to end of byte boundary\n var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;\n if (t > sl) {\n if (noSt)\n err(0);\n break;\n }\n // ensure size\n if (resize)\n cbuf(bt + l);\n // Copy over uncompressed data\n buf.set(dat.subarray(s, t), bt);\n // Get new bitpos, update byte count\n st.b = bt += l, st.p = pos = t * 8, st.f = final;\n continue;\n }\n else if (type == 1)\n lm = flrm, dm = fdrm, lbt = 9, dbt = 5;\n else if (type == 2) {\n // literal lengths\n var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;\n var tl = hLit + bits(dat, pos + 5, 31) + 1;\n pos += 14;\n // length+distance tree\n var ldt = new u8(tl);\n // code length tree\n var clt = new u8(19);\n for (var i = 0; i < hcLen; ++i) {\n // use index map to get real code\n clt[clim[i]] = bits(dat, pos + i * 3, 7);\n }\n pos += hcLen * 3;\n // code lengths bits\n var clb = max(clt), clbmsk = (1 << clb) - 1;\n // code lengths map\n var clm = hMap(clt, clb, 1);\n for (var i = 0; i < tl;) {\n var r = clm[bits(dat, pos, clbmsk)];\n // bits read\n pos += r & 15;\n // symbol\n var s = r >> 4;\n // code length to copy\n if (s < 16) {\n ldt[i++] = s;\n }\n else {\n // copy count\n var c = 0, n = 0;\n if (s == 16)\n n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];\n else if (s == 17)\n n = 3 + bits(dat, pos, 7), pos += 3;\n else if (s == 18)\n n = 11 + bits(dat, pos, 127), pos += 7;\n while (n--)\n ldt[i++] = c;\n }\n }\n // length tree distance tree\n var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);\n // max length bits\n lbt = max(lt);\n // max dist bits\n dbt = max(dt);\n lm = hMap(lt, lbt, 1);\n dm = hMap(dt, dbt, 1);\n }\n else\n err(1);\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n }\n // Make sure the buffer can hold this + the largest possible addition\n // Maximum chunk size (practically, theoretically infinite) is 2^17\n if (resize)\n cbuf(bt + 131072);\n var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;\n var lpos = pos;\n for (;; lpos = pos) {\n // bits read, code\n var c = lm[bits16(dat, pos) & lms], sym = c >> 4;\n pos += c & 15;\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n if (!c)\n err(2);\n if (sym < 256)\n buf[bt++] = sym;\n else if (sym == 256) {\n lpos = pos, lm = null;\n break;\n }\n else {\n var add = sym - 254;\n // no extra bits needed if less\n if (sym > 264) {\n // index\n var i = sym - 257, b = fleb[i];\n add = bits(dat, pos, (1 << b) - 1) + fl[i];\n pos += b;\n }\n // dist\n var d = dm[bits16(dat, pos) & dms], dsym = d >> 4;\n if (!d)\n err(3);\n pos += d & 15;\n var dt = fd[dsym];\n if (dsym > 3) {\n var b = fdeb[dsym];\n dt += bits16(dat, pos) & (1 << b) - 1, pos += b;\n }\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n if (resize)\n cbuf(bt + 131072);\n var end = bt + add;\n if (bt < dt) {\n var shift = dl - dt, dend = Math.min(dt, end);\n if (shift + bt < 0)\n err(3);\n for (; bt < dend; ++bt)\n buf[bt] = dict[shift + bt];\n }\n for (; bt < end; ++bt)\n buf[bt] = buf[bt - dt];\n }\n }\n st.l = lm, st.p = lpos, st.b = bt, st.f = final;\n if (lm)\n final = 1, st.m = lbt, st.d = dm, st.n = dbt;\n } while (!final);\n // don't reallocate for streams or user buffers\n return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);\n};\n// starting at p, write the minimum number of bits that can hold v to d\nvar wbits = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) | 0;\n d[o] |= v;\n d[o + 1] |= v >> 8;\n};\n// starting at p, write the minimum number of bits (>8) that can hold v to d\nvar wbits16 = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) | 0;\n d[o] |= v;\n d[o + 1] |= v >> 8;\n d[o + 2] |= v >> 16;\n};\n// creates code lengths from a frequency table\nvar hTree = function (d, mb) {\n // Need extra info to make a tree\n var t = [];\n for (var i = 0; i < d.length; ++i) {\n if (d[i])\n t.push({ s: i, f: d[i] });\n }\n var s = t.length;\n var t2 = t.slice();\n if (!s)\n return { t: et, l: 0 };\n if (s == 1) {\n var v = new u8(t[0].s + 1);\n v[t[0].s] = 1;\n return { t: v, l: 1 };\n }\n t.sort(function (a, b) { return a.f - b.f; });\n // after i2 reaches last ind, will be stopped\n // freq must be greater than largest possible number of symbols\n t.push({ s: -1, f: 25001 });\n var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;\n t[0] = { s: -1, f: l.f + r.f, l: l, r: r };\n // efficient algorithm from UZIP.js\n // i0 is lookbehind, i2 is lookahead - after processing two low-freq\n // symbols that combined have high freq, will start processing i2 (high-freq,\n // non-composite) symbols instead\n // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/\n while (i1 != s - 1) {\n l = t[t[i0].f < t[i2].f ? i0++ : i2++];\n r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];\n t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r };\n }\n var maxSym = t2[0].s;\n for (var i = 1; i < s; ++i) {\n if (t2[i].s > maxSym)\n maxSym = t2[i].s;\n }\n // code lengths\n var tr = new u16(maxSym + 1);\n // max bits in tree\n var mbt = ln(t[i1 - 1], tr, 0);\n if (mbt > mb) {\n // more algorithms from UZIP.js\n // TODO: find out how this code works (debt)\n // ind debt\n var i = 0, dt = 0;\n // left cost\n var lft = mbt - mb, cst = 1 << lft;\n t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; });\n for (; i < s; ++i) {\n var i2_1 = t2[i].s;\n if (tr[i2_1] > mb) {\n dt += cst - (1 << (mbt - tr[i2_1]));\n tr[i2_1] = mb;\n }\n else\n break;\n }\n dt >>= lft;\n while (dt > 0) {\n var i2_2 = t2[i].s;\n if (tr[i2_2] < mb)\n dt -= 1 << (mb - tr[i2_2]++ - 1);\n else\n ++i;\n }\n for (; i >= 0 && dt; --i) {\n var i2_3 = t2[i].s;\n if (tr[i2_3] == mb) {\n --tr[i2_3];\n ++dt;\n }\n }\n mbt = mb;\n }\n return { t: new u8(tr), l: mbt };\n};\n// get the max length and assign length codes\nvar ln = function (n, l, d) {\n return n.s == -1\n ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1))\n : (l[n.s] = d);\n};\n// length codes generation\nvar lc = function (c) {\n var s = c.length;\n // Note that the semicolon was intentional\n while (s && !c[--s])\n ;\n var cl = new u16(++s);\n // ind num streak\n var cli = 0, cln = c[0], cls = 1;\n var w = function (v) { cl[cli++] = v; };\n for (var i = 1; i <= s; ++i) {\n if (c[i] == cln && i != s)\n ++cls;\n else {\n if (!cln && cls > 2) {\n for (; cls > 138; cls -= 138)\n w(32754);\n if (cls > 2) {\n w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305);\n cls = 0;\n }\n }\n else if (cls > 3) {\n w(cln), --cls;\n for (; cls > 6; cls -= 6)\n w(8304);\n if (cls > 2)\n w(((cls - 3) << 5) | 8208), cls = 0;\n }\n while (cls--)\n w(cln);\n cls = 1;\n cln = c[i];\n }\n }\n return { c: cl.subarray(0, cli), n: s };\n};\n// calculate the length of output from tree, code lengths\nvar clen = function (cf, cl) {\n var l = 0;\n for (var i = 0; i < cl.length; ++i)\n l += cf[i] * cl[i];\n return l;\n};\n// writes a fixed block\n// returns the new bit pos\nvar wfblk = function (out, pos, dat) {\n // no need to write 00 as type: TypedArray defaults to 0\n var s = dat.length;\n var o = shft(pos + 2);\n out[o] = s & 255;\n out[o + 1] = s >> 8;\n out[o + 2] = out[o] ^ 255;\n out[o + 3] = out[o + 1] ^ 255;\n for (var i = 0; i < s; ++i)\n out[o + i + 4] = dat[i];\n return (o + 4 + s) * 8;\n};\n// writes a block\nvar wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {\n wbits(out, p++, final);\n ++lf[256];\n var _a = hTree(lf, 15), dlt = _a.t, mlb = _a.l;\n var _b = hTree(df, 15), ddt = _b.t, mdb = _b.l;\n var _c = lc(dlt), lclt = _c.c, nlc = _c.n;\n var _d = lc(ddt), lcdt = _d.c, ndc = _d.n;\n var lcfreq = new u16(19);\n for (var i = 0; i < lclt.length; ++i)\n ++lcfreq[lclt[i] & 31];\n for (var i = 0; i < lcdt.length; ++i)\n ++lcfreq[lcdt[i] & 31];\n var _e = hTree(lcfreq, 7), lct = _e.t, mlcb = _e.l;\n var nlcc = 19;\n for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)\n ;\n var flen = (bl + 5) << 3;\n var ftlen = clen(lf, flt) + clen(df, fdt) + eb;\n var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + 2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18];\n if (bs >= 0 && flen <= ftlen && flen <= dtlen)\n return wfblk(out, p, dat.subarray(bs, bs + bl));\n var lm, ll, dm, dl;\n wbits(out, p, 1 + (dtlen < ftlen)), p += 2;\n if (dtlen < ftlen) {\n lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;\n var llm = hMap(lct, mlcb, 0);\n wbits(out, p, nlc - 257);\n wbits(out, p + 5, ndc - 1);\n wbits(out, p + 10, nlcc - 4);\n p += 14;\n for (var i = 0; i < nlcc; ++i)\n wbits(out, p + 3 * i, lct[clim[i]]);\n p += 3 * nlcc;\n var lcts = [lclt, lcdt];\n for (var it = 0; it < 2; ++it) {\n var clct = lcts[it];\n for (var i = 0; i < clct.length; ++i) {\n var len = clct[i] & 31;\n wbits(out, p, llm[len]), p += lct[len];\n if (len > 15)\n wbits(out, p, (clct[i] >> 5) & 127), p += clct[i] >> 12;\n }\n }\n }\n else {\n lm = flm, ll = flt, dm = fdm, dl = fdt;\n }\n for (var i = 0; i < li; ++i) {\n var sym = syms[i];\n if (sym > 255) {\n var len = (sym >> 18) & 31;\n wbits16(out, p, lm[len + 257]), p += ll[len + 257];\n if (len > 7)\n wbits(out, p, (sym >> 23) & 31), p += fleb[len];\n var dst = sym & 31;\n wbits16(out, p, dm[dst]), p += dl[dst];\n if (dst > 3)\n wbits16(out, p, (sym >> 5) & 8191), p += fdeb[dst];\n }\n else {\n wbits16(out, p, lm[sym]), p += ll[sym];\n }\n }\n wbits16(out, p, lm[256]);\n return p + ll[256];\n};\n// deflate options (nice << 13) | chain\nvar deo = /*#__PURE__*/ new i32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);\n// empty\nvar et = /*#__PURE__*/ new u8(0);\n// compresses data into a raw DEFLATE buffer\nvar dflt = function (dat, lvl, plvl, pre, post, st) {\n var s = st.z || dat.length;\n var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7000)) + post);\n // writing to this writes to the output buffer\n var w = o.subarray(pre, o.length - post);\n var lst = st.l;\n var pos = (st.r || 0) & 7;\n if (lvl) {\n if (pos)\n w[0] = st.r >> 3;\n var opt = deo[lvl - 1];\n var n = opt >> 13, c = opt & 8191;\n var msk_1 = (1 << plvl) - 1;\n // prev 2-byte val map curr 2-byte val map\n var prev = st.p || new u16(32768), head = st.h || new u16(msk_1 + 1);\n var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;\n var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; };\n // 24576 is an arbitrary number of maximum symbols per block\n // 424 buffer for last block\n var syms = new i32(25000);\n // length/literal freq distance freq\n var lf = new u16(288), df = new u16(32);\n // l/lcnt exbits index l/lind waitdx blkpos\n var lc_1 = 0, eb = 0, i = st.i || 0, li = 0, wi = st.w || 0, bs = 0;\n for (; i + 2 < s; ++i) {\n // hash value\n var hv = hsh(i);\n // index mod 32768 previous index mod\n var imod = i & 32767, pimod = head[hv];\n prev[imod] = pimod;\n head[hv] = imod;\n // We always should modify head and prev, but only add symbols if\n // this data is not yet processed (\"wait\" for wait index)\n if (wi <= i) {\n // bytes remaining\n var rem = s - i;\n if ((lc_1 > 7000 || li > 24576) && (rem > 423 || !lst)) {\n pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);\n li = lc_1 = eb = 0, bs = i;\n for (var j = 0; j < 286; ++j)\n lf[j] = 0;\n for (var j = 0; j < 30; ++j)\n df[j] = 0;\n }\n // len dist chain\n var l = 2, d = 0, ch_1 = c, dif = imod - pimod & 32767;\n if (rem > 2 && hv == hsh(i - dif)) {\n var maxn = Math.min(n, rem) - 1;\n var maxd = Math.min(32767, i);\n // max possible length\n // not capped at dif because decompressors implement \"rolling\" index population\n var ml = Math.min(258, rem);\n while (dif <= maxd && --ch_1 && imod != pimod) {\n if (dat[i + l] == dat[i + l - dif]) {\n var nl = 0;\n for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)\n ;\n if (nl > l) {\n l = nl, d = dif;\n // break out early when we reach \"nice\" (we are satisfied enough)\n if (nl > maxn)\n break;\n // now, find the rarest 2-byte sequence within this\n // length of literals and search for that instead.\n // Much faster than just using the start\n var mmd = Math.min(dif, nl - 2);\n var md = 0;\n for (var j = 0; j < mmd; ++j) {\n var ti = i - dif + j & 32767;\n var pti = prev[ti];\n var cd = ti - pti & 32767;\n if (cd > md)\n md = cd, pimod = ti;\n }\n }\n }\n // check the previous match\n imod = pimod, pimod = prev[imod];\n dif += imod - pimod & 32767;\n }\n }\n // d will be nonzero only when a match was found\n if (d) {\n // store both dist and len data in one int32\n // Make sure this is recognized as a len/dist with 28th bit (2^28)\n syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d];\n var lin = revfl[l] & 31, din = revfd[d] & 31;\n eb += fleb[lin] + fdeb[din];\n ++lf[257 + lin];\n ++df[din];\n wi = i + l;\n ++lc_1;\n }\n else {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n }\n }\n for (i = Math.max(i, wi); i < s; ++i) {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);\n if (!lst) {\n st.r = (pos & 7) | w[(pos / 8) | 0] << 3;\n // shft(pos) now 1 less if pos & 7 != 0\n pos -= 7;\n st.h = head, st.p = prev, st.i = i, st.w = wi;\n }\n }\n else {\n for (var i = st.w || 0; i < s + lst; i += 65535) {\n // end\n var e = i + 65535;\n if (e >= s) {\n // write final block\n w[(pos / 8) | 0] = lst;\n e = s;\n }\n pos = wfblk(w, pos + 1, dat.subarray(i, e));\n }\n st.i = s;\n }\n return slc(o, 0, pre + shft(pos) + post);\n};\n// CRC32 table\nvar crct = /*#__PURE__*/ (function () {\n var t = new Int32Array(256);\n for (var i = 0; i < 256; ++i) {\n var c = i, k = 9;\n while (--k)\n c = ((c & 1) && -306674912) ^ (c >>> 1);\n t[i] = c;\n }\n return t;\n})();\n// CRC32\nvar crc = function () {\n var c = -1;\n return {\n p: function (d) {\n // closures have awful performance\n var cr = c;\n for (var i = 0; i < d.length; ++i)\n cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8);\n c = cr;\n },\n d: function () { return ~c; }\n };\n};\n// Adler32\nvar adler = function () {\n var a = 1, b = 0;\n return {\n p: function (d) {\n // closures have awful performance\n var n = a, m = b;\n var l = d.length | 0;\n for (var i = 0; i != l;) {\n var e = Math.min(i + 2655, l);\n for (; i < e; ++i)\n m += n += d[i];\n n = (n & 65535) + 15 * (n >> 16), m = (m & 65535) + 15 * (m >> 16);\n }\n a = n, b = m;\n },\n d: function () {\n a %= 65521, b %= 65521;\n return (a & 255) << 24 | (a & 0xFF00) << 8 | (b & 255) << 8 | (b >> 8);\n }\n };\n};\n;\n// deflate with opts\nvar dopt = function (dat, opt, pre, post, st) {\n if (!st) {\n st = { l: 1 };\n if (opt.dictionary) {\n var dict = opt.dictionary.subarray(-32768);\n var newDat = new u8(dict.length + dat.length);\n newDat.set(dict);\n newDat.set(dat, dict.length);\n dat = newDat;\n st.w = dict.length;\n }\n }\n return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? (st.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 20) : (12 + opt.mem), pre, post, st);\n};\n// Walmart object spread\nvar mrg = function (a, b) {\n var o = {};\n for (var k in a)\n o[k] = a[k];\n for (var k in b)\n o[k] = b[k];\n return o;\n};\n// worker clone\n// This is possibly the craziest part of the entire codebase, despite how simple it may seem.\n// The only parameter to this function is a closure that returns an array of variables outside of the function scope.\n// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization.\n// We will return an object mapping of true variable name to value (basically, the current scope as a JS object).\n// The reason we can't just use the original variable names is minifiers mangling the toplevel scope.\n// This took me three weeks to figure out how to do.\nvar wcln = function (fn, fnStr, td) {\n var dt = fn();\n var st = fn.toString();\n var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/\\s+/g, '').split(',');\n for (var i = 0; i < dt.length; ++i) {\n var v = dt[i], k = ks[i];\n if (typeof v == 'function') {\n fnStr += ';' + k + '=';\n var st_1 = v.toString();\n if (v.prototype) {\n // for global objects\n if (st_1.indexOf('[native code]') != -1) {\n var spInd = st_1.indexOf(' ', 8) + 1;\n fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd));\n }\n else {\n fnStr += st_1;\n for (var t in v.prototype)\n fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString();\n }\n }\n else\n fnStr += st_1;\n }\n else\n td[k] = v;\n }\n return fnStr;\n};\nvar ch = [];\n// clone bufs\nvar cbfs = function (v) {\n var tl = [];\n for (var k in v) {\n if (v[k].buffer) {\n tl.push((v[k] = new v[k].constructor(v[k])).buffer);\n }\n }\n return tl;\n};\n// use a worker to execute code\nvar wrkr = function (fns, init, id, cb) {\n if (!ch[id]) {\n var fnStr = '', td_1 = {}, m = fns.length - 1;\n for (var i = 0; i < m; ++i)\n fnStr = wcln(fns[i], fnStr, td_1);\n ch[id] = { c: wcln(fns[m], fnStr, td_1), e: td_1 };\n }\n var td = mrg({}, ch[id].e);\n return wk(ch[id].c + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb);\n};\n// base async inflate fn\nvar bInflt = function () { return [u8, u16, i32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, ec, hMap, max, bits, bits16, shft, slc, err, inflt, inflateSync, pbf, gopt]; };\nvar bDflt = function () { return [u8, u16, i32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; };\n// gzip extra\nvar gze = function () { return [gzh, gzhl, wbytes, crc, crct]; };\n// gunzip extra\nvar guze = function () { return [gzs, gzl]; };\n// zlib extra\nvar zle = function () { return [zlh, wbytes, adler]; };\n// unzlib extra\nvar zule = function () { return [zls]; };\n// post buf\nvar pbf = function (msg) { return postMessage(msg, [msg.buffer]); };\n// get opts\nvar gopt = function (o) { return o && {\n out: o.size && new u8(o.size),\n dictionary: o.dictionary\n}; };\n// async helper\nvar cbify = function (dat, opts, fns, init, id, cb) {\n var w = wrkr(fns, init, id, function (err, dat) {\n w.terminate();\n cb(err, dat);\n });\n w.postMessage([dat, opts], opts.consume ? [dat.buffer] : []);\n return function () { w.terminate(); };\n};\n// auto stream\nvar astrm = function (strm) {\n strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); };\n return function (ev) {\n if (ev.data.length) {\n strm.push(ev.data[0], ev.data[1]);\n postMessage([ev.data[0].length]);\n }\n else\n strm.flush();\n };\n};\n// async stream attach\nvar astrmify = function (fns, strm, opts, init, id, flush, ext) {\n var t;\n var w = wrkr(fns, init, id, function (err, dat) {\n if (err)\n w.terminate(), strm.ondata.call(strm, err);\n else if (!Array.isArray(dat))\n ext(dat);\n else if (dat.length == 1) {\n strm.queuedSize -= dat[0];\n if (strm.ondrain)\n strm.ondrain(dat[0]);\n }\n else {\n if (dat[1])\n w.terminate();\n strm.ondata.call(strm, err, dat[0], dat[1]);\n }\n });\n w.postMessage(opts);\n strm.queuedSize = 0;\n strm.push = function (d, f) {\n if (!strm.ondata)\n err(5);\n if (t)\n strm.ondata(err(4, 0, 1), null, !!f);\n strm.queuedSize += d.length;\n w.postMessage([d, t = f], [d.buffer]);\n };\n strm.terminate = function () { w.terminate(); };\n if (flush) {\n strm.flush = function () { w.postMessage([]); };\n }\n};\n// read 2 bytes\nvar b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };\n// read 4 bytes\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };\nvar b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); };\n// write bytes\nvar wbytes = function (d, b, v) {\n for (; v; ++b)\n d[b] = v, v >>>= 8;\n};\n// gzip header\nvar gzh = function (c, o) {\n var fn = o.filename;\n c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix\n if (o.mtime != 0)\n wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000));\n if (fn) {\n c[3] = 8;\n for (var i = 0; i <= fn.length; ++i)\n c[i + 10] = fn.charCodeAt(i);\n }\n};\n// gzip footer: -8 to -4 = CRC, -4 to -0 is length\n// gzip start\nvar gzs = function (d) {\n if (d[0] != 31 || d[1] != 139 || d[2] != 8)\n err(6, 'invalid gzip data');\n var flg = d[3];\n var st = 10;\n if (flg & 4)\n st += (d[10] | d[11] << 8) + 2;\n for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++])\n ;\n return st + (flg & 2);\n};\n// gzip length\nvar gzl = function (d) {\n var l = d.length;\n return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16 | d[l - 1] << 24) >>> 0;\n};\n// gzip header length\nvar gzhl = function (o) { return 10 + (o.filename ? o.filename.length + 1 : 0); };\n// zlib header\nvar zlh = function (c, o) {\n var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;\n c[0] = 120, c[1] = (fl << 6) | (o.dictionary && 32);\n c[1] |= 31 - ((c[0] << 8) | c[1]) % 31;\n if (o.dictionary) {\n var h = adler();\n h.p(o.dictionary);\n wbytes(c, 2, h.d());\n }\n};\n// zlib start\nvar zls = function (d, dict) {\n if ((d[0] & 15) != 8 || (d[0] >> 4) > 7 || ((d[0] << 8 | d[1]) % 31))\n err(6, 'invalid zlib data');\n if ((d[1] >> 5 & 1) == +!dict)\n err(6, 'invalid zlib data: ' + (d[1] & 32 ? 'need' : 'unexpected') + ' dictionary');\n return (d[1] >> 3 & 4) + 2;\n};\nfunction StrmOpt(opts, cb) {\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n return opts;\n}\n/**\n * Streaming DEFLATE compression\n */\nvar Deflate = /*#__PURE__*/ (function () {\n function Deflate(opts, cb) {\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n this.o = opts || {};\n this.s = { l: 0, i: 32768, w: 32768, z: 32768 };\n // Buffer length must always be 0 mod 32768 for index calculations to be correct when modifying head and prev\n // 98304 = 32768 (lookback) + 65536 (common chunk size)\n this.b = new u8(98304);\n if (this.o.dictionary) {\n var dict = this.o.dictionary.subarray(-32768);\n this.b.set(dict, 32768 - dict.length);\n this.s.i = 32768 - dict.length;\n }\n }\n Deflate.prototype.p = function (c, f) {\n this.ondata(dopt(c, this.o, 0, 0, this.s), f);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Deflate.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (this.s.l)\n err(4);\n var endLen = chunk.length + this.s.z;\n if (endLen > this.b.length) {\n if (endLen > 2 * this.b.length - 32768) {\n var newBuf = new u8(endLen & -32768);\n newBuf.set(this.b.subarray(0, this.s.z));\n this.b = newBuf;\n }\n var split = this.b.length - this.s.z;\n this.b.set(chunk.subarray(0, split), this.s.z);\n this.s.z = this.b.length;\n this.p(this.b, false);\n this.b.set(this.b.subarray(-32768));\n this.b.set(chunk.subarray(split), 32768);\n this.s.z = chunk.length - split + 32768;\n this.s.i = 32766, this.s.w = 32768;\n }\n else {\n this.b.set(chunk, this.s.z);\n this.s.z += chunk.length;\n }\n this.s.l = final & 1;\n if (this.s.z > this.s.w + 8191 || final) {\n this.p(this.b, final || false);\n this.s.w = this.s.i, this.s.i -= 2;\n }\n };\n /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * deflated output for small inputs.\n */\n Deflate.prototype.flush = function () {\n if (!this.ondata)\n err(5);\n if (this.s.l)\n err(4);\n this.p(this.b, false);\n this.s.w = this.s.i, this.s.i -= 2;\n };\n return Deflate;\n}());\nexport { Deflate };\n/**\n * Asynchronous streaming DEFLATE compression\n */\nvar AsyncDeflate = /*#__PURE__*/ (function () {\n function AsyncDeflate(opts, cb) {\n astrmify([\n bDflt,\n function () { return [astrm, Deflate]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Deflate(ev.data);\n onmessage = astrm(strm);\n }, 6, 1);\n }\n return AsyncDeflate;\n}());\nexport { AsyncDeflate };\nexport function deflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb);\n}\n/**\n * Compresses data with DEFLATE without any wrapper\n * @param data The data to compress\n * @param opts The compression options\n * @returns The deflated version of the data\n */\nexport function deflateSync(data, opts) {\n return dopt(data, opts || {}, 0, 0);\n}\n/**\n * Streaming DEFLATE decompression\n */\nvar Inflate = /*#__PURE__*/ (function () {\n function Inflate(opts, cb) {\n // no StrmOpt here to avoid adding to workerizer\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n var dict = opts && opts.dictionary && opts.dictionary.subarray(-32768);\n this.s = { i: 0, b: dict ? dict.length : 0 };\n this.o = new u8(32768);\n this.p = new u8(0);\n if (dict)\n this.o.set(dict);\n }\n Inflate.prototype.e = function (c) {\n if (!this.ondata)\n err(5);\n if (this.d)\n err(4);\n if (!this.p.length)\n this.p = c;\n else if (c.length) {\n var n = new u8(this.p.length + c.length);\n n.set(this.p), n.set(c, this.p.length), this.p = n;\n }\n };\n Inflate.prototype.c = function (final) {\n this.s.i = +(this.d = final || false);\n var bts = this.s.b;\n var dt = inflt(this.p, this.s, this.o);\n this.ondata(slc(dt, bts, this.s.b), this.d);\n this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;\n this.p = slc(this.p, (this.s.p / 8) | 0), this.s.p &= 7;\n };\n /**\n * Pushes a chunk to be inflated\n * @param chunk The chunk to push\n * @param final Whether this is the final chunk\n */\n Inflate.prototype.push = function (chunk, final) {\n this.e(chunk), this.c(final);\n };\n return Inflate;\n}());\nexport { Inflate };\n/**\n * Asynchronous streaming DEFLATE decompression\n */\nvar AsyncInflate = /*#__PURE__*/ (function () {\n function AsyncInflate(opts, cb) {\n astrmify([\n bInflt,\n function () { return [astrm, Inflate]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Inflate(ev.data);\n onmessage = astrm(strm);\n }, 7, 0);\n }\n return AsyncInflate;\n}());\nexport { AsyncInflate };\nexport function inflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt\n ], function (ev) { return pbf(inflateSync(ev.data[0], gopt(ev.data[1]))); }, 1, cb);\n}\n/**\n * Expands DEFLATE data with no wrapper\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function inflateSync(data, opts) {\n return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary);\n}\n// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize.\n/**\n * Streaming GZIP compression\n */\nvar Gzip = /*#__PURE__*/ (function () {\n function Gzip(opts, cb) {\n this.c = crc();\n this.l = 0;\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gzip.prototype.push = function (chunk, final) {\n this.c.p(chunk);\n this.l += chunk.length;\n Deflate.prototype.push.call(this, chunk, final);\n };\n Gzip.prototype.p = function (c, f) {\n var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, this.s);\n if (this.v)\n gzh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l);\n this.ondata(raw, f);\n };\n /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * GZIPped output for small inputs.\n */\n Gzip.prototype.flush = function () {\n Deflate.prototype.flush.call(this);\n };\n return Gzip;\n}());\nexport { Gzip };\n/**\n * Asynchronous streaming GZIP compression\n */\nvar AsyncGzip = /*#__PURE__*/ (function () {\n function AsyncGzip(opts, cb) {\n astrmify([\n bDflt,\n gze,\n function () { return [astrm, Deflate, Gzip]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Gzip(ev.data);\n onmessage = astrm(strm);\n }, 8, 1);\n }\n return AsyncGzip;\n}());\nexport { AsyncGzip };\nexport function gzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n gze,\n function () { return [gzipSync]; }\n ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb);\n}\n/**\n * Compresses data with GZIP\n * @param data The data to compress\n * @param opts The compression options\n * @returns The gzipped version of the data\n */\nexport function gzipSync(data, opts) {\n if (!opts)\n opts = {};\n var c = crc(), l = data.length;\n c.p(data);\n var d = dopt(data, opts, gzhl(opts), 8), s = d.length;\n return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d;\n}\n/**\n * Streaming single or multi-member GZIP decompression\n */\nvar Gunzip = /*#__PURE__*/ (function () {\n function Gunzip(opts, cb) {\n this.v = 1;\n this.r = 0;\n Inflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GUNZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gunzip.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n this.r += chunk.length;\n if (this.v) {\n var p = this.p.subarray(this.v - 1);\n var s = p.length > 3 ? gzs(p) : 4;\n if (s > p.length) {\n if (!final)\n return;\n }\n else if (this.v > 1 && this.onmember) {\n this.onmember(this.r - p.length);\n }\n this.p = p.subarray(s), this.v = 0;\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n // process concatenated GZIP\n if (this.s.f && !this.s.l && !final) {\n this.v = shft(this.s.p) + 9;\n this.s = { i: 0 };\n this.o = new u8(0);\n this.push(new u8(0), final);\n }\n };\n return Gunzip;\n}());\nexport { Gunzip };\n/**\n * Asynchronous streaming single or multi-member GZIP decompression\n */\nvar AsyncGunzip = /*#__PURE__*/ (function () {\n function AsyncGunzip(opts, cb) {\n var _this = this;\n astrmify([\n bInflt,\n guze,\n function () { return [astrm, Inflate, Gunzip]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Gunzip(ev.data);\n strm.onmember = function (offset) { return postMessage(offset); };\n onmessage = astrm(strm);\n }, 9, 0, function (offset) { return _this.onmember && _this.onmember(offset); });\n }\n return AsyncGunzip;\n}());\nexport { AsyncGunzip };\nexport function gunzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt,\n guze,\n function () { return [gunzipSync]; }\n ], function (ev) { return pbf(gunzipSync(ev.data[0], ev.data[1])); }, 3, cb);\n}\n/**\n * Expands GZIP data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function gunzipSync(data, opts) {\n var st = gzs(data);\n if (st + 8 > data.length)\n err(6, 'invalid gzip data');\n return inflt(data.subarray(st, -8), { i: 2 }, opts && opts.out || new u8(gzl(data)), opts && opts.dictionary);\n}\n/**\n * Streaming Zlib compression\n */\nvar Zlib = /*#__PURE__*/ (function () {\n function Zlib(opts, cb) {\n this.c = adler();\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be zlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Zlib.prototype.push = function (chunk, final) {\n this.c.p(chunk);\n Deflate.prototype.push.call(this, chunk, final);\n };\n Zlib.prototype.p = function (c, f) {\n var raw = dopt(c, this.o, this.v && (this.o.dictionary ? 6 : 2), f && 4, this.s);\n if (this.v)\n zlh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 4, this.c.d());\n this.ondata(raw, f);\n };\n /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * zlibbed output for small inputs.\n */\n Zlib.prototype.flush = function () {\n Deflate.prototype.flush.call(this);\n };\n return Zlib;\n}());\nexport { Zlib };\n/**\n * Asynchronous streaming Zlib compression\n */\nvar AsyncZlib = /*#__PURE__*/ (function () {\n function AsyncZlib(opts, cb) {\n astrmify([\n bDflt,\n zle,\n function () { return [astrm, Deflate, Zlib]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Zlib(ev.data);\n onmessage = astrm(strm);\n }, 10, 1);\n }\n return AsyncZlib;\n}());\nexport { AsyncZlib };\nexport function zlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n zle,\n function () { return [zlibSync]; }\n ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb);\n}\n/**\n * Compress data with Zlib\n * @param data The data to compress\n * @param opts The compression options\n * @returns The zlib-compressed version of the data\n */\nexport function zlibSync(data, opts) {\n if (!opts)\n opts = {};\n var a = adler();\n a.p(data);\n var d = dopt(data, opts, opts.dictionary ? 6 : 2, 4);\n return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;\n}\n/**\n * Streaming Zlib decompression\n */\nvar Unzlib = /*#__PURE__*/ (function () {\n function Unzlib(opts, cb) {\n Inflate.call(this, opts, cb);\n this.v = opts && opts.dictionary ? 2 : 1;\n }\n /**\n * Pushes a chunk to be unzlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzlib.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n if (this.p.length < 6 && !final)\n return;\n this.p = this.p.subarray(zls(this.p, this.v - 1)), this.v = 0;\n }\n if (final) {\n if (this.p.length < 4)\n err(6, 'invalid zlib data');\n this.p = this.p.subarray(0, -4);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Unzlib;\n}());\nexport { Unzlib };\n/**\n * Asynchronous streaming Zlib decompression\n */\nvar AsyncUnzlib = /*#__PURE__*/ (function () {\n function AsyncUnzlib(opts, cb) {\n astrmify([\n bInflt,\n zule,\n function () { return [astrm, Inflate, Unzlib]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Unzlib(ev.data);\n onmessage = astrm(strm);\n }, 11, 0);\n }\n return AsyncUnzlib;\n}());\nexport { AsyncUnzlib };\nexport function unzlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt,\n zule,\n function () { return [unzlibSync]; }\n ], function (ev) { return pbf(unzlibSync(ev.data[0], gopt(ev.data[1]))); }, 5, cb);\n}\n/**\n * Expands Zlib data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function unzlibSync(data, opts) {\n return inflt(data.subarray(zls(data, opts && opts.dictionary), -4), { i: 2 }, opts && opts.out, opts && opts.dictionary);\n}\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzip as compress, AsyncGzip as AsyncCompress };\nexport { gzipSync as compressSync, Gzip as Compress };\n/**\n * Streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar Decompress = /*#__PURE__*/ (function () {\n function Decompress(opts, cb) {\n this.o = StrmOpt.call(this, opts, cb) || {};\n this.G = Gunzip;\n this.I = Inflate;\n this.Z = Unzlib;\n }\n // init substream\n // overriden by AsyncDecompress\n Decompress.prototype.i = function () {\n var _this = this;\n this.s.ondata = function (dat, final) {\n _this.ondata(dat, final);\n };\n };\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Decompress.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (!this.s) {\n if (this.p && this.p.length) {\n var n = new u8(this.p.length + chunk.length);\n n.set(this.p), n.set(chunk, this.p.length);\n }\n else\n this.p = chunk;\n if (this.p.length > 2) {\n this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8)\n ? new this.G(this.o)\n : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31))\n ? new this.I(this.o)\n : new this.Z(this.o);\n this.i();\n this.s.push(this.p, final);\n this.p = null;\n }\n }\n else\n this.s.push(chunk, final);\n };\n return Decompress;\n}());\nexport { Decompress };\n/**\n * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar AsyncDecompress = /*#__PURE__*/ (function () {\n function AsyncDecompress(opts, cb) {\n Decompress.call(this, opts, cb);\n this.queuedSize = 0;\n this.G = AsyncGunzip;\n this.I = AsyncInflate;\n this.Z = AsyncUnzlib;\n }\n AsyncDecompress.prototype.i = function () {\n var _this = this;\n this.s.ondata = function (err, dat, final) {\n _this.ondata(err, dat, final);\n };\n this.s.ondrain = function (size) {\n _this.queuedSize -= size;\n if (_this.ondrain)\n _this.ondrain(size);\n };\n };\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncDecompress.prototype.push = function (chunk, final) {\n this.queuedSize += chunk.length;\n Decompress.prototype.push.call(this, chunk, final);\n };\n return AsyncDecompress;\n}());\nexport { AsyncDecompress };\nexport function decompress(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzip(data, opts, cb)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflate(data, opts, cb)\n : unzlib(data, opts, cb);\n}\n/**\n * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function decompressSync(data, opts) {\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzipSync(data, opts)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflateSync(data, opts)\n : unzlibSync(data, opts);\n}\n// flatten a directory structure\nvar fltn = function (d, p, t, o) {\n for (var k in d) {\n var val = d[k], n = p + k, op = o;\n if (Array.isArray(val))\n op = mrg(o, val[1]), val = val[0];\n if (val instanceof u8)\n t[n] = [val, op];\n else {\n t[n += '/'] = [new u8(0), op];\n fltn(val, n, t, o);\n }\n }\n};\n// text encoder\nvar te = typeof TextEncoder != 'undefined' && /*#__PURE__*/ new TextEncoder();\n// text decoder\nvar td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder();\n// text decoder stream\nvar tds = 0;\ntry {\n td.decode(et, { stream: true });\n tds = 1;\n}\ncatch (e) { }\n// decode UTF8\nvar dutf8 = function (d) {\n for (var r = '', i = 0;;) {\n var c = d[i++];\n var eb = (c > 127) + (c > 223) + (c > 239);\n if (i + eb > d.length)\n return { s: r, r: slc(d, i - 1) };\n if (!eb)\n r += String.fromCharCode(c);\n else if (eb == 3) {\n c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536,\n r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));\n }\n else if (eb & 1)\n r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63));\n else\n r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63));\n }\n};\n/**\n * Streaming UTF-8 decoding\n */\nvar DecodeUTF8 = /*#__PURE__*/ (function () {\n /**\n * Creates a UTF-8 decoding stream\n * @param cb The callback to call whenever data is decoded\n */\n function DecodeUTF8(cb) {\n this.ondata = cb;\n if (tds)\n this.t = new TextDecoder();\n else\n this.p = et;\n }\n /**\n * Pushes a chunk to be decoded from UTF-8 binary\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n DecodeUTF8.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n final = !!final;\n if (this.t) {\n this.ondata(this.t.decode(chunk, { stream: true }), final);\n if (final) {\n if (this.t.decode().length)\n err(8);\n this.t = null;\n }\n return;\n }\n if (!this.p)\n err(4);\n var dat = new u8(this.p.length + chunk.length);\n dat.set(this.p);\n dat.set(chunk, this.p.length);\n var _a = dutf8(dat), s = _a.s, r = _a.r;\n if (final) {\n if (r.length)\n err(8);\n this.p = null;\n }\n else\n this.p = r;\n this.ondata(s, final);\n };\n return DecodeUTF8;\n}());\nexport { DecodeUTF8 };\n/**\n * Streaming UTF-8 encoding\n */\nvar EncodeUTF8 = /*#__PURE__*/ (function () {\n /**\n * Creates a UTF-8 decoding stream\n * @param cb The callback to call whenever data is encoded\n */\n function EncodeUTF8(cb) {\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be encoded to UTF-8\n * @param chunk The string data to push\n * @param final Whether this is the last chunk\n */\n EncodeUTF8.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (this.d)\n err(4);\n this.ondata(strToU8(chunk), this.d = final || false);\n };\n return EncodeUTF8;\n}());\nexport { EncodeUTF8 };\n/**\n * Converts a string into a Uint8Array for use with compression/decompression methods\n * @param str The string to encode\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless decoding a binary string.\n * @returns The string encoded in UTF-8/Latin-1 binary\n */\nexport function strToU8(str, latin1) {\n if (latin1) {\n var ar_1 = new u8(str.length);\n for (var i = 0; i < str.length; ++i)\n ar_1[i] = str.charCodeAt(i);\n return ar_1;\n }\n if (te)\n return te.encode(str);\n var l = str.length;\n var ar = new u8(str.length + (str.length >> 1));\n var ai = 0;\n var w = function (v) { ar[ai++] = v; };\n for (var i = 0; i < l; ++i) {\n if (ai + 5 > ar.length) {\n var n = new u8(ai + 8 + ((l - i) << 1));\n n.set(ar);\n ar = n;\n }\n var c = str.charCodeAt(i);\n if (c < 128 || latin1)\n w(c);\n else if (c < 2048)\n w(192 | (c >> 6)), w(128 | (c & 63));\n else if (c > 55295 && c < 57344)\n c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023),\n w(240 | (c >> 18)), w(128 | ((c >> 12) & 63)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));\n else\n w(224 | (c >> 12)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));\n }\n return slc(ar, 0, ai);\n}\n/**\n * Converts a Uint8Array to a string\n * @param dat The data to decode to string\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless encoding to binary string.\n * @returns The original UTF-8/Latin-1 string\n */\nexport function strFromU8(dat, latin1) {\n if (latin1) {\n var r = '';\n for (var i = 0; i < dat.length; i += 16384)\n r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384));\n return r;\n }\n else if (td) {\n return td.decode(dat);\n }\n else {\n var _a = dutf8(dat), s = _a.s, r = _a.r;\n if (r.length)\n err(8);\n return s;\n }\n}\n;\n// deflate bit flag\nvar dbf = function (l) { return l == 1 ? 3 : l < 6 ? 2 : l == 9 ? 1 : 0; };\n// skip local zip header\nvar slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };\n// read zip header\nvar zh = function (d, b, z) {\n var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20);\n var _a = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];\n return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];\n};\n// read zip64 extra field\nvar z64e = function (d, b) {\n for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))\n ;\n return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)];\n};\n// extra field length\nvar exfl = function (ex) {\n var le = 0;\n if (ex) {\n for (var k in ex) {\n var l = ex[k].length;\n if (l > 65535)\n err(9);\n le += l + 4;\n }\n }\n return le;\n};\n// write zip header\nvar wzh = function (d, b, f, fn, u, c, ce, co) {\n var fl = fn.length, ex = f.extra, col = co && co.length;\n var exl = exfl(ex);\n wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4;\n if (ce != null)\n d[b++] = 20, d[b++] = f.os;\n d[b] = 20, b += 2; // spec compliance? what's that?\n d[b++] = (f.flag << 1) | (c < 0 && 8), d[b++] = u && 8;\n d[b++] = f.compression & 255, d[b++] = f.compression >> 8;\n var dt = new Date(f.mtime == null ? Date.now() : f.mtime), y = dt.getFullYear() - 1980;\n if (y < 0 || y > 119)\n err(10);\n wbytes(d, b, (y << 25) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >> 1)), b += 4;\n if (c != -1) {\n wbytes(d, b, f.crc);\n wbytes(d, b + 4, c < 0 ? -c - 2 : c);\n wbytes(d, b + 8, f.size);\n }\n wbytes(d, b + 12, fl);\n wbytes(d, b + 14, exl), b += 16;\n if (ce != null) {\n wbytes(d, b, col);\n wbytes(d, b + 6, f.attrs);\n wbytes(d, b + 10, ce), b += 14;\n }\n d.set(fn, b);\n b += fl;\n if (exl) {\n for (var k in ex) {\n var exf = ex[k], l = exf.length;\n wbytes(d, b, +k);\n wbytes(d, b + 2, l);\n d.set(exf, b + 4), b += 4 + l;\n }\n }\n if (col)\n d.set(co, b), b += col;\n return b;\n};\n// write zip footer (end of central directory)\nvar wzf = function (o, b, c, d, e) {\n wbytes(o, b, 0x6054B50); // skip disk\n wbytes(o, b + 8, c);\n wbytes(o, b + 10, c);\n wbytes(o, b + 12, d);\n wbytes(o, b + 16, e);\n};\n/**\n * A pass-through stream to keep data uncompressed in a ZIP archive.\n */\nvar ZipPassThrough = /*#__PURE__*/ (function () {\n /**\n * Creates a pass-through stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n */\n function ZipPassThrough(filename) {\n this.filename = filename;\n this.c = crc();\n this.size = 0;\n this.compression = 0;\n }\n /**\n * Processes a chunk and pushes to the output stream. You can override this\n * method in a subclass for custom behavior, but by default this passes\n * the data through. You must call this.ondata(err, chunk, final) at some\n * point in this method.\n * @param chunk The chunk to process\n * @param final Whether this is the last chunk\n */\n ZipPassThrough.prototype.process = function (chunk, final) {\n this.ondata(null, chunk, final);\n };\n /**\n * Pushes a chunk to be added. If you are subclassing this with a custom\n * compression algorithm, note that you must push data from the source\n * file only, pre-compression.\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n ZipPassThrough.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n this.c.p(chunk);\n this.size += chunk.length;\n if (final)\n this.crc = this.c.d();\n this.process(chunk, final || false);\n };\n return ZipPassThrough;\n}());\nexport { ZipPassThrough };\n// I don't extend because TypeScript extension adds 1kB of runtime bloat\n/**\n * Streaming DEFLATE compression for ZIP archives. Prefer using AsyncZipDeflate\n * for better performance\n */\nvar ZipDeflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n * @param opts The compression options\n */\n function ZipDeflate(filename, opts) {\n var _this = this;\n if (!opts)\n opts = {};\n ZipPassThrough.call(this, filename);\n this.d = new Deflate(opts, function (dat, final) {\n _this.ondata(null, dat, final);\n });\n this.compression = 8;\n this.flag = dbf(opts.level);\n }\n ZipDeflate.prototype.process = function (chunk, final) {\n try {\n this.d.push(chunk, final);\n }\n catch (e) {\n this.ondata(e, null, final);\n }\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n ZipDeflate.prototype.push = function (chunk, final) {\n ZipPassThrough.prototype.push.call(this, chunk, final);\n };\n return ZipDeflate;\n}());\nexport { ZipDeflate };\n/**\n * Asynchronous streaming DEFLATE compression for ZIP archives\n */\nvar AsyncZipDeflate = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous DEFLATE stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n * @param opts The compression options\n */\n function AsyncZipDeflate(filename, opts) {\n var _this = this;\n if (!opts)\n opts = {};\n ZipPassThrough.call(this, filename);\n this.d = new AsyncDeflate(opts, function (err, dat, final) {\n _this.ondata(err, dat, final);\n });\n this.compression = 8;\n this.flag = dbf(opts.level);\n this.terminate = this.d.terminate;\n }\n AsyncZipDeflate.prototype.process = function (chunk, final) {\n this.d.push(chunk, final);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncZipDeflate.prototype.push = function (chunk, final) {\n ZipPassThrough.prototype.push.call(this, chunk, final);\n };\n return AsyncZipDeflate;\n}());\nexport { AsyncZipDeflate };\n// TODO: Better tree shaking\n/**\n * A zippable archive to which files can incrementally be added\n */\nvar Zip = /*#__PURE__*/ (function () {\n /**\n * Creates an empty ZIP archive to which files can be added\n * @param cb The callback to call whenever data for the generated ZIP archive\n * is available\n */\n function Zip(cb) {\n this.ondata = cb;\n this.u = [];\n this.d = 1;\n }\n /**\n * Adds a file to the ZIP archive\n * @param file The file stream to add\n */\n Zip.prototype.add = function (file) {\n var _this = this;\n if (!this.ondata)\n err(5);\n // finishing or finished\n if (this.d & 2)\n this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, false);\n else {\n var f = strToU8(file.filename), fl_1 = f.length;\n var com = file.comment, o = com && strToU8(com);\n var u = fl_1 != file.filename.length || (o && (com.length != o.length));\n var hl_1 = fl_1 + exfl(file.extra) + 30;\n if (fl_1 > 65535)\n this.ondata(err(11, 0, 1), null, false);\n var header = new u8(hl_1);\n wzh(header, 0, file, f, u, -1);\n var chks_1 = [header];\n var pAll_1 = function () {\n for (var _i = 0, chks_2 = chks_1; _i < chks_2.length; _i++) {\n var chk = chks_2[_i];\n _this.ondata(null, chk, false);\n }\n chks_1 = [];\n };\n var tr_1 = this.d;\n this.d = 0;\n var ind_1 = this.u.length;\n var uf_1 = mrg(file, {\n f: f,\n u: u,\n o: o,\n t: function () {\n if (file.terminate)\n file.terminate();\n },\n r: function () {\n pAll_1();\n if (tr_1) {\n var nxt = _this.u[ind_1 + 1];\n if (nxt)\n nxt.r();\n else\n _this.d = 1;\n }\n tr_1 = 1;\n }\n });\n var cl_1 = 0;\n file.ondata = function (err, dat, final) {\n if (err) {\n _this.ondata(err, dat, final);\n _this.terminate();\n }\n else {\n cl_1 += dat.length;\n chks_1.push(dat);\n if (final) {\n var dd = new u8(16);\n wbytes(dd, 0, 0x8074B50);\n wbytes(dd, 4, file.crc);\n wbytes(dd, 8, cl_1);\n wbytes(dd, 12, file.size);\n chks_1.push(dd);\n uf_1.c = cl_1, uf_1.b = hl_1 + cl_1 + 16, uf_1.crc = file.crc, uf_1.size = file.size;\n if (tr_1)\n uf_1.r();\n tr_1 = 1;\n }\n else if (tr_1)\n pAll_1();\n }\n };\n this.u.push(uf_1);\n }\n };\n /**\n * Ends the process of adding files and prepares to emit the final chunks.\n * This *must* be called after adding all desired files for the resulting\n * ZIP file to work properly.\n */\n Zip.prototype.end = function () {\n var _this = this;\n if (this.d & 2) {\n this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, true);\n return;\n }\n if (this.d)\n this.e();\n else\n this.u.push({\n r: function () {\n if (!(_this.d & 1))\n return;\n _this.u.splice(-1, 1);\n _this.e();\n },\n t: function () { }\n });\n this.d = 3;\n };\n Zip.prototype.e = function () {\n var bt = 0, l = 0, tl = 0;\n for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n var f = _a[_i];\n tl += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0);\n }\n var out = new u8(tl + 22);\n for (var _b = 0, _c = this.u; _b < _c.length; _b++) {\n var f = _c[_b];\n wzh(out, bt, f, f.f, f.u, -f.c - 2, l, f.o);\n bt += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0), l += f.b;\n }\n wzf(out, bt, this.u.length, tl, l);\n this.ondata(null, out, true);\n this.d = 2;\n };\n /**\n * A method to terminate any internal workers used by the stream. Subsequent\n * calls to add() will fail.\n */\n Zip.prototype.terminate = function () {\n for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n var f = _a[_i];\n f.t();\n }\n this.d = 2;\n };\n return Zip;\n}());\nexport { Zip };\nexport function zip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n var r = {};\n fltn(data, '', r, opts);\n var k = Object.keys(r);\n var lft = k.length, o = 0, tot = 0;\n var slft = lft, files = new Array(lft);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var cbd = function (a, b) {\n mt(function () { cb(a, b); });\n };\n mt(function () { cbd = cb; });\n var cbf = function () {\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n tot = 0;\n for (var i = 0; i < slft; ++i) {\n var f = files[i];\n try {\n var l = f.c.length;\n wzh(out, tot, f, f.f, f.u, l);\n var badd = 30 + f.f.length + exfl(f.extra);\n var loc = tot + badd;\n out.set(f.c, loc);\n wzh(out, o, f, f.f, f.u, l, tot, f.m), o += 16 + badd + (f.m ? f.m.length : 0), tot = loc + l;\n }\n catch (e) {\n return cbd(e, null);\n }\n }\n wzf(out, o, files.length, cdl, oe);\n cbd(null, out);\n };\n if (!lft)\n cbf();\n var _loop_1 = function (i) {\n var fn = k[i];\n var _a = r[fn], file = _a[0], p = _a[1];\n var c = crc(), size = file.length;\n c.p(file);\n var f = strToU8(fn), s = f.length;\n var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n var exl = exfl(p.extra);\n var compression = p.level == 0 ? 0 : 8;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cbd(e, null);\n }\n else {\n var l = d.length;\n files[i] = mrg(p, {\n size: size,\n crc: c.d(),\n c: d,\n f: f,\n m: m,\n u: s != fn.length || (m && (com.length != ms)),\n compression: compression\n });\n o += 30 + s + exl + l;\n tot += 76 + 2 * (s + exl) + (ms || 0) + l;\n if (!--lft)\n cbf();\n }\n };\n if (s > 65535)\n cbl(err(11, 0, 1), null);\n if (!compression)\n cbl(null, file);\n else if (size < 160000) {\n try {\n cbl(null, deflateSync(file, p));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(deflate(file, p, cbl));\n };\n // Cannot use lft because it can decrease\n for (var i = 0; i < slft; ++i) {\n _loop_1(i);\n }\n return tAll;\n}\n/**\n * Synchronously creates a ZIP file. Prefer using `zip` for better performance\n * with more than one file.\n * @param data The directory structure for the ZIP archive\n * @param opts The main options, merged with per-file options\n * @returns The generated ZIP archive\n */\nexport function zipSync(data, opts) {\n if (!opts)\n opts = {};\n var r = {};\n var files = [];\n fltn(data, '', r, opts);\n var o = 0;\n var tot = 0;\n for (var fn in r) {\n var _a = r[fn], file = _a[0], p = _a[1];\n var compression = p.level == 0 ? 0 : 8;\n var f = strToU8(fn), s = f.length;\n var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n var exl = exfl(p.extra);\n if (s > 65535)\n err(11);\n var d = compression ? deflateSync(file, p) : file, l = d.length;\n var c = crc();\n c.p(file);\n files.push(mrg(p, {\n size: file.length,\n crc: c.d(),\n c: d,\n f: f,\n m: m,\n u: s != fn.length || (m && (com.length != ms)),\n o: o,\n compression: compression\n }));\n o += 30 + s + exl + l;\n tot += 76 + 2 * (s + exl) + (ms || 0) + l;\n }\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n for (var i = 0; i < files.length; ++i) {\n var f = files[i];\n wzh(out, f.o, f, f.f, f.u, f.c.length);\n var badd = 30 + f.f.length + exfl(f.extra);\n out.set(f.c, f.o + badd);\n wzh(out, o, f, f.f, f.u, f.c.length, f.o, f.m), o += 16 + badd + (f.m ? f.m.length : 0);\n }\n wzf(out, o, files.length, cdl, oe);\n return out;\n}\n/**\n * Streaming pass-through decompression for ZIP archives\n */\nvar UnzipPassThrough = /*#__PURE__*/ (function () {\n function UnzipPassThrough() {\n }\n UnzipPassThrough.prototype.push = function (data, final) {\n this.ondata(null, data, final);\n };\n UnzipPassThrough.compression = 0;\n return UnzipPassThrough;\n}());\nexport { UnzipPassThrough };\n/**\n * Streaming DEFLATE decompression for ZIP archives. Prefer AsyncZipInflate for\n * better performance.\n */\nvar UnzipInflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE decompression that can be used in ZIP archives\n */\n function UnzipInflate() {\n var _this = this;\n this.i = new Inflate(function (dat, final) {\n _this.ondata(null, dat, final);\n });\n }\n UnzipInflate.prototype.push = function (data, final) {\n try {\n this.i.push(data, final);\n }\n catch (e) {\n this.ondata(e, null, final);\n }\n };\n UnzipInflate.compression = 8;\n return UnzipInflate;\n}());\nexport { UnzipInflate };\n/**\n * Asynchronous streaming DEFLATE decompression for ZIP archives\n */\nvar AsyncUnzipInflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE decompression that can be used in ZIP archives\n */\n function AsyncUnzipInflate(_, sz) {\n var _this = this;\n if (sz < 320000) {\n this.i = new Inflate(function (dat, final) {\n _this.ondata(null, dat, final);\n });\n }\n else {\n this.i = new AsyncInflate(function (err, dat, final) {\n _this.ondata(err, dat, final);\n });\n this.terminate = this.i.terminate;\n }\n }\n AsyncUnzipInflate.prototype.push = function (data, final) {\n if (this.i.terminate)\n data = slc(data, 0);\n this.i.push(data, final);\n };\n AsyncUnzipInflate.compression = 8;\n return AsyncUnzipInflate;\n}());\nexport { AsyncUnzipInflate };\n/**\n * A ZIP archive decompression stream that emits files as they are discovered\n */\nvar Unzip = /*#__PURE__*/ (function () {\n /**\n * Creates a ZIP decompression stream\n * @param cb The callback to call whenever a file in the ZIP archive is found\n */\n function Unzip(cb) {\n this.onfile = cb;\n this.k = [];\n this.o = {\n 0: UnzipPassThrough\n };\n this.p = et;\n }\n /**\n * Pushes a chunk to be unzipped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzip.prototype.push = function (chunk, final) {\n var _this = this;\n if (!this.onfile)\n err(5);\n if (!this.p)\n err(4);\n if (this.c > 0) {\n var len = Math.min(this.c, chunk.length);\n var toAdd = chunk.subarray(0, len);\n this.c -= len;\n if (this.d)\n this.d.push(toAdd, !this.c);\n else\n this.k[0].push(toAdd);\n chunk = chunk.subarray(len);\n if (chunk.length)\n return this.push(chunk, final);\n }\n else {\n var f = 0, i = 0, is = void 0, buf = void 0;\n if (!this.p.length)\n buf = chunk;\n else if (!chunk.length)\n buf = this.p;\n else {\n buf = new u8(this.p.length + chunk.length);\n buf.set(this.p), buf.set(chunk, this.p.length);\n }\n var l = buf.length, oc = this.c, add = oc && this.d;\n var _loop_2 = function () {\n var _a;\n var sig = b4(buf, i);\n if (sig == 0x4034B50) {\n f = 1, is = i;\n this_1.d = null;\n this_1.c = 0;\n var bf = b2(buf, i + 6), cmp_1 = b2(buf, i + 8), u = bf & 2048, dd = bf & 8, fnl = b2(buf, i + 26), es = b2(buf, i + 28);\n if (l > i + 30 + fnl + es) {\n var chks_3 = [];\n this_1.k.unshift(chks_3);\n f = 2;\n var sc_1 = b4(buf, i + 18), su_1 = b4(buf, i + 22);\n var fn_1 = strFromU8(buf.subarray(i + 30, i += 30 + fnl), !u);\n if (sc_1 == 4294967295) {\n _a = dd ? [-2] : z64e(buf, i), sc_1 = _a[0], su_1 = _a[1];\n }\n else if (dd)\n sc_1 = -1;\n i += es;\n this_1.c = sc_1;\n var d_1;\n var file_1 = {\n name: fn_1,\n compression: cmp_1,\n start: function () {\n if (!file_1.ondata)\n err(5);\n if (!sc_1)\n file_1.ondata(null, et, true);\n else {\n var ctr = _this.o[cmp_1];\n if (!ctr)\n file_1.ondata(err(14, 'unknown compression type ' + cmp_1, 1), null, false);\n d_1 = sc_1 < 0 ? new ctr(fn_1) : new ctr(fn_1, sc_1, su_1);\n d_1.ondata = function (err, dat, final) { file_1.ondata(err, dat, final); };\n for (var _i = 0, chks_4 = chks_3; _i < chks_4.length; _i++) {\n var dat = chks_4[_i];\n d_1.push(dat, false);\n }\n if (_this.k[0] == chks_3 && _this.c)\n _this.d = d_1;\n else\n d_1.push(et, true);\n }\n },\n terminate: function () {\n if (d_1 && d_1.terminate)\n d_1.terminate();\n }\n };\n if (sc_1 >= 0)\n file_1.size = sc_1, file_1.originalSize = su_1;\n this_1.onfile(file_1);\n }\n return \"break\";\n }\n else if (oc) {\n if (sig == 0x8074B50) {\n is = i += 12 + (oc == -2 && 8), f = 3, this_1.c = 0;\n return \"break\";\n }\n else if (sig == 0x2014B50) {\n is = i -= 4, f = 3, this_1.c = 0;\n return \"break\";\n }\n }\n };\n var this_1 = this;\n for (; i < l - 4; ++i) {\n var state_1 = _loop_2();\n if (state_1 === \"break\")\n break;\n }\n this.p = et;\n if (oc < 0) {\n var dat = f ? buf.subarray(0, is - 12 - (oc == -2 && 8) - (b4(buf, is - 16) == 0x8074B50 && 4)) : buf.subarray(0, i);\n if (add)\n add.push(dat, !!f);\n else\n this.k[+(f == 2)].push(dat);\n }\n if (f & 2)\n return this.push(buf.subarray(i), final);\n this.p = buf.subarray(i);\n }\n if (final) {\n if (this.c)\n err(13);\n this.p = null;\n }\n };\n /**\n * Registers a decoder with the stream, allowing for files compressed with\n * the compression type provided to be expanded correctly\n * @param decoder The decoder constructor\n */\n Unzip.prototype.register = function (decoder) {\n this.o[decoder.compression] = decoder;\n };\n return Unzip;\n}());\nexport { Unzip };\nvar mt = typeof queueMicrotask == 'function' ? queueMicrotask : typeof setTimeout == 'function' ? setTimeout : function (fn) { fn(); };\nexport function unzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var files = {};\n var cbd = function (a, b) {\n mt(function () { cb(a, b); });\n };\n mt(function () { cbd = cb; });\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558) {\n cbd(err(13, 0, 1), null);\n return tAll;\n }\n }\n ;\n var lft = b2(data, e + 8);\n if (lft) {\n var c = lft;\n var o = b4(data, e + 16);\n var z = o == 4294967295 || c == 65535;\n if (z) {\n var ze = b4(data, e - 12);\n z = b4(data, ze) == 0x6064B50;\n if (z) {\n c = lft = b4(data, ze + 32);\n o = b4(data, ze + 48);\n }\n }\n var fltr = opts && opts.filter;\n var _loop_3 = function (i) {\n var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cbd(e, null);\n }\n else {\n if (d)\n files[fn] = d;\n if (!--lft)\n cbd(null, files);\n }\n };\n if (!fltr || fltr({\n name: fn,\n size: sc,\n originalSize: su,\n compression: c_1\n })) {\n if (!c_1)\n cbl(null, slc(data, b, b + sc));\n else if (c_1 == 8) {\n var infl = data.subarray(b, b + sc);\n // Synchronously decompress under 512KB, or barely-compressed data\n if (su < 524288 || sc > 0.8 * su) {\n try {\n cbl(null, inflateSync(infl, { out: new u8(su) }));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(inflate(infl, { size: su }, cbl));\n }\n else\n cbl(err(14, 'unknown compression type ' + c_1, 1), null);\n }\n else\n cbl(null, null);\n };\n for (var i = 0; i < c; ++i) {\n _loop_3(i);\n }\n }\n else\n cbd(null, {});\n return tAll;\n}\n/**\n * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better\n * performance with more than one file.\n * @param data The raw compressed ZIP file\n * @param opts The ZIP extraction options\n * @returns The decompressed files\n */\nexport function unzipSync(data, opts) {\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558)\n err(13);\n }\n ;\n var c = b2(data, e + 8);\n if (!c)\n return {};\n var o = b4(data, e + 16);\n var z = o == 4294967295 || c == 65535;\n if (z) {\n var ze = b4(data, e - 12);\n z = b4(data, ze) == 0x6064B50;\n if (z) {\n c = b4(data, ze + 32);\n o = b4(data, ze + 48);\n }\n }\n var fltr = opts && opts.filter;\n for (var i = 0; i < c; ++i) {\n var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n if (!fltr || fltr({\n name: fn,\n size: sc,\n originalSize: su,\n compression: c_2\n })) {\n if (!c_2)\n files[fn] = slc(data, b, b + sc);\n else if (c_2 == 8)\n files[fn] = inflateSync(data.subarray(b, b + sc), { out: new u8(su) });\n else\n err(14, 'unknown compression type ' + c_2);\n }\n }\n return files;\n}\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIl = moment.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enIl;\n\n})));\n","/**\r\n * DevExtreme (esm/events/contextmenu.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n touch\r\n} from \"../core/utils/support\";\r\nimport devices from \"../core/devices\";\r\nimport Class from \"../core/class\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n addNamespace,\r\n fireEvent,\r\n isMouseEvent\r\n} from \"./utils/index\";\r\nimport holdEvent from \"./hold\";\r\nvar CONTEXTMENU_NAMESPACE = \"dxContexMenu\";\r\nvar CONTEXTMENU_NAMESPACED_EVENT_NAME = addNamespace(\"contextmenu\", CONTEXTMENU_NAMESPACE);\r\nvar HOLD_NAMESPACED_EVENT_NAME = addNamespace(holdEvent.name, CONTEXTMENU_NAMESPACE);\r\nvar CONTEXTMENU_EVENT_NAME = \"dxcontextmenu\";\r\nvar ContextMenu = Class.inherit({\r\n setup: function(element) {\r\n var $element = $(element);\r\n eventsEngine.on($element, CONTEXTMENU_NAMESPACED_EVENT_NAME, this._contextMenuHandler.bind(this));\r\n if (touch || devices.isSimulator()) {\r\n eventsEngine.on($element, HOLD_NAMESPACED_EVENT_NAME, this._holdHandler.bind(this))\r\n }\r\n },\r\n _holdHandler: function(e) {\r\n if (isMouseEvent(e) && !devices.isSimulator()) {\r\n return\r\n }\r\n this._fireContextMenu(e)\r\n },\r\n _contextMenuHandler: function(e) {\r\n this._fireContextMenu(e)\r\n },\r\n _fireContextMenu: function(e) {\r\n return fireEvent({\r\n type: CONTEXTMENU_EVENT_NAME,\r\n originalEvent: e\r\n })\r\n },\r\n teardown: function(element) {\r\n eventsEngine.off(element, \".\" + CONTEXTMENU_NAMESPACE)\r\n }\r\n});\r\nregisterEvent(CONTEXTMENU_EVENT_NAME, new ContextMenu);\r\nexport var name = CONTEXTMENU_EVENT_NAME;\r\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","/**\r\n * DevExtreme (esm/events/hold.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n eventData,\r\n eventDelta\r\n} from \"./utils/index\";\r\nimport Emitter from \"./core/emitter\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar abs = Math.abs;\r\nvar HOLD_EVENT_NAME = \"dxhold\";\r\nvar HOLD_TIMEOUT = 750;\r\nvar TOUCH_BOUNDARY = 5;\r\nvar HoldEmitter = Emitter.inherit({\r\n start: function(e) {\r\n this._startEventData = eventData(e);\r\n this._startTimer(e)\r\n },\r\n _startTimer: function(e) {\r\n var holdTimeout = \"timeout\" in this ? this.timeout : HOLD_TIMEOUT;\r\n this._holdTimer = setTimeout(function() {\r\n this._requestAccept(e);\r\n this._fireEvent(HOLD_EVENT_NAME, e, {\r\n target: e.target\r\n });\r\n this._forgetAccept()\r\n }.bind(this), holdTimeout)\r\n },\r\n move: function(e) {\r\n if (this._touchWasMoved(e)) {\r\n this._cancel(e)\r\n }\r\n },\r\n _touchWasMoved: function(e) {\r\n var delta = eventDelta(this._startEventData, eventData(e));\r\n return abs(delta.x) > TOUCH_BOUNDARY || abs(delta.y) > TOUCH_BOUNDARY\r\n },\r\n end: function() {\r\n this._stopTimer()\r\n },\r\n _stopTimer: function() {\r\n clearTimeout(this._holdTimer)\r\n },\r\n cancel: function() {\r\n this._stopTimer()\r\n },\r\n dispose: function() {\r\n this._stopTimer()\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: HoldEmitter,\r\n bubble: true,\r\n events: [HOLD_EVENT_NAME]\r\n});\r\nexport default {\r\n name: HOLD_EVENT_NAME\r\n};\r\n","// Styles\nimport './VApp.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(\n Themeable\n).extend({\n name: 'v-app',\n\n props: {\n dark: {\n type: Boolean,\n default: undefined,\n },\n id: {\n type: String,\n default: 'app',\n },\n light: {\n type: Boolean,\n default: undefined,\n },\n },\n\n computed: {\n isDark (): boolean {\n return this.$vuetify.theme.dark\n },\n },\n\n beforeCreate () {\n if (!this.$vuetify || (this.$vuetify === this.$root as any)) {\n throw new Error('Vuetify is not properly initialized, see https://v2.vuetifyjs.com/getting-started/quick-start#bootstrapping-the-vuetify-object')\n }\n },\n\n render (h) {\n const wrapper = h('div', { staticClass: 'v-application--wrap' }, getSlot(this))\n\n return h('div', {\n staticClass: 'v-application',\n class: {\n 'v-application--is-rtl': this.$vuetify.rtl,\n 'v-application--is-ltr': !this.$vuetify.rtl,\n ...this.themeClasses,\n },\n attrs: { 'data-app': true },\n domProps: { id: this.id },\n }, [wrapper])\n },\n})\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sw = moment.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays:\n 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n '_'\n ),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'hh:mm A',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'siku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Kurdish [ku-kmr]\n//! authors : Mazlum Özdogan : https://github.com/mergehez\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(num, withoutSuffix, key, isFuture) {\n var format = {\n s: ['çend sanîye', 'çend sanîyeyan'],\n ss: [num + ' sanîye', num + ' sanîyeyan'],\n m: ['deqîqeyek', 'deqîqeyekê'],\n mm: [num + ' deqîqe', num + ' deqîqeyan'],\n h: ['saetek', 'saetekê'],\n hh: [num + ' saet', num + ' saetan'],\n d: ['rojek', 'rojekê'],\n dd: [num + ' roj', num + ' rojan'],\n w: ['hefteyek', 'hefteyekê'],\n ww: [num + ' hefte', num + ' hefteyan'],\n M: ['mehek', 'mehekê'],\n MM: [num + ' meh', num + ' mehan'],\n y: ['salek', 'salekê'],\n yy: [num + ' sal', num + ' salan'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n // function obliqueNumSuffix(num) {\n // if(num.includes(':'))\n // num = parseInt(num.split(':')[0]);\n // else\n // num = parseInt(num);\n // return num == 0 || num % 10 == 1 ? 'ê'\n // : (num > 10 && num % 10 == 0 ? 'î' : 'an');\n // }\n function ezafeNumSuffix(num) {\n num = '' + num;\n var l = num.substring(num.length - 1),\n ll = num.length > 1 ? num.substring(num.length - 2) : '';\n if (\n !(ll == 12 || ll == 13) &&\n (l == '2' || l == '3' || ll == '50' || l == '70' || l == '80')\n )\n return 'yê';\n return 'ê';\n }\n\n var kuKmr = moment.defineLocale('ku-kmr', {\n // According to the spelling rules defined by the work group of Weqfa Mezopotamyayê (Mesopotamia Foundation)\n // this should be: 'Kanûna Paşîn_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Çirîya Pêşîn_Çirîya Paşîn_Kanûna Pêşîn'\n // But the names below are more well known and handy\n months: 'Rêbendan_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Cotmeh_Mijdar_Berfanbar'.split(\n '_'\n ),\n monthsShort: 'Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_Îlo_Cot_Mij_Ber'.split('_'),\n monthsParseExact: true,\n weekdays: 'Yekşem_Duşem_Sêşem_Çarşem_Pêncşem_În_Şemî'.split('_'),\n weekdaysShort: 'Yek_Du_Sê_Çar_Pên_În_Şem'.split('_'),\n weekdaysMin: 'Ye_Du_Sê_Ça_Pê_În_Şe'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'bn' : 'BN';\n } else {\n return isLower ? 'pn' : 'PN';\n }\n },\n meridiemParse: /bn|BN|pn|PN/,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[a] YYYY[an]',\n LLL: 'Do MMMM[a] YYYY[an] HH:mm',\n LLLL: 'dddd, Do MMMM[a] YYYY[an] HH:mm',\n ll: 'Do MMM[.] YYYY[an]',\n lll: 'Do MMM[.] YYYY[an] HH:mm',\n llll: 'ddd[.], Do MMM[.] YYYY[an] HH:mm',\n },\n calendar: {\n sameDay: '[Îro di saet] LT [de]',\n nextDay: '[Sibê di saet] LT [de]',\n nextWeek: 'dddd [di saet] LT [de]',\n lastDay: '[Duh di saet] LT [de]',\n lastWeek: 'dddd[a borî di saet] LT [de]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'di %s de',\n past: 'berî %s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(?:yê|ê|\\.)/,\n ordinal: function (num, period) {\n var p = period.toLowerCase();\n if (p.includes('w') || p.includes('m')) return num + '.';\n\n return num + ezafeNumSuffix(num);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return kuKmr;\n\n})));\n","import Vue from 'vue'\nimport { PropType, RenderContext } from 'vue/types/options'\n\ninterface options extends Vue {\n theme: {\n isDark: boolean\n }\n}\n\n/* @vue/component */\nconst Themeable = Vue.extend<options>().extend({\n name: 'themeable',\n\n provide (): object {\n return {\n theme: this.themeableProvide,\n }\n },\n\n inject: {\n theme: {\n default: {\n isDark: false,\n },\n },\n },\n\n props: {\n dark: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n light: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n },\n\n data () {\n return {\n themeableProvide: {\n isDark: false,\n },\n }\n },\n\n computed: {\n appIsDark (): boolean {\n return this.$vuetify.theme.dark || false\n },\n isDark (): boolean {\n if (this.dark === true) {\n // explicitly dark\n return true\n } else if (this.light === true) {\n // explicitly light\n return false\n } else {\n // inherit from parent, or default false if there is none\n return this.theme.isDark\n }\n },\n themeClasses (): object {\n return {\n 'theme--dark': this.isDark,\n 'theme--light': !this.isDark,\n }\n },\n /** Used by menus and dialogs, inherits from v-app instead of the parent */\n rootIsDark (): boolean {\n if (this.dark === true) {\n // explicitly dark\n return true\n } else if (this.light === true) {\n // explicitly light\n return false\n } else {\n // inherit from v-app\n return this.appIsDark\n }\n },\n rootThemeClasses (): Dictionary<boolean> {\n return {\n 'theme--dark': this.rootIsDark,\n 'theme--light': !this.rootIsDark,\n }\n },\n },\n\n watch: {\n isDark: {\n handler (newVal, oldVal) {\n if (newVal !== oldVal) {\n this.themeableProvide.isDark = this.isDark\n }\n },\n immediate: true,\n },\n },\n})\n\nexport default Themeable\n\nexport function functionalThemeClasses (context: RenderContext): object {\n const vm = {\n ...context.props,\n ...context.injections,\n }\n const isDark = Themeable.options.computed.isDark.call(vm)\n return Themeable.options.computed.themeClasses.call({ isDark })\n}\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_relative_offset.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function getRelativeOffset(targetElementClass, sourceElement) {\r\n var offset = {\r\n left: 0,\r\n top: 0\r\n };\r\n var element = sourceElement;\r\n while (null !== (_element = element) && void 0 !== _element && _element.offsetParent && !element.classList.contains(targetElementClass)) {\r\n var _element;\r\n var parentElement = element.offsetParent;\r\n var elementRect = element.getBoundingClientRect();\r\n var parentElementRect = parentElement.getBoundingClientRect();\r\n offset.left += elementRect.left - parentElementRect.left;\r\n offset.top += elementRect.top - parentElementRect.top;\r\n element = element.offsetParent\r\n }\r\n return offset\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/view_port.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport readyCallbacks from \"./ready_callbacks\";\r\nvar ready = readyCallbacks.add;\r\nimport callbacks from \"./callbacks\";\r\nvar changeCallback = callbacks();\r\nvar $originalViewPort = $();\r\nvar value = function() {\r\n var $current;\r\n return function(element) {\r\n if (!arguments.length) {\r\n return $current\r\n }\r\n var $element = $(element);\r\n $originalViewPort = $element;\r\n var isNewViewportFound = !!$element.length;\r\n var prevViewPort = value();\r\n $current = isNewViewportFound ? $element : $(\"body\");\r\n changeCallback.fire(isNewViewportFound ? value() : $(), prevViewPort)\r\n }\r\n}();\r\nready((function() {\r\n value(\".dx-viewport\")\r\n}));\r\nexport {\r\n value,\r\n changeCallback\r\n};\r\nexport function originalViewPort() {\r\n return $originalViewPort\r\n}\r\n","// Mixins\nimport Bootable from '../bootable'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { PropOptions } from 'vue'\nimport { VNode } from 'vue/types'\n\ninterface options {\n $el: HTMLElement\n $refs: {\n content?: HTMLElement\n }\n}\n\nfunction validateAttachTarget (val: any) {\n const type = typeof val\n\n if (type === 'boolean' || type === 'string') return true\n\n return val.nodeType === Node.ELEMENT_NODE\n}\n\nfunction removeActivator (activator: VNode[]) {\n activator.forEach(node => {\n node.elm &&\n node.elm.parentNode &&\n node.elm.parentNode.removeChild(node.elm)\n })\n}\n\n/* @vue/component */\nexport default mixins<options &\n /* eslint-disable indent */\n ExtractVue<typeof Bootable>\n /* eslint-enable indent */\n>(Bootable).extend({\n name: 'detachable',\n\n props: {\n attach: {\n default: false,\n validator: validateAttachTarget,\n } as PropOptions<boolean | string | Element>,\n contentClass: {\n type: String,\n default: '',\n },\n },\n\n data: () => ({\n activatorNode: null as null | VNode | VNode[],\n hasDetached: false,\n }),\n\n watch: {\n attach () {\n this.hasDetached = false\n this.initDetach()\n },\n hasContent () {\n this.$nextTick(this.initDetach)\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n if (this.activatorNode) {\n const activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode]\n\n activator.forEach(node => {\n if (!node.elm) return\n if (!this.$el.parentNode) return\n\n const target = this.$el === this.$el.parentNode.firstChild\n ? this.$el\n : this.$el.nextSibling\n\n this.$el.parentNode.insertBefore(node.elm, target)\n })\n }\n })\n },\n\n mounted () {\n this.hasContent && this.initDetach()\n },\n\n deactivated () {\n this.isActive = false\n },\n\n beforeDestroy () {\n if (\n this.$refs.content &&\n this.$refs.content.parentNode\n ) {\n this.$refs.content.parentNode.removeChild(this.$refs.content)\n }\n },\n\n destroyed () {\n if (this.activatorNode) {\n const activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode]\n if (this.$el.isConnected) {\n // Component has been destroyed but the element still exists, we must be in a transition\n // Wait for the transition to finish before cleaning up the detached activator\n const observer = new MutationObserver(list => {\n if (\n list.some(record => Array.from(record.removedNodes).includes(this.$el))\n ) {\n observer.disconnect()\n removeActivator(activator)\n }\n })\n observer.observe(this.$el.parentNode!, { subtree: false, childList: true })\n } else {\n removeActivator(activator)\n }\n }\n },\n\n methods: {\n getScopeIdAttrs () {\n const scopeId = getObjectValueByPath(this.$vnode, 'context.$options._scopeId')\n\n return scopeId && {\n [scopeId]: '',\n }\n },\n initDetach () {\n if (this._isDestroyed ||\n !this.$refs.content ||\n this.hasDetached ||\n // Leave menu in place if attached\n // and dev has not changed target\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) return\n\n let target\n if (this.attach === false) {\n // Default, detach to app\n target = document.querySelector('[data-app]')\n } else if (typeof this.attach === 'string') {\n // CSS selector\n target = document.querySelector(this.attach)\n } else {\n // DOM Element\n target = this.attach\n }\n\n if (!target) {\n consoleWarn(`Unable to locate target ${this.attach || '[data-app]'}`, this)\n return\n }\n\n target.appendChild(this.$refs.content)\n\n this.hasDetached = true\n },\n },\n})\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n start as swipeEventStart,\r\n swipe as swipeEventSwipe,\r\n end as swipeEventEnd\r\n} from \"../../events/swipe\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nvar LIST_EDIT_DECORATOR = \"dxListEditDecorator\";\r\nvar SWIPE_START_EVENT_NAME = addNamespace(swipeEventStart, LIST_EDIT_DECORATOR);\r\nvar SWIPE_UPDATE_EVENT_NAME = addNamespace(swipeEventSwipe, LIST_EDIT_DECORATOR);\r\nvar SWIPE_END_EVENT_NAME = addNamespace(swipeEventEnd, LIST_EDIT_DECORATOR);\r\nvar EditDecorator = Class.inherit({\r\n ctor: function(list) {\r\n this._list = list;\r\n this._init()\r\n },\r\n _init: noop,\r\n _shouldHandleSwipe: false,\r\n _attachSwipeEvent: function(config) {\r\n var swipeConfig = {\r\n itemSizeFunc: function() {\r\n if (this._clearSwipeCache) {\r\n this._itemWidthCache = getWidth(this._list.$element());\r\n this._clearSwipeCache = false\r\n }\r\n return this._itemWidthCache\r\n }.bind(this)\r\n };\r\n eventsEngine.on(config.$itemElement, SWIPE_START_EVENT_NAME, swipeConfig, this._itemSwipeStartHandler.bind(this));\r\n eventsEngine.on(config.$itemElement, SWIPE_UPDATE_EVENT_NAME, this._itemSwipeUpdateHandler.bind(this));\r\n eventsEngine.on(config.$itemElement, SWIPE_END_EVENT_NAME, this._itemSwipeEndHandler.bind(this))\r\n },\r\n _itemSwipeStartHandler: function(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n e.cancel = true;\r\n return\r\n }\r\n clearTimeout(this._list._inkRippleTimer);\r\n this._swipeStartHandler($itemElement, e)\r\n },\r\n _itemSwipeUpdateHandler: function(e) {\r\n var $itemElement = $(e.currentTarget);\r\n this._swipeUpdateHandler($itemElement, e)\r\n },\r\n _itemSwipeEndHandler: function(e) {\r\n var $itemElement = $(e.currentTarget);\r\n this._swipeEndHandler($itemElement, e);\r\n this._clearSwipeCache = true\r\n },\r\n beforeBag: noop,\r\n afterBag: noop,\r\n _commonOptions: function() {\r\n return {\r\n activeStateEnabled: this._list.option(\"activeStateEnabled\"),\r\n hoverStateEnabled: this._list.option(\"hoverStateEnabled\"),\r\n focusStateEnabled: this._list.option(\"focusStateEnabled\")\r\n }\r\n },\r\n modifyElement: function(config) {\r\n if (this._shouldHandleSwipe) {\r\n this._attachSwipeEvent(config);\r\n this._clearSwipeCache = true\r\n }\r\n },\r\n afterRender: noop,\r\n handleClick: noop,\r\n handleKeyboardEvents: noop,\r\n handleEnterPressing: noop,\r\n handleContextMenu: noop,\r\n _swipeStartHandler: noop,\r\n _swipeUpdateHandler: noop,\r\n _swipeEndHandler: noop,\r\n visibilityChange: noop,\r\n getExcludedSelectors: noop,\r\n dispose: noop\r\n});\r\nexport default EditDecorator;\r\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","// Utilities\nimport { consoleWarn } from './console'\nimport { chunk, padEnd } from './helpers'\nimport { toXYZ } from './color/transformSRGB'\n\n// Types\nimport { VuetifyThemeVariant } from 'types/services/theme'\n\nexport type ColorInt = number\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number }\nexport type HSVA = HSV & { a: number }\nexport type RGB = { r: number, g: number, b: number }\nexport type RGBA = RGB & { a: number }\nexport type HSL = { h: number, s: number, l: number }\nexport type HSLA = HSL & { a: number }\nexport type Hex = string\nexport type Hexa = string\nexport type Color = string | number | {}\n\nexport function isCssColor (color?: string | false): boolean {\n return !!color && !!color.match(/^(#|var\\(--|(rgb|hsl)a?\\()/)\n}\n\nexport function colorToInt (color: Color): ColorInt {\n let rgb\n\n if (typeof color === 'number') {\n rgb = color\n } else if (typeof color === 'string') {\n let c = color[0] === '#' ? color.substring(1) : color\n if (c.length === 3) {\n c = c.split('').map(char => char + char).join('')\n }\n if (c.length !== 6) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n }\n rgb = parseInt(c, 16)\n } else {\n throw new TypeError(`Colors can only be numbers or strings, recieved ${color == null ? color : color.constructor.name} instead`)\n }\n\n if (rgb < 0) {\n consoleWarn(`Colors cannot be negative: '${color}'`)\n rgb = 0\n } else if (rgb > 0xffffff || isNaN(rgb)) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n rgb = 0xffffff\n }\n\n return rgb\n}\n\nexport function classToHex (\n color: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<VuetifyThemeVariant>,\n): string {\n const [colorName, colorModifier] = color\n .toString().trim().replace('-', '').split(' ', 2) as (string | undefined)[]\n\n let hexColor = ''\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier]\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName] as string\n }\n\n return hexColor\n}\n\nexport function intToHex (color: ColorInt): string {\n let hexColor: string = color.toString(16)\n\n if (hexColor.length < 6) hexColor = '0'.repeat(6 - hexColor.length) + hexColor\n\n return '#' + hexColor\n}\n\nexport function colorToHex (color: Color): string {\n return intToHex(colorToInt(color))\n}\n\n/**\n * Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color HSVA color as an array [0-360, 0-1, 0-1, 0-1]\n */\nexport function HSVAtoRGBA (hsva: HSVA): RGBA {\n const { h, s, v, a } = hsva\n const f = (n: number) => {\n const k = (n + (h / 60)) % 6\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n }\n\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255))\n\n return { r: rgb[0], g: rgb[1], b: rgb[2], a }\n}\n\n/**\n * Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color RGBA color as an array [0-255, 0-255, 0-255, 0-1]\n */\nexport function RGBAtoHSVA (rgba: RGBA): HSVA {\n if (!rgba) return { h: 0, s: 1, v: 1, a: 1 }\n\n const r = rgba.r / 255\n const g = rgba.g / 255\n const b = rgba.b / 255\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n\n let h = 0\n\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + ((g - b) / (max - min)))\n } else if (max === g) {\n h = 60 * (2 + ((b - r) / (max - min)))\n } else if (max === b) {\n h = 60 * (4 + ((r - g) / (max - min)))\n }\n }\n\n if (h < 0) h = h + 360\n\n const s = max === 0 ? 0 : (max - min) / max\n const hsv = [h, s, max]\n\n return { h: hsv[0], s: hsv[1], v: hsv[2], a: rgba.a }\n}\n\nexport function HSVAtoHSLA (hsva: HSVA): HSLA {\n const { h, s, v, a } = hsva\n\n const l = v - (v * s / 2)\n\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l)\n\n return { h, s: sprime, l, a }\n}\n\nexport function HSLAtoHSVA (hsl: HSLA): HSVA {\n const { h, s, l, a } = hsl\n\n const v = l + s * Math.min(l, 1 - l)\n\n const sprime = v === 0 ? 0 : 2 - (2 * l / v)\n\n return { h, s: sprime, v, a }\n}\n\nexport function RGBAtoCSS (rgba: RGBA): string {\n return `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`\n}\n\nexport function RGBtoCSS (rgba: RGBA): string {\n return RGBAtoCSS({ ...rgba, a: 1 })\n}\n\nexport function RGBAtoHex (rgba: RGBA): Hex {\n const toHex = (v: number) => {\n const h = Math.round(v).toString(16)\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n }\n\n return `#${[\n toHex(rgba.r),\n toHex(rgba.g),\n toHex(rgba.b),\n toHex(Math.round(rgba.a * 255)),\n ].join('')}`\n}\n\nexport function HexToRGBA (hex: Hex): RGBA {\n const rgba = chunk(hex.slice(1), 2).map((c: string) => parseInt(c, 16))\n\n return {\n r: rgba[0],\n g: rgba[1],\n b: rgba[2],\n a: Math.round((rgba[3] / 255) * 100) / 100,\n }\n}\n\nexport function HexToHSVA (hex: Hex): HSVA {\n const rgb = HexToRGBA(hex)\n return RGBAtoHSVA(rgb)\n}\n\nexport function HSVAtoHex (hsva: HSVA): Hex {\n return RGBAtoHex(HSVAtoRGBA(hsva))\n}\n\nexport function parseHex (hex: string): Hex {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n hex = hex.replace(/([^0-9a-f])/gi, 'F')\n\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('')\n }\n\n if (hex.length === 6) {\n hex = padEnd(hex, 8, 'F')\n } else {\n hex = padEnd(padEnd(hex, 6), 8, 'F')\n }\n\n return `#${hex}`.toUpperCase().substr(0, 9)\n}\n\nexport function parseGradient (\n gradient: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<VuetifyThemeVariant>,\n) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGBA(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',')\n })\n}\n\nexport function RGBtoInt (rgba: RGBA): ColorInt {\n return (rgba.r << 16) + (rgba.g << 8) + rgba.b\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n *\n * @param c1 First color\n * @param c2 Second color\n */\nexport function contrastRatio (c1: RGBA, c2: RGBA): number {\n const [, y1] = toXYZ(RGBtoInt(c1))\n const [, y2] = toXYZ(RGBtoInt(c2))\n\n return (Math.max(y1, y2) + 0.05) / (Math.min(y1, y2) + 0.05)\n}\n","var metric,\nimperial;\n\nmetric = {\n mm: {\n name: {\n singular: 'Millimeter',\n plural: 'Millimeters'\n },\n to_anchor: 1/1000\n },\n cm: {\n name: {\n singular: 'Centimeter',\n plural: 'Centimeters'\n },\n to_anchor: 1/100\n },\n m: {\n name: {\n singular: 'Meter',\n plural: 'Meters'\n },\n to_anchor: 1\n },\n km: {\n name: {\n singular: 'Kilometer',\n plural: 'Kilometers'\n },\n to_anchor: 1000\n }\n};\n\nimperial = {\n 'in': {\n name: {\n singular: 'Inch',\n plural: 'Inches'\n },\n to_anchor: 1/12\n },\n yd: {\n name: {\n singular: 'Yard',\n plural: 'Yards'\n },\n to_anchor: 3\n },\n 'ft-us': {\n name: {\n singular: 'US Survey Foot',\n plural: 'US Survey Feet'\n },\n to_anchor: 1.000002\n },\n ft: {\n name: {\n singular: 'Foot',\n plural: 'Feet'\n },\n to_anchor: 1\n },\n mi: {\n name: {\n singular: 'Mile',\n plural: 'Miles'\n },\n to_anchor: 5280\n }\n};\n\nmodule.exports = {\n metric: metric,\n imperial: imperial,\n _anchors: {\n metric: {\n unit: 'm',\n ratio: 3.28084\n },\n imperial: {\n unit: 'ft',\n ratio: 1/3.28084\n }\n }\n};\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months =\n 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n '_'\n ),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return n > 1 && n < 5;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months: months,\n monthsShort: monthsShort,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sk;\n\n})));\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","/**\r\n * DevExtreme (esm/core/utils/comparator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nimport {\r\n toComparable\r\n} from \"./data\";\r\nimport {\r\n isRenderer\r\n} from \"./type\";\r\nvar hasNegation = function(oldValue, newValue) {\r\n return 1 / oldValue === 1 / newValue\r\n};\r\nexport var equals = function(oldValue, newValue) {\r\n oldValue = toComparable(oldValue, true);\r\n newValue = toComparable(newValue, true);\r\n if (oldValue && newValue && isRenderer(oldValue) && isRenderer(newValue)) {\r\n return newValue.is(oldValue)\r\n }\r\n var oldValueIsNaN = oldValue !== oldValue;\r\n var newValueIsNaN = newValue !== newValue;\r\n if (oldValueIsNaN && newValueIsNaN) {\r\n return true\r\n }\r\n if (0 === oldValue && 0 === newValue) {\r\n return hasNegation(oldValue, newValue)\r\n }\r\n if (null === oldValue || \"object\" !== typeof oldValue || domAdapter.isElementNode(oldValue)) {\r\n return oldValue === newValue\r\n }\r\n return false\r\n};\r\n","/**\r\n * DevExtreme (esm/core/options/option_manager.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n compileGetter,\r\n compileSetter,\r\n getPathParts\r\n} from \"../utils/data\";\r\nimport {\r\n noop\r\n} from \"../utils/common\";\r\nimport {\r\n equals\r\n} from \"../utils/comparator\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nimport {\r\n isDefined,\r\n isPlainObject\r\n} from \"../utils/type\";\r\nimport {\r\n normalizeOptions\r\n} from \"./utils\";\r\nvar cachedGetters = {};\r\nvar cachedSetters = {};\r\nexport class OptionManager {\r\n constructor(options, optionsByReference) {\r\n this._options = options;\r\n this._optionsByReference = optionsByReference;\r\n this._changingCallback;\r\n this._changedCallback;\r\n this._namePreparedCallbacks\r\n }\r\n _setByReference(options, rulesOptions) {\r\n extend(true, options, rulesOptions);\r\n for (var fieldName in this._optionsByReference) {\r\n if (Object.prototype.hasOwnProperty.call(rulesOptions, fieldName)) {\r\n options[fieldName] = rulesOptions[fieldName]\r\n }\r\n }\r\n }\r\n _setPreparedValue(name, value, merge, silent) {\r\n var previousValue = this.get(this._options, name, false);\r\n if (!equals(previousValue, value)) {\r\n var path = getPathParts(name);\r\n !silent && this._changingCallback(name, previousValue, value);\r\n cachedSetters[name] = cachedSetters[name] || compileSetter(name);\r\n cachedSetters[name](this._options, value, {\r\n functionsAsIs: true,\r\n merge: isDefined(merge) ? merge : !this._optionsByReference[name],\r\n unwrapObservables: path.length > 1 && !!this._optionsByReference[path[0]]\r\n });\r\n !silent && this._changedCallback(name, value, previousValue)\r\n }\r\n }\r\n _prepareRelevantNames(options, name, value, silent) {\r\n if (isPlainObject(value)) {\r\n for (var valueName in value) {\r\n this._prepareRelevantNames(options, \"\".concat(name, \".\").concat(valueName), value[valueName])\r\n }\r\n }\r\n this._namePreparedCallbacks(options, name, value, silent)\r\n }\r\n get() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._options;\r\n var name = arguments.length > 1 ? arguments[1] : void 0;\r\n var unwrapObservables = arguments.length > 2 ? arguments[2] : void 0;\r\n cachedGetters[name] = cachedGetters[name] || compileGetter(name);\r\n return cachedGetters[name](options, {\r\n functionsAsIs: true,\r\n unwrapObservables: unwrapObservables\r\n })\r\n }\r\n set(options, value, merge, silent) {\r\n options = normalizeOptions(options, value);\r\n for (var name in options) {\r\n this._prepareRelevantNames(options, name, options[name], silent)\r\n }\r\n for (var _name in options) {\r\n this._setPreparedValue(_name, options[_name], merge, silent)\r\n }\r\n }\r\n onRelevantNamesPrepared(callBack) {\r\n this._namePreparedCallbacks = callBack\r\n }\r\n onChanging(callBack) {\r\n this._changingCallback = callBack\r\n }\r\n onChanged(callBack) {\r\n this._changedCallback = callBack\r\n }\r\n dispose() {\r\n this._changingCallback = noop;\r\n this._changedCallback = noop\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/options/index.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isFunction,\r\n isObject,\r\n type\r\n} from \"../utils/type\";\r\nimport {\r\n equalByValue,\r\n noop\r\n} from \"../utils/common\";\r\nimport {\r\n OptionManager\r\n} from \"./option_manager\";\r\nimport {\r\n getPathParts\r\n} from \"../utils/data\";\r\nimport {\r\n getFieldName,\r\n getParentName,\r\n convertRulesToOptions,\r\n getNestedOptionValue\r\n} from \"./utils\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nexport class Options {\r\n constructor(options, defaultOptions, optionsByReference, deprecatedOptions) {\r\n this._deprecatedCallback;\r\n this._startChangeCallback;\r\n this._endChangeCallback;\r\n this._default = defaultOptions;\r\n this._deprecated = deprecatedOptions;\r\n this._deprecatedNames = [];\r\n this._initDeprecatedNames();\r\n this._optionManager = new OptionManager(options, optionsByReference);\r\n this._optionManager.onRelevantNamesPrepared((options, name, value, silent) => this._setRelevantNames(options, name, value, silent));\r\n this._cachedOptions = {};\r\n this._rules = []\r\n }\r\n set _initial(value) {\r\n this._initialOptions = value\r\n }\r\n get _initial() {\r\n if (!this._initialOptions) {\r\n var rulesOptions = this._getByRules(this.silent(\"defaultOptionsRules\"));\r\n this._initialOptions = this._default;\r\n this._optionManager._setByReference(this._initialOptions, rulesOptions)\r\n }\r\n return this._initialOptions\r\n }\r\n _initDeprecatedNames() {\r\n for (var optionName in this._deprecated) {\r\n this._deprecatedNames.push(optionName)\r\n }\r\n }\r\n _getByRules(rules) {\r\n rules = Array.isArray(rules) ? this._rules.concat(rules) : this._rules;\r\n return convertRulesToOptions(rules)\r\n }\r\n _notifyDeprecated(option) {\r\n var info = this._deprecated[option];\r\n if (info) {\r\n this._deprecatedCallback(option, info)\r\n }\r\n }\r\n _setRelevantNames(options, name, value, silent) {\r\n if (name) {\r\n var normalizedName = this._normalizeName(name, silent);\r\n if (normalizedName && normalizedName !== name) {\r\n this._setField(options, normalizedName, value);\r\n this._clearField(options, name)\r\n }\r\n }\r\n }\r\n _setField(options, fullName, value) {\r\n var fieldName = \"\";\r\n var fieldObject = null;\r\n do {\r\n fieldName = fieldName ? \".\".concat(fieldName) : \"\";\r\n fieldName = getFieldName(fullName) + fieldName;\r\n fullName = getParentName(fullName);\r\n fieldObject = fullName ? this._optionManager.get(options, fullName, false) : options\r\n } while (!fieldObject);\r\n fieldObject[fieldName] = value\r\n }\r\n _clearField(options, name) {\r\n delete options[name];\r\n var previousFieldName = getParentName(name);\r\n var fieldObject = previousFieldName ? this._optionManager.get(options, previousFieldName, false) : options;\r\n if (fieldObject) {\r\n delete fieldObject[getFieldName(name)]\r\n }\r\n }\r\n _normalizeName(name, silent) {\r\n if (this._deprecatedNames.length && name) {\r\n for (var i = 0; i < this._deprecatedNames.length; i++) {\r\n if (this._deprecatedNames[i] === name) {\r\n var deprecate = this._deprecated[name];\r\n if (deprecate) {\r\n !silent && this._notifyDeprecated(name);\r\n return deprecate.alias || name\r\n }\r\n }\r\n }\r\n }\r\n return name\r\n }\r\n addRules(rules) {\r\n this._rules = rules.concat(this._rules)\r\n }\r\n applyRules(rules) {\r\n var options = this._getByRules(rules);\r\n this.silent(options)\r\n }\r\n dispose() {\r\n this._deprecatedCallback = noop;\r\n this._startChangeCallback = noop;\r\n this._endChangeCallback = noop;\r\n this._optionManager.dispose()\r\n }\r\n onChanging(callBack) {\r\n this._optionManager.onChanging(callBack)\r\n }\r\n onChanged(callBack) {\r\n this._optionManager.onChanged(callBack)\r\n }\r\n onDeprecated(callBack) {\r\n this._deprecatedCallback = callBack\r\n }\r\n onStartChange(callBack) {\r\n this._startChangeCallback = callBack\r\n }\r\n onEndChange(callBack) {\r\n this._endChangeCallback = callBack\r\n }\r\n isInitial(name) {\r\n var value = this.silent(name);\r\n var initialValue = this.initial(name);\r\n var areFunctions = isFunction(value) && isFunction(initialValue);\r\n return areFunctions ? value.toString() === initialValue.toString() : equalByValue(value, initialValue)\r\n }\r\n initial(name) {\r\n return getNestedOptionValue(this._initial, name)\r\n }\r\n option(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== type(options);\r\n if (isGetter) {\r\n return this._optionManager.get(void 0, this._normalizeName(options))\r\n } else {\r\n this._startChangeCallback();\r\n try {\r\n this._optionManager.set(options, value)\r\n } finally {\r\n this._endChangeCallback()\r\n }\r\n }\r\n }\r\n silent(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== type(options);\r\n if (isGetter) {\r\n return this._optionManager.get(void 0, options, void 0, true)\r\n } else {\r\n this._optionManager.set(options, value, void 0, true)\r\n }\r\n }\r\n reset(name) {\r\n if (name) {\r\n var fullPath = getPathParts(name);\r\n var value = fullPath.reduce((value, field) => value ? value[field] : this.initial(field), null);\r\n var defaultValue = isObject(value) ? _extends({}, value) : value;\r\n this._optionManager.set(name, defaultValue, false)\r\n }\r\n }\r\n getAliasesByName(name) {\r\n return Object.keys(this._deprecated).filter(aliasName => name === this._deprecated[aliasName].alias)\r\n }\r\n isDeprecated(name) {\r\n return Object.prototype.hasOwnProperty.call(this._deprecated, name)\r\n }\r\n cache(name, options) {\r\n var isGetter = arguments.length < 2;\r\n if (isGetter) {\r\n return this._cachedOptions[name]\r\n } else {\r\n this._cachedOptions[name] = extend(this._cachedOptions[name], options)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/postponed_operations.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred,\r\n when\r\n} from \"./utils/deferred\";\r\nimport {\r\n isDefined\r\n} from \"./utils/type\";\r\nexport class PostponedOperations {\r\n constructor() {\r\n this._postponedOperations = {}\r\n }\r\n add(key, fn, postponedPromise) {\r\n if (key in this._postponedOperations) {\r\n postponedPromise && this._postponedOperations[key].promises.push(postponedPromise)\r\n } else {\r\n var completePromise = new Deferred;\r\n this._postponedOperations[key] = {\r\n fn: fn,\r\n completePromise: completePromise,\r\n promises: postponedPromise ? [postponedPromise] : []\r\n }\r\n }\r\n return this._postponedOperations[key].completePromise.promise()\r\n }\r\n callPostponedOperations() {\r\n for (var key in this._postponedOperations) {\r\n var operation = this._postponedOperations[key];\r\n if (isDefined(operation)) {\r\n if (operation.promises && operation.promises.length) {\r\n when(...operation.promises).done(operation.fn).then(operation.completePromise.resolve)\r\n } else {\r\n operation.fn().done(operation.completePromise.resolve)\r\n }\r\n }\r\n }\r\n this._postponedOperations = {}\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/component.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Config from \"./config\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n Options\r\n} from \"./options/index\";\r\nimport {\r\n convertRulesToOptions\r\n} from \"./options/utils\";\r\nimport Class from \"./class\";\r\nimport Action from \"./action\";\r\nimport errors from \"./errors\";\r\nimport Callbacks from \"./utils/callbacks\";\r\nimport {\r\n EventsStrategy\r\n} from \"./events_strategy\";\r\nimport {\r\n name as publicComponentName\r\n} from \"./utils/public_component\";\r\nimport {\r\n PostponedOperations\r\n} from \"./postponed_operations\";\r\nimport {\r\n isFunction,\r\n isPlainObject,\r\n isDefined\r\n} from \"./utils/type\";\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n getPathParts\r\n} from \"./utils/data\";\r\nvar getEventName = actionName => actionName.charAt(2).toLowerCase() + actionName.substr(3);\r\nvar isInnerOption = optionName => 0 === optionName.indexOf(\"_\", 0);\r\nexport var Component = Class.inherit({\r\n _setDeprecatedOptions() {\r\n this._deprecatedOptions = {}\r\n },\r\n _getDeprecatedOptions() {\r\n return this._deprecatedOptions\r\n },\r\n _getDefaultOptions: () => ({\r\n onInitialized: null,\r\n onOptionChanged: null,\r\n onDisposing: null,\r\n defaultOptionsRules: null\r\n }),\r\n _defaultOptionsRules: () => [],\r\n _setOptionsByDevice(rules) {\r\n this._options.applyRules(rules)\r\n },\r\n _convertRulesToOptions: rules => convertRulesToOptions(rules),\r\n _isInitialOptionValue(name) {\r\n return this._options.isInitial(name)\r\n },\r\n _setOptionsByReference() {\r\n this._optionsByReference = {}\r\n },\r\n _getOptionsByReference() {\r\n return this._optionsByReference\r\n },\r\n ctor() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n var {\r\n _optionChangedCallbacks: _optionChangedCallbacks,\r\n _disposingCallbacks: _disposingCallbacks\r\n } = options;\r\n this.NAME = publicComponentName(this.constructor);\r\n this._eventsStrategy = EventsStrategy.create(this, options.eventsStrategy);\r\n this._updateLockCount = 0;\r\n this._optionChangedCallbacks = _optionChangedCallbacks || Callbacks();\r\n this._disposingCallbacks = _disposingCallbacks || Callbacks();\r\n this.postponedOperations = new PostponedOperations;\r\n this._createOptions(options)\r\n },\r\n _createOptions(options) {\r\n this.beginUpdate();\r\n try {\r\n this._setOptionsByReference();\r\n this._setDeprecatedOptions();\r\n this._options = new Options(this._getDefaultOptions(), this._getDefaultOptions(), this._getOptionsByReference(), this._getDeprecatedOptions());\r\n this._options.onChanging((name, previousValue, value) => this._initialized && this._optionChanging(name, previousValue, value));\r\n this._options.onDeprecated((option, info) => this._logDeprecatedOptionWarning(option, info));\r\n this._options.onChanged((name, value, previousValue) => this._notifyOptionChanged(name, value, previousValue));\r\n this._options.onStartChange(() => this.beginUpdate());\r\n this._options.onEndChange(() => this.endUpdate());\r\n this._options.addRules(this._defaultOptionsRules());\r\n if (options && options.onInitializing) {\r\n options.onInitializing.apply(this, [options])\r\n }\r\n this._setOptionsByDevice(options.defaultOptionsRules);\r\n this._initOptions(options)\r\n } finally {\r\n this.endUpdate()\r\n }\r\n },\r\n _initOptions(options) {\r\n this.option(options)\r\n },\r\n _init() {\r\n this._createOptionChangedAction();\r\n this.on(\"disposing\", args => {\r\n this._disposingCallbacks.fireWith(this, [args])\r\n })\r\n },\r\n _logDeprecatedOptionWarning(option, info) {\r\n var message = info.message || \"Use the '\".concat(info.alias, \"' option instead\");\r\n errors.log(\"W0001\", this.NAME, option, info.since, message)\r\n },\r\n _logDeprecatedComponentWarning(since, alias) {\r\n errors.log(\"W0000\", this.NAME, since, \"Use the '\".concat(alias, \"' widget instead\"))\r\n },\r\n _createOptionChangedAction() {\r\n this._optionChangedAction = this._createActionByOption(\"onOptionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _createDisposingAction() {\r\n this._disposingAction = this._createActionByOption(\"onDisposing\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"onDisposing\":\r\n case \"onInitialized\":\r\n break;\r\n case \"onOptionChanged\":\r\n this._createOptionChangedAction()\r\n }\r\n },\r\n _dispose() {\r\n this._optionChangedCallbacks.empty();\r\n this._createDisposingAction();\r\n this._disposingAction();\r\n this._eventsStrategy.dispose();\r\n this._options.dispose();\r\n this._disposed = true\r\n },\r\n _lockUpdate() {\r\n this._updateLockCount++\r\n },\r\n _unlockUpdate() {\r\n this._updateLockCount = Math.max(this._updateLockCount - 1, 0)\r\n },\r\n _isUpdateAllowed() {\r\n return 0 === this._updateLockCount\r\n },\r\n _isInitializingRequired() {\r\n return !this._initializing && !this._initialized\r\n },\r\n isInitialized() {\r\n return this._initialized\r\n },\r\n _commitUpdate() {\r\n this.postponedOperations.callPostponedOperations();\r\n this._isInitializingRequired() && this._initializeComponent()\r\n },\r\n _initializeComponent() {\r\n this._initializing = true;\r\n try {\r\n this._init()\r\n } finally {\r\n this._initializing = false;\r\n this._lockUpdate();\r\n this._createActionByOption(\"onInitialized\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })();\r\n this._unlockUpdate();\r\n this._initialized = true\r\n }\r\n },\r\n instance() {\r\n return this\r\n },\r\n beginUpdate: function() {\r\n this._lockUpdate()\r\n },\r\n endUpdate: function() {\r\n this._unlockUpdate();\r\n this._isUpdateAllowed() && this._commitUpdate()\r\n },\r\n _optionChanging: noop,\r\n _notifyOptionChanged(option, value, previousValue) {\r\n if (this._initialized) {\r\n var optionNames = [option].concat(this._options.getAliasesByName(option));\r\n for (var i = 0; i < optionNames.length; i++) {\r\n var name = optionNames[i];\r\n var args = {\r\n name: getPathParts(name)[0],\r\n fullName: name,\r\n value: value,\r\n previousValue: previousValue\r\n };\r\n if (!isInnerOption(name)) {\r\n this._optionChangedCallbacks.fireWith(this, [extend(this._defaultActionArgs(), args)]);\r\n this._optionChangedAction(extend({}, args))\r\n }\r\n if (!this._disposed && this._cancelOptionChange !== name) {\r\n this._optionChanged(args)\r\n }\r\n }\r\n }\r\n },\r\n initialOption(name) {\r\n return this._options.initial(name)\r\n },\r\n _defaultActionConfig() {\r\n return {\r\n context: this,\r\n component: this\r\n }\r\n },\r\n _defaultActionArgs() {\r\n return {\r\n component: this\r\n }\r\n },\r\n _createAction(actionSource, config) {\r\n var action;\r\n return e => {\r\n if (!isDefined(e)) {\r\n e = {}\r\n }\r\n if (!isPlainObject(e)) {\r\n e = {\r\n actionValue: e\r\n }\r\n }\r\n action = action || new Action(actionSource, extend({}, config, this._defaultActionConfig()));\r\n return action.execute.call(action, extend(e, this._defaultActionArgs()))\r\n }\r\n },\r\n _createActionByOption(optionName, config) {\r\n var _this = this;\r\n var action;\r\n var eventName;\r\n var actionFunc;\r\n config = extend({}, config);\r\n var result = function() {\r\n if (!eventName) {\r\n config = config || {};\r\n if (\"string\" !== typeof optionName) {\r\n throw errors.Error(\"E0008\")\r\n }\r\n if (0 === optionName.indexOf(\"on\")) {\r\n eventName = getEventName(optionName)\r\n }\r\n actionFunc = _this.option(optionName)\r\n }\r\n if (!action && !actionFunc && !config.beforeExecute && !config.afterExecute && !_this._eventsStrategy.hasEvent(eventName)) {\r\n return\r\n }\r\n if (!action) {\r\n var beforeExecute = config.beforeExecute;\r\n config.beforeExecute = function() {\r\n for (var _len2 = arguments.length, props = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n props[_key2] = arguments[_key2]\r\n }\r\n beforeExecute && beforeExecute.apply(_this, props);\r\n _this._eventsStrategy.fireEvent(eventName, props[0].args)\r\n };\r\n action = _this._createAction(actionFunc, config)\r\n }\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n if (Config().wrapActionsBeforeExecute) {\r\n var beforeActionExecute = _this.option(\"beforeActionExecute\") || noop;\r\n var wrappedAction = beforeActionExecute(_this, action, config) || action;\r\n return wrappedAction.apply(_this, args)\r\n }\r\n return action.apply(_this, args)\r\n };\r\n if (Config().wrapActionsBeforeExecute) {\r\n return result\r\n }\r\n var onActionCreated = this.option(\"onActionCreated\") || noop;\r\n return onActionCreated(this, result, config) || result\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n },\r\n hasActionSubscription: function(actionName) {\r\n return !!this._options.silent(actionName) || this._eventsStrategy.hasEvent(getEventName(actionName))\r\n },\r\n isOptionDeprecated(name) {\r\n return this._options.isDeprecated(name)\r\n },\r\n _setOptionWithoutOptionChange(name, value) {\r\n this._cancelOptionChange = name;\r\n this.option(name, value);\r\n this._cancelOptionChange = false\r\n },\r\n _getOptionValue(name, context) {\r\n var value = this.option(name);\r\n if (isFunction(value)) {\r\n return value.bind(context)()\r\n }\r\n return value\r\n },\r\n option() {\r\n return this._options.option(...arguments)\r\n },\r\n resetOption(name) {\r\n this.beginUpdate();\r\n this._options.reset(name);\r\n this.endUpdate()\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/core/template_manager.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isRenderer\r\n} from \"./utils/type\";\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n FunctionTemplate\r\n} from \"./templates/function_template\";\r\nimport {\r\n EmptyTemplate\r\n} from \"./templates/empty_template\";\r\nimport {\r\n findTemplates,\r\n suitableTemplatesByName,\r\n templateKey,\r\n getNormalizedTemplateArgs,\r\n validateTemplateSource,\r\n defaultCreateElement,\r\n acquireTemplate\r\n} from \"./utils/template_manager\";\r\nvar TEXT_NODE = 3;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"template\";\r\nvar TEMPLATE_OPTIONS_NAME = \"dxTemplate\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar DX_POLYMORPH_WIDGET_TEMPLATE = new FunctionTemplate(_ref => {\r\n var {\r\n model: model,\r\n parent: parent\r\n } = _ref;\r\n var widgetName = model.widget;\r\n if (!widgetName) {\r\n return $()\r\n }\r\n var widgetElement = $(\"<div>\");\r\n var widgetOptions = model.options || {};\r\n if (parent) {\r\n parent._createComponent(widgetElement, widgetName, widgetOptions)\r\n } else {\r\n widgetElement[widgetName](widgetOptions)\r\n }\r\n return widgetElement\r\n});\r\nexport class TemplateManager {\r\n constructor(createElement, anonymousTemplateName) {\r\n this._tempTemplates = [];\r\n this._defaultTemplates = {};\r\n this._anonymousTemplateName = anonymousTemplateName || ANONYMOUS_TEMPLATE_NAME;\r\n this._createElement = createElement || defaultCreateElement;\r\n this._createTemplateIfNeeded = this._createTemplateIfNeeded.bind(this)\r\n }\r\n static createDefaultOptions() {\r\n return {\r\n integrationOptions: {\r\n watchMethod: function(fn, callback) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n if (!options.skipImmediate) {\r\n callback(fn())\r\n }\r\n return noop\r\n },\r\n templates: {\r\n \"dx-polymorph-widget\": DX_POLYMORPH_WIDGET_TEMPLATE\r\n },\r\n useDeferUpdateForTemplates: true\r\n }\r\n }\r\n }\r\n get anonymousTemplateName() {\r\n return this._anonymousTemplateName\r\n }\r\n addDefaultTemplates(templates) {\r\n this._defaultTemplates = extend({}, this._defaultTemplates, templates)\r\n }\r\n dispose() {\r\n this._tempTemplates.forEach(tempTemplate => {\r\n tempTemplate.template.dispose && tempTemplate.template.dispose()\r\n });\r\n this._tempTemplates = []\r\n }\r\n extractTemplates($el) {\r\n var templates = this._extractTemplates($el);\r\n var anonymousTemplateMeta = this._extractAnonymousTemplate($el);\r\n return {\r\n templates: templates,\r\n anonymousTemplateMeta: anonymousTemplateMeta\r\n }\r\n }\r\n _extractTemplates($el) {\r\n var templates = findTemplates($el, TEMPLATE_OPTIONS_NAME);\r\n var suitableTemplates = suitableTemplatesByName(templates);\r\n templates.forEach(_ref2 => {\r\n var {\r\n element: element,\r\n options: {\r\n name: name\r\n }\r\n } = _ref2;\r\n if (element === suitableTemplates[name]) {\r\n $(element).addClass(TEMPLATE_WRAPPER_CLASS).detach()\r\n } else {\r\n $(element).remove()\r\n }\r\n });\r\n return Object.keys(suitableTemplates).map(name => ({\r\n name: name,\r\n template: this._createTemplate(suitableTemplates[name])\r\n }))\r\n }\r\n _extractAnonymousTemplate($el) {\r\n var $anonymousTemplate = $el.contents().detach();\r\n var $notJunkTemplateContent = $anonymousTemplate.filter((_, element) => {\r\n var isTextNode = element.nodeType === TEXT_NODE;\r\n var isEmptyText = $(element).text().trim().length < 1;\r\n return !(isTextNode && isEmptyText)\r\n });\r\n return $notJunkTemplateContent.length > 0 ? {\r\n template: this._createTemplate($anonymousTemplate),\r\n name: this._anonymousTemplateName\r\n } : {}\r\n }\r\n _createTemplateIfNeeded(templateSource) {\r\n var cachedTemplate = this._tempTemplates.filter(tempTemplate => tempTemplate.source === templateKey(templateSource))[0];\r\n if (cachedTemplate) {\r\n return cachedTemplate.template\r\n }\r\n var template = this._createTemplate(templateSource);\r\n this._tempTemplates.push({\r\n template: template,\r\n source: templateKey(templateSource)\r\n });\r\n return template\r\n }\r\n _createTemplate(templateSource) {\r\n return this._createElement(validateTemplateSource(templateSource))\r\n }\r\n getTemplate(templateSource, templates, _ref3, context) {\r\n var {\r\n isAsyncTemplate: isAsyncTemplate,\r\n skipTemplates: skipTemplates\r\n } = _ref3;\r\n if (!isFunction(templateSource)) {\r\n return acquireTemplate(templateSource, this._createTemplateIfNeeded, templates, isAsyncTemplate, skipTemplates, this._defaultTemplates)\r\n }\r\n return new FunctionTemplate(options => {\r\n var templateSourceResult = templateSource.apply(context, getNormalizedTemplateArgs(options));\r\n if (!isDefined(templateSourceResult)) {\r\n return new EmptyTemplate\r\n }\r\n var dispose = false;\r\n var template = acquireTemplate(templateSourceResult, templateSource => {\r\n if (templateSource.nodeType || isRenderer(templateSource) && !$(templateSource).is(\"script\")) {\r\n return new FunctionTemplate(() => templateSource)\r\n }\r\n dispose = true;\r\n return this._createTemplate(templateSource)\r\n }, templates, isAsyncTemplate, skipTemplates, this._defaultTemplates);\r\n var result = template.render(options);\r\n dispose && template.dispose && template.dispose();\r\n return result\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/dom_component.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport config from \"./config\";\r\nimport errors from \"./errors\";\r\nimport windowResizeCallbacks from \"../core/utils/resize_callbacks\";\r\nimport {\r\n Component\r\n} from \"./component\";\r\nimport {\r\n TemplateManager\r\n} from \"./template_manager\";\r\nimport {\r\n attachInstanceToElement,\r\n getInstanceByElement\r\n} from \"./utils/public_component\";\r\nimport {\r\n addShadowDomStyles\r\n} from \"./utils/shadow_dom\";\r\nimport {\r\n cleanDataRecursive\r\n} from \"./element_data\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n grep,\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n isString,\r\n isDefined,\r\n isFunction\r\n} from \"./utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n resize as resizeEvent,\r\n visibility as visibilityEvents\r\n} from \"../events/short\";\r\nvar {\r\n abstract: abstract\r\n} = Component;\r\nvar DOMComponent = Component.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n width: void 0,\r\n height: void 0,\r\n rtlEnabled: config().rtlEnabled,\r\n elementAttr: {},\r\n disabled: false,\r\n integrationOptions: {}\r\n }, this._useTemplates() ? TemplateManager.createDefaultOptions() : {})\r\n },\r\n ctor(element, options) {\r\n this._customClass = null;\r\n this._createElement(element);\r\n attachInstanceToElement(this._$element, this, this._dispose);\r\n this.callBase(options)\r\n },\r\n _createElement(element) {\r\n this._$element = $(element)\r\n },\r\n _getSynchronizableOptionsForCreateComponent: () => [\"rtlEnabled\", \"disabled\", \"templatesRenderAsynchronously\"],\r\n _checkFunctionValueDeprecation: function(optionNames) {\r\n if (!this.option(\"_ignoreFunctionValueDeprecation\")) {\r\n optionNames.forEach(optionName => {\r\n if (isFunction(this.option(optionName))) {\r\n errors.log(\"W0017\", optionName)\r\n }\r\n })\r\n }\r\n },\r\n _visibilityChanged: abstract,\r\n _dimensionChanged: abstract,\r\n _init() {\r\n this.callBase();\r\n this._checkFunctionValueDeprecation([\"width\", \"height\", \"maxHeight\", \"maxWidth\", \"minHeight\", \"minWidth\", \"popupHeight\", \"popupWidth\"]);\r\n this._attachWindowResizeCallback();\r\n this._initTemplateManager()\r\n },\r\n _setOptionsByDevice(instanceCustomRules) {\r\n this.callBase([].concat(this.constructor._classCustomRules || [], instanceCustomRules || []))\r\n },\r\n _isInitialOptionValue(name) {\r\n var isCustomOption = this.constructor._classCustomRules && Object.prototype.hasOwnProperty.call(this._convertRulesToOptions(this.constructor._classCustomRules), name);\r\n return !isCustomOption && this.callBase(name)\r\n },\r\n _attachWindowResizeCallback() {\r\n if (this._isDimensionChangeSupported()) {\r\n var windowResizeCallBack = this._windowResizeCallBack = this._dimensionChanged.bind(this);\r\n windowResizeCallbacks.add(windowResizeCallBack)\r\n }\r\n },\r\n _isDimensionChangeSupported() {\r\n return this._dimensionChanged !== abstract\r\n },\r\n _renderComponent() {\r\n this._initMarkup();\r\n hasWindow() && this._render()\r\n },\r\n _initMarkup() {\r\n var {\r\n rtlEnabled: rtlEnabled\r\n } = this.option() || {};\r\n this._renderElementAttributes();\r\n this._toggleRTLDirection(rtlEnabled);\r\n this._renderVisibilityChange();\r\n this._renderDimensions()\r\n },\r\n _render() {\r\n this._attachVisibilityChangeHandlers();\r\n addShadowDomStyles(this.$element())\r\n },\r\n _renderElementAttributes() {\r\n var {\r\n elementAttr: elementAttr\r\n } = this.option() || {};\r\n var attributes = extend({}, elementAttr);\r\n var classNames = attributes.class;\r\n delete attributes.class;\r\n this.$element().attr(attributes).removeClass(this._customClass).addClass(classNames);\r\n this._customClass = classNames\r\n },\r\n _renderVisibilityChange() {\r\n if (this._isDimensionChangeSupported()) {\r\n this._attachDimensionChangeHandlers()\r\n }\r\n if (this._isVisibilityChangeSupported()) {\r\n var $element = this.$element();\r\n $element.addClass(\"dx-visibility-change-handler\")\r\n }\r\n },\r\n _renderDimensions() {\r\n var $element = this.$element();\r\n var element = $element.get(0);\r\n var width = this._getOptionValue(\"width\", element);\r\n var height = this._getOptionValue(\"height\", element);\r\n if (this._isCssUpdateRequired(element, height, width)) {\r\n $element.css({\r\n width: null === width ? \"\" : width,\r\n height: null === height ? \"\" : height\r\n })\r\n }\r\n },\r\n _isCssUpdateRequired: (element, height, width) => !!(isDefined(width) || isDefined(height) || element.style.width || element.style.height),\r\n _attachDimensionChangeHandlers() {\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n resizeEvent.off($el, {\r\n namespace: namespace\r\n });\r\n resizeEvent.on($el, () => this._dimensionChanged(), {\r\n namespace: namespace\r\n })\r\n },\r\n _attachVisibilityChangeHandlers() {\r\n if (this._isVisibilityChangeSupported()) {\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n this._isHidden = !this._isVisible();\r\n visibilityEvents.off($el, {\r\n namespace: namespace\r\n });\r\n visibilityEvents.on($el, () => this._checkVisibilityChanged(\"shown\"), () => this._checkVisibilityChanged(\"hiding\"), {\r\n namespace: namespace\r\n })\r\n }\r\n },\r\n _isVisible() {\r\n var $element = this.$element();\r\n return $element.is(\":visible\")\r\n },\r\n _checkVisibilityChanged(action) {\r\n var isVisible = this._isVisible();\r\n if (isVisible) {\r\n if (\"hiding\" === action && !this._isHidden) {\r\n this._visibilityChanged(false);\r\n this._isHidden = true\r\n } else if (\"shown\" === action && this._isHidden) {\r\n this._isHidden = false;\r\n this._visibilityChanged(true)\r\n }\r\n }\r\n },\r\n _isVisibilityChangeSupported() {\r\n return this._visibilityChanged !== abstract && hasWindow()\r\n },\r\n _clean: noop,\r\n _modelByElement() {\r\n var {\r\n modelByElement: modelByElement\r\n } = this.option();\r\n var $element = this.$element();\r\n return modelByElement ? modelByElement($element) : void 0\r\n },\r\n _invalidate() {\r\n if (this._isUpdateAllowed()) {\r\n throw errors.Error(\"E0007\")\r\n }\r\n this._requireRefresh = true\r\n },\r\n _refresh() {\r\n this._clean();\r\n this._renderComponent()\r\n },\r\n _dispose() {\r\n this._templateManager && this._templateManager.dispose();\r\n this.callBase();\r\n this._clean();\r\n this._detachWindowResizeCallback()\r\n },\r\n _detachWindowResizeCallback() {\r\n if (this._isDimensionChangeSupported()) {\r\n windowResizeCallbacks.remove(this._windowResizeCallBack)\r\n }\r\n },\r\n _toggleRTLDirection(rtl) {\r\n var $element = this.$element();\r\n $element.toggleClass(\"dx-rtl\", rtl)\r\n },\r\n _createComponent(element, component) {\r\n var config = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var synchronizableOptions = grep(this._getSynchronizableOptionsForCreateComponent(), value => !(value in config));\r\n var {\r\n integrationOptions: integrationOptions\r\n } = this.option();\r\n var {\r\n nestedComponentOptions: nestedComponentOptions\r\n } = this.option();\r\n nestedComponentOptions = nestedComponentOptions || noop;\r\n var nestedComponentConfig = extend({\r\n integrationOptions: integrationOptions\r\n }, nestedComponentOptions(this));\r\n synchronizableOptions.forEach(optionName => nestedComponentConfig[optionName] = this.option(optionName));\r\n this._extendConfig(config, nestedComponentConfig);\r\n var instance = void 0;\r\n if (isString(component)) {\r\n var $element = $(element)[component](config);\r\n instance = $element[component](\"instance\")\r\n } else if (element) {\r\n instance = component.getInstance(element);\r\n if (instance) {\r\n instance.option(config)\r\n } else {\r\n instance = new component(element, config)\r\n }\r\n }\r\n if (instance) {\r\n var optionChangedHandler = _ref => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n if (synchronizableOptions.includes(name)) {\r\n instance.option(name, value)\r\n }\r\n };\r\n this.on(\"optionChanged\", optionChangedHandler);\r\n instance.on(\"disposing\", () => this.off(\"optionChanged\", optionChangedHandler))\r\n }\r\n return instance\r\n },\r\n _extendConfig(config, extendConfig) {\r\n each(extendConfig, (key, value) => {\r\n !Object.prototype.hasOwnProperty.call(config, key) && (config[key] = value)\r\n })\r\n },\r\n _defaultActionConfig() {\r\n var $element = this.$element();\r\n var context = this._modelByElement($element);\r\n return extend(this.callBase(), {\r\n context: context\r\n })\r\n },\r\n _defaultActionArgs() {\r\n var $element = this.$element();\r\n var model = this._modelByElement($element);\r\n var element = this.element();\r\n return extend(this.callBase(), {\r\n element: element,\r\n model: model\r\n })\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this._renderDimensions();\r\n break;\r\n case \"rtlEnabled\":\r\n this._invalidate();\r\n break;\r\n case \"elementAttr\":\r\n this._renderElementAttributes();\r\n break;\r\n case \"disabled\":\r\n case \"integrationOptions\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _removeAttributes(element) {\r\n var attrs = element.attributes;\r\n for (var i = attrs.length - 1; i >= 0; i--) {\r\n var attr = attrs[i];\r\n if (attr) {\r\n var {\r\n name: name\r\n } = attr;\r\n if (!name.indexOf(\"aria-\") || -1 !== name.indexOf(\"dx-\") || \"role\" === name || \"style\" === name || \"tabindex\" === name) {\r\n element.removeAttribute(name)\r\n }\r\n }\r\n }\r\n },\r\n _removeClasses(element) {\r\n element.className = element.className.split(\" \").filter(cssClass => 0 !== cssClass.lastIndexOf(\"dx-\", 0)).join(\" \")\r\n },\r\n _updateDOMComponent(renderRequired) {\r\n if (renderRequired) {\r\n this._renderComponent()\r\n } else if (this._requireRefresh) {\r\n this._requireRefresh = false;\r\n this._refresh()\r\n }\r\n },\r\n endUpdate() {\r\n var renderRequired = this._isInitializingRequired();\r\n this.callBase();\r\n this._isUpdateAllowed() && this._updateDOMComponent(renderRequired)\r\n },\r\n $element() {\r\n return this._$element\r\n },\r\n element() {\r\n var $element = this.$element();\r\n return getPublicElement($element)\r\n },\r\n dispose() {\r\n var element = this.$element().get(0);\r\n cleanDataRecursive(element, true);\r\n element.textContent = \"\";\r\n this._removeAttributes(element);\r\n this._removeClasses(element)\r\n },\r\n resetOption(optionName) {\r\n this.callBase(optionName);\r\n if (\"width\" === optionName || \"height\" === optionName) {\r\n var initialOption = this.initialOption(optionName);\r\n !isDefined(initialOption) && this.$element().css(optionName, \"\")\r\n }\r\n },\r\n _getAnonymousTemplateName() {\r\n return\r\n },\r\n _initTemplateManager() {\r\n if (this._templateManager || !this._useTemplates()) {\r\n return\r\n }\r\n var {\r\n integrationOptions: integrationOptions = {}\r\n } = this.option();\r\n var {\r\n createTemplate: createTemplate\r\n } = integrationOptions;\r\n this._templateManager = new TemplateManager(createTemplate, this._getAnonymousTemplateName());\r\n this._initTemplates()\r\n },\r\n _initTemplates() {\r\n var {\r\n templates: templates,\r\n anonymousTemplateMeta: anonymousTemplateMeta\r\n } = this._templateManager.extractTemplates(this.$element());\r\n var anonymousTemplate = this.option(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name));\r\n templates.forEach(_ref2 => {\r\n var {\r\n name: name,\r\n template: template\r\n } = _ref2;\r\n this._options.silent(\"integrationOptions.templates.\".concat(name), template)\r\n });\r\n if (anonymousTemplateMeta.name && !anonymousTemplate) {\r\n this._options.silent(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name), anonymousTemplateMeta.template);\r\n this._options.silent(\"_hasAnonymousTemplateContent\", true)\r\n }\r\n },\r\n _getTemplateByOption(optionName) {\r\n return this._getTemplate(this.option(optionName))\r\n },\r\n _getTemplate(templateSource) {\r\n var templates = this.option(\"integrationOptions.templates\");\r\n var isAsyncTemplate = this.option(\"templatesRenderAsynchronously\");\r\n var skipTemplates = this.option(\"integrationOptions.skipTemplates\");\r\n return this._templateManager.getTemplate(templateSource, templates, {\r\n isAsyncTemplate: isAsyncTemplate,\r\n skipTemplates: skipTemplates\r\n }, this)\r\n },\r\n _saveTemplate(name, template) {\r\n this._setOptionWithoutOptionChange(\"integrationOptions.templates.\" + name, this._templateManager._createTemplate(template))\r\n },\r\n _useTemplates: () => true\r\n});\r\nDOMComponent.getInstance = function(element) {\r\n return getInstanceByElement($(element), this)\r\n};\r\nDOMComponent.defaultOptions = function(rule) {\r\n this._classCustomRules = this._classCustomRules || [];\r\n this._classCustomRules.push(rule)\r\n};\r\nexport default DOMComponent;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/common/consts.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var SCROLL_LINE_HEIGHT = 40;\r\nexport var DIRECTION_VERTICAL = \"vertical\";\r\nexport var DIRECTION_HORIZONTAL = \"horizontal\";\r\nexport var DIRECTION_BOTH = \"both\";\r\nexport var SCROLLABLE_SIMULATED_CLASS = \"dx-scrollable-simulated\";\r\nexport var SCROLLABLE_CONTENT_CLASS = \"dx-scrollable-content\";\r\nexport var SCROLLABLE_WRAPPER_CLASS = \"dx-scrollable-wrapper\";\r\nexport var SCROLLABLE_CONTAINER_CLASS = \"dx-scrollable-container\";\r\nexport var SCROLLABLE_DISABLED_CLASS = \"dx-scrollable-disabled\";\r\nexport var SCROLLABLE_SCROLLBAR_SIMULATED = \"dx-scrollable-scrollbar-simulated\";\r\nexport var SCROLLABLE_SCROLLBARS_HIDDEN = \"dx-scrollable-scrollbars-hidden\";\r\nexport var SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE = \"dx-scrollable-scrollbars-alwaysvisible\";\r\nexport var SCROLLABLE_SCROLLBAR_CLASS = \"dx-scrollable-scrollbar\";\r\nexport var SCROLLABLE_SCROLLBAR_ACTIVE_CLASS = \"dx-scrollable-scrollbar-active\";\r\nexport var SCROLLABLE_SCROLL_CLASS = \"dx-scrollable-scroll\";\r\nexport var SCROLLABLE_SCROLL_CONTENT_CLASS = \"dx-scrollable-scroll-content\";\r\nexport var HOVER_ENABLED_STATE = \"dx-scrollbar-hoverable\";\r\nexport var SCROLLVIEW_CONTENT_CLASS = \"dx-scrollview-content\";\r\nexport var SCROLLVIEW_TOP_POCKET_CLASS = \"dx-scrollview-top-pocket\";\r\nexport var SCROLLVIEW_PULLDOWN = \"dx-scrollview-pull-down\";\r\nexport var SCROLLVIEW_PULLDOWN_LOADING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nexport var SCROLLVIEW_PULLDOWN_READY_CLASS = \"dx-scrollview-pull-down-ready\";\r\nexport var SCROLLVIEW_PULLDOWN_IMAGE_CLASS = \"dx-scrollview-pull-down-image\";\r\nexport var SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nexport var SCROLLVIEW_PULLDOWN_TEXT_CLASS = \"dx-scrollview-pull-down-text\";\r\nexport var SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = \"dx-scrollview-pull-down-text-visible\";\r\nexport var PULLDOWN_ICON_CLASS = \"dx-icon-pulldown\";\r\nexport var SCROLLVIEW_BOTTOM_POCKET_CLASS = \"dx-scrollview-bottom-pocket\";\r\nexport var SCROLLVIEW_REACHBOTTOM_CLASS = \"dx-scrollview-scrollbottom\";\r\nexport var SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS = \"dx-scrollview-scrollbottom-indicator\";\r\nexport var SCROLLVIEW_REACHBOTTOM_TEXT_CLASS = \"dx-scrollview-scrollbottom-text\";\r\nexport var TopPocketState = {\r\n STATE_RELEASED: 0,\r\n STATE_READY: 1,\r\n STATE_REFRESHING: 2,\r\n STATE_LOADING: 3,\r\n STATE_TOUCHED: 4,\r\n STATE_PULLED: 5\r\n};\r\nexport var ShowScrollbarMode = {\r\n HOVER: \"onHover\",\r\n ALWAYS: \"always\",\r\n NEVER: \"never\",\r\n SCROLL: \"onScroll\"\r\n};\r\nexport var KEY_CODES = {\r\n PAGE_UP: \"pageUp\",\r\n PAGE_DOWN: \"pageDown\",\r\n END: \"end\",\r\n HOME: \"home\",\r\n LEFT: \"leftArrow\",\r\n UP: \"upArrow\",\r\n RIGHT: \"rightArrow\",\r\n DOWN: \"downArrow\"\r\n};\r\nexport var VALIDATE_WHEEL_TIMEOUT = 500;\r\nexport var HIDE_SCROLLBAR_TIMEOUT = 500;\r\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\nvar baseBind = require('lodash._basebind'),\n baseCreateWrapper = require('lodash._basecreatewrapper'),\n isFunction = require('lodash.isfunction');\n\n/**\n * Used for `Array` method references.\n *\n * Normally `Array.prototype` would suffice, however, using an array literal\n * avoids issues in Narwhal.\n */\nvar arrayRef = [];\n\n/** Native method shortcuts */\nvar push = arrayRef.push;\n\n/**\n * Creates a function that, when called, either curries or invokes `func`\n * with an optional `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to reference.\n * @param {number} bitmask The bitmask of method flags to compose.\n * The bitmask may be composed of the following flags:\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry`\n * 8 - `_.curry` (bound)\n * 16 - `_.partial`\n * 32 - `_.partialRight`\n * @param {Array} [partialArgs] An array of arguments to prepend to those\n * provided to the new function.\n * @param {Array} [partialRightArgs] An array of arguments to append to those\n * provided to the new function.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new function.\n */\nfunction createWrapper(func, bitmask, partialArgs, partialRightArgs, thisArg, arity) {\n var isBind = bitmask & 1,\n isBindKey = bitmask & 2,\n isCurry = bitmask & 4,\n isCurryBound = bitmask & 8,\n isPartial = bitmask & 16,\n isPartialRight = bitmask & 32;\n\n if (!isBindKey && !isFunction(func)) {\n throw new TypeError;\n }\n if (isPartial && !partialArgs.length) {\n bitmask &= ~16;\n isPartial = partialArgs = false;\n }\n if (isPartialRight && !partialRightArgs.length) {\n bitmask &= ~32;\n isPartialRight = partialRightArgs = false;\n }\n var bindData = func && func.__bindData__;\n if (bindData && bindData !== true) {\n bindData = bindData.slice();\n\n // set `thisBinding` is not previously bound\n if (isBind && !(bindData[1] & 1)) {\n bindData[4] = thisArg;\n }\n // set if previously bound but not currently (subsequent curried functions)\n if (!isBind && bindData[1] & 1) {\n bitmask |= 8;\n }\n // set curried arity if not yet set\n if (isCurry && !(bindData[1] & 4)) {\n bindData[5] = arity;\n }\n // append partial left arguments\n if (isPartial) {\n push.apply(bindData[2] || (bindData[2] = []), partialArgs);\n }\n // append partial right arguments\n if (isPartialRight) {\n push.apply(bindData[3] || (bindData[3] = []), partialRightArgs);\n }\n // merge flags\n bindData[1] |= bitmask;\n return createWrapper.apply(null, bindData);\n }\n // fast path for `_.bind`\n var creater = (bitmask == 1 || bitmask === 17) ? baseBind : baseCreateWrapper;\n return creater([func, bitmask, partialArgs, partialRightArgs, thisArg, arity]);\n}\n\nmodule.exports = createWrapper;\n","/**\r\n * DevExtreme (esm/core/utils/position.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport config from \"../config\";\r\nimport {\r\n isWindow\r\n} from \"../utils/type\";\r\nvar getDefaultAlignment = isRtlEnabled => {\r\n var rtlEnabled = null !== isRtlEnabled && void 0 !== isRtlEnabled ? isRtlEnabled : config().rtlEnabled;\r\n return rtlEnabled ? \"right\" : \"left\"\r\n};\r\nvar getBoundingRect = element => {\r\n if (isWindow(element)) {\r\n return {\r\n width: element.outerWidth,\r\n height: element.outerHeight\r\n }\r\n }\r\n return element.getBoundingClientRect()\r\n};\r\nexport {\r\n getBoundingRect,\r\n getDefaultAlignment\r\n};\r\n","export type EasingFunction = (t: number) => number\n\n// linear\nexport const linear = (t: number) => t\n// accelerating from zero velocity\nexport const easeInQuad = (t: number) => t ** 2\n// decelerating to zero velocity\nexport const easeOutQuad = (t: number) => t * (2 - t)\n// acceleration until halfway, then deceleration\nexport const easeInOutQuad = (t: number) => (t < 0.5 ? 2 * t ** 2 : -1 + (4 - 2 * t) * t)\n// accelerating from zero velocity\nexport const easeInCubic = (t: number) => t ** 3\n// decelerating to zero velocity\nexport const easeOutCubic = (t: number) => --t ** 3 + 1\n// acceleration until halfway, then deceleration\nexport const easeInOutCubic = (t: number) => t < 0.5 ? 4 * t ** 3 : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1\n// accelerating from zero velocity\nexport const easeInQuart = (t: number) => t ** 4\n// decelerating to zero velocity\nexport const easeOutQuart = (t: number) => 1 - --t ** 4\n// acceleration until halfway, then deceleration\nexport const easeInOutQuart = (t: number) => (t < 0.5 ? 8 * t * t * t * t : 1 - 8 * --t * t * t * t)\n// accelerating from zero velocity\nexport const easeInQuint = (t: number) => t ** 5\n// decelerating to zero velocity\nexport const easeOutQuint = (t: number) => 1 + --t ** 5\n// acceleration until halfway, then deceleration\nexport const easeInOutQuint = (t: number) => t < 0.5 ? 16 * t ** 5 : 1 + 16 * --t ** 5\n","import Vue from 'vue'\n\n// Return target's cumulative offset from the top\nexport function getOffset (target: any): number {\n if (typeof target === 'number') {\n return target\n }\n\n let el = $(target)\n if (!el) {\n throw typeof target === 'string'\n ? new Error(`Target element \"${target}\" not found.`)\n : new TypeError(`Target must be a Number/Selector/HTMLElement/VueComponent, received ${type(target)} instead.`)\n }\n\n let totalOffset = 0\n while (el) {\n totalOffset += el.offsetTop\n el = el.offsetParent as HTMLElement\n }\n\n return totalOffset\n}\n\nexport function getContainer (container: any): HTMLElement {\n const el = $(container)\n\n if (el) return el\n\n throw typeof container === 'string'\n ? new Error(`Container element \"${container}\" not found.`)\n : new TypeError(`Container must be a Selector/HTMLElement/VueComponent, received ${type(container)} instead.`)\n}\n\nfunction type (el: any) {\n return el == null ? el : el.constructor.name\n}\n\nfunction $ (el: any): HTMLElement | null {\n if (typeof el === 'string') {\n return document.querySelector<HTMLElement>(el)\n } else if (el && el._isVue) {\n return (el as Vue).$el as HTMLElement\n } else if (el instanceof HTMLElement) {\n return el\n } else {\n return null\n }\n}\n","// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport * as easingPatterns from './easing-patterns'\nimport {\n getContainer,\n getOffset,\n} from './util'\n\n// Types\nimport { GoToOptions, VuetifyGoToTarget } from 'vuetify/types/services/goto'\n\nimport { VuetifyServiceContract } from 'vuetify/types/services'\n\nexport default function goTo (\n _target: VuetifyGoToTarget,\n _settings: GoToOptions = {}\n): Promise<number> {\n const settings: GoToOptions = {\n container: (document.scrollingElement as HTMLElement | null) || document.body || document.documentElement,\n duration: 500,\n offset: 0,\n easing: 'easeInOutCubic',\n appOffset: true,\n ..._settings,\n }\n const container = getContainer(settings.container)\n\n /* istanbul ignore else */\n if (settings.appOffset && goTo.framework.application) {\n const isDrawer = container.classList.contains('v-navigation-drawer')\n const isClipped = container.classList.contains('v-navigation-drawer--clipped')\n const { bar, top } = goTo.framework.application as any\n\n settings.offset += bar\n /* istanbul ignore else */\n if (!isDrawer || isClipped) settings.offset += top\n }\n\n const startTime = performance.now()\n\n let targetLocation: number\n if (typeof _target === 'number') {\n targetLocation = getOffset(_target) - settings.offset!\n } else {\n targetLocation = getOffset(_target) - getOffset(container) - settings.offset!\n }\n\n const startLocation = container.scrollTop\n if (targetLocation === startLocation) return Promise.resolve(targetLocation)\n\n const ease = typeof settings.easing === 'function'\n ? settings.easing\n : easingPatterns[settings.easing!]\n /* istanbul ignore else */\n if (!ease) throw new TypeError(`Easing function \"${settings.easing}\" not found.`)\n\n // Cannot be tested properly in jsdom\n /* istanbul ignore next */\n return new Promise(resolve => requestAnimationFrame(function step (currentTime: number) {\n const timeElapsed = currentTime - startTime\n const progress = Math.abs(settings.duration ? Math.min(timeElapsed / settings.duration, 1) : 1)\n\n container.scrollTop = Math.floor(startLocation + (targetLocation - startLocation) * ease(progress))\n\n const clientHeight = container === document.body ? document.documentElement.clientHeight : container.clientHeight\n const reachBottom = clientHeight + container.scrollTop >= container.scrollHeight\n if (\n progress === 1 ||\n // Need to go lower but reach bottom\n (targetLocation > container.scrollTop && reachBottom)\n ) {\n return resolve(targetLocation)\n }\n\n requestAnimationFrame(step)\n }))\n}\n\ngoTo.framework = {} as Record<string, VuetifyServiceContract>\ngoTo.init = () => {}\n\nexport class Goto extends Service {\n public static property: 'goTo' = 'goTo'\n\n constructor () {\n super()\n\n return goTo\n }\n}\n","import Vue from 'vue'\n\n/**\n * This mixin provides `attrs$` and `listeners$` to work around\n * vue bug https://github.com/vuejs/vue/issues/10115\n */\n\nfunction makeWatcher (property: string): ThisType<Vue> & ((val: any, oldVal: any) => void) {\n return function (this: Vue, val, oldVal) {\n for (const attr in oldVal) {\n if (!Object.prototype.hasOwnProperty.call(val, attr)) {\n this.$delete(this.$data[property], attr)\n }\n }\n for (const attr in val) {\n this.$set(this.$data[property], attr, val[attr])\n }\n }\n}\n\nexport default Vue.extend({\n data: () => ({\n attrs$: {} as Dictionary<string>,\n listeners$: {} as Dictionary<Function | Function[]>,\n }),\n\n created () {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n // Make sure to use `attrs$` instead of `$attrs` (confusing right?)\n this.$watch('$attrs', makeWatcher('attrs$'), { immediate: true })\n this.$watch('$listeners', makeWatcher('listeners$'), { immediate: true })\n },\n})\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var yo = moment.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n '_'\n ),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d',\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return yo;\n\n})));\n","/**\r\n * DevExtreme (esm/mobile/hide_callback.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var hideCallback = function() {\r\n var callbacks = [];\r\n return {\r\n add: function(callback) {\r\n if (!callbacks.includes(callback)) {\r\n callbacks.push(callback)\r\n }\r\n },\r\n remove: function(callback) {\r\n var indexOfCallback = callbacks.indexOf(callback);\r\n if (-1 !== indexOfCallback) {\r\n callbacks.splice(indexOfCallback, 1)\r\n }\r\n },\r\n fire: function() {\r\n var callback = callbacks.pop();\r\n var result = !!callback;\r\n if (result) {\r\n callback()\r\n }\r\n return result\r\n },\r\n hasCallback: function() {\r\n return callbacks.length > 0\r\n }\r\n }\r\n}();\r\n","/**\r\n * DevExtreme (esm/ui/overlay/ui.overlay.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport fx from \"../../animation/fx\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport devices from \"../../core/devices\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../../core/templates/empty_template\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n contains,\r\n resetActiveElement\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport {\r\n isFunction,\r\n isObject,\r\n isPromise,\r\n isWindow\r\n} from \"../../core/utils/type\";\r\nimport {\r\n changeCallback\r\n} from \"../../core/utils/view_port\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport errors from \"../../core/errors\";\r\nimport uiErrors from \"../widget/ui.errors\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n move as dragEventMove\r\n} from \"../../events/drag\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n keyboard\r\n} from \"../../events/short\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n triggerHidingEvent,\r\n triggerResizeEvent,\r\n triggerShownEvent\r\n} from \"../../events/visibility_change\";\r\nimport {\r\n hideCallback as hideTopOverlayCallback\r\n} from \"../../mobile/hide_callback\";\r\nimport {\r\n tabbable\r\n} from \"../widget/selectors\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport * as zIndexPool from \"./z_index\";\r\nimport {\r\n OverlayPositionController,\r\n OVERLAY_POSITION_ALIASES\r\n} from \"./overlay_position_controller\";\r\nvar ready = readyCallbacks.add;\r\nvar window = getWindow();\r\nvar viewPortChanged = changeCallback;\r\nvar OVERLAY_CLASS = \"dx-overlay\";\r\nvar OVERLAY_WRAPPER_CLASS = \"dx-overlay-wrapper\";\r\nvar OVERLAY_CONTENT_CLASS = \"dx-overlay-content\";\r\nvar OVERLAY_SHADER_CLASS = \"dx-overlay-shader\";\r\nvar INNER_OVERLAY_CLASS = \"dx-inner-overlay\";\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar RTL_DIRECTION_CLASS = \"dx-rtl\";\r\nvar OVERLAY_STACK = [];\r\nvar PREVENT_SAFARI_SCROLLING_CLASS = \"dx-prevent-safari-scrolling\";\r\nvar TAB_KEY = \"tab\";\r\nready(() => {\r\n eventsEngine.subscribeGlobal(domAdapter.getDocument(), pointerEvents.down, e => {\r\n for (var i = OVERLAY_STACK.length - 1; i >= 0; i--) {\r\n if (!OVERLAY_STACK[i]._proxiedDocumentDownHandler(e)) {\r\n return\r\n }\r\n }\r\n })\r\n});\r\nvar Overlay = Widget.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n escape: function() {\r\n this.hide()\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n activeStateEnabled: false,\r\n visible: false,\r\n deferRendering: true,\r\n shading: true,\r\n shadingColor: \"\",\r\n wrapperAttr: {},\r\n position: extend({}, OVERLAY_POSITION_ALIASES.center),\r\n width: \"80vw\",\r\n minWidth: null,\r\n maxWidth: null,\r\n height: \"80vh\",\r\n minHeight: null,\r\n maxHeight: null,\r\n animation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 300,\r\n from: {\r\n scale: .55\r\n }\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 300,\r\n from: {\r\n opacity: 1,\r\n scale: 1\r\n },\r\n to: {\r\n opacity: 0,\r\n scale: .55\r\n }\r\n }\r\n },\r\n closeOnOutsideClick: false,\r\n hideOnOutsideClick: false,\r\n copyRootClassesToWrapper: false,\r\n _ignoreCopyRootClassesToWrapperDeprecation: false,\r\n _ignoreElementAttrDeprecation: false,\r\n _ignorePreventScrollEventsDeprecation: false,\r\n onShowing: null,\r\n onShown: null,\r\n onHiding: null,\r\n onHidden: null,\r\n contentTemplate: \"content\",\r\n innerOverlay: false,\r\n restorePosition: true,\r\n container: void 0,\r\n visualContainer: void 0,\r\n hideTopOverlayHandler: () => {\r\n this.hide()\r\n },\r\n hideOnParentScroll: false,\r\n preventScrollEvents: true,\r\n onPositioned: null,\r\n propagateOutsideClick: false,\r\n ignoreChildEvents: true,\r\n _checkParentVisibility: true,\r\n _hideOnParentScrollTarget: void 0,\r\n _fixWrapperPosition: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return !hasWindow()\r\n },\r\n options: {\r\n width: null,\r\n height: null,\r\n animation: null,\r\n _checkParentVisibility: false\r\n }\r\n }])\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n animation: true\r\n })\r\n },\r\n $wrapper: function() {\r\n return this._$wrapper\r\n },\r\n _eventBindingTarget: function() {\r\n return this._$content\r\n },\r\n _setDeprecatedOptions() {\r\n this.callBase();\r\n extend(this._deprecatedOptions, {\r\n closeOnOutsideClick: {\r\n since: \"22.1\",\r\n alias: \"hideOnOutsideClick\"\r\n }\r\n })\r\n },\r\n ctor: function(element, options) {\r\n this.callBase(element, options);\r\n if (options) {\r\n if (options.copyRootClassesToWrapper && !options._ignoreCopyRootClassesToWrapperDeprecation) {\r\n this._logDeprecatedOptionWarning(\"copyRootClassesToWrapper\", {\r\n since: \"21.2\",\r\n message: 'Use the \"wrapperAttr\" option instead'\r\n })\r\n }\r\n if (options.elementAttr && !options._ignoreElementAttrDeprecation) {\r\n this._logDeprecatedOptionWarning(\"elementAttr\", {\r\n since: \"21.2\",\r\n message: 'Use the \"wrapperAttr\" option instead'\r\n })\r\n }\r\n if (\"preventScrollEvents\" in options && !options._ignorePreventScrollEventsDeprecation) {\r\n this._logDeprecatedPreventScrollEventsInfo()\r\n }\r\n }\r\n },\r\n _logDeprecatedPreventScrollEventsInfo() {\r\n this._logDeprecatedOptionWarning(\"preventScrollEvents\", {\r\n since: \"23.1\",\r\n message: \"If you enable this option, end-users may experience scrolling issues.\"\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initActions();\r\n this._initHideOnOutsideClickHandler();\r\n this._initTabTerminatorHandler();\r\n this._customWrapperClass = null;\r\n this._$wrapper = $(\"<div>\").addClass(OVERLAY_WRAPPER_CLASS);\r\n this._$content = $(\"<div>\").addClass(OVERLAY_CONTENT_CLASS);\r\n this._initInnerOverlayClass();\r\n var $element = this.$element();\r\n if (this.option(\"copyRootClassesToWrapper\")) {\r\n this._$wrapper.addClass($element.attr(\"class\"))\r\n }\r\n $element.addClass(OVERLAY_CLASS);\r\n this._$wrapper.attr(\"data-bind\", \"dxControlsDescendantBindings: true\");\r\n this._toggleViewPortSubscription(true);\r\n this._initHideTopOverlayHandler(this.option(\"hideTopOverlayHandler\"));\r\n this._parentsScrollSubscriptionInfo = {\r\n handler: e => {\r\n this._hideOnParentsScrollHandler(e)\r\n }\r\n };\r\n this.warnPositionAsFunction()\r\n },\r\n warnPositionAsFunction() {\r\n if (isFunction(this.option(\"position\"))) {\r\n errors.log(\"W0018\")\r\n }\r\n },\r\n _initInnerOverlayClass: function() {\r\n this._$content.toggleClass(INNER_OVERLAY_CLASS, this.option(\"innerOverlay\"))\r\n },\r\n _initHideTopOverlayHandler: function(handler) {\r\n this._hideTopOverlayHandler = handler\r\n },\r\n _getActionsList: function() {\r\n return [\"onShowing\", \"onShown\", \"onHiding\", \"onHidden\", \"onPositioned\", \"onVisualPositionChanged\"]\r\n },\r\n _initActions: function() {\r\n this._actions = {};\r\n var actions = this._getActionsList();\r\n each(actions, (_, action) => {\r\n this._actions[action] = this._createActionByOption(action, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }) || noop\r\n })\r\n },\r\n _initHideOnOutsideClickHandler: function() {\r\n var _this = this;\r\n this._proxiedDocumentDownHandler = function() {\r\n return _this._documentDownHandler(...arguments)\r\n }\r\n },\r\n _initMarkup() {\r\n this.callBase();\r\n this._renderWrapperAttributes();\r\n this._initPositionController()\r\n },\r\n _documentDownHandler: function(e) {\r\n if (this._showAnimationProcessing) {\r\n this._stopAnimation()\r\n }\r\n var isAttachedTarget = $(window.document).is(e.target) || contains(window.document, e.target);\r\n var isInnerOverlay = $(e.target).closest(\".\".concat(INNER_OVERLAY_CLASS)).length;\r\n var outsideClick = isAttachedTarget && !isInnerOverlay && !(this._$content.is(e.target) || contains(this._$content.get(0), e.target));\r\n if (outsideClick && this._shouldHideOnOutsideClick(e)) {\r\n this._outsideClickHandler(e)\r\n }\r\n return this.option(\"propagateOutsideClick\")\r\n },\r\n _shouldHideOnOutsideClick: function(e) {\r\n var {\r\n hideOnOutsideClick: hideOnOutsideClick\r\n } = this.option();\r\n if (isFunction(hideOnOutsideClick)) {\r\n return hideOnOutsideClick(e)\r\n }\r\n return hideOnOutsideClick\r\n },\r\n _outsideClickHandler(e) {\r\n if (this.option(\"shading\")) {\r\n e.preventDefault()\r\n }\r\n this.hide()\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n content: new EmptyTemplate\r\n });\r\n this.callBase()\r\n },\r\n _isTopOverlay: function() {\r\n var overlayStack = this._overlayStack();\r\n for (var i = overlayStack.length - 1; i >= 0; i--) {\r\n var tabbableElements = overlayStack[i]._findTabbableBounds();\r\n if (tabbableElements.first || tabbableElements.last) {\r\n return overlayStack[i] === this\r\n }\r\n }\r\n return false\r\n },\r\n _overlayStack: function() {\r\n return OVERLAY_STACK\r\n },\r\n _zIndexInitValue: function() {\r\n return Overlay.baseZIndex()\r\n },\r\n _toggleViewPortSubscription: function(toggle) {\r\n var _this2 = this;\r\n viewPortChanged.remove(this._viewPortChangeHandle);\r\n if (toggle) {\r\n this._viewPortChangeHandle = function() {\r\n _this2._viewPortChangeHandler(...arguments)\r\n };\r\n viewPortChanged.add(this._viewPortChangeHandle)\r\n }\r\n },\r\n _viewPortChangeHandler: function() {\r\n this._positionController.updateContainer(this.option(\"container\"));\r\n this._refresh()\r\n },\r\n _renderWrapperAttributes() {\r\n var {\r\n wrapperAttr: wrapperAttr\r\n } = this.option();\r\n var attributes = extend({}, wrapperAttr);\r\n var classNames = attributes.class;\r\n delete attributes.class;\r\n this.$wrapper().attr(attributes).removeClass(this._customWrapperClass).addClass(classNames);\r\n this._customWrapperClass = classNames\r\n },\r\n _renderVisibilityAnimate: function(visible) {\r\n this._stopAnimation();\r\n return visible ? this._show() : this._hide()\r\n },\r\n _getAnimationConfig: function() {\r\n return this._getOptionValue(\"animation\", this)\r\n },\r\n _toggleBodyScroll: noop,\r\n _animateShowing: function() {\r\n var _this$_getAnimationCo, _showAnimation$start, _showAnimation$comple, _this3 = this;\r\n var animation = null !== (_this$_getAnimationCo = this._getAnimationConfig()) && void 0 !== _this$_getAnimationCo ? _this$_getAnimationCo : {};\r\n var showAnimation = this._normalizeAnimation(animation.show, \"to\");\r\n var startShowAnimation = null !== (_showAnimation$start = null === showAnimation || void 0 === showAnimation ? void 0 : showAnimation.start) && void 0 !== _showAnimation$start ? _showAnimation$start : noop;\r\n var completeShowAnimation = null !== (_showAnimation$comple = null === showAnimation || void 0 === showAnimation ? void 0 : showAnimation.complete) && void 0 !== _showAnimation$comple ? _showAnimation$comple : noop;\r\n this._animate(showAnimation, (function() {\r\n if (_this3._isAnimationPaused) {\r\n return\r\n }\r\n if (_this3.option(\"focusStateEnabled\")) {\r\n eventsEngine.trigger(_this3._focusTarget(), \"focus\")\r\n }\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n completeShowAnimation.call(_this3, ...args);\r\n _this3._showAnimationProcessing = false;\r\n _this3._isHidden = false;\r\n _this3._actions.onShown();\r\n _this3._toggleSafariScrolling();\r\n _this3._showingDeferred.resolve()\r\n }), (function() {\r\n if (_this3._isAnimationPaused) {\r\n return\r\n }\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n startShowAnimation.call(_this3, ...args);\r\n _this3._showAnimationProcessing = true\r\n }))\r\n },\r\n _processShowingHidingCancel: function(cancelArg, applyFunction, cancelFunction) {\r\n if (isPromise(cancelArg)) {\r\n cancelArg.then(shouldCancel => {\r\n if (shouldCancel) {\r\n cancelFunction()\r\n } else {\r\n applyFunction()\r\n }\r\n }).catch(() => applyFunction())\r\n } else {\r\n cancelArg ? cancelFunction() : applyFunction()\r\n }\r\n },\r\n _show: function() {\r\n this._showingDeferred = new Deferred;\r\n this._parentHidden = this._isParentHidden();\r\n this._showingDeferred.done(() => {\r\n delete this._parentHidden\r\n });\r\n if (this._parentHidden) {\r\n this._isHidden = true;\r\n return this._showingDeferred.resolve()\r\n }\r\n if (this._currentVisible) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n this._currentVisible = true;\r\n if (this._isHidingActionCanceled) {\r\n delete this._isHidingActionCanceled;\r\n this._showingDeferred.reject()\r\n } else {\r\n var show = () => {\r\n this._stopAnimation();\r\n this._toggleBodyScroll(this.option(\"enableBodyScroll\"));\r\n this._toggleVisibility(true);\r\n this._$content.css(\"visibility\", \"hidden\");\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, false);\r\n this._updateZIndexStackPosition(true);\r\n this._positionController.openingHandled();\r\n this._renderContent();\r\n var showingArgs = {\r\n cancel: false\r\n };\r\n this._actions.onShowing(showingArgs);\r\n this._processShowingHidingCancel(showingArgs.cancel, () => {\r\n this._$content.css(\"visibility\", \"\");\r\n this._renderVisibility(true);\r\n this._animateShowing()\r\n }, () => {\r\n this._toggleVisibility(false);\r\n this._$content.css(\"visibility\", \"\");\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, true);\r\n this._isShowingActionCanceled = true;\r\n this._moveFromContainer();\r\n this._toggleBodyScroll(true);\r\n this.option(\"visible\", false);\r\n this._showingDeferred.resolve()\r\n })\r\n };\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n this._stopShowTimer();\r\n this._asyncShowTimeout = setTimeout(show)\r\n } else {\r\n show()\r\n }\r\n }\r\n return this._showingDeferred.promise()\r\n },\r\n _normalizeAnimation: function(showHideConfig, direction) {\r\n if (showHideConfig) {\r\n showHideConfig = extend({\r\n type: \"slide\",\r\n skipElementInitialStyles: true\r\n }, showHideConfig);\r\n if (isObject(showHideConfig[direction])) {\r\n extend(showHideConfig[direction], {\r\n position: this._positionController.position\r\n })\r\n }\r\n }\r\n return showHideConfig\r\n },\r\n _animateHiding: function() {\r\n var _this$_getAnimationCo2, _hideAnimation$start, _hideAnimation$comple, _this4 = this;\r\n var animation = null !== (_this$_getAnimationCo2 = this._getAnimationConfig()) && void 0 !== _this$_getAnimationCo2 ? _this$_getAnimationCo2 : {};\r\n var hideAnimation = this._normalizeAnimation(animation.hide, \"from\");\r\n var startHideAnimation = null !== (_hideAnimation$start = null === hideAnimation || void 0 === hideAnimation ? void 0 : hideAnimation.start) && void 0 !== _hideAnimation$start ? _hideAnimation$start : noop;\r\n var completeHideAnimation = null !== (_hideAnimation$comple = null === hideAnimation || void 0 === hideAnimation ? void 0 : hideAnimation.complete) && void 0 !== _hideAnimation$comple ? _hideAnimation$comple : noop;\r\n this._animate(hideAnimation, (function() {\r\n var _this4$_actions;\r\n _this4._$content.css(\"pointerEvents\", \"\");\r\n _this4._renderVisibility(false);\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n completeHideAnimation.call(_this4, ...args);\r\n _this4._hideAnimationProcessing = false;\r\n null === (_this4$_actions = _this4._actions) || void 0 === _this4$_actions ? void 0 : _this4$_actions.onHidden();\r\n _this4._hidingDeferred.resolve()\r\n }), (function() {\r\n _this4._$content.css(\"pointerEvents\", \"none\");\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n startHideAnimation.call(_this4, ...args);\r\n _this4._hideAnimationProcessing = true\r\n }))\r\n },\r\n _hide: function() {\r\n if (!this._currentVisible) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n this._currentVisible = false;\r\n this._hidingDeferred = new Deferred;\r\n var hidingArgs = {\r\n cancel: false\r\n };\r\n if (this._isShowingActionCanceled) {\r\n delete this._isShowingActionCanceled;\r\n this._hidingDeferred.reject()\r\n } else {\r\n this._actions.onHiding(hidingArgs);\r\n this._toggleSafariScrolling();\r\n this._toggleBodyScroll(true);\r\n this._processShowingHidingCancel(hidingArgs.cancel, () => {\r\n this._forceFocusLost();\r\n this._toggleShading(false);\r\n this._toggleSubscriptions(false);\r\n this._stopShowTimer();\r\n this._animateHiding()\r\n }, () => {\r\n this._isHidingActionCanceled = true;\r\n this._toggleBodyScroll(this.option(\"enableBodyScroll\"));\r\n this.option(\"visible\", true);\r\n this._hidingDeferred.resolve()\r\n })\r\n }\r\n return this._hidingDeferred.promise()\r\n },\r\n _forceFocusLost: function() {\r\n var activeElement = domAdapter.getActiveElement();\r\n var shouldResetActiveElement = !!this._$content.find(activeElement).length;\r\n if (shouldResetActiveElement) {\r\n resetActiveElement()\r\n }\r\n },\r\n _animate: function(animation, completeCallback, startCallback) {\r\n if (animation) {\r\n startCallback = startCallback || animation.start || noop;\r\n fx.animate(this._$content, extend({}, animation, {\r\n start: startCallback,\r\n complete: completeCallback\r\n }))\r\n } else {\r\n completeCallback()\r\n }\r\n },\r\n _stopAnimation: function() {\r\n fx.stop(this._$content, true)\r\n },\r\n _renderVisibility: function(visible) {\r\n if (visible && this._isParentHidden()) {\r\n return\r\n }\r\n this._currentVisible = visible;\r\n this._stopAnimation();\r\n if (!visible) {\r\n triggerHidingEvent(this._$content)\r\n }\r\n if (visible) {\r\n this._checkContainerExists();\r\n this._moveToContainer();\r\n this._renderGeometry();\r\n triggerShownEvent(this._$content);\r\n triggerResizeEvent(this._$content)\r\n } else {\r\n this._toggleVisibility(visible);\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, !visible);\r\n this._updateZIndexStackPosition(visible);\r\n this._moveFromContainer()\r\n }\r\n this._toggleShading(visible);\r\n this._toggleSubscriptions(visible)\r\n },\r\n _updateZIndexStackPosition: function(pushToStack) {\r\n var overlayStack = this._overlayStack();\r\n var index = overlayStack.indexOf(this);\r\n if (pushToStack) {\r\n if (-1 === index) {\r\n this._zIndex = zIndexPool.create(this._zIndexInitValue());\r\n overlayStack.push(this)\r\n }\r\n this._$wrapper.css(\"zIndex\", this._zIndex);\r\n this._$content.css(\"zIndex\", this._zIndex)\r\n } else if (-1 !== index) {\r\n overlayStack.splice(index, 1);\r\n zIndexPool.remove(this._zIndex)\r\n }\r\n },\r\n _toggleShading: function(visible) {\r\n this._$wrapper.toggleClass(OVERLAY_SHADER_CLASS, visible && this.option(\"shading\"));\r\n this._$wrapper.css(\"backgroundColor\", this.option(\"shading\") ? this.option(\"shadingColor\") : \"\");\r\n this._toggleTabTerminator(visible && this.option(\"shading\"))\r\n },\r\n _initTabTerminatorHandler: function() {\r\n var _this5 = this;\r\n this._proxiedTabTerminatorHandler = function() {\r\n _this5._tabKeyHandler(...arguments)\r\n }\r\n },\r\n _toggleTabTerminator: function(enabled) {\r\n var eventName = addNamespace(\"keydown\", this.NAME);\r\n if (enabled) {\r\n eventsEngine.on(domAdapter.getDocument(), eventName, this._proxiedTabTerminatorHandler)\r\n } else {\r\n eventsEngine.off(domAdapter.getDocument(), eventName, this._proxiedTabTerminatorHandler)\r\n }\r\n },\r\n _findTabbableBounds: function() {\r\n var $elements = this._$wrapper.find(\"*\");\r\n var elementsCount = $elements.length - 1;\r\n var result = {\r\n first: null,\r\n last: null\r\n };\r\n for (var i = 0; i <= elementsCount; i++) {\r\n if (!result.first && $elements.eq(i).is(tabbable)) {\r\n result.first = $elements.eq(i)\r\n }\r\n if (!result.last && $elements.eq(elementsCount - i).is(tabbable)) {\r\n result.last = $elements.eq(elementsCount - i)\r\n }\r\n if (result.first && result.last) {\r\n break\r\n }\r\n }\r\n return result\r\n },\r\n _tabKeyHandler: function(e) {\r\n if (normalizeKeyName(e) !== TAB_KEY || !this._isTopOverlay()) {\r\n return\r\n }\r\n var tabbableElements = this._findTabbableBounds();\r\n var $firstTabbable = tabbableElements.first;\r\n var $lastTabbable = tabbableElements.last;\r\n var isTabOnLast = !e.shiftKey && e.target === $lastTabbable.get(0);\r\n var isShiftTabOnFirst = e.shiftKey && e.target === $firstTabbable.get(0);\r\n var isEmptyTabList = 0 === tabbableElements.length;\r\n var isOutsideTarget = !contains(this._$wrapper.get(0), e.target);\r\n if (isTabOnLast || isShiftTabOnFirst || isEmptyTabList || isOutsideTarget) {\r\n e.preventDefault();\r\n var $focusElement = e.shiftKey ? $lastTabbable : $firstTabbable;\r\n eventsEngine.trigger($focusElement, \"focusin\");\r\n eventsEngine.trigger($focusElement, \"focus\")\r\n }\r\n },\r\n _toggleSubscriptions: function(enabled) {\r\n if (hasWindow()) {\r\n this._toggleHideTopOverlayCallback(enabled);\r\n this._toggleHideOnParentsScrollSubscription(enabled)\r\n }\r\n },\r\n _toggleHideTopOverlayCallback: function(subscribe) {\r\n if (!this._hideTopOverlayHandler) {\r\n return\r\n }\r\n if (subscribe) {\r\n hideTopOverlayCallback.add(this._hideTopOverlayHandler)\r\n } else {\r\n hideTopOverlayCallback.remove(this._hideTopOverlayHandler)\r\n }\r\n },\r\n _toggleHideOnParentsScrollSubscription: function(needSubscribe) {\r\n var _this$_parentsScrollS;\r\n var scrollEvent = addNamespace(\"scroll\", this.NAME);\r\n var {\r\n prevTargets: prevTargets,\r\n handler: handler\r\n } = null !== (_this$_parentsScrollS = this._parentsScrollSubscriptionInfo) && void 0 !== _this$_parentsScrollS ? _this$_parentsScrollS : {};\r\n eventsEngine.off(prevTargets, scrollEvent, handler);\r\n var hideOnScroll = this.option(\"hideOnParentScroll\");\r\n if (needSubscribe && hideOnScroll) {\r\n var $parents = this._getHideOnParentScrollTarget().parents();\r\n if (\"desktop\" === devices.real().deviceType) {\r\n $parents = $parents.add(window)\r\n }\r\n eventsEngine.on($parents, scrollEvent, handler);\r\n this._parentsScrollSubscriptionInfo.prevTargets = $parents\r\n }\r\n },\r\n _hideOnParentsScrollHandler: function(e) {\r\n var hideHandled = false;\r\n var hideOnScroll = this.option(\"hideOnParentScroll\");\r\n if (isFunction(hideOnScroll)) {\r\n hideHandled = hideOnScroll(e)\r\n }\r\n if (!hideHandled && !this._showAnimationProcessing) {\r\n this.hide()\r\n }\r\n },\r\n _getHideOnParentScrollTarget: function() {\r\n var $hideOnParentScrollTarget = $(this.option(\"_hideOnParentScrollTarget\"));\r\n if ($hideOnParentScrollTarget.length) {\r\n return $hideOnParentScrollTarget\r\n }\r\n return this._$wrapper\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._appendContentToElement();\r\n this._renderVisibilityAnimate(this.option(\"visible\"))\r\n },\r\n _appendContentToElement: function() {\r\n if (!this._$content.parent().is(this.$element())) {\r\n this._$content.appendTo(this.$element())\r\n }\r\n },\r\n _renderContent: function() {\r\n var shouldDeferRendering = !this._currentVisible && this.option(\"deferRendering\");\r\n var isParentHidden = this.option(\"visible\") && this._isParentHidden();\r\n if (isParentHidden) {\r\n this._isHidden = true;\r\n return\r\n }\r\n if (this._contentAlreadyRendered || shouldDeferRendering) {\r\n return\r\n }\r\n this._contentAlreadyRendered = true;\r\n this._appendContentToElement();\r\n this.callBase()\r\n },\r\n _isParentHidden: function() {\r\n if (!this.option(\"_checkParentVisibility\")) {\r\n return false\r\n }\r\n if (void 0 !== this._parentHidden) {\r\n return this._parentHidden\r\n }\r\n var $parent = this.$element().parent();\r\n if ($parent.is(\":visible\")) {\r\n return false\r\n }\r\n var isHidden = false;\r\n $parent.add($parent.parents()).each((function() {\r\n var $element = $(this);\r\n if (\"none\" === $element.css(\"display\")) {\r\n isHidden = true;\r\n return false\r\n }\r\n }));\r\n return isHidden || !domAdapter.getBody().contains($parent.get(0))\r\n },\r\n _renderContentImpl: function() {\r\n var whenContentRendered = new Deferred;\r\n var contentTemplateOption = this.option(\"contentTemplate\");\r\n var contentTemplate = this._getTemplate(contentTemplateOption);\r\n var transclude = this._templateManager.anonymousTemplateName === contentTemplateOption;\r\n contentTemplate && contentTemplate.render({\r\n container: getPublicElement(this.$content()),\r\n noModel: true,\r\n transclude: transclude,\r\n onRendered: () => {\r\n whenContentRendered.resolve();\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n this._dimensionChanged()\r\n }\r\n }\r\n });\r\n this._toggleWrapperScrollEventsSubscription(this.option(\"preventScrollEvents\"));\r\n whenContentRendered.done(() => {\r\n if (this.option(\"visible\")) {\r\n this._moveToContainer()\r\n }\r\n });\r\n return whenContentRendered.promise()\r\n },\r\n _getPositionControllerConfig() {\r\n var {\r\n container: container,\r\n visualContainer: visualContainer,\r\n _fixWrapperPosition: _fixWrapperPosition,\r\n restorePosition: restorePosition,\r\n _skipContentPositioning: _skipContentPositioning\r\n } = this.option();\r\n return {\r\n container: container,\r\n visualContainer: visualContainer,\r\n $root: this.$element(),\r\n $content: this._$content,\r\n $wrapper: this._$wrapper,\r\n onPositioned: this._actions.onPositioned,\r\n onVisualPositionChanged: this._actions.onVisualPositionChanged,\r\n restorePosition: restorePosition,\r\n _fixWrapperPosition: _fixWrapperPosition,\r\n _skipContentPositioning: _skipContentPositioning\r\n }\r\n },\r\n _initPositionController() {\r\n this._positionController = new OverlayPositionController(this._getPositionControllerConfig())\r\n },\r\n _toggleWrapperScrollEventsSubscription: function(enabled) {\r\n var eventName = addNamespace(dragEventMove, this.NAME);\r\n eventsEngine.off(this._$wrapper, eventName);\r\n if (enabled) {\r\n eventsEngine.on(this._$wrapper, eventName, {\r\n validate: function() {\r\n return true\r\n },\r\n getDirection: function() {\r\n return \"both\"\r\n },\r\n _toggleGestureCover: function(toggle) {\r\n if (!toggle) {\r\n this._toggleGestureCoverImpl(toggle)\r\n }\r\n },\r\n _clearSelection: noop,\r\n isNative: true\r\n }, e => {\r\n var originalEvent = e.originalEvent.originalEvent;\r\n var {\r\n type: type\r\n } = originalEvent || {};\r\n var isWheel = \"wheel\" === type;\r\n var isMouseMove = \"mousemove\" === type;\r\n var isScrollByWheel = isWheel && !isCommandKeyPressed(e);\r\n e._cancelPreventDefault = true;\r\n if (originalEvent && false !== e.cancelable && (!isMouseMove && !isWheel || isScrollByWheel)) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n },\r\n _moveFromContainer: function() {\r\n this._$content.appendTo(this.$element());\r\n this._$wrapper.detach()\r\n },\r\n _checkContainerExists() {\r\n var $wrapperContainer = this._positionController.$container;\r\n if (void 0 === $wrapperContainer) {\r\n return\r\n }\r\n var containerExists = $wrapperContainer.length > 0;\r\n if (!containerExists) {\r\n uiErrors.log(\"W1021\", this.NAME)\r\n }\r\n },\r\n _moveToContainer: function() {\r\n var $wrapperContainer = this._positionController.$container;\r\n this._$wrapper.appendTo($wrapperContainer);\r\n this._$content.appendTo(this._$wrapper)\r\n },\r\n _renderGeometry: function(options) {\r\n var {\r\n visible: visible\r\n } = this.option();\r\n if (visible && hasWindow()) {\r\n this._stopAnimation();\r\n this._renderGeometryImpl()\r\n }\r\n },\r\n _renderGeometryImpl: function() {\r\n this._positionController.updatePosition(this._getOptionValue(\"position\"));\r\n this._renderWrapper();\r\n this._renderDimensions();\r\n this._renderPosition()\r\n },\r\n _renderPosition() {\r\n this._positionController.positionContent()\r\n },\r\n _isAllWindowCovered: function() {\r\n return isWindow(this._positionController.$visualContainer.get(0)) && this.option(\"shading\")\r\n },\r\n _toggleSafariScrolling: function() {\r\n var visible = this.option(\"visible\");\r\n var $body = $(domAdapter.getBody());\r\n var isIosSafari = \"ios\" === devices.real().platform && browser.safari;\r\n var isAllWindowCovered = this._isAllWindowCovered();\r\n var isScrollingPrevented = $body.hasClass(PREVENT_SAFARI_SCROLLING_CLASS);\r\n var shouldPreventScrolling = !isScrollingPrevented && visible && isAllWindowCovered;\r\n var shouldEnableScrolling = isScrollingPrevented && (!visible || !isAllWindowCovered || this._disposed);\r\n if (isIosSafari) {\r\n if (shouldEnableScrolling) {\r\n $body.removeClass(PREVENT_SAFARI_SCROLLING_CLASS);\r\n window.scrollTo(0, this._cachedBodyScrollTop);\r\n this._cachedBodyScrollTop = void 0\r\n } else if (shouldPreventScrolling) {\r\n this._cachedBodyScrollTop = window.pageYOffset;\r\n $body.addClass(PREVENT_SAFARI_SCROLLING_CLASS)\r\n }\r\n }\r\n },\r\n _renderWrapper: function() {\r\n this._positionController.styleWrapperPosition();\r\n this._renderWrapperDimensions();\r\n this._positionController.positionWrapper()\r\n },\r\n _renderWrapperDimensions: function() {\r\n var $visualContainer = this._positionController.$visualContainer;\r\n var documentElement = domAdapter.getDocumentElement();\r\n var isVisualContainerWindow = isWindow($visualContainer.get(0));\r\n var wrapperWidth = isVisualContainerWindow ? documentElement.clientWidth : getOuterWidth($visualContainer);\r\n var wrapperHeight = isVisualContainerWindow ? window.innerHeight : getOuterHeight($visualContainer);\r\n this._$wrapper.css({\r\n width: wrapperWidth,\r\n height: wrapperHeight\r\n })\r\n },\r\n _renderDimensions: function() {\r\n var content = this._$content.get(0);\r\n this._$content.css({\r\n minWidth: this._getOptionValue(\"minWidth\", content),\r\n maxWidth: this._getOptionValue(\"maxWidth\", content),\r\n minHeight: this._getOptionValue(\"minHeight\", content),\r\n maxHeight: this._getOptionValue(\"maxHeight\", content),\r\n width: this._getOptionValue(\"width\", content),\r\n height: this._getOptionValue(\"height\", content)\r\n })\r\n },\r\n _focusTarget: function() {\r\n return this._$content\r\n },\r\n _attachKeyboardEvents: function() {\r\n this._keyboardListenerId = keyboard.on(this._$content, null, opts => this._keyboardHandler(opts))\r\n },\r\n _keyboardHandler: function(options) {\r\n var e = options.originalEvent;\r\n var $target = $(e.target);\r\n if ($target.is(this._$content) || !this.option(\"ignoreChildEvents\")) {\r\n this.callBase(...arguments)\r\n }\r\n },\r\n _isVisible: function() {\r\n return this.option(\"visible\")\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n if (this.option(\"visible\")) {\r\n this._renderVisibilityAnimate(visible)\r\n }\r\n } else {\r\n this._renderVisibilityAnimate(visible)\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._renderGeometry()\r\n },\r\n _clean: function() {\r\n var options = this.option();\r\n if (!this._contentAlreadyRendered && !options.isRenovated) {\r\n this.$content().empty()\r\n }\r\n this._renderVisibility(false);\r\n this._stopShowTimer();\r\n this._cleanFocusState()\r\n },\r\n _stopShowTimer() {\r\n if (this._asyncShowTimeout) {\r\n clearTimeout(this._asyncShowTimeout)\r\n }\r\n this._asyncShowTimeout = null\r\n },\r\n _dispose: function() {\r\n fx.stop(this._$content, false);\r\n clearTimeout(this._deferShowTimer);\r\n this._toggleViewPortSubscription(false);\r\n this._toggleSubscriptions(false);\r\n this._updateZIndexStackPosition(false);\r\n this._toggleTabTerminator(false);\r\n this._actions = null;\r\n this._parentsScrollSubscriptionInfo = null;\r\n this.callBase();\r\n this._toggleSafariScrolling();\r\n this.option(\"visible\") && zIndexPool.remove(this._zIndex);\r\n this._$wrapper.remove();\r\n this._$content.remove()\r\n },\r\n _toggleRTLDirection: function(rtl) {\r\n this._$content.toggleClass(RTL_DIRECTION_CLASS, rtl)\r\n },\r\n _optionChanged: function(args) {\r\n var {\r\n value: value,\r\n name: name\r\n } = args;\r\n if (this._getActionsList().includes(name)) {\r\n this._initActions();\r\n return\r\n }\r\n switch (name) {\r\n case \"animation\":\r\n break;\r\n case \"shading\":\r\n this._toggleShading(this.option(\"visible\"));\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"shadingColor\":\r\n this._toggleShading(this.option(\"visible\"));\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this._renderGeometry();\r\n break;\r\n case \"minWidth\":\r\n case \"maxWidth\":\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n this._renderGeometry();\r\n break;\r\n case \"position\":\r\n this._positionController.updatePosition(this.option(\"position\"));\r\n this._positionController.restorePositionOnNextRender(true);\r\n this._renderGeometry();\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"visible\":\r\n this._renderVisibilityAnimate(value).done(() => {\r\n var _this$_animateDeferre;\r\n return null === (_this$_animateDeferre = this._animateDeferred) || void 0 === _this$_animateDeferre ? void 0 : _this$_animateDeferre.resolveWith(this)\r\n }).fail(() => {\r\n var _this$_animateDeferre2;\r\n return null === (_this$_animateDeferre2 = this._animateDeferred) || void 0 === _this$_animateDeferre2 ? void 0 : _this$_animateDeferre2.reject()\r\n });\r\n break;\r\n case \"container\":\r\n this._positionController.updateContainer(value);\r\n this._invalidate();\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"visualContainer\":\r\n this._positionController.updateVisualContainer(value);\r\n this._renderWrapper();\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"innerOverlay\":\r\n this._initInnerOverlayClass();\r\n break;\r\n case \"deferRendering\":\r\n case \"contentTemplate\":\r\n this._contentAlreadyRendered = false;\r\n this._clean();\r\n this._invalidate();\r\n break;\r\n case \"hideTopOverlayHandler\":\r\n this._toggleHideTopOverlayCallback(false);\r\n this._initHideTopOverlayHandler(value);\r\n this._toggleHideTopOverlayCallback(this.option(\"visible\"));\r\n break;\r\n case \"hideOnParentScroll\":\r\n case \"_hideOnParentScrollTarget\":\r\n this._toggleHideOnParentsScrollSubscription(this.option(\"visible\"));\r\n break;\r\n case \"closeOnOutsideClick\":\r\n case \"hideOnOutsideClick\":\r\n case \"propagateOutsideClick\":\r\n break;\r\n case \"rtlEnabled\":\r\n this._contentAlreadyRendered = false;\r\n this.callBase(args);\r\n break;\r\n case \"_fixWrapperPosition\":\r\n this._positionController.fixWrapperPosition = value;\r\n break;\r\n case \"wrapperAttr\":\r\n this._renderWrapperAttributes();\r\n break;\r\n case \"restorePosition\":\r\n this._positionController.restorePosition = value;\r\n break;\r\n case \"preventScrollEvents\":\r\n this._logDeprecatedPreventScrollEventsInfo();\r\n this._toggleWrapperScrollEventsSubscription(value);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n toggle: function(showing) {\r\n showing = void 0 === showing ? !this.option(\"visible\") : showing;\r\n var result = new Deferred;\r\n if (showing === this.option(\"visible\")) {\r\n return result.resolveWith(this, [showing]).promise()\r\n }\r\n var animateDeferred = new Deferred;\r\n this._animateDeferred = animateDeferred;\r\n this.option(\"visible\", showing);\r\n animateDeferred.promise().done(() => {\r\n delete this._animateDeferred;\r\n result.resolveWith(this, [this.option(\"visible\")])\r\n }).fail(() => {\r\n delete this._animateDeferred;\r\n result.reject()\r\n });\r\n return result.promise()\r\n },\r\n $content: function() {\r\n return this._$content\r\n },\r\n show: function() {\r\n return this.toggle(true)\r\n },\r\n hide: function() {\r\n return this.toggle(false)\r\n },\r\n content: function() {\r\n return getPublicElement(this._$content)\r\n },\r\n repaint: function() {\r\n if (this._contentAlreadyRendered) {\r\n this._positionController.restorePositionOnNextRender(true);\r\n this._renderGeometry({\r\n forceStopAnimation: true\r\n });\r\n triggerResizeEvent(this._$content)\r\n } else {\r\n this.callBase()\r\n }\r\n }\r\n});\r\nOverlay.baseZIndex = zIndex => zIndexPool.base(zIndex);\r\nregisterComponent(\"dxOverlay\", Overlay);\r\nexport default Overlay;\r\n","var metric\n , imperial;\n\nmetric = {\n ea: {\n name: {\n singular: 'Each'\n , plural: 'Each'\n }\n , to_anchor: 1\n },\n dz: {\n name: {\n singular: 'Dozen'\n , plural: 'Dozens'\n }\n , to_anchor: 12\n }\n};\n\nmodule.exports = {\n metric: metric\n, imperial: {}\n, _anchors: {\n metric: {\n unit: 'ea'\n , ratio: 1\n }\n }\n};\n","import Vue from 'vue'\nimport { VNode, VNodeDirective } from 'vue/types'\nimport { VuetifyIcon } from 'vuetify/types/services/icons'\nimport { DataTableCompareFunction, SelectItemKey, ItemGroup } from 'vuetify/types'\n\nexport function createSimpleFunctional (\n c: string,\n el = 'div',\n name?: string\n) {\n return Vue.extend({\n name: name || c.replace(/__/g, '-'),\n\n functional: true,\n\n props: {\n tag: {\n type: String,\n default: el,\n },\n },\n\n render (h, { data, props, children }): VNode {\n data.staticClass = (`${c} ${data.staticClass || ''}`).trim()\n\n return h(props.tag, data, children)\n },\n })\n}\n\nexport type BindingConfig = Pick<VNodeDirective, 'arg' | 'modifiers' | 'value'>\nexport function directiveConfig (binding: BindingConfig, defaults = {}): VNodeDirective {\n return {\n ...defaults,\n ...binding.modifiers,\n value: binding.arg,\n ...(binding.value || {}),\n }\n}\n\nexport function addOnceEventListener (\n el: EventTarget,\n eventName: string,\n cb: (event: Event) => void,\n options: boolean | AddEventListenerOptions = false\n): void {\n const once = (event: Event) => {\n cb(event)\n el.removeEventListener(eventName, once, options)\n }\n\n el.addEventListener(eventName, once, options)\n}\n\nlet passiveSupported = false\ntry {\n if (typeof window !== 'undefined') {\n const testListenerOpts = Object.defineProperty({}, 'passive', {\n get: () => {\n passiveSupported = true\n },\n }) as EventListener & EventListenerOptions\n\n window.addEventListener('testListener', testListenerOpts, testListenerOpts)\n window.removeEventListener('testListener', testListenerOpts, testListenerOpts)\n }\n} catch (e) { console.warn(e) } /* eslint-disable-line no-console */\nexport { passiveSupported }\n\nexport function addPassiveEventListener (\n el: EventTarget,\n event: string,\n cb: (event: any) => void,\n options: {}\n): void {\n el.addEventListener(event, cb, passiveSupported ? options : false)\n}\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport function getPropertyFromItem (\n item: object,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number): number[] {\n return Array.from({ length }, (v, k) => k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function kebabCase (str: string): string {\n return (str || '').replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object'\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\n/**\n * This remaps internal names like '$cancel' or '$vuetify.icons.cancel'\n * to the current name or component for that icon.\n */\nexport function remapInternalIcon (vm: Vue, iconName: string): VuetifyIcon {\n // Look for custom component in the configuration\n const component = vm.$vuetify.icons.component\n\n // Look for overrides\n if (iconName.startsWith('$')) {\n // Get the target icon name\n const iconPath = `$vuetify.icons.values.${iconName.split('$').pop()!.split('.').pop()}`\n\n // Now look up icon indirection name,\n // e.g. '$vuetify.icons.values.cancel'\n const override = getObjectValueByPath(vm, iconPath, iconName)\n\n if (typeof override === 'string') iconName = override\n else return override\n }\n\n if (component == null) {\n return iconName\n }\n\n return {\n component,\n props: {\n icon: iconName,\n },\n }\n}\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nconst camelizeRE = /-(\\w)/g\nexport const camelize = (str: string): string => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (a.indexOf(b[i]) < 0) diff.push(b[i])\n }\n return diff\n}\n\n/**\n * Makes the first character of a string uppercase\n */\nexport function upperFirst (str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] { return v != null ? Array.isArray(v) ? v : [v] : [] }\n\nexport function sortItems<T extends any = any> (\n items: T[],\n sortBy: string[],\n sortDesc: boolean[],\n locale: string,\n customSorters?: Record<string, DataTableCompareFunction<T>>\n): T[] {\n if (sortBy === null || !sortBy.length) return items\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i]\n\n let sortA = getObjectValueByPath(a, sortKey)\n let sortB = getObjectValueByPath(b, sortKey)\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n if (customSorters && customSorters[sortKey]) {\n const customResult = customSorters[sortKey](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n continue\n }\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\n/**\n * Returns:\n * - 'normal' for old style slots - `<template slot=\"default\">`\n * - 'scoped' for old style scoped slots (`<template slot=\"default\" slot-scope=\"data\">`) or bound v-slot (`#default=\"data\"`)\n * - 'v-slot' for unbound v-slot (`#default`) - only if the third param is true, otherwise counts as scoped\n */\nexport function getSlotType<T extends boolean = false> (vm: Vue, name: string, split?: T): (T extends true ? 'v-slot' : never) | 'normal' | 'scoped' | void {\n if (vm.$slots.hasOwnProperty(name) && vm.$scopedSlots.hasOwnProperty(name) && (vm.$scopedSlots[name] as any).name) {\n return split ? 'v-slot' as any : 'scoped'\n }\n if (vm.$slots.hasOwnProperty(name)) return 'normal'\n if (vm.$scopedSlots.hasOwnProperty(name)) return 'scoped'\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\nexport function getPrefixedScopedSlots (prefix: string, scopedSlots: any) {\n return Object.keys(scopedSlots).filter(k => k.startsWith(prefix)).reduce((obj: any, k: string) => {\n obj[k.replace(prefix, '')] = scopedSlots[k]\n return obj\n }, {})\n}\n\nexport function getSlot (vm: Vue, name = 'default', data?: object | (() => object), optional = false) {\n const kebabName = kebabCase(name)\n if (vm.$scopedSlots.hasOwnProperty(name)) {\n return vm.$scopedSlots[name]!(data instanceof Function ? data() : data)\n } else if (vm.$scopedSlots.hasOwnProperty(kebabName)) {\n return vm.$scopedSlots[kebabName]!(data instanceof Function ? data() : data)\n } else if (vm.$slots.hasOwnProperty(name) && (!data || optional)) {\n return vm.$slots[name]\n } else if (vm.$slots.hasOwnProperty(kebabName) && (!data || optional)) {\n return vm.$slots[kebabName]\n }\n return undefined\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, binary = false): string {\n const base = binary ? 1024 : 1000\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = binary ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Dictionary<any> = {},\n target: Dictionary<any> = {}\n) {\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n source[key] = mergeDeep(sourceProperty, targetProperty)\n\n continue\n }\n\n source[key] = targetProperty\n }\n\n return source\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\n/** Polyfill for Event.prototype.composedPath */\nexport function composedPath (e: Event): EventTarget[] {\n if (e.composedPath) return e.composedPath()\n\n const path = []\n let el = e.target as Element\n\n while (el) {\n path.push(el)\n\n if (el.tagName === 'HTML') {\n path.push(document)\n path.push(window)\n\n return path\n }\n\n el = el.parentElement!\n }\n return path\n}\n","/**\r\n * DevExtreme (esm/localization/ldml/date.format.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport numberLocalization from \"../number\";\r\nvar ARABIC_COMMA = \"\\u060c\";\r\nvar FORMAT_SEPARATORS = \" .,:;/\\\\<>()-[]\" + ARABIC_COMMA;\r\nvar AM_PM_PATTERN = \". m.\";\r\nvar checkDigit = function(char) {\r\n var code = char && numberLocalization.convertDigits(char, false).charCodeAt(0);\r\n var zeroCode = numberLocalization.convertDigits(\"0\", false).charCodeAt(0);\r\n return zeroCode <= code && code < zeroCode + 10\r\n};\r\nvar checkPatternContinue = function(text, patterns, index, isDigit) {\r\n var char = text[index];\r\n var nextChar = text[index + 1];\r\n if (!isDigit) {\r\n if (\".\" === char || \" \" === char && text.slice(index - 1, index + 3) === AM_PM_PATTERN) {\r\n return true\r\n }\r\n if (\"-\" === char && !checkDigit(nextChar)) {\r\n return true\r\n }\r\n }\r\n var isDigitChanged = isDigit && patterns.some(pattern => text[index] !== pattern[index]);\r\n return FORMAT_SEPARATORS.indexOf(char) < 0 && isDigit === checkDigit(char) && (!isDigit || isDigitChanged)\r\n};\r\nvar getPatternStartIndex = function(defaultPattern, index) {\r\n if (!checkDigit(defaultPattern[index])) {\r\n while (index > 0 && !checkDigit(defaultPattern[index - 1]) && (\".\" === defaultPattern[index - 1] || FORMAT_SEPARATORS.indexOf(defaultPattern[index - 1]) < 0)) {\r\n index--\r\n }\r\n }\r\n return index\r\n};\r\nvar getDifference = function(defaultPattern, patterns, processedIndexes, isDigit) {\r\n var i = 0;\r\n var result = [];\r\n var patternsFilter = function(pattern) {\r\n return defaultPattern[i] !== pattern[i] && (void 0 === isDigit || checkDigit(defaultPattern[i]) === isDigit)\r\n };\r\n if (!Array.isArray(patterns)) {\r\n patterns = [patterns]\r\n }\r\n for (i = 0; i < defaultPattern.length; i++) {\r\n if (processedIndexes.indexOf(i) < 0 && patterns.filter(patternsFilter).length) {\r\n i = getPatternStartIndex(defaultPattern, i);\r\n do {\r\n isDigit = checkDigit(defaultPattern[i]);\r\n if (!result.length && !isDigit && checkDigit(patterns[0][i])) {\r\n break\r\n }\r\n result.push(i);\r\n processedIndexes.unshift(i);\r\n i++\r\n } while (defaultPattern[i] && checkPatternContinue(defaultPattern, patterns, i, isDigit));\r\n break\r\n }\r\n }\r\n if (1 === result.length && (\"0\" === defaultPattern[processedIndexes[0] - 1] || \"\\u0660\" === defaultPattern[processedIndexes[0] - 1])) {\r\n processedIndexes.unshift(processedIndexes[0] - 1)\r\n }\r\n return result\r\n};\r\nvar replaceCharsCore = function(pattern, indexes, char, patternPositions) {\r\n var baseCharIndex = indexes[0];\r\n var patternIndex = baseCharIndex < patternPositions.length ? patternPositions[baseCharIndex] : baseCharIndex;\r\n indexes.forEach((function(_, index) {\r\n pattern = pattern.substr(0, patternIndex + index) + (char.length > 1 ? char[index] : char) + pattern.substr(patternIndex + index + 1)\r\n }));\r\n if (1 === indexes.length) {\r\n pattern = pattern.replace(\"0\" + char, char + char);\r\n pattern = pattern.replace(\"\\u0660\" + char, char + char)\r\n }\r\n return pattern\r\n};\r\nvar replaceChars = function(pattern, indexes, char, patternPositions) {\r\n var i;\r\n var index;\r\n var patternIndex;\r\n if (!checkDigit(pattern[indexes[0]] || \"0\")) {\r\n var letterCount = Math.max(indexes.length <= 3 ? 3 : 4, char.length);\r\n while (indexes.length > letterCount) {\r\n index = indexes.pop();\r\n patternIndex = patternPositions[index];\r\n patternPositions[index] = -1;\r\n for (i = index + 1; i < patternPositions.length; i++) {\r\n patternPositions[i]--\r\n }\r\n pattern = pattern.substr(0, patternIndex) + pattern.substr(patternIndex + 1)\r\n }\r\n index = indexes[indexes.length - 1] + 1, patternIndex = index < patternPositions.length ? patternPositions[index] : index;\r\n while (indexes.length < letterCount) {\r\n indexes.push(indexes[indexes.length - 1] + 1);\r\n for (i = index; i < patternPositions.length; i++) {\r\n patternPositions[i]++\r\n }\r\n pattern = pattern.substr(0, patternIndex) + \" \" + pattern.substr(patternIndex)\r\n }\r\n }\r\n pattern = replaceCharsCore(pattern, indexes, char, patternPositions);\r\n return pattern\r\n};\r\nvar formatValue = function(value, formatter) {\r\n if (Array.isArray(value)) {\r\n return value.map((function(value) {\r\n return (formatter(value) || \"\").toString()\r\n }))\r\n }\r\n return (formatter(value) || \"\").toString()\r\n};\r\nvar ESCAPE_CHARS_REGEXP = /[a-zA-Z]/g;\r\nvar escapeChars = function(pattern, defaultPattern, processedIndexes, patternPositions) {\r\n var escapeIndexes = defaultPattern.split(\"\").map((function(char, index) {\r\n if (processedIndexes.indexOf(index) < 0 && (char.match(ESCAPE_CHARS_REGEXP) || \"'\" === char)) {\r\n return patternPositions[index]\r\n }\r\n return -1\r\n }));\r\n pattern = pattern.split(\"\").map((function(char, index) {\r\n var result = char;\r\n var isCurrentCharEscaped = escapeIndexes.indexOf(index) >= 0;\r\n var isPrevCharEscaped = index > 0 && escapeIndexes.indexOf(index - 1) >= 0;\r\n var isNextCharEscaped = escapeIndexes.indexOf(index + 1) >= 0;\r\n if (isCurrentCharEscaped) {\r\n if (!isPrevCharEscaped) {\r\n result = \"'\" + result\r\n }\r\n if (!isNextCharEscaped) {\r\n result += \"'\"\r\n }\r\n }\r\n return result\r\n })).join(\"\");\r\n return pattern\r\n};\r\nexport var getFormat = function(formatter) {\r\n var processedIndexes = [];\r\n var defaultPattern = formatValue(new Date(2009, 8, 8, 6, 5, 4), formatter);\r\n var patternPositions = defaultPattern.split(\"\").map((function(_, index) {\r\n return index\r\n }));\r\n var result = defaultPattern;\r\n var replacedPatterns = {};\r\n var datePatterns = [{\r\n date: new Date(2009, 8, 8, 6, 5, 4, 111),\r\n pattern: \"S\"\r\n }, {\r\n date: new Date(2009, 8, 8, 6, 5, 2),\r\n pattern: \"s\"\r\n }, {\r\n date: new Date(2009, 8, 8, 6, 2, 4),\r\n pattern: \"m\"\r\n }, {\r\n date: new Date(2009, 8, 8, 18, 5, 4),\r\n pattern: \"H\",\r\n isDigit: true\r\n }, {\r\n date: new Date(2009, 8, 8, 2, 5, 4),\r\n pattern: \"h\",\r\n isDigit: true\r\n }, {\r\n date: new Date(2009, 8, 8, 18, 5, 4),\r\n pattern: \"a\",\r\n isDigit: false\r\n }, {\r\n date: new Date(2009, 8, 1, 6, 5, 4),\r\n pattern: \"d\"\r\n }, {\r\n date: [new Date(2009, 8, 2, 6, 5, 4), new Date(2009, 8, 3, 6, 5, 4), new Date(2009, 8, 4, 6, 5, 4)],\r\n pattern: \"E\"\r\n }, {\r\n date: new Date(2009, 9, 6, 6, 5, 4),\r\n pattern: \"M\"\r\n }, {\r\n date: new Date(1998, 8, 8, 6, 5, 4),\r\n pattern: \"y\"\r\n }];\r\n if (!result) {\r\n return\r\n }\r\n datePatterns.forEach((function(test) {\r\n var diff = getDifference(defaultPattern, formatValue(test.date, formatter), processedIndexes, test.isDigit);\r\n var pattern = \"M\" === test.pattern && !replacedPatterns.d ? \"L\" : test.pattern;\r\n result = replaceChars(result, diff, pattern, patternPositions);\r\n replacedPatterns[pattern] = diff.length\r\n }));\r\n result = escapeChars(result, defaultPattern, processedIndexes, patternPositions);\r\n if (processedIndexes.length) {\r\n return result\r\n }\r\n};\r\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nekaj sekund'\n : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD. MM. YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersPast =\n 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n ' '\n ),\n numbersFuture = [\n 'nolla',\n 'yhden',\n 'kahden',\n 'kolmen',\n 'neljän',\n 'viiden',\n 'kuuden',\n numbersPast[7],\n numbersPast[8],\n numbersPast[9],\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10\n ? isFuture\n ? numbersFuture[number]\n : numbersPast[number]\n : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n '_'\n ),\n monthsShort:\n 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n '_'\n ),\n weekdays:\n 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n '_'\n ),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fi;\n\n})));\n","import './VAvatar.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n Colorable,\n Measurable,\n Roundable,\n /* @vue/component */\n).extend({\n name: 'v-avatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n size: {\n type: [Number, String],\n default: 48,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-avatar--left': this.left,\n 'v-avatar--right': this.right,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return {\n height: convertToUnit(this.size),\n minWidth: convertToUnit(this.size),\n width: convertToUnit(this.size),\n ...this.measurableStyles,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-avatar',\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n }\n\n return h('div', this.setBackgroundColor(this.color, data), getSlot(this))\n },\n})\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return arSa;\n\n})));\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","// Components\nimport VAvatar from '../VAvatar'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default VAvatar.extend({\n name: 'v-list-item-avatar',\n\n props: {\n horizontal: Boolean,\n size: {\n type: [Number, String],\n default: 40,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-item__avatar--horizontal': this.horizontal,\n ...VAvatar.options.computed.classes.call(this),\n 'v-avatar--tile': this.tile || this.horizontal,\n }\n },\n },\n\n render (h): VNode {\n const render = VAvatar.options.render.call(this, h)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-list-item__avatar'\n\n return render\n },\n})\n","// Styles\nimport './VBtn.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VProgressCircular from '../VProgressCircular'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Elevatable from '../../mixins/elevatable'\nimport Positionable from '../../mixins/positionable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { breaking } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator, PropType } from 'vue/types/options'\nimport { RippleOptions } from '../../directives/ripple'\n\nconst baseMixins = mixins(\n VSheet,\n Routable,\n Positionable,\n Sizeable,\n GroupableFactory('btnToggle'),\n ToggleableFactory('inputValue')\n /* @vue/component */\n)\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-btn',\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.btnToggle) return ''\n\n return this.btnToggle.activeClass\n },\n } as any as PropValidator<string>,\n block: Boolean,\n depressed: Boolean,\n fab: Boolean,\n icon: Boolean,\n loading: Boolean,\n outlined: Boolean,\n plain: Boolean,\n retainFocusOnClick: Boolean,\n rounded: Boolean,\n tag: {\n type: String,\n default: 'button',\n },\n text: Boolean,\n tile: Boolean,\n type: {\n type: String,\n default: 'button',\n },\n value: null as any as PropType<any>,\n },\n\n data: () => ({\n proxyClass: 'v-btn--active',\n }),\n\n computed: {\n classes (): any {\n return {\n 'v-btn': true,\n ...Routable.options.computed.classes.call(this),\n 'v-btn--absolute': this.absolute,\n 'v-btn--block': this.block,\n 'v-btn--bottom': this.bottom,\n 'v-btn--disabled': this.disabled,\n 'v-btn--is-elevated': this.isElevated,\n 'v-btn--fab': this.fab,\n 'v-btn--fixed': this.fixed,\n 'v-btn--has-bg': this.hasBg,\n 'v-btn--icon': this.icon,\n 'v-btn--left': this.left,\n 'v-btn--loading': this.loading,\n 'v-btn--outlined': this.outlined,\n 'v-btn--plain': this.plain,\n 'v-btn--right': this.right,\n 'v-btn--round': this.isRound,\n 'v-btn--rounded': this.rounded,\n 'v-btn--router': this.to,\n 'v-btn--text': this.text,\n 'v-btn--tile': this.tile,\n 'v-btn--top': this.top,\n ...this.themeClasses,\n ...this.groupClasses,\n ...this.elevationClasses,\n ...this.sizeableClasses,\n }\n },\n computedElevation (): string | number | undefined {\n if (this.disabled) return undefined\n\n return Elevatable.options.computed.computedElevation.call(this)\n },\n computedRipple (): RippleOptions | boolean {\n const defaultRipple = this.icon || this.fab ? { circle: true } : true\n if (this.disabled) return false\n else return this.ripple ?? defaultRipple\n },\n hasBg (): boolean {\n return !this.text && !this.plain && !this.outlined && !this.icon\n },\n isElevated (): boolean {\n return Boolean(\n !this.icon &&\n !this.text &&\n !this.outlined &&\n !this.depressed &&\n !this.disabled &&\n !this.plain &&\n (this.elevation == null || Number(this.elevation) > 0)\n )\n },\n isRound (): boolean {\n return Boolean(\n this.icon ||\n this.fab\n )\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['flat', 'text'],\n ['outline', 'outlined'],\n ['round', 'rounded'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n // TODO: Remove this in v3\n !this.retainFocusOnClick && !this.fab && e.detail && this.$el.blur()\n this.$emit('click', e)\n\n this.btnToggle && this.toggle()\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-btn__content',\n }, getSlot(this))\n },\n genLoader (): VNode {\n return this.$createElement('span', {\n class: 'v-btn__loader',\n }, getSlot(this, 'loader') || [this.$createElement(VProgressCircular, {\n props: {\n indeterminate: true,\n size: 23,\n width: 2,\n },\n })])\n },\n },\n\n render (h): VNode {\n const children = [\n this.genContent(),\n this.loading && this.genLoader(),\n ]\n const { tag, data } = this.generateRouteLink()\n const setColor = this.hasBg\n ? this.setBackgroundColor\n : this.setTextColor\n\n if (tag === 'button') {\n data.attrs!.type = this.type\n data.attrs!.disabled = this.disabled\n }\n data.attrs!.value = ['string', 'number'].includes(typeof this.value)\n ? this.value\n : JSON.stringify(this.value)\n\n return h(tag, this.disabled ? data : setColor(this.color, data), children)\n },\n})\n","var metric\n , imperial;\n\nmetric = {\n 'min/km': {\n name: {\n singular: 'Minute per kilometre'\n , plural: 'Minutes per kilometre'\n }\n , to_anchor: 0.06\n }\n ,'s/m': {\n name: {\n singular: 'Second per metre'\n , plural: 'Seconds per metre'\n }\n , to_anchor: 1\n }\n}\n\nimperial = {\n 'min/mi': {\n name: {\n singular: 'Minute per mile'\n , plural: 'Minutes per mile'\n }\n , to_anchor: 0.0113636\n }\n , 's/ft': {\n name: {\n singular: 'Second per foot'\n , plural: 'Seconds per foot'\n }\n , to_anchor: 1\n }\n};\n\nmodule.exports = {\n metric: metric\n, imperial: imperial\n, _anchors: {\n metric: {\n unit: 's/m'\n , ratio: 0.3048\n }\n , imperial: {\n unit: 's/ft'\n , ratio: 1/0.3048\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","// Styles\nimport './VTimeline.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { getSlot } from '../../util/helpers'\n\nexport default mixins(\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-timeline',\n\n provide (): object {\n return { timeline: this }\n },\n\n props: {\n alignTop: Boolean,\n dense: Boolean,\n reverse: Boolean,\n },\n\n computed: {\n classes (): {} {\n return {\n 'v-timeline--align-top': this.alignTop,\n 'v-timeline--dense': this.dense,\n 'v-timeline--reverse': this.reverse,\n ...this.themeClasses,\n }\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-timeline',\n class: this.classes,\n }, getSlot(this))\n },\n})\n","'use strict';\n\nvar pkg = require('./../../package.json');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n var destVer = version.split('.');\n for (var i = 0; i < 3; i++) {\n if (pkgVersionArr[i] > destVer[i]) {\n return true;\n } else if (pkgVersionArr[i] < destVer[i]) {\n return false;\n }\n }\n return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n var isDeprecated = version && isOlderVersion(version);\n\n function formatMessage(opt, desc) {\n return '[Axios v' + pkg.version + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed in ' + version));\n }\n\n if (isDeprecated && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n isOlderVersion: isOlderVersion,\n assertOptions: assertOptions,\n validators: validators\n};\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOption = void 0;\nvar config = {\n useLegacyTemplateEngine: false\n};\nfunction setOptions(options) {\n config = __assign(__assign({}, config), options);\n}\nfunction getOption(optionName) {\n return config[optionName];\n}\nexports.getOption = getOption;\nexports.default = setOptions;\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bg = moment.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Днес в] LT',\n nextDay: '[Утре в] LT',\n nextWeek: 'dddd [в] LT',\n lastDay: '[Вчера в] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Миналата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Миналия] dddd [в] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'след %s',\n past: 'преди %s',\n s: 'няколко секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дена',\n w: 'седмица',\n ww: '%d седмици',\n M: 'месец',\n MM: '%d месеца',\n y: 'година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bg;\n\n})));\n","import Vue from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { deepEqual } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'comparable',\n props: {\n valueComparator: {\n type: Function,\n default: deepEqual,\n } as PropValidator<typeof deepEqual>,\n },\n})\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","/**\r\n * DevExtreme (esm/core/templates/bindable_template.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../../events/remove\";\r\nimport {\r\n isPrimitive\r\n} from \"../utils/type\";\r\nvar watchChanges = function(rawData, watchMethod, fields, fieldsMap, callback) {\r\n var fieldsDispose;\r\n var globalDispose = ((data, watchMethod, callback) => watchMethod(() => data, callback))(rawData, watchMethod, (function(dataWithRawFields) {\r\n fieldsDispose && fieldsDispose();\r\n if (isPrimitive(dataWithRawFields)) {\r\n callback(dataWithRawFields);\r\n return\r\n }\r\n fieldsDispose = function(data, watchMethod, fields, fieldsMap, callback) {\r\n var resolvedData = {};\r\n var missedFields = fields.slice();\r\n var watchHandlers = fields.map((function(name) {\r\n var fieldGetter = fieldsMap[name];\r\n return watchMethod(fieldGetter ? () => fieldGetter(data) : () => data[name], (function(value) {\r\n resolvedData[name] = value;\r\n if (missedFields.length) {\r\n var index = missedFields.indexOf(name);\r\n if (index >= 0) {\r\n missedFields.splice(index, 1)\r\n }\r\n }\r\n if (!missedFields.length) {\r\n callback(resolvedData)\r\n }\r\n }))\r\n }));\r\n return function() {\r\n watchHandlers.forEach(dispose => dispose())\r\n }\r\n }(dataWithRawFields, watchMethod, fields, fieldsMap, callback)\r\n }));\r\n return function() {\r\n fieldsDispose && fieldsDispose();\r\n globalDispose && globalDispose()\r\n }\r\n};\r\nexport class BindableTemplate extends TemplateBase {\r\n constructor(render, fields, watchMethod, fieldsMap) {\r\n super();\r\n this._render = render;\r\n this._fields = fields;\r\n this._fieldsMap = fieldsMap || {};\r\n this._watchMethod = watchMethod\r\n }\r\n _renderCore(options) {\r\n var $container = $(options.container);\r\n var dispose = watchChanges(options.model, this._watchMethod, this._fields, this._fieldsMap, data => {\r\n $container.empty();\r\n this._render($container, data, options.model)\r\n });\r\n eventsEngine.on($container, removeEvent, dispose);\r\n return $container.contents()\r\n }\r\n}\r\n","// Styles\nimport './VCounter.sass'\n\n// Mixins\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'v-counter',\n\n functional: true,\n\n props: {\n value: {\n type: [Number, String],\n default: '',\n },\n max: [Number, String],\n },\n\n render (h, ctx): VNode {\n const { props } = ctx\n const max = parseInt(props.max, 10)\n const value = parseInt(props.value, 10)\n const content = max ? `${value} / ${max}` : String(props.value)\n const isGreater = max && (value > max)\n\n return h('div', {\n staticClass: 'v-counter',\n class: {\n 'error--text': isGreater,\n ...functionalThemeClasses(ctx),\n },\n }, content)\n },\n})\n","import VCounter from './VCounter'\n\nexport { VCounter }\nexport default VCounter\n","// Directives\nimport Intersect from '../../directives/intersect'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\nexport default function intersectable (options: { onVisible: string[] }) {\n return Vue.extend({\n name: 'intersectable',\n\n data: () => ({\n isIntersecting: false,\n }),\n\n mounted () {\n Intersect.inserted(this.$el as HTMLElement, {\n name: 'intersect',\n value: this.onObserve,\n }, this.$vnode)\n },\n\n destroyed () {\n Intersect.unbind(this.$el as HTMLElement, {\n name: 'intersect',\n value: this.onObserve,\n }, this.$vnode)\n },\n\n methods: {\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isIntersecting = isIntersecting\n\n if (!isIntersecting) return\n\n for (let i = 0, length = options.onVisible.length; i < length; i++) {\n const callback = (this as any)[options.onVisible[i]]\n\n if (typeof callback === 'function') {\n callback()\n continue\n }\n\n consoleWarn(options.onVisible[i] + ' method is not available on the instance but referenced in intersectable mixin options')\n }\n },\n },\n })\n}\n","// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\nimport Validatable from '../../mixins/validatable'\n\n// Directives\nimport resize from '../../directives/resize'\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { attachedRoot } from '../../util/dom'\nimport { convertToUnit, getSlot, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType } from 'vue/types'\n\nconst baseMixins = mixins(\n VInput,\n Intersectable({\n onVisible: [\n 'onResize',\n 'tryAutofocus',\n ],\n }),\n Loadable,\n)\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-text-field',\n\n directives: {\n resize,\n ripple,\n },\n\n inheritAttrs: false,\n\n props: {\n appendOuterIcon: String,\n autofocus: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n counter: [Boolean, Number, String],\n counterValue: Function as PropType<(value: any) => number>,\n filled: Boolean,\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outlined: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n persistentPlaceholder: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n singleLine: Boolean,\n solo: Boolean,\n soloInverted: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n },\n\n data: () => ({\n badInput: false,\n labelWidth: 0,\n prefixWidth: 0,\n prependWidth: 0,\n initialValue: null,\n isBooted: false,\n isClearing: false,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-text-field': true,\n 'v-text-field--full-width': this.fullWidth,\n 'v-text-field--prefix': this.prefix,\n 'v-text-field--single-line': this.isSingle,\n 'v-text-field--solo': this.isSolo,\n 'v-text-field--solo-inverted': this.soloInverted,\n 'v-text-field--solo-flat': this.flat,\n 'v-text-field--filled': this.filled,\n 'v-text-field--is-booted': this.isBooted,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outlined': this.outlined,\n 'v-text-field--placeholder': this.placeholder,\n 'v-text-field--rounded': this.rounded,\n 'v-text-field--shaped': this.shaped,\n }\n },\n computedColor (): string | undefined {\n const computedColor = Validatable.options.computed.computedColor.call(this)\n\n if (!this.soloInverted || !this.isFocused) return computedColor\n\n return this.color || 'primary'\n },\n computedCounterValue (): number {\n if (typeof this.counterValue === 'function') {\n return this.counterValue(this.internalValue)\n }\n return [...(this.internalValue || '').toString()].length\n },\n hasCounter (): boolean {\n return this.counter !== false && this.counter != null\n },\n hasDetails (): boolean {\n return VInput.options.computed.hasDetails.call(this) || this.hasCounter\n },\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit('input', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.lazyValue?.toString().length > 0 || this.badInput\n },\n isEnclosed (): boolean {\n return (\n this.filled ||\n this.isSolo ||\n this.outlined\n )\n },\n isLabelActive (): boolean {\n return this.isDirty || dirtyTypes.includes(this.type)\n },\n isSingle (): boolean {\n return (\n this.isSolo ||\n this.singleLine ||\n this.fullWidth ||\n // https://material.io/components/text-fields/#filled-text-field\n (this.filled && !this.hasLabel)\n )\n },\n isSolo (): boolean {\n return this.solo || this.soloInverted\n },\n labelPosition (): Record<'left' | 'right', string | number | undefined> {\n let offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n if (this.labelValue && this.prependWidth) offset -= this.prependWidth\n\n return (this.$vuetify.rtl === this.reverse) ? {\n left: offset,\n right: 'auto',\n } : {\n left: 'auto',\n right: offset,\n }\n },\n showLabel (): boolean {\n return this.hasLabel && !(this.isSingle && this.labelValue)\n },\n labelValue (): boolean {\n return this.isFocused || this.isLabelActive || this.persistentPlaceholder\n },\n },\n\n watch: {\n // labelValue: 'setLabelWidth', // moved to mounted, see #11533\n outlined: 'setLabelWidth',\n label () {\n this.$nextTick(this.setLabelWidth)\n },\n prefix () {\n this.$nextTick(this.setPrefixWidth)\n },\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('box')) {\n breaking('box', 'filled', this)\n }\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n /* istanbul ignore if */\n if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n consoleWarn('shaped should be used with either filled or outlined', this)\n }\n },\n\n mounted () {\n // #11533\n this.$watch(() => this.labelValue, this.setLabelWidth)\n this.autofocus && this.tryAutofocus()\n requestAnimationFrame(() => {\n this.isBooted = true\n requestAnimationFrame(() => {\n if (!this.isIntersecting) {\n this.onResize()\n }\n })\n })\n },\n\n methods: {\n /** @public */\n focus () {\n this.onFocus()\n },\n /** @public */\n blur (e?: Event) {\n // https://github.com/vuetifyjs/vuetify/issues/5913\n // Safari tab order gets broken if called synchronous\n window.requestAnimationFrame(() => {\n this.$refs.input && this.$refs.input.blur()\n })\n },\n clearableCallback () {\n this.$refs.input && this.$refs.input.focus()\n this.$nextTick(() => this.internalValue = null)\n },\n genAppendSlot () {\n const slot = []\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer'] as VNode[])\n } else if (this.appendOuterIcon) {\n slot.push(this.genIcon('appendOuter'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n genPrependInnerSlot () {\n const slot = []\n\n if (this.$slots['prepend-inner']) {\n slot.push(this.$slots['prepend-inner'] as VNode[])\n } else if (this.prependInnerIcon) {\n slot.push(this.genIcon('prependInner'))\n }\n\n return this.genSlot('prepend', 'inner', slot)\n },\n genIconSlot () {\n const slot = []\n\n if (this.$slots.append) {\n slot.push(this.$slots.append as VNode[])\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'inner', slot)\n },\n genInputSlot () {\n const input = VInput.options.methods.genInputSlot.call(this)\n\n const prepend = this.genPrependInnerSlot()\n\n if (prepend) {\n input.children = input.children || []\n input.children.unshift(prepend)\n }\n\n return input\n },\n genClearIcon () {\n if (!this.clearable) return null\n\n // if the text field has no content then don't display the clear icon.\n // We add an empty div because other controls depend on a ref to append inner\n if (!this.isDirty) {\n return this.genSlot('append', 'inner', [\n this.$createElement('div'),\n ])\n }\n\n return this.genSlot('append', 'inner', [\n this.genIcon('clear', this.clearableCallback),\n ])\n },\n genCounter () {\n if (!this.hasCounter) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n const props = {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue,\n }\n\n return this.$scopedSlots.counter?.({ props }) ?? this.$createElement(VCounter, { props })\n },\n genControl () {\n return VInput.options.methods.genControl.call(this)\n },\n genDefaultSlot () {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(),\n this.genClearIcon(),\n this.genIconSlot(),\n this.genProgress(),\n ]\n },\n genFieldset () {\n if (!this.outlined) return null\n\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n props: {\n absolute: true,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: !this.isSingle && (this.isFocused || !!this.validationState),\n for: this.computedId,\n left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue,\n },\n }\n\n return this.$createElement(VLabel, data, getSlot(this, 'label') || this.label)\n },\n genLegend () {\n const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0\n const span = this.$createElement('span', {\n domProps: { innerHTML: '​' },\n staticClass: 'notranslate',\n })\n\n return this.$createElement('legend', {\n style: {\n width: !this.isSingle ? convertToUnit(width) : undefined,\n },\n }, [span])\n },\n genInput () {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n const { title, ...inputAttrs } = this.attrs$\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: (this.type === 'number' && Object.is(this.lazyValue, -0)) ? '-0' : this.lazyValue,\n },\n attrs: {\n ...inputAttrs,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.persistentPlaceholder || this.isFocused || !this.hasLabel ? this.placeholder : undefined,\n readonly: this.isReadonly,\n type: this.type,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: this.onInput,\n focus: this.onFocus,\n keydown: this.onKeyDown,\n }),\n ref: 'input',\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize,\n }],\n })\n },\n genMessages () {\n if (!this.showDetails) return null\n\n const messagesNode = VInput.options.methods.genMessages.call(this)\n const counterNode = this.genCounter()\n\n return this.$createElement('div', {\n staticClass: 'v-text-field__details',\n }, [\n messagesNode,\n counterNode,\n ])\n },\n genTextFieldSlot () {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n this.genInput(),\n this.suffix ? this.genAffix('suffix') : null,\n ])\n },\n genAffix (type: 'prefix' | 'suffix') {\n return this.$createElement('div', {\n class: `v-text-field__${type}`,\n ref: type,\n }, this[type])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick () {\n if (this.isFocused || this.isDisabled || !this.$refs.input) return\n\n this.$refs.input.focus()\n },\n onFocus (e?: Event) {\n if (!this.$refs.input) return\n\n const root = attachedRoot(this.$el)\n if (!root) return\n\n if (root.activeElement !== this.$refs.input) {\n return this.$refs.input.focus()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event) {\n const target = e.target as HTMLInputElement\n this.internalValue = target.value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n if (\n e.keyCode === keyCodes.enter &&\n this.lazyValue !== this.initialValue\n ) {\n this.initialValue = this.lazyValue\n this.$emit('change', this.initialValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined) return\n\n this.labelWidth = this.$refs.label\n ? Math.min(this.$refs.label.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)\n : 0\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n tryAutofocus () {\n if (\n !this.autofocus ||\n typeof document === 'undefined' ||\n !this.$refs.input) return false\n\n const root = attachedRoot(this.$el)\n if (!root || root.activeElement === this.$refs.input) return false\n\n this.$refs.input.focus()\n\n return true\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n onResize () {\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n },\n },\n})\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '၁',\n 2: '၂',\n 3: '၃',\n 4: '၄',\n 5: '၅',\n 6: '၆',\n 7: '၇',\n 8: '၈',\n 9: '၉',\n 0: '၀',\n },\n numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0',\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n '_'\n ),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n '_'\n ),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss: '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်',\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return my;\n\n})));\n","/**\r\n * DevExtreme (esm/ui/text_box/texteditor_button_collection/button.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nexport default class TextEditorButton {\r\n constructor(name, editor, options) {\r\n this.instance = null;\r\n this.$container = null;\r\n this.$placeMarker = null;\r\n this.editor = editor;\r\n this.name = name;\r\n this.options = options || {}\r\n }\r\n _addPlaceMarker($container) {\r\n this.$placeMarker = $(\"<div>\").appendTo($container)\r\n }\r\n _addToContainer($element) {\r\n var {\r\n $placeMarker: $placeMarker,\r\n $container: $container\r\n } = this;\r\n $placeMarker ? $placeMarker.replaceWith($element) : $element.appendTo($container)\r\n }\r\n _attachEvents() {\r\n throw \"Not implemented\"\r\n }\r\n _create() {\r\n throw \"Not implemented\"\r\n }\r\n _isRendered() {\r\n return !!this.instance\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor,\r\n options: options\r\n } = this;\r\n return options.visible || !editor.option(\"readOnly\")\r\n }\r\n _isDisabled() {\r\n throw \"Not implemented\"\r\n }\r\n _shouldRender() {\r\n return this._isVisible() && !this._isRendered()\r\n }\r\n dispose() {\r\n var {\r\n instance: instance,\r\n $placeMarker: $placeMarker\r\n } = this;\r\n if (instance) {\r\n instance.dispose ? instance.dispose() : instance.remove();\r\n this.instance = null\r\n }\r\n $placeMarker && $placeMarker.remove()\r\n }\r\n render() {\r\n var $container = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.$container;\r\n this.$container = $container;\r\n if (this._isVisible()) {\r\n var {\r\n instance: instance,\r\n $element: $element\r\n } = this._create();\r\n this.instance = instance;\r\n this._attachEvents(instance, $element)\r\n } else {\r\n this._addPlaceMarker($container)\r\n }\r\n }\r\n update() {\r\n if (this._shouldRender()) {\r\n this.render()\r\n }\r\n return !!this.instance\r\n }\r\n}\r\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var gl = moment.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n '_'\n ),\n monthsShort:\n 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function () {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function () {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function () {\n return (\n '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gl;\n\n})));\n","// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VListGroupInstance = InstanceType<typeof VListGroup>\n\ninterface options extends InstanceType<typeof VSheet> {\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default VSheet.extend<options>().extend({\n name: 'v-list',\n\n provide (): object {\n return {\n isInList: true,\n list: this,\n }\n },\n\n inject: {\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n twoLine: Boolean,\n },\n\n data: () => ({\n groups: [] as VListGroupInstance[],\n }),\n\n computed: {\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g._uid === content._uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-list',\n class: this.classes,\n style: this.styles,\n attrs: {\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n ...this.attrs$,\n },\n on: this.listeners$,\n }\n\n return h(this.tag, this.setBackgroundColor(this.color, data), getSlot(this))\n },\n})\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar append = uncurryThis(URLSearchParamsPrototype.append);\nvar $delete = uncurryThis(URLSearchParamsPrototype['delete']);\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\nvar push = uncurryThis([].push);\nvar params = new $URLSearchParams('a=1&a=2&b=3');\n\nparams['delete']('a', 1);\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nparams['delete']('b', undefined);\n\nif (params + '' !== 'a=2') {\n defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $delete(this, name);\n var entries = [];\n forEach(this, function (v, k) { // also validates `this`\n push(entries, { key: k, value: v });\n });\n validateArgumentsLength(length, 1);\n var key = toString(name);\n var value = toString($value);\n var index = 0;\n var dindex = 0;\n var found = false;\n var entriesLength = entries.length;\n var entry;\n while (index < entriesLength) {\n entry = entries[index++];\n if (found || entry.key === key) {\n found = true;\n $delete(this, entry.key);\n } else dindex++;\n }\n while (dindex < entriesLength) {\n entry = entries[dindex++];\n if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value);\n }\n }, { enumerable: true, unsafe: true });\n}\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return es;\n\n})));\n","/**\r\n * DevExtreme (esm/localization/default_date_names.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map\r\n} from \"../core/utils/iterator\";\r\nvar MONTHS = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\r\nvar DAYS = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\r\nvar PERIODS = [\"AM\", \"PM\"];\r\nvar QUARTERS = [\"Q1\", \"Q2\", \"Q3\", \"Q4\"];\r\nvar cutCaptions = (captions, format) => {\r\n var lengthByFormat = {\r\n abbreviated: 3,\r\n short: 2,\r\n narrow: 1\r\n };\r\n return map(captions, caption => caption.substr(0, lengthByFormat[format]))\r\n};\r\nexport default {\r\n getMonthNames: function(format) {\r\n return cutCaptions(MONTHS, format)\r\n },\r\n getDayNames: function(format) {\r\n return cutCaptions(DAYS, format)\r\n },\r\n getQuarterNames: function(format) {\r\n return QUARTERS\r\n },\r\n getPeriodNames: function(format) {\r\n return PERIODS\r\n }\r\n};\r\n","/** @license\n *\n * jsPDF - PDF Document creation from JavaScript\n * Version 2.5.2 Built on 2024-09-17T13:29:57.859Z\n * CommitID 00000000\n *\n * Copyright (c) 2010-2021 James Hall <james@parall.ax>, https://github.com/MrRio/jsPDF\n * 2015-2021 yWorks GmbH, http://www.yworks.com\n * 2015-2021 Lukas Holländer <lukas.hollaender@yworks.com>, https://github.com/HackbrettXXX\n * 2016-2018 Aras Abbasi <aras.abbasi@gmail.com>\n * 2010 Aaron Spike, https://github.com/acspike\n * 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2012 Pablo Hess, https://github.com/pablohess\n * 2012 Florian Jenett, https://github.com/fjenett\n * 2013 Warren Weckesser, https://github.com/warrenweckesser\n * 2013 Youssef Beddad, https://github.com/lifof\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2013 Stefan Slonevskiy, https://github.com/stefslon\n * 2013 Jeremy Morel, https://github.com/jmorel\n * 2013 Christoph Hartmann, https://github.com/chris-rock\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Makes, https://github.com/dollaruw\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 Steven Spungin, https://github.com/Flamenco\n * 2014 Kenneth Glassey, https://github.com/Gavvers\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n *\n * Contributor(s):\n * siefkenj, ahwolf, rickygu, Midnith, saintclair, eaparango,\n * kim3er, mfo, alnorth, Flamenco\n */\n\nimport t from\"@babel/runtime/helpers/typeof\";import{zlibSync as e,unzlibSync as r}from\"fflate\";var n=function(){return\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this}();function i(){n.console&&\"function\"==typeof n.console.log&&n.console.log.apply(n.console,arguments)}var a={log:i,warn:function(t){n.console&&(\"function\"==typeof n.console.warn?n.console.warn.apply(n.console,arguments):i.call(null,arguments))},error:function(t){n.console&&(\"function\"==typeof n.console.error?n.console.error.apply(n.console,arguments):i(t))}};function o(t,e,r){var n=new XMLHttpRequest;n.open(\"GET\",t),n.responseType=\"blob\",n.onload=function(){l(n.response,e,r)},n.onerror=function(){a.error(\"could not download file\")},n.send()}function s(t){var e=new XMLHttpRequest;e.open(\"HEAD\",t,!1);try{e.send()}catch(t){}return e.status>=200&&e.status<=299}function c(t){try{t.dispatchEvent(new MouseEvent(\"click\"))}catch(r){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(e)}}var u,h,l=n.saveAs||(\"object\"!==(\"undefined\"==typeof window?\"undefined\":t(window))||window!==n?function(){}:\"undefined\"!=typeof HTMLAnchorElement&&\"download\"in HTMLAnchorElement.prototype?function(t,e,r){var i=n.URL||n.webkitURL,a=document.createElement(\"a\");e=e||t.name||\"download\",a.download=e,a.rel=\"noopener\",\"string\"==typeof t?(a.href=t,a.origin!==location.origin?s(a.href)?o(t,e,r):c(a,a.target=\"_blank\"):c(a)):(a.href=i.createObjectURL(t),setTimeout((function(){i.revokeObjectURL(a.href)}),4e4),setTimeout((function(){c(a)}),0))}:\"msSaveOrOpenBlob\"in navigator?function(e,r,n){if(r=r||e.name||\"download\",\"string\"==typeof e)if(s(e))o(e,r,n);else{var i=document.createElement(\"a\");i.href=e,i.target=\"_blank\",setTimeout((function(){c(i)}))}else navigator.msSaveOrOpenBlob(function(e,r){return void 0===r?r={autoBom:!1}:\"object\"!==t(r)&&(a.warn(\"Deprecated: Expected third argument to be a object\"),r={autoBom:!r}),r.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e}(e,n),r)}:function(e,r,i,a){if((a=a||open(\"\",\"_blank\"))&&(a.document.title=a.document.body.innerText=\"downloading...\"),\"string\"==typeof e)return o(e,r,i);var s=\"application/octet-stream\"===e.type,c=/constructor/i.test(n.HTMLElement)||n.safari,u=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((u||s&&c)&&\"object\"===(\"undefined\"==typeof FileReader?\"undefined\":t(FileReader))){var h=new FileReader;h.onloadend=function(){var t=h.result;t=u?t:t.replace(/^data:[^;]*;/,\"data:attachment/file;\"),a?a.location.href=t:location=t,a=null},h.readAsDataURL(e)}else{var l=n.URL||n.webkitURL,f=l.createObjectURL(e);a?a.location=f:location.href=f,a=null,setTimeout((function(){l.revokeObjectURL(f)}),4e4)}});\n/**\n * A class to parse color values\n * @author Stoyan Stefanov <sstoo@gmail.com>\n * {@link http://www.phpied.com/rgb-color-parser-in-javascript/}\n * @license Use it if you like it\n */function f(t){var e;t=t||\"\",this.ok=!1,\"#\"==t.charAt(0)&&(t=t.substr(1,6));t={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"00ffff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000000\",blanchedalmond:\"ffebcd\",blue:\"0000ff\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"00ffff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dodgerblue:\"1e90ff\",feldspar:\"d19275\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"ff00ff\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgrey:\"d3d3d3\",lightgreen:\"90ee90\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslateblue:\"8470ff\",lightslategray:\"778899\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"00ff00\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"ff00ff\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370d8\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"d87093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",red:\"ff0000\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",violetred:\"d02090\",wheat:\"f5deb3\",white:\"ffffff\",whitesmoke:\"f5f5f5\",yellow:\"ffff00\",yellowgreen:\"9acd32\"}[t=(t=t.replace(/ /g,\"\")).toLowerCase()]||t;for(var r=[{re:/^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,example:[\"rgb(123, 234, 45)\",\"rgb(255,234,245)\"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]}},{re:/^(\\w{2})(\\w{2})(\\w{2})$/,example:[\"#00ff00\",\"336699\"],process:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/^(\\w{1})(\\w{1})(\\w{1})$/,example:[\"#fb0\",\"f0f\"],process:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}}],n=0;n<r.length;n++){var i=r[n].re,a=r[n].process,o=i.exec(t);o&&(e=a(o),this.r=e[0],this.g=e[1],this.b=e[2],this.ok=!0)}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.toRGB=function(){return\"rgb(\"+this.r+\", \"+this.g+\", \"+this.b+\")\"},this.toHex=function(){var t=this.r.toString(16),e=this.g.toString(16),r=this.b.toString(16);return 1==t.length&&(t=\"0\"+t),1==e.length&&(e=\"0\"+e),1==r.length&&(r=\"0\"+r),\"#\"+t+e+r}}\n/**\n * @license\n * Joseph Myers does not specify a particular license for his work.\n *\n * Author: Joseph Myers\n * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js\n *\n * Modified by: Owen Leong\n */\nfunction d(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];r=g(r,n,i,a,e[0],7,-680876936),a=g(a,r,n,i,e[1],12,-389564586),i=g(i,a,r,n,e[2],17,606105819),n=g(n,i,a,r,e[3],22,-1044525330),r=g(r,n,i,a,e[4],7,-176418897),a=g(a,r,n,i,e[5],12,1200080426),i=g(i,a,r,n,e[6],17,-1473231341),n=g(n,i,a,r,e[7],22,-45705983),r=g(r,n,i,a,e[8],7,1770035416),a=g(a,r,n,i,e[9],12,-1958414417),i=g(i,a,r,n,e[10],17,-42063),n=g(n,i,a,r,e[11],22,-1990404162),r=g(r,n,i,a,e[12],7,1804603682),a=g(a,r,n,i,e[13],12,-40341101),i=g(i,a,r,n,e[14],17,-1502002290),r=m(r,n=g(n,i,a,r,e[15],22,1236535329),i,a,e[1],5,-165796510),a=m(a,r,n,i,e[6],9,-1069501632),i=m(i,a,r,n,e[11],14,643717713),n=m(n,i,a,r,e[0],20,-373897302),r=m(r,n,i,a,e[5],5,-701558691),a=m(a,r,n,i,e[10],9,38016083),i=m(i,a,r,n,e[15],14,-660478335),n=m(n,i,a,r,e[4],20,-405537848),r=m(r,n,i,a,e[9],5,568446438),a=m(a,r,n,i,e[14],9,-1019803690),i=m(i,a,r,n,e[3],14,-187363961),n=m(n,i,a,r,e[8],20,1163531501),r=m(r,n,i,a,e[13],5,-1444681467),a=m(a,r,n,i,e[2],9,-51403784),i=m(i,a,r,n,e[7],14,1735328473),r=v(r,n=m(n,i,a,r,e[12],20,-1926607734),i,a,e[5],4,-378558),a=v(a,r,n,i,e[8],11,-2022574463),i=v(i,a,r,n,e[11],16,1839030562),n=v(n,i,a,r,e[14],23,-35309556),r=v(r,n,i,a,e[1],4,-1530992060),a=v(a,r,n,i,e[4],11,1272893353),i=v(i,a,r,n,e[7],16,-155497632),n=v(n,i,a,r,e[10],23,-1094730640),r=v(r,n,i,a,e[13],4,681279174),a=v(a,r,n,i,e[0],11,-358537222),i=v(i,a,r,n,e[3],16,-722521979),n=v(n,i,a,r,e[6],23,76029189),r=v(r,n,i,a,e[9],4,-640364487),a=v(a,r,n,i,e[12],11,-421815835),i=v(i,a,r,n,e[15],16,530742520),r=b(r,n=v(n,i,a,r,e[2],23,-995338651),i,a,e[0],6,-198630844),a=b(a,r,n,i,e[7],10,1126891415),i=b(i,a,r,n,e[14],15,-1416354905),n=b(n,i,a,r,e[5],21,-57434055),r=b(r,n,i,a,e[12],6,1700485571),a=b(a,r,n,i,e[3],10,-1894986606),i=b(i,a,r,n,e[10],15,-1051523),n=b(n,i,a,r,e[1],21,-2054922799),r=b(r,n,i,a,e[8],6,1873313359),a=b(a,r,n,i,e[15],10,-30611744),i=b(i,a,r,n,e[6],15,-1560198380),n=b(n,i,a,r,e[13],21,1309151649),r=b(r,n,i,a,e[4],6,-145523070),a=b(a,r,n,i,e[11],10,-1120210379),i=b(i,a,r,n,e[2],15,718787259),n=b(n,i,a,r,e[9],21,-343485551),t[0]=_(r,t[0]),t[1]=_(n,t[1]),t[2]=_(i,t[2]),t[3]=_(a,t[3])}function p(t,e,r,n,i,a){return e=_(_(e,t),_(n,a)),_(e<<i|e>>>32-i,r)}function g(t,e,r,n,i,a,o){return p(e&r|~e&n,t,e,i,a,o)}function m(t,e,r,n,i,a,o){return p(e&n|r&~n,t,e,i,a,o)}function v(t,e,r,n,i,a,o){return p(e^r^n,t,e,i,a,o)}function b(t,e,r,n,i,a,o){return p(r^(e|~n),t,e,i,a,o)}function y(t){var e,r=t.length,n=[1732584193,-271733879,-1732584194,271733878];for(e=64;e<=t.length;e+=64)d(n,w(t.substring(e-64,e)));t=t.substring(e-64);var i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e<t.length;e++)i[e>>2]|=t.charCodeAt(e)<<(e%4<<3);if(i[e>>2]|=128<<(e%4<<3),e>55)for(d(n,i),e=0;e<16;e++)i[e]=0;return i[14]=8*r,d(n,i),n}function w(t){var e,r=[];for(e=0;e<64;e+=4)r[e>>2]=t.charCodeAt(e)+(t.charCodeAt(e+1)<<8)+(t.charCodeAt(e+2)<<16)+(t.charCodeAt(e+3)<<24);return r}u=n.atob.bind(n),h=n.btoa.bind(n);var N=\"0123456789abcdef\".split(\"\");function L(t){for(var e=\"\",r=0;r<4;r++)e+=N[t>>8*r+4&15]+N[t>>8*r&15];return e}function A(t){return String.fromCharCode((255&t)>>0,(65280&t)>>8,(16711680&t)>>16,(4278190080&t)>>24)}function x(t){return y(t).map(A).join(\"\")}var S=\"5d41402abc4b2a76b9719d911017c592\"!=function(t){for(var e=0;e<t.length;e++)t[e]=L(t[e]);return t.join(\"\")}(y(\"hello\"));function _(t,e){if(S){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}return t+e&4294967295}\n/**\n * @license\n * FPDF is released under a permissive license: there is no usage restriction.\n * You may embed it freely in your application (commercial or not), with or\n * without modifications.\n *\n * Reference: http://www.fpdf.org/en/script/script37.php\n */function P(t,e){var r,n,i,a;if(t!==r){for(var o=(i=t,a=1+(256/t.length>>0),new Array(a+1).join(i)),s=[],c=0;c<256;c++)s[c]=c;var u=0;for(c=0;c<256;c++){var h=s[c];u=(u+h+o.charCodeAt(c))%256,s[c]=s[u],s[u]=h}r=t,n=s}else s=n;var l=e.length,f=0,d=0,p=\"\";for(c=0;c<l;c++)d=(d+(h=s[f=(f+1)%256]))%256,s[f]=s[d],s[d]=h,o=s[(s[f]+s[d])%256],p+=String.fromCharCode(e.charCodeAt(c)^o);return p}\n/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n * Author: Owen Leong (@owenl131)\n * Date: 15 Oct 2020\n * References:\n * https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt\n * https://github.com/foliojs/pdfkit/blob/master/lib/security.js\n * http://www.fpdf.org/en/script/script37.php\n */var k={print:4,modify:8,copy:16,\"annot-forms\":32};function I(t,e,r,n){this.v=1,this.r=2;var i=192;t.forEach((function(t){if(void 0!==k.perm)throw new Error(\"Invalid permission: \"+t);i+=k[t]})),this.padding=\"(¿N^NuŠAd\\0NVÿú\u0001\\b..\\0¶Ðh>€/\\f©þdSiz\";var a=(e+this.padding).substr(0,32),o=(r+this.padding).substr(0,32);this.O=this.processOwnerPassword(a,o),this.P=-(1+(255^i)),this.encryptionKey=x(a+this.O+this.lsbFirstWord(this.P)+this.hexToBytes(n)).substr(0,5),this.U=P(this.encryptionKey,this.padding)}function F(t){if(/[^\\u0000-\\u00ff]/.test(t))throw new Error(\"Invalid PDF Name Object: \"+t+\", Only accept ASCII characters.\");for(var e=\"\",r=t.length,n=0;n<r;n++){var i=t.charCodeAt(n);if(i<33||35===i||37===i||40===i||41===i||47===i||60===i||62===i||91===i||93===i||123===i||125===i||i>126)e+=\"#\"+(\"0\"+i.toString(16)).slice(-2);else e+=t[n]}return e}function C(e){if(\"object\"!==t(e))throw new Error(\"Invalid Context passed to initialize PubSub (jsPDF-module)\");var r={};this.subscribe=function(t,e,n){if(n=n||!1,\"string\"!=typeof t||\"function\"!=typeof e||\"boolean\"!=typeof n)throw new Error(\"Invalid arguments passed to PubSub.subscribe (jsPDF-module)\");r.hasOwnProperty(t)||(r[t]={});var i=Math.random().toString(35);return r[t][i]=[e,!!n],i},this.unsubscribe=function(t){for(var e in r)if(r[e][t])return delete r[e][t],0===Object.keys(r[e]).length&&delete r[e],!0;return!1},this.publish=function(t){if(r.hasOwnProperty(t)){var i=Array.prototype.slice.call(arguments,1),o=[];for(var s in r[t]){var c=r[t][s];try{c[0].apply(e,i)}catch(t){n.console&&a.error(\"jsPDF PubSub Error\",t.message,t)}c[1]&&o.push(s)}o.length&&o.forEach(this.unsubscribe)}},this.getTopics=function(){return r}}function j(t){if(!(this instanceof j))return new j(t);var e=\"opacity,stroke-opacity\".split(\",\");for(var r in t)t.hasOwnProperty(r)&&e.indexOf(r)>=0&&(this[r]=t[r]);this.id=\"\",this.objectNumber=-1}function O(t,e){this.gState=t,this.matrix=e,this.id=\"\",this.objectNumber=-1}function B(t,e,r,n,i){if(!(this instanceof B))return new B(t,e,r,n,i);this.type=\"axial\"===t?2:3,this.coords=e,this.colors=r,O.call(this,n,i)}function M(t,e,r,n,i){if(!(this instanceof M))return new M(t,e,r,n,i);this.boundingBox=t,this.xStep=e,this.yStep=r,this.stream=\"\",this.cloneIndex=0,O.call(this,n,i)}function E(e){var r,i=\"string\"==typeof arguments[0]?arguments[0]:\"p\",o=arguments[1],s=arguments[2],c=arguments[3],u=[],d=1,p=16,g=\"S\",m=null;\"object\"===t(e=e||{})&&(i=e.orientation,o=e.unit||o,s=e.format||s,c=e.compress||e.compressPdf||c,null!==(m=e.encryption||null)&&(m.userPassword=m.userPassword||\"\",m.ownerPassword=m.ownerPassword||\"\",m.userPermissions=m.userPermissions||[]),d=\"number\"==typeof e.userUnit?Math.abs(e.userUnit):1,void 0!==e.precision&&(r=e.precision),void 0!==e.floatPrecision&&(p=e.floatPrecision),g=e.defaultPathOperation||\"S\"),u=e.filters||(!0===c?[\"FlateEncode\"]:u),o=o||\"mm\",i=(\"\"+(i||\"P\")).toLowerCase();var v=e.putOnlyUsedFonts||!1,b={},y={internal:{},__private__:{}};y.__private__.PubSub=C;var w=\"1.3\",N=y.__private__.getPdfVersion=function(){return w};y.__private__.setPdfVersion=function(t){w=t};var L={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]};y.__private__.getPageFormats=function(){return L};var A=y.__private__.getPageFormat=function(t){return L[t]};s=s||\"a4\";var x={COMPAT:\"compat\",ADVANCED:\"advanced\"},S=x.COMPAT;function _(){this.saveGraphicsState(),lt(new Vt(_t,0,0,-_t,0,Rr()*_t).toString()+\" cm\"),this.setFontSize(this.getFontSize()/_t),g=\"n\",S=x.ADVANCED}function P(){this.restoreGraphicsState(),g=\"S\",S=x.COMPAT}var k=y.__private__.combineFontStyleAndFontWeight=function(t,e){if(\"bold\"==t&&\"normal\"==e||\"bold\"==t&&400==e||\"normal\"==t&&\"italic\"==e||\"bold\"==t&&\"italic\"==e)throw new Error(\"Invalid Combination of fontweight and fontstyle\");return e&&(t=400==e||\"normal\"===e?\"italic\"===t?\"italic\":\"normal\":700!=e&&\"bold\"!==e||\"normal\"!==t?(700==e?\"bold\":e)+\"\"+t:\"bold\"),t};y.advancedAPI=function(t){var e=S===x.COMPAT;return e&&_.call(this),\"function\"!=typeof t||(t(this),e&&P.call(this)),this},y.compatAPI=function(t){var e=S===x.ADVANCED;return e&&P.call(this),\"function\"!=typeof t||(t(this),e&&_.call(this)),this},y.isAdvancedAPI=function(){return S===x.ADVANCED};var O,q=function(t){if(S!==x.ADVANCED)throw new Error(t+\" is only available in 'advanced' API mode. You need to call advancedAPI() first.\")},D=y.roundToPrecision=y.__private__.roundToPrecision=function(t,e){var n=r||e;if(isNaN(t)||isNaN(n))throw new Error(\"Invalid argument passed to jsPDF.roundToPrecision\");return t.toFixed(n).replace(/0+$/,\"\")};O=y.hpf=y.__private__.hpf=\"number\"==typeof p?function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return D(t,p)}:\"smart\"===p?function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return D(t,t>-1&&t<1?16:5)}:function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return D(t,16)};var R=y.f2=y.__private__.f2=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f2\");return D(t,2)},T=y.__private__.f3=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f3\");return D(t,3)},U=y.scale=y.__private__.scale=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.scale\");return S===x.COMPAT?t*_t:S===x.ADVANCED?t:void 0},z=function(t){return S===x.COMPAT?Rr()-t:S===x.ADVANCED?t:void 0},H=function(t){return U(z(t))};y.__private__.setPrecision=y.setPrecision=function(t){\"number\"==typeof parseInt(t,10)&&(r=parseInt(t,10))};var W,V=\"00000000000000000000000000000000\",G=y.__private__.getFileId=function(){return V},Y=y.__private__.setFileId=function(t){return V=void 0!==t&&/^[a-fA-F0-9]{32}$/.test(t)?t.toUpperCase():V.split(\"\").map((function(){return\"ABCDEF0123456789\".charAt(Math.floor(16*Math.random()))})).join(\"\"),null!==m&&(Ye=new I(m.userPermissions,m.userPassword,m.ownerPassword,V)),V};y.setFileId=function(t){return Y(t),this},y.getFileId=function(){return G()};var J=y.__private__.convertDateToPDFDate=function(t){var e=t.getTimezoneOffset(),r=e<0?\"+\":\"-\",n=Math.floor(Math.abs(e/60)),i=Math.abs(e%60),a=[r,Q(n),\"'\",Q(i),\"'\"].join(\"\");return[\"D:\",t.getFullYear(),Q(t.getMonth()+1),Q(t.getDate()),Q(t.getHours()),Q(t.getMinutes()),Q(t.getSeconds()),a].join(\"\")},X=y.__private__.convertPDFDateToDate=function(t){var e=parseInt(t.substr(2,4),10),r=parseInt(t.substr(6,2),10)-1,n=parseInt(t.substr(8,2),10),i=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),o=parseInt(t.substr(14,2),10);return new Date(e,r,n,i,a,o,0)},K=y.__private__.setCreationDate=function(t){var e;if(void 0===t&&(t=new Date),t instanceof Date)e=J(t);else{if(!/^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\\+0[0-9]|\\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/.test(t))throw new Error(\"Invalid argument passed to jsPDF.setCreationDate\");e=t}return W=e},Z=y.__private__.getCreationDate=function(t){var e=W;return\"jsDate\"===t&&(e=X(W)),e};y.setCreationDate=function(t){return K(t),this},y.getCreationDate=function(t){return Z(t)};var $,Q=y.__private__.padd2=function(t){return(\"0\"+parseInt(t)).slice(-2)},tt=y.__private__.padd2Hex=function(t){return(\"00\"+(t=t.toString())).substr(t.length)},et=0,rt=[],nt=[],it=0,at=[],ot=[],st=!1,ct=nt,ut=function(){et=0,it=0,nt=[],rt=[],at=[],Qt=Kt(),te=Kt()};y.__private__.setCustomOutputDestination=function(t){st=!0,ct=t};var ht=function(t){st||(ct=t)};y.__private__.resetCustomOutputDestination=function(){st=!1,ct=nt};var lt=y.__private__.out=function(t){return t=t.toString(),it+=t.length+1,ct.push(t),ct},ft=y.__private__.write=function(t){return lt(1===arguments.length?t.toString():Array.prototype.join.call(arguments,\" \"))},dt=y.__private__.getArrayBuffer=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r);e--;)n[e]=t.charCodeAt(e);return r},pt=[[\"Helvetica\",\"helvetica\",\"normal\",\"WinAnsiEncoding\"],[\"Helvetica-Bold\",\"helvetica\",\"bold\",\"WinAnsiEncoding\"],[\"Helvetica-Oblique\",\"helvetica\",\"italic\",\"WinAnsiEncoding\"],[\"Helvetica-BoldOblique\",\"helvetica\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Courier\",\"courier\",\"normal\",\"WinAnsiEncoding\"],[\"Courier-Bold\",\"courier\",\"bold\",\"WinAnsiEncoding\"],[\"Courier-Oblique\",\"courier\",\"italic\",\"WinAnsiEncoding\"],[\"Courier-BoldOblique\",\"courier\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Times-Roman\",\"times\",\"normal\",\"WinAnsiEncoding\"],[\"Times-Bold\",\"times\",\"bold\",\"WinAnsiEncoding\"],[\"Times-Italic\",\"times\",\"italic\",\"WinAnsiEncoding\"],[\"Times-BoldItalic\",\"times\",\"bolditalic\",\"WinAnsiEncoding\"],[\"ZapfDingbats\",\"zapfdingbats\",\"normal\",null],[\"Symbol\",\"symbol\",\"normal\",null]];y.__private__.getStandardFonts=function(){return pt};var gt=e.fontSize||16;y.__private__.setFontSize=y.setFontSize=function(t){return gt=S===x.ADVANCED?t/_t:t,this};var mt,vt=y.__private__.getFontSize=y.getFontSize=function(){return S===x.COMPAT?gt:gt*_t},bt=e.R2L||!1;y.__private__.setR2L=y.setR2L=function(t){return bt=t,this},y.__private__.getR2L=y.getR2L=function(){return bt};var yt,wt=y.__private__.setZoomMode=function(t){var e=[void 0,null,\"fullwidth\",\"fullheight\",\"fullpage\",\"original\"];if(/^(?:\\d+\\.\\d*|\\d*\\.\\d+|\\d+)%$/.test(t))mt=t;else if(isNaN(t)){if(-1===e.indexOf(t))throw new Error('zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. \"'+t+'\" is not recognized.');mt=t}else mt=parseInt(t,10)};y.__private__.getZoomMode=function(){return mt};var Nt,Lt=y.__private__.setPageMode=function(t){if(-1==[void 0,null,\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"FullScreen\"].indexOf(t))throw new Error('Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. \"'+t+'\" is not recognized.');yt=t};y.__private__.getPageMode=function(){return yt};var At=y.__private__.setLayoutMode=function(t){if(-1==[void 0,null,\"continuous\",\"single\",\"twoleft\",\"tworight\",\"two\"].indexOf(t))throw new Error('Layout mode must be one of continuous, single, twoleft, tworight. \"'+t+'\" is not recognized.');Nt=t};y.__private__.getLayoutMode=function(){return Nt},y.__private__.setDisplayMode=y.setDisplayMode=function(t,e,r){return wt(t),At(e),Lt(r),this};var xt={title:\"\",subject:\"\",author:\"\",keywords:\"\",creator:\"\"};y.__private__.getDocumentProperty=function(t){if(-1===Object.keys(xt).indexOf(t))throw new Error(\"Invalid argument passed to jsPDF.getDocumentProperty\");return xt[t]},y.__private__.getDocumentProperties=function(){return xt},y.__private__.setDocumentProperties=y.setProperties=y.setDocumentProperties=function(t){for(var e in xt)xt.hasOwnProperty(e)&&t[e]&&(xt[e]=t[e]);return this},y.__private__.setDocumentProperty=function(t,e){if(-1===Object.keys(xt).indexOf(t))throw new Error(\"Invalid arguments passed to jsPDF.setDocumentProperty\");return xt[t]=e};var St,_t,Pt,kt,It,Ft={},Ct={},jt=[],Ot={},Bt={},Mt={},Et={},qt=null,Dt=0,Rt=[],Tt=new C(y),Ut=e.hotfixes||[],zt={},Ht={},Wt=[],Vt=function t(e,r,n,i,a,o){if(!(this instanceof t))return new t(e,r,n,i,a,o);isNaN(e)&&(e=1),isNaN(r)&&(r=0),isNaN(n)&&(n=0),isNaN(i)&&(i=1),isNaN(a)&&(a=0),isNaN(o)&&(o=0),this._matrix=[e,r,n,i,a,o]};Object.defineProperty(Vt.prototype,\"sx\",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Vt.prototype,\"shy\",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Vt.prototype,\"shx\",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Vt.prototype,\"sy\",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Vt.prototype,\"tx\",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Vt.prototype,\"ty\",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Vt.prototype,\"a\",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Vt.prototype,\"b\",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Vt.prototype,\"c\",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Vt.prototype,\"d\",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Vt.prototype,\"e\",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Vt.prototype,\"f\",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Vt.prototype,\"rotation\",{get:function(){return Math.atan2(this.shx,this.sx)}}),Object.defineProperty(Vt.prototype,\"scaleX\",{get:function(){return this.decompose().scale.sx}}),Object.defineProperty(Vt.prototype,\"scaleY\",{get:function(){return this.decompose().scale.sy}}),Object.defineProperty(Vt.prototype,\"isIdentity\",{get:function(){return 1===this.sx&&(0===this.shy&&(0===this.shx&&(1===this.sy&&(0===this.tx&&0===this.ty))))}}),Vt.prototype.join=function(t){return[this.sx,this.shy,this.shx,this.sy,this.tx,this.ty].map(O).join(t)},Vt.prototype.multiply=function(t){var e=t.sx*this.sx+t.shy*this.shx,r=t.sx*this.shy+t.shy*this.sy,n=t.shx*this.sx+t.sy*this.shx,i=t.shx*this.shy+t.sy*this.sy,a=t.tx*this.sx+t.ty*this.shx+this.tx,o=t.tx*this.shy+t.ty*this.sy+this.ty;return new Vt(e,r,n,i,a,o)},Vt.prototype.decompose=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=Math.sqrt(t*t+e*e),s=(t/=o)*r+(e/=o)*n;r-=t*s,n-=e*s;var c=Math.sqrt(r*r+n*n);return s/=c,t*(n/=c)<e*(r/=c)&&(t=-t,e=-e,s=-s,o=-o),{scale:new Vt(o,0,0,c,0,0),translate:new Vt(1,0,0,1,i,a),rotate:new Vt(t,e,-e,t,0,0),skew:new Vt(1,0,s,1,0,0)}},Vt.prototype.toString=function(t){return this.join(\" \")},Vt.prototype.inversed=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=1/(t*n-e*r),s=n*o,c=-e*o,u=-r*o,h=t*o;return new Vt(s,c,u,h,-s*i-u*a,-c*i-h*a)},Vt.prototype.applyToPoint=function(t){var e=t.x*this.sx+t.y*this.shx+this.tx,r=t.x*this.shy+t.y*this.sy+this.ty;return new Cr(e,r)},Vt.prototype.applyToRectangle=function(t){var e=this.applyToPoint(t),r=this.applyToPoint(new Cr(t.x+t.w,t.y+t.h));return new jr(e.x,e.y,r.x-e.x,r.y-e.y)},Vt.prototype.clone=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty;return new Vt(t,e,r,n,i,a)},y.Matrix=Vt;var Gt=y.matrixMult=function(t,e){return e.multiply(t)},Yt=new Vt(1,0,0,1,0,0);y.unitMatrix=y.identityMatrix=Yt;var Jt=function(t,e){if(!Bt[t]){var r=(e instanceof B?\"Sh\":\"P\")+(Object.keys(Ot).length+1).toString(10);e.id=r,Bt[t]=r,Ot[r]=e,Tt.publish(\"addPattern\",e)}};y.ShadingPattern=B,y.TilingPattern=M,y.addShadingPattern=function(t,e){return q(\"addShadingPattern()\"),Jt(t,e),this},y.beginTilingPattern=function(t){q(\"beginTilingPattern()\"),Br(t.boundingBox[0],t.boundingBox[1],t.boundingBox[2]-t.boundingBox[0],t.boundingBox[3]-t.boundingBox[1],t.matrix)},y.endTilingPattern=function(t,e){q(\"endTilingPattern()\"),e.stream=ot[$].join(\"\\n\"),Jt(t,e),Tt.publish(\"endTilingPattern\",e),Wt.pop().restore()};var Xt=y.__private__.newObject=function(){var t=Kt();return Zt(t,!0),t},Kt=y.__private__.newObjectDeferred=function(){return et++,rt[et]=function(){return it},et},Zt=function(t,e){return e=\"boolean\"==typeof e&&e,rt[t]=it,e&<(t+\" 0 obj\"),t},$t=y.__private__.newAdditionalObject=function(){var t={objId:Kt(),content:\"\"};return at.push(t),t},Qt=Kt(),te=Kt(),ee=y.__private__.decodeColorString=function(t){var e=t.split(\" \");if(2!==e.length||\"g\"!==e[1]&&\"G\"!==e[1]){if(5===e.length&&(\"k\"===e[4]||\"K\"===e[4])){e=[(1-e[0])*(1-e[3]),(1-e[1])*(1-e[3]),(1-e[2])*(1-e[3]),\"r\"]}}else{var r=parseFloat(e[0]);e=[r,r,r,\"r\"]}for(var n=\"#\",i=0;i<3;i++)n+=(\"0\"+Math.floor(255*parseFloat(e[i])).toString(16)).slice(-2);return n},re=y.__private__.encodeColorString=function(e){var r;\"string\"==typeof e&&(e={ch1:e});var n=e.ch1,i=e.ch2,a=e.ch3,o=e.ch4,s=\"draw\"===e.pdfColorType?[\"G\",\"RG\",\"K\"]:[\"g\",\"rg\",\"k\"];if(\"string\"==typeof n&&\"#\"!==n.charAt(0)){var c=new f(n);if(c.ok)n=c.toHex();else if(!/^\\d*\\.?\\d*$/.test(n))throw new Error('Invalid color \"'+n+'\" passed to jsPDF.encodeColorString.')}if(\"string\"==typeof n&&/^#[0-9A-Fa-f]{3}$/.test(n)&&(n=\"#\"+n[1]+n[1]+n[2]+n[2]+n[3]+n[3]),\"string\"==typeof n&&/^#[0-9A-Fa-f]{6}$/.test(n)){var u=parseInt(n.substr(1),16);n=u>>16&255,i=u>>8&255,a=255&u}if(void 0===i||void 0===o&&n===i&&i===a)if(\"string\"==typeof n)r=n+\" \"+s[0];else switch(e.precision){case 2:r=R(n/255)+\" \"+s[0];break;case 3:default:r=T(n/255)+\" \"+s[0]}else if(void 0===o||\"object\"===t(o)){if(o&&!isNaN(o.a)&&0===o.a)return r=[\"1.\",\"1.\",\"1.\",s[1]].join(\" \");if(\"string\"==typeof n)r=[n,i,a,s[1]].join(\" \");else switch(e.precision){case 2:r=[R(n/255),R(i/255),R(a/255),s[1]].join(\" \");break;default:case 3:r=[T(n/255),T(i/255),T(a/255),s[1]].join(\" \")}}else if(\"string\"==typeof n)r=[n,i,a,o,s[2]].join(\" \");else switch(e.precision){case 2:r=[R(n),R(i),R(a),R(o),s[2]].join(\" \");break;case 3:default:r=[T(n),T(i),T(a),T(o),s[2]].join(\" \")}return r},ne=y.__private__.getFilters=function(){return u},ie=y.__private__.putStream=function(t){var e=(t=t||{}).data||\"\",r=t.filters||ne(),n=t.alreadyAppliedFilters||[],i=t.addLength1||!1,a=e.length,o=t.objectId,s=function(t){return t};if(null!==m&&void 0===o)throw new Error(\"ObjectId must be passed to putStream for file encryption\");null!==m&&(s=Ye.encryptor(o,0));var c={};!0===r&&(r=[\"FlateEncode\"]);var u=t.additionalKeyValues||[],h=(c=void 0!==E.API.processDataByFilters?E.API.processDataByFilters(e,r):{data:e,reverseChain:[]}).reverseChain+(Array.isArray(n)?n.join(\" \"):n.toString());if(0!==c.data.length&&(u.push({key:\"Length\",value:c.data.length}),!0===i&&u.push({key:\"Length1\",value:a})),0!=h.length)if(h.split(\"/\").length-1==1)u.push({key:\"Filter\",value:h});else{u.push({key:\"Filter\",value:\"[\"+h+\"]\"});for(var l=0;l<u.length;l+=1)if(\"DecodeParms\"===u[l].key){for(var f=[],d=0;d<c.reverseChain.split(\"/\").length-1;d+=1)f.push(\"null\");f.push(u[l].value),u[l].value=\"[\"+f.join(\" \")+\"]\"}}lt(\"<<\");for(var p=0;p<u.length;p++)lt(\"/\"+u[p].key+\" \"+u[p].value);lt(\">>\"),0!==c.data.length&&(lt(\"stream\"),lt(s(c.data)),lt(\"endstream\"))},ae=y.__private__.putPage=function(t){var e=t.number,r=t.data,n=t.objId,i=t.contentsObjId;Zt(n,!0),lt(\"<</Type /Page\"),lt(\"/Parent \"+t.rootDictionaryObjId+\" 0 R\"),lt(\"/Resources \"+t.resourceDictionaryObjId+\" 0 R\"),lt(\"/MediaBox [\"+parseFloat(O(t.mediaBox.bottomLeftX))+\" \"+parseFloat(O(t.mediaBox.bottomLeftY))+\" \"+O(t.mediaBox.topRightX)+\" \"+O(t.mediaBox.topRightY)+\"]\"),null!==t.cropBox&<(\"/CropBox [\"+O(t.cropBox.bottomLeftX)+\" \"+O(t.cropBox.bottomLeftY)+\" \"+O(t.cropBox.topRightX)+\" \"+O(t.cropBox.topRightY)+\"]\"),null!==t.bleedBox&<(\"/BleedBox [\"+O(t.bleedBox.bottomLeftX)+\" \"+O(t.bleedBox.bottomLeftY)+\" \"+O(t.bleedBox.topRightX)+\" \"+O(t.bleedBox.topRightY)+\"]\"),null!==t.trimBox&<(\"/TrimBox [\"+O(t.trimBox.bottomLeftX)+\" \"+O(t.trimBox.bottomLeftY)+\" \"+O(t.trimBox.topRightX)+\" \"+O(t.trimBox.topRightY)+\"]\"),null!==t.artBox&<(\"/ArtBox [\"+O(t.artBox.bottomLeftX)+\" \"+O(t.artBox.bottomLeftY)+\" \"+O(t.artBox.topRightX)+\" \"+O(t.artBox.topRightY)+\"]\"),\"number\"==typeof t.userUnit&&1!==t.userUnit&<(\"/UserUnit \"+t.userUnit),Tt.publish(\"putPage\",{objId:n,pageContext:Rt[e],pageNumber:e,page:r}),lt(\"/Contents \"+i+\" 0 R\"),lt(\">>\"),lt(\"endobj\");var a=r.join(\"\\n\");return S===x.ADVANCED&&(a+=\"\\nQ\"),Zt(i,!0),ie({data:a,filters:ne(),objectId:i}),lt(\"endobj\"),n},oe=y.__private__.putPages=function(){var t,e,r=[];for(t=1;t<=Dt;t++)Rt[t].objId=Kt(),Rt[t].contentsObjId=Kt();for(t=1;t<=Dt;t++)r.push(ae({number:t,data:ot[t],objId:Rt[t].objId,contentsObjId:Rt[t].contentsObjId,mediaBox:Rt[t].mediaBox,cropBox:Rt[t].cropBox,bleedBox:Rt[t].bleedBox,trimBox:Rt[t].trimBox,artBox:Rt[t].artBox,userUnit:Rt[t].userUnit,rootDictionaryObjId:Qt,resourceDictionaryObjId:te}));Zt(Qt,!0),lt(\"<</Type /Pages\");var n=\"/Kids [\";for(e=0;e<Dt;e++)n+=r[e]+\" 0 R \";lt(n+\"]\"),lt(\"/Count \"+Dt),lt(\">>\"),lt(\"endobj\"),Tt.publish(\"postPutPages\")},se=function(t){Tt.publish(\"putFont\",{font:t,out:lt,newObject:Xt,putStream:ie}),!0!==t.isAlreadyPutted&&(t.objectNumber=Xt(),lt(\"<<\"),lt(\"/Type /Font\"),lt(\"/BaseFont /\"+F(t.postScriptName)),lt(\"/Subtype /Type1\"),\"string\"==typeof t.encoding&<(\"/Encoding /\"+t.encoding),lt(\"/FirstChar 32\"),lt(\"/LastChar 255\"),lt(\">>\"),lt(\"endobj\"))},ce=function(){for(var t in Ft)Ft.hasOwnProperty(t)&&(!1===v||!0===v&&b.hasOwnProperty(t))&&se(Ft[t])},ue=function(t){t.objectNumber=Xt();var e=[];e.push({key:\"Type\",value:\"/XObject\"}),e.push({key:\"Subtype\",value:\"/Form\"}),e.push({key:\"BBox\",value:\"[\"+[O(t.x),O(t.y),O(t.x+t.width),O(t.y+t.height)].join(\" \")+\"]\"}),e.push({key:\"Matrix\",value:\"[\"+t.matrix.toString()+\"]\"});var r=t.pages[1].join(\"\\n\");ie({data:r,additionalKeyValues:e,objectId:t.objectNumber}),lt(\"endobj\")},he=function(){for(var t in zt)zt.hasOwnProperty(t)&&ue(zt[t])},le=function(t,e){var r,n=[],i=1/(e-1);for(r=0;r<1;r+=i)n.push(r);if(n.push(1),0!=t[0].offset){var a={offset:0,color:t[0].color};t.unshift(a)}if(1!=t[t.length-1].offset){var o={offset:1,color:t[t.length-1].color};t.push(o)}for(var s=\"\",c=0,u=0;u<n.length;u++){for(r=n[u];r>t[c+1].offset;)c++;var h=t[c].offset,l=(r-h)/(t[c+1].offset-h),f=t[c].color,d=t[c+1].color;s+=tt(Math.round((1-l)*f[0]+l*d[0]).toString(16))+tt(Math.round((1-l)*f[1]+l*d[1]).toString(16))+tt(Math.round((1-l)*f[2]+l*d[2]).toString(16))}return s.trim()},fe=function(t,e){e||(e=21);var r=Xt(),n=le(t.colors,e),i=[];i.push({key:\"FunctionType\",value:\"0\"}),i.push({key:\"Domain\",value:\"[0.0 1.0]\"}),i.push({key:\"Size\",value:\"[\"+e+\"]\"}),i.push({key:\"BitsPerSample\",value:\"8\"}),i.push({key:\"Range\",value:\"[0.0 1.0 0.0 1.0 0.0 1.0]\"}),i.push({key:\"Decode\",value:\"[0.0 1.0 0.0 1.0 0.0 1.0]\"}),ie({data:n,additionalKeyValues:i,alreadyAppliedFilters:[\"/ASCIIHexDecode\"],objectId:r}),lt(\"endobj\"),t.objectNumber=Xt(),lt(\"<< /ShadingType \"+t.type),lt(\"/ColorSpace /DeviceRGB\");var a=\"/Coords [\"+O(parseFloat(t.coords[0]))+\" \"+O(parseFloat(t.coords[1]))+\" \";2===t.type?a+=O(parseFloat(t.coords[2]))+\" \"+O(parseFloat(t.coords[3])):a+=O(parseFloat(t.coords[2]))+\" \"+O(parseFloat(t.coords[3]))+\" \"+O(parseFloat(t.coords[4]))+\" \"+O(parseFloat(t.coords[5])),lt(a+=\"]\"),t.matrix&<(\"/Matrix [\"+t.matrix.toString()+\"]\"),lt(\"/Function \"+r+\" 0 R\"),lt(\"/Extend [true true]\"),lt(\">>\"),lt(\"endobj\")},de=function(t,e){var r=Kt(),n=Xt();e.push({resourcesOid:r,objectOid:n}),t.objectNumber=n;var i=[];i.push({key:\"Type\",value:\"/Pattern\"}),i.push({key:\"PatternType\",value:\"1\"}),i.push({key:\"PaintType\",value:\"1\"}),i.push({key:\"TilingType\",value:\"1\"}),i.push({key:\"BBox\",value:\"[\"+t.boundingBox.map(O).join(\" \")+\"]\"}),i.push({key:\"XStep\",value:O(t.xStep)}),i.push({key:\"YStep\",value:O(t.yStep)}),i.push({key:\"Resources\",value:r+\" 0 R\"}),t.matrix&&i.push({key:\"Matrix\",value:\"[\"+t.matrix.toString()+\"]\"}),ie({data:t.stream,additionalKeyValues:i,objectId:t.objectNumber}),lt(\"endobj\")},pe=function(t){var e;for(e in Ot)Ot.hasOwnProperty(e)&&(Ot[e]instanceof B?fe(Ot[e]):Ot[e]instanceof M&&de(Ot[e],t))},ge=function(t){for(var e in t.objectNumber=Xt(),lt(\"<<\"),t)switch(e){case\"opacity\":lt(\"/ca \"+R(t[e]));break;case\"stroke-opacity\":lt(\"/CA \"+R(t[e]))}lt(\">>\"),lt(\"endobj\")},me=function(){var t;for(t in Mt)Mt.hasOwnProperty(t)&&ge(Mt[t])},ve=function(){for(var t in lt(\"/XObject <<\"),zt)zt.hasOwnProperty(t)&&zt[t].objectNumber>=0&<(\"/\"+t+\" \"+zt[t].objectNumber+\" 0 R\");Tt.publish(\"putXobjectDict\"),lt(\">>\")},be=function(){Ye.oid=Xt(),lt(\"<<\"),lt(\"/Filter /Standard\"),lt(\"/V \"+Ye.v),lt(\"/R \"+Ye.r),lt(\"/U <\"+Ye.toHexString(Ye.U)+\">\"),lt(\"/O <\"+Ye.toHexString(Ye.O)+\">\"),lt(\"/P \"+Ye.P),lt(\">>\"),lt(\"endobj\")},ye=function(){for(var t in lt(\"/Font <<\"),Ft)Ft.hasOwnProperty(t)&&(!1===v||!0===v&&b.hasOwnProperty(t))&<(\"/\"+t+\" \"+Ft[t].objectNumber+\" 0 R\");lt(\">>\")},we=function(){if(Object.keys(Ot).length>0){for(var t in lt(\"/Shading <<\"),Ot)Ot.hasOwnProperty(t)&&Ot[t]instanceof B&&Ot[t].objectNumber>=0&<(\"/\"+t+\" \"+Ot[t].objectNumber+\" 0 R\");Tt.publish(\"putShadingPatternDict\"),lt(\">>\")}},Ne=function(t){if(Object.keys(Ot).length>0){for(var e in lt(\"/Pattern <<\"),Ot)Ot.hasOwnProperty(e)&&Ot[e]instanceof y.TilingPattern&&Ot[e].objectNumber>=0&&Ot[e].objectNumber<t&<(\"/\"+e+\" \"+Ot[e].objectNumber+\" 0 R\");Tt.publish(\"putTilingPatternDict\"),lt(\">>\")}},Le=function(){if(Object.keys(Mt).length>0){var t;for(t in lt(\"/ExtGState <<\"),Mt)Mt.hasOwnProperty(t)&&Mt[t].objectNumber>=0&<(\"/\"+t+\" \"+Mt[t].objectNumber+\" 0 R\");Tt.publish(\"putGStateDict\"),lt(\">>\")}},Ae=function(t){Zt(t.resourcesOid,!0),lt(\"<<\"),lt(\"/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]\"),ye(),we(),Ne(t.objectOid),Le(),ve(),lt(\">>\"),lt(\"endobj\")},xe=function(){var t=[];ce(),me(),he(),pe(t),Tt.publish(\"putResources\"),t.forEach(Ae),Ae({resourcesOid:te,objectOid:Number.MAX_SAFE_INTEGER}),Tt.publish(\"postPutResources\")},Se=function(){Tt.publish(\"putAdditionalObjects\");for(var t=0;t<at.length;t++){var e=at[t];Zt(e.objId,!0),lt(e.content),lt(\"endobj\")}Tt.publish(\"postPutAdditionalObjects\")},_e=function(t){Ct[t.fontName]=Ct[t.fontName]||{},Ct[t.fontName][t.fontStyle]=t.id},Pe=function(t,e,r,n,i){var a={id:\"F\"+(Object.keys(Ft).length+1).toString(10),postScriptName:t,fontName:e,fontStyle:r,encoding:n,isStandardFont:i||!1,metadata:{}};return Tt.publish(\"addFont\",{font:a,instance:this}),Ft[a.id]=a,_e(a),a.id},ke=function(t){for(var e=0,r=pt.length;e<r;e++){var n=Pe.call(this,t[e][0],t[e][1],t[e][2],pt[e][3],!0);!1===v&&(b[n]=!0);var i=t[e][0].split(\"-\");_e({id:n,fontName:i[0],fontStyle:i[1]||\"\"})}Tt.publish(\"addFonts\",{fonts:Ft,dictionary:Ct})},Ie=function(t){return t.foo=function(){try{return t.apply(this,arguments)}catch(t){var e=t.stack||\"\";~e.indexOf(\" at \")&&(e=e.split(\" at \")[1]);var r=\"Error in function \"+e.split(\"\\n\")[0].split(\"<\")[0]+\": \"+t.message;if(!n.console)throw new Error(r);n.console.error(r,t),n.alert&&alert(r)}},t.foo.bar=t,t.foo},Fe=function(t,e){var r,n,i,a,o,s,c,u,h;if(i=(e=e||{}).sourceEncoding||\"Unicode\",o=e.outputEncoding,(e.autoencode||o)&&Ft[St].metadata&&Ft[St].metadata[i]&&Ft[St].metadata[i].encoding&&(a=Ft[St].metadata[i].encoding,!o&&Ft[St].encoding&&(o=Ft[St].encoding),!o&&a.codePages&&(o=a.codePages[0]),\"string\"==typeof o&&(o=a[o]),o)){for(c=!1,s=[],r=0,n=t.length;r<n;r++)(u=o[t.charCodeAt(r)])?s.push(String.fromCharCode(u)):s.push(t[r]),s[r].charCodeAt(0)>>8&&(c=!0);t=s.join(\"\")}for(r=t.length;void 0===c&&0!==r;)t.charCodeAt(r-1)>>8&&(c=!0),r--;if(!c)return t;for(s=e.noBOM?[]:[254,255],r=0,n=t.length;r<n;r++){if((h=(u=t.charCodeAt(r))>>8)>>8)throw new Error(\"Character at position \"+r+\" of string '\"+t+\"' exceeds 16bits. Cannot be encoded into UCS-2 BE\");s.push(h),s.push(u-(h<<8))}return String.fromCharCode.apply(void 0,s)},Ce=y.__private__.pdfEscape=y.pdfEscape=function(t,e){return Fe(t,e).replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},je=y.__private__.beginPage=function(t){ot[++Dt]=[],Rt[Dt]={objId:0,contentsObjId:0,userUnit:Number(d),artBox:null,bleedBox:null,cropBox:null,trimBox:null,mediaBox:{bottomLeftX:0,bottomLeftY:0,topRightX:Number(t[0]),topRightY:Number(t[1])}},Me(Dt),ht(ot[$])},Oe=function(t,e){var r,n,o;switch(i=e||i,\"string\"==typeof t&&(r=A(t.toLowerCase()),Array.isArray(r)&&(n=r[0],o=r[1])),Array.isArray(t)&&(n=t[0]*_t,o=t[1]*_t),isNaN(n)&&(n=s[0],o=s[1]),(n>14400||o>14400)&&(a.warn(\"A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400\"),n=Math.min(14400,n),o=Math.min(14400,o)),s=[n,o],i.substr(0,1)){case\"l\":o>n&&(s=[o,n]);break;case\"p\":n>o&&(s=[o,n])}je(s),pr(fr),lt(Lr),0!==kr&<(kr+\" J\"),0!==Ir&<(Ir+\" j\"),Tt.publish(\"addPage\",{pageNumber:Dt})},Be=function(t){t>0&&t<=Dt&&(ot.splice(t,1),Rt.splice(t,1),Dt--,$>Dt&&($=Dt),this.setPage($))},Me=function(t){t>0&&t<=Dt&&($=t)},Ee=y.__private__.getNumberOfPages=y.getNumberOfPages=function(){return ot.length-1},qe=function(t,e,r){var n,i=void 0;return r=r||{},t=void 0!==t?t:Ft[St].fontName,e=void 0!==e?e:Ft[St].fontStyle,n=t.toLowerCase(),void 0!==Ct[n]&&void 0!==Ct[n][e]?i=Ct[n][e]:void 0!==Ct[t]&&void 0!==Ct[t][e]?i=Ct[t][e]:!1===r.disableWarning&&a.warn(\"Unable to look up font label for font '\"+t+\"', '\"+e+\"'. Refer to getFontList() for available fonts.\"),i||r.noFallback||null==(i=Ct.times[e])&&(i=Ct.times.normal),i},De=y.__private__.putInfo=function(){var t=Xt(),e=function(t){return t};for(var r in null!==m&&(e=Ye.encryptor(t,0)),lt(\"<<\"),lt(\"/Producer (\"+Ce(e(\"jsPDF \"+E.version))+\")\"),xt)xt.hasOwnProperty(r)&&xt[r]&<(\"/\"+r.substr(0,1).toUpperCase()+r.substr(1)+\" (\"+Ce(e(xt[r]))+\")\");lt(\"/CreationDate (\"+Ce(e(W))+\")\"),lt(\">>\"),lt(\"endobj\")},Re=y.__private__.putCatalog=function(t){var e=(t=t||{}).rootDictionaryObjId||Qt;switch(Xt(),lt(\"<<\"),lt(\"/Type /Catalog\"),lt(\"/Pages \"+e+\" 0 R\"),mt||(mt=\"fullwidth\"),mt){case\"fullwidth\":lt(\"/OpenAction [3 0 R /FitH null]\");break;case\"fullheight\":lt(\"/OpenAction [3 0 R /FitV null]\");break;case\"fullpage\":lt(\"/OpenAction [3 0 R /Fit]\");break;case\"original\":lt(\"/OpenAction [3 0 R /XYZ null null 1]\");break;default:var r=\"\"+mt;\"%\"===r.substr(r.length-1)&&(mt=parseInt(mt)/100),\"number\"==typeof mt&<(\"/OpenAction [3 0 R /XYZ null null \"+R(mt)+\"]\")}switch(Nt||(Nt=\"continuous\"),Nt){case\"continuous\":lt(\"/PageLayout /OneColumn\");break;case\"single\":lt(\"/PageLayout /SinglePage\");break;case\"two\":case\"twoleft\":lt(\"/PageLayout /TwoColumnLeft\");break;case\"tworight\":lt(\"/PageLayout /TwoColumnRight\")}yt&<(\"/PageMode /\"+yt),Tt.publish(\"putCatalog\"),lt(\">>\"),lt(\"endobj\")},Te=y.__private__.putTrailer=function(){lt(\"trailer\"),lt(\"<<\"),lt(\"/Size \"+(et+1)),lt(\"/Root \"+et+\" 0 R\"),lt(\"/Info \"+(et-1)+\" 0 R\"),null!==m&<(\"/Encrypt \"+Ye.oid+\" 0 R\"),lt(\"/ID [ <\"+V+\"> <\"+V+\"> ]\"),lt(\">>\")},Ue=y.__private__.putHeader=function(){lt(\"%PDF-\"+w),lt(\"%ºß¬à\")},ze=y.__private__.putXRef=function(){var t=\"0000000000\";lt(\"xref\"),lt(\"0 \"+(et+1)),lt(\"0000000000 65535 f \");for(var e=1;e<=et;e++){\"function\"==typeof rt[e]?lt((t+rt[e]()).slice(-10)+\" 00000 n \"):void 0!==rt[e]?lt((t+rt[e]).slice(-10)+\" 00000 n \"):lt(\"0000000000 00000 n \")}},He=y.__private__.buildDocument=function(){ut(),ht(nt),Tt.publish(\"buildDocument\"),Ue(),oe(),Se(),xe(),null!==m&&be(),De(),Re();var t=it;return ze(),Te(),lt(\"startxref\"),lt(\"\"+t),lt(\"%%EOF\"),ht(ot[$]),nt.join(\"\\n\")},We=y.__private__.getBlob=function(t){return new Blob([dt(t)],{type:\"application/pdf\"})},Ve=y.output=y.__private__.output=Ie((function(t,e){switch(\"string\"==typeof(e=e||{})?e={filename:e}:e.filename=e.filename||\"generated.pdf\",t){case void 0:return He();case\"save\":y.save(e.filename);break;case\"arraybuffer\":return dt(He());case\"blob\":return We(He());case\"bloburi\":case\"bloburl\":if(void 0!==n.URL&&\"function\"==typeof n.URL.createObjectURL)return n.URL&&n.URL.createObjectURL(We(He()))||void 0;a.warn(\"bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.\");break;case\"datauristring\":case\"dataurlstring\":var r=\"\",i=He();try{r=h(i)}catch(t){r=h(unescape(encodeURIComponent(i)))}return\"data:application/pdf;filename=\"+e.filename+\";base64,\"+r;case\"pdfobjectnewwindow\":if(\"[object Window]\"===Object.prototype.toString.call(n)){var o=\"https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js\",s=' integrity=\"sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==\" crossorigin=\"anonymous\"';e.pdfObjectUrl&&(o=e.pdfObjectUrl,s=\"\");var c='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><script src=\"'+o+'\"'+s+'><\\/script><script >PDFObject.embed(\"'+this.output(\"dataurlstring\")+'\", '+JSON.stringify(e)+\");<\\/script></body></html>\",u=n.open();return null!==u&&u.document.write(c),u}throw new Error(\"The option pdfobjectnewwindow just works in a browser-environment.\");case\"pdfjsnewwindow\":if(\"[object Window]\"===Object.prototype.toString.call(n)){var l='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><iframe id=\"pdfViewer\" src=\"'+(e.pdfJsUrl||\"examples/PDF.js/web/viewer.html\")+\"?file=&downloadName=\"+e.filename+'\" width=\"500px\" height=\"400px\" /></body></html>',f=n.open();if(null!==f){f.document.write(l);var d=this;f.document.documentElement.querySelector(\"#pdfViewer\").onload=function(){f.document.title=e.filename,f.document.documentElement.querySelector(\"#pdfViewer\").contentWindow.PDFViewerApplication.open(d.output(\"bloburl\"))}}return f}throw new Error(\"The option pdfjsnewwindow just works in a browser-environment.\");case\"dataurlnewwindow\":if(\"[object Window]\"!==Object.prototype.toString.call(n))throw new Error(\"The option dataurlnewwindow just works in a browser-environment.\");var p='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><iframe src=\"'+this.output(\"datauristring\",e)+'\"></iframe></body></html>',g=n.open();if(null!==g&&(g.document.write(p),g.document.title=e.filename),g||\"undefined\"==typeof safari)return g;break;case\"datauri\":case\"dataurl\":return n.document.location.href=this.output(\"datauristring\",e);default:return null}})),Ge=function(t){return!0===Array.isArray(Ut)&&Ut.indexOf(t)>-1};switch(o){case\"pt\":_t=1;break;case\"mm\":_t=72/25.4;break;case\"cm\":_t=72/2.54;break;case\"in\":_t=72;break;case\"px\":_t=1==Ge(\"px_scaling\")?.75:96/72;break;case\"pc\":case\"em\":_t=12;break;case\"ex\":_t=6;break;default:if(\"number\"!=typeof o)throw new Error(\"Invalid unit: \"+o);_t=o}var Ye=null;K(),Y();var Je=function(t){return null!==m?Ye.encryptor(t,0):function(t){return t}},Xe=y.__private__.getPageInfo=y.getPageInfo=function(t){if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");return{objId:Rt[t].objId,pageNumber:t,pageContext:Rt[t]}},Ke=y.__private__.getPageInfoByObjId=function(t){if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");for(var e in Rt)if(Rt[e].objId===t)break;return Xe(e)},Ze=y.__private__.getCurrentPageInfo=y.getCurrentPageInfo=function(){return{objId:Rt[$].objId,pageNumber:$,pageContext:Rt[$]}};y.addPage=function(){return Oe.apply(this,arguments),this},y.setPage=function(){return Me.apply(this,arguments),ht.call(this,ot[$]),this},y.insertPage=function(t){return this.addPage(),this.movePage($,t),this},y.movePage=function(t,e){var r,n;if(t>e){r=ot[t],n=Rt[t];for(var i=t;i>e;i--)ot[i]=ot[i-1],Rt[i]=Rt[i-1];ot[e]=r,Rt[e]=n,this.setPage(e)}else if(t<e){r=ot[t],n=Rt[t];for(var a=t;a<e;a++)ot[a]=ot[a+1],Rt[a]=Rt[a+1];ot[e]=r,Rt[e]=n,this.setPage(e)}return this},y.deletePage=function(){return Be.apply(this,arguments),this},y.__private__.text=y.text=function(e,r,n,i,a){var o,s,c,u,h,l,f,d,p,g=(i=i||{}).scope||this;if(\"number\"==typeof e&&\"number\"==typeof r&&(\"string\"==typeof n||Array.isArray(n))){var m=n;n=r,r=e,e=m}if(arguments[3]instanceof Vt==!1?(c=arguments[4],u=arguments[5],\"object\"===t(f=arguments[3])&&null!==f||(\"string\"==typeof c&&(u=c,c=null),\"string\"==typeof f&&(u=f,f=null),\"number\"==typeof f&&(c=f,f=null),i={flags:f,angle:c,align:u})):(q(\"The transform parameter of text() with a Matrix value\"),p=a),isNaN(r)||isNaN(n)||null==e)throw new Error(\"Invalid arguments passed to jsPDF.text\");if(0===e.length)return g;var v=\"\",y=!1,w=\"number\"==typeof i.lineHeightFactor?i.lineHeightFactor:lr,N=g.internal.scaleFactor;function L(t){return t=t.split(\"\\t\").join(Array(i.TabLen||9).join(\" \")),Ce(t,f)}function A(t){for(var e,r=t.concat(),n=[],i=r.length;i--;)\"string\"==typeof(e=r.shift())?n.push(e):Array.isArray(t)&&(1===e.length||void 0===e[1]&&void 0===e[2])?n.push(e[0]):n.push([e[0],e[1],e[2]]);return n}function _(t,e){var r;if(\"string\"==typeof t)r=e(t)[0];else if(Array.isArray(t)){for(var n,i,a=t.concat(),o=[],s=a.length;s--;)\"string\"==typeof(n=a.shift())?o.push(e(n)[0]):Array.isArray(n)&&\"string\"==typeof n[0]&&(i=e(n[0],n[1],n[2]),o.push([i[0],i[1],i[2]]));r=o}return r}var P=!1,k=!0;if(\"string\"==typeof e)P=!0;else if(Array.isArray(e)){var I=e.concat();s=[];for(var F,C=I.length;C--;)(\"string\"!=typeof(F=I.shift())||Array.isArray(F)&&\"string\"!=typeof F[0])&&(k=!1);P=k}if(!1===P)throw new Error('Type of text must be string or Array. \"'+e+'\" is not recognized.');\"string\"==typeof e&&(e=e.match(/[\\r?\\n]/)?e.split(/\\r\\n|\\r|\\n/g):[e]);var j=gt/g.internal.scaleFactor,B=j*(w-1);switch(i.baseline){case\"bottom\":n-=B;break;case\"top\":n+=j-B;break;case\"hanging\":n+=j-2*B;break;case\"middle\":n+=j/2-B}if((l=i.maxWidth||0)>0&&(\"string\"==typeof e?e=g.splitTextToSize(e,l):\"[object Array]\"===Object.prototype.toString.call(e)&&(e=e.reduce((function(t,e){return t.concat(g.splitTextToSize(e,l))}),[]))),o={text:e,x:r,y:n,options:i,mutex:{pdfEscape:Ce,activeFontKey:St,fonts:Ft,activeFontSize:gt}},Tt.publish(\"preProcessText\",o),e=o.text,c=(i=o.options).angle,p instanceof Vt==!1&&c&&\"number\"==typeof c){c*=Math.PI/180,0===i.rotationDirection&&(c=-c),S===x.ADVANCED&&(c=-c);var M=Math.cos(c),E=Math.sin(c);p=new Vt(M,E,-E,M,0,0)}else c&&c instanceof Vt&&(p=c);S!==x.ADVANCED||p||(p=Yt),void 0!==(h=i.charSpace||_r)&&(v+=O(U(h))+\" Tc\\n\",this.setCharSpace(this.getCharSpace()||0)),void 0!==(d=i.horizontalScale)&&(v+=O(100*d)+\" Tz\\n\");i.lang;var D=-1,R=void 0!==i.renderingMode?i.renderingMode:i.stroke,T=g.internal.getCurrentPageInfo().pageContext;switch(R){case 0:case!1:case\"fill\":D=0;break;case 1:case!0:case\"stroke\":D=1;break;case 2:case\"fillThenStroke\":D=2;break;case 3:case\"invisible\":D=3;break;case 4:case\"fillAndAddForClipping\":D=4;break;case 5:case\"strokeAndAddPathForClipping\":D=5;break;case 6:case\"fillThenStrokeAndAddToPathForClipping\":D=6;break;case 7:case\"addToPathForClipping\":D=7}var z=void 0!==T.usedRenderingMode?T.usedRenderingMode:-1;-1!==D?v+=D+\" Tr\\n\":-1!==z&&(v+=\"0 Tr\\n\"),-1!==D&&(T.usedRenderingMode=D),u=i.align||\"left\";var H,W=gt*w,V=g.internal.pageSize.getWidth(),G=Ft[St];h=i.charSpace||_r,l=i.maxWidth||0,f=Object.assign({autoencode:!0,noBOM:!0},i.flags);var Y=[],J=function(t){return g.getStringUnitWidth(t,{font:G,charSpace:h,fontSize:gt,doKerning:!1})*gt/N};if(\"[object Array]\"===Object.prototype.toString.call(e)){var X;s=A(e),\"left\"!==u&&(H=s.map(J));var K,Z=0;if(\"right\"===u){r-=H[0],e=[],C=s.length;for(var $=0;$<C;$++)0===$?(K=br(r),X=yr(n)):(K=U(Z-H[$]),X=-W),e.push([s[$],K,X]),Z=H[$]}else if(\"center\"===u){r-=H[0]/2,e=[],C=s.length;for(var Q=0;Q<C;Q++)0===Q?(K=br(r),X=yr(n)):(K=U((Z-H[Q])/2),X=-W),e.push([s[Q],K,X]),Z=H[Q]}else if(\"left\"===u){e=[],C=s.length;for(var tt=0;tt<C;tt++)e.push(s[tt])}else if(\"justify\"===u&&\"Identity-H\"===G.encoding){e=[],C=s.length,l=0!==l?l:V;for(var et=0,rt=0;rt<C;rt++)if(X=0===rt?yr(n):-W,K=0===rt?br(r):et,rt<C-1){var nt=U((l-H[rt])/(s[rt].split(\" \").length-1)),it=s[rt].split(\" \");e.push([it[0]+\" \",K,X]),et=0;for(var at=1;at<it.length;at++){var ot=(J(it[at-1]+\" \"+it[at])-J(it[at]))*N+nt;at==it.length-1?e.push([it[at],ot,0]):e.push([it[at]+\" \",ot,0]),et-=ot}}else e.push([s[rt],K,X]);e.push([\"\",et,0])}else{if(\"justify\"!==u)throw new Error('Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".');e=[],C=s.length,l=0!==l?l:V;for(rt=0;rt<C;rt++)X=0===rt?yr(n):-W,K=0===rt?br(r):0,rt<C-1?Y.push(O(U((l-H[rt])/(s[rt].split(\" \").length-1)))):Y.push(0),e.push([s[rt],K,X])}}var st=\"boolean\"==typeof i.R2L?i.R2L:bt;!0===st&&(e=_(e,(function(t,e,r){return[t.split(\"\").reverse().join(\"\"),e,r]}))),o={text:e,x:r,y:n,options:i,mutex:{pdfEscape:Ce,activeFontKey:St,fonts:Ft,activeFontSize:gt}},Tt.publish(\"postProcessText\",o),e=o.text,y=o.mutex.isHex||!1;var ct=Ft[St].encoding;\"WinAnsiEncoding\"!==ct&&\"StandardEncoding\"!==ct||(e=_(e,(function(t,e,r){return[L(t),e,r]}))),s=A(e),e=[];for(var ut,ht,ft,dt=0,pt=1,mt=Array.isArray(s[0])?pt:dt,vt=\"\",yt=function(t,e,r){var n=\"\";return r instanceof Vt?(r=\"number\"==typeof i.angle?Gt(r,new Vt(1,0,0,1,t,e)):Gt(new Vt(1,0,0,1,t,e),r),S===x.ADVANCED&&(r=Gt(new Vt(1,0,0,-1,0,0),r)),n=r.join(\" \")+\" Tm\\n\"):n=O(t)+\" \"+O(e)+\" Td\\n\",n},wt=0;wt<s.length;wt++){switch(vt=\"\",mt){case pt:ft=(y?\"<\":\"(\")+s[wt][0]+(y?\">\":\")\"),ut=parseFloat(s[wt][1]),ht=parseFloat(s[wt][2]);break;case dt:ft=(y?\"<\":\"(\")+s[wt]+(y?\">\":\")\"),ut=br(r),ht=yr(n)}void 0!==Y&&void 0!==Y[wt]&&(vt=Y[wt]+\" Tw\\n\"),0===wt?e.push(vt+yt(ut,ht,p)+ft):mt===dt?e.push(vt+ft):mt===pt&&e.push(vt+yt(ut,ht,p)+ft)}e=mt===dt?e.join(\" Tj\\nT* \"):e.join(\" Tj\\n\"),e+=\" Tj\\n\";var Nt=\"BT\\n/\";return Nt+=St+\" \"+gt+\" Tf\\n\",Nt+=O(gt*w)+\" TL\\n\",Nt+=xr+\"\\n\",Nt+=v,Nt+=e,lt(Nt+=\"ET\"),b[St]=!0,g};var $e=y.__private__.clip=y.clip=function(t){return lt(\"evenodd\"===t?\"W*\":\"W\"),this};y.clipEvenOdd=function(){return $e(\"evenodd\")},y.__private__.discardPath=y.discardPath=function(){return lt(\"n\"),this};var Qe=y.__private__.isValidStyle=function(t){var e=!1;return-1!==[void 0,null,\"S\",\"D\",\"F\",\"DF\",\"FD\",\"f\",\"f*\",\"B\",\"B*\",\"n\"].indexOf(t)&&(e=!0),e};y.__private__.setDefaultPathOperation=y.setDefaultPathOperation=function(t){return Qe(t)&&(g=t),this};var tr=y.__private__.getStyle=y.getStyle=function(t){var e=g;switch(t){case\"D\":case\"S\":e=\"S\";break;case\"F\":e=\"f\";break;case\"FD\":case\"DF\":e=\"B\";break;case\"f\":case\"f*\":case\"B\":case\"B*\":e=t}return e},er=y.close=function(){return lt(\"h\"),this};y.stroke=function(){return lt(\"S\"),this},y.fill=function(t){return rr(\"f\",t),this},y.fillEvenOdd=function(t){return rr(\"f*\",t),this},y.fillStroke=function(t){return rr(\"B\",t),this},y.fillStrokeEvenOdd=function(t){return rr(\"B*\",t),this};var rr=function(e,r){\"object\"===t(r)?ar(r,e):lt(e)},nr=function(t){null===t||S===x.ADVANCED&&void 0===t||(t=tr(t),lt(t))};function ir(t,e,r,n,i){var a=new M(e||this.boundingBox,r||this.xStep,n||this.yStep,this.gState,i||this.matrix);a.stream=this.stream;var o=t+\"$$\"+this.cloneIndex+++\"$$\";return Jt(o,a),a}var ar=function(t,e){var r=Bt[t.key],n=Ot[r];if(n instanceof B)lt(\"q\"),lt(or(e)),n.gState&&y.setGState(n.gState),lt(t.matrix.toString()+\" cm\"),lt(\"/\"+r+\" sh\"),lt(\"Q\");else if(n instanceof M){var i=new Vt(1,0,0,-1,0,Rr());t.matrix&&(i=i.multiply(t.matrix||Yt),r=ir.call(n,t.key,t.boundingBox,t.xStep,t.yStep,i).id),lt(\"q\"),lt(\"/Pattern cs\"),lt(\"/\"+r+\" scn\"),n.gState&&y.setGState(n.gState),lt(e),lt(\"Q\")}},or=function(t){switch(t){case\"f\":case\"F\":return\"W n\";case\"f*\":return\"W* n\";case\"B\":return\"W S\";case\"B*\":return\"W* S\";case\"S\":return\"W S\";case\"n\":return\"W n\"}},sr=y.moveTo=function(t,e){return lt(O(U(t))+\" \"+O(H(e))+\" m\"),this},cr=y.lineTo=function(t,e){return lt(O(U(t))+\" \"+O(H(e))+\" l\"),this},ur=y.curveTo=function(t,e,r,n,i,a){return lt([O(U(t)),O(H(e)),O(U(r)),O(H(n)),O(U(i)),O(H(a)),\"c\"].join(\" \")),this};y.__private__.line=y.line=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Qe(i))throw new Error(\"Invalid arguments passed to jsPDF.line\");return S===x.COMPAT?this.lines([[r-t,n-e]],t,e,[1,1],i||\"S\"):this.lines([[r-t,n-e]],t,e,[1,1]).stroke()},y.__private__.lines=y.lines=function(t,e,r,n,i,a){var o,s,c,u,h,l,f,d,p,g,m,v;if(\"number\"==typeof t&&(v=r,r=e,e=t,t=v),n=n||[1,1],a=a||!1,isNaN(e)||isNaN(r)||!Array.isArray(t)||!Array.isArray(n)||!Qe(i)||\"boolean\"!=typeof a)throw new Error(\"Invalid arguments passed to jsPDF.lines\");for(sr(e,r),o=n[0],s=n[1],u=t.length,g=e,m=r,c=0;c<u;c++)2===(h=t[c]).length?(g=h[0]*o+g,m=h[1]*s+m,cr(g,m)):(l=h[0]*o+g,f=h[1]*s+m,d=h[2]*o+g,p=h[3]*s+m,g=h[4]*o+g,m=h[5]*s+m,ur(l,f,d,p,g,m));return a&&er(),nr(i),this},y.path=function(t){for(var e=0;e<t.length;e++){var r=t[e],n=r.c;switch(r.op){case\"m\":sr(n[0],n[1]);break;case\"l\":cr(n[0],n[1]);break;case\"c\":ur.apply(this,n);break;case\"h\":er()}}return this},y.__private__.rect=y.rect=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Qe(i))throw new Error(\"Invalid arguments passed to jsPDF.rect\");return S===x.COMPAT&&(n=-n),lt([O(U(t)),O(H(e)),O(U(r)),O(U(n)),\"re\"].join(\" \")),nr(i),this},y.__private__.triangle=y.triangle=function(t,e,r,n,i,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(a)||!Qe(o))throw new Error(\"Invalid arguments passed to jsPDF.triangle\");return this.lines([[r-t,n-e],[i-r,a-n],[t-i,e-a]],t,e,[1,1],o,!0),this},y.__private__.roundedRect=y.roundedRect=function(t,e,r,n,i,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(a)||!Qe(o))throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");var s=4/3*(Math.SQRT2-1);return i=Math.min(i,.5*r),a=Math.min(a,.5*n),this.lines([[r-2*i,0],[i*s,0,i,a-a*s,i,a],[0,n-2*a],[0,a*s,-i*s,a,-i,a],[2*i-r,0],[-i*s,0,-i,-a*s,-i,-a],[0,2*a-n],[0,-a*s,i*s,-a,i,-a]],t+i,e,[1,1],o,!0),this},y.__private__.ellipse=y.ellipse=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Qe(i))throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");var a=4/3*(Math.SQRT2-1)*r,o=4/3*(Math.SQRT2-1)*n;return sr(t+r,e),ur(t+r,e-o,t+a,e-n,t,e-n),ur(t-a,e-n,t-r,e-o,t-r,e),ur(t-r,e+o,t-a,e+n,t,e+n),ur(t+a,e+n,t+r,e+o,t+r,e),nr(i),this},y.__private__.circle=y.circle=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||!Qe(n))throw new Error(\"Invalid arguments passed to jsPDF.circle\");return this.ellipse(t,e,r,r,n)},y.setFont=function(t,e,r){return r&&(e=k(e,r)),St=qe(t,e,{disableWarning:!1}),this};var hr=y.__private__.getFont=y.getFont=function(){return Ft[qe.apply(y,arguments)]};y.__private__.getFontList=y.getFontList=function(){var t,e,r={};for(t in Ct)if(Ct.hasOwnProperty(t))for(e in r[t]=[],Ct[t])Ct[t].hasOwnProperty(e)&&r[t].push(e);return r},y.addFont=function(t,e,r,n,i){var a=[\"StandardEncoding\",\"MacRomanEncoding\",\"Identity-H\",\"WinAnsiEncoding\"];return arguments[3]&&-1!==a.indexOf(arguments[3])?i=arguments[3]:arguments[3]&&-1==a.indexOf(arguments[3])&&(r=k(r,n)),i=i||\"Identity-H\",Pe.call(this,t,e,r,i)};var lr,fr=e.lineWidth||.200025,dr=y.__private__.getLineWidth=y.getLineWidth=function(){return fr},pr=y.__private__.setLineWidth=y.setLineWidth=function(t){return fr=t,lt(O(U(t))+\" w\"),this};y.__private__.setLineDash=E.API.setLineDash=E.API.setLineDashPattern=function(t,e){if(t=t||[],e=e||0,isNaN(e)||!Array.isArray(t))throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");return t=t.map((function(t){return O(U(t))})).join(\" \"),e=O(U(e)),lt(\"[\"+t+\"] \"+e+\" d\"),this};var gr=y.__private__.getLineHeight=y.getLineHeight=function(){return gt*lr};y.__private__.getLineHeight=y.getLineHeight=function(){return gt*lr};var mr=y.__private__.setLineHeightFactor=y.setLineHeightFactor=function(t){return\"number\"==typeof(t=t||1.15)&&(lr=t),this},vr=y.__private__.getLineHeightFactor=y.getLineHeightFactor=function(){return lr};mr(e.lineHeight);var br=y.__private__.getHorizontalCoordinate=function(t){return U(t)},yr=y.__private__.getVerticalCoordinate=function(t){return S===x.ADVANCED?t:Rt[$].mediaBox.topRightY-Rt[$].mediaBox.bottomLeftY-U(t)},wr=y.__private__.getHorizontalCoordinateString=y.getHorizontalCoordinateString=function(t){return O(br(t))},Nr=y.__private__.getVerticalCoordinateString=y.getVerticalCoordinateString=function(t){return O(yr(t))},Lr=e.strokeColor||\"0 G\";y.__private__.getStrokeColor=y.getDrawColor=function(){return ee(Lr)},y.__private__.setStrokeColor=y.setDrawColor=function(t,e,r,n){return Lr=re({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"draw\",precision:2}),lt(Lr),this};var Ar=e.fillColor||\"0 g\";y.__private__.getFillColor=y.getFillColor=function(){return ee(Ar)},y.__private__.setFillColor=y.setFillColor=function(t,e,r,n){return Ar=re({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"fill\",precision:2}),lt(Ar),this};var xr=e.textColor||\"0 g\",Sr=y.__private__.getTextColor=y.getTextColor=function(){return ee(xr)};y.__private__.setTextColor=y.setTextColor=function(t,e,r,n){return xr=re({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"text\",precision:3}),this};var _r=e.charSpace,Pr=y.__private__.getCharSpace=y.getCharSpace=function(){return parseFloat(_r||0)};y.__private__.setCharSpace=y.setCharSpace=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");return _r=t,this};var kr=0;y.CapJoinStyles={0:0,butt:0,but:0,miter:0,1:1,round:1,rounded:1,circle:1,2:2,projecting:2,project:2,square:2,bevel:2},y.__private__.setLineCap=y.setLineCap=function(t){var e=y.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line cap style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return kr=e,lt(e+\" J\"),this};var Ir=0;y.__private__.setLineJoin=y.setLineJoin=function(t){var e=y.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line join style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return Ir=e,lt(e+\" j\"),this},y.__private__.setLineMiterLimit=y.__private__.setMiterLimit=y.setLineMiterLimit=y.setMiterLimit=function(t){if(t=t||0,isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");return lt(O(U(t))+\" M\"),this},y.GState=j,y.setGState=function(t){(t=\"string\"==typeof t?Mt[Et[t]]:Fr(null,t)).equals(qt)||(lt(\"/\"+t.id+\" gs\"),qt=t)};var Fr=function(t,e){if(!t||!Et[t]){var r=!1;for(var n in Mt)if(Mt.hasOwnProperty(n)&&Mt[n].equals(e)){r=!0;break}if(r)e=Mt[n];else{var i=\"GS\"+(Object.keys(Mt).length+1).toString(10);Mt[i]=e,e.id=i}return t&&(Et[t]=e.id),Tt.publish(\"addGState\",e),e}};y.addGState=function(t,e){return Fr(t,e),this},y.saveGraphicsState=function(){return lt(\"q\"),jt.push({key:St,size:gt,color:xr}),this},y.restoreGraphicsState=function(){lt(\"Q\");var t=jt.pop();return St=t.key,gt=t.size,xr=t.color,qt=null,this},y.setCurrentTransformationMatrix=function(t){return lt(t.toString()+\" cm\"),this},y.comment=function(t){return lt(\"#\"+t),this};var Cr=function(t,e){var r=t||0;Object.defineProperty(this,\"x\",{enumerable:!0,get:function(){return r},set:function(t){isNaN(t)||(r=parseFloat(t))}});var n=e||0;Object.defineProperty(this,\"y\",{enumerable:!0,get:function(){return n},set:function(t){isNaN(t)||(n=parseFloat(t))}});var i=\"pt\";return Object.defineProperty(this,\"type\",{enumerable:!0,get:function(){return i},set:function(t){i=t.toString()}}),this},jr=function(t,e,r,n){Cr.call(this,t,e),this.type=\"rect\";var i=r||0;Object.defineProperty(this,\"w\",{enumerable:!0,get:function(){return i},set:function(t){isNaN(t)||(i=parseFloat(t))}});var a=n||0;return Object.defineProperty(this,\"h\",{enumerable:!0,get:function(){return a},set:function(t){isNaN(t)||(a=parseFloat(t))}}),this},Or=function(){this.page=Dt,this.currentPage=$,this.pages=ot.slice(0),this.pagesContext=Rt.slice(0),this.x=Pt,this.y=kt,this.matrix=It,this.width=qr($),this.height=Rr($),this.outputDestination=ct,this.id=\"\",this.objectNumber=-1};Or.prototype.restore=function(){Dt=this.page,$=this.currentPage,Rt=this.pagesContext,ot=this.pages,Pt=this.x,kt=this.y,It=this.matrix,Dr($,this.width),Tr($,this.height),ct=this.outputDestination};var Br=function(t,e,r,n,i){Wt.push(new Or),Dt=$=0,ot=[],Pt=t,kt=e,It=i,je([r,n])},Mr=function(t){if(Ht[t])Wt.pop().restore();else{var e=new Or,r=\"Xo\"+(Object.keys(zt).length+1).toString(10);e.id=r,Ht[t]=r,zt[r]=e,Tt.publish(\"addFormObject\",e),Wt.pop().restore()}};for(var Er in y.beginFormObject=function(t,e,r,n,i){return Br(t,e,r,n,i),this},y.endFormObject=function(t){return Mr(t),this},y.doFormObject=function(t,e){var r=zt[Ht[t]];return lt(\"q\"),lt(e.toString()+\" cm\"),lt(\"/\"+r.id+\" Do\"),lt(\"Q\"),this},y.getFormObject=function(t){var e=zt[Ht[t]];return{x:e.x,y:e.y,width:e.width,height:e.height,matrix:e.matrix}},y.save=function(t,e){return t=t||\"generated.pdf\",(e=e||{}).returnPromise=e.returnPromise||!1,!1===e.returnPromise?(l(We(He()),t),\"function\"==typeof l.unload&&n.setTimeout&&setTimeout(l.unload,911),this):new Promise((function(e,r){try{var i=l(We(He()),t);\"function\"==typeof l.unload&&n.setTimeout&&setTimeout(l.unload,911),e(i)}catch(t){r(t.message)}}))},E.API)E.API.hasOwnProperty(Er)&&(\"events\"===Er&&E.API.events.length?function(t,e){var r,n,i;for(i=e.length-1;-1!==i;i--)r=e[i][0],n=e[i][1],t.subscribe.apply(t,[r].concat(\"function\"==typeof n?[n]:n))}(Tt,E.API.events):y[Er]=E.API[Er]);var qr=y.getPageWidth=function(t){return(Rt[t=t||$].mediaBox.topRightX-Rt[t].mediaBox.bottomLeftX)/_t},Dr=y.setPageWidth=function(t,e){Rt[t].mediaBox.topRightX=e*_t+Rt[t].mediaBox.bottomLeftX},Rr=y.getPageHeight=function(t){return(Rt[t=t||$].mediaBox.topRightY-Rt[t].mediaBox.bottomLeftY)/_t},Tr=y.setPageHeight=function(t,e){Rt[t].mediaBox.topRightY=e*_t+Rt[t].mediaBox.bottomLeftY};return y.internal={pdfEscape:Ce,getStyle:tr,getFont:hr,getFontSize:vt,getCharSpace:Pr,getTextColor:Sr,getLineHeight:gr,getLineHeightFactor:vr,getLineWidth:dr,write:ft,getHorizontalCoordinate:br,getVerticalCoordinate:yr,getCoordinateString:wr,getVerticalCoordinateString:Nr,collections:{},newObject:Xt,newAdditionalObject:$t,newObjectDeferred:Kt,newObjectDeferredBegin:Zt,getFilters:ne,putStream:ie,events:Tt,scaleFactor:_t,pageSize:{getWidth:function(){return qr($)},setWidth:function(t){Dr($,t)},getHeight:function(){return Rr($)},setHeight:function(t){Tr($,t)}},encryptionOptions:m,encryption:Ye,getEncryptor:Je,output:Ve,getNumberOfPages:Ee,pages:ot,out:lt,f2:R,f3:T,getPageInfo:Xe,getPageInfoByObjId:Ke,getCurrentPageInfo:Ze,getPDFVersion:N,Point:Cr,Rectangle:jr,Matrix:Vt,hasHotfix:Ge},Object.defineProperty(y.internal.pageSize,\"width\",{get:function(){return qr($)},set:function(t){Dr($,t)},enumerable:!0,configurable:!0}),Object.defineProperty(y.internal.pageSize,\"height\",{get:function(){return Rr($)},set:function(t){Tr($,t)},enumerable:!0,configurable:!0}),ke.call(y,pt),St=\"F1\",Oe(s,i),Tt.publish(\"initialized\"),y}I.prototype.lsbFirstWord=function(t){return String.fromCharCode(t>>0&255,t>>8&255,t>>16&255,t>>24&255)},I.prototype.toHexString=function(t){return t.split(\"\").map((function(t){return(\"0\"+(255&t.charCodeAt(0)).toString(16)).slice(-2)})).join(\"\")},I.prototype.hexToBytes=function(t){for(var e=[],r=0;r<t.length;r+=2)e.push(String.fromCharCode(parseInt(t.substr(r,2),16)));return e.join(\"\")},I.prototype.processOwnerPassword=function(t,e){return P(x(e).substr(0,5),t)},I.prototype.encryptor=function(t,e){var r=x(this.encryptionKey+String.fromCharCode(255&t,t>>8&255,t>>16&255,255&e,e>>8&255)).substr(0,10);return function(t){return P(r,t)}},j.prototype.equals=function(e){var r,n=\"id,objectNumber,equals\";if(!e||t(e)!==t(this))return!1;var i=0;for(r in this)if(!(n.indexOf(r)>=0)){if(this.hasOwnProperty(r)&&!e.hasOwnProperty(r))return!1;if(this[r]!==e[r])return!1;i++}for(r in e)e.hasOwnProperty(r)&&n.indexOf(r)<0&&i--;return 0===i},E.API={events:[]},E.version=\"2.5.2\";var q=E.API,D=1,R=function(t){return t.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},T=function(t){return t.replace(/\\\\\\\\/g,\"\\\\\").replace(/\\\\\\(/g,\"(\").replace(/\\\\\\)/g,\")\")},U=function(t){return t.toFixed(2)},z=function(t){return t.toFixed(5)};q.__acroform__={};var H=function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t},W=function(t){return t*D},V=function(t){var e=new ut,r=At.internal.getHeight(t)||0,n=At.internal.getWidth(t)||0;return e.BBox=[0,0,Number(U(n)),Number(U(r))],e},G=q.__acroform__.setBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBit\");return t|=1<<e},Y=q.__acroform__.clearBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\");return t&=~(1<<e)},J=q.__acroform__.getBit=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBit\");return 0==(t&1<<e)?0:1},X=q.__acroform__.getBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\");return J(t,e-1)},K=q.__acroform__.setBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\");return G(t,e-1)},Z=q.__acroform__.clearBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\");return Y(t,e-1)},$=q.__acroform__.calculateCoordinates=function(t,e){var r=e.internal.getHorizontalCoordinate,n=e.internal.getVerticalCoordinate,i=t[0],a=t[1],o=t[2],s=t[3],c={};return c.lowerLeft_X=r(i)||0,c.lowerLeft_Y=n(a+s)||0,c.upperRight_X=r(i+o)||0,c.upperRight_Y=n(a)||0,[Number(U(c.lowerLeft_X)),Number(U(c.lowerLeft_Y)),Number(U(c.upperRight_X)),Number(U(c.upperRight_Y))]},Q=function(t){if(t.appearanceStreamContent)return t.appearanceStreamContent;if(t.V||t.DV){var e=[],r=t._V||t.DV,n=tt(t,r),i=t.scope.internal.getFont(t.fontName,t.fontStyle).id;e.push(\"/Tx BMC\"),e.push(\"q\"),e.push(\"BT\"),e.push(t.scope.__private__.encodeColorString(t.color)),e.push(\"/\"+i+\" \"+U(n.fontSize)+\" Tf\"),e.push(\"1 0 0 1 0 0 Tm\"),e.push(n.text),e.push(\"ET\"),e.push(\"Q\"),e.push(\"EMC\");var a=V(t);return a.scope=t.scope,a.stream=e.join(\"\\n\"),a}},tt=function(t,e){var r=0===t.fontSize?t.maxFontSize:t.fontSize,n={text:\"\",fontSize:\"\"},i=(e=\")\"==(e=\"(\"==e.substr(0,1)?e.substr(1):e).substr(e.length-1)?e.substr(0,e.length-1):e).split(\" \");i=t.multiline?i.map((function(t){return t.split(\"\\n\")})):i.map((function(t){return[t]}));var a=r,o=At.internal.getHeight(t)||0;o=o<0?-o:o;var s=At.internal.getWidth(t)||0;s=s<0?-s:s;var c=function(e,r,n){if(e+1<i.length){var a=r+\" \"+i[e+1][0];return et(a,t,n).width<=s-4}return!1};a++;t:for(;a>0;){e=\"\",a--;var u,h,l=et(\"3\",t,a).height,f=t.multiline?o-a:(o-l)/2,d=f+=2,p=0,g=0,m=0;if(a<=0){e=\"(...) Tj\\n\",e+=\"% Width of Text: \"+et(e,t,a=12).width+\", FieldWidth:\"+s+\"\\n\";break}for(var v=\"\",b=0,y=0;y<i.length;y++)if(i.hasOwnProperty(y)){var w=!1;if(1!==i[y].length&&m!==i[y].length-1){if((l+2)*(b+2)+2>o)continue t;v+=i[y][m],w=!0,g=y,y--}else{v=\" \"==(v+=i[y][m]+\" \").substr(v.length-1)?v.substr(0,v.length-1):v;var N=parseInt(y),L=c(N,v,a),A=y>=i.length-1;if(L&&!A){v+=\" \",m=0;continue}if(L||A){if(A)g=N;else if(t.multiline&&(l+2)*(b+2)+2>o)continue t}else{if(!t.multiline)continue t;if((l+2)*(b+2)+2>o)continue t;g=N}}for(var x=\"\",S=p;S<=g;S++){var _=i[S];if(t.multiline){if(S===g){x+=_[m]+\" \",m=(m+1)%_.length;continue}if(S===p){x+=_[_.length-1]+\" \";continue}}x+=_[0]+\" \"}switch(x=\" \"==x.substr(x.length-1)?x.substr(0,x.length-1):x,h=et(x,t,a).width,t.textAlign){case\"right\":u=s-h-2;break;case\"center\":u=(s-h)/2;break;case\"left\":default:u=2}e+=U(u)+\" \"+U(d)+\" Td\\n\",e+=\"(\"+R(x)+\") Tj\\n\",e+=-U(u)+\" 0 Td\\n\",d=-(a+2),h=0,p=w?g:g+1,b++,v=\"\"}else;break}return n.text=e,n.fontSize=a,n},et=function(t,e,r){var n=e.scope.internal.getFont(e.fontName,e.fontStyle),i=e.scope.getStringUnitWidth(t,{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r);return{height:e.scope.getStringUnitWidth(\"3\",{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r)*1.5,width:i}},rt={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},nt=function(t,e){var r={type:\"reference\",object:t};void 0===e.internal.getPageInfo(t.page).pageContext.annotations.find((function(t){return t.type===r.type&&t.object===r.object}))&&e.internal.getPageInfo(t.page).pageContext.annotations.push(r)},it=function(e,r){for(var n in e)if(e.hasOwnProperty(n)){var i=n,a=e[n];r.internal.newObjectDeferredBegin(a.objId,!0),\"object\"===t(a)&&\"function\"==typeof a.putStream&&a.putStream(),delete e[i]}},at=function(e,r){if(r.scope=e,void 0!==e.internal&&(void 0===e.internal.acroformPlugin||!1===e.internal.acroformPlugin.isInitialized)){if(lt.FieldNum=0,e.internal.acroformPlugin=JSON.parse(JSON.stringify(rt)),e.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"Exception while creating AcroformDictionary\");D=e.internal.scaleFactor,e.internal.acroformPlugin.acroFormDictionaryRoot=new ht,e.internal.acroformPlugin.acroFormDictionaryRoot.scope=e,e.internal.acroformPlugin.acroFormDictionaryRoot._eventID=e.internal.events.subscribe(\"postPutResources\",(function(){!function(t){t.internal.events.unsubscribe(t.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete t.internal.acroformPlugin.acroFormDictionaryRoot._eventID,t.internal.acroformPlugin.printedOut=!0}(e)})),e.internal.events.subscribe(\"buildDocument\",(function(){!function(t){t.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var e=t.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var r in e)if(e.hasOwnProperty(r)){var n=e[r];n.objId=void 0,n.hasAnnotation&&nt(n,t)}}(e)})),e.internal.events.subscribe(\"putCatalog\",(function(){!function(t){if(void 0===t.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"putCatalogCallback: Root missing.\");t.internal.write(\"/AcroForm \"+t.internal.acroformPlugin.acroFormDictionaryRoot.objId+\" 0 R\")}(e)})),e.internal.events.subscribe(\"postPutPages\",(function(r){!function(e,r){var n=!e;for(var i in e||(r.internal.newObjectDeferredBegin(r.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),r.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),e=e||r.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(e.hasOwnProperty(i)){var a=e[i],o=[],s=a.Rect;if(a.Rect&&(a.Rect=$(a.Rect,r)),r.internal.newObjectDeferredBegin(a.objId,!0),a.DA=At.createDefaultAppearanceStream(a),\"object\"===t(a)&&\"function\"==typeof a.getKeyValueListForStream&&(o=a.getKeyValueListForStream()),a.Rect=s,a.hasAppearanceStream&&!a.appearanceStreamContent){var c=Q(a);o.push({key:\"AP\",value:\"<</N \"+c+\">>\"}),r.internal.acroformPlugin.xForms.push(c)}if(a.appearanceStreamContent){var u=\"\";for(var h in a.appearanceStreamContent)if(a.appearanceStreamContent.hasOwnProperty(h)){var l=a.appearanceStreamContent[h];if(u+=\"/\"+h+\" \",u+=\"<<\",Object.keys(l).length>=1||Array.isArray(l)){for(var i in l)if(l.hasOwnProperty(i)){var f=l[i];\"function\"==typeof f&&(f=f.call(r,a)),u+=\"/\"+i+\" \"+f+\" \",r.internal.acroformPlugin.xForms.indexOf(f)>=0||r.internal.acroformPlugin.xForms.push(f)}}else\"function\"==typeof(f=l)&&(f=f.call(r,a)),u+=\"/\"+i+\" \"+f,r.internal.acroformPlugin.xForms.indexOf(f)>=0||r.internal.acroformPlugin.xForms.push(f);u+=\">>\"}o.push({key:\"AP\",value:\"<<\\n\"+u+\">>\"})}r.internal.putStream({additionalKeyValues:o,objectId:a.objId}),r.internal.out(\"endobj\")}n&&it(r.internal.acroformPlugin.xForms,r)}(r,e)})),e.internal.acroformPlugin.isInitialized=!0}},ot=q.__acroform__.arrayToPdfArray=function(e,r,n){var i=function(t){return t};if(Array.isArray(e)){for(var a=\"[\",o=0;o<e.length;o++)switch(0!==o&&(a+=\" \"),t(e[o])){case\"boolean\":case\"number\":case\"object\":a+=e[o].toString();break;case\"string\":\"/\"!==e[o].substr(0,1)?(void 0!==r&&n&&(i=n.internal.getEncryptor(r)),a+=\"(\"+R(i(e[o].toString()))+\")\"):a+=e[o].toString()}return a+=\"]\"}throw new Error(\"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\")};var st=function(t,e,r){var n=function(t){return t};return void 0!==e&&r&&(n=r.internal.getEncryptor(e)),(t=t||\"\").toString(),t=\"(\"+R(n(t))+\")\"},ct=function(){this._objId=void 0,this._scope=void 0,Object.defineProperty(this,\"objId\",{get:function(){if(void 0===this._objId){if(void 0===this.scope)return;this._objId=this.scope.internal.newObjectDeferred()}return this._objId},set:function(t){this._objId=t}}),Object.defineProperty(this,\"scope\",{value:this._scope,writable:!0})};ct.prototype.toString=function(){return this.objId+\" 0 R\"},ct.prototype.putStream=function(){var t=this.getKeyValueListForStream();this.scope.internal.putStream({data:this.stream,additionalKeyValues:t,objectId:this.objId}),this.scope.internal.out(\"endobj\")},ct.prototype.getKeyValueListForStream=function(){var t=[],e=Object.getOwnPropertyNames(this).filter((function(t){return\"content\"!=t&&\"appearanceStreamContent\"!=t&&\"scope\"!=t&&\"objId\"!=t&&\"_\"!=t.substring(0,1)}));for(var r in e)if(!1===Object.getOwnPropertyDescriptor(this,e[r]).configurable){var n=e[r],i=this[n];i&&(Array.isArray(i)?t.push({key:n,value:ot(i,this.objId,this.scope)}):i instanceof ct?(i.scope=this.scope,t.push({key:n,value:i.objId+\" 0 R\"})):\"function\"!=typeof i&&t.push({key:n,value:i}))}return t};var ut=function(){ct.call(this),Object.defineProperty(this,\"Type\",{value:\"/XObject\",configurable:!1,writable:!0}),Object.defineProperty(this,\"Subtype\",{value:\"/Form\",configurable:!1,writable:!0}),Object.defineProperty(this,\"FormType\",{value:1,configurable:!1,writable:!0});var t,e=[];Object.defineProperty(this,\"BBox\",{configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"Resources\",{value:\"2 0 R\",configurable:!1,writable:!0}),Object.defineProperty(this,\"stream\",{enumerable:!1,configurable:!0,set:function(e){t=e.trim()},get:function(){return t||null}})};H(ut,ct);var ht=function(){ct.call(this);var t,e=[];Object.defineProperty(this,\"Kids\",{enumerable:!1,configurable:!0,get:function(){return e.length>0?e:void 0}}),Object.defineProperty(this,\"Fields\",{enumerable:!1,configurable:!1,get:function(){return e}}),Object.defineProperty(this,\"DA\",{enumerable:!1,configurable:!1,get:function(){if(t){var e=function(t){return t};return this.scope&&(e=this.scope.internal.getEncryptor(this.objId)),\"(\"+R(e(t))+\")\"}},set:function(e){t=e}})};H(ht,ct);var lt=function t(){ct.call(this);var e=4;Object.defineProperty(this,\"F\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){if(isNaN(t))throw new Error('Invalid value \"'+t+'\" for attribute F supplied.');e=t}}),Object.defineProperty(this,\"showWhenPrinted\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(e,3))},set:function(t){!0===Boolean(t)?this.F=K(e,3):this.F=Z(e,3)}});var r=0;Object.defineProperty(this,\"Ff\",{enumerable:!1,configurable:!1,get:function(){return r},set:function(t){if(isNaN(t))throw new Error('Invalid value \"'+t+'\" for attribute Ff supplied.');r=t}});var n=[];Object.defineProperty(this,\"Rect\",{enumerable:!1,configurable:!1,get:function(){if(0!==n.length)return n},set:function(t){n=void 0!==t?t:[]}}),Object.defineProperty(this,\"x\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[0])?0:n[0]},set:function(t){n[0]=t}}),Object.defineProperty(this,\"y\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[1])?0:n[1]},set:function(t){n[1]=t}}),Object.defineProperty(this,\"width\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[2])?0:n[2]},set:function(t){n[2]=t}}),Object.defineProperty(this,\"height\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[3])?0:n[3]},set:function(t){n[3]=t}});var i=\"\";Object.defineProperty(this,\"FT\",{enumerable:!0,configurable:!1,get:function(){return i},set:function(t){switch(t){case\"/Btn\":case\"/Tx\":case\"/Ch\":case\"/Sig\":i=t;break;default:throw new Error('Invalid value \"'+t+'\" for attribute FT supplied.')}}});var a=null;Object.defineProperty(this,\"T\",{enumerable:!0,configurable:!1,get:function(){if(!a||a.length<1){if(this instanceof yt)return;a=\"FieldObject\"+t.FieldNum++}var e=function(t){return t};return this.scope&&(e=this.scope.internal.getEncryptor(this.objId)),\"(\"+R(e(a))+\")\"},set:function(t){a=t.toString()}}),Object.defineProperty(this,\"fieldName\",{configurable:!0,enumerable:!0,get:function(){return a},set:function(t){a=t}});var o=\"helvetica\";Object.defineProperty(this,\"fontName\",{enumerable:!0,configurable:!0,get:function(){return o},set:function(t){o=t}});var s=\"normal\";Object.defineProperty(this,\"fontStyle\",{enumerable:!0,configurable:!0,get:function(){return s},set:function(t){s=t}});var c=0;Object.defineProperty(this,\"fontSize\",{enumerable:!0,configurable:!0,get:function(){return c},set:function(t){c=t}});var u=void 0;Object.defineProperty(this,\"maxFontSize\",{enumerable:!0,configurable:!0,get:function(){return void 0===u?50/D:u},set:function(t){u=t}});var h=\"black\";Object.defineProperty(this,\"color\",{enumerable:!0,configurable:!0,get:function(){return h},set:function(t){h=t}});var l=\"/F1 0 Tf 0 g\";Object.defineProperty(this,\"DA\",{enumerable:!0,configurable:!1,get:function(){if(!(!l||this instanceof yt||this instanceof Nt))return st(l,this.objId,this.scope)},set:function(t){t=t.toString(),l=t}});var f=null;Object.defineProperty(this,\"DV\",{enumerable:!1,configurable:!1,get:function(){if(f)return this instanceof mt==!1?st(f,this.objId,this.scope):f},set:function(t){t=t.toString(),f=this instanceof mt==!1?\"(\"===t.substr(0,1)?T(t.substr(1,t.length-2)):T(t):t}}),Object.defineProperty(this,\"defaultValue\",{enumerable:!0,configurable:!0,get:function(){return this instanceof mt==!0?T(f.substr(1,f.length-1)):f},set:function(t){t=t.toString(),f=this instanceof mt==!0?\"/\"+t:t}});var d=null;Object.defineProperty(this,\"_V\",{enumerable:!1,configurable:!1,get:function(){if(d)return d},set:function(t){this.V=t}}),Object.defineProperty(this,\"V\",{enumerable:!1,configurable:!1,get:function(){if(d)return this instanceof mt==!1?st(d,this.objId,this.scope):d},set:function(t){t=t.toString(),d=this instanceof mt==!1?\"(\"===t.substr(0,1)?T(t.substr(1,t.length-2)):T(t):t}}),Object.defineProperty(this,\"value\",{enumerable:!0,configurable:!0,get:function(){return this instanceof mt==!0?T(d.substr(1,d.length-1)):d},set:function(t){t=t.toString(),d=this instanceof mt==!0?\"/\"+t:t}}),Object.defineProperty(this,\"hasAnnotation\",{enumerable:!0,configurable:!0,get:function(){return this.Rect}}),Object.defineProperty(this,\"Type\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Annot\":null}}),Object.defineProperty(this,\"Subtype\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Widget\":null}});var p,g=!1;Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return g},set:function(t){t=Boolean(t),g=t}}),Object.defineProperty(this,\"page\",{enumerable:!0,configurable:!0,get:function(){if(p)return p},set:function(t){p=t}}),Object.defineProperty(this,\"readOnly\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,1))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,1):this.Ff=Z(this.Ff,1)}}),Object.defineProperty(this,\"required\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,2))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,2):this.Ff=Z(this.Ff,2)}}),Object.defineProperty(this,\"noExport\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,3))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,3):this.Ff=Z(this.Ff,3)}});var m=null;Object.defineProperty(this,\"Q\",{enumerable:!0,configurable:!1,get:function(){if(null!==m)return m},set:function(t){if(-1===[0,1,2].indexOf(t))throw new Error('Invalid value \"'+t+'\" for attribute Q supplied.');m=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){var t;switch(m){case 0:default:t=\"left\";break;case 1:t=\"center\";break;case 2:t=\"right\"}return t},configurable:!0,enumerable:!0,set:function(t){switch(t){case\"right\":case 2:m=2;break;case\"center\":case 1:m=1;break;case\"left\":case 0:default:m=0}}})};H(lt,ct);var ft=function(){lt.call(this),this.FT=\"/Ch\",this.V=\"()\",this.fontName=\"zapfdingbats\";var t=0;Object.defineProperty(this,\"TI\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"topIndex\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){t=e}});var e=[];Object.defineProperty(this,\"Opt\",{enumerable:!0,configurable:!1,get:function(){return ot(e,this.objId,this.scope)},set:function(t){var r,n;n=[],\"string\"==typeof(r=t)&&(n=function(t,e,r){r||(r=1);for(var n,i=[];n=e.exec(t);)i.push(n[r]);return i}(r,/\\((.*?)\\)/g)),e=n}}),this.getOptions=function(){return e},this.setOptions=function(t){e=t,this.sort&&e.sort()},this.addOption=function(t){t=(t=t||\"\").toString(),e.push(t),this.sort&&e.sort()},this.removeOption=function(t,r){for(r=r||!1,t=(t=t||\"\").toString();-1!==e.indexOf(t)&&(e.splice(e.indexOf(t),1),!1!==r););},Object.defineProperty(this,\"combo\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,18))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,18):this.Ff=Z(this.Ff,18)}}),Object.defineProperty(this,\"edit\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,19))},set:function(t){!0===this.combo&&(!0===Boolean(t)?this.Ff=K(this.Ff,19):this.Ff=Z(this.Ff,19))}}),Object.defineProperty(this,\"sort\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,20))},set:function(t){!0===Boolean(t)?(this.Ff=K(this.Ff,20),e.sort()):this.Ff=Z(this.Ff,20)}}),Object.defineProperty(this,\"multiSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,22))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,22):this.Ff=Z(this.Ff,22)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,23):this.Ff=Z(this.Ff,23)}}),Object.defineProperty(this,\"commitOnSelChange\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,27))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,27):this.Ff=Z(this.Ff,27)}}),this.hasAppearanceStream=!1};H(ft,lt);var dt=function(){ft.call(this),this.fontName=\"helvetica\",this.combo=!1};H(dt,ft);var pt=function(){dt.call(this),this.combo=!0};H(pt,dt);var gt=function(){pt.call(this),this.edit=!0};H(gt,pt);var mt=function(){lt.call(this),this.FT=\"/Btn\",Object.defineProperty(this,\"noToggleToOff\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,15))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,15):this.Ff=Z(this.Ff,15)}}),Object.defineProperty(this,\"radio\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,16))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,16):this.Ff=Z(this.Ff,16)}}),Object.defineProperty(this,\"pushButton\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,17))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,17):this.Ff=Z(this.Ff,17)}}),Object.defineProperty(this,\"radioIsUnison\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,26):this.Ff=Z(this.Ff,26)}});var e,r={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t=function(t){return t};if(this.scope&&(t=this.scope.internal.getEncryptor(this.objId)),0!==Object.keys(r).length){var e,n=[];for(e in n.push(\"<<\"),r)n.push(\"/\"+e+\" (\"+R(t(r[e]))+\")\");return n.push(\">>\"),n.join(\"\\n\")}},set:function(e){\"object\"===t(e)&&(r=e)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return r.CA||\"\"},set:function(t){\"string\"==typeof t&&(r.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return e.substr(1,e.length-1)},set:function(t){e=\"/\"+t}})};H(mt,lt);var vt=function(){mt.call(this),this.pushButton=!0};H(vt,mt);var bt=function(){mt.call(this),this.radio=!0,this.pushButton=!1;var t=[];Object.defineProperty(this,\"Kids\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=void 0!==e?e:[]}})};H(bt,mt);var yt=function(){var e,r;lt.call(this),Object.defineProperty(this,\"Parent\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"optionName\",{enumerable:!1,configurable:!0,get:function(){return r},set:function(t){r=t}});var n,i={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t=function(t){return t};this.scope&&(t=this.scope.internal.getEncryptor(this.objId));var e,r=[];for(e in r.push(\"<<\"),i)r.push(\"/\"+e+\" (\"+R(t(i[e]))+\")\");return r.push(\">>\"),r.join(\"\\n\")},set:function(e){\"object\"===t(e)&&(i=e)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return i.CA||\"\"},set:function(t){\"string\"==typeof t&&(i.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return n},set:function(t){n=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return n.substr(1,n.length-1)},set:function(t){n=\"/\"+t}}),this.caption=\"l\",this.appearanceState=\"Off\",this._AppearanceType=At.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(this.optionName)};H(yt,lt),bt.prototype.setAppearance=function(t){if(!(\"createAppearanceStream\"in t)||!(\"getCA\"in t))throw new Error(\"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\");for(var e in this.Kids)if(this.Kids.hasOwnProperty(e)){var r=this.Kids[e];r.appearanceStreamContent=t.createAppearanceStream(r.optionName),r.caption=t.getCA()}},bt.prototype.createOption=function(t){var e=new yt;return e.Parent=this,e.optionName=t,this.Kids.push(e),xt.call(this.scope,e),e};var wt=function(){mt.call(this),this.fontName=\"zapfdingbats\",this.caption=\"3\",this.appearanceState=\"On\",this.value=\"On\",this.textAlign=\"center\",this.appearanceStreamContent=At.CheckBox.createAppearanceStream()};H(wt,mt);var Nt=function(){lt.call(this),this.FT=\"/Tx\",Object.defineProperty(this,\"multiline\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,13):this.Ff=Z(this.Ff,13)}}),Object.defineProperty(this,\"fileSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,21):this.Ff=Z(this.Ff,21)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,23):this.Ff=Z(this.Ff,23)}}),Object.defineProperty(this,\"doNotScroll\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,24):this.Ff=Z(this.Ff,24)}}),Object.defineProperty(this,\"comb\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,25):this.Ff=Z(this.Ff,25)}}),Object.defineProperty(this,\"richText\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,26):this.Ff=Z(this.Ff,26)}});var t=null;Object.defineProperty(this,\"MaxLen\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"maxLength\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){Number.isInteger(e)&&(t=e)}}),Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};H(Nt,lt);var Lt=function(){Nt.call(this),Object.defineProperty(this,\"password\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,14):this.Ff=Z(this.Ff,14)}}),this.password=!0};H(Lt,Nt);var At={CheckBox:{createAppearanceStream:function(){return{N:{On:At.CheckBox.YesNormal},D:{On:At.CheckBox.YesPushDown,Off:At.CheckBox.OffPushDown}}},YesPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[],n=t.scope.internal.getFont(t.fontName,t.fontStyle).id,i=t.scope.__private__.encodeColorString(t.color),a=tt(t,t.caption);return r.push(\"0.749023 g\"),r.push(\"0 0 \"+U(At.internal.getWidth(t))+\" \"+U(At.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"BMC\"),r.push(\"q\"),r.push(\"0 0 1 rg\"),r.push(\"/\"+n+\" \"+U(a.fontSize)+\" Tf \"+i),r.push(\"BT\"),r.push(a.text),r.push(\"ET\"),r.push(\"Q\"),r.push(\"EMC\"),e.stream=r.join(\"\\n\"),e},YesNormal:function(t){var e=V(t);e.scope=t.scope;var r=t.scope.internal.getFont(t.fontName,t.fontStyle).id,n=t.scope.__private__.encodeColorString(t.color),i=[],a=At.internal.getHeight(t),o=At.internal.getWidth(t),s=tt(t,t.caption);return i.push(\"1 g\"),i.push(\"0 0 \"+U(o)+\" \"+U(a)+\" re\"),i.push(\"f\"),i.push(\"q\"),i.push(\"0 0 1 rg\"),i.push(\"0 0 \"+U(o-1)+\" \"+U(a-1)+\" re\"),i.push(\"W\"),i.push(\"n\"),i.push(\"0 g\"),i.push(\"BT\"),i.push(\"/\"+r+\" \"+U(s.fontSize)+\" Tf \"+n),i.push(s.text),i.push(\"ET\"),i.push(\"Q\"),e.stream=i.join(\"\\n\"),e},OffPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+U(At.internal.getWidth(t))+\" \"+U(At.internal.getHeight(t))+\" re\"),r.push(\"f\"),e.stream=r.join(\"\\n\"),e}},RadioButton:{Circle:{createAppearanceStream:function(t){var e={D:{Off:At.RadioButton.Circle.OffPushDown},N:{}};return e.N[t]=At.RadioButton.Circle.YesNormal,e.D[t]=At.RadioButton.Circle.YesPushDown,e},getCA:function(){return\"l\"},YesNormal:function(t){var e=V(t);e.scope=t.scope;var r=[],n=At.internal.getWidth(t)<=At.internal.getHeight(t)?At.internal.getWidth(t)/4:At.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=At.internal.Bezier_C,a=Number((n*i).toFixed(5));return r.push(\"q\"),r.push(\"1 0 0 1 \"+z(At.internal.getWidth(t)/2)+\" \"+z(At.internal.getHeight(t)/2)+\" cm\"),r.push(n+\" 0 m\"),r.push(n+\" \"+a+\" \"+a+\" \"+n+\" 0 \"+n+\" c\"),r.push(\"-\"+a+\" \"+n+\" -\"+n+\" \"+a+\" -\"+n+\" 0 c\"),r.push(\"-\"+n+\" -\"+a+\" -\"+a+\" -\"+n+\" 0 -\"+n+\" c\"),r.push(a+\" -\"+n+\" \"+n+\" -\"+a+\" \"+n+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},YesPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[],n=At.internal.getWidth(t)<=At.internal.getHeight(t)?At.internal.getWidth(t)/4:At.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=Number((2*n).toFixed(5)),a=Number((i*At.internal.Bezier_C).toFixed(5)),o=Number((n*At.internal.Bezier_C).toFixed(5));return r.push(\"0.749023 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+z(At.internal.getWidth(t)/2)+\" \"+z(At.internal.getHeight(t)/2)+\" cm\"),r.push(i+\" 0 m\"),r.push(i+\" \"+a+\" \"+a+\" \"+i+\" 0 \"+i+\" c\"),r.push(\"-\"+a+\" \"+i+\" -\"+i+\" \"+a+\" -\"+i+\" 0 c\"),r.push(\"-\"+i+\" -\"+a+\" -\"+a+\" -\"+i+\" 0 -\"+i+\" c\"),r.push(a+\" -\"+i+\" \"+i+\" -\"+a+\" \"+i+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),r.push(\"0 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+z(At.internal.getWidth(t)/2)+\" \"+z(At.internal.getHeight(t)/2)+\" cm\"),r.push(n+\" 0 m\"),r.push(n+\" \"+o+\" \"+o+\" \"+n+\" 0 \"+n+\" c\"),r.push(\"-\"+o+\" \"+n+\" -\"+n+\" \"+o+\" -\"+n+\" 0 c\"),r.push(\"-\"+n+\" -\"+o+\" -\"+o+\" -\"+n+\" 0 -\"+n+\" c\"),r.push(o+\" -\"+n+\" \"+n+\" -\"+o+\" \"+n+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},OffPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[],n=At.internal.getWidth(t)<=At.internal.getHeight(t)?At.internal.getWidth(t)/4:At.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=Number((2*n).toFixed(5)),a=Number((i*At.internal.Bezier_C).toFixed(5));return r.push(\"0.749023 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+z(At.internal.getWidth(t)/2)+\" \"+z(At.internal.getHeight(t)/2)+\" cm\"),r.push(i+\" 0 m\"),r.push(i+\" \"+a+\" \"+a+\" \"+i+\" 0 \"+i+\" c\"),r.push(\"-\"+a+\" \"+i+\" -\"+i+\" \"+a+\" -\"+i+\" 0 c\"),r.push(\"-\"+i+\" -\"+a+\" -\"+a+\" -\"+i+\" 0 -\"+i+\" c\"),r.push(a+\" -\"+i+\" \"+i+\" -\"+a+\" \"+i+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e}},Cross:{createAppearanceStream:function(t){var e={D:{Off:At.RadioButton.Cross.OffPushDown},N:{}};return e.N[t]=At.RadioButton.Cross.YesNormal,e.D[t]=At.RadioButton.Cross.YesPushDown,e},getCA:function(){return\"8\"},YesNormal:function(t){var e=V(t);e.scope=t.scope;var r=[],n=At.internal.calculateCross(t);return r.push(\"q\"),r.push(\"1 1 \"+U(At.internal.getWidth(t)-2)+\" \"+U(At.internal.getHeight(t)-2)+\" re\"),r.push(\"W\"),r.push(\"n\"),r.push(U(n.x1.x)+\" \"+U(n.x1.y)+\" m\"),r.push(U(n.x2.x)+\" \"+U(n.x2.y)+\" l\"),r.push(U(n.x4.x)+\" \"+U(n.x4.y)+\" m\"),r.push(U(n.x3.x)+\" \"+U(n.x3.y)+\" l\"),r.push(\"s\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},YesPushDown:function(t){var e=V(t);e.scope=t.scope;var r=At.internal.calculateCross(t),n=[];return n.push(\"0.749023 g\"),n.push(\"0 0 \"+U(At.internal.getWidth(t))+\" \"+U(At.internal.getHeight(t))+\" re\"),n.push(\"f\"),n.push(\"q\"),n.push(\"1 1 \"+U(At.internal.getWidth(t)-2)+\" \"+U(At.internal.getHeight(t)-2)+\" re\"),n.push(\"W\"),n.push(\"n\"),n.push(U(r.x1.x)+\" \"+U(r.x1.y)+\" m\"),n.push(U(r.x2.x)+\" \"+U(r.x2.y)+\" l\"),n.push(U(r.x4.x)+\" \"+U(r.x4.y)+\" m\"),n.push(U(r.x3.x)+\" \"+U(r.x3.y)+\" l\"),n.push(\"s\"),n.push(\"Q\"),e.stream=n.join(\"\\n\"),e},OffPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+U(At.internal.getWidth(t))+\" \"+U(At.internal.getHeight(t))+\" re\"),r.push(\"f\"),e.stream=r.join(\"\\n\"),e}}},createDefaultAppearanceStream:function(t){var e=t.scope.internal.getFont(t.fontName,t.fontStyle).id,r=t.scope.__private__.encodeColorString(t.color);return\"/\"+e+\" \"+t.fontSize+\" Tf \"+r}};At.internal={Bezier_C:.551915024494,calculateCross:function(t){var e=At.internal.getWidth(t),r=At.internal.getHeight(t),n=Math.min(e,r);return{x1:{x:(e-n)/2,y:(r-n)/2+n},x2:{x:(e-n)/2+n,y:(r-n)/2},x3:{x:(e-n)/2,y:(r-n)/2},x4:{x:(e-n)/2+n,y:(r-n)/2+n}}}},At.internal.getWidth=function(e){var r=0;return\"object\"===t(e)&&(r=W(e.Rect[2])),r},At.internal.getHeight=function(e){var r=0;return\"object\"===t(e)&&(r=W(e.Rect[3])),r};var xt=q.addField=function(t){if(at(this,t),!(t instanceof lt))throw new Error(\"Invalid argument passed to jsPDF.addField.\");var e;return(e=t).scope.internal.acroformPlugin.printedOut&&(e.scope.internal.acroformPlugin.printedOut=!1,e.scope.internal.acroformPlugin.acroFormDictionaryRoot=null),e.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(e),t.page=t.scope.internal.getCurrentPageInfo().pageNumber,this};q.AcroFormChoiceField=ft,q.AcroFormListBox=dt,q.AcroFormComboBox=pt,q.AcroFormEditBox=gt,q.AcroFormButton=mt,q.AcroFormPushButton=vt,q.AcroFormRadioButton=bt,q.AcroFormCheckBox=wt,q.AcroFormTextField=Nt,q.AcroFormPasswordField=Lt,q.AcroFormAppearance=At,q.AcroForm={ChoiceField:ft,ListBox:dt,ComboBox:pt,EditBox:gt,Button:mt,PushButton:vt,RadioButton:bt,CheckBox:wt,TextField:Nt,PasswordField:Lt,Appearance:At},E.AcroForm={ChoiceField:ft,ListBox:dt,ComboBox:pt,EditBox:gt,Button:mt,PushButton:vt,RadioButton:bt,CheckBox:wt,TextField:Nt,PasswordField:Lt,Appearance:At};var St=E.AcroForm;function _t(t){return t.reduce((function(t,e,r){return t[e]=r,t}),{})}!function(e){e.__addimage__={};var r=\"UNKNOWN\",n={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0],[255,216,255,219],[255,216,255,238]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],WEBP:[[82,73,70,70,void 0,void 0,void 0,void 0,87,69,66,80]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},i=e.__addimage__.getImageFileTypeByImageData=function(t,e){var i,a,o,s,c,u=r;if(\"RGBA\"===(e=e||r)||void 0!==t.data&&t.data instanceof Uint8ClampedArray&&\"height\"in t&&\"width\"in t)return\"RGBA\";if(x(t))for(c in n)for(o=n[c],i=0;i<o.length;i+=1){for(s=!0,a=0;a<o[i].length;a+=1)if(void 0!==o[i][a]&&o[i][a]!==t[a]){s=!1;break}if(!0===s){u=c;break}}else for(c in n)for(o=n[c],i=0;i<o.length;i+=1){for(s=!0,a=0;a<o[i].length;a+=1)if(void 0!==o[i][a]&&o[i][a]!==t.charCodeAt(a)){s=!1;break}if(!0===s){u=c;break}}return u===r&&e!==r&&(u=e),u},a=function t(e){for(var r=this.internal.write,n=this.internal.putStream,i=(0,this.internal.getFilters)();-1!==i.indexOf(\"FlateEncode\");)i.splice(i.indexOf(\"FlateEncode\"),1);e.objectId=this.internal.newObject();var a=[];if(a.push({key:\"Type\",value:\"/XObject\"}),a.push({key:\"Subtype\",value:\"/Image\"}),a.push({key:\"Width\",value:e.width}),a.push({key:\"Height\",value:e.height}),e.colorSpace===b.INDEXED?a.push({key:\"ColorSpace\",value:\"[/Indexed /DeviceRGB \"+(e.palette.length/3-1)+\" \"+(\"sMask\"in e&&void 0!==e.sMask?e.objectId+2:e.objectId+1)+\" 0 R]\"}):(a.push({key:\"ColorSpace\",value:\"/\"+e.colorSpace}),e.colorSpace===b.DEVICE_CMYK&&a.push({key:\"Decode\",value:\"[1 0 1 0 1 0 1 0]\"})),a.push({key:\"BitsPerComponent\",value:e.bitsPerComponent}),\"decodeParameters\"in e&&void 0!==e.decodeParameters&&a.push({key:\"DecodeParms\",value:\"<<\"+e.decodeParameters+\">>\"}),\"transparency\"in e&&Array.isArray(e.transparency)){for(var o=\"\",s=0,c=e.transparency.length;s<c;s++)o+=e.transparency[s]+\" \"+e.transparency[s]+\" \";a.push({key:\"Mask\",value:\"[\"+o+\"]\"})}void 0!==e.sMask&&a.push({key:\"SMask\",value:e.objectId+1+\" 0 R\"});var u=void 0!==e.filter?[\"/\"+e.filter]:void 0;if(n({data:e.data,additionalKeyValues:a,alreadyAppliedFilters:u,objectId:e.objectId}),r(\"endobj\"),\"sMask\"in e&&void 0!==e.sMask){var h=\"/Predictor \"+e.predictor+\" /Colors 1 /BitsPerComponent \"+e.bitsPerComponent+\" /Columns \"+e.width,l={width:e.width,height:e.height,colorSpace:\"DeviceGray\",bitsPerComponent:e.bitsPerComponent,decodeParameters:h,data:e.sMask};\"filter\"in e&&(l.filter=e.filter),t.call(this,l)}if(e.colorSpace===b.INDEXED){var f=this.internal.newObject();n({data:_(new Uint8Array(e.palette)),objectId:f}),r(\"endobj\")}},o=function(){var t=this.internal.collections.addImage_images;for(var e in t)a.call(this,t[e])},s=function(){var t,e=this.internal.collections.addImage_images,r=this.internal.write;for(var n in e)r(\"/I\"+(t=e[n]).index,t.objectId,\"0\",\"R\")},c=function(){this.internal.collections.addImage_images||(this.internal.collections.addImage_images={},this.internal.events.subscribe(\"putResources\",o),this.internal.events.subscribe(\"putXobjectDict\",s))},h=function(){var t=this.internal.collections.addImage_images;return c.call(this),t},l=function(){return Object.keys(this.internal.collections.addImage_images).length},f=function(t){return\"function\"==typeof e[\"process\"+t.toUpperCase()]},d=function(e){return\"object\"===t(e)&&1===e.nodeType},p=function(t,r){if(\"IMG\"===t.nodeName&&t.hasAttribute(\"src\")){var n=\"\"+t.getAttribute(\"src\");if(0===n.indexOf(\"data:image/\"))return u(unescape(n).split(\"base64,\").pop());var i=e.loadFile(n,!0);if(void 0!==i)return i}if(\"CANVAS\"===t.nodeName){if(0===t.width||0===t.height)throw new Error(\"Given canvas must have data. Canvas width: \"+t.width+\", height: \"+t.height);var a;switch(r){case\"PNG\":a=\"image/png\";break;case\"WEBP\":a=\"image/webp\";break;case\"JPEG\":case\"JPG\":default:a=\"image/jpeg\"}return u(t.toDataURL(a,1).split(\"base64,\").pop())}},g=function(t){var e=this.internal.collections.addImage_images;if(e)for(var r in e)if(t===e[r].alias)return e[r]},m=function(t,e,r){return t||e||(t=-96,e=-96),t<0&&(t=-1*r.width*72/t/this.internal.scaleFactor),e<0&&(e=-1*r.height*72/e/this.internal.scaleFactor),0===t&&(t=e*r.width/r.height),0===e&&(e=t*r.height/r.width),[t,e]},v=function(t,e,r,n,i,a){var o=m.call(this,r,n,i),s=this.internal.getCoordinateString,c=this.internal.getVerticalCoordinateString,u=h.call(this);if(r=o[0],n=o[1],u[i.index]=i,a){a*=Math.PI/180;var l=Math.cos(a),f=Math.sin(a),d=function(t){return t.toFixed(4)},p=[d(l),d(f),d(-1*f),d(l),0,0,\"cm\"]}this.internal.write(\"q\"),a?(this.internal.write([1,\"0\",\"0\",1,s(t),c(e+n),\"cm\"].join(\" \")),this.internal.write(p.join(\" \")),this.internal.write([s(r),\"0\",\"0\",s(n),\"0\",\"0\",\"cm\"].join(\" \"))):this.internal.write([s(r),\"0\",\"0\",s(n),s(t),c(e+n),\"cm\"].join(\" \")),this.isAdvancedAPI()&&this.internal.write([1,0,0,-1,0,0,\"cm\"].join(\" \")),this.internal.write(\"/I\"+i.index+\" Do\"),this.internal.write(\"Q\")},b=e.color_spaces={DEVICE_RGB:\"DeviceRGB\",DEVICE_GRAY:\"DeviceGray\",DEVICE_CMYK:\"DeviceCMYK\",CAL_GREY:\"CalGray\",CAL_RGB:\"CalRGB\",LAB:\"Lab\",ICC_BASED:\"ICCBased\",INDEXED:\"Indexed\",PATTERN:\"Pattern\",SEPARATION:\"Separation\",DEVICE_N:\"DeviceN\"};e.decode={DCT_DECODE:\"DCTDecode\",FLATE_DECODE:\"FlateDecode\",LZW_DECODE:\"LZWDecode\",JPX_DECODE:\"JPXDecode\",JBIG2_DECODE:\"JBIG2Decode\",ASCII85_DECODE:\"ASCII85Decode\",ASCII_HEX_DECODE:\"ASCIIHexDecode\",RUN_LENGTH_DECODE:\"RunLengthDecode\",CCITT_FAX_DECODE:\"CCITTFaxDecode\"};var y=e.image_compression={NONE:\"NONE\",FAST:\"FAST\",MEDIUM:\"MEDIUM\",SLOW:\"SLOW\"},w=e.__addimage__.sHashCode=function(t){var e,r,n=0;if(\"string\"==typeof t)for(r=t.length,e=0;e<r;e++)n=(n<<5)-n+t.charCodeAt(e),n|=0;else if(x(t))for(r=t.byteLength/2,e=0;e<r;e++)n=(n<<5)-n+t[e],n|=0;return n},N=e.__addimage__.validateStringAsBase64=function(t){(t=t||\"\").toString().trim();var e=!0;return 0===t.length&&(e=!1),t.length%4!=0&&(e=!1),!1===/^[A-Za-z0-9+/]+$/.test(t.substr(0,t.length-2))&&(e=!1),!1===/^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(t.substr(-2))&&(e=!1),e},L=e.__addimage__.extractImageFromDataUrl=function(t){var e=(t=t||\"\").split(\"base64,\"),r=null;if(2===e.length){var n=/^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(e[0]);Array.isArray(n)&&(r={mimeType:n[1],charset:n[2],data:e[1]})}return r},A=e.__addimage__.supportsArrayBuffer=function(){return\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array};e.__addimage__.isArrayBuffer=function(t){return A()&&t instanceof ArrayBuffer};var x=e.__addimage__.isArrayBufferView=function(t){return A()&&\"undefined\"!=typeof Uint32Array&&(t instanceof Int8Array||t instanceof Uint8Array||\"undefined\"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)},S=e.__addimage__.binaryStringToUint8Array=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++)r[n]=t.charCodeAt(n);return r},_=e.__addimage__.arrayBufferToBinaryString=function(t){for(var e=\"\",r=x(t)?t:new Uint8Array(t),n=0;n<r.length;n+=8192)e+=String.fromCharCode.apply(null,r.subarray(n,n+8192));return e};e.addImage=function(){var e,n,i,a,o,s,u,h,l;if(\"number\"==typeof arguments[1]?(n=r,i=arguments[1],a=arguments[2],o=arguments[3],s=arguments[4],u=arguments[5],h=arguments[6],l=arguments[7]):(n=arguments[1],i=arguments[2],a=arguments[3],o=arguments[4],s=arguments[5],u=arguments[6],h=arguments[7],l=arguments[8]),\"object\"===t(e=arguments[0])&&!d(e)&&\"imageData\"in e){var f=e;e=f.imageData,n=f.format||n||r,i=f.x||i||0,a=f.y||a||0,o=f.w||f.width||o,s=f.h||f.height||s,u=f.alias||u,h=f.compression||h,l=f.rotation||f.angle||l}var p=this.internal.getFilters();if(void 0===h&&-1!==p.indexOf(\"FlateEncode\")&&(h=\"SLOW\"),isNaN(i)||isNaN(a))throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");c.call(this);var g=P.call(this,e,n,u,h);return v.call(this,i,a,o,s,g,l),this};var P=function(t,n,a,o){var s,c,u;if(\"string\"==typeof t&&i(t)===r){t=unescape(t);var h=k(t,!1);(\"\"!==h||void 0!==(h=e.loadFile(t,!0)))&&(t=h)}if(d(t)&&(t=p(t,n)),n=i(t,n),!f(n))throw new Error(\"addImage does not support files of type '\"+n+\"', please ensure that a plugin for '\"+n+\"' support is added.\");if((null==(u=a)||0===u.length)&&(a=function(t){return\"string\"==typeof t||x(t)?w(t):x(t.data)?w(t.data):null}(t)),(s=g.call(this,a))||(A()&&(t instanceof Uint8Array||\"RGBA\"===n||(c=t,t=S(t))),s=this[\"process\"+n.toUpperCase()](t,l.call(this),a,function(t){return t&&\"string\"==typeof t&&(t=t.toUpperCase()),t in e.image_compression?t:y.NONE}(o),c)),!s)throw new Error(\"An unknown error occurred whilst processing the image.\");return s},k=e.__addimage__.convertBase64ToBinaryString=function(t,e){var r;e=\"boolean\"!=typeof e||e;var n,i=\"\";if(\"string\"==typeof t){n=null!==(r=L(t))?r.data:t;try{i=u(n)}catch(t){if(e)throw N(n)?new Error(\"atob-Error in jsPDF.convertBase64ToBinaryString \"+t.message):new Error(\"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \")}}return i};e.getImageProperties=function(t){var n,a,o=\"\";if(d(t)&&(t=p(t)),\"string\"==typeof t&&i(t)===r&&(\"\"===(o=k(t,!1))&&(o=e.loadFile(t)||\"\"),t=o),a=i(t),!f(a))throw new Error(\"addImage does not support files of type '\"+a+\"', please ensure that a plugin for '\"+a+\"' support is added.\");if(!A()||t instanceof Uint8Array||(t=S(t)),!(n=this[\"process\"+a.toUpperCase()](t)))throw new Error(\"An unknown error occurred whilst processing the image\");return n.fileType=a,n}}(E.API),\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(t){if(void 0!==t&&\"\"!=t)return!0};E.API.events.push([\"addPage\",function(t){this.internal.getPageInfo(t.pageNumber).pageContext.annotations=[]}]),t.events.push([\"putPage\",function(t){for(var r,n,i,a=this.internal.getCoordinateString,o=this.internal.getVerticalCoordinateString,s=this.internal.getPageInfoByObjId(t.objId),c=t.pageContext.annotations,u=!1,h=0;h<c.length&&!u;h++)switch((r=c[h]).type){case\"link\":(e(r.options.url)||e(r.options.pageNumber))&&(u=!0);break;case\"reference\":case\"text\":case\"freetext\":u=!0}if(0!=u){this.internal.write(\"/Annots [\");for(var l=0;l<c.length;l++){r=c[l];var f=this.internal.pdfEscape,d=this.internal.getEncryptor(t.objId);switch(r.type){case\"reference\":this.internal.write(\" \"+r.object.objId+\" 0 R \");break;case\"text\":var p=this.internal.newAdditionalObject(),g=this.internal.newAdditionalObject(),m=this.internal.getEncryptor(p.objId),v=r.title||\"Note\";i=\"<</Type /Annot /Subtype /Text \"+(n=\"/Rect [\"+a(r.bounds.x)+\" \"+o(r.bounds.y+r.bounds.h)+\" \"+a(r.bounds.x+r.bounds.w)+\" \"+o(r.bounds.y)+\"] \")+\"/Contents (\"+f(m(r.contents))+\")\",i+=\" /Popup \"+g.objId+\" 0 R\",i+=\" /P \"+s.objId+\" 0 R\",i+=\" /T (\"+f(m(v))+\") >>\",p.content=i;var b=p.objId+\" 0 R\";i=\"<</Type /Annot /Subtype /Popup \"+(n=\"/Rect [\"+a(r.bounds.x+30)+\" \"+o(r.bounds.y+r.bounds.h)+\" \"+a(r.bounds.x+r.bounds.w+30)+\" \"+o(r.bounds.y)+\"] \")+\" /Parent \"+b,r.open&&(i+=\" /Open true\"),i+=\" >>\",g.content=i,this.internal.write(p.objId,\"0 R\",g.objId,\"0 R\");break;case\"freetext\":n=\"/Rect [\"+a(r.bounds.x)+\" \"+o(r.bounds.y)+\" \"+a(r.bounds.x+r.bounds.w)+\" \"+o(r.bounds.y+r.bounds.h)+\"] \";var y=r.color||\"#000000\";i=\"<</Type /Annot /Subtype /FreeText \"+n+\"/Contents (\"+f(d(r.contents))+\")\",i+=\" /DS(font: Helvetica,sans-serif 12.0pt; text-align:left; color:#\"+y+\")\",i+=\" /Border [0 0 0]\",i+=\" >>\",this.internal.write(i);break;case\"link\":if(r.options.name){var w=this.annotations._nameMap[r.options.name];r.options.pageNumber=w.page,r.options.top=w.y}else r.options.top||(r.options.top=0);if(n=\"/Rect [\"+r.finalBounds.x+\" \"+r.finalBounds.y+\" \"+r.finalBounds.w+\" \"+r.finalBounds.h+\"] \",i=\"\",r.options.url)i=\"<</Type /Annot /Subtype /Link \"+n+\"/Border [0 0 0] /A <</S /URI /URI (\"+f(d(r.options.url))+\") >>\";else if(r.options.pageNumber){switch(i=\"<</Type /Annot /Subtype /Link \"+n+\"/Border [0 0 0] /Dest [\"+this.internal.getPageInfo(r.options.pageNumber).objId+\" 0 R\",r.options.magFactor=r.options.magFactor||\"XYZ\",r.options.magFactor){case\"Fit\":i+=\" /Fit]\";break;case\"FitH\":i+=\" /FitH \"+r.options.top+\"]\";break;case\"FitV\":r.options.left=r.options.left||0,i+=\" /FitV \"+r.options.left+\"]\";break;case\"XYZ\":default:var N=o(r.options.top);r.options.left=r.options.left||0,void 0===r.options.zoom&&(r.options.zoom=0),i+=\" /XYZ \"+r.options.left+\" \"+N+\" \"+r.options.zoom+\"]\"}}\"\"!=i&&(i+=\" >>\",this.internal.write(i))}}this.internal.write(\"]\")}}]),t.createAnnotation=function(t){var e=this.internal.getCurrentPageInfo();switch(t.type){case\"link\":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case\"text\":case\"freetext\":e.pageContext.annotations.push(t)}},t.link=function(t,e,r,n,i){var a=this.internal.getCurrentPageInfo(),o=this.internal.getCoordinateString,s=this.internal.getVerticalCoordinateString;a.pageContext.annotations.push({finalBounds:{x:o(t),y:s(e),w:o(t+r),h:s(e+n)},options:i,type:\"link\"})},t.textWithLink=function(t,e,r,n){var i,a,o=this.getTextWidth(t),s=this.internal.getLineHeight()/this.internal.scaleFactor;if(void 0!==n.maxWidth){a=n.maxWidth;var c=this.splitTextToSize(t,a).length;i=Math.ceil(s*c)}else a=o,i=s;return this.text(t,e,r,n),r+=.2*s,\"center\"===n.align&&(e-=o/2),\"right\"===n.align&&(e-=o),this.link(e,r-s,a,i,n),o},t.getTextWidth=function(t){var e=this.internal.getFontSize();return this.getStringUnitWidth(t)*e/this.internal.scaleFactor}}(E.API),\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},r={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},n={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},i=[1570,1571,1573,1575];t.__arabicParser__={};var a=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==e[t.charCodeAt(0)]},o=t.__arabicParser__.isArabicLetter=function(t){return\"string\"==typeof t&&/^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(t)},s=t.__arabicParser__.isArabicEndLetter=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length<=2},c=t.__arabicParser__.isArabicAlfLetter=function(t){return o(t)&&i.indexOf(t.charCodeAt(0))>=0};t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=1};var u=t.__arabicParser__.arabicLetterHasFinalForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=2};t.__arabicParser__.arabicLetterHasInitialForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=3};var h=t.__arabicParser__.arabicLetterHasMedialForm=function(t){return o(t)&&a(t)&&4==e[t.charCodeAt(0)].length},l=t.__arabicParser__.resolveLigatures=function(t){var e=0,n=r,i=\"\",a=0;for(e=0;e<t.length;e+=1)void 0!==n[t.charCodeAt(e)]?(a++,\"number\"==typeof(n=n[t.charCodeAt(e)])&&(i+=String.fromCharCode(n),n=r,a=0),e===t.length-1&&(n=r,i+=t.charAt(e-(a-1)),e-=a-1,a=0)):(n=r,i+=t.charAt(e-a),e-=a,a=0);return i};t.__arabicParser__.isArabicDiacritic=function(t){return void 0!==t&&void 0!==n[t.charCodeAt(0)]};var f=t.__arabicParser__.getCorrectForm=function(t,e,r){return o(t)?!1===a(t)?-1:!u(t)||!o(e)&&!o(r)||!o(r)&&s(e)||s(t)&&!o(e)||s(t)&&c(e)||s(t)&&s(e)?0:h(t)&&o(e)&&!s(e)&&o(r)&&u(r)?3:s(t)||!o(r)?1:2:-1},d=function(t){var r=0,n=0,i=0,a=\"\",s=\"\",c=\"\",u=(t=t||\"\").split(\"\\\\s+\"),h=[];for(r=0;r<u.length;r+=1){for(h.push(\"\"),n=0;n<u[r].length;n+=1)a=u[r][n],s=u[r][n-1],c=u[r][n+1],o(a)?(i=f(a,s,c),h[r]+=-1!==i?String.fromCharCode(e[a.charCodeAt(0)][i]):a):h[r]+=a;h[r]=l(h[r])}return h.join(\" \")},p=t.__arabicParser__.processArabic=t.processArabic=function(){var t,e=\"string\"==typeof arguments[0]?arguments[0]:arguments[0].text,r=[];if(Array.isArray(e)){var n=0;for(r=[],n=0;n<e.length;n+=1)Array.isArray(e[n])?r.push([d(e[n][0]),e[n][1],e[n][2]]):r.push([d(e[n])]);t=r}else t=d(e);return\"string\"==typeof arguments[0]?t:(arguments[0].text=t,arguments[0])};t.events.push([\"preProcessText\",p])}(E.API),E.API.autoPrint=function(t){var e;switch((t=t||{}).variant=t.variant||\"non-conform\",t.variant){case\"javascript\":this.addJS(\"print({});\");break;case\"non-conform\":default:this.internal.events.subscribe(\"postPutResources\",(function(){e=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /Named\"),this.internal.out(\"/Type /Action\"),this.internal.out(\"/N /Print\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.out(\"/OpenAction \"+e+\" 0 R\")}))}return this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(){var t=void 0;Object.defineProperty(this,\"pdf\",{get:function(){return t},set:function(e){t=e}});var e=150;Object.defineProperty(this,\"width\",{get:function(){return e},set:function(t){e=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext(\"2d\").pageWrapXEnabled&&(this.getContext(\"2d\").pageWrapX=e+1)}});var r=300;Object.defineProperty(this,\"height\",{get:function(){return r},set:function(t){r=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext(\"2d\").pageWrapYEnabled&&(this.getContext(\"2d\").pageWrapY=r+1)}});var n=[];Object.defineProperty(this,\"childNodes\",{get:function(){return n},set:function(t){n=t}});var i={};Object.defineProperty(this,\"style\",{get:function(){return i},set:function(t){i=t}}),Object.defineProperty(this,\"parentNode\",{})};e.prototype.getContext=function(t,e){var r;if(\"2d\"!==(t=t||\"2d\"))return null;for(r in e)this.pdf.context2d.hasOwnProperty(r)&&(this.pdf.context2d[r]=e[r]);return this.pdf.context2d._canvas=this,this.pdf.context2d},e.prototype.toDataURL=function(){throw new Error(\"toDataURL is not implemented.\")},t.events.push([\"initialized\",function(){this.canvas=new e,this.canvas.pdf=this}])}(E.API),function(e){var r={left:0,top:0,bottom:0,right:0},n=!1,i=function(){void 0===this.internal.__cell__&&(this.internal.__cell__={},this.internal.__cell__.padding=3,this.internal.__cell__.headerFunction=void 0,this.internal.__cell__.margins=Object.assign({},r),this.internal.__cell__.margins.width=this.getPageWidth(),a.call(this))},a=function(){this.internal.__cell__.lastCell=new o,this.internal.__cell__.pages=1},o=function(){var t=arguments[0];Object.defineProperty(this,\"x\",{enumerable:!0,get:function(){return t},set:function(e){t=e}});var e=arguments[1];Object.defineProperty(this,\"y\",{enumerable:!0,get:function(){return e},set:function(t){e=t}});var r=arguments[2];Object.defineProperty(this,\"width\",{enumerable:!0,get:function(){return r},set:function(t){r=t}});var n=arguments[3];Object.defineProperty(this,\"height\",{enumerable:!0,get:function(){return n},set:function(t){n=t}});var i=arguments[4];Object.defineProperty(this,\"text\",{enumerable:!0,get:function(){return i},set:function(t){i=t}});var a=arguments[5];Object.defineProperty(this,\"lineNumber\",{enumerable:!0,get:function(){return a},set:function(t){a=t}});var o=arguments[6];return Object.defineProperty(this,\"align\",{enumerable:!0,get:function(){return o},set:function(t){o=t}}),this};o.prototype.clone=function(){return new o(this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align)},o.prototype.toArray=function(){return[this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align]},e.setHeaderFunction=function(t){return i.call(this),this.internal.__cell__.headerFunction=\"function\"==typeof t?t:void 0,this},e.getTextDimensions=function(t,e){i.call(this);var r=(e=e||{}).fontSize||this.getFontSize(),n=e.font||this.getFont(),a=e.scaleFactor||this.internal.scaleFactor,o=0,s=0,c=0,u=this;if(!Array.isArray(t)&&\"string\"!=typeof t){if(\"number\"!=typeof t)throw new Error(\"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\");t=String(t)}var h=e.maxWidth;h>0?\"string\"==typeof t?t=this.splitTextToSize(t,h):\"[object Array]\"===Object.prototype.toString.call(t)&&(t=t.reduce((function(t,e){return t.concat(u.splitTextToSize(e,h))}),[])):t=Array.isArray(t)?t:[t];for(var l=0;l<t.length;l++)o<(c=this.getStringUnitWidth(t[l],{font:n})*r)&&(o=c);return 0!==o&&(s=t.length),{w:o/=a,h:Math.max((s*r*this.getLineHeightFactor()-r*(this.getLineHeightFactor()-1))/a,0)}},e.cellAddPage=function(){i.call(this),this.addPage();var t=this.internal.__cell__.margins||r;return this.internal.__cell__.lastCell=new o(t.left,t.top,void 0,void 0),this.internal.__cell__.pages+=1,this};var s=e.cell=function(){var t;t=arguments[0]instanceof o?arguments[0]:new o(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]),i.call(this);var e=this.internal.__cell__.lastCell,a=this.internal.__cell__.padding,s=this.internal.__cell__.margins||r,c=this.internal.__cell__.tableHeaderRow,u=this.internal.__cell__.printHeaders;return void 0!==e.lineNumber&&(e.lineNumber===t.lineNumber?(t.x=(e.x||0)+(e.width||0),t.y=e.y||0):e.y+e.height+t.height+s.bottom>this.getPageHeight()?(this.cellAddPage(),t.y=s.top,u&&c&&(this.printHeaderRow(t.lineNumber,!0),t.y+=c[0].height)):t.y=e.y+e.height||t.y),void 0!==t.text[0]&&(this.rect(t.x,t.y,t.width,t.height,!0===n?\"FD\":void 0),\"right\"===t.align?this.text(t.text,t.x+t.width-a,t.y+a,{align:\"right\",baseline:\"top\"}):\"center\"===t.align?this.text(t.text,t.x+t.width/2,t.y+a,{align:\"center\",baseline:\"top\",maxWidth:t.width-a-a}):this.text(t.text,t.x+a,t.y+a,{align:\"left\",baseline:\"top\",maxWidth:t.width-a-a})),this.internal.__cell__.lastCell=t,this};e.table=function(e,n,u,h,l){if(i.call(this),!u)throw new Error(\"No data for PDF table.\");var f,d,p,g,m=[],v=[],b=[],y={},w={},N=[],L=[],A=(l=l||{}).autoSize||!1,x=!1!==l.printHeaders,S=l.css&&void 0!==l.css[\"font-size\"]?16*l.css[\"font-size\"]:l.fontSize||12,_=l.margins||Object.assign({width:this.getPageWidth()},r),P=\"number\"==typeof l.padding?l.padding:3,k=l.headerBackgroundColor||\"#c8c8c8\",I=l.headerTextColor||\"#000\";if(a.call(this),this.internal.__cell__.printHeaders=x,this.internal.__cell__.margins=_,this.internal.__cell__.table_font_size=S,this.internal.__cell__.padding=P,this.internal.__cell__.headerBackgroundColor=k,this.internal.__cell__.headerTextColor=I,this.setFontSize(S),null==h)v=m=Object.keys(u[0]),b=m.map((function(){return\"left\"}));else if(Array.isArray(h)&&\"object\"===t(h[0]))for(m=h.map((function(t){return t.name})),v=h.map((function(t){return t.prompt||t.name||\"\"})),b=h.map((function(t){return t.align||\"left\"})),f=0;f<h.length;f+=1)w[h[f].name]=h[f].width*(19.049976/25.4);else Array.isArray(h)&&\"string\"==typeof h[0]&&(v=m=h,b=m.map((function(){return\"left\"})));if(A||Array.isArray(h)&&\"string\"==typeof h[0])for(f=0;f<m.length;f+=1){for(y[g=m[f]]=u.map((function(t){return t[g]})),this.setFont(void 0,\"bold\"),N.push(this.getTextDimensions(v[f],{fontSize:this.internal.__cell__.table_font_size,scaleFactor:this.internal.scaleFactor}).w),d=y[g],this.setFont(void 0,\"normal\"),p=0;p<d.length;p+=1)N.push(this.getTextDimensions(d[p],{fontSize:this.internal.__cell__.table_font_size,scaleFactor:this.internal.scaleFactor}).w);w[g]=Math.max.apply(null,N)+P+P,N=[]}if(x){var F={};for(f=0;f<m.length;f+=1)F[m[f]]={},F[m[f]].text=v[f],F[m[f]].align=b[f];var C=c.call(this,F,w);L=m.map((function(t){return new o(e,n,w[t],C,F[t].text,void 0,F[t].align)})),this.setTableHeaderRow(L),this.printHeaderRow(1,!1)}var j=h.reduce((function(t,e){return t[e.name]=e.align,t}),{});for(f=0;f<u.length;f+=1){\"rowStart\"in l&&l.rowStart instanceof Function&&l.rowStart({row:f,data:u[f]},this);var O=c.call(this,u[f],w);for(p=0;p<m.length;p+=1){var B=u[f][m[p]];\"cellStart\"in l&&l.cellStart instanceof Function&&l.cellStart({row:f,col:p,data:B},this),s.call(this,new o(e,n,w[m[p]],O,B,f+2,j[m[p]]))}}return this.internal.__cell__.table_x=e,this.internal.__cell__.table_y=n,this};var c=function(t,e){var r=this.internal.__cell__.padding,n=this.internal.__cell__.table_font_size,i=this.internal.scaleFactor;return Object.keys(t).map((function(n){var i=t[n];return this.splitTextToSize(i.hasOwnProperty(\"text\")?i.text:i,e[n]-r-r)}),this).map((function(t){return this.getLineHeightFactor()*t.length*n/i+r+r}),this).reduce((function(t,e){return Math.max(t,e)}),0)};e.setTableHeaderRow=function(t){i.call(this),this.internal.__cell__.tableHeaderRow=t},e.printHeaderRow=function(t,e){if(i.call(this),!this.internal.__cell__.tableHeaderRow)throw new Error(\"Property tableHeaderRow does not exist.\");var r;if(n=!0,\"function\"==typeof this.internal.__cell__.headerFunction){var a=this.internal.__cell__.headerFunction(this,this.internal.__cell__.pages);this.internal.__cell__.lastCell=new o(a[0],a[1],a[2],a[3],void 0,-1)}this.setFont(void 0,\"bold\");for(var c=[],u=0;u<this.internal.__cell__.tableHeaderRow.length;u+=1){r=this.internal.__cell__.tableHeaderRow[u].clone(),e&&(r.y=this.internal.__cell__.margins.top||0,c.push(r)),r.lineNumber=t;var h=this.getTextColor();this.setTextColor(this.internal.__cell__.headerTextColor),this.setFillColor(this.internal.__cell__.headerBackgroundColor),s.call(this,r),this.setTextColor(h)}c.length>0&&this.setTableHeaderRow(c),this.setFont(void 0,\"normal\"),n=!1}}(E.API);var Pt={italic:[\"italic\",\"oblique\",\"normal\"],oblique:[\"oblique\",\"italic\",\"normal\"],normal:[\"normal\",\"oblique\",\"italic\"]},kt=[\"ultra-condensed\",\"extra-condensed\",\"condensed\",\"semi-condensed\",\"normal\",\"semi-expanded\",\"expanded\",\"extra-expanded\",\"ultra-expanded\"],It=_t(kt),Ft=[100,200,300,400,500,600,700,800,900],Ct=_t(Ft);function jt(t){var e=t.family.replace(/\"|'/g,\"\").toLowerCase(),r=function(t){return Pt[t=t||\"normal\"]?t:\"normal\"}(t.style),n=function(t){if(!t)return 400;if(\"number\"==typeof t)return t>=100&&t<=900&&t%100==0?t:400;if(/^\\d00$/.test(t))return parseInt(t);switch(t){case\"bold\":return 700;case\"normal\":default:return 400}}(t.weight),i=function(t){return\"number\"==typeof It[t=t||\"normal\"]?t:\"normal\"}(t.stretch);return{family:e,style:r,weight:n,stretch:i,src:t.src||[],ref:t.ref||{name:e,style:[i,r,n].join(\" \")}}}function Ot(t,e,r,n){var i;for(i=r;i>=0&&i<e.length;i+=n)if(t[e[i]])return t[e[i]];for(i=r;i>=0&&i<e.length;i-=n)if(t[e[i]])return t[e[i]]}var Bt={\"sans-serif\":\"helvetica\",fixed:\"courier\",monospace:\"courier\",terminal:\"courier\",cursive:\"times\",fantasy:\"times\",serif:\"times\"},Mt={caption:\"times\",icon:\"times\",menu:\"times\",\"message-box\":\"times\",\"small-caption\":\"times\",\"status-bar\":\"times\"};function Et(t){return[t.stretch,t.style,t.weight,t.family].join(\" \")}function qt(t,e,r){for(var n=(r=r||{}).defaultFontFamily||\"times\",i=Object.assign({},Bt,r.genericFontFamilies||{}),a=null,o=null,s=0;s<e.length;++s)if(i[(a=jt(e[s])).family]&&(a.family=i[a.family]),t.hasOwnProperty(a.family)){o=t[a.family];break}if(!(o=o||t[n]))throw new Error(\"Could not find a font-family for the rule '\"+Et(a)+\"' and default family '\"+n+\"'.\");if(o=function(t,e){if(e[t])return e[t];var r=It[t],n=r<=It.normal?-1:1,i=Ot(e,kt,r,n);if(!i)throw new Error(\"Could not find a matching font-stretch value for \"+t);return i}(a.stretch,o),o=function(t,e){if(e[t])return e[t];for(var r=Pt[t],n=0;n<r.length;++n)if(e[r[n]])return e[r[n]];throw new Error(\"Could not find a matching font-style for \"+t)}(a.style,o),!(o=function(t,e){if(e[t])return e[t];if(400===t&&e[500])return e[500];if(500===t&&e[400])return e[400];var r=Ct[t],n=Ot(e,Ft,r,t<400?-1:1);if(!n)throw new Error(\"Could not find a matching font-weight for value \"+t);return n}(a.weight,o)))throw new Error(\"Failed to resolve a font for the rule '\"+Et(a)+\"'.\");return o}function Dt(t){return t.trimLeft()}function Rt(t,e){for(var r=0;r<t.length;){if(t.charAt(r)===e)return[t.substring(0,r),t.substring(r+1)];r+=1}return null}function Tt(t){var e=t.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);return null===e?null:[e[0],t.substring(e[0].length)]}var Ut,zt,Ht,Wt=[\"times\"];!function(e){var r,n,i,o,s,c,u,h,l,d=function(t){return t=t||{},this.isStrokeTransparent=t.isStrokeTransparent||!1,this.strokeOpacity=t.strokeOpacity||1,this.strokeStyle=t.strokeStyle||\"#000000\",this.fillStyle=t.fillStyle||\"#000000\",this.isFillTransparent=t.isFillTransparent||!1,this.fillOpacity=t.fillOpacity||1,this.font=t.font||\"10px sans-serif\",this.textBaseline=t.textBaseline||\"alphabetic\",this.textAlign=t.textAlign||\"left\",this.lineWidth=t.lineWidth||1,this.lineJoin=t.lineJoin||\"miter\",this.lineCap=t.lineCap||\"butt\",this.path=t.path||[],this.transform=void 0!==t.transform?t.transform.clone():new h,this.globalCompositeOperation=t.globalCompositeOperation||\"normal\",this.globalAlpha=t.globalAlpha||1,this.clip_path=t.clip_path||[],this.currentPoint=t.currentPoint||new c,this.miterLimit=t.miterLimit||10,this.lastPoint=t.lastPoint||new c,this.lineDashOffset=t.lineDashOffset||0,this.lineDash=t.lineDash||[],this.margin=t.margin||[0,0,0,0],this.prevPageLastElemOffset=t.prevPageLastElemOffset||0,this.ignoreClearRect=\"boolean\"!=typeof t.ignoreClearRect||t.ignoreClearRect,this};e.events.push([\"initialized\",function(){this.context2d=new p(this),r=this.internal.f2,n=this.internal.getCoordinateString,i=this.internal.getVerticalCoordinateString,o=this.internal.getHorizontalCoordinate,s=this.internal.getVerticalCoordinate,c=this.internal.Point,u=this.internal.Rectangle,h=this.internal.Matrix,l=new d}]);var p=function(t){Object.defineProperty(this,\"canvas\",{get:function(){return{parentNode:!1,style:!1}}});var e=t;Object.defineProperty(this,\"pdf\",{get:function(){return e}});var r=!1;Object.defineProperty(this,\"pageWrapXEnabled\",{get:function(){return r},set:function(t){r=Boolean(t)}});var n=!1;Object.defineProperty(this,\"pageWrapYEnabled\",{get:function(){return n},set:function(t){n=Boolean(t)}});var i=0;Object.defineProperty(this,\"posX\",{get:function(){return i},set:function(t){isNaN(t)||(i=t)}});var a=0;Object.defineProperty(this,\"posY\",{get:function(){return a},set:function(t){isNaN(t)||(a=t)}}),Object.defineProperty(this,\"margin\",{get:function(){return l.margin},set:function(t){var e;\"number\"==typeof t?e=[t,t,t,t]:((e=new Array(4))[0]=t[0],e[1]=t.length>=2?t[1]:e[0],e[2]=t.length>=3?t[2]:e[0],e[3]=t.length>=4?t[3]:e[1]),l.margin=e}});var o=!1;Object.defineProperty(this,\"autoPaging\",{get:function(){return o},set:function(t){o=t}});var s=0;Object.defineProperty(this,\"lastBreak\",{get:function(){return s},set:function(t){s=t}});var c=[];Object.defineProperty(this,\"pageBreaks\",{get:function(){return c},set:function(t){c=t}}),Object.defineProperty(this,\"ctx\",{get:function(){return l},set:function(t){t instanceof d&&(l=t)}}),Object.defineProperty(this,\"path\",{get:function(){return l.path},set:function(t){l.path=t}});var u=[];Object.defineProperty(this,\"ctxStack\",{get:function(){return u},set:function(t){u=t}}),Object.defineProperty(this,\"fillStyle\",{get:function(){return this.ctx.fillStyle},set:function(t){var e;e=g(t),this.ctx.fillStyle=e.style,this.ctx.isFillTransparent=0===e.a,this.ctx.fillOpacity=e.a,this.pdf.setFillColor(e.r,e.g,e.b,{a:e.a}),this.pdf.setTextColor(e.r,e.g,e.b,{a:e.a})}}),Object.defineProperty(this,\"strokeStyle\",{get:function(){return this.ctx.strokeStyle},set:function(t){var e=g(t);this.ctx.strokeStyle=e.style,this.ctx.isStrokeTransparent=0===e.a,this.ctx.strokeOpacity=e.a,0===e.a?this.pdf.setDrawColor(255,255,255):(e.a,this.pdf.setDrawColor(e.r,e.g,e.b))}}),Object.defineProperty(this,\"lineCap\",{get:function(){return this.ctx.lineCap},set:function(t){-1!==[\"butt\",\"round\",\"square\"].indexOf(t)&&(this.ctx.lineCap=t,this.pdf.setLineCap(t))}}),Object.defineProperty(this,\"lineWidth\",{get:function(){return this.ctx.lineWidth},set:function(t){isNaN(t)||(this.ctx.lineWidth=t,this.pdf.setLineWidth(t))}}),Object.defineProperty(this,\"lineJoin\",{get:function(){return this.ctx.lineJoin},set:function(t){-1!==[\"bevel\",\"round\",\"miter\"].indexOf(t)&&(this.ctx.lineJoin=t,this.pdf.setLineJoin(t))}}),Object.defineProperty(this,\"miterLimit\",{get:function(){return this.ctx.miterLimit},set:function(t){isNaN(t)||(this.ctx.miterLimit=t,this.pdf.setMiterLimit(t))}}),Object.defineProperty(this,\"textBaseline\",{get:function(){return this.ctx.textBaseline},set:function(t){this.ctx.textBaseline=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){return this.ctx.textAlign},set:function(t){-1!==[\"right\",\"end\",\"center\",\"left\",\"start\"].indexOf(t)&&(this.ctx.textAlign=t)}});var h=null;function f(t,e){if(null===h){var r=function(t){var e=[];return Object.keys(t).forEach((function(r){t[r].forEach((function(t){var n=null;switch(t){case\"bold\":n={family:r,weight:\"bold\"};break;case\"italic\":n={family:r,style:\"italic\"};break;case\"bolditalic\":n={family:r,weight:\"bold\",style:\"italic\"};break;case\"\":case\"normal\":n={family:r}}null!==n&&(n.ref={name:r,style:t},e.push(n))}))})),e}(t.getFontList());h=function(t){for(var e={},r=0;r<t.length;++r){var n=jt(t[r]),i=n.family,a=n.stretch,o=n.style,s=n.weight;e[i]=e[i]||{},e[i][a]=e[i][a]||{},e[i][a][o]=e[i][a][o]||{},e[i][a][o][s]=n}return e}(r.concat(e))}return h}var p=null;Object.defineProperty(this,\"fontFaces\",{get:function(){return p},set:function(t){h=null,p=t}}),Object.defineProperty(this,\"font\",{get:function(){return this.ctx.font},set:function(t){var e;if(this.ctx.font=t,null!==(e=/^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i.exec(t))){var r=e[1],n=(e[2],e[3]),i=e[4],a=(e[5],e[6]),o=/^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i.exec(i)[2];i=\"px\"===o?Math.floor(parseFloat(i)*this.pdf.internal.scaleFactor):\"em\"===o?Math.floor(parseFloat(i)*this.pdf.getFontSize()):Math.floor(parseFloat(i)*this.pdf.internal.scaleFactor),this.pdf.setFontSize(i);var s=function(t){var e,r,n=[],i=t.trim();if(\"\"===i)return Wt;if(i in Mt)return[Mt[i]];for(;\"\"!==i;){switch(r=null,e=(i=Dt(i)).charAt(0)){case'\"':case\"'\":r=Rt(i.substring(1),e);break;default:r=Tt(i)}if(null===r)return Wt;if(n.push(r[0]),\"\"!==(i=Dt(r[1]))&&\",\"!==i.charAt(0))return Wt;i=i.replace(/^,/,\"\")}return n}(a);if(this.fontFaces){var c=qt(f(this.pdf,this.fontFaces),s.map((function(t){return{family:t,stretch:\"normal\",weight:n,style:r}})));this.pdf.setFont(c.ref.name,c.ref.style)}else{var u=\"\";(\"bold\"===n||parseInt(n,10)>=700||\"bold\"===r)&&(u=\"bold\"),\"italic\"===r&&(u+=\"italic\"),0===u.length&&(u=\"normal\");for(var h=\"\",l={arial:\"Helvetica\",Arial:\"Helvetica\",verdana:\"Helvetica\",Verdana:\"Helvetica\",helvetica:\"Helvetica\",Helvetica:\"Helvetica\",\"sans-serif\":\"Helvetica\",fixed:\"Courier\",monospace:\"Courier\",terminal:\"Courier\",cursive:\"Times\",fantasy:\"Times\",serif:\"Times\"},d=0;d<s.length;d++){if(void 0!==this.pdf.internal.getFont(s[d],u,{noFallback:!0,disableWarning:!0})){h=s[d];break}if(\"bolditalic\"===u&&void 0!==this.pdf.internal.getFont(s[d],\"bold\",{noFallback:!0,disableWarning:!0}))h=s[d],u=\"bold\";else if(void 0!==this.pdf.internal.getFont(s[d],\"normal\",{noFallback:!0,disableWarning:!0})){h=s[d],u=\"normal\";break}}if(\"\"===h)for(var p=0;p<s.length;p++)if(l[s[p]]){h=l[s[p]];break}h=\"\"===h?\"Times\":h,this.pdf.setFont(h,u)}}}}),Object.defineProperty(this,\"globalCompositeOperation\",{get:function(){return this.ctx.globalCompositeOperation},set:function(t){this.ctx.globalCompositeOperation=t}}),Object.defineProperty(this,\"globalAlpha\",{get:function(){return this.ctx.globalAlpha},set:function(t){this.ctx.globalAlpha=t}}),Object.defineProperty(this,\"lineDashOffset\",{get:function(){return this.ctx.lineDashOffset},set:function(t){this.ctx.lineDashOffset=t,T.call(this)}}),Object.defineProperty(this,\"lineDash\",{get:function(){return this.ctx.lineDash},set:function(t){this.ctx.lineDash=t,T.call(this)}}),Object.defineProperty(this,\"ignoreClearRect\",{get:function(){return this.ctx.ignoreClearRect},set:function(t){this.ctx.ignoreClearRect=Boolean(t)}})};p.prototype.setLineDash=function(t){this.lineDash=t},p.prototype.getLineDash=function(){return this.lineDash.length%2?this.lineDash.concat(this.lineDash):this.lineDash.slice()},p.prototype.fill=function(){A.call(this,\"fill\",!1)},p.prototype.stroke=function(){A.call(this,\"stroke\",!1)},p.prototype.beginPath=function(){this.path=[{type:\"begin\"}]},p.prototype.moveTo=function(t,e){if(isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.moveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");var r=this.ctx.transform.applyToPoint(new c(t,e));this.path.push({type:\"mt\",x:r.x,y:r.y}),this.ctx.lastPoint=new c(t,e)},p.prototype.closePath=function(){var e=new c(0,0),r=0;for(r=this.path.length-1;-1!==r;r--)if(\"begin\"===this.path[r].type&&\"object\"===t(this.path[r+1])&&\"number\"==typeof this.path[r+1].x){e=new c(this.path[r+1].x,this.path[r+1].y);break}this.path.push({type:\"close\"}),this.ctx.lastPoint=new c(e.x,e.y)},p.prototype.lineTo=function(t,e){if(isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.lineTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");var r=this.ctx.transform.applyToPoint(new c(t,e));this.path.push({type:\"lt\",x:r.x,y:r.y}),this.ctx.lastPoint=new c(r.x,r.y)},p.prototype.clip=function(){this.ctx.clip_path=JSON.parse(JSON.stringify(this.path)),A.call(this,null,!0)},p.prototype.quadraticCurveTo=function(t,e,r,n){if(isNaN(r)||isNaN(n)||isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\");var i=this.ctx.transform.applyToPoint(new c(r,n)),o=this.ctx.transform.applyToPoint(new c(t,e));this.path.push({type:\"qct\",x1:o.x,y1:o.y,x:i.x,y:i.y}),this.ctx.lastPoint=new c(i.x,i.y)},p.prototype.bezierCurveTo=function(t,e,r,n,i,o){if(isNaN(i)||isNaN(o)||isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.bezierCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\");var s=this.ctx.transform.applyToPoint(new c(i,o)),u=this.ctx.transform.applyToPoint(new c(t,e)),h=this.ctx.transform.applyToPoint(new c(r,n));this.path.push({type:\"bct\",x1:u.x,y1:u.y,x2:h.x,y2:h.y,x:s.x,y:s.y}),this.ctx.lastPoint=new c(s.x,s.y)},p.prototype.arc=function(t,e,r,n,i,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i))throw a.error(\"jsPDF.context2d.arc: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");if(o=Boolean(o),!this.ctx.transform.isIdentity){var s=this.ctx.transform.applyToPoint(new c(t,e));t=s.x,e=s.y;var u=this.ctx.transform.applyToPoint(new c(0,r)),h=this.ctx.transform.applyToPoint(new c(0,0));r=Math.sqrt(Math.pow(u.x-h.x,2)+Math.pow(u.y-h.y,2))}Math.abs(i-n)>=2*Math.PI&&(n=0,i=2*Math.PI),this.path.push({type:\"arc\",x:t,y:e,radius:r,startAngle:n,endAngle:i,counterclockwise:o})},p.prototype.arcTo=function(t,e,r,n,i){throw new Error(\"arcTo not implemented.\")},p.prototype.rect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.rect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");this.moveTo(t,e),this.lineTo(t+r,e),this.lineTo(t+r,e+n),this.lineTo(t,e+n),this.lineTo(t,e),this.lineTo(t+r,e),this.lineTo(t,e)},p.prototype.fillRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.fillRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");if(!m.call(this)){var i={};\"butt\"!==this.lineCap&&(i.lineCap=this.lineCap,this.lineCap=\"butt\"),\"miter\"!==this.lineJoin&&(i.lineJoin=this.lineJoin,this.lineJoin=\"miter\"),this.beginPath(),this.rect(t,e,r,n),this.fill(),i.hasOwnProperty(\"lineCap\")&&(this.lineCap=i.lineCap),i.hasOwnProperty(\"lineJoin\")&&(this.lineJoin=i.lineJoin)}},p.prototype.strokeRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.strokeRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");v.call(this)||(this.beginPath(),this.rect(t,e,r,n),this.stroke())},p.prototype.clearRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.clearRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");this.ignoreClearRect||(this.fillStyle=\"#ffffff\",this.fillRect(t,e,r,n))},p.prototype.save=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,r=0;r<this.pdf.internal.getNumberOfPages();r++)this.pdf.setPage(r+1),this.pdf.internal.out(\"q\");if(this.pdf.setPage(e),t){this.ctx.fontSize=this.pdf.internal.getFontSize();var n=new d(this.ctx);this.ctxStack.push(this.ctx),this.ctx=n}},p.prototype.restore=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,r=0;r<this.pdf.internal.getNumberOfPages();r++)this.pdf.setPage(r+1),this.pdf.internal.out(\"Q\");this.pdf.setPage(e),t&&0!==this.ctxStack.length&&(this.ctx=this.ctxStack.pop(),this.fillStyle=this.ctx.fillStyle,this.strokeStyle=this.ctx.strokeStyle,this.font=this.ctx.font,this.lineCap=this.ctx.lineCap,this.lineWidth=this.ctx.lineWidth,this.lineJoin=this.ctx.lineJoin,this.lineDash=this.ctx.lineDash,this.lineDashOffset=this.ctx.lineDashOffset)},p.prototype.toDataURL=function(){throw new Error(\"toDataUrl not implemented.\")};var g=function(t){var e,r,n,i;if(!0===t.isCanvasGradient&&(t=t.getColor()),!t)return{r:0,g:0,b:0,a:0,style:t};if(/transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/.test(t))e=0,r=0,n=0,i=0;else{var a=/rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/.exec(t);if(null!==a)e=parseInt(a[1]),r=parseInt(a[2]),n=parseInt(a[3]),i=1;else if(null!==(a=/rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/.exec(t)))e=parseInt(a[1]),r=parseInt(a[2]),n=parseInt(a[3]),i=parseFloat(a[4]);else{if(i=1,\"string\"==typeof t&&\"#\"!==t.charAt(0)){var o=new f(t);t=o.ok?o.toHex():\"#000000\"}4===t.length?(e=t.substring(1,2),e+=e,r=t.substring(2,3),r+=r,n=t.substring(3,4),n+=n):(e=t.substring(1,3),r=t.substring(3,5),n=t.substring(5,7)),e=parseInt(e,16),r=parseInt(r,16),n=parseInt(n,16)}}return{r:e,g:r,b:n,a:i,style:t}},m=function(){return this.ctx.isFillTransparent||0==this.globalAlpha},v=function(){return Boolean(this.ctx.isStrokeTransparent||0==this.globalAlpha)};p.prototype.fillText=function(t,e,r,n){if(isNaN(e)||isNaN(r)||\"string\"!=typeof t)throw a.error(\"jsPDF.context2d.fillText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");if(n=isNaN(n)?void 0:n,!m.call(this)){var i=q(this.ctx.transform.rotation),o=this.ctx.transform.scaleX;C.call(this,{text:t,x:e,y:r,scale:o,angle:i,align:this.textAlign,maxWidth:n})}},p.prototype.strokeText=function(t,e,r,n){if(isNaN(e)||isNaN(r)||\"string\"!=typeof t)throw a.error(\"jsPDF.context2d.strokeText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");if(!v.call(this)){n=isNaN(n)?void 0:n;var i=q(this.ctx.transform.rotation),o=this.ctx.transform.scaleX;C.call(this,{text:t,x:e,y:r,scale:o,renderingMode:\"stroke\",angle:i,align:this.textAlign,maxWidth:n})}},p.prototype.measureText=function(t){if(\"string\"!=typeof t)throw a.error(\"jsPDF.context2d.measureText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.measureText\");var e=this.pdf,r=this.pdf.internal.scaleFactor,n=e.internal.getFontSize(),i=e.getStringUnitWidth(t)*n/e.internal.scaleFactor,o=function(t){var e=(t=t||{}).width||0;return Object.defineProperty(this,\"width\",{get:function(){return e}}),this};return new o({width:i*=Math.round(96*r/72*1e4)/1e4})},p.prototype.scale=function(t,e){if(isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.scale: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");var r=new h(t,0,0,e,0,0);this.ctx.transform=this.ctx.transform.multiply(r)},p.prototype.rotate=function(t){if(isNaN(t))throw a.error(\"jsPDF.context2d.rotate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");var e=new h(Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0);this.ctx.transform=this.ctx.transform.multiply(e)},p.prototype.translate=function(t,e){if(isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.translate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");var r=new h(1,0,0,1,t,e);this.ctx.transform=this.ctx.transform.multiply(r)},p.prototype.transform=function(t,e,r,n,i,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(o))throw a.error(\"jsPDF.context2d.transform: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");var s=new h(t,e,r,n,i,o);this.ctx.transform=this.ctx.transform.multiply(s)},p.prototype.setTransform=function(t,e,r,n,i,a){t=isNaN(t)?1:t,e=isNaN(e)?0:e,r=isNaN(r)?0:r,n=isNaN(n)?1:n,i=isNaN(i)?0:i,a=isNaN(a)?0:a,this.ctx.transform=new h(t,e,r,n,i,a)};var b=function(){return this.margin[0]>0||this.margin[1]>0||this.margin[2]>0||this.margin[3]>0};p.prototype.drawImage=function(t,e,r,n,i,a,o,s,c){var l=this.pdf.getImageProperties(t),f=1,d=1,p=1,g=1;void 0!==n&&void 0!==s&&(p=s/n,g=c/i,f=l.width/n*s/n,d=l.height/i*c/i),void 0===a&&(a=e,o=r,e=0,r=0),void 0!==n&&void 0===s&&(s=n,c=i),void 0===n&&void 0===s&&(s=l.width,c=l.height);for(var m,v=this.ctx.transform.decompose(),w=q(v.rotate.shx),A=new h,S=(A=(A=(A=A.multiply(v.translate)).multiply(v.skew)).multiply(v.scale)).applyToRectangle(new u(a-e*p,o-r*g,n*f,i*d)),_=y.call(this,S),P=[],k=0;k<_.length;k+=1)-1===P.indexOf(_[k])&&P.push(_[k]);if(L(P),this.autoPaging)for(var I=P[0],F=P[P.length-1],C=I;C<F+1;C++){this.pdf.setPage(C);var j=this.pdf.internal.pageSize.width-this.margin[3]-this.margin[1],O=1===C?this.posY+this.margin[0]:this.margin[0],B=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],M=this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2],E=1===C?0:B+(C-2)*M;if(0!==this.ctx.clip_path.length){var D=this.path;m=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=N(m,this.posX+this.margin[3],-E+O+this.ctx.prevPageLastElemOffset),x.call(this,\"fill\",!0),this.path=D}var R=JSON.parse(JSON.stringify(S));R=N([R],this.posX+this.margin[3],-E+O+this.ctx.prevPageLastElemOffset)[0];var T=(C>I||C<F)&&b.call(this);T&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],j,M,null).clip().discardPath()),this.pdf.addImage(t,\"JPEG\",R.x,R.y,R.w,R.h,null,null,w),T&&this.pdf.restoreGraphicsState()}else this.pdf.addImage(t,\"JPEG\",S.x,S.y,S.w,S.h,null,null,w)};var y=function(t,e,r){var n=[];e=e||this.pdf.internal.pageSize.width,r=r||this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2];var i=this.posY+this.ctx.prevPageLastElemOffset;switch(t.type){default:case\"mt\":case\"lt\":n.push(Math.floor((t.y+i)/r)+1);break;case\"arc\":n.push(Math.floor((t.y+i-t.radius)/r)+1),n.push(Math.floor((t.y+i+t.radius)/r)+1);break;case\"qct\":var a=D(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x,t.y);n.push(Math.floor((a.y+i)/r)+1),n.push(Math.floor((a.y+a.h+i)/r)+1);break;case\"bct\":var o=R(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x2,t.y2,t.x,t.y);n.push(Math.floor((o.y+i)/r)+1),n.push(Math.floor((o.y+o.h+i)/r)+1);break;case\"rect\":n.push(Math.floor((t.y+i)/r)+1),n.push(Math.floor((t.y+t.h+i)/r)+1)}for(var s=0;s<n.length;s+=1)for(;this.pdf.internal.getNumberOfPages()<n[s];)w.call(this);return n},w=function(){var t=this.fillStyle,e=this.strokeStyle,r=this.font,n=this.lineCap,i=this.lineWidth,a=this.lineJoin;this.pdf.addPage(),this.fillStyle=t,this.strokeStyle=e,this.font=r,this.lineCap=n,this.lineWidth=i,this.lineJoin=a},N=function(t,e,r){for(var n=0;n<t.length;n++)switch(t[n].type){case\"bct\":t[n].x2+=e,t[n].y2+=r;case\"qct\":t[n].x1+=e,t[n].y1+=r;case\"mt\":case\"lt\":case\"arc\":default:t[n].x+=e,t[n].y+=r}return t},L=function(t){return t.sort((function(t,e){return t-e}))},A=function(t,e){for(var r,n,i=this.fillStyle,a=this.strokeStyle,o=this.lineCap,s=this.lineWidth,c=Math.abs(s*this.ctx.transform.scaleX),u=this.lineJoin,h=JSON.parse(JSON.stringify(this.path)),l=JSON.parse(JSON.stringify(this.path)),f=[],d=0;d<l.length;d++)if(void 0!==l[d].x)for(var p=y.call(this,l[d]),g=0;g<p.length;g+=1)-1===f.indexOf(p[g])&&f.push(p[g]);for(var m=0;m<f.length;m++)for(;this.pdf.internal.getNumberOfPages()<f[m];)w.call(this);if(L(f),this.autoPaging)for(var v=f[0],A=f[f.length-1],S=v;S<A+1;S++){this.pdf.setPage(S),this.fillStyle=i,this.strokeStyle=a,this.lineCap=o,this.lineWidth=c,this.lineJoin=u;var _=this.pdf.internal.pageSize.width-this.margin[3]-this.margin[1],P=1===S?this.posY+this.margin[0]:this.margin[0],k=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],I=this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2],F=1===S?0:k+(S-2)*I;if(0!==this.ctx.clip_path.length){var C=this.path;r=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=N(r,this.posX+this.margin[3],-F+P+this.ctx.prevPageLastElemOffset),x.call(this,t,!0),this.path=C}if(n=JSON.parse(JSON.stringify(h)),this.path=N(n,this.posX+this.margin[3],-F+P+this.ctx.prevPageLastElemOffset),!1===e||0===S){var j=(S>v||S<A)&&b.call(this);j&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],_,I,null).clip().discardPath()),x.call(this,t,e),j&&this.pdf.restoreGraphicsState()}this.lineWidth=s}else this.lineWidth=c,x.call(this,t,e),this.lineWidth=s;this.path=h},x=function(t,e){if((\"stroke\"!==t||e||!v.call(this))&&(\"stroke\"===t||e||!m.call(this))){for(var r,n,i=[],a=this.path,o=0;o<a.length;o++){var s=a[o];switch(s.type){case\"begin\":i.push({begin:!0});break;case\"close\":i.push({close:!0});break;case\"mt\":i.push({start:s,deltas:[],abs:[]});break;case\"lt\":var c=i.length;if(a[o-1]&&!isNaN(a[o-1].x)&&(r=[s.x-a[o-1].x,s.y-a[o-1].y],c>0))for(;c>=0;c--)if(!0!==i[c-1].close&&!0!==i[c-1].begin){i[c-1].deltas.push(r),i[c-1].abs.push(s);break}break;case\"bct\":r=[s.x1-a[o-1].x,s.y1-a[o-1].y,s.x2-a[o-1].x,s.y2-a[o-1].y,s.x-a[o-1].x,s.y-a[o-1].y],i[i.length-1].deltas.push(r);break;case\"qct\":var u=a[o-1].x+2/3*(s.x1-a[o-1].x),h=a[o-1].y+2/3*(s.y1-a[o-1].y),l=s.x+2/3*(s.x1-s.x),f=s.y+2/3*(s.y1-s.y),d=s.x,p=s.y;r=[u-a[o-1].x,h-a[o-1].y,l-a[o-1].x,f-a[o-1].y,d-a[o-1].x,p-a[o-1].y],i[i.length-1].deltas.push(r);break;case\"arc\":i.push({deltas:[],abs:[],arc:!0}),Array.isArray(i[i.length-1].abs)&&i[i.length-1].abs.push(s)}}n=e?null:\"stroke\"===t?\"stroke\":\"fill\";for(var g=!1,b=0;b<i.length;b++)if(i[b].arc)for(var y=i[b].abs,w=0;w<y.length;w++){var N=y[w];\"arc\"===N.type?P.call(this,N.x,N.y,N.radius,N.startAngle,N.endAngle,N.counterclockwise,void 0,e,!g):j.call(this,N.x,N.y),g=!0}else if(!0===i[b].close)this.pdf.internal.out(\"h\"),g=!1;else if(!0!==i[b].begin){var L=i[b].start.x,A=i[b].start.y;O.call(this,i[b].deltas,L,A),g=!0}n&&k.call(this,n),e&&I.call(this)}},S=function(t){var e=this.pdf.internal.getFontSize()/this.pdf.internal.scaleFactor,r=e*(this.pdf.internal.getLineHeightFactor()-1);switch(this.ctx.textBaseline){case\"bottom\":return t-r;case\"top\":return t+e-r;case\"hanging\":return t+e-2*r;case\"middle\":return t+e/2-r;case\"ideographic\":return t;case\"alphabetic\":default:return t}},_=function(t){return t+this.pdf.internal.getFontSize()/this.pdf.internal.scaleFactor*(this.pdf.internal.getLineHeightFactor()-1)};p.prototype.createLinearGradient=function(){var t=function(){};return t.colorStops=[],t.addColorStop=function(t,e){this.colorStops.push([t,e])},t.getColor=function(){return 0===this.colorStops.length?\"#000000\":this.colorStops[0][1]},t.isCanvasGradient=!0,t},p.prototype.createPattern=function(){return this.createLinearGradient()},p.prototype.createRadialGradient=function(){return this.createLinearGradient()};var P=function(t,e,r,n,i,a,o,s,c){for(var u=M.call(this,r,n,i,a),h=0;h<u.length;h++){var l=u[h];0===h&&(c?F.call(this,l.x1+t,l.y1+e):j.call(this,l.x1+t,l.y1+e)),B.call(this,t,e,l.x2,l.y2,l.x3,l.y3,l.x4,l.y4)}s?I.call(this):k.call(this,o)},k=function(t){switch(t){case\"stroke\":this.pdf.internal.out(\"S\");break;case\"fill\":this.pdf.internal.out(\"f\")}},I=function(){this.pdf.clip(),this.pdf.discardPath()},F=function(t,e){this.pdf.internal.out(n(t)+\" \"+i(e)+\" m\")},C=function(t){var e;switch(t.align){case\"right\":case\"end\":e=\"right\";break;case\"center\":e=\"center\";break;case\"left\":case\"start\":default:e=\"left\"}var r=this.pdf.getTextDimensions(t.text),n=S.call(this,t.y),i=_.call(this,n)-r.h,a=this.ctx.transform.applyToPoint(new c(t.x,n)),o=this.ctx.transform.decompose(),s=new h;s=(s=(s=s.multiply(o.translate)).multiply(o.skew)).multiply(o.scale);for(var l,f,d,p=this.ctx.transform.applyToRectangle(new u(t.x,n,r.w,r.h)),g=s.applyToRectangle(new u(t.x,i,r.w,r.h)),m=y.call(this,g),v=[],w=0;w<m.length;w+=1)-1===v.indexOf(m[w])&&v.push(m[w]);if(L(v),this.autoPaging)for(var A=v[0],P=v[v.length-1],k=A;k<P+1;k++){this.pdf.setPage(k);var I=1===k?this.posY+this.margin[0]:this.margin[0],F=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],C=this.pdf.internal.pageSize.height-this.margin[2],j=C-this.margin[0],O=this.pdf.internal.pageSize.width-this.margin[1],B=O-this.margin[3],M=1===k?0:F+(k-2)*j;if(0!==this.ctx.clip_path.length){var E=this.path;l=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=N(l,this.posX+this.margin[3],-1*M+I),x.call(this,\"fill\",!0),this.path=E}var q=N([JSON.parse(JSON.stringify(g))],this.posX+this.margin[3],-M+I+this.ctx.prevPageLastElemOffset)[0];t.scale>=.01&&(f=this.pdf.internal.getFontSize(),this.pdf.setFontSize(f*t.scale),d=this.lineWidth,this.lineWidth=d*t.scale);var D=\"text\"!==this.autoPaging;if(D||q.y+q.h<=C){if(D||q.y>=I&&q.x<=O){var R=D?t.text:this.pdf.splitTextToSize(t.text,t.maxWidth||O-q.x)[0],T=N([JSON.parse(JSON.stringify(p))],this.posX+this.margin[3],-M+I+this.ctx.prevPageLastElemOffset)[0],U=D&&(k>A||k<P)&&b.call(this);U&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],B,j,null).clip().discardPath()),this.pdf.text(R,T.x,T.y,{angle:t.angle,align:e,renderingMode:t.renderingMode}),U&&this.pdf.restoreGraphicsState()}}else q.y<C&&(this.ctx.prevPageLastElemOffset+=C-q.y);t.scale>=.01&&(this.pdf.setFontSize(f),this.lineWidth=d)}else t.scale>=.01&&(f=this.pdf.internal.getFontSize(),this.pdf.setFontSize(f*t.scale),d=this.lineWidth,this.lineWidth=d*t.scale),this.pdf.text(t.text,a.x+this.posX,a.y+this.posY,{angle:t.angle,align:e,renderingMode:t.renderingMode,maxWidth:t.maxWidth}),t.scale>=.01&&(this.pdf.setFontSize(f),this.lineWidth=d)},j=function(t,e,r,a){r=r||0,a=a||0,this.pdf.internal.out(n(t+r)+\" \"+i(e+a)+\" l\")},O=function(t,e,r){return this.pdf.lines(t,e,r,null,null)},B=function(t,e,n,i,a,c,u,h){this.pdf.internal.out([r(o(n+t)),r(s(i+e)),r(o(a+t)),r(s(c+e)),r(o(u+t)),r(s(h+e)),\"c\"].join(\" \"))},M=function(t,e,r,n){for(var i=2*Math.PI,a=Math.PI/2;e>r;)e-=i;var o=Math.abs(r-e);o<i&&n&&(o=i-o);for(var s=[],c=n?-1:1,u=e;o>1e-5;){var h=u+c*Math.min(o,a);s.push(E.call(this,t,u,h)),o-=Math.abs(h-u),u=h}return s},E=function(t,e,r){var n=(r-e)/2,i=t*Math.cos(n),a=t*Math.sin(n),o=i,s=-a,c=o*o+s*s,u=c+o*i+s*a,h=4/3*(Math.sqrt(2*c*u)-u)/(o*a-s*i),l=o-h*s,f=s+h*o,d=l,p=-f,g=n+e,m=Math.cos(g),v=Math.sin(g);return{x1:t*Math.cos(e),y1:t*Math.sin(e),x2:l*m-f*v,y2:l*v+f*m,x3:d*m-p*v,y3:d*v+p*m,x4:t*Math.cos(r),y4:t*Math.sin(r)}},q=function(t){return 180*t/Math.PI},D=function(t,e,r,n,i,a){var o=t+.5*(r-t),s=e+.5*(n-e),c=i+.5*(r-i),h=a+.5*(n-a),l=Math.min(t,i,o,c),f=Math.max(t,i,o,c),d=Math.min(e,a,s,h),p=Math.max(e,a,s,h);return new u(l,d,f-l,p-d)},R=function(t,e,r,n,i,a,o,s){var c,h,l,f,d,p,g,m,v,b,y,w,N,L,A=r-t,x=n-e,S=i-r,_=a-n,P=o-i,k=s-a;for(h=0;h<41;h++)v=(g=(l=t+(c=h/40)*A)+c*((d=r+c*S)-l))+c*(d+c*(i+c*P-d)-g),b=(m=(f=e+c*x)+c*((p=n+c*_)-f))+c*(p+c*(a+c*k-p)-m),0==h?(y=v,w=b,N=v,L=b):(y=Math.min(y,v),w=Math.min(w,b),N=Math.max(N,v),L=Math.max(L,b));return new u(Math.round(y),Math.round(w),Math.round(N-y),Math.round(L-w))},T=function(){if(this.prevLineDash||this.ctx.lineDash.length||this.ctx.lineDashOffset){var t,e,r=(t=this.ctx.lineDash,e=this.ctx.lineDashOffset,JSON.stringify({lineDash:t,lineDashOffset:e}));this.prevLineDash!==r&&(this.pdf.setLineDash(this.ctx.lineDash,this.ctx.lineDashOffset),this.prevLineDash=r)}}}(E.API),\n/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var r=function(t){var e,r,n,i,a,o,s,c,u,h;for(/[^\\x00-\\xFF]/.test(t),r=[],n=0,i=(t+=e=\"\\0\\0\\0\\0\".slice(t.length%4||4)).length;i>n;n+=4)0!==(a=(t.charCodeAt(n)<<24)+(t.charCodeAt(n+1)<<16)+(t.charCodeAt(n+2)<<8)+t.charCodeAt(n+3))?(o=(a=((a=((a=((a=(a-(h=a%85))/85)-(u=a%85))/85)-(c=a%85))/85)-(s=a%85))/85)%85,r.push(o+33,s+33,c+33,u+33,h+33)):r.push(122);return function(t,e){for(var r=e;r>0;r--)t.pop()}(r,e.length),String.fromCharCode.apply(String,r)+\"~>\"},n=function(t){var e,r,n,i,a,o=String,s=\"length\",c=255,u=\"charCodeAt\",h=\"slice\",l=\"replace\";for(t[h](-2),t=t[h](0,-2)[l](/\\s/g,\"\")[l](\"z\",\"!!!!!\"),n=[],i=0,a=(t+=e=\"uuuuu\"[h](t[s]%5||5))[s];a>i;i+=5)r=52200625*(t[u](i)-33)+614125*(t[u](i+1)-33)+7225*(t[u](i+2)-33)+85*(t[u](i+3)-33)+(t[u](i+4)-33),n.push(c&r>>24,c&r>>16,c&r>>8,c&r);return function(t,e){for(var r=e;r>0;r--)t.pop()}(n,e[s]),o.fromCharCode.apply(o,n)},i=function(t){var e=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\\s/g,\"\")).indexOf(\">\")&&(t=t.substr(0,t.indexOf(\">\"))),t.length%2&&(t+=\"0\"),!1===e.test(t))return\"\";for(var r=\"\",n=0;n<t.length;n+=2)r+=String.fromCharCode(\"0x\"+(t[n]+t[n+1]));return r},a=function(t){for(var r=new Uint8Array(t.length),n=t.length;n--;)r[n]=t.charCodeAt(n);return t=(r=e(r)).reduce((function(t,e){return t+String.fromCharCode(e)}),\"\")};t.processDataByFilters=function(t,e){var o=0,s=t||\"\",c=[];for(\"string\"==typeof(e=e||[])&&(e=[e]),o=0;o<e.length;o+=1)switch(e[o]){case\"ASCII85Decode\":case\"/ASCII85Decode\":s=n(s),c.push(\"/ASCII85Encode\");break;case\"ASCII85Encode\":case\"/ASCII85Encode\":s=r(s),c.push(\"/ASCII85Decode\");break;case\"ASCIIHexDecode\":case\"/ASCIIHexDecode\":s=i(s),c.push(\"/ASCIIHexEncode\");break;case\"ASCIIHexEncode\":case\"/ASCIIHexEncode\":s=s.split(\"\").map((function(t){return(\"0\"+t.charCodeAt().toString(16)).slice(-2)})).join(\"\")+\">\",c.push(\"/ASCIIHexDecode\");break;case\"FlateEncode\":case\"/FlateEncode\":s=a(s),c.push(\"/FlateDecode\");break;default:throw new Error('The filter: \"'+e[o]+'\" is not implemented')}return{data:s,reverseChain:c.reverse().join(\" \")}}}(E.API),\n/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.loadFile=function(t,e,r){return function(t,e,r){e=!1!==e,r=\"function\"==typeof r?r:function(){};var n=void 0;try{n=function(t,e,r){var n=new XMLHttpRequest,i=0,a=function(t){var e=t.length,r=[],n=String.fromCharCode;for(i=0;i<e;i+=1)r.push(n(255&t.charCodeAt(i)));return r.join(\"\")};if(n.open(\"GET\",t,!e),n.overrideMimeType(\"text/plain; charset=x-user-defined\"),!1===e&&(n.onload=function(){200===n.status?r(a(this.responseText)):r(void 0)}),n.send(null),e&&200===n.status)return a(n.responseText)}(t,e,r)}catch(t){}return n}(t,e,r)},t.loadImageFile=t.loadFile}(E.API),function(e){function r(){return(n.html2canvas?Promise.resolve(n.html2canvas):import(\"html2canvas\")).catch((function(t){return Promise.reject(new Error(\"Could not load html2canvas: \"+t))})).then((function(t){return t.default?t.default:t}))}function i(){return(n.DOMPurify?Promise.resolve(n.DOMPurify):import(\"dompurify\")).catch((function(t){return Promise.reject(new Error(\"Could not load dompurify: \"+t))})).then((function(t){return t.default?t.default:t}))}var a=function(e){var r=t(e);return\"undefined\"===r?\"undefined\":\"string\"===r||e instanceof String?\"string\":\"number\"===r||e instanceof Number?\"number\":\"function\"===r||e instanceof Function?\"function\":e&&e.constructor===Array?\"array\":e&&1===e.nodeType?\"element\":\"object\"===r?\"object\":\"unknown\"},o=function(t,e){var r=document.createElement(t);for(var n in e.className&&(r.className=e.className),e.innerHTML&&e.dompurify&&(r.innerHTML=e.dompurify.sanitize(e.innerHTML)),e.style)r.style[n]=e.style[n];return r},s=function t(e){var r=Object.assign(t.convert(Promise.resolve()),JSON.parse(JSON.stringify(t.template))),n=t.convert(Promise.resolve(),r);return n=(n=n.setProgress(1,t,1,[t])).set(e)};(s.prototype=Object.create(Promise.prototype)).constructor=s,s.convert=function(t,e){return t.__proto__=e||s.prototype,t},s.template={prop:{src:null,container:null,overlay:null,canvas:null,img:null,pdf:null,pageSize:null,callback:function(){}},progress:{val:0,state:null,n:0,stack:[]},opt:{filename:\"file.pdf\",margin:[0,0,0,0],enableLinks:!0,x:0,y:0,html2canvas:{},jsPDF:{},backgroundColor:\"transparent\"}},s.prototype.from=function(t,e){return this.then((function(){switch(e=e||function(t){switch(a(t)){case\"string\":return\"string\";case\"element\":return\"canvas\"===t.nodeName.toLowerCase()?\"canvas\":\"element\";default:return\"unknown\"}}(t)){case\"string\":return this.then(i).then((function(e){return this.set({src:o(\"div\",{innerHTML:t,dompurify:e})})}));case\"element\":return this.set({src:t});case\"canvas\":return this.set({canvas:t});case\"img\":return this.set({img:t});default:return this.error(\"Unknown source type.\")}}))},s.prototype.to=function(t){switch(t){case\"container\":return this.toContainer();case\"canvas\":return this.toCanvas();case\"img\":return this.toImg();case\"pdf\":return this.toPdf();default:return this.error(\"Invalid target.\")}},s.prototype.toContainer=function(){return this.thenList([function(){return this.prop.src||this.error(\"Cannot duplicate - no source HTML.\")},function(){return this.prop.pageSize||this.setPageSize()}]).then((function(){var t={position:\"relative\",display:\"inline-block\",width:(\"number\"!=typeof this.opt.width||isNaN(this.opt.width)||\"number\"!=typeof this.opt.windowWidth||isNaN(this.opt.windowWidth)?Math.max(this.prop.src.clientWidth,this.prop.src.scrollWidth,this.prop.src.offsetWidth):this.opt.windowWidth)+\"px\",left:0,right:0,top:0,margin:\"auto\",backgroundColor:this.opt.backgroundColor},e=function t(e,r){for(var n=3===e.nodeType?document.createTextNode(e.nodeValue):e.cloneNode(!1),i=e.firstChild;i;i=i.nextSibling)!0!==r&&1===i.nodeType&&\"SCRIPT\"===i.nodeName||n.appendChild(t(i,r));return 1===e.nodeType&&(\"CANVAS\"===e.nodeName?(n.width=e.width,n.height=e.height,n.getContext(\"2d\").drawImage(e,0,0)):\"TEXTAREA\"!==e.nodeName&&\"SELECT\"!==e.nodeName||(n.value=e.value),n.addEventListener(\"load\",(function(){n.scrollTop=e.scrollTop,n.scrollLeft=e.scrollLeft}),!0)),n}(this.prop.src,this.opt.html2canvas.javascriptEnabled);\"BODY\"===e.tagName&&(t.height=Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight)+\"px\"),this.prop.overlay=o(\"div\",{className:\"html2pdf__overlay\",style:{position:\"fixed\",overflow:\"hidden\",zIndex:1e3,left:\"-100000px\",right:0,bottom:0,top:0}}),this.prop.container=o(\"div\",{className:\"html2pdf__container\",style:t}),this.prop.container.appendChild(e),this.prop.container.firstChild.appendChild(o(\"div\",{style:{clear:\"both\",border:\"0 none transparent\",margin:0,padding:0,height:0}})),this.prop.container.style.float=\"none\",this.prop.overlay.appendChild(this.prop.container),document.body.appendChild(this.prop.overlay),this.prop.container.firstChild.style.position=\"relative\",this.prop.container.height=Math.max(this.prop.container.firstChild.clientHeight,this.prop.container.firstChild.scrollHeight,this.prop.container.firstChild.offsetHeight)+\"px\"}))},s.prototype.toCanvas=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(r).then((function(t){var e=Object.assign({},this.opt.html2canvas);return delete e.onrendered,t(this.prop.container,e)})).then((function(t){(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)}))},s.prototype.toContext2d=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(r).then((function(t){var e=this.opt.jsPDF,r=this.opt.fontFaces,n=\"number\"!=typeof this.opt.width||isNaN(this.opt.width)||\"number\"!=typeof this.opt.windowWidth||isNaN(this.opt.windowWidth)?1:this.opt.width/this.opt.windowWidth,i=Object.assign({async:!0,allowTaint:!0,scale:n,scrollX:this.opt.scrollX||0,scrollY:this.opt.scrollY||0,backgroundColor:\"#ffffff\",imageTimeout:15e3,logging:!0,proxy:null,removeContainer:!0,foreignObjectRendering:!1,useCORS:!1},this.opt.html2canvas);if(delete i.onrendered,e.context2d.autoPaging=void 0===this.opt.autoPaging||this.opt.autoPaging,e.context2d.posX=this.opt.x,e.context2d.posY=this.opt.y,e.context2d.margin=this.opt.margin,e.context2d.fontFaces=r,r)for(var a=0;a<r.length;++a){var o=r[a],s=o.src.find((function(t){return\"truetype\"===t.format}));s&&e.addFont(s.url,o.ref.name,o.ref.style)}return i.windowHeight=i.windowHeight||0,i.windowHeight=0==i.windowHeight?Math.max(this.prop.container.clientHeight,this.prop.container.scrollHeight,this.prop.container.offsetHeight):i.windowHeight,e.context2d.save(!0),t(this.prop.container,i)})).then((function(t){this.opt.jsPDF.context2d.restore(!0),(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)}))},s.prototype.toImg=function(){return this.thenList([function(){return this.prop.canvas||this.toCanvas()}]).then((function(){var t=this.prop.canvas.toDataURL(\"image/\"+this.opt.image.type,this.opt.image.quality);this.prop.img=document.createElement(\"img\"),this.prop.img.src=t}))},s.prototype.toPdf=function(){return this.thenList([function(){return this.toContext2d()}]).then((function(){this.prop.pdf=this.prop.pdf||this.opt.jsPDF}))},s.prototype.output=function(t,e,r){return\"img\"===(r=r||\"pdf\").toLowerCase()||\"image\"===r.toLowerCase()?this.outputImg(t,e):this.outputPdf(t,e)},s.prototype.outputPdf=function(t,e){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){return this.prop.pdf.output(t,e)}))},s.prototype.outputImg=function(t){return this.thenList([function(){return this.prop.img||this.toImg()}]).then((function(){switch(t){case void 0:case\"img\":return this.prop.img;case\"datauristring\":case\"dataurlstring\":return this.prop.img.src;case\"datauri\":case\"dataurl\":return document.location.href=this.prop.img.src;default:throw'Image output type \"'+t+'\" is not supported.'}}))},s.prototype.save=function(t){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).set(t?{filename:t}:null).then((function(){this.prop.pdf.save(this.opt.filename)}))},s.prototype.doCallback=function(){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){this.prop.callback(this.prop.pdf)}))},s.prototype.set=function(t){if(\"object\"!==a(t))return this;var e=Object.keys(t||{}).map((function(e){if(e in s.template.prop)return function(){this.prop[e]=t[e]};switch(e){case\"margin\":return this.setMargin.bind(this,t.margin);case\"jsPDF\":return function(){return this.opt.jsPDF=t.jsPDF,this.setPageSize()};case\"pageSize\":return this.setPageSize.bind(this,t.pageSize);default:return function(){this.opt[e]=t[e]}}}),this);return this.then((function(){return this.thenList(e)}))},s.prototype.get=function(t,e){return this.then((function(){var r=t in s.template.prop?this.prop[t]:this.opt[t];return e?e(r):r}))},s.prototype.setMargin=function(t){return this.then((function(){switch(a(t)){case\"number\":t=[t,t,t,t];case\"array\":if(2===t.length&&(t=[t[0],t[1],t[0],t[1]]),4===t.length)break;default:return this.error(\"Invalid margin array.\")}this.opt.margin=t})).then(this.setPageSize)},s.prototype.setPageSize=function(t){function e(t,e){return Math.floor(t*e/72*96)}return this.then((function(){(t=t||E.getPageSize(this.opt.jsPDF)).hasOwnProperty(\"inner\")||(t.inner={width:t.width-this.opt.margin[1]-this.opt.margin[3],height:t.height-this.opt.margin[0]-this.opt.margin[2]},t.inner.px={width:e(t.inner.width,t.k),height:e(t.inner.height,t.k)},t.inner.ratio=t.inner.height/t.inner.width),this.prop.pageSize=t}))},s.prototype.setProgress=function(t,e,r,n){return null!=t&&(this.progress.val=t),null!=e&&(this.progress.state=e),null!=r&&(this.progress.n=r),null!=n&&(this.progress.stack=n),this.progress.ratio=this.progress.val/this.progress.state,this},s.prototype.updateProgress=function(t,e,r,n){return this.setProgress(t?this.progress.val+t:null,e||null,r?this.progress.n+r:null,n?this.progress.stack.concat(n):null)},s.prototype.then=function(t,e){var r=this;return this.thenCore(t,e,(function(t,e){return r.updateProgress(null,null,1,[t]),Promise.prototype.then.call(this,(function(e){return r.updateProgress(null,t),e})).then(t,e).then((function(t){return r.updateProgress(1),t}))}))},s.prototype.thenCore=function(t,e,r){r=r||Promise.prototype.then;t&&(t=t.bind(this)),e&&(e=e.bind(this));var n=-1!==Promise.toString().indexOf(\"[native code]\")&&\"Promise\"===Promise.name?this:s.convert(Object.assign({},this),Promise.prototype),i=r.call(n,t,e);return s.convert(i,this.__proto__)},s.prototype.thenExternal=function(t,e){return Promise.prototype.then.call(this,t,e)},s.prototype.thenList=function(t){var e=this;return t.forEach((function(t){e=e.thenCore(t)})),e},s.prototype.catch=function(t){t&&(t=t.bind(this));var e=Promise.prototype.catch.call(this,t);return s.convert(e,this)},s.prototype.catchExternal=function(t){return Promise.prototype.catch.call(this,t)},s.prototype.error=function(t){return this.then((function(){throw new Error(t)}))},s.prototype.using=s.prototype.set,s.prototype.saveAs=s.prototype.save,s.prototype.export=s.prototype.output,s.prototype.run=s.prototype.then,E.getPageSize=function(e,r,n){if(\"object\"===t(e)){var i=e;e=i.orientation,r=i.unit||r,n=i.format||n}r=r||\"mm\",n=n||\"a4\",e=(\"\"+(e||\"P\")).toLowerCase();var a,o=(\"\"+n).toLowerCase(),s={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]};switch(r){case\"pt\":a=1;break;case\"mm\":a=72/25.4;break;case\"cm\":a=72/2.54;break;case\"in\":a=72;break;case\"px\":a=.75;break;case\"pc\":case\"em\":a=12;break;case\"ex\":a=6;break;default:throw\"Invalid unit: \"+r}var c,u=0,h=0;if(s.hasOwnProperty(o))u=s[o][1]/a,h=s[o][0]/a;else try{u=n[1],h=n[0]}catch(t){throw new Error(\"Invalid format: \"+n)}if(\"p\"===e||\"portrait\"===e)e=\"p\",h>u&&(c=h,h=u,u=c);else{if(\"l\"!==e&&\"landscape\"!==e)throw\"Invalid orientation: \"+e;e=\"l\",u>h&&(c=h,h=u,u=c)}return{width:h,height:u,unit:r,k:a,orientation:e}},e.html=function(t,e){(e=e||{}).callback=e.callback||function(){},e.html2canvas=e.html2canvas||{},e.html2canvas.canvas=e.html2canvas.canvas||this.canvas,e.jsPDF=e.jsPDF||this,e.fontFaces=e.fontFaces?e.fontFaces.map(jt):null;var r=new s(e);return e.worker?r:r.from(t).doCallback()}}(E.API),E.API.addJS=function(t){return Ht=t,this.internal.events.subscribe(\"postPutResources\",(function(){Ut=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/Names [(EmbeddedJS) \"+(Ut+1)+\" 0 R]\"),this.internal.out(\">>\"),this.internal.out(\"endobj\"),zt=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /JavaScript\"),this.internal.out(\"/JS (\"+Ht+\")\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){void 0!==Ut&&void 0!==zt&&this.internal.out(\"/Names <</JavaScript \"+Ut+\" 0 R>>\")})),this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e;t.events.push([\"postPutResources\",function(){var t=this,r=/^(\\d+) 0 obj$/;if(this.outline.root.children.length>0)for(var n=t.outline.render().split(/\\r\\n/),i=0;i<n.length;i++){var a=n[i],o=r.exec(a);if(null!=o){var s=o[1];t.internal.newObjectDeferredBegin(s,!1)}t.internal.write(a)}if(this.outline.createNamedDestinations){var c=this.internal.pages.length,u=[];for(i=0;i<c;i++){var h=t.internal.newObject();u.push(h);var l=t.internal.getPageInfo(i+1);t.internal.write(\"<< /D[\"+l.objId+\" 0 R /XYZ null null null]>> endobj\")}var f=t.internal.newObject();t.internal.write(\"<< /Names [ \");for(i=0;i<u.length;i++)t.internal.write(\"(page_\"+(i+1)+\")\"+u[i]+\" 0 R\");t.internal.write(\" ] >>\",\"endobj\"),e=t.internal.newObject(),t.internal.write(\"<< /Dests \"+f+\" 0 R\"),t.internal.write(\">>\",\"endobj\")}}]),t.events.push([\"putCatalog\",function(){this.outline.root.children.length>0&&(this.internal.write(\"/Outlines\",this.outline.makeRef(this.outline.root)),this.outline.createNamedDestinations&&this.internal.write(\"/Names \"+e+\" 0 R\"))}]),t.events.push([\"initialized\",function(){var t=this;t.outline={createNamedDestinations:!1,root:{children:[]}},t.outline.add=function(t,e,r){var n={title:e,options:r,children:[]};return null==t&&(t=this.root),t.children.push(n),n},t.outline.render=function(){return this.ctx={},this.ctx.val=\"\",this.ctx.pdf=t,this.genIds_r(this.root),this.renderRoot(this.root),this.renderItems(this.root),this.ctx.val},t.outline.genIds_r=function(e){e.id=t.internal.newObjectDeferred();for(var r=0;r<e.children.length;r++)this.genIds_r(e.children[r])},t.outline.renderRoot=function(t){this.objStart(t),this.line(\"/Type /Outlines\"),t.children.length>0&&(this.line(\"/First \"+this.makeRef(t.children[0])),this.line(\"/Last \"+this.makeRef(t.children[t.children.length-1]))),this.line(\"/Count \"+this.count_r({count:0},t)),this.objEnd()},t.outline.renderItems=function(e){for(var r=this.ctx.pdf.internal.getVerticalCoordinateString,n=0;n<e.children.length;n++){var i=e.children[n];this.objStart(i),this.line(\"/Title \"+this.makeString(i.title)),this.line(\"/Parent \"+this.makeRef(e)),n>0&&this.line(\"/Prev \"+this.makeRef(e.children[n-1])),n<e.children.length-1&&this.line(\"/Next \"+this.makeRef(e.children[n+1])),i.children.length>0&&(this.line(\"/First \"+this.makeRef(i.children[0])),this.line(\"/Last \"+this.makeRef(i.children[i.children.length-1])));var a=this.count=this.count_r({count:0},i);if(a>0&&this.line(\"/Count \"+a),i.options&&i.options.pageNumber){var o=t.internal.getPageInfo(i.options.pageNumber);this.line(\"/Dest [\"+o.objId+\" 0 R /XYZ 0 \"+r(0)+\" 0]\")}this.objEnd()}for(var s=0;s<e.children.length;s++)this.renderItems(e.children[s])},t.outline.line=function(t){this.ctx.val+=t+\"\\r\\n\"},t.outline.makeRef=function(t){return t.id+\" 0 R\"},t.outline.makeString=function(e){return\"(\"+t.internal.pdfEscape(e)+\")\"},t.outline.objStart=function(t){this.ctx.val+=\"\\r\\n\"+t.id+\" 0 obj\\r\\n<<\\r\\n\"},t.outline.objEnd=function(){this.ctx.val+=\">> \\r\\nendobj\\r\\n\"},t.outline.count_r=function(t,e){for(var r=0;r<e.children.length;r++)t.count++,this.count_r(t,e.children[r]);return t.count}}])}(E.API),\n/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=[192,193,194,195,196,197,198,199];t.processJPEG=function(t,r,n,i,a,o){var s,c=this.decode.DCT_DECODE,u=null;if(\"string\"==typeof t||this.__addimage__.isArrayBuffer(t)||this.__addimage__.isArrayBufferView(t)){switch(t=a||t,t=this.__addimage__.isArrayBuffer(t)?new Uint8Array(t):t,(s=function(t){for(var r,n=256*t.charCodeAt(4)+t.charCodeAt(5),i=t.length,a={width:0,height:0,numcomponents:1},o=4;o<i;o+=2){if(o+=n,-1!==e.indexOf(t.charCodeAt(o+1))){r=256*t.charCodeAt(o+5)+t.charCodeAt(o+6),a={width:256*t.charCodeAt(o+7)+t.charCodeAt(o+8),height:r,numcomponents:t.charCodeAt(o+9)};break}n=256*t.charCodeAt(o+2)+t.charCodeAt(o+3)}return a}(t=this.__addimage__.isArrayBufferView(t)?this.__addimage__.arrayBufferToBinaryString(t):t)).numcomponents){case 1:o=this.color_spaces.DEVICE_GRAY;break;case 4:o=this.color_spaces.DEVICE_CMYK;break;case 3:o=this.color_spaces.DEVICE_RGB}u={data:t,width:s.width,height:s.height,colorSpace:o,bitsPerComponent:8,filter:c,index:r,alias:n}}return u}}(E.API);var Vt,Gt,Yt,Jt,Xt,Kt=function(){var t,e,i;function a(t){var e,r,n,i,a,o,s,c,u,h,l,f,d,p;for(this.data=t,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.animation=null,this.text={},o=null;;){switch(e=this.readUInt32(),u=function(){var t,e;for(e=[],t=0;t<4;++t)e.push(String.fromCharCode(this.data[this.pos++]));return e}.call(this).join(\"\")){case\"IHDR\":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case\"acTL\":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case\"PLTE\":this.palette=this.read(e);break;case\"fcTL\":o&&this.animation.frames.push(o),this.pos+=4,o={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()},a=this.readUInt16(),i=this.readUInt16()||100,o.delay=1e3*a/i,o.disposeOp=this.data[this.pos++],o.blendOp=this.data[this.pos++],o.data=[];break;case\"IDAT\":case\"fdAT\":for(\"fdAT\"===u&&(this.pos+=4,e-=4),t=(null!=o?o.data:void 0)||this.imgData,f=0;0<=e?f<e:f>e;0<=e?++f:--f)t.push(this.data[this.pos++]);break;case\"tRNS\":switch(this.transparency={},this.colorType){case 3:if(n=this.palette.length/3,this.transparency.indexed=this.read(e),this.transparency.indexed.length>n)throw new Error(\"More transparent colors than palette size\");if((h=n-this.transparency.indexed.length)>0)for(d=0;0<=h?d<h:d>h;0<=h?++d:--d)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(e)[0];break;case 2:this.transparency.rgb=this.read(e)}break;case\"tEXt\":s=(l=this.read(e)).indexOf(0),c=String.fromCharCode.apply(String,l.slice(0,s)),this.text[c]=String.fromCharCode.apply(String,l.slice(s+1));break;case\"IEND\":return o&&this.animation.frames.push(o),this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(p=this.colorType)||6===p,r=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*r,this.colorSpace=function(){switch(this.colors){case 1:return\"DeviceGray\";case 3:return\"DeviceRGB\"}}.call(this),void(this.imgData=new Uint8Array(this.imgData));default:this.pos+=e}if(this.pos+=4,this.pos>this.data.length)throw new Error(\"Incomplete or corrupt PNG file\")}}a.prototype.read=function(t){var e,r;for(r=[],e=0;0<=t?e<t:e>t;0<=t?++e:--e)r.push(this.data[this.pos++]);return r},a.prototype.readUInt32=function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},a.prototype.readUInt16=function(){return this.data[this.pos++]<<8|this.data[this.pos++]},a.prototype.decodePixels=function(t){var e=this.pixelBitlength/8,n=new Uint8Array(this.width*this.height*e),i=0,a=this;if(null==t&&(t=this.imgData),0===t.length)return new Uint8Array(0);function o(r,o,s,c){var u,h,l,f,d,p,g,m,v,b,y,w,N,L,A,x,S,_,P,k,I,F=Math.ceil((a.width-r)/s),C=Math.ceil((a.height-o)/c),j=a.width==F&&a.height==C;for(L=e*F,w=j?n:new Uint8Array(L*C),p=t.length,N=0,h=0;N<C&&i<p;){switch(t[i++]){case 0:for(f=S=0;S<L;f=S+=1)w[h++]=t[i++];break;case 1:for(f=_=0;_<L;f=_+=1)u=t[i++],d=f<e?0:w[h-e],w[h++]=(u+d)%256;break;case 2:for(f=P=0;P<L;f=P+=1)u=t[i++],l=(f-f%e)/e,A=N&&w[(N-1)*L+l*e+f%e],w[h++]=(A+u)%256;break;case 3:for(f=k=0;k<L;f=k+=1)u=t[i++],l=(f-f%e)/e,d=f<e?0:w[h-e],A=N&&w[(N-1)*L+l*e+f%e],w[h++]=(u+Math.floor((d+A)/2))%256;break;case 4:for(f=I=0;I<L;f=I+=1)u=t[i++],l=(f-f%e)/e,d=f<e?0:w[h-e],0===N?A=x=0:(A=w[(N-1)*L+l*e+f%e],x=l&&w[(N-1)*L+(l-1)*e+f%e]),g=d+A-x,m=Math.abs(g-d),b=Math.abs(g-A),y=Math.abs(g-x),v=m<=b&&m<=y?d:b<=y?A:x,w[h++]=(u+v)%256;break;default:throw new Error(\"Invalid filter algorithm: \"+t[i-1])}if(!j){var O=((o+N*c)*a.width+r)*e,B=N*L;for(f=0;f<F;f+=1){for(var M=0;M<e;M+=1)n[O++]=w[B++];O+=(s-1)*e}}N++}}return t=r(t),1==a.interlaceMethod?(o(0,0,8,8),o(4,0,8,8),o(0,4,4,8),o(2,0,4,4),o(0,2,2,4),o(1,0,2,2),o(0,1,1,2)):o(0,0,1,1),n},a.prototype.decodePalette=function(){var t,e,r,n,i,a,o,s,c;for(r=this.palette,a=this.transparency.indexed||[],i=new Uint8Array((a.length||0)+r.length),n=0,t=0,e=o=0,s=r.length;o<s;e=o+=3)i[n++]=r[e],i[n++]=r[e+1],i[n++]=r[e+2],i[n++]=null!=(c=a[t++])?c:255;return i},a.prototype.copyToImageData=function(t,e){var r,n,i,a,o,s,c,u,h,l,f;if(n=this.colors,h=null,r=this.hasAlphaChannel,this.palette.length&&(h=null!=(f=this._decodedPalette)?f:this._decodedPalette=this.decodePalette(),n=4,r=!0),u=(i=t.data||t).length,o=h||e,a=s=0,1===n)for(;a<u;)c=h?4*e[a/4]:s,l=o[c++],i[a++]=l,i[a++]=l,i[a++]=l,i[a++]=r?o[c++]:255,s=c;else for(;a<u;)c=h?4*e[a/4]:s,i[a++]=o[c++],i[a++]=o[c++],i[a++]=o[c++],i[a++]=r?o[c++]:255,s=c},a.prototype.decode=function(){var t;return t=new Uint8Array(this.width*this.height*4),this.copyToImageData(t,this.decodePixels()),t};var o=function(){if(\"[object Window]\"===Object.prototype.toString.call(n)){try{e=n.document.createElement(\"canvas\"),i=e.getContext(\"2d\")}catch(t){return!1}return!0}return!1};return o(),t=function(t){var r;if(!0===o())return i.width=t.width,i.height=t.height,i.clearRect(0,0,t.width,t.height),i.putImageData(t,0,0),(r=new Image).src=e.toDataURL(),r;throw new Error(\"This method requires a Browser with Canvas-capability.\")},a.prototype.decodeFrames=function(e){var r,n,i,a,o,s,c,u;if(this.animation){for(u=[],n=o=0,s=(c=this.animation.frames).length;o<s;n=++o)r=c[n],i=e.createImageData(r.width,r.height),a=this.decodePixels(new Uint8Array(r.data)),this.copyToImageData(i,a),r.imageData=i,u.push(r.image=t(i));return u}},a.prototype.renderFrame=function(t,e){var r,n,i;return r=(n=this.animation.frames)[e],i=n[e-1],0===e&&t.clearRect(0,0,this.width,this.height),1===(null!=i?i.disposeOp:void 0)?t.clearRect(i.xOffset,i.yOffset,i.width,i.height):2===(null!=i?i.disposeOp:void 0)&&t.putImageData(i.imageData,i.xOffset,i.yOffset),0===r.blendOp&&t.clearRect(r.xOffset,r.yOffset,r.width,r.height),t.drawImage(r.image,r.xOffset,r.yOffset)},a.prototype.animate=function(t){var e,r,n,i,a,o,s=this;return r=0,o=this.animation,i=o.numFrames,n=o.frames,a=o.numPlays,(e=function(){var o,c;if(o=r++%i,c=n[o],s.renderFrame(t,o),i>1&&r/i<a)return s.animation._timeout=setTimeout(e,c.delay)})()},a.prototype.stopAnimation=function(){var t;return clearTimeout(null!=(t=this.animation)?t._timeout:void 0)},a.prototype.render=function(t){var e,r;return t._png&&t._png.stopAnimation(),t._png=this,t.width=this.width,t.height=this.height,e=t.getContext(\"2d\"),this.animation?(this.decodeFrames(e),this.animate(e)):(r=e.createImageData(this.width,this.height),this.copyToImageData(r,this.decodePixels()),e.putImageData(r,0,0))},a}();\n/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n/**\n * @license\n * (c) Dean McNamee <dean@gmail.com>, 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\nfunction Zt(t){var e=0;if(71!==t[e++]||73!==t[e++]||70!==t[e++]||56!==t[e++]||56!=(t[e++]+1&253)||97!==t[e++])throw new Error(\"Invalid GIF 87a/89a header.\");var r=t[e++]|t[e++]<<8,n=t[e++]|t[e++]<<8,i=t[e++],a=i>>7,o=1<<(7&i)+1;t[e++];t[e++];var s=null,c=null;a&&(s=e,c=o,e+=3*o);var u=!0,h=[],l=0,f=null,d=0,p=null;for(this.width=r,this.height=n;u&&e<t.length;)switch(t[e++]){case 33:switch(t[e++]){case 255:if(11!==t[e]||78==t[e+1]&&69==t[e+2]&&84==t[e+3]&&83==t[e+4]&&67==t[e+5]&&65==t[e+6]&&80==t[e+7]&&69==t[e+8]&&50==t[e+9]&&46==t[e+10]&&48==t[e+11]&&3==t[e+12]&&1==t[e+13]&&0==t[e+16])e+=14,p=t[e++]|t[e++]<<8,e++;else for(e+=12;;){if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}break;case 249:if(4!==t[e++]||0!==t[e+4])throw new Error(\"Invalid graphics extension block.\");var g=t[e++];l=t[e++]|t[e++]<<8,f=t[e++],0==(1&g)&&(f=null),d=g>>2&7,e++;break;case 254:for(;;){if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}break;default:throw new Error(\"Unknown graphic control label: 0x\"+t[e-1].toString(16))}break;case 44:var m=t[e++]|t[e++]<<8,v=t[e++]|t[e++]<<8,b=t[e++]|t[e++]<<8,y=t[e++]|t[e++]<<8,w=t[e++],N=w>>6&1,L=1<<(7&w)+1,A=s,x=c,S=!1;if(w>>7){S=!0;A=e,x=L,e+=3*L}var _=e;for(e++;;){var P;if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}h.push({x:m,y:v,width:b,height:y,has_local_palette:S,palette_offset:A,palette_size:x,data_offset:_,data_length:e-_,transparent_index:f,interlaced:!!N,delay:l,disposal:d});break;case 59:u=!1;break;default:throw new Error(\"Unknown gif block: 0x\"+t[e-1].toString(16))}this.numFrames=function(){return h.length},this.loopCount=function(){return p},this.frameInfo=function(t){if(t<0||t>=h.length)throw new Error(\"Frame index out of range.\");return h[t]},this.decodeAndBlitFrameBGRA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height,o=new Uint8Array(a);$t(t,i.data_offset,o,a);var s=i.palette_offset,c=i.transparent_index;null===c&&(c=256);var u=i.width,h=r-u,l=u,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*h;!0===i.interlaced&&(g+=4*r*7);for(var m=8,v=0,b=o.length;v<b;++v){var y=o[v];if(0===l&&(l=u,(p+=g)>=d&&(g=4*h+4*r*(m-1),p=f+(u+h)*(m<<1),m>>=1)),y===c)p+=4;else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=L,n[p++]=N,n[p++]=w,n[p++]=255}--l}},this.decodeAndBlitFrameRGBA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height,o=new Uint8Array(a);$t(t,i.data_offset,o,a);var s=i.palette_offset,c=i.transparent_index;null===c&&(c=256);var u=i.width,h=r-u,l=u,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*h;!0===i.interlaced&&(g+=4*r*7);for(var m=8,v=0,b=o.length;v<b;++v){var y=o[v];if(0===l&&(l=u,(p+=g)>=d&&(g=4*h+4*r*(m-1),p=f+(u+h)*(m<<1),m>>=1)),y===c)p+=4;else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=w,n[p++]=N,n[p++]=L,n[p++]=255}--l}}}function $t(t,e,r,n){for(var i=t[e++],o=1<<i,s=o+1,c=s+1,u=i+1,h=(1<<u)-1,l=0,f=0,d=0,p=t[e++],g=new Int32Array(4096),m=null;;){for(;l<16&&0!==p;)f|=t[e++]<<l,l+=8,1===p?p=t[e++]:--p;if(l<u)break;var v=f&h;if(f>>=u,l-=u,v!==o){if(v===s)break;for(var b=v<c?v:m,y=0,w=b;w>o;)w=g[w]>>8,++y;var N=w;if(d+y+(b!==v?1:0)>n)return void a.log(\"Warning, gif stream longer than expected.\");r[d++]=N;var L=d+=y;for(b!==v&&(r[d++]=N),w=b;y--;)w=g[w],r[--L]=255&w,w>>=8;null!==m&&c<4096&&(g[c++]=m<<8|N,c>=h+1&&u<12&&(++u,h=h<<1|1)),m=v}else c=s+1,h=(1<<(u=i+1))-1,m=null}return d!==n&&a.log(\"Warning, gif stream shorter than expected.\"),r}\n/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/function Qt(t){var e,r,n,i,a,o=Math.floor,s=new Array(64),c=new Array(64),u=new Array(64),h=new Array(64),l=new Array(65535),f=new Array(65535),d=new Array(64),p=new Array(64),g=[],m=0,v=7,b=new Array(64),y=new Array(64),w=new Array(64),N=new Array(256),L=new Array(2048),A=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],x=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],S=[0,1,2,3,4,5,6,7,8,9,10,11],_=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],P=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],k=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],I=[0,1,2,3,4,5,6,7,8,9,10,11],F=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],C=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function j(t,e){for(var r=0,n=0,i=new Array,a=1;a<=16;a++){for(var o=1;o<=t[a];o++)i[e[n]]=[],i[e[n]][0]=r,i[e[n]][1]=a,n++,r++;r*=2}return i}function O(t){for(var e=t[0],r=t[1]-1;r>=0;)e&1<<r&&(m|=1<<v),r--,--v<0&&(255==m?(B(255),B(0)):B(m),v=7,m=0)}function B(t){g.push(t)}function M(t){B(t>>8&255),B(255&t)}function E(t,e,r,n,i){for(var a,o=i[0],s=i[240],c=function(t,e){var r,n,i,a,o,s,c,u,h,l,f=0;for(h=0;h<8;++h){r=t[f],n=t[f+1],i=t[f+2],a=t[f+3],o=t[f+4],s=t[f+5],c=t[f+6];var p=r+(u=t[f+7]),g=r-u,m=n+c,v=n-c,b=i+s,y=i-s,w=a+o,N=a-o,L=p+w,A=p-w,x=m+b,S=m-b;t[f]=L+x,t[f+4]=L-x;var _=.707106781*(S+A);t[f+2]=A+_,t[f+6]=A-_;var P=.382683433*((L=N+y)-(S=v+g)),k=.5411961*L+P,I=1.306562965*S+P,F=.707106781*(x=y+v),C=g+F,j=g-F;t[f+5]=j+k,t[f+3]=j-k,t[f+1]=C+I,t[f+7]=C-I,f+=8}for(f=0,h=0;h<8;++h){r=t[f],n=t[f+8],i=t[f+16],a=t[f+24],o=t[f+32],s=t[f+40],c=t[f+48];var O=r+(u=t[f+56]),B=r-u,M=n+c,E=n-c,q=i+s,D=i-s,R=a+o,T=a-o,U=O+R,z=O-R,H=M+q,W=M-q;t[f]=U+H,t[f+32]=U-H;var V=.707106781*(W+z);t[f+16]=z+V,t[f+48]=z-V;var G=.382683433*((U=T+D)-(W=E+B)),Y=.5411961*U+G,J=1.306562965*W+G,X=.707106781*(H=D+E),K=B+X,Z=B-X;t[f+40]=Z+Y,t[f+24]=Z-Y,t[f+8]=K+J,t[f+56]=K-J,f++}for(h=0;h<64;++h)l=t[h]*e[h],d[h]=l>0?l+.5|0:l-.5|0;return d}(t,e),u=0;u<64;++u)p[A[u]]=c[u];var h=p[0]-r;r=p[0],0==h?O(n[0]):(O(n[f[a=32767+h]]),O(l[a]));for(var g=63;g>0&&0==p[g];)g--;if(0==g)return O(o),r;for(var m,v=1;v<=g;){for(var b=v;0==p[v]&&v<=g;)++v;var y=v-b;if(y>=16){m=y>>4;for(var w=1;w<=m;++w)O(s);y&=15}a=32767+p[v],O(i[(y<<4)+f[a]]),O(l[a]),v++}return 63!=g&&O(o),r}function q(t){(t=Math.min(Math.max(t,1),100),a!=t)&&(!function(t){for(var e=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],r=0;r<64;r++){var n=o((e[r]*t+50)/100);n=Math.min(Math.max(n,1),255),s[A[r]]=n}for(var i=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],a=0;a<64;a++){var l=o((i[a]*t+50)/100);l=Math.min(Math.max(l,1),255),c[A[a]]=l}for(var f=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],d=0,p=0;p<8;p++)for(var g=0;g<8;g++)u[d]=1/(s[A[d]]*f[p]*f[g]*8),h[d]=1/(c[A[d]]*f[p]*f[g]*8),d++}(t<50?Math.floor(5e3/t):Math.floor(200-2*t)),a=t)}this.encode=function(t,a){a&&q(a),g=new Array,m=0,v=7,M(65496),M(65504),M(16),B(74),B(70),B(73),B(70),B(0),B(1),B(1),B(0),M(1),M(1),B(0),B(0),function(){M(65499),M(132),B(0);for(var t=0;t<64;t++)B(s[t]);B(1);for(var e=0;e<64;e++)B(c[e])}(),function(t,e){M(65472),M(17),B(8),M(e),M(t),B(3),B(1),B(17),B(0),B(2),B(17),B(1),B(3),B(17),B(1)}(t.width,t.height),function(){M(65476),M(418),B(0);for(var t=0;t<16;t++)B(x[t+1]);for(var e=0;e<=11;e++)B(S[e]);B(16);for(var r=0;r<16;r++)B(_[r+1]);for(var n=0;n<=161;n++)B(P[n]);B(1);for(var i=0;i<16;i++)B(k[i+1]);for(var a=0;a<=11;a++)B(I[a]);B(17);for(var o=0;o<16;o++)B(F[o+1]);for(var s=0;s<=161;s++)B(C[s])}(),M(65498),M(12),B(3),B(1),B(0),B(2),B(17),B(3),B(17),B(0),B(63),B(0);var o=0,l=0,f=0;m=0,v=7,this.encode.displayName=\"_encode_\";for(var d,p,N,A,j,D,R,T,U,z=t.data,H=t.width,W=t.height,V=4*H,G=0;G<W;){for(d=0;d<V;){for(j=V*G+d,R=-1,T=0,U=0;U<64;U++)D=j+(T=U>>3)*V+(R=4*(7&U)),G+T>=W&&(D-=V*(G+1+T-W)),d+R>=V&&(D-=d+R-V+4),p=z[D++],N=z[D++],A=z[D++],b[U]=(L[p]+L[N+256>>0]+L[A+512>>0]>>16)-128,y[U]=(L[p+768>>0]+L[N+1024>>0]+L[A+1280>>0]>>16)-128,w[U]=(L[p+1280>>0]+L[N+1536>>0]+L[A+1792>>0]>>16)-128;o=E(b,u,o,e,n),l=E(y,h,l,r,i),f=E(w,h,f,r,i),d+=32}G+=8}if(v>=0){var Y=[];Y[1]=v+1,Y[0]=(1<<v+1)-1,O(Y)}return M(65497),new Uint8Array(g)},t=t||50,function(){for(var t=String.fromCharCode,e=0;e<256;e++)N[e]=t(e)}(),e=j(x,S),r=j(k,I),n=j(_,P),i=j(F,C),function(){for(var t=1,e=2,r=1;r<=15;r++){for(var n=t;n<e;n++)f[32767+n]=r,l[32767+n]=[],l[32767+n][1]=r,l[32767+n][0]=n;for(var i=-(e-1);i<=-t;i++)f[32767+i]=r,l[32767+i]=[],l[32767+i][1]=r,l[32767+i][0]=e-1+i;t<<=1,e<<=1}}(),function(){for(var t=0;t<256;t++)L[t]=19595*t,L[t+256>>0]=38470*t,L[t+512>>0]=7471*t+32768,L[t+768>>0]=-11059*t,L[t+1024>>0]=-21709*t,L[t+1280>>0]=32768*t+8421375,L[t+1536>>0]=-27439*t,L[t+1792>>0]=-5329*t}(),q(t)}\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */function te(t,e){if(this.pos=0,this.buffer=t,this.datav=new DataView(t.buffer),this.is_with_alpha=!!e,this.bottom_up=!0,this.flag=String.fromCharCode(this.buffer[0])+String.fromCharCode(this.buffer[1]),this.pos+=2,-1===[\"BM\",\"BA\",\"CI\",\"CP\",\"IC\",\"PT\"].indexOf(this.flag))throw new Error(\"Invalid BMP File\");this.parseHeader(),this.parseBGR()}function ee(t){function e(t){if(!t)throw Error(\"assert :P\")}function r(t,e,r){for(var n=0;4>n;n++)if(t[e+n]!=r.charCodeAt(n))return!0;return!1}function n(t,e,r,n,i){for(var a=0;a<i;a++)t[e+a]=r[n+a]}function i(t,e,r,n){for(var i=0;i<n;i++)t[e+i]=r}function a(t){return new Int32Array(t)}function o(t,e){for(var r=[],n=0;n<t;n++)r.push(new e);return r}function s(t,e){var r=[];return function t(r,n,i){for(var a=i[n],o=0;o<a&&(r.push(i.length>n+1?[]:new e),!(i.length<n+1));o++)t(r[o],n+1,i)}(r,0,t),r}var c=function(){var t=this;function c(t,e){for(var r=1<<e-1>>>0;t&r;)r>>>=1;return r?(t&r-1)+r:t}function u(t,r,n,i,a){e(!(i%n));do{t[r+(i-=n)]=a}while(0<i)}function h(t,r,n,i,o){if(e(2328>=o),512>=o)var s=a(512);else if(null==(s=a(o)))return 0;return function(t,r,n,i,o,s){var h,f,d=r,p=1<<n,g=a(16),m=a(16);for(e(0!=o),e(null!=i),e(null!=t),e(0<n),f=0;f<o;++f){if(15<i[f])return 0;++g[i[f]]}if(g[0]==o)return 0;for(m[1]=0,h=1;15>h;++h){if(g[h]>1<<h)return 0;m[h+1]=m[h]+g[h]}for(f=0;f<o;++f)h=i[f],0<i[f]&&(s[m[h]++]=f);if(1==m[15])return(i=new l).g=0,i.value=s[0],u(t,d,1,p,i),p;var v,b=-1,y=p-1,w=0,N=1,L=1,A=1<<n;for(f=0,h=1,o=2;h<=n;++h,o<<=1){if(N+=L<<=1,0>(L-=g[h]))return 0;for(;0<g[h];--g[h])(i=new l).g=h,i.value=s[f++],u(t,d+w,o,A,i),w=c(w,h)}for(h=n+1,o=2;15>=h;++h,o<<=1){if(N+=L<<=1,0>(L-=g[h]))return 0;for(;0<g[h];--g[h]){if(i=new l,(w&y)!=b){for(d+=A,v=1<<(b=h)-n;15>b&&!(0>=(v-=g[b]));)++b,v<<=1;p+=A=1<<(v=b-n),t[r+(b=w&y)].g=v+n,t[r+b].value=d-r-b}i.g=h-n,i.value=s[f++],u(t,d+(w>>n),o,A,i),w=c(w,h)}}return N!=2*m[15]-1?0:p}(t,r,n,i,o,s)}function l(){this.value=this.g=0}function f(){this.value=this.g=0}function d(){this.G=o(5,l),this.H=a(5),this.jc=this.Qb=this.qb=this.nd=0,this.pd=o(Dr,f)}function p(t,r,n,i){e(null!=t),e(null!=r),e(2147483648>i),t.Ca=254,t.I=0,t.b=-8,t.Ka=0,t.oa=r,t.pa=n,t.Jd=r,t.Yc=n+i,t.Zc=4<=i?n+i-4+1:n,_(t)}function g(t,e){for(var r=0;0<e--;)r|=k(t,128)<<e;return r}function m(t,e){var r=g(t,e);return P(t)?-r:r}function v(t,r,n,i){var a,o=0;for(e(null!=t),e(null!=r),e(4294967288>i),t.Sb=i,t.Ra=0,t.u=0,t.h=0,4<i&&(i=4),a=0;a<i;++a)o+=r[n+a]<<8*a;t.Ra=o,t.bb=i,t.oa=r,t.pa=n}function b(t){for(;8<=t.u&&t.bb<t.Sb;)t.Ra>>>=8,t.Ra+=t.oa[t.pa+t.bb]<<Ur-8>>>0,++t.bb,t.u-=8;A(t)&&(t.h=1,t.u=0)}function y(t,r){if(e(0<=r),!t.h&&r<=Tr){var n=L(t)&Rr[r];return t.u+=r,b(t),n}return t.h=1,t.u=0}function w(){this.b=this.Ca=this.I=0,this.oa=[],this.pa=0,this.Jd=[],this.Yc=0,this.Zc=[],this.Ka=0}function N(){this.Ra=0,this.oa=[],this.h=this.u=this.bb=this.Sb=this.pa=0}function L(t){return t.Ra>>>(t.u&Ur-1)>>>0}function A(t){return e(t.bb<=t.Sb),t.h||t.bb==t.Sb&&t.u>Ur}function x(t,e){t.u=e,t.h=A(t)}function S(t){t.u>=zr&&(e(t.u>=zr),b(t))}function _(t){e(null!=t&&null!=t.oa),t.pa<t.Zc?(t.I=(t.oa[t.pa++]|t.I<<8)>>>0,t.b+=8):(e(null!=t&&null!=t.oa),t.pa<t.Yc?(t.b+=8,t.I=t.oa[t.pa++]|t.I<<8):t.Ka?t.b=0:(t.I<<=8,t.b+=8,t.Ka=1))}function P(t){return g(t,1)}function k(t,e){var r=t.Ca;0>t.b&&_(t);var n=t.b,i=r*e>>>8,a=(t.I>>>n>i)+0;for(a?(r-=i,t.I-=i+1<<n>>>0):r=i+1,n=r,i=0;256<=n;)i+=8,n>>=8;return n=7^i+Hr[n],t.b-=n,t.Ca=(r<<n)-1,a}function I(t,e,r){t[e+0]=r>>24&255,t[e+1]=r>>16&255,t[e+2]=r>>8&255,t[e+3]=r>>0&255}function F(t,e){return t[e+0]<<0|t[e+1]<<8}function C(t,e){return F(t,e)|t[e+2]<<16}function j(t,e){return F(t,e)|F(t,e+2)<<16}function O(t,r){var n=1<<r;return e(null!=t),e(0<r),t.X=a(n),null==t.X?0:(t.Mb=32-r,t.Xa=r,1)}function B(t,r){e(null!=t),e(null!=r),e(t.Xa==r.Xa),n(r.X,0,t.X,0,1<<r.Xa)}function M(){this.X=[],this.Xa=this.Mb=0}function E(t,r,n,i){e(null!=n),e(null!=i);var a=n[0],o=i[0];return 0==a&&(a=(t*o+r/2)/r),0==o&&(o=(r*a+t/2)/t),0>=a||0>=o?0:(n[0]=a,i[0]=o,1)}function q(t,e){return t+(1<<e)-1>>>e}function D(t,e){return((4278255360&t)+(4278255360&e)>>>0&4278255360)+((16711935&t)+(16711935&e)>>>0&16711935)>>>0}function R(e,r){t[r]=function(r,n,i,a,o,s,c){var u;for(u=0;u<o;++u){var h=t[e](s[c+u-1],i,a+u);s[c+u]=D(r[n+u],h)}}}function T(){this.ud=this.hd=this.jd=0}function U(t,e){return((4278124286&(t^e))>>>1)+(t&e)>>>0}function z(t){return 0<=t&&256>t?t:0>t?0:255<t?255:void 0}function H(t,e){return z(t+(t-e+.5>>1))}function W(t,e,r){return Math.abs(e-r)-Math.abs(t-r)}function V(t,e,r,n,i,a,o){for(n=a[o-1],r=0;r<i;++r)a[o+r]=n=D(t[e+r],n)}function G(t,e,r,n,i){var a;for(a=0;a<r;++a){var o=t[e+a],s=o>>8&255,c=16711935&(c=(c=16711935&o)+((s<<16)+s));n[i+a]=(4278255360&o)+c>>>0}}function Y(t,e){e.jd=t>>0&255,e.hd=t>>8&255,e.ud=t>>16&255}function J(t,e,r,n,i,a){var o;for(o=0;o<n;++o){var s=e[r+o],c=s>>>8,u=s,h=255&(h=(h=s>>>16)+((t.jd<<24>>24)*(c<<24>>24)>>>5));u=255&(u=(u=u+((t.hd<<24>>24)*(c<<24>>24)>>>5))+((t.ud<<24>>24)*(h<<24>>24)>>>5));i[a+o]=(4278255360&s)+(h<<16)+u}}function X(e,r,n,i,a){t[r]=function(t,e,r,n,o,s,c,u,h){for(n=c;n<u;++n)for(c=0;c<h;++c)o[s++]=a(r[i(t[e++])])},t[e]=function(e,r,o,s,c,u,h){var l=8>>e.b,f=e.Ea,d=e.K[0],p=e.w;if(8>l)for(e=(1<<e.b)-1,p=(1<<l)-1;r<o;++r){var g,m=0;for(g=0;g<f;++g)g&e||(m=i(s[c++])),u[h++]=a(d[m&p]),m>>=l}else t[\"VP8LMapColor\"+n](s,c,d,p,u,h,r,o,f)}}function K(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>16&255,n[i++]=a>>8&255,n[i++]=a>>0&255}}function Z(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>16&255,n[i++]=a>>8&255,n[i++]=a>>0&255,n[i++]=a>>24&255}}function $(t,e,r,n,i){for(r=e+r;e<r;){var a=(o=t[e++])>>16&240|o>>12&15,o=o>>0&240|o>>28&15;n[i++]=a,n[i++]=o}}function Q(t,e,r,n,i){for(r=e+r;e<r;){var a=(o=t[e++])>>16&248|o>>13&7,o=o>>5&224|o>>3&31;n[i++]=a,n[i++]=o}}function tt(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>0&255,n[i++]=a>>8&255,n[i++]=a>>16&255}}function et(t,e,r,i,a,o){if(0==o)for(r=e+r;e<r;)I(i,((o=t[e++])[0]>>24|o[1]>>8&65280|o[2]<<8&16711680|o[3]<<24)>>>0),a+=32;else n(i,a,t,e,r)}function rt(e,r){t[r][0]=t[e+\"0\"],t[r][1]=t[e+\"1\"],t[r][2]=t[e+\"2\"],t[r][3]=t[e+\"3\"],t[r][4]=t[e+\"4\"],t[r][5]=t[e+\"5\"],t[r][6]=t[e+\"6\"],t[r][7]=t[e+\"7\"],t[r][8]=t[e+\"8\"],t[r][9]=t[e+\"9\"],t[r][10]=t[e+\"10\"],t[r][11]=t[e+\"11\"],t[r][12]=t[e+\"12\"],t[r][13]=t[e+\"13\"],t[r][14]=t[e+\"0\"],t[r][15]=t[e+\"0\"]}function nt(t){return t==Hn||t==Wn||t==Vn||t==Gn}function it(){this.eb=[],this.size=this.A=this.fb=0}function at(){this.y=[],this.f=[],this.ea=[],this.F=[],this.Tc=this.Ed=this.Cd=this.Fd=this.lb=this.Db=this.Ab=this.fa=this.J=this.W=this.N=this.O=0}function ot(){this.Rd=this.height=this.width=this.S=0,this.f={},this.f.RGBA=new it,this.f.kb=new at,this.sd=null}function st(){this.width=[0],this.height=[0],this.Pd=[0],this.Qd=[0],this.format=[0]}function ct(){this.Id=this.fd=this.Md=this.hb=this.ib=this.da=this.bd=this.cd=this.j=this.v=this.Da=this.Sd=this.ob=0}function ut(t){return alert(\"todo:WebPSamplerProcessPlane\"),t.T}function ht(t,e){var r=t.T,i=e.ba.f.RGBA,a=i.eb,o=i.fb+t.ka*i.A,s=vi[e.ba.S],c=t.y,u=t.O,h=t.f,l=t.N,f=t.ea,d=t.W,p=e.cc,g=e.dc,m=e.Mc,v=e.Nc,b=t.ka,y=t.ka+t.T,w=t.U,N=w+1>>1;for(0==b?s(c,u,null,null,h,l,f,d,h,l,f,d,a,o,null,null,w):(s(e.ec,e.fc,c,u,p,g,m,v,h,l,f,d,a,o-i.A,a,o,w),++r);b+2<y;b+=2)p=h,g=l,m=f,v=d,l+=t.Rc,d+=t.Rc,o+=2*i.A,s(c,(u+=2*t.fa)-t.fa,c,u,p,g,m,v,h,l,f,d,a,o-i.A,a,o,w);return u+=t.fa,t.j+y<t.o?(n(e.ec,e.fc,c,u,w),n(e.cc,e.dc,h,l,N),n(e.Mc,e.Nc,f,d,N),r--):1&y||s(c,u,null,null,h,l,f,d,h,l,f,d,a,o+i.A,null,null,w),r}function lt(t,r,n){var i=t.F,a=[t.J];if(null!=i){var o=t.U,s=r.ba.S,c=s==Tn||s==Vn;r=r.ba.f.RGBA;var u=[0],h=t.ka;u[0]=t.T,t.Kb&&(0==h?--u[0]:(--h,a[0]-=t.width),t.j+t.ka+t.T==t.o&&(u[0]=t.o-t.j-h));var l=r.eb;h=r.fb+h*r.A;t=Sn(i,a[0],t.width,o,u,l,h+(c?0:3),r.A),e(n==u),t&&nt(s)&&An(l,h,c,o,u,r.A)}return 0}function ft(t){var e=t.ma,r=e.ba.S,n=11>r,i=r==qn||r==Rn||r==Tn||r==Un||12==r||nt(r);if(e.memory=null,e.Ib=null,e.Jb=null,e.Nd=null,!Mr(e.Oa,t,i?11:12))return 0;if(i&&nt(r)&&br(),t.da)alert(\"todo:use_scaling\");else{if(n){if(e.Ib=ut,t.Kb){if(r=t.U+1>>1,e.memory=a(t.U+2*r),null==e.memory)return 0;e.ec=e.memory,e.fc=0,e.cc=e.ec,e.dc=e.fc+t.U,e.Mc=e.cc,e.Nc=e.dc+r,e.Ib=ht,br()}}else alert(\"todo:EmitYUV\");i&&(e.Jb=lt,n&&mr())}if(n&&!Ci){for(t=0;256>t;++t)ji[t]=89858*(t-128)+_i>>Si,Mi[t]=-22014*(t-128)+_i,Bi[t]=-45773*(t-128),Oi[t]=113618*(t-128)+_i>>Si;for(t=Pi;t<ki;++t)e=76283*(t-16)+_i>>Si,Ei[t-Pi]=Vt(e,255),qi[t-Pi]=Vt(e+8>>4,15);Ci=1}return 1}function dt(t){var r=t.ma,n=t.U,i=t.T;return e(!(1&t.ka)),0>=n||0>=i?0:(n=r.Ib(t,r),null!=r.Jb&&r.Jb(t,r,n),r.Dc+=n,1)}function pt(t){t.ma.memory=null}function gt(t,e,r,n){return 47!=y(t,8)?0:(e[0]=y(t,14)+1,r[0]=y(t,14)+1,n[0]=y(t,1),0!=y(t,3)?0:!t.h)}function mt(t,e){if(4>t)return t+1;var r=t-2>>1;return(2+(1&t)<<r)+y(e,r)+1}function vt(t,e){return 120<e?e-120:1<=(r=((r=$n[e-1])>>4)*t+(8-(15&r)))?r:1;var r}function bt(t,e,r){var n=L(r),i=t[e+=255&n].g-8;return 0<i&&(x(r,r.u+8),n=L(r),e+=t[e].value,e+=n&(1<<i)-1),x(r,r.u+t[e].g),t[e].value}function yt(t,r,n){return n.g+=t.g,n.value+=t.value<<r>>>0,e(8>=n.g),t.g}function wt(t,r,n){var i=t.xc;return e((r=0==i?0:t.vc[t.md*(n>>i)+(r>>i)])<t.Wb),t.Ya[r]}function Nt(t,r,i,a){var o=t.ab,s=t.c*r,c=t.C;r=c+r;var u=i,h=a;for(a=t.Ta,i=t.Ua;0<o--;){var l=t.gc[o],f=c,d=r,p=u,g=h,m=(h=a,u=i,l.Ea);switch(e(f<d),e(d<=l.nc),l.hc){case 2:Gr(p,g,(d-f)*m,h,u);break;case 0:var v=f,b=d,y=h,w=u,N=(_=l).Ea;0==v&&(Wr(p,g,null,null,1,y,w),V(p,g+1,0,0,N-1,y,w+1),g+=N,w+=N,++v);for(var L=1<<_.b,A=L-1,x=q(N,_.b),S=_.K,_=_.w+(v>>_.b)*x;v<b;){var P=S,k=_,I=1;for(Vr(p,g,y,w-N,1,y,w);I<N;){var F=(I&~A)+L;F>N&&(F=N),(0,Zr[P[k++]>>8&15])(p,g+ +I,y,w+I-N,F-I,y,w+I),I=F}g+=N,w+=N,++v&A||(_+=x)}d!=l.nc&&n(h,u-m,h,u+(d-f-1)*m,m);break;case 1:for(m=p,b=g,N=(p=l.Ea)-(w=p&~(y=(g=1<<l.b)-1)),v=q(p,l.b),L=l.K,l=l.w+(f>>l.b)*v;f<d;){for(A=L,x=l,S=new T,_=b+w,P=b+p;b<_;)Y(A[x++],S),$r(S,m,b,g,h,u),b+=g,u+=g;b<P&&(Y(A[x++],S),$r(S,m,b,N,h,u),b+=N,u+=N),++f&y||(l+=v)}break;case 3:if(p==h&&g==u&&0<l.b){for(b=h,p=m=u+(d-f)*m-(w=(d-f)*q(l.Ea,l.b)),g=h,y=u,v=[],w=(N=w)-1;0<=w;--w)v[w]=g[y+w];for(w=N-1;0<=w;--w)b[p+w]=v[w];Yr(l,f,d,h,m,h,u)}else Yr(l,f,d,p,g,h,u)}u=a,h=i}h!=i&&n(a,i,u,h,s)}function Lt(t,r){var n=t.V,i=t.Ba+t.c*t.C,a=r-t.C;if(e(r<=t.l.o),e(16>=a),0<a){var o=t.l,s=t.Ta,c=t.Ua,u=o.width;if(Nt(t,a,n,i),a=c=[c],e((n=t.C)<(i=r)),e(o.v<o.va),i>o.o&&(i=o.o),n<o.j){var h=o.j-n;n=o.j;a[0]+=h*u}if(n>=i?n=0:(a[0]+=4*o.v,o.ka=n-o.j,o.U=o.va-o.v,o.T=i-n,n=1),n){if(c=c[0],11>(n=t.ca).S){var l=n.f.RGBA,f=(i=n.S,a=o.U,o=o.T,h=l.eb,l.A),d=o;for(l=l.fb+t.Ma*l.A;0<d--;){var p=s,g=c,m=a,v=h,b=l;switch(i){case En:Qr(p,g,m,v,b);break;case qn:tn(p,g,m,v,b);break;case Hn:tn(p,g,m,v,b),An(v,b,0,m,1,0);break;case Dn:nn(p,g,m,v,b);break;case Rn:et(p,g,m,v,b,1);break;case Wn:et(p,g,m,v,b,1),An(v,b,0,m,1,0);break;case Tn:et(p,g,m,v,b,0);break;case Vn:et(p,g,m,v,b,0),An(v,b,1,m,1,0);break;case Un:en(p,g,m,v,b);break;case Gn:en(p,g,m,v,b),xn(v,b,m,1,0);break;case zn:rn(p,g,m,v,b);break;default:e(0)}c+=u,l+=f}t.Ma+=o}else alert(\"todo:EmitRescaledRowsYUVA\");e(t.Ma<=n.height)}}t.C=r,e(t.C<=t.i)}function At(t){var e;if(0<t.ua)return 0;for(e=0;e<t.Wb;++e){var r=t.Ya[e].G,n=t.Ya[e].H;if(0<r[1][n[1]+0].g||0<r[2][n[2]+0].g||0<r[3][n[3]+0].g)return 0}return 1}function xt(t,r,n,i,a,o){if(0!=t.Z){var s=t.qd,c=t.rd;for(e(null!=mi[t.Z]);r<n;++r)mi[t.Z](s,c,i,a,i,a,o),s=i,c=a,a+=o;t.qd=s,t.rd=c}}function St(t,r){var n=t.l.ma,i=0==n.Z||1==n.Z?t.l.j:t.C;i=t.C<i?i:t.C;if(e(r<=t.l.o),r>i){var a=t.l.width,o=n.ca,s=n.tb+a*i,c=t.V,u=t.Ba+t.c*i,h=t.gc;e(1==t.ab),e(3==h[0].hc),Xr(h[0],i,r,c,u,o,s),xt(n,i,r,o,s,a)}t.C=t.Ma=r}function _t(t,r,n,i,a,o,s){var c=t.$/i,u=t.$%i,h=t.m,l=t.s,f=n+t.$,d=f;a=n+i*a;var p=n+i*o,g=280+l.ua,m=t.Pb?c:16777216,v=0<l.ua?l.Wa:null,b=l.wc,y=f<p?wt(l,u,c):null;e(t.C<o),e(p<=a);var w=!1;t:for(;;){for(;w||f<p;){var N=0;if(c>=m){var _=f-n;e((m=t).Pb),m.wd=m.m,m.xd=_,0<m.s.ua&&B(m.s.Wa,m.s.vb),m=c+ti}if(u&b||(y=wt(l,u,c)),e(null!=y),y.Qb&&(r[f]=y.qb,w=!0),!w)if(S(h),y.jc){N=h,_=r;var P=f,k=y.pd[L(N)&Dr-1];e(y.jc),256>k.g?(x(N,N.u+k.g),_[P]=k.value,N=0):(x(N,N.u+k.g-256),e(256<=k.value),N=k.value),0==N&&(w=!0)}else N=bt(y.G[0],y.H[0],h);if(h.h)break;if(w||256>N){if(!w)if(y.nd)r[f]=(y.qb|N<<8)>>>0;else{if(S(h),w=bt(y.G[1],y.H[1],h),S(h),_=bt(y.G[2],y.H[2],h),P=bt(y.G[3],y.H[3],h),h.h)break;r[f]=(P<<24|w<<16|N<<8|_)>>>0}if(w=!1,++f,++u>=i&&(u=0,++c,null!=s&&c<=o&&!(c%16)&&s(t,c),null!=v))for(;d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N}else if(280>N){if(N=mt(N-256,h),_=bt(y.G[4],y.H[4],h),S(h),_=vt(i,_=mt(_,h)),h.h)break;if(f-n<_||a-f<N)break t;for(P=0;P<N;++P)r[f+P]=r[f+P-_];for(f+=N,u+=N;u>=i;)u-=i,++c,null!=s&&c<=o&&!(c%16)&&s(t,c);if(e(f<=a),u&b&&(y=wt(l,u,c)),null!=v)for(;d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N}else{if(!(N<g))break t;for(w=N-280,e(null!=v);d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N;N=f,e(!(w>>>(_=v).Xa)),r[N]=_.X[w],w=!0}w||e(h.h==A(h))}if(t.Pb&&h.h&&f<a)e(t.m.h),t.a=5,t.m=t.wd,t.$=t.xd,0<t.s.ua&&B(t.s.vb,t.s.Wa);else{if(h.h)break t;null!=s&&s(t,c>o?o:c),t.a=0,t.$=f-n}return 1}return t.a=3,0}function Pt(t){e(null!=t),t.vc=null,t.yc=null,t.Ya=null;var r=t.Wa;null!=r&&(r.X=null),t.vb=null,e(null!=t)}function kt(){var e=new or;return null==e?null:(e.a=0,e.xb=gi,rt(\"Predictor\",\"VP8LPredictors\"),rt(\"Predictor\",\"VP8LPredictors_C\"),rt(\"PredictorAdd\",\"VP8LPredictorsAdd\"),rt(\"PredictorAdd\",\"VP8LPredictorsAdd_C\"),Gr=G,$r=J,Qr=K,tn=Z,en=$,rn=Q,nn=tt,t.VP8LMapColor32b=Jr,t.VP8LMapColor8b=Kr,e)}function It(t,r,n,s,c){var u=1,f=[t],p=[r],g=s.m,m=s.s,v=null,b=0;t:for(;;){if(n)for(;u&&y(g,1);){var w=f,N=p,A=s,_=1,P=A.m,k=A.gc[A.ab],I=y(P,2);if(A.Oc&1<<I)u=0;else{switch(A.Oc|=1<<I,k.hc=I,k.Ea=w[0],k.nc=N[0],k.K=[null],++A.ab,e(4>=A.ab),I){case 0:case 1:k.b=y(P,3)+2,_=It(q(k.Ea,k.b),q(k.nc,k.b),0,A,k.K),k.K=k.K[0];break;case 3:var F,C=y(P,8)+1,j=16<C?0:4<C?1:2<C?2:3;if(w[0]=q(k.Ea,j),k.b=j,F=_=It(C,1,0,A,k.K)){var B,M=C,E=k,R=1<<(8>>E.b),T=a(R);if(null==T)F=0;else{var U=E.K[0],z=E.w;for(T[0]=E.K[0][0],B=1;B<1*M;++B)T[B]=D(U[z+B],T[B-1]);for(;B<4*R;++B)T[B]=0;E.K[0]=null,E.K[0]=T,F=1}}_=F;break;case 2:break;default:e(0)}u=_}}if(f=f[0],p=p[0],u&&y(g,1)&&!(u=1<=(b=y(g,4))&&11>=b)){s.a=3;break t}var H;if(H=u)e:{var W,V,G,Y=s,J=f,X=p,K=b,Z=n,$=Y.m,Q=Y.s,tt=[null],et=1,rt=0,nt=Qn[K];r:for(;;){if(Z&&y($,1)){var it=y($,3)+2,at=q(J,it),ot=q(X,it),st=at*ot;if(!It(at,ot,0,Y,tt))break r;for(tt=tt[0],Q.xc=it,W=0;W<st;++W){var ct=tt[W]>>8&65535;tt[W]=ct,ct>=et&&(et=ct+1)}}if($.h)break r;for(V=0;5>V;++V){var ut=Xn[V];!V&&0<K&&(ut+=1<<K),rt<ut&&(rt=ut)}var ht=o(et*nt,l),lt=et,ft=o(lt,d);if(null==ft)var dt=null;else e(65536>=lt),dt=ft;var pt=a(rt);if(null==dt||null==pt||null==ht){Y.a=1;break r}var gt=ht;for(W=G=0;W<et;++W){var mt=dt[W],vt=mt.G,bt=mt.H,wt=0,Nt=1,Lt=0;for(V=0;5>V;++V){ut=Xn[V],vt[V]=gt,bt[V]=G,!V&&0<K&&(ut+=1<<K);n:{var At,xt=ut,St=Y,kt=pt,Ft=gt,Ct=G,jt=0,Ot=St.m,Bt=y(Ot,1);if(i(kt,0,0,xt),Bt){var Mt=y(Ot,1)+1,Et=y(Ot,1),qt=y(Ot,0==Et?1:8);kt[qt]=1,2==Mt&&(kt[qt=y(Ot,8)]=1);var Dt=1}else{var Rt=a(19),Tt=y(Ot,4)+4;if(19<Tt){St.a=3;var Ut=0;break n}for(At=0;At<Tt;++At)Rt[Zn[At]]=y(Ot,3);var zt=void 0,Ht=void 0,Wt=St,Vt=Rt,Gt=xt,Yt=kt,Jt=0,Xt=Wt.m,Kt=8,Zt=o(128,l);i:for(;h(Zt,0,7,Vt,19);){if(y(Xt,1)){var $t=2+2*y(Xt,3);if((zt=2+y(Xt,$t))>Gt)break i}else zt=Gt;for(Ht=0;Ht<Gt&&zt--;){S(Xt);var Qt=Zt[0+(127&L(Xt))];x(Xt,Xt.u+Qt.g);var te=Qt.value;if(16>te)Yt[Ht++]=te,0!=te&&(Kt=te);else{var ee=16==te,re=te-16,ne=Jn[re],ie=y(Xt,Yn[re])+ne;if(Ht+ie>Gt)break i;for(var ae=ee?Kt:0;0<ie--;)Yt[Ht++]=ae}}Jt=1;break i}Jt||(Wt.a=3),Dt=Jt}(Dt=Dt&&!Ot.h)&&(jt=h(Ft,Ct,8,kt,xt)),Dt&&0!=jt?Ut=jt:(St.a=3,Ut=0)}if(0==Ut)break r;if(Nt&&1==Kn[V]&&(Nt=0==gt[G].g),wt+=gt[G].g,G+=Ut,3>=V){var oe,se=pt[0];for(oe=1;oe<ut;++oe)pt[oe]>se&&(se=pt[oe]);Lt+=se}}if(mt.nd=Nt,mt.Qb=0,Nt&&(mt.qb=(vt[3][bt[3]+0].value<<24|vt[1][bt[1]+0].value<<16|vt[2][bt[2]+0].value)>>>0,0==wt&&256>vt[0][bt[0]+0].value&&(mt.Qb=1,mt.qb+=vt[0][bt[0]+0].value<<8)),mt.jc=!mt.Qb&&6>Lt,mt.jc){var ce,ue=mt;for(ce=0;ce<Dr;++ce){var he=ce,le=ue.pd[he],fe=ue.G[0][ue.H[0]+he];256<=fe.value?(le.g=fe.g+256,le.value=fe.value):(le.g=0,le.value=0,he>>=yt(fe,8,le),he>>=yt(ue.G[1][ue.H[1]+he],16,le),he>>=yt(ue.G[2][ue.H[2]+he],0,le),yt(ue.G[3][ue.H[3]+he],24,le))}}}Q.vc=tt,Q.Wb=et,Q.Ya=dt,Q.yc=ht,H=1;break e}H=0}if(!(u=H)){s.a=3;break t}if(0<b){if(m.ua=1<<b,!O(m.Wa,b)){s.a=1,u=0;break t}}else m.ua=0;var de=s,pe=f,ge=p,me=de.s,ve=me.xc;if(de.c=pe,de.i=ge,me.md=q(pe,ve),me.wc=0==ve?-1:(1<<ve)-1,n){s.xb=pi;break t}if(null==(v=a(f*p))){s.a=1,u=0;break t}u=(u=_t(s,v,0,f,p,p,null))&&!g.h;break t}return u?(null!=c?c[0]=v:(e(null==v),e(n)),s.$=0,n||Pt(m)):Pt(m),u}function Ft(t,r){var n=t.c*t.i,i=n+r+16*r;return e(t.c<=r),t.V=a(i),null==t.V?(t.Ta=null,t.Ua=0,t.a=1,0):(t.Ta=t.V,t.Ua=t.Ba+n+r,1)}function Ct(t,r){var n=t.C,i=r-n,a=t.V,o=t.Ba+t.c*n;for(e(r<=t.l.o);0<i;){var s=16<i?16:i,c=t.l.ma,u=t.l.width,h=u*s,l=c.ca,f=c.tb+u*n,d=t.Ta,p=t.Ua;Nt(t,s,a,o),_n(d,p,l,f,h),xt(c,n,n+s,l,f,u),i-=s,a+=s*t.c,n+=s}e(n==r),t.C=t.Ma=r}function jt(){this.ub=this.yd=this.td=this.Rb=0}function Ot(){this.Kd=this.Ld=this.Ud=this.Td=this.i=this.c=0}function Bt(){this.Fb=this.Bb=this.Cb=0,this.Zb=a(4),this.Lb=a(4)}function Mt(){this.Yb=function(){var t=[];return function t(e,r,n){for(var i=n[r],a=0;a<i&&(e.push(n.length>r+1?[]:0),!(n.length<r+1));a++)t(e[a],r+1,n)}(t,0,[3,11]),t}()}function Et(){this.jb=a(3),this.Wc=s([4,8],Mt),this.Xc=s([4,17],Mt)}function qt(){this.Pc=this.wb=this.Tb=this.zd=0,this.vd=new a(4),this.od=new a(4)}function Dt(){this.ld=this.La=this.dd=this.tc=0}function Rt(){this.Na=this.la=0}function Tt(){this.Sc=[0,0],this.Eb=[0,0],this.Qc=[0,0],this.ia=this.lc=0}function Ut(){this.ad=a(384),this.Za=0,this.Ob=a(16),this.$b=this.Ad=this.ia=this.Gc=this.Hc=this.Dd=0}function zt(){this.uc=this.M=this.Nb=0,this.wa=Array(new Dt),this.Y=0,this.ya=Array(new Ut),this.aa=0,this.l=new Gt}function Ht(){this.y=a(16),this.f=a(8),this.ea=a(8)}function Wt(){this.cb=this.a=0,this.sc=\"\",this.m=new w,this.Od=new jt,this.Kc=new Ot,this.ed=new qt,this.Qa=new Bt,this.Ic=this.$c=this.Aa=0,this.D=new zt,this.Xb=this.Va=this.Hb=this.zb=this.yb=this.Ub=this.za=0,this.Jc=o(8,w),this.ia=0,this.pb=o(4,Tt),this.Pa=new Et,this.Bd=this.kc=0,this.Ac=[],this.Bc=0,this.zc=[0,0,0,0],this.Gd=Array(new Ht),this.Hd=0,this.rb=Array(new Rt),this.sb=0,this.wa=Array(new Dt),this.Y=0,this.oc=[],this.pc=0,this.sa=[],this.ta=0,this.qa=[],this.ra=0,this.Ha=[],this.B=this.R=this.Ia=0,this.Ec=[],this.M=this.ja=this.Vb=this.Fc=0,this.ya=Array(new Ut),this.L=this.aa=0,this.gd=s([4,2],Dt),this.ga=null,this.Fa=[],this.Cc=this.qc=this.P=0,this.Gb=[],this.Uc=0,this.mb=[],this.nb=0,this.rc=[],this.Ga=this.Vc=0}function Vt(t,e){return 0>t?0:t>e?e:t}function Gt(){this.T=this.U=this.ka=this.height=this.width=0,this.y=[],this.f=[],this.ea=[],this.Rc=this.fa=this.W=this.N=this.O=0,this.ma=\"void\",this.put=\"VP8IoPutHook\",this.ac=\"VP8IoSetupHook\",this.bc=\"VP8IoTeardownHook\",this.ha=this.Kb=0,this.data=[],this.hb=this.ib=this.da=this.o=this.j=this.va=this.v=this.Da=this.ob=this.w=0,this.F=[],this.J=0}function Yt(){var t=new Wt;return null!=t&&(t.a=0,t.sc=\"OK\",t.cb=0,t.Xb=0,ni||(ni=Zt)),t}function Jt(t,e,r){return 0==t.a&&(t.a=e,t.sc=r,t.cb=0),0}function Xt(t,e,r){return 3<=r&&157==t[e+0]&&1==t[e+1]&&42==t[e+2]}function Kt(t,r){if(null==t)return 0;if(t.a=0,t.sc=\"OK\",null==r)return Jt(t,2,\"null VP8Io passed to VP8GetHeaders()\");var n=r.data,a=r.w,o=r.ha;if(4>o)return Jt(t,7,\"Truncated header.\");var s=n[a+0]|n[a+1]<<8|n[a+2]<<16,c=t.Od;if(c.Rb=!(1&s),c.td=s>>1&7,c.yd=s>>4&1,c.ub=s>>5,3<c.td)return Jt(t,3,\"Incorrect keyframe parameters.\");if(!c.yd)return Jt(t,4,\"Frame not displayable.\");a+=3,o-=3;var u=t.Kc;if(c.Rb){if(7>o)return Jt(t,7,\"cannot parse picture header\");if(!Xt(n,a,o))return Jt(t,3,\"Bad code word\");u.c=16383&(n[a+4]<<8|n[a+3]),u.Td=n[a+4]>>6,u.i=16383&(n[a+6]<<8|n[a+5]),u.Ud=n[a+6]>>6,a+=7,o-=7,t.za=u.c+15>>4,t.Ub=u.i+15>>4,r.width=u.c,r.height=u.i,r.Da=0,r.j=0,r.v=0,r.va=r.width,r.o=r.height,r.da=0,r.ib=r.width,r.hb=r.height,r.U=r.width,r.T=r.height,i((s=t.Pa).jb,0,255,s.jb.length),e(null!=(s=t.Qa)),s.Cb=0,s.Bb=0,s.Fb=1,i(s.Zb,0,0,s.Zb.length),i(s.Lb,0,0,s.Lb)}if(c.ub>o)return Jt(t,7,\"bad partition length\");p(s=t.m,n,a,c.ub),a+=c.ub,o-=c.ub,c.Rb&&(u.Ld=P(s),u.Kd=P(s)),u=t.Qa;var h,l=t.Pa;if(e(null!=s),e(null!=u),u.Cb=P(s),u.Cb){if(u.Bb=P(s),P(s)){for(u.Fb=P(s),h=0;4>h;++h)u.Zb[h]=P(s)?m(s,7):0;for(h=0;4>h;++h)u.Lb[h]=P(s)?m(s,6):0}if(u.Bb)for(h=0;3>h;++h)l.jb[h]=P(s)?g(s,8):255}else u.Bb=0;if(s.Ka)return Jt(t,3,\"cannot parse segment header\");if((u=t.ed).zd=P(s),u.Tb=g(s,6),u.wb=g(s,3),u.Pc=P(s),u.Pc&&P(s)){for(l=0;4>l;++l)P(s)&&(u.vd[l]=m(s,6));for(l=0;4>l;++l)P(s)&&(u.od[l]=m(s,6))}if(t.L=0==u.Tb?0:u.zd?1:2,s.Ka)return Jt(t,3,\"cannot parse filter header\");var f=o;if(o=h=a,a=h+f,u=f,t.Xb=(1<<g(t.m,2))-1,f<3*(l=t.Xb))n=7;else{for(h+=3*l,u-=3*l,f=0;f<l;++f){var d=n[o+0]|n[o+1]<<8|n[o+2]<<16;d>u&&(d=u),p(t.Jc[+f],n,h,d),h+=d,u-=d,o+=3}p(t.Jc[+l],n,h,u),n=h<a?0:5}if(0!=n)return Jt(t,n,\"cannot parse partitions\");for(n=g(h=t.m,7),o=P(h)?m(h,4):0,a=P(h)?m(h,4):0,u=P(h)?m(h,4):0,l=P(h)?m(h,4):0,h=P(h)?m(h,4):0,f=t.Qa,d=0;4>d;++d){if(f.Cb){var v=f.Zb[d];f.Fb||(v+=n)}else{if(0<d){t.pb[d]=t.pb[0];continue}v=n}var b=t.pb[d];b.Sc[0]=ei[Vt(v+o,127)],b.Sc[1]=ri[Vt(v+0,127)],b.Eb[0]=2*ei[Vt(v+a,127)],b.Eb[1]=101581*ri[Vt(v+u,127)]>>16,8>b.Eb[1]&&(b.Eb[1]=8),b.Qc[0]=ei[Vt(v+l,117)],b.Qc[1]=ri[Vt(v+h,127)],b.lc=v+h}if(!c.Rb)return Jt(t,4,\"Not a key frame.\");for(P(s),c=t.Pa,n=0;4>n;++n){for(o=0;8>o;++o)for(a=0;3>a;++a)for(u=0;11>u;++u)l=k(s,ui[n][o][a][u])?g(s,8):si[n][o][a][u],c.Wc[n][o].Yb[a][u]=l;for(o=0;17>o;++o)c.Xc[n][o]=c.Wc[n][hi[o]]}return t.kc=P(s),t.kc&&(t.Bd=g(s,8)),t.cb=1}function Zt(t,e,r,n,i,a,o){var s=e[i].Yb[r];for(r=0;16>i;++i){if(!k(t,s[r+0]))return i;for(;!k(t,s[r+1]);)if(s=e[++i].Yb[0],r=0,16==i)return 16;var c=e[i+1].Yb;if(k(t,s[r+2])){var u=t,h=0;if(k(u,(f=s)[(l=r)+3]))if(k(u,f[l+6])){for(s=0,l=2*(h=k(u,f[l+8]))+(f=k(u,f[l+9+h])),h=0,f=ii[l];f[s];++s)h+=h+k(u,f[s]);h+=3+(8<<l)}else k(u,f[l+7])?(h=7+2*k(u,165),h+=k(u,145)):h=5+k(u,159);else h=k(u,f[l+4])?3+k(u,f[l+5]):2;s=c[2]}else h=1,s=c[1];c=o+ai[i],0>(u=t).b&&_(u);var l,f=u.b,d=(l=u.Ca>>1)-(u.I>>f)>>31;--u.b,u.Ca+=d,u.Ca|=1,u.I-=(l+1&d)<<f,a[c]=((h^d)-d)*n[(0<i)+0]}return 16}function $t(t){var e=t.rb[t.sb-1];e.la=0,e.Na=0,i(t.zc,0,0,t.zc.length),t.ja=0}function Qt(t,r){if(null==t)return 0;if(null==r)return Jt(t,2,\"NULL VP8Io parameter in VP8Decode().\");if(!t.cb&&!Kt(t,r))return 0;if(e(t.cb),null==r.ac||r.ac(r)){r.ob&&(t.L=0);var s=Ri[t.L];if(2==t.L?(t.yb=0,t.zb=0):(t.yb=r.v-s>>4,t.zb=r.j-s>>4,0>t.yb&&(t.yb=0),0>t.zb&&(t.zb=0)),t.Va=r.o+15+s>>4,t.Hb=r.va+15+s>>4,t.Hb>t.za&&(t.Hb=t.za),t.Va>t.Ub&&(t.Va=t.Ub),0<t.L){var c=t.ed;for(s=0;4>s;++s){var u;if(t.Qa.Cb){var h=t.Qa.Lb[s];t.Qa.Fb||(h+=c.Tb)}else h=c.Tb;for(u=0;1>=u;++u){var l=t.gd[s][u],f=h;if(c.Pc&&(f+=c.vd[0],u&&(f+=c.od[0])),0<(f=0>f?0:63<f?63:f)){var d=f;0<c.wb&&((d=4<c.wb?d>>2:d>>1)>9-c.wb&&(d=9-c.wb)),1>d&&(d=1),l.dd=d,l.tc=2*f+d,l.ld=40<=f?2:15<=f?1:0}else l.tc=0;l.La=u}}}s=0}else Jt(t,6,\"Frame setup failed\"),s=t.a;if(s=0==s){if(s){t.$c=0,0<t.Aa||(t.Ic=Ui);t:{s=t.Ic;c=4*(d=t.za);var p=32*d,g=d+1,m=0<t.L?d*(0<t.Aa?2:1):0,v=(2==t.Aa?2:1)*d;if((l=c+832+(u=3*(16*s+Ri[t.L])/2*p)+(h=null!=t.Fa&&0<t.Fa.length?t.Kc.c*t.Kc.i:0))!=l)s=0;else{if(l>t.Vb){if(t.Vb=0,t.Ec=a(l),t.Fc=0,null==t.Ec){s=Jt(t,1,\"no memory during frame initialization.\");break t}t.Vb=l}l=t.Ec,f=t.Fc,t.Ac=l,t.Bc=f,f+=c,t.Gd=o(p,Ht),t.Hd=0,t.rb=o(g+1,Rt),t.sb=1,t.wa=m?o(m,Dt):null,t.Y=0,t.D.Nb=0,t.D.wa=t.wa,t.D.Y=t.Y,0<t.Aa&&(t.D.Y+=d),e(!0),t.oc=l,t.pc=f,f+=832,t.ya=o(v,Ut),t.aa=0,t.D.ya=t.ya,t.D.aa=t.aa,2==t.Aa&&(t.D.aa+=d),t.R=16*d,t.B=8*d,d=(p=Ri[t.L])*t.R,p=p/2*t.B,t.sa=l,t.ta=f+d,t.qa=t.sa,t.ra=t.ta+16*s*t.R+p,t.Ha=t.qa,t.Ia=t.ra+8*s*t.B+p,t.$c=0,f+=u,t.mb=h?l:null,t.nb=h?f:null,e(f+h<=t.Fc+t.Vb),$t(t),i(t.Ac,t.Bc,0,c),s=1}}if(s){if(r.ka=0,r.y=t.sa,r.O=t.ta,r.f=t.qa,r.N=t.ra,r.ea=t.Ha,r.Vd=t.Ia,r.fa=t.R,r.Rc=t.B,r.F=null,r.J=0,!Cn){for(s=-255;255>=s;++s)Pn[255+s]=0>s?-s:s;for(s=-1020;1020>=s;++s)kn[1020+s]=-128>s?-128:127<s?127:s;for(s=-112;112>=s;++s)In[112+s]=-16>s?-16:15<s?15:s;for(s=-255;510>=s;++s)Fn[255+s]=0>s?0:255<s?255:s;Cn=1}an=ue,on=ae,cn=oe,un=se,hn=ce,sn=ie,ln=Je,fn=Xe,dn=$e,pn=Qe,gn=Ke,mn=Ze,vn=tr,bn=er,yn=ze,wn=He,Nn=We,Ln=Ve,fi[0]=xe,fi[1]=le,fi[2]=Le,fi[3]=Ae,fi[4]=Se,fi[5]=Pe,fi[6]=_e,fi[7]=ke,fi[8]=Fe,fi[9]=Ie,li[0]=ve,li[1]=de,li[2]=pe,li[3]=ge,li[4]=be,li[5]=ye,li[6]=we,di[0]=Be,di[1]=fe,di[2]=Ce,di[3]=je,di[4]=Ee,di[5]=Me,di[6]=qe,s=1}else s=0}s&&(s=function(t,r){for(t.M=0;t.M<t.Va;++t.M){var o,s=t.Jc[t.M&t.Xb],c=t.m,u=t;for(o=0;o<u.za;++o){var h=c,l=u,f=l.Ac,d=l.Bc+4*o,p=l.zc,g=l.ya[l.aa+o];if(l.Qa.Bb?g.$b=k(h,l.Pa.jb[0])?2+k(h,l.Pa.jb[2]):k(h,l.Pa.jb[1]):g.$b=0,l.kc&&(g.Ad=k(h,l.Bd)),g.Za=!k(h,145)+0,g.Za){var m=g.Ob,v=0;for(l=0;4>l;++l){var b,y=p[0+l];for(b=0;4>b;++b){y=ci[f[d+b]][y];for(var w=oi[k(h,y[0])];0<w;)w=oi[2*w+k(h,y[w])];y=-w,f[d+b]=y}n(m,v,f,d,4),v+=4,p[0+l]=y}}else y=k(h,156)?k(h,128)?1:3:k(h,163)?2:0,g.Ob[0]=y,i(f,d,y,4),i(p,0,y,4);g.Dd=k(h,142)?k(h,114)?k(h,183)?1:3:2:0}if(u.m.Ka)return Jt(t,7,\"Premature end-of-partition0 encountered.\");for(;t.ja<t.za;++t.ja){if(u=s,h=(c=t).rb[c.sb-1],f=c.rb[c.sb+c.ja],o=c.ya[c.aa+c.ja],d=c.kc?o.Ad:0)h.la=f.la=0,o.Za||(h.Na=f.Na=0),o.Hc=0,o.Gc=0,o.ia=0;else{var N,L;h=f,f=u,d=c.Pa.Xc,p=c.ya[c.aa+c.ja],g=c.pb[p.$b];if(l=p.ad,m=0,v=c.rb[c.sb-1],y=b=0,i(l,m,0,384),p.Za)var A=0,x=d[3];else{w=a(16);var S=h.Na+v.Na;if(S=ni(f,d[1],S,g.Eb,0,w,0),h.Na=v.Na=(0<S)+0,1<S)an(w,0,l,m);else{var _=w[0]+3>>3;for(w=0;256>w;w+=16)l[m+w]=_}A=1,x=d[0]}var P=15&h.la,I=15&v.la;for(w=0;4>w;++w){var F=1&I;for(_=L=0;4>_;++_)P=P>>1|(F=(S=ni(f,x,S=F+(1&P),g.Sc,A,l,m))>A)<<7,L=L<<2|(3<S?3:1<S?2:0!=l[m+0]),m+=16;P>>=4,I=I>>1|F<<7,b=(b<<8|L)>>>0}for(x=P,A=I>>4,N=0;4>N;N+=2){for(L=0,P=h.la>>4+N,I=v.la>>4+N,w=0;2>w;++w){for(F=1&I,_=0;2>_;++_)S=F+(1&P),P=P>>1|(F=0<(S=ni(f,d[2],S,g.Qc,0,l,m)))<<3,L=L<<2|(3<S?3:1<S?2:0!=l[m+0]),m+=16;P>>=2,I=I>>1|F<<5}y|=L<<4*N,x|=P<<4<<N,A|=(240&I)<<N}h.la=x,v.la=A,p.Hc=b,p.Gc=y,p.ia=43690&y?0:g.ia,d=!(b|y)}if(0<c.L&&(c.wa[c.Y+c.ja]=c.gd[o.$b][o.Za],c.wa[c.Y+c.ja].La|=!d),u.Ka)return Jt(t,7,\"Premature end-of-file encountered.\")}if($t(t),c=r,u=1,o=(s=t).D,h=0<s.L&&s.M>=s.zb&&s.M<=s.Va,0==s.Aa)t:{if(o.M=s.M,o.uc=h,Or(s,o),u=1,o=(L=s.D).Nb,h=(y=Ri[s.L])*s.R,f=y/2*s.B,w=16*o*s.R,_=8*o*s.B,d=s.sa,p=s.ta-h+w,g=s.qa,l=s.ra-f+_,m=s.Ha,v=s.Ia-f+_,I=0==(P=L.M),b=P>=s.Va-1,2==s.Aa&&Or(s,L),L.uc)for(F=(S=s).D.M,e(S.D.uc),L=S.yb;L<S.Hb;++L){A=L,x=F;var C=(j=(U=S).D).Nb;N=U.R;var j=j.wa[j.Y+A],O=U.sa,B=U.ta+16*C*N+16*A,M=j.dd,E=j.tc;if(0!=E)if(e(3<=E),1==U.L)0<A&&wn(O,B,N,E+4),j.La&&Ln(O,B,N,E),0<x&&yn(O,B,N,E+4),j.La&&Nn(O,B,N,E);else{var q=U.B,D=U.qa,R=U.ra+8*C*q+8*A,T=U.Ha,U=U.Ia+8*C*q+8*A;C=j.ld;0<A&&(fn(O,B,N,E+4,M,C),pn(D,R,T,U,q,E+4,M,C)),j.La&&(mn(O,B,N,E,M,C),bn(D,R,T,U,q,E,M,C)),0<x&&(ln(O,B,N,E+4,M,C),dn(D,R,T,U,q,E+4,M,C)),j.La&&(gn(O,B,N,E,M,C),vn(D,R,T,U,q,E,M,C))}}if(s.ia&&alert(\"todo:DitherRow\"),null!=c.put){if(L=16*P,P=16*(P+1),I?(c.y=s.sa,c.O=s.ta+w,c.f=s.qa,c.N=s.ra+_,c.ea=s.Ha,c.W=s.Ia+_):(L-=y,c.y=d,c.O=p,c.f=g,c.N=l,c.ea=m,c.W=v),b||(P-=y),P>c.o&&(P=c.o),c.F=null,c.J=null,null!=s.Fa&&0<s.Fa.length&&L<P&&(c.J=lr(s,c,L,P-L),c.F=s.mb,null==c.F&&0==c.F.length)){u=Jt(s,3,\"Could not decode alpha data.\");break t}L<c.j&&(y=c.j-L,L=c.j,e(!(1&y)),c.O+=s.R*y,c.N+=s.B*(y>>1),c.W+=s.B*(y>>1),null!=c.F&&(c.J+=c.width*y)),L<P&&(c.O+=c.v,c.N+=c.v>>1,c.W+=c.v>>1,null!=c.F&&(c.J+=c.v),c.ka=L-c.j,c.U=c.va-c.v,c.T=P-L,u=c.put(c))}o+1!=s.Ic||b||(n(s.sa,s.ta-h,d,p+16*s.R,h),n(s.qa,s.ra-f,g,l+8*s.B,f),n(s.Ha,s.Ia-f,m,v+8*s.B,f))}if(!u)return Jt(t,6,\"Output aborted.\")}return 1}(t,r)),null!=r.bc&&r.bc(r),s&=1}return s?(t.cb=0,s):0}function te(t,e,r,n,i){i=t[e+r+32*n]+(i>>3),t[e+r+32*n]=-256&i?0>i?0:255:i}function ee(t,e,r,n,i,a){te(t,e,0,r,n+i),te(t,e,1,r,n+a),te(t,e,2,r,n-a),te(t,e,3,r,n-i)}function re(t){return(20091*t>>16)+t}function ne(t,e,r,n){var i,o=0,s=a(16);for(i=0;4>i;++i){var c=t[e+0]+t[e+8],u=t[e+0]-t[e+8],h=(35468*t[e+4]>>16)-re(t[e+12]),l=re(t[e+4])+(35468*t[e+12]>>16);s[o+0]=c+l,s[o+1]=u+h,s[o+2]=u-h,s[o+3]=c-l,o+=4,e++}for(i=o=0;4>i;++i)c=(t=s[o+0]+4)+s[o+8],u=t-s[o+8],h=(35468*s[o+4]>>16)-re(s[o+12]),te(r,n,0,0,c+(l=re(s[o+4])+(35468*s[o+12]>>16))),te(r,n,1,0,u+h),te(r,n,2,0,u-h),te(r,n,3,0,c-l),o++,n+=32}function ie(t,e,r,n){var i=t[e+0]+4,a=35468*t[e+4]>>16,o=re(t[e+4]),s=35468*t[e+1]>>16;ee(r,n,0,i+o,t=re(t[e+1]),s),ee(r,n,1,i+a,t,s),ee(r,n,2,i-a,t,s),ee(r,n,3,i-o,t,s)}function ae(t,e,r,n,i){ne(t,e,r,n),i&&ne(t,e+16,r,n+4)}function oe(t,e,r,n){on(t,e+0,r,n,1),on(t,e+32,r,n+128,1)}function se(t,e,r,n){var i;for(t=t[e+0]+4,i=0;4>i;++i)for(e=0;4>e;++e)te(r,n,e,i,t)}function ce(t,e,r,n){t[e+0]&&un(t,e+0,r,n),t[e+16]&&un(t,e+16,r,n+4),t[e+32]&&un(t,e+32,r,n+128),t[e+48]&&un(t,e+48,r,n+128+4)}function ue(t,e,r,n){var i,o=a(16);for(i=0;4>i;++i){var s=t[e+0+i]+t[e+12+i],c=t[e+4+i]+t[e+8+i],u=t[e+4+i]-t[e+8+i],h=t[e+0+i]-t[e+12+i];o[0+i]=s+c,o[8+i]=s-c,o[4+i]=h+u,o[12+i]=h-u}for(i=0;4>i;++i)s=(t=o[0+4*i]+3)+o[3+4*i],c=o[1+4*i]+o[2+4*i],u=o[1+4*i]-o[2+4*i],h=t-o[3+4*i],r[n+0]=s+c>>3,r[n+16]=h+u>>3,r[n+32]=s-c>>3,r[n+48]=h-u>>3,n+=64}function he(t,e,r){var n,i=e-32,a=Bn,o=255-t[i-1];for(n=0;n<r;++n){var s,c=a,u=o+t[e-1];for(s=0;s<r;++s)t[e+s]=c[u+t[i+s]];e+=32}}function le(t,e){he(t,e,4)}function fe(t,e){he(t,e,8)}function de(t,e){he(t,e,16)}function pe(t,e){var r;for(r=0;16>r;++r)n(t,e+32*r,t,e-32,16)}function ge(t,e){var r;for(r=16;0<r;--r)i(t,e,t[e-1],16),e+=32}function me(t,e,r){var n;for(n=0;16>n;++n)i(e,r+32*n,t,16)}function ve(t,e){var r,n=16;for(r=0;16>r;++r)n+=t[e-1+32*r]+t[e+r-32];me(n>>5,t,e)}function be(t,e){var r,n=8;for(r=0;16>r;++r)n+=t[e-1+32*r];me(n>>4,t,e)}function ye(t,e){var r,n=8;for(r=0;16>r;++r)n+=t[e+r-32];me(n>>4,t,e)}function we(t,e){me(128,t,e)}function Ne(t,e,r){return t+2*e+r+2>>2}function Le(t,e){var r,i=e-32;i=new Uint8Array([Ne(t[i-1],t[i+0],t[i+1]),Ne(t[i+0],t[i+1],t[i+2]),Ne(t[i+1],t[i+2],t[i+3]),Ne(t[i+2],t[i+3],t[i+4])]);for(r=0;4>r;++r)n(t,e+32*r,i,0,i.length)}function Ae(t,e){var r=t[e-1],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96];I(t,e+0,16843009*Ne(t[e-1-32],r,n)),I(t,e+32,16843009*Ne(r,n,i)),I(t,e+64,16843009*Ne(n,i,a)),I(t,e+96,16843009*Ne(i,a,a))}function xe(t,e){var r,n=4;for(r=0;4>r;++r)n+=t[e+r-32]+t[e-1+32*r];for(n>>=3,r=0;4>r;++r)i(t,e+32*r,n,4)}function Se(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1-32],o=t[e+0-32],s=t[e+1-32],c=t[e+2-32],u=t[e+3-32];t[e+0+96]=Ne(n,i,t[e-1+96]),t[e+1+96]=t[e+0+64]=Ne(r,n,i),t[e+2+96]=t[e+1+64]=t[e+0+32]=Ne(a,r,n),t[e+3+96]=t[e+2+64]=t[e+1+32]=t[e+0+0]=Ne(o,a,r),t[e+3+64]=t[e+2+32]=t[e+1+0]=Ne(s,o,a),t[e+3+32]=t[e+2+0]=Ne(c,s,o),t[e+3+0]=Ne(u,c,s)}function _e(t,e){var r=t[e+1-32],n=t[e+2-32],i=t[e+3-32],a=t[e+4-32],o=t[e+5-32],s=t[e+6-32],c=t[e+7-32];t[e+0+0]=Ne(t[e+0-32],r,n),t[e+1+0]=t[e+0+32]=Ne(r,n,i),t[e+2+0]=t[e+1+32]=t[e+0+64]=Ne(n,i,a),t[e+3+0]=t[e+2+32]=t[e+1+64]=t[e+0+96]=Ne(i,a,o),t[e+3+32]=t[e+2+64]=t[e+1+96]=Ne(a,o,s),t[e+3+64]=t[e+2+96]=Ne(o,s,c),t[e+3+96]=Ne(s,c,c)}function Pe(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1-32],o=t[e+0-32],s=t[e+1-32],c=t[e+2-32],u=t[e+3-32];t[e+0+0]=t[e+1+64]=a+o+1>>1,t[e+1+0]=t[e+2+64]=o+s+1>>1,t[e+2+0]=t[e+3+64]=s+c+1>>1,t[e+3+0]=c+u+1>>1,t[e+0+96]=Ne(i,n,r),t[e+0+64]=Ne(n,r,a),t[e+0+32]=t[e+1+96]=Ne(r,a,o),t[e+1+32]=t[e+2+96]=Ne(a,o,s),t[e+2+32]=t[e+3+96]=Ne(o,s,c),t[e+3+32]=Ne(s,c,u)}function ke(t,e){var r=t[e+0-32],n=t[e+1-32],i=t[e+2-32],a=t[e+3-32],o=t[e+4-32],s=t[e+5-32],c=t[e+6-32],u=t[e+7-32];t[e+0+0]=r+n+1>>1,t[e+1+0]=t[e+0+64]=n+i+1>>1,t[e+2+0]=t[e+1+64]=i+a+1>>1,t[e+3+0]=t[e+2+64]=a+o+1>>1,t[e+0+32]=Ne(r,n,i),t[e+1+32]=t[e+0+96]=Ne(n,i,a),t[e+2+32]=t[e+1+96]=Ne(i,a,o),t[e+3+32]=t[e+2+96]=Ne(a,o,s),t[e+3+64]=Ne(o,s,c),t[e+3+96]=Ne(s,c,u)}function Ie(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96];t[e+0+0]=r+n+1>>1,t[e+2+0]=t[e+0+32]=n+i+1>>1,t[e+2+32]=t[e+0+64]=i+a+1>>1,t[e+1+0]=Ne(r,n,i),t[e+3+0]=t[e+1+32]=Ne(n,i,a),t[e+3+32]=t[e+1+64]=Ne(i,a,a),t[e+3+64]=t[e+2+64]=t[e+0+96]=t[e+1+96]=t[e+2+96]=t[e+3+96]=a}function Fe(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96],o=t[e-1-32],s=t[e+0-32],c=t[e+1-32],u=t[e+2-32];t[e+0+0]=t[e+2+32]=r+o+1>>1,t[e+0+32]=t[e+2+64]=n+r+1>>1,t[e+0+64]=t[e+2+96]=i+n+1>>1,t[e+0+96]=a+i+1>>1,t[e+3+0]=Ne(s,c,u),t[e+2+0]=Ne(o,s,c),t[e+1+0]=t[e+3+32]=Ne(r,o,s),t[e+1+32]=t[e+3+64]=Ne(n,r,o),t[e+1+64]=t[e+3+96]=Ne(i,n,r),t[e+1+96]=Ne(a,i,n)}function Ce(t,e){var r;for(r=0;8>r;++r)n(t,e+32*r,t,e-32,8)}function je(t,e){var r;for(r=0;8>r;++r)i(t,e,t[e-1],8),e+=32}function Oe(t,e,r){var n;for(n=0;8>n;++n)i(e,r+32*n,t,8)}function Be(t,e){var r,n=8;for(r=0;8>r;++r)n+=t[e+r-32]+t[e-1+32*r];Oe(n>>4,t,e)}function Me(t,e){var r,n=4;for(r=0;8>r;++r)n+=t[e+r-32];Oe(n>>3,t,e)}function Ee(t,e){var r,n=4;for(r=0;8>r;++r)n+=t[e-1+32*r];Oe(n>>3,t,e)}function qe(t,e){Oe(128,t,e)}function De(t,e,r){var n=t[e-r],i=t[e+0],a=3*(i-n)+jn[1020+t[e-2*r]-t[e+r]],o=On[112+(a+4>>3)];t[e-r]=Bn[255+n+On[112+(a+3>>3)]],t[e+0]=Bn[255+i-o]}function Re(t,e,r,n){var i=t[e+0],a=t[e+r];return Mn[255+t[e-2*r]-t[e-r]]>n||Mn[255+a-i]>n}function Te(t,e,r,n){return 4*Mn[255+t[e-r]-t[e+0]]+Mn[255+t[e-2*r]-t[e+r]]<=n}function Ue(t,e,r,n,i){var a=t[e-3*r],o=t[e-2*r],s=t[e-r],c=t[e+0],u=t[e+r],h=t[e+2*r],l=t[e+3*r];return 4*Mn[255+s-c]+Mn[255+o-u]>n?0:Mn[255+t[e-4*r]-a]<=i&&Mn[255+a-o]<=i&&Mn[255+o-s]<=i&&Mn[255+l-h]<=i&&Mn[255+h-u]<=i&&Mn[255+u-c]<=i}function ze(t,e,r,n){var i=2*n+1;for(n=0;16>n;++n)Te(t,e+n,r,i)&&De(t,e+n,r)}function He(t,e,r,n){var i=2*n+1;for(n=0;16>n;++n)Te(t,e+n*r,1,i)&&De(t,e+n*r,1)}function We(t,e,r,n){var i;for(i=3;0<i;--i)ze(t,e+=4*r,r,n)}function Ve(t,e,r,n){var i;for(i=3;0<i;--i)He(t,e+=4,r,n)}function Ge(t,e,r,n,i,a,o,s){for(a=2*a+1;0<i--;){if(Ue(t,e,r,a,o))if(Re(t,e,r,s))De(t,e,r);else{var c=t,u=e,h=r,l=c[u-2*h],f=c[u-h],d=c[u+0],p=c[u+h],g=c[u+2*h],m=27*(b=jn[1020+3*(d-f)+jn[1020+l-p]])+63>>7,v=18*b+63>>7,b=9*b+63>>7;c[u-3*h]=Bn[255+c[u-3*h]+b],c[u-2*h]=Bn[255+l+v],c[u-h]=Bn[255+f+m],c[u+0]=Bn[255+d-m],c[u+h]=Bn[255+p-v],c[u+2*h]=Bn[255+g-b]}e+=n}}function Ye(t,e,r,n,i,a,o,s){for(a=2*a+1;0<i--;){if(Ue(t,e,r,a,o))if(Re(t,e,r,s))De(t,e,r);else{var c=t,u=e,h=r,l=c[u-h],f=c[u+0],d=c[u+h],p=On[112+((g=3*(f-l))+4>>3)],g=On[112+(g+3>>3)],m=p+1>>1;c[u-2*h]=Bn[255+c[u-2*h]+m],c[u-h]=Bn[255+l+g],c[u+0]=Bn[255+f-p],c[u+h]=Bn[255+d-m]}e+=n}}function Je(t,e,r,n,i,a){Ge(t,e,r,1,16,n,i,a)}function Xe(t,e,r,n,i,a){Ge(t,e,1,r,16,n,i,a)}function Ke(t,e,r,n,i,a){var o;for(o=3;0<o;--o)Ye(t,e+=4*r,r,1,16,n,i,a)}function Ze(t,e,r,n,i,a){var o;for(o=3;0<o;--o)Ye(t,e+=4,1,r,16,n,i,a)}function $e(t,e,r,n,i,a,o,s){Ge(t,e,i,1,8,a,o,s),Ge(r,n,i,1,8,a,o,s)}function Qe(t,e,r,n,i,a,o,s){Ge(t,e,1,i,8,a,o,s),Ge(r,n,1,i,8,a,o,s)}function tr(t,e,r,n,i,a,o,s){Ye(t,e+4*i,i,1,8,a,o,s),Ye(r,n+4*i,i,1,8,a,o,s)}function er(t,e,r,n,i,a,o,s){Ye(t,e+4,1,i,8,a,o,s),Ye(r,n+4,1,i,8,a,o,s)}function rr(){this.ba=new ot,this.ec=[],this.cc=[],this.Mc=[],this.Dc=this.Nc=this.dc=this.fc=0,this.Oa=new ct,this.memory=0,this.Ib=\"OutputFunc\",this.Jb=\"OutputAlphaFunc\",this.Nd=\"OutputRowFunc\"}function nr(){this.data=[],this.offset=this.kd=this.ha=this.w=0,this.na=[],this.xa=this.gb=this.Ja=this.Sa=this.P=0}function ir(){this.nc=this.Ea=this.b=this.hc=0,this.K=[],this.w=0}function ar(){this.ua=0,this.Wa=new M,this.vb=new M,this.md=this.xc=this.wc=0,this.vc=[],this.Wb=0,this.Ya=new d,this.yc=new l}function or(){this.xb=this.a=0,this.l=new Gt,this.ca=new ot,this.V=[],this.Ba=0,this.Ta=[],this.Ua=0,this.m=new N,this.Pb=0,this.wd=new N,this.Ma=this.$=this.C=this.i=this.c=this.xd=0,this.s=new ar,this.ab=0,this.gc=o(4,ir),this.Oc=0}function sr(){this.Lc=this.Z=this.$a=this.i=this.c=0,this.l=new Gt,this.ic=0,this.ca=[],this.tb=0,this.qd=null,this.rd=0}function cr(t,e,r,n,i,a,o){for(t=null==t?0:t[e+0],e=0;e<o;++e)i[a+e]=t+r[n+e]&255,t=i[a+e]}function ur(t,e,r,n,i,a,o){var s;if(null==t)cr(null,null,r,n,i,a,o);else for(s=0;s<o;++s)i[a+s]=t[e+s]+r[n+s]&255}function hr(t,e,r,n,i,a,o){if(null==t)cr(null,null,r,n,i,a,o);else{var s,c=t[e+0],u=c,h=c;for(s=0;s<o;++s)u=h+(c=t[e+s])-u,h=r[n+s]+(-256&u?0>u?0:255:u)&255,u=c,i[a+s]=h}}function lr(t,r,i,o){var s=r.width,c=r.o;if(e(null!=t&&null!=r),0>i||0>=o||i+o>c)return null;if(!t.Cc){if(null==t.ga){var u;if(t.ga=new sr,(u=null==t.ga)||(u=r.width*r.o,e(0==t.Gb.length),t.Gb=a(u),t.Uc=0,null==t.Gb?u=0:(t.mb=t.Gb,t.nb=t.Uc,t.rc=null,u=1),u=!u),!u){u=t.ga;var h=t.Fa,l=t.P,f=t.qc,d=t.mb,p=t.nb,g=l+1,m=f-1,b=u.l;if(e(null!=h&&null!=d&&null!=r),mi[0]=null,mi[1]=cr,mi[2]=ur,mi[3]=hr,u.ca=d,u.tb=p,u.c=r.width,u.i=r.height,e(0<u.c&&0<u.i),1>=f)r=0;else if(u.$a=h[l+0]>>0&3,u.Z=h[l+0]>>2&3,u.Lc=h[l+0]>>4&3,l=h[l+0]>>6&3,0>u.$a||1<u.$a||4<=u.Z||1<u.Lc||l)r=0;else if(b.put=dt,b.ac=ft,b.bc=pt,b.ma=u,b.width=r.width,b.height=r.height,b.Da=r.Da,b.v=r.v,b.va=r.va,b.j=r.j,b.o=r.o,u.$a)t:{e(1==u.$a),r=kt();e:for(;;){if(null==r){r=0;break t}if(e(null!=u),u.mc=r,r.c=u.c,r.i=u.i,r.l=u.l,r.l.ma=u,r.l.width=u.c,r.l.height=u.i,r.a=0,v(r.m,h,g,m),!It(u.c,u.i,1,r,null))break e;if(1==r.ab&&3==r.gc[0].hc&&At(r.s)?(u.ic=1,h=r.c*r.i,r.Ta=null,r.Ua=0,r.V=a(h),r.Ba=0,null==r.V?(r.a=1,r=0):r=1):(u.ic=0,r=Ft(r,u.c)),!r)break e;r=1;break t}u.mc=null,r=0}else r=m>=u.c*u.i;u=!r}if(u)return null;1!=t.ga.Lc?t.Ga=0:o=c-i}e(null!=t.ga),e(i+o<=c);t:{if(r=(h=t.ga).c,c=h.l.o,0==h.$a){if(g=t.rc,m=t.Vc,b=t.Fa,l=t.P+1+i*r,f=t.mb,d=t.nb+i*r,e(l<=t.P+t.qc),0!=h.Z)for(e(null!=mi[h.Z]),u=0;u<o;++u)mi[h.Z](g,m,b,l,f,d,r),g=f,m=d,d+=r,l+=r;else for(u=0;u<o;++u)n(f,d,b,l,r),g=f,m=d,d+=r,l+=r;t.rc=g,t.Vc=m}else{if(e(null!=h.mc),r=i+o,e(null!=(u=h.mc)),e(r<=u.i),u.C>=r)r=1;else if(h.ic||mr(),h.ic){h=u.V,g=u.Ba,m=u.c;var y=u.i,w=(b=1,l=u.$/m,f=u.$%m,d=u.m,p=u.s,u.$),N=m*y,L=m*r,x=p.wc,_=w<L?wt(p,f,l):null;e(w<=N),e(r<=y),e(At(p));e:for(;;){for(;!d.h&&w<L;){if(f&x||(_=wt(p,f,l)),e(null!=_),S(d),256>(y=bt(_.G[0],_.H[0],d)))h[g+w]=y,++w,++f>=m&&(f=0,++l<=r&&!(l%16)&&St(u,l));else{if(!(280>y)){b=0;break e}y=mt(y-256,d);var P,k=bt(_.G[4],_.H[4],d);if(S(d),!(w>=(k=vt(m,k=mt(k,d)))&&N-w>=y)){b=0;break e}for(P=0;P<y;++P)h[g+w+P]=h[g+w+P-k];for(w+=y,f+=y;f>=m;)f-=m,++l<=r&&!(l%16)&&St(u,l);w<L&&f&x&&(_=wt(p,f,l))}e(d.h==A(d))}St(u,l>r?r:l);break e}!b||d.h&&w<N?(b=0,u.a=d.h?5:3):u.$=w,r=b}else r=_t(u,u.V,u.Ba,u.c,u.i,r,Ct);if(!r){o=0;break t}}i+o>=c&&(t.Cc=1),o=1}if(!o)return null;if(t.Cc&&(null!=(o=t.ga)&&(o.mc=null),t.ga=null,0<t.Ga))return alert(\"todo:WebPDequantizeLevels\"),null}return t.nb+i*s}function fr(t,e,r,n,i,a){for(;0<i--;){var o,s=t,c=e+(r?1:0),u=t,h=e+(r?0:3);for(o=0;o<n;++o){var l=u[h+4*o];255!=l&&(l*=32897,s[c+4*o+0]=s[c+4*o+0]*l>>23,s[c+4*o+1]=s[c+4*o+1]*l>>23,s[c+4*o+2]=s[c+4*o+2]*l>>23)}e+=a}}function dr(t,e,r,n,i){for(;0<n--;){var a;for(a=0;a<r;++a){var o=t[e+2*a+0],s=15&(u=t[e+2*a+1]),c=4369*s,u=(240&u|u>>4)*c>>16;t[e+2*a+0]=(240&o|o>>4)*c>>16&240|(15&o|o<<4)*c>>16>>4&15,t[e+2*a+1]=240&u|s}e+=i}}function pr(t,e,r,n,i,a,o,s){var c,u,h=255;for(u=0;u<i;++u){for(c=0;c<n;++c){var l=t[e+c];a[o+4*c]=l,h&=l}e+=r,o+=s}return 255!=h}function gr(t,e,r,n,i){var a;for(a=0;a<i;++a)r[n+a]=t[e+a]>>8}function mr(){An=fr,xn=dr,Sn=pr,_n=gr}function vr(r,n,i){t[r]=function(t,r,a,o,s,c,u,h,l,f,d,p,g,m,v,b,y){var w,N=y-1>>1,L=s[c+0]|u[h+0]<<16,A=l[f+0]|d[p+0]<<16;e(null!=t);var x=3*L+A+131074>>2;for(n(t[r+0],255&x,x>>16,g,m),null!=a&&(x=3*A+L+131074>>2,n(a[o+0],255&x,x>>16,v,b)),w=1;w<=N;++w){var S=s[c+w]|u[h+w]<<16,_=l[f+w]|d[p+w]<<16,P=L+S+A+_+524296,k=P+2*(S+A)>>3;x=k+L>>1,L=(P=P+2*(L+_)>>3)+S>>1,n(t[r+2*w-1],255&x,x>>16,g,m+(2*w-1)*i),n(t[r+2*w-0],255&L,L>>16,g,m+(2*w-0)*i),null!=a&&(x=P+A>>1,L=k+_>>1,n(a[o+2*w-1],255&x,x>>16,v,b+(2*w-1)*i),n(a[o+2*w+0],255&L,L>>16,v,b+(2*w+0)*i)),L=S,A=_}1&y||(x=3*L+A+131074>>2,n(t[r+y-1],255&x,x>>16,g,m+(y-1)*i),null!=a&&(x=3*A+L+131074>>2,n(a[o+y-1],255&x,x>>16,v,b+(y-1)*i)))}}function br(){vi[En]=bi,vi[qn]=wi,vi[Dn]=yi,vi[Rn]=Ni,vi[Tn]=Li,vi[Un]=Ai,vi[zn]=xi,vi[Hn]=wi,vi[Wn]=Ni,vi[Vn]=Li,vi[Gn]=Ai}function yr(t){return t&~Fi?0>t?0:255:t>>Ii}function wr(t,e){return yr((19077*t>>8)+(26149*e>>8)-14234)}function Nr(t,e,r){return yr((19077*t>>8)-(6419*e>>8)-(13320*r>>8)+8708)}function Lr(t,e){return yr((19077*t>>8)+(33050*e>>8)-17685)}function Ar(t,e,r,n,i){n[i+0]=wr(t,r),n[i+1]=Nr(t,e,r),n[i+2]=Lr(t,e)}function xr(t,e,r,n,i){n[i+0]=Lr(t,e),n[i+1]=Nr(t,e,r),n[i+2]=wr(t,r)}function Sr(t,e,r,n,i){var a=Nr(t,e,r);e=a<<3&224|Lr(t,e)>>3,n[i+0]=248&wr(t,r)|a>>5,n[i+1]=e}function _r(t,e,r,n,i){var a=240&Lr(t,e)|15;n[i+0]=240&wr(t,r)|Nr(t,e,r)>>4,n[i+1]=a}function Pr(t,e,r,n,i){n[i+0]=255,Ar(t,e,r,n,i+1)}function kr(t,e,r,n,i){xr(t,e,r,n,i),n[i+3]=255}function Ir(t,e,r,n,i){Ar(t,e,r,n,i),n[i+3]=255}function Vt(t,e){return 0>t?0:t>e?e:t}function Fr(e,r,n){t[e]=function(t,e,i,a,o,s,c,u,h){for(var l=u+(-2&h)*n;u!=l;)r(t[e+0],i[a+0],o[s+0],c,u),r(t[e+1],i[a+0],o[s+0],c,u+n),e+=2,++a,++s,u+=2*n;1&h&&r(t[e+0],i[a+0],o[s+0],c,u)}}function Cr(t,e,r){return 0==r?0==t?0==e?6:5:0==e?4:0:r}function jr(t,e,r,n,i){switch(t>>>30){case 3:on(e,r,n,i,0);break;case 2:sn(e,r,n,i);break;case 1:un(e,r,n,i)}}function Or(t,e){var r,a,o=e.M,s=e.Nb,c=t.oc,u=t.pc+40,h=t.oc,l=t.pc+584,f=t.oc,d=t.pc+600;for(r=0;16>r;++r)c[u+32*r-1]=129;for(r=0;8>r;++r)h[l+32*r-1]=129,f[d+32*r-1]=129;for(0<o?c[u-1-32]=h[l-1-32]=f[d-1-32]=129:(i(c,u-32-1,127,21),i(h,l-32-1,127,9),i(f,d-32-1,127,9)),a=0;a<t.za;++a){var p=e.ya[e.aa+a];if(0<a){for(r=-1;16>r;++r)n(c,u+32*r-4,c,u+32*r+12,4);for(r=-1;8>r;++r)n(h,l+32*r-4,h,l+32*r+4,4),n(f,d+32*r-4,f,d+32*r+4,4)}var g=t.Gd,m=t.Hd+a,v=p.ad,b=p.Hc;if(0<o&&(n(c,u-32,g[m].y,0,16),n(h,l-32,g[m].f,0,8),n(f,d-32,g[m].ea,0,8)),p.Za){var y=c,w=u-32+16;for(0<o&&(a>=t.za-1?i(y,w,g[m].y[15],4):n(y,w,g[m+1].y,0,4)),r=0;4>r;r++)y[w+128+r]=y[w+256+r]=y[w+384+r]=y[w+0+r];for(r=0;16>r;++r,b<<=2)y=c,w=u+Di[r],fi[p.Ob[r]](y,w),jr(b,v,16*+r,y,w)}else if(y=Cr(a,o,p.Ob[0]),li[y](c,u),0!=b)for(r=0;16>r;++r,b<<=2)jr(b,v,16*+r,c,u+Di[r]);for(r=p.Gc,y=Cr(a,o,p.Dd),di[y](h,l),di[y](f,d),b=v,y=h,w=l,255&(p=r>>0)&&(170&p?cn(b,256,y,w):hn(b,256,y,w)),p=f,b=d,255&(r>>=8)&&(170&r?cn(v,320,p,b):hn(v,320,p,b)),o<t.Ub-1&&(n(g[m].y,0,c,u+480,16),n(g[m].f,0,h,l+224,8),n(g[m].ea,0,f,d+224,8)),r=8*s*t.B,g=t.sa,m=t.ta+16*a+16*s*t.R,v=t.qa,p=t.ra+8*a+r,b=t.Ha,y=t.Ia+8*a+r,r=0;16>r;++r)n(g,m+r*t.R,c,u+32*r,16);for(r=0;8>r;++r)n(v,p+r*t.B,h,l+32*r,8),n(b,y+r*t.B,f,d+32*r,8)}}function Br(t,n,i,a,o,s,c,u,h){var l=[0],f=[0],d=0,p=null!=h?h.kd:0,g=null!=h?h:new nr;if(null==t||12>i)return 7;g.data=t,g.w=n,g.ha=i,n=[n],i=[i],g.gb=[g.gb];t:{var m=n,b=i,y=g.gb;if(e(null!=t),e(null!=b),e(null!=y),y[0]=0,12<=b[0]&&!r(t,m[0],\"RIFF\")){if(r(t,m[0]+8,\"WEBP\")){y=3;break t}var w=j(t,m[0]+4);if(12>w||4294967286<w){y=3;break t}if(p&&w>b[0]-8){y=7;break t}y[0]=w,m[0]+=12,b[0]-=12}y=0}if(0!=y)return y;for(w=0<g.gb[0],i=i[0];;){t:{var L=t;b=n,y=i;var A=l,x=f,S=m=[0];if((k=d=[d])[0]=0,8>y[0])y=7;else{if(!r(L,b[0],\"VP8X\")){if(10!=j(L,b[0]+4)){y=3;break t}if(18>y[0]){y=7;break t}var _=j(L,b[0]+8),P=1+C(L,b[0]+12);if(2147483648<=P*(L=1+C(L,b[0]+15))){y=3;break t}null!=S&&(S[0]=_),null!=A&&(A[0]=P),null!=x&&(x[0]=L),b[0]+=18,y[0]-=18,k[0]=1}y=0}}if(d=d[0],m=m[0],0!=y)return y;if(b=!!(2&m),!w&&d)return 3;if(null!=s&&(s[0]=!!(16&m)),null!=c&&(c[0]=b),null!=u&&(u[0]=0),c=l[0],m=f[0],d&&b&&null==h){y=0;break}if(4>i){y=7;break}if(w&&d||!w&&!d&&!r(t,n[0],\"ALPH\")){i=[i],g.na=[g.na],g.P=[g.P],g.Sa=[g.Sa];t:{_=t,y=n,w=i;var k=g.gb;A=g.na,x=g.P,S=g.Sa;P=22,e(null!=_),e(null!=w),L=y[0];var I=w[0];for(e(null!=A),e(null!=S),A[0]=null,x[0]=null,S[0]=0;;){if(y[0]=L,w[0]=I,8>I){y=7;break t}var F=j(_,L+4);if(4294967286<F){y=3;break t}var O=8+F+1&-2;if(P+=O,0<k&&P>k){y=3;break t}if(!r(_,L,\"VP8 \")||!r(_,L,\"VP8L\")){y=0;break t}if(I[0]<O){y=7;break t}r(_,L,\"ALPH\")||(A[0]=_,x[0]=L+8,S[0]=F),L+=O,I-=O}}if(i=i[0],g.na=g.na[0],g.P=g.P[0],g.Sa=g.Sa[0],0!=y)break}i=[i],g.Ja=[g.Ja],g.xa=[g.xa];t:if(k=t,y=n,w=i,A=g.gb[0],x=g.Ja,S=g.xa,_=y[0],L=!r(k,_,\"VP8 \"),P=!r(k,_,\"VP8L\"),e(null!=k),e(null!=w),e(null!=x),e(null!=S),8>w[0])y=7;else{if(L||P){if(k=j(k,_+4),12<=A&&k>A-12){y=3;break t}if(p&&k>w[0]-8){y=7;break t}x[0]=k,y[0]+=8,w[0]-=8,S[0]=P}else S[0]=5<=w[0]&&47==k[_+0]&&!(k[_+4]>>5),x[0]=w[0];y=0}if(i=i[0],g.Ja=g.Ja[0],g.xa=g.xa[0],n=n[0],0!=y)break;if(4294967286<g.Ja)return 3;if(null==u||b||(u[0]=g.xa?2:1),c=[c],m=[m],g.xa){if(5>i){y=7;break}u=c,p=m,b=s,null==t||5>i?t=0:5<=i&&47==t[n+0]&&!(t[n+4]>>5)?(w=[0],k=[0],A=[0],v(x=new N,t,n,i),gt(x,w,k,A)?(null!=u&&(u[0]=w[0]),null!=p&&(p[0]=k[0]),null!=b&&(b[0]=A[0]),t=1):t=0):t=0}else{if(10>i){y=7;break}u=m,null==t||10>i||!Xt(t,n+3,i-3)?t=0:(p=t[n+0]|t[n+1]<<8|t[n+2]<<16,b=16383&(t[n+7]<<8|t[n+6]),t=16383&(t[n+9]<<8|t[n+8]),1&p||3<(p>>1&7)||!(p>>4&1)||p>>5>=g.Ja||!b||!t?t=0:(c&&(c[0]=b),u&&(u[0]=t),t=1))}if(!t)return 3;if(c=c[0],m=m[0],d&&(l[0]!=c||f[0]!=m))return 3;null!=h&&(h[0]=g,h.offset=n-h.w,e(4294967286>n-h.w),e(h.offset==h.ha-i));break}return 0==y||7==y&&d&&null==h?(null!=s&&(s[0]|=null!=g.na&&0<g.na.length),null!=a&&(a[0]=c),null!=o&&(o[0]=m),0):y}function Mr(t,e,r){var n=e.width,i=e.height,a=0,o=0,s=n,c=i;if(e.Da=null!=t&&0<t.Da,e.Da&&(s=t.cd,c=t.bd,a=t.v,o=t.j,11>r||(a&=-2,o&=-2),0>a||0>o||0>=s||0>=c||a+s>n||o+c>i))return 0;if(e.v=a,e.j=o,e.va=a+s,e.o=o+c,e.U=s,e.T=c,e.da=null!=t&&0<t.da,e.da){if(!E(s,c,r=[t.ib],a=[t.hb]))return 0;e.ib=r[0],e.hb=a[0]}return e.ob=null!=t&&t.ob,e.Kb=null==t||!t.Sd,e.da&&(e.ob=e.ib<3*n/4&&e.hb<3*i/4,e.Kb=0),1}function Er(t){if(null==t)return 2;if(11>t.S){var e=t.f.RGBA;e.fb+=(t.height-1)*e.A,e.A=-e.A}else e=t.f.kb,t=t.height,e.O+=(t-1)*e.fa,e.fa=-e.fa,e.N+=(t-1>>1)*e.Ab,e.Ab=-e.Ab,e.W+=(t-1>>1)*e.Db,e.Db=-e.Db,null!=e.F&&(e.J+=(t-1)*e.lb,e.lb=-e.lb);return 0}function qr(t,e,r,n){if(null==n||0>=t||0>=e)return 2;if(null!=r){if(r.Da){var i=r.cd,o=r.bd,s=-2&r.v,c=-2&r.j;if(0>s||0>c||0>=i||0>=o||s+i>t||c+o>e)return 2;t=i,e=o}if(r.da){if(!E(t,e,i=[r.ib],o=[r.hb]))return 2;t=i[0],e=o[0]}}n.width=t,n.height=e;t:{var u=n.width,h=n.height;if(t=n.S,0>=u||0>=h||!(t>=En&&13>t))t=2;else{if(0>=n.Rd&&null==n.sd){s=o=i=e=0;var l=(c=u*zi[t])*h;if(11>t||(o=(h+1)/2*(e=(u+1)/2),12==t&&(s=(i=u)*h)),null==(h=a(l+2*o+s))){t=1;break t}n.sd=h,11>t?((u=n.f.RGBA).eb=h,u.fb=0,u.A=c,u.size=l):((u=n.f.kb).y=h,u.O=0,u.fa=c,u.Fd=l,u.f=h,u.N=0+l,u.Ab=e,u.Cd=o,u.ea=h,u.W=0+l+o,u.Db=e,u.Ed=o,12==t&&(u.F=h,u.J=0+l+2*o),u.Tc=s,u.lb=i)}if(e=1,i=n.S,o=n.width,s=n.height,i>=En&&13>i)if(11>i)t=n.f.RGBA,e&=(c=Math.abs(t.A))*(s-1)+o<=t.size,e&=c>=o*zi[i],e&=null!=t.eb;else{t=n.f.kb,c=(o+1)/2,l=(s+1)/2,u=Math.abs(t.fa);h=Math.abs(t.Ab);var f=Math.abs(t.Db),d=Math.abs(t.lb),p=d*(s-1)+o;e&=u*(s-1)+o<=t.Fd,e&=h*(l-1)+c<=t.Cd,e=(e&=f*(l-1)+c<=t.Ed)&u>=o&h>=c&f>=c,e&=null!=t.y,e&=null!=t.f,e&=null!=t.ea,12==i&&(e&=d>=o,e&=p<=t.Tc,e&=null!=t.F)}else e=0;t=e?0:2}}return 0!=t||null!=r&&r.fd&&(t=Er(n)),t}var Dr=64,Rr=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215],Tr=24,Ur=32,zr=8,Hr=[0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7];R(\"Predictor0\",\"PredictorAdd0\"),t.Predictor0=function(){return 4278190080},t.Predictor1=function(t){return t},t.Predictor2=function(t,e,r){return e[r+0]},t.Predictor3=function(t,e,r){return e[r+1]},t.Predictor4=function(t,e,r){return e[r-1]},t.Predictor5=function(t,e,r){return U(U(t,e[r+1]),e[r+0])},t.Predictor6=function(t,e,r){return U(t,e[r-1])},t.Predictor7=function(t,e,r){return U(t,e[r+0])},t.Predictor8=function(t,e,r){return U(e[r-1],e[r+0])},t.Predictor9=function(t,e,r){return U(e[r+0],e[r+1])},t.Predictor10=function(t,e,r){return U(U(t,e[r-1]),U(e[r+0],e[r+1]))},t.Predictor11=function(t,e,r){var n=e[r+0];return 0>=W(n>>24&255,t>>24&255,(e=e[r-1])>>24&255)+W(n>>16&255,t>>16&255,e>>16&255)+W(n>>8&255,t>>8&255,e>>8&255)+W(255&n,255&t,255&e)?n:t},t.Predictor12=function(t,e,r){var n=e[r+0];return(z((t>>24&255)+(n>>24&255)-((e=e[r-1])>>24&255))<<24|z((t>>16&255)+(n>>16&255)-(e>>16&255))<<16|z((t>>8&255)+(n>>8&255)-(e>>8&255))<<8|z((255&t)+(255&n)-(255&e)))>>>0},t.Predictor13=function(t,e,r){var n=e[r-1];return(H((t=U(t,e[r+0]))>>24&255,n>>24&255)<<24|H(t>>16&255,n>>16&255)<<16|H(t>>8&255,n>>8&255)<<8|H(t>>0&255,n>>0&255))>>>0};var Wr=t.PredictorAdd0;t.PredictorAdd1=V,R(\"Predictor2\",\"PredictorAdd2\"),R(\"Predictor3\",\"PredictorAdd3\"),R(\"Predictor4\",\"PredictorAdd4\"),R(\"Predictor5\",\"PredictorAdd5\"),R(\"Predictor6\",\"PredictorAdd6\"),R(\"Predictor7\",\"PredictorAdd7\"),R(\"Predictor8\",\"PredictorAdd8\"),R(\"Predictor9\",\"PredictorAdd9\"),R(\"Predictor10\",\"PredictorAdd10\"),R(\"Predictor11\",\"PredictorAdd11\"),R(\"Predictor12\",\"PredictorAdd12\"),R(\"Predictor13\",\"PredictorAdd13\");var Vr=t.PredictorAdd2;X(\"ColorIndexInverseTransform\",\"MapARGB\",\"32b\",(function(t){return t>>8&255}),(function(t){return t})),X(\"VP8LColorIndexInverseTransformAlpha\",\"MapAlpha\",\"8b\",(function(t){return t}),(function(t){return t>>8&255}));var Gr,Yr=t.ColorIndexInverseTransform,Jr=t.MapARGB,Xr=t.VP8LColorIndexInverseTransformAlpha,Kr=t.MapAlpha,Zr=t.VP8LPredictorsAdd=[];Zr.length=16,(t.VP8LPredictors=[]).length=16,(t.VP8LPredictorsAdd_C=[]).length=16,(t.VP8LPredictors_C=[]).length=16;var $r,Qr,tn,en,rn,nn,an,on,sn,cn,un,hn,ln,fn,dn,pn,gn,mn,vn,bn,yn,wn,Nn,Ln,An,xn,Sn,_n,Pn=a(511),kn=a(2041),In=a(225),Fn=a(767),Cn=0,jn=kn,On=In,Bn=Fn,Mn=Pn,En=0,qn=1,Dn=2,Rn=3,Tn=4,Un=5,zn=6,Hn=7,Wn=8,Vn=9,Gn=10,Yn=[2,3,7],Jn=[3,3,11],Xn=[280,256,256,256,40],Kn=[0,1,1,1,0],Zn=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],$n=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],Qn=[2954,2956,2958,2962,2970,2986,3018,3082,3212,3468,3980,5004],ti=8,ei=[4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157],ri=[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,234,239,245,249,254,259,264,269,274,279,284],ni=null,ii=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],ai=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],oi=[-0,1,-1,2,-2,3,4,6,-3,5,-4,-5,-6,7,-7,8,-8,-9],si=[[[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]],[[253,136,254,255,228,219,128,128,128,128,128],[189,129,242,255,227,213,255,219,128,128,128],[106,126,227,252,214,209,255,255,128,128,128]],[[1,98,248,255,236,226,255,255,128,128,128],[181,133,238,254,221,234,255,154,128,128,128],[78,134,202,247,198,180,255,219,128,128,128]],[[1,185,249,255,243,255,128,128,128,128,128],[184,150,247,255,236,224,128,128,128,128,128],[77,110,216,255,236,230,128,128,128,128,128]],[[1,101,251,255,241,255,128,128,128,128,128],[170,139,241,252,236,209,255,255,128,128,128],[37,116,196,243,228,255,255,255,128,128,128]],[[1,204,254,255,245,255,128,128,128,128,128],[207,160,250,255,238,128,128,128,128,128,128],[102,103,231,255,211,171,128,128,128,128,128]],[[1,152,252,255,240,255,128,128,128,128,128],[177,135,243,255,234,225,128,128,128,128,128],[80,129,211,255,194,224,128,128,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[246,1,255,128,128,128,128,128,128,128,128],[255,128,128,128,128,128,128,128,128,128,128]]],[[[198,35,237,223,193,187,162,160,145,155,62],[131,45,198,221,172,176,220,157,252,221,1],[68,47,146,208,149,167,221,162,255,223,128]],[[1,149,241,255,221,224,255,255,128,128,128],[184,141,234,253,222,220,255,199,128,128,128],[81,99,181,242,176,190,249,202,255,255,128]],[[1,129,232,253,214,197,242,196,255,255,128],[99,121,210,250,201,198,255,202,128,128,128],[23,91,163,242,170,187,247,210,255,255,128]],[[1,200,246,255,234,255,128,128,128,128,128],[109,178,241,255,231,245,255,255,128,128,128],[44,130,201,253,205,192,255,255,128,128,128]],[[1,132,239,251,219,209,255,165,128,128,128],[94,136,225,251,218,190,255,255,128,128,128],[22,100,174,245,186,161,255,199,128,128,128]],[[1,182,249,255,232,235,128,128,128,128,128],[124,143,241,255,227,234,128,128,128,128,128],[35,77,181,251,193,211,255,205,128,128,128]],[[1,157,247,255,236,231,255,255,128,128,128],[121,141,235,255,225,227,255,255,128,128,128],[45,99,188,251,195,217,255,224,128,128,128]],[[1,1,251,255,213,255,128,128,128,128,128],[203,1,248,255,255,128,128,128,128,128,128],[137,1,177,255,224,255,128,128,128,128,128]]],[[[253,9,248,251,207,208,255,192,128,128,128],[175,13,224,243,193,185,249,198,255,255,128],[73,17,171,221,161,179,236,167,255,234,128]],[[1,95,247,253,212,183,255,255,128,128,128],[239,90,244,250,211,209,255,255,128,128,128],[155,77,195,248,188,195,255,255,128,128,128]],[[1,24,239,251,218,219,255,205,128,128,128],[201,51,219,255,196,186,128,128,128,128,128],[69,46,190,239,201,218,255,228,128,128,128]],[[1,191,251,255,255,128,128,128,128,128,128],[223,165,249,255,213,255,128,128,128,128,128],[141,124,248,255,255,128,128,128,128,128,128]],[[1,16,248,255,255,128,128,128,128,128,128],[190,36,230,255,236,255,128,128,128,128,128],[149,1,255,128,128,128,128,128,128,128,128]],[[1,226,255,128,128,128,128,128,128,128,128],[247,192,255,128,128,128,128,128,128,128,128],[240,128,255,128,128,128,128,128,128,128,128]],[[1,134,252,255,255,128,128,128,128,128,128],[213,62,250,255,255,128,128,128,128,128,128],[55,93,255,128,128,128,128,128,128,128,128]],[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]]],[[[202,24,213,235,186,191,220,160,240,175,255],[126,38,182,232,169,184,228,174,255,187,128],[61,46,138,219,151,178,240,170,255,216,128]],[[1,112,230,250,199,191,247,159,255,255,128],[166,109,228,252,211,215,255,174,128,128,128],[39,77,162,232,172,180,245,178,255,255,128]],[[1,52,220,246,198,199,249,220,255,255,128],[124,74,191,243,183,193,250,221,255,255,128],[24,71,130,219,154,170,243,182,255,255,128]],[[1,182,225,249,219,240,255,224,128,128,128],[149,150,226,252,216,205,255,171,128,128,128],[28,108,170,242,183,194,254,223,255,255,128]],[[1,81,230,252,204,203,255,192,128,128,128],[123,102,209,247,188,196,255,233,128,128,128],[20,95,153,243,164,173,255,203,128,128,128]],[[1,222,248,255,216,213,128,128,128,128,128],[168,175,246,252,235,205,255,255,128,128,128],[47,116,215,255,211,212,255,255,128,128,128]],[[1,121,236,253,212,214,255,255,128,128,128],[141,84,213,252,201,202,255,219,128,128,128],[42,80,160,240,162,185,255,205,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[244,1,255,128,128,128,128,128,128,128,128],[238,1,255,128,128,128,128,128,128,128,128]]]],ci=[[[231,120,48,89,115,113,120,152,112],[152,179,64,126,170,118,46,70,95],[175,69,143,80,85,82,72,155,103],[56,58,10,171,218,189,17,13,152],[114,26,17,163,44,195,21,10,173],[121,24,80,195,26,62,44,64,85],[144,71,10,38,171,213,144,34,26],[170,46,55,19,136,160,33,206,71],[63,20,8,114,114,208,12,9,226],[81,40,11,96,182,84,29,16,36]],[[134,183,89,137,98,101,106,165,148],[72,187,100,130,157,111,32,75,80],[66,102,167,99,74,62,40,234,128],[41,53,9,178,241,141,26,8,107],[74,43,26,146,73,166,49,23,157],[65,38,105,160,51,52,31,115,128],[104,79,12,27,217,255,87,17,7],[87,68,71,44,114,51,15,186,23],[47,41,14,110,182,183,21,17,194],[66,45,25,102,197,189,23,18,22]],[[88,88,147,150,42,46,45,196,205],[43,97,183,117,85,38,35,179,61],[39,53,200,87,26,21,43,232,171],[56,34,51,104,114,102,29,93,77],[39,28,85,171,58,165,90,98,64],[34,22,116,206,23,34,43,166,73],[107,54,32,26,51,1,81,43,31],[68,25,106,22,64,171,36,225,114],[34,19,21,102,132,188,16,76,124],[62,18,78,95,85,57,50,48,51]],[[193,101,35,159,215,111,89,46,111],[60,148,31,172,219,228,21,18,111],[112,113,77,85,179,255,38,120,114],[40,42,1,196,245,209,10,25,109],[88,43,29,140,166,213,37,43,154],[61,63,30,155,67,45,68,1,209],[100,80,8,43,154,1,51,26,71],[142,78,78,16,255,128,34,197,171],[41,40,5,102,211,183,4,1,221],[51,50,17,168,209,192,23,25,82]],[[138,31,36,171,27,166,38,44,229],[67,87,58,169,82,115,26,59,179],[63,59,90,180,59,166,93,73,154],[40,40,21,116,143,209,34,39,175],[47,15,16,183,34,223,49,45,183],[46,17,33,183,6,98,15,32,183],[57,46,22,24,128,1,54,17,37],[65,32,73,115,28,128,23,128,205],[40,3,9,115,51,192,18,6,223],[87,37,9,115,59,77,64,21,47]],[[104,55,44,218,9,54,53,130,226],[64,90,70,205,40,41,23,26,57],[54,57,112,184,5,41,38,166,213],[30,34,26,133,152,116,10,32,134],[39,19,53,221,26,114,32,73,255],[31,9,65,234,2,15,1,118,73],[75,32,12,51,192,255,160,43,51],[88,31,35,67,102,85,55,186,85],[56,21,23,111,59,205,45,37,192],[55,38,70,124,73,102,1,34,98]],[[125,98,42,88,104,85,117,175,82],[95,84,53,89,128,100,113,101,45],[75,79,123,47,51,128,81,171,1],[57,17,5,71,102,57,53,41,49],[38,33,13,121,57,73,26,1,85],[41,10,67,138,77,110,90,47,114],[115,21,2,10,102,255,166,23,6],[101,29,16,10,85,128,101,196,26],[57,18,10,102,102,213,34,20,43],[117,20,15,36,163,128,68,1,26]],[[102,61,71,37,34,53,31,243,192],[69,60,71,38,73,119,28,222,37],[68,45,128,34,1,47,11,245,171],[62,17,19,70,146,85,55,62,70],[37,43,37,154,100,163,85,160,1],[63,9,92,136,28,64,32,201,85],[75,15,9,9,64,255,184,119,16],[86,6,28,5,64,255,25,248,1],[56,8,17,132,137,255,55,116,128],[58,15,20,82,135,57,26,121,40]],[[164,50,31,137,154,133,25,35,218],[51,103,44,131,131,123,31,6,158],[86,40,64,135,148,224,45,183,128],[22,26,17,131,240,154,14,1,209],[45,16,21,91,64,222,7,1,197],[56,21,39,155,60,138,23,102,213],[83,12,13,54,192,255,68,47,28],[85,26,85,85,128,128,32,146,171],[18,11,7,63,144,171,4,4,246],[35,27,10,146,174,171,12,26,128]],[[190,80,35,99,180,80,126,54,45],[85,126,47,87,176,51,41,20,32],[101,75,128,139,118,146,116,128,85],[56,41,15,176,236,85,37,9,62],[71,30,17,119,118,255,17,18,138],[101,38,60,138,55,70,43,26,142],[146,36,19,30,171,255,97,27,20],[138,45,61,62,219,1,81,188,64],[32,41,20,117,151,142,20,21,163],[112,19,12,61,195,128,48,4,24]]],ui=[[[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[176,246,255,255,255,255,255,255,255,255,255],[223,241,252,255,255,255,255,255,255,255,255],[249,253,253,255,255,255,255,255,255,255,255]],[[255,244,252,255,255,255,255,255,255,255,255],[234,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255]],[[255,246,254,255,255,255,255,255,255,255,255],[239,253,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[251,255,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[251,254,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,254,253,255,254,255,255,255,255,255,255],[250,255,254,255,254,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[217,255,255,255,255,255,255,255,255,255,255],[225,252,241,253,255,255,254,255,255,255,255],[234,250,241,250,253,255,253,254,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[223,254,254,255,255,255,255,255,255,255,255],[238,253,254,254,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[249,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,255,255,255,255,255,255,255,255,255],[247,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[252,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[186,251,250,255,255,255,255,255,255,255,255],[234,251,244,254,255,255,255,255,255,255,255],[251,251,243,253,254,255,254,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[236,253,254,255,255,255,255,255,255,255,255],[251,253,253,254,254,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[254,254,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[254,254,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[248,255,255,255,255,255,255,255,255,255,255],[250,254,252,254,255,255,255,255,255,255,255],[248,254,249,253,255,255,255,255,255,255,255]],[[255,253,253,255,255,255,255,255,255,255,255],[246,253,253,255,255,255,255,255,255,255,255],[252,254,251,254,254,255,255,255,255,255,255]],[[255,254,252,255,255,255,255,255,255,255,255],[248,254,253,255,255,255,255,255,255,255,255],[253,255,254,254,255,255,255,255,255,255,255]],[[255,251,254,255,255,255,255,255,255,255,255],[245,251,254,255,255,255,255,255,255,255,255],[253,253,254,255,255,255,255,255,255,255,255]],[[255,251,253,255,255,255,255,255,255,255,255],[252,253,254,255,255,255,255,255,255,255,255],[255,254,255,255,255,255,255,255,255,255,255]],[[255,252,255,255,255,255,255,255,255,255,255],[249,255,254,255,255,255,255,255,255,255,255],[255,255,254,255,255,255,255,255,255,255,255]],[[255,255,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]]],hi=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],li=[],fi=[],di=[],pi=1,gi=2,mi=[],vi=[];vr(\"UpsampleRgbLinePair\",Ar,3),vr(\"UpsampleBgrLinePair\",xr,3),vr(\"UpsampleRgbaLinePair\",Ir,4),vr(\"UpsampleBgraLinePair\",kr,4),vr(\"UpsampleArgbLinePair\",Pr,4),vr(\"UpsampleRgba4444LinePair\",_r,2),vr(\"UpsampleRgb565LinePair\",Sr,2);var bi=t.UpsampleRgbLinePair,yi=t.UpsampleBgrLinePair,wi=t.UpsampleRgbaLinePair,Ni=t.UpsampleBgraLinePair,Li=t.UpsampleArgbLinePair,Ai=t.UpsampleRgba4444LinePair,xi=t.UpsampleRgb565LinePair,Si=16,_i=1<<Si-1,Pi=-227,ki=482,Ii=6,Fi=(256<<Ii)-1,Ci=0,ji=a(256),Oi=a(256),Bi=a(256),Mi=a(256),Ei=a(ki-Pi),qi=a(ki-Pi);Fr(\"YuvToRgbRow\",Ar,3),Fr(\"YuvToBgrRow\",xr,3),Fr(\"YuvToRgbaRow\",Ir,4),Fr(\"YuvToBgraRow\",kr,4),Fr(\"YuvToArgbRow\",Pr,4),Fr(\"YuvToRgba4444Row\",_r,2),Fr(\"YuvToRgb565Row\",Sr,2);var Di=[0,4,8,12,128,132,136,140,256,260,264,268,384,388,392,396],Ri=[0,2,8],Ti=[8,7,6,4,4,2,2,2,1,1,1,1],Ui=1;this.WebPDecodeRGBA=function(t,r,n,i,a){var o=qn,s=new rr,c=new ot;s.ba=c,c.S=o,c.width=[c.width],c.height=[c.height];var u=c.width,h=c.height,l=new st;if(null==l||null==t)var f=2;else e(null!=l),f=Br(t,r,n,l.width,l.height,l.Pd,l.Qd,l.format,null);if(0!=f?u=0:(null!=u&&(u[0]=l.width[0]),null!=h&&(h[0]=l.height[0]),u=1),u){c.width=c.width[0],c.height=c.height[0],null!=i&&(i[0]=c.width),null!=a&&(a[0]=c.height);t:{if(i=new Gt,(a=new nr).data=t,a.w=r,a.ha=n,a.kd=1,r=[0],e(null!=a),(0==(t=Br(a.data,a.w,a.ha,null,null,null,r,null,a))||7==t)&&r[0]&&(t=4),0==(r=t)){if(e(null!=s),i.data=a.data,i.w=a.w+a.offset,i.ha=a.ha-a.offset,i.put=dt,i.ac=ft,i.bc=pt,i.ma=s,a.xa){if(null==(t=kt())){s=1;break t}if(function(t,r){var n=[0],i=[0],a=[0];e:for(;;){if(null==t)return 0;if(null==r)return t.a=2,0;if(t.l=r,t.a=0,v(t.m,r.data,r.w,r.ha),!gt(t.m,n,i,a)){t.a=3;break e}if(t.xb=gi,r.width=n[0],r.height=i[0],!It(n[0],i[0],1,t,null))break e;return 1}return e(0!=t.a),0}(t,i)){if(i=0==(r=qr(i.width,i.height,s.Oa,s.ba))){e:{i=t;r:for(;;){if(null==i){i=0;break e}if(e(null!=i.s.yc),e(null!=i.s.Ya),e(0<i.s.Wb),e(null!=(n=i.l)),e(null!=(a=n.ma)),0!=i.xb){if(i.ca=a.ba,i.tb=a.tb,e(null!=i.ca),!Mr(a.Oa,n,Rn)){i.a=2;break r}if(!Ft(i,n.width))break r;if(n.da)break r;if((n.da||nt(i.ca.S))&&mr(),11>i.ca.S||(alert(\"todo:WebPInitConvertARGBToYUV\"),null!=i.ca.f.kb.F&&mr()),i.Pb&&0<i.s.ua&&null==i.s.vb.X&&!O(i.s.vb,i.s.Wa.Xa)){i.a=1;break r}i.xb=0}if(!_t(i,i.V,i.Ba,i.c,i.i,n.o,Lt))break r;a.Dc=i.Ma,i=1;break e}e(0!=i.a),i=0}i=!i}i&&(r=t.a)}else r=t.a}else{if(null==(t=new Yt)){s=1;break t}if(t.Fa=a.na,t.P=a.P,t.qc=a.Sa,Kt(t,i)){if(0==(r=qr(i.width,i.height,s.Oa,s.ba))){if(t.Aa=0,n=s.Oa,e(null!=(a=t)),null!=n){if(0<(u=0>(u=n.Md)?0:100<u?255:255*u/100)){for(h=l=0;4>h;++h)12>(f=a.pb[h]).lc&&(f.ia=u*Ti[0>f.lc?0:f.lc]>>3),l|=f.ia;l&&(alert(\"todo:VP8InitRandom\"),a.ia=1)}a.Ga=n.Id,100<a.Ga?a.Ga=100:0>a.Ga&&(a.Ga=0)}Qt(t,i)||(r=t.a)}}else r=t.a}0==r&&null!=s.Oa&&s.Oa.fd&&(r=Er(s.ba))}s=r}o=0!=s?null:11>o?c.f.RGBA.eb:c.f.kb.y}else o=null;return o};var zi=[3,4,3,4,4,2,2,4,4,4,2,1,1]};function u(t,e){for(var r=\"\",n=0;n<4;n++)r+=String.fromCharCode(t[e++]);return r}function h(t,e){return(t[e+0]<<0|t[e+1]<<8|t[e+2]<<16)>>>0}function l(t,e){return(t[e+0]<<0|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}new c;var f=[0],d=[0],p=[],g=new c,m=t,v=function(t,e){var r={},n=0,i=!1,a=0,o=0;if(r.frames=[],!\n/** @license\n * Copyright (c) 2017 Dominik Homberger\n Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n https://webpjs.appspot.com\n WebPRiffParser dominikhlbg@gmail.com\n */\nfunction(t,e,r,n){for(var i=0;i<n;i++)if(t[e+i]!=r.charCodeAt(i))return!0;return!1}(t,e,\"RIFF\",4)){var s,c;l(t,e+=4);for(e+=8;e<t.length;){var f=u(t,e),d=l(t,e+=4);e+=4;var p=d+(1&d);switch(f){case\"VP8 \":case\"VP8L\":void 0===r.frames[n]&&(r.frames[n]={});(v=r.frames[n]).src_off=i?o:e-8,v.src_size=a+d+8,n++,i&&(i=!1,a=0,o=0);break;case\"VP8X\":(v=r.header={}).feature_flags=t[e];var g=e+4;v.canvas_width=1+h(t,g);g+=3;v.canvas_height=1+h(t,g);g+=3;break;case\"ALPH\":i=!0,a=p+8,o=e-8;break;case\"ANIM\":(v=r.header).bgcolor=l(t,e);g=e+4;v.loop_count=(s=t)[(c=g)+0]<<0|s[c+1]<<8;g+=2;break;case\"ANMF\":var m,v;(v=r.frames[n]={}).offset_x=2*h(t,e),e+=3,v.offset_y=2*h(t,e),e+=3,v.width=1+h(t,e),e+=3,v.height=1+h(t,e),e+=3,v.duration=h(t,e),e+=3,m=t[e++],v.dispose=1&m,v.blend=m>>1&1}\"ANMF\"!=f&&(e+=p)}return r}}(m,0);v.response=m,v.rgbaoutput=!0,v.dataurl=!1;var b=v.header?v.header:null,y=v.frames?v.frames:null;if(b){b.loop_counter=b.loop_count,f=[b.canvas_height],d=[b.canvas_width];for(var w=0;w<y.length&&0!=y[w].blend;w++);}var N=y[0],L=g.WebPDecodeRGBA(m,N.src_off,N.src_size,d,f);N.rgba=L,N.imgwidth=d[0],N.imgheight=f[0];for(var A=0;A<d[0]*f[0]*4;A++)p[A]=L[A];return this.width=d,this.height=f,this.data=p,this}!function(t){var r=function(){return\"function\"==typeof e},n=function(r,n,a,h){var l=4,f=s;switch(h){case t.image_compression.FAST:l=1,f=o;break;case t.image_compression.MEDIUM:l=6,f=c;break;case t.image_compression.SLOW:l=9,f=u}r=i(r,n,a,f);var d=e(r,{level:l});return t.__addimage__.arrayBufferToBinaryString(d)},i=function(t,e,r,n){for(var i,a,o,s=t.length/e,c=new Uint8Array(t.length+s),u=l(),h=0;h<s;h+=1){if(o=h*e,i=t.subarray(o,o+e),n)c.set(n(i,r,a),o+h);else{for(var d,p=u.length,g=[];d<p;d+=1)g[d]=u[d](i,r,a);var m=f(g.concat());c.set(g[m],o+h)}a=i}return c},a=function(t){var e=Array.apply([],t);return e.unshift(0),e},o=function(t,e){var r,n=[],i=t.length;n[0]=1;for(var a=0;a<i;a+=1)r=t[a-e]||0,n[a+1]=t[a]-r+256&255;return n},s=function(t,e,r){var n,i=[],a=t.length;i[0]=2;for(var o=0;o<a;o+=1)n=r&&r[o]||0,i[o+1]=t[o]-n+256&255;return i},c=function(t,e,r){var n,i,a=[],o=t.length;a[0]=3;for(var s=0;s<o;s+=1)n=t[s-e]||0,i=r&&r[s]||0,a[s+1]=t[s]+256-(n+i>>>1)&255;return a},u=function(t,e,r){var n,i,a,o,s=[],c=t.length;s[0]=4;for(var u=0;u<c;u+=1)n=t[u-e]||0,i=r&&r[u]||0,a=r&&r[u-e]||0,o=h(n,i,a),s[u+1]=t[u]-o+256&255;return s},h=function(t,e,r){if(t===e&&e===r)return t;var n=Math.abs(e-r),i=Math.abs(t-r),a=Math.abs(t+e-r-r);return n<=i&&n<=a?t:i<=a?e:r},l=function(){return[a,o,s,c,u]},f=function(t){var e=t.map((function(t){return t.reduce((function(t,e){return t+Math.abs(e)}),0)}));return e.indexOf(Math.min.apply(null,e))};t.processPNG=function(e,i,a,o){var s,c,u,h,l,f,d,p,g,m,v,b,y,w,N,L=this.decode.FLATE_DECODE,A=\"\";if(this.__addimage__.isArrayBuffer(e)&&(e=new Uint8Array(e)),this.__addimage__.isArrayBufferView(e)){if(e=(u=new Kt(e)).imgData,c=u.bits,s=u.colorSpace,l=u.colors,-1!==[4,6].indexOf(u.colorType)){if(8===u.bits){g=(p=32==u.pixelBitlength?new Uint32Array(u.decodePixels().buffer):16==u.pixelBitlength?new Uint16Array(u.decodePixels().buffer):new Uint8Array(u.decodePixels().buffer)).length,v=new Uint8Array(g*u.colors),m=new Uint8Array(g);var x,S=u.pixelBitlength-u.bits;for(w=0,N=0;w<g;w++){for(y=p[w],x=0;x<S;)v[N++]=y>>>x&255,x+=u.bits;m[w]=y>>>x&255}}if(16===u.bits){g=(p=new Uint32Array(u.decodePixels().buffer)).length,v=new Uint8Array(g*(32/u.pixelBitlength)*u.colors),m=new Uint8Array(g*(32/u.pixelBitlength)),b=u.colors>1,w=0,N=0;for(var _=0;w<g;)y=p[w++],v[N++]=y>>>0&255,b&&(v[N++]=y>>>16&255,y=p[w++],v[N++]=y>>>0&255),m[_++]=y>>>16&255;c=8}o!==t.image_compression.NONE&&r()?(e=n(v,u.width*u.colors,u.colors,o),d=n(m,u.width,1,o)):(e=v,d=m,L=void 0)}if(3===u.colorType&&(s=this.color_spaces.INDEXED,f=u.palette,u.transparency.indexed)){var P=u.transparency.indexed,k=0;for(w=0,g=P.length;w<g;++w)k+=P[w];if((k/=255)===g-1&&-1!==P.indexOf(0))h=[P.indexOf(0)];else if(k!==g){for(p=u.decodePixels(),m=new Uint8Array(p.length),w=0,g=p.length;w<g;w++)m[w]=P[p[w]];d=n(m,u.width,1)}}var I=function(e){var r;switch(e){case t.image_compression.FAST:r=11;break;case t.image_compression.MEDIUM:r=13;break;case t.image_compression.SLOW:r=14;break;default:r=12}return r}(o);return L===this.decode.FLATE_DECODE&&(A=\"/Predictor \"+I+\" \"),A+=\"/Colors \"+l+\" /BitsPerComponent \"+c+\" /Columns \"+u.width,(this.__addimage__.isArrayBuffer(e)||this.__addimage__.isArrayBufferView(e))&&(e=this.__addimage__.arrayBufferToBinaryString(e)),(d&&this.__addimage__.isArrayBuffer(d)||this.__addimage__.isArrayBufferView(d))&&(d=this.__addimage__.arrayBufferToBinaryString(d)),{alias:a,data:e,index:i,filter:L,decodeParameters:A,transparency:h,palette:f,sMask:d,predictor:I,width:u.width,height:u.height,bitsPerComponent:c,colorSpace:s}}}}(E.API),function(t){t.processGIF89A=function(e,r,n,i){var a=new Zt(e),o=a.width,s=a.height,c=[];a.decodeAndBlitFrameRGBA(0,c);var u={data:c,width:o,height:s},h=new Qt(100).encode(u,100);return t.processJPEG.call(this,h,r,n,i)},t.processGIF87A=t.processGIF89A}(E.API),te.prototype.parseHeader=function(){if(this.fileSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.reserved=this.datav.getUint32(this.pos,!0),this.pos+=4,this.offset=this.datav.getUint32(this.pos,!0),this.pos+=4,this.headerSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.width=this.datav.getUint32(this.pos,!0),this.pos+=4,this.height=this.datav.getInt32(this.pos,!0),this.pos+=4,this.planes=this.datav.getUint16(this.pos,!0),this.pos+=2,this.bitPP=this.datav.getUint16(this.pos,!0),this.pos+=2,this.compress=this.datav.getUint32(this.pos,!0),this.pos+=4,this.rawSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.hr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.vr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.colors=this.datav.getUint32(this.pos,!0),this.pos+=4,this.importantColors=this.datav.getUint32(this.pos,!0),this.pos+=4,16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15),this.bitPP<15){var t=0===this.colors?1<<this.bitPP:this.colors;this.palette=new Array(t);for(var e=0;e<t;e++){var r=this.datav.getUint8(this.pos++,!0),n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0);this.palette[e]={red:i,green:n,blue:r,quad:a}}}this.height<0&&(this.height*=-1,this.bottom_up=!1)},te.prototype.parseBGR=function(){this.pos=this.offset;try{var t=\"bit\"+this.bitPP,e=this.width*this.height*4;this.data=new Uint8Array(e),this[t]()}catch(t){a.log(\"bit decode error:\"+t)}},te.prototype.bit1=function(){var t,e=Math.ceil(this.width/8),r=e%4;for(t=this.height-1;t>=0;t--){for(var n=this.bottom_up?t:this.height-1-t,i=0;i<e;i++)for(var a=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+8*i*4,s=0;s<8&&8*i+s<this.width;s++){var c=this.palette[a>>7-s&1];this.data[o+4*s]=c.blue,this.data[o+4*s+1]=c.green,this.data[o+4*s+2]=c.red,this.data[o+4*s+3]=255}0!==r&&(this.pos+=4-r)}},te.prototype.bit4=function(){for(var t=Math.ceil(this.width/2),e=t%4,r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i<t;i++){var a=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+2*i*4,s=a>>4,c=15&a,u=this.palette[s];if(this.data[o]=u.blue,this.data[o+1]=u.green,this.data[o+2]=u.red,this.data[o+3]=255,2*i+1>=this.width)break;u=this.palette[c],this.data[o+4]=u.blue,this.data[o+4+1]=u.green,this.data[o+4+2]=u.red,this.data[o+4+3]=255}0!==e&&(this.pos+=4-e)}},te.prototype.bit8=function(){for(var t=this.width%4,e=this.height-1;e>=0;e--){for(var r=this.bottom_up?e:this.height-1-e,n=0;n<this.width;n++){var i=this.datav.getUint8(this.pos++,!0),a=r*this.width*4+4*n;if(i<this.palette.length){var o=this.palette[i];this.data[a]=o.red,this.data[a+1]=o.green,this.data[a+2]=o.blue,this.data[a+3]=255}else this.data[a]=255,this.data[a+1]=255,this.data[a+2]=255,this.data[a+3]=255}0!==t&&(this.pos+=4-t)}},te.prototype.bit15=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i<this.width;i++){var a=this.datav.getUint16(this.pos,!0);this.pos+=2;var o=(a&e)/e*255|0,s=(a>>5&e)/e*255|0,c=(a>>10&e)/e*255|0,u=a>>15?255:0,h=n*this.width*4+4*i;this.data[h]=c,this.data[h+1]=s,this.data[h+2]=o,this.data[h+3]=u}this.pos+=t}},te.prototype.bit16=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),r=parseInt(\"111111\",2),n=this.height-1;n>=0;n--){for(var i=this.bottom_up?n:this.height-1-n,a=0;a<this.width;a++){var o=this.datav.getUint16(this.pos,!0);this.pos+=2;var s=(o&e)/e*255|0,c=(o>>5&r)/r*255|0,u=(o>>11)/e*255|0,h=i*this.width*4+4*a;this.data[h]=u,this.data[h+1]=c,this.data[h+2]=s,this.data[h+3]=255}this.pos+=t}},te.prototype.bit24=function(){for(var t=this.height-1;t>=0;t--){for(var e=this.bottom_up?t:this.height-1-t,r=0;r<this.width;r++){var n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),o=e*this.width*4+4*r;this.data[o]=a,this.data[o+1]=i,this.data[o+2]=n,this.data[o+3]=255}this.pos+=this.width%4}},te.prototype.bit32=function(){for(var t=this.height-1;t>=0;t--)for(var e=this.bottom_up?t:this.height-1-t,r=0;r<this.width;r++){var n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),o=this.datav.getUint8(this.pos++,!0),s=e*this.width*4+4*r;this.data[s]=a,this.data[s+1]=i,this.data[s+2]=n,this.data[s+3]=o}},te.prototype.getData=function(){return this.data},\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.processBMP=function(e,r,n,i){var a=new te(e,!1),o=a.width,s=a.height,c={data:a.getData(),width:o,height:s},u=new Qt(100).encode(c,100);return t.processJPEG.call(this,u,r,n,i)}}(E.API),ee.prototype.getData=function(){return this.data},\n/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.processWEBP=function(e,r,n,i){var a=new ee(e,!1),o=a.width,s=a.height,c={data:a.getData(),width:o,height:s},u=new Qt(100).encode(c,100);return t.processJPEG.call(this,u,r,n,i)}}(E.API),E.API.processRGBA=function(t,e,r){for(var n=t.data,i=n.length,a=new Uint8Array(i/4*3),o=new Uint8Array(i/4),s=0,c=0,u=0;u<i;u+=4){var h=n[u],l=n[u+1],f=n[u+2],d=n[u+3];a[s++]=h,a[s++]=l,a[s++]=f,o[c++]=d}var p=this.__addimage__.arrayBufferToBinaryString(a);return{alpha:this.__addimage__.arrayBufferToBinaryString(o),data:p,index:e,alias:r,colorSpace:\"DeviceRGB\",bitsPerComponent:8,width:t.width,height:t.height}},E.API.setLanguage=function(t){return void 0===this.internal.languageSettings&&(this.internal.languageSettings={},this.internal.languageSettings.isSubscribed=!1),void 0!=={af:\"Afrikaans\",sq:\"Albanian\",ar:\"Arabic (Standard)\",\"ar-DZ\":\"Arabic (Algeria)\",\"ar-BH\":\"Arabic (Bahrain)\",\"ar-EG\":\"Arabic (Egypt)\",\"ar-IQ\":\"Arabic (Iraq)\",\"ar-JO\":\"Arabic (Jordan)\",\"ar-KW\":\"Arabic (Kuwait)\",\"ar-LB\":\"Arabic (Lebanon)\",\"ar-LY\":\"Arabic (Libya)\",\"ar-MA\":\"Arabic (Morocco)\",\"ar-OM\":\"Arabic (Oman)\",\"ar-QA\":\"Arabic (Qatar)\",\"ar-SA\":\"Arabic (Saudi Arabia)\",\"ar-SY\":\"Arabic (Syria)\",\"ar-TN\":\"Arabic (Tunisia)\",\"ar-AE\":\"Arabic (U.A.E.)\",\"ar-YE\":\"Arabic (Yemen)\",an:\"Aragonese\",hy:\"Armenian\",as:\"Assamese\",ast:\"Asturian\",az:\"Azerbaijani\",eu:\"Basque\",be:\"Belarusian\",bn:\"Bengali\",bs:\"Bosnian\",br:\"Breton\",bg:\"Bulgarian\",my:\"Burmese\",ca:\"Catalan\",ch:\"Chamorro\",ce:\"Chechen\",zh:\"Chinese\",\"zh-HK\":\"Chinese (Hong Kong)\",\"zh-CN\":\"Chinese (PRC)\",\"zh-SG\":\"Chinese (Singapore)\",\"zh-TW\":\"Chinese (Taiwan)\",cv:\"Chuvash\",co:\"Corsican\",cr:\"Cree\",hr:\"Croatian\",cs:\"Czech\",da:\"Danish\",nl:\"Dutch (Standard)\",\"nl-BE\":\"Dutch (Belgian)\",en:\"English\",\"en-AU\":\"English (Australia)\",\"en-BZ\":\"English (Belize)\",\"en-CA\":\"English (Canada)\",\"en-IE\":\"English (Ireland)\",\"en-JM\":\"English (Jamaica)\",\"en-NZ\":\"English (New Zealand)\",\"en-PH\":\"English (Philippines)\",\"en-ZA\":\"English (South Africa)\",\"en-TT\":\"English (Trinidad & Tobago)\",\"en-GB\":\"English (United Kingdom)\",\"en-US\":\"English (United States)\",\"en-ZW\":\"English (Zimbabwe)\",eo:\"Esperanto\",et:\"Estonian\",fo:\"Faeroese\",fj:\"Fijian\",fi:\"Finnish\",fr:\"French (Standard)\",\"fr-BE\":\"French (Belgium)\",\"fr-CA\":\"French (Canada)\",\"fr-FR\":\"French (France)\",\"fr-LU\":\"French (Luxembourg)\",\"fr-MC\":\"French (Monaco)\",\"fr-CH\":\"French (Switzerland)\",fy:\"Frisian\",fur:\"Friulian\",gd:\"Gaelic (Scots)\",\"gd-IE\":\"Gaelic (Irish)\",gl:\"Galacian\",ka:\"Georgian\",de:\"German (Standard)\",\"de-AT\":\"German (Austria)\",\"de-DE\":\"German (Germany)\",\"de-LI\":\"German (Liechtenstein)\",\"de-LU\":\"German (Luxembourg)\",\"de-CH\":\"German (Switzerland)\",el:\"Greek\",gu:\"Gujurati\",ht:\"Haitian\",he:\"Hebrew\",hi:\"Hindi\",hu:\"Hungarian\",is:\"Icelandic\",id:\"Indonesian\",iu:\"Inuktitut\",ga:\"Irish\",it:\"Italian (Standard)\",\"it-CH\":\"Italian (Switzerland)\",ja:\"Japanese\",kn:\"Kannada\",ks:\"Kashmiri\",kk:\"Kazakh\",km:\"Khmer\",ky:\"Kirghiz\",tlh:\"Klingon\",ko:\"Korean\",\"ko-KP\":\"Korean (North Korea)\",\"ko-KR\":\"Korean (South Korea)\",la:\"Latin\",lv:\"Latvian\",lt:\"Lithuanian\",lb:\"Luxembourgish\",mk:\"North Macedonia\",ms:\"Malay\",ml:\"Malayalam\",mt:\"Maltese\",mi:\"Maori\",mr:\"Marathi\",mo:\"Moldavian\",nv:\"Navajo\",ng:\"Ndonga\",ne:\"Nepali\",no:\"Norwegian\",nb:\"Norwegian (Bokmal)\",nn:\"Norwegian (Nynorsk)\",oc:\"Occitan\",or:\"Oriya\",om:\"Oromo\",fa:\"Persian\",\"fa-IR\":\"Persian/Iran\",pl:\"Polish\",pt:\"Portuguese\",\"pt-BR\":\"Portuguese (Brazil)\",pa:\"Punjabi\",\"pa-IN\":\"Punjabi (India)\",\"pa-PK\":\"Punjabi (Pakistan)\",qu:\"Quechua\",rm:\"Rhaeto-Romanic\",ro:\"Romanian\",\"ro-MO\":\"Romanian (Moldavia)\",ru:\"Russian\",\"ru-MO\":\"Russian (Moldavia)\",sz:\"Sami (Lappish)\",sg:\"Sango\",sa:\"Sanskrit\",sc:\"Sardinian\",sd:\"Sindhi\",si:\"Singhalese\",sr:\"Serbian\",sk:\"Slovak\",sl:\"Slovenian\",so:\"Somani\",sb:\"Sorbian\",es:\"Spanish\",\"es-AR\":\"Spanish (Argentina)\",\"es-BO\":\"Spanish (Bolivia)\",\"es-CL\":\"Spanish (Chile)\",\"es-CO\":\"Spanish (Colombia)\",\"es-CR\":\"Spanish (Costa Rica)\",\"es-DO\":\"Spanish (Dominican Republic)\",\"es-EC\":\"Spanish (Ecuador)\",\"es-SV\":\"Spanish (El Salvador)\",\"es-GT\":\"Spanish (Guatemala)\",\"es-HN\":\"Spanish (Honduras)\",\"es-MX\":\"Spanish (Mexico)\",\"es-NI\":\"Spanish (Nicaragua)\",\"es-PA\":\"Spanish (Panama)\",\"es-PY\":\"Spanish (Paraguay)\",\"es-PE\":\"Spanish (Peru)\",\"es-PR\":\"Spanish (Puerto Rico)\",\"es-ES\":\"Spanish (Spain)\",\"es-UY\":\"Spanish (Uruguay)\",\"es-VE\":\"Spanish (Venezuela)\",sx:\"Sutu\",sw:\"Swahili\",sv:\"Swedish\",\"sv-FI\":\"Swedish (Finland)\",\"sv-SV\":\"Swedish (Sweden)\",ta:\"Tamil\",tt:\"Tatar\",te:\"Teluga\",th:\"Thai\",tig:\"Tigre\",ts:\"Tsonga\",tn:\"Tswana\",tr:\"Turkish\",tk:\"Turkmen\",uk:\"Ukrainian\",hsb:\"Upper Sorbian\",ur:\"Urdu\",ve:\"Venda\",vi:\"Vietnamese\",vo:\"Volapuk\",wa:\"Walloon\",cy:\"Welsh\",xh:\"Xhosa\",ji:\"Yiddish\",zu:\"Zulu\"}[t]&&(this.internal.languageSettings.languageCode=t,!1===this.internal.languageSettings.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.write(\"/Lang (\"+this.internal.languageSettings.languageCode+\")\")})),this.internal.languageSettings.isSubscribed=!0)),this},Vt=E.API,Gt=Vt.getCharWidthsArray=function(e,r){var n,i,a=(r=r||{}).font||this.internal.getFont(),o=r.fontSize||this.internal.getFontSize(),s=r.charSpace||this.internal.getCharSpace(),c=r.widths?r.widths:a.metadata.Unicode.widths,u=c.fof?c.fof:1,h=r.kerning?r.kerning:a.metadata.Unicode.kerning,l=h.fof?h.fof:1,f=!1!==r.doKerning,d=0,p=e.length,g=0,m=c[0]||u,v=[];for(n=0;n<p;n++)i=e.charCodeAt(n),\"function\"==typeof a.metadata.widthOfString?v.push((a.metadata.widthOfGlyph(a.metadata.characterToGlyph(i))+s*(1e3/o)||0)/1e3):(d=f&&\"object\"===t(h[i])&&!isNaN(parseInt(h[i][g],10))?h[i][g]/l:0,v.push((c[i]||m)/u+d)),g=i;return v},Yt=Vt.getStringUnitWidth=function(t,e){var r=(e=e||{}).fontSize||this.internal.getFontSize(),n=e.font||this.internal.getFont(),i=e.charSpace||this.internal.getCharSpace();return Vt.processArabic&&(t=Vt.processArabic(t)),\"function\"==typeof n.metadata.widthOfString?n.metadata.widthOfString(t,r,i)/r:Gt.apply(this,arguments).reduce((function(t,e){return t+e}),0)},Jt=function(t,e,r,n){for(var i=[],a=0,o=t.length,s=0;a!==o&&s+e[a]<r;)s+=e[a],a++;i.push(t.slice(0,a));var c=a;for(s=0;a!==o;)s+e[a]>n&&(i.push(t.slice(c,a)),s=0,c=a),s+=e[a],a++;return c!==a&&i.push(t.slice(c,a)),i},Xt=function(t,e,r){r||(r={});var n,i,a,o,s,c,u,h=[],l=[h],f=r.textIndent||0,d=0,p=0,g=t.split(\" \"),m=Gt.apply(this,[\" \",r])[0];if(c=-1===r.lineIndent?g[0].length+2:r.lineIndent||0){var v=Array(c).join(\" \"),b=[];g.map((function(t){(t=t.split(/\\s*\\n/)).length>1?b=b.concat(t.map((function(t,e){return(e&&t.length?\"\\n\":\"\")+t}))):b.push(t[0])})),g=b,c=Yt.apply(this,[v,r])}for(a=0,o=g.length;a<o;a++){var y=0;if(n=g[a],c&&\"\\n\"==n[0]&&(n=n.substr(1),y=1),f+d+(p=(i=Gt.apply(this,[n,r])).reduce((function(t,e){return t+e}),0))>e||y){if(p>e){for(s=Jt.apply(this,[n,i,e-(f+d),e]),h.push(s.shift()),h=[s.pop()];s.length;)l.push([s.shift()]);p=i.slice(n.length-(h[0]?h[0].length:0)).reduce((function(t,e){return t+e}),0)}else h=[n];l.push(h),f=p+c,d=m}else h.push(n),f+=d+p,d=m}return u=c?function(t,e){return(e?v:\"\")+t.join(\" \")}:function(t){return t.join(\" \")},l.map(u)},Vt.splitTextToSize=function(t,e,r){var n,i=(r=r||{}).fontSize||this.internal.getFontSize(),a=function(t){if(t.widths&&t.kerning)return{widths:t.widths,kerning:t.kerning};var e=this.internal.getFont(t.fontName,t.fontStyle);return e.metadata.Unicode?{widths:e.metadata.Unicode.widths||{0:1},kerning:e.metadata.Unicode.kerning||{}}:{font:e.metadata,fontSize:this.internal.getFontSize(),charSpace:this.internal.getCharSpace()}}.call(this,r);n=Array.isArray(t)?t:String(t).split(/\\r?\\n/);var o=1*this.internal.scaleFactor*e/i;a.textIndent=r.textIndent?1*r.textIndent*this.internal.scaleFactor/i:0,a.lineIndent=r.lineIndent;var s,c,u=[];for(s=0,c=n.length;s<c;s++)u=u.concat(Xt.apply(this,[n[s],o,a]));return u},function(e){e.__fontmetrics__=e.__fontmetrics__||{};for(var r=\"klmnopqrstuvwxyz\",n={},i={},a=0;a<r.length;a++)n[r[a]]=\"0123456789abcdef\"[a],i[\"0123456789abcdef\"[a]]=r[a];var o=function(t){return\"0x\"+parseInt(t,10).toString(16)},s=e.__fontmetrics__.compress=function(e){var r,n,a,c,u=[\"{\"];for(var h in e){if(r=e[h],isNaN(parseInt(h,10))?n=\"'\"+h+\"'\":(h=parseInt(h,10),n=(n=o(h).slice(2)).slice(0,-1)+i[n.slice(-1)]),\"number\"==typeof r)r<0?(a=o(r).slice(3),c=\"-\"):(a=o(r).slice(2),c=\"\"),a=c+a.slice(0,-1)+i[a.slice(-1)];else{if(\"object\"!==t(r))throw new Error(\"Don't know what to do with value type \"+t(r)+\".\");a=s(r)}u.push(n+a)}return u.push(\"}\"),u.join(\"\")},c=e.__fontmetrics__.uncompress=function(t){if(\"string\"!=typeof t)throw new Error(\"Invalid argument passed to uncompress.\");for(var e,r,i,a,o={},s=1,c=o,u=[],h=\"\",l=\"\",f=t.length-1,d=1;d<f;d+=1)\"'\"==(a=t[d])?e?(i=e.join(\"\"),e=void 0):e=[]:e?e.push(a):\"{\"==a?(u.push([c,i]),c={},i=void 0):\"}\"==a?((r=u.pop())[0][r[1]]=c,i=void 0,c=r[0]):\"-\"==a?s=-1:void 0===i?n.hasOwnProperty(a)?(h+=n[a],i=parseInt(h,16)*s,s=1,h=\"\"):h+=a:n.hasOwnProperty(a)?(l+=n[a],c[i]=parseInt(l,16)*s,s=1,i=void 0,l=\"\"):l+=a;return o},u={codePages:[\"WinAnsiEncoding\"],WinAnsiEncoding:c(\"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\")},h={Unicode:{Courier:u,\"Courier-Bold\":u,\"Courier-BoldOblique\":u,\"Courier-Oblique\":u,Helvetica:u,\"Helvetica-Bold\":u,\"Helvetica-BoldOblique\":u,\"Helvetica-Oblique\":u,\"Times-Roman\":u,\"Times-Bold\":u,\"Times-BoldItalic\":u,\"Times-Italic\":u}},l={Unicode:{\"Courier-Oblique\":c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-BoldItalic\":c(\"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"),\"Helvetica-Bold\":c(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),Courier:c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-BoldOblique\":c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Bold\":c(\"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"),Symbol:c(\"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"),Helvetica:c(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"),\"Helvetica-BoldOblique\":c(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),ZapfDingbats:c(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-Bold\":c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Italic\":c(\"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"),\"Times-Roman\":c(\"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"),\"Helvetica-Oblique\":c(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\")}};e.events.push([\"addFont\",function(t){var e=t.font,r=l.Unicode[e.postScriptName];r&&(e.metadata.Unicode={},e.metadata.Unicode.widths=r.widths,e.metadata.Unicode.kerning=r.kerning);var n=h.Unicode[e.postScriptName];n&&(e.metadata.Unicode.encoding=n,e.encoding=n.codePages[0])}])}(E.API),\n/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++)r[n]=t.charCodeAt(n);return r};t.API.events.push([\"addFont\",function(r){var n=void 0,i=r.font,a=r.instance;if(!i.isStandardFont){if(void 0===a)throw new Error(\"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\"+i.postScriptName+\"').\");if(\"string\"!=typeof(n=!1===a.existsFileInVFS(i.postScriptName)?a.loadFile(i.postScriptName):a.getFileFromVFS(i.postScriptName)))throw new Error(\"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\"+i.postScriptName+\"').\");!function(r,n){n=/^\\x00\\x01\\x00\\x00/.test(n)?e(n):e(u(n)),r.metadata=t.API.TTFFont.open(n),r.metadata.Unicode=r.metadata.Unicode||{encoding:{},kerning:{},widths:[]},r.metadata.glyIdsUsed=[0]}(i,n)}}])}(E),\n/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){function e(){return(n.canvg?Promise.resolve(n.canvg):import(\"canvg\")).catch((function(t){return Promise.reject(new Error(\"Could not load canvg: \"+t))})).then((function(t){return t.default?t.default:t}))}E.API.addSvgAsImage=function(t,r,n,i,o,s,c,u){if(isNaN(r)||isNaN(n))throw a.error(\"jsPDF.addSvgAsImage: Invalid coordinates\",arguments),new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");if(isNaN(i)||isNaN(o))throw a.error(\"jsPDF.addSvgAsImage: Invalid measurements\",arguments),new Error(\"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\");var h=document.createElement(\"canvas\");h.width=i,h.height=o;var l=h.getContext(\"2d\");l.fillStyle=\"#fff\",l.fillRect(0,0,h.width,h.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(l,t,f)}),(function(){return Promise.reject(new Error(\"Could not load canvg.\"))})).then((function(t){return t.render(f)})).then((function(){d.addImage(h.toDataURL(\"image/jpeg\",1),r,n,i,o,c,u)}))}}(),E.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,\"g\"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),\"g\"),r=this.pdfEscape16(this.internal.getNumberOfPages()+\"\",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},E.API.viewerPreferences=function(e,r){var n;e=e||{},r=r||!1;var i,a,o,s={HideToolbar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:\"UseNone\",value:\"UseNone\",type:\"name\",explicitSet:!1,valueSet:[\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"UseOC\"],pdfVersion:1.3},Direction:{defaultValue:\"L2R\",value:\"L2R\",type:\"name\",explicitSet:!1,valueSet:[\"L2R\",\"R2L\"],pdfVersion:1.3},ViewArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},ViewClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintScaling:{defaultValue:\"AppDefault\",value:\"AppDefault\",type:\"name\",explicitSet:!1,valueSet:[\"AppDefault\",\"None\"],pdfVersion:1.6},Duplex:{defaultValue:\"\",value:\"none\",type:\"name\",explicitSet:!1,valueSet:[\"Simplex\",\"DuplexFlipShortEdge\",\"DuplexFlipLongEdge\",\"none\"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:\"\",value:\"\",type:\"array\",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:\"integer\",explicitSet:!1,valueSet:null,pdfVersion:1.7}},c=Object.keys(s),u=[],h=0,l=0,f=0;function d(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,\"reset\"===e||!0===r){var p=c.length;for(f=0;f<p;f+=1)n[c[f]].value=n[c[f]].defaultValue,n[c[f]].explicitSet=!1}if(\"object\"===t(e))for(a in e)if(o=e[a],d(c,a)&&void 0!==o){if(\"boolean\"===n[a].type&&\"boolean\"==typeof o)n[a].value=o;else if(\"name\"===n[a].type&&d(n[a].valueSet,o))n[a].value=o;else if(\"integer\"===n[a].type&&Number.isInteger(o))n[a].value=o;else if(\"array\"===n[a].type){for(h=0;h<o.length;h+=1)if(i=!0,1===o[h].length&&\"number\"==typeof o[h][0])u.push(String(o[h]-1));else if(o[h].length>1){for(l=0;l<o[h].length;l+=1)\"number\"!=typeof o[h][l]&&(i=!1);!0===i&&u.push([o[h][0]-1,o[h][1]-1].join(\" \"))}n[a].value=\"[\"+u.join(\" \")+\"]\"}else n[a].value=n[a].defaultValue;n[a].explicitSet=!0}return!1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",(function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&(\"name\"===n[t].type?e.push(\"/\"+t+\" /\"+n[t].value):e.push(\"/\"+t+\" \"+n[t].value));0!==e.length&&this.internal.write(\"/ViewerPreferences\\n<<\\n\"+e.join(\"\\n\")+\"\\n>>\")})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},\n/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){var e=function(){var t='<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"><rdf:Description rdf:about=\"\" xmlns:jspdf=\"'+this.internal.__metadata__.namespaceuri+'\"><jspdf:metadata>',e=unescape(encodeURIComponent('<x:xmpmeta xmlns:x=\"adobe:ns:meta/\">')),r=unescape(encodeURIComponent(t)),n=unescape(encodeURIComponent(this.internal.__metadata__.metadata)),i=unescape(encodeURIComponent(\"</jspdf:metadata></rdf:Description></rdf:RDF>\")),a=unescape(encodeURIComponent(\"</x:xmpmeta>\")),o=r.length+n.length+i.length+e.length+a.length;this.internal.__metadata__.metadata_object_number=this.internal.newObject(),this.internal.write(\"<< /Type /Metadata /Subtype /XML /Length \"+o+\" >>\"),this.internal.write(\"stream\"),this.internal.write(e+r+n+i+a),this.internal.write(\"endstream\"),this.internal.write(\"endobj\")},r=function(){this.internal.__metadata__.metadata_object_number&&this.internal.write(\"/Metadata \"+this.internal.__metadata__.metadata_object_number+\" 0 R\")};t.addMetadata=function(t,n){return void 0===this.internal.__metadata__&&(this.internal.__metadata__={metadata:t,namespaceuri:n||\"http://jspdf.default.namespaceuri/\"},this.internal.events.subscribe(\"putCatalog\",r),this.internal.events.subscribe(\"postPutResources\",e)),this}}(E.API),function(t){var e=t.API,r=e.pdfEscape16=function(t,e){for(var r,n=e.metadata.Unicode.widths,i=[\"\",\"0\",\"00\",\"000\",\"0000\"],a=[\"\"],o=0,s=t.length;o<s;++o){if(r=e.metadata.characterToGlyph(t.charCodeAt(o)),e.metadata.glyIdsUsed.push(r),e.metadata.toUnicode[r]=t.charCodeAt(o),-1==n.indexOf(r)&&(n.push(r),n.push([parseInt(e.metadata.widthOfGlyph(r),10)])),\"0\"==r)return a.join(\"\");r=r.toString(16),a.push(i[4-r.length],r)}return a.join(\"\")},n=function(t){var e,r,n,i,a,o,s;for(a=\"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000><ffff>\\nendcodespacerange\",n=[],o=0,s=(r=Object.keys(t).sort((function(t,e){return t-e}))).length;o<s;o++)e=r[o],n.length>=100&&(a+=\"\\n\"+n.length+\" beginbfchar\\n\"+n.join(\"\\n\")+\"\\nendbfchar\",n=[]),void 0!==t[e]&&null!==t[e]&&\"function\"==typeof t[e].toString&&(i=(\"0000\"+t[e].toString(16)).slice(-4),e=(\"0000\"+(+e).toString(16)).slice(-4),n.push(\"<\"+e+\"><\"+i+\">\"));return n.length&&(a+=\"\\n\"+n.length+\" beginbfchar\\n\"+n.join(\"\\n\")+\"\\nendbfchar\\n\"),a+=\"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\"};e.events.push([\"putFont\",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream;if(r.metadata instanceof t.API.TTFFont&&\"Identity-H\"===r.encoding){for(var s=r.metadata.Unicode.widths,c=r.metadata.subset.encode(r.metadata.glyIdsUsed,1),u=\"\",h=0;h<c.length;h++)u+=String.fromCharCode(c[h]);var l=a();o({data:u,addLength1:!0,objectId:l}),i(\"endobj\");var f=a();o({data:n(r.metadata.toUnicode),addLength1:!0,objectId:f}),i(\"endobj\");var d=a();i(\"<<\"),i(\"/Type /FontDescriptor\"),i(\"/FontName /\"+F(r.fontName)),i(\"/FontFile2 \"+l+\" 0 R\"),i(\"/FontBBox \"+t.API.PDFObject.convert(r.metadata.bbox)),i(\"/Flags \"+r.metadata.flags),i(\"/StemV \"+r.metadata.stemV),i(\"/ItalicAngle \"+r.metadata.italicAngle),i(\"/Ascent \"+r.metadata.ascender),i(\"/Descent \"+r.metadata.decender),i(\"/CapHeight \"+r.metadata.capHeight),i(\">>\"),i(\"endobj\");var p=a();i(\"<<\"),i(\"/Type /Font\"),i(\"/BaseFont /\"+F(r.fontName)),i(\"/FontDescriptor \"+d+\" 0 R\"),i(\"/W \"+t.API.PDFObject.convert(s)),i(\"/CIDToGIDMap /Identity\"),i(\"/DW 1000\"),i(\"/Subtype /CIDFontType2\"),i(\"/CIDSystemInfo\"),i(\"<<\"),i(\"/Supplement 0\"),i(\"/Registry (Adobe)\"),i(\"/Ordering (\"+r.encoding+\")\"),i(\">>\"),i(\">>\"),i(\"endobj\"),r.objectNumber=a(),i(\"<<\"),i(\"/Type /Font\"),i(\"/Subtype /Type0\"),i(\"/ToUnicode \"+f+\" 0 R\"),i(\"/BaseFont /\"+F(r.fontName)),i(\"/Encoding /\"+r.encoding),i(\"/DescendantFonts [\"+p+\" 0 R]\"),i(\">>\"),i(\"endobj\"),r.isAlreadyPutted=!0}}(e)}]);e.events.push([\"putFont\",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream;if(r.metadata instanceof t.API.TTFFont&&\"WinAnsiEncoding\"===r.encoding){for(var s=r.metadata.rawData,c=\"\",u=0;u<s.length;u++)c+=String.fromCharCode(s[u]);var h=a();o({data:c,addLength1:!0,objectId:h}),i(\"endobj\");var l=a();o({data:n(r.metadata.toUnicode),addLength1:!0,objectId:l}),i(\"endobj\");var f=a();i(\"<<\"),i(\"/Descent \"+r.metadata.decender),i(\"/CapHeight \"+r.metadata.capHeight),i(\"/StemV \"+r.metadata.stemV),i(\"/Type /FontDescriptor\"),i(\"/FontFile2 \"+h+\" 0 R\"),i(\"/Flags 96\"),i(\"/FontBBox \"+t.API.PDFObject.convert(r.metadata.bbox)),i(\"/FontName /\"+F(r.fontName)),i(\"/ItalicAngle \"+r.metadata.italicAngle),i(\"/Ascent \"+r.metadata.ascender),i(\">>\"),i(\"endobj\"),r.objectNumber=a();for(var d=0;d<r.metadata.hmtx.widths.length;d++)r.metadata.hmtx.widths[d]=parseInt(r.metadata.hmtx.widths[d]*(1e3/r.metadata.head.unitsPerEm));i(\"<</Subtype/TrueType/Type/Font/ToUnicode \"+l+\" 0 R/BaseFont/\"+F(r.fontName)+\"/FontDescriptor \"+f+\" 0 R/Encoding/\"+r.encoding+\" /FirstChar 29 /LastChar 255 /Widths \"+t.API.PDFObject.convert(r.metadata.hmtx.widths)+\">>\"),i(\"endobj\"),r.isAlreadyPutted=!0}}(e)}]);var i=function(t){var e,n=t.text||\"\",i=t.x,a=t.y,o=t.options||{},s=t.mutex||{},c=s.pdfEscape,u=s.activeFontKey,h=s.fonts,l=u,f=\"\",d=0,p=\"\",g=h[l].encoding;if(\"Identity-H\"!==h[l].encoding)return{text:n,x:i,y:a,options:o,mutex:s};for(p=n,l=u,Array.isArray(n)&&(p=n[0]),d=0;d<p.length;d+=1)h[l].metadata.hasOwnProperty(\"cmap\")&&(e=h[l].metadata.cmap.unicode.codeMap[p[d].charCodeAt(0)]),e||p[d].charCodeAt(0)<256&&h[l].metadata.hasOwnProperty(\"Unicode\")?f+=p[d]:f+=\"\";var m=\"\";return parseInt(l.slice(1))<14||\"WinAnsiEncoding\"===g?m=c(f,l).split(\"\").map((function(t){return t.charCodeAt(0).toString(16)})).join(\"\"):\"Identity-H\"===g&&(m=r(f,h[l])),s.isHex=!0,{text:m,x:i,y:a,options:o,mutex:s}};e.events.push([\"postProcessText\",function(t){var e=t.text||\"\",r=[],n={text:e,x:t.x,y:t.y,options:t.options,mutex:t.mutex};if(Array.isArray(e)){var a=0;for(a=0;a<e.length;a+=1)Array.isArray(e[a])&&3===e[a].length?r.push([i(Object.assign({},n,{text:e[a][0]})).text,e[a][1],e[a][2]]):r.push(i(Object.assign({},n,{text:e[a]})).text);t.text=r}else t.text=i(Object.assign({},n,{text:e})).text}])}(E),\n/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(){return void 0===this.internal.vFS&&(this.internal.vFS={}),!0};t.existsFileInVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]},t.addFileToVFS=function(t,r){return e.call(this),this.internal.vFS[t]=r,this},t.getFileFromVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]?this.internal.vFS[t]:null}}(E.API),\n/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\nfunction(t){t.__bidiEngine__=t.prototype.__bidiEngine__=function(t){var r,n,i,a,o,s,c,u=e,h=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],l=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],f={L:0,R:1,EN:2,AN:3,N:4,B:5,S:6},d={0:0,5:1,6:2,7:3,32:4,251:5,254:6,255:7},p=[\"(\",\")\",\"(\",\"<\",\">\",\"<\",\"[\",\"]\",\"[\",\"{\",\"}\",\"{\",\"«\",\"»\",\"«\",\"‹\",\"›\",\"‹\",\"⁅\",\"⁆\",\"⁅\",\"⁽\",\"⁾\",\"⁽\",\"₍\",\"₎\",\"₍\",\"≤\",\"≥\",\"≤\",\"〈\",\"〉\",\"〈\",\"﹙\",\"﹚\",\"﹙\",\"﹛\",\"﹜\",\"﹛\",\"﹝\",\"﹞\",\"﹝\",\"﹤\",\"﹥\",\"﹤\"],g=new RegExp(/^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/),m=!1,v=0;this.__bidiEngine__={};var b=function(t){var e=t.charCodeAt(),r=e>>8,n=d[r];return void 0!==n?u[256*n+(255&e)]:252===r||253===r?\"AL\":g.test(r)?\"L\":8===r?\"R\":\"N\"},y=function(t){for(var e,r=0;r<t.length;r++){if(\"L\"===(e=b(t.charAt(r))))return!1;if(\"R\"===e)return!0}return!1},w=function(t,e,o,s){var c,u,h,l,f=e[s];switch(f){case\"L\":case\"R\":m=!1;break;case\"N\":case\"AN\":break;case\"EN\":m&&(f=\"AN\");break;case\"AL\":m=!0,f=\"R\";break;case\"WS\":f=\"N\";break;case\"CS\":s<1||s+1>=e.length||\"EN\"!==(c=o[s-1])&&\"AN\"!==c||\"EN\"!==(u=e[s+1])&&\"AN\"!==u?f=\"N\":m&&(u=\"AN\"),f=u===c?u:\"N\";break;case\"ES\":f=\"EN\"===(c=s>0?o[s-1]:\"B\")&&s+1<e.length&&\"EN\"===e[s+1]?\"EN\":\"N\";break;case\"ET\":if(s>0&&\"EN\"===o[s-1]){f=\"EN\";break}if(m){f=\"N\";break}for(h=s+1,l=e.length;h<l&&\"ET\"===e[h];)h++;f=h<l&&\"EN\"===e[h]?\"EN\":\"N\";break;case\"NSM\":if(i&&!a){for(l=e.length,h=s+1;h<l&&\"NSM\"===e[h];)h++;if(h<l){var d=t[s],p=d>=1425&&d<=2303||64286===d;if(c=e[h],p&&(\"R\"===c||\"AL\"===c)){f=\"R\";break}}}f=s<1||\"B\"===(c=e[s-1])?\"N\":o[s-1];break;case\"B\":m=!1,r=!0,f=v;break;case\"S\":n=!0,f=\"N\";break;case\"LRE\":case\"RLE\":case\"LRO\":case\"RLO\":case\"PDF\":m=!1;break;case\"BN\":f=\"N\"}return f},N=function(t,e,r){var n=t.split(\"\");return r&&L(n,r,{hiLevel:v}),n.reverse(),e&&e.reverse(),n.join(\"\")},L=function(t,e,i){var a,o,s,c,u,d=-1,p=t.length,g=0,y=[],N=v?l:h,L=[];for(m=!1,r=!1,n=!1,o=0;o<p;o++)L[o]=b(t[o]);for(s=0;s<p;s++){if(u=g,y[s]=w(t,L,y,s),a=240&(g=N[u][f[y[s]]]),g&=15,e[s]=c=N[g][5],a>0)if(16===a){for(o=d;o<s;o++)e[o]=1;d=-1}else d=-1;if(N[g][6])-1===d&&(d=s);else if(d>-1){for(o=d;o<s;o++)e[o]=c;d=-1}\"B\"===L[s]&&(e[s]=0),i.hiLevel|=c}n&&function(t,e,r){for(var n=0;n<r;n++)if(\"S\"===t[n]){e[n]=v;for(var i=n-1;i>=0&&\"WS\"===t[i];i--)e[i]=v}}(L,e,p)},A=function(t,e,n,i,a){if(!(a.hiLevel<t)){if(1===t&&1===v&&!r)return e.reverse(),void(n&&n.reverse());for(var o,s,c,u,h=e.length,l=0;l<h;){if(i[l]>=t){for(c=l+1;c<h&&i[c]>=t;)c++;for(u=l,s=c-1;u<s;u++,s--)o=e[u],e[u]=e[s],e[s]=o,n&&(o=n[u],n[u]=n[s],n[s]=o);l=c}l++}}},x=function(t,e,r){var n=t.split(\"\"),i={hiLevel:v};return r||(r=[]),L(n,r,i),function(t,e,r){if(0!==r.hiLevel&&c)for(var n,i=0;i<t.length;i++)1===e[i]&&(n=p.indexOf(t[i]))>=0&&(t[i]=p[n+1])}(n,r,i),A(2,n,e,r,i),A(1,n,e,r,i),n.join(\"\")};return this.__bidiEngine__.doBidiReorder=function(t,e,r){if(function(t,e){if(e)for(var r=0;r<t.length;r++)e[r]=r;void 0===a&&(a=y(t)),void 0===s&&(s=y(t))}(t,e),i||!o||s)if(i&&o&&a^s)v=a?1:0,t=N(t,e,r);else if(!i&&o&&s)v=a?1:0,t=x(t,e,r),t=N(t,e);else if(!i||a||o||s){if(i&&!o&&a^s)t=N(t,e),a?(v=0,t=x(t,e,r)):(v=1,t=x(t,e,r),t=N(t,e));else if(i&&a&&!o&&s)v=1,t=x(t,e,r),t=N(t,e);else if(!i&&!o&&a^s){var n=c;a?(v=1,t=x(t,e,r),v=0,c=!1,t=x(t,e,r),c=n):(v=0,t=x(t,e,r),t=N(t,e),v=1,c=!1,t=x(t,e,r),c=n,t=N(t,e))}}else v=0,t=x(t,e,r);else v=a?1:0,t=x(t,e,r);return t},this.__bidiEngine__.setOptions=function(t){t&&(i=t.isInputVisual,o=t.isOutputVisual,a=t.isInputRtl,s=t.isOutputRtl,c=t.isSymmetricSwapping)},this.__bidiEngine__.setOptions(t),this.__bidiEngine__};var e=[\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"S\",\"B\",\"S\",\"WS\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"B\",\"B\",\"S\",\"WS\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"CS\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"L\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"ET\",\"ET\",\"EN\",\"EN\",\"N\",\"L\",\"N\",\"N\",\"N\",\"EN\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"N\",\"N\",\"AL\",\"ET\",\"ET\",\"AL\",\"CS\",\"AL\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"ET\",\"AN\",\"AN\",\"AL\",\"AL\",\"AL\",\"NSM\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"NSM\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"BN\",\"BN\",\"BN\",\"L\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"B\",\"LRE\",\"RLE\",\"PDF\",\"LRO\",\"RLO\",\"CS\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"N\",\"LRI\",\"RLI\",\"FSI\",\"PDI\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"EN\",\"L\",\"N\",\"N\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"L\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"NSM\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"ES\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"CS\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"N\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\"],r=new t.__bidiEngine__({isInputVisual:!0});t.API.events.push([\"postProcessText\",function(t){var e=t.text,n=(t.x,t.y,t.options||{}),i=(t.mutex,n.lang,[]);if(n.isInputVisual=\"boolean\"!=typeof n.isInputVisual||n.isInputVisual,r.setOptions(n),\"[object Array]\"===Object.prototype.toString.call(e)){var a=0;for(i=[],a=0;a<e.length;a+=1)\"[object Array]\"===Object.prototype.toString.call(e[a])?i.push([r.doBidiReorder(e[a][0]),e[a][1],e[a][2]]):i.push([r.doBidiReorder(e[a])]);t.text=i}else t.text=r.doBidiReorder(e);r.setOptions({isInputVisual:!0})}])}(E),E.API.TTFFont=function(){function t(t){var e;if(this.rawData=t,e=this.contents=new ne(t),this.contents.pos=4,\"ttcf\"===e.readString(4))throw new Error(\"TTCF not supported.\");e.pos=0,this.parse(),this.subset=new Le(this),this.registerTTF()}return t.open=function(e){return new t(e)},t.prototype.parse=function(){return this.directory=new ie(this.contents),this.head=new se(this),this.name=new pe(this),this.cmap=new ue(this),this.toUnicode={},this.hhea=new he(this),this.maxp=new ge(this),this.hmtx=new me(this),this.post=new fe(this),this.os2=new le(this),this.loca=new Ne(this),this.glyf=new be(this),this.ascender=this.os2.exists&&this.os2.ascender||this.hhea.ascender,this.decender=this.os2.exists&&this.os2.decender||this.hhea.decender,this.lineGap=this.os2.exists&&this.os2.lineGap||this.hhea.lineGap,this.bbox=[this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax]},t.prototype.registerTTF=function(){var t,e,r,n,i;if(this.scaleFactor=1e3/this.head.unitsPerEm,this.bbox=function(){var e,r,n,i;for(i=[],e=0,r=(n=this.bbox).length;e<r;e++)t=n[e],i.push(Math.round(t*this.scaleFactor));return i}.call(this),this.stemV=0,this.post.exists?(r=255&(n=this.post.italic_angle),0!=(32768&(e=n>>16))&&(e=-(1+(65535^e))),this.italicAngle=+(e+\".\"+r)):this.italicAngle=0,this.ascender=Math.round(this.ascender*this.scaleFactor),this.decender=Math.round(this.decender*this.scaleFactor),this.lineGap=Math.round(this.lineGap*this.scaleFactor),this.capHeight=this.os2.exists&&this.os2.capHeight||this.ascender,this.xHeight=this.os2.exists&&this.os2.xHeight||0,this.familyClass=(this.os2.exists&&this.os2.familyClass||0)>>8,this.isSerif=1===(i=this.familyClass)||2===i||3===i||4===i||5===i||7===i,this.isScript=10===this.familyClass,this.flags=0,this.post.isFixedPitch&&(this.flags|=1),this.isSerif&&(this.flags|=2),this.isScript&&(this.flags|=8),0!==this.italicAngle&&(this.flags|=64),this.flags|=32,!this.cmap.unicode)throw new Error(\"No unicode cmap for font\")},t.prototype.characterToGlyph=function(t){var e;return(null!=(e=this.cmap.unicode)?e.codeMap[t]:void 0)||0},t.prototype.widthOfGlyph=function(t){var e;return e=1e3/this.head.unitsPerEm,this.hmtx.forGlyph(t).advance*e},t.prototype.widthOfString=function(t,e,r){var n,i,a,o;for(a=0,i=0,o=(t=\"\"+t).length;0<=o?i<o:i>o;i=0<=o?++i:--i)n=t.charCodeAt(i),a+=this.widthOfGlyph(this.characterToGlyph(n))+r*(1e3/e)||0;return a*(e/1e3)},t.prototype.lineHeight=function(t,e){var r;return null==e&&(e=!1),r=e?this.lineGap:0,(this.ascender+r-this.decender)/1e3*t},t}();var re,ne=function(){function t(t){this.data=null!=t?t:[],this.pos=0,this.length=this.data.length}return t.prototype.readByte=function(){return this.data[this.pos++]},t.prototype.writeByte=function(t){return this.data[this.pos++]=t},t.prototype.readUInt32=function(){return 16777216*this.readByte()+(this.readByte()<<16)+(this.readByte()<<8)+this.readByte()},t.prototype.writeUInt32=function(t){return this.writeByte(t>>>24&255),this.writeByte(t>>16&255),this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt32=function(){var t;return(t=this.readUInt32())>=2147483648?t-4294967296:t},t.prototype.writeInt32=function(t){return t<0&&(t+=4294967296),this.writeUInt32(t)},t.prototype.readUInt16=function(){return this.readByte()<<8|this.readByte()},t.prototype.writeUInt16=function(t){return this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt16=function(){var t;return(t=this.readUInt16())>=32768?t-65536:t},t.prototype.writeInt16=function(t){return t<0&&(t+=65536),this.writeUInt16(t)},t.prototype.readString=function(t){var e,r;for(r=[],e=0;0<=t?e<t:e>t;e=0<=t?++e:--e)r[e]=String.fromCharCode(this.readByte());return r.join(\"\")},t.prototype.writeString=function(t){var e,r,n;for(n=[],e=0,r=t.length;0<=r?e<r:e>r;e=0<=r?++e:--e)n.push(this.writeByte(t.charCodeAt(e)));return n},t.prototype.readShort=function(){return this.readInt16()},t.prototype.writeShort=function(t){return this.writeInt16(t)},t.prototype.readLongLong=function(){var t,e,r,n,i,a,o,s;return t=this.readByte(),e=this.readByte(),r=this.readByte(),n=this.readByte(),i=this.readByte(),a=this.readByte(),o=this.readByte(),s=this.readByte(),128&t?-1*(72057594037927940*(255^t)+281474976710656*(255^e)+1099511627776*(255^r)+4294967296*(255^n)+16777216*(255^i)+65536*(255^a)+256*(255^o)+(255^s)+1):72057594037927940*t+281474976710656*e+1099511627776*r+4294967296*n+16777216*i+65536*a+256*o+s},t.prototype.writeLongLong=function(t){var e,r;return e=Math.floor(t/4294967296),r=4294967295&t,this.writeByte(e>>24&255),this.writeByte(e>>16&255),this.writeByte(e>>8&255),this.writeByte(255&e),this.writeByte(r>>24&255),this.writeByte(r>>16&255),this.writeByte(r>>8&255),this.writeByte(255&r)},t.prototype.readInt=function(){return this.readInt32()},t.prototype.writeInt=function(t){return this.writeInt32(t)},t.prototype.read=function(t){var e,r;for(e=[],r=0;0<=t?r<t:r>t;r=0<=t?++r:--r)e.push(this.readByte());return e},t.prototype.write=function(t){var e,r,n,i;for(i=[],r=0,n=t.length;r<n;r++)e=t[r],i.push(this.writeByte(e));return i},t}(),ie=function(){var t;function e(t){var e,r,n;for(this.scalarType=t.readInt(),this.tableCount=t.readShort(),this.searchRange=t.readShort(),this.entrySelector=t.readShort(),this.rangeShift=t.readShort(),this.tables={},r=0,n=this.tableCount;0<=n?r<n:r>n;r=0<=n?++r:--r)e={tag:t.readString(4),checksum:t.readInt(),offset:t.readInt(),length:t.readInt()},this.tables[e.tag]=e}return e.prototype.encode=function(e){var r,n,i,a,o,s,c,u,h,l,f,d,p;for(p in f=Object.keys(e).length,s=Math.log(2),h=16*Math.floor(Math.log(f)/s),a=Math.floor(h/s),u=16*f-h,(n=new ne).writeInt(this.scalarType),n.writeShort(f),n.writeShort(h),n.writeShort(a),n.writeShort(u),i=16*f,c=n.pos+i,o=null,d=[],e)for(l=e[p],n.writeString(p),n.writeInt(t(l)),n.writeInt(c),n.writeInt(l.length),d=d.concat(l),\"head\"===p&&(o=c),c+=l.length;c%4;)d.push(0),c++;return n.write(d),r=2981146554-t(n.data),n.pos=o+8,n.writeUInt32(r),n.data},t=function(t){var e,r,n,i;for(t=ve.call(t);t.length%4;)t.push(0);for(n=new ne(t),r=0,e=0,i=t.length;e<i;e=e+=4)r+=n.readUInt32();return 4294967295&r},e}(),ae={}.hasOwnProperty,oe=function(t,e){for(var r in e)ae.call(e,r)&&(t[r]=e[r]);function n(){this.constructor=t}return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t};re=function(){function t(t){var e;this.file=t,e=this.file.directory.tables[this.tag],this.exists=!!e,e&&(this.offset=e.offset,this.length=e.length,this.parse(this.file.contents))}return t.prototype.parse=function(){},t.prototype.encode=function(){},t.prototype.raw=function(){return this.exists?(this.file.contents.pos=this.offset,this.file.contents.read(this.length)):null},t}();var se=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"head\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.revision=t.readInt(),this.checkSumAdjustment=t.readInt(),this.magicNumber=t.readInt(),this.flags=t.readShort(),this.unitsPerEm=t.readShort(),this.created=t.readLongLong(),this.modified=t.readLongLong(),this.xMin=t.readShort(),this.yMin=t.readShort(),this.xMax=t.readShort(),this.yMax=t.readShort(),this.macStyle=t.readShort(),this.lowestRecPPEM=t.readShort(),this.fontDirectionHint=t.readShort(),this.indexToLocFormat=t.readShort(),this.glyphDataFormat=t.readShort()},e.prototype.encode=function(t){var e;return(e=new ne).writeInt(this.version),e.writeInt(this.revision),e.writeInt(this.checkSumAdjustment),e.writeInt(this.magicNumber),e.writeShort(this.flags),e.writeShort(this.unitsPerEm),e.writeLongLong(this.created),e.writeLongLong(this.modified),e.writeShort(this.xMin),e.writeShort(this.yMin),e.writeShort(this.xMax),e.writeShort(this.yMax),e.writeShort(this.macStyle),e.writeShort(this.lowestRecPPEM),e.writeShort(this.fontDirectionHint),e.writeShort(t),e.writeShort(this.glyphDataFormat),e.data},e}(),ce=function(){function t(t,e){var r,n,i,a,o,s,c,u,h,l,f,d,p,g,m,v,b;switch(this.platformID=t.readUInt16(),this.encodingID=t.readShort(),this.offset=e+t.readInt(),h=t.pos,t.pos=this.offset,this.format=t.readUInt16(),this.length=t.readUInt16(),this.language=t.readUInt16(),this.isUnicode=3===this.platformID&&1===this.encodingID&&4===this.format||0===this.platformID&&4===this.format,this.codeMap={},this.format){case 0:for(s=0;s<256;++s)this.codeMap[s]=t.readByte();break;case 4:for(f=t.readUInt16(),l=f/2,t.pos+=6,i=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),t.pos+=2,p=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),c=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),u=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),n=(this.length-t.pos+this.offset)/2,o=function(){var e,r;for(r=[],s=e=0;0<=n?e<n:e>n;s=0<=n?++e:--e)r.push(t.readUInt16());return r}(),s=m=0,b=i.length;m<b;s=++m)for(g=i[s],r=v=d=p[s];d<=g?v<=g:v>=g;r=d<=g?++v:--v)0===u[s]?a=r+c[s]:0!==(a=o[u[s]/2+(r-d)-(l-s)]||0)&&(a+=c[s]),this.codeMap[r]=65535&a}t.pos=h}return t.encode=function(t,e){var r,n,i,a,o,s,c,u,h,l,f,d,p,g,m,v,b,y,w,N,L,A,x,S,_,P,k,I,F,C,j,O,B,M,E,q,D,R,T,U,z,H,W,V,G,Y;switch(I=new ne,a=Object.keys(t).sort((function(t,e){return t-e})),e){case\"macroman\":for(p=0,g=function(){var t=[];for(d=0;d<256;++d)t.push(0);return t}(),v={0:0},i={},F=0,B=a.length;F<B;F++)null==v[W=t[n=a[F]]]&&(v[W]=++p),i[n]={old:t[n],new:v[t[n]]},g[n]=v[t[n]];return I.writeUInt16(1),I.writeUInt16(0),I.writeUInt32(12),I.writeUInt16(0),I.writeUInt16(262),I.writeUInt16(0),I.write(g),{charMap:i,subtable:I.data,maxGlyphID:p+1};case\"unicode\":for(P=[],h=[],b=0,v={},r={},m=c=null,C=0,M=a.length;C<M;C++)null==v[w=t[n=a[C]]]&&(v[w]=++b),r[n]={old:w,new:v[w]},o=v[w]-n,null!=m&&o===c||(m&&h.push(m),P.push(n),c=o),m=n;for(m&&h.push(m),h.push(65535),P.push(65535),S=2*(x=P.length),A=2*Math.pow(Math.log(x)/Math.LN2,2),l=Math.log(A/2)/Math.LN2,L=2*x-A,s=[],N=[],f=[],d=j=0,E=P.length;j<E;d=++j){if(_=P[d],u=h[d],65535===_){s.push(0),N.push(0);break}if(_-(k=r[_].new)>=32768)for(s.push(0),N.push(2*(f.length+x-d)),n=O=_;_<=u?O<=u:O>=u;n=_<=u?++O:--O)f.push(r[n].new);else s.push(k-_),N.push(0)}for(I.writeUInt16(3),I.writeUInt16(1),I.writeUInt32(12),I.writeUInt16(4),I.writeUInt16(16+8*x+2*f.length),I.writeUInt16(0),I.writeUInt16(S),I.writeUInt16(A),I.writeUInt16(l),I.writeUInt16(L),z=0,q=h.length;z<q;z++)n=h[z],I.writeUInt16(n);for(I.writeUInt16(0),H=0,D=P.length;H<D;H++)n=P[H],I.writeUInt16(n);for(V=0,R=s.length;V<R;V++)o=s[V],I.writeUInt16(o);for(G=0,T=N.length;G<T;G++)y=N[G],I.writeUInt16(y);for(Y=0,U=f.length;Y<U;Y++)p=f[Y],I.writeUInt16(p);return{charMap:r,subtable:I.data,maxGlyphID:b+1}}},t}(),ue=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"cmap\",e.prototype.parse=function(t){var e,r,n;for(t.pos=this.offset,this.version=t.readUInt16(),n=t.readUInt16(),this.tables=[],this.unicode=null,r=0;0<=n?r<n:r>n;r=0<=n?++r:--r)e=new ce(t,this.offset),this.tables.push(e),e.isUnicode&&null==this.unicode&&(this.unicode=e);return!0},e.encode=function(t,e){var r,n;return null==e&&(e=\"macroman\"),r=ce.encode(t,e),(n=new ne).writeUInt16(0),n.writeUInt16(1),r.table=n.data.concat(r.subtable),r},e}(),he=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"hhea\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.ascender=t.readShort(),this.decender=t.readShort(),this.lineGap=t.readShort(),this.advanceWidthMax=t.readShort(),this.minLeftSideBearing=t.readShort(),this.minRightSideBearing=t.readShort(),this.xMaxExtent=t.readShort(),this.caretSlopeRise=t.readShort(),this.caretSlopeRun=t.readShort(),this.caretOffset=t.readShort(),t.pos+=8,this.metricDataFormat=t.readShort(),this.numberOfMetrics=t.readUInt16()},e}(),le=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"OS/2\",e.prototype.parse=function(t){if(t.pos=this.offset,this.version=t.readUInt16(),this.averageCharWidth=t.readShort(),this.weightClass=t.readUInt16(),this.widthClass=t.readUInt16(),this.type=t.readShort(),this.ySubscriptXSize=t.readShort(),this.ySubscriptYSize=t.readShort(),this.ySubscriptXOffset=t.readShort(),this.ySubscriptYOffset=t.readShort(),this.ySuperscriptXSize=t.readShort(),this.ySuperscriptYSize=t.readShort(),this.ySuperscriptXOffset=t.readShort(),this.ySuperscriptYOffset=t.readShort(),this.yStrikeoutSize=t.readShort(),this.yStrikeoutPosition=t.readShort(),this.familyClass=t.readShort(),this.panose=function(){var e,r;for(r=[],e=0;e<10;++e)r.push(t.readByte());return r}(),this.charRange=function(){var e,r;for(r=[],e=0;e<4;++e)r.push(t.readInt());return r}(),this.vendorID=t.readString(4),this.selection=t.readShort(),this.firstCharIndex=t.readShort(),this.lastCharIndex=t.readShort(),this.version>0&&(this.ascent=t.readShort(),this.descent=t.readShort(),this.lineGap=t.readShort(),this.winAscent=t.readShort(),this.winDescent=t.readShort(),this.codePageRange=function(){var e,r;for(r=[],e=0;e<2;e=++e)r.push(t.readInt());return r}(),this.version>1))return this.xHeight=t.readShort(),this.capHeight=t.readShort(),this.defaultChar=t.readShort(),this.breakChar=t.readShort(),this.maxContext=t.readShort()},e}(),fe=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"post\",e.prototype.parse=function(t){var e,r,n;switch(t.pos=this.offset,this.format=t.readInt(),this.italicAngle=t.readInt(),this.underlinePosition=t.readShort(),this.underlineThickness=t.readShort(),this.isFixedPitch=t.readInt(),this.minMemType42=t.readInt(),this.maxMemType42=t.readInt(),this.minMemType1=t.readInt(),this.maxMemType1=t.readInt(),this.format){case 65536:break;case 131072:var i;for(r=t.readUInt16(),this.glyphNameIndex=[],i=0;0<=r?i<r:i>r;i=0<=r?++i:--i)this.glyphNameIndex.push(t.readUInt16());for(this.names=[],n=[];t.pos<this.offset+this.length;)e=t.readByte(),n.push(this.names.push(t.readString(e)));return n;case 151552:return r=t.readUInt16(),this.offsets=t.read(r);case 196608:break;case 262144:return this.map=function(){var e,r,n;for(n=[],i=e=0,r=this.file.maxp.numGlyphs;0<=r?e<r:e>r;i=0<=r?++e:--e)n.push(t.readUInt32());return n}.call(this)}},e}(),de=function(t,e){this.raw=t,this.length=t.length,this.platformID=e.platformID,this.encodingID=e.encodingID,this.languageID=e.languageID},pe=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"name\",e.prototype.parse=function(t){var e,r,n,i,a,o,s,c,u,h,l;for(t.pos=this.offset,t.readShort(),e=t.readShort(),o=t.readShort(),r=[],i=0;0<=e?i<e:i>e;i=0<=e?++i:--i)r.push({platformID:t.readShort(),encodingID:t.readShort(),languageID:t.readShort(),nameID:t.readShort(),length:t.readShort(),offset:this.offset+o+t.readShort()});for(s={},i=u=0,h=r.length;u<h;i=++u)n=r[i],t.pos=n.offset,c=t.readString(n.length),a=new de(c,n),null==s[l=n.nameID]&&(s[l]=[]),s[n.nameID].push(a);this.strings=s,this.copyright=s[0],this.fontFamily=s[1],this.fontSubfamily=s[2],this.uniqueSubfamily=s[3],this.fontName=s[4],this.version=s[5];try{this.postscriptName=s[6][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}catch(t){this.postscriptName=s[4][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}return this.trademark=s[7],this.manufacturer=s[8],this.designer=s[9],this.description=s[10],this.vendorUrl=s[11],this.designerUrl=s[12],this.license=s[13],this.licenseUrl=s[14],this.preferredFamily=s[15],this.preferredSubfamily=s[17],this.compatibleFull=s[18],this.sampleText=s[19]},e}(),ge=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"maxp\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.numGlyphs=t.readUInt16(),this.maxPoints=t.readUInt16(),this.maxContours=t.readUInt16(),this.maxCompositePoints=t.readUInt16(),this.maxComponentContours=t.readUInt16(),this.maxZones=t.readUInt16(),this.maxTwilightPoints=t.readUInt16(),this.maxStorage=t.readUInt16(),this.maxFunctionDefs=t.readUInt16(),this.maxInstructionDefs=t.readUInt16(),this.maxStackElements=t.readUInt16(),this.maxSizeOfInstructions=t.readUInt16(),this.maxComponentElements=t.readUInt16(),this.maxComponentDepth=t.readUInt16()},e}(),me=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"hmtx\",e.prototype.parse=function(t){var e,r,n,i,a,o,s;for(t.pos=this.offset,this.metrics=[],e=0,o=this.file.hhea.numberOfMetrics;0<=o?e<o:e>o;e=0<=o?++e:--e)this.metrics.push({advance:t.readUInt16(),lsb:t.readInt16()});for(n=this.file.maxp.numGlyphs-this.file.hhea.numberOfMetrics,this.leftSideBearings=function(){var r,i;for(i=[],e=r=0;0<=n?r<n:r>n;e=0<=n?++r:--r)i.push(t.readInt16());return i}(),this.widths=function(){var t,e,r,n;for(n=[],t=0,e=(r=this.metrics).length;t<e;t++)i=r[t],n.push(i.advance);return n}.call(this),r=this.widths[this.widths.length-1],s=[],e=a=0;0<=n?a<n:a>n;e=0<=n?++a:--a)s.push(this.widths.push(r));return s},e.prototype.forGlyph=function(t){return t in this.metrics?this.metrics[t]:{advance:this.metrics[this.metrics.length-1].advance,lsb:this.leftSideBearings[t-this.metrics.length]}},e}(),ve=[].slice,be=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"glyf\",e.prototype.parse=function(){return this.cache={}},e.prototype.glyphFor=function(t){var e,r,n,i,a,o,s,c,u,h;return t in this.cache?this.cache[t]:(i=this.file.loca,e=this.file.contents,r=i.indexOf(t),0===(n=i.lengthOf(t))?this.cache[t]=null:(e.pos=this.offset+r,a=(o=new ne(e.read(n))).readShort(),c=o.readShort(),h=o.readShort(),s=o.readShort(),u=o.readShort(),this.cache[t]=-1===a?new we(o,c,h,s,u):new ye(o,a,c,h,s,u),this.cache[t]))},e.prototype.encode=function(t,e,r){var n,i,a,o,s;for(a=[],i=[],o=0,s=e.length;o<s;o++)n=t[e[o]],i.push(a.length),n&&(a=a.concat(n.encode(r)));return i.push(a.length),{table:a,offsets:i}},e}(),ye=function(){function t(t,e,r,n,i,a){this.raw=t,this.numberOfContours=e,this.xMin=r,this.yMin=n,this.xMax=i,this.yMax=a,this.compound=!1}return t.prototype.encode=function(){return this.raw.data},t}(),we=function(){function t(t,e,r,n,i){var a,o;for(this.raw=t,this.xMin=e,this.yMin=r,this.xMax=n,this.yMax=i,this.compound=!0,this.glyphIDs=[],this.glyphOffsets=[],a=this.raw;o=a.readShort(),this.glyphOffsets.push(a.pos),this.glyphIDs.push(a.readUInt16()),32&o;)a.pos+=1&o?4:2,128&o?a.pos+=8:64&o?a.pos+=4:8&o&&(a.pos+=2)}return 1,8,32,64,128,t.prototype.encode=function(){var t,e,r;for(e=new ne(ve.call(this.raw.data)),t=0,r=this.glyphIDs.length;t<r;++t)e.pos=this.glyphOffsets[t];return e.data},t}(),Ne=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"loca\",e.prototype.parse=function(t){var e,r;return t.pos=this.offset,e=this.file.head.indexToLocFormat,this.offsets=0===e?function(){var e,n;for(n=[],r=0,e=this.length;r<e;r+=2)n.push(2*t.readUInt16());return n}.call(this):function(){var e,n;for(n=[],r=0,e=this.length;r<e;r+=4)n.push(t.readUInt32());return n}.call(this)},e.prototype.indexOf=function(t){return this.offsets[t]},e.prototype.lengthOf=function(t){return this.offsets[t+1]-this.offsets[t]},e.prototype.encode=function(t,e){for(var r=new Uint32Array(this.offsets.length),n=0,i=0,a=0;a<r.length;++a)if(r[a]=n,i<e.length&&e[i]==a){++i,r[a]=n;var o=this.offsets[a],s=this.offsets[a+1]-o;s>0&&(n+=s)}for(var c=new Array(4*r.length),u=0;u<r.length;++u)c[4*u+3]=255&r[u],c[4*u+2]=(65280&r[u])>>8,c[4*u+1]=(16711680&r[u])>>16,c[4*u]=(4278190080&r[u])>>24;return c},e}(),Le=function(){function t(t){this.font=t,this.subset={},this.unicodes={},this.next=33}return t.prototype.generateCmap=function(){var t,e,r,n,i;for(e in n=this.font.cmap.tables[0].codeMap,t={},i=this.subset)r=i[e],t[e]=n[r];return t},t.prototype.glyphsFor=function(t){var e,r,n,i,a,o,s;for(n={},a=0,o=t.length;a<o;a++)n[i=t[a]]=this.font.glyf.glyphFor(i);for(i in e=[],n)(null!=(r=n[i])?r.compound:void 0)&&e.push.apply(e,r.glyphIDs);if(e.length>0)for(i in s=this.glyphsFor(e))r=s[i],n[i]=r;return n},t.prototype.encode=function(t,e){var r,n,i,a,o,s,c,u,h,l,f,d,p,g,m;for(n in r=ue.encode(this.generateCmap(),\"unicode\"),a=this.glyphsFor(t),f={0:0},m=r.charMap)f[(s=m[n]).old]=s.new;for(d in l=r.maxGlyphID,a)d in f||(f[d]=l++);return u=function(t){var e,r;for(e in r={},t)r[t[e]]=e;return r}(f),h=Object.keys(u).sort((function(t,e){return t-e})),p=function(){var t,e,r;for(r=[],t=0,e=h.length;t<e;t++)o=h[t],r.push(u[o]);return r}(),i=this.font.glyf.encode(a,p,f),c=this.font.loca.encode(i.offsets,p),g={cmap:this.font.cmap.raw(),glyf:i.table,loca:c,hmtx:this.font.hmtx.raw(),hhea:this.font.hhea.raw(),maxp:this.font.maxp.raw(),post:this.font.post.raw(),name:this.font.name.raw(),head:this.font.head.encode(e)},this.font.os2.exists&&(g[\"OS/2\"]=this.font.os2.raw()),this.font.directory.encode(g)},t}();E.API.PDFObject=function(){var t;function e(){}return t=function(t,e){return(Array(e+1).join(\"0\")+t).slice(-e)},e.convert=function(r){var n,i,a,o;if(Array.isArray(r))return\"[\"+function(){var t,i,a;for(a=[],t=0,i=r.length;t<i;t++)n=r[t],a.push(e.convert(n));return a}().join(\" \")+\"]\";if(\"string\"==typeof r)return\"/\"+r;if(null!=r?r.isString:void 0)return\"(\"+r+\")\";if(r instanceof Date)return\"(D:\"+t(r.getUTCFullYear(),4)+t(r.getUTCMonth(),2)+t(r.getUTCDate(),2)+t(r.getUTCHours(),2)+t(r.getUTCMinutes(),2)+t(r.getUTCSeconds(),2)+\"Z)\";if(\"[object Object]\"==={}.toString.call(r)){for(i in a=[\"<<\"],r)o=r[i],a.push(\"/\"+i+\" \"+e.convert(o));return a.push(\">>\"),a.join(\"\\n\")}return\"\"+r},e}();export default E;export{St as AcroForm,At as AcroFormAppearance,mt as AcroFormButton,wt as AcroFormCheckBox,ft as AcroFormChoiceField,pt as AcroFormComboBox,gt as AcroFormEditBox,dt as AcroFormListBox,Lt as AcroFormPasswordField,vt as AcroFormPushButton,bt as AcroFormRadioButton,Nt as AcroFormTextField,j as GState,B as ShadingPattern,M as TilingPattern,E as jsPDF};\n//# sourceMappingURL=jspdf.es.min.js.map\n","/*!\n * vue-router v3.6.5\n * (c) 2022 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (!condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nfunction decode (str) {\n try {\n return decodeURIComponent(str)\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"Error decoding \\\"\" + str + \"\\\". Leaving it intact.\"));\n }\n }\n return str\n}\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n var value = extraQuery[key];\n parsedQuery[key] = Array.isArray(value)\n ? value.map(castQueryParamValue)\n : castQueryParamValue(value);\n }\n return parsedQuery\n}\n\nvar castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); };\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0 ? decode(parts.join('=')) : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj\n ? Object.keys(obj)\n .map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n })\n .filter(function (x) { return x.length > 0; })\n .join('&')\n : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b, onlyPath) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') && (onlyPath ||\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query))\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n (onlyPath || (\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params))\n )\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a).sort();\n var bKeys = Object.keys(b).sort();\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key, i) {\n var aVal = a[key];\n var bKey = bKeys[i];\n if (bKey !== key) { return false }\n var bVal = b[key];\n // query values can be null and undefined\n if (aVal == null || bVal == null) { return aVal === bVal }\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\nfunction handleRouteEntered (route) {\n for (var i = 0; i < route.matched.length; i++) {\n var record = route.matched[i];\n for (var name in record.instances) {\n var instance = record.instances[name];\n var cbs = record.enteredCbs[name];\n if (!instance || !cbs) { continue }\n delete record.enteredCbs[name];\n for (var i$1 = 0; i$1 < cbs.length; i$1++) {\n if (!instance._isBeingDestroyed) { cbs[i$1](instance); }\n }\n }\n }\n}\n\nvar View = {\n name: 'RouterView',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n // used by devtools to display a router-view badge\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._directInactive && parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n var cachedData = cache[name];\n var cachedComponent = cachedData && cachedData.component;\n if (cachedComponent) {\n // #2301\n // pass props\n if (cachedData.configProps) {\n fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n }\n return h(cachedComponent, data, children)\n } else {\n // render previous empty view\n return h()\n }\n }\n\n var matched = route.matched[depth];\n var component = matched && matched.components[name];\n\n // render empty node if no matched route or no config component\n if (!matched || !component) {\n cache[name] = null;\n return h()\n }\n\n // cache component\n cache[name] = { component: component };\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\n\n // if the route transition has already been confirmed then we weren't\n // able to call the cbs during confirmation as the component was not\n // registered yet, so we call it here.\n handleRouteEntered(route);\n };\n\n var configProps = matched.props && matched.props[name];\n // save route and configProps in cache\n if (configProps) {\n extend(cache[name], {\n route: route,\n configProps: configProps\n });\n fillPropsinData(component, data, route, configProps);\n }\n\n return h(component, data, children)\n }\n};\n\nfunction fillPropsinData (component, data, route, configProps) {\n // resolve props\n var propsToPass = data.props = resolveProps(route, configProps);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n}\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/(?:\\s*\\/)+/g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string\n if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; }\n\n return filler(params, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n // Fix #3072 no warn if `pathMatch` is string\n warn(typeof params.pathMatch === 'string', (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n } finally {\n // delete the 0 if it was added\n delete params[0];\n }\n}\n\n/* */\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next._normalized) {\n return next\n } else if (next.name) {\n next = extend({}, raw);\n var params = next.params;\n if (params && typeof params === 'object') {\n next.params = extend({}, params);\n }\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params$1 = extend(extend({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params$1;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params$1, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar warnedCustomSlot;\nvar warnedTagProp;\nvar warnedEventProp;\n\nvar Link = {\n name: 'RouterLink',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n custom: Boolean,\n exact: Boolean,\n exactPath: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n ariaCurrentValue: {\n type: String,\n default: 'page'\n },\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(\n this.to,\n current,\n this.append\n );\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback =\n globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback =\n globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass =\n this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass =\n this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n\n var compareTarget = route.redirectedFrom\n ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget, this.exactPath);\n classes[activeClass] = this.exact || this.exactPath\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1$1.replace) {\n router.replace(location, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) {\n on[e] = handler;\n });\n } else {\n on[this.event] = handler;\n }\n\n var data = { class: classes };\n\n var scopedSlot =\n !this.$scopedSlots.$hasNormal &&\n this.$scopedSlots.default &&\n this.$scopedSlots.default({\n href: href,\n route: route,\n navigate: handler,\n isActive: classes[activeClass],\n isExactActive: classes[exactActiveClass]\n });\n\n if (scopedSlot) {\n if (process.env.NODE_ENV !== 'production' && !this.custom) {\n !warnedCustomSlot && warn(false, 'In Vue Router 4, the v-slot API will by default wrap its content with an <a> element. Use the custom prop to remove this warning:\\n<router-link v-slot=\"{ navigate, href }\" custom></router-link>\\n');\n warnedCustomSlot = true;\n }\n if (scopedSlot.length === 1) {\n return scopedSlot[0]\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n (\"<router-link> with to=\\\"\" + (this.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.\")\n );\n }\n return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if ('tag' in this.$options.propsData && !warnedTagProp) {\n warn(\n false,\n \"<router-link>'s tag prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedTagProp = true;\n }\n if ('event' in this.$options.propsData && !warnedEventProp) {\n warn(\n false,\n \"<router-link>'s event prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedEventProp = true;\n }\n }\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href, 'aria-current': ariaCurrentValue };\n } else {\n // find the first <a> child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the <a> is a static node\n a.isStatic = false;\n var aData = (a.data = extend({}, a.data));\n aData.on = aData.on || {};\n // transform existing events in both objects into arrays so we can push later\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n }\n // append new listeners for router-link\n for (var event$1 in on) {\n if (event$1 in aData.on) {\n // on[event] is always a function\n aData.on[event$1].push(on[event$1]);\n } else {\n aData.on[event$1] = handler;\n }\n }\n\n var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n aAttrs.href = href;\n aAttrs['aria-current'] = ariaCurrentValue;\n } else {\n // doesn't have <a> child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('RouterView', View);\n Vue.component('RouterLink', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap,\n parentRoute\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route, parentRoute);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n if (process.env.NODE_ENV === 'development') {\n // warn if routes do not include leading slashes\n var found = pathList\n // check for missing leading slash\n .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(\n path || name\n )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n );\n\n warn(\n // eslint-disable-next-line no-control-regex\n !/[^\\u0000-\\u007F]+/.test(path),\n \"Route with path \\\"\" + path + \"\\\" contains unencoded characters, make sure \" +\n \"your path is correctly encoded before passing it to the router. Use \" +\n \"encodeURI to encode static segments of your path.\"\n );\n }\n\n var pathToRegexpOptions =\n route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n alias: route.alias\n ? typeof route.alias === 'string'\n ? [route.alias]\n : route.alias\n : [],\n instances: {},\n enteredCbs: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props:\n route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (\n route.name &&\n !route.redirect &&\n route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n ) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'}\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n if (process.env.NODE_ENV !== 'production' && alias === path) {\n warn(\n false,\n (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n );\n // skip in dev to make it work\n continue\n }\n\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n }\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (\n path,\n pathToRegexpOptions\n) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(\n !keys[key.name],\n (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n );\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (\n path,\n parent,\n strict\n) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function addRoute (parentOrRoute, route) {\n var parent = (typeof parentOrRoute !== 'object') ? nameMap[parentOrRoute] : undefined;\n // $flow-disable-line\n createRouteMap([route || parentOrRoute], pathList, pathMap, nameMap, parent);\n\n // add aliases of parent\n if (parent && parent.alias.length) {\n createRouteMap(\n // $flow-disable-line route is defined if parent is\n parent.alias.map(function (alias) { return ({ path: alias, children: [route] }); }),\n pathList,\n pathMap,\n nameMap,\n parent\n );\n }\n }\n\n function getRoutes () {\n return pathList.map(function (path) { return pathMap[path]; })\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoute: addRoute,\n getRoutes: getRoutes,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n if (key) {\n // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = typeof m[i] === 'string' ? decode(m[i]) : m[i];\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n// use User Timing api (if present) for more accurate key precision\nvar Time =\n inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nfunction genStateKey () {\n return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n return (_key = key)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Prevent browser scroll behavior on History popstate\n if ('scrollRestoration' in window.history) {\n window.history.scrollRestoration = 'manual';\n }\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, window.history.state);\n stateCopy.key = getStateKey();\n window.history.replaceState(stateCopy, '', absolutePath);\n window.addEventListener('popstate', handlePopState);\n return function () {\n window.removeEventListener('popstate', handlePopState);\n }\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior.call(\n router,\n to,\n from,\n isPop ? position : null\n );\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll\n .then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n })\n .catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction handlePopState (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n : document.querySelector(shouldScroll.selector);\n\n if (el) {\n var offset =\n shouldScroll.offset && typeof shouldScroll.offset === 'object'\n ? shouldScroll.offset\n : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n // $flow-disable-line\n if ('scrollBehavior' in document.documentElement.style) {\n window.scrollTo({\n left: position.x,\n top: position.y,\n // $flow-disable-line\n behavior: shouldScroll.behavior\n });\n } else {\n window.scrollTo(position.x, position.y);\n }\n }\n}\n\n/* */\n\nvar supportsPushState =\n inBrowser &&\n (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && typeof window.history.pushState === 'function'\n })();\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, history.state);\n stateCopy.key = getStateKey();\n history.replaceState(stateCopy, '', url);\n } else {\n history.pushState({ key: setStateKey(genStateKey()) }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n// When changing thing, also edit router.d.ts\nvar NavigationFailureType = {\n redirected: 2,\n aborted: 4,\n cancelled: 8,\n duplicated: 16\n};\n\nfunction createNavigationRedirectedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.redirected,\n (\"Redirected when going from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (stringifyRoute(\n to\n )) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createNavigationDuplicatedError (from, to) {\n var error = createRouterError(\n from,\n to,\n NavigationFailureType.duplicated,\n (\"Avoided redundant navigation to current location: \\\"\" + (from.fullPath) + \"\\\".\")\n );\n // backwards compatible with the first introduction of Errors\n error.name = 'NavigationDuplicated';\n return error\n}\n\nfunction createNavigationCancelledError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.cancelled,\n (\"Navigation cancelled from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" with a new navigation.\")\n )\n}\n\nfunction createNavigationAbortedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.aborted,\n (\"Navigation aborted from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createRouterError (from, to, type, message) {\n var error = new Error(message);\n error._isRouter = true;\n error.from = from;\n error.to = to;\n error.type = type;\n\n return error\n}\n\nvar propertiesToLog = ['params', 'query', 'hash'];\n\nfunction stringifyRoute (to) {\n if (typeof to === 'string') { return to }\n if ('path' in to) { return to.path }\n var location = {};\n propertiesToLog.forEach(function (key) {\n if (key in to) { location[key] = to[key]; }\n });\n return JSON.stringify(location, null, 2)\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isNavigationFailure (err, errorType) {\n return (\n isError(err) &&\n err._isRouter &&\n (errorType == null || err.type === errorType)\n )\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n this.listeners = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (\n location,\n onComplete,\n onAbort\n) {\n var this$1$1 = this;\n\n var route;\n // catch redirect option https://github.com/vuejs/vue-router/issues/3201\n try {\n route = this.router.match(location, this.current);\n } catch (e) {\n this.errorCbs.forEach(function (cb) {\n cb(e);\n });\n // Exception should still be thrown\n throw e\n }\n var prev = this.current;\n this.confirmTransition(\n route,\n function () {\n this$1$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1$1.ensureURL();\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n\n // fire ready cbs once\n if (!this$1$1.ready) {\n this$1$1.ready = true;\n this$1$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n },\n function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1$1.ready) {\n // Initial redirection should not mark the history as ready yet\n // because it's triggered by the redirection instead\n // https://github.com/vuejs/vue-router/issues/3225\n // https://github.com/vuejs/vue-router/issues/3331\n if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) {\n this$1$1.ready = true;\n this$1$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\n }\n }\n }\n );\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1$1 = this;\n\n var current = this.current;\n this.pending = route;\n var abort = function (err) {\n // changed after adding errors with\n // https://github.com/vuejs/vue-router/pull/3047 before that change,\n // redirect and aborted navigation would produce an err == null\n if (!isNavigationFailure(err) && isError(err)) {\n if (this$1$1.errorCbs.length) {\n this$1$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'uncaught error during route navigation:');\n }\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n var lastRouteIndex = route.matched.length - 1;\n var lastCurrentIndex = current.matched.length - 1;\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n lastRouteIndex === lastCurrentIndex &&\n route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]\n ) {\n this.ensureURL();\n if (route.hash) {\n handleScroll(this.router, current, route, false);\n }\n return abort(createNavigationDuplicatedError(current, route))\n }\n\n var ref = resolveQueue(\n this.current.matched,\n route.matched\n );\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n var iterator = function (hook, next) {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n try {\n hook(route, current, function (to) {\n if (to === false) {\n // next(false) -> abort navigation, ensure current URL\n this$1$1.ensureURL(true);\n abort(createNavigationAbortedError(current, route));\n } else if (isError(to)) {\n this$1$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' &&\n (typeof to.path === 'string' || typeof to.name === 'string'))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort(createNavigationRedirectedError(current, route));\n if (typeof to === 'object' && to.replace) {\n this$1$1.replace(to);\n } else {\n this$1$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated);\n var queue = enterGuards.concat(this$1$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n this$1$1.pending = null;\n onComplete(route);\n if (this$1$1.router.app) {\n this$1$1.router.app.$nextTick(function () {\n handleRouteEntered(route);\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n this.current = route;\n this.cb && this.cb(route);\n};\n\nHistory.prototype.setupListeners = function setupListeners () {\n // Default implementation is empty\n};\n\nHistory.prototype.teardown = function teardown () {\n // clean up event listeners\n // https://github.com/vuejs/vue-router/issues/2341\n this.listeners.forEach(function (cleanupListener) {\n cleanupListener();\n });\n this.listeners = [];\n\n // reset current history route\n // https://github.com/vuejs/vue-router/issues/3294\n this.current = START;\n this.pending = null;\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect <base> tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated\n) {\n return extractGuards(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key)\n }\n )\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n if (typeof cb === 'function') {\n if (!match.enteredCbs[key]) {\n match.enteredCbs[key] = [];\n }\n match.enteredCbs[key].push(cb);\n }\n next(cb);\n })\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n History.call(this, router, base);\n\n this._startLocation = getLocation(this.base);\n }\n\n if ( History ) HTML5History.__proto__ = History;\n HTML5History.prototype = Object.create( History && History.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1$1.base);\n if (this$1$1.current === START && location === this$1$1._startLocation) {\n return\n }\n\n this$1$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n };\n window.addEventListener('popstate', handleRoutingEvent);\n this.listeners.push(function () {\n window.removeEventListener('popstate', handleRoutingEvent);\n });\n };\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n var pathLowerCase = path.toLowerCase();\n var baseLowerCase = base.toLowerCase();\n // base=\"/a\" shouldn't turn path=\"/app\" into \"/a/pp\"\n // https://github.com/vuejs/vue-router/issues/3555\n // so we ensure the trailing slash in the base\n if (base && ((pathLowerCase === baseLowerCase) ||\n (pathLowerCase.indexOf(cleanPath(baseLowerCase + '/')) === 0))) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n function HashHistory (router, base, fallback) {\n History.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History ) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create( History && History.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n };\n var eventType = supportsPushState ? 'popstate' : 'hashchange';\n window.addEventListener(\n eventType,\n handleRoutingEvent\n );\n this.listeners.push(function () {\n window.removeEventListener(eventType, handleRoutingEvent);\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(cleanPath(base + '/#' + location));\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n\n return href\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n function AbstractHistory (router, base) {\n History.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History ) AbstractHistory.__proto__ = History;\n AbstractHistory.prototype = Object.create( History && History.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index + 1).concat(route);\n this$1$1.index++;\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index).concat(route);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(\n route,\n function () {\n var prev = this$1$1.current;\n this$1$1.index = targetIndex;\n this$1$1.updateRoute(route);\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n },\n function (err) {\n if (isNavigationFailure(err, NavigationFailureType.duplicated)) {\n this$1$1.index = targetIndex;\n }\n }\n );\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\n\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n if (process.env.NODE_ENV !== 'production') {\n warn(this instanceof VueRouter, \"Router must be called with the new operator.\");\n }\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback =\n mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (raw, current, redirectedFrom) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1$1 = this;\n\n process.env.NODE_ENV !== 'production' &&\n assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1$1.apps.indexOf(app);\n if (index > -1) { this$1$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1$1.app === app) { this$1$1.app = this$1$1.apps[0] || null; }\n\n if (!this$1$1.app) { this$1$1.history.teardown(); }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History || history instanceof HashHistory) {\n var handleInitialScroll = function (routeOrError) {\n var from = history.current;\n var expectScroll = this$1$1.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll && 'fullPath' in routeOrError) {\n handleScroll(this$1$1, routeOrError, from, false);\n }\n };\n var setupListeners = function (routeOrError) {\n history.setupListeners();\n handleInitialScroll(routeOrError);\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupListeners,\n setupListeners\n );\n }\n\n history.listen(function (route) {\n this$1$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.push(location, resolve, reject);\n })\n } else {\n this.history.push(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.replace(location, resolve, reject);\n })\n } else {\n this.history.replace(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply(\n [],\n route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n })\n )\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n current = current || this.history.current;\n var location = normalizeLocation(to, current, append, this);\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.getRoutes = function getRoutes () {\n return this.matcher.getRoutes()\n};\n\nVueRouter.prototype.addRoute = function addRoute (parentOrRoute, route) {\n this.matcher.addRoute(parentOrRoute, route);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'router.addRoutes() is deprecated and has been removed in Vue Router 4. Use router.addRoute() instead.');\n }\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nvar VueRouter$1 = VueRouter;\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\n// We cannot remove this as it would be a breaking change\nVueRouter.install = install;\nVueRouter.version = '3.6.5';\nVueRouter.isNavigationFailure = isNavigationFailure;\nVueRouter.NavigationFailureType = NavigationFailureType;\nVueRouter.START_LOCATION = START;\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nvar version = '3.6.5';\n\nexport { NavigationFailureType, Link as RouterLink, View as RouterView, START as START_LOCATION, VueRouter$1 as default, isNavigationFailure, version };\n","/**\r\n * DevExtreme (esm/events/swipe.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport {\r\n eventData\r\n} from \"./utils/index\";\r\nimport GestureEmitter from \"./gesture/emitter.gesture\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar SWIPE_START_EVENT = \"dxswipestart\";\r\nvar SWIPE_EVENT = \"dxswipe\";\r\nvar SWIPE_END_EVENT = \"dxswipeend\";\r\nvar HorizontalStrategy = {\r\n defaultItemSizeFunc: function() {\r\n return getWidth(this.getElement())\r\n },\r\n getBounds: function() {\r\n return [this._maxLeftOffset, this._maxRightOffset]\r\n },\r\n calcOffsetRatio: function(e) {\r\n var endEventData = eventData(e);\r\n return (endEventData.x - (this._savedEventData && this._savedEventData.x || 0)) / this._itemSizeFunc().call(this, e)\r\n },\r\n isFastSwipe: function(e) {\r\n var endEventData = eventData(e);\r\n return this.FAST_SWIPE_SPEED_LIMIT * Math.abs(endEventData.x - this._tickData.x) >= endEventData.time - this._tickData.time\r\n }\r\n};\r\nvar VerticalStrategy = {\r\n defaultItemSizeFunc: function() {\r\n return getHeight(this.getElement())\r\n },\r\n getBounds: function() {\r\n return [this._maxTopOffset, this._maxBottomOffset]\r\n },\r\n calcOffsetRatio: function(e) {\r\n var endEventData = eventData(e);\r\n return (endEventData.y - (this._savedEventData && this._savedEventData.y || 0)) / this._itemSizeFunc().call(this, e)\r\n },\r\n isFastSwipe: function(e) {\r\n var endEventData = eventData(e);\r\n return this.FAST_SWIPE_SPEED_LIMIT * Math.abs(endEventData.y - this._tickData.y) >= endEventData.time - this._tickData.time\r\n }\r\n};\r\nvar STRATEGIES = {\r\n horizontal: HorizontalStrategy,\r\n vertical: VerticalStrategy\r\n};\r\nvar SwipeEmitter = GestureEmitter.inherit({\r\n TICK_INTERVAL: 300,\r\n FAST_SWIPE_SPEED_LIMIT: 10,\r\n ctor: function(element) {\r\n this.callBase(element);\r\n this.direction = \"horizontal\";\r\n this.elastic = true\r\n },\r\n _getStrategy: function() {\r\n return STRATEGIES[this.direction]\r\n },\r\n _defaultItemSizeFunc: function() {\r\n return this._getStrategy().defaultItemSizeFunc.call(this)\r\n },\r\n _itemSizeFunc: function() {\r\n return this.itemSizeFunc || this._defaultItemSizeFunc\r\n },\r\n _init: function(e) {\r\n this._tickData = eventData(e)\r\n },\r\n _start: function(e) {\r\n this._savedEventData = eventData(e);\r\n e = this._fireEvent(SWIPE_START_EVENT, e);\r\n if (!e.cancel) {\r\n this._maxLeftOffset = e.maxLeftOffset;\r\n this._maxRightOffset = e.maxRightOffset;\r\n this._maxTopOffset = e.maxTopOffset;\r\n this._maxBottomOffset = e.maxBottomOffset\r\n }\r\n },\r\n _move: function(e) {\r\n var strategy = this._getStrategy();\r\n var moveEventData = eventData(e);\r\n var offset = strategy.calcOffsetRatio.call(this, e);\r\n offset = this._fitOffset(offset, this.elastic);\r\n if (moveEventData.time - this._tickData.time > this.TICK_INTERVAL) {\r\n this._tickData = moveEventData\r\n }\r\n this._fireEvent(SWIPE_EVENT, e, {\r\n offset: offset\r\n });\r\n if (false !== e.cancelable) {\r\n e.preventDefault()\r\n }\r\n },\r\n _end: function(e) {\r\n var strategy = this._getStrategy();\r\n var offsetRatio = strategy.calcOffsetRatio.call(this, e);\r\n var isFast = strategy.isFastSwipe.call(this, e);\r\n var startOffset = offsetRatio;\r\n var targetOffset = this._calcTargetOffset(offsetRatio, isFast);\r\n startOffset = this._fitOffset(startOffset, this.elastic);\r\n targetOffset = this._fitOffset(targetOffset, false);\r\n this._fireEvent(SWIPE_END_EVENT, e, {\r\n offset: startOffset,\r\n targetOffset: targetOffset\r\n })\r\n },\r\n _fitOffset: function(offset, elastic) {\r\n var strategy = this._getStrategy();\r\n var bounds = strategy.getBounds.call(this);\r\n if (offset < -bounds[0]) {\r\n return elastic ? (-2 * bounds[0] + offset) / 3 : -bounds[0]\r\n }\r\n if (offset > bounds[1]) {\r\n return elastic ? (2 * bounds[1] + offset) / 3 : bounds[1]\r\n }\r\n return offset\r\n },\r\n _calcTargetOffset: function(offsetRatio, isFast) {\r\n var result;\r\n if (isFast) {\r\n result = Math.ceil(Math.abs(offsetRatio));\r\n if (offsetRatio < 0) {\r\n result = -result\r\n }\r\n } else {\r\n result = Math.round(offsetRatio)\r\n }\r\n return result\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: SwipeEmitter,\r\n events: [SWIPE_START_EVENT, SWIPE_EVENT, SWIPE_END_EVENT]\r\n});\r\nexport {\r\n SWIPE_EVENT as swipe, SWIPE_START_EVENT as start, SWIPE_END_EVENT as end\r\n};\r\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl:\n 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n '_'\n ),\n monthsGenitiveEl:\n 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n '_'\n ),\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (\n typeof format === 'string' &&\n /D/.test(format.substring(0, format.indexOf('MMMM')))\n ) {\n // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n '_'\n ),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function (input) {\n return (input + '').toLowerCase()[0] === 'μ';\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L',\n },\n calendar: function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4st is the first week of the year.\n },\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsNominative =\n 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n '_'\n ),\n monthsSubjective =\n 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n '_'\n ),\n monthsParse = [\n /^sty/i,\n /^lut/i,\n /^mar/i,\n /^kwi/i,\n /^maj/i,\n /^cze/i,\n /^lip/i,\n /^sie/i,\n /^wrz/i,\n /^paź/i,\n /^lis/i,\n /^gru/i,\n ];\n function plural(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'ww':\n return result + (plural(number) ? 'tygodnie' : 'tygodni');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays:\n 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate,\n M: 'miesiąc',\n MM: translate,\n y: 'rok',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pl;\n\n})));\n","import { ColorInt, XYZ } from '../colorUtils'\nimport { clamp } from '../../util/helpers'\n\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [\n [3.2406, -1.5372, -0.4986],\n [-0.9689, 1.8758, 0.0415],\n [0.0557, -0.2040, 1.0570],\n]\n\n// Forward gamma adjust\nconst srgbForwardTransform = (C: number): number => (\n C <= 0.0031308\n ? C * 12.92\n : 1.055 * C ** (1 / 2.4) - 0.055\n)\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [\n [0.4124, 0.3576, 0.1805],\n [0.2126, 0.7152, 0.0722],\n [0.0193, 0.1192, 0.9505],\n]\n\n// Reverse gamma adjust\nconst srgbReverseTransform = (C: number): number => (\n C <= 0.04045\n ? C / 12.92\n : ((C + 0.055) / 1.055) ** 2.4\n)\n\nexport function fromXYZ (xyz: XYZ): ColorInt {\n const rgb = Array(3)\n const transform = srgbForwardTransform\n const matrix = srgbForwardMatrix\n\n // Matrix transform, then gamma adjustment\n for (let i = 0; i < 3; ++i) {\n rgb[i] = Math.round(clamp(transform(\n matrix[i][0] * xyz[0] +\n matrix[i][1] * xyz[1] +\n matrix[i][2] * xyz[2]\n )) * 255)\n }\n\n // Rescale back to [0, 255]\n return (rgb[0] << 16) + (rgb[1] << 8) + (rgb[2] << 0)\n}\n\nexport function toXYZ (rgb: ColorInt): XYZ {\n const xyz: XYZ = [0, 0, 0]\n const transform = srgbReverseTransform\n const matrix = srgbReverseMatrix\n\n // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n const r = transform((rgb >> 16 & 0xff) / 255)\n const g = transform((rgb >> 8 & 0xff) / 255)\n const b = transform((rgb >> 0 & 0xff) / 255)\n\n // Matrix color space transform\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b\n }\n\n return xyz\n}\n","// Styles\nimport './VSheet.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n Colorable,\n Elevatable,\n Measurable,\n Roundable,\n Themeable\n).extend({\n name: 'v-sheet',\n\n props: {\n outlined: Boolean,\n shaped: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-sheet': true,\n 'v-sheet--outlined': this.outlined,\n 'v-sheet--shaped': this.shaped,\n ...this.themeClasses,\n ...this.elevationClasses,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return this.measurableStyles\n },\n },\n\n render (h): VNode {\n const data = {\n class: this.classes,\n style: this.styles,\n on: this.listeners$,\n }\n\n return h(\n this.tag,\n this.setBackgroundColor(this.color, data),\n this.$slots.default\n )\n },\n})\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰',\n },\n numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0',\n };\n\n var fa = moment.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n monthsShort:\n 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n weekdays:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysShort:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar: {\n sameDay: '[امروز ساعت] LT',\n nextDay: '[فردا ساعت] LT',\n nextWeek: 'dddd [ساعت] LT',\n lastDay: '[دیروز ساعت] LT',\n lastWeek: 'dddd [پیش] [ساعت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'در %s',\n past: '%s پیش',\n s: 'چند ثانیه',\n ss: '%d ثانیه',\n m: 'یک دقیقه',\n mm: '%d دقیقه',\n h: 'یک ساعت',\n hh: '%d ساعت',\n d: 'یک روز',\n dd: '%d روز',\n M: 'یک ماه',\n MM: '%d ماه',\n y: 'یک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string\n .replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return fa;\n\n})));\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.discover = exports.mountTemplate = void 0;\nvar VueType = __importStar(require(\"vue\"));\nvar errors_1 = require(\"./errors\");\nvar TEMPLATE_PROP = \"template\";\nvar Vue = VueType.default || VueType;\nfunction asConfigurable(component) {\n if (!component.$vnode) {\n return undefined;\n }\n var configurable = component.$vnode.componentOptions;\n if (!configurable.$_config || !configurable.$_config.name) {\n return undefined;\n }\n return configurable;\n}\nfunction hasTemplate(component) {\n return TEMPLATE_PROP in component.$props && (component.$vnode.data && component.$vnode.data.scopedSlots);\n}\nfunction discover(component) {\n var templates = {};\n for (var slotName in component.$scopedSlots) {\n if (slotName === \"default\" && component.$slots.default) {\n continue;\n }\n var slot = component.$scopedSlots[slotName];\n if (!slot) {\n continue;\n }\n templates[slotName] = slot;\n }\n for (var _i = 0, _a = component.$children; _i < _a.length; _i++) {\n var childComponent = _a[_i];\n var configurable = asConfigurable(childComponent);\n if (!configurable) {\n continue;\n }\n var defaultSlot = childComponent.$scopedSlots.default;\n if (!defaultSlot || !hasTemplate(childComponent)) {\n continue;\n }\n var templateName = \"\".concat(configurable.$_config.fullPath, \".\").concat(TEMPLATE_PROP);\n templates[templateName] = defaultSlot;\n }\n return templates;\n}\nexports.discover = discover;\nfunction mountTemplate(getSlot, parent, data, name, placeholder) {\n return new Vue({\n el: placeholder,\n name: name,\n inject: [\"eventBus\"],\n parent: parent,\n created: function () {\n var _this = this;\n this.eventBus.$on(\"updated\", function () {\n _this.$forceUpdate();\n });\n },\n render: function (createElement) {\n var content = getSlot()(data);\n if (!content) {\n return createElement(\"div\");\n }\n if (content.length > 1) {\n throw new Error(errors_1.TEMPLATE_MULTIPLE_ROOTS_ERROR);\n }\n return content[0];\n },\n destroyed: function () {\n // T857821\n this.eventBus.$off(\"updated\");\n }\n });\n}\nexports.mountTemplate = mountTemplate;\n","import './VProgressLinear.sass'\n\n// Components\nimport {\n VFadeTransition,\n VSlideXTransition,\n} from '../transitions'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { FunctionalComponentOptions } from 'vue/types'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n PositionableFactory(['absolute', 'fixed', 'top', 'bottom']),\n Proxyable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-progress-linear',\n\n directives: { intersect },\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n backgroundColor: {\n type: String,\n default: null,\n },\n backgroundOpacity: {\n type: [Number, String],\n default: null,\n },\n bufferValue: {\n type: [Number, String],\n default: 100,\n },\n color: {\n type: String,\n default: 'primary',\n },\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n query: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n stream: Boolean,\n striped: Boolean,\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data () {\n return {\n internalLazyValue: this.value || 0,\n isVisible: true,\n }\n },\n\n computed: {\n __cachedBackground (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n staticClass: 'v-progress-linear__background',\n style: this.backgroundStyle,\n }))\n },\n __cachedBar (): VNode {\n return this.$createElement(this.computedTransition, [this.__cachedBarType])\n },\n __cachedBarType (): VNode {\n return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate\n },\n __cachedBuffer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__buffer',\n style: this.styles,\n })\n },\n __cachedDeterminate (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: `v-progress-linear__determinate`,\n style: {\n width: convertToUnit(this.normalizedValue, '%'),\n },\n }))\n },\n __cachedIndeterminate (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n 'v-progress-linear__indeterminate--active': this.active,\n },\n }, [\n this.genProgressBar('long'),\n this.genProgressBar('short'),\n ])\n },\n __cachedStream (): VNode | null {\n if (!this.stream) return null\n\n return this.$createElement('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-linear__stream',\n style: {\n width: convertToUnit(100 - this.normalizedBuffer, '%'),\n },\n }))\n },\n backgroundStyle (): object {\n const backgroundOpacity = this.backgroundOpacity == null\n ? (this.backgroundColor ? 1 : 0.3)\n : parseFloat(this.backgroundOpacity)\n\n return {\n opacity: backgroundOpacity,\n [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n width: convertToUnit(Math.max(0, this.normalizedBuffer - this.normalizedValue), '%'),\n }\n },\n classes (): object {\n return {\n 'v-progress-linear--absolute': this.absolute,\n 'v-progress-linear--fixed': this.fixed,\n 'v-progress-linear--query': this.query,\n 'v-progress-linear--reactive': this.reactive,\n 'v-progress-linear--reverse': this.isReversed,\n 'v-progress-linear--rounded': this.rounded,\n 'v-progress-linear--striped': this.striped,\n 'v-progress-linear--visible': this.isVisible,\n ...this.themeClasses,\n }\n },\n computedTransition (): FunctionalComponentOptions {\n return this.indeterminate ? VFadeTransition : VSlideXTransition\n },\n isReversed (): boolean {\n return this.$vuetify.rtl !== this.reverse\n },\n normalizedBuffer (): number {\n return this.normalize(this.bufferValue)\n },\n normalizedValue (): number {\n return this.normalize(this.internalLazyValue)\n },\n reactive (): boolean {\n return Boolean(this.$listeners.change)\n },\n styles (): object {\n const styles: Record<string, any> = {}\n\n if (!this.active) {\n styles.height = 0\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n styles.width = convertToUnit(this.normalizedBuffer, '%')\n }\n\n return styles\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this, 'default', { value: this.internalLazyValue })\n\n if (!slot) return null\n\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__content',\n }, slot)\n },\n genListeners () {\n const listeners = this.$listeners\n\n if (this.reactive) {\n listeners.click = this.onClick\n }\n\n return listeners\n },\n genProgressBar (name: 'long' | 'short') {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n [name]: true,\n },\n }))\n },\n onClick (e: MouseEvent) {\n if (!this.reactive) return\n\n const { width } = this.$el.getBoundingClientRect()\n\n this.internalValue = e.offsetX / width * 100\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n normalize (value: string | number) {\n if (value < 0) return 0\n if (value > 100) return 100\n return parseFloat(value)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-progress-linear',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBuffer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n directives: [{\n name: 'intersect',\n value: this.onObserve,\n }],\n style: {\n bottom: this.bottom ? 0 : undefined,\n height: this.active ? convertToUnit(this.height) : 0,\n top: this.top ? 0 : undefined,\n },\n on: this.genListeners(),\n }\n\n return h('div', data, [\n this.__cachedStream,\n this.__cachedBackground,\n this.__cachedBuffer,\n this.__cachedBar,\n this.genContent(),\n ])\n },\n})\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var ar = moment.defineLocale('ar', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ar;\n\n})));\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.setEmitOptionChangedFunc = exports.bindOptionWatchers = void 0;\nvar vue_1 = require(\"vue\");\nvar config_1 = require(\"./config\");\nvar helpers_1 = require(\"./helpers\");\nvar vue_helper_1 = require(\"./vue-helper\");\nvar Configuration = /** @class */ (function () {\n function Configuration(updateFunc, name, initialValues, expectedChildren, isCollectionItem, collectionItemIndex, ownerConfig) {\n this._updateFunc = updateFunc;\n this._name = name;\n this._initialValues = initialValues ? initialValues : {};\n this._nestedConfigurations = [];\n this._isCollectionItem = !!isCollectionItem;\n this._collectionItemIndex = collectionItemIndex;\n this._expectedChildren = expectedChildren || {};\n this._ownerConfig = ownerConfig;\n this._componentChanges = [];\n this.updateValue = this.updateValue.bind(this);\n }\n Object.defineProperty(Configuration.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"fullName\", {\n get: function () {\n return this._name && this._isCollectionItem\n ? \"\".concat(this._name, \"[\").concat(this._collectionItemIndex, \"]\")\n : this._name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"componentsCountChanged\", {\n get: function () {\n return this._componentChanges;\n },\n enumerable: false,\n configurable: true\n });\n Configuration.prototype.cleanComponentsCountChanged = function () {\n this._componentChanges = [];\n };\n Object.defineProperty(Configuration.prototype, \"fullPath\", {\n get: function () {\n return this._ownerConfig && this._ownerConfig.fullPath\n ? \"\".concat(this._ownerConfig.fullPath, \".\").concat(this.fullName)\n : this.fullName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"ownerConfig\", {\n get: function () {\n return this._ownerConfig;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"options\", {\n get: function () {\n return this._options;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"initialValues\", {\n get: function () {\n return this._initialValues;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"expectedChildren\", {\n get: function () {\n return this._expectedChildren;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"nested\", {\n get: function () {\n return this._nestedConfigurations;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"prevNestedOptions\", {\n get: function () {\n return this._prevNestedConfigOptions;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"collectionItemIndex\", {\n get: function () {\n return this._collectionItemIndex;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"isCollectionItem\", {\n get: function () {\n return this._isCollectionItem;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"updateFunc\", {\n get: function () {\n return this._updateFunc;\n },\n enumerable: false,\n configurable: true\n });\n Configuration.prototype.init = function (options) {\n this._options = options ? options : [];\n };\n Object.defineProperty(Configuration.prototype, \"emitOptionChanged\", {\n set: function (handler) {\n this._emitOptionChanged = handler;\n },\n enumerable: false,\n configurable: true\n });\n Configuration.prototype.setPrevNestedOptions = function (value) {\n this._prevNestedConfigOptions = value;\n };\n Configuration.prototype.onOptionChanged = function (args) {\n if ((0, helpers_1.isEqual)(args.value, args.previousValue)) {\n return;\n }\n this._onOptionChanged(args.fullName.split(\".\"), args);\n };\n Configuration.prototype.cleanNested = function () {\n this._nestedConfigurations = [];\n };\n Configuration.prototype.createNested = function (name, initialValues, isCollectionItem, expectedChildren) {\n var expected = this._expectedChildren[name];\n var actualName = name;\n var actualIsCollectionItem = isCollectionItem;\n if (expected) {\n actualIsCollectionItem = expected.isCollectionItem;\n if (expected.optionName) {\n actualName = expected.optionName;\n }\n }\n var collectionItemIndex = -1;\n if (actualIsCollectionItem && actualName) {\n collectionItemIndex = this._nestedConfigurations.filter(function (c) { return c._name && c._name === actualName; }).length;\n }\n var configuration = new Configuration(this._updateFunc, actualName, initialValues, expectedChildren, actualIsCollectionItem, collectionItemIndex, this);\n this._nestedConfigurations.push(configuration);\n return configuration;\n };\n Configuration.prototype.updateValue = function (nestedName, value) {\n var fullName = [this.fullPath, nestedName].filter(function (n) { return n; }).join(\".\");\n this._updateFunc(fullName, value);\n };\n Configuration.prototype.getNestedOptionValues = function () {\n var values = {};\n this._nestedConfigurations.forEach(function (o) {\n if (!o._name) {\n return;\n }\n var nestedValue = __assign(__assign({}, o.initialValues), o.getNestedOptionValues());\n if (!nestedValue) {\n return;\n }\n if (!o._isCollectionItem) {\n values[o._name] = nestedValue;\n }\n else {\n var arr = values[o._name];\n if (!arr || !Array.isArray(arr)) {\n arr = [];\n values[o._name] = arr;\n }\n arr.push(nestedValue);\n }\n });\n return values;\n };\n Configuration.prototype.getOptionsToWatch = function () {\n var blackList = {};\n this._nestedConfigurations.forEach(function (c) { return c._name && (blackList[c._name] = true); });\n return this._options.filter(function (o) { return !blackList[o]; });\n };\n Configuration.prototype._onOptionChanged = function (optionRelPath, args) {\n if (optionRelPath.length === 0) {\n return;\n }\n var optionInfo = (0, helpers_1.getOptionInfo)(optionRelPath[0]);\n if (optionInfo.isCollection || optionRelPath.length > 1) {\n var nestedConfig = this._getNestedConfig(optionInfo.fullName);\n if (nestedConfig) {\n nestedConfig._onOptionChanged(optionRelPath.slice(1), args);\n return;\n }\n this._tryEmitOptionChanged(optionInfo.name, args.component.option(this.fullPath ? \"\".concat(this.fullPath, \".\").concat(optionInfo.name) : optionInfo.name));\n }\n else {\n this._tryEmitOptionChanged(optionInfo.name, args.value);\n }\n };\n Configuration.prototype._getNestedConfig = function (fullName) {\n for (var _i = 0, _a = this._nestedConfigurations; _i < _a.length; _i++) {\n var nestedConfig = _a[_i];\n if (nestedConfig.fullName === fullName) {\n return nestedConfig;\n }\n }\n return undefined;\n };\n Configuration.prototype._tryEmitOptionChanged = function (name, value) {\n if (this._emitOptionChanged) {\n this._emitOptionChanged(name, value);\n }\n };\n return Configuration;\n}());\nfunction bindOptionWatchers(config, vueInstance, innerChanges) {\n var targets = config && config.getOptionsToWatch();\n if (targets) {\n targets.forEach(function (optionName) {\n vueInstance.$watch(optionName, function (value) {\n var rawValue = (0, vue_1.toRaw)(value);\n if (!innerChanges.hasOwnProperty(optionName) ||\n innerChanges[optionName] !== rawValue) {\n config.updateValue(optionName, value);\n }\n delete innerChanges[optionName];\n }, { deep: (0, config_1.getOption)(\"deepWatch\") });\n });\n }\n}\nexports.bindOptionWatchers = bindOptionWatchers;\nfunction hasProp(vueInstance, propName) {\n var props = vueInstance.$options.props;\n return props && props.hasOwnProperty(propName);\n}\nfunction hasVModelValue(options, props, vnode) {\n var _a;\n return options.model\n && props.hasOwnProperty(vue_helper_1.VMODEL_NAME)\n && ((_a = vnode === null || vnode === void 0 ? void 0 : vnode.props) === null || _a === void 0 ? void 0 : _a.hasOwnProperty(vue_helper_1.VMODEL_NAME));\n}\nfunction setEmitOptionChangedFunc(config, vueInstance, innerChanges) {\n config.emitOptionChanged = function (name, value) {\n var _a;\n var props = vueInstance.$props;\n var vnode = (_a = vueInstance === null || vueInstance === void 0 ? void 0 : vueInstance.$) === null || _a === void 0 ? void 0 : _a.vnode;\n if (hasProp(vueInstance, name) && !(0, helpers_1.isEqual)(value, props[name]) && vueInstance.$emit) {\n innerChanges[name] = (0, vue_1.toRaw)(value);\n var eventName = name === \"value\" && hasVModelValue(vueInstance.$options, props, vnode) ?\n \"update:\".concat(vue_helper_1.VMODEL_NAME) :\n \"update:\".concat(name);\n vueInstance.$emit(eventName, value);\n }\n };\n}\nexports.setEmitOptionChangedFunc = setEmitOptionChangedFunc;\nexports.default = Configuration;\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isVue3 = exports.getVueVersion = void 0;\nvar VueType = __importStar(require(\"vue\"));\nvar Vue = VueType.default || VueType;\nfunction getVueVersion() {\n var currentVersion = Vue.version;\n return Number(currentVersion.split(\".\")[0]);\n}\nexports.getVueVersion = getVueVersion;\nfunction isVue3() {\n return getVueVersion() === 3;\n}\nexports.isVue3 = isVue3;\n","/**\r\n * DevExtreme (esm/events/pointer/base.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n addNamespace,\r\n eventSource,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar POINTER_EVENTS_NAMESPACE = \"dxPointerEvents\";\r\nvar BaseStrategy = Class.inherit({\r\n ctor: function(eventName, originalEvents) {\r\n this._eventName = eventName;\r\n this._originalEvents = addNamespace(originalEvents, POINTER_EVENTS_NAMESPACE);\r\n this._handlerCount = 0;\r\n this.noBubble = this._isNoBubble()\r\n },\r\n _isNoBubble: function() {\r\n var eventName = this._eventName;\r\n return \"dxpointerenter\" === eventName || \"dxpointerleave\" === eventName\r\n },\r\n _handler: function(e) {\r\n var _originalEvent$target;\r\n var delegateTarget = this._getDelegateTarget(e);\r\n var event = {\r\n type: this._eventName,\r\n pointerType: e.pointerType || eventSource(e),\r\n originalEvent: e,\r\n delegateTarget: delegateTarget,\r\n timeStamp: browser.mozilla ? (new Date).getTime() : e.timeStamp\r\n };\r\n var originalEvent = e.originalEvent;\r\n if (null !== originalEvent && void 0 !== originalEvent && null !== (_originalEvent$target = originalEvent.target) && void 0 !== _originalEvent$target && _originalEvent$target.shadowRoot) {\r\n var _originalEvent$path, _originalEvent$compos;\r\n var path = null !== (_originalEvent$path = originalEvent.path) && void 0 !== _originalEvent$path ? _originalEvent$path : null === (_originalEvent$compos = originalEvent.composedPath) || void 0 === _originalEvent$compos ? void 0 : _originalEvent$compos.call(originalEvent);\r\n event.target = path[0]\r\n }\r\n return this._fireEvent(event)\r\n },\r\n _getDelegateTarget: function(e) {\r\n var delegateTarget;\r\n if (this.noBubble) {\r\n delegateTarget = e.delegateTarget\r\n }\r\n return delegateTarget\r\n },\r\n _fireEvent: function(args) {\r\n return fireEvent(args)\r\n },\r\n _setSelector: function(handleObj) {\r\n this._selector = this.noBubble && handleObj ? handleObj.selector : null\r\n },\r\n _getSelector: function() {\r\n return this._selector\r\n },\r\n setup: function() {\r\n return true\r\n },\r\n add: function(element, handleObj) {\r\n if (this._handlerCount <= 0 || this.noBubble) {\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n this._setSelector(handleObj);\r\n var that = this;\r\n eventsEngine.on(element, this._originalEvents, this._getSelector(), (function(e) {\r\n that._handler(e)\r\n }))\r\n }\r\n if (!this.noBubble) {\r\n this._handlerCount++\r\n }\r\n },\r\n remove: function(handleObj) {\r\n this._setSelector(handleObj);\r\n if (!this.noBubble) {\r\n this._handlerCount--\r\n }\r\n },\r\n teardown: function(element) {\r\n if (this._handlerCount && !this.noBubble) {\r\n return\r\n }\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n if (this._originalEvents !== \".\" + POINTER_EVENTS_NAMESPACE) {\r\n eventsEngine.off(element, this._originalEvents, this._getSelector())\r\n }\r\n },\r\n dispose: function(element) {\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n eventsEngine.off(element, this._originalEvents)\r\n }\r\n});\r\nexport default BaseStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/touch.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport BaseStrategy from \"./base\";\r\nvar eventMap = {\r\n dxpointerdown: \"touchstart\",\r\n dxpointermove: \"touchmove\",\r\n dxpointerup: \"touchend\",\r\n dxpointercancel: \"touchcancel\",\r\n dxpointerover: \"\",\r\n dxpointerout: \"\",\r\n dxpointerenter: \"\",\r\n dxpointerleave: \"\"\r\n};\r\nvar normalizeTouchEvent = function(e) {\r\n var pointers = [];\r\n each(e.touches, (function(_, touch) {\r\n pointers.push(extend({\r\n pointerId: touch.identifier\r\n }, touch))\r\n }));\r\n return {\r\n pointers: pointers,\r\n pointerId: e.changedTouches[0].identifier\r\n }\r\n};\r\nvar skipTouchWithSameIdentifier = function(pointerEvent) {\r\n return \"ios\" === devices.real().platform && (\"dxpointerdown\" === pointerEvent || \"dxpointerup\" === pointerEvent)\r\n};\r\nvar TouchStrategy = BaseStrategy.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._pointerId = 0\r\n },\r\n _handler: function(e) {\r\n if (skipTouchWithSameIdentifier(this._eventName)) {\r\n var touch = e.changedTouches[0];\r\n if (this._pointerId === touch.identifier && 0 !== this._pointerId) {\r\n return\r\n }\r\n this._pointerId = touch.identifier\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _fireEvent: function(args) {\r\n return this.callBase(extend(normalizeTouchEvent(args.originalEvent), args))\r\n }\r\n});\r\nTouchStrategy.map = eventMap;\r\nTouchStrategy.normalize = normalizeTouchEvent;\r\nexport default TouchStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/mouse.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport BaseStrategy from \"./base\";\r\nimport Observer from \"./observer\";\r\nvar eventMap = {\r\n dxpointerdown: \"mousedown\",\r\n dxpointermove: \"mousemove\",\r\n dxpointerup: \"mouseup\",\r\n dxpointercancel: \"\",\r\n dxpointerover: \"mouseover\",\r\n dxpointerout: \"mouseout\",\r\n dxpointerenter: \"mouseenter\",\r\n dxpointerleave: \"mouseleave\"\r\n};\r\nvar normalizeMouseEvent = function(e) {\r\n e.pointerId = 1;\r\n return {\r\n pointers: observer.pointers(),\r\n pointerId: 1\r\n }\r\n};\r\nvar observer;\r\nvar activated = false;\r\nvar activateStrategy = function() {\r\n if (activated) {\r\n return\r\n }\r\n observer = new Observer(eventMap, (function() {\r\n return true\r\n }));\r\n activated = true\r\n};\r\nvar MouseStrategy = BaseStrategy.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n activateStrategy()\r\n },\r\n _fireEvent: function(args) {\r\n return this.callBase(extend(normalizeMouseEvent(args.originalEvent), args))\r\n }\r\n});\r\nMouseStrategy.map = eventMap;\r\nMouseStrategy.normalize = normalizeMouseEvent;\r\nMouseStrategy.activate = activateStrategy;\r\nMouseStrategy.resetObserver = function() {\r\n observer.reset()\r\n};\r\nexport default MouseStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/observer.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nvar addEventsListener = function(events, handler) {\r\n readyCallbacks.add((function() {\r\n events.split(\" \").forEach((function(event) {\r\n domAdapter.listen(domAdapter.getDocument(), event, handler, true)\r\n }))\r\n }))\r\n};\r\nvar Observer = function(eventMap, pointerEquals, onPointerAdding) {\r\n onPointerAdding = onPointerAdding || function() {};\r\n var pointers = [];\r\n var getPointerIndex = function(e) {\r\n var index = -1;\r\n each(pointers, (function(i, pointer) {\r\n if (!pointerEquals(e, pointer)) {\r\n return true\r\n }\r\n index = i;\r\n return false\r\n }));\r\n return index\r\n };\r\n var removePointer = function(e) {\r\n var index = getPointerIndex(e);\r\n if (index > -1) {\r\n pointers.splice(index, 1)\r\n }\r\n };\r\n addEventsListener(eventMap.dxpointerdown, (function(e) {\r\n if (-1 === getPointerIndex(e)) {\r\n onPointerAdding(e);\r\n pointers.push(e)\r\n }\r\n }));\r\n addEventsListener(eventMap.dxpointermove, (function(e) {\r\n pointers[getPointerIndex(e)] = e\r\n }));\r\n addEventsListener(eventMap.dxpointerup, removePointer);\r\n addEventsListener(eventMap.dxpointercancel, removePointer);\r\n this.pointers = function() {\r\n return pointers\r\n };\r\n this.reset = function() {\r\n pointers = []\r\n }\r\n};\r\nexport default Observer;\r\n","/**\r\n * DevExtreme (esm/events/pointer/mouse_and_touch.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport BaseStrategy from \"./base\";\r\nimport MouseStrategy from \"./mouse\";\r\nimport TouchStrategy from \"./touch\";\r\nimport {\r\n isMouseEvent\r\n} from \"../utils/index\";\r\nvar eventMap = {\r\n dxpointerdown: \"touchstart mousedown\",\r\n dxpointermove: \"touchmove mousemove\",\r\n dxpointerup: \"touchend mouseup\",\r\n dxpointercancel: \"touchcancel\",\r\n dxpointerover: \"mouseover\",\r\n dxpointerout: \"mouseout\",\r\n dxpointerenter: \"mouseenter\",\r\n dxpointerleave: \"mouseleave\"\r\n};\r\nvar activated = false;\r\nvar activateStrategy = function() {\r\n if (activated) {\r\n return\r\n }\r\n MouseStrategy.activate();\r\n activated = true\r\n};\r\nvar MouseAndTouchStrategy = BaseStrategy.inherit({\r\n EVENT_LOCK_TIMEOUT: 100,\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n activateStrategy()\r\n },\r\n _handler: function(e) {\r\n var isMouse = isMouseEvent(e);\r\n if (!isMouse) {\r\n this._skipNextEvents = true\r\n }\r\n if (isMouse && this._mouseLocked) {\r\n return\r\n }\r\n if (isMouse && this._skipNextEvents) {\r\n this._skipNextEvents = false;\r\n this._mouseLocked = true;\r\n clearTimeout(this._unlockMouseTimer);\r\n var that = this;\r\n this._unlockMouseTimer = setTimeout((function() {\r\n that._mouseLocked = false\r\n }), this.EVENT_LOCK_TIMEOUT);\r\n return\r\n }\r\n return this.callBase(e)\r\n },\r\n _fireEvent: function(args) {\r\n var normalizer = isMouseEvent(args.originalEvent) ? MouseStrategy.normalize : TouchStrategy.normalize;\r\n return this.callBase(extend(normalizer(args.originalEvent), args))\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n this._skipNextEvents = false;\r\n this._mouseLocked = false;\r\n clearTimeout(this._unlockMouseTimer)\r\n }\r\n});\r\nMouseAndTouchStrategy.map = eventMap;\r\nMouseAndTouchStrategy.resetObserver = MouseStrategy.resetObserver;\r\nexport default MouseAndTouchStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport GlobalConfig from \"../core/config\";\r\nimport * as support from \"../core/utils/support\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport devices from \"../core/devices\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport TouchStrategy from \"./pointer/touch\";\r\nimport MouseStrategy from \"./pointer/mouse\";\r\nimport MouseAndTouchStrategy from \"./pointer/mouse_and_touch\";\r\nvar getStrategy = (support, _ref) => {\r\n var {\r\n tablet: tablet,\r\n phone: phone\r\n } = _ref;\r\n var pointerEventStrategy = getStrategyFromGlobalConfig();\r\n if (pointerEventStrategy) {\r\n return pointerEventStrategy\r\n }\r\n if (support.touch && !(tablet || phone)) {\r\n return MouseAndTouchStrategy\r\n }\r\n if (support.touch) {\r\n return TouchStrategy\r\n }\r\n return MouseStrategy\r\n};\r\nvar EventStrategy = getStrategy(support, devices.real());\r\neach(EventStrategy.map, (pointerEvent, originalEvents) => {\r\n registerEvent(pointerEvent, new EventStrategy(pointerEvent, originalEvents))\r\n});\r\nvar pointer = {\r\n down: \"dxpointerdown\",\r\n up: \"dxpointerup\",\r\n move: \"dxpointermove\",\r\n cancel: \"dxpointercancel\",\r\n enter: \"dxpointerenter\",\r\n leave: \"dxpointerleave\",\r\n over: \"dxpointerover\",\r\n out: \"dxpointerout\"\r\n};\r\n\r\nfunction getStrategyFromGlobalConfig() {\r\n var eventStrategyName = GlobalConfig().pointerEventStrategy;\r\n return {\r\n \"mouse-and-touch\": MouseAndTouchStrategy,\r\n touch: TouchStrategy,\r\n mouse: MouseStrategy\r\n } [eventStrategyName]\r\n}\r\nexport default pointer;\r\n","/**\r\n * DevExtreme (esm/core/utils/browser.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n getNavigator\r\n} from \"./window\";\r\nvar navigator = getNavigator();\r\nvar webkitRegExp = /(webkit)[ /]([\\w.]+)/;\r\nvar mozillaRegExp = /(mozilla)(?:.*? rv:([\\w.]+))/;\r\nvar browserFromUA = ua => {\r\n ua = ua.toLowerCase();\r\n var result = {};\r\n var matches = webkitRegExp.exec(ua) || ua.indexOf(\"compatible\") < 0 && mozillaRegExp.exec(ua) || [];\r\n var browserName = matches[1];\r\n var browserVersion = matches[2];\r\n if (\"webkit\" === browserName) {\r\n result.webkit = true;\r\n if (ua.indexOf(\"chrome\") >= 0 || ua.indexOf(\"crios\") >= 0) {\r\n browserName = \"chrome\";\r\n browserVersion = /(?:chrome|crios)\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else if (ua.indexOf(\"fxios\") >= 0) {\r\n browserName = \"mozilla\";\r\n browserVersion = /fxios\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else if (ua.indexOf(\"safari\") >= 0 && /version|phantomjs/.test(ua)) {\r\n browserName = \"safari\";\r\n browserVersion = /(?:version|phantomjs)\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else {\r\n browserName = \"unknown\";\r\n browserVersion = /applewebkit\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n }\r\n }\r\n if (browserName) {\r\n result[browserName] = true;\r\n result.version = browserVersion\r\n }\r\n return result\r\n};\r\nexport default extend({\r\n _fromUA: browserFromUA\r\n}, browserFromUA(navigator.userAgent));\r\n","/**\r\n * DevExtreme (esm/core/utils/array.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n orderEach\r\n} from \"./object\";\r\nimport config from \"../config\";\r\n\r\nfunction createOccurrenceMap(array) {\r\n return array.reduce((map, value) => {\r\n var _map$get;\r\n var count = (null !== (_map$get = map.get(value)) && void 0 !== _map$get ? _map$get : 0) + 1;\r\n map.set(value, count);\r\n return map\r\n }, new Map)\r\n}\r\nexport var wrapToArray = function(item) {\r\n return Array.isArray(item) ? item : [item]\r\n};\r\nexport var getUniqueValues = function(values) {\r\n return [...new Set(values)]\r\n};\r\nexport var getIntersection = function(firstArray, secondArray) {\r\n var toRemoveMap = createOccurrenceMap(secondArray);\r\n return firstArray.filter(value => {\r\n var occurrencesCount = toRemoveMap.get(value);\r\n occurrencesCount && toRemoveMap.set(value, occurrencesCount - 1);\r\n return occurrencesCount\r\n })\r\n};\r\nexport var removeDuplicates = function() {\r\n var from = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n var toRemove = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];\r\n var toRemoveMap = createOccurrenceMap(toRemove);\r\n return from.filter(value => {\r\n var occurrencesCount = toRemoveMap.get(value);\r\n occurrencesCount && toRemoveMap.set(value, occurrencesCount - 1);\r\n return !occurrencesCount\r\n })\r\n};\r\nexport var normalizeIndexes = function(items, indexPropName, currentItem, needIndexCallback) {\r\n var indexedItems = {};\r\n var {\r\n useLegacyVisibleIndex: useLegacyVisibleIndex\r\n } = config();\r\n var currentIndex = 0;\r\n var shouldUpdateIndex = item => !isDefined(item[indexPropName]) && (!needIndexCallback || needIndexCallback(item));\r\n items.forEach(item => {\r\n var index = item[indexPropName];\r\n if (index >= 0) {\r\n indexedItems[index] = indexedItems[index] || [];\r\n if (item === currentItem) {\r\n indexedItems[index].unshift(item)\r\n } else {\r\n indexedItems[index].push(item)\r\n }\r\n } else {\r\n item[indexPropName] = void 0\r\n }\r\n });\r\n if (!useLegacyVisibleIndex) {\r\n items.forEach(item => {\r\n if (shouldUpdateIndex(item)) {\r\n while (indexedItems[currentIndex]) {\r\n currentIndex++\r\n }\r\n indexedItems[currentIndex] = [item];\r\n currentIndex++\r\n }\r\n })\r\n }\r\n currentIndex = 0;\r\n orderEach(indexedItems, (function(index, items) {\r\n items.forEach(item => {\r\n if (index >= 0) {\r\n item[indexPropName] = currentIndex++\r\n }\r\n })\r\n }));\r\n if (useLegacyVisibleIndex) {\r\n items.forEach(item => {\r\n if (shouldUpdateIndex(item)) {\r\n item[indexPropName] = currentIndex++\r\n }\r\n })\r\n }\r\n};\r\nexport var groupBy = (array, getGroupName) => array.reduce((groupedResult, item) => {\r\n var _groupedResult$groupN;\r\n var groupName = getGroupName(item);\r\n groupedResult[groupName] = null !== (_groupedResult$groupN = groupedResult[groupName]) && void 0 !== _groupedResult$groupN ? _groupedResult$groupN : [];\r\n groupedResult[groupName].push(item);\r\n return groupedResult\r\n}, {});\r\n","// Helpers\nimport { wrapInArray, sortItems, deepEqual, groupItems, searchItems, fillArray } from '../../util/helpers'\nimport Vue, { VNode } from 'vue'\n\n// Types\nimport {\n DataOptions,\n DataPagination,\n DataScopeProps,\n DataSortFunction,\n DataGroupFunction,\n DataSearchFunction,\n ItemGroup,\n} from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\n\nexport default Vue.extend({\n name: 'v-data',\n\n inheritAttrs: false,\n\n props: {\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n options: {\n type: Object,\n default: () => ({}),\n } as PropValidator<Partial<DataOptions>>,\n sortBy: {\n type: [String, Array],\n } as PropValidator<string | string[] | undefined>,\n sortDesc: {\n type: [Boolean, Array],\n } as PropValidator<boolean | boolean[] | undefined>,\n customSort: {\n type: Function,\n default: sortItems,\n } as PropValidator<DataSortFunction>,\n mustSort: Boolean,\n multiSort: Boolean,\n page: {\n type: Number,\n default: 1,\n },\n itemsPerPage: {\n type: Number,\n default: 10,\n },\n groupBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<string | string[]>,\n groupDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator<boolean | boolean[]>,\n customGroup: {\n type: Function,\n default: groupItems,\n } as PropValidator<DataGroupFunction>,\n locale: {\n type: String,\n default: 'en-US',\n },\n disableSort: Boolean,\n disablePagination: Boolean,\n disableFiltering: Boolean,\n search: String,\n customFilter: {\n type: Function,\n default: searchItems,\n } as PropValidator<DataSearchFunction>,\n serverItemsLength: {\n type: Number,\n default: -1,\n },\n },\n\n data () {\n let internalOptions: DataOptions = {\n page: this.page,\n itemsPerPage: this.itemsPerPage,\n sortBy: wrapInArray(this.sortBy),\n sortDesc: wrapInArray(this.sortDesc),\n groupBy: wrapInArray(this.groupBy),\n groupDesc: wrapInArray(this.groupDesc),\n mustSort: this.mustSort,\n multiSort: this.multiSort,\n }\n\n if (this.options) {\n internalOptions = Object.assign(internalOptions, this.options)\n }\n\n const { sortBy, sortDesc, groupBy, groupDesc } = internalOptions\n const sortDiff = sortBy.length - sortDesc.length\n const groupDiff = groupBy.length - groupDesc.length\n\n if (sortDiff > 0) {\n internalOptions.sortDesc.push(...fillArray(sortDiff, false))\n }\n\n if (groupDiff > 0) {\n internalOptions.groupDesc.push(...fillArray(groupDiff, false))\n }\n\n return {\n internalOptions,\n }\n },\n\n computed: {\n itemsLength (): number {\n return this.serverItemsLength >= 0 ? this.serverItemsLength : this.filteredItems.length\n },\n pageCount (): number {\n return this.internalOptions.itemsPerPage <= 0\n ? 1\n : Math.ceil(this.itemsLength / this.internalOptions.itemsPerPage)\n },\n pageStart (): number {\n if (this.internalOptions.itemsPerPage === -1 || !this.items.length) return 0\n\n return (this.internalOptions.page - 1) * this.internalOptions.itemsPerPage\n },\n pageStop (): number {\n if (this.internalOptions.itemsPerPage === -1) return this.itemsLength\n if (!this.items.length) return 0\n\n return Math.min(this.itemsLength, this.internalOptions.page * this.internalOptions.itemsPerPage)\n },\n isGrouped (): boolean {\n return !!this.internalOptions.groupBy.length\n },\n pagination (): DataPagination {\n return {\n page: this.internalOptions.page,\n itemsPerPage: this.internalOptions.itemsPerPage,\n pageStart: this.pageStart,\n pageStop: this.pageStop,\n pageCount: this.pageCount,\n itemsLength: this.itemsLength,\n }\n },\n filteredItems (): any[] {\n let items = this.items.slice()\n\n if (!this.disableFiltering && this.serverItemsLength <= 0) {\n items = this.customFilter(items, this.search)\n }\n\n return items\n },\n computedItems (): any[] {\n let items = this.filteredItems.slice()\n\n if ((!this.disableSort || this.internalOptions.groupBy.length) && this.serverItemsLength <= 0) {\n items = this.sortItems(items)\n }\n\n if (!this.disablePagination && this.serverItemsLength <= 0) {\n items = this.paginateItems(items)\n }\n\n return items\n },\n groupedItems (): ItemGroup<any>[] | null {\n return this.isGrouped ? this.groupItems(this.computedItems) : null\n },\n scopedProps (): DataScopeProps {\n return {\n sort: this.sort,\n sortArray: this.sortArray,\n group: this.group,\n items: this.computedItems,\n options: this.internalOptions,\n updateOptions: this.updateOptions,\n pagination: this.pagination,\n groupedItems: this.groupedItems,\n originalItemsLength: this.items.length,\n }\n },\n computedOptions (): DataOptions {\n return { ...this.options } as DataOptions\n },\n },\n\n watch: {\n computedOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n\n this.updateOptions(options)\n },\n deep: true,\n immediate: true,\n },\n internalOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n this.$emit('update:options', options)\n },\n deep: true,\n immediate: true,\n },\n page (page: number) {\n this.updateOptions({ page })\n },\n 'internalOptions.page' (page: number) {\n this.$emit('update:page', page)\n },\n itemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage })\n },\n 'internalOptions.itemsPerPage' (itemsPerPage: number) {\n this.$emit('update:items-per-page', itemsPerPage)\n },\n sortBy (sortBy: string | string[]) {\n this.updateOptions({ sortBy: wrapInArray(sortBy) })\n },\n 'internalOptions.sortBy' (sortBy: string[], old: string[]) {\n !deepEqual(sortBy, old) && this.$emit('update:sort-by', Array.isArray(this.sortBy) ? sortBy : sortBy[0])\n },\n sortDesc (sortDesc: boolean | boolean[]) {\n this.updateOptions({ sortDesc: wrapInArray(sortDesc) })\n },\n 'internalOptions.sortDesc' (sortDesc: boolean[], old: boolean[]) {\n !deepEqual(sortDesc, old) && this.$emit('update:sort-desc', Array.isArray(this.sortDesc) ? sortDesc : sortDesc[0])\n },\n groupBy (groupBy: string | string[]) {\n this.updateOptions({ groupBy: wrapInArray(groupBy) })\n },\n 'internalOptions.groupBy' (groupBy: string[], old: string[]) {\n !deepEqual(groupBy, old) && this.$emit('update:group-by', Array.isArray(this.groupBy) ? groupBy : groupBy[0])\n },\n groupDesc (groupDesc: boolean | boolean[]) {\n this.updateOptions({ groupDesc: wrapInArray(groupDesc) })\n },\n 'internalOptions.groupDesc' (groupDesc: boolean[], old: boolean[]) {\n !deepEqual(groupDesc, old) && this.$emit('update:group-desc', Array.isArray(this.groupDesc) ? groupDesc : groupDesc[0])\n },\n multiSort (multiSort: boolean) {\n this.updateOptions({ multiSort })\n },\n 'internalOptions.multiSort' (multiSort: boolean) {\n this.$emit('update:multi-sort', multiSort)\n },\n mustSort (mustSort: boolean) {\n this.updateOptions({ mustSort })\n },\n 'internalOptions.mustSort' (mustSort: boolean) {\n this.$emit('update:must-sort', mustSort)\n },\n pageCount: {\n handler (pageCount: number) {\n this.$emit('page-count', pageCount)\n },\n immediate: true,\n },\n computedItems: {\n handler (computedItems: any[]) {\n this.$emit('current-items', computedItems)\n },\n immediate: true,\n },\n pagination: {\n handler (pagination: DataPagination, old: DataPagination) {\n if (deepEqual(pagination, old)) return\n this.$emit('pagination', this.pagination)\n },\n immediate: true,\n },\n },\n\n methods: {\n toggle (key: string, oldBy: string[], oldDesc: boolean[], page: number, mustSort: boolean, multiSort: boolean) {\n let by = oldBy.slice()\n let desc = oldDesc.slice()\n const byIndex = by.findIndex((k: string) => k === key)\n\n if (byIndex < 0) {\n if (!multiSort) {\n by = []\n desc = []\n }\n\n by.push(key)\n desc.push(false)\n } else if (byIndex >= 0 && !desc[byIndex]) {\n desc[byIndex] = true\n } else if (!mustSort) {\n by.splice(byIndex, 1)\n desc.splice(byIndex, 1)\n } else {\n desc[byIndex] = false\n }\n\n // Reset page to 1 if sortBy or sortDesc have changed\n if (!deepEqual(by, oldBy) || !deepEqual(desc, oldDesc)) {\n page = 1\n }\n\n return { by, desc, page }\n },\n group (key: string): void {\n const { by: groupBy, desc: groupDesc, page } = this.toggle(\n key,\n this.internalOptions.groupBy,\n this.internalOptions.groupDesc,\n this.internalOptions.page,\n true,\n false\n )\n this.updateOptions({ groupBy, groupDesc, page })\n },\n sort (key: string | string[]): void {\n if (Array.isArray(key)) return this.sortArray(key)\n\n const { by: sortBy, desc: sortDesc, page } = this.toggle(\n key,\n this.internalOptions.sortBy,\n this.internalOptions.sortDesc,\n this.internalOptions.page,\n this.internalOptions.mustSort,\n this.internalOptions.multiSort\n )\n this.updateOptions({ sortBy, sortDesc, page })\n },\n sortArray (sortBy: string[]) {\n const sortDesc = sortBy.map(s => {\n const i = this.internalOptions.sortBy.findIndex((k: string) => k === s)\n return i > -1 ? this.internalOptions.sortDesc[i] : false\n })\n\n this.updateOptions({ sortBy, sortDesc })\n },\n updateOptions (options: any) {\n this.internalOptions = {\n ...this.internalOptions,\n ...options,\n page: this.serverItemsLength < 0\n ? Math.max(1, Math.min(options.page || this.internalOptions.page, this.pageCount))\n : options.page || this.internalOptions.page,\n }\n },\n sortItems (items: any[]): any[] {\n let sortBy: string[] = []\n let sortDesc: boolean[] = []\n\n if (!this.disableSort) {\n sortBy = this.internalOptions.sortBy\n sortDesc = this.internalOptions.sortDesc\n }\n\n if (this.internalOptions.groupBy.length) {\n sortBy = [...this.internalOptions.groupBy, ...sortBy]\n sortDesc = [...this.internalOptions.groupDesc, ...sortDesc]\n }\n\n return this.customSort(items, sortBy, sortDesc, this.locale)\n },\n groupItems (items: any[]): ItemGroup<any>[] {\n return this.customGroup(items, this.internalOptions.groupBy, this.internalOptions.groupDesc)\n },\n paginateItems (items: any[]): any[] {\n // Make sure we don't try to display non-existant page if items suddenly change\n // TODO: Could possibly move this to pageStart/pageStop?\n if (this.serverItemsLength === -1 && items.length <= this.pageStart) {\n this.internalOptions.page = Math.max(1, Math.ceil(items.length / this.internalOptions.itemsPerPage)) || 1 // Prevent NaN\n }\n\n return items.slice(this.pageStart, this.pageStop)\n },\n },\n\n render (): VNode {\n return this.$scopedSlots.default && this.$scopedSlots.default(this.scopedProps) as any\n },\n})\n","import './VDataFooter.sass'\n\n// Components\nimport VSelect from '../VSelect/VSelect'\nimport VIcon from '../VIcon'\nimport VBtn from '../VBtn'\n\n// Types\nimport Vue, { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { DataPagination, DataOptions, DataItemsPerPageOption } from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\nimport { getSlot } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'v-data-footer',\n\n props: {\n options: {\n type: Object as PropType<DataOptions>,\n required: true,\n },\n pagination: {\n type: Object as PropType<DataPagination>,\n required: true,\n },\n itemsPerPageOptions: {\n type: Array,\n default: () => ([5, 10, 15, -1]),\n } as PropValidator<DataItemsPerPageOption[]>,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n firstIcon: {\n type: String,\n default: '$first',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n itemsPerPageText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageText',\n },\n itemsPerPageAllText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageAll',\n },\n showFirstLastPage: Boolean,\n showCurrentPage: Boolean,\n disablePagination: Boolean,\n disableItemsPerPage: Boolean,\n pageText: {\n type: String,\n default: '$vuetify.dataFooter.pageText',\n },\n },\n\n computed: {\n disableNextPageIcon (): boolean {\n return this.options.itemsPerPage <= 0 ||\n this.options.page * this.options.itemsPerPage >= this.pagination.itemsLength ||\n this.pagination.pageStop < 0\n },\n computedDataItemsPerPageOptions (): any[] {\n return this.itemsPerPageOptions.map(option => {\n if (typeof option === 'object') return option\n else return this.genDataItemsPerPageOption(option)\n })\n },\n },\n\n methods: {\n updateOptions (obj: object) {\n this.$emit('update:options', Object.assign({}, this.options, obj))\n },\n onFirstPage () {\n this.updateOptions({ page: 1 })\n },\n onPreviousPage () {\n this.updateOptions({ page: this.options.page - 1 })\n },\n onNextPage () {\n this.updateOptions({ page: this.options.page + 1 })\n },\n onLastPage () {\n this.updateOptions({ page: this.pagination.pageCount })\n },\n onChangeItemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage, page: 1 })\n },\n genDataItemsPerPageOption (option: number) {\n return {\n text: option === -1 ? this.$vuetify.lang.t(this.itemsPerPageAllText) : String(option),\n value: option,\n }\n },\n genItemsPerPageSelect () {\n let value = this.options.itemsPerPage\n const computedIPPO = this.computedDataItemsPerPageOptions\n\n if (computedIPPO.length <= 1) return null\n\n if (!computedIPPO.find(ippo => ippo.value === value)) value = computedIPPO[0]\n\n return this.$createElement('div', {\n staticClass: 'v-data-footer__select',\n }, [\n this.$vuetify.lang.t(this.itemsPerPageText),\n this.$createElement(VSelect, {\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.itemsPerPageText),\n },\n props: {\n disabled: this.disableItemsPerPage,\n items: computedIPPO,\n value,\n hideDetails: true,\n auto: true,\n minWidth: '75px',\n },\n on: {\n input: this.onChangeItemsPerPage,\n },\n }),\n ])\n },\n genPaginationInfo () {\n let children: VNodeChildrenArrayContents = ['–']\n const itemsLength: number = this.pagination.itemsLength\n let pageStart: number = this.pagination.pageStart\n let pageStop: number = this.pagination.pageStop\n\n if (this.pagination.itemsLength && this.pagination.itemsPerPage) {\n pageStart = this.pagination.pageStart + 1\n pageStop = itemsLength < this.pagination.pageStop || this.pagination.pageStop < 0\n ? itemsLength\n : this.pagination.pageStop\n\n children = this.$scopedSlots['page-text']\n ? [this.$scopedSlots['page-text']!({ pageStart, pageStop, itemsLength })]\n : [this.$vuetify.lang.t(this.pageText, pageStart, pageStop, itemsLength)]\n } else if (this.$scopedSlots['page-text']) {\n children = [this.$scopedSlots['page-text']!({ pageStart, pageStop, itemsLength })]\n }\n\n return this.$createElement('div', {\n class: 'v-data-footer__pagination',\n }, children)\n },\n genIcon (click: Function, disabled: boolean, label: string, icon: string): VNode {\n return this.$createElement(VBtn, {\n props: {\n disabled: disabled || this.disablePagination,\n icon: true,\n text: true,\n // dark: this.dark, // TODO: add mixin\n // light: this.light // TODO: add mixin\n },\n on: {\n click,\n },\n attrs: {\n 'aria-label': label, // TODO: Localization\n },\n }, [this.$createElement(VIcon, icon)])\n },\n genIcons () {\n const before: VNodeChildrenArrayContents = []\n const after: VNodeChildrenArrayContents = []\n\n before.push(this.genIcon(\n this.onPreviousPage,\n this.options.page === 1,\n this.$vuetify.lang.t('$vuetify.dataFooter.prevPage'),\n this.$vuetify.rtl ? this.nextIcon : this.prevIcon\n ))\n\n after.push(this.genIcon(\n this.onNextPage,\n this.disableNextPageIcon,\n this.$vuetify.lang.t('$vuetify.dataFooter.nextPage'),\n this.$vuetify.rtl ? this.prevIcon : this.nextIcon\n ))\n\n if (this.showFirstLastPage) {\n before.unshift(this.genIcon(\n this.onFirstPage,\n this.options.page === 1,\n this.$vuetify.lang.t('$vuetify.dataFooter.firstPage'),\n this.$vuetify.rtl ? this.lastIcon : this.firstIcon\n ))\n\n after.push(this.genIcon(\n this.onLastPage,\n this.options.page >= this.pagination.pageCount || this.options.itemsPerPage === -1,\n this.$vuetify.lang.t('$vuetify.dataFooter.lastPage'),\n this.$vuetify.rtl ? this.firstIcon : this.lastIcon\n ))\n }\n\n return [\n this.$createElement('div', {\n staticClass: 'v-data-footer__icons-before',\n }, before),\n this.showCurrentPage && this.$createElement('span', [this.options.page.toString()]),\n this.$createElement('div', {\n staticClass: 'v-data-footer__icons-after',\n }, after),\n ]\n },\n },\n\n render (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-data-footer',\n }, [\n getSlot(this, 'prepend'),\n this.genItemsPerPageSelect(),\n this.genPaginationInfo(),\n this.genIcons(),\n ])\n },\n})\n","// Components\nimport { VData } from '../VData'\nimport VDataFooter from './VDataFooter'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, camelizeObjectKeys, keyCodes } from '../../util/helpers'\nimport { breaking, removed } from '../../util/console'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { DataItemProps, DataScopeProps } from 'vuetify/types'\n\n/* @vue/component */\nexport default mixins(\n Mobile,\n Themeable\n).extend({\n name: 'v-data-iterator',\n\n props: {\n ...VData.options.props, // TODO: filter out props not used\n itemKey: {\n type: String,\n default: 'id',\n },\n value: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n singleSelect: Boolean,\n expanded: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n mobileBreakpoint: {\n ...Mobile.options.props.mobileBreakpoint,\n default: 600,\n },\n singleExpand: Boolean,\n loading: [Boolean, String],\n noResultsText: {\n type: String,\n default: '$vuetify.dataIterator.noResultsText',\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideDefaultFooter: Boolean,\n footerProps: Object,\n selectableKey: {\n type: String,\n default: 'isSelectable',\n },\n },\n\n data: () => ({\n selection: {} as Record<string, any>,\n expansion: {} as Record<string, boolean>,\n internalCurrentItems: [] as any[],\n shiftKeyDown: false,\n lastEntry: -1,\n }),\n\n computed: {\n everyItem (): boolean {\n return !!this.selectableItems.length && this.selectableItems.every((i: any) => this.isSelected(i))\n },\n someItems (): boolean {\n return this.selectableItems.some((i: any) => this.isSelected(i))\n },\n sanitizedFooterProps (): Record<string, any> {\n return camelizeObjectKeys(this.footerProps)\n },\n selectableItems (): any[] {\n return this.internalCurrentItems.filter(item => this.isSelectable(item))\n },\n },\n\n watch: {\n value: {\n handler (value: any[]) {\n this.selection = value.reduce((selection, item) => {\n selection[getObjectValueByPath(item, this.itemKey)] = item\n return selection\n }, {})\n },\n immediate: true,\n },\n selection (value: Record<string, boolean>, old: Record<string, boolean>) {\n if (deepEqual(Object.keys(value), Object.keys(old))) return\n\n this.$emit('input', Object.values(value))\n },\n expanded: {\n handler (value: any[]) {\n this.expansion = value.reduce((expansion, item) => {\n expansion[getObjectValueByPath(item, this.itemKey)] = true\n return expansion\n }, {})\n },\n immediate: true,\n },\n expansion (value: Record<string, boolean>, old: Record<string, boolean>) {\n if (deepEqual(value, old)) return\n const keys = Object.keys(value).filter(k => value[k])\n const expanded = !keys.length ? [] : this.items.filter(i => keys.includes(String(getObjectValueByPath(i, this.itemKey))))\n this.$emit('update:expanded', expanded)\n },\n },\n\n created () {\n const breakingProps = [\n ['disable-initial-sort', 'sort-by'],\n ['filter', 'custom-filter'],\n ['pagination', 'options'],\n ['total-items', 'server-items-length'],\n ['hide-actions', 'hide-default-footer'],\n ['rows-per-page-items', 'footer-props.items-per-page-options'],\n ['rows-per-page-text', 'footer-props.items-per-page-text'],\n ['prev-icon', 'footer-props.prev-icon'],\n ['next-icon', 'footer-props.next-icon'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n const removedProps = [\n 'expand',\n 'content-class',\n 'content-props',\n 'content-tag',\n ]\n\n /* istanbul ignore next */\n removedProps.forEach(prop => {\n if (this.$attrs.hasOwnProperty(prop)) removed(prop)\n })\n },\n\n mounted () {\n window.addEventListener('keydown', this.onKeyDown)\n window.addEventListener('keyup', this.onKeyUp)\n },\n beforeDestroy () {\n window.removeEventListener('keydown', this.onKeyDown)\n window.removeEventListener('keyup', this.onKeyUp)\n },\n\n methods: {\n onKeyDown (e: KeyboardEvent): void {\n this.shiftKeyDown = e.keyCode === keyCodes.shift || e.shiftKey\n },\n onKeyUp (e: KeyboardEvent): void {\n if (e.keyCode === keyCodes.shift || !e.shiftKey) {\n this.shiftKeyDown = false\n }\n },\n toggleSelectAll (value: boolean): void {\n const selection = Object.assign({}, this.selection)\n\n for (let i = 0; i < this.selectableItems.length; i++) {\n const item = this.selectableItems[i]\n\n if (!this.isSelectable(item)) continue\n\n const key = getObjectValueByPath(item, this.itemKey)\n if (value) selection[key] = item\n else delete selection[key]\n }\n\n this.selection = selection\n this.$emit('toggle-select-all', { items: this.internalCurrentItems, value })\n },\n isSelectable (item: any): boolean {\n return getObjectValueByPath(item, this.selectableKey) !== false\n },\n isSelected (item: any): boolean {\n return !!this.selection[getObjectValueByPath(item, this.itemKey)] || false\n },\n select (item: any, value = true, emit = true): void {\n if (!this.isSelectable(item)) return\n\n const selection = this.singleSelect ? {} : Object.assign({}, this.selection)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) selection[key] = item\n else delete selection[key]\n\n const index = this.selectableItems.findIndex(x => getObjectValueByPath(x, this.itemKey) === key)\n if (this.lastEntry === -1) this.lastEntry = index\n else if (this.shiftKeyDown && !this.singleSelect && emit) {\n const lastEntryKey = getObjectValueByPath(this.selectableItems[this.lastEntry], this.itemKey)\n const lastEntryKeySelected = Object.keys(this.selection).includes(String(lastEntryKey))\n this.multipleSelect(lastEntryKeySelected, emit, selection, index)\n }\n this.lastEntry = index\n\n if (this.singleSelect && emit) {\n const keys = Object.keys(this.selection)\n const old = keys.length && getObjectValueByPath(this.selection[keys[0]], this.itemKey)\n old && old !== key && this.$emit('item-selected', { item: this.selection[old], value: false })\n }\n this.selection = selection\n emit && this.$emit('item-selected', { item, value })\n },\n multipleSelect (value = true, emit = true, selection: any, index: number): void {\n const start = index < this.lastEntry ? index : this.lastEntry\n const end = index < this.lastEntry ? this.lastEntry : index\n for (let i = start; i <= end; i++) {\n const currentItem = this.selectableItems[i]\n const key = getObjectValueByPath(currentItem, this.itemKey)\n if (value) selection[key] = currentItem\n else delete selection[key]\n emit && this.$emit('item-selected', { currentItem, value })\n }\n },\n isExpanded (item: any): boolean {\n return this.expansion[getObjectValueByPath(item, this.itemKey)] || false\n },\n expand (item: any, value = true): void {\n const expansion = this.singleExpand ? {} : Object.assign({}, this.expansion)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) expansion[key] = true\n else delete expansion[key]\n\n this.expansion = expansion\n this.$emit('item-expanded', { item, value })\n },\n createItemProps (item: any, index: number): DataItemProps {\n return {\n item,\n index,\n select: (v: boolean) => this.select(item, v),\n isSelected: this.isSelected(item),\n expand: (v: boolean) => this.expand(item, v),\n isExpanded: this.isExpanded(item),\n isMobile: this.isMobile,\n }\n },\n genEmptyWrapper (content: VNodeChildren) {\n return this.$createElement('div', content)\n },\n genEmpty (originalItemsLength: number, filteredItemsLength: number) {\n if (originalItemsLength === 0 && this.loading) {\n const loading = getSlot(this, 'loading') || this.$vuetify.lang.t(this.loadingText)\n return this.genEmptyWrapper(loading)\n } else if (originalItemsLength === 0) {\n const noData = getSlot(this, 'noData') || this.$vuetify.lang.t(this.noDataText)\n return this.genEmptyWrapper(noData)\n } else if (filteredItemsLength === 0) {\n const noResults = getSlot(this, 'noResults') || this.$vuetify.lang.t(this.noResultsText)\n return this.genEmptyWrapper(noResults)\n }\n\n return null\n },\n genItems (props: DataScopeProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n if (this.$scopedSlots.default) {\n return this.$scopedSlots.default({\n ...props,\n isSelected: this.isSelected,\n select: this.select,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n expand: this.expand,\n })\n }\n\n if (this.$scopedSlots.item) {\n return props.items.map((item: any, index) => this.$scopedSlots.item!(this.createItemProps(\n item,\n index\n )))\n }\n\n return []\n },\n genFooter (props: DataScopeProps) {\n if (this.hideDefaultFooter) return null\n\n const data = {\n props: {\n ...this.sanitizedFooterProps,\n options: props.options,\n pagination: props.pagination,\n },\n on: {\n 'update:options': (value: any) => props.updateOptions(value),\n },\n }\n\n const scopedSlots = getPrefixedScopedSlots('footer.', this.$scopedSlots)\n\n return this.$createElement(VDataFooter, {\n scopedSlots,\n ...data,\n })\n },\n genDefaultScopedSlot (props: any) {\n const outerProps = {\n ...props,\n someItems: this.someItems,\n everyItem: this.everyItem,\n toggleSelectAll: this.toggleSelectAll,\n }\n\n return this.$createElement('div', {\n staticClass: 'v-data-iterator',\n }, [\n getSlot(this, 'header', outerProps, true),\n this.genItems(props),\n this.genFooter(props),\n getSlot(this, 'footer', outerProps, true),\n ])\n },\n },\n\n render (): VNode {\n return this.$createElement(VData, {\n props: this.$props,\n on: {\n 'update:options': (v: any, old: any) => !deepEqual(v, old) && this.$emit('update:options', v),\n 'update:page': (v: any) => this.$emit('update:page', v),\n 'update:items-per-page': (v: any) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: any) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: any) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: any) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: any) => this.$emit('update:group-desc', v),\n pagination: (v: any, old: any) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot,\n },\n })\n },\n})\n","import { VDataTable } from '../'\nimport VIcon from '../../VIcon'\nimport VSimpleCheckbox from '../../VCheckbox/VSimpleCheckbox'\nimport ripple from '../../../directives/ripple'\n\nimport Vue from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../../util/mixins'\nimport { DataOptions, DataTableHeader } from 'vuetify/types'\n\ntype VDataTableInstance = InstanceType<typeof VDataTable>\n\ninterface options extends Vue {\n dataTable: VDataTableInstance\n}\n\nexport default mixins<options>().extend({\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n default: () => ([]),\n } as PropValidator<DataTableHeader[]>,\n options: {\n type: Object,\n default: () => ({\n page: 1,\n itemsPerPage: 10,\n sortBy: [],\n sortDesc: [],\n groupBy: [],\n groupDesc: [],\n multiSort: false,\n mustSort: false,\n }),\n } as PropValidator<DataOptions>,\n checkboxColor: String,\n sortIcon: {\n type: String,\n default: '$sort',\n },\n everyItem: Boolean,\n someItems: Boolean,\n showGroupBy: Boolean,\n singleSelect: Boolean,\n disableSort: Boolean,\n },\n\n methods: {\n genSelectAll () {\n const data = {\n props: {\n value: this.everyItem,\n indeterminate: !this.everyItem && this.someItems,\n color: this.checkboxColor ?? '',\n },\n on: {\n input: (v: boolean) => this.$emit('toggle-select-all', v),\n },\n }\n\n if (this.$scopedSlots['data-table-select']) {\n return this.$scopedSlots['data-table-select']!(data)\n }\n\n return this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n ...data,\n })\n },\n genSortIcon () {\n return this.$createElement(VIcon, {\n staticClass: 'v-data-table-header__icon',\n props: {\n size: 18,\n },\n }, [this.sortIcon])\n },\n },\n})\n","import { VNode, VNodeChildrenArrayContents } from 'vue'\nimport mixins from '../../util/mixins'\nimport VSelect from '../VSelect/VSelect'\nimport VChip from '../VChip'\nimport header from './mixins/header'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default mixins(header).extend({\n name: 'v-data-table-header-mobile',\n\n props: {\n sortByText: {\n type: String,\n default: '$vuetify.dataTable.sortBy',\n },\n },\n\n methods: {\n genSortChip (props: any) {\n const children: VNodeChildrenArrayContents = [props.item.text]\n\n const sortIndex = this.options.sortBy.findIndex(k => k === props.item.value)\n const beingSorted = sortIndex >= 0\n const isDesc = this.options.sortDesc[sortIndex]\n\n children.push(this.$createElement('div', {\n staticClass: 'v-chip__close',\n class: {\n sortable: true,\n active: beingSorted,\n asc: beingSorted && !isDesc,\n desc: beingSorted && isDesc,\n },\n }, [this.genSortIcon()]))\n\n return this.$createElement(VChip, {\n staticClass: 'sortable',\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n this.$emit('sort', props.item.value)\n },\n },\n }, children)\n },\n genSortSelect (items: any[]) {\n return this.$createElement(VSelect, {\n props: {\n label: this.$vuetify.lang.t(this.sortByText),\n items,\n hideDetails: true,\n multiple: this.options.multiSort,\n value: this.options.multiSort ? this.options.sortBy : this.options.sortBy[0],\n menuProps: { closeOnContentClick: true },\n },\n on: {\n change: (v: string | string[]) => this.$emit('sort', v),\n },\n scopedSlots: {\n selection: props => this.genSortChip(props),\n },\n })\n },\n },\n\n render (h): VNode {\n const children: VNodeChildrenArrayContents = []\n\n const header = this.headers.find(h => h.value === 'data-table-select')\n if (header && !this.singleSelect) {\n children.push(this.$createElement('div', {\n class: [\n 'v-data-table-header-mobile__select',\n ...wrapInArray(header.class),\n ],\n attrs: {\n width: header.width,\n },\n }, [this.genSelectAll()]))\n }\n\n const sortHeaders = this.headers\n .filter(h => h.sortable !== false && h.value !== 'data-table-select')\n .map(h => ({\n text: h.text,\n value: h.value,\n }))\n\n if (!this.disableSort && sortHeaders.length) {\n children.push(this.genSortSelect(sortHeaders))\n }\n\n const th = children.length\n ? h('th', [h('div', { staticClass: 'v-data-table-header-mobile__wrapper' }, children)])\n : undefined\n\n const tr = h('tr', [th])\n\n return h('thead', {\n staticClass: 'v-data-table-header v-data-table-header-mobile',\n }, [tr])\n },\n})\n","// Helpers\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport header from './mixins/header'\nimport { wrapInArray, convertToUnit } from '../../util/helpers'\nimport { DataTableHeader } from 'vuetify/types'\n\nexport default mixins(header).extend({\n name: 'v-data-table-header-desktop',\n\n methods: {\n genGroupByToggle (header: DataTableHeader) {\n return this.$createElement('span', {\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n this.$emit('group', header.value)\n },\n },\n }, ['group'])\n },\n getAria (beingSorted: boolean, isDesc: boolean) {\n const $t = (key: string) => this.$vuetify.lang.t(`$vuetify.dataTable.ariaLabel.${key}`)\n\n let ariaSort = 'none'\n let ariaLabel = [\n $t('sortNone'),\n $t('activateAscending'),\n ]\n\n if (!beingSorted) {\n return { ariaSort, ariaLabel: ariaLabel.join(' ') }\n }\n\n if (isDesc) {\n ariaSort = 'descending'\n ariaLabel = [\n $t('sortDescending'),\n $t(this.options.mustSort ? 'activateAscending' : 'activateNone'),\n ]\n } else {\n ariaSort = 'ascending'\n ariaLabel = [\n $t('sortAscending'),\n $t('activateDescending'),\n ]\n }\n\n return { ariaSort, ariaLabel: ariaLabel.join(' ') }\n },\n genHeader (header: DataTableHeader) {\n const data: Required<Pick<VNodeData, 'attrs' | 'on' | 'class' | 'style'>> = {\n attrs: {\n role: 'columnheader',\n scope: 'col',\n 'aria-label': header.text || '',\n },\n style: {\n width: convertToUnit(header.width),\n minWidth: convertToUnit(header.width),\n },\n class: [\n `text-${header.align || 'start'}`,\n ...wrapInArray(header.class),\n header.divider && 'v-data-table__divider',\n ],\n on: {},\n }\n const children = []\n\n if (header.value === 'data-table-select' && !this.singleSelect) {\n return this.$createElement('th', data, [this.genSelectAll()])\n }\n\n children.push(\n this.$scopedSlots.hasOwnProperty(header.value)\n ? this.$scopedSlots[header.value]!({ header })\n : this.$createElement('span', [header.text])\n )\n\n if (!this.disableSort && (header.sortable || !header.hasOwnProperty('sortable'))) {\n data.on.click = () => this.$emit('sort', header.value)\n\n const sortIndex = this.options.sortBy.findIndex(k => k === header.value)\n const beingSorted = sortIndex >= 0\n const isDesc = this.options.sortDesc[sortIndex]\n\n data.class.push('sortable')\n\n const { ariaLabel, ariaSort } = this.getAria(beingSorted, isDesc)\n\n data.attrs['aria-label'] += `${header.text ? ': ' : ''}${ariaLabel}`\n data.attrs['aria-sort'] = ariaSort\n\n if (beingSorted) {\n data.class.push('active')\n data.class.push(isDesc ? 'desc' : 'asc')\n }\n\n if (header.align === 'end') children.unshift(this.genSortIcon())\n else children.push(this.genSortIcon())\n\n if (this.options.multiSort && beingSorted) {\n children.push(this.$createElement('span', { class: 'v-data-table-header__sort-badge' }, [String(sortIndex + 1)]))\n }\n }\n\n if (this.showGroupBy && header.groupable !== false) children.push(this.genGroupByToggle(header))\n\n return this.$createElement('th', data, children)\n },\n },\n\n render (): VNode {\n return this.$createElement('thead', {\n staticClass: 'v-data-table-header',\n }, [\n this.$createElement('tr', this.headers.map(header => this.genHeader(header))),\n ])\n },\n})\n","import { VNodeData } from 'vue'\n\n/**\n * Removes duplicate `@input` listeners when\n * using v-model with functional components\n *\n * @see https://github.com/vuetifyjs/vuetify/issues/4460\n */\nexport default function dedupeModelListeners (data: VNodeData): void {\n if (data.model && data.on && data.on.input) {\n if (Array.isArray(data.on.input)) {\n const i = data.on.input.indexOf(data.model.callback)\n if (i > -1) data.on.input.splice(i, 1)\n } else {\n delete data.on.input\n }\n }\n}\n","import { CreateElement, VNode } from 'vue'\n\nexport default function rebuildFunctionalSlots (slots: { [key: string]: VNode[] | undefined }, h: CreateElement) {\n const children: VNode[] = []\n\n for (const slot in slots) {\n if (slots.hasOwnProperty(slot)) {\n children.push(h('template', { slot }, slots[slot]))\n }\n }\n\n return children\n}\n","// Styles\nimport './VDataTableHeader.sass'\n\n// Components\nimport VDataTableHeaderMobile from './VDataTableHeaderMobile'\nimport VDataTableHeaderDesktop from './VDataTableHeaderDesktop'\n\n// Mixins\nimport header from './mixins/header'\n\n// Utilities\nimport dedupeModelListeners from '../../util/dedupeModelListeners'\nimport mergeData from '../../util/mergeData'\nimport rebuildSlots from '../../util/rebuildFunctionalSlots'\n\n// Types\nimport Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-data-table-header',\n\n functional: true,\n\n props: {\n ...header.options.props,\n mobile: Boolean,\n },\n\n render (h, { props, data, slots }) {\n dedupeModelListeners(data)\n const children = rebuildSlots(slots(), h)\n\n data = mergeData(data, { props })\n\n if (props.mobile) {\n return h(VDataTableHeaderMobile, data, children)\n } else {\n return h(VDataTableHeaderDesktop, data, children)\n }\n },\n})\n","// Types\nimport Vue, { VNode, PropType } from 'vue'\nimport { DataTableHeader } from 'vuetify/types'\n\n// Utils\nimport { getObjectValueByPath, wrapInArray } from '../../util/helpers'\n\nfunction needsTd (slot: VNode[] | undefined) {\n return slot!.length !== 1 ||\n !['td', 'th'].includes(slot![0]?.tag!)\n}\n\nexport default Vue.extend({\n name: 'row',\n\n functional: true,\n\n props: {\n headers: Array as PropType<DataTableHeader[]>,\n index: Number,\n item: Object,\n rtl: Boolean,\n },\n\n render (h, { props, slots, data }): VNode {\n const computedSlots = slots()\n\n const columns = props.headers.map((header: DataTableHeader) => {\n const children = []\n const value = getObjectValueByPath(props.item, header.value)\n\n const slotName = header.value\n const scopedSlot = data.scopedSlots && data.scopedSlots.hasOwnProperty(slotName) && data.scopedSlots[slotName]\n const regularSlot = computedSlots.hasOwnProperty(slotName) && computedSlots[slotName]\n\n if (scopedSlot) {\n children.push(...wrapInArray(scopedSlot({\n item: props.item,\n isMobile: false,\n header,\n index: props.index,\n value,\n })))\n } else if (regularSlot) {\n children.push(...wrapInArray(regularSlot))\n } else {\n children.push(value == null ? value : String(value))\n }\n\n const textAlign = `text-${header.align || 'start'}`\n\n return needsTd(children)\n ? h('td', {\n class: [\n textAlign,\n header.cellClass,\n {\n 'v-data-table__divider': header.divider,\n },\n ],\n }, children)\n : children\n })\n\n return h('tr', data, columns)\n },\n})\n","import Vue, { VNode } from 'vue'\n\nexport default Vue.extend({\n name: 'row-group',\n\n functional: true,\n\n props: {\n value: {\n type: Boolean,\n default: true,\n },\n headerClass: {\n type: String,\n default: 'v-row-group__header',\n },\n contentClass: String,\n summaryClass: {\n type: String,\n default: 'v-row-group__summary',\n },\n },\n\n render (h, { slots, props }): VNode {\n const computedSlots = slots()\n const children = []\n\n if (computedSlots['column.header']) {\n children.push(h('tr', {\n staticClass: props.headerClass,\n }, computedSlots['column.header']))\n } else if (computedSlots['row.header']) {\n children.push(...computedSlots['row.header'])\n }\n\n if (computedSlots['row.content'] && props.value) children.push(...computedSlots['row.content'])\n\n if (computedSlots['column.summary']) {\n children.push(h('tr', {\n staticClass: props.summaryClass,\n }, computedSlots['column.summary']))\n } else if (computedSlots['row.summary']) {\n children.push(...computedSlots['row.summary'])\n }\n\n return children as any\n },\n})\n","import Vue, { VNode, PropType } from 'vue'\nimport { getObjectValueByPath } from '../../util/helpers'\nimport { DataTableHeader } from 'vuetify/types'\n\nexport default Vue.extend({\n name: 'row',\n\n functional: true,\n\n props: {\n headers: Array as PropType<DataTableHeader[]>,\n hideDefaultHeader: Boolean,\n index: Number,\n item: Object,\n rtl: Boolean,\n },\n\n render (h, { props, slots, data }): VNode {\n const computedSlots = slots()\n\n const columns: VNode[] = props.headers.map((header: DataTableHeader) => {\n const classes = {\n 'v-data-table__mobile-row': true,\n }\n\n const children = []\n const value = getObjectValueByPath(props.item, header.value)\n\n const slotName = header.value\n const scopedSlot = data.scopedSlots && data.scopedSlots.hasOwnProperty(slotName) && data.scopedSlots[slotName]\n const regularSlot = computedSlots.hasOwnProperty(slotName) && computedSlots[slotName]\n\n if (scopedSlot) {\n children.push(scopedSlot({\n item: props.item,\n isMobile: true,\n header,\n index: props.index,\n value,\n }))\n } else if (regularSlot) {\n children.push(regularSlot)\n } else {\n children.push(value == null ? value : String(value))\n }\n\n const mobileRowChildren = [\n h('div', {\n staticClass: 'v-data-table__mobile-row__cell',\n }, children),\n ]\n\n if (header.value !== 'dataTableSelect' && !props.hideDefaultHeader) {\n mobileRowChildren.unshift(\n h('div', {\n staticClass: 'v-data-table__mobile-row__header',\n }, [header.text])\n )\n }\n\n return h('td', { class: classes }, mobileRowChildren)\n })\n\n return h('tr', { ...data, staticClass: 'v-data-table__mobile-table-row' }, columns)\n },\n})\n","import Vue from 'vue'\n\nexport type MouseHandler = (e: MouseEvent | TouchEvent) => any\n\nexport type MouseEvents = {\n [event: string]: {\n event: string\n passive?: boolean\n capture?: boolean\n once?: boolean\n stop?: boolean\n prevent?: boolean\n button?: number\n result?: any\n }\n}\n\nexport type MouseEventsMap = {\n [event: string]: MouseHandler | MouseHandler[]\n}\n\nexport default Vue.extend({\n name: 'mouse',\n\n methods: {\n getDefaultMouseEventHandlers (suffix: string, getData: MouseHandler, eventFirst = false): MouseEventsMap {\n const listeners = Object.keys(this.$listeners)\n .filter(key => key.endsWith(suffix))\n .reduce((acc, key) => {\n acc[key] = { event: key.slice(0, -suffix.length) }\n return acc\n }, {} as MouseEvents)\n\n return this.getMouseEventHandlers({\n ...listeners,\n ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },\n }, getData, eventFirst)\n },\n getMouseEventHandlers (events: MouseEvents, getData: MouseHandler, eventFirst = false): MouseEventsMap {\n const on: MouseEventsMap = {}\n\n for (const event in events) {\n const eventOptions = events[event]\n\n if (!this.$listeners[event]) continue\n\n // TODO somehow pull in modifiers\n\n const prefix = eventOptions.passive ? '&' : ((eventOptions.once ? '~' : '') + (eventOptions.capture ? '!' : ''))\n const key = prefix + eventOptions.event\n\n const handler: MouseHandler = e => {\n const mouseEvent: MouseEvent = e as MouseEvent\n if (eventOptions.button === undefined || (mouseEvent.buttons > 0 && mouseEvent.button === eventOptions.button)) {\n if (eventOptions.prevent) {\n e.preventDefault()\n }\n if (eventOptions.stop) {\n e.stopPropagation()\n }\n\n // Due to TouchEvent target always returns the element that is first placed\n // Even if touch point has since moved outside the interactive area of that element\n // Ref: https://developer.mozilla.org/en-US/docs/Web/API/Touch/target\n // This block of code aims to make sure touchEvent is always dispatched from the element that is being pointed at\n if (e && 'touches' in e) {\n const classSeparator = ' '\n\n const eventTargetClasses = (e.currentTarget as HTMLElement)?.className.split(classSeparator)\n const currentTargets = document.elementsFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY)\n\n // Get \"the same kind\" current hovering target by checking\n // If element has the same class of initial touch start element (which has touch event listener registered)\n const currentTarget = currentTargets.find(t => t.className.split(classSeparator).some(c => eventTargetClasses.includes(c)))\n\n if (currentTarget &&\n !(e.target as HTMLElement)?.isSameNode(currentTarget)\n ) {\n currentTarget.dispatchEvent(new TouchEvent(e.type, {\n changedTouches: e.changedTouches as unknown as Touch[],\n targetTouches: e.targetTouches as unknown as Touch[],\n touches: e.touches as unknown as Touch[],\n }))\n return\n }\n }\n\n // TODO: VCalendar emits the calendar event as the first argument,\n // but it really should be the native event instead so modifiers can be used\n if (eventFirst) {\n this.$emit(event, e, getData(e))\n } else {\n this.$emit(event, getData(e), e)\n }\n }\n\n return eventOptions.result\n }\n\n if (key in on) {\n /* istanbul ignore next */\n if (Array.isArray(on[key])) {\n (on[key] as MouseHandler[]).push(handler)\n } else {\n on[key] = [on[key], handler] as MouseHandler[]\n }\n } else {\n on[key] = handler\n }\n }\n\n return on\n },\n },\n})\n","import './VDataTable.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport {\n DataTableHeader,\n DataTableFilterFunction,\n DataScopeProps,\n DataOptions,\n DataPagination,\n DataTableCompareFunction,\n DataItemsPerPageOption,\n ItemGroup,\n RowClassFunction,\n RowStyleFunction,\n DataTableItemProps,\n DataTableFilterMode,\n} from 'vuetify/types'\n\n// Components\nimport { VData } from '../VData'\nimport { VDataFooter, VDataIterator } from '../VDataIterator'\nimport VBtn from '../VBtn'\nimport VDataTableHeader from './VDataTableHeader'\n// import VVirtualTable from './VVirtualTable'\nimport VIcon from '../VIcon'\nimport Row from './Row'\nimport RowGroup from './RowGroup'\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VSimpleTable from './VSimpleTable'\nimport MobileRow from './MobileRow'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\nimport Mouse from '../../mixins/mouse'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, defaultFilter, camelizeObjectKeys, getPropertyFromItem } from '../../util/helpers'\nimport { breaking } from '../../util/console'\nimport { mergeClasses, mergeStyles } from '../../util/mergeData'\n\nfunction filterFn (item: any, search: string | null, filter: DataTableFilterFunction) {\n return (header: DataTableHeader) => {\n const value = getObjectValueByPath(item, header.value)\n return header.filter ? header.filter(value, search, item) : filter(value, search, item)\n }\n}\n\nfunction searchTableItems (\n items: any[],\n search: string | null,\n headersWithCustomFilters: DataTableHeader[],\n headersWithoutCustomFilters: DataTableHeader[],\n customFilter: DataTableFilterFunction,\n filterMode: DataTableFilterMode,\n) {\n search = typeof search === 'string' ? search.trim() : null\n\n if (filterMode === 'union') {\n // If the `search` property is empty and there are no custom filters in use, there is nothing to do.\n if (!(search && headersWithoutCustomFilters.length) && !headersWithCustomFilters.length) return items\n\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n if (headersWithCustomFilters.length && headersWithCustomFilters.every(filterFn(item, search, defaultFilter))) {\n return true\n }\n\n // Otherwise, the `search` property is used to filter columns without a custom filter.\n return (search && headersWithoutCustomFilters.some(filterFn(item, search, customFilter)))\n })\n } else if (filterMode === 'intersection') {\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n // We need to match every filter to be included in the results.\n const matchesColumnFilters = headersWithCustomFilters.every(filterFn(item, search, defaultFilter))\n\n // Headers without custom filters are only filtered by the `search` property if it is defined.\n // We only need a single column to match the search term to be included in the results.\n const matchesSearchTerm = !search || headersWithoutCustomFilters.some(filterFn(item, search, customFilter))\n\n return matchesColumnFilters && matchesSearchTerm\n })\n } else {\n return items\n }\n}\n\n/* @vue/component */\nexport default mixins(\n VDataIterator,\n Loadable,\n Mouse,\n).extend({\n name: 'v-data-table',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n default: () => [],\n } as PropValidator<DataTableHeader[]>,\n showSelect: Boolean,\n checkboxColor: String,\n showExpand: Boolean,\n showGroupBy: Boolean,\n // TODO: Fix\n // virtualRows: Boolean,\n height: [Number, String],\n hideDefaultHeader: Boolean,\n caption: String,\n dense: Boolean,\n headerProps: Object,\n calculateWidths: Boolean,\n fixedHeader: Boolean,\n headersLength: Number,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n customFilter: {\n type: Function,\n default: defaultFilter,\n } as PropValidator<typeof defaultFilter>,\n filterMode: {\n type: String,\n default: 'intersection',\n } as PropValidator<DataTableFilterMode>,\n itemClass: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowClassFunction | string>,\n itemStyle: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowStyleFunction | string>,\n loaderHeight: {\n type: [Number, String],\n default: 4,\n },\n },\n\n data () {\n return {\n internalGroupBy: [] as string[],\n openCache: {} as { [key: string]: boolean },\n widths: [] as number[],\n }\n },\n\n computed: {\n computedHeaders (): DataTableHeader[] {\n if (!this.headers) return []\n const headers = this.headers.filter(h => h.value === undefined || !this.internalGroupBy.find(v => v === h.value))\n const defaultHeader = { text: '', sortable: false, width: '1px' }\n\n if (this.showSelect) {\n const index = headers.findIndex(h => h.value === 'data-table-select')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-select' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n if (this.showExpand) {\n const index = headers.findIndex(h => h.value === 'data-table-expand')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-expand' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n return headers\n },\n colspanAttrs (): object | undefined {\n return this.isMobile ? undefined : {\n colspan: this.headersLength || this.computedHeaders.length,\n }\n },\n columnSorters (): Record<string, DataTableCompareFunction> {\n return this.computedHeaders.reduce<Record<string, DataTableCompareFunction>>((acc, header) => {\n if (header.sort) acc[header.value] = header.sort\n return acc\n }, {})\n },\n headersWithCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n headersWithoutCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => !header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n sanitizedHeaderProps (): Record<string, any> {\n return camelizeObjectKeys(this.headerProps)\n },\n computedItemsPerPage (): number {\n const itemsPerPage = this.options && this.options.itemsPerPage ? this.options.itemsPerPage : this.itemsPerPage\n const itemsPerPageOptions: DataItemsPerPageOption[] | undefined = this.sanitizedFooterProps.itemsPerPageOptions\n\n if (\n itemsPerPageOptions &&\n !itemsPerPageOptions.find(item => typeof item === 'number' ? item === itemsPerPage : item.value === itemsPerPage)\n ) {\n const firstOption = itemsPerPageOptions[0]\n return typeof firstOption === 'object' ? firstOption.value : firstOption\n }\n\n return itemsPerPage\n },\n groupByText (): string {\n return this.headers?.find(header => header.value === this.internalGroupBy?.[0])?.text ?? ''\n },\n },\n\n created () {\n const breakingProps = [\n ['sort-icon', 'header-props.sort-icon'],\n ['hide-headers', 'hide-default-header'],\n ['select-all', 'show-select'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n mounted () {\n // if ((!this.sortBy || !this.sortBy.length) && (!this.options.sortBy || !this.options.sortBy.length)) {\n // const firstSortable = this.headers.find(h => !('sortable' in h) || !!h.sortable)\n // if (firstSortable) this.updateOptions({ sortBy: [firstSortable.value], sortDesc: [false] })\n // }\n\n if (this.calculateWidths) {\n window.addEventListener('resize', this.calcWidths)\n this.calcWidths()\n }\n },\n\n beforeDestroy () {\n if (this.calculateWidths) {\n window.removeEventListener('resize', this.calcWidths)\n }\n },\n\n methods: {\n calcWidths () {\n this.widths = Array.from(this.$el.querySelectorAll('th')).map(e => e.clientWidth)\n },\n customFilterWithColumns (items: any[], search: string) {\n return searchTableItems(\n items,\n search,\n this.headersWithCustomFilters,\n this.headersWithoutCustomFilters,\n this.customFilter,\n this.filterMode\n )\n },\n customSortWithHeaders (items: any[], sortBy: string[], sortDesc: boolean[], locale: string) {\n return this.customSort(items, sortBy, sortDesc, locale, this.columnSorters)\n },\n createItemProps (item: any, index: number): DataTableItemProps {\n const data = {\n ...VDataIterator.options.methods.createItemProps.call(this, item, index),\n headers: this.computedHeaders,\n }\n\n return {\n ...data,\n attrs: {\n class: {\n 'v-data-table__selected': data.isSelected,\n },\n },\n on: {\n ...this.getDefaultMouseEventHandlers(':row', () => data, true),\n // TODO: the first argument should be the event, and the second argument should be data,\n // but this is a breaking change so it's for v3\n click: (event: MouseEvent) => this.$emit('click:row', item, data, event),\n },\n }\n },\n genCaption (props: DataScopeProps) {\n if (this.caption) return [this.$createElement('caption', [this.caption])]\n\n return getSlot(this, 'caption', props, true)\n },\n genColgroup (props: DataScopeProps) {\n return this.$createElement('colgroup', this.computedHeaders.map(header => {\n return this.$createElement('col', {\n class: {\n divider: header.divider,\n },\n })\n }))\n },\n genLoading () {\n const th = this.$createElement('th', {\n staticClass: 'column',\n attrs: this.colspanAttrs,\n }, [this.genProgress()])\n\n const tr = this.$createElement('tr', {\n staticClass: 'v-data-table__progress',\n }, [th])\n\n return this.$createElement('thead', [tr])\n },\n genHeaders (props: DataScopeProps) {\n const data = {\n props: {\n ...this.sanitizedHeaderProps,\n headers: this.computedHeaders,\n options: props.options,\n mobile: this.isMobile,\n showGroupBy: this.showGroupBy,\n checkboxColor: this.checkboxColor,\n someItems: this.someItems,\n everyItem: this.everyItem,\n singleSelect: this.singleSelect,\n disableSort: this.disableSort,\n },\n on: {\n sort: props.sort,\n group: props.group,\n 'toggle-select-all': this.toggleSelectAll,\n },\n }\n\n // TODO: rename to 'head'? (thead, tbody, tfoot)\n const children: VNodeChildrenArrayContents = [getSlot(this, 'header', {\n ...data,\n isMobile: this.isMobile,\n })]\n\n if (!this.hideDefaultHeader) {\n const scopedSlots = getPrefixedScopedSlots('header.', this.$scopedSlots)\n children.push(this.$createElement(VDataTableHeader, {\n ...data,\n scopedSlots,\n }))\n }\n\n if (this.loading) children.push(this.genLoading())\n\n return children\n },\n genEmptyWrapper (content: VNodeChildrenArrayContents) {\n return this.$createElement('tr', {\n staticClass: 'v-data-table__empty-wrapper',\n }, [\n this.$createElement('td', {\n attrs: this.colspanAttrs,\n }, content),\n ])\n },\n genItems (items: any[], props: DataScopeProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n return props.groupedItems\n ? this.genGroupedRows(props.groupedItems, props)\n : this.genRows(items, props)\n },\n genGroupedRows (groupedItems: ItemGroup<any>[], props: DataScopeProps) {\n return groupedItems.map(group => {\n if (!this.openCache.hasOwnProperty(group.name)) this.$set(this.openCache, group.name, true)\n\n if (this.$scopedSlots.group) {\n return this.$scopedSlots.group({\n group: group.name,\n options: props.options,\n isMobile: this.isMobile,\n items: group.items,\n headers: this.computedHeaders,\n })\n } else {\n return this.genDefaultGroupedRow(group.name, group.items, props)\n }\n })\n },\n genDefaultGroupedRow (group: string, items: any[], props: DataScopeProps) {\n const isOpen = !!this.openCache[group]\n const children: VNodeChildren = [\n this.$createElement('template', { slot: 'row.content' }, this.genRows(items, props)),\n ]\n const toggleFn = () => this.$set(this.openCache, group, !this.openCache[group])\n const removeFn = () => props.updateOptions({ groupBy: [], groupDesc: [] })\n\n if (this.$scopedSlots['group.header']) {\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [\n this.$scopedSlots['group.header']!({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n remove: removeFn,\n }),\n ]))\n } else {\n const toggle = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: toggleFn,\n },\n }, [this.$createElement(VIcon, [isOpen ? '$minus' : '$plus'])])\n\n const remove = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: removeFn,\n },\n }, [this.$createElement(VIcon, ['$close'])])\n\n const column = this.$createElement('td', {\n staticClass: 'text-start',\n attrs: this.colspanAttrs,\n }, [toggle, `${this.groupByText}: ${group}`, remove])\n\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [column]))\n }\n\n if (this.$scopedSlots['group.summary']) {\n children.push(this.$createElement('template', { slot: 'column.summary' }, [\n this.$scopedSlots['group.summary']!({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n }),\n ]))\n }\n\n return this.$createElement(RowGroup, {\n key: group,\n props: {\n value: isOpen,\n },\n }, children)\n },\n genRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots.item ? this.genScopedRows(items, props) : this.genDefaultRows(items, props)\n },\n genScopedRows (items: any[], props: DataScopeProps) {\n const rows = []\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n rows.push(this.$scopedSlots.item!({\n ...this.createItemProps(item, i),\n isMobile: this.isMobile,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$scopedSlots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n index: i,\n item,\n }))\n }\n }\n\n return rows\n },\n genDefaultRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots['expanded-item']\n ? items.map((item, index) => this.genDefaultExpandedRow(item, index))\n : items.map((item, index) => this.genDefaultSimpleRow(item, index))\n },\n genDefaultExpandedRow (item: any, index: number): VNode {\n const isExpanded = this.isExpanded(item)\n const classes = {\n 'v-data-table__expanded v-data-table__expanded__row': isExpanded,\n }\n const headerRow = this.genDefaultSimpleRow(item, index, classes)\n const expandedRow = this.$createElement('tr', {\n staticClass: 'v-data-table__expanded v-data-table__expanded__content',\n }, [this.$scopedSlots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n item,\n })])\n\n return this.$createElement(RowGroup, {\n props: {\n value: isExpanded,\n },\n }, [\n this.$createElement('template', { slot: 'row.header' }, [headerRow]),\n this.$createElement('template', { slot: 'row.content' }, [expandedRow]),\n ])\n },\n genDefaultSimpleRow (item: any, index: number, classes: Record<string, boolean> = {}): VNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$scopedSlots)\n\n const data = this.createItemProps(item, index)\n\n if (this.showSelect) {\n const slot = scopedSlots['data-table-select']\n scopedSlots['data-table-select'] = slot ? () => slot({\n ...data,\n isMobile: this.isMobile,\n }) : () => this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n props: {\n value: data.isSelected,\n disabled: !this.isSelectable(item),\n color: this.checkboxColor ?? '',\n },\n on: {\n input: (val: boolean) => data.select(val),\n },\n })\n }\n\n if (this.showExpand) {\n const slot = scopedSlots['data-table-expand']\n scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => this.$createElement(VIcon, {\n staticClass: 'v-data-table__expand-icon',\n class: {\n 'v-data-table__expand-icon--active': data.isExpanded,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n data.expand(!data.isExpanded)\n },\n },\n }, [this.expandIcon])\n }\n\n return this.$createElement(this.isMobile ? MobileRow : Row, {\n key: getObjectValueByPath(item, this.itemKey),\n class: mergeClasses(\n { ...classes, 'v-data-table__selected': data.isSelected },\n getPropertyFromItem(item, this.itemClass)\n ),\n style: mergeStyles({}, getPropertyFromItem(item, this.itemStyle)),\n props: {\n headers: this.computedHeaders,\n hideDefaultHeader: this.hideDefaultHeader,\n index,\n item,\n rtl: this.$vuetify.rtl,\n },\n scopedSlots,\n on: data.on,\n })\n },\n genBody (props: DataScopeProps): VNode | string | VNodeChildren {\n const data = {\n ...props,\n expand: this.expand,\n headers: this.computedHeaders,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n isSelected: this.isSelected,\n select: this.select,\n }\n\n if (this.$scopedSlots.body) {\n return this.$scopedSlots.body!(data)\n }\n\n return this.$createElement('tbody', [\n getSlot(this, 'body.prepend', data, true),\n this.genItems(props.items, props),\n getSlot(this, 'body.append', data, true),\n ])\n },\n genFoot (props: DataScopeProps): VNode[] | undefined {\n return this.$scopedSlots.foot?.(props)\n },\n genFooters (props: DataScopeProps) {\n const data = {\n props: {\n options: props.options,\n pagination: props.pagination,\n itemsPerPageText: '$vuetify.dataTable.itemsPerPageText',\n ...this.sanitizedFooterProps,\n },\n on: {\n 'update:options': (value: any) => props.updateOptions(value),\n },\n widths: this.widths,\n headers: this.computedHeaders,\n }\n\n const children: VNodeChildren = [\n getSlot(this, 'footer', data, true),\n ]\n\n if (!this.hideDefaultFooter) {\n children.push(this.$createElement(VDataFooter, {\n ...data,\n scopedSlots: getPrefixedScopedSlots('footer.', this.$scopedSlots),\n }))\n }\n\n return children\n },\n genDefaultScopedSlot (props: DataScopeProps): VNode {\n const simpleProps = {\n height: this.height,\n fixedHeader: this.fixedHeader,\n dense: this.dense,\n }\n\n // if (this.virtualRows) {\n // return this.$createElement(VVirtualTable, {\n // props: Object.assign(simpleProps, {\n // items: props.items,\n // height: this.height,\n // rowHeight: this.dense ? 24 : 48,\n // headerHeight: this.dense ? 32 : 48,\n // // TODO: expose rest of props from virtual table?\n // }),\n // scopedSlots: {\n // items: ({ items }) => this.genItems(items, props) as any,\n // },\n // }, [\n // this.proxySlot('body.before', [this.genCaption(props), this.genHeaders(props)]),\n // this.proxySlot('bottom', this.genFooters(props)),\n // ])\n // }\n\n return this.$createElement(VSimpleTable, {\n props: simpleProps,\n class: {\n 'v-data-table--mobile': this.isMobile,\n 'v-data-table--selectable': this.showSelect,\n },\n }, [\n this.proxySlot('top', getSlot(this, 'top', {\n ...props,\n isMobile: this.isMobile,\n }, true)),\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(props),\n this.genFoot(props),\n this.proxySlot('bottom', this.genFooters(props)),\n ])\n },\n proxySlot (slot: string, content: VNodeChildren) {\n return this.$createElement('template', { slot }, content)\n },\n },\n\n render (): VNode {\n return this.$createElement(VData, {\n props: {\n ...this.$props,\n customFilter: this.customFilterWithColumns,\n customSort: this.customSortWithHeaders,\n itemsPerPage: this.computedItemsPerPage,\n },\n on: {\n 'update:options': (v: DataOptions, old: DataOptions) => {\n this.internalGroupBy = v.groupBy || []\n !deepEqual(v, old) && this.$emit('update:options', v)\n },\n 'update:page': (v: number) => this.$emit('update:page', v),\n 'update:items-per-page': (v: number) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: string | string[]) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: boolean | boolean[]) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: string | string[]) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: boolean | boolean[]) => this.$emit('update:group-desc', v),\n pagination: (v: DataPagination, old: DataPagination) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot,\n },\n })\n },\n})\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bn = moment.defineLocale('bn', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bn;\n\n})));\n","/**\r\n * DevExtreme (esm/events/core/keyboard_processor.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nvar COMPOSITION_START_EVENT = \"compositionstart\";\r\nvar COMPOSITION_END_EVENT = \"compositionend\";\r\nvar KEYDOWN_EVENT = \"keydown\";\r\nvar NAMESPACE = \"KeyboardProcessor\";\r\nvar createKeyDownOptions = e => ({\r\n keyName: normalizeKeyName(e),\r\n key: e.key,\r\n code: e.code,\r\n ctrl: e.ctrlKey,\r\n location: e.location,\r\n metaKey: e.metaKey,\r\n shift: e.shiftKey,\r\n alt: e.altKey,\r\n which: e.which,\r\n originalEvent: e\r\n});\r\nvar KeyboardProcessor = Class.inherit({\r\n _keydown: addNamespace(KEYDOWN_EVENT, NAMESPACE),\r\n _compositionStart: addNamespace(COMPOSITION_START_EVENT, NAMESPACE),\r\n _compositionEnd: addNamespace(COMPOSITION_END_EVENT, NAMESPACE),\r\n ctor: function(options) {\r\n options = options || {};\r\n if (options.element) {\r\n this._element = $(options.element)\r\n }\r\n if (options.focusTarget) {\r\n this._focusTarget = options.focusTarget\r\n }\r\n this._handler = options.handler;\r\n if (this._element) {\r\n this._processFunction = e => {\r\n var focusTargets = $(this._focusTarget).toArray();\r\n var isNotFocusTarget = this._focusTarget && this._focusTarget !== e.target && !focusTargets.includes(e.target);\r\n var shouldSkipProcessing = this._isComposingJustFinished && 229 === e.which || this._isComposing || isNotFocusTarget;\r\n this._isComposingJustFinished = false;\r\n if (!shouldSkipProcessing) {\r\n this.process(e)\r\n }\r\n };\r\n this._toggleProcessingWithContext = this.toggleProcessing.bind(this);\r\n eventsEngine.on(this._element, this._keydown, this._processFunction);\r\n eventsEngine.on(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n eventsEngine.on(this._element, this._compositionEnd, this._toggleProcessingWithContext)\r\n }\r\n },\r\n dispose: function() {\r\n if (this._element) {\r\n eventsEngine.off(this._element, this._keydown, this._processFunction);\r\n eventsEngine.off(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n eventsEngine.off(this._element, this._compositionEnd, this._toggleProcessingWithContext)\r\n }\r\n this._element = void 0;\r\n this._handler = void 0\r\n },\r\n process: function(e) {\r\n this._handler(createKeyDownOptions(e))\r\n },\r\n toggleProcessing: function(_ref) {\r\n var {\r\n type: type\r\n } = _ref;\r\n this._isComposing = type === COMPOSITION_START_EVENT;\r\n this._isComposingJustFinished = !this._isComposing\r\n }\r\n});\r\nKeyboardProcessor.createKeyDownOptions = createKeyDownOptions;\r\nexport default KeyboardProcessor;\r\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ntype ObserveHandler = (\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n isIntersecting: boolean,\n) => void\n\ninterface ObserveVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers?: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ObserveVNodeDirective, vnode: VNode) {\n if (typeof window === 'undefined' || !('IntersectionObserver' in window)) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n const _observe = el._observe?.[vnode.context!._uid]\n if (!_observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n _observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n _observe.init\n )\n ) {\n handler(entries, observer, isIntersecting)\n }\n\n if (isIntersecting && modifiers.once) unbind(el, binding, vnode)\n else _observe.init = true\n }, options)\n\n el._observe = Object(el._observe)\n el._observe![vnode.context!._uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unbind (el: HTMLElement, binding: ObserveVNodeDirective, vnode: VNode) {\n const observe = el._observe?.[vnode.context!._uid]\n if (!observe) return\n\n observe.observer.unobserve(el)\n delete el._observe![vnode.context!._uid]\n}\n\nexport const Intersect = {\n inserted,\n unbind,\n}\n\nexport default Intersect\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.light.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar WHITE = \"#ffffff\";\r\nvar BLACK = \"#000000\";\r\nvar LIGHT_GREY = \"#d3d3d3\";\r\nvar GREY_GREEN = \"#303030\";\r\nvar SOME_GREY = \"#2b2b2b\";\r\nvar RED = \"#ff0000\";\r\nvar PRIMARY_TITLE_COLOR = \"#232323\";\r\nvar SECONDARY_TITLE_COLOR = \"#767676\";\r\nvar NONE = \"none\";\r\nvar SOLID = \"solid\";\r\nvar TOP = \"top\";\r\nvar RIGHT = \"right\";\r\nvar BOTTOM = \"bottom\";\r\nvar LEFT = \"left\";\r\nvar CENTER = \"center\";\r\nvar INSIDE = \"inside\";\r\nvar OUTSIDE = \"outside\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.light\",\r\n isDefault: true,\r\n font: {\r\n color: SECONDARY_TITLE_COLOR,\r\n family: \"'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana, sans-serif\",\r\n weight: 400,\r\n size: 12,\r\n cursor: \"default\"\r\n },\r\n redrawOnResize: true,\r\n backgroundColor: WHITE,\r\n primaryTitleColor: PRIMARY_TITLE_COLOR,\r\n secondaryTitleColor: SECONDARY_TITLE_COLOR,\r\n gridColor: LIGHT_GREY,\r\n axisColor: SECONDARY_TITLE_COLOR,\r\n title: {\r\n backgroundColor: WHITE,\r\n font: {\r\n size: 28,\r\n family: \"'Segoe UI Light', 'Helvetica Neue Light', 'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana, sans-serif\",\r\n weight: 200\r\n },\r\n subtitle: {\r\n font: {\r\n size: 16\r\n },\r\n offset: 0,\r\n wordWrap: \"normal\",\r\n textOverflow: \"ellipsis\"\r\n },\r\n wordWrap: \"normal\",\r\n textOverflow: \"ellipsis\"\r\n },\r\n loadingIndicator: {\r\n text: \"Loading...\"\r\n },\r\n export: {\r\n backgroundColor: WHITE,\r\n margin: 10,\r\n font: {\r\n size: 14,\r\n color: PRIMARY_TITLE_COLOR,\r\n weight: 400\r\n },\r\n button: {\r\n margin: {\r\n top: 8,\r\n left: 10,\r\n right: 10,\r\n bottom: 8\r\n },\r\n default: {\r\n color: \"#333\",\r\n borderColor: \"#ddd\",\r\n backgroundColor: WHITE\r\n },\r\n hover: {\r\n color: \"#333\",\r\n borderColor: \"#bebebe\",\r\n backgroundColor: \"#e6e6e6\"\r\n },\r\n focus: {\r\n color: BLACK,\r\n borderColor: \"#9d9d9d\",\r\n backgroundColor: \"#e6e6e6\"\r\n },\r\n active: {\r\n color: \"#333\",\r\n borderColor: \"#9d9d9d\",\r\n backgroundColor: \"#d4d4d4\"\r\n }\r\n },\r\n shadowColor: LIGHT_GREY\r\n },\r\n tooltip: {\r\n enabled: false,\r\n border: {\r\n width: 1,\r\n color: LIGHT_GREY,\r\n dashStyle: SOLID,\r\n visible: true\r\n },\r\n font: {\r\n color: PRIMARY_TITLE_COLOR\r\n },\r\n color: WHITE,\r\n arrowLength: 10,\r\n paddingLeftRight: 18,\r\n paddingTopBottom: 15,\r\n textAlignment: \"center\",\r\n shared: false,\r\n location: CENTER,\r\n shadow: {\r\n opacity: .4,\r\n offsetX: 0,\r\n offsetY: 4,\r\n blur: 2,\r\n color: BLACK\r\n },\r\n interactive: false\r\n },\r\n legend: {\r\n hoverMode: \"includePoints\",\r\n verticalAlignment: TOP,\r\n horizontalAlignment: RIGHT,\r\n position: OUTSIDE,\r\n visible: true,\r\n margin: 10,\r\n markerSize: 12,\r\n border: {\r\n visible: false,\r\n width: 1,\r\n cornerRadius: 0,\r\n dashStyle: SOLID\r\n },\r\n paddingLeftRight: 20,\r\n paddingTopBottom: 15,\r\n columnCount: 0,\r\n rowCount: 0,\r\n columnItemSpacing: 20,\r\n rowItemSpacing: 8,\r\n title: {\r\n backgroundColor: WHITE,\r\n margin: {\r\n left: 0,\r\n bottom: 9,\r\n right: 0,\r\n top: 0\r\n },\r\n font: {\r\n size: 18,\r\n weight: 200\r\n },\r\n subtitle: {\r\n offset: 0,\r\n font: {\r\n size: 14\r\n },\r\n wordWrap: \"none\",\r\n textOverflow: \"ellipsis\"\r\n },\r\n wordWrap: \"none\",\r\n textOverflow: \"ellipsis\"\r\n }\r\n },\r\n \"chart:common\": {\r\n animation: {\r\n enabled: true,\r\n duration: 1e3,\r\n easing: \"easeOutCubic\",\r\n maxPointCountSupported: 300\r\n },\r\n commonSeriesSettings: {\r\n border: {\r\n visible: false,\r\n width: 2\r\n },\r\n showInLegend: true,\r\n visible: true,\r\n hoverMode: \"nearestPoint\",\r\n selectionMode: \"includePoints\",\r\n hoverStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 2,\r\n step: 6,\r\n opacity: .75\r\n },\r\n highlight: true,\r\n border: {\r\n visible: false,\r\n width: 3\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 2,\r\n step: 6,\r\n opacity: .5\r\n },\r\n highlight: true,\r\n border: {\r\n visible: false,\r\n width: 3\r\n }\r\n },\r\n valueErrorBar: {\r\n displayMode: \"auto\",\r\n value: 1,\r\n color: BLACK,\r\n lineWidth: 2,\r\n edgeLength: 8\r\n },\r\n label: {\r\n visible: false,\r\n alignment: CENTER,\r\n rotationAngle: 0,\r\n horizontalOffset: 0,\r\n verticalOffset: 0,\r\n radialOffset: 0,\r\n showForZeroValues: true,\r\n customizeText: void 0,\r\n maxLabelCount: void 0,\r\n position: OUTSIDE,\r\n font: {\r\n color: WHITE\r\n },\r\n border: {\r\n visible: false,\r\n width: 1,\r\n color: LIGHT_GREY,\r\n dashStyle: SOLID\r\n },\r\n connector: {\r\n visible: false,\r\n width: 1\r\n }\r\n }\r\n },\r\n seriesSelectionMode: \"single\",\r\n pointSelectionMode: \"single\",\r\n equalRowHeight: true,\r\n dataPrepareSettings: {\r\n checkTypeForAllData: false,\r\n convertToAxisDataType: true,\r\n sortingMethod: true\r\n },\r\n title: {\r\n margin: 10\r\n },\r\n adaptiveLayout: {\r\n width: 80,\r\n height: 80,\r\n keepLabels: true\r\n },\r\n _rtl: {\r\n legend: {\r\n itemTextPosition: LEFT\r\n }\r\n },\r\n resolveLabelOverlapping: NONE\r\n },\r\n \"chart:common:axis\": {\r\n visible: true,\r\n valueMarginsEnabled: true,\r\n placeholderSize: null,\r\n logarithmBase: 10,\r\n discreteAxisDivisionMode: \"betweenLabels\",\r\n aggregatedPointsPosition: \"betweenTicks\",\r\n width: 1,\r\n label: {\r\n visible: true\r\n },\r\n grid: {\r\n visible: false,\r\n width: 1\r\n },\r\n minorGrid: {\r\n visible: false,\r\n width: 1,\r\n opacity: .3\r\n },\r\n tick: {\r\n visible: true,\r\n width: 1,\r\n length: 7,\r\n shift: 3\r\n },\r\n minorTick: {\r\n visible: false,\r\n width: 1,\r\n opacity: .3,\r\n length: 7,\r\n shift: 3\r\n },\r\n stripStyle: {\r\n paddingLeftRight: 10,\r\n paddingTopBottom: 5\r\n },\r\n constantLineStyle: {\r\n width: 1,\r\n color: BLACK,\r\n dashStyle: SOLID,\r\n label: {\r\n visible: true,\r\n position: INSIDE\r\n }\r\n },\r\n marker: {\r\n label: {}\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: \"#333333\"\r\n },\r\n tooltipEnabled: true,\r\n border: {\r\n width: 1,\r\n color: \"#dddddd\",\r\n dashStyle: SOLID,\r\n visible: true\r\n },\r\n color: WHITE,\r\n opacity: .9,\r\n arrowLength: 14,\r\n arrowWidth: 14,\r\n paddingLeftRight: 10,\r\n paddingTopBottom: 10,\r\n shadow: {\r\n opacity: .15,\r\n offsetX: 0,\r\n offsetY: 1,\r\n blur: 4,\r\n color: BLACK\r\n },\r\n image: {\r\n width: 30,\r\n height: 30\r\n },\r\n wordWrap: \"normal\",\r\n textOverflow: \"ellipsis\",\r\n allowDragging: false\r\n },\r\n chart: {\r\n commonSeriesSettings: {\r\n type: \"line\",\r\n stack: \"default\",\r\n aggregation: {\r\n enabled: void 0\r\n },\r\n point: {\r\n visible: true,\r\n symbol: \"circle\",\r\n size: 12,\r\n border: {\r\n visible: false,\r\n width: 1\r\n },\r\n hoverMode: \"onlyPoint\",\r\n selectionMode: \"onlyPoint\",\r\n hoverStyle: {\r\n border: {\r\n visible: true,\r\n width: 4\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: true,\r\n width: 4\r\n }\r\n }\r\n },\r\n scatter: {},\r\n line: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n stackedline: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n stackedspline: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n fullstackedline: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n fullstackedspline: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n stepline: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n area: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n stackedarea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n fullstackedarea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n fullstackedsplinearea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n steparea: {\r\n border: {\r\n visible: true,\r\n width: 2\r\n },\r\n point: {\r\n visible: false\r\n },\r\n hoverStyle: {\r\n border: {\r\n visible: true,\r\n width: 3\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: true,\r\n width: 3\r\n }\r\n },\r\n opacity: .5\r\n },\r\n spline: {\r\n width: 2,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n splinearea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n stackedsplinearea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n bar: {\r\n cornerRadius: 0,\r\n point: {\r\n hoverStyle: {\r\n border: {\r\n visible: false\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: false\r\n }\r\n }\r\n }\r\n },\r\n stackedbar: {\r\n cornerRadius: 0,\r\n point: {\r\n hoverStyle: {\r\n border: {\r\n visible: false\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: false\r\n }\r\n }\r\n },\r\n label: {\r\n position: INSIDE\r\n }\r\n },\r\n fullstackedbar: {\r\n cornerRadius: 0,\r\n point: {\r\n hoverStyle: {\r\n border: {\r\n visible: false\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: false\r\n }\r\n }\r\n },\r\n label: {\r\n position: INSIDE\r\n }\r\n },\r\n rangebar: {\r\n cornerRadius: 0,\r\n point: {\r\n hoverStyle: {\r\n border: {\r\n visible: false\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: false\r\n }\r\n }\r\n }\r\n },\r\n rangearea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n rangesplinearea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n bubble: {\r\n opacity: .5,\r\n point: {\r\n hoverStyle: {\r\n border: {\r\n visible: false\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: false\r\n }\r\n }\r\n }\r\n },\r\n candlestick: {\r\n width: 1,\r\n reduction: {\r\n color: RED\r\n },\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3,\r\n highlight: false\r\n },\r\n point: {\r\n border: {\r\n visible: true\r\n }\r\n }\r\n },\r\n stock: {\r\n width: 1,\r\n reduction: {\r\n color: RED\r\n },\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3,\r\n highlight: false\r\n },\r\n point: {\r\n border: {\r\n visible: true\r\n }\r\n }\r\n }\r\n },\r\n crosshair: {\r\n enabled: false,\r\n color: \"#f05b41\",\r\n width: 1,\r\n dashStyle: SOLID,\r\n label: {\r\n visible: false,\r\n font: {\r\n color: WHITE,\r\n size: 12\r\n }\r\n },\r\n verticalLine: {\r\n visible: true\r\n },\r\n horizontalLine: {\r\n visible: true\r\n }\r\n },\r\n commonAxisSettings: {\r\n multipleAxesSpacing: 5,\r\n forceUserTickInterval: false,\r\n breakStyle: {\r\n width: 5,\r\n color: \"#ababab\",\r\n line: \"waved\"\r\n },\r\n label: {\r\n displayMode: \"standard\",\r\n overlappingBehavior: \"hide\",\r\n indentFromAxis: 10,\r\n wordWrap: \"normal\",\r\n textOverflow: \"none\"\r\n },\r\n title: {\r\n font: {\r\n size: 16\r\n },\r\n margin: 6,\r\n alignment: CENTER\r\n },\r\n constantLineStyle: {\r\n paddingLeftRight: 10,\r\n paddingTopBottom: 10\r\n }\r\n },\r\n horizontalAxis: {\r\n position: BOTTOM,\r\n axisDivisionFactor: 70,\r\n label: {\r\n rotationAngle: 90,\r\n staggeringSpacing: 5,\r\n alignment: CENTER\r\n },\r\n stripStyle: {\r\n label: {\r\n horizontalAlignment: CENTER,\r\n verticalAlignment: TOP\r\n }\r\n },\r\n constantLineStyle: {\r\n label: {\r\n horizontalAlignment: RIGHT,\r\n verticalAlignment: TOP\r\n }\r\n },\r\n constantLines: []\r\n },\r\n verticalAxis: {\r\n position: LEFT,\r\n axisDivisionFactor: 40,\r\n label: {\r\n alignment: RIGHT\r\n },\r\n stripStyle: {\r\n label: {\r\n horizontalAlignment: LEFT,\r\n verticalAlignment: CENTER\r\n }\r\n },\r\n constantLineStyle: {\r\n label: {\r\n horizontalAlignment: LEFT,\r\n verticalAlignment: TOP\r\n }\r\n },\r\n constantLines: []\r\n },\r\n argumentAxis: {\r\n endOnTick: false,\r\n aggregateByCategory: true,\r\n workWeek: [1, 2, 3, 4, 5]\r\n },\r\n valueAxis: {\r\n grid: {\r\n visible: true\r\n },\r\n autoBreaksEnabled: false,\r\n maxAutoBreakCount: 4\r\n },\r\n commonPaneSettings: {\r\n backgroundColor: NONE,\r\n border: {\r\n color: LIGHT_GREY,\r\n width: 1,\r\n visible: false,\r\n top: true,\r\n bottom: true,\r\n left: true,\r\n right: true,\r\n dashStyle: SOLID\r\n }\r\n },\r\n scrollBar: {\r\n visible: false,\r\n offset: 5,\r\n color: \"gray\",\r\n width: 10\r\n },\r\n adjustOnZoom: true,\r\n autoHidePointMarkers: true,\r\n rotated: false,\r\n synchronizeMultiAxes: true,\r\n stickyHovering: true,\r\n barGroupPadding: .3,\r\n minBubbleSize: 12,\r\n maxBubbleSize: .2,\r\n zoomAndPan: {\r\n dragBoxStyle: {\r\n color: \"#2a2a2a\",\r\n opacity: .2\r\n },\r\n panKey: \"shift\",\r\n allowMouseWheel: true,\r\n allowTouchGestures: true\r\n }\r\n },\r\n pie: {\r\n innerRadius: .5,\r\n minDiameter: .5,\r\n type: \"pie\",\r\n dataPrepareSettings: {\r\n _skipArgumentSorting: true\r\n },\r\n commonSeriesSettings: {\r\n pie: {\r\n border: {\r\n visible: false,\r\n width: 2,\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .75\r\n },\r\n highlight: true,\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .5\r\n },\r\n highlight: true,\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n }\r\n },\r\n doughnut: {\r\n border: {\r\n visible: false,\r\n width: 2,\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .75\r\n },\r\n highlight: true,\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .5\r\n },\r\n highlight: true,\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n }\r\n },\r\n donut: {\r\n border: {\r\n visible: false,\r\n width: 2,\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .75\r\n },\r\n highlight: true,\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .5\r\n },\r\n highlight: true,\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n }\r\n },\r\n label: {\r\n textOverflow: \"ellipsis\",\r\n wordWrap: \"normal\"\r\n }\r\n },\r\n legend: {\r\n hoverMode: \"allArgumentPoints\",\r\n backgroundColor: NONE\r\n },\r\n adaptiveLayout: {\r\n keepLabels: false\r\n }\r\n },\r\n gauge: {\r\n scale: {\r\n tick: {\r\n visible: true,\r\n length: 5,\r\n width: 2,\r\n opacity: 1\r\n },\r\n minorTick: {\r\n visible: false,\r\n length: 3,\r\n width: 1,\r\n opacity: 1\r\n },\r\n label: {\r\n visible: true,\r\n alignment: CENTER,\r\n hideFirstOrLast: \"last\",\r\n overlappingBehavior: \"hide\"\r\n },\r\n position: TOP,\r\n endOnTick: false\r\n },\r\n rangeContainer: {\r\n offset: 0,\r\n width: 5,\r\n backgroundColor: \"#808080\"\r\n },\r\n valueIndicators: {\r\n _default: {\r\n color: \"#c2c2c2\"\r\n },\r\n rangebar: {\r\n space: 2,\r\n size: 10,\r\n color: \"#cbc5cf\",\r\n backgroundColor: NONE,\r\n text: {\r\n indent: 0,\r\n font: {\r\n size: 14,\r\n color: null\r\n }\r\n }\r\n },\r\n twocolorneedle: {\r\n secondColor: \"#e18e92\"\r\n },\r\n trianglemarker: {\r\n space: 2,\r\n length: 14,\r\n width: 13,\r\n color: \"#8798a5\"\r\n },\r\n textcloud: {\r\n arrowLength: 5,\r\n horizontalOffset: 6,\r\n verticalOffset: 3,\r\n color: \"#679ec5\",\r\n text: {\r\n font: {\r\n color: WHITE,\r\n size: 18\r\n }\r\n }\r\n }\r\n },\r\n indicator: {\r\n hasPositiveMeaning: true,\r\n layout: {\r\n horizontalAlignment: CENTER,\r\n verticalAlignment: BOTTOM\r\n },\r\n text: {\r\n font: {\r\n size: 18\r\n }\r\n }\r\n },\r\n _circular: {\r\n scale: {\r\n scaleDivisionFactor: 17,\r\n orientation: OUTSIDE,\r\n label: {\r\n indentFromTick: 10\r\n }\r\n },\r\n rangeContainer: {\r\n orientation: OUTSIDE\r\n },\r\n valueIndicatorType: \"rectangleneedle\",\r\n subvalueIndicatorType: \"trianglemarker\",\r\n valueIndicators: {\r\n _type: \"rectangleneedle\",\r\n _default: {\r\n offset: 20,\r\n indentFromCenter: 0,\r\n width: 2,\r\n spindleSize: 14,\r\n spindleGapSize: 10,\r\n beginAdaptingAtRadius: 50\r\n },\r\n triangleneedle: {\r\n width: 4\r\n },\r\n twocolorneedle: {\r\n space: 2,\r\n secondFraction: .4\r\n },\r\n rangebar: {\r\n offset: 30\r\n },\r\n trianglemarker: {\r\n offset: 6\r\n },\r\n textcloud: {\r\n offset: -6\r\n }\r\n }\r\n },\r\n _linear: {\r\n scale: {\r\n scaleDivisionFactor: 25,\r\n horizontalOrientation: RIGHT,\r\n verticalOrientation: BOTTOM,\r\n label: {\r\n indentFromTick: -10\r\n }\r\n },\r\n rangeContainer: {\r\n horizontalOrientation: RIGHT,\r\n verticalOrientation: BOTTOM\r\n },\r\n valueIndicatorType: \"rangebar\",\r\n subvalueIndicatorType: \"trianglemarker\",\r\n valueIndicators: {\r\n _type: \"rectangle\",\r\n _default: {\r\n offset: 2.5,\r\n length: 15,\r\n width: 15\r\n },\r\n rectangle: {\r\n width: 10\r\n },\r\n rangebar: {\r\n offset: 10,\r\n horizontalOrientation: RIGHT,\r\n verticalOrientation: BOTTOM\r\n },\r\n trianglemarker: {\r\n offset: 10,\r\n horizontalOrientation: LEFT,\r\n verticalOrientation: TOP\r\n },\r\n textcloud: {\r\n offset: -1,\r\n horizontalOrientation: LEFT,\r\n verticalOrientation: TOP\r\n }\r\n }\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#e0e0e0\",\r\n relativeInnerRadius: .3,\r\n barSpacing: 4,\r\n resolveLabelOverlapping: \"hide\",\r\n label: {\r\n indent: 20,\r\n connectorWidth: 2,\r\n font: {\r\n size: 16\r\n }\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n indicator: {\r\n hasPositiveMeaning: true,\r\n layout: {\r\n horizontalAlignment: CENTER,\r\n verticalAlignment: BOTTOM\r\n },\r\n text: {\r\n font: {\r\n size: 18\r\n }\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n scale: {\r\n valueMarginsEnabled: true,\r\n width: 1,\r\n color: BLACK,\r\n opacity: .1,\r\n showCustomBoundaryTicks: true,\r\n aggregateByCategory: true,\r\n label: {\r\n overlappingBehavior: \"hide\",\r\n alignment: CENTER,\r\n visible: true,\r\n topIndent: 7,\r\n font: {\r\n size: 11\r\n }\r\n },\r\n tick: {\r\n width: 1,\r\n color: BLACK,\r\n opacity: .17,\r\n visible: true,\r\n length: 12\r\n },\r\n minorTick: {\r\n width: 1,\r\n color: BLACK,\r\n opacity: .05,\r\n visible: true,\r\n length: 12\r\n },\r\n marker: {\r\n width: 1,\r\n color: \"#000000\",\r\n opacity: .1,\r\n visible: true,\r\n separatorHeight: 33,\r\n topIndent: 10,\r\n textLeftIndent: 7,\r\n textTopIndent: 11,\r\n label: {}\r\n },\r\n logarithmBase: 10,\r\n workWeek: [1, 2, 3, 4, 5],\r\n breakStyle: {\r\n width: 5,\r\n color: \"#ababab\",\r\n line: \"waved\"\r\n },\r\n endOnTick: false\r\n },\r\n selectedRangeColor: \"#606060\",\r\n sliderMarker: {\r\n visible: true,\r\n paddingTopBottom: 2,\r\n paddingLeftRight: 4,\r\n color: \"#606060\",\r\n invalidRangeColor: RED,\r\n font: {\r\n color: WHITE,\r\n size: 11\r\n }\r\n },\r\n sliderHandle: {\r\n width: 1,\r\n color: BLACK,\r\n opacity: .2\r\n },\r\n shutter: {\r\n opacity: .75\r\n },\r\n background: {\r\n color: \"#c0bae1\",\r\n visible: true,\r\n image: {\r\n location: \"full\"\r\n }\r\n },\r\n behavior: {\r\n snapToTicks: true,\r\n animationEnabled: true,\r\n moveSelectedRangeByClick: true,\r\n manualRangeSelectionEnabled: true,\r\n allowSlidersSwap: true,\r\n valueChangeMode: \"onHandleRelease\"\r\n },\r\n redrawOnResize: true,\r\n chart: {\r\n barGroupPadding: .3,\r\n minBubbleSize: 12,\r\n maxBubbleSize: .2,\r\n topIndent: .1,\r\n bottomIndent: 0,\r\n valueAxis: {\r\n inverted: false,\r\n logarithmBase: 10\r\n },\r\n commonSeriesSettings: {\r\n type: \"area\",\r\n aggregation: {\r\n enabled: void 0\r\n },\r\n point: {\r\n visible: false\r\n },\r\n scatter: {\r\n point: {\r\n visible: true\r\n }\r\n }\r\n }\r\n }\r\n },\r\n map: {\r\n title: {\r\n margin: 10\r\n },\r\n background: {\r\n borderWidth: 1,\r\n borderColor: \"#cacaca\"\r\n },\r\n layer: {\r\n label: {\r\n enabled: false,\r\n stroke: WHITE,\r\n \"stroke-width\": 1,\r\n \"stroke-opacity\": .7,\r\n font: {\r\n color: SOME_GREY,\r\n size: 12\r\n }\r\n }\r\n },\r\n \"layer:area\": {\r\n borderWidth: 1,\r\n borderColor: WHITE,\r\n color: \"#d2d2d2\",\r\n hoveredBorderColor: GREY_GREEN,\r\n selectedBorderWidth: 2,\r\n selectedBorderColor: GREY_GREEN,\r\n label: {\r\n \"stroke-width\": 2,\r\n font: {\r\n size: 16\r\n }\r\n }\r\n },\r\n \"layer:line\": {\r\n borderWidth: 2,\r\n color: \"#ba8365\",\r\n hoveredColor: \"#a94813\",\r\n selectedBorderWidth: 3,\r\n selectedColor: \"#e55100\",\r\n label: {\r\n \"stroke-width\": 2,\r\n font: {\r\n size: 16\r\n }\r\n }\r\n },\r\n \"layer:marker\": {\r\n label: {\r\n enabled: true,\r\n \"stroke-width\": 1,\r\n font: {\r\n size: 12\r\n }\r\n }\r\n },\r\n \"layer:marker:dot\": {\r\n borderWidth: 2,\r\n borderColor: WHITE,\r\n size: 8,\r\n selectedStep: 2,\r\n backStep: 18,\r\n backColor: WHITE,\r\n backOpacity: .32,\r\n shadow: true\r\n },\r\n \"layer:marker:bubble\": {\r\n minSize: 20,\r\n maxSize: 50,\r\n hoveredBorderWidth: 1,\r\n hoveredBorderColor: GREY_GREEN,\r\n selectedBorderWidth: 2,\r\n selectedBorderColor: GREY_GREEN\r\n },\r\n \"layer:marker:pie\": {\r\n size: 50,\r\n hoveredBorderWidth: 1,\r\n hoveredBorderColor: GREY_GREEN,\r\n selectedBorderWidth: 2,\r\n selectedBorderColor: GREY_GREEN\r\n },\r\n \"layer:marker:image\": {\r\n size: 20\r\n },\r\n legend: {\r\n verticalAlignment: BOTTOM,\r\n horizontalAlignment: RIGHT,\r\n position: INSIDE,\r\n backgroundOpacity: .65,\r\n border: {\r\n visible: true\r\n },\r\n paddingLeftRight: 16,\r\n paddingTopBottom: 12\r\n },\r\n controlBar: {\r\n borderColor: \"#5d5d5d\",\r\n borderWidth: 3,\r\n color: WHITE,\r\n margin: 20,\r\n opacity: .3\r\n },\r\n _rtl: {\r\n legend: {\r\n itemTextPosition: LEFT\r\n }\r\n }\r\n },\r\n treeMap: {\r\n tile: {\r\n border: {\r\n width: 1,\r\n opacity: .2,\r\n color: \"#000000\"\r\n },\r\n color: \"#5f8b95\",\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .75,\r\n step: 6,\r\n width: 2,\r\n direction: \"right\"\r\n },\r\n border: {}\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .5,\r\n step: 6,\r\n width: 2,\r\n direction: \"right\"\r\n },\r\n border: {\r\n opacity: 1\r\n }\r\n },\r\n label: {\r\n visible: true,\r\n paddingLeftRight: 5,\r\n paddingTopBottom: 4,\r\n font: {\r\n color: \"#ffffff\",\r\n weight: 600\r\n },\r\n shadow: {\r\n opacity: .6,\r\n offsetX: 0,\r\n offsetY: 1,\r\n blur: 2,\r\n color: \"#000000\"\r\n },\r\n wordWrap: \"normal\",\r\n textOverflow: \"ellipsis\"\r\n }\r\n },\r\n group: {\r\n padding: 4,\r\n border: {\r\n width: 1\r\n },\r\n color: \"#eeeeee\",\r\n hoverStyle: {\r\n hatching: {\r\n opacity: 0,\r\n step: 6,\r\n width: 2,\r\n direction: \"right\"\r\n },\r\n border: {}\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: 0,\r\n step: 6,\r\n width: 2,\r\n direction: \"right\"\r\n },\r\n border: {}\r\n },\r\n label: {\r\n visible: true,\r\n paddingLeftRight: 5,\r\n paddingTopBottom: 4,\r\n font: {\r\n color: SECONDARY_TITLE_COLOR,\r\n weight: 600\r\n },\r\n textOverflow: \"ellipsis\"\r\n }\r\n },\r\n title: {\r\n subtitle: {}\r\n },\r\n tooltip: {},\r\n loadingIndicator: {}\r\n },\r\n sparkline: {\r\n lineColor: \"#666666\",\r\n lineWidth: 2,\r\n areaOpacity: .2,\r\n minColor: \"#e8c267\",\r\n maxColor: \"#e55253\",\r\n barPositiveColor: \"#a9a9a9\",\r\n barNegativeColor: \"#d7d7d7\",\r\n winColor: \"#a9a9a9\",\r\n lossColor: \"#d7d7d7\",\r\n firstLastColor: \"#666666\",\r\n pointSymbol: \"circle\",\r\n pointColor: WHITE,\r\n pointSize: 4,\r\n type: \"line\",\r\n argumentField: \"arg\",\r\n valueField: \"val\",\r\n winlossThreshold: 0,\r\n showFirstLast: true,\r\n showMinMax: false,\r\n tooltip: {\r\n enabled: true\r\n }\r\n },\r\n bullet: {\r\n color: \"#e8c267\",\r\n targetColor: \"#666666\",\r\n targetWidth: 4,\r\n showTarget: true,\r\n showZeroLevel: true,\r\n tooltip: {\r\n enabled: true\r\n }\r\n },\r\n polar: {\r\n commonSeriesSettings: {\r\n type: \"scatter\",\r\n closed: true,\r\n point: {\r\n visible: true,\r\n symbol: \"circle\",\r\n size: 12,\r\n border: {\r\n visible: false,\r\n width: 1\r\n },\r\n hoverMode: \"onlyPoint\",\r\n selectionMode: \"onlyPoint\",\r\n hoverStyle: {\r\n border: {\r\n visible: true,\r\n width: 4\r\n },\r\n size: 12\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: true,\r\n width: 4\r\n },\r\n size: 12\r\n }\r\n },\r\n scatter: {},\r\n line: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n }\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n area: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n stackedline: {\r\n width: 2\r\n },\r\n bar: {\r\n opacity: .8\r\n },\r\n stackedbar: {\r\n opacity: .8\r\n }\r\n },\r\n adaptiveLayout: {\r\n width: 80,\r\n height: 80,\r\n keepLabels: true\r\n },\r\n barGroupPadding: .3,\r\n commonAxisSettings: {\r\n visible: true,\r\n forceUserTickInterval: false,\r\n label: {\r\n overlappingBehavior: \"hide\",\r\n indentFromAxis: 5\r\n },\r\n grid: {\r\n visible: true\r\n },\r\n minorGrid: {\r\n visible: true\r\n },\r\n tick: {\r\n visible: true\r\n },\r\n title: {\r\n font: {\r\n size: 16\r\n },\r\n margin: 10\r\n }\r\n },\r\n argumentAxis: {\r\n startAngle: 0,\r\n firstPointOnStartAngle: false,\r\n period: void 0\r\n },\r\n valueAxis: {\r\n endOnTick: false,\r\n tick: {\r\n visible: false\r\n }\r\n },\r\n horizontalAxis: {\r\n position: TOP,\r\n axisDivisionFactor: 50,\r\n label: {\r\n alignment: CENTER\r\n }\r\n },\r\n verticalAxis: {\r\n position: TOP,\r\n axisDivisionFactor: 30,\r\n label: {\r\n alignment: RIGHT\r\n }\r\n }\r\n },\r\n funnel: {\r\n sortData: true,\r\n valueField: \"val\",\r\n colorField: \"color\",\r\n argumentField: \"arg\",\r\n hoverEnabled: true,\r\n selectionMode: \"single\",\r\n item: {\r\n border: {\r\n visible: false,\r\n width: 2,\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .75,\r\n step: 6,\r\n width: 2,\r\n direction: RIGHT\r\n },\r\n border: {}\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .5,\r\n step: 6,\r\n width: 2,\r\n direction: RIGHT\r\n },\r\n border: {}\r\n }\r\n },\r\n title: {\r\n margin: 10\r\n },\r\n adaptiveLayout: {\r\n width: 80,\r\n height: 80,\r\n keepLabels: true\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n _rtl: {\r\n legend: {\r\n itemTextPosition: LEFT\r\n }\r\n },\r\n tooltip: {\r\n customizeTooltip: function(info) {\r\n return {\r\n text: info.item.argument + \" \" + info.valueText\r\n }\r\n }\r\n },\r\n inverted: false,\r\n algorithm: \"dynamicSlope\",\r\n neckWidth: 0,\r\n neckHeight: 0,\r\n resolveLabelOverlapping: \"shift\",\r\n label: {\r\n textOverflow: \"ellipsis\",\r\n wordWrap: \"normal\",\r\n visible: true,\r\n horizontalAlignment: RIGHT,\r\n horizontalOffset: 0,\r\n verticalOffset: 0,\r\n showForZeroValues: false,\r\n customizeText: function(info) {\r\n return info.item.argument + \" \" + info.valueText\r\n },\r\n position: \"columns\",\r\n font: {\r\n color: WHITE\r\n },\r\n border: {\r\n visible: false,\r\n width: 1,\r\n color: LIGHT_GREY,\r\n dashStyle: SOLID\r\n },\r\n connector: {\r\n visible: true,\r\n width: 1,\r\n opacity: .5\r\n }\r\n }\r\n },\r\n sankey: {\r\n sourceField: \"source\",\r\n targetField: \"target\",\r\n weightField: \"weight\",\r\n hoverEnabled: true,\r\n alignment: CENTER,\r\n adaptiveLayout: {\r\n width: 80,\r\n height: 80,\r\n keepLabels: true\r\n },\r\n label: {\r\n visible: true,\r\n horizontalOffset: 8,\r\n verticalOffset: 0,\r\n overlappingBehavior: \"ellipsis\",\r\n useNodeColors: false,\r\n font: {\r\n color: BLACK,\r\n weight: 500\r\n },\r\n border: {\r\n visible: false,\r\n width: 2,\r\n color: WHITE\r\n },\r\n customizeText: function(info) {\r\n return info.title\r\n },\r\n shadow: {\r\n opacity: .2,\r\n offsetX: 0,\r\n offsetY: 1,\r\n blur: 1,\r\n color: WHITE\r\n }\r\n },\r\n title: {\r\n margin: 10,\r\n font: {\r\n size: 28,\r\n weight: 200\r\n },\r\n subtitle: {\r\n font: {\r\n size: 16\r\n }\r\n }\r\n },\r\n tooltip: {\r\n enabled: true\r\n },\r\n node: {\r\n padding: 30,\r\n width: 8,\r\n opacity: 1,\r\n border: {\r\n color: WHITE,\r\n width: 1,\r\n visible: false\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .75,\r\n step: 6,\r\n width: 2,\r\n direction: RIGHT\r\n },\r\n border: {}\r\n }\r\n },\r\n link: {\r\n color: \"#888888\",\r\n colorMode: \"none\",\r\n opacity: .3,\r\n border: {\r\n color: WHITE,\r\n width: 1,\r\n visible: false\r\n },\r\n hoverStyle: {\r\n opacity: .5,\r\n hatching: {\r\n opacity: .75,\r\n step: 6,\r\n width: 2,\r\n direction: RIGHT\r\n },\r\n border: {}\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: void 0\r\n}, {\r\n theme: {\r\n name: \"generic.light.compact\"\r\n },\r\n baseThemeName: \"generic.light\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.carmine.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar ACCENT_COLOR = \"#f05b41\";\r\nvar BACKGROUND_COLOR = \"#fff\";\r\nvar TITLE_COLOR = \"#333\";\r\nvar SUBTITLE_COLOR = \"#8899a8\";\r\nvar TEXT_COLOR = \"#707070\";\r\nvar BORDER_COLOR = \"#dee1e3\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.carmine\",\r\n defaultPalette: \"Carmine\",\r\n backgroundColor: BACKGROUND_COLOR,\r\n primaryTitleColor: TITLE_COLOR,\r\n secondaryTitleColor: SUBTITLE_COLOR,\r\n gridColor: BORDER_COLOR,\r\n axisColor: TEXT_COLOR,\r\n export: {\r\n backgroundColor: BACKGROUND_COLOR,\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n button: {\r\n default: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#b1b7bd\",\r\n backgroundColor: BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#b1b7bd\",\r\n backgroundColor: \"#faf2f0\"\r\n },\r\n focus: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#6d7781\",\r\n backgroundColor: \"#faf2f0\"\r\n },\r\n active: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#6d7781\",\r\n backgroundColor: \"#f5e7e4\"\r\n }\r\n }\r\n },\r\n legend: {\r\n font: {\r\n color: TEXT_COLOR\r\n }\r\n },\r\n tooltip: {\r\n color: BACKGROUND_COLOR,\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n color: BACKGROUND_COLOR\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#c1c5c7\"\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n scale: {\r\n breakStyle: {\r\n color: \"#c1c5c7\"\r\n },\r\n tick: {\r\n opacity: .12\r\n }\r\n },\r\n selectedRangeColor: ACCENT_COLOR,\r\n sliderMarker: {\r\n color: ACCENT_COLOR\r\n },\r\n sliderHandle: {\r\n color: ACCENT_COLOR,\r\n opacity: .5\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BACKGROUND_COLOR,\r\n minColor: \"#f0ad4e\",\r\n maxColor: \"#f74d61\"\r\n },\r\n treeMap: {\r\n group: {\r\n color: BORDER_COLOR,\r\n label: {\r\n font: {\r\n color: SUBTITLE_COLOR\r\n }\r\n }\r\n }\r\n },\r\n bullet: {\r\n color: ACCENT_COLOR\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: ACCENT_COLOR\r\n },\r\n textcloud: {\r\n color: ACCENT_COLOR\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"generic.carmine.compact\"\r\n },\r\n baseThemeName: \"generic.carmine\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.dark.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar WHITE = \"#ffffff\";\r\nvar BLACK = \"#000000\";\r\nvar SOME_GREY = \"#2b2b2b\";\r\nvar RANGE_COLOR = \"#b5b5b5\";\r\nvar GREY_GREEN = \"#303030\";\r\nvar AREA_LAYER_COLOR = \"#686868\";\r\nvar LINE_COLOR = \"#c7c7c7\";\r\nvar TARGET_COLOR = \"#8e8e8e\";\r\nvar POSITIVE_COLOR = \"#b8b8b8\";\r\nvar BORDER_COLOR = \"#494949\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.dark\",\r\n font: {\r\n color: \"#808080\"\r\n },\r\n backgroundColor: \"#2a2a2a\",\r\n primaryTitleColor: \"#dedede\",\r\n secondaryTitleColor: \"#a3a3a3\",\r\n gridColor: \"#555555\",\r\n axisColor: \"#a3a3a3\",\r\n export: {\r\n backgroundColor: \"#2a2a2a\",\r\n font: {\r\n color: \"#dbdbdb\"\r\n },\r\n button: {\r\n default: {\r\n color: \"#dedede\",\r\n borderColor: \"#4d4d4d\",\r\n backgroundColor: \"#2e2e2e\"\r\n },\r\n hover: {\r\n color: \"#dedede\",\r\n borderColor: \"#6c6c6c\",\r\n backgroundColor: \"#444\"\r\n },\r\n focus: {\r\n color: \"#dedede\",\r\n borderColor: \"#8d8d8d\",\r\n backgroundColor: \"#444444\"\r\n },\r\n active: {\r\n color: \"#dedede\",\r\n borderColor: \"#8d8d8d\",\r\n backgroundColor: \"#555555\"\r\n }\r\n },\r\n shadowColor: \"#292929\"\r\n },\r\n tooltip: {\r\n color: SOME_GREY,\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: \"#929292\"\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n valueErrorBar: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n \"chart:common:axis\": {\r\n constantLineStyle: {\r\n color: WHITE\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: \"#929292\"\r\n },\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n color: SOME_GREY,\r\n shadow: {\r\n opacity: .008,\r\n offsetY: 4,\r\n blur: 8\r\n }\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#818181\"\r\n }\r\n },\r\n zoomAndPan: {\r\n dragBoxStyle: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n gauge: {\r\n rangeContainer: {\r\n backgroundColor: RANGE_COLOR\r\n },\r\n valueIndicators: {\r\n _default: {\r\n color: RANGE_COLOR\r\n },\r\n rangebar: {\r\n color: \"#84788b\"\r\n },\r\n twocolorneedle: {\r\n secondColor: \"#ba544d\"\r\n },\r\n trianglemarker: {\r\n color: \"#b7918f\"\r\n },\r\n textcloud: {\r\n color: \"#ba544d\"\r\n }\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#3c3c3c\"\r\n },\r\n rangeSelector: {\r\n scale: {\r\n tick: {\r\n color: WHITE,\r\n opacity: .32\r\n },\r\n minorTick: {\r\n color: WHITE,\r\n opacity: .1\r\n },\r\n breakStyle: {\r\n color: \"#818181\"\r\n }\r\n },\r\n selectedRangeColor: RANGE_COLOR,\r\n sliderMarker: {\r\n color: RANGE_COLOR,\r\n font: {\r\n color: GREY_GREEN\r\n }\r\n },\r\n sliderHandle: {\r\n color: WHITE,\r\n opacity: .2\r\n },\r\n shutter: {\r\n color: SOME_GREY,\r\n opacity: .9\r\n }\r\n },\r\n map: {\r\n background: {\r\n borderColor: \"#3f3f3f\"\r\n },\r\n layer: {\r\n label: {\r\n stroke: BLACK,\r\n font: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n \"layer:area\": {\r\n borderColor: GREY_GREEN,\r\n color: AREA_LAYER_COLOR,\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n \"layer:line\": {\r\n color: \"#c77244\",\r\n hoveredColor: \"#ff5d04\",\r\n selectedColor: \"#ff784f\"\r\n },\r\n \"layer:marker:bubble\": {\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n \"layer:marker:pie\": {\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n legend: {\r\n border: {\r\n color: \"#3f3f3f\"\r\n },\r\n font: {\r\n color: WHITE\r\n }\r\n },\r\n controlBar: {\r\n borderColor: LINE_COLOR,\r\n color: GREY_GREEN\r\n }\r\n },\r\n treeMap: {\r\n group: {\r\n color: \"#4c4c4c\",\r\n label: {\r\n font: {\r\n color: \"#a3a3a3\"\r\n }\r\n }\r\n }\r\n },\r\n sparkline: {\r\n lineColor: LINE_COLOR,\r\n firstLastColor: LINE_COLOR,\r\n barPositiveColor: POSITIVE_COLOR,\r\n barNegativeColor: TARGET_COLOR,\r\n winColor: POSITIVE_COLOR,\r\n lossColor: TARGET_COLOR,\r\n pointColor: GREY_GREEN\r\n },\r\n bullet: {\r\n targetColor: TARGET_COLOR\r\n },\r\n funnel: {\r\n item: {\r\n border: {\r\n color: \"#2a2a2a\"\r\n }\r\n }\r\n },\r\n sankey: {\r\n label: {\r\n font: {\r\n color: WHITE\r\n },\r\n shadow: {\r\n opacity: 0\r\n }\r\n },\r\n node: {\r\n border: {\r\n color: \"#2a2a2a\"\r\n }\r\n },\r\n link: {\r\n color: \"#888888\",\r\n border: {\r\n color: \"#2a2a2a\"\r\n },\r\n hoverStyle: {\r\n color: \"#bbbbbb\"\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"generic.dark.compact\"\r\n },\r\n baseThemeName: \"generic.dark\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.contrast.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar WHITE = \"#ffffff\";\r\nvar BLACK = \"#000000\";\r\nvar CONTRAST_ACTIVE = \"#cf00da\";\r\nvar MARKER_COLOR = \"#f8ca00\";\r\nvar AREA_LAYER_COLOR = \"#686868\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.contrast\",\r\n defaultPalette: \"Bright\",\r\n font: {\r\n color: WHITE\r\n },\r\n backgroundColor: BLACK,\r\n primaryTitleColor: WHITE,\r\n secondaryTitleColor: WHITE,\r\n gridColor: WHITE,\r\n axisColor: WHITE,\r\n export: {\r\n backgroundColor: BLACK,\r\n font: {\r\n color: WHITE\r\n },\r\n button: {\r\n default: {\r\n color: WHITE,\r\n borderColor: WHITE,\r\n backgroundColor: BLACK\r\n },\r\n hover: {\r\n color: WHITE,\r\n borderColor: WHITE,\r\n backgroundColor: \"#cf00d7\"\r\n },\r\n focus: {\r\n color: WHITE,\r\n borderColor: \"#cf00d7\",\r\n backgroundColor: BLACK\r\n },\r\n active: {\r\n color: BLACK,\r\n borderColor: WHITE,\r\n backgroundColor: WHITE\r\n }\r\n },\r\n borderColor: WHITE,\r\n menuButtonColor: BLACK,\r\n activeBackgroundColor: WHITE,\r\n activeColor: BLACK,\r\n selectedBorderColor: CONTRAST_ACTIVE,\r\n selectedColor: CONTRAST_ACTIVE,\r\n shadowColor: \"none\"\r\n },\r\n tooltip: {\r\n border: {\r\n color: WHITE\r\n },\r\n font: {\r\n color: WHITE\r\n },\r\n color: BLACK\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n valueErrorBar: {\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .5\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .35\r\n }\r\n },\r\n label: {\r\n font: {\r\n color: WHITE\r\n },\r\n border: {\r\n color: WHITE\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:axis\": {\r\n constantLineStyle: {\r\n color: WHITE\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: WHITE\r\n },\r\n border: {\r\n color: WHITE\r\n },\r\n color: BLACK\r\n },\r\n chart: {\r\n commonSeriesSettings: {},\r\n crosshair: {\r\n color: \"#cf00d7\"\r\n },\r\n commonPaneSettings: {\r\n backgroundColor: BLACK,\r\n border: {\r\n color: WHITE\r\n }\r\n },\r\n scrollBar: {\r\n color: WHITE\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#cf00d7\"\r\n }\r\n },\r\n zoomAndPan: {\r\n dragBoxStyle: {\r\n color: WHITE,\r\n opacity: .7\r\n }\r\n }\r\n },\r\n pie: {\r\n commonSeriesSettings: {\r\n pie: {\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .5\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .35\r\n }\r\n }\r\n },\r\n doughnut: {\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .5\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .35\r\n }\r\n }\r\n },\r\n donut: {\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .5\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .35\r\n }\r\n }\r\n }\r\n }\r\n },\r\n gauge: {\r\n rangeContainer: {\r\n backgroundColor: WHITE\r\n },\r\n valueIndicators: {\r\n _default: {\r\n color: WHITE\r\n },\r\n rangebar: {\r\n color: WHITE,\r\n backgroundColor: BLACK\r\n },\r\n twocolorneedle: {\r\n secondColor: WHITE\r\n },\r\n trianglemarker: {\r\n color: WHITE\r\n },\r\n textcloud: {\r\n color: WHITE,\r\n text: {\r\n font: {\r\n color: BLACK\r\n }\r\n }\r\n }\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#3c3c3c\"\r\n },\r\n rangeSelector: {\r\n scale: {\r\n tick: {\r\n color: WHITE,\r\n opacity: .4\r\n },\r\n minorTick: {\r\n color: WHITE,\r\n opacity: .12\r\n },\r\n breakStyle: {\r\n color: \"#cf00d7\"\r\n }\r\n },\r\n selectedRangeColor: CONTRAST_ACTIVE,\r\n sliderMarker: {\r\n color: CONTRAST_ACTIVE\r\n },\r\n sliderHandle: {\r\n color: CONTRAST_ACTIVE,\r\n opacity: 1\r\n },\r\n shutter: {\r\n opacity: .75\r\n },\r\n background: {\r\n color: BLACK\r\n }\r\n },\r\n map: {\r\n background: {\r\n borderColor: WHITE\r\n },\r\n layer: {\r\n label: {\r\n stroke: BLACK,\r\n font: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n \"layer:area\": {\r\n borderColor: BLACK,\r\n color: AREA_LAYER_COLOR,\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE,\r\n label: {\r\n font: {\r\n opacity: 1\r\n }\r\n }\r\n },\r\n \"layer:line\": {\r\n color: \"#267cff\",\r\n hoveredColor: \"#f613ff\",\r\n selectedColor: WHITE\r\n },\r\n \"layer:marker:dot\": {\r\n borderColor: BLACK,\r\n color: MARKER_COLOR,\r\n backColor: BLACK,\r\n backOpacity: .32\r\n },\r\n \"layer:marker:bubble\": {\r\n color: MARKER_COLOR,\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n \"layer:marker:pie\": {\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n controlBar: {\r\n borderColor: WHITE,\r\n color: BLACK,\r\n opacity: .3\r\n }\r\n },\r\n treeMap: {\r\n tile: {\r\n color: \"#70c92f\"\r\n },\r\n group: {\r\n color: \"#797979\",\r\n label: {\r\n font: {\r\n color: WHITE\r\n }\r\n }\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BLACK\r\n },\r\n bullet: {},\r\n polar: {\r\n commonSeriesSettings: {}\r\n },\r\n funnel: {\r\n label: {\r\n connector: {\r\n opacity: 1\r\n }\r\n }\r\n },\r\n sankey: {\r\n label: {\r\n font: {\r\n color: WHITE\r\n },\r\n shadow: {\r\n opacity: 0\r\n }\r\n },\r\n node: {\r\n border: {\r\n visible: true,\r\n width: 1,\r\n color: WHITE\r\n }\r\n },\r\n link: {\r\n opacity: .5,\r\n border: {\r\n visible: true,\r\n width: 1,\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n opacity: .9\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"generic.contrast.compact\"\r\n },\r\n baseThemeName: \"generic.contrast\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.darkmoon.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar ACCENT_COLOR = \"#3debd3\";\r\nvar BACKGROUND_COLOR = \"#465672\";\r\nvar TITLE_COLOR = \"#fff\";\r\nvar SUBTITLE_COLOR = \"#919bac\";\r\nvar TEXT_COLOR = \"#c7ccd4\";\r\nvar BORDER_COLOR = \"#596980\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.darkmoon\",\r\n defaultPalette: \"Dark Moon\",\r\n backgroundColor: BACKGROUND_COLOR,\r\n primaryTitleColor: TITLE_COLOR,\r\n secondaryTitleColor: SUBTITLE_COLOR,\r\n gridColor: BORDER_COLOR,\r\n axisColor: TEXT_COLOR,\r\n export: {\r\n backgroundColor: BACKGROUND_COLOR,\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n button: {\r\n default: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#7a889e\",\r\n backgroundColor: BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#9da8b8\",\r\n backgroundColor: \"#596e92\"\r\n },\r\n focus: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#c4cad4\",\r\n backgroundColor: \"#596e92\"\r\n },\r\n active: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#c4cad4\",\r\n backgroundColor: \"#6b80a4\"\r\n }\r\n }\r\n },\r\n legend: {\r\n font: {\r\n color: TEXT_COLOR\r\n }\r\n },\r\n tooltip: {\r\n color: \"#62789e\",\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n color: \"#62789e\"\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#73869e\"\r\n }\r\n }\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: ACCENT_COLOR\r\n },\r\n textcloud: {\r\n color: ACCENT_COLOR,\r\n text: {\r\n font: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n }\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#526280\"\r\n },\r\n funnel: {\r\n item: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BACKGROUND_COLOR,\r\n minColor: \"#f0ad4e\",\r\n maxColor: \"#f9517e\"\r\n },\r\n treeMap: {\r\n group: {\r\n color: BORDER_COLOR,\r\n label: {\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n }\r\n }\r\n },\r\n map: {\r\n background: {\r\n borderColor: BORDER_COLOR\r\n },\r\n \"layer:area\": {\r\n color: \"#97a3b6\",\r\n borderColor: BACKGROUND_COLOR\r\n }\r\n },\r\n rangeSelector: {\r\n shutter: {\r\n color: BACKGROUND_COLOR\r\n },\r\n scale: {\r\n breakStyle: {\r\n color: \"#73869e\"\r\n },\r\n tick: {\r\n opacity: .2\r\n }\r\n },\r\n selectedRangeColor: ACCENT_COLOR,\r\n sliderMarker: {\r\n color: ACCENT_COLOR,\r\n font: {\r\n color: \"#000\"\r\n }\r\n },\r\n sliderHandle: {\r\n color: ACCENT_COLOR,\r\n opacity: .5\r\n }\r\n },\r\n bullet: {\r\n color: ACCENT_COLOR\r\n },\r\n sankey: {\r\n link: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n },\r\n node: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.dark\"\r\n}, {\r\n theme: {\r\n name: \"generic.darkmoon.compact\"\r\n },\r\n baseThemeName: \"generic.darkmoon\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.darkviolet.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar ACCENT_COLOR = \"#9c63ff\";\r\nvar BACKGROUND_COLOR = \"#17171f\";\r\nvar TITLE_COLOR = \"#f5f6f7\";\r\nvar SUBTITLE_COLOR = \"#fff\";\r\nvar TEXT_COLOR = \"#b2b2b6\";\r\nvar BORDER_COLOR = \"#343840\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.darkviolet\",\r\n defaultPalette: \"Dark Violet\",\r\n backgroundColor: BACKGROUND_COLOR,\r\n primaryTitleColor: TITLE_COLOR,\r\n secondaryTitleColor: SUBTITLE_COLOR,\r\n gridColor: BORDER_COLOR,\r\n axisColor: TEXT_COLOR,\r\n export: {\r\n backgroundColor: BACKGROUND_COLOR,\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n button: {\r\n default: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#414152\",\r\n backgroundColor: BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#5c5c74\",\r\n backgroundColor: \"#2d2d3c\"\r\n },\r\n focus: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#7c7c97\",\r\n backgroundColor: \"#2d2d3c\"\r\n },\r\n active: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#7c7c97\",\r\n backgroundColor: \"#3c3c51\"\r\n }\r\n }\r\n },\r\n legend: {\r\n font: {\r\n color: TEXT_COLOR\r\n }\r\n },\r\n tooltip: {\r\n color: BACKGROUND_COLOR,\r\n border: {\r\n color: \"#414152\"\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n border: {\r\n color: \"#414152\"\r\n },\r\n color: BACKGROUND_COLOR\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#575e6b\"\r\n }\r\n }\r\n },\r\n funnel: {\r\n item: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BACKGROUND_COLOR,\r\n minColor: \"#f0ad4e\",\r\n maxColor: \"#d9534f\"\r\n },\r\n treeMap: {\r\n group: {\r\n color: BORDER_COLOR,\r\n label: {\r\n font: {\r\n color: SUBTITLE_COLOR\r\n }\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n shutter: {\r\n color: BACKGROUND_COLOR\r\n },\r\n scale: {\r\n breakStyle: {\r\n color: \"#575e6b\"\r\n },\r\n tick: {\r\n opacity: .2\r\n }\r\n },\r\n selectedRangeColor: ACCENT_COLOR,\r\n sliderMarker: {\r\n color: ACCENT_COLOR,\r\n font: {\r\n color: \"#fff\"\r\n }\r\n },\r\n sliderHandle: {\r\n color: ACCENT_COLOR,\r\n opacity: .5\r\n }\r\n },\r\n bullet: {\r\n color: ACCENT_COLOR\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: ACCENT_COLOR\r\n },\r\n textcloud: {\r\n color: ACCENT_COLOR\r\n }\r\n }\r\n },\r\n sankey: {\r\n link: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n },\r\n node: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.dark\"\r\n}, {\r\n theme: {\r\n name: \"generic.darkviolet.compact\"\r\n },\r\n baseThemeName: \"generic.darkviolet\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.greenmist.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar ACCENT_COLOR = \"#3cbab2\";\r\nvar BACKGROUND_COLOR = \"#f5f5f5\";\r\nvar TITLE_COLOR = \"#28484f\";\r\nvar SUBTITLE_COLOR = \"#7eb2be\";\r\nvar TEXT_COLOR = \"#657c80\";\r\nvar BORDER_COLOR = \"#dedede\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.greenmist\",\r\n defaultPalette: \"Green Mist\",\r\n backgroundColor: BACKGROUND_COLOR,\r\n primaryTitleColor: TITLE_COLOR,\r\n secondaryTitleColor: SUBTITLE_COLOR,\r\n gridColor: BORDER_COLOR,\r\n axisColor: TEXT_COLOR,\r\n export: {\r\n backgroundColor: BACKGROUND_COLOR,\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n button: {\r\n default: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#a2b4b8\",\r\n backgroundColor: BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#7f989e\",\r\n backgroundColor: \"rgba(222, 222, 222, 0.4)\"\r\n },\r\n focus: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#5f777c\",\r\n backgroundColor: \"rgba(222, 222, 222, 0.4)\"\r\n },\r\n active: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#5f777c\",\r\n backgroundColor: \"rgba(222, 222, 222, 0.8)\"\r\n }\r\n }\r\n },\r\n legend: {\r\n font: {\r\n color: TEXT_COLOR\r\n }\r\n },\r\n tooltip: {\r\n color: \"#fff\",\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n color: \"#fff\",\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#c1c1c1\"\r\n }\r\n }\r\n },\r\n funnel: {\r\n item: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BACKGROUND_COLOR,\r\n minColor: \"#ffc852\",\r\n maxColor: \"#f74a5e\"\r\n },\r\n treeMap: {\r\n group: {\r\n color: BORDER_COLOR,\r\n label: {\r\n font: {\r\n color: SUBTITLE_COLOR\r\n }\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n shutter: {\r\n color: BACKGROUND_COLOR\r\n },\r\n scale: {\r\n breakStyle: {\r\n color: \"#c1c1c1\"\r\n },\r\n tick: {\r\n opacity: .12\r\n }\r\n },\r\n selectedRangeColor: ACCENT_COLOR,\r\n sliderMarker: {\r\n color: ACCENT_COLOR\r\n },\r\n sliderHandle: {\r\n color: ACCENT_COLOR,\r\n opacity: .5\r\n }\r\n },\r\n bullet: {\r\n color: ACCENT_COLOR\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: ACCENT_COLOR\r\n },\r\n textcloud: {\r\n color: ACCENT_COLOR\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"generic.greenmist.compact\"\r\n },\r\n baseThemeName: \"generic.greenmist\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.softblue.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar ACCENT_COLOR = \"#7ab8eb\";\r\nvar BACKGROUND_COLOR = \"#fff\";\r\nvar TITLE_COLOR = \"#333\";\r\nvar SUBTITLE_COLOR = \"#99a1a8\";\r\nvar TEXT_COLOR = \"#707070\";\r\nvar BORDER_COLOR = \"#e8eaeb\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.softblue\",\r\n defaultPalette: \"Soft Blue\",\r\n backgroundColor: BACKGROUND_COLOR,\r\n primaryTitleColor: TITLE_COLOR,\r\n secondaryTitleColor: SUBTITLE_COLOR,\r\n gridColor: BORDER_COLOR,\r\n axisColor: TEXT_COLOR,\r\n export: {\r\n backgroundColor: BACKGROUND_COLOR,\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n button: {\r\n default: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#c9d0d4\",\r\n backgroundColor: BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#a7b2b9\",\r\n backgroundColor: \"#e6e6e6\"\r\n },\r\n focus: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#82929b\",\r\n backgroundColor: \"#e6e6e6\"\r\n },\r\n active: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#82929b\",\r\n backgroundColor: \"#d4d4d4\"\r\n }\r\n }\r\n },\r\n legend: {\r\n font: {\r\n color: TEXT_COLOR\r\n }\r\n },\r\n tooltip: {\r\n color: BACKGROUND_COLOR,\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n color: BACKGROUND_COLOR,\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#cfd2d3\"\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n scale: {\r\n breakStyle: {\r\n color: \"#cfd2d3\"\r\n },\r\n tick: {\r\n opacity: .12\r\n }\r\n },\r\n selectedRangeColor: ACCENT_COLOR,\r\n sliderMarker: {\r\n color: ACCENT_COLOR\r\n },\r\n sliderHandle: {\r\n color: ACCENT_COLOR,\r\n opacity: .5\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BACKGROUND_COLOR,\r\n minColor: \"#f0ad4e\",\r\n maxColor: \"#d9534f\"\r\n },\r\n treeMap: {\r\n group: {\r\n color: BORDER_COLOR,\r\n label: {\r\n font: {\r\n color: SUBTITLE_COLOR\r\n }\r\n }\r\n }\r\n },\r\n bullet: {\r\n color: ACCENT_COLOR\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: ACCENT_COLOR\r\n },\r\n textcloud: {\r\n color: ACCENT_COLOR\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"generic.softblue.compact\"\r\n },\r\n baseThemeName: \"generic.softblue\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/material.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar FONT_FAMILY = \"'Roboto', 'RobotoFallback', 'Helvetica', 'Arial', sans-serif\";\r\nvar LIGHT_TITLE_COLOR = \"rgba(0,0,0,0.87)\";\r\nvar LIGHT_LABEL_COLOR = \"rgba(0,0,0,0.54)\";\r\nvar DARK_TITLE_COLOR = \"rgba(255,255,255,0.87)\";\r\nvar DARK_LABEL_COLOR = \"rgba(255,255,255,0.54)\";\r\nvar DARK_BACKGROUND_COLOR = \"#363640\";\r\nvar WHITE = \"#ffffff\";\r\nvar BLACK = \"#000000\";\r\nvar RANGE_COLOR = \"#b5b5b5\";\r\nvar AREA_LAYER_COLOR = \"#686868\";\r\nvar LINE_COLOR = \"#c7c7c7\";\r\nvar TARGET_COLOR = \"#8e8e8e\";\r\nvar POSITIVE_COLOR = \"#b8b8b8\";\r\nvar LABEL_BORDER_COLOR = \"#494949\";\r\nvar BREAK_STYLE_COLOR = \"#818181\";\r\nvar themes = [{\r\n theme: {\r\n name: \"material\",\r\n defaultPalette: \"Material\",\r\n font: {\r\n family: FONT_FAMILY\r\n },\r\n title: {\r\n margin: {\r\n top: 20,\r\n bottom: 20,\r\n left: 0,\r\n right: 0\r\n },\r\n font: {\r\n size: 20,\r\n family: FONT_FAMILY,\r\n weight: 500\r\n },\r\n horizontalAlignment: \"left\",\r\n subtitle: {\r\n font: {\r\n size: 14\r\n },\r\n horizontalAlignment: \"left\"\r\n }\r\n },\r\n tooltip: {\r\n shadow: {\r\n opacity: 0\r\n },\r\n border: {\r\n visible: false\r\n },\r\n paddingLeftRight: 8,\r\n paddingTopBottom: 6,\r\n arrowLength: 0,\r\n location: \"edge\",\r\n color: \"#616161\",\r\n font: {\r\n color: WHITE\r\n },\r\n cornerRadius: 4\r\n },\r\n chart: {\r\n commonAxisSettings: {\r\n minorTick: {\r\n opacity: .5\r\n },\r\n label: {\r\n font: {\r\n size: 11\r\n }\r\n }\r\n },\r\n commonAnnotationSettings: {\r\n font: {\r\n color: WHITE\r\n },\r\n border: {\r\n color: \"#616161\"\r\n },\r\n color: \"#616161\",\r\n arrowLength: 14,\r\n arrowWidth: 0,\r\n shadow: {\r\n opacity: .08,\r\n offsetY: 4,\r\n blur: 8\r\n },\r\n cornerRadius: 4\r\n }\r\n },\r\n pie: {\r\n title: {\r\n horizontalAlignment: \"center\",\r\n subtitle: {\r\n horizontalAlignment: \"center\"\r\n }\r\n }\r\n },\r\n polar: {\r\n commonAxisSettings: {\r\n minorTick: {\r\n opacity: .5\r\n }\r\n },\r\n title: {\r\n horizontalAlignment: \"center\",\r\n subtitle: {\r\n horizontalAlignment: \"center\"\r\n }\r\n }\r\n },\r\n funnel: {\r\n title: {\r\n horizontalAlignment: \"center\",\r\n subtitle: {\r\n horizontalAlignment: \"center\"\r\n }\r\n }\r\n },\r\n gauge: {\r\n title: {\r\n horizontalAlignment: \"center\",\r\n subtitle: {\r\n horizontalAlignment: \"center\"\r\n }\r\n }\r\n },\r\n barGauge: {\r\n title: {\r\n horizontalAlignment: \"center\",\r\n subtitle: {\r\n horizontalAlignment: \"center\"\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n sliderHandle: {\r\n opacity: .5\r\n }\r\n },\r\n treeMap: {\r\n group: {\r\n label: {\r\n font: {\r\n weight: 500\r\n }\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"material.light\",\r\n gridColor: \"#e0e0e0\",\r\n axisColor: LIGHT_LABEL_COLOR,\r\n primaryTitleColor: LIGHT_TITLE_COLOR,\r\n legend: {\r\n font: {\r\n color: LIGHT_LABEL_COLOR\r\n }\r\n },\r\n chart: {\r\n scrollBar: {\r\n color: \"#bfbfbf\",\r\n opacity: .7\r\n }\r\n },\r\n gauge: {\r\n rangeContainer: {\r\n backgroundColor: \"rgba(0,0,0,0.2)\"\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#efefef\"\r\n }\r\n },\r\n baseThemeName: \"material\"\r\n}, {\r\n theme: {\r\n name: \"material.dark\",\r\n gridColor: \"#515159\",\r\n backgroundColor: DARK_BACKGROUND_COLOR,\r\n axisColor: DARK_LABEL_COLOR,\r\n font: {\r\n color: DARK_LABEL_COLOR\r\n },\r\n primaryTitleColor: DARK_TITLE_COLOR,\r\n secondaryTitleColor: DARK_TITLE_COLOR,\r\n tooltip: {\r\n color: \"#000\"\r\n },\r\n export: {\r\n backgroundColor: DARK_BACKGROUND_COLOR,\r\n font: {\r\n color: \"#dbdbdb\"\r\n },\r\n button: {\r\n default: {\r\n color: \"#dedede\",\r\n borderColor: \"#4d4d4d\",\r\n backgroundColor: DARK_BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: \"#dedede\",\r\n borderColor: \"#6c6c6c\",\r\n backgroundColor: \"#3f3f4b\"\r\n },\r\n focus: {\r\n color: \"#dedede\",\r\n borderColor: \"#8d8d8d\",\r\n backgroundColor: \"#494956\"\r\n },\r\n active: {\r\n color: \"#dedede\",\r\n borderColor: \"#8d8d8d\",\r\n backgroundColor: \"#494956\"\r\n }\r\n },\r\n shadowColor: \"#292929\"\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: LABEL_BORDER_COLOR\r\n }\r\n },\r\n valueErrorBar: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n \"chart:common:axis\": {\r\n constantLineStyle: {\r\n color: WHITE\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n border: {\r\n color: \"#000\"\r\n },\r\n color: \"#000\"\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: LABEL_BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: BREAK_STYLE_COLOR\r\n }\r\n },\r\n zoomAndPan: {\r\n dragBoxStyle: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n gauge: {\r\n rangeContainer: {\r\n backgroundColor: RANGE_COLOR\r\n },\r\n valueIndicators: {\r\n _default: {\r\n color: RANGE_COLOR\r\n },\r\n rangebar: {\r\n color: \"#84788b\"\r\n },\r\n twocolorneedle: {\r\n secondColor: \"#ba544d\"\r\n },\r\n trianglemarker: {\r\n color: \"#b7918f\"\r\n },\r\n textcloud: {\r\n color: \"#ba544d\"\r\n }\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#3c3c3c\"\r\n },\r\n rangeSelector: {\r\n scale: {\r\n tick: {\r\n color: WHITE,\r\n opacity: .32\r\n },\r\n minorTick: {\r\n color: WHITE,\r\n opacity: .1\r\n },\r\n breakStyle: {\r\n color: BREAK_STYLE_COLOR\r\n }\r\n },\r\n selectedRangeColor: RANGE_COLOR,\r\n sliderMarker: {\r\n color: RANGE_COLOR,\r\n font: {\r\n color: DARK_BACKGROUND_COLOR\r\n }\r\n },\r\n sliderHandle: {\r\n color: WHITE,\r\n opacity: .2\r\n },\r\n shutter: {\r\n color: WHITE,\r\n opacity: .1\r\n }\r\n },\r\n map: {\r\n background: {\r\n borderColor: \"#3f3f3f\"\r\n },\r\n layer: {\r\n label: {\r\n stroke: BLACK,\r\n font: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n \"layer:area\": {\r\n borderColor: DARK_BACKGROUND_COLOR,\r\n color: AREA_LAYER_COLOR,\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n \"layer:line\": {\r\n color: \"#c77244\",\r\n hoveredColor: \"#ff5d04\",\r\n selectedColor: \"#ff784f\"\r\n },\r\n \"layer:marker:bubble\": {\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n \"layer:marker:pie\": {\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n legend: {\r\n border: {\r\n color: \"#3f3f3f\"\r\n },\r\n font: {\r\n color: WHITE\r\n }\r\n },\r\n controlBar: {\r\n borderColor: LINE_COLOR,\r\n color: DARK_BACKGROUND_COLOR\r\n }\r\n },\r\n treeMap: {\r\n group: {\r\n color: \"#4c4c4c\",\r\n label: {\r\n font: {\r\n color: \"#a3a3a3\"\r\n }\r\n }\r\n }\r\n },\r\n sparkline: {\r\n lineColor: LINE_COLOR,\r\n firstLastColor: LINE_COLOR,\r\n barPositiveColor: POSITIVE_COLOR,\r\n barNegativeColor: TARGET_COLOR,\r\n winColor: POSITIVE_COLOR,\r\n lossColor: TARGET_COLOR,\r\n pointColor: DARK_BACKGROUND_COLOR\r\n },\r\n bullet: {\r\n targetColor: TARGET_COLOR\r\n },\r\n funnel: {\r\n item: {\r\n border: {\r\n color: DARK_BACKGROUND_COLOR\r\n }\r\n }\r\n },\r\n sankey: {\r\n label: {\r\n font: {\r\n color: WHITE\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"material\"\r\n}];\r\n\r\nfunction getMaterialColorScheme(accentName, themeName, accentColor) {\r\n return {\r\n theme: {\r\n name: \"material.\" + accentName + \".\" + themeName,\r\n rangeSelector: {\r\n selectedRangeColor: accentColor,\r\n sliderMarker: {\r\n color: accentColor\r\n },\r\n sliderHandle: {\r\n color: accentColor\r\n }\r\n },\r\n map: {\r\n \"layer:marker:dot\": {\r\n color: accentColor\r\n },\r\n \"layer:marker:bubble\": {\r\n color: accentColor\r\n },\r\n legend: {\r\n markerColor: accentColor\r\n }\r\n },\r\n bullet: {\r\n color: accentColor\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: accentColor\r\n },\r\n textcloud: {\r\n color: accentColor\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"material.\" + themeName\r\n }\r\n}\r\nvar materialAccents = {\r\n blue: \"#03a9f4\",\r\n lime: \"#cddc39\",\r\n orange: \"#ff5722\",\r\n purple: \"#9c27b0\",\r\n teal: \"#009688\"\r\n};\r\nfor (var accent in materialAccents) {\r\n if (Object.prototype.hasOwnProperty.call(materialAccents, accent)) {\r\n var color = materialAccents[accent];\r\n themes.push(getMaterialColorScheme(accent, \"light\", color), getMaterialColorScheme(accent, \"dark\", color), {\r\n theme: {\r\n name: \"material.\".concat(accent, \".light.compact\")\r\n },\r\n baseThemeName: \"material.\".concat(accent, \".light\")\r\n }, {\r\n theme: {\r\n name: \"material.\".concat(accent, \".dark.compact\")\r\n },\r\n baseThemeName: \"material.\".concat(accent, \".dark\")\r\n })\r\n }\r\n}\r\nexport default themes;\r\n","/**\r\n * DevExtreme (esm/viz/themes.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n normalizeEnum\r\n} from \"./core/utils\";\r\nimport {\r\n current as getCurrentTheme\r\n} from \"../ui/themes\";\r\nimport {\r\n isEmptyObject\r\n} from \"../core/utils/type\";\r\nimport lightThemes from \"./core/themes/generic.light\";\r\nimport carmineThemes from \"./core/themes/generic.carmine\";\r\nimport darkThemes from \"./core/themes/generic.dark\";\r\nimport contrastThemes from \"./core/themes/generic.contrast\";\r\nimport darkMoonThemes from \"./core/themes/generic.darkmoon\";\r\nimport darkVioletThemes from \"./core/themes/generic.darkviolet\";\r\nimport greenMistThemes from \"./core/themes/generic.greenmist\";\r\nimport softBlueThemes from \"./core/themes/generic.softblue\";\r\nimport materialThemes from \"./core/themes/material\";\r\nvar themes = {};\r\nvar themesMapping = {};\r\nvar themesSchemeMapping = {};\r\nvar _extend = extend;\r\nvar _each = each;\r\nvar currentThemeName = null;\r\nvar defaultTheme;\r\nvar nextCacheUid = 0;\r\nvar widgetsCache = {};\r\nexport function getTheme(themeName) {\r\n var name = normalizeEnum(themeName);\r\n return themes[name] || themes[themesMapping[name] || currentTheme()]\r\n}\r\n\r\nfunction findThemeNameByName(name, scheme) {\r\n return themesMapping[name + \".\" + scheme] || themesSchemeMapping[name + \".\" + scheme] || themesMapping[name]\r\n}\r\n\r\nfunction findThemeNameByPlatform(platform, version, scheme) {\r\n return findThemeNameByName(platform + version, scheme) || findThemeNameByName(platform, scheme)\r\n}\r\nexport function currentTheme(themeName, colorScheme) {\r\n if (!arguments.length) {\r\n return currentThemeName || findThemeNameByName(getCurrentTheme()) || defaultTheme\r\n }\r\n var scheme = normalizeEnum(colorScheme);\r\n currentThemeName = (themeName && themeName.platform ? findThemeNameByPlatform(normalizeEnum(themeName.platform), themeName.version, scheme) : findThemeNameByName(normalizeEnum(themeName), scheme)) || currentThemeName;\r\n return this\r\n}\r\n\r\nfunction getThemeInfo(themeName, splitter) {\r\n var k = themeName.indexOf(splitter);\r\n return k > 0 ? {\r\n name: themeName.substring(0, k),\r\n scheme: themeName.substring(k + 1)\r\n } : null\r\n}\r\n\r\nfunction registerThemeName(themeName, targetThemeName) {\r\n var themeInfo = getThemeInfo(themeName, \".\") || {\r\n name: themeName\r\n };\r\n var name = themeInfo.name;\r\n var scheme = themeInfo.scheme;\r\n if (scheme) {\r\n themesMapping[name] = themesMapping[name] || targetThemeName;\r\n themesMapping[name + \".\" + scheme] = targetThemeName\r\n } else {\r\n themesMapping[name] = targetThemeName\r\n }\r\n}\r\nexport function registerTheme(theme, baseThemeName) {\r\n var themeName = normalizeEnum(theme && theme.name);\r\n if (themeName) {\r\n theme.isDefault && (defaultTheme = themeName);\r\n registerThemeName(themeName, themeName);\r\n themes[themeName] = _extend(true, {}, getTheme(baseThemeName), patchTheme(theme))\r\n }\r\n}\r\nexport function registerThemeSchemeAlias(from, to) {\r\n themesSchemeMapping[from] = to\r\n}\r\n\r\nfunction mergeScalar(target, field, source, sourceValue) {\r\n var _value = source ? source[field] : sourceValue;\r\n if (void 0 !== _value && void 0 === target[field]) {\r\n target[field] = _value\r\n }\r\n}\r\n\r\nfunction mergeObject(target, field, source, sourceValue) {\r\n var _value = source ? source[field] : sourceValue;\r\n if (void 0 !== _value) {\r\n target[field] = _extend(true, {}, _value, target[field])\r\n }\r\n}\r\n\r\nfunction patchTheme(theme) {\r\n theme = _extend(true, {\r\n loadingIndicator: {\r\n font: {}\r\n },\r\n export: {\r\n font: {}\r\n },\r\n legend: {\r\n font: {},\r\n border: {}\r\n },\r\n title: {\r\n font: {}\r\n },\r\n tooltip: {\r\n font: {}\r\n },\r\n \"chart:common\": {},\r\n \"chart:common:axis\": {\r\n grid: {},\r\n minorGrid: {},\r\n tick: {},\r\n minorTick: {},\r\n title: {\r\n font: {}\r\n },\r\n label: {\r\n font: {}\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {},\r\n border: {}\r\n },\r\n chart: {\r\n commonSeriesSettings: {\r\n candlestick: {}\r\n }\r\n },\r\n pie: {},\r\n polar: {},\r\n gauge: {\r\n scale: {\r\n tick: {},\r\n minorTick: {},\r\n label: {\r\n font: {}\r\n }\r\n }\r\n },\r\n barGauge: {},\r\n funnel: {},\r\n sankey: {},\r\n map: {\r\n background: {}\r\n },\r\n treeMap: {\r\n tile: {\r\n selectionStyle: {\r\n border: {}\r\n }\r\n },\r\n group: {\r\n border: {},\r\n selectionStyle: {\r\n border: {}\r\n },\r\n label: {\r\n font: {}\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n scale: {\r\n tick: {},\r\n minorTick: {},\r\n label: {\r\n font: {}\r\n }\r\n },\r\n chart: {}\r\n },\r\n sparkline: {},\r\n bullet: {}\r\n }, theme);\r\n mergeScalar(theme.loadingIndicator, \"backgroundColor\", theme);\r\n mergeScalar(theme.chart.commonSeriesSettings.candlestick, \"innerColor\", null, theme.backgroundColor);\r\n mergeScalar(theme.map.background, \"color\", null, theme.backgroundColor);\r\n mergeScalar(theme.title.font, \"color\", null, theme.primaryTitleColor);\r\n mergeObject(theme.title, \"subtitle\", null, theme.title);\r\n mergeScalar(theme.legend.font, \"color\", null, theme.secondaryTitleColor);\r\n mergeScalar(theme.legend.border, \"color\", null, theme.gridColor);\r\n patchAxes(theme);\r\n _each([\"chart\", \"pie\", \"polar\", \"gauge\", \"barGauge\", \"map\", \"treeMap\", \"funnel\", \"rangeSelector\", \"sparkline\", \"bullet\", \"sankey\"], (function(_, section) {\r\n mergeScalar(theme[section], \"redrawOnResize\", theme);\r\n mergeScalar(theme[section], \"containerBackgroundColor\", null, theme.backgroundColor);\r\n mergeObject(theme[section], \"tooltip\", theme);\r\n mergeObject(theme[section], \"export\", theme)\r\n }));\r\n _each([\"chart\", \"pie\", \"polar\", \"gauge\", \"barGauge\", \"map\", \"treeMap\", \"funnel\", \"rangeSelector\", \"sankey\"], (function(_, section) {\r\n mergeObject(theme[section], \"loadingIndicator\", theme);\r\n mergeObject(theme[section], \"legend\", theme);\r\n mergeObject(theme[section], \"title\", theme)\r\n }));\r\n _each([\"chart\", \"pie\", \"polar\"], (function(_, section) {\r\n mergeObject(theme, section, null, theme[\"chart:common\"])\r\n }));\r\n _each([\"chart\", \"polar\"], (function(_, section) {\r\n theme[section] = theme[section] || {};\r\n mergeObject(theme[section], \"commonAxisSettings\", null, theme[\"chart:common:axis\"])\r\n }));\r\n _each([\"chart\", \"polar\", \"map\", \"pie\"], (function(_, section) {\r\n theme[section] = theme[section] || {};\r\n mergeObject(theme[section], \"commonAnnotationSettings\", null, theme[\"chart:common:annotation\"])\r\n }));\r\n mergeObject(theme.rangeSelector.chart, \"commonSeriesSettings\", theme.chart);\r\n mergeObject(theme.rangeSelector.chart, \"dataPrepareSettings\", theme.chart);\r\n mergeScalar(theme.treeMap.group.border, \"color\", null, theme.gridColor);\r\n mergeScalar(theme.treeMap.tile.selectionStyle.border, \"color\", null, theme.primaryTitleColor);\r\n mergeScalar(theme.treeMap.group.selectionStyle.border, \"color\", null, theme.primaryTitleColor);\r\n mergeScalar(theme.map.legend, \"backgroundColor\", theme);\r\n patchMapLayers(theme);\r\n return theme\r\n}\r\n\r\nfunction patchAxes(theme) {\r\n var commonAxisSettings = theme[\"chart:common:axis\"];\r\n _each([commonAxisSettings.grid, commonAxisSettings.minorGrid], (function(_, obj) {\r\n mergeScalar(obj, \"color\", null, theme.gridColor)\r\n }));\r\n _each([commonAxisSettings, commonAxisSettings.tick, commonAxisSettings.minorTick, commonAxisSettings.label.font], (function(_, obj) {\r\n mergeScalar(obj, \"color\", null, theme.axisColor)\r\n }));\r\n mergeScalar(commonAxisSettings.title.font, \"color\", null, theme.secondaryTitleColor);\r\n mergeScalar(theme.gauge.scale.label.font, \"color\", null, theme.axisColor);\r\n mergeScalar(theme.gauge.scale.tick, \"color\", null, theme.backgroundColor);\r\n mergeScalar(theme.gauge.scale.minorTick, \"color\", null, theme.backgroundColor);\r\n mergeScalar(theme.rangeSelector.scale.label.font, \"color\", null, theme.axisColor)\r\n}\r\n\r\nfunction patchMapLayers(theme) {\r\n var map = theme.map;\r\n _each([\"area\", \"line\", \"marker\"], (function(_, section) {\r\n mergeObject(map, \"layer:\" + section, null, map.layer)\r\n }));\r\n _each([\"dot\", \"bubble\", \"pie\", \"image\"], (function(_, section) {\r\n mergeObject(map, \"layer:marker:\" + section, null, map[\"layer:marker\"])\r\n }))\r\n}\r\nexport function addCacheItem(target) {\r\n var cacheUid = ++nextCacheUid;\r\n target._cache = cacheUid;\r\n widgetsCache[cacheUid] = target\r\n}\r\nexport function removeCacheItem(target) {\r\n delete widgetsCache[target._cache]\r\n}\r\nexport function refreshTheme() {\r\n _each(widgetsCache, (function() {\r\n this.refresh()\r\n }));\r\n return this\r\n}\r\nif (isEmptyObject(themes) && isEmptyObject(themesMapping) && !defaultTheme) {\r\n [].concat(lightThemes, carmineThemes, darkThemes, contrastThemes, darkMoonThemes, darkVioletThemes, greenMistThemes, softBlueThemes, materialThemes).forEach(t => {\r\n registerTheme(t.theme, t.baseThemeName)\r\n })\r\n}\r\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhTw = moment.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhTw;\n\n})));\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/**\r\n * DevExtreme (esm/localization/currency.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nexport default {\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"currency\" === format) {\r\n formatConfig.precision = formatConfig.precision || 0;\r\n var result = this.format(value, extend({}, formatConfig, {\r\n type: \"fixedpoint\"\r\n }));\r\n var currencyPart = this.getCurrencySymbol().symbol.replace(/\\$/g, \"$$$$\");\r\n result = result.replace(/^(\\D*)(\\d.*)/, \"$1\" + currencyPart + \"$2\");\r\n return result\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getCurrencySymbol: function() {\r\n return {\r\n symbol: \"$\"\r\n }\r\n },\r\n getOpenXmlCurrencyFormat: function() {\r\n return \"$#,##0{0}_);\\\\($#,##0{0}\\\\)\"\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/events/core/emitter.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDxMouseWheelEvent,\r\n hasTouches,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar Emitter = Class.inherit({\r\n ctor: function(element) {\r\n this._$element = $(element);\r\n this._cancelCallback = Callbacks();\r\n this._acceptCallback = Callbacks()\r\n },\r\n getElement: function() {\r\n return this._$element\r\n },\r\n validate: function(e) {\r\n return !isDxMouseWheelEvent(e)\r\n },\r\n validatePointers: function(e) {\r\n return 1 === hasTouches(e)\r\n },\r\n allowInterruptionByMouseWheel: function() {\r\n return true\r\n },\r\n configure: function(data) {\r\n extend(this, data)\r\n },\r\n addCancelCallback: function(callback) {\r\n this._cancelCallback.add(callback)\r\n },\r\n removeCancelCallback: function() {\r\n this._cancelCallback.empty()\r\n },\r\n _cancel: function(e) {\r\n this._cancelCallback.fire(this, e)\r\n },\r\n addAcceptCallback: function(callback) {\r\n this._acceptCallback.add(callback)\r\n },\r\n removeAcceptCallback: function() {\r\n this._acceptCallback.empty()\r\n },\r\n _accept: function(e) {\r\n this._acceptCallback.fire(this, e)\r\n },\r\n _requestAccept: function(e) {\r\n this._acceptRequestEvent = e\r\n },\r\n _forgetAccept: function() {\r\n this._accept(this._acceptRequestEvent);\r\n this._acceptRequestEvent = null\r\n },\r\n start: noop,\r\n move: noop,\r\n end: noop,\r\n cancel: noop,\r\n reset: function() {\r\n if (this._acceptRequestEvent) {\r\n this._accept(this._acceptRequestEvent)\r\n }\r\n },\r\n _fireEvent: function(eventName, e, params) {\r\n var eventData = extend({\r\n type: eventName,\r\n originalEvent: e,\r\n target: this._getEmitterTarget(e),\r\n delegateTarget: this.getElement().get(0)\r\n }, params);\r\n e = fireEvent(eventData);\r\n if (e.cancel) {\r\n this._cancel(e)\r\n }\r\n return e\r\n },\r\n _getEmitterTarget: function(e) {\r\n return (this.delegateSelector ? $(e.target).closest(this.delegateSelector) : this.getElement()).get(0)\r\n },\r\n dispose: noop\r\n});\r\nexport default Emitter;\r\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TemplatesManager = void 0;\nvar templates_discovering_1 = require(\"./templates-discovering\");\nvar dom_adapter_1 = __importDefault(require(\"devextreme/core/dom_adapter\"));\nvar events_1 = require(\"devextreme/events\");\nvar constants_1 = require(\"./constants\");\nvar helpers_1 = require(\"./helpers\");\nvar TemplatesManager = /** @class */ (function () {\n function TemplatesManager(component) {\n this._slots = {};\n this._templates = {};\n this._isDirty = false;\n this._component = component;\n this.discover();\n }\n TemplatesManager.prototype.discover = function () {\n this._slots = __assign({}, (0, templates_discovering_1.discover)(this._component));\n if (!(0, helpers_1.allKeysAreEqual)(this._templates, this._slots)) {\n this._prepareTemplates();\n }\n };\n Object.defineProperty(TemplatesManager.prototype, \"templates\", {\n get: function () {\n return this._templates;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TemplatesManager.prototype, \"isDirty\", {\n get: function () {\n return this._isDirty;\n },\n enumerable: false,\n configurable: true\n });\n TemplatesManager.prototype.resetDirtyFlag = function () {\n this._isDirty = false;\n };\n TemplatesManager.prototype._prepareTemplates = function () {\n this._templates = {};\n for (var _i = 0, _a = Object.keys(this._slots); _i < _a.length; _i++) {\n var name_1 = _a[_i];\n this._templates[name_1] = this.createDxTemplate(name_1);\n }\n this._isDirty = true;\n };\n TemplatesManager.prototype.createDxTemplate = function (name) {\n var _this = this;\n return {\n render: function (data) {\n var rendered = (function (onRendered, counter) {\n if (counter === void 0) { counter = 0; }\n return function () {\n if (counter === 1 && onRendered) {\n onRendered();\n }\n counter++;\n };\n })(data.onRendered);\n var scopeData = { data: data.model, index: data.index, onRendered: rendered };\n var placeholder = document.createElement(\"div\");\n var container = data.container.get ? data.container.get(0) : data.container;\n container.appendChild(placeholder);\n var mountedTemplate = (0, templates_discovering_1.mountTemplate)(function () { return _this._slots[name]; }, _this._component, scopeData, name, placeholder);\n var element = mountedTemplate.$el;\n container.removeChild(placeholder);\n while (placeholder.firstChild) {\n container.appendChild(placeholder.firstChild);\n }\n dom_adapter_1.default.setClass(element, constants_1.DX_TEMPLATE_WRAPPER_CLASS, true);\n if (element.nodeType === Node.TEXT_NODE) {\n var removalListener = document.createElement(container.nodeName === \"TABLE\" ? \"tbody\" : \"span\");\n removalListener.style.display = \"none\";\n container.appendChild(removalListener);\n (0, events_1.one)(removalListener, constants_1.DX_REMOVE_EVENT, mountedTemplate.$.appContext.app.unmount.bind(mountedTemplate));\n }\n else {\n (0, events_1.one)(element, constants_1.DX_REMOVE_EVENT, mountedTemplate.$.appContext.app.unmount.bind(mountedTemplate));\n }\n rendered();\n return element;\n }\n };\n };\n return TemplatesManager;\n}());\nexports.TemplatesManager = TemplatesManager;\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.native.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n isDxMouseWheelEvent\r\n} from \"../../events/utils/index\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport devices from \"../../core/devices\";\r\nimport Class from \"../../core/class\";\r\nimport Scrollbar from \"./ui.scrollbar\";\r\nvar SCROLLABLE_NATIVE = \"dxNativeScrollable\";\r\nvar SCROLLABLE_NATIVE_CLASS = \"dx-scrollable-native\";\r\nvar SCROLLABLE_SCROLLBAR_SIMULATED = \"dx-scrollable-scrollbar-simulated\";\r\nvar SCROLLABLE_SCROLLBARS_HIDDEN = \"dx-scrollable-scrollbars-hidden\";\r\nvar VERTICAL = \"vertical\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar HIDE_SCROLLBAR_TIMEOUT = 500;\r\nvar NativeStrategy = Class.inherit({\r\n ctor: function(scrollable) {\r\n this._init(scrollable)\r\n },\r\n _init: function(scrollable) {\r\n this._component = scrollable;\r\n this._$element = scrollable.$element();\r\n this._$container = $(scrollable.container());\r\n this._$content = scrollable.$content();\r\n this._direction = scrollable.option(\"direction\");\r\n this._useSimulatedScrollbar = scrollable.option(\"useSimulatedScrollbar\");\r\n this.option = scrollable.option.bind(scrollable);\r\n this._createActionByOption = scrollable._createActionByOption.bind(scrollable);\r\n this._isLocked = scrollable._isLocked.bind(scrollable);\r\n this._isDirection = scrollable._isDirection.bind(scrollable);\r\n this._allowedDirection = scrollable._allowedDirection.bind(scrollable);\r\n this._getMaxOffset = scrollable._getMaxOffset.bind(scrollable);\r\n this._isRtlNativeStrategy = scrollable._isRtlNativeStrategy.bind(scrollable)\r\n },\r\n render: function() {\r\n var device = devices.real();\r\n var deviceType = device.platform;\r\n this._$element.addClass(SCROLLABLE_NATIVE_CLASS).addClass(SCROLLABLE_NATIVE_CLASS + \"-\" + deviceType).toggleClass(SCROLLABLE_SCROLLBARS_HIDDEN, !this._isScrollbarVisible());\r\n if (this._isScrollbarVisible() && this._useSimulatedScrollbar) {\r\n this._renderScrollbars()\r\n }\r\n },\r\n updateRtlPosition: function(isFirstRender) {\r\n if (isFirstRender && this.option(\"rtlEnabled\")) {\r\n if (this._isScrollbarVisible() && this._useSimulatedScrollbar) {\r\n this._moveScrollbars()\r\n }\r\n }\r\n },\r\n _renderScrollbars: function() {\r\n this._scrollbars = {};\r\n this._hideScrollbarTimeout = 0;\r\n this._$element.addClass(SCROLLABLE_SCROLLBAR_SIMULATED);\r\n this._renderScrollbar(VERTICAL);\r\n this._renderScrollbar(HORIZONTAL)\r\n },\r\n _renderScrollbar: function(direction) {\r\n if (!this._isDirection(direction)) {\r\n return\r\n }\r\n this._scrollbars[direction] = new Scrollbar($(\"<div>\").appendTo(this._$element), {\r\n direction: direction,\r\n expandable: this._component.option(\"scrollByThumb\")\r\n })\r\n },\r\n handleInit: noop,\r\n handleStart: noop,\r\n handleMove: function(e) {\r\n if (this._isLocked()) {\r\n e.cancel = true;\r\n return\r\n }\r\n if (this._allowedDirection()) {\r\n e.originalEvent.isScrollingEvent = true\r\n }\r\n },\r\n handleEnd: noop,\r\n handleCancel: noop,\r\n handleStop: noop,\r\n _eachScrollbar: function(callback) {\r\n callback = callback.bind(this);\r\n each(this._scrollbars || {}, (function(direction, scrollbar) {\r\n callback(scrollbar, direction)\r\n }))\r\n },\r\n createActions: function() {\r\n this._scrollAction = this._createActionByOption(\"onScroll\");\r\n this._updateAction = this._createActionByOption(\"onUpdated\")\r\n },\r\n _createActionArgs: function() {\r\n var {\r\n left: left,\r\n top: top\r\n } = this.location();\r\n return {\r\n event: this._eventForUserAction,\r\n scrollOffset: this._getScrollOffset(),\r\n reachedLeft: this._isRtlNativeStrategy() ? this._isReachedRight(-left) : this._isReachedLeft(left),\r\n reachedRight: this._isRtlNativeStrategy() ? this._isReachedLeft(-Math.abs(left)) : this._isReachedRight(left),\r\n reachedTop: this._isDirection(VERTICAL) ? Math.round(top) >= 0 : void 0,\r\n reachedBottom: this._isDirection(VERTICAL) ? Math.round(Math.abs(top) - this._getMaxOffset().top) >= 0 : void 0\r\n }\r\n },\r\n _getScrollOffset: function() {\r\n var {\r\n top: top,\r\n left: left\r\n } = this.location();\r\n return {\r\n top: -top,\r\n left: this._normalizeOffsetLeft(-left)\r\n }\r\n },\r\n _normalizeOffsetLeft(scrollLeft) {\r\n if (this._isRtlNativeStrategy()) {\r\n return this._getMaxOffset().left + scrollLeft\r\n }\r\n return scrollLeft\r\n },\r\n _isReachedLeft: function(left) {\r\n return this._isDirection(HORIZONTAL) ? Math.round(left) >= 0 : void 0\r\n },\r\n _isReachedRight: function(left) {\r\n return this._isDirection(HORIZONTAL) ? Math.round(Math.abs(left) - this._getMaxOffset().left) >= 0 : void 0\r\n },\r\n _isScrollbarVisible: function() {\r\n var {\r\n showScrollbar: showScrollbar\r\n } = this.option();\r\n return \"never\" !== showScrollbar && false !== showScrollbar\r\n },\r\n handleScroll: function(e) {\r\n this._eventForUserAction = e;\r\n this._moveScrollbars();\r\n this._scrollAction(this._createActionArgs())\r\n },\r\n _moveScrollbars: function() {\r\n var {\r\n top: top,\r\n left: left\r\n } = this._getScrollOffset();\r\n this._eachScrollbar((function(scrollbar) {\r\n scrollbar.moveTo({\r\n top: -top,\r\n left: -left\r\n });\r\n scrollbar.option(\"visible\", true)\r\n }));\r\n this._hideScrollbars()\r\n },\r\n _hideScrollbars: function() {\r\n clearTimeout(this._hideScrollbarTimeout);\r\n this._hideScrollbarTimeout = setTimeout(function() {\r\n this._eachScrollbar((function(scrollbar) {\r\n scrollbar.option(\"visible\", false)\r\n }))\r\n }.bind(this), HIDE_SCROLLBAR_TIMEOUT)\r\n },\r\n location: function() {\r\n return {\r\n left: -this._$container.scrollLeft(),\r\n top: -this._$container.scrollTop()\r\n }\r\n },\r\n disabledChanged: noop,\r\n update: function() {\r\n this._update();\r\n this._updateAction(this._createActionArgs())\r\n },\r\n _update: function() {\r\n this._updateDimensions();\r\n this._updateScrollbars()\r\n },\r\n _updateDimensions: function() {\r\n this._containerSize = {\r\n height: getHeight(this._$container),\r\n width: getWidth(this._$container)\r\n };\r\n this._componentContentSize = {\r\n height: getHeight(this._component.$content()),\r\n width: getWidth(this._component.$content())\r\n };\r\n this._contentSize = {\r\n height: getHeight(this._$content),\r\n width: getWidth(this._$content)\r\n }\r\n },\r\n _updateScrollbars: function() {\r\n this._eachScrollbar((function(scrollbar, direction) {\r\n var dimension = direction === VERTICAL ? \"height\" : \"width\";\r\n scrollbar.option({\r\n containerSize: this._containerSize[dimension],\r\n contentSize: this._componentContentSize[dimension]\r\n });\r\n scrollbar.update()\r\n }))\r\n },\r\n _allowedDirections: function() {\r\n return {\r\n vertical: this._isDirection(VERTICAL) && this._contentSize.height > this._containerSize.height,\r\n horizontal: this._isDirection(HORIZONTAL) && this._contentSize.width > this._containerSize.width\r\n }\r\n },\r\n dispose: function() {\r\n var className = this._$element.get(0).className;\r\n var scrollableNativeRegexp = new RegExp(SCROLLABLE_NATIVE_CLASS + \"\\\\S*\", \"g\");\r\n if (scrollableNativeRegexp.test(className)) {\r\n this._$element.removeClass(className.match(scrollableNativeRegexp).join(\" \"))\r\n }\r\n eventsEngine.off(this._$element, \".\" + SCROLLABLE_NATIVE);\r\n eventsEngine.off(this._$container, \".\" + SCROLLABLE_NATIVE);\r\n this._removeScrollbars();\r\n clearTimeout(this._hideScrollbarTimeout)\r\n },\r\n _removeScrollbars: function() {\r\n this._eachScrollbar((function(scrollbar) {\r\n scrollbar.$element().remove()\r\n }))\r\n },\r\n scrollBy: function(distance) {\r\n var location = this.location();\r\n this._$container.scrollTop(Math.round(-location.top - distance.top));\r\n this._$container.scrollLeft(Math.round(-location.left - distance.left))\r\n },\r\n validate: function(e) {\r\n if (this.option(\"disabled\")) {\r\n return false\r\n }\r\n if (isDxMouseWheelEvent(e) && this._isScrolledInMaxDirection(e)) {\r\n return false\r\n }\r\n return !!this._allowedDirection()\r\n },\r\n _isScrolledInMaxDirection(e) {\r\n var container = this._$container.get(0);\r\n var result;\r\n if (e.delta > 0) {\r\n result = e.shiftKey ? !container.scrollLeft : !container.scrollTop\r\n } else if (e.shiftKey) {\r\n result = container.scrollLeft >= this._getMaxOffset().left\r\n } else {\r\n result = container.scrollTop >= this._getMaxOffset().top\r\n }\r\n return result\r\n },\r\n getDirection: function() {\r\n return this._allowedDirection()\r\n }\r\n});\r\nexport default NativeStrategy;\r\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","/**\r\n * DevExtreme (esm/core/utils/string.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction,\r\n isString\r\n} from \"./type\";\r\nexport var encodeHtml = function() {\r\n var encodeRegExp = [new RegExp(\"&\", \"g\"), new RegExp('\"', \"g\"), new RegExp(\"'\", \"g\"), new RegExp(\"<\", \"g\"), new RegExp(\">\", \"g\")];\r\n return function(str) {\r\n return String(str).replace(encodeRegExp[0], \"&\").replace(encodeRegExp[1], \""\").replace(encodeRegExp[2], \"'\").replace(encodeRegExp[3], \"<\").replace(encodeRegExp[4], \">\")\r\n }\r\n}();\r\nvar splitQuad = function(raw) {\r\n switch (typeof raw) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 4);\r\n case \"object\":\r\n return [raw.x || raw.h || raw.left, raw.y || raw.v || raw.top, raw.x || raw.h || raw.right, raw.y || raw.v || raw.bottom];\r\n case \"number\":\r\n return [raw];\r\n default:\r\n return raw\r\n }\r\n};\r\nexport var quadToObject = function(raw) {\r\n var quad = splitQuad(raw);\r\n var left = parseInt(quad && quad[0], 10);\r\n var top = parseInt(quad && quad[1], 10);\r\n var right = parseInt(quad && quad[2], 10);\r\n var bottom = parseInt(quad && quad[3], 10);\r\n if (!isFinite(left)) {\r\n left = 0\r\n }\r\n if (!isFinite(top)) {\r\n top = left\r\n }\r\n if (!isFinite(right)) {\r\n right = left\r\n }\r\n if (!isFinite(bottom)) {\r\n bottom = top\r\n }\r\n return {\r\n top: top,\r\n right: right,\r\n bottom: bottom,\r\n left: left\r\n }\r\n};\r\nexport function format(template) {\r\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\r\n values[_key - 1] = arguments[_key]\r\n }\r\n if (isFunction(template)) {\r\n return template(...values)\r\n }\r\n values.forEach((value, index) => {\r\n if (isString(value)) {\r\n value = value.replace(/\\$/g, \"$$$$\")\r\n }\r\n var placeholderReg = new RegExp(\"\\\\{\" + index + \"\\\\}\", \"gm\");\r\n template = template.replace(placeholderReg, value)\r\n });\r\n return template\r\n}\r\nexport var isEmpty = function() {\r\n var SPACE_REGEXP = /\\s/g;\r\n return function(text) {\r\n return !text || !text.replace(SPACE_REGEXP, \"\")\r\n }\r\n}();\r\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет',\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [\n /^янв/i,\n /^фев/i,\n /^мар/i,\n /^апр/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^авг/i,\n /^сен/i,\n /^окт/i,\n /^ноя/i,\n /^дек/i,\n ];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n '_'\n ),\n standalone:\n 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n standalone:\n 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n },\n weekdays: {\n standalone:\n 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n '_'\n ),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n '_'\n ),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex:\n /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex:\n /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm',\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'час',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n w: 'неделя',\n ww: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n '_'\n ),\n monthsShort:\n '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function (input) {\n return input === 'ҮХ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar: {\n sameDay: '[Өнөөдөр] LT',\n nextDay: '[Маргааш] LT',\n nextWeek: '[Ирэх] dddd LT',\n lastDay: '[Өчигдөр] LT',\n lastWeek: '[Өнгөрсөн] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s дараа',\n past: '%s өмнө',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n },\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү',\n };\n\n var ky = moment.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n '_'\n ),\n weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n '_'\n ),\n weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгүн саат] LT',\n nextDay: '[Эртең саат] LT',\n nextWeek: 'dddd [саат] LT',\n lastDay: '[Кечээ саат] LT',\n lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ичинде',\n past: '%s мурун',\n s: 'бирнече секунд',\n ss: '%d секунд',\n m: 'бир мүнөт',\n mm: '%d мүнөт',\n h: 'бир саат',\n hh: '%d саат',\n d: 'бир күн',\n dd: '%d күн',\n M: 'бир ай',\n MM: '%d ай',\n y: 'бир жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bnBd = moment.defineLocale('bn-bd', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n\n meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'রাত') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ভোর') {\n return hour;\n } else if (meridiem === 'সকাল') {\n return hour;\n } else if (meridiem === 'দুপুর') {\n return hour >= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সন্ধ্যা') {\n return hour + 12;\n }\n },\n\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 6) {\n return 'ভোর';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দুপুর';\n } else if (hour < 18) {\n return 'বিকাল';\n } else if (hour < 20) {\n return 'সন্ধ্যা';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bnBd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani',\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n '_'\n ),\n monthsShort:\n 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural,\n m: 'un minut',\n mm: relativeTimeWithPlural,\n h: 'o oră',\n hh: relativeTimeWithPlural,\n d: 'o zi',\n dd: relativeTimeWithPlural,\n w: 'o săptămână',\n ww: relativeTimeWithPlural,\n M: 'o lună',\n MM: relativeTimeWithPlural,\n y: 'un an',\n yy: relativeTimeWithPlural,\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ro;\n\n})));\n","var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};function t(t,n){if(\"function\"!=typeof n&&null!==n)throw new TypeError(\"Class extends value \"+String(n)+\" is not a constructor or null\");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}var n=function(){return n=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function r(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function o(e,t,n,r){return new(n||(n=Promise))((function(o,i){function c(e){try{s(r.next(e))}catch(e){i(e)}}function a(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(c,a)}s((r=r.apply(e,t||[])).next())}))}function i(e,t){var n,r,o,i,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw new TypeError(\"Generator is already executing.\");for(;c;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return c.label++,{value:i[1],done:!1};case 5:c.label++,r=i[1],i=[0];continue;case 7:i=c.ops.pop(),c.trys.pop();continue;default:if(!(o=c.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){c=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){c.label=i[1];break}if(6===i[0]&&c.label<o[1]){c.label=o[1],o=i;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(i);break}o[2]&&c.ops.pop(),c.trys.pop();continue}i=t.call(e,c)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}}function c(e,t){var n=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),c=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)c.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return c}function a(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}var s=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function u(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function l(e,t){return e(t={exports:{}},t.exports),t.exports}var f,d,h=function(e){return e&&e.Math==Math&&e},p=h(\"object\"==typeof globalThis&&globalThis)||h(\"object\"==typeof window&&window)||h(\"object\"==typeof self&&self)||h(\"object\"==typeof s&&s)||function(){return this}()||Function(\"return this\")(),y=function(e){try{return!!e()}catch(e){return!0}},v=!y((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),m=!y((function(){var e=function(){}.bind();return\"function\"!=typeof e||e.hasOwnProperty(\"prototype\")})),b=Function.prototype.call,g=m?b.bind(b):function(){return b.apply(b,arguments)},w={}.propertyIsEnumerable,S=Object.getOwnPropertyDescriptor,k=S&&!w.call({1:2},1)?function(e){var t=S(this,e);return!!t&&t.enumerable}:w,_={f:k},I=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},O=Function,x=O.prototype,T=x.bind,C=x.call,j=m&&T.bind(C,C),L=function(e){return e instanceof O?m?j(e):function(){return C.apply(e,arguments)}:void 0},R=L({}.toString),W=L(\"\".slice),Z=function(e){return W(R(e),8,-1)},E=Object,G=L(\"\".split),A=y((function(){return!E(\"z\").propertyIsEnumerable(0)}))?function(e){return\"String\"==Z(e)?G(e,\"\"):E(e)}:E,P=function(e){return null==e},X=TypeError,F=function(e){if(P(e))throw X(\"Can't call method on \"+e);return e},K=function(e){return A(F(e))},N=\"object\"==typeof document&&document.all,U={all:N,IS_HTMLDDA:void 0===N&&void 0!==N},D=U.all,H=U.IS_HTMLDDA?function(e){return\"function\"==typeof e||e===D}:function(e){return\"function\"==typeof e},Y=U.all,J=U.IS_HTMLDDA?function(e){return\"object\"==typeof e?null!==e:H(e)||e===Y}:function(e){return\"object\"==typeof e?null!==e:H(e)},V=function(e){return H(e)?e:void 0},z=function(e,t){return arguments.length<2?V(p[e]):p[e]&&p[e][t]},M=L({}.isPrototypeOf),B=z(\"navigator\",\"userAgent\")||\"\",Q=p.process,q=p.Deno,$=Q&&Q.versions||q&&q.version,ee=$&&$.v8;ee&&(d=(f=ee.split(\".\"))[0]>0&&f[0]<4?1:+(f[0]+f[1])),!d&&B&&(!(f=B.match(/Edge\\/(\\d+)/))||f[1]>=74)&&(f=B.match(/Chrome\\/(\\d+)/))&&(d=+f[1]);var te=d,ne=!!Object.getOwnPropertySymbols&&!y((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&te&&te<41})),re=ne&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator,oe=Object,ie=re?function(e){return\"symbol\"==typeof e}:function(e){var t=z(\"Symbol\");return H(t)&&M(t.prototype,oe(e))},ce=String,ae=function(e){try{return ce(e)}catch(e){return\"Object\"}},se=TypeError,ue=function(e){if(H(e))return e;throw se(ae(e)+\" is not a function\")},le=function(e,t){var n=e[t];return P(n)?void 0:ue(n)},fe=TypeError,de=Object.defineProperty,he=function(e,t){try{de(p,e,{value:t,configurable:!0,writable:!0})}catch(n){p[e]=t}return t},pe=p[\"__core-js_shared__\"]||he(\"__core-js_shared__\",{}),ye=l((function(e){(e.exports=function(e,t){return pe[e]||(pe[e]=void 0!==t?t:{})})(\"versions\",[]).push({version:\"3.25.4\",mode:\"global\",copyright:\"© 2014-2022 Denis Pushkarev (zloirock.ru)\",license:\"https://github.com/zloirock/core-js/blob/v3.25.4/LICENSE\",source:\"https://github.com/zloirock/core-js\"})})),ve=Object,me=function(e){return ve(F(e))},be=L({}.hasOwnProperty),ge=Object.hasOwn||function(e,t){return be(me(e),t)},we=0,Se=Math.random(),ke=L(1..toString),_e=function(e){return\"Symbol(\"+(void 0===e?\"\":e)+\")_\"+ke(++we+Se,36)},Ie=ye(\"wks\"),Oe=p.Symbol,xe=Oe&&Oe.for,Te=re?Oe:Oe&&Oe.withoutSetter||_e,Ce=function(e){if(!ge(Ie,e)||!ne&&\"string\"!=typeof Ie[e]){var t=\"Symbol.\"+e;ne&&ge(Oe,e)?Ie[e]=Oe[e]:Ie[e]=re&&xe?xe(t):Te(t)}return Ie[e]},je=TypeError,Le=Ce(\"toPrimitive\"),Re=function(e,t){if(!J(e)||ie(e))return e;var n,r=le(e,Le);if(r){if(void 0===t&&(t=\"default\"),n=g(r,e,t),!J(n)||ie(n))return n;throw je(\"Can't convert object to primitive value\")}return void 0===t&&(t=\"number\"),function(e,t){var n,r;if(\"string\"===t&&H(n=e.toString)&&!J(r=g(n,e)))return r;if(H(n=e.valueOf)&&!J(r=g(n,e)))return r;if(\"string\"!==t&&H(n=e.toString)&&!J(r=g(n,e)))return r;throw fe(\"Can't convert object to primitive value\")}(e,t)},We=function(e){var t=Re(e,\"string\");return ie(t)?t:t+\"\"},Ze=p.document,Ee=J(Ze)&&J(Ze.createElement),Ge=function(e){return Ee?Ze.createElement(e):{}},Ae=!v&&!y((function(){return 7!=Object.defineProperty(Ge(\"div\"),\"a\",{get:function(){return 7}}).a})),Pe=Object.getOwnPropertyDescriptor,Xe={f:v?Pe:function(e,t){if(e=K(e),t=We(t),Ae)try{return Pe(e,t)}catch(e){}if(ge(e,t))return I(!g(_.f,e,t),e[t])}},Fe=v&&y((function(){return 42!=Object.defineProperty((function(){}),\"prototype\",{value:42,writable:!1}).prototype})),Ke=String,Ne=TypeError,Ue=function(e){if(J(e))return e;throw Ne(Ke(e)+\" is not an object\")},De=TypeError,He=Object.defineProperty,Ye=Object.getOwnPropertyDescriptor,Je={f:v?Fe?function(e,t,n){if(Ue(e),t=We(t),Ue(n),\"function\"==typeof e&&\"prototype\"===t&&\"value\"in n&&\"writable\"in n&&!n.writable){var r=Ye(e,t);r&&r.writable&&(e[t]=n.value,n={configurable:\"configurable\"in n?n.configurable:r.configurable,enumerable:\"enumerable\"in n?n.enumerable:r.enumerable,writable:!1})}return He(e,t,n)}:He:function(e,t,n){if(Ue(e),t=We(t),Ue(n),Ae)try{return He(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw De(\"Accessors not supported\");return\"value\"in n&&(e[t]=n.value),e}},Ve=v?function(e,t,n){return Je.f(e,t,I(1,n))}:function(e,t,n){return e[t]=n,e},ze=Function.prototype,Me=v&&Object.getOwnPropertyDescriptor,Be=ge(ze,\"name\"),Qe={EXISTS:Be,PROPER:Be&&\"something\"===function(){}.name,CONFIGURABLE:Be&&(!v||v&&Me(ze,\"name\").configurable)},qe=L(Function.toString);H(pe.inspectSource)||(pe.inspectSource=function(e){return qe(e)});var $e,et,tt,nt=pe.inspectSource,rt=p.WeakMap,ot=H(rt)&&/native code/.test(String(rt)),it=ye(\"keys\"),ct=function(e){return it[e]||(it[e]=_e(e))},at={},st=p.TypeError,ut=p.WeakMap;if(ot||pe.state){var lt=pe.state||(pe.state=new ut),ft=L(lt.get),dt=L(lt.has),ht=L(lt.set);$e=function(e,t){if(dt(lt,e))throw st(\"Object already initialized\");return t.facade=e,ht(lt,e,t),t},et=function(e){return ft(lt,e)||{}},tt=function(e){return dt(lt,e)}}else{var pt=ct(\"state\");at[pt]=!0,$e=function(e,t){if(ge(e,pt))throw st(\"Object already initialized\");return t.facade=e,Ve(e,pt,t),t},et=function(e){return ge(e,pt)?e[pt]:{}},tt=function(e){return ge(e,pt)}}var yt={set:$e,get:et,has:tt,enforce:function(e){return tt(e)?et(e):$e(e,{})},getterFor:function(e){return function(t){var n;if(!J(t)||(n=et(t)).type!==e)throw st(\"Incompatible receiver, \"+e+\" required\");return n}}},vt=l((function(e){var t=Qe.CONFIGURABLE,n=yt.enforce,r=yt.get,o=Object.defineProperty,i=v&&!y((function(){return 8!==o((function(){}),\"length\",{value:8}).length})),c=String(String).split(\"String\"),a=e.exports=function(e,r,a){\"Symbol(\"===String(r).slice(0,7)&&(r=\"[\"+String(r).replace(/^Symbol\\(([^)]*)\\)/,\"$1\")+\"]\"),a&&a.getter&&(r=\"get \"+r),a&&a.setter&&(r=\"set \"+r),(!ge(e,\"name\")||t&&e.name!==r)&&(v?o(e,\"name\",{value:r,configurable:!0}):e.name=r),i&&a&&ge(a,\"arity\")&&e.length!==a.arity&&o(e,\"length\",{value:a.arity});try{a&&ge(a,\"constructor\")&&a.constructor?v&&o(e,\"prototype\",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var s=n(e);return ge(s,\"source\")||(s.source=c.join(\"string\"==typeof r?r:\"\")),e};Function.prototype.toString=a((function(){return H(this)&&r(this).source||nt(this)}),\"toString\")})),mt=function(e,t,n,r){r||(r={});var o=r.enumerable,i=void 0!==r.name?r.name:t;if(H(n)&&vt(n,i,r),r.global)o?e[t]=n:he(t,n);else{try{r.unsafe?e[t]&&(o=!0):delete e[t]}catch(e){}o?e[t]=n:Je.f(e,t,{value:n,enumerable:!1,configurable:!r.nonConfigurable,writable:!r.nonWritable})}return e},bt=Math.ceil,gt=Math.floor,wt=Math.trunc||function(e){var t=+e;return(t>0?gt:bt)(t)},St=function(e){var t=+e;return t!=t||0===t?0:wt(t)},kt=Math.max,_t=Math.min,It=function(e,t){var n=St(e);return n<0?kt(n+t,0):_t(n,t)},Ot=Math.min,xt=function(e){return e>0?Ot(St(e),9007199254740991):0},Tt=function(e){return xt(e.length)},Ct=function(e){return function(t,n,r){var o,i=K(t),c=Tt(i),a=It(r,c);if(e&&n!=n){for(;c>a;)if((o=i[a++])!=o)return!0}else for(;c>a;a++)if((e||a in i)&&i[a]===n)return e||a||0;return!e&&-1}},jt={includes:Ct(!0),indexOf:Ct(!1)},Lt=jt.indexOf,Rt=L([].push),Wt=function(e,t){var n,r=K(e),o=0,i=[];for(n in r)!ge(at,n)&&ge(r,n)&&Rt(i,n);for(;t.length>o;)ge(r,n=t[o++])&&(~Lt(i,n)||Rt(i,n));return i},Zt=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"],Et=Zt.concat(\"length\",\"prototype\"),Gt={f:Object.getOwnPropertyNames||function(e){return Wt(e,Et)}},At={f:Object.getOwnPropertySymbols},Pt=L([].concat),Xt=z(\"Reflect\",\"ownKeys\")||function(e){var t=Gt.f(Ue(e)),n=At.f;return n?Pt(t,n(e)):t},Ft=function(e,t,n){for(var r=Xt(t),o=Je.f,i=Xe.f,c=0;c<r.length;c++){var a=r[c];ge(e,a)||n&&ge(n,a)||o(e,a,i(t,a))}},Kt=/#|\\.prototype\\./,Nt=function(e,t){var n=Dt[Ut(e)];return n==Yt||n!=Ht&&(H(t)?y(t):!!t)},Ut=Nt.normalize=function(e){return String(e).replace(Kt,\".\").toLowerCase()},Dt=Nt.data={},Ht=Nt.NATIVE=\"N\",Yt=Nt.POLYFILL=\"P\",Jt=Nt,Vt=Xe.f,zt=function(e,t){var n,r,o,i,c,a=e.target,s=e.global,u=e.stat;if(n=s?p:u?p[a]||he(a,{}):(p[a]||{}).prototype)for(r in t){if(i=t[r],o=e.dontCallGetSet?(c=Vt(n,r))&&c.value:n[r],!Jt(s?r:a+(u?\".\":\"#\")+r,e.forced)&&void 0!==o){if(typeof i==typeof o)continue;Ft(i,o)}(e.sham||o&&o.sham)&&Ve(i,\"sham\",!0),mt(n,r,i,e)}},Mt={};Mt[Ce(\"toStringTag\")]=\"z\";var Bt,Qt=\"[object z]\"===String(Mt),qt=Ce(\"toStringTag\"),$t=Object,en=\"Arguments\"==Z(function(){return arguments}()),tn=Qt?Z:function(e){var t,n,r;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=$t(e),qt))?n:en?Z(t):\"Object\"==(r=Z(t))&&H(t.callee)?\"Arguments\":r},nn=String,rn=function(e){if(\"Symbol\"===tn(e))throw TypeError(\"Cannot convert a Symbol value to a string\");return nn(e)},on=Ce(\"match\"),cn=TypeError,an=function(e){if(function(e){var t;return J(e)&&(void 0!==(t=e[on])?!!t:\"RegExp\"==Z(e))}(e))throw cn(\"The method doesn't accept regular expressions\");return e},sn=Ce(\"match\"),un=function(e){var t=/./;try{\"/./\"[e](t)}catch(n){try{return t[sn]=!1,\"/./\"[e](t)}catch(e){}}return!1},ln=Xe.f,fn=L(\"\".startsWith),dn=L(\"\".slice),hn=Math.min,pn=un(\"startsWith\"),yn=!(pn||(Bt=ln(String.prototype,\"startsWith\"),!Bt||Bt.writable));zt({target:\"String\",proto:!0,forced:!yn&&!pn},{startsWith:function(e){var t=rn(F(this));an(e);var n=xt(hn(arguments.length>1?arguments[1]:void 0,t.length)),r=rn(e);return fn?fn(t,r,n):dn(t,n,n+r.length)===r}});var vn=function(e,t){return L(p[e].prototype[t])};vn(\"String\",\"startsWith\");var mn=Array.isArray||function(e){return\"Array\"==Z(e)},bn=TypeError,gn=function(e){if(e>9007199254740991)throw bn(\"Maximum allowed index exceeded\");return e},wn=function(e,t,n){var r=We(t);r in e?Je.f(e,r,I(0,n)):e[r]=n},Sn=function(){},kn=[],_n=z(\"Reflect\",\"construct\"),In=/^\\s*(?:class|function)\\b/,On=L(In.exec),xn=!In.exec(Sn),Tn=function(e){if(!H(e))return!1;try{return _n(Sn,kn,e),!0}catch(e){return!1}},Cn=function(e){if(!H(e))return!1;switch(tn(e)){case\"AsyncFunction\":case\"GeneratorFunction\":case\"AsyncGeneratorFunction\":return!1}try{return xn||!!On(In,nt(e))}catch(e){return!0}};Cn.sham=!0;var jn,Ln=!_n||y((function(){var e;return Tn(Tn.call)||!Tn(Object)||!Tn((function(){e=!0}))||e}))?Cn:Tn,Rn=Ce(\"species\"),Wn=Array,Zn=function(e,t){return new(function(e){var t;return mn(e)&&(t=e.constructor,(Ln(t)&&(t===Wn||mn(t.prototype))||J(t)&&null===(t=t[Rn]))&&(t=void 0)),void 0===t?Wn:t}(e))(0===t?0:t)},En=Ce(\"species\"),Gn=Ce(\"isConcatSpreadable\"),An=te>=51||!y((function(){var e=[];return e[Gn]=!1,e.concat()[0]!==e})),Pn=(jn=\"concat\",te>=51||!y((function(){var e=[];return(e.constructor={})[En]=function(){return{foo:1}},1!==e[jn](Boolean).foo}))),Xn=function(e){if(!J(e))return!1;var t=e[Gn];return void 0!==t?!!t:mn(e)};zt({target:\"Array\",proto:!0,arity:1,forced:!An||!Pn},{concat:function(e){var t,n,r,o,i,c=me(this),a=Zn(c,0),s=0;for(t=-1,r=arguments.length;t<r;t++)if(Xn(i=-1===t?c:arguments[t]))for(o=Tt(i),gn(s+o),n=0;n<o;n++,s++)n in i&&wn(a,s,i[n]);else gn(s+1),wn(a,s++,i);return a.length=s,a}});var Fn=Qt?{}.toString:function(){return\"[object \"+tn(this)+\"]\"};Qt||mt(Object.prototype,\"toString\",Fn,{unsafe:!0});var Kn,Nn=Object.keys||function(e){return Wt(e,Zt)},Un=v&&!Fe?Object.defineProperties:function(e,t){Ue(e);for(var n,r=K(t),o=Nn(t),i=o.length,c=0;i>c;)Je.f(e,n=o[c++],r[n]);return e},Dn={f:Un},Hn=z(\"document\",\"documentElement\"),Yn=ct(\"IE_PROTO\"),Jn=function(){},Vn=function(e){return\"<script>\"+e+\"<\\/script>\"},zn=function(e){e.write(Vn(\"\")),e.close();var t=e.parentWindow.Object;return e=null,t},Mn=function(){try{Kn=new ActiveXObject(\"htmlfile\")}catch(e){}var e,t;Mn=\"undefined\"!=typeof document?document.domain&&Kn?zn(Kn):((t=Ge(\"iframe\")).style.display=\"none\",Hn.appendChild(t),t.src=String(\"javascript:\"),(e=t.contentWindow.document).open(),e.write(Vn(\"document.F=Object\")),e.close(),e.F):zn(Kn);for(var n=Zt.length;n--;)delete Mn.prototype[Zt[n]];return Mn()};at[Yn]=!0;var Bn=Object.create||function(e,t){var n;return null!==e?(Jn.prototype=Ue(e),n=new Jn,Jn.prototype=null,n[Yn]=e):n=Mn(),void 0===t?n:Dn.f(n,t)},Qn=Array,qn=Math.max,$n=Gt.f,er=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],tr=function(e){try{return $n(e)}catch(e){return function(e,t,n){for(var r=Tt(e),o=It(t,r),i=It(void 0===n?r:n,r),c=Qn(qn(i-o,0)),a=0;o<i;o++,a++)wn(c,a,e[o]);return c.length=a,c}(er)}},nr={f:function(e){return er&&\"Window\"==Z(e)?tr(e):$n(K(e))}},rr={f:Ce},or=p,ir=Je.f,cr=function(e){var t=or.Symbol||(or.Symbol={});ge(t,e)||ir(t,e,{value:rr.f(e)})},ar=function(){var e=z(\"Symbol\"),t=e&&e.prototype,n=t&&t.valueOf,r=Ce(\"toPrimitive\");t&&!t[r]&&mt(t,r,(function(e){return g(n,this)}),{arity:1})},sr=Je.f,ur=Ce(\"toStringTag\"),lr=function(e,t,n){e&&!n&&(e=e.prototype),e&&!ge(e,ur)&&sr(e,ur,{configurable:!0,value:t})},fr=L(L.bind),dr=function(e,t){return ue(e),void 0===t?e:m?fr(e,t):function(){return e.apply(t,arguments)}},hr=L([].push),pr=function(e){var t=1==e,n=2==e,r=3==e,o=4==e,i=6==e,c=7==e,a=5==e||i;return function(s,u,l,f){for(var d,h,p=me(s),y=A(p),v=dr(u,l),m=Tt(y),b=0,g=f||Zn,w=t?g(s,m):n||c?g(s,0):void 0;m>b;b++)if((a||b in y)&&(h=v(d=y[b],b,p),e))if(t)w[b]=h;else if(h)switch(e){case 3:return!0;case 5:return d;case 6:return b;case 2:hr(w,d)}else switch(e){case 4:return!1;case 7:hr(w,d)}return i?-1:r||o?o:w}},yr={forEach:pr(0),map:pr(1),filter:pr(2),some:pr(3),every:pr(4),find:pr(5),findIndex:pr(6),filterReject:pr(7)}.forEach,vr=ct(\"hidden\"),mr=yt.set,br=yt.getterFor(\"Symbol\"),gr=Object.prototype,wr=p.Symbol,Sr=wr&&wr.prototype,kr=p.TypeError,_r=p.QObject,Ir=Xe.f,Or=Je.f,xr=nr.f,Tr=_.f,Cr=L([].push),jr=ye(\"symbols\"),Lr=ye(\"op-symbols\"),Rr=ye(\"wks\"),Wr=!_r||!_r.prototype||!_r.prototype.findChild,Zr=v&&y((function(){return 7!=Bn(Or({},\"a\",{get:function(){return Or(this,\"a\",{value:7}).a}})).a}))?function(e,t,n){var r=Ir(gr,t);r&&delete gr[t],Or(e,t,n),r&&e!==gr&&Or(gr,t,r)}:Or,Er=function(e,t){var n=jr[e]=Bn(Sr);return mr(n,{type:\"Symbol\",tag:e,description:t}),v||(n.description=t),n},Gr=function(e,t,n){e===gr&&Gr(Lr,t,n),Ue(e);var r=We(t);return Ue(n),ge(jr,r)?(n.enumerable?(ge(e,vr)&&e[vr][r]&&(e[vr][r]=!1),n=Bn(n,{enumerable:I(0,!1)})):(ge(e,vr)||Or(e,vr,I(1,{})),e[vr][r]=!0),Zr(e,r,n)):Or(e,r,n)},Ar=function(e,t){Ue(e);var n=K(t),r=Nn(n).concat(Kr(n));return yr(r,(function(t){v&&!g(Pr,n,t)||Gr(e,t,n[t])})),e},Pr=function(e){var t=We(e),n=g(Tr,this,t);return!(this===gr&&ge(jr,t)&&!ge(Lr,t))&&(!(n||!ge(this,t)||!ge(jr,t)||ge(this,vr)&&this[vr][t])||n)},Xr=function(e,t){var n=K(e),r=We(t);if(n!==gr||!ge(jr,r)||ge(Lr,r)){var o=Ir(n,r);return!o||!ge(jr,r)||ge(n,vr)&&n[vr][r]||(o.enumerable=!0),o}},Fr=function(e){var t=xr(K(e)),n=[];return yr(t,(function(e){ge(jr,e)||ge(at,e)||Cr(n,e)})),n},Kr=function(e){var t=e===gr,n=xr(t?Lr:K(e)),r=[];return yr(n,(function(e){!ge(jr,e)||t&&!ge(gr,e)||Cr(r,jr[e])})),r};ne||(Sr=(wr=function(){if(M(Sr,this))throw kr(\"Symbol is not a constructor\");var e=arguments.length&&void 0!==arguments[0]?rn(arguments[0]):void 0,t=_e(e),n=function(e){this===gr&&g(n,Lr,e),ge(this,vr)&&ge(this[vr],t)&&(this[vr][t]=!1),Zr(this,t,I(1,e))};return v&&Wr&&Zr(gr,t,{configurable:!0,set:n}),Er(t,e)}).prototype,mt(Sr,\"toString\",(function(){return br(this).tag})),mt(wr,\"withoutSetter\",(function(e){return Er(_e(e),e)})),_.f=Pr,Je.f=Gr,Dn.f=Ar,Xe.f=Xr,Gt.f=nr.f=Fr,At.f=Kr,rr.f=function(e){return Er(Ce(e),e)},v&&(Or(Sr,\"description\",{configurable:!0,get:function(){return br(this).description}}),mt(gr,\"propertyIsEnumerable\",Pr,{unsafe:!0}))),zt({global:!0,constructor:!0,wrap:!0,forced:!ne,sham:!ne},{Symbol:wr}),yr(Nn(Rr),(function(e){cr(e)})),zt({target:\"Symbol\",stat:!0,forced:!ne},{useSetter:function(){Wr=!0},useSimple:function(){Wr=!1}}),zt({target:\"Object\",stat:!0,forced:!ne,sham:!v},{create:function(e,t){return void 0===t?Bn(e):Ar(Bn(e),t)},defineProperty:Gr,defineProperties:Ar,getOwnPropertyDescriptor:Xr}),zt({target:\"Object\",stat:!0,forced:!ne},{getOwnPropertyNames:Fr}),ar(),lr(wr,\"Symbol\"),at[vr]=!0;var Nr=ne&&!!Symbol.for&&!!Symbol.keyFor,Ur=ye(\"string-to-symbol-registry\"),Dr=ye(\"symbol-to-string-registry\");zt({target:\"Symbol\",stat:!0,forced:!Nr},{for:function(e){var t=rn(e);if(ge(Ur,t))return Ur[t];var n=z(\"Symbol\")(t);return Ur[t]=n,Dr[n]=t,n}});var Hr=ye(\"symbol-to-string-registry\");zt({target:\"Symbol\",stat:!0,forced:!Nr},{keyFor:function(e){if(!ie(e))throw TypeError(ae(e)+\" is not a symbol\");if(ge(Hr,e))return Hr[e]}});var Yr=Function.prototype,Jr=Yr.apply,Vr=Yr.call,zr=\"object\"==typeof Reflect&&Reflect.apply||(m?Vr.bind(Jr):function(){return Vr.apply(Jr,arguments)}),Mr=L([].slice),Br=z(\"JSON\",\"stringify\"),Qr=L(/./.exec),qr=L(\"\".charAt),$r=L(\"\".charCodeAt),eo=L(\"\".replace),to=L(1..toString),no=/[\\uD800-\\uDFFF]/g,ro=/^[\\uD800-\\uDBFF]$/,oo=/^[\\uDC00-\\uDFFF]$/,io=!ne||y((function(){var e=z(\"Symbol\")();return\"[null]\"!=Br([e])||\"{}\"!=Br({a:e})||\"{}\"!=Br(Object(e))})),co=y((function(){return'\"\\\\udf06\\\\ud834\"'!==Br(\"\\udf06\\ud834\")||'\"\\\\udead\"'!==Br(\"\\udead\")})),ao=function(e,t){var n=Mr(arguments),r=t;if((J(t)||void 0!==e)&&!ie(e))return mn(t)||(t=function(e,t){if(H(r)&&(t=g(r,this,e,t)),!ie(t))return t}),n[1]=t,zr(Br,null,n)},so=function(e,t,n){var r=qr(n,t-1),o=qr(n,t+1);return Qr(ro,e)&&!Qr(oo,o)||Qr(oo,e)&&!Qr(ro,r)?\"\\\\u\"+to($r(e,0),16):e};Br&&zt({target:\"JSON\",stat:!0,arity:3,forced:io||co},{stringify:function(e,t,n){var r=Mr(arguments),o=zr(io?ao:Br,null,r);return co&&\"string\"==typeof o?eo(o,no,so):o}});var uo=!ne||y((function(){At.f(1)}));zt({target:\"Object\",stat:!0,forced:uo},{getOwnPropertySymbols:function(e){var t=At.f;return t?t(me(e)):[]}}),cr(\"asyncIterator\");var lo=Je.f,fo=p.Symbol,ho=fo&&fo.prototype;if(v&&H(fo)&&(!(\"description\"in ho)||void 0!==fo().description)){var po={},yo=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:rn(arguments[0]),t=M(ho,this)?new fo(e):void 0===e?fo():fo(e);return\"\"===e&&(po[t]=!0),t};Ft(yo,fo),yo.prototype=ho,ho.constructor=yo;var vo=\"Symbol(test)\"==String(fo(\"test\")),mo=L(ho.valueOf),bo=L(ho.toString),go=/^Symbol\\((.*)\\)[^)]+$/,wo=L(\"\".replace),So=L(\"\".slice);lo(ho,\"description\",{configurable:!0,get:function(){var e=mo(this);if(ge(po,e))return\"\";var t=bo(e),n=vo?So(t,7,-1):wo(t,go,\"$1\");return\"\"===n?void 0:n}}),zt({global:!0,constructor:!0,forced:!0},{Symbol:yo})}cr(\"hasInstance\"),cr(\"isConcatSpreadable\"),cr(\"iterator\"),cr(\"match\"),cr(\"matchAll\"),cr(\"replace\"),cr(\"search\"),cr(\"species\"),cr(\"split\"),cr(\"toPrimitive\"),ar(),cr(\"toStringTag\"),lr(z(\"Symbol\"),\"Symbol\"),cr(\"unscopables\"),lr(p.JSON,\"JSON\",!0),lr(Math,\"Math\",!0),zt({global:!0},{Reflect:{}}),lr(p.Reflect,\"Reflect\",!0),or.Symbol;var ko,_o,Io,Oo=L(\"\".charAt),xo=L(\"\".charCodeAt),To=L(\"\".slice),Co=function(e){return function(t,n){var r,o,i=rn(F(t)),c=St(n),a=i.length;return c<0||c>=a?e?\"\":void 0:(r=xo(i,c))<55296||r>56319||c+1===a||(o=xo(i,c+1))<56320||o>57343?e?Oo(i,c):r:e?To(i,c,c+2):o-56320+(r-55296<<10)+65536}},jo={codeAt:Co(!1),charAt:Co(!0)},Lo=!y((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),Ro=ct(\"IE_PROTO\"),Wo=Object,Zo=Wo.prototype,Eo=Lo?Wo.getPrototypeOf:function(e){var t=me(e);if(ge(t,Ro))return t[Ro];var n=t.constructor;return H(n)&&t instanceof n?n.prototype:t instanceof Wo?Zo:null},Go=Ce(\"iterator\"),Ao=!1;[].keys&&(\"next\"in(Io=[].keys())?(_o=Eo(Eo(Io)))!==Object.prototype&&(ko=_o):Ao=!0);var Po=!J(ko)||y((function(){var e={};return ko[Go].call(e)!==e}));Po&&(ko={}),H(ko[Go])||mt(ko,Go,(function(){return this}));var Xo={IteratorPrototype:ko,BUGGY_SAFARI_ITERATORS:Ao},Fo={},Ko=Xo.IteratorPrototype,No=function(){return this},Uo=String,Do=TypeError,Ho=Object.setPrototypeOf||(\"__proto__\"in{}?function(){var e,t=!1,n={};try{(e=L(Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\").set))(n,[]),t=n instanceof Array}catch(e){}return function(n,r){return Ue(n),function(e){if(\"object\"==typeof e||H(e))return e;throw Do(\"Can't set \"+Uo(e)+\" as a prototype\")}(r),t?e(n,r):n.__proto__=r,n}}():void 0),Yo=Qe.PROPER,Jo=Qe.CONFIGURABLE,Vo=Xo.IteratorPrototype,zo=Xo.BUGGY_SAFARI_ITERATORS,Mo=Ce(\"iterator\"),Bo=function(){return this},Qo=function(e,t,n,r,o,i,c){!function(e,t,n,r){var o=t+\" Iterator\";e.prototype=Bn(Ko,{next:I(+!r,n)}),lr(e,o,!1),Fo[o]=No}(n,t,r);var a,s,u,l=function(e){if(e===o&&y)return y;if(!zo&&e in h)return h[e];switch(e){case\"keys\":case\"values\":case\"entries\":return function(){return new n(this,e)}}return function(){return new n(this)}},f=t+\" Iterator\",d=!1,h=e.prototype,p=h[Mo]||h[\"@@iterator\"]||o&&h[o],y=!zo&&p||l(o),v=\"Array\"==t&&h.entries||p;if(v&&(a=Eo(v.call(new e)))!==Object.prototype&&a.next&&(Eo(a)!==Vo&&(Ho?Ho(a,Vo):H(a[Mo])||mt(a,Mo,Bo)),lr(a,f,!0)),Yo&&\"values\"==o&&p&&\"values\"!==p.name&&(Jo?Ve(h,\"name\",\"values\"):(d=!0,y=function(){return g(p,this)})),o)if(s={values:l(\"values\"),keys:i?y:l(\"keys\"),entries:l(\"entries\")},c)for(u in s)(zo||d||!(u in h))&&mt(h,u,s[u]);else zt({target:t,proto:!0,forced:zo||d},s);return h[Mo]!==y&&mt(h,Mo,y,{name:o}),Fo[t]=y,s},qo=function(e,t){return{value:e,done:t}},$o=jo.charAt,ei=yt.set,ti=yt.getterFor(\"String Iterator\");Qo(String,\"String\",(function(e){ei(this,{type:\"String Iterator\",string:rn(e),index:0})}),(function(){var e,t=ti(this),n=t.string,r=t.index;return r>=n.length?qo(void 0,!0):(e=$o(n,r),t.index+=e.length,qo(e,!1))}));var ni=function(e,t,n){var r,o;Ue(e);try{if(!(r=le(e,\"return\"))){if(\"throw\"===t)throw n;return n}r=g(r,e)}catch(e){o=!0,r=e}if(\"throw\"===t)throw n;if(o)throw r;return Ue(r),n},ri=function(e,t,n,r){try{return r?t(Ue(n)[0],n[1]):t(n)}catch(t){ni(e,\"throw\",t)}},oi=Ce(\"iterator\"),ii=Array.prototype,ci=function(e){return void 0!==e&&(Fo.Array===e||ii[oi]===e)},ai=Ce(\"iterator\"),si=function(e){if(!P(e))return le(e,ai)||le(e,\"@@iterator\")||Fo[tn(e)]},ui=TypeError,li=function(e,t){var n=arguments.length<2?si(e):t;if(ue(n))return Ue(g(n,e));throw ui(ae(e)+\" is not iterable\")},fi=Array,di=Ce(\"iterator\"),hi=!1;try{var pi=0,yi={next:function(){return{done:!!pi++}},return:function(){hi=!0}};yi[di]=function(){return this},Array.from(yi,(function(){throw 2}))}catch(e){}var vi=function(e,t){if(!t&&!hi)return!1;var n=!1;try{var r={};r[di]=function(){return{next:function(){return{done:n=!0}}}},e(r)}catch(e){}return n},mi=!vi((function(e){Array.from(e)}));zt({target:\"Array\",stat:!0,forced:mi},{from:function(e){var t=me(e),n=Ln(this),r=arguments.length,o=r>1?arguments[1]:void 0,i=void 0!==o;i&&(o=dr(o,r>2?arguments[2]:void 0));var c,a,s,u,l,f,d=si(t),h=0;if(!d||this===fi&&ci(d))for(c=Tt(t),a=n?new this(c):fi(c);c>h;h++)f=i?o(t[h],h):t[h],wn(a,h,f);else for(l=(u=li(t,d)).next,a=n?new this:[];!(s=g(l,u)).done;h++)f=i?ri(u,o,[s.value,h],!0):s.value,wn(a,h,f);return a.length=h,a}}),or.Array.from;var bi,gi,wi,Si=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof DataView,ki=Je.f,_i=yt.enforce,Ii=yt.get,Oi=p.Int8Array,xi=Oi&&Oi.prototype,Ti=p.Uint8ClampedArray,Ci=Ti&&Ti.prototype,ji=Oi&&Eo(Oi),Li=xi&&Eo(xi),Ri=Object.prototype,Wi=p.TypeError,Zi=Ce(\"toStringTag\"),Ei=_e(\"TYPED_ARRAY_TAG\"),Gi=Si&&!!Ho&&\"Opera\"!==tn(p.opera),Ai=!1,Pi={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Xi={BigInt64Array:8,BigUint64Array:8},Fi=function(e){var t=Eo(e);if(J(t)){var n=Ii(t);return n&&ge(n,\"TypedArrayConstructor\")?n.TypedArrayConstructor:Fi(t)}},Ki=function(e){if(!J(e))return!1;var t=tn(e);return ge(Pi,t)||ge(Xi,t)};for(bi in Pi)(wi=(gi=p[bi])&&gi.prototype)?_i(wi).TypedArrayConstructor=gi:Gi=!1;for(bi in Xi)(wi=(gi=p[bi])&&gi.prototype)&&(_i(wi).TypedArrayConstructor=gi);if((!Gi||!H(ji)||ji===Function.prototype)&&(ji=function(){throw Wi(\"Incorrect invocation\")},Gi))for(bi in Pi)p[bi]&&Ho(p[bi],ji);if((!Gi||!Li||Li===Ri)&&(Li=ji.prototype,Gi))for(bi in Pi)p[bi]&&Ho(p[bi].prototype,Li);if(Gi&&Eo(Ci)!==Li&&Ho(Ci,Li),v&&!ge(Li,Zi))for(bi in Ai=!0,ki(Li,Zi,{get:function(){return J(this)?this[Ei]:void 0}}),Pi)p[bi]&&Ve(p[bi],Ei,bi);var Ni={NATIVE_ARRAY_BUFFER_VIEWS:Gi,TYPED_ARRAY_TAG:Ai&&Ei,aTypedArray:function(e){if(Ki(e))return e;throw Wi(\"Target is not a typed array\")},aTypedArrayConstructor:function(e){if(H(e)&&(!Ho||M(ji,e)))return e;throw Wi(ae(e)+\" is not a typed array constructor\")},exportTypedArrayMethod:function(e,t,n,r){if(v){if(n)for(var o in Pi){var i=p[o];if(i&&ge(i.prototype,e))try{delete i.prototype[e]}catch(n){try{i.prototype[e]=t}catch(e){}}}Li[e]&&!n||mt(Li,e,n?t:Gi&&xi[e]||t,r)}},exportTypedArrayStaticMethod:function(e,t,n){var r,o;if(v){if(Ho){if(n)for(r in Pi)if((o=p[r])&&ge(o,e))try{delete o[e]}catch(e){}if(ji[e]&&!n)return;try{return mt(ji,e,n?t:Gi&&ji[e]||t)}catch(e){}}for(r in Pi)!(o=p[r])||o[e]&&!n||mt(o,e,t)}},getTypedArrayConstructor:Fi,isView:function(e){if(!J(e))return!1;var t=tn(e);return\"DataView\"===t||ge(Pi,t)||ge(Xi,t)},isTypedArray:Ki,TypedArray:ji,TypedArrayPrototype:Li},Ui=TypeError,Di=Ce(\"species\"),Hi=function(e,t){var n,r=Ue(e).constructor;return void 0===r||P(n=Ue(r)[Di])?t:function(e){if(Ln(e))return e;throw Ui(ae(e)+\" is not a constructor\")}(n)},Yi=Ni.aTypedArrayConstructor,Ji=Ni.getTypedArrayConstructor,Vi=Ni.aTypedArray;(0,Ni.exportTypedArrayMethod)(\"slice\",(function(e,t){for(var n,r=Mr(Vi(this),e,t),o=Yi(Hi(n=this,Ji(n))),i=0,c=r.length,a=new o(c);c>i;)a[i]=r[i++];return a}),y((function(){new Int8Array(1).slice()})));var zi=Je.f,Mi=Ce(\"unscopables\"),Bi=Array.prototype;null==Bi[Mi]&&zi(Bi,Mi,{configurable:!0,value:Bn(null)});var Qi=function(e){Bi[Mi][e]=!0},qi=jt.includes,$i=y((function(){return!Array(1).includes()}));zt({target:\"Array\",proto:!0,forced:$i},{includes:function(e){return qi(this,e,arguments.length>1?arguments[1]:void 0)}}),Qi(\"includes\"),vn(\"Array\",\"includes\");var ec=L(\"\".indexOf);zt({target:\"String\",proto:!0,forced:!un(\"includes\")},{includes:function(e){return!!~ec(rn(F(this)),rn(an(e)),arguments.length>1?arguments[1]:void 0)}}),vn(\"String\",\"includes\");var tc=Je.f,nc=yt.set,rc=yt.getterFor(\"Array Iterator\");Qo(Array,\"Array\",(function(e,t){nc(this,{type:\"Array Iterator\",target:K(e),index:0,kind:t})}),(function(){var e=rc(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,qo(void 0,!0)):qo(\"keys\"==n?r:\"values\"==n?t[r]:[r,t[r]],!1)}),\"values\");var oc=Fo.Arguments=Fo.Array;if(Qi(\"keys\"),Qi(\"values\"),Qi(\"entries\"),v&&\"values\"!==oc.name)try{tc(oc,\"name\",{value:\"values\"})}catch(e){}var ic=y((function(){if(\"function\"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,\"a\",{value:8})}})),cc=Object.isExtensible,ac=y((function(){cc(1)}))||ic?function(e){return!!J(e)&&((!ic||\"ArrayBuffer\"!=Z(e))&&(!cc||cc(e)))}:cc,sc=!y((function(){return Object.isExtensible(Object.preventExtensions({}))})),uc=l((function(e){var t=Je.f,n=!1,r=_e(\"meta\"),o=0,i=function(e){t(e,r,{value:{objectID:\"O\"+o++,weakData:{}}})},c=e.exports={enable:function(){c.enable=function(){},n=!0;var e=Gt.f,t=L([].splice),o={};o[r]=1,e(o).length&&(Gt.f=function(n){for(var o=e(n),i=0,c=o.length;i<c;i++)if(o[i]===r){t(o,i,1);break}return o},zt({target:\"Object\",stat:!0,forced:!0},{getOwnPropertyNames:nr.f}))},fastKey:function(e,t){if(!J(e))return\"symbol\"==typeof e?e:(\"string\"==typeof e?\"S\":\"P\")+e;if(!ge(e,r)){if(!ac(e))return\"F\";if(!t)return\"E\";i(e)}return e[r].objectID},getWeakData:function(e,t){if(!ge(e,r)){if(!ac(e))return!0;if(!t)return!1;i(e)}return e[r].weakData},onFreeze:function(e){return sc&&n&&ac(e)&&!ge(e,r)&&i(e),e}};at[r]=!0}));uc.enable,uc.fastKey,uc.getWeakData,uc.onFreeze;var lc=TypeError,fc=function(e,t){this.stopped=e,this.result=t},dc=fc.prototype,hc=function(e,t,n){var r,o,i,c,a,s,u,l=n&&n.that,f=!(!n||!n.AS_ENTRIES),d=!(!n||!n.IS_RECORD),h=!(!n||!n.IS_ITERATOR),p=!(!n||!n.INTERRUPTED),y=dr(t,l),v=function(e){return r&&ni(r,\"normal\",e),new fc(!0,e)},m=function(e){return f?(Ue(e),p?y(e[0],e[1],v):y(e[0],e[1])):p?y(e,v):y(e)};if(d)r=e.iterator;else if(h)r=e;else{if(!(o=si(e)))throw lc(ae(e)+\" is not iterable\");if(ci(o)){for(i=0,c=Tt(e);c>i;i++)if((a=m(e[i]))&&M(dc,a))return a;return new fc(!1)}r=li(e,o)}for(s=d?e.next:r.next;!(u=g(s,r)).done;){try{a=m(u.value)}catch(e){ni(r,\"throw\",e)}if(\"object\"==typeof a&&a&&M(dc,a))return a}return new fc(!1)},pc=TypeError,yc=function(e,t){if(M(t,e))return e;throw pc(\"Incorrect invocation\")},vc=function(e,t,n){for(var r in t)mt(e,r,t[r],n);return e},mc=Ce(\"species\"),bc=Je.f,gc=uc.fastKey,wc=yt.set,Sc=yt.getterFor,kc={getConstructor:function(e,t,n,r){var o=e((function(e,o){yc(e,i),wc(e,{type:t,index:Bn(null),first:void 0,last:void 0,size:0}),v||(e.size=0),P(o)||hc(o,e[r],{that:e,AS_ENTRIES:n})})),i=o.prototype,c=Sc(t),a=function(e,t,n){var r,o,i=c(e),a=s(e,t);return a?a.value=n:(i.last=a={index:o=gc(t,!0),key:t,value:n,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),v?i.size++:e.size++,\"F\"!==o&&(i.index[o]=a)),e},s=function(e,t){var n,r=c(e),o=gc(t);if(\"F\"!==o)return r.index[o];for(n=r.first;n;n=n.next)if(n.key==t)return n};return vc(i,{clear:function(){for(var e=c(this),t=e.index,n=e.first;n;)n.removed=!0,n.previous&&(n.previous=n.previous.next=void 0),delete t[n.index],n=n.next;e.first=e.last=void 0,v?e.size=0:this.size=0},delete:function(e){var t=this,n=c(t),r=s(t,e);if(r){var o=r.next,i=r.previous;delete n.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),n.first==r&&(n.first=o),n.last==r&&(n.last=i),v?n.size--:t.size--}return!!r},forEach:function(e){for(var t,n=c(this),r=dr(e,arguments.length>1?arguments[1]:void 0);t=t?t.next:n.first;)for(r(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!s(this,e)}}),vc(i,n?{get:function(e){var t=s(this,e);return t&&t.value},set:function(e,t){return a(this,0===e?0:e,t)}}:{add:function(e){return a(this,e=0===e?0:e,e)}}),v&&bc(i,\"size\",{get:function(){return c(this).size}}),o},setStrong:function(e,t,n){var r=t+\" Iterator\",o=Sc(t),i=Sc(r);Qo(e,t,(function(e,t){wc(this,{type:r,target:e,state:o(e),kind:t,last:void 0})}),(function(){for(var e=i(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?qo(\"keys\"==t?n.key:\"values\"==t?n.value:[n.key,n.value],!1):(e.target=void 0,qo(void 0,!0))}),n?\"entries\":\"values\",!n,!0),function(e){var t=z(e),n=Je.f;v&&t&&!t[mc]&&n(t,mc,{configurable:!0,get:function(){return this}})}(t)}};function _c(e){var t=this.constructor;return this.then((function(n){return t.resolve(e()).then((function(){return n}))}),(function(n){return t.resolve(e()).then((function(){return t.reject(n)}))}))}function Ic(e){return new this((function(t,n){if(!e||void 0===e.length)return n(new TypeError(typeof e+\" \"+e+\" is not iterable(cannot read property Symbol(Symbol.iterator))\"));var r=Array.prototype.slice.call(e);if(0===r.length)return t([]);var o=r.length;function i(e,n){if(n&&(\"object\"==typeof n||\"function\"==typeof n)){var c=n.then;if(\"function\"==typeof c)return void c.call(n,(function(t){i(e,t)}),(function(n){r[e]={status:\"rejected\",reason:n},0==--o&&t(r)}))}r[e]={status:\"fulfilled\",value:n},0==--o&&t(r)}for(var c=0;c<r.length;c++)i(c,r[c])}))}!function(e,t,n){var r=-1!==e.indexOf(\"Map\"),o=-1!==e.indexOf(\"Weak\"),i=r?\"set\":\"add\",c=p[e],a=c&&c.prototype,s=c,u={},l=function(e){var t=L(a[e]);mt(a,e,\"add\"==e?function(e){return t(this,0===e?0:e),this}:\"delete\"==e?function(e){return!(o&&!J(e))&&t(this,0===e?0:e)}:\"get\"==e?function(e){return o&&!J(e)?void 0:t(this,0===e?0:e)}:\"has\"==e?function(e){return!(o&&!J(e))&&t(this,0===e?0:e)}:function(e,n){return t(this,0===e?0:e,n),this})};if(Jt(e,!H(c)||!(o||a.forEach&&!y((function(){(new c).entries().next()})))))s=n.getConstructor(t,e,r,i),uc.enable();else if(Jt(e,!0)){var f=new s,d=f[i](o?{}:-0,1)!=f,h=y((function(){f.has(1)})),v=vi((function(e){new c(e)})),m=!o&&y((function(){for(var e=new c,t=5;t--;)e[i](t,t);return!e.has(-0)}));v||((s=t((function(e,t){yc(e,a);var n=function(e,t,n){var r,o;return Ho&&H(r=t.constructor)&&r!==n&&J(o=r.prototype)&&o!==n.prototype&&Ho(e,o),e}(new c,e,s);return P(t)||hc(t,n[i],{that:n,AS_ENTRIES:r}),n}))).prototype=a,a.constructor=s),(h||m)&&(l(\"delete\"),l(\"has\"),r&&l(\"get\")),(m||d)&&l(i),o&&a.clear&&delete a.clear}u[e]=s,zt({global:!0,constructor:!0,forced:s!=c},u),lr(s,e),o||n.setStrong(s,e,r)}(\"Set\",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),kc),or.Set;var Oc=setTimeout;function xc(e){return Boolean(e&&void 0!==e.length)}function Tc(){}function Cc(e){if(!(this instanceof Cc))throw new TypeError(\"Promises must be constructed via new\");if(\"function\"!=typeof e)throw new TypeError(\"not a function\");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],Ec(e,this)}function jc(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,Cc._immediateFn((function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var r;try{r=n(e._value)}catch(e){return void Rc(t.promise,e)}Lc(t.promise,r)}else(1===e._state?Lc:Rc)(t.promise,e._value)}))):e._deferreds.push(t)}function Lc(e,t){try{if(t===e)throw new TypeError(\"A promise cannot be resolved with itself.\");if(t&&(\"object\"==typeof t||\"function\"==typeof t)){var n=t.then;if(t instanceof Cc)return e._state=3,e._value=t,void Wc(e);if(\"function\"==typeof n)return void Ec((r=n,o=t,function(){r.apply(o,arguments)}),e)}e._state=1,e._value=t,Wc(e)}catch(t){Rc(e,t)}var r,o}function Rc(e,t){e._state=2,e._value=t,Wc(e)}function Wc(e){2===e._state&&0===e._deferreds.length&&Cc._immediateFn((function(){e._handled||Cc._unhandledRejectionFn(e._value)}));for(var t=0,n=e._deferreds.length;t<n;t++)jc(e,e._deferreds[t]);e._deferreds=null}function Zc(e,t,n){this.onFulfilled=\"function\"==typeof e?e:null,this.onRejected=\"function\"==typeof t?t:null,this.promise=n}function Ec(e,t){var n=!1;try{e((function(e){n||(n=!0,Lc(t,e))}),(function(e){n||(n=!0,Rc(t,e))}))}catch(e){if(n)return;n=!0,Rc(t,e)}}Cc.prototype.catch=function(e){return this.then(null,e)},Cc.prototype.then=function(e,t){var n=new this.constructor(Tc);return jc(this,new Zc(e,t,n)),n},Cc.prototype.finally=_c,Cc.all=function(e){return new Cc((function(t,n){if(!xc(e))return n(new TypeError(\"Promise.all accepts an array\"));var r=Array.prototype.slice.call(e);if(0===r.length)return t([]);var o=r.length;function i(e,c){try{if(c&&(\"object\"==typeof c||\"function\"==typeof c)){var a=c.then;if(\"function\"==typeof a)return void a.call(c,(function(t){i(e,t)}),n)}r[e]=c,0==--o&&t(r)}catch(e){n(e)}}for(var c=0;c<r.length;c++)i(c,r[c])}))},Cc.allSettled=Ic,Cc.resolve=function(e){return e&&\"object\"==typeof e&&e.constructor===Cc?e:new Cc((function(t){t(e)}))},Cc.reject=function(e){return new Cc((function(t,n){n(e)}))},Cc.race=function(e){return new Cc((function(t,n){if(!xc(e))return n(new TypeError(\"Promise.race accepts an array\"));for(var r=0,o=e.length;r<o;r++)Cc.resolve(e[r]).then(t,n)}))},Cc._immediateFn=\"function\"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){Oc(e,0)},Cc._unhandledRejectionFn=function(e){\"undefined\"!=typeof console&&console&&console.warn(\"Possible Unhandled Promise Rejection:\",e)};var Gc=function(){if(\"undefined\"!=typeof self)return self;if(\"undefined\"!=typeof window)return window;if(\"undefined\"!=typeof global)return global;throw new Error(\"unable to locate global object\")}();\"function\"!=typeof Gc.Promise?Gc.Promise=Cc:(Gc.Promise.prototype.finally||(Gc.Promise.prototype.finally=_c),Gc.Promise.allSettled||(Gc.Promise.allSettled=Ic)),function(e){function t(e){for(var t=0,n=Math.min(65536,e.length+1),r=new Uint16Array(n),o=[],i=0;;){var c=t<e.length;if(!c||i>=n-1){var a=r.subarray(0,i);if(o.push(String.fromCharCode.apply(null,a)),!c)return o.join(\"\");e=e.subarray(t),t=0,i=0}var s=e[t++];if(0==(128&s))r[i++]=s;else if(192==(224&s)){var u=63&e[t++];r[i++]=(31&s)<<6|u}else if(224==(240&s)){u=63&e[t++];var l=63&e[t++];r[i++]=(31&s)<<12|u<<6|l}else if(240==(248&s)){var f=(7&s)<<18|(u=63&e[t++])<<12|(l=63&e[t++])<<6|63&e[t++];f>65535&&(f-=65536,r[i++]=f>>>10&1023|55296,f=56320|1023&f),r[i++]=f}}}var n=\"Failed to \",r=function(e,t,r){if(e)throw new Error(\"\".concat(n).concat(t,\": the '\").concat(r,\"' option is unsupported.\"))},o=\"function\"==typeof Buffer&&Buffer.from,i=o?function(e){return Buffer.from(e)}:function(e){for(var t=0,n=e.length,r=0,o=Math.max(32,n+(n>>>1)+7),i=new Uint8Array(o>>>3<<3);t<n;){var c=e.charCodeAt(t++);if(c>=55296&&c<=56319){if(t<n){var a=e.charCodeAt(t);56320==(64512&a)&&(++t,c=((1023&c)<<10)+(1023&a)+65536)}if(c>=55296&&c<=56319)continue}if(r+4>i.length){o+=8,o=(o*=1+t/e.length*2)>>>3<<3;var s=new Uint8Array(o);s.set(i),i=s}if(0!=(4294967168&c)){if(0==(4294965248&c))i[r++]=c>>>6&31|192;else if(0==(4294901760&c))i[r++]=c>>>12&15|224,i[r++]=c>>>6&63|128;else{if(0!=(4292870144&c))continue;i[r++]=c>>>18&7|240,i[r++]=c>>>12&63|128,i[r++]=c>>>6&63|128}i[r++]=63&c|128}else i[r++]=c}return i.slice?i.slice(0,r):i.subarray(0,r)};function c(){this.encoding=\"utf-8\"}c.prototype.encode=function(e,t){return r(t&&t.stream,\"encode\",\"stream\"),i(e)};var a=!o&&\"function\"==typeof Blob&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL,s=[\"utf-8\",\"utf8\",\"unicode-1-1-utf-8\"],u=t;o?u=function(e,t){return(e instanceof Buffer?e:Buffer.from(e.buffer,e.byteOffset,e.byteLength)).toString(t)}:a&&(u=function(e){try{return function(e){var t;try{var n=new Blob([e],{type:\"text/plain;charset=UTF-8\"});t=URL.createObjectURL(n);var r=new XMLHttpRequest;return r.open(\"GET\",t,!1),r.send(),r.responseText}finally{t&&URL.revokeObjectURL(t)}}(e)}catch(n){return t(e)}});var l=\"construct 'TextDecoder'\",f=\"\".concat(n,\" \").concat(l,\": the \");function d(e,t){if(r(t&&t.fatal,l,\"fatal\"),e=e||\"utf-8\",!(o?Buffer.isEncoding(e):-1!==s.indexOf(e.toLowerCase())))throw new RangeError(\"\".concat(f,\" encoding label provided ('\").concat(e,\"') is invalid.\"));this.encoding=e,this.fatal=!1,this.ignoreBOM=!1}d.prototype.decode=function(e,t){var n;return r(t&&t.stream,\"decode\",\"stream\"),n=e instanceof Uint8Array?e:e.buffer instanceof ArrayBuffer?new Uint8Array(e.buffer):new Uint8Array(e),u(n,this.encoding)},e.TextEncoder=e.TextEncoder||c,e.TextDecoder=e.TextDecoder||d}(\"undefined\"!=typeof window?window:s),function(){function e(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function t(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function n(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}function r(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&i(e,t)}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}function i(e,t){return i=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},i(e,t)}function c(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function a(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function u(e,t){return!t||\"object\"!=typeof t&&\"function\"!=typeof t?a(e):t}function l(e){var t=c();return function(){var n,r=o(e);if(t){var i=o(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u(this,n)}}function f(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=o(e)););return e}function d(e,t,n){return d=\"undefined\"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=f(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(n):o.value}},d(e,t,n||e)}var h=function(){function t(){e(this,t),Object.defineProperty(this,\"listeners\",{value:{},writable:!0,configurable:!0})}return n(t,[{key:\"addEventListener\",value:function(e,t,n){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:t,options:n})}},{key:\"removeEventListener\",value:function(e,t){if(e in this.listeners)for(var n=this.listeners[e],r=0,o=n.length;r<o;r++)if(n[r].callback===t)return void n.splice(r,1)}},{key:\"dispatchEvent\",value:function(e){if(e.type in this.listeners){for(var t=this.listeners[e.type].slice(),n=0,r=t.length;n<r;n++){var o=t[n];try{o.callback.call(this,e)}catch(e){Promise.resolve().then((function(){throw e}))}o.options&&o.options.once&&this.removeEventListener(e.type,o.callback)}return!e.defaultPrevented}}}]),t}(),p=function(t){r(c,t);var i=l(c);function c(){var t;return e(this,c),(t=i.call(this)).listeners||h.call(a(t)),Object.defineProperty(a(t),\"aborted\",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(a(t),\"onabort\",{value:null,writable:!0,configurable:!0}),t}return n(c,[{key:\"toString\",value:function(){return\"[object AbortSignal]\"}},{key:\"dispatchEvent\",value:function(e){\"abort\"===e.type&&(this.aborted=!0,\"function\"==typeof this.onabort&&this.onabort.call(this,e)),d(o(c.prototype),\"dispatchEvent\",this).call(this,e)}}]),c}(h),y=function(){function t(){e(this,t),Object.defineProperty(this,\"signal\",{value:new p,writable:!0,configurable:!0})}return n(t,[{key:\"abort\",value:function(){var e;try{e=new Event(\"abort\")}catch(t){\"undefined\"!=typeof document?document.createEvent?(e=document.createEvent(\"Event\")).initEvent(\"abort\",!1,!1):(e=document.createEventObject()).type=\"abort\":e={type:\"abort\",bubbles:!1,cancelable:!1}}this.signal.dispatchEvent(e)}},{key:\"toString\",value:function(){return\"[object AbortController]\"}}]),t}();function v(e){return e.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log(\"__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill\"),!0):\"function\"==typeof e.Request&&!e.Request.prototype.hasOwnProperty(\"signal\")||!e.AbortController}\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&(y.prototype[Symbol.toStringTag]=\"AbortController\",p.prototype[Symbol.toStringTag]=\"AbortSignal\"),function(e){v(e)&&(e.AbortController=y,e.AbortSignal=p)}(\"undefined\"!=typeof self?self:s)}();var Ac=l((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(){function e(){var e=this;this.locked=new Map,this.addToLocked=function(t,n){var r=e.locked.get(t);void 0===r?void 0===n?e.locked.set(t,[]):e.locked.set(t,[n]):void 0!==n&&(r.unshift(n),e.locked.set(t,r))},this.isLocked=function(t){return e.locked.has(t)},this.lock=function(t){return new Promise((function(n,r){e.isLocked(t)?e.addToLocked(t,n):(e.addToLocked(t),n())}))},this.unlock=function(t){var n=e.locked.get(t);if(void 0!==n&&0!==n.length){var r=n.pop();e.locked.set(t,n),void 0!==r&&setTimeout(r,0)}else e.locked.delete(t)}}return e.getInstance=function(){return void 0===e.instance&&(e.instance=new e),e.instance},e}();t.default=function(){return n.getInstance()}}));u(Ac);var Pc=l((function(e,t){var n=s&&s.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function c(e){try{s(r.next(e))}catch(e){i(e)}}function a(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){e.done?o(e.value):new n((function(t){t(e.value)})).then(c,a)}s((r=r.apply(e,t||[])).next())}))},r=s&&s.__generator||function(e,t){var n,r,o,i,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw new TypeError(\"Generator is already executing.\");for(;c;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return c.label++,{value:i[1],done:!1};case 5:c.label++,r=i[1],i=[0];continue;case 7:i=c.ops.pop(),c.trys.pop();continue;default:if(!(o=c.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){c=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){c.label=i[1];break}if(6===i[0]&&c.label<o[1]){c.label=o[1],o=i;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(i);break}o[2]&&c.ops.pop(),c.trys.pop();continue}i=t.call(e,c)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}};Object.defineProperty(t,\"__esModule\",{value:!0});var o=\"browser-tabs-lock-key\";function i(e){return new Promise((function(t){return setTimeout(t,e)}))}function c(e){for(var t=\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz\",n=\"\",r=0;r<e;r++){n+=t[Math.floor(Math.random()*t.length)]}return n}var a=function(){function e(){this.acquiredIatSet=new Set,this.id=Date.now().toString()+c(15),this.acquireLock=this.acquireLock.bind(this),this.releaseLock=this.releaseLock.bind(this),this.releaseLock__private__=this.releaseLock__private__.bind(this),this.waitForSomethingToChange=this.waitForSomethingToChange.bind(this),this.refreshLockWhileAcquired=this.refreshLockWhileAcquired.bind(this),void 0===e.waiters&&(e.waiters=[])}return e.prototype.acquireLock=function(t,a){return void 0===a&&(a=5e3),n(this,void 0,void 0,(function(){var n,s,u,l,f,d;return r(this,(function(r){switch(r.label){case 0:n=Date.now()+c(4),s=Date.now()+a,u=o+\"-\"+t,l=window.localStorage,r.label=1;case 1:return Date.now()<s?[4,i(30)]:[3,8];case 2:return r.sent(),null!==l.getItem(u)?[3,5]:(f=this.id+\"-\"+t+\"-\"+n,[4,i(Math.floor(25*Math.random()))]);case 3:return r.sent(),l.setItem(u,JSON.stringify({id:this.id,iat:n,timeoutKey:f,timeAcquired:Date.now(),timeRefreshed:Date.now()})),[4,i(30)];case 4:return r.sent(),null!==(d=l.getItem(u))&&(d=JSON.parse(d)).id===this.id&&d.iat===n?(this.acquiredIatSet.add(n),this.refreshLockWhileAcquired(u,n),[2,!0]):[3,7];case 5:return e.lockCorrector(),[4,this.waitForSomethingToChange(s)];case 6:r.sent(),r.label=7;case 7:return n=Date.now()+c(4),[3,1];case 8:return[2,!1]}}))}))},e.prototype.refreshLockWhileAcquired=function(e,t){return n(this,void 0,void 0,(function(){var o=this;return r(this,(function(i){return setTimeout((function(){return n(o,void 0,void 0,(function(){var n,o;return r(this,(function(r){switch(r.label){case 0:return[4,Ac.default().lock(t)];case 1:return r.sent(),this.acquiredIatSet.has(t)?(n=window.localStorage,null===(o=n.getItem(e))?(Ac.default().unlock(t),[2]):((o=JSON.parse(o)).timeRefreshed=Date.now(),n.setItem(e,JSON.stringify(o)),Ac.default().unlock(t),this.refreshLockWhileAcquired(e,t),[2])):(Ac.default().unlock(t),[2])}}))}))}),1e3),[2]}))}))},e.prototype.waitForSomethingToChange=function(t){return n(this,void 0,void 0,(function(){return r(this,(function(n){switch(n.label){case 0:return[4,new Promise((function(n){var r=!1,o=Date.now(),i=!1;function c(){if(i||(window.removeEventListener(\"storage\",c),e.removeFromWaiting(c),clearTimeout(a),i=!0),!r){r=!0;var t=50-(Date.now()-o);t>0?setTimeout(n,t):n()}}window.addEventListener(\"storage\",c),e.addToWaiting(c);var a=setTimeout(c,Math.max(0,t-Date.now()))}))];case 1:return n.sent(),[2]}}))}))},e.addToWaiting=function(t){this.removeFromWaiting(t),void 0!==e.waiters&&e.waiters.push(t)},e.removeFromWaiting=function(t){void 0!==e.waiters&&(e.waiters=e.waiters.filter((function(e){return e!==t})))},e.notifyWaiters=function(){void 0!==e.waiters&&e.waiters.slice().forEach((function(e){return e()}))},e.prototype.releaseLock=function(e){return n(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return[4,this.releaseLock__private__(e)];case 1:return[2,t.sent()]}}))}))},e.prototype.releaseLock__private__=function(t){return n(this,void 0,void 0,(function(){var n,i,c;return r(this,(function(r){switch(r.label){case 0:return n=window.localStorage,i=o+\"-\"+t,null===(c=n.getItem(i))?[2]:(c=JSON.parse(c)).id!==this.id?[3,2]:[4,Ac.default().lock(c.iat)];case 1:r.sent(),this.acquiredIatSet.delete(c.iat),n.removeItem(i),Ac.default().unlock(c.iat),e.notifyWaiters(),r.label=2;case 2:return[2]}}))}))},e.lockCorrector=function(){for(var t=Date.now()-5e3,n=window.localStorage,r=Object.keys(n),i=!1,c=0;c<r.length;c++){var a=r[c];if(a.includes(o)){var s=n.getItem(a);null!==s&&(void 0===(s=JSON.parse(s)).timeRefreshed&&s.timeAcquired<t||void 0!==s.timeRefreshed&&s.timeRefreshed<t)&&(n.removeItem(a),i=!0)}}i&&e.notifyWaiters()},e.waiters=void 0,e}();t.default=a})),Xc=u(Pc),Fc={timeoutInSeconds:60},Kc=[\"login_required\",\"consent_required\",\"interaction_required\",\"account_selection_required\",\"access_denied\"],Nc={name:\"auth0-spa-js\",version:\"1.22.6\"},Uc=function(){return Date.now()},Dc=function(e){function n(t,r){var o=e.call(this,r)||this;return o.error=t,o.error_description=r,Object.setPrototypeOf(o,n.prototype),o}return t(n,e),n.fromPayload=function(e){return new n(e.error,e.error_description)},n}(Error),Hc=function(e){function n(t,r,o,i){void 0===i&&(i=null);var c=e.call(this,t,r)||this;return c.state=o,c.appState=i,Object.setPrototypeOf(c,n.prototype),c}return t(n,e),n}(Dc),Yc=function(e){function n(){var t=e.call(this,\"timeout\",\"Timeout\")||this;return Object.setPrototypeOf(t,n.prototype),t}return t(n,e),n}(Dc),Jc=function(e){function n(t){var r=e.call(this)||this;return r.popup=t,Object.setPrototypeOf(r,n.prototype),r}return t(n,e),n}(Yc),Vc=function(e){function n(t){var r=e.call(this,\"cancelled\",\"Popup closed\")||this;return r.popup=t,Object.setPrototypeOf(r,n.prototype),r}return t(n,e),n}(Dc),zc=function(e){function n(t,r,o){var i=e.call(this,t,r)||this;return i.mfa_token=o,Object.setPrototypeOf(i,n.prototype),i}return t(n,e),n}(Dc),Mc=function(e){function n(t,r){var o=e.call(this,\"missing_refresh_token\",\"Missing Refresh Token (audience: '\".concat(ia(t,[\"default\"]),\"', scope: '\").concat(ia(r),\"')\"))||this;return o.audience=t,o.scope=r,Object.setPrototypeOf(o,n.prototype),o}return t(n,e),n}(Dc),Bc=function(e){return new Promise((function(t,n){var r,o=setInterval((function(){e.popup&&e.popup.closed&&(clearInterval(o),clearTimeout(i),window.removeEventListener(\"message\",r,!1),n(new Vc(e.popup)))}),1e3),i=setTimeout((function(){clearInterval(o),n(new Jc(e.popup)),window.removeEventListener(\"message\",r,!1)}),1e3*(e.timeoutInSeconds||60));r=function(c){if(c.data&&\"authorization_response\"===c.data.type){if(clearTimeout(i),clearInterval(o),window.removeEventListener(\"message\",r,!1),e.popup.close(),c.data.response.error)return n(Dc.fromPayload(c.data.response));t(c.data.response)}},window.addEventListener(\"message\",r)}))},Qc=function(){return window.crypto||window.msCrypto},qc=function(){var e=Qc();return e.subtle||e.webkitSubtle},$c=function(){var e=\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_~.\",t=\"\";return Array.from(Qc().getRandomValues(new Uint8Array(43))).forEach((function(n){return t+=e[n%e.length]})),t},ea=function(e){return btoa(e)},ta=function(e){return Object.keys(e).filter((function(t){return void 0!==e[t]})).map((function(t){return encodeURIComponent(t)+\"=\"+encodeURIComponent(e[t])})).join(\"&\")},na=function(e){return o(void 0,void 0,void 0,(function(){var t;return i(this,(function(n){switch(n.label){case 0:return t=qc().digest({name:\"SHA-256\"},(new TextEncoder).encode(e)),window.msCrypto?[2,new Promise((function(e,n){t.oncomplete=function(t){e(t.target.result)},t.onerror=function(e){n(e.error)},t.onabort=function(){n(\"The digest operation was aborted\")}}))]:[4,t];case 1:return[2,n.sent()]}}))}))},ra=function(e){return function(e){return decodeURIComponent(atob(e).split(\"\").map((function(e){return\"%\"+(\"00\"+e.charCodeAt(0).toString(16)).slice(-2)})).join(\"\"))}(e.replace(/_/g,\"/\").replace(/-/g,\"+\"))},oa=function(e){var t=new Uint8Array(e);return function(e){var t={\"+\":\"-\",\"/\":\"_\",\"=\":\"\"};return e.replace(/[+/=]/g,(function(e){return t[e]}))}(window.btoa(String.fromCharCode.apply(String,a([],c(Array.from(t)),!1))))};function ia(e,t){return void 0===t&&(t=[]),e&&!t.includes(e)?e:\"\"}var ca=function(e,t){return o(void 0,void 0,void 0,(function(){var n,r;return i(this,(function(o){switch(o.label){case 0:return[4,(i=e,c=t,c=c||{},new Promise((function(e,t){var n=new XMLHttpRequest,r=[],o=[],a={},s=function(){return{ok:2==(n.status/100|0),statusText:n.statusText,status:n.status,url:n.responseURL,text:function(){return Promise.resolve(n.responseText)},json:function(){return Promise.resolve(n.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([n.response]))},clone:s,headers:{keys:function(){return r},entries:function(){return o},get:function(e){return a[e.toLowerCase()]},has:function(e){return e.toLowerCase()in a}}}};for(var u in n.open(c.method||\"get\",i,!0),n.onload=function(){n.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm,(function(e,t,n){r.push(t=t.toLowerCase()),o.push([t,n]),a[t]=a[t]?a[t]+\",\"+n:n})),e(s())},n.onerror=t,n.withCredentials=\"include\"==c.credentials,c.headers)n.setRequestHeader(u,c.headers[u]);n.send(c.body||null)})))];case 1:return n=o.sent(),r={ok:n.ok},[4,n.json()];case 2:return[2,(r.json=o.sent(),r)]}var i,c}))}))},aa=function(e,t,n){return o(void 0,void 0,void 0,(function(){var r,o;return i(this,(function(i){return r=new AbortController,t.signal=r.signal,[2,Promise.race([ca(e,t),new Promise((function(e,t){o=setTimeout((function(){r.abort(),t(new Error(\"Timeout when executing 'fetch'\"))}),n)}))]).finally((function(){clearTimeout(o)}))]}))}))},sa=function(e,t,n,r,c,a,s){return o(void 0,void 0,void 0,(function(){return i(this,(function(o){return[2,(i={auth:{audience:t,scope:n},timeout:c,fetchUrl:e,fetchOptions:r,useFormData:s},u=a,new Promise((function(e,t){var n=new MessageChannel;n.port1.onmessage=function(r){r.data.error?t(new Error(r.data.error)):e(r.data),n.port1.close()},u.postMessage(i,[n.port2])})))];var i,u}))}))},ua=function(e,t,n,r,c,a,s){return void 0===s&&(s=1e4),o(void 0,void 0,void 0,(function(){return i(this,(function(o){return c?[2,sa(e,t,n,r,s,c,a)]:[2,aa(e,r,s)]}))}))};function la(e,t,n,c,a,s,u){return o(this,void 0,void 0,(function(){var o,l,f,d,h,p,y,v,m;return i(this,(function(i){switch(i.label){case 0:o=null,f=0,i.label=1;case 1:if(!(f<3))return[3,6];i.label=2;case 2:return i.trys.push([2,4,,5]),[4,ua(e,n,c,a,s,u,t)];case 3:return l=i.sent(),o=null,[3,6];case 4:return d=i.sent(),o=d,[3,5];case 5:return f++,[3,1];case 6:if(o)throw o.message=o.message||\"Failed to fetch\",o;if(h=l.json,p=h.error,y=h.error_description,v=r(h,[\"error\",\"error_description\"]),!l.ok){if(m=y||\"HTTP error. Unable to fetch \".concat(e),\"mfa_required\"===p)throw new zc(p,m,v.mfa_token);throw new Dc(p||\"request_error\",m)}return[2,v]}}))}))}function fa(e,t){var n=e.baseUrl,c=e.timeout,a=e.audience,s=e.scope,u=e.auth0Client,l=e.useFormData,f=r(e,[\"baseUrl\",\"timeout\",\"audience\",\"scope\",\"auth0Client\",\"useFormData\"]);return o(this,void 0,void 0,(function(){var e;return i(this,(function(r){switch(r.label){case 0:return e=l?ta(f):JSON.stringify(f),[4,la(\"\".concat(n,\"/oauth/token\"),c,a||\"default\",s,{method:\"POST\",body:e,headers:{\"Content-Type\":l?\"application/x-www-form-urlencoded\":\"application/json\",\"Auth0-Client\":btoa(JSON.stringify(u||Nc))}},t,l)];case 1:return[2,r.sent()]}}))}))}var da=function(e){return Array.from(new Set(e))},ha=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return da(e.join(\" \").trim().split(/\\s+/)).join(\" \")},pa=function(){function e(e,t){void 0===t&&(t=\"@@auth0spajs@@\"),this.prefix=t,this.client_id=e.client_id,this.scope=e.scope,this.audience=e.audience}return e.prototype.toKey=function(){return\"\".concat(this.prefix,\"::\").concat(this.client_id,\"::\").concat(this.audience,\"::\").concat(this.scope)},e.fromKey=function(t){var n=c(t.split(\"::\"),4),r=n[0],o=n[1],i=n[2];return new e({client_id:o,scope:n[3],audience:i},r)},e.fromCacheEntry=function(t){return new e({scope:t.scope,audience:t.audience,client_id:t.client_id})},e}(),ya=function(){function e(){}return e.prototype.set=function(e,t){localStorage.setItem(e,JSON.stringify(t))},e.prototype.get=function(e){var t=window.localStorage.getItem(e);if(t)try{return JSON.parse(t)}catch(e){return}},e.prototype.remove=function(e){localStorage.removeItem(e)},e.prototype.allKeys=function(){return Object.keys(window.localStorage).filter((function(e){return e.startsWith(\"@@auth0spajs@@\")}))},e}(),va=function(){var e;this.enclosedCache=(e={},{set:function(t,n){e[t]=n},get:function(t){var n=e[t];if(n)return n},remove:function(t){delete e[t]},allKeys:function(){return Object.keys(e)}})},ma=function(){function e(e,t,n){this.cache=e,this.keyManifest=t,this.nowProvider=n,this.nowProvider=this.nowProvider||Uc}return e.prototype.get=function(e,t){var n;return void 0===t&&(t=0),o(this,void 0,void 0,(function(){var r,o,c,a,s;return i(this,(function(i){switch(i.label){case 0:return[4,this.cache.get(e.toKey())];case 1:return(r=i.sent())?[3,4]:[4,this.getCacheKeys()];case 2:return(o=i.sent())?(c=this.matchExistingCacheKey(e,o))?[4,this.cache.get(c)]:[3,4]:[2];case 3:r=i.sent(),i.label=4;case 4:return r?[4,this.nowProvider()]:[2];case 5:return a=i.sent(),s=Math.floor(a/1e3),r.expiresAt-t<s?r.body.refresh_token?(r.body={refresh_token:r.body.refresh_token},[4,this.cache.set(e.toKey(),r)]):[3,7]:[3,10];case 6:return i.sent(),[2,r.body];case 7:return[4,this.cache.remove(e.toKey())];case 8:return i.sent(),[4,null===(n=this.keyManifest)||void 0===n?void 0:n.remove(e.toKey())];case 9:return i.sent(),[2];case 10:return[2,r.body]}}))}))},e.prototype.set=function(e){var t;return o(this,void 0,void 0,(function(){var n,r;return i(this,(function(o){switch(o.label){case 0:return n=new pa({client_id:e.client_id,scope:e.scope,audience:e.audience}),[4,this.wrapCacheEntry(e)];case 1:return r=o.sent(),[4,this.cache.set(n.toKey(),r)];case 2:return o.sent(),[4,null===(t=this.keyManifest)||void 0===t?void 0:t.add(n.toKey())];case 3:return o.sent(),[2]}}))}))},e.prototype.clear=function(e){var t;return o(this,void 0,void 0,(function(){var n,r=this;return i(this,(function(c){switch(c.label){case 0:return[4,this.getCacheKeys()];case 1:return(n=c.sent())?[4,n.filter((function(t){return!e||t.includes(e)})).reduce((function(e,t){return o(r,void 0,void 0,(function(){return i(this,(function(n){switch(n.label){case 0:return[4,e];case 1:return n.sent(),[4,this.cache.remove(t)];case 2:return n.sent(),[2]}}))}))}),Promise.resolve())]:[2];case 2:return c.sent(),[4,null===(t=this.keyManifest)||void 0===t?void 0:t.clear()];case 3:return c.sent(),[2]}}))}))},e.prototype.clearSync=function(e){var t=this,n=this.cache.allKeys();n&&n.filter((function(t){return!e||t.includes(e)})).forEach((function(e){t.cache.remove(e)}))},e.prototype.wrapCacheEntry=function(e){return o(this,void 0,void 0,(function(){var t,n,r;return i(this,(function(o){switch(o.label){case 0:return[4,this.nowProvider()];case 1:return t=o.sent(),n=Math.floor(t/1e3)+e.expires_in,r=Math.min(n,e.decodedToken.claims.exp),[2,{body:e,expiresAt:r}]}}))}))},e.prototype.getCacheKeys=function(){var e;return o(this,void 0,void 0,(function(){var t;return i(this,(function(n){switch(n.label){case 0:return this.keyManifest?[4,this.keyManifest.get()]:[3,2];case 1:return t=null===(e=n.sent())||void 0===e?void 0:e.keys,[3,4];case 2:return[4,this.cache.allKeys()];case 3:t=n.sent(),n.label=4;case 4:return[2,t]}}))}))},e.prototype.matchExistingCacheKey=function(e,t){return t.filter((function(t){var n=pa.fromKey(t),r=new Set(n.scope&&n.scope.split(\" \")),o=e.scope.split(\" \"),i=n.scope&&o.reduce((function(e,t){return e&&r.has(t)}),!0);return\"@@auth0spajs@@\"===n.prefix&&n.client_id===e.client_id&&n.audience===e.audience&&i}))[0]},e}(),ba=function(){function e(e,t){this.storage=e,this.clientId=t,this.storageKey=\"\".concat(\"a0.spajs.txs\",\".\").concat(this.clientId),this.transaction=this.storage.get(this.storageKey)}return e.prototype.create=function(e){this.transaction=e,this.storage.save(this.storageKey,e,{daysUntilExpire:1})},e.prototype.get=function(){return this.transaction},e.prototype.remove=function(){delete this.transaction,this.storage.remove(this.storageKey)},e}(),ga=function(e){return\"number\"==typeof e},wa=[\"iss\",\"aud\",\"exp\",\"nbf\",\"iat\",\"jti\",\"azp\",\"nonce\",\"auth_time\",\"at_hash\",\"c_hash\",\"acr\",\"amr\",\"sub_jwk\",\"cnf\",\"sip_from_tag\",\"sip_date\",\"sip_callid\",\"sip_cseq_num\",\"sip_via_branch\",\"orig\",\"dest\",\"mky\",\"events\",\"toe\",\"txn\",\"rph\",\"sid\",\"vot\",\"vtm\"],Sa=function(e){if(!e.id_token)throw new Error(\"ID token is required but missing\");var t=function(e){var t=e.split(\".\"),n=c(t,3),r=n[0],o=n[1],i=n[2];if(3!==t.length||!r||!o||!i)throw new Error(\"ID token could not be decoded\");var a=JSON.parse(ra(o)),s={__raw:e},u={};return Object.keys(a).forEach((function(e){s[e]=a[e],wa.includes(e)||(u[e]=a[e])})),{encoded:{header:r,payload:o,signature:i},header:JSON.parse(ra(r)),claims:s,user:u}}(e.id_token);if(!t.claims.iss)throw new Error(\"Issuer (iss) claim must be a string present in the ID token\");if(t.claims.iss!==e.iss)throw new Error('Issuer (iss) claim mismatch in the ID token; expected \"'.concat(e.iss,'\", found \"').concat(t.claims.iss,'\"'));if(!t.user.sub)throw new Error(\"Subject (sub) claim must be a string present in the ID token\");if(\"RS256\"!==t.header.alg)throw new Error('Signature algorithm of \"'.concat(t.header.alg,'\" is not supported. Expected the ID token to be signed with \"RS256\".'));if(!t.claims.aud||\"string\"!=typeof t.claims.aud&&!Array.isArray(t.claims.aud))throw new Error(\"Audience (aud) claim must be a string or array of strings present in the ID token\");if(Array.isArray(t.claims.aud)){if(!t.claims.aud.includes(e.aud))throw new Error('Audience (aud) claim mismatch in the ID token; expected \"'.concat(e.aud,'\" but was not one of \"').concat(t.claims.aud.join(\", \"),'\"'));if(t.claims.aud.length>1){if(!t.claims.azp)throw new Error(\"Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values\");if(t.claims.azp!==e.aud)throw new Error('Authorized Party (azp) claim mismatch in the ID token; expected \"'.concat(e.aud,'\", found \"').concat(t.claims.azp,'\"'))}}else if(t.claims.aud!==e.aud)throw new Error('Audience (aud) claim mismatch in the ID token; expected \"'.concat(e.aud,'\" but found \"').concat(t.claims.aud,'\"'));if(e.nonce){if(!t.claims.nonce)throw new Error(\"Nonce (nonce) claim must be a string present in the ID token\");if(t.claims.nonce!==e.nonce)throw new Error('Nonce (nonce) claim mismatch in the ID token; expected \"'.concat(e.nonce,'\", found \"').concat(t.claims.nonce,'\"'))}if(e.max_age&&!ga(t.claims.auth_time))throw new Error(\"Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified\");if(!ga(t.claims.exp))throw new Error(\"Expiration Time (exp) claim must be a number present in the ID token\");if(!ga(t.claims.iat))throw new Error(\"Issued At (iat) claim must be a number present in the ID token\");var n=e.leeway||60,r=new Date(e.now||Date.now()),o=new Date(0),i=new Date(0),a=new Date(0);if(a.setUTCSeconds(parseInt(t.claims.auth_time)+e.max_age+n),o.setUTCSeconds(t.claims.exp+n),i.setUTCSeconds(t.claims.nbf-n),r>o)throw new Error(\"Expiration Time (exp) claim error in the ID token; current time (\".concat(r,\") is after expiration time (\").concat(o,\")\"));if(ga(t.claims.nbf)&&r<i)throw new Error(\"Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Currrent time (\".concat(r,\") is before \").concat(i));if(ga(t.claims.auth_time)&&r>a)throw new Error(\"Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Currrent time (\".concat(r,\") is after last auth at \").concat(a));if(e.organizationId){if(!t.claims.org_id)throw new Error(\"Organization ID (org_id) claim must be a string present in the ID token\");if(e.organizationId!==t.claims.org_id)throw new Error('Organization ID (org_id) claim mismatch in the ID token; expected \"'.concat(e.organizationId,'\", found \"').concat(t.claims.org_id,'\"'))}return t},ka=l((function(e,t){var n=s&&s.__assign||function(){return n=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function r(e,t){if(!t)return\"\";var n=\"; \"+e;return!0===t?n:n+\"=\"+t}function o(e,t,n){return encodeURIComponent(e).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/\\(/g,\"%28\").replace(/\\)/g,\"%29\")+\"=\"+encodeURIComponent(t).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent)+function(e){if(\"number\"==typeof e.expires){var t=new Date;t.setMilliseconds(t.getMilliseconds()+864e5*e.expires),e.expires=t}return r(\"Expires\",e.expires?e.expires.toUTCString():\"\")+r(\"Domain\",e.domain)+r(\"Path\",e.path)+r(\"Secure\",e.secure)+r(\"SameSite\",e.sameSite)}(n)}function i(e){for(var t={},n=e?e.split(\"; \"):[],r=/(%[\\dA-F]{2})+/gi,o=0;o<n.length;o++){var i=n[o].split(\"=\"),c=i.slice(1).join(\"=\");'\"'===c.charAt(0)&&(c=c.slice(1,-1));try{t[i[0].replace(r,decodeURIComponent)]=c.replace(r,decodeURIComponent)}catch(e){}}return t}function c(){return i(document.cookie)}function a(e,t,r){document.cookie=o(e,t,n({path:\"/\"},r))}t.__esModule=!0,t.encode=o,t.parse=i,t.getAll=c,t.get=function(e){return c()[e]},t.set=a,t.remove=function(e,t){a(e,\"\",n(n({},t),{expires:-1}))}}));u(ka),ka.encode,ka.parse,ka.getAll;var _a=ka.get,Ia=ka.set,Oa=ka.remove,xa={get:function(e){var t=_a(e);if(void 0!==t)return JSON.parse(t)},save:function(e,t,n){var r={};\"https:\"===window.location.protocol&&(r={secure:!0,sameSite:\"none\"}),(null==n?void 0:n.daysUntilExpire)&&(r.expires=n.daysUntilExpire),(null==n?void 0:n.cookieDomain)&&(r.domain=n.cookieDomain),Ia(e,JSON.stringify(t),r)},remove:function(e,t){var n={};(null==t?void 0:t.cookieDomain)&&(n.domain=t.cookieDomain),Oa(e,n)}},Ta={get:function(e){var t=xa.get(e);return t||xa.get(\"\".concat(\"_legacy_\").concat(e))},save:function(e,t,n){var r={};\"https:\"===window.location.protocol&&(r={secure:!0}),(null==n?void 0:n.daysUntilExpire)&&(r.expires=n.daysUntilExpire),Ia(\"\".concat(\"_legacy_\").concat(e),JSON.stringify(t),r),xa.save(e,t,n)},remove:function(e,t){var n={};(null==t?void 0:t.cookieDomain)&&(n.domain=t.cookieDomain),Oa(e,n),xa.remove(e,t),xa.remove(\"\".concat(\"_legacy_\").concat(e),t)}},Ca={get:function(e){if(\"undefined\"!=typeof sessionStorage){var t=sessionStorage.getItem(e);if(void 0!==t)return JSON.parse(t)}},save:function(e,t){sessionStorage.setItem(e,JSON.stringify(t))},remove:function(e){sessionStorage.removeItem(e)}};function ja(e,t,n){var r=void 0===t?null:t,o=function(e,t){var n=atob(e);if(t){for(var r=new Uint8Array(n.length),o=0,i=n.length;o<i;++o)r[o]=n.charCodeAt(o);return String.fromCharCode.apply(null,new Uint16Array(r.buffer))}return n}(e,void 0!==n&&n),i=o.indexOf(\"\\n\",10)+1,c=o.substring(i)+(r?\"//# sourceMappingURL=\"+r:\"\"),a=new Blob([c],{type:\"application/javascript\"});return URL.createObjectURL(a)}var La,Ra,Wa,Za,Ea=(La=\"Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIHQ9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdD1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxlKXt0Ll9fcHJvdG9fXz1lfXx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmKHRbcl09ZVtyXSl9LHQoZSxyKX07ZnVuY3Rpb24gZShlLHIpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiByJiZudWxsIT09cil0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKHIpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPWV9dChlLHIpLGUucHJvdG90eXBlPW51bGw9PT1yP09iamVjdC5jcmVhdGUocik6KG4ucHJvdG90eXBlPXIucHJvdG90eXBlLG5ldyBuKX12YXIgcj1mdW5jdGlvbigpe3JldHVybiByPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxyPTEsbj1hcmd1bWVudHMubGVuZ3RoO3I8bjtyKyspZm9yKHZhciBvIGluIGU9YXJndW1lbnRzW3JdKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLG8pJiYodFtvXT1lW29dKTtyZXR1cm4gdH0sci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2Z1bmN0aW9uIG4odCxlLHIsbil7cmV0dXJuIG5ldyhyfHwocj1Qcm9taXNlKSkoKGZ1bmN0aW9uKG8sYyl7ZnVuY3Rpb24gaSh0KXt0cnl7cyhuLm5leHQodCkpfWNhdGNoKHQpe2ModCl9fWZ1bmN0aW9uIGEodCl7dHJ5e3Mobi50aHJvdyh0KSl9Y2F0Y2godCl7Yyh0KX19ZnVuY3Rpb24gcyh0KXt2YXIgZTt0LmRvbmU/byh0LnZhbHVlKTooZT10LnZhbHVlLGUgaW5zdGFuY2VvZiByP2U6bmV3IHIoKGZ1bmN0aW9uKHQpe3QoZSl9KSkpLnRoZW4oaSxhKX1zKChuPW4uYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KSl9ZnVuY3Rpb24gbyh0LGUpe3ZhciByLG4sbyxjLGk9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmb1swXSl0aHJvdyBvWzFdO3JldHVybiBvWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIGM9e25leHQ6YSgwKSx0aHJvdzphKDEpLHJldHVybjphKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoY1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxjO2Z1bmN0aW9uIGEoYyl7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihjKXtpZihyKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO2k7KXRyeXtpZihyPTEsbiYmKG89MiZjWzBdP24ucmV0dXJuOmNbMF0/bi50aHJvd3x8KChvPW4ucmV0dXJuKSYmby5jYWxsKG4pLDApOm4ubmV4dCkmJiEobz1vLmNhbGwobixjWzFdKSkuZG9uZSlyZXR1cm4gbztzd2l0Y2gobj0wLG8mJihjPVsyJmNbMF0sby52YWx1ZV0pLGNbMF0pe2Nhc2UgMDpjYXNlIDE6bz1jO2JyZWFrO2Nhc2UgNDpyZXR1cm4gaS5sYWJlbCsrLHt2YWx1ZTpjWzFdLGRvbmU6ITF9O2Nhc2UgNTppLmxhYmVsKyssbj1jWzFdLGM9WzBdO2NvbnRpbnVlO2Nhc2UgNzpjPWkub3BzLnBvcCgpLGkudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEobz1pLnRyeXMsKG89by5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSl8fDYhPT1jWzBdJiYyIT09Y1swXSkpe2k9MDtjb250aW51ZX1pZigzPT09Y1swXSYmKCFvfHxjWzFdPm9bMF0mJmNbMV08b1szXSkpe2kubGFiZWw9Y1sxXTticmVha31pZig2PT09Y1swXSYmaS5sYWJlbDxvWzFdKXtpLmxhYmVsPW9bMV0sbz1jO2JyZWFrfWlmKG8mJmkubGFiZWw8b1syXSl7aS5sYWJlbD1vWzJdLGkub3BzLnB1c2goYyk7YnJlYWt9b1syXSYmaS5vcHMucG9wKCksaS50cnlzLnBvcCgpO2NvbnRpbnVlfWM9ZS5jYWxsKHQsaSl9Y2F0Y2godCl7Yz1bNix0XSxuPTB9ZmluYWxseXtyPW89MH1pZig1JmNbMF0pdGhyb3cgY1sxXTtyZXR1cm57dmFsdWU6Y1swXT9jWzFdOnZvaWQgMCxkb25lOiEwfX0oW2MsYV0pfX19ZnVuY3Rpb24gYyh0LGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT1bXSksdCYmIWUuaW5jbHVkZXModCk/dDoiIn12YXIgaT1mdW5jdGlvbih0KXtmdW5jdGlvbiByKGUsbil7dmFyIG89dC5jYWxsKHRoaXMsbil8fHRoaXM7cmV0dXJuIG8uZXJyb3I9ZSxvLmVycm9yX2Rlc2NyaXB0aW9uPW4sT2JqZWN0LnNldFByb3RvdHlwZU9mKG8sci5wcm90b3R5cGUpLG99cmV0dXJuIGUocix0KSxyLmZyb21QYXlsb2FkPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgcih0LmVycm9yLHQuZXJyb3JfZGVzY3JpcHRpb24pfSxyfShFcnJvcik7IWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHIoZSxuLG8sYyl7dm9pZCAwPT09YyYmKGM9bnVsbCk7dmFyIGk9dC5jYWxsKHRoaXMsZSxuKXx8dGhpcztyZXR1cm4gaS5zdGF0ZT1vLGkuYXBwU3RhdGU9YyxPYmplY3Quc2V0UHJvdG90eXBlT2YoaSxyLnByb3RvdHlwZSksaX1lKHIsdCl9KGkpLGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHIoZSl7dmFyIG49dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBuLnBvcHVwPWUsT2JqZWN0LnNldFByb3RvdHlwZU9mKG4sci5wcm90b3R5cGUpLG59ZShyLHQpfShmdW5jdGlvbih0KXtmdW5jdGlvbiByKCl7dmFyIGU9dC5jYWxsKHRoaXMsInRpbWVvdXQiLCJUaW1lb3V0Iil8fHRoaXM7cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZihlLHIucHJvdG90eXBlKSxlfXJldHVybiBlKHIsdCkscn0oaSkpLGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHIoZSl7dmFyIG49dC5jYWxsKHRoaXMsImNhbmNlbGxlZCIsIlBvcHVwIGNsb3NlZCIpfHx0aGlzO3JldHVybiBuLnBvcHVwPWUsT2JqZWN0LnNldFByb3RvdHlwZU9mKG4sci5wcm90b3R5cGUpLG59ZShyLHQpfShpKSxmdW5jdGlvbih0KXtmdW5jdGlvbiByKGUsbixvKXt2YXIgYz10LmNhbGwodGhpcyxlLG4pfHx0aGlzO3JldHVybiBjLm1mYV90b2tlbj1vLE9iamVjdC5zZXRQcm90b3R5cGVPZihjLHIucHJvdG90eXBlKSxjfWUocix0KX0oaSk7dmFyIGE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gcihlLG4pe3ZhciBvPXQuY2FsbCh0aGlzLCJtaXNzaW5nX3JlZnJlc2hfdG9rZW4iLCJNaXNzaW5nIFJlZnJlc2ggVG9rZW4gKGF1ZGllbmNlOiAnIi5jb25jYXQoYyhlLFsiZGVmYXVsdCJdKSwiJywgc2NvcGU6ICciKS5jb25jYXQoYyhuKSwiJykiKSl8fHRoaXM7cmV0dXJuIG8uYXVkaWVuY2U9ZSxvLnNjb3BlPW4sT2JqZWN0LnNldFByb3RvdHlwZU9mKG8sci5wcm90b3R5cGUpLG99cmV0dXJuIGUocix0KSxyfShpKSxzPXt9LHU9ZnVuY3Rpb24odCxlKXtyZXR1cm4iIi5jb25jYXQodCwifCIpLmNvbmNhdChlKX07YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGZ1bmN0aW9uKHQpe3ZhciBlPXQuZGF0YSxjPWUudGltZW91dCxpPWUuYXV0aCxmPWUuZmV0Y2hVcmwsbD1lLmZldGNoT3B0aW9ucyxwPWUudXNlRm9ybURhdGEsaD1mdW5jdGlvbih0LGUpe3ZhciByPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJnRbU3ltYm9sLml0ZXJhdG9yXTtpZighcilyZXR1cm4gdDt2YXIgbixvLGM9ci5jYWxsKHQpLGk9W107dHJ5e2Zvcig7KHZvaWQgMD09PWV8fGUtLSA+MCkmJiEobj1jLm5leHQoKSkuZG9uZTspaS5wdXNoKG4udmFsdWUpfWNhdGNoKHQpe289e2Vycm9yOnR9fWZpbmFsbHl7dHJ5e24mJiFuLmRvbmUmJihyPWMucmV0dXJuKSYmci5jYWxsKGMpfWZpbmFsbHl7aWYobyl0aHJvdyBvLmVycm9yfX1yZXR1cm4gaX0odC5wb3J0cywxKVswXTtyZXR1cm4gbih2b2lkIDAsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXt2YXIgdCxlLG4seSx2LGIsZCx3LE8sXztyZXR1cm4gbyh0aGlzLChmdW5jdGlvbihvKXtzd2l0Y2goby5sYWJlbCl7Y2FzZSAwOm49KGU9aXx8e30pLmF1ZGllbmNlLHk9ZS5zY29wZSxvLmxhYmVsPTE7Y2FzZSAxOmlmKG8udHJ5cy5wdXNoKFsxLDcsLDhdKSwhKHY9cD8obT1sLmJvZHksaz1uZXcgVVJMU2VhcmNoUGFyYW1zKG0pLFA9e30say5mb3JFYWNoKChmdW5jdGlvbih0LGUpe1BbZV09dH0pKSxQKTpKU09OLnBhcnNlKGwuYm9keSkpLnJlZnJlc2hfdG9rZW4mJiJyZWZyZXNoX3Rva2VuIj09PXYuZ3JhbnRfdHlwZSl7aWYoYj1mdW5jdGlvbih0LGUpe3JldHVybiBzW3UodCxlKV19KG4seSksIWIpdGhyb3cgbmV3IGEobix5KTtsLmJvZHk9cD9uZXcgVVJMU2VhcmNoUGFyYW1zKHIocih7fSx2KSx7cmVmcmVzaF90b2tlbjpifSkpLnRvU3RyaW5nKCk6SlNPTi5zdHJpbmdpZnkocihyKHt9LHYpLHtyZWZyZXNoX3Rva2VuOmJ9KSl9ZD12b2lkIDAsImZ1bmN0aW9uIj09dHlwZW9mIEFib3J0Q29udHJvbGxlciYmKGQ9bmV3IEFib3J0Q29udHJvbGxlcixsLnNpZ25hbD1kLnNpZ25hbCksdz12b2lkIDAsby5sYWJlbD0yO2Nhc2UgMjpyZXR1cm4gby50cnlzLnB1c2goWzIsNCwsNV0pLFs0LFByb21pc2UucmFjZShbKGc9YyxuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCl7cmV0dXJuIHNldFRpbWVvdXQodCxnKX0pKSksZmV0Y2goZixyKHt9LGwpKV0pXTtjYXNlIDM6cmV0dXJuIHc9by5zZW50KCksWzMsNV07Y2FzZSA0OnJldHVybiBPPW8uc2VudCgpLGgucG9zdE1lc3NhZ2Uoe2Vycm9yOk8ubWVzc2FnZX0pLFsyXTtjYXNlIDU6cmV0dXJuIHc/WzQsdy5qc29uKCldOihkJiZkLmFib3J0KCksaC5wb3N0TWVzc2FnZSh7ZXJyb3I6IlRpbWVvdXQgd2hlbiBleGVjdXRpbmcgJ2ZldGNoJyJ9KSxbMl0pO2Nhc2UgNjpyZXR1cm4odD1vLnNlbnQoKSkucmVmcmVzaF90b2tlbj8oZnVuY3Rpb24odCxlLHIpe3NbdShlLHIpXT10fSh0LnJlZnJlc2hfdG9rZW4sbix5KSxkZWxldGUgdC5yZWZyZXNoX3Rva2VuKTpmdW5jdGlvbih0LGUpe2RlbGV0ZSBzW3UodCxlKV19KG4seSksaC5wb3N0TWVzc2FnZSh7b2s6dy5vayxqc29uOnR9KSxbMyw4XTtjYXNlIDc6cmV0dXJuIF89by5zZW50KCksaC5wb3N0TWVzc2FnZSh7b2s6ITEsanNvbjp7ZXJyb3JfZGVzY3JpcHRpb246Xy5tZXNzYWdlfX0pLFszLDhdO2Nhc2UgODpyZXR1cm5bMl19dmFyIGcsbSxrLFB9KSl9KSl9KSl9KCk7Cgo=\",Ra=null,Wa=!1,function(e){return Za=Za||ja(La,Ra,Wa),new Worker(Za,e)}),Ga={},Aa=function(){function e(e,t){this.cache=e,this.clientId=t,this.manifestKey=this.createManifestKeyFrom(this.clientId)}return e.prototype.add=function(e){var t;return o(this,void 0,void 0,(function(){var n,r;return i(this,(function(o){switch(o.label){case 0:return r=Set.bind,[4,this.cache.get(this.manifestKey)];case 1:return(n=new(r.apply(Set,[void 0,(null===(t=o.sent())||void 0===t?void 0:t.keys)||[]]))).add(e),[4,this.cache.set(this.manifestKey,{keys:a([],c(n),!1)})];case 2:return o.sent(),[2]}}))}))},e.prototype.remove=function(e){return o(this,void 0,void 0,(function(){var t,n;return i(this,(function(r){switch(r.label){case 0:return[4,this.cache.get(this.manifestKey)];case 1:return(t=r.sent())?((n=new Set(t.keys)).delete(e),n.size>0?[4,this.cache.set(this.manifestKey,{keys:a([],c(n),!1)})]:[3,3]):[3,5];case 2:case 4:return[2,r.sent()];case 3:return[4,this.cache.remove(this.manifestKey)];case 5:return[2]}}))}))},e.prototype.get=function(){return this.cache.get(this.manifestKey)},e.prototype.clear=function(){return this.cache.remove(this.manifestKey)},e.prototype.createManifestKeyFrom=function(e){return\"\".concat(\"@@auth0spajs@@\",\"::\").concat(e)},e}(),Pa=new Xc,Xa={memory:function(){return(new va).enclosedCache},localstorage:function(){return new ya}},Fa=function(e){return Xa[e]},Ka=function(){return!/Trident.*rv:11\\.0/.test(navigator.userAgent)},Na=function(){function e(e){var t,n,c,a,s=this;if(this.options=e,this._releaseLockOnPageHide=function(){return o(s,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return[4,Pa.releaseLock(\"auth0.lock.getTokenSilently\")];case 1:return e.sent(),window.removeEventListener(\"pagehide\",this._releaseLockOnPageHide),[2]}}))}))},\"undefined\"!=typeof window&&function(){if(!Qc())throw new Error(\"For security reasons, `window.crypto` is required to run `auth0-spa-js`.\");if(void 0===qc())throw new Error(\"\\n auth0-spa-js must run on a secure origin. See https://github.com/auth0/auth0-spa-js/blob/master/FAQ.md#why-do-i-get-auth0-spa-js-must-run-on-a-secure-origin for more information.\\n \")}(),e.cache&&e.cacheLocation&&console.warn(\"Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`.\"),e.cache)c=e.cache;else{if(this.cacheLocation=e.cacheLocation||\"memory\",!Fa(this.cacheLocation))throw new Error('Invalid cache location \"'.concat(this.cacheLocation,'\"'));c=Fa(this.cacheLocation)()}this.httpTimeoutMs=e.httpTimeoutInSeconds?1e3*e.httpTimeoutInSeconds:1e4,this.cookieStorage=!1===e.legacySameSiteCookie?xa:Ta,this.orgHintCookieName=(a=this.options.client_id,\"auth0.\".concat(a,\".organization_hint\")),this.isAuthenticatedCookieName=function(e){return\"auth0.\".concat(e,\".is.authenticated\")}(this.options.client_id),this.sessionCheckExpiryDays=e.sessionCheckExpiryDays||1;var u,l=e.useCookiesForTransactions?this.cookieStorage:Ca;this.scope=this.options.scope,this.transactionManager=new ba(l,this.options.client_id),this.nowProvider=this.options.nowProvider||Uc,this.cacheManager=new ma(c,c.allKeys?null:new Aa(c,this.options.client_id),this.nowProvider),this.domainUrl=(u=this.options.domain,/^https?:\\/\\//.test(u)?u:\"https://\".concat(u)),this.tokenIssuer=function(e,t){return e?e.startsWith(\"https://\")?e:\"https://\".concat(e,\"/\"):\"\".concat(t,\"/\")}(this.options.issuer,this.domainUrl),this.defaultScope=ha(\"openid\",void 0!==(null===(n=null===(t=this.options)||void 0===t?void 0:t.advancedOptions)||void 0===n?void 0:n.defaultScope)?this.options.advancedOptions.defaultScope:\"openid profile email\"),this.options.useRefreshTokens&&(this.scope=ha(this.scope,\"offline_access\")),\"undefined\"!=typeof window&&window.Worker&&this.options.useRefreshTokens&&\"memory\"===this.cacheLocation&&Ka()&&(this.worker=new Ea),this.customOptions=function(e){return e.advancedOptions,e.audience,e.auth0Client,e.authorizeTimeoutInSeconds,e.cacheLocation,e.cache,e.client_id,e.domain,e.issuer,e.leeway,e.max_age,e.nowProvider,e.redirect_uri,e.scope,e.useRefreshTokens,e.useRefreshTokensFallback,e.useCookiesForTransactions,e.useFormData,r(e,[\"advancedOptions\",\"audience\",\"auth0Client\",\"authorizeTimeoutInSeconds\",\"cacheLocation\",\"cache\",\"client_id\",\"domain\",\"issuer\",\"leeway\",\"max_age\",\"nowProvider\",\"redirect_uri\",\"scope\",\"useRefreshTokens\",\"useRefreshTokensFallback\",\"useCookiesForTransactions\",\"useFormData\"])}(e),this.useRefreshTokensFallback=!1!==this.options.useRefreshTokensFallback}return e.prototype._url=function(e){var t=encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client||Nc)));return\"\".concat(this.domainUrl).concat(e,\"&auth0Client=\").concat(t)},e.prototype._getParams=function(e,t,o,i,c){var a=this.options;a.useRefreshTokens,a.useCookiesForTransactions,a.useFormData,a.auth0Client,a.cacheLocation,a.advancedOptions,a.detailedResponse,a.nowProvider,a.authorizeTimeoutInSeconds,a.legacySameSiteCookie,a.sessionCheckExpiryDays,a.domain,a.leeway,a.httpTimeoutInSeconds;var s=r(a,[\"useRefreshTokens\",\"useCookiesForTransactions\",\"useFormData\",\"auth0Client\",\"cacheLocation\",\"advancedOptions\",\"detailedResponse\",\"nowProvider\",\"authorizeTimeoutInSeconds\",\"legacySameSiteCookie\",\"sessionCheckExpiryDays\",\"domain\",\"leeway\",\"httpTimeoutInSeconds\"]);return n(n(n({},s),e),{scope:ha(this.defaultScope,this.scope,e.scope),response_type:\"code\",response_mode:\"query\",state:t,nonce:o,redirect_uri:c||this.options.redirect_uri,code_challenge:i,code_challenge_method:\"S256\"})},e.prototype._authorizeUrl=function(e){return this._url(\"/authorize?\".concat(ta(e)))},e.prototype._verifyIdToken=function(e,t,n){return o(this,void 0,void 0,(function(){var r;return i(this,(function(o){switch(o.label){case 0:return[4,this.nowProvider()];case 1:return r=o.sent(),[2,Sa({iss:this.tokenIssuer,aud:this.options.client_id,id_token:e,nonce:t,organizationId:n,leeway:this.options.leeway,max_age:this._parseNumber(this.options.max_age),now:r})]}}))}))},e.prototype._parseNumber=function(e){return\"string\"!=typeof e?e:parseInt(e,10)||void 0},e.prototype._processOrgIdHint=function(e){e?this.cookieStorage.save(this.orgHintCookieName,e,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}):this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain})},e.prototype.buildAuthorizeUrl=function(e){return void 0===e&&(e={}),o(this,void 0,void 0,(function(){var t,o,c,a,s,u,l,f,d,h,p,y;return i(this,(function(i){switch(i.label){case 0:return t=e.redirect_uri,o=e.appState,c=r(e,[\"redirect_uri\",\"appState\"]),a=ea($c()),s=ea($c()),u=$c(),[4,na(u)];case 1:return l=i.sent(),f=oa(l),d=e.fragment?\"#\".concat(e.fragment):\"\",h=this._getParams(c,a,s,f,t),p=this._authorizeUrl(h),y=e.organization||this.options.organization,this.transactionManager.create(n({nonce:s,code_verifier:u,appState:o,scope:h.scope,audience:h.audience||\"default\",redirect_uri:h.redirect_uri,state:a},y&&{organizationId:y})),[2,p+d]}}))}))},e.prototype.loginWithPopup=function(e,t){return o(this,void 0,void 0,(function(){var o,c,a,s,u,l,f,d,h,p,y,v,m;return i(this,(function(i){switch(i.label){case 0:if(e=e||{},!(t=t||{}).popup&&(t.popup=function(e){var t=window.screenX+(window.innerWidth-400)/2,n=window.screenY+(window.innerHeight-600)/2;return window.open(e,\"auth0:authorize:popup\",\"left=\".concat(t,\",top=\").concat(n,\",width=\").concat(400,\",height=\").concat(600,\",resizable,scrollbars=yes,status=1\"))}(\"\"),!t.popup))throw new Error(\"Unable to open a popup for loginWithPopup - window.open returned `null`\");return o=r(e,[]),c=ea($c()),a=ea($c()),s=$c(),[4,na(s)];case 1:return u=i.sent(),l=oa(u),f=this._getParams(o,c,a,l,this.options.redirect_uri||window.location.origin),d=this._authorizeUrl(n(n({},f),{response_mode:\"web_message\"})),t.popup.location.href=d,[4,Bc(n(n({},t),{timeoutInSeconds:t.timeoutInSeconds||this.options.authorizeTimeoutInSeconds||60}))];case 2:if(h=i.sent(),c!==h.state)throw new Error(\"Invalid state\");return[4,fa({audience:f.audience,scope:f.scope,baseUrl:this.domainUrl,client_id:this.options.client_id,code_verifier:s,code:h.code,grant_type:\"authorization_code\",redirect_uri:f.redirect_uri,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs},this.worker)];case 3:return p=i.sent(),y=e.organization||this.options.organization,[4,this._verifyIdToken(p.id_token,a,y)];case 4:return v=i.sent(),m=n(n({},p),{decodedToken:v,scope:f.scope,audience:f.audience||\"default\",client_id:this.options.client_id}),[4,this.cacheManager.set(m)];case 5:return i.sent(),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgIdHint(v.claims.org_id),[2]}}))}))},e.prototype.getUser=function(e){return void 0===e&&(e={}),o(this,void 0,void 0,(function(){var t,n,r;return i(this,(function(o){switch(o.label){case 0:return t=e.audience||this.options.audience||\"default\",n=ha(this.defaultScope,this.scope,e.scope),[4,this.cacheManager.get(new pa({client_id:this.options.client_id,audience:t,scope:n}))];case 1:return[2,(r=o.sent())&&r.decodedToken&&r.decodedToken.user]}}))}))},e.prototype.getIdTokenClaims=function(e){return void 0===e&&(e={}),o(this,void 0,void 0,(function(){var t,n,r;return i(this,(function(o){switch(o.label){case 0:return t=e.audience||this.options.audience||\"default\",n=ha(this.defaultScope,this.scope,e.scope),[4,this.cacheManager.get(new pa({client_id:this.options.client_id,audience:t,scope:n}))];case 1:return[2,(r=o.sent())&&r.decodedToken&&r.decodedToken.claims]}}))}))},e.prototype.loginWithRedirect=function(e){return void 0===e&&(e={}),o(this,void 0,void 0,(function(){var t,n,o;return i(this,(function(i){switch(i.label){case 0:return t=e.redirectMethod,n=r(e,[\"redirectMethod\"]),[4,this.buildAuthorizeUrl(n)];case 1:return o=i.sent(),window.location[t||\"assign\"](o),[2]}}))}))},e.prototype.handleRedirectCallback=function(e){return void 0===e&&(e=window.location.href),o(this,void 0,void 0,(function(){var t,r,o,a,s,u,l,f,d,h;return i(this,(function(i){switch(i.label){case 0:if(0===(t=e.split(\"?\").slice(1)).length)throw new Error(\"There are no query params available for parsing.\");if(r=function(e){e.indexOf(\"#\")>-1&&(e=e.substr(0,e.indexOf(\"#\")));var t=e.split(\"&\"),n={};return t.forEach((function(e){var t=c(e.split(\"=\"),2),r=t[0],o=t[1];n[r]=decodeURIComponent(o)})),n.expires_in&&(n.expires_in=parseInt(n.expires_in)),n}(t.join(\"\")),o=r.state,a=r.code,s=r.error,u=r.error_description,!(l=this.transactionManager.get()))throw new Error(\"Invalid state\");if(this.transactionManager.remove(),s)throw new Hc(s,u,o,l.appState);if(!l.code_verifier||l.state&&l.state!==o)throw new Error(\"Invalid state\");return f={audience:l.audience,scope:l.scope,baseUrl:this.domainUrl,client_id:this.options.client_id,code_verifier:l.code_verifier,grant_type:\"authorization_code\",code:a,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs},void 0!==l.redirect_uri&&(f.redirect_uri=l.redirect_uri),[4,fa(f,this.worker)];case 1:return d=i.sent(),[4,this._verifyIdToken(d.id_token,l.nonce,l.organizationId)];case 2:return h=i.sent(),[4,this.cacheManager.set(n(n(n(n({},d),{decodedToken:h,audience:l.audience,scope:l.scope}),d.scope?{oauthTokenScope:d.scope}:null),{client_id:this.options.client_id}))];case 3:return i.sent(),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgIdHint(h.claims.org_id),[2,{appState:l.appState}]}}))}))},e.prototype.checkSession=function(e){return o(this,void 0,void 0,(function(){var t;return i(this,(function(n){switch(n.label){case 0:if(!this.cookieStorage.get(this.isAuthenticatedCookieName)){if(!this.cookieStorage.get(\"auth0.is.authenticated\"))return[2];this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove(\"auth0.is.authenticated\")}n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this.getTokenSilently(e)];case 2:return n.sent(),[3,4];case 3:if(t=n.sent(),!Kc.includes(t.error))throw t;return[3,4];case 4:return[2]}}))}))},e.prototype.getTokenSilently=function(e){return void 0===e&&(e={}),o(this,void 0,void 0,(function(){var t,o,c,a,s=this;return i(this,(function(i){switch(i.label){case 0:return t=n(n({audience:this.options.audience,ignoreCache:!1},e),{scope:ha(this.defaultScope,this.scope,e.scope)}),o=t.ignoreCache,c=r(t,[\"ignoreCache\"]),[4,(u=function(){return s._getTokenSilently(n({ignoreCache:o},c))},l=\"\".concat(this.options.client_id,\"::\").concat(c.audience,\"::\").concat(c.scope),f=Ga[l],f||(f=u().finally((function(){delete Ga[l],f=null})),Ga[l]=f),f)];case 1:return a=i.sent(),[2,e.detailedResponse?a:a.access_token]}var u,l,f}))}))},e.prototype._getTokenSilently=function(e){return void 0===e&&(e={}),o(this,void 0,void 0,(function(){var t,c,a,s,u,l,f,d,h;return i(this,(function(p){switch(p.label){case 0:return t=e.ignoreCache,c=r(e,[\"ignoreCache\"]),t?[3,2]:[4,this._getEntryFromCache({scope:c.scope,audience:c.audience||\"default\",client_id:this.options.client_id})];case 1:if(a=p.sent())return[2,a];p.label=2;case 2:return[4,(y=function(){return Pa.acquireLock(\"auth0.lock.getTokenSilently\",5e3)},v=10,void 0===v&&(v=3),o(void 0,void 0,void 0,(function(){var e;return i(this,(function(t){switch(t.label){case 0:e=0,t.label=1;case 1:return e<v?[4,y()]:[3,4];case 2:if(t.sent())return[2,!0];t.label=3;case 3:return e++,[3,1];case 4:return[2,!1]}}))})))];case 3:if(!p.sent())return[3,15];p.label=4;case 4:return p.trys.push([4,,12,14]),window.addEventListener(\"pagehide\",this._releaseLockOnPageHide),t?[3,6]:[4,this._getEntryFromCache({scope:c.scope,audience:c.audience||\"default\",client_id:this.options.client_id})];case 5:if(a=p.sent())return[2,a];p.label=6;case 6:return this.options.useRefreshTokens?[4,this._getTokenUsingRefreshToken(c)]:[3,8];case 7:return u=p.sent(),[3,10];case 8:return[4,this._getTokenFromIFrame(c)];case 9:u=p.sent(),p.label=10;case 10:return s=u,[4,this.cacheManager.set(n({client_id:this.options.client_id},s))];case 11:return p.sent(),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),l=s.id_token,f=s.access_token,d=s.oauthTokenScope,h=s.expires_in,[2,n(n({id_token:l,access_token:f},d?{scope:d}:null),{expires_in:h})];case 12:return[4,Pa.releaseLock(\"auth0.lock.getTokenSilently\")];case 13:return p.sent(),window.removeEventListener(\"pagehide\",this._releaseLockOnPageHide),[7];case 14:return[3,16];case 15:throw new Yc;case 16:return[2]}var y,v}))}))},e.prototype.getTokenWithPopup=function(e,t){return void 0===e&&(e={}),void 0===t&&(t={}),o(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return e.audience=e.audience||this.options.audience,e.scope=ha(this.defaultScope,this.scope,e.scope),t=n(n({},Fc),t),[4,this.loginWithPopup(e,t)];case 1:return r.sent(),[4,this.cacheManager.get(new pa({scope:e.scope,audience:e.audience||\"default\",client_id:this.options.client_id}))];case 2:return[2,r.sent().access_token]}}))}))},e.prototype.isAuthenticated=function(){return o(this,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return[4,this.getUser()];case 1:return[2,!!e.sent()]}}))}))},e.prototype.buildLogoutUrl=function(e){void 0===e&&(e={}),null!==e.client_id?e.client_id=e.client_id||this.options.client_id:delete e.client_id;var t=e.federated,n=r(e,[\"federated\"]),o=t?\"&federated\":\"\";return this._url(\"/v2/logout?\".concat(ta(n)))+o},e.prototype.logout=function(e){var t=this;void 0===e&&(e={});var n=e.localOnly,o=r(e,[\"localOnly\"]);if(n&&o.federated)throw new Error(\"It is invalid to set both the `federated` and `localOnly` options to `true`\");var i=function(){if(t.cookieStorage.remove(t.orgHintCookieName,{cookieDomain:t.options.cookieDomain}),t.cookieStorage.remove(t.isAuthenticatedCookieName,{cookieDomain:t.options.cookieDomain}),!n){var e=t.buildLogoutUrl(o);window.location.assign(e)}};if(this.options.cache)return this.cacheManager.clear().then((function(){return i()}));this.cacheManager.clearSync(),i()},e.prototype._getTokenFromIFrame=function(e){return o(this,void 0,void 0,(function(){var t,o,c,a,s,u,l,f,d,h,p,y,v,m,b,g,w;return i(this,(function(i){switch(i.label){case 0:return t=ea($c()),o=ea($c()),c=$c(),[4,na(c)];case 1:a=i.sent(),s=oa(a),u=r(e,[\"detailedResponse\"]),l=this._getParams(u,t,o,s,e.redirect_uri||this.options.redirect_uri||window.location.origin),(f=this.cookieStorage.get(this.orgHintCookieName))&&!l.organization&&(l.organization=f),d=this._authorizeUrl(n(n({},l),{prompt:\"none\",response_mode:\"web_message\"})),i.label=2;case 2:if(i.trys.push([2,6,,7]),window.crossOriginIsolated)throw new Dc(\"login_required\",\"The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.\");return h=e.timeoutInSeconds||this.options.authorizeTimeoutInSeconds,[4,(S=d,k=this.domainUrl,_=h,void 0===_&&(_=60),new Promise((function(e,t){var n=window.document.createElement(\"iframe\");n.setAttribute(\"width\",\"0\"),n.setAttribute(\"height\",\"0\"),n.style.display=\"none\";var r,o=function(){window.document.body.contains(n)&&(window.document.body.removeChild(n),window.removeEventListener(\"message\",r,!1))},i=setTimeout((function(){t(new Yc),o()}),1e3*_);r=function(n){if(n.origin==k&&n.data&&\"authorization_response\"===n.data.type){var c=n.source;c&&c.close(),n.data.response.error?t(Dc.fromPayload(n.data.response)):e(n.data.response),clearTimeout(i),window.removeEventListener(\"message\",r,!1),setTimeout(o,2e3)}},window.addEventListener(\"message\",r,!1),window.document.body.appendChild(n),n.setAttribute(\"src\",S)})))];case 3:if(p=i.sent(),t!==p.state)throw new Error(\"Invalid state\");return y=e.scope,v=e.audience,m=r(e,[\"scope\",\"audience\",\"redirect_uri\",\"ignoreCache\",\"timeoutInSeconds\",\"detailedResponse\"]),[4,fa(n(n(n({},this.customOptions),m),{scope:y,audience:v,baseUrl:this.domainUrl,client_id:this.options.client_id,code_verifier:c,code:p.code,grant_type:\"authorization_code\",redirect_uri:l.redirect_uri,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:m.timeout||this.httpTimeoutMs}),this.worker)];case 4:return b=i.sent(),[4,this._verifyIdToken(b.id_token,o)];case 5:return g=i.sent(),this._processOrgIdHint(g.claims.org_id),[2,n(n({},b),{decodedToken:g,scope:l.scope,oauthTokenScope:b.scope,audience:l.audience||\"default\"})];case 6:throw\"login_required\"===(w=i.sent()).error&&this.logout({localOnly:!0}),w;case 7:return[2]}var S,k,_}))}))},e.prototype._getTokenUsingRefreshToken=function(e){return o(this,void 0,void 0,(function(){var t,o,c,a,s,u,l,f,d;return i(this,(function(i){switch(i.label){case 0:return e.scope=ha(this.defaultScope,this.options.scope,e.scope),[4,this.cacheManager.get(new pa({scope:e.scope,audience:e.audience||\"default\",client_id:this.options.client_id}))];case 1:return(t=i.sent())&&t.refresh_token||this.worker?[3,4]:this.useRefreshTokensFallback?[4,this._getTokenFromIFrame(e)]:[3,3];case 2:return[2,i.sent()];case 3:throw new Mc(e.audience||\"default\",e.scope);case 4:o=e.redirect_uri||this.options.redirect_uri||window.location.origin,a=e.scope,s=e.audience,u=r(e,[\"scope\",\"audience\",\"ignoreCache\",\"timeoutInSeconds\",\"detailedResponse\"]),l=\"number\"==typeof e.timeoutInSeconds?1e3*e.timeoutInSeconds:null,i.label=5;case 5:return i.trys.push([5,7,,10]),[4,fa(n(n(n(n(n({},this.customOptions),u),{audience:s,scope:a,baseUrl:this.domainUrl,client_id:this.options.client_id,grant_type:\"refresh_token\",refresh_token:t&&t.refresh_token,redirect_uri:o}),l&&{timeout:l}),{auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs}),this.worker)];case 6:return c=i.sent(),[3,10];case 7:return((f=i.sent()).message.indexOf(\"Missing Refresh Token\")>-1||f.message&&f.message.indexOf(\"invalid refresh token\")>-1)&&this.useRefreshTokensFallback?[4,this._getTokenFromIFrame(e)]:[3,9];case 8:return[2,i.sent()];case 9:throw f;case 10:return[4,this._verifyIdToken(c.id_token)];case 11:return d=i.sent(),[2,n(n({},c),{decodedToken:d,scope:e.scope,oauthTokenScope:c.scope,audience:e.audience||\"default\"})]}}))}))},e.prototype._getEntryFromCache=function(e){var t=e.scope,r=e.audience,c=e.client_id;return o(this,void 0,void 0,(function(){var e,o,a,s,u;return i(this,(function(i){switch(i.label){case 0:return[4,this.cacheManager.get(new pa({scope:t,audience:r,client_id:c}),60)];case 1:return(e=i.sent())&&e.access_token?(o=e.id_token,a=e.access_token,s=e.oauthTokenScope,u=e.expires_in,[2,n(n({id_token:o,access_token:a},s?{scope:s}:null),{expires_in:u})]):[2]}}))}))},e}(),Ua=function(){};function Da(e){return o(this,void 0,void 0,(function(){var t;return i(this,(function(n){switch(n.label){case 0:return[4,(t=new Na(e)).checkSession()];case 1:return n.sent(),[2,t]}}))}))}export{Na as Auth0Client,Hc as AuthenticationError,Dc as GenericError,va as InMemoryCache,ya as LocalStorageCache,zc as MfaRequiredError,Vc as PopupCancelledError,Jc as PopupTimeoutError,Yc as TimeoutError,Ua as User,Da as default};\n//# sourceMappingURL=auth0-spa-js.production.esm.js.map\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n '_'\n ),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n '_'\n ),\n weekdays:\n 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n '_'\n ),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '',\n 'af',\n 'il',\n 'ydd',\n 'ydd',\n 'ed',\n 'ed',\n 'ed',\n 'fed',\n 'fed',\n 'fed', // 1af to 10fed\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'fed', // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cy;\n\n})));\n","/**\r\n * DevExtreme (esm/renovation/common/config_context.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n createContext\r\n} from \"@devextreme/runtime/inferno\";\r\nexport var ConfigContext = createContext(void 0);\r\n","import VCard from './VCard'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VCardActions = createSimpleFunctional('v-card__actions')\nconst VCardSubtitle = createSimpleFunctional('v-card__subtitle')\nconst VCardText = createSimpleFunctional('v-card__text')\nconst VCardTitle = createSimpleFunctional('v-card__title')\n\nexport {\n VCard,\n VCardActions,\n VCardSubtitle,\n VCardText,\n VCardTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VCard,\n VCardActions,\n VCardSubtitle,\n VCardText,\n VCardTitle,\n },\n}\n","import VSlider from './VSlider'\n\nexport { VSlider }\nexport default VSlider\n","/**\r\n * DevExtreme (esm/localization/utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n sign,\r\n multiplyInExponentialForm\r\n} from \"../core/utils/math\";\r\nvar DECIMAL_BASE = 10;\r\n\r\nfunction roundByAbs(value) {\r\n var valueSign = sign(value);\r\n return valueSign * Math.round(Math.abs(value))\r\n}\r\n\r\nfunction adjustValue(value, precision) {\r\n var precisionMultiplier = Math.pow(DECIMAL_BASE, precision);\r\n var intermediateValue = multiplyInExponentialForm(value, precision);\r\n return roundByAbs(intermediateValue) / precisionMultiplier\r\n}\r\nexport function toFixed(value, precision) {\r\n var valuePrecision = precision || 0;\r\n var adjustedValue = valuePrecision > 0 ? adjustValue(...arguments) : value;\r\n return adjustedValue.toFixed(valuePrecision)\r\n}\r\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","/**\r\n * DevExtreme (esm/data/utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport readyCallbacks from \"../core/utils/ready_callbacks\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n equalByValue\r\n} from \"../core/utils/common\";\r\nvar ready = readyCallbacks.add;\r\nexport var XHR_ERROR_UNLOAD = \"DEVEXTREME_XHR_ERROR_UNLOAD\";\r\nexport var normalizeBinaryCriterion = function(crit) {\r\n return [crit[0], crit.length < 3 ? \"=\" : String(crit[1]).toLowerCase(), crit.length < 2 ? true : crit[crit.length - 1]]\r\n};\r\nexport var normalizeSortingInfo = function(info) {\r\n if (!Array.isArray(info)) {\r\n info = [info]\r\n }\r\n return map(info, (function(i) {\r\n var result = {\r\n selector: isFunction(i) || \"string\" === typeof i ? i : i.getter || i.field || i.selector,\r\n desc: !!(i.desc || \"d\" === String(i.dir).charAt(0).toLowerCase())\r\n };\r\n if (i.compare) {\r\n result.compare = i.compare\r\n }\r\n return result\r\n }))\r\n};\r\nexport var errorMessageFromXhr = function() {\r\n var textStatusMessages = {\r\n timeout: \"Network connection timeout\",\r\n error: \"Unspecified network error\",\r\n parsererror: \"Unexpected server response\"\r\n };\r\n var unloading;\r\n ready((function() {\r\n var window = getWindow();\r\n domAdapter.listen(window, \"beforeunload\", (function() {\r\n unloading = true\r\n }))\r\n }));\r\n return function(xhr, textStatus) {\r\n if (unloading) {\r\n return XHR_ERROR_UNLOAD\r\n }\r\n if (xhr.status < 400) {\r\n return function(textStatus) {\r\n var result = textStatusMessages[textStatus];\r\n if (!result) {\r\n return textStatus\r\n }\r\n return result\r\n }(textStatus)\r\n }\r\n return xhr.statusText\r\n }\r\n}();\r\nexport var aggregators = {\r\n count: {\r\n seed: 0,\r\n step: function(count) {\r\n return 1 + count\r\n }\r\n },\r\n sum: {\r\n seed: 0,\r\n step: function(sum, item) {\r\n return sum + item\r\n }\r\n },\r\n min: {\r\n step: function(min, item) {\r\n return item < min ? item : min\r\n }\r\n },\r\n max: {\r\n step: function(max, item) {\r\n return item > max ? item : max\r\n }\r\n },\r\n avg: {\r\n seed: [0, 0],\r\n step: function(pair, value) {\r\n return [pair[0] + value, pair[1] + 1]\r\n },\r\n finalize: function(pair) {\r\n return pair[1] ? pair[0] / pair[1] : NaN\r\n }\r\n }\r\n};\r\nexport var processRequestResultLock = function() {\r\n var lockCount = 0;\r\n var lockDeferred;\r\n return {\r\n obtain: function() {\r\n if (0 === lockCount) {\r\n lockDeferred = new Deferred\r\n }\r\n lockCount++\r\n },\r\n release: function() {\r\n lockCount--;\r\n if (lockCount < 1) {\r\n lockDeferred.resolve()\r\n }\r\n },\r\n promise: function() {\r\n var deferred = 0 === lockCount ? (new Deferred).resolve() : lockDeferred;\r\n return deferred.promise()\r\n },\r\n reset: function() {\r\n lockCount = 0;\r\n if (lockDeferred) {\r\n lockDeferred.resolve()\r\n }\r\n }\r\n }\r\n}();\r\nexport function isDisjunctiveOperator(condition) {\r\n return /^(or|\\|\\||\\|)$/i.test(condition)\r\n}\r\nexport function isConjunctiveOperator(condition) {\r\n return /^(and|&&|&)$/i.test(condition)\r\n}\r\nexport var keysEqual = function(keyExpr, key1, key2) {\r\n if (Array.isArray(keyExpr)) {\r\n var names = map(key1, (function(v, k) {\r\n return k\r\n }));\r\n var name;\r\n for (var i = 0; i < names.length; i++) {\r\n name = names[i];\r\n if (!equalByValue(key1[name], key2[name], {\r\n strict: false\r\n })) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return equalByValue(key1, key2, {\r\n strict: false\r\n })\r\n};\r\nvar BASE64_CHARS = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\nexport var base64_encode = function(input) {\r\n if (!Array.isArray(input)) {\r\n input = stringToByteArray(String(input))\r\n }\r\n var result = \"\";\r\n\r\n function getBase64Char(index) {\r\n return BASE64_CHARS.charAt(index)\r\n }\r\n for (var i = 0; i < input.length; i += 3) {\r\n var octet1 = input[i];\r\n var octet2 = input[i + 1];\r\n var octet3 = input[i + 2];\r\n result += map([octet1 >> 2, (3 & octet1) << 4 | octet2 >> 4, isNaN(octet2) ? 64 : (15 & octet2) << 2 | octet3 >> 6, isNaN(octet3) ? 64 : 63 & octet3], getBase64Char).join(\"\")\r\n }\r\n return result\r\n};\r\n\r\nfunction stringToByteArray(str) {\r\n var bytes = [];\r\n var code;\r\n var i;\r\n for (i = 0; i < str.length; i++) {\r\n code = str.charCodeAt(i);\r\n if (code < 128) {\r\n bytes.push(code)\r\n } else if (code < 2048) {\r\n bytes.push(192 + (code >> 6), 128 + (63 & code))\r\n } else if (code < 65536) {\r\n bytes.push(224 + (code >> 12), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n } else if (code < 2097152) {\r\n bytes.push(240 + (code >> 18), 128 + (code >> 12 & 63), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n }\r\n }\r\n return bytes\r\n}\r\nexport var isUnaryOperation = function(crit) {\r\n return \"!\" === crit[0] && Array.isArray(crit[1])\r\n};\r\nvar isGroupOperator = function(value) {\r\n return \"and\" === value || \"or\" === value\r\n};\r\nexport var isGroupCriterion = function(crit) {\r\n var first = crit[0];\r\n var second = crit[1];\r\n if (Array.isArray(first)) {\r\n return true\r\n }\r\n if (isFunction(first)) {\r\n if (Array.isArray(second) || isFunction(second) || isGroupOperator(second)) {\r\n return true\r\n }\r\n }\r\n return false\r\n};\r\nexport var trivialPromise = function() {\r\n var d = new Deferred;\r\n return d.resolve.apply(d, arguments).promise()\r\n};\r\nexport var rejectedPromise = function() {\r\n var d = new Deferred;\r\n return d.reject.apply(d, arguments).promise()\r\n};\r\n\r\nfunction throttle(func, timeout) {\r\n var timeoutId;\r\n return function() {\r\n if (!timeoutId) {\r\n timeoutId = setTimeout(() => {\r\n timeoutId = void 0;\r\n func.call(this)\r\n }, isFunction(timeout) ? timeout() : timeout)\r\n }\r\n return timeoutId\r\n }\r\n}\r\nexport function throttleChanges(func, timeout) {\r\n var cache = [];\r\n var throttled = throttle((function() {\r\n func.call(this, cache);\r\n cache = []\r\n }), timeout);\r\n return function(changes) {\r\n if (Array.isArray(changes)) {\r\n cache.push(...changes)\r\n }\r\n return throttled.call(this, cache)\r\n }\r\n}\r\n","var metric\n , imperial;\n\nmetric = {\n mm2: {\n name: {\n singular: 'Square Millimeter'\n , plural: 'Square Millimeters'\n }\n , to_anchor: 1/1000000\n }\n, cm2: {\n name: {\n singular: 'Centimeter'\n , plural: 'Centimeters'\n }\n , to_anchor: 1/10000\n }\n, m2: {\n name: {\n singular: 'Square Meter'\n , plural: 'Square Meters'\n }\n , to_anchor: 1\n }\n, ha: {\n name: {\n singular: 'Hectare'\n , plural: 'Hectares'\n }\n , to_anchor: 10000\n }\n, km2: {\n name: {\n singular: 'Square Kilometer'\n , plural: 'Square Kilometers'\n }\n , to_anchor: 1000000\n }\n};\n\nimperial = {\n 'in2': {\n name: {\n singular: 'Square Inch'\n , plural: 'Square Inches'\n }\n , to_anchor: 1/144\n }\n, yd2: {\n name: {\n singular: 'Square Yard'\n , plural: 'Square Yards' \n }\n , to_anchor: 9\n }\n, ft2: {\n name: {\n singular: 'Square Foot'\n , plural: 'Square Feet'\n }\n , to_anchor: 1\n }\n, ac: {\n name: {\n singular: 'Acre'\n , plural: 'Acres'\n }\n , to_anchor: 43560\n }\n, mi2: {\n name: {\n singular: 'Square Mile'\n , plural: 'Square Miles'\n }\n , to_anchor: 27878400\n }\n};\n\nmodule.exports = {\n metric: metric\n, imperial: imperial\n, _anchors: {\n metric: {\n unit: 'm2'\n , ratio: 10.7639\n }\n , imperial: {\n unit: 'ft2'\n , ratio: 1/10.7639\n }\n }\n};\n","import VIcon from './VIcon'\n\nexport { VIcon }\nexport default VIcon\n","// Utilities\nimport { removed } from '../../util/console'\n\n// Types\nimport Vue, { VNode } from 'vue'\ninterface Toggleable extends Vue {\n isActive?: boolean\n}\n\n/**\n * Bootable\n * @mixin\n *\n * Used to add lazy content functionality to components\n * Looks for change in \"isActive\" to automatically boot\n * Otherwise can be set manually\n */\n/* @vue/component */\nexport default Vue.extend<Vue & Toggleable>().extend({\n name: 'bootable',\n\n props: {\n eager: Boolean,\n },\n\n data: () => ({\n isBooted: false,\n }),\n\n computed: {\n hasContent (): boolean | undefined {\n return this.isBooted || this.eager || this.isActive\n },\n },\n\n watch: {\n isActive () {\n this.isBooted = true\n },\n },\n\n created () {\n /* istanbul ignore next */\n if ('lazy' in this.$attrs) {\n removed('lazy', this)\n }\n },\n\n methods: {\n showLazyContent (content?: () => VNode[]): VNode[] {\n return (this.hasContent && content) ? content() : [this.$createElement()]\n },\n },\n})\n","/**\r\n * DevExtreme (esm/format_helper.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isString,\r\n isNumeric,\r\n isFunction,\r\n isDefined,\r\n isDate,\r\n isPlainObject\r\n} from \"./core/utils/type\";\r\nimport dateUtils from \"./core/utils/date\";\r\nimport numberLocalization from \"./localization/number\";\r\nimport dateLocalization from \"./localization/date\";\r\nimport dependencyInjector from \"./core/utils/dependency_injector\";\r\nimport \"./localization/currency\";\r\nexport default dependencyInjector({\r\n format: function(value, _format) {\r\n var formatIsValid = isString(_format) && \"\" !== _format || isPlainObject(_format) || isFunction(_format);\r\n var valueIsValid = isNumeric(value) || isDate(value);\r\n if (!formatIsValid || !valueIsValid) {\r\n return isDefined(value) ? value.toString() : \"\"\r\n }\r\n if (isFunction(_format)) {\r\n return _format(value)\r\n }\r\n if (isString(_format)) {\r\n _format = {\r\n type: _format\r\n }\r\n }\r\n if (isNumeric(value)) {\r\n return numberLocalization.format(value, _format)\r\n }\r\n if (isDate(value)) {\r\n return dateLocalization.format(value, _format)\r\n }\r\n },\r\n getTimeFormat: function(showSecond) {\r\n return showSecond ? \"longtime\" : \"shorttime\"\r\n },\r\n _normalizeFormat: function(format) {\r\n if (!Array.isArray(format)) {\r\n return format\r\n }\r\n if (1 === format.length) {\r\n return format[0]\r\n }\r\n return function(date) {\r\n return format.map((function(formatPart) {\r\n return dateLocalization.format(date, formatPart)\r\n })).join(\" \")\r\n }\r\n },\r\n getDateFormatByDifferences: function(dateDifferences, intervalFormat) {\r\n var resultFormat = [];\r\n var needSpecialSecondFormatter = intervalFormat && dateDifferences.millisecond && !(dateDifferences.year || dateDifferences.month || dateDifferences.day);\r\n if (needSpecialSecondFormatter) {\r\n resultFormat.push((function(date) {\r\n return date.getSeconds() + date.getMilliseconds() / 1e3 + \"s\"\r\n }))\r\n } else if (dateDifferences.millisecond) {\r\n resultFormat.push(\"millisecond\")\r\n }\r\n if (dateDifferences.hour || dateDifferences.minute || !needSpecialSecondFormatter && dateDifferences.second) {\r\n resultFormat.unshift(this.getTimeFormat(dateDifferences.second))\r\n }\r\n if (dateDifferences.year && dateDifferences.month && dateDifferences.day) {\r\n if (intervalFormat && \"month\" === intervalFormat) {\r\n return \"monthandyear\"\r\n } else {\r\n resultFormat.unshift(\"shortdate\");\r\n return this._normalizeFormat(resultFormat)\r\n }\r\n }\r\n if (dateDifferences.year && dateDifferences.month) {\r\n return \"monthandyear\"\r\n }\r\n if (dateDifferences.year && dateDifferences.quarter) {\r\n return \"quarterandyear\"\r\n }\r\n if (dateDifferences.year) {\r\n return \"year\"\r\n }\r\n if (dateDifferences.quarter) {\r\n return \"quarter\"\r\n }\r\n if (dateDifferences.month && dateDifferences.day) {\r\n if (intervalFormat) {\r\n resultFormat.unshift((function(date) {\r\n return dateLocalization.getMonthNames(\"abbreviated\")[date.getMonth()] + \" \" + dateLocalization.format(date, \"day\")\r\n }))\r\n } else {\r\n resultFormat.unshift(\"monthandday\")\r\n }\r\n return this._normalizeFormat(resultFormat)\r\n }\r\n if (dateDifferences.month) {\r\n return \"month\"\r\n }\r\n if (dateDifferences.day) {\r\n if (intervalFormat) {\r\n resultFormat.unshift(\"day\")\r\n } else {\r\n resultFormat.unshift((function(date) {\r\n return dateLocalization.format(date, \"dayofweek\") + \", \" + dateLocalization.format(date, \"day\")\r\n }))\r\n }\r\n return this._normalizeFormat(resultFormat)\r\n }\r\n return this._normalizeFormat(resultFormat)\r\n },\r\n getDateFormatByTicks: function(ticks) {\r\n var maxDiff;\r\n var currentDiff;\r\n var i;\r\n if (ticks.length > 1) {\r\n maxDiff = dateUtils.getDatesDifferences(ticks[0], ticks[1]);\r\n for (i = 1; i < ticks.length - 1; i++) {\r\n currentDiff = dateUtils.getDatesDifferences(ticks[i], ticks[i + 1]);\r\n if (maxDiff.count < currentDiff.count) {\r\n maxDiff = currentDiff\r\n }\r\n }\r\n } else {\r\n maxDiff = {\r\n year: true,\r\n month: true,\r\n day: true,\r\n hour: ticks[0].getHours() > 0,\r\n minute: ticks[0].getMinutes() > 0,\r\n second: ticks[0].getSeconds() > 0,\r\n millisecond: ticks[0].getMilliseconds() > 0\r\n }\r\n }\r\n var resultFormat = this.getDateFormatByDifferences(maxDiff);\r\n return resultFormat\r\n },\r\n getDateFormatByTickInterval: function(startValue, endValue, tickInterval) {\r\n var dateUnitInterval;\r\n var correctDateDifferences = function(dateDifferences, tickInterval, value) {\r\n switch (tickInterval) {\r\n case \"year\":\r\n case \"quarter\":\r\n dateDifferences.month = value;\r\n case \"month\":\r\n dateDifferences.day = value;\r\n case \"week\":\r\n case \"day\":\r\n dateDifferences.hour = value;\r\n case \"hour\":\r\n dateDifferences.minute = value;\r\n case \"minute\":\r\n dateDifferences.second = value;\r\n case \"second\":\r\n dateDifferences.millisecond = value\r\n }\r\n };\r\n tickInterval = isString(tickInterval) ? tickInterval.toLowerCase() : tickInterval;\r\n var dateDifferences = dateUtils.getDatesDifferences(startValue, endValue);\r\n if (startValue !== endValue) {\r\n ! function(differences, minDate, maxDate) {\r\n if (!maxDate.getMilliseconds() && maxDate.getSeconds()) {\r\n if (maxDate.getSeconds() - minDate.getSeconds() === 1) {\r\n differences.millisecond = true;\r\n differences.second = false\r\n }\r\n } else if (!maxDate.getSeconds() && maxDate.getMinutes()) {\r\n if (maxDate.getMinutes() - minDate.getMinutes() === 1) {\r\n differences.second = true;\r\n differences.minute = false\r\n }\r\n } else if (!maxDate.getMinutes() && maxDate.getHours()) {\r\n if (maxDate.getHours() - minDate.getHours() === 1) {\r\n differences.minute = true;\r\n differences.hour = false\r\n }\r\n } else if (!maxDate.getHours() && maxDate.getDate() > 1) {\r\n if (maxDate.getDate() - minDate.getDate() === 1) {\r\n differences.hour = true;\r\n differences.day = false\r\n }\r\n } else if (1 === maxDate.getDate() && maxDate.getMonth()) {\r\n if (maxDate.getMonth() - minDate.getMonth() === 1) {\r\n differences.day = true;\r\n differences.month = false\r\n }\r\n } else if (!maxDate.getMonth() && maxDate.getFullYear()) {\r\n if (maxDate.getFullYear() - minDate.getFullYear() === 1) {\r\n differences.month = true;\r\n differences.year = false\r\n }\r\n }\r\n }(dateDifferences, startValue > endValue ? endValue : startValue, startValue > endValue ? startValue : endValue)\r\n }\r\n dateUnitInterval = dateUtils.getDateUnitInterval(dateDifferences);\r\n correctDateDifferences(dateDifferences, dateUnitInterval, true);\r\n dateUnitInterval = dateUtils.getDateUnitInterval(tickInterval || \"second\");\r\n correctDateDifferences(dateDifferences, dateUnitInterval, false);\r\n dateDifferences[{\r\n week: \"day\"\r\n } [dateUnitInterval] || dateUnitInterval] = true;\r\n var resultFormat = this.getDateFormatByDifferences(dateDifferences);\r\n return resultFormat\r\n }\r\n});\r\n","import './VSimpleCheckbox.sass'\n\nimport Ripple from '../../directives/ripple'\n\nimport Vue, { VNode, VNodeDirective } from 'vue'\nimport { VIcon } from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'v-simple-checkbox',\n\n functional: true,\n\n directives: {\n Ripple,\n },\n\n props: {\n ...Colorable.options.props,\n ...Themeable.options.props,\n disabled: Boolean,\n ripple: {\n type: Boolean,\n default: true,\n },\n value: Boolean,\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n },\n\n render (h, { props, data, listeners }): VNode {\n const children = []\n let icon = props.offIcon\n if (props.indeterminate) icon = props.indeterminateIcon\n else if (props.value) icon = props.onIcon\n\n children.push(h(VIcon, Colorable.options.methods.setTextColor(props.value && props.color, {\n props: {\n disabled: props.disabled,\n dark: props.dark,\n light: props.light,\n },\n }), icon))\n\n if (props.ripple && !props.disabled) {\n const ripple = h('div', Colorable.options.methods.setTextColor(props.color, {\n staticClass: 'v-input--selection-controls__ripple',\n directives: [{\n def: Ripple,\n name: 'ripple',\n value: { center: true },\n }] as VNodeDirective[],\n }))\n\n children.push(ripple)\n }\n\n return h('div',\n mergeData(data, {\n class: {\n 'v-simple-checkbox': true,\n 'v-simple-checkbox--disabled': props.disabled,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (data.on && data.on.input && !props.disabled) {\n wrapInArray(data.on.input).forEach(f => f(!props.value))\n }\n },\n },\n }), [\n h('div', { staticClass: 'v-input--selection-controls__input' }, children),\n ])\n },\n})\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsStrictRegex =\n /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse = [\n /^janv/i,\n /^févr/i,\n /^mars/i,\n /^avr/i,\n /^mai/i,\n /^juin/i,\n /^juil/i,\n /^août/i,\n /^sept/i,\n /^oct/i,\n /^nov/i,\n /^déc/i,\n ];\n\n var fr = moment.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fr;\n\n})));\n","/**\r\n * DevExtreme (esm/ui/load_indicator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getNavigator\r\n} from \"../core/utils/window\";\r\nvar navigator = getNavigator();\r\nimport {\r\n animation\r\n} from \"../core/utils/support\";\r\nimport {\r\n current,\r\n isMaterial,\r\n isGeneric\r\n} from \"./themes\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport devices from \"../core/devices\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Widget from \"./widget/ui.widget\";\r\nvar LOADINDICATOR_CLASS = \"dx-loadindicator\";\r\nvar LOADINDICATOR_WRAPPER_CLASS = \"dx-loadindicator-wrapper\";\r\nvar LOADINDICATOR_CONTENT_CLASS = \"dx-loadindicator-content\";\r\nvar LOADINDICATOR_ICON_CLASS = \"dx-loadindicator-icon\";\r\nvar LOADINDICATOR_SEGMENT_CLASS = \"dx-loadindicator-segment\";\r\nvar LOADINDICATOR_SEGMENT_INNER_CLASS = \"dx-loadindicator-segment-inner\";\r\nvar LOADINDICATOR_IMAGE_CLASS = \"dx-loadindicator-image\";\r\nvar LoadIndicator = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n indicatorSrc: \"\",\r\n activeStateEnabled: false,\r\n hoverStateEnabled: false,\r\n _animatingSegmentCount: 1,\r\n _animatingSegmentInner: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = current();\r\n return this.callBase().concat([{\r\n device: function() {\r\n var realDevice = devices.real();\r\n var obsoleteAndroid = \"android\" === realDevice.platform && !/chrome/i.test(navigator.userAgent);\r\n return obsoleteAndroid\r\n },\r\n options: {\r\n viaImage: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n _animatingSegmentCount: 2,\r\n _animatingSegmentInner: true\r\n }\r\n }, {\r\n device: function() {\r\n return isGeneric(themeName)\r\n },\r\n options: {\r\n _animatingSegmentCount: 7\r\n }\r\n }])\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(LOADINDICATOR_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderWrapper();\r\n this._renderIndicatorContent();\r\n this._renderMarkup()\r\n },\r\n _renderWrapper: function() {\r\n this._$wrapper = $(\"<div>\").addClass(LOADINDICATOR_WRAPPER_CLASS);\r\n this.$element().append(this._$wrapper)\r\n },\r\n _renderIndicatorContent: function() {\r\n this._$content = $(\"<div>\").addClass(LOADINDICATOR_CONTENT_CLASS);\r\n this._$wrapper.append(this._$content)\r\n },\r\n _renderMarkup: function() {\r\n if (animation() && !this.option(\"viaImage\") && !this.option(\"indicatorSrc\")) {\r\n this._renderMarkupForAnimation()\r\n } else {\r\n this._renderMarkupForImage()\r\n }\r\n },\r\n _renderMarkupForAnimation: function() {\r\n var animatingSegmentInner = this.option(\"_animatingSegmentInner\");\r\n this._$indicator = $(\"<div>\").addClass(LOADINDICATOR_ICON_CLASS);\r\n this._$content.append(this._$indicator);\r\n for (var i = this.option(\"_animatingSegmentCount\"); i >= 0; --i) {\r\n var $segment = $(\"<div>\").addClass(LOADINDICATOR_SEGMENT_CLASS).addClass(LOADINDICATOR_SEGMENT_CLASS + i);\r\n if (animatingSegmentInner) {\r\n $segment.append($(\"<div>\").addClass(LOADINDICATOR_SEGMENT_INNER_CLASS))\r\n }\r\n this._$indicator.append($segment)\r\n }\r\n },\r\n _renderMarkupForImage: function() {\r\n var indicatorSrc = this.option(\"indicatorSrc\");\r\n this._$wrapper.addClass(LOADINDICATOR_IMAGE_CLASS);\r\n if (indicatorSrc) {\r\n this._$wrapper.css(\"backgroundImage\", \"url(\" + indicatorSrc + \")\")\r\n }\r\n },\r\n _renderDimensions: function() {\r\n this.callBase();\r\n this._updateContentSizeForAnimation()\r\n },\r\n _updateContentSizeForAnimation: function() {\r\n if (!this._$indicator) {\r\n return\r\n }\r\n var width = this.option(\"width\");\r\n var height = this.option(\"height\");\r\n if (width || height) {\r\n width = getWidth(this.$element());\r\n height = getHeight(this.$element());\r\n var minDimension = Math.min(height, width);\r\n this._$wrapper.css({\r\n height: minDimension,\r\n width: minDimension,\r\n fontSize: minDimension\r\n })\r\n }\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._removeMarkupForAnimation();\r\n this._removeMarkupForImage()\r\n },\r\n _removeMarkupForAnimation: function() {\r\n if (!this._$indicator) {\r\n return\r\n }\r\n this._$indicator.remove();\r\n delete this._$indicator\r\n },\r\n _removeMarkupForImage: function() {\r\n this._$wrapper.css(\"backgroundImage\", \"none\")\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"_animatingSegmentCount\":\r\n case \"_animatingSegmentInner\":\r\n case \"indicatorSrc\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxLoadIndicator\", LoadIndicator);\r\nexport default LoadIndicator;\r\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","/**\r\n * DevExtreme (esm/core/errors.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"./utils/error\";\r\nexport default errorUtils({\r\n E0001: \"Method is not implemented\",\r\n E0002: \"Member name collision: {0}\",\r\n E0003: \"A class must be instantiated using the 'new' keyword\",\r\n E0004: \"The NAME property of the component is not specified\",\r\n E0005: \"Unknown device\",\r\n E0006: \"Unknown endpoint key is requested\",\r\n E0007: \"'Invalidate' method is called outside the update transaction\",\r\n E0008: \"Type of the option name is not appropriate to create an action\",\r\n E0009: \"Component '{0}' has not been initialized for an element\",\r\n E0010: \"Animation configuration with the '{0}' type requires '{1}' configuration as {2}\",\r\n E0011: \"Unknown animation type '{0}'\",\r\n E0012: \"jQuery version is too old. Please upgrade jQuery to 1.10.0 or later\",\r\n E0013: \"KnockoutJS version is too old. Please upgrade KnockoutJS to 2.3.0 or later\",\r\n E0014: \"The 'release' method shouldn't be called for an unlocked Lock object\",\r\n E0015: \"Queued task returned an unexpected result\",\r\n E0017: \"Event namespace is not defined\",\r\n E0018: \"DevExpress.ui.DevExpressPopup widget is required\",\r\n E0020: \"Template engine '{0}' is not supported\",\r\n E0021: \"Unknown theme is set: {0}\",\r\n E0022: \"LINK[rel=DevExpress-theme] tags must go before DevExpress included scripts\",\r\n E0023: \"Template name is not specified\",\r\n E0024: \"DevExtreme bundle already included\",\r\n E0025: \"Unexpected argument type\",\r\n E0100: \"Unknown validation type is detected\",\r\n E0101: \"Misconfigured range validation rule is detected\",\r\n E0102: \"Misconfigured comparison validation rule is detected\",\r\n E0103: \"validationCallback of an asynchronous rule should return a jQuery or a native promise\",\r\n E0110: \"Unknown validation group is detected\",\r\n E0120: \"Adapter for a DevExpressValidator component cannot be configured\",\r\n E0121: \"The 'customItem' parameter of the 'onCustomItemCreating' function is empty or contains invalid data. Assign a custom object or a Promise that is resolved after the item is created.\",\r\n W0000: \"'{0}' is deprecated in {1}. {2}\",\r\n W0001: \"{0} - '{1}' option is deprecated in {2}. {3}\",\r\n W0002: \"{0} - '{1}' method is deprecated in {2}. {3}\",\r\n W0003: \"{0} - '{1}' property is deprecated in {2}. {3}\",\r\n W0004: \"Timeout for theme loading is over: {0}\",\r\n W0005: \"'{0}' event is deprecated in {1}. {2}\",\r\n W0006: \"Invalid recurrence rule: '{0}'\",\r\n W0007: \"'{0}' Globalize culture is not defined\",\r\n W0008: \"Invalid view name: '{0}'\",\r\n W0009: \"Invalid time zone name: '{0}'\",\r\n W0010: \"{0} is deprecated in {1}. {2}\",\r\n W0011: \"Number parsing is invoked while the parser is not defined\",\r\n W0012: \"Date parsing is invoked while the parser is not defined\",\r\n W0013: \"'{0}' file is deprecated in {1}. {2}\",\r\n W0014: \"{0} - '{1}' type is deprecated in {2}. {3}\",\r\n W0015: \"Instead of returning a value from the '{0}' function, write it into the '{1}' field of the function's parameter.\",\r\n W0016: 'The \"{0}\" option does not accept the \"{1}\" value since v{2}. {3}.',\r\n W0017: 'Setting the \"{0}\" property with a function is deprecated since v21.2',\r\n W0018: 'Setting the \"position\" property with a function is deprecated since v21.2'\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollbar.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport readyCallback from \"../../core/utils/ready_callbacks\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n deferRenderer\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nvar SCROLLBAR = \"dxScrollbar\";\r\nvar SCROLLABLE_SCROLLBAR_CLASS = \"dx-scrollable-scrollbar\";\r\nvar SCROLLABLE_SCROLLBAR_ACTIVE_CLASS = \"\".concat(SCROLLABLE_SCROLLBAR_CLASS, \"-active\");\r\nvar SCROLLABLE_SCROLL_CLASS = \"dx-scrollable-scroll\";\r\nvar SCROLLABLE_SCROLL_CONTENT_CLASS = \"dx-scrollable-scroll-content\";\r\nvar HOVER_ENABLED_STATE = \"dx-scrollbar-hoverable\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar THUMB_MIN_SIZE = 15;\r\nvar SCROLLBAR_VISIBLE = {\r\n onScroll: \"onScroll\",\r\n onHover: \"onHover\",\r\n always: \"always\",\r\n never: \"never\"\r\n};\r\nvar activeScrollbar = null;\r\nvar Scrollbar = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n direction: null,\r\n visible: false,\r\n activeStateEnabled: false,\r\n visibilityMode: SCROLLBAR_VISIBLE.onScroll,\r\n containerSize: 0,\r\n contentSize: 0,\r\n expandable: true,\r\n scaleRatio: 1\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._isHovered = false\r\n },\r\n _initMarkup: function() {\r\n this._renderThumb();\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderDirection();\r\n this._update();\r\n this._attachPointerDownHandler();\r\n this.option(\"hoverStateEnabled\", this._isHoverMode());\r\n this.$element().toggleClass(HOVER_ENABLED_STATE, this.option(\"hoverStateEnabled\"))\r\n },\r\n _renderThumb: function() {\r\n this._$thumb = $(\"<div>\").addClass(SCROLLABLE_SCROLL_CLASS);\r\n $(\"<div>\").addClass(SCROLLABLE_SCROLL_CONTENT_CLASS).appendTo(this._$thumb);\r\n this.$element().addClass(SCROLLABLE_SCROLLBAR_CLASS).append(this._$thumb)\r\n },\r\n isThumb: function($element) {\r\n return !!this.$element().find($element).length\r\n },\r\n _isHoverMode: function() {\r\n var visibilityMode = this.option(\"visibilityMode\");\r\n return (visibilityMode === SCROLLBAR_VISIBLE.onHover || visibilityMode === SCROLLBAR_VISIBLE.always) && this.option(\"expandable\")\r\n },\r\n _renderDirection: function() {\r\n var direction = this.option(\"direction\");\r\n this.$element().addClass(\"dx-scrollbar-\" + direction);\r\n this._dimension = direction === HORIZONTAL ? \"width\" : \"height\";\r\n this._prop = direction === HORIZONTAL ? \"left\" : \"top\"\r\n },\r\n _attachPointerDownHandler: function() {\r\n eventsEngine.on(this._$thumb, addNamespace(pointerEvents.down, SCROLLBAR), this.feedbackOn.bind(this))\r\n },\r\n feedbackOn: function() {\r\n this.$element().addClass(SCROLLABLE_SCROLLBAR_ACTIVE_CLASS);\r\n activeScrollbar = this\r\n },\r\n feedbackOff: function() {\r\n this.$element().removeClass(SCROLLABLE_SCROLLBAR_ACTIVE_CLASS);\r\n activeScrollbar = null\r\n },\r\n cursorEnter: function() {\r\n this._isHovered = true;\r\n if (this._needScrollbar()) {\r\n this.option(\"visible\", true)\r\n }\r\n },\r\n cursorLeave: function() {\r\n this._isHovered = false;\r\n this.option(\"visible\", false)\r\n },\r\n _renderDimensions: function() {\r\n this._$thumb.css({\r\n width: this.option(\"width\"),\r\n height: this.option(\"height\")\r\n })\r\n },\r\n _toggleVisibility: function(visible) {\r\n if (this.option(\"visibilityMode\") === SCROLLBAR_VISIBLE.onScroll) {\r\n this._$thumb.css(\"opacity\")\r\n }\r\n visible = this._adjustVisibility(visible);\r\n this.option().visible = visible;\r\n this._$thumb.toggleClass(\"dx-state-invisible\", !visible)\r\n },\r\n _adjustVisibility: function(visible) {\r\n if (this._baseContainerToContentRatio && !this._needScrollbar()) {\r\n return false\r\n }\r\n switch (this.option(\"visibilityMode\")) {\r\n case SCROLLBAR_VISIBLE.onScroll:\r\n break;\r\n case SCROLLBAR_VISIBLE.onHover:\r\n visible = visible || !!this._isHovered;\r\n break;\r\n case SCROLLBAR_VISIBLE.never:\r\n visible = false;\r\n break;\r\n case SCROLLBAR_VISIBLE.always:\r\n visible = true\r\n }\r\n return visible\r\n },\r\n moveTo: function(location) {\r\n if (this._isHidden()) {\r\n return\r\n }\r\n if (isPlainObject(location)) {\r\n location = location[this._prop] || 0\r\n }\r\n var scrollBarLocation = {};\r\n scrollBarLocation[this._prop] = this._calculateScrollBarPosition(location);\r\n move(this._$thumb, scrollBarLocation)\r\n },\r\n _calculateScrollBarPosition: function(location) {\r\n return -location * this._thumbRatio\r\n },\r\n _update: function() {\r\n var containerSize = Math.round(this.option(\"containerSize\"));\r\n var contentSize = Math.round(this.option(\"contentSize\"));\r\n var baseContainerSize = Math.round(this.option(\"baseContainerSize\"));\r\n var baseContentSize = Math.round(this.option(\"baseContentSize\"));\r\n if (isNaN(baseContainerSize)) {\r\n baseContainerSize = containerSize;\r\n baseContentSize = contentSize\r\n }\r\n this._baseContainerToContentRatio = baseContentSize ? baseContainerSize / baseContentSize : baseContainerSize;\r\n this._realContainerToContentRatio = contentSize ? containerSize / contentSize : containerSize;\r\n var thumbSize = Math.round(Math.max(Math.round(containerSize * this._realContainerToContentRatio), THUMB_MIN_SIZE));\r\n this._thumbRatio = (containerSize - thumbSize) / (this.option(\"scaleRatio\") * (contentSize - containerSize));\r\n this.option(this._dimension, thumbSize / this.option(\"scaleRatio\"));\r\n this.$element().css(\"display\", this._needScrollbar() ? \"\" : \"none\")\r\n },\r\n _isHidden: function() {\r\n return this.option(\"visibilityMode\") === SCROLLBAR_VISIBLE.never\r\n },\r\n _needScrollbar: function() {\r\n return !this._isHidden() && this._baseContainerToContentRatio < 1\r\n },\r\n containerToContentRatio: function() {\r\n return this._realContainerToContentRatio\r\n },\r\n _normalizeSize: function(size) {\r\n return isPlainObject(size) ? size[this._dimension] || 0 : size\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n if (this === activeScrollbar) {\r\n activeScrollbar = null\r\n }\r\n eventsEngine.off(this._$thumb, \".\" + SCROLLBAR)\r\n },\r\n _optionChanged: function(args) {\r\n if (this._isHidden()) {\r\n return\r\n }\r\n switch (args.name) {\r\n case \"containerSize\":\r\n case \"contentSize\":\r\n this.option()[args.name] = this._normalizeSize(args.value);\r\n this._update();\r\n break;\r\n case \"baseContentSize\":\r\n case \"baseContainerSize\":\r\n this._update();\r\n break;\r\n case \"visibilityMode\":\r\n case \"direction\":\r\n this._invalidate();\r\n break;\r\n case \"scaleRatio\":\r\n this._update();\r\n break;\r\n default:\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n update: deferRenderer((function() {\r\n this._adjustVisibility() && this.option(\"visible\", true)\r\n }))\r\n});\r\nreadyCallback.add((function() {\r\n eventsEngine.subscribeGlobal(domAdapter.getDocument(), addNamespace(pointerEvents.up, SCROLLBAR), (function() {\r\n if (activeScrollbar) {\r\n activeScrollbar.feedbackOff()\r\n }\r\n }))\r\n}));\r\nexport default Scrollbar;\r\n","/**\r\n * DevExtreme (esm/renovation/utils/combine_classes.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function combineClasses(classesMap) {\r\n return Object.keys(classesMap).filter(p => classesMap[p]).join(\" \")\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/console.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"./type\";\r\nvar noop = function() {};\r\nvar getConsoleMethod = function(method) {\r\n if (\"undefined\" === typeof console || !isFunction(console[method])) {\r\n return noop\r\n }\r\n return console[method].bind(console)\r\n};\r\nexport var logger = {\r\n log: getConsoleMethod(\"log\"),\r\n info: getConsoleMethod(\"info\"),\r\n warn: getConsoleMethod(\"warn\"),\r\n error: getConsoleMethod(\"error\")\r\n};\r\nexport var debug = function() {\r\n function assert(condition, message) {\r\n if (!condition) {\r\n throw new Error(message)\r\n }\r\n }\r\n return {\r\n assert: assert,\r\n assertParam: function(parameter, message) {\r\n assert(null !== parameter && void 0 !== parameter, message)\r\n }\r\n }\r\n}();\r\n","/**\r\n * DevExtreme (esm/events/core/emitter.feedback.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n noop,\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n contains\r\n} from \"../../core/utils/dom\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n isMouseEvent\r\n} from \"../utils/index\";\r\nimport pointerEvents from \"../pointer\";\r\nimport Emitter from \"./emitter\";\r\nimport registerEmitter from \"./emitter_registrator\";\r\nvar ACTIVE_EVENT_NAME = \"dxactive\";\r\nvar INACTIVE_EVENT_NAME = \"dxinactive\";\r\nvar ACTIVE_TIMEOUT = 30;\r\nvar INACTIVE_TIMEOUT = 400;\r\nvar FeedbackEvent = Class.inherit({\r\n ctor: function(timeout, fire) {\r\n this._timeout = timeout;\r\n this._fire = fire\r\n },\r\n start: function() {\r\n var that = this;\r\n this._schedule((function() {\r\n that.force()\r\n }))\r\n },\r\n _schedule: function(fn) {\r\n this.stop();\r\n this._timer = setTimeout(fn, this._timeout)\r\n },\r\n stop: function() {\r\n clearTimeout(this._timer)\r\n },\r\n force: function() {\r\n if (this._fired) {\r\n return\r\n }\r\n this.stop();\r\n this._fire();\r\n this._fired = true\r\n },\r\n fired: function() {\r\n return this._fired\r\n }\r\n});\r\nvar activeFeedback;\r\nvar FeedbackEmitter = Emitter.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._active = new FeedbackEvent(0, noop);\r\n this._inactive = new FeedbackEvent(0, noop)\r\n },\r\n configure: function(data, eventName) {\r\n switch (eventName) {\r\n case ACTIVE_EVENT_NAME:\r\n data.activeTimeout = data.timeout;\r\n break;\r\n case INACTIVE_EVENT_NAME:\r\n data.inactiveTimeout = data.timeout\r\n }\r\n this.callBase(data)\r\n },\r\n start: function(e) {\r\n if (activeFeedback) {\r\n var activeChildExists = contains(this.getElement().get(0), activeFeedback.getElement().get(0));\r\n var childJustActivated = !activeFeedback._active.fired();\r\n if (activeChildExists && childJustActivated) {\r\n this._cancel();\r\n return\r\n }\r\n activeFeedback._inactive.force()\r\n }\r\n activeFeedback = this;\r\n this._initEvents(e);\r\n this._active.start()\r\n },\r\n _initEvents: function(e) {\r\n var that = this;\r\n var eventTarget = this._getEmitterTarget(e);\r\n var mouseEvent = isMouseEvent(e);\r\n var isSimulator = devices.isSimulator();\r\n var deferFeedback = isSimulator || !mouseEvent;\r\n var activeTimeout = ensureDefined(this.activeTimeout, ACTIVE_TIMEOUT);\r\n var inactiveTimeout = ensureDefined(this.inactiveTimeout, INACTIVE_TIMEOUT);\r\n this._active = new FeedbackEvent(deferFeedback ? activeTimeout : 0, (function() {\r\n that._fireEvent(ACTIVE_EVENT_NAME, e, {\r\n target: eventTarget\r\n })\r\n }));\r\n this._inactive = new FeedbackEvent(deferFeedback ? inactiveTimeout : 0, (function() {\r\n that._fireEvent(INACTIVE_EVENT_NAME, e, {\r\n target: eventTarget\r\n });\r\n activeFeedback = null\r\n }))\r\n },\r\n cancel: function(e) {\r\n this.end(e)\r\n },\r\n end: function(e) {\r\n var skipTimers = e.type !== pointerEvents.up;\r\n if (skipTimers) {\r\n this._active.stop()\r\n } else {\r\n this._active.force()\r\n }\r\n this._inactive.start();\r\n if (skipTimers) {\r\n this._inactive.force()\r\n }\r\n },\r\n dispose: function() {\r\n this._active.stop();\r\n this._inactive.stop();\r\n if (activeFeedback === this) {\r\n activeFeedback = null\r\n }\r\n this.callBase()\r\n },\r\n lockInactive: function() {\r\n this._active.force();\r\n this._inactive.stop();\r\n activeFeedback = null;\r\n this._cancel();\r\n return this._inactive.force.bind(this._inactive)\r\n }\r\n});\r\nFeedbackEmitter.lock = function(deferred) {\r\n var lockInactive = activeFeedback ? activeFeedback.lockInactive() : noop;\r\n deferred.done(lockInactive)\r\n};\r\nregisterEmitter({\r\n emitter: FeedbackEmitter,\r\n events: [ACTIVE_EVENT_NAME, INACTIVE_EVENT_NAME]\r\n});\r\nexport var lock = FeedbackEmitter.lock;\r\nexport {\r\n ACTIVE_EVENT_NAME as active, INACTIVE_EVENT_NAME as inactive\r\n};\r\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'roundable',\n\n props: {\n rounded: [Boolean, String],\n tile: Boolean,\n },\n\n computed: {\n roundedClasses (): Record<string, boolean> {\n const composite = []\n const rounded = typeof this.rounded === 'string'\n ? String(this.rounded)\n : this.rounded === true\n\n if (this.tile) {\n composite.push('rounded-0')\n } else if (typeof rounded === 'string') {\n const values = rounded.split(' ')\n\n for (const value of values) {\n composite.push(`rounded-${value}`)\n }\n } else if (rounded) {\n composite.push('rounded')\n }\n\n return composite.length > 0 ? {\n [composite.join(' ')]: true,\n } : {}\n },\n },\n})\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pullAllChildren = void 0;\nfunction pullAllChildren(directChildren, allChildren, config) {\n if (!directChildren || directChildren.length === 0) {\n return;\n }\n pullConfigComponents(directChildren, allChildren, config);\n}\nexports.pullAllChildren = pullAllChildren;\nfunction pullConfigComponents(children, nodes, ownerConfig) {\n children.forEach(function (node) {\n nodes.push(node);\n if (!node.componentOptions) {\n return;\n }\n var configComponent = node.componentOptions.Ctor;\n if (!configComponent.$_optionName) {\n return;\n }\n var initialValues = __assign(__assign({}, configComponent.$_predefinedProps), node.componentOptions.propsData);\n var config = ownerConfig.createNested(configComponent.$_optionName, initialValues, configComponent.$_isCollectionItem, configComponent.$_expectedChildren);\n node.componentOptions.$_config = config;\n node.componentOptions.$_innerChanges = {};\n if (node.componentOptions.children) {\n pullConfigComponents(node.componentOptions.children, nodes, config);\n }\n });\n}\n","import { attachedRoot } from '../../util/dom'\nimport { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: Event) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirective extends VNodeDirective {\n value?: ((e: Event) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: PointerEvent, binding: ClickOutsideDirective): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value!.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n inserted (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n const onClick = (e: Event) => directive(e as PointerEvent, el, binding)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as PointerEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[vnode.context!._uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unbind (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside?.[vnode.context!._uid]) return\n\n const { onClick, onMousedown } = el._clickOutside[vnode.context!._uid]!\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[vnode.context!._uid]\n },\n}\n\nexport default ClickOutside\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOptionInfo = exports.getOptionValue = exports.allKeysAreEqual = exports.forEachChildNode = exports.isEqual = exports.toComparable = exports.camelize = exports.lowercaseFirst = exports.uppercaseFirst = exports.getTemplatePropName = void 0;\nfunction getTemplatePropName(props, templateName) {\n for (var propName in props) {\n if (props[propName] === templateName) {\n return propName;\n }\n }\n return templateName;\n}\nexports.getTemplatePropName = getTemplatePropName;\nfunction uppercaseFirst(value) {\n return value[0].toUpperCase() + value.substr(1);\n}\nexports.uppercaseFirst = uppercaseFirst;\nfunction lowercaseFirst(value) {\n return value[0].toLowerCase() + value.substr(1);\n}\nexports.lowercaseFirst = lowercaseFirst;\nfunction camelize(value) {\n return lowercaseFirst(value.split(\"-\").map(function (v) { return uppercaseFirst(v); }).join(\"\"));\n}\nexports.camelize = camelize;\nfunction toComparable(value) {\n return value instanceof Date ? value.getTime() : value;\n}\nexports.toComparable = toComparable;\nfunction isEqual(value1, value2) {\n if (toComparable(value1) === toComparable(value2)) {\n return true;\n }\n if (Array.isArray(value1) && Array.isArray(value2)) {\n return value1.length === 0 && value2.length === 0;\n }\n return false;\n}\nexports.isEqual = isEqual;\nfunction forEachChildNode(el, callback) {\n Array.prototype.slice.call(el.childNodes).forEach(callback);\n}\nexports.forEachChildNode = forEachChildNode;\nfunction allKeysAreEqual(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n if (obj1Keys.length !== Object.keys(obj2).length) {\n return false;\n }\n for (var _i = 0, obj1Keys_1 = obj1Keys; _i < obj1Keys_1.length; _i++) {\n var key = obj1Keys_1[_i];\n if (!obj2.hasOwnProperty(key)) {\n return false;\n }\n }\n return true;\n}\nexports.allKeysAreEqual = allKeysAreEqual;\nfunction getOptionValue(options, optionPath) {\n var value = options;\n optionPath.split(\".\").forEach(function (p) {\n var optionInfo = getOptionInfo(p);\n if (value) {\n value = optionInfo.isCollection ?\n value[optionInfo.name] && value[optionInfo.name][optionInfo.index] :\n value[optionInfo.name];\n }\n });\n return value;\n}\nexports.getOptionValue = getOptionValue;\nfunction getOptionInfo(name) {\n var parts = name.split(\"[\");\n if (parts.length === 1) {\n return {\n isCollection: false,\n name: name,\n fullName: name\n };\n }\n return {\n isCollection: true,\n name: parts[0],\n fullName: name,\n index: Number(parts[1].slice(0, -1))\n };\n}\nexports.getOptionInfo = getOptionInfo;\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DX_REMOVE_EVENT = exports.DX_TEMPLATE_WRAPPER_CLASS = void 0;\nvar DX_TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\nexports.DX_TEMPLATE_WRAPPER_CLASS = DX_TEMPLATE_WRAPPER_CLASS;\nvar DX_REMOVE_EVENT = \"dxremove\";\nexports.DX_REMOVE_EVENT = DX_REMOVE_EVENT;\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'جانفي',\n 'فيفري',\n 'مارس',\n 'أفريل',\n 'ماي',\n 'جوان',\n 'جويلية',\n 'أوت',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arDz = moment.defineLocale('ar-dz', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arDz;\n\n})));\n","/**\r\n * DevExtreme (esm/ui/selection/selection.strategy.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n getKeyHash,\r\n noop,\r\n equalByValue\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nexport default class SelectionStrategy {\r\n constructor(options) {\r\n this.options = options;\r\n this._setOption(\"disabledItemKeys\", []);\r\n this._clearItemKeys()\r\n }\r\n _clearItemKeys() {\r\n this._setOption(\"addedItemKeys\", []);\r\n this._setOption(\"removedItemKeys\", []);\r\n this._setOption(\"removedItems\", []);\r\n this._setOption(\"addedItems\", [])\r\n }\r\n validate() {}\r\n _setOption(name, value) {\r\n this.options[name] = value\r\n }\r\n onSelectionChanged() {\r\n var addedItemKeys = this.options.addedItemKeys;\r\n var removedItemKeys = this.options.removedItemKeys;\r\n var addedItems = this.options.addedItems;\r\n var removedItems = this.options.removedItems;\r\n var selectedItems = this.options.selectedItems;\r\n var selectedItemKeys = this.options.selectedItemKeys;\r\n var onSelectionChanged = this.options.onSelectionChanged || noop;\r\n this._clearItemKeys();\r\n onSelectionChanged({\r\n selectedItems: selectedItems,\r\n selectedItemKeys: selectedItemKeys,\r\n addedItemKeys: addedItemKeys,\r\n removedItemKeys: removedItemKeys,\r\n addedItems: addedItems,\r\n removedItems: removedItems\r\n })\r\n }\r\n equalKeys(key1, key2) {\r\n if (this.options.equalByReference) {\r\n if (isObject(key1) && isObject(key2)) {\r\n return key1 === key2\r\n }\r\n }\r\n return equalByValue(key1, key2)\r\n }\r\n getSelectableItems(items) {\r\n return items.filter((function(item) {\r\n return !(null !== item && void 0 !== item && item.disabled)\r\n }))\r\n }\r\n _clearSelection(keys, preserve, isDeselect, isSelectAll) {\r\n keys = keys || [];\r\n keys = Array.isArray(keys) ? keys : [keys];\r\n this.validate();\r\n return this.selectedItemKeys(keys, preserve, isDeselect, isSelectAll)\r\n }\r\n _removeTemplateProperty(remoteFilter) {\r\n if (Array.isArray(remoteFilter)) {\r\n return remoteFilter.map(f => this._removeTemplateProperty(f))\r\n }\r\n if (isObject(remoteFilter)) {\r\n delete remoteFilter.template\r\n }\r\n return remoteFilter\r\n }\r\n _loadFilteredData(remoteFilter, localFilter, select, isSelectAll) {\r\n var filterLength = encodeURI(JSON.stringify(this._removeTemplateProperty(remoteFilter))).length;\r\n var needLoadAllData = this.options.maxFilterLengthInRequest && filterLength > this.options.maxFilterLengthInRequest;\r\n var deferred = new Deferred;\r\n var loadOptions = {\r\n filter: needLoadAllData ? void 0 : remoteFilter,\r\n select: needLoadAllData ? this.options.dataFields() : select || this.options.dataFields()\r\n };\r\n if (remoteFilter && 0 === remoteFilter.length) {\r\n deferred.resolve([])\r\n } else {\r\n this.options.load(loadOptions).done((function(items) {\r\n var filteredItems = isPlainObject(items) ? items.data : items;\r\n if (localFilter && !isSelectAll) {\r\n filteredItems = filteredItems.filter(localFilter)\r\n } else if (needLoadAllData) {\r\n filteredItems = dataQuery(filteredItems).filter(remoteFilter).toArray()\r\n }\r\n deferred.resolve(filteredItems)\r\n })).fail(deferred.reject.bind(deferred))\r\n }\r\n return deferred\r\n }\r\n updateSelectedItemKeyHash(keys) {\r\n for (var i = 0; i < keys.length; i++) {\r\n var keyHash = getKeyHash(keys[i]);\r\n if (!isObject(keyHash)) {\r\n this.options.keyHashIndices[keyHash] = this.options.keyHashIndices[keyHash] || [];\r\n var keyIndices = this.options.keyHashIndices[keyHash];\r\n keyIndices.push(i)\r\n }\r\n }\r\n }\r\n _isAnyItemSelected(items) {\r\n for (var i = 0; i < items.length; i++) {\r\n if (this.options.isItemSelected(items[i])) {\r\n return\r\n }\r\n }\r\n return false\r\n }\r\n _getFullSelectAllState() {\r\n var items = this.options.plainItems();\r\n var dataFilter = this.options.filter();\r\n var selectedItems = this.options.ignoreDisabledItems ? this.options.selectedItems : this.options.selectedItems.filter(item => !(null !== item && void 0 !== item && item.disabled));\r\n if (dataFilter) {\r\n selectedItems = dataQuery(selectedItems).filter(dataFilter).toArray()\r\n }\r\n var selectedItemsLength = selectedItems.length;\r\n var disabledItemsLength = items.length - this.getSelectableItems(items).length;\r\n if (!selectedItemsLength) {\r\n return this._isAnyItemSelected(items)\r\n }\r\n if (selectedItemsLength >= this.options.totalCount() - disabledItemsLength) {\r\n return true\r\n }\r\n return\r\n }\r\n _getVisibleSelectAllState() {\r\n var items = this.getSelectableItems(this.options.plainItems());\r\n var hasSelectedItems = false;\r\n var hasUnselectedItems = false;\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var itemData = this.options.getItemData(item);\r\n var key = this.options.keyOf(itemData);\r\n if (this.options.isSelectableItem(item)) {\r\n if (this.isItemKeySelected(key)) {\r\n hasSelectedItems = true\r\n } else {\r\n hasUnselectedItems = true\r\n }\r\n }\r\n }\r\n if (hasSelectedItems) {\r\n return !hasUnselectedItems ? true : void 0\r\n } else {\r\n return false\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.strategy.deferred.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport SelectionStrategy from \"./selection.strategy\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nexport default class DeferredStrategy extends SelectionStrategy {\r\n getSelectedItems() {\r\n return this._loadFilteredData(this.options.selectionFilter)\r\n }\r\n getSelectedItemKeys() {\r\n var d = new Deferred;\r\n var that = this;\r\n var key = this.options.key();\r\n var select = isString(key) ? [key] : key;\r\n this._loadFilteredData(this.options.selectionFilter, null, select).done((function(items) {\r\n var keys = items.map((function(item) {\r\n return that.options.keyOf(item)\r\n }));\r\n d.resolve(keys)\r\n })).fail(d.reject);\r\n return d.promise()\r\n }\r\n selectedItemKeys(keys, preserve, isDeselect, isSelectAll) {\r\n if (isSelectAll) {\r\n var filter = this.options.filter();\r\n var needResetSelectionFilter = !filter || JSON.stringify(filter) === JSON.stringify(this.options.selectionFilter) && isDeselect;\r\n if (needResetSelectionFilter) {\r\n this._setOption(\"selectionFilter\", isDeselect ? [] : null)\r\n } else {\r\n this._addSelectionFilter(isDeselect, filter, isSelectAll)\r\n }\r\n } else {\r\n if (!preserve) {\r\n this._setOption(\"selectionFilter\", [])\r\n }\r\n for (var i = 0; i < keys.length; i++) {\r\n if (isDeselect) {\r\n this.removeSelectedItem(keys[i])\r\n } else {\r\n this.addSelectedItem(keys[i], isSelectAll, !preserve)\r\n }\r\n }\r\n }\r\n this.onSelectionChanged();\r\n return (new Deferred).resolve()\r\n }\r\n setSelectedItems(keys) {\r\n this._setOption(\"selectionFilter\", null);\r\n for (var i = 0; i < keys.length; i++) {\r\n this.addSelectedItem(keys[i])\r\n }\r\n }\r\n isItemDataSelected(itemData) {\r\n return this.isItemKeySelected(itemData)\r\n }\r\n isItemKeySelected(itemData) {\r\n var selectionFilter = this.options.selectionFilter;\r\n if (!selectionFilter) {\r\n return true\r\n }\r\n return !!dataQuery([itemData]).filter(selectionFilter).toArray().length\r\n }\r\n _getKeyExpr() {\r\n var keyField = this.options.key();\r\n if (Array.isArray(keyField) && 1 === keyField.length) {\r\n return keyField[0]\r\n }\r\n return keyField\r\n }\r\n _normalizeKey(key) {\r\n var keyExpr = this.options.key();\r\n if (Array.isArray(keyExpr) && 1 === keyExpr.length) {\r\n return key[keyExpr[0]]\r\n }\r\n return key\r\n }\r\n _getFilterByKey(key) {\r\n var keyField = this._getKeyExpr();\r\n var filter = [keyField, \"=\", this._normalizeKey(key)];\r\n if (Array.isArray(keyField)) {\r\n filter = [];\r\n for (var i = 0; i < keyField.length; i++) {\r\n filter.push([keyField[i], \"=\", key[keyField[i]]]);\r\n if (i !== keyField.length - 1) {\r\n filter.push(\"and\")\r\n }\r\n }\r\n }\r\n return filter\r\n }\r\n addSelectedItem(key, isSelectAll, skipFilter) {\r\n var filter = this._getFilterByKey(key);\r\n this._addSelectionFilter(false, filter, isSelectAll, skipFilter)\r\n }\r\n removeSelectedItem(key) {\r\n var filter = this._getFilterByKey(key);\r\n this._addSelectionFilter(true, filter)\r\n }\r\n validate() {\r\n var key = this.options.key;\r\n if (key && void 0 === key()) {\r\n throw errors.Error(\"E1042\", \"Deferred selection\")\r\n }\r\n }\r\n _findSubFilter(selectionFilter, filter) {\r\n if (!selectionFilter) {\r\n return -1\r\n }\r\n var filterString = JSON.stringify(filter);\r\n for (var index = 0; index < selectionFilter.length; index++) {\r\n var subFilter = selectionFilter[index];\r\n if (subFilter && JSON.stringify(subFilter) === filterString) {\r\n return index\r\n }\r\n }\r\n return -1\r\n }\r\n _isLastSubFilter(selectionFilter, filter) {\r\n if (selectionFilter && filter) {\r\n return this._findSubFilter(selectionFilter, filter) === selectionFilter.length - 1 || 0 === this._findSubFilter([selectionFilter], filter)\r\n }\r\n return false\r\n }\r\n _addFilterOperator(selectionFilter, filterOperator) {\r\n if (selectionFilter.length > 1 && isString(selectionFilter[1]) && selectionFilter[1] !== filterOperator) {\r\n selectionFilter = [selectionFilter]\r\n }\r\n if (selectionFilter.length) {\r\n selectionFilter.push(filterOperator)\r\n }\r\n return selectionFilter\r\n }\r\n _denormalizeFilter(filter) {\r\n if (filter && isString(filter[0])) {\r\n filter = [filter]\r\n }\r\n return filter\r\n }\r\n _isOnlyNegativeFiltersLeft(filters) {\r\n return filters.every((filterItem, i) => {\r\n if (i % 2 === 0) {\r\n return Array.isArray(filterItem) && \"!\" === filterItem[0]\r\n } else {\r\n return \"and\" === filterItem\r\n }\r\n })\r\n }\r\n _addSelectionFilter(isDeselect, filter, isSelectAll, skipFilter) {\r\n var _selectionFilter;\r\n var currentFilter = isDeselect ? [\"!\", filter] : filter;\r\n var currentOperation = isDeselect ? \"and\" : \"or\";\r\n var needAddFilter = true;\r\n var selectionFilter = this.options.selectionFilter || [];\r\n selectionFilter = this._denormalizeFilter(selectionFilter);\r\n if (null !== (_selectionFilter = selectionFilter) && void 0 !== _selectionFilter && _selectionFilter.length && !skipFilter) {\r\n var removedIndex = this._removeSameFilter(selectionFilter, filter, isDeselect, isSelectAll);\r\n var filterIndex = this._removeSameFilter(selectionFilter, filter, !isDeselect);\r\n var shouldCleanFilter = isDeselect && (-1 !== removedIndex || -1 !== filterIndex) && this._isOnlyNegativeFiltersLeft(selectionFilter);\r\n if (shouldCleanFilter) {\r\n selectionFilter = []\r\n }\r\n var isKeyOperatorsAfterRemoved = this._isKeyFilter(filter) && this._hasKeyFiltersOnlyStartingFromIndex(selectionFilter, filterIndex);\r\n needAddFilter = filter.length && !isKeyOperatorsAfterRemoved\r\n }\r\n if (needAddFilter) {\r\n selectionFilter = this._addFilterOperator(selectionFilter, currentOperation);\r\n selectionFilter.push(currentFilter)\r\n }\r\n selectionFilter = this._normalizeFilter(selectionFilter);\r\n this._setOption(\"selectionFilter\", !isDeselect && !selectionFilter.length ? null : selectionFilter)\r\n }\r\n _normalizeFilter(filter) {\r\n if (filter && 1 === filter.length) {\r\n filter = filter[0]\r\n }\r\n return filter\r\n }\r\n _removeFilterByIndex(filter, filterIndex, isSelectAll) {\r\n var operation = filter[1];\r\n if (filterIndex > 0) {\r\n filter.splice(filterIndex - 1, 2)\r\n } else {\r\n filter.splice(filterIndex, 2)\r\n }\r\n if (isSelectAll && \"and\" === operation) {\r\n filter.splice(0, filter.length)\r\n }\r\n }\r\n _isSimpleKeyFilter(filter, key) {\r\n return 3 === filter.length && filter[0] === key && \"=\" === filter[1]\r\n }\r\n _isKeyFilter(filter) {\r\n if (2 === filter.length && \"!\" === filter[0]) {\r\n return this._isKeyFilter(filter[1])\r\n }\r\n var keyField = this._getKeyExpr();\r\n if (Array.isArray(keyField)) {\r\n if (filter.length !== 2 * keyField.length - 1) {\r\n return false\r\n }\r\n for (var i = 0; i < keyField.length; i++) {\r\n if (i > 0 && \"and\" !== filter[2 * i - 1]) {\r\n return false\r\n }\r\n if (!this._isSimpleKeyFilter(filter[2 * i], keyField[i])) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return this._isSimpleKeyFilter(filter, keyField)\r\n }\r\n _hasKeyFiltersOnlyStartingFromIndex(selectionFilter, filterIndex) {\r\n if (filterIndex >= 0) {\r\n for (var i = filterIndex; i < selectionFilter.length; i++) {\r\n if (\"string\" !== typeof selectionFilter[i] && !this._isKeyFilter(selectionFilter[i])) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return false\r\n }\r\n _removeSameFilter(selectionFilter, filter, inverted, isSelectAll) {\r\n filter = inverted ? [\"!\", filter] : filter;\r\n if (JSON.stringify(filter) === JSON.stringify(selectionFilter)) {\r\n selectionFilter.splice(0, selectionFilter.length);\r\n return 0\r\n }\r\n var filterIndex = this._findSubFilter(selectionFilter, filter);\r\n if (filterIndex >= 0) {\r\n this._removeFilterByIndex(selectionFilter, filterIndex, isSelectAll);\r\n return filterIndex\r\n } else {\r\n for (var i = 0; i < selectionFilter.length; i++) {\r\n if (Array.isArray(selectionFilter[i]) && selectionFilter[i].length > 2) {\r\n var _filterIndex = this._removeSameFilter(selectionFilter[i], filter, false, isSelectAll);\r\n if (_filterIndex >= 0) {\r\n if (!selectionFilter[i].length) {\r\n this._removeFilterByIndex(selectionFilter, i, isSelectAll)\r\n } else if (1 === selectionFilter[i].length) {\r\n selectionFilter[i] = selectionFilter[i][0]\r\n }\r\n return _filterIndex\r\n }\r\n }\r\n }\r\n return -1\r\n }\r\n }\r\n getSelectAllState() {\r\n var filter = this.options.filter();\r\n var selectionFilter = this.options.selectionFilter;\r\n if (!selectionFilter) {\r\n return true\r\n }\r\n if (!selectionFilter.length) {\r\n return false\r\n }\r\n if (!filter || !filter.length) {\r\n return\r\n }\r\n selectionFilter = this._denormalizeFilter(selectionFilter);\r\n if (this._isLastSubFilter(selectionFilter, filter)) {\r\n return true\r\n }\r\n if (this._isLastSubFilter(selectionFilter, [\"!\", filter])) {\r\n return false\r\n }\r\n return\r\n }\r\n loadSelectedItemsWithFilter() {\r\n var componentFilter = this.options.filter();\r\n var selectionFilter = this.options.selectionFilter;\r\n var filter = componentFilter ? [componentFilter, \"and\", selectionFilter] : selectionFilter;\r\n return this._loadFilteredData(filter)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/selection_filter.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getKeyHash,\r\n equalByValue\r\n} from \"./common\";\r\nimport {\r\n isString,\r\n isObject\r\n} from \"./type\";\r\nimport {\r\n compileGetter\r\n} from \"./data\";\r\nexport var SelectionFilterCreator = function(selectedItemKeys, isSelectAll) {\r\n this.getLocalFilter = function(keyGetter, equalKeys, equalByReference, keyExpr) {\r\n equalKeys = void 0 === equalKeys ? equalByValue : equalKeys;\r\n return functionFilter.bind(this, equalKeys, keyGetter, equalByReference, keyExpr)\r\n };\r\n this.getExpr = function(keyExpr) {\r\n if (!keyExpr) {\r\n return\r\n }\r\n var filterExpr;\r\n selectedItemKeys.forEach((function(key, index) {\r\n filterExpr = filterExpr || [];\r\n var filterExprPart;\r\n if (index > 0) {\r\n filterExpr.push(isSelectAll ? \"and\" : \"or\")\r\n }\r\n if (isString(keyExpr)) {\r\n filterExprPart = getFilterForPlainKey(keyExpr, key)\r\n } else {\r\n filterExprPart = function(keyExpr, itemKeyValue) {\r\n var filterExpr = [];\r\n for (var i = 0, length = keyExpr.length; i < length; i++) {\r\n var currentKeyExpr = keyExpr[i];\r\n var keyValueGetter = compileGetter(currentKeyExpr);\r\n var currentKeyValue = itemKeyValue && keyValueGetter(itemKeyValue);\r\n var filterExprPart = getFilterForPlainKey(currentKeyExpr, currentKeyValue);\r\n if (!filterExprPart) {\r\n break\r\n }\r\n if (i > 0) {\r\n filterExpr.push(isSelectAll ? \"or\" : \"and\")\r\n }\r\n filterExpr.push(filterExprPart)\r\n }\r\n return filterExpr\r\n }(keyExpr, key)\r\n }\r\n filterExpr.push(filterExprPart)\r\n }));\r\n if (filterExpr && 1 === filterExpr.length) {\r\n filterExpr = filterExpr[0]\r\n }\r\n return filterExpr\r\n };\r\n this.getCombinedFilter = function(keyExpr, dataSourceFilter) {\r\n var forceCombinedFilter = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n var filterExpr = this.getExpr(keyExpr);\r\n var combinedFilter = filterExpr;\r\n if ((forceCombinedFilter || isSelectAll) && dataSourceFilter) {\r\n if (filterExpr) {\r\n combinedFilter = [];\r\n combinedFilter.push(filterExpr);\r\n combinedFilter.push(dataSourceFilter)\r\n } else {\r\n combinedFilter = dataSourceFilter\r\n }\r\n }\r\n return combinedFilter\r\n };\r\n var selectedItemKeyHashesMap;\r\n var normalizeKeys = function(keys, keyOf, keyExpr) {\r\n return Array.isArray(keyExpr) ? keys.map(key => keyOf(key)) : keys\r\n };\r\n\r\n function functionFilter(equalKeys, keyOf, equalByReference, keyExpr, item) {\r\n var key = keyOf(item);\r\n var keyHash;\r\n var i;\r\n if (!equalByReference) {\r\n keyHash = getKeyHash(key);\r\n if (!isObject(keyHash)) {\r\n var selectedKeyHashesMap = function(keyOf, keyExpr) {\r\n if (!selectedItemKeyHashesMap) {\r\n selectedItemKeyHashesMap = {};\r\n var normalizedKeys = normalizeKeys(selectedItemKeys, keyOf, keyExpr);\r\n for (var i = 0; i < normalizedKeys.length; i++) {\r\n selectedItemKeyHashesMap[getKeyHash(normalizedKeys[i])] = true\r\n }\r\n }\r\n return selectedItemKeyHashesMap\r\n }(keyOf, keyExpr);\r\n if (selectedKeyHashesMap[keyHash]) {\r\n return !isSelectAll\r\n }\r\n return !!isSelectAll\r\n }\r\n }\r\n for (i = 0; i < selectedItemKeys.length; i++) {\r\n if (equalKeys(selectedItemKeys[i], key)) {\r\n return !isSelectAll\r\n }\r\n }\r\n return !!isSelectAll\r\n }\r\n\r\n function getFilterForPlainKey(keyExpr, keyValue) {\r\n if (void 0 === keyValue) {\r\n return\r\n }\r\n return [keyExpr, isSelectAll ? \"<>\" : \"=\", keyValue]\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.strategy.standard.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getKeyHash\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n removeDuplicates,\r\n getUniqueValues\r\n} from \"../../core/utils/array\";\r\nimport {\r\n isKeysEqual\r\n} from \"../../core/utils/array_compare\";\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n SelectionFilterCreator\r\n} from \"../../core/utils/selection_filter\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport SelectionStrategy from \"./selection.strategy\";\r\nexport default class StandardStrategy extends SelectionStrategy {\r\n constructor(options) {\r\n super(options);\r\n this._initSelectedItemKeyHash()\r\n }\r\n _initSelectedItemKeyHash() {\r\n this._setOption(\"keyHashIndices\", this.options.equalByReference ? null : {})\r\n }\r\n getSelectedItemKeys() {\r\n return this.options.selectedItemKeys.slice(0)\r\n }\r\n getSelectedItems() {\r\n return this.options.selectedItems.slice(0)\r\n }\r\n _preserveSelectionUpdate(items, isDeselect) {\r\n var keyOf = this.options.keyOf;\r\n var keyIndicesToRemoveMap;\r\n var keyIndex;\r\n var i;\r\n if (!keyOf) {\r\n return\r\n }\r\n var isBatchDeselect = isDeselect && items.length > 1 && !this.options.equalByReference;\r\n if (isBatchDeselect) {\r\n keyIndicesToRemoveMap = {}\r\n }\r\n for (i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var key = keyOf(item);\r\n if (isDeselect) {\r\n keyIndex = this.removeSelectedItem(key, keyIndicesToRemoveMap, null === item || void 0 === item ? void 0 : item.disabled);\r\n if (keyIndicesToRemoveMap && keyIndex >= 0) {\r\n keyIndicesToRemoveMap[keyIndex] = true\r\n }\r\n } else {\r\n this.addSelectedItem(key, item)\r\n }\r\n }\r\n if (isBatchDeselect) {\r\n this._batchRemoveSelectedItems(keyIndicesToRemoveMap)\r\n }\r\n }\r\n _batchRemoveSelectedItems(keyIndicesToRemoveMap) {\r\n var selectedItemKeys = this.options.selectedItemKeys.slice(0);\r\n var selectedItems = this.options.selectedItems.slice(0);\r\n this.options.selectedItemKeys.length = 0;\r\n this.options.selectedItems.length = 0;\r\n for (var i = 0; i < selectedItemKeys.length; i++) {\r\n if (!keyIndicesToRemoveMap[i]) {\r\n this.options.selectedItemKeys.push(selectedItemKeys[i]);\r\n this.options.selectedItems.push(selectedItems[i])\r\n }\r\n }\r\n this._initSelectedItemKeyHash();\r\n this.updateSelectedItemKeyHash(this.options.selectedItemKeys)\r\n }\r\n _loadSelectedItemsCore(keys, isDeselect, isSelectAll, filter) {\r\n var forceCombinedFilter = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : false;\r\n var deferred = new Deferred;\r\n var key = this.options.key();\r\n if (!keys.length && !isSelectAll) {\r\n deferred.resolve([]);\r\n return deferred\r\n }\r\n if (isSelectAll && isDeselect && !filter) {\r\n deferred.resolve(this.getSelectedItems());\r\n return deferred\r\n }\r\n var selectionFilterCreator = new SelectionFilterCreator(keys, isSelectAll);\r\n var combinedFilter = selectionFilterCreator.getCombinedFilter(key, filter, forceCombinedFilter);\r\n var deselectedItems = [];\r\n if (isDeselect) {\r\n var selectedItems = this.options.selectedItems;\r\n deselectedItems = combinedFilter && keys.length !== selectedItems.length ? dataQuery(selectedItems).filter(combinedFilter).toArray() : selectedItems.slice(0)\r\n }\r\n var filteredItems = deselectedItems.length ? deselectedItems : this.options.plainItems(true).filter(this.options.isSelectableItem).map(this.options.getItemData);\r\n var localFilter = selectionFilterCreator.getLocalFilter(this.options.keyOf, this.equalKeys.bind(this), this.options.equalByReference, key);\r\n filteredItems = filteredItems.filter(localFilter);\r\n if (deselectedItems.length || !isSelectAll && filteredItems.length === keys.length) {\r\n deferred.resolve(filteredItems)\r\n } else {\r\n deferred = this._loadFilteredData(combinedFilter, localFilter, null, isSelectAll)\r\n }\r\n return deferred\r\n }\r\n _replaceSelectionUpdate(items) {\r\n var internalKeys = [];\r\n var keyOf = this.options.keyOf;\r\n if (!keyOf) {\r\n return\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var key = keyOf(item);\r\n internalKeys.push(key)\r\n }\r\n this.setSelectedItems(internalKeys, items)\r\n }\r\n _warnOnIncorrectKeys(keys) {\r\n var allowNullValue = this.options.allowNullValue;\r\n for (var i = 0; i < keys.length; i++) {\r\n var key = keys[i];\r\n if ((!allowNullValue || null !== key) && !this.isItemKeySelected(key)) {\r\n errors.log(\"W1002\", key)\r\n }\r\n }\r\n }\r\n _isMultiSelectEnabled() {\r\n var mode = this.options.mode;\r\n return \"all\" === mode || \"multiple\" === mode\r\n }\r\n _requestInProgress() {\r\n var _this$_lastLoadDeferr;\r\n return \"pending\" === (null === (_this$_lastLoadDeferr = this._lastLoadDeferred) || void 0 === _this$_lastLoadDeferr ? void 0 : _this$_lastLoadDeferr.state())\r\n }\r\n _concatRequestsItems(keys, isDeselect, oldRequestItems, updatedKeys) {\r\n var selectedItems;\r\n var deselectedItems = isDeselect ? keys : [];\r\n if (updatedKeys) {\r\n selectedItems = updatedKeys\r\n } else {\r\n selectedItems = removeDuplicates(keys, this.options.selectedItemKeys)\r\n }\r\n return {\r\n addedItems: oldRequestItems.added.concat(selectedItems),\r\n removedItems: oldRequestItems.removed.concat(deselectedItems),\r\n keys: keys\r\n }\r\n }\r\n _collectLastRequestData(keys, isDeselect, isSelectAll, updatedKeys) {\r\n var isDeselectAll = isDeselect && isSelectAll;\r\n var oldRequestItems = {\r\n added: [],\r\n removed: []\r\n };\r\n var multiSelectEnabled = this._isMultiSelectEnabled();\r\n var lastRequestData = multiSelectEnabled ? this._lastRequestData : {};\r\n if (multiSelectEnabled) {\r\n if (this._shouldMergeWithLastRequest) {\r\n if (isDeselectAll) {\r\n this._lastLoadDeferred.reject();\r\n lastRequestData = {}\r\n } else if (!isKeysEqual(keys, this.options.selectedItemKeys)) {\r\n oldRequestItems.added = lastRequestData.addedItems;\r\n oldRequestItems.removed = lastRequestData.removedItems;\r\n if (!isDeselect) {\r\n this._lastLoadDeferred.reject()\r\n }\r\n }\r\n }\r\n lastRequestData = this._concatRequestsItems(keys, isDeselect, oldRequestItems, this._shouldMergeWithLastRequest ? void 0 : updatedKeys)\r\n }\r\n return lastRequestData\r\n }\r\n _updateKeysByLastRequestData(keys, isDeselect, isSelectAll) {\r\n var currentKeys = keys;\r\n if (this._isMultiSelectEnabled() && this._shouldMergeWithLastRequest && !isDeselect && !isSelectAll) {\r\n var _this$_lastRequestDat, _this$_lastRequestDat2;\r\n currentKeys = removeDuplicates(keys.concat(null === (_this$_lastRequestDat = this._lastRequestData) || void 0 === _this$_lastRequestDat ? void 0 : _this$_lastRequestDat.addedItems), null === (_this$_lastRequestDat2 = this._lastRequestData) || void 0 === _this$_lastRequestDat2 ? void 0 : _this$_lastRequestDat2.removedItems);\r\n currentKeys = getUniqueValues(currentKeys)\r\n }\r\n return currentKeys\r\n }\r\n _loadSelectedItems(keys, isDeselect, isSelectAll, updatedKeys) {\r\n var forceCombinedFilter = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : false;\r\n var that = this;\r\n var deferred = new Deferred;\r\n var filter = that.options.filter();\r\n this._shouldMergeWithLastRequest = this._requestInProgress();\r\n this._lastRequestData = this._collectLastRequestData(keys, isDeselect, isSelectAll, updatedKeys);\r\n when(that._lastLoadDeferred).always((function() {\r\n var currentKeys = that._updateKeysByLastRequestData(keys, isDeselect, isSelectAll);\r\n that._shouldMergeWithLastRequest = false;\r\n that._loadSelectedItemsCore(currentKeys, isDeselect, isSelectAll, filter, forceCombinedFilter).done(deferred.resolve).fail(deferred.reject)\r\n }));\r\n that._lastLoadDeferred = deferred;\r\n return deferred\r\n }\r\n selectedItemKeys(keys, preserve, isDeselect, isSelectAll, updatedKeys) {\r\n var forceCombinedFilter = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : false;\r\n var that = this;\r\n var deferred = that._loadSelectedItems(keys, isDeselect, isSelectAll, updatedKeys, forceCombinedFilter);\r\n deferred.done((function(items) {\r\n if (preserve) {\r\n that._preserveSelectionUpdate(items, isDeselect)\r\n } else {\r\n that._replaceSelectionUpdate(items)\r\n }\r\n that.onSelectionChanged()\r\n }));\r\n return deferred\r\n }\r\n addSelectedItem(key, itemData) {\r\n if (isDefined(itemData) && !this.options.ignoreDisabledItems && itemData.disabled) {\r\n if (-1 === this.options.disabledItemKeys.indexOf(key)) {\r\n this.options.disabledItemKeys.push(key)\r\n }\r\n return\r\n }\r\n var keyHash = this._getKeyHash(key);\r\n if (-1 === this._indexOfSelectedItemKey(keyHash)) {\r\n if (!isObject(keyHash) && this.options.keyHashIndices) {\r\n this.options.keyHashIndices[keyHash] = [this.options.selectedItemKeys.length]\r\n }\r\n this.options.selectedItemKeys.push(key);\r\n this.options.addedItemKeys.push(key);\r\n this.options.addedItems.push(itemData);\r\n this.options.selectedItems.push(itemData)\r\n }\r\n }\r\n _getSelectedIndexByKey(key, ignoreIndicesMap) {\r\n var selectedItemKeys = this.options.selectedItemKeys;\r\n for (var index = 0; index < selectedItemKeys.length; index++) {\r\n if ((!ignoreIndicesMap || !ignoreIndicesMap[index]) && this.equalKeys(selectedItemKeys[index], key)) {\r\n return index\r\n }\r\n }\r\n return -1\r\n }\r\n _getSelectedIndexByHash(key, ignoreIndicesMap) {\r\n var indices = this.options.keyHashIndices[key];\r\n if (indices && indices.length > 1 && ignoreIndicesMap) {\r\n indices = indices.filter((function(index) {\r\n return !ignoreIndicesMap[index]\r\n }))\r\n }\r\n return indices && indices[0] >= 0 ? indices[0] : -1\r\n }\r\n _indexOfSelectedItemKey(key, ignoreIndicesMap) {\r\n var selectedIndex;\r\n if (this.options.equalByReference) {\r\n selectedIndex = this.options.selectedItemKeys.indexOf(key)\r\n } else if (isObject(key)) {\r\n selectedIndex = this._getSelectedIndexByKey(key, ignoreIndicesMap)\r\n } else {\r\n selectedIndex = this._getSelectedIndexByHash(key, ignoreIndicesMap)\r\n }\r\n return selectedIndex\r\n }\r\n _shiftSelectedKeyIndices(keyIndex) {\r\n for (var currentKeyIndex = keyIndex; currentKeyIndex < this.options.selectedItemKeys.length; currentKeyIndex++) {\r\n var currentKey = this.options.selectedItemKeys[currentKeyIndex];\r\n var currentKeyHash = getKeyHash(currentKey);\r\n var currentKeyIndices = this.options.keyHashIndices[currentKeyHash];\r\n if (!currentKeyIndices) {\r\n continue\r\n }\r\n for (var i = 0; i < currentKeyIndices.length; i++) {\r\n if (currentKeyIndices[i] > keyIndex) {\r\n currentKeyIndices[i]--\r\n }\r\n }\r\n }\r\n }\r\n removeSelectedItem(key, keyIndicesToRemoveMap, isDisabled) {\r\n if (!this.options.ignoreDisabledItems && isDisabled) {\r\n return\r\n }\r\n var keyHash = this._getKeyHash(key);\r\n var isBatchDeselect = !!keyIndicesToRemoveMap;\r\n var keyIndex = this._indexOfSelectedItemKey(keyHash, keyIndicesToRemoveMap);\r\n if (keyIndex < 0) {\r\n return keyIndex\r\n }\r\n this.options.removedItemKeys.push(key);\r\n this.options.removedItems.push(this.options.selectedItems[keyIndex]);\r\n if (isBatchDeselect) {\r\n return keyIndex\r\n }\r\n this.options.selectedItemKeys.splice(keyIndex, 1);\r\n this.options.selectedItems.splice(keyIndex, 1);\r\n if (isObject(keyHash) || !this.options.keyHashIndices) {\r\n return keyIndex\r\n }\r\n var keyIndices = this.options.keyHashIndices[keyHash];\r\n if (!keyIndices) {\r\n return keyIndex\r\n }\r\n keyIndices.shift();\r\n if (!keyIndices.length) {\r\n delete this.options.keyHashIndices[keyHash]\r\n }\r\n this._shiftSelectedKeyIndices(keyIndex);\r\n return keyIndex\r\n }\r\n _updateAddedItemKeys(keys, items) {\r\n for (var i = 0; i < keys.length; i++) {\r\n if (!this.isItemKeySelected(keys[i])) {\r\n this.options.addedItemKeys.push(keys[i]);\r\n this.options.addedItems.push(items[i])\r\n }\r\n }\r\n }\r\n _updateRemovedItemKeys(keys, oldSelectedKeys, oldSelectedItems) {\r\n for (var i = 0; i < oldSelectedKeys.length; i++) {\r\n if (!this.isItemKeySelected(oldSelectedKeys[i])) {\r\n this.options.removedItemKeys.push(oldSelectedKeys[i]);\r\n this.options.removedItems.push(oldSelectedItems[i])\r\n }\r\n }\r\n }\r\n _isItemSelectionInProgress(key, checkPending) {\r\n var shouldCheckPending = checkPending && this._lastRequestData && this._requestInProgress();\r\n if (shouldCheckPending) {\r\n var _this$_lastRequestDat3;\r\n var addedItems = null !== (_this$_lastRequestDat3 = this._lastRequestData.addedItems) && void 0 !== _this$_lastRequestDat3 ? _this$_lastRequestDat3 : [];\r\n return addedItems.includes(key)\r\n } else {\r\n return false\r\n }\r\n }\r\n _getKeyHash(key) {\r\n return this.options.equalByReference ? key : getKeyHash(key)\r\n }\r\n setSelectedItems(keys, items) {\r\n this._updateAddedItemKeys(keys, items);\r\n var oldSelectedKeys = this.options.selectedItemKeys;\r\n var oldSelectedItems = this.options.selectedItems;\r\n if (!this.options.equalByReference) {\r\n this._initSelectedItemKeyHash();\r\n this.updateSelectedItemKeyHash(keys)\r\n }\r\n this._setOption(\"selectedItemKeys\", keys);\r\n this._setOption(\"selectedItems\", items);\r\n this._updateRemovedItemKeys(keys, oldSelectedKeys, oldSelectedItems)\r\n }\r\n isItemDataSelected(itemData) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n var key = this.options.keyOf(itemData);\r\n return this.isItemKeySelected(key, options)\r\n }\r\n isItemKeySelected(key) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n var result = this._isItemSelectionInProgress(key, options.checkPending);\r\n if (!result) {\r\n var keyHash = this._getKeyHash(key);\r\n var index = this._indexOfSelectedItemKey(keyHash);\r\n result = -1 !== index\r\n }\r\n return result\r\n }\r\n getSelectAllState(visibleOnly) {\r\n if (visibleOnly) {\r\n return this._getVisibleSelectAllState()\r\n } else {\r\n return this._getFullSelectAllState()\r\n }\r\n }\r\n loadSelectedItemsWithFilter() {\r\n var keyExpr = this.options.key();\r\n var keys = this.getSelectedItemKeys();\r\n var filter = this.options.filter();\r\n if (!keys.length) {\r\n return Deferred().resolve([])\r\n }\r\n var selectionFilterCreator = new SelectionFilterCreator(keys);\r\n var combinedFilter = selectionFilterCreator.getCombinedFilter(keyExpr, filter, true);\r\n return this._loadFilteredData(combinedFilter)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport deferredStrategy from \"./selection.strategy.deferred\";\r\nimport standardStrategy from \"./selection.strategy.standard\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nexport default class Selection {\r\n constructor(options) {\r\n this.options = extend(this._getDefaultOptions(), options, {\r\n selectedItemKeys: options.selectedKeys || []\r\n });\r\n this._selectionStrategy = this.options.deferred ? new deferredStrategy(this.options) : new standardStrategy(this.options);\r\n this._focusedItemIndex = -1;\r\n if (!this.options.equalByReference) {\r\n this._selectionStrategy.updateSelectedItemKeyHash(this.options.selectedItemKeys)\r\n }\r\n }\r\n _getDefaultOptions() {\r\n return {\r\n allowNullValue: false,\r\n deferred: false,\r\n equalByReference: false,\r\n mode: \"multiple\",\r\n selectedItems: [],\r\n selectionFilter: [],\r\n maxFilterLengthInRequest: 0,\r\n onSelectionChanged: noop,\r\n key: noop,\r\n keyOf: function(item) {\r\n return item\r\n },\r\n load: function() {\r\n return (new Deferred).resolve([])\r\n },\r\n totalCount: function() {\r\n return -1\r\n },\r\n isSelectableItem: function() {\r\n return true\r\n },\r\n isItemSelected: function() {\r\n return false\r\n },\r\n getItemData: function(item) {\r\n return item\r\n },\r\n dataFields: noop,\r\n filter: noop\r\n }\r\n }\r\n validate() {\r\n this._selectionStrategy.validate()\r\n }\r\n getSelectedItemKeys() {\r\n return this._selectionStrategy.getSelectedItemKeys()\r\n }\r\n getSelectedItems() {\r\n return this._selectionStrategy.getSelectedItems()\r\n }\r\n selectionFilter(value) {\r\n if (void 0 === value) {\r\n return this.options.selectionFilter\r\n }\r\n var filterIsChanged = this.options.selectionFilter !== value && JSON.stringify(this.options.selectionFilter) !== JSON.stringify(value);\r\n this.options.selectionFilter = value;\r\n filterIsChanged && this.onSelectionChanged()\r\n }\r\n setSelection(keys, updatedKeys) {\r\n return this.selectedItemKeys(keys, false, false, false, updatedKeys)\r\n }\r\n select(keys) {\r\n return this.selectedItemKeys(keys, true)\r\n }\r\n deselect(keys) {\r\n return this.selectedItemKeys(keys, true, true)\r\n }\r\n selectedItemKeys(keys, preserve, isDeselect, isSelectAll, updatedKeys) {\r\n var _keys;\r\n keys = null !== (_keys = keys) && void 0 !== _keys ? _keys : [];\r\n keys = Array.isArray(keys) ? keys : [keys];\r\n this.validate();\r\n return this._selectionStrategy.selectedItemKeys(keys, preserve, isDeselect, isSelectAll, updatedKeys)\r\n }\r\n clearSelection() {\r\n return this.selectedItemKeys([])\r\n }\r\n _addSelectedItem(itemData, key) {\r\n this._selectionStrategy.addSelectedItem(key, itemData)\r\n }\r\n _removeSelectedItem(key) {\r\n this._selectionStrategy.removeSelectedItem(key)\r\n }\r\n _setSelectedItems(keys, items) {\r\n this._selectionStrategy.setSelectedItems(keys, items)\r\n }\r\n onSelectionChanged() {\r\n this._selectionStrategy.onSelectionChanged()\r\n }\r\n changeItemSelection(itemIndex, keys, setFocusOnly) {\r\n var _this$options$allowLo, _this$options;\r\n var isSelectedItemsChanged;\r\n var items = this.options.plainItems();\r\n var item = items[itemIndex];\r\n var deferred;\r\n var isVirtualPaging = this.options.isVirtualPaging;\r\n var allowLoadByRange = null === (_this$options$allowLo = (_this$options = this.options).allowLoadByRange) || void 0 === _this$options$allowLo ? void 0 : _this$options$allowLo.call(_this$options);\r\n var alwaysSelectByShift = this.options.alwaysSelectByShift;\r\n var indexOffset;\r\n var focusedItemNotInLoadedRange = false;\r\n var shiftFocusedItemNotInLoadedRange = false;\r\n var itemIsNotInLoadedRange = index => index >= 0 && !items.filter(it => it.loadIndex === index).length;\r\n if (isVirtualPaging && isDefined(item)) {\r\n if (allowLoadByRange) {\r\n indexOffset = item.loadIndex - itemIndex;\r\n itemIndex = item.loadIndex\r\n }\r\n focusedItemNotInLoadedRange = itemIsNotInLoadedRange(this._focusedItemIndex);\r\n if (isDefined(this._shiftFocusedItemIndex)) {\r\n shiftFocusedItemNotInLoadedRange = itemIsNotInLoadedRange(this._shiftFocusedItemIndex)\r\n }\r\n }\r\n if (!this.isSelectable() || !this.isDataItem(item)) {\r\n return false\r\n }\r\n var itemData = this.options.getItemData(item);\r\n var itemKey = this.options.keyOf(itemData);\r\n keys = keys || {};\r\n var allowSelectByShift = keys.shift;\r\n if (false === alwaysSelectByShift && allowSelectByShift) {\r\n allowSelectByShift = false !== allowLoadByRange || !focusedItemNotInLoadedRange && !shiftFocusedItemNotInLoadedRange\r\n }\r\n if (allowSelectByShift && \"multiple\" === this.options.mode && this._focusedItemIndex >= 0) {\r\n if (allowLoadByRange && (focusedItemNotInLoadedRange || shiftFocusedItemNotInLoadedRange)) {\r\n isSelectedItemsChanged = itemIndex !== this._shiftFocusedItemIndex || this._focusedItemIndex !== this._shiftFocusedItemIndex;\r\n if (isSelectedItemsChanged) {\r\n deferred = this.changeItemSelectionWhenShiftKeyInVirtualPaging(itemIndex)\r\n }\r\n } else {\r\n isSelectedItemsChanged = this.changeItemSelectionWhenShiftKeyPressed(itemIndex, items, indexOffset)\r\n }\r\n } else if (keys.control) {\r\n this._resetItemSelectionWhenShiftKeyPressed();\r\n if (!setFocusOnly) {\r\n var isSelected = this._selectionStrategy.isItemDataSelected(itemData);\r\n if (\"single\" === this.options.mode) {\r\n this.clearSelectedItems()\r\n }\r\n if (isSelected) {\r\n this._removeSelectedItem(itemKey)\r\n } else {\r\n this._addSelectedItem(itemData, itemKey)\r\n }\r\n }\r\n isSelectedItemsChanged = true\r\n } else {\r\n this._resetItemSelectionWhenShiftKeyPressed();\r\n var isKeysEqual = this._selectionStrategy.equalKeys(this.options.selectedItemKeys[0], itemKey);\r\n if (1 !== this.options.selectedItemKeys.length || !isKeysEqual) {\r\n this._setSelectedItems([itemKey], [itemData]);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n if (isSelectedItemsChanged) {\r\n when(deferred).done(() => {\r\n this._focusedItemIndex = itemIndex;\r\n !setFocusOnly && this.onSelectionChanged()\r\n });\r\n return true\r\n }\r\n }\r\n isDataItem(item) {\r\n return this.options.isSelectableItem(item)\r\n }\r\n isSelectable() {\r\n return \"single\" === this.options.mode || \"multiple\" === this.options.mode\r\n }\r\n isItemDataSelected(data) {\r\n return this._selectionStrategy.isItemDataSelected(data, {\r\n checkPending: true\r\n })\r\n }\r\n isItemSelected(arg, options) {\r\n return this._selectionStrategy.isItemKeySelected(arg, options)\r\n }\r\n _resetItemSelectionWhenShiftKeyPressed() {\r\n delete this._shiftFocusedItemIndex\r\n }\r\n _resetFocusedItemIndex() {\r\n this._focusedItemIndex = -1\r\n }\r\n changeItemSelectionWhenShiftKeyInVirtualPaging(loadIndex) {\r\n var loadOptions = this.options.getLoadOptions(loadIndex, this._focusedItemIndex, this._shiftFocusedItemIndex);\r\n var deferred = new Deferred;\r\n var indexOffset = loadOptions.skip;\r\n this.options.load(loadOptions).done(items => {\r\n this.changeItemSelectionWhenShiftKeyPressed(loadIndex, items, indexOffset);\r\n deferred.resolve()\r\n });\r\n return deferred.promise()\r\n }\r\n changeItemSelectionWhenShiftKeyPressed(itemIndex, items, indexOffset) {\r\n var isSelectedItemsChanged = false;\r\n var itemIndexStep;\r\n var indexOffsetDefined = isDefined(indexOffset);\r\n var index = indexOffsetDefined ? this._focusedItemIndex - indexOffset : this._focusedItemIndex;\r\n var keyOf = this.options.keyOf;\r\n var focusedItem = items[index];\r\n var focusedData = this.options.getItemData(focusedItem);\r\n var focusedKey = keyOf(focusedData);\r\n var isFocusedItemSelected = focusedItem && this.isItemDataSelected(focusedData);\r\n if (!isDefined(this._shiftFocusedItemIndex)) {\r\n this._shiftFocusedItemIndex = this._focusedItemIndex\r\n }\r\n var data;\r\n var itemKey;\r\n var startIndex;\r\n var endIndex;\r\n if (this._shiftFocusedItemIndex !== this._focusedItemIndex) {\r\n itemIndexStep = this._focusedItemIndex < this._shiftFocusedItemIndex ? 1 : -1;\r\n startIndex = indexOffsetDefined ? this._focusedItemIndex - indexOffset : this._focusedItemIndex;\r\n endIndex = indexOffsetDefined ? this._shiftFocusedItemIndex - indexOffset : this._shiftFocusedItemIndex;\r\n for (index = startIndex; index !== endIndex; index += itemIndexStep) {\r\n if (indexOffsetDefined || this.isDataItem(items[index])) {\r\n itemKey = keyOf(this.options.getItemData(items[index]));\r\n this._removeSelectedItem(itemKey);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n }\r\n if (itemIndex !== this._shiftFocusedItemIndex) {\r\n itemIndexStep = itemIndex < this._shiftFocusedItemIndex ? 1 : -1;\r\n startIndex = indexOffsetDefined ? itemIndex - indexOffset : itemIndex;\r\n endIndex = indexOffsetDefined ? this._shiftFocusedItemIndex - indexOffset : this._shiftFocusedItemIndex;\r\n for (index = startIndex; index !== endIndex; index += itemIndexStep) {\r\n if (indexOffsetDefined || this.isDataItem(items[index])) {\r\n data = this.options.getItemData(items[index]);\r\n itemKey = keyOf(data);\r\n this._addSelectedItem(data, itemKey);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n }\r\n if ((indexOffsetDefined || this.isDataItem(focusedItem)) && !isFocusedItemSelected) {\r\n this._addSelectedItem(focusedData, focusedKey);\r\n isSelectedItemsChanged = true\r\n }\r\n return isSelectedItemsChanged\r\n }\r\n clearSelectedItems() {\r\n this._setSelectedItems([], [])\r\n }\r\n selectAll(isOnePage) {\r\n this._resetFocusedItemIndex();\r\n if (isOnePage) {\r\n return this._onePageSelectAll(false)\r\n } else {\r\n return this.selectedItemKeys([], true, false, true)\r\n }\r\n }\r\n deselectAll(isOnePage) {\r\n this._resetFocusedItemIndex();\r\n if (isOnePage) {\r\n return this._onePageSelectAll(true)\r\n } else {\r\n return this.selectedItemKeys([], true, true, true)\r\n }\r\n }\r\n _onePageSelectAll(isDeselect) {\r\n var items = this._selectionStrategy.getSelectableItems(this.options.plainItems());\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (this.isDataItem(item)) {\r\n var itemData = this.options.getItemData(item);\r\n var itemKey = this.options.keyOf(itemData);\r\n var isSelected = this.isItemSelected(itemKey);\r\n if (!isSelected && !isDeselect) {\r\n this._addSelectedItem(itemData, itemKey)\r\n }\r\n if (isSelected && isDeselect) {\r\n this._removeSelectedItem(itemKey)\r\n }\r\n }\r\n }\r\n this.onSelectionChanged();\r\n return (new Deferred).resolve()\r\n }\r\n getSelectAllState(visibleOnly) {\r\n return this._selectionStrategy.getSelectAllState(visibleOnly)\r\n }\r\n loadSelectedItemsWithFilter() {\r\n return this._selectionStrategy.loadSelectedItemsWithFilter()\r\n }\r\n}\r\n","import Vue, { VueConstructor } from 'vue'\n\nexport type Proxyable<T extends string = 'value'> = VueConstructor<Vue & {\n internalLazyValue: unknown\n internalValue: unknown\n} & Record<T, any>>\n\nexport function factory<T extends string = 'value'> (prop?: T, event?: string): Proxyable<T>\nexport function factory (\n prop = 'value',\n event = 'change'\n) {\n return Vue.extend({\n name: 'proxyable',\n\n model: {\n prop,\n event,\n },\n\n props: {\n [prop]: {\n required: false,\n },\n },\n\n data () {\n return {\n internalLazyValue: this[prop] as unknown,\n }\n },\n\n computed: {\n internalValue: {\n get (): unknown {\n return this.internalLazyValue\n },\n set (val: any) {\n if (val === this.internalLazyValue) return\n\n this.internalLazyValue = val\n\n this.$emit(event, val)\n },\n },\n },\n\n watch: {\n [prop] (val) {\n this.internalLazyValue = val\n },\n },\n })\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\nconst Proxyable = factory()\n\nexport default Proxyable\n","/**\r\n * DevExtreme (esm/core/templates/child_default_template.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nexport class ChildDefaultTemplate extends TemplateBase {\r\n constructor(name) {\r\n super();\r\n this.name = name\r\n }\r\n}\r\n","// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n /* @vue/component */\n return Vue.extend({\n name: `v-${name}`,\n\n functional: true,\n\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n render (h, { props, data, children }): VNode {\n data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n const classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n\n if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(props.tag, data, children)\n },\n })\n}\n","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n name: 'v-container',\n functional: true,\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n fluid: {\n type: Boolean,\n default: false,\n },\n },\n render (h, { props, data, children }) {\n let classes\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'container',\n class: Array<any>({\n 'container--fluid': props.fluid,\n }).concat(classes || []),\n }),\n children\n )\n },\n})\n","import Vue from 'vue';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar load = function load(url) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return new Promise(function (resolve, reject) {\n if (typeof document === \"undefined\") {\n return;\n }\n\n var head = document.head || document.getElementsByTagName(\"head\")[0];\n var script = document.createElement(\"script\");\n script.async = true;\n script.src = url;\n script.defer = options.defer;\n\n if (options.preconnectOrigin) {\n var link = document.createElement(\"link\");\n link.href = options.preconnectOrigin;\n link.rel = \"preconnect\";\n head.appendChild(link);\n }\n\n head.appendChild(script);\n script.onload = resolve;\n script.onerror = reject;\n });\n};\nvar isFn = function isFn(fn) {\n return typeof fn === \"function\";\n};\nvar isObject = function isObject(item) {\n return item && _typeof(item) === \"object\" && !Array.isArray(item);\n};\nvar mergeDeep = function mergeDeep(target) {\n for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n sources[_key - 1] = arguments[_key];\n }\n\n if (!sources.length) {\n return target;\n }\n\n var source = sources.shift();\n\n if (!isObject(target) || !isObject(source)) {\n return;\n }\n\n for (var key in source) {\n if (isObject(source[key])) {\n if (!target[key]) {\n Object.assign(target, _defineProperty({}, key, {}));\n }\n\n mergeDeep(target[key], source[key]);\n } else {\n Object.assign(target, _defineProperty({}, key, source[key]));\n }\n }\n\n return mergeDeep.apply(void 0, [target].concat(sources));\n};\nvar isBrowser = function isBrowser() {\n if (typeof window === \"undefined\" || typeof document === \"undefined\") {\n return false;\n }\n\n return true;\n};\nvar warn = function warn(text) {\n var shouldLog = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (!isBrowser() || process.env.NODE_ENV === \"production\") {\n return;\n }\n\n if (!shouldLog) {\n return;\n }\n\n console.warn(\"[vue-gtag] \".concat(text));\n};\nvar validateScreenviewShape = function validateScreenviewShape() {\n var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n warn(\"Missing \\\"appName\\\" property inside the plugin options.\", obj.app_name == null);\n warn(\"Missing \\\"name\\\" property in the route.\", obj.screen_name == null);\n return obj;\n};\nfunction getPathWithBase() {\n var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n var pathAsArray = path.split(\"/\");\n var baseAsArray = base.split(\"/\");\n\n if (pathAsArray[0] === \"\" && base[base.length - 1] === \"/\") {\n pathAsArray.shift();\n }\n\n return baseAsArray.join(\"/\") + pathAsArray.join(\"/\");\n}\n\nvar getDefaultParams = function getDefaultParams() {\n return {\n bootstrap: true,\n onReady: null,\n onError: null,\n onBeforeTrack: null,\n onAfterTrack: null,\n pageTrackerTemplate: null,\n customResourceURL: \"https://www.googletagmanager.com/gtag/js\",\n customPreconnectOrigin: \"https://www.googletagmanager.com\",\n deferScriptLoad: false,\n pageTrackerExcludedRoutes: [],\n pageTrackerEnabled: true,\n enabled: true,\n disableScriptLoad: false,\n pageTrackerScreenviewEnabled: false,\n appName: null,\n pageTrackerUseFullPath: false,\n pageTrackerPrependBase: true,\n pageTrackerSkipSamePath: true,\n globalDataLayerName: \"dataLayer\",\n globalObjectName: \"gtag\",\n defaultGroupName: \"default\",\n includes: null,\n config: {\n id: null,\n params: {\n send_page_view: false\n }\n }\n };\n};\nvar params = {};\nvar setOptions = function setOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaultParams = getDefaultParams();\n params = mergeDeep(defaultParams, options);\n};\nvar getOptions = function getOptions() {\n return params;\n};\n\nvar query = (function () {\n var _window;\n\n var _getOptions = getOptions(),\n globalObjectName = _getOptions.globalObjectName;\n\n if (!isBrowser() || typeof window[globalObjectName] === \"undefined\") {\n return;\n }\n\n (_window = window)[globalObjectName].apply(_window, arguments);\n});\n\nvar config = (function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _getOptions = getOptions(),\n config = _getOptions.config,\n includes = _getOptions.includes;\n\n query.apply(void 0, [\"config\", config.id].concat(args));\n\n if (Array.isArray(includes)) {\n includes.forEach(function (domain) {\n query.apply(void 0, [\"config\", domain.id].concat(args));\n });\n }\n});\n\nvar assignGlobalProperty = function assignGlobalProperty(id, value) {\n if (!isBrowser()) {\n return;\n }\n\n window[\"ga-disable-\".concat(id)] = value;\n};\n\nvar disable = (function () {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n var _getOptions = getOptions(),\n config = _getOptions.config,\n includes = _getOptions.includes;\n\n assignGlobalProperty(config.id, value);\n\n if (Array.isArray(includes)) {\n includes.forEach(function (domain) {\n return assignGlobalProperty(domain.id, value);\n });\n }\n});\n\nvar optOut = (function () {\n disable(true);\n});\n\nvar optIn = (function () {\n disable(false);\n});\n\nvar router;\nvar setRouter = function setRouter(instance) {\n router = instance;\n};\nvar getRouter = function getRouter() {\n return router;\n};\n\nvar event = (function (name) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _getOptions = getOptions(),\n includes = _getOptions.includes,\n defaultGroupName = _getOptions.defaultGroupName;\n\n if (params.send_to == null && Array.isArray(includes) && includes.length) {\n params.send_to = includes.map(function (domain) {\n return domain.id;\n }).concat(defaultGroupName);\n }\n\n query(\"event\", name, params);\n});\n\nvar pageview = (function (param) {\n if (!isBrowser()) {\n return;\n }\n\n var template;\n\n if (typeof param === \"string\") {\n template = {\n page_path: param\n };\n } else if (param.path || param.fullPath) {\n var _getOptions = getOptions(),\n useFullPath = _getOptions.pageTrackerUseFullPath,\n useBase = _getOptions.pageTrackerPrependBase;\n\n var router = getRouter();\n var base = router && router.options.base;\n var path = useFullPath ? param.fullPath : param.path;\n template = _objectSpread2(_objectSpread2({}, param.name && {\n page_title: param.name\n }), {}, {\n page_path: useBase ? getPathWithBase(path, base) : path\n });\n } else {\n template = param;\n }\n\n if (template.page_location == null) {\n template.page_location = window.location.href;\n }\n\n if (template.send_page_view == null) {\n template.send_page_view = true;\n }\n\n event(\"page_view\", template);\n});\n\nvar screenview = (function (param) {\n var _getOptions = getOptions(),\n appName = _getOptions.appName;\n\n if (!param) {\n return;\n }\n\n var template;\n\n if (typeof param === \"string\") {\n template = {\n screen_name: param\n };\n } else {\n template = param;\n }\n\n template.app_name = template.app_name || appName;\n event(\"screen_view\", template);\n});\n\nvar exception = (function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n event.apply(void 0, [\"exception\"].concat(args));\n});\n\nvar linker = (function (params) {\n config(\"linker\", params);\n});\n\nvar time = (function (params) {\n event(\"timing_complete\", params);\n});\n\nvar set = (function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n query.apply(void 0, [\"set\"].concat(args));\n});\n\nvar refund = (function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n event.apply(void 0, [\"refund\"].concat(args));\n});\n\nvar purchase = (function (params) {\n event(\"purchase\", params);\n});\n\nvar customMap = (function (map) {\n config({\n custom_map: map\n });\n});\n\nvar api = /*#__PURE__*/Object.freeze({\n __proto__: null,\n query: query,\n config: config,\n optOut: optOut,\n optIn: optIn,\n pageview: pageview,\n screenview: screenview,\n exception: exception,\n linker: linker,\n time: time,\n set: set,\n refund: refund,\n purchase: purchase,\n customMap: customMap,\n event: event\n});\n\nvar attachApi = function attachApi(Vue) {\n return Vue.$gtag = Vue.prototype.$gtag = api;\n};\n\nvar registerGlobals = (function () {\n if (!isBrowser()) {\n return;\n }\n\n var _getOptions = getOptions(),\n enabled = _getOptions.enabled,\n globalObjectName = _getOptions.globalObjectName,\n globalDataLayerName = _getOptions.globalDataLayerName;\n\n if (window[globalObjectName] == null) {\n window[globalDataLayerName] = window[globalDataLayerName] || [];\n\n window[globalObjectName] = function () {\n window[globalDataLayerName].push(arguments);\n };\n }\n\n window[globalObjectName](\"js\", new Date());\n\n if (!enabled) {\n optOut();\n }\n\n return window[globalObjectName];\n});\n\nvar mergeDefaultParams = function mergeDefaultParams(params) {\n return _objectSpread2({\n send_page_view: false\n }, params);\n};\n\nvar addConfiguration = (function () {\n var _getOptions = getOptions(),\n config = _getOptions.config,\n includes = _getOptions.includes;\n\n query(\"config\", config.id, mergeDefaultParams(config.params));\n\n if (Array.isArray(includes)) {\n includes.forEach(function (domain) {\n query(\"config\", domain.id, mergeDefaultParams(domain.params));\n });\n }\n});\n\nvar track = (function () {\n var to = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _getOptions = getOptions(),\n appName = _getOptions.appName,\n proxy = _getOptions.pageTrackerTemplate,\n useScreenview = _getOptions.pageTrackerScreenviewEnabled,\n skipSamePath = _getOptions.pageTrackerSkipSamePath;\n\n if (skipSamePath && to.path === from.path) {\n return;\n }\n\n var template = to;\n\n if (isFn(proxy)) {\n template = proxy(to, from);\n } else if (useScreenview) {\n template = validateScreenviewShape({\n app_name: appName,\n screen_name: to.name\n });\n }\n\n if (useScreenview) {\n screenview(template);\n return;\n }\n\n pageview(template);\n});\n\nvar isRouteExcluded = function isRouteExcluded(route) {\n var _getOptions = getOptions(),\n routes = _getOptions.pageTrackerExcludedRoutes;\n\n return routes.includes(route.path) || routes.includes(route.name);\n};\n\nvar addRoutesTracker = (function () {\n var _getOptions2 = getOptions(),\n onBeforeTrack = _getOptions2.onBeforeTrack,\n onAfterTrack = _getOptions2.onAfterTrack;\n\n var router = getRouter();\n router.onReady(function () {\n Vue.nextTick().then(function () {\n var currentRoute = router.currentRoute;\n addConfiguration();\n\n if (isRouteExcluded(currentRoute)) {\n return;\n }\n\n track(currentRoute);\n });\n router.afterEach(function (to, from) {\n Vue.nextTick().then(function () {\n if (isRouteExcluded(to)) {\n return;\n }\n\n if (isFn(onBeforeTrack)) {\n onBeforeTrack(to, from);\n }\n\n track(to, from);\n\n if (isFn(onAfterTrack)) {\n onAfterTrack(to, from);\n }\n });\n });\n });\n});\n\nvar bootstrap = (function () {\n var _getOptions = getOptions(),\n onReady = _getOptions.onReady,\n onError = _getOptions.onError,\n globalObjectName = _getOptions.globalObjectName,\n globalDataLayerName = _getOptions.globalDataLayerName,\n config = _getOptions.config,\n customResourceURL = _getOptions.customResourceURL,\n customPreconnectOrigin = _getOptions.customPreconnectOrigin,\n deferScriptLoad = _getOptions.deferScriptLoad,\n pageTrackerEnabled = _getOptions.pageTrackerEnabled,\n disableScriptLoad = _getOptions.disableScriptLoad;\n\n var isPageTrackerEnabled = Boolean(pageTrackerEnabled && getRouter());\n registerGlobals();\n\n if (isPageTrackerEnabled) {\n addRoutesTracker();\n } else {\n addConfiguration();\n }\n\n if (disableScriptLoad) {\n return;\n }\n\n return load(\"\".concat(customResourceURL, \"?id=\").concat(config.id, \"&l=\").concat(globalDataLayerName), {\n preconnectOrigin: customPreconnectOrigin,\n defer: deferScriptLoad\n }).then(function () {\n if (onReady) {\n onReady(window[globalObjectName]);\n }\n }).catch(function (error) {\n if (onError) {\n onError(error);\n }\n\n return error;\n });\n});\n\nvar install = function install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var router = arguments.length > 2 ? arguments[2] : undefined;\n attachApi(Vue);\n setOptions(options);\n setRouter(router);\n\n if (getOptions().bootstrap) {\n bootstrap();\n }\n};\n\nexport default install;\nexport { addRoutesTracker, bootstrap, config, customMap, event, exception, install, linker, optIn, optOut, pageview, purchase, query, refund, screenview, set, setOptions, setRouter, time };\n","/**\r\n * DevExtreme (esm/core/utils/call_once.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar callOnce = function(handler) {\r\n var result;\r\n var _wrappedHandler = function() {\r\n result = handler.apply(this, arguments);\r\n _wrappedHandler = function() {\r\n return result\r\n };\r\n return result\r\n };\r\n return function() {\r\n return _wrappedHandler.apply(this, arguments)\r\n }\r\n};\r\nexport default callOnce;\r\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","// Styles\nimport './VMain.sass'\n\n// Mixins\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default SSRBootable.extend({\n name: 'v-main',\n\n props: {\n tag: {\n type: String,\n default: 'main',\n },\n },\n\n computed: {\n styles (): object {\n const {\n bar, top, right, footer, insetFooter, bottom, left,\n } = this.$vuetify.application\n\n return {\n paddingTop: `${top + bar}px`,\n paddingRight: `${right}px`,\n paddingBottom: `${footer + insetFooter + bottom}px`,\n paddingLeft: `${left}px`,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-main',\n style: this.styles,\n ref: 'main',\n }\n\n return h(this.tag, data, [\n h(\n 'div',\n { staticClass: 'v-main__wrap' },\n getSlot(this),\n ),\n ])\n },\n})\n","// Types\nimport { VNode } from 'vue'\n\n// Extensions\nimport VMain from '../VMain/VMain'\nimport { deprecate } from '../../util/console'\n\n/* @vue/component */\nexport default VMain.extend({\n name: 'v-main',\n\n created () {\n deprecate('v-content', 'v-main', this)\n },\n\n render (h): VNode {\n // Add the legacy class names\n const node = VMain.options.render.call(this, h)\n\n node.data!.staticClass += ' v-content'\n node.children![0]!.data!.staticClass += ' v-content__wrap'\n\n return h(node.tag, node.data, node.children)\n },\n})\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bm = moment.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n '_'\n ),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return bm;\n\n})));\n","import Vue from 'vue'\nimport { VNodeData } from 'vue/types/vnode'\nimport { consoleError } from '../../util/console'\nimport { isCssColor } from '../../util/colorUtils'\n\nexport default Vue.extend({\n name: 'colorable',\n\n props: {\n color: String,\n },\n\n methods: {\n setBackgroundColor (color?: string | false, data: VNodeData = {}): VNodeData {\n if (typeof data.style === 'string') {\n // istanbul ignore next\n consoleError('style must be an object', this)\n // istanbul ignore next\n return data\n }\n if (typeof data.class === 'string') {\n // istanbul ignore next\n consoleError('class must be an object', this)\n // istanbul ignore next\n return data\n }\n if (isCssColor(color)) {\n data.style = {\n ...data.style as object,\n 'background-color': `${color}`,\n 'border-color': `${color}`,\n }\n } else if (color) {\n data.class = {\n ...data.class,\n [color]: true,\n }\n }\n\n return data\n },\n\n setTextColor (color?: string | false, data: VNodeData = {}): VNodeData {\n if (typeof data.style === 'string') {\n // istanbul ignore next\n consoleError('style must be an object', this)\n // istanbul ignore next\n return data\n }\n if (typeof data.class === 'string') {\n // istanbul ignore next\n consoleError('class must be an object', this)\n // istanbul ignore next\n return data\n }\n if (isCssColor(color)) {\n data.style = {\n ...data.style as object,\n color: `${color}`,\n 'caret-color': `${color}`,\n }\n } else if (color) {\n const [colorName, colorModifier] = color.toString().trim().split(' ', 2) as (string | undefined)[]\n data.class = {\n ...data.class,\n [colorName + '--text']: true,\n }\n if (colorModifier) {\n data.class['text--' + colorModifier] = true\n }\n }\n return data\n },\n },\n})\n",";(function () {\n\n var prettyBytes = {}\n\n prettyBytes.install = function (Vue) {\n\n /**\n *\n * @param {Number} bytes\n * @param {Number} decimals\n * @param {Boolean} kib\n * @param {String} maxunit\n *\n */\n\n Vue.filter('prettyBytes', function (bytes, decimals, kib, maxunit) {\n kib = kib || false\n if (bytes === 0) return '0 Bytes'\n if (isNaN(parseFloat(bytes)) && !isFinite(bytes)) return 'Not an number'\n const k = kib ? 1024 : 1000\n const dm = decimals != null && !isNaN(decimals) && decimals >= 0 ? decimals : 2\n const sizes = kib ? ['Bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB', 'BiB'] : ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB', 'BB']\n var i = Math.floor(Math.log(bytes) / Math.log(k))\n if (maxunit != undefined) {\n const index = sizes.indexOf(maxunit)\n if (index != -1) i = index\n }\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i]\n })\n }\n\n if (typeof exports == \"object\") {\n module.exports = prettyBytes\n } else if (typeof define == \"function\" && define.amd) {\n define([], function(){ return prettyBytes })\n } else if (window.Vue) {\n window.prettyBytes = prettyBytes\n Vue.use(prettyBytes)\n }\n\n})()\n","/**\r\n * DevExtreme (esm/ui/shared/filtering.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDate,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n map\r\n} from \"../../core/utils/iterator\";\r\nvar DEFAULT_DATE_INTERVAL = [\"year\", \"month\", \"day\"];\r\nvar DEFAULT_DATETIME_INTERVAL = [\"year\", \"month\", \"day\", \"hour\", \"minute\"];\r\nvar isDateType = function(dataType) {\r\n return \"date\" === dataType || \"datetime\" === dataType\r\n};\r\nvar getGroupInterval = function(column) {\r\n var index;\r\n var result = [];\r\n var dateIntervals = [\"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\"];\r\n var groupInterval = column.headerFilter && column.headerFilter.groupInterval;\r\n var interval = \"quarter\" === groupInterval ? \"month\" : groupInterval;\r\n if (isDateType(column.dataType) && null !== groupInterval) {\r\n result = \"datetime\" === column.dataType ? DEFAULT_DATETIME_INTERVAL : DEFAULT_DATE_INTERVAL;\r\n index = dateIntervals.indexOf(interval);\r\n if (index >= 0) {\r\n result = dateIntervals.slice(0, index);\r\n result.push(groupInterval);\r\n return result\r\n }\r\n return result\r\n } else if (isDefined(groupInterval)) {\r\n return Array.isArray(groupInterval) ? groupInterval : [groupInterval]\r\n }\r\n};\r\nexport default (function() {\r\n var getFilterSelector = function(column, target) {\r\n var selector = column.dataField || column.selector;\r\n if (\"search\" === target) {\r\n selector = column.displayField || column.calculateDisplayValue || selector\r\n }\r\n return selector\r\n };\r\n var getFilterExpressionByRange = function(filterValue, target) {\r\n var endFilterValue;\r\n var startFilterExpression;\r\n var endFilterExpression;\r\n var selector = getFilterSelector(this, target);\r\n if (Array.isArray(filterValue) && isDefined(filterValue[0]) && isDefined(filterValue[1])) {\r\n startFilterExpression = [selector, \">=\", filterValue[0]];\r\n endFilterExpression = [selector, \"<=\", filterValue[1]];\r\n if (isDateType(this.dataType) && (date = filterValue[1], date.getHours() + date.getMinutes() + date.getSeconds() + date.getMilliseconds() < 1)) {\r\n endFilterValue = new Date(filterValue[1].getTime());\r\n if (\"date\" === this.dataType) {\r\n endFilterValue.setDate(filterValue[1].getDate() + 1)\r\n }\r\n endFilterExpression = [selector, \"<\", endFilterValue]\r\n }\r\n return [startFilterExpression, \"and\", endFilterExpression]\r\n }\r\n var date\r\n };\r\n var getFilterExpressionForDate = function(filterValue, selectedFilterOperation, target) {\r\n var dateStart;\r\n var dateEnd;\r\n var dateInterval;\r\n var values = function(dateValue) {\r\n if (isDate(dateValue)) {\r\n return [dateValue.getFullYear(), dateValue.getMonth(), dateValue.getDate(), dateValue.getHours(), dateValue.getMinutes(), dateValue.getSeconds()]\r\n }\r\n return map((\"\" + dateValue).split(\"/\"), (function(value, index) {\r\n return 1 === index ? Number(value) - 1 : Number(value)\r\n }))\r\n }(filterValue);\r\n var selector = getFilterSelector(this, target);\r\n if (\"headerFilter\" === target) {\r\n dateInterval = getGroupInterval(this)[values.length - 1]\r\n } else if (\"datetime\" === this.dataType) {\r\n dateInterval = \"minute\"\r\n }\r\n switch (dateInterval) {\r\n case \"year\":\r\n dateStart = new Date(values[0], 0, 1);\r\n dateEnd = new Date(values[0] + 1, 0, 1);\r\n break;\r\n case \"month\":\r\n dateStart = new Date(values[0], values[1], 1);\r\n dateEnd = new Date(values[0], values[1] + 1, 1);\r\n break;\r\n case \"quarter\":\r\n dateStart = new Date(values[0], 3 * values[1], 1);\r\n dateEnd = new Date(values[0], 3 * values[1] + 3, 1);\r\n break;\r\n case \"hour\":\r\n dateStart = new Date(values[0], values[1], values[2], values[3]);\r\n dateEnd = new Date(values[0], values[1], values[2], values[3] + 1);\r\n break;\r\n case \"minute\":\r\n dateStart = new Date(values[0], values[1], values[2], values[3], values[4]);\r\n dateEnd = new Date(values[0], values[1], values[2], values[3], values[4] + 1);\r\n break;\r\n case \"second\":\r\n dateStart = new Date(values[0], values[1], values[2], values[3], values[4], values[5]);\r\n dateEnd = new Date(values[0], values[1], values[2], values[3], values[4], values[5] + 1);\r\n break;\r\n default:\r\n dateStart = new Date(values[0], values[1], values[2]);\r\n dateEnd = new Date(values[0], values[1], values[2] + 1)\r\n }\r\n switch (selectedFilterOperation) {\r\n case \"<\":\r\n return [selector, \"<\", dateStart];\r\n case \"<=\":\r\n return [selector, \"<\", dateEnd];\r\n case \">\":\r\n return [selector, \">=\", dateEnd];\r\n case \">=\":\r\n return [selector, \">=\", dateStart];\r\n case \"<>\":\r\n return [\r\n [selector, \"<\", dateStart], \"or\", [selector, \">=\", dateEnd]\r\n ];\r\n default:\r\n return [\r\n [selector, \">=\", dateStart], \"and\", [selector, \"<\", dateEnd]\r\n ]\r\n }\r\n };\r\n var getFilterExpressionForNumber = function(filterValue, selectedFilterOperation, target) {\r\n var selector = getFilterSelector(this, target);\r\n var groupInterval = getGroupInterval(this);\r\n if (\"headerFilter\" === target && groupInterval && isDefined(filterValue)) {\r\n var values = (\"\" + filterValue).split(\"/\");\r\n var value = Number(values[values.length - 1]);\r\n var interval = groupInterval[values.length - 1];\r\n var startFilterValue = [selector, \">=\", value];\r\n var endFilterValue = [selector, \"<\", value + interval];\r\n var condition = [startFilterValue, \"and\", endFilterValue];\r\n return condition\r\n }\r\n return [selector, selectedFilterOperation || \"=\", filterValue]\r\n };\r\n return {\r\n defaultCalculateFilterExpression: function(filterValue, selectedFilterOperation, target) {\r\n var column = this;\r\n var selector = getFilterSelector(column, target);\r\n var isSearchByDisplayValue = column.calculateDisplayValue && \"search\" === target;\r\n var dataType = isSearchByDisplayValue && column.lookup && column.lookup.dataType || column.dataType;\r\n var filter = null;\r\n if ((\"headerFilter\" === target || \"filterBuilder\" === target) && null === filterValue) {\r\n filter = [selector, selectedFilterOperation || \"=\", null];\r\n if (\"string\" === dataType) {\r\n filter = [filter, \"=\" === selectedFilterOperation ? \"or\" : \"and\", [selector, selectedFilterOperation || \"=\", \"\"]]\r\n }\r\n } else if (\"string\" === dataType && (!column.lookup || isSearchByDisplayValue)) {\r\n filter = [selector, selectedFilterOperation || \"contains\", filterValue]\r\n } else if (\"between\" === selectedFilterOperation) {\r\n return getFilterExpressionByRange.apply(column, [filterValue, target])\r\n } else if (isDateType(dataType) && isDefined(filterValue)) {\r\n return getFilterExpressionForDate.apply(column, arguments)\r\n } else if (\"number\" === dataType) {\r\n return getFilterExpressionForNumber.apply(column, arguments)\r\n } else {\r\n filter = [selector, selectedFilterOperation || \"=\", filterValue]\r\n }\r\n return filter\r\n },\r\n getGroupInterval: getGroupInterval\r\n }\r\n}());\r\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\nvar baseCreateCallback = require('lodash._basecreatecallback'),\n forOwn = require('lodash.forown');\n\n/**\n * Iterates over elements of a collection, executing the callback for each\n * element. The callback is bound to `thisArg` and invoked with three arguments;\n * (value, index|key, collection). Callbacks may exit iteration early by\n * explicitly returning `false`.\n *\n * Note: As with other \"Collections\" methods, objects with a `length` property\n * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`\n * may be used for object iteration.\n *\n * @static\n * @memberOf _\n * @alias each\n * @category Collections\n * @param {Array|Object|string} collection The collection to iterate over.\n * @param {Function} [callback=identity] The function called per iteration.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Array|Object|string} Returns `collection`.\n * @example\n *\n * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');\n * // => logs each number and returns '1,2,3'\n *\n * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });\n * // => logs each number and returns the object (property order is not guaranteed across environments)\n */\nfunction forEach(collection, callback, thisArg) {\n var index = -1,\n length = collection ? collection.length : 0;\n\n callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n if (typeof length == 'number') {\n while (++index < length) {\n if (callback(collection[index], index, collection) === false) {\n break;\n }\n }\n } else {\n forOwn(collection, callback);\n }\n return collection;\n}\n\nmodule.exports = forEach;\n","var convert\n , keys = require('lodash.keys')\n , each = require('lodash.foreach')\n , measures = {\n length: require('./definitions/length')\n , area: require('./definitions/area')\n , mass: require('./definitions/mass')\n , volume: require('./definitions/volume')\n , each: require('./definitions/each')\n , temperature: require('./definitions/temperature')\n , time: require('./definitions/time')\n , digital: require('./definitions/digital')\n , partsPer: require('./definitions/partsPer')\n , speed: require('./definitions/speed')\n , pace: require('./definitions/pace')\n , pressure: require('./definitions/pressure')\n , current: require('./definitions/current')\n , voltage: require('./definitions/voltage')\n , power: require('./definitions/power')\n , reactivePower: require('./definitions/reactivePower')\n , apparentPower: require('./definitions/apparentPower')\n , energy: require('./definitions/energy')\n , reactiveEnergy: require('./definitions/reactiveEnergy')\n , volumeFlowRate: require('./definitions/volumeFlowRate')\n , illuminance: require('./definitions/illuminance')\n , frequency: require('./definitions/frequency')\n , angle : require('./definitions/angle')\n }\n , Converter;\n\nConverter = function (numerator, denominator) {\n if(denominator)\n this.val = numerator / denominator;\n else\n this.val = numerator;\n};\n\n/**\n* Lets the converter know the source unit abbreviation\n*/\nConverter.prototype.from = function (from) {\n if(this.destination)\n throw new Error('.from must be called before .to');\n\n this.origin = this.getUnit(from);\n\n if(!this.origin) {\n this.throwUnsupportedUnitError(from);\n }\n\n return this;\n};\n\n/**\n* Converts the unit and returns the value\n*/\nConverter.prototype.to = function (to) {\n if(!this.origin)\n throw new Error('.to must be called after .from');\n\n this.destination = this.getUnit(to);\n\n var result\n , transform;\n\n if(!this.destination) {\n this.throwUnsupportedUnitError(to);\n }\n\n // Don't change the value if origin and destination are the same\n if (this.origin.abbr === this.destination.abbr) {\n return this.val;\n }\n\n // You can't go from liquid to mass, for example\n if(this.destination.measure != this.origin.measure) {\n throw new Error('Cannot convert incompatible measures of '\n + this.destination.measure + ' and ' + this.origin.measure);\n }\n\n /**\n * Convert from the source value to its anchor inside the system\n */\n result = this.val * this.origin.unit.to_anchor;\n\n /**\n * For some changes it's a simple shift (C to K)\n * So we'll add it when convering into the unit (later)\n * and subtract it when converting from the unit\n */\n if (this.origin.unit.anchor_shift) {\n result -= this.origin.unit.anchor_shift\n }\n\n /**\n * Convert from one system to another through the anchor ratio. Some conversions\n * aren't ratio based or require more than a simple shift. We can provide a custom\n * transform here to provide the direct result\n */\n if(this.origin.system != this.destination.system) {\n transform = measures[this.origin.measure]._anchors[this.origin.system].transform;\n if (typeof transform === 'function') {\n result = transform(result)\n }\n else {\n result *= measures[this.origin.measure]._anchors[this.origin.system].ratio;\n }\n }\n\n /**\n * This shift has to be done after the system conversion business\n */\n if (this.destination.unit.anchor_shift) {\n result += this.destination.unit.anchor_shift;\n }\n\n /**\n * Convert to another unit inside the destination system\n */\n return result / this.destination.unit.to_anchor;\n};\n\n/**\n* Converts the unit to the best available unit.\n*/\nConverter.prototype.toBest = function(options) {\n if(!this.origin)\n throw new Error('.toBest must be called after .from');\n\n var options = Object.assign({\n exclude: [],\n cutOffNumber: 1,\n }, options)\n\n var best;\n /**\n Looks through every possibility for the 'best' available unit.\n i.e. Where the value has the fewest numbers before the decimal point,\n but is still higher than 1.\n */\n each(this.possibilities(), function(possibility) {\n var unit = this.describe(possibility);\n var isIncluded = options.exclude.indexOf(possibility) === -1;\n\n if (isIncluded && unit.system === this.origin.system) {\n var result = this.to(possibility);\n if (!best || (result >= options.cutOffNumber && result < best.val)) {\n best = {\n val: result,\n unit: possibility,\n singular: unit.singular,\n plural: unit.plural\n };\n }\n }\n }.bind(this));\n\n return best;\n}\n\n/**\n* Finds the unit\n*/\nConverter.prototype.getUnit = function (abbr) {\n var found;\n\n each(measures, function (systems, measure) {\n each(systems, function (units, system) {\n if(system == '_anchors')\n return false;\n\n each(units, function (unit, testAbbr) {\n if(testAbbr == abbr) {\n found = {\n abbr: abbr\n , measure: measure\n , system: system\n , unit: unit\n };\n return false;\n }\n });\n\n if(found)\n return false;\n });\n\n if(found)\n return false;\n });\n\n return found;\n};\n\nvar describe = function(resp) {\n return {\n abbr: resp.abbr\n , measure: resp.measure\n , system: resp.system\n , singular: resp.unit.name.singular\n , plural: resp.unit.name.plural\n };\n}\n\n/**\n* An alias for getUnit\n*/\nConverter.prototype.describe = function (abbr) {\n var resp = Converter.prototype.getUnit(abbr);\n var desc = null;\n\n try {\n desc = describe(resp);\n } catch(err) {\n this.throwUnsupportedUnitError(abbr);\n }\n\n return desc;\n};\n\n/**\n* Detailed list of all supported units\n*/\nConverter.prototype.list = function (measure) {\n var list = [];\n\n each(measures, function (systems, testMeasure) {\n if(measure && measure !== testMeasure)\n return;\n\n each(systems, function (units, system) {\n if(system == '_anchors')\n return false;\n\n each(units, function (unit, abbr) {\n list = list.concat(describe({\n abbr: abbr,\n measure: testMeasure\n , system: system\n , unit: unit\n }));\n });\n });\n });\n\n return list;\n};\n\nConverter.prototype.throwUnsupportedUnitError = function (what) {\n var validUnits = [];\n\n each(measures, function (systems, measure) {\n each(systems, function (units, system) {\n if(system == '_anchors')\n return false;\n\n validUnits = validUnits.concat(keys(units));\n });\n });\n\n throw new Error('Unsupported unit ' + what + ', use one of: ' + validUnits.join(', '));\n}\n\n/**\n* Returns the abbreviated measures that the value can be\n* converted to.\n*/\nConverter.prototype.possibilities = function (measure) {\n var possibilities = [];\n if(!this.origin && !measure) {\n\t each(keys(measures), function (measure){\n\t\t each(measures[measure], function (units, system) {\n\t\t if(system == '_anchors')\n\t\t return false;\n\n\t\t possibilities = possibilities.concat(keys(units));\n\t\t });\n\t });\n } else {\n\t measure = measure || this.origin.measure;\n\t each(measures[measure], function (units, system) {\n\t if(system == '_anchors')\n\t return false;\n\n\t possibilities = possibilities.concat(keys(units));\n\t });\n }\n\n return possibilities;\n};\n\n/**\n* Returns the abbreviated measures that the value can be\n* converted to.\n*/\nConverter.prototype.measures = function () {\n return keys(measures);\n};\n\nconvert = function (value) {\n return new Converter(value);\n};\n\nmodule.exports = convert;\n","// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-window',\n\n directives: { Touch },\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType<TouchHandlers>,\n touchless: Boolean,\n value: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return getSlot(this)\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-window__container',\n class: {\n 'v-window__container--is-active': this.isActive,\n },\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n const on = {\n click: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n },\n }\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n }\n const children = this.$scopedSlots[direction]?.({\n on,\n attrs,\n }) ?? [this.$createElement(VBtn, {\n props: { icon: true },\n attrs,\n on,\n }, [\n this.$createElement(VIcon, {\n props: { large: true },\n }, icon),\n ])]\n\n return this.$createElement('div', {\n staticClass: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-window',\n class: this.classes,\n directives: [] as VNodeDirective[],\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n data.directives.push({\n name: 'touch',\n value,\n })\n }\n\n return h('div', data, [this.genContainer()])\n },\n})\n","// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Types & Components\nimport { BaseItemGroup, GroupableInstance } from './../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default VWindow.extend({\n name: 'v-tabs-items',\n\n props: {\n mandatory: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.options.computed.classes.call(this),\n 'v-tabs-items': true,\n }\n },\n isDark (): boolean {\n return this.rootIsDark\n },\n },\n\n methods: {\n getValue (item: GroupableInstance, i: number) {\n return item.id || BaseItemGroup.options.methods.getValue.call(this, item, i)\n },\n },\n})\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['एका मिणटान', 'एक मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['एका वरान', 'एक वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['एका दिसान', 'एक दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['एका म्हयन्यान', 'एक म्हयनो'],\n MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n y: ['एका वर्सान', 'एक वर्स'],\n yy: [number + ' वर्सांनी', number + ' वर्सां'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomDeva = moment.defineLocale('gom-deva', {\n months: {\n standalone:\n 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [वाजतां]',\n LTS: 'A h:mm:ss [वाजतां]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n },\n calendar: {\n sameDay: '[आयज] LT',\n nextDay: '[फाल्यां] LT',\n nextWeek: '[फुडलो] dddd[,] LT',\n lastDay: '[काल] LT',\n lastWeek: '[फाटलो] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s आदीं',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राती') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळीं') {\n return hour;\n } else if (meridiem === 'दनपारां') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'राती';\n } else if (hour < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n },\n });\n\n return gomDeva;\n\n})));\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","/**\r\n * DevExtreme (esm/localization/ldml/date.parser.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n escapeRegExp\r\n} from \"../../core/utils/common\";\r\nimport {\r\n logger\r\n} from \"../../core/utils/console\";\r\nvar FORMAT_TYPES = {\r\n 3: \"abbreviated\",\r\n 4: \"wide\",\r\n 5: \"narrow\"\r\n};\r\nvar monthRegExpGenerator = function(count, dateParts) {\r\n if (count > 2) {\r\n return Object.keys(FORMAT_TYPES).map((function(count) {\r\n return [\"format\", \"standalone\"].map((function(type) {\r\n return dateParts.getMonthNames(FORMAT_TYPES[count], type).join(\"|\")\r\n })).join(\"|\")\r\n })).join(\"|\")\r\n }\r\n return 2 === count ? \"1[012]|0?[1-9]\" : \"0??[1-9]|1[012]\"\r\n};\r\nvar PATTERN_REGEXPS = {\r\n \":\": function(count, dateParts) {\r\n var countSuffix = count > 1 ? \"{\".concat(count, \"}\") : \"\";\r\n var timeSeparator = escapeRegExp(dateParts.getTimeSeparator());\r\n \":\" !== timeSeparator && (timeSeparator = \"\".concat(timeSeparator, \"|:\"));\r\n return \"\".concat(timeSeparator).concat(countSuffix)\r\n },\r\n y: function(count) {\r\n return 2 === count ? \"[0-9]{\".concat(count, \"}\") : \"[0-9]+?\"\r\n },\r\n M: monthRegExpGenerator,\r\n L: monthRegExpGenerator,\r\n Q: function(count, dateParts) {\r\n if (count > 2) {\r\n return dateParts.getQuarterNames(FORMAT_TYPES[count], \"format\").join(\"|\")\r\n }\r\n return \"0?[1-4]\"\r\n },\r\n E: function(count, dateParts) {\r\n return \"\\\\D*\"\r\n },\r\n a: function(count, dateParts) {\r\n return dateParts.getPeriodNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\").join(\"|\")\r\n },\r\n d: function(count) {\r\n return 2 === count ? \"3[01]|[12][0-9]|0?[1-9]\" : \"0??[1-9]|[12][0-9]|3[01]\"\r\n },\r\n H: function(count) {\r\n return 2 === count ? \"2[0-3]|1[0-9]|0?[0-9]\" : \"0??[0-9]|1[0-9]|2[0-3]\"\r\n },\r\n h: function(count) {\r\n return 2 === count ? \"1[012]|0?[1-9]\" : \"0??[1-9]|1[012]\"\r\n },\r\n m: function(count) {\r\n return 2 === count ? \"[1-5][0-9]|0?[0-9]\" : \"0??[0-9]|[1-5][0-9]\"\r\n },\r\n s: function(count) {\r\n return 2 === count ? \"[1-5][0-9]|0?[0-9]\" : \"0??[0-9]|[1-5][0-9]\"\r\n },\r\n S: function(count) {\r\n return \"[0-9]{1,\".concat(count, \"}\")\r\n },\r\n w: function(count) {\r\n return 2 === count ? \"[1-5][0-9]|0?[0-9]\" : \"0??[0-9]|[1-5][0-9]\"\r\n },\r\n x: function(count) {\r\n return 3 === count ? \"[+-](?:2[0-3]|[01][0-9]):(?:[0-5][0-9])|Z\" : \"[+-](?:2[0-3]|[01][0-9])(?:[0-5][0-9])|Z\"\r\n }\r\n};\r\nvar parseNumber = Number;\r\nvar caseInsensitiveIndexOf = function(array, value) {\r\n return array.map(item => item.toLowerCase()).indexOf(value.toLowerCase())\r\n};\r\nvar monthPatternParser = function(text, count, dateParts) {\r\n if (count > 2) {\r\n return [\"format\", \"standalone\"].map((function(type) {\r\n return Object.keys(FORMAT_TYPES).map((function(count) {\r\n var monthNames = dateParts.getMonthNames(FORMAT_TYPES[count], type);\r\n return caseInsensitiveIndexOf(monthNames, text)\r\n }))\r\n })).reduce((function(a, b) {\r\n return a.concat(b)\r\n })).filter((function(index) {\r\n return index >= 0\r\n }))[0]\r\n }\r\n return parseNumber(text) - 1\r\n};\r\nvar PATTERN_PARSERS = {\r\n y: function(text, count) {\r\n var year = parseNumber(text);\r\n if (2 === count) {\r\n return year < 30 ? 2e3 + year : 1900 + year\r\n }\r\n return year\r\n },\r\n M: monthPatternParser,\r\n L: monthPatternParser,\r\n Q: function(text, count, dateParts) {\r\n if (count > 2) {\r\n return dateParts.getQuarterNames(FORMAT_TYPES[count], \"format\").indexOf(text)\r\n }\r\n return parseNumber(text) - 1\r\n },\r\n E: function(text, count, dateParts) {\r\n var dayNames = dateParts.getDayNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\");\r\n return caseInsensitiveIndexOf(dayNames, text)\r\n },\r\n a: function(text, count, dateParts) {\r\n var periodNames = dateParts.getPeriodNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\");\r\n return caseInsensitiveIndexOf(periodNames, text)\r\n },\r\n d: parseNumber,\r\n H: parseNumber,\r\n h: parseNumber,\r\n m: parseNumber,\r\n s: parseNumber,\r\n S: function(text, count) {\r\n count = Math.max(count, 3);\r\n text = text.slice(0, 3);\r\n while (count < 3) {\r\n text += \"0\";\r\n count++\r\n }\r\n return parseNumber(text)\r\n }\r\n};\r\nvar ORDERED_PATTERNS = [\"y\", \"M\", \"d\", \"h\", \"m\", \"s\", \"S\"];\r\nvar PATTERN_SETTERS = {\r\n y: \"setFullYear\",\r\n M: \"setMonth\",\r\n L: \"setMonth\",\r\n a: function(date, value, datePartValues) {\r\n var hours = date.getHours();\r\n var hourPartValue = datePartValues.h;\r\n if (void 0 !== hourPartValue && hourPartValue !== hours) {\r\n hours--\r\n }\r\n if (!value && 12 === hours) {\r\n hours = 0\r\n } else if (value && 12 !== hours) {\r\n hours += 12\r\n }\r\n date.setHours(hours)\r\n },\r\n d: \"setDate\",\r\n H: \"setHours\",\r\n h: \"setHours\",\r\n m: \"setMinutes\",\r\n s: \"setSeconds\",\r\n S: \"setMilliseconds\"\r\n};\r\nvar getSameCharCount = function(text, index) {\r\n var char = text[index];\r\n if (!char) {\r\n return 0\r\n }\r\n var count = 0;\r\n do {\r\n index++;\r\n count++\r\n } while (text[index] === char);\r\n return count\r\n};\r\nvar createPattern = function(char, count) {\r\n var result = \"\";\r\n for (var i = 0; i < count; i++) {\r\n result += char\r\n }\r\n return result\r\n};\r\nexport var getRegExpInfo = function(format, dateParts) {\r\n var regexpText = \"\";\r\n var stubText = \"\";\r\n var isEscaping;\r\n var patterns = [];\r\n var addPreviousStub = function() {\r\n if (stubText) {\r\n patterns.push(\"'\".concat(stubText, \"'\"));\r\n regexpText += \"\".concat(escapeRegExp(stubText), \")\");\r\n stubText = \"\"\r\n }\r\n };\r\n for (var i = 0; i < format.length; i++) {\r\n var char = format[i];\r\n var isEscapeChar = \"'\" === char;\r\n var regexpPart = PATTERN_REGEXPS[char];\r\n if (isEscapeChar) {\r\n isEscaping = !isEscaping;\r\n if (\"'\" !== format[i - 1]) {\r\n continue\r\n }\r\n }\r\n if (regexpPart && !isEscaping) {\r\n var count = getSameCharCount(format, i);\r\n var pattern = createPattern(char, count);\r\n addPreviousStub();\r\n patterns.push(pattern);\r\n regexpText += \"(\".concat(regexpPart(count, dateParts), \")\");\r\n i += count - 1\r\n } else {\r\n if (!stubText) {\r\n regexpText += \"(\"\r\n }\r\n stubText += char\r\n }\r\n }\r\n addPreviousStub();\r\n if (!isPossibleForParsingFormat(patterns)) {\r\n logger.warn(\"The following format may be parsed incorrectly: \".concat(format, \".\"))\r\n }\r\n return {\r\n patterns: patterns,\r\n regexp: new RegExp(\"^\".concat(regexpText, \"$\"), \"i\")\r\n }\r\n};\r\nvar digitFieldSymbols = [\"d\", \"H\", \"h\", \"m\", \"s\", \"w\", \"M\", \"L\", \"Q\"];\r\nexport var isPossibleForParsingFormat = function(patterns) {\r\n var isDigitPattern = pattern => {\r\n if (!pattern) {\r\n return false\r\n }\r\n var char = pattern[0];\r\n return [\"y\", \"S\"].includes(char) || digitFieldSymbols.includes(char) && pattern.length < 3\r\n };\r\n var possibleForParsing = true;\r\n var ambiguousDigitPatternsCount = 0;\r\n return patterns.every((pattern, index, patterns) => {\r\n if (isDigitPattern(pattern)) {\r\n if ((pattern => \"S\" !== pattern[0] && 2 !== pattern.length)(pattern)) {\r\n possibleForParsing = ++ambiguousDigitPatternsCount < 2\r\n }\r\n if (!isDigitPattern(patterns[index + 1])) {\r\n ambiguousDigitPatternsCount = 0\r\n }\r\n }\r\n return possibleForParsing\r\n })\r\n};\r\nexport var getPatternSetters = function() {\r\n return PATTERN_SETTERS\r\n};\r\nvar setPatternPart = function(date, pattern, text, dateParts, datePartValues) {\r\n var patternChar = pattern[0];\r\n var partSetter = PATTERN_SETTERS[patternChar];\r\n var partParser = PATTERN_PARSERS[patternChar];\r\n if (partSetter && partParser) {\r\n var value = partParser(text, pattern.length, dateParts);\r\n datePartValues[pattern] = value;\r\n if (date[partSetter]) {\r\n date[partSetter](value)\r\n } else {\r\n partSetter(date, value, datePartValues)\r\n }\r\n }\r\n};\r\nvar setPatternPartFromNow = function(date, pattern, now) {\r\n var setterName = PATTERN_SETTERS[pattern];\r\n var getterName = \"g\" + setterName.substr(1);\r\n var value = now[getterName]();\r\n date[setterName](value)\r\n};\r\nvar getShortPatterns = function(fullPatterns) {\r\n return fullPatterns.map((function(pattern) {\r\n if (\"'\" === pattern[0]) {\r\n return \"\"\r\n } else {\r\n return \"H\" === pattern[0] ? \"h\" : pattern[0]\r\n }\r\n }))\r\n};\r\nvar getMaxOrderedPatternIndex = function(patterns) {\r\n var indexes = patterns.map((function(pattern) {\r\n return ORDERED_PATTERNS.indexOf(pattern)\r\n }));\r\n return Math.max.apply(Math, indexes)\r\n};\r\nvar getOrderedFormatPatterns = function(formatPatterns) {\r\n var otherPatterns = formatPatterns.filter((function(pattern) {\r\n return ORDERED_PATTERNS.indexOf(pattern) < 0\r\n }));\r\n return ORDERED_PATTERNS.concat(otherPatterns)\r\n};\r\nexport var getParser = function(format, dateParts) {\r\n var regExpInfo = getRegExpInfo(format, dateParts);\r\n return function(text) {\r\n var regExpResult = regExpInfo.regexp.exec(text);\r\n if (regExpResult) {\r\n var now = new Date;\r\n var date = new Date(now.getFullYear(), 0, 1);\r\n var formatPatterns = getShortPatterns(regExpInfo.patterns);\r\n var maxPatternIndex = getMaxOrderedPatternIndex(formatPatterns);\r\n var orderedFormatPatterns = getOrderedFormatPatterns(formatPatterns);\r\n var datePartValues = {};\r\n orderedFormatPatterns.forEach((function(pattern, index) {\r\n if (!pattern || index < ORDERED_PATTERNS.length && index > maxPatternIndex) {\r\n return\r\n }\r\n var patternIndex = formatPatterns.indexOf(pattern);\r\n if (patternIndex >= 0) {\r\n var regExpPattern = regExpInfo.patterns[patternIndex];\r\n var regExpText = regExpResult[patternIndex + 1];\r\n setPatternPart(date, regExpPattern, regExpText, dateParts, datePartValues)\r\n } else {\r\n setPatternPartFromNow(date, pattern, now)\r\n }\r\n }));\r\n return date\r\n }\r\n return null\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/element.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar strategy = function(element) {\r\n return element && element.get(0)\r\n};\r\nexport function getPublicElement(element) {\r\n return strategy(element)\r\n}\r\nexport function setPublicElementWrapper(newStrategy) {\r\n strategy = newStrategy\r\n}\r\n","// Styles\nimport './VCheckbox.sass'\nimport '../../styles/components/_selection-controls.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-checkbox',\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n data () {\n return {\n inputIndeterminate: this.indeterminate,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls': true,\n 'v-input--checkbox': true,\n 'v-input--indeterminate': this.inputIndeterminate,\n }\n },\n computedIcon (): string {\n if (this.inputIndeterminate) {\n return this.indeterminateIcon\n } else if (this.isActive) {\n return this.onIcon\n } else {\n return this.offIcon\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.isDisabled && !this.inputIndeterminate) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n },\n\n watch: {\n indeterminate (val) {\n // https://github.com/vuetifyjs/vuetify/issues/8270\n this.$nextTick(() => (this.inputIndeterminate = val))\n },\n inputIndeterminate (val) {\n this.$emit('update:indeterminate', val)\n },\n isActive () {\n if (!this.indeterminate) return\n this.inputIndeterminate = false\n },\n },\n\n methods: {\n genCheckbox () {\n const { title, ...checkboxAttrs } = this.attrs$\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.dense,\n dark: this.dark,\n light: this.light,\n },\n }), this.computedIcon),\n this.genInput('checkbox', {\n ...checkboxAttrs,\n 'aria-checked': this.inputIndeterminate\n ? 'mixed'\n : this.isActive.toString(),\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n genDefaultSlot () {\n return [\n this.genCheckbox(),\n this.genLabel(),\n ]\n },\n },\n})\n","/**\r\n * DevExtreme (esm/ui/widget/utils.ink_ripple.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nvar INKRIPPLE_CLASS = \"dx-inkripple\";\r\nvar INKRIPPLE_WAVE_CLASS = \"dx-inkripple-wave\";\r\nvar INKRIPPLE_SHOWING_CLASS = \"dx-inkripple-showing\";\r\nvar INKRIPPLE_HIDING_CLASS = \"dx-inkripple-hiding\";\r\nvar DEFAULT_WAVE_SIZE_COEFFICIENT = 2;\r\nvar MAX_WAVE_SIZE = 4e3;\r\nvar ANIMATION_DURATION = 300;\r\nvar HOLD_ANIMATION_DURATION = 1e3;\r\nvar DEFAULT_WAVE_INDEX = 0;\r\nexport var initConfig = function() {\r\n var config = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n var {\r\n useHoldAnimation: useHoldAnimation,\r\n waveSizeCoefficient: waveSizeCoefficient,\r\n isCentered: isCentered,\r\n wavesNumber: wavesNumber\r\n } = config;\r\n return {\r\n waveSizeCoefficient: waveSizeCoefficient || DEFAULT_WAVE_SIZE_COEFFICIENT,\r\n isCentered: isCentered || false,\r\n wavesNumber: wavesNumber || 1,\r\n durations: getDurations(null !== useHoldAnimation && void 0 !== useHoldAnimation ? useHoldAnimation : true)\r\n }\r\n};\r\nexport var render = function(args) {\r\n var config = initConfig(args);\r\n return {\r\n showWave: showWave.bind(this, config),\r\n hideWave: hideWave.bind(this, config)\r\n }\r\n};\r\nvar getInkRipple = function(element) {\r\n var result = element.children(\".\" + INKRIPPLE_CLASS);\r\n if (0 === result.length) {\r\n result = $(\"<div>\").addClass(INKRIPPLE_CLASS).appendTo(element)\r\n }\r\n return result\r\n};\r\nvar getWaves = function(element, wavesNumber) {\r\n var inkRipple = getInkRipple($(element));\r\n var result = inkRipple.children(\".\" + INKRIPPLE_WAVE_CLASS).toArray();\r\n for (var i = result.length; i < wavesNumber; i++) {\r\n var $currentWave = $(\"<div>\").appendTo(inkRipple).addClass(INKRIPPLE_WAVE_CLASS);\r\n result.push($currentWave[0])\r\n }\r\n return $(result)\r\n};\r\nvar getWaveStyleConfig = function(args, config) {\r\n var element = $(config.element);\r\n var elementWidth = getOuterWidth(element);\r\n var elementHeight = getOuterHeight(element);\r\n var elementDiagonal = parseInt(Math.sqrt(elementWidth * elementWidth + elementHeight * elementHeight));\r\n var waveSize = Math.min(MAX_WAVE_SIZE, parseInt(elementDiagonal * args.waveSizeCoefficient));\r\n var left;\r\n var top;\r\n if (args.isCentered) {\r\n left = (elementWidth - waveSize) / 2;\r\n top = (elementHeight - waveSize) / 2\r\n } else {\r\n var event = config.event;\r\n var position = element.offset();\r\n var x = event.pageX - position.left;\r\n var y = event.pageY - position.top;\r\n left = x - waveSize / 2;\r\n top = y - waveSize / 2\r\n }\r\n return {\r\n left: left,\r\n top: top,\r\n height: waveSize,\r\n width: waveSize\r\n }\r\n};\r\nexport function showWave(args, config) {\r\n var $wave = getWaves(config.element, args.wavesNumber).eq(config.wave || DEFAULT_WAVE_INDEX);\r\n args.hidingTimeout && clearTimeout(args.hidingTimeout);\r\n hideSelectedWave($wave);\r\n $wave.css(getWaveStyleConfig(args, config));\r\n args.showingTimeout = setTimeout(showingWaveHandler.bind(this, args, $wave), 0)\r\n}\r\n\r\nfunction showingWaveHandler(args, $wave) {\r\n var durationCss = args.durations.showingScale + \"ms\";\r\n $wave.addClass(INKRIPPLE_SHOWING_CLASS).css(\"transitionDuration\", durationCss)\r\n}\r\n\r\nfunction getDurations(useHoldAnimation) {\r\n return {\r\n showingScale: useHoldAnimation ? HOLD_ANIMATION_DURATION : ANIMATION_DURATION,\r\n hidingScale: ANIMATION_DURATION,\r\n hidingOpacity: ANIMATION_DURATION\r\n }\r\n}\r\n\r\nfunction hideSelectedWave($wave) {\r\n $wave.removeClass(INKRIPPLE_HIDING_CLASS).css(\"transitionDuration\", \"\")\r\n}\r\nexport function hideWave(args, config) {\r\n args.showingTimeout && clearTimeout(args.showingTimeout);\r\n var $wave = getWaves(config.element, config.wavesNumber).eq(config.wave || DEFAULT_WAVE_INDEX);\r\n var durations = args.durations;\r\n var durationCss = durations.hidingScale + \"ms, \" + durations.hidingOpacity + \"ms\";\r\n $wave.addClass(INKRIPPLE_HIDING_CLASS).removeClass(INKRIPPLE_SHOWING_CLASS).css(\"transitionDuration\", durationCss);\r\n var animationDuration = Math.max(durations.hidingScale, durations.hidingOpacity);\r\n args.hidingTimeout = setTimeout(hideSelectedWave.bind(this, $wave), animationDuration)\r\n}\r\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative:\n 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n '_'\n ),\n accusative:\n 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n '_'\n ),\n genitive:\n 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n '_'\n ),\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative']\n .slice(1, 7)\n .concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n ? 'accusative'\n : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n ? 'genitive'\n : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n '_'\n ),\n standalone:\n 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n '_'\n ),\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n '_'\n ),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'годину',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n M: 'місяць',\n MM: relativeTimeWithPlural,\n y: 'рік',\n yy: relativeTimeWithPlural,\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uk;\n\n})));\n","import './VResponsive.sass'\n\n// Mixins\nimport Measurable, { NumberOrNumberString } from '../../mixins/measurable'\n\n// Types\nimport { VNode } from 'vue'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Measurable).extend({\n name: 'v-responsive',\n\n props: {\n aspectRatio: [String, Number] as NumberOrNumberString,\n contentClass: String,\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.aspectRatio)\n },\n aspectStyle (): object | undefined {\n return this.computedAspectRatio\n ? { paddingBottom: (1 / this.computedAspectRatio) * 100 + '%' }\n : undefined\n },\n __cachedSizer (): VNode | [] {\n if (!this.aspectStyle) return []\n\n return this.$createElement('div', {\n style: this.aspectStyle,\n staticClass: 'v-responsive__sizer',\n })\n },\n },\n\n methods: {\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-responsive__content',\n class: this.contentClass,\n }, getSlot(this))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-responsive',\n style: this.measurableStyles,\n on: this.$listeners,\n }, [\n this.__cachedSizer,\n this.genContent(),\n ])\n },\n})\n","import VResponsive from './VResponsive'\n\nexport { VResponsive }\nexport default VResponsive\n","// Styles\nimport './VImg.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VResponsive from '../VResponsive'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport mergeData from '../../util/mergeData'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src: string\n srcset?: string\n lazySrc: string\n aspect: number\n}\n\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window\n\n/* @vue/component */\nexport default mixins(\n VResponsive,\n Themeable,\n).extend({\n name: 'v-img',\n\n directives: { intersect },\n\n props: {\n alt: String,\n contain: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator<IntersectionObserverInit>,\n position: {\n type: String,\n default: 'center center',\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: '',\n } as PropValidator<string | srcObject>,\n srcset: String,\n transition: {\n type: [Boolean, String],\n default: 'fade-transition',\n },\n },\n\n data () {\n return {\n currentSrc: '', // Set from srcset\n image: null as HTMLImageElement | null,\n isLoading: true,\n calculatedAspectRatio: undefined as number | undefined,\n naturalWidth: undefined as number | undefined,\n hasError: false,\n }\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n },\n normalisedSrc (): srcObject {\n return this.src && typeof this.src === 'object'\n ? {\n src: this.src.src,\n srcset: this.srcset || this.src.srcset,\n lazySrc: this.lazySrc || this.src.lazySrc,\n aspect: Number(this.aspectRatio || this.src.aspect),\n } : {\n src: this.src,\n srcset: this.srcset,\n lazySrc: this.lazySrc,\n aspect: Number(this.aspectRatio || 0),\n }\n },\n __cachedImage (): VNode | [] {\n if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return []\n\n const backgroundImage: string[] = []\n const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc\n\n if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`)\n if (src) backgroundImage.push(`url(\"${src}\")`)\n\n const image = this.$createElement('div', {\n staticClass: 'v-image__image',\n class: {\n 'v-image__image--preload': this.isLoading,\n 'v-image__image--contain': this.contain,\n 'v-image__image--cover': !this.contain,\n },\n style: {\n backgroundImage: backgroundImage.join(', '),\n backgroundPosition: this.position,\n },\n key: +this.isLoading,\n })\n\n /* istanbul ignore if */\n if (!this.transition) return image\n\n return this.$createElement('transition', {\n attrs: {\n name: this.transition,\n mode: 'in-out',\n },\n }, [image])\n },\n },\n\n watch: {\n src () {\n // Force re-init when src changes\n if (!this.isLoading) this.init(undefined, undefined, true)\n else this.loadImage()\n },\n '$vuetify.breakpoint.width': 'getSrc',\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init (\n entries?: IntersectionObserverEntry[],\n observer?: IntersectionObserver,\n isIntersecting?: boolean\n ) {\n // If the current browser supports the intersection\n // observer api, the image is not observable, and\n // the eager prop isn't being used, do not load\n if (\n hasIntersect &&\n !isIntersecting &&\n !this.eager\n ) return\n\n if (this.normalisedSrc.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = this.normalisedSrc.lazySrc\n this.pollForSize(lazyImg, null)\n }\n /* istanbul ignore else */\n if (this.normalisedSrc.src) this.loadImage()\n },\n onLoad () {\n this.getSrc()\n this.isLoading = false\n this.$emit('load', this.src)\n\n if (\n this.image &&\n (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))\n ) {\n if (this.image.naturalHeight && this.image.naturalWidth) {\n this.naturalWidth = this.image.naturalWidth\n this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight\n } else {\n this.calculatedAspectRatio = 1\n }\n }\n },\n onError () {\n this.hasError = true\n this.$emit('error', this.src)\n },\n getSrc () {\n /* istanbul ignore else */\n if (this.image) this.currentSrc = this.image.currentSrc || this.image.src\n },\n loadImage () {\n const image = new Image()\n this.image = image\n\n image.onload = () => {\n /* istanbul ignore if */\n if (image.decode) {\n image.decode().catch((err: DOMException) => {\n consoleWarn(\n `Failed to decode image, trying to render anyway\\n\\n` +\n `src: ${this.normalisedSrc.src}` +\n (err.message ? `\\nOriginal error: ${err.message}` : ''),\n this\n )\n }).then(this.onLoad)\n } else {\n this.onLoad()\n }\n }\n image.onerror = this.onError\n\n this.hasError = false\n this.sizes && (image.sizes = this.sizes)\n this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\n image.src = this.normalisedSrc.src\n this.$emit('loadstart', this.normalisedSrc.src)\n\n this.aspectRatio || this.pollForSize(image)\n this.getSrc()\n },\n pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight, naturalWidth } = img\n\n if (naturalHeight || naturalWidth) {\n this.naturalWidth = naturalWidth\n this.calculatedAspectRatio = naturalWidth / naturalHeight\n } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n setTimeout(poll, timeout)\n }\n }\n\n poll()\n },\n genContent () {\n const content: VNode = VResponsive.options.methods.genContent.call(this)\n if (this.naturalWidth) {\n this._b(content.data!, 'div', {\n style: { width: `${this.naturalWidth}px` },\n })\n }\n\n return content\n },\n __genPlaceholder (): VNode | void {\n const slot = getSlot(this, 'placeholder')\n if (slot) {\n const placeholder = this.isLoading\n ? [this.$createElement('div', {\n staticClass: 'v-image__placeholder',\n }, slot)]\n : []\n\n if (!this.transition) return placeholder[0]\n\n return this.$createElement('transition', {\n props: {\n appear: true,\n name: this.transition,\n },\n }, placeholder)\n }\n },\n },\n\n render (h): VNode {\n const node = VResponsive.options.render.call(this, h)\n\n const data = mergeData(node.data!, {\n staticClass: 'v-image',\n attrs: {\n 'aria-label': this.alt,\n role: this.alt ? 'img' : undefined,\n },\n class: this.themeClasses,\n // Only load intersect directive if it\n // will work in the current browser.\n directives: hasIntersect\n ? [{\n name: 'intersect',\n modifiers: { once: true },\n value: {\n handler: this.init,\n options: this.options,\n },\n }]\n : undefined,\n })\n\n node.children = [\n this.__cachedSizer,\n this.__cachedImage,\n this.__genPlaceholder(),\n this.genContent(),\n ] as VNode[]\n\n return h(node.tag, data, node.children)\n },\n})\n","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'sizeable',\n\n props: {\n large: Boolean,\n small: Boolean,\n xLarge: Boolean,\n xSmall: Boolean,\n },\n\n computed: {\n medium (): boolean {\n return Boolean(\n !this.xSmall &&\n !this.small &&\n !this.large &&\n !this.xLarge\n )\n },\n sizeableClasses (): object {\n return {\n 'v-size--x-small': this.xSmall,\n 'v-size--small': this.small,\n 'v-size--default': this.medium,\n 'v-size--large': this.large,\n 'v-size--x-large': this.xLarge,\n }\n },\n },\n})\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.strategy.grouped.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport storeHelper from \"../../data/store_helper\";\r\nimport query from \"../../data/query\";\r\nimport EditStrategy from \"../collection/ui.collection_widget.edit.strategy.plain\";\r\nvar LIST_ITEM_CLASS = \"dx-list-item\";\r\nvar LIST_GROUP_CLASS = \"dx-list-group\";\r\nvar SELECTION_SHIFT = 20;\r\nvar SELECTION_MASK = (1 << SELECTION_SHIFT) - 1;\r\nvar combineIndex = function(indices) {\r\n return (indices.group << SELECTION_SHIFT) + indices.item\r\n};\r\nvar splitIndex = function(combinedIndex) {\r\n return {\r\n group: combinedIndex >> SELECTION_SHIFT,\r\n item: combinedIndex & SELECTION_MASK\r\n }\r\n};\r\nvar GroupedEditStrategy = EditStrategy.inherit({\r\n _groupElements: function() {\r\n return this._collectionWidget._itemContainer().find(\".\" + LIST_GROUP_CLASS)\r\n },\r\n _groupItemElements: function($group) {\r\n return $group.find(\".\" + LIST_ITEM_CLASS)\r\n },\r\n getIndexByItemData: function(itemData) {\r\n var groups = this._collectionWidget.option(\"items\");\r\n var index = false;\r\n if (!itemData) {\r\n return false\r\n }\r\n if (itemData.items && itemData.items.length) {\r\n itemData = itemData.items[0]\r\n }\r\n each(groups, (function(groupIndex, group) {\r\n if (!group.items) {\r\n return false\r\n }\r\n each(group.items, (function(itemIndex, item) {\r\n if (item !== itemData) {\r\n return true\r\n }\r\n index = {\r\n group: groupIndex,\r\n item: itemIndex\r\n };\r\n return false\r\n }));\r\n if (index) {\r\n return false\r\n }\r\n }));\r\n return index\r\n },\r\n getItemDataByIndex: function(index) {\r\n var items = this._collectionWidget.option(\"items\");\r\n if (isNumeric(index)) {\r\n return this.itemsGetter()[index]\r\n }\r\n return index && items[index.group] && items[index.group].items[index.item] || null\r\n },\r\n itemsGetter: function() {\r\n var resultItems = [];\r\n var items = this._collectionWidget.option(\"items\");\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] && items[i].items) {\r\n resultItems = resultItems.concat(items[i].items)\r\n } else {\r\n resultItems.push(items[i])\r\n }\r\n }\r\n return resultItems\r\n },\r\n deleteItemAtIndex: function(index) {\r\n var indices = splitIndex(index);\r\n var itemGroup = this._collectionWidget.option(\"items\")[indices.group].items;\r\n itemGroup.splice(indices.item, 1)\r\n },\r\n getKeysByItems: function(items) {\r\n var plainItems = [];\r\n var i;\r\n for (i = 0; i < items.length; i++) {\r\n if (items[i] && items[i].items) {\r\n plainItems = plainItems.concat(items[i].items)\r\n } else {\r\n plainItems.push(items[i])\r\n }\r\n }\r\n var result = [];\r\n for (i = 0; i < plainItems.length; i++) {\r\n result.push(this._collectionWidget.keyOf(plainItems[i]))\r\n }\r\n return result\r\n },\r\n getIndexByKey: function(key, items) {\r\n var groups = items || this._collectionWidget.option(\"items\");\r\n var index = -1;\r\n var that = this;\r\n each(groups, (function(groupIndex, group) {\r\n if (!group.items) {\r\n return\r\n }\r\n each(group.items, (function(itemIndex, item) {\r\n var itemKey = that._collectionWidget.keyOf(item);\r\n if (that._equalKeys(itemKey, key)) {\r\n index = {\r\n group: groupIndex,\r\n item: itemIndex\r\n };\r\n return false\r\n }\r\n }));\r\n if (-1 !== index) {\r\n return false\r\n }\r\n }));\r\n return index\r\n },\r\n _getGroups: function(items) {\r\n var dataController = this._collectionWidget._dataController;\r\n var group = dataController.group();\r\n if (group) {\r\n return storeHelper.queryByOptions(query(items), {\r\n group: group\r\n }).toArray()\r\n }\r\n return this._collectionWidget.option(\"items\")\r\n },\r\n getItemsByKeys: function(keys, items) {\r\n var result = [];\r\n var groups = this._getGroups(items);\r\n var groupItemByKeyMap = {};\r\n var getItemMeta = key => {\r\n var index = this.getIndexByKey(key, groups);\r\n var group = index && groups[index.group];\r\n if (!group) {\r\n return\r\n }\r\n return {\r\n groupKey: group.key,\r\n item: group.items[index.item]\r\n }\r\n };\r\n each(keys, (function(_, key) {\r\n var itemMeta = getItemMeta(key);\r\n if (!itemMeta) {\r\n return\r\n }\r\n var groupKey = itemMeta.groupKey;\r\n var item = itemMeta.item;\r\n var selectedGroup = groupItemByKeyMap[groupKey];\r\n if (!selectedGroup) {\r\n selectedGroup = {\r\n key: groupKey,\r\n items: []\r\n };\r\n groupItemByKeyMap[groupKey] = selectedGroup;\r\n result.push(selectedGroup)\r\n }\r\n selectedGroup.items.push(item)\r\n }));\r\n return result\r\n },\r\n moveItemAtIndexToIndex: function(movingIndex, destinationIndex) {\r\n var items = this._collectionWidget.option(\"items\");\r\n var movingIndices = splitIndex(movingIndex);\r\n var destinationIndices = splitIndex(destinationIndex);\r\n var movingItemGroup = items[movingIndices.group].items;\r\n var destinationItemGroup = items[destinationIndices.group].items;\r\n var movedItemData = movingItemGroup[movingIndices.item];\r\n movingItemGroup.splice(movingIndices.item, 1);\r\n destinationItemGroup.splice(destinationIndices.item, 0, movedItemData)\r\n },\r\n _isItemIndex: function(index) {\r\n return index && isNumeric(index.group) && isNumeric(index.item)\r\n },\r\n _getNormalizedItemIndex: function(itemElement) {\r\n var $item = $(itemElement);\r\n var $group = $item.closest(\".\" + LIST_GROUP_CLASS);\r\n if (!$group.length) {\r\n return -1\r\n }\r\n return combineIndex({\r\n group: this._groupElements().index($group),\r\n item: this._groupItemElements($group).index($item)\r\n })\r\n },\r\n _normalizeItemIndex: function(index) {\r\n return combineIndex(index)\r\n },\r\n _denormalizeItemIndex: function(index) {\r\n return splitIndex(index)\r\n },\r\n _getItemByNormalizedIndex: function(index) {\r\n var indices = splitIndex(index);\r\n var $group = this._groupElements().eq(indices.group);\r\n return this._groupItemElements($group).eq(indices.item)\r\n },\r\n _itemsFromSameParent: function(firstIndex, secondIndex) {\r\n return splitIndex(firstIndex).group === splitIndex(secondIndex).group\r\n }\r\n});\r\nexport default GroupedEditStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.provider.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n registry\r\n} from \"./ui.list.edit.decorator_registry\";\r\nvar editOptionsRegistry = [];\r\nvar registerOption = function(enabledFunc, decoratorTypeFunc, decoratorSubTypeFunc) {\r\n editOptionsRegistry.push({\r\n enabled: enabledFunc,\r\n decoratorType: decoratorTypeFunc,\r\n decoratorSubType: decoratorSubTypeFunc\r\n })\r\n};\r\nregisterOption((function() {\r\n return this.option(\"menuItems\").length\r\n}), (function() {\r\n return \"menu\"\r\n}), (function() {\r\n return this.option(\"menuMode\")\r\n}));\r\nregisterOption((function() {\r\n return !this.option(\"menuItems\").length && this.option(\"allowItemDeleting\")\r\n}), (function() {\r\n var mode = this.option(\"itemDeleteMode\");\r\n return \"toggle\" === mode || \"slideButton\" === mode || \"swipe\" === mode || \"static\" === mode ? \"delete\" : \"menu\"\r\n}), (function() {\r\n var mode = this.option(\"itemDeleteMode\");\r\n if (\"slideItem\" === mode) {\r\n mode = \"slide\"\r\n }\r\n return mode\r\n}));\r\nregisterOption((function() {\r\n return \"none\" !== this.option(\"selectionMode\") && this.option(\"showSelectionControls\")\r\n}), (function() {\r\n return \"selection\"\r\n}), (function() {\r\n return \"default\"\r\n}));\r\nregisterOption((function() {\r\n return this.option(\"itemDragging.allowReordering\") || this.option(\"itemDragging.allowDropInsideItem\") || this.option(\"itemDragging.group\")\r\n}), (function() {\r\n return \"reorder\"\r\n}), (function() {\r\n return \"default\"\r\n}));\r\nvar LIST_ITEM_BEFORE_BAG_CLASS = \"dx-list-item-before-bag\";\r\nvar LIST_ITEM_AFTER_BAG_CLASS = \"dx-list-item-after-bag\";\r\nvar DECORATOR_BEFORE_BAG_CREATE_METHOD = \"beforeBag\";\r\nvar DECORATOR_AFTER_BAG_CREATE_METHOD = \"afterBag\";\r\nvar DECORATOR_MODIFY_ELEMENT_METHOD = \"modifyElement\";\r\nvar DECORATOR_AFTER_RENDER_METHOD = \"afterRender\";\r\nvar DECORATOR_GET_EXCLUDED_SELECTORS_METHOD = \"getExcludedSelectors\";\r\nvar EditProvider = Class.inherit({\r\n ctor: function(list) {\r\n this._list = list;\r\n this._fetchRequiredDecorators()\r\n },\r\n dispose: function() {\r\n if (this._decorators && this._decorators.length) {\r\n each(this._decorators, (function(_, decorator) {\r\n decorator.dispose()\r\n }))\r\n }\r\n },\r\n _fetchRequiredDecorators: function() {\r\n this._decorators = [];\r\n each(editOptionsRegistry, function(_, option) {\r\n var optionEnabled = option.enabled.call(this._list);\r\n if (optionEnabled) {\r\n var decoratorType = option.decoratorType.call(this._list);\r\n var decoratorSubType = option.decoratorSubType.call(this._list);\r\n var decorator = this._createDecorator(decoratorType, decoratorSubType);\r\n this._decorators.push(decorator)\r\n }\r\n }.bind(this))\r\n },\r\n _createDecorator: function(type, subType) {\r\n var decoratorClass = this._findDecorator(type, subType);\r\n return new decoratorClass(this._list)\r\n },\r\n _findDecorator: function(type, subType) {\r\n var _registry$type;\r\n var foundDecorator = null === (_registry$type = registry[type]) || void 0 === _registry$type ? void 0 : _registry$type[subType];\r\n if (!foundDecorator) {\r\n throw errors.Error(\"E1012\", type, subType)\r\n }\r\n return foundDecorator\r\n },\r\n modifyItemElement: function(args) {\r\n var $itemElement = $(args.itemElement);\r\n var config = {\r\n $itemElement: $itemElement\r\n };\r\n this._prependBeforeBags($itemElement, config);\r\n this._appendAfterBags($itemElement, config);\r\n this._applyDecorators(DECORATOR_MODIFY_ELEMENT_METHOD, config)\r\n },\r\n afterItemsRendered: function() {\r\n this._applyDecorators(DECORATOR_AFTER_RENDER_METHOD)\r\n },\r\n _prependBeforeBags: function($itemElement, config) {\r\n var $beforeBags = this._collectDecoratorsMarkup(DECORATOR_BEFORE_BAG_CREATE_METHOD, config, LIST_ITEM_BEFORE_BAG_CLASS);\r\n $itemElement.prepend($beforeBags)\r\n },\r\n _appendAfterBags: function($itemElement, config) {\r\n var $afterBags = this._collectDecoratorsMarkup(DECORATOR_AFTER_BAG_CREATE_METHOD, config, LIST_ITEM_AFTER_BAG_CLASS);\r\n $itemElement.append($afterBags)\r\n },\r\n _collectDecoratorsMarkup: function(method, config, containerClass) {\r\n var $collector = $(\"<div>\");\r\n each(this._decorators, (function() {\r\n var $container = $(\"<div>\").addClass(containerClass);\r\n this[method](extend({\r\n $container: $container\r\n }, config));\r\n if ($container.children().length) {\r\n $collector.append($container)\r\n }\r\n }));\r\n return $collector.children()\r\n },\r\n _applyDecorators: function(method, config) {\r\n each(this._decorators, (function() {\r\n this[method](config)\r\n }))\r\n },\r\n _handlerExists: function(name) {\r\n if (!this._decorators) {\r\n return false\r\n }\r\n var decorators = this._decorators;\r\n var length = decorators.length;\r\n for (var i = 0; i < length; i++) {\r\n if (decorators[i][name] !== noop) {\r\n return true\r\n }\r\n }\r\n return false\r\n },\r\n _eventHandler: function(name, $itemElement, e) {\r\n if (!this._decorators) {\r\n return false\r\n }\r\n var response = false;\r\n var decorators = this._decorators;\r\n var length = decorators.length;\r\n for (var i = 0; i < length; i++) {\r\n response = decorators[i][name]($itemElement, e);\r\n if (response) {\r\n break\r\n }\r\n }\r\n return response\r\n },\r\n handleClick: function($itemElement, e) {\r\n return this._eventHandler(\"handleClick\", $itemElement, e)\r\n },\r\n handleKeyboardEvents: function(currentFocusedIndex, moveFocusUp) {\r\n return this._eventHandler(\"handleKeyboardEvents\", currentFocusedIndex, moveFocusUp)\r\n },\r\n handleEnterPressing: function(e) {\r\n return this._eventHandler(\"handleEnterPressing\", e)\r\n },\r\n contextMenuHandlerExists: function() {\r\n return this._handlerExists(\"handleContextMenu\")\r\n },\r\n handleContextMenu: function($itemElement, e) {\r\n return this._eventHandler(\"handleContextMenu\", $itemElement, e)\r\n },\r\n getExcludedItemSelectors: function() {\r\n var excludedSelectors = [];\r\n this._applyDecorators(DECORATOR_GET_EXCLUDED_SELECTORS_METHOD, excludedSelectors);\r\n return excludedSelectors.join(\",\")\r\n }\r\n});\r\nexport default EditProvider;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isTouchEvent\r\n} from \"../../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport GroupedEditStrategy from \"./ui.list.edit.strategy.grouped\";\r\nimport localizationMessage from \"../../localization/message\";\r\nimport EditProvider from \"./ui.list.edit.provider\";\r\nimport {\r\n ListBase\r\n} from \"./ui.list.base\";\r\nvar LIST_ITEM_SELECTED_CLASS = \"dx-list-item-selected\";\r\nvar LIST_ITEM_RESPONSE_WAIT_CLASS = \"dx-list-item-response-wait\";\r\nvar ListEdit = ListBase.inherit({\r\n _supportedKeys() {\r\n var that = this;\r\n var parent = this.callBase();\r\n var moveFocusedItem = (e, moveUp) => {\r\n var editStrategy = this._editStrategy;\r\n var focusedElement = this.option(\"focusedElement\");\r\n var focusedItemIndex = editStrategy.getNormalizedIndex(focusedElement);\r\n var isLastIndexFocused = focusedItemIndex === this._getLastItemIndex();\r\n if (isLastIndexFocused && this._dataController.isLoading()) {\r\n return\r\n }\r\n if (e.shiftKey && that.option(\"itemDragging.allowReordering\")) {\r\n var nextItemIndex = focusedItemIndex + (moveUp ? -1 : 1);\r\n var $nextItem = editStrategy.getItemElement(nextItemIndex);\r\n this.reorderItem(focusedElement, $nextItem);\r\n this.scrollToItem(focusedElement);\r\n e.preventDefault()\r\n } else {\r\n var editProvider = this._editProvider;\r\n var isInternalMoving = editProvider.handleKeyboardEvents(focusedItemIndex, moveUp);\r\n if (!isInternalMoving) {\r\n moveUp ? parent.upArrow(e) : parent.downArrow(e)\r\n }\r\n }\r\n };\r\n return extend({}, parent, {\r\n del: e => {\r\n if (that.option(\"allowItemDeleting\")) {\r\n e.preventDefault();\r\n that.deleteItem(that.option(\"focusedElement\"))\r\n }\r\n },\r\n upArrow: e => moveFocusedItem(e, true),\r\n downArrow: e => moveFocusedItem(e),\r\n enter: function(e) {\r\n if (!this._editProvider.handleEnterPressing(e)) {\r\n parent.enter.apply(this, arguments)\r\n }\r\n },\r\n space: function(e) {\r\n if (!this._editProvider.handleEnterPressing(e)) {\r\n parent.space.apply(this, arguments)\r\n }\r\n }\r\n })\r\n },\r\n _updateSelection() {\r\n this._editProvider.afterItemsRendered();\r\n this.callBase()\r\n },\r\n _getLastItemIndex() {\r\n return this._itemElements().length - 1\r\n },\r\n _refreshItemElements() {\r\n this.callBase();\r\n var excludedSelectors = this._editProvider.getExcludedItemSelectors();\r\n if (excludedSelectors.length) {\r\n this._itemElementsCache = this._itemElementsCache.not(excludedSelectors)\r\n }\r\n },\r\n _isItemStrictEquals: function(item1, item2) {\r\n var privateKey = item1 && item1.__dx_key__;\r\n if (privateKey && !this.key() && this._selection.isItemSelected(privateKey)) {\r\n return false\r\n }\r\n return this.callBase(item1, item2)\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n showSelectionControls: false,\r\n selectionMode: \"none\",\r\n selectAllMode: \"page\",\r\n onSelectAllValueChanged: null,\r\n selectAllText: localizationMessage.format(\"dxList-selectAll\"),\r\n menuItems: [],\r\n menuMode: \"context\",\r\n allowItemDeleting: false,\r\n itemDeleteMode: \"static\",\r\n itemDragging: {}\r\n })\r\n },\r\n _defaultOptionsRules() {\r\n return this.callBase().concat([{\r\n device: _device => \"ios\" === _device.platform,\r\n options: {\r\n menuMode: \"slide\",\r\n itemDeleteMode: \"slideItem\"\r\n }\r\n }, {\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n itemDeleteMode: \"swipe\"\r\n }\r\n }])\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initEditProvider()\r\n },\r\n _initDataSource() {\r\n this.callBase();\r\n if (!this._isPageSelectAll()) {\r\n this._dataSource && this._dataSource.requireTotalCount(true)\r\n }\r\n },\r\n _isPageSelectAll() {\r\n return \"page\" === this.option(\"selectAllMode\")\r\n },\r\n _initEditProvider() {\r\n this._editProvider = new EditProvider(this)\r\n },\r\n _disposeEditProvider() {\r\n if (this._editProvider) {\r\n this._editProvider.dispose()\r\n }\r\n },\r\n _refreshEditProvider() {\r\n this._disposeEditProvider();\r\n this._initEditProvider()\r\n },\r\n _initEditStrategy() {\r\n if (this.option(\"grouped\")) {\r\n this._editStrategy = new GroupedEditStrategy(this)\r\n } else {\r\n this.callBase()\r\n }\r\n },\r\n _initMarkup() {\r\n this._refreshEditProvider();\r\n this.callBase()\r\n },\r\n _renderItems() {\r\n this.callBase(...arguments);\r\n this._editProvider.afterItemsRendered()\r\n },\r\n _selectedItemClass: () => LIST_ITEM_SELECTED_CLASS,\r\n _itemResponseWaitClass: () => LIST_ITEM_RESPONSE_WAIT_CLASS,\r\n _itemClickHandler(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n var handledByEditProvider = this._editProvider.handleClick($itemElement, e);\r\n if (handledByEditProvider) {\r\n return\r\n }\r\n this._saveSelectionChangeEvent(e);\r\n this.callBase(...arguments)\r\n },\r\n _shouldFireContextMenuEvent() {\r\n return this.callBase(...arguments) || this._editProvider.contextMenuHandlerExists()\r\n },\r\n _itemHoldHandler(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n var handledByEditProvider = isTouchEvent(e) && this._editProvider.handleContextMenu($itemElement, e);\r\n if (handledByEditProvider) {\r\n e.handledByEditProvider = true;\r\n return\r\n }\r\n this.callBase(...arguments)\r\n },\r\n _getItemContainer: function(changeData) {\r\n if (this.option(\"grouped\")) {\r\n var _this$_editStrategy$g;\r\n var groupIndex = null === (_this$_editStrategy$g = this._editStrategy.getIndexByItemData(changeData)) || void 0 === _this$_editStrategy$g ? void 0 : _this$_editStrategy$g.group;\r\n return this._getGroupContainerByIndex(groupIndex)\r\n } else {\r\n return this.callBase(changeData)\r\n }\r\n },\r\n _itemContextMenuHandler(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n var handledByEditProvider = !e.handledByEditProvider && this._editProvider.handleContextMenu($itemElement, e);\r\n if (handledByEditProvider) {\r\n e.preventDefault();\r\n return\r\n }\r\n this.callBase(...arguments)\r\n },\r\n _postprocessRenderItem(args) {\r\n this.callBase(...arguments);\r\n this._editProvider.modifyItemElement(args)\r\n },\r\n _clean() {\r\n this._disposeEditProvider();\r\n this.callBase()\r\n },\r\n focusListItem(index) {\r\n var $item = this._editStrategy.getItemElement(index);\r\n this.option(\"focusedElement\", $item);\r\n this.focus();\r\n this.scrollToItem(this.option(\"focusedElement\"))\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"selectAllMode\":\r\n this._initDataSource();\r\n this._dataController.pageIndex(0);\r\n this._dataController.load();\r\n break;\r\n case \"grouped\":\r\n this._clearSelectedItems();\r\n delete this._renderingGroupIndex;\r\n this._initEditStrategy();\r\n this.callBase(args);\r\n break;\r\n case \"showSelectionControls\":\r\n case \"menuItems\":\r\n case \"menuMode\":\r\n case \"allowItemDeleting\":\r\n case \"itemDeleteMode\":\r\n case \"itemDragging\":\r\n case \"selectAllText\":\r\n this._invalidate();\r\n break;\r\n case \"onSelectAllValueChanged\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n selectAll() {\r\n return this._selection.selectAll(this._isPageSelectAll())\r\n },\r\n unselectAll() {\r\n return this._selection.deselectAll(this._isPageSelectAll())\r\n },\r\n isSelectAll() {\r\n return this._selection.getSelectAllState(this._isPageSelectAll())\r\n },\r\n getFlatIndexByItemElement(itemElement) {\r\n return this._itemElements().index(itemElement)\r\n },\r\n getItemElementByFlatIndex(flatIndex) {\r\n var $itemElements = this._itemElements();\r\n if (flatIndex < 0 || flatIndex >= $itemElements.length) {\r\n return $()\r\n }\r\n return $itemElements.eq(flatIndex)\r\n },\r\n getItemByIndex(index) {\r\n return this._editStrategy.getItemDataByIndex(index)\r\n },\r\n deleteItem(itemElement) {\r\n var editStrategy = this._editStrategy;\r\n var deletingElementIndex = editStrategy.getNormalizedIndex(itemElement);\r\n var focusedElement = this.option(\"focusedElement\");\r\n var focusStateEnabled = this.option(\"focusStateEnabled\");\r\n var focusedItemIndex = focusedElement ? editStrategy.getNormalizedIndex(focusedElement) : deletingElementIndex;\r\n var isLastIndexFocused = focusedItemIndex === this._getLastItemIndex();\r\n var nextFocusedItem = isLastIndexFocused || deletingElementIndex < focusedItemIndex ? focusedItemIndex - 1 : focusedItemIndex;\r\n var promise = this.callBase(itemElement);\r\n return promise.done((function() {\r\n if (focusStateEnabled) {\r\n this.focusListItem(nextFocusedItem)\r\n }\r\n }))\r\n }\r\n});\r\nexport default ListEdit;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.search.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ListEdit from \"./ui.list.edit\";\r\nimport searchBoxMixin from \"../widget/ui.search_box_mixin\";\r\nvar ListSearch = ListEdit.inherit(searchBoxMixin).inherit({\r\n _addWidgetPrefix: function(className) {\r\n return \"dx-list-\" + className\r\n },\r\n _getCombinedFilter: function() {\r\n var dataController = this._dataController;\r\n var storeLoadOptions = {\r\n filter: dataController.filter()\r\n };\r\n dataController.addSearchFilter(storeLoadOptions);\r\n var filter = storeLoadOptions.filter;\r\n return filter\r\n },\r\n _initDataSource: function() {\r\n var value = this.option(\"searchValue\");\r\n var expr = this.option(\"searchExpr\");\r\n var mode = this.option(\"searchMode\");\r\n this.callBase();\r\n var dataController = this._dataController;\r\n value && value.length && dataController.searchValue(value);\r\n mode.length && dataController.searchOperation(searchBoxMixin.getOperationBySearchMode(mode));\r\n expr && dataController.searchExpr(expr)\r\n }\r\n});\r\nexport default ListSearch;\r\n","/**\r\n * DevExtreme (esm/ui/list_light.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ListEdit from \"./list/ui.list.edit.search\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nregisterComponent(\"dxList\", ListEdit);\r\nexport default ListEdit;\r\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BaseComponent = exports.DxComponent = void 0;\nvar VueType = __importStar(require(\"vue\"));\nvar events_1 = require(\"devextreme/events\");\nvar children_processing_1 = require(\"./children-processing\");\nvar configuration_1 = __importStar(require(\"./configuration\"));\nvar configuration_component_1 = require(\"./configuration-component\");\nvar constants_1 = require(\"./constants\");\nvar helpers_1 = require(\"./helpers\");\nvar templates_manager_1 = require(\"./templates-manager\");\nvar Vue = VueType.default || VueType;\nvar BaseComponent = function () { return Vue.extend({\n inheritAttrs: false,\n data: function () {\n return {\n eventBus: new Vue()\n };\n },\n provide: function () {\n return {\n eventBus: this.eventBus\n };\n },\n render: function (createElement) {\n var children = [];\n if (this.$_config.cleanNested) {\n this.$_config.cleanNested();\n }\n (0, children_processing_1.pullAllChildren)(this.$slots.default, children, this.$_config);\n this.$_processChildren(children);\n return createElement(\"div\", {\n attrs: { id: this.$attrs.id }\n }, children);\n },\n beforeUpdate: function () {\n this.$_config.setPrevNestedOptions(this.$_config.getNestedOptionValues());\n },\n updated: function () {\n var _a, _b;\n this.$children.forEach(function (child) { return (0, configuration_component_1.initOptionChangedFunc)((0, configuration_component_1.getConfig)(child), child, (0, configuration_component_1.getInnerChanges)(child)); });\n this.$_templatesManager.discover();\n this.$_instance.beginUpdate();\n this.$_applyConfigurationChanges();\n if (this.$_templatesManager.isDirty) {\n this.$_instance.option(\"integrationOptions.templates\", this.$_templatesManager.templates);\n var props = (_b = (_a = this.$vnode) === null || _a === void 0 ? void 0 : _a.componentOptions) === null || _b === void 0 ? void 0 : _b.propsData;\n for (var _i = 0, _c = Object.keys(this.$_templatesManager.templates); _i < _c.length; _i++) {\n var name_1 = _c[_i];\n this.$_instance.option((0, helpers_1.getTemplatePropName)(props, name_1), name_1);\n }\n this.$_templatesManager.resetDirtyFlag();\n }\n for (var _d = 0, _e = Object.keys(this.$_pendingOptions); _d < _e.length; _d++) {\n var name_2 = _e[_d];\n this.$_instance.option(name_2, this.$_pendingOptions[name_2]);\n }\n this.$_pendingOptions = {};\n this.$_instance.endUpdate();\n this.eventBus.$emit(\"updated\");\n },\n beforeDestroy: function () {\n var instance = this.$_instance;\n if (instance) {\n (0, events_1.triggerHandler)(this.$el, constants_1.DX_REMOVE_EVENT);\n instance.dispose();\n }\n },\n created: function () {\n var _this = this;\n this.$_config = new configuration_1.default(function (n, v) { return _this.$_pendingOptions[n] = v; }, null, this.$options.propsData && __assign({}, this.$options.propsData), this.$_expectedChildren);\n this.$_innerChanges = {};\n this.$_config.init(this.$props && Object.keys(this.$props));\n },\n methods: {\n $_applyConfigurationChanges: function () {\n var _this = this;\n this.$_config.componentsCountChanged.forEach(function (_a) {\n var optionPath = _a.optionPath, isCollection = _a.isCollection, removed = _a.removed;\n var options = _this.$_config.getNestedOptionValues();\n if (!isCollection && removed) {\n _this.$_instance.resetOption(optionPath);\n }\n else {\n _this.$_instance.option(optionPath, (0, helpers_1.getOptionValue)(options, optionPath));\n }\n });\n this.$_config.cleanComponentsCountChanged();\n },\n $_createWidget: function (element) {\n var thisComponent = this;\n thisComponent.$_pendingOptions = {};\n thisComponent.$_templatesManager = new templates_manager_1.TemplatesManager(this);\n var config = this.$_config;\n var options = __assign(__assign(__assign(__assign({}, this.$options.propsData), config.initialValues), config.getNestedOptionValues()), this.$_getIntegrationOptions());\n var instance = new this.$_WidgetClass(element, options);\n thisComponent.$_instance = instance;\n instance.on(\"optionChanged\", function (args) { return config.onOptionChanged(args); });\n (0, configuration_1.setEmitOptionChangedFunc)(config, this, this.$_innerChanges);\n (0, configuration_1.bindOptionWatchers)(config, this, this.$_innerChanges);\n this.$_createEmitters(instance);\n },\n $_getIntegrationOptions: function () {\n var _a, _b;\n var result = __assign({ integrationOptions: {\n watchMethod: this.$_getWatchMethod(),\n } }, this.$_getExtraIntegrationOptions());\n if (this.$_templatesManager.isDirty) {\n var templates = this.$_templatesManager.templates;\n result.integrationOptions.templates = templates;\n var props = (_b = (_a = this.$vnode) === null || _a === void 0 ? void 0 : _a.componentOptions) === null || _b === void 0 ? void 0 : _b.propsData;\n for (var _i = 0, _c = Object.keys(templates); _i < _c.length; _i++) {\n var name_3 = _c[_i];\n result[(0, helpers_1.getTemplatePropName)(props, name_3)] = name_3;\n }\n this.$_templatesManager.resetDirtyFlag();\n }\n return result;\n },\n $_getWatchMethod: function () {\n var _this = this;\n return function (valueGetter, valueChangeCallback, options) {\n options = options || {};\n if (!options.skipImmediate) {\n valueChangeCallback(valueGetter());\n }\n return _this.$watch(function () {\n return valueGetter();\n }, function (newValue, oldValue) {\n if ((0, helpers_1.toComparable)(oldValue) !== (0, helpers_1.toComparable)(newValue) || options.deep) {\n valueChangeCallback(newValue);\n }\n }, {\n deep: options.deep\n });\n };\n },\n $_getExtraIntegrationOptions: function () {\n return {};\n },\n $_processChildren: function (_children) {\n return;\n },\n $_createEmitters: function (instance) {\n var _this = this;\n Object.keys(this.$listeners).forEach(function (listenerName) {\n var eventName = (0, helpers_1.camelize)(listenerName);\n instance.on(eventName, function (e) {\n _this.$emit(listenerName, e);\n });\n });\n }\n }\n}); };\nexports.BaseComponent = BaseComponent;\nfunction cleanWidgetNode(node) {\n var removedNodes = [];\n (0, helpers_1.forEachChildNode)(node, function (childNode) {\n var parent = childNode.parentNode;\n var isExtension = childNode.hasAttribute && childNode.hasAttribute(\"isExtension\");\n if ((childNode.nodeName === \"#comment\" || isExtension) && parent) {\n removedNodes.push(childNode);\n parent.removeChild(childNode);\n }\n });\n return removedNodes;\n}\nfunction restoreNodes(el, nodes) {\n nodes.forEach(function (node) {\n el.appendChild(node);\n });\n}\nvar DxComponent = function () { return BaseComponent().extend({\n methods: {\n $_getExtraIntegrationOptions: function () {\n return {\n onInitializing: function () {\n this.beginUpdate();\n }\n };\n },\n $_processChildren: function (children) {\n children.forEach(function (childNode) {\n if (!childNode.componentOptions) {\n return;\n }\n childNode.componentOptions.$_hasOwner = true;\n });\n },\n },\n mounted: function () {\n var _this = this;\n var nodes = cleanWidgetNode(this.$el);\n this.$_createWidget(this.$el);\n this.$_instance.endUpdate();\n restoreNodes(this.$el, nodes);\n if (this.$slots && this.$slots.default) {\n this.$slots.default.forEach(function (child) {\n var childExtension = child.componentInstance;\n if (childExtension && childExtension.$_isExtension) {\n childExtension.attachTo(_this.$el);\n }\n });\n }\n }\n}); };\nexports.DxComponent = DxComponent;\n","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n","// Styles\nimport './VCard.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\nimport Routable from '../../mixins/routable'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Loadable,\n Routable,\n VSheet\n).extend({\n name: 'v-card',\n\n props: {\n flat: Boolean,\n hover: Boolean,\n img: String,\n link: Boolean,\n loaderHeight: {\n type: [Number, String],\n default: 4,\n },\n raised: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-card': true,\n ...Routable.options.computed.classes.call(this),\n 'v-card--flat': this.flat,\n 'v-card--hover': this.hover,\n 'v-card--link': this.isClickable,\n 'v-card--loading': this.loading,\n 'v-card--disabled': this.disabled,\n 'v-card--raised': this.raised,\n ...VSheet.options.computed.classes.call(this),\n }\n },\n styles (): object {\n const style: Dictionary<string> = {\n ...VSheet.options.computed.styles.call(this),\n }\n\n if (this.img) {\n style.background = `url(\"${this.img}\") center center / cover no-repeat`\n }\n\n return style\n },\n },\n\n methods: {\n genProgress () {\n const render = Loadable.options.methods.genProgress.call(this)\n\n if (!render) return null\n\n return this.$createElement('div', {\n staticClass: 'v-card__progress',\n key: 'progress',\n }, [render])\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.style = this.styles\n\n if (this.isClickable) {\n data.attrs = data.attrs || {}\n data.attrs.tabindex = 0\n }\n\n return h(tag, this.setBackgroundColor(this.color, data), [\n this.genProgress(),\n getSlot(this),\n ])\n },\n})\n","/**\r\n * DevExtreme (esm/core/utils/iterator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar map = (values, callback) => {\r\n if (Array.isArray(values)) {\r\n return values.map(callback)\r\n }\r\n var result = [];\r\n for (var key in values) {\r\n result.push(callback(values[key], key))\r\n }\r\n return result\r\n};\r\nvar each = (values, callback) => {\r\n if (!values) {\r\n return\r\n }\r\n if (\"length\" in values) {\r\n for (var i = 0; i < values.length; i++) {\r\n if (false === callback.call(values[i], i, values[i])) {\r\n break\r\n }\r\n }\r\n } else {\r\n for (var key in values) {\r\n if (false === callback.call(values[key], key, values[key])) {\r\n break\r\n }\r\n }\r\n }\r\n return values\r\n};\r\nvar reverseEach = (array, callback) => {\r\n if (!array || !(\"length\" in array) || 0 === array.length) {\r\n return\r\n }\r\n for (var i = array.length - 1; i >= 0; i--) {\r\n if (false === callback.call(array[i], i, array[i])) {\r\n break\r\n }\r\n }\r\n};\r\nexport {\r\n map,\r\n each,\r\n reverseEach\r\n};\r\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var lo = moment.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n monthsShort:\n 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar: {\n sameDay: '[ມື້ນີ້ເວລາ] LT',\n nextDay: '[ມື້ອື່ນເວລາ] LT',\n nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ອີກ %s',\n past: '%sຜ່ານມາ',\n s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss: '%d ວິນາທີ',\n m: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ',\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function (number) {\n return 'ທີ່' + number;\n },\n });\n\n return lo;\n\n})));\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.discover = exports.mountTemplate = void 0;\nvar vue_helper_1 = require(\"./vue-helper\");\nvar vue_1 = require(\"vue\");\nvar TEMPLATE_PROP = \"template\";\nfunction asConfigurable(component) {\n var componentOptions = component;\n if (!componentOptions) {\n return;\n }\n if (!componentOptions.$_config || !componentOptions.$_config.name) {\n return undefined;\n }\n return componentOptions;\n}\nfunction hasTemplate(component) {\n return TEMPLATE_PROP in component.type.props && (0, vue_helper_1.configurationTemplate)(component);\n}\nfunction discover(component) {\n var templates = {};\n var namedTeplates = (0, vue_helper_1.declaredTemplates)(component);\n for (var slotName in namedTeplates) {\n if (slotName === \"default\" && component.$slots.default) {\n continue;\n }\n var slot = namedTeplates[slotName];\n if (!slot) {\n continue;\n }\n templates[slotName] = slot;\n }\n var componentChildren = (0, vue_helper_1.getChildren)(component);\n for (var _i = 0, componentChildren_1 = componentChildren; _i < componentChildren_1.length; _i++) {\n var childComponent = componentChildren_1[_i];\n var configurable = asConfigurable(childComponent);\n if (!configurable) {\n continue;\n }\n var defaultSlot = (0, vue_helper_1.configurationDefaultTemplate)(childComponent);\n if (!defaultSlot || !hasTemplate(childComponent)) {\n continue;\n }\n var templateName = \"\".concat(configurable.$_config.fullPath, \".\").concat(TEMPLATE_PROP);\n templates[templateName] = defaultSlot;\n }\n return templates;\n}\nexports.discover = discover;\nfunction clearConfiguration(content) {\n var newContent = [];\n content.forEach(function (item) {\n var configurable = (0, vue_helper_1.getConfigurationOptions)(item);\n if (!configurable || !configurable.$_optionName) {\n newContent.push(item);\n }\n });\n return newContent;\n}\nfunction mountTemplate(getSlot, parent, data, name, placeholder) {\n return (0, vue_helper_1.mount)({\n name: name,\n inject: [\"eventBus\"],\n created: function () {\n this.eventBus.add(this.$_updatedHandler);\n },\n mounted: function () {\n data.onRendered();\n },\n unmounted: function () {\n this.eventBus.remove(this.$_updatedHandler);\n },\n methods: {\n $_updatedHandler: function () {\n this.$forceUpdate();\n }\n },\n render: function () {\n var content = clearConfiguration(getSlot()(data));\n if (!content) {\n return (0, vue_1.h)(\"div\");\n }\n return content.length > 1 ? content : content[0];\n }\n }, parent, placeholder);\n}\nexports.mountTemplate = mountTemplate;\n","/**\r\n * DevExtreme (esm/ui/widget/ui.errors.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"../../core/utils/error\";\r\nimport errors from \"../../core/errors\";\r\nexport default errorUtils(errors.ERROR_MESSAGES, {\r\n E1001: \"Module '{0}'. Controller '{1}' is already registered\",\r\n E1002: \"Module '{0}'. Controller '{1}' does not inherit from DevExpress.ui.dxDataGrid.Controller\",\r\n E1003: \"Module '{0}'. View '{1}' is already registered\",\r\n E1004: \"Module '{0}'. View '{1}' does not inherit from DevExpress.ui.dxDataGrid.View\",\r\n E1005: \"Public method '{0}' is already registered\",\r\n E1006: \"Public method '{0}.{1}' does not exist\",\r\n E1007: \"State storing cannot be provided due to the restrictions of the browser\",\r\n E1010: \"The template does not contain the TextBox widget\",\r\n E1011: 'Items cannot be deleted from the List. Implement the \"remove\" function in the data store',\r\n E1012: \"Editing type '{0}' with the name '{1}' is unsupported\",\r\n E1016: \"Unexpected type of data source is provided for a lookup column\",\r\n E1018: \"The 'collapseAll' method cannot be called if you use a remote data source\",\r\n E1019: \"Search mode '{0}' is unavailable\",\r\n E1020: \"The type cannot be changed after initialization\",\r\n E1021: \"{0} '{1}' you are trying to remove does not exist\",\r\n E1022: 'The \"markers\" option is given an invalid value. Assign an array instead',\r\n E1023: 'The \"routes\" option is given an invalid value. Assign an array instead',\r\n E1025: \"This layout is too complex to render\",\r\n E1026: 'The \"calculateCustomSummary\" function is missing from a field whose \"summaryType\" option is set to \"custom\"',\r\n E1031: \"Unknown subscription in the Scheduler widget: '{0}'\",\r\n E1032: \"Unknown start date in an appointment: '{0}'\",\r\n E1033: \"Unknown step in the date navigator: '{0}'\",\r\n E1034: \"The browser does not implement an API for saving files\",\r\n E1035: \"The editor cannot be created: {0}\",\r\n E1037: \"Invalid structure of grouped data\",\r\n E1038: \"The browser does not support local storages for local web pages\",\r\n E1039: \"A cell's position cannot be calculated\",\r\n E1040: \"The '{0}' key value is not unique within the data array\",\r\n E1041: \"The '{0}' script is referenced after the DevExtreme scripts or not referenced at all\",\r\n E1042: \"{0} requires the key field to be specified\",\r\n E1043: \"Changes cannot be processed due to the incorrectly set key\",\r\n E1044: \"The key field specified by the keyExpr option does not match the key field specified in the data store\",\r\n E1045: \"Editing requires the key field to be specified in the data store\",\r\n E1046: \"The '{0}' key field is not found in data objects\",\r\n E1047: 'The \"{0}\" field is not found in the fields array',\r\n E1048: 'The \"{0}\" operation is not found in the filterOperations array',\r\n E1049: \"Column '{0}': filtering is allowed but the 'dataField' or 'name' option is not specified\",\r\n E1050: \"The validationRules option does not apply to third-party editors defined in the editCellTemplate\",\r\n E1051: 'HtmlEditor\\'s valueType is \"{0}\", but the {0} converter was not imported.',\r\n E1052: '{0} should have the \"dataSource\" option specified',\r\n E1053: 'The \"buttons\" option accepts an array that contains only objects or string values',\r\n E1054: \"All text editor buttons must have names\",\r\n E1055: 'One or several text editor buttons have invalid or non-unique \"name\" values',\r\n E1056: 'The {0} widget does not support buttons of the \"{1}\" type',\r\n E1058: 'The \"startDayHour\" must be earlier than the \"endDayHour\"',\r\n E1059: \"The following column names are not unique: {0}\",\r\n E1060: \"All editable columns must have names\",\r\n W1001: 'The \"key\" option cannot be modified after initialization',\r\n W1002: \"An item with the key '{0}' does not exist\",\r\n W1003: \"A group with the key '{0}' in which you are trying to select items does not exist\",\r\n W1004: \"The item '{0}' you are trying to select in the group '{1}' does not exist\",\r\n W1005: \"Due to column data types being unspecified, data has been loaded twice in order to apply initial filter settings. To resolve this issue, specify data types for all grid columns.\",\r\n W1006: \"The map service returned the following error: '{0}'\",\r\n W1007: \"No item with key {0} was found in the data source, but this key was used as the parent key for item {1}\",\r\n W1008: \"Cannot scroll to the '{0}' date because it does not exist on the current view\",\r\n W1009: \"Searching works only if data is specified using the dataSource option\",\r\n W1010: \"The capability to select all items works with source data of plain structure only\",\r\n W1011: 'The \"keyExpr\" option is not applied when dataSource is not an array',\r\n W1012: \"The '{0}' key field is not found in data objects\",\r\n W1013: 'The \"message\" field in the dialog component was renamed to \"messageHtml\". Change your code correspondingly. In addition, if you used HTML code in the message, make sure that it is secure',\r\n W1014: \"The Floating Action Button exceeds the recommended speed dial action count. If you need to display more speed dial actions, increase the maxSpeedDialActionCount option value in the global config.\",\r\n W1015: 'The \"cellDuration\" should divide the range from the \"startDayHour\" to the \"endDayHour\" into even intervals',\r\n W1016: \"The '{0}' field in the HTML Editor toolbar item configuration was renamed to '{1}'. Please make a corresponding change in your code.\",\r\n W1017: \"The 'key' property is not specified for a lookup data source. Please specify it to prevent requests for the entire dataset when users filter data.\",\r\n W1018: \"Infinite scrolling may not work properly with multiple selection. To use these features together, set 'selection.deferred' to true or set 'selection.selectAllMode' to 'page'.\",\r\n W1019: \"Filter query string exceeds maximum length limit of {0} characters.\",\r\n W1020: \"hideEvent is ignored when the shading property is true\",\r\n W1021: \"The '{0}' is not rendered because none of the DOM elements match the value of the \\\"container\\\" property.\",\r\n W1022: \"{0} JSON parsing error: '{1}'\",\r\n W1023: \"Appointments require unique keys. Otherwise, the agenda view may not work correctly.\",\r\n W1024: \"The client-side export is enabled. Implement the 'onExporting' function.\",\r\n W1025: \"'scrolling.mode' is set to 'virtual' or 'infinite'. Specify the height of the component.\"\r\n});\r\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deAt;\n\n})));\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return de;\n\n})));\n","/**\r\n * DevExtreme (esm/data/array_store.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n rejectedPromise,\r\n trivialPromise\r\n} from \"./utils\";\r\nimport Query from \"./query\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport Store from \"./abstract_store\";\r\nimport {\r\n indexByKey,\r\n insert,\r\n applyBatch,\r\n update,\r\n remove\r\n} from \"./array_utils\";\r\nvar ArrayStore = Store.inherit({\r\n ctor: function(options) {\r\n if (Array.isArray(options)) {\r\n options = {\r\n data: options\r\n }\r\n } else {\r\n options = options || {}\r\n }\r\n this.callBase(options);\r\n var initialArray = options.data;\r\n if (initialArray && !Array.isArray(initialArray)) {\r\n throw errors.Error(\"E4006\")\r\n }\r\n this._array = initialArray || []\r\n },\r\n createQuery: function() {\r\n return Query(this._array, {\r\n errorHandler: this._errorHandler\r\n })\r\n },\r\n _byKeyImpl: function(key) {\r\n var index = indexByKey(this, this._array, key);\r\n if (-1 === index) {\r\n return rejectedPromise(errors.Error(\"E4009\"))\r\n }\r\n return trivialPromise(this._array[index])\r\n },\r\n _insertImpl: function(values) {\r\n return insert(this, this._array, values)\r\n },\r\n _pushImpl: function(changes) {\r\n applyBatch({\r\n keyInfo: this,\r\n data: this._array,\r\n changes: changes\r\n })\r\n },\r\n _updateImpl: function(key, values) {\r\n return update(this, this._array, key, values)\r\n },\r\n _removeImpl: function(key) {\r\n return remove(this, this._array, key)\r\n },\r\n clear: function() {\r\n this._eventsStrategy.fireEvent(\"modifying\");\r\n this._array = [];\r\n this._eventsStrategy.fireEvent(\"modified\")\r\n }\r\n}, \"array\");\r\nexport default ArrayStore;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.async.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport CollectionWidgetEdit from \"./ui.collection_widget.edit\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar AsyncCollectionWidget = CollectionWidgetEdit.inherit({\r\n _initMarkup() {\r\n this._deferredItems = [];\r\n this.callBase()\r\n },\r\n _renderItemContent(args) {\r\n var renderContentDeferred = new Deferred;\r\n var itemDeferred = new Deferred;\r\n this._deferredItems[args.index] = itemDeferred;\r\n var $itemContent = this.callBase.call(this, args);\r\n itemDeferred.done(() => {\r\n renderContentDeferred.resolve($itemContent)\r\n });\r\n return renderContentDeferred.promise()\r\n },\r\n _onItemTemplateRendered: function(itemTemplate, renderArgs) {\r\n return () => {\r\n this._deferredItems[renderArgs.index].resolve()\r\n }\r\n },\r\n _postProcessRenderItems: noop,\r\n _renderItemsAsync() {\r\n var d = new Deferred;\r\n when.apply(this, this._deferredItems).done(() => {\r\n this._postProcessRenderItems();\r\n d.resolve()\r\n });\r\n return d.promise()\r\n },\r\n _clean() {\r\n this.callBase();\r\n this._deferredItems = []\r\n }\r\n});\r\nexport default AsyncCollectionWidget;\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/ui.toolbar.base.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getOuterWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isMaterial,\r\n waitWebFont\r\n} from \"../themes\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport AsyncCollectionWidget from \"../collection/ui.collection_widget.async\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n TOOLBAR_CLASS\r\n} from \"./constants\";\r\nvar TOOLBAR_BEFORE_CLASS = \"dx-toolbar-before\";\r\nvar TOOLBAR_CENTER_CLASS = \"dx-toolbar-center\";\r\nvar TOOLBAR_AFTER_CLASS = \"dx-toolbar-after\";\r\nvar TOOLBAR_MINI_CLASS = \"dx-toolbar-mini\";\r\nvar TOOLBAR_ITEM_CLASS = \"dx-toolbar-item\";\r\nvar TOOLBAR_LABEL_CLASS = \"dx-toolbar-label\";\r\nvar TOOLBAR_BUTTON_CLASS = \"dx-toolbar-button\";\r\nvar TOOLBAR_ITEMS_CONTAINER_CLASS = \"dx-toolbar-items-container\";\r\nvar TOOLBAR_GROUP_CLASS = \"dx-toolbar-group\";\r\nvar TOOLBAR_COMPACT_CLASS = \"dx-toolbar-compact\";\r\nvar TEXT_BUTTON_MODE = \"text\";\r\nvar DEFAULT_BUTTON_TYPE = \"default\";\r\nvar DEFAULT_DROPDOWNBUTTON_STYLING_MODE = \"contained\";\r\nvar TOOLBAR_ITEM_DATA_KEY = \"dxToolbarItemDataKey\";\r\nvar ANIMATION_TIMEOUT = 15;\r\nclass ToolbarBase extends AsyncCollectionWidget {\r\n _getSynchronizableOptionsForCreateComponent() {\r\n return super._getSynchronizableOptionsForCreateComponent().filter(item => \"disabled\" !== item)\r\n }\r\n _initTemplates() {\r\n super._initTemplates();\r\n var template = new BindableTemplate(function($container, data, rawModel) {\r\n if (isPlainObject(data)) {\r\n var {\r\n text: text,\r\n html: html,\r\n widget: widget\r\n } = data;\r\n if (text) {\r\n $container.text(text).wrapInner(\"<div>\")\r\n }\r\n if (html) {\r\n $container.html(html)\r\n }\r\n if (\"dxDropDownButton\" === widget) {\r\n var _data$options;\r\n data.options = null !== (_data$options = data.options) && void 0 !== _data$options ? _data$options : {};\r\n if (!isDefined(data.options.stylingMode)) {\r\n data.options.stylingMode = this.option(\"useFlatButtons\") ? TEXT_BUTTON_MODE : DEFAULT_DROPDOWNBUTTON_STYLING_MODE\r\n }\r\n }\r\n if (\"dxButton\" === widget) {\r\n if (this.option(\"useFlatButtons\")) {\r\n var _data$options2, _data$options$styling;\r\n data.options = null !== (_data$options2 = data.options) && void 0 !== _data$options2 ? _data$options2 : {};\r\n data.options.stylingMode = null !== (_data$options$styling = data.options.stylingMode) && void 0 !== _data$options$styling ? _data$options$styling : TEXT_BUTTON_MODE\r\n }\r\n if (this.option(\"useDefaultButtons\")) {\r\n var _data$options3, _data$options$type;\r\n data.options = null !== (_data$options3 = data.options) && void 0 !== _data$options3 ? _data$options3 : {};\r\n data.options.type = null !== (_data$options$type = data.options.type) && void 0 !== _data$options$type ? _data$options$type : DEFAULT_BUTTON_TYPE\r\n }\r\n }\r\n } else {\r\n $container.text(String(data))\r\n }\r\n this._getTemplate(\"dx-polymorph-widget\").render({\r\n container: $container,\r\n model: rawModel,\r\n parent: this\r\n })\r\n }.bind(this), [\"text\", \"html\", \"widget\", \"options\"], this.option(\"integrationOptions.watchMethod\"));\r\n this._templateManager.addDefaultTemplates({\r\n item: template,\r\n menuItem: template\r\n })\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n renderAs: \"topToolbar\",\r\n grouped: false,\r\n useFlatButtons: false,\r\n useDefaultButtons: false\r\n })\r\n }\r\n _defaultOptionsRules() {\r\n return super._defaultOptionsRules().concat([{\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n useFlatButtons: true\r\n }\r\n }])\r\n }\r\n _itemContainer() {\r\n return this._$toolbarItemsContainer.find([\".\".concat(TOOLBAR_BEFORE_CLASS), \".\".concat(TOOLBAR_CENTER_CLASS), \".\".concat(TOOLBAR_AFTER_CLASS)].join(\",\"))\r\n }\r\n _itemClass() {\r\n return TOOLBAR_ITEM_CLASS\r\n }\r\n _itemDataKey() {\r\n return TOOLBAR_ITEM_DATA_KEY\r\n }\r\n _dimensionChanged() {\r\n if (this._disposed) {\r\n return\r\n }\r\n this._arrangeItems();\r\n this._applyCompactMode()\r\n }\r\n _initMarkup() {\r\n this._renderToolbar();\r\n this._renderSections();\r\n super._initMarkup()\r\n }\r\n _render() {\r\n super._render();\r\n this._renderItemsAsync();\r\n this._updateDimensionsInMaterial()\r\n }\r\n _postProcessRenderItems() {\r\n this._arrangeItems()\r\n }\r\n _renderToolbar() {\r\n this.$element().addClass(TOOLBAR_CLASS);\r\n this._$toolbarItemsContainer = $(\"<div>\").addClass(TOOLBAR_ITEMS_CONTAINER_CLASS).appendTo(this.$element());\r\n this.setAria(\"role\", \"toolbar\")\r\n }\r\n _renderSections() {\r\n var $container = this._$toolbarItemsContainer;\r\n each([\"before\", \"center\", \"after\"], (_, section) => {\r\n var sectionClass = \"dx-toolbar-\".concat(section);\r\n var $section = $container.find(\".\".concat(sectionClass));\r\n if (!$section.length) {\r\n this[\"_$\".concat(section, \"Section\")] = $(\"<div>\").addClass(sectionClass).appendTo($container)\r\n }\r\n })\r\n }\r\n _arrangeItems(elementWidth) {\r\n var _elementWidth;\r\n elementWidth = null !== (_elementWidth = elementWidth) && void 0 !== _elementWidth ? _elementWidth : getWidth(this.$element());\r\n this._$centerSection.css({\r\n margin: \"0 auto\",\r\n float: \"none\"\r\n });\r\n var beforeRect = getBoundingRect(this._$beforeSection.get(0));\r\n var afterRect = getBoundingRect(this._$afterSection.get(0));\r\n this._alignCenterSection(beforeRect, afterRect, elementWidth);\r\n var $label = this._$toolbarItemsContainer.find(\".\".concat(TOOLBAR_LABEL_CLASS)).eq(0);\r\n var $section = $label.parent();\r\n if (!$label.length) {\r\n return\r\n }\r\n var labelOffset = beforeRect.width ? beforeRect.width : $label.position().left;\r\n var widthBeforeSection = $section.hasClass(TOOLBAR_BEFORE_CLASS) ? 0 : labelOffset;\r\n var widthAfterSection = $section.hasClass(TOOLBAR_AFTER_CLASS) ? 0 : afterRect.width;\r\n var elemsAtSectionWidth = 0;\r\n $section.children().not(\".\".concat(TOOLBAR_LABEL_CLASS)).each((function() {\r\n elemsAtSectionWidth += getOuterWidth(this)\r\n }));\r\n var freeSpace = elementWidth - elemsAtSectionWidth;\r\n var sectionMaxWidth = Math.max(freeSpace - widthBeforeSection - widthAfterSection, 0);\r\n if ($section.hasClass(TOOLBAR_BEFORE_CLASS)) {\r\n this._alignSection(this._$beforeSection, sectionMaxWidth)\r\n } else {\r\n var labelPaddings = getOuterWidth($label) - getWidth($label);\r\n $label.css(\"maxWidth\", sectionMaxWidth - labelPaddings)\r\n }\r\n }\r\n _alignCenterSection(beforeRect, afterRect, elementWidth) {\r\n this._alignSection(this._$centerSection, elementWidth - beforeRect.width - afterRect.width);\r\n var isRTL = this.option(\"rtlEnabled\");\r\n var leftRect = isRTL ? afterRect : beforeRect;\r\n var rightRect = isRTL ? beforeRect : afterRect;\r\n var centerRect = getBoundingRect(this._$centerSection.get(0));\r\n if (leftRect.right > centerRect.left || centerRect.right > rightRect.left) {\r\n this._$centerSection.css({\r\n marginLeft: leftRect.width,\r\n marginRight: rightRect.width,\r\n float: leftRect.width > rightRect.width ? \"none\" : \"right\"\r\n })\r\n }\r\n }\r\n _alignSection($section, maxWidth) {\r\n var $labels = $section.find(\".\".concat(TOOLBAR_LABEL_CLASS));\r\n var labels = $labels.toArray();\r\n maxWidth -= this._getCurrentLabelsPaddings(labels);\r\n var currentWidth = this._getCurrentLabelsWidth(labels);\r\n var difference = Math.abs(currentWidth - maxWidth);\r\n if (maxWidth < currentWidth) {\r\n labels = labels.reverse();\r\n this._alignSectionLabels(labels, difference, false)\r\n } else {\r\n this._alignSectionLabels(labels, difference, true)\r\n }\r\n }\r\n _alignSectionLabels(labels, difference, expanding) {\r\n var getRealLabelWidth = function(label) {\r\n return getBoundingRect(label).width\r\n };\r\n for (var i = 0; i < labels.length; i++) {\r\n var $label = $(labels[i]);\r\n var currentLabelWidth = Math.ceil(getRealLabelWidth(labels[i]));\r\n var labelMaxWidth = void 0;\r\n if (expanding) {\r\n $label.css(\"maxWidth\", \"inherit\")\r\n }\r\n var possibleLabelWidth = Math.ceil(expanding ? getRealLabelWidth(labels[i]) : currentLabelWidth);\r\n if (possibleLabelWidth < difference) {\r\n labelMaxWidth = expanding ? possibleLabelWidth : 0;\r\n difference -= possibleLabelWidth\r\n } else {\r\n labelMaxWidth = expanding ? currentLabelWidth + difference : currentLabelWidth - difference;\r\n $label.css(\"maxWidth\", labelMaxWidth);\r\n break\r\n }\r\n $label.css(\"maxWidth\", labelMaxWidth)\r\n }\r\n }\r\n _applyCompactMode() {\r\n var $element = this.$element();\r\n $element.removeClass(TOOLBAR_COMPACT_CLASS);\r\n if (this.option(\"compactMode\") && this._getSummaryItemsWidth(this.itemElements(), true) > getWidth($element)) {\r\n $element.addClass(TOOLBAR_COMPACT_CLASS)\r\n }\r\n }\r\n _getCurrentLabelsWidth(labels) {\r\n var width = 0;\r\n labels.forEach((function(label, index) {\r\n width += getOuterWidth(label)\r\n }));\r\n return width\r\n }\r\n _getCurrentLabelsPaddings(labels) {\r\n var padding = 0;\r\n labels.forEach((function(label, index) {\r\n padding += getOuterWidth(label) - getWidth(label)\r\n }));\r\n return padding\r\n }\r\n _renderItem(index, item, itemContainer, $after) {\r\n var _item$location, _item$text;\r\n var location = null !== (_item$location = item.location) && void 0 !== _item$location ? _item$location : \"center\";\r\n var container = null !== itemContainer && void 0 !== itemContainer ? itemContainer : this[\"_$\".concat(location, \"Section\")];\r\n var itemHasText = !!(null !== (_item$text = item.text) && void 0 !== _item$text ? _item$text : item.html);\r\n var itemElement = super._renderItem(index, item, container, $after);\r\n itemElement.toggleClass(TOOLBAR_BUTTON_CLASS, !itemHasText).toggleClass(TOOLBAR_LABEL_CLASS, itemHasText).addClass(item.cssClass);\r\n return itemElement\r\n }\r\n _renderGroupedItems() {\r\n each(this.option(\"items\"), (groupIndex, group) => {\r\n var _group$location;\r\n var groupItems = group.items;\r\n var $container = $(\"<div>\").addClass(TOOLBAR_GROUP_CLASS);\r\n var location = null !== (_group$location = group.location) && void 0 !== _group$location ? _group$location : \"center\";\r\n if (!groupItems || !groupItems.length) {\r\n return\r\n }\r\n each(groupItems, (itemIndex, item) => {\r\n this._renderItem(itemIndex, item, $container, null)\r\n });\r\n this._$toolbarItemsContainer.find(\".dx-toolbar-\".concat(location)).append($container)\r\n })\r\n }\r\n _renderItems(items) {\r\n var grouped = this.option(\"grouped\") && items.length && items[0].items;\r\n grouped ? this._renderGroupedItems() : super._renderItems(items)\r\n }\r\n _getToolbarItems() {\r\n var _this$option;\r\n return null !== (_this$option = this.option(\"items\")) && void 0 !== _this$option ? _this$option : []\r\n }\r\n _renderContentImpl() {\r\n var items = this._getToolbarItems();\r\n this.$element().toggleClass(TOOLBAR_MINI_CLASS, 0 === items.length);\r\n if (this._renderedItemsCount) {\r\n this._renderItems(items.slice(this._renderedItemsCount))\r\n } else {\r\n this._renderItems(items)\r\n }\r\n this._applyCompactMode()\r\n }\r\n _renderEmptyMessage() {}\r\n _clean() {\r\n this._$toolbarItemsContainer.children().empty();\r\n this.$element().empty();\r\n delete this._$beforeSection;\r\n delete this._$centerSection;\r\n delete this._$afterSection\r\n }\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this._arrangeItems()\r\n }\r\n }\r\n _isVisible() {\r\n return getWidth(this.$element()) > 0 && getHeight(this.$element()) > 0\r\n }\r\n _getIndexByItem(item) {\r\n return this._getToolbarItems().indexOf(item)\r\n }\r\n _itemOptionChanged(item, property, value) {\r\n super._itemOptionChanged.apply(this, [item, property, value]);\r\n this._arrangeItems()\r\n }\r\n _optionChanged(_ref) {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n switch (name) {\r\n case \"width\":\r\n super._optionChanged.apply(this, arguments);\r\n this._dimensionChanged();\r\n break;\r\n case \"renderAs\":\r\n case \"useFlatButtons\":\r\n case \"useDefaultButtons\":\r\n this._invalidate();\r\n break;\r\n case \"compactMode\":\r\n this._applyCompactMode();\r\n break;\r\n case \"grouped\":\r\n break;\r\n default:\r\n super._optionChanged.apply(this, arguments)\r\n }\r\n }\r\n _dispose() {\r\n super._dispose();\r\n clearTimeout(this._waitParentAnimationTimeout)\r\n }\r\n _updateDimensionsInMaterial() {\r\n if (isMaterial()) {\r\n Promise.all([(() => new Promise(resolve => {\r\n var check = () => {\r\n var readyToResolve = true;\r\n this.$element().parents().each((_, parent) => {\r\n if (fx.isAnimating($(parent))) {\r\n readyToResolve = false;\r\n return false\r\n }\r\n });\r\n if (readyToResolve) {\r\n resolve()\r\n }\r\n return readyToResolve\r\n };\r\n var runCheck = () => {\r\n clearTimeout(this._waitParentAnimationTimeout);\r\n this._waitParentAnimationTimeout = setTimeout(() => check() || runCheck(), ANIMATION_TIMEOUT)\r\n };\r\n runCheck()\r\n }))(), (() => {\r\n var $labels = this.$element().find(\".\".concat(TOOLBAR_LABEL_CLASS));\r\n var promises = [];\r\n $labels.each((_, label) => {\r\n var text = $(label).text();\r\n var fontWeight = $(label).css(\"fontWeight\");\r\n promises.push(waitWebFont(text, fontWeight))\r\n });\r\n return Promise.all(promises)\r\n })()]).then(() => {\r\n this._dimensionChanged()\r\n })\r\n }\r\n }\r\n}\r\nregisterComponent(\"dxToolbarBase\", ToolbarBase);\r\nexport default ToolbarBase;\r\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n monthsShort:\n 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var jv = moment.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return jv;\n\n})));\n","var frequency;\n\nfrequency = {\n mHz: {\n name: {\n singular: 'millihertz'\n , plural: 'millihertz'\n }\n , to_anchor: 1/1000\n }\n, Hz: {\n name: {\n singular: 'hertz'\n , plural: 'hertz'\n }\n , to_anchor: 1\n }\n, kHz: {\n name: {\n singular: 'kilohertz'\n , plural: 'kilohertz'\n }\n , to_anchor: 1000\n }\n, MHz: {\n name: {\n singular: 'megahertz'\n , plural: 'megahertz'\n }\n , to_anchor: 1000 * 1000\n }\n, GHz: {\n name: {\n singular: 'gigahertz'\n , plural: 'gigahertz'\n }\n , to_anchor: 1000 * 1000 * 1000\n }\n, THz: {\n name: {\n singular: 'terahertz'\n , plural: 'terahertz'\n }\n , to_anchor: 1000 * 1000 * 1000 * 1000\n }\n, rpm: {\n name: {\n singular: 'rotation per minute'\n , plural: 'rotations per minute'\n }\n , to_anchor: 1/60\n }\n, \"deg/s\": {\n name: {\n singular: 'degree per second'\n , plural: 'degrees per second'\n }\n , to_anchor: 1/360\n }\n, \"rad/s\": {\n name: {\n singular: 'radian per second'\n , plural: 'radians per second'\n }\n , to_anchor: 1/(Math.PI * 2)\n }\n};\n\n\nmodule.exports = {\n metric: frequency\n, _anchors: {\n frequency: {\n unit: 'hz'\n , ratio: 1\n }\n }\n};\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esMx = moment.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return esMx;\n\n})));\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { getSlot, keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-switch',\n\n directives: { Touch },\n\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n flat: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset,\n }\n },\n attrs (): object {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.isDisabled),\n role: 'switch',\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n switchData (): VNodeData {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses,\n })\n },\n },\n\n methods: {\n genDefaultSlot (): (VNode | null)[] {\n return [\n this.genSwitch(),\n this.genLabel(),\n ]\n },\n genSwitch (): VNode {\n const { title, ...switchAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs,\n ...switchAttrs,\n }),\n this.genRipple(this.setTextColor(this.validationState, {\n directives: [{\n name: 'touch',\n value: {\n left: this.onSwipeLeft,\n right: this.onSwipeRight,\n },\n }],\n })),\n this.$createElement('div', {\n staticClass: 'v-input--switch__track',\n ...this.switchData,\n }),\n this.$createElement('div', {\n staticClass: 'v-input--switch__thumb',\n ...this.switchData,\n }, [this.genProgress()]),\n ])\n },\n genProgress (): VNode {\n return this.$createElement(VFabTransition, {}, [\n this.loading === false\n ? null\n : getSlot(this, 'progress') || this.$createElement(VProgressCircular, {\n props: {\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n size: 16,\n width: 2,\n indeterminate: true,\n },\n }),\n ])\n },\n onSwipeLeft () {\n if (this.isActive) this.onChange()\n },\n onSwipeRight () {\n if (!this.isActive) this.onChange()\n },\n onKeydown (e: KeyboardEvent) {\n if (\n (e.keyCode === keyCodes.left && this.isActive) ||\n (e.keyCode === keyCodes.right && !this.isActive)\n ) this.onChange()\n },\n },\n})\n","var reactivePower;\n\nreactivePower = {\n VAR: {\n name: {\n singular: 'Volt-Ampere Reactive'\n , plural: 'Volt-Amperes Reactive'\n }\n , to_anchor: 1\n }\n, mVAR: {\n name: {\n singular: 'Millivolt-Ampere Reactive'\n , plural: 'Millivolt-Amperes Reactive'\n }\n , to_anchor: .001\n }\n, kVAR: {\n name: {\n singular: 'Kilovolt-Ampere Reactive'\n , plural: 'Kilovolt-Amperes Reactive'\n }\n , to_anchor: 1000\n }\n, MVAR: {\n name: {\n singular: 'Megavolt-Ampere Reactive'\n , plural: 'Megavolt-Amperes Reactive'\n }\n , to_anchor: 1000000\n }\n, GVAR: {\n name: {\n singular: 'Gigavolt-Ampere Reactive'\n , plural: 'Gigavolt-Amperes Reactive'\n }\n , to_anchor: 1000000000\n }\n};\n\nmodule.exports = {\n metric: reactivePower\n, _anchors: {\n metric: {\n unit: 'VAR'\n , ratio: 1\n }\n }\n};\n","/**\r\n * DevExtreme (esm/core/utils/data.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../errors\";\r\nimport Class from \"../class\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"./object\";\r\nimport {\r\n isObject,\r\n isPlainObject,\r\n isFunction,\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport variableWrapper from \"./variable_wrapper\";\r\nvar unwrapVariable = variableWrapper.unwrap;\r\nvar isWrapped = variableWrapper.isWrapped;\r\nvar assign = variableWrapper.assign;\r\nvar bracketsToDots = function(expr) {\r\n return expr.replace(/\\[/g, \".\").replace(/\\]/g, \"\")\r\n};\r\nexport var getPathParts = function(name) {\r\n return bracketsToDots(name).split(\".\")\r\n};\r\nvar readPropValue = function(obj, propName, options) {\r\n options = options || {};\r\n if (\"this\" === propName) {\r\n return unwrap(obj, options)\r\n }\r\n return unwrap(obj[propName], options)\r\n};\r\nvar assignPropValue = function(obj, propName, value, options) {\r\n if (\"this\" === propName) {\r\n throw new errors.Error(\"E4016\")\r\n }\r\n var propValue = obj[propName];\r\n if (options.unwrapObservables && isWrapped(propValue)) {\r\n assign(propValue, value)\r\n } else {\r\n obj[propName] = value\r\n }\r\n};\r\nvar prepareOptions = function(options) {\r\n options = options || {};\r\n options.unwrapObservables = void 0 !== options.unwrapObservables ? options.unwrapObservables : true;\r\n return options\r\n};\r\n\r\nfunction unwrap(value, options) {\r\n return options.unwrapObservables ? unwrapVariable(value) : value\r\n}\r\nexport var compileGetter = function(expr) {\r\n if (arguments.length > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n if (!expr || \"this\" === expr) {\r\n return function(obj) {\r\n return obj\r\n }\r\n }\r\n if (\"string\" === typeof expr) {\r\n var path = getPathParts(expr);\r\n return function(obj, options) {\r\n options = prepareOptions(options);\r\n var functionAsIs = options.functionsAsIs;\r\n var hasDefaultValue = \"defaultValue\" in options;\r\n var current = unwrap(obj, options);\r\n for (var i = 0; i < path.length; i++) {\r\n if (!current) {\r\n if (null == current && hasDefaultValue) {\r\n return options.defaultValue\r\n }\r\n break\r\n }\r\n var pathPart = path[i];\r\n if (hasDefaultValue && isObject(current) && !(pathPart in current)) {\r\n return options.defaultValue\r\n }\r\n var next = unwrap(current[pathPart], options);\r\n if (!functionAsIs && isFunction(next)) {\r\n next = next.call(current)\r\n }\r\n current = next\r\n }\r\n return current\r\n }\r\n }\r\n if (Array.isArray(expr)) {\r\n return combineGetters(expr)\r\n }\r\n if (isFunction(expr)) {\r\n return expr\r\n }\r\n};\r\n\r\nfunction combineGetters(getters) {\r\n var compiledGetters = {};\r\n for (var i = 0, l = getters.length; i < l; i++) {\r\n var getter = getters[i];\r\n compiledGetters[getter] = compileGetter(getter)\r\n }\r\n return function(obj, options) {\r\n var result;\r\n each(compiledGetters, (function(name) {\r\n var value = this(obj, options);\r\n if (void 0 === value) {\r\n return\r\n }\r\n var current = result || (result = {});\r\n var path = name.split(\".\");\r\n var last = path.length - 1;\r\n for (var _i = 0; _i < last; _i++) {\r\n var pathItem = path[_i];\r\n if (!(pathItem in current)) {\r\n current[pathItem] = {}\r\n }\r\n current = current[pathItem]\r\n }\r\n current[path[last]] = value\r\n }));\r\n return result\r\n }\r\n}\r\nvar ensurePropValueDefined = function(obj, propName, value, options) {\r\n if (isDefined(value)) {\r\n return value\r\n }\r\n var newValue = {};\r\n assignPropValue(obj, propName, newValue, options);\r\n return newValue\r\n};\r\nexport var compileSetter = function(expr) {\r\n expr = getPathParts(expr || \"this\");\r\n var lastLevelIndex = expr.length - 1;\r\n return function(obj, value, options) {\r\n options = prepareOptions(options);\r\n var currentValue = unwrap(obj, options);\r\n expr.forEach((function(propertyName, levelIndex) {\r\n var propertyValue = readPropValue(currentValue, propertyName, options);\r\n var isPropertyFunc = !options.functionsAsIs && isFunction(propertyValue) && !isWrapped(propertyValue);\r\n if (levelIndex === lastLevelIndex) {\r\n if (options.merge && isPlainObject(value) && (!isDefined(propertyValue) || isPlainObject(propertyValue))) {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n deepExtendArraySafe(propertyValue, value, false, true)\r\n } else if (isPropertyFunc) {\r\n currentValue[propertyName](value)\r\n } else {\r\n assignPropValue(currentValue, propertyName, value, options)\r\n }\r\n } else {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n if (isPropertyFunc) {\r\n propertyValue = propertyValue.call(currentValue)\r\n }\r\n currentValue = propertyValue\r\n }\r\n }))\r\n }\r\n};\r\nexport var toComparable = function(value, caseSensitive) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n if (value instanceof Date) {\r\n return value.getTime()\r\n }\r\n if (value && value instanceof Class && value.valueOf) {\r\n return value.valueOf()\r\n }\r\n if (!caseSensitive && \"string\" === typeof value) {\r\n var _options$collatorOpti;\r\n if (\"base\" === (null === options || void 0 === options ? void 0 : null === (_options$collatorOpti = options.collatorOptions) || void 0 === _options$collatorOpti ? void 0 : _options$collatorOpti.sensitivity)) {\r\n var REMOVE_DIACRITICAL_MARKS_REGEXP = /[\\u0300-\\u036f]/g;\r\n value = value.normalize(\"NFD\").replace(REMOVE_DIACRITICAL_MARKS_REGEXP, \"\")\r\n }\r\n return null !== options && void 0 !== options && options.locale ? value.toLocaleLowerCase(options.locale) : value.toLowerCase()\r\n }\r\n return value\r\n};\r\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enSg = moment.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enSg;\n\n})));\n","import VDivider from './VDivider'\n\nexport { VDivider }\nexport default VDivider\n","import Vue from 'vue'\n\nimport mixins from '../../util/mixins'\nimport { VOverlay } from '../../components/VOverlay'\n\ninterface options {\n $el: HTMLElement\n $refs: {\n content?: HTMLElement\n }\n overlay?: InstanceType<typeof VOverlay>\n}\n\ninterface DependentInstance extends Vue {\n isActive?: boolean\n isDependent?: boolean\n}\n\nfunction searchChildren (children: Vue[]): DependentInstance[] {\n const results = []\n for (let index = 0; index < children.length; index++) {\n const child = children[index] as DependentInstance\n if (child.isActive && child.isDependent) {\n results.push(child)\n } else {\n results.push(...searchChildren(child.$children))\n }\n }\n\n return results\n}\n\n/* @vue/component */\nexport default mixins<Vue & options>().extend({\n name: 'dependent',\n\n data () {\n return {\n closeDependents: true,\n isActive: false,\n isDependent: true,\n }\n },\n\n watch: {\n isActive (val) {\n if (val) return\n\n const openDependents = this.getOpenDependents()\n for (let index = 0; index < openDependents.length; index++) {\n openDependents[index].isActive = false\n }\n },\n },\n\n methods: {\n getOpenDependents (): any[] {\n if (this.closeDependents) return searchChildren(this.$children)\n\n return []\n },\n getOpenDependentElements (): HTMLElement[] {\n const result = []\n const openDependents = this.getOpenDependents()\n\n for (let index = 0; index < openDependents.length; index++) {\n result.push(...openDependents[index].getClickableDependentElements())\n }\n\n return result\n },\n getClickableDependentElements (): HTMLElement[] {\n const result = [this.$el]\n if (this.$refs.content) result.push(this.$refs.content)\n if (this.overlay) result.push(this.overlay.$el as HTMLElement)\n result.push(...this.getOpenDependentElements())\n\n return result\n },\n },\n})\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nn = moment.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nn;\n\n})));\n","/**\r\n * DevExtreme (esm/events/core/event_registrator_callbacks.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport MemorizedCallbacks from \"../../core/memorized_callbacks\";\r\nexport default new MemorizedCallbacks;\r\n","/**\r\n * DevExtreme (esm/ui/collection/item.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n attachInstanceToElement,\r\n getInstanceByElement\r\n} from \"../../core/utils/public_component\";\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar ITEM_CONTENT_PLACEHOLDER_CLASS = \"dx-item-content-placeholder\";\r\nvar forcibleWatcher = function(watchMethod, fn, callback) {\r\n var filteredCallback = function(value) {\r\n if (oldValue !== value) {\r\n callback(value, oldValue);\r\n oldValue = value\r\n }\r\n };\r\n var oldValue;\r\n return {\r\n dispose: watchMethod(fn, filteredCallback),\r\n force: function() {\r\n filteredCallback(fn())\r\n }\r\n }\r\n};\r\nvar CollectionItem = Class.inherit({\r\n ctor: function($element, options, rawData) {\r\n this._$element = $element;\r\n this._options = options;\r\n this._rawData = rawData;\r\n attachInstanceToElement($element, this, this._dispose);\r\n this._render()\r\n },\r\n _render: function() {\r\n var $placeholder = $(\"<div>\").addClass(ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n this._$element.append($placeholder);\r\n this._watchers = [];\r\n this._renderWatchers()\r\n },\r\n _renderWatchers: function() {\r\n this._startWatcher(\"disabled\", this._renderDisabled.bind(this));\r\n this._startWatcher(\"visible\", this._renderVisible.bind(this))\r\n },\r\n _startWatcher: function(field, render) {\r\n var rawData = this._rawData;\r\n var exprGetter = this._options.fieldGetter(field);\r\n var watcher = forcibleWatcher(this._options.watchMethod(), (function() {\r\n return exprGetter(rawData)\r\n }), function(value, oldValue) {\r\n this._dirty = true;\r\n render(value, oldValue)\r\n }.bind(this));\r\n this._watchers.push(watcher)\r\n },\r\n setDataField: function() {\r\n this._dirty = false;\r\n each(this._watchers, (function(_, watcher) {\r\n watcher.force()\r\n }));\r\n if (this._dirty) {\r\n return true\r\n }\r\n },\r\n _renderDisabled: function(value, oldValue) {\r\n this._$element.toggleClass(DISABLED_STATE_CLASS, !!value);\r\n this._$element.attr(\"aria-disabled\", !!value);\r\n this._updateOwnerFocus(value)\r\n },\r\n _updateOwnerFocus: function(isDisabled) {\r\n var ownerComponent = this._options.owner;\r\n if (ownerComponent && isDisabled) {\r\n ownerComponent._resetItemFocus(this._$element)\r\n }\r\n },\r\n _renderVisible: function(value, oldValue) {\r\n this._$element.toggleClass(INVISIBLE_STATE_CLASS, void 0 !== value && !value)\r\n },\r\n _dispose: function() {\r\n each(this._watchers, (function(_, watcher) {\r\n watcher.dispose()\r\n }))\r\n }\r\n});\r\nCollectionItem.getInstance = function($element) {\r\n return getInstanceByElement($element, this)\r\n};\r\nexport default CollectionItem;\r\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\n\n/**\n * A no-operation function.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @example\n *\n * var object = { 'name': 'fred' };\n * _.noop(object) === undefined;\n * // => true\n */\nfunction noop() {\n // no operation performed\n}\n\nmodule.exports = noop;\n","// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { getPropertyFromItem } from '../../util/helpers'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType<any>,\n selectedItems: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n attrs: {\n role: undefined,\n },\n on: {\n mousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n },\n }\n\n return this.$createElement(VListItem, tile, [\n this.genTileContent(this.noDataText),\n ])\n },\n },\n\n methods: {\n genAction (item: object, inputValue: any): VNode {\n return this.$createElement(VListItemAction, [\n this.$createElement(VSimpleCheckbox, {\n props: {\n color: this.color,\n value: inputValue,\n ripple: false,\n },\n on: {\n input: () => this.$emit('select', item),\n },\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return this.$createElement(VDivider, { props })\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return text\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return [start, this.genHighlight(middle), end]\n },\n genHeader (props: { [key: string]: any }): VNode {\n return this.$createElement(VSubheader, { props }, props.header)\n },\n genHighlight (text: string) {\n return this.$createElement('span', { staticClass: 'v-list-item__mask' }, text)\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: text, middle: '', end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile ({\n item,\n index,\n disabled = null,\n value = false,\n }: ListTile): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n attrs: {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n id: `list-item-${this._uid}-${index}`,\n role: 'option',\n },\n on: {\n mousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n click: () => disabled || this.$emit('select', item),\n },\n props: {\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n inputValue: value,\n },\n }\n\n if (!this.$scopedSlots.item) {\n return this.$createElement(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item, index),\n ])\n }\n\n const parent = this\n const scopedSlot = this.$scopedSlots.item({\n parent,\n item,\n attrs: {\n ...tile.attrs,\n ...tile.props,\n },\n on: tile.on,\n })\n\n return this.needsTile(scopedSlot)\n ? this.$createElement(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any, index = 0): VNode {\n return this.$createElement(VListItemContent, [\n this.$createElement(VListItemTitle, [\n this.genFilteredText(this.getText(item)),\n ]),\n ])\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot: VNode[] | undefined) {\n return slot!.length !== 1 ||\n slot![0].componentOptions == null ||\n slot![0].componentOptions.Ctor.options.name !== 'v-list-item'\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = []\n const itemsLength = this.items.length\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index]\n\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile({ item, index }))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile({ item, index }))\n }\n\n children.length || children.push(this.$slots['no-data'] || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item'])\n\n this.$slots['append-item'] && children.push(this.$slots['append-item'])\n\n return this.$createElement(VList, {\n staticClass: 'v-select-list',\n class: this.themeClasses,\n attrs: {\n role: 'listbox',\n tabindex: -1,\n },\n on: {\n mousedown: (e: Event) => {\n e.preventDefault()\n },\n },\n props: { dense: this.dense },\n }, children)\n },\n})\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'filterable',\n\n props: {\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n },\n})\n","// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Dependent from '../../mixins/dependent'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeDirective, PropType, VNodeData } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Dependent,\n Filterable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n menu: InstanceType<typeof VMenu>\n content: HTMLElement\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n 'append-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-select',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown',\n },\n attach: {\n type: null as unknown as PropType<string | boolean | Element | VNode>,\n default: false,\n },\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n disableLookup: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemColor: {\n type: String,\n default: 'primary',\n },\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps,\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean,\n },\n\n data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n menuIsBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\n }\n },\n\n computed: {\n /* All items that the select has */\n allItems (): object[] {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple,\n }\n },\n /* Used by other components to overwrite */\n computedItems (): object[] {\n return this.allItems\n },\n computedOwns (): string {\n return `list-${this._uid}`\n },\n computedCounterValue (): number {\n const value = this.multiple\n ? this.selectedItems\n : (this.getText(this.selectedItems[0]) ?? '').toString()\n\n if (typeof this.counterValue === 'function') {\n return this.counterValue(value)\n }\n\n return value.length\n },\n directives (): VNodeDirective[] | undefined {\n return this.isFocused ? [{\n name: 'click-outside',\n value: {\n handler: this.blur,\n closeConditional: this.closeConditional,\n include: () => this.getOpenDependentElements(),\n },\n }] : undefined\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n hasSlot (): boolean {\n return Boolean(this.hasChips || this.$scopedSlots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n const scopeId = this.$vnode && (this.$vnode.context!.$options as { [key: string]: any })._scopeId\n const attrs = scopeId ? {\n [scopeId]: true,\n } : {}\n\n return {\n attrs: {\n ...attrs,\n id: this.computedOwns,\n },\n props: {\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems,\n },\n on: {\n select: this.selectItem,\n },\n scopedSlots: {\n item: this.$scopedSlots.item,\n },\n }\n },\n staticList (): VNode {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return this.$createElement(VSelectList, this.listData)\n },\n virtualizedItems (): object[] {\n return (this.$_menuProps as any).auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow: () => true,\n $_menuProps (): object {\n let normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n eager: this.eager,\n value: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps,\n }\n },\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n\n if (this.multiple) {\n this.$nextTick(() => {\n this.$refs.menu?.updateDimensions()\n })\n }\n if (this.hideSelected) {\n this.$nextTick(() => {\n this.onScroll()\n })\n }\n },\n isMenuActive (val) {\n window.setTimeout(() => this.onMenuActiveChange(val))\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n })\n }\n\n this.setSelectedItems()\n },\n },\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.options.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n this.setMenuIndex(-1)\n },\n /** @public */\n activateMenu () {\n if (\n !this.isInteractive ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : null)\n this.setMenuIndex(-1)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n if (!this.isMenuActive) return true\n\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n // Multiple selects don't close when an item is clicked\n (!this.getContent() ||\n !this.getContent().contains(e.target as Node)) &&\n\n // Click originates from outside the element\n this.$el &&\n !this.$el.contains(e.target as Node) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr: any[]) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n\n // Do not return null values if existant (#14421)\n if (item == null) {\n continue\n }\n // Do not deduplicate headers or dividers (#12517)\n if (item.header || item.divider) {\n uniqueValues.set(item, item)\n continue\n }\n\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item: object) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex((i: object) => this.valueComparator(this.getValue(i), itemValue))\n },\n getContent () {\n return this.$refs.menu && this.$refs.menu.$refs.content\n },\n genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n const isInteractive = !isDisabled && this.isInteractive\n\n return this.$createElement(VChip, {\n staticClass: 'v-chip--select',\n attrs: { tabindex: -1 },\n props: {\n close: this.deletableChips && isInteractive,\n disabled: isDisabled,\n inputValue: index === this.selectedIndex,\n small: this.smallChips,\n },\n on: {\n click: (e: MouseEvent) => {\n if (!isInteractive) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n 'click:close': () => this.onChipInput(item),\n },\n key: JSON.stringify(this.getValue(item)),\n }, this.getText(item))\n },\n genCommaSelection (item: object, index: number, last: boolean) {\n const color = index === this.selectedIndex && this.computedColor\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-select__selection v-select__selection--comma',\n class: {\n 'v-select__selection--disabled': isDisabled,\n },\n key: JSON.stringify(this.getValue(item)),\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot (): (VNode | VNode[] | null)[] {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.genFieldset(),\n this.$createElement('div', {\n staticClass: 'v-select__slot',\n directives: this.directives,\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot(),\n this.genHiddenInput(),\n ]),\n this.genMenu(),\n this.genProgress(),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData?: VNodeData\n ) {\n const icon = VInput.options.methods.genIcon.call(this, type, cb, extraData)\n\n if (type === 'append') {\n // Don't allow the dropdown icon to be focused\n icon.children![0].data = mergeData(icon.children![0].data!, {\n attrs: {\n tabindex: icon.children![0].componentOptions!.listeners && '-1',\n 'aria-hidden': 'true',\n 'aria-label': undefined,\n },\n })\n }\n\n return icon\n },\n genInput (): VNode {\n const input = VTextField.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n\n input.data = mergeData(input.data!, {\n domProps: { value: null },\n attrs: {\n readonly: true,\n type: 'text',\n 'aria-readonly': String(this.isReadonly),\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n placeholder: (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) ? this.placeholder : undefined,\n },\n on: { keypress: this.onKeyPress },\n })\n\n return input\n },\n genHiddenInput (): VNode {\n return this.$createElement('input', {\n domProps: { value: this.lazyValue },\n attrs: {\n type: 'hidden',\n name: this.attrs$.name,\n },\n })\n },\n genInputSlot (): VNode {\n const render = VTextField.options.methods.genInputSlot.call(this)\n\n render.data!.attrs = {\n ...render.data!.attrs,\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\n }\n\n return render\n },\n genList (): VNode {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot (): VNode {\n const slots = ['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => this.$createElement('template', {\n slot: slotName,\n }, this.$slots[slotName]))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return this.$createElement(VSelectList, {\n ...this.listData,\n }, slots)\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n if ('attach' in props) void 0\n else if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n // Attach to root el so that\n // menu covers prepend/append icons\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return this.$createElement(VMenu, {\n attrs: { role: undefined },\n props,\n on: {\n input: (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n scroll: this.onScroll,\n },\n ref: 'menu',\n }, [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n const children = new Array(length)\n\n let genSelection\n if (this.$scopedSlots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return this.$createElement('div', {\n staticClass: 'v-select__selections',\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$scopedSlots.selection!({\n attrs: {\n class: 'v-chip--select',\n },\n parent: this,\n item,\n index,\n select: (e: Event) => {\n e.stopPropagation()\n this.selectedIndex = index\n },\n selected: index === this.selectedIndex,\n disabled: !this.isInteractive,\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n },\n getDisabled (item: object) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item: object) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e?: Event) {\n e && this.$emit('blur', e)\n },\n onChipInput (item: object) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n if (!this.isAppendInner(e.target)) {\n this.isMenuActive = true\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n\n this.$emit('click', e)\n },\n onEscDown (e: Event) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e: KeyboardEvent) {\n if (\n this.multiple ||\n !this.isInteractive ||\n this.disableLookup ||\n e.key.length > 1 ||\n e.ctrlKey || e.metaKey || e.altKey\n ) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) ?? '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.lastItem = Math.max(this.lastItem, index + 5)\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.isReadonly && e.keyCode !== keyCodes.tab) return\n\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n this.$emit('keydown', e)\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end, keyCodes.enter].includes(keyCode)) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space,\n ].includes(keyCode)) this.activateMenu()\n\n // If menu is not active, up/down/home/end can do\n // one of 2 things. If multiple, opens the\n // menu, if not, will cycle through all\n // available options\n if (\n !this.isMenuActive &&\n [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end].includes(keyCode)\n ) return this.onUpDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n\n // If space preventDefault\n if (keyCode === keyCodes.space) return this.onSpaceDown(e)\n },\n onMenuActiveChange (val: boolean) {\n // If menu is closing and mulitple\n // or menuIndex is already set\n // skip menu index recalculation\n if (\n (this.multiple && !val) ||\n this.getMenuIndex() > -1\n ) return\n\n const menu = this.$refs.menu\n\n if (!menu || !this.isDirty) return\n\n // When menu opens, set index of first active item\n this.$refs.menu.getTiles()\n for (let i = 0; i < menu.tiles.length; i++) {\n if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n this.setMenuIndex(i)\n break\n }\n }\n },\n onMouseUp (e: MouseEvent) {\n // eslint-disable-next-line sonarjs/no-collapsible-if\n if (\n this.hasMouseDown &&\n e.which !== 3 &&\n this.isInteractive\n ) {\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isAppendInner(e.target)) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n }\n }\n\n VTextField.options.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => {\n const content = this.getContent()\n if (content) content.scrollTop = 0\n })\n } else {\n if (this.lastItem > this.computedItems.length) return\n\n const showMoreItems = (\n this.getContent().scrollHeight -\n (this.getContent().scrollTop +\n this.getContent().clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onSpaceDown (e: KeyboardEvent) {\n e.preventDefault()\n },\n onTabDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n const activeTile = menu.activeTile\n\n // An item that is selected by\n // menu-index should toggled\n if (\n !this.multiple &&\n activeTile &&\n this.isMenuActive\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n activeTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n onUpDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n e.preventDefault()\n\n // Multiple selects do not cycle their value\n // when pressing up or down, instead activate\n // the menu\n if (this.multiple) return this.activateMenu()\n\n const keyCode = e.keyCode\n\n // Cycle through available values to achieve\n // select native behavior\n menu.isBooted = true\n\n window.requestAnimationFrame(() => {\n menu.getTiles()\n\n if (!menu.hasClickableTiles) return this.activateMenu()\n\n switch (keyCode) {\n case keyCodes.up:\n menu.prevTile()\n break\n case keyCodes.down:\n menu.nextTile()\n break\n case keyCodes.home:\n menu.firstTile()\n break\n case keyCodes.end:\n menu.lastTile()\n break\n }\n this.selectItem(this.allItems[this.getMenuIndex()])\n })\n },\n selectItem (item: object) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map((i: object) => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) {\n this.setMenuIndex(-1)\n } else {\n const index = this.computedItems.indexOf(item)\n if (~index) {\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n }\n }\n },\n setMenuIndex (index: number) {\n this.$refs.menu && ((this.$refs.menu as { [key: string]: any }).listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value: any) {\n if (!this.valueComparator(value, this.internalValue)) {\n this.internalValue = value\n this.$emit('change', value)\n }\n },\n isAppendInner (target: any) {\n // return true if append inner is present\n // and the target is itself or inside\n const appendInner = this.$refs['append-inner']\n\n return appendInner && (appendInner === target || appendInner.contains(target))\n },\n },\n})\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n h: 'stundas_stundām_stunda_stundas'.split('_'),\n hh: 'stundas_stundām_stunda_stundas'.split('_'),\n d: 'dienas_dienām_diena_dienas'.split('_'),\n dd: 'dienas_dienām_diena_dienas'.split('_'),\n M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n y: 'gada_gadiem_gads_gadi'.split('_'),\n yy: 'gada_gadiem_gads_gadi'.split('_'),\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays:\n 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n '_'\n ),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lv;\n\n})));\n","'use strict';\nvar fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = new Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","/**\r\n * DevExtreme (esm/core/utils/extend.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isPlainObject\r\n} from \"./type\";\r\nexport var extendFromObject = function(target, source, overrideExistingValues) {\r\n target = target || {};\r\n for (var prop in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, prop)) {\r\n var value = source[prop];\r\n if (!(prop in target) || overrideExistingValues) {\r\n target[prop] = value\r\n }\r\n }\r\n }\r\n return target\r\n};\r\nexport var extend = function extend(target) {\r\n target = target || {};\r\n var i = 1;\r\n var deep = false;\r\n if (\"boolean\" === typeof target) {\r\n deep = target;\r\n target = arguments[1] || {};\r\n i++\r\n }\r\n for (; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n if (null == source) {\r\n continue\r\n }\r\n for (var key in source) {\r\n var targetValue = target[key];\r\n var sourceValue = source[key];\r\n var sourceValueIsArray = false;\r\n var clone = void 0;\r\n if (\"__proto__\" === key || \"constructor\" === key || target === sourceValue) {\r\n continue\r\n }\r\n if (deep && sourceValue && (isPlainObject(sourceValue) || (sourceValueIsArray = Array.isArray(sourceValue)))) {\r\n if (sourceValueIsArray) {\r\n clone = targetValue && Array.isArray(targetValue) ? targetValue : []\r\n } else {\r\n clone = targetValue && isPlainObject(targetValue) ? targetValue : {}\r\n }\r\n target[key] = extend(deep, clone, sourceValue)\r\n } else if (void 0 !== sourceValue) {\r\n target[key] = sourceValue\r\n }\r\n }\r\n }\r\n return target\r\n};\r\n","import './VSlider.sass'\n\n// Components\nimport VInput from '../VInput'\nimport { VScaleTransition } from '../transitions'\n\n// Mixins\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { addOnceEventListener, deepEqual, keyCodes, createRange, convertToUnit, passiveSupported } from '../../util/helpers'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue, { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { ScopedSlotChildren } from 'vue/types/vnode'\nimport { PropValidator } from 'vue/types/options'\n\ninterface options extends Vue {\n $refs: {\n track: HTMLElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof VInput,\n typeof Loadable\n ]>\n/* eslint-enable indent */\n>(\n VInput,\n Loadable\n/* @vue/component */\n).extend({\n name: 'v-slider',\n\n directives: {\n ClickOutside,\n },\n\n mixins: [Loadable],\n\n props: {\n disabled: Boolean,\n inverseLabel: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 1,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: v => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 32,\n },\n tickLabels: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n ticks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: v => typeof v === 'boolean' || v === 'always',\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n trackColor: String,\n trackFillColor: String,\n value: [Number, String],\n vertical: Boolean,\n },\n\n data: () => ({\n app: null as any,\n oldValue: null as any,\n thumbPressed: false,\n mouseTimeout: -1,\n isFocused: false,\n isActive: false,\n noClick: false, // Prevent click event if dragging took place, hack for #7915\n startOffset: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input__slider': true,\n 'v-input__slider--vertical': this.vertical,\n 'v-input__slider--inverse-label': this.inverseLabel,\n }\n },\n internalValue: {\n get (): number {\n return this.lazyValue\n },\n set (val: number) {\n val = isNaN(val) ? this.minValue : val\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n const value = this.roundValue(Math.min(Math.max(val, this.minValue), this.maxValue))\n\n if (value === this.lazyValue) return\n\n this.lazyValue = value\n\n this.$emit('input', value)\n },\n },\n trackTransition (): string {\n return this.thumbPressed\n ? this.showTicks || this.stepNumeric\n ? '0.1s cubic-bezier(0.25, 0.8, 0.5, 1)'\n : 'none'\n : ''\n },\n minValue (): number {\n return parseFloat(this.min)\n },\n maxValue (): number {\n return parseFloat(this.max)\n },\n stepNumeric (): number {\n return this.step > 0 ? parseFloat(this.step) : 0\n },\n inputWidth (): number {\n const inputWidth = (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100\n\n return isNaN(inputWidth) ? 0 : inputWidth\n },\n trackFillStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? 'bottom' : 'left'\n const endDir = this.vertical ? 'top' : 'right'\n const valueDir = this.vertical ? 'height' : 'width'\n\n const start = this.$vuetify.rtl ? 'auto' : '0'\n const end = this.$vuetify.rtl ? '0' : 'auto'\n const value = this.isDisabled ? `calc(${this.inputWidth}% - 10px)` : `${this.inputWidth}%`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n [valueDir]: value,\n }\n },\n trackStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'bottom' : 'top' : this.$vuetify.rtl ? 'left' : 'right'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = '0px'\n const end = this.isDisabled ? `calc(${100 - this.inputWidth}% - 10px)` : `calc(${100 - this.inputWidth}%)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n showTicks (): boolean {\n return this.tickLabels.length > 0 ||\n !!(!this.isDisabled && this.stepNumeric && this.ticks)\n },\n numTicks (): number {\n return Math.ceil((this.maxValue - this.minValue) / this.stepNumeric)\n },\n showThumbLabel (): boolean {\n return !this.isDisabled && !!(\n this.thumbLabel ||\n this.$scopedSlots['thumb-label']\n )\n },\n computedTrackColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackColor) return this.trackColor\n if (this.isDark) return this.validationState\n return this.validationState || 'primary lighten-3'\n },\n computedTrackFillColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackFillColor) return this.trackFillColor\n return this.validationState || this.computedColor\n },\n computedThumbColor (): string | undefined {\n if (this.thumbColor) return this.thumbColor\n return this.validationState || this.computedColor\n },\n },\n\n watch: {\n min (val) {\n const parsed = parseFloat(val)\n parsed > this.internalValue && this.$emit('input', parsed)\n },\n max (val) {\n const parsed = parseFloat(val)\n parsed < this.internalValue && this.$emit('input', parsed)\n },\n value: {\n handler (v: number) {\n this.internalValue = v\n },\n immediate: true,\n },\n },\n\n mounted () {\n // Without a v-app, iOS does not work with body selectors\n this.app = document.querySelector('[data-app]') ||\n consoleWarn('Missing v-app or a non-body wrapping element with the [data-app] attribute', this)\n },\n\n methods: {\n genDefaultSlot (): VNodeChildrenArrayContents {\n const children: VNodeChildrenArrayContents = [this.genLabel()]\n const slider = this.genSlider()\n this.inverseLabel\n ? children.unshift(slider)\n : children.push(slider)\n\n children.push(this.genProgress())\n\n return children\n },\n genSlider (): VNode {\n return this.$createElement('div', {\n class: {\n 'v-slider': true,\n 'v-slider--horizontal': !this.vertical,\n 'v-slider--vertical': this.vertical,\n 'v-slider--focused': this.isFocused,\n 'v-slider--active': this.isActive,\n 'v-slider--disabled': this.isDisabled,\n 'v-slider--readonly': this.isReadonly,\n ...this.themeClasses,\n },\n directives: [{\n name: 'click-outside',\n value: this.onBlur,\n }],\n on: {\n click: this.onSliderClick,\n mousedown: this.onSliderMouseDown,\n touchstart: this.onSliderMouseDown,\n },\n }, this.genChildren())\n },\n genChildren (): VNodeChildrenArrayContents {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n this.genThumbContainer(\n this.internalValue,\n this.inputWidth,\n this.isActive,\n this.isFocused,\n this.onFocus,\n this.onBlur,\n ),\n ]\n },\n genInput (): VNode {\n return this.$createElement('input', {\n attrs: {\n value: this.internalValue,\n id: this.computedId,\n disabled: true,\n readonly: true,\n tabindex: -1,\n ...this.$attrs,\n },\n // on: this.genListeners(), // TODO: do we need to attach the listeners to input?\n })\n },\n genTrackContainer (): VNode {\n const children = [\n this.$createElement('div', this.setBackgroundColor(this.computedTrackColor, {\n staticClass: 'v-slider__track-background',\n style: this.trackStyles,\n })),\n this.$createElement('div', this.setBackgroundColor(this.computedTrackFillColor, {\n staticClass: 'v-slider__track-fill',\n style: this.trackFillStyles,\n })),\n ]\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genSteps (): VNode | null {\n if (!this.step || !this.showTicks) return null\n\n const tickSize = parseFloat(this.tickSize)\n const range = createRange(this.numTicks + 1)\n const direction = this.vertical ? 'bottom' : (this.$vuetify.rtl ? 'right' : 'left')\n const offsetDirection = this.vertical ? (this.$vuetify.rtl ? 'left' : 'right') : 'top'\n\n if (this.vertical) range.reverse()\n\n const ticks = range.map(index => {\n const children = []\n\n if (this.tickLabels[index]) {\n children.push(this.$createElement('div', {\n staticClass: 'v-slider__tick-label',\n }, this.tickLabels[index]))\n }\n\n const width = index * (100 / this.numTicks)\n const filled = this.$vuetify.rtl ? (100 - this.inputWidth) < width : width < this.inputWidth\n\n return this.$createElement('span', {\n key: index,\n staticClass: 'v-slider__tick',\n class: {\n 'v-slider__tick--filled': filled,\n },\n style: {\n width: `${tickSize}px`,\n height: `${tickSize}px`,\n [direction]: `calc(${width}% - ${tickSize / 2}px)`,\n [offsetDirection]: `calc(50% - ${tickSize / 2}px)`,\n },\n }, children)\n })\n\n return this.$createElement('div', {\n staticClass: 'v-slider__ticks-container',\n class: {\n 'v-slider__ticks-container--always-show': this.ticks === 'always' || this.tickLabels.length > 0,\n },\n }, ticks)\n },\n genThumbContainer (\n value: number,\n valueWidth: number,\n isActive: boolean,\n isFocused: boolean,\n onFocus: Function,\n onBlur: Function,\n ref = 'thumb'\n ): VNode {\n const children = [this.genThumb()]\n\n const thumbLabelContent = this.genThumbLabelContent(value)\n this.showThumbLabel && children.push(this.genThumbLabel(thumbLabelContent))\n\n return this.$createElement('div', this.setTextColor(this.computedThumbColor, {\n ref,\n key: ref,\n staticClass: 'v-slider__thumb-container',\n class: {\n 'v-slider__thumb-container--active': isActive,\n 'v-slider__thumb-container--focused': isFocused,\n 'v-slider__thumb-container--show-label': this.showThumbLabel,\n },\n style: this.getThumbContainerStyles(valueWidth),\n attrs: {\n role: 'slider',\n tabindex: this.isDisabled ? -1 : this.$attrs.tabindex ? this.$attrs.tabindex : 0,\n 'aria-label': this.$attrs['aria-label'] || this.label,\n 'aria-valuemin': this.min,\n 'aria-valuemax': this.max,\n 'aria-valuenow': this.internalValue,\n 'aria-readonly': String(this.isReadonly),\n 'aria-orientation': this.vertical ? 'vertical' : 'horizontal',\n },\n on: {\n focus: onFocus,\n blur: onBlur,\n keydown: this.onKeyDown,\n },\n }), children)\n },\n genThumbLabelContent (value: number | string): ScopedSlotChildren {\n return this.$scopedSlots['thumb-label']\n ? this.$scopedSlots['thumb-label']!({ value })\n : [this.$createElement('span', [String(value)])]\n },\n genThumbLabel (content: ScopedSlotChildren): VNode {\n const size = convertToUnit(this.thumbSize)\n\n const transform = this.vertical\n ? `translateY(20%) translateY(${(Number(this.thumbSize) / 3) - 1}px) translateX(55%) rotate(135deg)`\n : `translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)`\n\n return this.$createElement(VScaleTransition, {\n props: { origin: 'bottom center' },\n }, [\n this.$createElement('div', {\n staticClass: 'v-slider__thumb-label-container',\n directives: [{\n name: 'show',\n value: this.isFocused || this.isActive || this.thumbLabel === 'always',\n }],\n }, [\n this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb-label',\n style: {\n height: size,\n width: size,\n transform,\n },\n }), [this.$createElement('div', content)]),\n ]),\n ])\n },\n genThumb (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb',\n }))\n },\n getThumbContainerStyles (width: number): object {\n const direction = this.vertical ? 'top' : 'left'\n let value = this.$vuetify.rtl ? 100 - width : width\n value = this.vertical ? 100 - value : value\n\n return {\n transition: this.trackTransition,\n [direction]: `${value}%`,\n }\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderMouseUp (e: Event) {\n e.stopPropagation()\n window.clearTimeout(this.mouseTimeout)\n this.thumbPressed = false\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n this.app.removeEventListener('touchmove', this.onMouseMove, mouseMoveOptions)\n this.app.removeEventListener('mousemove', this.onMouseMove, mouseMoveOptions)\n\n this.$emit('mouseup', e)\n this.$emit('end', this.internalValue)\n if (!deepEqual(this.oldValue, this.internalValue)) {\n this.$emit('change', this.internalValue)\n this.noClick = true\n }\n\n this.isActive = false\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n this.internalValue = this.parseMouseMove(e)\n },\n onKeyDown (e: KeyboardEvent) {\n if (!this.isInteractive) return\n\n const value = this.parseKeyDown(e, this.internalValue)\n\n if (\n value == null ||\n value < this.minValue ||\n value > this.maxValue\n ) return\n\n this.internalValue = value\n this.$emit('change', value)\n },\n onSliderClick (e: MouseEvent) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n const thumb = this.$refs.thumb as HTMLElement\n thumb.focus()\n\n this.onMouseMove(e)\n this.$emit('change', this.internalValue)\n },\n onBlur (e: Event) {\n this.isFocused = false\n\n this.$emit('blur', e)\n },\n onFocus (e: Event) {\n this.isFocused = true\n\n this.$emit('focus', e)\n },\n parseMouseMove (e: MouseEvent | TouchEvent) {\n const start = this.vertical ? 'top' : 'left'\n const length = this.vertical ? 'height' : 'width'\n const click = this.vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = this.$refs.track.getBoundingClientRect()\n const clickOffset = 'touches' in e ? e.touches[0][click] : e[click]\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - this.startOffset) / trackLength, 0), 1) || 0\n\n if (this.vertical) clickPos = 1 - clickPos\n if (this.$vuetify.rtl) clickPos = 1 - clickPos\n\n return parseFloat(this.min) + clickPos * (this.maxValue - this.minValue)\n },\n parseKeyDown (e: KeyboardEvent, value: number) {\n if (!this.isInteractive) return\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyCodes\n\n if (![pageup, pagedown, end, home, left, right, down, up].includes(e.keyCode)) return\n\n e.preventDefault()\n const step = this.stepNumeric || 1\n const steps = (this.maxValue - this.minValue) / step\n if ([left, right, down, up].includes(e.keyCode)) {\n const increase = this.$vuetify.rtl ? [left, up] : [right, up]\n const direction = increase.includes(e.keyCode) ? 1 : -1\n const multiplier = e.shiftKey ? 3 : (e.ctrlKey ? 2 : 1)\n\n value = value + (direction * step * multiplier)\n } else if (e.keyCode === home) {\n value = this.minValue\n } else if (e.keyCode === end) {\n value = this.maxValue\n } else {\n const direction = e.keyCode === pagedown ? 1 : -1\n value = value - (direction * step * (steps > 100 ? steps / 10 : 10))\n }\n\n return value\n },\n roundValue (value: number): number {\n if (!this.stepNumeric) return value\n // Format input value using the same number\n // of decimals places as in the step prop\n const trimmedStep = this.step.toString().trim()\n const decimals = trimmedStep.indexOf('.') > -1\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n const offset = this.minValue % this.stepNumeric\n\n const newValue = Math.round((value - offset) / this.stepNumeric) * this.stepNumeric + offset\n\n return parseFloat(Math.min(newValue, this.maxValue).toFixed(decimals))\n },\n },\n})\n","/**\r\n * DevExtreme (esm/events/visibility_change.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"./core/events_engine\";\r\nvar triggerVisibilityChangeEvent = function(eventName) {\r\n return function(element) {\r\n var $element = $(element || \"body\");\r\n var changeHandlers = $element.filter(\".dx-visibility-change-handler\").add($element.find(\".dx-visibility-change-handler\"));\r\n for (var i = 0; i < changeHandlers.length; i++) {\r\n eventsEngine.triggerHandler(changeHandlers[i], eventName)\r\n }\r\n }\r\n};\r\nexport var triggerShownEvent = triggerVisibilityChangeEvent(\"dxshown\");\r\nexport var triggerHidingEvent = triggerVisibilityChangeEvent(\"dxhiding\");\r\nexport var triggerResizeEvent = triggerVisibilityChangeEvent(\"dxresize\");\r\n","// Styles\nimport './VLabel.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'v-label',\n\n functional: true,\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n focused: Boolean,\n for: String,\n left: {\n type: [Number, String],\n default: 0,\n },\n right: {\n type: [Number, String],\n default: 'auto',\n },\n value: Boolean,\n },\n\n render (h, ctx): VNode {\n const { children, listeners, props, data } = ctx\n const newData = mergeData({\n staticClass: 'v-label',\n class: {\n 'v-label--active': props.value,\n 'v-label--is-disabled': props.disabled,\n ...functionalThemeClasses(ctx),\n },\n attrs: {\n for: props.for,\n 'aria-hidden': !props.for,\n },\n on: listeners,\n style: {\n left: convertToUnit(props.left),\n right: convertToUnit(props.right),\n position: props.absolute ? 'absolute' : 'relative',\n },\n ref: 'label',\n }, data)\n\n return h('label', Colorable.options.methods.setTextColor(props.focused && props.color, newData), children)\n },\n})\n","import VLabel from './VLabel'\n\nexport { VLabel }\nexport default VLabel\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deCh;\n\n})));\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\nvar isObject = require('lodash.isobject'),\n reNative = require('lodash._renative'),\n shimKeys = require('lodash._shimkeys');\n\n/* Native method shortcuts for methods with the same name as other `lodash` methods */\nvar nativeKeys = reNative.test(nativeKeys = Object.keys) && nativeKeys;\n\n/**\n * Creates an array composed of the own enumerable property names of an object.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns an array of property names.\n * @example\n *\n * _.keys({ 'one': 1, 'two': 2, 'three': 3 });\n * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n if (!isObject(object)) {\n return [];\n }\n return nativeKeys(object);\n};\n\nmodule.exports = keys;\n","module.exports = require('./lib/axios');","/**\r\n * DevExtreme (esm/ui/list/modules/search.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport searchBoxMixin from \"../../widget/ui.search_box_mixin\";\r\nimport TextBox from \"../../text_box\";\r\nsearchBoxMixin.setEditorClass(TextBox);\r\n","/**\r\n * DevExtreme (esm/data/array_utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isObject,\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport config from \"../core/config\";\r\nimport Guid from \"../core/guid\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"../core/utils/object\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport {\r\n keysEqual,\r\n rejectedPromise,\r\n trivialPromise\r\n} from \"./utils\";\r\n\r\nfunction hasKey(target, keyOrKeys) {\r\n var key;\r\n var keys = \"string\" === typeof keyOrKeys ? keyOrKeys.split() : keyOrKeys.slice();\r\n while (keys.length) {\r\n key = keys.shift();\r\n if (key in target) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction findItems(keyInfo, items, key, groupCount) {\r\n var childItems;\r\n var result;\r\n if (groupCount) {\r\n for (var i = 0; i < items.length; i++) {\r\n childItems = items[i].items || items[i].collapsedItems || [];\r\n result = findItems(keyInfo, childItems || [], key, groupCount - 1);\r\n if (result) {\r\n return result\r\n }\r\n }\r\n } else if (indexByKey(keyInfo, items, key) >= 0) {\r\n return items\r\n }\r\n}\r\n\r\nfunction getItems(keyInfo, items, key, groupCount) {\r\n if (groupCount) {\r\n return findItems(keyInfo, items, key, groupCount) || []\r\n }\r\n return items\r\n}\r\n\r\nfunction generateDataByKeyMap(keyInfo, array) {\r\n if (keyInfo.key() && (!array._dataByKeyMap || array._dataByKeyMapLength !== array.length)) {\r\n var dataByKeyMap = {};\r\n var arrayLength = array.length;\r\n for (var i = 0; i < arrayLength; i++) {\r\n dataByKeyMap[JSON.stringify(keyInfo.keyOf(array[i]))] = array[i]\r\n }\r\n array._dataByKeyMap = dataByKeyMap;\r\n array._dataByKeyMapLength = arrayLength\r\n }\r\n}\r\n\r\nfunction getCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n}\r\n\r\nfunction getHasKeyCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n return true\r\n}\r\n\r\nfunction setDataByKeyMapValue(array, key, data) {\r\n if (array._dataByKeyMap) {\r\n array._dataByKeyMap[JSON.stringify(key)] = data;\r\n array._dataByKeyMapLength += data ? 1 : -1\r\n }\r\n}\r\n\r\nfunction cloneInstanceWithChangedPaths(instance, changes, clonedInstances) {\r\n clonedInstances = clonedInstances || new WeakMap;\r\n var result = instance ? Object.create(Object.getPrototypeOf(instance)) : {};\r\n if (instance) {\r\n clonedInstances.set(instance, result)\r\n }\r\n var instanceWithoutPrototype = _extends({}, instance);\r\n deepExtendArraySafe(result, instanceWithoutPrototype, true, true);\r\n for (var name in instanceWithoutPrototype) {\r\n var value = instanceWithoutPrototype[name];\r\n var change = null === changes || void 0 === changes ? void 0 : changes[name];\r\n if (isObject(value) && !isPlainObject(value) && isObject(change) && !clonedInstances.has(value)) {\r\n result[name] = cloneInstanceWithChangedPaths(value, change, clonedInstances)\r\n }\r\n }\r\n for (var _name in result) {\r\n var prop = result[_name];\r\n if (isObject(prop) && clonedInstances.has(prop)) {\r\n result[_name] = clonedInstances.get(prop)\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction createObjectWithChanges(target, changes) {\r\n var result = cloneInstanceWithChangedPaths(target, changes);\r\n return deepExtendArraySafe(result, changes, true, true)\r\n}\r\n\r\nfunction applyBatch(_ref) {\r\n var {\r\n keyInfo: keyInfo,\r\n data: data,\r\n changes: changes,\r\n groupCount: groupCount,\r\n useInsertIndex: useInsertIndex,\r\n immutable: immutable,\r\n disableCache: disableCache,\r\n logError: logError,\r\n skipCopying: skipCopying\r\n } = _ref;\r\n var resultItems = true === immutable ? [...data] : data;\r\n changes.forEach(item => {\r\n var items = \"insert\" === item.type ? resultItems : getItems(keyInfo, resultItems, item.key, groupCount);\r\n !disableCache && generateDataByKeyMap(keyInfo, items);\r\n switch (item.type) {\r\n case \"update\":\r\n update(keyInfo, items, item.key, item.data, true, immutable, logError);\r\n break;\r\n case \"insert\":\r\n insert(keyInfo, items, item.data, useInsertIndex && isDefined(item.index) ? item.index : -1, true, logError, skipCopying);\r\n break;\r\n case \"remove\":\r\n remove(keyInfo, items, item.key, true, logError)\r\n }\r\n });\r\n return resultItems\r\n}\r\n\r\nfunction getErrorResult(isBatch, logError, errorCode) {\r\n return !isBatch ? rejectedPromise(errors.Error(errorCode)) : logError && errors.log(errorCode)\r\n}\r\n\r\nfunction applyChanges(data, changes) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var {\r\n keyExpr: keyExpr = \"id\",\r\n immutable: immutable = true\r\n } = options;\r\n var keyGetter = compileGetter(keyExpr);\r\n var keyInfo = {\r\n key: () => keyExpr,\r\n keyOf: obj => keyGetter(obj)\r\n };\r\n return applyBatch({\r\n keyInfo: keyInfo,\r\n data: data,\r\n changes: changes,\r\n immutable: immutable,\r\n disableCache: true,\r\n logError: true\r\n })\r\n}\r\n\r\nfunction update(keyInfo, array, key, data, isBatch, immutable, logError) {\r\n var target;\r\n var keyExpr = keyInfo.key();\r\n if (keyExpr) {\r\n if (hasKey(data, keyExpr) && !keysEqual(keyExpr, key, keyInfo.keyOf(data))) {\r\n return getErrorResult(isBatch, logError, \"E4017\")\r\n }\r\n target = getCacheValue(array, key);\r\n if (!target) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index < 0) {\r\n return getErrorResult(isBatch, logError, \"E4009\")\r\n }\r\n target = array[index];\r\n if (true === immutable && isDefined(target)) {\r\n var newTarget = createObjectWithChanges(target, data);\r\n array[index] = newTarget;\r\n return !isBatch && trivialPromise(newTarget, key)\r\n }\r\n }\r\n } else {\r\n target = key\r\n }\r\n deepExtendArraySafe(target, data, true);\r\n if (!isBatch) {\r\n if (config().useLegacyStoreResult) {\r\n return trivialPromise(key, data)\r\n } else {\r\n return trivialPromise(target, key)\r\n }\r\n }\r\n}\r\n\r\nfunction insert(keyInfo, array, data, index, isBatch, logError, skipCopying) {\r\n var keyValue;\r\n var keyExpr = keyInfo.key();\r\n var obj = isPlainObject(data) && !skipCopying ? extend({}, data) : data;\r\n if (keyExpr) {\r\n keyValue = keyInfo.keyOf(obj);\r\n if (void 0 === keyValue || \"object\" === typeof keyValue && isEmptyObject(keyValue)) {\r\n if (Array.isArray(keyExpr)) {\r\n throw errors.Error(\"E4007\")\r\n }\r\n keyValue = obj[keyExpr] = String(new Guid)\r\n } else if (void 0 !== array[indexByKey(keyInfo, array, keyValue)]) {\r\n return getErrorResult(isBatch, logError, \"E4008\")\r\n }\r\n } else {\r\n keyValue = obj\r\n }\r\n if (index >= 0) {\r\n array.splice(index, 0, obj)\r\n } else {\r\n array.push(obj)\r\n }\r\n setDataByKeyMapValue(array, keyValue, obj);\r\n if (!isBatch) {\r\n return trivialPromise(config().useLegacyStoreResult ? data : obj, keyValue)\r\n }\r\n}\r\n\r\nfunction remove(keyInfo, array, key, isBatch, logError) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index > -1) {\r\n array.splice(index, 1);\r\n setDataByKeyMapValue(array, key, null)\r\n }\r\n if (!isBatch) {\r\n return trivialPromise(key)\r\n } else if (index < 0) {\r\n return getErrorResult(isBatch, logError, \"E4009\")\r\n }\r\n}\r\n\r\nfunction indexByKey(keyInfo, array, key) {\r\n var keyExpr = keyInfo.key();\r\n if (!getHasKeyCacheValue(array, key)) {\r\n return -1\r\n }\r\n for (var i = 0, arrayLength = array.length; i < arrayLength; i++) {\r\n if (keysEqual(keyExpr, keyInfo.keyOf(array[i]), key)) {\r\n return i\r\n }\r\n }\r\n return -1\r\n}\r\nexport {\r\n applyBatch,\r\n createObjectWithChanges,\r\n update,\r\n insert,\r\n remove,\r\n indexByKey,\r\n applyChanges\r\n};\r\n","/**\r\n * DevExtreme (esm/animation/position.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight,\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n splitPair,\r\n pairToObject\r\n} from \"../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n isWindow,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport browser from \"../core/utils/browser\";\r\nimport {\r\n resetPosition,\r\n move\r\n} from \"./translator\";\r\nimport {\r\n touch\r\n} from \"../core/utils/support\";\r\nimport devices from \"../core/devices\";\r\nimport {\r\n setStyle\r\n} from \"../core/utils/style\";\r\nvar horzRe = /left|right/;\r\nvar vertRe = /top|bottom/;\r\nvar collisionRe = /fit|flip|none/;\r\nvar scaleRe = /scale\\(.+?\\)/;\r\nvar IS_SAFARI = browser.safari;\r\nvar normalizeAlign = function(raw) {\r\n var result = {\r\n h: \"center\",\r\n v: \"center\"\r\n };\r\n var pair = splitPair(raw);\r\n if (pair) {\r\n each(pair, (function() {\r\n var w = String(this).toLowerCase();\r\n if (horzRe.test(w)) {\r\n result.h = w\r\n } else if (vertRe.test(w)) {\r\n result.v = w\r\n }\r\n }))\r\n }\r\n return result\r\n};\r\nvar normalizeOffset = function(raw, preventRound) {\r\n return pairToObject(raw, preventRound)\r\n};\r\nvar normalizeCollision = function(raw) {\r\n var pair = splitPair(raw);\r\n var h = String(pair && pair[0]).toLowerCase();\r\n var v = String(pair && pair[1]).toLowerCase();\r\n if (!collisionRe.test(h)) {\r\n h = \"none\"\r\n }\r\n if (!collisionRe.test(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nvar getAlignFactor = function(align) {\r\n switch (align) {\r\n case \"center\":\r\n return .5;\r\n case \"right\":\r\n case \"bottom\":\r\n return 1;\r\n default:\r\n return 0\r\n }\r\n};\r\nvar inverseAlign = function(align) {\r\n switch (align) {\r\n case \"left\":\r\n return \"right\";\r\n case \"right\":\r\n return \"left\";\r\n case \"top\":\r\n return \"bottom\";\r\n case \"bottom\":\r\n return \"top\";\r\n default:\r\n return align\r\n }\r\n};\r\nvar calculateOversize = function(data, bounds) {\r\n var oversize = 0;\r\n if (data.myLocation < bounds.min) {\r\n oversize += bounds.min - data.myLocation\r\n }\r\n if (data.myLocation > bounds.max) {\r\n oversize += data.myLocation - bounds.max\r\n }\r\n return oversize\r\n};\r\nvar collisionSide = function(direction, data, bounds) {\r\n if (data.myLocation < bounds.min) {\r\n return \"h\" === direction ? \"left\" : \"top\"\r\n }\r\n if (data.myLocation > bounds.max) {\r\n return \"h\" === direction ? \"right\" : \"bottom\"\r\n }\r\n return \"none\"\r\n};\r\nvar initMyLocation = function(data) {\r\n data.myLocation = data.atLocation + getAlignFactor(data.atAlign) * data.atSize - getAlignFactor(data.myAlign) * data.mySize + data.offset\r\n};\r\nvar collisionResolvers = {\r\n fit: function(data, bounds) {\r\n var result = false;\r\n if (data.myLocation > bounds.max) {\r\n data.myLocation = bounds.max;\r\n result = true\r\n }\r\n if (data.myLocation < bounds.min) {\r\n data.myLocation = bounds.min;\r\n result = true\r\n }\r\n data.fit = result\r\n },\r\n flip: function(data, bounds) {\r\n data.flip = false;\r\n if (\"center\" === data.myAlign && \"center\" === data.atAlign) {\r\n return\r\n }\r\n if (data.myLocation < bounds.min || data.myLocation > bounds.max) {\r\n var inverseData = extend({}, data, {\r\n myAlign: inverseAlign(data.myAlign),\r\n atAlign: inverseAlign(data.atAlign),\r\n offset: -data.offset\r\n });\r\n initMyLocation(inverseData);\r\n inverseData.oversize = calculateOversize(inverseData, bounds);\r\n if (inverseData.myLocation >= bounds.min && inverseData.myLocation <= bounds.max || data.oversize > inverseData.oversize) {\r\n data.myLocation = inverseData.myLocation;\r\n data.oversize = inverseData.oversize;\r\n data.flip = true\r\n }\r\n }\r\n },\r\n flipfit: function(data, bounds) {\r\n this.flip(data, bounds);\r\n this.fit(data, bounds)\r\n },\r\n none: function(data) {\r\n data.oversize = 0\r\n }\r\n};\r\nvar scrollbarWidth;\r\nvar calculateScrollbarWidth = function() {\r\n var $scrollDiv = $(\"<div>\").css({\r\n width: 100,\r\n height: 100,\r\n overflow: \"scroll\",\r\n position: \"absolute\",\r\n top: -9999\r\n }).appendTo($(\"body\"));\r\n var result = $scrollDiv.get(0).offsetWidth - $scrollDiv.get(0).clientWidth;\r\n $scrollDiv.remove();\r\n scrollbarWidth = result\r\n};\r\nvar defaultPositionResult = {\r\n h: {\r\n location: 0,\r\n flip: false,\r\n fit: false,\r\n oversize: 0\r\n },\r\n v: {\r\n location: 0,\r\n flip: false,\r\n fit: false,\r\n oversize: 0\r\n }\r\n};\r\nvar calculatePosition = function(what, options) {\r\n var $what = $(what);\r\n var currentOffset = $what.offset();\r\n var result = extend(true, {}, defaultPositionResult, {\r\n h: {\r\n location: currentOffset.left\r\n },\r\n v: {\r\n location: currentOffset.top\r\n }\r\n });\r\n if (!options) {\r\n return result\r\n }\r\n var my = normalizeAlign(options.my);\r\n var at = normalizeAlign(options.at);\r\n var of = $(options.of).length && options.of || window;\r\n var offset = normalizeOffset(options.offset, options.precise);\r\n var collision = normalizeCollision(options.collision);\r\n var boundary = options.boundary;\r\n var boundaryOffset = normalizeOffset(options.boundaryOffset, options.precise);\r\n var h = {\r\n mySize: getOuterWidth($what),\r\n myAlign: my.h,\r\n atAlign: at.h,\r\n offset: offset.h,\r\n collision: collision.h,\r\n boundaryOffset: boundaryOffset.h\r\n };\r\n var v = {\r\n mySize: getOuterHeight($what),\r\n myAlign: my.v,\r\n atAlign: at.v,\r\n offset: offset.v,\r\n collision: collision.v,\r\n boundaryOffset: boundaryOffset.v\r\n };\r\n if (of.preventDefault) {\r\n h.atLocation = of.pageX;\r\n v.atLocation = of.pageY;\r\n h.atSize = 0;\r\n v.atSize = 0\r\n } else {\r\n of = $(of);\r\n if (isWindow(of [0])) {\r\n h.atLocation = of.scrollLeft();\r\n v.atLocation = of.scrollTop();\r\n if (\"phone\" === devices.real().deviceType && of [0].visualViewport) {\r\n h.atLocation = Math.max(h.atLocation, of [0].visualViewport.offsetLeft);\r\n v.atLocation = Math.max(v.atLocation, of [0].visualViewport.offsetTop);\r\n h.atSize = of [0].visualViewport.width;\r\n v.atSize = of [0].visualViewport.height\r\n } else {\r\n h.atSize = of [0].innerWidth > of [0].outerWidth ? of [0].innerWidth : getWidth(of);\r\n v.atSize = of [0].innerHeight > of [0].outerHeight || IS_SAFARI ? of [0].innerHeight : getHeight(of)\r\n }\r\n } else if (9 === of [0].nodeType) {\r\n h.atLocation = 0;\r\n v.atLocation = 0;\r\n h.atSize = getWidth(of);\r\n v.atSize = getHeight(of)\r\n } else {\r\n var ofRect = getBoundingRect(of.get(0));\r\n var o = getOffsetWithoutScale(of);\r\n h.atLocation = o.left;\r\n v.atLocation = o.top;\r\n h.atSize = Math.max(ofRect.width, getOuterWidth(of));\r\n v.atSize = Math.max(ofRect.height, getOuterHeight(of))\r\n }\r\n }\r\n initMyLocation(h);\r\n initMyLocation(v);\r\n var bounds = function() {\r\n var win = $(window);\r\n var windowWidth = getWidth(win);\r\n var windowHeight = getHeight(win);\r\n var left = win.scrollLeft();\r\n var top = win.scrollTop();\r\n var documentElement = domAdapter.getDocumentElement();\r\n var hZoomLevel = touch ? documentElement.clientWidth / windowWidth : 1;\r\n var vZoomLevel = touch ? documentElement.clientHeight / windowHeight : 1;\r\n if (void 0 === scrollbarWidth) {\r\n calculateScrollbarWidth()\r\n }\r\n var boundaryWidth = windowWidth;\r\n var boundaryHeight = windowHeight;\r\n if (boundary && !isWindow(boundary)) {\r\n var $boundary = $(boundary);\r\n var boundaryPosition = $boundary.offset();\r\n left = boundaryPosition.left;\r\n top = boundaryPosition.top;\r\n boundaryWidth = getWidth($boundary);\r\n boundaryHeight = getHeight($boundary)\r\n }\r\n return {\r\n h: {\r\n min: left + h.boundaryOffset,\r\n max: left + boundaryWidth / hZoomLevel - h.mySize - h.boundaryOffset\r\n },\r\n v: {\r\n min: top + v.boundaryOffset,\r\n max: top + boundaryHeight / vZoomLevel - v.mySize - v.boundaryOffset\r\n }\r\n }\r\n }();\r\n h.oversize = calculateOversize(h, bounds.h);\r\n v.oversize = calculateOversize(v, bounds.v);\r\n h.collisionSide = collisionSide(\"h\", h, bounds.h);\r\n v.collisionSide = collisionSide(\"v\", v, bounds.v);\r\n if (collisionResolvers[h.collision]) {\r\n collisionResolvers[h.collision](h, bounds.h)\r\n }\r\n if (collisionResolvers[v.collision]) {\r\n collisionResolvers[v.collision](v, bounds.v)\r\n }\r\n var preciser = function(number) {\r\n return options.precise ? number : Math.round(number)\r\n };\r\n extend(true, result, {\r\n h: {\r\n location: preciser(h.myLocation),\r\n oversize: preciser(h.oversize),\r\n fit: h.fit,\r\n flip: h.flip,\r\n collisionSide: h.collisionSide\r\n },\r\n v: {\r\n location: preciser(v.myLocation),\r\n oversize: preciser(v.oversize),\r\n fit: v.fit,\r\n flip: v.flip,\r\n collisionSide: v.collisionSide\r\n },\r\n precise: options.precise\r\n });\r\n return result\r\n};\r\nvar setScaleProperty = function(element, scale, styleAttr, isEmpty) {\r\n var stylePropIsValid = isDefined(element.style) && !domAdapter.isNode(element.style);\r\n var newStyleValue = isEmpty ? styleAttr.replace(scale, \"\") : styleAttr;\r\n if (stylePropIsValid) {\r\n setStyle(element, newStyleValue, false)\r\n } else {\r\n var styleAttributeNode = domAdapter.createAttribute(\"style\");\r\n styleAttributeNode.value = newStyleValue;\r\n element.setAttributeNode(styleAttributeNode)\r\n }\r\n};\r\nvar getOffsetWithoutScale = function getOffsetWithoutScale($startElement) {\r\n var _currentElement$getAt, _style$match;\r\n var $currentElement = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : $startElement;\r\n var currentElement = $currentElement.get(0);\r\n if (!currentElement) {\r\n return $startElement.offset()\r\n }\r\n var style = (null === (_currentElement$getAt = currentElement.getAttribute) || void 0 === _currentElement$getAt ? void 0 : _currentElement$getAt.call(currentElement, \"style\")) || \"\";\r\n var scale = null === (_style$match = style.match(scaleRe)) || void 0 === _style$match ? void 0 : _style$match[0];\r\n var offset;\r\n if (scale) {\r\n setScaleProperty(currentElement, scale, style, true);\r\n offset = getOffsetWithoutScale($startElement, $currentElement.parent());\r\n setScaleProperty(currentElement, scale, style, false)\r\n } else {\r\n offset = getOffsetWithoutScale($startElement, $currentElement.parent())\r\n }\r\n return offset\r\n};\r\nvar position = function(what, options) {\r\n var $what = $(what);\r\n if (!options) {\r\n return $what.offset()\r\n }\r\n resetPosition($what, true);\r\n var offset = getOffsetWithoutScale($what);\r\n var targetPosition = options.h && options.v ? options : calculatePosition($what, options);\r\n var preciser = function(number) {\r\n return options.precise ? number : Math.round(number)\r\n };\r\n move($what, {\r\n left: targetPosition.h.location - preciser(offset.left),\r\n top: targetPosition.v.location - preciser(offset.top)\r\n });\r\n return targetPosition\r\n};\r\nvar offset = function(element) {\r\n element = $(element).get(0);\r\n if (isWindow(element)) {\r\n return null\r\n } else if (element && \"pageY\" in element && \"pageX\" in element) {\r\n return {\r\n top: element.pageY,\r\n left: element.pageX\r\n }\r\n }\r\n return $(element).offset()\r\n};\r\nif (!position.inverseAlign) {\r\n position.inverseAlign = inverseAlign\r\n}\r\nif (!position.normalizeAlign) {\r\n position.normalizeAlign = normalizeAlign\r\n}\r\nexport default {\r\n calculateScrollbarWidth: calculateScrollbarWidth,\r\n calculate: calculatePosition,\r\n setup: position,\r\n offset: offset\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isNumeric,\r\n isExponential,\r\n isFunction,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n adjust,\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport Color from \"../../color\";\r\nvar {\r\n PI: PI,\r\n LN10: LN10,\r\n abs: abs,\r\n log: log,\r\n floor: floor,\r\n ceil: ceil,\r\n pow: pow,\r\n sqrt: sqrt,\r\n atan2: atan2\r\n} = Math;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar _cos = Math.cos;\r\nvar _sin = Math.sin;\r\nvar _round = Math.round;\r\nvar dateToMilliseconds = dateUtils.dateToMilliseconds;\r\nvar MAX_PIXEL_COUNT = 1e10;\r\nvar PI_DIV_180 = PI / 180;\r\nvar _isNaN = isNaN;\r\nvar _Number = Number;\r\nvar _NaN = NaN;\r\nvar numDefsSvgElements = 1;\r\nexport var PANE_PADDING = 10;\r\nexport var getLog = function(value, base) {\r\n if (!value) {\r\n return _NaN\r\n }\r\n return log(value) / log(base)\r\n};\r\nexport var getAdjustedLog10 = function(value) {\r\n return adjust(getLog(value, 10))\r\n};\r\nexport var raiseTo = function(power, base) {\r\n return pow(base, power)\r\n};\r\nexport var normalizeAngle = function(angle) {\r\n return (angle % 360 + 360) % 360\r\n};\r\nexport var convertAngleToRendererSpace = function(angle) {\r\n return 90 - angle\r\n};\r\nexport var degreesToRadians = function(value) {\r\n return PI * value / 180\r\n};\r\nexport var getCosAndSin = function(angle) {\r\n var angleInRadians = degreesToRadians(angle);\r\n return {\r\n cos: _cos(angleInRadians),\r\n sin: _sin(angleInRadians)\r\n }\r\n};\r\nvar DECIMAL_ORDER_THRESHOLD = 1e-14;\r\nexport var getDistance = function(x1, y1, x2, y2) {\r\n var diffX = x2 - x1;\r\n var diffY = y2 - y1;\r\n return sqrt(diffY * diffY + diffX * diffX)\r\n};\r\nexport var getDecimalOrder = function(number) {\r\n var n = abs(number);\r\n var cn;\r\n if (!_isNaN(n)) {\r\n if (n > 0) {\r\n n = log(n) / LN10;\r\n cn = ceil(n);\r\n return cn - n < DECIMAL_ORDER_THRESHOLD ? cn : floor(n)\r\n }\r\n return 0\r\n }\r\n return _NaN\r\n};\r\nexport var getAppropriateFormat = function(start, end, count) {\r\n var order = _max(getDecimalOrder(start), getDecimalOrder(end));\r\n var precision = -getDecimalOrder(abs(end - start) / count);\r\n var format;\r\n if (!_isNaN(order) && !_isNaN(precision)) {\r\n if (abs(order) <= 4) {\r\n format = \"fixedPoint\";\r\n precision < 0 && (precision = 0);\r\n precision > 4 && (precision = 4)\r\n } else {\r\n format = \"exponential\";\r\n precision += order - 1;\r\n precision > 3 && (precision = 3)\r\n }\r\n return {\r\n type: format,\r\n precision: precision\r\n }\r\n }\r\n return null\r\n};\r\nexport var roundValue = function(value, precision) {\r\n if (precision > 20) {\r\n precision = 20\r\n }\r\n if (isNumeric(value)) {\r\n if (isExponential(value)) {\r\n return _Number(value.toExponential(precision))\r\n } else {\r\n return _Number(value.toFixed(precision))\r\n }\r\n }\r\n};\r\nexport var getPower = function(value) {\r\n return value.toExponential().split(\"e\")[1]\r\n};\r\nexport function map(array, callback) {\r\n var i = 0;\r\n var len = array.length;\r\n var result = [];\r\n var value;\r\n while (i < len) {\r\n value = callback(array[i], i);\r\n if (null !== value) {\r\n result.push(value)\r\n }\r\n i++\r\n }\r\n return result\r\n}\r\n\r\nfunction selectByKeys(object, keys) {\r\n return map(keys, key => object[key] ? object[key] : null)\r\n}\r\n\r\nfunction decreaseFields(object, keys, eachDecrease, decrease) {\r\n var dec = decrease;\r\n each(keys, (_, key) => {\r\n if (object[key]) {\r\n object[key] -= eachDecrease;\r\n dec -= eachDecrease\r\n }\r\n });\r\n return dec\r\n}\r\nexport function normalizeEnum(value) {\r\n return String(value).toLowerCase()\r\n}\r\nexport function setCanvasValues(canvas) {\r\n if (canvas) {\r\n canvas.originalTop = canvas.top;\r\n canvas.originalBottom = canvas.bottom;\r\n canvas.originalLeft = canvas.left;\r\n canvas.originalRight = canvas.right\r\n }\r\n return canvas\r\n}\r\n\r\nfunction normalizeBBoxField(value) {\r\n return -MAX_PIXEL_COUNT < value && value < +MAX_PIXEL_COUNT ? value : 0\r\n}\r\nexport function normalizeBBox(bBox) {\r\n var xl = normalizeBBoxField(floor(bBox.x));\r\n var yt = normalizeBBoxField(floor(bBox.y));\r\n var xr = normalizeBBoxField(ceil(bBox.width + bBox.x));\r\n var yb = normalizeBBoxField(ceil(bBox.height + bBox.y));\r\n var result = {\r\n x: xl,\r\n y: yt,\r\n width: xr - xl,\r\n height: yb - yt\r\n };\r\n result.isEmpty = !result.x && !result.y && !result.width && !result.height;\r\n return result\r\n}\r\nexport function rotateBBox(bBox, center, angle) {\r\n var cos = _Number(_cos(angle * PI_DIV_180).toFixed(3));\r\n var sin = _Number(_sin(angle * PI_DIV_180).toFixed(3));\r\n var w2 = bBox.width / 2;\r\n var h2 = bBox.height / 2;\r\n var centerX = bBox.x + w2;\r\n var centerY = bBox.y + h2;\r\n var w2_ = abs(w2 * cos) + abs(h2 * sin);\r\n var h2_ = abs(w2 * sin) + abs(h2 * cos);\r\n var centerX_ = center[0] + (centerX - center[0]) * cos + (centerY - center[1]) * sin;\r\n var centerY_ = center[1] - (centerX - center[0]) * sin + (centerY - center[1]) * cos;\r\n return normalizeBBox({\r\n x: centerX_ - w2_,\r\n y: centerY_ - h2_,\r\n width: 2 * w2_,\r\n height: 2 * h2_\r\n })\r\n}\r\nexport var decreaseGaps = function(object, keys, decrease) {\r\n var arrayGaps;\r\n do {\r\n arrayGaps = selectByKeys(object, keys);\r\n arrayGaps.push(ceil(decrease / arrayGaps.length));\r\n decrease = decreaseFields(object, keys, _min.apply(null, arrayGaps), decrease)\r\n } while (decrease > 0 && arrayGaps.length > 1);\r\n return decrease\r\n};\r\nexport var parseScalar = function(value, defaultValue) {\r\n return void 0 !== value ? value : defaultValue\r\n};\r\nexport var enumParser = function(values) {\r\n var stored = {};\r\n var i;\r\n var ii;\r\n for (i = 0, ii = values.length; i < ii; ++i) {\r\n stored[normalizeEnum(values[i])] = 1\r\n }\r\n return function(value, defaultValue) {\r\n var _value = normalizeEnum(value);\r\n return stored[_value] ? _value : defaultValue\r\n }\r\n};\r\nexport var patchFontOptions = function(options) {\r\n var fontOptions = {};\r\n each(options || {}, (function(key, value) {\r\n if (/^(cursor)$/i.test(key)) {} else if (\"opacity\" === key) {\r\n value = null\r\n } else if (\"color\" === key) {\r\n key = \"fill\";\r\n if (\"opacity\" in options) {\r\n var color = new Color(value);\r\n value = \"rgba(\".concat(color.r, \",\").concat(color.g, \",\").concat(color.b, \",\").concat(options.opacity, \")\")\r\n }\r\n } else {\r\n key = \"font-\" + key\r\n }\r\n fontOptions[key] = value\r\n }));\r\n return fontOptions\r\n};\r\nexport function convertPolarToXY(centerCoords, startAngle, angle, radius) {\r\n var normalizedRadius = radius > 0 ? radius : 0;\r\n angle = isDefined(angle) ? angle + startAngle - 90 : 0;\r\n var cosSin = getCosAndSin(angle);\r\n return {\r\n x: _round(centerCoords.x + normalizedRadius * cosSin.cos),\r\n y: _round(centerCoords.y + normalizedRadius * cosSin.sin)\r\n }\r\n}\r\nexport var convertXYToPolar = function(centerCoords, x, y) {\r\n var radius = getDistance(centerCoords.x, centerCoords.y, x, y);\r\n var angle = atan2(y - centerCoords.y, x - centerCoords.x);\r\n return {\r\n phi: _round(normalizeAngle(180 * angle / PI)),\r\n r: _round(radius)\r\n }\r\n};\r\nexport var processSeriesTemplate = function(seriesTemplate, items) {\r\n var customizeSeries = isFunction(seriesTemplate.customizeSeries) ? seriesTemplate.customizeSeries : noop;\r\n var nameField = seriesTemplate.nameField;\r\n var generatedSeries = {};\r\n var seriesOrder = [];\r\n var series;\r\n var i = 0;\r\n var length;\r\n var data;\r\n items = items || [];\r\n for (length = items.length; i < length; i++) {\r\n data = items[i];\r\n if (nameField in data) {\r\n series = generatedSeries[data[nameField]];\r\n if (!series) {\r\n series = generatedSeries[data[nameField]] = {\r\n name: data[nameField],\r\n nameFieldValue: data[nameField]\r\n };\r\n seriesOrder.push(series.name)\r\n }\r\n }\r\n }\r\n return map(seriesOrder, (function(orderedName) {\r\n var group = generatedSeries[orderedName];\r\n return extend(group, customizeSeries.call(null, group.name))\r\n }))\r\n};\r\nexport var getCategoriesInfo = function(categories, startValue, endValue) {\r\n if (0 === categories.length) {\r\n return {\r\n categories: []\r\n }\r\n }\r\n startValue = isDefined(startValue) ? startValue : categories[0];\r\n endValue = isDefined(endValue) ? endValue : categories[categories.length - 1];\r\n var categoriesValue = map(categories, category => null === category || void 0 === category ? void 0 : category.valueOf());\r\n var indexStartValue = categoriesValue.indexOf(startValue.valueOf());\r\n var indexEndValue = categoriesValue.indexOf(endValue.valueOf());\r\n var swapBuf;\r\n var inverted = false;\r\n indexStartValue < 0 && (indexStartValue = 0);\r\n indexEndValue < 0 && (indexEndValue = categories.length - 1);\r\n if (indexEndValue < indexStartValue) {\r\n swapBuf = indexEndValue;\r\n indexEndValue = indexStartValue;\r\n indexStartValue = swapBuf;\r\n inverted = true\r\n }\r\n var visibleCategories = categories.slice(indexStartValue, indexEndValue + 1);\r\n var lastIdx = visibleCategories.length - 1;\r\n return {\r\n categories: visibleCategories,\r\n start: visibleCategories[inverted ? lastIdx : 0],\r\n end: visibleCategories[inverted ? 0 : lastIdx],\r\n inverted: inverted\r\n }\r\n};\r\nexport function isRelativeHeightPane(pane) {\r\n return !(pane.unit % 2)\r\n}\r\nexport function normalizePanesHeight(panes) {\r\n panes.forEach(pane => {\r\n var height = pane.height;\r\n var unit = 0;\r\n var parsedHeight = parseFloat(height) || void 0;\r\n if (isString(height) && height.indexOf(\"px\") > -1 || isNumeric(height) && height > 1) {\r\n parsedHeight = _round(parsedHeight);\r\n unit = 1\r\n }\r\n if (!unit && parsedHeight) {\r\n if (isString(height) && height.indexOf(\"%\") > -1) {\r\n parsedHeight /= 100;\r\n unit = 2\r\n } else if (parsedHeight < 0) {\r\n parsedHeight = parsedHeight < -1 ? 1 : abs(parsedHeight)\r\n }\r\n }\r\n pane.height = parsedHeight;\r\n pane.unit = unit\r\n });\r\n var relativeHeightPanes = panes.filter(isRelativeHeightPane);\r\n var weightSum = relativeHeightPanes.reduce((prev, next) => prev + (next.height || 0), 0);\r\n var weightHeightCount = relativeHeightPanes.length;\r\n var emptyHeightPanes = relativeHeightPanes.filter(pane => !pane.height);\r\n var emptyHeightCount = emptyHeightPanes.length;\r\n if (weightSum < 1 && emptyHeightCount) {\r\n emptyHeightPanes.forEach(pane => pane.height = (1 - weightSum) / emptyHeightCount)\r\n } else if (weightSum > 1 || weightSum < 1 && !emptyHeightCount || 1 === weightSum && emptyHeightCount) {\r\n if (emptyHeightCount) {\r\n var weightForEmpty = weightSum / weightHeightCount;\r\n var emptyWeightSum = emptyHeightCount * weightForEmpty;\r\n relativeHeightPanes.filter(pane => pane.height).forEach(pane => pane.height *= (weightSum - emptyWeightSum) / weightSum);\r\n emptyHeightPanes.forEach(pane => pane.height = weightForEmpty)\r\n }\r\n relativeHeightPanes.forEach(pane => pane.height *= 1 / weightSum)\r\n }\r\n}\r\nexport function updatePanesCanvases(panes, canvas, rotated) {\r\n var distributedSpace = 0;\r\n var padding = PANE_PADDING;\r\n var paneSpace = rotated ? canvas.width - canvas.left - canvas.right : canvas.height - canvas.top - canvas.bottom;\r\n var totalCustomSpace = panes.reduce((prev, cur) => prev + (!isRelativeHeightPane(cur) ? cur.height : 0), 0);\r\n var usefulSpace = paneSpace - padding * (panes.length - 1) - totalCustomSpace;\r\n var startName = rotated ? \"left\" : \"top\";\r\n var endName = rotated ? \"right\" : \"bottom\";\r\n panes.forEach(pane => {\r\n var calcLength = !isRelativeHeightPane(pane) ? pane.height : _round(pane.height * usefulSpace);\r\n pane.canvas = pane.canvas || {};\r\n extend(pane.canvas, canvas);\r\n pane.canvas[startName] = canvas[startName] + distributedSpace;\r\n pane.canvas[endName] = canvas[endName] + (paneSpace - calcLength - distributedSpace);\r\n distributedSpace = distributedSpace + calcLength + padding;\r\n setCanvasValues(pane.canvas)\r\n })\r\n}\r\nexport var unique = function(array) {\r\n var values = {};\r\n return map(array, (function(item) {\r\n var result = !values[item] ? item : null;\r\n values[item] = true;\r\n return result\r\n }))\r\n};\r\nexport var getVerticallyShiftedAngularCoords = function(bBox, dy, center) {\r\n var isPositive = bBox.x + bBox.width / 2 >= center.x;\r\n var horizontalOffset1 = (isPositive ? bBox.x : bBox.x + bBox.width) - center.x;\r\n var verticalOffset1 = bBox.y - center.y;\r\n var verticalOffset2 = verticalOffset1 + dy;\r\n var horizontalOffset2 = _round(sqrt(horizontalOffset1 * horizontalOffset1 + verticalOffset1 * verticalOffset1 - verticalOffset2 * verticalOffset2));\r\n var dx = (isPositive ? +horizontalOffset2 : -horizontalOffset2) || horizontalOffset1;\r\n return {\r\n x: center.x + (isPositive ? dx : dx - bBox.width),\r\n y: bBox.y + dy\r\n }\r\n};\r\nexport function mergeMarginOptions(opt1, opt2) {\r\n return {\r\n checkInterval: opt1.checkInterval || opt2.checkInterval,\r\n size: _max(opt1.size || 0, opt2.size || 0),\r\n percentStick: opt1.percentStick || opt2.percentStick,\r\n sizePointNormalState: _max(opt1.sizePointNormalState || 0, opt2.sizePointNormalState || 0)\r\n }\r\n}\r\nexport function getVizRangeObject(value) {\r\n if (Array.isArray(value)) {\r\n return {\r\n startValue: value[0],\r\n endValue: value[1]\r\n }\r\n } else {\r\n return value || {}\r\n }\r\n}\r\nexport function normalizeArcParams(x, y, innerRadius, outerRadius, startAngle, endAngle) {\r\n var isCircle;\r\n var noArc = true;\r\n var angleDiff = roundValue(endAngle, 3) - roundValue(startAngle, 3);\r\n if (angleDiff) {\r\n if (abs(angleDiff) % 360 === 0) {\r\n startAngle = 0;\r\n endAngle = 360;\r\n isCircle = true;\r\n endAngle -= .01\r\n }\r\n if (startAngle > 360) {\r\n startAngle %= 360\r\n }\r\n if (endAngle > 360) {\r\n endAngle %= 360\r\n }\r\n if (startAngle > endAngle) {\r\n startAngle -= 360\r\n }\r\n noArc = false\r\n }\r\n startAngle *= PI_DIV_180;\r\n endAngle *= PI_DIV_180;\r\n return [x, y, Math.min(outerRadius, innerRadius), Math.max(outerRadius, innerRadius), Math.cos(startAngle), Math.sin(startAngle), Math.cos(endAngle), Math.sin(endAngle), isCircle, floor(abs(endAngle - startAngle) / PI) % 2 ? \"1\" : \"0\", noArc]\r\n}\r\nexport function convertVisualRangeObject(visualRange, convertToVisualRange) {\r\n if (convertToVisualRange) {\r\n return visualRange\r\n }\r\n return [visualRange.startValue, visualRange.endValue]\r\n}\r\nexport function getAddFunction(range, correctZeroLevel) {\r\n if (\"datetime\" === range.dataType) {\r\n return function(rangeValue, marginValue) {\r\n var sign = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1;\r\n return new Date(rangeValue.getTime() + sign * marginValue)\r\n }\r\n }\r\n if (\"logarithmic\" === range.axisType) {\r\n return function(rangeValue, marginValue) {\r\n var sign = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1;\r\n var log = getLogExt(rangeValue, range.base) + sign * marginValue;\r\n return raiseToExt(log, range.base)\r\n }\r\n }\r\n return function(rangeValue, marginValue) {\r\n var sign = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1;\r\n var newValue = rangeValue + sign * marginValue;\r\n return correctZeroLevel && newValue * rangeValue <= 0 ? 0 : newValue\r\n }\r\n}\r\nexport function adjustVisualRange(options, visualRange, wholeRange, dataRange) {\r\n var minDefined = isDefined(visualRange.startValue);\r\n var maxDefined = isDefined(visualRange.endValue);\r\n var nonDiscrete = \"discrete\" !== options.axisType;\r\n dataRange = dataRange || wholeRange;\r\n var add = getAddFunction(options, false);\r\n var min = minDefined ? visualRange.startValue : dataRange.min;\r\n var max = maxDefined ? visualRange.endValue : dataRange.max;\r\n var rangeLength = visualRange.length;\r\n var categories = dataRange.categories;\r\n if (nonDiscrete && !isDefined(min) && !isDefined(max)) {\r\n return {\r\n startValue: min,\r\n endValue: max\r\n }\r\n }\r\n if (isDefined(rangeLength)) {\r\n if (nonDiscrete) {\r\n if (\"datetime\" === options.dataType && !isNumeric(rangeLength)) {\r\n rangeLength = dateToMilliseconds(rangeLength)\r\n }\r\n if (maxDefined && !minDefined || !maxDefined && !minDefined) {\r\n isDefined(wholeRange.max) && (max = max > wholeRange.max ? wholeRange.max : max);\r\n min = add(max, rangeLength, -1)\r\n } else if (minDefined && !maxDefined) {\r\n isDefined(wholeRange.min) && (min = min < wholeRange.min ? wholeRange.min : min);\r\n max = add(min, rangeLength)\r\n }\r\n } else {\r\n rangeLength = parseInt(rangeLength);\r\n if (!isNaN(rangeLength) && isFinite(rangeLength)) {\r\n rangeLength--;\r\n if (!maxDefined && !minDefined) {\r\n max = categories[categories.length - 1];\r\n min = categories[categories.length - 1 - rangeLength]\r\n } else if (minDefined && !maxDefined) {\r\n var categoriesInfo = getCategoriesInfo(categories, min, void 0);\r\n max = categoriesInfo.categories[rangeLength]\r\n } else if (!minDefined && maxDefined) {\r\n var _categoriesInfo = getCategoriesInfo(categories, void 0, max);\r\n min = _categoriesInfo.categories[_categoriesInfo.categories.length - 1 - rangeLength]\r\n }\r\n }\r\n }\r\n }\r\n if (nonDiscrete) {\r\n if (isDefined(wholeRange.max) && max > wholeRange.max) {\r\n max = wholeRange.max\r\n }\r\n if (isDefined(wholeRange.min) && min < wholeRange.min) {\r\n min = wholeRange.min\r\n }\r\n }\r\n return {\r\n startValue: min,\r\n endValue: max\r\n }\r\n}\r\nexport function getLogExt(value, base) {\r\n var allowNegatives = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n var linearThreshold = arguments.length > 3 ? arguments[3] : void 0;\r\n if (!allowNegatives) {\r\n return getLog(value, base)\r\n }\r\n if (0 === value) {\r\n return 0\r\n }\r\n var transformValue = getLog(abs(value), base) - (linearThreshold - 1);\r\n if (transformValue < 0) {\r\n return 0\r\n }\r\n return adjust(sign(value) * transformValue, Number(pow(base, linearThreshold - 1).toFixed(abs(linearThreshold))))\r\n}\r\nexport function raiseToExt(value, base) {\r\n var allowNegatives = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n var linearThreshold = arguments.length > 3 ? arguments[3] : void 0;\r\n if (!allowNegatives) {\r\n return raiseTo(value, base)\r\n }\r\n if (0 === value) {\r\n return 0\r\n }\r\n var transformValue = raiseTo(abs(value) + (linearThreshold - 1), base);\r\n if (transformValue < 0) {\r\n return 0\r\n }\r\n return adjust(sign(value) * transformValue, Number(pow(base, linearThreshold).toFixed(abs(linearThreshold))))\r\n}\r\nexport function rangesAreEqual(range, rangeFromOptions) {\r\n if (Array.isArray(rangeFromOptions)) {\r\n return range.length === rangeFromOptions.length && range.every((item, i) => valueOf(item) === valueOf(rangeFromOptions[i]))\r\n } else {\r\n return valueOf(range.startValue) === valueOf(rangeFromOptions.startValue) && valueOf(range.endValue) === valueOf(rangeFromOptions.endValue)\r\n }\r\n}\r\nexport function valueOf(value) {\r\n return value && value.valueOf()\r\n}\r\nexport function pointInCanvas(canvas, x, y) {\r\n return x >= canvas.left && x <= canvas.right && y >= canvas.top && y <= canvas.bottom\r\n}\r\nexport var getNextDefsSvgId = () => \"DevExpress_\".concat(numDefsSvgElements++);\r\nexport function extractColor(color, isBase) {\r\n if (isString(color) || !color) {\r\n return color\r\n } else if (isBase) {\r\n return color.base\r\n } else {\r\n return color.fillId || color.base\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/type.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar types = {\r\n \"[object Array]\": \"array\",\r\n \"[object Date]\": \"date\",\r\n \"[object Object]\": \"object\",\r\n \"[object String]\": \"string\"\r\n};\r\nvar type = function(object) {\r\n if (null === object) {\r\n return \"null\"\r\n }\r\n var typeOfObject = Object.prototype.toString.call(object);\r\n return \"object\" === typeof object ? types[typeOfObject] || \"object\" : typeof object\r\n};\r\nvar isBoolean = function(object) {\r\n return \"boolean\" === typeof object\r\n};\r\nvar isExponential = function(value) {\r\n return isNumeric(value) && -1 !== value.toString().indexOf(\"e\")\r\n};\r\nvar isDate = function(object) {\r\n return \"date\" === type(object)\r\n};\r\nvar isDefined = function(object) {\r\n return null !== object && void 0 !== object\r\n};\r\nvar isFunction = function(object) {\r\n return \"function\" === typeof object\r\n};\r\nvar isString = function(object) {\r\n return \"string\" === typeof object\r\n};\r\nvar isNumeric = function(object) {\r\n return \"number\" === typeof object && isFinite(object) || !isNaN(object - parseFloat(object))\r\n};\r\nvar isObject = function(object) {\r\n return \"object\" === type(object)\r\n};\r\nvar isEmptyObject = function(object) {\r\n var property;\r\n for (property in object) {\r\n return false\r\n }\r\n return true\r\n};\r\nvar isPlainObject = function(object) {\r\n if (!object || \"object\" !== type(object)) {\r\n return false\r\n }\r\n var proto = Object.getPrototypeOf(object);\r\n if (!proto) {\r\n return true\r\n }\r\n var ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\r\n return \"function\" === typeof ctor && Object.toString.call(ctor) === Object.toString.call(Object)\r\n};\r\nvar isPrimitive = function(value) {\r\n return -1 === [\"object\", \"array\", \"function\"].indexOf(type(value))\r\n};\r\nvar isWindow = function(object) {\r\n return null != object && object === object.window\r\n};\r\nvar isRenderer = function(object) {\r\n return !!object && !!(object.jquery || object.dxRenderer)\r\n};\r\nvar isPromise = function(object) {\r\n return !!object && isFunction(object.then)\r\n};\r\nvar isDeferred = function(object) {\r\n return !!object && isFunction(object.done) && isFunction(object.fail)\r\n};\r\nvar isEvent = function(object) {\r\n return !!(object && object.preventDefault)\r\n};\r\nexport {\r\n isBoolean,\r\n isExponential,\r\n isDate,\r\n isDefined,\r\n isFunction,\r\n isString,\r\n isNumeric,\r\n isObject,\r\n isEmptyObject,\r\n isPlainObject,\r\n isPrimitive,\r\n isWindow,\r\n isRenderer,\r\n isPromise,\r\n isDeferred,\r\n type,\r\n isEvent\r\n};\r\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzm = moment.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n monthsShort:\n 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzm;\n\n})));\n","//! moment.js\n//! version : 2.30.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n var flags = null,\n parsedParts = false,\n isNowValid = m._d && !isNaN(m._d.getTime());\n if (isNowValid) {\n flags = getParsingFlags(m);\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n isNowValid =\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n }\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {\n D: 'date',\n dates: 'date',\n date: 'date',\n d: 'day',\n days: 'day',\n day: 'day',\n e: 'weekday',\n weekdays: 'weekday',\n weekday: 'weekday',\n E: 'isoWeekday',\n isoweekdays: 'isoWeekday',\n isoweekday: 'isoWeekday',\n DDD: 'dayOfYear',\n dayofyears: 'dayOfYear',\n dayofyear: 'dayOfYear',\n h: 'hour',\n hours: 'hour',\n hour: 'hour',\n ms: 'millisecond',\n milliseconds: 'millisecond',\n millisecond: 'millisecond',\n m: 'minute',\n minutes: 'minute',\n minute: 'minute',\n M: 'month',\n months: 'month',\n month: 'month',\n Q: 'quarter',\n quarters: 'quarter',\n quarter: 'quarter',\n s: 'second',\n seconds: 'second',\n second: 'second',\n gg: 'weekYear',\n weekyears: 'weekYear',\n weekyear: 'weekYear',\n GG: 'isoWeekYear',\n isoweekyears: 'isoWeekYear',\n isoweekyear: 'isoWeekYear',\n w: 'week',\n weeks: 'week',\n week: 'week',\n W: 'isoWeek',\n isoweeks: 'isoWeek',\n isoweek: 'isoWeek',\n y: 'year',\n years: 'year',\n year: 'year',\n };\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {\n date: 9,\n day: 11,\n weekday: 11,\n isoWeekday: 11,\n dayOfYear: 4,\n hour: 13,\n millisecond: 16,\n minute: 14,\n month: 8,\n quarter: 7,\n second: 15,\n weekYear: 1,\n isoWeekYear: 1,\n week: 5,\n isoWeek: 5,\n year: 1,\n };\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n match1to2NoLeadingZero = /^[1-9]\\d?/, // 1-99\n match1to2HasZero = /^([1-9]\\d|\\d)/, // 0-99\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n if (!mom.isValid()) {\n return NaN;\n }\n\n var d = mom._d,\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n case 'Seconds':\n return isUTC ? d.getUTCSeconds() : d.getSeconds();\n case 'Minutes':\n return isUTC ? d.getUTCMinutes() : d.getMinutes();\n case 'Hours':\n return isUTC ? d.getUTCHours() : d.getHours();\n case 'Date':\n return isUTC ? d.getUTCDate() : d.getDate();\n case 'Day':\n return isUTC ? d.getUTCDay() : d.getDay();\n case 'Month':\n return isUTC ? d.getUTCMonth() : d.getMonth();\n case 'FullYear':\n return isUTC ? d.getUTCFullYear() : d.getFullYear();\n default:\n return NaN; // Just in case\n }\n }\n\n function set$1(mom, unit, value) {\n var d, isUTC, year, month, date;\n\n if (!mom.isValid() || isNaN(value)) {\n return;\n }\n\n d = mom._d;\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return void (isUTC\n ? d.setUTCMilliseconds(value)\n : d.setMilliseconds(value));\n case 'Seconds':\n return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n case 'Minutes':\n return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n case 'Hours':\n return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n case 'Date':\n return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n // case 'Day': // Not real\n // return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n // case 'Month': // Not used because we need to pass two variables\n // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n case 'FullYear':\n break; // See below ...\n default:\n return; // Just in case\n }\n\n year = value;\n month = mom.month();\n date = mom.date();\n date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n void (isUTC\n ? d.setUTCFullYear(year, month, date)\n : d.setFullYear(year, month, date));\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // PARSING\n\n addRegexToken('M', match1to2, match1to2NoLeadingZero);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n var month = value,\n date = mom.date();\n\n date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n void (mom._isUTC\n ? mom._d.setUTCMonth(month, date)\n : mom._d.setMonth(month, date));\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n shortP,\n longP;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortP = regexEscape(this.monthsShort(mom, ''));\n longP = regexEscape(this.months(mom, ''));\n shortPieces.push(shortP);\n longPieces.push(longP);\n mixedPieces.push(longP);\n mixedPieces.push(shortP);\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // PARSING\n\n addRegexToken('w', match1to2, match1to2NoLeadingZero);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2, match1to2NoLeadingZero);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var day = get(this, 'Day');\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2, match1to2HasZero);\n addRegexToken('h', match1to2, match1to2NoLeadingZero);\n addRegexToken('k', match1to2, match1to2NoLeadingZero);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n // Ensure name is available and function returns boolean\n return !!(name && name.match('^[^/\\\\\\\\]*$'));\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n erasName,\n erasAbbr,\n erasNarrow,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n erasName = regexEscape(eras[i].name);\n erasAbbr = regexEscape(eras[i].abbr);\n erasNarrow = regexEscape(eras[i].narrow);\n\n namePieces.push(erasName);\n abbrPieces.push(erasAbbr);\n narrowPieces.push(erasNarrow);\n mixedPieces.push(erasName);\n mixedPieces.push(erasAbbr);\n mixedPieces.push(erasNarrow);\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday() + this.localeData()._week.dow,\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // PARSING\n\n addRegexToken('D', match1to2, match1to2NoLeadingZero);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // PARSING\n\n addRegexToken('m', match1to2, match1to2HasZero);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // PARSING\n\n addRegexToken('s', match1to2, match1to2HasZero);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y'),\n valueOf$1 = asMilliseconds;\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.30.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n TIME: 'HH:mm', // <input type=\"time\" />\n TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n MONTH: 'YYYY-MM', // <input type=\"month\" />\n };\n\n return hooks;\n\n})));\n","/**\r\n * DevExtreme (esm/core/utils/public_component.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n data as elementData\r\n} from \"../../core/element_data\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n removeEvent\r\n} from \"../../events/remove\";\r\nvar COMPONENT_NAMES_DATA_KEY = \"dxComponents\";\r\nvar ANONYMOUS_COMPONENT_DATA_KEY = \"dxPrivateComponent\";\r\nvar componentNames = new WeakMap;\r\nvar nextAnonymousComponent = 0;\r\nvar getName = function(componentClass, newName) {\r\n if (isDefined(newName)) {\r\n componentNames.set(componentClass, newName);\r\n return\r\n }\r\n if (!componentNames.has(componentClass)) {\r\n var generatedName = ANONYMOUS_COMPONENT_DATA_KEY + nextAnonymousComponent++;\r\n componentNames.set(componentClass, generatedName);\r\n return generatedName\r\n }\r\n return componentNames.get(componentClass)\r\n};\r\nexport function attachInstanceToElement($element, componentInstance, disposeFn) {\r\n var data = elementData($element.get(0));\r\n var name = getName(componentInstance.constructor);\r\n data[name] = componentInstance;\r\n if (disposeFn) {\r\n eventsEngine.one($element, removeEvent, (function() {\r\n disposeFn.call(componentInstance)\r\n }))\r\n }\r\n if (!data[COMPONENT_NAMES_DATA_KEY]) {\r\n data[COMPONENT_NAMES_DATA_KEY] = []\r\n }\r\n data[COMPONENT_NAMES_DATA_KEY].push(name)\r\n}\r\nexport function getInstanceByElement($element, componentClass) {\r\n var name = getName(componentClass);\r\n return elementData($element.get(0), name)\r\n}\r\nexport {\r\n getName as name\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/radio_group/radio_button.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport Editor from \"../editor/editor\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nvar RADIO_BUTTON_CLASS = \"dx-radiobutton\";\r\nvar RADIO_BUTTON_ICON_CLASS = \"dx-radiobutton-icon\";\r\nvar RADIO_BUTTON_ICON_DOT_CLASS = \"dx-radiobutton-icon-dot\";\r\nvar RADIO_BUTTON_CHECKED_CLASS = \"dx-radiobutton-checked\";\r\nvar RADIO_BUTTON_ICON_CHECKED_CLASS = \"dx-radiobutton-icon-checked\";\r\nvar RadioButton = Editor.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n space: function(e) {\r\n e.preventDefault();\r\n this._clickAction({\r\n event: e\r\n })\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n value: false\r\n })\r\n },\r\n _canValueBeChangedByClick: function() {\r\n return true\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(RADIO_BUTTON_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderIcon();\r\n this._renderCheckedState(this.option(\"value\"));\r\n this._renderClick();\r\n this.setAria(\"role\", \"radio\")\r\n },\r\n _renderIcon: function() {\r\n this._$icon = $(\"<div>\").addClass(RADIO_BUTTON_ICON_CLASS);\r\n $(\"<div>\").addClass(RADIO_BUTTON_ICON_DOT_CLASS).appendTo(this._$icon);\r\n this.$element().append(this._$icon)\r\n },\r\n _renderCheckedState: function(checked) {\r\n this.$element().toggleClass(RADIO_BUTTON_CHECKED_CLASS, checked).find(\".\" + RADIO_BUTTON_ICON_CLASS).toggleClass(RADIO_BUTTON_ICON_CHECKED_CLASS, checked);\r\n this.setAria(\"checked\", checked)\r\n },\r\n _renderClick: function() {\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n this._clickAction = this._createAction(function(args) {\r\n this._clickHandler(args.event)\r\n }.bind(this));\r\n eventsEngine.off(this.$element(), eventName);\r\n eventsEngine.on(this.$element(), eventName, function(e) {\r\n this._clickAction({\r\n event: e\r\n })\r\n }.bind(this))\r\n },\r\n _clickHandler: function(e) {\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", true)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"value\":\r\n this._renderCheckedState(args.value);\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxRadioButton\", RadioButton);\r\nexport default RadioButton;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.selection.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport CheckBox from \"../check_box\";\r\nimport RadioButton from \"../radio_group/radio_button\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nvar SELECT_DECORATOR_ENABLED_CLASS = \"dx-list-select-decorator-enabled\";\r\nvar SELECT_DECORATOR_SELECT_ALL_CLASS = \"dx-list-select-all\";\r\nvar SELECT_DECORATOR_SELECT_ALL_CHECKBOX_CLASS = \"dx-list-select-all-checkbox\";\r\nvar SELECT_DECORATOR_SELECT_ALL_LABEL_CLASS = \"dx-list-select-all-label\";\r\nvar SELECT_CHECKBOX_CONTAINER_CLASS = \"dx-list-select-checkbox-container\";\r\nvar SELECT_CHECKBOX_CLASS = \"dx-list-select-checkbox\";\r\nvar SELECT_RADIO_BUTTON_CONTAINER_CLASS = \"dx-list-select-radiobutton-container\";\r\nvar SELECT_RADIO_BUTTON_CLASS = \"dx-list-select-radiobutton\";\r\nvar FOCUSED_STATE_CLASS = \"dx-state-focused\";\r\nvar CLICK_EVENT_NAME = addNamespace(clickEventName, \"dxListEditDecorator\");\r\nregisterDecorator(\"selection\", \"default\", EditDecorator.inherit({\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n var selectionMode = this._list.option(\"selectionMode\");\r\n this._singleStrategy = \"single\" === selectionMode;\r\n this._containerClass = this._singleStrategy ? SELECT_RADIO_BUTTON_CONTAINER_CLASS : SELECT_CHECKBOX_CONTAINER_CLASS;\r\n this._controlClass = this._singleStrategy ? SELECT_RADIO_BUTTON_CLASS : SELECT_CHECKBOX_CLASS;\r\n this._controlWidget = this._singleStrategy ? RadioButton : CheckBox;\r\n this._list.$element().addClass(SELECT_DECORATOR_ENABLED_CLASS)\r\n },\r\n beforeBag: function(config) {\r\n var $itemElement = config.$itemElement;\r\n var $container = config.$container.addClass(this._containerClass);\r\n var $control = $(\"<div>\").addClass(this._controlClass).appendTo($container);\r\n new this._controlWidget($control, extend(this._commonOptions(), {\r\n value: this._isSelected($itemElement),\r\n elementAttr: {\r\n \"aria-label\": \"Check State\"\r\n },\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n onValueChanged: function(e) {\r\n e.event && this._list._saveSelectionChangeEvent(e.event);\r\n this._processCheckedState($itemElement, e.value);\r\n e.event && e.event.stopPropagation()\r\n }.bind(this)\r\n }))\r\n },\r\n modifyElement: function(config) {\r\n this.callBase.apply(this, arguments);\r\n var $itemElement = config.$itemElement;\r\n var control = this._controlWidget.getInstance($itemElement.find(\".\" + this._controlClass));\r\n eventsEngine.on($itemElement, \"stateChanged\", function(e, state) {\r\n control.option(\"value\", state)\r\n }.bind(this))\r\n },\r\n _updateSelectAllState: function() {\r\n if (!this._$selectAll) {\r\n return\r\n }\r\n this._selectAllCheckBox.option(\"value\", this._list.isSelectAll())\r\n },\r\n afterRender: function() {\r\n if (\"all\" !== this._list.option(\"selectionMode\")) {\r\n return\r\n }\r\n if (!this._$selectAll) {\r\n this._renderSelectAll()\r\n } else {\r\n this._updateSelectAllState()\r\n }\r\n },\r\n handleKeyboardEvents: function(currentFocusedIndex, moveFocusUp) {\r\n var moveFocusDown = !moveFocusUp;\r\n var list = this._list;\r\n var $selectAll = this._$selectAll;\r\n var lastItemIndex = list._getLastItemIndex();\r\n var isFocusOutOfList = moveFocusUp && 0 === currentFocusedIndex || moveFocusDown && currentFocusedIndex === lastItemIndex;\r\n var hasSelectAllItem = !!$selectAll;\r\n if (hasSelectAllItem && isFocusOutOfList) {\r\n list.option(\"focusedElement\", $selectAll);\r\n list.scrollToItem(list.option(\"focusedElement\"));\r\n return true\r\n }\r\n return false\r\n },\r\n handleEnterPressing: function(e) {\r\n if (this._$selectAll && this._$selectAll.hasClass(FOCUSED_STATE_CLASS)) {\r\n e.target = this._$selectAll.get(0);\r\n this._list._saveSelectionChangeEvent(e);\r\n this._selectAllCheckBox.option(\"value\", !this._selectAllCheckBox.option(\"value\"));\r\n return true\r\n }\r\n },\r\n _renderSelectAll: function() {\r\n var $selectAll = this._$selectAll = $(\"<div>\").addClass(SELECT_DECORATOR_SELECT_ALL_CLASS);\r\n var list = this._list;\r\n var downArrowHandler = list._supportedKeys().downArrow.bind(list);\r\n this._selectAllCheckBox = list._createComponent($(\"<div>\").addClass(SELECT_DECORATOR_SELECT_ALL_CHECKBOX_CLASS).appendTo($selectAll), CheckBox, {\r\n elementAttr: {\r\n \"aria-label\": \"Select All\"\r\n },\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false\r\n });\r\n this._selectAllCheckBox.registerKeyHandler(\"downArrow\", downArrowHandler);\r\n $(\"<div>\").addClass(SELECT_DECORATOR_SELECT_ALL_LABEL_CLASS).text(this._list.option(\"selectAllText\")).appendTo($selectAll);\r\n this._list.itemsContainer().prepend($selectAll);\r\n this._updateSelectAllState();\r\n this._attachSelectAllHandler()\r\n },\r\n _attachSelectAllHandler: function() {\r\n this._selectAllCheckBox.option(\"onValueChanged\", this._selectAllHandler.bind(this));\r\n eventsEngine.off(this._$selectAll, CLICK_EVENT_NAME);\r\n eventsEngine.on(this._$selectAll, CLICK_EVENT_NAME, this._selectAllClickHandler.bind(this))\r\n },\r\n _selectAllHandler: function(e) {\r\n e.event && e.event.stopPropagation();\r\n var isSelectedAll = this._selectAllCheckBox.option(\"value\");\r\n e.event && this._list._saveSelectionChangeEvent(e.event);\r\n if (true === isSelectedAll) {\r\n this._selectAllItems()\r\n } else if (false === isSelectedAll) {\r\n this._unselectAllItems()\r\n }\r\n this._list._createActionByOption(\"onSelectAllValueChanged\")({\r\n value: isSelectedAll\r\n })\r\n },\r\n _checkSelectAllCapability: function() {\r\n var list = this._list;\r\n var dataController = list._dataController;\r\n if (\"allPages\" === list.option(\"selectAllMode\") && list.option(\"grouped\") && !dataController.group()) {\r\n errors.log(\"W1010\");\r\n return false\r\n }\r\n return true\r\n },\r\n _selectAllItems: function() {\r\n if (!this._checkSelectAllCapability()) {\r\n return\r\n }\r\n this._list._selection.selectAll(\"page\" === this._list.option(\"selectAllMode\"))\r\n },\r\n _unselectAllItems: function() {\r\n if (!this._checkSelectAllCapability()) {\r\n return\r\n }\r\n this._list._selection.deselectAll(\"page\" === this._list.option(\"selectAllMode\"))\r\n },\r\n _selectAllClickHandler: function(e) {\r\n this._list._saveSelectionChangeEvent(e);\r\n this._selectAllCheckBox.option(\"value\", !this._selectAllCheckBox.option(\"value\"))\r\n },\r\n _isSelected: function($itemElement) {\r\n return this._list.isItemSelected($itemElement)\r\n },\r\n _processCheckedState: function($itemElement, checked) {\r\n if (checked) {\r\n this._list.selectItem($itemElement)\r\n } else {\r\n this._list.unselectItem($itemElement)\r\n }\r\n },\r\n dispose: function() {\r\n this._disposeSelectAll();\r\n this._list.$element().removeClass(SELECT_DECORATOR_ENABLED_CLASS);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _disposeSelectAll: function() {\r\n if (this._$selectAll) {\r\n this._$selectAll.remove();\r\n this._$selectAll = null\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/ui/overlay/overlay_position_controller.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isDefined,\r\n isString,\r\n isWindow,\r\n isEvent\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport positionUtils from \"../../animation/position\";\r\nimport {\r\n resetPosition,\r\n move,\r\n locate\r\n} from \"../../animation/translator\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport swatch from \"../widget/swatch_container\";\r\nvar window = getWindow();\r\nvar OVERLAY_POSITION_ALIASES = {\r\n top: {\r\n my: \"top center\",\r\n at: \"top center\"\r\n },\r\n bottom: {\r\n my: \"bottom center\",\r\n at: \"bottom center\"\r\n },\r\n right: {\r\n my: \"right center\",\r\n at: \"right center\"\r\n },\r\n left: {\r\n my: \"left center\",\r\n at: \"left center\"\r\n },\r\n center: {\r\n my: \"center\",\r\n at: \"center\"\r\n },\r\n \"right bottom\": {\r\n my: \"right bottom\",\r\n at: \"right bottom\"\r\n },\r\n \"right top\": {\r\n my: \"right top\",\r\n at: \"right top\"\r\n },\r\n \"left bottom\": {\r\n my: \"left bottom\",\r\n at: \"left bottom\"\r\n },\r\n \"left top\": {\r\n my: \"left top\",\r\n at: \"left top\"\r\n }\r\n};\r\nvar OVERLAY_DEFAULT_BOUNDARY_OFFSET = {\r\n h: 0,\r\n v: 0\r\n};\r\nclass OverlayPositionController {\r\n constructor(_ref) {\r\n var {\r\n position: position,\r\n container: container,\r\n visualContainer: visualContainer,\r\n $root: $root,\r\n $content: $content,\r\n $wrapper: $wrapper,\r\n onPositioned: onPositioned,\r\n onVisualPositionChanged: onVisualPositionChanged,\r\n restorePosition: restorePosition,\r\n _fixWrapperPosition: _fixWrapperPosition,\r\n _skipContentPositioning: _skipContentPositioning\r\n } = _ref;\r\n this._props = {\r\n position: position,\r\n container: container,\r\n visualContainer: visualContainer,\r\n restorePosition: restorePosition,\r\n onPositioned: onPositioned,\r\n onVisualPositionChanged: onVisualPositionChanged,\r\n _fixWrapperPosition: _fixWrapperPosition,\r\n _skipContentPositioning: _skipContentPositioning\r\n };\r\n this._$root = $root;\r\n this._$content = $content;\r\n this._$wrapper = $wrapper;\r\n this._$markupContainer = void 0;\r\n this._$visualContainer = void 0;\r\n this._shouldRenderContentInitialPosition = true;\r\n this._visualPosition = void 0;\r\n this._initialPosition = void 0;\r\n this._previousVisualPosition = void 0;\r\n this.updateContainer(container);\r\n this.updatePosition(position);\r\n this.updateVisualContainer(visualContainer)\r\n }\r\n get $container() {\r\n this.updateContainer();\r\n return this._$markupContainer\r\n }\r\n get $visualContainer() {\r\n return this._$visualContainer\r\n }\r\n get position() {\r\n return this._position\r\n }\r\n set fixWrapperPosition(fixWrapperPosition) {\r\n this._props._fixWrapperPosition = fixWrapperPosition;\r\n this.styleWrapperPosition()\r\n }\r\n set restorePosition(restorePosition) {\r\n this._props.restorePosition = restorePosition\r\n }\r\n restorePositionOnNextRender(value) {\r\n this._shouldRenderContentInitialPosition = value || !this._visualPosition\r\n }\r\n openingHandled() {\r\n var shouldRestorePosition = this._props.restorePosition;\r\n this.restorePositionOnNextRender(shouldRestorePosition)\r\n }\r\n updatePosition(positionProp) {\r\n this._props.position = positionProp;\r\n this._position = this._normalizePosition(positionProp);\r\n this.updateVisualContainer()\r\n }\r\n updateContainer() {\r\n var containerProp = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._props.container;\r\n this._props.container = containerProp;\r\n this._$markupContainer = containerProp ? $(containerProp) : swatch.getSwatchContainer(this._$root);\r\n this.updateVisualContainer(this._props.visualContainer)\r\n }\r\n updateVisualContainer() {\r\n var visualContainer = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._props.visualContainer;\r\n this._props.visualContainer = visualContainer;\r\n this._$visualContainer = this._getVisualContainer()\r\n }\r\n detectVisualPositionChange(event) {\r\n this._updateVisualPositionValue();\r\n this._raisePositionedEvents(event)\r\n }\r\n positionContent() {\r\n if (this._shouldRenderContentInitialPosition) {\r\n this._renderContentInitialPosition()\r\n } else {\r\n move(this._$content, this._visualPosition);\r\n this.detectVisualPositionChange()\r\n }\r\n }\r\n positionWrapper() {\r\n if (this._$visualContainer) {\r\n positionUtils.setup(this._$wrapper, {\r\n my: \"top left\",\r\n at: \"top left\",\r\n of: this._$visualContainer\r\n })\r\n }\r\n }\r\n styleWrapperPosition() {\r\n var useFixed = isWindow(this.$visualContainer.get(0)) || this._props._fixWrapperPosition;\r\n var positionStyle = useFixed ? \"fixed\" : \"absolute\";\r\n this._$wrapper.css(\"position\", positionStyle)\r\n }\r\n _updateVisualPositionValue() {\r\n this._previousVisualPosition = this._visualPosition;\r\n this._visualPosition = locate(this._$content)\r\n }\r\n _renderContentInitialPosition() {\r\n this._renderBoundaryOffset();\r\n resetPosition(this._$content);\r\n var wrapperOverflow = this._$wrapper.css(\"overflow\");\r\n this._$wrapper.css(\"overflow\", \"hidden\");\r\n if (!this._props._skipContentPositioning) {\r\n var resultPosition = positionUtils.setup(this._$content, this._position);\r\n this._initialPosition = resultPosition\r\n }\r\n this._$wrapper.css(\"overflow\", wrapperOverflow);\r\n this.detectVisualPositionChange()\r\n }\r\n _raisePositionedEvents(event) {\r\n var previousPosition = this._previousVisualPosition;\r\n var newPosition = this._visualPosition;\r\n var isVisualPositionChanged = (null === previousPosition || void 0 === previousPosition ? void 0 : previousPosition.top) !== newPosition.top || (null === previousPosition || void 0 === previousPosition ? void 0 : previousPosition.left) !== newPosition.left;\r\n if (isVisualPositionChanged) {\r\n this._props.onVisualPositionChanged({\r\n previousPosition: previousPosition,\r\n position: newPosition,\r\n event: event\r\n })\r\n }\r\n this._props.onPositioned({\r\n position: this._initialPosition\r\n })\r\n }\r\n _renderBoundaryOffset() {\r\n var _this$_position;\r\n var boundaryOffset = null !== (_this$_position = this._position) && void 0 !== _this$_position ? _this$_position : {\r\n boundaryOffset: OVERLAY_DEFAULT_BOUNDARY_OFFSET\r\n };\r\n this._$content.css(\"margin\", \"\".concat(boundaryOffset.v, \"px \").concat(boundaryOffset.h, \"px\"))\r\n }\r\n _getVisualContainer() {\r\n var _this$_props$position, _this$_props$position2;\r\n var containerProp = this._props.container;\r\n var visualContainerProp = this._props.visualContainer;\r\n var positionOf = isEvent(null === (_this$_props$position = this._props.position) || void 0 === _this$_props$position ? void 0 : _this$_props$position.of) ? this._props.position.of.target : null === (_this$_props$position2 = this._props.position) || void 0 === _this$_props$position2 ? void 0 : _this$_props$position2.of;\r\n if (visualContainerProp) {\r\n return $(visualContainerProp)\r\n }\r\n if (containerProp) {\r\n return $(containerProp)\r\n }\r\n if (positionOf) {\r\n return $(positionOf)\r\n }\r\n return $(window)\r\n }\r\n _normalizePosition(positionProp) {\r\n var defaultPositionConfig = {\r\n boundaryOffset: OVERLAY_DEFAULT_BOUNDARY_OFFSET\r\n };\r\n if (isDefined(positionProp)) {\r\n return extend(true, {}, defaultPositionConfig, this._positionToObject(positionProp))\r\n } else {\r\n return defaultPositionConfig\r\n }\r\n }\r\n _positionToObject(position) {\r\n if (isString(position)) {\r\n return extend({}, OVERLAY_POSITION_ALIASES[position])\r\n }\r\n return position\r\n }\r\n}\r\nexport {\r\n OVERLAY_POSITION_ALIASES,\r\n OverlayPositionController\r\n};\r\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","/**\r\n * DevExtreme (esm/core/version.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var version = \"23.1.12\";\r\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\n\n// src/utils/env.ts\nvar NOTHING = Symbol.for(\"immer-nothing\");\nvar DRAFTABLE = Symbol.for(\"immer-draftable\");\nvar DRAFT_STATE = Symbol.for(\"immer-state\");\n\n// src/utils/errors.ts\nvar errors = process.env.NODE_ENV !== \"production\" ? [\n // All error codes, starting by 0:\n function(plugin) {\n return `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`;\n },\n function(thing) {\n return `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`;\n },\n \"This object has been frozen and should not be mutated\",\n function(data) {\n return \"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" + data;\n },\n \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n \"Immer forbids circular references\",\n \"The first or second argument to `produce` must be a function\",\n \"The third argument to `produce` must be a function or undefined\",\n \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n function(thing) {\n return `'current' expects a draft, got: ${thing}`;\n },\n \"Object.defineProperty() cannot be used on an Immer draft\",\n \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n \"Immer only supports deleting array indices\",\n \"Immer only supports setting array indices and the 'length' property\",\n function(thing) {\n return `'original' expects a draft, got: ${thing}`;\n }\n // Note: if more errors are added, the errorOffset in Patches.ts should be increased\n // See Patches.ts for additional errors\n] : [];\nfunction die(error, ...args) {\n if (process.env.NODE_ENV !== \"production\") {\n const e = errors[error];\n const msg = typeof e === \"function\" ? e.apply(null, args) : e;\n throw new Error(`[Immer] ${msg}`);\n }\n throw new Error(\n `[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`\n );\n}\n\n// src/utils/common.ts\nvar getPrototypeOf = Object.getPrototypeOf;\nfunction isDraft(value) {\n return !!value && !!value[DRAFT_STATE];\n}\nfunction isDraftable(value) {\n var _a;\n if (!value)\n return false;\n return isPlainObject(value) || Array.isArray(value) || !!value[DRAFTABLE] || !!((_a = value.constructor) == null ? void 0 : _a[DRAFTABLE]) || isMap(value) || isSet(value);\n}\nvar objectCtorString = Object.prototype.constructor.toString();\nfunction isPlainObject(value) {\n if (!value || typeof value !== \"object\")\n return false;\n const proto = getPrototypeOf(value);\n if (proto === null) {\n return true;\n }\n const Ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n if (Ctor === Object)\n return true;\n return typeof Ctor == \"function\" && Function.toString.call(Ctor) === objectCtorString;\n}\nfunction original(value) {\n if (!isDraft(value))\n die(15, value);\n return value[DRAFT_STATE].base_;\n}\nfunction each(obj, iter) {\n if (getArchtype(obj) === 0 /* Object */) {\n Reflect.ownKeys(obj).forEach((key) => {\n iter(key, obj[key], obj);\n });\n } else {\n obj.forEach((entry, index) => iter(index, entry, obj));\n }\n}\nfunction getArchtype(thing) {\n const state = thing[DRAFT_STATE];\n return state ? state.type_ : Array.isArray(thing) ? 1 /* Array */ : isMap(thing) ? 2 /* Map */ : isSet(thing) ? 3 /* Set */ : 0 /* Object */;\n}\nfunction has(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.has(prop) : Object.prototype.hasOwnProperty.call(thing, prop);\n}\nfunction get(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.get(prop) : thing[prop];\n}\nfunction set(thing, propOrOldValue, value) {\n const t = getArchtype(thing);\n if (t === 2 /* Map */)\n thing.set(propOrOldValue, value);\n else if (t === 3 /* Set */) {\n thing.add(value);\n } else\n thing[propOrOldValue] = value;\n}\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\nfunction isMap(target) {\n return target instanceof Map;\n}\nfunction isSet(target) {\n return target instanceof Set;\n}\nfunction latest(state) {\n return state.copy_ || state.base_;\n}\nfunction shallowCopy(base, strict) {\n if (isMap(base)) {\n return new Map(base);\n }\n if (isSet(base)) {\n return new Set(base);\n }\n if (Array.isArray(base))\n return Array.prototype.slice.call(base);\n const isPlain = isPlainObject(base);\n if (strict === true || strict === \"class_only\" && !isPlain) {\n const descriptors = Object.getOwnPropertyDescriptors(base);\n delete descriptors[DRAFT_STATE];\n let keys = Reflect.ownKeys(descriptors);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const desc = descriptors[key];\n if (desc.writable === false) {\n desc.writable = true;\n desc.configurable = true;\n }\n if (desc.get || desc.set)\n descriptors[key] = {\n configurable: true,\n writable: true,\n // could live with !!desc.set as well here...\n enumerable: desc.enumerable,\n value: base[key]\n };\n }\n return Object.create(getPrototypeOf(base), descriptors);\n } else {\n const proto = getPrototypeOf(base);\n if (proto !== null && isPlain) {\n return __spreadValues({}, base);\n }\n const obj = Object.create(proto);\n return Object.assign(obj, base);\n }\n}\nfunction freeze(obj, deep = false) {\n if (isFrozen(obj) || isDraft(obj) || !isDraftable(obj))\n return obj;\n if (getArchtype(obj) > 1) {\n obj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections;\n }\n Object.freeze(obj);\n if (deep)\n Object.entries(obj).forEach(([key, value]) => freeze(value, true));\n return obj;\n}\nfunction dontMutateFrozenCollections() {\n die(2);\n}\nfunction isFrozen(obj) {\n return Object.isFrozen(obj);\n}\n\n// src/utils/plugins.ts\nvar plugins = {};\nfunction getPlugin(pluginKey) {\n const plugin = plugins[pluginKey];\n if (!plugin) {\n die(0, pluginKey);\n }\n return plugin;\n}\nfunction loadPlugin(pluginKey, implementation) {\n if (!plugins[pluginKey])\n plugins[pluginKey] = implementation;\n}\n\n// src/core/scope.ts\nvar currentScope;\nfunction getCurrentScope() {\n return currentScope;\n}\nfunction createScope(parent_, immer_) {\n return {\n drafts_: [],\n parent_,\n immer_,\n // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n canAutoFreeze_: true,\n unfinalizedDrafts_: 0\n };\n}\nfunction usePatchesInScope(scope, patchListener) {\n if (patchListener) {\n getPlugin(\"Patches\");\n scope.patches_ = [];\n scope.inversePatches_ = [];\n scope.patchListener_ = patchListener;\n }\n}\nfunction revokeScope(scope) {\n leaveScope(scope);\n scope.drafts_.forEach(revokeDraft);\n scope.drafts_ = null;\n}\nfunction leaveScope(scope) {\n if (scope === currentScope) {\n currentScope = scope.parent_;\n }\n}\nfunction enterScope(immer2) {\n return currentScope = createScope(currentScope, immer2);\n}\nfunction revokeDraft(draft) {\n const state = draft[DRAFT_STATE];\n if (state.type_ === 0 /* Object */ || state.type_ === 1 /* Array */)\n state.revoke_();\n else\n state.revoked_ = true;\n}\n\n// src/core/finalize.ts\nfunction processResult(result, scope) {\n scope.unfinalizedDrafts_ = scope.drafts_.length;\n const baseDraft = scope.drafts_[0];\n const isReplaced = result !== void 0 && result !== baseDraft;\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE].modified_) {\n revokeScope(scope);\n die(4);\n }\n if (isDraftable(result)) {\n result = finalize(scope, result);\n if (!scope.parent_)\n maybeFreeze(scope, result);\n }\n if (scope.patches_) {\n getPlugin(\"Patches\").generateReplacementPatches_(\n baseDraft[DRAFT_STATE].base_,\n result,\n scope.patches_,\n scope.inversePatches_\n );\n }\n } else {\n result = finalize(scope, baseDraft, []);\n }\n revokeScope(scope);\n if (scope.patches_) {\n scope.patchListener_(scope.patches_, scope.inversePatches_);\n }\n return result !== NOTHING ? result : void 0;\n}\nfunction finalize(rootScope, value, path) {\n if (isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n if (!state) {\n each(\n value,\n (key, childValue) => finalizeProperty(rootScope, state, value, key, childValue, path)\n );\n return value;\n }\n if (state.scope_ !== rootScope)\n return value;\n if (!state.modified_) {\n maybeFreeze(rootScope, state.base_, true);\n return state.base_;\n }\n if (!state.finalized_) {\n state.finalized_ = true;\n state.scope_.unfinalizedDrafts_--;\n const result = state.copy_;\n let resultEach = result;\n let isSet2 = false;\n if (state.type_ === 3 /* Set */) {\n resultEach = new Set(result);\n result.clear();\n isSet2 = true;\n }\n each(\n resultEach,\n (key, childValue) => finalizeProperty(rootScope, state, result, key, childValue, path, isSet2)\n );\n maybeFreeze(rootScope, result, false);\n if (path && rootScope.patches_) {\n getPlugin(\"Patches\").generatePatches_(\n state,\n path,\n rootScope.patches_,\n rootScope.inversePatches_\n );\n }\n }\n return state.copy_;\n}\nfunction finalizeProperty(rootScope, parentState, targetObject, prop, childValue, rootPath, targetIsSet) {\n if (process.env.NODE_ENV !== \"production\" && childValue === targetObject)\n die(5);\n if (isDraft(childValue)) {\n const path = rootPath && parentState && parentState.type_ !== 3 /* Set */ && // Set objects are atomic since they have no keys.\n !has(parentState.assigned_, prop) ? rootPath.concat(prop) : void 0;\n const res = finalize(rootScope, childValue, path);\n set(targetObject, prop, res);\n if (isDraft(res)) {\n rootScope.canAutoFreeze_ = false;\n } else\n return;\n } else if (targetIsSet) {\n targetObject.add(childValue);\n }\n if (isDraftable(childValue) && !isFrozen(childValue)) {\n if (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n return;\n }\n finalize(rootScope, childValue);\n if ((!parentState || !parentState.scope_.parent_) && typeof prop !== \"symbol\" && Object.prototype.propertyIsEnumerable.call(targetObject, prop))\n maybeFreeze(rootScope, childValue);\n }\n}\nfunction maybeFreeze(scope, value, deep = false) {\n if (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n freeze(value, deep);\n }\n}\n\n// src/core/proxy.ts\nfunction createProxyProxy(base, parent) {\n const isArray = Array.isArray(base);\n const state = {\n type_: isArray ? 1 /* Array */ : 0 /* Object */,\n // Track which produce call this is associated with.\n scope_: parent ? parent.scope_ : getCurrentScope(),\n // True for both shallow and deep changes.\n modified_: false,\n // Used during finalization.\n finalized_: false,\n // Track which properties have been assigned (true) or deleted (false).\n assigned_: {},\n // The parent draft state.\n parent_: parent,\n // The base state.\n base_: base,\n // The base proxy.\n draft_: null,\n // set below\n // The base copy with any updated values.\n copy_: null,\n // Called by the `produce` function.\n revoke_: null,\n isManual_: false\n };\n let target = state;\n let traps = objectTraps;\n if (isArray) {\n target = [state];\n traps = arrayTraps;\n }\n const { revoke, proxy } = Proxy.revocable(target, traps);\n state.draft_ = proxy;\n state.revoke_ = revoke;\n return proxy;\n}\nvar objectTraps = {\n get(state, prop) {\n if (prop === DRAFT_STATE)\n return state;\n const source = latest(state);\n if (!has(source, prop)) {\n return readPropFromProto(state, source, prop);\n }\n const value = source[prop];\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value === peek(state.base_, prop)) {\n prepareCopy(state);\n return state.copy_[prop] = createProxy(value, state);\n }\n return value;\n },\n has(state, prop) {\n return prop in latest(state);\n },\n ownKeys(state) {\n return Reflect.ownKeys(latest(state));\n },\n set(state, prop, value) {\n const desc = getDescriptorFromProto(latest(state), prop);\n if (desc == null ? void 0 : desc.set) {\n desc.set.call(state.draft_, value);\n return true;\n }\n if (!state.modified_) {\n const current2 = peek(latest(state), prop);\n const currentState = current2 == null ? void 0 : current2[DRAFT_STATE];\n if (currentState && currentState.base_ === value) {\n state.copy_[prop] = value;\n state.assigned_[prop] = false;\n return true;\n }\n if (is(value, current2) && (value !== void 0 || has(state.base_, prop)))\n return true;\n prepareCopy(state);\n markChanged(state);\n }\n if (state.copy_[prop] === value && // special case: handle new props with value 'undefined'\n (value !== void 0 || prop in state.copy_) || // special case: NaN\n Number.isNaN(value) && Number.isNaN(state.copy_[prop]))\n return true;\n state.copy_[prop] = value;\n state.assigned_[prop] = true;\n return true;\n },\n deleteProperty(state, prop) {\n if (peek(state.base_, prop) !== void 0 || prop in state.base_) {\n state.assigned_[prop] = false;\n prepareCopy(state);\n markChanged(state);\n } else {\n delete state.assigned_[prop];\n }\n if (state.copy_) {\n delete state.copy_[prop];\n }\n return true;\n },\n // Note: We never coerce `desc.value` into an Immer draft, because we can't make\n // the same guarantee in ES5 mode.\n getOwnPropertyDescriptor(state, prop) {\n const owner = latest(state);\n const desc = Reflect.getOwnPropertyDescriptor(owner, prop);\n if (!desc)\n return desc;\n return {\n writable: true,\n configurable: state.type_ !== 1 /* Array */ || prop !== \"length\",\n enumerable: desc.enumerable,\n value: owner[prop]\n };\n },\n defineProperty() {\n die(11);\n },\n getPrototypeOf(state) {\n return getPrototypeOf(state.base_);\n },\n setPrototypeOf() {\n die(12);\n }\n};\nvar arrayTraps = {};\neach(objectTraps, (key, fn) => {\n arrayTraps[key] = function() {\n arguments[0] = arguments[0][0];\n return fn.apply(this, arguments);\n };\n});\narrayTraps.deleteProperty = function(state, prop) {\n if (process.env.NODE_ENV !== \"production\" && isNaN(parseInt(prop)))\n die(13);\n return arrayTraps.set.call(this, state, prop, void 0);\n};\narrayTraps.set = function(state, prop, value) {\n if (process.env.NODE_ENV !== \"production\" && prop !== \"length\" && isNaN(parseInt(prop)))\n die(14);\n return objectTraps.set.call(this, state[0], prop, value, state[0]);\n};\nfunction peek(draft, prop) {\n const state = draft[DRAFT_STATE];\n const source = state ? latest(state) : draft;\n return source[prop];\n}\nfunction readPropFromProto(state, source, prop) {\n var _a;\n const desc = getDescriptorFromProto(source, prop);\n return desc ? `value` in desc ? desc.value : (\n // This is a very special case, if the prop is a getter defined by the\n // prototype, we should invoke it with the draft as context!\n (_a = desc.get) == null ? void 0 : _a.call(state.draft_)\n ) : void 0;\n}\nfunction getDescriptorFromProto(source, prop) {\n if (!(prop in source))\n return void 0;\n let proto = getPrototypeOf(source);\n while (proto) {\n const desc = Object.getOwnPropertyDescriptor(proto, prop);\n if (desc)\n return desc;\n proto = getPrototypeOf(proto);\n }\n return void 0;\n}\nfunction markChanged(state) {\n if (!state.modified_) {\n state.modified_ = true;\n if (state.parent_) {\n markChanged(state.parent_);\n }\n }\n}\nfunction prepareCopy(state) {\n if (!state.copy_) {\n state.copy_ = shallowCopy(\n state.base_,\n state.scope_.immer_.useStrictShallowCopy_\n );\n }\n}\n\n// src/core/immerClass.ts\nvar Immer2 = class {\n constructor(config) {\n this.autoFreeze_ = true;\n this.useStrictShallowCopy_ = false;\n /**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} recipe - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\n this.produce = (base, recipe, patchListener) => {\n if (typeof base === \"function\" && typeof recipe !== \"function\") {\n const defaultBase = recipe;\n recipe = base;\n const self = this;\n return function curriedProduce(base2 = defaultBase, ...args) {\n return self.produce(base2, (draft) => recipe.call(this, draft, ...args));\n };\n }\n if (typeof recipe !== \"function\")\n die(6);\n if (patchListener !== void 0 && typeof patchListener !== \"function\")\n die(7);\n let result;\n if (isDraftable(base)) {\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n let hasError = true;\n try {\n result = recipe(proxy);\n hasError = false;\n } finally {\n if (hasError)\n revokeScope(scope);\n else\n leaveScope(scope);\n }\n usePatchesInScope(scope, patchListener);\n return processResult(result, scope);\n } else if (!base || typeof base !== \"object\") {\n result = recipe(base);\n if (result === void 0)\n result = base;\n if (result === NOTHING)\n result = void 0;\n if (this.autoFreeze_)\n freeze(result, true);\n if (patchListener) {\n const p = [];\n const ip = [];\n getPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip);\n patchListener(p, ip);\n }\n return result;\n } else\n die(1, base);\n };\n this.produceWithPatches = (base, recipe) => {\n if (typeof base === \"function\") {\n return (state, ...args) => this.produceWithPatches(state, (draft) => base(draft, ...args));\n }\n let patches, inversePatches;\n const result = this.produce(base, recipe, (p, ip) => {\n patches = p;\n inversePatches = ip;\n });\n return [result, patches, inversePatches];\n };\n if (typeof (config == null ? void 0 : config.autoFreeze) === \"boolean\")\n this.setAutoFreeze(config.autoFreeze);\n if (typeof (config == null ? void 0 : config.useStrictShallowCopy) === \"boolean\")\n this.setUseStrictShallowCopy(config.useStrictShallowCopy);\n }\n createDraft(base) {\n if (!isDraftable(base))\n die(8);\n if (isDraft(base))\n base = current(base);\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n proxy[DRAFT_STATE].isManual_ = true;\n leaveScope(scope);\n return proxy;\n }\n finishDraft(draft, patchListener) {\n const state = draft && draft[DRAFT_STATE];\n if (!state || !state.isManual_)\n die(9);\n const { scope_: scope } = state;\n usePatchesInScope(scope, patchListener);\n return processResult(void 0, scope);\n }\n /**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * By default, auto-freezing is enabled.\n */\n setAutoFreeze(value) {\n this.autoFreeze_ = value;\n }\n /**\n * Pass true to enable strict shallow copy.\n *\n * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n */\n setUseStrictShallowCopy(value) {\n this.useStrictShallowCopy_ = value;\n }\n applyPatches(base, patches) {\n let i;\n for (i = patches.length - 1; i >= 0; i--) {\n const patch = patches[i];\n if (patch.path.length === 0 && patch.op === \"replace\") {\n base = patch.value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const applyPatchesImpl = getPlugin(\"Patches\").applyPatches_;\n if (isDraft(base)) {\n return applyPatchesImpl(base, patches);\n }\n return this.produce(\n base,\n (draft) => applyPatchesImpl(draft, patches)\n );\n }\n};\nfunction createProxy(value, parent) {\n const draft = isMap(value) ? getPlugin(\"MapSet\").proxyMap_(value, parent) : isSet(value) ? getPlugin(\"MapSet\").proxySet_(value, parent) : createProxyProxy(value, parent);\n const scope = parent ? parent.scope_ : getCurrentScope();\n scope.drafts_.push(draft);\n return draft;\n}\n\n// src/core/current.ts\nfunction current(value) {\n if (!isDraft(value))\n die(10, value);\n return currentImpl(value);\n}\nfunction currentImpl(value) {\n if (!isDraftable(value) || isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n let copy;\n if (state) {\n if (!state.modified_)\n return state.base_;\n state.finalized_ = true;\n copy = shallowCopy(value, state.scope_.immer_.useStrictShallowCopy_);\n } else {\n copy = shallowCopy(value, true);\n }\n each(copy, (key, childValue) => {\n set(copy, key, currentImpl(childValue));\n });\n if (state) {\n state.finalized_ = false;\n }\n return copy;\n}\n\n// src/plugins/patches.ts\nfunction enablePatches() {\n const errorOffset = 16;\n if (process.env.NODE_ENV !== \"production\") {\n errors.push(\n 'Sets cannot have \"replace\" patches.',\n function(op) {\n return \"Unsupported patch operation: \" + op;\n },\n function(path) {\n return \"Cannot apply patch, path doesn't resolve: \" + path;\n },\n \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n );\n }\n const REPLACE = \"replace\";\n const ADD = \"add\";\n const REMOVE = \"remove\";\n function generatePatches_(state, basePath, patches, inversePatches) {\n switch (state.type_) {\n case 0 /* Object */:\n case 2 /* Map */:\n return generatePatchesFromAssigned(\n state,\n basePath,\n patches,\n inversePatches\n );\n case 1 /* Array */:\n return generateArrayPatches(state, basePath, patches, inversePatches);\n case 3 /* Set */:\n return generateSetPatches(\n state,\n basePath,\n patches,\n inversePatches\n );\n }\n }\n function generateArrayPatches(state, basePath, patches, inversePatches) {\n let { base_, assigned_ } = state;\n let copy_ = state.copy_;\n if (copy_.length < base_.length) {\n ;\n [base_, copy_] = [copy_, base_];\n [patches, inversePatches] = [inversePatches, patches];\n }\n for (let i = 0; i < base_.length; i++) {\n if (assigned_[i] && copy_[i] !== base_[i]) {\n const path = basePath.concat([i]);\n patches.push({\n op: REPLACE,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n inversePatches.push({\n op: REPLACE,\n path,\n value: clonePatchValueIfNeeded(base_[i])\n });\n }\n }\n for (let i = base_.length; i < copy_.length; i++) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n }\n for (let i = copy_.length - 1; base_.length <= i; --i) {\n const path = basePath.concat([i]);\n inversePatches.push({\n op: REMOVE,\n path\n });\n }\n }\n function generatePatchesFromAssigned(state, basePath, patches, inversePatches) {\n const { base_, copy_ } = state;\n each(state.assigned_, (key, assignedValue) => {\n const origValue = get(base_, key);\n const value = get(copy_, key);\n const op = !assignedValue ? REMOVE : has(base_, key) ? REPLACE : ADD;\n if (origValue === value && op === REPLACE)\n return;\n const path = basePath.concat(key);\n patches.push(op === REMOVE ? { op, path } : { op, path, value });\n inversePatches.push(\n op === ADD ? { op: REMOVE, path } : op === REMOVE ? { op: ADD, path, value: clonePatchValueIfNeeded(origValue) } : { op: REPLACE, path, value: clonePatchValueIfNeeded(origValue) }\n );\n });\n }\n function generateSetPatches(state, basePath, patches, inversePatches) {\n let { base_, copy_ } = state;\n let i = 0;\n base_.forEach((value) => {\n if (!copy_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: REMOVE,\n path,\n value\n });\n inversePatches.unshift({\n op: ADD,\n path,\n value\n });\n }\n i++;\n });\n i = 0;\n copy_.forEach((value) => {\n if (!base_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n value\n });\n inversePatches.unshift({\n op: REMOVE,\n path,\n value\n });\n }\n i++;\n });\n }\n function generateReplacementPatches_(baseValue, replacement, patches, inversePatches) {\n patches.push({\n op: REPLACE,\n path: [],\n value: replacement === NOTHING ? void 0 : replacement\n });\n inversePatches.push({\n op: REPLACE,\n path: [],\n value: baseValue\n });\n }\n function applyPatches_(draft, patches) {\n patches.forEach((patch) => {\n const { path, op } = patch;\n let base = draft;\n for (let i = 0; i < path.length - 1; i++) {\n const parentType = getArchtype(base);\n let p = path[i];\n if (typeof p !== \"string\" && typeof p !== \"number\") {\n p = \"\" + p;\n }\n if ((parentType === 0 /* Object */ || parentType === 1 /* Array */) && (p === \"__proto__\" || p === \"constructor\"))\n die(errorOffset + 3);\n if (typeof base === \"function\" && p === \"prototype\")\n die(errorOffset + 3);\n base = get(base, p);\n if (typeof base !== \"object\")\n die(errorOffset + 2, path.join(\"/\"));\n }\n const type = getArchtype(base);\n const value = deepClonePatchValue(patch.value);\n const key = path[path.length - 1];\n switch (op) {\n case REPLACE:\n switch (type) {\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n die(errorOffset);\n default:\n return base[key] = value;\n }\n case ADD:\n switch (type) {\n case 1 /* Array */:\n return key === \"-\" ? base.push(value) : base.splice(key, 0, value);\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n return base.add(value);\n default:\n return base[key] = value;\n }\n case REMOVE:\n switch (type) {\n case 1 /* Array */:\n return base.splice(key, 1);\n case 2 /* Map */:\n return base.delete(key);\n case 3 /* Set */:\n return base.delete(patch.value);\n default:\n return delete base[key];\n }\n default:\n die(errorOffset + 1, op);\n }\n });\n return draft;\n }\n function deepClonePatchValue(obj) {\n if (!isDraftable(obj))\n return obj;\n if (Array.isArray(obj))\n return obj.map(deepClonePatchValue);\n if (isMap(obj))\n return new Map(\n Array.from(obj.entries()).map(([k, v]) => [k, deepClonePatchValue(v)])\n );\n if (isSet(obj))\n return new Set(Array.from(obj).map(deepClonePatchValue));\n const cloned = Object.create(getPrototypeOf(obj));\n for (const key in obj)\n cloned[key] = deepClonePatchValue(obj[key]);\n if (has(obj, DRAFTABLE))\n cloned[DRAFTABLE] = obj[DRAFTABLE];\n return cloned;\n }\n function clonePatchValueIfNeeded(obj) {\n if (isDraft(obj)) {\n return deepClonePatchValue(obj);\n } else\n return obj;\n }\n loadPlugin(\"Patches\", {\n applyPatches_,\n generatePatches_,\n generateReplacementPatches_\n });\n}\n\n// src/plugins/mapset.ts\nfunction enableMapSet() {\n class DraftMap extends Map {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 2 /* Map */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n assigned_: void 0,\n base_: target,\n draft_: this,\n isManual_: false,\n revoked_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(key) {\n return latest(this[DRAFT_STATE]).has(key);\n }\n set(key, value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!latest(state).has(key) || latest(state).get(key) !== value) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_.set(key, true);\n state.copy_.set(key, value);\n state.assigned_.set(key, true);\n }\n return this;\n }\n delete(key) {\n if (!this.has(key)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareMapCopy(state);\n markChanged(state);\n if (state.base_.has(key)) {\n state.assigned_.set(key, false);\n } else {\n state.assigned_.delete(key);\n }\n state.copy_.delete(key);\n return true;\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_ = /* @__PURE__ */ new Map();\n each(state.base_, (key) => {\n state.assigned_.set(key, false);\n });\n state.copy_.clear();\n }\n }\n forEach(cb, thisArg) {\n const state = this[DRAFT_STATE];\n latest(state).forEach((_value, key, _map) => {\n cb.call(thisArg, this.get(key), key, this);\n });\n }\n get(key) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n const value = latest(state).get(key);\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value !== state.base_.get(key)) {\n return value;\n }\n const draft = createProxy(value, state);\n prepareMapCopy(state);\n state.copy_.set(key, draft);\n return draft;\n }\n keys() {\n return latest(this[DRAFT_STATE]).keys();\n }\n values() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.values(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value\n };\n }\n };\n }\n entries() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.entries(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value: [r.value, value]\n };\n }\n };\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.entries();\n }\n }\n function proxyMap_(target, parent) {\n return new DraftMap(target, parent);\n }\n function prepareMapCopy(state) {\n if (!state.copy_) {\n state.assigned_ = /* @__PURE__ */ new Map();\n state.copy_ = new Map(state.base_);\n }\n }\n class DraftSet extends Set {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 3 /* Set */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n base_: target,\n draft_: this,\n drafts_: /* @__PURE__ */ new Map(),\n revoked_: false,\n isManual_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!state.copy_) {\n return state.base_.has(value);\n }\n if (state.copy_.has(value))\n return true;\n if (state.drafts_.has(value) && state.copy_.has(state.drafts_.get(value)))\n return true;\n return false;\n }\n add(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!this.has(value)) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.add(value);\n }\n return this;\n }\n delete(value) {\n if (!this.has(value)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n markChanged(state);\n return state.copy_.delete(value) || (state.drafts_.has(value) ? state.copy_.delete(state.drafts_.get(value)) : (\n /* istanbul ignore next */\n false\n ));\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.clear();\n }\n }\n values() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.values();\n }\n entries() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.entries();\n }\n keys() {\n return this.values();\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.values();\n }\n forEach(cb, thisArg) {\n const iterator = this.values();\n let result = iterator.next();\n while (!result.done) {\n cb.call(thisArg, result.value, result.value, this);\n result = iterator.next();\n }\n }\n }\n function proxySet_(target, parent) {\n return new DraftSet(target, parent);\n }\n function prepareSetCopy(state) {\n if (!state.copy_) {\n state.copy_ = /* @__PURE__ */ new Set();\n state.base_.forEach((value) => {\n if (isDraftable(value)) {\n const draft = createProxy(value, state);\n state.drafts_.set(value, draft);\n state.copy_.add(draft);\n } else {\n state.copy_.add(value);\n }\n });\n }\n }\n function assertUnrevoked(state) {\n if (state.revoked_)\n die(3, JSON.stringify(latest(state)));\n }\n loadPlugin(\"MapSet\", { proxyMap_, proxySet_ });\n}\n\n// src/immer.ts\nvar immer = new Immer2();\nvar produce = immer.produce;\nvar produceWithPatches = immer.produceWithPatches.bind(\n immer\n);\nvar setAutoFreeze = immer.setAutoFreeze.bind(immer);\nvar setUseStrictShallowCopy = immer.setUseStrictShallowCopy.bind(immer);\nvar applyPatches = immer.applyPatches.bind(immer);\nvar createDraft = immer.createDraft.bind(immer);\nvar finishDraft = immer.finishDraft.bind(immer);\nfunction castDraft(value) {\n return value;\n}\nfunction castImmutable(value) {\n return value;\n}\nexport {\n Immer2 as Immer,\n applyPatches,\n castDraft,\n castImmutable,\n createDraft,\n current,\n enableMapSet,\n enablePatches,\n finishDraft,\n freeze,\n DRAFTABLE as immerable,\n isDraft,\n isDraftable,\n NOTHING as nothing,\n original,\n produce,\n produceWithPatches,\n setAutoFreeze,\n setUseStrictShallowCopy\n};\n//# sourceMappingURL=immer.legacy-esm.js.map","// Styles\nimport './VMessages.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-messages',\n\n props: {\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n },\n\n methods: {\n genChildren () {\n return this.$createElement('transition-group', {\n staticClass: 'v-messages__wrapper',\n attrs: {\n name: 'message-transition',\n tag: 'div',\n },\n }, this.value.map(this.genMessage))\n },\n genMessage (message: string, key: number) {\n return this.$createElement('div', {\n staticClass: 'v-messages__message',\n key,\n }, getSlot(this, 'default', { message, key }) || [message])\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-messages',\n class: this.themeClasses,\n }), [this.genChildren()])\n },\n})\n","import VMessages from './VMessages'\n\nexport { VMessages }\nexport default VMessages\n","// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n// Types\nimport { VNode, VNodeData, PropType } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n value: null as any as PropType<any>,\n },\n\n data () {\n return {\n lazyValue: this.value,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // <v-switch loading>.loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n 'v-input--hide-spin-buttons': this.hideSpinButtons,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this._uid}`\n },\n hasDetails (): boolean {\n return this.messagesToDisplay.length > 0\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n messagesToDisplay (): string[] {\n if (this.hasHint) return [this.hint]\n\n if (!this.hasMessages) return []\n\n return this.validations.map((validation: string | InputValidationRule) => {\n if (typeof validation === 'string') return validation\n\n const validationResult = validation(this.internalValue)\n\n return typeof validationResult === 'string' ? validationResult : ''\n }).filter(message => message !== '')\n },\n showDetails (): boolean {\n return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n },\n },\n\n watch: {\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = (this.$options.model && this.$options.model.event) || 'input'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n attrs: { title: this.attrs$.title },\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n getSlot(this),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData: VNodeData = {}\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n const hasListener = !!(this.listeners$[eventName] || cb)\n\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendOuter: 'appendAction',\n clear: 'clear',\n }[type]\n const label = hasListener && localeKey\n ? this.$vuetify.lang.t(`$vuetify.input.${localeKey}`, this.label ?? '')\n : undefined\n\n const data = mergeData({\n attrs: {\n 'aria-label': label,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n tabindex: type === 'clear' ? -1 : undefined,\n },\n on: !hasListener\n ? undefined\n : {\n click: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n mouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n },\n }, extraData)\n\n return this.$createElement('div', {\n staticClass: `v-input__icon`,\n class: type ? `v-input__icon--${kebabCase(type)}` : undefined,\n }, [\n this.$createElement(\n VIcon,\n data,\n icon\n ),\n ])\n },\n genInputSlot () {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: this.onClick,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n },\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n props: {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genMessages () {\n if (!this.showDetails) return null\n\n return this.$createElement(VMessages, {\n props: {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: this.messagesToDisplay,\n },\n attrs: {\n role: this.hasMessages ? 'alert' : null,\n },\n scopedSlots: {\n default: props => getSlot(this, 'message', props),\n },\n })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n return this.$createElement('div', {\n staticClass: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), this.genContent())\n },\n})\n","import VInput from './VInput'\n\nexport { VInput }\nexport default VInput\n","import { VNodeDirective, VNode } from 'vue/types/vnode'\nimport { keys } from '../../util/helpers'\nimport { TouchHandlers, TouchValue, TouchWrapper } from 'vuetify/types'\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\ninterface TouchVNodeDirective extends VNodeDirective {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start &&\n wrapper.start(Object.assign(event, wrapper))\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end &&\n wrapper.end(Object.assign(event, wrapper))\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move && wrapper.move(Object.assign(event, wrapper))\n}\n\nfunction createHandlers (value: TouchHandlers): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction inserted (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const value = binding.value!\n const target = value.parent ? el.parentElement : el\n const options = value.options || { passive: true }\n\n // Needed to pass unit tests\n if (!target) return\n\n const handlers = createHandlers(binding.value!)\n target._touchHandlers = Object(target._touchHandlers)\n target._touchHandlers![vnode.context!._uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName] as EventListener, options)\n })\n}\n\nfunction unbind (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const target = binding.value!.parent ? el.parentElement : el\n if (!target || !target._touchHandlers) return\n\n const handlers = target._touchHandlers[vnode.context!._uid]\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n delete target._touchHandlers[vnode.context!._uid]\n}\n\nexport const Touch = {\n inserted,\n unbind,\n}\n\nexport default Touch\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\nvar baseCreateCallback = require('lodash._basecreatecallback'),\n keys = require('lodash.keys'),\n objectTypes = require('lodash._objecttypes');\n\n/**\n * Iterates over own enumerable properties of an object, executing the callback\n * for each property. The callback is bound to `thisArg` and invoked with three\n * arguments; (value, key, object). Callbacks may exit iteration early by\n * explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @type Function\n * @category Objects\n * @param {Object} object The object to iterate over.\n * @param {Function} [callback=identity] The function called per iteration.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Object} Returns `object`.\n * @example\n *\n * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {\n * console.log(key);\n * });\n * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)\n */\nvar forOwn = function(collection, callback, thisArg) {\n var index, iterable = collection, result = iterable;\n if (!iterable) return result;\n if (!objectTypes[typeof iterable]) return result;\n callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n if (callback(iterable[index], index, collection) === false) return result;\n }\n return result\n};\n\nmodule.exports = forOwn;\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\nmodule.exports = false;\n","/**\r\n * DevExtreme (esm/events/core/wheel.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerEvent from \"./event_registrator\";\r\nimport {\r\n addNamespace,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar EVENT_NAME = \"dxmousewheel\";\r\nvar EVENT_NAMESPACE = \"dxWheel\";\r\nvar NATIVE_EVENT_NAME = \"wheel\";\r\nvar PIXEL_MODE = 0;\r\nvar DELTA_MUTLIPLIER = 30;\r\nvar wheel = {\r\n setup: function(element) {\r\n var $element = $(element);\r\n eventsEngine.on($element, addNamespace(NATIVE_EVENT_NAME, EVENT_NAMESPACE), wheel._wheelHandler.bind(wheel))\r\n },\r\n teardown: function(element) {\r\n eventsEngine.off(element, \".\".concat(EVENT_NAMESPACE))\r\n },\r\n _wheelHandler: function(e) {\r\n var {\r\n deltaMode: deltaMode,\r\n deltaY: deltaY,\r\n deltaX: deltaX,\r\n deltaZ: deltaZ\r\n } = e.originalEvent;\r\n fireEvent({\r\n type: EVENT_NAME,\r\n originalEvent: e,\r\n delta: this._normalizeDelta(deltaY, deltaMode),\r\n deltaX: deltaX,\r\n deltaY: deltaY,\r\n deltaZ: deltaZ,\r\n deltaMode: deltaMode,\r\n pointerType: \"mouse\"\r\n });\r\n e.stopPropagation()\r\n },\r\n _normalizeDelta(delta) {\r\n var deltaMode = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : PIXEL_MODE;\r\n if (deltaMode === PIXEL_MODE) {\r\n return -delta\r\n } else {\r\n return -DELTA_MUTLIPLIER * delta\r\n }\r\n }\r\n};\r\nregisterEvent(EVENT_NAME, wheel);\r\nexport {\r\n EVENT_NAME as name\r\n};\r\n","/**\r\n * DevExtreme (esm/events/core/hook_touch_props.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar touchPropsToHook = [\"pageX\", \"pageY\", \"screenX\", \"screenY\", \"clientX\", \"clientY\"];\r\nvar touchPropHook = function(name, event) {\r\n if (event[name] && !event.touches || !event.touches) {\r\n return event[name]\r\n }\r\n var touches = event.touches.length ? event.touches : event.changedTouches;\r\n if (!touches.length) {\r\n return\r\n }\r\n return touches[0][name]\r\n};\r\nexport default function(callback) {\r\n touchPropsToHook.forEach((function(name) {\r\n callback(name, (function(event) {\r\n return touchPropHook(name, event)\r\n }))\r\n }), this)\r\n}\r\n","/**\r\n * DevExtreme (esm/events/core/events_engine.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport registerEventCallbacks from \"./event_registrator_callbacks\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport injector from \"../../core/utils/dependency_injector\";\r\nimport {\r\n isWindow,\r\n isFunction,\r\n isString,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport errors from \"../../core/errors\";\r\nimport hookTouchProps from \"../../events/core/hook_touch_props\";\r\nimport callOnce from \"../../core/utils/call_once\";\r\nvar EMPTY_EVENT_NAME = \"dxEmptyEventType\";\r\nvar NATIVE_EVENTS_TO_SUBSCRIBE = {\r\n mouseenter: \"mouseover\",\r\n mouseleave: \"mouseout\",\r\n pointerenter: \"pointerover\",\r\n pointerleave: \"pointerout\"\r\n};\r\nvar NATIVE_EVENTS_TO_TRIGGER = {\r\n focusin: \"focus\",\r\n focusout: \"blur\"\r\n};\r\nvar NO_BUBBLE_EVENTS = [\"blur\", \"focus\", \"load\"];\r\nvar forcePassiveFalseEventNames = [\"touchmove\", \"wheel\", \"mousewheel\", \"touchstart\"];\r\nvar EVENT_PROPERTIES = [\"target\", \"relatedTarget\", \"delegateTarget\", \"altKey\", \"bubbles\", \"cancelable\", \"changedTouches\", \"ctrlKey\", \"detail\", \"eventPhase\", \"metaKey\", \"shiftKey\", \"view\", \"char\", \"code\", \"charCode\", \"key\", \"keyCode\", \"button\", \"buttons\", \"offsetX\", \"offsetY\", \"pointerId\", \"pointerType\", \"targetTouches\", \"toElement\", \"touches\"];\r\n\r\nfunction matchesSafe(target, selector) {\r\n return !isWindow(target) && \"#document\" !== target.nodeName && domAdapter.elementMatches(target, selector)\r\n}\r\nvar elementDataMap = new WeakMap;\r\nvar guid = 0;\r\nvar skipEvent;\r\nvar special = function() {\r\n var specialData = {};\r\n registerEventCallbacks.add((function(eventName, eventObject) {\r\n specialData[eventName] = eventObject\r\n }));\r\n return {\r\n getField: function(eventName, field) {\r\n return specialData[eventName] && specialData[eventName][field]\r\n },\r\n callMethod: function(eventName, methodName, context, args) {\r\n return specialData[eventName] && specialData[eventName][methodName] && specialData[eventName][methodName].apply(context, args)\r\n }\r\n }\r\n}();\r\nvar eventsEngine = injector({\r\n on: getHandler(normalizeOnArguments(iterate((function(element, eventName, selector, data, handler) {\r\n var handlersController = getHandlersController(element, eventName);\r\n handlersController.addHandler(handler, selector, data)\r\n })))),\r\n one: getHandler(normalizeOnArguments((function(element, eventName, selector, data, handler) {\r\n eventsEngine.on(element, eventName, selector, data, (function oneTimeHandler() {\r\n eventsEngine.off(element, eventName, selector, oneTimeHandler);\r\n handler.apply(this, arguments)\r\n }))\r\n }))),\r\n off: getHandler(normalizeOffArguments(iterate((function(element, eventName, selector, handler) {\r\n var handlersController = getHandlersController(element, eventName);\r\n handlersController.removeHandler(handler, selector)\r\n })))),\r\n trigger: getHandler(normalizeTriggerArguments((function(element, event, extraParameters) {\r\n var eventName = event.type;\r\n var handlersController = getHandlersController(element, event.type);\r\n special.callMethod(eventName, \"trigger\", element, [event, extraParameters]);\r\n handlersController.callHandlers(event, extraParameters);\r\n var noBubble = special.getField(eventName, \"noBubble\") || event.isPropagationStopped() || -1 !== NO_BUBBLE_EVENTS.indexOf(eventName);\r\n if (!noBubble) {\r\n var parents = [];\r\n ! function getParents(element) {\r\n var _element$parentNode;\r\n var parent = null !== (_element$parentNode = element.parentNode) && void 0 !== _element$parentNode ? _element$parentNode : isObject(element.host) ? element.host : null;\r\n if (parent) {\r\n parents.push(parent);\r\n getParents(parent)\r\n }\r\n }(element);\r\n parents.push(window);\r\n var i = 0;\r\n while (parents[i] && !event.isPropagationStopped()) {\r\n var parentDataByEvent = getHandlersController(parents[i], event.type);\r\n parentDataByEvent.callHandlers(extend(event, {\r\n currentTarget: parents[i]\r\n }), extraParameters);\r\n i++\r\n }\r\n }\r\n if (element.nodeType || isWindow(element)) {\r\n special.callMethod(eventName, \"_default\", element, [event, extraParameters]);\r\n callNativeMethod(eventName, element)\r\n }\r\n }))),\r\n triggerHandler: getHandler(normalizeTriggerArguments((function(element, event, extraParameters) {\r\n var handlersController = getHandlersController(element, event.type);\r\n handlersController.callHandlers(event, extraParameters)\r\n })))\r\n});\r\n\r\nfunction applyForEach(args, method) {\r\n var element = args[0];\r\n if (!element) {\r\n return\r\n }\r\n if (domAdapter.isNode(element) || isWindow(element)) {\r\n method.apply(eventsEngine, args)\r\n } else if (!isString(element) && \"length\" in element) {\r\n var itemArgs = Array.prototype.slice.call(args, 0);\r\n Array.prototype.forEach.call(element, (function(itemElement) {\r\n itemArgs[0] = itemElement;\r\n applyForEach(itemArgs, method)\r\n }))\r\n } else {\r\n throw errors.Error(\"E0025\")\r\n }\r\n}\r\n\r\nfunction getHandler(method) {\r\n return function() {\r\n applyForEach(arguments, method)\r\n }\r\n}\r\n\r\nfunction detectPassiveEventHandlersSupport() {\r\n var isSupported = false;\r\n try {\r\n var options = Object.defineProperty({}, \"passive\", {\r\n get: function() {\r\n isSupported = true;\r\n return true\r\n }\r\n });\r\n window.addEventListener(\"test\", null, options)\r\n } catch (e) {}\r\n return isSupported\r\n}\r\nvar passiveEventHandlersSupported = callOnce(detectPassiveEventHandlersSupport);\r\nvar contains = (container, element) => {\r\n if (isWindow(container)) {\r\n return contains(container.document, element)\r\n }\r\n return container.contains ? container.contains(element) : !!(element.compareDocumentPosition(container) & element.DOCUMENT_POSITION_CONTAINS)\r\n};\r\n\r\nfunction getHandlersController(element, eventName) {\r\n var elementData = elementDataMap.get(element);\r\n eventName = eventName || \"\";\r\n var eventNameParts = eventName.split(\".\");\r\n var namespaces = eventNameParts.slice(1);\r\n var eventNameIsDefined = !!eventNameParts[0];\r\n eventName = eventNameParts[0] || EMPTY_EVENT_NAME;\r\n if (!elementData) {\r\n elementData = {};\r\n elementDataMap.set(element, elementData)\r\n }\r\n if (!elementData[eventName]) {\r\n elementData[eventName] = {\r\n handleObjects: [],\r\n nativeHandler: null\r\n }\r\n }\r\n var eventData = elementData[eventName];\r\n return {\r\n addHandler: function(handler, selector, data) {\r\n var callHandler = function(e, extraParameters) {\r\n var handlerArgs = [e];\r\n var target = e.currentTarget;\r\n var relatedTarget = e.relatedTarget;\r\n var secondaryTargetIsInside;\r\n var result;\r\n if (eventName in NATIVE_EVENTS_TO_SUBSCRIBE) {\r\n secondaryTargetIsInside = relatedTarget && target && (relatedTarget === target || contains(target, relatedTarget))\r\n }\r\n if (void 0 !== extraParameters) {\r\n handlerArgs.push(extraParameters)\r\n }\r\n special.callMethod(eventName, \"handle\", element, [e, data]);\r\n if (!secondaryTargetIsInside) {\r\n result = handler.apply(target, handlerArgs)\r\n }\r\n if (false === result) {\r\n e.preventDefault();\r\n e.stopPropagation()\r\n }\r\n };\r\n var handleObject = {\r\n handler: handler,\r\n wrappedHandler: function(e, extraParameters) {\r\n if (skipEvent && e.type === skipEvent) {\r\n return\r\n }\r\n e.data = data;\r\n e.delegateTarget = element;\r\n if (selector) {\r\n var currentTarget = e.target;\r\n while (currentTarget && currentTarget !== element) {\r\n if (matchesSafe(currentTarget, selector)) {\r\n e.currentTarget = currentTarget;\r\n callHandler(e, extraParameters)\r\n }\r\n currentTarget = currentTarget.parentNode\r\n }\r\n } else {\r\n e.currentTarget = e.delegateTarget || e.target;\r\n callHandler(e, extraParameters)\r\n }\r\n },\r\n selector: selector,\r\n type: eventName,\r\n data: data,\r\n namespace: namespaces.join(\".\"),\r\n namespaces: namespaces,\r\n guid: ++guid\r\n };\r\n eventData.handleObjects.push(handleObject);\r\n var firstHandlerForTheType = 1 === eventData.handleObjects.length;\r\n var shouldAddNativeListener = firstHandlerForTheType && eventNameIsDefined;\r\n var nativeListenerOptions;\r\n if (shouldAddNativeListener) {\r\n shouldAddNativeListener = !special.callMethod(eventName, \"setup\", element, [data, namespaces, handler])\r\n }\r\n if (shouldAddNativeListener) {\r\n eventData.nativeHandler = getNativeHandler(eventName);\r\n if (passiveEventHandlersSupported() && forcePassiveFalseEventNames.indexOf(eventName) > -1) {\r\n nativeListenerOptions = {\r\n passive: false\r\n }\r\n }\r\n eventData.removeListener = domAdapter.listen(element, NATIVE_EVENTS_TO_SUBSCRIBE[eventName] || eventName, eventData.nativeHandler, nativeListenerOptions)\r\n }\r\n special.callMethod(eventName, \"add\", element, [handleObject])\r\n },\r\n removeHandler: function(handler, selector) {\r\n var removeByEventName = function(eventName) {\r\n var eventData = elementData[eventName];\r\n if (!eventData.handleObjects.length) {\r\n delete elementData[eventName];\r\n return\r\n }\r\n var removedHandler;\r\n eventData.handleObjects = eventData.handleObjects.filter((function(handleObject) {\r\n var skip = namespaces.length && !isSubset(handleObject.namespaces, namespaces) || handler && handleObject.handler !== handler || selector && handleObject.selector !== selector;\r\n if (!skip) {\r\n removedHandler = handleObject.handler;\r\n special.callMethod(eventName, \"remove\", element, [handleObject])\r\n }\r\n return skip\r\n }));\r\n var lastHandlerForTheType = !eventData.handleObjects.length;\r\n var shouldRemoveNativeListener = lastHandlerForTheType && eventName !== EMPTY_EVENT_NAME;\r\n if (shouldRemoveNativeListener) {\r\n special.callMethod(eventName, \"teardown\", element, [namespaces, removedHandler]);\r\n if (eventData.nativeHandler) {\r\n eventData.removeListener()\r\n }\r\n delete elementData[eventName]\r\n }\r\n };\r\n if (eventNameIsDefined) {\r\n removeByEventName(eventName)\r\n } else {\r\n for (var name in elementData) {\r\n removeByEventName(name)\r\n }\r\n }\r\n var elementDataIsEmpty = 0 === Object.keys(elementData).length;\r\n if (elementDataIsEmpty) {\r\n elementDataMap.delete(element)\r\n }\r\n },\r\n callHandlers: function(event, extraParameters) {\r\n var forceStop = false;\r\n var handleCallback = function(handleObject) {\r\n if (forceStop) {\r\n return\r\n }\r\n if (!namespaces.length || isSubset(handleObject.namespaces, namespaces)) {\r\n handleObject.wrappedHandler(event, extraParameters);\r\n forceStop = event.isImmediatePropagationStopped()\r\n }\r\n };\r\n eventData.handleObjects.forEach(handleCallback);\r\n if (namespaces.length && elementData[EMPTY_EVENT_NAME]) {\r\n elementData[EMPTY_EVENT_NAME].handleObjects.forEach(handleCallback)\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction getNativeHandler(subscribeName) {\r\n return function(event, extraParameters) {\r\n var handlersController = getHandlersController(this, subscribeName);\r\n event = eventsEngine.Event(event);\r\n handlersController.callHandlers(event, extraParameters)\r\n }\r\n}\r\n\r\nfunction isSubset(original, checked) {\r\n for (var i = 0; i < checked.length; i++) {\r\n if (original.indexOf(checked[i]) < 0) {\r\n return false\r\n }\r\n }\r\n return true\r\n}\r\n\r\nfunction normalizeOnArguments(callback) {\r\n return function(element, eventName, selector, data, handler) {\r\n if (!handler) {\r\n handler = data;\r\n data = void 0\r\n }\r\n if (\"string\" !== typeof selector) {\r\n data = selector;\r\n selector = void 0\r\n }\r\n if (!handler && \"string\" === typeof eventName) {\r\n handler = data || selector;\r\n selector = void 0;\r\n data = void 0\r\n }\r\n callback(element, eventName, selector, data, handler)\r\n }\r\n}\r\n\r\nfunction normalizeOffArguments(callback) {\r\n return function(element, eventName, selector, handler) {\r\n if (\"function\" === typeof selector) {\r\n handler = selector;\r\n selector = void 0\r\n }\r\n callback(element, eventName, selector, handler)\r\n }\r\n}\r\n\r\nfunction normalizeTriggerArguments(callback) {\r\n return function(element, src, extraParameters) {\r\n if (\"string\" === typeof src) {\r\n src = {\r\n type: src\r\n }\r\n }\r\n if (!src.target) {\r\n src.target = element\r\n }\r\n src.currentTarget = element;\r\n if (!src.delegateTarget) {\r\n src.delegateTarget = element\r\n }\r\n if (!src.type && src.originalEvent) {\r\n src.type = src.originalEvent.type\r\n }\r\n callback(element, src instanceof eventsEngine.Event ? src : eventsEngine.Event(src), extraParameters)\r\n }\r\n}\r\n\r\nfunction normalizeEventArguments(callback) {\r\n eventsEngine.Event = function(src, config) {\r\n if (!(this instanceof eventsEngine.Event)) {\r\n return new eventsEngine.Event(src, config)\r\n }\r\n if (!src) {\r\n src = {}\r\n }\r\n if (\"string\" === typeof src) {\r\n src = {\r\n type: src\r\n }\r\n }\r\n if (!config) {\r\n config = {}\r\n }\r\n callback.call(this, src, config)\r\n };\r\n _extends(eventsEngine.Event.prototype, {\r\n _propagationStopped: false,\r\n _immediatePropagationStopped: false,\r\n _defaultPrevented: false,\r\n isPropagationStopped: function() {\r\n return !!(this._propagationStopped || this.originalEvent && this.originalEvent.propagationStopped)\r\n },\r\n stopPropagation: function() {\r\n this._propagationStopped = true;\r\n this.originalEvent && this.originalEvent.stopPropagation()\r\n },\r\n isImmediatePropagationStopped: function() {\r\n return this._immediatePropagationStopped\r\n },\r\n stopImmediatePropagation: function() {\r\n this.stopPropagation();\r\n this._immediatePropagationStopped = true;\r\n this.originalEvent && this.originalEvent.stopImmediatePropagation()\r\n },\r\n isDefaultPrevented: function() {\r\n return !!(this._defaultPrevented || this.originalEvent && this.originalEvent.defaultPrevented)\r\n },\r\n preventDefault: function() {\r\n this._defaultPrevented = true;\r\n this.originalEvent && this.originalEvent.preventDefault()\r\n }\r\n });\r\n return eventsEngine.Event\r\n}\r\n\r\nfunction iterate(callback) {\r\n var iterateEventNames = function(element, eventName) {\r\n if (eventName && eventName.indexOf(\" \") > -1) {\r\n var args = Array.prototype.slice.call(arguments, 0);\r\n eventName.split(\" \").forEach((function(eventName) {\r\n args[1] = eventName;\r\n callback.apply(this, args)\r\n }))\r\n } else {\r\n callback.apply(this, arguments)\r\n }\r\n };\r\n return function(element, eventName) {\r\n if (\"object\" === typeof eventName) {\r\n var args = Array.prototype.slice.call(arguments, 0);\r\n for (var name in eventName) {\r\n args[1] = name;\r\n args[args.length - 1] = eventName[name];\r\n iterateEventNames.apply(this, args)\r\n }\r\n } else {\r\n iterateEventNames.apply(this, arguments)\r\n }\r\n }\r\n}\r\n\r\nfunction callNativeMethod(eventName, element) {\r\n var nativeMethodName = NATIVE_EVENTS_TO_TRIGGER[eventName] || eventName;\r\n if (function(eventName, element) {\r\n return \"click\" === eventName && \"a\" === element.localName\r\n }(eventName, element)) {\r\n return\r\n }\r\n if (isFunction(element[nativeMethodName])) {\r\n skipEvent = eventName;\r\n element[nativeMethodName]();\r\n skipEvent = void 0\r\n }\r\n}\r\n\r\nfunction calculateWhich(event) {\r\n if (function(event) {\r\n return null == event.which && 0 === event.type.indexOf(\"key\")\r\n }(event)) {\r\n return null != event.charCode ? event.charCode : event.keyCode\r\n }\r\n if (function(event) {\r\n return !event.which && void 0 !== event.button && /^(?:mouse|pointer|contextmenu|drag|drop)|click/.test(event.type)\r\n }(event)) {\r\n return {\r\n 1: 1,\r\n 2: 3,\r\n 3: 1,\r\n 4: 2\r\n } [event.button]\r\n }\r\n return event.which\r\n}\r\n\r\nfunction initEvent(EventClass) {\r\n if (EventClass) {\r\n eventsEngine.Event = EventClass;\r\n eventsEngine.Event.prototype = EventClass.prototype\r\n }\r\n}\r\ninitEvent(normalizeEventArguments((function(src, config) {\r\n var _src$view;\r\n var srcIsEvent = src instanceof eventsEngine.Event || hasWindow() && src instanceof window.Event || (null === (_src$view = src.view) || void 0 === _src$view ? void 0 : _src$view.Event) && src instanceof src.view.Event;\r\n if (srcIsEvent) {\r\n this.originalEvent = src;\r\n this.type = src.type;\r\n this.currentTarget = void 0;\r\n if (Object.prototype.hasOwnProperty.call(src, \"isTrusted\")) {\r\n this.isTrusted = src.isTrusted\r\n }\r\n this.timeStamp = src.timeStamp || Date.now()\r\n } else {\r\n _extends(this, src)\r\n }\r\n addProperty(\"which\", calculateWhich, this);\r\n if (0 === src.type.indexOf(\"touch\")) {\r\n delete config.pageX;\r\n delete config.pageY\r\n }\r\n _extends(this, config);\r\n this.guid = ++guid\r\n})));\r\n\r\nfunction addProperty(propName, hook, eventInstance) {\r\n Object.defineProperty(eventInstance || eventsEngine.Event.prototype, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n get: function() {\r\n return this.originalEvent && hook(this.originalEvent)\r\n },\r\n set: function(value) {\r\n Object.defineProperty(this, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: value\r\n })\r\n }\r\n })\r\n}\r\nEVENT_PROPERTIES.forEach(prop => addProperty(prop, event => event[prop]));\r\nhookTouchProps(addProperty);\r\nvar beforeSetStrategy = Callbacks();\r\nvar afterSetStrategy = Callbacks();\r\neventsEngine.set = function(engine) {\r\n beforeSetStrategy.fire();\r\n eventsEngine.inject(engine);\r\n initEvent(engine.Event);\r\n afterSetStrategy.fire()\r\n};\r\neventsEngine.subscribeGlobal = function() {\r\n applyForEach(arguments, normalizeOnArguments((function() {\r\n var args = arguments;\r\n eventsEngine.on.apply(this, args);\r\n beforeSetStrategy.add((function() {\r\n var offArgs = Array.prototype.slice.call(args, 0);\r\n offArgs.splice(3, 1);\r\n eventsEngine.off.apply(this, offArgs)\r\n }));\r\n afterSetStrategy.add((function() {\r\n eventsEngine.on.apply(this, args)\r\n }))\r\n })))\r\n};\r\neventsEngine.forcePassiveFalseEventNames = forcePassiveFalseEventNames;\r\neventsEngine.passiveEventHandlersSupported = passiveEventHandlersSupported;\r\nexport default eventsEngine;\r\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\nvar objectTypes = require('lodash._objecttypes');\n\n/**\n * Checks if `value` is the language type of Object.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // check if the value is the ECMAScript language type of Object\n // http://es5.github.io/#x8\n // and avoid a V8 bug\n // http://code.google.com/p/v8/issues/detail?id=2291\n return !!(value && objectTypes[typeof value]);\n}\n\nmodule.exports = isObject;\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","/**\r\n * DevExtreme (esm/animation/translator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n data as elementData,\r\n removeData\r\n} from \"../core/element_data\";\r\nimport {\r\n type\r\n} from \"../core/utils/type\";\r\nvar TRANSLATOR_DATA_KEY = \"dxTranslator\";\r\nvar TRANSFORM_MATRIX_REGEX = /matrix(3d)?\\((.+?)\\)/;\r\nvar TRANSLATE_REGEX = /translate(?:3d)?\\((.+?)\\)/;\r\nexport var locate = function($element) {\r\n $element = $($element);\r\n var translate = getTranslate($element);\r\n return {\r\n left: translate.x,\r\n top: translate.y\r\n }\r\n};\r\n\r\nfunction isPercentValue(value) {\r\n return \"string\" === type(value) && \"%\" === value[value.length - 1]\r\n}\r\n\r\nfunction cacheTranslate($element, translate) {\r\n if ($element.length) {\r\n elementData($element.get(0), TRANSLATOR_DATA_KEY, translate)\r\n }\r\n}\r\nexport var clearCache = function($element) {\r\n if ($element.length) {\r\n removeData($element.get(0), TRANSLATOR_DATA_KEY)\r\n }\r\n};\r\nexport var getTranslateCss = function(translate) {\r\n translate.x = translate.x || 0;\r\n translate.y = translate.y || 0;\r\n var xValueString = isPercentValue(translate.x) ? translate.x : translate.x + \"px\";\r\n var yValueString = isPercentValue(translate.y) ? translate.y : translate.y + \"px\";\r\n return \"translate(\" + xValueString + \", \" + yValueString + \")\"\r\n};\r\nexport var getTranslate = function($element) {\r\n var result = $element.length ? elementData($element.get(0), TRANSLATOR_DATA_KEY) : null;\r\n if (!result) {\r\n var transformValue = $element.css(\"transform\") || getTranslateCss({\r\n x: 0,\r\n y: 0\r\n });\r\n var matrix = transformValue.match(TRANSFORM_MATRIX_REGEX);\r\n var is3D = matrix && matrix[1];\r\n if (matrix) {\r\n matrix = matrix[2].split(\",\");\r\n if (\"3d\" === is3D) {\r\n matrix = matrix.slice(12, 15)\r\n } else {\r\n matrix.push(0);\r\n matrix = matrix.slice(4, 7)\r\n }\r\n } else {\r\n matrix = [0, 0, 0]\r\n }\r\n result = {\r\n x: parseFloat(matrix[0]),\r\n y: parseFloat(matrix[1]),\r\n z: parseFloat(matrix[2])\r\n };\r\n cacheTranslate($element, result)\r\n }\r\n return result\r\n};\r\nexport var move = function($element, position) {\r\n $element = $($element);\r\n var left = position.left;\r\n var top = position.top;\r\n var translate;\r\n if (void 0 === left) {\r\n translate = getTranslate($element);\r\n translate.y = top || 0\r\n } else if (void 0 === top) {\r\n translate = getTranslate($element);\r\n translate.x = left || 0\r\n } else {\r\n translate = {\r\n x: left || 0,\r\n y: top || 0,\r\n z: 0\r\n };\r\n cacheTranslate($element, translate)\r\n }\r\n $element.css({\r\n transform: getTranslateCss(translate)\r\n });\r\n if (isPercentValue(left) || isPercentValue(top)) {\r\n clearCache($element)\r\n }\r\n};\r\nexport var resetPosition = function($element, finishTransition) {\r\n $element = $($element);\r\n var originalTransition;\r\n var stylesConfig = {\r\n left: 0,\r\n top: 0,\r\n transform: \"none\"\r\n };\r\n if (finishTransition) {\r\n originalTransition = $element.css(\"transition\");\r\n stylesConfig.transition = \"none\"\r\n }\r\n $element.css(stylesConfig);\r\n clearCache($element);\r\n if (finishTransition) {\r\n $element.get(0).offsetHeight;\r\n $element.css(\"transition\", originalTransition)\r\n }\r\n};\r\nexport var parseTranslate = function(translateString) {\r\n var result = translateString.match(TRANSLATE_REGEX);\r\n if (!result || !result[1]) {\r\n return\r\n }\r\n result = result[1].split(\",\");\r\n result = {\r\n x: parseFloat(result[0]),\r\n y: parseFloat(result[1]),\r\n z: parseFloat(result[2])\r\n };\r\n return result\r\n};\r\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","// Components\nimport VWindow from './VWindow'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n GroupableFactory('windowGroup', 'v-window-item', 'v-window')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n windowGroup: InstanceType<typeof VWindow>\n}\n\nexport default baseMixins.extend<options>().extend(\n /* @vue/component */\n).extend({\n name: 'v-window-item',\n\n directives: {\n Touch,\n },\n\n props: {\n disabled: Boolean,\n reverseTransition: {\n type: [Boolean, String],\n default: undefined,\n },\n transition: {\n type: [Boolean, String],\n default: undefined,\n },\n value: {\n required: false,\n },\n },\n\n data () {\n return {\n isActive: false,\n inTransition: false,\n }\n },\n\n computed: {\n classes (): object {\n return this.groupClasses\n },\n computedTransition (): string | boolean {\n if (!this.windowGroup.internalReverse) {\n return typeof this.transition !== 'undefined'\n ? this.transition || ''\n : this.windowGroup.computedTransition\n }\n\n return typeof this.reverseTransition !== 'undefined'\n ? this.reverseTransition || ''\n : this.windowGroup.computedTransition\n },\n },\n\n methods: {\n genDefaultSlot () {\n return getSlot(this)\n },\n genWindowItem () {\n return this.$createElement('div', {\n staticClass: 'v-window-item',\n class: this.classes,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n on: this.$listeners,\n }, this.genDefaultSlot())\n },\n onAfterTransition () {\n if (!this.inTransition) {\n return\n }\n\n // Finalize transition state.\n this.inTransition = false\n if (this.windowGroup.transitionCount > 0) {\n this.windowGroup.transitionCount--\n\n // Remove container height if we are out of transition.\n if (this.windowGroup.transitionCount === 0) {\n this.windowGroup.transitionHeight = undefined\n }\n }\n },\n onBeforeTransition () {\n if (this.inTransition) {\n return\n }\n\n // Initialize transition state here.\n this.inTransition = true\n if (this.windowGroup.transitionCount === 0) {\n // Set initial height for height transition.\n this.windowGroup.transitionHeight = convertToUnit(this.windowGroup.$el.clientHeight)\n }\n this.windowGroup.transitionCount++\n },\n onTransitionCancelled () {\n this.onAfterTransition() // This should have the same path as normal transition end.\n },\n onEnter (el: HTMLElement) {\n if (!this.inTransition) {\n return\n }\n\n this.$nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!this.computedTransition || !this.inTransition) {\n return\n }\n\n // Set transition target height.\n this.windowGroup.transitionHeight = convertToUnit(el.clientHeight)\n })\n },\n },\n\n render (h): VNode {\n return h('transition', {\n props: {\n name: this.computedTransition,\n },\n on: {\n // Handlers for enter windows.\n beforeEnter: this.onBeforeTransition,\n afterEnter: this.onAfterTransition,\n enterCancelled: this.onTransitionCancelled,\n\n // Handlers for leave windows.\n beforeLeave: this.onBeforeTransition,\n afterLeave: this.onAfterTransition,\n leaveCancelled: this.onTransitionCancelled,\n\n // Enter handler for height transition.\n enter: this.onEnter,\n },\n }, this.showLazyContent(() => [this.genWindowItem()]))\n },\n})\n","// Extensions\nimport VWindowItem from '../VWindow/VWindowItem'\n\n/* @vue/component */\nexport default VWindowItem.extend({\n name: 'v-tab-item',\n\n props: {\n id: String,\n },\n\n methods: {\n genWindowItem () {\n const item = VWindowItem.options.methods.genWindowItem.call(this)\n\n item.data!.domProps = item.data!.domProps || {}\n item.data!.domProps.id = this.id || this.value\n\n return item\n },\n },\n})\n","// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType<string | null>,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | null {\n return this.lazySearch\n },\n set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val\n this.$emit('update:search-input', val)\n }\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.blur()\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n destroyed () {\n document.removeEventListener('copy', this.onCopy)\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n if (!this.autoSelectFirst) {\n const preSelectedItem = oldVal[this.$refs.menu.listIndex]\n\n if (preSelectedItem) {\n this.setMenuIndex(val.findIndex(i => i === preSelectedItem))\n } else {\n this.setMenuIndex(-1)\n }\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n\n if (this.autoSelectFirst && val.length) {\n this.setMenuIndex(0)\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = null\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n if (!this.multiple && value === '') this.deleteCurrentItem()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (\n !this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (\n !this.multiple &&\n !this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )\n ) {\n this.setSearch()\n }\n },\n hasItem (item: any): boolean {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData?.setData('text/plain', currentItemText)\n event.clipboardData?.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.36.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.36.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","// Styles\nimport './VSpeedDial.sass'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Positionable from '../../mixins/positionable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeData } from 'vue'\nimport { Prop } from 'vue/types/options'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Positionable, Toggleable, Transitionable).extend({\n name: 'v-speed-dial',\n\n directives: { ClickOutside },\n\n props: {\n direction: {\n type: String as Prop<'top' | 'right' | 'bottom' | 'left'>,\n default: 'top',\n validator: (val: string) => {\n return ['top', 'right', 'bottom', 'left'].includes(val)\n },\n },\n openOnHover: Boolean,\n transition: {\n type: String,\n default: 'scale-transition',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-speed-dial': true,\n 'v-speed-dial--top': this.top,\n 'v-speed-dial--right': this.right,\n 'v-speed-dial--bottom': this.bottom,\n 'v-speed-dial--left': this.left,\n 'v-speed-dial--absolute': this.absolute,\n 'v-speed-dial--fixed': this.fixed,\n [`v-speed-dial--direction-${this.direction}`]: true,\n 'v-speed-dial--is-active': this.isActive,\n }\n },\n },\n\n render (h): VNode {\n let children: VNode[] = []\n const data: VNodeData = {\n class: this.classes,\n directives: [{\n name: 'click-outside',\n value: () => (this.isActive = false),\n }],\n on: {\n click: () => (this.isActive = !this.isActive),\n },\n }\n\n if (this.openOnHover) {\n data.on!.mouseenter = () => (this.isActive = true)\n data.on!.mouseleave = () => (this.isActive = false)\n }\n\n if (this.isActive) {\n let btnCount = 0\n children = (getSlot(this) || []).map((b, i) => {\n if (b.tag && typeof b.componentOptions !== 'undefined' && (b.componentOptions.Ctor.options.name === 'v-btn' || b.componentOptions.Ctor.options.name === 'v-tooltip')) {\n btnCount++\n return h('div', {\n style: {\n transitionDelay: btnCount * 0.05 + 's',\n },\n key: i,\n }, [b])\n } else {\n b.key = i\n return b\n }\n })\n }\n\n const list = h('transition-group', {\n class: 'v-speed-dial__list',\n props: {\n name: this.transition,\n mode: this.mode,\n origin: this.origin,\n tag: 'div',\n },\n }, children)\n\n return h('div', data, [getSlot(this, 'activator'), list])\n },\n})\n","/**\r\n * DevExtreme (esm/data/query_adapters.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default {};\r\n","/**\r\n * DevExtreme (esm/data/remote_query.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport queryAdapters from \"./query_adapters\";\r\nimport {\r\n errors,\r\n handleError\r\n} from \"./errors\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport arrayQueryImpl from \"./array_query\";\r\nvar remoteQueryImpl = function remoteQueryImpl(url, queryOptions, tasks) {\r\n tasks = tasks || [];\r\n queryOptions = queryOptions || {};\r\n var createTask = function(name, args) {\r\n return {\r\n name: name,\r\n args: args\r\n }\r\n };\r\n var exec = function(executorTask) {\r\n var d = new Deferred;\r\n var _adapterFactory;\r\n var _adapter;\r\n var _taskQueue;\r\n var _currentTask;\r\n var _mergedSortArgs;\r\n var rejectWithNotify = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n handleError(error);\r\n d.reject(error)\r\n };\r\n\r\n function mergeSortTask(task) {\r\n switch (task.name) {\r\n case \"sortBy\":\r\n _mergedSortArgs = [task.args];\r\n return true;\r\n case \"thenBy\":\r\n if (!_mergedSortArgs) {\r\n throw errors.Error(\"E4004\")\r\n }\r\n _mergedSortArgs.push(task.args);\r\n return true\r\n }\r\n return false\r\n }\r\n try {\r\n _adapterFactory = queryOptions.adapter;\r\n if (!isFunction(_adapterFactory)) {\r\n _adapterFactory = queryAdapters[_adapterFactory]\r\n }\r\n _adapter = _adapterFactory(queryOptions);\r\n _taskQueue = [].concat(tasks).concat(executorTask);\r\n var optimize = _adapter.optimize;\r\n if (optimize) {\r\n optimize(_taskQueue)\r\n }\r\n while (_taskQueue.length) {\r\n _currentTask = _taskQueue[0];\r\n if (!mergeSortTask(_currentTask)) {\r\n if (_mergedSortArgs) {\r\n _taskQueue.unshift(createTask(\"multiSort\", [_mergedSortArgs]));\r\n _mergedSortArgs = null;\r\n continue\r\n }\r\n if (\"enumerate\" !== String(_currentTask.name)) {\r\n if (!_adapter[_currentTask.name] || false === _adapter[_currentTask.name].apply(_adapter, _currentTask.args)) {\r\n break\r\n }\r\n }\r\n }\r\n _taskQueue.shift()\r\n }! function() {\r\n var head = _taskQueue[0];\r\n var unmergedTasks = [];\r\n if (head && \"multiSort\" === head.name) {\r\n _taskQueue.shift();\r\n each(head.args[0], (function() {\r\n unmergedTasks.push(createTask(unmergedTasks.length ? \"thenBy\" : \"sortBy\", this))\r\n }))\r\n }\r\n _taskQueue = unmergedTasks.concat(_taskQueue)\r\n }();\r\n _adapter.exec(url).done((function(result, extra) {\r\n if (!_taskQueue.length) {\r\n d.resolve(result, extra)\r\n } else {\r\n var clientChain = arrayQueryImpl(result, {\r\n errorHandler: queryOptions.errorHandler\r\n });\r\n each(_taskQueue, (function() {\r\n clientChain = clientChain[this.name].apply(clientChain, this.args)\r\n }));\r\n clientChain.done(d.resolve).fail(d.reject)\r\n }\r\n })).fail(rejectWithNotify)\r\n } catch (x) {\r\n rejectWithNotify(x)\r\n }\r\n return d.promise()\r\n };\r\n var query = {};\r\n each([\"sortBy\", \"thenBy\", \"filter\", \"slice\", \"select\", \"groupBy\"], (function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return remoteQueryImpl(url, queryOptions, tasks.concat(createTask(name, arguments)))\r\n }\r\n }));\r\n each([\"count\", \"min\", \"max\", \"sum\", \"avg\", \"aggregate\", \"enumerate\"], (function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return exec.call(this, createTask(name, arguments))\r\n }\r\n }));\r\n return query\r\n};\r\nexport default remoteQueryImpl;\r\n","/**\r\n * DevExtreme (esm/data/query_implementation.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport arrayQueryImpl from \"./array_query\";\r\nimport remoteQueryImpl from \"./remote_query\";\r\nexport var queryImpl = {\r\n array: arrayQueryImpl,\r\n remote: remoteQueryImpl\r\n};\r\n","/**\r\n * DevExtreme (esm/data/query.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n queryImpl\r\n} from \"./query_implementation\";\r\nvar query = function() {\r\n var impl = Array.isArray(arguments[0]) ? \"array\" : \"remote\";\r\n return queryImpl[impl].apply(this, arguments)\r\n};\r\nexport default query;\r\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var he = moment.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n '_'\n ),\n monthsShort:\n 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [ב]MMMM YYYY',\n LLL: 'D [ב]MMMM YYYY HH:mm',\n LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[היום ב־]LT',\n nextDay: '[מחר ב־]LT',\n nextWeek: 'dddd [בשעה] LT',\n lastDay: '[אתמול ב־]LT',\n lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'בעוד %s',\n past: 'לפני %s',\n s: 'מספר שניות',\n ss: '%d שניות',\n m: 'דקה',\n mm: '%d דקות',\n h: 'שעה',\n hh: function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d: 'יום',\n dd: function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n },\n },\n meridiemParse:\n /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n },\n });\n\n return he;\n\n})));\n","/**\r\n * DevExtreme (esm/core/utils/storage.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nvar getSessionStorage = function() {\r\n var sessionStorage;\r\n try {\r\n sessionStorage = window.sessionStorage\r\n } catch (e) {}\r\n return sessionStorage\r\n};\r\nexport {\r\n getSessionStorage as sessionStorage\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/support.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nimport callOnce from \"./call_once\";\r\nimport {\r\n getNavigator,\r\n hasProperty\r\n} from \"./window\";\r\nimport devices from \"../devices\";\r\nimport {\r\n stylePropPrefix,\r\n styleProp\r\n} from \"./style\";\r\nvar {\r\n maxTouchPoints: maxTouchPoints\r\n} = getNavigator();\r\nvar transitionEndEventNames = {\r\n webkitTransition: \"webkitTransitionEnd\",\r\n MozTransition: \"transitionend\",\r\n OTransition: \"oTransitionEnd\",\r\n transition: \"transitionend\"\r\n};\r\nvar supportProp = function(prop) {\r\n return !!styleProp(prop)\r\n};\r\nvar isNativeScrollingSupported = function() {\r\n var {\r\n platform: platform,\r\n mac: isMac\r\n } = devices.real();\r\n var isNativeScrollDevice = \"ios\" === platform || \"android\" === platform || isMac;\r\n return isNativeScrollDevice\r\n};\r\nvar inputType = function(type) {\r\n if (\"text\" === type) {\r\n return true\r\n }\r\n var input = domAdapter.createElement(\"input\");\r\n try {\r\n input.setAttribute(\"type\", type);\r\n input.value = \"wrongValue\";\r\n return !input.value\r\n } catch (e) {\r\n return false\r\n }\r\n};\r\nvar detectTouchEvents = function(hasWindowProperty, maxTouchPoints) {\r\n return (hasWindowProperty(\"ontouchstart\") || !!maxTouchPoints) && !hasWindowProperty(\"callPhantom\")\r\n};\r\nvar detectPointerEvent = function(hasWindowProperty) {\r\n return hasWindowProperty(\"PointerEvent\")\r\n};\r\nvar touchEvents = detectTouchEvents(hasProperty, maxTouchPoints);\r\nvar pointerEvents = detectPointerEvent(hasProperty);\r\nvar touchPointersPresent = !!maxTouchPoints;\r\nexport {\r\n touchEvents,\r\n pointerEvents,\r\n styleProp,\r\n stylePropPrefix,\r\n supportProp,\r\n inputType\r\n};\r\nexport var touch = touchEvents || pointerEvents && touchPointersPresent;\r\nexport var transition = callOnce((function() {\r\n return supportProp(\"transition\")\r\n}));\r\nexport var transitionEndEventName = callOnce((function() {\r\n return transitionEndEventNames[styleProp(\"transition\")]\r\n}));\r\nexport var animation = callOnce((function() {\r\n return supportProp(\"animation\")\r\n}));\r\nexport var nativeScrolling = isNativeScrollingSupported();\r\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sq = moment.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n '_'\n ),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n '_'\n ),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sq;\n\n})));\n","/**\r\n * DevExtreme (esm/core/events_strategy.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Callbacks from \"./utils/callbacks\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nimport {\r\n isFunction,\r\n isPlainObject\r\n} from \"./utils/type\";\r\nexport class EventsStrategy {\r\n constructor(owner) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n this._events = {};\r\n this._owner = owner;\r\n this._options = options\r\n }\r\n static create(owner, strategy) {\r\n if (strategy) {\r\n return isFunction(strategy) ? strategy(owner) : strategy\r\n } else {\r\n return new EventsStrategy(owner)\r\n }\r\n }\r\n hasEvent(eventName) {\r\n var callbacks = this._events[eventName];\r\n return callbacks ? callbacks.has() : false\r\n }\r\n fireEvent(eventName, eventArgs) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n callbacks.fireWith(this._owner, eventArgs)\r\n }\r\n return this._owner\r\n }\r\n on(eventName, eventHandler) {\r\n if (isPlainObject(eventName)) {\r\n each(eventName, (e, h) => {\r\n this.on(e, h)\r\n })\r\n } else {\r\n var callbacks = this._events[eventName];\r\n if (!callbacks) {\r\n callbacks = Callbacks({\r\n syncStrategy: this._options.syncStrategy\r\n });\r\n this._events[eventName] = callbacks\r\n }\r\n var addFn = callbacks.originalAdd || callbacks.add;\r\n addFn.call(callbacks, eventHandler)\r\n }\r\n }\r\n off(eventName, eventHandler) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n if (isFunction(eventHandler)) {\r\n callbacks.remove(eventHandler)\r\n } else {\r\n callbacks.empty()\r\n }\r\n }\r\n }\r\n dispose() {\r\n each(this._events, (eventName, event) => {\r\n event.empty()\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/data/custom_store.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n keysEqual,\r\n XHR_ERROR_UNLOAD,\r\n errorMessageFromXhr as errorMessageFromXhrUtility\r\n} from \"./utils\";\r\nimport {\r\n applyBatch\r\n} from \"./array_utils\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport config from \"../core/config\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport Store from \"./abstract_store\";\r\nimport arrayQuery from \"./array_query\";\r\nimport storeHelper from \"./store_helper\";\r\nimport {\r\n Deferred,\r\n when,\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nvar TOTAL_COUNT = \"totalCount\";\r\nvar LOAD = \"load\";\r\nvar BY_KEY = \"byKey\";\r\nvar INSERT = \"insert\";\r\nvar UPDATE = \"update\";\r\nvar REMOVE = \"remove\";\r\n\r\nfunction isPromise(obj) {\r\n return obj && isFunction(obj.then)\r\n}\r\n\r\nfunction trivialPromise(value) {\r\n return (new Deferred).resolve(value).promise()\r\n}\r\n\r\nfunction ensureRequiredFuncOption(name, obj) {\r\n if (!isFunction(obj)) {\r\n throw errors.Error(\"E4011\", name)\r\n }\r\n}\r\n\r\nfunction throwInvalidUserFuncResult(name) {\r\n throw errors.Error(\"E4012\", name)\r\n}\r\n\r\nfunction createUserFuncFailureHandler(pendingDeferred) {\r\n function errorMessageFromXhr(promiseArguments) {\r\n var xhr = promiseArguments[0];\r\n var textStatus = promiseArguments[1];\r\n if (!xhr || !xhr.getResponseHeader) {\r\n return null\r\n }\r\n return errorMessageFromXhrUtility(xhr, textStatus)\r\n }\r\n return function(arg) {\r\n var error;\r\n if (arg instanceof Error) {\r\n error = arg\r\n } else {\r\n error = new Error(errorMessageFromXhr(arguments) || arg && String(arg) || \"Unknown error\")\r\n }\r\n if (error.message !== XHR_ERROR_UNLOAD) {\r\n pendingDeferred.reject(error)\r\n }\r\n }\r\n}\r\n\r\nfunction invokeUserLoad(store, options) {\r\n var userFunc = store._loadFunc;\r\n var userResult;\r\n ensureRequiredFuncOption(LOAD, userFunc);\r\n userResult = userFunc.apply(store, [options]);\r\n if (Array.isArray(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n } else if (null === userResult || void 0 === userResult) {\r\n userResult = trivialPromise([])\r\n } else if (!isPromise(userResult)) {\r\n throwInvalidUserFuncResult(LOAD)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction invokeUserTotalCountFunc(store, options) {\r\n var userFunc = store._totalCountFunc;\r\n var userResult;\r\n if (!isFunction(userFunc)) {\r\n throw errors.Error(\"E4021\")\r\n }\r\n userResult = userFunc.apply(store, [options]);\r\n if (!isPromise(userResult)) {\r\n userResult = Number(userResult);\r\n if (!isFinite(userResult)) {\r\n throwInvalidUserFuncResult(TOTAL_COUNT)\r\n }\r\n userResult = trivialPromise(userResult)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction invokeUserByKeyFunc(store, key, extraOptions) {\r\n var userFunc = store._byKeyFunc;\r\n var userResult;\r\n ensureRequiredFuncOption(BY_KEY, userFunc);\r\n userResult = userFunc.apply(store, [key, extraOptions]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction runRawLoad(pendingDeferred, store, userFuncOptions, continuation) {\r\n if (store.__rawData) {\r\n continuation(store.__rawData)\r\n } else {\r\n var loadPromise = store.__rawDataPromise || invokeUserLoad(store, userFuncOptions);\r\n if (store._cacheRawData) {\r\n store.__rawDataPromise = loadPromise\r\n }\r\n loadPromise.always((function() {\r\n delete store.__rawDataPromise\r\n })).done((function(rawData) {\r\n if (store._cacheRawData) {\r\n store.__rawData = rawData\r\n }\r\n continuation(rawData)\r\n })).fail(createUserFuncFailureHandler(pendingDeferred))\r\n }\r\n}\r\n\r\nfunction runRawLoadWithQuery(pendingDeferred, store, options, countOnly) {\r\n options = options || {};\r\n var userFuncOptions = {};\r\n if (\"userData\" in options) {\r\n userFuncOptions.userData = options.userData\r\n }\r\n runRawLoad(pendingDeferred, store, userFuncOptions, (function(rawData) {\r\n var rawDataQuery = arrayQuery(rawData, {\r\n errorHandler: store._errorHandler\r\n });\r\n var itemsQuery;\r\n var totalCountQuery;\r\n var waitList = [];\r\n var items;\r\n var totalCount;\r\n if (!countOnly) {\r\n itemsQuery = storeHelper.queryByOptions(rawDataQuery, options);\r\n if (itemsQuery === rawDataQuery) {\r\n items = rawData.slice(0)\r\n } else {\r\n waitList.push(itemsQuery.enumerate().done((function(asyncResult) {\r\n items = asyncResult\r\n })))\r\n }\r\n }\r\n if (options.requireTotalCount || countOnly) {\r\n totalCountQuery = storeHelper.queryByOptions(rawDataQuery, options, true);\r\n if (totalCountQuery === rawDataQuery) {\r\n totalCount = rawData.length\r\n } else {\r\n waitList.push(totalCountQuery.count().done((function(asyncResult) {\r\n totalCount = asyncResult\r\n })))\r\n }\r\n }\r\n when.apply($, waitList).done((function() {\r\n if (countOnly) {\r\n pendingDeferred.resolve(totalCount)\r\n } else if (options.requireTotalCount) {\r\n pendingDeferred.resolve(items, {\r\n totalCount: totalCount\r\n })\r\n } else {\r\n pendingDeferred.resolve(items)\r\n }\r\n })).fail((function(x) {\r\n pendingDeferred.reject(x)\r\n }))\r\n }))\r\n}\r\n\r\nfunction runRawLoadWithKey(pendingDeferred, store, key) {\r\n runRawLoad(pendingDeferred, store, {}, (function(rawData) {\r\n var keyExpr = store.key();\r\n var item;\r\n for (var i = 0, len = rawData.length; i < len; i++) {\r\n item = rawData[i];\r\n if (keysEqual(keyExpr, store.keyOf(rawData[i]), key)) {\r\n pendingDeferred.resolve(item);\r\n return\r\n }\r\n }\r\n pendingDeferred.reject(errors.Error(\"E4009\"))\r\n }))\r\n}\r\nvar CustomStore = Store.inherit({\r\n ctor: function(options) {\r\n options = options || {};\r\n this.callBase(options);\r\n this._useDefaultSearch = !!options.useDefaultSearch || \"raw\" === options.loadMode;\r\n this._loadMode = options.loadMode;\r\n this._cacheRawData = false !== options.cacheRawData;\r\n this._loadFunc = options[LOAD];\r\n this._totalCountFunc = options[TOTAL_COUNT];\r\n this._byKeyFunc = options[BY_KEY];\r\n this._insertFunc = options[INSERT];\r\n this._updateFunc = options[UPDATE];\r\n this._removeFunc = options[REMOVE]\r\n },\r\n _clearCache() {\r\n delete this.__rawData\r\n },\r\n createQuery: function() {\r\n throw errors.Error(\"E4010\")\r\n },\r\n clearRawDataCache: function() {\r\n this._clearCache()\r\n },\r\n _totalCountImpl: function(options) {\r\n var d = new Deferred;\r\n if (\"raw\" === this._loadMode && !this._totalCountFunc) {\r\n runRawLoadWithQuery(d, this, options, true)\r\n } else {\r\n invokeUserTotalCountFunc(this, options).done((function(count) {\r\n d.resolve(Number(count))\r\n })).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _pushImpl: function(changes) {\r\n if (this.__rawData) {\r\n applyBatch({\r\n keyInfo: this,\r\n data: this.__rawData,\r\n changes: changes\r\n })\r\n }\r\n },\r\n _loadImpl: function(options) {\r\n var d = new Deferred;\r\n if (\"raw\" === this._loadMode) {\r\n runRawLoadWithQuery(d, this, options, false)\r\n } else {\r\n invokeUserLoad(this, options).done((function(data, extra) {\r\n d.resolve(data, extra)\r\n })).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _byKeyImpl: function(key, extraOptions) {\r\n var d = new Deferred;\r\n if (this._byKeyViaLoad()) {\r\n this._requireKey();\r\n runRawLoadWithKey(d, this, key)\r\n } else {\r\n invokeUserByKeyFunc(this, key, extraOptions).done((function(obj) {\r\n d.resolve(obj)\r\n })).fail(createUserFuncFailureHandler(d))\r\n }\r\n return d.promise()\r\n },\r\n _byKeyViaLoad: function() {\r\n return \"raw\" === this._loadMode && !this._byKeyFunc\r\n },\r\n _insertImpl: function(values) {\r\n var that = this;\r\n var userFunc = that._insertFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(INSERT, userFunc);\r\n userResult = userFunc.apply(that, [values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n fromPromise(userResult).done((function(serverResponse) {\r\n if (config().useLegacyStoreResult) {\r\n d.resolve(values, serverResponse)\r\n } else {\r\n d.resolve(serverResponse || values, that.keyOf(serverResponse))\r\n }\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _updateImpl: function(key, values) {\r\n var userFunc = this._updateFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(UPDATE, userFunc);\r\n userResult = userFunc.apply(this, [key, values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n fromPromise(userResult).done((function(serverResponse) {\r\n if (config().useLegacyStoreResult) {\r\n d.resolve(key, values)\r\n } else {\r\n d.resolve(serverResponse || values, key)\r\n }\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _removeImpl: function(key) {\r\n var userFunc = this._removeFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(REMOVE, userFunc);\r\n userResult = userFunc.apply(this, [key]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise()\r\n }\r\n fromPromise(userResult).done((function() {\r\n d.resolve(key)\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n }\r\n});\r\nexport default CustomStore;\r\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'elevatable',\n\n props: {\n elevation: [Number, String],\n },\n\n computed: {\n computedElevation (): string | number | undefined {\n return this.elevation\n },\n elevationClasses (): Record<string, boolean> {\n const elevation = this.computedElevation\n\n if (elevation == null) return {}\n if (isNaN(parseInt(elevation))) return {}\n return { [`elevation-${this.elevation}`]: true }\n },\n },\n})\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DxExtensionComponent = void 0;\nvar component_1 = require(\"./component\");\nvar DxExtensionComponent = function () { return (0, component_1.BaseComponent)().extend({\n created: function () {\n this.$_isExtension = true;\n },\n mounted: function () {\n this.$el.setAttribute(\"isExtension\", \"true\");\n if (this.$vnode && this.$vnode.componentOptions.$_hasOwner) {\n return;\n }\n this.attachTo(this.$el);\n },\n methods: {\n attachTo: function (element) {\n this.$_createWidget(element);\n }\n }\n}); };\nexports.DxExtensionComponent = DxExtensionComponent;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","/**\r\n * DevExtreme (esm/renovation/utils/type_conversion.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function toNumber(attribute) {\r\n return attribute ? Number(attribute.replace(\"px\", \"\")) : 0\r\n}\r\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).MapboxDraw=e()}(this,(function(){\"use strict\";var t=function(t,e){var n={drag:[],click:[],mousemove:[],mousedown:[],mouseup:[],mouseout:[],keydown:[],keyup:[],touchstart:[],touchmove:[],touchend:[],tap:[]},o={on:function(t,e,o){if(void 0===n[t])throw new Error(\"Invalid event type: \"+t);n[t].push({selector:e,fn:o})},render:function(t){e.store.featureChanged(t)}},r=function(t,r){for(var i=n[t],a=i.length;a--;){var s=i[a];if(s.selector(r)){s.fn.call(o,r)||e.store.render(),e.ui.updateMapClasses();break}}};return t.start.call(o),{render:t.render,stop:function(){t.stop&&t.stop()},trash:function(){t.trash&&(t.trash(),e.store.render())},combineFeatures:function(){t.combineFeatures&&t.combineFeatures()},uncombineFeatures:function(){t.uncombineFeatures&&t.uncombineFeatures()},drag:function(t){r(\"drag\",t)},click:function(t){r(\"click\",t)},mousemove:function(t){r(\"mousemove\",t)},mousedown:function(t){r(\"mousedown\",t)},mouseup:function(t){r(\"mouseup\",t)},mouseout:function(t){r(\"mouseout\",t)},keydown:function(t){r(\"keydown\",t)},keyup:function(t){r(\"keyup\",t)},touchstart:function(t){r(\"touchstart\",t)},touchmove:function(t){r(\"touchmove\",t)},touchend:function(t){r(\"touchend\",t)},tap:function(t){r(\"tap\",t)}}};function e(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}function n(t){if(t.__esModule)return t;var e=t.default;if(\"function\"==typeof e){var n=function t(){if(this instanceof t){var n=[null];n.push.apply(n,arguments);var o=Function.bind.apply(e,n);return new o}return e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,\"__esModule\",{value:!0}),Object.keys(t).forEach((function(e){var o=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(n,e,o.get?o:{enumerable:!0,get:function(){return t[e]}})})),n}var o={},r={RADIUS:6378137,FLATTENING:1/298.257223563,POLAR_RADIUS:6356752.3142},i=r;function a(t){var e=0;if(t&&t.length>0){e+=Math.abs(s(t[0]));for(var n=1;n<t.length;n++)e-=Math.abs(s(t[n]))}return e}function s(t){var e,n,o,r,a,s,c=0,l=t.length;if(l>2){for(s=0;s<l;s++)s===l-2?(o=l-2,r=l-1,a=0):s===l-1?(o=l-1,r=0,a=1):(o=s,r=s+1,a=s+2),e=t[o],n=t[r],c+=(u(t[a][0])-u(e[0]))*Math.sin(u(n[1]));c=c*i.RADIUS*i.RADIUS/2}return c}function u(t){return t*Math.PI/180}o.geometry=function t(e){var n,o=0;switch(e.type){case\"Polygon\":return a(e.coordinates);case\"MultiPolygon\":for(n=0;n<e.coordinates.length;n++)o+=a(e.coordinates[n]);return o;case\"Point\":case\"MultiPoint\":case\"LineString\":case\"MultiLineString\":return 0;case\"GeometryCollection\":for(n=0;n<e.geometries.length;n++)o+=t(e.geometries[n]);return o}},o.ring=s;var c={CONTROL_BASE:\"mapboxgl-ctrl\",CONTROL_PREFIX:\"mapboxgl-ctrl-\",CONTROL_BUTTON:\"mapbox-gl-draw_ctrl-draw-btn\",CONTROL_BUTTON_LINE:\"mapbox-gl-draw_line\",CONTROL_BUTTON_POLYGON:\"mapbox-gl-draw_polygon\",CONTROL_BUTTON_POINT:\"mapbox-gl-draw_point\",CONTROL_BUTTON_TRASH:\"mapbox-gl-draw_trash\",CONTROL_BUTTON_COMBINE_FEATURES:\"mapbox-gl-draw_combine\",CONTROL_BUTTON_UNCOMBINE_FEATURES:\"mapbox-gl-draw_uncombine\",CONTROL_GROUP:\"mapboxgl-ctrl-group\",ATTRIBUTION:\"mapboxgl-ctrl-attrib\",ACTIVE_BUTTON:\"active\",BOX_SELECT:\"mapbox-gl-draw_boxselect\"},l={HOT:\"mapbox-gl-draw-hot\",COLD:\"mapbox-gl-draw-cold\"},d={ADD:\"add\",MOVE:\"move\",DRAG:\"drag\",POINTER:\"pointer\",NONE:\"none\"},p={POLYGON:\"polygon\",LINE:\"line_string\",POINT:\"point\"},f={FEATURE:\"Feature\",POLYGON:\"Polygon\",LINE_STRING:\"LineString\",POINT:\"Point\",FEATURE_COLLECTION:\"FeatureCollection\",MULTI_PREFIX:\"Multi\",MULTI_POINT:\"MultiPoint\",MULTI_LINE_STRING:\"MultiLineString\",MULTI_POLYGON:\"MultiPolygon\"},h={DRAW_LINE_STRING:\"draw_line_string\",DRAW_POLYGON:\"draw_polygon\",DRAW_POINT:\"draw_point\",SIMPLE_SELECT:\"simple_select\",DIRECT_SELECT:\"direct_select\",STATIC:\"static\"},g={CREATE:\"draw.create\",DELETE:\"draw.delete\",UPDATE:\"draw.update\",SELECTION_CHANGE:\"draw.selectionchange\",MODE_CHANGE:\"draw.modechange\",ACTIONABLE:\"draw.actionable\",RENDER:\"draw.render\",COMBINE_FEATURES:\"draw.combine\",UNCOMBINE_FEATURES:\"draw.uncombine\"},y={MOVE:\"move\",CHANGE_COORDINATES:\"change_coordinates\"},v={FEATURE:\"feature\",MIDPOINT:\"midpoint\",VERTEX:\"vertex\"},m={ACTIVE:\"true\",INACTIVE:\"false\"},_=[\"scrollZoom\",\"boxZoom\",\"dragRotate\",\"dragPan\",\"keyboard\",\"doubleClickZoom\",\"touchZoomRotate\"],b=-85,E=Object.freeze({__proto__:null,classes:c,sources:l,cursors:d,types:p,geojsonTypes:f,modes:h,events:g,updateActions:y,meta:v,activeStates:m,interactions:_,LAT_MIN:-90,LAT_RENDERED_MIN:b,LAT_MAX:90,LAT_RENDERED_MAX:85,LNG_MIN:-270,LNG_MAX:270}),T={Point:0,LineString:1,MultiLineString:1,Polygon:2};function C(t,e){var n=T[t.geometry.type]-T[e.geometry.type];return 0===n&&t.geometry.type===f.POLYGON?t.area-e.area:n}function O(t){return t.map((function(t){return t.geometry.type===f.POLYGON&&(t.area=o.geometry({type:f.FEATURE,property:{},geometry:t.geometry})),t})).sort(C).map((function(t){return delete t.area,t}))}function S(t,e){return void 0===e&&(e=0),[[t.point.x-e,t.point.y-e],[t.point.x+e,t.point.y+e]]}function I(t){if(this._items={},this._nums={},this._length=t?t.length:0,t)for(var e=0,n=t.length;e<n;e++)this.add(t[e]),void 0!==t[e]&&(\"string\"==typeof t[e]?this._items[t[e]]=e:this._nums[t[e]]=e)}I.prototype.add=function(t){return this.has(t)||(this._length++,\"string\"==typeof t?this._items[t]=this._length:this._nums[t]=this._length),this},I.prototype.delete=function(t){return!1===this.has(t)||(this._length--,delete this._items[t],delete this._nums[t]),this},I.prototype.has=function(t){return(\"string\"==typeof t||\"number\"==typeof t)&&(void 0!==this._items[t]||void 0!==this._nums[t])},I.prototype.values=function(){var t=this,e=[];return Object.keys(this._items).forEach((function(n){e.push({k:n,v:t._items[n]})})),Object.keys(this._nums).forEach((function(n){e.push({k:JSON.parse(n),v:t._nums[n]})})),e.sort((function(t,e){return t.v-e.v})).map((function(t){return t.k}))},I.prototype.clear=function(){return this._length=0,this._items={},this._nums={},this};var x=[v.FEATURE,v.MIDPOINT,v.VERTEX],M={click:function(t,e,n){return L(t,e,n,n.options.clickBuffer)},touch:function(t,e,n){return L(t,e,n,n.options.touchBuffer)}};function L(t,e,n,o){if(null===n.map)return[];var r=t?S(t,o):e,i={};n.options.styles&&(i.layers=n.options.styles.map((function(t){return t.id})).filter((function(t){return null!=n.map.getLayer(t)})));var a=n.map.queryRenderedFeatures(r,i).filter((function(t){return-1!==x.indexOf(t.properties.meta)})),s=new I,u=[];return a.forEach((function(t){var e=t.properties.id;s.has(e)||(s.add(e),u.push(t))})),O(u)}function N(t,e){var n=M.click(t,null,e),o={mouse:d.NONE};return n[0]&&(o.mouse=n[0].properties.active===m.ACTIVE?d.MOVE:d.POINTER,o.feature=n[0].properties.meta),-1!==e.events.currentModeName().indexOf(\"draw\")&&(o.mouse=d.ADD),e.ui.queueMapClasses(o),e.ui.updateMapClasses(),n[0]}function A(t,e){var n=t.x-e.x,o=t.y-e.y;return Math.sqrt(n*n+o*o)}function P(t,e,n){void 0===n&&(n={});var o=null!=n.fineTolerance?n.fineTolerance:4,r=null!=n.grossTolerance?n.grossTolerance:12,i=null!=n.interval?n.interval:500;t.point=t.point||e.point,t.time=t.time||e.time;var a=A(t.point,e.point);return a<o||a<r&&e.time-t.time<i}function F(t,e,n){void 0===n&&(n={});var o=null!=n.tolerance?n.tolerance:25,r=null!=n.interval?n.interval:250;return t.point=t.point||e.point,t.time=t.time||e.time,A(t.point,e.point)<o&&e.time-t.time<r}var w={exports:{}},R=w.exports=function(t,e){if(e||(e=16),void 0===t&&(t=128),t<=0)return\"0\";for(var n=Math.log(Math.pow(2,t))/Math.log(e),o=2;n===1/0;o*=2)n=Math.log(Math.pow(2,t/o))/Math.log(e)*o;var r=n-Math.floor(n),i=\"\";for(o=0;o<Math.floor(n);o++){i=Math.floor(Math.random()*e).toString(e)+i}if(r){var a=Math.pow(e,r);i=Math.floor(Math.random()*a).toString(e)+i}var s=parseInt(i,e);return s!==1/0&&s>=Math.pow(2,t)?R(t,e):i};R.rack=function(t,e,n){var o=function(o){var i=0;do{if(i++>10){if(!n)throw new Error(\"too many ID collisions, use more bits\");t+=n}var a=R(t,e)}while(Object.hasOwnProperty.call(r,a));return r[a]=o,a},r=o.hats={};return o.get=function(t){return o.hats[t]},o.set=function(t,e){return o.hats[t]=e,o},o.bits=t||128,o.base=e||16,o};var k=e(w.exports),D=function(t,e){this.ctx=t,this.properties=e.properties||{},this.coordinates=e.geometry.coordinates,this.id=e.id||k(),this.type=e.geometry.type};D.prototype.changed=function(){this.ctx.store.featureChanged(this.id)},D.prototype.incomingCoords=function(t){this.setCoordinates(t)},D.prototype.setCoordinates=function(t){this.coordinates=t,this.changed()},D.prototype.getCoordinates=function(){return JSON.parse(JSON.stringify(this.coordinates))},D.prototype.setProperty=function(t,e){this.properties[t]=e},D.prototype.toGeoJSON=function(){return JSON.parse(JSON.stringify({id:this.id,type:f.FEATURE,properties:this.properties,geometry:{coordinates:this.getCoordinates(),type:this.type}}))},D.prototype.internal=function(t){var e={id:this.id,meta:v.FEATURE,\"meta:type\":this.type,active:m.INACTIVE,mode:t};if(this.ctx.options.userProperties)for(var n in this.properties)e[\"user_\"+n]=this.properties[n];return{type:f.FEATURE,properties:e,geometry:{coordinates:this.getCoordinates(),type:this.type}}};var U=function(t,e){D.call(this,t,e)};(U.prototype=Object.create(D.prototype)).isValid=function(){return\"number\"==typeof this.coordinates[0]&&\"number\"==typeof this.coordinates[1]},U.prototype.updateCoordinate=function(t,e,n){this.coordinates=3===arguments.length?[e,n]:[t,e],this.changed()},U.prototype.getCoordinate=function(){return this.getCoordinates()};var j=function(t,e){D.call(this,t,e)};(j.prototype=Object.create(D.prototype)).isValid=function(){return this.coordinates.length>1},j.prototype.addCoordinate=function(t,e,n){this.changed();var o=parseInt(t,10);this.coordinates.splice(o,0,[e,n])},j.prototype.getCoordinate=function(t){var e=parseInt(t,10);return JSON.parse(JSON.stringify(this.coordinates[e]))},j.prototype.removeCoordinate=function(t){this.changed(),this.coordinates.splice(parseInt(t,10),1)},j.prototype.updateCoordinate=function(t,e,n){var o=parseInt(t,10);this.coordinates[o]=[e,n],this.changed()};var V=function(t,e){D.call(this,t,e),this.coordinates=this.coordinates.map((function(t){return t.slice(0,-1)}))};(V.prototype=Object.create(D.prototype)).isValid=function(){return 0!==this.coordinates.length&&this.coordinates.every((function(t){return t.length>2}))},V.prototype.incomingCoords=function(t){this.coordinates=t.map((function(t){return t.slice(0,-1)})),this.changed()},V.prototype.setCoordinates=function(t){this.coordinates=t,this.changed()},V.prototype.addCoordinate=function(t,e,n){this.changed();var o=t.split(\".\").map((function(t){return parseInt(t,10)}));this.coordinates[o[0]].splice(o[1],0,[e,n])},V.prototype.removeCoordinate=function(t){this.changed();var e=t.split(\".\").map((function(t){return parseInt(t,10)})),n=this.coordinates[e[0]];n&&(n.splice(e[1],1),n.length<3&&this.coordinates.splice(e[0],1))},V.prototype.getCoordinate=function(t){var e=t.split(\".\").map((function(t){return parseInt(t,10)})),n=this.coordinates[e[0]];return JSON.parse(JSON.stringify(n[e[1]]))},V.prototype.getCoordinates=function(){return this.coordinates.map((function(t){return t.concat([t[0]])}))},V.prototype.updateCoordinate=function(t,e,n){this.changed();var o=t.split(\".\"),r=parseInt(o[0],10),i=parseInt(o[1],10);void 0===this.coordinates[r]&&(this.coordinates[r]=[]),this.coordinates[r][i]=[e,n]};var B={MultiPoint:U,MultiLineString:j,MultiPolygon:V},G=function(t,e,n,o,r){var i=n.split(\".\"),a=parseInt(i[0],10),s=i[1]?i.slice(1).join(\".\"):null;return t[a][e](s,o,r)},J=function(t,e){if(D.call(this,t,e),delete this.coordinates,this.model=B[e.geometry.type],void 0===this.model)throw new TypeError(e.geometry.type+\" is not a valid type\");this.features=this._coordinatesToFeatures(e.geometry.coordinates)};function z(t){this.map=t.map,this.drawConfig=JSON.parse(JSON.stringify(t.options||{})),this._ctx=t}(J.prototype=Object.create(D.prototype))._coordinatesToFeatures=function(t){var e=this,n=this.model.bind(this);return t.map((function(t){return new n(e.ctx,{id:k(),type:f.FEATURE,properties:{},geometry:{coordinates:t,type:e.type.replace(\"Multi\",\"\")}})}))},J.prototype.isValid=function(){return this.features.every((function(t){return t.isValid()}))},J.prototype.setCoordinates=function(t){this.features=this._coordinatesToFeatures(t),this.changed()},J.prototype.getCoordinate=function(t){return G(this.features,\"getCoordinate\",t)},J.prototype.getCoordinates=function(){return JSON.parse(JSON.stringify(this.features.map((function(t){return t.type===f.POLYGON?t.getCoordinates():t.coordinates}))))},J.prototype.updateCoordinate=function(t,e,n){G(this.features,\"updateCoordinate\",t,e,n),this.changed()},J.prototype.addCoordinate=function(t,e,n){G(this.features,\"addCoordinate\",t,e,n),this.changed()},J.prototype.removeCoordinate=function(t){G(this.features,\"removeCoordinate\",t),this.changed()},J.prototype.getFeatures=function(){return this.features},z.prototype.setSelected=function(t){return this._ctx.store.setSelected(t)},z.prototype.setSelectedCoordinates=function(t){var e=this;this._ctx.store.setSelectedCoordinates(t),t.reduce((function(t,n){return void 0===t[n.feature_id]&&(t[n.feature_id]=!0,e._ctx.store.get(n.feature_id).changed()),t}),{})},z.prototype.getSelected=function(){return this._ctx.store.getSelected()},z.prototype.getSelectedIds=function(){return this._ctx.store.getSelectedIds()},z.prototype.isSelected=function(t){return this._ctx.store.isSelected(t)},z.prototype.getFeature=function(t){return this._ctx.store.get(t)},z.prototype.select=function(t){return this._ctx.store.select(t)},z.prototype.deselect=function(t){return this._ctx.store.deselect(t)},z.prototype.deleteFeature=function(t,e){return void 0===e&&(e={}),this._ctx.store.delete(t,e)},z.prototype.addFeature=function(t){return this._ctx.store.add(t)},z.prototype.clearSelectedFeatures=function(){return this._ctx.store.clearSelected()},z.prototype.clearSelectedCoordinates=function(){return this._ctx.store.clearSelectedCoordinates()},z.prototype.setActionableState=function(t){void 0===t&&(t={});var e={trash:t.trash||!1,combineFeatures:t.combineFeatures||!1,uncombineFeatures:t.uncombineFeatures||!1};return this._ctx.events.actionable(e)},z.prototype.changeMode=function(t,e,n){return void 0===e&&(e={}),void 0===n&&(n={}),this._ctx.events.changeMode(t,e,n)},z.prototype.updateUIClasses=function(t){return this._ctx.ui.queueMapClasses(t)},z.prototype.activateUIButton=function(t){return this._ctx.ui.setActiveButton(t)},z.prototype.featuresAt=function(t,e,n){if(void 0===n&&(n=\"click\"),\"click\"!==n&&\"touch\"!==n)throw new Error(\"invalid buffer type\");return M[n](t,e,this._ctx)},z.prototype.newFeature=function(t){var e=t.geometry.type;return e===f.POINT?new U(this._ctx,t):e===f.LINE_STRING?new j(this._ctx,t):e===f.POLYGON?new V(this._ctx,t):new J(this._ctx,t)},z.prototype.isInstanceOf=function(t,e){if(t===f.POINT)return e instanceof U;if(t===f.LINE_STRING)return e instanceof j;if(t===f.POLYGON)return e instanceof V;if(\"MultiFeature\"===t)return e instanceof J;throw new Error(\"Unknown feature class: \"+t)},z.prototype.doRender=function(t){return this._ctx.store.featureChanged(t)},z.prototype.onSetup=function(){},z.prototype.onDrag=function(){},z.prototype.onClick=function(){},z.prototype.onMouseMove=function(){},z.prototype.onMouseDown=function(){},z.prototype.onMouseUp=function(){},z.prototype.onMouseOut=function(){},z.prototype.onKeyUp=function(){},z.prototype.onKeyDown=function(){},z.prototype.onTouchStart=function(){},z.prototype.onTouchMove=function(){},z.prototype.onTouchEnd=function(){},z.prototype.onTap=function(){},z.prototype.onStop=function(){},z.prototype.onTrash=function(){},z.prototype.onCombineFeature=function(){},z.prototype.onUncombineFeature=function(){},z.prototype.toDisplayFeatures=function(){throw new Error(\"You must overwrite toDisplayFeatures\")};var Y={drag:\"onDrag\",click:\"onClick\",mousemove:\"onMouseMove\",mousedown:\"onMouseDown\",mouseup:\"onMouseUp\",mouseout:\"onMouseOut\",keyup:\"onKeyUp\",keydown:\"onKeyDown\",touchstart:\"onTouchStart\",touchmove:\"onTouchMove\",touchend:\"onTouchEnd\",tap:\"onTap\"},$=Object.keys(Y);function q(t){var e=Object.keys(t);return function(n,o){void 0===o&&(o={});var r={},i=e.reduce((function(e,n){return e[n]=t[n],e}),new z(n));return{start:function(){var e=this;r=i.onSetup(o),$.forEach((function(n){var o,a=Y[n],s=function(){return!1};t[a]&&(s=function(){return!0}),e.on(n,s,(o=a,function(t){return i[o](r,t)}))}))},stop:function(){i.onStop(r)},trash:function(){i.onTrash(r)},combineFeatures:function(){i.onCombineFeatures(r)},uncombineFeatures:function(){i.onUncombineFeatures(r)},render:function(t,e){i.toDisplayFeatures(r,t,e)}}}}function H(t){return[].concat(t).filter((function(t){return void 0!==t}))}function X(){var t=this;if(!(t.ctx.map&&void 0!==t.ctx.map.getSource(l.HOT)))return u();var e=t.ctx.events.currentModeName();t.ctx.ui.queueMapClasses({mode:e});var n=[],o=[];t.isDirty?o=t.getAllIds():(n=t.getChangedIds().filter((function(e){return void 0!==t.get(e)})),o=t.sources.hot.filter((function(e){return e.properties.id&&-1===n.indexOf(e.properties.id)&&void 0!==t.get(e.properties.id)})).map((function(t){return t.properties.id}))),t.sources.hot=[];var r=t.sources.cold.length;t.sources.cold=t.isDirty?[]:t.sources.cold.filter((function(t){var e=t.properties.id||t.properties.parent;return-1===n.indexOf(e)}));var i=r!==t.sources.cold.length||o.length>0;function a(n,o){var r=t.get(n).internal(e);t.ctx.events.currentModeRender(r,(function(e){t.sources[o].push(e)}))}if(n.forEach((function(t){return a(t,\"hot\")})),o.forEach((function(t){return a(t,\"cold\")})),i&&t.ctx.map.getSource(l.COLD).setData({type:f.FEATURE_COLLECTION,features:t.sources.cold}),t.ctx.map.getSource(l.HOT).setData({type:f.FEATURE_COLLECTION,features:t.sources.hot}),t._emitSelectionChange&&(t.ctx.map.fire(g.SELECTION_CHANGE,{features:t.getSelected().map((function(t){return t.toGeoJSON()})),points:t.getSelectedCoordinates().map((function(t){return{type:f.FEATURE,properties:{},geometry:{type:f.POINT,coordinates:t.coordinates}}}))}),t._emitSelectionChange=!1),t._deletedFeaturesToEmit.length){var s=t._deletedFeaturesToEmit.map((function(t){return t.toGeoJSON()}));t._deletedFeaturesToEmit=[],t.ctx.map.fire(g.DELETE,{features:s})}function u(){t.isDirty=!1,t.clearChangedIds()}u(),t.ctx.map.fire(g.RENDER,{})}function Z(t){var e,n=this;this._features={},this._featureIds=new I,this._selectedFeatureIds=new I,this._selectedCoordinates=[],this._changedFeatureIds=new I,this._deletedFeaturesToEmit=[],this._emitSelectionChange=!1,this._mapInitialConfig={},this.ctx=t,this.sources={hot:[],cold:[]},this.render=function(){e||(e=requestAnimationFrame((function(){e=null,X.call(n)})))},this.isDirty=!1}function W(t,e){var n=t._selectedCoordinates.filter((function(e){return t._selectedFeatureIds.has(e.feature_id)}));t._selectedCoordinates.length===n.length||e.silent||(t._emitSelectionChange=!0),t._selectedCoordinates=n}Z.prototype.createRenderBatch=function(){var t=this,e=this.render,n=0;return this.render=function(){n++},function(){t.render=e,n>0&&t.render()}},Z.prototype.setDirty=function(){return this.isDirty=!0,this},Z.prototype.featureChanged=function(t){return this._changedFeatureIds.add(t),this},Z.prototype.getChangedIds=function(){return this._changedFeatureIds.values()},Z.prototype.clearChangedIds=function(){return this._changedFeatureIds.clear(),this},Z.prototype.getAllIds=function(){return this._featureIds.values()},Z.prototype.add=function(t){return this.featureChanged(t.id),this._features[t.id]=t,this._featureIds.add(t.id),this},Z.prototype.delete=function(t,e){var n=this;return void 0===e&&(e={}),H(t).forEach((function(t){n._featureIds.has(t)&&(n._featureIds.delete(t),n._selectedFeatureIds.delete(t),e.silent||-1===n._deletedFeaturesToEmit.indexOf(n._features[t])&&n._deletedFeaturesToEmit.push(n._features[t]),delete n._features[t],n.isDirty=!0)})),W(this,e),this},Z.prototype.get=function(t){return this._features[t]},Z.prototype.getAll=function(){var t=this;return Object.keys(this._features).map((function(e){return t._features[e]}))},Z.prototype.select=function(t,e){var n=this;return void 0===e&&(e={}),H(t).forEach((function(t){n._selectedFeatureIds.has(t)||(n._selectedFeatureIds.add(t),n._changedFeatureIds.add(t),e.silent||(n._emitSelectionChange=!0))})),this},Z.prototype.deselect=function(t,e){var n=this;return void 0===e&&(e={}),H(t).forEach((function(t){n._selectedFeatureIds.has(t)&&(n._selectedFeatureIds.delete(t),n._changedFeatureIds.add(t),e.silent||(n._emitSelectionChange=!0))})),W(this,e),this},Z.prototype.clearSelected=function(t){return void 0===t&&(t={}),this.deselect(this._selectedFeatureIds.values(),{silent:t.silent}),this},Z.prototype.setSelected=function(t,e){var n=this;return void 0===e&&(e={}),t=H(t),this.deselect(this._selectedFeatureIds.values().filter((function(e){return-1===t.indexOf(e)})),{silent:e.silent}),this.select(t.filter((function(t){return!n._selectedFeatureIds.has(t)})),{silent:e.silent}),this},Z.prototype.setSelectedCoordinates=function(t){return this._selectedCoordinates=t,this._emitSelectionChange=!0,this},Z.prototype.clearSelectedCoordinates=function(){return this._selectedCoordinates=[],this._emitSelectionChange=!0,this},Z.prototype.getSelectedIds=function(){return this._selectedFeatureIds.values()},Z.prototype.getSelected=function(){var t=this;return this._selectedFeatureIds.values().map((function(e){return t.get(e)}))},Z.prototype.getSelectedCoordinates=function(){var t=this;return this._selectedCoordinates.map((function(e){return{coordinates:t.get(e.feature_id).getCoordinate(e.coord_path)}}))},Z.prototype.isSelected=function(t){return this._selectedFeatureIds.has(t)},Z.prototype.setFeatureProperty=function(t,e,n){this.get(t).setProperty(e,n),this.featureChanged(t)},Z.prototype.storeMapConfig=function(){var t=this;_.forEach((function(e){t.ctx.map[e]&&(t._mapInitialConfig[e]=t.ctx.map[e].isEnabled())}))},Z.prototype.restoreMapConfig=function(){var t=this;Object.keys(this._mapInitialConfig).forEach((function(e){t._mapInitialConfig[e]?t.ctx.map[e].enable():t.ctx.map[e].disable()}))},Z.prototype.getInitialConfigValue=function(t){return void 0===this._mapInitialConfig[t]||this._mapInitialConfig[t]};var K=function(){for(var t=arguments,e={},n=0;n<arguments.length;n++){var o=t[n];for(var r in o)Q.call(o,r)&&(e[r]=o[r])}return e},Q=Object.prototype.hasOwnProperty;var tt=e(K),et=[\"mode\",\"feature\",\"mouse\"];function nt(e){var n=null,o=null,r={onRemove:function(){return e.map.off(\"load\",r.connect),clearInterval(o),r.removeLayers(),e.store.restoreMapConfig(),e.ui.removeButtons(),e.events.removeEventListeners(),e.ui.clearMapClasses(),e.boxZoomInitial&&e.map.boxZoom.enable(),e.map=null,e.container=null,e.store=null,n&&n.parentNode&&n.parentNode.removeChild(n),n=null,this},connect:function(){e.map.off(\"load\",r.connect),clearInterval(o),r.addLayers(),e.store.storeMapConfig(),e.events.addEventListeners()},onAdd:function(i){var a=i.fire;return i.fire=function(t,e){var n=arguments;return 1===a.length&&1!==arguments.length&&(n=[tt({},{type:t},e)]),a.apply(i,n)},e.map=i,e.events=function(e){var n=Object.keys(e.options.modes).reduce((function(t,n){return t[n]=q(e.options.modes[n]),t}),{}),o={},r={},i={},a=null,s=null;i.drag=function(t,n){n({point:t.point,time:(new Date).getTime()})?(e.ui.queueMapClasses({mouse:d.DRAG}),s.drag(t)):t.originalEvent.stopPropagation()},i.mousedrag=function(t){i.drag(t,(function(t){return!P(o,t)}))},i.touchdrag=function(t){i.drag(t,(function(t){return!F(r,t)}))},i.mousemove=function(t){if(1===(void 0!==t.originalEvent.buttons?t.originalEvent.buttons:t.originalEvent.which))return i.mousedrag(t);var n=N(t,e);t.featureTarget=n,s.mousemove(t)},i.mousedown=function(t){o={time:(new Date).getTime(),point:t.point};var n=N(t,e);t.featureTarget=n,s.mousedown(t)},i.mouseup=function(t){var n=N(t,e);t.featureTarget=n,P(o,{point:t.point,time:(new Date).getTime()})?s.click(t):s.mouseup(t)},i.mouseout=function(t){s.mouseout(t)},i.touchstart=function(t){if(e.options.touchEnabled){r={time:(new Date).getTime(),point:t.point};var n=M.touch(t,null,e)[0];t.featureTarget=n,s.touchstart(t)}},i.touchmove=function(t){if(e.options.touchEnabled)return s.touchmove(t),i.touchdrag(t)},i.touchend=function(t){if(t.originalEvent.preventDefault(),e.options.touchEnabled){var n=M.touch(t,null,e)[0];t.featureTarget=n,F(r,{time:(new Date).getTime(),point:t.point})?s.tap(t):s.touchend(t)}};var u=function(t){return!(8===t||46===t||t>=48&&t<=57)};function c(o,r,i){void 0===i&&(i={}),s.stop();var u=n[o];if(void 0===u)throw new Error(o+\" is not valid\");a=o;var c=u(e,r);s=t(c,e),i.silent||e.map.fire(g.MODE_CHANGE,{mode:o}),e.store.setDirty(),e.store.render()}i.keydown=function(t){(t.srcElement||t.target).classList.contains(\"mapboxgl-canvas\")&&(8!==t.keyCode&&46!==t.keyCode||!e.options.controls.trash?u(t.keyCode)?s.keydown(t):49===t.keyCode&&e.options.controls.point?c(h.DRAW_POINT):50===t.keyCode&&e.options.controls.line_string?c(h.DRAW_LINE_STRING):51===t.keyCode&&e.options.controls.polygon&&c(h.DRAW_POLYGON):(t.preventDefault(),s.trash()))},i.keyup=function(t){u(t.keyCode)&&s.keyup(t)},i.zoomend=function(){e.store.changeZoom()},i.data=function(t){if(\"style\"===t.dataType){var n=e.setup,o=e.map,r=e.options,i=e.store;r.styles.some((function(t){return o.getLayer(t.id)}))||(n.addLayers(),i.setDirty(),i.render())}};var l={trash:!1,combineFeatures:!1,uncombineFeatures:!1};return{start:function(){a=e.options.defaultMode,s=t(n[a](e),e)},changeMode:c,actionable:function(t){var n=!1;Object.keys(t).forEach((function(e){if(void 0===l[e])throw new Error(\"Invalid action type\");l[e]!==t[e]&&(n=!0),l[e]=t[e]})),n&&e.map.fire(g.ACTIONABLE,{actions:l})},currentModeName:function(){return a},currentModeRender:function(t,e){return s.render(t,e)},fire:function(t,e){i[t]&&i[t](e)},addEventListeners:function(){e.map.on(\"mousemove\",i.mousemove),e.map.on(\"mousedown\",i.mousedown),e.map.on(\"mouseup\",i.mouseup),e.map.on(\"data\",i.data),e.map.on(\"touchmove\",i.touchmove),e.map.on(\"touchstart\",i.touchstart),e.map.on(\"touchend\",i.touchend),e.container.addEventListener(\"mouseout\",i.mouseout),e.options.keybindings&&(e.container.addEventListener(\"keydown\",i.keydown),e.container.addEventListener(\"keyup\",i.keyup))},removeEventListeners:function(){e.map.off(\"mousemove\",i.mousemove),e.map.off(\"mousedown\",i.mousedown),e.map.off(\"mouseup\",i.mouseup),e.map.off(\"data\",i.data),e.map.off(\"touchmove\",i.touchmove),e.map.off(\"touchstart\",i.touchstart),e.map.off(\"touchend\",i.touchend),e.container.removeEventListener(\"mouseout\",i.mouseout),e.options.keybindings&&(e.container.removeEventListener(\"keydown\",i.keydown),e.container.removeEventListener(\"keyup\",i.keyup))},trash:function(t){s.trash(t)},combineFeatures:function(){s.combineFeatures()},uncombineFeatures:function(){s.uncombineFeatures()},getMode:function(){return a}}}(e),e.ui=function(t){var e={},n=null,o={mode:null,feature:null,mouse:null},r={mode:null,feature:null,mouse:null};function i(t){r=tt(r,t)}function a(){var e,n;if(t.container){var i=[],a=[];et.forEach((function(t){r[t]!==o[t]&&(i.push(t+\"-\"+o[t]),null!==r[t]&&a.push(t+\"-\"+r[t]))})),i.length>0&&(e=t.container.classList).remove.apply(e,i),a.length>0&&(n=t.container.classList).add.apply(n,a),o=tt(o,r)}}function s(t,e){void 0===e&&(e={});var o=document.createElement(\"button\");return o.className=c.CONTROL_BUTTON+\" \"+e.className,o.setAttribute(\"title\",e.title),e.container.appendChild(o),o.addEventListener(\"click\",(function(o){if(o.preventDefault(),o.stopPropagation(),o.target===n)return u(),void e.onDeactivate();l(t),e.onActivate()}),!0),o}function u(){n&&(n.classList.remove(c.ACTIVE_BUTTON),n=null)}function l(t){u();var o=e[t];o&&o&&\"trash\"!==t&&(o.classList.add(c.ACTIVE_BUTTON),n=o)}return{setActiveButton:l,queueMapClasses:i,updateMapClasses:a,clearMapClasses:function(){i({mode:null,feature:null,mouse:null}),a()},addButtons:function(){var n=t.options.controls,o=document.createElement(\"div\");return o.className=c.CONTROL_GROUP+\" \"+c.CONTROL_BASE,n?(n[p.LINE]&&(e[p.LINE]=s(p.LINE,{container:o,className:c.CONTROL_BUTTON_LINE,title:\"LineString tool \"+(t.options.keybindings?\"(l)\":\"\"),onActivate:function(){return t.events.changeMode(h.DRAW_LINE_STRING)},onDeactivate:function(){return t.events.trash()}})),n[p.POLYGON]&&(e[p.POLYGON]=s(p.POLYGON,{container:o,className:c.CONTROL_BUTTON_POLYGON,title:\"Polygon tool \"+(t.options.keybindings?\"(p)\":\"\"),onActivate:function(){return t.events.changeMode(h.DRAW_POLYGON)},onDeactivate:function(){return t.events.trash()}})),n[p.POINT]&&(e[p.POINT]=s(p.POINT,{container:o,className:c.CONTROL_BUTTON_POINT,title:\"Marker tool \"+(t.options.keybindings?\"(m)\":\"\"),onActivate:function(){return t.events.changeMode(h.DRAW_POINT)},onDeactivate:function(){return t.events.trash()}})),n.trash&&(e.trash=s(\"trash\",{container:o,className:c.CONTROL_BUTTON_TRASH,title:\"Delete\",onActivate:function(){t.events.trash()}})),n.combine_features&&(e.combine_features=s(\"combineFeatures\",{container:o,className:c.CONTROL_BUTTON_COMBINE_FEATURES,title:\"Combine\",onActivate:function(){t.events.combineFeatures()}})),n.uncombine_features&&(e.uncombine_features=s(\"uncombineFeatures\",{container:o,className:c.CONTROL_BUTTON_UNCOMBINE_FEATURES,title:\"Uncombine\",onActivate:function(){t.events.uncombineFeatures()}})),o):o},removeButtons:function(){Object.keys(e).forEach((function(t){var n=e[t];n.parentNode&&n.parentNode.removeChild(n),delete e[t]}))}}}(e),e.container=i.getContainer(),e.store=new Z(e),n=e.ui.addButtons(),e.options.boxSelect&&(e.boxZoomInitial=i.boxZoom.isEnabled(),i.boxZoom.disable(),i.dragPan.disable(),i.dragPan.enable()),i.loaded()?r.connect():(i.on(\"load\",r.connect),o=setInterval((function(){i.loaded()&&r.connect()}),16)),e.events.start(),n},addLayers:function(){e.map.addSource(l.COLD,{data:{type:f.FEATURE_COLLECTION,features:[]},type:\"geojson\"}),e.map.addSource(l.HOT,{data:{type:f.FEATURE_COLLECTION,features:[]},type:\"geojson\"}),e.options.styles.forEach((function(t){e.map.addLayer(t)})),e.store.setDirty(!0),e.store.render()},removeLayers:function(){e.options.styles.forEach((function(t){e.map.getLayer(t.id)&&e.map.removeLayer(t.id)})),e.map.getSource(l.COLD)&&e.map.removeSource(l.COLD),e.map.getSource(l.HOT)&&e.map.removeSource(l.HOT)}};return e.setup=r,r}var ot=[{id:\"gl-draw-polygon-fill-inactive\",type:\"fill\",filter:[\"all\",[\"==\",\"active\",\"false\"],[\"==\",\"$type\",\"Polygon\"],[\"!=\",\"mode\",\"static\"]],paint:{\"fill-color\":\"#3bb2d0\",\"fill-outline-color\":\"#3bb2d0\",\"fill-opacity\":.1}},{id:\"gl-draw-polygon-fill-active\",type:\"fill\",filter:[\"all\",[\"==\",\"active\",\"true\"],[\"==\",\"$type\",\"Polygon\"]],paint:{\"fill-color\":\"#fbb03b\",\"fill-outline-color\":\"#fbb03b\",\"fill-opacity\":.1}},{id:\"gl-draw-polygon-midpoint\",type:\"circle\",filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"==\",\"meta\",\"midpoint\"]],paint:{\"circle-radius\":3,\"circle-color\":\"#fbb03b\"}},{id:\"gl-draw-polygon-stroke-inactive\",type:\"line\",filter:[\"all\",[\"==\",\"active\",\"false\"],[\"==\",\"$type\",\"Polygon\"],[\"!=\",\"mode\",\"static\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#3bb2d0\",\"line-width\":2}},{id:\"gl-draw-polygon-stroke-active\",type:\"line\",filter:[\"all\",[\"==\",\"active\",\"true\"],[\"==\",\"$type\",\"Polygon\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#fbb03b\",\"line-dasharray\":[.2,2],\"line-width\":2}},{id:\"gl-draw-line-inactive\",type:\"line\",filter:[\"all\",[\"==\",\"active\",\"false\"],[\"==\",\"$type\",\"LineString\"],[\"!=\",\"mode\",\"static\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#3bb2d0\",\"line-width\":2}},{id:\"gl-draw-line-active\",type:\"line\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"==\",\"active\",\"true\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#fbb03b\",\"line-dasharray\":[.2,2],\"line-width\":2}},{id:\"gl-draw-polygon-and-line-vertex-stroke-inactive\",type:\"circle\",filter:[\"all\",[\"==\",\"meta\",\"vertex\"],[\"==\",\"$type\",\"Point\"],[\"!=\",\"mode\",\"static\"]],paint:{\"circle-radius\":5,\"circle-color\":\"#fff\"}},{id:\"gl-draw-polygon-and-line-vertex-inactive\",type:\"circle\",filter:[\"all\",[\"==\",\"meta\",\"vertex\"],[\"==\",\"$type\",\"Point\"],[\"!=\",\"mode\",\"static\"]],paint:{\"circle-radius\":3,\"circle-color\":\"#fbb03b\"}},{id:\"gl-draw-point-point-stroke-inactive\",type:\"circle\",filter:[\"all\",[\"==\",\"active\",\"false\"],[\"==\",\"$type\",\"Point\"],[\"==\",\"meta\",\"feature\"],[\"!=\",\"mode\",\"static\"]],paint:{\"circle-radius\":5,\"circle-opacity\":1,\"circle-color\":\"#fff\"}},{id:\"gl-draw-point-inactive\",type:\"circle\",filter:[\"all\",[\"==\",\"active\",\"false\"],[\"==\",\"$type\",\"Point\"],[\"==\",\"meta\",\"feature\"],[\"!=\",\"mode\",\"static\"]],paint:{\"circle-radius\":3,\"circle-color\":\"#3bb2d0\"}},{id:\"gl-draw-point-stroke-active\",type:\"circle\",filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"==\",\"active\",\"true\"],[\"!=\",\"meta\",\"midpoint\"]],paint:{\"circle-radius\":7,\"circle-color\":\"#fff\"}},{id:\"gl-draw-point-active\",type:\"circle\",filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"!=\",\"meta\",\"midpoint\"],[\"==\",\"active\",\"true\"]],paint:{\"circle-radius\":5,\"circle-color\":\"#fbb03b\"}},{id:\"gl-draw-polygon-fill-static\",type:\"fill\",filter:[\"all\",[\"==\",\"mode\",\"static\"],[\"==\",\"$type\",\"Polygon\"]],paint:{\"fill-color\":\"#404040\",\"fill-outline-color\":\"#404040\",\"fill-opacity\":.1}},{id:\"gl-draw-polygon-stroke-static\",type:\"line\",filter:[\"all\",[\"==\",\"mode\",\"static\"],[\"==\",\"$type\",\"Polygon\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#404040\",\"line-width\":2}},{id:\"gl-draw-line-static\",type:\"line\",filter:[\"all\",[\"==\",\"mode\",\"static\"],[\"==\",\"$type\",\"LineString\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#404040\",\"line-width\":2}},{id:\"gl-draw-point-static\",type:\"circle\",filter:[\"all\",[\"==\",\"mode\",\"static\"],[\"==\",\"$type\",\"Point\"]],paint:{\"circle-radius\":5,\"circle-color\":\"#404040\"}}];function rt(t){return function(e){var n=e.featureTarget;return!!n&&(!!n.properties&&n.properties.meta===t)}}function it(t){return!!t.originalEvent&&(!!t.originalEvent.shiftKey&&0===t.originalEvent.button)}function at(t){return!!t.featureTarget&&(!!t.featureTarget.properties&&(t.featureTarget.properties.active===m.ACTIVE&&t.featureTarget.properties.meta===v.FEATURE))}function st(t){return!!t.featureTarget&&(!!t.featureTarget.properties&&(t.featureTarget.properties.active===m.INACTIVE&&t.featureTarget.properties.meta===v.FEATURE))}function ut(t){return void 0===t.featureTarget}function ct(t){return!!t.featureTarget&&(!!t.featureTarget.properties&&t.featureTarget.properties.meta===v.FEATURE)}function lt(t){var e=t.featureTarget;return!!e&&(!!e.properties&&e.properties.meta===v.VERTEX)}function dt(t){return!!t.originalEvent&&!0===t.originalEvent.shiftKey}function pt(t){return 27===t.keyCode}function ft(t){return 13===t.keyCode}var ht=Object.freeze({__proto__:null,isOfMetaType:rt,isShiftMousedown:it,isActiveFeature:at,isInactiveFeature:st,noTarget:ut,isFeature:ct,isVertex:lt,isShiftDown:dt,isEscapeKey:pt,isEnterKey:ft,isTrue:function(){return!0}}),gt=yt;function yt(t,e){this.x=t,this.y=e}yt.prototype={clone:function(){return new yt(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,n=t.y-this.y;return e*e+n*n},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,n=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=n,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),n=Math.sin(t),o=e*this.x-n*this.y,r=n*this.x+e*this.y;return this.x=o,this.y=r,this},_rotateAround:function(t,e){var n=Math.cos(t),o=Math.sin(t),r=e.x+n*(this.x-e.x)-o*(this.y-e.y),i=e.y+o*(this.x-e.x)+n*(this.y-e.y);return this.x=r,this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},yt.convert=function(t){return t instanceof yt?t:Array.isArray(t)?new yt(t[0],t[1]):t};var vt=e(gt);function mt(t,e){var n=e.getBoundingClientRect();return new vt(t.clientX-n.left-(e.clientLeft||0),t.clientY-n.top-(e.clientTop||0))}function _t(t,e,n,o){return{type:f.FEATURE,properties:{meta:v.VERTEX,parent:t,coord_path:n,active:o?m.ACTIVE:m.INACTIVE},geometry:{type:f.POINT,coordinates:e}}}function bt(t,e,n){var o=e.geometry.coordinates,r=n.geometry.coordinates;if(o[1]>85||o[1]<b||r[1]>85||r[1]<b)return null;var i={lng:(o[0]+r[0])/2,lat:(o[1]+r[1])/2};return{type:f.FEATURE,properties:{meta:v.MIDPOINT,parent:t,lng:i.lng,lat:i.lat,coord_path:n.properties.coord_path},geometry:{type:f.POINT,coordinates:[i.lng,i.lat]}}}function Et(t,e,n){void 0===e&&(e={}),void 0===n&&(n=null);var o,r=t.geometry,i=r.type,a=r.coordinates,s=t.properties&&t.properties.id,u=[];function c(t,n){var o=\"\",r=null;t.forEach((function(t,i){var a=null!=n?n+\".\"+i:String(i),c=_t(s,t,a,l(a));if(e.midpoints&&r){var d=bt(s,r,c);d&&u.push(d)}r=c;var p=JSON.stringify(t);o!==p&&u.push(c),0===i&&(o=p)}))}function l(t){return!!e.selectedPaths&&-1!==e.selectedPaths.indexOf(t)}return i===f.POINT?u.push(_t(s,a,n,l(n))):i===f.POLYGON?a.forEach((function(t,e){c(t,null!==n?n+\".\"+e:String(e))})):i===f.LINE_STRING?c(a,n):0===i.indexOf(f.MULTI_PREFIX)&&(o=i.replace(f.MULTI_PREFIX,\"\"),a.forEach((function(n,r){var i={type:f.FEATURE,properties:t.properties,geometry:{type:o,coordinates:n}};u=u.concat(Et(i,e,r))}))),u}var Tt={enable:function(t){setTimeout((function(){t.map&&t.map.doubleClickZoom&&t._ctx&&t._ctx.store&&t._ctx.store.getInitialConfigValue&&t._ctx.store.getInitialConfigValue(\"doubleClickZoom\")&&t.map.doubleClickZoom.enable()}),0)},disable:function(t){setTimeout((function(){t.map&&t.map.doubleClickZoom&&t.map.doubleClickZoom.disable()}),0)}},Ct={exports:{}},Ot=function(t){if(!t||!t.type)return null;var e=St[t.type];if(!e)return null;if(\"geometry\"===e)return{type:\"FeatureCollection\",features:[{type:\"Feature\",properties:{},geometry:t}]};if(\"feature\"===e)return{type:\"FeatureCollection\",features:[t]};if(\"featurecollection\"===e)return t},St={Point:\"geometry\",MultiPoint:\"geometry\",LineString:\"geometry\",MultiLineString:\"geometry\",Polygon:\"geometry\",MultiPolygon:\"geometry\",GeometryCollection:\"geometry\",Feature:\"feature\",FeatureCollection:\"featurecollection\"};var It=e(Ot);var xt=Object.freeze({__proto__:null,default:function t(e){switch(e&&e.type||null){case\"FeatureCollection\":return e.features=e.features.reduce((function(e,n){return e.concat(t(n))}),[]),e;case\"Feature\":return e.geometry?t(e.geometry).map((function(t){var n={type:\"Feature\",properties:JSON.parse(JSON.stringify(e.properties)),geometry:t};return void 0!==e.id&&(n.id=e.id),n})):[e];case\"MultiPoint\":return e.coordinates.map((function(t){return{type:\"Point\",coordinates:t}}));case\"MultiPolygon\":return e.coordinates.map((function(t){return{type:\"Polygon\",coordinates:t}}));case\"MultiLineString\":return e.coordinates.map((function(t){return{type:\"LineString\",coordinates:t}}));case\"GeometryCollection\":return e.geometries.map(t).reduce((function(t,e){return t.concat(e)}),[]);case\"Point\":case\"Polygon\":case\"LineString\":return[e]}}}),Mt=Ot,Lt=n(xt),Nt=function(t){return function t(e){if(Array.isArray(e)&&e.length&&\"number\"==typeof e[0])return[e];return e.reduce((function(e,n){return Array.isArray(n)&&Array.isArray(n[0])?e.concat(t(n)):(e.push(n),e)}),[])}(t)};Lt instanceof Function||(Lt=Lt.default);var At={exports:{}},Pt=At.exports=function(t){return new Ft(t)};function Ft(t){this.value=t}function wt(t,e,n){var o=[],r=[],i=!0;return function t(a){var s=n?Rt(a):a,u={},c=!0,l={node:s,node_:a,path:[].concat(o),parent:r[r.length-1],parents:r,key:o.slice(-1)[0],isRoot:0===o.length,level:o.length,circular:null,update:function(t,e){l.isRoot||(l.parent.node[l.key]=t),l.node=t,e&&(c=!1)},delete:function(t){delete l.parent.node[l.key],t&&(c=!1)},remove:function(t){Ut(l.parent.node)?l.parent.node.splice(l.key,1):delete l.parent.node[l.key],t&&(c=!1)},keys:null,before:function(t){u.before=t},after:function(t){u.after=t},pre:function(t){u.pre=t},post:function(t){u.post=t},stop:function(){i=!1},block:function(){c=!1}};if(!i)return l;function d(){if(\"object\"==typeof l.node&&null!==l.node){l.keys&&l.node_===l.node||(l.keys=kt(l.node)),l.isLeaf=0==l.keys.length;for(var t=0;t<r.length;t++)if(r[t].node_===a){l.circular=r[t];break}}else l.isLeaf=!0,l.keys=null;l.notLeaf=!l.isLeaf,l.notRoot=!l.isRoot}d();var p=e.call(l,l.node);return void 0!==p&&l.update&&l.update(p),u.before&&u.before.call(l,l.node),c?(\"object\"!=typeof l.node||null===l.node||l.circular||(r.push(l),d(),jt(l.keys,(function(e,r){o.push(e),u.pre&&u.pre.call(l,l.node[e],e);var i=t(l.node[e]);n&&Vt.call(l.node,e)&&(l.node[e]=i.node),i.isLast=r==l.keys.length-1,i.isFirst=0==r,u.post&&u.post.call(l,i),o.pop()})),r.pop()),u.after&&u.after.call(l,l.node),l):l}(t).node}function Rt(t){if(\"object\"==typeof t&&null!==t){var e;if(Ut(t))e=[];else if(\"[object Date]\"===Dt(t))e=new Date(t.getTime?t.getTime():t);else if(function(t){return\"[object RegExp]\"===Dt(t)}(t))e=new RegExp(t);else if(function(t){return\"[object Error]\"===Dt(t)}(t))e={message:t.message};else if(function(t){return\"[object Boolean]\"===Dt(t)}(t))e=new Boolean(t);else if(function(t){return\"[object Number]\"===Dt(t)}(t))e=new Number(t);else if(function(t){return\"[object String]\"===Dt(t)}(t))e=new String(t);else if(Object.create&&Object.getPrototypeOf)e=Object.create(Object.getPrototypeOf(t));else if(t.constructor===Object)e={};else{var n=t.constructor&&t.constructor.prototype||t.__proto__||{},o=function(){};o.prototype=n,e=new o}return jt(kt(t),(function(n){e[n]=t[n]})),e}return t}Ft.prototype.get=function(t){for(var e=this.value,n=0;n<t.length;n++){var o=t[n];if(!e||!Vt.call(e,o)){e=void 0;break}e=e[o]}return e},Ft.prototype.has=function(t){for(var e=this.value,n=0;n<t.length;n++){var o=t[n];if(!e||!Vt.call(e,o))return!1;e=e[o]}return!0},Ft.prototype.set=function(t,e){for(var n=this.value,o=0;o<t.length-1;o++){var r=t[o];Vt.call(n,r)||(n[r]={}),n=n[r]}return n[t[o]]=e,e},Ft.prototype.map=function(t){return wt(this.value,t,!0)},Ft.prototype.forEach=function(t){return this.value=wt(this.value,t,!1),this.value},Ft.prototype.reduce=function(t,e){var n=1===arguments.length,o=n?this.value:e;return this.forEach((function(e){this.isRoot&&n||(o=t.call(this,o,e))})),o},Ft.prototype.paths=function(){var t=[];return this.forEach((function(e){t.push(this.path)})),t},Ft.prototype.nodes=function(){var t=[];return this.forEach((function(e){t.push(this.node)})),t},Ft.prototype.clone=function(){var t=[],e=[];return function n(o){for(var r=0;r<t.length;r++)if(t[r]===o)return e[r];if(\"object\"==typeof o&&null!==o){var i=Rt(o);return t.push(o),e.push(i),jt(kt(o),(function(t){i[t]=n(o[t])})),t.pop(),e.pop(),i}return o}(this.value)};var kt=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};function Dt(t){return Object.prototype.toString.call(t)}var Ut=Array.isArray||function(t){return\"[object Array]\"===Object.prototype.toString.call(t)},jt=function(t,e){if(t.forEach)return t.forEach(e);for(var n=0;n<t.length;n++)e(t[n],n,t)};jt(kt(Ft.prototype),(function(t){Pt[t]=function(e){var n=[].slice.call(arguments,1),o=new Ft(e);return o[t].apply(o,n)}}));var Vt=Object.hasOwnProperty||function(t,e){return e in t},Bt=At.exports,Gt=Jt;function Jt(t){if(!(this instanceof Jt))return new Jt(t);this._bbox=t||[1/0,1/0,-1/0,-1/0],this._valid=!!t}Jt.prototype.include=function(t){return this._valid=!0,this._bbox[0]=Math.min(this._bbox[0],t[0]),this._bbox[1]=Math.min(this._bbox[1],t[1]),this._bbox[2]=Math.max(this._bbox[2],t[0]),this._bbox[3]=Math.max(this._bbox[3],t[1]),this},Jt.prototype.equals=function(t){var e;return e=t instanceof Jt?t.bbox():t,this._bbox[0]==e[0]&&this._bbox[1]==e[1]&&this._bbox[2]==e[2]&&this._bbox[3]==e[3]},Jt.prototype.center=function(t){return this._valid?[(this._bbox[0]+this._bbox[2])/2,(this._bbox[1]+this._bbox[3])/2]:null},Jt.prototype.union=function(t){var e;return this._valid=!0,e=t instanceof Jt?t.bbox():t,this._bbox[0]=Math.min(this._bbox[0],e[0]),this._bbox[1]=Math.min(this._bbox[1],e[1]),this._bbox[2]=Math.max(this._bbox[2],e[2]),this._bbox[3]=Math.max(this._bbox[3],e[3]),this},Jt.prototype.bbox=function(){return this._valid?this._bbox:null},Jt.prototype.contains=function(t){if(!t)return this._fastContains();if(!this._valid)return null;var e=t[0],n=t[1];return this._bbox[0]<=e&&this._bbox[1]<=n&&this._bbox[2]>=e&&this._bbox[3]>=n},Jt.prototype.intersect=function(t){return this._valid?(e=t instanceof Jt?t.bbox():t,!(this._bbox[0]>e[2]||this._bbox[2]<e[0]||this._bbox[3]<e[1]||this._bbox[1]>e[3])):null;var e},Jt.prototype._fastContains=function(){if(!this._valid)return new Function(\"return null;\");var t=\"return \"+this._bbox[0]+\"<= ll[0] &&\"+this._bbox[1]+\"<= ll[1] &&\"+this._bbox[2]+\">= ll[0] &&\"+this._bbox[3]+\">= ll[1]\";return new Function(\"ll\",t)},Jt.prototype.polygon=function(){return this._valid?{type:\"Polygon\",coordinates:[[[this._bbox[0],this._bbox[1]],[this._bbox[2],this._bbox[1]],[this._bbox[2],this._bbox[3]],[this._bbox[0],this._bbox[3]],[this._bbox[0],this._bbox[1]]]]}:null};var zt=function(t){if(!t)return[];var e=Lt(Mt(t)),n=[];return e.features.forEach((function(t){t.geometry&&(n=n.concat(Nt(t.geometry.coordinates)))})),n},Yt=Bt,$t=Gt,qt={features:[\"FeatureCollection\"],coordinates:[\"Point\",\"MultiPoint\",\"LineString\",\"MultiLineString\",\"Polygon\",\"MultiPolygon\"],geometry:[\"Feature\"],geometries:[\"GeometryCollection\"]},Ht=Object.keys(qt);function Xt(t){for(var e=$t(),n=zt(t),o=0;o<n.length;o++)e.include(n[o]);return e}Ct.exports=function(t){return Xt(t).bbox()},Ct.exports.polygon=function(t){return Xt(t).polygon()},Ct.exports.bboxify=function(t){return Yt(t).map((function(t){t&&(Ht.some((function(e){return!!t[e]&&-1!==qt[e].indexOf(t.type)}))&&(t.bbox=Xt(t).bbox(),this.update(t)))}))};var Zt=e(Ct.exports),Wt=-90;function Kt(t,e){var n=Wt,o=90,r=Wt,i=90,a=270,s=-270;t.forEach((function(t){var e=Zt(t),u=e[1],c=e[3],l=e[0],d=e[2];u>n&&(n=u),c<o&&(o=c),c>r&&(r=c),u<i&&(i=u),l<a&&(a=l),d>s&&(s=d)}));var u=e;return n+u.lat>85&&(u.lat=85-n),r+u.lat>90&&(u.lat=90-r),o+u.lat<-85&&(u.lat=-85-o),i+u.lat<Wt&&(u.lat=Wt-i),a+u.lng<=-270&&(u.lng+=360*Math.ceil(Math.abs(u.lng)/360)),s+u.lng>=270&&(u.lng-=360*Math.ceil(Math.abs(u.lng)/360)),u}function Qt(t,e){var n=Kt(t.map((function(t){return t.toGeoJSON()})),e);t.forEach((function(t){var e,o=t.getCoordinates(),r=function(t){var e={lng:t[0]+n.lng,lat:t[1]+n.lat};return[e.lng,e.lat]},i=function(t){return t.map((function(t){return r(t)}))};t.type===f.POINT?e=r(o):t.type===f.LINE_STRING||t.type===f.MULTI_POINT?e=o.map(r):t.type===f.POLYGON||t.type===f.MULTI_LINE_STRING?e=o.map(i):t.type===f.MULTI_POLYGON&&(e=o.map((function(t){return t.map((function(t){return i(t)}))}))),t.incomingCoords(e)}))}var te={onSetup:function(t){var e=this,n={dragMoveLocation:null,boxSelectStartLocation:null,boxSelectElement:void 0,boxSelecting:!1,canBoxSelect:!1,dragMoving:!1,canDragMove:!1,initiallySelectedFeatureIds:t.featureIds||[]};return this.setSelected(n.initiallySelectedFeatureIds.filter((function(t){return void 0!==e.getFeature(t)}))),this.fireActionable(),this.setActionableState({combineFeatures:!0,uncombineFeatures:!0,trash:!0}),n},fireUpdate:function(){this.map.fire(g.UPDATE,{action:y.MOVE,features:this.getSelected().map((function(t){return t.toGeoJSON()}))})},fireActionable:function(){var t=this,e=this.getSelected(),n=e.filter((function(e){return t.isInstanceOf(\"MultiFeature\",e)})),o=!1;if(e.length>1){o=!0;var r=e[0].type.replace(\"Multi\",\"\");e.forEach((function(t){t.type.replace(\"Multi\",\"\")!==r&&(o=!1)}))}var i=n.length>0,a=e.length>0;this.setActionableState({combineFeatures:o,uncombineFeatures:i,trash:a})},getUniqueIds:function(t){return t.length?t.map((function(t){return t.properties.id})).filter((function(t){return void 0!==t})).reduce((function(t,e){return t.add(e),t}),new I).values():[]},stopExtendedInteractions:function(t){t.boxSelectElement&&(t.boxSelectElement.parentNode&&t.boxSelectElement.parentNode.removeChild(t.boxSelectElement),t.boxSelectElement=null),this.map.dragPan.enable(),t.boxSelecting=!1,t.canBoxSelect=!1,t.dragMoving=!1,t.canDragMove=!1},onStop:function(){Tt.enable(this)},onMouseMove:function(t,e){return ct(e)&&t.dragMoving&&this.fireUpdate(),this.stopExtendedInteractions(t),!0},onMouseOut:function(t){return!t.dragMoving||this.fireUpdate()}};te.onTap=te.onClick=function(t,e){return ut(e)?this.clickAnywhere(t,e):rt(v.VERTEX)(e)?this.clickOnVertex(t,e):ct(e)?this.clickOnFeature(t,e):void 0},te.clickAnywhere=function(t){var e=this,n=this.getSelectedIds();n.length&&(this.clearSelectedFeatures(),n.forEach((function(t){return e.doRender(t)}))),Tt.enable(this),this.stopExtendedInteractions(t)},te.clickOnVertex=function(t,e){this.changeMode(h.DIRECT_SELECT,{featureId:e.featureTarget.properties.parent,coordPath:e.featureTarget.properties.coord_path,startPos:e.lngLat}),this.updateUIClasses({mouse:d.MOVE})},te.startOnActiveFeature=function(t,e){this.stopExtendedInteractions(t),this.map.dragPan.disable(),this.doRender(e.featureTarget.properties.id),t.canDragMove=!0,t.dragMoveLocation=e.lngLat},te.clickOnFeature=function(t,e){var n=this;Tt.disable(this),this.stopExtendedInteractions(t);var o=dt(e),r=this.getSelectedIds(),i=e.featureTarget.properties.id,a=this.isSelected(i);if(!o&&a&&this.getFeature(i).type!==f.POINT)return this.changeMode(h.DIRECT_SELECT,{featureId:i});a&&o?(this.deselect(i),this.updateUIClasses({mouse:d.POINTER}),1===r.length&&Tt.enable(this)):!a&&o?(this.select(i),this.updateUIClasses({mouse:d.MOVE})):a||o||(r.forEach((function(t){return n.doRender(t)})),this.setSelected(i),this.updateUIClasses({mouse:d.MOVE})),this.doRender(i)},te.onMouseDown=function(t,e){return at(e)?this.startOnActiveFeature(t,e):this.drawConfig.boxSelect&&it(e)?this.startBoxSelect(t,e):void 0},te.startBoxSelect=function(t,e){this.stopExtendedInteractions(t),this.map.dragPan.disable(),t.boxSelectStartLocation=mt(e.originalEvent,this.map.getContainer()),t.canBoxSelect=!0},te.onTouchStart=function(t,e){if(at(e))return this.startOnActiveFeature(t,e)},te.onDrag=function(t,e){return t.canDragMove?this.dragMove(t,e):this.drawConfig.boxSelect&&t.canBoxSelect?this.whileBoxSelect(t,e):void 0},te.whileBoxSelect=function(t,e){t.boxSelecting=!0,this.updateUIClasses({mouse:d.ADD}),t.boxSelectElement||(t.boxSelectElement=document.createElement(\"div\"),t.boxSelectElement.classList.add(c.BOX_SELECT),this.map.getContainer().appendChild(t.boxSelectElement));var n=mt(e.originalEvent,this.map.getContainer()),o=Math.min(t.boxSelectStartLocation.x,n.x),r=Math.max(t.boxSelectStartLocation.x,n.x),i=Math.min(t.boxSelectStartLocation.y,n.y),a=Math.max(t.boxSelectStartLocation.y,n.y),s=\"translate(\"+o+\"px, \"+i+\"px)\";t.boxSelectElement.style.transform=s,t.boxSelectElement.style.WebkitTransform=s,t.boxSelectElement.style.width=r-o+\"px\",t.boxSelectElement.style.height=a-i+\"px\"},te.dragMove=function(t,e){t.dragMoving=!0,e.originalEvent.stopPropagation();var n={lng:e.lngLat.lng-t.dragMoveLocation.lng,lat:e.lngLat.lat-t.dragMoveLocation.lat};Qt(this.getSelected(),n),t.dragMoveLocation=e.lngLat},te.onTouchEnd=te.onMouseUp=function(t,e){var n=this;if(t.dragMoving)this.fireUpdate();else if(t.boxSelecting){var o=[t.boxSelectStartLocation,mt(e.originalEvent,this.map.getContainer())],r=this.featuresAt(null,o,\"click\"),i=this.getUniqueIds(r).filter((function(t){return!n.isSelected(t)}));i.length&&(this.select(i),i.forEach((function(t){return n.doRender(t)})),this.updateUIClasses({mouse:d.MOVE}))}this.stopExtendedInteractions(t)},te.toDisplayFeatures=function(t,e,n){e.properties.active=this.isSelected(e.properties.id)?m.ACTIVE:m.INACTIVE,n(e),this.fireActionable(),e.properties.active===m.ACTIVE&&e.geometry.type!==f.POINT&&Et(e).forEach(n)},te.onTrash=function(){this.deleteFeature(this.getSelectedIds()),this.fireActionable()},te.onCombineFeatures=function(){var t=this.getSelected();if(!(0===t.length||t.length<2)){for(var e=[],n=[],o=t[0].type.replace(\"Multi\",\"\"),r=0;r<t.length;r++){var i=t[r];if(i.type.replace(\"Multi\",\"\")!==o)return;i.type.includes(\"Multi\")?i.getCoordinates().forEach((function(t){e.push(t)})):e.push(i.getCoordinates()),n.push(i.toGeoJSON())}if(n.length>1){var a=this.newFeature({type:f.FEATURE,properties:n[0].properties,geometry:{type:\"Multi\"+o,coordinates:e}});this.addFeature(a),this.deleteFeature(this.getSelectedIds(),{silent:!0}),this.setSelected([a.id]),this.map.fire(g.COMBINE_FEATURES,{createdFeatures:[a.toGeoJSON()],deletedFeatures:n})}this.fireActionable()}},te.onUncombineFeatures=function(){var t=this,e=this.getSelected();if(0!==e.length){for(var n=[],o=[],r=function(r){var i=e[r];t.isInstanceOf(\"MultiFeature\",i)&&(i.getFeatures().forEach((function(e){t.addFeature(e),e.properties=i.properties,n.push(e.toGeoJSON()),t.select([e.id])})),t.deleteFeature(i.id,{silent:!0}),o.push(i.toGeoJSON()))},i=0;i<e.length;i++)r(i);n.length>1&&this.map.fire(g.UNCOMBINE_FEATURES,{createdFeatures:n,deletedFeatures:o}),this.fireActionable()}};var ee=rt(v.VERTEX),ne=rt(v.MIDPOINT),oe={fireUpdate:function(){this.map.fire(g.UPDATE,{action:y.CHANGE_COORDINATES,features:this.getSelected().map((function(t){return t.toGeoJSON()}))})},fireActionable:function(t){this.setActionableState({combineFeatures:!1,uncombineFeatures:!1,trash:t.selectedCoordPaths.length>0})},startDragging:function(t,e){this.map.dragPan.disable(),t.canDragMove=!0,t.dragMoveLocation=e.lngLat},stopDragging:function(t){this.map.dragPan.enable(),t.dragMoving=!1,t.canDragMove=!1,t.dragMoveLocation=null},onVertex:function(t,e){this.startDragging(t,e);var n=e.featureTarget.properties,o=t.selectedCoordPaths.indexOf(n.coord_path);dt(e)||-1!==o?dt(e)&&-1===o&&t.selectedCoordPaths.push(n.coord_path):t.selectedCoordPaths=[n.coord_path];var r=this.pathsToCoordinates(t.featureId,t.selectedCoordPaths);this.setSelectedCoordinates(r)},onMidpoint:function(t,e){this.startDragging(t,e);var n=e.featureTarget.properties;t.feature.addCoordinate(n.coord_path,n.lng,n.lat),this.fireUpdate(),t.selectedCoordPaths=[n.coord_path]},pathsToCoordinates:function(t,e){return e.map((function(e){return{feature_id:t,coord_path:e}}))},onFeature:function(t,e){0===t.selectedCoordPaths.length?this.startDragging(t,e):this.stopDragging(t)},dragFeature:function(t,e,n){Qt(this.getSelected(),n),t.dragMoveLocation=e.lngLat},dragVertex:function(t,e,n){for(var o=t.selectedCoordPaths.map((function(e){return t.feature.getCoordinate(e)})),r=Kt(o.map((function(t){return{type:f.FEATURE,properties:{},geometry:{type:f.POINT,coordinates:t}}})),n),i=0;i<o.length;i++){var a=o[i];t.feature.updateCoordinate(t.selectedCoordPaths[i],a[0]+r.lng,a[1]+r.lat)}},clickNoTarget:function(){this.changeMode(h.SIMPLE_SELECT)},clickInactive:function(){this.changeMode(h.SIMPLE_SELECT)},clickActiveFeature:function(t){t.selectedCoordPaths=[],this.clearSelectedCoordinates(),t.feature.changed()},onSetup:function(t){var e=t.featureId,n=this.getFeature(e);if(!n)throw new Error(\"You must provide a featureId to enter direct_select mode\");if(n.type===f.POINT)throw new TypeError(\"direct_select mode doesn't handle point features\");var o={featureId:e,feature:n,dragMoveLocation:t.startPos||null,dragMoving:!1,canDragMove:!1,selectedCoordPaths:t.coordPath?[t.coordPath]:[]};return this.setSelectedCoordinates(this.pathsToCoordinates(e,o.selectedCoordPaths)),this.setSelected(e),Tt.disable(this),this.setActionableState({trash:!0}),o},onStop:function(){Tt.enable(this),this.clearSelectedCoordinates()},toDisplayFeatures:function(t,e,n){t.featureId===e.properties.id?(e.properties.active=m.ACTIVE,n(e),Et(e,{map:this.map,midpoints:!0,selectedPaths:t.selectedCoordPaths}).forEach(n)):(e.properties.active=m.INACTIVE,n(e)),this.fireActionable(t)},onTrash:function(t){t.selectedCoordPaths.sort((function(t,e){return e.localeCompare(t,\"en\",{numeric:!0})})).forEach((function(e){return t.feature.removeCoordinate(e)})),this.fireUpdate(),t.selectedCoordPaths=[],this.clearSelectedCoordinates(),this.fireActionable(t),!1===t.feature.isValid()&&(this.deleteFeature([t.featureId]),this.changeMode(h.SIMPLE_SELECT,{}))},onMouseMove:function(t,e){var n=at(e),o=ee(e),r=ne(e),i=0===t.selectedCoordPaths.length;return n&&i||o&&!i?this.updateUIClasses({mouse:d.MOVE}):this.updateUIClasses({mouse:d.NONE}),(o||n||r)&&t.dragMoving&&this.fireUpdate(),this.stopDragging(t),!0},onMouseOut:function(t){return t.dragMoving&&this.fireUpdate(),!0}};oe.onTouchStart=oe.onMouseDown=function(t,e){return ee(e)?this.onVertex(t,e):at(e)?this.onFeature(t,e):ne(e)?this.onMidpoint(t,e):void 0},oe.onDrag=function(t,e){if(!0===t.canDragMove){t.dragMoving=!0,e.originalEvent.stopPropagation();var n={lng:e.lngLat.lng-t.dragMoveLocation.lng,lat:e.lngLat.lat-t.dragMoveLocation.lat};t.selectedCoordPaths.length>0?this.dragVertex(t,e,n):this.dragFeature(t,e,n),t.dragMoveLocation=e.lngLat}},oe.onClick=function(t,e){return ut(e)?this.clickNoTarget(t,e):at(e)?this.clickActiveFeature(t,e):st(e)?this.clickInactive(t,e):void this.stopDragging(t)},oe.onTap=function(t,e){return ut(e)?this.clickNoTarget(t,e):at(e)?this.clickActiveFeature(t,e):st(e)?this.clickInactive(t,e):void 0},oe.onTouchEnd=oe.onMouseUp=function(t){t.dragMoving&&this.fireUpdate(),this.stopDragging(t)};var re={};function ie(t,e){return!!t.lngLat&&(t.lngLat.lng===e[0]&&t.lngLat.lat===e[1])}re.onSetup=function(){var t=this.newFeature({type:f.FEATURE,properties:{},geometry:{type:f.POINT,coordinates:[]}});return this.addFeature(t),this.clearSelectedFeatures(),this.updateUIClasses({mouse:d.ADD}),this.activateUIButton(p.POINT),this.setActionableState({trash:!0}),{point:t}},re.stopDrawingAndRemove=function(t){this.deleteFeature([t.point.id],{silent:!0}),this.changeMode(h.SIMPLE_SELECT)},re.onTap=re.onClick=function(t,e){this.updateUIClasses({mouse:d.MOVE}),t.point.updateCoordinate(\"\",e.lngLat.lng,e.lngLat.lat),this.map.fire(g.CREATE,{features:[t.point.toGeoJSON()]}),this.changeMode(h.SIMPLE_SELECT,{featureIds:[t.point.id]})},re.onStop=function(t){this.activateUIButton(),t.point.getCoordinate().length||this.deleteFeature([t.point.id],{silent:!0})},re.toDisplayFeatures=function(t,e,n){var o=e.properties.id===t.point.id;if(e.properties.active=o?m.ACTIVE:m.INACTIVE,!o)return n(e)},re.onTrash=re.stopDrawingAndRemove,re.onKeyUp=function(t,e){if(pt(e)||ft(e))return this.stopDrawingAndRemove(t,e)};var ae={onSetup:function(){var t=this.newFeature({type:f.FEATURE,properties:{},geometry:{type:f.POLYGON,coordinates:[[]]}});return this.addFeature(t),this.clearSelectedFeatures(),Tt.disable(this),this.updateUIClasses({mouse:d.ADD}),this.activateUIButton(p.POLYGON),this.setActionableState({trash:!0}),{polygon:t,currentVertexPosition:0}},clickAnywhere:function(t,e){if(t.currentVertexPosition>0&&ie(e,t.polygon.coordinates[0][t.currentVertexPosition-1]))return this.changeMode(h.SIMPLE_SELECT,{featureIds:[t.polygon.id]});this.updateUIClasses({mouse:d.ADD}),t.polygon.updateCoordinate(\"0.\"+t.currentVertexPosition,e.lngLat.lng,e.lngLat.lat),t.currentVertexPosition++,t.polygon.updateCoordinate(\"0.\"+t.currentVertexPosition,e.lngLat.lng,e.lngLat.lat)},clickOnVertex:function(t){return this.changeMode(h.SIMPLE_SELECT,{featureIds:[t.polygon.id]})},onMouseMove:function(t,e){t.polygon.updateCoordinate(\"0.\"+t.currentVertexPosition,e.lngLat.lng,e.lngLat.lat),lt(e)&&this.updateUIClasses({mouse:d.POINTER})}};ae.onTap=ae.onClick=function(t,e){return lt(e)?this.clickOnVertex(t,e):this.clickAnywhere(t,e)},ae.onKeyUp=function(t,e){pt(e)?(this.deleteFeature([t.polygon.id],{silent:!0}),this.changeMode(h.SIMPLE_SELECT)):ft(e)&&this.changeMode(h.SIMPLE_SELECT,{featureIds:[t.polygon.id]})},ae.onStop=function(t){this.updateUIClasses({mouse:d.NONE}),Tt.enable(this),this.activateUIButton(),void 0!==this.getFeature(t.polygon.id)&&(t.polygon.removeCoordinate(\"0.\"+t.currentVertexPosition),t.polygon.isValid()?this.map.fire(g.CREATE,{features:[t.polygon.toGeoJSON()]}):(this.deleteFeature([t.polygon.id],{silent:!0}),this.changeMode(h.SIMPLE_SELECT,{},{silent:!0})))},ae.toDisplayFeatures=function(t,e,n){var o=e.properties.id===t.polygon.id;if(e.properties.active=o?m.ACTIVE:m.INACTIVE,!o)return n(e);if(0!==e.geometry.coordinates.length){var r=e.geometry.coordinates[0].length;if(!(r<3)){if(e.properties.meta=v.FEATURE,n(_t(t.polygon.id,e.geometry.coordinates[0][0],\"0.0\",!1)),r>3){var i=e.geometry.coordinates[0].length-3;n(_t(t.polygon.id,e.geometry.coordinates[0][i],\"0.\"+i,!1))}if(r<=4){var a=[[e.geometry.coordinates[0][0][0],e.geometry.coordinates[0][0][1]],[e.geometry.coordinates[0][1][0],e.geometry.coordinates[0][1][1]]];if(n({type:f.FEATURE,properties:e.properties,geometry:{coordinates:a,type:f.LINE_STRING}}),3===r)return}return n(e)}}},ae.onTrash=function(t){this.deleteFeature([t.polygon.id],{silent:!0}),this.changeMode(h.SIMPLE_SELECT)};var se={onSetup:function(t){var e,n,o=(t=t||{}).featureId,r=\"forward\";if(o){if(!(e=this.getFeature(o)))throw new Error(\"Could not find a feature with the provided featureId\");var i=t.from;if(i&&\"Feature\"===i.type&&i.geometry&&\"Point\"===i.geometry.type&&(i=i.geometry),i&&\"Point\"===i.type&&i.coordinates&&2===i.coordinates.length&&(i=i.coordinates),!i||!Array.isArray(i))throw new Error(\"Please use the `from` property to indicate which point to continue the line from\");var a=e.coordinates.length-1;if(e.coordinates[a][0]===i[0]&&e.coordinates[a][1]===i[1])n=a+1,e.addCoordinate.apply(e,[n].concat(e.coordinates[a]));else{if(e.coordinates[0][0]!==i[0]||e.coordinates[0][1]!==i[1])throw new Error(\"`from` should match the point at either the start or the end of the provided LineString\");r=\"backwards\",n=0,e.addCoordinate.apply(e,[n].concat(e.coordinates[0]))}}else e=this.newFeature({type:f.FEATURE,properties:{},geometry:{type:f.LINE_STRING,coordinates:[]}}),n=0,this.addFeature(e);return this.clearSelectedFeatures(),Tt.disable(this),this.updateUIClasses({mouse:d.ADD}),this.activateUIButton(p.LINE),this.setActionableState({trash:!0}),{line:e,currentVertexPosition:n,direction:r}},clickAnywhere:function(t,e){if(t.currentVertexPosition>0&&ie(e,t.line.coordinates[t.currentVertexPosition-1])||\"backwards\"===t.direction&&ie(e,t.line.coordinates[t.currentVertexPosition+1]))return this.changeMode(h.SIMPLE_SELECT,{featureIds:[t.line.id]});this.updateUIClasses({mouse:d.ADD}),t.line.updateCoordinate(t.currentVertexPosition,e.lngLat.lng,e.lngLat.lat),\"forward\"===t.direction?(t.currentVertexPosition++,t.line.updateCoordinate(t.currentVertexPosition,e.lngLat.lng,e.lngLat.lat)):t.line.addCoordinate(0,e.lngLat.lng,e.lngLat.lat)},clickOnVertex:function(t){return this.changeMode(h.SIMPLE_SELECT,{featureIds:[t.line.id]})},onMouseMove:function(t,e){t.line.updateCoordinate(t.currentVertexPosition,e.lngLat.lng,e.lngLat.lat),lt(e)&&this.updateUIClasses({mouse:d.POINTER})}};se.onTap=se.onClick=function(t,e){if(lt(e))return this.clickOnVertex(t,e);this.clickAnywhere(t,e)},se.onKeyUp=function(t,e){ft(e)?this.changeMode(h.SIMPLE_SELECT,{featureIds:[t.line.id]}):pt(e)&&(this.deleteFeature([t.line.id],{silent:!0}),this.changeMode(h.SIMPLE_SELECT))},se.onStop=function(t){Tt.enable(this),this.activateUIButton(),void 0!==this.getFeature(t.line.id)&&(t.line.removeCoordinate(\"\"+t.currentVertexPosition),t.line.isValid()?this.map.fire(g.CREATE,{features:[t.line.toGeoJSON()]}):(this.deleteFeature([t.line.id],{silent:!0}),this.changeMode(h.SIMPLE_SELECT,{},{silent:!0})))},se.onTrash=function(t){this.deleteFeature([t.line.id],{silent:!0}),this.changeMode(h.SIMPLE_SELECT)},se.toDisplayFeatures=function(t,e,n){var o=e.properties.id===t.line.id;if(e.properties.active=o?m.ACTIVE:m.INACTIVE,!o)return n(e);e.geometry.coordinates.length<2||(e.properties.meta=v.FEATURE,n(_t(t.line.id,e.geometry.coordinates[\"forward\"===t.direction?e.geometry.coordinates.length-2:1],\"\"+(\"forward\"===t.direction?e.geometry.coordinates.length-2:1),!1)),n(e))};var ue={simple_select:te,direct_select:oe,draw_point:re,draw_polygon:ae,draw_line_string:se},ce={defaultMode:h.SIMPLE_SELECT,keybindings:!0,touchEnabled:!0,clickBuffer:2,touchBuffer:25,boxSelect:!0,displayControlsDefault:!0,styles:ot,modes:ue,controls:{},userProperties:!1},le={point:!0,line_string:!0,polygon:!0,trash:!0,combine_features:!0,uncombine_features:!0},de={point:!1,line_string:!1,polygon:!1,trash:!1,combine_features:!1,uncombine_features:!1};function pe(t,e){return t.map((function(t){return t.source?t:tt(t,{id:t.id+\".\"+e,source:\"hot\"===e?l.HOT:l.COLD})}))}var fe={exports:{}};!function(t,e){var n=\"__lodash_hash_undefined__\",o=9007199254740991,r=\"[object Arguments]\",i=\"[object Array]\",a=\"[object Boolean]\",s=\"[object Date]\",u=\"[object Error]\",c=\"[object Function]\",l=\"[object Map]\",d=\"[object Number]\",p=\"[object Object]\",f=\"[object Promise]\",h=\"[object RegExp]\",g=\"[object Set]\",y=\"[object String]\",v=\"[object Symbol]\",m=\"[object WeakMap]\",_=\"[object ArrayBuffer]\",b=\"[object DataView]\",E=/^\\[object .+?Constructor\\]$/,T=/^(?:0|[1-9]\\d*)$/,C={};C[\"[object Float32Array]\"]=C[\"[object Float64Array]\"]=C[\"[object Int8Array]\"]=C[\"[object Int16Array]\"]=C[\"[object Int32Array]\"]=C[\"[object Uint8Array]\"]=C[\"[object Uint8ClampedArray]\"]=C[\"[object Uint16Array]\"]=C[\"[object Uint32Array]\"]=!0,C[r]=C[i]=C[_]=C[a]=C[b]=C[s]=C[u]=C[c]=C[l]=C[d]=C[p]=C[h]=C[g]=C[y]=C[m]=!1;var O=\"object\"==typeof global&&global&&global.Object===Object&&global,S=\"object\"==typeof self&&self&&self.Object===Object&&self,I=O||S||Function(\"return this\")(),x=e&&!e.nodeType&&e,M=x&&t&&!t.nodeType&&t,L=M&&M.exports===x,N=L&&O.process,A=function(){try{return N&&N.binding&&N.binding(\"util\")}catch(t){}}(),P=A&&A.isTypedArray;function F(t,e){for(var n=-1,o=null==t?0:t.length;++n<o;)if(e(t[n],n,t))return!0;return!1}function w(t){var e=-1,n=Array(t.size);return t.forEach((function(t,o){n[++e]=[o,t]})),n}function R(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}var k,D,U,j=Array.prototype,V=Function.prototype,B=Object.prototype,G=I[\"__core-js_shared__\"],J=V.toString,z=B.hasOwnProperty,Y=(k=/[^.]+$/.exec(G&&G.keys&&G.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+k:\"\",$=B.toString,q=RegExp(\"^\"+J.call(z).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),H=L?I.Buffer:void 0,X=I.Symbol,Z=I.Uint8Array,W=B.propertyIsEnumerable,K=j.splice,Q=X?X.toStringTag:void 0,tt=Object.getOwnPropertySymbols,et=H?H.isBuffer:void 0,nt=(D=Object.keys,U=Object,function(t){return D(U(t))}),ot=At(I,\"DataView\"),rt=At(I,\"Map\"),it=At(I,\"Promise\"),at=At(I,\"Set\"),st=At(I,\"WeakMap\"),ut=At(Object,\"create\"),ct=Rt(ot),lt=Rt(rt),dt=Rt(it),pt=Rt(at),ft=Rt(st),ht=X?X.prototype:void 0,gt=ht?ht.valueOf:void 0;function yt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var o=t[e];this.set(o[0],o[1])}}function vt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var o=t[e];this.set(o[0],o[1])}}function mt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var o=t[e];this.set(o[0],o[1])}}function _t(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new mt;++e<n;)this.add(t[e])}function bt(t){var e=this.__data__=new vt(t);this.size=e.size}function Et(t,e){var n=Ut(t),o=!n&&Dt(t),r=!n&&!o&&jt(t),i=!n&&!o&&!r&&zt(t),a=n||o||r||i,s=a?function(t,e){for(var n=-1,o=Array(t);++n<t;)o[n]=e(n);return o}(t.length,String):[],u=s.length;for(var c in t)!e&&!z.call(t,c)||a&&(\"length\"==c||r&&(\"offset\"==c||\"parent\"==c)||i&&(\"buffer\"==c||\"byteLength\"==c||\"byteOffset\"==c)||wt(c,u))||s.push(c);return s}function Tt(t,e){for(var n=t.length;n--;)if(kt(t[n][0],e))return n;return-1}function Ct(t){return null==t?void 0===t?\"[object Undefined]\":\"[object Null]\":Q&&Q in Object(t)?function(t){var e=z.call(t,Q),n=t[Q];try{t[Q]=void 0;var o=!0}catch(t){}var r=$.call(t);o&&(e?t[Q]=n:delete t[Q]);return r}(t):function(t){return $.call(t)}(t)}function Ot(t){return Jt(t)&&Ct(t)==r}function St(t,e,n,o,c){return t===e||(null==t||null==e||!Jt(t)&&!Jt(e)?t!=t&&e!=e:function(t,e,n,o,c,f){var m=Ut(t),E=Ut(e),T=m?i:Ft(t),C=E?i:Ft(e),O=(T=T==r?p:T)==p,S=(C=C==r?p:C)==p,I=T==C;if(I&&jt(t)){if(!jt(e))return!1;m=!0,O=!1}if(I&&!O)return f||(f=new bt),m||zt(t)?Mt(t,e,n,o,c,f):function(t,e,n,o,r,i,c){switch(n){case b:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case _:return!(t.byteLength!=e.byteLength||!i(new Z(t),new Z(e)));case a:case s:case d:return kt(+t,+e);case u:return t.name==e.name&&t.message==e.message;case h:case y:return t==e+\"\";case l:var p=w;case g:var f=1&o;if(p||(p=R),t.size!=e.size&&!f)return!1;var m=c.get(t);if(m)return m==e;o|=2,c.set(t,e);var E=Mt(p(t),p(e),o,r,i,c);return c.delete(t),E;case v:if(gt)return gt.call(t)==gt.call(e)}return!1}(t,e,T,n,o,c,f);if(!(1&n)){var x=O&&z.call(t,\"__wrapped__\"),M=S&&z.call(e,\"__wrapped__\");if(x||M){var L=x?t.value():t,N=M?e.value():e;return f||(f=new bt),c(L,N,n,o,f)}}if(!I)return!1;return f||(f=new bt),function(t,e,n,o,r,i){var a=1&n,s=Lt(t),u=s.length,c=Lt(e).length;if(u!=c&&!a)return!1;var l=u;for(;l--;){var d=s[l];if(!(a?d in e:z.call(e,d)))return!1}var p=i.get(t);if(p&&i.get(e))return p==e;var f=!0;i.set(t,e),i.set(e,t);var h=a;for(;++l<u;){var g=t[d=s[l]],y=e[d];if(o)var v=a?o(y,g,d,e,t,i):o(g,y,d,t,e,i);if(!(void 0===v?g===y||r(g,y,n,o,i):v)){f=!1;break}h||(h=\"constructor\"==d)}if(f&&!h){var m=t.constructor,_=e.constructor;m==_||!(\"constructor\"in t)||!(\"constructor\"in e)||\"function\"==typeof m&&m instanceof m&&\"function\"==typeof _&&_ instanceof _||(f=!1)}return i.delete(t),i.delete(e),f}(t,e,n,o,c,f)}(t,e,n,o,St,c))}function It(t){return!(!Gt(t)||function(t){return!!Y&&Y in t}(t))&&(Vt(t)?q:E).test(Rt(t))}function xt(t){if(n=(e=t)&&e.constructor,o=\"function\"==typeof n&&n.prototype||B,e!==o)return nt(t);var e,n,o,r=[];for(var i in Object(t))z.call(t,i)&&\"constructor\"!=i&&r.push(i);return r}function Mt(t,e,n,o,r,i){var a=1&n,s=t.length,u=e.length;if(s!=u&&!(a&&u>s))return!1;var c=i.get(t);if(c&&i.get(e))return c==e;var l=-1,d=!0,p=2&n?new _t:void 0;for(i.set(t,e),i.set(e,t);++l<s;){var f=t[l],h=e[l];if(o)var g=a?o(h,f,l,e,t,i):o(f,h,l,t,e,i);if(void 0!==g){if(g)continue;d=!1;break}if(p){if(!F(e,(function(t,e){if(a=e,!p.has(a)&&(f===t||r(f,t,n,o,i)))return p.push(e);var a}))){d=!1;break}}else if(f!==h&&!r(f,h,n,o,i)){d=!1;break}}return i.delete(t),i.delete(e),d}function Lt(t){return function(t,e,n){var o=e(t);return Ut(t)?o:function(t,e){for(var n=-1,o=e.length,r=t.length;++n<o;)t[r+n]=e[n];return t}(o,n(t))}(t,Yt,Pt)}function Nt(t,e){var n,o,r=t.__data__;return(\"string\"==(o=typeof(n=e))||\"number\"==o||\"symbol\"==o||\"boolean\"==o?\"__proto__\"!==n:null===n)?r[\"string\"==typeof e?\"string\":\"hash\"]:r.map}function At(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return It(n)?n:void 0}yt.prototype.clear=function(){this.__data__=ut?ut(null):{},this.size=0},yt.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},yt.prototype.get=function(t){var e=this.__data__;if(ut){var o=e[t];return o===n?void 0:o}return z.call(e,t)?e[t]:void 0},yt.prototype.has=function(t){var e=this.__data__;return ut?void 0!==e[t]:z.call(e,t)},yt.prototype.set=function(t,e){var o=this.__data__;return this.size+=this.has(t)?0:1,o[t]=ut&&void 0===e?n:e,this},vt.prototype.clear=function(){this.__data__=[],this.size=0},vt.prototype.delete=function(t){var e=this.__data__,n=Tt(e,t);return!(n<0)&&(n==e.length-1?e.pop():K.call(e,n,1),--this.size,!0)},vt.prototype.get=function(t){var e=this.__data__,n=Tt(e,t);return n<0?void 0:e[n][1]},vt.prototype.has=function(t){return Tt(this.__data__,t)>-1},vt.prototype.set=function(t,e){var n=this.__data__,o=Tt(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this},mt.prototype.clear=function(){this.size=0,this.__data__={hash:new yt,map:new(rt||vt),string:new yt}},mt.prototype.delete=function(t){var e=Nt(this,t).delete(t);return this.size-=e?1:0,e},mt.prototype.get=function(t){return Nt(this,t).get(t)},mt.prototype.has=function(t){return Nt(this,t).has(t)},mt.prototype.set=function(t,e){var n=Nt(this,t),o=n.size;return n.set(t,e),this.size+=n.size==o?0:1,this},_t.prototype.add=_t.prototype.push=function(t){return this.__data__.set(t,n),this},_t.prototype.has=function(t){return this.__data__.has(t)},bt.prototype.clear=function(){this.__data__=new vt,this.size=0},bt.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},bt.prototype.get=function(t){return this.__data__.get(t)},bt.prototype.has=function(t){return this.__data__.has(t)},bt.prototype.set=function(t,e){var n=this.__data__;if(n instanceof vt){var o=n.__data__;if(!rt||o.length<199)return o.push([t,e]),this.size=++n.size,this;n=this.__data__=new mt(o)}return n.set(t,e),this.size=n.size,this};var Pt=tt?function(t){return null==t?[]:(t=Object(t),function(t,e){for(var n=-1,o=null==t?0:t.length,r=0,i=[];++n<o;){var a=t[n];e(a,n,t)&&(i[r++]=a)}return i}(tt(t),(function(e){return W.call(t,e)})))}:function(){return[]},Ft=Ct;function wt(t,e){return!!(e=null==e?o:e)&&(\"number\"==typeof t||T.test(t))&&t>-1&&t%1==0&&t<e}function Rt(t){if(null!=t){try{return J.call(t)}catch(t){}try{return t+\"\"}catch(t){}}return\"\"}function kt(t,e){return t===e||t!=t&&e!=e}(ot&&Ft(new ot(new ArrayBuffer(1)))!=b||rt&&Ft(new rt)!=l||it&&Ft(it.resolve())!=f||at&&Ft(new at)!=g||st&&Ft(new st)!=m)&&(Ft=function(t){var e=Ct(t),n=e==p?t.constructor:void 0,o=n?Rt(n):\"\";if(o)switch(o){case ct:return b;case lt:return l;case dt:return f;case pt:return g;case ft:return m}return e});var Dt=Ot(function(){return arguments}())?Ot:function(t){return Jt(t)&&z.call(t,\"callee\")&&!W.call(t,\"callee\")},Ut=Array.isArray;var jt=et||function(){return!1};function Vt(t){if(!Gt(t))return!1;var e=Ct(t);return e==c||\"[object GeneratorFunction]\"==e||\"[object AsyncFunction]\"==e||\"[object Proxy]\"==e}function Bt(t){return\"number\"==typeof t&&t>-1&&t%1==0&&t<=o}function Gt(t){var e=typeof t;return null!=t&&(\"object\"==e||\"function\"==e)}function Jt(t){return null!=t&&\"object\"==typeof t}var zt=P?function(t){return function(e){return t(e)}}(P):function(t){return Jt(t)&&Bt(t.length)&&!!C[Ct(t)]};function Yt(t){return null!=(e=t)&&Bt(e.length)&&!Vt(e)?Et(t):xt(t);var e}t.exports=function(t,e){return St(t,e)}}(fe,fe.exports);var he=e(fe.exports);function ge(t,e){return t.length===e.length&&JSON.stringify(t.map((function(t){return t})).sort())===JSON.stringify(e.map((function(t){return t})).sort())}var ye={Polygon:V,LineString:j,Point:U,MultiPolygon:J,MultiLineString:J,MultiPoint:J};var ve=Object.freeze({__proto__:null,CommonSelectors:ht,constrainFeatureMovement:Kt,createMidPoint:bt,createSupplementaryPoints:Et,createVertex:_t,doubleClickZoom:Tt,euclideanDistance:A,featuresAt:M,getFeatureAtAndSetCursors:N,isClick:P,isEventAtCoordinates:ie,isTap:F,mapEventToBoundingBox:S,ModeHandler:t,moveFeatures:Qt,sortFeatures:O,stringSetsAreEqual:ge,StringSet:I,theme:ot,toDenseArray:H}),me=function(t,e){var n={options:t=function(t){void 0===t&&(t={});var e=tt(t);return t.controls||(e.controls={}),!1===t.displayControlsDefault?e.controls=tt(de,t.controls):e.controls=tt(le,t.controls),(e=tt(ce,e)).styles=pe(e.styles,\"cold\").concat(pe(e.styles,\"hot\")),e}(t)};e=function(t,e){return e.modes=h,e.getFeatureIdsAt=function(e){return M.click({point:e},null,t).map((function(t){return t.properties.id}))},e.getSelectedIds=function(){return t.store.getSelectedIds()},e.getSelected=function(){return{type:f.FEATURE_COLLECTION,features:t.store.getSelectedIds().map((function(e){return t.store.get(e)})).map((function(t){return t.toGeoJSON()}))}},e.getSelectedPoints=function(){return{type:f.FEATURE_COLLECTION,features:t.store.getSelectedCoordinates().map((function(t){return{type:f.FEATURE,properties:{},geometry:{type:f.POINT,coordinates:t.coordinates}}}))}},e.set=function(n){if(void 0===n.type||n.type!==f.FEATURE_COLLECTION||!Array.isArray(n.features))throw new Error(\"Invalid FeatureCollection\");var o=t.store.createRenderBatch(),r=t.store.getAllIds().slice(),i=e.add(n),a=new I(i);return(r=r.filter((function(t){return!a.has(t)}))).length&&e.delete(r),o(),i},e.add=function(e){var n=JSON.parse(JSON.stringify(It(e))).features.map((function(e){if(e.id=e.id||k(),null===e.geometry)throw new Error(\"Invalid geometry: null\");if(void 0===t.store.get(e.id)||t.store.get(e.id).type!==e.geometry.type){var n=ye[e.geometry.type];if(void 0===n)throw new Error(\"Invalid geometry type: \"+e.geometry.type+\".\");var o=new n(t,e);t.store.add(o)}else{var r=t.store.get(e.id);r.properties=e.properties,he(r.properties,e.properties)||t.store.featureChanged(r.id),he(r.getCoordinates(),e.geometry.coordinates)||r.incomingCoords(e.geometry.coordinates)}return e.id}));return t.store.render(),n},e.get=function(e){var n=t.store.get(e);if(n)return n.toGeoJSON()},e.getAll=function(){return{type:f.FEATURE_COLLECTION,features:t.store.getAll().map((function(t){return t.toGeoJSON()}))}},e.delete=function(n){return t.store.delete(n,{silent:!0}),e.getMode()!==h.DIRECT_SELECT||t.store.getSelectedIds().length?t.store.render():t.events.changeMode(h.SIMPLE_SELECT,void 0,{silent:!0}),e},e.deleteAll=function(){return t.store.delete(t.store.getAllIds(),{silent:!0}),e.getMode()===h.DIRECT_SELECT?t.events.changeMode(h.SIMPLE_SELECT,void 0,{silent:!0}):t.store.render(),e},e.changeMode=function(n,o){return void 0===o&&(o={}),n===h.SIMPLE_SELECT&&e.getMode()===h.SIMPLE_SELECT?(ge(o.featureIds||[],t.store.getSelectedIds())||(t.store.setSelected(o.featureIds,{silent:!0}),t.store.render()),e):(n===h.DIRECT_SELECT&&e.getMode()===h.DIRECT_SELECT&&o.featureId===t.store.getSelectedIds()[0]||t.events.changeMode(n,o,{silent:!0}),e)},e.getMode=function(){return t.events.getMode()},e.trash=function(){return t.events.trash({silent:!0}),e},e.combineFeatures=function(){return t.events.combineFeatures({silent:!0}),e},e.uncombineFeatures=function(){return t.events.uncombineFeatures({silent:!0}),e},e.setFeatureProperty=function(n,o,r){return t.store.setFeatureProperty(n,o,r),e},e}(n,e),n.api=e;var o=nt(n);return e.onAdd=o.onAdd,e.onRemove=o.onRemove,e.types=p,e.options=t,e};function _e(t){me(t,this)}return _e.modes=ue,_e.constants=E,_e.lib=ve,_e}));\n//# sourceMappingURL=mapbox-gl-draw.js.map\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","/**\r\n * DevExtreme (esm/core/utils/deferred.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDeferred,\r\n isDefined,\r\n isPromise\r\n} from \"../utils/type\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nimport Callbacks from \"../utils/callbacks\";\r\nvar deferredConfig = [{\r\n method: \"resolve\",\r\n handler: \"done\",\r\n state: \"resolved\"\r\n}, {\r\n method: \"reject\",\r\n handler: \"fail\",\r\n state: \"rejected\"\r\n}, {\r\n method: \"notify\",\r\n handler: \"progress\"\r\n}];\r\nvar _DeferredObj = function() {\r\n var that = this;\r\n this._state = \"pending\";\r\n this._promise = {};\r\n deferredConfig.forEach(function(config) {\r\n var methodName = config.method;\r\n this[methodName + \"Callbacks\"] = Callbacks();\r\n this[methodName] = function() {\r\n return this[methodName + \"With\"](this._promise, arguments)\r\n }.bind(this);\r\n this._promise[config.handler] = function(handler) {\r\n if (!handler) {\r\n return this\r\n }\r\n var callbacks = that[methodName + \"Callbacks\"];\r\n if (callbacks.fired()) {\r\n handler.apply(that[methodName + \"Context\"], that[methodName + \"Args\"])\r\n } else {\r\n callbacks.add(function(context, args) {\r\n handler.apply(context, args)\r\n }.bind(this))\r\n }\r\n return this\r\n }\r\n }.bind(this));\r\n this._promise.always = function(handler) {\r\n return this.done(handler).fail(handler)\r\n };\r\n this._promise.catch = function(handler) {\r\n return this.then(null, handler)\r\n };\r\n this._promise.then = function(resolve, reject) {\r\n var result = new _DeferredObj;\r\n [\"done\", \"fail\"].forEach(function(method) {\r\n var callback = \"done\" === method ? resolve : reject;\r\n this[method]((function() {\r\n if (!callback) {\r\n result[\"done\" === method ? \"resolve\" : \"reject\"].apply(this, arguments);\r\n return\r\n }\r\n var callbackResult = callback && callback.apply(this, arguments);\r\n if (isDeferred(callbackResult)) {\r\n callbackResult.done(result.resolve).fail(result.reject)\r\n } else if (isPromise(callbackResult)) {\r\n callbackResult.then(result.resolve, result.reject)\r\n } else {\r\n result.resolve.apply(this, isDefined(callbackResult) ? [callbackResult] : arguments)\r\n }\r\n }))\r\n }.bind(this));\r\n return result.promise()\r\n };\r\n this._promise.state = function() {\r\n return that._state\r\n };\r\n this._promise.promise = function(args) {\r\n return args ? extend(args, that._promise) : that._promise\r\n };\r\n this._promise.promise(this)\r\n};\r\ndeferredConfig.forEach((function(config) {\r\n var methodName = config.method;\r\n var state = config.state;\r\n _DeferredObj.prototype[methodName + \"With\"] = function(context, args) {\r\n var callbacks = this[methodName + \"Callbacks\"];\r\n if (\"pending\" === this.state()) {\r\n this[methodName + \"Args\"] = args;\r\n this[methodName + \"Context\"] = context;\r\n if (state) {\r\n this._state = state\r\n }\r\n callbacks.fire(context, args)\r\n }\r\n return this\r\n }\r\n}));\r\nexport function fromPromise(promise, context) {\r\n if (isDeferred(promise)) {\r\n return promise\r\n } else if (isPromise(promise)) {\r\n var d = new _DeferredObj;\r\n promise.then((function() {\r\n d.resolveWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n }), (function() {\r\n d.rejectWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n }));\r\n return d\r\n }\r\n return (new _DeferredObj).resolveWith(context, [promise])\r\n}\r\nvar whenFunc = function() {\r\n if (1 === arguments.length) {\r\n return fromPromise(arguments[0])\r\n }\r\n var values = [].slice.call(arguments);\r\n var contexts = [];\r\n var resolvedCount = 0;\r\n var deferred = new _DeferredObj;\r\n var updateState = function(i) {\r\n return function(value) {\r\n contexts[i] = this;\r\n values[i] = arguments.length > 1 ? [].slice.call(arguments) : value;\r\n resolvedCount++;\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n }\r\n };\r\n for (var i = 0; i < values.length; i++) {\r\n if (isDeferred(values[i])) {\r\n values[i].promise().done(updateState(i)).fail(deferred.reject)\r\n } else {\r\n resolvedCount++\r\n }\r\n }\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n return deferred.promise()\r\n};\r\nexport function setStrategy(value) {\r\n _DeferredObj = value.Deferred;\r\n whenFunc = value.when\r\n}\r\nexport function Deferred() {\r\n return new _DeferredObj\r\n}\r\nexport function when() {\r\n return whenFunc.apply(this, arguments)\r\n}\r\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// Styles\nimport './VChip.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Components\nimport { VExpandXTransition } from '../transitions'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport { breaking } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { PropValidator, PropType } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Sizeable,\n Routable,\n Themeable,\n GroupableFactory('chipGroup'),\n ToggleableFactory('inputValue')\n).extend({\n name: 'v-chip',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.chipGroup) return ''\n\n return this.chipGroup.activeClass\n },\n } as any as PropValidator<string>,\n close: Boolean,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n outlined: Boolean,\n pill: Boolean,\n tag: {\n type: String,\n default: 'span',\n },\n textColor: String,\n value: null as any as PropType<any>,\n },\n\n data: () => ({\n proxyClass: 'v-chip--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-chip': true,\n ...Routable.options.computed.classes.call(this),\n 'v-chip--clickable': this.isClickable,\n 'v-chip--disabled': this.disabled,\n 'v-chip--draggable': this.draggable,\n 'v-chip--label': this.label,\n 'v-chip--link': this.isLink,\n 'v-chip--no-color': !this.color,\n 'v-chip--outlined': this.outlined,\n 'v-chip--pill': this.pill,\n 'v-chip--removable': this.hasClose,\n ...this.themeClasses,\n ...this.sizeableClasses,\n ...this.groupClasses,\n }\n },\n hasClose (): boolean {\n return Boolean(this.close)\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.chipGroup\n )\n },\n },\n\n created () {\n const breakingProps = [\n ['outline', 'outlined'],\n ['selected', 'input-value'],\n ['value', 'active'],\n ['@input', '@active.sync'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n this.$emit('click', e)\n\n this.chipGroup && this.toggle()\n },\n genFilter (): VNode {\n const children = []\n\n if (this.isActive) {\n children.push(\n this.$createElement(VIcon, {\n staticClass: 'v-chip__filter',\n props: { left: true },\n }, this.filterIcon)\n )\n }\n\n return this.$createElement(VExpandXTransition, children)\n },\n genClose (): VNode {\n return this.$createElement(VIcon, {\n staticClass: 'v-chip__close',\n props: {\n right: true,\n size: 18,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n e.preventDefault()\n\n this.$emit('click:close')\n this.$emit('update:active', false)\n },\n },\n }, this.closeIcon)\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-chip__content',\n }, [\n this.filter && this.genFilter(),\n getSlot(this),\n this.hasClose && this.genClose(),\n ])\n },\n },\n\n render (h): VNode {\n const children = [this.genContent()]\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n draggable: this.draggable ? 'true' : undefined,\n tabindex: this.chipGroup && !this.disabled ? 0 : data.attrs!.tabindex,\n }\n data.directives!.push({\n name: 'show',\n value: this.active,\n })\n data = this.setBackgroundColor(this.color, data)\n\n const color = this.textColor || (this.outlined && this.color)\n\n return h(tag, this.setTextColor(color, data), children)\n },\n})\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","var metric\n , imperial;\n\nmetric = {\n mcg: {\n name: {\n singular: 'Microgram'\n , plural: 'Micrograms'\n }\n , to_anchor: 1/1000000\n }\n, mg: {\n name: {\n singular: 'Milligram'\n , plural: 'Milligrams'\n }\n , to_anchor: 1/1000\n }\n, g: {\n name: {\n singular: 'Gram'\n , plural: 'Grams'\n }\n , to_anchor: 1\n }\n, kg: {\n name: {\n singular: 'Kilogram'\n , plural: 'Kilograms'\n }\n , to_anchor: 1000\n}\n, mt: {\n name: {\n singular: 'Metric Tonne'\n , plural: 'Metric Tonnes'\n }\n , to_anchor: 1000000\n }\n};\n\nimperial = {\n oz: {\n name: {\n singular: 'Ounce'\n , plural: 'Ounces'\n }\n , to_anchor: 1/16\n }\n, lb: {\n name: {\n singular: 'Pound'\n , plural: 'Pounds'\n }\n , to_anchor: 1\n}, t: {\n name: {\n singular: 'Ton',\n plural: 'Tons',\n },\n to_anchor: 2000,\n },\n};\n\nmodule.exports = {\n metric: metric\n, imperial: imperial\n, _anchors: {\n metric: {\n unit: 'g'\n , ratio: 1/453.592\n }\n , imperial: {\n unit: 'lb'\n , ratio: 453.592\n }\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","// Styles\nimport './VDivider.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\nexport default Themeable.extend({\n name: 'v-divider',\n\n props: {\n inset: Boolean,\n vertical: Boolean,\n },\n\n render (h): VNode {\n // WAI-ARIA attributes\n let orientation\n if (!this.$attrs.role || this.$attrs.role === 'separator') {\n orientation = this.vertical ? 'vertical' : 'horizontal'\n }\n return h('hr', {\n class: {\n 'v-divider': true,\n 'v-divider--inset': this.inset,\n 'v-divider--vertical': this.vertical,\n ...this.themeClasses,\n },\n attrs: {\n role: 'separator',\n 'aria-orientation': orientation,\n ...this.$attrs,\n },\n on: this.$listeners,\n })\n },\n})\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","/**\r\n * DevExtreme (esm/core/options/utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../devices\";\r\nimport {\r\n isEmptyObject,\r\n isFunction\r\n} from \"../utils/type\";\r\nimport {\r\n findBestMatches\r\n} from \"../utils/common\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nimport {\r\n compileGetter\r\n} from \"../utils/data\";\r\nvar cachedGetters = {};\r\nexport var convertRulesToOptions = rules => {\r\n var currentDevice = devices.current();\r\n return rules.reduce((options, _ref) => {\r\n var {\r\n device: device,\r\n options: ruleOptions\r\n } = _ref;\r\n var deviceFilter = device || {};\r\n var match = isFunction(deviceFilter) ? deviceFilter(currentDevice) : deviceMatch(currentDevice, deviceFilter);\r\n if (match) {\r\n extend(true, options, ruleOptions)\r\n }\r\n return options\r\n }, {})\r\n};\r\nexport var normalizeOptions = (options, value) => \"string\" !== typeof options ? options : {\r\n [options]: value\r\n};\r\nexport var deviceMatch = (device, filter) => isEmptyObject(filter) || findBestMatches(device, [filter]).length > 0;\r\nexport var getFieldName = fullName => fullName.substr(fullName.lastIndexOf(\".\") + 1);\r\nexport var getParentName = fullName => fullName.substr(0, fullName.lastIndexOf(\".\"));\r\nexport var getNestedOptionValue = function(optionsObject, name) {\r\n cachedGetters[name] = cachedGetters[name] || compileGetter(name);\r\n return cachedGetters[name](optionsObject, {\r\n functionsAsIs: true\r\n })\r\n};\r\nexport var createDefaultOptionRules = function() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n return options\r\n};\r\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n d: ['jedan dan', 'jednog dana'],\n dd: ['dan', 'dana', 'dana'],\n M: ['jedan mesec', 'jednog meseca'],\n MM: ['mesec', 'meseca', 'meseci'],\n y: ['jednu godinu', 'jedne godine'],\n yy: ['godinu', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'jedna godina';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'godinu') {\n return number + ' godina';\n }\n\n return number + ' ' + word;\n },\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function (input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? \"d'o\" : \"D'O\";\n } else {\n return isLower ? \"d'a\" : \"D'A\";\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['viensas secunds', \"'iensas secunds\"],\n ss: [number + ' secunds', '' + number + ' secunds'],\n m: [\"'n míut\", \"'iens míut\"],\n mm: [number + ' míuts', '' + number + ' míuts'],\n h: [\"'n þora\", \"'iensa þora\"],\n hh: [number + ' þoras', '' + number + ' þoras'],\n d: [\"'n ziua\", \"'iensa ziua\"],\n dd: [number + ' ziuas', '' + number + ' ziuas'],\n M: [\"'n mes\", \"'iens mes\"],\n MM: [number + ' mesen', '' + number + ' mesen'],\n y: [\"'n ar\", \"'iens ar\"],\n yy: [number + ' ars', '' + number + ' ars'],\n };\n return isFuture\n ? format[key][0]\n : withoutSuffix\n ? format[key][0]\n : format[key][1];\n }\n\n return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'leS'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'waQ'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'nem'\n : time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'Hu’'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'wen'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'ben'\n : time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n return word === '' ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n '_'\n ),\n monthsShort:\n 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysShort:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L',\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate,\n m: 'wa’ tup',\n mm: translate,\n h: 'wa’ rep',\n hh: translate,\n d: 'wa’ jaj',\n dd: translate,\n M: 'wa’ jar',\n MM: translate,\n y: 'wa’ DIS',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlh;\n\n})));\n","'use strict';\nmodule.exports = {};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","/**\r\n * DevExtreme (esm/events/gesture/emitter.gesture.scroll.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Class from \"../../core/class\";\r\nvar abstract = Class.abstract;\r\nimport {\r\n addNamespace,\r\n isDxMouseWheelEvent,\r\n isMouseEvent,\r\n eventData,\r\n eventDelta\r\n} from \"../../events/utils/index\";\r\nimport GestureEmitter from \"../../events/gesture/emitter.gesture\";\r\nimport registerEmitter from \"../../events/core/emitter_registrator\";\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../../animation/frame\";\r\nimport devices from \"../../core/devices\";\r\nvar realDevice = devices.real();\r\nvar SCROLL_EVENT = \"scroll\";\r\nvar SCROLL_INIT_EVENT = \"dxscrollinit\";\r\nvar SCROLL_START_EVENT = \"dxscrollstart\";\r\nvar SCROLL_MOVE_EVENT = \"dxscroll\";\r\nvar SCROLL_END_EVENT = \"dxscrollend\";\r\nvar SCROLL_STOP_EVENT = \"dxscrollstop\";\r\nvar SCROLL_CANCEL_EVENT = \"dxscrollcancel\";\r\nvar Locker = Class.inherit(function() {\r\n var NAMESPACED_SCROLL_EVENT = addNamespace(SCROLL_EVENT, \"dxScrollEmitter\");\r\n return {\r\n ctor: function(element) {\r\n this._element = element;\r\n this._locked = false;\r\n this._proxiedScroll = e => {\r\n if (!this._disposed) {\r\n this._scroll(e)\r\n }\r\n };\r\n eventsEngine.on(this._element, NAMESPACED_SCROLL_EVENT, this._proxiedScroll)\r\n },\r\n _scroll: abstract,\r\n check: function(e, callback) {\r\n if (this._locked) {\r\n callback()\r\n }\r\n },\r\n dispose: function() {\r\n this._disposed = true;\r\n eventsEngine.off(this._element, NAMESPACED_SCROLL_EVENT, this._proxiedScroll)\r\n }\r\n }\r\n}());\r\nvar TimeoutLocker = Locker.inherit({\r\n ctor: function(element, timeout) {\r\n this.callBase(element);\r\n this._timeout = timeout\r\n },\r\n _scroll: function() {\r\n this._prepare();\r\n this._forget()\r\n },\r\n _prepare: function() {\r\n if (this._timer) {\r\n this._clearTimer()\r\n }\r\n this._locked = true\r\n },\r\n _clearTimer: function() {\r\n clearTimeout(this._timer);\r\n this._locked = false;\r\n this._timer = null\r\n },\r\n _forget: function() {\r\n var that = this;\r\n this._timer = setTimeout((function() {\r\n that._clearTimer()\r\n }), this._timeout)\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n this._clearTimer()\r\n }\r\n});\r\nvar WheelLocker = TimeoutLocker.inherit({\r\n ctor: function(element) {\r\n this.callBase(element, 400);\r\n this._lastWheelDirection = null\r\n },\r\n check: function(e, callback) {\r\n this._checkDirectionChanged(e);\r\n this.callBase(e, callback)\r\n },\r\n _checkDirectionChanged: function(e) {\r\n if (!isDxMouseWheelEvent(e)) {\r\n this._lastWheelDirection = null;\r\n return\r\n }\r\n var direction = e.shiftKey || false;\r\n var directionChange = null !== this._lastWheelDirection && direction !== this._lastWheelDirection;\r\n this._lastWheelDirection = direction;\r\n this._locked = this._locked && !directionChange\r\n }\r\n});\r\nvar PointerLocker = TimeoutLocker.inherit({\r\n ctor: function(element) {\r\n this.callBase(element, 400)\r\n }\r\n});\r\n! function() {\r\n var {\r\n ios: isIos,\r\n android: isAndroid\r\n } = realDevice;\r\n if (!(isIos || isAndroid)) {\r\n return\r\n }\r\n PointerLocker = Locker.inherit({\r\n _scroll: function() {\r\n this._locked = true;\r\n var that = this;\r\n cancelAnimationFrame(this._scrollFrame);\r\n this._scrollFrame = requestAnimationFrame((function() {\r\n that._locked = false\r\n }))\r\n },\r\n check: function(e, callback) {\r\n cancelAnimationFrame(this._scrollFrame);\r\n cancelAnimationFrame(this._checkFrame);\r\n var that = this;\r\n var callBase = this.callBase;\r\n this._checkFrame = requestAnimationFrame((function() {\r\n callBase.call(that, e, callback);\r\n that._locked = false\r\n }))\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n cancelAnimationFrame(this._scrollFrame);\r\n cancelAnimationFrame(this._checkFrame)\r\n }\r\n })\r\n}();\r\nvar ScrollEmitter = GestureEmitter.inherit(function() {\r\n var FRAME_DURATION = Math.round(1e3 / 60);\r\n return {\r\n ctor: function(element) {\r\n this.callBase.apply(this, arguments);\r\n this.direction = \"both\";\r\n this._pointerLocker = new PointerLocker(element);\r\n this._wheelLocker = new WheelLocker(element)\r\n },\r\n validate: function() {\r\n return true\r\n },\r\n configure: function(data) {\r\n if (data.scrollTarget) {\r\n this._pointerLocker.dispose();\r\n this._wheelLocker.dispose();\r\n this._pointerLocker = new PointerLocker(data.scrollTarget);\r\n this._wheelLocker = new WheelLocker(data.scrollTarget)\r\n }\r\n this.callBase(data)\r\n },\r\n _init: function(e) {\r\n this._wheelLocker.check(e, function() {\r\n if (isDxMouseWheelEvent(e)) {\r\n this._accept(e)\r\n }\r\n }.bind(this));\r\n this._pointerLocker.check(e, function() {\r\n var skipCheck = this.isNative && isMouseEvent(e);\r\n if (!isDxMouseWheelEvent(e) && !skipCheck) {\r\n this._accept(e)\r\n }\r\n }.bind(this));\r\n this._fireEvent(SCROLL_INIT_EVENT, e);\r\n this._prevEventData = eventData(e)\r\n },\r\n move: function(e) {\r\n this.callBase.apply(this, arguments);\r\n e.isScrollingEvent = this.isNative || e.isScrollingEvent\r\n },\r\n _start: function(e) {\r\n this._savedEventData = eventData(e);\r\n this._fireEvent(SCROLL_START_EVENT, e);\r\n this._prevEventData = eventData(e)\r\n },\r\n _move: function(e) {\r\n var currentEventData = eventData(e);\r\n this._fireEvent(SCROLL_MOVE_EVENT, e, {\r\n delta: eventDelta(this._prevEventData, currentEventData)\r\n });\r\n var delta = eventDelta(this._savedEventData, currentEventData);\r\n if (delta.time > 200) {\r\n this._savedEventData = this._prevEventData\r\n }\r\n this._prevEventData = eventData(e)\r\n },\r\n _end: function(e) {\r\n var endEventDelta = eventDelta(this._prevEventData, eventData(e));\r\n var velocity = {\r\n x: 0,\r\n y: 0\r\n };\r\n if (!isDxMouseWheelEvent(e) && endEventDelta.time < 100) {\r\n var delta = eventDelta(this._savedEventData, this._prevEventData);\r\n var velocityMultiplier = FRAME_DURATION / delta.time;\r\n velocity = {\r\n x: delta.x * velocityMultiplier,\r\n y: delta.y * velocityMultiplier\r\n }\r\n }\r\n this._fireEvent(SCROLL_END_EVENT, e, {\r\n velocity: velocity\r\n })\r\n },\r\n _stop: function(e) {\r\n this._fireEvent(SCROLL_STOP_EVENT, e)\r\n },\r\n cancel: function(e) {\r\n this.callBase.apply(this, arguments);\r\n this._fireEvent(SCROLL_CANCEL_EVENT, e)\r\n },\r\n dispose: function() {\r\n this.callBase.apply(this, arguments);\r\n this._pointerLocker.dispose();\r\n this._wheelLocker.dispose()\r\n },\r\n _clearSelection: function() {\r\n if (this.isNative) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _toggleGestureCover: function() {\r\n if (this.isNative) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n}());\r\nregisterEmitter({\r\n emitter: ScrollEmitter,\r\n events: [SCROLL_INIT_EVENT, SCROLL_START_EVENT, SCROLL_MOVE_EVENT, SCROLL_END_EVENT, SCROLL_STOP_EVENT, SCROLL_CANCEL_EVENT]\r\n});\r\nexport default {\r\n init: SCROLL_INIT_EVENT,\r\n start: SCROLL_START_EVENT,\r\n move: SCROLL_MOVE_EVENT,\r\n end: SCROLL_END_EVENT,\r\n stop: SCROLL_STOP_EVENT,\r\n cancel: SCROLL_CANCEL_EVENT,\r\n scroll: SCROLL_EVENT\r\n};\r\n","import Vue from 'vue'\n\n/**\n * SSRBootable\n *\n * @mixin\n *\n * Used in layout components (drawer, toolbar, content)\n * to avoid an entry animation when using SSR\n */\nexport default Vue.extend({\n name: 'ssr-bootable',\n\n data: () => ({\n isBooted: false,\n }),\n\n mounted () {\n // Use setAttribute instead of dataset\n // because dataset does not work well\n // with unit tests\n window.requestAnimationFrame(() => {\n this.$el.setAttribute('data-booted', 'true')\n this.isBooted = true\n })\n },\n})\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createExtensionComponent = exports.createConfigurationComponent = exports.createComponent = void 0;\nvar VueType = __importStar(require(\"vue\"));\nvar Vue = VueType.default || VueType;\nvar component_1 = require(\"./component\");\nvar configuration_component_1 = require(\"./configuration-component\");\nvar extension_component_1 = require(\"./extension-component\");\nfunction createComponent(config) {\n config.extends = (0, component_1.DxComponent)();\n return Vue.extend(config);\n}\nexports.createComponent = createComponent;\nfunction createConfigurationComponent(config) {\n config.extends = (0, configuration_component_1.DxConfiguration)();\n return Vue.extend(config);\n}\nexports.createConfigurationComponent = createConfigurationComponent;\nfunction createExtensionComponent(config) {\n config.extends = (0, extension_component_1.DxExtensionComponent)();\n return Vue.extend(config);\n}\nexports.createExtensionComponent = createExtensionComponent;\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠',\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0',\n };\n\n var bo = moment.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n '_'\n ),\n monthsShort:\n 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n '_'\n ),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays:\n 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n '_'\n ),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n '_'\n ),\n weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ',\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bo;\n\n})));\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ptBr = moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n '_'\n ),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida',\n });\n\n return ptBr;\n\n})));\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DxHide = exports.DxHeaderFilter = exports.DxGroupPanel = exports.DxGroupOperationDescriptions = exports.DxGroupItem = exports.DxGroupingTexts = exports.DxGrouping = exports.DxFrom = exports.DxFormItem = exports.DxFormat = exports.DxForm = exports.DxFilterRow = exports.DxFilterPanelTexts = exports.DxFilterPanel = exports.DxFilterOperationDescriptions = exports.DxFilterBuilderPopup = exports.DxFilterBuilder = exports.DxFieldLookup = exports.DxField = exports.DxExportTexts = exports.DxExport = exports.DxEmailRule = exports.DxEditingTexts = exports.DxEditing = exports.DxDataGridSelection = exports.DxDataGridHeaderFilterTexts = exports.DxDataGridHeaderFilterSearch = exports.DxDataGridHeaderFilter = exports.DxCustomRule = exports.DxCustomOperation = exports.DxCursorOffset = exports.DxCompareRule = exports.DxColumnLookup = exports.DxColumnHeaderFilterSearch = exports.DxColumnHeaderFilter = exports.DxColumnFixingTexts = exports.DxColumnFixing = exports.DxColumnChooserSelection = exports.DxColumnChooserSearch = exports.DxColumnChooser = exports.DxColumn = exports.DxCollision = exports.DxColCountByScreen = exports.DxChange = exports.DxButton = exports.DxBoundaryOffset = exports.DxAt = exports.DxAsyncRule = exports.DxAnimation = exports.DxDataGrid = void 0;\nexports.DxValueFormat = exports.DxValidationRule = exports.DxTotalItem = exports.DxToolbarItem = exports.DxToolbar = exports.DxTo = exports.DxTexts = exports.DxSummaryTexts = exports.DxSummary = exports.DxStringLengthRule = exports.DxStateStoring = exports.DxSorting = exports.DxSortByGroupSummaryInfo = exports.DxShow = exports.DxSelection = exports.DxSearchPanel = exports.DxSearch = exports.DxScrolling = exports.DxRowDragging = exports.DxRequiredRule = exports.DxRemoteOperations = exports.DxRangeRule = exports.DxPosition = exports.DxPopup = exports.DxPatternRule = exports.DxPaging = exports.DxPager = exports.DxOperationDescriptions = exports.DxOffset = exports.DxNumericRule = exports.DxMy = exports.DxMasterDetail = exports.DxLookup = exports.DxLoadPanel = exports.DxLabel = exports.DxKeyboardNavigation = exports.DxItem = void 0;\nvar data_grid_1 = __importDefault(require(\"devextreme/ui/data_grid\"));\nvar index_1 = require(\"./core/index\");\nvar index_2 = require(\"./core/index\");\nvar DxDataGrid = (0, index_1.createComponent)({\n props: {\n accessKey: String,\n activeStateEnabled: Boolean,\n allowColumnReordering: Boolean,\n allowColumnResizing: Boolean,\n autoNavigateToFocusedRow: Boolean,\n cacheEnabled: Boolean,\n cellHintEnabled: Boolean,\n columnAutoWidth: Boolean,\n columnChooser: Object,\n columnFixing: Object,\n columnHidingEnabled: Boolean,\n columnMinWidth: Number,\n columnResizingMode: String,\n columns: Array,\n columnWidth: [Number, String],\n customizeColumns: Function,\n dataRowTemplate: {},\n dataSource: {},\n dateSerializationFormat: String,\n disabled: Boolean,\n editing: Object,\n elementAttr: Object,\n errorRowEnabled: Boolean,\n export: Object,\n filterBuilder: Object,\n filterBuilderPopup: Object,\n filterPanel: Object,\n filterRow: Object,\n filterSyncEnabled: [Boolean, String],\n filterValue: [Array, Function, String],\n focusedColumnIndex: Number,\n focusedRowEnabled: Boolean,\n focusedRowIndex: Number,\n focusedRowKey: {},\n grouping: Object,\n groupPanel: Object,\n headerFilter: Object,\n height: [Function, Number, String],\n highlightChanges: Boolean,\n hint: String,\n hoverStateEnabled: Boolean,\n keyboardNavigation: Object,\n keyExpr: [Array, String],\n loadPanel: Object,\n masterDetail: Object,\n noDataText: String,\n onAdaptiveDetailRowPreparing: Function,\n onCellClick: Function,\n onCellDblClick: Function,\n onCellHoverChanged: Function,\n onCellPrepared: Function,\n onContentReady: Function,\n onContextMenuPreparing: Function,\n onDataErrorOccurred: Function,\n onDisposing: Function,\n onEditCanceled: Function,\n onEditCanceling: Function,\n onEditingStart: Function,\n onEditorPrepared: Function,\n onEditorPreparing: Function,\n onExporting: Function,\n onFocusedCellChanged: Function,\n onFocusedCellChanging: Function,\n onFocusedRowChanged: Function,\n onFocusedRowChanging: Function,\n onInitialized: Function,\n onInitNewRow: Function,\n onKeyDown: Function,\n onOptionChanged: Function,\n onRowClick: Function,\n onRowCollapsed: Function,\n onRowCollapsing: Function,\n onRowDblClick: Function,\n onRowExpanded: Function,\n onRowExpanding: Function,\n onRowInserted: Function,\n onRowInserting: Function,\n onRowPrepared: Function,\n onRowRemoved: Function,\n onRowRemoving: Function,\n onRowUpdated: Function,\n onRowUpdating: Function,\n onRowValidating: Function,\n onSaved: Function,\n onSaving: Function,\n onSelectionChanged: Function,\n onToolbarPreparing: Function,\n pager: Object,\n paging: Object,\n remoteOperations: [Boolean, Object, String],\n renderAsync: Boolean,\n repaintChangesOnly: Boolean,\n rowAlternationEnabled: Boolean,\n rowDragging: Object,\n rowTemplate: {},\n rtlEnabled: Boolean,\n scrolling: Object,\n searchPanel: Object,\n selectedRowKeys: Array,\n selection: Object,\n selectionFilter: [Array, Function, String],\n showBorders: Boolean,\n showColumnHeaders: Boolean,\n showColumnLines: Boolean,\n showRowLines: Boolean,\n sortByGroupSummaryInfo: Array,\n sorting: Object,\n stateStoring: Object,\n summary: Object,\n syncLookupFilterValues: Boolean,\n tabIndex: Number,\n toolbar: Object,\n twoWayBindingEnabled: Boolean,\n visible: Boolean,\n width: [Function, Number, String],\n wordWrapEnabled: Boolean\n },\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:activeStateEnabled\": null,\n \"update:allowColumnReordering\": null,\n \"update:allowColumnResizing\": null,\n \"update:autoNavigateToFocusedRow\": null,\n \"update:cacheEnabled\": null,\n \"update:cellHintEnabled\": null,\n \"update:columnAutoWidth\": null,\n \"update:columnChooser\": null,\n \"update:columnFixing\": null,\n \"update:columnHidingEnabled\": null,\n \"update:columnMinWidth\": null,\n \"update:columnResizingMode\": null,\n \"update:columns\": null,\n \"update:columnWidth\": null,\n \"update:customizeColumns\": null,\n \"update:dataRowTemplate\": null,\n \"update:dataSource\": null,\n \"update:dateSerializationFormat\": null,\n \"update:disabled\": null,\n \"update:editing\": null,\n \"update:elementAttr\": null,\n \"update:errorRowEnabled\": null,\n \"update:export\": null,\n \"update:filterBuilder\": null,\n \"update:filterBuilderPopup\": null,\n \"update:filterPanel\": null,\n \"update:filterRow\": null,\n \"update:filterSyncEnabled\": null,\n \"update:filterValue\": null,\n \"update:focusedColumnIndex\": null,\n \"update:focusedRowEnabled\": null,\n \"update:focusedRowIndex\": null,\n \"update:focusedRowKey\": null,\n \"update:grouping\": null,\n \"update:groupPanel\": null,\n \"update:headerFilter\": null,\n \"update:height\": null,\n \"update:highlightChanges\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:keyboardNavigation\": null,\n \"update:keyExpr\": null,\n \"update:loadPanel\": null,\n \"update:masterDetail\": null,\n \"update:noDataText\": null,\n \"update:onAdaptiveDetailRowPreparing\": null,\n \"update:onCellClick\": null,\n \"update:onCellDblClick\": null,\n \"update:onCellHoverChanged\": null,\n \"update:onCellPrepared\": null,\n \"update:onContentReady\": null,\n \"update:onContextMenuPreparing\": null,\n \"update:onDataErrorOccurred\": null,\n \"update:onDisposing\": null,\n \"update:onEditCanceled\": null,\n \"update:onEditCanceling\": null,\n \"update:onEditingStart\": null,\n \"update:onEditorPrepared\": null,\n \"update:onEditorPreparing\": null,\n \"update:onExporting\": null,\n \"update:onFocusedCellChanged\": null,\n \"update:onFocusedCellChanging\": null,\n \"update:onFocusedRowChanged\": null,\n \"update:onFocusedRowChanging\": null,\n \"update:onInitialized\": null,\n \"update:onInitNewRow\": null,\n \"update:onKeyDown\": null,\n \"update:onOptionChanged\": null,\n \"update:onRowClick\": null,\n \"update:onRowCollapsed\": null,\n \"update:onRowCollapsing\": null,\n \"update:onRowDblClick\": null,\n \"update:onRowExpanded\": null,\n \"update:onRowExpanding\": null,\n \"update:onRowInserted\": null,\n \"update:onRowInserting\": null,\n \"update:onRowPrepared\": null,\n \"update:onRowRemoved\": null,\n \"update:onRowRemoving\": null,\n \"update:onRowUpdated\": null,\n \"update:onRowUpdating\": null,\n \"update:onRowValidating\": null,\n \"update:onSaved\": null,\n \"update:onSaving\": null,\n \"update:onSelectionChanged\": null,\n \"update:onToolbarPreparing\": null,\n \"update:pager\": null,\n \"update:paging\": null,\n \"update:remoteOperations\": null,\n \"update:renderAsync\": null,\n \"update:repaintChangesOnly\": null,\n \"update:rowAlternationEnabled\": null,\n \"update:rowDragging\": null,\n \"update:rowTemplate\": null,\n \"update:rtlEnabled\": null,\n \"update:scrolling\": null,\n \"update:searchPanel\": null,\n \"update:selectedRowKeys\": null,\n \"update:selection\": null,\n \"update:selectionFilter\": null,\n \"update:showBorders\": null,\n \"update:showColumnHeaders\": null,\n \"update:showColumnLines\": null,\n \"update:showRowLines\": null,\n \"update:sortByGroupSummaryInfo\": null,\n \"update:sorting\": null,\n \"update:stateStoring\": null,\n \"update:summary\": null,\n \"update:syncLookupFilterValues\": null,\n \"update:tabIndex\": null,\n \"update:toolbar\": null,\n \"update:twoWayBindingEnabled\": null,\n \"update:visible\": null,\n \"update:width\": null,\n \"update:wordWrapEnabled\": null,\n },\n computed: {\n instance: function () {\n return this.$_instance;\n }\n },\n beforeCreate: function () {\n this.$_WidgetClass = data_grid_1.default;\n this.$_hasAsyncTemplate = false;\n this.$_expectedChildren = {\n column: { isCollectionItem: true, optionName: \"columns\" },\n columnChooser: { isCollectionItem: false, optionName: \"columnChooser\" },\n columnFixing: { isCollectionItem: false, optionName: \"columnFixing\" },\n dataGridHeaderFilter: { isCollectionItem: false, optionName: \"headerFilter\" },\n dataGridSelection: { isCollectionItem: false, optionName: \"selection\" },\n editing: { isCollectionItem: false, optionName: \"editing\" },\n export: { isCollectionItem: false, optionName: \"export\" },\n filterBuilder: { isCollectionItem: false, optionName: \"filterBuilder\" },\n filterBuilderPopup: { isCollectionItem: false, optionName: \"filterBuilderPopup\" },\n filterPanel: { isCollectionItem: false, optionName: \"filterPanel\" },\n filterRow: { isCollectionItem: false, optionName: \"filterRow\" },\n grouping: { isCollectionItem: false, optionName: \"grouping\" },\n groupPanel: { isCollectionItem: false, optionName: \"groupPanel\" },\n headerFilter: { isCollectionItem: false, optionName: \"headerFilter\" },\n keyboardNavigation: { isCollectionItem: false, optionName: \"keyboardNavigation\" },\n loadPanel: { isCollectionItem: false, optionName: \"loadPanel\" },\n masterDetail: { isCollectionItem: false, optionName: \"masterDetail\" },\n pager: { isCollectionItem: false, optionName: \"pager\" },\n paging: { isCollectionItem: false, optionName: \"paging\" },\n remoteOperations: { isCollectionItem: false, optionName: \"remoteOperations\" },\n rowDragging: { isCollectionItem: false, optionName: \"rowDragging\" },\n scrolling: { isCollectionItem: false, optionName: \"scrolling\" },\n searchPanel: { isCollectionItem: false, optionName: \"searchPanel\" },\n selection: { isCollectionItem: false, optionName: \"selection\" },\n sortByGroupSummaryInfo: { isCollectionItem: true, optionName: \"sortByGroupSummaryInfo\" },\n sorting: { isCollectionItem: false, optionName: \"sorting\" },\n stateStoring: { isCollectionItem: false, optionName: \"stateStoring\" },\n summary: { isCollectionItem: false, optionName: \"summary\" },\n toolbar: { isCollectionItem: false, optionName: \"toolbar\" }\n };\n }\n});\nexports.DxDataGrid = DxDataGrid;\nvar DxAnimation = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:hide\": null,\n \"update:show\": null,\n },\n props: {\n hide: [Object, Number, String],\n show: [Object, Number, String]\n }\n});\nexports.DxAnimation = DxAnimation;\nDxAnimation.$_optionName = \"animation\";\nDxAnimation.$_expectedChildren = {\n hide: { isCollectionItem: false, optionName: \"hide\" },\n show: { isCollectionItem: false, optionName: \"show\" }\n};\nvar DxAsyncRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:reevaluate\": null,\n \"update:type\": null,\n \"update:validationCallback\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n message: String,\n reevaluate: Boolean,\n type: String,\n validationCallback: Function\n }\n});\nexports.DxAsyncRule = DxAsyncRule;\nDxAsyncRule.$_optionName = \"validationRules\";\nDxAsyncRule.$_isCollectionItem = true;\nDxAsyncRule.$_predefinedProps = {\n type: \"async\"\n};\nvar DxAt = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: String,\n y: String\n }\n});\nexports.DxAt = DxAt;\nDxAt.$_optionName = \"at\";\nvar DxBoundaryOffset = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: Number,\n y: Number\n }\n});\nexports.DxBoundaryOffset = DxBoundaryOffset;\nDxBoundaryOffset.$_optionName = \"boundaryOffset\";\nvar DxButton = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:cssClass\": null,\n \"update:disabled\": null,\n \"update:hint\": null,\n \"update:icon\": null,\n \"update:name\": null,\n \"update:onClick\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:visible\": null,\n },\n props: {\n cssClass: String,\n disabled: [Boolean, Function],\n hint: String,\n icon: String,\n name: String,\n onClick: Function,\n template: {},\n text: String,\n visible: [Boolean, Function]\n }\n});\nexports.DxButton = DxButton;\nDxButton.$_optionName = \"buttons\";\nDxButton.$_isCollectionItem = true;\nvar DxChange = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:data\": null,\n \"update:insertAfterKey\": null,\n \"update:insertBeforeKey\": null,\n \"update:type\": null,\n },\n props: {\n data: {},\n insertAfterKey: {},\n insertBeforeKey: {},\n type: String\n }\n});\nexports.DxChange = DxChange;\nDxChange.$_optionName = \"changes\";\nDxChange.$_isCollectionItem = true;\nvar DxColCountByScreen = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:lg\": null,\n \"update:md\": null,\n \"update:sm\": null,\n \"update:xs\": null,\n },\n props: {\n lg: Number,\n md: Number,\n sm: Number,\n xs: Number\n }\n});\nexports.DxColCountByScreen = DxColCountByScreen;\nDxColCountByScreen.$_optionName = \"colCountByScreen\";\nvar DxCollision = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: String,\n y: String\n }\n});\nexports.DxCollision = DxCollision;\nDxCollision.$_optionName = \"collision\";\nvar DxColumn = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:allowEditing\": null,\n \"update:allowExporting\": null,\n \"update:allowFiltering\": null,\n \"update:allowFixing\": null,\n \"update:allowGrouping\": null,\n \"update:allowHeaderFiltering\": null,\n \"update:allowHiding\": null,\n \"update:allowReordering\": null,\n \"update:allowResizing\": null,\n \"update:allowSearch\": null,\n \"update:allowSorting\": null,\n \"update:autoExpandGroup\": null,\n \"update:buttons\": null,\n \"update:calculateCellValue\": null,\n \"update:calculateDisplayValue\": null,\n \"update:calculateFilterExpression\": null,\n \"update:calculateGroupValue\": null,\n \"update:calculateSortValue\": null,\n \"update:caption\": null,\n \"update:cellTemplate\": null,\n \"update:columns\": null,\n \"update:cssClass\": null,\n \"update:customizeText\": null,\n \"update:dataField\": null,\n \"update:dataType\": null,\n \"update:editCellTemplate\": null,\n \"update:editorOptions\": null,\n \"update:encodeHtml\": null,\n \"update:falseText\": null,\n \"update:filterOperations\": null,\n \"update:filterType\": null,\n \"update:filterValue\": null,\n \"update:filterValues\": null,\n \"update:fixed\": null,\n \"update:fixedPosition\": null,\n \"update:format\": null,\n \"update:formItem\": null,\n \"update:groupCellTemplate\": null,\n \"update:groupIndex\": null,\n \"update:headerCellTemplate\": null,\n \"update:headerFilter\": null,\n \"update:hidingPriority\": null,\n \"update:isBand\": null,\n \"update:lookup\": null,\n \"update:minWidth\": null,\n \"update:name\": null,\n \"update:ownerBand\": null,\n \"update:renderAsync\": null,\n \"update:selectedFilterOperation\": null,\n \"update:setCellValue\": null,\n \"update:showEditorAlways\": null,\n \"update:showInColumnChooser\": null,\n \"update:showWhenGrouped\": null,\n \"update:sortIndex\": null,\n \"update:sortingMethod\": null,\n \"update:sortOrder\": null,\n \"update:trueText\": null,\n \"update:type\": null,\n \"update:validationRules\": null,\n \"update:visible\": null,\n \"update:visibleIndex\": null,\n \"update:width\": null,\n },\n props: {\n alignment: String,\n allowEditing: Boolean,\n allowExporting: Boolean,\n allowFiltering: Boolean,\n allowFixing: Boolean,\n allowGrouping: Boolean,\n allowHeaderFiltering: Boolean,\n allowHiding: Boolean,\n allowReordering: Boolean,\n allowResizing: Boolean,\n allowSearch: Boolean,\n allowSorting: Boolean,\n autoExpandGroup: Boolean,\n buttons: Array,\n calculateCellValue: Function,\n calculateDisplayValue: [Function, String],\n calculateFilterExpression: Function,\n calculateGroupValue: [Function, String],\n calculateSortValue: [Function, String],\n caption: String,\n cellTemplate: {},\n columns: Array,\n cssClass: String,\n customizeText: Function,\n dataField: String,\n dataType: String,\n editCellTemplate: {},\n editorOptions: {},\n encodeHtml: Boolean,\n falseText: String,\n filterOperations: Array,\n filterType: String,\n filterValue: {},\n filterValues: Array,\n fixed: Boolean,\n fixedPosition: String,\n format: [Object, Function, String],\n formItem: Object,\n groupCellTemplate: {},\n groupIndex: Number,\n headerCellTemplate: {},\n headerFilter: Object,\n hidingPriority: Number,\n isBand: Boolean,\n lookup: Object,\n minWidth: Number,\n name: String,\n ownerBand: Number,\n renderAsync: Boolean,\n selectedFilterOperation: String,\n setCellValue: Function,\n showEditorAlways: Boolean,\n showInColumnChooser: Boolean,\n showWhenGrouped: Boolean,\n sortIndex: Number,\n sortingMethod: Function,\n sortOrder: String,\n trueText: String,\n type: String,\n validationRules: Array,\n visible: Boolean,\n visibleIndex: Number,\n width: [Number, String]\n }\n});\nexports.DxColumn = DxColumn;\nDxColumn.$_optionName = \"columns\";\nDxColumn.$_isCollectionItem = true;\nDxColumn.$_expectedChildren = {\n AsyncRule: { isCollectionItem: true, optionName: \"validationRules\" },\n button: { isCollectionItem: true, optionName: \"buttons\" },\n columnHeaderFilter: { isCollectionItem: false, optionName: \"headerFilter\" },\n columnLookup: { isCollectionItem: false, optionName: \"lookup\" },\n CompareRule: { isCollectionItem: true, optionName: \"validationRules\" },\n CustomRule: { isCollectionItem: true, optionName: \"validationRules\" },\n EmailRule: { isCollectionItem: true, optionName: \"validationRules\" },\n format: { isCollectionItem: false, optionName: \"format\" },\n formItem: { isCollectionItem: false, optionName: \"formItem\" },\n headerFilter: { isCollectionItem: false, optionName: \"headerFilter\" },\n lookup: { isCollectionItem: false, optionName: \"lookup\" },\n NumericRule: { isCollectionItem: true, optionName: \"validationRules\" },\n PatternRule: { isCollectionItem: true, optionName: \"validationRules\" },\n RangeRule: { isCollectionItem: true, optionName: \"validationRules\" },\n RequiredRule: { isCollectionItem: true, optionName: \"validationRules\" },\n StringLengthRule: { isCollectionItem: true, optionName: \"validationRules\" },\n validationRule: { isCollectionItem: true, optionName: \"validationRules\" }\n};\nvar DxColumnChooser = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowSearch\": null,\n \"update:emptyPanelText\": null,\n \"update:enabled\": null,\n \"update:height\": null,\n \"update:mode\": null,\n \"update:position\": null,\n \"update:search\": null,\n \"update:searchTimeout\": null,\n \"update:selection\": null,\n \"update:sortOrder\": null,\n \"update:title\": null,\n \"update:width\": null,\n },\n props: {\n allowSearch: Boolean,\n emptyPanelText: String,\n enabled: Boolean,\n height: [Number, String],\n mode: String,\n position: Object,\n search: Object,\n searchTimeout: Number,\n selection: Object,\n sortOrder: String,\n title: String,\n width: [Number, String]\n }\n});\nexports.DxColumnChooser = DxColumnChooser;\nDxColumnChooser.$_optionName = \"columnChooser\";\nDxColumnChooser.$_expectedChildren = {\n columnChooserSearch: { isCollectionItem: false, optionName: \"search\" },\n columnChooserSelection: { isCollectionItem: false, optionName: \"selection\" },\n position: { isCollectionItem: false, optionName: \"position\" },\n search: { isCollectionItem: false, optionName: \"search\" },\n selection: { isCollectionItem: false, optionName: \"selection\" }\n};\nvar DxColumnChooserSearch = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:editorOptions\": null,\n \"update:enabled\": null,\n \"update:timeout\": null,\n },\n props: {\n editorOptions: {},\n enabled: Boolean,\n timeout: Number\n }\n});\nexports.DxColumnChooserSearch = DxColumnChooserSearch;\nDxColumnChooserSearch.$_optionName = \"search\";\nvar DxColumnChooserSelection = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowSelectAll\": null,\n \"update:recursive\": null,\n \"update:selectByClick\": null,\n },\n props: {\n allowSelectAll: Boolean,\n recursive: Boolean,\n selectByClick: Boolean\n }\n});\nexports.DxColumnChooserSelection = DxColumnChooserSelection;\nDxColumnChooserSelection.$_optionName = \"selection\";\nvar DxColumnFixing = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:enabled\": null,\n \"update:texts\": null,\n },\n props: {\n enabled: Boolean,\n texts: Object\n }\n});\nexports.DxColumnFixing = DxColumnFixing;\nDxColumnFixing.$_optionName = \"columnFixing\";\nDxColumnFixing.$_expectedChildren = {\n columnFixingTexts: { isCollectionItem: false, optionName: \"texts\" },\n texts: { isCollectionItem: false, optionName: \"texts\" }\n};\nvar DxColumnFixingTexts = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:fix\": null,\n \"update:leftPosition\": null,\n \"update:rightPosition\": null,\n \"update:unfix\": null,\n },\n props: {\n fix: String,\n leftPosition: String,\n rightPosition: String,\n unfix: String\n }\n});\nexports.DxColumnFixingTexts = DxColumnFixingTexts;\nDxColumnFixingTexts.$_optionName = \"texts\";\nvar DxColumnHeaderFilter = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowSearch\": null,\n \"update:allowSelectAll\": null,\n \"update:dataSource\": null,\n \"update:groupInterval\": null,\n \"update:height\": null,\n \"update:search\": null,\n \"update:searchMode\": null,\n \"update:width\": null,\n },\n props: {\n allowSearch: Boolean,\n allowSelectAll: Boolean,\n dataSource: {},\n groupInterval: [Number, String],\n height: [Number, String],\n search: Object,\n searchMode: String,\n width: [Number, String]\n }\n});\nexports.DxColumnHeaderFilter = DxColumnHeaderFilter;\nDxColumnHeaderFilter.$_optionName = \"headerFilter\";\nDxColumnHeaderFilter.$_expectedChildren = {\n columnHeaderFilterSearch: { isCollectionItem: false, optionName: \"search\" },\n search: { isCollectionItem: false, optionName: \"search\" }\n};\nvar DxColumnHeaderFilterSearch = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:editorOptions\": null,\n \"update:enabled\": null,\n \"update:mode\": null,\n \"update:searchExpr\": null,\n \"update:timeout\": null,\n },\n props: {\n editorOptions: {},\n enabled: Boolean,\n mode: String,\n searchExpr: [Array, Function, String],\n timeout: Number\n }\n});\nexports.DxColumnHeaderFilterSearch = DxColumnHeaderFilterSearch;\nDxColumnHeaderFilterSearch.$_optionName = \"search\";\nvar DxColumnLookup = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowClearing\": null,\n \"update:calculateCellValue\": null,\n \"update:dataSource\": null,\n \"update:displayExpr\": null,\n \"update:valueExpr\": null,\n },\n props: {\n allowClearing: Boolean,\n calculateCellValue: Function,\n dataSource: {},\n displayExpr: [Function, String],\n valueExpr: String\n }\n});\nexports.DxColumnLookup = DxColumnLookup;\nDxColumnLookup.$_optionName = \"lookup\";\nvar DxCompareRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:comparisonTarget\": null,\n \"update:comparisonType\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:type\": null,\n },\n props: {\n comparisonTarget: Function,\n comparisonType: String,\n ignoreEmptyValue: Boolean,\n message: String,\n type: String\n }\n});\nexports.DxCompareRule = DxCompareRule;\nDxCompareRule.$_optionName = \"validationRules\";\nDxCompareRule.$_isCollectionItem = true;\nDxCompareRule.$_predefinedProps = {\n type: \"compare\"\n};\nvar DxCursorOffset = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: Number,\n y: Number\n }\n});\nexports.DxCursorOffset = DxCursorOffset;\nDxCursorOffset.$_optionName = \"cursorOffset\";\nvar DxCustomOperation = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:calculateFilterExpression\": null,\n \"update:caption\": null,\n \"update:customizeText\": null,\n \"update:dataTypes\": null,\n \"update:editorTemplate\": null,\n \"update:hasValue\": null,\n \"update:icon\": null,\n \"update:name\": null,\n },\n props: {\n calculateFilterExpression: Function,\n caption: String,\n customizeText: Function,\n dataTypes: Array,\n editorTemplate: {},\n hasValue: Boolean,\n icon: String,\n name: String\n }\n});\nexports.DxCustomOperation = DxCustomOperation;\nDxCustomOperation.$_optionName = \"customOperations\";\nDxCustomOperation.$_isCollectionItem = true;\nvar DxCustomRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:reevaluate\": null,\n \"update:type\": null,\n \"update:validationCallback\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n message: String,\n reevaluate: Boolean,\n type: String,\n validationCallback: Function\n }\n});\nexports.DxCustomRule = DxCustomRule;\nDxCustomRule.$_optionName = \"validationRules\";\nDxCustomRule.$_isCollectionItem = true;\nDxCustomRule.$_predefinedProps = {\n type: \"custom\"\n};\nvar DxDataGridHeaderFilter = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowSearch\": null,\n \"update:allowSelectAll\": null,\n \"update:height\": null,\n \"update:search\": null,\n \"update:searchTimeout\": null,\n \"update:texts\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n allowSearch: Boolean,\n allowSelectAll: Boolean,\n height: [Number, String],\n search: Object,\n searchTimeout: Number,\n texts: Object,\n visible: Boolean,\n width: [Number, String]\n }\n});\nexports.DxDataGridHeaderFilter = DxDataGridHeaderFilter;\nDxDataGridHeaderFilter.$_optionName = \"headerFilter\";\nDxDataGridHeaderFilter.$_expectedChildren = {\n dataGridHeaderFilterSearch: { isCollectionItem: false, optionName: \"search\" },\n dataGridHeaderFilterTexts: { isCollectionItem: false, optionName: \"texts\" },\n search: { isCollectionItem: false, optionName: \"search\" },\n texts: { isCollectionItem: false, optionName: \"texts\" }\n};\nvar DxDataGridHeaderFilterSearch = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:editorOptions\": null,\n \"update:enabled\": null,\n \"update:mode\": null,\n \"update:timeout\": null,\n },\n props: {\n editorOptions: {},\n enabled: Boolean,\n mode: String,\n timeout: Number\n }\n});\nexports.DxDataGridHeaderFilterSearch = DxDataGridHeaderFilterSearch;\nDxDataGridHeaderFilterSearch.$_optionName = \"search\";\nvar DxDataGridHeaderFilterTexts = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:cancel\": null,\n \"update:emptyValue\": null,\n \"update:ok\": null,\n },\n props: {\n cancel: String,\n emptyValue: String,\n ok: String\n }\n});\nexports.DxDataGridHeaderFilterTexts = DxDataGridHeaderFilterTexts;\nDxDataGridHeaderFilterTexts.$_optionName = \"texts\";\nvar DxDataGridSelection = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowSelectAll\": null,\n \"update:deferred\": null,\n \"update:mode\": null,\n \"update:selectAllMode\": null,\n \"update:showCheckBoxesMode\": null,\n },\n props: {\n allowSelectAll: Boolean,\n deferred: Boolean,\n mode: String,\n selectAllMode: String,\n showCheckBoxesMode: String\n }\n});\nexports.DxDataGridSelection = DxDataGridSelection;\nDxDataGridSelection.$_optionName = \"selection\";\nvar DxEditing = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowAdding\": null,\n \"update:allowDeleting\": null,\n \"update:allowUpdating\": null,\n \"update:changes\": null,\n \"update:confirmDelete\": null,\n \"update:editColumnName\": null,\n \"update:editRowKey\": null,\n \"update:form\": null,\n \"update:mode\": null,\n \"update:newRowPosition\": null,\n \"update:popup\": null,\n \"update:refreshMode\": null,\n \"update:selectTextOnEditStart\": null,\n \"update:startEditAction\": null,\n \"update:texts\": null,\n \"update:useIcons\": null,\n },\n props: {\n allowAdding: Boolean,\n allowDeleting: [Boolean, Function],\n allowUpdating: [Boolean, Function],\n changes: Array,\n confirmDelete: Boolean,\n editColumnName: String,\n editRowKey: {},\n form: Object,\n mode: String,\n newRowPosition: String,\n popup: Object,\n refreshMode: String,\n selectTextOnEditStart: Boolean,\n startEditAction: String,\n texts: {},\n useIcons: Boolean\n }\n});\nexports.DxEditing = DxEditing;\nDxEditing.$_optionName = \"editing\";\nDxEditing.$_expectedChildren = {\n change: { isCollectionItem: true, optionName: \"changes\" },\n editingTexts: { isCollectionItem: false, optionName: \"texts\" },\n form: { isCollectionItem: false, optionName: \"form\" },\n popup: { isCollectionItem: false, optionName: \"popup\" },\n texts: { isCollectionItem: false, optionName: \"texts\" }\n};\nvar DxEditingTexts = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:addRow\": null,\n \"update:cancelAllChanges\": null,\n \"update:cancelRowChanges\": null,\n \"update:confirmDeleteMessage\": null,\n \"update:confirmDeleteTitle\": null,\n \"update:deleteRow\": null,\n \"update:editRow\": null,\n \"update:saveAllChanges\": null,\n \"update:saveRowChanges\": null,\n \"update:undeleteRow\": null,\n \"update:validationCancelChanges\": null,\n },\n props: {\n addRow: String,\n cancelAllChanges: String,\n cancelRowChanges: String,\n confirmDeleteMessage: String,\n confirmDeleteTitle: String,\n deleteRow: String,\n editRow: String,\n saveAllChanges: String,\n saveRowChanges: String,\n undeleteRow: String,\n validationCancelChanges: String\n }\n});\nexports.DxEditingTexts = DxEditingTexts;\nDxEditingTexts.$_optionName = \"texts\";\nvar DxEmailRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:type\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n message: String,\n type: String\n }\n});\nexports.DxEmailRule = DxEmailRule;\nDxEmailRule.$_optionName = \"validationRules\";\nDxEmailRule.$_isCollectionItem = true;\nDxEmailRule.$_predefinedProps = {\n type: \"email\"\n};\nvar DxExport = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowExportSelectedData\": null,\n \"update:enabled\": null,\n \"update:formats\": null,\n \"update:texts\": null,\n },\n props: {\n allowExportSelectedData: Boolean,\n enabled: Boolean,\n formats: Array,\n texts: Object\n }\n});\nexports.DxExport = DxExport;\nDxExport.$_optionName = \"export\";\nDxExport.$_expectedChildren = {\n exportTexts: { isCollectionItem: false, optionName: \"texts\" },\n texts: { isCollectionItem: false, optionName: \"texts\" }\n};\nvar DxExportTexts = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:exportAll\": null,\n \"update:exportSelectedRows\": null,\n \"update:exportTo\": null,\n },\n props: {\n exportAll: String,\n exportSelectedRows: String,\n exportTo: String\n }\n});\nexports.DxExportTexts = DxExportTexts;\nDxExportTexts.$_optionName = \"texts\";\nvar DxField = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:calculateFilterExpression\": null,\n \"update:caption\": null,\n \"update:customizeText\": null,\n \"update:dataField\": null,\n \"update:dataType\": null,\n \"update:editorOptions\": null,\n \"update:editorTemplate\": null,\n \"update:falseText\": null,\n \"update:filterOperations\": null,\n \"update:format\": null,\n \"update:lookup\": null,\n \"update:name\": null,\n \"update:trueText\": null,\n },\n props: {\n calculateFilterExpression: Function,\n caption: String,\n customizeText: Function,\n dataField: String,\n dataType: String,\n editorOptions: {},\n editorTemplate: {},\n falseText: String,\n filterOperations: Array,\n format: [Object, Function, String],\n lookup: Object,\n name: String,\n trueText: String\n }\n});\nexports.DxField = DxField;\nDxField.$_optionName = \"fields\";\nDxField.$_isCollectionItem = true;\nDxField.$_expectedChildren = {\n fieldLookup: { isCollectionItem: false, optionName: \"lookup\" },\n format: { isCollectionItem: false, optionName: \"format\" },\n lookup: { isCollectionItem: false, optionName: \"lookup\" }\n};\nvar DxFieldLookup = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowClearing\": null,\n \"update:dataSource\": null,\n \"update:displayExpr\": null,\n \"update:valueExpr\": null,\n },\n props: {\n allowClearing: Boolean,\n dataSource: [Array, Object],\n displayExpr: [Function, String],\n valueExpr: [Function, String]\n }\n});\nexports.DxFieldLookup = DxFieldLookup;\nDxFieldLookup.$_optionName = \"lookup\";\nvar DxFilterBuilder = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:activeStateEnabled\": null,\n \"update:allowHierarchicalFields\": null,\n \"update:bindingOptions\": null,\n \"update:customOperations\": null,\n \"update:disabled\": null,\n \"update:elementAttr\": null,\n \"update:fields\": null,\n \"update:filterOperationDescriptions\": null,\n \"update:focusStateEnabled\": null,\n \"update:groupOperationDescriptions\": null,\n \"update:groupOperations\": null,\n \"update:height\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:maxGroupLevel\": null,\n \"update:onContentReady\": null,\n \"update:onDisposing\": null,\n \"update:onEditorPrepared\": null,\n \"update:onEditorPreparing\": null,\n \"update:onInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:onValueChanged\": null,\n \"update:rtlEnabled\": null,\n \"update:tabIndex\": null,\n \"update:value\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n accessKey: String,\n activeStateEnabled: Boolean,\n allowHierarchicalFields: Boolean,\n bindingOptions: Object,\n customOperations: Array,\n disabled: Boolean,\n elementAttr: Object,\n fields: Array,\n filterOperationDescriptions: Object,\n focusStateEnabled: Boolean,\n groupOperationDescriptions: Object,\n groupOperations: Array,\n height: [Function, Number, String],\n hint: String,\n hoverStateEnabled: Boolean,\n maxGroupLevel: Number,\n onContentReady: Function,\n onDisposing: Function,\n onEditorPrepared: Function,\n onEditorPreparing: Function,\n onInitialized: Function,\n onOptionChanged: Function,\n onValueChanged: Function,\n rtlEnabled: Boolean,\n tabIndex: Number,\n value: [Array, Function, String],\n visible: Boolean,\n width: [Function, Number, String]\n }\n});\nexports.DxFilterBuilder = DxFilterBuilder;\nDxFilterBuilder.$_optionName = \"filterBuilder\";\nDxFilterBuilder.$_expectedChildren = {\n customOperation: { isCollectionItem: true, optionName: \"customOperations\" },\n field: { isCollectionItem: true, optionName: \"fields\" },\n filterOperationDescriptions: { isCollectionItem: false, optionName: \"filterOperationDescriptions\" },\n groupOperationDescriptions: { isCollectionItem: false, optionName: \"groupOperationDescriptions\" }\n};\nvar DxFilterBuilderPopup = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:animation\": null,\n \"update:bindingOptions\": null,\n \"update:closeOnOutsideClick\": null,\n \"update:container\": null,\n \"update:contentTemplate\": null,\n \"update:copyRootClassesToWrapper\": null,\n \"update:deferRendering\": null,\n \"update:disabled\": null,\n \"update:dragAndResizeArea\": null,\n \"update:dragEnabled\": null,\n \"update:dragOutsideBoundary\": null,\n \"update:elementAttr\": null,\n \"update:enableBodyScroll\": null,\n \"update:focusStateEnabled\": null,\n \"update:fullScreen\": null,\n \"update:height\": null,\n \"update:hideOnOutsideClick\": null,\n \"update:hideOnParentScroll\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:maxHeight\": null,\n \"update:maxWidth\": null,\n \"update:minHeight\": null,\n \"update:minWidth\": null,\n \"update:onContentReady\": null,\n \"update:onDisposing\": null,\n \"update:onHidden\": null,\n \"update:onHiding\": null,\n \"update:onInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:onResize\": null,\n \"update:onResizeEnd\": null,\n \"update:onResizeStart\": null,\n \"update:onShowing\": null,\n \"update:onShown\": null,\n \"update:onTitleRendered\": null,\n \"update:position\": null,\n \"update:resizeEnabled\": null,\n \"update:restorePosition\": null,\n \"update:rtlEnabled\": null,\n \"update:shading\": null,\n \"update:shadingColor\": null,\n \"update:showCloseButton\": null,\n \"update:showTitle\": null,\n \"update:tabIndex\": null,\n \"update:title\": null,\n \"update:titleTemplate\": null,\n \"update:toolbarItems\": null,\n \"update:visible\": null,\n \"update:width\": null,\n \"update:wrapperAttr\": null,\n },\n props: {\n accessKey: String,\n animation: Object,\n bindingOptions: Object,\n closeOnOutsideClick: [Boolean, Function],\n container: {},\n contentTemplate: {},\n copyRootClassesToWrapper: Boolean,\n deferRendering: Boolean,\n disabled: Boolean,\n dragAndResizeArea: {},\n dragEnabled: Boolean,\n dragOutsideBoundary: Boolean,\n elementAttr: {},\n enableBodyScroll: Boolean,\n focusStateEnabled: Boolean,\n fullScreen: Boolean,\n height: [Function, Number, String],\n hideOnOutsideClick: [Boolean, Function],\n hideOnParentScroll: Boolean,\n hint: String,\n hoverStateEnabled: Boolean,\n maxHeight: [Function, Number, String],\n maxWidth: [Function, Number, String],\n minHeight: [Function, Number, String],\n minWidth: [Function, Number, String],\n onContentReady: Function,\n onDisposing: Function,\n onHidden: Function,\n onHiding: Function,\n onInitialized: Function,\n onOptionChanged: Function,\n onResize: Function,\n onResizeEnd: Function,\n onResizeStart: Function,\n onShowing: Function,\n onShown: Function,\n onTitleRendered: Function,\n position: [Function, Object, String],\n resizeEnabled: Boolean,\n restorePosition: Boolean,\n rtlEnabled: Boolean,\n shading: Boolean,\n shadingColor: String,\n showCloseButton: Boolean,\n showTitle: Boolean,\n tabIndex: Number,\n title: String,\n titleTemplate: {},\n toolbarItems: Array,\n visible: Boolean,\n width: [Function, Number, String],\n wrapperAttr: {}\n }\n});\nexports.DxFilterBuilderPopup = DxFilterBuilderPopup;\nDxFilterBuilderPopup.$_optionName = \"filterBuilderPopup\";\nvar DxFilterOperationDescriptions = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:between\": null,\n \"update:contains\": null,\n \"update:endsWith\": null,\n \"update:equal\": null,\n \"update:greaterThan\": null,\n \"update:greaterThanOrEqual\": null,\n \"update:isBlank\": null,\n \"update:isNotBlank\": null,\n \"update:lessThan\": null,\n \"update:lessThanOrEqual\": null,\n \"update:notContains\": null,\n \"update:notEqual\": null,\n \"update:startsWith\": null,\n },\n props: {\n between: String,\n contains: String,\n endsWith: String,\n equal: String,\n greaterThan: String,\n greaterThanOrEqual: String,\n isBlank: String,\n isNotBlank: String,\n lessThan: String,\n lessThanOrEqual: String,\n notContains: String,\n notEqual: String,\n startsWith: String\n }\n});\nexports.DxFilterOperationDescriptions = DxFilterOperationDescriptions;\nDxFilterOperationDescriptions.$_optionName = \"filterOperationDescriptions\";\nvar DxFilterPanel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:customizeText\": null,\n \"update:filterEnabled\": null,\n \"update:texts\": null,\n \"update:visible\": null,\n },\n props: {\n customizeText: Function,\n filterEnabled: Boolean,\n texts: Object,\n visible: Boolean\n }\n});\nexports.DxFilterPanel = DxFilterPanel;\nDxFilterPanel.$_optionName = \"filterPanel\";\nDxFilterPanel.$_expectedChildren = {\n filterPanelTexts: { isCollectionItem: false, optionName: \"texts\" },\n texts: { isCollectionItem: false, optionName: \"texts\" }\n};\nvar DxFilterPanelTexts = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:clearFilter\": null,\n \"update:createFilter\": null,\n \"update:filterEnabledHint\": null,\n },\n props: {\n clearFilter: String,\n createFilter: String,\n filterEnabledHint: String\n }\n});\nexports.DxFilterPanelTexts = DxFilterPanelTexts;\nDxFilterPanelTexts.$_optionName = \"texts\";\nvar DxFilterRow = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:applyFilter\": null,\n \"update:applyFilterText\": null,\n \"update:betweenEndText\": null,\n \"update:betweenStartText\": null,\n \"update:operationDescriptions\": null,\n \"update:resetOperationText\": null,\n \"update:showAllText\": null,\n \"update:showOperationChooser\": null,\n \"update:visible\": null,\n },\n props: {\n applyFilter: String,\n applyFilterText: String,\n betweenEndText: String,\n betweenStartText: String,\n operationDescriptions: Object,\n resetOperationText: String,\n showAllText: String,\n showOperationChooser: Boolean,\n visible: Boolean\n }\n});\nexports.DxFilterRow = DxFilterRow;\nDxFilterRow.$_optionName = \"filterRow\";\nDxFilterRow.$_expectedChildren = {\n operationDescriptions: { isCollectionItem: false, optionName: \"operationDescriptions\" }\n};\nvar DxForm = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:activeStateEnabled\": null,\n \"update:alignItemLabels\": null,\n \"update:alignItemLabelsInAllGroups\": null,\n \"update:bindingOptions\": null,\n \"update:colCount\": null,\n \"update:colCountByScreen\": null,\n \"update:customizeItem\": null,\n \"update:disabled\": null,\n \"update:elementAttr\": null,\n \"update:focusStateEnabled\": null,\n \"update:formData\": null,\n \"update:height\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:items\": null,\n \"update:labelLocation\": null,\n \"update:labelMode\": null,\n \"update:minColWidth\": null,\n \"update:onContentReady\": null,\n \"update:onDisposing\": null,\n \"update:onEditorEnterKey\": null,\n \"update:onFieldDataChanged\": null,\n \"update:onInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:optionalMark\": null,\n \"update:readOnly\": null,\n \"update:requiredMark\": null,\n \"update:requiredMessage\": null,\n \"update:rtlEnabled\": null,\n \"update:screenByWidth\": null,\n \"update:scrollingEnabled\": null,\n \"update:showColonAfterLabel\": null,\n \"update:showOptionalMark\": null,\n \"update:showRequiredMark\": null,\n \"update:showValidationSummary\": null,\n \"update:tabIndex\": null,\n \"update:validationGroup\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n accessKey: String,\n activeStateEnabled: Boolean,\n alignItemLabels: Boolean,\n alignItemLabelsInAllGroups: Boolean,\n bindingOptions: Object,\n colCount: [Number, String],\n colCountByScreen: Object,\n customizeItem: Function,\n disabled: Boolean,\n elementAttr: Object,\n focusStateEnabled: Boolean,\n formData: {},\n height: [Function, Number, String],\n hint: String,\n hoverStateEnabled: Boolean,\n items: Array,\n labelLocation: String,\n labelMode: String,\n minColWidth: Number,\n onContentReady: Function,\n onDisposing: Function,\n onEditorEnterKey: Function,\n onFieldDataChanged: Function,\n onInitialized: Function,\n onOptionChanged: Function,\n optionalMark: String,\n readOnly: Boolean,\n requiredMark: String,\n requiredMessage: String,\n rtlEnabled: Boolean,\n screenByWidth: Function,\n scrollingEnabled: Boolean,\n showColonAfterLabel: Boolean,\n showOptionalMark: Boolean,\n showRequiredMark: Boolean,\n showValidationSummary: Boolean,\n tabIndex: Number,\n validationGroup: String,\n visible: Boolean,\n width: [Function, Number, String]\n }\n});\nexports.DxForm = DxForm;\nDxForm.$_optionName = \"form\";\nDxForm.$_expectedChildren = {\n colCountByScreen: { isCollectionItem: false, optionName: \"colCountByScreen\" }\n};\nvar DxFormat = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:currency\": null,\n \"update:formatter\": null,\n \"update:parser\": null,\n \"update:precision\": null,\n \"update:type\": null,\n \"update:useCurrencyAccountingStyle\": null,\n },\n props: {\n currency: String,\n formatter: Function,\n parser: Function,\n precision: Number,\n type: String,\n useCurrencyAccountingStyle: Boolean\n }\n});\nexports.DxFormat = DxFormat;\nDxFormat.$_optionName = \"format\";\nvar DxFormItem = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:colSpan\": null,\n \"update:cssClass\": null,\n \"update:dataField\": null,\n \"update:editorOptions\": null,\n \"update:editorType\": null,\n \"update:helpText\": null,\n \"update:isRequired\": null,\n \"update:itemType\": null,\n \"update:label\": null,\n \"update:name\": null,\n \"update:template\": null,\n \"update:validationRules\": null,\n \"update:visible\": null,\n \"update:visibleIndex\": null,\n },\n props: {\n colSpan: Number,\n cssClass: String,\n dataField: String,\n editorOptions: {},\n editorType: String,\n helpText: String,\n isRequired: Boolean,\n itemType: String,\n label: Object,\n name: String,\n template: {},\n validationRules: Array,\n visible: Boolean,\n visibleIndex: Number\n }\n});\nexports.DxFormItem = DxFormItem;\nDxFormItem.$_optionName = \"formItem\";\nDxFormItem.$_expectedChildren = {\n AsyncRule: { isCollectionItem: true, optionName: \"validationRules\" },\n CompareRule: { isCollectionItem: true, optionName: \"validationRules\" },\n CustomRule: { isCollectionItem: true, optionName: \"validationRules\" },\n EmailRule: { isCollectionItem: true, optionName: \"validationRules\" },\n label: { isCollectionItem: false, optionName: \"label\" },\n NumericRule: { isCollectionItem: true, optionName: \"validationRules\" },\n PatternRule: { isCollectionItem: true, optionName: \"validationRules\" },\n RangeRule: { isCollectionItem: true, optionName: \"validationRules\" },\n RequiredRule: { isCollectionItem: true, optionName: \"validationRules\" },\n StringLengthRule: { isCollectionItem: true, optionName: \"validationRules\" },\n validationRule: { isCollectionItem: true, optionName: \"validationRules\" }\n};\nvar DxFrom = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:left\": null,\n \"update:opacity\": null,\n \"update:position\": null,\n \"update:scale\": null,\n \"update:top\": null,\n },\n props: {\n left: Number,\n opacity: Number,\n position: Object,\n scale: Number,\n top: Number\n }\n});\nexports.DxFrom = DxFrom;\nDxFrom.$_optionName = \"from\";\nDxFrom.$_expectedChildren = {\n position: { isCollectionItem: false, optionName: \"position\" }\n};\nvar DxGrouping = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowCollapsing\": null,\n \"update:autoExpandAll\": null,\n \"update:contextMenuEnabled\": null,\n \"update:expandMode\": null,\n \"update:texts\": null,\n },\n props: {\n allowCollapsing: Boolean,\n autoExpandAll: Boolean,\n contextMenuEnabled: Boolean,\n expandMode: String,\n texts: Object\n }\n});\nexports.DxGrouping = DxGrouping;\nDxGrouping.$_optionName = \"grouping\";\nDxGrouping.$_expectedChildren = {\n groupingTexts: { isCollectionItem: false, optionName: \"texts\" },\n texts: { isCollectionItem: false, optionName: \"texts\" }\n};\nvar DxGroupingTexts = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:groupByThisColumn\": null,\n \"update:groupContinuedMessage\": null,\n \"update:groupContinuesMessage\": null,\n \"update:ungroup\": null,\n \"update:ungroupAll\": null,\n },\n props: {\n groupByThisColumn: String,\n groupContinuedMessage: String,\n groupContinuesMessage: String,\n ungroup: String,\n ungroupAll: String\n }\n});\nexports.DxGroupingTexts = DxGroupingTexts;\nDxGroupingTexts.$_optionName = \"texts\";\nvar DxGroupItem = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignByColumn\": null,\n \"update:column\": null,\n \"update:customizeText\": null,\n \"update:displayFormat\": null,\n \"update:name\": null,\n \"update:showInColumn\": null,\n \"update:showInGroupFooter\": null,\n \"update:skipEmptyValues\": null,\n \"update:summaryType\": null,\n \"update:valueFormat\": null,\n },\n props: {\n alignByColumn: Boolean,\n column: String,\n customizeText: Function,\n displayFormat: String,\n name: String,\n showInColumn: String,\n showInGroupFooter: Boolean,\n skipEmptyValues: Boolean,\n summaryType: String,\n valueFormat: [Object, Function, String]\n }\n});\nexports.DxGroupItem = DxGroupItem;\nDxGroupItem.$_optionName = \"groupItems\";\nDxGroupItem.$_isCollectionItem = true;\nDxGroupItem.$_expectedChildren = {\n valueFormat: { isCollectionItem: false, optionName: \"valueFormat\" }\n};\nvar DxGroupOperationDescriptions = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:and\": null,\n \"update:notAnd\": null,\n \"update:notOr\": null,\n \"update:or\": null,\n },\n props: {\n and: String,\n notAnd: String,\n notOr: String,\n or: String\n }\n});\nexports.DxGroupOperationDescriptions = DxGroupOperationDescriptions;\nDxGroupOperationDescriptions.$_optionName = \"groupOperationDescriptions\";\nvar DxGroupPanel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowColumnDragging\": null,\n \"update:emptyPanelText\": null,\n \"update:visible\": null,\n },\n props: {\n allowColumnDragging: Boolean,\n emptyPanelText: String,\n visible: [Boolean, String]\n }\n});\nexports.DxGroupPanel = DxGroupPanel;\nDxGroupPanel.$_optionName = \"groupPanel\";\nvar DxHeaderFilter = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowSearch\": null,\n \"update:allowSelectAll\": null,\n \"update:dataSource\": null,\n \"update:groupInterval\": null,\n \"update:height\": null,\n \"update:search\": null,\n \"update:searchMode\": null,\n \"update:searchTimeout\": null,\n \"update:texts\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n allowSearch: Boolean,\n allowSelectAll: Boolean,\n dataSource: {},\n groupInterval: [Number, String],\n height: [Number, String],\n search: Object,\n searchMode: String,\n searchTimeout: Number,\n texts: Object,\n visible: Boolean,\n width: [Number, String]\n }\n});\nexports.DxHeaderFilter = DxHeaderFilter;\nDxHeaderFilter.$_optionName = \"headerFilter\";\nvar DxHide = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:complete\": null,\n \"update:delay\": null,\n \"update:direction\": null,\n \"update:duration\": null,\n \"update:easing\": null,\n \"update:from\": null,\n \"update:staggerDelay\": null,\n \"update:start\": null,\n \"update:to\": null,\n \"update:type\": null,\n },\n props: {\n complete: Function,\n delay: Number,\n direction: String,\n duration: Number,\n easing: String,\n from: Object,\n staggerDelay: Number,\n start: Function,\n to: Object,\n type: String\n }\n});\nexports.DxHide = DxHide;\nDxHide.$_optionName = \"hide\";\nDxHide.$_expectedChildren = {\n from: { isCollectionItem: false, optionName: \"from\" },\n to: { isCollectionItem: false, optionName: \"to\" }\n};\nvar DxItem = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:cssClass\": null,\n \"update:disabled\": null,\n \"update:html\": null,\n \"update:locateInMenu\": null,\n \"update:location\": null,\n \"update:menuItemTemplate\": null,\n \"update:name\": null,\n \"update:options\": null,\n \"update:showText\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:visible\": null,\n \"update:widget\": null,\n },\n props: {\n cssClass: String,\n disabled: Boolean,\n html: String,\n locateInMenu: String,\n location: String,\n menuItemTemplate: {},\n name: String,\n options: {},\n showText: String,\n template: {},\n text: String,\n visible: Boolean,\n widget: String\n }\n});\nexports.DxItem = DxItem;\nDxItem.$_optionName = \"items\";\nDxItem.$_isCollectionItem = true;\nvar DxKeyboardNavigation = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:editOnKeyPress\": null,\n \"update:enabled\": null,\n \"update:enterKeyAction\": null,\n \"update:enterKeyDirection\": null,\n },\n props: {\n editOnKeyPress: Boolean,\n enabled: Boolean,\n enterKeyAction: String,\n enterKeyDirection: String\n }\n});\nexports.DxKeyboardNavigation = DxKeyboardNavigation;\nDxKeyboardNavigation.$_optionName = \"keyboardNavigation\";\nvar DxLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:location\": null,\n \"update:showColon\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:visible\": null,\n },\n props: {\n alignment: String,\n location: String,\n showColon: Boolean,\n template: {},\n text: String,\n visible: Boolean\n }\n});\nexports.DxLabel = DxLabel;\nDxLabel.$_optionName = \"label\";\nvar DxLoadPanel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:enabled\": null,\n \"update:height\": null,\n \"update:indicatorSrc\": null,\n \"update:shading\": null,\n \"update:shadingColor\": null,\n \"update:showIndicator\": null,\n \"update:showPane\": null,\n \"update:text\": null,\n \"update:width\": null,\n },\n props: {\n enabled: [Boolean, String],\n height: [Number, String],\n indicatorSrc: String,\n shading: Boolean,\n shadingColor: String,\n showIndicator: Boolean,\n showPane: Boolean,\n text: String,\n width: [Number, String]\n }\n});\nexports.DxLoadPanel = DxLoadPanel;\nDxLoadPanel.$_optionName = \"loadPanel\";\nvar DxLookup = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowClearing\": null,\n \"update:calculateCellValue\": null,\n \"update:dataSource\": null,\n \"update:displayExpr\": null,\n \"update:valueExpr\": null,\n },\n props: {\n allowClearing: Boolean,\n calculateCellValue: Function,\n dataSource: {},\n displayExpr: [Function, String],\n valueExpr: [String, Function]\n }\n});\nexports.DxLookup = DxLookup;\nDxLookup.$_optionName = \"lookup\";\nvar DxMasterDetail = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:autoExpandAll\": null,\n \"update:enabled\": null,\n \"update:template\": null,\n },\n props: {\n autoExpandAll: Boolean,\n enabled: Boolean,\n template: {}\n }\n});\nexports.DxMasterDetail = DxMasterDetail;\nDxMasterDetail.$_optionName = \"masterDetail\";\nvar DxMy = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: String,\n y: String\n }\n});\nexports.DxMy = DxMy;\nDxMy.$_optionName = \"my\";\nvar DxNumericRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:type\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n message: String,\n type: String\n }\n});\nexports.DxNumericRule = DxNumericRule;\nDxNumericRule.$_optionName = \"validationRules\";\nDxNumericRule.$_isCollectionItem = true;\nDxNumericRule.$_predefinedProps = {\n type: \"numeric\"\n};\nvar DxOffset = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: Number,\n y: Number\n }\n});\nexports.DxOffset = DxOffset;\nDxOffset.$_optionName = \"offset\";\nvar DxOperationDescriptions = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:between\": null,\n \"update:contains\": null,\n \"update:endsWith\": null,\n \"update:equal\": null,\n \"update:greaterThan\": null,\n \"update:greaterThanOrEqual\": null,\n \"update:lessThan\": null,\n \"update:lessThanOrEqual\": null,\n \"update:notContains\": null,\n \"update:notEqual\": null,\n \"update:startsWith\": null,\n },\n props: {\n between: String,\n contains: String,\n endsWith: String,\n equal: String,\n greaterThan: String,\n greaterThanOrEqual: String,\n lessThan: String,\n lessThanOrEqual: String,\n notContains: String,\n notEqual: String,\n startsWith: String\n }\n});\nexports.DxOperationDescriptions = DxOperationDescriptions;\nDxOperationDescriptions.$_optionName = \"operationDescriptions\";\nvar DxPager = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowedPageSizes\": null,\n \"update:displayMode\": null,\n \"update:infoText\": null,\n \"update:label\": null,\n \"update:showInfo\": null,\n \"update:showNavigationButtons\": null,\n \"update:showPageSizeSelector\": null,\n \"update:visible\": null,\n },\n props: {\n allowedPageSizes: [Array, String],\n displayMode: String,\n infoText: String,\n label: String,\n showInfo: Boolean,\n showNavigationButtons: Boolean,\n showPageSizeSelector: Boolean,\n visible: [Boolean, String]\n }\n});\nexports.DxPager = DxPager;\nDxPager.$_optionName = \"pager\";\nvar DxPaging = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:enabled\": null,\n \"update:pageIndex\": null,\n \"update:pageSize\": null,\n },\n props: {\n enabled: Boolean,\n pageIndex: Number,\n pageSize: Number\n }\n});\nexports.DxPaging = DxPaging;\nDxPaging.$_optionName = \"paging\";\nvar DxPatternRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:pattern\": null,\n \"update:type\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n message: String,\n pattern: {},\n type: String\n }\n});\nexports.DxPatternRule = DxPatternRule;\nDxPatternRule.$_optionName = \"validationRules\";\nDxPatternRule.$_isCollectionItem = true;\nDxPatternRule.$_predefinedProps = {\n type: \"pattern\"\n};\nvar DxPopup = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:animation\": null,\n \"update:bindingOptions\": null,\n \"update:closeOnOutsideClick\": null,\n \"update:container\": null,\n \"update:contentTemplate\": null,\n \"update:copyRootClassesToWrapper\": null,\n \"update:deferRendering\": null,\n \"update:disabled\": null,\n \"update:dragAndResizeArea\": null,\n \"update:dragEnabled\": null,\n \"update:dragOutsideBoundary\": null,\n \"update:elementAttr\": null,\n \"update:enableBodyScroll\": null,\n \"update:focusStateEnabled\": null,\n \"update:fullScreen\": null,\n \"update:height\": null,\n \"update:hideOnOutsideClick\": null,\n \"update:hideOnParentScroll\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:maxHeight\": null,\n \"update:maxWidth\": null,\n \"update:minHeight\": null,\n \"update:minWidth\": null,\n \"update:onContentReady\": null,\n \"update:onDisposing\": null,\n \"update:onHidden\": null,\n \"update:onHiding\": null,\n \"update:onInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:onResize\": null,\n \"update:onResizeEnd\": null,\n \"update:onResizeStart\": null,\n \"update:onShowing\": null,\n \"update:onShown\": null,\n \"update:onTitleRendered\": null,\n \"update:position\": null,\n \"update:resizeEnabled\": null,\n \"update:restorePosition\": null,\n \"update:rtlEnabled\": null,\n \"update:shading\": null,\n \"update:shadingColor\": null,\n \"update:showCloseButton\": null,\n \"update:showTitle\": null,\n \"update:tabIndex\": null,\n \"update:title\": null,\n \"update:titleTemplate\": null,\n \"update:toolbarItems\": null,\n \"update:visible\": null,\n \"update:width\": null,\n \"update:wrapperAttr\": null,\n },\n props: {\n accessKey: String,\n animation: Object,\n bindingOptions: Object,\n closeOnOutsideClick: [Boolean, Function],\n container: {},\n contentTemplate: {},\n copyRootClassesToWrapper: Boolean,\n deferRendering: Boolean,\n disabled: Boolean,\n dragAndResizeArea: {},\n dragEnabled: Boolean,\n dragOutsideBoundary: Boolean,\n elementAttr: {},\n enableBodyScroll: Boolean,\n focusStateEnabled: Boolean,\n fullScreen: Boolean,\n height: [Function, Number, String],\n hideOnOutsideClick: [Boolean, Function],\n hideOnParentScroll: Boolean,\n hint: String,\n hoverStateEnabled: Boolean,\n maxHeight: [Function, Number, String],\n maxWidth: [Function, Number, String],\n minHeight: [Function, Number, String],\n minWidth: [Function, Number, String],\n onContentReady: Function,\n onDisposing: Function,\n onHidden: Function,\n onHiding: Function,\n onInitialized: Function,\n onOptionChanged: Function,\n onResize: Function,\n onResizeEnd: Function,\n onResizeStart: Function,\n onShowing: Function,\n onShown: Function,\n onTitleRendered: Function,\n position: [Function, Object, String],\n resizeEnabled: Boolean,\n restorePosition: Boolean,\n rtlEnabled: Boolean,\n shading: Boolean,\n shadingColor: String,\n showCloseButton: Boolean,\n showTitle: Boolean,\n tabIndex: Number,\n title: String,\n titleTemplate: {},\n toolbarItems: Array,\n visible: Boolean,\n width: [Function, Number, String],\n wrapperAttr: {}\n }\n});\nexports.DxPopup = DxPopup;\nDxPopup.$_optionName = \"popup\";\nDxPopup.$_expectedChildren = {\n animation: { isCollectionItem: false, optionName: \"animation\" },\n position: { isCollectionItem: false, optionName: \"position\" },\n toolbarItem: { isCollectionItem: true, optionName: \"toolbarItems\" }\n};\nvar DxPosition = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:at\": null,\n \"update:boundary\": null,\n \"update:boundaryOffset\": null,\n \"update:collision\": null,\n \"update:my\": null,\n \"update:of\": null,\n \"update:offset\": null,\n },\n props: {\n at: [Object, String],\n boundary: {},\n boundaryOffset: [Object, String],\n collision: [Object, String],\n my: [Object, String],\n of: {},\n offset: [Object, String]\n }\n});\nexports.DxPosition = DxPosition;\nDxPosition.$_optionName = \"position\";\nvar DxRangeRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:max\": null,\n \"update:message\": null,\n \"update:min\": null,\n \"update:reevaluate\": null,\n \"update:type\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n max: {},\n message: String,\n min: {},\n reevaluate: Boolean,\n type: String\n }\n});\nexports.DxRangeRule = DxRangeRule;\nDxRangeRule.$_optionName = \"validationRules\";\nDxRangeRule.$_isCollectionItem = true;\nDxRangeRule.$_predefinedProps = {\n type: \"range\"\n};\nvar DxRemoteOperations = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:filtering\": null,\n \"update:grouping\": null,\n \"update:groupPaging\": null,\n \"update:paging\": null,\n \"update:sorting\": null,\n \"update:summary\": null,\n },\n props: {\n filtering: Boolean,\n grouping: Boolean,\n groupPaging: Boolean,\n paging: Boolean,\n sorting: Boolean,\n summary: Boolean\n }\n});\nexports.DxRemoteOperations = DxRemoteOperations;\nDxRemoteOperations.$_optionName = \"remoteOperations\";\nvar DxRequiredRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:message\": null,\n \"update:trim\": null,\n \"update:type\": null,\n },\n props: {\n message: String,\n trim: Boolean,\n type: String\n }\n});\nexports.DxRequiredRule = DxRequiredRule;\nDxRequiredRule.$_optionName = \"validationRules\";\nDxRequiredRule.$_isCollectionItem = true;\nDxRequiredRule.$_predefinedProps = {\n type: \"required\"\n};\nvar DxRowDragging = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowDropInsideItem\": null,\n \"update:allowReordering\": null,\n \"update:autoScroll\": null,\n \"update:boundary\": null,\n \"update:container\": null,\n \"update:cursorOffset\": null,\n \"update:data\": null,\n \"update:dragDirection\": null,\n \"update:dragTemplate\": null,\n \"update:dropFeedbackMode\": null,\n \"update:filter\": null,\n \"update:group\": null,\n \"update:handle\": null,\n \"update:onAdd\": null,\n \"update:onDragChange\": null,\n \"update:onDragEnd\": null,\n \"update:onDragMove\": null,\n \"update:onDragStart\": null,\n \"update:onRemove\": null,\n \"update:onReorder\": null,\n \"update:scrollSensitivity\": null,\n \"update:scrollSpeed\": null,\n \"update:showDragIcons\": null,\n },\n props: {\n allowDropInsideItem: Boolean,\n allowReordering: Boolean,\n autoScroll: Boolean,\n boundary: {},\n container: {},\n cursorOffset: [Object, String],\n data: {},\n dragDirection: String,\n dragTemplate: {},\n dropFeedbackMode: String,\n filter: String,\n group: String,\n handle: String,\n onAdd: Function,\n onDragChange: Function,\n onDragEnd: Function,\n onDragMove: Function,\n onDragStart: Function,\n onRemove: Function,\n onReorder: Function,\n scrollSensitivity: Number,\n scrollSpeed: Number,\n showDragIcons: Boolean\n }\n});\nexports.DxRowDragging = DxRowDragging;\nDxRowDragging.$_optionName = \"rowDragging\";\nDxRowDragging.$_expectedChildren = {\n cursorOffset: { isCollectionItem: false, optionName: \"cursorOffset\" }\n};\nvar DxScrolling = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:columnRenderingMode\": null,\n \"update:mode\": null,\n \"update:preloadEnabled\": null,\n \"update:renderAsync\": null,\n \"update:rowRenderingMode\": null,\n \"update:scrollByContent\": null,\n \"update:scrollByThumb\": null,\n \"update:showScrollbar\": null,\n \"update:useNative\": null,\n },\n props: {\n columnRenderingMode: String,\n mode: String,\n preloadEnabled: Boolean,\n renderAsync: Boolean,\n rowRenderingMode: String,\n scrollByContent: Boolean,\n scrollByThumb: Boolean,\n showScrollbar: String,\n useNative: [Boolean, String]\n }\n});\nexports.DxScrolling = DxScrolling;\nDxScrolling.$_optionName = \"scrolling\";\nvar DxSearch = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:editorOptions\": null,\n \"update:enabled\": null,\n \"update:mode\": null,\n \"update:searchExpr\": null,\n \"update:timeout\": null,\n },\n props: {\n editorOptions: {},\n enabled: Boolean,\n mode: String,\n searchExpr: [Array, Function, String],\n timeout: Number\n }\n});\nexports.DxSearch = DxSearch;\nDxSearch.$_optionName = \"search\";\nvar DxSearchPanel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:highlightCaseSensitive\": null,\n \"update:highlightSearchText\": null,\n \"update:placeholder\": null,\n \"update:searchVisibleColumnsOnly\": null,\n \"update:text\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n highlightCaseSensitive: Boolean,\n highlightSearchText: Boolean,\n placeholder: String,\n searchVisibleColumnsOnly: Boolean,\n text: String,\n visible: Boolean,\n width: [Number, String]\n }\n});\nexports.DxSearchPanel = DxSearchPanel;\nDxSearchPanel.$_optionName = \"searchPanel\";\nvar DxSelection = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowSelectAll\": null,\n \"update:deferred\": null,\n \"update:mode\": null,\n \"update:recursive\": null,\n \"update:selectAllMode\": null,\n \"update:selectByClick\": null,\n \"update:showCheckBoxesMode\": null,\n },\n props: {\n allowSelectAll: Boolean,\n deferred: Boolean,\n mode: String,\n recursive: Boolean,\n selectAllMode: String,\n selectByClick: Boolean,\n showCheckBoxesMode: String\n }\n});\nexports.DxSelection = DxSelection;\nDxSelection.$_optionName = \"selection\";\nvar DxShow = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:complete\": null,\n \"update:delay\": null,\n \"update:direction\": null,\n \"update:duration\": null,\n \"update:easing\": null,\n \"update:from\": null,\n \"update:staggerDelay\": null,\n \"update:start\": null,\n \"update:to\": null,\n \"update:type\": null,\n },\n props: {\n complete: Function,\n delay: Number,\n direction: String,\n duration: Number,\n easing: String,\n from: Object,\n staggerDelay: Number,\n start: Function,\n to: Object,\n type: String\n }\n});\nexports.DxShow = DxShow;\nDxShow.$_optionName = \"show\";\nvar DxSortByGroupSummaryInfo = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:groupColumn\": null,\n \"update:sortOrder\": null,\n \"update:summaryItem\": null,\n },\n props: {\n groupColumn: String,\n sortOrder: String,\n summaryItem: [Number, String]\n }\n});\nexports.DxSortByGroupSummaryInfo = DxSortByGroupSummaryInfo;\nDxSortByGroupSummaryInfo.$_optionName = \"sortByGroupSummaryInfo\";\nDxSortByGroupSummaryInfo.$_isCollectionItem = true;\nvar DxSorting = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ascendingText\": null,\n \"update:clearText\": null,\n \"update:descendingText\": null,\n \"update:mode\": null,\n \"update:showSortIndexes\": null,\n },\n props: {\n ascendingText: String,\n clearText: String,\n descendingText: String,\n mode: String,\n showSortIndexes: Boolean\n }\n});\nexports.DxSorting = DxSorting;\nDxSorting.$_optionName = \"sorting\";\nvar DxStateStoring = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:customLoad\": null,\n \"update:customSave\": null,\n \"update:enabled\": null,\n \"update:savingTimeout\": null,\n \"update:storageKey\": null,\n \"update:type\": null,\n },\n props: {\n customLoad: Function,\n customSave: Function,\n enabled: Boolean,\n savingTimeout: Number,\n storageKey: String,\n type: String\n }\n});\nexports.DxStateStoring = DxStateStoring;\nDxStateStoring.$_optionName = \"stateStoring\";\nvar DxStringLengthRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:max\": null,\n \"update:message\": null,\n \"update:min\": null,\n \"update:trim\": null,\n \"update:type\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n max: Number,\n message: String,\n min: Number,\n trim: Boolean,\n type: String\n }\n});\nexports.DxStringLengthRule = DxStringLengthRule;\nDxStringLengthRule.$_optionName = \"validationRules\";\nDxStringLengthRule.$_isCollectionItem = true;\nDxStringLengthRule.$_predefinedProps = {\n type: \"stringLength\"\n};\nvar DxSummary = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:calculateCustomSummary\": null,\n \"update:groupItems\": null,\n \"update:recalculateWhileEditing\": null,\n \"update:skipEmptyValues\": null,\n \"update:texts\": null,\n \"update:totalItems\": null,\n },\n props: {\n calculateCustomSummary: Function,\n groupItems: Array,\n recalculateWhileEditing: Boolean,\n skipEmptyValues: Boolean,\n texts: Object,\n totalItems: Array\n }\n});\nexports.DxSummary = DxSummary;\nDxSummary.$_optionName = \"summary\";\nDxSummary.$_expectedChildren = {\n groupItem: { isCollectionItem: true, optionName: \"groupItems\" },\n summaryTexts: { isCollectionItem: false, optionName: \"texts\" },\n texts: { isCollectionItem: false, optionName: \"texts\" },\n totalItem: { isCollectionItem: true, optionName: \"totalItems\" }\n};\nvar DxSummaryTexts = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:avg\": null,\n \"update:avgOtherColumn\": null,\n \"update:count\": null,\n \"update:max\": null,\n \"update:maxOtherColumn\": null,\n \"update:min\": null,\n \"update:minOtherColumn\": null,\n \"update:sum\": null,\n \"update:sumOtherColumn\": null,\n },\n props: {\n avg: String,\n avgOtherColumn: String,\n count: String,\n max: String,\n maxOtherColumn: String,\n min: String,\n minOtherColumn: String,\n sum: String,\n sumOtherColumn: String\n }\n});\nexports.DxSummaryTexts = DxSummaryTexts;\nDxSummaryTexts.$_optionName = \"texts\";\nvar DxTexts = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:addRow\": null,\n \"update:avg\": null,\n \"update:avgOtherColumn\": null,\n \"update:cancel\": null,\n \"update:cancelAllChanges\": null,\n \"update:cancelRowChanges\": null,\n \"update:clearFilter\": null,\n \"update:confirmDeleteMessage\": null,\n \"update:confirmDeleteTitle\": null,\n \"update:count\": null,\n \"update:createFilter\": null,\n \"update:deleteRow\": null,\n \"update:editRow\": null,\n \"update:emptyValue\": null,\n \"update:exportAll\": null,\n \"update:exportSelectedRows\": null,\n \"update:exportTo\": null,\n \"update:filterEnabledHint\": null,\n \"update:fix\": null,\n \"update:groupByThisColumn\": null,\n \"update:groupContinuedMessage\": null,\n \"update:groupContinuesMessage\": null,\n \"update:leftPosition\": null,\n \"update:max\": null,\n \"update:maxOtherColumn\": null,\n \"update:min\": null,\n \"update:minOtherColumn\": null,\n \"update:ok\": null,\n \"update:rightPosition\": null,\n \"update:saveAllChanges\": null,\n \"update:saveRowChanges\": null,\n \"update:sum\": null,\n \"update:sumOtherColumn\": null,\n \"update:undeleteRow\": null,\n \"update:unfix\": null,\n \"update:ungroup\": null,\n \"update:ungroupAll\": null,\n \"update:validationCancelChanges\": null,\n },\n props: {\n addRow: String,\n avg: String,\n avgOtherColumn: String,\n cancel: String,\n cancelAllChanges: String,\n cancelRowChanges: String,\n clearFilter: String,\n confirmDeleteMessage: String,\n confirmDeleteTitle: String,\n count: String,\n createFilter: String,\n deleteRow: String,\n editRow: String,\n emptyValue: String,\n exportAll: String,\n exportSelectedRows: String,\n exportTo: String,\n filterEnabledHint: String,\n fix: String,\n groupByThisColumn: String,\n groupContinuedMessage: String,\n groupContinuesMessage: String,\n leftPosition: String,\n max: String,\n maxOtherColumn: String,\n min: String,\n minOtherColumn: String,\n ok: String,\n rightPosition: String,\n saveAllChanges: String,\n saveRowChanges: String,\n sum: String,\n sumOtherColumn: String,\n undeleteRow: String,\n unfix: String,\n ungroup: String,\n ungroupAll: String,\n validationCancelChanges: String\n }\n});\nexports.DxTexts = DxTexts;\nDxTexts.$_optionName = \"texts\";\nvar DxTo = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:left\": null,\n \"update:opacity\": null,\n \"update:position\": null,\n \"update:scale\": null,\n \"update:top\": null,\n },\n props: {\n left: Number,\n opacity: Number,\n position: Object,\n scale: Number,\n top: Number\n }\n});\nexports.DxTo = DxTo;\nDxTo.$_optionName = \"to\";\nvar DxToolbar = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:disabled\": null,\n \"update:items\": null,\n \"update:visible\": null,\n },\n props: {\n disabled: Boolean,\n items: Array,\n visible: Boolean\n }\n});\nexports.DxToolbar = DxToolbar;\nDxToolbar.$_optionName = \"toolbar\";\nDxToolbar.$_expectedChildren = {\n item: { isCollectionItem: true, optionName: \"items\" }\n};\nvar DxToolbarItem = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:cssClass\": null,\n \"update:disabled\": null,\n \"update:html\": null,\n \"update:locateInMenu\": null,\n \"update:location\": null,\n \"update:menuItemTemplate\": null,\n \"update:options\": null,\n \"update:showText\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:toolbar\": null,\n \"update:visible\": null,\n \"update:widget\": null,\n },\n props: {\n cssClass: String,\n disabled: Boolean,\n html: String,\n locateInMenu: String,\n location: String,\n menuItemTemplate: {},\n options: {},\n showText: String,\n template: {},\n text: String,\n toolbar: String,\n visible: Boolean,\n widget: String\n }\n});\nexports.DxToolbarItem = DxToolbarItem;\nDxToolbarItem.$_optionName = \"toolbarItems\";\nDxToolbarItem.$_isCollectionItem = true;\nvar DxTotalItem = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:column\": null,\n \"update:cssClass\": null,\n \"update:customizeText\": null,\n \"update:displayFormat\": null,\n \"update:name\": null,\n \"update:showInColumn\": null,\n \"update:skipEmptyValues\": null,\n \"update:summaryType\": null,\n \"update:valueFormat\": null,\n },\n props: {\n alignment: String,\n column: String,\n cssClass: String,\n customizeText: Function,\n displayFormat: String,\n name: String,\n showInColumn: String,\n skipEmptyValues: Boolean,\n summaryType: String,\n valueFormat: [Object, Function, String]\n }\n});\nexports.DxTotalItem = DxTotalItem;\nDxTotalItem.$_optionName = \"totalItems\";\nDxTotalItem.$_isCollectionItem = true;\nDxTotalItem.$_expectedChildren = {\n valueFormat: { isCollectionItem: false, optionName: \"valueFormat\" }\n};\nvar DxValidationRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:comparisonTarget\": null,\n \"update:comparisonType\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:max\": null,\n \"update:message\": null,\n \"update:min\": null,\n \"update:pattern\": null,\n \"update:reevaluate\": null,\n \"update:trim\": null,\n \"update:type\": null,\n \"update:validationCallback\": null,\n },\n props: {\n comparisonTarget: Function,\n comparisonType: String,\n ignoreEmptyValue: Boolean,\n max: {},\n message: String,\n min: {},\n pattern: {},\n reevaluate: Boolean,\n trim: Boolean,\n type: String,\n validationCallback: Function\n }\n});\nexports.DxValidationRule = DxValidationRule;\nDxValidationRule.$_optionName = \"validationRules\";\nDxValidationRule.$_isCollectionItem = true;\nDxValidationRule.$_predefinedProps = {\n type: \"required\"\n};\nvar DxValueFormat = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:currency\": null,\n \"update:formatter\": null,\n \"update:parser\": null,\n \"update:precision\": null,\n \"update:type\": null,\n \"update:useCurrencyAccountingStyle\": null,\n },\n props: {\n currency: String,\n formatter: Function,\n parser: Function,\n precision: Number,\n type: String,\n useCurrencyAccountingStyle: Boolean\n }\n});\nexports.DxValueFormat = DxValueFormat;\nDxValueFormat.$_optionName = \"valueFormat\";\nexports.default = DxDataGrid;\n","var apparentPower;\n\napparentPower = {\n VA: {\n name: {\n singular: 'Volt-Ampere'\n , plural: 'Volt-Amperes'\n }\n , to_anchor: 1\n }\n, mVA: {\n name: {\n singular: 'Millivolt-Ampere'\n , plural: 'Millivolt-Amperes'\n }\n , to_anchor: .001\n }\n, kVA: {\n name: {\n singular: 'Kilovolt-Ampere'\n , plural: 'Kilovolt-Amperes'\n }\n , to_anchor: 1000\n }\n, MVA: {\n name: {\n singular: 'Megavolt-Ampere'\n , plural: 'Megavolt-Amperes'\n }\n , to_anchor: 1000000\n }\n, GVA: {\n name: {\n singular: 'Gigavolt-Ampere'\n , plural: 'Gigavolt-Amperes'\n }\n , to_anchor: 1000000000\n }\n};\n\nmodule.exports = {\n metric: apparentPower\n, _anchors: {\n metric: {\n unit: 'VA'\n , ratio: 1\n }\n }\n};\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\nvar bind = require('lodash.bind'),\n identity = require('lodash.identity'),\n setBindData = require('lodash._setbinddata'),\n support = require('lodash.support');\n\n/** Used to detected named functions */\nvar reFuncName = /^\\s*function[ \\n\\r\\t]+\\w/;\n\n/** Used to detect functions containing a `this` reference */\nvar reThis = /\\bthis\\b/;\n\n/** Native method shortcuts */\nvar fnToString = Function.prototype.toString;\n\n/**\n * The base implementation of `_.createCallback` without support for creating\n * \"_.pluck\" or \"_.where\" style callbacks.\n *\n * @private\n * @param {*} [func=identity] The value to convert to a callback.\n * @param {*} [thisArg] The `this` binding of the created callback.\n * @param {number} [argCount] The number of arguments the callback accepts.\n * @returns {Function} Returns a callback function.\n */\nfunction baseCreateCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n // exit early for no `thisArg` or already bound by `Function#bind`\n if (typeof thisArg == 'undefined' || !('prototype' in func)) {\n return func;\n }\n var bindData = func.__bindData__;\n if (typeof bindData == 'undefined') {\n if (support.funcNames) {\n bindData = !func.name;\n }\n bindData = bindData || !support.funcDecomp;\n if (!bindData) {\n var source = fnToString.call(func);\n if (!support.funcNames) {\n bindData = !reFuncName.test(source);\n }\n if (!bindData) {\n // checks if `func` references the `this` keyword and stores the result\n bindData = reThis.test(source);\n setBindData(func, bindData);\n }\n }\n }\n // exit early if there are no `this` references or `func` is bound\n if (bindData === false || (bindData !== true && bindData[1] & 1)) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 2: return function(a, b) {\n return func.call(thisArg, a, b);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n }\n return bind(func, thisArg);\n}\n\nmodule.exports = baseCreateCallback;\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar $TypeError = TypeError;\n\nvar REDUCE_EMPTY = 'Reduce of empty array with no initial value';\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(O);\n aCallable(callbackfn);\n if (length === 0 && argumentsLength < 2) throw new $TypeError(REDUCE_EMPTY);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw new $TypeError(REDUCE_EMPTY);\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","var isArray = Array.isArray;\nfunction isStringOrNumber(o) {\n var type = typeof o;\n return type === 'string' || type === 'number';\n}\nfunction isNullOrUndef(o) {\n return o === void 0 || o === null;\n}\nfunction isInvalid(o) {\n return o === null || o === false || o === true || o === void 0;\n}\nfunction isFunction(o) {\n return typeof o === 'function';\n}\nfunction isString(o) {\n return typeof o === 'string';\n}\nfunction isNumber(o) {\n return typeof o === 'number';\n}\nfunction isNull(o) {\n return o === null;\n}\nfunction isUndefined(o) {\n return o === void 0;\n}\nfunction combineFrom(first, second) {\n var out = {};\n if (first) {\n for (var key in first) {\n out[key] = first[key];\n }\n }\n if (second) {\n for (var key$1 in second) {\n out[key$1] = second[key$1];\n }\n }\n return out;\n}\n\n/**\n * Links given data to event as first parameter\n * @param {*} data data to be linked, it will be available in function as first parameter\n * @param {Function} event Function to be called when event occurs\n * @returns {{data: *, event: Function}}\n */\nfunction linkEvent(data, event) {\n if (isFunction(event)) {\n return { data: data, event: event };\n }\n return null; // Return null when event is invalid, to avoid creating unnecessary event handlers\n}\n// object.event should always be function, otherwise its badly created object.\nfunction isLinkEventObject(o) {\n return !isNull(o) && typeof o === 'object';\n}\n\n// We need EMPTY_OBJ defined in one place.\n// Its used for comparison so we cant inline it into shared\nvar EMPTY_OBJ = {};\nvar Fragment = '$F';\nfunction normalizeEventName(name) {\n return name.substr(2).toLowerCase();\n}\nfunction appendChild(parentDOM, dom) {\n parentDOM.appendChild(dom);\n}\nfunction insertOrAppend(parentDOM, newNode, nextNode) {\n if (isNull(nextNode)) {\n appendChild(parentDOM, newNode);\n }\n else {\n parentDOM.insertBefore(newNode, nextNode);\n }\n}\nfunction documentCreateElement(tag, isSVG) {\n if (isSVG) {\n return document.createElementNS('http://www.w3.org/2000/svg', tag);\n }\n return document.createElement(tag);\n}\nfunction replaceChild(parentDOM, newDom, lastDom) {\n parentDOM.replaceChild(newDom, lastDom);\n}\nfunction removeChild(parentDOM, childNode) {\n parentDOM.removeChild(childNode);\n}\nfunction callAll(arrayFn) {\n for (var i = 0; i < arrayFn.length; i++) {\n arrayFn[i]();\n }\n}\nfunction findChildVNode(vNode, startEdge, flags) {\n var children = vNode.children;\n if (flags & 4 /* ComponentClass */) {\n return children.$LI;\n }\n if (flags & 8192 /* Fragment */) {\n return vNode.childFlags === 2 /* HasVNodeChildren */ ? children : children[startEdge ? 0 : children.length - 1];\n }\n return children;\n}\nfunction findDOMfromVNode(vNode, startEdge) {\n var flags;\n while (vNode) {\n flags = vNode.flags;\n if (flags & 2033 /* DOMRef */) {\n return vNode.dom;\n }\n vNode = findChildVNode(vNode, startEdge, flags);\n }\n return null;\n}\nfunction removeVNodeDOM(vNode, parentDOM) {\n do {\n var flags = vNode.flags;\n if (flags & 2033 /* DOMRef */) {\n removeChild(parentDOM, vNode.dom);\n return;\n }\n var children = vNode.children;\n if (flags & 4 /* ComponentClass */) {\n vNode = children.$LI;\n }\n if (flags & 8 /* ComponentFunction */) {\n vNode = children;\n }\n if (flags & 8192 /* Fragment */) {\n if (vNode.childFlags === 2 /* HasVNodeChildren */) {\n vNode = children;\n }\n else {\n for (var i = 0, len = children.length; i < len; ++i) {\n removeVNodeDOM(children[i], parentDOM);\n }\n return;\n }\n }\n } while (vNode);\n}\nfunction moveVNodeDOM(vNode, parentDOM, nextNode) {\n do {\n var flags = vNode.flags;\n if (flags & 2033 /* DOMRef */) {\n insertOrAppend(parentDOM, vNode.dom, nextNode);\n return;\n }\n var children = vNode.children;\n if (flags & 4 /* ComponentClass */) {\n vNode = children.$LI;\n }\n if (flags & 8 /* ComponentFunction */) {\n vNode = children;\n }\n if (flags & 8192 /* Fragment */) {\n if (vNode.childFlags === 2 /* HasVNodeChildren */) {\n vNode = children;\n }\n else {\n for (var i = 0, len = children.length; i < len; ++i) {\n moveVNodeDOM(children[i], parentDOM, nextNode);\n }\n return;\n }\n }\n } while (vNode);\n}\nfunction createDerivedState(instance, nextProps, state) {\n if (instance.constructor.getDerivedStateFromProps) {\n return combineFrom(state, instance.constructor.getDerivedStateFromProps(nextProps, state));\n }\n return state;\n}\nvar renderCheck = {\n v: false\n};\nvar options = {\n componentComparator: null,\n createVNode: null,\n renderComplete: null\n};\nfunction setTextContent(dom, children) {\n dom.textContent = children;\n}\n// Calling this function assumes, nextValue is linkEvent\nfunction isLastValueSameLinkEvent(lastValue, nextValue) {\n return (isLinkEventObject(lastValue) &&\n lastValue.event === nextValue.event &&\n lastValue.data === nextValue.data);\n}\nfunction mergeUnsetProperties(to, from) {\n for (var propName in from) {\n if (isUndefined(to[propName])) {\n to[propName] = from[propName];\n }\n }\n return to;\n}\nfunction safeCall1(method, arg1) {\n return !!isFunction(method) && (method(arg1), true);\n}\n\nvar keyPrefix = '$';\nfunction V(childFlags, children, className, flags, key, props, ref, type) {\n this.childFlags = childFlags;\n this.children = children;\n this.className = className;\n this.dom = null;\n this.flags = flags;\n this.key = key === void 0 ? null : key;\n this.props = props === void 0 ? null : props;\n this.ref = ref === void 0 ? null : ref;\n this.type = type;\n}\nfunction createVNode(flags, type, className, children, childFlags, props, key, ref) {\n var childFlag = childFlags === void 0 ? 1 /* HasInvalidChildren */ : childFlags;\n var vNode = new V(childFlag, children, className, flags, key, props, ref, type);\n if (options.createVNode) {\n options.createVNode(vNode);\n }\n if (childFlag === 0 /* UnknownChildren */) {\n normalizeChildren(vNode, vNode.children);\n }\n return vNode;\n}\nfunction mergeDefaultHooks(flags, type, ref) {\n if (flags & 4 /* ComponentClass */) {\n return ref;\n }\n var defaultHooks = (flags & 32768 /* ForwardRef */ ? type.render : type).defaultHooks;\n if (isNullOrUndef(defaultHooks)) {\n return ref;\n }\n if (isNullOrUndef(ref)) {\n return defaultHooks;\n }\n return mergeUnsetProperties(ref, defaultHooks);\n}\nfunction mergeDefaultProps(flags, type, props) {\n // set default props\n var defaultProps = (flags & 32768 /* ForwardRef */ ? type.render : type).defaultProps;\n if (isNullOrUndef(defaultProps)) {\n return props;\n }\n if (isNullOrUndef(props)) {\n return combineFrom(defaultProps, null);\n }\n return mergeUnsetProperties(props, defaultProps);\n}\nfunction resolveComponentFlags(flags, type) {\n if (flags & 12 /* ComponentKnown */) {\n return flags;\n }\n if (type.prototype && type.prototype.render) {\n return 4 /* ComponentClass */;\n }\n if (type.render) {\n return 32776 /* ForwardRefComponent */;\n }\n return 8 /* ComponentFunction */;\n}\nfunction createComponentVNode(flags, type, props, key, ref) {\n flags = resolveComponentFlags(flags, type);\n var vNode = new V(1 /* HasInvalidChildren */, null, null, flags, key, mergeDefaultProps(flags, type, props), mergeDefaultHooks(flags, type, ref), type);\n if (options.createVNode) {\n options.createVNode(vNode);\n }\n return vNode;\n}\nfunction createTextVNode(text, key) {\n return new V(1 /* HasInvalidChildren */, isNullOrUndef(text) || text === true || text === false ? '' : text, null, 16 /* Text */, key, null, null, null);\n}\nfunction createFragment(children, childFlags, key) {\n var fragment = createVNode(8192 /* Fragment */, 8192 /* Fragment */, null, children, childFlags, null, key, null);\n switch (fragment.childFlags) {\n case 1 /* HasInvalidChildren */:\n fragment.children = createVoidVNode();\n fragment.childFlags = 2 /* HasVNodeChildren */;\n break;\n case 16 /* HasTextChildren */:\n fragment.children = [createTextVNode(children)];\n fragment.childFlags = 4 /* HasNonKeyedChildren */;\n break;\n }\n return fragment;\n}\nfunction normalizeProps(vNode) {\n var props = vNode.props;\n if (props) {\n var flags = vNode.flags;\n if (flags & 481 /* Element */) {\n if (props.children !== void 0 && isNullOrUndef(vNode.children)) {\n normalizeChildren(vNode, props.children);\n }\n if (props.className !== void 0) {\n if (isNullOrUndef(vNode.className)) {\n vNode.className = props.className || null;\n }\n props.className = undefined;\n }\n }\n if (props.key !== void 0) {\n vNode.key = props.key;\n props.key = undefined;\n }\n if (props.ref !== void 0) {\n if (flags & 8 /* ComponentFunction */) {\n vNode.ref = combineFrom(vNode.ref, props.ref);\n }\n else {\n vNode.ref = props.ref;\n }\n props.ref = undefined;\n }\n }\n return vNode;\n}\n/*\n * Fragment is different than normal vNode,\n * because when it needs to be cloned we need to clone its children too\n * But not normalize, because otherwise those possibly get KEY and re-mount\n */\nfunction cloneFragment(vNodeToClone) {\n var oldChildren = vNodeToClone.children;\n var childFlags = vNodeToClone.childFlags;\n return createFragment(childFlags === 2 /* HasVNodeChildren */ ? directClone(oldChildren) : oldChildren.map(directClone), childFlags, vNodeToClone.key);\n}\nfunction directClone(vNodeToClone) {\n var flags = vNodeToClone.flags & -16385 /* ClearInUse */;\n var props = vNodeToClone.props;\n if (flags & 14 /* Component */) {\n if (!isNull(props)) {\n var propsToClone = props;\n props = {};\n for (var key in propsToClone) {\n props[key] = propsToClone[key];\n }\n }\n }\n if ((flags & 8192 /* Fragment */) === 0) {\n return new V(vNodeToClone.childFlags, vNodeToClone.children, vNodeToClone.className, flags, vNodeToClone.key, props, vNodeToClone.ref, vNodeToClone.type);\n }\n return cloneFragment(vNodeToClone);\n}\nfunction createVoidVNode() {\n return createTextVNode('', null);\n}\nfunction createPortal(children, container) {\n var normalizedRoot = normalizeRoot(children);\n return createVNode(1024 /* Portal */, 1024 /* Portal */, null, normalizedRoot, 0 /* UnknownChildren */, null, normalizedRoot.key, container);\n}\nfunction _normalizeVNodes(nodes, result, index, currentKey) {\n for (var len = nodes.length; index < len; index++) {\n var n = nodes[index];\n if (!isInvalid(n)) {\n var newKey = currentKey + keyPrefix + index;\n if (isArray(n)) {\n _normalizeVNodes(n, result, 0, newKey);\n }\n else {\n if (isStringOrNumber(n)) {\n n = createTextVNode(n, newKey);\n }\n else {\n var oldKey = n.key;\n var isPrefixedKey = isString(oldKey) && oldKey[0] === keyPrefix;\n if (n.flags & 81920 /* InUseOrNormalized */ || isPrefixedKey) {\n n = directClone(n);\n }\n n.flags |= 65536 /* Normalized */;\n if (!isPrefixedKey) {\n if (isNull(oldKey)) {\n n.key = newKey;\n }\n else {\n n.key = currentKey + oldKey;\n }\n }\n else if (oldKey.substring(0, currentKey.length) !== currentKey) {\n n.key = currentKey + oldKey;\n }\n }\n result.push(n);\n }\n }\n }\n}\nfunction getFlagsForElementVnode(type) {\n switch (type) {\n case 'svg':\n return 32 /* SvgElement */;\n case 'input':\n return 64 /* InputElement */;\n case 'select':\n return 256 /* SelectElement */;\n case 'textarea':\n return 128 /* TextareaElement */;\n case Fragment:\n return 8192 /* Fragment */;\n default:\n return 1 /* HtmlElement */;\n }\n}\nfunction normalizeChildren(vNode, children) {\n var newChildren;\n var newChildFlags = 1 /* HasInvalidChildren */;\n // Don't change children to match strict equal (===) true in patching\n if (isInvalid(children)) {\n newChildren = children;\n }\n else if (isStringOrNumber(children)) {\n newChildFlags = 16 /* HasTextChildren */;\n newChildren = children;\n }\n else if (isArray(children)) {\n var len = children.length;\n for (var i = 0; i < len; ++i) {\n var n = children[i];\n if (isInvalid(n) || isArray(n)) {\n newChildren = newChildren || children.slice(0, i);\n _normalizeVNodes(children, newChildren, i, '');\n break;\n }\n else if (isStringOrNumber(n)) {\n newChildren = newChildren || children.slice(0, i);\n newChildren.push(createTextVNode(n, keyPrefix + i));\n }\n else {\n var key = n.key;\n var needsCloning = (n.flags & 81920 /* InUseOrNormalized */) > 0;\n var isNullKey = isNull(key);\n var isPrefixed = isString(key) && key[0] === keyPrefix;\n if (needsCloning || isNullKey || isPrefixed) {\n newChildren = newChildren || children.slice(0, i);\n if (needsCloning || isPrefixed) {\n n = directClone(n);\n }\n if (isNullKey || isPrefixed) {\n n.key = keyPrefix + i;\n }\n newChildren.push(n);\n }\n else if (newChildren) {\n newChildren.push(n);\n }\n n.flags |= 65536 /* Normalized */;\n }\n }\n newChildren = newChildren || children;\n if (newChildren.length === 0) {\n newChildFlags = 1 /* HasInvalidChildren */;\n }\n else {\n newChildFlags = 8 /* HasKeyedChildren */;\n }\n }\n else {\n newChildren = children;\n newChildren.flags |= 65536 /* Normalized */;\n if (children.flags & 81920 /* InUseOrNormalized */) {\n newChildren = directClone(children);\n }\n newChildFlags = 2 /* HasVNodeChildren */;\n }\n vNode.children = newChildren;\n vNode.childFlags = newChildFlags;\n return vNode;\n}\nfunction normalizeRoot(input) {\n if (isInvalid(input) || isStringOrNumber(input)) {\n return createTextVNode(input, null);\n }\n if (isArray(input)) {\n return createFragment(input, 0 /* UnknownChildren */, null);\n }\n return input.flags & 16384 /* InUse */ ? directClone(input) : input;\n}\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\nvar xmlNS = 'http://www.w3.org/XML/1998/namespace';\nvar namespaces = {\n 'xlink:actuate': xlinkNS,\n 'xlink:arcrole': xlinkNS,\n 'xlink:href': xlinkNS,\n 'xlink:role': xlinkNS,\n 'xlink:show': xlinkNS,\n 'xlink:title': xlinkNS,\n 'xlink:type': xlinkNS,\n 'xml:base': xmlNS,\n 'xml:lang': xmlNS,\n 'xml:space': xmlNS\n};\n\nfunction getDelegatedEventObject(v) {\n return {\n onClick: v,\n onDblClick: v,\n onFocusIn: v,\n onFocusOut: v,\n onKeyDown: v,\n onKeyPress: v,\n onKeyUp: v,\n onMouseDown: v,\n onMouseMove: v,\n onMouseUp: v,\n onTouchEnd: v,\n onTouchMove: v,\n onTouchStart: v\n };\n}\nvar attachedEventCounts = getDelegatedEventObject(0);\nvar attachedEvents = getDelegatedEventObject(null);\nvar syntheticEvents = getDelegatedEventObject(true);\nfunction updateOrAddSyntheticEvent(name, dom) {\n var eventsObject = dom.$EV;\n if (!eventsObject) {\n eventsObject = dom.$EV = getDelegatedEventObject(null);\n }\n if (!eventsObject[name]) {\n if (++attachedEventCounts[name] === 1) {\n attachedEvents[name] = attachEventToDocument(name);\n }\n }\n return eventsObject;\n}\nfunction unmountSyntheticEvent(name, dom) {\n var eventsObject = dom.$EV;\n if (eventsObject && eventsObject[name]) {\n if (--attachedEventCounts[name] === 0) {\n document.removeEventListener(normalizeEventName(name), attachedEvents[name]);\n attachedEvents[name] = null;\n }\n eventsObject[name] = null;\n }\n}\nfunction handleSyntheticEvent(name, lastEvent, nextEvent, dom) {\n if (isFunction(nextEvent)) {\n updateOrAddSyntheticEvent(name, dom)[name] = nextEvent;\n }\n else if (isLinkEventObject(nextEvent)) {\n if (isLastValueSameLinkEvent(lastEvent, nextEvent)) {\n return;\n }\n updateOrAddSyntheticEvent(name, dom)[name] = nextEvent;\n }\n else {\n unmountSyntheticEvent(name, dom);\n }\n}\n// When browsers fully support event.composedPath we could loop it through instead of using parentNode property\nfunction getTargetNode(event) {\n return isFunction(event.composedPath) ? event.composedPath()[0] : event.target;\n}\nfunction dispatchEvents(event, isClick, name, eventData) {\n var dom = getTargetNode(event);\n do {\n // Html Nodes can be nested fe: span inside button in that scenario browser does not handle disabled attribute on parent,\n // because the event listener is on document.body\n // Don't process clicks on disabled elements\n if (isClick && dom.disabled) {\n return;\n }\n var eventsObject = dom.$EV;\n if (eventsObject) {\n var currentEvent = eventsObject[name];\n if (currentEvent) {\n // linkEvent object\n eventData.dom = dom;\n currentEvent.event ? currentEvent.event(currentEvent.data, event) : currentEvent(event);\n if (event.cancelBubble) {\n return;\n }\n }\n }\n dom = dom.parentNode;\n } while (!isNull(dom));\n}\nfunction stopPropagation() {\n this.cancelBubble = true;\n if (!this.immediatePropagationStopped) {\n this.stopImmediatePropagation();\n }\n}\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\n}\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\nfunction extendEventProperties(event) {\n // Event data needs to be object to save reference to currentTarget getter\n var eventData = {\n dom: document\n };\n event.isDefaultPrevented = isDefaultPrevented;\n event.isPropagationStopped = isPropagationStopped;\n event.stopPropagation = stopPropagation;\n Object.defineProperty(event, 'currentTarget', {\n configurable: true,\n get: function get() {\n return eventData.dom;\n }\n });\n return eventData;\n}\nfunction rootClickEvent(name) {\n return function (event) {\n if (event.button !== 0) {\n // Firefox incorrectly triggers click event for mid/right mouse buttons.\n // This bug has been active for 17 years.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=184051\n event.stopPropagation();\n return;\n }\n dispatchEvents(event, true, name, extendEventProperties(event));\n };\n}\nfunction rootEvent(name) {\n return function (event) {\n dispatchEvents(event, false, name, extendEventProperties(event));\n };\n}\nfunction attachEventToDocument(name) {\n var attachedEvent = name === 'onClick' || name === 'onDblClick' ? rootClickEvent(name) : rootEvent(name);\n document.addEventListener(normalizeEventName(name), attachedEvent);\n return attachedEvent;\n}\n\nfunction isSameInnerHTML(dom, innerHTML) {\n var tempdom = document.createElement('i');\n tempdom.innerHTML = innerHTML;\n return tempdom.innerHTML === dom.innerHTML;\n}\n\nfunction triggerEventListener(props, methodName, e) {\n if (props[methodName]) {\n var listener = props[methodName];\n if (listener.event) {\n listener.event(listener.data, e);\n }\n else {\n listener(e);\n }\n }\n else {\n var nativeListenerName = methodName.toLowerCase();\n if (props[nativeListenerName]) {\n props[nativeListenerName](e);\n }\n }\n}\nfunction createWrappedFunction(methodName, applyValue) {\n var fnMethod = function (e) {\n var vNode = this.$V;\n // If vNode is gone by the time event fires, no-op\n if (!vNode) {\n return;\n }\n var props = vNode.props || EMPTY_OBJ;\n var dom = vNode.dom;\n if (isString(methodName)) {\n triggerEventListener(props, methodName, e);\n }\n else {\n for (var i = 0; i < methodName.length; ++i) {\n triggerEventListener(props, methodName[i], e);\n }\n }\n if (isFunction(applyValue)) {\n var newVNode = this.$V;\n var newProps = newVNode.props || EMPTY_OBJ;\n applyValue(newProps, dom, false, newVNode);\n }\n };\n Object.defineProperty(fnMethod, 'wrapped', {\n configurable: false,\n enumerable: false,\n value: true,\n writable: false\n });\n return fnMethod;\n}\n\nfunction attachEvent(dom, eventName, handler) {\n var previousKey = \"$\" + eventName;\n var previousArgs = dom[previousKey];\n if (previousArgs) {\n if (previousArgs[1].wrapped) {\n return;\n }\n dom.removeEventListener(previousArgs[0], previousArgs[1]);\n dom[previousKey] = null;\n }\n if (isFunction(handler)) {\n dom.addEventListener(eventName, handler);\n dom[previousKey] = [eventName, handler];\n }\n}\n\nfunction isCheckedType(type) {\n return type === 'checkbox' || type === 'radio';\n}\nvar onTextInputChange = createWrappedFunction('onInput', applyValueInput);\nvar wrappedOnChange = createWrappedFunction(['onClick', 'onChange'], applyValueInput);\n/* tslint:disable-next-line:no-empty */\nfunction emptywrapper(event) {\n event.stopPropagation();\n}\nemptywrapper.wrapped = true;\nfunction inputEvents(dom, nextPropsOrEmpty) {\n if (isCheckedType(nextPropsOrEmpty.type)) {\n attachEvent(dom, 'change', wrappedOnChange);\n attachEvent(dom, 'click', emptywrapper);\n }\n else {\n attachEvent(dom, 'input', onTextInputChange);\n }\n}\nfunction applyValueInput(nextPropsOrEmpty, dom) {\n var type = nextPropsOrEmpty.type;\n var value = nextPropsOrEmpty.value;\n var checked = nextPropsOrEmpty.checked;\n var multiple = nextPropsOrEmpty.multiple;\n var defaultValue = nextPropsOrEmpty.defaultValue;\n var hasValue = !isNullOrUndef(value);\n if (type && type !== dom.type) {\n dom.setAttribute('type', type);\n }\n if (!isNullOrUndef(multiple) && multiple !== dom.multiple) {\n dom.multiple = multiple;\n }\n if (!isNullOrUndef(defaultValue) && !hasValue) {\n dom.defaultValue = defaultValue + '';\n }\n if (isCheckedType(type)) {\n if (hasValue) {\n dom.value = value;\n }\n if (!isNullOrUndef(checked)) {\n dom.checked = checked;\n }\n }\n else {\n if (hasValue && dom.value !== value) {\n dom.defaultValue = value;\n dom.value = value;\n }\n else if (!isNullOrUndef(checked)) {\n dom.checked = checked;\n }\n }\n}\n\nfunction updateChildOptions(vNode, value) {\n if (vNode.type === 'option') {\n updateChildOption(vNode, value);\n }\n else {\n var children = vNode.children;\n var flags = vNode.flags;\n if (flags & 4 /* ComponentClass */) {\n updateChildOptions(children.$LI, value);\n }\n else if (flags & 8 /* ComponentFunction */) {\n updateChildOptions(children, value);\n }\n else if (vNode.childFlags === 2 /* HasVNodeChildren */) {\n updateChildOptions(children, value);\n }\n else if (vNode.childFlags & 12 /* MultipleChildren */) {\n for (var i = 0, len = children.length; i < len; ++i) {\n updateChildOptions(children[i], value);\n }\n }\n }\n}\nfunction updateChildOption(vNode, value) {\n var props = vNode.props || EMPTY_OBJ;\n var dom = vNode.dom;\n // we do this as multiple may have changed\n dom.value = props.value;\n if (props.value === value || (isArray(value) && value.indexOf(props.value) !== -1)) {\n dom.selected = true;\n }\n else if (!isNullOrUndef(value) || !isNullOrUndef(props.selected)) {\n dom.selected = props.selected || false;\n }\n}\nvar onSelectChange = createWrappedFunction('onChange', applyValueSelect);\nfunction selectEvents(dom) {\n attachEvent(dom, 'change', onSelectChange);\n}\nfunction applyValueSelect(nextPropsOrEmpty, dom, mounting, vNode) {\n var multiplePropInBoolean = Boolean(nextPropsOrEmpty.multiple);\n if (!isNullOrUndef(nextPropsOrEmpty.multiple) && multiplePropInBoolean !== dom.multiple) {\n dom.multiple = multiplePropInBoolean;\n }\n var index = nextPropsOrEmpty.selectedIndex;\n if (index === -1) {\n dom.selectedIndex = -1;\n }\n var childFlags = vNode.childFlags;\n if (childFlags !== 1 /* HasInvalidChildren */) {\n var value = nextPropsOrEmpty.value;\n if (isNumber(index) && index > -1 && dom.options[index]) {\n value = dom.options[index].value;\n }\n if (mounting && isNullOrUndef(value)) {\n value = nextPropsOrEmpty.defaultValue;\n }\n updateChildOptions(vNode, value);\n }\n}\n\nvar onTextareaInputChange = createWrappedFunction('onInput', applyValueTextArea);\nvar wrappedOnChange$1 = createWrappedFunction('onChange');\nfunction textAreaEvents(dom, nextPropsOrEmpty) {\n attachEvent(dom, 'input', onTextareaInputChange);\n if (nextPropsOrEmpty.onChange) {\n attachEvent(dom, 'change', wrappedOnChange$1);\n }\n}\nfunction applyValueTextArea(nextPropsOrEmpty, dom, mounting) {\n var value = nextPropsOrEmpty.value;\n var domValue = dom.value;\n if (isNullOrUndef(value)) {\n if (mounting) {\n var defaultValue = nextPropsOrEmpty.defaultValue;\n if (!isNullOrUndef(defaultValue) && defaultValue !== domValue) {\n dom.defaultValue = defaultValue;\n dom.value = defaultValue;\n }\n }\n }\n else if (domValue !== value) {\n /* There is value so keep it controlled */\n dom.defaultValue = value;\n dom.value = value;\n }\n}\n\nfunction processElement(flags, vNode, dom, nextPropsOrEmpty, mounting, isControlled) {\n if (flags & 64 /* InputElement */) {\n applyValueInput(nextPropsOrEmpty, dom);\n }\n else if (flags & 256 /* SelectElement */) {\n applyValueSelect(nextPropsOrEmpty, dom, mounting, vNode);\n }\n else if (flags & 128 /* TextareaElement */) {\n applyValueTextArea(nextPropsOrEmpty, dom, mounting);\n }\n if (isControlled) {\n dom.$V = vNode;\n }\n}\nfunction addFormElementEventHandlers(flags, dom, nextPropsOrEmpty) {\n if (flags & 64 /* InputElement */) {\n inputEvents(dom, nextPropsOrEmpty);\n }\n else if (flags & 256 /* SelectElement */) {\n selectEvents(dom);\n }\n else if (flags & 128 /* TextareaElement */) {\n textAreaEvents(dom, nextPropsOrEmpty);\n }\n}\nfunction isControlledFormElement(nextPropsOrEmpty) {\n return nextPropsOrEmpty.type && isCheckedType(nextPropsOrEmpty.type) ? !isNullOrUndef(nextPropsOrEmpty.checked) : !isNullOrUndef(nextPropsOrEmpty.value);\n}\n\nfunction createRef() {\n return {\n current: null\n };\n}\nfunction forwardRef(render) {\n // @ts-ignore\n return {\n render: render\n };\n}\nfunction unmountRef(ref) {\n if (ref) {\n if (!safeCall1(ref, null) && ref.current) {\n ref.current = null;\n }\n }\n}\nfunction mountRef(ref, value, lifecycle) {\n if (ref && (isFunction(ref) || ref.current !== void 0)) {\n lifecycle.push(function () {\n if (!safeCall1(ref, value) && ref.current !== void 0) {\n ref.current = value;\n }\n });\n }\n}\n\nfunction remove(vNode, parentDOM) {\n unmount(vNode);\n removeVNodeDOM(vNode, parentDOM);\n}\nfunction unmount(vNode) {\n var flags = vNode.flags;\n var children = vNode.children;\n var ref;\n if (flags & 481 /* Element */) {\n ref = vNode.ref;\n var props = vNode.props;\n unmountRef(ref);\n var childFlags = vNode.childFlags;\n if (!isNull(props)) {\n var keys = Object.keys(props);\n for (var i = 0, len = keys.length; i < len; i++) {\n var key = keys[i];\n if (syntheticEvents[key]) {\n unmountSyntheticEvent(key, vNode.dom);\n }\n }\n }\n if (childFlags & 12 /* MultipleChildren */) {\n unmountAllChildren(children);\n }\n else if (childFlags === 2 /* HasVNodeChildren */) {\n unmount(children);\n }\n }\n else if (children) {\n if (flags & 4 /* ComponentClass */) {\n if (isFunction(children.componentWillUnmount)) {\n children.componentWillUnmount();\n }\n unmountRef(vNode.ref);\n children.$UN = true;\n unmount(children.$LI);\n }\n else if (flags & 8 /* ComponentFunction */) {\n ref = vNode.ref;\n if (!isNullOrUndef(ref) && isFunction(ref.onComponentWillUnmount)) {\n ref.onComponentWillUnmount(findDOMfromVNode(vNode, true), vNode.props || EMPTY_OBJ);\n }\n unmount(children);\n }\n else if (flags & 1024 /* Portal */) {\n remove(children, vNode.ref);\n }\n else if (flags & 8192 /* Fragment */) {\n if (vNode.childFlags & 12 /* MultipleChildren */) {\n unmountAllChildren(children);\n }\n }\n }\n}\nfunction unmountAllChildren(children) {\n for (var i = 0, len = children.length; i < len; ++i) {\n unmount(children[i]);\n }\n}\nfunction clearDOM(dom) {\n // Optimization for clearing dom\n dom.textContent = '';\n}\nfunction removeAllChildren(dom, vNode, children) {\n unmountAllChildren(children);\n if (vNode.flags & 8192 /* Fragment */) {\n removeVNodeDOM(vNode, dom);\n }\n else {\n clearDOM(dom);\n }\n}\n\nfunction wrapLinkEvent(nextValue) {\n // This variable makes sure there is no \"this\" context in callback\n var ev = nextValue.event;\n return function (e) {\n ev(nextValue.data, e);\n };\n}\nfunction patchEvent(name, lastValue, nextValue, dom) {\n if (isLinkEventObject(nextValue)) {\n if (isLastValueSameLinkEvent(lastValue, nextValue)) {\n return;\n }\n nextValue = wrapLinkEvent(nextValue);\n }\n attachEvent(dom, normalizeEventName(name), nextValue);\n}\n// We are assuming here that we come from patchProp routine\n// -nextAttrValue cannot be null or undefined\nfunction patchStyle(lastAttrValue, nextAttrValue, dom) {\n if (isNullOrUndef(nextAttrValue)) {\n dom.removeAttribute('style');\n return;\n }\n var domStyle = dom.style;\n var style;\n var value;\n if (isString(nextAttrValue)) {\n domStyle.cssText = nextAttrValue;\n return;\n }\n if (!isNullOrUndef(lastAttrValue) && !isString(lastAttrValue)) {\n for (style in nextAttrValue) {\n // do not add a hasOwnProperty check here, it affects performance\n value = nextAttrValue[style];\n if (value !== lastAttrValue[style]) {\n domStyle.setProperty(style, value);\n }\n }\n for (style in lastAttrValue) {\n if (isNullOrUndef(nextAttrValue[style])) {\n domStyle.removeProperty(style);\n }\n }\n }\n else {\n for (style in nextAttrValue) {\n value = nextAttrValue[style];\n domStyle.setProperty(style, value);\n }\n }\n}\nfunction patchDangerInnerHTML(lastValue, nextValue, lastVNode, dom) {\n var lastHtml = (lastValue && lastValue.__html) || '';\n var nextHtml = (nextValue && nextValue.__html) || '';\n if (lastHtml !== nextHtml) {\n if (!isNullOrUndef(nextHtml) && !isSameInnerHTML(dom, nextHtml)) {\n if (!isNull(lastVNode)) {\n if (lastVNode.childFlags & 12 /* MultipleChildren */) {\n unmountAllChildren(lastVNode.children);\n }\n else if (lastVNode.childFlags === 2 /* HasVNodeChildren */) {\n unmount(lastVNode.children);\n }\n lastVNode.children = null;\n lastVNode.childFlags = 1 /* HasInvalidChildren */;\n }\n dom.innerHTML = nextHtml;\n }\n }\n}\nfunction patchProp(prop, lastValue, nextValue, dom, isSVG, hasControlledValue, lastVNode) {\n switch (prop) {\n case 'children':\n case 'childrenType':\n case 'className':\n case 'defaultValue':\n case 'key':\n case 'multiple':\n case 'ref':\n case 'selectedIndex':\n break;\n case 'autoFocus':\n dom.autofocus = !!nextValue;\n break;\n case 'allowfullscreen':\n case 'autoplay':\n case 'capture':\n case 'checked':\n case 'controls':\n case 'default':\n case 'disabled':\n case 'hidden':\n case 'indeterminate':\n case 'loop':\n case 'muted':\n case 'novalidate':\n case 'open':\n case 'readOnly':\n case 'required':\n case 'reversed':\n case 'scoped':\n case 'seamless':\n case 'selected':\n dom[prop] = !!nextValue;\n break;\n case 'defaultChecked':\n case 'value':\n case 'volume':\n if (hasControlledValue && prop === 'value') {\n break;\n }\n var value = isNullOrUndef(nextValue) ? '' : nextValue;\n if (dom[prop] !== value) {\n dom[prop] = value;\n }\n break;\n case 'style':\n patchStyle(lastValue, nextValue, dom);\n break;\n case 'dangerouslySetInnerHTML':\n patchDangerInnerHTML(lastValue, nextValue, lastVNode, dom);\n break;\n default:\n if (syntheticEvents[prop]) {\n handleSyntheticEvent(prop, lastValue, nextValue, dom);\n }\n else if (prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110) {\n patchEvent(prop, lastValue, nextValue, dom);\n }\n else if (isNullOrUndef(nextValue)) {\n dom.removeAttribute(prop);\n }\n else if (isSVG && namespaces[prop]) {\n // We optimize for isSVG being false\n // If we end up in this path we can read property again\n dom.setAttributeNS(namespaces[prop], prop, nextValue);\n }\n else {\n dom.setAttribute(prop, nextValue);\n }\n break;\n }\n}\nfunction mountProps(vNode, flags, props, dom, isSVG) {\n var hasControlledValue = false;\n var isFormElement = (flags & 448 /* FormElement */) > 0;\n if (isFormElement) {\n hasControlledValue = isControlledFormElement(props);\n if (hasControlledValue) {\n addFormElementEventHandlers(flags, dom, props);\n }\n }\n for (var prop in props) {\n // do not add a hasOwnProperty check here, it affects performance\n patchProp(prop, null, props[prop], dom, isSVG, hasControlledValue, null);\n }\n if (isFormElement) {\n processElement(flags, vNode, dom, props, true, hasControlledValue);\n }\n}\n\nfunction renderNewInput(instance, props, context) {\n var nextInput = normalizeRoot(instance.render(props, instance.state, context));\n var childContext = context;\n if (isFunction(instance.getChildContext)) {\n childContext = combineFrom(context, instance.getChildContext());\n }\n instance.$CX = childContext;\n return nextInput;\n}\nfunction createClassComponentInstance(vNode, Component, props, context, isSVG, lifecycle) {\n var instance = new Component(props, context);\n var usesNewAPI = (instance.$N = Boolean(Component.getDerivedStateFromProps || instance.getSnapshotBeforeUpdate));\n instance.$SVG = isSVG;\n instance.$L = lifecycle;\n vNode.children = instance;\n instance.$BS = false;\n instance.context = context;\n if (instance.props === EMPTY_OBJ) {\n instance.props = props;\n }\n if (!usesNewAPI) {\n if (isFunction(instance.componentWillMount)) {\n instance.$BR = true;\n instance.componentWillMount();\n var pending = instance.$PS;\n if (!isNull(pending)) {\n var state = instance.state;\n if (isNull(state)) {\n instance.state = pending;\n }\n else {\n for (var key in pending) {\n state[key] = pending[key];\n }\n }\n instance.$PS = null;\n }\n instance.$BR = false;\n }\n }\n else {\n instance.state = createDerivedState(instance, props, instance.state);\n }\n instance.$LI = renderNewInput(instance, props, context);\n return instance;\n}\nfunction renderFunctionalComponent(vNode, context) {\n var props = vNode.props || EMPTY_OBJ;\n return vNode.flags & 32768 /* ForwardRef */ ? vNode.type.render(props, vNode.ref, context) : vNode.type(props, context);\n}\n\nfunction mount(vNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var flags = (vNode.flags |= 16384 /* InUse */);\n if (flags & 481 /* Element */) {\n mountElement(vNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else if (flags & 4 /* ComponentClass */) {\n mountClassComponent(vNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else if (flags & 8 /* ComponentFunction */) {\n mountFunctionalComponent(vNode, parentDOM, context, isSVG, nextNode, lifecycle);\n mountFunctionalComponentCallbacks(vNode, lifecycle);\n }\n else if (flags & 512 /* Void */ || flags & 16 /* Text */) {\n mountText(vNode, parentDOM, nextNode);\n }\n else if (flags & 8192 /* Fragment */) {\n mountFragment(vNode, context, parentDOM, isSVG, nextNode, lifecycle);\n }\n else if (flags & 1024 /* Portal */) {\n mountPortal(vNode, context, parentDOM, nextNode, lifecycle);\n }\n else ;\n}\nfunction mountPortal(vNode, context, parentDOM, nextNode, lifecycle) {\n mount(vNode.children, vNode.ref, context, false, null, lifecycle);\n var placeHolderVNode = createVoidVNode();\n mountText(placeHolderVNode, parentDOM, nextNode);\n vNode.dom = placeHolderVNode.dom;\n}\nfunction mountFragment(vNode, context, parentDOM, isSVG, nextNode, lifecycle) {\n var children = vNode.children;\n var childFlags = vNode.childFlags;\n // When fragment is optimized for multiple children, check if there is no children and change flag to invalid\n // This is the only normalization always done, to keep optimization flags API same for fragments and regular elements\n if (childFlags & 12 /* MultipleChildren */ && children.length === 0) {\n childFlags = vNode.childFlags = 2 /* HasVNodeChildren */;\n children = vNode.children = createVoidVNode();\n }\n if (childFlags === 2 /* HasVNodeChildren */) {\n mount(children, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else {\n mountArrayChildren(children, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n}\nfunction mountText(vNode, parentDOM, nextNode) {\n var dom = (vNode.dom = document.createTextNode(vNode.children));\n if (!isNull(parentDOM)) {\n insertOrAppend(parentDOM, dom, nextNode);\n }\n}\nfunction mountElement(vNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var flags = vNode.flags;\n var props = vNode.props;\n var className = vNode.className;\n var childFlags = vNode.childFlags;\n var dom = (vNode.dom = documentCreateElement(vNode.type, (isSVG = isSVG || (flags & 32 /* SvgElement */) > 0)));\n var children = vNode.children;\n if (!isNullOrUndef(className) && className !== '') {\n if (isSVG) {\n dom.setAttribute('class', className);\n }\n else {\n dom.className = className;\n }\n }\n if (childFlags === 16 /* HasTextChildren */) {\n setTextContent(dom, children);\n }\n else if (childFlags !== 1 /* HasInvalidChildren */) {\n var childrenIsSVG = isSVG && vNode.type !== 'foreignObject';\n if (childFlags === 2 /* HasVNodeChildren */) {\n if (children.flags & 16384 /* InUse */) {\n vNode.children = children = directClone(children);\n }\n mount(children, dom, context, childrenIsSVG, null, lifecycle);\n }\n else if (childFlags === 8 /* HasKeyedChildren */ || childFlags === 4 /* HasNonKeyedChildren */) {\n mountArrayChildren(children, dom, context, childrenIsSVG, null, lifecycle);\n }\n }\n if (!isNull(parentDOM)) {\n insertOrAppend(parentDOM, dom, nextNode);\n }\n if (!isNull(props)) {\n mountProps(vNode, flags, props, dom, isSVG);\n }\n mountRef(vNode.ref, dom, lifecycle);\n}\nfunction mountArrayChildren(children, dom, context, isSVG, nextNode, lifecycle) {\n for (var i = 0; i < children.length; ++i) {\n var child = children[i];\n if (child.flags & 16384 /* InUse */) {\n children[i] = child = directClone(child);\n }\n mount(child, dom, context, isSVG, nextNode, lifecycle);\n }\n}\nfunction mountClassComponent(vNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var instance = createClassComponentInstance(vNode, vNode.type, vNode.props || EMPTY_OBJ, context, isSVG, lifecycle);\n mount(instance.$LI, parentDOM, instance.$CX, isSVG, nextNode, lifecycle);\n mountClassComponentCallbacks(vNode.ref, instance, lifecycle);\n}\nfunction mountFunctionalComponent(vNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n mount((vNode.children = normalizeRoot(renderFunctionalComponent(vNode, context))), parentDOM, context, isSVG, nextNode, lifecycle);\n}\nfunction createClassMountCallback(instance) {\n return function () {\n instance.componentDidMount();\n };\n}\nfunction mountClassComponentCallbacks(ref, instance, lifecycle) {\n mountRef(ref, instance, lifecycle);\n if (isFunction(instance.componentDidMount)) {\n lifecycle.push(createClassMountCallback(instance));\n }\n}\nfunction createOnMountCallback(ref, vNode) {\n return function () {\n ref.onComponentDidMount(findDOMfromVNode(vNode, true), vNode.props || EMPTY_OBJ);\n };\n}\nfunction mountFunctionalComponentCallbacks(vNode, lifecycle) {\n var ref = vNode.ref;\n if (!isNullOrUndef(ref)) {\n safeCall1(ref.onComponentWillMount, vNode.props || EMPTY_OBJ);\n if (isFunction(ref.onComponentDidMount)) {\n lifecycle.push(createOnMountCallback(ref, vNode));\n }\n }\n}\n\nfunction replaceWithNewNode(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle) {\n unmount(lastVNode);\n if ((nextVNode.flags & lastVNode.flags & 2033 /* DOMRef */) !== 0) {\n mount(nextVNode, null, context, isSVG, null, lifecycle);\n // Single DOM operation, when we have dom references available\n replaceChild(parentDOM, nextVNode.dom, lastVNode.dom);\n }\n else {\n mount(nextVNode, parentDOM, context, isSVG, findDOMfromVNode(lastVNode, true), lifecycle);\n removeVNodeDOM(lastVNode, parentDOM);\n }\n}\nfunction patch(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var nextFlags = (nextVNode.flags |= 16384 /* InUse */);\n if (lastVNode.flags !== nextFlags || lastVNode.type !== nextVNode.type || lastVNode.key !== nextVNode.key || nextFlags & 2048 /* ReCreate */) {\n if (lastVNode.flags & 16384 /* InUse */) {\n replaceWithNewNode(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle);\n }\n else {\n // Last vNode is not in use, it has crashed at application level. Just mount nextVNode and ignore last one\n mount(nextVNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n }\n else if (nextFlags & 481 /* Element */) {\n patchElement(lastVNode, nextVNode, context, isSVG, nextFlags, lifecycle);\n }\n else if (nextFlags & 4 /* ComponentClass */) {\n patchClassComponent(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else if (nextFlags & 8 /* ComponentFunction */) {\n patchFunctionalComponent(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else if (nextFlags & 16 /* Text */) {\n patchText(lastVNode, nextVNode);\n }\n else if (nextFlags & 512 /* Void */) {\n nextVNode.dom = lastVNode.dom;\n }\n else if (nextFlags & 8192 /* Fragment */) {\n patchFragment(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle);\n }\n else {\n patchPortal(lastVNode, nextVNode, context, lifecycle);\n }\n}\nfunction patchSingleTextChild(lastChildren, nextChildren, parentDOM) {\n if (lastChildren !== nextChildren) {\n if (lastChildren !== '') {\n parentDOM.firstChild.nodeValue = nextChildren;\n }\n else {\n setTextContent(parentDOM, nextChildren);\n }\n }\n}\nfunction patchContentEditableChildren(dom, nextChildren) {\n if (dom.textContent !== nextChildren) {\n dom.textContent = nextChildren;\n }\n}\nfunction patchFragment(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle) {\n var lastChildren = lastVNode.children;\n var nextChildren = nextVNode.children;\n var lastChildFlags = lastVNode.childFlags;\n var nextChildFlags = nextVNode.childFlags;\n var nextNode = null;\n // When fragment is optimized for multiple children, check if there is no children and change flag to invalid\n // This is the only normalization always done, to keep optimization flags API same for fragments and regular elements\n if (nextChildFlags & 12 /* MultipleChildren */ && nextChildren.length === 0) {\n nextChildFlags = nextVNode.childFlags = 2 /* HasVNodeChildren */;\n nextChildren = nextVNode.children = createVoidVNode();\n }\n var nextIsSingle = (nextChildFlags & 2 /* HasVNodeChildren */) !== 0;\n if (lastChildFlags & 12 /* MultipleChildren */) {\n var lastLen = lastChildren.length;\n // We need to know Fragment's edge node when\n if (\n // It uses keyed algorithm\n (lastChildFlags & 8 /* HasKeyedChildren */ && nextChildFlags & 8 /* HasKeyedChildren */) ||\n // It transforms from many to single\n nextIsSingle ||\n // It will append more nodes\n (!nextIsSingle && nextChildren.length > lastLen)) {\n // When fragment has multiple children there is always at least one vNode\n nextNode = findDOMfromVNode(lastChildren[lastLen - 1], false).nextSibling;\n }\n }\n patchChildren(lastChildFlags, nextChildFlags, lastChildren, nextChildren, parentDOM, context, isSVG, nextNode, lastVNode, lifecycle);\n}\nfunction patchPortal(lastVNode, nextVNode, context, lifecycle) {\n var lastContainer = lastVNode.ref;\n var nextContainer = nextVNode.ref;\n var nextChildren = nextVNode.children;\n patchChildren(lastVNode.childFlags, nextVNode.childFlags, lastVNode.children, nextChildren, lastContainer, context, false, null, lastVNode, lifecycle);\n nextVNode.dom = lastVNode.dom;\n if (lastContainer !== nextContainer && !isInvalid(nextChildren)) {\n var node = nextChildren.dom;\n removeChild(lastContainer, node);\n appendChild(nextContainer, node);\n }\n}\nfunction patchElement(lastVNode, nextVNode, context, isSVG, nextFlags, lifecycle) {\n var dom = (nextVNode.dom = lastVNode.dom);\n var lastProps = lastVNode.props;\n var nextProps = nextVNode.props;\n var isFormElement = false;\n var hasControlledValue = false;\n var nextPropsOrEmpty;\n isSVG = isSVG || (nextFlags & 32 /* SvgElement */) > 0;\n // inlined patchProps -- starts --\n if (lastProps !== nextProps) {\n var lastPropsOrEmpty = lastProps || EMPTY_OBJ;\n nextPropsOrEmpty = nextProps || EMPTY_OBJ;\n if (nextPropsOrEmpty !== EMPTY_OBJ) {\n isFormElement = (nextFlags & 448 /* FormElement */) > 0;\n if (isFormElement) {\n hasControlledValue = isControlledFormElement(nextPropsOrEmpty);\n }\n for (var prop in nextPropsOrEmpty) {\n var lastValue = lastPropsOrEmpty[prop];\n var nextValue = nextPropsOrEmpty[prop];\n if (lastValue !== nextValue) {\n patchProp(prop, lastValue, nextValue, dom, isSVG, hasControlledValue, lastVNode);\n }\n }\n }\n if (lastPropsOrEmpty !== EMPTY_OBJ) {\n for (var prop$1 in lastPropsOrEmpty) {\n if (isNullOrUndef(nextPropsOrEmpty[prop$1]) && !isNullOrUndef(lastPropsOrEmpty[prop$1])) {\n patchProp(prop$1, lastPropsOrEmpty[prop$1], null, dom, isSVG, hasControlledValue, lastVNode);\n }\n }\n }\n }\n var nextChildren = nextVNode.children;\n var nextClassName = nextVNode.className;\n // inlined patchProps -- ends --\n if (lastVNode.className !== nextClassName) {\n if (isNullOrUndef(nextClassName)) {\n dom.removeAttribute('class');\n }\n else if (isSVG) {\n dom.setAttribute('class', nextClassName);\n }\n else {\n dom.className = nextClassName;\n }\n }\n if (nextFlags & 4096 /* ContentEditable */) {\n patchContentEditableChildren(dom, nextChildren);\n }\n else {\n patchChildren(lastVNode.childFlags, nextVNode.childFlags, lastVNode.children, nextChildren, dom, context, isSVG && nextVNode.type !== 'foreignObject', null, lastVNode, lifecycle);\n }\n if (isFormElement) {\n processElement(nextFlags, nextVNode, dom, nextPropsOrEmpty, false, hasControlledValue);\n }\n var nextRef = nextVNode.ref;\n var lastRef = lastVNode.ref;\n if (lastRef !== nextRef) {\n unmountRef(lastRef);\n mountRef(nextRef, dom, lifecycle);\n }\n}\nfunction replaceOneVNodeWithMultipleVNodes(lastChildren, nextChildren, parentDOM, context, isSVG, lifecycle) {\n unmount(lastChildren);\n mountArrayChildren(nextChildren, parentDOM, context, isSVG, findDOMfromVNode(lastChildren, true), lifecycle);\n removeVNodeDOM(lastChildren, parentDOM);\n}\nfunction patchChildren(lastChildFlags, nextChildFlags, lastChildren, nextChildren, parentDOM, context, isSVG, nextNode, parentVNode, lifecycle) {\n switch (lastChildFlags) {\n case 2 /* HasVNodeChildren */:\n switch (nextChildFlags) {\n case 2 /* HasVNodeChildren */:\n patch(lastChildren, nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n case 1 /* HasInvalidChildren */:\n remove(lastChildren, parentDOM);\n break;\n case 16 /* HasTextChildren */:\n unmount(lastChildren);\n setTextContent(parentDOM, nextChildren);\n break;\n default:\n replaceOneVNodeWithMultipleVNodes(lastChildren, nextChildren, parentDOM, context, isSVG, lifecycle);\n break;\n }\n break;\n case 1 /* HasInvalidChildren */:\n switch (nextChildFlags) {\n case 2 /* HasVNodeChildren */:\n mount(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n case 1 /* HasInvalidChildren */:\n break;\n case 16 /* HasTextChildren */:\n setTextContent(parentDOM, nextChildren);\n break;\n default:\n mountArrayChildren(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n }\n break;\n case 16 /* HasTextChildren */:\n switch (nextChildFlags) {\n case 16 /* HasTextChildren */:\n patchSingleTextChild(lastChildren, nextChildren, parentDOM);\n break;\n case 2 /* HasVNodeChildren */:\n clearDOM(parentDOM);\n mount(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n case 1 /* HasInvalidChildren */:\n clearDOM(parentDOM);\n break;\n default:\n clearDOM(parentDOM);\n mountArrayChildren(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n }\n break;\n default:\n switch (nextChildFlags) {\n case 16 /* HasTextChildren */:\n unmountAllChildren(lastChildren);\n setTextContent(parentDOM, nextChildren);\n break;\n case 2 /* HasVNodeChildren */:\n removeAllChildren(parentDOM, parentVNode, lastChildren);\n mount(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n case 1 /* HasInvalidChildren */:\n removeAllChildren(parentDOM, parentVNode, lastChildren);\n break;\n default:\n var lastLength = lastChildren.length | 0;\n var nextLength = nextChildren.length | 0;\n // Fast path's for both algorithms\n if (lastLength === 0) {\n if (nextLength > 0) {\n mountArrayChildren(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n }\n else if (nextLength === 0) {\n removeAllChildren(parentDOM, parentVNode, lastChildren);\n }\n else if (nextChildFlags === 8 /* HasKeyedChildren */ && lastChildFlags === 8 /* HasKeyedChildren */) {\n patchKeyedChildren(lastChildren, nextChildren, parentDOM, context, isSVG, lastLength, nextLength, nextNode, parentVNode, lifecycle);\n }\n else {\n patchNonKeyedChildren(lastChildren, nextChildren, parentDOM, context, isSVG, lastLength, nextLength, nextNode, lifecycle);\n }\n break;\n }\n break;\n }\n}\nfunction createDidUpdate(instance, lastProps, lastState, snapshot, lifecycle) {\n lifecycle.push(function () {\n instance.componentDidUpdate(lastProps, lastState, snapshot);\n });\n}\nfunction updateClassComponent(instance, nextState, nextProps, parentDOM, context, isSVG, force, nextNode, lifecycle) {\n var lastState = instance.state;\n var lastProps = instance.props;\n var usesNewAPI = Boolean(instance.$N);\n var hasSCU = isFunction(instance.shouldComponentUpdate);\n if (usesNewAPI) {\n nextState = createDerivedState(instance, nextProps, nextState !== lastState ? combineFrom(lastState, nextState) : nextState);\n }\n if (force || !hasSCU || (hasSCU && instance.shouldComponentUpdate(nextProps, nextState, context))) {\n if (!usesNewAPI && isFunction(instance.componentWillUpdate)) {\n instance.componentWillUpdate(nextProps, nextState, context);\n }\n instance.props = nextProps;\n instance.state = nextState;\n instance.context = context;\n var snapshot = null;\n var nextInput = renderNewInput(instance, nextProps, context);\n if (usesNewAPI && isFunction(instance.getSnapshotBeforeUpdate)) {\n snapshot = instance.getSnapshotBeforeUpdate(lastProps, lastState);\n }\n patch(instance.$LI, nextInput, parentDOM, instance.$CX, isSVG, nextNode, lifecycle);\n // Dont update Last input, until patch has been succesfully executed\n instance.$LI = nextInput;\n if (isFunction(instance.componentDidUpdate)) {\n createDidUpdate(instance, lastProps, lastState, snapshot, lifecycle);\n }\n }\n else {\n instance.props = nextProps;\n instance.state = nextState;\n instance.context = context;\n }\n}\nfunction patchClassComponent(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var instance = (nextVNode.children = lastVNode.children);\n // If Component has crashed, ignore it to stay functional\n if (isNull(instance)) {\n return;\n }\n instance.$L = lifecycle;\n var nextProps = nextVNode.props || EMPTY_OBJ;\n var nextRef = nextVNode.ref;\n var lastRef = lastVNode.ref;\n var nextState = instance.state;\n if (!instance.$N) {\n if (isFunction(instance.componentWillReceiveProps)) {\n instance.$BR = true;\n instance.componentWillReceiveProps(nextProps, context);\n // If instance component was removed during its own update do nothing.\n if (instance.$UN) {\n return;\n }\n instance.$BR = false;\n }\n if (!isNull(instance.$PS)) {\n nextState = combineFrom(nextState, instance.$PS);\n instance.$PS = null;\n }\n }\n updateClassComponent(instance, nextState, nextProps, parentDOM, context, isSVG, false, nextNode, lifecycle);\n if (lastRef !== nextRef) {\n unmountRef(lastRef);\n mountRef(nextRef, instance, lifecycle);\n }\n}\nfunction patchFunctionalComponent(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var shouldUpdate = true;\n var nextProps = nextVNode.props || EMPTY_OBJ;\n var nextRef = nextVNode.ref;\n var lastProps = lastVNode.props;\n var nextHooksDefined = !isNullOrUndef(nextRef);\n var lastInput = lastVNode.children;\n if (nextHooksDefined && isFunction(nextRef.onComponentShouldUpdate)) {\n shouldUpdate = nextRef.onComponentShouldUpdate(lastProps, nextProps);\n }\n if (shouldUpdate !== false) {\n if (nextHooksDefined && isFunction(nextRef.onComponentWillUpdate)) {\n nextRef.onComponentWillUpdate(lastProps, nextProps);\n }\n var nextInput = normalizeRoot(renderFunctionalComponent(nextVNode, context));\n patch(lastInput, nextInput, parentDOM, context, isSVG, nextNode, lifecycle);\n nextVNode.children = nextInput;\n if (nextHooksDefined && isFunction(nextRef.onComponentDidUpdate)) {\n nextRef.onComponentDidUpdate(lastProps, nextProps);\n }\n }\n else {\n nextVNode.children = lastInput;\n }\n}\nfunction patchText(lastVNode, nextVNode) {\n var nextText = nextVNode.children;\n var dom = (nextVNode.dom = lastVNode.dom);\n if (nextText !== lastVNode.children) {\n dom.nodeValue = nextText;\n }\n}\nfunction patchNonKeyedChildren(lastChildren, nextChildren, dom, context, isSVG, lastChildrenLength, nextChildrenLength, nextNode, lifecycle) {\n var commonLength = lastChildrenLength > nextChildrenLength ? nextChildrenLength : lastChildrenLength;\n var i = 0;\n var nextChild;\n var lastChild;\n for (; i < commonLength; ++i) {\n nextChild = nextChildren[i];\n lastChild = lastChildren[i];\n if (nextChild.flags & 16384 /* InUse */) {\n nextChild = nextChildren[i] = directClone(nextChild);\n }\n patch(lastChild, nextChild, dom, context, isSVG, nextNode, lifecycle);\n lastChildren[i] = nextChild;\n }\n if (lastChildrenLength < nextChildrenLength) {\n for (i = commonLength; i < nextChildrenLength; ++i) {\n nextChild = nextChildren[i];\n if (nextChild.flags & 16384 /* InUse */) {\n nextChild = nextChildren[i] = directClone(nextChild);\n }\n mount(nextChild, dom, context, isSVG, nextNode, lifecycle);\n }\n }\n else if (lastChildrenLength > nextChildrenLength) {\n for (i = commonLength; i < lastChildrenLength; ++i) {\n remove(lastChildren[i], dom);\n }\n }\n}\nfunction patchKeyedChildren(a, b, dom, context, isSVG, aLength, bLength, outerEdge, parentVNode, lifecycle) {\n var aEnd = aLength - 1;\n var bEnd = bLength - 1;\n var j = 0;\n var aNode = a[j];\n var bNode = b[j];\n var nextPos;\n var nextNode;\n // Step 1\n // tslint:disable-next-line\n outer: {\n // Sync nodes with the same key at the beginning.\n while (aNode.key === bNode.key) {\n if (bNode.flags & 16384 /* InUse */) {\n b[j] = bNode = directClone(bNode);\n }\n patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle);\n a[j] = bNode;\n ++j;\n if (j > aEnd || j > bEnd) {\n break outer;\n }\n aNode = a[j];\n bNode = b[j];\n }\n aNode = a[aEnd];\n bNode = b[bEnd];\n // Sync nodes with the same key at the end.\n while (aNode.key === bNode.key) {\n if (bNode.flags & 16384 /* InUse */) {\n b[bEnd] = bNode = directClone(bNode);\n }\n patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle);\n a[aEnd] = bNode;\n aEnd--;\n bEnd--;\n if (j > aEnd || j > bEnd) {\n break outer;\n }\n aNode = a[aEnd];\n bNode = b[bEnd];\n }\n }\n if (j > aEnd) {\n if (j <= bEnd) {\n nextPos = bEnd + 1;\n nextNode = nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge;\n while (j <= bEnd) {\n bNode = b[j];\n if (bNode.flags & 16384 /* InUse */) {\n b[j] = bNode = directClone(bNode);\n }\n ++j;\n mount(bNode, dom, context, isSVG, nextNode, lifecycle);\n }\n }\n }\n else if (j > bEnd) {\n while (j <= aEnd) {\n remove(a[j++], dom);\n }\n }\n else {\n patchKeyedChildrenComplex(a, b, context, aLength, bLength, aEnd, bEnd, j, dom, isSVG, outerEdge, parentVNode, lifecycle);\n }\n}\nfunction patchKeyedChildrenComplex(a, b, context, aLength, bLength, aEnd, bEnd, j, dom, isSVG, outerEdge, parentVNode, lifecycle) {\n var aNode;\n var bNode;\n var nextPos;\n var i = 0;\n var aStart = j;\n var bStart = j;\n var aLeft = aEnd - j + 1;\n var bLeft = bEnd - j + 1;\n var sources = new Int32Array(bLeft + 1);\n // Keep track if its possible to remove whole DOM using textContent = '';\n var canRemoveWholeContent = aLeft === aLength;\n var moved = false;\n var pos = 0;\n var patched = 0;\n // When sizes are small, just loop them through\n if (bLength < 4 || (aLeft | bLeft) < 32) {\n for (i = aStart; i <= aEnd; ++i) {\n aNode = a[i];\n if (patched < bLeft) {\n for (j = bStart; j <= bEnd; j++) {\n bNode = b[j];\n if (aNode.key === bNode.key) {\n sources[j - bStart] = i + 1;\n if (canRemoveWholeContent) {\n canRemoveWholeContent = false;\n while (aStart < i) {\n remove(a[aStart++], dom);\n }\n }\n if (pos > j) {\n moved = true;\n }\n else {\n pos = j;\n }\n if (bNode.flags & 16384 /* InUse */) {\n b[j] = bNode = directClone(bNode);\n }\n patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle);\n ++patched;\n break;\n }\n }\n if (!canRemoveWholeContent && j > bEnd) {\n remove(aNode, dom);\n }\n }\n else if (!canRemoveWholeContent) {\n remove(aNode, dom);\n }\n }\n }\n else {\n var keyIndex = {};\n // Map keys by their index\n for (i = bStart; i <= bEnd; ++i) {\n keyIndex[b[i].key] = i;\n }\n // Try to patch same keys\n for (i = aStart; i <= aEnd; ++i) {\n aNode = a[i];\n if (patched < bLeft) {\n j = keyIndex[aNode.key];\n if (j !== void 0) {\n if (canRemoveWholeContent) {\n canRemoveWholeContent = false;\n while (i > aStart) {\n remove(a[aStart++], dom);\n }\n }\n sources[j - bStart] = i + 1;\n if (pos > j) {\n moved = true;\n }\n else {\n pos = j;\n }\n bNode = b[j];\n if (bNode.flags & 16384 /* InUse */) {\n b[j] = bNode = directClone(bNode);\n }\n patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle);\n ++patched;\n }\n else if (!canRemoveWholeContent) {\n remove(aNode, dom);\n }\n }\n else if (!canRemoveWholeContent) {\n remove(aNode, dom);\n }\n }\n }\n // fast-path: if nothing patched remove all old and add all new\n if (canRemoveWholeContent) {\n removeAllChildren(dom, parentVNode, a);\n mountArrayChildren(b, dom, context, isSVG, outerEdge, lifecycle);\n }\n else if (moved) {\n var seq = lis_algorithm(sources);\n j = seq.length - 1;\n for (i = bLeft - 1; i >= 0; i--) {\n if (sources[i] === 0) {\n pos = i + bStart;\n bNode = b[pos];\n if (bNode.flags & 16384 /* InUse */) {\n b[pos] = bNode = directClone(bNode);\n }\n nextPos = pos + 1;\n mount(bNode, dom, context, isSVG, nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge, lifecycle);\n }\n else if (j < 0 || i !== seq[j]) {\n pos = i + bStart;\n bNode = b[pos];\n nextPos = pos + 1;\n moveVNodeDOM(bNode, dom, nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge);\n }\n else {\n j--;\n }\n }\n }\n else if (patched !== bLeft) {\n // when patched count doesn't match b length we need to insert those new ones\n // loop backwards so we can use insertBefore\n for (i = bLeft - 1; i >= 0; i--) {\n if (sources[i] === 0) {\n pos = i + bStart;\n bNode = b[pos];\n if (bNode.flags & 16384 /* InUse */) {\n b[pos] = bNode = directClone(bNode);\n }\n nextPos = pos + 1;\n mount(bNode, dom, context, isSVG, nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge, lifecycle);\n }\n }\n }\n}\nvar result;\nvar p;\nvar maxLen = 0;\n// https://en.wikipedia.org/wiki/Longest_increasing_subsequence\nfunction lis_algorithm(arr) {\n var arrI = 0;\n var i = 0;\n var j = 0;\n var k = 0;\n var u = 0;\n var v = 0;\n var c = 0;\n var len = arr.length;\n if (len > maxLen) {\n maxLen = len;\n result = new Int32Array(len);\n p = new Int32Array(len);\n }\n for (; i < len; ++i) {\n arrI = arr[i];\n if (arrI !== 0) {\n j = result[k];\n if (arr[j] < arrI) {\n p[i] = j;\n result[++k] = i;\n continue;\n }\n u = 0;\n v = k;\n while (u < v) {\n c = (u + v) >> 1;\n if (arr[result[c]] < arrI) {\n u = c + 1;\n }\n else {\n v = c;\n }\n }\n if (arrI < arr[result[u]]) {\n if (u > 0) {\n p[i] = result[u - 1];\n }\n result[u] = i;\n }\n }\n }\n u = k + 1;\n var seq = new Int32Array(u);\n v = result[u - 1];\n while (u-- > 0) {\n seq[u] = v;\n v = p[v];\n result[u] = 0;\n }\n return seq;\n}\n\nvar hasDocumentAvailable = typeof document !== 'undefined';\nif (hasDocumentAvailable) {\n /*\n * Defining $EV and $V properties on Node.prototype\n * fixes v8 \"wrong map\" de-optimization\n */\n if (window.Node) {\n Node.prototype.$EV = null;\n Node.prototype.$V = null;\n }\n}\nfunction __render(input, parentDOM, callback, context) {\n var lifecycle = [];\n var rootInput = parentDOM.$V;\n renderCheck.v = true;\n if (isNullOrUndef(rootInput)) {\n if (!isNullOrUndef(input)) {\n if (input.flags & 16384 /* InUse */) {\n input = directClone(input);\n }\n mount(input, parentDOM, context, false, null, lifecycle);\n parentDOM.$V = input;\n rootInput = input;\n }\n }\n else {\n if (isNullOrUndef(input)) {\n remove(rootInput, parentDOM);\n parentDOM.$V = null;\n }\n else {\n if (input.flags & 16384 /* InUse */) {\n input = directClone(input);\n }\n patch(rootInput, input, parentDOM, context, false, null, lifecycle);\n rootInput = parentDOM.$V = input;\n }\n }\n callAll(lifecycle);\n renderCheck.v = false;\n if (isFunction(callback)) {\n callback();\n }\n if (isFunction(options.renderComplete)) {\n options.renderComplete(rootInput, parentDOM);\n }\n}\nfunction render(input, parentDOM, callback, context) {\n if ( callback === void 0 ) callback = null;\n if ( context === void 0 ) context = EMPTY_OBJ;\n\n __render(input, parentDOM, callback, context);\n}\nfunction createRenderer(parentDOM) {\n return function renderer(lastInput, nextInput, callback, context) {\n if (!parentDOM) {\n parentDOM = lastInput;\n }\n render(nextInput, parentDOM, callback, context);\n };\n}\n\nvar QUEUE = [];\nvar nextTick = typeof Promise !== 'undefined'\n ? Promise.resolve().then.bind(Promise.resolve())\n : function (a) {\n window.setTimeout(a, 0);\n };\nvar microTaskPending = false;\nfunction queueStateChanges(component, newState, callback, force) {\n var pending = component.$PS;\n if (isFunction(newState)) {\n newState = newState(pending ? combineFrom(component.state, pending) : component.state, component.props, component.context);\n }\n if (isNullOrUndef(pending)) {\n component.$PS = newState;\n }\n else {\n for (var stateKey in newState) {\n pending[stateKey] = newState[stateKey];\n }\n }\n if (!component.$BR) {\n if (!renderCheck.v) {\n if (QUEUE.length === 0) {\n applyState(component, force);\n if (isFunction(callback)) {\n callback.call(component);\n }\n return;\n }\n }\n if (QUEUE.indexOf(component) === -1) {\n QUEUE.push(component);\n }\n if (force) {\n component.$F = true;\n }\n if (!microTaskPending) {\n microTaskPending = true;\n nextTick(rerender);\n }\n if (isFunction(callback)) {\n var QU = component.$QU;\n if (!QU) {\n QU = component.$QU = [];\n }\n QU.push(callback);\n }\n }\n else if (isFunction(callback)) {\n component.$L.push(callback.bind(component));\n }\n}\nfunction callSetStateCallbacks(component) {\n var queue = component.$QU;\n for (var i = 0; i < queue.length; ++i) {\n queue[i].call(component);\n }\n component.$QU = null;\n}\nfunction rerender() {\n var component;\n microTaskPending = false;\n while ((component = QUEUE.shift())) {\n if (!component.$UN) {\n var force = component.$F;\n component.$F = false;\n applyState(component, force);\n if (component.$QU) {\n callSetStateCallbacks(component);\n }\n }\n }\n}\nfunction applyState(component, force) {\n if (force || !component.$BR) {\n var pendingState = component.$PS;\n component.$PS = null;\n var lifecycle = [];\n renderCheck.v = true;\n updateClassComponent(component, combineFrom(component.state, pendingState), component.props, findDOMfromVNode(component.$LI, true).parentNode, component.context, component.$SVG, force, null, lifecycle);\n callAll(lifecycle);\n renderCheck.v = false;\n }\n else {\n component.state = component.$PS;\n component.$PS = null;\n }\n}\nvar Component = function Component(props, context) {\n // Public\n this.state = null;\n // Internal properties\n this.$BR = false; // BLOCK RENDER\n this.$BS = true; // BLOCK STATE\n this.$PS = null; // PENDING STATE (PARTIAL or FULL)\n this.$LI = null; // LAST INPUT\n this.$UN = false; // UNMOUNTED\n this.$CX = null; // CHILDCONTEXT\n this.$QU = null; // QUEUE\n this.$N = false; // Uses new lifecycle API Flag\n this.$L = null; // Current lifecycle of this component\n this.$SVG = false; // Flag to keep track if component is inside SVG tree\n this.$F = false; // Force update flag\n this.props = props || EMPTY_OBJ;\n this.context = context || EMPTY_OBJ; // context should not be mutable\n};\nComponent.prototype.forceUpdate = function forceUpdate (callback) {\n if (this.$UN) {\n return;\n }\n // Do not allow double render during force update\n queueStateChanges(this, {}, callback, true);\n};\nComponent.prototype.setState = function setState (newState, callback) {\n if (this.$UN) {\n return;\n }\n if (!this.$BS) {\n queueStateChanges(this, newState, callback, false);\n }\n};\nComponent.prototype.render = function render (_nextProps, _nextState, _nextContext) {\n return null;\n};\n\nvar version = \"7.4.11\";\n\nexport { Component, EMPTY_OBJ, Fragment, createClassComponentInstance as _CI, normalizeRoot as _HI, mount as _M, mountClassComponentCallbacks as _MCCC, mountElement as _ME, mountFunctionalComponentCallbacks as _MFCC, mountProps as _MP, mountRef as _MR, renderFunctionalComponent as _RFC, __render, createComponentVNode, createFragment, createPortal, createRef, createRenderer, createTextVNode, createVNode, directClone, findDOMfromVNode, forwardRef, getFlagsForElementVnode, linkEvent, normalizeProps, options, render, rerender, version };\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fil = moment.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var hyAm = moment.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n '_'\n ),\n standalone:\n 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n '_'\n ),\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays:\n 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n '_'\n ),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի',\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hyAm;\n\n})));\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.initBaseComponent = exports.initDxComponent = void 0;\nvar vue_1 = require(\"vue\");\nvar callbacks_1 = __importDefault(require(\"devextreme/core/utils/callbacks\"));\nvar events_1 = require(\"devextreme/events\");\nvar vue_helper_1 = require(\"./vue-helper\");\nvar children_processing_1 = require(\"./children-processing\");\nvar configuration_1 = __importStar(require(\"./configuration\"));\nvar configuration_component_1 = require(\"./configuration-component\");\nvar constants_1 = require(\"./constants\");\nvar helpers_1 = require(\"./helpers\");\nvar templates_manager_1 = require(\"./templates-manager\");\nvar includeAttrs = [\"id\", \"class\", \"style\"];\nfunction getAttrs(attrs) {\n var attributes = {};\n includeAttrs.forEach(function (attr) {\n var attrValue = attrs[attr];\n if (attrValue) {\n attributes[attr] = attrValue;\n }\n });\n return attributes;\n}\nfunction initBaseComponent() {\n return (0, vue_1.defineComponent)({\n inheritAttrs: false,\n data: function () {\n return {\n eventBus: (0, callbacks_1.default)()\n };\n },\n provide: function () {\n return {\n eventBus: this.eventBus\n };\n },\n render: function () {\n var thisComponent = this;\n var children = [];\n if (thisComponent.$_config.cleanNested) {\n thisComponent.$_config.cleanNested();\n }\n (0, children_processing_1.pullAllChildren)((0, vue_helper_1.defaultSlots)(this), children, thisComponent.$_config);\n this.$_processChildren(children);\n return (0, vue_1.h)(\"div\", __assign({}, getAttrs(this.$attrs)), children);\n },\n beforeUpdate: function () {\n var thisComponent = this;\n thisComponent.$_config.setPrevNestedOptions(thisComponent.$_config.getNestedOptionValues());\n },\n updated: function () {\n var thisComponent = this;\n var nodes = cleanWidgetNode(this.$el);\n (0, vue_helper_1.getChildren)(thisComponent).forEach(function (child) {\n var _a;\n (0, configuration_component_1.initOptionChangedFunc)(child.$_config, child.type.props || {}, (_a = child === null || child === void 0 ? void 0 : child.component) === null || _a === void 0 ? void 0 : _a.proxy, child.$_innerChanges);\n });\n thisComponent.$_templatesManager.discover();\n thisComponent.$_instance.beginUpdate();\n this.$_applyConfigurationChanges();\n if (thisComponent.$_templatesManager.isDirty) {\n thisComponent.$_instance.option(\"integrationOptions.templates\", thisComponent.$_templatesManager.templates);\n var props = thisComponent.$.vnode.props;\n for (var _i = 0, _a = Object.keys(thisComponent.$_templatesManager.templates); _i < _a.length; _i++) {\n var name_1 = _a[_i];\n thisComponent.$_instance.option((0, helpers_1.getTemplatePropName)(props, name_1), name_1);\n }\n thisComponent.$_templatesManager.resetDirtyFlag();\n }\n for (var _b = 0, _c = Object.keys(thisComponent.$_pendingOptions); _b < _c.length; _b++) {\n var name_2 = _c[_b];\n thisComponent.$_instance.option(name_2, thisComponent.$_pendingOptions[name_2]);\n }\n thisComponent.$_pendingOptions = {};\n thisComponent.$_instance.endUpdate();\n restoreNodes(this.$el, nodes);\n this.eventBus.fire();\n },\n beforeUnmount: function () {\n var thisComponent = this;\n var instance = thisComponent.$_instance;\n if (instance) {\n (0, events_1.triggerHandler)(this.$el, constants_1.DX_REMOVE_EVENT);\n instance.dispose();\n }\n },\n created: function () {\n var thisComponent = this;\n var props = (0, vue_helper_1.getComponentProps)(this);\n thisComponent.$_config = new configuration_1.default(function (n, v) {\n if (Array.isArray(v)) {\n thisComponent.$_instance.option(n, v);\n }\n else {\n thisComponent.$_pendingOptions[n === vue_helper_1.VMODEL_NAME ? \"value\" : n] = v;\n }\n }, null, props && __assign({}, props), thisComponent.$_expectedChildren);\n thisComponent.$_innerChanges = {};\n thisComponent.$_config.init(this.$props && Object.keys(this.$props));\n },\n methods: {\n $_applyConfigurationChanges: function () {\n var thisComponent = this;\n thisComponent.$_config.componentsCountChanged.forEach(function (_a) {\n var optionPath = _a.optionPath, isCollection = _a.isCollection, removed = _a.removed;\n var options = thisComponent.$_config.getNestedOptionValues();\n if (!isCollection && removed) {\n thisComponent.$_instance.resetOption(optionPath);\n }\n else {\n thisComponent.$_instance.option(optionPath, (0, helpers_1.getOptionValue)(options, optionPath));\n }\n });\n thisComponent.$_config.cleanComponentsCountChanged();\n },\n $_createWidget: function (element) {\n var thisComponent = this;\n thisComponent.$_pendingOptions = {};\n thisComponent.$_templatesManager = new templates_manager_1.TemplatesManager(this);\n var config = thisComponent.$_config;\n if (config.initialValues.hasOwnProperty(vue_helper_1.VMODEL_NAME)) {\n config.initialValues.value = (0, vue_helper_1.getVModelValue)(config.initialValues);\n }\n var options = __assign(__assign(__assign(__assign({ templatesRenderAsynchronously: thisComponent.$_hasAsyncTemplate }, (0, vue_helper_1.getComponentProps)(thisComponent)), config.initialValues), config.getNestedOptionValues()), this.$_getIntegrationOptions());\n var instance = new thisComponent.$_WidgetClass(element, options);\n thisComponent.$_instance = instance;\n instance.on(\"optionChanged\", function (args) { return config.onOptionChanged(args); });\n (0, configuration_1.setEmitOptionChangedFunc)(config, thisComponent, thisComponent.$_innerChanges);\n (0, configuration_1.bindOptionWatchers)(config, thisComponent, thisComponent.$_innerChanges);\n this.$_createEmitters(instance);\n },\n $_getIntegrationOptions: function () {\n var thisComponent = this;\n var result = __assign({ integrationOptions: {\n watchMethod: this.$_getWatchMethod(),\n } }, this.$_getExtraIntegrationOptions());\n if (thisComponent.$_templatesManager.isDirty) {\n var templates = thisComponent.$_templatesManager.templates;\n result.integrationOptions.templates = templates;\n var props = thisComponent.$.vnode.props;\n for (var _i = 0, _a = Object.keys(templates); _i < _a.length; _i++) {\n var name_3 = _a[_i];\n result[(0, helpers_1.getTemplatePropName)(props, name_3)] = name_3;\n }\n thisComponent.$_templatesManager.resetDirtyFlag();\n }\n return result;\n },\n $_getWatchMethod: function () {\n var _this = this;\n return function (valueGetter, valueChangeCallback, options) {\n options = options || {};\n if (!options.skipImmediate) {\n valueChangeCallback(valueGetter());\n }\n return _this.$watch(function () {\n return valueGetter();\n }, function (newValue, oldValue) {\n if ((0, helpers_1.toComparable)(oldValue) !== (0, helpers_1.toComparable)(newValue) || options.deep) {\n valueChangeCallback(newValue);\n }\n }, {\n deep: options.deep\n });\n };\n },\n $_getExtraIntegrationOptions: function () {\n return {};\n },\n $_processChildren: function (_children) {\n return;\n },\n $_createEmitters: function (instance) {\n var _this = this;\n if (this.$attrs) {\n Object.keys(this.$attrs).forEach(function (listenerName) {\n var eventName = (0, helpers_1.camelize)(listenerName);\n instance.on(eventName, function (e) {\n _this.$emit(listenerName, e);\n });\n });\n }\n }\n }\n });\n}\nexports.initBaseComponent = initBaseComponent;\nfunction cleanWidgetNode(node) {\n var removedNodes = [];\n (0, helpers_1.forEachChildNode)(node, function (childNode) {\n var parent = childNode.parentNode;\n var isExtension = childNode.hasAttribute && childNode.hasAttribute(\"isExtension\");\n if ((childNode.nodeName === \"#comment\" || isExtension) && parent) {\n removedNodes.push(childNode);\n parent.removeChild(childNode);\n }\n });\n return removedNodes;\n}\nfunction restoreNodes(el, nodes) {\n nodes.forEach(function (node) {\n el.appendChild(node);\n });\n}\nfunction initDxComponent() {\n return (0, vue_1.defineComponent)({\n extends: initBaseComponent(),\n methods: {\n $_getExtraIntegrationOptions: function () {\n return {\n onInitializing: function () {\n this.beginUpdate();\n }\n };\n },\n $_processChildren: function (children) {\n children.forEach(function (childNode) {\n if (!childNode || typeof childNode !== \"object\") {\n return;\n }\n childNode.$_hasOwner = true;\n });\n },\n },\n mounted: function () {\n var _this = this;\n var nodes = cleanWidgetNode(this.$el);\n var thisComponent = this;\n this.$_createWidget(this.$el);\n thisComponent.$_instance.endUpdate();\n restoreNodes(this.$el, nodes);\n if (this.$slots && this.$slots.default) {\n (0, vue_helper_1.getChildren)(thisComponent).forEach(function (child) {\n var childExtenton = child;\n if (childExtenton && childExtenton.$_isExtension) {\n childExtenton.$_attachTo(_this.$el);\n }\n });\n }\n }\n });\n}\nexports.initDxComponent = initDxComponent;\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ca = moment.defineLocale('ca', {\n months: {\n standalone:\n 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n '_'\n ),\n format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function () {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function () {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [passat a ' +\n (this.hours() !== 1 ? 'les' : 'la') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ca;\n\n})));\n","/**\r\n * DevExtreme (esm/core/utils/error.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n logger\r\n} from \"./console\";\r\nimport {\r\n format\r\n} from \"./string\";\r\nimport {\r\n version\r\n} from \"../version\";\r\nvar ERROR_URL = \"http://js.devexpress.com/error/\" + version.split(\".\").slice(0, 2).join(\"_\") + \"/\";\r\nexport default function(baseErrors, errors) {\r\n var exports = {\r\n ERROR_MESSAGES: extend(errors, baseErrors),\r\n Error: function() {\r\n return makeError([].slice.call(arguments))\r\n },\r\n log: function(id) {\r\n var method = \"log\";\r\n if (/^E\\d+$/.test(id)) {\r\n method = \"error\"\r\n } else if (/^W\\d+$/.test(id)) {\r\n method = \"warn\"\r\n }\r\n logger[method](\"log\" === method ? id : combineMessage([].slice.call(arguments)))\r\n }\r\n };\r\n\r\n function combineMessage(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n return formatMessage(id, formatDetails(id, args))\r\n }\r\n\r\n function formatDetails(id, args) {\r\n args = [exports.ERROR_MESSAGES[id]].concat(args);\r\n return format.apply(this, args).replace(/\\.*\\s*?$/, \"\")\r\n }\r\n\r\n function formatMessage(id, details) {\r\n return format.apply(this, [\"{0} - {1}. See:\\n{2}\", id, details, getErrorUrl(id)])\r\n }\r\n\r\n function makeError(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n var details = formatDetails(id, args);\r\n var url = getErrorUrl(id);\r\n var message = formatMessage(id, details);\r\n return extend(new Error(message), {\r\n __id: id,\r\n __details: details,\r\n url: url\r\n })\r\n }\r\n\r\n function getErrorUrl(id) {\r\n return ERROR_URL + id\r\n }\r\n return exports\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/shared/accessibility.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar FOCUS_STATE_CLASS = \"dx-state-focused\";\r\nvar FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar FOCUSED_ROW_SELECTOR = \".dx-row-focused\";\r\nvar GRID_ROW_SELECTOR = \".dx-datagrid-rowsview .dx-row\";\r\nvar GRID_CELL_SELECTOR = \"\".concat(GRID_ROW_SELECTOR, \" > td\");\r\nvar TREELIST_ROW_SELECTOR = \".dx-treelist-rowsview .dx-row\";\r\nvar TREELIST_CELL_SELECTOR = \"\".concat(TREELIST_ROW_SELECTOR, \" > td\");\r\nvar viewItemSelectorMap = {\r\n groupPanel: [\".dx-datagrid-group-panel .dx-group-panel-item[tabindex]\"],\r\n columnHeaders: [\".dx-datagrid-headers .dx-header-row > td.dx-datagrid-action\", \".dx-treelist-headers .dx-header-row > td.dx-treelist-action\"],\r\n filterRow: [\".dx-datagrid-headers .dx-datagrid-filter-row .dx-editor-cell .dx-texteditor-input\", \".dx-treelist-headers .dx-treelist-filter-row .dx-editor-cell .dx-texteditor-input\"],\r\n rowsView: [\"\".concat(FOCUSED_ROW_SELECTOR), \"\".concat(GRID_ROW_SELECTOR, \"[tabindex]\"), \"\".concat(GRID_CELL_SELECTOR, \"[tabindex]\"), \"\".concat(GRID_CELL_SELECTOR), \"\".concat(TREELIST_ROW_SELECTOR, \"[tabindex]\"), \"\".concat(TREELIST_CELL_SELECTOR, \"[tabindex]\"), \"\".concat(TREELIST_CELL_SELECTOR)],\r\n footer: [\".dx-datagrid-total-footer .dx-datagrid-summary-item\", \".dx-treelist-total-footer .dx-treelist-summary-item\"],\r\n filterPanel: [\".dx-datagrid-filter-panel .dx-icon-filter\", \".dx-treelist-filter-panel .dx-icon-filter\"],\r\n pager: [\".dx-datagrid-pager [tabindex]\", \".dx-treelist-pager [tabindex]\"]\r\n};\r\nvar isMouseDown = false;\r\nvar isHiddenFocusing = false;\r\nvar focusedElementInfo = null;\r\n\r\nfunction processKeyDown(viewName, instance, event, action, $mainElement, executeKeyDown) {\r\n var isHandled = fireKeyDownEvent(instance, event.originalEvent, executeKeyDown);\r\n if (isHandled) {\r\n return\r\n }\r\n var keyName = normalizeKeyName(event);\r\n if (\"enter\" === keyName || \"space\" === keyName) {\r\n saveFocusedElementInfo(event.target, instance);\r\n action && action({\r\n event: event\r\n })\r\n } else if (\"tab\" === keyName) {\r\n $mainElement.addClass(FOCUS_STATE_CLASS)\r\n } else {\r\n selectView(viewName, instance, event)\r\n }\r\n}\r\nexport function saveFocusedElementInfo(target, instance) {\r\n var $target = $(target);\r\n var ariaLabel = $target.attr(\"aria-label\");\r\n var $activeElements = getActiveAccessibleElements(ariaLabel, instance.element());\r\n var targetIndex = $activeElements.index($target);\r\n focusedElementInfo = extend({}, {\r\n ariaLabel: ariaLabel,\r\n index: targetIndex\r\n }, {\r\n viewInstance: instance\r\n })\r\n}\r\n\r\nfunction getActiveAccessibleElements(ariaLabel, viewElement) {\r\n var $viewElement = $(viewElement);\r\n var $activeElements;\r\n if (ariaLabel) {\r\n $activeElements = $viewElement.find('[aria-label=\"'.concat(ariaLabel, '\"][tabindex]'))\r\n } else {\r\n $activeElements = $viewElement.find(\"[tabindex]\")\r\n }\r\n return $activeElements\r\n}\r\n\r\nfunction findFocusedViewElement(viewSelectors, element) {\r\n var root = (null === element || void 0 === element ? void 0 : element.getRootNode()) || domAdapter.getDocument();\r\n for (var index in viewSelectors) {\r\n var selector = viewSelectors[index];\r\n var $focusViewElement = $(root).find(selector).first();\r\n if ($focusViewElement.length) {\r\n return $focusViewElement\r\n }\r\n }\r\n}\r\n\r\nfunction fireKeyDownEvent(instance, event, executeAction) {\r\n var args = {\r\n event: event,\r\n handled: false\r\n };\r\n if (executeAction) {\r\n executeAction(args)\r\n } else {\r\n instance._createActionByOption(\"onKeyDown\")(args)\r\n }\r\n return args.handled\r\n}\r\n\r\nfunction onDocumentVisibilityChange() {\r\n isHiddenFocusing = \"visible\" === domAdapter.getDocument().visibilityState\r\n}\r\nexport function subscribeVisibilityChange() {\r\n eventsEngine.on(domAdapter.getDocument(), \"visibilitychange\", onDocumentVisibilityChange)\r\n}\r\nexport function unsubscribeVisibilityChange() {\r\n eventsEngine.off(domAdapter.getDocument(), \"visibilitychange\", onDocumentVisibilityChange)\r\n}\r\nexport function hiddenFocus(element, preventScroll) {\r\n isHiddenFocusing = true;\r\n element.focus({\r\n preventScroll: preventScroll\r\n });\r\n isHiddenFocusing = false\r\n}\r\nexport function registerKeyboardAction(viewName, instance, $element, selector, action, executeKeyDown) {\r\n if (instance.option(\"useLegacyKeyboardNavigation\")) {\r\n return noop\r\n }\r\n var getMainElement = () => $(instance.element());\r\n var keyDownHandler = e => processKeyDown(viewName, instance, e, action, getMainElement(), executeKeyDown);\r\n var mouseDownHandler = () => {\r\n isMouseDown = true;\r\n getMainElement().removeClass(FOCUS_STATE_CLASS)\r\n };\r\n var focusinHandler = () => {\r\n var needShowOverlay = !isMouseDown && !isHiddenFocusing;\r\n if (needShowOverlay) {\r\n getMainElement().addClass(FOCUS_STATE_CLASS)\r\n }\r\n isMouseDown = false\r\n };\r\n eventsEngine.on($element, \"keydown\", selector, keyDownHandler);\r\n eventsEngine.on($element, \"mousedown\", selector, mouseDownHandler);\r\n eventsEngine.on($element, \"focusin\", selector, focusinHandler);\r\n return () => {\r\n eventsEngine.off($element, \"keydown\", selector, keyDownHandler);\r\n eventsEngine.off($element, \"mousedown\", selector, mouseDownHandler);\r\n eventsEngine.off($element, \"focusin\", selector, focusinHandler)\r\n }\r\n}\r\nexport function restoreFocus(instance) {\r\n if (!instance.option(\"useLegacyKeyboardNavigation\") && focusedElementInfo) {\r\n var viewInstance = focusedElementInfo.viewInstance;\r\n if (viewInstance) {\r\n var $activeElements = getActiveAccessibleElements(focusedElementInfo.ariaLabel, viewInstance.element());\r\n var $targetElement = $activeElements.eq(focusedElementInfo.index);\r\n focusedElementInfo = null;\r\n eventsEngine.trigger($targetElement, \"focus\")\r\n }\r\n }\r\n}\r\nexport function selectView(viewName, instance, event) {\r\n var keyName = normalizeKeyName(event);\r\n if (event.ctrlKey && (\"upArrow\" === keyName || \"downArrow\" === keyName)) {\r\n var viewNames = Object.keys(viewItemSelectorMap);\r\n var viewItemIndex = viewNames.indexOf(viewName);\r\n while (viewItemIndex >= 0 && viewItemIndex < viewNames.length) {\r\n viewItemIndex = \"upArrow\" === keyName ? --viewItemIndex : ++viewItemIndex;\r\n var _viewName = viewNames[viewItemIndex];\r\n var viewSelectors = viewItemSelectorMap[_viewName];\r\n var $focusViewElement = findFocusedViewElement(viewSelectors, event.target);\r\n if ($focusViewElement && $focusViewElement.length) {\r\n $focusViewElement.attr(\"tabindex\", instance.option(\"tabindex\") || 0);\r\n eventsEngine.trigger($focusViewElement, \"focus\");\r\n $focusViewElement.removeClass(FOCUS_DISABLED_CLASS);\r\n break\r\n }\r\n }\r\n }\r\n}\r\nexport function setTabIndex(instance, $element) {\r\n if (!instance.option(\"useLegacyKeyboardnavigation\")) {\r\n $element.attr(\"tabindex\", instance.option(\"tabindex\") || 0)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/m_accessibility.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport * as accessibility from \"../../../ui/shared/accessibility\";\r\nexport var registerKeyboardAction = function(viewName, instance, $element, selector, action) {\r\n var keyboardController = instance.getController(\"keyboardNavigation\");\r\n if (instance.option(\"useLegacyKeyboardNavigation\") || keyboardController && !keyboardController.isKeyboardEnabled()) {\r\n return\r\n }\r\n instance.createAction(\"onKeyDown\");\r\n accessibility.registerKeyboardAction(viewName, instance, $element, selector, action, args => {\r\n instance.executeAction(\"onKeyDown\", args)\r\n })\r\n};\r\n","/**\r\n * DevExtreme (esm/events/double_click.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n closestCommonParent\r\n} from \"../core/utils/dom\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport Class from \"../core/class\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n name as clickEventName\r\n} from \"./click\";\r\nimport {\r\n addNamespace,\r\n fireEvent\r\n} from \"./utils/index\";\r\nvar DBLCLICK_EVENT_NAME = \"dxdblclick\";\r\nvar DBLCLICK_NAMESPACE = \"dxDblClick\";\r\nvar NAMESPACED_CLICK_EVENT = addNamespace(clickEventName, DBLCLICK_NAMESPACE);\r\nvar DBLCLICK_TIMEOUT = 300;\r\nvar DblClick = Class.inherit({\r\n ctor: function() {\r\n this._handlerCount = 0;\r\n this._forgetLastClick()\r\n },\r\n _forgetLastClick: function() {\r\n this._firstClickTarget = null;\r\n this._lastClickTimeStamp = -DBLCLICK_TIMEOUT\r\n },\r\n add: function() {\r\n if (this._handlerCount <= 0) {\r\n eventsEngine.on(domAdapter.getDocument(), NAMESPACED_CLICK_EVENT, this._clickHandler.bind(this))\r\n }\r\n this._handlerCount++\r\n },\r\n _clickHandler: function(e) {\r\n var timeStamp = e.timeStamp || Date.now();\r\n var timeBetweenClicks = timeStamp - this._lastClickTimeStamp;\r\n var isSimulated = timeBetweenClicks < 0;\r\n var isDouble = !isSimulated && timeBetweenClicks < DBLCLICK_TIMEOUT;\r\n if (isDouble) {\r\n fireEvent({\r\n type: DBLCLICK_EVENT_NAME,\r\n target: closestCommonParent(this._firstClickTarget, e.target),\r\n originalEvent: e\r\n });\r\n this._forgetLastClick()\r\n } else {\r\n this._firstClickTarget = e.target;\r\n this._lastClickTimeStamp = timeStamp\r\n }\r\n },\r\n remove: function() {\r\n this._handlerCount--;\r\n if (this._handlerCount <= 0) {\r\n this._forgetLastClick();\r\n eventsEngine.off(domAdapter.getDocument(), NAMESPACED_CLICK_EVENT)\r\n }\r\n }\r\n});\r\nregisterEvent(DBLCLICK_EVENT_NAME, new DblClick);\r\nexport {\r\n DBLCLICK_EVENT_NAME as name\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/column_state_mixin/m_column_state_mixin.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nvar COLUMN_INDICATORS_CLASS = \"dx-column-indicators\";\r\nvar GROUP_PANEL_ITEM_CLASS = \"dx-group-panel-item\";\r\nexport var ColumnStateMixin = Base => class extends Base {\r\n _applyColumnState(options) {\r\n var _a;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var columnAlignment = this._getColumnAlignment(options.column.alignment, rtlEnabled);\r\n var parameters = extend(true, {\r\n columnAlignment: columnAlignment\r\n }, options);\r\n var isGroupPanelItem = parameters.rootElement.hasClass(GROUP_PANEL_ITEM_CLASS);\r\n var $indicatorsContainer = this._createIndicatorContainer(parameters, isGroupPanelItem);\r\n var $span = $(\"<span>\").addClass(this._getIndicatorClassName(options.name));\r\n var columnsController = null === (_a = this.component) || void 0 === _a ? void 0 : _a.getController(\"columns\");\r\n var indicatorAlignment = (null === columnsController || void 0 === columnsController ? void 0 : columnsController.getHeaderContentAlignment(columnAlignment)) || columnAlignment;\r\n parameters.container = $indicatorsContainer;\r\n parameters.indicator = $span;\r\n this._renderIndicator(parameters);\r\n $indicatorsContainer[(isGroupPanelItem || !options.showColumnLines) && \"left\" === indicatorAlignment ? \"appendTo\" : \"prependTo\"](options.rootElement);\r\n return $span\r\n }\r\n _getIndicatorClassName(name) {}\r\n _getColumnAlignment(alignment, rtlEnabled) {\r\n rtlEnabled = rtlEnabled || this.option(\"rtlEnabled\");\r\n return alignment && \"center\" !== alignment ? alignment : getDefaultAlignment(rtlEnabled)\r\n }\r\n _createIndicatorContainer(options, ignoreIndicatorAlignment) {\r\n var $indicatorsContainer = this._getIndicatorContainer(options.rootElement);\r\n var indicatorAlignment = \"left\" === options.columnAlignment ? \"right\" : \"left\";\r\n if (!$indicatorsContainer.length) {\r\n $indicatorsContainer = $(\"<div>\").addClass(COLUMN_INDICATORS_CLASS)\r\n }\r\n this.setAria(\"role\", \"presentation\", $indicatorsContainer);\r\n return $indicatorsContainer.css(\"float\", options.showColumnLines && !ignoreIndicatorAlignment ? indicatorAlignment : null)\r\n }\r\n _getIndicatorContainer($cell) {\r\n return $cell && $cell.find(\".\".concat(COLUMN_INDICATORS_CLASS))\r\n }\r\n _getIndicatorElements($cell) {\r\n var $indicatorContainer = this._getIndicatorContainer($cell);\r\n return $indicatorContainer && $indicatorContainer.children()\r\n }\r\n _renderIndicator(options) {\r\n var $container = options.container;\r\n var $indicator = options.indicator;\r\n $container && $indicator && $container.append($indicator)\r\n }\r\n _updateIndicators(indicatorName) {\r\n var columns = this.getColumns();\r\n var $cells = this.getColumnElements();\r\n var $cell;\r\n if (!$cells || columns.length !== $cells.length) {\r\n return\r\n }\r\n for (var i = 0; i < columns.length; i++) {\r\n $cell = $cells.eq(i);\r\n this._updateIndicator($cell, columns[i], indicatorName);\r\n var rowOptions = $cell.parent().data(\"options\");\r\n if (rowOptions && rowOptions.cells) {\r\n rowOptions.cells[$cell.index()].column = columns[i]\r\n }\r\n }\r\n }\r\n _updateIndicator($cell, column, indicatorName) {\r\n if (!column.command) {\r\n return this._applyColumnState({\r\n name: indicatorName,\r\n rootElement: $cell,\r\n column: column,\r\n showColumnLines: this.option(\"showColumnLines\")\r\n })\r\n }\r\n return\r\n }\r\n};\r\nexport default ColumnStateMixin;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/m_modules.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../../core/renderer\";\r\nimport Callbacks from \"../../../core/utils/callbacks\";\r\nimport {\r\n grep\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n isFunction\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../../../core/utils/window\";\r\nimport messageLocalization from \"../../../localization/message\";\r\nimport errors from \"../../../ui/widget/ui.errors\";\r\nvar WIDGET_WITH_LEGACY_CONTAINER_NAME = \"dxDataGrid\";\r\nexport class ModuleItem {\r\n constructor(component) {\r\n var that = this;\r\n that._updateLockCount = 0;\r\n that.component = component;\r\n that._actions = {};\r\n that._actionConfigs = {};\r\n each(this.callbackNames() || [], (function(index, name) {\r\n var flags = that.callbackFlags(name) || {};\r\n flags.unique = true;\r\n flags.syncStrategy = true;\r\n that[this] = Callbacks(flags)\r\n }))\r\n }\r\n _endUpdateCore() {}\r\n init() {}\r\n callbackNames() {\r\n return\r\n }\r\n callbackFlags(name) {}\r\n publicMethods() {\r\n return []\r\n }\r\n beginUpdate() {\r\n this._updateLockCount++\r\n }\r\n endUpdate() {\r\n if (this._updateLockCount > 0) {\r\n this._updateLockCount--;\r\n if (!this._updateLockCount) {\r\n this._endUpdateCore()\r\n }\r\n }\r\n }\r\n option(name) {\r\n var {\r\n component: component\r\n } = this;\r\n var optionCache = component._optionCache;\r\n if (1 === arguments.length && optionCache) {\r\n if (!(name in optionCache)) {\r\n optionCache[name] = component.option(name)\r\n }\r\n return optionCache[name]\r\n }\r\n return component.option.apply(component, arguments)\r\n }\r\n _silentOption(name, value) {\r\n var {\r\n component: component\r\n } = this;\r\n var optionCache = component._optionCache;\r\n if (optionCache) {\r\n optionCache[name] = value\r\n }\r\n return component._setOptionWithoutOptionChange(name, value)\r\n }\r\n localize(name) {\r\n var optionCache = this.component._optionCache;\r\n if (optionCache) {\r\n if (!(name in optionCache)) {\r\n optionCache[name] = messageLocalization.format(name)\r\n }\r\n return optionCache[name]\r\n }\r\n return messageLocalization.format(name)\r\n }\r\n on(event, callback) {\r\n return this.component.on.apply(this.component, arguments)\r\n }\r\n off() {\r\n return this.component.off.apply(this.component, arguments)\r\n }\r\n optionChanged(args) {\r\n if (args.name in this._actions) {\r\n this.createAction(args.name, this._actionConfigs[args.name]);\r\n args.handled = true\r\n }\r\n }\r\n getAction(actionName) {\r\n return this._actions[actionName]\r\n }\r\n setAria(name, value, $target) {\r\n var target = $target.get(0);\r\n var prefix = \"role\" !== name && \"id\" !== name ? \"aria-\" : \"\";\r\n if (target.setAttribute) {\r\n target.setAttribute(prefix + name, value)\r\n } else {\r\n $target.attr(prefix + name, value)\r\n }\r\n }\r\n _createComponent($container, component, options) {\r\n return this.component._createComponent($container, component, options)\r\n }\r\n getController(name) {\r\n return this.component._controllers[name]\r\n }\r\n createAction(actionName, config) {\r\n if (isFunction(actionName)) {\r\n var action = this.component._createAction(actionName.bind(this), config);\r\n return function(e) {\r\n action({\r\n event: e\r\n })\r\n }\r\n }\r\n this._actions[actionName] = this.component._createActionByOption(actionName, config);\r\n this._actionConfigs[actionName] = config;\r\n return\r\n }\r\n executeAction(actionName, options) {\r\n var action = this._actions[actionName];\r\n return action && action(options)\r\n }\r\n dispose() {\r\n var that = this;\r\n each(that.callbackNames() || [], (function() {\r\n that[this].empty()\r\n }))\r\n }\r\n addWidgetPrefix(className) {\r\n var componentName = this.component.NAME;\r\n return \"dx-\".concat(componentName.slice(2).toLowerCase()).concat(className ? \"-\".concat(className) : \"\")\r\n }\r\n getWidgetContainerClass() {\r\n var containerName = this.component.NAME === WIDGET_WITH_LEGACY_CONTAINER_NAME ? null : \"container\";\r\n return this.addWidgetPrefix(containerName)\r\n }\r\n elementIsInsideGrid($element) {\r\n var $gridElement = $element.closest(\".\".concat(this.getWidgetContainerClass())).parent();\r\n return $gridElement.is(this.component.$element())\r\n }\r\n}\r\nexport class Controller extends ModuleItem {}\r\nexport class ViewController extends Controller {\r\n getView(name) {\r\n return this.component._views[name]\r\n }\r\n getViews() {\r\n return this.component._views\r\n }\r\n}\r\nexport class View extends ModuleItem {\r\n constructor(component) {\r\n super(component);\r\n this.renderCompleted = Callbacks();\r\n this.resizeCompleted = Callbacks()\r\n }\r\n _isReady() {\r\n return this.component.isReady()\r\n }\r\n _endUpdateCore() {\r\n super._endUpdateCore();\r\n if (!this._isReady() && this._requireReady) {\r\n this._requireRender = false;\r\n this.component._requireResize = false\r\n }\r\n if (this._requireRender) {\r\n this._requireRender = false;\r\n this.render(this._$parent)\r\n }\r\n }\r\n _invalidate(requireResize, requireReady) {\r\n this._requireRender = true;\r\n this.component._requireResize = hasWindow() && (this.component._requireResize || requireResize);\r\n this._requireReady = this._requireReady || requireReady\r\n }\r\n _renderCore(options) {}\r\n _resizeCore() {}\r\n _parentElement() {\r\n return this._$parent\r\n }\r\n element() {\r\n return this._$element\r\n }\r\n getElementHeight() {\r\n var $element = this.element();\r\n if (!$element) {\r\n return 0\r\n }\r\n var marginTop = parseFloat($element.css(\"marginTop\")) || 0;\r\n var marginBottom = parseFloat($element.css(\"marginBottom\")) || 0;\r\n var {\r\n offsetHeight: offsetHeight\r\n } = $element.get(0);\r\n return offsetHeight + marginTop + marginBottom\r\n }\r\n isVisible() {\r\n return true\r\n }\r\n getTemplate(name) {\r\n return this.component._getTemplate(name)\r\n }\r\n getView(name) {\r\n return this.component._views[name]\r\n }\r\n render($parent, options) {\r\n var $element = this._$element;\r\n var isVisible = this.isVisible();\r\n if (!$element && !$parent) {\r\n return\r\n }\r\n this._requireReady = false;\r\n if (!$element) {\r\n $element = this._$element = $(\"<div>\").appendTo($parent);\r\n this._$parent = $parent\r\n }\r\n $element.toggleClass(\"dx-hidden\", !isVisible);\r\n if (isVisible) {\r\n this.component._optionCache = {};\r\n var deferred = this._renderCore(options);\r\n this.component._optionCache = void 0;\r\n if (deferred) {\r\n deferred.done(() => {\r\n this.renderCompleted.fire(options)\r\n })\r\n } else {\r\n this.renderCompleted.fire(options)\r\n }\r\n }\r\n }\r\n resize() {\r\n this.isResizing = true;\r\n this._resizeCore();\r\n this.resizeCompleted.fire();\r\n this.isResizing = false\r\n }\r\n focus(preventScroll) {\r\n this.element().get(0).focus({\r\n preventScroll: preventScroll\r\n })\r\n }\r\n}\r\nvar MODULES_ORDER_MAX_INDEX = 1e6;\r\n\r\nfunction getExtendedTypes(types) {\r\n var moduleExtenders = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n var extendTypes = {};\r\n Object.entries(moduleExtenders).forEach(_ref => {\r\n var [name, extender] = _ref;\r\n var currentType = types[name];\r\n if (currentType) {\r\n if (isFunction(extender)) {\r\n extendTypes[name] = extender(currentType)\r\n } else {\r\n var classType = currentType;\r\n extendTypes[name] = classType.inherit(extender)\r\n }\r\n }\r\n });\r\n return extendTypes\r\n}\r\n\r\nfunction registerPublicMethods(componentInstance, name, moduleItem) {\r\n var publicMethods = moduleItem.publicMethods();\r\n if (publicMethods) {\r\n each(publicMethods, (_, methodName) => {\r\n if (moduleItem[methodName]) {\r\n if (!componentInstance[methodName]) {\r\n componentInstance[methodName] = function() {\r\n return moduleItem[methodName](...arguments)\r\n }\r\n } else {\r\n throw errors.Error(\"E1005\", methodName)\r\n }\r\n } else {\r\n throw errors.Error(\"E1006\", name, methodName)\r\n }\r\n })\r\n }\r\n}\r\nexport function processModules(componentInstance, componentClass) {\r\n var {\r\n modules: modules\r\n } = componentClass;\r\n var {\r\n modulesOrder: modulesOrder\r\n } = componentClass;\r\n\r\n function createModuleItems(moduleTypes) {\r\n var moduleItems = {};\r\n each(moduleTypes, (name, moduleType) => {\r\n var moduleItem = new moduleType(componentInstance);\r\n moduleItem.name = name;\r\n registerPublicMethods(componentInstance, name, moduleItem);\r\n moduleItems[name] = moduleItem\r\n });\r\n return moduleItems\r\n }\r\n if (modulesOrder) {\r\n modules.sort((module1, module2) => {\r\n var orderIndex1 = modulesOrder.indexOf(module1.name);\r\n var orderIndex2 = modulesOrder.indexOf(module2.name);\r\n if (orderIndex1 < 0) {\r\n orderIndex1 = MODULES_ORDER_MAX_INDEX\r\n }\r\n if (orderIndex2 < 0) {\r\n orderIndex2 = MODULES_ORDER_MAX_INDEX\r\n }\r\n return orderIndex1 - orderIndex2\r\n })\r\n }\r\n var rootControllerTypes = {};\r\n var rootViewTypes = {};\r\n modules.forEach(_ref2 => {\r\n var {\r\n name: moduleName,\r\n controllers: controllers = {},\r\n views: views = {}\r\n } = _ref2;\r\n Object.entries(controllers).forEach(_ref3 => {\r\n var [name, type] = _ref3;\r\n if (rootControllerTypes[name]) {\r\n throw errors.Error(\"E1001\", moduleName, name)\r\n } else if (!((null === type || void 0 === type ? void 0 : type.prototype) instanceof Controller)) {\r\n throw errors.Error(\"E1002\", moduleName, name)\r\n }\r\n rootControllerTypes[name] = type\r\n });\r\n Object.entries(views).forEach(_ref4 => {\r\n var [name, type] = _ref4;\r\n if (rootViewTypes[name]) {\r\n throw errors.Error(\"E1003\", moduleName, name)\r\n } else if (!((null === type || void 0 === type ? void 0 : type.prototype) instanceof View)) {\r\n throw errors.Error(\"E1004\", moduleName, name)\r\n }\r\n rootViewTypes[name] = type\r\n })\r\n });\r\n var moduleExtenders = modules.filter(_ref5 => {\r\n var {\r\n extenders: extenders\r\n } = _ref5;\r\n return !!extenders\r\n });\r\n var controllerTypes = moduleExtenders.reduce((types, _ref6) => {\r\n var {\r\n extenders: extenders\r\n } = _ref6;\r\n return _extends(_extends({}, types), getExtendedTypes(types, null === extenders || void 0 === extenders ? void 0 : extenders.controllers))\r\n }, rootControllerTypes);\r\n var viewTypes = moduleExtenders.reduce((types, _ref7) => {\r\n var {\r\n extenders: extenders\r\n } = _ref7;\r\n return _extends(_extends({}, types), getExtendedTypes(types, null === extenders || void 0 === extenders ? void 0 : extenders.views))\r\n }, rootViewTypes);\r\n componentInstance._controllers = createModuleItems(controllerTypes);\r\n componentInstance._views = createModuleItems(viewTypes)\r\n}\r\nvar callModuleItemsMethod = function(that, methodName, args) {\r\n args = args || [];\r\n if (that._controllers) {\r\n each(that._controllers, (function() {\r\n this[methodName] && this[methodName].apply(this, args)\r\n }))\r\n }\r\n if (that._views) {\r\n each(that._views, (function() {\r\n this[methodName] && this[methodName].apply(this, args)\r\n }))\r\n }\r\n};\r\nexport default {\r\n modules: [],\r\n View: View,\r\n ViewController: ViewController,\r\n Controller: Controller,\r\n registerModule(name, module) {\r\n var {\r\n modules: modules\r\n } = this;\r\n for (var i = 0; i < modules.length; i++) {\r\n if (modules[i].name === name) {\r\n return\r\n }\r\n }\r\n module.name = name;\r\n modules.push(module)\r\n },\r\n registerModulesOrder(moduleNames) {\r\n this.modulesOrder = moduleNames\r\n },\r\n unregisterModule(name) {\r\n this.modules = grep(this.modules, module => module.name !== name)\r\n },\r\n processModules: processModules,\r\n callModuleItemsMethod: callModuleItemsMethod\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/views/m_columns_view.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../../core/element\";\r\nimport {\r\n data as elementData\r\n} from \"../../../../core/element_data\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport * as iteratorUtils from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect,\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n setWidth\r\n} from \"../../../../core/utils/style\";\r\nimport {\r\n nativeScrolling\r\n} from \"../../../../core/utils/support\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isNumeric,\r\n isRenderer,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n name as dblclickEvent\r\n} from \"../../../../events/double_click\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n removeEvent\r\n} from \"../../../../events/remove\";\r\nimport {\r\n ColumnStateMixin\r\n} from \"../../../grids/grid_core/column_state_mixin/m_column_state_mixin\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar SCROLL_CONTAINER_CLASS = \"scroll-container\";\r\nvar SCROLLABLE_SIMULATED_CLASS = \"scrollable-simulated\";\r\nvar GROUP_SPACE_CLASS = \"group-space\";\r\nvar CONTENT_CLASS = \"content\";\r\nvar TABLE_CLASS = \"table\";\r\nvar TABLE_FIXED_CLASS = \"table-fixed\";\r\nvar CONTENT_FIXED_CLASS = \"content-fixed\";\r\nvar ROW_CLASS = \"dx-row\";\r\nvar GROUP_ROW_CLASS = \"dx-group-row\";\r\nvar GROUP_CELL_CLASS = \"dx-group-cell\";\r\nvar DETAIL_ROW_CLASS = \"dx-master-detail-row\";\r\nvar FILTER_ROW_CLASS = \"filter-row\";\r\nvar ERROR_ROW_CLASS = \"dx-error-row\";\r\nvar CELL_UPDATED_ANIMATION_CLASS = \"cell-updated-animation\";\r\nvar HIDDEN_COLUMNS_WIDTH = \"0.0001px\";\r\nvar CELL_HINT_VISIBLE = \"dxCellHintVisible\";\r\nvar FORM_FIELD_ITEM_CONTENT_CLASS = \"dx-field-item-content\";\r\nvar appendElementTemplate = {\r\n render(options) {\r\n options.container.append(options.content)\r\n }\r\n};\r\nvar subscribeToRowEvents = function(that, $table) {\r\n var touchTarget;\r\n var touchCurrentTarget;\r\n var timeoutId;\r\n\r\n function clearTouchTargets(timeout) {\r\n return setTimeout(() => {\r\n touchTarget = touchCurrentTarget = null\r\n }, timeout)\r\n }\r\n eventsEngine.on($table, \"touchstart touchend\", \".dx-row\", e => {\r\n clearTimeout(timeoutId);\r\n if (\"touchstart\" === e.type) {\r\n touchTarget = e.target;\r\n touchCurrentTarget = e.currentTarget;\r\n timeoutId = clearTouchTargets(1e3)\r\n } else {\r\n timeoutId = clearTouchTargets()\r\n }\r\n });\r\n eventsEngine.on($table, [clickEventName, dblclickEvent, pointerEvents.down].join(\" \"), \".dx-row\", that.createAction(e => {\r\n var {\r\n event: event\r\n } = e;\r\n if (touchTarget) {\r\n event.target = touchTarget;\r\n event.currentTarget = touchCurrentTarget\r\n }\r\n if (!$(event.target).closest(\"a\").length) {\r\n e.rowIndex = that.getRowIndex(event.currentTarget);\r\n if (e.rowIndex >= 0) {\r\n e.rowElement = getPublicElement($(event.currentTarget));\r\n e.columns = that.getColumns();\r\n if (event.type === pointerEvents.down) {\r\n that._rowPointerDown(e)\r\n } else if (event.type === clickEventName) {\r\n that._rowClick(e)\r\n } else {\r\n that._rowDblClick(e)\r\n }\r\n }\r\n }\r\n }))\r\n};\r\nvar getWidthStyle = function(width) {\r\n if (\"auto\" === width) {\r\n return \"\"\r\n }\r\n return isNumeric(width) ? \"\".concat(width, \"px\") : width\r\n};\r\nvar setCellWidth = function(cell, column, width) {\r\n cell.style.width = cell.style.maxWidth = \"auto\" === column.width ? \"\" : width\r\n};\r\nvar copyAttributes = function(element, newElement) {\r\n if (!element || !newElement) {\r\n return\r\n }\r\n var oldAttributes = element.attributes;\r\n var newAttributes = newElement.attributes;\r\n var i;\r\n for (i = 0; i < oldAttributes.length; i++) {\r\n var name = oldAttributes[i].nodeName;\r\n if (!newElement.hasAttribute(name)) {\r\n element.removeAttribute(name)\r\n }\r\n }\r\n for (i = 0; i < newAttributes.length; i++) {\r\n element.setAttribute(newAttributes[i].nodeName, newAttributes[i].nodeValue)\r\n }\r\n};\r\nvar removeHandler = function(templateDeferred) {\r\n templateDeferred.resolve()\r\n};\r\nexport var normalizeWidth = width => {\r\n if (\"number\" === typeof width) {\r\n return \"\".concat(width.toFixed(3), \"px\")\r\n }\r\n if (\"adaptiveHidden\" === width) {\r\n return HIDDEN_COLUMNS_WIDTH\r\n }\r\n return width\r\n};\r\nexport class ColumnsView extends(ColumnStateMixin(modules.View)) {\r\n init() {\r\n this._scrollLeft = -1;\r\n this._columnsController = this.getController(\"columns\");\r\n this._dataController = this.getController(\"data\");\r\n this._adaptiveColumnsController = this.getController(\"adaptiveColumns\");\r\n this._columnChooserController = this.getController(\"columnChooser\");\r\n this._editorFactoryController = this.getController(\"editorFactory\");\r\n this._selectionController = this.getController(\"selection\");\r\n this._columnChooserView = this.getView(\"columnChooserView\");\r\n this._delayedTemplates = [];\r\n this._templateDeferreds = new Set;\r\n this._templatesCache = {};\r\n this._templateTimeouts = new Set;\r\n this.createAction(\"onCellClick\");\r\n this.createAction(\"onRowClick\");\r\n this.createAction(\"onCellDblClick\");\r\n this.createAction(\"onRowDblClick\");\r\n this.createAction(\"onCellHoverChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onCellPrepared\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n });\r\n this.createAction(\"onRowPrepared\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\",\r\n afterExecute: e => {\r\n this._afterRowPrepared(e)\r\n }\r\n });\r\n this._columnsController.columnsChanged.add(this._columnOptionChanged.bind(this));\r\n this._dataController && this._dataController.changed.add(this._handleDataChanged.bind(this))\r\n }\r\n dispose() {\r\n var _a, _b;\r\n if (hasWindow()) {\r\n var window = getWindow();\r\n null === (_a = this._templateTimeouts) || void 0 === _a ? void 0 : _a.forEach(templateTimeout => window.clearTimeout(templateTimeout));\r\n null === (_b = this._templateTimeouts) || void 0 === _b ? void 0 : _b.clear()\r\n }\r\n }\r\n optionChanged(args) {\r\n super.optionChanged(args);\r\n switch (args.name) {\r\n case \"cellHintEnabled\":\r\n case \"onCellPrepared\":\r\n case \"onRowPrepared\":\r\n case \"onCellHoverChanged\":\r\n this._invalidate(true, true);\r\n args.handled = true;\r\n break;\r\n case \"keyboardNavigation\":\r\n if (\"keyboardNavigation.enabled\" === args.fullName) {\r\n this._invalidate(true, true)\r\n }\r\n args.handled = true\r\n }\r\n }\r\n setTableRole($tableElement) {}\r\n _createScrollableOptions() {\r\n var scrollingOptions = this.option(\"scrolling\");\r\n var useNativeScrolling = this.option(\"scrolling.useNative\");\r\n var options = extend({}, scrollingOptions, {\r\n direction: \"both\",\r\n bounceEnabled: false,\r\n useKeyboard: false\r\n });\r\n if (void 0 === useNativeScrolling) {\r\n useNativeScrolling = true\r\n }\r\n if (\"auto\" === useNativeScrolling) {\r\n delete options.useNative;\r\n delete options.useSimulatedScrollbar\r\n } else {\r\n options.useNative = !!useNativeScrolling;\r\n options.useSimulatedScrollbar = !useNativeScrolling\r\n }\r\n return options\r\n }\r\n _updateCell($cell, parameters) {\r\n if (parameters.rowType) {\r\n this._cellPrepared($cell, parameters)\r\n }\r\n }\r\n _needToSetCellWidths() {\r\n return this.option(\"columnAutoWidth\")\r\n }\r\n _createCell(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var alignment = column.alignment || getDefaultAlignment(this.option(\"rtlEnabled\"));\r\n var needToSetCellWidths = this._needToSetCellWidths();\r\n var cell = domAdapter.createElement(\"td\");\r\n cell.style.textAlign = alignment;\r\n var $cell = $(cell);\r\n if (\"data\" === options.rowType && column.headerId && !column.type) {\r\n if (this.component.option(\"showColumnHeaders\")) {\r\n this.setAria(\"describedby\", column.headerId, $cell)\r\n }\r\n }\r\n if (column.cssClass) {\r\n $cell.addClass(column.cssClass)\r\n }\r\n if (Array.isArray(column.elementAttr)) {\r\n column.elementAttr.forEach(_ref => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n $cell.attr(name, value)\r\n })\r\n }\r\n if (\"expand\" === column.command) {\r\n $cell.addClass(column.cssClass);\r\n $cell.addClass(this.addWidgetPrefix(GROUP_SPACE_CLASS))\r\n }\r\n if (column.colspan > 1) {\r\n $cell.attr(\"colSpan\", column.colspan)\r\n } else if (!column.isBand && \"auto\" !== column.visibleWidth && needToSetCellWidths) {\r\n if (column.width || column.minWidth) {\r\n cell.style.minWidth = getWidthStyle(column.minWidth || column.width)\r\n }\r\n if (column.width) {\r\n setCellWidth(cell, column, getWidthStyle(column.width))\r\n }\r\n }\r\n return $cell\r\n }\r\n _createRow(rowObject, tagName) {\r\n tagName = tagName || \"tr\";\r\n var $element = $(\"<\".concat(tagName, \">\")).addClass(ROW_CLASS);\r\n this.setAria(\"role\", \"row\", $element);\r\n return $element\r\n }\r\n _isAltRow(row) {\r\n return row && row.dataIndex % 2 === 1\r\n }\r\n _createTable(columns, isAppend) {\r\n var $table = $(\"<table>\").addClass(this.addWidgetPrefix(TABLE_CLASS)).addClass(this.addWidgetPrefix(TABLE_FIXED_CLASS));\r\n if (columns && !isAppend) {\r\n $table.append(this._createColGroup(columns));\r\n if (browser.safari) {\r\n $table.append($(\"<thead>\").append(\"<tr>\"))\r\n }\r\n this.setTableRole($table)\r\n } else {\r\n this.setAria(\"hidden\", true, $table)\r\n }\r\n this.setAria(\"role\", \"presentation\", $(\"<tbody>\").appendTo($table));\r\n if (isAppend) {\r\n return $table\r\n }\r\n if (browser.mozilla) {\r\n eventsEngine.on($table, \"mousedown\", \"td\", e => {\r\n if (e.ctrlKey) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n if (this.option(\"cellHintEnabled\")) {\r\n eventsEngine.on($table, \"mousemove\", \".dx-row > td\", this.createAction(args => {\r\n var e = args.event;\r\n var $element = $(e.target);\r\n var $cell = $(e.currentTarget);\r\n var $row = $cell.parent();\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var rowOptions = $row.data(\"options\");\r\n var columnIndex = $cell.index();\r\n var cellOptions = rowOptions && rowOptions.cells && rowOptions.cells[columnIndex];\r\n var column = cellOptions ? cellOptions.column : visibleColumns[columnIndex];\r\n var isHeaderRow = $row.hasClass(\"dx-header-row\");\r\n var isDataRow = $row.hasClass(\"dx-data-row\");\r\n var isMasterDetailRow = $row.hasClass(DETAIL_ROW_CLASS);\r\n var isGroupRow = $row.hasClass(GROUP_ROW_CLASS);\r\n var isFilterRow = $row.hasClass(this.addWidgetPrefix(FILTER_ROW_CLASS));\r\n var isDataRowWithTemplate = isDataRow && (!column || column.cellTemplate);\r\n var isEditorShown = isDataRow && cellOptions && (rowOptions.isEditing || cellOptions.isEditing || (null === column || void 0 === column ? void 0 : column.showEditorAlways));\r\n var isHeaderRowWithTemplate = isHeaderRow && (!column || column.headerCellTemplate);\r\n var isGroupCellWithTemplate = isGroupRow && (!column || column.groupIndex && column.groupCellTemplate);\r\n var shouldShowHint = !isMasterDetailRow && !isFilterRow && !isEditorShown && !isDataRowWithTemplate && !isHeaderRowWithTemplate && !isGroupCellWithTemplate;\r\n if (shouldShowHint) {\r\n if ($element.data(CELL_HINT_VISIBLE)) {\r\n $element.removeAttr(\"title\");\r\n $element.data(CELL_HINT_VISIBLE, false)\r\n }\r\n var difference = $element[0].scrollWidth - $element[0].clientWidth;\r\n if (difference > 0 && !isDefined($element.attr(\"title\"))) {\r\n $element.attr(\"title\", $element.text());\r\n $element.data(CELL_HINT_VISIBLE, true)\r\n }\r\n }\r\n }))\r\n }\r\n var getOptions = event => {\r\n var $cell = $(event.currentTarget);\r\n var $fieldItemContent = $(event.target).closest(\".\".concat(FORM_FIELD_ITEM_CONTENT_CLASS));\r\n var $row = $cell.parent();\r\n var rowOptions = $row.data(\"options\");\r\n var options = rowOptions && rowOptions.cells && rowOptions.cells[$cell.index()];\r\n if (!$cell.closest(\"table\").is(event.delegateTarget)) {\r\n return\r\n }\r\n var resultOptions = extend({}, options, {\r\n cellElement: getPublicElement($cell),\r\n event: event,\r\n eventType: event.type\r\n });\r\n resultOptions.rowIndex = this.getRowIndex($row);\r\n if ($fieldItemContent.length) {\r\n var formItemOptions = $fieldItemContent.data(\"dx-form-item\");\r\n if (formItemOptions.column) {\r\n resultOptions.column = formItemOptions.column;\r\n resultOptions.columnIndex = this._columnsController.getVisibleIndex(resultOptions.column.index)\r\n }\r\n }\r\n return resultOptions\r\n };\r\n eventsEngine.on($table, \"mouseover\", \".dx-row > td\", e => {\r\n var options = getOptions(e);\r\n options && this.executeAction(\"onCellHoverChanged\", options)\r\n });\r\n eventsEngine.on($table, \"mouseout\", \".dx-row > td\", e => {\r\n var options = getOptions(e);\r\n options && this.executeAction(\"onCellHoverChanged\", options)\r\n });\r\n eventsEngine.on($table, clickEventName, \".dx-row > td\", e => {\r\n var options = getOptions(e);\r\n options && this.executeAction(\"onCellClick\", options)\r\n });\r\n eventsEngine.on($table, dblclickEvent, \".dx-row > td\", e => {\r\n var options = getOptions(e);\r\n options && this.executeAction(\"onCellDblClick\", options)\r\n });\r\n subscribeToRowEvents(this, $table);\r\n return $table\r\n }\r\n _rowPointerDown(e) {}\r\n _rowClick() {}\r\n _rowDblClick() {}\r\n _createColGroup(columns) {\r\n var colgroupElement = $(\"<colgroup>\");\r\n for (var i = 0; i < columns.length; i++) {\r\n var colspan = columns[i].colspan || 1;\r\n for (var j = 0; j < colspan; j++) {\r\n colgroupElement.append(this._createCol(columns[i]))\r\n }\r\n }\r\n return colgroupElement\r\n }\r\n _createCol(column) {\r\n var width = column.visibleWidth || column.width;\r\n if (\"adaptiveHidden\" === width) {\r\n width = HIDDEN_COLUMNS_WIDTH\r\n }\r\n var col = $(\"<col>\");\r\n setWidth(col, width);\r\n return col\r\n }\r\n renderDelayedTemplates(change) {\r\n var delayedTemplates = this._delayedTemplates;\r\n var syncTemplates = delayedTemplates.filter(template => !template.async);\r\n var asyncTemplates = delayedTemplates.filter(template => template.async);\r\n this._delayedTemplates = [];\r\n this._renderDelayedTemplatesCore(syncTemplates, false, change);\r\n this._renderDelayedTemplatesCoreAsync(asyncTemplates)\r\n }\r\n _renderDelayedTemplatesCoreAsync(templates) {\r\n if (templates.length) {\r\n var templateTimeout = getWindow().setTimeout(() => {\r\n this._templateTimeouts.delete(templateTimeout);\r\n this._renderDelayedTemplatesCore(templates, true)\r\n });\r\n this._templateTimeouts.add(templateTimeout)\r\n }\r\n }\r\n _renderDelayedTemplatesCore(templates, isAsync, change) {\r\n var date = new Date;\r\n while (templates.length) {\r\n var templateParameters = templates.shift();\r\n var {\r\n options: options\r\n } = templateParameters;\r\n var doc = domAdapter.getRootNode($(options.container).get(0));\r\n var needWaitAsyncTemplates = this.needWaitAsyncTemplates();\r\n if (!isAsync || $(options.container).closest(doc).length || needWaitAsyncTemplates) {\r\n if (change) {\r\n options.change = change\r\n }\r\n templateParameters.template.render(options)\r\n }\r\n if (isAsync && new Date - date > 30) {\r\n this._renderDelayedTemplatesCoreAsync(templates);\r\n break\r\n }\r\n }\r\n if (!templates.length && this._delayedTemplates.length) {\r\n this.renderDelayedTemplates()\r\n }\r\n }\r\n _processTemplate(template, options) {\r\n var renderingTemplate;\r\n if (template && template.render && !isRenderer(template)) {\r\n renderingTemplate = {\r\n allowRenderToDetachedContainer: template.allowRenderToDetachedContainer,\r\n render(options) {\r\n template.render(options.container, options.model, options.change);\r\n options.deferred && options.deferred.resolve()\r\n }\r\n }\r\n } else if (isFunction(template)) {\r\n renderingTemplate = {\r\n render(options) {\r\n var renderedTemplate = template(getPublicElement(options.container), options.model, options.change);\r\n if (renderedTemplate && (renderedTemplate.nodeType || isRenderer(renderedTemplate))) {\r\n options.container.append(renderedTemplate)\r\n }\r\n options.deferred && options.deferred.resolve()\r\n }\r\n }\r\n } else {\r\n var templateID = isString(template) ? template : $(template).attr(\"id\");\r\n if (!templateID) {\r\n renderingTemplate = this.getTemplate(template)\r\n } else {\r\n if (!this._templatesCache[templateID]) {\r\n this._templatesCache[templateID] = this.getTemplate(template)\r\n }\r\n renderingTemplate = this._templatesCache[templateID]\r\n }\r\n }\r\n return renderingTemplate\r\n }\r\n renderTemplate(container, template, options, allowRenderToDetachedContainer, change) {\r\n var _a;\r\n var renderingTemplate = this._processTemplate(template, options);\r\n var {\r\n column: column\r\n } = options;\r\n var isDataRow = \"data\" === options.rowType;\r\n var templateDeferred = new Deferred;\r\n var templateOptions = {\r\n container: container,\r\n model: options,\r\n deferred: templateDeferred,\r\n onRendered: () => {\r\n if (this.isDisposed()) {\r\n templateDeferred.reject()\r\n } else {\r\n templateDeferred.resolve()\r\n }\r\n }\r\n };\r\n if (renderingTemplate) {\r\n options.component = this.component;\r\n var columnAsync = column && (column.renderAsync && isDataRow || this.option(\"renderAsync\") && (false !== column.renderAsync && (column.command || column.showEditorAlways) && isDataRow || \"filter\" === options.rowType));\r\n var async = null !== (_a = options.renderAsync) && void 0 !== _a ? _a : columnAsync;\r\n if ((renderingTemplate.allowRenderToDetachedContainer || allowRenderToDetachedContainer) && !async) {\r\n renderingTemplate.render(templateOptions)\r\n } else {\r\n this._delayedTemplates.push({\r\n template: renderingTemplate,\r\n options: templateOptions,\r\n async: async\r\n })\r\n }\r\n this._templateDeferreds.add(templateDeferred);\r\n eventsEngine.on(container, removeEvent, removeHandler.bind(null, templateDeferred))\r\n } else {\r\n templateDeferred.reject()\r\n }\r\n return templateDeferred.promise().always(() => {\r\n this._templateDeferreds.delete(templateDeferred)\r\n })\r\n }\r\n _getBodies(tableElement) {\r\n return $(tableElement).children(\"tbody\").not(\".dx-header\").not(\".dx-footer\")\r\n }\r\n _needWrapRow($tableElement) {\r\n var _a;\r\n var hasRowTemplate = !!this.option().rowTemplate;\r\n return hasRowTemplate && !!(null === (_a = this._getBodies($tableElement)) || void 0 === _a ? void 0 : _a.filter(\".\".concat(ROW_CLASS)).length)\r\n }\r\n _wrapRowIfNeed($table, $row, isRefreshing) {\r\n var $tableElement = isRefreshing ? $table || this._tableElement : this._tableElement || $table;\r\n var needWrapRow = this._needWrapRow($tableElement);\r\n if (needWrapRow) {\r\n var $tbody = $(\"<tbody>\").addClass($row.attr(\"class\"));\r\n this.setAria(\"role\", \"presentation\", $tbody);\r\n return $tbody.append($row)\r\n }\r\n return $row\r\n }\r\n _appendRow($table, $row, appendTemplate) {\r\n appendTemplate = appendTemplate || appendElementTemplate;\r\n appendTemplate.render({\r\n content: $row,\r\n container: $table\r\n })\r\n }\r\n _resizeCore() {\r\n var scrollLeft = this._scrollLeft;\r\n if (scrollLeft >= 0) {\r\n this._scrollLeft = 0;\r\n this.scrollTo({\r\n left: scrollLeft\r\n })\r\n }\r\n }\r\n _renderCore(e) {\r\n var $root = this.element().parent();\r\n if (!$root || $root.parent().length) {\r\n this.renderDelayedTemplates(e)\r\n }\r\n }\r\n _renderTable(options) {\r\n options = options || {};\r\n options.columns = this._columnsController.getVisibleColumns();\r\n var changeType = options.change && options.change.changeType;\r\n var $table = this._createTable(options.columns, \"append\" === changeType || \"prepend\" === changeType || \"update\" === changeType);\r\n this._renderRows($table, options);\r\n return $table\r\n }\r\n _renderRows($table, options) {\r\n var rows = this._getRows(options.change);\r\n var columnIndices = options.change && options.change.columnIndices || [];\r\n var changeTypes = options.change && options.change.changeTypes || [];\r\n for (var i = 0; i < rows.length; i++) {\r\n this._renderRow($table, extend({\r\n row: rows[i],\r\n columnIndices: columnIndices[i],\r\n changeType: changeTypes[i]\r\n }, options))\r\n }\r\n }\r\n _renderRow($table, options) {\r\n if (!options.columnIndices) {\r\n options.row.cells = []\r\n }\r\n var $row = this._createRow(options.row);\r\n var $wrappedRow = this._wrapRowIfNeed($table, $row);\r\n if (\"remove\" !== options.changeType) {\r\n this._renderCells($row, options)\r\n }\r\n this._appendRow($table, $wrappedRow);\r\n var rowOptions = extend({\r\n columns: options.columns\r\n }, options.row);\r\n this._addWatchMethod(rowOptions, options.row);\r\n this._rowPrepared($wrappedRow, rowOptions, options.row)\r\n }\r\n _needRenderCell(columnIndex, columnIndices) {\r\n return !columnIndices || columnIndices.indexOf(columnIndex) >= 0\r\n }\r\n _renderCells($row, options) {\r\n var columnIndex = 0;\r\n var {\r\n row: row\r\n } = options;\r\n var {\r\n columns: columns\r\n } = options;\r\n for (var i = 0; i < columns.length; i++) {\r\n if (this._needRenderCell(i, options.columnIndices)) {\r\n this._renderCell($row, extend({\r\n column: columns[i],\r\n columnIndex: columnIndex,\r\n value: row.values && row.values[columnIndex],\r\n oldValue: row.oldValues && row.oldValues[columnIndex]\r\n }, options))\r\n }\r\n if (columns[i].colspan > 1) {\r\n columnIndex += columns[i].colspan\r\n } else {\r\n columnIndex++\r\n }\r\n }\r\n }\r\n _updateCells($rowElement, $newRowElement, columnIndices) {\r\n var $cells = $rowElement.children();\r\n var $newCells = $newRowElement.children();\r\n var highlightChanges = this.option(\"highlightChanges\");\r\n var cellUpdatedClass = this.addWidgetPrefix(CELL_UPDATED_ANIMATION_CLASS);\r\n columnIndices.forEach((columnIndex, index) => {\r\n var $cell = $cells.eq(columnIndex);\r\n var $newCell = $newCells.eq(index);\r\n $cell.replaceWith($newCell);\r\n if (highlightChanges && !$newCell.hasClass(\"dx-command-expand\")) {\r\n $newCell.addClass(cellUpdatedClass)\r\n }\r\n });\r\n copyAttributes($rowElement.get(0), $newRowElement.get(0))\r\n }\r\n _setCellAriaAttributes($cell, cellOptions) {\r\n if (\"freeSpace\" !== cellOptions.rowType) {\r\n this.setAria(\"role\", \"gridcell\", $cell);\r\n var columnIndexOffset = this._columnsController.getColumnIndexOffset();\r\n var ariaColIndex = cellOptions.columnIndex + columnIndexOffset + 1;\r\n this.setAria(\"colindex\", ariaColIndex, $cell)\r\n }\r\n }\r\n _renderCell($row, options) {\r\n var cellOptions = this._getCellOptions(options);\r\n if (options.columnIndices) {\r\n if (options.row.cells) {\r\n var cellIndex = options.row.cells.findIndex(cell => cell.columnIndex === cellOptions.columnIndex);\r\n options.row.cells[cellIndex] = cellOptions\r\n }\r\n } else {\r\n options.row.cells.push(cellOptions)\r\n }\r\n var $cell = this._createCell(cellOptions);\r\n this._setCellAriaAttributes($cell, cellOptions);\r\n this._renderCellContent($cell, cellOptions, options);\r\n $row.get(0).appendChild($cell.get(0));\r\n return $cell\r\n }\r\n _renderCellContent($cell, options, renderOptions) {\r\n var template = this._getCellTemplate(options);\r\n when(!template || this.renderTemplate($cell, template, options, void 0, renderOptions.change)).done(() => {\r\n this._updateCell($cell, options)\r\n })\r\n }\r\n _getCellTemplate(options) {}\r\n _getRows(change) {\r\n return []\r\n }\r\n _getCellOptions(options) {\r\n var cellOptions = {\r\n column: options.column,\r\n columnIndex: options.columnIndex,\r\n rowType: options.row.rowType,\r\n isAltRow: this._isAltRow(options.row)\r\n };\r\n this._addWatchMethod(cellOptions);\r\n return cellOptions\r\n }\r\n _addWatchMethod(options, source) {\r\n if (!this.option(\"repaintChangesOnly\")) {\r\n return\r\n }\r\n var watchers = [];\r\n source = source || options;\r\n source.watch = source.watch || function(getter, updateValueFunc, updateRowFunc) {\r\n var oldValue = getter(source.data);\r\n var watcher = function(row) {\r\n if (row && updateRowFunc) {\r\n updateRowFunc(row)\r\n }\r\n var newValue = getter(source.data);\r\n if (JSON.stringify(oldValue) !== JSON.stringify(newValue)) {\r\n if (row) {\r\n updateValueFunc(newValue)\r\n }\r\n oldValue = newValue\r\n }\r\n };\r\n watchers.push(watcher);\r\n return function() {\r\n var index = watchers.indexOf(watcher);\r\n if (index >= 0) {\r\n watchers.splice(index, 1)\r\n }\r\n }\r\n };\r\n source.update = source.update || function(row, keepRow) {\r\n if (row) {\r\n this.data = options.data = row.data;\r\n this.rowIndex = options.rowIndex = row.rowIndex;\r\n this.dataIndex = options.dataIndex = row.dataIndex;\r\n this.isExpanded = options.isExpanded = row.isExpanded;\r\n if (options.row && !keepRow) {\r\n options.row = row\r\n }\r\n }\r\n watchers.forEach(watcher => {\r\n watcher(row)\r\n })\r\n };\r\n if (source !== options) {\r\n options.watch = source.watch.bind(source)\r\n }\r\n return options\r\n }\r\n _cellPrepared(cell, options) {\r\n options.cellElement = getPublicElement($(cell));\r\n this.executeAction(\"onCellPrepared\", options)\r\n }\r\n _rowPrepared($row, options, row) {\r\n elementData($row.get(0), \"options\", options);\r\n options.rowElement = getPublicElement($row);\r\n this.executeAction(\"onRowPrepared\", options)\r\n }\r\n _columnOptionChanged(e) {\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n if (gridCoreUtils.checkChanges(optionNames, [\"width\", \"visibleWidth\"])) {\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var widths = visibleColumns.map(column => column.visibleWidth || column.width);\r\n this.setColumnWidths({\r\n widths: widths,\r\n optionNames: optionNames\r\n });\r\n return\r\n }\r\n if (!this._requireReady) {\r\n this.render()\r\n }\r\n }\r\n getCellIndex($cell, rowIndex) {\r\n var cellIndex = $cell.length ? $cell[0].cellIndex : -1;\r\n return cellIndex\r\n }\r\n getTableElements() {\r\n return this._tableElement || $()\r\n }\r\n getTableElement(isFixedTableRendering) {\r\n return this._tableElement\r\n }\r\n setTableElement(tableElement, isFixedTableRendering) {\r\n this._tableElement = tableElement\r\n }\r\n _afterRowPrepared(e) {}\r\n _handleDataChanged(e) {}\r\n callbackNames() {\r\n return [\"scrollChanged\"]\r\n }\r\n _updateScrollLeftPosition() {\r\n var scrollLeft = this._scrollLeft;\r\n if (scrollLeft >= 0) {\r\n this._scrollLeft = 0;\r\n this.scrollTo({\r\n left: scrollLeft\r\n })\r\n }\r\n }\r\n scrollTo(pos) {\r\n var $element = this.element();\r\n var $scrollContainer = $element && $element.children(\".\".concat(this.addWidgetPrefix(SCROLL_CONTAINER_CLASS))).not(\".\".concat(this.addWidgetPrefix(CONTENT_FIXED_CLASS)));\r\n if (isDefined(pos) && isDefined(pos.left) && this._scrollLeft !== pos.left) {\r\n this._scrollLeft = pos.left;\r\n $scrollContainer && $scrollContainer.scrollLeft(pos.left)\r\n }\r\n }\r\n _getContent(isFixedTableRendering) {\r\n var _a;\r\n return null === (_a = this._tableElement) || void 0 === _a ? void 0 : _a.parent()\r\n }\r\n _removeContent(isFixedTableRendering) {\r\n var $scrollContainer = this._getContent(isFixedTableRendering);\r\n if (null === $scrollContainer || void 0 === $scrollContainer ? void 0 : $scrollContainer.length) {\r\n $scrollContainer.remove()\r\n }\r\n }\r\n _wrapTableInScrollContainer($table, isFixedTableRendering) {\r\n var $scrollContainer = $(\"<div>\");\r\n var useNative = this.option(\"scrolling.useNative\");\r\n if (false === useNative || \"auto\" === useNative && !nativeScrolling) {\r\n $scrollContainer.addClass(this.addWidgetPrefix(SCROLLABLE_SIMULATED_CLASS))\r\n }\r\n eventsEngine.on($scrollContainer, \"scroll\", () => {\r\n var scrollLeft = $scrollContainer.scrollLeft();\r\n if (scrollLeft !== this._scrollLeft) {\r\n this.scrollChanged.fire({\r\n left: scrollLeft\r\n }, this.name)\r\n }\r\n });\r\n $scrollContainer.addClass(this.addWidgetPrefix(CONTENT_CLASS)).addClass(this.addWidgetPrefix(SCROLL_CONTAINER_CLASS)).append($table).appendTo(this.element());\r\n this.setAria(\"role\", \"presentation\", $scrollContainer);\r\n return $scrollContainer\r\n }\r\n needWaitAsyncTemplates() {\r\n return this.option(\"templatesRenderAsynchronously\") && false === this.option(\"renderAsync\")\r\n }\r\n waitAsyncTemplates() {\r\n var forceWaiting = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n var result = new Deferred;\r\n var needWaitAsyncTemplates = forceWaiting || this.needWaitAsyncTemplates();\r\n if (!needWaitAsyncTemplates) {\r\n return result.resolve()\r\n }\r\n var waitTemplatesRecursion = () => when.apply(this, Array.from(this._templateDeferreds)).done(() => {\r\n if (this.isDisposed()) {\r\n result.reject()\r\n } else if (this._templateDeferreds.size > 0) {\r\n waitTemplatesRecursion()\r\n } else {\r\n result.resolve()\r\n }\r\n }).fail(result.reject);\r\n waitTemplatesRecursion();\r\n return result.promise()\r\n }\r\n _updateContent($newTableElement, change, isFixedTableRendering) {\r\n return this.waitAsyncTemplates().done(() => {\r\n this._removeContent(isFixedTableRendering);\r\n this.setTableElement($newTableElement, isFixedTableRendering);\r\n this._wrapTableInScrollContainer($newTableElement, isFixedTableRendering)\r\n })\r\n }\r\n _findContentElement(isFixedTableRendering) {}\r\n _getWidths($cellElements) {\r\n if (!$cellElements) {\r\n return []\r\n }\r\n var result = [];\r\n var cellElements = $cellElements.toArray();\r\n cellElements.forEach(cell => {\r\n var width = cell.offsetWidth;\r\n if (cell.getBoundingClientRect) {\r\n var rect = getBoundingRect(cell);\r\n if (rect.width > cell.offsetWidth - 1) {\r\n width = rect.width\r\n }\r\n }\r\n result.push(width)\r\n });\r\n return result\r\n }\r\n getColumnWidths($tableElement) {\r\n (this.option(\"forceApplyBindings\") || noop)();\r\n $tableElement = null !== $tableElement && void 0 !== $tableElement ? $tableElement : this.getTableElement();\r\n if ($tableElement) {\r\n var $rows = $tableElement.children(\"tbody:not(.dx-header)\").children();\r\n for (var i = 0; i < $rows.length; i++) {\r\n var $row = $rows.eq(i);\r\n var isGroupRow = $row.hasClass(GROUP_ROW_CLASS);\r\n var isDetailRow = $row.hasClass(DETAIL_ROW_CLASS);\r\n var isErrorRow = $row.hasClass(ERROR_ROW_CLASS);\r\n var isRowVisible = \"none\" !== $row.get(0).style.display && !$row.hasClass(\"dx-state-invisible\");\r\n var isRelevantRow = !isGroupRow && !isDetailRow && !isErrorRow;\r\n if (isRowVisible && isRelevantRow) {\r\n var $cells = $row.children(\"td\");\r\n var result = this._getWidths($cells);\r\n return result\r\n }\r\n }\r\n }\r\n return []\r\n }\r\n getVisibleColumnIndex(columnIndex, rowIndex) {\r\n return columnIndex\r\n }\r\n setColumnWidths(_ref2) {\r\n var {\r\n widths: widths,\r\n optionNames: optionNames\r\n } = _ref2;\r\n var $tableElement = this.getTableElement();\r\n if (!(null === $tableElement || void 0 === $tableElement ? void 0 : $tableElement.length) || !widths) {\r\n return\r\n }\r\n var columns = this.getColumns();\r\n var needToSetCellWidths = this._needToSetCellWidths();\r\n var $cols = $tableElement.children(\"colgroup\").children(\"col\");\r\n $cols.toArray().forEach(col => col.removeAttribute(\"style\"));\r\n columns.forEach((column, columnIndex) => {\r\n if (needToSetCellWidths && column.width && !column.command) {\r\n var width = getWidthStyle(column.visibleWidth || column.width);\r\n var minWidth = getWidthStyle(column.minWidth || width);\r\n var $rows = $tableElement.children().children(\".dx-row\").not(\".\".concat(DETAIL_ROW_CLASS));\r\n for (var rowIndex = 0; rowIndex < $rows.length; rowIndex++) {\r\n var visibleIndex = this.getVisibleColumnIndex(columnIndex, rowIndex);\r\n if (visibleIndex >= 0) {\r\n var $row = $rows.eq(rowIndex);\r\n var $cell = $row.hasClass(GROUP_ROW_CLASS) ? $row.find(\"td[aria-colindex='\".concat(visibleIndex + 1, \"']:not(.\").concat(GROUP_CELL_CLASS, \")\")) : $row.find(\"td\").eq(visibleIndex);\r\n if ($cell.length) {\r\n var cell = $cell.get(0);\r\n setCellWidth(cell, column, width);\r\n cell.style.minWidth = minWidth\r\n }\r\n }\r\n }\r\n }\r\n var colWidth = normalizeWidth(widths[columnIndex]);\r\n if (isDefined(colWidth)) {\r\n setWidth($cols.eq(columnIndex), colWidth)\r\n }\r\n })\r\n }\r\n getCellElements(rowIndex) {\r\n return this._getCellElementsCore(rowIndex)\r\n }\r\n _getCellElementsCore(rowIndex) {\r\n if (rowIndex < 0) {\r\n return\r\n }\r\n var $row = this._getRowElements().eq(rowIndex);\r\n return $row.children()\r\n }\r\n _getCellElement(rowIndex, columnIdentifier) {\r\n var $cells = this.getCellElements(rowIndex);\r\n var columnVisibleIndex = this._getVisibleColumnIndex($cells, rowIndex, columnIdentifier);\r\n if (!(null === $cells || void 0 === $cells ? void 0 : $cells.length) || columnVisibleIndex < 0) {\r\n return\r\n }\r\n var $cell = $cells.eq(columnVisibleIndex);\r\n return $cell.length > 0 ? $cell : void 0\r\n }\r\n _getRowElement(rowIndex) {\r\n var that = this;\r\n var $rowElement = $();\r\n var $tableElements = that.getTableElements();\r\n iteratorUtils.each($tableElements, (_, tableElement) => {\r\n $rowElement = $rowElement.add(that._getRowElements($(tableElement)).eq(rowIndex))\r\n });\r\n if ($rowElement.length) {\r\n return $rowElement\r\n }\r\n return\r\n }\r\n getCellElement(rowIndex, columnIdentifier) {\r\n var $cell = this._getCellElement(rowIndex, columnIdentifier);\r\n if ($cell) {\r\n return getPublicElement($cell)\r\n }\r\n return\r\n }\r\n getRowElement(rowIndex) {\r\n var $rows = this._getRowElement(rowIndex);\r\n var elements = [];\r\n if ($rows && !getPublicElement($rows).get) {\r\n for (var i = 0; i < $rows.length; i++) {\r\n elements.push($rows[i])\r\n }\r\n } else {\r\n elements = $rows\r\n }\r\n return elements\r\n }\r\n _getVisibleColumnIndex($cells, rowIndex, columnIdentifier) {\r\n if (isString(columnIdentifier)) {\r\n var columnIndex = this._columnsController.columnOption(columnIdentifier, \"index\");\r\n return this._columnsController.getVisibleIndex(columnIndex)\r\n }\r\n return columnIdentifier\r\n }\r\n getColumnElements() {}\r\n getColumns(rowIndex, $tableElement) {\r\n return this._columnsController.getVisibleColumns(rowIndex)\r\n }\r\n getCell(cellPosition, rows, cells) {\r\n var $rows = rows || this._getRowElements();\r\n var $cells;\r\n if ($rows.length > 0 && cellPosition.rowIndex >= 0) {\r\n if (\"virtual\" !== this.option(\"scrolling.mode\") && \"virtual\" !== this.option(\"scrolling.rowRenderingMode\")) {\r\n cellPosition.rowIndex = cellPosition.rowIndex < $rows.length ? cellPosition.rowIndex : $rows.length - 1\r\n }\r\n $cells = cells || this.getCellElements(cellPosition.rowIndex);\r\n if ((null === $cells || void 0 === $cells ? void 0 : $cells.length) > 0) {\r\n return $cells.eq($cells.length > cellPosition.columnIndex ? cellPosition.columnIndex : $cells.length - 1)\r\n }\r\n }\r\n }\r\n getRowsCount() {\r\n var tableElement = this.getTableElement();\r\n if (tableElement && 1 === tableElement.length) {\r\n return tableElement[0].rows.length\r\n }\r\n return 0\r\n }\r\n _getRowElementsCore(tableElement) {\r\n tableElement = tableElement || this.getTableElement();\r\n if (tableElement) {\r\n var hasRowTemplate = this.option().rowTemplate || this.option(\"dataRowTemplate\");\r\n var tBodies = hasRowTemplate && tableElement.find(\"> tbody.\".concat(ROW_CLASS));\r\n return tBodies && tBodies.length ? tBodies : tableElement.find(\"> tbody > \" + \".\".concat(ROW_CLASS, \", > .\").concat(ROW_CLASS))\r\n }\r\n return $()\r\n }\r\n _getRowElements(tableElement) {\r\n return this._getRowElementsCore(tableElement)\r\n }\r\n getRowIndex($row) {\r\n return this._getRowElements().index($row)\r\n }\r\n getBoundingRect() {}\r\n getName() {}\r\n setScrollerSpacing(width) {\r\n var $element = this.element();\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n $element && $element.css({\r\n paddingLeft: rtlEnabled ? width : \"\",\r\n paddingRight: !rtlEnabled ? width : \"\"\r\n })\r\n }\r\n isScrollbarVisible(isHorizontal) {\r\n var $element = this.element();\r\n var $tableElement = this._tableElement;\r\n if ($element && $tableElement) {\r\n return isHorizontal ? getOuterWidth($tableElement) - getWidth($element) > 0 : getOuterHeight($tableElement) - getHeight($element) > 0\r\n }\r\n return false\r\n }\r\n isDisposed() {\r\n var _a;\r\n return null === (_a = this.component) || void 0 === _a ? void 0 : _a._disposed\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/column_headers/m_column_headers.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getHeight\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n registerKeyboardAction\r\n} from \"../m_accessibility\";\r\nimport {\r\n ColumnsView\r\n} from \"../views/m_columns_view\";\r\nvar CELL_CONTENT_CLASS = \"text-content\";\r\nvar HEADERS_CLASS = \"headers\";\r\nvar NOWRAP_CLASS = \"nowrap\";\r\nvar ROW_CLASS_SELECTOR = \".dx-row\";\r\nvar HEADER_ROW_CLASS = \"dx-header-row\";\r\nvar COLUMN_LINES_CLASS = \"dx-column-lines\";\r\nvar CONTEXT_MENU_SORT_ASC_ICON = \"context-menu-sort-asc\";\r\nvar CONTEXT_MENU_SORT_DESC_ICON = \"context-menu-sort-desc\";\r\nvar CONTEXT_MENU_SORT_NONE_ICON = \"context-menu-sort-none\";\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar VISIBILITY_HIDDEN_CLASS = \"dx-visibility-hidden\";\r\nvar TEXT_CONTENT_ALIGNMENT_CLASS_PREFIX = \"dx-text-content-alignment-\";\r\nvar SORT_INDICATOR_CLASS = \"dx-sort-indicator\";\r\nvar SORT_INDEX_INDICATOR_CLASS = \"dx-sort-index-indicator\";\r\nvar HEADER_FILTER_CLASS_SELECTOR = \".dx-header-filter\";\r\nvar HEADER_FILTER_INDICATOR_CLASS = \"dx-header-filter-indicator\";\r\nvar MULTI_ROW_HEADER_CLASS = \"dx-header-multi-row\";\r\nvar LINK = \"dx-link\";\r\nvar createCellContent = function(that, $cell, options) {\r\n var $cellContent = $(\"<div>\").addClass(that.addWidgetPrefix(CELL_CONTENT_CLASS));\r\n that.setAria(\"role\", \"presentation\", $cellContent);\r\n addCssClassesToCellContent(that, $cell, options.column, $cellContent);\r\n var showColumnLines = that.option(\"showColumnLines\");\r\n var contentAlignment = that.getController(\"columns\").getHeaderContentAlignment(options.column.alignment);\r\n return $cellContent[showColumnLines || \"right\" === contentAlignment ? \"appendTo\" : \"prependTo\"]($cell)\r\n};\r\n\r\nfunction addCssClassesToCellContent(that, $cell, column, $cellContent) {\r\n var $indicatorElements = that._getIndicatorElements($cell, true);\r\n var $visibleIndicatorElements = that._getIndicatorElements($cell);\r\n var indicatorCount = $indicatorElements && $indicatorElements.length;\r\n var columnAlignment = that._getColumnAlignment(column.alignment);\r\n var sortIndicatorClassName = \".\".concat(that._getIndicatorClassName(\"sort\"));\r\n var sortIndexIndicatorClassName = \".\".concat(that._getIndicatorClassName(\"sortIndex\"));\r\n var $sortIndicator = $visibleIndicatorElements.filter(sortIndicatorClassName);\r\n var $sortIndexIndicator = $visibleIndicatorElements.children().filter(sortIndexIndicatorClassName);\r\n $cellContent = $cellContent || $cell.children(\".\".concat(that.addWidgetPrefix(CELL_CONTENT_CLASS)));\r\n $cellContent.toggleClass(TEXT_CONTENT_ALIGNMENT_CLASS_PREFIX + columnAlignment, indicatorCount > 0).toggleClass(TEXT_CONTENT_ALIGNMENT_CLASS_PREFIX + (\"left\" === columnAlignment ? \"right\" : \"left\"), indicatorCount > 0 && \"center\" === column.alignment).toggleClass(SORT_INDICATOR_CLASS, !!$sortIndicator.length).toggleClass(SORT_INDEX_INDICATOR_CLASS, !!$sortIndexIndicator.length).toggleClass(HEADER_FILTER_INDICATOR_CLASS, !!$visibleIndicatorElements.filter(\".\".concat(that._getIndicatorClassName(\"headerFilter\"))).length)\r\n}\r\nexport class ColumnHeadersView extends ColumnsView {\r\n init() {\r\n super.init();\r\n this._headerPanelView = this.getView(\"headerPanel\");\r\n this._headerFilterController = this.getController(\"headerFilter\");\r\n this._dataController = this.getController(\"data\")\r\n }\r\n _createTable() {\r\n var $table = super._createTable.apply(this, arguments);\r\n eventsEngine.on($table, \"mousedown selectstart\", this.createAction(e => {\r\n var {\r\n event: event\r\n } = e;\r\n if (event.shiftKey) {\r\n event.preventDefault()\r\n }\r\n }));\r\n return $table\r\n }\r\n _isLegacyKeyboardNavigation() {\r\n return this.option(\"useLegacyKeyboardNavigation\")\r\n }\r\n _getDefaultTemplate(column) {\r\n var that = this;\r\n return function($container, options) {\r\n var {\r\n caption: caption\r\n } = column;\r\n var needCellContent = !column.command || caption && \"expand\" !== column.command;\r\n if (\"empty\" === column.command) {\r\n that._renderEmptyMessage($container, options)\r\n } else if (needCellContent) {\r\n var $content = createCellContent(that, $container, options);\r\n $content.text(caption)\r\n } else if (column.command) {\r\n $container.html(\" \")\r\n }\r\n }\r\n }\r\n _renderEmptyMessage($container, options) {\r\n var textEmpty = this._getEmptyHeaderText();\r\n if (!textEmpty) {\r\n $container.html(\" \");\r\n return\r\n }\r\n var $cellContent = createCellContent(this, $container, options);\r\n var needSplit = textEmpty.includes(\"{0}\");\r\n if (needSplit) {\r\n var [leftPart, rightPart] = textEmpty.split(\"{0}\");\r\n var columnChooserTitle = messageLocalization.format(\"dxDataGrid-emptyHeaderColumnChooserText\");\r\n var columnChooserView = this._columnChooserView;\r\n var $link = $(\"<a>\").text(columnChooserTitle).addClass(LINK);\r\n eventsEngine.on($link, \"click\", this.createAction(() => columnChooserView.showColumnChooser()));\r\n $cellContent.append(domAdapter.createTextNode(leftPart)).append($link).append(domAdapter.createTextNode(rightPart))\r\n } else {\r\n $cellContent.text(textEmpty)\r\n }\r\n }\r\n _getEmptyHeaderText() {\r\n var hasHiddenColumns = !!this._columnChooserView.hasHiddenColumns();\r\n var hasGroupedColumns = !!this._headerPanelView.hasGroupedColumns();\r\n switch (true) {\r\n case hasHiddenColumns && hasGroupedColumns:\r\n return messageLocalization.format(\"dxDataGrid-emptyHeaderWithColumnChooserAndGroupPanelText\");\r\n case hasGroupedColumns:\r\n return messageLocalization.format(\"dxDataGrid-emptyHeaderWithGroupPanelText\");\r\n case hasHiddenColumns:\r\n return messageLocalization.format(\"dxDataGrid-emptyHeaderWithColumnChooserText\");\r\n default:\r\n return \"\"\r\n }\r\n }\r\n _getHeaderTemplate(column) {\r\n return column.headerCellTemplate || {\r\n allowRenderToDetachedContainer: true,\r\n render: this._getDefaultTemplate(column)\r\n }\r\n }\r\n _processTemplate(template, options) {\r\n var that = this;\r\n var resultTemplate;\r\n var {\r\n column: column\r\n } = options;\r\n var renderingTemplate = super._processTemplate(template);\r\n if (\"header\" === options.rowType && renderingTemplate && column.headerCellTemplate && !column.command) {\r\n resultTemplate = {\r\n render(options) {\r\n var $content = createCellContent(that, options.container, options.model);\r\n renderingTemplate.render(extend({}, options, {\r\n container: $content\r\n }))\r\n }\r\n }\r\n } else {\r\n resultTemplate = renderingTemplate\r\n }\r\n return resultTemplate\r\n }\r\n _handleDataChanged(e) {\r\n if (\"refresh\" !== e.changeType) {\r\n return\r\n }\r\n if (this._isGroupingChanged || this._requireReady) {\r\n this._isGroupingChanged = false;\r\n this.render()\r\n }\r\n }\r\n _renderCell($row, options) {\r\n var $cell = super._renderCell($row, options);\r\n if (\"header\" === options.row.rowType) {\r\n $cell.addClass(CELL_FOCUS_DISABLED_CLASS);\r\n if (!this._isLegacyKeyboardNavigation()) {\r\n if (options.column && !options.column.type) {\r\n $cell.attr(\"tabindex\", this.option(\"tabindex\") || 0)\r\n }\r\n }\r\n }\r\n return $cell\r\n }\r\n _setCellAriaAttributes($cell, cellOptions) {\r\n super._setCellAriaAttributes($cell, cellOptions);\r\n if (\"header\" === cellOptions.rowType) {\r\n if (!cellOptions.column.type) {\r\n this.setAria(\"role\", \"columnheader\", $cell)\r\n }\r\n if (cellOptions.column && !cellOptions.column.command && !cellOptions.column.isBand) {\r\n $cell.attr(\"id\", cellOptions.column.headerId);\r\n this.setAria(\"label\", \"\".concat(messageLocalization.format(\"dxDataGrid-ariaColumn\"), \" \").concat(cellOptions.column.caption), $cell)\r\n }\r\n }\r\n }\r\n _createRow(row) {\r\n var $row = super._createRow.apply(this, arguments);\r\n $row.toggleClass(COLUMN_LINES_CLASS, this.option(\"showColumnLines\"));\r\n if (\"header\" === row.rowType) {\r\n $row.addClass(HEADER_ROW_CLASS);\r\n if (!this._isLegacyKeyboardNavigation()) {\r\n registerKeyboardAction(\"columnHeaders\", this, $row, \"td\", this._handleActionKeyDown.bind(this))\r\n }\r\n }\r\n return $row\r\n }\r\n _processHeaderAction(event, $row) {}\r\n _handleActionKeyDown(args) {\r\n var {\r\n event: event\r\n } = args;\r\n var $target = $(event.target);\r\n this._lastActionElement = event.target;\r\n if ($target.is(HEADER_FILTER_CLASS_SELECTOR)) {\r\n var headerFilterController = this._headerFilterController;\r\n var $column = $target.closest(\"td\");\r\n var columnIndex = this.getColumnIndexByElement($column);\r\n if (columnIndex >= 0) {\r\n headerFilterController.showHeaderFilterMenu(columnIndex, false)\r\n }\r\n } else {\r\n var $row = $target.closest(ROW_CLASS_SELECTOR);\r\n this._processHeaderAction(event, $row)\r\n }\r\n event.preventDefault()\r\n }\r\n _renderCore() {\r\n var $container = this.element();\r\n var change = {};\r\n if (this._tableElement && !this._dataController.isLoaded() && !this._hasRowElements) {\r\n return\r\n }\r\n $container.addClass(this.addWidgetPrefix(HEADERS_CLASS)).toggleClass(this.addWidgetPrefix(NOWRAP_CLASS), !this.option(\"wordWrapEnabled\")).empty();\r\n this.setAria(\"role\", \"presentation\", $container);\r\n var deferred = this._updateContent(this._renderTable({\r\n change: change\r\n }), change);\r\n if (this.getRowCount() > 1) {\r\n $container.addClass(MULTI_ROW_HEADER_CLASS)\r\n }\r\n super._renderCore.apply(this, arguments);\r\n return deferred\r\n }\r\n _renderRows() {\r\n if (this._dataController.isLoaded() || this._hasRowElements) {\r\n super._renderRows.apply(this, arguments);\r\n this._hasRowElements = true\r\n }\r\n }\r\n _renderRow($table, options) {\r\n var rowIndex = 1 === this.getRowCount() ? null : options.row.rowIndex;\r\n options.columns = this.getColumns(rowIndex);\r\n super._renderRow($table, options)\r\n }\r\n _createCell(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var $cellElement = super._createCell.apply(this, arguments);\r\n column.rowspan > 1 && \"header\" === options.rowType && $cellElement.attr(\"rowSpan\", column.rowspan);\r\n return $cellElement\r\n }\r\n _getRows() {\r\n var result = [];\r\n var rowCount = this.getRowCount();\r\n if (this.option(\"showColumnHeaders\")) {\r\n for (var i = 0; i < rowCount; i++) {\r\n result.push({\r\n rowType: \"header\",\r\n rowIndex: i\r\n })\r\n }\r\n }\r\n return result\r\n }\r\n _getCellTemplate(options) {\r\n if (\"header\" === options.rowType) {\r\n return this._getHeaderTemplate(options.column)\r\n }\r\n }\r\n _columnOptionChanged(e) {\r\n var {\r\n changeTypes: changeTypes\r\n } = e;\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n if (changeTypes.grouping || changeTypes.groupExpanding) {\r\n if (changeTypes.grouping) {\r\n this._isGroupingChanged = true\r\n }\r\n return\r\n }\r\n super._columnOptionChanged(e);\r\n if (optionNames.width || optionNames.visible) {\r\n this.resizeCompleted.fire()\r\n }\r\n }\r\n _isElementVisible(elementOptions) {\r\n return elementOptions && elementOptions.visible\r\n }\r\n _alignCaptionByCenter($cell) {\r\n var $indicatorsContainer = this._getIndicatorContainer($cell, true);\r\n if ($indicatorsContainer && $indicatorsContainer.length) {\r\n $indicatorsContainer.filter(\".\".concat(VISIBILITY_HIDDEN_CLASS)).remove();\r\n $indicatorsContainer = this._getIndicatorContainer($cell);\r\n $indicatorsContainer.clone().addClass(VISIBILITY_HIDDEN_CLASS).css(\"float\", \"\").insertBefore($cell.children(\".\".concat(this.addWidgetPrefix(CELL_CONTENT_CLASS))))\r\n }\r\n }\r\n _updateCell($cell, options) {\r\n if (\"header\" === options.rowType && \"center\" === options.column.alignment) {\r\n this._alignCaptionByCenter($cell)\r\n }\r\n super._updateCell.apply(this, arguments)\r\n }\r\n _updateIndicator($cell, column, indicatorName) {\r\n var $indicatorElement = super._updateIndicator.apply(this, arguments);\r\n if (\"center\" === column.alignment) {\r\n this._alignCaptionByCenter($cell)\r\n }\r\n addCssClassesToCellContent(this, $cell, column);\r\n return $indicatorElement\r\n }\r\n _getIndicatorContainer($cell, returnAll) {\r\n var $indicatorsContainer = super._getIndicatorContainer($cell);\r\n return returnAll ? $indicatorsContainer : $indicatorsContainer.filter(\":not(.\".concat(VISIBILITY_HIDDEN_CLASS, \")\"))\r\n }\r\n _isSortableElement($target) {\r\n return true\r\n }\r\n getHeadersRowHeight() {\r\n var $tableElement = this.getTableElement();\r\n var $headerRows = $tableElement && $tableElement.find(\".\".concat(HEADER_ROW_CLASS));\r\n return $headerRows && $headerRows.toArray().reduce((sum, headerRow) => sum + getHeight(headerRow), 0) || 0\r\n }\r\n getHeaderElement(index) {\r\n var columnElements = this.getColumnElements();\r\n return columnElements && columnElements.eq(index)\r\n }\r\n getColumnElements(index, bandColumnIndex) {\r\n var that = this;\r\n var $cellElement;\r\n var columnsController = that._columnsController;\r\n var rowCount = that.getRowCount();\r\n if (that.option(\"showColumnHeaders\")) {\r\n if (rowCount > 1 && (!isDefined(index) || isDefined(bandColumnIndex))) {\r\n var result = [];\r\n var visibleColumns = isDefined(bandColumnIndex) ? columnsController.getChildrenByBandColumn(bandColumnIndex, true) : columnsController.getVisibleColumns();\r\n each(visibleColumns, (_, column) => {\r\n var rowIndex = isDefined(index) ? index : columnsController.getRowIndex(column.index);\r\n $cellElement = that._getCellElement(rowIndex, columnsController.getVisibleIndex(column.index, rowIndex));\r\n $cellElement && result.push($cellElement.get(0))\r\n });\r\n return $(result)\r\n }\r\n if (!index || index < rowCount) {\r\n return that.getCellElements(index || 0)\r\n }\r\n }\r\n return\r\n }\r\n getColumnIndexByElement($cell) {\r\n var cellIndex = this.getCellIndex($cell);\r\n var $row = $cell.closest(\".dx-row\");\r\n var {\r\n rowIndex: rowIndex\r\n } = $row[0];\r\n var column = this.getColumns(rowIndex)[cellIndex];\r\n return column ? column.index : -1\r\n }\r\n getVisibleColumnIndex(columnIndex, rowIndex) {\r\n var column = this.getColumns()[columnIndex];\r\n return column ? this._columnsController.getVisibleIndex(column.index, rowIndex) : -1\r\n }\r\n getColumnWidths() {\r\n var $columnElements = this.getColumnElements();\r\n if ($columnElements && $columnElements.length) {\r\n return this._getWidths($columnElements)\r\n }\r\n return super.getColumnWidths.apply(this, arguments)\r\n }\r\n allowDragging(column) {\r\n var _a;\r\n var rowIndex = column && this._columnsController.getRowIndex(column.index);\r\n var columns = this.getColumns(rowIndex);\r\n var isReorderingEnabled = null !== (_a = this.option(\"allowColumnReordering\")) && void 0 !== _a ? _a : this._columnsController.isColumnOptionUsed(\"allowReordering\");\r\n return isReorderingEnabled && column.allowReordering && columns.length > 1\r\n }\r\n getBoundingRect() {\r\n var $columnElements = this.getColumnElements();\r\n if ($columnElements && $columnElements.length) {\r\n var offset = this.getTableElement().offset();\r\n return {\r\n top: offset.top\r\n }\r\n }\r\n return null\r\n }\r\n getName() {\r\n return \"headers\"\r\n }\r\n getColumnCount() {\r\n var $columnElements = this.getColumnElements();\r\n return $columnElements ? $columnElements.length : 0\r\n }\r\n isVisible() {\r\n return this.option(\"showColumnHeaders\")\r\n }\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"showColumnHeaders\":\r\n case \"wordWrapEnabled\":\r\n case \"showColumnLines\":\r\n this._invalidate(true, true);\r\n args.handled = true;\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n getHeight() {\r\n return this.getElementHeight()\r\n }\r\n getContextMenuItems(options) {\r\n var that = this;\r\n var {\r\n column: column\r\n } = options;\r\n if (options.row && (\"header\" === options.row.rowType || \"detailAdaptive\" === options.row.rowType)) {\r\n var sortingOptions = that.option(\"sorting\");\r\n if (sortingOptions && \"none\" !== sortingOptions.mode && column && column.allowSorting) {\r\n var onItemClick = function(params) {\r\n setTimeout(() => {\r\n that._columnsController.changeSortOrder(column.index, params.itemData.value)\r\n })\r\n };\r\n return [{\r\n text: sortingOptions.ascendingText,\r\n value: \"asc\",\r\n disabled: \"asc\" === column.sortOrder,\r\n icon: CONTEXT_MENU_SORT_ASC_ICON,\r\n onItemClick: onItemClick\r\n }, {\r\n text: sortingOptions.descendingText,\r\n value: \"desc\",\r\n disabled: \"desc\" === column.sortOrder,\r\n icon: CONTEXT_MENU_SORT_DESC_ICON,\r\n onItemClick: onItemClick\r\n }, {\r\n text: sortingOptions.clearText,\r\n value: \"none\",\r\n disabled: !column.sortOrder,\r\n icon: CONTEXT_MENU_SORT_NONE_ICON,\r\n onItemClick: onItemClick\r\n }]\r\n }\r\n }\r\n return\r\n }\r\n getRowCount() {\r\n return this._columnsController && this._columnsController.getRowCount()\r\n }\r\n setRowsOpacity(columnIndex, value, rowIndex) {\r\n var i;\r\n var columnElements;\r\n var rowCount = this.getRowCount();\r\n var columns = this._columnsController.getColumns();\r\n var column = columns && columns[columnIndex];\r\n var columnID = column && column.isBand && column.index;\r\n var setColumnOpacity = (column, index) => {\r\n if (column.ownerBand === columnID) {\r\n columnElements.eq(index).css({\r\n opacity: value\r\n });\r\n if (column.isBand) {\r\n this.setRowsOpacity(column.index, value, i + 1)\r\n }\r\n }\r\n };\r\n if (isDefined(columnID)) {\r\n rowIndex = rowIndex || 0;\r\n for (i = rowIndex; i < rowCount; i++) {\r\n columnElements = this.getCellElements(i);\r\n if (columnElements) {\r\n var rowColumns = this.getColumns(i);\r\n rowColumns.forEach(setColumnOpacity)\r\n }\r\n }\r\n }\r\n }\r\n}\r\nexport var columnHeadersModule = {\r\n defaultOptions: () => ({\r\n showColumnHeaders: true,\r\n cellHintEnabled: true\r\n }),\r\n views: {\r\n columnHeadersView: ColumnHeadersView\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_core.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport modules from \"../../grids/grid_core/m_modules\";\r\nimport gridCoreUtils from \"../../grids/grid_core/m_utils\";\r\nexport default _extends(_extends(_extends({}, modules), gridCoreUtils), {\r\n modules: []\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/column_headers.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnHeadersModule\r\n} from \"../../../grids/grid_core/column_headers/m_column_headers\";\r\nimport gridCore from \"../m_core\";\r\nexport var ColumnHeadersView = columnHeadersModule.views.columnHeadersView;\r\ngridCore.registerModule(\"columnHeaders\", columnHeadersModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/columns_controller/const.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var USER_STATE_FIELD_NAMES_15_1 = [\"filterValues\", \"filterType\", \"fixed\", \"fixedPosition\"];\r\nexport var USER_STATE_FIELD_NAMES = [\"visibleIndex\", \"dataField\", \"name\", \"dataType\", \"width\", \"visible\", \"sortOrder\", \"lastSortOrder\", \"sortIndex\", \"groupIndex\", \"filterValue\", \"bufferedFilterValue\", \"selectedFilterOperation\", \"bufferedSelectedFilterOperation\", \"added\"].concat(USER_STATE_FIELD_NAMES_15_1);\r\nexport var IGNORE_COLUMN_OPTION_NAMES = {\r\n visibleWidth: true,\r\n bestFitWidth: true,\r\n bufferedFilterValue: true\r\n};\r\nexport var COMMAND_EXPAND_CLASS = \"dx-command-expand\";\r\nexport var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\r\nexport var GROUP_COMMAND_COLUMN_NAME = \"groupExpand\";\r\nexport var DETAIL_COMMAND_COLUMN_NAME = \"detailExpand\";\r\nexport var COLUMN_OPTION_REGEXP = /columns\\[(\\d+)\\]\\.?/gi;\r\nexport var DEFAULT_COLUMN_OPTIONS = {\r\n visible: true,\r\n showInColumnChooser: true\r\n};\r\nexport var DATATYPE_OPERATIONS = {\r\n number: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"between\"],\r\n string: [\"contains\", \"notcontains\", \"startswith\", \"endswith\", \"=\", \"<>\"],\r\n date: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"between\"],\r\n datetime: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"between\"]\r\n};\r\nexport var COLUMN_INDEX_OPTIONS = {\r\n visibleIndex: true,\r\n groupIndex: true,\r\n grouped: true,\r\n sortIndex: true,\r\n sortOrder: true\r\n};\r\nexport var GROUP_LOCATION = \"group\";\r\nexport var COLUMN_CHOOSER_LOCATION = \"columnChooser\";\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/columns_controller/m_columns_controller_utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n normalizeIndexes\r\n} from \"../../../../core/utils/array\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n compileGetter,\r\n compileSetter\r\n} from \"../../../../core/utils/data\";\r\nimport dateSerialization from \"../../../../core/utils/date_serialization\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"../../../../core/utils/object\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isNumeric,\r\n isObject,\r\n isString,\r\n type\r\n} from \"../../../../core/utils/type\";\r\nimport variableWrapper from \"../../../../core/utils/variable_wrapper\";\r\nimport numberLocalization from \"../../../../localization/number\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n COLUMN_CHOOSER_LOCATION,\r\n COLUMN_INDEX_OPTIONS,\r\n DEFAULT_COLUMN_OPTIONS,\r\n GROUP_COMMAND_COLUMN_NAME,\r\n GROUP_LOCATION,\r\n IGNORE_COLUMN_OPTION_NAMES,\r\n USER_STATE_FIELD_NAMES,\r\n USER_STATE_FIELD_NAMES_15_1\r\n} from \"./const\";\r\nexport var setFilterOperationsAsDefaultValues = function(column) {\r\n column.filterOperations = column.defaultFilterOperations\r\n};\r\nvar globalColumnId = 1;\r\nexport var createColumn = function(that, columnOptions, userStateColumnOptions, bandColumn) {\r\n var commonColumnOptions = {};\r\n if (columnOptions) {\r\n if (isString(columnOptions)) {\r\n columnOptions = {\r\n dataField: columnOptions\r\n }\r\n }\r\n that.setName(columnOptions);\r\n var result = {};\r\n if (columnOptions.command) {\r\n result = deepExtendArraySafe(commonColumnOptions, columnOptions)\r\n } else {\r\n commonColumnOptions = that.getCommonSettings(columnOptions);\r\n if (userStateColumnOptions && userStateColumnOptions.name && userStateColumnOptions.dataField) {\r\n columnOptions = extend({}, columnOptions, {\r\n dataField: userStateColumnOptions.dataField\r\n })\r\n }\r\n var calculatedColumnOptions = that._createCalculatedColumnOptions(columnOptions, bandColumn);\r\n if (!columnOptions.type) {\r\n result = {\r\n headerId: \"dx-col-\".concat(globalColumnId++)\r\n }\r\n }\r\n result = deepExtendArraySafe(result, DEFAULT_COLUMN_OPTIONS);\r\n deepExtendArraySafe(result, commonColumnOptions);\r\n deepExtendArraySafe(result, calculatedColumnOptions);\r\n deepExtendArraySafe(result, columnOptions);\r\n deepExtendArraySafe(result, {\r\n selector: null\r\n })\r\n }\r\n if (columnOptions.filterOperations === columnOptions.defaultFilterOperations) {\r\n setFilterOperationsAsDefaultValues(result)\r\n }\r\n return result\r\n }\r\n};\r\nexport var createColumnsFromOptions = function createColumnsFromOptions(that, columnsOptions, bandColumn, createdColumnCount) {\r\n var result = [];\r\n if (columnsOptions) {\r\n each(columnsOptions, (index, columnOptions) => {\r\n var currentIndex = (null !== createdColumnCount && void 0 !== createdColumnCount ? createdColumnCount : 0) + result.length;\r\n var userStateColumnOptions = that._columnsUserState && checkUserStateColumn(columnOptions, that._columnsUserState[currentIndex]) && that._columnsUserState[currentIndex];\r\n var column = createColumn(that, columnOptions, userStateColumnOptions, bandColumn);\r\n if (column) {\r\n if (bandColumn) {\r\n column.ownerBand = bandColumn\r\n }\r\n result.push(column);\r\n if (column.columns) {\r\n result = result.concat(createColumnsFromOptions(that, column.columns, column, result.length));\r\n delete column.columns;\r\n column.hasColumns = true\r\n }\r\n }\r\n })\r\n }\r\n return result\r\n};\r\nexport var getParentBandColumns = function(columnIndex, columnParentByIndex) {\r\n var result = [];\r\n var parent = columnParentByIndex[columnIndex];\r\n while (parent) {\r\n result.unshift(parent);\r\n columnIndex = parent.index;\r\n parent = columnParentByIndex[columnIndex]\r\n }\r\n return result\r\n};\r\nexport var getChildrenByBandColumn = function getChildrenByBandColumn(columnIndex, columnChildrenByIndex, recursive) {\r\n var result = [];\r\n var children = columnChildrenByIndex[columnIndex];\r\n if (children) {\r\n for (var i = 0; i < children.length; i++) {\r\n var column = children[i];\r\n if (!isDefined(column.groupIndex) || column.showWhenGrouped) {\r\n result.push(column);\r\n if (recursive && column.isBand) {\r\n result = result.concat(getChildrenByBandColumn(column.index, columnChildrenByIndex, recursive))\r\n }\r\n }\r\n }\r\n }\r\n return result\r\n};\r\nexport var getColumnByIndexes = function(that, columnIndexes) {\r\n var result;\r\n var columns;\r\n var bandColumnsCache = that.getBandColumnsCache();\r\n var callbackFilter = function(column) {\r\n var ownerBand = result ? result.index : void 0;\r\n return column.ownerBand === ownerBand\r\n };\r\n if (bandColumnsCache.isPlain) {\r\n result = that._columns[columnIndexes[0]]\r\n } else {\r\n columns = that._columns.filter(callbackFilter);\r\n for (var i = 0; i < columnIndexes.length; i++) {\r\n result = columns[columnIndexes[i]];\r\n if (result) {\r\n columns = that._columns.filter(callbackFilter)\r\n }\r\n }\r\n }\r\n return result\r\n};\r\nexport var getColumnFullPath = function(that, column) {\r\n var result = [];\r\n var columns;\r\n var bandColumnsCache = that.getBandColumnsCache();\r\n var callbackFilter = function(item) {\r\n return item.ownerBand === column.ownerBand\r\n };\r\n if (bandColumnsCache.isPlain) {\r\n var columnIndex = that._columns.indexOf(column);\r\n if (columnIndex >= 0) {\r\n result = [\"columns[\".concat(columnIndex, \"]\")]\r\n }\r\n } else {\r\n columns = that._columns.filter(callbackFilter);\r\n while (columns.length && -1 !== columns.indexOf(column)) {\r\n result.unshift(\"columns[\".concat(columns.indexOf(column), \"]\"));\r\n column = bandColumnsCache.columnParentByIndex[column.index];\r\n columns = column ? that._columns.filter(callbackFilter) : []\r\n }\r\n }\r\n return result.join(\".\")\r\n};\r\nexport var calculateColspan = function calculateColspan(that, columnID) {\r\n var colspan = 0;\r\n var columns = that.getChildrenByBandColumn(columnID, true);\r\n each(columns, (_, column) => {\r\n if (column.isBand) {\r\n column.colspan = column.colspan || calculateColspan(that, column.index);\r\n colspan += column.colspan || 1\r\n } else {\r\n colspan += 1\r\n }\r\n });\r\n return colspan\r\n};\r\nexport var processBandColumns = function(that, columns, bandColumnsCache) {\r\n var rowspan;\r\n for (var i = 0; i < columns.length; i++) {\r\n var column = columns[i];\r\n if (column.visible || column.command) {\r\n if (column.isBand) {\r\n column.colspan = column.colspan || calculateColspan(that, column.index)\r\n }\r\n if (!column.isBand || !column.colspan) {\r\n rowspan = that.getRowCount();\r\n if (!column.command && (!isDefined(column.groupIndex) || column.showWhenGrouped)) {\r\n rowspan -= getParentBandColumns(column.index, bandColumnsCache.columnParentByIndex).length\r\n }\r\n if (rowspan > 1) {\r\n column.rowspan = rowspan\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexport var getValueDataType = function(value) {\r\n var dataType = type(value);\r\n if (\"string\" !== dataType && \"boolean\" !== dataType && \"number\" !== dataType && \"date\" !== dataType && \"object\" !== dataType) {\r\n dataType = void 0\r\n }\r\n return dataType\r\n};\r\nexport var getSerializationFormat = function(dataType, value) {\r\n switch (dataType) {\r\n case \"date\":\r\n case \"datetime\":\r\n return dateSerialization.getDateSerializationFormat(value);\r\n case \"number\":\r\n if (isString(value)) {\r\n return \"string\"\r\n }\r\n if (isNumeric(value)) {\r\n return null\r\n }\r\n }\r\n};\r\nexport var updateSerializers = function(options, dataType) {\r\n if (!options.deserializeValue) {\r\n if (gridCoreUtils.isDateType(dataType)) {\r\n options.deserializeValue = function(value) {\r\n return dateSerialization.deserializeDate(value)\r\n };\r\n options.serializeValue = function(value) {\r\n return isString(value) ? value : dateSerialization.serializeDate(value, this.serializationFormat)\r\n }\r\n }\r\n if (\"number\" === dataType) {\r\n options.deserializeValue = function(value) {\r\n var parsedValue = parseFloat(value);\r\n return isNaN(parsedValue) ? value : parsedValue\r\n };\r\n options.serializeValue = function(value, target) {\r\n if (\"filter\" === target) {\r\n return value\r\n }\r\n return isDefined(value) && \"string\" === this.serializationFormat ? value.toString() : value\r\n }\r\n }\r\n }\r\n};\r\nexport var getAlignmentByDataType = function(dataType, isRTL) {\r\n switch (dataType) {\r\n case \"number\":\r\n return \"right\";\r\n case \"boolean\":\r\n return \"center\";\r\n default:\r\n return getDefaultAlignment(isRTL)\r\n }\r\n};\r\nexport var customizeTextForBooleanDataType = function(e) {\r\n if (true === e.value) {\r\n return this.trueText || \"true\"\r\n }\r\n if (false === e.value) {\r\n return this.falseText || \"false\"\r\n }\r\n return e.valueText || \"\"\r\n};\r\nexport var getCustomizeTextByDataType = function(dataType) {\r\n if (\"boolean\" === dataType) {\r\n return customizeTextForBooleanDataType\r\n }\r\n};\r\nexport var createColumnsFromDataSource = function(that, dataSource) {\r\n var firstItems = that._getFirstItems(dataSource);\r\n var fieldName;\r\n var processedFields = {};\r\n var result = [];\r\n for (var i = 0; i < firstItems.length; i++) {\r\n if (firstItems[i]) {\r\n for (fieldName in firstItems[i]) {\r\n if (!isFunction(firstItems[i][fieldName]) || variableWrapper.isWrapped(firstItems[i][fieldName])) {\r\n processedFields[fieldName] = true\r\n }\r\n }\r\n }\r\n }\r\n for (fieldName in processedFields) {\r\n if (0 !== fieldName.indexOf(\"__\")) {\r\n var column = createColumn(that, fieldName);\r\n result.push(column)\r\n }\r\n }\r\n return result\r\n};\r\nexport var updateColumnIndexes = function(that) {\r\n each(that._columns, (index, column) => {\r\n column.index = index\r\n });\r\n each(that._columns, (index, column) => {\r\n if (isObject(column.ownerBand)) {\r\n column.ownerBand = column.ownerBand.index\r\n }\r\n });\r\n each(that._commandColumns, (index, column) => {\r\n column.index = -(index + 1)\r\n })\r\n};\r\nexport var updateColumnGroupIndexes = function(that, currentColumn) {\r\n normalizeIndexes(that._columns, \"groupIndex\", currentColumn, column => {\r\n var {\r\n grouped: grouped\r\n } = column;\r\n delete column.grouped;\r\n return grouped\r\n })\r\n};\r\nexport var updateColumnSortIndexes = function(that, currentColumn) {\r\n each(that._columns, (index, column) => {\r\n if (isDefined(column.sortIndex) && !isSortOrderValid(column.sortOrder)) {\r\n delete column.sortIndex\r\n }\r\n });\r\n normalizeIndexes(that._columns, \"sortIndex\", currentColumn, column => !isDefined(column.groupIndex) && isSortOrderValid(column.sortOrder))\r\n};\r\nexport var updateColumnVisibleIndexes = function(that, currentColumn) {\r\n var column;\r\n var result = [];\r\n var bandColumnsCache = that.getBandColumnsCache();\r\n var bandedColumns = [];\r\n var columns = that._columns.filter(column => !column.command);\r\n for (var i = 0; i < columns.length; i++) {\r\n column = columns[i];\r\n var parentBandColumns = getParentBandColumns(i, bandColumnsCache.columnParentByIndex);\r\n if (parentBandColumns.length) {\r\n bandedColumns.push(column)\r\n } else {\r\n result.push(column)\r\n }\r\n }\r\n normalizeIndexes(bandedColumns, \"visibleIndex\", currentColumn);\r\n normalizeIndexes(result, \"visibleIndex\", currentColumn)\r\n};\r\nexport var getColumnIndexByVisibleIndex = function(that, visibleIndex, location) {\r\n var rowIndex = isObject(visibleIndex) ? visibleIndex.rowIndex : null;\r\n var columns = location === GROUP_LOCATION ? that.getGroupColumns() : location === COLUMN_CHOOSER_LOCATION ? that.getChooserColumns() : that.getVisibleColumns(rowIndex);\r\n var column;\r\n visibleIndex = isObject(visibleIndex) ? visibleIndex.columnIndex : visibleIndex;\r\n column = columns[visibleIndex];\r\n if (column && column.type === GROUP_COMMAND_COLUMN_NAME) {\r\n column = that._columns.filter(col => column.type === col.type)[0] || column\r\n }\r\n return column && isDefined(column.index) ? column.index : -1\r\n};\r\nexport var moveColumnToGroup = function(that, column, groupIndex) {\r\n var groupColumns = that.getGroupColumns();\r\n var i;\r\n if (groupIndex >= 0) {\r\n for (i = 0; i < groupColumns.length; i++) {\r\n if (groupColumns[i].groupIndex >= groupIndex) {\r\n groupColumns[i].groupIndex++\r\n }\r\n }\r\n } else {\r\n groupIndex = 0;\r\n for (i = 0; i < groupColumns.length; i++) {\r\n groupIndex = Math.max(groupIndex, groupColumns[i].groupIndex + 1)\r\n }\r\n }\r\n return groupIndex\r\n};\r\n\r\nfunction checkUserStateColumn(column, userStateColumn) {\r\n return column && userStateColumn && userStateColumn.name === (column.name || column.dataField) && (userStateColumn.dataField === column.dataField || column.name)\r\n}\r\nexport var applyUserState = function(that) {\r\n var columnsUserState = that._columnsUserState;\r\n var ignoreColumnOptionNames = that._ignoreColumnOptionNames || [];\r\n var columns = that._columns;\r\n var columnCountById = {};\r\n var resultColumns = [];\r\n var allColumnsHaveState = true;\r\n var userStateColumnIndexes = [];\r\n var column;\r\n var userStateColumnIndex;\r\n var i;\r\n\r\n function applyFieldsState(column, userStateColumn) {\r\n if (!userStateColumn) {\r\n return\r\n }\r\n for (var index = 0; index < USER_STATE_FIELD_NAMES.length; index++) {\r\n var fieldName = USER_STATE_FIELD_NAMES[index];\r\n if (ignoreColumnOptionNames.includes(fieldName)) {\r\n continue\r\n }\r\n if (\"dataType\" === fieldName) {\r\n column[fieldName] = column[fieldName] || userStateColumn[fieldName]\r\n } else if (USER_STATE_FIELD_NAMES_15_1.includes(fieldName)) {\r\n if (fieldName in userStateColumn) {\r\n column[fieldName] = userStateColumn[fieldName]\r\n }\r\n } else {\r\n if (\"selectedFilterOperation\" === fieldName && userStateColumn[fieldName]) {\r\n column.defaultSelectedFilterOperation = column[fieldName] || null\r\n }\r\n column[fieldName] = userStateColumn[fieldName]\r\n }\r\n }\r\n }\r\n\r\n function findUserStateColumn(columnsUserState, column) {\r\n var id = column.name || column.dataField;\r\n var count = columnCountById[id] || 0;\r\n for (var j = 0; j < columnsUserState.length; j++) {\r\n if (checkUserStateColumn(column, columnsUserState[j])) {\r\n if (count) {\r\n count--\r\n } else {\r\n columnCountById[id] = columnCountById[id] || 0;\r\n columnCountById[id]++;\r\n return j\r\n }\r\n }\r\n }\r\n return -1\r\n }\r\n if (columnsUserState) {\r\n for (i = 0; i < columns.length; i++) {\r\n userStateColumnIndex = findUserStateColumn(columnsUserState, columns[i]);\r\n allColumnsHaveState = allColumnsHaveState && userStateColumnIndex >= 0;\r\n userStateColumnIndexes.push(userStateColumnIndex)\r\n }\r\n for (i = 0; i < columns.length; i++) {\r\n column = columns[i];\r\n userStateColumnIndex = userStateColumnIndexes[i];\r\n if (that._hasUserState || allColumnsHaveState) {\r\n applyFieldsState(column, columnsUserState[userStateColumnIndex])\r\n }\r\n if (userStateColumnIndex >= 0 && isDefined(columnsUserState[userStateColumnIndex].initialIndex)) {\r\n resultColumns[userStateColumnIndex] = column\r\n } else {\r\n resultColumns.push(column)\r\n }\r\n }\r\n var hasAddedBands = false;\r\n for (i = 0; i < columnsUserState.length; i++) {\r\n var columnUserState = columnsUserState[i];\r\n if (columnUserState.added && findUserStateColumn(columns, columnUserState) < 0) {\r\n column = createColumn(that, columnUserState.added);\r\n applyFieldsState(column, columnUserState);\r\n resultColumns.push(column);\r\n if (columnUserState.added.columns) {\r\n hasAddedBands = true\r\n }\r\n }\r\n }\r\n if (hasAddedBands) {\r\n updateColumnIndexes(that);\r\n resultColumns = createColumnsFromOptions(that, resultColumns)\r\n }\r\n assignColumns(that, resultColumns)\r\n }\r\n};\r\nexport var updateIndexes = function(that, column) {\r\n updateColumnIndexes(that);\r\n updateColumnGroupIndexes(that, column);\r\n updateColumnSortIndexes(that, column);\r\n resetBandColumnsCache(that);\r\n updateColumnVisibleIndexes(that, column)\r\n};\r\nexport var resetColumnsCache = function(that) {\r\n that.resetColumnsCache()\r\n};\r\nexport function assignColumns(that, columns) {\r\n that._previousColumns = that._columns;\r\n that._columns = columns;\r\n resetColumnsCache(that);\r\n that.updateColumnDataTypes()\r\n}\r\nexport var updateColumnChanges = function(that, changeType, optionName, columnIndex) {\r\n var _a;\r\n var columnChanges = that._columnChanges || {\r\n optionNames: {\r\n length: 0\r\n },\r\n changeTypes: {\r\n length: 0\r\n },\r\n columnIndex: columnIndex\r\n };\r\n optionName = optionName || \"all\";\r\n optionName = optionName.split(\".\")[0];\r\n var {\r\n changeTypes: changeTypes\r\n } = columnChanges;\r\n if (changeType && !changeTypes[changeType]) {\r\n changeTypes[changeType] = true;\r\n changeTypes.length++\r\n }\r\n var {\r\n optionNames: optionNames\r\n } = columnChanges;\r\n if (optionName && !optionNames[optionName]) {\r\n optionNames[optionName] = true;\r\n optionNames.length++\r\n }\r\n if (void 0 === columnIndex || columnIndex !== columnChanges.columnIndex) {\r\n if (isDefined(columnIndex)) {\r\n null !== (_a = columnChanges.columnIndices) && void 0 !== _a ? _a : columnChanges.columnIndices = [];\r\n if (isDefined(columnChanges.columnIndex)) {\r\n columnChanges.columnIndices.push(columnChanges.columnIndex)\r\n }\r\n columnChanges.columnIndices.push(columnIndex)\r\n }\r\n delete columnChanges.columnIndex\r\n }\r\n that._columnChanges = columnChanges;\r\n resetColumnsCache(that)\r\n};\r\nexport var fireColumnsChanged = function(that) {\r\n var onColumnsChanging = that.option(\"onColumnsChanging\");\r\n var columnChanges = that._columnChanges;\r\n var reinitOptionNames = [\"dataField\", \"lookup\", \"dataType\", \"columns\"];\r\n if (that.isInitialized() && !that._updateLockCount && columnChanges) {\r\n if (onColumnsChanging) {\r\n that._updateLockCount++;\r\n onColumnsChanging(extend({\r\n component: that.component\r\n }, columnChanges));\r\n that._updateLockCount--\r\n }\r\n that._columnChanges = void 0;\r\n if (options = columnChanges.optionNames, options && reinitOptionNames.some(name => options[name])) {\r\n that._reinitAfterLookupChanges = null === columnChanges || void 0 === columnChanges ? void 0 : columnChanges.optionNames.lookup;\r\n that.reinit();\r\n that._reinitAfterLookupChanges = void 0\r\n } else {\r\n that.columnsChanged.fire(columnChanges)\r\n }\r\n }\r\n var options\r\n};\r\nexport var updateSortOrderWhenGrouping = function(that, column, groupIndex, prevGroupIndex) {\r\n var columnWasGrouped = prevGroupIndex >= 0;\r\n if (groupIndex >= 0) {\r\n if (!columnWasGrouped) {\r\n column.lastSortOrder = column.sortOrder\r\n }\r\n } else {\r\n var sortMode = that.option(\"sorting.mode\");\r\n var sortOrder = column.lastSortOrder;\r\n if (\"single\" === sortMode) {\r\n var sortedByAnotherColumn = that._columns.some(col => col !== column && isDefined(col.sortIndex));\r\n if (sortedByAnotherColumn) {\r\n sortOrder = void 0\r\n }\r\n }\r\n column.sortOrder = sortOrder\r\n }\r\n};\r\nexport var fireOptionChanged = function(that, options) {\r\n var {\r\n value: value\r\n } = options;\r\n var {\r\n optionName: optionName\r\n } = options;\r\n var {\r\n prevValue: prevValue\r\n } = options;\r\n var {\r\n fullOptionName: fullOptionName\r\n } = options;\r\n var fullOptionPath = \"\".concat(fullOptionName, \".\").concat(optionName);\r\n if (!IGNORE_COLUMN_OPTION_NAMES[optionName] && that._skipProcessingColumnsChange !== fullOptionPath) {\r\n that._skipProcessingColumnsChange = fullOptionPath;\r\n that.component._notifyOptionChanged(fullOptionPath, value, prevValue);\r\n that._skipProcessingColumnsChange = false\r\n }\r\n};\r\nexport var columnOptionCore = function(that, column, optionName, value, notFireEvent) {\r\n var optionGetter = compileGetter(optionName);\r\n var columnIndex = column.index;\r\n var columns;\r\n var changeType;\r\n var initialColumn;\r\n if (3 === arguments.length) {\r\n return optionGetter(column, {\r\n functionsAsIs: true\r\n })\r\n }\r\n var prevValue = optionGetter(column, {\r\n functionsAsIs: true\r\n });\r\n if (!equalByValue(prevValue, value, {\r\n maxDepth: 5\r\n })) {\r\n if (\"groupIndex\" === optionName || \"calculateGroupValue\" === optionName) {\r\n changeType = \"grouping\";\r\n updateSortOrderWhenGrouping(that, column, value, prevValue)\r\n } else if (\"sortIndex\" === optionName || \"sortOrder\" === optionName || \"calculateSortValue\" === optionName) {\r\n changeType = \"sorting\"\r\n } else {\r\n changeType = \"columns\"\r\n }\r\n var optionSetter = compileSetter(optionName);\r\n optionSetter(column, value, {\r\n functionsAsIs: true\r\n });\r\n var fullOptionName = getColumnFullPath(that, column);\r\n if (COLUMN_INDEX_OPTIONS[optionName]) {\r\n updateIndexes(that, column);\r\n value = optionGetter(column)\r\n }\r\n if (\"name\" === optionName || \"allowEditing\" === optionName) {\r\n that._checkColumns()\r\n }\r\n if (!isDefined(prevValue) && !isDefined(value) && 0 !== optionName.indexOf(\"buffer\")) {\r\n notFireEvent = true\r\n }\r\n if (!notFireEvent) {\r\n if (!USER_STATE_FIELD_NAMES.includes(optionName) && \"visibleWidth\" !== optionName) {\r\n columns = that.option(\"columns\");\r\n initialColumn = that.getColumnByPath(fullOptionName, columns);\r\n if (isString(initialColumn)) {\r\n initialColumn = columns[columnIndex] = {\r\n dataField: initialColumn\r\n }\r\n }\r\n if (initialColumn && checkUserStateColumn(initialColumn, column)) {\r\n optionSetter(initialColumn, value, {\r\n functionsAsIs: true\r\n })\r\n }\r\n }\r\n updateColumnChanges(that, changeType, optionName, columnIndex)\r\n } else {\r\n resetColumnsCache(that)\r\n }\r\n fullOptionName && fireOptionChanged(that, {\r\n fullOptionName: fullOptionName,\r\n optionName: optionName,\r\n value: value,\r\n prevValue: prevValue\r\n })\r\n }\r\n};\r\nexport function isSortOrderValid(sortOrder) {\r\n return \"asc\" === sortOrder || \"desc\" === sortOrder\r\n}\r\nexport var addExpandColumn = function(that) {\r\n var options = that._getExpandColumnOptions();\r\n that.addCommandColumn(options)\r\n};\r\nexport var defaultSetCellValue = function(data, value) {\r\n if (!this.dataField) {\r\n return\r\n }\r\n var path = this.dataField.split(\".\");\r\n var dotCount = path.length - 1;\r\n if (this.serializeValue) {\r\n value = this.serializeValue(value)\r\n }\r\n for (var i = 0; i < dotCount; i++) {\r\n var name = path[i];\r\n data = data[name] = data[name] || {}\r\n }\r\n data[path[dotCount]] = value\r\n};\r\nexport var getDataColumns = function getDataColumns(columns, rowIndex, bandColumnID) {\r\n var result = [];\r\n rowIndex = rowIndex || 0;\r\n columns[rowIndex] && each(columns[rowIndex], (_, column) => {\r\n if (column.ownerBand === bandColumnID || column.type === GROUP_COMMAND_COLUMN_NAME) {\r\n if (!column.isBand || !column.colspan) {\r\n if (!column.command || rowIndex < 1) {\r\n result.push(column)\r\n }\r\n } else {\r\n result.push.apply(result, getDataColumns(columns, rowIndex + 1, column.index))\r\n }\r\n }\r\n });\r\n return result\r\n};\r\nexport var getRowCount = function(that) {\r\n var rowCount = 1;\r\n var bandColumnsCache = that.getBandColumnsCache();\r\n var {\r\n columnParentByIndex: columnParentByIndex\r\n } = bandColumnsCache;\r\n that._columns.forEach(column => {\r\n var parents = getParentBandColumns(column.index, columnParentByIndex);\r\n var invisibleParents = parents.filter(column => !column.visible);\r\n if (column.visible && !invisibleParents.length) {\r\n rowCount = Math.max(rowCount, parents.length + 1)\r\n }\r\n });\r\n return rowCount\r\n};\r\nexport var isCustomCommandColumn = (that, commandColumn) => {\r\n var customCommandColumns = that._columns.filter(column => column.type === commandColumn.type);\r\n return !!customCommandColumns.length\r\n};\r\nexport var getFixedPosition = function(that, column) {\r\n var rtlEnabled = that.option(\"rtlEnabled\");\r\n if (column.command && !isCustomCommandColumn(that, column) || !column.fixedPosition) {\r\n return rtlEnabled ? \"right\" : \"left\"\r\n }\r\n return column.fixedPosition\r\n};\r\nexport var processExpandColumns = function(columns, expandColumns, type, columnIndex) {\r\n var customColumnIndex;\r\n var rowCount = this.getRowCount();\r\n var rowspan = columns[columnIndex] && columns[columnIndex].rowspan;\r\n var expandColumnsByType = expandColumns.filter(column => column.type === type);\r\n columns.forEach((column, index) => {\r\n if (column.type === type) {\r\n customColumnIndex = index;\r\n rowspan = columns[index + 1] ? columns[index + 1].rowspan : rowCount\r\n }\r\n });\r\n if (rowspan > 1) {\r\n expandColumnsByType = map(expandColumnsByType, expandColumn => extend({}, expandColumn, {\r\n rowspan: rowspan\r\n }))\r\n }\r\n expandColumnsByType.unshift.apply(expandColumnsByType, isDefined(customColumnIndex) ? [customColumnIndex, 1] : [columnIndex, 0]);\r\n columns.splice.apply(columns, expandColumnsByType);\r\n return rowspan || 1\r\n};\r\nexport var digitsCount = function(number) {\r\n var i;\r\n for (i = 0; number > 1; i++) {\r\n number /= 10\r\n }\r\n return i\r\n};\r\nexport var numberToString = function(number, digitsCount) {\r\n var str = number ? number.toString() : \"0\";\r\n while (str.length < digitsCount) {\r\n str = \"0\".concat(str)\r\n }\r\n return str\r\n};\r\nexport var mergeColumns = (that, columns, commandColumns, needToExtend) => {\r\n var column;\r\n var commandColumnIndex;\r\n var result = columns.slice().map(column => extend({}, column));\r\n var isColumnFixing = that._isColumnFixing();\r\n var defaultCommandColumns = commandColumns.slice().map(column => extend({\r\n fixed: isColumnFixing\r\n }, column));\r\n var getCommandColumnIndex = column => commandColumns.reduce((result, commandColumn, index) => {\r\n var columnType = needToExtend && column.type === GROUP_COMMAND_COLUMN_NAME ? \"expand\" : column.type;\r\n return commandColumn.type === columnType || commandColumn.command === column.command ? index : result\r\n }, -1);\r\n var callbackFilter = commandColumn => commandColumn.command !== commandColumns[commandColumnIndex].command;\r\n for (var i = 0; i < columns.length; i++) {\r\n column = columns[i];\r\n commandColumnIndex = column && (column.type || column.command) ? getCommandColumnIndex(column) : -1;\r\n if (commandColumnIndex >= 0) {\r\n if (needToExtend) {\r\n result[i] = extend({\r\n fixed: isColumnFixing\r\n }, commandColumns[commandColumnIndex], column);\r\n if (column.type !== GROUP_COMMAND_COLUMN_NAME) {\r\n defaultCommandColumns = defaultCommandColumns.filter(callbackFilter)\r\n }\r\n } else {\r\n var columnOptions = {\r\n visibleIndex: column.visibleIndex,\r\n index: column.index,\r\n headerId: column.headerId,\r\n allowFixing: 0 === column.groupIndex,\r\n allowReordering: 0 === column.groupIndex,\r\n groupIndex: column.groupIndex\r\n };\r\n result[i] = extend({}, column, commandColumns[commandColumnIndex], column.type === GROUP_COMMAND_COLUMN_NAME && columnOptions)\r\n }\r\n }\r\n }\r\n if (columns.length && needToExtend && defaultCommandColumns.length) {\r\n result = result.concat(defaultCommandColumns)\r\n }\r\n return result\r\n};\r\nexport var isColumnFixed = (that, column) => isDefined(column.fixed) || !column.type ? column.fixed : that._isColumnFixing();\r\nexport var convertOwnerBandToColumnReference = columns => {\r\n columns.forEach(column => {\r\n if (isDefined(column.ownerBand)) {\r\n column.ownerBand = columns[column.ownerBand]\r\n }\r\n })\r\n};\r\nexport var resetBandColumnsCache = that => {\r\n that._bandColumnsCache = void 0\r\n};\r\nexport var findColumn = (columns, identifier) => {\r\n var identifierOptionName = isString(identifier) && identifier.substr(0, identifier.indexOf(\":\"));\r\n var column;\r\n if (void 0 === identifier) {\r\n return\r\n }\r\n if (identifierOptionName) {\r\n identifier = identifier.substr(identifierOptionName.length + 1)\r\n }\r\n if (identifierOptionName) {\r\n column = columns.filter(column => \"\".concat(column[identifierOptionName]) === identifier)[0]\r\n } else {\r\n [\"index\", \"name\", \"dataField\", \"caption\"].some(optionName => {\r\n column = columns.filter(column => column[optionName] === identifier)[0];\r\n return !!column\r\n })\r\n }\r\n return column\r\n};\r\nexport var sortColumns = (columns, sortOrder) => {\r\n if (\"asc\" !== sortOrder && \"desc\" !== sortOrder) {\r\n return columns\r\n }\r\n var sign = \"asc\" === sortOrder ? 1 : -1;\r\n columns.sort((column1, column2) => {\r\n var caption1 = column1.caption || \"\";\r\n var caption2 = column2.caption || \"\";\r\n return sign * caption1.localeCompare(caption2)\r\n });\r\n return columns\r\n};\r\nexport var strictParseNumber = function(text, format) {\r\n var parsedValue = numberLocalization.parse(text);\r\n if (isNumeric(parsedValue)) {\r\n var formattedValue = numberLocalization.format(parsedValue, format);\r\n var formattedValueWithDefaultFormat = numberLocalization.format(parsedValue, \"decimal\");\r\n if (formattedValue === text || formattedValueWithDefaultFormat === text) {\r\n return parsedValue\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/columns_controller/m_columns_controller.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport config from \"../../../../core/config\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport Callbacks from \"../../../../core/utils/callbacks\";\r\nimport {\r\n compileGetter\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n captionize\r\n} from \"../../../../core/utils/inflector\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n orderEach\r\n} from \"../../../../core/utils/object\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isNumeric,\r\n isObject,\r\n isPlainObject,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport variableWrapper from \"../../../../core/utils/variable_wrapper\";\r\nimport Store from \"../../../../data/abstract_store\";\r\nimport {\r\n DataSource\r\n} from \"../../../../data/data_source/data_source\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"../../../../data/data_source/utils\";\r\nimport dateLocalization from \"../../../../localization/date\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport filterUtils from \"../../../../ui/shared/filtering\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n COLUMN_CHOOSER_LOCATION,\r\n COLUMN_OPTION_REGEXP,\r\n COMMAND_EXPAND_CLASS,\r\n DATATYPE_OPERATIONS,\r\n DETAIL_COMMAND_COLUMN_NAME,\r\n GROUP_COMMAND_COLUMN_NAME,\r\n GROUP_LOCATION,\r\n MAX_SAFE_INTEGER,\r\n USER_STATE_FIELD_NAMES\r\n} from \"./const\";\r\nimport {\r\n addExpandColumn,\r\n applyUserState,\r\n assignColumns,\r\n columnOptionCore,\r\n convertOwnerBandToColumnReference,\r\n createColumn,\r\n createColumnsFromDataSource,\r\n createColumnsFromOptions,\r\n defaultSetCellValue,\r\n digitsCount,\r\n findColumn,\r\n fireColumnsChanged,\r\n getAlignmentByDataType,\r\n getChildrenByBandColumn,\r\n getColumnByIndexes,\r\n getColumnIndexByVisibleIndex,\r\n getCustomizeTextByDataType,\r\n getDataColumns,\r\n getFixedPosition,\r\n getParentBandColumns,\r\n getRowCount,\r\n getSerializationFormat,\r\n getValueDataType,\r\n isColumnFixed,\r\n isCustomCommandColumn,\r\n isSortOrderValid,\r\n mergeColumns,\r\n moveColumnToGroup,\r\n numberToString,\r\n processBandColumns,\r\n processExpandColumns,\r\n resetBandColumnsCache,\r\n resetColumnsCache,\r\n setFilterOperationsAsDefaultValues,\r\n sortColumns,\r\n strictParseNumber,\r\n updateColumnChanges,\r\n updateColumnGroupIndexes,\r\n updateIndexes,\r\n updateSerializers\r\n} from \"./m_columns_controller_utils\";\r\nexport class ColumnsController extends modules.Controller {\r\n init(isApplyingUserState) {\r\n this._dataController = this.getController(\"data\");\r\n this._focusController = this.getController(\"focus\");\r\n this._stateStoringController = this.getController(\"stateStoring\");\r\n var columns = this.option(\"columns\");\r\n this._commandColumns = this._commandColumns || [];\r\n this._columns = this._columns || [];\r\n this._isColumnsFromOptions = !!columns;\r\n if (this._isColumnsFromOptions) {\r\n assignColumns(this, columns ? createColumnsFromOptions(this, columns) : []);\r\n applyUserState(this)\r\n } else {\r\n assignColumns(this, this._columnsUserState ? createColumnsFromOptions(this, this._columnsUserState) : this._columns)\r\n }\r\n addExpandColumn(this);\r\n if (this._dataSourceApplied) {\r\n this.applyDataSource(this._dataSource, true, isApplyingUserState)\r\n } else {\r\n updateIndexes(this)\r\n }\r\n this._checkColumns()\r\n }\r\n _getExpandColumnOptions() {\r\n return {\r\n type: \"expand\",\r\n command: \"expand\",\r\n width: \"auto\",\r\n cssClass: COMMAND_EXPAND_CLASS,\r\n allowEditing: false,\r\n allowGrouping: false,\r\n allowSorting: false,\r\n allowResizing: false,\r\n allowReordering: false,\r\n allowHiding: false\r\n }\r\n }\r\n _getFirstItems(dataSource) {\r\n var groupsCount;\r\n var items = [];\r\n if (dataSource && dataSource.items().length > 0) {\r\n groupsCount = gridCoreUtils.normalizeSortingInfo(dataSource.group()).length;\r\n items = function getFirstItemsCore(items, groupsCount) {\r\n if (!items || !groupsCount) {\r\n return items\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var childItems = getFirstItemsCore(items[i].items || items[i].collapsedItems, groupsCount - 1);\r\n if (childItems && childItems.length) {\r\n return childItems\r\n }\r\n }\r\n }(dataSource.items(), groupsCount) || []\r\n }\r\n return items\r\n }\r\n _endUpdateCore() {\r\n !this._skipProcessingColumnsChange && fireColumnsChanged(this)\r\n }\r\n callbackNames() {\r\n return [\"columnsChanged\"]\r\n }\r\n getColumnByPath(path, columns) {\r\n var column;\r\n var columnIndexes = [];\r\n path.replace(COLUMN_OPTION_REGEXP, (_, columnIndex) => {\r\n columnIndexes.push(parseInt(columnIndex));\r\n return \"\"\r\n });\r\n if (columnIndexes.length) {\r\n if (columns) {\r\n column = columnIndexes.reduce((column, index) => column && column.columns && column.columns[index], {\r\n columns: columns\r\n })\r\n } else {\r\n column = getColumnByIndexes(this, columnIndexes)\r\n }\r\n }\r\n return column\r\n }\r\n optionChanged(args) {\r\n var needUpdateRequireResize;\r\n switch (args.name) {\r\n case \"adaptColumnWidthByRatio\":\r\n args.handled = true;\r\n break;\r\n case \"dataSource\":\r\n if (args.value !== args.previousValue && !this.option(\"columns\") && (!Array.isArray(args.value) || !Array.isArray(args.previousValue))) {\r\n this._columns = []\r\n }\r\n break;\r\n case \"columns\":\r\n needUpdateRequireResize = this._skipProcessingColumnsChange;\r\n args.handled = true;\r\n if (!this._skipProcessingColumnsChange) {\r\n if (args.name === args.fullName) {\r\n this._columnsUserState = null;\r\n this._ignoreColumnOptionNames = null;\r\n this.init()\r\n } else {\r\n this._columnOptionChanged(args);\r\n needUpdateRequireResize = true\r\n }\r\n }\r\n if (needUpdateRequireResize) {\r\n this._updateRequireResize(args)\r\n }\r\n break;\r\n case \"commonColumnSettings\":\r\n case \"columnAutoWidth\":\r\n case \"allowColumnResizing\":\r\n case \"allowColumnReordering\":\r\n case \"columnFixing\":\r\n case \"grouping\":\r\n case \"groupPanel\":\r\n case \"regenerateColumnsByVisibleItems\":\r\n case \"customizeColumns\":\r\n case \"columnHidingEnabled\":\r\n case \"dateSerializationFormat\":\r\n case \"columnResizingMode\":\r\n case \"columnMinWidth\":\r\n case \"columnWidth\":\r\n args.handled = true;\r\n var ignoreColumnOptionNames = \"columnWidth\" === args.fullName && [\"width\"];\r\n this.reinit(ignoreColumnOptionNames);\r\n break;\r\n case \"rtlEnabled\":\r\n this.reinit();\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n _columnOptionChanged(args) {\r\n var columnOptionValue = {};\r\n var column = this.getColumnByPath(args.fullName);\r\n var columnOptionName = args.fullName.replace(COLUMN_OPTION_REGEXP, \"\");\r\n if (column) {\r\n if (columnOptionName) {\r\n columnOptionValue[columnOptionName] = args.value\r\n } else {\r\n columnOptionValue = args.value\r\n }\r\n this._skipProcessingColumnsChange = args.fullName;\r\n this.columnOption(column.index, columnOptionValue);\r\n this._skipProcessingColumnsChange = false\r\n }\r\n }\r\n _updateRequireResize(args) {\r\n var {\r\n component: component\r\n } = this;\r\n if (\"width\" === args.fullName.replace(COLUMN_OPTION_REGEXP, \"\") && component._updateLockCount) {\r\n component._requireResize = true\r\n }\r\n }\r\n publicMethods() {\r\n return [\"addColumn\", \"deleteColumn\", \"columnOption\", \"columnCount\", \"clearSorting\", \"clearGrouping\", \"getVisibleColumns\", \"getVisibleColumnIndex\"]\r\n }\r\n applyDataSource(dataSource, forceApplying, isApplyingUserState) {\r\n var isDataSourceLoaded = dataSource && dataSource.isLoaded();\r\n this._dataSource = dataSource;\r\n if (!this._dataSourceApplied || 0 === this._dataSourceColumnsCount || forceApplying || this.option(\"regenerateColumnsByVisibleItems\")) {\r\n if (isDataSourceLoaded) {\r\n if (!this._isColumnsFromOptions) {\r\n var columnsFromDataSource = createColumnsFromDataSource(this, dataSource);\r\n if (columnsFromDataSource.length) {\r\n assignColumns(this, columnsFromDataSource);\r\n this._dataSourceColumnsCount = this._columns.length;\r\n applyUserState(this)\r\n }\r\n }\r\n return this.updateColumns(dataSource, forceApplying, isApplyingUserState)\r\n }\r\n this._dataSourceApplied = false;\r\n updateIndexes(this)\r\n } else if (isDataSourceLoaded && !this.isAllDataTypesDefined(true) && this.updateColumnDataTypes(dataSource)) {\r\n updateColumnChanges(this, \"columns\");\r\n fireColumnsChanged(this);\r\n return (new Deferred).reject().promise()\r\n }\r\n }\r\n reset() {\r\n this._dataSource = null;\r\n this._dataSourceApplied = false;\r\n this._dataSourceColumnsCount = void 0;\r\n this.reinit()\r\n }\r\n resetColumnsCache() {\r\n this._visibleColumns = void 0;\r\n this._fixedColumns = void 0;\r\n this._rowCount = void 0;\r\n resetBandColumnsCache(this)\r\n }\r\n reinit(ignoreColumnOptionNames) {\r\n this._columnsUserState = this.getUserState();\r\n this._ignoreColumnOptionNames = ignoreColumnOptionNames || null;\r\n this.init();\r\n if (ignoreColumnOptionNames) {\r\n this._ignoreColumnOptionNames = null\r\n }\r\n }\r\n isInitialized() {\r\n return !!this._columns.length || !!this.option(\"columns\")\r\n }\r\n isDataSourceApplied() {\r\n return this._dataSourceApplied\r\n }\r\n getCommonSettings(column) {\r\n var _a, _b;\r\n var commonColumnSettings = (!column || !column.type) && this.option(\"commonColumnSettings\") || {};\r\n var groupingOptions = null !== (_a = this.option(\"grouping\")) && void 0 !== _a ? _a : {};\r\n var groupPanelOptions = null !== (_b = this.option(\"groupPanel\")) && void 0 !== _b ? _b : {};\r\n return extend({\r\n allowFixing: this.option(\"columnFixing.enabled\"),\r\n allowResizing: this.option(\"allowColumnResizing\") || void 0,\r\n allowReordering: this.option(\"allowColumnReordering\"),\r\n minWidth: this.option(\"columnMinWidth\"),\r\n width: this.option(\"columnWidth\"),\r\n autoExpandGroup: groupingOptions.autoExpandAll,\r\n allowCollapsing: groupingOptions.allowCollapsing,\r\n allowGrouping: groupPanelOptions.allowColumnDragging && groupPanelOptions.visible || groupingOptions.contextMenuEnabled\r\n }, commonColumnSettings)\r\n }\r\n isColumnOptionUsed(optionName) {\r\n for (var i = 0; i < this._columns.length; i++) {\r\n if (this._columns[i][optionName]) {\r\n return true\r\n }\r\n }\r\n }\r\n isAllDataTypesDefined(checkSerializers) {\r\n var columns = this._columns;\r\n if (!columns.length) {\r\n return false\r\n }\r\n for (var i = 0; i < columns.length; i++) {\r\n if (!columns[i].dataField && columns[i].calculateCellValue === columns[i].defaultCalculateCellValue) {\r\n continue\r\n }\r\n if (!columns[i].dataType || checkSerializers && columns[i].deserializeValue && void 0 === columns[i].serializationFormat) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n getColumns() {\r\n return this._columns\r\n }\r\n isBandColumnsUsed() {\r\n return this.getColumns().some(column => column.isBand)\r\n }\r\n getGroupColumns() {\r\n var result = [];\r\n each(this._columns, (function() {\r\n if (isDefined(this.groupIndex)) {\r\n result[this.groupIndex] = this\r\n }\r\n }));\r\n return result\r\n }\r\n _shouldReturnVisibleColumns() {\r\n return true\r\n }\r\n _compileVisibleColumns(rowIndex) {\r\n this._visibleColumns = this._visibleColumns || this._compileVisibleColumnsCore();\r\n rowIndex = isDefined(rowIndex) ? rowIndex : this._visibleColumns.length - 1;\r\n return this._visibleColumns[rowIndex] || []\r\n }\r\n getVisibleColumns(rowIndex, isBase) {\r\n if (!this._shouldReturnVisibleColumns()) {\r\n return []\r\n }\r\n return this._compileVisibleColumns.apply(this, arguments)\r\n }\r\n getFixedColumns(rowIndex) {\r\n this._fixedColumns = this._fixedColumns || this._getFixedColumnsCore();\r\n rowIndex = isDefined(rowIndex) ? rowIndex : this._fixedColumns.length - 1;\r\n return this._fixedColumns[rowIndex] || []\r\n }\r\n getFilteringColumns() {\r\n return this.getColumns().filter(item => (item.dataField || item.name) && (item.allowFiltering || item.allowHeaderFiltering)).map(item => {\r\n var field = extend(true, {}, item);\r\n if (!isDefined(field.dataField)) {\r\n field.dataField = field.name\r\n }\r\n field.filterOperations = item.filterOperations !== item.defaultFilterOperations ? field.filterOperations : null;\r\n return field\r\n })\r\n }\r\n getColumnIndexOffset() {\r\n return 0\r\n }\r\n _getFixedColumnsCore() {\r\n var result = [];\r\n var rowCount = this.getRowCount();\r\n var isColumnFixing = this._isColumnFixing();\r\n var transparentColumn = {\r\n command: \"transparent\"\r\n };\r\n var transparentColspan = 0;\r\n var notFixedColumnCount;\r\n var transparentColumnIndex;\r\n var lastFixedPosition;\r\n if (isColumnFixing) {\r\n for (var i = 0; i <= rowCount; i++) {\r\n notFixedColumnCount = 0;\r\n lastFixedPosition = null;\r\n transparentColumnIndex = null;\r\n var visibleColumns = this.getVisibleColumns(i, true);\r\n for (var j = 0; j < visibleColumns.length; j++) {\r\n var prevColumn = visibleColumns[j - 1];\r\n var column = visibleColumns[j];\r\n if (!column.fixed) {\r\n if (0 === i) {\r\n if (column.isBand && column.colspan) {\r\n transparentColspan += column.colspan\r\n } else {\r\n transparentColspan++\r\n }\r\n }\r\n notFixedColumnCount++;\r\n if (!isDefined(transparentColumnIndex)) {\r\n transparentColumnIndex = j\r\n }\r\n } else if (prevColumn && prevColumn.fixed && getFixedPosition(this, prevColumn) !== getFixedPosition(this, column)) {\r\n if (!isDefined(transparentColumnIndex)) {\r\n transparentColumnIndex = j\r\n }\r\n } else {\r\n lastFixedPosition = column.fixedPosition\r\n }\r\n }\r\n if (0 === i && (0 === notFixedColumnCount || notFixedColumnCount >= visibleColumns.length)) {\r\n return []\r\n }\r\n if (!isDefined(transparentColumnIndex)) {\r\n transparentColumnIndex = \"right\" === lastFixedPosition ? 0 : visibleColumns.length\r\n }\r\n result[i] = visibleColumns.slice(0);\r\n if (!transparentColumn.colspan) {\r\n transparentColumn.colspan = transparentColspan\r\n }\r\n result[i].splice(transparentColumnIndex, notFixedColumnCount, transparentColumn)\r\n }\r\n }\r\n return result.map(columns => columns.map(column => {\r\n var newColumn = _extends({}, column);\r\n if (newColumn.headerId) {\r\n newColumn.headerId += \"-fixed\"\r\n }\r\n return newColumn\r\n }))\r\n }\r\n _isColumnFixing() {\r\n var isColumnFixing = this.option(\"columnFixing.enabled\");\r\n !isColumnFixing && each(this._columns, (_, column) => {\r\n if (column.fixed) {\r\n isColumnFixing = true;\r\n return false\r\n }\r\n });\r\n return isColumnFixing\r\n }\r\n _getExpandColumnsCore() {\r\n return this.getGroupColumns()\r\n }\r\n getExpandColumns() {\r\n var expandColumns = this._getExpandColumnsCore();\r\n var expandColumn;\r\n var firstGroupColumn = expandColumns.filter(column => 0 === column.groupIndex)[0];\r\n var isFixedFirstGroupColumn = firstGroupColumn && firstGroupColumn.fixed;\r\n var isColumnFixing = this._isColumnFixing();\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n if (expandColumns.length) {\r\n expandColumn = this.columnOption(\"command:expand\")\r\n }\r\n expandColumns = map(expandColumns, column => extend({}, column, {\r\n visibleWidth: null,\r\n minWidth: null,\r\n cellTemplate: !isDefined(column.groupIndex) ? column.cellTemplate : null,\r\n headerCellTemplate: null,\r\n fixed: !isDefined(column.groupIndex) || !isFixedFirstGroupColumn ? isColumnFixing : true,\r\n fixedPosition: rtlEnabled ? \"right\" : \"left\"\r\n }, expandColumn, {\r\n index: column.index,\r\n type: column.type || GROUP_COMMAND_COLUMN_NAME\r\n }));\r\n return expandColumns\r\n }\r\n getBandColumnsCache() {\r\n if (!this._bandColumnsCache) {\r\n var columns = this._columns;\r\n var columnChildrenByIndex = {};\r\n var columnParentByIndex = {};\r\n var isPlain = true;\r\n columns.forEach(column => {\r\n var {\r\n ownerBand: ownerBand\r\n } = column;\r\n var parentIndex = isObject(ownerBand) ? ownerBand.index : ownerBand;\r\n var parent = columns[parentIndex];\r\n if (column.hasColumns) {\r\n isPlain = false\r\n }\r\n if (column.colspan) {\r\n column.colspan = void 0\r\n }\r\n if (column.rowspan) {\r\n column.rowspan = void 0\r\n }\r\n if (parent) {\r\n columnParentByIndex[column.index] = parent\r\n } else {\r\n parentIndex = -1\r\n }\r\n columnChildrenByIndex[parentIndex] = columnChildrenByIndex[parentIndex] || [];\r\n columnChildrenByIndex[parentIndex].push(column)\r\n });\r\n this._bandColumnsCache = {\r\n isPlain: isPlain,\r\n columnChildrenByIndex: columnChildrenByIndex,\r\n columnParentByIndex: columnParentByIndex\r\n }\r\n }\r\n return this._bandColumnsCache\r\n }\r\n _isColumnVisible(column) {\r\n return column.visible && this.isParentColumnVisible(column.index)\r\n }\r\n _isColumnInGroupPanel(column) {\r\n return isDefined(column.groupIndex) && !column.showWhenGrouped\r\n }\r\n hasVisibleDataColumns() {\r\n var columns = this._columns;\r\n return columns.some(column => {\r\n var isVisible = this._isColumnVisible(column);\r\n var isInGroupPanel = this._isColumnInGroupPanel(column);\r\n var isCommand = !!column.command;\r\n return isVisible && !isInGroupPanel && !isCommand\r\n })\r\n }\r\n _compileVisibleColumnsCore() {\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var columns = mergeColumns(this, this._columns, this._commandColumns, true);\r\n processBandColumns(this, columns, bandColumnsCache);\r\n var indexedColumns = this._getIndexedColumns(columns);\r\n var visibleColumns = this._getVisibleColumnsFromIndexed(indexedColumns);\r\n var isDataColumnsInvisible = !this.hasVisibleDataColumns();\r\n if (isDataColumnsInvisible && this._columns.length) {\r\n visibleColumns[visibleColumns.length - 1].push({\r\n command: \"empty\"\r\n })\r\n }\r\n return visibleColumns\r\n }\r\n _getIndexedColumns(columns) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var rowCount = this.getRowCount();\r\n var columnDigitsCount = digitsCount(columns.length);\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var positiveIndexedColumns = [];\r\n var negativeIndexedColumns = [];\r\n for (var i = 0; i < rowCount; i += 1) {\r\n negativeIndexedColumns[i] = [{}];\r\n positiveIndexedColumns[i] = [{}, {}, {}]\r\n }\r\n columns.forEach(column => {\r\n var _a, _b, _c, _d;\r\n var {\r\n visibleIndex: visibleIndex\r\n } = column;\r\n var indexedColumns;\r\n var parentBandColumns = getParentBandColumns(column.index, bandColumnsCache.columnParentByIndex);\r\n var isVisible = this._isColumnVisible(column);\r\n var isInGroupPanel = this._isColumnInGroupPanel(column);\r\n if (isVisible && !isInGroupPanel) {\r\n var rowIndex = parentBandColumns.length;\r\n if (visibleIndex < 0) {\r\n visibleIndex = -visibleIndex;\r\n indexedColumns = negativeIndexedColumns[rowIndex]\r\n } else {\r\n column.fixed = null !== (_b = null === (_a = parentBandColumns[0]) || void 0 === _a ? void 0 : _a.fixed) && void 0 !== _b ? _b : column.fixed;\r\n column.fixedPosition = null !== (_d = null === (_c = parentBandColumns[0]) || void 0 === _c ? void 0 : _c.fixedPosition) && void 0 !== _d ? _d : column.fixedPosition;\r\n if (column.fixed) {\r\n var isDefaultCommandColumn = !!column.command && !isCustomCommandColumn(this, column);\r\n var isFixedToEnd = \"right\" === column.fixedPosition;\r\n if (rtlEnabled && !isDefaultCommandColumn) {\r\n isFixedToEnd = !isFixedToEnd\r\n }\r\n indexedColumns = isFixedToEnd ? positiveIndexedColumns[rowIndex][2] : positiveIndexedColumns[rowIndex][0]\r\n } else {\r\n indexedColumns = positiveIndexedColumns[rowIndex][1]\r\n }\r\n }\r\n if (parentBandColumns.length) {\r\n visibleIndex = numberToString(visibleIndex, columnDigitsCount);\r\n for (var _i = parentBandColumns.length - 1; _i >= 0; _i -= 1) {\r\n visibleIndex = numberToString(parentBandColumns[_i].visibleIndex, columnDigitsCount) + visibleIndex\r\n }\r\n }\r\n indexedColumns[visibleIndex] = indexedColumns[visibleIndex] || [];\r\n indexedColumns[visibleIndex].push(column)\r\n }\r\n });\r\n return {\r\n positiveIndexedColumns: positiveIndexedColumns,\r\n negativeIndexedColumns: negativeIndexedColumns\r\n }\r\n }\r\n _getVisibleColumnsFromIndexed(_ref) {\r\n var _this = this;\r\n var {\r\n positiveIndexedColumns: positiveIndexedColumns,\r\n negativeIndexedColumns: negativeIndexedColumns\r\n } = _ref;\r\n var result = [];\r\n var rowCount = this.getRowCount();\r\n var expandColumns = mergeColumns(this, this.getExpandColumns(), this._columns);\r\n var rowspanGroupColumns = 0;\r\n var rowspanExpandColumns = 0;\r\n var _loop = function(rowIndex) {\r\n result.push([]);\r\n orderEach(negativeIndexedColumns[rowIndex], (_, columns) => {\r\n result[rowIndex].unshift.apply(result[rowIndex], columns)\r\n });\r\n var firstPositiveIndexColumn = result[rowIndex].length;\r\n var positiveIndexedRowColumns = positiveIndexedColumns[rowIndex];\r\n positiveIndexedRowColumns.forEach(columnsByFixing => {\r\n orderEach(columnsByFixing, (_, columnsByVisibleIndex) => {\r\n result[rowIndex].push.apply(result[rowIndex], columnsByVisibleIndex)\r\n })\r\n });\r\n if (rowspanExpandColumns <= rowIndex) {\r\n rowspanExpandColumns += processExpandColumns.call(_this, result[rowIndex], expandColumns, DETAIL_COMMAND_COLUMN_NAME, firstPositiveIndexColumn)\r\n }\r\n if (rowspanGroupColumns <= rowIndex) {\r\n rowspanGroupColumns += processExpandColumns.call(_this, result[rowIndex], expandColumns, GROUP_COMMAND_COLUMN_NAME, firstPositiveIndexColumn)\r\n }\r\n };\r\n for (var rowIndex = 0; rowIndex < rowCount; rowIndex += 1) {\r\n _loop(rowIndex)\r\n }\r\n result.push(getDataColumns(result));\r\n return result\r\n }\r\n getInvisibleColumns(columns, bandColumnIndex) {\r\n var that = this;\r\n var result = [];\r\n var hiddenColumnsByBand;\r\n columns = columns || that._columns;\r\n each(columns, (_, column) => {\r\n if (column.ownerBand !== bandColumnIndex) {\r\n return\r\n }\r\n if (column.isBand) {\r\n if (!column.visible) {\r\n hiddenColumnsByBand = that.getChildrenByBandColumn(column.index)\r\n } else {\r\n hiddenColumnsByBand = that.getInvisibleColumns(that.getChildrenByBandColumn(column.index), column.index)\r\n }\r\n if (hiddenColumnsByBand.length) {\r\n result.push(column);\r\n result = result.concat(hiddenColumnsByBand)\r\n }\r\n return\r\n }\r\n if (!column.visible) {\r\n result.push(column)\r\n }\r\n });\r\n return result\r\n }\r\n getChooserColumns(getAllColumns) {\r\n var columns = getAllColumns ? this.getColumns() : this.getInvisibleColumns();\r\n var columnChooserColumns = columns.filter(column => column.showInColumnChooser);\r\n var sortOrder = this.option(\"columnChooser.sortOrder\");\r\n return sortColumns(columnChooserColumns, sortOrder)\r\n }\r\n allowMoveColumn(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation) {\r\n var columnIndex = getColumnIndexByVisibleIndex(this, fromVisibleIndex, sourceLocation);\r\n var sourceColumn = this._columns[columnIndex];\r\n if (sourceColumn && (sourceColumn.allowReordering || sourceColumn.allowGrouping || sourceColumn.allowHiding)) {\r\n if (sourceLocation === targetLocation) {\r\n if (sourceLocation === COLUMN_CHOOSER_LOCATION) {\r\n return false\r\n }\r\n fromVisibleIndex = isObject(fromVisibleIndex) ? fromVisibleIndex.columnIndex : fromVisibleIndex;\r\n toVisibleIndex = isObject(toVisibleIndex) ? toVisibleIndex.columnIndex : toVisibleIndex;\r\n return fromVisibleIndex !== toVisibleIndex && fromVisibleIndex + 1 !== toVisibleIndex\r\n }\r\n if (sourceLocation === GROUP_LOCATION && targetLocation !== COLUMN_CHOOSER_LOCATION || targetLocation === GROUP_LOCATION) {\r\n return sourceColumn && sourceColumn.allowGrouping\r\n }\r\n if (sourceLocation === COLUMN_CHOOSER_LOCATION || targetLocation === COLUMN_CHOOSER_LOCATION) {\r\n return sourceColumn && sourceColumn.allowHiding\r\n }\r\n return true\r\n }\r\n return false\r\n }\r\n moveColumn(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation) {\r\n var options = {};\r\n var prevGroupIndex;\r\n var fromIndex = getColumnIndexByVisibleIndex(this, fromVisibleIndex, sourceLocation);\r\n var toIndex = getColumnIndexByVisibleIndex(this, toVisibleIndex, targetLocation);\r\n var targetGroupIndex;\r\n if (fromIndex >= 0) {\r\n var column = this._columns[fromIndex];\r\n toVisibleIndex = isObject(toVisibleIndex) ? toVisibleIndex.columnIndex : toVisibleIndex;\r\n targetGroupIndex = toIndex >= 0 ? this._columns[toIndex].groupIndex : -1;\r\n if (isDefined(column.groupIndex) && sourceLocation === GROUP_LOCATION) {\r\n if (targetGroupIndex > column.groupIndex) {\r\n targetGroupIndex--\r\n }\r\n if (targetLocation !== GROUP_LOCATION) {\r\n options.groupIndex = void 0\r\n } else {\r\n prevGroupIndex = column.groupIndex;\r\n delete column.groupIndex;\r\n updateColumnGroupIndexes(this)\r\n }\r\n }\r\n if (targetLocation === GROUP_LOCATION) {\r\n options.groupIndex = moveColumnToGroup(this, column, targetGroupIndex);\r\n column.groupIndex = prevGroupIndex\r\n } else if (toVisibleIndex >= 0) {\r\n var targetColumn = this._columns[toIndex];\r\n if (!targetColumn || column.ownerBand !== targetColumn.ownerBand) {\r\n options.visibleIndex = MAX_SAFE_INTEGER\r\n } else if (isColumnFixed(this, column) ^ isColumnFixed(this, targetColumn)) {\r\n options.visibleIndex = MAX_SAFE_INTEGER\r\n } else {\r\n options.visibleIndex = targetColumn.visibleIndex\r\n }\r\n }\r\n var isVisible = targetLocation !== COLUMN_CHOOSER_LOCATION;\r\n if (column.visible !== isVisible) {\r\n options.visible = isVisible\r\n }\r\n this.columnOption(column.index, options)\r\n }\r\n }\r\n changeSortOrder(columnIndex, sortOrder) {\r\n var options = {};\r\n var sortingOptions = this.option(\"sorting\");\r\n var sortingMode = sortingOptions && sortingOptions.mode;\r\n var needResetSorting = \"single\" === sortingMode || !sortOrder;\r\n var allowSorting = \"single\" === sortingMode || \"multiple\" === sortingMode;\r\n var column = this._columns[columnIndex];\r\n if (allowSorting && column && column.allowSorting) {\r\n if (needResetSorting && !isDefined(column.groupIndex)) {\r\n each(this._columns, (function(index) {\r\n if (index !== columnIndex && this.sortOrder) {\r\n if (!isDefined(this.groupIndex)) {\r\n delete this.sortOrder\r\n }\r\n delete this.sortIndex\r\n }\r\n }))\r\n }\r\n if (isSortOrderValid(sortOrder)) {\r\n if (column.sortOrder !== sortOrder) {\r\n options.sortOrder = sortOrder\r\n }\r\n } else if (\"none\" === sortOrder) {\r\n if (column.sortOrder) {\r\n options.sortIndex = void 0;\r\n options.sortOrder = void 0\r\n }\r\n } else {\r\n ! function(column) {\r\n if (\"ctrl\" === sortOrder) {\r\n if (!(\"sortOrder\" in column && \"sortIndex\" in column)) {\r\n return false\r\n }\r\n options.sortOrder = void 0;\r\n options.sortIndex = void 0\r\n } else if (isDefined(column.groupIndex) || isDefined(column.sortIndex)) {\r\n options.sortOrder = \"desc\" === column.sortOrder ? \"asc\" : \"desc\"\r\n } else {\r\n options.sortOrder = \"asc\"\r\n }\r\n return true\r\n }(column)\r\n }\r\n }\r\n this.columnOption(column.index, options)\r\n }\r\n getSortDataSourceParameters(useLocalSelector) {\r\n var sortColumns = [];\r\n var sort = [];\r\n each(this._columns, (function() {\r\n if ((this.dataField || this.selector || this.calculateCellValue) && isDefined(this.sortIndex) && !isDefined(this.groupIndex)) {\r\n sortColumns[this.sortIndex] = this\r\n }\r\n }));\r\n each(sortColumns, (function() {\r\n var sortOrder = this && this.sortOrder;\r\n if (isSortOrderValid(sortOrder)) {\r\n var sortItem = {\r\n selector: this.calculateSortValue || this.displayField || this.calculateDisplayValue || useLocalSelector && this.selector || this.dataField || this.calculateCellValue,\r\n desc: \"desc\" === this.sortOrder\r\n };\r\n if (this.sortingMethod) {\r\n sortItem.compare = this.sortingMethod.bind(this)\r\n }\r\n sort.push(sortItem)\r\n }\r\n }));\r\n return sort.length > 0 ? sort : null\r\n }\r\n getGroupDataSourceParameters(useLocalSelector) {\r\n var group = [];\r\n each(this.getGroupColumns(), (function() {\r\n var selector = this.calculateGroupValue || this.displayField || this.calculateDisplayValue || useLocalSelector && this.selector || this.dataField || this.calculateCellValue;\r\n if (selector) {\r\n var groupItem = {\r\n selector: selector,\r\n desc: \"desc\" === this.sortOrder,\r\n isExpanded: !!this.autoExpandGroup\r\n };\r\n if (this.sortingMethod) {\r\n groupItem.compare = this.sortingMethod.bind(this)\r\n }\r\n group.push(groupItem)\r\n }\r\n }));\r\n return group.length > 0 ? group : null\r\n }\r\n refresh(updateNewLookupsOnly) {\r\n var deferreds = [];\r\n each(this._columns, (function() {\r\n var {\r\n lookup: lookup\r\n } = this;\r\n if (lookup && !this.calculateDisplayValue) {\r\n if (updateNewLookupsOnly && lookup.valueMap) {\r\n return\r\n }\r\n if (lookup.update) {\r\n deferreds.push(lookup.update())\r\n }\r\n }\r\n }));\r\n return when.apply($, deferreds).done(resetColumnsCache.bind(null, this))\r\n }\r\n _updateColumnOptions(column, columnIndex) {\r\n var _a, _b, _c, _d;\r\n var shouldTakeOriginalCallbackFromPrevious = this._reinitAfterLookupChanges && (null === (_a = this._previousColumns) || void 0 === _a ? void 0 : _a[columnIndex]);\r\n column.selector = null !== (_b = column.selector) && void 0 !== _b ? _b : data => column.calculateCellValue(data);\r\n column.selector.columnIndex = columnIndex;\r\n column.selector.originalCallback = shouldTakeOriginalCallbackFromPrevious ? null !== (_d = null === (_c = this._previousColumns[columnIndex].selector) || void 0 === _c ? void 0 : _c.originalCallback) && void 0 !== _d ? _d : column.selector : column.selector;\r\n each([\"calculateSortValue\", \"calculateGroupValue\", \"calculateDisplayValue\"], (_, calculateCallbackName) => {\r\n var calculateCallback = column[calculateCallbackName];\r\n if (isFunction(calculateCallback)) {\r\n if (!calculateCallback.originalCallback) {\r\n var context = {\r\n column: column\r\n };\r\n column[calculateCallbackName] = function(data) {\r\n return calculateCallback.call(context.column, data)\r\n };\r\n column[calculateCallbackName].originalCallback = calculateCallback;\r\n column[calculateCallbackName].columnIndex = columnIndex;\r\n column[calculateCallbackName].context = context\r\n } else {\r\n column[calculateCallbackName].context.column = column\r\n }\r\n }\r\n });\r\n if (isString(column.calculateDisplayValue)) {\r\n column.displayField = column.calculateDisplayValue;\r\n column.calculateDisplayValue = compileGetter(column.displayField)\r\n }\r\n if (column.calculateDisplayValue) {\r\n column.displayValueMap = column.displayValueMap || {}\r\n }\r\n updateSerializers(column, column.dataType);\r\n var {\r\n lookup: lookup\r\n } = column;\r\n if (lookup) {\r\n updateSerializers(lookup, lookup.dataType)\r\n }\r\n var dataType = lookup ? lookup.dataType : column.dataType;\r\n if (dataType) {\r\n column.alignment = column.alignment || getAlignmentByDataType(dataType, this.option(\"rtlEnabled\"));\r\n column.format = column.format || gridCoreUtils.getFormatByDataType(dataType);\r\n column.customizeText = column.customizeText || getCustomizeTextByDataType(dataType);\r\n column.defaultFilterOperations = column.defaultFilterOperations || !lookup && DATATYPE_OPERATIONS[dataType] || [];\r\n if (!isDefined(column.filterOperations)) {\r\n setFilterOperationsAsDefaultValues(column)\r\n }\r\n column.defaultFilterOperation = column.filterOperations && column.filterOperations[0] || \"=\";\r\n column.showEditorAlways = isDefined(column.showEditorAlways) ? column.showEditorAlways : \"boolean\" === dataType && !column.cellTemplate && !column.lookup\r\n }\r\n }\r\n updateColumnDataTypes(dataSource) {\r\n var that = this;\r\n var dateSerializationFormat = that.option(\"dateSerializationFormat\");\r\n var firstItems = that._getFirstItems(dataSource);\r\n var isColumnDataTypesUpdated = false;\r\n each(that._columns, (index, column) => {\r\n var i;\r\n var value;\r\n var dataType;\r\n var lookupDataType;\r\n var valueDataType;\r\n var {\r\n lookup: lookup\r\n } = column;\r\n if (gridCoreUtils.isDateType(column.dataType) && void 0 === column.serializationFormat) {\r\n column.serializationFormat = dateSerializationFormat\r\n }\r\n if (lookup && gridCoreUtils.isDateType(lookup.dataType) && void 0 === column.serializationFormat) {\r\n lookup.serializationFormat = dateSerializationFormat\r\n }\r\n if (column.calculateCellValue && firstItems.length) {\r\n if (!column.dataType || lookup && !lookup.dataType) {\r\n for (i = 0; i < firstItems.length; i++) {\r\n value = column.calculateCellValue(firstItems[i]);\r\n if (!column.dataType) {\r\n valueDataType = getValueDataType(value);\r\n dataType = dataType || valueDataType;\r\n if (dataType && valueDataType && dataType !== valueDataType) {\r\n dataType = \"string\"\r\n }\r\n }\r\n if (lookup && !lookup.dataType) {\r\n valueDataType = getValueDataType(gridCoreUtils.getDisplayValue(column, value, firstItems[i]));\r\n lookupDataType = lookupDataType || valueDataType;\r\n if (lookupDataType && valueDataType && lookupDataType !== valueDataType) {\r\n lookupDataType = \"string\"\r\n }\r\n }\r\n }\r\n if (dataType || lookupDataType) {\r\n if (dataType) {\r\n column.dataType = dataType\r\n }\r\n if (lookup && lookupDataType) {\r\n lookup.dataType = lookupDataType\r\n }\r\n isColumnDataTypesUpdated = true\r\n }\r\n }\r\n if (void 0 === column.serializationFormat || lookup && void 0 === lookup.serializationFormat) {\r\n for (i = 0; i < firstItems.length; i++) {\r\n value = column.calculateCellValue(firstItems[i], true);\r\n if (void 0 === column.serializationFormat) {\r\n column.serializationFormat = getSerializationFormat(column.dataType, value)\r\n }\r\n if (lookup && void 0 === lookup.serializationFormat) {\r\n lookup.serializationFormat = getSerializationFormat(lookup.dataType, lookup.calculateCellValue(value, true))\r\n }\r\n }\r\n }\r\n }\r\n that._updateColumnOptions(column, index)\r\n });\r\n return isColumnDataTypesUpdated\r\n }\r\n _customizeColumns(columns) {\r\n var customizeColumns = this.option(\"customizeColumns\");\r\n if (customizeColumns) {\r\n var hasOwnerBand = columns.some(column => isObject(column.ownerBand));\r\n if (hasOwnerBand) {\r\n updateIndexes(this)\r\n }\r\n customizeColumns(columns);\r\n assignColumns(this, createColumnsFromOptions(this, columns))\r\n }\r\n }\r\n updateColumns(dataSource, forceApplying, isApplyingUserState) {\r\n if (!forceApplying) {\r\n this.updateSortingGrouping(dataSource)\r\n }\r\n if (!dataSource || dataSource.isLoaded()) {\r\n var sortParameters = dataSource ? dataSource.sort() || [] : this.getSortDataSourceParameters();\r\n var groupParameters = dataSource ? dataSource.group() || [] : this.getGroupDataSourceParameters();\r\n var filterParameters = null === dataSource || void 0 === dataSource ? void 0 : dataSource.lastLoadOptions().filter;\r\n if (!isApplyingUserState) {\r\n this._customizeColumns(this._columns)\r\n }\r\n updateIndexes(this);\r\n var columns = this._columns;\r\n return when(this.refresh(true)).always(() => {\r\n if (this._columns !== columns) {\r\n return\r\n }\r\n this._updateChanges(dataSource, {\r\n sorting: sortParameters,\r\n grouping: groupParameters,\r\n filtering: filterParameters\r\n });\r\n fireColumnsChanged(this)\r\n })\r\n }\r\n }\r\n _updateChanges(dataSource, parameters) {\r\n if (dataSource) {\r\n this.updateColumnDataTypes(dataSource);\r\n this._dataSourceApplied = true\r\n }\r\n if (!gridCoreUtils.equalSortParameters(parameters.sorting, this.getSortDataSourceParameters())) {\r\n updateColumnChanges(this, \"sorting\")\r\n }\r\n if (!gridCoreUtils.equalSortParameters(parameters.grouping, this.getGroupDataSourceParameters())) {\r\n updateColumnChanges(this, \"grouping\")\r\n }\r\n if (this._dataController && !gridCoreUtils.equalFilterParameters(parameters.filtering, this._dataController.getCombinedFilter())) {\r\n updateColumnChanges(this, \"filtering\")\r\n }\r\n updateColumnChanges(this, \"columns\")\r\n }\r\n updateSortingGrouping(dataSource, fromDataSource) {\r\n var that = this;\r\n var sortParameters;\r\n var isColumnsChanged;\r\n var updateSortGroupParameterIndexes = function(columns, sortParameters, indexParameterName) {\r\n each(columns, (index, column) => {\r\n delete column[indexParameterName];\r\n if (sortParameters) {\r\n for (var i = 0; i < sortParameters.length; i++) {\r\n var {\r\n selector: selector\r\n } = sortParameters[i];\r\n var {\r\n isExpanded: isExpanded\r\n } = sortParameters[i];\r\n if (selector === column.dataField || selector === column.name || selector === column.displayField || selector === column.selector || selector === column.calculateCellValue || selector === column.calculateGroupValue || selector === column.calculateDisplayValue) {\r\n if (fromDataSource) {\r\n column.sortOrder = \"sortOrder\" in column ? column.sortOrder : sortParameters[i].desc ? \"desc\" : \"asc\"\r\n } else {\r\n column.sortOrder = column.sortOrder || (sortParameters[i].desc ? \"desc\" : \"asc\")\r\n }\r\n if (void 0 !== isExpanded) {\r\n column.autoExpandGroup = isExpanded\r\n }\r\n column[indexParameterName] = i;\r\n break\r\n }\r\n }\r\n }\r\n })\r\n };\r\n if (dataSource) {\r\n sortParameters = gridCoreUtils.normalizeSortingInfo(dataSource.sort());\r\n var groupParameters = gridCoreUtils.normalizeSortingInfo(dataSource.group());\r\n var columnsGroupParameters = that.getGroupDataSourceParameters();\r\n var columnsSortParameters = that.getSortDataSourceParameters();\r\n var groupingChanged = !gridCoreUtils.equalSortParameters(groupParameters, columnsGroupParameters, true);\r\n var groupExpandingChanged = !groupingChanged && !gridCoreUtils.equalSortParameters(groupParameters, columnsGroupParameters);\r\n if (!that._columns.length) {\r\n each(groupParameters, (index, group) => {\r\n that._columns.push(group.selector)\r\n });\r\n each(sortParameters, (index, sort) => {\r\n if (!isFunction(sort.selector)) {\r\n that._columns.push(sort.selector)\r\n }\r\n });\r\n assignColumns(that, createColumnsFromOptions(that, that._columns))\r\n }\r\n if ((fromDataSource || !columnsGroupParameters && !that._hasUserState) && (groupingChanged || groupExpandingChanged)) {\r\n updateSortGroupParameterIndexes(that._columns, groupParameters, \"groupIndex\");\r\n if (fromDataSource) {\r\n groupingChanged && updateColumnChanges(that, \"grouping\");\r\n groupExpandingChanged && updateColumnChanges(that, \"groupExpanding\");\r\n isColumnsChanged = true\r\n }\r\n }\r\n if ((fromDataSource || !columnsSortParameters && !that._hasUserState) && !gridCoreUtils.equalSortParameters(sortParameters, columnsSortParameters)) {\r\n updateSortGroupParameterIndexes(that._columns, sortParameters, \"sortIndex\");\r\n if (fromDataSource) {\r\n updateColumnChanges(that, \"sorting\");\r\n isColumnsChanged = true\r\n }\r\n }\r\n if (isColumnsChanged) {\r\n fireColumnsChanged(that)\r\n }\r\n }\r\n }\r\n updateFilter(filter, remoteFiltering, columnIndex, filterValue) {\r\n if (!Array.isArray(filter)) {\r\n return filter\r\n }\r\n filter = extend([], filter);\r\n columnIndex = void 0 !== filter.columnIndex ? filter.columnIndex : columnIndex;\r\n filterValue = void 0 !== filter.filterValue ? filter.filterValue : filterValue;\r\n if (isString(filter[0]) && \"!\" !== filter[0]) {\r\n var column = this.columnOption(filter[0]);\r\n if (remoteFiltering) {\r\n if (config().forceIsoDateParsing && column && column.serializeValue && filter.length > 1) {\r\n filter[filter.length - 1] = column.serializeValue(filter[filter.length - 1], \"filter\")\r\n }\r\n } else if (column && column.selector) {\r\n filter[0] = column.selector;\r\n filter[0].columnIndex = column.index\r\n }\r\n } else if (isFunction(filter[0])) {\r\n filter[0].columnIndex = columnIndex;\r\n filter[0].filterValue = filterValue;\r\n filter[0].selectedFilterOperation = filter.selectedFilterOperation\r\n }\r\n for (var i = 0; i < filter.length; i++) {\r\n filter[i] = this.updateFilter(filter[i], remoteFiltering, columnIndex, filterValue)\r\n }\r\n return filter\r\n }\r\n columnCount() {\r\n return this._columns ? this._columns.length : 0\r\n }\r\n columnOption(identifier, option, value, notFireEvent) {\r\n var that = this;\r\n var columns = that._columns.concat(that._commandColumns);\r\n var column = findColumn(columns, identifier);\r\n if (column) {\r\n if (1 === arguments.length) {\r\n return extend({}, column)\r\n }\r\n if (isString(option)) {\r\n if (2 === arguments.length) {\r\n return columnOptionCore(that, column, option)\r\n }\r\n columnOptionCore(that, column, option, value, notFireEvent)\r\n } else if (isObject(option)) {\r\n each(option, (optionName, value) => {\r\n columnOptionCore(that, column, optionName, value, notFireEvent)\r\n })\r\n }\r\n fireColumnsChanged(that)\r\n }\r\n }\r\n clearSorting() {\r\n var columnCount = this.columnCount();\r\n this.beginUpdate();\r\n for (var i = 0; i < columnCount; i++) {\r\n this.columnOption(i, \"sortOrder\", void 0);\r\n delete findColumn(this._columns, i).sortOrder\r\n }\r\n this.endUpdate()\r\n }\r\n clearGrouping() {\r\n var columnCount = this.columnCount();\r\n this.beginUpdate();\r\n for (var i = 0; i < columnCount; i++) {\r\n this.columnOption(i, \"groupIndex\", void 0)\r\n }\r\n this.endUpdate()\r\n }\r\n getVisibleIndex(index, rowIndex) {\r\n var columns = this.getVisibleColumns(rowIndex);\r\n for (var i = columns.length - 1; i >= 0; i--) {\r\n if (columns[i].index === index) {\r\n return i\r\n }\r\n }\r\n return -1\r\n }\r\n getVisibleIndexByColumn(column, rowIndex) {\r\n var visibleColumns = this.getVisibleColumns(rowIndex);\r\n var visibleColumn = visibleColumns.filter(col => col.index === column.index && col.command === column.command)[0];\r\n return visibleColumns.indexOf(visibleColumn)\r\n }\r\n getVisibleColumnIndex(id, rowIndex) {\r\n var index = this.columnOption(id, \"index\");\r\n return this.getVisibleIndex(index, rowIndex)\r\n }\r\n addColumn(options) {\r\n var column = createColumn(this, options);\r\n var index = this._columns.length;\r\n this._columns.push(column);\r\n if (column.isBand) {\r\n this._columns = createColumnsFromOptions(this, this._columns);\r\n column = this._columns[index]\r\n }\r\n column.added = options;\r\n updateIndexes(this, column);\r\n this.updateColumns(this._dataSource);\r\n this._checkColumns()\r\n }\r\n deleteColumn(id) {\r\n var column = this.columnOption(id);\r\n if (column && column.index >= 0) {\r\n convertOwnerBandToColumnReference(this._columns);\r\n this._columns.splice(column.index, 1);\r\n if (column.isBand) {\r\n var childIndexes = this.getChildrenByBandColumn(column.index).map(column => column.index);\r\n this._columns = this._columns.filter(column => childIndexes.indexOf(column.index) < 0)\r\n }\r\n updateIndexes(this);\r\n this.updateColumns(this._dataSource)\r\n }\r\n }\r\n addCommandColumn(options) {\r\n var commandColumn = this._commandColumns.filter(column => column.command === options.command)[0];\r\n if (!commandColumn) {\r\n commandColumn = options;\r\n this._commandColumns.push(commandColumn)\r\n }\r\n }\r\n getUserState() {\r\n var columns = this._columns;\r\n var result = [];\r\n var i;\r\n\r\n function handleStateField(index, value) {\r\n if (void 0 !== columns[i][value]) {\r\n result[i][value] = columns[i][value]\r\n }\r\n }\r\n for (i = 0; i < columns.length; i++) {\r\n result[i] = {};\r\n each(USER_STATE_FIELD_NAMES, handleStateField)\r\n }\r\n return result\r\n }\r\n setName(column) {\r\n column.name = column.name || column.dataField || column.type\r\n }\r\n setUserState(state) {\r\n var dataSource = this._dataSource;\r\n var ignoreColumnOptionNames = this.option(\"stateStoring.ignoreColumnOptionNames\");\r\n null === state || void 0 === state ? void 0 : state.forEach(this.setName);\r\n if (!ignoreColumnOptionNames) {\r\n ignoreColumnOptionNames = [];\r\n var commonColumnSettings = this.getCommonSettings();\r\n if (!this.option(\"columnChooser.enabled\")) {\r\n ignoreColumnOptionNames.push(\"visible\")\r\n }\r\n if (\"none\" === this.option(\"sorting.mode\")) {\r\n ignoreColumnOptionNames.push(\"sortIndex\", \"sortOrder\")\r\n }\r\n if (!commonColumnSettings.allowGrouping) {\r\n ignoreColumnOptionNames.push(\"groupIndex\")\r\n }\r\n if (!commonColumnSettings.allowFixing) {\r\n ignoreColumnOptionNames.push(\"fixed\", \"fixedPosition\")\r\n }\r\n if (!commonColumnSettings.allowResizing) {\r\n ignoreColumnOptionNames.push(\"width\", \"visibleWidth\")\r\n }\r\n var isFilterPanelHidden = !this.option(\"filterPanel.visible\");\r\n if (!this.option(\"filterRow.visible\") && isFilterPanelHidden) {\r\n ignoreColumnOptionNames.push(\"filterValue\", \"selectedFilterOperation\")\r\n }\r\n if (!this.option(\"headerFilter.visible\") && isFilterPanelHidden) {\r\n ignoreColumnOptionNames.push(\"filterValues\", \"filterType\")\r\n }\r\n }\r\n this._columnsUserState = state;\r\n this._ignoreColumnOptionNames = ignoreColumnOptionNames;\r\n this._hasUserState = !!state;\r\n updateColumnChanges(this, \"filtering\");\r\n this.init(true);\r\n if (dataSource) {\r\n dataSource.sort(this.getSortDataSourceParameters());\r\n dataSource.group(this.getGroupDataSourceParameters())\r\n }\r\n }\r\n _checkColumns() {\r\n var usedNames = {};\r\n var hasEditableColumnWithoutName = false;\r\n var duplicatedNames = [];\r\n this._columns.forEach(column => {\r\n var _a;\r\n var {\r\n name: name\r\n } = column;\r\n var isBand = null === (_a = column.columns) || void 0 === _a ? void 0 : _a.length;\r\n var isEditable = column.allowEditing && (column.dataField || column.setCellValue) && !isBand;\r\n if (name) {\r\n if (usedNames[name]) {\r\n duplicatedNames.push('\"'.concat(name, '\"'))\r\n }\r\n usedNames[name] = true\r\n } else if (isEditable) {\r\n hasEditableColumnWithoutName = true\r\n }\r\n });\r\n if (duplicatedNames.length) {\r\n errors.log(\"E1059\", duplicatedNames.join(\", \"))\r\n }\r\n if (hasEditableColumnWithoutName) {\r\n errors.log(\"E1060\")\r\n }\r\n }\r\n _createCalculatedColumnOptions(columnOptions, bandColumn) {\r\n var calculatedColumnOptions = {};\r\n var {\r\n dataField: dataField\r\n } = columnOptions;\r\n if (Array.isArray(columnOptions.columns) && columnOptions.columns.length || columnOptions.isBand) {\r\n calculatedColumnOptions.isBand = true;\r\n dataField = null\r\n }\r\n if (dataField) {\r\n if (isString(dataField)) {\r\n var getter = compileGetter(dataField);\r\n calculatedColumnOptions = {\r\n caption: captionize(dataField),\r\n calculateCellValue(data, skipDeserialization) {\r\n var value = getter(data);\r\n return this.deserializeValue && !skipDeserialization ? this.deserializeValue(value) : value\r\n },\r\n setCellValue: defaultSetCellValue,\r\n parseValue(text) {\r\n var result;\r\n var parsedValue;\r\n if (\"number\" === this.dataType) {\r\n if (isString(text) && this.format) {\r\n result = strictParseNumber(text.trim(), this.format)\r\n } else if (isDefined(text) && isNumeric(text)) {\r\n result = Number(text)\r\n }\r\n } else if (\"boolean\" === this.dataType) {\r\n if (text === this.trueText) {\r\n result = true\r\n } else if (text === this.falseText) {\r\n result = false\r\n }\r\n } else if (gridCoreUtils.isDateType(this.dataType)) {\r\n parsedValue = dateLocalization.parse(text, this.format);\r\n if (parsedValue) {\r\n result = parsedValue\r\n }\r\n } else {\r\n result = text\r\n }\r\n return result\r\n }\r\n }\r\n }\r\n calculatedColumnOptions.allowFiltering = true\r\n } else {\r\n calculatedColumnOptions.allowFiltering = !!columnOptions.calculateFilterExpression\r\n }\r\n calculatedColumnOptions.calculateFilterExpression = function() {\r\n return filterUtils.defaultCalculateFilterExpression.apply(this, arguments)\r\n };\r\n calculatedColumnOptions.defaultFilterOperation = \"=\";\r\n calculatedColumnOptions.createFilterExpression = function(filterValue, selectedFilterOperation) {\r\n var result;\r\n if (this.calculateFilterExpression) {\r\n result = this.calculateFilterExpression.apply(this, arguments)\r\n }\r\n if (isFunction(result)) {\r\n result = [result, \"=\", true]\r\n }\r\n if (result) {\r\n result.columnIndex = this.index;\r\n result.filterValue = filterValue;\r\n result.selectedFilterOperation = selectedFilterOperation\r\n }\r\n return result\r\n };\r\n if (!dataField || !isString(dataField)) {\r\n extend(true, calculatedColumnOptions, {\r\n allowSorting: false,\r\n allowGrouping: false,\r\n calculateCellValue: () => null\r\n })\r\n }\r\n if (bandColumn) {\r\n calculatedColumnOptions.allowFixing = false\r\n }\r\n if (columnOptions.dataType) {\r\n calculatedColumnOptions.userDataType = columnOptions.dataType\r\n }\r\n if (columnOptions.selectedFilterOperation && !(\"defaultSelectedFilterOperation\" in calculatedColumnOptions)) {\r\n calculatedColumnOptions.defaultSelectedFilterOperation = columnOptions.selectedFilterOperation\r\n }\r\n if (columnOptions.lookup) {\r\n calculatedColumnOptions.lookup = {\r\n calculateCellValue(value, skipDeserialization) {\r\n if (this.valueExpr) {\r\n value = this.valueMap && this.valueMap[value]\r\n }\r\n return this.deserializeValue && !skipDeserialization ? this.deserializeValue(value) : value\r\n },\r\n updateValueMap() {\r\n this.valueMap = {};\r\n if (this.items) {\r\n var calculateValue = compileGetter(this.valueExpr);\r\n var calculateDisplayValue = compileGetter(this.displayExpr);\r\n for (var i = 0; i < this.items.length; i++) {\r\n var item = this.items[i];\r\n var displayValue = calculateDisplayValue(item);\r\n this.valueMap[calculateValue(item)] = displayValue;\r\n this.dataType = this.dataType || getValueDataType(displayValue)\r\n }\r\n }\r\n },\r\n update() {\r\n var that = this;\r\n var {\r\n dataSource: dataSource\r\n } = that;\r\n if (dataSource) {\r\n if (isFunction(dataSource) && !variableWrapper.isWrapped(dataSource)) {\r\n dataSource = dataSource({})\r\n }\r\n if (isPlainObject(dataSource) || dataSource instanceof Store || Array.isArray(dataSource)) {\r\n if (that.valueExpr) {\r\n var dataSourceOptions = normalizeDataSourceOptions(dataSource);\r\n dataSourceOptions.paginate = false;\r\n dataSource = new DataSource(dataSourceOptions);\r\n return dataSource.load().done(data => {\r\n that.items = data;\r\n that.updateValueMap && that.updateValueMap()\r\n })\r\n }\r\n } else {\r\n errors.log(\"E1016\")\r\n }\r\n } else {\r\n that.updateValueMap && that.updateValueMap()\r\n }\r\n }\r\n }\r\n }\r\n calculatedColumnOptions.resizedCallbacks = Callbacks();\r\n if (columnOptions.resized) {\r\n calculatedColumnOptions.resizedCallbacks.add(columnOptions.resized.bind(columnOptions))\r\n }\r\n each(calculatedColumnOptions, optionName => {\r\n if (isFunction(calculatedColumnOptions[optionName]) && 0 !== optionName.indexOf(\"default\")) {\r\n var defaultOptionName = \"default\".concat(optionName.charAt(0).toUpperCase()).concat(optionName.substr(1));\r\n calculatedColumnOptions[defaultOptionName] = calculatedColumnOptions[optionName]\r\n }\r\n });\r\n return calculatedColumnOptions\r\n }\r\n getRowCount() {\r\n this._rowCount = this._rowCount || getRowCount(this);\r\n return this._rowCount\r\n }\r\n getRowIndex(columnIndex, alwaysGetRowIndex) {\r\n var column = this._columns[columnIndex];\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n return column && (alwaysGetRowIndex || column.visible && !(column.command || isDefined(column.groupIndex))) ? getParentBandColumns(columnIndex, bandColumnsCache.columnParentByIndex).length : 0\r\n }\r\n getChildrenByBandColumn(bandColumnIndex, onlyVisibleDirectChildren) {\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var result = getChildrenByBandColumn(bandColumnIndex, bandColumnsCache.columnChildrenByIndex, !onlyVisibleDirectChildren);\r\n if (onlyVisibleDirectChildren) {\r\n return result.filter(column => column.visible && !column.command).sort((column1, column2) => column1.visibleIndex - column2.visibleIndex)\r\n }\r\n return result\r\n }\r\n isParentBandColumn(columnIndex, bandColumnIndex) {\r\n var result = false;\r\n var column = this._columns[columnIndex];\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var parentBandColumns = column && getParentBandColumns(columnIndex, bandColumnsCache.columnParentByIndex);\r\n if (parentBandColumns) {\r\n each(parentBandColumns, (_, bandColumn) => {\r\n if (bandColumn.index === bandColumnIndex) {\r\n result = true;\r\n return false\r\n }\r\n })\r\n }\r\n return result\r\n }\r\n isParentColumnVisible(columnIndex) {\r\n var result = true;\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var bandColumns = columnIndex >= 0 && getParentBandColumns(columnIndex, bandColumnsCache.columnParentByIndex);\r\n bandColumns && each(bandColumns, (_, bandColumn) => {\r\n result = result && bandColumn.visible;\r\n return result\r\n });\r\n return result\r\n }\r\n getColumnId(column) {\r\n if (column.command && column.type === GROUP_COMMAND_COLUMN_NAME) {\r\n if (isCustomCommandColumn(this, column)) {\r\n return \"type:\".concat(column.type)\r\n }\r\n return \"command:\".concat(column.command)\r\n }\r\n return column.index\r\n }\r\n getCustomizeTextByDataType(dataType) {\r\n return getCustomizeTextByDataType(dataType)\r\n }\r\n getHeaderContentAlignment(columnAlignment) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n if (rtlEnabled) {\r\n return \"left\" === columnAlignment ? \"right\" : \"left\"\r\n }\r\n return columnAlignment\r\n }\r\n}\r\nexport var columnsControllerModule = {\r\n defaultOptions: () => ({\r\n commonColumnSettings: {\r\n allowFiltering: true,\r\n allowHiding: true,\r\n allowSorting: true,\r\n allowEditing: true,\r\n encodeHtml: true,\r\n trueText: messageLocalization.format(\"dxDataGrid-trueText\"),\r\n falseText: messageLocalization.format(\"dxDataGrid-falseText\")\r\n },\r\n allowColumnReordering: false,\r\n allowColumnResizing: false,\r\n columnResizingMode: \"nextColumn\",\r\n columnMinWidth: void 0,\r\n columnWidth: void 0,\r\n adaptColumnWidthByRatio: true,\r\n columns: void 0,\r\n regenerateColumnsByVisibleItems: false,\r\n customizeColumns: null,\r\n dateSerializationFormat: void 0\r\n }),\r\n controllers: {\r\n columns: ColumnsController\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_columns_controller.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n columnsControllerModule\r\n} from \"../../grids/grid_core/columns_controller/m_columns_controller\";\r\nimport gridCore from \"./m_core\";\r\ngridCore.registerModule(\"columns\", {\r\n defaultOptions: () => extend(true, {}, columnsControllerModule.defaultOptions(), {\r\n commonColumnSettings: {\r\n allowExporting: true\r\n }\r\n }),\r\n controllers: columnsControllerModule.controllers\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/data_controller/m_data_helper_mixin.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n DataSource\r\n} from \"../../../../data/data_source/data_source\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"../../../../data/data_source/utils\";\r\nimport DataController from \"../../../../ui/collection/data_controller\";\r\nvar DATA_SOURCE_OPTIONS_METHOD = \"_dataSourceOptions\";\r\nvar DATA_SOURCE_CHANGED_METHOD = \"_dataSourceChangedHandler\";\r\nvar DATA_SOURCE_LOAD_ERROR_METHOD = \"_dataSourceLoadErrorHandler\";\r\nvar DATA_SOURCE_LOADING_CHANGED_METHOD = \"_dataSourceLoadingChangedHandler\";\r\nvar DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD = \"_dataSourceFromUrlLoadMode\";\r\nvar SPECIFIC_DATA_SOURCE_OPTION = \"_getSpecificDataSourceOption\";\r\nvar NORMALIZE_DATA_SOURCE = \"_normalizeDataSource\";\r\nexport var DataHelperMixin = Base => class extends Base {\r\n postCtor() {\r\n this.on(\"disposing\", () => {\r\n this._disposeDataSource()\r\n })\r\n }\r\n _refreshDataSource() {\r\n this._initDataSource();\r\n this._loadDataSource()\r\n }\r\n _initDataSource() {\r\n var dataSourceOptions = SPECIFIC_DATA_SOURCE_OPTION in this ? this[SPECIFIC_DATA_SOURCE_OPTION]() : this.option(\"dataSource\");\r\n var widgetDataSourceOptions;\r\n var dataSourceType;\r\n this._disposeDataSource();\r\n if (dataSourceOptions) {\r\n if (dataSourceOptions instanceof DataSource) {\r\n this._isSharedDataSource = true;\r\n this._dataSource = dataSourceOptions\r\n } else {\r\n widgetDataSourceOptions = DATA_SOURCE_OPTIONS_METHOD in this ? this[DATA_SOURCE_OPTIONS_METHOD]() : {};\r\n dataSourceType = this._dataSourceType ? this._dataSourceType() : DataSource;\r\n dataSourceOptions = normalizeDataSourceOptions(dataSourceOptions, {\r\n fromUrlLoadMode: DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD in this && this[DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD]()\r\n });\r\n this._dataSource = new dataSourceType(extend(true, {}, widgetDataSourceOptions, dataSourceOptions))\r\n }\r\n if (NORMALIZE_DATA_SOURCE in this) {\r\n this._dataSource = this[NORMALIZE_DATA_SOURCE](this._dataSource)\r\n }\r\n this._addDataSourceHandlers();\r\n this._initDataController()\r\n }\r\n }\r\n _initDataController() {\r\n var _a;\r\n var dataController = null === (_a = this.option) || void 0 === _a ? void 0 : _a.call(this, \"_dataController\");\r\n var dataSource = this._dataSource;\r\n if (dataController) {\r\n this._dataController = dataController\r\n } else {\r\n this._dataController = new DataController(dataSource)\r\n }\r\n }\r\n _addDataSourceHandlers() {\r\n if (DATA_SOURCE_CHANGED_METHOD in this) {\r\n this._addDataSourceChangeHandler()\r\n }\r\n if (DATA_SOURCE_LOAD_ERROR_METHOD in this) {\r\n this._addDataSourceLoadErrorHandler()\r\n }\r\n if (DATA_SOURCE_LOADING_CHANGED_METHOD in this) {\r\n this._addDataSourceLoadingChangedHandler()\r\n }\r\n this._addReadyWatcher()\r\n }\r\n _addReadyWatcher() {\r\n this.readyWatcher = function(isLoading) {\r\n this._ready && this._ready(!isLoading)\r\n }.bind(this);\r\n this._dataSource.on(\"loadingChanged\", this.readyWatcher)\r\n }\r\n _addDataSourceChangeHandler() {\r\n var dataSource = this._dataSource;\r\n this._proxiedDataSourceChangedHandler = function(e) {\r\n this[DATA_SOURCE_CHANGED_METHOD](dataSource.items(), e)\r\n }.bind(this);\r\n dataSource.on(\"changed\", this._proxiedDataSourceChangedHandler)\r\n }\r\n _addDataSourceLoadErrorHandler() {\r\n this._proxiedDataSourceLoadErrorHandler = this[DATA_SOURCE_LOAD_ERROR_METHOD].bind(this);\r\n this._dataSource.on(\"loadError\", this._proxiedDataSourceLoadErrorHandler)\r\n }\r\n _addDataSourceLoadingChangedHandler() {\r\n this._proxiedDataSourceLoadingChangedHandler = this[DATA_SOURCE_LOADING_CHANGED_METHOD].bind(this);\r\n this._dataSource.on(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n }\r\n _loadDataSource() {\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n if (dataSource.isLoaded()) {\r\n this._proxiedDataSourceChangedHandler && this._proxiedDataSourceChangedHandler()\r\n } else {\r\n dataSource.load()\r\n }\r\n }\r\n }\r\n _loadSingle(key, value) {\r\n key = \"this\" === key ? this._dataSource.key() || \"this\" : key;\r\n return this._dataSource.loadSingle(key, value)\r\n }\r\n _isLastPage() {\r\n return !this._dataSource || this._dataSource.isLastPage() || !this._dataSource._pageSize\r\n }\r\n _isDataSourceLoading() {\r\n return this._dataSource && this._dataSource.isLoading()\r\n }\r\n _disposeDataSource() {\r\n if (this._dataSource) {\r\n if (this._isSharedDataSource) {\r\n delete this._isSharedDataSource;\r\n this._proxiedDataSourceChangedHandler && this._dataSource.off(\"changed\", this._proxiedDataSourceChangedHandler);\r\n this._proxiedDataSourceLoadErrorHandler && this._dataSource.off(\"loadError\", this._proxiedDataSourceLoadErrorHandler);\r\n this._proxiedDataSourceLoadingChangedHandler && this._dataSource.off(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler);\r\n if (this._dataSource._eventsStrategy) {\r\n this._dataSource._eventsStrategy.off(\"loadingChanged\", this.readyWatcher)\r\n }\r\n } else {\r\n this._dataSource.dispose()\r\n }\r\n delete this._dataSource;\r\n delete this._proxiedDataSourceChangedHandler;\r\n delete this._proxiedDataSourceLoadErrorHandler;\r\n delete this._proxiedDataSourceLoadingChangedHandler\r\n }\r\n }\r\n getDataSource() {\r\n return this._dataSource || null\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/data_controller/m_data_controller.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n findChanges\r\n} from \"../../../../core/utils/array_compare\";\r\nimport {\r\n deferRender,\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nimport ArrayStore from \"../../../../data/array_store\";\r\nimport CustomStore from \"../../../../data/custom_store\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n DataHelperMixin\r\n} from \"./m_data_helper_mixin\";\r\nvar changePaging = function(that, optionName, value) {\r\n var dataSource = that._dataSource;\r\n if (dataSource) {\r\n if (void 0 !== value) {\r\n var oldValue = that._getPagingOptionValue(optionName);\r\n if (oldValue !== value) {\r\n if (\"pageSize\" === optionName) {\r\n dataSource.pageIndex(0)\r\n }\r\n dataSource[optionName](value);\r\n that._skipProcessingPagingChange = true;\r\n that.option(\"paging.\".concat(optionName), value);\r\n that._skipProcessingPagingChange = false;\r\n var pageIndex = dataSource.pageIndex();\r\n that._isPaging = \"pageIndex\" === optionName;\r\n return dataSource[\"pageIndex\" === optionName ? \"load\" : \"reload\"]().done(() => {\r\n that._isPaging = false;\r\n that.pageChanged.fire(pageIndex)\r\n })\r\n }\r\n return Deferred().resolve().promise()\r\n }\r\n return dataSource[optionName]()\r\n }\r\n return 0\r\n};\r\nexport class DataController extends(DataHelperMixin(modules.Controller)) {\r\n init() {\r\n this._items = [];\r\n this._cachedProcessedItems = null;\r\n this._columnsController = this.getController(\"columns\");\r\n this._adaptiveColumnsController = this.getController(\"adaptiveColumns\");\r\n this._editingController = this.getController(\"editing\");\r\n this._editorFactoryController = this.getController(\"editorFactory\");\r\n this._errorHandlingController = this.getController(\"errorHandling\");\r\n this._filterSyncController = this.getController(\"filterSync\");\r\n this._applyFilterController = this.getController(\"applyFilter\");\r\n this._keyboardNavigationController = this.getController(\"keyboardNavigation\");\r\n this._focusController = this.getController(\"focus\");\r\n this._headerFilterController = this.getController(\"headerFilter\");\r\n this._selectionController = this.getController(\"selection\");\r\n this._stateStoringController = this.getController(\"stateStoring\");\r\n this._validatingController = this.getController(\"validating\");\r\n this._adaptiveExpandedKey = void 0;\r\n this._isPaging = false;\r\n this._currentOperationTypes = null;\r\n this._dataChangedHandler = e => {\r\n this._currentOperationTypes = this._dataSource.operationTypes();\r\n this._handleDataChanged(e);\r\n this._currentOperationTypes = null\r\n };\r\n this._columnsChangedHandler = this._handleColumnsChanged.bind(this);\r\n this._loadingChangedHandler = this._handleLoadingChanged.bind(this);\r\n this._loadErrorHandler = this._handleLoadError.bind(this);\r\n this._customizeStoreLoadOptionsHandler = this._handleCustomizeStoreLoadOptions.bind(this);\r\n this._changingHandler = this._handleChanging.bind(this);\r\n this._dataPushedHandler = this._handleDataPushed.bind(this);\r\n this._columnsController.columnsChanged.add(this._columnsChangedHandler);\r\n this._isLoading = false;\r\n this._isCustomLoading = false;\r\n this._repaintChangesOnly = void 0;\r\n this._changes = [];\r\n this.createAction(\"onDataErrorOccurred\");\r\n this.dataErrorOccurred.add(error => this.executeAction(\"onDataErrorOccurred\", {\r\n error: error\r\n }));\r\n this._refreshDataSource()\r\n }\r\n _getPagingOptionValue(optionName) {\r\n return this._dataSource[optionName]()\r\n }\r\n callbackNames() {\r\n return [\"changed\", \"loadingChanged\", \"dataErrorOccurred\", \"pageChanged\", \"dataSourceChanged\", \"pushed\"]\r\n }\r\n callbackFlags(name) {\r\n if (\"dataErrorOccurred\" === name) {\r\n return {\r\n stopOnFalse: true\r\n }\r\n }\r\n return\r\n }\r\n publicMethods() {\r\n return [\"_disposeDataSource\", \"beginCustomLoading\", \"byKey\", \"clearFilter\", \"endCustomLoading\", \"filter\", \"getCombinedFilter\", \"getDataByKeys\", \"getDataSource\", \"getKeyByRowIndex\", \"getRowIndexByKey\", \"getVisibleRows\", \"keyOf\", \"pageCount\", \"pageIndex\", \"pageSize\", \"refresh\", \"repaintRows\", \"totalCount\"]\r\n }\r\n reset() {\r\n this._columnsController.reset();\r\n this._items = [];\r\n this._refreshDataSource()\r\n }\r\n _handleDataSourceChange(args) {\r\n if (args.value === args.previousValue || this.option(\"columns\") && Array.isArray(args.value) && Array.isArray(args.previousValue)) {\r\n var isValueChanged = args.value !== args.previousValue;\r\n if (isValueChanged) {\r\n var store = this.store();\r\n if (store) {\r\n store._array = args.value\r\n }\r\n }\r\n if (this.needToRefreshOnDataSourceChange(args)) {\r\n this.refresh(this.option(\"repaintChangesOnly\"))\r\n }\r\n return true\r\n }\r\n return false\r\n }\r\n needToRefreshOnDataSourceChange(args) {\r\n return true\r\n }\r\n optionChanged(args) {\r\n var that = this;\r\n var dataSource;\r\n var changedPagingOptions;\r\n\r\n function handled() {\r\n args.handled = true\r\n }\r\n if (\"dataSource\" === args.name && args.name === args.fullName && this._handleDataSourceChange(args)) {\r\n handled();\r\n return\r\n }\r\n switch (args.name) {\r\n case \"cacheEnabled\":\r\n case \"repaintChangesOnly\":\r\n case \"highlightChanges\":\r\n case \"loadingTimeout\":\r\n handled();\r\n break;\r\n case \"remoteOperations\":\r\n case \"keyExpr\":\r\n case \"dataSource\":\r\n case \"scrolling\":\r\n handled();\r\n that.reset();\r\n break;\r\n case \"paging\":\r\n dataSource = that.dataSource();\r\n if (dataSource) {\r\n changedPagingOptions = that._setPagingOptions(dataSource);\r\n if (changedPagingOptions) {\r\n var pageIndex = dataSource.pageIndex();\r\n this._isPaging = changedPagingOptions.isPageIndexChanged;\r\n dataSource.load().done(() => {\r\n this._isPaging = false;\r\n that.pageChanged.fire(pageIndex)\r\n })\r\n }\r\n }\r\n handled();\r\n break;\r\n case \"rtlEnabled\":\r\n that.reset();\r\n break;\r\n case \"columns\":\r\n dataSource = that.dataSource();\r\n if (dataSource && dataSource.isLoading() && args.name === args.fullName) {\r\n this._useSortingGroupingFromColumns = true;\r\n dataSource.load()\r\n }\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n isReady() {\r\n return !this._isLoading\r\n }\r\n getDataSource() {\r\n return this._dataSource && this._dataSource._dataSource\r\n }\r\n getCombinedFilter(returnDataField) {\r\n return this.combinedFilter(void 0, returnDataField)\r\n }\r\n combinedFilter(filter, returnDataField) {\r\n if (!this._dataSource) {\r\n return filter\r\n }\r\n var combinedFilter = null !== filter && void 0 !== filter ? filter : this._dataSource.filter();\r\n var isColumnsTypesDefined = this._columnsController.isDataSourceApplied() || this._columnsController.isAllDataTypesDefined();\r\n if (isColumnsTypesDefined) {\r\n var additionalFilter = this._calculateAdditionalFilter();\r\n combinedFilter = additionalFilter ? gridCoreUtils.combineFilters([additionalFilter, combinedFilter]) : combinedFilter\r\n }\r\n var isRemoteFiltering = this._dataSource.remoteOperations().filtering || returnDataField;\r\n combinedFilter = this._columnsController.updateFilter(combinedFilter, isRemoteFiltering);\r\n return combinedFilter\r\n }\r\n waitReady() {\r\n if (this._updateLockCount) {\r\n this._readyDeferred = new Deferred;\r\n return this._readyDeferred\r\n }\r\n return when()\r\n }\r\n _endUpdateCore() {\r\n var changes = this._changes;\r\n if (changes.length) {\r\n this._changes = [];\r\n var repaintChangesOnly = changes.every(change => change.repaintChangesOnly);\r\n this.updateItems(1 === changes.length ? changes[0] : {\r\n repaintChangesOnly: repaintChangesOnly\r\n })\r\n }\r\n if (this._readyDeferred) {\r\n this._readyDeferred.resolve();\r\n this._readyDeferred = null\r\n }\r\n }\r\n _handleCustomizeStoreLoadOptions(e) {\r\n var _a;\r\n var columnsController = this._columnsController;\r\n var dataSource = this._dataSource;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = e;\r\n if (e.isCustomLoading && !storeLoadOptions.isLoadingAll) {\r\n return\r\n }\r\n storeLoadOptions.filter = this.combinedFilter(storeLoadOptions.filter);\r\n if (1 === (null === (_a = storeLoadOptions.filter) || void 0 === _a ? void 0 : _a.length) && \"!\" === storeLoadOptions.filter[0]) {\r\n e.data = [];\r\n e.extra = e.extra || {};\r\n e.extra.totalCount = 0\r\n }\r\n if (!columnsController.isDataSourceApplied()) {\r\n columnsController.updateColumnDataTypes(dataSource)\r\n }\r\n this._columnsUpdating = true;\r\n columnsController.updateSortingGrouping(dataSource, !this._useSortingGroupingFromColumns);\r\n this._columnsUpdating = false;\r\n storeLoadOptions.sort = columnsController.getSortDataSourceParameters();\r\n storeLoadOptions.group = columnsController.getGroupDataSourceParameters();\r\n dataSource.sort(storeLoadOptions.sort);\r\n dataSource.group(storeLoadOptions.group);\r\n storeLoadOptions.sort = columnsController.getSortDataSourceParameters(!dataSource.remoteOperations().sorting);\r\n e.group = columnsController.getGroupDataSourceParameters(!dataSource.remoteOperations().grouping)\r\n }\r\n _handleColumnsChanged(e) {\r\n var that = this;\r\n var {\r\n changeTypes: changeTypes\r\n } = e;\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n var filterValue;\r\n var filterValues;\r\n var filterApplied;\r\n if (changeTypes.sorting || changeTypes.grouping) {\r\n if (that._dataSource && !that._columnsUpdating) {\r\n that._dataSource.group(that._columnsController.getGroupDataSourceParameters());\r\n that._dataSource.sort(that._columnsController.getSortDataSourceParameters());\r\n that.reload()\r\n }\r\n } else if (changeTypes.columns) {\r\n filterValues = that._columnsController.columnOption(e.columnIndex, \"filterValues\");\r\n if (optionNames.filterValues || optionNames.filterType && Array.isArray(filterValues) || optionNames.filterValue || optionNames.selectedFilterOperation || optionNames.allowFiltering) {\r\n filterValue = that._columnsController.columnOption(e.columnIndex, \"filterValue\");\r\n if (Array.isArray(filterValues) || void 0 === e.columnIndex || isDefined(filterValue) || !optionNames.selectedFilterOperation || optionNames.filterValue) {\r\n that._applyFilter();\r\n filterApplied = true\r\n }\r\n }\r\n if (!that._needApplyFilter && !gridCoreUtils.checkChanges(optionNames, [\"width\", \"visibleWidth\", \"filterValue\", \"bufferedFilterValue\", \"selectedFilterOperation\", \"filterValues\", \"filterType\"])) {\r\n that._columnsController.columnsChanged.add((function updateItemsHandler(change) {\r\n var _a;\r\n that._columnsController.columnsChanged.remove(updateItemsHandler);\r\n that.updateItems({\r\n repaintChangesOnly: false,\r\n virtualColumnsScrolling: null === (_a = null === change || void 0 === change ? void 0 : change.changeTypes) || void 0 === _a ? void 0 : _a.virtualColumnsScrolling\r\n })\r\n }))\r\n }\r\n if (isDefined(optionNames.visible)) {\r\n var column = that._columnsController.columnOption(e.columnIndex);\r\n if (column && (isDefined(column.filterValue) || isDefined(column.filterValues))) {\r\n that._applyFilter();\r\n filterApplied = true\r\n }\r\n }\r\n }\r\n if (!filterApplied && changeTypes.filtering && !this._needApplyFilter) {\r\n that.reload()\r\n }\r\n }\r\n _handleDataChanged(e) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var columnsController = that._columnsController;\r\n var isAsyncDataSourceApplying = false;\r\n this._useSortingGroupingFromColumns = false;\r\n if (dataSource && !that._isDataSourceApplying) {\r\n that._isDataSourceApplying = true;\r\n when(that._columnsController.applyDataSource(dataSource)).done(() => {\r\n if (that._isLoading) {\r\n that._handleLoadingChanged(false)\r\n }\r\n if (isAsyncDataSourceApplying && e && e.isDelayed) {\r\n e.isDelayed = false\r\n }\r\n that._isDataSourceApplying = false;\r\n var needApplyFilter = that._needApplyFilter;\r\n that._needApplyFilter = false;\r\n if (needApplyFilter && !that._isAllDataTypesDefined && (additionalFilter = that._calculateAdditionalFilter(), additionalFilter && additionalFilter.length)) {\r\n errors.log(\"W1005\", that.component.NAME);\r\n that._applyFilter()\r\n } else {\r\n that.updateItems(e, true)\r\n }\r\n var additionalFilter\r\n }).fail(() => {\r\n that._isDataSourceApplying = false\r\n });\r\n if (that._isDataSourceApplying) {\r\n isAsyncDataSourceApplying = true;\r\n that._handleLoadingChanged(true)\r\n }\r\n that._needApplyFilter = !that._columnsController.isDataSourceApplied();\r\n that._isAllDataTypesDefined = columnsController.isAllDataTypesDefined()\r\n }\r\n }\r\n _handleLoadingChanged(isLoading) {\r\n this._isLoading = isLoading;\r\n this._fireLoadingChanged()\r\n }\r\n _handleLoadError(e) {\r\n this.dataErrorOccurred.fire(e)\r\n }\r\n _handleDataPushed(changes) {\r\n this.pushed.fire(changes)\r\n }\r\n fireError() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n this.dataErrorOccurred.fire(errors.Error.apply(errors, args))\r\n }\r\n _setPagingOptions(dataSource) {\r\n var pageIndex = this.option(\"paging.pageIndex\");\r\n var pageSize = this.option(\"paging.pageSize\");\r\n var pagingEnabled = this.option(\"paging.enabled\");\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n var appendMode = \"infinite\" === scrollingMode;\r\n var virtualMode = \"virtual\" === scrollingMode;\r\n var paginate = pagingEnabled || virtualMode || appendMode;\r\n var isPaginateChanged = false;\r\n var isPageSizeChanged = false;\r\n var isPageIndexChanged = false;\r\n dataSource.requireTotalCount(!appendMode);\r\n if (void 0 !== pagingEnabled && dataSource.paginate() !== paginate) {\r\n dataSource.paginate(paginate);\r\n isPaginateChanged = true\r\n }\r\n if (void 0 !== pageSize && dataSource.pageSize() !== pageSize) {\r\n dataSource.pageSize(pageSize);\r\n isPageSizeChanged = true\r\n }\r\n if (void 0 !== pageIndex && dataSource.pageIndex() !== pageIndex) {\r\n dataSource.pageIndex(pageIndex);\r\n isPageIndexChanged = true\r\n }\r\n if (isPaginateChanged || isPageSizeChanged || isPageIndexChanged) {\r\n return {\r\n isPaginateChanged: isPaginateChanged,\r\n isPageSizeChanged: isPageSizeChanged,\r\n isPageIndexChanged: isPageIndexChanged\r\n }\r\n }\r\n return false\r\n }\r\n _getSpecificDataSourceOption() {\r\n var dataSource = this.option(\"dataSource\");\r\n if (Array.isArray(dataSource)) {\r\n return {\r\n store: {\r\n type: \"array\",\r\n data: dataSource,\r\n key: this.option(\"keyExpr\")\r\n }\r\n }\r\n }\r\n return dataSource\r\n }\r\n _initDataSource() {\r\n var oldDataSource = this._dataSource;\r\n super._initDataSource();\r\n var dataSource = this._dataSource;\r\n this._useSortingGroupingFromColumns = true;\r\n this._cachedProcessedItems = null;\r\n if (dataSource) {\r\n var changedPagingOptions = this._setPagingOptions(dataSource);\r\n this._isPaging = null === changedPagingOptions || void 0 === changedPagingOptions ? void 0 : changedPagingOptions.isPageIndexChanged;\r\n this.setDataSource(dataSource)\r\n } else if (oldDataSource) {\r\n this.updateItems()\r\n }\r\n }\r\n _loadDataSource() {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var result = new Deferred;\r\n when(this._columnsController.refresh(true)).always(() => {\r\n if (dataSource) {\r\n dataSource.load().done((function() {\r\n that._isPaging = false;\r\n result.resolve.apply(result, arguments)\r\n })).fail(result.reject)\r\n } else {\r\n result.resolve()\r\n }\r\n });\r\n return result.promise()\r\n }\r\n _beforeProcessItems(items) {\r\n return items.slice(0)\r\n }\r\n getRowIndexDelta() {\r\n return 0\r\n }\r\n getDataIndex(change) {\r\n var visibleItems = this._items;\r\n var lastVisibleItem = \"append\" === change.changeType && visibleItems.length > 0 ? visibleItems[visibleItems.length - 1] : null;\r\n return isDefined(null === lastVisibleItem || void 0 === lastVisibleItem ? void 0 : lastVisibleItem.dataIndex) ? lastVisibleItem.dataIndex + 1 : 0\r\n }\r\n _processItems(items, change) {\r\n var that = this;\r\n var rowIndexDelta = that.getRowIndexDelta();\r\n var {\r\n changeType: changeType\r\n } = change;\r\n var visibleColumns = that._columnsController.getVisibleColumns(null, \"loadingAll\" === changeType);\r\n var dataIndex = this.getDataIndex(change);\r\n var options = {\r\n visibleColumns: visibleColumns,\r\n dataIndex: dataIndex\r\n };\r\n var result = [];\r\n each(items, (index, item) => {\r\n if (isDefined(item)) {\r\n options.rowIndex = index - rowIndexDelta;\r\n item = that._processItem(item, options);\r\n result.push(item)\r\n }\r\n });\r\n return result\r\n }\r\n _processItem(item, options) {\r\n item = this._generateDataItem(item, options);\r\n item = this._processDataItem(item, options);\r\n item.dataIndex = options.dataIndex++;\r\n return item\r\n }\r\n _generateDataItem(data, options) {\r\n return {\r\n rowType: \"data\",\r\n data: data,\r\n key: this.keyOf(data)\r\n }\r\n }\r\n _processDataItem(dataItem, options) {\r\n dataItem.values = this.generateDataValues(dataItem.data, options.visibleColumns);\r\n return dataItem\r\n }\r\n generateDataValues(data, columns, isModified) {\r\n var values = [];\r\n var value;\r\n for (var i = 0; i < columns.length; i++) {\r\n var column = columns[i];\r\n value = isModified ? void 0 : null;\r\n if (!column.command) {\r\n if (column.calculateCellValue) {\r\n value = column.calculateCellValue(data)\r\n } else if (column.dataField) {\r\n value = data[column.dataField]\r\n }\r\n }\r\n values.push(value)\r\n }\r\n return values\r\n }\r\n _applyChange(change) {\r\n if (\"update\" === change.changeType) {\r\n this._applyChangeUpdate(change)\r\n } else if (this.items().length && change.repaintChangesOnly && \"refresh\" === change.changeType) {\r\n this._applyChangesOnly(change)\r\n } else if (\"refresh\" === change.changeType) {\r\n this._applyChangeFull(change)\r\n }\r\n }\r\n _applyChangeFull(change) {\r\n this._items = change.items.slice(0)\r\n }\r\n _getRowIndices(change) {\r\n var rowIndices = change.rowIndices.slice(0);\r\n var rowIndexDelta = this.getRowIndexDelta();\r\n rowIndices.sort((a, b) => a - b);\r\n for (var i = 0; i < rowIndices.length; i++) {\r\n var correctedRowIndex = rowIndices[i];\r\n if (change.allowInvisibleRowIndices) {\r\n correctedRowIndex += rowIndexDelta\r\n }\r\n if (correctedRowIndex < 0) {\r\n rowIndices.splice(i, 1);\r\n i--\r\n }\r\n }\r\n return rowIndices\r\n }\r\n _applyChangeUpdate(change) {\r\n var that = this;\r\n var {\r\n items: items\r\n } = change;\r\n var rowIndices = that._getRowIndices(change);\r\n var rowIndexDelta = that.getRowIndexDelta();\r\n var repaintChangesOnly = that.option(\"repaintChangesOnly\");\r\n var prevIndex = -1;\r\n var rowIndexCorrection = 0;\r\n var changeType;\r\n change.items = [];\r\n change.rowIndices = [];\r\n change.columnIndices = [];\r\n change.changeTypes = [];\r\n var equalItems = function(item1, item2, strict) {\r\n var result = item1 && item2 && equalByValue(item1.key, item2.key);\r\n if (result && strict) {\r\n result = item1.rowType === item2.rowType && (\"detail\" !== item2.rowType || item1.isEditing === item2.isEditing)\r\n }\r\n return result\r\n };\r\n each(rowIndices, (index, rowIndex) => {\r\n var columnIndices;\r\n rowIndex += rowIndexCorrection + rowIndexDelta;\r\n if (prevIndex === rowIndex) {\r\n return\r\n }\r\n prevIndex = rowIndex;\r\n var oldItem = that._items[rowIndex];\r\n var oldNextItem = that._items[rowIndex + 1];\r\n var newItem = items[rowIndex];\r\n var newNextItem = items[rowIndex + 1];\r\n var strict = equalItems(oldItem, oldNextItem) || equalItems(newItem, newNextItem);\r\n if (newItem) {\r\n newItem.rowIndex = rowIndex;\r\n change.items.push(newItem)\r\n }\r\n if (oldItem && newItem && equalItems(oldItem, newItem, strict)) {\r\n changeType = \"update\";\r\n that._items[rowIndex] = newItem;\r\n if (oldItem.visible !== newItem.visible) {\r\n change.items.splice(-1, 1, {\r\n visible: newItem.visible\r\n })\r\n } else if (repaintChangesOnly && !change.isFullUpdate) {\r\n columnIndices = that._partialUpdateRow(oldItem, newItem, rowIndex - rowIndexDelta)\r\n }\r\n } else if (newItem && !oldItem || newNextItem && equalItems(oldItem, newNextItem, strict)) {\r\n changeType = \"insert\";\r\n that._items.splice(rowIndex, 0, newItem);\r\n rowIndexCorrection++\r\n } else if (oldItem && !newItem || oldNextItem && equalItems(newItem, oldNextItem, strict)) {\r\n changeType = \"remove\";\r\n that._items.splice(rowIndex, 1);\r\n rowIndexCorrection--;\r\n prevIndex = -1\r\n } else if (newItem) {\r\n changeType = \"update\";\r\n that._items[rowIndex] = newItem\r\n } else {\r\n return\r\n }\r\n change.rowIndices.push(rowIndex - rowIndexDelta);\r\n change.changeTypes.push(changeType);\r\n change.columnIndices.push(columnIndices)\r\n })\r\n }\r\n _isCellChanged(oldRow, newRow, visibleRowIndex, columnIndex, isLiveUpdate) {\r\n if (JSON.stringify(oldRow.values[columnIndex]) !== JSON.stringify(newRow.values[columnIndex])) {\r\n return true\r\n }\r\n\r\n function isCellModified(row, columnIndex) {\r\n return row.modifiedValues ? void 0 !== row.modifiedValues[columnIndex] : false\r\n }\r\n if (isCellModified(oldRow, columnIndex) !== isCellModified(newRow, columnIndex)) {\r\n return true\r\n }\r\n return false\r\n }\r\n _getChangedColumnIndices(oldItem, newItem, visibleRowIndex, isLiveUpdate) {\r\n var columnIndices;\r\n if (oldItem.rowType === newItem.rowType) {\r\n if (\"group\" !== newItem.rowType && \"groupFooter\" !== newItem.rowType) {\r\n columnIndices = [];\r\n if (\"detail\" !== newItem.rowType) {\r\n for (var columnIndex = 0; columnIndex < oldItem.values.length; columnIndex++) {\r\n if (this._isCellChanged(oldItem, newItem, visibleRowIndex, columnIndex, isLiveUpdate)) {\r\n columnIndices.push(columnIndex)\r\n }\r\n }\r\n }\r\n }\r\n if (\"group\" === newItem.rowType && oldItem.cells) {\r\n var isRowStateEquals = newItem.isExpanded === oldItem.isExpanded && newItem.data.isContinuation === oldItem.data.isContinuation && newItem.data.isContinuationOnNextPage === oldItem.data.isContinuationOnNextPage;\r\n if (isRowStateEquals) {\r\n columnIndices = oldItem.cells.map((cell, index) => {\r\n var _a;\r\n return \"groupExpand\" !== (null === (_a = cell.column) || void 0 === _a ? void 0 : _a.type) ? index : -1\r\n }).filter(index => index >= 0)\r\n }\r\n }\r\n }\r\n return columnIndices\r\n }\r\n _partialUpdateRow(oldItem, newItem, visibleRowIndex, isLiveUpdate) {\r\n var changedColumnIndices = this._getChangedColumnIndices(oldItem, newItem, visibleRowIndex, isLiveUpdate);\r\n if ((null === changedColumnIndices || void 0 === changedColumnIndices ? void 0 : changedColumnIndices.length) && this.option(\"dataRowTemplate\")) {\r\n changedColumnIndices = void 0\r\n }\r\n if (changedColumnIndices) {\r\n oldItem.cells && oldItem.cells.forEach((cell, columnIndex) => {\r\n var isCellChanged = changedColumnIndices.indexOf(columnIndex) >= 0;\r\n if (!isCellChanged && cell && cell.update) {\r\n cell.update(newItem)\r\n }\r\n });\r\n newItem.update = oldItem.update;\r\n newItem.watch = oldItem.watch;\r\n newItem.cells = oldItem.cells;\r\n if (isLiveUpdate) {\r\n newItem.oldValues = oldItem.values\r\n }\r\n oldItem.update && oldItem.update(newItem)\r\n }\r\n return changedColumnIndices\r\n }\r\n _isItemEquals(item1, item2) {\r\n var _a, _b, _c, _d;\r\n if (JSON.stringify(item1.values) !== JSON.stringify(item2.values)) {\r\n return false\r\n }\r\n if ([\"modified\", \"isNewRow\", \"removed\", \"isEditing\"].some(field => item1[field] !== item2[field])) {\r\n return false\r\n }\r\n if (\"group\" === item1.rowType || \"groupFooter\" === item1.rowType) {\r\n var expandedMatch = item1.isExpanded === item2.isExpanded;\r\n var summaryCellsMatch = JSON.stringify(item1.summaryCells) === JSON.stringify(item2.summaryCells);\r\n var continuationMatch = (null === (_a = item1.data) || void 0 === _a ? void 0 : _a.isContinuation) === (null === (_b = item2.data) || void 0 === _b ? void 0 : _b.isContinuation) && (null === (_c = item1.data) || void 0 === _c ? void 0 : _c.isContinuationOnNextPage) === (null === (_d = item2.data) || void 0 === _d ? void 0 : _d.isContinuationOnNextPage);\r\n if (!expandedMatch || !summaryCellsMatch || !continuationMatch) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n _applyChangesOnly(change) {\r\n var _a;\r\n var rowIndices = [];\r\n var columnIndices = [];\r\n var changeTypes = [];\r\n var items = [];\r\n var newIndexByKey = {};\r\n var isLiveUpdate = null !== (_a = null === change || void 0 === change ? void 0 : change.isLiveUpdate) && void 0 !== _a ? _a : true;\r\n\r\n function getRowKey(row) {\r\n if (row) {\r\n return \"\".concat(row.rowType, \",\").concat(JSON.stringify(row.key))\r\n }\r\n return\r\n }\r\n var currentItems = this._items;\r\n var oldItems = currentItems.slice();\r\n change.items.forEach((item, index) => {\r\n var key = getRowKey(item);\r\n newIndexByKey[key] = index;\r\n item.rowIndex = index\r\n });\r\n var result = findChanges(oldItems, change.items, getRowKey, (item1, item2) => {\r\n if (!this._isItemEquals(item1, item2)) {\r\n return false\r\n }\r\n if (item1.cells) {\r\n item1.update && item1.update(item2);\r\n item1.cells.forEach(cell => {\r\n if (cell && cell.update) {\r\n cell.update(item2, true)\r\n }\r\n })\r\n }\r\n return true\r\n });\r\n if (!result) {\r\n this._applyChangeFull(change);\r\n return\r\n }\r\n result.forEach(change => {\r\n switch (change.type) {\r\n case \"update\":\r\n var {\r\n index: index\r\n } = change;\r\n var newItem = change.data;\r\n var {\r\n oldItem: oldItem\r\n } = change;\r\n var changedColumnIndices = this._partialUpdateRow(oldItem, newItem, index, isLiveUpdate);\r\n rowIndices.push(index);\r\n changeTypes.push(\"update\");\r\n items.push(newItem);\r\n currentItems[index] = newItem;\r\n columnIndices.push(changedColumnIndices);\r\n break;\r\n case \"insert\":\r\n rowIndices.push(change.index);\r\n changeTypes.push(\"insert\");\r\n items.push(change.data);\r\n columnIndices.push(void 0);\r\n currentItems.splice(change.index, 0, change.data);\r\n break;\r\n case \"remove\":\r\n rowIndices.push(change.index);\r\n changeTypes.push(\"remove\");\r\n currentItems.splice(change.index, 1);\r\n items.push(change.oldItem);\r\n columnIndices.push(void 0)\r\n }\r\n });\r\n change.repaintChangesOnly = true;\r\n change.changeType = \"update\";\r\n change.rowIndices = rowIndices;\r\n change.columnIndices = columnIndices;\r\n change.changeTypes = changeTypes;\r\n change.items = items;\r\n if (oldItems.length) {\r\n change.isLiveUpdate = true\r\n }\r\n this._correctRowIndices(rowIndex => {\r\n var oldRowIndexOffset = this._rowIndexOffset || 0;\r\n var rowIndexOffset = this.getRowIndexOffset();\r\n var oldItem = oldItems[rowIndex - oldRowIndexOffset];\r\n var key = getRowKey(oldItem);\r\n var newVisibleRowIndex = newIndexByKey[key];\r\n return newVisibleRowIndex >= 0 ? newVisibleRowIndex + rowIndexOffset - rowIndex : 0\r\n })\r\n }\r\n _correctRowIndices(rowIndex) {}\r\n _afterProcessItems(items, change) {\r\n return items\r\n }\r\n _updateItemsCore(change) {\r\n var items;\r\n var dataSource = this._dataSource;\r\n var changeType = change.changeType || \"refresh\";\r\n change.changeType = changeType;\r\n if (dataSource) {\r\n var cachedProcessedItems = this._cachedProcessedItems;\r\n if (change.useProcessedItemsCache && cachedProcessedItems) {\r\n items = cachedProcessedItems\r\n } else {\r\n items = change.items || dataSource.items();\r\n items = this._beforeProcessItems(items);\r\n items = this._processItems(items, change);\r\n this._cachedProcessedItems = items\r\n }\r\n items = this._afterProcessItems(items, change);\r\n change.items = items;\r\n var oldItems = this._items.length === items.length && this._items;\r\n this._applyChange(change);\r\n var rowIndexDelta = this.getRowIndexDelta();\r\n each(this._items, (index, item) => {\r\n var _a;\r\n item.rowIndex = index - rowIndexDelta;\r\n if (oldItems) {\r\n item.cells = null !== (_a = oldItems[index].cells) && void 0 !== _a ? _a : []\r\n }\r\n var newItem = items[index];\r\n if (newItem) {\r\n item.loadIndex = newItem.loadIndex\r\n }\r\n });\r\n this._rowIndexOffset = this.getRowIndexOffset()\r\n } else {\r\n this._items = []\r\n }\r\n }\r\n _handleChanging(e) {\r\n var rows = this.getVisibleRows();\r\n var dataSource = this.dataSource();\r\n if (dataSource) {\r\n e.changes.forEach(change => {\r\n if (\"insert\" === change.type && change.index >= 0) {\r\n var dataIndex = 0;\r\n for (var i = 0; i < change.index; i++) {\r\n var row = rows[i];\r\n if (row && (\"data\" === row.rowType || \"group\" === row.rowType)) {\r\n dataIndex++\r\n }\r\n }\r\n change.index = dataIndex\r\n }\r\n })\r\n }\r\n }\r\n updateItems(change, isDataChanged) {\r\n var _a;\r\n change = change || {};\r\n if (void 0 !== this._repaintChangesOnly) {\r\n change.repaintChangesOnly = null !== (_a = change.repaintChangesOnly) && void 0 !== _a ? _a : this._repaintChangesOnly;\r\n change.needUpdateDimensions = change.needUpdateDimensions || this._needUpdateDimensions\r\n } else if (change.changes) {\r\n change.repaintChangesOnly = this.option(\"repaintChangesOnly\")\r\n } else if (isDataChanged) {\r\n var operationTypes = this.dataSource().operationTypes();\r\n change.repaintChangesOnly = operationTypes && !operationTypes.grouping && !operationTypes.filtering && this.option(\"repaintChangesOnly\");\r\n change.isDataChanged = true;\r\n if (operationTypes && (operationTypes.reload || operationTypes.paging || operationTypes.groupExpanding)) {\r\n change.needUpdateDimensions = true\r\n }\r\n }\r\n if (this._updateLockCount && !change.cancel) {\r\n this._changes.push(change);\r\n return\r\n }\r\n this._updateItemsCore(change);\r\n if (change.cancel) {\r\n return\r\n }\r\n this._fireChanged(change)\r\n }\r\n loadingOperationTypes() {\r\n var dataSource = this.dataSource();\r\n return dataSource && dataSource.loadingOperationTypes() || {}\r\n }\r\n _fireChanged(change) {\r\n if (this._currentOperationTypes) {\r\n change.operationTypes = this._currentOperationTypes;\r\n this._currentOperationTypes = null\r\n }\r\n deferRender(() => {\r\n this.changed.fire(change)\r\n })\r\n }\r\n isLoading() {\r\n return this._isLoading || this._isCustomLoading\r\n }\r\n _fireLoadingChanged() {\r\n this.loadingChanged.fire(this.isLoading(), this._loadingText)\r\n }\r\n _calculateAdditionalFilter() {\r\n return null\r\n }\r\n _applyFilter() {\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n dataSource.pageIndex(0);\r\n this._isFilterApplying = true;\r\n return this.reload().done(() => {\r\n if (this._isFilterApplying) {\r\n this.pageChanged.fire()\r\n }\r\n })\r\n }\r\n return (new Deferred).resolve()\r\n }\r\n resetFilterApplying() {\r\n this._isFilterApplying = false\r\n }\r\n filter(filterExpr) {\r\n var dataSource = this._dataSource;\r\n var filter = dataSource && dataSource.filter();\r\n if (0 === arguments.length) {\r\n return filter\r\n }\r\n filterExpr = arguments.length > 1 ? Array.prototype.slice.call(arguments, 0) : filterExpr;\r\n if (gridCoreUtils.equalFilterParameters(filter, filterExpr)) {\r\n return\r\n }\r\n if (dataSource) {\r\n dataSource.filter(filterExpr)\r\n }\r\n this._applyFilter()\r\n }\r\n clearFilter(filterName) {\r\n var columnsController = this._columnsController;\r\n var clearColumnOption = function(optionName) {\r\n var columnCount = columnsController.columnCount();\r\n for (var index = 0; index < columnCount; index++) {\r\n columnsController.columnOption(index, optionName, void 0)\r\n }\r\n };\r\n this.component.beginUpdate();\r\n if (arguments.length > 0) {\r\n switch (filterName) {\r\n case \"dataSource\":\r\n this.filter(null);\r\n break;\r\n case \"search\":\r\n this.searchByText(\"\");\r\n break;\r\n case \"header\":\r\n clearColumnOption(\"filterValues\");\r\n break;\r\n case \"row\":\r\n clearColumnOption(\"filterValue\")\r\n }\r\n } else {\r\n this.filter(null);\r\n this.searchByText(\"\");\r\n clearColumnOption(\"filterValue\");\r\n clearColumnOption(\"bufferedFilterValue\");\r\n clearColumnOption(\"filterValues\")\r\n }\r\n this.component.endUpdate()\r\n }\r\n _fireDataSourceChanged() {\r\n var that = this;\r\n that.changed.add((function changedHandler() {\r\n that.changed.remove(changedHandler);\r\n that.dataSourceChanged.fire()\r\n }))\r\n }\r\n _getDataSourceAdapter() {}\r\n _createDataSourceAdapterCore(dataSource, remoteOperations) {\r\n var dataSourceAdapterProvider = this._getDataSourceAdapter();\r\n var dataSourceAdapter = dataSourceAdapterProvider.create(this.component);\r\n dataSourceAdapter.init(dataSource, remoteOperations);\r\n return dataSourceAdapter\r\n }\r\n isLocalStore() {\r\n var store = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.store();\r\n return store instanceof ArrayStore\r\n }\r\n isCustomStore(store) {\r\n store = store || this.store();\r\n return store instanceof CustomStore\r\n }\r\n _createDataSourceAdapter(dataSource) {\r\n var remoteOperations = this.option(\"remoteOperations\");\r\n var store = dataSource.store();\r\n var enabledRemoteOperations = {\r\n filtering: true,\r\n sorting: true,\r\n paging: true,\r\n grouping: true,\r\n summary: true\r\n };\r\n if (isObject(remoteOperations) && remoteOperations.groupPaging) {\r\n remoteOperations = extend({}, enabledRemoteOperations, remoteOperations)\r\n }\r\n if (\"auto\" === remoteOperations) {\r\n remoteOperations = this.isLocalStore(store) || this.isCustomStore(store) ? {} : {\r\n filtering: true,\r\n sorting: true,\r\n paging: true\r\n }\r\n }\r\n if (true === remoteOperations) {\r\n remoteOperations = enabledRemoteOperations\r\n }\r\n return this._createDataSourceAdapterCore(dataSource, remoteOperations)\r\n }\r\n setDataSource(dataSource) {\r\n var oldDataSource = this._dataSource;\r\n if (!dataSource && oldDataSource) {\r\n oldDataSource.cancelAll();\r\n oldDataSource.changed.remove(this._dataChangedHandler);\r\n oldDataSource.loadingChanged.remove(this._loadingChangedHandler);\r\n oldDataSource.loadError.remove(this._loadErrorHandler);\r\n oldDataSource.customizeStoreLoadOptions.remove(this._customizeStoreLoadOptionsHandler);\r\n oldDataSource.changing.remove(this._changingHandler);\r\n oldDataSource.pushed.remove(this._dataPushedHandler);\r\n oldDataSource.dispose(this._isSharedDataSource)\r\n }\r\n if (dataSource) {\r\n dataSource = this._createDataSourceAdapter(dataSource)\r\n }\r\n this._dataSource = dataSource;\r\n if (dataSource) {\r\n this._fireDataSourceChanged();\r\n this._isLoading = !dataSource.isLoaded();\r\n this._needApplyFilter = true;\r\n this._isAllDataTypesDefined = this._columnsController.isAllDataTypesDefined();\r\n dataSource.changed.add(this._dataChangedHandler);\r\n dataSource.loadingChanged.add(this._loadingChangedHandler);\r\n dataSource.loadError.add(this._loadErrorHandler);\r\n dataSource.customizeStoreLoadOptions.add(this._customizeStoreLoadOptionsHandler);\r\n dataSource.changing.add(this._changingHandler);\r\n dataSource.pushed.add(this._dataPushedHandler)\r\n }\r\n }\r\n items(byLoaded) {\r\n return this._items\r\n }\r\n isEmpty() {\r\n return !this.items().length\r\n }\r\n pageCount() {\r\n return this._dataSource ? this._dataSource.pageCount() : 1\r\n }\r\n dataSource() {\r\n return this._dataSource\r\n }\r\n store() {\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.store()\r\n }\r\n loadAll(data) {\r\n var skipFilter = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false;\r\n var that = this;\r\n var d = new Deferred;\r\n var dataSource = that._dataSource;\r\n if (dataSource) {\r\n if (data) {\r\n var options = {\r\n data: data,\r\n isCustomLoading: true,\r\n storeLoadOptions: {\r\n isLoadingAll: true\r\n },\r\n loadOptions: {\r\n filter: skipFilter ? null : that.getCombinedFilter(),\r\n group: dataSource.group(),\r\n sort: dataSource.sort()\r\n }\r\n };\r\n dataSource._handleDataLoaded(options);\r\n when(options.data).done(data => {\r\n var _a;\r\n data = that._beforeProcessItems(data);\r\n d.resolve(that._processItems(data, {\r\n changeType: \"loadingAll\"\r\n }), null === (_a = options.extra) || void 0 === _a ? void 0 : _a.summary)\r\n }).fail(d.reject)\r\n } else if (!dataSource.isLoading()) {\r\n var loadOptions = extend({}, dataSource.loadOptions(), {\r\n isLoadingAll: true,\r\n requireTotalCount: false\r\n });\r\n dataSource.load(loadOptions).done((items, extra) => {\r\n items = that._beforeProcessItems(items);\r\n items = that._processItems(items, {\r\n changeType: \"loadingAll\"\r\n });\r\n d.resolve(items, extra && extra.summary)\r\n }).fail(d.reject)\r\n } else {\r\n d.reject()\r\n }\r\n } else {\r\n d.resolve([])\r\n }\r\n return d\r\n }\r\n getKeyByRowIndex(rowIndex, byLoaded) {\r\n var item = this.items(byLoaded)[rowIndex];\r\n if (item) {\r\n return item.key\r\n }\r\n }\r\n getRowIndexByKey(key, byLoaded) {\r\n return gridCoreUtils.getIndexByKey(key, this.items(byLoaded))\r\n }\r\n keyOf(data) {\r\n var store = this.store();\r\n if (store) {\r\n return store.keyOf(data)\r\n }\r\n }\r\n byKey(key) {\r\n var store = this.store();\r\n var rowIndex = this.getRowIndexByKey(key);\r\n var result;\r\n if (!store) {\r\n return\r\n }\r\n if (rowIndex >= 0) {\r\n result = (new Deferred).resolve(this.items()[rowIndex].data)\r\n }\r\n return result || store.byKey(key)\r\n }\r\n key() {\r\n var store = this.store();\r\n if (store) {\r\n return store.key()\r\n }\r\n }\r\n getRowIndexOffset(byLoadedRows) {\r\n return 0\r\n }\r\n getDataByKeys(rowKeys) {\r\n var that = this;\r\n var result = new Deferred;\r\n var deferreds = [];\r\n var data = [];\r\n each(rowKeys, (index, key) => {\r\n deferreds.push(that.byKey(key).done(keyData => {\r\n data[index] = keyData\r\n }))\r\n });\r\n when.apply($, deferreds).always(() => {\r\n result.resolve(data)\r\n });\r\n return result\r\n }\r\n pageIndex(value) {\r\n return changePaging(this, \"pageIndex\", value)\r\n }\r\n pageSize(value) {\r\n return changePaging(this, \"pageSize\", value)\r\n }\r\n beginCustomLoading(messageText) {\r\n this._isCustomLoading = true;\r\n this._loadingText = messageText || \"\";\r\n this._fireLoadingChanged()\r\n }\r\n endCustomLoading() {\r\n this._isCustomLoading = false;\r\n this._loadingText = void 0;\r\n this._fireLoadingChanged()\r\n }\r\n refresh(options) {\r\n if (true === options) {\r\n options = {\r\n reload: true,\r\n changesOnly: true\r\n }\r\n } else if (!options) {\r\n options = {\r\n lookup: true,\r\n selection: true,\r\n reload: true\r\n }\r\n }\r\n var that = this;\r\n var dataSource = that.getDataSource();\r\n var {\r\n changesOnly: changesOnly\r\n } = options;\r\n var d = new Deferred;\r\n var customizeLoadResult = function() {\r\n that._repaintChangesOnly = !!changesOnly\r\n };\r\n when(!options.lookup || that._columnsController.refresh()).always(() => {\r\n if (options.load || options.reload) {\r\n dataSource && dataSource.on(\"customizeLoadResult\", customizeLoadResult);\r\n when(that.reload(options.reload, changesOnly)).always(() => {\r\n dataSource && dataSource.off(\"customizeLoadResult\", customizeLoadResult);\r\n that._repaintChangesOnly = void 0\r\n }).done(d.resolve).fail(d.reject)\r\n } else {\r\n that.updateItems({\r\n repaintChangesOnly: options.changesOnly\r\n });\r\n d.resolve()\r\n }\r\n });\r\n return d.promise()\r\n }\r\n getVisibleRows() {\r\n return this.items()\r\n }\r\n _disposeDataSource() {\r\n this.setDataSource(null)\r\n }\r\n dispose() {\r\n this._disposeDataSource();\r\n super.dispose()\r\n }\r\n repaintRows(rowIndexes, changesOnly) {\r\n rowIndexes = Array.isArray(rowIndexes) ? rowIndexes : [rowIndexes];\r\n if (rowIndexes.length > 1 || isDefined(rowIndexes[0])) {\r\n this.updateItems({\r\n changeType: \"update\",\r\n rowIndices: rowIndexes,\r\n isFullUpdate: !changesOnly\r\n })\r\n }\r\n }\r\n skipProcessingPagingChange(fullName) {\r\n return this._skipProcessingPagingChange && (\"paging.pageIndex\" === fullName || \"paging.pageSize\" === fullName)\r\n }\r\n getUserState() {\r\n return {\r\n searchText: this.option(\"searchPanel.text\"),\r\n pageIndex: this.pageIndex(),\r\n pageSize: this.pageSize()\r\n }\r\n }\r\n getCachedStoreData() {\r\n return this._dataSource && this._dataSource.getCachedStoreData()\r\n }\r\n isLastPageLoaded() {\r\n var pageIndex = this.pageIndex();\r\n var pageCount = this.pageCount();\r\n return pageIndex === pageCount - 1\r\n }\r\n load() {\r\n var _a;\r\n return null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.load()\r\n }\r\n reload(reload, changesOnly) {\r\n var _a;\r\n return null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.reload(reload, changesOnly)\r\n }\r\n push() {\r\n var _a;\r\n return null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.push(...arguments)\r\n }\r\n itemsCount() {\r\n var _a;\r\n return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.itemsCount() : 0\r\n }\r\n totalItemsCount() {\r\n var _a;\r\n return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.totalItemsCount() : 0\r\n }\r\n hasKnownLastPage() {\r\n var _a;\r\n return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.hasKnownLastPage() : true\r\n }\r\n isLoaded() {\r\n var _a;\r\n return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.isLoaded() : true\r\n }\r\n totalCount() {\r\n var _a;\r\n return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.totalCount() : 0\r\n }\r\n hasLoadOperation() {\r\n var _a, _b;\r\n var operationTypes = null !== (_b = null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.operationTypes()) && void 0 !== _b ? _b : {};\r\n return Object.keys(operationTypes).some(type => operationTypes[type])\r\n }\r\n}\r\nexport var dataControllerModule = {\r\n defaultOptions: () => ({\r\n loadingTimeout: 0,\r\n dataSource: null,\r\n cacheEnabled: true,\r\n repaintChangesOnly: false,\r\n highlightChanges: false,\r\n onDataErrorOccurred: null,\r\n remoteOperations: \"auto\",\r\n paging: {\r\n enabled: true,\r\n pageSize: void 0,\r\n pageIndex: void 0\r\n }\r\n }),\r\n controllers: {\r\n data: DataController\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/data_source_adapter/m_data_source_adapter_utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n executeAsync\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nexport var cloneItems = function cloneItems(items, groupCount) {\r\n if (items) {\r\n items = items.slice(0);\r\n if (groupCount) {\r\n for (var i = 0; i < items.length; i++) {\r\n items[i] = extend({\r\n key: items[i].key\r\n }, items[i]);\r\n items[i].items = cloneItems(items[i].items, groupCount - 1)\r\n }\r\n }\r\n }\r\n return items\r\n};\r\nexport var calculateOperationTypes = function(loadOptions, lastLoadOptions, isFullReload) {\r\n var operationTypes = {\r\n reload: true,\r\n fullReload: true\r\n };\r\n if (lastLoadOptions) {\r\n operationTypes = {\r\n sorting: !gridCoreUtils.equalSortParameters(loadOptions.sort, lastLoadOptions.sort),\r\n grouping: !gridCoreUtils.equalSortParameters(loadOptions.group, lastLoadOptions.group, true),\r\n groupExpanding: !gridCoreUtils.equalSortParameters(loadOptions.group, lastLoadOptions.group) || lastLoadOptions.groupExpand,\r\n filtering: !gridCoreUtils.equalFilterParameters(loadOptions.filter, lastLoadOptions.filter),\r\n pageIndex: loadOptions.pageIndex !== lastLoadOptions.pageIndex,\r\n skip: loadOptions.skip !== lastLoadOptions.skip,\r\n take: loadOptions.take !== lastLoadOptions.take,\r\n pageSize: loadOptions.pageSize !== lastLoadOptions.pageSize,\r\n fullReload: isFullReload,\r\n reload: false,\r\n paging: false\r\n };\r\n operationTypes.reload = isFullReload || operationTypes.sorting || operationTypes.grouping || operationTypes.filtering;\r\n operationTypes.paging = operationTypes.pageIndex || operationTypes.pageSize || operationTypes.take\r\n }\r\n return operationTypes\r\n};\r\nexport var executeTask = function(action, timeout) {\r\n if (isDefined(timeout)) {\r\n executeAsync(action, timeout)\r\n } else {\r\n action()\r\n }\r\n};\r\nexport var createEmptyCachedData = function() {\r\n return {\r\n items: {}\r\n }\r\n};\r\nexport var getPageDataFromCache = function(options, updatePaging) {\r\n var groupCount = gridCoreUtils.normalizeSortingInfo(options.group || options.storeLoadOptions.group || options.loadOptions.group).length;\r\n var items = [];\r\n if (fillItemsFromCache(items, options, groupCount)) {\r\n return items\r\n }\r\n if (updatePaging) {\r\n updatePagingOptionsByCache(items, options, groupCount)\r\n }\r\n};\r\nexport var fillItemsFromCache = function(items, options, groupCount, fromEnd) {\r\n var _a, _b, _c, _d, _e;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var take = null !== (_b = null !== (_a = options.take) && void 0 !== _a ? _a : storeLoadOptions.take) && void 0 !== _b ? _b : 0;\r\n var cachedItems = null === (_c = options.cachedData) || void 0 === _c ? void 0 : _c.items;\r\n if (take && cachedItems) {\r\n var skip = null !== (_e = null !== (_d = options.skip) && void 0 !== _d ? _d : storeLoadOptions.skip) && void 0 !== _e ? _e : 0;\r\n for (var i = 0; i < take; i += 1) {\r\n var localIndex = fromEnd ? take - 1 - i : i;\r\n var cacheItemIndex = localIndex + skip;\r\n var cacheItem = cachedItems[cacheItemIndex];\r\n if (void 0 === cacheItem && cacheItemIndex in cachedItems) {\r\n return true\r\n }\r\n var item = getItemFromCache(options, cacheItem, groupCount, localIndex, take);\r\n if (item) {\r\n items.push(item)\r\n } else {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return false\r\n};\r\nexport var getItemFromCache = function(options, cacheItem, groupCount, index, take) {\r\n if (groupCount && cacheItem) {\r\n var skips = 0 === index && options.skips || [];\r\n var takes = index === take - 1 && options.takes || [];\r\n return getGroupItemFromCache(cacheItem, groupCount, skips, takes)\r\n }\r\n return cacheItem\r\n};\r\nexport var getGroupItemFromCache = function getGroupItemFromCache(cacheItem, groupCount, skips, takes) {\r\n if (groupCount && cacheItem) {\r\n var result = _extends({}, cacheItem);\r\n var skip = skips[0] || 0;\r\n var take = takes[0];\r\n var {\r\n items: items\r\n } = cacheItem;\r\n if (items) {\r\n if (void 0 === take && !items[skip]) {\r\n return\r\n }\r\n result.items = [];\r\n if (skips.length) {\r\n result.isContinuation = true\r\n }\r\n if (take) {\r\n result.isContinuationOnNextPage = cacheItem.count > take\r\n }\r\n for (var i = 0; void 0 === take ? items[i + skip] : i < take; i += 1) {\r\n var childCacheItem = items[i + skip];\r\n var isLast = i + 1 === take;\r\n var item = getGroupItemFromCache(childCacheItem, groupCount - 1, 0 === i ? skips.slice(1) : [], isLast ? takes.slice(1) : []);\r\n if (void 0 !== item) {\r\n result.items.push(item)\r\n } else {\r\n return\r\n }\r\n }\r\n }\r\n return result\r\n }\r\n return cacheItem\r\n};\r\nexport var updatePagingOptionsByCache = function(cacheItemsFromBegin, options, groupCount) {\r\n var _a, _b;\r\n var cacheItemBeginCount = cacheItemsFromBegin.length;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n if (void 0 !== storeLoadOptions.skip && storeLoadOptions.take && !groupCount) {\r\n var cacheItemsFromEnd = [];\r\n fillItemsFromCache(cacheItemsFromEnd, options, groupCount, true);\r\n var cacheItemEndCount = cacheItemsFromEnd.length;\r\n if (cacheItemBeginCount || cacheItemEndCount) {\r\n options.skip = null !== (_a = options.skip) && void 0 !== _a ? _a : storeLoadOptions.skip;\r\n options.take = null !== (_b = options.take) && void 0 !== _b ? _b : storeLoadOptions.take\r\n }\r\n if (cacheItemBeginCount) {\r\n storeLoadOptions.skip += cacheItemBeginCount;\r\n storeLoadOptions.take -= cacheItemBeginCount;\r\n options.cachedDataPartBegin = cacheItemsFromBegin\r\n }\r\n if (cacheItemEndCount) {\r\n storeLoadOptions.take -= cacheItemEndCount;\r\n options.cachedDataPartEnd = cacheItemsFromEnd.reverse()\r\n }\r\n }\r\n};\r\nexport var setPageDataToCache = function(options, data, groupCount) {\r\n var _a, _b, _c, _d;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var skip = null !== (_b = null !== (_a = options.skip) && void 0 !== _a ? _a : storeLoadOptions.skip) && void 0 !== _b ? _b : 0;\r\n var take = null !== (_d = null !== (_c = options.take) && void 0 !== _c ? _c : storeLoadOptions.take) && void 0 !== _d ? _d : 0;\r\n for (var i = 0; i < take; i += 1) {\r\n var globalIndex = i + skip;\r\n var cacheItems = options.cachedData.items;\r\n var skips = 0 === i && options.skips || [];\r\n cacheItems[globalIndex] = getCacheItem(cacheItems[globalIndex], data[i], groupCount, skips)\r\n }\r\n};\r\nexport var getCacheItem = function getCacheItem(cacheItem, loadedItem, groupCount, skips) {\r\n if (groupCount && loadedItem) {\r\n var result = _extends({}, loadedItem);\r\n delete result.isContinuation;\r\n delete result.isContinuationOnNextPage;\r\n var skip = skips[0] || 0;\r\n if (loadedItem.items) {\r\n result.items = (null === cacheItem || void 0 === cacheItem ? void 0 : cacheItem.items) || {};\r\n loadedItem.items.forEach((item, index) => {\r\n var globalIndex = index + skip;\r\n var childSkips = 0 === index ? skips.slice(1) : [];\r\n result.items[globalIndex] = getCacheItem(result.items[globalIndex], item, groupCount - 1, childSkips)\r\n })\r\n }\r\n return result\r\n }\r\n return loadedItem\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/data_source_adapter/m_data_source_adapter.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Callbacks from \"../../../../core/utils/callbacks\";\r\nimport {\r\n getKeyHash\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isPlainObject\r\n} from \"../../../../core/utils/type\";\r\nimport ArrayStore from \"../../../../data/array_store\";\r\nimport {\r\n applyBatch\r\n} from \"../../../../data/array_utils\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n calculateOperationTypes,\r\n cloneItems,\r\n createEmptyCachedData,\r\n executeTask,\r\n getPageDataFromCache,\r\n setPageDataToCache\r\n} from \"./m_data_source_adapter_utils\";\r\nexport default class DataSourceAdapter extends modules.Controller {\r\n init(dataSource, remoteOperations) {\r\n var that = this;\r\n that._dataSource = dataSource;\r\n that._remoteOperations = remoteOperations || {};\r\n that._isLastPage = !dataSource.isLastPage();\r\n that._hasLastPage = false;\r\n that._currentTotalCount = 0;\r\n that._cachedData = createEmptyCachedData();\r\n that._lastOperationTypes = {};\r\n that._eventsStrategy = dataSource._eventsStrategy;\r\n that._totalCountCorrection = 0;\r\n that._isLoadingAll = false;\r\n that.changed = Callbacks();\r\n that.loadingChanged = Callbacks();\r\n that.loadError = Callbacks();\r\n that.customizeStoreLoadOptions = Callbacks();\r\n that.changing = Callbacks();\r\n that.pushed = Callbacks();\r\n that._dataChangedHandler = that._handleDataChanged.bind(that);\r\n that._customizeStoreLoadOptionsHandler = that._handleCustomizeStoreLoadOptions.bind(that);\r\n that._dataLoadedHandler = that._handleDataLoaded.bind(that);\r\n that._loadingChangedHandler = that._handleLoadingChanged.bind(that);\r\n that._loadErrorHandler = that._handleLoadError.bind(that);\r\n that._pushHandler = that._handlePush.bind(that);\r\n that._changingHandler = that._handleChanging.bind(that);\r\n dataSource.on(\"changed\", that._dataChangedHandler);\r\n dataSource.on(\"customizeStoreLoadOptions\", that._customizeStoreLoadOptionsHandler);\r\n dataSource.on(\"customizeLoadResult\", that._dataLoadedHandler);\r\n dataSource.on(\"loadingChanged\", that._loadingChangedHandler);\r\n dataSource.on(\"loadError\", that._loadErrorHandler);\r\n dataSource.on(\"changing\", that._changingHandler);\r\n dataSource.store().on(\"beforePush\", that._pushHandler);\r\n each(dataSource, (memberName, member) => {\r\n if (!that[memberName] && isFunction(member)) {\r\n that[memberName] = function() {\r\n return this._dataSource[memberName].apply(this._dataSource, arguments)\r\n }\r\n }\r\n })\r\n }\r\n dispose(isSharedDataSource) {\r\n var dataSource = this._dataSource;\r\n var store = dataSource.store();\r\n dataSource.off(\"changed\", this._dataChangedHandler);\r\n dataSource.off(\"customizeStoreLoadOptions\", this._customizeStoreLoadOptionsHandler);\r\n dataSource.off(\"customizeLoadResult\", this._dataLoadedHandler);\r\n dataSource.off(\"loadingChanged\", this._loadingChangedHandler);\r\n dataSource.off(\"loadError\", this._loadErrorHandler);\r\n dataSource.off(\"changing\", this._changingHandler);\r\n store && store.off(\"beforePush\", this._pushHandler);\r\n if (!isSharedDataSource) {\r\n dataSource.dispose()\r\n }\r\n }\r\n remoteOperations() {\r\n return this._remoteOperations\r\n }\r\n refresh(options, operationTypes) {\r\n var dataSource = this._dataSource;\r\n if (operationTypes.reload) {\r\n this.resetCurrentTotalCount();\r\n this._isLastPage = !dataSource.paginate();\r\n this._hasLastPage = this._isLastPage\r\n }\r\n }\r\n resetCurrentTotalCount() {\r\n this._currentTotalCount = 0;\r\n this._totalCountCorrection = 0\r\n }\r\n resetCache() {\r\n this._cachedStoreData = void 0;\r\n this._cachedPagingData = void 0\r\n }\r\n resetPagesCache(isLiveUpdate) {\r\n this._cachedData = createEmptyCachedData()\r\n }\r\n _needClearStoreDataCache() {\r\n var remoteOperations = this.remoteOperations();\r\n var operationTypes = calculateOperationTypes(this._lastLoadOptions || {}, {});\r\n var isLocalOperations = Object.keys(remoteOperations).every(operationName => !operationTypes[operationName] || !remoteOperations[operationName]);\r\n return !isLocalOperations\r\n }\r\n push(changes, fromStore) {\r\n var store = this.store();\r\n if (this._needClearStoreDataCache()) {\r\n this._cachedStoreData = void 0\r\n }\r\n this._cachedPagingData = void 0;\r\n this.resetPagesCache(true);\r\n if (this._cachedStoreData) {\r\n applyBatch({\r\n keyInfo: store,\r\n data: this._cachedStoreData,\r\n changes: changes\r\n })\r\n }\r\n if (!fromStore) {\r\n this._applyBatch(changes)\r\n }\r\n this.pushed.fire(changes)\r\n }\r\n getDataIndexGetter() {\r\n if (!this._dataIndexGetter) {\r\n var indexByKey;\r\n var storeData;\r\n var store = this.store();\r\n this._dataIndexGetter = data => {\r\n var isCacheUpdated = storeData && storeData !== this._cachedStoreData;\r\n if (!indexByKey || isCacheUpdated) {\r\n storeData = this._cachedStoreData || [];\r\n indexByKey = {};\r\n for (var i = 0; i < storeData.length; i++) {\r\n indexByKey[getKeyHash(store.keyOf(storeData[i]))] = i\r\n }\r\n }\r\n return indexByKey[getKeyHash(store.keyOf(data))]\r\n }\r\n }\r\n return this._dataIndexGetter\r\n }\r\n _getKeyInfo() {\r\n return this.store()\r\n }\r\n _needToCopyDataObject() {\r\n return true\r\n }\r\n _applyBatch(changes, fromStore) {\r\n var keyInfo = this._getKeyInfo();\r\n var dataSource = this._dataSource;\r\n var groupCount = gridCoreUtils.normalizeSortingInfo(this.group()).length;\r\n var isReshapeMode = \"reshape\" === this.option(\"editing.refreshMode\");\r\n var isVirtualMode = \"virtual\" === this.option(\"scrolling.mode\");\r\n changes = changes.filter(change => !dataSource.paginate() || \"insert\" !== change.type || void 0 !== change.index);\r\n var getItemCount = () => groupCount ? this.itemsCount() : this.items().length;\r\n var oldItemCount = getItemCount();\r\n applyBatch({\r\n keyInfo: keyInfo,\r\n data: this._items,\r\n changes: changes,\r\n groupCount: groupCount,\r\n useInsertIndex: true,\r\n skipCopying: !this._needToCopyDataObject()\r\n });\r\n applyBatch({\r\n keyInfo: keyInfo,\r\n data: dataSource.items(),\r\n changes: changes,\r\n groupCount: groupCount,\r\n useInsertIndex: true,\r\n skipCopying: !this._needToCopyDataObject()\r\n });\r\n var needUpdateTotalCountCorrection = this._currentTotalCount > 0 || (fromStore || !isReshapeMode) && isVirtualMode;\r\n if (needUpdateTotalCountCorrection) {\r\n this._totalCountCorrection += getItemCount() - oldItemCount\r\n }\r\n changes.splice(0, changes.length)\r\n }\r\n _handlePush(_ref) {\r\n var {\r\n changes: changes\r\n } = _ref;\r\n this.push(changes, true)\r\n }\r\n _handleChanging(e) {\r\n this.changing.fire(e);\r\n this._applyBatch(e.changes, true)\r\n }\r\n _needCleanCacheByOperation(operationType, remoteOperations) {\r\n var operationTypesByOrder = [\"filtering\", \"sorting\", \"paging\"];\r\n var operationTypeIndex = operationTypesByOrder.indexOf(operationType);\r\n var currentOperationTypes = operationTypeIndex >= 0 ? operationTypesByOrder.slice(operationTypeIndex) : [operationType];\r\n return currentOperationTypes.some(operationType => remoteOperations[operationType])\r\n }\r\n _customizeRemoteOperations(options, operationTypes) {\r\n var cachedStoreData = this._cachedStoreData;\r\n var cachedPagingData = this._cachedPagingData;\r\n var cachedData = this._cachedData;\r\n if (options.storeLoadOptions.filter && !options.remoteOperations.filtering || options.storeLoadOptions.sort && !options.remoteOperations.sorting) {\r\n options.remoteOperations = {\r\n filtering: options.remoteOperations.filtering,\r\n summary: options.remoteOperations.summary\r\n }\r\n }\r\n if (operationTypes.fullReload) {\r\n cachedStoreData = void 0;\r\n cachedPagingData = void 0;\r\n cachedData = createEmptyCachedData()\r\n } else {\r\n if (operationTypes.reload) {\r\n cachedPagingData = void 0;\r\n cachedData = createEmptyCachedData()\r\n } else if (operationTypes.groupExpanding) {\r\n cachedData = createEmptyCachedData()\r\n }\r\n each(operationTypes, (operationType, value) => {\r\n if (value && this._needCleanCacheByOperation(operationType, options.remoteOperations)) {\r\n cachedStoreData = void 0;\r\n cachedPagingData = void 0\r\n }\r\n })\r\n }\r\n if (cachedPagingData) {\r\n options.remoteOperations.paging = false\r\n }\r\n options.cachedStoreData = cachedStoreData;\r\n options.cachedPagingData = cachedPagingData;\r\n options.cachedData = cachedData;\r\n if (!options.isCustomLoading) {\r\n this._cachedStoreData = cachedStoreData;\r\n this._cachedPagingData = cachedPagingData;\r\n this._cachedData = cachedData\r\n }\r\n }\r\n _handleCustomizeStoreLoadOptions(options) {\r\n var _a;\r\n this._handleDataLoading(options);\r\n if (!(0 === (null === (_a = options.data) || void 0 === _a ? void 0 : _a.length))) {\r\n options.data = getPageDataFromCache(options, true) || options.cachedStoreData\r\n }\r\n }\r\n _handleDataLoading(options) {\r\n var dataSource = this._dataSource;\r\n var lastLoadOptions = this._lastLoadOptions;\r\n this.customizeStoreLoadOptions.fire(options);\r\n options.delay = this.option(\"loadingTimeout\");\r\n options.originalStoreLoadOptions = options.storeLoadOptions;\r\n options.remoteOperations = extend({}, this.remoteOperations());\r\n var isFullReload = !this.isLoaded() && !this._isRefreshing;\r\n if (this.option(\"integrationOptions.renderedOnServer\") && !this.isLoaded()) {\r\n options.delay = void 0\r\n }\r\n var loadOptions = extend({\r\n pageIndex: this.pageIndex(),\r\n pageSize: this.pageSize()\r\n }, options.storeLoadOptions);\r\n var operationTypes = calculateOperationTypes(loadOptions, lastLoadOptions, isFullReload);\r\n this._customizeRemoteOperations(options, operationTypes);\r\n if (!options.isCustomLoading) {\r\n var isRefreshing = this._isRefreshing;\r\n options.pageIndex = dataSource.pageIndex();\r\n options.lastLoadOptions = loadOptions;\r\n options.operationTypes = operationTypes;\r\n this._loadingOperationTypes = operationTypes;\r\n this._isRefreshing = true;\r\n when(isRefreshing || this._isRefreshed || this.refresh(options, operationTypes)).done(() => {\r\n if (this._lastOperationId === options.operationId) {\r\n this._isRefreshed = true;\r\n this.load().always(() => {\r\n this._isRefreshed = false\r\n })\r\n }\r\n }).fail(() => {\r\n dataSource.cancel(options.operationId)\r\n }).always(() => {\r\n this._isRefreshing = false\r\n });\r\n dataSource.cancel(this._lastOperationId);\r\n this._lastOperationId = options.operationId;\r\n if (this._isRefreshing) {\r\n dataSource.cancel(this._lastOperationId)\r\n }\r\n }\r\n this._handleDataLoadingCore(options)\r\n }\r\n _handleDataLoadingCore(options) {\r\n var {\r\n remoteOperations: remoteOperations\r\n } = options;\r\n options.loadOptions = {};\r\n var cachedExtra = options.cachedData.extra;\r\n var localLoadOptionNames = {\r\n filter: !remoteOperations.filtering,\r\n sort: !remoteOperations.sorting,\r\n group: !remoteOperations.grouping,\r\n summary: !remoteOperations.summary,\r\n skip: !remoteOperations.paging,\r\n take: !remoteOperations.paging,\r\n requireTotalCount: cachedExtra && \"totalCount\" in cachedExtra || !remoteOperations.paging,\r\n langParams: !remoteOperations.filtering || !remoteOperations.sorting\r\n };\r\n each(options.storeLoadOptions, (optionName, optionValue) => {\r\n if (localLoadOptionNames[optionName]) {\r\n options.loadOptions[optionName] = optionValue;\r\n delete options.storeLoadOptions[optionName]\r\n }\r\n });\r\n if (cachedExtra) {\r\n options.extra = cachedExtra\r\n }\r\n }\r\n _handleDataLoaded(options) {\r\n var _a, _b;\r\n var {\r\n loadOptions: loadOptions\r\n } = options;\r\n var localPaging = options.remoteOperations && !options.remoteOperations.paging;\r\n var {\r\n cachedData: cachedData\r\n } = options;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var needCache = false !== this.option(\"cacheEnabled\") && storeLoadOptions;\r\n var needPageCache = needCache && !options.isCustomLoading && cachedData && (!localPaging || storeLoadOptions.group);\r\n var needPagingCache = needCache && localPaging;\r\n var needStoreCache = needPagingCache && !options.isCustomLoading;\r\n if (!loadOptions) {\r\n this._dataSource.cancel(options.operationId);\r\n return\r\n }\r\n if (localPaging) {\r\n options.skip = loadOptions.skip;\r\n options.take = loadOptions.take;\r\n delete loadOptions.skip;\r\n delete loadOptions.take\r\n }\r\n if (loadOptions.group) {\r\n loadOptions.group = options.group || loadOptions.group\r\n }\r\n var groupCount = gridCoreUtils.normalizeSortingInfo(options.group || storeLoadOptions.group || loadOptions.group).length;\r\n if (options.cachedDataPartBegin) {\r\n options.data = options.cachedDataPartBegin.concat(options.data)\r\n }\r\n if (options.cachedDataPartEnd) {\r\n options.data = options.data.concat(options.cachedDataPartEnd)\r\n }\r\n if (!needPageCache || !getPageDataFromCache(options)) {\r\n if (needPagingCache && options.cachedPagingData) {\r\n options.data = cloneItems(options.cachedPagingData, groupCount)\r\n } else {\r\n if (needStoreCache) {\r\n if (!this._cachedStoreData) {\r\n this._cachedStoreData = cloneItems(options.data, gridCoreUtils.normalizeSortingInfo(storeLoadOptions.group).length)\r\n } else if (options.mergeStoreLoadData) {\r\n options.data = this._cachedStoreData = this._cachedStoreData.concat(options.data)\r\n }\r\n }\r\n new ArrayStore(options.data).load(loadOptions).done(data => {\r\n options.data = data;\r\n if (needStoreCache) {\r\n this._cachedPagingData = cloneItems(options.data, groupCount)\r\n }\r\n }).fail(error => {\r\n options.data = (new Deferred).reject(error)\r\n })\r\n }\r\n if (loadOptions.requireTotalCount && localPaging) {\r\n options.extra = isPlainObject(options.extra) ? options.extra : {};\r\n options.extra.totalCount = options.data.length\r\n }\r\n if (options.extra && options.extra.totalCount >= 0 && (false === storeLoadOptions.requireTotalCount || false === loadOptions.requireTotalCount)) {\r\n options.extra.totalCount = -1\r\n }\r\n if (!loadOptions.data && (storeLoadOptions.requireTotalCount || (null !== (_b = null === (_a = options.extra) || void 0 === _a ? void 0 : _a.totalCount) && void 0 !== _b ? _b : -1) >= 0)) {\r\n this._totalCountCorrection = 0\r\n }\r\n this._handleDataLoadedCore(options);\r\n if (needPageCache) {\r\n cachedData.extra = cachedData.extra || extend({}, options.extra);\r\n when(options.data).done(data => {\r\n setPageDataToCache(options, data, groupCount)\r\n })\r\n }\r\n }\r\n when(options.data).done(() => {\r\n if (options.lastLoadOptions) {\r\n this._lastLoadOptions = options.lastLoadOptions;\r\n Object.keys(options.operationTypes).forEach(operationType => {\r\n this._lastOperationTypes[operationType] = this._lastOperationTypes[operationType] || options.operationTypes[operationType]\r\n })\r\n }\r\n });\r\n options.storeLoadOptions = options.originalStoreLoadOptions\r\n }\r\n _handleDataLoadedCore(options) {\r\n if (options.remoteOperations && !options.remoteOperations.paging && Array.isArray(options.data)) {\r\n if (void 0 !== options.skip) {\r\n options.data = options.data.slice(options.skip)\r\n }\r\n if (void 0 !== options.take) {\r\n options.data = options.data.slice(0, options.take)\r\n }\r\n }\r\n }\r\n _handleLoadingChanged(isLoading) {\r\n this.loadingChanged.fire(isLoading)\r\n }\r\n _handleLoadError(error) {\r\n this.loadError.fire(error);\r\n this.changed.fire({\r\n changeType: \"loadError\",\r\n error: error\r\n })\r\n }\r\n _loadPageSize() {\r\n return this.pageSize()\r\n }\r\n _handleDataChanged(args) {\r\n var currentTotalCount;\r\n var dataSource = this._dataSource;\r\n var isLoading = false;\r\n var isDataLoading = !args || isDefined(args.changeType);\r\n var itemsCount = this.itemsCount();\r\n if (isDataLoading) {\r\n this._isLastPage = !itemsCount || !this._loadPageSize() || itemsCount < this._loadPageSize();\r\n if (this._isLastPage) {\r\n this._hasLastPage = true\r\n }\r\n }\r\n if (dataSource.totalCount() >= 0) {\r\n if (dataSource.pageIndex() >= this.pageCount()) {\r\n dataSource.pageIndex(this.pageCount() - 1);\r\n this.pageIndex(dataSource.pageIndex());\r\n this.resetPagesCache();\r\n dataSource.load();\r\n isLoading = true\r\n }\r\n } else if (isDataLoading) {\r\n currentTotalCount = dataSource.pageIndex() * this.pageSize() + itemsCount;\r\n if (currentTotalCount > this._currentTotalCount) {\r\n this._currentTotalCount = currentTotalCount;\r\n if (0 === dataSource.pageIndex() || !this.option(\"scrolling.legacyMode\")) {\r\n this._totalCountCorrection = 0\r\n }\r\n }\r\n if (0 === itemsCount && dataSource.pageIndex() >= this.pageCount()) {\r\n dataSource.pageIndex(this.pageCount() - 1);\r\n if (\"infinite\" !== this.option(\"scrolling.mode\")) {\r\n dataSource.load();\r\n isLoading = true\r\n }\r\n }\r\n }\r\n if (!isLoading) {\r\n this._operationTypes = this._lastOperationTypes;\r\n this._lastOperationTypes = {};\r\n this.component._optionCache = {};\r\n this.changed.fire(args);\r\n this.component._optionCache = void 0\r\n }\r\n }\r\n _scheduleCustomLoadCallbacks(deferred) {\r\n var that = this;\r\n that._isCustomLoading = true;\r\n deferred.always(() => {\r\n that._isCustomLoading = false\r\n })\r\n }\r\n loadingOperationTypes() {\r\n return this._loadingOperationTypes\r\n }\r\n operationTypes() {\r\n return this._operationTypes\r\n }\r\n lastLoadOptions() {\r\n return this._lastLoadOptions || {}\r\n }\r\n isLastPage() {\r\n return this._isLastPage\r\n }\r\n _dataSourceTotalCount() {\r\n return this._dataSource.totalCount()\r\n }\r\n _changeRowExpandCore(path) {}\r\n changeRowExpand(path) {}\r\n totalCount() {\r\n return parseInt((this._currentTotalCount || this._dataSourceTotalCount()) + this._totalCountCorrection)\r\n }\r\n totalCountCorrection() {\r\n return this._totalCountCorrection\r\n }\r\n items() {}\r\n itemsCount() {\r\n return this._dataSource.items().length\r\n }\r\n totalItemsCount() {\r\n return this.totalCount()\r\n }\r\n pageSize() {\r\n var dataSource = this._dataSource;\r\n if (!arguments.length && !dataSource.paginate()) {\r\n return 0\r\n }\r\n return dataSource.pageSize.apply(dataSource, arguments)\r\n }\r\n pageCount() {\r\n var count = this.totalItemsCount() - this._totalCountCorrection;\r\n var pageSize = this.pageSize();\r\n if (pageSize && count > 0) {\r\n return Math.max(1, Math.ceil(count / pageSize))\r\n }\r\n return 1\r\n }\r\n hasKnownLastPage() {\r\n return this._hasLastPage || this._dataSource.totalCount() >= 0\r\n }\r\n loadFromStore(loadOptions, store) {\r\n var dataSource = this._dataSource;\r\n var d = new Deferred;\r\n if (!dataSource) {\r\n return\r\n }\r\n store = store || dataSource.store();\r\n store.load(loadOptions).done((data, extra) => {\r\n if (data && !Array.isArray(data) && Array.isArray(data.data)) {\r\n extra = data;\r\n data = data.data\r\n }\r\n d.resolve(data, extra)\r\n }).fail(d.reject);\r\n return d\r\n }\r\n isCustomLoading() {\r\n return !!this._isCustomLoading\r\n }\r\n load(options) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var d = new Deferred;\r\n if (options) {\r\n var store = dataSource.store();\r\n var dataSourceLoadOptions = dataSource.loadOptions();\r\n var loadResult = {\r\n storeLoadOptions: extend({}, options, {\r\n langParams: null === dataSourceLoadOptions || void 0 === dataSourceLoadOptions ? void 0 : dataSourceLoadOptions.langParams\r\n }),\r\n isCustomLoading: true\r\n };\r\n each(store._customLoadOptions() || [], (_, optionName) => {\r\n if (!(optionName in loadResult.storeLoadOptions)) {\r\n loadResult.storeLoadOptions[optionName] = dataSourceLoadOptions[optionName]\r\n }\r\n });\r\n this._isLoadingAll = options.isLoadingAll;\r\n that._scheduleCustomLoadCallbacks(d);\r\n dataSource._scheduleLoadCallbacks(d);\r\n that._handleCustomizeStoreLoadOptions(loadResult);\r\n executeTask(() => {\r\n if (!dataSource.store()) {\r\n return d.reject(\"canceled\")\r\n }\r\n when(loadResult.data || that.loadFromStore(loadResult.storeLoadOptions)).done((data, extra) => {\r\n loadResult.data = data;\r\n loadResult.extra = extra || {};\r\n that._handleDataLoaded(loadResult);\r\n if (options.requireTotalCount && void 0 === loadResult.extra.totalCount) {\r\n loadResult.extra.totalCount = store.totalCount(loadResult.storeLoadOptions)\r\n }\r\n when(loadResult.data, loadResult.extra.totalCount).done((data, totalCount) => {\r\n loadResult.extra.totalCount = totalCount;\r\n d.resolve(data, loadResult.extra)\r\n }).fail(d.reject)\r\n }).fail(d.reject)\r\n }, that.option(\"loadingTimeout\"));\r\n return d.fail((function() {\r\n that._eventsStrategy.fireEvent(\"loadError\", arguments)\r\n })).always(() => {\r\n this._isLoadingAll = false\r\n }).promise()\r\n }\r\n return dataSource.load()\r\n }\r\n reload(full) {\r\n return full ? this._dataSource.reload() : this._dataSource.load()\r\n }\r\n getCachedStoreData() {\r\n return this._cachedStoreData\r\n }\r\n isLoaded() {}\r\n pageIndex(pageIndex) {}\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_data_source_adapter.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport DataSourceAdapter from \"../../grids/grid_core/data_source_adapter/m_data_source_adapter\";\r\nvar DataSourceAdapterType = DataSourceAdapter;\r\nexport default {\r\n extend(extender) {\r\n DataSourceAdapterType = extender(DataSourceAdapterType)\r\n },\r\n create: component => new DataSourceAdapterType(component)\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_data_controller.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../../../ui/widget/ui.errors\";\r\nimport {\r\n DataController,\r\n dataControllerModule\r\n} from \"../../grids/grid_core/data_controller/m_data_controller\";\r\nimport gridCore from \"./m_core\";\r\nimport dataSourceAdapterProvider from \"./m_data_source_adapter\";\r\nclass DataGridDataController extends DataController {\r\n _getDataSourceAdapter() {\r\n return dataSourceAdapterProvider\r\n }\r\n _getSpecificDataSourceOption() {\r\n var dataSource = this.option(\"dataSource\");\r\n if (dataSource && !Array.isArray(dataSource) && this.option(\"keyExpr\")) {\r\n errors.log(\"W1011\")\r\n }\r\n return super._getSpecificDataSourceOption()\r\n }\r\n}\r\nexport {\r\n DataGridDataController as DataController\r\n};\r\ngridCore.registerModule(\"data\", {\r\n defaultOptions: dataControllerModule.defaultOptions,\r\n controllers: {\r\n data: DataGridDataController\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/sorting/m_sorting_mixin.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nvar SORT_CLASS = \"dx-sort\";\r\nvar SORT_NONE_CLASS = \"dx-sort-none\";\r\nvar SORTUP_CLASS = \"dx-sort-up\";\r\nvar SORTDOWN_CLASS = \"dx-sort-down\";\r\nvar SORT_INDEX_CLASS = \"dx-sort-index\";\r\nvar SORT_INDEX_ICON_CLASS = \"dx-sort-index-icon\";\r\nvar HEADERS_ACTION_CLASS = \"action\";\r\nvar sortingMixin = Base => class extends Base {\r\n _applyColumnState(options) {\r\n var ariaSortState;\r\n var $sortIndicator;\r\n var sortingMode = this.option(\"sorting.mode\");\r\n var {\r\n rootElement: rootElement\r\n } = options;\r\n var {\r\n column: column\r\n } = options;\r\n var $indicatorsContainer = this._getIndicatorContainer(rootElement);\r\n if (\"sort\" === options.name) {\r\n rootElement.find(\".\".concat(SORT_CLASS)).remove();\r\n !$indicatorsContainer.children().length && $indicatorsContainer.remove();\r\n var isSortingAllowed = \"none\" !== sortingMode && column.allowSorting;\r\n if (!isDefined(column.groupIndex) && (isSortingAllowed || isDefined(column.sortOrder))) {\r\n ariaSortState = \"asc\" === column.sortOrder ? \"ascending\" : \"descending\";\r\n $sortIndicator = super._applyColumnState(options).toggleClass(SORTUP_CLASS, \"asc\" === column.sortOrder).toggleClass(SORTDOWN_CLASS, \"desc\" === column.sortOrder);\r\n var hasSeveralSortIndexes = this.getController && !!this.getController(\"columns\").columnOption(\"sortIndex:1\");\r\n if (hasSeveralSortIndexes && this.option(\"sorting.showSortIndexes\") && column.sortIndex >= 0) {\r\n $(\"<span>\").addClass(SORT_INDEX_ICON_CLASS).text(column.sortIndex + 1).appendTo($sortIndicator);\r\n $sortIndicator.addClass(SORT_INDEX_CLASS)\r\n }\r\n if (isSortingAllowed) {\r\n options.rootElement.addClass(this.addWidgetPrefix(HEADERS_ACTION_CLASS))\r\n }\r\n }\r\n if (!isDefined(column.sortOrder)) {\r\n this.setAria(\"sort\", \"none\", rootElement)\r\n } else {\r\n this.setAria(\"sort\", ariaSortState, rootElement)\r\n }\r\n return $sortIndicator\r\n }\r\n return super._applyColumnState(options)\r\n }\r\n _setAriaSortAttribute(column, ariaSortState, $rootElement, hasSeveralSortIndexes) {\r\n $rootElement.removeAttr(\"aria-roledescription\");\r\n if (column.isGrouped) {\r\n var description = this.localize(\"dxDataGrid-ariaNotSortedColumn\");\r\n if (isDefined(column.sortOrder)) {\r\n description = \"asc\" === column.sortOrder ? this.localize(\"dxDataGrid-ariaSortedAscendingColumn\") : this.localize(\"dxDataGrid-ariaSortedDescendingColumn\")\r\n }\r\n this.setAria(\"roledescription\", description, $rootElement)\r\n } else if (!isDefined(column.sortOrder)) {\r\n this.setAria(\"sort\", \"none\", $rootElement)\r\n } else {\r\n this.setAria(\"sort\", ariaSortState, $rootElement);\r\n if (hasSeveralSortIndexes && column.sortIndex >= 0) {\r\n var ariaColumnHeader = messageLocalization.format(\"dxDataGrid-ariaColumnHeader\");\r\n var ariaSortIndex = messageLocalization.format(\"dxDataGrid-ariaSortIndex\", column.sortIndex + 1);\r\n var _description = \"\".concat(ariaColumnHeader, \", \").concat(ariaSortIndex);\r\n this.setAria(\"roledescription\", _description, $rootElement)\r\n }\r\n }\r\n }\r\n _getIndicatorClassName(name) {\r\n if (\"sort\" === name) {\r\n return SORT_CLASS\r\n }\r\n if (\"sortIndex\" === name) {\r\n return SORT_INDEX_ICON_CLASS\r\n }\r\n return super._getIndicatorClassName(name)\r\n }\r\n _renderIndicator(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var $container = options.container;\r\n var $indicator = options.indicator;\r\n if (\"sort\" === options.name) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n if (!isDefined(column.sortOrder)) {\r\n $indicator && $indicator.addClass(SORT_NONE_CLASS)\r\n }\r\n if ($container.children().length && (!rtlEnabled && \"left\" === options.columnAlignment || rtlEnabled && \"right\" === options.columnAlignment)) {\r\n $container.prepend($indicator);\r\n return\r\n }\r\n }\r\n super._renderIndicator(options)\r\n }\r\n _updateIndicator($cell, column, indicatorName) {\r\n if (\"sort\" === indicatorName && isDefined(column.groupIndex)) {\r\n return\r\n }\r\n return super._updateIndicator.apply(this, arguments)\r\n }\r\n _getIndicatorElements($cell, returnAll) {\r\n var $indicatorElements = super._getIndicatorElements($cell);\r\n return returnAll ? $indicatorElements : $indicatorElements && $indicatorElements.not(\".\".concat(SORT_NONE_CLASS))\r\n }\r\n};\r\nexport default sortingMixin;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/sorting/m_sorting.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed\r\n} from \"../../../../events/utils/index\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport sortingMixin from \"./m_sorting_mixin\";\r\nvar COLUMN_HEADERS_VIEW_NAMESPACE = \"dxDataGridColumnHeadersView\";\r\nvar columnHeadersView = Base => class extends(sortingMixin(Base)) {\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"sorting\":\r\n this._invalidate();\r\n args.handled = true;\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n _createRow(row) {\r\n var $row = super._createRow(row);\r\n if (\"header\" === row.rowType) {\r\n eventsEngine.on($row, addNamespace(clickEventName, COLUMN_HEADERS_VIEW_NAMESPACE), \"td\", this.createAction(e => {\r\n this._processHeaderAction(e.event, $row)\r\n }))\r\n }\r\n return $row\r\n }\r\n _processHeaderAction(event, $row) {\r\n if ($(event.currentTarget).parent().get(0) !== $row.get(0)) {\r\n return\r\n }\r\n var that = this;\r\n var keyName = null;\r\n var $cellElementFromEvent = $(event.currentTarget);\r\n var rowIndex = $cellElementFromEvent.parent().index();\r\n var columnIndex = -1;\r\n [].slice.call(that.getCellElements(rowIndex)).some(($cellElement, index) => {\r\n if ($cellElement === $cellElementFromEvent.get(0)) {\r\n columnIndex = index;\r\n return true\r\n }\r\n return\r\n });\r\n var visibleColumns = that._columnsController.getVisibleColumns(rowIndex);\r\n var column = visibleColumns[columnIndex];\r\n var editingController = that.getController(\"editing\");\r\n var editingMode = that.option(\"editing.mode\");\r\n var isCellEditing = editingController && editingController.isEditing() && (\"batch\" === editingMode || \"cell\" === editingMode);\r\n if (isCellEditing || !that._isSortableElement($(event.target))) {\r\n return\r\n }\r\n if (column && !isDefined(column.groupIndex) && !column.command) {\r\n if (event.shiftKey) {\r\n keyName = \"shift\"\r\n } else if (isCommandKeyPressed(event)) {\r\n keyName = \"ctrl\"\r\n }\r\n setTimeout(() => {\r\n that._columnsController.changeSortOrder(column.index, keyName)\r\n })\r\n }\r\n }\r\n _renderCellContent($cell, options) {\r\n var {\r\n column: column\r\n } = options;\r\n if (!column.command && \"header\" === options.rowType) {\r\n this._applyColumnState({\r\n name: \"sort\",\r\n rootElement: $cell,\r\n column: column,\r\n showColumnLines: this.option(\"showColumnLines\")\r\n })\r\n }\r\n super._renderCellContent.apply(this, arguments)\r\n }\r\n _columnOptionChanged(e) {\r\n var {\r\n changeTypes: changeTypes\r\n } = e;\r\n if (1 === changeTypes.length && changeTypes.sorting) {\r\n this._updateIndicators(\"sort\");\r\n return\r\n }\r\n super._columnOptionChanged(e)\r\n }\r\n};\r\nvar headerPanel = Base => class extends(sortingMixin(Base)) {\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"sorting\":\r\n this._invalidate();\r\n args.handled = true;\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n _createGroupPanelItem($rootElement, groupColumn) {\r\n var that = this;\r\n var $item = super._createGroupPanelItem(...arguments);\r\n eventsEngine.on($item, addNamespace(clickEventName, \"dxDataGridHeaderPanel\"), that.createAction(() => {\r\n that._processGroupItemAction(groupColumn.index)\r\n }));\r\n that._applyColumnState({\r\n name: \"sort\",\r\n rootElement: $item,\r\n column: {\r\n alignment: that.option(\"rtlEnabled\") ? \"right\" : \"left\",\r\n allowSorting: groupColumn.allowSorting,\r\n sortOrder: \"desc\" === groupColumn.sortOrder ? \"desc\" : \"asc\"\r\n },\r\n showColumnLines: true\r\n });\r\n return $item\r\n }\r\n _processGroupItemAction(groupColumnIndex) {\r\n setTimeout(() => this.getController(\"columns\").changeSortOrder(groupColumnIndex))\r\n }\r\n};\r\nexport var sortingModule = {\r\n defaultOptions: () => ({\r\n sorting: {\r\n mode: \"single\",\r\n ascendingText: messageLocalization.format(\"dxDataGrid-sortingAscendingText\"),\r\n descendingText: messageLocalization.format(\"dxDataGrid-sortingDescendingText\"),\r\n clearText: messageLocalization.format(\"dxDataGrid-sortingClearText\"),\r\n showSortIndexes: true\r\n }\r\n }),\r\n extenders: {\r\n views: {\r\n columnHeadersView: columnHeadersView,\r\n headerPanel: headerPanel\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/sorting.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n sortingModule\r\n} from \"../../../grids/grid_core/sorting/m_sorting\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"sorting\", sortingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/views/m_rows_view.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n deferRender,\r\n deferUpdate\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n compileGetter\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect,\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isEmpty\r\n} from \"../../../../core/utils/string\";\r\nimport {\r\n setHeight\r\n} from \"../../../../core/utils/style\";\r\nimport {\r\n isDefined,\r\n isNumeric,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../../../../events/remove\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Scrollable from \"../../../../ui/scroll_view/ui.scrollable\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n ColumnsView\r\n} from \"./m_columns_view\";\r\nvar ROWS_VIEW_CLASS = \"rowsview\";\r\nvar CONTENT_CLASS = \"content\";\r\nvar NOWRAP_CLASS = \"nowrap\";\r\nvar GROUP_ROW_CLASS = \"dx-group-row\";\r\nvar GROUP_CELL_CLASS = \"dx-group-cell\";\r\nvar DATA_ROW_CLASS = \"dx-data-row\";\r\nvar FREE_SPACE_CLASS = \"dx-freespace-row\";\r\nvar ROW_LINES_CLASS = \"dx-row-lines\";\r\nvar COLUMN_LINES_CLASS = \"dx-column-lines\";\r\nvar ROW_ALTERNATION_CLASS = \"dx-row-alt\";\r\nvar LAST_ROW_BORDER = \"dx-last-row-border\";\r\nvar EMPTY_CLASS = \"dx-empty\";\r\nvar ROW_INSERTED_ANIMATION_CLASS = \"row-inserted-animation\";\r\nvar LOADPANEL_HIDE_TIMEOUT = 200;\r\n\r\nfunction getMaxHorizontalScrollOffset(scrollable) {\r\n return scrollable ? Math.round(scrollable.scrollWidth() - scrollable.clientWidth()) : 0\r\n}\r\n\r\nfunction isGroupRow(_ref) {\r\n var {\r\n rowType: rowType,\r\n column: column\r\n } = _ref;\r\n return \"group\" === rowType && isDefined(column.groupIndex) && !column.showWhenGrouped && !column.command\r\n}\r\n\r\nfunction setWatcher(_ref2) {\r\n var {\r\n element: element,\r\n watch: watch,\r\n getter: getter,\r\n callBack: callBack\r\n } = _ref2;\r\n if (watch) {\r\n var dispose = watch(getter, callBack);\r\n eventsEngine.on(element, removeEvent, dispose)\r\n }\r\n}\r\nvar defaultCellTemplate = function($container, options) {\r\n var isDataTextEmpty = isEmpty(options.text) && \"data\" === options.rowType;\r\n var {\r\n text: text\r\n } = options;\r\n var container = $container.get(0);\r\n if (isDataTextEmpty) {\r\n gridCoreUtils.setEmptyText($container)\r\n } else if (options.column.encodeHtml) {\r\n container.textContent = text\r\n } else {\r\n container.innerHTML = text\r\n }\r\n};\r\nvar getScrollableBottomPadding = function(that) {\r\n var scrollable = that.getScrollable();\r\n return scrollable ? Math.ceil(parseFloat($(scrollable.content()).css(\"paddingBottom\"))) : 0\r\n};\r\nexport class RowsView extends ColumnsView {\r\n init() {\r\n super.init();\r\n this._editingController = this.getController(\"editing\");\r\n this._resizingController = this.getController(\"resizing\");\r\n this._columnsResizerController = this.getController(\"columnsResizer\");\r\n this._focusController = this.getController(\"focus\");\r\n this._keyboardNavigationController = this.getController(\"keyboardNavigation\");\r\n this._validatingController = this.getController(\"validating\");\r\n this._errorHandlingController = this.getController(\"errorHandling\");\r\n this._columnHeadersView = this.getView(\"columnHeadersView\");\r\n this._rowHeight = 0;\r\n this._scrollTop = 0;\r\n this._scrollLeft = -1;\r\n this._scrollRight = 0;\r\n this._hasHeight = void 0;\r\n this._contentChanges = [];\r\n this._dataController.loadingChanged.add((isLoading, messageText) => {\r\n this.setLoading(isLoading, messageText)\r\n });\r\n this._dataController.dataSourceChanged.add(() => {\r\n if (this._scrollLeft >= 0 && !this._dataController.isLoading()) {\r\n this._handleScroll({\r\n component: this.getScrollable(),\r\n forceUpdateScrollPosition: true,\r\n scrollOffset: {\r\n top: this._scrollTop,\r\n left: this._scrollLeft\r\n }\r\n })\r\n }\r\n })\r\n }\r\n _getDefaultTemplate(column) {\r\n switch (column.command) {\r\n case \"empty\":\r\n return function(container) {\r\n container.html(\" \")\r\n };\r\n default:\r\n return defaultCellTemplate\r\n }\r\n }\r\n _getDefaultGroupTemplate(column) {\r\n var summaryTexts = this.option(\"summary.texts\");\r\n return function($container, options) {\r\n var {\r\n data: data\r\n } = options;\r\n var text = \"\".concat(options.column.caption, \": \").concat(options.text);\r\n var container = $container.get(0);\r\n if (options.summaryItems && options.summaryItems.length) {\r\n text += \" \".concat(gridCoreUtils.getGroupRowSummaryText(options.summaryItems, summaryTexts))\r\n }\r\n if (data) {\r\n if (options.groupContinuedMessage && options.groupContinuesMessage) {\r\n text += \" (\".concat(options.groupContinuedMessage, \". \").concat(options.groupContinuesMessage, \")\")\r\n } else if (options.groupContinuesMessage) {\r\n text += \" (\".concat(options.groupContinuesMessage, \")\")\r\n } else if (options.groupContinuedMessage) {\r\n text += \" (\".concat(options.groupContinuedMessage, \")\")\r\n }\r\n }\r\n if (column.encodeHtml) {\r\n container.textContent = text\r\n } else {\r\n container.innerHTML = text\r\n }\r\n }\r\n }\r\n _update(change) {}\r\n _updateCell($cell, options) {\r\n if (isGroupRow(options)) {\r\n $cell.addClass(GROUP_CELL_CLASS)\r\n }\r\n super._updateCell.apply(this, arguments)\r\n }\r\n _getCellTemplate(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var template;\r\n if (isGroupRow(options)) {\r\n template = column.groupCellTemplate || {\r\n allowRenderToDetachedContainer: true,\r\n render: this._getDefaultGroupTemplate(column)\r\n }\r\n } else if ((\"data\" === options.rowType || column.command) && column.cellTemplate) {\r\n template = column.cellTemplate\r\n } else {\r\n template = {\r\n allowRenderToDetachedContainer: true,\r\n render: this._getDefaultTemplate(column)\r\n }\r\n }\r\n return template\r\n }\r\n _createRow(row, tag) {\r\n var $row = super._createRow.apply(this, arguments);\r\n if (row) {\r\n var isGroup = \"group\" === row.rowType;\r\n var isDataRow = \"data\" === row.rowType;\r\n isDataRow && $row.addClass(DATA_ROW_CLASS);\r\n isDataRow && this.option(\"showRowLines\") && $row.addClass(ROW_LINES_CLASS);\r\n this.option(\"showColumnLines\") && $row.addClass(COLUMN_LINES_CLASS);\r\n if (false === row.visible) {\r\n $row.hide()\r\n }\r\n if (isGroup) {\r\n $row.addClass(GROUP_ROW_CLASS);\r\n var isRowExpanded = row.isExpanded;\r\n this.setAria(\"role\", \"row\", $row);\r\n this.setAria(\"expanded\", isDefined(isRowExpanded) && isRowExpanded.toString(), $row)\r\n }\r\n }\r\n return $row\r\n }\r\n _rowPrepared($row, rowOptions, row) {\r\n if (\"data\" === rowOptions.rowType) {\r\n if (this.option(\"rowAlternationEnabled\")) {\r\n this._isAltRow(row) && $row.addClass(ROW_ALTERNATION_CLASS);\r\n setWatcher({\r\n element: $row.get(0),\r\n watch: rowOptions.watch,\r\n getter: () => this._isAltRow(row),\r\n callBack: value => {\r\n $row.toggleClass(ROW_ALTERNATION_CLASS, value)\r\n }\r\n })\r\n }\r\n this._setAriaRowIndex(rowOptions, $row);\r\n setWatcher({\r\n element: $row.get(0),\r\n watch: rowOptions.watch,\r\n getter: () => rowOptions.rowIndex,\r\n callBack: () => this._setAriaRowIndex(rowOptions, $row)\r\n })\r\n }\r\n super._rowPrepared.apply(this, arguments)\r\n }\r\n _setAriaRowIndex(row, $row) {\r\n var {\r\n component: component\r\n } = this;\r\n var isPagerMode = \"standard\" === component.option(\"scrolling.mode\") && !gridCoreUtils.isVirtualRowRendering(component);\r\n var rowIndex = row.rowIndex + 1;\r\n if (isPagerMode) {\r\n rowIndex = component.pageIndex() * component.pageSize() + rowIndex\r\n } else {\r\n rowIndex += this._dataController.getRowIndexOffset()\r\n }\r\n this.setAria(\"rowindex\", rowIndex, $row)\r\n }\r\n _afterRowPrepared(e) {\r\n var arg = e.args[0];\r\n var dataController = this._dataController;\r\n var row = dataController.getVisibleRows()[arg.rowIndex];\r\n var watch = this.option(\"integrationOptions.watchMethod\");\r\n if (!arg.data || \"data\" !== arg.rowType || arg.isNewRow || !this.option(\"twoWayBindingEnabled\") || !watch || !row) {\r\n return\r\n }\r\n var dispose = watch(() => dataController.generateDataValues(arg.data, arg.columns), () => {\r\n dataController.repaintRows([row.rowIndex], this.option(\"repaintChangesOnly\"))\r\n }, {\r\n deep: true,\r\n skipImmediate: true\r\n });\r\n eventsEngine.on(arg.rowElement, removeEvent, dispose)\r\n }\r\n _renderScrollable(force) {\r\n var $element = this.element();\r\n if (!$element.children().length) {\r\n $element.append(\"<div>\")\r\n }\r\n if (force || !this._loadPanel) {\r\n this._renderLoadPanel($element, $element.parent(), this._dataController.isLocalStore())\r\n }\r\n if ((force || !this.getScrollable()) && this._dataController.isLoaded()) {\r\n var columns = this.getColumns();\r\n var allColumnsHasWidth = true;\r\n for (var i = 0; i < columns.length; i++) {\r\n if (!columns[i].width && !columns[i].minWidth) {\r\n allColumnsHasWidth = false;\r\n break\r\n }\r\n }\r\n if (this.option(\"columnAutoWidth\") || this._hasHeight || allColumnsHasWidth || this._columnsController._isColumnFixing()) {\r\n this._renderScrollableCore($element)\r\n }\r\n }\r\n }\r\n _handleScroll(e) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isNativeScrolling = e.component.option(\"useNative\");\r\n this._scrollTop = e.scrollOffset.top;\r\n this._scrollLeft = e.scrollOffset.left;\r\n var scrollLeft = e.scrollOffset.left;\r\n if (rtlEnabled) {\r\n this._scrollRight = getMaxHorizontalScrollOffset(e.component) - this._scrollLeft;\r\n if (isNativeScrolling) {\r\n scrollLeft = -this._scrollRight\r\n }\r\n if (!this.isScrollbarVisible(true)) {\r\n this._scrollLeft = -1\r\n }\r\n }\r\n this.scrollChanged.fire(_extends(_extends({}, e.scrollOffset), {\r\n left: scrollLeft\r\n }), this.name)\r\n }\r\n _renderScrollableCore($element) {\r\n var dxScrollableOptions = this._createScrollableOptions();\r\n var scrollHandler = this._handleScroll.bind(this);\r\n dxScrollableOptions.onScroll = scrollHandler;\r\n this._scrollable = this._createComponent($element, Scrollable, dxScrollableOptions);\r\n this._scrollableContainer = this._scrollable && $(this._scrollable.container())\r\n }\r\n _renderLoadPanel() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return gridCoreUtils.renderLoadPanel.apply(this, arguments)\r\n }\r\n _renderContent(contentElement, tableElement, isFixedTableRendering) {\r\n contentElement.empty().append(tableElement);\r\n return this._findContentElement()\r\n }\r\n _updateContent(newTableElement, change, isFixedTableRendering) {\r\n this._contentChanges.push({\r\n newTableElement: newTableElement,\r\n change: change,\r\n isFixedTableRendering: isFixedTableRendering\r\n });\r\n return this.waitAsyncTemplates().done(() => {\r\n var contentChanges = this._contentChanges;\r\n this._contentChanges = [];\r\n contentChanges.forEach(_ref3 => {\r\n var {\r\n newTableElement: newTableElement,\r\n change: change,\r\n isFixedTableRendering: isFixedTableRendering\r\n } = _ref3;\r\n var tableElement = this.getTableElement(isFixedTableRendering);\r\n var contentElement = this._findContentElement(isFixedTableRendering);\r\n var changeType = null === change || void 0 === change ? void 0 : change.changeType;\r\n var executors = [];\r\n var highlightChanges = this.option(\"highlightChanges\");\r\n var rowInsertedClass = this.addWidgetPrefix(ROW_INSERTED_ANIMATION_CLASS);\r\n switch (changeType) {\r\n case \"update\":\r\n each(change.rowIndices, (index, rowIndex) => {\r\n var _a;\r\n var $newRowElement = this._getRowElements(newTableElement).eq(index);\r\n var dataChangeType = null === (_a = change.changeTypes) || void 0 === _a ? void 0 : _a[index];\r\n var item = change.items && change.items[index];\r\n executors.push(() => {\r\n var _a;\r\n var $rowElements = this._getRowElements(tableElement);\r\n var $rowElement = $rowElements.eq(rowIndex);\r\n switch (dataChangeType) {\r\n case \"update\":\r\n if (item) {\r\n var columnIndices = null === (_a = change.columnIndices) || void 0 === _a ? void 0 : _a[index];\r\n if (isDefined(item.visible) && item.visible !== $rowElement.is(\":visible\")) {\r\n $rowElement.toggle(item.visible)\r\n } else if (columnIndices) {\r\n this._updateCells($rowElement, $newRowElement, columnIndices)\r\n } else {\r\n $rowElement.replaceWith($newRowElement)\r\n }\r\n }\r\n break;\r\n case \"insert\":\r\n if (!$rowElements.length) {\r\n if (tableElement) {\r\n var target = $newRowElement.is(\"tbody\") ? tableElement : tableElement.children(\"tbody\");\r\n $newRowElement.prependTo(target)\r\n }\r\n } else if ($rowElement.length) {\r\n $newRowElement.insertBefore($rowElement)\r\n } else {\r\n $newRowElement.insertAfter($rowElements.last())\r\n }\r\n if (highlightChanges && change.isLiveUpdate) {\r\n $newRowElement.addClass(rowInsertedClass)\r\n }\r\n break;\r\n case \"remove\":\r\n $rowElement.remove()\r\n }\r\n })\r\n });\r\n each(executors, (function() {\r\n this()\r\n }));\r\n newTableElement.remove();\r\n break;\r\n default:\r\n this.setTableElement(newTableElement, isFixedTableRendering);\r\n contentElement.addClass(this.addWidgetPrefix(CONTENT_CLASS));\r\n this._renderContent(contentElement, newTableElement, isFixedTableRendering)\r\n }\r\n })\r\n }).fail(() => {\r\n this._contentChanges = []\r\n })\r\n }\r\n _createEmptyRow(className, isFixed, height) {\r\n var $cell;\r\n var $row = this._createRow();\r\n var columns = isFixed ? this.getFixedColumns() : this.getColumns();\r\n $row.addClass(className).toggleClass(COLUMN_LINES_CLASS, this.option(\"showColumnLines\"));\r\n for (var i = 0; i < columns.length; i++) {\r\n $cell = this._createCell({\r\n column: columns[i],\r\n rowType: \"freeSpace\",\r\n columnIndex: i,\r\n columns: columns\r\n });\r\n isNumeric(height) && $cell.css(\"height\", height);\r\n $row.append($cell)\r\n }\r\n this.setAria(\"role\", \"presentation\", $row);\r\n return $row\r\n }\r\n getFixedColumns() {\r\n throw new Error(\"Method not implemented.\")\r\n }\r\n _appendEmptyRow($table, $emptyRow, location) {\r\n var $tBodies = this._getBodies($table);\r\n var isTableContainer = !$tBodies.length || $emptyRow.is(\"tbody\");\r\n var $container = isTableContainer ? $table : $tBodies;\r\n if (\"top\" === location) {\r\n $container.first().prepend($emptyRow);\r\n if (isTableContainer) {\r\n var $colgroup = $container.children(\"colgroup\");\r\n $container.prepend($colgroup)\r\n }\r\n } else {\r\n $container.last().append($emptyRow)\r\n }\r\n }\r\n _renderFreeSpaceRow($tableElement, change) {\r\n var $freeSpaceRowElement = this._createEmptyRow(FREE_SPACE_CLASS);\r\n $freeSpaceRowElement = this._wrapRowIfNeed($tableElement, $freeSpaceRowElement, \"refresh\" === (null === change || void 0 === change ? void 0 : change.changeType));\r\n this._appendEmptyRow($tableElement, $freeSpaceRowElement)\r\n }\r\n _checkRowKeys(options) {\r\n var that = this;\r\n var rows = that._getRows(options);\r\n var keyExpr = that._dataController.store() && that._dataController.store().key();\r\n keyExpr && rows.some(row => {\r\n if (\"data\" === row.rowType && void 0 === row.key) {\r\n that._dataController.fireError(\"E1046\", keyExpr);\r\n return true\r\n }\r\n return\r\n })\r\n }\r\n _needUpdateRowHeight(itemsCount) {\r\n return itemsCount > 0 && !this._rowHeight\r\n }\r\n _getRowsHeight($tableElement) {\r\n $tableElement = $tableElement || this._tableElement;\r\n var $rowElements = $tableElement.children(\"tbody\").children().not(\".dx-virtual-row\").not(\".\".concat(FREE_SPACE_CLASS));\r\n return $rowElements.toArray().reduce((sum, row) => sum + getBoundingRect(row).height, 0)\r\n }\r\n _updateRowHeight() {\r\n var $tableElement = this.getTableElement();\r\n var itemsCount = this._dataController.items().length;\r\n if ($tableElement && this._needUpdateRowHeight(itemsCount)) {\r\n var rowsHeight = this._getRowsHeight($tableElement);\r\n this._rowHeight = rowsHeight / itemsCount\r\n }\r\n }\r\n _findContentElement(isFixedTableRendering) {\r\n var $content = this.element();\r\n var scrollable = this.getScrollable();\r\n if ($content) {\r\n if (scrollable) {\r\n $content = $(scrollable.content())\r\n }\r\n return $content.children().first()\r\n }\r\n }\r\n _getRowElements(tableElement) {\r\n var $rows = super._getRowElements(tableElement);\r\n return $rows && $rows.not(\".\".concat(FREE_SPACE_CLASS))\r\n }\r\n _getFreeSpaceRowElements($table) {\r\n var tableElements = $table || this.getTableElements();\r\n return tableElements && tableElements.children(\"tbody\").children(\".\".concat(FREE_SPACE_CLASS))\r\n }\r\n _getNoDataText() {\r\n return this.option(\"noDataText\")\r\n }\r\n _rowClick(e) {\r\n var item = this._dataController.items()[e.rowIndex] || {};\r\n this.executeAction(\"onRowClick\", extend({\r\n evaluate(expr) {\r\n var getter = compileGetter(expr);\r\n return getter(item.data)\r\n }\r\n }, e, item))\r\n }\r\n _rowDblClick(e) {\r\n var item = this._dataController.items()[e.rowIndex] || {};\r\n this.executeAction(\"onRowDblClick\", extend({}, e, item))\r\n }\r\n _getColumnsCountBeforeGroups(columns) {\r\n for (var i = 0; i < columns.length; i++) {\r\n if (\"groupExpand\" === columns[i].type) {\r\n return i\r\n }\r\n }\r\n return 0\r\n }\r\n _getGroupCellOptions(options) {\r\n var columnsCountBeforeGroups = this._getColumnsCountBeforeGroups(options.columns);\r\n var columnIndex = (options.row.groupIndex || 0) + columnsCountBeforeGroups;\r\n return {\r\n columnIndex: columnIndex,\r\n colspan: options.columns.length - columnIndex - 1\r\n }\r\n }\r\n _needWrapRow() {\r\n return super._needWrapRow.apply(this, arguments) || !!this.option(\"dataRowTemplate\")\r\n }\r\n _renderCells($row, options) {\r\n if (\"group\" === options.row.rowType) {\r\n this._renderGroupedCells($row, options)\r\n } else if (options.row.values) {\r\n super._renderCells($row, options)\r\n }\r\n }\r\n _renderGroupedCells($row, options) {\r\n var {\r\n row: row\r\n } = options;\r\n var expandColumn;\r\n var {\r\n columns: columns\r\n } = options;\r\n var {\r\n rowIndex: rowIndex\r\n } = row;\r\n var isExpanded;\r\n var groupCellOptions = this._getGroupCellOptions(options);\r\n for (var i = 0; i <= groupCellOptions.columnIndex; i++) {\r\n if (i === groupCellOptions.columnIndex && columns[i].allowCollapsing && \"infinite\" !== options.scrollingMode) {\r\n isExpanded = !!row.isExpanded;\r\n expandColumn = columns[i]\r\n } else {\r\n isExpanded = null;\r\n expandColumn = {\r\n command: \"expand\",\r\n cssClass: columns[i].cssClass\r\n }\r\n }\r\n if (this._needRenderCell(i, options.columnIndices)) {\r\n this._renderCell($row, {\r\n value: isExpanded,\r\n row: row,\r\n rowIndex: rowIndex,\r\n column: expandColumn,\r\n columnIndex: i,\r\n columnIndices: options.columnIndices,\r\n change: options.change\r\n })\r\n }\r\n }\r\n var groupColumnAlignment = getDefaultAlignment(this.option(\"rtlEnabled\"));\r\n var groupColumn = extend({}, columns[groupCellOptions.columnIndex], {\r\n command: null,\r\n type: null,\r\n cssClass: null,\r\n width: null,\r\n showWhenGrouped: false,\r\n alignment: groupColumnAlignment\r\n });\r\n if (groupCellOptions.colspan > 1) {\r\n groupColumn.colspan = groupCellOptions.colspan\r\n }\r\n if (this._needRenderCell(groupCellOptions.columnIndex + 1, options.columnIndices)) {\r\n this._renderCell($row, {\r\n value: row.values[row.groupIndex],\r\n row: row,\r\n rowIndex: rowIndex,\r\n column: groupColumn,\r\n columnIndex: groupCellOptions.columnIndex + 1,\r\n columnIndices: options.columnIndices,\r\n change: options.change\r\n })\r\n }\r\n }\r\n _renderRows($table, options) {\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n super._renderRows($table, extend({\r\n scrollingMode: scrollingMode\r\n }, options));\r\n this._checkRowKeys(options.change);\r\n this._renderFreeSpaceRow($table, options.change);\r\n if (!this._hasHeight) {\r\n this.updateFreeSpaceRowHeight($table)\r\n }\r\n }\r\n _renderDataRowByTemplate($table, options, dataRowTemplate) {\r\n var {\r\n row: row\r\n } = options;\r\n var rowOptions = extend({\r\n columns: options.columns\r\n }, row);\r\n var $tbody = this._createRow(row, \"tbody\");\r\n $tbody.appendTo($table);\r\n this.renderTemplate($tbody, dataRowTemplate, rowOptions, true, options.change);\r\n this._rowPrepared($tbody, rowOptions, options.row)\r\n }\r\n _renderRow($table, options) {\r\n var {\r\n row: row\r\n } = options;\r\n var {\r\n rowTemplate: rowTemplate\r\n } = this.option();\r\n var dataRowTemplate = this.option(\"dataRowTemplate\");\r\n if (\"data\" === row.rowType && dataRowTemplate) {\r\n this._renderDataRowByTemplate($table, options, dataRowTemplate)\r\n } else if ((\"data\" === row.rowType || \"group\" === row.rowType) && !isDefined(row.groupIndex) && rowTemplate) {\r\n this.renderTemplate($table, rowTemplate, extend({\r\n columns: options.columns\r\n }, row), true)\r\n } else {\r\n super._renderRow($table, options)\r\n }\r\n }\r\n _renderTable(options) {\r\n var that = this;\r\n var $table = super._renderTable(options);\r\n if (!isDefined(that.getTableElement())) {\r\n that.setTableElement($table);\r\n that._renderScrollable(true);\r\n that.resizeCompleted.add((function resizeCompletedHandler() {\r\n var scrollableInstance = that.getScrollable();\r\n if (scrollableInstance && that.element().closest(getWindow().document).length) {\r\n that.resizeCompleted.remove(resizeCompletedHandler);\r\n scrollableInstance._visibilityChanged(true)\r\n }\r\n }))\r\n } else {\r\n that._renderScrollable()\r\n }\r\n return $table\r\n }\r\n _createTable() {\r\n var $table = super._createTable.apply(this, arguments);\r\n if (this.option().rowTemplate || this.option().dataRowTemplate) {\r\n $table.appendTo(this.component.$element())\r\n }\r\n return $table\r\n }\r\n _renderCore(change) {\r\n var $element = this.element();\r\n $element.addClass(this.addWidgetPrefix(ROWS_VIEW_CLASS)).toggleClass(this.addWidgetPrefix(NOWRAP_CLASS), !this.option(\"wordWrapEnabled\"));\r\n $element.toggleClass(EMPTY_CLASS, this._dataController.isEmpty());\r\n this.setAria(\"role\", \"presentation\", $element);\r\n var $table = this._renderTable({\r\n change: change\r\n });\r\n var deferred = this._updateContent($table, change);\r\n super._renderCore(change);\r\n this._lastColumnWidths = null;\r\n return deferred\r\n }\r\n _getRows(change) {\r\n return change && change.items || this._dataController.items()\r\n }\r\n _getCellOptions(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var {\r\n row: row\r\n } = options;\r\n var {\r\n data: data\r\n } = row;\r\n var summaryCells = row && row.summaryCells;\r\n var {\r\n value: value\r\n } = options;\r\n var displayValue = gridCoreUtils.getDisplayValue(column, value, data, row.rowType);\r\n var parameters = super._getCellOptions(options);\r\n parameters.value = value;\r\n parameters.oldValue = options.oldValue;\r\n parameters.displayValue = displayValue;\r\n parameters.row = row;\r\n parameters.key = row.key;\r\n parameters.data = data;\r\n parameters.rowType = row.rowType;\r\n parameters.values = row.values;\r\n parameters.text = !column.command ? gridCoreUtils.formatValue(displayValue, column) : \"\";\r\n parameters.rowIndex = row.rowIndex;\r\n parameters.summaryItems = summaryCells && summaryCells[options.columnIndex];\r\n parameters.resized = column.resizedCallbacks;\r\n if (isDefined(column.groupIndex) && !column.command) {\r\n var groupingTextsOptions = this.option(\"grouping.texts\");\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n if (\"virtual\" !== scrollingMode && \"infinite\" !== scrollingMode) {\r\n parameters.groupContinuesMessage = data && data.isContinuationOnNextPage && groupingTextsOptions && groupingTextsOptions.groupContinuesMessage;\r\n parameters.groupContinuedMessage = data && data.isContinuation && groupingTextsOptions && groupingTextsOptions.groupContinuedMessage\r\n }\r\n }\r\n return parameters\r\n }\r\n _setRowsOpacityCore($rows, visibleColumns, columnIndex, value) {\r\n var columnsController = this._columnsController;\r\n var columns = columnsController.getColumns();\r\n var column = columns && columns[columnIndex];\r\n var columnID = column && column.isBand && column.index;\r\n each($rows, (rowIndex, row) => {\r\n if (!$(row).hasClass(GROUP_ROW_CLASS)) {\r\n for (var i = 0; i < visibleColumns.length; i++) {\r\n if (isNumeric(columnID) && columnsController.isParentBandColumn(visibleColumns[i].index, columnID) || visibleColumns[i].index === columnIndex) {\r\n $rows.eq(rowIndex).children().eq(i).css({\r\n opacity: value\r\n });\r\n if (!isNumeric(columnID)) {\r\n break\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }\r\n _getDevicePixelRatio() {\r\n return getWindow().devicePixelRatio\r\n }\r\n renderNoDataText() {\r\n return gridCoreUtils.renderNoDataText.apply(this, arguments)\r\n }\r\n getCellOptions(rowIndex, columnIdentifier) {\r\n var rowOptions = this._dataController.items()[rowIndex];\r\n var cellOptions;\r\n var column;\r\n if (rowOptions) {\r\n if (isString(columnIdentifier)) {\r\n column = this._columnsController.columnOption(columnIdentifier)\r\n } else {\r\n column = this._columnsController.getVisibleColumns()[columnIdentifier]\r\n }\r\n if (column) {\r\n cellOptions = this._getCellOptions({\r\n value: column.calculateCellValue(rowOptions.data),\r\n rowIndex: rowOptions.rowIndex,\r\n row: rowOptions,\r\n column: column\r\n })\r\n }\r\n }\r\n return cellOptions\r\n }\r\n getRow(index) {\r\n if (index >= 0) {\r\n var rows = this._getRowElements();\r\n if (rows.length > index) {\r\n return $(rows[index])\r\n }\r\n }\r\n return\r\n }\r\n updateFreeSpaceRowHeight($table) {\r\n var dataController = this._dataController;\r\n var itemCount = dataController.items(true).length;\r\n var contentElement = this._findContentElement();\r\n var freeSpaceRowElements = this._getFreeSpaceRowElements($table);\r\n if (freeSpaceRowElements && contentElement && dataController.totalCount() >= 0) {\r\n var isFreeSpaceRowVisible = false;\r\n if (itemCount > 0) {\r\n if (!this._hasHeight) {\r\n var freeSpaceRowCount = dataController.pageSize() - itemCount;\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n if (freeSpaceRowCount > 0 && dataController.pageCount() > 1 && \"virtual\" !== scrollingMode && \"infinite\" !== scrollingMode) {\r\n setHeight(freeSpaceRowElements, freeSpaceRowCount * this._rowHeight);\r\n isFreeSpaceRowVisible = true\r\n }\r\n if (!isFreeSpaceRowVisible && $table) {\r\n setHeight(freeSpaceRowElements, 0)\r\n } else {\r\n freeSpaceRowElements.toggle(isFreeSpaceRowVisible)\r\n }\r\n this._updateLastRowBorder(isFreeSpaceRowVisible)\r\n } else {\r\n freeSpaceRowElements.hide();\r\n deferUpdate(() => {\r\n var scrollbarWidth = this.getScrollbarWidth(true);\r\n var elementHeightWithoutScrollbar = getHeight(this.element()) - scrollbarWidth;\r\n var contentHeight = getOuterHeight(contentElement);\r\n var showFreeSpaceRow = elementHeightWithoutScrollbar - contentHeight > 0;\r\n var rowsHeight = this._getRowsHeight(contentElement.children().first());\r\n var $tableElement = $table || this.getTableElements();\r\n var borderTopWidth = Math.ceil(parseFloat($tableElement.css(\"borderTopWidth\")));\r\n var heightCorrection = this._getHeightCorrection();\r\n var resultHeight = elementHeightWithoutScrollbar - rowsHeight - borderTopWidth - heightCorrection;\r\n if (showFreeSpaceRow) {\r\n deferRender(() => {\r\n freeSpaceRowElements.css(\"height\", resultHeight);\r\n isFreeSpaceRowVisible = true;\r\n freeSpaceRowElements.show()\r\n })\r\n }\r\n deferRender(() => this._updateLastRowBorder(isFreeSpaceRowVisible))\r\n })\r\n }\r\n } else {\r\n freeSpaceRowElements.css(\"height\", 0);\r\n freeSpaceRowElements.show();\r\n this._updateLastRowBorder(true)\r\n }\r\n }\r\n }\r\n _getHeightCorrection() {\r\n var isZoomedWebkit = browser.webkit && this._getDevicePixelRatio() >= 2;\r\n var isChromeLatest = browser.chrome && browser.version >= 91;\r\n var hasExtraBorderTop = browser.mozilla && browser.version >= 70 && !this.option(\"showRowLines\");\r\n return isZoomedWebkit || hasExtraBorderTop || isChromeLatest ? 1 : 0\r\n }\r\n _columnOptionChanged(e) {\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n if (e.changeTypes.grouping) {\r\n return\r\n }\r\n if (optionNames.width || optionNames.visibleWidth) {\r\n super._columnOptionChanged(e);\r\n this._fireColumnResizedCallbacks()\r\n }\r\n }\r\n getScrollable() {\r\n return this._scrollable\r\n }\r\n _handleDataChanged(change) {\r\n switch (change.changeType) {\r\n case \"refresh\":\r\n case \"prepend\":\r\n case \"append\":\r\n case \"update\":\r\n this.render(null, change);\r\n break;\r\n default:\r\n this._update(change)\r\n }\r\n }\r\n publicMethods() {\r\n return [\"isScrollbarVisible\", \"getTopVisibleRowData\", \"getScrollbarWidth\", \"getCellElement\", \"getRowElement\", \"getScrollable\"]\r\n }\r\n contentWidth() {\r\n return getWidth(this.element()) - this.getScrollbarWidth()\r\n }\r\n getScrollbarWidth(isHorizontal) {\r\n var scrollableContainer = this._scrollableContainer && this._scrollableContainer.get(0);\r\n var scrollbarWidth = 0;\r\n if (scrollableContainer) {\r\n if (!isHorizontal) {\r\n scrollbarWidth = scrollableContainer.clientWidth ? scrollableContainer.offsetWidth - scrollableContainer.clientWidth : 0\r\n } else {\r\n scrollbarWidth = scrollableContainer.clientHeight ? scrollableContainer.offsetHeight - scrollableContainer.clientHeight : 0;\r\n scrollbarWidth += getScrollableBottomPadding(this)\r\n }\r\n }\r\n return scrollbarWidth > 0 ? scrollbarWidth : 0\r\n }\r\n _fireColumnResizedCallbacks() {\r\n var lastColumnWidths = this._lastColumnWidths || [];\r\n var columnWidths = [];\r\n var columns = this.getColumns();\r\n for (var i = 0; i < columns.length; i++) {\r\n columnWidths[i] = columns[i].visibleWidth;\r\n if (columns[i].resizedCallbacks && !isDefined(columns[i].groupIndex) && lastColumnWidths[i] !== columnWidths[i]) {\r\n columns[i].resizedCallbacks.fire(columnWidths[i])\r\n }\r\n }\r\n this._lastColumnWidths = columnWidths\r\n }\r\n _updateLastRowBorder(isFreeSpaceRowVisible) {\r\n if (this.option(\"showBorders\") && !isFreeSpaceRowVisible) {\r\n this.element().addClass(LAST_ROW_BORDER)\r\n } else {\r\n this.element().removeClass(LAST_ROW_BORDER)\r\n }\r\n }\r\n _updateScrollable() {\r\n var scrollable = Scrollable.getInstance(this.element());\r\n if (scrollable) {\r\n scrollable.update();\r\n if (scrollable.option(\"useNative\") || !(null === scrollable || void 0 === scrollable ? void 0 : scrollable.isRenovated())) {\r\n this._updateHorizontalScrollPosition()\r\n }\r\n }\r\n }\r\n _updateHorizontalScrollPosition() {\r\n var scrollable = this.getScrollable();\r\n var scrollLeft = scrollable && scrollable.scrollOffset().left;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n if (rtlEnabled) {\r\n var maxHorizontalScrollOffset = getMaxHorizontalScrollOffset(scrollable);\r\n var scrollRight = maxHorizontalScrollOffset - scrollLeft;\r\n if (scrollRight !== this._scrollRight) {\r\n this._scrollLeft = maxHorizontalScrollOffset - this._scrollRight\r\n }\r\n }\r\n if (this._scrollLeft >= 0 && scrollLeft !== this._scrollLeft) {\r\n scrollable.scrollTo({\r\n x: this._scrollLeft\r\n })\r\n }\r\n }\r\n _resizeCore() {\r\n var that = this;\r\n that._fireColumnResizedCallbacks();\r\n that._updateRowHeight();\r\n deferRender(() => {\r\n that._renderScrollable();\r\n that.renderNoDataText();\r\n that.updateFreeSpaceRowHeight();\r\n deferUpdate(() => {\r\n that._updateScrollable()\r\n })\r\n })\r\n }\r\n scrollTo(location) {\r\n var $element = this.element();\r\n var dxScrollable = $element && Scrollable.getInstance($element);\r\n if (dxScrollable) {\r\n dxScrollable.scrollTo(location)\r\n }\r\n }\r\n height(height) {\r\n var $element = this.element();\r\n if (0 === arguments.length) {\r\n return $element ? getOuterHeight($element, true) : 0\r\n }\r\n if (isDefined(height) && $element) {\r\n this.hasHeight(\"auto\" !== height);\r\n setHeight($element, height)\r\n }\r\n }\r\n hasHeight(hasHeight) {\r\n if (0 === arguments.length) {\r\n return !!this._hasHeight\r\n }\r\n this._hasHeight = hasHeight;\r\n return\r\n }\r\n setLoading(isLoading, messageText) {\r\n var loadPanel = this._loadPanel;\r\n var dataController = this._dataController;\r\n var loadPanelOptions = this.option(\"loadPanel\") || {};\r\n var animation = dataController.isLoaded() ? loadPanelOptions.animation : null;\r\n var $element = this.element();\r\n if (!hasWindow()) {\r\n return\r\n }\r\n if (!loadPanel && void 0 !== messageText && dataController.isLocalStore() && \"auto\" === loadPanelOptions.enabled && $element) {\r\n this._renderLoadPanel($element, $element.parent());\r\n loadPanel = this._loadPanel\r\n }\r\n if (loadPanel) {\r\n var visibilityOptions = {\r\n message: messageText || loadPanelOptions.text,\r\n animation: animation,\r\n visible: isLoading\r\n };\r\n if (isLoading) {\r\n visibilityOptions.position = gridCoreUtils.calculateLoadPanelPosition($element)\r\n }\r\n clearTimeout(this._hideLoadingTimeoutID);\r\n if (loadPanel.option(\"visible\") && !isLoading) {\r\n this._hideLoadingTimeoutID = setTimeout(() => {\r\n loadPanel.option(visibilityOptions)\r\n }, LOADPANEL_HIDE_TIMEOUT)\r\n } else {\r\n loadPanel.option(visibilityOptions)\r\n }\r\n }\r\n }\r\n setRowsOpacity(columnIndex, value) {\r\n var $rows = this._getRowElements().not(\".\".concat(GROUP_ROW_CLASS)) || [];\r\n this._setRowsOpacityCore($rows, this.getColumns(), columnIndex, value)\r\n }\r\n _getCellElementsCore(rowIndex) {\r\n var $cells = super._getCellElementsCore.apply(this, arguments);\r\n if ($cells) {\r\n var groupCellIndex = $cells.filter(\".\".concat(GROUP_CELL_CLASS)).index();\r\n if (groupCellIndex >= 0 && $cells.length > groupCellIndex + 1) {\r\n return $cells.slice(0, groupCellIndex + 1)\r\n }\r\n }\r\n return $cells\r\n }\r\n _getBoundaryVisibleItemIndex(isTop, isFloor) {\r\n var itemIndex = 0;\r\n var prevOffset = 0;\r\n var offset = 0;\r\n var viewportBoundary = this._scrollTop;\r\n var $contentElement = this._findContentElement();\r\n var contentElementOffsetTop = $contentElement && $contentElement.offset().top;\r\n var items = this._dataController.items();\r\n var tableElement = this.getTableElement();\r\n if (items.length && tableElement) {\r\n var rowElements = this._getRowElements(tableElement).filter(\":visible\");\r\n if (!isTop) {\r\n var height = getOuterHeight(this._hasHeight ? this.element() : getWindow());\r\n viewportBoundary += height\r\n }\r\n for (itemIndex = 0; itemIndex < items.length; itemIndex++) {\r\n prevOffset = offset;\r\n var $rowElement = $(rowElements).eq(itemIndex);\r\n if ($rowElement.length) {\r\n offset = $rowElement.offset();\r\n offset = (isTop ? offset.top : offset.top + getOuterHeight($rowElement)) - contentElementOffsetTop;\r\n if (offset > viewportBoundary) {\r\n if (itemIndex) {\r\n if (isFloor || 2 * viewportBoundary < Math.round(offset + prevOffset)) {\r\n itemIndex--\r\n }\r\n }\r\n break\r\n }\r\n }\r\n }\r\n if (itemIndex && itemIndex === items.length) {\r\n itemIndex--\r\n }\r\n }\r\n return itemIndex\r\n }\r\n getTopVisibleItemIndex(isFloor) {\r\n return this._getBoundaryVisibleItemIndex(true, isFloor)\r\n }\r\n getBottomVisibleItemIndex(isFloor) {\r\n return this._getBoundaryVisibleItemIndex(false, isFloor)\r\n }\r\n getTopVisibleRowData() {\r\n var itemIndex = this.getTopVisibleItemIndex();\r\n var items = this._dataController.items();\r\n if (items[itemIndex]) {\r\n return items[itemIndex].data\r\n }\r\n return\r\n }\r\n _scrollToElement($element, offset) {\r\n var scrollable = this.getScrollable();\r\n scrollable && scrollable.scrollToElement($element, offset)\r\n }\r\n optionChanged(args) {\r\n super.optionChanged(args);\r\n switch (args.name) {\r\n case \"wordWrapEnabled\":\r\n case \"showColumnLines\":\r\n case \"showRowLines\":\r\n case \"rowAlternationEnabled\":\r\n case \"rowTemplate\":\r\n case \"dataRowTemplate\":\r\n case \"twoWayBindingEnabled\":\r\n this._invalidate(true, true);\r\n args.handled = true;\r\n break;\r\n case \"scrolling\":\r\n this._rowHeight = null;\r\n this._tableElement = null;\r\n args.handled = true;\r\n break;\r\n case \"rtlEnabled\":\r\n this._rowHeight = null;\r\n this._tableElement = null;\r\n break;\r\n case \"loadPanel\":\r\n this._tableElement = null;\r\n this._invalidate(true, \"loadPanel.enabled\" !== args.fullName);\r\n args.handled = true;\r\n break;\r\n case \"noDataText\":\r\n this.renderNoDataText();\r\n args.handled = true\r\n }\r\n }\r\n dispose() {\r\n super.dispose();\r\n clearTimeout(this._hideLoadingTimeoutID);\r\n this._scrollable && this._scrollable.dispose()\r\n }\r\n setScrollerSpacing(vScrollbarWidth, hScrollbarWidth) {}\r\n _restoreErrorRow(contentTable) {}\r\n isElementInside($element) {\r\n var $rowsViewElement = $element.closest(\".\".concat(this.addWidgetPrefix(ROWS_VIEW_CLASS)));\r\n return $rowsViewElement.is(this.element())\r\n }\r\n}\r\nexport var rowsModule = {\r\n defaultOptions: () => ({\r\n hoverStateEnabled: false,\r\n scrolling: {\r\n useNative: \"auto\"\r\n },\r\n loadPanel: {\r\n enabled: \"auto\",\r\n text: messageLocalization.format(\"Loading\"),\r\n width: 200,\r\n height: 90,\r\n showIndicator: true,\r\n indicatorSrc: \"\",\r\n showPane: true\r\n },\r\n dataRowTemplate: null,\r\n columnAutoWidth: false,\r\n noDataText: messageLocalization.format(\"dxDataGrid-noDataText\"),\r\n wordWrapEnabled: false,\r\n showColumnLines: true,\r\n showRowLines: false,\r\n rowAlternationEnabled: false,\r\n activeStateEnabled: false,\r\n twoWayBindingEnabled: true\r\n }),\r\n views: {\r\n rowsView: RowsView\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/rows.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n rowsModule\r\n} from \"../../../grids/grid_core/views/m_rows_view\";\r\nimport gridCore from \"../m_core\";\r\nexport var RowsView = rowsModule.views.rowsView;\r\ngridCore.registerModule(\"rows\", rowsModule);\r\n","/**\r\n * DevExtreme (esm/ui/hierarchical_collection/ui.data_converter.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport errors from \"../../ui/widget/ui.errors\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isPrimitive\r\n} from \"../../core/utils/type\";\r\nvar DataConverter = Class.inherit({\r\n ctor: function() {\r\n this._dataStructure = [];\r\n this._itemsCount = 0;\r\n this._visibleItemsCount = 0\r\n },\r\n _indexByKey: {},\r\n _convertItemsToNodes: function(items, parentKey) {\r\n var that = this;\r\n each(items, (function(_, item) {\r\n var parentId = isDefined(parentKey) ? parentKey : that._getParentId(item);\r\n var node = that._convertItemToNode(item, parentId);\r\n that._dataStructure.push(node);\r\n that._checkForDuplicateId(node.internalFields.key);\r\n that._indexByKey[node.internalFields.key] = that._dataStructure.length - 1;\r\n if (that._itemHasChildren(item)) {\r\n that._convertItemsToNodes(that._dataAccessors.getters.items(item), node.internalFields.key)\r\n }\r\n }))\r\n },\r\n _checkForDuplicateId: function(key) {\r\n if (isDefined(this._indexByKey[key])) {\r\n throw errors.Error(\"E1040\", key)\r\n }\r\n },\r\n _getParentId: function(item) {\r\n return \"plain\" === this._dataType ? this._dataAccessors.getters.parentKey(item) : void 0\r\n },\r\n _itemHasChildren: function(item) {\r\n if (\"plain\" === this._dataType) {\r\n return\r\n }\r\n var items = this._dataAccessors.getters.items(item);\r\n return items && items.length\r\n },\r\n _getUniqueKey: function(item) {\r\n var keyGetter = this._dataAccessors.getters.key;\r\n var itemKey = keyGetter(item);\r\n var isCorrectKey = keyGetter && (itemKey || 0 === itemKey) && isPrimitive(itemKey);\r\n return isCorrectKey ? itemKey : this.getItemsCount()\r\n },\r\n _convertItemToNode: function(item, parentKey) {\r\n this._itemsCount++;\r\n false !== item.visible && this._visibleItemsCount++;\r\n var node = {\r\n internalFields: {\r\n disabled: this._dataAccessors.getters.disabled(item, {\r\n defaultValue: false\r\n }),\r\n expanded: this._dataAccessors.getters.expanded(item, {\r\n defaultValue: false\r\n }),\r\n selected: this._dataAccessors.getters.selected(item, {\r\n defaultValue: false\r\n }),\r\n key: this._getUniqueKey(item),\r\n parentKey: isDefined(parentKey) ? parentKey : this._rootValue,\r\n item: this._makeObjectFromPrimitive(item),\r\n childrenKeys: []\r\n }\r\n };\r\n extend(node, item);\r\n delete node.items;\r\n return node\r\n },\r\n setChildrenKeys: function() {\r\n var that = this;\r\n each(this._dataStructure, (function(_, node) {\r\n if (node.internalFields.parentKey === that._rootValue) {\r\n return\r\n }\r\n var parent = that.getParentNode(node);\r\n parent && parent.internalFields.childrenKeys.push(node.internalFields.key)\r\n }))\r\n },\r\n _makeObjectFromPrimitive: function(item) {\r\n if (isPrimitive(item)) {\r\n var key = item;\r\n item = {};\r\n this._dataAccessors.setters.key(item, key)\r\n }\r\n return item\r\n },\r\n _convertToPublicNode: function(node, parent) {\r\n if (!node) {\r\n return null\r\n }\r\n var publicNode = {\r\n text: this._dataAccessors.getters.display(node),\r\n key: node.internalFields.key,\r\n selected: node.internalFields.selected,\r\n expanded: node.internalFields.expanded,\r\n disabled: node.internalFields.disabled,\r\n parent: parent || null,\r\n itemData: node.internalFields.item,\r\n children: [],\r\n items: []\r\n };\r\n if (publicNode.parent) {\r\n publicNode.parent.children.push(publicNode);\r\n publicNode.parent.items.push(publicNode)\r\n }\r\n return publicNode\r\n },\r\n convertToPublicNodes: function(data, parent) {\r\n if (!data.length) {\r\n return []\r\n }\r\n var that = this;\r\n var publicNodes = [];\r\n each(data, (function(_, node) {\r\n node = isPrimitive(node) ? that._getByKey(node) : node;\r\n var publicNode = that._convertToPublicNode(node, parent);\r\n publicNode.children = that.convertToPublicNodes(node.internalFields.childrenKeys, publicNode);\r\n publicNodes.push(publicNode);\r\n node.internalFields.publicNode = publicNode\r\n }));\r\n return publicNodes\r\n },\r\n setDataAccessors: function(accessors) {\r\n this._dataAccessors = accessors\r\n },\r\n _getByKey: function(key) {\r\n return this._dataStructure[this.getIndexByKey(key)] || null\r\n },\r\n getParentNode: function(node) {\r\n return this._getByKey(node.internalFields.parentKey)\r\n },\r\n getByKey: function(data, key) {\r\n if (null === key || void 0 === key) {\r\n return null\r\n }\r\n var result = null;\r\n var that = this;\r\n var getByKey = function(data, key) {\r\n each(data, (function(_, element) {\r\n var currentElementKey = element.internalFields && element.internalFields.key || that._dataAccessors.getters.key(element);\r\n if (currentElementKey.toString() === key.toString()) {\r\n result = element;\r\n return false\r\n }\r\n }));\r\n return result\r\n };\r\n return getByKey(data, key)\r\n },\r\n getItemsCount: function() {\r\n return this._itemsCount\r\n },\r\n getVisibleItemsCount: function() {\r\n return this._visibleItemsCount\r\n },\r\n updateIndexByKey: function() {\r\n var that = this;\r\n this._indexByKey = {};\r\n each(this._dataStructure, (function(index, node) {\r\n that._checkForDuplicateId(node.internalFields.key);\r\n that._indexByKey[node.internalFields.key] = index\r\n }))\r\n },\r\n updateChildrenKeys: function() {\r\n this._indexByKey = {};\r\n this.removeChildrenKeys();\r\n this.updateIndexByKey();\r\n this.setChildrenKeys()\r\n },\r\n removeChildrenKeys: function() {\r\n this._indexByKey = {};\r\n each(this._dataStructure, (function(index, node) {\r\n node.internalFields.childrenKeys = []\r\n }))\r\n },\r\n getIndexByKey: function(key) {\r\n return this._indexByKey[key]\r\n },\r\n createPlainStructure: function(items, rootValue, dataType) {\r\n this._itemsCount = 0;\r\n this._visibleItemsCount = 0;\r\n this._rootValue = rootValue;\r\n this._dataType = dataType;\r\n this._indexByKey = {};\r\n this._convertItemsToNodes(items);\r\n this.setChildrenKeys();\r\n return this._dataStructure\r\n }\r\n});\r\nexport default DataConverter;\r\n","/**\r\n * DevExtreme (esm/ui/hierarchical_collection/ui.data_adapter.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isFunction,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport errors from \"../../ui/widget/ui.errors\";\r\nimport uiSearchBoxMixin from \"../../ui/widget/ui.search_box_mixin\";\r\nimport TextBox from \"../../ui/text_box\";\r\nimport query from \"../../data/query\";\r\nimport storeHelper from \"../../data/store_helper\";\r\nimport HierarchicalDataConverter from \"./ui.data_converter\";\r\nvar EXPANDED = \"expanded\";\r\nvar SELECTED = \"selected\";\r\nvar DISABLED = \"disabled\";\r\nuiSearchBoxMixin.setEditorClass(TextBox);\r\nvar DataAdapter = Class.inherit({\r\n ctor: function(options) {\r\n this.options = {};\r\n extend(this.options, this._defaultOptions(), options);\r\n this.options.dataConverter.setDataAccessors(this.options.dataAccessors);\r\n this._selectedNodesKeys = [];\r\n this._expandedNodesKeys = [];\r\n this._dataStructure = [];\r\n this._createInternalDataStructure();\r\n this.getTreeNodes()\r\n },\r\n setOption: function(name, value) {\r\n this.options[name] = value;\r\n if (\"recursiveSelection\" === name) {\r\n this._updateSelection()\r\n }\r\n },\r\n _defaultOptions: function() {\r\n return {\r\n dataAccessors: void 0,\r\n items: [],\r\n multipleSelection: true,\r\n recursiveSelection: false,\r\n recursiveExpansion: false,\r\n rootValue: 0,\r\n searchValue: \"\",\r\n dataType: \"tree\",\r\n searchMode: \"contains\",\r\n dataConverter: new HierarchicalDataConverter,\r\n onNodeChanged: noop,\r\n sort: null\r\n }\r\n },\r\n _createInternalDataStructure: function() {\r\n this._initialDataStructure = this.options.dataConverter.createPlainStructure(this.options.items, this.options.rootValue, this.options.dataType);\r\n this._dataStructure = this.options.searchValue.length ? this.search(this.options.searchValue) : this._initialDataStructure;\r\n this.options.dataConverter._dataStructure = this._dataStructure;\r\n this._updateSelection();\r\n this._updateExpansion()\r\n },\r\n _updateSelection: function() {\r\n if (this.options.recursiveSelection) {\r\n this._setChildrenSelection();\r\n this._setParentSelection()\r\n }\r\n this._selectedNodesKeys = this._updateNodesKeysArray(SELECTED)\r\n },\r\n _updateExpansion: function(key) {\r\n if (this.options.recursiveExpansion) {\r\n key ? this._updateOneBranch(key) : this._setParentExpansion()\r\n }\r\n this._expandedNodesKeys = this._updateNodesKeysArray(EXPANDED)\r\n },\r\n _updateNodesKeysArray: function(property) {\r\n var that = this;\r\n var array = [];\r\n each(that._getDataBySelectionMode(), (function(_, node) {\r\n if (!that._isNodeVisible(node)) {\r\n return\r\n }\r\n if (node.internalFields[property]) {\r\n if (property === EXPANDED || that.options.multipleSelection) {\r\n array.push(node.internalFields.key)\r\n } else {\r\n array.length && that.toggleSelection(array[0], false, true);\r\n array = [node.internalFields.key]\r\n }\r\n }\r\n }));\r\n return array\r\n },\r\n _getDataBySelectionMode: function() {\r\n return this.options.multipleSelection ? this.getData() : this.getFullData()\r\n },\r\n _isNodeVisible: function(node) {\r\n return false !== node.internalFields.item.visible\r\n },\r\n _getByKey: function(data, key) {\r\n return data === this._dataStructure ? this.options.dataConverter._getByKey(key) : this.options.dataConverter.getByKey(data, key)\r\n },\r\n _setChildrenSelection: function() {\r\n var that = this;\r\n each(this._dataStructure, (function(_, node) {\r\n if (!node.internalFields.childrenKeys.length) {\r\n return\r\n }\r\n var isSelected = node.internalFields.selected;\r\n true === isSelected && that._toggleChildrenSelection(node, isSelected)\r\n }))\r\n },\r\n _setParentSelection: function() {\r\n var that = this;\r\n each(this._dataStructure, (function(_, node) {\r\n var parent = that.options.dataConverter.getParentNode(node);\r\n if (parent && node.internalFields.parentKey !== that.options.rootValue) {\r\n that._iterateParents(node, (function(parent) {\r\n var newParentState = that._calculateSelectedState(parent);\r\n that._setFieldState(parent, SELECTED, newParentState)\r\n }))\r\n }\r\n }))\r\n },\r\n _setParentExpansion: function() {\r\n var that = this;\r\n each(this._dataStructure, (function(_, node) {\r\n if (!node.internalFields.expanded) {\r\n return\r\n }\r\n that._updateOneBranch(node.internalFields.key)\r\n }))\r\n },\r\n _updateOneBranch: function(key) {\r\n var that = this;\r\n var node = this.getNodeByKey(key);\r\n that._iterateParents(node, (function(parent) {\r\n that._setFieldState(parent, EXPANDED, true)\r\n }))\r\n },\r\n _iterateChildren: function(node, recursive, callback, processedKeys) {\r\n if (!isFunction(callback)) {\r\n return\r\n }\r\n var that = this;\r\n var nodeKey = node.internalFields.key;\r\n processedKeys = processedKeys || [];\r\n if (-1 === processedKeys.indexOf(nodeKey)) {\r\n processedKeys.push(nodeKey);\r\n each(node.internalFields.childrenKeys, (function(_, key) {\r\n var child = that.getNodeByKey(key);\r\n callback(child);\r\n if (child.internalFields.childrenKeys.length && recursive) {\r\n that._iterateChildren(child, recursive, callback, processedKeys)\r\n }\r\n }))\r\n }\r\n },\r\n _iterateParents: function(node, callback, processedKeys) {\r\n if (node.internalFields.parentKey === this.options.rootValue || !isFunction(callback)) {\r\n return\r\n }\r\n processedKeys = processedKeys || [];\r\n var key = node.internalFields.key;\r\n if (-1 === processedKeys.indexOf(key)) {\r\n processedKeys.push(key);\r\n var parent = this.options.dataConverter.getParentNode(node);\r\n if (parent) {\r\n callback(parent);\r\n if (parent.internalFields.parentKey !== this.options.rootValue) {\r\n this._iterateParents(parent, callback, processedKeys)\r\n }\r\n }\r\n }\r\n },\r\n _calculateSelectedState: function(node) {\r\n var itemsCount = node.internalFields.childrenKeys.length;\r\n var selectedItemsCount = 0;\r\n var invisibleItemsCount = 0;\r\n var result = false;\r\n for (var i = 0; i <= itemsCount - 1; i++) {\r\n var childNode = this.getNodeByKey(node.internalFields.childrenKeys[i]);\r\n var isChildInvisible = false === childNode.internalFields.item.visible;\r\n var childState = childNode.internalFields.selected;\r\n if (isChildInvisible) {\r\n invisibleItemsCount++;\r\n continue\r\n }\r\n if (childState) {\r\n selectedItemsCount++\r\n } else if (void 0 === childState) {\r\n selectedItemsCount += .5\r\n }\r\n }\r\n if (selectedItemsCount) {\r\n result = selectedItemsCount === itemsCount - invisibleItemsCount ? true : void 0\r\n }\r\n return result\r\n },\r\n _toggleChildrenSelection: function(node, state) {\r\n var that = this;\r\n this._iterateChildren(node, true, (function(child) {\r\n if (that._isNodeVisible(child)) {\r\n that._setFieldState(child, SELECTED, state)\r\n }\r\n }))\r\n },\r\n _setFieldState: function(node, field, state) {\r\n if (node.internalFields[field] === state) {\r\n return\r\n }\r\n node.internalFields[field] = state;\r\n if (node.internalFields.publicNode) {\r\n node.internalFields.publicNode[field] = state\r\n }\r\n this.options.dataAccessors.setters[field](node.internalFields.item, state);\r\n this.options.onNodeChanged(node)\r\n },\r\n _markChildren: function(keys) {\r\n var that = this;\r\n each(keys, (function(_, key) {\r\n var index = that.getIndexByKey(key);\r\n var node = that.getNodeByKey(key);\r\n that._dataStructure[index] = 0;\r\n node.internalFields.childrenKeys.length && that._markChildren(node.internalFields.childrenKeys)\r\n }))\r\n },\r\n _removeNode: function(key) {\r\n var node = this.getNodeByKey(key);\r\n this._dataStructure[this.getIndexByKey(key)] = 0;\r\n this._markChildren(node.internalFields.childrenKeys);\r\n var that = this;\r\n var counter = 0;\r\n var items = extend([], this._dataStructure);\r\n each(items, (function(index, item) {\r\n if (!item) {\r\n that._dataStructure.splice(index - counter, 1);\r\n counter++\r\n }\r\n }))\r\n },\r\n _addNode: function(item) {\r\n var dataConverter = this.options.dataConverter;\r\n var node = dataConverter._convertItemToNode(item, this.options.dataAccessors.getters.parentKey(item));\r\n this._dataStructure = this._dataStructure.concat(node);\r\n this._initialDataStructure = this._initialDataStructure.concat(node);\r\n dataConverter._dataStructure = dataConverter._dataStructure.concat(node)\r\n },\r\n _updateFields: function() {\r\n this.options.dataConverter.updateChildrenKeys();\r\n this._updateSelection();\r\n this._updateExpansion()\r\n },\r\n getSelectedNodesKeys: function() {\r\n return this._selectedNodesKeys\r\n },\r\n getExpandedNodesKeys: function() {\r\n return this._expandedNodesKeys\r\n },\r\n getData: function() {\r\n return this._dataStructure\r\n },\r\n getFullData: function() {\r\n return this._initialDataStructure\r\n },\r\n getNodeByItem: function(item) {\r\n var result = null;\r\n each(this._dataStructure, (function(_, node) {\r\n if (node.internalFields.item === item) {\r\n result = node;\r\n return false\r\n }\r\n }));\r\n return result\r\n },\r\n getNodesByItems: function(items) {\r\n var that = this;\r\n var nodes = [];\r\n each(items, (function(_, item) {\r\n var node = that.getNodeByItem(item);\r\n node && nodes.push(node)\r\n }));\r\n return nodes\r\n },\r\n getNodeByKey: function(key, data) {\r\n return this._getByKey(data || this._getDataBySelectionMode(), key)\r\n },\r\n getTreeNodes: function() {\r\n return this.options.dataConverter.convertToPublicNodes(this.getRootNodes())\r\n },\r\n getItemsCount: function() {\r\n return this.options.dataConverter.getItemsCount()\r\n },\r\n getVisibleItemsCount: function() {\r\n return this.options.dataConverter.getVisibleItemsCount()\r\n },\r\n getPublicNode: function(node) {\r\n return node.internalFields.publicNode\r\n },\r\n getRootNodes: function() {\r\n return this.getChildrenNodes(this.options.rootValue)\r\n },\r\n getChildrenNodes: function(parentKey) {\r\n return query(this._dataStructure, {\r\n langParams: this.options.langParams\r\n }).filter([\"internalFields.parentKey\", parentKey]).toArray()\r\n },\r\n getIndexByKey: function(key) {\r\n return this.options.dataConverter.getIndexByKey(key)\r\n },\r\n addItem: function(item) {\r\n this._addNode(item);\r\n this._updateFields()\r\n },\r\n removeItem: function(key) {\r\n this._removeNode(key);\r\n this._updateFields()\r\n },\r\n toggleSelection: function(key, state, selectRecursive) {\r\n var isSingleModeUnselect = this._isSingleModeUnselect(state);\r\n var node = this._getByKey(selectRecursive || isSingleModeUnselect ? this._initialDataStructure : this._dataStructure, key);\r\n this._setFieldState(node, SELECTED, state);\r\n if (this.options.recursiveSelection && !selectRecursive) {\r\n state ? this._setChildrenSelection() : this._toggleChildrenSelection(node, state);\r\n this._setParentSelection()\r\n }\r\n this._selectedNodesKeys = this._updateNodesKeysArray(SELECTED)\r\n },\r\n _isSingleModeUnselect: function(selectionState) {\r\n return !this.options.multipleSelection && !selectionState\r\n },\r\n toggleNodeDisabledState: function(key, state) {\r\n var node = this.getNodeByKey(key);\r\n this._setFieldState(node, DISABLED, state)\r\n },\r\n toggleSelectAll: function(state) {\r\n if (!isDefined(state)) {\r\n return\r\n }\r\n var that = this;\r\n var lastSelectedKey = that._selectedNodesKeys[that._selectedNodesKeys.length - 1];\r\n var dataStructure = that._isSingleModeUnselect(state) ? this._initialDataStructure : this._dataStructure;\r\n each(dataStructure, (function(index, node) {\r\n if (!that._isNodeVisible(node)) {\r\n return\r\n }\r\n that._setFieldState(node, SELECTED, state)\r\n }));\r\n that._selectedNodesKeys = that._updateNodesKeysArray(SELECTED);\r\n if (!state && that.options.selectionRequired) {\r\n that.toggleSelection(lastSelectedKey, true)\r\n }\r\n },\r\n isAllSelected: function() {\r\n if (this.getSelectedNodesKeys().length) {\r\n return this.getSelectedNodesKeys().length === this.getVisibleItemsCount() ? true : void 0\r\n } else {\r\n return false\r\n }\r\n },\r\n toggleExpansion: function(key, state) {\r\n var node = this.getNodeByKey(key);\r\n this._setFieldState(node, EXPANDED, state);\r\n if (state) {\r\n this._updateExpansion(key)\r\n }\r\n this._expandedNodesKeys = this._updateNodesKeysArray(EXPANDED)\r\n },\r\n isFiltered: function(item) {\r\n return !this.options.searchValue.length || !!this._filterDataStructure(this.options.searchValue, [item]).length\r\n },\r\n _createCriteria: function(selector, value, operation) {\r\n var searchFilter = [];\r\n if (!Array.isArray(selector)) {\r\n return [selector, operation, value]\r\n }\r\n each(selector, (function(i, item) {\r\n searchFilter.push([item, operation, value], \"or\")\r\n }));\r\n searchFilter.pop();\r\n return searchFilter\r\n },\r\n _filterDataStructure: function(filterValue, dataStructure) {\r\n var selector = this.options.searchExpr || this.options.dataAccessors.getters.display;\r\n var operation = uiSearchBoxMixin.getOperationBySearchMode(this.options.searchMode);\r\n var criteria = this._createCriteria(selector, filterValue, operation);\r\n dataStructure = dataStructure || this._initialDataStructure;\r\n return query(dataStructure, {\r\n langParams: this.options.langParams\r\n }).filter(criteria).toArray()\r\n },\r\n search: function(searchValue) {\r\n var that = this;\r\n var matches = this._filterDataStructure(searchValue);\r\n var dataConverter = this.options.dataConverter;\r\n ! function lookForParents(matches, index) {\r\n var length = matches.length;\r\n while (index < length) {\r\n var node = matches[index];\r\n if (node.internalFields.parentKey === that.options.rootValue) {\r\n index++;\r\n continue\r\n }\r\n var parent = dataConverter.getParentNode(node);\r\n if (!parent) {\r\n errors.log(\"W1007\", node.internalFields.parentKey, node.internalFields.key);\r\n index++;\r\n continue\r\n }\r\n if (!parent.internalFields.expanded) {\r\n that._setFieldState(parent, EXPANDED, true)\r\n }\r\n if (matches.includes(parent)) {\r\n index++;\r\n continue\r\n }\r\n matches.splice(index, 0, parent);\r\n lookForParents(matches, index)\r\n }\r\n }(matches, 0);\r\n if (this.options.sort) {\r\n matches = storeHelper.queryByOptions(query(matches), {\r\n sort: this.options.sort,\r\n langParams: this.options.langParams\r\n }).toArray()\r\n }\r\n dataConverter._indexByKey = {};\r\n each(matches, (function(index, node) {\r\n node.internalFields.childrenKeys = [];\r\n dataConverter._indexByKey[node.internalFields.key] = index\r\n }));\r\n dataConverter._dataStructure = matches;\r\n dataConverter.setChildrenKeys();\r\n return dataConverter._dataStructure\r\n }\r\n});\r\nexport default DataAdapter;\r\n","/**\r\n * DevExtreme (esm/ui/hierarchical_collection/ui.hierarchical_collection_widget.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n compileGetter,\r\n compileSetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n getImageContainer\r\n} from \"../../core/utils/icon\";\r\nimport HierarchicalDataAdapter from \"./ui.data_adapter\";\r\nimport CollectionWidget from \"../collection/ui.collection_widget.edit\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nimport {\r\n isFunction,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar ITEM_URL_CLASS = \"dx-item-url\";\r\nvar HierarchicalCollectionWidget = CollectionWidget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n keyExpr: \"id\",\r\n displayExpr: \"text\",\r\n selectedExpr: \"selected\",\r\n disabledExpr: \"disabled\",\r\n itemsExpr: \"items\",\r\n hoverStateEnabled: true,\r\n parentIdExpr: \"parentId\",\r\n expandedExpr: \"expanded\"\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initAccessors();\r\n this._initDataAdapter();\r\n this._initDynamicTemplates()\r\n },\r\n _initDataSource: function() {\r\n this.callBase();\r\n this._dataSource && this._dataSource.paginate(false)\r\n },\r\n _initDataAdapter: function() {\r\n var accessors = this._createDataAdapterAccessors();\r\n this._dataAdapter = new HierarchicalDataAdapter(extend({\r\n dataAccessors: {\r\n getters: accessors.getters,\r\n setters: accessors.setters\r\n },\r\n items: this.option(\"items\")\r\n }, this._getDataAdapterOptions()))\r\n },\r\n _getDataAdapterOptions: noop,\r\n _getItemExtraPropNames: noop,\r\n _initDynamicTemplates: function() {\r\n var fields = [\"text\", \"html\", \"items\", \"icon\"].concat(this._getItemExtraPropNames());\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(this._addContent.bind(this), fields, this.option(\"integrationOptions.watchMethod\"), {\r\n text: this._displayGetter,\r\n items: this._itemsGetter\r\n })\r\n })\r\n },\r\n _addContent: function($container, itemData) {\r\n $container.html(itemData.html).append(this._getIconContainer(itemData)).append(this._getTextContainer(itemData))\r\n },\r\n _getLinkContainer: function(iconContainer, textContainer, _ref) {\r\n var {\r\n linkAttr: linkAttr,\r\n url: url\r\n } = _ref;\r\n var linkAttributes = isObject(linkAttr) ? linkAttr : {};\r\n return $(\"<a>\").addClass(ITEM_URL_CLASS).attr(_extends({}, linkAttributes, {\r\n href: url\r\n })).append(iconContainer).append(textContainer)\r\n },\r\n _getIconContainer: function(itemData) {\r\n return itemData.icon ? getImageContainer(itemData.icon) : void 0\r\n },\r\n _getTextContainer: function(itemData) {\r\n return $(\"<span>\").text(itemData.text)\r\n },\r\n _initAccessors: function() {\r\n var that = this;\r\n each(this._getAccessors(), (function(_, accessor) {\r\n that._compileAccessor(accessor)\r\n }));\r\n this._compileDisplayGetter()\r\n },\r\n _getAccessors: function() {\r\n return [\"key\", \"selected\", \"items\", \"disabled\", \"parentId\", \"expanded\"]\r\n },\r\n _getChildNodes: function(node) {\r\n var that = this;\r\n var arr = [];\r\n each(node.internalFields.childrenKeys, (function(_, key) {\r\n var childNode = that._dataAdapter.getNodeByKey(key);\r\n arr.push(childNode)\r\n }));\r\n return arr\r\n },\r\n _hasChildren: function(node) {\r\n return node && node.internalFields.childrenKeys.length\r\n },\r\n _compileAccessor: function(optionName) {\r\n var getter = \"_\" + optionName + \"Getter\";\r\n var setter = \"_\" + optionName + \"Setter\";\r\n var optionExpr = this.option(optionName + \"Expr\");\r\n if (!optionExpr) {\r\n this[getter] = noop;\r\n this[setter] = noop;\r\n return\r\n } else if (isFunction(optionExpr)) {\r\n this[setter] = function(obj, value) {\r\n obj[optionExpr()] = value\r\n };\r\n this[getter] = function(obj) {\r\n return obj[optionExpr()]\r\n };\r\n return\r\n }\r\n this[getter] = compileGetter(optionExpr);\r\n this[setter] = compileSetter(optionExpr)\r\n },\r\n _createDataAdapterAccessors: function() {\r\n var that = this;\r\n var accessors = {\r\n getters: {},\r\n setters: {}\r\n };\r\n each(this._getAccessors(), (function(_, accessor) {\r\n var getterName = \"_\" + accessor + \"Getter\";\r\n var setterName = \"_\" + accessor + \"Setter\";\r\n var newAccessor = \"parentId\" === accessor ? \"parentKey\" : accessor;\r\n accessors.getters[newAccessor] = that[getterName];\r\n accessors.setters[newAccessor] = that[setterName]\r\n }));\r\n accessors.getters.display = !this._displayGetter ? itemData => itemData.text : this._displayGetter;\r\n return accessors\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._addWidgetClass()\r\n },\r\n _addWidgetClass: function() {\r\n this._focusTarget().addClass(this._widgetClass())\r\n },\r\n _widgetClass: noop,\r\n _renderItemFrame: function(index, itemData) {\r\n var $itemFrame = this.callBase.apply(this, arguments);\r\n $itemFrame.toggleClass(DISABLED_STATE_CLASS, !!this._disabledGetter(itemData));\r\n return $itemFrame\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"displayExpr\":\r\n case \"keyExpr\":\r\n this._initAccessors();\r\n this._initDynamicTemplates();\r\n this.repaint();\r\n break;\r\n case \"itemsExpr\":\r\n case \"selectedExpr\":\r\n case \"disabledExpr\":\r\n case \"expandedExpr\":\r\n case \"parentIdExpr\":\r\n this._initAccessors();\r\n this._initDataAdapter();\r\n this.repaint();\r\n break;\r\n case \"items\":\r\n this._initDataAdapter();\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport default HierarchicalCollectionWidget;\r\n","/**\r\n * DevExtreme (esm/ui/context_menu/ui.menu_base.edit.strategy.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport PlainEditStrategy from \"../collection/ui.collection_widget.edit.strategy.plain\";\r\nclass MenuBaseEditStrategy extends PlainEditStrategy {\r\n _getPlainItems() {\r\n return map(this._collectionWidget.option(\"items\"), (function getMenuItems(item) {\r\n return item.items ? [item].concat(map(item.items, getMenuItems)) : item\r\n }))\r\n }\r\n _stringifyItem(item) {\r\n return JSON.stringify(item, (key, value) => {\r\n if (\"template\" === key) {\r\n return this._getTemplateString(value)\r\n }\r\n return value\r\n })\r\n }\r\n _getTemplateString(template) {\r\n var result;\r\n if (\"object\" === typeof template) {\r\n result = $(template).text()\r\n } else {\r\n result = template.toString()\r\n }\r\n return result\r\n }\r\n}\r\nexport default MenuBaseEditStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/context_menu/ui.menu_base.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop,\r\n asyncNoop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject,\r\n isObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n render\r\n} from \"../widget/utils.ink_ripple\";\r\nimport HierarchicalCollectionWidget from \"../hierarchical_collection/ui.hierarchical_collection_widget\";\r\nimport MenuBaseEditStrategy from \"./ui.menu_base.edit.strategy\";\r\nimport devices from \"../../core/devices\";\r\nimport MenuItem from \"../collection/item\";\r\nvar DX_MENU_CLASS = \"dx-menu\";\r\nvar DX_MENU_NO_ICONS_CLASS = DX_MENU_CLASS + \"-no-icons\";\r\nvar DX_MENU_BASE_CLASS = \"dx-menu-base\";\r\nvar ITEM_CLASS = DX_MENU_CLASS + \"-item\";\r\nvar DX_ITEM_CONTENT_CLASS = ITEM_CLASS + \"-content\";\r\nvar DX_MENU_SELECTED_ITEM_CLASS = ITEM_CLASS + \"-selected\";\r\nvar DX_MENU_ITEM_WRAPPER_CLASS = ITEM_CLASS + \"-wrapper\";\r\nvar DX_MENU_ITEMS_CONTAINER_CLASS = DX_MENU_CLASS + \"-items-container\";\r\nvar DX_MENU_ITEM_EXPANDED_CLASS = ITEM_CLASS + \"-expanded\";\r\nvar DX_MENU_SEPARATOR_CLASS = DX_MENU_CLASS + \"-separator\";\r\nvar DX_MENU_ITEM_LAST_GROUP_ITEM = DX_MENU_CLASS + \"-last-group-item\";\r\nvar DX_ITEM_HAS_TEXT = ITEM_CLASS + \"-has-text\";\r\nvar DX_ITEM_HAS_ICON = ITEM_CLASS + \"-has-icon\";\r\nvar DX_ITEM_HAS_SUBMENU = ITEM_CLASS + \"-has-submenu\";\r\nvar DX_MENU_ITEM_POPOUT_CLASS = ITEM_CLASS + \"-popout\";\r\nvar DX_MENU_ITEM_POPOUT_CONTAINER_CLASS = DX_MENU_ITEM_POPOUT_CLASS + \"-container\";\r\nvar DX_MENU_ITEM_CAPTION_CLASS = ITEM_CLASS + \"-text\";\r\nvar SINGLE_SELECTION_MODE = \"single\";\r\nvar DEFAULT_DELAY = {\r\n show: 50,\r\n hide: 300\r\n};\r\nvar DX_MENU_ITEM_CAPTION_URL_CLASS = \"\".concat(DX_MENU_ITEM_CAPTION_CLASS, \"-with-url\");\r\nvar DX_ICON_WITH_URL_CLASS = \"dx-icon-with-url\";\r\nvar ITEM_URL_CLASS = \"dx-item-url\";\r\nclass MenuBase extends HierarchicalCollectionWidget {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n items: [],\r\n cssClass: \"\",\r\n activeStateEnabled: true,\r\n showSubmenuMode: {\r\n name: \"onHover\",\r\n delay: {\r\n show: 50,\r\n hide: 300\r\n }\r\n },\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n from: 0,\r\n to: 1,\r\n duration: 100\r\n },\r\n hide: {\r\n type: \"fade\",\r\n from: 1,\r\n to: 0,\r\n duration: 100\r\n }\r\n },\r\n selectByClick: false,\r\n focusOnSelectedItem: false,\r\n keyExpr: null,\r\n _itemAttributes: {\r\n role: \"menuitem\"\r\n },\r\n useInkRipple: false\r\n })\r\n }\r\n _itemDataKey() {\r\n return \"dxMenuItemDataKey\"\r\n }\r\n _itemClass() {\r\n return ITEM_CLASS\r\n }\r\n _setAriaSelectionAttribute() {}\r\n _selectedItemClass() {\r\n return DX_MENU_SELECTED_ITEM_CLASS\r\n }\r\n _widgetClass() {\r\n return DX_MENU_BASE_CLASS\r\n }\r\n _focusTarget() {\r\n return this._itemContainer()\r\n }\r\n _clean() {\r\n this.option(\"focusedElement\", null);\r\n super._clean()\r\n }\r\n _supportedKeys() {\r\n return extend(super._supportedKeys(), {\r\n space: () => {\r\n var $item = $(this.option(\"focusedElement\"));\r\n if (!$item.length || !this._isSelectionEnabled()) {\r\n return\r\n }\r\n this.selectItem($item[0])\r\n },\r\n pageUp: noop,\r\n pageDown: noop\r\n })\r\n }\r\n _isSelectionEnabled() {\r\n return this.option(\"selectionMode\") === SINGLE_SELECTION_MODE\r\n }\r\n _init() {\r\n this._activeStateUnit = \".\".concat(ITEM_CLASS);\r\n super._init();\r\n this._renderSelectedItem();\r\n this._initActions()\r\n }\r\n _getLinkContainer(iconContainer, textContainer, _ref) {\r\n var {\r\n linkAttr: linkAttr,\r\n url: url\r\n } = _ref;\r\n null === iconContainer || void 0 === iconContainer ? void 0 : iconContainer.addClass(DX_ICON_WITH_URL_CLASS);\r\n null === textContainer || void 0 === textContainer ? void 0 : textContainer.addClass(DX_MENU_ITEM_CAPTION_URL_CLASS);\r\n return super._getLinkContainer(iconContainer, textContainer, {\r\n linkAttr: linkAttr,\r\n url: url\r\n })\r\n }\r\n _addContent($container, itemData) {\r\n var {\r\n html: html,\r\n url: url\r\n } = itemData;\r\n if (url) {\r\n $container.html(html);\r\n var link = this._getLinkContainer(this._getIconContainer(itemData), this._getTextContainer(itemData), itemData);\r\n $container.append(link)\r\n } else {\r\n super._addContent($container, itemData)\r\n }\r\n $container.append(this._getPopoutContainer(itemData));\r\n this._addContentClasses(itemData, $container.parent())\r\n }\r\n _getTextContainer(itemData) {\r\n var {\r\n text: text\r\n } = itemData;\r\n if (!text) {\r\n return\r\n }\r\n var $itemContainer = $(\"<span>\").addClass(DX_MENU_ITEM_CAPTION_CLASS);\r\n var itemText = isPlainObject(itemData) ? text : String(itemData);\r\n return $itemContainer.text(itemText)\r\n }\r\n _getItemExtraPropNames() {\r\n return [\"url\", \"linkAttr\"]\r\n }\r\n _getPopoutContainer(itemData) {\r\n var items = itemData.items;\r\n var $popOutContainer;\r\n if (items && items.length) {\r\n var $popOutImage = $(\"<div>\").addClass(DX_MENU_ITEM_POPOUT_CLASS);\r\n $popOutContainer = $(\"<span>\").addClass(DX_MENU_ITEM_POPOUT_CONTAINER_CLASS).append($popOutImage)\r\n }\r\n return $popOutContainer\r\n }\r\n _getDataAdapterOptions() {\r\n return {\r\n rootValue: 0,\r\n multipleSelection: false,\r\n recursiveSelection: false,\r\n recursiveExpansion: false,\r\n searchValue: \"\"\r\n }\r\n }\r\n _selectByItem(selectedItem) {\r\n if (!selectedItem) {\r\n return\r\n }\r\n var nodeToSelect = this._dataAdapter.getNodeByItem(selectedItem);\r\n this._dataAdapter.toggleSelection(nodeToSelect.internalFields.key, true)\r\n }\r\n _renderSelectedItem() {\r\n var selectedKeys = this._dataAdapter.getSelectedNodesKeys();\r\n var selectedKey = selectedKeys.length && selectedKeys[0];\r\n var selectedItem = this.option(\"selectedItem\");\r\n if (!selectedKey) {\r\n this._selectByItem(selectedItem);\r\n return\r\n }\r\n var node = this._dataAdapter.getNodeByKey(selectedKey);\r\n if (false === node.selectable) {\r\n return\r\n }\r\n if (!selectedItem) {\r\n this.option(\"selectedItem\", node.internalFields.item);\r\n return\r\n }\r\n if (selectedItem !== node.internalFields.item) {\r\n this._dataAdapter.toggleSelection(selectedKey, false);\r\n this._selectByItem(selectedItem)\r\n }\r\n }\r\n _initActions() {}\r\n _initMarkup() {\r\n super._initMarkup();\r\n this.option(\"useInkRipple\") && this._renderInkRipple()\r\n }\r\n _renderInkRipple() {\r\n this._inkRipple = render()\r\n }\r\n _toggleActiveState($element, value, e) {\r\n super._toggleActiveState.apply(this, arguments);\r\n if (!this._inkRipple) {\r\n return\r\n }\r\n var config = {\r\n element: $element,\r\n event: e\r\n };\r\n if (value) {\r\n this._inkRipple.showWave(config)\r\n } else {\r\n this._inkRipple.hideWave(config)\r\n }\r\n }\r\n _getShowSubmenuMode() {\r\n var optionValue = this.option(\"showSubmenuMode\");\r\n optionValue = isObject(optionValue) ? optionValue.name : optionValue;\r\n return this._isDesktopDevice() ? optionValue : \"onClick\"\r\n }\r\n _initSelectedItems() {}\r\n _isDesktopDevice() {\r\n return \"desktop\" === devices.real().deviceType\r\n }\r\n _initEditStrategy() {\r\n var Strategy = MenuBaseEditStrategy;\r\n this._editStrategy = new Strategy(this)\r\n }\r\n _addCustomCssClass($element) {\r\n $element.addClass(this.option(\"cssClass\"))\r\n }\r\n _itemWrapperSelector() {\r\n return \".\".concat(DX_MENU_ITEM_WRAPPER_CLASS)\r\n }\r\n _hoverStartHandler(e) {\r\n var $itemElement = this._getItemElementByEventArgs(e);\r\n if (!$itemElement || this._isItemDisabled($itemElement)) {\r\n return\r\n }\r\n e.stopPropagation();\r\n if (\"onHover\" === this._getShowSubmenuMode()) {\r\n clearTimeout(this._showSubmenusTimeout);\r\n this._showSubmenusTimeout = setTimeout(this._showSubmenu.bind(this, $itemElement), this._getSubmenuDelay(\"show\"))\r\n }\r\n }\r\n _getAvailableItems($itemElements) {\r\n return super._getAvailableItems($itemElements).filter((function() {\r\n return \"hidden\" !== $(this).css(\"visibility\")\r\n }))\r\n }\r\n _isItemDisabled($item) {\r\n return this._disabledGetter($item.data(this._itemDataKey()))\r\n }\r\n _showSubmenu($itemElement) {\r\n this._addExpandedClass($itemElement)\r\n }\r\n _addExpandedClass(itemElement) {\r\n $(itemElement).addClass(DX_MENU_ITEM_EXPANDED_CLASS)\r\n }\r\n _getSubmenuDelay(action) {\r\n var {\r\n delay: delay\r\n } = this.option(\"showSubmenuMode\");\r\n if (!isDefined(delay)) {\r\n return DEFAULT_DELAY[action]\r\n }\r\n return isObject(delay) ? delay[action] : delay\r\n }\r\n _getItemElementByEventArgs(eventArgs) {\r\n var $target = $(eventArgs.target);\r\n if ($target.hasClass(this._itemClass()) || $target.get(0) === eventArgs.currentTarget) {\r\n return $target\r\n }\r\n while (!$target.hasClass(this._itemClass())) {\r\n $target = $target.parent();\r\n if ($target.hasClass(\"dx-submenu\")) {\r\n return null\r\n }\r\n }\r\n return $target\r\n }\r\n _hoverEndHandler() {\r\n clearTimeout(this._showSubmenusTimeout)\r\n }\r\n _hasSubmenu(node) {\r\n return node && node.internalFields.childrenKeys.length\r\n }\r\n _renderContentImpl() {\r\n this._renderItems(this._dataAdapter.getRootNodes())\r\n }\r\n _renderItems(nodes, submenuContainer) {\r\n if (nodes.length) {\r\n this.hasIcons = false;\r\n var $nodeContainer = this._renderContainer(this.$element(), submenuContainer);\r\n var firstVisibleIndex = -1;\r\n var nextGroupFirstIndex = -1;\r\n each(nodes, (index, node) => {\r\n var isVisibleNode = false !== node.visible;\r\n if (isVisibleNode && firstVisibleIndex < 0) {\r\n firstVisibleIndex = index\r\n }\r\n var isBeginGroup = firstVisibleIndex < index && (node.beginGroup || index === nextGroupFirstIndex);\r\n if (isBeginGroup) {\r\n nextGroupFirstIndex = isVisibleNode ? index : index + 1\r\n }\r\n if (index === nextGroupFirstIndex && firstVisibleIndex < index) {\r\n this._renderSeparator($nodeContainer)\r\n }\r\n this._renderItem(index, node, $nodeContainer)\r\n });\r\n if (!this.hasIcons) {\r\n $nodeContainer.addClass(DX_MENU_NO_ICONS_CLASS)\r\n }\r\n }\r\n }\r\n _renderContainer($wrapper) {\r\n var $container = $(\"<ul>\");\r\n this.setAria(\"role\", \"none\", $container);\r\n return $container.appendTo($wrapper).addClass(DX_MENU_ITEMS_CONTAINER_CLASS)\r\n }\r\n _createDOMElement($nodeContainer) {\r\n var $node = $(\"<li>\");\r\n this.setAria(\"role\", \"none\", $node);\r\n return $node.appendTo($nodeContainer).addClass(DX_MENU_ITEM_WRAPPER_CLASS)\r\n }\r\n _renderItem(index, node, $nodeContainer, $nodeElement) {\r\n var items = this.option(\"items\");\r\n var $node = $nodeElement || this._createDOMElement($nodeContainer);\r\n if (items[index + 1] && items[index + 1].beginGroup) {\r\n $node.addClass(DX_MENU_ITEM_LAST_GROUP_ITEM)\r\n }\r\n var $itemFrame = super._renderItem(index, node.internalFields.item, $node);\r\n if (node.internalFields.item === this.option(\"selectedItem\")) {\r\n $itemFrame.addClass(DX_MENU_SELECTED_ITEM_CLASS)\r\n }\r\n $itemFrame.attr(\"tabIndex\", -1);\r\n if (this._hasSubmenu(node)) {\r\n this.setAria(\"haspopup\", \"true\", $itemFrame)\r\n }\r\n }\r\n _renderItemFrame(index, itemData, $itemContainer) {\r\n var $itemFrame = $itemContainer.children(\".\".concat(ITEM_CLASS));\r\n return $itemFrame.length ? $itemFrame : super._renderItemFrame.apply(this, arguments)\r\n }\r\n _refreshItem($item, item) {\r\n var node = this._dataAdapter.getNodeByItem(item);\r\n var index = $item.data(this._itemIndexKey());\r\n var $nodeContainer = $item.closest(\"ul\");\r\n var $nodeElement = $item.closest(\"li\");\r\n this._renderItem(index, node, $nodeContainer, $nodeElement)\r\n }\r\n _addContentClasses(itemData, $itemFrame) {\r\n var hasText = itemData.text ? !!itemData.text.length : false;\r\n var hasIcon = !!itemData.icon;\r\n var hasSubmenu = itemData.items ? !!itemData.items.length : false;\r\n $itemFrame.toggleClass(DX_ITEM_HAS_TEXT, hasText);\r\n $itemFrame.toggleClass(DX_ITEM_HAS_ICON, hasIcon);\r\n if (!this.hasIcons) {\r\n this.hasIcons = hasIcon\r\n }\r\n $itemFrame.toggleClass(DX_ITEM_HAS_SUBMENU, hasSubmenu)\r\n }\r\n _getItemContent($itemFrame) {\r\n var $itemContent = super._getItemContent($itemFrame);\r\n if (!$itemContent.length) {\r\n $itemContent = $itemFrame.children(\".\".concat(DX_ITEM_CONTENT_CLASS))\r\n }\r\n return $itemContent\r\n }\r\n _postprocessRenderItem(args) {\r\n var $itemElement = $(args.itemElement);\r\n var selectedIndex = this._dataAdapter.getSelectedNodesKeys();\r\n if (!selectedIndex.length || !this._selectedGetter(args.itemData) || !this._isItemSelectable(args.itemData)) {\r\n this._setAriaSelectionAttribute($itemElement, \"false\");\r\n return\r\n }\r\n var node = this._dataAdapter.getNodeByItem(args.itemData);\r\n if (node.internalFields.key === selectedIndex[0]) {\r\n $itemElement.addClass(this._selectedItemClass());\r\n this._setAriaSelectionAttribute($itemElement, \"true\")\r\n } else {\r\n this._setAriaSelectionAttribute($itemElement, \"false\")\r\n }\r\n }\r\n _isItemSelectable(item) {\r\n return false !== item.selectable\r\n }\r\n _renderSeparator($itemsContainer) {\r\n $(\"<li>\").appendTo($itemsContainer).addClass(DX_MENU_SEPARATOR_CLASS)\r\n }\r\n _itemClickHandler(e) {\r\n if (e._skipHandling) {\r\n return\r\n }\r\n var itemClickActionHandler = this._createAction(this._updateSubmenuVisibilityOnClick.bind(this));\r\n this._itemDXEventHandler(e, \"onItemClick\", {}, {\r\n beforeExecute: this._itemClick,\r\n afterExecute: itemClickActionHandler.bind(this)\r\n });\r\n e._skipHandling = true\r\n }\r\n _itemClick(actionArgs) {\r\n var {\r\n event: event,\r\n itemData: itemData\r\n } = actionArgs.args[0];\r\n var $itemElement = this._getItemElementByEventArgs(event);\r\n var link = $itemElement && $itemElement.find(\".\".concat(ITEM_URL_CLASS)).get(0);\r\n if (itemData.url && link) {\r\n link.click()\r\n }\r\n }\r\n _updateSubmenuVisibilityOnClick(actionArgs) {\r\n this._updateSelectedItemOnClick(actionArgs);\r\n if (\"onClick\" === this._getShowSubmenuMode()) {\r\n this._addExpandedClass(actionArgs.args[0].itemElement)\r\n }\r\n }\r\n _updateSelectedItemOnClick(actionArgs) {\r\n var args = actionArgs.args ? actionArgs.args[0] : actionArgs;\r\n if (!this._isItemSelectAllowed(args.itemData)) {\r\n return\r\n }\r\n var selectedItemKey = this._dataAdapter.getSelectedNodesKeys();\r\n var selectedNode = selectedItemKey.length && this._dataAdapter.getNodeByKey(selectedItemKey[0]);\r\n if (selectedNode) {\r\n this._toggleItemSelection(selectedNode, false)\r\n }\r\n if (!selectedNode || selectedNode.internalFields.item !== args.itemData) {\r\n this.selectItem(args.itemData)\r\n } else {\r\n this._fireSelectionChangeEvent(null, this.option(\"selectedItem\"));\r\n this._setOptionWithoutOptionChange(\"selectedItem\", null)\r\n }\r\n }\r\n _isItemSelectAllowed(item) {\r\n var isSelectByClickEnabled = this._isSelectionEnabled() && this.option(\"selectByClick\");\r\n return !this._isContainerEmpty() && isSelectByClickEnabled && this._isItemSelectable(item) && !this._itemsGetter(item)\r\n }\r\n _isContainerEmpty() {\r\n return this._itemContainer().is(\":empty\")\r\n }\r\n _syncSelectionOptions() {\r\n return asyncNoop()\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"showSubmenuMode\":\r\n break;\r\n case \"selectedItem\":\r\n var node = this._dataAdapter.getNodeByItem(args.value);\r\n var selectedKey = this._dataAdapter.getSelectedNodesKeys()[0];\r\n if (node && node.internalFields.key !== selectedKey) {\r\n if (false === node.selectable) {\r\n break\r\n }\r\n if (selectedKey) {\r\n this._toggleItemSelection(this._dataAdapter.getNodeByKey(selectedKey), false)\r\n }\r\n this._toggleItemSelection(node, true);\r\n this._updateSelectedItems()\r\n }\r\n break;\r\n case \"cssClass\":\r\n case \"position\":\r\n case \"selectByClick\":\r\n case \"animation\":\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _toggleItemSelection(node, value) {\r\n var itemElement = this._getElementByItem(node.internalFields.item);\r\n itemElement && $(itemElement).toggleClass(DX_MENU_SELECTED_ITEM_CLASS);\r\n this._dataAdapter.toggleSelection(node.internalFields.key, value)\r\n }\r\n _getElementByItem(itemData) {\r\n var result;\r\n each(this._itemElements(), (_, itemElement) => {\r\n if ($(itemElement).data(this._itemDataKey()) !== itemData) {\r\n return true\r\n }\r\n result = itemElement;\r\n return false\r\n });\r\n return result\r\n }\r\n _updateSelectedItems(oldSelection, newSelection) {\r\n if (oldSelection || newSelection) {\r\n this._fireSelectionChangeEvent(newSelection, oldSelection)\r\n }\r\n }\r\n _fireSelectionChangeEvent(addedSelection, removedSelection) {\r\n this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })({\r\n addedItems: [addedSelection],\r\n removedItems: [removedSelection]\r\n })\r\n }\r\n selectItem(itemElement) {\r\n var itemData = itemElement.nodeType ? this._getItemData(itemElement) : itemElement;\r\n var selectedKey = this._dataAdapter.getSelectedNodesKeys()[0];\r\n var selectedItem = this.option(\"selectedItem\");\r\n var node = this._dataAdapter.getNodeByItem(itemData);\r\n if (node.internalFields.key !== selectedKey) {\r\n if (selectedKey) {\r\n this._toggleItemSelection(this._dataAdapter.getNodeByKey(selectedKey), false)\r\n }\r\n this._toggleItemSelection(node, true);\r\n this._updateSelectedItems(selectedItem, itemData);\r\n this._setOptionWithoutOptionChange(\"selectedItem\", itemData)\r\n }\r\n }\r\n unselectItem(itemElement) {\r\n var itemData = itemElement.nodeType ? this._getItemData(itemElement) : itemElement;\r\n var node = this._dataAdapter.getNodeByItem(itemData);\r\n var selectedItem = this.option(\"selectedItem\");\r\n if (node.internalFields.selected) {\r\n this._toggleItemSelection(node, false);\r\n this._updateSelectedItems(selectedItem, null);\r\n this._setOptionWithoutOptionChange(\"selectedItem\", null)\r\n }\r\n }\r\n}\r\nMenuBase.ItemClass = MenuItem;\r\nexport default MenuBase;\r\n","/**\r\n * DevExtreme (esm/ui/context_menu/ui.context_menu.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Guid from \"../../core/guid\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isObject,\r\n isRenderer,\r\n isWindow,\r\n isFunction,\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n contains\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n hasWindow,\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport fx from \"../../animation/fx\";\r\nimport animationPosition from \"../../animation/position\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport MenuBase from \"./ui.menu_base\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n name as contextMenuEventName\r\n} from \"../../events/contextmenu\";\r\nimport holdEvent from \"../../events/hold\";\r\nvar DX_MENU_CLASS = \"dx-menu\";\r\nvar DX_MENU_ITEM_CLASS = DX_MENU_CLASS + \"-item\";\r\nvar DX_MENU_ITEM_EXPANDED_CLASS = DX_MENU_ITEM_CLASS + \"-expanded\";\r\nvar DX_MENU_PHONE_CLASS = \"dx-menu-phone-overlay\";\r\nvar DX_MENU_ITEMS_CONTAINER_CLASS = DX_MENU_CLASS + \"-items-container\";\r\nvar DX_MENU_ITEM_WRAPPER_CLASS = DX_MENU_ITEM_CLASS + \"-wrapper\";\r\nvar DX_SUBMENU_CLASS = \"dx-submenu\";\r\nvar DX_CONTEXT_MENU_CLASS = \"dx-context-menu\";\r\nvar DX_HAS_CONTEXT_MENU_CLASS = \"dx-has-context-menu\";\r\nvar DX_STATE_DISABLED_CLASS = \"dx-state-disabled\";\r\nvar DX_STATE_FOCUSED_CLASS = \"dx-state-focused\";\r\nvar DX_STATE_HOVER_CLASS = \"dx-state-hover\";\r\nvar OVERLAY_CONTENT_CLASS = \"dx-overlay-content\";\r\nvar FOCUS_UP = \"up\";\r\nvar FOCUS_DOWN = \"down\";\r\nvar FOCUS_LEFT = \"left\";\r\nvar FOCUS_RIGHT = \"right\";\r\nvar FOCUS_FIRST = \"first\";\r\nvar FOCUS_LAST = \"last\";\r\nvar ACTIONS = [\"onShowing\", \"onShown\", \"onSubmenuCreated\", \"onHiding\", \"onHidden\", \"onPositioning\", \"onLeftFirstItem\", \"onLeftLastItem\", \"onCloseRootSubmenu\", \"onExpandLastSubmenu\"];\r\nvar LOCAL_SUBMENU_DIRECTIONS = [FOCUS_UP, FOCUS_DOWN, FOCUS_FIRST, FOCUS_LAST];\r\nvar DEFAULT_SHOW_EVENT = \"dxcontextmenu\";\r\nvar window = getWindow();\r\nclass ContextMenu extends MenuBase {\r\n getShowEvent(showEventOption) {\r\n var result = null;\r\n if (isObject(showEventOption)) {\r\n if (null !== showEventOption.name) {\r\n result = showEventOption.name || DEFAULT_SHOW_EVENT\r\n }\r\n } else {\r\n result = showEventOption\r\n }\r\n return result\r\n }\r\n getShowDelay(showEventOption) {\r\n return isObject(showEventOption) && showEventOption.delay\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n showEvent: DEFAULT_SHOW_EVENT,\r\n hideOnOutsideClick: true,\r\n position: {\r\n at: \"top left\",\r\n my: \"top left\"\r\n },\r\n onShowing: null,\r\n onShown: null,\r\n onSubmenuCreated: null,\r\n onHiding: null,\r\n onHidden: null,\r\n onPositioning: null,\r\n submenuDirection: \"auto\",\r\n visible: false,\r\n target: void 0,\r\n onLeftFirstItem: null,\r\n onLeftLastItem: null,\r\n onCloseRootSubmenu: null,\r\n onExpandLastSubmenu: null\r\n })\r\n }\r\n _defaultOptionsRules() {\r\n return super._defaultOptionsRules().concat([{\r\n device: () => !hasWindow(),\r\n options: {\r\n animation: null\r\n }\r\n }])\r\n }\r\n _setDeprecatedOptions() {\r\n super._setDeprecatedOptions();\r\n extend(this._deprecatedOptions, {\r\n closeOnOutsideClick: {\r\n since: \"22.2\",\r\n alias: \"hideOnOutsideClick\"\r\n }\r\n })\r\n }\r\n _initActions() {\r\n this._actions = {};\r\n each(ACTIONS, (index, action) => {\r\n this._actions[action] = this._createActionByOption(action) || noop\r\n })\r\n }\r\n _setOptionsByReference() {\r\n super._setOptionsByReference();\r\n extend(this._optionsByReference, {\r\n animation: true,\r\n selectedItem: true\r\n })\r\n }\r\n _focusInHandler() {}\r\n _itemContainer() {\r\n return this._overlay ? this._overlay.$content() : $()\r\n }\r\n _eventBindingTarget() {\r\n return this._itemContainer()\r\n }\r\n itemsContainer() {\r\n return this._overlay ? this._overlay.$content() : void 0\r\n }\r\n _supportedKeys() {\r\n return extend(super._supportedKeys(), {\r\n space: () => {\r\n var $item = $(this.option(\"focusedElement\"));\r\n this.hide();\r\n if (!$item.length || !this._isSelectionEnabled()) {\r\n return\r\n }\r\n this.selectItem($item[0])\r\n },\r\n escape: this.hide\r\n })\r\n }\r\n _getActiveItem() {\r\n var $availableItems = this._getAvailableItems();\r\n var $focusedItem = $availableItems.filter(\".\".concat(DX_STATE_FOCUSED_CLASS));\r\n var $hoveredItem = $availableItems.filter(\".\".concat(DX_STATE_HOVER_CLASS));\r\n var $hoveredItemContainer = $hoveredItem.closest(\".\".concat(DX_MENU_ITEMS_CONTAINER_CLASS));\r\n if ($hoveredItemContainer.find(\".\".concat(DX_MENU_ITEM_CLASS)).index($focusedItem) >= 0) {\r\n return $focusedItem\r\n }\r\n if ($hoveredItem.length) {\r\n return $hoveredItem\r\n }\r\n return super._getActiveItem()\r\n }\r\n _moveFocus(location) {\r\n var $items = this._getItemsByLocation(location);\r\n var $oldTarget = this._getActiveItem(true);\r\n var $hoveredItem = this.itemsContainer().find(\".\".concat(DX_STATE_HOVER_CLASS));\r\n var $focusedItem = $(this.option(\"focusedElement\"));\r\n var $activeItemHighlighted = !!($focusedItem.length || $hoveredItem.length);\r\n var $newTarget;\r\n switch (location) {\r\n case FOCUS_UP:\r\n $newTarget = $activeItemHighlighted ? this._prevItem($items) : $oldTarget;\r\n this._setFocusedElement($newTarget);\r\n if ($oldTarget.is($items.first())) {\r\n this._actions.onLeftFirstItem($oldTarget)\r\n }\r\n break;\r\n case FOCUS_DOWN:\r\n $newTarget = $activeItemHighlighted ? this._nextItem($items) : $oldTarget;\r\n this._setFocusedElement($newTarget);\r\n if ($oldTarget.is($items.last())) {\r\n this._actions.onLeftLastItem($oldTarget)\r\n }\r\n break;\r\n case FOCUS_RIGHT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._hideSubmenuHandler() : this._expandSubmenuHandler($items, location);\r\n this._setFocusedElement($newTarget);\r\n break;\r\n case FOCUS_LEFT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._expandSubmenuHandler($items, location) : this._hideSubmenuHandler();\r\n this._setFocusedElement($newTarget);\r\n break;\r\n case FOCUS_FIRST:\r\n $newTarget = $items.first();\r\n this._setFocusedElement($newTarget);\r\n break;\r\n case FOCUS_LAST:\r\n $newTarget = $items.last();\r\n this._setFocusedElement($newTarget);\r\n break;\r\n default:\r\n return super._moveFocus(location)\r\n }\r\n }\r\n _setFocusedElement($element) {\r\n if ($element && 0 !== $element.length) {\r\n this.option(\"focusedElement\", getPublicElement($element))\r\n }\r\n }\r\n _getItemsByLocation(location) {\r\n var $activeItem = this._getActiveItem(true);\r\n var $items;\r\n if (LOCAL_SUBMENU_DIRECTIONS.includes(location)) {\r\n $items = $activeItem.closest(\".\".concat(DX_MENU_ITEMS_CONTAINER_CLASS)).children().children()\r\n }\r\n $items = this._getAvailableItems($items);\r\n return $items\r\n }\r\n _getAriaTarget() {\r\n return this.$element()\r\n }\r\n _refreshActiveDescendant() {\r\n if (isDefined(this._overlay)) {\r\n var $target = this._overlay.$content();\r\n super._refreshActiveDescendant($target)\r\n }\r\n }\r\n _hideSubmenuHandler() {\r\n var $curItem = this._getActiveItem(true);\r\n var $parentItem = $curItem.parents(\".\".concat(DX_MENU_ITEM_EXPANDED_CLASS)).first();\r\n if ($parentItem.length) {\r\n this._hideSubmenusOnSameLevel($parentItem);\r\n this._hideSubmenu($curItem.closest(\".\".concat(DX_SUBMENU_CLASS)));\r\n return $parentItem\r\n }\r\n this._actions.onCloseRootSubmenu($curItem);\r\n return $curItem\r\n }\r\n _expandSubmenuHandler($items, location) {\r\n var $curItem = this._getActiveItem(true);\r\n var itemData = this._getItemData($curItem);\r\n var node = this._dataAdapter.getNodeByItem(itemData);\r\n var isItemHasSubmenu = this._hasSubmenu(node);\r\n var $submenu = $curItem.children(\".\".concat(DX_SUBMENU_CLASS));\r\n if (isItemHasSubmenu && !$curItem.hasClass(DX_STATE_DISABLED_CLASS)) {\r\n if (!$submenu.length || \"hidden\" === $submenu.css(\"visibility\")) {\r\n this._showSubmenu($curItem)\r\n }\r\n return this._nextItem(this._getItemsByLocation(location))\r\n }\r\n this._actions.onExpandLastSubmenu($curItem);\r\n return\r\n }\r\n _clean() {\r\n if (this._overlay) {\r\n this._overlay.$element().remove();\r\n this._overlay = null\r\n }\r\n this._detachShowContextMenuEvents(this._getTarget());\r\n super._clean()\r\n }\r\n _initMarkup() {\r\n this.$element().addClass(DX_HAS_CONTEXT_MENU_CLASS);\r\n super._initMarkup()\r\n }\r\n _render() {\r\n super._render();\r\n this._renderVisibility(this.option(\"visible\"));\r\n this._addWidgetClass()\r\n }\r\n _renderContentImpl() {\r\n this._detachShowContextMenuEvents(this._getTarget());\r\n this._attachShowContextMenuEvents()\r\n }\r\n _attachKeyboardEvents() {\r\n !this._keyboardListenerId && this._focusTarget().length && super._attachKeyboardEvents()\r\n }\r\n _renderContextMenuOverlay() {\r\n if (this._overlay) {\r\n return\r\n }\r\n var overlayOptions = this._getOverlayOptions();\r\n this._overlay = this._createComponent($(\"<div>\").appendTo(this._$element), Overlay, overlayOptions);\r\n var $overlayContent = this._overlay.$content();\r\n $overlayContent.addClass(DX_CONTEXT_MENU_CLASS);\r\n this._addCustomCssClass($overlayContent);\r\n this._addPlatformDependentClass($overlayContent);\r\n this._attachContextMenuEvent()\r\n }\r\n preventShowingDefaultContextMenuAboveOverlay() {\r\n var $itemContainer = this._itemContainer();\r\n var eventName = addNamespace(contextMenuEventName, this.NAME);\r\n eventsEngine.off($itemContainer, eventName, \".\".concat(DX_SUBMENU_CLASS));\r\n eventsEngine.on($itemContainer, eventName, \".\".concat(DX_SUBMENU_CLASS), (e => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n eventsEngine.off($itemContainer, eventName, \".\".concat(DX_SUBMENU_CLASS))\r\n }).bind(this))\r\n }\r\n _itemContextMenuHandler(e) {\r\n super._itemContextMenuHandler(e);\r\n e.stopPropagation()\r\n }\r\n _addPlatformDependentClass($element) {\r\n if (devices.current().phone) {\r\n $element.addClass(DX_MENU_PHONE_CLASS)\r\n }\r\n }\r\n _detachShowContextMenuEvents(target) {\r\n var showEvent = this.getShowEvent(this.option(\"showEvent\"));\r\n if (!showEvent) {\r\n return\r\n }\r\n var eventName = addNamespace(showEvent, this.NAME);\r\n if (this._showContextMenuEventHandler) {\r\n eventsEngine.off(domAdapter.getDocument(), eventName, target, this._showContextMenuEventHandler)\r\n } else {\r\n eventsEngine.off($(target), eventName)\r\n }\r\n }\r\n _attachShowContextMenuEvents() {\r\n var target = this._getTarget();\r\n var showEvent = this.getShowEvent(this.option(\"showEvent\"));\r\n if (!showEvent) {\r\n return\r\n }\r\n var eventName = addNamespace(showEvent, this.NAME);\r\n var contextMenuAction = this._createAction(e => {\r\n var delay = this.getShowDelay(this.option(\"showEvent\"));\r\n if (delay) {\r\n setTimeout(() => this._show(e.event), delay)\r\n } else {\r\n this._show(e.event)\r\n }\r\n }, {\r\n validatingTargetName: \"target\"\r\n });\r\n var handler = e => contextMenuAction({\r\n event: e,\r\n target: $(e.currentTarget)\r\n });\r\n contextMenuAction = this._createAction(contextMenuAction);\r\n if (isRenderer(target) || target.nodeType || isWindow(target)) {\r\n this._showContextMenuEventHandler = void 0;\r\n eventsEngine.on(target, eventName, handler)\r\n } else {\r\n this._showContextMenuEventHandler = handler;\r\n eventsEngine.on(domAdapter.getDocument(), eventName, target, this._showContextMenuEventHandler)\r\n }\r\n }\r\n _hoverEndHandler(e) {\r\n super._hoverEndHandler(e);\r\n e.stopPropagation()\r\n }\r\n _renderDimensions() {}\r\n _renderContainer($wrapper, submenuContainer) {\r\n var $holder = submenuContainer || this._itemContainer();\r\n $wrapper = $(\"<div>\");\r\n $wrapper.appendTo($holder).addClass(DX_SUBMENU_CLASS).css(\"visibility\", submenuContainer ? \"hidden\" : \"visible\");\r\n if (!$wrapper.parent().hasClass(OVERLAY_CONTENT_CLASS)) {\r\n this._addCustomCssClass($wrapper)\r\n }\r\n var $itemsContainer = super._renderContainer($wrapper);\r\n if (submenuContainer) {\r\n return $itemsContainer\r\n }\r\n if (this.option(\"width\")) {\r\n return $itemsContainer.css(\"minWidth\", this.option(\"width\"))\r\n }\r\n if (this.option(\"height\")) {\r\n return $itemsContainer.css(\"minHeight\", this.option(\"height\"))\r\n }\r\n return $itemsContainer\r\n }\r\n _renderSubmenuItems(node, $itemFrame) {\r\n this._renderItems(this._getChildNodes(node), $itemFrame);\r\n this._actions.onSubmenuCreated({\r\n itemElement: getPublicElement($itemFrame),\r\n itemData: node.internalFields.item,\r\n submenuElement: getPublicElement($itemFrame.children(\".\".concat(DX_SUBMENU_CLASS)))\r\n })\r\n }\r\n _getOverlayOptions() {\r\n var position = this.option(\"position\");\r\n var overlayOptions = {\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n animation: this.option(\"animation\"),\r\n innerOverlay: true,\r\n hideOnOutsideClick: e => this._hideOnOutsideClickHandler(e),\r\n propagateOutsideClick: true,\r\n hideOnParentScroll: true,\r\n deferRendering: false,\r\n position: {\r\n at: position.at,\r\n my: position.my,\r\n of: this._getTarget(),\r\n collision: \"flipfit\"\r\n },\r\n shading: false,\r\n showTitle: false,\r\n height: \"auto\",\r\n width: \"auto\",\r\n onShown: this._overlayShownActionHandler.bind(this),\r\n onHiding: this._overlayHidingActionHandler.bind(this),\r\n onHidden: this._overlayHiddenActionHandler.bind(this),\r\n visualContainer: window\r\n };\r\n return overlayOptions\r\n }\r\n _overlayShownActionHandler(arg) {\r\n this._actions.onShown(arg)\r\n }\r\n _overlayHidingActionHandler(arg) {\r\n this._actions.onHiding(arg);\r\n if (!arg.cancel) {\r\n this._hideAllShownSubmenus();\r\n this._setOptionWithoutOptionChange(\"visible\", false)\r\n }\r\n }\r\n _overlayHiddenActionHandler(arg) {\r\n this._actions.onHidden(arg)\r\n }\r\n _shouldHideOnOutsideClick(e) {\r\n var {\r\n closeOnOutsideClick: closeOnOutsideClick,\r\n hideOnOutsideClick: hideOnOutsideClick\r\n } = this.option();\r\n if (isFunction(hideOnOutsideClick)) {\r\n return hideOnOutsideClick(e)\r\n } else if (isFunction(closeOnOutsideClick)) {\r\n return closeOnOutsideClick(e)\r\n } else {\r\n return hideOnOutsideClick || closeOnOutsideClick\r\n }\r\n }\r\n _hideOnOutsideClickHandler(e) {\r\n if (!this._shouldHideOnOutsideClick(e)) {\r\n return false\r\n }\r\n if (domAdapter.isDocument(e.target)) {\r\n return true\r\n }\r\n var $activeItemContainer = this._getActiveItemsContainer(e.target);\r\n var $itemContainers = this._getItemsContainers();\r\n var $clickedItem = this._searchActiveItem(e.target);\r\n var $rootItem = this.$element().parents(\".\".concat(DX_MENU_ITEM_CLASS));\r\n var isRootItemClicked = $clickedItem[0] === $rootItem[0] && $clickedItem.length && $rootItem.length;\r\n var isInnerOverlayClicked = this._isIncludeOverlay($activeItemContainer, $itemContainers) && $clickedItem.length;\r\n if (isInnerOverlayClicked || isRootItemClicked) {\r\n if (\"onClick\" === this._getShowSubmenuMode()) {\r\n this._hideAllShownChildSubmenus($clickedItem)\r\n }\r\n return false\r\n }\r\n return true\r\n }\r\n _getActiveItemsContainer(target) {\r\n return $(target).closest(\".\".concat(DX_MENU_ITEMS_CONTAINER_CLASS))\r\n }\r\n _getItemsContainers() {\r\n return this._overlay.$content().find(\".\".concat(DX_MENU_ITEMS_CONTAINER_CLASS))\r\n }\r\n _searchActiveItem(target) {\r\n return $(target).closest(\".\".concat(DX_MENU_ITEM_CLASS)).eq(0)\r\n }\r\n _isIncludeOverlay($activeOverlay, $allOverlays) {\r\n var isSame = false;\r\n each($allOverlays, (index, $overlay) => {\r\n if ($activeOverlay.is($overlay) && !isSame) {\r\n isSame = true\r\n }\r\n });\r\n return isSame\r\n }\r\n _hideAllShownChildSubmenus($clickedItem) {\r\n var $submenuElements = $clickedItem.find(\".\".concat(DX_SUBMENU_CLASS));\r\n var shownSubmenus = extend([], this._shownSubmenus);\r\n if ($submenuElements.length > 0) {\r\n each(shownSubmenus, (index, $submenu) => {\r\n var $context = this._searchActiveItem($submenu.context).parent();\r\n if ($context.parent().is($clickedItem.parent().parent()) && !$context.is($clickedItem.parent())) {\r\n this._hideSubmenu($submenu)\r\n }\r\n })\r\n }\r\n }\r\n _showSubmenu($item) {\r\n var node = this._dataAdapter.getNodeByItem(this._getItemData($item));\r\n this._hideSubmenusOnSameLevel($item);\r\n if (!this._hasSubmenu(node)) {\r\n return\r\n }\r\n var $submenu = $item.children(\".\".concat(DX_SUBMENU_CLASS));\r\n var isSubmenuRendered = $submenu.length;\r\n super._showSubmenu($item);\r\n if (!isSubmenuRendered) {\r\n this._renderSubmenuItems(node, $item)\r\n }\r\n if (!this._isSubmenuVisible($submenu)) {\r\n this._drawSubmenu($item)\r\n }\r\n }\r\n _hideSubmenusOnSameLevel($item) {\r\n var $expandedItems = $item.parent(\".\".concat(DX_MENU_ITEM_WRAPPER_CLASS)).siblings().find(\".\".concat(DX_MENU_ITEM_EXPANDED_CLASS));\r\n if ($expandedItems.length) {\r\n $expandedItems.removeClass(DX_MENU_ITEM_EXPANDED_CLASS);\r\n this._hideSubmenu($expandedItems.find(\".\".concat(DX_SUBMENU_CLASS)))\r\n }\r\n }\r\n _hideSubmenuGroup($submenu) {\r\n if (this._isSubmenuVisible($submenu)) {\r\n this._hideSubmenuCore($submenu)\r\n }\r\n }\r\n _isSubmenuVisible($submenu) {\r\n return \"visible\" === $submenu.css(\"visibility\")\r\n }\r\n _drawSubmenu($itemElement) {\r\n var animation = this.option(\"animation\") ? this.option(\"animation\").show : {};\r\n var $submenu = $itemElement.children(\".\".concat(DX_SUBMENU_CLASS));\r\n var submenuPosition = this._getSubmenuPosition($itemElement);\r\n if (this._overlay && this._overlay.option(\"visible\")) {\r\n if (!isDefined(this._shownSubmenus)) {\r\n this._shownSubmenus = []\r\n }\r\n if (!this._shownSubmenus.includes($submenu)) {\r\n this._shownSubmenus.push($submenu)\r\n }\r\n if (animation) {\r\n fx.stop($submenu)\r\n }\r\n animationPosition.setup($submenu, submenuPosition);\r\n if (animation) {\r\n if (isPlainObject(animation.to)) {\r\n animation.to.position = submenuPosition\r\n }\r\n this._animate($submenu, animation)\r\n }\r\n $submenu.css(\"visibility\", \"visible\")\r\n }\r\n }\r\n _animate($container, options) {\r\n fx.animate($container, options)\r\n }\r\n _getSubmenuPosition($rootItem) {\r\n var submenuDirection = this.option(\"submenuDirection\").toLowerCase();\r\n var $rootItemWrapper = $rootItem.parent(\".\".concat(DX_MENU_ITEM_WRAPPER_CLASS));\r\n var position = {\r\n collision: \"flip\",\r\n of: $rootItemWrapper,\r\n offset: {\r\n h: 0,\r\n v: -1\r\n }\r\n };\r\n switch (submenuDirection) {\r\n case \"left\":\r\n position.at = \"left top\";\r\n position.my = \"right top\";\r\n break;\r\n case \"right\":\r\n position.at = \"right top\";\r\n position.my = \"left top\";\r\n break;\r\n default:\r\n if (this.option(\"rtlEnabled\")) {\r\n position.at = \"left top\";\r\n position.my = \"right top\"\r\n } else {\r\n position.at = \"right top\";\r\n position.my = \"left top\"\r\n }\r\n }\r\n return position\r\n }\r\n _updateSubmenuVisibilityOnClick(actionArgs) {\r\n if (!actionArgs.args.length) {\r\n return\r\n }\r\n var itemData = actionArgs.args[0].itemData;\r\n var node = this._dataAdapter.getNodeByItem(itemData);\r\n if (!node) {\r\n return\r\n }\r\n var $itemElement = $(actionArgs.args[0].itemElement);\r\n var $submenu = $itemElement.find(\".\".concat(DX_SUBMENU_CLASS));\r\n var shouldRenderSubmenu = this._hasSubmenu(node) && !$submenu.length;\r\n if (shouldRenderSubmenu) {\r\n this._renderSubmenuItems(node, $itemElement);\r\n $submenu = $itemElement.find(\".\".concat(DX_SUBMENU_CLASS))\r\n }\r\n if ($itemElement.context === $submenu.context && \"visible\" === $submenu.css(\"visibility\")) {\r\n return\r\n }\r\n this._updateSelectedItemOnClick(actionArgs);\r\n var notCloseMenuOnItemClick = itemData && false === itemData.closeMenuOnClick;\r\n if (!itemData || itemData.disabled || notCloseMenuOnItemClick) {\r\n return\r\n }\r\n if (0 === $submenu.length) {\r\n var $prevSubmenu = $($itemElement.parents(\".\".concat(DX_SUBMENU_CLASS))[0]);\r\n this._hideSubmenu($prevSubmenu);\r\n if (!actionArgs.canceled && this._overlay && this._overlay.option(\"visible\")) {\r\n this.option(\"visible\", false)\r\n }\r\n } else {\r\n if (this._shownSubmenus && this._shownSubmenus.length > 0) {\r\n if (this._shownSubmenus[0].is($submenu)) {\r\n this._hideSubmenu($submenu)\r\n }\r\n }\r\n this._showSubmenu($itemElement)\r\n }\r\n }\r\n _hideSubmenu($curSubmenu) {\r\n var shownSubmenus = extend([], this._shownSubmenus);\r\n each(shownSubmenus, (index, $submenu) => {\r\n if ($curSubmenu.is($submenu) || contains($curSubmenu[0], $submenu[0])) {\r\n $submenu.parent().removeClass(DX_MENU_ITEM_EXPANDED_CLASS);\r\n this._hideSubmenuCore($submenu)\r\n }\r\n })\r\n }\r\n _hideSubmenuCore($submenu) {\r\n var index = this._shownSubmenus.indexOf($submenu);\r\n var animation = this.option(\"animation\") ? this.option(\"animation\").hide : null;\r\n if (index >= 0) {\r\n this._shownSubmenus.splice(index, 1)\r\n }\r\n this._stopAnimate($submenu);\r\n animation && this._animate($submenu, animation);\r\n $submenu.css(\"visibility\", \"hidden\")\r\n }\r\n _stopAnimate($container) {\r\n fx.stop($container, true)\r\n }\r\n _hideAllShownSubmenus() {\r\n var shownSubmenus = extend([], this._shownSubmenus);\r\n var $expandedItems = this._overlay.$content().find(\".\".concat(DX_MENU_ITEM_EXPANDED_CLASS));\r\n $expandedItems.removeClass(DX_MENU_ITEM_EXPANDED_CLASS);\r\n each(shownSubmenus, (_, $submenu) => {\r\n this._hideSubmenu($submenu)\r\n })\r\n }\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this._renderContentImpl()\r\n }\r\n }\r\n _optionChanged(args) {\r\n if (ACTIONS.includes(args.name)) {\r\n this._initActions();\r\n return\r\n }\r\n switch (args.name) {\r\n case \"visible\":\r\n this._renderVisibility(args.value);\r\n break;\r\n case \"showEvent\":\r\n case \"position\":\r\n case \"submenuDirection\":\r\n this._invalidate();\r\n break;\r\n case \"target\":\r\n args.previousValue && this._detachShowContextMenuEvents(args.previousValue);\r\n this._invalidate();\r\n break;\r\n case \"closeOnOutsideClick\":\r\n case \"hideOnOutsideClick\":\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _renderVisibility(showing) {\r\n return showing ? this._show() : this._hide()\r\n }\r\n _toggleVisibility() {}\r\n _show(event) {\r\n var args = {\r\n jQEvent: event\r\n };\r\n var promise = (new Deferred).reject().promise();\r\n this._actions.onShowing(args);\r\n if (args.cancel) {\r\n return promise\r\n }\r\n var position = this._positionContextMenu(event);\r\n if (position) {\r\n var _event$originalEvent;\r\n if (!this._overlay) {\r\n this._renderContextMenuOverlay();\r\n this._overlay.$content().addClass(this._widgetClass());\r\n this._renderFocusState();\r\n this._attachHoverEvents();\r\n this._attachClickEvent();\r\n this._renderItems(this._dataAdapter.getRootNodes())\r\n }\r\n this._setOptionWithoutOptionChange(\"visible\", true);\r\n this._overlay.option(\"position\", position);\r\n promise = this._overlay.show();\r\n event && event.stopPropagation();\r\n this._setAriaAttributes();\r\n if ((null === event || void 0 === event ? void 0 : null === (_event$originalEvent = event.originalEvent) || void 0 === _event$originalEvent ? void 0 : _event$originalEvent.type) === holdEvent.name) {\r\n this.preventShowingDefaultContextMenuAboveOverlay()\r\n }\r\n }\r\n return promise\r\n }\r\n _setAriaAttributes() {\r\n this._overlayContentId = \"dx-\".concat(new Guid);\r\n this.setAria(\"owns\", this._overlayContentId);\r\n this.setAria({\r\n id: this._overlayContentId,\r\n role: \"menu\"\r\n }, this._overlay.$content())\r\n }\r\n _cleanAriaAttributes() {\r\n this._overlay && this.setAria(\"id\", null, this._overlay.$content());\r\n this.setAria(\"owns\", void 0)\r\n }\r\n _getTarget() {\r\n return this.option(\"target\") || this.option(\"position\").of || $(domAdapter.getDocument())\r\n }\r\n _getContextMenuPosition() {\r\n return extend({}, this.option(\"position\"), {\r\n of: this._getTarget()\r\n })\r\n }\r\n _positionContextMenu(jQEvent) {\r\n var position = this._getContextMenuPosition();\r\n var isInitialPosition = this._isInitialOptionValue(\"position\");\r\n var positioningAction = this._createActionByOption(\"onPositioning\");\r\n if (jQEvent && jQEvent.preventDefault && isInitialPosition) {\r\n position.of = jQEvent\r\n }\r\n var actionArgs = {\r\n position: position,\r\n event: jQEvent\r\n };\r\n positioningAction(actionArgs);\r\n if (actionArgs.cancel) {\r\n position = null\r\n } else if (actionArgs.event) {\r\n actionArgs.event.cancel = true;\r\n jQEvent.preventDefault()\r\n }\r\n return position\r\n }\r\n _refresh() {\r\n if (!hasWindow()) {\r\n super._refresh()\r\n } else if (this._overlay) {\r\n var lastPosition = this._overlay.option(\"position\");\r\n super._refresh();\r\n this._overlay && this._overlay.option(\"position\", lastPosition)\r\n } else {\r\n super._refresh()\r\n }\r\n }\r\n _hide() {\r\n var promise;\r\n if (this._overlay) {\r\n promise = this._overlay.hide();\r\n this._setOptionWithoutOptionChange(\"visible\", false)\r\n }\r\n this._cleanAriaAttributes();\r\n this.option(\"focusedElement\", null);\r\n return promise || (new Deferred).reject().promise()\r\n }\r\n toggle(showing) {\r\n var visible = this.option(\"visible\");\r\n showing = void 0 === showing ? !visible : showing;\r\n return this._renderVisibility(showing)\r\n }\r\n show() {\r\n return this.toggle(true)\r\n }\r\n hide() {\r\n return this.toggle(false)\r\n }\r\n}\r\nregisterComponent(\"dxContextMenu\", ContextMenu);\r\nexport default ContextMenu;\r\n","/**\r\n * DevExtreme (esm/ui/context_menu.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ContextMenu from \"./context_menu/ui.context_menu\";\r\nexport default ContextMenu;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/context_menu/m_context_menu.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getPublicElement\r\n} from \"../../../../core/element\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport ContextMenu from \"../../../../ui/context_menu\";\r\nimport modules from \"../m_modules\";\r\nvar CONTEXT_MENU = \"dx-context-menu\";\r\nvar viewName = {\r\n columnHeadersView: \"header\",\r\n rowsView: \"content\",\r\n footerView: \"footer\",\r\n headerPanel: \"headerPanel\"\r\n};\r\nvar VIEW_NAMES = [\"columnHeadersView\", \"rowsView\", \"footerView\", \"headerPanel\"];\r\nexport class ContextMenuController extends modules.ViewController {\r\n init() {\r\n this.createAction(\"onContextMenuPreparing\")\r\n }\r\n getContextMenuItems(dxEvent) {\r\n if (!dxEvent) {\r\n return false\r\n }\r\n var that = this;\r\n var $targetElement = $(dxEvent.target);\r\n var $element;\r\n var $targetRowElement;\r\n var $targetCellElement;\r\n var menuItems;\r\n each(VIEW_NAMES, (function() {\r\n var _a, _b;\r\n var view = that.getView(this);\r\n $element = view && view.element();\r\n if ($element && ($element.is($targetElement) || $element.find($targetElement).length)) {\r\n $targetCellElement = $targetElement.closest(\".dx-row > td, .dx-row > tr\");\r\n $targetRowElement = $targetCellElement.parent();\r\n var rowIndex = view.getRowIndex($targetRowElement);\r\n var columnIndex = $targetCellElement[0] && $targetCellElement[0].cellIndex;\r\n var rowOptions = $targetRowElement.data(\"options\");\r\n var options = {\r\n event: dxEvent,\r\n targetElement: getPublicElement($targetElement),\r\n target: viewName[this],\r\n rowIndex: rowIndex,\r\n row: view._getRows()[rowIndex],\r\n columnIndex: columnIndex,\r\n column: null === (_b = null === (_a = null === rowOptions || void 0 === rowOptions ? void 0 : rowOptions.cells) || void 0 === _a ? void 0 : _a[columnIndex]) || void 0 === _b ? void 0 : _b.column\r\n };\r\n options.items = view.getContextMenuItems && view.getContextMenuItems(options);\r\n that.executeAction(\"onContextMenuPreparing\", options);\r\n that._contextMenuPrepared(options);\r\n menuItems = options.items;\r\n if (menuItems) {\r\n return false\r\n }\r\n }\r\n return\r\n }));\r\n return menuItems\r\n }\r\n _contextMenuPrepared(options) {}\r\n}\r\nexport class ContextMenuView extends modules.View {\r\n init() {\r\n super.init();\r\n this._contextMenuController = this.getController(\"contextMenu\")\r\n }\r\n _renderCore() {\r\n var $element = this.element().addClass(CONTEXT_MENU);\r\n this.setAria(\"role\", \"presentation\", $element);\r\n this._createComponent($element, ContextMenu, {\r\n onPositioning: actionArgs => {\r\n var {\r\n event: event\r\n } = actionArgs;\r\n var contextMenuInstance = actionArgs.component;\r\n var items = this._contextMenuController.getContextMenuItems(event);\r\n if (items) {\r\n contextMenuInstance.option(\"items\", items);\r\n event.stopPropagation()\r\n } else {\r\n actionArgs.cancel = true\r\n }\r\n },\r\n onItemClick(params) {\r\n var _a, _b;\r\n null === (_b = null === (_a = params.itemData) || void 0 === _a ? void 0 : _a.onItemClick) || void 0 === _b ? void 0 : _b.call(_a, params)\r\n },\r\n cssClass: this.getWidgetContainerClass(),\r\n target: this.component.$element()\r\n })\r\n }\r\n}\r\nexport var contextMenuModule = {\r\n defaultOptions: () => ({\r\n onContextMenuPreparing: null\r\n }),\r\n controllers: {\r\n contextMenu: ContextMenuController\r\n },\r\n views: {\r\n contextMenuView: ContextMenuView\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/context_menu.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n contextMenuModule\r\n} from \"../../../grids/grid_core/context_menu/m_context_menu\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"contextMenu\", contextMenuModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/error_handling/m_error_handling.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport modules from \"../m_modules\";\r\nvar ERROR_ROW_CLASS = \"dx-error-row\";\r\nvar ERROR_MESSAGE_CLASS = \"dx-error-message\";\r\nvar ERROR_CLOSEBUTTON_CLASS = \"dx-closebutton\";\r\nvar ACTION_CLASS = \"action\";\r\nexport class ErrorHandlingController extends modules.ViewController {\r\n init() {\r\n this._resizingController = this.getController(\"resizing\");\r\n this._columnsController = this.getController(\"columns\");\r\n this._columnHeadersView = this.getView(\"columnHeadersView\");\r\n this._rowsView = this.getView(\"rowsView\")\r\n }\r\n _createErrorRow(error, $tableElements) {\r\n var $errorRow;\r\n var $closeButton;\r\n var $errorMessage = this._renderErrorMessage(error);\r\n if ($tableElements) {\r\n $errorRow = $(\"<tr>\").addClass(ERROR_ROW_CLASS);\r\n $closeButton = $(\"<div>\").addClass(ERROR_CLOSEBUTTON_CLASS).addClass(this.addWidgetPrefix(ACTION_CLASS));\r\n eventsEngine.on($closeButton, clickEventName, this.createAction(args => {\r\n var _a, _b;\r\n var e = args.event;\r\n var $errorRow;\r\n var errorRowIndex = $(e.currentTarget).closest(\".\".concat(ERROR_ROW_CLASS)).index();\r\n e.stopPropagation();\r\n each($tableElements, (_, tableElement) => {\r\n $errorRow = $(tableElement).children(\"tbody\").children(\"tr\").eq(errorRowIndex);\r\n this.removeErrorRow($errorRow)\r\n });\r\n null === (_b = null === (_a = this._resizingController) || void 0 === _a ? void 0 : _a.fireContentReadyAction) || void 0 === _b ? void 0 : _b.call(_a)\r\n }));\r\n $(\"<td>\").attr({\r\n colSpan: this.getController(\"columns\").getVisibleColumns().length,\r\n role: \"presentation\"\r\n }).prepend($closeButton).append($errorMessage).appendTo($errorRow);\r\n return $errorRow\r\n }\r\n return $errorMessage\r\n }\r\n _renderErrorMessage(error) {\r\n var message = error.url ? error.message.replace(error.url, \"\") : error.message || error;\r\n var $message = $(\"<div>\").addClass(ERROR_MESSAGE_CLASS).text(message);\r\n if (error.url) {\r\n $(\"<a>\").attr(\"href\", error.url).text(error.url).appendTo($message)\r\n }\r\n return $message\r\n }\r\n renderErrorRow(error, rowIndex, $popupContent) {\r\n var _a, _b;\r\n var that = this;\r\n var $errorMessageElement;\r\n var $firstErrorRow;\r\n if ($popupContent) {\r\n $popupContent.find(\".\".concat(ERROR_MESSAGE_CLASS)).remove();\r\n $errorMessageElement = that._createErrorRow(error);\r\n $popupContent.prepend($errorMessageElement);\r\n return $errorMessageElement\r\n }\r\n var viewElement = rowIndex >= 0 || !that._columnHeadersView.isVisible() ? that._rowsView : that._columnHeadersView;\r\n var $tableElements = viewElement.getTableElements();\r\n each($tableElements, (_, tableElement) => {\r\n $errorMessageElement = that._createErrorRow(error, $tableElements);\r\n $firstErrorRow = $firstErrorRow || $errorMessageElement;\r\n if (rowIndex >= 0) {\r\n var $row = viewElement._getRowElements($(tableElement)).eq(rowIndex);\r\n that.removeErrorRow($row.next());\r\n $errorMessageElement.insertAfter($row)\r\n } else {\r\n var $tbody = $(tableElement).children(\"tbody\");\r\n var rowElements = $tbody.children(\"tr\");\r\n if (that._columnHeadersView.isVisible()) {\r\n that.removeErrorRow(rowElements.last());\r\n $(tableElement).append($errorMessageElement)\r\n } else {\r\n that.removeErrorRow(rowElements.first());\r\n $tbody.first().prepend($errorMessageElement)\r\n }\r\n }\r\n });\r\n null === (_b = null === (_a = this._resizingController) || void 0 === _a ? void 0 : _a.fireContentReadyAction) || void 0 === _b ? void 0 : _b.call(_a);\r\n return $firstErrorRow\r\n }\r\n removeErrorRow($row) {\r\n if (!$row) {\r\n var $columnHeaders = this._columnHeadersView && this._columnHeadersView.element();\r\n $row = $columnHeaders && $columnHeaders.find(\".\".concat(ERROR_ROW_CLASS));\r\n if (!$row || !$row.length) {\r\n var $rowsViewElement = this._rowsView.element();\r\n $row = $rowsViewElement && $rowsViewElement.find(\".\".concat(ERROR_ROW_CLASS))\r\n }\r\n }\r\n $row && $row.hasClass(ERROR_ROW_CLASS) && $row.remove()\r\n }\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"errorRowEnabled\":\r\n args.handled = true;\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n}\r\nvar data = Base => class extends Base {\r\n init() {\r\n super.init();\r\n this.dataErrorOccurred.add((error, $popupContent) => {\r\n if (this.option(\"errorRowEnabled\")) {\r\n this._errorHandlingController.renderErrorRow(error, void 0, $popupContent)\r\n }\r\n });\r\n this.changed.add(e => {\r\n var _a, _b;\r\n if (e && \"loadError\" === e.changeType) {\r\n return\r\n }\r\n if (this._editingController && !this._editingController.hasChanges()) {\r\n null === (_b = null === (_a = this._errorHandlingController) || void 0 === _a ? void 0 : _a.removeErrorRow) || void 0 === _b ? void 0 : _b.call(_a)\r\n }\r\n })\r\n }\r\n};\r\nexport var errorHandlingModule = {\r\n defaultOptions: () => ({\r\n errorRowEnabled: true\r\n }),\r\n controllers: {\r\n errorHandling: ErrorHandlingController\r\n },\r\n extenders: {\r\n controllers: {\r\n data: data\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/error_handling.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n errorHandlingModule\r\n} from \"../../../grids/grid_core/error_handling/m_error_handling\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"errorHandling\", errorHandlingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/views/m_grid_view.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n deferRender,\r\n deferUpdate\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getInnerWidth,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined,\r\n isNumeric,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport * as accessibility from \"../../../../ui/shared/accessibility\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar BORDERS_CLASS = \"borders\";\r\nvar TABLE_FIXED_CLASS = \"table-fixed\";\r\nvar IMPORTANT_MARGIN_CLASS = \"important-margin\";\r\nvar GRIDBASE_CONTAINER_CLASS = \"dx-gridbase-container\";\r\nvar GROUP_ROW_SELECTOR = \"tr.dx-group-row\";\r\nvar HIDDEN_COLUMNS_WIDTH = \"adaptiveHidden\";\r\nvar VIEW_NAMES = [\"columnsSeparatorView\", \"blockSeparatorView\", \"trackerView\", \"headerPanel\", \"columnHeadersView\", \"rowsView\", \"footerView\", \"columnChooserView\", \"filterPanelView\", \"pagerView\", \"draggingHeaderView\", \"contextMenuView\", \"errorView\", \"headerFilterView\", \"filterBuilderView\"];\r\nvar isPercentWidth = function(width) {\r\n return isString(width) && width.endsWith(\"%\")\r\n};\r\nvar isPixelWidth = function(width) {\r\n return isString(width) && width.endsWith(\"px\")\r\n};\r\nvar calculateFreeWidth = function(that, widths) {\r\n var contentWidth = that._rowsView.contentWidth();\r\n var totalWidth = that._getTotalWidth(widths, contentWidth);\r\n return contentWidth - totalWidth\r\n};\r\nvar calculateFreeWidthWithCurrentMinWidth = function(that, columnIndex, currentMinWidth, widths) {\r\n return calculateFreeWidth(that, widths.map((width, index) => index === columnIndex ? currentMinWidth : width))\r\n};\r\nvar restoreFocus = function(focusedElement, selectionRange) {\r\n accessibility.hiddenFocus(focusedElement, true);\r\n gridCoreUtils.setSelectionRange(focusedElement, selectionRange)\r\n};\r\nexport class ResizingController extends modules.ViewController {\r\n init() {\r\n this._prevContentMinHeight = null;\r\n this._dataController = this.getController(\"data\");\r\n this._columnsController = this.getController(\"columns\");\r\n this._columnHeadersView = this.getView(\"columnHeadersView\");\r\n this._adaptiveColumnsController = this.getController(\"adaptiveColumns\");\r\n this._editorFactoryController = this.getController(\"editorFactory\");\r\n this._footerView = this.getView(\"footerView\");\r\n this._rowsView = this.getView(\"rowsView\")\r\n }\r\n _initPostRenderHandlers() {\r\n if (!this._refreshSizesHandler) {\r\n this._refreshSizesHandler = e => {\r\n var resizeDeferred = (new Deferred).resolve(null);\r\n var changeType = null === e || void 0 === e ? void 0 : e.changeType;\r\n var isDelayed = null === e || void 0 === e ? void 0 : e.isDelayed;\r\n var needFireContentReady = changeType && \"updateSelection\" !== changeType && \"updateFocusedRow\" !== changeType && \"pageIndex\" !== changeType && !isDelayed;\r\n this._dataController.changed.remove(this._refreshSizesHandler);\r\n if (this._checkSize()) {\r\n resizeDeferred = this._refreshSizes(e)\r\n }\r\n if (needFireContentReady) {\r\n when(resizeDeferred).done(() => {\r\n this._setAriaLabel();\r\n this.fireContentReadyAction()\r\n })\r\n }\r\n };\r\n this._dataController.changed.add(() => {\r\n this._dataController.changed.add(this._refreshSizesHandler)\r\n })\r\n }\r\n }\r\n _refreshSizes(e) {\r\n var _a;\r\n var resizeDeferred = (new Deferred).resolve(null);\r\n var changeType = null === e || void 0 === e ? void 0 : e.changeType;\r\n var isDelayed = null === e || void 0 === e ? void 0 : e.isDelayed;\r\n var items = this._dataController.items();\r\n if (!e || \"refresh\" === changeType || \"prepend\" === changeType || \"append\" === changeType) {\r\n if (!isDelayed) {\r\n resizeDeferred = this.resize()\r\n }\r\n } else if (\"update\" === changeType) {\r\n if (0 === (null === (_a = e.changeTypes) || void 0 === _a ? void 0 : _a.length)) {\r\n return resizeDeferred\r\n }\r\n if ((items.length > 1 || \"insert\" !== e.changeTypes[0]) && !(0 === items.length && \"remove\" === e.changeTypes[0]) && !e.needUpdateDimensions) {\r\n resizeDeferred = new Deferred;\r\n this._waitAsyncTemplates().done(() => {\r\n deferUpdate(() => deferRender(() => deferUpdate(() => {\r\n this._setScrollerSpacing();\r\n this._rowsView.resize();\r\n resizeDeferred.resolve()\r\n })))\r\n }).fail(resizeDeferred.reject)\r\n } else {\r\n resizeDeferred = this.resize()\r\n }\r\n }\r\n return resizeDeferred\r\n }\r\n fireContentReadyAction() {\r\n this.component._fireContentReadyAction()\r\n }\r\n _getWidgetAriaLabel() {\r\n return \"dxDataGrid-ariaDataGrid\"\r\n }\r\n _setAriaLabel() {\r\n var totalItemsCount = Math.max(0, this._dataController.totalItemsCount());\r\n this.component.setAria(\"label\", messageLocalization.format(this._getWidgetAriaLabel(), totalItemsCount, this.component.columnCount()), this.component.$element().children(\".\".concat(GRIDBASE_CONTAINER_CLASS)))\r\n }\r\n _getBestFitWidths() {\r\n var _a;\r\n var rowsView = this._rowsView;\r\n var columnHeadersView = this._columnHeadersView;\r\n var widths = rowsView.getColumnWidths();\r\n if (!(null === widths || void 0 === widths ? void 0 : widths.length)) {\r\n var headersTableElement = columnHeadersView.getTableElement();\r\n columnHeadersView.setTableElement(null === (_a = rowsView.getTableElement()) || void 0 === _a ? void 0 : _a.children(\".dx-header\"));\r\n widths = columnHeadersView.getColumnWidths();\r\n columnHeadersView.setTableElement(headersTableElement)\r\n }\r\n return widths\r\n }\r\n _setVisibleWidths(visibleColumns, widths) {\r\n var columnsController = this._columnsController;\r\n columnsController.beginUpdate();\r\n each(visibleColumns, (index, column) => {\r\n var columnId = columnsController.getColumnId(column);\r\n columnsController.columnOption(columnId, \"visibleWidth\", widths[index])\r\n });\r\n columnsController.endUpdate()\r\n }\r\n _toggleBestFitModeForView(view, className, isBestFit) {\r\n if (!view || !view.isVisible()) {\r\n return\r\n }\r\n var $rowsTables = this._rowsView.getTableElements();\r\n var $viewTables = view.getTableElements();\r\n each($rowsTables, (index, tableElement) => {\r\n var $tableBody;\r\n var $rowsTable = $(tableElement);\r\n var $viewTable = $viewTables.eq(index);\r\n if ($viewTable && $viewTable.length) {\r\n if (isBestFit) {\r\n $tableBody = $viewTable.children(\"tbody\").appendTo($rowsTable)\r\n } else {\r\n $tableBody = $rowsTable.children(\".\".concat(className)).appendTo($viewTable)\r\n }\r\n $tableBody.toggleClass(className, isBestFit);\r\n $tableBody.toggleClass(this.addWidgetPrefix(\"best-fit\"), isBestFit)\r\n }\r\n })\r\n }\r\n _toggleBestFitMode(isBestFit) {\r\n var $rowsTable = this._rowsView.getTableElement();\r\n var $rowsFixedTable = this._rowsView.getTableElements().eq(1);\r\n if (!$rowsTable) {\r\n return\r\n }\r\n $rowsTable.css(\"tableLayout\", isBestFit ? \"auto\" : \"fixed\");\r\n $rowsTable.children(\"colgroup\").css(\"display\", isBestFit ? \"none\" : \"\");\r\n each($rowsFixedTable.find(GROUP_ROW_SELECTOR), (idx, item) => {\r\n $(item).css(\"display\", isBestFit ? \"none\" : \"\")\r\n });\r\n $rowsFixedTable.toggleClass(this.addWidgetPrefix(TABLE_FIXED_CLASS), !isBestFit);\r\n this._toggleBestFitModeForView(this._columnHeadersView, \"dx-header\", isBestFit);\r\n this._toggleBestFitModeForView(this._footerView, \"dx-footer\", isBestFit);\r\n if (this._needStretch()) {\r\n $rowsTable.get(0).style.width = isBestFit ? \"auto\" : \"\"\r\n }\r\n }\r\n _toggleContentMinHeight(value) {\r\n var scrollable = this._rowsView.getScrollable();\r\n var $contentElement = this._rowsView._findContentElement();\r\n if (false === (null === scrollable || void 0 === scrollable ? void 0 : scrollable.option(\"useNative\"))) {\r\n if (true === value) {\r\n this._prevContentMinHeight = $contentElement.get(0).style.minHeight\r\n }\r\n if (isDefined(this._prevContentMinHeight)) {\r\n $contentElement.css({\r\n minHeight: value ? gridCoreUtils.getContentHeightLimit(browser) : this._prevContentMinHeight\r\n })\r\n }\r\n }\r\n }\r\n _synchronizeColumns() {\r\n var columnsController = this._columnsController;\r\n var visibleColumns = columnsController.getVisibleColumns();\r\n var columnAutoWidth = this.option(\"columnAutoWidth\");\r\n var wordWrapEnabled = this.option(\"wordWrapEnabled\");\r\n var hasUndefinedColumnWidth = visibleColumns.some(column => !isDefined(column.width));\r\n var needBestFit = this._needBestFit();\r\n var hasMinWidth = false;\r\n var resetBestFitMode;\r\n var isColumnWidthsCorrected = false;\r\n var resultWidths = [];\r\n var focusedElement;\r\n var selectionRange;\r\n !needBestFit && each(visibleColumns, (index, column) => {\r\n if (\"auto\" === column.width) {\r\n needBestFit = true;\r\n return false\r\n }\r\n return\r\n });\r\n each(visibleColumns, (index, column) => {\r\n if (column.minWidth) {\r\n hasMinWidth = true;\r\n return false\r\n }\r\n return\r\n });\r\n this._setVisibleWidths(visibleColumns, []);\r\n var $element = this.component.$element();\r\n if (needBestFit) {\r\n focusedElement = domAdapter.getActiveElement($element.get(0));\r\n selectionRange = gridCoreUtils.getSelectionRange(focusedElement);\r\n this._toggleBestFitMode(true);\r\n resetBestFitMode = true\r\n }\r\n this._toggleContentMinHeight(wordWrapEnabled);\r\n if ($element && $element.get(0) && this._maxWidth) {\r\n delete this._maxWidth;\r\n $element[0].style.maxWidth = \"\"\r\n }\r\n deferUpdate(() => {\r\n if (needBestFit) {\r\n resultWidths = this._getBestFitWidths();\r\n each(visibleColumns, (index, column) => {\r\n var columnId = columnsController.getColumnId(column);\r\n columnsController.columnOption(columnId, \"bestFitWidth\", resultWidths[index], true)\r\n })\r\n } else if (hasMinWidth) {\r\n resultWidths = this._getBestFitWidths()\r\n }\r\n each(visibleColumns, (function(index) {\r\n var {\r\n width: width\r\n } = this;\r\n if (\"auto\" !== width) {\r\n if (isDefined(width)) {\r\n resultWidths[index] = isNumeric(width) || isPixelWidth(width) ? parseFloat(width) : width\r\n } else if (!columnAutoWidth) {\r\n resultWidths[index] = void 0\r\n }\r\n }\r\n }));\r\n if (resetBestFitMode) {\r\n this._toggleBestFitMode(false);\r\n resetBestFitMode = false;\r\n if (focusedElement && focusedElement !== domAdapter.getActiveElement()) {\r\n var isFocusOutsideWindow = getBoundingRect(focusedElement).bottom < 0;\r\n if (!isFocusOutsideWindow) {\r\n restoreFocus(focusedElement, selectionRange)\r\n }\r\n }\r\n }\r\n isColumnWidthsCorrected = this._correctColumnWidths(resultWidths, visibleColumns);\r\n if (columnAutoWidth) {\r\n ! function() {\r\n var expandColumnWidth;\r\n each(visibleColumns, (index, column) => {\r\n if (\"groupExpand\" === column.type) {\r\n expandColumnWidth = resultWidths[index]\r\n }\r\n });\r\n each(visibleColumns, (index, column) => {\r\n if (\"groupExpand\" === column.type && expandColumnWidth) {\r\n resultWidths[index] = expandColumnWidth\r\n }\r\n })\r\n }();\r\n if (this._needStretch()) {\r\n this._processStretch(resultWidths, visibleColumns)\r\n }\r\n }\r\n deferRender(() => {\r\n if (needBestFit || isColumnWidthsCorrected || hasUndefinedColumnWidth) {\r\n this._setVisibleWidths(visibleColumns, resultWidths)\r\n }\r\n if (wordWrapEnabled) {\r\n this._toggleContentMinHeight(false)\r\n }\r\n })\r\n })\r\n }\r\n _needBestFit() {\r\n return this.option(\"columnAutoWidth\")\r\n }\r\n _needStretch() {\r\n return this._columnsController.getVisibleColumns().some(c => \"auto\" === c.width && !c.command)\r\n }\r\n _getAverageColumnsWidth(resultWidths) {\r\n var freeWidth = calculateFreeWidth(this, resultWidths);\r\n var columnCountWithoutWidth = resultWidths.filter(width => void 0 === width).length;\r\n return freeWidth / columnCountWithoutWidth\r\n }\r\n _correctColumnWidths(resultWidths, visibleColumns) {\r\n var that = this;\r\n var i;\r\n var hasPercentWidth = false;\r\n var hasAutoWidth = false;\r\n var isColumnWidthsCorrected = false;\r\n var $element = that.component.$element();\r\n var hasWidth = that._hasWidth;\r\n var _loop = function() {\r\n var index = i;\r\n var column = visibleColumns[index];\r\n var isHiddenColumn = resultWidths[index] === HIDDEN_COLUMNS_WIDTH;\r\n var width = resultWidths[index];\r\n var {\r\n minWidth: minWidth\r\n } = column;\r\n if (minWidth) {\r\n if (void 0 === width) {\r\n var averageColumnsWidth = that._getAverageColumnsWidth(resultWidths);\r\n width = averageColumnsWidth\r\n } else if (isPercentWidth(width)) {\r\n var freeWidth = calculateFreeWidthWithCurrentMinWidth(that, index, minWidth, resultWidths);\r\n if (freeWidth < 0) {\r\n width = -1\r\n }\r\n }\r\n }\r\n var realColumnWidth = that._getRealColumnWidth(index, resultWidths.map((columnWidth, columnIndex) => index === columnIndex ? width : columnWidth));\r\n if (minWidth && !isHiddenColumn && realColumnWidth < minWidth) {\r\n resultWidths[index] = minWidth;\r\n isColumnWidthsCorrected = true;\r\n i = -1\r\n }\r\n if (!isDefined(column.width)) {\r\n hasAutoWidth = true\r\n }\r\n if (isPercentWidth(column.width)) {\r\n hasPercentWidth = true\r\n }\r\n };\r\n for (i = 0; i < visibleColumns.length; i++) {\r\n _loop()\r\n }\r\n if (!hasAutoWidth && resultWidths.length) {\r\n var $rowsViewElement = that._rowsView.element();\r\n var contentWidth = that._rowsView.contentWidth();\r\n var scrollbarWidth = that._rowsView.getScrollbarWidth();\r\n var totalWidth = that._getTotalWidth(resultWidths, contentWidth);\r\n if (totalWidth < contentWidth) {\r\n var lastColumnIndex = gridCoreUtils.getLastResizableColumnIndex(visibleColumns, resultWidths);\r\n if (lastColumnIndex >= 0) {\r\n resultWidths[lastColumnIndex] = \"auto\";\r\n isColumnWidthsCorrected = true;\r\n if (false === hasWidth && !hasPercentWidth) {\r\n var borderWidth = that.option(\"showBorders\") ? Math.ceil(getOuterWidth($rowsViewElement) - getInnerWidth($rowsViewElement)) : 0;\r\n that._maxWidth = totalWidth + scrollbarWidth + borderWidth;\r\n $element.css(\"maxWidth\", that._maxWidth)\r\n }\r\n }\r\n }\r\n }\r\n return isColumnWidthsCorrected\r\n }\r\n _processStretch(resultSizes, visibleColumns) {\r\n var groupSize = this._rowsView.contentWidth();\r\n var tableSize = this._getTotalWidth(resultSizes, groupSize);\r\n var unusedIndexes = {\r\n length: 0\r\n };\r\n if (!resultSizes.length) {\r\n return\r\n }\r\n each(visibleColumns, (function(index) {\r\n if (this.width || resultSizes[index] === HIDDEN_COLUMNS_WIDTH) {\r\n unusedIndexes[index] = true;\r\n unusedIndexes.length++\r\n }\r\n }));\r\n var diff = groupSize - tableSize;\r\n var diffElement = Math.floor(diff / (resultSizes.length - unusedIndexes.length));\r\n var onePixelElementsCount = diff - diffElement * (resultSizes.length - unusedIndexes.length);\r\n if (diff >= 0) {\r\n for (var i = 0; i < resultSizes.length; i++) {\r\n if (unusedIndexes[i]) {\r\n continue\r\n }\r\n resultSizes[i] += diffElement;\r\n if (onePixelElementsCount > 0) {\r\n if (onePixelElementsCount < 1) {\r\n resultSizes[i] += onePixelElementsCount;\r\n onePixelElementsCount = 0\r\n } else {\r\n resultSizes[i]++;\r\n onePixelElementsCount--\r\n }\r\n }\r\n }\r\n }\r\n }\r\n _getRealColumnWidth(columnIndex, columnWidths, groupWidth) {\r\n var ratio = 1;\r\n var width = columnWidths[columnIndex];\r\n if (!isPercentWidth(width)) {\r\n return parseFloat(width)\r\n }\r\n var percentTotalWidth = columnWidths.reduce((sum, width, index) => {\r\n if (!isPercentWidth(width)) {\r\n return sum\r\n }\r\n return sum + parseFloat(width)\r\n }, 0);\r\n var pixelTotalWidth = columnWidths.reduce((sum, width) => {\r\n if (!width || width === HIDDEN_COLUMNS_WIDTH || isPercentWidth(width)) {\r\n return sum\r\n }\r\n return sum + parseFloat(width)\r\n }, 0);\r\n groupWidth = groupWidth || this._rowsView.contentWidth();\r\n var freeSpace = groupWidth - pixelTotalWidth;\r\n var percentTotalWidthInPixel = percentTotalWidth * groupWidth / 100;\r\n if (pixelTotalWidth > 0 && percentTotalWidthInPixel + pixelTotalWidth >= groupWidth) {\r\n ratio = percentTotalWidthInPixel > freeSpace ? freeSpace / percentTotalWidthInPixel : 1\r\n }\r\n return parseFloat(width) * groupWidth * ratio / 100\r\n }\r\n _getTotalWidth(widths, groupWidth) {\r\n var result = 0;\r\n for (var i = 0; i < widths.length; i++) {\r\n var width = widths[i];\r\n if (width && width !== HIDDEN_COLUMNS_WIDTH) {\r\n result += this._getRealColumnWidth(i, widths, groupWidth)\r\n }\r\n }\r\n return Math.ceil(result)\r\n }\r\n _getGroupElement() {\r\n return this.component.$element().children().get(0)\r\n }\r\n updateSize(rootElement) {\r\n var $rootElement = $(rootElement);\r\n var importantMarginClass = this.addWidgetPrefix(IMPORTANT_MARGIN_CLASS);\r\n if (void 0 === this._hasHeight && $rootElement && $rootElement.is(\":visible\") && getWidth($rootElement)) {\r\n var $groupElement = $rootElement.children(\".\".concat(this.getWidgetContainerClass()));\r\n if ($groupElement.length) {\r\n $groupElement.detach()\r\n }\r\n this._hasHeight = !!getHeight($rootElement);\r\n var width = getWidth($rootElement);\r\n $rootElement.addClass(importantMarginClass);\r\n this._hasWidth = getWidth($rootElement) === width;\r\n $rootElement.removeClass(importantMarginClass);\r\n if ($groupElement.length) {\r\n $groupElement.appendTo($rootElement)\r\n }\r\n }\r\n }\r\n publicMethods() {\r\n return [\"resize\", \"updateDimensions\"]\r\n }\r\n _waitAsyncTemplates() {\r\n var _a, _b, _c;\r\n return when(null === (_a = this._columnHeadersView) || void 0 === _a ? void 0 : _a.waitAsyncTemplates(true), null === (_b = this._rowsView) || void 0 === _b ? void 0 : _b.waitAsyncTemplates(true), null === (_c = this._footerView) || void 0 === _c ? void 0 : _c.waitAsyncTemplates(true))\r\n }\r\n resize() {\r\n if (this.component._requireResize) {\r\n return (new Deferred).resolve()\r\n }\r\n var d = new Deferred;\r\n this._waitAsyncTemplates().done(() => {\r\n when(this.updateDimensions()).done(d.resolve).fail(d.reject)\r\n }).fail(d.reject);\r\n return d.promise()\r\n }\r\n updateDimensions(checkSize) {\r\n var that = this;\r\n that._initPostRenderHandlers();\r\n if (!that._checkSize(checkSize)) {\r\n return\r\n }\r\n var prevResult = that._resizeDeferred;\r\n var result = that._resizeDeferred = new Deferred;\r\n when(prevResult).always(() => {\r\n deferRender(() => {\r\n if (that._dataController.isLoaded()) {\r\n that._synchronizeColumns()\r\n }\r\n that._resetGroupElementHeight();\r\n deferUpdate(() => {\r\n deferRender(() => {\r\n deferUpdate(() => {\r\n that._updateDimensionsCore()\r\n })\r\n })\r\n })\r\n }).done(result.resolve).fail(result.reject)\r\n });\r\n return result.promise()\r\n }\r\n _resetGroupElementHeight() {\r\n var groupElement = this._getGroupElement();\r\n var scrollable = this._rowsView.getScrollable();\r\n if (groupElement && groupElement.style.height && (!scrollable || !scrollable.scrollTop())) {\r\n groupElement.style.height = \"\"\r\n }\r\n }\r\n _checkSize(checkSize) {\r\n var $rootElement = this.component.$element();\r\n var isWidgetVisible = $rootElement.is(\":visible\");\r\n var isGridSizeChanged = this._lastWidth !== getWidth($rootElement) || this._lastHeight !== getHeight($rootElement) || this._devicePixelRatio !== getWindow().devicePixelRatio;\r\n return isWidgetVisible && (!checkSize || isGridSizeChanged)\r\n }\r\n _setScrollerSpacingCore() {\r\n var that = this;\r\n var vScrollbarWidth = that._rowsView.getScrollbarWidth();\r\n var hScrollbarWidth = that._rowsView.getScrollbarWidth(true);\r\n deferRender(() => {\r\n that._columnHeadersView && that._columnHeadersView.setScrollerSpacing(vScrollbarWidth);\r\n that._footerView && that._footerView.setScrollerSpacing(vScrollbarWidth);\r\n that._rowsView.setScrollerSpacing(vScrollbarWidth, hScrollbarWidth)\r\n })\r\n }\r\n _setScrollerSpacing() {\r\n var scrollable = this._rowsView.getScrollable();\r\n var isNativeScrolling = true === this.option(\"scrolling.useNative\");\r\n if (!scrollable || isNativeScrolling) {\r\n deferRender(() => {\r\n deferUpdate(() => {\r\n this._setScrollerSpacingCore()\r\n })\r\n })\r\n } else {\r\n this._setScrollerSpacingCore()\r\n }\r\n }\r\n _updateDimensionsCore() {\r\n var _a;\r\n var that = this;\r\n var dataController = that._dataController;\r\n var rowsView = that._rowsView;\r\n var $rootElement = that.component.$element();\r\n var groupElement = this._getGroupElement();\r\n var rootElementHeight = getHeight($rootElement);\r\n var height = null !== (_a = that.option(\"height\")) && void 0 !== _a ? _a : $rootElement.get(0).style.height;\r\n var isHeightSpecified = !!height && \"auto\" !== height;\r\n var maxHeight = parseInt($rootElement.css(\"maxHeight\"));\r\n var maxHeightHappened = maxHeight && rootElementHeight >= maxHeight;\r\n var isMaxHeightApplied = groupElement && groupElement.scrollHeight === groupElement.offsetHeight;\r\n that.updateSize($rootElement);\r\n deferRender(() => {\r\n var hasHeight = that._hasHeight || !!maxHeight || isHeightSpecified;\r\n rowsView.hasHeight(hasHeight);\r\n if (maxHeightHappened && !isMaxHeightApplied) {\r\n $(groupElement).css(\"height\", maxHeight)\r\n }\r\n if (!dataController.isLoaded()) {\r\n rowsView.setLoading(dataController.isLoading());\r\n return\r\n }\r\n deferUpdate(() => {\r\n that._updateLastSizes($rootElement);\r\n that._setScrollerSpacing();\r\n each(VIEW_NAMES, (index, viewName) => {\r\n var view = that.getView(viewName);\r\n if (view) {\r\n view.resize()\r\n }\r\n });\r\n this._editorFactoryController && this._editorFactoryController.resize()\r\n })\r\n })\r\n }\r\n _updateLastSizes($rootElement) {\r\n this._lastWidth = getWidth($rootElement);\r\n this._lastHeight = getHeight($rootElement);\r\n this._devicePixelRatio = getWindow().devicePixelRatio\r\n }\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this.component._renderDimensions();\r\n this.resize();\r\n case \"renderAsync\":\r\n args.handled = true;\r\n return;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n}\r\nexport class SynchronizeScrollingController extends modules.ViewController {\r\n _scrollChangedHandler(views, pos, viewName) {\r\n for (var j = 0; j < views.length; j++) {\r\n if (views[j] && views[j].name !== viewName) {\r\n views[j].scrollTo({\r\n left: pos.left,\r\n top: pos.top\r\n })\r\n }\r\n }\r\n }\r\n init() {\r\n var views = [this.getView(\"columnHeadersView\"), this.getView(\"footerView\"), this.getView(\"rowsView\")];\r\n for (var i = 0; i < views.length; i++) {\r\n var view = views[i];\r\n if (view) {\r\n view.scrollChanged.add(this._scrollChangedHandler.bind(this, views))\r\n }\r\n }\r\n }\r\n}\r\nexport class GridView extends modules.View {\r\n _endUpdateCore() {\r\n if (this.component._requireResize) {\r\n this.component._requireResize = false;\r\n this._resizingController.resize()\r\n }\r\n }\r\n init() {\r\n this._resizingController = this.getController(\"resizing\");\r\n this._dataController = this.getController(\"data\")\r\n }\r\n getView(name) {\r\n return this.component._views[name]\r\n }\r\n element() {\r\n return this._groupElement\r\n }\r\n optionChanged(args) {\r\n if (isDefined(this._groupElement) && \"showBorders\" === args.name) {\r\n this._groupElement.toggleClass(this.addWidgetPrefix(BORDERS_CLASS), !!args.value);\r\n args.handled = true\r\n } else {\r\n super.optionChanged(args)\r\n }\r\n }\r\n _renderViews($groupElement) {\r\n var that = this;\r\n each(VIEW_NAMES, (index, viewName) => {\r\n var view = that.getView(viewName);\r\n if (view) {\r\n view.render($groupElement)\r\n }\r\n })\r\n }\r\n _getTableRoleName() {\r\n return \"group\"\r\n }\r\n render($rootElement) {\r\n var isFirstRender = !this._groupElement;\r\n var $groupElement = this._groupElement || $(\"<div>\").addClass(this.getWidgetContainerClass());\r\n $groupElement.addClass(GRIDBASE_CONTAINER_CLASS);\r\n $groupElement.toggleClass(this.addWidgetPrefix(BORDERS_CLASS), !!this.option(\"showBorders\"));\r\n this.setAria(\"role\", \"presentation\", $rootElement);\r\n this.component.setAria(\"role\", this._getTableRoleName(), $groupElement);\r\n this._rootElement = $rootElement || this._rootElement;\r\n if (isFirstRender) {\r\n this._groupElement = $groupElement;\r\n hasWindow() && this._resizingController.updateSize($rootElement);\r\n $groupElement.appendTo($rootElement)\r\n }\r\n this._renderViews($groupElement)\r\n }\r\n update() {\r\n var $rootElement = this._rootElement;\r\n var $groupElement = this._groupElement;\r\n if ($rootElement && $groupElement) {\r\n this._resizingController.resize();\r\n if (this._dataController.isLoaded()) {\r\n this._resizingController.fireContentReadyAction()\r\n }\r\n }\r\n }\r\n}\r\nexport var gridViewModule = {\r\n defaultOptions: () => ({\r\n showBorders: false,\r\n renderAsync: false\r\n }),\r\n controllers: {\r\n resizing: ResizingController,\r\n synchronizeScrolling: SynchronizeScrollingController\r\n },\r\n views: {\r\n gridView: GridView\r\n },\r\n VIEW_NAMES: VIEW_NAMES\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/grid_view.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n gridViewModule\r\n} from \"../../../grids/grid_core/views/m_grid_view\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"gridView\", gridViewModule);\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/ui.toolbar.utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nvar BUTTON_GROUP_CLASS = \"dx-buttongroup\";\r\nvar TOOLBAR_ITEMS = [\"dxAutocomplete\", \"dxButton\", \"dxCheckBox\", \"dxDateBox\", \"dxMenu\", \"dxSelectBox\", \"dxTabs\", \"dxTextBox\", \"dxButtonGroup\", \"dxDropDownButton\"];\r\nvar getItemInstance = function($element) {\r\n var itemData = $element.data && $element.data();\r\n var dxComponents = itemData && itemData.dxComponents;\r\n var widgetName = dxComponents && dxComponents[0];\r\n return widgetName && itemData[widgetName]\r\n};\r\nexport function toggleItemFocusableElementTabIndex(context, item) {\r\n var _itemData$options;\r\n if (!context) {\r\n return\r\n }\r\n var $item = context._findItemElementByItem(item);\r\n if (!$item.length) {\r\n return\r\n }\r\n var itemData = context._getItemData($item);\r\n var isItemNotFocusable = !!(null !== (_itemData$options = itemData.options) && void 0 !== _itemData$options && _itemData$options.disabled || itemData.disabled || context.option(\"disabled\"));\r\n var {\r\n widget: widget\r\n } = itemData;\r\n if (widget && -1 !== TOOLBAR_ITEMS.indexOf(widget)) {\r\n var $widget = $item.find(widget.toLowerCase().replace(\"dx\", \".dx-\"));\r\n if ($widget.length) {\r\n var _itemInstance$_focusT, _itemData$options2;\r\n var itemInstance = getItemInstance($widget);\r\n if (!itemInstance) {\r\n return\r\n }\r\n var $focusTarget = null === (_itemInstance$_focusT = itemInstance._focusTarget) || void 0 === _itemInstance$_focusT ? void 0 : _itemInstance$_focusT.call(itemInstance);\r\n if (\"dxDropDownButton\" === widget) {\r\n $focusTarget = $focusTarget && $focusTarget.find(\".\".concat(BUTTON_GROUP_CLASS))\r\n } else {\r\n var _$focusTarget;\r\n $focusTarget = null !== (_$focusTarget = $focusTarget) && void 0 !== _$focusTarget ? _$focusTarget : $(itemInstance.element())\r\n }\r\n var tabIndex = null === (_itemData$options2 = itemData.options) || void 0 === _itemData$options2 ? void 0 : _itemData$options2.tabIndex;\r\n if (isItemNotFocusable) {\r\n $focusTarget.attr(\"tabIndex\", -1)\r\n } else {\r\n $focusTarget.attr(\"tabIndex\", null !== tabIndex && void 0 !== tabIndex ? tabIndex : 0)\r\n }\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/strategy/toolbar.multiline.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getOuterWidth\r\n} from \"../../../core/utils/size\";\r\nvar TOOLBAR_LABEL_CLASS = \"dx-toolbar-label\";\r\nexport class MultiLineStrategy {\r\n constructor(toolbar) {\r\n this._toolbar = toolbar\r\n }\r\n _initMarkup() {}\r\n _updateMenuVisibility() {}\r\n _renderMenuItems() {}\r\n _renderItem() {}\r\n _getMenuItems() {}\r\n _getToolbarItems() {\r\n var _this$_toolbar$option;\r\n return null !== (_this$_toolbar$option = this._toolbar.option(\"items\")) && void 0 !== _this$_toolbar$option ? _this$_toolbar$option : []\r\n }\r\n _getItemsWidth() {\r\n return this._toolbar._getSummaryItemsWidth(this._toolbar.itemElements(), true)\r\n }\r\n _arrangeItems() {\r\n var $label = this._toolbar._$toolbarItemsContainer.find(\".\".concat(TOOLBAR_LABEL_CLASS)).eq(0);\r\n if (!$label.length) {\r\n return\r\n }\r\n var elementWidth = getWidth(this._toolbar.$element());\r\n var labelPaddings = getOuterWidth($label) - getWidth($label);\r\n $label.css(\"maxWidth\", elementWidth - labelPaddings)\r\n }\r\n _hideOverflowItems() {}\r\n _dimensionChanged() {}\r\n _itemOptionChanged() {}\r\n _optionChanged() {}\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/internal/ui.toolbar.menu.list.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n ListBase\r\n} from \"../../list/ui.list.base\";\r\nvar TOOLBAR_MENU_ACTION_CLASS = \"dx-toolbar-menu-action\";\r\nvar TOOLBAR_HIDDEN_BUTTON_CLASS = \"dx-toolbar-hidden-button\";\r\nvar TOOLBAR_HIDDEN_BUTTON_GROUP_CLASS = \"dx-toolbar-hidden-button-group\";\r\nvar TOOLBAR_MENU_SECTION_CLASS = \"dx-toolbar-menu-section\";\r\nvar TOOLBAR_MENU_CUSTOM_CLASS = \"dx-toolbar-menu-custom\";\r\nvar TOOLBAR_MENU_LAST_SECTION_CLASS = \"dx-toolbar-menu-last-section\";\r\nvar SCROLLVIEW_CONTENT_CLASS = \"dx-scrollview-content\";\r\nexport default class ToolbarMenuList extends ListBase {\r\n _init() {\r\n super._init();\r\n this._activeStateUnit = \".\".concat(TOOLBAR_MENU_ACTION_CLASS, \":not(.\").concat(TOOLBAR_HIDDEN_BUTTON_GROUP_CLASS, \")\")\r\n }\r\n _initMarkup() {\r\n this._renderSections();\r\n super._initMarkup();\r\n this._setMenuRole()\r\n }\r\n _getSections() {\r\n return this._itemContainer().children()\r\n }\r\n _itemElements() {\r\n return this._getSections().children(this._itemSelector())\r\n }\r\n _renderSections() {\r\n var $container = this._itemContainer();\r\n each([\"before\", \"center\", \"after\", \"menu\"], (_, section) => {\r\n var sectionName = \"_$\".concat(section, \"Section\");\r\n if (!this[sectionName]) {\r\n this[sectionName] = $(\"<div>\").addClass(TOOLBAR_MENU_SECTION_CLASS)\r\n }\r\n this[sectionName].appendTo($container)\r\n })\r\n }\r\n _renderItems() {\r\n super._renderItems.apply(this, arguments);\r\n this._updateSections()\r\n }\r\n _setMenuRole() {\r\n var $menuContainer = this.$element().find(\".\".concat(SCROLLVIEW_CONTENT_CLASS));\r\n $menuContainer.attr(\"role\", \"menu\")\r\n }\r\n _updateSections() {\r\n var $sections = this.$element().find(\".\".concat(TOOLBAR_MENU_SECTION_CLASS));\r\n $sections.removeClass(TOOLBAR_MENU_LAST_SECTION_CLASS);\r\n $sections.not(\":empty\").eq(-1).addClass(TOOLBAR_MENU_LAST_SECTION_CLASS)\r\n }\r\n _renderItem(index, item, itemContainer, $after) {\r\n var _item$location;\r\n var location = null !== (_item$location = item.location) && void 0 !== _item$location ? _item$location : \"menu\";\r\n var $container = this[\"_$\".concat(location, \"Section\")];\r\n var itemElement = super._renderItem(index, item, $container, $after);\r\n if (this._getItemTemplateName({\r\n itemData: item\r\n })) {\r\n itemElement.addClass(TOOLBAR_MENU_CUSTOM_CLASS)\r\n }\r\n if (\"menu\" === location || \"dxButton\" === item.widget || \"dxButtonGroup\" === item.widget || item.isAction) {\r\n itemElement.addClass(TOOLBAR_MENU_ACTION_CLASS)\r\n }\r\n if (\"dxButton\" === item.widget) {\r\n itemElement.addClass(TOOLBAR_HIDDEN_BUTTON_CLASS)\r\n }\r\n if (\"dxButtonGroup\" === item.widget) {\r\n itemElement.addClass(TOOLBAR_HIDDEN_BUTTON_GROUP_CLASS)\r\n }\r\n itemElement.addClass(item.cssClass);\r\n return itemElement\r\n }\r\n _getItemTemplateName(args) {\r\n var template = super._getItemTemplateName(args);\r\n var data = args.itemData;\r\n var menuTemplate = data && data.menuItemTemplate;\r\n return menuTemplate || template\r\n }\r\n _dataSourceOptions() {\r\n return {\r\n paginate: false\r\n }\r\n }\r\n _itemClickHandler(e, args, config) {\r\n if ($(e.target).closest(\".\".concat(TOOLBAR_MENU_ACTION_CLASS)).length) {\r\n super._itemClickHandler(e, args, config)\r\n }\r\n }\r\n _clean() {\r\n this._getSections().empty();\r\n super._clean()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/popup/ui.popup.full.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"../toolbar\";\r\nimport Popup from \"../popup/ui.popup\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nexport default class PopupFull extends Popup {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n preventScrollEvents: false\r\n })\r\n }\r\n _getToolbarName() {\r\n return \"dxToolbar\"\r\n }\r\n}\r\nPopupFull.defaultOptions = function(rule) {\r\n Popup.defaultOptions(rule)\r\n};\r\nregisterComponent(\"dxPopup\", PopupFull);\r\n","/**\r\n * DevExtreme (esm/ui/popup.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Popup from \"./popup/ui.popup.full\";\r\nexport default Popup;\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/internal/ui.toolbar.menu.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../../../core/utils/size\";\r\nimport $ from \"../../../core/renderer\";\r\nimport devices from \"../../../core/devices\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport Widget from \"../../widget/ui.widget\";\r\nimport Button from \"../../button\";\r\nimport ToolbarMenuList from \"./ui.toolbar.menu.list\";\r\nimport {\r\n isMaterial\r\n} from \"../../themes\";\r\nimport {\r\n ChildDefaultTemplate\r\n} from \"../../../core/templates/child_default_template\";\r\nimport {\r\n toggleItemFocusableElementTabIndex\r\n} from \"../ui.toolbar.utils\";\r\nimport {\r\n getWindow\r\n} from \"../../../core/utils/window\";\r\nimport \"../../popup\";\r\nvar DROP_DOWN_MENU_CLASS = \"dx-dropdownmenu\";\r\nvar DROP_DOWN_MENU_POPUP_CLASS = \"dx-dropdownmenu-popup\";\r\nvar DROP_DOWN_MENU_POPUP_WRAPPER_CLASS = \"dx-dropdownmenu-popup-wrapper\";\r\nvar DROP_DOWN_MENU_LIST_CLASS = \"dx-dropdownmenu-list\";\r\nvar DROP_DOWN_MENU_BUTTON_CLASS = \"dx-dropdownmenu-button\";\r\nvar POPUP_BOUNDARY_VERTICAL_OFFSET = 10;\r\nvar POPUP_VERTICAL_OFFSET = 3;\r\nexport default class DropDownMenu extends Widget {\r\n _supportedKeys() {\r\n var extension = {};\r\n if (!this.option(\"opened\") || !this._list.option(\"focusedElement\")) {\r\n extension = this._button._supportedKeys()\r\n }\r\n return extend(super._supportedKeys(), extension, {\r\n tab: function() {\r\n this._popup && this._popup.hide()\r\n }\r\n })\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n items: [],\r\n onItemClick: null,\r\n dataSource: null,\r\n itemTemplate: \"item\",\r\n onButtonClick: null,\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n opened: false,\r\n onItemRendered: null,\r\n closeOnClick: true,\r\n useInkRipple: false,\r\n container: void 0,\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n to: 0\r\n }\r\n }\r\n })\r\n }\r\n _defaultOptionsRules() {\r\n return super._defaultOptionsRules().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n useInkRipple: true,\r\n animation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 200,\r\n from: {\r\n scale: 0\r\n },\r\n to: {\r\n scale: 1\r\n }\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 200,\r\n from: {\r\n scale: 1\r\n },\r\n to: {\r\n scale: 0\r\n }\r\n }\r\n }\r\n }\r\n }])\r\n }\r\n _init() {\r\n super._init();\r\n this.$element().addClass(DROP_DOWN_MENU_CLASS);\r\n this._initItemClickAction();\r\n this._initButtonClickAction()\r\n }\r\n _initItemClickAction() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n }\r\n _initButtonClickAction() {\r\n this._buttonClickAction = this._createActionByOption(\"onButtonClick\")\r\n }\r\n _initTemplates() {\r\n this._templateManager.addDefaultTemplates({\r\n content: new ChildDefaultTemplate(\"content\")\r\n });\r\n super._initTemplates()\r\n }\r\n _initMarkup() {\r\n this._renderButton();\r\n super._initMarkup()\r\n }\r\n _render() {\r\n super._render();\r\n this.setAria({\r\n haspopup: true,\r\n expanded: this.option(\"opened\")\r\n })\r\n }\r\n _renderContentImpl() {\r\n if (this.option(\"opened\")) {\r\n this._renderPopup()\r\n }\r\n }\r\n _clean() {\r\n this._cleanFocusState();\r\n this._list && this._list.$element().remove();\r\n this._popup && this._popup.$element().remove();\r\n delete this._list;\r\n delete this._popup\r\n }\r\n _renderButton() {\r\n var $button = this.$element().addClass(DROP_DOWN_MENU_BUTTON_CLASS);\r\n this._button = this._createComponent($button, Button, {\r\n icon: \"overflow\",\r\n template: \"content\",\r\n useInkRipple: this.option(\"useInkRipple\"),\r\n hoverStateEnabled: false,\r\n focusStateEnabled: false,\r\n onClick: e => {\r\n this.option(\"opened\", !this.option(\"opened\"));\r\n this._buttonClickAction(e)\r\n }\r\n })\r\n }\r\n _toggleActiveState($element, value, e) {\r\n this._button._toggleActiveState($element, value, e)\r\n }\r\n _toggleMenuVisibility(opened) {\r\n var state = null !== opened && void 0 !== opened ? opened : !this._popup.option(\"visible\");\r\n if (opened) {\r\n this._renderPopup()\r\n }\r\n this._popup.toggle(state);\r\n this.setAria(\"expanded\", state)\r\n }\r\n _renderPopup() {\r\n if (this._$popup) {\r\n return\r\n }\r\n this._$popup = $(\"<div>\").appendTo(this.$element());\r\n var {\r\n rtlEnabled: rtlEnabled,\r\n container: container,\r\n animation: animation\r\n } = this.option();\r\n this._popup = this._createComponent(this._$popup, \"dxPopup\", {\r\n onInitialized(_ref) {\r\n var {\r\n component: component\r\n } = _ref;\r\n component.$wrapper().addClass(DROP_DOWN_MENU_POPUP_WRAPPER_CLASS).addClass(DROP_DOWN_MENU_POPUP_CLASS)\r\n },\r\n deferRendering: false,\r\n contentTemplate: contentElement => this._renderList(contentElement),\r\n _ignoreFunctionValueDeprecation: true,\r\n maxHeight: () => this._getMaxHeight(),\r\n position: {\r\n my: \"top \".concat(rtlEnabled ? \"left\" : \"right\"),\r\n at: \"bottom \".concat(rtlEnabled ? \"left\" : \"right\"),\r\n collision: \"fit flip\",\r\n offset: {\r\n v: POPUP_VERTICAL_OFFSET\r\n },\r\n of: this.$element()\r\n },\r\n animation: animation,\r\n onOptionChanged: _ref2 => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref2;\r\n if (\"visible\" === name) {\r\n this.option(\"opened\", value)\r\n }\r\n },\r\n container: container,\r\n autoResizeEnabled: false,\r\n height: \"auto\",\r\n width: \"auto\",\r\n hideOnOutsideClick: e => this._closeOutsideDropDownHandler(e),\r\n hideOnParentScroll: true,\r\n shading: false,\r\n dragEnabled: false,\r\n showTitle: false,\r\n fullScreen: false,\r\n _fixWrapperPosition: true\r\n })\r\n }\r\n _getMaxHeight() {\r\n var $element = this.$element();\r\n var offsetTop = $element.offset().top;\r\n var windowHeight = getOuterHeight(getWindow());\r\n var maxHeight = Math.max(offsetTop, windowHeight - offsetTop - getOuterHeight($element));\r\n return Math.min(windowHeight, maxHeight - POPUP_VERTICAL_OFFSET - POPUP_BOUNDARY_VERTICAL_OFFSET)\r\n }\r\n _closeOutsideDropDownHandler(e) {\r\n var isOutsideClick = !$(e.target).closest(this.$element()).length;\r\n return isOutsideClick\r\n }\r\n _renderList(contentElement) {\r\n var $content = $(contentElement);\r\n $content.addClass(DROP_DOWN_MENU_LIST_CLASS);\r\n this._list = this._createComponent($content, ToolbarMenuList, {\r\n dataSource: this._getListDataSource(),\r\n pageLoadMode: \"scrollBottom\",\r\n indicateLoading: false,\r\n noDataText: \"\",\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n onItemClick: e => {\r\n if (this.option(\"closeOnClick\")) {\r\n this.option(\"opened\", false)\r\n }\r\n this._itemClickAction(e)\r\n },\r\n tabIndex: -1,\r\n focusStateEnabled: false,\r\n activeStateEnabled: true,\r\n onItemRendered: this.option(\"onItemRendered\"),\r\n _itemAttributes: {\r\n role: \"menuitem\"\r\n }\r\n })\r\n }\r\n _itemOptionChanged(item, property, value) {\r\n var _this$_list;\r\n null === (_this$_list = this._list) || void 0 === _this$_list ? void 0 : _this$_list._itemOptionChanged(item, property, value);\r\n toggleItemFocusableElementTabIndex(this._list, item)\r\n }\r\n _getListDataSource() {\r\n var _this$option;\r\n return null !== (_this$option = this.option(\"dataSource\")) && void 0 !== _this$option ? _this$option : this.option(\"items\")\r\n }\r\n _setListDataSource() {\r\n var _this$_list2;\r\n null === (_this$_list2 = this._list) || void 0 === _this$_list2 ? void 0 : _this$_list2.option(\"dataSource\", this._getListDataSource());\r\n delete this._deferRendering\r\n }\r\n _getKeyboardListeners() {\r\n return super._getKeyboardListeners().concat([this._list])\r\n }\r\n _toggleVisibility(visible) {\r\n super._toggleVisibility(visible);\r\n this._button.option(\"visible\", visible)\r\n }\r\n _optionChanged(args) {\r\n var _this$_list3, _this$_list4, _this$_list5;\r\n var {\r\n name: name,\r\n value: value\r\n } = args;\r\n switch (name) {\r\n case \"items\":\r\n case \"dataSource\":\r\n if (!this.option(\"opened\")) {\r\n this._deferRendering = true\r\n } else {\r\n this._setListDataSource()\r\n }\r\n break;\r\n case \"itemTemplate\":\r\n null === (_this$_list3 = this._list) || void 0 === _this$_list3 ? void 0 : _this$_list3.option(name, this._getTemplate(value));\r\n break;\r\n case \"onItemClick\":\r\n this._initItemClickAction();\r\n break;\r\n case \"onButtonClick\":\r\n this._buttonClickAction();\r\n break;\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n case \"focusStateEnabled\":\r\n null === (_this$_list4 = this._list) || void 0 === _this$_list4 ? void 0 : _this$_list4.option(name, value);\r\n super._optionChanged(args);\r\n break;\r\n case \"onItemRendered\":\r\n null === (_this$_list5 = this._list) || void 0 === _this$_list5 ? void 0 : _this$_list5.option(name, value);\r\n break;\r\n case \"opened\":\r\n if (this._deferRendering) {\r\n this._setListDataSource()\r\n }\r\n this._toggleMenuVisibility(value);\r\n this._updateFocusableItemsTabIndex();\r\n break;\r\n case \"closeOnClick\":\r\n break;\r\n case \"container\":\r\n this._popup && this._popup.option(name, value);\r\n break;\r\n case \"disabled\":\r\n if (this._list) {\r\n this._updateFocusableItemsTabIndex()\r\n }\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _updateFocusableItemsTabIndex() {\r\n this.option(\"items\").forEach(item => toggleItemFocusableElementTabIndex(this._list, item))\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/strategy/toolbar.singleline.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../../core/utils/size\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n grep,\r\n deferRender\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport DropDownMenu from \"../internal/ui.toolbar.menu\";\r\nimport {\r\n compileGetter\r\n} from \"../../../core/utils/data\";\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar TOOLBAR_DROP_DOWN_MENU_CONTAINER_CLASS = \"dx-toolbar-menu-container\";\r\nvar TOOLBAR_BUTTON_CLASS = \"dx-toolbar-button\";\r\nvar TOOLBAR_AUTO_HIDE_ITEM_CLASS = \"dx-toolbar-item-auto-hide\";\r\nvar TOOLBAR_HIDDEN_ITEM = \"dx-toolbar-item-invisible\";\r\nexport class SingleLineStrategy {\r\n constructor(toolbar) {\r\n this._toolbar = toolbar\r\n }\r\n _initMarkup() {\r\n deferRender(() => {\r\n this._renderOverflowMenu();\r\n this._renderMenuItems()\r\n })\r\n }\r\n _renderOverflowMenu() {\r\n if (!this._hasVisibleMenuItems()) {\r\n return\r\n }\r\n this._renderMenuButtonContainer();\r\n var $menu = $(\"<div>\").appendTo(this._overflowMenuContainer());\r\n var itemClickAction = this._toolbar._createActionByOption(\"onItemClick\");\r\n var menuItemTemplate = this._toolbar._getTemplateByOption(\"menuItemTemplate\");\r\n this._menu = this._toolbar._createComponent($menu, DropDownMenu, {\r\n disabled: this._toolbar.option(\"disabled\"),\r\n itemTemplate: () => menuItemTemplate,\r\n onItemClick: e => {\r\n itemClickAction(e)\r\n },\r\n container: this._toolbar.option(\"menuContainer\"),\r\n onOptionChanged: _ref => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n if (\"opened\" === name) {\r\n this._toolbar.option(\"overflowMenuVisible\", value)\r\n }\r\n if (\"items\" === name) {\r\n this._updateMenuVisibility(value)\r\n }\r\n }\r\n })\r\n }\r\n renderMenuItems() {\r\n if (!this._menu) {\r\n this._renderOverflowMenu()\r\n }\r\n this._menu && this._menu.option(\"items\", this._getMenuItems());\r\n if (this._menu && !this._menu.option(\"items\").length) {\r\n this._menu.option(\"opened\", false)\r\n }\r\n }\r\n _renderMenuButtonContainer() {\r\n this._$overflowMenuContainer = $(\"<div>\").appendTo(this._toolbar._$afterSection).addClass(TOOLBAR_BUTTON_CLASS).addClass(TOOLBAR_DROP_DOWN_MENU_CONTAINER_CLASS)\r\n }\r\n _overflowMenuContainer() {\r\n return this._$overflowMenuContainer\r\n }\r\n _updateMenuVisibility(menuItems) {\r\n var items = null !== menuItems && void 0 !== menuItems ? menuItems : this._getMenuItems();\r\n var isMenuVisible = items.length && this._hasVisibleMenuItems(items);\r\n this._toggleMenuVisibility(isMenuVisible)\r\n }\r\n _toggleMenuVisibility(value) {\r\n if (!this._overflowMenuContainer()) {\r\n return\r\n }\r\n this._overflowMenuContainer().toggleClass(INVISIBLE_STATE_CLASS, !value)\r\n }\r\n _renderMenuItems() {\r\n deferRender(() => {\r\n this.renderMenuItems()\r\n })\r\n }\r\n _dimensionChanged() {\r\n this.renderMenuItems()\r\n }\r\n _getToolbarItems() {\r\n var _this$_toolbar$option;\r\n return grep(null !== (_this$_toolbar$option = this._toolbar.option(\"items\")) && void 0 !== _this$_toolbar$option ? _this$_toolbar$option : [], item => !this._toolbar._isMenuItem(item))\r\n }\r\n _getHiddenItems() {\r\n return this._toolbar._itemContainer().children(\".\".concat(TOOLBAR_AUTO_HIDE_ITEM_CLASS, \".\").concat(TOOLBAR_HIDDEN_ITEM)).not(\".\".concat(INVISIBLE_STATE_CLASS))\r\n }\r\n _getMenuItems() {\r\n var _this$_toolbar$option2, _this$_restoreItems;\r\n var menuItems = grep(null !== (_this$_toolbar$option2 = this._toolbar.option(\"items\")) && void 0 !== _this$_toolbar$option2 ? _this$_toolbar$option2 : [], item => this._toolbar._isMenuItem(item));\r\n var $hiddenItems = this._getHiddenItems();\r\n this._restoreItems = null !== (_this$_restoreItems = this._restoreItems) && void 0 !== _this$_restoreItems ? _this$_restoreItems : [];\r\n var overflowItems = [].slice.call($hiddenItems).map(hiddenItem => {\r\n var itemData = this._toolbar._getItemData(hiddenItem);\r\n var $itemContainer = $(hiddenItem);\r\n var $itemMarkup = $itemContainer.children();\r\n return extend({\r\n menuItemTemplate: () => {\r\n this._restoreItems.push({\r\n container: $itemContainer,\r\n item: $itemMarkup\r\n });\r\n var $container = $(\"<div>\").addClass(TOOLBAR_AUTO_HIDE_ITEM_CLASS);\r\n return $container.append($itemMarkup)\r\n }\r\n }, itemData)\r\n });\r\n return [...overflowItems, ...menuItems]\r\n }\r\n _hasVisibleMenuItems(items) {\r\n var menuItems = null !== items && void 0 !== items ? items : this._toolbar.option(\"items\");\r\n var result = false;\r\n var optionGetter = compileGetter(\"visible\");\r\n var overflowGetter = compileGetter(\"locateInMenu\");\r\n each(menuItems, (function(index, item) {\r\n var itemVisible = optionGetter(item, {\r\n functionsAsIs: true\r\n });\r\n var itemOverflow = overflowGetter(item, {\r\n functionsAsIs: true\r\n });\r\n if (false !== itemVisible && (\"auto\" === itemOverflow || \"always\" === itemOverflow) || \"menu\" === item.location) {\r\n result = true\r\n }\r\n }));\r\n return result\r\n }\r\n _arrangeItems() {\r\n var _this$_restoreItems2;\r\n this._toolbar._$centerSection.css({\r\n margin: \"0 auto\",\r\n float: \"none\"\r\n });\r\n each(null !== (_this$_restoreItems2 = this._restoreItems) && void 0 !== _this$_restoreItems2 ? _this$_restoreItems2 : [], (function(_, obj) {\r\n $(obj.container).append(obj.item)\r\n }));\r\n this._restoreItems = [];\r\n var elementWidth = getWidth(this._toolbar.$element());\r\n this._hideOverflowItems(elementWidth);\r\n return elementWidth\r\n }\r\n _hideOverflowItems(elementWidth) {\r\n var _elementWidth;\r\n var overflowItems = this._toolbar.$element().find(\".\".concat(TOOLBAR_AUTO_HIDE_ITEM_CLASS));\r\n if (!overflowItems.length) {\r\n return\r\n }\r\n elementWidth = null !== (_elementWidth = elementWidth) && void 0 !== _elementWidth ? _elementWidth : getWidth(this._toolbar.$element());\r\n $(overflowItems).removeClass(TOOLBAR_HIDDEN_ITEM);\r\n var itemsWidth = this._getItemsWidth();\r\n while (overflowItems.length && elementWidth < itemsWidth) {\r\n var $item = overflowItems.eq(-1);\r\n $item.addClass(TOOLBAR_HIDDEN_ITEM);\r\n itemsWidth = this._getItemsWidth();\r\n overflowItems.splice(-1, 1)\r\n }\r\n }\r\n _getItemsWidth() {\r\n return this._toolbar._getSummaryItemsWidth([this._toolbar._$beforeSection, this._toolbar._$centerSection, this._toolbar._$afterSection])\r\n }\r\n _itemOptionChanged(item, property, value) {\r\n if (\"disabled\" === property || \"options.disabled\" === property) {\r\n if (this._toolbar._isMenuItem(item)) {\r\n var _this$_menu;\r\n null === (_this$_menu = this._menu) || void 0 === _this$_menu ? void 0 : _this$_menu._itemOptionChanged(item, property, value);\r\n return\r\n }\r\n }\r\n this.renderMenuItems()\r\n }\r\n _renderItem(item, itemElement) {\r\n if (\"auto\" === item.locateInMenu) {\r\n itemElement.addClass(TOOLBAR_AUTO_HIDE_ITEM_CLASS)\r\n }\r\n }\r\n _optionChanged(name, value) {\r\n var _this$_menu2, _this$_menu3, _this$_menu4, _this$_menu5, _this$_menu6;\r\n switch (name) {\r\n case \"disabled\":\r\n null === (_this$_menu2 = this._menu) || void 0 === _this$_menu2 ? void 0 : _this$_menu2.option(name, value);\r\n break;\r\n case \"overflowMenuVisible\":\r\n null === (_this$_menu3 = this._menu) || void 0 === _this$_menu3 ? void 0 : _this$_menu3.option(\"opened\", value);\r\n break;\r\n case \"onItemClick\":\r\n null === (_this$_menu4 = this._menu) || void 0 === _this$_menu4 ? void 0 : _this$_menu4.option(name, value);\r\n break;\r\n case \"menuContainer\":\r\n null === (_this$_menu5 = this._menu) || void 0 === _this$_menu5 ? void 0 : _this$_menu5.option(\"container\", value);\r\n break;\r\n case \"menuItemTemplate\":\r\n null === (_this$_menu6 = this._menu) || void 0 === _this$_menu6 ? void 0 : _this$_menu6.option(\"itemTemplate\", value)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/ui.toolbar.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport ToolbarBase from \"./ui.toolbar.base\";\r\nimport {\r\n toggleItemFocusableElementTabIndex\r\n} from \"./ui.toolbar.utils\";\r\nimport {\r\n MultiLineStrategy\r\n} from \"./strategy/toolbar.multiline\";\r\nimport {\r\n SingleLineStrategy\r\n} from \"./strategy/toolbar.singleline\";\r\nvar TOOLBAR_MULTILINE_CLASS = \"dx-toolbar-multiline\";\r\nvar TOOLBAR_AUTO_HIDE_TEXT_CLASS = \"dx-toolbar-text-auto-hide\";\r\nclass Toolbar extends ToolbarBase {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n menuItemTemplate: \"menuItem\",\r\n menuContainer: void 0,\r\n overflowMenuVisible: false,\r\n multiline: false\r\n })\r\n }\r\n _isMultiline() {\r\n return this.option(\"multiline\")\r\n }\r\n _dimensionChanged(dimension) {\r\n if (\"height\" === dimension) {\r\n return\r\n }\r\n super._dimensionChanged();\r\n this._layoutStrategy._dimensionChanged()\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n this._updateFocusableItemsTabIndex();\r\n this._layoutStrategy._initMarkup()\r\n }\r\n _renderToolbar() {\r\n super._renderToolbar();\r\n this._renderLayoutStrategy()\r\n }\r\n _itemContainer() {\r\n if (this._isMultiline()) {\r\n return this._$toolbarItemsContainer\r\n }\r\n return super._itemContainer()\r\n }\r\n _renderLayoutStrategy() {\r\n this.$element().toggleClass(TOOLBAR_MULTILINE_CLASS, this._isMultiline());\r\n this._layoutStrategy = this._isMultiline() ? new MultiLineStrategy(this) : new SingleLineStrategy(this)\r\n }\r\n _renderSections() {\r\n if (this._isMultiline()) {\r\n return\r\n }\r\n return super._renderSections()\r\n }\r\n _postProcessRenderItems() {\r\n this._layoutStrategy._hideOverflowItems();\r\n this._layoutStrategy._updateMenuVisibility();\r\n super._postProcessRenderItems();\r\n this._layoutStrategy._renderMenuItems()\r\n }\r\n _renderItem(index, item, itemContainer, $after) {\r\n var itemElement = super._renderItem(index, item, itemContainer, $after);\r\n this._layoutStrategy._renderItem(item, itemElement);\r\n var {\r\n widget: widget,\r\n showText: showText\r\n } = item;\r\n if (\"dxButton\" === widget && \"inMenu\" === showText) {\r\n itemElement.toggleClass(TOOLBAR_AUTO_HIDE_TEXT_CLASS)\r\n }\r\n return itemElement\r\n }\r\n _getItemsWidth() {\r\n return this._layoutStrategy._getItemsWidth()\r\n }\r\n _getMenuItems() {\r\n return this._layoutStrategy._getMenuItems()\r\n }\r\n _getToolbarItems() {\r\n return this._layoutStrategy._getToolbarItems()\r\n }\r\n _arrangeItems() {\r\n if (this.$element().is(\":hidden\")) {\r\n return\r\n }\r\n var elementWidth = this._layoutStrategy._arrangeItems();\r\n if (!this._isMultiline()) {\r\n super._arrangeItems(elementWidth)\r\n }\r\n }\r\n _itemOptionChanged(item, property, value) {\r\n if (!this._isMenuItem(item)) {\r\n super._itemOptionChanged(item, property, value)\r\n }\r\n this._layoutStrategy._itemOptionChanged(item, property, value);\r\n if (\"disabled\" === property || \"options.disabled\" === property) {\r\n toggleItemFocusableElementTabIndex(this, item)\r\n }\r\n if (\"location\" === property) {\r\n this.repaint()\r\n }\r\n }\r\n _updateFocusableItemsTabIndex() {\r\n this._getToolbarItems().forEach(item => toggleItemFocusableElementTabIndex(this, item))\r\n }\r\n _isMenuItem(itemData) {\r\n return \"menu\" === itemData.location || \"always\" === itemData.locateInMenu\r\n }\r\n _isToolbarItem(itemData) {\r\n return void 0 === itemData.location || \"never\" === itemData.locateInMenu\r\n }\r\n _optionChanged(_ref) {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n this._layoutStrategy._optionChanged(name, value);\r\n switch (name) {\r\n case \"menuContainer\":\r\n case \"menuItemTemplate\":\r\n case \"overflowMenuVisible\":\r\n break;\r\n case \"multiline\":\r\n this._invalidate();\r\n break;\r\n case \"disabled\":\r\n super._optionChanged.apply(this, arguments);\r\n this._updateFocusableItemsTabIndex();\r\n break;\r\n default:\r\n super._optionChanged.apply(this, arguments)\r\n }\r\n }\r\n updateDimensions() {\r\n this._dimensionChanged()\r\n }\r\n}\r\nregisterComponent(\"dxToolbar\", Toolbar);\r\nexport default Toolbar;\r\n","/**\r\n * DevExtreme (esm/ui/toolbar.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Toolbar from \"./toolbar/ui.toolbar\";\r\nexport default Toolbar;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/header_panel/m_header_panel.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n getPathParts\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Toolbar from \"../../../../ui/toolbar\";\r\nimport {\r\n ColumnsView\r\n} from \"../views/m_columns_view\";\r\nvar HEADER_PANEL_CLASS = \"header-panel\";\r\nvar TOOLBAR_BUTTON_CLASS = \"toolbar-button\";\r\nvar TOOLBAR_ARIA_LABEL = \"-ariaToolbar\";\r\nvar DEFAULT_TOOLBAR_ITEM_NAMES = [\"addRowButton\", \"applyFilterButton\", \"columnChooserButton\", \"exportButton\", \"groupPanel\", \"revertButton\", \"saveButton\", \"searchPanel\"];\r\nexport class HeaderPanel extends ColumnsView {\r\n init() {\r\n super.init();\r\n this._editingController = this.getController(\"editing\");\r\n this._headerFilterController = this.getController(\"headerFilter\");\r\n this.createAction(\"onToolbarPreparing\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }\r\n _getToolbarItems() {\r\n return []\r\n }\r\n _getButtonContainer() {\r\n return $(\"<div>\").addClass(this.addWidgetPrefix(TOOLBAR_BUTTON_CLASS))\r\n }\r\n _getToolbarButtonClass(specificClass) {\r\n var secondClass = specificClass ? \" \".concat(specificClass) : \"\";\r\n return this.addWidgetPrefix(TOOLBAR_BUTTON_CLASS) + secondClass\r\n }\r\n _getToolbarOptions() {\r\n var userToolbarOptions = this.option(\"toolbar\");\r\n var options = {\r\n toolbarOptions: {\r\n items: this._getToolbarItems(),\r\n visible: null === userToolbarOptions || void 0 === userToolbarOptions ? void 0 : userToolbarOptions.visible,\r\n disabled: null === userToolbarOptions || void 0 === userToolbarOptions ? void 0 : userToolbarOptions.disabled,\r\n onItemRendered(e) {\r\n var itemRenderedCallback = e.itemData.onItemRendered;\r\n if (itemRenderedCallback) {\r\n itemRenderedCallback(e)\r\n }\r\n }\r\n }\r\n };\r\n var userItems = null === userToolbarOptions || void 0 === userToolbarOptions ? void 0 : userToolbarOptions.items;\r\n options.toolbarOptions.items = this._normalizeToolbarItems(options.toolbarOptions.items, userItems);\r\n this.executeAction(\"onToolbarPreparing\", options);\r\n if (options.toolbarOptions && !isDefined(options.toolbarOptions.visible)) {\r\n var toolbarItems = options.toolbarOptions.items;\r\n options.toolbarOptions.visible = !!(null === toolbarItems || void 0 === toolbarItems ? void 0 : toolbarItems.length)\r\n }\r\n return options.toolbarOptions\r\n }\r\n _normalizeToolbarItems(defaultItems, userItems) {\r\n defaultItems.forEach(button => {\r\n if (!DEFAULT_TOOLBAR_ITEM_NAMES.includes(button.name)) {\r\n throw new Error(\"Default toolbar item '\".concat(button.name, \"' is not added to DEFAULT_TOOLBAR_ITEM_NAMES\"))\r\n }\r\n });\r\n var defaultProps = {\r\n location: \"after\"\r\n };\r\n var isArray = Array.isArray(userItems);\r\n if (!isDefined(userItems)) {\r\n return defaultItems\r\n }\r\n if (!isArray) {\r\n userItems = [userItems]\r\n }\r\n var defaultButtonsByNames = {};\r\n defaultItems.forEach(button => {\r\n defaultButtonsByNames[button.name] = button\r\n });\r\n var normalizedItems = userItems.map(button => {\r\n if (isString(button)) {\r\n button = {\r\n name: button\r\n }\r\n }\r\n if (isDefined(button.name)) {\r\n if (isDefined(defaultButtonsByNames[button.name])) {\r\n button = extend(true, {}, defaultButtonsByNames[button.name], button)\r\n } else if (DEFAULT_TOOLBAR_ITEM_NAMES.includes(button.name)) {\r\n button = _extends(_extends({}, button), {\r\n visible: false\r\n })\r\n }\r\n }\r\n return extend(true, {}, defaultProps, button)\r\n });\r\n return isArray ? normalizedItems : normalizedItems[0]\r\n }\r\n _renderCore() {\r\n if (!this._toolbar) {\r\n var $headerPanel = this.element();\r\n $headerPanel.addClass(this.addWidgetPrefix(HEADER_PANEL_CLASS));\r\n var label = messageLocalization.format(this.component.NAME + TOOLBAR_ARIA_LABEL);\r\n var $toolbar = $(\"<div>\").attr(\"aria-label\", label).appendTo($headerPanel);\r\n this._toolbar = this._createComponent($toolbar, Toolbar, this._toolbarOptions)\r\n } else {\r\n this._toolbar.option(this._toolbarOptions)\r\n }\r\n }\r\n _columnOptionChanged() {}\r\n _handleDataChanged() {\r\n if (this._requireReady) {\r\n this.render()\r\n }\r\n }\r\n _isDisabledDefinedByUser(name) {\r\n var _a;\r\n var userItems = null === (_a = this.option(\"toolbar\")) || void 0 === _a ? void 0 : _a.items;\r\n var userItem = null === userItems || void 0 === userItems ? void 0 : userItems.find(item => (null === item || void 0 === item ? void 0 : item.name) === name);\r\n return isDefined(null === userItem || void 0 === userItem ? void 0 : userItem.disabled)\r\n }\r\n render() {\r\n this._toolbarOptions = this._getToolbarOptions();\r\n super.render.apply(this, arguments)\r\n }\r\n setToolbarItemDisabled(name, disabled) {\r\n var _a;\r\n var toolbar = this._toolbar;\r\n var isDefinedByUser = this._isDisabledDefinedByUser(name);\r\n if (!toolbar || isDefinedByUser) {\r\n return\r\n }\r\n var items = null !== (_a = toolbar.option(\"items\")) && void 0 !== _a ? _a : [];\r\n var itemIndex = items.findIndex(item => item.name === name);\r\n if (itemIndex < 0) {\r\n return\r\n }\r\n var item = toolbar.option(\"items[\".concat(itemIndex, \"]\"));\r\n toolbar.option(\"items[\".concat(itemIndex, \"].disabled\"), disabled);\r\n if (item.options) {\r\n toolbar.option(\"items[\".concat(itemIndex, \"].options.disabled\"), disabled)\r\n }\r\n }\r\n updateToolbarDimensions() {\r\n var _a;\r\n null === (_a = this._toolbar) || void 0 === _a ? void 0 : _a.updateDimensions()\r\n }\r\n getHeaderPanel() {\r\n return this.element()\r\n }\r\n getHeight() {\r\n return this.getElementHeight()\r\n }\r\n optionChanged(args) {\r\n var _a, _b, _c;\r\n if (\"onToolbarPreparing\" === args.name) {\r\n this._invalidate();\r\n args.handled = true\r\n }\r\n if (\"toolbar\" === args.name) {\r\n var parts = getPathParts(args.fullName);\r\n var optionName = args.fullName.replace(/^toolbar\\./, \"\");\r\n if (1 === parts.length) {\r\n this._invalidate()\r\n } else if (\"items\" === parts[1]) {\r\n if (2 === parts.length) {\r\n var toolbarOptions = this._getToolbarOptions();\r\n null === (_a = this._toolbar) || void 0 === _a ? void 0 : _a.option(\"items\", toolbarOptions.items)\r\n } else if (3 === parts.length) {\r\n var normalizedItem = this._normalizeToolbarItems(this._getToolbarItems(), args.value);\r\n null === (_b = this._toolbar) || void 0 === _b ? void 0 : _b.option(optionName, normalizedItem)\r\n } else if (parts.length >= 4) {\r\n null === (_c = this._toolbar) || void 0 === _c ? void 0 : _c.option(optionName, args.value)\r\n }\r\n } else {\r\n this._invalidate()\r\n }\r\n args.handled = true\r\n }\r\n super.optionChanged(args)\r\n }\r\n isVisible() {\r\n return !!(this._toolbarOptions && this._toolbarOptions.visible)\r\n }\r\n allowDragging() {}\r\n hasGroupedColumns() {}\r\n}\r\nvar resizing = Base => class extends Base {\r\n _updateDimensionsCore() {\r\n super._updateDimensionsCore.apply(this, arguments);\r\n this.getView(\"headerPanel\").updateToolbarDimensions()\r\n }\r\n};\r\nexport var headerPanelModule = {\r\n defaultOptions: () => ({}),\r\n views: {\r\n headerPanel: HeaderPanel\r\n },\r\n extenders: {\r\n controllers: {\r\n resizing: resizing\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/header_panel.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n headerPanelModule\r\n} from \"../../../grids/grid_core/header_panel/m_header_panel\";\r\nimport gridCore from \"../m_core\";\r\nexport var HeaderPanel = headerPanelModule.views.headerPanel;\r\ngridCore.registerModule(\"headerPanel\", headerPanelModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_widget_base.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"./module_not_extended/column_headers\";\r\nimport \"./m_columns_controller\";\r\nimport \"./m_data_controller\";\r\nimport \"./module_not_extended/sorting\";\r\nimport \"./module_not_extended/rows\";\r\nimport \"./module_not_extended/context_menu\";\r\nimport \"./module_not_extended/error_handling\";\r\nimport \"./module_not_extended/grid_view\";\r\nimport \"./module_not_extended/header_panel\";\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport $ from \"../../../core/renderer\";\r\nimport browser from \"../../../core/utils/browser\";\r\nimport {\r\n deferRender,\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n logger\r\n} from \"../../../core/utils/console\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n isFunction,\r\n isString\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n isMaterial\r\n} from \"../../../ui/themes\";\r\nimport Widget from \"../../../ui/widget/ui.widget\";\r\nimport gridCoreUtils from \"../../grids/grid_core/m_utils\";\r\nimport gridCore from \"./m_core\";\r\nvar DATAGRID_ROW_SELECTOR = \".dx-row\";\r\nvar DATAGRID_DEPRECATED_TEMPLATE_WARNING = \"Specifying grid templates with the jQuery selector name is now deprecated. Use the DOM Node or the jQuery object that references this selector instead.\";\r\ngridCore.registerModulesOrder([\"stateStoring\", \"columns\", \"selection\", \"editorFactory\", \"columnChooser\", \"grouping\", \"editing\", \"editingRowBased\", \"editingFormBased\", \"editingCellBased\", \"masterDetail\", \"validating\", \"adaptivity\", \"data\", \"virtualScrolling\", \"columnHeaders\", \"filterRow\", \"headerPanel\", \"headerFilter\", \"sorting\", \"search\", \"rows\", \"pager\", \"columnsResizingReordering\", \"contextMenu\", \"keyboardNavigation\", \"errorHandling\", \"summary\", \"columnFixing\", \"export\", \"gridView\"]);\r\nvar DataGrid = Widget.inherit({\r\n _activeStateUnit: DATAGRID_ROW_SELECTOR,\r\n _getDefaultOptions() {\r\n var result = this.callBase();\r\n each(gridCore.modules, (function() {\r\n if (isFunction(this.defaultOptions)) {\r\n extend(true, result, this.defaultOptions())\r\n }\r\n }));\r\n return result\r\n },\r\n _setDeprecatedOptions() {\r\n this.callBase();\r\n extend(this._deprecatedOptions, {\r\n useKeyboard: {\r\n since: \"19.2\",\r\n alias: \"keyboardNavigation.enabled\"\r\n },\r\n rowTemplate: {\r\n since: \"21.2\",\r\n message: 'Use the \"dataRowTemplate\" option instead'\r\n },\r\n \"columnChooser.allowSearch\": {\r\n since: \"23.1\",\r\n message: 'Use the \"columnChooser.search.enabled\" option instead'\r\n },\r\n \"columnChooser.searchTimeout\": {\r\n since: \"23.1\",\r\n message: 'Use the \"columnChooser.search.timeout\" option instead'\r\n }\r\n })\r\n },\r\n _defaultOptionsRules() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n showRowLines: true\r\n }\r\n }, {\r\n device: () => isMaterial(),\r\n options: {\r\n showRowLines: true,\r\n showColumnLines: false,\r\n headerFilter: {\r\n height: 315\r\n },\r\n editing: {\r\n useIcons: true\r\n },\r\n selection: {\r\n showCheckBoxesMode: \"always\"\r\n }\r\n }\r\n }, {\r\n device: () => browser.webkit,\r\n options: {\r\n loadingTimeout: 30,\r\n loadPanel: {\r\n animation: {\r\n show: {\r\n easing: \"cubic-bezier(1, 0, 1, 0)\",\r\n duration: 500,\r\n from: {\r\n opacity: 0\r\n },\r\n to: {\r\n opacity: 1\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }, {\r\n device: device => \"desktop\" !== device.deviceType,\r\n options: {\r\n grouping: {\r\n expandMode: \"rowClick\"\r\n }\r\n }\r\n }])\r\n },\r\n _init() {\r\n this.callBase();\r\n gridCoreUtils.logHeaderFilterDeprecatedWarningIfNeed(this);\r\n gridCore.processModules(this, gridCore);\r\n gridCore.callModuleItemsMethod(this, \"init\")\r\n },\r\n _clean: noop,\r\n _optionChanged(args) {\r\n gridCore.callModuleItemsMethod(this, \"optionChanged\", [args]);\r\n if (!args.handled) {\r\n this.callBase(args)\r\n }\r\n },\r\n _dimensionChanged() {\r\n this.updateDimensions(true)\r\n },\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this.updateDimensions()\r\n }\r\n },\r\n _initMarkup() {\r\n this.callBase.apply(this, arguments);\r\n this.getView(\"gridView\").render(this.$element())\r\n },\r\n _renderContentImpl() {\r\n this.getView(\"gridView\").update()\r\n },\r\n _renderContent() {\r\n var that = this;\r\n deferRender(() => {\r\n that._renderContentImpl()\r\n })\r\n },\r\n _getTemplate(templateName) {\r\n var template = templateName;\r\n if (isString(template) && template.startsWith(\"#\")) {\r\n template = $(templateName);\r\n logger.warn(DATAGRID_DEPRECATED_TEMPLATE_WARNING)\r\n }\r\n return this.callBase(template)\r\n },\r\n _dispose() {\r\n this.callBase();\r\n gridCore.callModuleItemsMethod(this, \"dispose\")\r\n },\r\n isReady() {\r\n return this.getController(\"data\").isReady()\r\n },\r\n beginUpdate() {\r\n this.callBase();\r\n gridCore.callModuleItemsMethod(this, \"beginUpdate\")\r\n },\r\n endUpdate() {\r\n gridCore.callModuleItemsMethod(this, \"endUpdate\");\r\n this.callBase()\r\n },\r\n getController(name) {\r\n return this._controllers[name]\r\n },\r\n getView(name) {\r\n return this._views[name]\r\n },\r\n focus(element) {\r\n this.getController(\"keyboardNavigation\").focus(element)\r\n }\r\n});\r\nDataGrid.registerModule = gridCore.registerModule.bind(gridCore);\r\nregisterComponent(\"dxDataGrid\", DataGrid);\r\nexport default DataGrid;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/state_storing/m_state_storing_core.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n fromPromise\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n sessionStorage\r\n} from \"../../../../core/utils/storage\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isPlainObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow\r\n} from \"../../../../core/utils/window\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nvar DATE_REGEX = /^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)Z$/;\r\nvar parseDates = function parseDates(state) {\r\n if (!state) {\r\n return\r\n }\r\n each(state, (key, value) => {\r\n if (isPlainObject(value) || Array.isArray(value)) {\r\n parseDates(value)\r\n } else if (\"string\" === typeof value) {\r\n var date = DATE_REGEX.exec(value);\r\n if (date) {\r\n state[key] = new Date(Date.UTC(+date[1], +date[2] - 1, +date[3], +date[4], +date[5], +date[6]))\r\n }\r\n }\r\n })\r\n};\r\nvar getStorage = function(options) {\r\n var storage = \"sessionStorage\" === options.type ? sessionStorage() : getWindow().localStorage;\r\n if (!storage) {\r\n throw new Error(\"E1007\")\r\n }\r\n return storage\r\n};\r\nvar getUniqueStorageKey = function(options) {\r\n return isDefined(options.storageKey) ? options.storageKey : \"storage\"\r\n};\r\nexport class StateStoringController extends modules.ViewController {\r\n getDataController() {\r\n return this.getController(\"data\")\r\n }\r\n getExportController() {\r\n return this.getController(\"export\")\r\n }\r\n getColumnsController() {\r\n return this.getController(\"columns\")\r\n }\r\n init() {\r\n this._state = {};\r\n this._isLoaded = false;\r\n this._isLoading = false;\r\n this._windowUnloadHandler = () => {\r\n if (void 0 !== this._savingTimeoutID) {\r\n this._saveState(this.state())\r\n }\r\n };\r\n eventsEngine.on(getWindow(), \"unload\", this._windowUnloadHandler);\r\n return this\r\n }\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"stateStoring\":\r\n if (this.isEnabled() && !this.isLoading()) {\r\n this.load()\r\n }\r\n args.handled = true;\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n dispose() {\r\n clearTimeout(this._savingTimeoutID);\r\n eventsEngine.off(getWindow(), \"unload\", this._windowUnloadHandler)\r\n }\r\n _loadState() {\r\n var options = this.option(\"stateStoring\");\r\n if (\"custom\" === options.type) {\r\n return options.customLoad && options.customLoad()\r\n }\r\n try {\r\n return JSON.parse(getStorage(options).getItem(getUniqueStorageKey(options)))\r\n } catch (e) {\r\n errors.log(\"W1022\", \"State storing\", e.message)\r\n }\r\n }\r\n _saveState(state) {\r\n var options = this.option(\"stateStoring\");\r\n if (\"custom\" === options.type) {\r\n options.customSave && options.customSave(state);\r\n return\r\n }\r\n try {\r\n getStorage(options).setItem(getUniqueStorageKey(options), JSON.stringify(state))\r\n } catch (e) {\r\n errors.log(e.message)\r\n }\r\n }\r\n publicMethods() {\r\n return [\"state\"]\r\n }\r\n isEnabled() {\r\n return this.option(\"stateStoring.enabled\")\r\n }\r\n isLoaded() {\r\n return this._isLoaded\r\n }\r\n isLoading() {\r\n return this._isLoading\r\n }\r\n load() {\r\n this._isLoading = true;\r\n var loadResult = fromPromise(this._loadState());\r\n loadResult.always(() => {\r\n this._isLoaded = true;\r\n this._isLoading = false\r\n }).done(state => {\r\n if (null !== state && !isEmptyObject(state)) {\r\n this.state(state)\r\n }\r\n });\r\n return loadResult\r\n }\r\n state(state) {\r\n if (!arguments.length) {\r\n return extend(true, {}, this._state)\r\n }\r\n this._state = extend({}, state);\r\n parseDates(this._state)\r\n }\r\n save() {\r\n var that = this;\r\n clearTimeout(that._savingTimeoutID);\r\n that._savingTimeoutID = setTimeout(() => {\r\n that._saveState(that.state());\r\n that._savingTimeoutID = void 0\r\n }, that.option(\"stateStoring.savingTimeout\"))\r\n }\r\n}\r\nexport default {\r\n StateStoringController: StateStoringController\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/state_storing/m_state_storing.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n equalByValue,\r\n getKeyHash\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n StateStoringController\r\n} from \"./m_state_storing_core\";\r\nvar getDataState = that => {\r\n var pagerView = that.getView(\"pagerView\");\r\n var dataController = that.getController(\"data\");\r\n var state = {\r\n allowedPageSizes: pagerView ? pagerView.getPageSizes() : void 0,\r\n filterPanel: {\r\n filterEnabled: that.option(\"filterPanel.filterEnabled\")\r\n },\r\n filterValue: that.option(\"filterValue\"),\r\n focusedRowKey: that.option(\"focusedRowEnabled\") ? that.option(\"focusedRowKey\") : void 0\r\n };\r\n return extend(state, dataController.getUserState())\r\n};\r\nvar processLoadState = that => {\r\n var columnsController = that.getController(\"columns\");\r\n var selectionController = that.getController(\"selection\");\r\n var exportController = that.getController(\"export\");\r\n var dataController = that.getController(\"data\");\r\n if (columnsController) {\r\n columnsController.columnsChanged.add(() => {\r\n that.updateState({\r\n columns: columnsController.getUserState()\r\n })\r\n })\r\n }\r\n if (selectionController) {\r\n selectionController.selectionChanged.add(e => {\r\n that.updateState({\r\n selectedRowKeys: e.selectedRowKeys,\r\n selectionFilter: e.selectionFilter\r\n })\r\n })\r\n }\r\n if (dataController) {\r\n that._initialPageSize = that.option(\"paging.pageSize\");\r\n that._initialFilterValue = that.option(\"filterValue\");\r\n dataController.changed.add(() => {\r\n var state = getDataState(that);\r\n that.updateState(state)\r\n })\r\n }\r\n if (exportController) {\r\n exportController.selectionOnlyChanged.add(() => {\r\n that.updateState({\r\n exportSelectionOnly: exportController.selectionOnly()\r\n })\r\n })\r\n }\r\n};\r\nvar DEFAULT_FILTER_VALUE = null;\r\nvar getFilterValue = (that, state) => {\r\n var filterSyncController = that.getController(\"filterSync\");\r\n var columnsController = that.getController(\"columns\");\r\n var hasFilterState = state.columns || void 0 !== state.filterValue;\r\n if (filterSyncController) {\r\n if (hasFilterState) {\r\n return state.filterValue || filterSyncController.getFilterValueFromColumns(state.columns)\r\n }\r\n return that._initialFilterValue || filterSyncController.getFilterValueFromColumns(columnsController.getColumns())\r\n }\r\n return DEFAULT_FILTER_VALUE\r\n};\r\nvar rowsView = Base => class extends Base {\r\n init() {\r\n super.init();\r\n this._dataController.stateLoaded.add(() => {\r\n if (this._dataController.isLoaded() && !this._dataController.getDataSource()) {\r\n this.setLoading(false);\r\n this.renderNoDataText();\r\n var columnHeadersView = this.component.getView(\"columnHeadersView\");\r\n columnHeadersView && columnHeadersView.render();\r\n this.component._fireContentReadyAction()\r\n }\r\n })\r\n }\r\n};\r\nvar stateStoring = Base => class extends Base {\r\n init() {\r\n super.init.apply(this, arguments);\r\n processLoadState(this);\r\n return this\r\n }\r\n isLoading() {\r\n return super.isLoading() || this.getDataController().isStateLoading()\r\n }\r\n state(state) {\r\n var result = super.state.apply(this, arguments);\r\n if (void 0 !== state) {\r\n this.applyState(extend(true, {}, state))\r\n }\r\n return result\r\n }\r\n updateState(state) {\r\n if (this.isEnabled()) {\r\n var oldState = this.state();\r\n var newState = extend({}, oldState, state);\r\n var oldStateHash = getKeyHash(oldState);\r\n var newStateHash = getKeyHash(newState);\r\n if (!equalByValue(oldStateHash, newStateHash)) {\r\n state = extend(true, {}, state);\r\n extend(this._state, state);\r\n this.save()\r\n }\r\n } else {\r\n extend(this._state, state)\r\n }\r\n }\r\n applyState(state) {\r\n var _a;\r\n var {\r\n allowedPageSizes: allowedPageSizes\r\n } = state;\r\n var {\r\n searchText: searchText\r\n } = state;\r\n var {\r\n selectedRowKeys: selectedRowKeys\r\n } = state;\r\n var {\r\n selectionFilter: selectionFilter\r\n } = state;\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n var isVirtualScrollingMode = \"virtual\" === scrollingMode || \"infinite\" === scrollingMode;\r\n var showPageSizeSelector = true === this.option(\"pager.visible\") && this.option(\"pager.showPageSizeSelector\");\r\n var hasHeight = null === (_a = this.getView(\"rowsView\")) || void 0 === _a ? void 0 : _a.hasHeight();\r\n this.component.beginUpdate();\r\n if (this.getColumnsController()) {\r\n this.getColumnsController().setUserState(state.columns)\r\n }\r\n if (this.getExportController()) {\r\n this.getExportController().selectionOnly(state.exportSelectionOnly)\r\n }\r\n if (!this.option(\"selection.deferred\")) {\r\n this.option(\"selectedRowKeys\", selectedRowKeys || [])\r\n }\r\n this.option(\"selectionFilter\", selectionFilter);\r\n if (allowedPageSizes && \"auto\" === this.option(\"pager.allowedPageSizes\")) {\r\n this.option(\"pager\").allowedPageSizes = allowedPageSizes\r\n }\r\n if (this.option(\"focusedRowEnabled\")) {\r\n this.option(\"focusedRowIndex\", -1);\r\n this.option(\"focusedRowKey\", state.focusedRowKey || null)\r\n }\r\n this.component.endUpdate();\r\n this.option(\"searchPanel.text\", searchText || \"\");\r\n this.option(\"filterValue\", getFilterValue(this, state));\r\n this.option(\"filterPanel.filterEnabled\", state.filterPanel ? state.filterPanel.filterEnabled : true);\r\n this.option(\"paging.pageIndex\", (!isVirtualScrollingMode || hasHeight) && state.pageIndex || 0);\r\n this.option(\"paging.pageSize\", (!isVirtualScrollingMode || showPageSizeSelector) && isDefined(state.pageSize) ? state.pageSize : this._initialPageSize);\r\n this.getDataController() && this.getDataController().reset()\r\n }\r\n};\r\nvar columns = Base => class extends Base {\r\n _shouldReturnVisibleColumns() {\r\n var result = super._shouldReturnVisibleColumns.apply(this, arguments);\r\n return result && (!this._stateStoringController.isEnabled() || this._stateStoringController.isLoaded())\r\n }\r\n};\r\nvar data = Base => class extends Base {\r\n dispose() {\r\n clearTimeout(this._restoreStateTimeoutID);\r\n super.dispose()\r\n }\r\n callbackNames() {\r\n return super.callbackNames().concat([\"stateLoaded\"])\r\n }\r\n _refreshDataSource() {\r\n if (this._stateStoringController.isEnabled() && !this._stateStoringController.isLoaded()) {\r\n clearTimeout(this._restoreStateTimeoutID);\r\n var deferred = new Deferred;\r\n this._restoreStateTimeoutID = setTimeout(() => {\r\n this._stateStoringController.load().always(() => {\r\n this._restoreStateTimeoutID = null\r\n }).done(() => {\r\n super._refreshDataSource();\r\n this.stateLoaded.fire();\r\n deferred.resolve()\r\n }).fail(error => {\r\n this.stateLoaded.fire();\r\n this._handleLoadError(error || \"Unknown error\");\r\n deferred.reject()\r\n })\r\n });\r\n return deferred.promise()\r\n }\r\n if (!this.isStateLoading()) {\r\n super._refreshDataSource()\r\n }\r\n }\r\n isLoading() {\r\n return super.isLoading() || this._stateStoringController.isLoading()\r\n }\r\n isStateLoading() {\r\n return isDefined(this._restoreStateTimeoutID)\r\n }\r\n isLoaded() {\r\n return super.isLoaded() && !this.isStateLoading()\r\n }\r\n};\r\nvar selection = Base => class extends Base {\r\n _fireSelectionChanged(options) {\r\n var isDeferredSelection = this.option(\"selection.deferred\");\r\n if (this._stateStoringController.isLoading() && isDeferredSelection) {\r\n return\r\n }\r\n super._fireSelectionChanged.apply(this, arguments)\r\n }\r\n};\r\nexport var stateStoringModule = {\r\n defaultOptions: () => ({\r\n stateStoring: {\r\n enabled: false,\r\n storageKey: null,\r\n type: \"localStorage\",\r\n customLoad: null,\r\n customSave: null,\r\n savingTimeout: 2e3\r\n }\r\n }),\r\n controllers: {\r\n stateStoring: StateStoringController\r\n },\r\n extenders: {\r\n views: {\r\n rowsView: rowsView\r\n },\r\n controllers: {\r\n stateStoring: stateStoring,\r\n columns: columns,\r\n data: data,\r\n selection: selection\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/state_storing.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n stateStoringModule\r\n} from \"../../../grids/grid_core/state_storing/m_state_storing\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"stateStoring\", stateStoringModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/selection/m_selection.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n touch\r\n} from \"../../../../core/utils/support\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n applyBatch\r\n} from \"../../../../data/array_utils\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport holdEvent from \"../../../../events/hold\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed\r\n} from \"../../../../events/utils/index\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Selection from \"../../../../ui/selection/selection\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar EDITOR_CELL_CLASS = \"dx-editor-cell\";\r\nvar ROW_CLASS = \"dx-row\";\r\nvar ROW_SELECTION_CLASS = \"dx-selection\";\r\nvar SELECT_CHECKBOX_CLASS = \"dx-select-checkbox\";\r\nvar CHECKBOXES_HIDDEN_CLASS = \"dx-select-checkboxes-hidden\";\r\nvar COMMAND_SELECT_CLASS = \"dx-command-select\";\r\nvar SELECTION_DISABLED_CLASS = \"dx-selection-disabled\";\r\nvar DATA_ROW_CLASS = \"dx-data-row\";\r\nvar SHOW_CHECKBOXES_MODE = \"selection.showCheckBoxesMode\";\r\nvar SELECTION_MODE = \"selection.mode\";\r\nvar processLongTap = function(that, dxEvent) {\r\n var rowsView = that.getView(\"rowsView\");\r\n var selectionController = that.getController(\"selection\");\r\n var $row = $(dxEvent.target).closest(\".\".concat(DATA_ROW_CLASS));\r\n var rowIndex = rowsView.getRowIndex($row);\r\n if (rowIndex < 0) {\r\n return\r\n }\r\n if (\"onLongTap\" === that.option(SHOW_CHECKBOXES_MODE)) {\r\n if (selectionController.isSelectionWithCheckboxes()) {\r\n selectionController.stopSelectionWithCheckboxes()\r\n } else {\r\n selectionController.startSelectionWithCheckboxes()\r\n }\r\n } else {\r\n if (\"onClick\" === that.option(SHOW_CHECKBOXES_MODE)) {\r\n selectionController.startSelectionWithCheckboxes()\r\n }\r\n if (\"always\" !== that.option(SHOW_CHECKBOXES_MODE)) {\r\n selectionController.changeItemSelection(rowIndex, {\r\n control: true\r\n })\r\n }\r\n }\r\n};\r\nvar isSeveralRowsSelected = function(that, selectionFilter) {\r\n var keyIndex = 0;\r\n var store = that._dataController.store();\r\n var key = store && store.key();\r\n var isComplexKey = Array.isArray(key);\r\n if (!selectionFilter.length) {\r\n return false\r\n }\r\n if (isComplexKey && Array.isArray(selectionFilter[0]) && \"and\" === selectionFilter[1]) {\r\n for (var i = 0; i < selectionFilter.length; i++) {\r\n if (Array.isArray(selectionFilter[i])) {\r\n if (selectionFilter[i][0] !== key[keyIndex] || \"=\" !== selectionFilter[i][1]) {\r\n return true\r\n }\r\n keyIndex++\r\n }\r\n }\r\n return false\r\n }\r\n return key !== selectionFilter[0]\r\n};\r\nvar selectionCellTemplate = (container, options) => {\r\n var {\r\n component: component\r\n } = options;\r\n var rowsView = component.getView(\"rowsView\");\r\n if (component.option(\"renderAsync\") && !component.option(\"selection.deferred\")) {\r\n options.value = component.isRowSelected(options.row.key)\r\n }\r\n rowsView.renderSelectCheckBoxContainer($(container), options)\r\n};\r\nvar selectionHeaderTemplate = (container, options) => {\r\n var {\r\n column: column\r\n } = options;\r\n var $cellElement = $(container);\r\n var columnHeadersView = options.component.getView(\"columnHeadersView\");\r\n $cellElement.addClass(EDITOR_CELL_CLASS);\r\n columnHeadersView._renderSelectAllCheckBox($cellElement, column);\r\n columnHeadersView._attachSelectAllCheckBoxClickEvent($cellElement)\r\n};\r\nexport class SelectionController extends modules.Controller {\r\n init() {\r\n var _a;\r\n var {\r\n deferred: deferred,\r\n selectAllMode: selectAllMode,\r\n mode: mode\r\n } = null !== (_a = this.option(\"selection\")) && void 0 !== _a ? _a : {};\r\n if (\"infinite\" === this.option(\"scrolling.mode\") && !deferred && \"multiple\" === mode && \"allPages\" === selectAllMode) {\r\n errors.log(\"W1018\")\r\n }\r\n this._dataController = this.getController(\"data\");\r\n this._columnsController = this.getController(\"columns\");\r\n this._stateStoringController = this.getController(\"stateStoring\");\r\n this._selectionMode = mode;\r\n this._isSelectionWithCheckboxes = false;\r\n this._selection = this._createSelection();\r\n this._updateSelectColumn();\r\n this.createAction(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n if (!this._dataPushedHandler) {\r\n this._dataPushedHandler = this._handleDataPushed.bind(this);\r\n this._dataController.pushed.add(this._dataPushedHandler)\r\n }\r\n }\r\n _handleDataPushed(changes) {\r\n this._deselectRemovedOnPush(changes);\r\n this._updateSelectedOnPush(changes)\r\n }\r\n _deselectRemovedOnPush(changes) {\r\n var isDeferredSelection = this.option(\"selection.deferred\");\r\n var removedKeys = changes.filter(change => \"remove\" === change.type).map(change => change.key);\r\n if (isDeferredSelection) {\r\n var selectedKeys = this._dataController.items().filter(item => item.isSelected).map(item => item.key);\r\n removedKeys = removedKeys.filter(key => selectedKeys.find(selectedKey => equalByValue(selectedKey, key)))\r\n }\r\n removedKeys.length && this.deselectRows(removedKeys)\r\n }\r\n _updateSelectedOnPush(changes) {\r\n var isDeferredSelection = this.option(\"selection.deferred\");\r\n if (isDeferredSelection) {\r\n return\r\n }\r\n var updateChanges = changes.filter(change => \"update\" === change.type);\r\n var data = this.getSelectedRowsData();\r\n applyBatch({\r\n keyInfo: this._selection.options,\r\n data: data,\r\n changes: updateChanges\r\n })\r\n }\r\n _getSelectionConfig() {\r\n var _a;\r\n var dataController = this._dataController;\r\n var columnsController = this._columnsController;\r\n var selectionOptions = null !== (_a = this.option(\"selection\")) && void 0 !== _a ? _a : {};\r\n var {\r\n deferred: deferred\r\n } = selectionOptions;\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n var virtualPaging = \"virtual\" === scrollingMode || \"infinite\" === scrollingMode;\r\n var allowSelectAll = this.option(\"selection.allowSelectAll\");\r\n var legacyScrollingMode = this.option(\"scrolling.legacyMode\");\r\n return {\r\n selectedKeys: this.option(\"selectedRowKeys\"),\r\n mode: this._selectionMode,\r\n deferred: deferred,\r\n alwaysSelectByShift: selectionOptions.alwaysSelectByShift,\r\n maxFilterLengthInRequest: selectionOptions.maxFilterLengthInRequest,\r\n selectionFilter: this.option(\"selectionFilter\"),\r\n ignoreDisabledItems: true,\r\n isVirtualPaging: virtualPaging,\r\n allowLoadByRange() {\r\n var hasGroupColumns = columnsController.getGroupColumns().length > 0;\r\n return virtualPaging && !legacyScrollingMode && !hasGroupColumns && allowSelectAll && !deferred\r\n },\r\n key: () => null === dataController || void 0 === dataController ? void 0 : dataController.key(),\r\n keyOf: item => null === dataController || void 0 === dataController ? void 0 : dataController.keyOf(item),\r\n dataFields() {\r\n var _a;\r\n return null === (_a = dataController.dataSource()) || void 0 === _a ? void 0 : _a.select()\r\n },\r\n load(options) {\r\n var _a;\r\n return (null === (_a = dataController.dataSource()) || void 0 === _a ? void 0 : _a.load(options)) || (new Deferred).resolve([])\r\n },\r\n plainItems: cached => dataController.items(true),\r\n isItemSelected: item => item.selected,\r\n isSelectableItem: item => \"data\" === (null === item || void 0 === item ? void 0 : item.rowType) && !item.isNewRow,\r\n getItemData: item => isDefined(null === item || void 0 === item ? void 0 : item.rowType) ? (null === item || void 0 === item ? void 0 : item.oldData) || (null === item || void 0 === item ? void 0 : item.data) : item,\r\n filter: () => dataController.getCombinedFilter(deferred),\r\n totalCount: () => dataController.totalCount(),\r\n getLoadOptions(loadItemIndex, focusedItemIndex, shiftItemIndex) {\r\n var _a, _b;\r\n var {\r\n sort: sort,\r\n filter: filter\r\n } = null !== (_b = null === (_a = dataController.dataSource()) || void 0 === _a ? void 0 : _a.lastLoadOptions()) && void 0 !== _b ? _b : {};\r\n var minIndex = Math.min(loadItemIndex, focusedItemIndex);\r\n var maxIndex = Math.max(loadItemIndex, focusedItemIndex);\r\n if (isDefined(shiftItemIndex)) {\r\n minIndex = Math.min(shiftItemIndex, minIndex);\r\n maxIndex = Math.max(shiftItemIndex, maxIndex)\r\n }\r\n var take = maxIndex - minIndex + 1;\r\n return {\r\n skip: minIndex,\r\n take: take,\r\n filter: filter,\r\n sort: sort\r\n }\r\n },\r\n onSelectionChanged: this._updateSelectedItems.bind(this)\r\n }\r\n }\r\n _updateSelectColumn() {\r\n var columnsController = this._columnsController;\r\n var isSelectColumnVisible = this.isSelectColumnVisible();\r\n columnsController.addCommandColumn({\r\n type: \"selection\",\r\n command: \"select\",\r\n visible: isSelectColumnVisible,\r\n visibleIndex: -1,\r\n dataType: \"boolean\",\r\n alignment: \"center\",\r\n cssClass: COMMAND_SELECT_CLASS,\r\n width: \"auto\",\r\n cellTemplate: selectionCellTemplate,\r\n headerCellTemplate: selectionHeaderTemplate\r\n });\r\n columnsController.columnOption(\"command:select\", \"visible\", isSelectColumnVisible)\r\n }\r\n _createSelection() {\r\n var options = this._getSelectionConfig();\r\n return new Selection(options)\r\n }\r\n _fireSelectionChanged(options) {\r\n var argument = this.option(\"selection.deferred\") ? {\r\n selectionFilter: this.option(\"selectionFilter\")\r\n } : {\r\n selectedRowKeys: this.option(\"selectedRowKeys\")\r\n };\r\n this.selectionChanged.fire(argument);\r\n if (options) {\r\n this.executeAction(\"onSelectionChanged\", options)\r\n }\r\n }\r\n _updateCheckboxesState(options) {\r\n var {\r\n isDeferredMode: isDeferredMode\r\n } = options;\r\n var {\r\n selectionFilter: selectionFilter\r\n } = options;\r\n var {\r\n selectedItemKeys: selectedItemKeys\r\n } = options;\r\n var {\r\n removedItemKeys: removedItemKeys\r\n } = options;\r\n if (\"onClick\" === this.option(SHOW_CHECKBOXES_MODE)) {\r\n if (isDeferredMode ? selectionFilter && isSeveralRowsSelected(this, selectionFilter) : selectedItemKeys.length > 1) {\r\n this.startSelectionWithCheckboxes()\r\n } else if (isDeferredMode ? selectionFilter && !selectionFilter.length : 0 === selectedItemKeys.length && removedItemKeys.length) {\r\n this.stopSelectionWithCheckboxes()\r\n }\r\n }\r\n }\r\n _updateSelectedItems(args) {\r\n var selectionChangedOptions;\r\n var isDeferredMode = this.option(\"selection.deferred\");\r\n var selectionFilter = this._selection.selectionFilter();\r\n var dataController = this._dataController;\r\n var items = dataController.items(true);\r\n var visibleItems = dataController.items();\r\n if (!items) {\r\n return\r\n }\r\n var isSelectionWithCheckboxes = this.isSelectionWithCheckboxes();\r\n var changedItemIndexes = this.getChangedItemIndexes(items);\r\n var visibleChangedItemIndexes = this.getChangedItemIndexes(visibleItems);\r\n this._updateCheckboxesState({\r\n selectedItemKeys: args.selectedItemKeys,\r\n removedItemKeys: args.removedItemKeys,\r\n selectionFilter: selectionFilter,\r\n isDeferredMode: isDeferredMode\r\n });\r\n if (changedItemIndexes.length || isSelectionWithCheckboxes !== this.isSelectionWithCheckboxes()) {\r\n dataController.updateItems({\r\n changeType: \"updateSelection\",\r\n itemIndexes: visibleChangedItemIndexes\r\n })\r\n }\r\n if (isDeferredMode) {\r\n this.option(\"selectionFilter\", selectionFilter);\r\n selectionChangedOptions = {}\r\n } else if (args.addedItemKeys.length || args.removedItemKeys.length) {\r\n this._selectedItemsInternalChange = true;\r\n this.option(\"selectedRowKeys\", args.selectedItemKeys.slice(0));\r\n this._selectedItemsInternalChange = false;\r\n selectionChangedOptions = {\r\n selectedRowsData: args.selectedItems.slice(0),\r\n selectedRowKeys: args.selectedItemKeys.slice(0),\r\n currentSelectedRowKeys: args.addedItemKeys.slice(0),\r\n currentDeselectedRowKeys: args.removedItemKeys.slice(0)\r\n }\r\n }\r\n this._fireSelectionChanged(selectionChangedOptions)\r\n }\r\n getChangedItemIndexes(items) {\r\n var itemIndexes = [];\r\n var isDeferredSelection = this.option(\"selection.deferred\");\r\n for (var i = 0, {\r\n length: length\r\n } = items; i < length; i++) {\r\n var row = items[i];\r\n var isItemSelected = this.isRowSelected(isDeferredSelection ? row.data : row.key);\r\n if (this._selection.isDataItem(row) && row.isSelected !== isItemSelected) {\r\n itemIndexes.push(i)\r\n }\r\n }\r\n return itemIndexes\r\n }\r\n callbackNames() {\r\n return [\"selectionChanged\"]\r\n }\r\n optionChanged(args) {\r\n super.optionChanged(args);\r\n switch (args.name) {\r\n case \"selection\":\r\n var oldSelectionMode = this._selectionMode;\r\n this.init();\r\n if (\"selection.showCheckBoxesMode\" !== args.fullName) {\r\n var selectionMode = this._selectionMode;\r\n var selectedRowKeys = this.option(\"selectedRowKeys\");\r\n if (oldSelectionMode !== selectionMode) {\r\n if (\"single\" === selectionMode) {\r\n if (selectedRowKeys.length > 1) {\r\n selectedRowKeys = [selectedRowKeys[0]]\r\n }\r\n } else if (\"multiple\" !== selectionMode) {\r\n selectedRowKeys = []\r\n }\r\n }\r\n this.selectRows(selectedRowKeys).always(() => {\r\n this._fireSelectionChanged()\r\n })\r\n }\r\n this._columnsController.updateColumns();\r\n args.handled = true;\r\n break;\r\n case \"selectionFilter\":\r\n this._selection.selectionFilter(args.value);\r\n args.handled = true;\r\n break;\r\n case \"selectedRowKeys\":\r\n var value = args.value || [];\r\n if (Array.isArray(value) && !this._selectedItemsInternalChange && (this.component.getDataSource() || !value.length)) {\r\n this.selectRows(value)\r\n }\r\n args.handled = true\r\n }\r\n }\r\n publicMethods() {\r\n return [\"selectRows\", \"deselectRows\", \"selectRowsByIndexes\", \"getSelectedRowKeys\", \"getSelectedRowsData\", \"clearSelection\", \"selectAll\", \"deselectAll\", \"startSelectionWithCheckboxes\", \"stopSelectionWithCheckboxes\", \"isRowSelected\"]\r\n }\r\n isRowSelected(arg) {\r\n return this._selection.isItemSelected(arg)\r\n }\r\n isSelectColumnVisible() {\r\n return \"multiple\" === this.option(SELECTION_MODE) && (\"always\" === this.option(SHOW_CHECKBOXES_MODE) || \"onClick\" === this.option(SHOW_CHECKBOXES_MODE) || this._isSelectionWithCheckboxes)\r\n }\r\n _isOnePageSelectAll() {\r\n return \"page\" === this.option(\"selection.selectAllMode\")\r\n }\r\n isSelectAll() {\r\n return this._selection.getSelectAllState(this._isOnePageSelectAll())\r\n }\r\n selectAll() {\r\n if (\"onClick\" === this.option(SHOW_CHECKBOXES_MODE)) {\r\n this.startSelectionWithCheckboxes()\r\n }\r\n return this._selection.selectAll(this._isOnePageSelectAll())\r\n }\r\n deselectAll() {\r\n return this._selection.deselectAll(this._isOnePageSelectAll())\r\n }\r\n clearSelection() {\r\n return this.selectedItemKeys([])\r\n }\r\n refresh() {\r\n var _a;\r\n var selectedRowKeys = null !== (_a = this.option(\"selectedRowKeys\")) && void 0 !== _a ? _a : [];\r\n if (!this.option(\"selection.deferred\") && selectedRowKeys.length) {\r\n return this.selectedItemKeys(selectedRowKeys)\r\n }\r\n return (new Deferred).resolve().promise()\r\n }\r\n selectedItemKeys(value, preserve, isDeselect, isSelectAll) {\r\n return this._selection.selectedItemKeys(value, preserve, isDeselect, isSelectAll)\r\n }\r\n getSelectedRowKeys(mode) {\r\n return this._selection.getSelectedItemKeys()\r\n }\r\n selectRows(keys, preserve) {\r\n return this.selectedItemKeys(keys, preserve)\r\n }\r\n deselectRows(keys) {\r\n return this.selectedItemKeys(keys, true, true)\r\n }\r\n selectRowsByIndexes(indexes) {\r\n var items = this._dataController.items();\r\n var keys = [];\r\n if (!Array.isArray(indexes)) {\r\n indexes = Array.prototype.slice.call(arguments, 0)\r\n }\r\n each(indexes, (function() {\r\n var item = items[this];\r\n if (item && \"data\" === item.rowType) {\r\n keys.push(item.key)\r\n }\r\n }));\r\n return this.selectRows(keys)\r\n }\r\n getSelectedRowsData(mode) {\r\n return this._selection.getSelectedItems()\r\n }\r\n loadSelectedItemsWithFilter() {\r\n return this._selection.loadSelectedItemsWithFilter()\r\n }\r\n changeItemSelection(visibleItemIndex, keys, setFocusOnly) {\r\n keys = keys || {};\r\n if (this.isSelectionWithCheckboxes()) {\r\n keys.control = true\r\n }\r\n var loadedItemIndex = visibleItemIndex + this._dataController.getRowIndexOffset() - this._dataController.getRowIndexOffset(true);\r\n return this._selection.changeItemSelection(loadedItemIndex, keys, setFocusOnly)\r\n }\r\n focusedItemIndex(itemIndex) {\r\n if (isDefined(itemIndex)) {\r\n this._selection._focusedItemIndex = itemIndex\r\n } else {\r\n return this._selection._focusedItemIndex\r\n }\r\n return\r\n }\r\n isSelectionWithCheckboxes() {\r\n return \"multiple\" === this.option(SELECTION_MODE) && (\"always\" === this.option(SHOW_CHECKBOXES_MODE) || this._isSelectionWithCheckboxes)\r\n }\r\n startSelectionWithCheckboxes() {\r\n if (\"multiple\" === this.option(SELECTION_MODE) && !this.isSelectionWithCheckboxes()) {\r\n this._isSelectionWithCheckboxes = true;\r\n this._updateSelectColumn();\r\n return true\r\n }\r\n return false\r\n }\r\n stopSelectionWithCheckboxes() {\r\n if (this._isSelectionWithCheckboxes) {\r\n this._isSelectionWithCheckboxes = false;\r\n this._updateSelectColumn();\r\n return true\r\n }\r\n return false\r\n }\r\n}\r\nexport var dataSelectionExtenderMixin = Base => class extends Base {\r\n init() {\r\n var isDeferredMode = this.option(\"selection.deferred\");\r\n super.init.apply(this, arguments);\r\n if (isDeferredMode) {\r\n this._selectionController._updateCheckboxesState({\r\n isDeferredMode: true,\r\n selectionFilter: this.option(\"selectionFilter\")\r\n })\r\n }\r\n }\r\n _loadDataSource() {\r\n var that = this;\r\n return super._loadDataSource().always(() => {\r\n that._selectionController.refresh()\r\n })\r\n }\r\n _processDataItem(item, options) {\r\n var hasSelectColumn = this._selectionController.isSelectColumnVisible();\r\n var isDeferredSelection = options.isDeferredSelection = void 0 === options.isDeferredSelection ? this.option(\"selection.deferred\") : options.isDeferredSelection;\r\n var dataItem = super._processDataItem.apply(this, arguments);\r\n dataItem.isSelected = this._selectionController.isRowSelected(isDeferredSelection ? dataItem.data : dataItem.key);\r\n if (hasSelectColumn && dataItem.values) {\r\n for (var i = 0; i < options.visibleColumns.length; i++) {\r\n if (\"select\" === options.visibleColumns[i].command) {\r\n dataItem.values[i] = dataItem.isSelected;\r\n break\r\n }\r\n }\r\n }\r\n return dataItem\r\n }\r\n refresh(options) {\r\n var that = this;\r\n var d = new Deferred;\r\n super.refresh.apply(this, arguments).done(() => {\r\n if (!options || options.selection) {\r\n that._selectionController.refresh().done(d.resolve).fail(d.reject)\r\n } else {\r\n d.resolve()\r\n }\r\n }).fail(d.reject);\r\n return d.promise()\r\n }\r\n _handleDataChanged(e) {\r\n var hasLoadOperation = this.hasLoadOperation();\r\n super._handleDataChanged.apply(this, arguments);\r\n if (hasLoadOperation && !this._repaintChangesOnly) {\r\n this._selectionController.focusedItemIndex(-1)\r\n }\r\n }\r\n _applyChange(change) {\r\n if (change && \"updateSelection\" === change.changeType) {\r\n change.items.forEach((item, index) => {\r\n var currentItem = this._items[index];\r\n if (currentItem) {\r\n currentItem.isSelected = item.isSelected;\r\n currentItem.values = item.values\r\n }\r\n });\r\n return\r\n }\r\n return super._applyChange.apply(this, arguments)\r\n }\r\n _endUpdateCore() {\r\n var changes = this._changes;\r\n var isUpdateSelection = changes.length > 1 && changes.every(change => \"updateSelection\" === change.changeType);\r\n if (isUpdateSelection) {\r\n var itemIndexes = changes.map(change => change.itemIndexes || []).reduce((a, b) => a.concat(b));\r\n this._changes = [{\r\n changeType: \"updateSelection\",\r\n itemIndexes: itemIndexes\r\n }]\r\n }\r\n super._endUpdateCore.apply(this, arguments)\r\n }\r\n};\r\nvar contextMenu = Base => class extends Base {\r\n _contextMenuPrepared(options) {\r\n var dxEvent = options.event;\r\n if (dxEvent.originalEvent && \"dxhold\" !== dxEvent.originalEvent.type || options.items && options.items.length > 0) {\r\n return\r\n }\r\n processLongTap(this, dxEvent)\r\n }\r\n};\r\nexport var columnHeadersSelectionExtenderMixin = Base => class extends Base {\r\n init() {\r\n super.init();\r\n this._selectionController.selectionChanged.add(this._updateSelectAllValue.bind(this))\r\n }\r\n _updateSelectAllValue() {\r\n var $element = this.element();\r\n var $editor = $element && $element.find(\".\".concat(SELECT_CHECKBOX_CLASS));\r\n if ($element && $editor.length && \"multiple\" === this.option(\"selection.mode\")) {\r\n var selectAllValue = this._selectionController.isSelectAll();\r\n var hasSelection = false !== selectAllValue;\r\n var isVisible = this.option(\"selection.allowSelectAll\") ? !this._dataController.isEmpty() : hasSelection;\r\n $editor.dxCheckBox(\"instance\").option({\r\n visible: isVisible,\r\n value: selectAllValue\r\n })\r\n }\r\n }\r\n _handleDataChanged(e) {\r\n super._handleDataChanged(e);\r\n if (!e || \"refresh\" === e.changeType || e.repaintChangesOnly && \"update\" === e.changeType) {\r\n this.waitAsyncTemplates().done(() => {\r\n this._updateSelectAllValue()\r\n })\r\n }\r\n }\r\n _renderSelectAllCheckBox($container, column) {\r\n var that = this;\r\n var isEmptyData = that._dataController.isEmpty();\r\n var groupElement = $(\"<div>\").appendTo($container).addClass(SELECT_CHECKBOX_CLASS);\r\n that.setAria(\"label\", messageLocalization.format(\"dxDataGrid-ariaSelectAll\"), groupElement);\r\n that._editorFactoryController.createEditor(groupElement, extend({}, column, {\r\n parentType: \"headerRow\",\r\n dataType: \"boolean\",\r\n value: this._selectionController.isSelectAll(),\r\n editorOptions: {\r\n visible: !isEmptyData && (that.option(\"selection.allowSelectAll\") || false !== this._selectionController.isSelectAll())\r\n },\r\n tabIndex: that.option(\"useLegacyKeyboardNavigation\") ? -1 : that.option(\"tabIndex\") || 0,\r\n setValue: (value, e) => {\r\n var allowSelectAll = that.option(\"selection.allowSelectAll\");\r\n e.component.option(\"visible\", allowSelectAll || false !== e.component.option(\"value\"));\r\n if (!e.event || this._selectionController.isSelectAll() === value) {\r\n return\r\n }\r\n if (e.value && !allowSelectAll) {\r\n e.component.option(\"value\", false)\r\n } else {\r\n e.value ? this._selectionController.selectAll() : this._selectionController.deselectAll()\r\n }\r\n e.event.preventDefault()\r\n }\r\n }));\r\n return groupElement\r\n }\r\n _attachSelectAllCheckBoxClickEvent($element) {\r\n eventsEngine.on($element, clickEventName, this.createAction(e => {\r\n var {\r\n event: event\r\n } = e;\r\n if (!$(event.target).closest(\".\".concat(SELECT_CHECKBOX_CLASS)).length) {\r\n eventsEngine.trigger($(event.currentTarget).children(\".\".concat(SELECT_CHECKBOX_CLASS)), clickEventName)\r\n }\r\n event.preventDefault()\r\n }))\r\n }\r\n};\r\nexport var rowsViewSelectionExtenderMixin = Base => class extends Base {\r\n renderSelectCheckBoxContainer($container, options) {\r\n if (\"data\" === options.rowType && !options.row.isNewRow) {\r\n $container.addClass(EDITOR_CELL_CLASS);\r\n this._attachCheckBoxClickEvent($container);\r\n this._renderSelectCheckBox($container, options)\r\n } else {\r\n gridCoreUtils.setEmptyText($container)\r\n }\r\n }\r\n _renderSelectCheckBox(container, options) {\r\n var groupElement = $(\"<div>\").addClass(SELECT_CHECKBOX_CLASS).appendTo(container);\r\n this.setAria(\"label\", messageLocalization.format(\"dxDataGrid-ariaSelectRow\"), groupElement);\r\n this._editorFactoryController.createEditor(groupElement, extend({}, options.column, {\r\n parentType: \"dataRow\",\r\n dataType: \"boolean\",\r\n lookup: null,\r\n value: options.value,\r\n setValue(value, e) {\r\n var _a;\r\n if (\"keydown\" === (null === (_a = null === e || void 0 === e ? void 0 : e.event) || void 0 === _a ? void 0 : _a.type)) {\r\n eventsEngine.trigger(e.element, clickEventName, e)\r\n }\r\n },\r\n row: options.row\r\n }));\r\n return groupElement\r\n }\r\n _attachCheckBoxClickEvent($element) {\r\n eventsEngine.on($element, clickEventName, this.createAction((function(e) {\r\n var {\r\n event: event\r\n } = e;\r\n var rowIndex = this.getRowIndex($(event.currentTarget).closest(\".\".concat(ROW_CLASS)));\r\n if (rowIndex >= 0) {\r\n this._selectionController.startSelectionWithCheckboxes();\r\n this._selectionController.changeItemSelection(rowIndex, {\r\n shift: event.shiftKey\r\n });\r\n if ($(event.target).closest(\".\".concat(SELECT_CHECKBOX_CLASS)).length) {\r\n this._dataController.updateItems({\r\n changeType: \"updateSelection\",\r\n itemIndexes: [rowIndex]\r\n })\r\n }\r\n }\r\n })))\r\n }\r\n _update(change) {\r\n var that = this;\r\n var tableElements = that.getTableElements();\r\n if (\"updateSelection\" === change.changeType) {\r\n if (tableElements.length > 0) {\r\n each(tableElements, (_, tableElement) => {\r\n each(change.itemIndexes || [], (_, index) => {\r\n var $row;\r\n if (change.items[index]) {\r\n $row = that._getRowElements($(tableElement)).eq(index);\r\n if ($row.length) {\r\n var {\r\n isSelected: isSelected\r\n } = change.items[index];\r\n $row.toggleClass(ROW_SELECTION_CLASS, void 0 === isSelected ? false : isSelected).find(\".\".concat(SELECT_CHECKBOX_CLASS)).dxCheckBox(\"option\", \"value\", isSelected);\r\n that.setAria(\"selected\", isSelected, $row)\r\n }\r\n }\r\n })\r\n });\r\n that._updateCheckboxesClass()\r\n }\r\n } else {\r\n super._update(change)\r\n }\r\n }\r\n _createTable() {\r\n var that = this;\r\n var selectionMode = that.option(\"selection.mode\");\r\n var $table = super._createTable.apply(that, arguments);\r\n if (\"none\" !== selectionMode) {\r\n if (\"onLongTap\" === that.option(SHOW_CHECKBOXES_MODE) || !touch) {\r\n eventsEngine.on($table, addNamespace(holdEvent.name, \"dxDataGridRowsView\"), \".\".concat(DATA_ROW_CLASS), that.createAction(e => {\r\n processLongTap(that.component, e.event);\r\n e.event.stopPropagation()\r\n }))\r\n }\r\n eventsEngine.on($table, \"mousedown selectstart\", that.createAction(e => {\r\n var {\r\n event: event\r\n } = e;\r\n if (event.shiftKey) {\r\n event.preventDefault()\r\n }\r\n }))\r\n }\r\n return $table\r\n }\r\n _createRow(row) {\r\n var $row = super._createRow.apply(this, arguments);\r\n if (row) {\r\n var {\r\n isSelected: isSelected\r\n } = row;\r\n if (isSelected) {\r\n $row.addClass(ROW_SELECTION_CLASS)\r\n }\r\n var selectionMode = this.option(SELECTION_MODE);\r\n if (\"none\" !== selectionMode) {\r\n this.setAria(\"selected\", isSelected, $row)\r\n }\r\n }\r\n return $row\r\n }\r\n _rowClickForTreeList(e) {\r\n super._rowClick(e)\r\n }\r\n _rowClick(e) {\r\n var dxEvent = e.event;\r\n var isSelectionDisabled = $(dxEvent.target).closest(\".\".concat(SELECTION_DISABLED_CLASS)).length;\r\n if (!this.isClickableElement($(dxEvent.target))) {\r\n if (!isSelectionDisabled && (\"multiple\" !== this.option(SELECTION_MODE) || \"always\" !== this.option(SHOW_CHECKBOXES_MODE))) {\r\n if (this._selectionController.changeItemSelection(e.rowIndex, {\r\n control: isCommandKeyPressed(dxEvent),\r\n shift: dxEvent.shiftKey\r\n })) {\r\n dxEvent.preventDefault();\r\n e.handled = true\r\n }\r\n }\r\n super._rowClick(e)\r\n }\r\n }\r\n isClickableElement($target) {\r\n var isCommandSelect = $target.closest(\".\".concat(COMMAND_SELECT_CLASS)).length;\r\n return !!isCommandSelect\r\n }\r\n _renderCore(change) {\r\n var deferred = super._renderCore(change);\r\n this._updateCheckboxesClass();\r\n return deferred\r\n }\r\n _updateCheckboxesClass() {\r\n var tableElements = this.getTableElements();\r\n var isCheckBoxesHidden = this._selectionController.isSelectColumnVisible() && !this._selectionController.isSelectionWithCheckboxes();\r\n each(tableElements, (_, tableElement) => {\r\n $(tableElement).toggleClass(CHECKBOXES_HIDDEN_CLASS, isCheckBoxesHidden)\r\n })\r\n }\r\n};\r\nexport var selectionModule = {\r\n defaultOptions: () => ({\r\n selection: {\r\n mode: \"none\",\r\n showCheckBoxesMode: \"onClick\",\r\n allowSelectAll: true,\r\n selectAllMode: \"allPages\",\r\n deferred: false,\r\n maxFilterLengthInRequest: 1500,\r\n alwaysSelectByShift: false\r\n },\r\n selectionFilter: [],\r\n selectedRowKeys: []\r\n }),\r\n controllers: {\r\n selection: SelectionController\r\n },\r\n extenders: {\r\n controllers: {\r\n data: dataSelectionExtenderMixin,\r\n contextMenu: contextMenu\r\n },\r\n views: {\r\n columnHeadersView: columnHeadersSelectionExtenderMixin,\r\n rowsView: rowsViewSelectionExtenderMixin\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/selection.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n selectionModule\r\n} from \"../../../grids/grid_core/selection/m_selection\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"selection\", selectionModule);\r\n","/**\r\n * DevExtreme (esm/ui/tree_view/ui.tree_view.base.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n asyncNoop,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n isDefined,\r\n isPrimitive,\r\n isFunction,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport CheckBox from \"../check_box\";\r\nimport HierarchicalCollectionWidget from \"../hierarchical_collection/ui.hierarchical_collection_widget\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n name as dblclickEvent\r\n} from \"../../events/double_click\";\r\nimport fx from \"../../animation/fx\";\r\nimport Scrollable from \"../scroll_view/ui.scrollable\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n fromPromise,\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n nativeScrolling\r\n} from \"../../core/utils/support\";\r\nimport {\r\n getRelativeOffset\r\n} from \"../../renovation/ui/scroll_view/utils/get_relative_offset\";\r\nimport {\r\n SCROLLABLE_CONTENT_CLASS,\r\n DIRECTION_HORIZONTAL,\r\n DIRECTION_VERTICAL\r\n} from \"../../renovation/ui/scroll_view/common/consts\";\r\nimport {\r\n getImageContainer\r\n} from \"../../core/utils/icon\";\r\nvar WIDGET_CLASS = \"dx-treeview\";\r\nvar NODE_CLASS = \"\".concat(WIDGET_CLASS, \"-node\");\r\nvar NODE_CONTAINER_CLASS = \"\".concat(NODE_CLASS, \"-container\");\r\nvar NODE_LOAD_INDICATOR_CLASS = \"\".concat(NODE_CLASS, \"-loadindicator\");\r\nvar OPENED_NODE_CONTAINER_CLASS = \"\".concat(NODE_CLASS, \"-container-opened\");\r\nvar IS_LEAF = \"\".concat(NODE_CLASS, \"-is-leaf\");\r\nvar ITEM_CLASS = \"\".concat(WIDGET_CLASS, \"-item\");\r\nvar ITEM_WITH_CHECKBOX_CLASS = \"\".concat(ITEM_CLASS, \"-with-checkbox\");\r\nvar ITEM_WITH_CUSTOM_EXPANDER_ICON_CLASS = \"\".concat(ITEM_CLASS, \"-with-custom-expander-icon\");\r\nvar CUSTOM_EXPANDER_ICON_ITEM_CONTAINER_CLASS = \"\".concat(WIDGET_CLASS, \"-custom-expander-icon-item-container\");\r\nvar ITEM_WITHOUT_CHECKBOX_CLASS = \"\".concat(ITEM_CLASS, \"-without-checkbox\");\r\nvar ITEM_DATA_KEY = \"\".concat(ITEM_CLASS, \"-data\");\r\nvar TOGGLE_ITEM_VISIBILITY_CLASS = \"\".concat(WIDGET_CLASS, \"-toggle-item-visibility\");\r\nvar CUSTOM_COLLAPSE_ICON_CLASS = \"\".concat(WIDGET_CLASS, \"-custom-collapse-icon\");\r\nvar CUSTOM_EXPAND_ICON_CLASS = \"\".concat(WIDGET_CLASS, \"-custom-expand-icon\");\r\nvar LOAD_INDICATOR_CLASS = \"\".concat(WIDGET_CLASS, \"-loadindicator\");\r\nvar LOAD_INDICATOR_WRAPPER_CLASS = \"\".concat(WIDGET_CLASS, \"-loadindicator-wrapper\");\r\nvar TOGGLE_ITEM_VISIBILITY_OPENED_CLASS = \"\".concat(WIDGET_CLASS, \"-toggle-item-visibility-opened\");\r\nvar SELECT_ALL_ITEM_CLASS = \"\".concat(WIDGET_CLASS, \"-select-all-item\");\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar SELECTED_ITEM_CLASS = \"dx-state-selected\";\r\nvar EXPAND_EVENT_NAMESPACE = \"dxTreeView_expand\";\r\nvar DATA_ITEM_ID = \"data-item-id\";\r\nvar ITEM_URL_CLASS = \"dx-item-url\";\r\nvar TreeViewBase = HierarchicalCollectionWidget.inherit({\r\n _supportedKeys: function(e) {\r\n var click = e => {\r\n var $itemElement = $(this.option(\"focusedElement\"));\r\n if (!$itemElement.length) {\r\n return\r\n }\r\n e.target = $itemElement;\r\n e.currentTarget = $itemElement;\r\n this._itemClickHandler(e, $itemElement.children(\".\" + ITEM_CLASS));\r\n var expandEventName = this._getEventNameByOption(this.option(\"expandEvent\"));\r\n var expandByClick = expandEventName === addNamespace(clickEventName, EXPAND_EVENT_NAMESPACE);\r\n if (expandByClick) {\r\n this._expandEventHandler(e)\r\n }\r\n };\r\n var select = e => {\r\n e.preventDefault();\r\n var $focusedElement = $(this.option(\"focusedElement\"));\r\n var checkboxInstance = this._getCheckBoxInstance($focusedElement);\r\n if (!checkboxInstance.option(\"disabled\")) {\r\n var currentState = checkboxInstance.option(\"value\");\r\n this._updateItemSelection(!currentState, $focusedElement.find(\".\" + ITEM_CLASS).get(0), true)\r\n }\r\n };\r\n var toggleExpandedNestedItems = function(state, e) {\r\n if (!this.option(\"expandAllEnabled\")) {\r\n return\r\n }\r\n e.preventDefault();\r\n var $rootElement = $(this.option(\"focusedElement\"));\r\n if (!$rootElement.length) {\r\n return\r\n }\r\n var rootItem = this._getItemData($rootElement.find(\".\".concat(ITEM_CLASS)));\r\n this._toggleExpandedNestedItems([rootItem], state)\r\n };\r\n return extend(this.callBase(), {\r\n enter: this._showCheckboxes() ? select : click,\r\n space: this._showCheckboxes() ? select : click,\r\n asterisk: toggleExpandedNestedItems.bind(this, true),\r\n minus: toggleExpandedNestedItems.bind(this, false)\r\n })\r\n },\r\n _toggleExpandedNestedItems: function(items, state) {\r\n if (!items) {\r\n return\r\n }\r\n for (var i = 0, len = items.length; i < len; i++) {\r\n var item = items[i];\r\n var node = this._dataAdapter.getNodeByItem(item);\r\n this._toggleExpandedState(node, state);\r\n this._toggleExpandedNestedItems(item.items, state)\r\n }\r\n },\r\n _getNodeElement: function(node, cache) {\r\n var key = this._encodeString(node.internalFields.key);\r\n if (cache) {\r\n if (!cache.$nodeByKey) {\r\n cache.$nodeByKey = {};\r\n this.$element().find(\".\".concat(NODE_CLASS)).each((function() {\r\n var $node = $(this);\r\n var key = $node.attr(DATA_ITEM_ID);\r\n cache.$nodeByKey[key] = $node\r\n }))\r\n }\r\n return cache.$nodeByKey[key] || $()\r\n }\r\n var element = this.$element().get(0).querySelector(\"[\".concat(DATA_ITEM_ID, '=\"').concat(key, '\"]'));\r\n return $(element)\r\n },\r\n _activeStateUnit: \".\" + ITEM_CLASS,\r\n _widgetClass: function() {\r\n return WIDGET_CLASS\r\n },\r\n _getDefaultOptions: function() {\r\n var defaultOptions = extend(this.callBase(), {\r\n animationEnabled: true,\r\n dataStructure: \"tree\",\r\n deferRendering: true,\r\n expandAllEnabled: false,\r\n hasItemsExpr: \"hasItems\",\r\n selectNodesRecursive: true,\r\n expandNodesRecursive: true,\r\n showCheckBoxesMode: \"none\",\r\n expandIcon: null,\r\n collapseIcon: null,\r\n selectAllText: messageLocalization.format(\"dxList-selectAll\"),\r\n onItemSelectionChanged: null,\r\n onItemExpanded: null,\r\n onItemCollapsed: null,\r\n scrollDirection: \"vertical\",\r\n useNativeScrolling: true,\r\n virtualModeEnabled: false,\r\n rootValue: 0,\r\n focusStateEnabled: false,\r\n selectionMode: \"multiple\",\r\n expandEvent: \"dblclick\",\r\n selectByClick: false,\r\n createChildren: null,\r\n onSelectAllValueChanged: null,\r\n _supportItemUrl: false\r\n });\r\n return extend(true, defaultOptions, {\r\n integrationOptions: {\r\n useDeferUpdateForTemplates: false\r\n }\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return !nativeScrolling\r\n },\r\n options: {\r\n useNativeScrolling: false\r\n }\r\n }])\r\n },\r\n _initSelectedItems: noop,\r\n _syncSelectionOptions: asyncNoop,\r\n _fireSelectionChanged: function() {\r\n var selectionChangePromise = this._selectionChangePromise;\r\n when(selectionChangePromise).done(function() {\r\n this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })()\r\n }.bind(this))\r\n },\r\n _createSelectAllValueChangedAction: function() {\r\n this._selectAllValueChangedAction = this._createActionByOption(\"onSelectAllValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _fireSelectAllValueChanged: function(value) {\r\n this._selectAllValueChangedAction({\r\n value: value\r\n })\r\n },\r\n _checkBoxModeChange: function(value, previousValue) {\r\n var searchEnabled = this.option(\"searchEnabled\");\r\n var previousSelectAllEnabled = this._selectAllEnabled(previousValue);\r\n var previousItemsContainer = this._itemContainer(searchEnabled, previousSelectAllEnabled);\r\n this._detachClickEvent(previousItemsContainer);\r\n this._detachExpandEvent(previousItemsContainer);\r\n if (\"none\" === previousValue || \"none\" === value) {\r\n return\r\n }\r\n var selectAllExists = this._$selectAllItem && this._$selectAllItem.length;\r\n switch (value) {\r\n case \"selectAll\":\r\n if (!selectAllExists) {\r\n this._createSelectAllValueChangedAction();\r\n this._renderSelectAllItem()\r\n }\r\n break;\r\n case \"normal\":\r\n if (selectAllExists) {\r\n this._$selectAllItem.remove();\r\n delete this._$selectAllItem\r\n }\r\n }\r\n },\r\n _removeSelection: function() {\r\n var that = this;\r\n each(this._dataAdapter.getFullData(), (function(_, node) {\r\n if (!that._hasChildren(node)) {\r\n return\r\n }\r\n that._dataAdapter.toggleSelection(node.internalFields.key, false, true)\r\n }))\r\n },\r\n _optionChanged: function(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"selectAllText\":\r\n if (this._$selectAllItem) {\r\n this._$selectAllItem.dxCheckBox(\"instance\").option(\"text\", value)\r\n }\r\n break;\r\n case \"showCheckBoxesMode\":\r\n this._checkBoxModeChange(value, previousValue);\r\n this._invalidate();\r\n break;\r\n case \"scrollDirection\":\r\n this.getScrollable().option(\"direction\", value);\r\n break;\r\n case \"useNativeScrolling\":\r\n this.getScrollable().option(\"useNative\", value);\r\n break;\r\n case \"items\":\r\n delete this._$selectAllItem;\r\n this.callBase(args);\r\n break;\r\n case \"dataSource\":\r\n this.callBase(args);\r\n this._initDataAdapter();\r\n this._filter = {};\r\n break;\r\n case \"hasItemsExpr\":\r\n this._initAccessors();\r\n this.repaint();\r\n break;\r\n case \"expandEvent\":\r\n this._attachExpandEvent();\r\n break;\r\n case \"deferRendering\":\r\n case \"dataStructure\":\r\n case \"rootValue\":\r\n case \"createChildren\":\r\n case \"expandNodesRecursive\":\r\n case \"onItemSelectionChanged\":\r\n case \"onItemExpanded\":\r\n case \"onItemCollapsed\":\r\n case \"expandAllEnabled\":\r\n case \"animationEnabled\":\r\n case \"virtualModeEnabled\":\r\n case \"selectByClick\":\r\n case \"_supportItemUrl\":\r\n break;\r\n case \"selectionMode\":\r\n this._initDataAdapter();\r\n this.callBase(args);\r\n break;\r\n case \"onSelectAllValueChanged\":\r\n this._createSelectAllValueChangedAction();\r\n break;\r\n case \"selectNodesRecursive\":\r\n this._dataAdapter.setOption(\"recursiveSelection\", args.value);\r\n this.repaint();\r\n break;\r\n case \"expandIcon\":\r\n case \"collapseIcon\":\r\n this.repaint();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _initDataSource: function() {\r\n if (this._useCustomChildrenLoader()) {\r\n this._loadChildrenByCustomLoader(null).done(function(newItems) {\r\n if (newItems && newItems.length) {\r\n this.option(\"items\", newItems)\r\n }\r\n }.bind(this))\r\n } else {\r\n this.callBase();\r\n this._isVirtualMode() && this._initVirtualMode()\r\n }\r\n },\r\n _initVirtualMode: function() {\r\n var filter = this._filter;\r\n if (!filter.custom) {\r\n filter.custom = this._dataSource.filter()\r\n }\r\n if (!filter.internal) {\r\n filter.internal = [this.option(\"parentIdExpr\"), this.option(\"rootValue\")]\r\n }\r\n },\r\n _useCustomChildrenLoader: function() {\r\n return isFunction(this.option(\"createChildren\")) && this._isDataStructurePlain()\r\n },\r\n _loadChildrenByCustomLoader: function(parentNode) {\r\n var invocationResult = this.option(\"createChildren\").call(this, parentNode);\r\n if (Array.isArray(invocationResult)) {\r\n return (new Deferred).resolve(invocationResult).promise()\r\n }\r\n if (invocationResult && isFunction(invocationResult.then)) {\r\n return fromPromise(invocationResult)\r\n }\r\n return (new Deferred).resolve([]).promise()\r\n },\r\n _combineFilter: function() {\r\n if (!this._filter.custom || !this._filter.custom.length) {\r\n return this._filter.internal\r\n }\r\n return [this._filter.custom, this._filter.internal]\r\n },\r\n _dataSourceLoadErrorHandler: function() {\r\n this._renderEmptyMessage()\r\n },\r\n _init: function() {\r\n this._filter = {};\r\n this.callBase();\r\n this._initStoreChangeHandlers()\r\n },\r\n _dataSourceChangedHandler: function(newItems) {\r\n var items = this.option(\"items\");\r\n if (this._initialized && this._isVirtualMode() && items.length) {\r\n return\r\n }\r\n this.option(\"items\", newItems)\r\n },\r\n _removeTreeViewLoadIndicator: function() {\r\n if (!this._treeViewLoadIndicator) {\r\n return\r\n }\r\n this._treeViewLoadIndicator.remove();\r\n this._treeViewLoadIndicator = null\r\n },\r\n _createTreeViewLoadIndicator: function() {\r\n this._treeViewLoadIndicator = $(\"<div>\").addClass(LOAD_INDICATOR_CLASS);\r\n this._createComponent(this._treeViewLoadIndicator, LoadIndicator, {});\r\n return this._treeViewLoadIndicator\r\n },\r\n _dataSourceLoadingChangedHandler: function(isLoading) {\r\n var resultFilter;\r\n if (this._isVirtualMode()) {\r\n resultFilter = this._combineFilter();\r\n this._dataSource.filter(resultFilter)\r\n }\r\n if (isLoading && !this._dataSource.isLoaded()) {\r\n this.option(\"items\", []);\r\n var $wrapper = $(\"<div>\").addClass(LOAD_INDICATOR_WRAPPER_CLASS);\r\n this._createTreeViewLoadIndicator().appendTo($wrapper);\r\n this.itemsContainer().append($wrapper);\r\n if (this._isVirtualMode() && this._dataSource.filter() !== resultFilter) {\r\n this._dataSource.filter([])\r\n }\r\n } else {\r\n this._removeTreeViewLoadIndicator()\r\n }\r\n },\r\n _initStoreChangeHandlers: function() {\r\n if (\"plain\" !== this.option(\"dataStructure\")) {\r\n return\r\n }\r\n this._dataSource && this._dataSource.store().on(\"inserted\", newItem => {\r\n this.option().items = this.option(\"items\").concat(newItem);\r\n this._dataAdapter.addItem(newItem);\r\n if (!this._dataAdapter.isFiltered(newItem)) {\r\n return\r\n }\r\n this._updateLevel(this._parentIdGetter(newItem))\r\n }).on(\"removed\", removedKey => {\r\n var node = this._dataAdapter.getNodeByKey(removedKey);\r\n if (isDefined(node)) {\r\n this.option(\"items\")[this._dataAdapter.getIndexByKey(node.internalFields.key)] = 0;\r\n this._markChildrenItemsToRemove(node);\r\n this._removeItems();\r\n this._dataAdapter.removeItem(removedKey);\r\n this._updateLevel(this._parentIdGetter(node))\r\n }\r\n })\r\n },\r\n _markChildrenItemsToRemove: function(node) {\r\n var keys = node.internalFields.childrenKeys;\r\n each(keys, (_, key) => {\r\n this.option(\"items\")[this._dataAdapter.getIndexByKey(key)] = 0;\r\n this._markChildrenItemsToRemove(this._dataAdapter.getNodeByKey(key))\r\n })\r\n },\r\n _removeItems: function() {\r\n var items = extend(true, [], this.option(\"items\"));\r\n var counter = 0;\r\n each(items, (index, item) => {\r\n if (!item) {\r\n this.option(\"items\").splice(index - counter, 1);\r\n counter++\r\n }\r\n })\r\n },\r\n _updateLevel: function(parentId) {\r\n var $container = this._getContainerByParentKey(parentId);\r\n this._renderItems($container, this._dataAdapter.getChildrenNodes(parentId))\r\n },\r\n _getOldContainer: function($itemElement) {\r\n if ($itemElement.length) {\r\n return $itemElement.children(\".\".concat(NODE_CONTAINER_CLASS))\r\n }\r\n var scrollable = this.getScrollable();\r\n if (scrollable) {\r\n return $(scrollable.content()).children()\r\n }\r\n return $()\r\n },\r\n _getContainerByParentKey: function(parentId) {\r\n var node = this._dataAdapter.getNodeByKey(parentId);\r\n var $itemElement = node ? this._getNodeElement(node) : [];\r\n this._getOldContainer($itemElement).remove();\r\n var $container = this._renderNodeContainer($itemElement);\r\n if (this._isRootLevel(parentId)) {\r\n var scrollable = this.getScrollable();\r\n if (!scrollable) {\r\n this._renderScrollableContainer()\r\n }\r\n $(scrollable.content()).append($container)\r\n }\r\n return $container\r\n },\r\n _isRootLevel: function(parentId) {\r\n return parentId === this.option(\"rootValue\")\r\n },\r\n _getAccessors: function() {\r\n var accessors = this.callBase();\r\n accessors.push(\"hasItems\");\r\n return accessors\r\n },\r\n _getDataAdapterOptions: function() {\r\n var _this$_dataSource, _this$_dataSource$loa, _this$_dataSource$loa2;\r\n return {\r\n rootValue: this.option(\"rootValue\"),\r\n multipleSelection: !this._isSingleSelection(),\r\n recursiveSelection: this._isRecursiveSelection(),\r\n recursiveExpansion: this.option(\"expandNodesRecursive\"),\r\n selectionRequired: this.option(\"selectionRequired\"),\r\n dataType: this.option(\"dataStructure\"),\r\n sort: this._dataSource && this._dataSource.sort(),\r\n langParams: null === (_this$_dataSource = this._dataSource) || void 0 === _this$_dataSource ? void 0 : null === (_this$_dataSource$loa = _this$_dataSource.loadOptions) || void 0 === _this$_dataSource$loa ? void 0 : null === (_this$_dataSource$loa2 = _this$_dataSource$loa.call(_this$_dataSource)) || void 0 === _this$_dataSource$loa2 ? void 0 : _this$_dataSource$loa2.langParams\r\n }\r\n },\r\n _initMarkup: function() {\r\n this._renderScrollableContainer();\r\n this._renderEmptyMessage(this._dataAdapter.getRootNodes());\r\n this.callBase();\r\n this.setAria(\"role\", \"tree\")\r\n },\r\n _renderContentImpl: function() {\r\n var $nodeContainer = this._renderNodeContainer();\r\n $(this.getScrollable().content()).append($nodeContainer);\r\n if (!this.option(\"items\") || !this.option(\"items\").length) {\r\n return\r\n }\r\n this._renderItems($nodeContainer, this._dataAdapter.getRootNodes());\r\n this._attachExpandEvent();\r\n if (this._selectAllEnabled()) {\r\n this._createSelectAllValueChangedAction();\r\n this._renderSelectAllItem($nodeContainer)\r\n }\r\n },\r\n _isVirtualMode: function() {\r\n return this.option(\"virtualModeEnabled\") && this._isDataStructurePlain() && !!this.option(\"dataSource\")\r\n },\r\n _isDataStructurePlain: function() {\r\n return \"plain\" === this.option(\"dataStructure\")\r\n },\r\n _fireContentReadyAction: function() {\r\n var dataSource = this.getDataSource();\r\n var skipContentReadyAction = dataSource && !dataSource.isLoaded() || this._skipContentReadyAndItemExpanded;\r\n var scrollable = this.getScrollable();\r\n if (scrollable && hasWindow()) {\r\n scrollable.update()\r\n }\r\n if (!skipContentReadyAction) {\r\n this.callBase()\r\n }\r\n if (scrollable && hasWindow()) {\r\n scrollable.update()\r\n }\r\n },\r\n _renderScrollableContainer: function() {\r\n this._scrollable = this._createComponent($(\"<div>\").appendTo(this.$element()), Scrollable, {\r\n useNative: this.option(\"useNativeScrolling\"),\r\n direction: this.option(\"scrollDirection\"),\r\n useKeyboard: false\r\n })\r\n },\r\n _renderNodeContainer: function($parent) {\r\n var $container = $(\"<ul>\").addClass(NODE_CONTAINER_CLASS);\r\n this.setAria(\"role\", \"group\", $container);\r\n if ($parent && $parent.length) {\r\n var itemData = this._getItemData($parent.children(\".\" + ITEM_CLASS));\r\n if (this._expandedGetter(itemData)) {\r\n $container.addClass(OPENED_NODE_CONTAINER_CLASS)\r\n }\r\n $container.appendTo($parent)\r\n }\r\n return $container\r\n },\r\n _createDOMElement: function($nodeContainer, node) {\r\n var _node$internalFields, _node$internalFields$;\r\n var $node = $(\"<li>\").addClass(NODE_CLASS).attr(DATA_ITEM_ID, this._encodeString(node.internalFields.key)).prependTo($nodeContainer);\r\n var attrs = {\r\n role: \"treeitem\",\r\n label: this._displayGetter(node.internalFields.item) || \"\",\r\n level: this._getLevel($nodeContainer)\r\n };\r\n var hasChildNodes = !!(null !== node && void 0 !== node && null !== (_node$internalFields = node.internalFields) && void 0 !== _node$internalFields && null !== (_node$internalFields$ = _node$internalFields.childrenKeys) && void 0 !== _node$internalFields$ && _node$internalFields$.length);\r\n if (hasChildNodes) {\r\n attrs.expanded = node.internalFields.expanded || false\r\n }\r\n this.setAria(attrs, $node);\r\n return $node\r\n },\r\n _getLevel: function($nodeContainer) {\r\n var parent = $nodeContainer.parent();\r\n return parent.hasClass(\"dx-scrollable-content\") ? 1 : parseInt(parent.attr(\"aria-level\")) + 1\r\n },\r\n _showCheckboxes: function() {\r\n return \"none\" !== this.option(\"showCheckBoxesMode\")\r\n },\r\n _hasCustomExpanderIcons: function() {\r\n return this.option(\"expandIcon\") || this.option(\"collapseIcon\")\r\n },\r\n _selectAllEnabled: function(showCheckBoxesMode) {\r\n var mode = null !== showCheckBoxesMode && void 0 !== showCheckBoxesMode ? showCheckBoxesMode : this.option(\"showCheckBoxesMode\");\r\n return \"selectAll\" === mode && !this._isSingleSelection()\r\n },\r\n _renderItems: function($nodeContainer, nodes) {\r\n var length = nodes.length - 1;\r\n for (var i = length; i >= 0; i--) {\r\n this._renderItem(i, nodes[i], $nodeContainer)\r\n }\r\n this._renderedItemsCount += nodes.length\r\n },\r\n _renderItem: function(nodeIndex, node, $nodeContainer) {\r\n var $node = this._createDOMElement($nodeContainer, node);\r\n var nodeData = node.internalFields;\r\n var showCheckBox = this._showCheckboxes();\r\n $node.addClass(showCheckBox ? ITEM_WITH_CHECKBOX_CLASS : ITEM_WITHOUT_CHECKBOX_CLASS);\r\n $node.toggleClass(INVISIBLE_STATE_CLASS, false === nodeData.item.visible);\r\n if (this._hasCustomExpanderIcons()) {\r\n $node.addClass(ITEM_WITH_CUSTOM_EXPANDER_ICON_CLASS);\r\n $nodeContainer.addClass(CUSTOM_EXPANDER_ICON_ITEM_CONTAINER_CLASS)\r\n }\r\n showCheckBox && this._renderCheckBox($node, node);\r\n this.setAria(\"selected\", nodeData.selected, $node);\r\n this._toggleSelectedClass($node, nodeData.selected);\r\n if (nodeData.disabled) {\r\n this.setAria(\"disabled\", nodeData.disabled, $node)\r\n }\r\n this.callBase(this._renderedItemsCount + nodeIndex, nodeData.item, $node);\r\n if (false !== nodeData.item.visible) {\r\n this._renderChildren($node, node)\r\n }\r\n },\r\n _setAriaSelectionAttribute: noop,\r\n _renderChildren: function($node, node) {\r\n if (!this._hasChildren(node)) {\r\n this._addLeafClass($node);\r\n return\r\n }\r\n if (this._hasCustomExpanderIcons()) {\r\n this._renderCustomExpanderIcons($node, node)\r\n } else {\r\n this._renderDefaultExpanderIcons($node, node)\r\n }\r\n if (this.option(\"deferRendering\") && !node.internalFields.expanded) {\r\n return\r\n }\r\n this._loadSublevel(node).done(childNodes => {\r\n this._renderSublevel($node, this._getActualNode(node), childNodes)\r\n })\r\n },\r\n _getActualNode: function(cachedNode) {\r\n return this._dataAdapter.getNodeByKey(cachedNode.internalFields.key)\r\n },\r\n _hasChildren: function(node) {\r\n if (this._isVirtualMode() || this._useCustomChildrenLoader()) {\r\n return false !== this._hasItemsGetter(node.internalFields.item)\r\n }\r\n return this.callBase(node)\r\n },\r\n _loadSublevel: function(node) {\r\n var deferred = new Deferred;\r\n var childrenNodes = this._getChildNodes(node);\r\n if (childrenNodes.length) {\r\n deferred.resolve(childrenNodes)\r\n } else {\r\n this._loadNestedItems(node).done(items => {\r\n deferred.resolve(this._dataAdapter.getNodesByItems(items))\r\n })\r\n }\r\n return deferred.promise()\r\n },\r\n _getItemExtraPropNames: () => [\"url\", \"linkAttr\"],\r\n _addContent: function($container, itemData) {\r\n var {\r\n html: html,\r\n url: url\r\n } = itemData;\r\n if (this.option(\"_supportItemUrl\") && url) {\r\n $container.html(html);\r\n var link = this._getLinkContainer(this._getIconContainer(itemData), this._getTextContainer(itemData), itemData);\r\n $container.append(link)\r\n } else {\r\n this.callBase($container, itemData)\r\n }\r\n },\r\n _renderSublevel: function($node, node, childNodes) {\r\n var $nestedNodeContainer = this._renderNodeContainer($node, node);\r\n var childNodesByChildrenKeys = childNodes.filter(childNode => -1 !== node.internalFields.childrenKeys.indexOf(childNode.internalFields.key));\r\n this._renderItems($nestedNodeContainer, childNodesByChildrenKeys);\r\n if (childNodesByChildrenKeys.length && !node.internalFields.selected) {\r\n var firstChild = childNodesByChildrenKeys[0];\r\n this._updateParentsState(firstChild, this._getNodeElement(firstChild))\r\n }\r\n this._normalizeIconState($node, childNodesByChildrenKeys.length);\r\n if (node.internalFields.expanded) {\r\n $nestedNodeContainer.addClass(OPENED_NODE_CONTAINER_CLASS)\r\n }\r\n },\r\n _executeItemRenderAction: function(itemIndex, itemData, itemElement) {\r\n var node = this._getNode(itemElement);\r\n this._getItemRenderAction()({\r\n itemElement: itemElement,\r\n itemIndex: itemIndex,\r\n itemData: itemData,\r\n node: this._dataAdapter.getPublicNode(node)\r\n })\r\n },\r\n _addLeafClass: function($node) {\r\n $node.addClass(IS_LEAF)\r\n },\r\n _expandEventHandler: function(e) {\r\n var $nodeElement = $(e.currentTarget.parentNode);\r\n if (!$nodeElement.hasClass(IS_LEAF)) {\r\n this._toggleExpandedState(e.currentTarget, void 0, e)\r\n }\r\n },\r\n _attachExpandEvent: function() {\r\n var expandedEventName = this._getEventNameByOption(this.option(\"expandEvent\"));\r\n var $itemsContainer = this._itemContainer();\r\n this._detachExpandEvent($itemsContainer);\r\n eventsEngine.on($itemsContainer, expandedEventName, this._itemSelector(), this._expandEventHandler.bind(this))\r\n },\r\n _detachExpandEvent(itemsContainer) {\r\n eventsEngine.off(itemsContainer, \".\".concat(EXPAND_EVENT_NAMESPACE), this._itemSelector())\r\n },\r\n _getEventNameByOption: function(name) {\r\n var event = \"click\" === name ? clickEventName : dblclickEvent;\r\n return addNamespace(event, EXPAND_EVENT_NAMESPACE)\r\n },\r\n _getNode: function(identifier) {\r\n if (!isDefined(identifier)) {\r\n return null\r\n }\r\n if (identifier.internalFields) {\r\n return identifier\r\n }\r\n if (isPrimitive(identifier)) {\r\n return this._dataAdapter.getNodeByKey(identifier)\r\n }\r\n var itemElement = $(identifier).get(0);\r\n if (!itemElement) {\r\n return null\r\n }\r\n if (domAdapter.isElementNode(itemElement)) {\r\n return this._getNodeByElement(itemElement)\r\n }\r\n return this._dataAdapter.getNodeByItem(itemElement)\r\n },\r\n _getNodeByElement: function(itemElement) {\r\n var $node = $(itemElement).closest(\".\" + NODE_CLASS);\r\n var key = this._decodeString($node.attr(DATA_ITEM_ID));\r\n return this._dataAdapter.getNodeByKey(key)\r\n },\r\n _toggleExpandedState: function(itemElement, state, e) {\r\n var node = this._getNode(itemElement);\r\n if (!node) {\r\n return (new Deferred).reject().promise()\r\n }\r\n if (node.internalFields.disabled) {\r\n return (new Deferred).reject().promise()\r\n }\r\n var currentState = node.internalFields.expanded;\r\n if (currentState === state) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n if (this._hasChildren(node)) {\r\n var $node = this._getNodeElement(node);\r\n if ($node.find(\".\".concat(NODE_LOAD_INDICATOR_CLASS, \":not(.\").concat(INVISIBLE_STATE_CLASS, \")\")).length) {\r\n return (new Deferred).reject().promise()\r\n }\r\n if (!currentState && !this._nodeHasRenderedChildren($node)) {\r\n this._createLoadIndicator($node)\r\n }\r\n }\r\n if (!isDefined(state)) {\r\n state = !currentState\r\n }\r\n this._dataAdapter.toggleExpansion(node.internalFields.key, state);\r\n return this._updateExpandedItemsUI(node, state, e)\r\n },\r\n _nodeHasRenderedChildren($node) {\r\n var $nodeContainer = $node.children(\".\".concat(NODE_CONTAINER_CLASS));\r\n return $nodeContainer.not(\":empty\").length\r\n },\r\n _createLoadIndicator: function($node) {\r\n this._createComponent($(\"<div>\").addClass(NODE_LOAD_INDICATOR_CLASS), LoadIndicator, {}).$element().appendTo($node);\r\n var $icon = $node.children(\".\".concat(TOGGLE_ITEM_VISIBILITY_CLASS, \",.\").concat(CUSTOM_EXPAND_ICON_CLASS));\r\n $icon.hide()\r\n },\r\n _renderExpanderIcon: function($node, node, $icon, iconClass) {\r\n $icon.appendTo($node);\r\n $icon.addClass(iconClass);\r\n if (node.internalFields.disabled) {\r\n $icon.addClass(DISABLED_STATE_CLASS)\r\n }\r\n this._renderToggleItemVisibilityIconClick($icon, node)\r\n },\r\n _renderDefaultExpanderIcons: function($node, node) {\r\n var $icon = $(\"<div>\").addClass(TOGGLE_ITEM_VISIBILITY_CLASS).appendTo($node);\r\n if (node.internalFields.expanded) {\r\n $icon.addClass(TOGGLE_ITEM_VISIBILITY_OPENED_CLASS);\r\n $node.parent().addClass(OPENED_NODE_CONTAINER_CLASS)\r\n }\r\n if (node.internalFields.disabled) {\r\n $icon.addClass(DISABLED_STATE_CLASS)\r\n }\r\n this._renderToggleItemVisibilityIconClick($icon, node)\r\n },\r\n _renderCustomExpanderIcons: function($node, node) {\r\n var {\r\n expandIcon: expandIcon,\r\n collapseIcon: collapseIcon\r\n } = this.option();\r\n var $expandIcon = getImageContainer(null !== expandIcon && void 0 !== expandIcon ? expandIcon : collapseIcon);\r\n var $collapseIcon = getImageContainer(null !== collapseIcon && void 0 !== collapseIcon ? collapseIcon : expandIcon);\r\n this._renderExpanderIcon($node, node, $expandIcon, CUSTOM_EXPAND_ICON_CLASS);\r\n this._renderExpanderIcon($node, node, $collapseIcon, CUSTOM_COLLAPSE_ICON_CLASS);\r\n var isNodeExpanded = node.internalFields.expanded;\r\n if (isNodeExpanded) {\r\n $node.parent().addClass(OPENED_NODE_CONTAINER_CLASS)\r\n }\r\n this._toggleCustomExpanderIcons($expandIcon, $collapseIcon, isNodeExpanded)\r\n },\r\n _renderToggleItemVisibilityIconClick: function($icon, node) {\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n eventsEngine.off($icon, eventName);\r\n eventsEngine.on($icon, eventName, e => {\r\n this._toggleExpandedState(node.internalFields.key, void 0, e)\r\n })\r\n },\r\n _toggleCustomExpanderIcons: function($expandIcon, $collapseIcon, isNodeExpanded) {\r\n $collapseIcon.toggle(isNodeExpanded);\r\n $expandIcon.toggle(!isNodeExpanded)\r\n },\r\n _updateExpandedItemsUI: function(node, state, e) {\r\n var $node = this._getNodeElement(node);\r\n var isHiddenNode = !$node.length || state && $node.is(\":hidden\");\r\n if (this.option(\"expandNodesRecursive\") && isHiddenNode) {\r\n var parentNode = this._getNode(node.internalFields.parentKey);\r\n if (parentNode) {\r\n this._updateExpandedItemsUI(parentNode, state, e)\r\n }\r\n }\r\n if (!this._hasCustomExpanderIcons()) {\r\n var $icon = $node.children(\".\".concat(TOGGLE_ITEM_VISIBILITY_CLASS));\r\n $icon.toggleClass(TOGGLE_ITEM_VISIBILITY_OPENED_CLASS, state)\r\n } else if (this._nodeHasRenderedChildren($node)) {\r\n var $childExpandIcons = $node.children(\".\".concat(CUSTOM_EXPAND_ICON_CLASS));\r\n var $childCollapseIcons = $node.children(\".\".concat(CUSTOM_COLLAPSE_ICON_CLASS));\r\n this._toggleCustomExpanderIcons($childExpandIcons, $childCollapseIcons, state)\r\n }\r\n var $nodeContainer = $node.children(\".\".concat(NODE_CONTAINER_CLASS));\r\n var nodeContainerExists = $nodeContainer.length > 0;\r\n var completionCallback = new Deferred;\r\n if (!state || nodeContainerExists && !$nodeContainer.is(\":empty\")) {\r\n this._animateNodeContainer(node, state, e, completionCallback);\r\n return completionCallback.promise()\r\n }\r\n if (0 === node.internalFields.childrenKeys.length && (this._isVirtualMode() || this._useCustomChildrenLoader())) {\r\n this._loadNestedItemsWithUpdate(node, state, e, completionCallback);\r\n return completionCallback.promise()\r\n }\r\n this._renderSublevel($node, node, this._getChildNodes(node));\r\n this._fireContentReadyAction();\r\n this._animateNodeContainer(node, state, e, completionCallback);\r\n return completionCallback.promise()\r\n },\r\n _loadNestedItemsWithUpdate: function(node, state, e, completionCallback) {\r\n var $node = this._getNodeElement(node);\r\n this._loadNestedItems(node).done(items => {\r\n var actualNodeData = this._getActualNode(node);\r\n this._renderSublevel($node, actualNodeData, this._dataAdapter.getNodesByItems(items));\r\n if (!items || !items.length) {\r\n completionCallback.resolve();\r\n return\r\n }\r\n this._fireContentReadyAction();\r\n this._animateNodeContainer(actualNodeData, state, e, completionCallback)\r\n })\r\n },\r\n _loadNestedItems: function(node) {\r\n if (this._useCustomChildrenLoader()) {\r\n var publicNode = this._dataAdapter.getPublicNode(node);\r\n return this._loadChildrenByCustomLoader(publicNode).done(newItems => {\r\n if (!this._areNodesExists(newItems)) {\r\n this._appendItems(newItems)\r\n }\r\n })\r\n }\r\n if (!this._isVirtualMode()) {\r\n return (new Deferred).resolve([]).promise()\r\n }\r\n this._filter.internal = [this.option(\"parentIdExpr\"), node.internalFields.key];\r\n this._dataSource.filter(this._combineFilter());\r\n return this._dataSource.load().done(newItems => {\r\n if (!this._areNodesExists(newItems)) {\r\n this._appendItems(newItems)\r\n }\r\n })\r\n },\r\n _areNodesExists: function(newItems, items) {\r\n var keyOfRootItem = this.keyOf(newItems[0]);\r\n var fullData = this._dataAdapter.getFullData();\r\n return !!this._dataAdapter.getNodeByKey(keyOfRootItem, fullData)\r\n },\r\n _appendItems: function(newItems) {\r\n this.option().items = this.option(\"items\").concat(newItems);\r\n this._initDataAdapter()\r\n },\r\n _animateNodeContainer: function(node, state, e, completionCallback) {\r\n var $node = this._getNodeElement(node);\r\n var $nodeContainer = $node.children(\".\".concat(NODE_CONTAINER_CLASS));\r\n if (node && completionCallback && 0 === $nodeContainer.length) {\r\n completionCallback.resolve()\r\n }\r\n $nodeContainer.addClass(OPENED_NODE_CONTAINER_CLASS);\r\n var nodeHeight = getHeight($nodeContainer);\r\n fx.stop($nodeContainer, true);\r\n fx.animate($nodeContainer, {\r\n type: \"custom\",\r\n duration: this.option(\"animationEnabled\") ? 400 : 0,\r\n from: {\r\n maxHeight: state ? 0 : nodeHeight\r\n },\r\n to: {\r\n maxHeight: state ? nodeHeight : 0\r\n },\r\n complete: function() {\r\n $nodeContainer.css(\"maxHeight\", \"none\");\r\n $nodeContainer.toggleClass(OPENED_NODE_CONTAINER_CLASS, state);\r\n this.setAria(\"expanded\", state, $node);\r\n this.getScrollable().update();\r\n this._fireExpandedStateUpdatedEvent(state, node, e);\r\n if (completionCallback) {\r\n completionCallback.resolve()\r\n }\r\n }.bind(this)\r\n })\r\n },\r\n _fireExpandedStateUpdatedEvent: function(isExpanded, node, e) {\r\n if (!this._hasChildren(node) || this._skipContentReadyAndItemExpanded) {\r\n return\r\n }\r\n var optionName = isExpanded ? \"onItemExpanded\" : \"onItemCollapsed\";\r\n if (isDefined(e)) {\r\n this._itemDXEventHandler(e, optionName, {\r\n node: this._dataAdapter.getPublicNode(node)\r\n })\r\n } else {\r\n var target = this._getNodeElement(node);\r\n this._itemEventHandler(target, optionName, {\r\n event: e,\r\n node: this._dataAdapter.getPublicNode(node)\r\n })\r\n }\r\n },\r\n _normalizeIconState: function($node, hasNewItems) {\r\n var $loadIndicator = $node.find(\".\".concat(NODE_LOAD_INDICATOR_CLASS));\r\n if ($loadIndicator.length) {\r\n var _LoadIndicator$getIns;\r\n null === (_LoadIndicator$getIns = LoadIndicator.getInstance($loadIndicator)) || void 0 === _LoadIndicator$getIns ? void 0 : _LoadIndicator$getIns.option(\"visible\", false)\r\n }\r\n var $toggleItem = $node.children(\".\".concat(CUSTOM_COLLAPSE_ICON_CLASS, \",.\").concat(TOGGLE_ITEM_VISIBILITY_CLASS));\r\n if (hasNewItems) {\r\n $toggleItem.show();\r\n return\r\n }\r\n $toggleItem.removeClass(TOGGLE_ITEM_VISIBILITY_CLASS);\r\n $node.addClass(IS_LEAF)\r\n },\r\n _emptyMessageContainer: function() {\r\n var scrollable = this.getScrollable();\r\n return scrollable ? $(scrollable.content()) : this.callBase()\r\n },\r\n _renderContent: function() {\r\n var items = this.option(\"items\");\r\n if (items && items.length) {\r\n this._contentAlreadyRendered = true\r\n }\r\n this.callBase()\r\n },\r\n _renderSelectAllItem: function($container) {\r\n var {\r\n selectAllText: selectAllText,\r\n focusStateEnabled: focusStateEnabled\r\n } = this.option();\r\n $container = $container || this.$element().find(\".\".concat(NODE_CONTAINER_CLASS)).first();\r\n this._$selectAllItem = $(\"<div>\").addClass(SELECT_ALL_ITEM_CLASS);\r\n var value = this._dataAdapter.isAllSelected();\r\n this._createComponent(this._$selectAllItem, CheckBox, {\r\n value: value,\r\n elementAttr: {\r\n \"aria-label\": \"Select All\"\r\n },\r\n text: selectAllText,\r\n focusStateEnabled: focusStateEnabled,\r\n onValueChanged: this._onSelectAllCheckboxValueChanged.bind(this),\r\n onInitialized: _ref => {\r\n var {\r\n component: component\r\n } = _ref;\r\n component.registerKeyHandler(\"enter\", () => {\r\n component.option(\"value\", !component.option(\"value\"))\r\n })\r\n }\r\n });\r\n this._toggleSelectedClass(this._$selectAllItem, value);\r\n $container.before(this._$selectAllItem)\r\n },\r\n _onSelectAllCheckboxValueChanged: function(args) {\r\n this._toggleSelectAll(args);\r\n this._fireSelectAllValueChanged(args.value)\r\n },\r\n _toggleSelectAll: function(args) {\r\n this._dataAdapter.toggleSelectAll(args.value);\r\n this._updateItemsUI();\r\n this._fireSelectionChanged()\r\n },\r\n _renderCheckBox: function($node, node) {\r\n var $checkbox = $(\"<div>\").appendTo($node);\r\n this._createComponent($checkbox, CheckBox, {\r\n value: node.internalFields.selected,\r\n onValueChanged: this._changeCheckboxValue.bind(this),\r\n focusStateEnabled: false,\r\n elementAttr: {\r\n \"aria-label\": \"Check State\"\r\n },\r\n disabled: this._disabledGetter(node)\r\n })\r\n },\r\n _toggleSelectedClass: function($node, value) {\r\n $node.toggleClass(SELECTED_ITEM_CLASS, !!value)\r\n },\r\n _toggleNodeDisabledState: function(node, state) {\r\n var $node = this._getNodeElement(node);\r\n var $item = $node.find(\".\" + ITEM_CLASS).eq(0);\r\n this._dataAdapter.toggleNodeDisabledState(node.internalFields.key, state);\r\n $item.toggleClass(DISABLED_STATE_CLASS, !!state);\r\n if (this._showCheckboxes()) {\r\n var checkbox = this._getCheckBoxInstance($node);\r\n checkbox.option(\"disabled\", !!state)\r\n }\r\n },\r\n _itemOptionChanged: function(item, property, value) {\r\n var node = this._dataAdapter.getNodeByItem(item);\r\n if (property === this.option(\"disabledExpr\")) {\r\n this._toggleNodeDisabledState(node, value)\r\n }\r\n },\r\n _changeCheckboxValue: function(e) {\r\n var $node = $(e.element).parent(\".\" + NODE_CLASS);\r\n var $item = $node.children(\".\" + ITEM_CLASS);\r\n var item = this._getItemData($item);\r\n var node = this._getNodeByElement($item);\r\n var value = e.value;\r\n if (node && node.internalFields.selected === value) {\r\n return\r\n }\r\n this._updateItemSelection(value, item, e.event)\r\n },\r\n _isSingleSelection: function() {\r\n return \"single\" === this.option(\"selectionMode\")\r\n },\r\n _isRecursiveSelection: function() {\r\n return this.option(\"selectNodesRecursive\") && \"single\" !== this.option(\"selectionMode\")\r\n },\r\n _isLastSelectedBranch: function(publicNode, selectedNodesKeys, deep) {\r\n var keyIndex = selectedNodesKeys.indexOf(publicNode.key);\r\n if (keyIndex >= 0) {\r\n selectedNodesKeys.splice(keyIndex, 1)\r\n }\r\n if (deep) {\r\n each(publicNode.children, function(_, childNode) {\r\n this._isLastSelectedBranch(childNode, selectedNodesKeys, true)\r\n }.bind(this))\r\n }\r\n if (publicNode.parent) {\r\n this._isLastSelectedBranch(publicNode.parent, selectedNodesKeys)\r\n }\r\n return 0 === selectedNodesKeys.length\r\n },\r\n _isLastRequired: function(node) {\r\n var selectionRequired = this.option(\"selectionRequired\");\r\n var isSingleMode = this._isSingleSelection();\r\n var selectedNodesKeys = this.getSelectedNodeKeys();\r\n if (!selectionRequired) {\r\n return\r\n }\r\n if (isSingleMode) {\r\n return 1 === selectedNodesKeys.length\r\n } else {\r\n return this._isLastSelectedBranch(node.internalFields.publicNode, selectedNodesKeys.slice(), true)\r\n }\r\n },\r\n _updateItemSelection: function(value, itemElement, dxEvent) {\r\n var node = this._getNode(itemElement);\r\n if (!node || false === node.visible) {\r\n return false\r\n }\r\n if (node.internalFields.selected === value) {\r\n return true\r\n }\r\n if (!value && this._isLastRequired(node)) {\r\n if (this._showCheckboxes()) {\r\n var $node = this._getNodeElement(node);\r\n this._getCheckBoxInstance($node).option(\"value\", true)\r\n }\r\n return false\r\n }\r\n if (value && this._isSingleSelection()) {\r\n var selectedKeys = this.getSelectedNodeKeys();\r\n each(selectedKeys, (index, key) => {\r\n this._dataAdapter.toggleSelection(key, false);\r\n this._updateItemsUI();\r\n this._fireItemSelectionChanged(this._getNode(key))\r\n })\r\n }\r\n this._dataAdapter.toggleSelection(node.internalFields.key, value);\r\n var isAllSelected = this._dataAdapter.isAllSelected();\r\n var needFireSelectAllChanged = this._selectAllEnabled() && this._$selectAllItem.dxCheckBox(\"instance\").option(\"value\") !== isAllSelected;\r\n this._updateItemsUI();\r\n this._fireItemSelectionChanged(node, dxEvent);\r\n this._fireSelectionChanged();\r\n if (needFireSelectAllChanged) {\r\n this._fireSelectAllValueChanged(isAllSelected)\r\n }\r\n return true\r\n },\r\n _fireItemSelectionChanged: function(node, dxEvent) {\r\n var initiator = dxEvent || this._findItemElementByItem(node.internalFields.item);\r\n var handler = dxEvent ? this._itemDXEventHandler : this._itemEventHandler;\r\n handler.call(this, initiator, \"onItemSelectionChanged\", {\r\n node: this._dataAdapter.getPublicNode(node),\r\n itemData: node.internalFields.item\r\n })\r\n },\r\n _getCheckBoxInstance: function($node) {\r\n return $node.children(\".dx-checkbox\").dxCheckBox(\"instance\")\r\n },\r\n _updateItemsUI: function() {\r\n var cache = {};\r\n each(this._dataAdapter.getData(), (_, node) => {\r\n var $node = this._getNodeElement(node, cache);\r\n var nodeSelection = node.internalFields.selected;\r\n if (!$node.length) {\r\n return\r\n }\r\n this._toggleSelectedClass($node, nodeSelection);\r\n this.setAria(\"selected\", nodeSelection, $node);\r\n if (this._showCheckboxes()) {\r\n this._getCheckBoxInstance($node).option(\"value\", nodeSelection)\r\n }\r\n });\r\n if (this._selectAllEnabled()) {\r\n var selectAllCheckbox = this._$selectAllItem.dxCheckBox(\"instance\");\r\n selectAllCheckbox.option(\"onValueChanged\", void 0);\r\n selectAllCheckbox.option(\"value\", this._dataAdapter.isAllSelected());\r\n selectAllCheckbox.option(\"onValueChanged\", this._onSelectAllCheckboxValueChanged.bind(this))\r\n }\r\n },\r\n _updateParentsState: function(node, $node) {\r\n if (!$node) {\r\n return\r\n }\r\n var parentNode = this._dataAdapter.getNodeByKey(node.internalFields.parentKey);\r\n var $parentNode = $($node.parents(\".\" + NODE_CLASS)[0]);\r\n if (this._showCheckboxes()) {\r\n var parentValue = parentNode.internalFields.selected;\r\n this._getCheckBoxInstance($parentNode).option(\"value\", parentValue);\r\n this._toggleSelectedClass($parentNode, parentValue)\r\n }\r\n if (parentNode.internalFields.parentKey !== this.option(\"rootValue\")) {\r\n this._updateParentsState(parentNode, $parentNode)\r\n }\r\n },\r\n _itemEventHandlerImpl: function(initiator, action, actionArgs) {\r\n var $itemElement = $(initiator).closest(\".\" + NODE_CLASS).children(\".\" + ITEM_CLASS);\r\n return action(extend(this._extendActionArgs($itemElement), actionArgs))\r\n },\r\n _itemContextMenuHandler: function(e) {\r\n this._createEventHandler(\"onItemContextMenu\", e)\r\n },\r\n _itemHoldHandler: function(e) {\r\n this._createEventHandler(\"onItemHold\", e)\r\n },\r\n _createEventHandler: function(eventName, e) {\r\n var node = this._getNodeByElement(e.currentTarget);\r\n this._itemDXEventHandler(e, eventName, {\r\n node: this._dataAdapter.getPublicNode(node)\r\n })\r\n },\r\n _itemClass: function() {\r\n return ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return ITEM_DATA_KEY\r\n },\r\n _attachClickEvent: function() {\r\n var $itemContainer = this._itemContainer();\r\n this._detachClickEvent($itemContainer);\r\n var {\r\n clickEventNamespace: clickEventNamespace,\r\n itemSelector: itemSelector,\r\n pointerDownEventNamespace: pointerDownEventNamespace,\r\n nodeSelector: nodeSelector\r\n } = this._getItemClickEventData();\r\n eventsEngine.on($itemContainer, clickEventNamespace, itemSelector, e => {\r\n this._itemClickHandler(e, $(e.currentTarget))\r\n });\r\n eventsEngine.on($itemContainer, pointerDownEventNamespace, nodeSelector, e => {\r\n this._itemPointerDownHandler(e)\r\n })\r\n },\r\n _detachClickEvent: function(itemsContainer) {\r\n var {\r\n clickEventNamespace: clickEventNamespace,\r\n itemSelector: itemSelector,\r\n pointerDownEventNamespace: pointerDownEventNamespace,\r\n nodeSelector: nodeSelector\r\n } = this._getItemClickEventData();\r\n eventsEngine.off(itemsContainer, clickEventNamespace, itemSelector);\r\n eventsEngine.off(itemsContainer, pointerDownEventNamespace, nodeSelector)\r\n },\r\n _getItemClickEventData: function() {\r\n var itemSelector = \".\".concat(this._itemClass());\r\n var nodeSelector = \".\".concat(NODE_CLASS, \", .\").concat(SELECT_ALL_ITEM_CLASS);\r\n var clickEventNamespace = addNamespace(clickEventName, this.NAME);\r\n var pointerDownEventNamespace = addNamespace(pointerEvents.down, this.NAME);\r\n return {\r\n clickEventNamespace: clickEventNamespace,\r\n itemSelector: itemSelector,\r\n pointerDownEventNamespace: pointerDownEventNamespace,\r\n nodeSelector: nodeSelector\r\n }\r\n },\r\n _itemClick: function(actionArgs) {\r\n var args = actionArgs.args[0];\r\n var target = args.event.target[0] || args.event.target;\r\n var link = target.getElementsByClassName(ITEM_URL_CLASS)[0];\r\n if (args.itemData.url && link) {\r\n link.click()\r\n }\r\n },\r\n _itemClickHandler: function(e, $item) {\r\n var itemData = this._getItemData($item);\r\n var node = this._getNodeByElement($item);\r\n this._itemDXEventHandler(e, \"onItemClick\", {\r\n node: this._dataAdapter.getPublicNode(node)\r\n }, {\r\n beforeExecute: this._itemClick\r\n });\r\n if (this.option(\"selectByClick\") && !e.isDefaultPrevented()) {\r\n this._updateItemSelection(!node.internalFields.selected, itemData, e)\r\n }\r\n },\r\n _updateSelectionToFirstItem: function($items, startIndex) {\r\n var itemIndex = startIndex;\r\n while (itemIndex >= 0) {\r\n var $item = $($items[itemIndex]);\r\n this._updateItemSelection(true, $item.find(\".\" + ITEM_CLASS).get(0));\r\n itemIndex--\r\n }\r\n },\r\n _updateSelectionToLastItem: function($items, startIndex) {\r\n var length = $items.length;\r\n var itemIndex = startIndex;\r\n while (itemIndex < length) {\r\n var $item = $($items[itemIndex]);\r\n this._updateItemSelection(true, $item.find(\".\" + ITEM_CLASS).get(0));\r\n itemIndex++\r\n }\r\n },\r\n focus: function() {\r\n if (this._selectAllEnabled()) {\r\n eventsEngine.trigger(this._$selectAllItem, \"focus\");\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _focusInHandler: function(e) {\r\n this._updateFocusState(e, true);\r\n var isSelectAllItem = $(e.target).hasClass(SELECT_ALL_ITEM_CLASS);\r\n if (isSelectAllItem || this.option(\"focusedElement\")) {\r\n clearTimeout(this._setFocusedItemTimeout);\r\n this._setFocusedItemTimeout = setTimeout(() => {\r\n var element = isSelectAllItem ? getPublicElement(this._$selectAllItem) : $(this.option(\"focusedElement\"));\r\n this._setFocusedItem(element)\r\n });\r\n return\r\n }\r\n var $activeItem = this._getActiveItem();\r\n this.option(\"focusedElement\", getPublicElement($activeItem.closest(\".\" + NODE_CLASS)))\r\n },\r\n _itemPointerDownHandler: function(e) {\r\n if (!this.option(\"focusStateEnabled\")) {\r\n return\r\n }\r\n var $target = $(e.target).closest(\".\" + NODE_CLASS + \", .\" + SELECT_ALL_ITEM_CLASS);\r\n if (!$target.length) {\r\n return\r\n }\r\n var itemElement = $target.hasClass(DISABLED_STATE_CLASS) ? null : $target;\r\n this.option(\"focusedElement\", getPublicElement(itemElement))\r\n },\r\n _findNonDisabledNodes: function($nodes) {\r\n return $nodes.not((function() {\r\n return $(this).children(\".\" + ITEM_CLASS).hasClass(DISABLED_STATE_CLASS)\r\n }))\r\n },\r\n _moveFocus: function(location, e) {\r\n var FOCUS_UP = \"up\";\r\n var FOCUS_DOWN = \"down\";\r\n var FOCUS_FIRST = \"first\";\r\n var FOCUS_LAST = \"last\";\r\n var FOCUS_LEFT = this.option(\"rtlEnabled\") ? \"right\" : \"left\";\r\n var FOCUS_RIGHT = this.option(\"rtlEnabled\") ? \"left\" : \"right\";\r\n this.$element().find(\".\".concat(NODE_CONTAINER_CLASS)).each((function() {\r\n fx.stop(this, true)\r\n }));\r\n var $items = this._nodeElements();\r\n if (!$items || !$items.length) {\r\n return\r\n }\r\n switch (location) {\r\n case FOCUS_UP:\r\n var $prevItem = this._prevItem($items);\r\n this.option(\"focusedElement\", getPublicElement($prevItem));\r\n var prevItemElement = this._getNodeItemElement($prevItem);\r\n this.getScrollable().scrollToElement(prevItemElement);\r\n if (e.shiftKey && this._showCheckboxes()) {\r\n this._updateItemSelection(true, prevItemElement)\r\n }\r\n break;\r\n case FOCUS_DOWN:\r\n var $nextItem = this._nextItem($items);\r\n this.option(\"focusedElement\", getPublicElement($nextItem));\r\n var nextItemElement = this._getNodeItemElement($nextItem);\r\n this.getScrollable().scrollToElement(nextItemElement);\r\n if (e.shiftKey && this._showCheckboxes()) {\r\n this._updateItemSelection(true, nextItemElement)\r\n }\r\n break;\r\n case FOCUS_FIRST:\r\n var $firstItem = $items.first();\r\n if (e.shiftKey && this._showCheckboxes()) {\r\n this._updateSelectionToFirstItem($items, $items.index(this._prevItem($items)))\r\n }\r\n this.option(\"focusedElement\", getPublicElement($firstItem));\r\n this.getScrollable().scrollToElement(this._getNodeItemElement($firstItem));\r\n break;\r\n case FOCUS_LAST:\r\n var $lastItem = $items.last();\r\n if (e.shiftKey && this._showCheckboxes()) {\r\n this._updateSelectionToLastItem($items, $items.index(this._nextItem($items)))\r\n }\r\n this.option(\"focusedElement\", getPublicElement($lastItem));\r\n this.getScrollable().scrollToElement(this._getNodeItemElement($lastItem));\r\n break;\r\n case FOCUS_RIGHT:\r\n this._expandFocusedContainer();\r\n break;\r\n case FOCUS_LEFT:\r\n this._collapseFocusedContainer();\r\n break;\r\n default:\r\n this.callBase.apply(this, arguments);\r\n return\r\n }\r\n },\r\n _getNodeItemElement: function($node) {\r\n return $node.find(\".\" + ITEM_CLASS).get(0)\r\n },\r\n _nodeElements: function() {\r\n return this.$element().find(\".\" + NODE_CLASS).not(\":hidden\")\r\n },\r\n _expandFocusedContainer: function() {\r\n var $focusedNode = $(this.option(\"focusedElement\"));\r\n if (!$focusedNode.length || $focusedNode.hasClass(IS_LEAF)) {\r\n return\r\n }\r\n var $node = $focusedNode.find(\".\".concat(NODE_CONTAINER_CLASS)).eq(0);\r\n if ($node.hasClass(OPENED_NODE_CONTAINER_CLASS)) {\r\n var $nextItem = this._nextItem(this._findNonDisabledNodes(this._nodeElements()));\r\n this.option(\"focusedElement\", getPublicElement($nextItem));\r\n this.getScrollable().scrollToElement(this._getNodeItemElement($nextItem));\r\n return\r\n }\r\n var node = this._getNodeByElement($focusedNode.children(\".\" + ITEM_CLASS));\r\n this._toggleExpandedState(node, true)\r\n },\r\n _getClosestNonDisabledNode: function($node) {\r\n do {\r\n $node = $node.parent().closest(\".\" + NODE_CLASS)\r\n } while ($node.children(\".dx-treeview-item.dx-state-disabled\").length);\r\n return $node\r\n },\r\n _collapseFocusedContainer: function() {\r\n var $focusedNode = $(this.option(\"focusedElement\"));\r\n if (!$focusedNode.length) {\r\n return\r\n }\r\n var nodeElement = $focusedNode.find(\".\".concat(NODE_CONTAINER_CLASS)).eq(0);\r\n if (!$focusedNode.hasClass(IS_LEAF) && nodeElement.hasClass(OPENED_NODE_CONTAINER_CLASS)) {\r\n var node = this._getNodeByElement($focusedNode.children(\".\" + ITEM_CLASS));\r\n this._toggleExpandedState(node, false)\r\n } else {\r\n var collapsedNode = this._getClosestNonDisabledNode($focusedNode);\r\n collapsedNode.length && this.option(\"focusedElement\", getPublicElement(collapsedNode));\r\n this.getScrollable().scrollToElement(this._getNodeItemElement(collapsedNode))\r\n }\r\n },\r\n _encodeString: function(value) {\r\n return isString(value) ? encodeURI(value) : value\r\n },\r\n _decodeString: function(value) {\r\n return isString(value) ? decodeURI(value) : value\r\n },\r\n getScrollable: function() {\r\n return this._scrollable\r\n },\r\n updateDimensions: function() {\r\n var deferred = new Deferred;\r\n var scrollable = this.getScrollable();\r\n if (scrollable) {\r\n scrollable.update().done(() => {\r\n deferred.resolveWith(this)\r\n })\r\n } else {\r\n deferred.resolveWith(this)\r\n }\r\n return deferred.promise()\r\n },\r\n selectItem: function(itemElement) {\r\n return this._updateItemSelection(true, itemElement)\r\n },\r\n unselectItem: function(itemElement) {\r\n return this._updateItemSelection(false, itemElement)\r\n },\r\n expandItem: function(itemElement) {\r\n return this._toggleExpandedState(itemElement, true)\r\n },\r\n collapseItem: function(itemElement) {\r\n return this._toggleExpandedState(itemElement, false)\r\n },\r\n getNodes: function() {\r\n return this._dataAdapter.getTreeNodes()\r\n },\r\n getSelectedNodes: function() {\r\n return this.getSelectedNodeKeys().map(key => {\r\n var node = this._dataAdapter.getNodeByKey(key);\r\n return this._dataAdapter.getPublicNode(node)\r\n })\r\n },\r\n getSelectedNodeKeys: function() {\r\n return this._dataAdapter.getSelectedNodesKeys()\r\n },\r\n selectAll: function() {\r\n if (this._selectAllEnabled()) {\r\n this._$selectAllItem.dxCheckBox(\"instance\").option(\"value\", true)\r\n } else {\r\n this._toggleSelectAll({\r\n value: true\r\n })\r\n }\r\n },\r\n unselectAll: function() {\r\n if (this._selectAllEnabled()) {\r\n this._$selectAllItem.dxCheckBox(\"instance\").option(\"value\", false)\r\n } else {\r\n this._toggleSelectAll({\r\n value: false\r\n })\r\n }\r\n },\r\n _allItemsExpandedHandler: function() {\r\n this._skipContentReadyAndItemExpanded = false;\r\n this._fireContentReadyAction()\r\n },\r\n expandAll: function() {\r\n var nodes = this._dataAdapter.getData();\r\n var expandingPromises = [];\r\n this._skipContentReadyAndItemExpanded = true;\r\n nodes.forEach(node => expandingPromises.push(this._toggleExpandedState(node.internalFields.key, true)));\r\n Promise.allSettled(expandingPromises).then(() => {\r\n var _this$_allItemsExpand;\r\n return null === (_this$_allItemsExpand = this._allItemsExpandedHandler) || void 0 === _this$_allItemsExpand ? void 0 : _this$_allItemsExpand.call(this)\r\n })\r\n },\r\n collapseAll: function() {\r\n each(this._dataAdapter.getExpandedNodesKeys(), function(_, key) {\r\n this._toggleExpandedState(key, false)\r\n }.bind(this))\r\n },\r\n scrollToItem: function(keyOrItemOrElement) {\r\n var node = this._getNode(keyOrItemOrElement);\r\n if (!node) {\r\n return (new Deferred).reject().promise()\r\n }\r\n var nodeKeysToExpand = [];\r\n var parentNode = node.internalFields.publicNode.parent;\r\n while (null != parentNode) {\r\n if (!parentNode.expanded) {\r\n nodeKeysToExpand.push(parentNode.key)\r\n }\r\n parentNode = parentNode.parent\r\n }\r\n var scrollCallback = new Deferred;\r\n this._expandNodes(nodeKeysToExpand.reverse()).always(() => {\r\n var $element = this._getNodeElement(node);\r\n if ($element && $element.length) {\r\n this.scrollToElementTopLeft($element.get(0));\r\n scrollCallback.resolve()\r\n } else {\r\n scrollCallback.reject()\r\n }\r\n });\r\n return scrollCallback.promise()\r\n },\r\n scrollToElementTopLeft: function(targetElement) {\r\n var scrollable = this.getScrollable();\r\n var {\r\n scrollDirection: scrollDirection,\r\n rtlEnabled: rtlEnabled\r\n } = this.option();\r\n var targetLocation = {\r\n top: 0,\r\n left: 0\r\n };\r\n var relativeOffset = getRelativeOffset(SCROLLABLE_CONTENT_CLASS, targetElement);\r\n if (scrollDirection !== DIRECTION_VERTICAL) {\r\n var containerElement = $(scrollable.container()).get(0);\r\n targetLocation.left = rtlEnabled ? relativeOffset.left + targetElement.offsetWidth - containerElement.clientWidth : relativeOffset.left\r\n }\r\n if (scrollDirection !== DIRECTION_HORIZONTAL) {\r\n targetLocation.top = relativeOffset.top\r\n }\r\n scrollable.scrollTo(targetLocation)\r\n },\r\n _expandNodes: function(keysToExpand) {\r\n if (!keysToExpand || 0 === keysToExpand.length) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n var resultCallback = new Deferred;\r\n var callbacksByNodes = keysToExpand.map(key => this.expandItem(key));\r\n when.apply($, callbacksByNodes).done(() => resultCallback.resolve()).fail(() => resultCallback.reject());\r\n return resultCallback.promise()\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n clearTimeout(this._setFocusedItemTimeout);\r\n this._allItemsExpandedHandler = null\r\n }\r\n});\r\nexport default TreeViewBase;\r\n","/**\r\n * DevExtreme (esm/ui/tree_view/ui.tree_view.search.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport searchBoxMixin from \"../widget/ui.search_box_mixin\";\r\nimport TextBox from \"../text_box\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport TreeViewBase from \"./ui.tree_view.base\";\r\nsearchBoxMixin.setEditorClass(TextBox);\r\nvar WIDGET_CLASS = \"dx-treeview\";\r\nvar NODE_CONTAINER_CLASS = \"\".concat(WIDGET_CLASS, \"-node-container\");\r\nvar TreeViewSearch = TreeViewBase.inherit(searchBoxMixin).inherit({\r\n _addWidgetPrefix: function(className) {\r\n return \"\".concat(WIDGET_CLASS, \"-\").concat(className)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"searchValue\":\r\n if (this._showCheckboxes() && this._isRecursiveSelection()) {\r\n this._removeSelection()\r\n }\r\n this._initDataAdapter();\r\n this._updateSearch();\r\n this._repaintContainer();\r\n this.option(\"focusedElement\", null);\r\n break;\r\n case \"searchExpr\":\r\n this._initDataAdapter();\r\n this.repaint();\r\n break;\r\n case \"searchMode\":\r\n this.option(\"expandNodesRecursive\") ? this._updateDataAdapter() : this._initDataAdapter();\r\n this.repaint();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _updateDataAdapter: function() {\r\n this._setOptionWithoutOptionChange(\"expandNodesRecursive\", false);\r\n this._initDataAdapter();\r\n this._setOptionWithoutOptionChange(\"expandNodesRecursive\", true)\r\n },\r\n _getDataAdapterOptions: function() {\r\n return extend(this.callBase(), {\r\n searchValue: this.option(\"searchValue\"),\r\n searchMode: this.option(\"searchMode\") || \"contains\",\r\n searchExpr: this.option(\"searchExpr\")\r\n })\r\n },\r\n _getNodeContainer: function() {\r\n return this.$element().find(\".\".concat(NODE_CONTAINER_CLASS)).first()\r\n },\r\n _updateSearch: function() {\r\n if (this._searchEditor) {\r\n var editorOptions = this._getSearchEditorOptions();\r\n this._searchEditor.option(editorOptions)\r\n }\r\n },\r\n _repaintContainer: function() {\r\n var $container = this._getNodeContainer();\r\n var rootNodes;\r\n if ($container.length) {\r\n $container.empty();\r\n rootNodes = this._dataAdapter.getRootNodes();\r\n this._renderEmptyMessage(rootNodes);\r\n this._renderItems($container, rootNodes);\r\n this._fireContentReadyAction()\r\n }\r\n },\r\n _focusTarget: function() {\r\n return this._itemContainer(this.option(\"searchEnabled\"))\r\n },\r\n _cleanItemContainer: function() {\r\n this.$element().empty()\r\n },\r\n _itemContainer: function(isSearchMode, selectAllEnabled) {\r\n var _selectAllEnabled;\r\n null !== (_selectAllEnabled = selectAllEnabled) && void 0 !== _selectAllEnabled ? _selectAllEnabled : selectAllEnabled = this._selectAllEnabled();\r\n if (selectAllEnabled) {\r\n return this._getNodeContainer()\r\n }\r\n if (this._scrollable && isSearchMode) {\r\n return $(this._scrollable.content())\r\n }\r\n return this.callBase()\r\n },\r\n _addWidgetClass: function() {\r\n this.$element().addClass(this._widgetClass())\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._removeSearchBox()\r\n }\r\n});\r\nregisterComponent(\"dxTreeView\", TreeViewSearch);\r\nexport default TreeViewSearch;\r\n","/**\r\n * DevExtreme (esm/ui/tree_view.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TreeView from \"./tree_view/ui.tree_view.search\";\r\nexport default TreeView;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/column_chooser/m_column_chooser.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../../../core/devices\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n deferUpdate\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getOuterHeight,\r\n getOuterWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Button from \"../../../../ui/button\";\r\nimport Popup from \"../../../../ui/popup/ui.popup\";\r\nimport {\r\n current,\r\n isGeneric,\r\n isMaterial as isMaterialTheme\r\n} from \"../../../../ui/themes\";\r\nimport TreeView from \"../../../../ui/tree_view\";\r\nimport modules from \"../m_modules\";\r\nimport {\r\n ColumnsView\r\n} from \"../views/m_columns_view\";\r\nvar COLUMN_CHOOSER_CLASS = \"column-chooser\";\r\nvar COLUMN_CHOOSER_BUTTON_CLASS = \"column-chooser-button\";\r\nvar NOTOUCH_ACTION_CLASS = \"notouch-action\";\r\nvar COLUMN_CHOOSER_LIST_CLASS = \"column-chooser-list\";\r\nvar COLUMN_CHOOSER_PLAIN_CLASS = \"column-chooser-plain\";\r\nvar COLUMN_CHOOSER_DRAG_CLASS = \"column-chooser-mode-drag\";\r\nvar COLUMN_CHOOSER_SELECT_CLASS = \"column-chooser-mode-select\";\r\nvar COLUMN_CHOOSER_ICON_NAME = \"column-chooser\";\r\nvar COLUMN_CHOOSER_ITEM_CLASS = \"dx-column-chooser-item\";\r\nvar COLUMN_OPTIONS_USED_IN_ITEMS = [\"showInColumnChooser\", \"caption\", \"allowHiding\", \"visible\", \"cssClass\", \"ownerBand\"];\r\nvar processItems = function(that, chooserColumns) {\r\n var items = [];\r\n var isSelectMode = that.isSelectMode();\r\n var isRecursive = that.option(\"columnChooser.selection.recursive\");\r\n if (chooserColumns.length) {\r\n each(chooserColumns, (index, column) => {\r\n var item = {\r\n text: column.caption,\r\n cssClass: column.cssClass,\r\n allowHiding: column.allowHiding,\r\n expanded: true,\r\n id: column.index,\r\n disabled: false === column.allowHiding,\r\n parentId: isDefined(column.ownerBand) ? column.ownerBand : null\r\n };\r\n var isRecursiveWithColumns = isRecursive && column.hasColumns;\r\n if (isSelectMode && !isRecursiveWithColumns) {\r\n item.selected = column.visible\r\n }\r\n items.push(item)\r\n })\r\n }\r\n return items\r\n};\r\nexport class ColumnChooserController extends modules.ViewController {\r\n init() {\r\n super.init();\r\n this._rowsView = this.getView(\"rowsView\")\r\n }\r\n renderShowColumnChooserButton($element) {\r\n var that = this;\r\n var columnChooserButtonClass = that.addWidgetPrefix(COLUMN_CHOOSER_BUTTON_CLASS);\r\n var columnChooserEnabled = that.option(\"columnChooser.enabled\");\r\n var $showColumnChooserButton = $element.find(\".\".concat(columnChooserButtonClass));\r\n var $columnChooserButton;\r\n if (columnChooserEnabled) {\r\n if (!$showColumnChooserButton.length) {\r\n $columnChooserButton = $(\"<div>\").addClass(columnChooserButtonClass).appendTo($element);\r\n that._createComponent($columnChooserButton, Button, {\r\n icon: COLUMN_CHOOSER_ICON_NAME,\r\n onClick() {\r\n that.getView(\"columnChooserView\").showColumnChooser()\r\n },\r\n hint: that.option(\"columnChooser.title\"),\r\n integrationOptions: {}\r\n })\r\n } else {\r\n $showColumnChooserButton.show()\r\n }\r\n } else {\r\n $showColumnChooserButton.hide()\r\n }\r\n }\r\n getPosition() {\r\n var position = this.option(\"columnChooser.position\");\r\n return isDefined(position) ? position : {\r\n my: \"right bottom\",\r\n at: \"right bottom\",\r\n of: this._rowsView && this._rowsView.element(),\r\n collision: \"fit\",\r\n offset: \"-2 -2\",\r\n boundaryOffset: \"2 2\"\r\n }\r\n }\r\n}\r\nexport class ColumnChooserView extends ColumnsView {\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"columnChooser\":\r\n this._initializePopupContainer();\r\n this.render(null, \"full\");\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n publicMethods() {\r\n return [\"showColumnChooser\", \"hideColumnChooser\"]\r\n }\r\n _resizeCore() {}\r\n _isWinDevice() {\r\n return !!devices.real().win\r\n }\r\n _initializePopupContainer() {\r\n var that = this;\r\n var columnChooserClass = that.addWidgetPrefix(COLUMN_CHOOSER_CLASS);\r\n var $element = that.element().addClass(columnChooserClass);\r\n var columnChooserOptions = that.option(\"columnChooser\");\r\n var popupPosition = this._columnChooserController.getPosition();\r\n var themeName = current();\r\n var isGenericTheme = isGeneric(themeName);\r\n var isMaterial = isMaterialTheme(themeName);\r\n var dxPopupOptions = {\r\n visible: false,\r\n shading: false,\r\n showCloseButton: false,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n wrapperAttr: {\r\n class: columnChooserClass\r\n },\r\n toolbarItems: [{\r\n text: columnChooserOptions.title,\r\n toolbar: \"top\",\r\n location: isGenericTheme || isMaterial ? \"before\" : \"center\"\r\n }],\r\n position: popupPosition,\r\n width: columnChooserOptions.width,\r\n height: columnChooserOptions.height,\r\n rtlEnabled: that.option(\"rtlEnabled\"),\r\n onHidden() {\r\n if (that._isWinDevice()) {\r\n $(\"body\").removeClass(that.addWidgetPrefix(NOTOUCH_ACTION_CLASS))\r\n }\r\n },\r\n container: columnChooserOptions.container\r\n };\r\n if (isGenericTheme || isMaterial) {\r\n extend(dxPopupOptions, {\r\n showCloseButton: true\r\n })\r\n } else {\r\n dxPopupOptions.toolbarItems[dxPopupOptions.toolbarItems.length] = {\r\n shortcut: \"cancel\"\r\n }\r\n }\r\n if (!isDefined(this._popupContainer)) {\r\n that._popupContainer = that._createComponent($element, Popup, dxPopupOptions);\r\n that._popupContainer.on(\"optionChanged\", args => {\r\n if (\"visible\" === args.name) {\r\n that.renderCompleted.fire()\r\n }\r\n })\r\n } else {\r\n this._popupContainer.option(dxPopupOptions)\r\n }\r\n this.setPopupAttributes()\r\n }\r\n setPopupAttributes() {\r\n var isSelectMode = this.isSelectMode();\r\n var isBandColumnsUsed = this._columnsController.isBandColumnsUsed();\r\n this._popupContainer.setAria({\r\n role: \"dialog\",\r\n label: messageLocalization.format(\"dxDataGrid-columnChooserTitle\")\r\n });\r\n this._popupContainer.$wrapper().toggleClass(this.addWidgetPrefix(COLUMN_CHOOSER_DRAG_CLASS), !isSelectMode).toggleClass(this.addWidgetPrefix(COLUMN_CHOOSER_SELECT_CLASS), isSelectMode);\r\n this._popupContainer.$content().addClass(this.addWidgetPrefix(COLUMN_CHOOSER_LIST_CLASS));\r\n if (isSelectMode && !isBandColumnsUsed) {\r\n this._popupContainer.$content().addClass(this.addWidgetPrefix(COLUMN_CHOOSER_PLAIN_CLASS))\r\n }\r\n }\r\n _renderCore(change) {\r\n if (this._popupContainer) {\r\n var isDragMode = !this.isSelectMode();\r\n if (!this._columnChooserList || \"full\" === change) {\r\n this._renderTreeView()\r\n } else if (isDragMode) {\r\n this._updateItems()\r\n }\r\n }\r\n }\r\n _renderTreeView() {\r\n var _a, _b, _c;\r\n var that = this;\r\n var $container = this._popupContainer.$content();\r\n var columnChooser = this.option(\"columnChooser\");\r\n var isSelectMode = this.isSelectMode();\r\n var searchEnabled = isDefined(columnChooser.allowSearch) ? columnChooser.allowSearch : null === (_a = columnChooser.search) || void 0 === _a ? void 0 : _a.enabled;\r\n var searchTimeout = isDefined(columnChooser.searchTimeout) ? columnChooser.searchTimeout : null === (_b = columnChooser.search) || void 0 === _b ? void 0 : _b.timeout;\r\n var treeViewConfig = {\r\n dataStructure: \"plain\",\r\n activeStateEnabled: true,\r\n focusStateEnabled: true,\r\n hoverStateEnabled: true,\r\n itemTemplate: \"item\",\r\n showCheckBoxesMode: \"none\",\r\n rootValue: null,\r\n searchEnabled: searchEnabled,\r\n searchTimeout: searchTimeout,\r\n searchEditorOptions: null === (_c = columnChooser.search) || void 0 === _c ? void 0 : _c.editorOptions\r\n };\r\n if (this._isWinDevice()) {\r\n treeViewConfig.useNativeScrolling = false\r\n }\r\n extend(treeViewConfig, isSelectMode ? this._prepareSelectModeConfig() : this._prepareDragModeConfig());\r\n if (this._columnChooserList) {\r\n if (!treeViewConfig.searchEnabled) {\r\n treeViewConfig.searchValue = \"\"\r\n }\r\n this._columnChooserList.option(treeViewConfig);\r\n this._updateItems()\r\n } else {\r\n this._columnChooserList = this._createComponent($container, TreeView, treeViewConfig);\r\n this._updateItems();\r\n var scrollTop = 0;\r\n this._columnChooserList.on(\"optionChanged\", e => {\r\n var scrollable = e.component.getScrollable();\r\n scrollTop = scrollable.scrollTop()\r\n });\r\n this._columnChooserList.on(\"contentReady\", e => {\r\n deferUpdate(() => {\r\n var scrollable = e.component.getScrollable();\r\n scrollable.scrollTo({\r\n y: scrollTop\r\n });\r\n that.renderCompleted.fire()\r\n })\r\n })\r\n }\r\n }\r\n _prepareDragModeConfig() {\r\n var columnChooserOptions = this.option(\"columnChooser\");\r\n return {\r\n noDataText: columnChooserOptions.emptyPanelText,\r\n activeStateEnabled: false,\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n itemTemplate(data, index, item) {\r\n $(item).text(data.text).parent().addClass(data.cssClass).addClass(COLUMN_CHOOSER_ITEM_CLASS)\r\n }\r\n }\r\n }\r\n _prepareSelectModeConfig() {\r\n var _a;\r\n var that = this;\r\n var selectionOptions = null !== (_a = this.option(\"columnChooser.selection\")) && void 0 !== _a ? _a : {};\r\n var isUpdatingSelection = false;\r\n return {\r\n selectByClick: selectionOptions.selectByClick,\r\n selectNodesRecursive: selectionOptions.recursive,\r\n showCheckBoxesMode: selectionOptions.allowSelectAll ? \"selectAll\" : \"normal\",\r\n onSelectionChanged: e => {\r\n if (isUpdatingSelection) {\r\n return\r\n }\r\n var nodes = (nodes => {\r\n var addNodesToArray = (nodes, flatNodesArray) => nodes.reduce((result, node) => {\r\n result.push(node);\r\n if (node.children.length) {\r\n addNodesToArray(node.children, result)\r\n }\r\n return result\r\n }, flatNodesArray);\r\n return addNodesToArray(nodes, [])\r\n })(e.component.getNodes());\r\n e.component.beginUpdate();\r\n isUpdatingSelection = true;\r\n ((e, nodes) => {\r\n nodes.filter(node => false === node.itemData.allowHiding).forEach(node => e.component.selectItem(node.key))\r\n })(e, nodes);\r\n e.component.endUpdate();\r\n isUpdatingSelection = false;\r\n that.component.beginUpdate();\r\n this._isUpdatingColumnVisibility = true;\r\n (nodes => {\r\n nodes.forEach(node => {\r\n var columnIndex = node.itemData.id;\r\n var isVisible = false !== node.selected;\r\n that._columnsController.columnOption(columnIndex, \"visible\", isVisible)\r\n })\r\n })(nodes);\r\n that.component.endUpdate();\r\n this._isUpdatingColumnVisibility = false\r\n }\r\n }\r\n }\r\n _updateItems() {\r\n var isSelectMode = this.isSelectMode();\r\n var chooserColumns = this._columnsController.getChooserColumns(isSelectMode);\r\n var items = processItems(this, chooserColumns);\r\n this._columnChooserList.option(\"items\", items)\r\n }\r\n _updateItemsSelection(columnIndices) {\r\n var changedColumns = null === columnIndices || void 0 === columnIndices ? void 0 : columnIndices.map(columnIndex => this._columnsController.columnOption(columnIndex));\r\n this._columnChooserList.beginUpdate();\r\n null === changedColumns || void 0 === changedColumns ? void 0 : changedColumns.forEach(_ref => {\r\n var {\r\n visible: visible,\r\n index: index\r\n } = _ref;\r\n if (visible) {\r\n this._columnChooserList.selectItem(index)\r\n } else {\r\n this._columnChooserList.unselectItem(index)\r\n }\r\n });\r\n this._columnChooserList.endUpdate()\r\n }\r\n _columnOptionChanged(e) {\r\n super._columnOptionChanged(e);\r\n var isSelectMode = this.isSelectMode();\r\n if (isSelectMode && this._columnChooserList && !this._isUpdatingColumnVisibility) {\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n var onlyVisibleChanged = optionNames.visible && 1 === optionNames.length;\r\n var columnIndices = isDefined(e.columnIndex) ? [e.columnIndex] : e.columnIndices;\r\n var needUpdate = COLUMN_OPTIONS_USED_IN_ITEMS.some(optionName => optionNames[optionName]) || e.changeTypes.columns && optionNames.all;\r\n if (needUpdate) {\r\n this._updateItemsSelection(columnIndices);\r\n if (!onlyVisibleChanged) {\r\n this._updateItems()\r\n }\r\n }\r\n }\r\n }\r\n getColumnElements() {\r\n var result = [];\r\n var isSelectMode = this.isSelectMode();\r\n var chooserColumns = this._columnsController.getChooserColumns(isSelectMode);\r\n var $content = this._popupContainer && this._popupContainer.$content();\r\n var $nodes = $content && $content.find(\".dx-treeview-node\");\r\n if ($nodes) {\r\n chooserColumns.forEach(column => {\r\n var $node = $nodes.filter(\"[data-item-id = '\".concat(column.index, \"']\"));\r\n var item = $node.length ? $node.children(\".\".concat(COLUMN_CHOOSER_ITEM_CLASS)).get(0) : null;\r\n result.push(item)\r\n })\r\n }\r\n return $(result)\r\n }\r\n getName() {\r\n return \"columnChooser\"\r\n }\r\n getColumns() {\r\n return this._columnsController.getChooserColumns()\r\n }\r\n allowDragging(column) {\r\n var isParentColumnVisible = this._columnsController.isParentColumnVisible(column.index);\r\n var isColumnHidden = !column.visible && column.allowHiding;\r\n return this.isColumnChooserVisible() && isParentColumnVisible && isColumnHidden\r\n }\r\n allowColumnHeaderDragging(column) {\r\n var isDragMode = !this.isSelectMode();\r\n return isDragMode && this.isColumnChooserVisible() && column.allowHiding\r\n }\r\n getBoundingRect() {\r\n var container = this._popupContainer && this._popupContainer.$overlayContent();\r\n if (container && container.is(\":visible\")) {\r\n var offset = container.offset();\r\n return {\r\n left: offset.left,\r\n top: offset.top,\r\n right: offset.left + getOuterWidth(container),\r\n bottom: offset.top + getOuterHeight(container)\r\n }\r\n }\r\n return null\r\n }\r\n showColumnChooser() {\r\n if (!this._popupContainer) {\r\n this._initializePopupContainer();\r\n this.render()\r\n }\r\n this._popupContainer.show();\r\n if (this._isWinDevice()) {\r\n $(\"body\").addClass(this.addWidgetPrefix(NOTOUCH_ACTION_CLASS))\r\n }\r\n }\r\n hideColumnChooser() {\r\n if (this._popupContainer) {\r\n this._popupContainer.hide()\r\n }\r\n }\r\n isColumnChooserVisible() {\r\n var popupContainer = this._popupContainer;\r\n return popupContainer && popupContainer.option(\"visible\")\r\n }\r\n isSelectMode() {\r\n return \"select\" === this.option(\"columnChooser.mode\")\r\n }\r\n hasHiddenColumns() {\r\n var isEnabled = this.option(\"columnChooser.enabled\");\r\n var hiddenColumns = this.getColumns().filter(column => !column.visible);\r\n return isEnabled && hiddenColumns.length\r\n }\r\n}\r\nvar headerPanel = Base => class extends Base {\r\n _getToolbarItems() {\r\n var items = super._getToolbarItems();\r\n return this._appendColumnChooserItem(items)\r\n }\r\n _appendColumnChooserItem(items) {\r\n var that = this;\r\n var columnChooserEnabled = that.option(\"columnChooser.enabled\");\r\n if (columnChooserEnabled) {\r\n var hintText = that.option(\"columnChooser.title\");\r\n var toolbarItem = {\r\n widget: \"dxButton\",\r\n options: {\r\n icon: COLUMN_CHOOSER_ICON_NAME,\r\n onClick: function() {\r\n that.component.getView(\"columnChooserView\").showColumnChooser()\r\n },\r\n hint: hintText,\r\n text: hintText,\r\n onInitialized: function(e) {\r\n $(e.element).addClass(that._getToolbarButtonClass(that.addWidgetPrefix(COLUMN_CHOOSER_BUTTON_CLASS)))\r\n },\r\n elementAttr: {\r\n \"aria-haspopup\": \"dialog\"\r\n }\r\n },\r\n showText: \"inMenu\",\r\n location: \"after\",\r\n name: \"columnChooserButton\",\r\n locateInMenu: \"auto\",\r\n sortIndex: 40\r\n };\r\n items.push(toolbarItem)\r\n }\r\n return items\r\n }\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"columnChooser\":\r\n this._invalidate();\r\n args.handled = true;\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n isVisible() {\r\n var columnChooserEnabled = this.option(\"columnChooser.enabled\");\r\n return super.isVisible() || columnChooserEnabled\r\n }\r\n};\r\nvar columns = Base => class extends Base {\r\n allowMoveColumn(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation) {\r\n var isSelectMode = \"select\" === this.option(\"columnChooser.mode\");\r\n var isMoveColumnDisallowed = isSelectMode && \"columnChooser\" === targetLocation;\r\n return isMoveColumnDisallowed ? false : super.allowMoveColumn(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation)\r\n }\r\n};\r\nvar columnHeadersView = Base => class extends Base {\r\n allowDragging(column) {\r\n var isDragMode = !this._columnChooserView.isSelectMode();\r\n var isColumnChooserVisible = this._columnChooserView.isColumnChooserVisible();\r\n return isDragMode && isColumnChooserVisible && column.allowHiding || super.allowDragging(column)\r\n }\r\n};\r\nexport var columnChooserModule = {\r\n defaultOptions: () => ({\r\n columnChooser: {\r\n enabled: false,\r\n search: {\r\n enabled: false,\r\n timeout: 500,\r\n editorOptions: {}\r\n },\r\n selection: {\r\n allowSelectAll: false,\r\n selectByClick: false,\r\n recursive: false\r\n },\r\n position: void 0,\r\n mode: \"dragAndDrop\",\r\n width: 250,\r\n height: 260,\r\n title: messageLocalization.format(\"dxDataGrid-columnChooserTitle\"),\r\n emptyPanelText: messageLocalization.format(\"dxDataGrid-columnChooserEmptyText\"),\r\n container: void 0\r\n }\r\n }),\r\n controllers: {\r\n columnChooser: ColumnChooserController\r\n },\r\n views: {\r\n columnChooserView: ColumnChooserView\r\n },\r\n extenders: {\r\n views: {\r\n headerPanel: headerPanel,\r\n columnHeadersView: columnHeadersView\r\n },\r\n controllers: {\r\n columns: columns\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/column_chooser.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnChooserModule\r\n} from \"../../../grids/grid_core/column_chooser/m_column_chooser\";\r\nimport gridCore from \"../m_core\";\r\nexport var ColumnChooserController = columnChooserModule.controllers.columnChooser;\r\nexport var ColumnChooserView = columnChooserModule.views.columnChooserView;\r\ngridCore.registerModule(\"columnChooser\", columnChooserModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n normalizeSortingInfo\r\n} from \"../../../data/utils\";\r\nimport gridCoreUtils from \"../../grids/grid_core/m_utils\";\r\nexport function createGroupFilter(path, storeLoadOptions) {\r\n var groups = normalizeSortingInfo(storeLoadOptions.group);\r\n var filter = [];\r\n for (var i = 0; i < path.length; i++) {\r\n filter.push([groups[i].selector, \"=\", path[i]])\r\n }\r\n if (storeLoadOptions.filter) {\r\n filter.push(storeLoadOptions.filter)\r\n }\r\n return gridCoreUtils.combineFilters(filter)\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/grouping/m_grouping_core.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"../../../../data/utils\";\r\nimport gridCore from \"../m_core\";\r\nexport function createOffsetFilter(path, storeLoadOptions, lastLevelOnly) {\r\n var groups = normalizeSortingInfo(storeLoadOptions.group);\r\n var filter = [];\r\n for (var i = lastLevelOnly ? path.length - 1 : 0; i < path.length; i++) {\r\n var filterElement = [];\r\n for (var j = 0; j <= i; j++) {\r\n var {\r\n selector: selector\r\n } = groups[j];\r\n if (i === j && (null === path[j] || false === path[j] || true === path[j])) {\r\n if (false === path[j]) {\r\n filterElement.push([selector, \"=\", groups[j].desc ? true : null])\r\n } else if (path[j] ? !groups[j].desc : groups[j].desc) {\r\n filterElement.push([selector, \"<>\", path[j]])\r\n } else {\r\n filterElement.push([selector, \"<>\", null]);\r\n filterElement.push([selector, \"=\", null])\r\n }\r\n } else {\r\n var currentFilter = [selector, i === j ? groups[j].desc ? \">\" : \"<\" : \"=\", path[j]];\r\n if (\"<\" === currentFilter[1]) {\r\n filterElement.push([currentFilter, \"or\", [selector, \"=\", null]])\r\n } else {\r\n filterElement.push(currentFilter)\r\n }\r\n }\r\n }\r\n filter.push(gridCore.combineFilters(filterElement))\r\n }\r\n filter = gridCore.combineFilters(filter, \"or\");\r\n return gridCore.combineFilters([filter, storeLoadOptions.filter])\r\n}\r\nvar findGroupInfoByKey = function(groupsInfo, key) {\r\n var {\r\n hash: hash\r\n } = groupsInfo;\r\n return hash && hash[JSON.stringify(key)]\r\n};\r\nvar getGroupInfoIndexByOffset = function(groupsInfo, offset) {\r\n var leftIndex = 0;\r\n var rightIndex = groupsInfo.length - 1;\r\n if (!groupsInfo.length) {\r\n return 0\r\n }\r\n do {\r\n var middleIndex = rightIndex + leftIndex >> 1;\r\n if (groupsInfo[middleIndex].offset > offset) {\r\n rightIndex = middleIndex\r\n } else {\r\n leftIndex = middleIndex\r\n }\r\n } while (rightIndex - leftIndex > 1);\r\n var index;\r\n for (index = leftIndex; index <= rightIndex; index++) {\r\n if (groupsInfo[index].offset > offset) {\r\n break\r\n }\r\n }\r\n return index\r\n};\r\nvar cleanGroupsInfo = function cleanGroupsInfo(groupsInfo, groupIndex, groupsCount) {\r\n for (var i = 0; i < groupsInfo.length; i++) {\r\n if (groupIndex + 1 >= groupsCount) {\r\n groupsInfo[i].children = []\r\n } else {\r\n cleanGroupsInfo(groupsInfo[i].children, groupIndex + 1, groupsCount)\r\n }\r\n }\r\n};\r\nvar calculateItemsCount = function calculateItemsCount(that, items, groupsCount) {\r\n var result = 0;\r\n if (items) {\r\n if (!groupsCount) {\r\n result = items.length\r\n } else {\r\n for (var i = 0; i < items.length; i++) {\r\n if (that.isGroupItemCountable(items[i])) {\r\n result++\r\n }\r\n result += calculateItemsCount(that, items[i].items, groupsCount - 1)\r\n }\r\n }\r\n }\r\n return result\r\n};\r\nexport class GroupingHelper {\r\n constructor(dataSourceAdapter) {\r\n this._dataSource = dataSourceAdapter;\r\n this.reset()\r\n }\r\n reset() {\r\n this._groupsInfo = [];\r\n this._totalCountCorrection = 0\r\n }\r\n totalCountCorrection() {\r\n return this._totalCountCorrection\r\n }\r\n updateTotalItemsCount(totalCountCorrection) {\r\n this._totalCountCorrection = totalCountCorrection || 0\r\n }\r\n isGroupItemCountable(item) {\r\n return !this._isVirtualPaging() || !item.isContinuation\r\n }\r\n _isVirtualPaging() {\r\n var scrollingMode = this._dataSource.option(\"scrolling.mode\");\r\n return \"virtual\" === scrollingMode || \"infinite\" === scrollingMode\r\n }\r\n itemsCount() {\r\n var dataSourceAdapter = this._dataSource;\r\n var dataSource = dataSourceAdapter._dataSource;\r\n var groupCount = gridCore.normalizeSortingInfo(dataSource.group() || []).length;\r\n var itemsCount = calculateItemsCount(this, dataSource.items(), groupCount);\r\n return itemsCount\r\n }\r\n foreachGroups(callback, childrenAtFirst, foreachCollapsedGroups, updateOffsets, updateParentOffsets) {\r\n var that = this;\r\n return function foreachGroupsCore(groupsInfo, callback, childrenAtFirst, parents) {\r\n var callbackResults = [];\r\n\r\n function executeCallback(callback, data, parents, callbackResults) {\r\n var callbackResult = data && callback(data, parents);\r\n callbackResult && callbackResults.push(callbackResult);\r\n return callbackResult\r\n }\r\n for (var i = 0; i < groupsInfo.length; i++) {\r\n parents.push(groupsInfo[i].data);\r\n if (!childrenAtFirst && false === executeCallback(callback, groupsInfo[i].data, parents, callbackResults)) {\r\n return false\r\n }\r\n if (!groupsInfo[i].data || groupsInfo[i].data.isExpanded || foreachCollapsedGroups) {\r\n var {\r\n children: children\r\n } = groupsInfo[i];\r\n var callbackResult = children.length && foreachGroupsCore(children, callback, childrenAtFirst, parents);\r\n callbackResult && callbackResults.push(callbackResult);\r\n if (false === callbackResult) {\r\n return false\r\n }\r\n }\r\n if (childrenAtFirst && false === executeCallback(callback, groupsInfo[i].data, parents, callbackResults)) {\r\n return false\r\n }\r\n if (!groupsInfo[i].data || groupsInfo[i].data.offset !== groupsInfo[i].offset) {\r\n updateOffsets = true\r\n }\r\n parents.pop()\r\n }\r\n var currentParents = updateParentOffsets && parents.slice(0);\r\n return updateOffsets && when.apply($, callbackResults).always(() => {\r\n that._updateGroupInfoOffsets(groupsInfo, currentParents)\r\n })\r\n }(that._groupsInfo, callback, childrenAtFirst, [])\r\n }\r\n _updateGroupInfoOffsets(groupsInfo, parents) {\r\n parents = parents || [];\r\n for (var index = 0; index < groupsInfo.length; index++) {\r\n var groupInfo = groupsInfo[index];\r\n if (groupInfo.data && groupInfo.data.offset !== groupInfo.offset) {\r\n groupInfo.offset = groupInfo.data.offset;\r\n for (var parentIndex = 0; parentIndex < parents.length; parentIndex++) {\r\n parents[parentIndex].offset = groupInfo.offset\r\n }\r\n }\r\n }\r\n groupsInfo.sort((a, b) => a.offset - b.offset)\r\n }\r\n findGroupInfo(path) {\r\n var groupInfo;\r\n var groupsInfo = this._groupsInfo;\r\n for (var pathIndex = 0; groupsInfo && pathIndex < path.length; pathIndex++) {\r\n groupInfo = findGroupInfoByKey(groupsInfo, path[pathIndex]);\r\n groupsInfo = groupInfo && groupInfo.children\r\n }\r\n return groupInfo && groupInfo.data\r\n }\r\n addGroupInfo(groupInfoData) {\r\n var groupInfo;\r\n var {\r\n path: path\r\n } = groupInfoData;\r\n var groupsInfo = this._groupsInfo;\r\n for (var pathIndex = 0; pathIndex < path.length; pathIndex++) {\r\n groupInfo = findGroupInfoByKey(groupsInfo, path[pathIndex]);\r\n if (!groupInfo) {\r\n groupInfo = {\r\n key: path[pathIndex],\r\n offset: groupInfoData.offset,\r\n data: {\r\n offset: groupInfoData.offset,\r\n isExpanded: true,\r\n path: path.slice(0, pathIndex + 1)\r\n },\r\n children: []\r\n };\r\n var index = getGroupInfoIndexByOffset(groupsInfo, groupInfoData.offset);\r\n groupsInfo.splice(index, 0, groupInfo);\r\n groupsInfo.hash = groupsInfo.hash || {};\r\n groupsInfo.hash[JSON.stringify(groupInfo.key)] = groupInfo\r\n }\r\n if (pathIndex === path.length - 1) {\r\n groupInfo.data = groupInfoData;\r\n if (groupInfo.offset !== groupInfoData.offset) {\r\n this._updateGroupInfoOffsets(groupsInfo)\r\n }\r\n }\r\n groupsInfo = groupInfo.children\r\n }\r\n }\r\n allowCollapseAll() {\r\n return true\r\n }\r\n refresh(options) {\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var groups = normalizeSortingInfo(storeLoadOptions.group || []);\r\n var oldGroups = \"_group\" in this ? normalizeSortingInfo(this._group || []) : groups;\r\n var groupsCount = Math.min(oldGroups.length, groups.length);\r\n this._group = storeLoadOptions.group;\r\n for (var groupIndex = 0; groupIndex < groupsCount; groupIndex++) {\r\n if (oldGroups[groupIndex].selector !== groups[groupIndex].selector) {\r\n groupsCount = groupIndex;\r\n break\r\n }\r\n }\r\n if (!groupsCount) {\r\n this.reset()\r\n } else {\r\n cleanGroupsInfo(this._groupsInfo, 0, groupsCount)\r\n }\r\n }\r\n handleDataLoading() {}\r\n handleDataLoaded(options, callBase) {\r\n callBase(options)\r\n }\r\n handleDataLoadedCore(options, callBase) {\r\n callBase(options)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/grouping/m_grouping_collapsed.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n errors as dataErrors\r\n} from \"../../../../data/errors\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport dataGridCore from \"../m_core\";\r\nimport {\r\n createGroupFilter\r\n} from \"../m_utils\";\r\nimport {\r\n createOffsetFilter,\r\n GroupingHelper as GroupingHelperCore\r\n} from \"./m_grouping_core\";\r\n\r\nfunction getContinuationGroupCount(groupOffset, pageSize, groupSize, groupIndex) {\r\n groupIndex = groupIndex || 0;\r\n if (pageSize > 1 && groupSize > 0) {\r\n var pageOffset = groupOffset - Math.floor(groupOffset / pageSize) * pageSize || pageSize;\r\n pageOffset += groupSize - groupIndex - 2;\r\n if (pageOffset < 0) {\r\n pageOffset += pageSize\r\n }\r\n return Math.floor(pageOffset / (pageSize - groupIndex - 1))\r\n }\r\n return 0\r\n}\r\nvar foreachExpandedGroups = function(that, callback, updateGroups) {\r\n return that.foreachGroups((groupInfo, parents) => {\r\n if (groupInfo.isExpanded) {\r\n return callback(groupInfo, parents)\r\n }\r\n }, true, false, updateGroups, updateGroups)\r\n};\r\nvar processGroupItems = function processGroupItems(that, items, groupsCount, expandedInfo, path, isCustomLoading, isLastGroupExpanded) {\r\n var isExpanded;\r\n expandedInfo.items = expandedInfo.items || [];\r\n expandedInfo.paths = expandedInfo.paths || [];\r\n expandedInfo.count = expandedInfo.count || 0;\r\n expandedInfo.lastCount = expandedInfo.lastCount || 0;\r\n if (!groupsCount) {\r\n return\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (void 0 !== item.items) {\r\n path.push(item.key);\r\n if (isCustomLoading) {\r\n isExpanded = true\r\n } else {\r\n var groupInfo = that.findGroupInfo(path);\r\n isExpanded = groupInfo && groupInfo.isExpanded\r\n }\r\n if (!isExpanded) {\r\n item.collapsedItems = item.items;\r\n item.items = null\r\n } else if (item.items) {\r\n processGroupItems(that, item.items, groupsCount - 1, expandedInfo, path, isCustomLoading, isLastGroupExpanded)\r\n } else if (1 === groupsCount && item.count && (!isCustomLoading || isLastGroupExpanded)) {\r\n expandedInfo.items.push(item);\r\n expandedInfo.paths.push(path.slice(0));\r\n expandedInfo.count += expandedInfo.lastCount;\r\n expandedInfo.lastCount = item.count\r\n }\r\n path.pop()\r\n }\r\n }\r\n};\r\nvar updateGroupInfoItem = function(that, item, isLastGroupLevel, path, offset) {\r\n var groupInfo = that.findGroupInfo(path);\r\n var count;\r\n if (!groupInfo) {\r\n if (isLastGroupLevel) {\r\n count = item.count > 0 ? item.count : item.items.length\r\n }\r\n that.addGroupInfo({\r\n isExpanded: that._isGroupExpanded(path.length - 1),\r\n path: path.slice(0),\r\n offset: offset,\r\n count: count || 0\r\n })\r\n } else {\r\n if (isLastGroupLevel) {\r\n groupInfo.count = item.count > 0 ? item.count : item.items && item.items.length || 0\r\n } else {\r\n item.count = groupInfo.count || item.count\r\n }\r\n groupInfo.offset = offset\r\n }\r\n};\r\nvar updateGroupInfos = function updateGroupInfos(that, options, items, loadedGroupCount, groupIndex, path, parentIndex) {\r\n var groupCount = options.group ? options.group.length : 0;\r\n var isLastGroupLevel = groupCount === loadedGroupCount;\r\n var remotePaging = options.remoteOperations.paging;\r\n var offset = 0;\r\n var totalCount = 0;\r\n var count;\r\n groupIndex = groupIndex || 0;\r\n path = path || [];\r\n if (remotePaging && !parentIndex) {\r\n offset = 0 === groupIndex ? options.skip || 0 : options.skips[groupIndex - 1] || 0\r\n }\r\n if (groupIndex >= loadedGroupCount) {\r\n return items.length\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (item) {\r\n path.push(item.key);\r\n if (!item.count && !item.items || void 0 === item.items) {\r\n return -1\r\n }\r\n updateGroupInfoItem(that, item, isLastGroupLevel, path, offset + i);\r\n count = item.items ? updateGroupInfos(that, options, item.items, loadedGroupCount, groupIndex + 1, path, i) : item.count || -1;\r\n if (count < 0) {\r\n return -1\r\n }\r\n totalCount += count;\r\n path.pop()\r\n }\r\n }\r\n return totalCount\r\n};\r\nvar isGroupExpanded = function(groups, groupIndex) {\r\n return groups && groups.length && groups[groupIndex] && !!groups[groupIndex].isExpanded\r\n};\r\nvar getTotalOffset = function(groupInfos, pageSize, offset) {\r\n var groupSize;\r\n var totalOffset = offset;\r\n for (var groupIndex = 0; groupIndex < groupInfos.length; groupIndex++) {\r\n groupSize = groupInfos[groupIndex].offset + 1;\r\n if (groupIndex > 0) {\r\n groupSize += groupInfos[groupIndex - 1].childrenTotalCount;\r\n if (pageSize) {\r\n groupSize += getContinuationGroupCount(totalOffset, pageSize, groupSize, groupIndex - 1) * groupIndex\r\n }\r\n }\r\n totalOffset += groupSize\r\n }\r\n return totalOffset\r\n};\r\n\r\nfunction applyContinuationToGroupItem(options, expandedInfo, groupLevel, expandedItemIndex) {\r\n var item = expandedInfo.items[expandedItemIndex];\r\n var skip = options.skips && options.skips[groupLevel];\r\n var take = options.takes && options.takes[groupLevel];\r\n var isLastExpandedItem = expandedItemIndex === expandedInfo.items.length - 1;\r\n var isFirstExpandedItem = 0 === expandedItemIndex;\r\n var lastExpandedItemSkip = isFirstExpandedItem && skip || 0;\r\n var isItemsTruncatedByTake = item.count > take + lastExpandedItemSkip;\r\n if (isFirstExpandedItem && void 0 !== skip) {\r\n item.isContinuation = true\r\n }\r\n if (isLastExpandedItem && void 0 !== take && isItemsTruncatedByTake) {\r\n item.isContinuationOnNextPage = true\r\n }\r\n}\r\n\r\nfunction fillSkipTakeInExpandedInfo(options, expandedInfo, currentGroupCount) {\r\n var currentGroupIndex = currentGroupCount - 1;\r\n var groupCount = options.group ? options.group.length : 0;\r\n expandedInfo.skip = options.skips && options.skips[currentGroupIndex];\r\n if (options.takes && void 0 !== options.takes[currentGroupIndex]) {\r\n if (groupCount === currentGroupCount) {\r\n expandedInfo.take = expandedInfo.count ? expandedInfo.count - (expandedInfo.skip || 0) : 0\r\n } else {\r\n expandedInfo.take = 0\r\n }\r\n expandedInfo.take += options.takes[currentGroupIndex]\r\n }\r\n}\r\n\r\nfunction isDataDeferred(data) {\r\n return !Array.isArray(data)\r\n}\r\n\r\nfunction makeDataDeferred(options) {\r\n if (!isDataDeferred(options.data)) {\r\n options.data = new Deferred\r\n }\r\n}\r\n\r\nfunction loadGroupItems(that, options, loadedGroupCount, expandedInfo, groupLevel, data) {\r\n if (!options.isCustomLoading) {\r\n expandedInfo = {};\r\n processGroupItems(that, data, loadedGroupCount, expandedInfo, []);\r\n fillSkipTakeInExpandedInfo(options, expandedInfo, loadedGroupCount)\r\n }\r\n var groupCount = options.group ? options.group.length : 0;\r\n if (expandedInfo.paths.length && groupCount - loadedGroupCount > 0) {\r\n makeDataDeferred(options);\r\n loadExpandedGroups(that, options, expandedInfo, loadedGroupCount, groupLevel, data)\r\n } else if (expandedInfo.paths.length && options.storeLoadOptions.group) {\r\n makeDataDeferred(options);\r\n loadLastLevelGroupItems(that, options, expandedInfo, data)\r\n } else if (isDataDeferred(options.data)) {\r\n options.data.resolve(data)\r\n }\r\n}\r\n\r\nfunction loadExpandedGroups(that, options, expandedInfo, loadedGroupCount, groupLevel, data) {\r\n var groups = options.group || [];\r\n var currentGroup = groups[groupLevel + 1];\r\n var deferreds = [];\r\n each(expandedInfo.paths, expandedItemIndex => {\r\n var _a;\r\n var loadOptions = {\r\n requireTotalCount: false,\r\n requireGroupCount: true,\r\n group: [currentGroup],\r\n groupSummary: options.storeLoadOptions.groupSummary,\r\n filter: createGroupFilter(expandedInfo.paths[expandedItemIndex], {\r\n filter: options.storeLoadOptions.filter,\r\n group: groups\r\n }),\r\n select: options.storeLoadOptions.select,\r\n langParams: null === (_a = options.storeLoadOptions) || void 0 === _a ? void 0 : _a.langParams\r\n };\r\n if (0 === expandedItemIndex) {\r\n loadOptions.skip = expandedInfo.skip || 0\r\n }\r\n if (expandedItemIndex === expandedInfo.paths.length - 1) {\r\n loadOptions.take = expandedInfo.take\r\n }\r\n var loadResult = 0 === loadOptions.take ? [] : that._dataSource.loadFromStore(loadOptions);\r\n when(loadResult).done(data => {\r\n var item = expandedInfo.items[expandedItemIndex];\r\n applyContinuationToGroupItem(options, expandedInfo, groupLevel, expandedItemIndex);\r\n item.items = data\r\n });\r\n deferreds.push(loadResult)\r\n });\r\n when.apply(null, deferreds).done(() => {\r\n updateGroupInfos(that, options, data, loadedGroupCount + 1);\r\n loadGroupItems(that, options, loadedGroupCount + 1, expandedInfo, groupLevel + 1, data)\r\n })\r\n}\r\n\r\nfunction loadLastLevelGroupItems(that, options, expandedInfo, data) {\r\n var expandedFilters = [];\r\n var groups = options.group || [];\r\n each(expandedInfo.paths, (_, expandedPath) => {\r\n expandedFilters.push(createGroupFilter(expandedPath, {\r\n group: options.isCustomLoading ? options.storeLoadOptions.group : groups\r\n }))\r\n });\r\n var {\r\n filter: filter\r\n } = options.storeLoadOptions;\r\n if (!options.storeLoadOptions.isLoadingAll) {\r\n filter = dataGridCore.combineFilters([filter, dataGridCore.combineFilters(expandedFilters, \"or\")])\r\n }\r\n var loadOptions = extend({}, options.storeLoadOptions, {\r\n requireTotalCount: false,\r\n requireGroupCount: false,\r\n group: null,\r\n sort: groups.concat(dataGridCore.normalizeSortingInfo(options.storeLoadOptions.sort || [])),\r\n filter: filter\r\n });\r\n var isPagingLocal = that._dataSource.isLastLevelGroupItemsPagingLocal();\r\n if (!isPagingLocal) {\r\n loadOptions.skip = expandedInfo.skip;\r\n loadOptions.take = expandedInfo.take\r\n }\r\n when(0 === expandedInfo.take ? [] : that._dataSource.loadFromStore(loadOptions)).done(items => {\r\n if (isPagingLocal) {\r\n items = that._dataSource.sortLastLevelGroupItems(items, groups, expandedInfo.paths);\r\n items = expandedInfo.skip ? items.slice(expandedInfo.skip) : items;\r\n items = expandedInfo.take ? items.slice(0, expandedInfo.take) : items\r\n }\r\n each(expandedInfo.items, (index, item) => {\r\n var itemCount = item.count - (0 === index && expandedInfo.skip || 0);\r\n var expandedItems = items.splice(0, itemCount);\r\n applyContinuationToGroupItem(options, expandedInfo, groups.length - 1, index);\r\n item.items = expandedItems\r\n });\r\n options.data.resolve(data)\r\n }).fail(options.data.reject)\r\n}\r\nvar loadGroupTotalCount = function(dataSource, options) {\r\n var d = new Deferred;\r\n var isGrouping = !!(options.group && options.group.length);\r\n var loadOptions = extend({\r\n skip: 0,\r\n take: 1,\r\n requireGroupCount: isGrouping,\r\n requireTotalCount: !isGrouping\r\n }, options, {\r\n group: isGrouping ? options.group : null\r\n });\r\n dataSource.load(loadOptions).done((data, extra) => {\r\n var count = extra && (isGrouping ? extra.groupCount : extra.totalCount);\r\n if (!isFinite(count)) {\r\n d.reject(dataErrors.Error(isGrouping ? \"E4022\" : \"E4021\"));\r\n return\r\n }\r\n d.resolve(count)\r\n }).fail(d.reject.bind(d));\r\n return d\r\n};\r\nexport class GroupingHelper extends GroupingHelperCore {\r\n updateTotalItemsCount(options) {\r\n var totalItemsCount = 0;\r\n var totalCount = options.extra && options.extra.totalCount || 0;\r\n var groupCount = options.extra && options.extra.groupCount || 0;\r\n var pageSize = this._dataSource.pageSize();\r\n var isVirtualPaging = this._isVirtualPaging();\r\n foreachExpandedGroups(this, groupInfo => {\r\n groupInfo.childrenTotalCount = 0\r\n });\r\n foreachExpandedGroups(this, (groupInfo, parents) => {\r\n var totalOffset = getTotalOffset(parents, isVirtualPaging ? 0 : pageSize, totalItemsCount);\r\n var count = groupInfo.count + groupInfo.childrenTotalCount;\r\n if (!isVirtualPaging) {\r\n count += getContinuationGroupCount(totalOffset, pageSize, count, parents.length - 1)\r\n }\r\n if (parents[parents.length - 2]) {\r\n parents[parents.length - 2].childrenTotalCount += count\r\n } else {\r\n totalItemsCount += count\r\n }\r\n });\r\n super.updateTotalItemsCount(totalItemsCount - totalCount + groupCount)\r\n }\r\n _isGroupExpanded(groupIndex) {\r\n var groups = this._dataSource.group();\r\n return isGroupExpanded(groups, groupIndex)\r\n }\r\n _updatePagingOptions(options, callback) {\r\n var isVirtualPaging = this._isVirtualPaging();\r\n var pageSize = this._dataSource.pageSize();\r\n var skips = [];\r\n var takes = [];\r\n var skipChildrenTotalCount = 0;\r\n var childrenTotalCount = 0;\r\n if (options.take) {\r\n foreachExpandedGroups(this, groupInfo => {\r\n groupInfo.childrenTotalCount = 0;\r\n groupInfo.skipChildrenTotalCount = 0\r\n });\r\n foreachExpandedGroups(this, (groupInfo, parents) => {\r\n var take;\r\n var takeCorrection = 0;\r\n var parentTakeCorrection = 0;\r\n var totalOffset = getTotalOffset(parents, isVirtualPaging ? 0 : pageSize, childrenTotalCount);\r\n var continuationGroupCount = 0;\r\n var skipContinuationGroupCount = 0;\r\n var groupInfoCount = groupInfo.count + groupInfo.childrenTotalCount;\r\n var childrenGroupInfoCount = groupInfoCount;\r\n callback && callback(groupInfo, totalOffset);\r\n var skip = options.skip - totalOffset;\r\n if (totalOffset <= options.skip + options.take && groupInfoCount) {\r\n take = options.take;\r\n if (!isVirtualPaging) {\r\n continuationGroupCount = getContinuationGroupCount(totalOffset, pageSize, groupInfoCount, parents.length - 1);\r\n groupInfoCount += continuationGroupCount * parents.length;\r\n childrenGroupInfoCount += continuationGroupCount;\r\n if (pageSize && skip >= 0) {\r\n takeCorrection = parents.length;\r\n parentTakeCorrection = parents.length - 1;\r\n skipContinuationGroupCount = Math.floor(skip / pageSize)\r\n }\r\n }\r\n if (skip >= 0) {\r\n if (totalOffset + groupInfoCount > options.skip) {\r\n skips.unshift(skip - skipContinuationGroupCount * takeCorrection - groupInfo.skipChildrenTotalCount)\r\n }\r\n if (totalOffset + groupInfoCount >= options.skip + take) {\r\n takes.unshift(take - takeCorrection - groupInfo.childrenTotalCount + groupInfo.skipChildrenTotalCount)\r\n }\r\n } else if (totalOffset + groupInfoCount >= options.skip + take) {\r\n takes.unshift(take + skip - groupInfo.childrenTotalCount)\r\n }\r\n }\r\n if (totalOffset <= options.skip) {\r\n if (parents[parents.length - 2]) {\r\n parents[parents.length - 2].skipChildrenTotalCount += Math.min(childrenGroupInfoCount, skip + 1 - skipContinuationGroupCount * parentTakeCorrection)\r\n } else {\r\n skipChildrenTotalCount += Math.min(childrenGroupInfoCount, skip + 1)\r\n }\r\n }\r\n if (totalOffset <= options.skip + take) {\r\n groupInfoCount = Math.min(childrenGroupInfoCount, skip + take - (skipContinuationGroupCount + 1) * parentTakeCorrection);\r\n if (parents[parents.length - 2]) {\r\n parents[parents.length - 2].childrenTotalCount += groupInfoCount\r\n } else {\r\n childrenTotalCount += groupInfoCount\r\n }\r\n }\r\n });\r\n options.skip -= skipChildrenTotalCount;\r\n options.take -= childrenTotalCount - skipChildrenTotalCount\r\n }\r\n options.skips = skips;\r\n options.takes = takes\r\n }\r\n changeRowExpand(path) {\r\n var groupInfo = this.findGroupInfo(path);\r\n var dataSource = this._dataSource;\r\n var remoteGroupPaging = dataSource.remoteOperations().groupPaging;\r\n var groups = dataGridCore.normalizeSortingInfo(dataSource.group());\r\n if (groupInfo) {\r\n groupInfo.isExpanded = !groupInfo.isExpanded;\r\n if (remoteGroupPaging && groupInfo.isExpanded && path.length < groups.length) {\r\n return loadGroupTotalCount(dataSource, {\r\n filter: createGroupFilter(path, {\r\n filter: dataSource.lastLoadOptions().filter,\r\n group: dataSource.group()\r\n }),\r\n group: [groups[path.length]],\r\n select: dataSource.select()\r\n }).done(groupCount => {\r\n groupInfo.count = groupCount\r\n })\r\n }\r\n return (new Deferred).resolve()\r\n }\r\n return (new Deferred).reject()\r\n }\r\n handleDataLoading(options) {\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var groups = dataGridCore.normalizeSortingInfo(storeLoadOptions.group || options.loadOptions.group);\r\n if (options.isCustomLoading || !groups.length) {\r\n return\r\n }\r\n if (options.remoteOperations.grouping) {\r\n var remotePaging = this._dataSource.remoteOperations().paging;\r\n storeLoadOptions.group = dataGridCore.normalizeSortingInfo(storeLoadOptions.group);\r\n storeLoadOptions.group.forEach((group, index) => {\r\n var isLastGroup = index === storeLoadOptions.group.length - 1;\r\n group.isExpanded = !remotePaging || !isLastGroup\r\n })\r\n }\r\n options.group = options.group || groups;\r\n if (options.remoteOperations.paging) {\r\n options.skip = storeLoadOptions.skip;\r\n options.take = storeLoadOptions.take;\r\n storeLoadOptions.requireGroupCount = true;\r\n storeLoadOptions.group = groups.slice(0, 1);\r\n this._updatePagingOptions(options);\r\n storeLoadOptions.skip = options.skip;\r\n storeLoadOptions.take = options.take\r\n } else {\r\n options.skip = options.loadOptions.skip;\r\n options.take = options.loadOptions.take;\r\n this._updatePagingOptions(options)\r\n }\r\n }\r\n handleDataLoadedCore(options, callBase) {\r\n var loadedGroupCount = dataGridCore.normalizeSortingInfo(options.storeLoadOptions.group || options.loadOptions.group).length;\r\n var groupCount = options.group ? options.group.length : 0;\r\n var totalCount;\r\n var expandedInfo = {};\r\n if (options.isCustomLoading) {\r\n callBase(options);\r\n processGroupItems(this, options.data, loadedGroupCount, expandedInfo, [], options.isCustomLoading, options.storeLoadOptions.isLoadingAll)\r\n } else {\r\n if (!options.remoteOperations.paging) {\r\n this.foreachGroups(groupInfo => {\r\n groupInfo.count = 0\r\n })\r\n }\r\n totalCount = updateGroupInfos(this, options, options.data, loadedGroupCount);\r\n if (totalCount < 0) {\r\n options.data = (new Deferred).reject(errors.Error(\"E1037\"));\r\n return\r\n }\r\n if (!options.remoteOperations.paging) {\r\n if (loadedGroupCount && options.extra && options.loadOptions.requireTotalCount) {\r\n options.extra.totalCount = totalCount;\r\n options.extra.groupCount = options.data.length\r\n }\r\n }\r\n if (groupCount && options.storeLoadOptions.requireGroupCount && !isFinite(options.extra.groupCount)) {\r\n options.data = (new Deferred).reject(dataErrors.Error(\"E4022\"));\r\n return\r\n }\r\n this.updateTotalItemsCount(options);\r\n if (!options.remoteOperations.paging) {\r\n this._updatePagingOptions(options);\r\n options.lastLoadOptions.skips = options.skips;\r\n options.lastLoadOptions.takes = options.takes\r\n }\r\n callBase(options);\r\n if (!options.remoteOperations.paging) {\r\n this._processPaging(options, loadedGroupCount)\r\n }\r\n }\r\n loadGroupItems(this, options, loadedGroupCount, expandedInfo, 0, options.data)\r\n }\r\n _processSkips(items, skips, groupCount) {\r\n if (!groupCount) {\r\n return\r\n }\r\n var firstItem = items[0];\r\n var skip = skips[0];\r\n var children = firstItem && firstItem.items;\r\n if (void 0 !== skip) {\r\n firstItem.isContinuation = true;\r\n if (children) {\r\n firstItem.items = children.slice(skip);\r\n this._processSkips(firstItem.items, skips.slice(1), groupCount - 1)\r\n }\r\n }\r\n }\r\n _processTakes(items, skips, takes, groupCount, parents) {\r\n if (!groupCount || !items) {\r\n return\r\n }\r\n parents = parents || [];\r\n var lastItem = items[items.length - 1];\r\n var children = lastItem && lastItem.items;\r\n var take = takes[0];\r\n var skip = skips[0];\r\n if (lastItem) {\r\n var maxTakeCount = lastItem.count - (lastItem.isContinuation && skip || 0) || children.length;\r\n if (void 0 !== take && maxTakeCount > take) {\r\n lastItem.isContinuationOnNextPage = true;\r\n parents.forEach(parent => {\r\n parent.isContinuationOnNextPage = true\r\n });\r\n if (children) {\r\n children = children.slice(0, take);\r\n lastItem.items = children\r\n }\r\n }\r\n parents.push(lastItem);\r\n this._processTakes(children, skips.slice(1), takes.slice(1), groupCount - 1, parents)\r\n }\r\n }\r\n _processPaging(options, groupCount) {\r\n this._processSkips(options.data, options.skips, groupCount);\r\n this._processTakes(options.data, options.skips, options.takes, groupCount)\r\n }\r\n isLastLevelGroupItemsPagingLocal() {\r\n return false\r\n }\r\n sortLastLevelGroupItems(items) {\r\n return items\r\n }\r\n refresh(options, operationTypes) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var group = options.group || options.storeLoadOptions.group;\r\n var oldGroups = dataGridCore.normalizeSortingInfo(that._group);\r\n var isExpanded;\r\n var groupIndex;\r\n\r\n function handleGroup(groupInfo, parents) {\r\n if (parents.length === groupIndex + 1) {\r\n groupInfo.isExpanded = isExpanded\r\n }\r\n }\r\n for (groupIndex = 0; groupIndex < oldGroups.length; groupIndex++) {\r\n isExpanded = isGroupExpanded(group, groupIndex);\r\n if (isGroupExpanded(that._group, groupIndex) !== isExpanded) {\r\n that.foreachGroups(handleGroup)\r\n }\r\n }\r\n super.refresh.apply(this, arguments);\r\n if (group && options.remoteOperations.paging && operationTypes.reload) {\r\n return foreachExpandedGroups(that, groupInfo => {\r\n var groupCountQuery = loadGroupTotalCount(dataSource, {\r\n filter: createGroupFilter(groupInfo.path, {\r\n filter: storeLoadOptions.filter,\r\n group: group\r\n }),\r\n group: group.slice(groupInfo.path.length),\r\n select: storeLoadOptions.select\r\n });\r\n var groupOffsetQuery = loadGroupTotalCount(dataSource, {\r\n filter: createOffsetFilter(groupInfo.path, {\r\n filter: storeLoadOptions.filter,\r\n group: group\r\n }, true),\r\n group: group.slice(groupInfo.path.length - 1, groupInfo.path.length),\r\n select: storeLoadOptions.select\r\n });\r\n return when(groupOffsetQuery, groupCountQuery).done((offset, count) => {\r\n offset = parseInt(offset.length ? offset[0] : offset);\r\n count = parseInt(count.length ? count[0] : count);\r\n groupInfo.offset = offset;\r\n if (groupInfo.count !== count) {\r\n groupInfo.count = count;\r\n that.updateTotalItemsCount(options)\r\n }\r\n })\r\n }, true)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/grouping/m_grouping_expanded.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n toComparable\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport dataQuery from \"../../../../data/query\";\r\nimport storeHelper from \"../../../../data/store_helper\";\r\nimport {\r\n keysEqual\r\n} from \"../../../../data/utils\";\r\nimport dataGridCore from \"../m_core\";\r\nimport {\r\n createGroupFilter\r\n} from \"../m_utils\";\r\nimport {\r\n createOffsetFilter,\r\n GroupingHelper as GroupingHelperCore\r\n} from \"./m_grouping_core\";\r\nvar loadTotalCount = function(dataSource, options) {\r\n var d = new Deferred;\r\n var loadOptions = extend({\r\n skip: 0,\r\n take: 1,\r\n requireTotalCount: true\r\n }, options);\r\n dataSource.load(loadOptions).done((data, extra) => {\r\n d.resolve(extra && extra.totalCount)\r\n }).fail(d.reject.bind(d));\r\n return d\r\n};\r\nvar foreachCollapsedGroups = function(that, callback, updateOffsets) {\r\n return that.foreachGroups(groupInfo => {\r\n if (!groupInfo.isExpanded) {\r\n return callback(groupInfo)\r\n }\r\n }, false, false, updateOffsets, true)\r\n};\r\nvar correctSkipLoadOption = function(that, skip) {\r\n var skipCorrection = 0;\r\n var resultSkip = skip || 0;\r\n if (skip) {\r\n foreachCollapsedGroups(that, groupInfo => {\r\n if (groupInfo.offset - skipCorrection >= skip) {\r\n return false\r\n }\r\n skipCorrection += groupInfo.count - 1\r\n });\r\n resultSkip += skipCorrection\r\n }\r\n return resultSkip\r\n};\r\nvar processGroupItems = function processGroupItems(that, items, path, offset, skipFirstItem, take) {\r\n var removeLastItemsCount = 0;\r\n var needRemoveFirstItem = false;\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (void 0 !== item.items) {\r\n path.push(item.key);\r\n var groupInfo = that.findGroupInfo(path);\r\n if (groupInfo && !groupInfo.isExpanded) {\r\n item.collapsedItems = item.items;\r\n item.items = null;\r\n offset += groupInfo.count;\r\n take--;\r\n if (take < 0) {\r\n removeLastItemsCount++\r\n }\r\n if (skipFirstItem) {\r\n needRemoveFirstItem = true\r\n }\r\n } else if (item.items) {\r\n var offsetInfo = processGroupItems(that, item.items, path, offset, skipFirstItem, take);\r\n if (skipFirstItem) {\r\n if (offsetInfo.offset - offset > 1) {\r\n item.isContinuation = true\r\n } else {\r\n needRemoveFirstItem = true\r\n }\r\n }\r\n offset = offsetInfo.offset;\r\n take = offsetInfo.take;\r\n if (take < 0) {\r\n if (item.items.length) {\r\n item.isContinuationOnNextPage = true\r\n } else {\r\n removeLastItemsCount++\r\n }\r\n }\r\n }\r\n path.pop()\r\n } else {\r\n if (skipFirstItem) {\r\n needRemoveFirstItem = true\r\n }\r\n offset++;\r\n take--;\r\n if (take < 0) {\r\n removeLastItemsCount++\r\n }\r\n }\r\n skipFirstItem = false\r\n }\r\n if (needRemoveFirstItem) {\r\n items.splice(0, 1)\r\n }\r\n if (removeLastItemsCount) {\r\n items.splice(-removeLastItemsCount, removeLastItemsCount)\r\n }\r\n return {\r\n offset: offset,\r\n take: take\r\n }\r\n};\r\nvar pathEquals = function(path1, path2) {\r\n if (path1.length !== path2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < path1.length; i++) {\r\n if (!keysEqual(null, path1[i], path2[i])) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nvar updateGroupOffsets = function updateGroupOffsets(that, items, path, offset, additionalGroupInfo) {\r\n if (!items) {\r\n return\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (\"key\" in item && void 0 !== item.items) {\r\n path.push(item.key);\r\n if (additionalGroupInfo && pathEquals(additionalGroupInfo.path, path) && !item.isContinuation) {\r\n additionalGroupInfo.offset = offset\r\n }\r\n var groupInfo = that.findGroupInfo(path);\r\n if (groupInfo && !item.isContinuation) {\r\n groupInfo.offset = offset\r\n }\r\n if (groupInfo && !groupInfo.isExpanded) {\r\n offset += groupInfo.count\r\n } else {\r\n offset = updateGroupOffsets(that, item.items, path, offset, additionalGroupInfo)\r\n }\r\n path.pop()\r\n } else {\r\n offset++\r\n }\r\n }\r\n return offset\r\n};\r\nvar removeGroupLoadOption = function(storeLoadOptions, loadOptions) {\r\n if (loadOptions.group) {\r\n var groups = dataGridCore.normalizeSortingInfo(loadOptions.group);\r\n var sorts = dataGridCore.normalizeSortingInfo(storeLoadOptions.sort);\r\n storeLoadOptions.sort = storeHelper.arrangeSortingInfo(groups, sorts);\r\n delete loadOptions.group\r\n }\r\n};\r\nvar createNotGroupFilter = function(path, storeLoadOptions, group) {\r\n var groups = dataGridCore.normalizeSortingInfo(group || storeLoadOptions.group);\r\n var filter = [];\r\n for (var i = 0; i < path.length; i++) {\r\n var filterElement = [];\r\n for (var j = 0; j <= i; j++) {\r\n filterElement.push([groups[j].selector, i === j ? \"<>\" : \"=\", path[j]])\r\n }\r\n filter.push(dataGridCore.combineFilters(filterElement))\r\n }\r\n filter = dataGridCore.combineFilters(filter, \"or\");\r\n return dataGridCore.combineFilters([filter, storeLoadOptions.filter])\r\n};\r\nvar getGroupCount = function getGroupCount(item, groupCount) {\r\n var count = item.count || item.items.length;\r\n if (!item.count && groupCount > 1) {\r\n count = 0;\r\n for (var i = 0; i < item.items.length; i++) {\r\n count += getGroupCount(item.items[i], groupCount - 1)\r\n }\r\n }\r\n return count\r\n};\r\nexport class GroupingHelper extends GroupingHelperCore {\r\n handleDataLoading(options) {\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var collapsedGroups = [];\r\n var collapsedItemsCount = 0;\r\n var skipFirstItem = false;\r\n var take;\r\n var {\r\n group: group\r\n } = options.loadOptions;\r\n var skipCorrection = 0;\r\n removeGroupLoadOption(storeLoadOptions, options.loadOptions);\r\n options.group = options.group || group;\r\n if (options.isCustomLoading) {\r\n return\r\n }\r\n var loadOptions = extend({}, storeLoadOptions);\r\n loadOptions.skip = correctSkipLoadOption(this, storeLoadOptions.skip);\r\n if (loadOptions.skip && loadOptions.take && group) {\r\n loadOptions.skip--;\r\n loadOptions.take++;\r\n skipFirstItem = true\r\n }\r\n if (loadOptions.take && group) {\r\n take = loadOptions.take;\r\n loadOptions.take++\r\n }\r\n foreachCollapsedGroups(this, groupInfo => {\r\n if (groupInfo.offset >= loadOptions.skip + loadOptions.take + skipCorrection) {\r\n return false\r\n }\r\n if (groupInfo.offset >= loadOptions.skip + skipCorrection && groupInfo.count) {\r\n skipCorrection += groupInfo.count - 1;\r\n collapsedGroups.push(groupInfo);\r\n collapsedItemsCount += groupInfo.count\r\n }\r\n });\r\n each(collapsedGroups, (function() {\r\n loadOptions.filter = createNotGroupFilter(this.path, loadOptions, group)\r\n }));\r\n options.storeLoadOptions = loadOptions;\r\n options.collapsedGroups = collapsedGroups;\r\n options.collapsedItemsCount = collapsedItemsCount;\r\n options.skip = loadOptions.skip || 0;\r\n options.skipFirstItem = skipFirstItem;\r\n options.take = take\r\n }\r\n handleDataLoaded(options, callBase) {\r\n var {\r\n collapsedGroups: collapsedGroups\r\n } = options;\r\n var groups = dataGridCore.normalizeSortingInfo(options.group);\r\n var groupCount = groups.length;\r\n\r\n function appendCollapsedPath(data, path, groups, collapsedGroup, offset) {\r\n if (!data || !path.length || !groups.length) {\r\n return\r\n }\r\n var keyValue;\r\n var i;\r\n var pathValue = toComparable(path[0], true);\r\n for (i = 0; i < data.length; i++) {\r\n keyValue = toComparable(data[i].key, true);\r\n if (offset >= collapsedGroup.offset || pathValue === keyValue) {\r\n break\r\n } else {\r\n offset += getGroupCount(data[i], groups.length)\r\n }\r\n }\r\n if (!data.length || pathValue !== keyValue) {\r\n data.splice(i, 0, {\r\n key: path[0],\r\n items: [],\r\n count: 1 === path.length ? collapsedGroup.count : void 0\r\n })\r\n }\r\n appendCollapsedPath(data[i].items, path.slice(1), groups.slice(1), collapsedGroup, offset)\r\n }\r\n if (options.collapsedItemsCount && options.extra && options.extra.totalCount >= 0) {\r\n if (!options.extra._totalCountWasIncreasedByCollapsedItems) {\r\n options.extra.totalCount += options.collapsedItemsCount;\r\n options.extra._totalCountWasIncreasedByCollapsedItems = true\r\n }\r\n }\r\n callBase(options);\r\n if (groupCount) {\r\n var {\r\n data: data\r\n } = options;\r\n var query = dataQuery(data);\r\n storeHelper.multiLevelGroup(query, groups).enumerate().done(groupedData => {\r\n data = groupedData\r\n });\r\n if (collapsedGroups) {\r\n for (var pathIndex = 0; pathIndex < collapsedGroups.length; pathIndex++) {\r\n appendCollapsedPath(data, collapsedGroups[pathIndex].path, groups, collapsedGroups[pathIndex], options.skip)\r\n }\r\n }\r\n if (!options.isCustomLoading) {\r\n processGroupItems(this, data, [], options.skip, options.skipFirstItem, options.take)\r\n }\r\n options.data = data\r\n }\r\n }\r\n isGroupItemCountable(item) {\r\n return null === item.items\r\n }\r\n updateTotalItemsCount() {\r\n var itemsCountCorrection = 0;\r\n foreachCollapsedGroups(this, groupInfo => {\r\n if (groupInfo.count) {\r\n itemsCountCorrection -= groupInfo.count - 1\r\n }\r\n });\r\n super.updateTotalItemsCount(itemsCountCorrection)\r\n }\r\n changeRowExpand(path) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var beginPageIndex = dataSource.beginPageIndex ? dataSource.beginPageIndex() : dataSource.pageIndex();\r\n var dataSourceItems = dataSource.items();\r\n var offset = correctSkipLoadOption(that, beginPageIndex * dataSource.pageSize());\r\n var groupInfo = that.findGroupInfo(path);\r\n var groupCountQuery;\r\n if (groupInfo && !groupInfo.isExpanded) {\r\n groupCountQuery = (new Deferred).resolve(groupInfo.count)\r\n } else {\r\n groupCountQuery = loadTotalCount(dataSource, {\r\n filter: createGroupFilter(path, {\r\n filter: dataSource.filter(),\r\n group: dataSource.group()\r\n })\r\n })\r\n }\r\n return when(groupCountQuery).done(count => {\r\n count = parseInt(count.length ? count[0] : count);\r\n if (groupInfo) {\r\n updateGroupOffsets(that, dataSourceItems, [], offset);\r\n groupInfo.isExpanded = !groupInfo.isExpanded;\r\n groupInfo.count = count\r\n } else {\r\n groupInfo = {\r\n offset: -1,\r\n count: count,\r\n path: path,\r\n isExpanded: false\r\n };\r\n updateGroupOffsets(that, dataSourceItems, [], offset, groupInfo);\r\n if (groupInfo.offset >= 0) {\r\n that.addGroupInfo(groupInfo)\r\n }\r\n }\r\n that.updateTotalItemsCount()\r\n }).fail((function() {\r\n dataSource._eventsStrategy.fireEvent(\"loadError\", arguments)\r\n }))\r\n }\r\n allowCollapseAll() {\r\n return false\r\n }\r\n refresh(options, operationTypes) {\r\n var that = this;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var dataSource = that._dataSource;\r\n super.refresh.apply(this, arguments);\r\n if (operationTypes.reload) {\r\n return foreachCollapsedGroups(that, groupInfo => {\r\n var groupCountQuery = loadTotalCount(dataSource, {\r\n filter: createGroupFilter(groupInfo.path, storeLoadOptions)\r\n });\r\n var groupOffsetQuery = loadTotalCount(dataSource, {\r\n filter: createOffsetFilter(groupInfo.path, storeLoadOptions)\r\n });\r\n return when(groupOffsetQuery, groupCountQuery).done((offset, count) => {\r\n offset = parseInt(offset.length ? offset[0] : offset);\r\n count = parseInt(count.length ? count[0] : count);\r\n groupInfo.offset = offset;\r\n if (groupInfo.count !== count) {\r\n groupInfo.count = count;\r\n that.updateTotalItemsCount()\r\n }\r\n })\r\n }, true)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/grouping/m_grouping.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../../../core/devices\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getHeight\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n restoreFocus,\r\n setTabIndex\r\n} from \"../../../../ui/shared/accessibility\";\r\nimport {\r\n registerKeyboardAction\r\n} from \"../../../grids/grid_core/m_accessibility\";\r\nimport gridCore from \"../m_core\";\r\nimport dataSourceAdapterProvider from \"../m_data_source_adapter\";\r\nimport {\r\n GroupingHelper as CollapsedGroupingHelper\r\n} from \"./m_grouping_collapsed\";\r\nimport {\r\n GroupingHelper as ExpandedGroupingHelper\r\n} from \"./m_grouping_expanded\";\r\nvar DATAGRID_GROUP_PANEL_CLASS = \"dx-datagrid-group-panel\";\r\nvar DATAGRID_GROUP_PANEL_MESSAGE_CLASS = \"dx-group-panel-message\";\r\nvar DATAGRID_GROUP_PANEL_ITEM_CLASS = \"dx-group-panel-item\";\r\nvar DATAGRID_GROUP_PANEL_LABEL_CLASS = \"dx-toolbar-label\";\r\nvar DATAGRID_GROUP_PANEL_CONTAINER_CLASS = \"dx-toolbar-item\";\r\nvar DATAGRID_EXPAND_CLASS = \"dx-datagrid-expand\";\r\nvar DATAGRID_GROUP_ROW_CLASS = \"dx-group-row\";\r\nvar HEADER_FILTER_CLASS_SELECTOR = \".dx-header-filter\";\r\nvar dataSourceAdapterExtender = Base => class extends Base {\r\n init() {\r\n super.init.apply(this, arguments);\r\n this._initGroupingHelper()\r\n }\r\n _initGroupingHelper(options) {\r\n var grouping = this._grouping;\r\n var isAutoExpandAll = this.option(\"grouping.autoExpandAll\");\r\n var isFocusedRowEnabled = this.option(\"focusedRowEnabled\");\r\n var remoteOperations = options ? options.remoteOperations : this.remoteOperations();\r\n var isODataRemoteOperations = remoteOperations.filtering && remoteOperations.sorting && remoteOperations.paging;\r\n if (isODataRemoteOperations && !remoteOperations.grouping && (isAutoExpandAll || !isFocusedRowEnabled)) {\r\n if (!grouping || grouping instanceof CollapsedGroupingHelper) {\r\n this._grouping = new ExpandedGroupingHelper(this)\r\n }\r\n } else if (!grouping || grouping instanceof ExpandedGroupingHelper) {\r\n this._grouping = new CollapsedGroupingHelper(this)\r\n }\r\n }\r\n totalItemsCount() {\r\n var totalCount = super.totalItemsCount();\r\n return totalCount > 0 && this._dataSource.group() && this._dataSource.requireTotalCount() ? totalCount + this._grouping.totalCountCorrection() : totalCount\r\n }\r\n itemsCount() {\r\n return this._dataSource.group() ? this._grouping.itemsCount() || 0 : super.itemsCount.apply(this, arguments)\r\n }\r\n allowCollapseAll() {\r\n return this._grouping.allowCollapseAll()\r\n }\r\n isGroupItemCountable(item) {\r\n return this._grouping.isGroupItemCountable(item)\r\n }\r\n isRowExpanded(key) {\r\n var groupInfo = this._grouping.findGroupInfo(key);\r\n return groupInfo ? groupInfo.isExpanded : !this._grouping.allowCollapseAll()\r\n }\r\n collapseAll(groupIndex) {\r\n return this._collapseExpandAll(groupIndex, false)\r\n }\r\n expandAll(groupIndex) {\r\n return this._collapseExpandAll(groupIndex, true)\r\n }\r\n _collapseExpandAll(groupIndex, isExpand) {\r\n var dataSource = this._dataSource;\r\n var group = dataSource.group();\r\n var groups = gridCore.normalizeSortingInfo(group || []);\r\n if (groups.length) {\r\n for (var i = 0; i < groups.length; i++) {\r\n if (void 0 === groupIndex || groupIndex === i) {\r\n groups[i].isExpanded = isExpand\r\n } else if (group && group[i]) {\r\n groups[i].isExpanded = group[i].isExpanded\r\n }\r\n }\r\n dataSource.group(groups);\r\n this._grouping.foreachGroups((groupInfo, parents) => {\r\n if (void 0 === groupIndex || groupIndex === parents.length - 1) {\r\n groupInfo.isExpanded = isExpand\r\n }\r\n }, false, true);\r\n this.resetPagesCache()\r\n }\r\n return true\r\n }\r\n refresh() {\r\n super.refresh.apply(this, arguments);\r\n return this._grouping.refresh.apply(this._grouping, arguments)\r\n }\r\n changeRowExpand(path) {\r\n var dataSource = this._dataSource;\r\n if (dataSource.group()) {\r\n dataSource.beginLoading();\r\n if (this._lastLoadOptions) {\r\n this._lastLoadOptions.groupExpand = true\r\n }\r\n return this._changeRowExpandCore(path).always(() => {\r\n dataSource.endLoading()\r\n })\r\n }\r\n }\r\n _changeRowExpandCore(path) {\r\n return this._grouping.changeRowExpand(path)\r\n }\r\n _hasGroupLevelsExpandState(group, isExpanded) {\r\n if (group && Array.isArray(group)) {\r\n for (var i = 0; i < group.length; i++) {\r\n if (group[i].isExpanded === isExpanded) {\r\n return true\r\n }\r\n }\r\n }\r\n }\r\n _customizeRemoteOperations(options, operationTypes) {\r\n var {\r\n remoteOperations: remoteOperations\r\n } = options;\r\n if (options.storeLoadOptions.group) {\r\n if (remoteOperations.grouping && !options.isCustomLoading) {\r\n if (!remoteOperations.groupPaging || this._hasGroupLevelsExpandState(options.storeLoadOptions.group, true)) {\r\n remoteOperations.paging = false\r\n }\r\n }\r\n if (!remoteOperations.grouping && (!remoteOperations.sorting || !remoteOperations.filtering || options.isCustomLoading || this._hasGroupLevelsExpandState(options.storeLoadOptions.group, false))) {\r\n remoteOperations.paging = false\r\n }\r\n } else if (!options.isCustomLoading && remoteOperations.paging && operationTypes.grouping) {\r\n this.resetCache()\r\n }\r\n super._customizeRemoteOperations.apply(this, arguments)\r\n }\r\n _handleDataLoading(options) {\r\n super._handleDataLoading(options);\r\n this._initGroupingHelper(options);\r\n return this._grouping.handleDataLoading(options)\r\n }\r\n _handleDataLoaded(options) {\r\n return this._grouping.handleDataLoaded(options, super._handleDataLoaded.bind(this))\r\n }\r\n _handleDataLoadedCore(options) {\r\n return this._grouping.handleDataLoadedCore(options, super._handleDataLoadedCore.bind(this))\r\n }\r\n};\r\ndataSourceAdapterProvider.extend(dataSourceAdapterExtender);\r\nvar GroupingDataControllerExtender = Base => class extends Base {\r\n init() {\r\n super.init();\r\n this.createAction(\"onRowExpanding\");\r\n this.createAction(\"onRowExpanded\");\r\n this.createAction(\"onRowCollapsing\");\r\n this.createAction(\"onRowCollapsed\")\r\n }\r\n _beforeProcessItems(items) {\r\n var groupColumns = this._columnsController.getGroupColumns();\r\n items = super._beforeProcessItems(items);\r\n if (items.length && groupColumns.length) {\r\n items = this._processGroupItems(items, groupColumns.length)\r\n }\r\n return items\r\n }\r\n _processItem(item, options) {\r\n if (isDefined(item.groupIndex) && isString(item.rowType) && 0 === item.rowType.indexOf(\"group\")) {\r\n item = this._processGroupItem(item, options);\r\n options.dataIndex = 0\r\n } else {\r\n item = super._processItem.apply(this, arguments)\r\n }\r\n return item\r\n }\r\n _processGroupItem(item, options) {\r\n return item\r\n }\r\n _processGroupItems(items, groupsCount, options) {\r\n var groupedColumns = this._columnsController.getGroupColumns();\r\n var column = groupedColumns[groupedColumns.length - groupsCount];\r\n if (!options) {\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n options = {\r\n collectContinuationItems: \"virtual\" !== scrollingMode && \"infinite\" !== scrollingMode,\r\n resultItems: [],\r\n path: [],\r\n values: []\r\n }\r\n }\r\n var {\r\n resultItems: resultItems\r\n } = options;\r\n if (options.data) {\r\n if (options.collectContinuationItems || !options.data.isContinuation) {\r\n resultItems.push({\r\n rowType: \"group\",\r\n data: options.data,\r\n groupIndex: options.path.length - 1,\r\n isExpanded: !!options.data.items,\r\n key: options.path.slice(0),\r\n values: options.values.slice(0)\r\n })\r\n }\r\n }\r\n if (items) {\r\n if (0 === groupsCount) {\r\n resultItems.push.apply(resultItems, items)\r\n } else {\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (item && \"items\" in item) {\r\n options.data = item;\r\n options.path.push(item.key);\r\n options.values.push(column && column.deserializeValue && !column.calculateDisplayValue ? column.deserializeValue(item.key) : item.key);\r\n this._processGroupItems(item.items, groupsCount - 1, options);\r\n options.data = void 0;\r\n options.path.pop();\r\n options.values.pop()\r\n } else {\r\n resultItems.push(item)\r\n }\r\n }\r\n }\r\n }\r\n return resultItems\r\n }\r\n publicMethods() {\r\n return super.publicMethods().concat([\"collapseAll\", \"expandAll\", \"isRowExpanded\", \"expandRow\", \"collapseRow\"])\r\n }\r\n collapseAll(groupIndex) {\r\n var dataSource = this._dataSource;\r\n if (dataSource && dataSource.collapseAll(groupIndex)) {\r\n dataSource.pageIndex(0);\r\n dataSource.reload()\r\n }\r\n }\r\n expandAll(groupIndex) {\r\n var dataSource = this._dataSource;\r\n if (dataSource && dataSource.expandAll(groupIndex)) {\r\n dataSource.pageIndex(0);\r\n dataSource.reload()\r\n }\r\n }\r\n changeRowExpand(key) {\r\n var that = this;\r\n var expanded = that.isRowExpanded(key);\r\n var args = {\r\n key: key,\r\n expanded: expanded\r\n };\r\n that.executeAction(expanded ? \"onRowCollapsing\" : \"onRowExpanding\", args);\r\n if (!args.cancel) {\r\n return when(that._changeRowExpandCore(key)).done(() => {\r\n args.expanded = !expanded;\r\n that.executeAction(expanded ? \"onRowCollapsed\" : \"onRowExpanded\", args)\r\n })\r\n }\r\n return (new Deferred).resolve()\r\n }\r\n _changeRowExpandCore(key) {\r\n var that = this;\r\n var dataSource = this._dataSource;\r\n var d = new Deferred;\r\n if (!dataSource) {\r\n d.resolve()\r\n } else {\r\n when(dataSource.changeRowExpand(key)).done(() => {\r\n that.load().done(d.resolve).fail(d.reject)\r\n }).fail(d.reject)\r\n }\r\n return d\r\n }\r\n isRowExpanded(key) {\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.isRowExpanded(key)\r\n }\r\n expandRow(key) {\r\n if (!this.isRowExpanded(key)) {\r\n return this.changeRowExpand(key)\r\n }\r\n return (new Deferred).resolve()\r\n }\r\n collapseRow(key) {\r\n if (this.isRowExpanded(key)) {\r\n return this.changeRowExpand(key)\r\n }\r\n return (new Deferred).resolve()\r\n }\r\n optionChanged(args) {\r\n if (\"grouping\" === args.name) {\r\n args.name = \"dataSource\"\r\n }\r\n super.optionChanged(args)\r\n }\r\n};\r\nvar onGroupingMenuItemClick = function(column, params) {\r\n var columnsController = this._columnsController;\r\n switch (params.itemData.value) {\r\n case \"group\":\r\n var groups = columnsController._dataSource.group() || [];\r\n columnsController.columnOption(column.dataField, \"groupIndex\", groups.length);\r\n break;\r\n case \"ungroup\":\r\n columnsController.columnOption(column.dataField, \"groupIndex\", -1);\r\n break;\r\n case \"ungroupAll\":\r\n this.component.clearGrouping()\r\n }\r\n};\r\nvar isGroupPanelVisible = groupPanelOptions => {\r\n var visible = null === groupPanelOptions || void 0 === groupPanelOptions ? void 0 : groupPanelOptions.visible;\r\n return \"auto\" === visible ? \"desktop\" === devices.current().deviceType : !!visible\r\n};\r\nvar allowDragging = (groupPanelOptions, column) => {\r\n var isVisible = isGroupPanelVisible(groupPanelOptions);\r\n var canDrag = (null === groupPanelOptions || void 0 === groupPanelOptions ? void 0 : groupPanelOptions.allowColumnDragging) && column.allowGrouping;\r\n return isVisible && !!canDrag\r\n};\r\nexport var GroupingHeaderPanelExtender = Base => class extends Base {\r\n _getToolbarItems() {\r\n var items = super._getToolbarItems();\r\n return this._appendGroupingItem(items)\r\n }\r\n _appendGroupingItem(items) {\r\n if (this._isGroupPanelVisible()) {\r\n var isRendered = false;\r\n var toolbarItem = {\r\n template: () => {\r\n var $groupPanel = $(\"<div>\").addClass(DATAGRID_GROUP_PANEL_CLASS);\r\n this._updateGroupPanelContent($groupPanel);\r\n registerKeyboardAction(\"groupPanel\", this, $groupPanel, void 0, this._handleActionKeyDown.bind(this));\r\n return $groupPanel\r\n },\r\n name: \"groupPanel\",\r\n onItemRendered: () => {\r\n isRendered && this.renderCompleted.fire();\r\n isRendered = true\r\n },\r\n location: \"before\",\r\n locateInMenu: \"never\",\r\n sortIndex: 1\r\n };\r\n items.push(toolbarItem);\r\n this.updateToolbarDimensions()\r\n }\r\n return items\r\n }\r\n _handleActionKeyDown(args) {\r\n var {\r\n event: event\r\n } = args;\r\n var $target = $(event.target);\r\n var groupColumnIndex = $target.closest(\".\".concat(DATAGRID_GROUP_PANEL_ITEM_CLASS)).index();\r\n var column = this._columnsController.getGroupColumns()[groupColumnIndex];\r\n var columnIndex = column && column.index;\r\n if ($target.is(HEADER_FILTER_CLASS_SELECTOR)) {\r\n this._headerFilterController.showHeaderFilterMenu(columnIndex, true)\r\n } else {\r\n this._processGroupItemAction(columnIndex)\r\n }\r\n event.preventDefault()\r\n }\r\n _isGroupPanelVisible() {\r\n return isGroupPanelVisible(this.option(\"groupPanel\"))\r\n }\r\n _renderGroupPanelItems($groupPanel, groupColumns) {\r\n var that = this;\r\n $groupPanel.empty();\r\n each(groupColumns, (index, groupColumn) => {\r\n that._createGroupPanelItem($groupPanel, groupColumn)\r\n });\r\n restoreFocus(this)\r\n }\r\n _createGroupPanelItem($rootElement, groupColumn) {\r\n var $groupPanelItem = $(\"<div>\").addClass(groupColumn.cssClass).addClass(DATAGRID_GROUP_PANEL_ITEM_CLASS).data(\"columnData\", groupColumn).appendTo($rootElement).text(groupColumn.caption);\r\n setTabIndex(this, $groupPanelItem);\r\n return $groupPanelItem\r\n }\r\n _columnOptionChanged(e) {\r\n if (!this._requireReady && !gridCore.checkChanges(e.optionNames, [\"width\", \"visibleWidth\"])) {\r\n var $toolbarElement = this.element();\r\n var $groupPanel = $toolbarElement && $toolbarElement.find(\".\".concat(DATAGRID_GROUP_PANEL_CLASS));\r\n if ($groupPanel && $groupPanel.length) {\r\n this._updateGroupPanelContent($groupPanel);\r\n this.updateToolbarDimensions();\r\n this.renderCompleted.fire()\r\n }\r\n }\r\n super._columnOptionChanged()\r\n }\r\n _updateGroupPanelContent($groupPanel) {\r\n var groupColumns = this.getColumns();\r\n var groupPanelOptions = this.option(\"groupPanel\");\r\n this._renderGroupPanelItems($groupPanel, groupColumns);\r\n if (groupPanelOptions.allowColumnDragging && !groupColumns.length) {\r\n $(\"<div>\").addClass(DATAGRID_GROUP_PANEL_MESSAGE_CLASS).text(groupPanelOptions.emptyPanelText).appendTo($groupPanel);\r\n $groupPanel.closest(\".\".concat(DATAGRID_GROUP_PANEL_CONTAINER_CLASS)).addClass(DATAGRID_GROUP_PANEL_LABEL_CLASS);\r\n $groupPanel.closest(\".\".concat(DATAGRID_GROUP_PANEL_LABEL_CLASS)).css(\"maxWidth\", \"none\")\r\n }\r\n }\r\n allowDragging(column) {\r\n var groupPanelOptions = this.option(\"groupPanel\");\r\n return allowDragging(groupPanelOptions, column)\r\n }\r\n getColumnElements() {\r\n var $element = this.element();\r\n return $element && $element.find(\".\".concat(DATAGRID_GROUP_PANEL_ITEM_CLASS))\r\n }\r\n getColumns() {\r\n return this._columnsController.getGroupColumns()\r\n }\r\n getBoundingRect() {\r\n var $element = this.element();\r\n if ($element && $element.find(\".\".concat(DATAGRID_GROUP_PANEL_CLASS)).length) {\r\n var offset = $element.offset();\r\n return {\r\n top: offset.top,\r\n bottom: offset.top + getHeight($element)\r\n }\r\n }\r\n return null\r\n }\r\n getName() {\r\n return \"group\"\r\n }\r\n getContextMenuItems(options) {\r\n var contextMenuEnabled = this.option(\"grouping.contextMenuEnabled\");\r\n var $groupedColumnElement = $(options.targetElement).closest(\".\".concat(DATAGRID_GROUP_PANEL_ITEM_CLASS));\r\n var items;\r\n if ($groupedColumnElement.length) {\r\n options.column = $groupedColumnElement.data(\"columnData\")\r\n }\r\n if (contextMenuEnabled && options.column) {\r\n var {\r\n column: column\r\n } = options;\r\n var isGroupingAllowed = isDefined(column.allowGrouping) ? column.allowGrouping : true;\r\n if (isGroupingAllowed) {\r\n var isColumnGrouped = isDefined(column.groupIndex) && column.groupIndex > -1;\r\n var groupingTexts = this.option(\"grouping.texts\");\r\n var onItemClick = onGroupingMenuItemClick.bind(this, column);\r\n items = [{\r\n text: groupingTexts.ungroup,\r\n value: \"ungroup\",\r\n disabled: !isColumnGrouped,\r\n onItemClick: onItemClick\r\n }, {\r\n text: groupingTexts.ungroupAll,\r\n value: \"ungroupAll\",\r\n onItemClick: onItemClick\r\n }]\r\n }\r\n }\r\n return items\r\n }\r\n isVisible() {\r\n return super.isVisible() || this._isGroupPanelVisible()\r\n }\r\n hasGroupedColumns() {\r\n return this._isGroupPanelVisible() && !!this.getColumns().length\r\n }\r\n optionChanged(args) {\r\n if (\"groupPanel\" === args.name) {\r\n this._invalidate();\r\n args.handled = true\r\n } else {\r\n super.optionChanged(args)\r\n }\r\n }\r\n};\r\nvar GroupingRowsViewExtender = Base => class extends Base {\r\n getContextMenuItems(options) {\r\n var contextMenuEnabled = this.option(\"grouping.contextMenuEnabled\");\r\n var items;\r\n if (contextMenuEnabled && options.row && \"group\" === options.row.rowType) {\r\n var columnsController = this._columnsController;\r\n var column = columnsController.columnOption(\"groupIndex:\".concat(options.row.groupIndex));\r\n if (column && column.allowGrouping) {\r\n var groupingTexts = this.option(\"grouping.texts\");\r\n var onItemClick = onGroupingMenuItemClick.bind(this, column);\r\n items = [];\r\n items.push({\r\n text: groupingTexts.ungroup,\r\n value: \"ungroup\",\r\n onItemClick: onItemClick\r\n }, {\r\n text: groupingTexts.ungroupAll,\r\n value: \"ungroupAll\",\r\n onItemClick: onItemClick\r\n })\r\n }\r\n }\r\n return items\r\n }\r\n _rowClick(e) {\r\n var expandMode = this.option(\"grouping.expandMode\");\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n var isGroupRowStateChanged = \"infinite\" !== scrollingMode && \"rowClick\" === expandMode && $(e.event.target).closest(\".\".concat(DATAGRID_GROUP_ROW_CLASS)).length;\r\n var isExpandButtonClicked = $(e.event.target).closest(\".\".concat(DATAGRID_EXPAND_CLASS)).length;\r\n if (isGroupRowStateChanged || isExpandButtonClicked) {\r\n this._changeGroupRowState(e)\r\n }\r\n super._rowClick(e)\r\n }\r\n _changeGroupRowState(e) {\r\n var row = this._dataController.items()[e.rowIndex];\r\n var allowCollapsing = this._columnsController.columnOption(\"groupIndex:\".concat(row.groupIndex), \"allowCollapsing\");\r\n if (\"data\" === row.rowType || \"group\" === row.rowType && false !== allowCollapsing) {\r\n this._dataController.changeRowExpand(row.key, true);\r\n e.event.preventDefault();\r\n e.handled = true\r\n }\r\n }\r\n};\r\nvar columnHeadersViewExtender = Base => class extends Base {\r\n getContextMenuItems(options) {\r\n var contextMenuEnabled = this.option(\"grouping.contextMenuEnabled\");\r\n var items = super.getContextMenuItems(options);\r\n if (contextMenuEnabled && options.row && (\"header\" === options.row.rowType || \"detailAdaptive\" === options.row.rowType)) {\r\n var {\r\n column: column\r\n } = options;\r\n if (!column.command && (!isDefined(column.allowGrouping) || column.allowGrouping)) {\r\n var groupingTexts = this.option(\"grouping.texts\");\r\n var isColumnGrouped = isDefined(column.groupIndex) && column.groupIndex > -1;\r\n var onItemClick = onGroupingMenuItemClick.bind(this, column);\r\n items = items || [];\r\n items.push({\r\n text: groupingTexts.groupByThisColumn,\r\n value: \"group\",\r\n beginGroup: true,\r\n disabled: isColumnGrouped,\r\n onItemClick: onItemClick\r\n });\r\n if (column.showWhenGrouped) {\r\n items.push({\r\n text: groupingTexts.ungroup,\r\n value: \"ungroup\",\r\n disabled: !isColumnGrouped,\r\n onItemClick: onItemClick\r\n })\r\n }\r\n items.push({\r\n text: groupingTexts.ungroupAll,\r\n value: \"ungroupAll\",\r\n onItemClick: onItemClick\r\n })\r\n }\r\n }\r\n return items\r\n }\r\n allowDragging(column) {\r\n var groupPanelOptions = this.option(\"groupPanel\");\r\n return allowDragging(groupPanelOptions, column) || super.allowDragging(column)\r\n }\r\n};\r\ngridCore.registerModule(\"grouping\", {\r\n defaultOptions: () => ({\r\n grouping: {\r\n autoExpandAll: true,\r\n allowCollapsing: true,\r\n contextMenuEnabled: false,\r\n expandMode: \"buttonClick\",\r\n texts: {\r\n groupContinuesMessage: messageLocalization.format(\"dxDataGrid-groupContinuesMessage\"),\r\n groupContinuedMessage: messageLocalization.format(\"dxDataGrid-groupContinuedMessage\"),\r\n groupByThisColumn: messageLocalization.format(\"dxDataGrid-groupHeaderText\"),\r\n ungroup: messageLocalization.format(\"dxDataGrid-ungroupHeaderText\"),\r\n ungroupAll: messageLocalization.format(\"dxDataGrid-ungroupAllText\")\r\n }\r\n },\r\n groupPanel: {\r\n visible: false,\r\n emptyPanelText: messageLocalization.format(\"dxDataGrid-groupPanelEmptyText\"),\r\n allowColumnDragging: true\r\n }\r\n }),\r\n extenders: {\r\n controllers: {\r\n data: GroupingDataControllerExtender,\r\n columns: Base => class extends Base {\r\n _getExpandColumnOptions() {\r\n var options = super._getExpandColumnOptions.apply(this, arguments);\r\n options.cellTemplate = gridCore.getExpandCellTemplate();\r\n return options\r\n }\r\n },\r\n editing: Base => class extends Base {\r\n _isProcessedItem(item) {\r\n return isDefined(item.groupIndex) && isString(item.rowType) && 0 === item.rowType.indexOf(\"group\")\r\n }\r\n }\r\n },\r\n views: {\r\n headerPanel: GroupingHeaderPanelExtender,\r\n rowsView: GroupingRowsViewExtender,\r\n columnHeadersView: columnHeadersViewExtender\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/master_detail/m_master_detail.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n grep\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar MASTER_DETAIL_CELL_CLASS = \"dx-master-detail-cell\";\r\nvar MASTER_DETAIL_ROW_CLASS = \"dx-master-detail-row\";\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar ROW_LINES_CLASS = \"dx-row-lines\";\r\nvar columns = Base => class extends Base {\r\n _getExpandColumnsCore() {\r\n var expandColumns = super._getExpandColumnsCore();\r\n if (this.option(\"masterDetail.enabled\")) {\r\n expandColumns.push({\r\n type: \"detailExpand\",\r\n cellTemplate: gridCoreUtils.getExpandCellTemplate()\r\n })\r\n }\r\n return expandColumns\r\n }\r\n};\r\nvar initMasterDetail = function(that) {\r\n that._expandedItems = [];\r\n that._isExpandAll = that.option(\"masterDetail.autoExpandAll\")\r\n};\r\nexport var dataMasterDetailExtenderMixin = Base => class extends Base {\r\n init() {\r\n initMasterDetail(this);\r\n super.init()\r\n }\r\n expandAll(groupIndex) {\r\n if (groupIndex < 0) {\r\n this._isExpandAll = true;\r\n this._expandedItems = [];\r\n this.updateItems()\r\n } else {\r\n super.expandAll.apply(this, arguments)\r\n }\r\n }\r\n collapseAll(groupIndex) {\r\n if (groupIndex < 0) {\r\n this._isExpandAll = false;\r\n this._expandedItems = [];\r\n this.updateItems()\r\n } else {\r\n super.collapseAll.apply(this, arguments)\r\n }\r\n }\r\n isRowExpandedHack() {\r\n return super.isRowExpanded.apply(this, arguments)\r\n }\r\n isRowExpanded(key) {\r\n var expandIndex = gridCoreUtils.getIndexByKey(key, this._expandedItems);\r\n if (Array.isArray(key)) {\r\n return super.isRowExpanded.apply(this, arguments)\r\n }\r\n return !!(this._isExpandAll ^ (expandIndex >= 0 && this._expandedItems[expandIndex].visible))\r\n }\r\n _getRowIndicesForExpand(key) {\r\n var rowIndex = this.getRowIndexByKey(key);\r\n return [rowIndex, rowIndex + 1]\r\n }\r\n _changeRowExpandCore(key) {\r\n var result;\r\n if (Array.isArray(key)) {\r\n result = super._changeRowExpandCore.apply(this, arguments)\r\n } else {\r\n var expandIndex = gridCoreUtils.getIndexByKey(key, this._expandedItems);\r\n if (expandIndex >= 0) {\r\n var {\r\n visible: visible\r\n } = this._expandedItems[expandIndex];\r\n this._expandedItems[expandIndex].visible = !visible\r\n } else {\r\n this._expandedItems.push({\r\n key: key,\r\n visible: true\r\n })\r\n }\r\n this.updateItems({\r\n changeType: \"update\",\r\n rowIndices: this._getRowIndicesForExpand(key)\r\n });\r\n result = (new Deferred).resolve()\r\n }\r\n return result\r\n }\r\n _processDataItemHack() {\r\n return super._processDataItem.apply(this, arguments)\r\n }\r\n _processDataItem(data, options) {\r\n var dataItem = super._processDataItem.apply(this, arguments);\r\n dataItem.isExpanded = this.isRowExpanded(dataItem.key);\r\n if (void 0 === options.detailColumnIndex) {\r\n options.detailColumnIndex = -1;\r\n each(options.visibleColumns, (index, column) => {\r\n if (\"expand\" === column.command && !isDefined(column.groupIndex)) {\r\n options.detailColumnIndex = index;\r\n return false\r\n }\r\n return\r\n })\r\n }\r\n if (options.detailColumnIndex >= 0) {\r\n dataItem.values[options.detailColumnIndex] = dataItem.isExpanded\r\n }\r\n return dataItem\r\n }\r\n _processItemsHack() {\r\n return super._processItems.apply(this, arguments)\r\n }\r\n _processItems(items, change) {\r\n var that = this;\r\n var {\r\n changeType: changeType\r\n } = change;\r\n var result = [];\r\n items = super._processItems.apply(that, arguments);\r\n if (\"loadingAll\" === changeType) {\r\n return items\r\n }\r\n if (\"refresh\" === changeType) {\r\n that._expandedItems = grep(that._expandedItems, item => item.visible)\r\n }\r\n each(items, (index, item) => {\r\n result.push(item);\r\n var expandIndex = gridCoreUtils.getIndexByKey(item.key, that._expandedItems);\r\n if (\"data\" === item.rowType && (item.isExpanded || expandIndex >= 0) && !item.isNewRow) {\r\n result.push({\r\n visible: item.isExpanded,\r\n rowType: \"detail\",\r\n key: item.key,\r\n data: item.data,\r\n values: []\r\n })\r\n }\r\n });\r\n return result\r\n }\r\n optionChanged(args) {\r\n var isEnabledChanged;\r\n var isAutoExpandAllChanged;\r\n if (\"masterDetail\" === args.name) {\r\n args.name = \"dataSource\";\r\n switch (args.fullName) {\r\n case \"masterDetail\":\r\n var value = args.value || {};\r\n var previousValue = args.previousValue || {};\r\n isEnabledChanged = value.enabled !== previousValue.enabled;\r\n isAutoExpandAllChanged = value.autoExpandAll !== previousValue.autoExpandAll;\r\n break;\r\n case \"masterDetail.template\":\r\n initMasterDetail(this);\r\n break;\r\n case \"masterDetail.enabled\":\r\n isEnabledChanged = true;\r\n break;\r\n case \"masterDetail.autoExpandAll\":\r\n isAutoExpandAllChanged = true\r\n }\r\n if (isEnabledChanged || isAutoExpandAllChanged) {\r\n initMasterDetail(this)\r\n }\r\n }\r\n super.optionChanged(args)\r\n }\r\n};\r\nvar resizing = Base => class extends Base {\r\n fireContentReadyAction() {\r\n super.fireContentReadyAction.apply(this, arguments);\r\n this._updateParentDataGrids(this.component.$element())\r\n }\r\n _updateParentDataGrids($element) {\r\n var $masterDetailRow = $element.closest(\".\".concat(MASTER_DETAIL_ROW_CLASS));\r\n if ($masterDetailRow.length) {\r\n when(this._updateMasterDataGrid($masterDetailRow, $element)).done(() => {\r\n this._updateParentDataGrids($masterDetailRow.parent())\r\n })\r\n }\r\n }\r\n _updateMasterDataGrid($masterDetailRow, $detailElement) {\r\n var masterRowOptions = $($masterDetailRow).data(\"options\");\r\n var masterDataGrid = $($masterDetailRow).closest(\".\".concat(this.getWidgetContainerClass())).parent().data(\"dxDataGrid\");\r\n if (masterRowOptions && masterDataGrid) {\r\n return this._updateMasterDataGridCore(masterDataGrid, masterRowOptions)\r\n }\r\n return\r\n }\r\n _updateMasterDataGridCore(masterDataGrid, masterRowOptions) {\r\n var d = Deferred();\r\n if (masterDataGrid.getView(\"rowsView\").isFixedColumns()) {\r\n this._updateFixedMasterDetailGrids(masterDataGrid, masterRowOptions.rowIndex, $(masterRowOptions.rowElement)).done(d.resolve)\r\n } else {\r\n if (true === masterDataGrid.option(\"scrolling.useNative\")) {\r\n masterDataGrid.updateDimensions().done(() => d.resolve(true));\r\n return\r\n }\r\n var scrollable = masterDataGrid.getScrollable();\r\n if (scrollable) {\r\n null === scrollable || void 0 === scrollable ? void 0 : scrollable.update().done(() => d.resolve())\r\n } else {\r\n d.resolve()\r\n }\r\n }\r\n return d.promise()\r\n }\r\n _updateFixedMasterDetailGrids(masterDataGrid, masterRowIndex, $detailElement) {\r\n var d = Deferred();\r\n var $rows = $(masterDataGrid.getRowElement(masterRowIndex));\r\n var $tables = $(masterDataGrid.getView(\"rowsView\").getTableElements());\r\n var rowsNotEqual = 2 === (null === $rows || void 0 === $rows ? void 0 : $rows.length) && getHeight($rows.eq(0)) !== getHeight($rows.eq(1));\r\n var tablesNotEqual = 2 === (null === $tables || void 0 === $tables ? void 0 : $tables.length) && getHeight($tables.eq(0)) !== getHeight($tables.eq(1));\r\n if (rowsNotEqual || tablesNotEqual) {\r\n var detailElementWidth = getWidth($detailElement);\r\n masterDataGrid.updateDimensions().done(() => {\r\n var isDetailHorizontalScrollCanBeShown = this.option(\"columnAutoWidth\") && true === masterDataGrid.option(\"scrolling.useNative\");\r\n var isDetailGridWidthChanged = isDetailHorizontalScrollCanBeShown && detailElementWidth !== getWidth($detailElement);\r\n if (isDetailHorizontalScrollCanBeShown && isDetailGridWidthChanged) {\r\n this.updateDimensions().done(() => d.resolve(true))\r\n } else {\r\n d.resolve(true)\r\n }\r\n });\r\n return d.promise()\r\n }\r\n return Deferred().resolve()\r\n }\r\n _toggleBestFitMode(isBestFit) {\r\n super._toggleBestFitMode.apply(this, arguments);\r\n if (this.option(\"masterDetail.template\")) {\r\n var $rowsTable = this._rowsView.getTableElement();\r\n if ($rowsTable) {\r\n $rowsTable.find(\".dx-master-detail-cell\").css(\"maxWidth\", isBestFit ? 0 : \"\")\r\n }\r\n }\r\n }\r\n};\r\nvar rowsView = Base => class extends Base {\r\n _getCellTemplate(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var editingController = this._editingController;\r\n var isEditRow = editingController && editingController.isEditRow(options.rowIndex);\r\n var template;\r\n if (\"detail\" === column.command && !isEditRow) {\r\n template = this.option(\"masterDetail.template\") || {\r\n allowRenderToDetachedContainer: false,\r\n render: this._getDefaultTemplate(column)\r\n }\r\n } else {\r\n template = super._getCellTemplate.apply(this, arguments)\r\n }\r\n return template\r\n }\r\n _isDetailRow(row) {\r\n return row && row.rowType && 0 === row.rowType.indexOf(\"detail\")\r\n }\r\n _createRow(row) {\r\n var $row = super._createRow.apply(this, arguments);\r\n if (row && this._isDetailRow(row)) {\r\n this.option(\"showRowLines\") && $row.addClass(ROW_LINES_CLASS);\r\n $row.addClass(MASTER_DETAIL_ROW_CLASS);\r\n if (isDefined(row.visible)) {\r\n $row.toggle(row.visible)\r\n }\r\n }\r\n return $row\r\n }\r\n _renderCells($row, options) {\r\n var {\r\n row: row\r\n } = options;\r\n var $detailCell;\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n if (row.rowType && this._isDetailRow(row)) {\r\n if (this._needRenderCell(0, options.columnIndices)) {\r\n $detailCell = this._renderCell($row, {\r\n value: null,\r\n row: row,\r\n rowIndex: row.rowIndex,\r\n column: {\r\n command: \"detail\"\r\n },\r\n columnIndex: 0,\r\n change: options.change\r\n });\r\n $detailCell.addClass(CELL_FOCUS_DISABLED_CLASS).addClass(MASTER_DETAIL_CELL_CLASS).attr(\"colSpan\", visibleColumns.length)\r\n }\r\n } else {\r\n super._renderCells.apply(this, arguments)\r\n }\r\n }\r\n};\r\nexport var masterDetailModule = {\r\n defaultOptions: () => ({\r\n masterDetail: {\r\n enabled: false,\r\n autoExpandAll: false,\r\n template: null\r\n }\r\n }),\r\n extenders: {\r\n controllers: {\r\n columns: columns,\r\n data: dataMasterDetailExtenderMixin,\r\n resizing: resizing\r\n },\r\n views: {\r\n rowsView: rowsView\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/master_detail.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n masterDetailModule\r\n} from \"../../../grids/grid_core/master_detail/m_master_detail\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"masterDetail\", masterDetailModule);\r\n","/**\r\n * DevExtreme (esm/ui/number_box/utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nvar getRealSeparatorIndex = function(str) {\r\n var quoteBalance = 0;\r\n var separatorCount = 0;\r\n for (var i = 0; i < str.length; ++i) {\r\n if (\"'\" === str[i]) {\r\n quoteBalance++\r\n }\r\n if (\".\" === str[i]) {\r\n ++separatorCount;\r\n if (quoteBalance % 2 === 0) {\r\n return {\r\n occurrence: separatorCount,\r\n index: i\r\n }\r\n }\r\n }\r\n }\r\n return {\r\n occurrence: 1,\r\n index: -1\r\n }\r\n};\r\nvar getNthOccurrence = function(str, c, n) {\r\n var i = -1;\r\n while (n-- && i++ < str.length) {\r\n i = str.indexOf(c, i)\r\n }\r\n return i\r\n};\r\nvar splitByIndex = function(str, index) {\r\n if (-1 === index) {\r\n return [str]\r\n }\r\n return [str.slice(0, index), str.slice(index + 1)]\r\n};\r\nvar adjustPercentValue = function(rawValue, precision) {\r\n return rawValue && adjust(rawValue / 100, precision)\r\n};\r\nexport {\r\n getRealSeparatorIndex,\r\n getNthOccurrence,\r\n splitByIndex,\r\n adjustPercentValue\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.caret.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n fitIntoRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n escapeRegExp\r\n} from \"../../core/utils/common\";\r\nimport number from \"../../localization/number\";\r\nimport {\r\n getRealSeparatorIndex,\r\n getNthOccurrence,\r\n splitByIndex\r\n} from \"./utils\";\r\nexport var getCaretBoundaries = function(text, format) {\r\n if (\"string\" === typeof format) {\r\n var signParts = format.split(\";\");\r\n var sign = number.getSign(text, format);\r\n signParts[1] = signParts[1] || \"-\" + signParts[0];\r\n format = signParts[sign < 0 ? 1 : 0];\r\n format = (str = format, str.replace(/'([^']*)'/g, str => str.split(\"\").map(() => \" \").join(\"\").substr(2)));\r\n var prefixStubLength = /^[^#0.,]*/.exec(format)[0].length;\r\n var postfixStubLength = /[^#0.,]*$/.exec(format)[0].length;\r\n return {\r\n start: prefixStubLength,\r\n end: text.length - postfixStubLength\r\n }\r\n } else {\r\n return {\r\n start: 0,\r\n end: text.length\r\n }\r\n }\r\n var str\r\n};\r\nvar _getDigitCountBeforeIndex = function(index, text) {\r\n var decimalSeparator = number.getDecimalSeparator();\r\n var regExp = new RegExp(\"[^0-9\" + escapeRegExp(decimalSeparator) + \"]\", \"g\");\r\n var textBeforePosition = text.slice(0, index);\r\n return textBeforePosition.replace(regExp, \"\").length\r\n};\r\nvar _reverseText = function(text) {\r\n return text.split(\"\").reverse().join(\"\")\r\n};\r\nvar _getDigitPositionByIndex = function(digitIndex, text) {\r\n if (!digitIndex) {\r\n return -1\r\n }\r\n var regExp = /[0-9]/g;\r\n var counter = 1;\r\n var index = null;\r\n var result = regExp.exec(text);\r\n while (result) {\r\n index = result.index;\r\n if (counter >= digitIndex) {\r\n return index\r\n }\r\n counter++;\r\n result = regExp.exec(text)\r\n }\r\n return null === index ? text.length : index\r\n};\r\nvar _trimNonNumericCharsFromEnd = function(text) {\r\n return text.replace(/[^0-9e]+$/, \"\")\r\n};\r\nexport var getCaretWithOffset = function(caret, offset) {\r\n if (void 0 === caret.start) {\r\n caret = {\r\n start: caret,\r\n end: caret\r\n }\r\n }\r\n return {\r\n start: caret.start + offset,\r\n end: caret.end + offset\r\n }\r\n};\r\nexport var getCaretAfterFormat = function(text, formatted, caret, format) {\r\n caret = getCaretWithOffset(caret, 0);\r\n var point = number.getDecimalSeparator();\r\n var isSeparatorBasedText = isSeparatorBasedString(text);\r\n var realSeparatorOccurrenceIndex = getRealSeparatorIndex(format).occurrence;\r\n var pointPosition = isSeparatorBasedText ? 0 : getNthOccurrence(text, point, realSeparatorOccurrenceIndex);\r\n var newPointPosition = getNthOccurrence(formatted, point, realSeparatorOccurrenceIndex);\r\n var textParts = splitByIndex(text, pointPosition);\r\n var formattedParts = splitByIndex(formatted, newPointPosition);\r\n var isCaretOnFloat = -1 !== pointPosition && caret.start > pointPosition;\r\n if (isCaretOnFloat) {\r\n var relativeIndex = caret.start - pointPosition - 1;\r\n var digitsBefore = _getDigitCountBeforeIndex(relativeIndex, textParts[1]);\r\n var newPosition = formattedParts[1] ? newPointPosition + 1 + _getDigitPositionByIndex(digitsBefore, formattedParts[1]) + 1 : formatted.length;\r\n return getCaretInBoundaries(newPosition, formatted, format)\r\n } else {\r\n var formattedIntPart = _trimNonNumericCharsFromEnd(formattedParts[0]);\r\n var positionFromEnd = textParts[0].length - caret.start;\r\n var digitsFromEnd = _getDigitCountBeforeIndex(positionFromEnd, _reverseText(textParts[0]));\r\n var newPositionFromEnd = _getDigitPositionByIndex(digitsFromEnd, _reverseText(formattedIntPart));\r\n var newPositionFromBegin = formattedIntPart.length - (newPositionFromEnd + 1);\r\n return getCaretInBoundaries(newPositionFromBegin, formatted, format)\r\n }\r\n};\r\n\r\nfunction isSeparatorBasedString(text) {\r\n return 1 === text.length && !!text.match(/^[,.][0-9]*$/g)\r\n}\r\nexport var isCaretInBoundaries = function(caret, text, format) {\r\n caret = getCaretWithOffset(caret, 0);\r\n var boundaries = getCaretInBoundaries(caret, text, format);\r\n return caret.start >= boundaries.start && caret.end <= boundaries.end\r\n};\r\nexport function getCaretInBoundaries(caret, text, format) {\r\n caret = getCaretWithOffset(caret, 0);\r\n var boundaries = getCaretBoundaries(text, format);\r\n var adjustedCaret = {\r\n start: fitIntoRange(caret.start, boundaries.start, boundaries.end),\r\n end: fitIntoRange(caret.end, boundaries.start, boundaries.end)\r\n };\r\n return adjustedCaret\r\n}\r\nexport var getCaretOffset = function(previousText, newText, format) {\r\n var previousBoundaries = getCaretBoundaries(previousText, format);\r\n var newBoundaries = getCaretBoundaries(newText, format);\r\n return newBoundaries.start - previousBoundaries.start\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.spin.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n lock\r\n} from \"../../events/core/emitter.feedback\";\r\nimport holdEvent from \"../../events/hold\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar SPIN_CLASS = \"dx-numberbox-spin\";\r\nvar SPIN_BUTTON_CLASS = \"dx-numberbox-spin-button\";\r\nvar SPIN_HOLD_DELAY = 100;\r\nvar NUMBER_BOX = \"dxNumberBox\";\r\nvar POINTERUP_EVENT_NAME = addNamespace(pointerEvents.up, NUMBER_BOX);\r\nvar POINTERCANCEL_EVENT_NAME = addNamespace(pointerEvents.cancel, NUMBER_BOX);\r\nvar SpinButton = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n direction: \"up\",\r\n onChange: null,\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n var direction = SPIN_CLASS + \"-\" + this.option(\"direction\");\r\n this.$element().addClass(SPIN_BUTTON_CLASS).addClass(direction);\r\n this._spinIcon = $(\"<div>\").addClass(direction + \"-icon\").appendTo(this.$element())\r\n },\r\n _render: function() {\r\n this.callBase();\r\n var eventName = addNamespace(pointerEvents.down, this.NAME);\r\n var $element = this.$element();\r\n eventsEngine.off($element, eventName);\r\n eventsEngine.on($element, eventName, this._spinDownHandler.bind(this));\r\n this._spinChangeHandler = this._createActionByOption(\"onChange\")\r\n },\r\n _spinDownHandler: function(e) {\r\n e.preventDefault();\r\n this._clearTimer();\r\n eventsEngine.on(this.$element(), holdEvent.name, function() {\r\n this._feedBackDeferred = new Deferred;\r\n lock(this._feedBackDeferred);\r\n this._spinChangeHandler({\r\n event: e\r\n });\r\n this._holdTimer = setInterval(this._spinChangeHandler, SPIN_HOLD_DELAY, {\r\n event: e\r\n })\r\n }.bind(this));\r\n var document = domAdapter.getDocument();\r\n eventsEngine.on(document, POINTERUP_EVENT_NAME, this._clearTimer.bind(this));\r\n eventsEngine.on(document, POINTERCANCEL_EVENT_NAME, this._clearTimer.bind(this));\r\n this._spinChangeHandler({\r\n event: e\r\n })\r\n },\r\n _dispose: function() {\r\n this._clearTimer();\r\n this.callBase()\r\n },\r\n _clearTimer: function() {\r\n eventsEngine.off(this.$element(), holdEvent.name);\r\n var document = domAdapter.getDocument();\r\n eventsEngine.off(document, POINTERUP_EVENT_NAME);\r\n eventsEngine.off(document, POINTERCANCEL_EVENT_NAME);\r\n if (this._feedBackDeferred) {\r\n this._feedBackDeferred.resolve()\r\n }\r\n if (this._holdTimer) {\r\n clearInterval(this._holdTimer)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onChange\":\r\n case \"direction\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport default SpinButton;\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.spins.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport TextEditorButton from \"../text_box/texteditor_button_collection/button\";\r\nimport SpinButton from \"./number_box.spin\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointer from \"../../events/pointer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar SPIN_CLASS = \"dx-numberbox-spin\";\r\nvar SPIN_CONTAINER_CLASS = \"dx-numberbox-spin-container\";\r\nvar SPIN_TOUCH_FRIENDLY_CLASS = \"dx-numberbox-spin-touch-friendly\";\r\nexport default class SpinButtons extends TextEditorButton {\r\n _attachEvents(instance, $spinContainer) {\r\n var {\r\n editor: editor\r\n } = this;\r\n var eventName = addNamespace(pointer.down, editor.NAME);\r\n var $spinContainerChildren = $spinContainer.children();\r\n var pointerDownAction = editor._createAction(e => editor._spinButtonsPointerDownHandler(e));\r\n eventsEngine.off($spinContainer, eventName);\r\n eventsEngine.on($spinContainer, eventName, e => pointerDownAction({\r\n event: e\r\n }));\r\n SpinButton.getInstance($spinContainerChildren.eq(0)).option(\"onChange\", e => editor._spinUpChangeHandler(e));\r\n SpinButton.getInstance($spinContainerChildren.eq(1)).option(\"onChange\", e => editor._spinDownChangeHandler(e))\r\n }\r\n _create() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var $spinContainer = $(\"<div>\").addClass(SPIN_CONTAINER_CLASS);\r\n var $spinUp = $(\"<div>\").appendTo($spinContainer);\r\n var $spinDown = $(\"<div>\").appendTo($spinContainer);\r\n var options = this._getOptions();\r\n this._addToContainer($spinContainer);\r\n editor._createComponent($spinUp, SpinButton, extend({\r\n direction: \"up\"\r\n }, options));\r\n editor._createComponent($spinDown, SpinButton, extend({\r\n direction: \"down\"\r\n }, options));\r\n this._legacyRender(editor.$element(), this._isTouchFriendly(), options.visible);\r\n return {\r\n instance: $spinContainer,\r\n $element: $spinContainer\r\n }\r\n }\r\n _getOptions() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var visible = this._isVisible();\r\n var disabled = editor.option(\"disabled\");\r\n return {\r\n visible: visible,\r\n disabled: disabled\r\n }\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return super._isVisible() && editor.option(\"showSpinButtons\")\r\n }\r\n _isTouchFriendly() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return editor.option(\"showSpinButtons\") && editor.option(\"useLargeSpinButtons\")\r\n }\r\n _legacyRender($editor, isTouchFriendly, isVisible) {\r\n $editor.toggleClass(SPIN_TOUCH_FRIENDLY_CLASS, isTouchFriendly);\r\n $editor.toggleClass(SPIN_CLASS, isVisible)\r\n }\r\n update() {\r\n var shouldUpdate = super.update();\r\n if (shouldUpdate) {\r\n var {\r\n editor: editor,\r\n instance: instance\r\n } = this;\r\n var $editor = editor.$element();\r\n var isVisible = this._isVisible();\r\n var isTouchFriendly = this._isTouchFriendly();\r\n var $spinButtons = instance.children();\r\n var spinUp = SpinButton.getInstance($spinButtons.eq(0));\r\n var spinDown = SpinButton.getInstance($spinButtons.eq(1));\r\n var options = this._getOptions();\r\n spinUp.option(options);\r\n spinDown.option(options);\r\n this._legacyRender($editor, isTouchFriendly, isVisible)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.base.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n applyServerDecimalSeparator,\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n fitIntoRange,\r\n inRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport devices from \"../../core/devices\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport TextEditor from \"../text_box/ui.text_editor\";\r\nimport {\r\n addNamespace,\r\n getChar,\r\n isCommandKeyPressed,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport SpinButtons from \"./number_box.spins\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar math = Math;\r\nvar WIDGET_CLASS = \"dx-numberbox\";\r\nvar FIREFOX_CONTROL_KEYS = [\"tab\", \"del\", \"backspace\", \"leftArrow\", \"rightArrow\", \"home\", \"end\", \"enter\"];\r\nvar FORCE_VALUECHANGE_EVENT_NAMESPACE = \"NumberBoxForceValueChange\";\r\nvar NumberBoxBase = TextEditor.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n upArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._spinUpChangeHandler(e)\r\n }\r\n },\r\n downArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._spinDownChangeHandler(e)\r\n }\r\n },\r\n enter: function() {}\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: 0,\r\n min: void 0,\r\n max: void 0,\r\n step: 1,\r\n showSpinButtons: false,\r\n useLargeSpinButtons: true,\r\n mode: \"text\",\r\n invalidValueMessage: messageLocalization.format(\"dxNumberBox-invalidValueMessage\"),\r\n buttons: void 0\r\n })\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _getDefaultButtons: function() {\r\n return this.callBase().concat([{\r\n name: \"spins\",\r\n Ctor: SpinButtons\r\n }])\r\n },\r\n _isSupportInputMode: function() {\r\n var version = parseFloat(browser.version);\r\n return browser.chrome && version >= 66 || browser.safari && version >= 12\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return devices.real().generic && !devices.isSimulator()\r\n },\r\n options: {\r\n useLargeSpinButtons: false\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" !== devices.real().deviceType && !this._isSupportInputMode()\r\n }.bind(this),\r\n options: {\r\n mode: \"number\"\r\n }\r\n }])\r\n },\r\n _initMarkup: function() {\r\n this._renderSubmitElement();\r\n this.$element().addClass(WIDGET_CLASS);\r\n this.callBase()\r\n },\r\n _getDefaultAttributes: function() {\r\n var attributes = this.callBase();\r\n attributes.inputmode = \"decimal\";\r\n return attributes\r\n },\r\n _renderContentImpl: function() {\r\n this.option(\"isValid\") && this._validateValue(this.option(\"value\"));\r\n this.setAria(\"role\", \"spinbutton\")\r\n },\r\n _renderSubmitElement: function() {\r\n this._$submitElement = $(\"<input>\").attr(\"type\", \"hidden\").appendTo(this.$element());\r\n this._setSubmitValue(this.option(\"value\"))\r\n },\r\n _setSubmitValue: function(value) {\r\n this._getSubmitElement().val(applyServerDecimalSeparator(value))\r\n },\r\n _getSubmitElement: function() {\r\n return this._$submitElement\r\n },\r\n _keyPressHandler: function(e) {\r\n this.callBase(e);\r\n var char = getChar(e);\r\n var isInputCharValid = /[\\d.,eE\\-+]/.test(char);\r\n if (!isInputCharValid) {\r\n var keyName = normalizeKeyName(e);\r\n if (isCommandKeyPressed(e) || keyName && FIREFOX_CONTROL_KEYS.includes(keyName)) {\r\n return\r\n }\r\n e.preventDefault();\r\n return false\r\n }\r\n this._keyPressed = true\r\n },\r\n _onMouseWheel: function(dxEvent) {\r\n dxEvent.delta > 0 ? this._spinValueChange(1, dxEvent) : this._spinValueChange(-1, dxEvent)\r\n },\r\n _renderValue: function() {\r\n var inputValue = this._input().val();\r\n var value = this.option(\"value\");\r\n if (!inputValue.length || Number(inputValue) !== value) {\r\n this._forceValueRender();\r\n this._toggleEmptinessEventHandler()\r\n }\r\n var valueText = isDefined(value) ? null : messageLocalization.format(\"dxNumberBox-noDataText\");\r\n this.setAria({\r\n valuenow: ensureDefined(value, \"\"),\r\n valuetext: valueText\r\n });\r\n this.option(\"text\", this._input().val());\r\n this._updateButtons();\r\n return (new Deferred).resolve()\r\n },\r\n _forceValueRender: function() {\r\n var value = this.option(\"value\");\r\n var number = Number(value);\r\n var formattedValue = isNaN(number) ? \"\" : this._applyDisplayValueFormatter(value);\r\n this._renderDisplayText(formattedValue)\r\n },\r\n _applyDisplayValueFormatter: function(value) {\r\n return this.option(\"displayValueFormatter\")(value)\r\n },\r\n _renderProps: function() {\r\n this._input().prop({\r\n min: this.option(\"min\"),\r\n max: this.option(\"max\"),\r\n step: this.option(\"step\")\r\n });\r\n this.setAria({\r\n valuemin: ensureDefined(this.option(\"min\"), \"\"),\r\n valuemax: ensureDefined(this.option(\"max\"), \"\")\r\n })\r\n },\r\n _spinButtonsPointerDownHandler: function() {\r\n var $input = this._input();\r\n if (!this.option(\"useLargeSpinButtons\") && domAdapter.getActiveElement() !== $input[0]) {\r\n eventsEngine.trigger($input, \"focus\")\r\n }\r\n },\r\n _spinUpChangeHandler: function(e) {\r\n if (!this.option(\"readOnly\")) {\r\n this._spinValueChange(1, e.event || e)\r\n }\r\n },\r\n _spinDownChangeHandler: function(e) {\r\n if (!this.option(\"readOnly\")) {\r\n this._spinValueChange(-1, e.event || e)\r\n }\r\n },\r\n _spinValueChange: function(sign, dxEvent) {\r\n var step = parseFloat(this.option(\"step\"));\r\n if (0 === step) {\r\n return\r\n }\r\n var value = parseFloat(this._normalizeInputValue()) || 0;\r\n value = this._correctRounding(value, step * sign);\r\n var min = this.option(\"min\");\r\n var max = this.option(\"max\");\r\n if (isDefined(min)) {\r\n value = Math.max(min, value)\r\n }\r\n if (isDefined(max)) {\r\n value = Math.min(max, value)\r\n }\r\n this._saveValueChangeEvent(dxEvent);\r\n this.option(\"value\", value)\r\n },\r\n _correctRounding: function(value, step) {\r\n var regex = /[,.](.*)/;\r\n var isFloatValue = regex.test(value);\r\n var isFloatStep = regex.test(step);\r\n if (isFloatValue || isFloatStep) {\r\n var valueAccuracy = isFloatValue ? regex.exec(value)[0].length : 0;\r\n var stepAccuracy = isFloatStep ? regex.exec(step)[0].length : 0;\r\n var accuracy = math.max(valueAccuracy, stepAccuracy);\r\n value = this._round(value + step, accuracy);\r\n return value\r\n }\r\n return value + step\r\n },\r\n _round: function(value, precision) {\r\n precision = precision || 0;\r\n var multiplier = Math.pow(10, precision);\r\n value *= multiplier;\r\n value = Math.round(value) / multiplier;\r\n return value\r\n },\r\n _renderValueChangeEvent: function() {\r\n this.callBase();\r\n var forceValueChangeEvent = addNamespace(\"focusout\", FORCE_VALUECHANGE_EVENT_NAMESPACE);\r\n eventsEngine.off(this.element(), forceValueChangeEvent);\r\n eventsEngine.on(this.element(), forceValueChangeEvent, this._forceRefreshInputValue.bind(this))\r\n },\r\n _forceRefreshInputValue: function() {\r\n if (\"number\" === this.option(\"mode\")) {\r\n return\r\n }\r\n var $input = this._input();\r\n var formattedValue = this._applyDisplayValueFormatter(this.option(\"value\"));\r\n $input.val(null);\r\n $input.val(formattedValue)\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n var $input = this._input();\r\n var inputValue = this._normalizeText();\r\n var value = this._parseValue(inputValue);\r\n var valueHasDigits = \".\" !== inputValue && \"-\" !== inputValue;\r\n if (this._isValueValid() && !this._validateValue(value)) {\r\n $input.val(this._applyDisplayValueFormatter(value));\r\n return\r\n }\r\n if (valueHasDigits) {\r\n this.callBase(e, isNaN(value) ? null : value)\r\n }\r\n this._applyValueBoundaries(inputValue, value);\r\n this.validationRequest.fire({\r\n value: value,\r\n editor: this\r\n })\r\n },\r\n _applyValueBoundaries: function(inputValue, parsedValue) {\r\n var isValueIncomplete = this._isValueIncomplete(inputValue);\r\n var isValueCorrect = this._isValueInRange(inputValue);\r\n if (!isValueIncomplete && !isValueCorrect && null !== parsedValue) {\r\n if (Number(inputValue) !== parsedValue) {\r\n this._input().val(this._applyDisplayValueFormatter(parsedValue))\r\n }\r\n }\r\n },\r\n _replaceCommaWithPoint: function(value) {\r\n return value.replace(\",\", \".\")\r\n },\r\n _inputIsInvalid: function() {\r\n var isNumberMode = \"number\" === this.option(\"mode\");\r\n var validityState = this._input().get(0).validity;\r\n return isNumberMode && validityState && validityState.badInput\r\n },\r\n _renderDisplayText: function(text) {\r\n if (this._inputIsInvalid()) {\r\n return\r\n }\r\n this.callBase(text)\r\n },\r\n _isValueIncomplete: function(value) {\r\n return /(^-$)|(^-?\\d*\\.$)|(\\d+e-?$)/i.test(value)\r\n },\r\n _isValueInRange: function(value) {\r\n return inRange(value, this.option(\"min\"), this.option(\"max\"))\r\n },\r\n _isNumber: function(value) {\r\n return null !== this._parseValue(value)\r\n },\r\n _validateValue: function(value) {\r\n var inputValue = this._normalizeText();\r\n var isValueValid = this._isValueValid();\r\n var isValid = true;\r\n var isNumber = this._isNumber(inputValue);\r\n if (isNaN(Number(value))) {\r\n isValid = false\r\n }\r\n if (!value && isValueValid) {\r\n isValid = true\r\n } else if (!isNumber && !isValueValid) {\r\n isValid = false\r\n }\r\n this.option({\r\n isValid: isValid,\r\n validationError: isValid ? null : {\r\n editorSpecific: true,\r\n message: this.option(\"invalidValueMessage\")\r\n }\r\n });\r\n return isValid\r\n },\r\n _normalizeInputValue: function() {\r\n return this._parseValue(this._normalizeText())\r\n },\r\n _normalizeText: function() {\r\n var value = this._input().val().trim();\r\n return this._replaceCommaWithPoint(value)\r\n },\r\n _parseValue: function(value) {\r\n var number = parseFloat(value);\r\n if (isNaN(number)) {\r\n return null\r\n }\r\n return fitIntoRange(number, this.option(\"min\"), this.option(\"max\"))\r\n },\r\n _clearValue: function() {\r\n if (this._inputIsInvalid()) {\r\n this._input().val(\"\");\r\n this._validateValue()\r\n }\r\n this.callBase()\r\n },\r\n reset: function() {\r\n if (null === this.option(\"value\")) {\r\n this.option(\"text\", \"\");\r\n if (this._input().length) {\r\n this._renderValue()\r\n }\r\n } else {\r\n this.option(\"value\", null)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"value\":\r\n this._validateValue(args.value);\r\n this._setSubmitValue(args.value);\r\n this.callBase(args);\r\n this._resumeValueChangeAction();\r\n break;\r\n case \"step\":\r\n this._renderProps();\r\n break;\r\n case \"min\":\r\n case \"max\":\r\n this._renderProps();\r\n this.option(\"value\", this._parseValue(this.option(\"value\")));\r\n break;\r\n case \"showSpinButtons\":\r\n case \"useLargeSpinButtons\":\r\n this._updateButtons([\"spins\"]);\r\n break;\r\n case \"invalidValueMessage\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport default NumberBoxBase;\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.mask.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isNumeric,\r\n isDefined,\r\n isFunction,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n fitIntoRange,\r\n inRange\r\n} from \"../../core/utils/math\";\r\nimport number from \"../../localization/number\";\r\nimport {\r\n getCaretWithOffset,\r\n isCaretInBoundaries,\r\n getCaretInBoundaries,\r\n getCaretBoundaries,\r\n getCaretAfterFormat,\r\n getCaretOffset\r\n} from \"./number_box.caret\";\r\nimport {\r\n getFormat as getLDMLFormat\r\n} from \"../../localization/ldml/number\";\r\nimport NumberBoxBase from \"./number_box.base\";\r\nimport {\r\n addNamespace,\r\n getChar,\r\n normalizeKeyName,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport {\r\n ensureDefined,\r\n escapeRegExp\r\n} from \"../../core/utils/common\";\r\nimport {\r\n getRealSeparatorIndex,\r\n getNthOccurrence,\r\n splitByIndex,\r\n adjustPercentValue\r\n} from \"./utils\";\r\nvar NUMBER_FORMATTER_NAMESPACE = \"dxNumberFormatter\";\r\nvar MOVE_FORWARD = 1;\r\nvar MOVE_BACKWARD = -1;\r\nvar MINUS = \"-\";\r\nvar MINUS_KEY = \"minus\";\r\nvar INPUT_EVENT = \"input\";\r\nvar NUMPAD_DOT_KEY_CODE = 110;\r\nvar CARET_TIMEOUT_DURATION = 0;\r\nvar NumberBoxMask = NumberBoxBase.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n useMaskBehavior: true,\r\n format: null\r\n })\r\n },\r\n _isDeleteKey: function(key) {\r\n return \"del\" === key\r\n },\r\n _supportedKeys: function() {\r\n if (!this._useMaskBehavior()) {\r\n return this.callBase()\r\n }\r\n return extend(this.callBase(), {\r\n minus: this._revertSign.bind(this),\r\n del: this._removeHandler.bind(this),\r\n backspace: this._removeHandler.bind(this),\r\n leftArrow: this._arrowHandler.bind(this, MOVE_BACKWARD),\r\n rightArrow: this._arrowHandler.bind(this, MOVE_FORWARD),\r\n home: this._moveCaretToBoundaryEventHandler.bind(this, MOVE_FORWARD),\r\n enter: this._updateFormattedValue.bind(this),\r\n end: this._moveCaretToBoundaryEventHandler.bind(this, MOVE_BACKWARD)\r\n })\r\n },\r\n _getTextSeparatorIndex: function(text) {\r\n var decimalSeparator = number.getDecimalSeparator();\r\n var realSeparatorOccurrenceIndex = getRealSeparatorIndex(this.option(\"format\")).occurrence;\r\n return getNthOccurrence(text, decimalSeparator, realSeparatorOccurrenceIndex)\r\n },\r\n _focusInHandler: function(e) {\r\n if (!this._preventNestedFocusEvent(e)) {\r\n this.clearCaretTimeout();\r\n this._caretTimeout = setTimeout(function() {\r\n this._caretTimeout = void 0;\r\n var caret = this._caret();\r\n if (caret.start === caret.end && this._useMaskBehavior()) {\r\n var text = this._getInputVal();\r\n var decimalSeparatorIndex = this._getTextSeparatorIndex(text);\r\n if (decimalSeparatorIndex >= 0) {\r\n this._caret({\r\n start: decimalSeparatorIndex,\r\n end: decimalSeparatorIndex\r\n })\r\n } else {\r\n this._moveCaretToBoundaryEventHandler(MOVE_BACKWARD, e)\r\n }\r\n }\r\n }.bind(this), CARET_TIMEOUT_DURATION)\r\n }\r\n this.callBase(e)\r\n },\r\n _focusOutHandler: function(e) {\r\n var shouldHandleEvent = !this._preventNestedFocusEvent(e);\r\n if (shouldHandleEvent) {\r\n this._focusOutOccurs = true;\r\n if (this._useMaskBehavior()) {\r\n this._updateFormattedValue()\r\n }\r\n }\r\n this.callBase(e);\r\n if (shouldHandleEvent) {\r\n this._focusOutOccurs = false\r\n }\r\n },\r\n _hasValueBeenChanged(inputValue) {\r\n var format = this._getFormatPattern();\r\n var value = this.option(\"value\");\r\n var formatted = this._format(value, format) || \"\";\r\n return formatted !== inputValue\r\n },\r\n _updateFormattedValue: function() {\r\n var inputValue = this._getInputVal();\r\n if (this._hasValueBeenChanged(inputValue)) {\r\n this._updateParsedValue();\r\n this._adjustParsedValue();\r\n this._setTextByParsedValue();\r\n if (this._parsedValue !== this.option(\"value\")) {\r\n eventsEngine.trigger(this._input(), \"change\")\r\n }\r\n }\r\n },\r\n _arrowHandler: function(step, e) {\r\n if (!this._useMaskBehavior()) {\r\n return\r\n }\r\n var text = this._getInputVal();\r\n var format = this._getFormatPattern();\r\n var nextCaret = getCaretWithOffset(this._caret(), step);\r\n if (!isCaretInBoundaries(nextCaret, text, format)) {\r\n nextCaret = step === MOVE_FORWARD ? nextCaret.end : nextCaret.start;\r\n e.preventDefault();\r\n this._caret(getCaretInBoundaries(nextCaret, text, format))\r\n }\r\n },\r\n _moveCaretToBoundary: function(direction) {\r\n var boundaries = getCaretBoundaries(this._getInputVal(), this._getFormatPattern());\r\n var newCaret = getCaretWithOffset(direction === MOVE_FORWARD ? boundaries.start : boundaries.end, 0);\r\n this._caret(newCaret)\r\n },\r\n _moveCaretToBoundaryEventHandler: function(direction, e) {\r\n if (!this._useMaskBehavior() || e && e.shiftKey) {\r\n return\r\n }\r\n this._moveCaretToBoundary(direction);\r\n e && e.preventDefault()\r\n },\r\n _shouldMoveCaret: function(text, caret) {\r\n var decimalSeparator = number.getDecimalSeparator();\r\n var isDecimalSeparatorNext = text.charAt(caret.end) === decimalSeparator;\r\n var moveToFloat = (this._lastKey === decimalSeparator || \".\" === this._lastKey || \",\" === this._lastKey) && isDecimalSeparatorNext;\r\n return moveToFloat\r\n },\r\n _getInputVal: function() {\r\n return number.convertDigits(this._input().val(), true)\r\n },\r\n _keyboardHandler: function(e) {\r\n this.clearCaretTimeout();\r\n this._lastKey = number.convertDigits(getChar(e), true);\r\n this._lastKeyName = normalizeKeyName(e);\r\n if (!this._shouldHandleKey(e.originalEvent)) {\r\n return this.callBase(e)\r\n }\r\n var normalizedText = this._getInputVal();\r\n var caret = this._caret();\r\n var enteredChar;\r\n if (this._lastKeyName === MINUS_KEY) {\r\n enteredChar = \"\"\r\n } else {\r\n enteredChar = e.which === NUMPAD_DOT_KEY_CODE ? number.getDecimalSeparator() : this._lastKey\r\n }\r\n var newValue = this._tryParse(normalizedText, caret, enteredChar);\r\n if (this._shouldMoveCaret(normalizedText, caret)) {\r\n this._moveCaret(1);\r\n e.originalEvent.preventDefault()\r\n }\r\n if (void 0 === newValue) {\r\n if (this._lastKeyName !== MINUS_KEY) {\r\n e.originalEvent.preventDefault()\r\n }\r\n } else {\r\n this._parsedValue = newValue\r\n }\r\n return this.callBase(e)\r\n },\r\n _keyPressHandler: function(e) {\r\n if (!this._useMaskBehavior()) {\r\n this.callBase(e)\r\n }\r\n },\r\n _removeHandler: function(e) {\r\n var caret = this._caret();\r\n var text = this._getInputVal();\r\n var start = caret.start;\r\n var end = caret.end;\r\n this._lastKey = getChar(e);\r\n this._lastKeyName = normalizeKeyName(e);\r\n var isDeleteKey = this._isDeleteKey(this._lastKeyName);\r\n var isBackspaceKey = !isDeleteKey;\r\n if (start === end) {\r\n var caretPosition = start;\r\n var canDelete = isBackspaceKey && caretPosition > 0 || isDeleteKey && caretPosition < text.length;\r\n if (canDelete) {\r\n isDeleteKey && end++;\r\n isBackspaceKey && start--\r\n } else {\r\n e.preventDefault();\r\n return\r\n }\r\n }\r\n var char = text.slice(start, end);\r\n if (this._isStub(char)) {\r\n this._moveCaret(isDeleteKey ? 1 : -1);\r\n if (this._parsedValue < 0 || 1 / this._parsedValue === -1 / 0) {\r\n this._revertSign(e);\r\n this._setTextByParsedValue();\r\n var shouldTriggerInputEvent = this.option(\"valueChangeEvent\").split(\" \").includes(\"input\");\r\n if (shouldTriggerInputEvent) {\r\n eventsEngine.trigger(this._input(), \"input\")\r\n }\r\n }\r\n e.preventDefault();\r\n return\r\n }\r\n var decimalSeparator = number.getDecimalSeparator();\r\n if (char === decimalSeparator) {\r\n var decimalSeparatorIndex = text.indexOf(decimalSeparator);\r\n if (this._isNonStubAfter(decimalSeparatorIndex + 1)) {\r\n this._moveCaret(isDeleteKey ? 1 : -1);\r\n e.preventDefault()\r\n }\r\n return\r\n }\r\n if (end - start < text.length) {\r\n var editedText = this._replaceSelectedText(text, {\r\n start: start,\r\n end: end\r\n }, \"\");\r\n var noDigits = editedText.search(/[0-9]/) < 0;\r\n if (noDigits && this._isValueInRange(0)) {\r\n this._parsedValue = this._parsedValue < 0 || 1 / this._parsedValue === -1 / 0 ? -0 : 0;\r\n return\r\n }\r\n }\r\n var valueAfterRemoving = this._tryParse(text, {\r\n start: start,\r\n end: end\r\n }, \"\");\r\n if (void 0 === valueAfterRemoving) {\r\n e.preventDefault()\r\n } else {\r\n this._parsedValue = valueAfterRemoving\r\n }\r\n },\r\n _isPercentFormat: function() {\r\n var format = this._getFormatPattern();\r\n var noEscapedFormat = format.replace(/'[^']+'/g, \"\");\r\n return -1 !== noEscapedFormat.indexOf(\"%\")\r\n },\r\n _parse: function(text, format) {\r\n var formatOption = this.option(\"format\");\r\n var isCustomParser = isFunction(formatOption.parser);\r\n var parser = isCustomParser ? formatOption.parser : number.parse;\r\n var integerPartStartIndex = 0;\r\n if (!isCustomParser) {\r\n var formatPointIndex = getRealSeparatorIndex(format).index;\r\n var textPointIndex = this._getTextSeparatorIndex(text);\r\n var formatIntegerPartLength = -1 !== formatPointIndex ? formatPointIndex : format.length;\r\n var textIntegerPartLength = -1 !== textPointIndex ? textPointIndex : text.length;\r\n if (textIntegerPartLength > formatIntegerPartLength && -1 === format.indexOf(\"#\")) {\r\n integerPartStartIndex = textIntegerPartLength - formatIntegerPartLength\r\n }\r\n }\r\n text = text.substr(integerPartStartIndex);\r\n return parser(text, format)\r\n },\r\n _format: function(value, format) {\r\n var formatOption = this.option(\"format\");\r\n var customFormatter = (null === formatOption || void 0 === formatOption ? void 0 : formatOption.formatter) || formatOption;\r\n var formatter = isFunction(customFormatter) ? customFormatter : number.format;\r\n var formattedValue = null === value ? \"\" : formatter(value, format);\r\n return formattedValue\r\n },\r\n _getFormatPattern: function() {\r\n if (!this._currentFormat) {\r\n this._updateFormat()\r\n }\r\n return this._currentFormat\r\n },\r\n _updateFormat: function() {\r\n var format = this.option(\"format\");\r\n var isCustomParser = isFunction(null === format || void 0 === format ? void 0 : format.parser);\r\n var isLDMLPattern = isString(format) && (format.indexOf(\"0\") >= 0 || format.indexOf(\"#\") >= 0);\r\n var isExponentialFormat = \"exponential\" === format || \"exponential\" === (null === format || void 0 === format ? void 0 : format.type);\r\n var shouldUseFormatAsIs = isCustomParser || isLDMLPattern || isExponentialFormat;\r\n this._currentFormat = shouldUseFormatAsIs ? format : getLDMLFormat(value => {\r\n var text = this._format(value, format);\r\n return number.convertDigits(text, true)\r\n })\r\n },\r\n _getFormatForSign: function(text) {\r\n var format = this._getFormatPattern();\r\n if (isString(format)) {\r\n var signParts = format.split(\";\");\r\n var sign = number.getSign(text, format);\r\n signParts[1] = signParts[1] || \"-\" + signParts[0];\r\n return sign < 0 ? signParts[1] : signParts[0]\r\n } else {\r\n var _sign = number.getSign(text);\r\n return _sign < 0 ? \"-\" : \"\"\r\n }\r\n },\r\n _removeStubs: function(text, excludeComma) {\r\n var format = this._getFormatForSign(text);\r\n var thousandsSeparator = number.getThousandsSeparator();\r\n var stubs = this._getStubs(format);\r\n var result = text;\r\n if (stubs.length) {\r\n var prefixStubs = stubs[0];\r\n var postfixRegex = new RegExp(\"(\" + escapeRegExp(stubs[1] || \"\") + \")$\", \"g\");\r\n var decoratorsRegex = new RegExp(\"[-\" + escapeRegExp(excludeComma ? \"\" : thousandsSeparator) + \"]\", \"g\");\r\n result = result.replace(prefixStubs, \"\").replace(postfixRegex, \"\").replace(decoratorsRegex, \"\")\r\n }\r\n return result\r\n },\r\n _getStubs: function(format) {\r\n var regExpResult = /[^']([#0.,]+)/g.exec(format);\r\n var pattern = regExpResult && regExpResult[0].trim();\r\n return format.split(pattern).map((function(stub) {\r\n return stub.replace(/'/g, \"\")\r\n }))\r\n },\r\n _truncateToPrecision: function(value, maxPrecision) {\r\n if (isDefined(value)) {\r\n var strValue = value.toString();\r\n var decimalSeparatorIndex = strValue.indexOf(\".\");\r\n if (strValue && decimalSeparatorIndex > -1) {\r\n var parsedValue = parseFloat(strValue.substr(0, decimalSeparatorIndex + maxPrecision + 1));\r\n return isNaN(parsedValue) ? value : parsedValue\r\n }\r\n }\r\n return value\r\n },\r\n _tryParse: function(text, selection, char) {\r\n var isTextSelected = selection.start !== selection.end;\r\n var isWholeTextSelected = isTextSelected && 0 === selection.start && selection.end === text.length;\r\n var decimalSeparator = number.getDecimalSeparator();\r\n if (isWholeTextSelected && char === decimalSeparator) {\r\n return 0\r\n }\r\n var editedText = this._replaceSelectedText(text, selection, char);\r\n var format = this._getFormatPattern();\r\n var parsedValue = this._getParsedValue(editedText, format);\r\n var maxPrecision = !format.parser && this._getPrecisionLimits(editedText).max;\r\n var isValueChanged = parsedValue !== this._parsedValue;\r\n var isDecimalPointRestricted = char === decimalSeparator && 0 === maxPrecision;\r\n var isUselessCharRestricted = !isTextSelected && !isValueChanged && char !== MINUS && this._isStub(char);\r\n if (isDecimalPointRestricted || isUselessCharRestricted) {\r\n return\r\n }\r\n if (\"\" === this._removeStubs(editedText)) {\r\n parsedValue = Math.abs(0 * this._parsedValue)\r\n }\r\n if (isNaN(parsedValue)) {\r\n return\r\n }\r\n var value = null === parsedValue ? this._parsedValue : parsedValue;\r\n parsedValue = maxPrecision ? this._truncateToPrecision(value, maxPrecision) : parsedValue;\r\n return !format.parser && this._isPercentFormat() ? adjustPercentValue(parsedValue, maxPrecision) : parsedValue\r\n },\r\n _getParsedValue: function(text, format) {\r\n var sign = number.getSign(text, (null === format || void 0 === format ? void 0 : format.formatter) || format);\r\n var textWithoutStubs = this._removeStubs(text, true);\r\n var parsedValue = this._parse(textWithoutStubs, format);\r\n var parsedValueSign = parsedValue < 0 ? -1 : 1;\r\n var parsedValueWithSign = isNumeric(parsedValue) && sign !== parsedValueSign ? sign * parsedValue : parsedValue;\r\n return parsedValueWithSign\r\n },\r\n _isValueIncomplete: function(text) {\r\n if (!this._useMaskBehavior()) {\r\n return this.callBase(text)\r\n }\r\n var caret = this._caret();\r\n var point = number.getDecimalSeparator();\r\n var pointIndex = this._getTextSeparatorIndex(text);\r\n var isCaretOnFloat = pointIndex >= 0 && pointIndex < caret.start;\r\n var textParts = this._removeStubs(text, true).split(point);\r\n if (!isCaretOnFloat || 2 !== textParts.length) {\r\n return false\r\n }\r\n var floatLength = textParts[1].length;\r\n var format = this._getFormatPattern();\r\n var isCustomParser = !!format.parser;\r\n var precision = !isCustomParser && this._getPrecisionLimits(this._getFormatPattern(), text);\r\n var isPrecisionInRange = isCustomParser ? true : inRange(floatLength, precision.min, precision.max);\r\n var endsWithZero = \"0\" === textParts[1].charAt(floatLength - 1);\r\n return isPrecisionInRange && (endsWithZero || !floatLength)\r\n },\r\n _isValueInRange: function(value) {\r\n var min = ensureDefined(this.option(\"min\"), -1 / 0);\r\n var max = ensureDefined(this.option(\"max\"), 1 / 0);\r\n return inRange(value, min, max)\r\n },\r\n _setInputText: function(text) {\r\n var normalizedText = number.convertDigits(text, true);\r\n var newCaret = getCaretAfterFormat(this._getInputVal(), normalizedText, this._caret(), this._getFormatPattern());\r\n this._input().val(text);\r\n this._toggleEmptinessEventHandler();\r\n this._formattedValue = text;\r\n if (!this._focusOutOccurs) {\r\n this._caret(newCaret)\r\n }\r\n },\r\n _useMaskBehavior: function() {\r\n return !!this.option(\"format\") && this.option(\"useMaskBehavior\")\r\n },\r\n _renderInputType: function() {\r\n var isNumberType = \"number\" === this.option(\"mode\");\r\n var isDesktop = \"desktop\" === devices.real().deviceType;\r\n if (this._useMaskBehavior() && isNumberType) {\r\n this._setInputType(isDesktop || this._isSupportInputMode() ? \"text\" : \"tel\")\r\n } else {\r\n this.callBase()\r\n }\r\n },\r\n _isChar: function(str) {\r\n return isString(str) && 1 === str.length\r\n },\r\n _moveCaret: function(offset) {\r\n if (!offset) {\r\n return\r\n }\r\n var newCaret = getCaretWithOffset(this._caret(), offset);\r\n var adjustedCaret = getCaretInBoundaries(newCaret, this._getInputVal(), this._getFormatPattern());\r\n this._caret(adjustedCaret)\r\n },\r\n _shouldHandleKey: function(e) {\r\n var keyName = normalizeKeyName(e);\r\n var isSpecialChar = isCommandKeyPressed(e) || e.altKey || e.shiftKey || !this._isChar(keyName);\r\n var isMinusKey = keyName === MINUS_KEY;\r\n var useMaskBehavior = this._useMaskBehavior();\r\n return useMaskBehavior && !isSpecialChar && !isMinusKey\r\n },\r\n _renderInput: function() {\r\n this.callBase();\r\n this._renderFormatter()\r\n },\r\n _renderFormatter: function() {\r\n this._clearCache();\r\n this._detachFormatterEvents();\r\n if (this._useMaskBehavior()) {\r\n this._attachFormatterEvents()\r\n }\r\n },\r\n _detachFormatterEvents: function() {\r\n eventsEngine.off(this._input(), \".\" + NUMBER_FORMATTER_NAMESPACE)\r\n },\r\n _isInputFromPaste: function(e) {\r\n var inputType = e.originalEvent && e.originalEvent.inputType;\r\n if (isDefined(inputType)) {\r\n return \"insertFromPaste\" === inputType\r\n } else {\r\n return this._isValuePasted\r\n }\r\n },\r\n _attachFormatterEvents: function() {\r\n var $input = this._input();\r\n eventsEngine.on($input, addNamespace(INPUT_EVENT, NUMBER_FORMATTER_NAMESPACE), function(e) {\r\n this._formatValue(e);\r\n this._isValuePasted = false\r\n }.bind(this));\r\n eventsEngine.on($input, addNamespace(\"dxclick\", NUMBER_FORMATTER_NAMESPACE), function() {\r\n if (!this._caretTimeout) {\r\n this._caretTimeout = setTimeout(function() {\r\n this._caretTimeout = void 0;\r\n this._caret(getCaretInBoundaries(this._caret(), this._getInputVal(), this._getFormatPattern()))\r\n }.bind(this), CARET_TIMEOUT_DURATION)\r\n }\r\n }.bind(this));\r\n eventsEngine.on($input, \"dxdblclick\", function() {\r\n this.clearCaretTimeout()\r\n }.bind(this))\r\n },\r\n clearCaretTimeout: function() {\r\n clearTimeout(this._caretTimeout);\r\n this._caretTimeout = void 0\r\n },\r\n _forceRefreshInputValue: function() {\r\n if (!this._useMaskBehavior()) {\r\n return this.callBase()\r\n }\r\n },\r\n _isNonStubAfter: function(index) {\r\n var text = this._getInputVal().slice(index);\r\n return text && !this._isStub(text, true)\r\n },\r\n _isStub: function(str, isString) {\r\n var escapedDecimalSeparator = escapeRegExp(number.getDecimalSeparator());\r\n var regExpString = \"^[^0-9\" + escapedDecimalSeparator + \"]+$\";\r\n var stubRegExp = new RegExp(regExpString, \"g\");\r\n return stubRegExp.test(str) && (isString || this._isChar(str))\r\n },\r\n _parseValue: function(text) {\r\n if (!this._useMaskBehavior()) {\r\n return this.callBase(text)\r\n }\r\n return this._parsedValue\r\n },\r\n _getPrecisionLimits: function(text) {\r\n var currentFormat = this._getFormatForSign(text);\r\n var realSeparatorIndex = getRealSeparatorIndex(currentFormat).index;\r\n var floatPart = (splitByIndex(currentFormat, realSeparatorIndex)[1] || \"\").replace(/[^#0]/g, \"\");\r\n var minPrecision = floatPart.replace(/^(0*)#*/, \"$1\").length;\r\n var maxPrecision = floatPart.length;\r\n return {\r\n min: minPrecision,\r\n max: maxPrecision\r\n }\r\n },\r\n _revertSign: function(e) {\r\n if (!this._useMaskBehavior()) {\r\n return\r\n }\r\n var caret = this._caret();\r\n if (caret.start !== caret.end) {\r\n if (normalizeKeyName(e) === MINUS_KEY) {\r\n this._applyRevertedSign(e, caret, true);\r\n return\r\n } else {\r\n this._caret(getCaretInBoundaries(0, this._getInputVal(), this._getFormatPattern()))\r\n }\r\n }\r\n this._applyRevertedSign(e, caret)\r\n },\r\n _applyRevertedSign: function(e, caret, preserveSelectedText) {\r\n var newValue = -1 * ensureDefined(this._parsedValue, null);\r\n if (this._isValueInRange(newValue) || 0 === newValue) {\r\n this._parsedValue = newValue;\r\n if (preserveSelectedText) {\r\n var format = this._getFormatPattern();\r\n var previousText = this._getInputVal();\r\n this._setTextByParsedValue();\r\n e.preventDefault();\r\n var currentText = this._getInputVal();\r\n var offset = getCaretOffset(previousText, currentText, format);\r\n caret = getCaretWithOffset(caret, offset);\r\n var caretInBoundaries = getCaretInBoundaries(caret, currentText, format);\r\n this._caret(caretInBoundaries)\r\n }\r\n }\r\n },\r\n _removeMinusFromText: function(text, caret) {\r\n var isMinusPressed = this._lastKeyName === MINUS_KEY && text.charAt(caret.start - 1) === MINUS;\r\n return isMinusPressed ? this._replaceSelectedText(text, {\r\n start: caret.start - 1,\r\n end: caret.start\r\n }, \"\") : text\r\n },\r\n _setTextByParsedValue: function() {\r\n var format = this._getFormatPattern();\r\n var parsed = this._parseValue();\r\n var formatted = this._format(parsed, format) || \"\";\r\n this._setInputText(formatted)\r\n },\r\n _formatValue: function(e) {\r\n var normalizedText = this._getInputVal();\r\n var caret = this._caret();\r\n var textWithoutMinus = this._removeMinusFromText(normalizedText, caret);\r\n var wasMinusRemoved = textWithoutMinus !== normalizedText;\r\n normalizedText = textWithoutMinus;\r\n if (!this._isInputFromPaste(e) && this._isValueIncomplete(textWithoutMinus)) {\r\n this._formattedValue = normalizedText;\r\n if (wasMinusRemoved) {\r\n this._setTextByParsedValue()\r\n }\r\n return\r\n }\r\n var textWasChanged = number.convertDigits(this._formattedValue, true) !== normalizedText;\r\n if (textWasChanged) {\r\n var value = this._tryParse(normalizedText, caret, \"\");\r\n if (isDefined(value)) {\r\n this._parsedValue = value\r\n }\r\n }\r\n this._setTextByParsedValue()\r\n },\r\n _renderDisplayText: function() {\r\n if (this._useMaskBehavior()) {\r\n this._toggleEmptinessEventHandler()\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _renderValue: function() {\r\n if (this._useMaskBehavior()) {\r\n this._parsedValue = this.option(\"value\");\r\n this._setTextByParsedValue()\r\n }\r\n return this.callBase()\r\n },\r\n _updateParsedValue: function() {\r\n var inputValue = this._getInputVal();\r\n this._parsedValue = this._tryParse(inputValue, this._caret())\r\n },\r\n _adjustParsedValue: function() {\r\n if (!this._useMaskBehavior()) {\r\n return\r\n }\r\n var clearedText = this._removeStubs(this._getInputVal());\r\n var parsedValue = clearedText ? this._parseValue() : null;\r\n if (!isNumeric(parsedValue)) {\r\n this._parsedValue = parsedValue;\r\n return\r\n }\r\n this._parsedValue = fitIntoRange(parsedValue, this.option(\"min\"), this.option(\"max\"))\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n if (!this._useMaskBehavior()) {\r\n return this.callBase(e)\r\n }\r\n var caret = this._caret();\r\n this._saveValueChangeEvent(e);\r\n this._lastKey = null;\r\n this._lastKeyName = null;\r\n this._updateParsedValue();\r\n this._adjustParsedValue();\r\n this.option(\"value\", this._parsedValue);\r\n if (caret) {\r\n this._caret(caret)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"format\":\r\n case \"useMaskBehavior\":\r\n this._renderInputType();\r\n this._updateFormat();\r\n this._renderFormatter();\r\n this._renderValue();\r\n this._refreshValueChangeEvent();\r\n this._refreshEvents();\r\n break;\r\n case \"min\":\r\n case \"max\":\r\n this._adjustParsedValue();\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clearCache: function() {\r\n delete this._formattedValue;\r\n delete this._lastKey;\r\n delete this._lastKeyName;\r\n delete this._parsedValue;\r\n delete this._focusOutOccurs;\r\n clearTimeout(this._caretTimeout);\r\n delete this._caretTimeout\r\n },\r\n _clean: function() {\r\n this._clearCache();\r\n this.callBase()\r\n }\r\n});\r\nexport default NumberBoxMask;\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport NumberBoxMask from \"./number_box.mask\";\r\nregisterComponent(\"dxNumberBox\", NumberBoxMask);\r\nexport default NumberBoxMask;\r\n","/**\r\n * DevExtreme (esm/ui/number_box.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport NumberBox from \"./number_box/number_box\";\r\nexport default NumberBox;\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/ui.drop_down_button.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport TextEditorButton from \"../text_box/texteditor_button_collection/button\";\r\nimport Button from \"../button\";\r\nvar DROP_DOWN_EDITOR_BUTTON_CLASS = \"dx-dropdowneditor-button\";\r\nvar DROP_DOWN_EDITOR_BUTTON_VISIBLE = \"dx-dropdowneditor-button-visible\";\r\nvar BUTTON_MESSAGE = \"dxDropDownEditor-selectLabel\";\r\nexport default class DropDownButton extends TextEditorButton {\r\n constructor(name, editor, options) {\r\n super(name, editor, options);\r\n this.currentTemplate = null\r\n }\r\n _attachEvents(instance) {\r\n var {\r\n editor: editor\r\n } = this;\r\n instance.option(\"onClick\", e => {\r\n var _editor$_shouldCallOp;\r\n if (null !== (_editor$_shouldCallOp = editor._shouldCallOpenHandler) && void 0 !== _editor$_shouldCallOp && _editor$_shouldCallOp.call(editor)) {\r\n editor._openHandler(e);\r\n return\r\n }!editor.option(\"openOnFieldClick\") && editor._openHandler(e)\r\n });\r\n eventsEngine.on(instance.$element(), \"mousedown\", e => {\r\n if (editor.$element().is(\".dx-state-focused\")) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n _create() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var $element = $(\"<div>\");\r\n var options = this._getOptions();\r\n this._addToContainer($element);\r\n var instance = editor._createComponent($element, Button, extend({}, options, {\r\n elementAttr: {\r\n \"aria-label\": messageLocalization.format(BUTTON_MESSAGE)\r\n }\r\n }));\r\n this._legacyRender(editor.$element(), $element, options.visible);\r\n return {\r\n $element: $element,\r\n instance: instance\r\n }\r\n }\r\n _getOptions() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var visible = this._isVisible();\r\n var isReadOnly = editor.option(\"readOnly\");\r\n var options = {\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n activeStateEnabled: false,\r\n useInkRipple: false,\r\n disabled: isReadOnly,\r\n visible: visible\r\n };\r\n this._addTemplate(options);\r\n return options\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return super._isVisible() && editor.option(\"showDropDownButton\")\r\n }\r\n _legacyRender($editor, $element, isVisible) {\r\n $editor.toggleClass(DROP_DOWN_EDITOR_BUTTON_VISIBLE, isVisible);\r\n if ($element) {\r\n $element.removeClass(\"dx-button\").addClass(DROP_DOWN_EDITOR_BUTTON_CLASS)\r\n }\r\n }\r\n _isSameTemplate() {\r\n return this.editor.option(\"dropDownButtonTemplate\") === this.currentTemplate\r\n }\r\n _addTemplate(options) {\r\n if (!this._isSameTemplate()) {\r\n options.template = this.editor._getTemplateByOption(\"dropDownButtonTemplate\");\r\n this.currentTemplate = this.editor.option(\"dropDownButtonTemplate\")\r\n }\r\n }\r\n update() {\r\n var shouldUpdate = super.update();\r\n if (shouldUpdate) {\r\n var {\r\n editor: editor,\r\n instance: instance\r\n } = this;\r\n var $editor = editor.$element();\r\n var options = this._getOptions();\r\n null === instance || void 0 === instance ? void 0 : instance.option(options);\r\n this._legacyRender($editor, null === instance || void 0 === instance ? void 0 : instance.$element(), options.visible)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar getElementWidth = function($element) {\r\n if (hasWindow()) {\r\n return getOuterWidth($element)\r\n }\r\n};\r\nvar getSizeValue = function(size) {\r\n if (null === size) {\r\n size = void 0\r\n }\r\n if (\"function\" === typeof size) {\r\n size = size()\r\n }\r\n return size\r\n};\r\nexport {\r\n getElementWidth,\r\n getSizeValue\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/ui.drop_down_editor.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Guid from \"../../core/guid\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop,\r\n splitPair\r\n} from \"../../core/utils/common\";\r\nimport {\r\n focused\r\n} from \"../widget/selectors\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport animationPosition from \"../../animation/position\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../core/utils/position\";\r\nimport DropDownButton from \"./ui.drop_down_button\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport TextBox from \"../text_box\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n FunctionTemplate\r\n} from \"../../core/templates/function_template\";\r\nimport Popup from \"../popup/ui.popup\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n getElementWidth,\r\n getSizeValue\r\n} from \"./utils\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../../animation/translator\";\r\nvar DROP_DOWN_EDITOR_CLASS = \"dx-dropdowneditor\";\r\nvar DROP_DOWN_EDITOR_INPUT_WRAPPER = \"dx-dropdowneditor-input-wrapper\";\r\nvar DROP_DOWN_EDITOR_BUTTON_ICON = \"dx-dropdowneditor-icon\";\r\nvar DROP_DOWN_EDITOR_OVERLAY = \"dx-dropdowneditor-overlay\";\r\nvar DROP_DOWN_EDITOR_OVERLAY_FLIPPED = \"dx-dropdowneditor-overlay-flipped\";\r\nvar DROP_DOWN_EDITOR_ACTIVE = \"dx-dropdowneditor-active\";\r\nvar DROP_DOWN_EDITOR_FIELD_CLICKABLE = \"dx-dropdowneditor-field-clickable\";\r\nvar DROP_DOWN_EDITOR_FIELD_TEMPLATE_WRAPPER = \"dx-dropdowneditor-field-template-wrapper\";\r\nvar isIOs = \"ios\" === devices.current().platform;\r\nvar DropDownEditor = TextBox.inherit({\r\n _supportedKeys: function() {\r\n return extend({}, this.callBase(), {\r\n tab: function(e) {\r\n if (!this.option(\"opened\")) {\r\n return\r\n }\r\n if (\"instantly\" === this.option(\"applyValueMode\")) {\r\n this.close();\r\n return\r\n }\r\n var $focusableElement = e.shiftKey ? this._getLastPopupElement() : this._getFirstPopupElement();\r\n if ($focusableElement) {\r\n eventsEngine.trigger($focusableElement, \"focus\");\r\n $focusableElement.select()\r\n }\r\n e.preventDefault()\r\n },\r\n escape: function(e) {\r\n if (this.option(\"opened\")) {\r\n e.preventDefault()\r\n }\r\n this.close();\r\n return true\r\n },\r\n upArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (e.altKey) {\r\n this.close();\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n downArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (e.altKey) {\r\n this._validatedOpening();\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n enter: function(e) {\r\n if (this.option(\"opened\")) {\r\n e.preventDefault();\r\n this._valueChangeEventHandler(e)\r\n }\r\n return true\r\n }\r\n })\r\n },\r\n _getDefaultButtons: function() {\r\n return this.callBase().concat([{\r\n name: \"dropDown\",\r\n Ctor: DropDownButton\r\n }])\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: null,\r\n onOpened: null,\r\n onClosed: null,\r\n opened: false,\r\n acceptCustomValue: true,\r\n applyValueMode: \"instantly\",\r\n deferRendering: true,\r\n activeStateEnabled: true,\r\n dropDownButtonTemplate: \"dropDownButton\",\r\n fieldTemplate: null,\r\n openOnFieldClick: false,\r\n showDropDownButton: true,\r\n buttons: void 0,\r\n dropDownOptions: {\r\n showTitle: false\r\n },\r\n popupPosition: this._getDefaultPopupPosition(),\r\n onPopupInitialized: null,\r\n applyButtonText: messageLocalization.format(\"OK\"),\r\n cancelButtonText: messageLocalization.format(\"Cancel\"),\r\n buttonsLocation: \"default\",\r\n useHiddenSubmitElement: false,\r\n validationMessagePosition: \"auto\"\r\n })\r\n },\r\n _useTemplates: function() {\r\n return true\r\n },\r\n _getDefaultPopupPosition: function(isRtlEnabled) {\r\n var position = getDefaultAlignment(isRtlEnabled);\r\n return {\r\n offset: {\r\n h: 0,\r\n v: -1\r\n },\r\n my: position + \" top\",\r\n at: position + \" bottom\",\r\n collision: \"flip flip\"\r\n }\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function(_device) {\r\n var isGeneric = \"generic\" === _device.platform;\r\n return isGeneric\r\n },\r\n options: {\r\n popupPosition: {\r\n offset: {\r\n v: 0\r\n }\r\n }\r\n }\r\n }])\r\n },\r\n _inputWrapper: function() {\r\n return this.$element().find(\".\" + DROP_DOWN_EDITOR_INPUT_WRAPPER).first()\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initVisibilityActions();\r\n this._initPopupInitializedAction();\r\n this._updatePopupPosition(this.option(\"rtlEnabled\"));\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"))\r\n },\r\n _updatePopupPosition: function(isRtlEnabled) {\r\n var {\r\n my: my,\r\n at: at\r\n } = this._getDefaultPopupPosition(isRtlEnabled);\r\n var currentPosition = this.option(\"popupPosition\");\r\n this.option(\"popupPosition\", extend({}, currentPosition, {\r\n my: my,\r\n at: at\r\n }))\r\n },\r\n _initVisibilityActions: function() {\r\n this._openAction = this._createActionByOption(\"onOpened\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this._closeAction = this._createActionByOption(\"onClosed\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initPopupInitializedAction: function() {\r\n this._popupInitializedAction = this._createActionByOption(\"onPopupInitialized\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initMarkup: function() {\r\n this._renderSubmitElement();\r\n this.callBase();\r\n this.$element().addClass(DROP_DOWN_EDITOR_CLASS);\r\n this.setAria(\"role\", this._getAriaRole())\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderOpenHandler();\r\n this._attachFocusOutHandler();\r\n this._renderOpenedState()\r\n },\r\n _renderContentImpl: function() {\r\n if (!this.option(\"deferRendering\")) {\r\n this._createPopup()\r\n }\r\n },\r\n _renderInput: function() {\r\n this.callBase();\r\n this._renderTemplateWrapper();\r\n this._wrapInput();\r\n this._setDefaultAria()\r\n },\r\n _wrapInput: function() {\r\n this._$container = this.$element().wrapInner($(\"<div>\").addClass(DROP_DOWN_EDITOR_INPUT_WRAPPER)).children().eq(0)\r\n },\r\n _getAriaHasPopup: () => \"true\",\r\n _getAriaAutocomplete: () => \"list\",\r\n _getAriaRole: () => \"combobox\",\r\n _setDefaultAria: function() {\r\n this.setAria({\r\n haspopup: this._getAriaHasPopup(),\r\n autocomplete: this._getAriaAutocomplete(),\r\n role: this._getAriaRole()\r\n })\r\n },\r\n _readOnlyPropValue: function() {\r\n return !this._isEditable() || this.callBase()\r\n },\r\n _cleanFocusState: function() {\r\n this.callBase();\r\n if (this.option(\"fieldTemplate\")) {\r\n this._detachFocusEvents()\r\n }\r\n },\r\n _getFieldTemplate: function() {\r\n return this.option(\"fieldTemplate\") && this._getTemplateByOption(\"fieldTemplate\")\r\n },\r\n _renderMask: function() {\r\n if (this.option(\"fieldTemplate\")) {\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _renderField: function() {\r\n var fieldTemplate = this._getFieldTemplate();\r\n fieldTemplate && this._renderTemplatedField(fieldTemplate, this._fieldRenderData())\r\n },\r\n _renderPlaceholder: function() {\r\n var hasFieldTemplate = !!this._getFieldTemplate();\r\n if (!hasFieldTemplate) {\r\n this.callBase()\r\n }\r\n },\r\n _renderValue: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n this._setSubmitValue()\r\n }\r\n var promise = this.callBase();\r\n promise.always(this._renderField.bind(this))\r\n },\r\n _getButtonsContainer() {\r\n var fieldTemplate = this._getFieldTemplate();\r\n return fieldTemplate ? this._$container : this._$textEditorContainer\r\n },\r\n _renderTemplateWrapper() {\r\n var fieldTemplate = this._getFieldTemplate();\r\n if (!fieldTemplate) {\r\n return\r\n }\r\n if (!this._$templateWrapper) {\r\n this._$templateWrapper = $(\"<div>\").addClass(DROP_DOWN_EDITOR_FIELD_TEMPLATE_WRAPPER).prependTo(this.$element())\r\n }\r\n },\r\n _renderTemplatedField: function(fieldTemplate, data) {\r\n var isFocused = focused(this._input());\r\n this._detachKeyboardEvents();\r\n this._detachFocusEvents();\r\n this._$textEditorContainer.remove();\r\n this._$templateWrapper.empty();\r\n var $templateWrapper = this._$templateWrapper;\r\n fieldTemplate.render({\r\n model: data,\r\n container: getPublicElement($templateWrapper),\r\n onRendered: () => {\r\n var isRenderedInRoot = !!this.$element().find($templateWrapper).length;\r\n if (!isRenderedInRoot) {\r\n return\r\n }\r\n var $input = this._input();\r\n if (!$input.length) {\r\n throw errors.Error(\"E1010\")\r\n }\r\n this._integrateInput();\r\n isFocused && eventsEngine.trigger($input, \"focus\")\r\n }\r\n })\r\n },\r\n _integrateInput: function() {\r\n var _this$option;\r\n var {\r\n isValid: isValid\r\n } = this.option();\r\n this._renderFocusState();\r\n this._refreshValueChangeEvent();\r\n this._refreshEvents();\r\n this._refreshEmptinessEvent();\r\n this._setDefaultAria();\r\n this._setFieldAria();\r\n this._toggleValidationClasses(!isValid);\r\n null === (_this$option = this.option(\"_onMarkupRendered\")) || void 0 === _this$option ? void 0 : _this$option()\r\n },\r\n _refreshEmptinessEvent: function() {\r\n eventsEngine.off(this._input(), \"input blur\", this._toggleEmptinessEventHandler);\r\n this._renderEmptinessEvent()\r\n },\r\n _fieldRenderData: function() {\r\n return this.option(\"value\")\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n dropDownButton: new FunctionTemplate((function(options) {\r\n var $icon = $(\"<div>\").addClass(DROP_DOWN_EDITOR_BUTTON_ICON);\r\n $(options.container).append($icon)\r\n }))\r\n });\r\n this.callBase()\r\n },\r\n _renderOpenHandler: function() {\r\n var $inputWrapper = this._inputWrapper();\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n var openOnFieldClick = this.option(\"openOnFieldClick\");\r\n eventsEngine.off($inputWrapper, eventName);\r\n eventsEngine.on($inputWrapper, eventName, this._getInputClickHandler(openOnFieldClick));\r\n this.$element().toggleClass(DROP_DOWN_EDITOR_FIELD_CLICKABLE, openOnFieldClick);\r\n if (openOnFieldClick) {\r\n this._openOnFieldClickAction = this._createAction(this._openHandler.bind(this))\r\n }\r\n },\r\n _attachFocusOutHandler: function() {\r\n if (isIOs) {\r\n this._detachFocusOutEvents();\r\n eventsEngine.on(this._inputWrapper(), addNamespace(\"focusout\", this.NAME), event => {\r\n var newTarget = event.relatedTarget;\r\n if (newTarget && this.option(\"opened\")) {\r\n var isNewTargetOutside = this._isTargetOutOfComponent(newTarget);\r\n if (isNewTargetOutside) {\r\n this.close()\r\n }\r\n }\r\n })\r\n }\r\n },\r\n _isTargetOutOfComponent: function(newTarget) {\r\n var popupWrapper = this.content ? $(this.content()).closest(\".\".concat(DROP_DOWN_EDITOR_OVERLAY)) : this._$popup;\r\n var isTargetOutsidePopup = 0 === $(newTarget).closest(\".\".concat(DROP_DOWN_EDITOR_OVERLAY), popupWrapper).length;\r\n return isTargetOutsidePopup\r\n },\r\n _detachFocusOutEvents: function() {\r\n isIOs && eventsEngine.off(this._inputWrapper(), addNamespace(\"focusout\", this.NAME))\r\n },\r\n _getInputClickHandler: function(openOnFieldClick) {\r\n return openOnFieldClick ? e => {\r\n this._executeOpenAction(e)\r\n } : e => {\r\n this._focusInput()\r\n }\r\n },\r\n _openHandler: function() {\r\n this._toggleOpenState()\r\n },\r\n _executeOpenAction: function(e) {\r\n this._openOnFieldClickAction({\r\n event: e\r\n })\r\n },\r\n _keyboardEventBindingTarget: function() {\r\n return this._input()\r\n },\r\n _focusInput: function() {\r\n if (this.option(\"disabled\")) {\r\n return false\r\n }\r\n if (this.option(\"focusStateEnabled\") && !focused(this._input())) {\r\n this._resetCaretPosition();\r\n eventsEngine.trigger(this._input(), \"focus\")\r\n }\r\n return true\r\n },\r\n _resetCaretPosition: function() {\r\n var ignoreEditable = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n var inputElement = this._input().get(0);\r\n if (inputElement) {\r\n var {\r\n value: value\r\n } = inputElement;\r\n var caretPosition = isDefined(value) && (ignoreEditable || this._isEditable()) ? value.length : 0;\r\n this._caret({\r\n start: caretPosition,\r\n end: caretPosition\r\n }, true)\r\n }\r\n },\r\n _isEditable: function() {\r\n return this.option(\"acceptCustomValue\")\r\n },\r\n _toggleOpenState: function(isVisible) {\r\n if (!this._focusInput()) {\r\n return\r\n }\r\n if (!this.option(\"readOnly\")) {\r\n isVisible = arguments.length ? isVisible : !this.option(\"opened\");\r\n this.option(\"opened\", isVisible)\r\n }\r\n },\r\n _getControlsAria() {\r\n return this._popup && this._popupContentId\r\n },\r\n _renderOpenedState: function() {\r\n var opened = this.option(\"opened\");\r\n if (opened) {\r\n this._createPopup()\r\n }\r\n this.$element().toggleClass(DROP_DOWN_EDITOR_ACTIVE, opened);\r\n this._setPopupOption(\"visible\", opened);\r\n var arias = {\r\n expanded: opened,\r\n controls: this._getControlsAria()\r\n };\r\n this.setAria(arias);\r\n this.setAria(\"owns\", opened ? this._popupContentId : void 0, this.$element())\r\n },\r\n _createPopup: function() {\r\n if (this._$popup) {\r\n return\r\n }\r\n this._$popup = $(\"<div>\").addClass(DROP_DOWN_EDITOR_OVERLAY).appendTo(this.$element());\r\n this._renderPopup();\r\n this._renderPopupContent()\r\n },\r\n _renderPopupContent: noop,\r\n _renderPopup: function() {\r\n var popupConfig = extend(this._popupConfig(), this._options.cache(\"dropDownOptions\"));\r\n delete popupConfig.closeOnOutsideClick;\r\n if (popupConfig.elementAttr && !Object.keys(popupConfig.elementAttr).length) {\r\n delete popupConfig.elementAttr\r\n }\r\n this._popup = this._createComponent(this._$popup, Popup, popupConfig);\r\n this._popup.on({\r\n showing: this._popupShowingHandler.bind(this),\r\n shown: this._popupShownHandler.bind(this),\r\n hiding: this._popupHidingHandler.bind(this),\r\n hidden: this._popupHiddenHandler.bind(this),\r\n contentReady: this._contentReadyHandler.bind(this)\r\n });\r\n this._contentReadyHandler();\r\n this._setPopupContentId(this._popup.$content());\r\n this._bindInnerWidgetOptions(this._popup, \"dropDownOptions\")\r\n },\r\n _setPopupContentId($popupContent) {\r\n this._popupContentId = \"dx-\" + new Guid;\r\n this.setAria(\"id\", this._popupContentId, $popupContent)\r\n },\r\n _contentReadyHandler: noop,\r\n _popupConfig: function() {\r\n return {\r\n onInitialized: this._popupInitializedHandler(),\r\n position: extend(this.option(\"popupPosition\"), {\r\n of: this.$element()\r\n }),\r\n showTitle: this.option(\"dropDownOptions.showTitle\"),\r\n _ignoreFunctionValueDeprecation: true,\r\n width: () => getElementWidth(this.$element()),\r\n height: \"auto\",\r\n shading: false,\r\n hideOnParentScroll: true,\r\n hideOnOutsideClick: e => this._closeOutsideDropDownHandler(e),\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n duration: 0,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n },\r\n deferRendering: false,\r\n focusStateEnabled: false,\r\n showCloseButton: false,\r\n dragEnabled: false,\r\n toolbarItems: this._getPopupToolbarItems(),\r\n onPositioned: this._popupPositionedHandler.bind(this),\r\n fullScreen: false,\r\n contentTemplate: null,\r\n _hideOnParentScrollTarget: this.$element(),\r\n _wrapperClassExternal: DROP_DOWN_EDITOR_OVERLAY,\r\n _ignorePreventScrollEventsDeprecation: true\r\n }\r\n },\r\n _popupInitializedHandler: function() {\r\n if (!this.option(\"onPopupInitialized\")) {\r\n return null\r\n }\r\n return e => {\r\n this._popupInitializedAction({\r\n popup: e.component\r\n })\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n if (hasWindow() && !this.$element().is(\":visible\")) {\r\n this.close();\r\n return\r\n }\r\n this._updatePopupWidth()\r\n },\r\n _updatePopupWidth: function() {\r\n var popupWidth = getSizeValue(this.option(\"dropDownOptions.width\"));\r\n if (void 0 === popupWidth) {\r\n this._setPopupOption(\"width\", () => getElementWidth(this.$element()))\r\n }\r\n },\r\n _popupPositionedHandler: function(e) {\r\n var _e$position, _e$position$v;\r\n var {\r\n labelMode: labelMode,\r\n stylingMode: stylingMode\r\n } = this.option();\r\n if (!this._popup) {\r\n return\r\n }\r\n var $popupOverlayContent = this._popup.$overlayContent();\r\n var isOverlayFlipped = null === (_e$position = e.position) || void 0 === _e$position ? void 0 : null === (_e$position$v = _e$position.v) || void 0 === _e$position$v ? void 0 : _e$position$v.flip;\r\n var shouldIndentForLabel = \"hidden\" !== labelMode && \"outlined\" === stylingMode;\r\n if (e.position) {\r\n $popupOverlayContent.toggleClass(DROP_DOWN_EDITOR_OVERLAY_FLIPPED, isOverlayFlipped)\r\n }\r\n if (isOverlayFlipped && shouldIndentForLabel && this._label.isVisible()) {\r\n var $label = this._label.$element();\r\n move($popupOverlayContent, {\r\n top: locate($popupOverlayContent).top - parseInt($label.css(\"fontSize\"))\r\n })\r\n }\r\n },\r\n _popupShowingHandler: noop,\r\n _popupHidingHandler: function() {\r\n this.option(\"opened\", false)\r\n },\r\n _popupShownHandler: function() {\r\n var _this$_validationMess;\r\n this._openAction();\r\n null === (_this$_validationMess = this._validationMessage) || void 0 === _this$_validationMess ? void 0 : _this$_validationMess.option(\"positionSide\", this._getValidationMessagePositionSide())\r\n },\r\n _popupHiddenHandler: function() {\r\n var _this$_validationMess2;\r\n this._closeAction();\r\n null === (_this$_validationMess2 = this._validationMessage) || void 0 === _this$_validationMess2 ? void 0 : _this$_validationMess2.option(\"positionSide\", this._getValidationMessagePositionSide())\r\n },\r\n _getValidationMessagePositionSide: function() {\r\n var validationMessagePosition = this.option(\"validationMessagePosition\");\r\n if (\"auto\" !== validationMessagePosition) {\r\n return validationMessagePosition\r\n }\r\n var positionSide = \"bottom\";\r\n if (this._popup && this._popup.option(\"visible\")) {\r\n var {\r\n top: myTop\r\n } = animationPosition.setup(this.$element());\r\n var {\r\n top: popupTop\r\n } = animationPosition.setup(this._popup.$content());\r\n positionSide = myTop + this.option(\"popupPosition\").offset.v > popupTop ? \"bottom\" : \"top\"\r\n }\r\n return positionSide\r\n },\r\n _closeOutsideDropDownHandler: function(_ref) {\r\n var {\r\n target: target\r\n } = _ref;\r\n var $target = $(target);\r\n var dropDownButton = this.getButton(\"dropDown\");\r\n var $dropDownButton = dropDownButton && dropDownButton.$element();\r\n var isInputClicked = !!$target.closest(this.$element()).length;\r\n var isDropDownButtonClicked = !!$target.closest($dropDownButton).length;\r\n var isOutsideClick = !isInputClicked && !isDropDownButtonClicked;\r\n return isOutsideClick\r\n },\r\n _clean: function() {\r\n delete this._openOnFieldClickAction;\r\n delete this._$templateWrapper;\r\n if (this._$popup) {\r\n this._$popup.remove();\r\n delete this._$popup;\r\n delete this._popup\r\n }\r\n this.callBase()\r\n },\r\n _setPopupOption: function(optionName, value) {\r\n this._setWidgetOption(\"_popup\", arguments)\r\n },\r\n _validatedOpening: function() {\r\n if (!this.option(\"readOnly\")) {\r\n this._toggleOpenState(true)\r\n }\r\n },\r\n _getPopupToolbarItems: function() {\r\n return \"useButtons\" === this.option(\"applyValueMode\") ? this._popupToolbarItemsConfig() : []\r\n },\r\n _getFirstPopupElement: function() {\r\n return this._popup.$wrapper().find(\".dx-popup-done.dx-button\")\r\n },\r\n _getLastPopupElement: function() {\r\n return this._popup.$wrapper().find(\".dx-popup-cancel.dx-button\")\r\n },\r\n _popupElementTabHandler: function(e) {\r\n var $element = $(e.currentTarget);\r\n if (e.shiftKey && $element.is(this._getFirstPopupElement()) || !e.shiftKey && $element.is(this._getLastPopupElement())) {\r\n eventsEngine.trigger(this._input(), \"focus\");\r\n e.preventDefault()\r\n }\r\n },\r\n _popupElementEscHandler: function() {\r\n eventsEngine.trigger(this._input(), \"focus\");\r\n this.close()\r\n },\r\n _popupButtonInitializedHandler: function(e) {\r\n e.component.registerKeyHandler(\"tab\", this._popupElementTabHandler.bind(this));\r\n e.component.registerKeyHandler(\"escape\", this._popupElementEscHandler.bind(this))\r\n },\r\n _popupToolbarItemsConfig: function() {\r\n var buttonsConfig = [{\r\n shortcut: \"done\",\r\n options: {\r\n onClick: this._applyButtonHandler.bind(this),\r\n text: this.option(\"applyButtonText\"),\r\n onInitialized: this._popupButtonInitializedHandler.bind(this)\r\n }\r\n }, {\r\n shortcut: \"cancel\",\r\n options: {\r\n onClick: this._cancelButtonHandler.bind(this),\r\n text: this.option(\"cancelButtonText\"),\r\n onInitialized: this._popupButtonInitializedHandler.bind(this)\r\n }\r\n }];\r\n return this._applyButtonsLocation(buttonsConfig)\r\n },\r\n _applyButtonsLocation: function(buttonsConfig) {\r\n var buttonsLocation = this.option(\"buttonsLocation\");\r\n var resultConfig = buttonsConfig;\r\n if (\"default\" !== buttonsLocation) {\r\n var position = splitPair(buttonsLocation);\r\n each(resultConfig, (function(_, element) {\r\n extend(element, {\r\n toolbar: position[0],\r\n location: position[1]\r\n })\r\n }))\r\n }\r\n return resultConfig\r\n },\r\n _applyButtonHandler: function() {\r\n this.close();\r\n this.option(\"focusStateEnabled\") && this.focus()\r\n },\r\n _cancelButtonHandler: function() {\r\n this.close();\r\n this.option(\"focusStateEnabled\") && this.focus()\r\n },\r\n _popupOptionChanged: function(args) {\r\n var options = Widget.getOptionsFromContainer(args);\r\n this._setPopupOption(options);\r\n var optionsKeys = Object.keys(options);\r\n if (-1 !== optionsKeys.indexOf(\"width\") || -1 !== optionsKeys.indexOf(\"height\")) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _renderSubmitElement: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n this._$submitElement = $(\"<input>\").attr(\"type\", \"hidden\").appendTo(this.$element())\r\n }\r\n },\r\n _setSubmitValue: function() {\r\n this._getSubmitElement().val(this.option(\"value\"))\r\n },\r\n _getSubmitElement: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n return this._$submitElement\r\n } else {\r\n return this.callBase()\r\n }\r\n },\r\n _dispose: function() {\r\n this._detachFocusOutEvents();\r\n this.callBase()\r\n },\r\n _optionChanged: function(args) {\r\n var _this$_popup;\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.repaint();\r\n break;\r\n case \"opened\":\r\n this._renderOpenedState();\r\n break;\r\n case \"onOpened\":\r\n case \"onClosed\":\r\n this._initVisibilityActions();\r\n break;\r\n case \"onPopupInitialized\":\r\n this._initPopupInitializedAction();\r\n break;\r\n case \"fieldTemplate\":\r\n case \"acceptCustomValue\":\r\n case \"openOnFieldClick\":\r\n this._invalidate();\r\n break;\r\n case \"dropDownButtonTemplate\":\r\n case \"showDropDownButton\":\r\n this._updateButtons([\"dropDown\"]);\r\n break;\r\n case \"dropDownOptions\":\r\n this._popupOptionChanged(args);\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"));\r\n break;\r\n case \"popupPosition\":\r\n break;\r\n case \"deferRendering\":\r\n if (hasWindow()) {\r\n this._createPopup()\r\n }\r\n break;\r\n case \"applyValueMode\":\r\n case \"applyButtonText\":\r\n case \"cancelButtonText\":\r\n case \"buttonsLocation\":\r\n this._setPopupOption(\"toolbarItems\", this._getPopupToolbarItems());\r\n break;\r\n case \"useHiddenSubmitElement\":\r\n if (this._$submitElement) {\r\n this._$submitElement.remove();\r\n this._$submitElement = void 0\r\n }\r\n this._renderSubmitElement();\r\n break;\r\n case \"rtlEnabled\":\r\n this._updatePopupPosition(args.value);\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n open: function() {\r\n this.option(\"opened\", true)\r\n },\r\n close: function() {\r\n this.option(\"opened\", false)\r\n },\r\n field: function() {\r\n return getPublicElement(this._input())\r\n },\r\n content: function() {\r\n return this._popup ? this._popup.content() : null\r\n }\r\n});\r\nregisterComponent(\"dxDropDownEditor\", DropDownEditor);\r\nexport default DropDownEditor;\r\n","/**\r\n * DevExtreme (esm/ui/editor/ui.data_expression.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport variableWrapper from \"../../core/utils/variable_wrapper\";\r\nimport {\r\n compileGetter,\r\n toComparable\r\n} from \"../../core/utils/data\";\r\nimport {\r\n ensureDefined,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isObject as isObjectType,\r\n isString,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport DataHelperMixin from \"../../data_helper\";\r\nimport {\r\n DataSource\r\n} from \"../../data/data_source/data_source\";\r\nimport ArrayStore from \"../../data/array_store\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar DataExpressionMixin = extend({}, DataHelperMixin, {\r\n _dataExpressionDefaultOptions: function() {\r\n return {\r\n items: [],\r\n dataSource: null,\r\n itemTemplate: \"item\",\r\n value: null,\r\n valueExpr: \"this\",\r\n displayExpr: void 0\r\n }\r\n },\r\n _initDataExpressions: function() {\r\n this._compileValueGetter();\r\n this._compileDisplayGetter();\r\n this._initDynamicTemplates();\r\n this._initDataSource();\r\n this._itemsToDataSource()\r\n },\r\n _itemsToDataSource: function() {\r\n if (!this.option(\"dataSource\")) {\r\n this._dataSource = new DataSource({\r\n store: new ArrayStore(this.option(\"items\")),\r\n pageSize: 0\r\n });\r\n this._initDataController()\r\n }\r\n },\r\n _compileDisplayGetter: function() {\r\n this._displayGetter = compileGetter(this._displayGetterExpr())\r\n },\r\n _displayGetterExpr: function() {\r\n return this.option(\"displayExpr\")\r\n },\r\n _compileValueGetter: function() {\r\n this._valueGetter = compileGetter(this._valueGetterExpr())\r\n },\r\n _valueGetterExpr: function() {\r\n return this.option(\"valueExpr\") || \"this\"\r\n },\r\n _loadValue: function(value) {\r\n var deferred = new Deferred;\r\n value = this._unwrappedValue(value);\r\n if (!isDefined(value)) {\r\n return deferred.reject().promise()\r\n }\r\n this._loadSingle(this._valueGetterExpr(), value).done(function(item) {\r\n this._isValueEquals(this._valueGetter(item), value) ? deferred.resolve(item) : deferred.reject()\r\n }.bind(this)).fail((function() {\r\n deferred.reject()\r\n }));\r\n this._loadValueDeferred = deferred;\r\n return deferred.promise()\r\n },\r\n _rejectValueLoading: function() {\r\n var _this$_loadValueDefer;\r\n null === (_this$_loadValueDefer = this._loadValueDeferred) || void 0 === _this$_loadValueDefer ? void 0 : _this$_loadValueDefer.reject({\r\n shouldSkipCallback: true\r\n })\r\n },\r\n _getCurrentValue: function() {\r\n return this.option(\"value\")\r\n },\r\n _unwrappedValue: function(value) {\r\n var _value;\r\n value = null !== (_value = value) && void 0 !== _value ? _value : this._getCurrentValue();\r\n if (value && this._dataSource && \"this\" === this._valueGetterExpr()) {\r\n value = this._getItemKey(value)\r\n }\r\n return variableWrapper.unwrap(value)\r\n },\r\n _getItemKey: function(value) {\r\n var key = this._dataSource.key();\r\n if (Array.isArray(key)) {\r\n var result = {};\r\n for (var i = 0, n = key.length; i < n; i++) {\r\n result[key[i]] = value[key[i]]\r\n }\r\n return result\r\n }\r\n if (key && \"object\" === typeof value) {\r\n value = value[key]\r\n }\r\n return value\r\n },\r\n _isValueEquals: function(value1, value2) {\r\n var dataSourceKey = this._dataSource && this._dataSource.key();\r\n var result = this._compareValues(value1, value2);\r\n if (!result && dataSourceKey && isDefined(value1) && isDefined(value2)) {\r\n if (Array.isArray(dataSourceKey)) {\r\n result = this._compareByCompositeKey(value1, value2, dataSourceKey)\r\n } else {\r\n result = this._compareByKey(value1, value2, dataSourceKey)\r\n }\r\n }\r\n return result\r\n },\r\n _compareByCompositeKey: function(value1, value2, key) {\r\n var isObject = isObjectType;\r\n if (!isObject(value1) || !isObject(value2)) {\r\n return false\r\n }\r\n for (var i = 0, n = key.length; i < n; i++) {\r\n if (value1[key[i]] !== value2[key[i]]) {\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n _compareByKey: function(value1, value2, key) {\r\n var unwrapObservable = variableWrapper.unwrap;\r\n var valueKey1 = ensureDefined(unwrapObservable(value1[key]), value1);\r\n var valueKey2 = ensureDefined(unwrapObservable(value2[key]), value2);\r\n return this._compareValues(valueKey1, valueKey2)\r\n },\r\n _compareValues: function(value1, value2) {\r\n return toComparable(value1, true) === toComparable(value2, true)\r\n },\r\n _initDynamicTemplates: noop,\r\n _setCollectionWidgetItemTemplate: function() {\r\n this._initDynamicTemplates();\r\n this._setCollectionWidgetOption(\"itemTemplate\", this.option(\"itemTemplate\"))\r\n },\r\n _getCollectionKeyExpr: function() {\r\n var valueExpr = this.option(\"valueExpr\");\r\n var isValueExprField = isString(valueExpr) && \"this\" !== valueExpr || isFunction(valueExpr);\r\n return isValueExprField ? valueExpr : null\r\n },\r\n _dataExpressionOptionChanged: function(args) {\r\n switch (args.name) {\r\n case \"items\":\r\n this._itemsToDataSource();\r\n this._setCollectionWidgetOption(\"items\");\r\n break;\r\n case \"dataSource\":\r\n this._initDataSource();\r\n break;\r\n case \"itemTemplate\":\r\n this._setCollectionWidgetItemTemplate();\r\n break;\r\n case \"valueExpr\":\r\n this._compileValueGetter();\r\n break;\r\n case \"displayExpr\":\r\n this._compileDisplayGetter();\r\n this._initDynamicTemplates();\r\n this._setCollectionWidgetOption(\"displayExpr\")\r\n }\r\n }\r\n});\r\nexport default DataExpressionMixin;\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/ui.drop_down_list.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Guid from \"../../core/guid\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop,\r\n ensureDefined,\r\n grep\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isWindow,\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport DropDownEditor from \"./ui.drop_down_editor\";\r\nimport List from \"../list_light\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport devices from \"../../core/devices\";\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport DataExpressionMixin from \"../editor/ui.data_expression\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n ChildDefaultTemplate\r\n} from \"../../core/templates/child_default_template\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport DataConverterMixin from \"../shared/grouped_data_converter_mixin\";\r\nvar LIST_ITEM_SELECTOR = \".dx-list-item\";\r\nvar LIST_ITEM_DATA_KEY = \"dxListItemData\";\r\nvar DROPDOWNLIST_POPUP_WRAPPER_CLASS = \"dx-dropdownlist-popup-wrapper\";\r\nvar SEARCH_EVENT = \"input\";\r\nvar SEARCH_MODES = [\"startswith\", \"contains\", \"endwith\", \"notcontains\"];\r\nvar useCompositionEvents = \"android\" !== devices.real().platform;\r\nvar DropDownList = DropDownEditor.inherit({\r\n _supportedKeys: function() {\r\n var parent = this.callBase();\r\n return extend({}, parent, {\r\n tab: function(e) {\r\n if (this._allowSelectItemByTab()) {\r\n this._saveValueChangeEvent(e);\r\n var $focusedItem = $(this._list.option(\"focusedElement\"));\r\n $focusedItem.length && this._setSelectedElement($focusedItem)\r\n }\r\n parent.tab.apply(this, arguments)\r\n },\r\n space: noop,\r\n home: noop,\r\n end: noop\r\n })\r\n },\r\n _allowSelectItemByTab: function() {\r\n return this.option(\"opened\") && \"instantly\" === this.option(\"applyValueMode\")\r\n },\r\n _setSelectedElement: function($element) {\r\n var value = this._valueGetter(this._list._getItemData($element));\r\n this._setValue(value)\r\n },\r\n _setValue: function(value) {\r\n this.option(\"value\", value)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), extend(DataExpressionMixin._dataExpressionDefaultOptions(), {\r\n displayValue: void 0,\r\n searchEnabled: false,\r\n searchMode: \"contains\",\r\n searchTimeout: 500,\r\n minSearchLength: 0,\r\n searchExpr: null,\r\n valueChangeEvent: \"input change keyup\",\r\n selectedItem: null,\r\n noDataText: messageLocalization.format(\"dxCollectionWidget-noDataText\"),\r\n encodeNoDataText: false,\r\n onSelectionChanged: null,\r\n onItemClick: noop,\r\n showDataBeforeSearch: false,\r\n grouped: false,\r\n groupTemplate: \"group\",\r\n popupPosition: {\r\n my: \"left top\",\r\n at: \"left bottom\",\r\n offset: {\r\n h: 0,\r\n v: 0\r\n },\r\n collision: \"flip\"\r\n },\r\n wrapItemText: false,\r\n useItemTextAsTitle: false\r\n }))\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n popupPosition: {\r\n offset: {\r\n v: -1\r\n }\r\n }\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n buttonsLocation: \"bottom center\"\r\n }\r\n }])\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n value: true,\r\n selectedItem: true,\r\n displayValue: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initDataExpressions();\r\n this._initActions();\r\n this._setListDataSource();\r\n this._validateSearchMode();\r\n this._clearSelectedItem();\r\n this._initItems()\r\n },\r\n _setListFocusedElementOptionChange: function() {\r\n this._list._updateParentActiveDescendant = this._updateActiveDescendant.bind(this)\r\n },\r\n _initItems: function() {\r\n var items = this.option().items;\r\n if (items && !items.length && this._dataSource) {\r\n this.option().items = this._dataSource.items()\r\n }\r\n },\r\n _initActions: function() {\r\n this._initContentReadyAction();\r\n this._initSelectionChangedAction();\r\n this._initItemClickAction()\r\n },\r\n _initContentReadyAction: function() {\r\n this._contentReadyAction = this._createActionByOption(\"onContentReady\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initSelectionChangedAction: function() {\r\n this._selectionChangedAction = this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initItemClickAction: function() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new ChildDefaultTemplate(\"item\")\r\n })\r\n },\r\n _isEditable: function() {\r\n return this.callBase() || this.option(\"searchEnabled\")\r\n },\r\n _saveFocusOnWidget: function(e) {\r\n if (this._list && this._list.initialOption(\"focusStateEnabled\")) {\r\n this._focusInput()\r\n }\r\n },\r\n _fitIntoRange: function(value, start, end) {\r\n if (value > end) {\r\n return start\r\n }\r\n if (value < start) {\r\n return end\r\n }\r\n return value\r\n },\r\n _items: function() {\r\n var items = this._getPlainItems(!this._list && this._dataSource.items());\r\n var availableItems = new dataQuery(items).filter(\"disabled\", \"<>\", true).toArray();\r\n return availableItems\r\n },\r\n _calcNextItem: function(step) {\r\n var items = this._items();\r\n var nextIndex = this._fitIntoRange(this._getSelectedIndex() + step, 0, items.length - 1);\r\n return items[nextIndex]\r\n },\r\n _getSelectedIndex: function() {\r\n var items = this._items();\r\n var selectedItem = this.option(\"selectedItem\");\r\n var result = -1;\r\n each(items, function(index, item) {\r\n if (this._isValueEquals(item, selectedItem)) {\r\n result = index;\r\n return false\r\n }\r\n }.bind(this));\r\n return result\r\n },\r\n _createPopup: function() {\r\n this.callBase();\r\n this._updateCustomBoundaryContainer();\r\n this._popup.$wrapper().addClass(this._popupWrapperClass());\r\n var $popupContent = this._popup.$content();\r\n eventsEngine.off($popupContent, \"mouseup\");\r\n eventsEngine.on($popupContent, \"mouseup\", this._saveFocusOnWidget.bind(this))\r\n },\r\n _updateCustomBoundaryContainer: function() {\r\n var customContainer = this.option(\"dropDownOptions.container\");\r\n var $container = customContainer && $(customContainer);\r\n if ($container && $container.length && !isWindow($container.get(0))) {\r\n var $containerWithParents = [].slice.call($container.parents());\r\n $containerWithParents.unshift($container.get(0));\r\n each($containerWithParents, function(i, parent) {\r\n if (parent === $(\"body\").get(0)) {\r\n return false\r\n } else if (\"hidden\" === window.getComputedStyle(parent).overflowY) {\r\n this._$customBoundaryContainer = $(parent);\r\n return false\r\n }\r\n }.bind(this))\r\n }\r\n },\r\n _popupWrapperClass: function() {\r\n return DROPDOWNLIST_POPUP_WRAPPER_CLASS\r\n },\r\n _renderInputValue: function() {\r\n var value = this._getCurrentValue();\r\n this._rejectValueLoading();\r\n return this._loadInputValue(value, this._setSelectedItem.bind(this)).always(this.callBase.bind(this, value))\r\n },\r\n _loadInputValue: function(value, callback) {\r\n return this._loadItem(value).always(callback)\r\n },\r\n _getItemFromPlain: function(value, cache) {\r\n var plainItems;\r\n var selectedItem;\r\n if (cache && \"object\" !== typeof value) {\r\n if (!cache.itemByValue) {\r\n cache.itemByValue = {};\r\n plainItems = this._getPlainItems();\r\n plainItems.forEach((function(item) {\r\n cache.itemByValue[this._valueGetter(item)] = item\r\n }), this)\r\n }\r\n selectedItem = cache.itemByValue[value]\r\n }\r\n if (!selectedItem) {\r\n plainItems = this._getPlainItems();\r\n selectedItem = grep(plainItems, function(item) {\r\n return this._isValueEquals(this._valueGetter(item), value)\r\n }.bind(this))[0]\r\n }\r\n return selectedItem\r\n },\r\n _loadItem: function(value, cache) {\r\n var selectedItem = this._getItemFromPlain(value, cache);\r\n return void 0 !== selectedItem ? (new Deferred).resolve(selectedItem).promise() : this._loadValue(value)\r\n },\r\n _getPlainItems: function(items) {\r\n var plainItems = [];\r\n items = items || this.option(\"items\") || this._dataSource.items() || [];\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] && items[i].items) {\r\n plainItems = plainItems.concat(items[i].items)\r\n } else {\r\n plainItems.push(items[i])\r\n }\r\n }\r\n return plainItems\r\n },\r\n _updateActiveDescendant() {\r\n var _this$_list;\r\n var opened = this.option(\"opened\");\r\n var listFocusedItemId = null === (_this$_list = this._list) || void 0 === _this$_list ? void 0 : _this$_list.getFocusedItemId();\r\n var isElementOnDom = $(\"#\".concat(listFocusedItemId)).length > 0;\r\n var activedescendant = opened && isElementOnDom && listFocusedItemId;\r\n this.setAria({\r\n activedescendant: activedescendant || null\r\n })\r\n },\r\n _setSelectedItem: function(item) {\r\n var displayValue = this._displayValue(item);\r\n this.option(\"selectedItem\", ensureDefined(item, null));\r\n this.option(\"displayValue\", displayValue)\r\n },\r\n _displayValue: function(item) {\r\n return this._displayGetter(item)\r\n },\r\n _refreshSelected: function() {\r\n var cache = {};\r\n this._listItemElements().each(function(_, itemElement) {\r\n var $itemElement = $(itemElement);\r\n var itemValue = this._valueGetter($itemElement.data(LIST_ITEM_DATA_KEY));\r\n var isItemSelected = this._isSelectedValue(itemValue, cache);\r\n if (isItemSelected) {\r\n this._list.selectItem($itemElement)\r\n } else {\r\n this._list.unselectItem($itemElement)\r\n }\r\n }.bind(this))\r\n },\r\n _popupShownHandler: function() {\r\n this.callBase();\r\n this._setFocusPolicy()\r\n },\r\n _setFocusPolicy: function() {\r\n if (!this.option(\"focusStateEnabled\") || !this._list) {\r\n return\r\n }\r\n this._list.option(\"focusedElement\", null)\r\n },\r\n _isSelectedValue: function(value) {\r\n return this._isValueEquals(value, this.option(\"value\"))\r\n },\r\n _validateSearchMode: function() {\r\n var searchMode = this.option(\"searchMode\");\r\n var normalizedSearchMode = searchMode.toLowerCase();\r\n if (!SEARCH_MODES.includes(normalizedSearchMode)) {\r\n throw errors.Error(\"E1019\", searchMode)\r\n }\r\n },\r\n _clearSelectedItem: function() {\r\n this.option(\"selectedItem\", null)\r\n },\r\n _processDataSourceChanging: function() {\r\n this._initDataController();\r\n this._setListOption(\"_dataController\", this._dataController);\r\n this._setListDataSource();\r\n this._renderInputValue().fail(function() {\r\n if (this._isCustomValueAllowed()) {\r\n return\r\n }\r\n this._clearSelectedItem()\r\n }.bind(this))\r\n },\r\n _isCustomValueAllowed: function() {\r\n return this.option(\"displayCustomValue\")\r\n },\r\n reset: function() {\r\n this.callBase();\r\n this._clearFilter();\r\n this._clearSelectedItem()\r\n },\r\n _listItemElements: function() {\r\n return this._$list ? this._$list.find(LIST_ITEM_SELECTOR) : $()\r\n },\r\n _popupConfig: function() {\r\n return extend(this.callBase(), {\r\n templatesRenderAsynchronously: false,\r\n autoResizeEnabled: false,\r\n maxHeight: this._getMaxHeight.bind(this)\r\n })\r\n },\r\n _renderPopupContent: function() {\r\n this.callBase();\r\n this._renderList()\r\n },\r\n _getKeyboardListeners() {\r\n var canListHaveFocus = this._canListHaveFocus();\r\n return this.callBase().concat([!canListHaveFocus && this._list])\r\n },\r\n _renderList: function() {\r\n this._listId = \"dx-\" + (new Guid)._value;\r\n var $list = $(\"<div>\").attr(\"id\", this._listId).appendTo(this._popup.$content());\r\n this._$list = $list;\r\n this._list = this._createComponent($list, List, this._listConfig());\r\n this._refreshList();\r\n this._renderPreventBlurOnListClick();\r\n this._setListFocusedElementOptionChange()\r\n },\r\n _renderPreventBlurOnListClick: function() {\r\n var eventName = addNamespace(\"mousedown\", \"dxDropDownList\");\r\n eventsEngine.off(this._$list, eventName);\r\n eventsEngine.on(this._$list, eventName, e => e.preventDefault())\r\n },\r\n _getControlsAria() {\r\n return this._list && this._listId\r\n },\r\n _renderOpenedState: function() {\r\n this.callBase();\r\n this._list && this._updateActiveDescendant();\r\n this.setAria(\"owns\", this._popup && this._popupContentId)\r\n },\r\n _getAriaHasPopup: () => \"listbox\",\r\n _refreshList: function() {\r\n if (this._list && this._shouldRefreshDataSource()) {\r\n this._setListDataSource()\r\n }\r\n },\r\n _shouldRefreshDataSource: function() {\r\n var dataSourceProvided = !!this._list.option(\"dataSource\");\r\n return dataSourceProvided !== this._needPassDataSourceToList()\r\n },\r\n _isDesktopDevice: function() {\r\n return \"desktop\" === devices.real().deviceType\r\n },\r\n _listConfig: function() {\r\n var options = {\r\n selectionMode: \"single\",\r\n _templates: this.option(\"_templates\"),\r\n templateProvider: this.option(\"templateProvider\"),\r\n noDataText: this.option(\"noDataText\"),\r\n encodeNoDataText: this.option(\"encodeNoDataText\"),\r\n grouped: this.option(\"grouped\"),\r\n wrapItemText: this.option(\"wrapItemText\"),\r\n useItemTextAsTitle: this.option(\"useItemTextAsTitle\"),\r\n onContentReady: this._listContentReadyHandler.bind(this),\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n indicateLoading: false,\r\n keyExpr: this._getCollectionKeyExpr(),\r\n displayExpr: this._displayGetterExpr(),\r\n groupTemplate: this.option(\"groupTemplate\"),\r\n onItemClick: this._listItemClickAction.bind(this),\r\n dataSource: this._getDataSource(),\r\n _dataController: this._dataController,\r\n hoverStateEnabled: this._isDesktopDevice() ? this.option(\"hoverStateEnabled\") : false,\r\n focusStateEnabled: this._isDesktopDevice() ? this.option(\"focusStateEnabled\") : false\r\n };\r\n if (!this._canListHaveFocus()) {\r\n options.tabIndex = null\r\n }\r\n return options\r\n },\r\n _canListHaveFocus: () => false,\r\n _getDataSource: function() {\r\n return this._needPassDataSourceToList() ? this._dataSource : null\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _getGroupedOption: function() {\r\n return this.option(\"grouped\")\r\n },\r\n _dataSourceFromUrlLoadMode: function() {\r\n return \"raw\"\r\n },\r\n _listContentReadyHandler: function() {\r\n this._list = this._list || this._$list.dxList(\"instance\");\r\n if (!this.option(\"deferRendering\")) {\r\n this._refreshSelected()\r\n }\r\n this._updatePopupWidth();\r\n this._updateListDimensions();\r\n this._contentReadyAction()\r\n },\r\n _setListOption: function(optionName, value) {\r\n this._setWidgetOption(\"_list\", arguments)\r\n },\r\n _listItemClickAction: function(e) {\r\n this._listItemClickHandler(e);\r\n this._itemClickAction(e)\r\n },\r\n _listItemClickHandler: noop,\r\n _setListDataSource: function() {\r\n if (!this._list) {\r\n return\r\n }\r\n this._setListOption(\"dataSource\", this._getDataSource());\r\n if (!this._needPassDataSourceToList()) {\r\n this._setListOption(\"items\", [])\r\n }\r\n },\r\n _needPassDataSourceToList: function() {\r\n return this.option(\"showDataBeforeSearch\") || this._isMinSearchLengthExceeded()\r\n },\r\n _isMinSearchLengthExceeded: function() {\r\n return this._searchValue().toString().length >= this.option(\"minSearchLength\")\r\n },\r\n _needClearFilter: function() {\r\n return this._canKeepDataSource() ? false : this._needPassDataSourceToList()\r\n },\r\n _canKeepDataSource: function() {\r\n var isMinSearchLengthExceeded = this._isMinSearchLengthExceeded();\r\n return this._dataController.isLoaded() && this.option(\"showDataBeforeSearch\") && this.option(\"minSearchLength\") && !isMinSearchLengthExceeded && !this._isLastMinSearchLengthExceeded\r\n },\r\n _searchValue: function() {\r\n return this._input().val() || \"\"\r\n },\r\n _getSearchEvent: function() {\r\n return addNamespace(SEARCH_EVENT, this.NAME + \"Search\")\r\n },\r\n _getCompositionStartEvent: function() {\r\n return addNamespace(\"compositionstart\", this.NAME + \"CompositionStart\")\r\n },\r\n _getCompositionEndEvent: function() {\r\n return addNamespace(\"compositionend\", this.NAME + \"CompositionEnd\")\r\n },\r\n _getSetFocusPolicyEvent: function() {\r\n return addNamespace(\"input\", this.NAME + \"FocusPolicy\")\r\n },\r\n _renderEvents: function() {\r\n this.callBase();\r\n eventsEngine.on(this._input(), this._getSetFocusPolicyEvent(), () => {\r\n this._setFocusPolicy()\r\n });\r\n if (this._shouldRenderSearchEvent()) {\r\n eventsEngine.on(this._input(), this._getSearchEvent(), e => {\r\n this._searchHandler(e)\r\n });\r\n if (useCompositionEvents) {\r\n eventsEngine.on(this._input(), this._getCompositionStartEvent(), () => {\r\n this._isTextCompositionInProgress(true)\r\n });\r\n eventsEngine.on(this._input(), this._getCompositionEndEvent(), e => {\r\n this._isTextCompositionInProgress(void 0);\r\n this._searchHandler(e, this._searchValue())\r\n })\r\n }\r\n }\r\n },\r\n _shouldRenderSearchEvent: function() {\r\n return this.option(\"searchEnabled\")\r\n },\r\n _refreshEvents: function() {\r\n eventsEngine.off(this._input(), this._getSearchEvent());\r\n eventsEngine.off(this._input(), this._getSetFocusPolicyEvent());\r\n if (useCompositionEvents) {\r\n eventsEngine.off(this._input(), this._getCompositionStartEvent());\r\n eventsEngine.off(this._input(), this._getCompositionEndEvent())\r\n }\r\n this.callBase()\r\n },\r\n _isTextCompositionInProgress: function(value) {\r\n if (arguments.length) {\r\n this._isTextComposition = value\r\n } else {\r\n return this._isTextComposition\r\n }\r\n },\r\n _searchHandler: function(e, searchValue) {\r\n if (this._isTextCompositionInProgress()) {\r\n return\r\n }\r\n if (!this._isMinSearchLengthExceeded()) {\r\n this._searchCanceled();\r\n return\r\n }\r\n var searchTimeout = this.option(\"searchTimeout\");\r\n if (searchTimeout) {\r\n this._clearSearchTimer();\r\n this._searchTimer = setTimeout(() => {\r\n this._searchDataSource(searchValue)\r\n }, searchTimeout)\r\n } else {\r\n this._searchDataSource(searchValue)\r\n }\r\n },\r\n _searchCanceled: function() {\r\n this._clearSearchTimer();\r\n if (this._needClearFilter()) {\r\n this._filterDataSource(null)\r\n }\r\n this._refreshList()\r\n },\r\n _searchDataSource: function() {\r\n var searchValue = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._searchValue();\r\n this._filterDataSource(searchValue)\r\n },\r\n _filterDataSource: function(searchValue) {\r\n this._clearSearchTimer();\r\n var dataController = this._dataController;\r\n dataController.searchExpr(this.option(\"searchExpr\") || this._displayGetterExpr());\r\n dataController.searchOperation(this.option(\"searchMode\"));\r\n dataController.searchValue(searchValue);\r\n dataController.load().done(this._dataSourceFiltered.bind(this, searchValue))\r\n },\r\n _clearFilter: function() {\r\n var dataController = this._dataController;\r\n dataController.searchValue() && dataController.searchValue(null)\r\n },\r\n _dataSourceFiltered: function() {\r\n this._isLastMinSearchLengthExceeded = this._isMinSearchLengthExceeded();\r\n this._refreshList();\r\n this._refreshPopupVisibility()\r\n },\r\n _shouldOpenPopup: function() {\r\n return this._hasItemsToShow()\r\n },\r\n _refreshPopupVisibility: function() {\r\n if (this.option(\"readOnly\") || !this._searchValue()) {\r\n return\r\n }\r\n var shouldOpenPopup = this._shouldOpenPopup();\r\n if (shouldOpenPopup && !this._isFocused()) {\r\n return\r\n }\r\n this.option(\"opened\", shouldOpenPopup);\r\n if (shouldOpenPopup) {\r\n this._updatePopupWidth();\r\n this._updateListDimensions()\r\n }\r\n },\r\n _dataSourceChangedHandler: function(newItems) {\r\n if (0 === this._dataController.pageIndex()) {\r\n this.option().items = newItems\r\n } else {\r\n this.option().items = this.option().items.concat(newItems)\r\n }\r\n },\r\n _hasItemsToShow: function() {\r\n var dataController = this._dataController;\r\n var resultItems = dataController.items() || [];\r\n var resultAmount = resultItems.length;\r\n var isMinSearchLengthExceeded = this._needPassDataSourceToList();\r\n return !!(isMinSearchLengthExceeded && resultAmount)\r\n },\r\n _clearSearchTimer: function() {\r\n clearTimeout(this._searchTimer);\r\n delete this._searchTimer\r\n },\r\n _popupShowingHandler: function() {\r\n this._updatePopupWidth();\r\n this._updateListDimensions()\r\n },\r\n _dimensionChanged: function() {\r\n this.callBase();\r\n this._updateListDimensions()\r\n },\r\n _needPopupRepaint: function() {\r\n var dataController = this._dataController;\r\n var currentPageIndex = dataController.pageIndex();\r\n var needRepaint = isDefined(this._pageIndex) && currentPageIndex <= this._pageIndex || dataController.isLastPage() && !this._list._scrollViewIsFull();\r\n this._pageIndex = currentPageIndex;\r\n return needRepaint\r\n },\r\n _updateListDimensions: function() {\r\n if (!this._popup) {\r\n return\r\n }\r\n if (this._needPopupRepaint()) {\r\n this._popup.repaint()\r\n }\r\n this._list && this._list.updateDimensions()\r\n },\r\n _getMaxHeight: function() {\r\n var $element = this.$element();\r\n var $customBoundaryContainer = this._$customBoundaryContainer;\r\n var offsetTop = $element.offset().top - ($customBoundaryContainer ? $customBoundaryContainer.offset().top : 0);\r\n var windowHeight = getOuterHeight(window);\r\n var containerHeight = $customBoundaryContainer ? Math.min(getOuterHeight($customBoundaryContainer), windowHeight) : windowHeight;\r\n var maxHeight = Math.max(offsetTop, containerHeight - offsetTop - getOuterHeight($element));\r\n return Math.min(.5 * containerHeight, maxHeight)\r\n },\r\n _clean: function() {\r\n if (this._list) {\r\n delete this._list\r\n }\r\n delete this._isLastMinSearchLengthExceeded;\r\n this.callBase()\r\n },\r\n _dispose: function() {\r\n this._clearSearchTimer();\r\n this.callBase()\r\n },\r\n _setCollectionWidgetOption: function() {\r\n this._setListOption.apply(this, arguments)\r\n },\r\n _setSubmitValue: function() {\r\n var value = this.option(\"value\");\r\n var submitValue = this._shouldUseDisplayValue(value) ? this._displayGetter(value) : value;\r\n this._getSubmitElement().val(submitValue)\r\n },\r\n _shouldUseDisplayValue: function(value) {\r\n return \"this\" === this.option(\"valueExpr\") && isObject(value)\r\n },\r\n _optionChanged: function(args) {\r\n this._dataExpressionOptionChanged(args);\r\n switch (args.name) {\r\n case \"hoverStateEnabled\":\r\n case \"focusStateEnabled\":\r\n this._isDesktopDevice() && this._setListOption(args.name, args.value);\r\n this.callBase(args);\r\n break;\r\n case \"items\":\r\n if (!this.option(\"dataSource\")) {\r\n this._processDataSourceChanging()\r\n }\r\n break;\r\n case \"dataSource\":\r\n this._processDataSourceChanging();\r\n break;\r\n case \"valueExpr\":\r\n this._renderValue();\r\n this._setListOption(\"keyExpr\", this._getCollectionKeyExpr());\r\n break;\r\n case \"displayExpr\":\r\n this._renderValue();\r\n this._setListOption(\"displayExpr\", this._displayGetterExpr());\r\n break;\r\n case \"searchMode\":\r\n this._validateSearchMode();\r\n break;\r\n case \"minSearchLength\":\r\n this._refreshList();\r\n break;\r\n case \"searchEnabled\":\r\n case \"showDataBeforeSearch\":\r\n case \"searchExpr\":\r\n this._invalidate();\r\n break;\r\n case \"onContentReady\":\r\n this._initContentReadyAction();\r\n break;\r\n case \"onSelectionChanged\":\r\n this._initSelectionChangedAction();\r\n break;\r\n case \"onItemClick\":\r\n this._initItemClickAction();\r\n break;\r\n case \"grouped\":\r\n case \"groupTemplate\":\r\n case \"wrapItemText\":\r\n case \"noDataText\":\r\n case \"encodeNoDataText\":\r\n case \"useItemTextAsTitle\":\r\n this._setListOption(args.name);\r\n break;\r\n case \"displayValue\":\r\n this.option(\"text\", args.value);\r\n break;\r\n case \"itemTemplate\":\r\n case \"searchTimeout\":\r\n break;\r\n case \"selectedItem\":\r\n if (args.previousValue !== args.value) {\r\n this._selectionChangedAction({\r\n selectedItem: args.value\r\n })\r\n }\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n}).include(DataExpressionMixin, DataConverterMixin);\r\nregisterComponent(\"dxDropDownList\", DropDownList);\r\nexport default DropDownList;\r\n","/**\r\n * DevExtreme (esm/__internal/ui/m_select_box.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"../../ui/list/modules/selection\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport errors from \"../../core/errors\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n ensureDefined,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n fromPromise\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isPromise\r\n} from \"../../core/utils/type\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport DropDownList from \"../../ui/drop_down_editor/ui.drop_down_list\";\r\nvar DISABLED_STATE_SELECTOR = \".dx-state-disabled\";\r\nvar SELECTBOX_CLASS = \"dx-selectbox\";\r\nvar SELECTBOX_POPUP_CLASS = \"dx-selectbox-popup\";\r\nvar SELECTBOX_CONTAINER_CLASS = \"dx-selectbox-container\";\r\nvar SELECTBOX_POPUP_WRAPPER_CLASS = \"dx-selectbox-popup-wrapper\";\r\nvar SelectBox = DropDownList.inherit({\r\n _supportedKeys() {\r\n var that = this;\r\n var parent = this.callBase();\r\n var clearSelectBox = function(e) {\r\n var isEditable = this._isEditable();\r\n if (!isEditable) {\r\n if (this.option(\"showClearButton\")) {\r\n e.preventDefault();\r\n this.reset()\r\n }\r\n } else if (this._valueSubstituted()) {\r\n this._preventFiltering = true\r\n }\r\n this._savedTextRemoveEvent = e;\r\n this._preventSubstitution = true\r\n };\r\n var searchIfNeeded = function() {\r\n if (that.option(\"searchEnabled\") && that._valueSubstituted()) {\r\n that._searchHandler()\r\n }\r\n };\r\n return extend({}, parent, {\r\n tab() {\r\n if (this.option(\"opened\") && \"instantly\" === this.option(\"applyValueMode\")) {\r\n this._resetCaretPosition(true)\r\n }\r\n parent.tab && parent.tab.apply(this, arguments);\r\n this._cancelSearchIfNeed()\r\n },\r\n upArrow(e) {\r\n if (parent.upArrow.apply(this, arguments)) {\r\n if (!this.option(\"opened\")) {\r\n this._setNextValue(e)\r\n }\r\n return true\r\n }\r\n return\r\n },\r\n downArrow(e) {\r\n if (parent.downArrow.apply(this, arguments)) {\r\n if (!this.option(\"opened\")) {\r\n this._setNextValue(e)\r\n }\r\n return true\r\n }\r\n return\r\n },\r\n leftArrow() {\r\n var _a;\r\n searchIfNeeded();\r\n null === (_a = parent.leftArrow) || void 0 === _a ? void 0 : _a.apply(this, arguments)\r\n },\r\n rightArrow() {\r\n searchIfNeeded();\r\n parent.rightArrow && parent.rightArrow.apply(this, arguments)\r\n },\r\n home() {\r\n searchIfNeeded();\r\n parent.home && parent.home.apply(this, arguments)\r\n },\r\n end() {\r\n searchIfNeeded();\r\n parent.end && parent.end.apply(this, arguments)\r\n },\r\n escape() {\r\n var result = parent.escape && parent.escape.apply(this, arguments);\r\n this._cancelEditing();\r\n return null !== result && void 0 !== result ? result : true\r\n },\r\n enter(e) {\r\n var isOpened = this.option(\"opened\");\r\n var inputText = this._input().val().trim();\r\n var isCustomText = inputText && this._list && !this._list.option(\"focusedElement\");\r\n if (!inputText && isDefined(this.option(\"value\")) && this.option(\"allowClearing\")) {\r\n this._saveValueChangeEvent(e);\r\n this.option({\r\n selectedItem: null,\r\n value: null\r\n });\r\n this.close()\r\n } else {\r\n if (this.option(\"acceptCustomValue\")) {\r\n e.preventDefault();\r\n if (isCustomText) {\r\n if (isOpened) {\r\n this._toggleOpenState()\r\n }\r\n this._valueChangeEventHandler(e)\r\n }\r\n return isOpened\r\n }\r\n if (parent.enter && parent.enter.apply(this, arguments)) {\r\n return isOpened\r\n }\r\n }\r\n },\r\n space(e) {\r\n var isOpened = this.option(\"opened\");\r\n var isSearchEnabled = this.option(\"searchEnabled\");\r\n var acceptCustomValue = this.option(\"acceptCustomValue\");\r\n if (!isOpened || isSearchEnabled || acceptCustomValue) {\r\n return\r\n }\r\n e.preventDefault();\r\n this._valueChangeEventHandler(e);\r\n return true\r\n },\r\n backspace: clearSelectBox,\r\n del: clearSelectBox\r\n })\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n placeholder: messageLocalization.format(\"Select\"),\r\n fieldTemplate: null,\r\n customItemCreateEvent: \"change\",\r\n valueChangeEvent: \"change\",\r\n acceptCustomValue: false,\r\n onCustomItemCreating(e) {\r\n if (!isDefined(e.customItem)) {\r\n e.customItem = e.text\r\n }\r\n },\r\n showSelectionControls: false,\r\n allowClearing: true,\r\n tooltipEnabled: false,\r\n openOnFieldClick: true,\r\n showDropDownButton: true,\r\n displayCustomValue: false,\r\n useHiddenSubmitElement: true\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initCustomItemCreatingAction()\r\n },\r\n _initMarkup() {\r\n this.$element().addClass(SELECTBOX_CLASS);\r\n this._renderTooltip();\r\n this.callBase();\r\n this._$container.addClass(SELECTBOX_CONTAINER_CLASS)\r\n },\r\n _createPopup() {\r\n this.callBase();\r\n this._popup.$element().addClass(SELECTBOX_POPUP_CLASS);\r\n this._popup.$overlayContent().attr(\"tabindex\", -1)\r\n },\r\n _popupWrapperClass() {\r\n return \"\".concat(this.callBase(), \" \").concat(SELECTBOX_POPUP_WRAPPER_CLASS)\r\n },\r\n _setDeprecatedOptions() {\r\n this.callBase();\r\n extend(this._deprecatedOptions, {\r\n valueChangeEvent: {\r\n since: \"22.2\",\r\n alias: \"customItemCreateEvent\"\r\n }\r\n })\r\n },\r\n _cancelEditing() {\r\n if (!this.option(\"searchEnabled\") && this._list) {\r\n this._focusListElement(null);\r\n this._updateField(this.option(\"selectedItem\"))\r\n }\r\n },\r\n _renderOpenedState() {\r\n this.callBase();\r\n if (this.option(\"opened\")) {\r\n this._scrollToSelectedItem();\r\n this._focusSelectedElement()\r\n }\r\n },\r\n _focusSelectedElement() {\r\n var _a;\r\n var searchValue = this._searchValue();\r\n if (!searchValue) {\r\n this._focusListElement(null);\r\n return\r\n }\r\n var {\r\n items: items,\r\n selectedItem: selectedItem\r\n } = this.option();\r\n var $listItems = this._list._itemElements();\r\n var index = null !== (_a = null === items || void 0 === items ? void 0 : items.indexOf(selectedItem)) && void 0 !== _a ? _a : -1;\r\n var focusedElement = -1 !== index && !this._isCustomItemSelected() ? $listItems.eq(index) : null;\r\n this._focusListElement(focusedElement)\r\n },\r\n _renderFocusedElement() {\r\n if (!this._list) {\r\n return\r\n }\r\n var searchValue = this._searchValue();\r\n if (!searchValue || this.option(\"acceptCustomValue\")) {\r\n this._focusListElement(null);\r\n return\r\n }\r\n var $listItems = this._list._itemElements();\r\n var focusedElement = $listItems.not(DISABLED_STATE_SELECTOR).eq(0);\r\n this._focusListElement(focusedElement)\r\n },\r\n _focusListElement(element) {\r\n this._preventInputValueRender = true;\r\n this._list.option(\"focusedElement\", getPublicElement(element));\r\n delete this._preventInputValueRender\r\n },\r\n _scrollToSelectedItem() {\r\n this._list && this._list.scrollToItem(this._list.option(\"selectedItem\"))\r\n },\r\n _listContentReadyHandler() {\r\n this.callBase();\r\n var isPaginate = this._dataController.paginate();\r\n if (isPaginate && this._needPopupRepaint()) {\r\n return\r\n }\r\n this._scrollToSelectedItem()\r\n },\r\n _renderValue() {\r\n this._renderInputValue();\r\n this._setSubmitValue();\r\n return (new Deferred).resolve()\r\n },\r\n _renderInputValue() {\r\n return this.callBase().always(() => {\r\n this._renderInputValueAsync()\r\n })\r\n },\r\n _renderInputValueAsync() {\r\n this._renderTooltip();\r\n this._renderInputValueImpl().always(() => {\r\n this._refreshSelected()\r\n })\r\n },\r\n _renderInputValueImpl() {\r\n this._renderField();\r\n return (new Deferred).resolve()\r\n },\r\n _setNextItem(step) {\r\n var item = this._calcNextItem(step);\r\n var value = this._valueGetter(item);\r\n this._setValue(value)\r\n },\r\n _setNextValue(e) {\r\n var dataSourceIsLoaded = this._dataController.isLoaded() ? (new Deferred).resolve() : this._dataController.load();\r\n dataSourceIsLoaded.done(() => {\r\n var selectedIndex = this._getSelectedIndex();\r\n var hasPages = this._dataController.pageSize();\r\n var isLastPage = this._dataController.isLastPage();\r\n var isLastItem = selectedIndex === this._items().length - 1;\r\n this._saveValueChangeEvent(e);\r\n var step = \"downArrow\" === normalizeKeyName(e) ? 1 : -1;\r\n if (hasPages && !isLastPage && isLastItem && step > 0) {\r\n if (!this._popup) {\r\n this._createPopup()\r\n }\r\n if (!this._dataController.isLoading()) {\r\n this._list._loadNextPage().done(this._setNextItem.bind(this, step))\r\n }\r\n } else {\r\n this._setNextItem(step)\r\n }\r\n })\r\n },\r\n _setSelectedItem(item) {\r\n var isUnknownItem = !this._isCustomValueAllowed() && void 0 === item;\r\n this.callBase(isUnknownItem ? null : item);\r\n if (!isUnknownItem && (!this._isEditable() || this._isCustomItemSelected())) {\r\n this._setListOption(\"selectedItem\", this.option(\"selectedItem\"))\r\n }\r\n },\r\n _isCustomValueAllowed() {\r\n return this.option(\"acceptCustomValue\") || this.callBase()\r\n },\r\n _displayValue(item) {\r\n item = !isDefined(item) && this._isCustomValueAllowed() ? this.option(\"value\") : item;\r\n return this.callBase(item)\r\n },\r\n _listConfig() {\r\n var result = extend(this.callBase(), {\r\n pageLoadMode: \"scrollBottom\",\r\n onSelectionChanged: this._getSelectionChangeHandler(),\r\n selectedItem: this.option(\"selectedItem\"),\r\n onFocusedItemChanged: this._listFocusedItemChangeHandler.bind(this)\r\n });\r\n if (this.option(\"showSelectionControls\")) {\r\n extend(result, {\r\n showSelectionControls: true,\r\n selectByClick: true\r\n })\r\n }\r\n return result\r\n },\r\n _listFocusedItemChangeHandler(e) {\r\n if (this._preventInputValueRender) {\r\n return\r\n }\r\n var list = e.component;\r\n var focusedElement = $(list.option(\"focusedElement\"));\r\n var focusedItem = list._getItemData(focusedElement);\r\n this._updateField(focusedItem)\r\n },\r\n _updateField(item) {\r\n var fieldTemplate = this._getTemplateByOption(\"fieldTemplate\");\r\n if (!(fieldTemplate && this.option(\"fieldTemplate\"))) {\r\n var text = this._displayGetter(item);\r\n this.option(\"text\", text);\r\n this._renderDisplayText(text);\r\n return\r\n }\r\n this._renderField()\r\n },\r\n _getSelectionChangeHandler() {\r\n return this.option(\"showSelectionControls\") ? this._selectionChangeHandler.bind(this) : noop\r\n },\r\n _selectionChangeHandler(e) {\r\n each(e.addedItems || [], (_, addedItem) => {\r\n this._setValue(this._valueGetter(addedItem))\r\n })\r\n },\r\n _getActualSearchValue() {\r\n return this._dataController.searchValue()\r\n },\r\n _toggleOpenState(isVisible) {\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n isVisible = arguments.length ? isVisible : !this.option(\"opened\");\r\n if (!isVisible && !this._shouldClearFilter()) {\r\n this._restoreInputText(true)\r\n }\r\n if (this._wasSearch() && isVisible) {\r\n this._wasSearch(false);\r\n var showDataImmediately = this.option(\"showDataBeforeSearch\") || this._isMinSearchLengthExceeded();\r\n if (showDataImmediately && this._dataController.getDataSource()) {\r\n if (this._searchTimer) {\r\n return\r\n }\r\n var searchValue = this._getActualSearchValue();\r\n searchValue && this._wasSearch(true);\r\n this._filterDataSource(searchValue || null)\r\n } else {\r\n this._setListOption(\"items\", [])\r\n }\r\n }\r\n if (isVisible) {\r\n this._scrollToSelectedItem()\r\n }\r\n this.callBase(isVisible)\r\n },\r\n _renderTooltip() {\r\n if (this.option(\"tooltipEnabled\")) {\r\n this.$element().attr(\"title\", this.option(\"displayValue\"))\r\n }\r\n },\r\n _renderDimensions() {\r\n this.callBase();\r\n this._updatePopupWidth();\r\n this._updateListDimensions()\r\n },\r\n _isValueEqualInputText() {\r\n var initialSelectedItem = this.option(\"selectedItem\");\r\n if (null === initialSelectedItem) {\r\n return false\r\n }\r\n var value = this._displayGetter(initialSelectedItem);\r\n var displayValue = value ? String(value) : \"\";\r\n var inputText = this._searchValue();\r\n return displayValue === inputText\r\n },\r\n _popupHidingHandler() {\r\n if (this._isValueEqualInputText()) {\r\n this._cancelEditing()\r\n }\r\n this.callBase()\r\n },\r\n _popupHiddenHandler() {\r\n this.callBase();\r\n if (this._shouldCancelSearch()) {\r\n this._wasSearch(false);\r\n this._searchCanceled();\r\n this._shouldCancelSearch(false)\r\n }\r\n },\r\n _restoreInputText(saveEditingValue) {\r\n if (this.option(\"readOnly\")) {\r\n return\r\n }\r\n this._loadItemDeferred && this._loadItemDeferred.always(() => {\r\n var {\r\n acceptCustomValue: acceptCustomValue,\r\n text: text,\r\n selectedItem: initialSelectedItem\r\n } = this.option();\r\n if (acceptCustomValue) {\r\n if (!saveEditingValue && !this._isValueChanging) {\r\n this._updateField(null !== initialSelectedItem && void 0 !== initialSelectedItem ? initialSelectedItem : this._createCustomItem(text));\r\n this._clearFilter()\r\n }\r\n return\r\n }\r\n if (this.option(\"searchEnabled\")) {\r\n if (!this._searchValue() && this.option(\"allowClearing\")) {\r\n this._clearTextValue();\r\n return\r\n }\r\n }\r\n if (this._isValueEqualInputText()) {\r\n return\r\n }\r\n this._renderInputValue().always(selectedItem => {\r\n var newSelectedItem = ensureDefined(selectedItem, initialSelectedItem);\r\n this._setSelectedItem(newSelectedItem);\r\n this._updateField(newSelectedItem);\r\n this._clearFilter()\r\n })\r\n })\r\n },\r\n _valueChangeEventIncludesBlur() {\r\n var valueChangeEvent = this.option(this._getValueChangeEventOptionName());\r\n return valueChangeEvent.includes(\"blur\")\r\n },\r\n _isPreventedFocusOutEvent(e) {\r\n return this._preventNestedFocusEvent(e) || this._valueChangeEventIncludesBlur()\r\n },\r\n _focusOutHandler(e) {\r\n if (!this._isPreventedFocusOutEvent(e)) {\r\n var isOverlayTarget = this._isOverlayNestedTarget(e.relatedTarget);\r\n if (!isOverlayTarget) {\r\n this._restoreInputText();\r\n this._clearSearchTimer()\r\n }\r\n this._cancelSearchIfNeed(e)\r\n }\r\n e.target = this._input().get(0);\r\n this.callBase(e)\r\n },\r\n _cancelSearchIfNeed(e) {\r\n var _a;\r\n var {\r\n searchEnabled: searchEnabled\r\n } = this.option();\r\n var isOverlayTarget = this._isOverlayNestedTarget(null === e || void 0 === e ? void 0 : e.relatedTarget);\r\n var shouldCancelSearch = this._wasSearch() && searchEnabled && !isOverlayTarget;\r\n if (shouldCancelSearch) {\r\n var isPopupVisible = null === (_a = this._popup) || void 0 === _a ? void 0 : _a._hideAnimationProcessing;\r\n this._clearSearchTimer();\r\n if (isPopupVisible) {\r\n this._shouldCancelSearch(true)\r\n } else {\r\n this._wasSearch(false);\r\n this._searchCanceled()\r\n }\r\n }\r\n },\r\n _shouldCancelSearch(value) {\r\n if (!arguments.length) {\r\n return this._shouldCancelSearchValue\r\n }\r\n this._shouldCancelSearchValue = value\r\n },\r\n _isOverlayNestedTarget: target => !!$(target).closest(\".\".concat(SELECTBOX_POPUP_WRAPPER_CLASS)).length,\r\n _clearTextValue() {\r\n var selectedItem = this.option(\"selectedItem\");\r\n var selectedItemText = this._displayGetter(selectedItem);\r\n var shouldRestoreValue = selectedItem && \"\" !== selectedItemText;\r\n if (shouldRestoreValue) {\r\n if (this._savedTextRemoveEvent) {\r\n this._saveValueChangeEvent(this._savedTextRemoveEvent)\r\n }\r\n this.option(\"value\", null)\r\n }\r\n delete this._savedTextRemoveEvent\r\n },\r\n _shouldOpenPopup() {\r\n return this._needPassDataSourceToList() && this._wasSearch()\r\n },\r\n _isFocused() {\r\n var activeElement = domAdapter.getActiveElement(this.element());\r\n return this.callBase() && $(activeElement).closest(this._input()).length > 0\r\n },\r\n _getValueChangeEventOptionName: () => \"customItemCreateEvent\",\r\n _renderValueChangeEvent() {\r\n if (this._isEditable()) {\r\n this.callBase()\r\n }\r\n },\r\n _fieldRenderData() {\r\n var $listFocused = this._list && this.option(\"opened\") && $(this._list.option(\"focusedElement\"));\r\n if ($listFocused && $listFocused.length) {\r\n return this._list._getItemData($listFocused)\r\n }\r\n return this.option(\"selectedItem\")\r\n },\r\n _isSelectedValue(value) {\r\n return this._isValueEquals(value, this.option(\"value\"))\r\n },\r\n _shouldCloseOnItemClick() {\r\n return !(this.option(\"showSelectionControls\") && \"single\" !== this.option(\"selectionMode\"))\r\n },\r\n _listItemClickHandler(e) {\r\n var previousValue = this._getCurrentValue();\r\n this._focusListElement($(e.itemElement));\r\n this._saveValueChangeEvent(e.event);\r\n this._completeSelection(this._valueGetter(e.itemData));\r\n if (this._shouldCloseOnItemClick()) {\r\n this.option(\"opened\", false)\r\n }\r\n if (this.option(\"searchEnabled\") && previousValue === this._valueGetter(e.itemData)) {\r\n this._updateField(e.itemData)\r\n }\r\n if (this._shouldClearFilter()) {\r\n this._cancelSearchIfNeed()\r\n }\r\n },\r\n _shouldClearFilter() {\r\n return this._wasSearch()\r\n },\r\n _completeSelection(value) {\r\n this._setValue(value)\r\n },\r\n _loadItem(value, cache) {\r\n var that = this;\r\n var deferred = new Deferred;\r\n this.callBase(value, cache).done(item => {\r\n deferred.resolve(item)\r\n }).fail(args => {\r\n if (null === args || void 0 === args ? void 0 : args.shouldSkipCallback) {\r\n return\r\n }\r\n var selectedItem = that.option(\"selectedItem\");\r\n if (that.option(\"acceptCustomValue\") && value === that._valueGetter(selectedItem)) {\r\n deferred.resolve(selectedItem)\r\n } else {\r\n deferred.reject()\r\n }\r\n });\r\n return deferred.promise()\r\n },\r\n _loadInputValue(value, callback) {\r\n this._loadItemDeferred = this._loadItem(value).always(callback);\r\n return this._loadItemDeferred\r\n },\r\n _isCustomItemSelected() {\r\n var selectedItem = this.option(\"selectedItem\");\r\n var searchValue = this._searchValue();\r\n var selectedItemText = this._displayGetter(selectedItem);\r\n return !selectedItemText || searchValue !== selectedItemText.toString()\r\n },\r\n _valueChangeEventHandler(e) {\r\n if (this.option(\"acceptCustomValue\") && this._isCustomItemSelected() && !this._isValueChanging) {\r\n this._isValueChanging = true;\r\n this._customItemAddedHandler(e)\r\n }\r\n },\r\n _initCustomItemCreatingAction() {\r\n this._customItemCreatingAction = this._createActionByOption(\"onCustomItemCreating\")\r\n },\r\n _createCustomItem(text) {\r\n var params = {\r\n text: text\r\n };\r\n var actionResult = this._customItemCreatingAction(params);\r\n var item = ensureDefined(actionResult, params.customItem);\r\n if (isDefined(actionResult)) {\r\n errors.log(\"W0015\", \"onCustomItemCreating\", \"customItem\")\r\n }\r\n return item\r\n },\r\n _customItemAddedHandler(e) {\r\n var searchValue = this._searchValue();\r\n var item = this._createCustomItem(searchValue);\r\n this._saveValueChangeEvent(e);\r\n if (void 0 === item) {\r\n this._renderValue();\r\n throw errors.Error(\"E0121\")\r\n }\r\n if (isPromise(item)) {\r\n fromPromise(item).done(this._setCustomItem.bind(this)).fail(this._setCustomItem.bind(this, null))\r\n } else {\r\n this._setCustomItem(item)\r\n }\r\n },\r\n _setCustomItem(item) {\r\n if (this._disposed) {\r\n return\r\n }\r\n item = item || null;\r\n this.option(\"selectedItem\", item);\r\n this._cancelSearchIfNeed();\r\n this._setValue(this._valueGetter(item));\r\n this._renderDisplayText(this._displayGetter(item));\r\n this._isValueChanging = false\r\n },\r\n _clearValueHandler(e) {\r\n this._preventFiltering = true;\r\n this.callBase(e);\r\n this._searchCanceled();\r\n return false\r\n },\r\n _wasSearch(value) {\r\n if (!arguments.length) {\r\n return !!this._wasSearchValue\r\n }\r\n this._wasSearchValue = value;\r\n return\r\n },\r\n _searchHandler() {\r\n if (this._preventFiltering) {\r\n delete this._preventFiltering;\r\n return\r\n }\r\n if (this._needPassDataSourceToList()) {\r\n this._wasSearch(true)\r\n }\r\n this.callBase(arguments)\r\n },\r\n _dataSourceFiltered(searchValue) {\r\n this.callBase();\r\n if (null !== searchValue) {\r\n this._renderInputSubstitution();\r\n this._renderFocusedElement()\r\n }\r\n },\r\n _valueSubstituted() {\r\n var input = this._input().get(0);\r\n var currentSearchLength = this._searchValue().length;\r\n var isAllSelected = 0 === input.selectionStart && input.selectionEnd === currentSearchLength;\r\n var inputHasSelection = input.selectionStart !== input.selectionEnd;\r\n var isLastSymbolSelected = currentSearchLength === input.selectionEnd;\r\n return this._wasSearch() && inputHasSelection && !isAllSelected && isLastSymbolSelected && this._shouldSubstitutionBeRendered()\r\n },\r\n _shouldSubstitutionBeRendered() {\r\n return !this._preventSubstitution && this.option(\"searchEnabled\") && !this.option(\"acceptCustomValue\") && \"startswith\" === this.option(\"searchMode\")\r\n },\r\n _renderInputSubstitution() {\r\n if (!this._shouldSubstitutionBeRendered()) {\r\n delete this._preventSubstitution;\r\n return\r\n }\r\n var item = this._list && this._getPlainItems(this._list.option(\"items\"))[0];\r\n if (!item) {\r\n return\r\n }\r\n var $input = this._input();\r\n var valueLength = $input.val().length;\r\n if (0 === valueLength) {\r\n return\r\n }\r\n var inputElement = $input.get(0);\r\n var displayValue = this._displayGetter(item).toString();\r\n inputElement.value = displayValue;\r\n this._caret({\r\n start: valueLength,\r\n end: displayValue.length\r\n })\r\n },\r\n _dispose() {\r\n this._renderInputValueAsync = noop;\r\n delete this._loadItemDeferred;\r\n this.callBase()\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"customItemCreateEvent\":\r\n this._refreshValueChangeEvent();\r\n this._refreshFocusEvent();\r\n this._refreshEvents();\r\n break;\r\n case \"onCustomItemCreating\":\r\n this._initCustomItemCreatingAction();\r\n break;\r\n case \"tooltipEnabled\":\r\n this._renderTooltip();\r\n break;\r\n case \"displayCustomValue\":\r\n case \"acceptCustomValue\":\r\n case \"showSelectionControls\":\r\n this._invalidate();\r\n break;\r\n case \"allowClearing\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxSelectBox\", SelectBox);\r\nexport default SelectBox;\r\n","/**\r\n * DevExtreme (esm/ui/select_box.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport SelectBox from \"../__internal/ui/m_select_box\";\r\nexport default SelectBox;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.mask.parts.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getPatternSetters\r\n} from \"../../localization/ldml/date.parser\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n fitIntoRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar monthGetter = date => date.getMonth() + 1;\r\nvar monthSetter = (date, value) => {\r\n var day = date.getDate();\r\n var monthLimits = getLimits(\"M\", date);\r\n var newValue = fitIntoRange(parseInt(value), monthLimits.min, monthLimits.max);\r\n date.setMonth(newValue - 1, 1);\r\n var {\r\n min: min,\r\n max: max\r\n } = getLimits(\"dM\", date);\r\n var newDay = fitIntoRange(day, min, max);\r\n date.setDate(newDay)\r\n};\r\nvar PATTERN_GETTERS = {\r\n a: date => date.getHours() < 12 ? 0 : 1,\r\n E: \"getDay\",\r\n y: \"getFullYear\",\r\n M: monthGetter,\r\n L: monthGetter,\r\n d: \"getDate\",\r\n H: \"getHours\",\r\n h: \"getHours\",\r\n m: \"getMinutes\",\r\n s: \"getSeconds\",\r\n S: \"getMilliseconds\",\r\n x: \"getTimezoneOffset\"\r\n};\r\nvar PATTERN_SETTERS = extend({}, getPatternSetters(), {\r\n a: (date, value) => {\r\n var hours = date.getHours();\r\n var current = hours >= 12;\r\n if (current === !!parseInt(value)) {\r\n return\r\n }\r\n date.setHours((hours + 12) % 24)\r\n },\r\n d: (date, value) => {\r\n var lastDayInMonth = getLimits(\"dM\", date).max;\r\n if (value > lastDayInMonth) {\r\n date.setMonth(date.getMonth() + 1)\r\n }\r\n date.setDate(value)\r\n },\r\n h: (date, value) => {\r\n var isPM = date.getHours() >= 12;\r\n date.setHours(+value % 12 + (isPM ? 12 : 0))\r\n },\r\n M: monthSetter,\r\n L: monthSetter,\r\n E: (date, value) => {\r\n if (value < 0) {\r\n return\r\n }\r\n date.setDate(date.getDate() - date.getDay() + parseInt(value))\r\n },\r\n y: (date, value) => {\r\n var currentYear = date.getFullYear();\r\n var valueLength = String(value).length;\r\n var maxLimitLength = String(getLimits(\"y\", date).max).length;\r\n var newValue = parseInt(String(currentYear).substr(0, maxLimitLength - valueLength) + value);\r\n date.setFullYear(newValue)\r\n },\r\n x: date => date\r\n});\r\nvar getPatternGetter = patternChar => PATTERN_GETTERS[patternChar] || (() => patternChar);\r\nexport var renderDateParts = (text, regExpInfo) => {\r\n var result = regExpInfo.regexp.exec(text);\r\n var start = 0;\r\n var end = 0;\r\n var sections = [];\r\n var _loop = function() {\r\n start = end;\r\n end = start + result[i].length;\r\n var pattern = regExpInfo.patterns[i - 1].replace(/^'|'$/g, \"\");\r\n var getter = getPatternGetter(pattern[0]);\r\n sections.push({\r\n index: i - 1,\r\n isStub: pattern === result[i],\r\n caret: {\r\n start: start,\r\n end: end\r\n },\r\n pattern: pattern,\r\n text: result[i],\r\n limits: function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return getLimits(pattern[0], ...args)\r\n },\r\n setter: PATTERN_SETTERS[pattern[0]] || noop,\r\n getter: getter\r\n })\r\n };\r\n for (var i = 1; i < result.length; i++) {\r\n _loop()\r\n }\r\n return sections\r\n};\r\nvar getLimits = (pattern, date, forcedPattern) => {\r\n var limits = {\r\n y: {\r\n min: 0,\r\n max: 9999\r\n },\r\n M: {\r\n min: 1,\r\n max: 12\r\n },\r\n L: {\r\n min: 1,\r\n max: 12\r\n },\r\n d: {\r\n min: 1,\r\n max: 31\r\n },\r\n dM: {\r\n min: 1,\r\n max: new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate()\r\n },\r\n E: {\r\n min: 0,\r\n max: 6\r\n },\r\n H: {\r\n min: 0,\r\n max: 23\r\n },\r\n h: {\r\n min: 1,\r\n max: 12\r\n },\r\n m: {\r\n min: 0,\r\n max: 59\r\n },\r\n s: {\r\n min: 0,\r\n max: 59\r\n },\r\n S: {\r\n min: 0,\r\n max: 999\r\n },\r\n a: {\r\n min: 0,\r\n max: 1\r\n },\r\n x: {\r\n min: 0,\r\n max: 0\r\n }\r\n };\r\n return limits[forcedPattern || pattern] || limits.getAmPm\r\n};\r\nexport var getDatePartIndexByPosition = (dateParts, position) => {\r\n for (var i = 0; i < dateParts.length; i++) {\r\n var caretInGroup = dateParts[i].caret.end >= position;\r\n if (!dateParts[i].isStub && caretInGroup) {\r\n return i\r\n }\r\n }\r\n return null\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport {\r\n isDate\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport dateLocalization from \"../../localization/date\";\r\nvar DATE_COMPONENTS = [\"year\", \"day\", \"month\", \"day\"];\r\nvar TIME_COMPONENTS = [\"hours\", \"minutes\", \"seconds\", \"milliseconds\"];\r\nvar ONE_MINUTE = 6e4;\r\nvar ONE_DAY = 60 * ONE_MINUTE * 24;\r\nvar ONE_YEAR = 365 * ONE_DAY;\r\nvar getStringFormat = function(format) {\r\n var formatType = typeof format;\r\n if (\"string\" === formatType) {\r\n return \"format\"\r\n }\r\n if (\"object\" === formatType && void 0 !== format.type) {\r\n return format.type\r\n }\r\n return null\r\n};\r\nvar dateUtils = {\r\n SUPPORTED_FORMATS: [\"date\", \"time\", \"datetime\"],\r\n ONE_MINUTE: ONE_MINUTE,\r\n ONE_DAY: ONE_DAY,\r\n ONE_YEAR: ONE_YEAR,\r\n MIN_DATEVIEW_DEFAULT_DATE: new Date(1900, 0, 1),\r\n MAX_DATEVIEW_DEFAULT_DATE: function() {\r\n var newDate = new Date;\r\n return new Date(newDate.getFullYear() + 50, newDate.getMonth(), newDate.getDate(), 23, 59, 59)\r\n }(),\r\n FORMATS_INFO: {\r\n date: {\r\n getStandardPattern: function() {\r\n return \"yyyy-MM-dd\"\r\n },\r\n components: DATE_COMPONENTS\r\n },\r\n time: {\r\n getStandardPattern: function() {\r\n return \"HH:mm\"\r\n },\r\n components: TIME_COMPONENTS\r\n },\r\n datetime: {\r\n getStandardPattern: function() {\r\n var standardPattern;\r\n ! function() {\r\n var $input = $(\"<input>\").attr(\"type\", \"datetime\");\r\n $input.val(\"2000-01-01T01:01Z\");\r\n if ($input.val()) {\r\n standardPattern = \"yyyy-MM-ddTHH:mmZ\"\r\n }\r\n }();\r\n if (!standardPattern) {\r\n standardPattern = \"yyyy-MM-ddTHH:mm:ssZ\"\r\n }\r\n dateUtils.FORMATS_INFO.datetime.getStandardPattern = function() {\r\n return standardPattern\r\n };\r\n return standardPattern\r\n },\r\n components: [...DATE_COMPONENTS, ...TIME_COMPONENTS]\r\n },\r\n \"datetime-local\": {\r\n getStandardPattern: function() {\r\n return \"yyyy-MM-ddTHH:mm:ss\"\r\n },\r\n components: [...DATE_COMPONENTS, \"hours\", \"minutes\", \"seconds\"]\r\n }\r\n },\r\n FORMATS_MAP: {\r\n date: \"shortdate\",\r\n time: \"shorttime\",\r\n datetime: \"shortdateshorttime\"\r\n },\r\n SUBMIT_FORMATS_MAP: {\r\n date: \"date\",\r\n time: \"time\",\r\n datetime: \"datetime-local\"\r\n },\r\n toStandardDateFormat: function(date, type) {\r\n var pattern = dateUtils.FORMATS_INFO[type].getStandardPattern();\r\n return dateSerialization.serializeDate(date, pattern)\r\n },\r\n fromStandardDateFormat: function(text) {\r\n var date = dateSerialization.dateParser(text);\r\n return isDate(date) ? date : void 0\r\n },\r\n getMaxMonthDay: function(year, month) {\r\n return new Date(year, month + 1, 0).getDate()\r\n },\r\n mergeDates: function(oldValue, newValue, format) {\r\n if (!newValue) {\r\n return newValue || null\r\n }\r\n if (!oldValue || isNaN(oldValue.getTime())) {\r\n var now = new Date(null);\r\n oldValue = new Date(now.getFullYear(), now.getMonth(), now.getDate())\r\n }\r\n var result = new Date(oldValue.valueOf());\r\n var formatInfo = dateUtils.FORMATS_INFO[format];\r\n each(formatInfo.components, (function() {\r\n var componentInfo = dateUtils.DATE_COMPONENTS_INFO[this];\r\n result[componentInfo.setter](newValue[componentInfo.getter]())\r\n }));\r\n return result\r\n },\r\n getLongestCaptionIndex: function(captionArray) {\r\n var longestIndex = 0;\r\n var longestCaptionLength = 0;\r\n var i;\r\n for (i = 0; i < captionArray.length; ++i) {\r\n if (captionArray[i].length > longestCaptionLength) {\r\n longestIndex = i;\r\n longestCaptionLength = captionArray[i].length\r\n }\r\n }\r\n return longestIndex\r\n },\r\n formatUsesMonthName: function(format) {\r\n return dateLocalization.formatUsesMonthName(format)\r\n },\r\n formatUsesDayName: function(format) {\r\n return dateLocalization.formatUsesDayName(format)\r\n },\r\n getLongestDate: function(format, monthNames, dayNames) {\r\n var stringFormat = getStringFormat(format);\r\n var month = 9;\r\n if (!stringFormat || dateUtils.formatUsesMonthName(stringFormat)) {\r\n month = dateUtils.getLongestCaptionIndex(monthNames)\r\n }\r\n var longestDate = new Date(1888, month, 21, 23, 59, 59, 999);\r\n if (!stringFormat || dateUtils.formatUsesDayName(stringFormat)) {\r\n var date = longestDate.getDate() - longestDate.getDay() + dateUtils.getLongestCaptionIndex(dayNames);\r\n longestDate.setDate(date)\r\n }\r\n return longestDate\r\n },\r\n normalizeTime: function(date) {\r\n date.setSeconds(0);\r\n date.setMilliseconds(0)\r\n }\r\n};\r\ndateUtils.DATE_COMPONENTS_INFO = {\r\n year: {\r\n getter: \"getFullYear\",\r\n setter: \"setFullYear\",\r\n formatter: function(value, date) {\r\n var formatDate = new Date(date.getTime());\r\n formatDate.setFullYear(value);\r\n return dateLocalization.format(formatDate, \"yyyy\")\r\n },\r\n startValue: void 0,\r\n endValue: void 0\r\n },\r\n day: {\r\n getter: \"getDate\",\r\n setter: \"setDate\",\r\n formatter: function(value, date) {\r\n var formatDate = new Date(date.getTime());\r\n formatDate.setDate(value);\r\n return dateLocalization.format(formatDate, \"d\")\r\n },\r\n startValue: 1,\r\n endValue: void 0\r\n },\r\n month: {\r\n getter: \"getMonth\",\r\n setter: \"setMonth\",\r\n formatter: function(value) {\r\n return dateLocalization.getMonthNames()[value]\r\n },\r\n startValue: 0,\r\n endValue: 11\r\n },\r\n hours: {\r\n getter: \"getHours\",\r\n setter: \"setHours\",\r\n formatter: function(value) {\r\n return dateLocalization.format(new Date(0, 0, 0, value), \"hour\")\r\n },\r\n startValue: 0,\r\n endValue: 23\r\n },\r\n minutes: {\r\n getter: \"getMinutes\",\r\n setter: \"setMinutes\",\r\n formatter: function(value) {\r\n return dateLocalization.format(new Date(0, 0, 0, 0, value), \"minute\")\r\n },\r\n startValue: 0,\r\n endValue: 59\r\n },\r\n seconds: {\r\n getter: \"getSeconds\",\r\n setter: \"setSeconds\",\r\n formatter: function(value) {\r\n return dateLocalization.format(new Date(0, 0, 0, 0, 0, value), \"second\")\r\n },\r\n startValue: 0,\r\n endValue: 59\r\n },\r\n milliseconds: {\r\n getter: \"getMilliseconds\",\r\n setter: \"setMilliseconds\",\r\n formatter: function(value) {\r\n return dateLocalization.format(new Date(0, 0, 0, 0, 0, 0, value), \"millisecond\")\r\n },\r\n startValue: 0,\r\n endValue: 999\r\n }\r\n};\r\nexport default dateUtils;\r\n","/**\r\n * DevExtreme (esm/events/gesture/swipeable.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n start as swipeEventStart,\r\n swipe as swipeEventSwipe,\r\n end as swipeEventEnd\r\n} from \"../swipe\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport DOMComponent from \"../../core/dom_component\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n addNamespace\r\n} from \"../utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n name\r\n} from \"../../core/utils/public_component\";\r\nvar DX_SWIPEABLE = \"dxSwipeable\";\r\nvar SWIPEABLE_CLASS = \"dx-swipeable\";\r\nvar ACTION_TO_EVENT_MAP = {\r\n onStart: swipeEventStart,\r\n onUpdated: swipeEventSwipe,\r\n onEnd: swipeEventEnd,\r\n onCancel: \"dxswipecancel\"\r\n};\r\nvar IMMEDIATE_TIMEOUT = 180;\r\nvar Swipeable = DOMComponent.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n elastic: true,\r\n immediate: false,\r\n immediateTimeout: IMMEDIATE_TIMEOUT,\r\n direction: \"horizontal\",\r\n itemSizeFunc: null,\r\n onStart: null,\r\n onUpdated: null,\r\n onEnd: null,\r\n onCancel: null\r\n })\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(SWIPEABLE_CLASS);\r\n this._attachEventHandlers()\r\n },\r\n _attachEventHandlers: function() {\r\n this._detachEventHandlers();\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n var NAME = this.NAME;\r\n this._createEventData();\r\n each(ACTION_TO_EVENT_MAP, function(actionName, eventName) {\r\n var action = this._createActionByOption(actionName, {\r\n context: this\r\n });\r\n eventName = addNamespace(eventName, NAME);\r\n eventsEngine.on(this.$element(), eventName, this._eventData, (function(e) {\r\n return action({\r\n event: e\r\n })\r\n }))\r\n }.bind(this))\r\n },\r\n _createEventData: function() {\r\n this._eventData = {\r\n elastic: this.option(\"elastic\"),\r\n itemSizeFunc: this.option(\"itemSizeFunc\"),\r\n direction: this.option(\"direction\"),\r\n immediate: this.option(\"immediate\"),\r\n immediateTimeout: this.option(\"immediateTimeout\")\r\n }\r\n },\r\n _detachEventHandlers: function() {\r\n eventsEngine.off(this.$element(), \".\" + DX_SWIPEABLE)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"disabled\":\r\n case \"onStart\":\r\n case \"onUpdated\":\r\n case \"onEnd\":\r\n case \"onCancel\":\r\n case \"elastic\":\r\n case \"immediate\":\r\n case \"itemSizeFunc\":\r\n case \"direction\":\r\n this._detachEventHandlers();\r\n this._attachEventHandlers();\r\n break;\r\n case \"rtlEnabled\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _useTemplates: function() {\r\n return false\r\n }\r\n});\r\nname(Swipeable, DX_SWIPEABLE);\r\nexport default Swipeable;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.navigator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport Button from \"../button\";\r\nimport {\r\n isMaterial\r\n} from \"../themes\";\r\nvar CALENDAR_NAVIGATOR_CLASS = \"dx-calendar-navigator\";\r\nvar CALENDAR_NAVIGATOR_PREVIOUS_MONTH_CLASS = \"dx-calendar-navigator-previous-month\";\r\nvar CALENDAR_NAVIGATOR_NEXT_MONTH_CLASS = \"dx-calendar-navigator-next-month\";\r\nvar CALENDAR_NAVIGATOR_PREVIOUS_VIEW_CLASS = \"dx-calendar-navigator-previous-view\";\r\nvar CALENDAR_NAVIGATOR_NEXT_VIEW_CLASS = \"dx-calendar-navigator-next-view\";\r\nvar CALENDAR_NAVIGATOR_DISABLED_LINK_CLASS = \"dx-calendar-disabled-navigator-link\";\r\nvar CALENDAR_NAVIGATOR_CAPTION_BUTTON_CLASS = \"dx-calendar-caption-button\";\r\nvar BUTTON_TEXT_CLASS = \"dx-button-text\";\r\nclass Navigator extends Widget {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n onClick: null,\r\n onCaptionClick: null,\r\n type: \"normal\",\r\n stylingMode: \"outlined\",\r\n text: \"\"\r\n })\r\n }\r\n _defaultOptionsRules() {\r\n return super._defaultOptionsRules().concat([{\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n type: \"default\",\r\n stylingMode: \"text\"\r\n }\r\n }])\r\n }\r\n _init() {\r\n super._init();\r\n this._initActions()\r\n }\r\n _initActions() {\r\n this._clickAction = this._createActionByOption(\"onClick\");\r\n this._captionClickAction = this._createActionByOption(\"onCaptionClick\")\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n this.$element().addClass(CALENDAR_NAVIGATOR_CLASS);\r\n this._renderButtons();\r\n this._renderCaption()\r\n }\r\n _renderButtons() {\r\n var {\r\n rtlEnabled: rtlEnabled,\r\n type: type,\r\n stylingMode: stylingMode\r\n } = this.option();\r\n this._prevButton = this._createComponent($(\"<div>\"), Button, {\r\n focusStateEnabled: false,\r\n icon: rtlEnabled ? \"chevronright\" : \"chevronleft\",\r\n onClick: e => {\r\n this._clickAction({\r\n direction: -1,\r\n event: e\r\n })\r\n },\r\n type: type,\r\n stylingMode: stylingMode,\r\n integrationOptions: {}\r\n });\r\n var $prevButton = this._prevButton.$element().addClass(CALENDAR_NAVIGATOR_PREVIOUS_VIEW_CLASS).addClass(CALENDAR_NAVIGATOR_PREVIOUS_MONTH_CLASS);\r\n this._nextButton = this._createComponent($(\"<div>\"), Button, {\r\n focusStateEnabled: false,\r\n icon: rtlEnabled ? \"chevronleft\" : \"chevronright\",\r\n onClick: e => {\r\n this._clickAction({\r\n direction: 1,\r\n event: e\r\n })\r\n },\r\n type: type,\r\n stylingMode: stylingMode,\r\n integrationOptions: {}\r\n });\r\n var $nextButton = this._nextButton.$element().addClass(CALENDAR_NAVIGATOR_NEXT_VIEW_CLASS).addClass(CALENDAR_NAVIGATOR_NEXT_MONTH_CLASS);\r\n this._caption = this._createComponent($(\"<div>\").addClass(CALENDAR_NAVIGATOR_CAPTION_BUTTON_CLASS), Button, {\r\n focusStateEnabled: false,\r\n onClick: e => {\r\n this._captionClickAction({\r\n event: e\r\n })\r\n },\r\n type: type,\r\n stylingMode: stylingMode,\r\n template: (_, content) => {\r\n var {\r\n text: text\r\n } = this.option();\r\n var viewCaptionTexts = text.split(\" - \");\r\n viewCaptionTexts.forEach(captionText => {\r\n $(content).append($(\"<span>\").addClass(BUTTON_TEXT_CLASS).text(captionText))\r\n })\r\n },\r\n integrationOptions: {}\r\n });\r\n var $caption = this._caption.$element();\r\n this.$element().append($prevButton, $caption, $nextButton)\r\n }\r\n _renderCaption() {\r\n this._caption.option(\"text\", this.option(\"text\"))\r\n }\r\n toggleButton(buttonPrefix, value) {\r\n var buttonName = \"_\" + buttonPrefix + \"Button\";\r\n var button = this[buttonName];\r\n if (button) {\r\n button.option(\"disabled\", value);\r\n button.$element().toggleClass(CALENDAR_NAVIGATOR_DISABLED_LINK_CLASS, value)\r\n }\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"text\":\r\n this._renderCaption();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n}\r\nexport default Navigator;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.base_view.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n data as elementData\r\n} from \"../../core/element_data\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport coreDateUtils from \"../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n start as hoverStartEventName\r\n} from \"../../events/hover\";\r\nvar {\r\n abstract: abstract\r\n} = Widget;\r\nvar CALENDAR_OTHER_VIEW_CLASS = \"dx-calendar-other-view\";\r\nvar CALENDAR_CELL_CLASS = \"dx-calendar-cell\";\r\nvar CALENDAR_CELL_START_CLASS = \"dx-calendar-cell-start\";\r\nvar CALENDAR_CELL_END_CLASS = \"dx-calendar-cell-end\";\r\nvar CALENDAR_CELL_START_IN_ROW_CLASS = \"dx-calendar-cell-start-in-row\";\r\nvar CALENDAR_CELL_END_IN_ROW_CLASS = \"dx-calendar-cell-end-in-row\";\r\nvar CALENDAR_WEEK_NUMBER_CELL_CLASS = \"dx-calendar-week-number-cell\";\r\nvar CALENDAR_EMPTY_CELL_CLASS = \"dx-calendar-empty-cell\";\r\nvar CALENDAR_TODAY_CLASS = \"dx-calendar-today\";\r\nvar CALENDAR_SELECTED_DATE_CLASS = \"dx-calendar-selected-date\";\r\nvar CALENDAR_CELL_IN_RANGE_CLASS = \"dx-calendar-cell-in-range\";\r\nvar CALENDAR_CELL_RANGE_HOVER_CLASS = \"dx-calendar-cell-range-hover\";\r\nvar CALENDAR_CELL_RANGE_HOVER_START_CLASS = \"dx-calendar-cell-range-hover-start\";\r\nvar CALENDAR_CELL_RANGE_HOVER_END_CLASS = \"dx-calendar-cell-range-hover-end\";\r\nvar CALENDAR_RANGE_START_DATE_CLASS = \"dx-calendar-range-start-date\";\r\nvar CALENDAR_RANGE_END_DATE_CLASS = \"dx-calendar-range-end-date\";\r\nvar CALENDAR_CONTOURED_DATE_CLASS = \"dx-calendar-contoured-date\";\r\nvar NOT_WEEK_CELL_SELECTOR = \"td:not(.\".concat(CALENDAR_WEEK_NUMBER_CELL_CLASS, \")\");\r\nvar CALENDAR_DXCLICK_EVENT_NAME = addNamespace(clickEventName, \"dxCalendar\");\r\nvar CALENDAR_DXHOVERSTART_EVENT_NAME = addNamespace(hoverStartEventName, \"dxCalendar\");\r\nvar CALENDAR_DATE_VALUE_KEY = \"dxDateValueKey\";\r\nvar BaseView = Widget.inherit({\r\n _getViewName: function() {\r\n return \"base\"\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n date: new Date,\r\n focusStateEnabled: false,\r\n cellTemplate: null,\r\n disabledDates: null,\r\n onCellClick: null,\r\n onCellHover: null,\r\n rowCount: 3,\r\n colCount: 4,\r\n allowValueSelection: true,\r\n _todayDate: () => new Date\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderImpl()\r\n },\r\n _renderImpl: function() {\r\n this.$element().append(this._createTable());\r\n this._createDisabledDatesHandler();\r\n this._renderBody();\r\n this._renderContouredDate();\r\n this._renderValue();\r\n this._renderRange();\r\n this._renderEvents()\r\n },\r\n _createTable: function() {\r\n this._$table = $(\"<table>\");\r\n var localizedWidgetName = messageLocalization.format(\"dxCalendar-ariaWidgetName\");\r\n var localizedHotKeysInfo = messageLocalization.format(\"dxCalendar-ariaHotKeysInfo\");\r\n this.setAria({\r\n label: \"\".concat(localizedWidgetName, \". \").concat(localizedHotKeysInfo),\r\n role: \"grid\"\r\n }, this._$table);\r\n return this._$table\r\n },\r\n _renderBody: function() {\r\n this.$body = $(\"<tbody>\").appendTo(this._$table);\r\n var rowData = {\r\n cellDate: this._getFirstCellData(),\r\n prevCellDate: null\r\n };\r\n for (var rowIndex = 0, rowCount = this.option(\"rowCount\"); rowIndex < rowCount; rowIndex++) {\r\n rowData.row = this._createRow();\r\n for (var colIndex = 0, colCount = this.option(\"colCount\"); colIndex < colCount; colIndex++) {\r\n this._renderCell(rowData, colIndex)\r\n }\r\n this._renderWeekNumberCell(rowData)\r\n }\r\n },\r\n _createRow: function() {\r\n var row = domAdapter.createElement(\"tr\");\r\n this.setAria(\"role\", \"row\", $(row));\r\n this.$body.get(0).appendChild(row);\r\n return row\r\n },\r\n _createCell: function(cellDate, cellIndex) {\r\n var cell = domAdapter.createElement(\"td\");\r\n var $cell = $(cell);\r\n cell.className = this._getClassNameByDate(cellDate, cellIndex);\r\n cell.setAttribute(\"data-value\", dateSerialization.serializeDate(cellDate, coreDateUtils.getShortDateFormat()));\r\n elementData(cell, CALENDAR_DATE_VALUE_KEY, cellDate);\r\n this.setAria({\r\n role: \"gridcell\",\r\n label: this.getCellAriaLabel(cellDate)\r\n }, $cell);\r\n return {\r\n cell: cell,\r\n $cell: $cell\r\n }\r\n },\r\n _renderCell: function(params, cellIndex) {\r\n var {\r\n cellDate: cellDate,\r\n prevCellDate: prevCellDate,\r\n row: row\r\n } = params;\r\n if (prevCellDate) {\r\n coreDateUtils.fixTimezoneGap(prevCellDate, cellDate)\r\n }\r\n params.prevCellDate = cellDate;\r\n var {\r\n cell: cell,\r\n $cell: $cell\r\n } = this._createCell(cellDate, cellIndex);\r\n var cellTemplate = this.option(\"cellTemplate\");\r\n $(row).append(cell);\r\n if (cellTemplate) {\r\n cellTemplate.render(this._prepareCellTemplateData(cellDate, cellIndex, $cell))\r\n } else {\r\n cell.innerHTML = this._getCellText(cellDate)\r\n }\r\n params.cellDate = this._getNextCellData(cellDate)\r\n },\r\n _getClassNameByDate: function(cellDate, cellIndex) {\r\n var className = CALENDAR_CELL_CLASS;\r\n if (this._isTodayCell(cellDate)) {\r\n className += \" \".concat(CALENDAR_TODAY_CLASS)\r\n }\r\n if (this._isDateOutOfRange(cellDate) || this.isDateDisabled(cellDate)) {\r\n className += \" \".concat(CALENDAR_EMPTY_CELL_CLASS)\r\n }\r\n if (this._isOtherView(cellDate)) {\r\n className += \" \".concat(CALENDAR_OTHER_VIEW_CLASS)\r\n }\r\n if (\"range\" === this.option(\"selectionMode\")) {\r\n if (0 === cellIndex) {\r\n className += \" \".concat(CALENDAR_CELL_START_IN_ROW_CLASS)\r\n }\r\n if (cellIndex === this.option(\"colCount\") - 1) {\r\n className += \" \".concat(CALENDAR_CELL_END_IN_ROW_CLASS)\r\n }\r\n if (this._isStartDayOfMonth(cellDate)) {\r\n className += \" \".concat(CALENDAR_CELL_START_CLASS)\r\n }\r\n if (this._isEndDayOfMonth(cellDate)) {\r\n className += \" \".concat(CALENDAR_CELL_END_CLASS)\r\n }\r\n }\r\n return className\r\n },\r\n _prepareCellTemplateData: function(cellDate, cellIndex, $cell) {\r\n var isDateCell = cellDate instanceof Date;\r\n var text = isDateCell ? this._getCellText(cellDate) : cellDate;\r\n var date = isDateCell ? cellDate : void 0;\r\n var view = this._getViewName();\r\n return {\r\n model: {\r\n text: text,\r\n date: date,\r\n view: view\r\n },\r\n container: getPublicElement($cell),\r\n index: cellIndex\r\n }\r\n },\r\n _renderEvents: function() {\r\n this._createCellClickAction();\r\n eventsEngine.off(this._$table, CALENDAR_DXCLICK_EVENT_NAME);\r\n eventsEngine.on(this._$table, CALENDAR_DXCLICK_EVENT_NAME, NOT_WEEK_CELL_SELECTOR, e => {\r\n if (!$(e.currentTarget).hasClass(CALENDAR_EMPTY_CELL_CLASS)) {\r\n this._cellClickAction({\r\n event: e,\r\n value: $(e.currentTarget).data(CALENDAR_DATE_VALUE_KEY)\r\n })\r\n }\r\n });\r\n eventsEngine.off(this._$table, CALENDAR_DXHOVERSTART_EVENT_NAME);\r\n if (\"range\" === this.option(\"selectionMode\")) {\r\n this._createCellHoverAction();\r\n eventsEngine.on(this._$table, CALENDAR_DXHOVERSTART_EVENT_NAME, NOT_WEEK_CELL_SELECTOR, e => {\r\n if (!$(e.currentTarget).hasClass(CALENDAR_EMPTY_CELL_CLASS)) {\r\n this._cellHoverAction({\r\n event: e,\r\n value: $(e.currentTarget).data(CALENDAR_DATE_VALUE_KEY)\r\n })\r\n }\r\n })\r\n }\r\n },\r\n _createCellClickAction: function() {\r\n this._cellClickAction = this._createActionByOption(\"onCellClick\")\r\n },\r\n _createCellHoverAction: function() {\r\n this._cellHoverAction = this._createActionByOption(\"onCellHover\")\r\n },\r\n _createDisabledDatesHandler: function() {\r\n var disabledDates = this.option(\"disabledDates\");\r\n this._disabledDatesHandler = Array.isArray(disabledDates) ? this._getDefaultDisabledDatesHandler(disabledDates) : disabledDates || noop\r\n },\r\n _getDefaultDisabledDatesHandler: function(disabledDates) {\r\n return noop\r\n },\r\n _isTodayCell: abstract,\r\n _isDateOutOfRange: abstract,\r\n isDateDisabled: function(cellDate) {\r\n var dateParts = {\r\n date: cellDate,\r\n view: this._getViewName()\r\n };\r\n return this._disabledDatesHandler(dateParts)\r\n },\r\n _isOtherView: abstract,\r\n _isStartDayOfMonth: abstract,\r\n _isEndDayOfMonth: abstract,\r\n _getCellText: abstract,\r\n _getFirstCellData: abstract,\r\n _getNextCellData: abstract,\r\n _renderContouredDate: function(contouredDate) {\r\n if (!this.option(\"focusStateEnabled\")) {\r\n return\r\n }\r\n contouredDate = contouredDate || this.option(\"contouredDate\");\r\n var $oldContouredCell = this._getContouredCell();\r\n var $newContouredCell = this._getCellByDate(contouredDate);\r\n $oldContouredCell.removeClass(CALENDAR_CONTOURED_DATE_CLASS);\r\n if (contouredDate) {\r\n $newContouredCell.addClass(CALENDAR_CONTOURED_DATE_CLASS)\r\n }\r\n },\r\n _getContouredCell: function() {\r\n return this._$table.find(\".\".concat(CALENDAR_CONTOURED_DATE_CLASS))\r\n },\r\n _renderValue: function() {\r\n if (!this.option(\"allowValueSelection\")) {\r\n return\r\n }\r\n var value = this.option(\"value\");\r\n if (!Array.isArray(value)) {\r\n value = [value]\r\n }\r\n this._updateSelectedClass(value)\r\n },\r\n _updateSelectedClass: function(value) {\r\n var _this$_$selectedCells;\r\n if (this._isRangeMode() && !this._isMonthView()) {\r\n return\r\n }\r\n null === (_this$_$selectedCells = this._$selectedCells) || void 0 === _this$_$selectedCells ? void 0 : _this$_$selectedCells.forEach($cell => {\r\n $cell.removeClass(CALENDAR_SELECTED_DATE_CLASS)\r\n });\r\n this._$selectedCells = value.map(value => this._getCellByDate(value));\r\n this._$selectedCells.forEach($cell => {\r\n $cell.addClass(CALENDAR_SELECTED_DATE_CLASS)\r\n })\r\n },\r\n _renderRange: function() {\r\n var _this$_$rangeCells, _this$_$hoveredRangeC, _this$_$rangeStartHov, _this$_$rangeEndHover, _this$_$rangeStartDat, _this$_$rangeEndDateC, _this$_$rangeStartDat2, _this$_$rangeEndDateC2;\r\n var {\r\n allowValueSelection: allowValueSelection,\r\n value: value,\r\n range: range\r\n } = this.option();\r\n if (!allowValueSelection || !this._isRangeMode() || !this._isMonthView()) {\r\n return\r\n }\r\n null === (_this$_$rangeCells = this._$rangeCells) || void 0 === _this$_$rangeCells ? void 0 : _this$_$rangeCells.forEach($cell => {\r\n $cell.removeClass(CALENDAR_CELL_IN_RANGE_CLASS)\r\n });\r\n null === (_this$_$hoveredRangeC = this._$hoveredRangeCells) || void 0 === _this$_$hoveredRangeC ? void 0 : _this$_$hoveredRangeC.forEach($cell => {\r\n $cell.removeClass(CALENDAR_CELL_RANGE_HOVER_CLASS)\r\n });\r\n null === (_this$_$rangeStartHov = this._$rangeStartHoverCell) || void 0 === _this$_$rangeStartHov ? void 0 : _this$_$rangeStartHov.removeClass(CALENDAR_CELL_RANGE_HOVER_START_CLASS);\r\n null === (_this$_$rangeEndHover = this._$rangeEndHoverCell) || void 0 === _this$_$rangeEndHover ? void 0 : _this$_$rangeEndHover.removeClass(CALENDAR_CELL_RANGE_HOVER_END_CLASS);\r\n null === (_this$_$rangeStartDat = this._$rangeStartDateCell) || void 0 === _this$_$rangeStartDat ? void 0 : _this$_$rangeStartDat.removeClass(CALENDAR_RANGE_START_DATE_CLASS);\r\n null === (_this$_$rangeEndDateC = this._$rangeEndDateCell) || void 0 === _this$_$rangeEndDateC ? void 0 : _this$_$rangeEndDateC.removeClass(CALENDAR_RANGE_END_DATE_CLASS);\r\n this._$rangeCells = range.map(value => this._getCellByDate(value));\r\n this._$rangeStartDateCell = this._getCellByDate(value[0]);\r\n this._$rangeEndDateCell = this._getCellByDate(value[1]);\r\n this._$rangeCells.forEach($cell => {\r\n $cell.addClass(CALENDAR_CELL_IN_RANGE_CLASS)\r\n });\r\n null === (_this$_$rangeStartDat2 = this._$rangeStartDateCell) || void 0 === _this$_$rangeStartDat2 ? void 0 : _this$_$rangeStartDat2.addClass(CALENDAR_RANGE_START_DATE_CLASS);\r\n null === (_this$_$rangeEndDateC2 = this._$rangeEndDateCell) || void 0 === _this$_$rangeEndDateC2 ? void 0 : _this$_$rangeEndDateC2.addClass(CALENDAR_RANGE_END_DATE_CLASS)\r\n },\r\n _renderHoveredRange() {\r\n var _this$_$hoveredRangeC2, _this$_$rangeStartHov2, _this$_$rangeEndHover2, _this$_$rangeStartHov3, _this$_$rangeEndHover3;\r\n var {\r\n allowValueSelection: allowValueSelection,\r\n hoveredRange: hoveredRange\r\n } = this.option();\r\n if (!allowValueSelection || !this._isRangeMode() || !this._isMonthView()) {\r\n return\r\n }\r\n null === (_this$_$hoveredRangeC2 = this._$hoveredRangeCells) || void 0 === _this$_$hoveredRangeC2 ? void 0 : _this$_$hoveredRangeC2.forEach($cell => {\r\n $cell.removeClass(CALENDAR_CELL_RANGE_HOVER_CLASS)\r\n });\r\n null === (_this$_$rangeStartHov2 = this._$rangeStartHoverCell) || void 0 === _this$_$rangeStartHov2 ? void 0 : _this$_$rangeStartHov2.removeClass(CALENDAR_CELL_RANGE_HOVER_START_CLASS);\r\n null === (_this$_$rangeEndHover2 = this._$rangeEndHoverCell) || void 0 === _this$_$rangeEndHover2 ? void 0 : _this$_$rangeEndHover2.removeClass(CALENDAR_CELL_RANGE_HOVER_END_CLASS);\r\n this._$hoveredRangeCells = hoveredRange.map(value => this._getCellByDate(value));\r\n this._$rangeStartHoverCell = this._getCellByDate(hoveredRange[0]);\r\n this._$rangeEndHoverCell = this._getCellByDate(hoveredRange[hoveredRange.length - 1]);\r\n this._$hoveredRangeCells.forEach($cell => {\r\n $cell.addClass(CALENDAR_CELL_RANGE_HOVER_CLASS)\r\n });\r\n null === (_this$_$rangeStartHov3 = this._$rangeStartHoverCell) || void 0 === _this$_$rangeStartHov3 ? void 0 : _this$_$rangeStartHov3.addClass(CALENDAR_CELL_RANGE_HOVER_START_CLASS);\r\n null === (_this$_$rangeEndHover3 = this._$rangeEndHoverCell) || void 0 === _this$_$rangeEndHover3 ? void 0 : _this$_$rangeEndHover3.addClass(CALENDAR_CELL_RANGE_HOVER_END_CLASS)\r\n },\r\n _isMonthView: function() {\r\n return \"month\" === this.option(\"zoomLevel\")\r\n },\r\n _isRangeMode: function() {\r\n return \"range\" === this.option(\"selectionMode\")\r\n },\r\n getCellAriaLabel: function(date) {\r\n return this._getCellText(date)\r\n },\r\n _getFirstAvailableDate: function() {\r\n var date = this.option(\"date\");\r\n var min = this.option(\"min\");\r\n date = coreDateUtils.getViewFirstCellDate(this._getViewName(), date);\r\n return new Date(min && date < min ? min : date)\r\n },\r\n _getCellByDate: abstract,\r\n isBoundary: abstract,\r\n _optionChanged: function(args) {\r\n var {\r\n name: name,\r\n value: value\r\n } = args;\r\n switch (name) {\r\n case \"value\":\r\n this._renderValue();\r\n break;\r\n case \"range\":\r\n this._renderRange();\r\n break;\r\n case \"hoveredRange\":\r\n this._renderHoveredRange();\r\n break;\r\n case \"contouredDate\":\r\n this._renderContouredDate(value);\r\n break;\r\n case \"onCellClick\":\r\n this._createCellClickAction();\r\n break;\r\n case \"onCellHover\":\r\n this._createCellHoverAction();\r\n break;\r\n case \"min\":\r\n case \"max\":\r\n case \"disabledDates\":\r\n case \"cellTemplate\":\r\n case \"selectionMode\":\r\n this._invalidate();\r\n break;\r\n case \"_todayDate\":\r\n this._renderBody();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport default BaseView;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.views.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport BaseView from \"./ui.calendar.base_view\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nvar CALENDAR_OTHER_MONTH_CLASS = \"dx-calendar-other-month\";\r\nvar CALENDAR_OTHER_VIEW_CLASS = \"dx-calendar-other-view\";\r\nvar CALENDAR_WEEK_NUMBER_CELL_CLASS = \"dx-calendar-week-number-cell\";\r\nvar Views = {\r\n month: BaseView.inherit({\r\n _getViewName: function() {\r\n return \"month\"\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n firstDayOfWeek: 0,\r\n rowCount: 6,\r\n colCount: 7\r\n })\r\n },\r\n _renderImpl: function() {\r\n this.callBase();\r\n this._renderHeader()\r\n },\r\n _renderBody: function() {\r\n this.callBase();\r\n this._$table.find(\".\".concat(CALENDAR_OTHER_VIEW_CLASS)).addClass(CALENDAR_OTHER_MONTH_CLASS)\r\n },\r\n _renderFocusTarget: noop,\r\n getCellAriaLabel: function(date) {\r\n return dateLocalization.format(date, \"longdate\")\r\n },\r\n _renderHeader: function() {\r\n var $headerRow = $(\"<tr>\");\r\n var $header = $(\"<thead>\").append($headerRow);\r\n this._$table.prepend($header);\r\n for (var colIndex = 0, colCount = this.option(\"colCount\"); colIndex < colCount; colIndex++) {\r\n this._renderHeaderCell(colIndex, $headerRow)\r\n }\r\n if (this.option(\"showWeekNumbers\")) {\r\n this._renderWeekHeaderCell($headerRow)\r\n }\r\n },\r\n _renderHeaderCell: function(cellIndex, $headerRow) {\r\n var {\r\n firstDayOfWeek: firstDayOfWeek\r\n } = this.option();\r\n var {\r\n full: fullCaption,\r\n abbreviated: abbrCaption\r\n } = this._getDayCaption(firstDayOfWeek + cellIndex);\r\n var $cell = $(\"<th>\").attr({\r\n scope: \"col\",\r\n abbr: fullCaption\r\n }).text(abbrCaption);\r\n $headerRow.append($cell)\r\n },\r\n _renderWeekHeaderCell: function($headerRow) {\r\n var $weekNumberHeaderCell = $(\"<th>\").attr({\r\n scope: \"col\",\r\n abbr: \"WeekNumber\",\r\n class: \"dx-week-number-header\"\r\n });\r\n $headerRow.prepend($weekNumberHeaderCell)\r\n },\r\n _renderWeekNumberCell: function(rowData) {\r\n var {\r\n showWeekNumbers: showWeekNumbers,\r\n cellTemplate: cellTemplate\r\n } = this.option();\r\n if (!showWeekNumbers) {\r\n return\r\n }\r\n var weekNumber = this._getWeekNumber(rowData.prevCellDate);\r\n var cell = domAdapter.createElement(\"td\");\r\n var $cell = $(cell);\r\n cell.className = CALENDAR_WEEK_NUMBER_CELL_CLASS;\r\n if (cellTemplate) {\r\n cellTemplate.render(this._prepareCellTemplateData(weekNumber, -1, $cell))\r\n } else {\r\n cell.innerHTML = weekNumber\r\n }\r\n rowData.row.prepend(cell);\r\n this.setAria({\r\n role: \"gridcell\",\r\n label: \"Week \".concat(weekNumber)\r\n }, $cell)\r\n },\r\n _getWeekNumber: function(date) {\r\n var {\r\n weekNumberRule: weekNumberRule,\r\n firstDayOfWeek: firstDayOfWeek\r\n } = this.option();\r\n if (\"auto\" === weekNumberRule) {\r\n return dateUtils.getWeekNumber(date, firstDayOfWeek, 1 === firstDayOfWeek ? \"firstFourDays\" : \"firstDay\")\r\n }\r\n return dateUtils.getWeekNumber(date, firstDayOfWeek, weekNumberRule)\r\n },\r\n getNavigatorCaption: function() {\r\n return dateLocalization.format(this.option(\"date\"), \"monthandyear\")\r\n },\r\n _isTodayCell: function(cellDate) {\r\n var today = this.option(\"_todayDate\")();\r\n return dateUtils.sameDate(cellDate, today)\r\n },\r\n _isDateOutOfRange: function(cellDate) {\r\n var minDate = this.option(\"min\");\r\n var maxDate = this.option(\"max\");\r\n return !dateUtils.dateInRange(cellDate, minDate, maxDate, \"date\")\r\n },\r\n _isOtherView: function(cellDate) {\r\n return cellDate.getMonth() !== this.option(\"date\").getMonth()\r\n },\r\n _isStartDayOfMonth: function(cellDate) {\r\n return dateUtils.sameDate(cellDate, dateUtils.getFirstMonthDate(this.option(\"date\")))\r\n },\r\n _isEndDayOfMonth: function(cellDate) {\r\n return dateUtils.sameDate(cellDate, dateUtils.getLastMonthDate(this.option(\"date\")))\r\n },\r\n _getCellText: function(cellDate) {\r\n return dateLocalization.format(cellDate, \"d\")\r\n },\r\n _getDayCaption: function(day) {\r\n var daysInWeek = this.option(\"colCount\");\r\n var dayIndex = day % daysInWeek;\r\n return {\r\n full: dateLocalization.getDayNames()[dayIndex],\r\n abbreviated: dateLocalization.getDayNames(\"abbreviated\")[dayIndex]\r\n }\r\n },\r\n _getFirstCellData: function() {\r\n var {\r\n firstDayOfWeek: firstDayOfWeek\r\n } = this.option();\r\n var firstDay = dateUtils.getFirstMonthDate(this.option(\"date\"));\r\n var firstMonthDayOffset = firstDayOfWeek - firstDay.getDay();\r\n var daysInWeek = this.option(\"colCount\");\r\n if (firstMonthDayOffset >= 0) {\r\n firstMonthDayOffset -= daysInWeek\r\n }\r\n firstDay.setDate(firstDay.getDate() + firstMonthDayOffset);\r\n return firstDay\r\n },\r\n _getNextCellData: function(date) {\r\n date = new Date(date);\r\n date.setDate(date.getDate() + 1);\r\n return date\r\n },\r\n _getCellByDate: function(date) {\r\n return this._$table.find(\"td[data-value='\".concat(dateSerialization.serializeDate(date, dateUtils.getShortDateFormat()), \"']\"))\r\n },\r\n isBoundary: function(date) {\r\n return dateUtils.sameMonthAndYear(date, this.option(\"min\")) || dateUtils.sameMonthAndYear(date, this.option(\"max\"))\r\n },\r\n _getDefaultDisabledDatesHandler: function(disabledDates) {\r\n return function(args) {\r\n var isDisabledDate = disabledDates.some((function(item) {\r\n return dateUtils.sameDate(item, args.date)\r\n }));\r\n if (isDisabledDate) {\r\n return true\r\n }\r\n }\r\n }\r\n }),\r\n year: BaseView.inherit({\r\n _getViewName: function() {\r\n return \"year\"\r\n },\r\n _isTodayCell: function(cellDate) {\r\n var today = this.option(\"_todayDate\")();\r\n return dateUtils.sameMonthAndYear(cellDate, today)\r\n },\r\n _isDateOutOfRange: function(cellDate) {\r\n return !dateUtils.dateInRange(cellDate, dateUtils.getFirstMonthDate(this.option(\"min\")), dateUtils.getLastMonthDate(this.option(\"max\")))\r\n },\r\n _isOtherView: function() {\r\n return false\r\n },\r\n _isStartDayOfMonth: function() {\r\n return false\r\n },\r\n _isEndDayOfMonth: function() {\r\n return false\r\n },\r\n _getCellText: function(cellDate) {\r\n return dateLocalization.getMonthNames(\"abbreviated\")[cellDate.getMonth()]\r\n },\r\n _getFirstCellData: function() {\r\n var currentDate = this.option(\"date\");\r\n var data = new Date(currentDate);\r\n data.setDate(1);\r\n data.setMonth(0);\r\n return data\r\n },\r\n _getNextCellData: function(date) {\r\n date = new Date(date);\r\n date.setMonth(date.getMonth() + 1);\r\n return date\r\n },\r\n _getCellByDate: function(date) {\r\n var foundDate = new Date(date);\r\n foundDate.setDate(1);\r\n return this._$table.find(\"td[data-value='\".concat(dateSerialization.serializeDate(foundDate, dateUtils.getShortDateFormat()), \"']\"))\r\n },\r\n getCellAriaLabel: function(date) {\r\n return dateLocalization.format(date, \"monthandyear\")\r\n },\r\n getNavigatorCaption: function() {\r\n return dateLocalization.format(this.option(\"date\"), \"yyyy\")\r\n },\r\n isBoundary: function(date) {\r\n return dateUtils.sameYear(date, this.option(\"min\")) || dateUtils.sameYear(date, this.option(\"max\"))\r\n },\r\n _renderWeekNumberCell: noop\r\n }),\r\n decade: BaseView.inherit({\r\n _getViewName: function() {\r\n return \"decade\"\r\n },\r\n _isTodayCell: function(cellDate) {\r\n var today = this.option(\"_todayDate\")();\r\n return dateUtils.sameYear(cellDate, today)\r\n },\r\n _isDateOutOfRange: function(cellDate) {\r\n var min = this.option(\"min\");\r\n var max = this.option(\"max\");\r\n return !dateUtils.dateInRange(cellDate.getFullYear(), min && min.getFullYear(), max && max.getFullYear())\r\n },\r\n _isOtherView: function(cellDate) {\r\n var date = new Date(cellDate);\r\n date.setMonth(1);\r\n return !dateUtils.sameDecade(date, this.option(\"date\"))\r\n },\r\n _isStartDayOfMonth: function() {\r\n return false\r\n },\r\n _isEndDayOfMonth: function() {\r\n return false\r\n },\r\n _getCellText: function(cellDate) {\r\n return dateLocalization.format(cellDate, \"yyyy\")\r\n },\r\n _getFirstCellData: function() {\r\n var year = dateUtils.getFirstYearInDecade(this.option(\"date\")) - 1;\r\n return dateUtils.createDateWithFullYear(year, 0, 1)\r\n },\r\n _getNextCellData: function(date) {\r\n date = new Date(date);\r\n date.setFullYear(date.getFullYear() + 1);\r\n return date\r\n },\r\n getNavigatorCaption: function() {\r\n var currentDate = this.option(\"date\");\r\n var firstYearInDecade = dateUtils.getFirstYearInDecade(currentDate);\r\n var startDate = new Date(currentDate);\r\n var endDate = new Date(currentDate);\r\n startDate.setFullYear(firstYearInDecade);\r\n endDate.setFullYear(firstYearInDecade + 9);\r\n return dateLocalization.format(startDate, \"yyyy\") + \"-\" + dateLocalization.format(endDate, \"yyyy\")\r\n },\r\n _isValueOnCurrentView: function(currentDate, value) {\r\n return dateUtils.sameDecade(currentDate, value)\r\n },\r\n _getCellByDate: function(date) {\r\n var foundDate = new Date(date);\r\n foundDate.setDate(1);\r\n foundDate.setMonth(0);\r\n return this._$table.find(\"td[data-value='\".concat(dateSerialization.serializeDate(foundDate, dateUtils.getShortDateFormat()), \"']\"))\r\n },\r\n isBoundary: function(date) {\r\n return dateUtils.sameDecade(date, this.option(\"min\")) || dateUtils.sameDecade(date, this.option(\"max\"))\r\n },\r\n _renderWeekNumberCell: noop\r\n }),\r\n century: BaseView.inherit({\r\n _getViewName: function() {\r\n return \"century\"\r\n },\r\n _isTodayCell: function(cellDate) {\r\n var today = this.option(\"_todayDate\")();\r\n return dateUtils.sameDecade(cellDate, today)\r\n },\r\n _isDateOutOfRange: function(cellDate) {\r\n var decade = dateUtils.getFirstYearInDecade(cellDate);\r\n var minDecade = dateUtils.getFirstYearInDecade(this.option(\"min\"));\r\n var maxDecade = dateUtils.getFirstYearInDecade(this.option(\"max\"));\r\n return !dateUtils.dateInRange(decade, minDecade, maxDecade)\r\n },\r\n _isOtherView: function(cellDate) {\r\n var date = new Date(cellDate);\r\n date.setMonth(1);\r\n return !dateUtils.sameCentury(date, this.option(\"date\"))\r\n },\r\n _isStartDayOfMonth: function() {\r\n return false\r\n },\r\n _isEndDayOfMonth: function() {\r\n return false\r\n },\r\n _getCellText: function(cellDate) {\r\n var startDate = dateLocalization.format(cellDate, \"yyyy\");\r\n var endDate = new Date(cellDate);\r\n endDate.setFullYear(endDate.getFullYear() + 9);\r\n return startDate + \" - \" + dateLocalization.format(endDate, \"yyyy\")\r\n },\r\n _getFirstCellData: function() {\r\n var decade = dateUtils.getFirstDecadeInCentury(this.option(\"date\")) - 10;\r\n return dateUtils.createDateWithFullYear(decade, 0, 1)\r\n },\r\n _getNextCellData: function(date) {\r\n date = new Date(date);\r\n date.setFullYear(date.getFullYear() + 10);\r\n return date\r\n },\r\n _getCellByDate: function(date) {\r\n var foundDate = new Date(date);\r\n foundDate.setDate(1);\r\n foundDate.setMonth(0);\r\n foundDate.setFullYear(dateUtils.getFirstYearInDecade(foundDate));\r\n return this._$table.find(\"td[data-value='\".concat(dateSerialization.serializeDate(foundDate, dateUtils.getShortDateFormat()), \"']\"))\r\n },\r\n getNavigatorCaption: function() {\r\n var currentDate = this.option(\"date\");\r\n var firstDecadeInCentury = dateUtils.getFirstDecadeInCentury(currentDate);\r\n var startDate = new Date(currentDate);\r\n var endDate = new Date(currentDate);\r\n startDate.setFullYear(firstDecadeInCentury);\r\n endDate.setFullYear(firstDecadeInCentury + 99);\r\n return dateLocalization.format(startDate, \"yyyy\") + \"-\" + dateLocalization.format(endDate, \"yyyy\")\r\n },\r\n isBoundary: function(date) {\r\n return dateUtils.sameCentury(date, this.option(\"min\")) || dateUtils.sameCentury(date, this.option(\"max\"))\r\n },\r\n _renderWeekNumberCell: noop\r\n })\r\n};\r\nexport default Views;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.selection.strategy.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nclass CalendarSelectionStrategy {\r\n constructor(component) {\r\n this.calendar = component\r\n }\r\n dateOption(optionName) {\r\n return this.calendar._dateOption(optionName)\r\n }\r\n dateValue(value, e) {\r\n this.calendar._dateValue(value, e)\r\n }\r\n skipNavigate() {\r\n this.calendar._skipNavigate = true\r\n }\r\n updateAriaSelected(value, previousValue) {\r\n this.calendar._updateAriaSelected(value, previousValue);\r\n if (value[0] && this.calendar.option(\"currentDate\").getTime() === value[0].getTime()) {\r\n this.calendar._updateAriaId(value[0])\r\n }\r\n }\r\n processValueChanged(value, previousValue) {\r\n var _value, _previousValue;\r\n value = (null === (_value = value) || void 0 === _value ? void 0 : _value.map(item => this._convertToDate(item))) || [];\r\n previousValue = (null === (_previousValue = previousValue) || void 0 === _previousValue ? void 0 : _previousValue.map(item => this._convertToDate(item))) || [];\r\n this._updateViewsValue(value);\r\n this.updateAriaSelected(value, previousValue);\r\n if (!this._currentDateChanged) {\r\n this.calendar._initCurrentDate()\r\n }\r\n this._currentDateChanged = false\r\n }\r\n _getLowestDateInArray(dates) {\r\n if (dates.length) {\r\n return new Date(Math.min(...dates))\r\n }\r\n }\r\n _convertToDate(value) {\r\n return this.calendar._convertToDate(value)\r\n }\r\n _isMaxZoomLevel() {\r\n return this.calendar._isMaxZoomLevel()\r\n }\r\n _updateViewsOption(optionName, optionValue) {\r\n this.calendar._updateViewsOption(optionName, optionValue)\r\n }\r\n _updateViewsValue(value) {\r\n this._updateViewsOption(\"value\", value)\r\n }\r\n _updateCurrentDate(value) {\r\n this.calendar.option(\"currentDate\", null !== value && void 0 !== value ? value : new Date)\r\n }\r\n}\r\nexport default CalendarSelectionStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.single.selection.strategy.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport CalendarSelectionStrategy from \"./ui.calendar.selection.strategy\";\r\nclass CalendarSingleSelectionStrategy extends CalendarSelectionStrategy {\r\n constructor(component) {\r\n super(component);\r\n this.NAME = \"SingleSelection\"\r\n }\r\n getViewOptions() {\r\n return {\r\n value: this.dateOption(\"value\"),\r\n range: [],\r\n selectionMode: \"single\"\r\n }\r\n }\r\n selectValue(selectedValue, e) {\r\n this.skipNavigate();\r\n this.dateValue(selectedValue, e)\r\n }\r\n updateAriaSelected(value, previousValue) {\r\n var _value, _previousValue;\r\n null !== (_value = value) && void 0 !== _value ? _value : value = [this.dateOption(\"value\")];\r\n null !== (_previousValue = previousValue) && void 0 !== _previousValue ? _previousValue : previousValue = [];\r\n super.updateAriaSelected(value, previousValue)\r\n }\r\n getDefaultCurrentDate() {\r\n return this.dateOption(\"value\")\r\n }\r\n _updateViewsValue(value) {\r\n this._updateViewsOption(\"value\", value[0])\r\n }\r\n}\r\nexport default CalendarSingleSelectionStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.multi.selection.strategy.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport CalendarSelectionStrategy from \"./ui.calendar.selection.strategy\";\r\nclass CalendarMultiSelectionStrategy extends CalendarSelectionStrategy {\r\n constructor(component) {\r\n super(component);\r\n this.NAME = \"MultiSelection\"\r\n }\r\n getViewOptions() {\r\n return {\r\n value: this.dateOption(\"values\"),\r\n range: [],\r\n selectionMode: \"multi\"\r\n }\r\n }\r\n selectValue(selectedValue, e) {\r\n var values = [...this.dateOption(\"values\")];\r\n var alreadySelectedIndex = values.findIndex(date => (null === date || void 0 === date ? void 0 : date.toDateString()) === selectedValue.toDateString());\r\n if (alreadySelectedIndex > -1) {\r\n values.splice(alreadySelectedIndex, 1)\r\n } else {\r\n values.push(selectedValue)\r\n }\r\n this.skipNavigate();\r\n this._updateCurrentDate(selectedValue);\r\n this._currentDateChanged = true;\r\n this.dateValue(values, e)\r\n }\r\n updateAriaSelected(value, previousValue) {\r\n var _value, _previousValue;\r\n null !== (_value = value) && void 0 !== _value ? _value : value = this.dateOption(\"values\");\r\n null !== (_previousValue = previousValue) && void 0 !== _previousValue ? _previousValue : previousValue = [];\r\n super.updateAriaSelected(value, previousValue)\r\n }\r\n getDefaultCurrentDate() {\r\n var dates = this.dateOption(\"values\").filter(value => value);\r\n return this._getLowestDateInArray(dates)\r\n }\r\n}\r\nexport default CalendarMultiSelectionStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.range.selection.strategy.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport CalendarSelectionStrategy from \"./ui.calendar.selection.strategy\";\r\nvar DAY_INTERVAL = 864e5;\r\nvar RANGE_OFFSET = 120 * DAY_INTERVAL;\r\nclass CalendarRangeSelectionStrategy extends CalendarSelectionStrategy {\r\n constructor(component) {\r\n super(component);\r\n this.NAME = \"RangeSelection\"\r\n }\r\n getViewOptions() {\r\n var value = this._getValues();\r\n var range = this._getDaysInRange(value[0], value[1]);\r\n return {\r\n value: value,\r\n range: range,\r\n selectionMode: \"range\",\r\n onCellHover: this._cellHoverHandler.bind(this)\r\n }\r\n }\r\n selectValue(selectedValue, e) {\r\n var [startDate, endDate] = this._getValues();\r\n this.skipNavigate();\r\n this._updateCurrentDate(selectedValue);\r\n this._currentDateChanged = true;\r\n if (true === this.calendar.option(\"_allowChangeSelectionOrder\")) {\r\n this.calendar._valueSelected = true;\r\n if (\"startDate\" === this.calendar.option(\"_currentSelection\")) {\r\n if (this.calendar._convertToDate(selectedValue) > this.calendar._convertToDate(endDate)) {\r\n this.dateValue([selectedValue, null], e)\r\n } else {\r\n this.dateValue([selectedValue, endDate], e)\r\n }\r\n } else if (this.calendar._convertToDate(selectedValue) >= this.calendar._convertToDate(startDate)) {\r\n this.dateValue([startDate, selectedValue], e)\r\n } else {\r\n this.dateValue([selectedValue, null], e)\r\n }\r\n } else if (!startDate || endDate) {\r\n this.dateValue([selectedValue, null], e)\r\n } else {\r\n this.dateValue(startDate < selectedValue ? [startDate, selectedValue] : [selectedValue, startDate], e)\r\n }\r\n }\r\n updateAriaSelected(value, previousValue) {\r\n var _value, _previousValue;\r\n null !== (_value = value) && void 0 !== _value ? _value : value = this._getValues();\r\n null !== (_previousValue = previousValue) && void 0 !== _previousValue ? _previousValue : previousValue = [];\r\n super.updateAriaSelected(value, previousValue)\r\n }\r\n processValueChanged(value, previousValue) {\r\n super.processValueChanged(value, previousValue);\r\n var range = this._getRange();\r\n this._updateViewsOption(\"range\", range)\r\n }\r\n getDefaultCurrentDate() {\r\n var {\r\n _allowChangeSelectionOrder: _allowChangeSelectionOrder,\r\n _currentSelection: _currentSelection\r\n } = this.calendar.option();\r\n var values = this.dateOption(\"values\");\r\n if (_allowChangeSelectionOrder) {\r\n if (\"startDate\" === _currentSelection && values[0]) {\r\n return values[0]\r\n }\r\n if (\"endDate\" === _currentSelection && values[1]) {\r\n return values[1]\r\n }\r\n }\r\n var dates = values.filter(value => value);\r\n return this._getLowestDateInArray(dates)\r\n }\r\n _getValues() {\r\n var values = this.dateOption(\"values\");\r\n if (!values.length) {\r\n return values\r\n }\r\n var [startDate, endDate] = values;\r\n if (startDate && endDate && startDate > endDate) {\r\n [startDate, endDate] = [endDate, startDate]\r\n }\r\n return [startDate, endDate]\r\n }\r\n _getRange() {\r\n var [startDate, endDate] = this._getValues();\r\n return this._getDaysInRange(startDate, endDate)\r\n }\r\n _getDaysInRange(startDate, endDate) {\r\n if (!startDate || !endDate) {\r\n return []\r\n }\r\n var currentDate = this.calendar.option(\"currentDate\").getTime();\r\n var rangeStartDate = new Date(Math.max(currentDate - RANGE_OFFSET, startDate));\r\n var rangeEndDate = new Date(Math.min(currentDate + RANGE_OFFSET, endDate));\r\n return [...dateUtils.getDatesOfInterval(rangeStartDate, rangeEndDate, DAY_INTERVAL), rangeEndDate]\r\n }\r\n _cellHoverHandler(e) {\r\n var isMaxZoomLevel = this._isMaxZoomLevel();\r\n var [startDate, endDate] = this._getValues();\r\n var {\r\n _allowChangeSelectionOrder: _allowChangeSelectionOrder,\r\n _currentSelection: _currentSelection\r\n } = this.calendar.option();\r\n if (isMaxZoomLevel) {\r\n var skipHoveredRange = _allowChangeSelectionOrder && \"startDate\" === _currentSelection;\r\n if (startDate && !endDate && !skipHoveredRange) {\r\n if (e.value > startDate) {\r\n this._updateViewsOption(\"hoveredRange\", this._getDaysInRange(startDate, e.value));\r\n return\r\n }\r\n } else if (!startDate && endDate && !(_allowChangeSelectionOrder && \"endDate\" === _currentSelection)) {\r\n if (e.value < endDate) {\r\n this._updateViewsOption(\"hoveredRange\", this._getDaysInRange(e.value, endDate));\r\n return\r\n }\r\n } else if (startDate && endDate) {\r\n if (\"startDate\" === _currentSelection && e.value < startDate) {\r\n this._updateViewsOption(\"hoveredRange\", this._getDaysInRange(e.value, startDate));\r\n return\r\n } else if (\"endDate\" === _currentSelection && e.value > endDate) {\r\n this._updateViewsOption(\"hoveredRange\", this._getDaysInRange(endDate, e.value));\r\n return\r\n }\r\n }\r\n this._updateViewsOption(\"hoveredRange\", [])\r\n }\r\n }\r\n}\r\nexport default CalendarRangeSelectionStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport Guid from \"../../core/guid\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isNumeric,\r\n isString,\r\n isFunction,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n inRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Button from \"../button\";\r\nimport Editor from \"../editor/editor\";\r\nimport Swipeable from \"../../events/gesture/swipeable\";\r\nimport Navigator from \"./ui.calendar.navigator\";\r\nimport Views from \"./ui.calendar.views\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport devices from \"../../core/devices\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport {\r\n FunctionTemplate\r\n} from \"../../core/templates/function_template\";\r\nimport {\r\n isCommandKeyPressed,\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport CalendarSingleSelectionStrategy from \"./ui.calendar.single.selection.strategy\";\r\nimport CalendarMultiSelectionStrategy from \"./ui.calendar.multi.selection.strategy\";\r\nimport CalendarRangeSelectionStrategy from \"./ui.calendar.range.selection.strategy\";\r\nimport {\r\n end as hoverEndEventName\r\n} from \"../../events/hover\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nvar CALENDAR_CLASS = \"dx-calendar\";\r\nvar CALENDAR_BODY_CLASS = \"dx-calendar-body\";\r\nvar CALENDAR_CELL_CLASS = \"dx-calendar-cell\";\r\nvar CALENDAR_FOOTER_CLASS = \"dx-calendar-footer\";\r\nvar CALENDAR_TODAY_BUTTON_CLASS = \"dx-calendar-today-button\";\r\nvar CALENDAR_HAS_FOOTER_CLASS = \"dx-calendar-with-footer\";\r\nvar CALENDAR_VIEWS_WRAPPER_CLASS = \"dx-calendar-views-wrapper\";\r\nvar CALENDAR_VIEW_CLASS = \"dx-calendar-view\";\r\nvar CALENDAR_MULTIVIEW_CLASS = \"dx-calendar-multiview\";\r\nvar CALENDAR_RANGE_CLASS = \"dx-calendar-range\";\r\nvar FOCUSED_STATE_CLASS = \"dx-state-focused\";\r\nvar GESTURE_COVER_CLASS = \"dx-gesture-cover\";\r\nvar ANIMATION_DURATION_SHOW_VIEW = 250;\r\nvar POP_ANIMATION_FROM = .6;\r\nvar POP_ANIMATION_TO = 1;\r\nvar CALENDAR_INPUT_STANDARD_PATTERN = \"yyyy-MM-dd\";\r\nvar CALENDAR_DATE_VALUE_KEY = \"dxDateValueKey\";\r\nvar CALENDAR_DXHOVEREND_EVENT_NAME = addNamespace(hoverEndEventName, \"dxCalendar\");\r\nvar LEVEL_COMPARE_MAP = {\r\n month: 3,\r\n year: 2,\r\n decade: 1,\r\n century: 0\r\n};\r\nvar ZOOM_LEVEL = {\r\n MONTH: \"month\",\r\n YEAR: \"year\",\r\n DECADE: \"decade\",\r\n CENTURY: \"century\"\r\n};\r\nvar SELECTION_STRATEGIES = {\r\n SingleSelection: CalendarSingleSelectionStrategy,\r\n MultiSelection: CalendarMultiSelectionStrategy,\r\n RangeSelection: CalendarRangeSelectionStrategy\r\n};\r\n\r\nfunction elementHasFocus(element) {\r\n return element.hasClass(FOCUSED_STATE_CLASS)\r\n}\r\nvar Calendar = Editor.inherit({\r\n _activeStateUnit: \".\" + CALENDAR_CELL_CLASS,\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n currentDate: new Date,\r\n value: null,\r\n values: [],\r\n dateSerializationFormat: void 0,\r\n min: new Date(1e3, 0),\r\n max: new Date(3e3, 0),\r\n firstDayOfWeek: void 0,\r\n viewsCount: 1,\r\n zoomLevel: ZOOM_LEVEL.MONTH,\r\n maxZoomLevel: ZOOM_LEVEL.MONTH,\r\n minZoomLevel: ZOOM_LEVEL.CENTURY,\r\n selectionMode: \"single\",\r\n showTodayButton: false,\r\n showWeekNumbers: false,\r\n weekNumberRule: \"auto\",\r\n cellTemplate: \"cell\",\r\n disabledDates: null,\r\n onCellClick: null,\r\n onContouredChanged: null,\r\n skipFocusCheck: false,\r\n _todayDate: () => new Date\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n rightArrow: function(e) {\r\n e.preventDefault();\r\n if (isCommandKeyPressed(e)) {\r\n this._waitRenderView(1)\r\n } else {\r\n this._moveCurrentDateByOffset(1 * this._getRtlCorrection())\r\n }\r\n },\r\n leftArrow: function(e) {\r\n e.preventDefault();\r\n if (isCommandKeyPressed(e)) {\r\n this._waitRenderView(-1)\r\n } else {\r\n this._moveCurrentDateByOffset(-1 * this._getRtlCorrection())\r\n }\r\n },\r\n upArrow: function(e) {\r\n e.preventDefault();\r\n if (isCommandKeyPressed(e)) {\r\n this._navigateUp()\r\n } else {\r\n if (fx.isAnimating(this._view.$element())) {\r\n return\r\n }\r\n this._moveCurrentDateByOffset(-1 * this._view.option(\"colCount\"))\r\n }\r\n },\r\n downArrow: function(e) {\r\n e.preventDefault();\r\n if (isCommandKeyPressed(e)) {\r\n this._navigateDown()\r\n } else {\r\n if (fx.isAnimating(this._view.$element())) {\r\n return\r\n }\r\n this._moveCurrentDateByOffset(1 * this._view.option(\"colCount\"))\r\n }\r\n },\r\n home: function(e) {\r\n e.preventDefault();\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var currentDate = this.option(\"currentDate\");\r\n var min = this._dateOption(\"min\");\r\n if (this._view.isDateDisabled(currentDate)) {\r\n return\r\n }\r\n var date = dateUtils.sameView(zoomLevel, currentDate, min) ? min : dateUtils.getViewFirstCellDate(zoomLevel, currentDate);\r\n this._moveToClosestAvailableDate(date)\r\n },\r\n end: function(e) {\r\n e.preventDefault();\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var currentDate = this.option(\"currentDate\");\r\n var max = this._dateOption(\"max\");\r\n if (this._view.isDateDisabled(currentDate)) {\r\n return\r\n }\r\n var date = dateUtils.sameView(zoomLevel, currentDate, max) ? max : dateUtils.getViewLastCellDate(zoomLevel, currentDate);\r\n this._moveToClosestAvailableDate(date)\r\n },\r\n pageUp: function(e) {\r\n e.preventDefault();\r\n this._waitRenderView(-1 * this._getRtlCorrection())\r\n },\r\n pageDown: function(e) {\r\n e.preventDefault();\r\n this._waitRenderView(1 * this._getRtlCorrection())\r\n },\r\n tab: noop,\r\n enter: this._enterKeyHandler\r\n })\r\n },\r\n _enterKeyHandler: function(e) {\r\n if (!this._isMaxZoomLevel()) {\r\n this._navigateDown()\r\n } else if (!this._view.isDateDisabled(this.option(\"currentDate\"))) {\r\n var value = this._updateTimeComponent(this.option(\"currentDate\"));\r\n this._selectionStrategy.selectValue(value, e)\r\n }\r\n },\r\n _getSerializationFormat: function(optionName) {\r\n var value = this.option(optionName || \"value\");\r\n if (this.option(\"dateSerializationFormat\")) {\r\n return this.option(\"dateSerializationFormat\")\r\n }\r\n if (isNumeric(value)) {\r\n return \"number\"\r\n }\r\n if (!isString(value)) {\r\n return\r\n }\r\n return dateSerialization.getDateSerializationFormat(value)\r\n },\r\n _convertToDate: function(value) {\r\n return dateSerialization.deserializeDate(value)\r\n },\r\n _dateValue: function(value, event) {\r\n var optionName = Array.isArray(value) ? \"values\" : \"value\";\r\n if (event) {\r\n if (\"keydown\" === event.type) {\r\n var cellElement = this._view._getContouredCell().get(0);\r\n event.target = cellElement\r\n }\r\n this._saveValueChangeEvent(event)\r\n }\r\n this._dateOption(optionName, value)\r\n },\r\n _dateOption: function(optionName, optionValue) {\r\n if (1 === arguments.length) {\r\n var _this$option;\r\n var values = null !== (_this$option = this.option(\"values\")) && void 0 !== _this$option ? _this$option : [];\r\n return \"values\" === optionName ? values.map(value => this._convertToDate(value)) : this._convertToDate(this.option(optionName))\r\n }\r\n var serializationFormat = this._getSerializationFormat(optionName);\r\n var serializedValue = \"values\" === optionName ? (null === optionValue || void 0 === optionValue ? void 0 : optionValue.map(value => dateSerialization.serializeDate(value, serializationFormat))) || [] : dateSerialization.serializeDate(optionValue, serializationFormat);\r\n this.option(optionName, serializedValue)\r\n },\r\n _shiftDate: function(zoomLevel, date, offset, reverse) {\r\n switch (zoomLevel) {\r\n case ZOOM_LEVEL.MONTH:\r\n date.setDate(date.getDate() + offset * reverse);\r\n break;\r\n case ZOOM_LEVEL.YEAR:\r\n date.setMonth(date.getMonth() + offset * reverse);\r\n break;\r\n case ZOOM_LEVEL.DECADE:\r\n date.setFullYear(date.getFullYear() + offset * reverse);\r\n break;\r\n case ZOOM_LEVEL.CENTURY:\r\n date.setFullYear(date.getFullYear() + 10 * offset * reverse)\r\n }\r\n },\r\n _moveCurrentDateByOffset: function(offset) {\r\n var baseDate = this.option(\"currentDate\");\r\n var currentDate = new Date(baseDate);\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n this._shiftDate(zoomLevel, currentDate, offset, 1);\r\n var maxDate = this._getMaxDate();\r\n var minDate = this._getMinDate();\r\n var isDateForwardInNeighborView = this._areDatesInNeighborView(zoomLevel, currentDate, baseDate);\r\n var isDateForwardInRange = inRange(currentDate, minDate, maxDate) && isDateForwardInNeighborView;\r\n var dateForward = new Date(currentDate);\r\n while (isDateForwardInRange) {\r\n if (!this._view.isDateDisabled(dateForward)) {\r\n currentDate = dateForward;\r\n break\r\n }\r\n this._shiftDate(zoomLevel, dateForward, offset, 1);\r\n isDateForwardInNeighborView = this._areDatesInNeighborView(zoomLevel, dateForward, baseDate);\r\n isDateForwardInRange = inRange(dateForward, minDate, maxDate) && isDateForwardInNeighborView\r\n }\r\n if (this._view.isDateDisabled(baseDate) || this._view.isDateDisabled(currentDate)) {\r\n this._waitRenderView(offset > 0 ? 1 : -1)\r\n } else {\r\n this._skipNavigate = true;\r\n this.option(\"currentDate\", currentDate)\r\n }\r\n },\r\n _areDatesInSameView(zoomLevel, date1, date2) {\r\n switch (zoomLevel) {\r\n case ZOOM_LEVEL.MONTH:\r\n return date1.getMonth() === date2.getMonth();\r\n case ZOOM_LEVEL.YEAR:\r\n return date1.getYear() === date2.getYear();\r\n case ZOOM_LEVEL.DECADE:\r\n return parseInt(date1.getYear() / 10) === parseInt(date2.getYear() / 10);\r\n case ZOOM_LEVEL.CENTURY:\r\n return parseInt(date1.getYear() / 100) === parseInt(date2.getYear() / 100)\r\n }\r\n },\r\n _areDatesInNeighborView(zoomLevel, date1, date2) {\r\n switch (zoomLevel) {\r\n case ZOOM_LEVEL.MONTH:\r\n return (a = date1.getMonth(), b = date2.getMonth(), abs = Math.abs(a - b), Math.min(abs, 12 - abs)) <= 1;\r\n case ZOOM_LEVEL.YEAR:\r\n return Math.abs(date1.getYear() - date2.getYear()) <= 1;\r\n case ZOOM_LEVEL.DECADE:\r\n return Math.abs(date1.getYear() - date2.getYear()) <= 10;\r\n case ZOOM_LEVEL.CENTURY:\r\n return Math.abs(date1.getYear() - date2.getYear()) <= 100\r\n }\r\n var a, b, abs\r\n },\r\n _moveToClosestAvailableDate: function() {\r\n var baseDate = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.option(\"currentDate\");\r\n var currentDate = new Date(baseDate);\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var isCurrentDateAvailable = !this._isDateNotAvailable(currentDate);\r\n var isDateForwardAvailable = isCurrentDateAvailable;\r\n var isDateBackwardAvailable = isCurrentDateAvailable;\r\n var isDateForwardInStartView;\r\n var isDateBackwardInStartView;\r\n var dateForward = new Date(currentDate);\r\n var dateBackward = new Date(currentDate);\r\n do {\r\n if (isDateForwardAvailable) {\r\n currentDate = dateForward;\r\n break\r\n }\r\n if (isDateBackwardAvailable) {\r\n currentDate = dateBackward;\r\n break\r\n }\r\n this._shiftDate(zoomLevel, dateForward, 1, 1);\r\n this._shiftDate(zoomLevel, dateBackward, 1, -1);\r\n isDateForwardInStartView = this._areDatesInSameView(zoomLevel, dateForward, baseDate);\r\n isDateBackwardInStartView = this._areDatesInSameView(zoomLevel, dateBackward, baseDate);\r\n isDateForwardAvailable = isDateForwardInStartView && !this._isDateNotAvailable(dateForward);\r\n isDateBackwardAvailable = isDateBackwardInStartView && !this._isDateNotAvailable(dateBackward)\r\n } while (isDateForwardInStartView || isDateBackwardInStartView);\r\n this.option(\"currentDate\", currentDate)\r\n },\r\n _isDateNotAvailable: function(date) {\r\n var maxDate = this._getMaxDate();\r\n var minDate = this._getMinDate();\r\n return !inRange(date, minDate, maxDate) || this._view.isDateDisabled(date)\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initSelectionStrategy();\r\n this._correctZoomLevel();\r\n this._initCurrentDate();\r\n this._initActions()\r\n },\r\n _initSelectionStrategy: function() {\r\n var strategyName = this._getSelectionStrategyName();\r\n var strategy = SELECTION_STRATEGIES[strategyName];\r\n if (!this._selectionStrategy || this._selectionStrategy.NAME !== strategyName) {\r\n this._selectionStrategy = new strategy(this)\r\n }\r\n },\r\n _refreshSelectionStrategy: function() {\r\n this._initSelectionStrategy();\r\n this._refresh()\r\n },\r\n _getSelectionStrategyName: function() {\r\n var selectionMode = this.option(\"selectionMode\");\r\n switch (selectionMode) {\r\n case \"multi\":\r\n return \"MultiSelection\";\r\n case \"range\":\r\n return \"RangeSelection\";\r\n default:\r\n return \"SingleSelection\"\r\n }\r\n },\r\n _correctZoomLevel: function() {\r\n var minZoomLevel = this.option(\"minZoomLevel\");\r\n var maxZoomLevel = this.option(\"maxZoomLevel\");\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n if (LEVEL_COMPARE_MAP[maxZoomLevel] < LEVEL_COMPARE_MAP[minZoomLevel]) {\r\n return\r\n }\r\n if (LEVEL_COMPARE_MAP[zoomLevel] > LEVEL_COMPARE_MAP[maxZoomLevel]) {\r\n this.option(\"zoomLevel\", maxZoomLevel)\r\n } else if (LEVEL_COMPARE_MAP[zoomLevel] < LEVEL_COMPARE_MAP[minZoomLevel]) {\r\n this.option(\"zoomLevel\", minZoomLevel)\r\n }\r\n },\r\n _initCurrentDate: function() {\r\n var _this$_getNormalizedD;\r\n var currentDate = null !== (_this$_getNormalizedD = this._getNormalizedDate(this._selectionStrategy.getDefaultCurrentDate())) && void 0 !== _this$_getNormalizedD ? _this$_getNormalizedD : this._getNormalizedDate(this.option(\"currentDate\"));\r\n this.option(\"currentDate\", currentDate)\r\n },\r\n _getNormalizedDate: function(date) {\r\n date = dateUtils.normalizeDate(date, this._getMinDate(), this._getMaxDate());\r\n return isDefined(date) ? this._getDate(date) : date\r\n },\r\n _initActions: function() {\r\n this._cellClickAction = this._createActionByOption(\"onCellClick\");\r\n this._onContouredChanged = this._createActionByOption(\"onContouredChanged\")\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n cell: new FunctionTemplate((function(options) {\r\n var data = options.model;\r\n $(options.container).append($(\"<span>\").text(data && data.text || String(data)))\r\n }))\r\n });\r\n this.callBase()\r\n },\r\n _updateCurrentDate: function(date) {\r\n if (fx.isAnimating(this._$viewsWrapper)) {\r\n fx.stop(this._$viewsWrapper, true)\r\n }\r\n var min = this._getMinDate();\r\n var max = this._getMaxDate();\r\n if (min > max) {\r\n this.option(\"currentDate\", new Date);\r\n return\r\n }\r\n var normalizedDate = this._getNormalizedDate(date);\r\n if (date.getTime() !== normalizedDate.getTime()) {\r\n this.option(\"currentDate\", new Date(normalizedDate));\r\n return\r\n }\r\n var offset = this._getViewsOffset(this._view.option(\"date\"), normalizedDate);\r\n if (0 !== offset && !this._isMaxZoomLevel() && this._isOtherViewCellClicked) {\r\n offset = 0\r\n }\r\n if (this._view && 0 !== offset && !this._suppressNavigation) {\r\n if (this._additionalView) {\r\n if (offset > 2 || offset < -1) {\r\n this._refreshViews();\r\n this._setViewContoured(normalizedDate);\r\n this._updateAriaId(normalizedDate);\r\n this._renderNavigator()\r\n } else if (1 === offset && this._skipNavigate) {\r\n this._setViewContoured(normalizedDate);\r\n this._updateAriaId(normalizedDate)\r\n } else {\r\n this._navigate(offset, normalizedDate)\r\n }\r\n } else {\r\n this._navigate(offset, normalizedDate)\r\n }\r\n } else {\r\n this._renderNavigator();\r\n this._setViewContoured(normalizedDate);\r\n this._updateAriaId(normalizedDate)\r\n }\r\n this._skipNavigate = false\r\n },\r\n _isAdditionalViewDate(date) {\r\n if (!this._additionalView) {\r\n return false\r\n }\r\n return date >= this._additionalView._getFirstAvailableDate()\r\n },\r\n _getActiveView: function(date) {\r\n return this._isAdditionalViewDate(date) ? this._additionalView : this._view\r\n },\r\n _setViewContoured: function(date) {\r\n if (this.option(\"skipFocusCheck\") || elementHasFocus(this._focusTarget())) {\r\n var _this$_additionalView;\r\n this._view.option(\"contouredDate\", null);\r\n null === (_this$_additionalView = this._additionalView) || void 0 === _this$_additionalView ? void 0 : _this$_additionalView.option(\"contouredDate\", null);\r\n var view = this._isAdditionalViewDate(date) ? this._additionalView : this._view;\r\n view.option(\"contouredDate\", date)\r\n }\r\n },\r\n _getMinDate: function() {\r\n var _rangeMin = this.option(\"_rangeMin\");\r\n if (_rangeMin) {\r\n return _rangeMin\r\n }\r\n if (this.min) {\r\n return this.min\r\n }\r\n this.min = this._dateOption(\"min\") || new Date(1e3, 0);\r\n return this.min\r\n },\r\n _getMaxDate: function() {\r\n var _rangeMax = this.option(\"_rangeMax\");\r\n if (_rangeMax) {\r\n return _rangeMax\r\n }\r\n if (this.max) {\r\n return this.max\r\n }\r\n this.max = this._dateOption(\"max\") || new Date(3e3, 0);\r\n return this.max\r\n },\r\n _getViewsOffset: function(startDate, endDate) {\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n if (zoomLevel === ZOOM_LEVEL.MONTH) {\r\n return this._getMonthsOffset(startDate, endDate)\r\n }\r\n var zoomCorrection;\r\n switch (zoomLevel) {\r\n case ZOOM_LEVEL.CENTURY:\r\n zoomCorrection = 100;\r\n break;\r\n case ZOOM_LEVEL.DECADE:\r\n zoomCorrection = 10;\r\n break;\r\n default:\r\n zoomCorrection = 1\r\n }\r\n return parseInt(endDate.getFullYear() / zoomCorrection) - parseInt(startDate.getFullYear() / zoomCorrection)\r\n },\r\n _getMonthsOffset: function(startDate, endDate) {\r\n var yearOffset = endDate.getFullYear() - startDate.getFullYear();\r\n var monthOffset = endDate.getMonth() - startDate.getMonth();\r\n return 12 * yearOffset + monthOffset\r\n },\r\n _waitRenderView: function(offset) {\r\n if (this._alreadyViewRender) {\r\n return\r\n }\r\n this._alreadyViewRender = true;\r\n var date = this._getDateByOffset(offset * this._getRtlCorrection());\r\n this._moveToClosestAvailableDate(date);\r\n this._waitRenderViewTimeout = setTimeout(() => {\r\n this._alreadyViewRender = false\r\n })\r\n },\r\n _getRtlCorrection: function() {\r\n return this.option(\"rtlEnabled\") ? -1 : 1\r\n },\r\n _getDateByOffset: function(offset, date) {\r\n var _date;\r\n date = this._getDate(null !== (_date = date) && void 0 !== _date ? _date : this.option(\"currentDate\"));\r\n var currentDay = date.getDate();\r\n var difference = dateUtils.getDifferenceInMonth(this.option(\"zoomLevel\")) * offset;\r\n date.setDate(1);\r\n date.setMonth(date.getMonth() + difference);\r\n var lastDay = dateUtils.getLastMonthDate(date).getDate();\r\n date.setDate(currentDay > lastDay ? lastDay : currentDay);\r\n return date\r\n },\r\n _focusTarget: function() {\r\n return this.$element()\r\n },\r\n _initMarkup: function() {\r\n this._renderSubmitElement();\r\n this.callBase();\r\n var $element = this.$element();\r\n $element.addClass(CALENDAR_CLASS);\r\n $element.toggleClass(CALENDAR_RANGE_CLASS, \"range\" === this.option(\"selectionMode\"));\r\n this._renderBody();\r\n $element.append(this.$body);\r\n this._renderViews();\r\n this._renderEvents();\r\n this._renderNavigator();\r\n $element.prepend(this._navigator.$element());\r\n this._renderSwipeable();\r\n this._renderFooter();\r\n this._selectionStrategy.updateAriaSelected();\r\n this._updateAriaId();\r\n this.setAria(\"role\", \"application\");\r\n this._moveToClosestAvailableDate()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._setViewContoured(this.option(\"currentDate\"))\r\n },\r\n _renderBody: function() {\r\n if (!this._$viewsWrapper) {\r\n this.$body = $(\"<div>\").addClass(CALENDAR_BODY_CLASS);\r\n this._$viewsWrapper = $(\"<div>\").addClass(CALENDAR_VIEWS_WRAPPER_CLASS);\r\n this.$body.append(this._$viewsWrapper)\r\n }\r\n },\r\n _getKeyboardListeners() {\r\n return this.callBase().concat([this._view])\r\n },\r\n _renderViews: function() {\r\n this.$element().addClass(CALENDAR_VIEW_CLASS + \"-\" + this.option(\"zoomLevel\"));\r\n var {\r\n currentDate: currentDate,\r\n viewsCount: viewsCount\r\n } = this.option();\r\n this.$element().toggleClass(CALENDAR_MULTIVIEW_CLASS, viewsCount > 1);\r\n this._view = this._renderSpecificView(currentDate);\r\n if (hasWindow()) {\r\n var beforeDate = this._getDateByOffset(-1, currentDate);\r\n this._beforeView = this._isViewAvailable(beforeDate) ? this._renderSpecificView(beforeDate) : null;\r\n var afterDate = this._getDateByOffset(viewsCount, currentDate);\r\n afterDate.setDate(1);\r\n this._afterView = this._isViewAvailable(afterDate) ? this._renderSpecificView(afterDate) : null\r\n }\r\n if (viewsCount > 1) {\r\n this._additionalView = this._renderSpecificView(this._getDateByOffset(1, currentDate))\r\n }\r\n this._translateViews()\r\n },\r\n _renderSpecificView: function(date) {\r\n var {\r\n zoomLevel: zoomLevel\r\n } = this.option();\r\n var specificView = Views[zoomLevel];\r\n var $view = $(\"<div>\").appendTo(this._$viewsWrapper);\r\n var config = this._viewConfig(date);\r\n var view = this._createComponent($view, specificView, config);\r\n return view\r\n },\r\n _viewConfig: function(date) {\r\n var _this$option2;\r\n var disabledDates = this.option(\"disabledDates\");\r\n disabledDates = isFunction(disabledDates) ? this._injectComponent(disabledDates.bind(this)) : disabledDates;\r\n return _extends({}, this._selectionStrategy.getViewOptions(), {\r\n date: date,\r\n min: this._getMinDate(),\r\n max: this._getMaxDate(),\r\n firstDayOfWeek: null !== (_this$option2 = this.option(\"firstDayOfWeek\")) && void 0 !== _this$option2 ? _this$option2 : dateLocalization.firstDayOfWeekIndex(),\r\n showWeekNumbers: this.option(\"showWeekNumbers\"),\r\n weekNumberRule: this.option(\"weekNumberRule\"),\r\n zoomLevel: this.option(\"zoomLevel\"),\r\n tabIndex: void 0,\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n disabledDates: disabledDates,\r\n onCellClick: this._cellClickHandler.bind(this),\r\n cellTemplate: this._getTemplateByOption(\"cellTemplate\"),\r\n allowValueSelection: this._isMaxZoomLevel(),\r\n _todayDate: this.option(\"_todayDate\")\r\n })\r\n },\r\n _renderEvents() {\r\n eventsEngine.off(this._$viewsWrapper, CALENDAR_DXHOVEREND_EVENT_NAME);\r\n if (\"range\" === this.option(\"selectionMode\")) {\r\n eventsEngine.on(this._$viewsWrapper, CALENDAR_DXHOVEREND_EVENT_NAME, null, e => {\r\n this._updateViewsOption(\"hoveredRange\", [])\r\n })\r\n }\r\n },\r\n _injectComponent: function(func) {\r\n var that = this;\r\n return function(params) {\r\n extend(params, {\r\n component: that\r\n });\r\n return func(params)\r\n }\r\n },\r\n _isViewAvailable: function(date) {\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var min = dateUtils.getViewMinBoundaryDate(zoomLevel, this._getMinDate());\r\n var max = dateUtils.getViewMaxBoundaryDate(zoomLevel, this._getMaxDate());\r\n return dateUtils.dateInRange(date, min, max)\r\n },\r\n _translateViews: function() {\r\n var {\r\n viewsCount: viewsCount\r\n } = this.option();\r\n move(this._view.$element(), {\r\n left: 0,\r\n top: 0\r\n });\r\n this._moveViewElement(this._beforeView, -1);\r\n this._moveViewElement(this._afterView, viewsCount);\r\n this._moveViewElement(this._additionalView, 1)\r\n },\r\n _moveViewElement(view, coefficient) {\r\n view && move(view.$element(), {\r\n left: this._getViewPosition(coefficient),\r\n top: 0\r\n })\r\n },\r\n _getViewPosition: function(coefficient) {\r\n var rtlCorrection = this.option(\"rtlEnabled\") ? -1 : 1;\r\n return 100 * coefficient * rtlCorrection + \"%\"\r\n },\r\n _cellClickHandler: function(e) {\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var nextView = dateUtils.getViewDown(zoomLevel);\r\n var isMaxZoomLevel = this._isMaxZoomLevel();\r\n if (nextView && !isMaxZoomLevel) {\r\n this._navigateDown(e.event.currentTarget)\r\n } else {\r\n var newValue = this._updateTimeComponent(e.value);\r\n this._selectionStrategy.selectValue(newValue, e.event);\r\n this._cellClickAction(e)\r\n }\r\n },\r\n _updateTimeComponent: function(date) {\r\n var result = new Date(date);\r\n var currentValue = this._dateOption(\"value\");\r\n if (currentValue) {\r\n result.setHours(currentValue.getHours());\r\n result.setMinutes(currentValue.getMinutes());\r\n result.setSeconds(currentValue.getSeconds());\r\n result.setMilliseconds(currentValue.getMilliseconds())\r\n }\r\n return result\r\n },\r\n _isMaxZoomLevel: function() {\r\n return this.option(\"zoomLevel\") === this.option(\"maxZoomLevel\")\r\n },\r\n _navigateDown: function(cell) {\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n if (this._isMaxZoomLevel()) {\r\n return\r\n }\r\n var nextView = dateUtils.getViewDown(zoomLevel);\r\n if (!nextView) {\r\n return\r\n }\r\n var newCurrentDate = this._view.option(\"contouredDate\") || this._view.option(\"date\");\r\n if (cell) {\r\n newCurrentDate = $(cell).data(CALENDAR_DATE_VALUE_KEY)\r\n }\r\n this._isOtherViewCellClicked = true;\r\n this.option(\"currentDate\", newCurrentDate);\r\n this.option(\"zoomLevel\", nextView);\r\n this._isOtherViewCellClicked = false;\r\n this._renderNavigator();\r\n this._animateShowView();\r\n this._moveToClosestAvailableDate();\r\n this._setViewContoured(this._getNormalizedDate(this.option(\"currentDate\")))\r\n },\r\n _renderNavigator: function() {\r\n if (!this._navigator) {\r\n this._navigator = new Navigator($(\"<div>\"), this._navigatorConfig())\r\n }\r\n this._navigator.option(\"text\", this._getViewsCaption(this._view, this._additionalView));\r\n this._updateButtonsVisibility()\r\n },\r\n _navigatorConfig: function() {\r\n var {\r\n rtlEnabled: rtlEnabled\r\n } = this.option();\r\n return {\r\n text: this._getViewsCaption(this._view, this._additionalView),\r\n onClick: this._navigatorClickHandler.bind(this),\r\n onCaptionClick: this._navigateUp.bind(this),\r\n rtlEnabled: rtlEnabled\r\n }\r\n },\r\n _navigatorClickHandler: function(e) {\r\n var {\r\n currentDate: currentDate,\r\n viewsCount: viewsCount\r\n } = this.option();\r\n var offset = e.direction;\r\n if (viewsCount > 1) {\r\n var additionalViewActive = this._isAdditionalViewDate(currentDate);\r\n var shouldDoubleOffset = additionalViewActive && offset < 0 || !additionalViewActive && offset > 0;\r\n if (shouldDoubleOffset) {\r\n offset *= 2\r\n }\r\n }\r\n var newCurrentDate = this._getDateByOffset(offset, currentDate);\r\n this._moveToClosestAvailableDate(newCurrentDate)\r\n },\r\n _navigateUp: function() {\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var nextView = dateUtils.getViewUp(zoomLevel);\r\n if (!nextView || this._isMinZoomLevel(zoomLevel)) {\r\n return\r\n }\r\n this.option(\"zoomLevel\", nextView);\r\n this._renderNavigator();\r\n this._animateShowView();\r\n this._moveToClosestAvailableDate();\r\n this._setViewContoured(this._getNormalizedDate(this.option(\"currentDate\")))\r\n },\r\n _isMinZoomLevel: function(zoomLevel) {\r\n var min = this._getMinDate();\r\n var max = this._getMaxDate();\r\n return dateUtils.sameView(zoomLevel, min, max) || this.option(\"minZoomLevel\") === zoomLevel\r\n },\r\n _updateButtonsVisibility: function() {\r\n this._navigator.toggleButton(\"next\", !isDefined(this._afterView));\r\n this._navigator.toggleButton(\"prev\", !isDefined(this._beforeView))\r\n },\r\n _renderSwipeable: function() {\r\n if (!this._swipeable) {\r\n this._swipeable = this._createComponent(this.$element(), Swipeable, {\r\n onStart: this._swipeStartHandler.bind(this),\r\n onUpdated: this._swipeUpdateHandler.bind(this),\r\n onEnd: this._swipeEndHandler.bind(this),\r\n itemSizeFunc: this._viewWidth.bind(this)\r\n })\r\n }\r\n },\r\n _swipeStartHandler: function(e) {\r\n fx.stop(this._$viewsWrapper, true);\r\n var {\r\n viewsCount: viewsCount\r\n } = this.option();\r\n this._toggleGestureCoverCursor(\"grabbing\");\r\n e.event.maxLeftOffset = this._getRequiredView(\"next\") ? 1 / viewsCount : 0;\r\n e.event.maxRightOffset = this._getRequiredView(\"prev\") ? 1 / viewsCount : 0\r\n },\r\n _toggleGestureCoverCursor: function(cursor) {\r\n $(\".\".concat(GESTURE_COVER_CLASS)).css(\"cursor\", cursor)\r\n },\r\n _getRequiredView: function(name) {\r\n var view;\r\n var isRtl = this.option(\"rtlEnabled\");\r\n if (\"next\" === name) {\r\n view = isRtl ? this._beforeView : this._afterView\r\n } else if (\"prev\" === name) {\r\n view = isRtl ? this._afterView : this._beforeView\r\n }\r\n return view\r\n },\r\n _swipeUpdateHandler: function(e) {\r\n var offset = e.event.offset;\r\n move(this._$viewsWrapper, {\r\n left: offset * this._viewWidth(),\r\n top: 0\r\n });\r\n this._updateNavigatorCaption(offset)\r\n },\r\n _swipeEndHandler: function(e) {\r\n this._toggleGestureCoverCursor(\"auto\");\r\n var {\r\n currentDate: currentDate,\r\n rtlEnabled: rtlEnabled\r\n } = this.option();\r\n var targetOffset = e.event.targetOffset;\r\n var moveOffset = !targetOffset ? 0 : targetOffset / Math.abs(targetOffset);\r\n var isAdditionalViewActive = this._isAdditionalViewDate(currentDate);\r\n var shouldDoubleOffset = isAdditionalViewActive && (rtlEnabled ? -1 === moveOffset : 1 === moveOffset);\r\n if (0 === moveOffset) {\r\n this._animateWrapper(0, ANIMATION_DURATION_SHOW_VIEW);\r\n return\r\n }\r\n var offset = -moveOffset * this._getRtlCorrection() * (shouldDoubleOffset ? 2 : 1);\r\n var date = this._getDateByOffset(offset);\r\n if (this._isDateInInvalidRange(date)) {\r\n if (moveOffset >= 0) {\r\n date = new Date(this._getMinDate())\r\n } else {\r\n date = new Date(this._getMaxDate())\r\n }\r\n }\r\n this.option(\"currentDate\", date)\r\n },\r\n _viewWidth: function() {\r\n if (!this._viewWidthValue) {\r\n this._viewWidthValue = getWidth(this.$element()) / this.option(\"viewsCount\")\r\n }\r\n return this._viewWidthValue\r\n },\r\n _updateNavigatorCaption: function(offset) {\r\n offset *= this._getRtlCorrection();\r\n var isMultiView = this.option(\"viewsCount\") > 1;\r\n var view;\r\n var additionalView;\r\n if (offset > .5 && this._beforeView) {\r\n view = this._beforeView;\r\n additionalView = isMultiView && this._view\r\n } else if (offset < -.5 && this._afterView) {\r\n view = isMultiView ? this._additionalView : this._afterView;\r\n additionalView = isMultiView ? this._afterView : null\r\n } else {\r\n view = this._view;\r\n additionalView = isMultiView ? this._additionalView : null\r\n }\r\n this._navigator.option(\"text\", this._getViewsCaption(view, additionalView))\r\n },\r\n _getViewsCaption: function(view, additionalView) {\r\n var caption = view.getNavigatorCaption();\r\n var {\r\n viewsCount: viewsCount\r\n } = this.option();\r\n if (viewsCount > 1 && additionalView) {\r\n var additionalViewCaption = additionalView.getNavigatorCaption();\r\n caption = \"\".concat(caption, \" - \").concat(additionalViewCaption)\r\n }\r\n return caption\r\n },\r\n _isDateInInvalidRange: function(date) {\r\n if (this._view.isBoundary(date)) {\r\n return\r\n }\r\n var min = this._getMinDate();\r\n var max = this._getMaxDate();\r\n var normalizedDate = dateUtils.normalizeDate(date, min, max);\r\n return normalizedDate === min || normalizedDate === max\r\n },\r\n _renderFooter: function() {\r\n var showTodayButton = this.option(\"showTodayButton\");\r\n if (showTodayButton) {\r\n var $todayButton = this._createComponent($(\"<div>\"), Button, {\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n text: messageLocalization.format(\"dxCalendar-todayButtonText\"),\r\n onClick: args => {\r\n this._toTodayView(args)\r\n },\r\n type: \"default\",\r\n stylingMode: \"text\",\r\n integrationOptions: {}\r\n }).$element().addClass(CALENDAR_TODAY_BUTTON_CLASS);\r\n this._$footer = $(\"<div>\").addClass(CALENDAR_FOOTER_CLASS).append($todayButton);\r\n this.$element().append(this._$footer)\r\n }\r\n this.$element().toggleClass(CALENDAR_HAS_FOOTER_CLASS, showTodayButton)\r\n },\r\n _renderSubmitElement: function() {\r\n this._$submitElement = $(\"<input>\").attr(\"type\", \"hidden\").appendTo(this.$element());\r\n this._setSubmitValue(this.option(\"value\"))\r\n },\r\n _setSubmitValue: function(value) {\r\n var dateValue = this._convertToDate(value);\r\n this._getSubmitElement().val(dateSerialization.serializeDate(dateValue, CALENDAR_INPUT_STANDARD_PATTERN))\r\n },\r\n _getSubmitElement: function() {\r\n return this._$submitElement\r\n },\r\n _animateShowView: function() {\r\n fx.stop(this._view.$element(), true);\r\n this._popAnimationView(this._view, POP_ANIMATION_FROM, POP_ANIMATION_TO, ANIMATION_DURATION_SHOW_VIEW);\r\n if (this.option(\"viewsCount\") > 1) {\r\n fx.stop(this._additionalView.$element(), true);\r\n this._popAnimationView(this._additionalView, POP_ANIMATION_FROM, POP_ANIMATION_TO, ANIMATION_DURATION_SHOW_VIEW)\r\n }\r\n },\r\n _popAnimationView: function(view, from, to, duration) {\r\n return fx.animate(view.$element(), {\r\n type: \"pop\",\r\n from: {\r\n scale: from,\r\n opacity: from\r\n },\r\n to: {\r\n scale: to,\r\n opacity: to\r\n },\r\n duration: duration\r\n })\r\n },\r\n _navigate: function(offset, value) {\r\n if (0 !== offset && 1 !== Math.abs(offset) && this._isViewAvailable(value)) {\r\n var newView = this._renderSpecificView(value);\r\n if (offset > 0) {\r\n this._afterView && this._afterView.$element().remove();\r\n this._afterView = newView\r\n } else {\r\n this._beforeView && this._beforeView.$element().remove();\r\n this._beforeView = newView\r\n }\r\n this._translateViews()\r\n }\r\n var rtlCorrection = this._getRtlCorrection();\r\n var offsetSign = offset > 0 ? 1 : offset < 0 ? -1 : 0;\r\n var endPosition = -rtlCorrection * offsetSign * this._viewWidth();\r\n var viewsWrapperPosition = this._$viewsWrapper.position().left;\r\n if (viewsWrapperPosition !== endPosition) {\r\n if (this._preventViewChangeAnimation) {\r\n this._wrapperAnimationEndHandler(offset, value)\r\n } else {\r\n this._animateWrapper(endPosition, ANIMATION_DURATION_SHOW_VIEW).done(this._wrapperAnimationEndHandler.bind(this, offset, value))\r\n }\r\n }\r\n },\r\n _animateWrapper: function(to, duration) {\r\n return fx.animate(this._$viewsWrapper, {\r\n type: \"slide\",\r\n from: {\r\n left: this._$viewsWrapper.position().left\r\n },\r\n to: {\r\n left: to\r\n },\r\n duration: duration\r\n })\r\n },\r\n _getDate: value => new Date(value),\r\n _toTodayView: function(args) {\r\n var today = new Date;\r\n if (this._isMaxZoomLevel()) {\r\n this._selectionStrategy.selectValue(today, args.event);\r\n return\r\n }\r\n this._preventViewChangeAnimation = true;\r\n this.option(\"zoomLevel\", this.option(\"maxZoomLevel\"));\r\n this._selectionStrategy.selectValue(today, args.event);\r\n this._animateShowView();\r\n this._preventViewChangeAnimation = false\r\n },\r\n _wrapperAnimationEndHandler: function(offset, newDate) {\r\n this._rearrangeViews(offset);\r\n this._translateViews();\r\n this._resetLocation();\r\n this._renderNavigator();\r\n this._setViewContoured(newDate);\r\n this._updateAriaId(newDate);\r\n this._selectionStrategy.updateAriaSelected()\r\n },\r\n _rearrangeViews: function(offset) {\r\n var _this$viewToRemoveKey;\r\n if (0 === offset) {\r\n return\r\n }\r\n var {\r\n viewsCount: viewsCount\r\n } = this.option();\r\n var viewOffset;\r\n var viewToCreateKey;\r\n var viewToRemoveKey;\r\n var viewBeforeCreateKey;\r\n var viewAfterRemoveKey;\r\n if (offset < 0) {\r\n viewOffset = 1;\r\n viewToCreateKey = \"_beforeView\";\r\n viewToRemoveKey = \"_afterView\";\r\n viewBeforeCreateKey = \"_view\";\r\n viewAfterRemoveKey = 1 === viewsCount ? \"_view\" : \"_additionalView\"\r\n } else {\r\n viewOffset = -1;\r\n viewToCreateKey = \"_afterView\";\r\n viewToRemoveKey = \"_beforeView\";\r\n viewBeforeCreateKey = 1 === viewsCount ? \"_view\" : \"_additionalView\";\r\n viewAfterRemoveKey = \"_view\"\r\n }\r\n if (!this[viewToCreateKey]) {\r\n return\r\n }\r\n var destinationDate = this[viewToCreateKey].option(\"date\");\r\n null === (_this$viewToRemoveKey = this[viewToRemoveKey]) || void 0 === _this$viewToRemoveKey ? void 0 : _this$viewToRemoveKey.$element().remove();\r\n this[viewToRemoveKey] = this._renderSpecificView(this._getDateByOffset(viewOffset * viewsCount, destinationDate));\r\n this[viewAfterRemoveKey].$element().remove();\r\n if (1 === viewsCount) {\r\n this[viewAfterRemoveKey] = this[viewToCreateKey]\r\n } else {\r\n this[viewAfterRemoveKey] = this[viewBeforeCreateKey];\r\n this[viewBeforeCreateKey] = this[viewToCreateKey]\r\n }\r\n var dateByOffset = this._getDateByOffset(-viewOffset, destinationDate);\r\n this[viewToCreateKey] = this._isViewAvailable(dateByOffset) ? this._renderSpecificView(dateByOffset) : null\r\n },\r\n _resetLocation: function() {\r\n move(this._$viewsWrapper, {\r\n left: 0,\r\n top: 0\r\n })\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._clearViewWidthCache();\r\n delete this._$viewsWrapper;\r\n delete this._navigator;\r\n delete this._$footer\r\n },\r\n _clearViewWidthCache: function() {\r\n delete this._viewWidthValue\r\n },\r\n _disposeViews: function() {\r\n this._view.$element().remove();\r\n this._beforeView && this._beforeView.$element().remove();\r\n this._additionalView && this._additionalView.$element().remove();\r\n this._afterView && this._afterView.$element().remove();\r\n delete this._view;\r\n delete this._additionalView;\r\n delete this._beforeView;\r\n delete this._afterView;\r\n delete this._skipNavigate\r\n },\r\n _dispose: function() {\r\n clearTimeout(this._waitRenderViewTimeout);\r\n this.callBase()\r\n },\r\n _refreshViews: function() {\r\n this._resetActiveState();\r\n this._disposeViews();\r\n this._renderViews()\r\n },\r\n _visibilityChanged: function() {\r\n this._translateViews()\r\n },\r\n _focusInHandler: function() {\r\n this.callBase.apply(this, arguments);\r\n this._setViewContoured(this.option(\"currentDate\"))\r\n },\r\n _focusOutHandler: function() {\r\n var _this$_additionalView2;\r\n this.callBase.apply(this, arguments);\r\n this._view.option(\"contouredDate\", null);\r\n null === (_this$_additionalView2 = this._additionalView) || void 0 === _this$_additionalView2 ? void 0 : _this$_additionalView2.option(\"contouredDate\", null)\r\n },\r\n _updateViewsOption: function(optionName, newValue) {\r\n var _this$_additionalView3, _this$_beforeView, _this$_afterView;\r\n this._view.option(optionName, newValue);\r\n null === (_this$_additionalView3 = this._additionalView) || void 0 === _this$_additionalView3 ? void 0 : _this$_additionalView3.option(optionName, newValue);\r\n null === (_this$_beforeView = this._beforeView) || void 0 === _this$_beforeView ? void 0 : _this$_beforeView.option(optionName, newValue);\r\n null === (_this$_afterView = this._afterView) || void 0 === _this$_afterView ? void 0 : _this$_afterView.option(optionName, newValue)\r\n },\r\n _setViewsMinOption: function(min) {\r\n this._restoreViewsMinMaxOptions();\r\n this.option(\"_rangeMin\", this._convertToDate(min));\r\n this._updateViewsOption(\"min\", this._getMinDate())\r\n },\r\n _setViewsMaxOption: function(max) {\r\n this._restoreViewsMinMaxOptions();\r\n this.option(\"_rangeMax\", this._convertToDate(max));\r\n this._updateViewsOption(\"max\", this._getMaxDate())\r\n },\r\n _restoreViewsMinMaxOptions: function() {\r\n this._resetActiveState();\r\n this.option({\r\n _rangeMin: null,\r\n _rangeMax: null\r\n });\r\n this._updateViewsOption(\"min\", this._getMinDate());\r\n this._updateViewsOption(\"max\", this._getMaxDate())\r\n },\r\n _updateAriaSelected: function(value, previousValue) {\r\n previousValue.forEach(item => {\r\n this.setAria(\"selected\", void 0, this._view._getCellByDate(item))\r\n });\r\n value.forEach(item => {\r\n this.setAria(\"selected\", true, this._view._getCellByDate(item))\r\n });\r\n if (this.option(\"viewsCount\") > 1) {\r\n previousValue.forEach(item => {\r\n this.setAria(\"selected\", void 0, this._additionalView._getCellByDate(item))\r\n });\r\n value.forEach(item => {\r\n this.setAria(\"selected\", true, this._additionalView._getCellByDate(item))\r\n })\r\n }\r\n },\r\n _updateAriaId: function(value) {\r\n var _value;\r\n value = null !== (_value = value) && void 0 !== _value ? _value : this.option(\"currentDate\");\r\n var ariaId = \"dx-\" + new Guid;\r\n var view = this._getActiveView(value);\r\n var $newCell = view._getCellByDate(value);\r\n this.setAria(\"id\", ariaId, $newCell);\r\n this.setAria(\"activedescendant\", ariaId);\r\n this._onContouredChanged(ariaId)\r\n },\r\n _suppressingNavigation: function(callback, args) {\r\n this._suppressNavigation = true;\r\n callback.apply(this, args);\r\n delete this._suppressNavigation\r\n },\r\n _optionChanged: function(args) {\r\n var {\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (args.name) {\r\n case \"width\":\r\n this.callBase(args);\r\n this._clearViewWidthCache();\r\n break;\r\n case \"min\":\r\n case \"max\":\r\n this.min = void 0;\r\n this.max = void 0;\r\n this._suppressingNavigation(this._updateCurrentDate, [this.option(\"currentDate\")]);\r\n this._refreshViews();\r\n this._renderNavigator();\r\n break;\r\n case \"selectionMode\":\r\n this._refreshSelectionStrategy();\r\n this._initCurrentDate();\r\n break;\r\n case \"firstDayOfWeek\":\r\n this._refreshViews();\r\n this._updateButtonsVisibility();\r\n break;\r\n case \"currentDate\":\r\n this.setAria(\"id\", void 0, this._view._getCellByDate(previousValue));\r\n this._updateCurrentDate(value);\r\n break;\r\n case \"zoomLevel\":\r\n this.$element().removeClass(CALENDAR_VIEW_CLASS + \"-\" + previousValue);\r\n this._correctZoomLevel();\r\n this._refreshViews();\r\n this._renderNavigator();\r\n this._updateAriaId();\r\n break;\r\n case \"minZoomLevel\":\r\n case \"maxZoomLevel\":\r\n this._correctZoomLevel();\r\n this._updateButtonsVisibility();\r\n break;\r\n case \"value\":\r\n if (\"single\" === this.option(\"selectionMode\")) {\r\n this._selectionStrategy.processValueChanged([value], [previousValue])\r\n }\r\n this._setSubmitValue(value);\r\n this.callBase(args);\r\n break;\r\n case \"values\":\r\n if (\"single\" !== this.option(\"selectionMode\")) {\r\n this._selectionStrategy.processValueChanged(value, previousValue)\r\n }\r\n this._raiseValueChangeAction(value, previousValue);\r\n this._saveValueChangeEvent(void 0);\r\n break;\r\n case \"viewsCount\":\r\n this._refreshViews();\r\n this._renderNavigator();\r\n break;\r\n case \"onCellClick\":\r\n this._view.option(\"onCellClick\", value);\r\n break;\r\n case \"onContouredChanged\":\r\n this._onContouredChanged = this._createActionByOption(\"onContouredChanged\");\r\n break;\r\n case \"disabledDates\":\r\n case \"dateSerializationFormat\":\r\n case \"cellTemplate\":\r\n case \"showTodayButton\":\r\n this._invalidate();\r\n break;\r\n case \"skipFocusCheck\":\r\n break;\r\n case \"_todayDate\":\r\n case \"showWeekNumbers\":\r\n case \"weekNumberRule\":\r\n this._refreshViews();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n getContouredDate: function() {\r\n return this._view.option(\"contouredDate\")\r\n }\r\n});\r\nregisterComponent(\"dxCalendar\", Calendar);\r\nexport default Calendar;\r\n","/**\r\n * DevExtreme (esm/ui/calendar.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Calendar from \"./calendar/ui.calendar\";\r\nexport default Calendar;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport dateLocalization from \"../../localization/date\";\r\nvar abstract = Class.abstract;\r\nvar DateBoxStrategy = Class.inherit({\r\n ctor: function(dateBox) {\r\n this.dateBox = dateBox\r\n },\r\n widgetOption: function() {\r\n return this._widget && this._widget.option.apply(this._widget, arguments)\r\n },\r\n _renderWidget: function(element) {\r\n element = element || $(\"<div>\");\r\n this._widget = this._createWidget(element);\r\n this._widget.$element().appendTo(this._getWidgetContainer())\r\n },\r\n _createWidget: function(element) {\r\n var widgetName = this._getWidgetName();\r\n var widgetOptions = this._getWidgetOptions();\r\n return this.dateBox._createComponent(element, widgetName, widgetOptions)\r\n },\r\n _getWidgetOptions: abstract,\r\n _getWidgetName: abstract,\r\n getDefaultOptions: function() {\r\n return {\r\n mode: \"text\"\r\n }\r\n },\r\n getDisplayFormat: abstract,\r\n supportedKeys: noop,\r\n getKeyboardListener: noop,\r\n customizeButtons: noop,\r\n getParsedText: function(text, format) {\r\n var value = dateLocalization.parse(text, format);\r\n return value ? value : dateLocalization.parse(text)\r\n },\r\n renderInputMinMax: noop,\r\n renderOpenedState: function() {\r\n this._updateValue()\r\n },\r\n popupConfig: abstract,\r\n _dimensionChanged: function() {\r\n var _this$_getPopup;\r\n null === (_this$_getPopup = this._getPopup()) || void 0 === _this$_getPopup ? void 0 : _this$_getPopup.repaint()\r\n },\r\n renderPopupContent: function() {\r\n var popup = this._getPopup();\r\n this._renderWidget();\r\n var $popupContent = popup.$content().parent();\r\n eventsEngine.off($popupContent, \"mousedown\");\r\n eventsEngine.on($popupContent, \"mousedown\", this._preventFocusOnPopup.bind(this))\r\n },\r\n getFirstPopupElement: noop,\r\n getLastPopupElement: noop,\r\n _preventFocusOnPopup: function(e) {\r\n e.preventDefault()\r\n },\r\n _getWidgetContainer: function() {\r\n return this._getPopup().$content()\r\n },\r\n _getPopup: function() {\r\n return this.dateBox._popup\r\n },\r\n popupShowingHandler: noop,\r\n popupHiddenHandler: noop,\r\n _updateValue: function() {\r\n this._widget && this._widget.option(\"value\", this.dateBoxValue())\r\n },\r\n useCurrentDateByDefault: noop,\r\n getDefaultDate: function() {\r\n return new Date\r\n },\r\n textChangedHandler: noop,\r\n renderValue: function() {\r\n if (this.dateBox.option(\"opened\")) {\r\n this._updateValue()\r\n }\r\n },\r\n getValue: function() {\r\n return this._widget.option(\"value\")\r\n },\r\n isAdaptivityChanged: function() {\r\n return false\r\n },\r\n dispose: function() {\r\n var popup = this._getPopup();\r\n if (popup) {\r\n popup.$content().empty()\r\n }\r\n },\r\n dateBoxValue: function() {\r\n if (arguments.length) {\r\n return this.dateBox.dateValue.apply(this.dateBox, arguments)\r\n } else {\r\n return this.dateBox.dateOption.apply(this.dateBox, [\"value\"])\r\n }\r\n }\r\n});\r\nexport default DateBoxStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.calendar.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Calendar from \"../calendar\";\r\nimport DateBoxStrategy from \"./ui.date_box.strategy\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n splitPair\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isFunction,\r\n isEmptyObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nvar CalendarStrategy = DateBoxStrategy.inherit({\r\n NAME: \"Calendar\",\r\n getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n todayButtonText: messageLocalization.format(\"dxCalendar-todayButtonText\")\r\n })\r\n },\r\n supportedKeys: function() {\r\n var homeEndHandler = function(e) {\r\n if (this.option(\"opened\")) {\r\n e.preventDefault();\r\n return true\r\n }\r\n return false\r\n };\r\n return {\r\n rightArrow: function() {\r\n if (this.option(\"opened\")) {\r\n return true\r\n }\r\n },\r\n leftArrow: function() {\r\n if (this.option(\"opened\")) {\r\n return true\r\n }\r\n },\r\n enter: function(e) {\r\n if (this.dateBox.option(\"opened\")) {\r\n e.preventDefault();\r\n if (this._widget.option(\"zoomLevel\") === this._widget.option(\"maxZoomLevel\")) {\r\n var viewValue = this._getContouredValue();\r\n var lastActionElement = this._lastActionElement;\r\n var shouldCloseDropDown = this._closeDropDownByEnter();\r\n if (shouldCloseDropDown && viewValue && \"calendar\" === lastActionElement) {\r\n this.dateBoxValue(viewValue, e)\r\n }\r\n shouldCloseDropDown && this.dateBox.close();\r\n this.dateBox._valueChangeEventHandler(e);\r\n return !shouldCloseDropDown\r\n } else {\r\n return true\r\n }\r\n } else {\r\n this.dateBox._valueChangeEventHandler(e)\r\n }\r\n }.bind(this),\r\n home: homeEndHandler,\r\n end: homeEndHandler\r\n }\r\n },\r\n getDisplayFormat: function(displayFormat) {\r\n return displayFormat || \"shortdate\"\r\n },\r\n _closeDropDownByEnter: () => true,\r\n _getWidgetName: function() {\r\n return Calendar\r\n },\r\n _getContouredValue: function() {\r\n return this._widget._view.option(\"contouredDate\")\r\n },\r\n getKeyboardListener() {\r\n return this._widget\r\n },\r\n _getWidgetOptions: function() {\r\n var disabledDates = this.dateBox.option(\"disabledDates\");\r\n return extend(this.dateBox.option(\"calendarOptions\"), {\r\n value: this.dateBoxValue() || null,\r\n dateSerializationFormat: null,\r\n min: this.dateBox.dateOption(\"min\"),\r\n max: this.dateBox.dateOption(\"max\"),\r\n onValueChanged: this._valueChangedHandler.bind(this),\r\n onCellClick: this._cellClickHandler.bind(this),\r\n tabIndex: null,\r\n disabledDates: isFunction(disabledDates) ? this._injectComponent(disabledDates.bind(this.dateBox)) : disabledDates,\r\n onContouredChanged: this._refreshActiveDescendant.bind(this),\r\n skipFocusCheck: true\r\n })\r\n },\r\n _injectComponent: function(func) {\r\n var that = this;\r\n return function(params) {\r\n extend(params, {\r\n component: that.dateBox\r\n });\r\n return func(params)\r\n }\r\n },\r\n _refreshActiveDescendant: function(e) {\r\n this._lastActionElement = \"calendar\";\r\n this.dateBox.setAria(\"activedescendant\", e.actionValue)\r\n },\r\n _getTodayButtonConfig() {\r\n var buttonsLocation = this.dateBox.option(\"buttonsLocation\");\r\n var isButtonsLocationDefault = \"default\" === buttonsLocation;\r\n var position = isButtonsLocationDefault ? [\"bottom\", \"center\"] : splitPair(buttonsLocation);\r\n return {\r\n widget: \"dxButton\",\r\n toolbar: position[0],\r\n location: \"after\" === position[1] ? \"before\" : position[1],\r\n options: {\r\n onInitialized: function(e) {\r\n e.component.registerKeyHandler(\"escape\", this._escapeHandler.bind(this))\r\n }.bind(this),\r\n onClick: args => {\r\n this._widget._toTodayView(args)\r\n },\r\n text: this.dateBox.option(\"todayButtonText\"),\r\n type: \"today\"\r\n }\r\n }\r\n },\r\n _isCalendarVisible: function() {\r\n var {\r\n calendarOptions: calendarOptions\r\n } = this.dateBox.option();\r\n return isEmptyObject(calendarOptions) || false !== calendarOptions.visible\r\n },\r\n _getPopupToolbarItems(toolbarItems) {\r\n var useButtons = \"useButtons\" === this.dateBox.option(\"applyValueMode\");\r\n var shouldRenderTodayButton = useButtons && this._isCalendarVisible();\r\n if (shouldRenderTodayButton) {\r\n var todayButton = this._getTodayButtonConfig();\r\n return [todayButton, ...toolbarItems]\r\n }\r\n return toolbarItems\r\n },\r\n popupConfig: function(_popupConfig) {\r\n return extend(true, _popupConfig, {\r\n position: {\r\n collision: \"flipfit flip\"\r\n },\r\n width: \"auto\"\r\n })\r\n },\r\n _escapeHandler: function() {\r\n this.dateBox.close();\r\n this.dateBox.focus()\r\n },\r\n _valueChangedHandler: function(e) {\r\n var value = e.value;\r\n var prevValue = e.previousValue;\r\n if (dateUtils.sameDate(value, prevValue) && dateUtils.sameHoursAndMinutes(value, prevValue)) {\r\n return\r\n }\r\n if (\"instantly\" === this.dateBox.option(\"applyValueMode\")) {\r\n this.dateBoxValue(this.getValue(), e.event)\r\n }\r\n },\r\n _updateValue: function() {\r\n if (!this._widget) {\r\n return\r\n }\r\n this._widget.option(\"value\", this.dateBoxValue())\r\n },\r\n textChangedHandler: function() {\r\n this._lastActionElement = \"input\";\r\n if (this.dateBox.option(\"opened\") && this._widget) {\r\n this._updateValue(true)\r\n }\r\n },\r\n _cellClickHandler: function(e) {\r\n var dateBox = this.dateBox;\r\n if (\"instantly\" === dateBox.option(\"applyValueMode\")) {\r\n dateBox.option(\"opened\", false);\r\n this.dateBoxValue(this.getValue(), e.event)\r\n }\r\n }\r\n});\r\nexport default CalendarStrategy;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/scroll_direction.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n DIRECTION_VERTICAL,\r\n DIRECTION_HORIZONTAL,\r\n DIRECTION_BOTH\r\n} from \"../common/consts\";\r\nexport class ScrollDirection {\r\n constructor(direction) {\r\n this.DIRECTION_HORIZONTAL = \"horizontal\";\r\n this.DIRECTION_VERTICAL = \"vertical\";\r\n this.DIRECTION_BOTH = \"both\";\r\n this.direction = null !== direction && void 0 !== direction ? direction : DIRECTION_VERTICAL\r\n }\r\n get isHorizontal() {\r\n return this.direction === DIRECTION_HORIZONTAL || this.direction === DIRECTION_BOTH\r\n }\r\n get isVertical() {\r\n return this.direction === DIRECTION_VERTICAL || this.direction === DIRECTION_BOTH\r\n }\r\n get isBoth() {\r\n return this.direction === DIRECTION_BOTH\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/convert_location.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined,\r\n isPlainObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n ensureDefined\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n ScrollDirection\r\n} from \"./scroll_direction\";\r\nexport function convertToLocation(location, direction) {\r\n if (isPlainObject(location)) {\r\n var left = ensureDefined(location.left, location.x);\r\n var top = ensureDefined(location.top, location.y);\r\n return {\r\n left: isDefined(left) ? left : void 0,\r\n top: isDefined(top) ? top : void 0\r\n }\r\n }\r\n var {\r\n isHorizontal: isHorizontal,\r\n isVertical: isVertical\r\n } = new ScrollDirection(direction);\r\n return {\r\n left: isHorizontal && isDefined(location) ? location : void 0,\r\n top: isVertical && isDefined(location) ? location : void 0\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_view_roller.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport Scrollable from \"../scroll_view/ui.scrollable.old\";\r\nimport devices from \"../../core/devices\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n resetPosition\r\n} from \"../../animation/translator\";\r\nimport {\r\n convertToLocation\r\n} from \"../../renovation/ui/scroll_view/utils/convert_location\";\r\nvar DATEVIEW_ROLLER_CLASS = \"dx-dateviewroller\";\r\nvar DATEVIEW_ROLLER_ACTIVE_CLASS = \"dx-state-active\";\r\nvar DATEVIEW_ROLLER_CURRENT_CLASS = \"dx-dateviewroller-current\";\r\nvar DATEVIEW_ROLLER_ITEM_CLASS = \"dx-dateview-item\";\r\nvar DATEVIEW_ROLLER_ITEM_SELECTED_CLASS = \"dx-dateview-item-selected\";\r\nvar DATEVIEW_ROLLER_ITEM_SELECTED_FRAME_CLASS = \"dx-dateview-item-selected-frame\";\r\nvar DATEVIEW_ROLLER_ITEM_SELECTED_BORDER_CLASS = \"dx-dateview-item-selected-border\";\r\nclass DateViewRoller extends Scrollable {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n showScrollbar: \"never\",\r\n useNative: false,\r\n selectedIndex: 0,\r\n bounceEnabled: false,\r\n items: [],\r\n showOnClick: false,\r\n onClick: null,\r\n onSelectedIndexChanged: null,\r\n scrollByContent: true\r\n })\r\n }\r\n _init() {\r\n super._init();\r\n this.option(\"onVisibilityChange\", this._visibilityChangedHandler.bind(this));\r\n this.option(\"onEnd\", this._endActionHandler.bind(this))\r\n }\r\n _render() {\r\n super._render();\r\n this._renderSelectedItemFrame();\r\n this.$element().addClass(DATEVIEW_ROLLER_CLASS);\r\n this._renderContainerClick();\r\n this._renderItems();\r\n this._renderSelectedValue();\r\n this._renderItemsClick();\r\n this._renderWheelEvent();\r\n this._renderSelectedIndexChanged()\r\n }\r\n _renderSelectedIndexChanged() {\r\n this._selectedIndexChanged = this._createActionByOption(\"onSelectedIndexChanged\")\r\n }\r\n _renderWheelEvent() {\r\n eventsEngine.on($(this.container()), \"dxmousewheel\", e => {\r\n this._isWheelScrolled = true\r\n })\r\n }\r\n _renderContainerClick() {\r\n if (!this.option(\"showOnClick\")) {\r\n return\r\n }\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n var clickAction = this._createActionByOption(\"onClick\");\r\n eventsEngine.off($(this.container()), eventName);\r\n eventsEngine.on($(this.container()), eventName, (function(e) {\r\n clickAction({\r\n event: e\r\n })\r\n }))\r\n }\r\n _renderItems() {\r\n var items = this.option(\"items\") || [];\r\n var $items = $();\r\n $(this.content()).empty();\r\n items.forEach((function(item) {\r\n $items = $items.add($(\"<div>\").addClass(DATEVIEW_ROLLER_ITEM_CLASS).append(item))\r\n }));\r\n $(this.content()).append($items);\r\n this._$items = $items;\r\n this.update()\r\n }\r\n _renderSelectedItemFrame() {\r\n $(\"<div>\").addClass(DATEVIEW_ROLLER_ITEM_SELECTED_FRAME_CLASS).append($(\"<div>\").addClass(DATEVIEW_ROLLER_ITEM_SELECTED_BORDER_CLASS)).appendTo($(this.container()))\r\n }\r\n _renderSelectedValue(selectedIndex) {\r\n var index = this._fitIndex(null !== selectedIndex && void 0 !== selectedIndex ? selectedIndex : this.option(\"selectedIndex\"));\r\n this._moveTo({\r\n top: this._getItemPosition(index)\r\n });\r\n this._renderActiveStateItem()\r\n }\r\n _fitIndex(index) {\r\n var items = this.option(\"items\") || [];\r\n var itemCount = items.length;\r\n if (index >= itemCount) {\r\n return itemCount - 1\r\n }\r\n if (index < 0) {\r\n return 0\r\n }\r\n return index\r\n }\r\n _getItemPosition(index) {\r\n return Math.round(this._itemHeight() * index)\r\n }\r\n _renderItemsClick() {\r\n var itemSelector = this._getItemSelector();\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n eventsEngine.off(this.$element(), eventName, itemSelector);\r\n eventsEngine.on(this.$element(), eventName, itemSelector, this._itemClickHandler.bind(this))\r\n }\r\n _getItemSelector() {\r\n return \".\" + DATEVIEW_ROLLER_ITEM_CLASS\r\n }\r\n _itemClickHandler(e) {\r\n this.option(\"selectedIndex\", this._itemElementIndex(e.currentTarget))\r\n }\r\n _itemElementIndex(itemElement) {\r\n return this._itemElements().index(itemElement)\r\n }\r\n _itemElements() {\r\n return this.$element().find(this._getItemSelector())\r\n }\r\n _renderActiveStateItem() {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n each(this._$items, (function(index) {\r\n $(this).toggleClass(DATEVIEW_ROLLER_ITEM_SELECTED_CLASS, selectedIndex === index)\r\n }))\r\n }\r\n _shouldScrollToNeighborItem() {\r\n return \"desktop\" === devices.real().deviceType && this._isWheelScrolled\r\n }\r\n _moveTo(targetLocation) {\r\n var {\r\n top: top,\r\n left: left\r\n } = convertToLocation(targetLocation);\r\n var location = this.scrollOffset();\r\n var delta = {\r\n x: location.left - left,\r\n y: location.top - top\r\n };\r\n if (this._isVisible() && (delta.x || delta.y)) {\r\n this._prepareDirections(true);\r\n if (this._animation && !this._shouldScrollToNeighborItem()) {\r\n var that = this;\r\n fx.stop($(this.content()));\r\n fx.animate($(this.content()), {\r\n duration: 200,\r\n type: \"slide\",\r\n to: {\r\n top: Math.floor(delta.y)\r\n },\r\n complete() {\r\n resetPosition($(that.content()));\r\n that.handleMove({\r\n delta: delta\r\n })\r\n }\r\n });\r\n delete this._animation\r\n } else {\r\n this.handleMove({\r\n delta: delta\r\n })\r\n }\r\n }\r\n }\r\n _validate(e) {\r\n return this._moveIsAllowed(e)\r\n }\r\n _fitSelectedIndexInRange(index) {\r\n var itemsCount = this.option(\"items\").length;\r\n return Math.max(Math.min(index, itemsCount - 1), 0)\r\n }\r\n _isInNullNeighborhood(x) {\r\n return -.1 <= x && x <= .1\r\n }\r\n _getSelectedIndexAfterScroll(currentSelectedIndex) {\r\n var locationTop = this.scrollOffset().top;\r\n var currentSelectedIndexPosition = currentSelectedIndex * this._itemHeight();\r\n var dy = locationTop - currentSelectedIndexPosition;\r\n if (this._isInNullNeighborhood(dy)) {\r\n return currentSelectedIndex\r\n }\r\n var direction = dy > 0 ? 1 : -1;\r\n var newSelectedIndex = this._fitSelectedIndexInRange(currentSelectedIndex + direction);\r\n return newSelectedIndex\r\n }\r\n _getNewSelectedIndex(currentSelectedIndex) {\r\n if (this._shouldScrollToNeighborItem()) {\r\n return this._getSelectedIndexAfterScroll(currentSelectedIndex)\r\n }\r\n this._animation = true;\r\n var ratio = this.scrollOffset().top / this._itemHeight();\r\n return Math.round(ratio)\r\n }\r\n _endActionHandler() {\r\n var currentSelectedIndex = this.option(\"selectedIndex\");\r\n var newSelectedIndex = this._getNewSelectedIndex(currentSelectedIndex);\r\n if (newSelectedIndex === currentSelectedIndex) {\r\n this._renderSelectedValue(newSelectedIndex)\r\n } else {\r\n this.option(\"selectedIndex\", newSelectedIndex)\r\n }\r\n this._isWheelScrolled = false\r\n }\r\n _itemHeight() {\r\n var $item = this._$items.first();\r\n return getHeight($item)\r\n }\r\n _toggleActive(state) {\r\n this.$element().toggleClass(DATEVIEW_ROLLER_ACTIVE_CLASS, state)\r\n }\r\n _isVisible() {\r\n return $(this.container()).is(\":visible\")\r\n }\r\n _fireSelectedIndexChanged(value, previousValue) {\r\n this._selectedIndexChanged({\r\n value: value,\r\n previousValue: previousValue,\r\n event: void 0\r\n })\r\n }\r\n _visibilityChanged(visible) {\r\n super._visibilityChanged(visible);\r\n this._visibilityChangedHandler(visible)\r\n }\r\n _visibilityChangedHandler(visible) {\r\n if (visible) {\r\n this._visibilityTimer = setTimeout(() => {\r\n this._renderSelectedValue(this.option(\"selectedIndex\"))\r\n })\r\n }\r\n this.toggleActiveState(false)\r\n }\r\n toggleActiveState(state) {\r\n this.$element().toggleClass(DATEVIEW_ROLLER_CURRENT_CLASS, state)\r\n }\r\n _refreshSelectedIndex() {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var fitIndex = this._fitIndex(selectedIndex);\r\n if (fitIndex === selectedIndex) {\r\n this._renderActiveStateItem()\r\n } else {\r\n this.option(\"selectedIndex\", fitIndex)\r\n }\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"selectedIndex\":\r\n this._fireSelectedIndexChanged(args.value, args.previousValue);\r\n this._renderSelectedValue(args.value);\r\n break;\r\n case \"items\":\r\n this._renderItems();\r\n this._refreshSelectedIndex();\r\n break;\r\n case \"onClick\":\r\n case \"showOnClick\":\r\n this._renderContainerClick();\r\n break;\r\n case \"onSelectedIndexChanged\":\r\n this._renderSelectedIndexChanged();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _dispose() {\r\n clearTimeout(this._visibilityTimer);\r\n super._dispose()\r\n }\r\n}\r\nregisterComponent(\"dxDateViewRoller\", DateViewRoller);\r\nexport default DateViewRoller;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_view.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Editor from \"../editor/editor\";\r\nimport DateViewRoller from \"./ui.date_view_roller\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport uiDateUtils from \"./ui.date_utils\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport dateLocalization from \"../../localization/date\";\r\nvar DATEVIEW_CLASS = \"dx-dateview\";\r\nvar DATEVIEW_COMPACT_CLASS = \"dx-dateview-compact\";\r\nvar DATEVIEW_WRAPPER_CLASS = \"dx-dateview-wrapper\";\r\nvar DATEVIEW_ROLLER_CONTAINER_CLASS = \"dx-dateview-rollers\";\r\nvar DATEVIEW_ROLLER_CLASS = \"dx-dateviewroller\";\r\nvar TYPE = {\r\n date: \"date\",\r\n datetime: \"datetime\",\r\n time: \"time\"\r\n};\r\nvar ROLLER_TYPE = {\r\n year: \"year\",\r\n month: \"month\",\r\n day: \"day\",\r\n hours: \"hours\"\r\n};\r\nvar DateView = Editor.inherit({\r\n _valueOption: function() {\r\n var value = this.option(\"value\");\r\n var date = new Date(value);\r\n return !value || isNaN(date) ? this._getDefaultDate() : date\r\n },\r\n _getDefaultDate: function() {\r\n var date = new Date;\r\n if (this.option(\"type\") === TYPE.date) {\r\n return new Date(date.getFullYear(), date.getMonth(), date.getDate())\r\n }\r\n return date\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n minDate: uiDateUtils.MIN_DATEVIEW_DEFAULT_DATE,\r\n maxDate: uiDateUtils.MAX_DATEVIEW_DEFAULT_DATE,\r\n type: TYPE.date,\r\n value: new Date,\r\n applyCompactClass: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function(_device) {\r\n return \"desktop\" !== _device.deviceType\r\n },\r\n options: {\r\n applyCompactClass: true\r\n }\r\n }])\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(DATEVIEW_CLASS);\r\n this._toggleFormatClasses(this.option(\"type\"));\r\n this._toggleCompactClass()\r\n },\r\n _toggleFormatClasses: function(currentFormat, previousFormat) {\r\n this.$element().addClass(DATEVIEW_CLASS + \"-\" + currentFormat);\r\n previousFormat && this.$element().removeClass(DATEVIEW_CLASS + \"-\" + previousFormat)\r\n },\r\n _toggleCompactClass: function() {\r\n this.$element().toggleClass(DATEVIEW_COMPACT_CLASS, this.option(\"applyCompactClass\"))\r\n },\r\n _wrapper: function() {\r\n return this._$wrapper\r\n },\r\n _renderContentImpl: function() {\r\n this._$wrapper = $(\"<div>\").addClass(DATEVIEW_WRAPPER_CLASS);\r\n this._renderRollers();\r\n this._$wrapper.appendTo(this.$element())\r\n },\r\n _renderRollers: function() {\r\n if (!this._$rollersContainer) {\r\n this._$rollersContainer = $(\"<div>\").addClass(DATEVIEW_ROLLER_CONTAINER_CLASS)\r\n }\r\n this._$rollersContainer.empty();\r\n this._createRollerConfigs();\r\n this._rollers = {};\r\n var that = this;\r\n each(that._rollerConfigs, (function(name) {\r\n var $roller = $(\"<div>\").appendTo(that._$rollersContainer).addClass(DATEVIEW_ROLLER_CLASS + \"-\" + that._rollerConfigs[name].type);\r\n that._rollers[that._rollerConfigs[name].type] = that._createComponent($roller, DateViewRoller, {\r\n items: that._rollerConfigs[name].displayItems,\r\n selectedIndex: that._rollerConfigs[name].selectedIndex,\r\n showScrollbar: \"never\",\r\n scrollByContent: true,\r\n onStart: function(e) {\r\n var roller = e.component;\r\n roller._toggleActive(true);\r\n that._setActiveRoller(that._rollerConfigs[name], roller.option(\"selectedIndex\"))\r\n },\r\n onEnd: function(e) {\r\n var roller = e.component;\r\n roller._toggleActive(false)\r\n },\r\n onClick: function(e) {\r\n var roller = e.component;\r\n roller._toggleActive(true);\r\n that._setActiveRoller(that._rollerConfigs[name], roller.option(\"selectedIndex\"));\r\n that._setRollerState(that._rollerConfigs[name], roller.option(\"selectedIndex\"));\r\n roller._toggleActive(false)\r\n },\r\n onSelectedIndexChanged: function(e) {\r\n var roller = e.component;\r\n that._setRollerState(that._rollerConfigs[name], roller.option(\"selectedIndex\"))\r\n }\r\n })\r\n }));\r\n that._$rollersContainer.appendTo(that._wrapper())\r\n },\r\n _createRollerConfigs: function(type) {\r\n var that = this;\r\n type = type || that.option(\"type\");\r\n that._rollerConfigs = {};\r\n dateLocalization.getFormatParts(uiDateUtils.FORMATS_MAP[type]).forEach((function(partName) {\r\n that._createRollerConfig(partName)\r\n }))\r\n },\r\n _createRollerConfig: function(componentName) {\r\n var componentInfo = uiDateUtils.DATE_COMPONENTS_INFO[componentName];\r\n var valueRange = this._calculateRollerConfigValueRange(componentName);\r\n var startValue = valueRange.startValue;\r\n var endValue = valueRange.endValue;\r\n var formatter = componentInfo.formatter;\r\n var curDate = this._getCurrentDate();\r\n var config = {\r\n type: componentName,\r\n setValue: componentInfo.setter,\r\n valueItems: [],\r\n displayItems: [],\r\n getIndex: function(value) {\r\n return value[componentInfo.getter]() - startValue\r\n }\r\n };\r\n for (var i = startValue; i <= endValue; i++) {\r\n config.valueItems.push(i);\r\n config.displayItems.push(formatter(i, curDate))\r\n }\r\n config.selectedIndex = config.getIndex(curDate);\r\n this._rollerConfigs[componentName] = config\r\n },\r\n _setActiveRoller: function(currentRoller) {\r\n var activeRoller = currentRoller && this._rollers[currentRoller.type];\r\n each(this._rollers, (function() {\r\n this.toggleActiveState(this === activeRoller)\r\n }))\r\n },\r\n _updateRollersPosition: function() {\r\n var that = this;\r\n each(this._rollers, (function(type) {\r\n var correctIndex = that._rollerConfigs[type].getIndex(that._getCurrentDate());\r\n this.option(\"selectedIndex\", correctIndex)\r\n }))\r\n },\r\n _setRollerState: function(roller, selectedIndex) {\r\n if (selectedIndex !== roller.selectedIndex) {\r\n var rollerValue = roller.valueItems[selectedIndex];\r\n var setValue = roller.setValue;\r\n var currentValue = new Date(this._getCurrentDate());\r\n var currentDate = currentValue.getDate();\r\n var minDate = this.option(\"minDate\");\r\n var maxDate = this.option(\"maxDate\");\r\n if (roller.type === ROLLER_TYPE.month) {\r\n currentDate = Math.min(currentDate, uiDateUtils.getMaxMonthDay(currentValue.getFullYear(), rollerValue))\r\n } else if (roller.type === ROLLER_TYPE.year) {\r\n currentDate = Math.min(currentDate, uiDateUtils.getMaxMonthDay(rollerValue, currentValue.getMonth()))\r\n }\r\n currentValue.setDate(currentDate);\r\n currentValue[setValue](rollerValue);\r\n var normalizedDate = dateUtils.normalizeDate(currentValue, minDate, maxDate);\r\n currentValue = uiDateUtils.mergeDates(normalizedDate, currentValue, \"time\");\r\n currentValue = dateUtils.normalizeDate(currentValue, minDate, maxDate);\r\n this.option(\"value\", currentValue);\r\n roller.selectedIndex = selectedIndex\r\n }\r\n if (roller.type === ROLLER_TYPE.year) {\r\n this._refreshRollers()\r\n }\r\n if (roller.type === ROLLER_TYPE.month) {\r\n this._refreshRoller(ROLLER_TYPE.day);\r\n this._refreshRoller(ROLLER_TYPE.hours)\r\n }\r\n },\r\n _refreshRoller: function(rollerType) {\r\n var roller = this._rollers[rollerType];\r\n if (roller) {\r\n this._createRollerConfig(rollerType);\r\n var rollerConfig = this._rollerConfigs[rollerType];\r\n if (rollerType === ROLLER_TYPE.day || rollerConfig.displayItems.toString() !== roller.option(\"items\").toString()) {\r\n roller.option({\r\n items: rollerConfig.displayItems,\r\n selectedIndex: rollerConfig.selectedIndex\r\n })\r\n }\r\n }\r\n },\r\n _getCurrentDate: function() {\r\n var curDate = this._valueOption();\r\n var minDate = this.option(\"minDate\");\r\n var maxDate = this.option(\"maxDate\");\r\n return dateUtils.normalizeDate(curDate, minDate, maxDate)\r\n },\r\n _calculateRollerConfigValueRange: function(componentName) {\r\n var curDate = this._getCurrentDate();\r\n var minDate = this.option(\"minDate\");\r\n var maxDate = this.option(\"maxDate\");\r\n var minYear = dateUtils.sameYear(curDate, minDate);\r\n var minMonth = minYear && curDate.getMonth() === minDate.getMonth();\r\n var maxYear = dateUtils.sameYear(curDate, maxDate);\r\n var maxMonth = maxYear && curDate.getMonth() === maxDate.getMonth();\r\n var minHour = minMonth && curDate.getDate() === minDate.getDate();\r\n var maxHour = maxMonth && curDate.getDate() === maxDate.getDate();\r\n var componentInfo = uiDateUtils.DATE_COMPONENTS_INFO[componentName];\r\n var startValue = componentInfo.startValue;\r\n var endValue = componentInfo.endValue;\r\n if (componentName === ROLLER_TYPE.year) {\r\n startValue = minDate.getFullYear();\r\n endValue = maxDate.getFullYear()\r\n }\r\n if (componentName === ROLLER_TYPE.month) {\r\n if (minYear) {\r\n startValue = minDate.getMonth()\r\n }\r\n if (maxYear) {\r\n endValue = maxDate.getMonth()\r\n }\r\n }\r\n if (componentName === ROLLER_TYPE.day) {\r\n endValue = uiDateUtils.getMaxMonthDay(curDate.getFullYear(), curDate.getMonth());\r\n if (minYear && minMonth) {\r\n startValue = minDate.getDate()\r\n }\r\n if (maxYear && maxMonth) {\r\n endValue = maxDate.getDate()\r\n }\r\n }\r\n if (componentName === ROLLER_TYPE.hours) {\r\n startValue = minHour ? minDate.getHours() : startValue;\r\n endValue = maxHour ? maxDate.getHours() : endValue\r\n }\r\n return {\r\n startValue: startValue,\r\n endValue: endValue\r\n }\r\n },\r\n _refreshRollers: function() {\r\n this._refreshRoller(ROLLER_TYPE.month);\r\n this._refreshRoller(ROLLER_TYPE.day);\r\n this._refreshRoller(ROLLER_TYPE.hours)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"minDate\":\r\n case \"maxDate\":\r\n case \"type\":\r\n this._renderRollers();\r\n this._toggleFormatClasses(args.value, args.previousValue);\r\n break;\r\n case \"visible\":\r\n this.callBase(args);\r\n if (args.value) {\r\n this._renderRollers()\r\n }\r\n break;\r\n case \"value\":\r\n this.option(\"value\", this._valueOption());\r\n this._refreshRollers();\r\n this._updateRollersPosition();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n delete this._$rollersContainer\r\n }\r\n});\r\nregisterComponent(\"dxDateView\", DateView);\r\nexport default DateView;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.date_view.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport DateView from \"./ui.date_view\";\r\nimport DateBoxStrategy from \"./ui.date_box.strategy\";\r\nimport {\r\n inputType\r\n} from \"../../core/utils/support\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport dateUtils from \"./ui.date_utils\";\r\nimport messageLocalization from \"../../localization/message\";\r\nvar DateViewStrategy = DateBoxStrategy.inherit({\r\n NAME: \"DateView\",\r\n getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n openOnFieldClick: true,\r\n applyButtonText: messageLocalization.format(\"OK\"),\r\n \"dropDownOptions.showTitle\": true\r\n })\r\n },\r\n getDisplayFormat: function(displayFormat) {\r\n return displayFormat || dateUtils.FORMATS_MAP[this.dateBox.option(\"type\")]\r\n },\r\n popupConfig: function(config) {\r\n return {\r\n toolbarItems: this.dateBox._popupToolbarItemsConfig(),\r\n onInitialized: config.onInitialized,\r\n defaultOptionsRules: [{\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n width: 333,\r\n height: 331\r\n }\r\n }, {\r\n device: function(_device) {\r\n var platform = _device.platform;\r\n return \"generic\" === platform || \"ios\" === platform\r\n },\r\n options: {\r\n width: \"auto\",\r\n height: \"auto\"\r\n }\r\n }, {\r\n device: function(_device2) {\r\n var platform = _device2.platform;\r\n var phone = _device2.phone;\r\n return \"generic\" === platform && phone\r\n },\r\n options: {\r\n width: 333,\r\n maxWidth: \"100%\",\r\n maxHeight: \"100%\",\r\n height: \"auto\",\r\n position: {\r\n collision: \"flipfit flip\"\r\n }\r\n }\r\n }, {\r\n device: {\r\n platform: \"ios\",\r\n phone: true\r\n },\r\n options: {\r\n width: \"100%\",\r\n position: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n }]\r\n }\r\n },\r\n _renderWidget: function() {\r\n if (inputType(this.dateBox.option(\"mode\")) && this.dateBox._isNativeType() || this.dateBox.option(\"readOnly\")) {\r\n if (this._widget) {\r\n this._widget.$element().remove();\r\n this._widget = null\r\n }\r\n return\r\n }\r\n var popup = this._getPopup();\r\n if (this._widget) {\r\n this._widget.option(this._getWidgetOptions())\r\n } else {\r\n var element = $(\"<div>\").appendTo(popup.$content());\r\n this._widget = this._createWidget(element)\r\n }\r\n this._widget.$element().appendTo(this._getWidgetContainer())\r\n },\r\n _getWidgetName: function() {\r\n return DateView\r\n },\r\n renderOpenedState: function() {\r\n this.callBase();\r\n if (this._widget) {\r\n this._widget.option(\"value\", this._widget._getCurrentDate())\r\n }\r\n },\r\n _getWidgetOptions: function() {\r\n return {\r\n value: this.dateBoxValue() || new Date,\r\n type: this.dateBox.option(\"type\"),\r\n minDate: this.dateBox.dateOption(\"min\") || new Date(1900, 0, 1),\r\n maxDate: this.dateBox.dateOption(\"max\") || new Date(Date.now() + 50 * dateUtils.ONE_YEAR),\r\n onDisposing: function() {\r\n this._widget = null\r\n }.bind(this)\r\n }\r\n }\r\n});\r\nexport default DateViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.native.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport DateBoxStrategy from \"./ui.date_box.strategy\";\r\nimport {\r\n inputType\r\n} from \"../../core/utils/support\";\r\nimport dateUtils from \"./ui.date_utils\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport devices from \"../../core/devices\";\r\nvar NativeStrategy = DateBoxStrategy.inherit({\r\n NAME: \"Native\",\r\n popupConfig: function(_popupConfig) {\r\n return extend({}, _popupConfig, {\r\n width: \"auto\"\r\n })\r\n },\r\n getParsedText: function(text) {\r\n if (!text) {\r\n return null\r\n }\r\n if (\"datetime\" === this.dateBox.option(\"type\")) {\r\n return new Date(text.replace(/-/g, \"/\").replace(\"T\", \" \").split(\".\")[0])\r\n }\r\n return dateUtils.fromStandardDateFormat(text)\r\n },\r\n renderPopupContent: noop,\r\n _getWidgetName: noop,\r\n _getWidgetOptions: noop,\r\n _getDateBoxType: function() {\r\n var type = this.dateBox.option(\"type\");\r\n if (!dateUtils.SUPPORTED_FORMATS.includes(type)) {\r\n type = \"date\"\r\n } else if (\"datetime\" === type && !inputType(type)) {\r\n type = \"datetime-local\"\r\n }\r\n return type\r\n },\r\n customizeButtons: function() {\r\n var dropDownButton = this.dateBox.getButton(\"dropDown\");\r\n if (devices.real().android && dropDownButton) {\r\n dropDownButton.on(\"click\", function() {\r\n this.dateBox._input().get(0).click()\r\n }.bind(this))\r\n }\r\n },\r\n getDefaultOptions: function() {\r\n return {\r\n mode: this._getDateBoxType()\r\n }\r\n },\r\n getDisplayFormat: function(displayFormat) {\r\n var type = this._getDateBoxType();\r\n return displayFormat || dateUtils.FORMATS_MAP[type]\r\n },\r\n renderInputMinMax: function($input) {\r\n $input.attr({\r\n min: dateSerialization.serializeDate(this.dateBox.dateOption(\"min\"), \"yyyy-MM-dd\"),\r\n max: dateSerialization.serializeDate(this.dateBox.dateOption(\"max\"), \"yyyy-MM-dd\")\r\n })\r\n }\r\n});\r\nexport default NativeStrategy;\r\n","/**\r\n * DevExtreme (esm/__internal/ui/m_box.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n dasherize\r\n} from \"../../core/utils/inflector\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n normalizeStyleProp,\r\n setStyle,\r\n styleProp,\r\n stylePropPrefix\r\n} from \"../../core/utils/style\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport CollectionWidget from \"../../ui/collection/ui.collection_widget.edit\";\r\nimport CollectionWidgetItem from \"../../ui/collection/item\";\r\nvar BOX_CLASS = \"dx-box\";\r\nvar BOX_FLEX_CLASS = \"dx-box-flex\";\r\nvar BOX_ITEM_CLASS = \"dx-box-item\";\r\nvar BOX_ITEM_DATA_KEY = \"dxBoxItemData\";\r\nvar SHRINK = 1;\r\nvar MINSIZE_MAP = {\r\n row: \"minWidth\",\r\n col: \"minHeight\"\r\n};\r\nvar MAXSIZE_MAP = {\r\n row: \"maxWidth\",\r\n col: \"maxHeight\"\r\n};\r\nvar FLEX_JUSTIFY_CONTENT_MAP = {\r\n start: \"flex-start\",\r\n end: \"flex-end\",\r\n center: \"center\",\r\n \"space-between\": \"space-between\",\r\n \"space-around\": \"space-around\"\r\n};\r\nvar FLEX_ALIGN_ITEMS_MAP = {\r\n start: \"flex-start\",\r\n end: \"flex-end\",\r\n center: \"center\",\r\n stretch: \"stretch\"\r\n};\r\nvar FLEX_DIRECTION_MAP = {\r\n row: \"row\",\r\n col: \"column\"\r\n};\r\nvar setFlexProp = (element, prop, value) => {\r\n value = normalizeStyleProp(prop, value);\r\n element.style[styleProp(prop)] = value;\r\n if (!hasWindow()) {\r\n if (\"\" === value || !isDefined(value)) {\r\n return\r\n }\r\n var cssName = dasherize(prop);\r\n var styleExpr = \"\".concat(cssName, \": \").concat(value, \";\");\r\n setStyle(element, styleExpr, false)\r\n }\r\n};\r\nclass BoxItem extends CollectionWidgetItem {\r\n _renderVisible(value, oldValue) {\r\n super._renderVisible(value);\r\n if (isDefined(oldValue)) {\r\n this._options.fireItemStateChangedAction({\r\n name: \"visible\",\r\n state: value,\r\n oldState: oldValue\r\n })\r\n }\r\n }\r\n}\r\nclass LayoutStrategy {\r\n constructor($element, option) {\r\n this._$element = $element;\r\n this._option = option\r\n }\r\n renderBox() {\r\n this._$element.css({\r\n display: \"\".concat(stylePropPrefix(\"flexDirection\"), \"flex\")\r\n });\r\n setFlexProp(this._$element.get(0), \"flexDirection\", FLEX_DIRECTION_MAP[this._option(\"direction\")])\r\n }\r\n renderAlign() {\r\n this._$element.css({\r\n justifyContent: this._normalizedAlign()\r\n })\r\n }\r\n _normalizedAlign() {\r\n var align = this._option(\"align\");\r\n return align in FLEX_JUSTIFY_CONTENT_MAP ? FLEX_JUSTIFY_CONTENT_MAP[align] : align\r\n }\r\n renderCrossAlign() {\r\n this._$element.css({\r\n alignItems: this._normalizedCrossAlign()\r\n })\r\n }\r\n _normalizedCrossAlign() {\r\n var crossAlign = this._option(\"crossAlign\");\r\n return crossAlign in FLEX_ALIGN_ITEMS_MAP ? FLEX_ALIGN_ITEMS_MAP[crossAlign] : crossAlign\r\n }\r\n renderItems($items) {\r\n var flexPropPrefix = stylePropPrefix(\"flexDirection\");\r\n var direction = this._option(\"direction\");\r\n each($items, (function() {\r\n var $item = $(this);\r\n var item = $item.data(BOX_ITEM_DATA_KEY);\r\n $item.css({\r\n display: \"\".concat(flexPropPrefix, \"flex\")\r\n }).css(MAXSIZE_MAP[direction], item.maxSize || \"none\").css(MINSIZE_MAP[direction], item.minSize || \"0\");\r\n setFlexProp($item.get(0), \"flexBasis\", item.baseSize || 0);\r\n setFlexProp($item.get(0), \"flexGrow\", item.ratio);\r\n setFlexProp($item.get(0), \"flexShrink\", isDefined(item.shrink) ? item.shrink : SHRINK);\r\n $item.children().each((_, itemContent) => {\r\n $(itemContent).css({\r\n width: \"auto\",\r\n height: \"auto\",\r\n display: \"\".concat(stylePropPrefix(\"flexDirection\"), \"flex\"),\r\n flexBasis: 0\r\n });\r\n setFlexProp(itemContent, \"flexGrow\", 1);\r\n setFlexProp(itemContent, \"flexDirection\", $(itemContent)[0].style.flexDirection || \"column\")\r\n })\r\n }))\r\n }\r\n}\r\nclass Box extends CollectionWidget {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n direction: \"row\",\r\n align: \"start\",\r\n crossAlign: \"stretch\",\r\n activeStateEnabled: false,\r\n focusStateEnabled: false,\r\n onItemStateChanged: void 0,\r\n _queue: void 0\r\n })\r\n }\r\n _itemClass() {\r\n return BOX_ITEM_CLASS\r\n }\r\n _itemDataKey() {\r\n return BOX_ITEM_DATA_KEY\r\n }\r\n _itemElements() {\r\n return this._itemContainer().children(this._itemSelector())\r\n }\r\n _init() {\r\n super._init();\r\n this.$element().addClass(BOX_FLEX_CLASS);\r\n this._initLayout();\r\n this._initBoxQueue()\r\n }\r\n _initLayout() {\r\n this._layout = new LayoutStrategy(this.$element(), this.option.bind(this))\r\n }\r\n _initBoxQueue() {\r\n this._queue = this.option(\"_queue\") || []\r\n }\r\n _queueIsNotEmpty() {\r\n return this.option(\"_queue\") ? false : !!this._queue.length\r\n }\r\n _pushItemToQueue($item, config) {\r\n this._queue.push({\r\n $item: $item,\r\n config: config\r\n })\r\n }\r\n _shiftItemFromQueue() {\r\n return this._queue.shift()\r\n }\r\n _initMarkup() {\r\n this.$element().addClass(BOX_CLASS);\r\n this._layout.renderBox();\r\n super._initMarkup();\r\n this._renderAlign();\r\n this._renderActions()\r\n }\r\n _renderActions() {\r\n this._onItemStateChanged = this._createActionByOption(\"onItemStateChanged\")\r\n }\r\n _renderAlign() {\r\n this._layout.renderAlign();\r\n this._layout.renderCrossAlign()\r\n }\r\n _renderItems(items) {\r\n super._renderItems(items);\r\n while (this._queueIsNotEmpty()) {\r\n var item = this._shiftItemFromQueue();\r\n this._createComponent(item.$item, Box, extend({\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n itemHoldTimeout: this.option(\"itemHoldTimeout\"),\r\n onItemHold: this.option(\"onItemHold\"),\r\n onItemClick: this.option(\"onItemClick\"),\r\n onItemContextMenu: this.option(\"onItemContextMenu\"),\r\n onItemRendered: this.option(\"onItemRendered\"),\r\n _queue: this._queue\r\n }, item.config))\r\n }\r\n this._layout.renderItems(this._itemElements())\r\n }\r\n _renderItemContent(args) {\r\n var $itemNode = args.itemData && args.itemData.node;\r\n if ($itemNode) {\r\n return this._renderItemContentByNode(args, $itemNode)\r\n }\r\n return super._renderItemContent(args)\r\n }\r\n _postprocessRenderItem(args) {\r\n var boxConfig = args.itemData.box;\r\n if (!boxConfig) {\r\n return\r\n }\r\n this._pushItemToQueue(args.itemContent, boxConfig)\r\n }\r\n _createItemByTemplate(itemTemplate, args) {\r\n if (args.itemData.box) {\r\n return itemTemplate.source ? itemTemplate.source() : $()\r\n }\r\n return super._createItemByTemplate(itemTemplate, args)\r\n }\r\n _itemOptionChanged(item, property, value, oldValue) {\r\n if (\"visible\" === property) {\r\n this._onItemStateChanged({\r\n name: property,\r\n state: value,\r\n oldState: false !== oldValue\r\n })\r\n }\r\n super._itemOptionChanged(item, property, value)\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"_queue\":\r\n case \"direction\":\r\n this._invalidate();\r\n break;\r\n case \"align\":\r\n this._layout.renderAlign();\r\n break;\r\n case \"crossAlign\":\r\n this._layout.renderCrossAlign();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _itemOptions() {\r\n var options = super._itemOptions();\r\n options.fireItemStateChangedAction = e => {\r\n this._onItemStateChanged(e)\r\n };\r\n return options\r\n }\r\n}\r\nBox.ItemClass = BoxItem;\r\nregisterComponent(\"dxBox\", Box);\r\nexport default Box;\r\n","/**\r\n * DevExtreme (esm/ui/box.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Box from \"../__internal/ui/m_box\";\r\nexport default Box;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.time_view.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Editor from \"../editor/editor\";\r\nimport NumberBox from \"../number_box\";\r\nimport SelectBox from \"../select_box\";\r\nimport Box from \"../box\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport dateUtils from \"./ui.date_utils\";\r\nvar TIMEVIEW_CLASS = \"dx-timeview\";\r\nvar TIMEVIEW_CLOCK_CLASS = \"dx-timeview-clock\";\r\nvar TIMEVIEW_FIELD_CLASS = \"dx-timeview-field\";\r\nvar TIMEVIEW_HOURARROW_CLASS = \"dx-timeview-hourarrow\";\r\nvar TIMEVIEW_TIME_SEPARATOR_CLASS = \"dx-timeview-time-separator\";\r\nvar TIMEVIEW_FORMAT12_CLASS = \"dx-timeview-format12\";\r\nvar TIMEVIEW_FORMAT12_AM = -1;\r\nvar TIMEVIEW_FORMAT12_PM = 1;\r\nvar TIMEVIEW_MINUTEARROW_CLASS = \"dx-timeview-minutearrow\";\r\nvar rotateArrow = function($arrow, angle, offset) {\r\n cssRotate($arrow, angle, offset)\r\n};\r\nvar cssRotate = function($arrow, angle, offset) {\r\n $arrow.css(\"transform\", \"rotate(\" + angle + \"deg) translate(0,\" + offset + \"px)\")\r\n};\r\nvar TimeView = Editor.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: new Date(Date.now()),\r\n use24HourFormat: true,\r\n _showClock: true,\r\n _arrowOffset: 5,\r\n stylingMode: void 0\r\n })\r\n },\r\n _getValue: function() {\r\n return this.option(\"value\") || new Date\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(TIMEVIEW_CLASS)\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderBox();\r\n this._updateTime()\r\n },\r\n _renderBox: function() {\r\n var $box = $(\"<div>\").appendTo(this.$element());\r\n var items = [];\r\n if (this.option(\"_showClock\")) {\r\n items.push({\r\n ratio: 1,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: this._renderClock.bind(this)\r\n })\r\n }\r\n items.push({\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: this._renderField.bind(this)\r\n });\r\n this._createComponent($box, Box, {\r\n height: \"100%\",\r\n width: \"100%\",\r\n direction: \"col\",\r\n items: items\r\n })\r\n },\r\n _renderClock: function(_, __, container) {\r\n this._$hourArrow = $(\"<div>\").addClass(TIMEVIEW_HOURARROW_CLASS);\r\n this._$minuteArrow = $(\"<div>\").addClass(TIMEVIEW_MINUTEARROW_CLASS);\r\n var $container = $(container);\r\n $container.addClass(TIMEVIEW_CLOCK_CLASS).append(this._$hourArrow).append(this._$minuteArrow);\r\n this.setAria(\"role\", \"presentation\", $container)\r\n },\r\n _updateClock: function() {\r\n var time = this._getValue();\r\n var hourArrowAngle = time.getHours() / 12 * 360 + time.getMinutes() / 60 * 30;\r\n var minuteArrowAngle = time.getMinutes() / 60 * 360;\r\n rotateArrow(this._$hourArrow, hourArrowAngle, this.option(\"_arrowOffset\"));\r\n rotateArrow(this._$minuteArrow, minuteArrowAngle, this.option(\"_arrowOffset\"))\r\n },\r\n _getBoxItems: function(is12HourFormat) {\r\n var items = [{\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: () => this._hourBox.$element()\r\n }, {\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: $(\"<div>\").addClass(TIMEVIEW_TIME_SEPARATOR_CLASS).text(dateLocalization.getTimeSeparator())\r\n }, {\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: () => this._minuteBox.$element()\r\n }];\r\n if (is12HourFormat) {\r\n items.push({\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: () => this._format12.$element()\r\n })\r\n }\r\n return items\r\n },\r\n _renderField: function() {\r\n var is12HourFormat = !this.option(\"use24HourFormat\");\r\n this._createHourBox(is12HourFormat);\r\n this._createMinuteBox();\r\n if (is12HourFormat) {\r\n this._createFormat12Box()\r\n }\r\n return this._createComponent($(\"<div>\").addClass(TIMEVIEW_FIELD_CLASS), Box, {\r\n direction: \"row\",\r\n align: \"center\",\r\n crossAlign: \"center\",\r\n items: this._getBoxItems(is12HourFormat)\r\n }).$element()\r\n },\r\n _createHourBox: function(is12HourFormat) {\r\n var editor = this._hourBox = this._createComponent($(\"<div>\"), NumberBox, extend({\r\n min: -1,\r\n max: is12HourFormat ? 13 : 24,\r\n value: this._getValue().getHours(),\r\n onValueChanged: this._onHourBoxValueChanged.bind(this),\r\n onKeyboardHandled: opts => this._keyboardHandler(opts)\r\n }, this._getNumberBoxConfig()));\r\n editor.setAria(\"label\", \"hours\")\r\n },\r\n _isPM: function() {\r\n return !this.option(\"use24HourFormat\") && 1 === this._format12.option(\"value\")\r\n },\r\n _onHourBoxValueChanged: function(_ref) {\r\n var {\r\n value: value,\r\n component: component\r\n } = _ref;\r\n var currentValue = this._getValue();\r\n var newValue = new Date(currentValue);\r\n var newHours = this._convertMaxHourToMin(value);\r\n component.option(\"value\", newHours);\r\n if (this._isPM()) {\r\n newHours += 12\r\n }\r\n newValue.setHours(newHours);\r\n dateUtils.normalizeTime(newValue);\r\n this.option(\"value\", newValue)\r\n },\r\n _convertMaxHourToMin: function(hours) {\r\n var maxHoursValue = this.option(\"use24HourFormat\") ? 24 : 12;\r\n return (maxHoursValue + hours) % maxHoursValue\r\n },\r\n _createMinuteBox: function() {\r\n var editor = this._minuteBox = this._createComponent($(\"<div>\"), NumberBox, extend({\r\n min: -1,\r\n max: 60,\r\n value: this._getValue().getMinutes(),\r\n onKeyboardHandled: opts => this._keyboardHandler(opts),\r\n onValueChanged: _ref2 => {\r\n var {\r\n value: value,\r\n component: component\r\n } = _ref2;\r\n var newMinutes = (60 + value) % 60;\r\n component.option(\"value\", newMinutes);\r\n var time = new Date(this._getValue());\r\n time.setMinutes(newMinutes);\r\n dateUtils.normalizeTime(time);\r\n this.option(\"value\", time)\r\n }\r\n }, this._getNumberBoxConfig()));\r\n editor.setAria(\"label\", \"minutes\")\r\n },\r\n _createFormat12Box: function() {\r\n var periodNames = dateLocalization.getPeriodNames();\r\n var editor = this._format12 = this._createComponent($(\"<div>\").addClass(TIMEVIEW_FORMAT12_CLASS), SelectBox, {\r\n items: [{\r\n value: TIMEVIEW_FORMAT12_AM,\r\n text: periodNames[0]\r\n }, {\r\n value: TIMEVIEW_FORMAT12_PM,\r\n text: periodNames[1]\r\n }],\r\n valueExpr: \"value\",\r\n displayExpr: \"text\",\r\n onKeyboardHandled: opts => this._keyboardHandler(opts),\r\n onValueChanged: _ref3 => {\r\n var {\r\n value: value\r\n } = _ref3;\r\n var hours = this._getValue().getHours();\r\n var time = new Date(this._getValue());\r\n var newHours = (hours + 12 * value) % 24;\r\n time.setHours(newHours);\r\n this.option(\"value\", time)\r\n },\r\n value: this._getValue().getHours() >= 12 ? TIMEVIEW_FORMAT12_PM : TIMEVIEW_FORMAT12_AM,\r\n stylingMode: this.option(\"stylingMode\")\r\n });\r\n editor.setAria(\"label\", \"type\")\r\n },\r\n _refreshFormat12: function() {\r\n if (this.option(\"use24HourFormat\")) {\r\n return\r\n }\r\n var value = this._getValue();\r\n var hours = value.getHours();\r\n var isPM = hours >= 12;\r\n var newValue = isPM ? TIMEVIEW_FORMAT12_PM : TIMEVIEW_FORMAT12_AM;\r\n this._silentEditorValueUpdate(this._format12, newValue)\r\n },\r\n _silentEditorValueUpdate: function(editor, value) {\r\n if (editor) {\r\n editor._suppressValueChangeAction();\r\n editor.option(\"value\", value);\r\n editor._resumeValueChangeAction()\r\n }\r\n },\r\n _getNumberBoxConfig: function() {\r\n return {\r\n showSpinButtons: true,\r\n displayValueFormatter: function(value) {\r\n return (value < 10 ? \"0\" : \"\") + value\r\n },\r\n stylingMode: this.option(\"stylingMode\")\r\n }\r\n },\r\n _normalizeHours: function(hours) {\r\n return this.option(\"use24HourFormat\") ? hours : hours % 12 || 12\r\n },\r\n _updateField: function() {\r\n var hours = this._normalizeHours(this._getValue().getHours());\r\n this._silentEditorValueUpdate(this._hourBox, hours);\r\n this._silentEditorValueUpdate(this._minuteBox, this._getValue().getMinutes());\r\n this._refreshFormat12()\r\n },\r\n _updateTime: function() {\r\n if (this.option(\"_showClock\")) {\r\n this._updateClock()\r\n }\r\n this._updateField()\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._updateTime()\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"value\":\r\n this._updateTime();\r\n this.callBase(args);\r\n break;\r\n case \"_arrowOffset\":\r\n break;\r\n case \"use24HourFormat\":\r\n case \"_showClock\":\r\n case \"stylingMode\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxTimeView\", TimeView);\r\nexport default TimeView;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.calendar_with_time.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport CalendarStrategy from \"./ui.date_box.strategy.calendar\";\r\nimport TimeView from \"./ui.time_view\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport Box from \"../box\";\r\nimport uiDateUtils from \"./ui.date_utils\";\r\nvar SHRINK_VIEW_SCREEN_WIDTH = 573;\r\nvar DATEBOX_ADAPTIVITY_MODE_CLASS = \"dx-datebox-adaptivity-mode\";\r\nvar DATEBOX_TIMEVIEW_SIDE_CLASS = \"dx-datebox-datetime-time-side\";\r\nvar CalendarWithTimeStrategy = CalendarStrategy.inherit({\r\n NAME: \"CalendarWithTime\",\r\n getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n applyValueMode: \"useButtons\",\r\n buttonsLocation: \"bottom after\",\r\n \"dropDownOptions.showTitle\": false\r\n })\r\n },\r\n _closeDropDownByEnter: function() {\r\n return dateUtils.sameDate(this._getContouredValue(), this.widgetOption(\"value\"))\r\n },\r\n getDisplayFormat: function(displayFormat) {\r\n return displayFormat || \"shortdateshorttime\"\r\n },\r\n _is24HourFormat: function() {\r\n return dateLocalization.is24HourFormat(this.getDisplayFormat(this.dateBox.option(\"displayFormat\")))\r\n },\r\n _getContouredValue: function() {\r\n var viewDate = this.callBase();\r\n return this._updateDateTime(viewDate)\r\n },\r\n _renderWidget: function() {\r\n this.callBase();\r\n this._timeView = this.dateBox._createComponent($(\"<div>\"), TimeView, {\r\n value: this.dateBoxValue(),\r\n _showClock: !this._isShrinkView(),\r\n use24HourFormat: this._is24HourFormat(),\r\n onValueChanged: this._valueChangedHandler.bind(this),\r\n stylingMode: this.dateBox.option(\"stylingMode\")\r\n });\r\n this._timeView.registerKeyHandler(\"escape\", this._escapeHandler.bind(this))\r\n },\r\n renderOpenedState: function() {\r\n this.callBase();\r\n var popup = this._getPopup();\r\n if (popup) {\r\n popup.$wrapper().toggleClass(DATEBOX_ADAPTIVITY_MODE_CLASS, this._isSmallScreen())\r\n }\r\n clearTimeout(this._repaintTimer);\r\n this._repaintTimer = setTimeout(function() {\r\n this._getPopup() && this._getPopup().repaint()\r\n }.bind(this), 0)\r\n },\r\n isAdaptivityChanged: function() {\r\n var isAdaptiveMode = this._isShrinkView();\r\n var currentAdaptiveMode = this._currentAdaptiveMode;\r\n if (isAdaptiveMode !== currentAdaptiveMode) {\r\n this._currentAdaptiveMode = isAdaptiveMode;\r\n return void 0 !== currentAdaptiveMode\r\n }\r\n return this.callBase()\r\n },\r\n _updateValue: function(preventDefaultValue) {\r\n var date = this.dateBoxValue();\r\n if (!date && !preventDefaultValue) {\r\n date = new Date;\r\n uiDateUtils.normalizeTime(date)\r\n }\r\n this.callBase();\r\n if (this._timeView) {\r\n date && this._timeView.option(\"value\", date);\r\n this._timeView.option(\"use24HourFormat\", this._is24HourFormat())\r\n }\r\n },\r\n _isSmallScreen: function() {\r\n return getWidth(window) <= SHRINK_VIEW_SCREEN_WIDTH\r\n },\r\n _isShrinkView: function() {\r\n return !this.dateBox.option(\"showAnalogClock\") || this.dateBox.option(\"adaptivityEnabled\") && this._isSmallScreen()\r\n },\r\n _getBoxItems: function() {\r\n var items = [{\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n name: \"calendar\"\r\n }];\r\n if (!this._isShrinkView()) {\r\n items.push({\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n name: \"time\"\r\n })\r\n }\r\n return items\r\n },\r\n renderPopupContent: function() {\r\n this.callBase();\r\n this._currentAdaptiveMode = this._isShrinkView();\r\n var $popupContent = this._getPopup().$content();\r\n this._box = this.dateBox._createComponent($(\"<div>\").appendTo($popupContent), Box, {\r\n direction: \"row\",\r\n crossAlign: \"stretch\",\r\n items: this._getBoxItems(),\r\n itemTemplate: function(data, i, element) {\r\n var $container = $(\"<div>\");\r\n switch (data.name) {\r\n case \"calendar\":\r\n $container.append(this._widget.$element());\r\n if (this._isShrinkView()) {\r\n this._timeView.$element().addClass(DATEBOX_TIMEVIEW_SIDE_CLASS);\r\n $container.append(this._timeView.$element())\r\n }\r\n break;\r\n case \"time\":\r\n $container.append(this._timeView.$element());\r\n $(element).addClass(DATEBOX_TIMEVIEW_SIDE_CLASS)\r\n }\r\n return $container\r\n }.bind(this)\r\n });\r\n this._attachTabHandler()\r\n },\r\n popupConfig: function(_popupConfig) {\r\n var calendarPopupConfig = this.callBase(_popupConfig);\r\n return extend(calendarPopupConfig, {\r\n width: \"auto\"\r\n })\r\n },\r\n getFirstPopupElement: function() {\r\n return this._timeView._hourBox.$element().find(\"input\")\r\n },\r\n _attachTabHandler: function() {\r\n var dateBox = this.dateBox;\r\n this._timeView._hourBox.registerKeyHandler(\"tab\", (function(e) {\r\n if (e.shiftKey) {\r\n e.preventDefault();\r\n dateBox.focus()\r\n }\r\n }))\r\n },\r\n _preventFocusOnPopup: function(e) {\r\n if (!$(e.target).hasClass(\"dx-texteditor-input\")) {\r\n this.callBase.apply(this, arguments);\r\n if (!this.dateBox._hasFocusClass()) {\r\n this.dateBox.focus()\r\n }\r\n }\r\n },\r\n _updateDateTime: function(date) {\r\n var time = this._timeView.option(\"value\");\r\n date.setHours(time.getHours(), time.getMinutes(), time.getSeconds(), time.getMilliseconds());\r\n return date\r\n },\r\n getValue: function() {\r\n var _this$_widget$option;\r\n var date = null !== (_this$_widget$option = this._widget.option(\"value\")) && void 0 !== _this$_widget$option ? _this$_widget$option : this._widget.getContouredDate();\r\n date = date ? new Date(date) : new Date;\r\n return this._updateDateTime(date)\r\n },\r\n dispose: function() {\r\n clearTimeout(this._removeMinWidthTimer);\r\n clearTimeout(this._repaintTimer);\r\n this.callBase()\r\n }\r\n});\r\nexport default CalendarWithTimeStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.list.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport List from \"../list_light\";\r\nimport \"../list/modules/selection\";\r\nimport DateBoxStrategy from \"./ui.date_box.strategy\";\r\nimport {\r\n noop,\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDate\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport dateUtils from \"./ui.date_utils\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport {\r\n getSizeValue\r\n} from \"../drop_down_editor/utils\";\r\nvar DATE_FORMAT = \"date\";\r\nvar BOUNDARY_VALUES = {\r\n min: new Date(0, 0, 0, 0, 0),\r\n max: new Date(0, 0, 0, 23, 59)\r\n};\r\nvar ListStrategy = DateBoxStrategy.inherit({\r\n NAME: \"List\",\r\n supportedKeys: function() {\r\n return {\r\n tab: function() {\r\n var {\r\n opened: opened,\r\n applyValueMode: applyValueMode\r\n } = this.option();\r\n if (opened && \"instantly\" === applyValueMode) {\r\n this.close()\r\n }\r\n },\r\n space: noop,\r\n home: noop,\r\n end: noop\r\n }\r\n },\r\n getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n applyValueMode: \"instantly\"\r\n })\r\n },\r\n getDisplayFormat: function(displayFormat) {\r\n return displayFormat || \"shorttime\"\r\n },\r\n popupConfig: function(_popupConfig) {\r\n return _popupConfig\r\n },\r\n getValue: function() {\r\n var selectedIndex = this._widget.option(\"selectedIndex\");\r\n if (-1 === selectedIndex) {\r\n return this.dateBox.option(\"value\")\r\n }\r\n var itemData = this._widgetItems[selectedIndex];\r\n return this._getDateByItemData(itemData)\r\n },\r\n useCurrentDateByDefault: function() {\r\n return true\r\n },\r\n getDefaultDate: function() {\r\n return new Date(null)\r\n },\r\n popupShowingHandler: function() {\r\n this.dateBox._dimensionChanged()\r\n },\r\n _renderWidget: function() {\r\n this.callBase();\r\n this._refreshItems()\r\n },\r\n _getWidgetName: function() {\r\n return List\r\n },\r\n _getWidgetOptions: function() {\r\n return {\r\n itemTemplate: this._timeListItemTemplate.bind(this),\r\n onItemClick: this._listItemClickHandler.bind(this),\r\n tabIndex: -1,\r\n onFocusedItemChanged: this._refreshActiveDescendant.bind(this),\r\n selectionMode: \"single\"\r\n }\r\n },\r\n _refreshActiveDescendant: function(e) {\r\n this.dateBox.setAria(\"activedescendant\", \"\");\r\n this.dateBox.setAria(\"activedescendant\", e.actionValue)\r\n },\r\n _refreshItems: function() {\r\n this._widgetItems = this._getTimeListItems();\r\n this._widget.option(\"items\", this._widgetItems)\r\n },\r\n renderOpenedState: function() {\r\n if (!this._widget) {\r\n return\r\n }\r\n this._widget.option(\"focusedElement\", null);\r\n this._setSelectedItemsByValue();\r\n if (this._widget.option(\"templatesRenderAsynchronously\")) {\r\n this._asyncScrollTimeout = setTimeout(this._scrollToSelectedItem.bind(this))\r\n } else {\r\n this._scrollToSelectedItem()\r\n }\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n clearTimeout(this._asyncScrollTimeout)\r\n },\r\n _updateValue: function() {\r\n if (!this._widget) {\r\n return\r\n }\r\n this._refreshItems();\r\n this._setSelectedItemsByValue();\r\n this._scrollToSelectedItem()\r\n },\r\n _setSelectedItemsByValue: function() {\r\n var value = this.dateBoxValue();\r\n var dateIndex = this._getDateIndex(value);\r\n if (-1 === dateIndex) {\r\n this._widget.option(\"selectedItems\", [])\r\n } else {\r\n this._widget.option(\"selectedIndex\", dateIndex)\r\n }\r\n },\r\n _scrollToSelectedItem: function() {\r\n this._widget.scrollToItem(this._widget.option(\"selectedIndex\"))\r\n },\r\n _getDateIndex: function(date) {\r\n var result = -1;\r\n for (var i = 0, n = this._widgetItems.length; i < n; i++) {\r\n if (this._areDatesEqual(date, this._widgetItems[i])) {\r\n result = i;\r\n break\r\n }\r\n }\r\n return result\r\n },\r\n _areDatesEqual: function(first, second) {\r\n return isDate(first) && isDate(second) && first.getHours() === second.getHours() && first.getMinutes() === second.getMinutes()\r\n },\r\n _getTimeListItems: function() {\r\n var min = this.dateBox.dateOption(\"min\") || this._getBoundaryDate(\"min\");\r\n var max = this.dateBox.dateOption(\"max\") || this._getBoundaryDate(\"max\");\r\n var value = this.dateBox.dateOption(\"value\") || null;\r\n var delta = max - min;\r\n var minutes = min.getMinutes() % this.dateBox.option(\"interval\");\r\n if (delta < 0) {\r\n return []\r\n }\r\n if (delta > dateUtils.ONE_DAY) {\r\n delta = dateUtils.ONE_DAY\r\n }\r\n if (value - min < dateUtils.ONE_DAY) {\r\n return this._getRangeItems(min, new Date(min), delta)\r\n }\r\n min = this._getBoundaryDate(\"min\");\r\n min.setMinutes(minutes);\r\n if (value && Math.abs(value - max) < dateUtils.ONE_DAY) {\r\n delta = (60 * max.getHours() + Math.abs(max.getMinutes() - minutes)) * dateUtils.ONE_MINUTE\r\n }\r\n return this._getRangeItems(min, new Date(min), delta)\r\n },\r\n _getRangeItems: function(startValue, currentValue, rangeDuration) {\r\n var rangeItems = [];\r\n var interval = this.dateBox.option(\"interval\");\r\n while (currentValue - startValue <= rangeDuration) {\r\n rangeItems.push(new Date(currentValue));\r\n currentValue.setMinutes(currentValue.getMinutes() + interval)\r\n }\r\n return rangeItems\r\n },\r\n _getBoundaryDate: function(boundary) {\r\n var boundaryValue = BOUNDARY_VALUES[boundary];\r\n var currentValue = new Date(ensureDefined(this.dateBox.dateOption(\"value\"), 0));\r\n return new Date(currentValue.getFullYear(), currentValue.getMonth(), currentValue.getDate(), boundaryValue.getHours(), boundaryValue.getMinutes())\r\n },\r\n _timeListItemTemplate: function(itemData) {\r\n var displayFormat = this.dateBox.option(\"displayFormat\");\r\n return dateLocalization.format(itemData, this.getDisplayFormat(displayFormat))\r\n },\r\n _listItemClickHandler: function(e) {\r\n if (\"useButtons\" === this.dateBox.option(\"applyValueMode\")) {\r\n return\r\n }\r\n var date = this._getDateByItemData(e.itemData);\r\n this.dateBox.option(\"opened\", false);\r\n this.dateBoxValue(date, e.event)\r\n },\r\n _getDateByItemData: function(itemData) {\r\n var date = this.dateBox.option(\"value\");\r\n var hours = itemData.getHours();\r\n var minutes = itemData.getMinutes();\r\n var seconds = itemData.getSeconds();\r\n var year = itemData.getFullYear();\r\n var month = itemData.getMonth();\r\n var day = itemData.getDate();\r\n if (date) {\r\n if (this.dateBox.option(\"dateSerializationFormat\")) {\r\n date = dateSerialization.deserializeDate(date)\r\n } else {\r\n date = new Date(date)\r\n }\r\n date.setHours(hours);\r\n date.setMinutes(minutes);\r\n date.setSeconds(seconds);\r\n date.setFullYear(year);\r\n date.setMonth(month);\r\n date.setDate(day)\r\n } else {\r\n date = new Date(year, month, day, hours, minutes, 0, 0)\r\n }\r\n return date\r\n },\r\n getKeyboardListener: function() {\r\n return this._widget\r\n },\r\n _updatePopupHeight: function() {\r\n var dropDownOptionsHeight = getSizeValue(this.dateBox.option(\"dropDownOptions.height\"));\r\n if (void 0 === dropDownOptionsHeight || \"auto\" === dropDownOptionsHeight) {\r\n this.dateBox._setPopupOption(\"height\", \"auto\");\r\n var popupHeight = getOuterHeight(this._widget.$element());\r\n var maxHeight = .45 * getHeight(window);\r\n this.dateBox._setPopupOption(\"height\", Math.min(popupHeight, maxHeight))\r\n }\r\n this.dateBox._timeList && this.dateBox._timeList.updateDimensions()\r\n },\r\n getParsedText: function(text, format) {\r\n var value = this.callBase(text, format);\r\n if (value) {\r\n value = dateUtils.mergeDates(value, new Date(null), DATE_FORMAT)\r\n }\r\n return value\r\n }\r\n});\r\nexport default ListStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.base.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n isDate as isDateType,\r\n isString,\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport {\r\n createTextElementHiddenCopy\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n inputType\r\n} from \"../../core/utils/support\";\r\nimport devices from \"../../core/devices\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport config from \"../../core/config\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport uiDateUtils from \"./ui.date_utils\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport DropDownEditor from \"../drop_down_editor/ui.drop_down_editor\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport Calendar from \"./ui.date_box.strategy.calendar\";\r\nimport DateView from \"./ui.date_box.strategy.date_view\";\r\nimport Native from \"./ui.date_box.strategy.native\";\r\nimport CalendarWithTime from \"./ui.date_box.strategy.calendar_with_time\";\r\nimport List from \"./ui.date_box.strategy.list\";\r\nvar DATEBOX_CLASS = \"dx-datebox\";\r\nvar DX_AUTO_WIDTH_CLASS = \"dx-auto-width\";\r\nvar DX_INVALID_BADGE_CLASS = \"dx-show-invalid-badge\";\r\nvar DX_CLEAR_BUTTON_CLASS = \"dx-clear-button-area\";\r\nvar DATEBOX_WRAPPER_CLASS = \"dx-datebox-wrapper\";\r\nvar DROPDOWNEDITOR_OVERLAY_CLASS = \"dx-dropdowneditor-overlay\";\r\nvar PICKER_TYPE = {\r\n calendar: \"calendar\",\r\n rollers: \"rollers\",\r\n list: \"list\",\r\n native: \"native\"\r\n};\r\nvar TYPE = {\r\n date: \"date\",\r\n datetime: \"datetime\",\r\n time: \"time\"\r\n};\r\nvar STRATEGY_NAME = {\r\n calendar: \"Calendar\",\r\n dateView: \"DateView\",\r\n native: \"Native\",\r\n calendarWithTime: \"CalendarWithTime\",\r\n list: \"List\"\r\n};\r\nvar STRATEGY_CLASSES = {\r\n Calendar: Calendar,\r\n DateView: DateView,\r\n Native: Native,\r\n CalendarWithTime: CalendarWithTime,\r\n List: List\r\n};\r\nvar DateBox = DropDownEditor.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), this._strategy.supportedKeys())\r\n },\r\n _renderButtonContainers: function() {\r\n this.callBase.apply(this, arguments);\r\n this._strategy.customizeButtons()\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n type: \"date\",\r\n showAnalogClock: true,\r\n value: null,\r\n dateSerializationFormat: void 0,\r\n min: void 0,\r\n max: void 0,\r\n displayFormat: null,\r\n interval: 30,\r\n disabledDates: null,\r\n pickerType: PICKER_TYPE.calendar,\r\n invalidDateMessage: messageLocalization.format(\"dxDateBox-validation-datetime\"),\r\n dateOutOfRangeMessage: messageLocalization.format(\"validation-range\"),\r\n applyButtonText: messageLocalization.format(\"OK\"),\r\n adaptivityEnabled: false,\r\n calendarOptions: {},\r\n useHiddenSubmitElement: true,\r\n _showValidationIcon: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n \"dropDownOptions.showTitle\": true\r\n }\r\n }, {\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n buttonsLocation: \"bottom after\"\r\n }\r\n }, {\r\n device: function() {\r\n var realDevice = devices.real();\r\n var platform = realDevice.platform;\r\n return \"ios\" === platform || \"android\" === platform\r\n },\r\n options: {\r\n pickerType: PICKER_TYPE.native\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\",\r\n deviceType: \"desktop\"\r\n },\r\n options: {\r\n buttonsLocation: \"bottom after\"\r\n }\r\n }])\r\n },\r\n _initOptions: function(options) {\r\n this._userOptions = extend({}, options);\r\n this.callBase(options);\r\n this._updatePickerOptions()\r\n },\r\n _updatePickerOptions: function() {\r\n var pickerType = this.option(\"pickerType\");\r\n var type = this.option(\"type\");\r\n if (pickerType === PICKER_TYPE.list && (type === TYPE.datetime || type === TYPE.date)) {\r\n pickerType = PICKER_TYPE.calendar\r\n }\r\n if (type === TYPE.time && pickerType === PICKER_TYPE.calendar) {\r\n pickerType = PICKER_TYPE.list\r\n }\r\n this._pickerType = pickerType;\r\n this._setShowDropDownButtonOption()\r\n },\r\n _setShowDropDownButtonOption() {\r\n var platform = devices.real().platform;\r\n var isMozillaOnAndroid = \"android\" === platform && browser.mozilla;\r\n var isNativePickerType = this._isNativeType();\r\n var showDropDownButton = \"generic\" !== platform || !isNativePickerType;\r\n if (isNativePickerType && isMozillaOnAndroid) {\r\n showDropDownButton = false\r\n }\r\n this.option({\r\n showDropDownButton: showDropDownButton\r\n })\r\n },\r\n _init: function() {\r\n this._initStrategy();\r\n this.option(extend({}, this._strategy.getDefaultOptions(), this._userOptions));\r\n delete this._userOptions;\r\n this.callBase()\r\n },\r\n _toLowerCaseFirstLetter: function(string) {\r\n return string.charAt(0).toLowerCase() + string.substr(1)\r\n },\r\n _initStrategy: function() {\r\n var strategyName = this._getStrategyName(this._getFormatType());\r\n var strategy = STRATEGY_CLASSES[strategyName];\r\n if (!(this._strategy && this._strategy.NAME === strategyName)) {\r\n this._strategy = new strategy(this)\r\n }\r\n },\r\n _getFormatType: function() {\r\n var currentType = this.option(\"type\");\r\n var isTime = /h|m|s/g.test(currentType);\r\n var isDate = /d|M|Y/g.test(currentType);\r\n var type = \"\";\r\n if (isDate) {\r\n type += TYPE.date\r\n }\r\n if (isTime) {\r\n type += TYPE.time\r\n }\r\n return type\r\n },\r\n _getStrategyName: function(type) {\r\n var pickerType = this._pickerType;\r\n if (pickerType === PICKER_TYPE.rollers) {\r\n return STRATEGY_NAME.dateView\r\n } else if (pickerType === PICKER_TYPE.native) {\r\n return STRATEGY_NAME.native\r\n }\r\n if (type === TYPE.date) {\r\n return STRATEGY_NAME.calendar\r\n }\r\n if (type === TYPE.datetime) {\r\n return STRATEGY_NAME.calendarWithTime\r\n }\r\n return STRATEGY_NAME.list\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(DATEBOX_CLASS);\r\n this.callBase();\r\n this._refreshFormatClass();\r\n this._refreshPickerTypeClass();\r\n this._strategy.renderInputMinMax(this._input())\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._formatValidationIcon()\r\n },\r\n _renderDimensions: function() {\r\n this.callBase();\r\n this.$element().toggleClass(DX_AUTO_WIDTH_CLASS, !this.option(\"width\"));\r\n this._updatePopupWidth();\r\n this._updatePopupHeight()\r\n },\r\n _dimensionChanged: function() {\r\n this.callBase();\r\n this._updatePopupHeight()\r\n },\r\n _updatePopupHeight: function() {\r\n if (this._popup) {\r\n var _this$_strategy$_upda, _this$_strategy;\r\n null === (_this$_strategy$_upda = (_this$_strategy = this._strategy)._updatePopupHeight) || void 0 === _this$_strategy$_upda ? void 0 : _this$_strategy$_upda.call(_this$_strategy)\r\n }\r\n },\r\n _refreshFormatClass: function() {\r\n var $element = this.$element();\r\n each(TYPE, (function(_, item) {\r\n $element.removeClass(DATEBOX_CLASS + \"-\" + item)\r\n }));\r\n $element.addClass(DATEBOX_CLASS + \"-\" + this.option(\"type\"))\r\n },\r\n _refreshPickerTypeClass: function() {\r\n var $element = this.$element();\r\n each(PICKER_TYPE, (function(_, item) {\r\n $element.removeClass(DATEBOX_CLASS + \"-\" + item)\r\n }));\r\n $element.addClass(DATEBOX_CLASS + \"-\" + this._pickerType)\r\n },\r\n _formatValidationIcon: function() {\r\n if (!hasWindow()) {\r\n return\r\n }\r\n var inputElement = this._input().get(0);\r\n var isRtlEnabled = this.option(\"rtlEnabled\");\r\n var clearButtonWidth = this._getClearButtonWidth();\r\n var longestElementDimensions = this._getLongestElementDimensions();\r\n var curWidth = parseFloat(window.getComputedStyle(inputElement).width) - clearButtonWidth;\r\n var shouldHideValidationIcon = longestElementDimensions.width > curWidth;\r\n var style = inputElement.style;\r\n this.$element().toggleClass(DX_INVALID_BADGE_CLASS, !shouldHideValidationIcon && this.option(\"_showValidationIcon\"));\r\n if (shouldHideValidationIcon) {\r\n if (void 0 === this._storedPadding) {\r\n this._storedPadding = isRtlEnabled ? longestElementDimensions.leftPadding : longestElementDimensions.rightPadding\r\n }\r\n isRtlEnabled ? style.paddingLeft = 0 : style.paddingRight = 0\r\n } else {\r\n isRtlEnabled ? style.paddingLeft = this._storedPadding + \"px\" : style.paddingRight = this._storedPadding + \"px\"\r\n }\r\n },\r\n _getClearButtonWidth: function() {\r\n var clearButtonWidth = 0;\r\n if (this._isClearButtonVisible() && \"\" === this._input().val()) {\r\n var clearButtonElement = this.$element().find(\".\" + DX_CLEAR_BUTTON_CLASS).get(0);\r\n clearButtonWidth = parseFloat(window.getComputedStyle(clearButtonElement).width)\r\n }\r\n return clearButtonWidth\r\n },\r\n _getLongestElementDimensions: function() {\r\n var format = this._strategy.getDisplayFormat(this.option(\"displayFormat\"));\r\n var longestValue = dateLocalization.format(uiDateUtils.getLongestDate(format, dateLocalization.getMonthNames(), dateLocalization.getDayNames()), format);\r\n var $input = this._input();\r\n var inputElement = $input.get(0);\r\n var $longestValueElement = createTextElementHiddenCopy($input, longestValue);\r\n var isPaddingStored = void 0 !== this._storedPadding;\r\n var storedPadding = !isPaddingStored ? 0 : this._storedPadding;\r\n $longestValueElement.appendTo(this.$element());\r\n var elementWidth = parseFloat(window.getComputedStyle($longestValueElement.get(0)).width);\r\n var rightPadding = parseFloat(window.getComputedStyle(inputElement).paddingRight);\r\n var leftPadding = parseFloat(window.getComputedStyle(inputElement).paddingLeft);\r\n var necessaryWidth = elementWidth + leftPadding + rightPadding + storedPadding;\r\n $longestValueElement.remove();\r\n return {\r\n width: necessaryWidth,\r\n leftPadding: leftPadding,\r\n rightPadding: rightPadding\r\n }\r\n },\r\n _getKeyboardListeners() {\r\n return this.callBase().concat([this._strategy && this._strategy.getKeyboardListener()])\r\n },\r\n _renderPopup: function() {\r\n this.callBase();\r\n this._popup.$wrapper().addClass(DATEBOX_WRAPPER_CLASS);\r\n this._renderPopupWrapper()\r\n },\r\n _getPopupToolbarItems() {\r\n var _this$_strategy$_getP, _this$_strategy$_getP2, _this$_strategy2;\r\n var defaultItems = this.callBase();\r\n return null !== (_this$_strategy$_getP = null === (_this$_strategy$_getP2 = (_this$_strategy2 = this._strategy)._getPopupToolbarItems) || void 0 === _this$_strategy$_getP2 ? void 0 : _this$_strategy$_getP2.call(_this$_strategy2, defaultItems)) && void 0 !== _this$_strategy$_getP ? _this$_strategy$_getP : defaultItems\r\n },\r\n _popupConfig: function() {\r\n var popupConfig = this.callBase();\r\n return extend(this._strategy.popupConfig(popupConfig), {\r\n title: this._getPopupTitle(),\r\n dragEnabled: false\r\n })\r\n },\r\n _renderPopupWrapper: function() {\r\n if (!this._popup) {\r\n return\r\n }\r\n var $element = this.$element();\r\n var classPostfixes = extend({}, TYPE, PICKER_TYPE);\r\n each(classPostfixes, function(_, item) {\r\n $element.removeClass(DATEBOX_WRAPPER_CLASS + \"-\" + item)\r\n }.bind(this));\r\n this._popup.$wrapper().addClass(DATEBOX_WRAPPER_CLASS + \"-\" + this.option(\"type\")).addClass(DATEBOX_WRAPPER_CLASS + \"-\" + this._pickerType).addClass(DROPDOWNEDITOR_OVERLAY_CLASS)\r\n },\r\n _renderPopupContent: function() {\r\n this.callBase();\r\n this._strategy.renderPopupContent()\r\n },\r\n _getFirstPopupElement: function() {\r\n return this._strategy.getFirstPopupElement() || this.callBase()\r\n },\r\n _getLastPopupElement: function() {\r\n return this._strategy.getLastPopupElement() || this.callBase()\r\n },\r\n _popupShowingHandler: function() {\r\n this.callBase();\r\n this._strategy.popupShowingHandler()\r\n },\r\n _popupShownHandler: function() {\r\n this.callBase();\r\n this._strategy.renderOpenedState()\r\n },\r\n _popupHiddenHandler: function() {\r\n this.callBase();\r\n this._strategy.renderOpenedState();\r\n this._strategy.popupHiddenHandler()\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._formatValidationIcon()\r\n }\r\n },\r\n _clearValueHandler: function(e) {\r\n this.option(\"text\", \"\");\r\n this.callBase(e)\r\n },\r\n _readOnlyPropValue: function() {\r\n if (this._pickerType === PICKER_TYPE.rollers) {\r\n return true\r\n }\r\n var platform = devices.real().platform;\r\n var isCustomValueDisabled = this._isNativeType() && (\"ios\" === platform || \"android\" === platform);\r\n if (isCustomValueDisabled) {\r\n return this.option(\"readOnly\")\r\n }\r\n return this.callBase()\r\n },\r\n _isClearButtonVisible: function() {\r\n return this.callBase() && !this._isNativeType()\r\n },\r\n _renderValue: function() {\r\n var value = this.dateOption(\"value\");\r\n this.option(\"text\", this._getDisplayedText(value));\r\n this._strategy.renderValue();\r\n return this.callBase()\r\n },\r\n _setSubmitValue: function() {\r\n var value = this.dateOption(\"value\");\r\n var dateSerializationFormat = this.option(\"dateSerializationFormat\");\r\n var submitFormat = uiDateUtils.SUBMIT_FORMATS_MAP[this.option(\"type\")];\r\n var submitValue = dateSerializationFormat ? dateSerialization.serializeDate(value, dateSerializationFormat) : uiDateUtils.toStandardDateFormat(value, submitFormat);\r\n this._getSubmitElement().val(submitValue)\r\n },\r\n _getDisplayedText: function(value) {\r\n var mode = this.option(\"mode\");\r\n var displayedText;\r\n if (\"text\" === mode) {\r\n var displayFormat = this._strategy.getDisplayFormat(this.option(\"displayFormat\"));\r\n displayedText = dateLocalization.format(value, displayFormat)\r\n } else {\r\n var format = this._getFormatByMode(mode);\r\n if (format) {\r\n displayedText = dateLocalization.format(value, format)\r\n } else {\r\n displayedText = uiDateUtils.toStandardDateFormat(value, mode)\r\n }\r\n }\r\n return displayedText\r\n },\r\n _getFormatByMode: function(mode) {\r\n return inputType(mode) ? null : uiDateUtils.FORMATS_MAP[mode]\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n var {\r\n text: text,\r\n type: type,\r\n validationError: validationError\r\n } = this.option();\r\n var currentValue = this.dateOption(\"value\");\r\n if (text === this._getDisplayedText(currentValue)) {\r\n this._recallInternalValidation(currentValue, validationError);\r\n return\r\n }\r\n var parsedDate = this._getParsedDate(text);\r\n var value = null !== currentValue && void 0 !== currentValue ? currentValue : this._getDateByDefault();\r\n var newValue = uiDateUtils.mergeDates(value, parsedDate, type);\r\n var date = parsedDate && \"time\" === type ? newValue : parsedDate;\r\n if (this._applyInternalValidation(date).isValid) {\r\n var displayedText = this._getDisplayedText(newValue);\r\n if (value && newValue && value.getTime() === newValue.getTime() && displayedText !== text) {\r\n this._renderValue()\r\n } else {\r\n this.dateValue(newValue, e)\r\n }\r\n }\r\n },\r\n _recallInternalValidation(value, validationError) {\r\n if (!validationError || validationError.editorSpecific) {\r\n this._applyInternalValidation(value);\r\n this._applyCustomValidation(value)\r\n }\r\n },\r\n _getDateByDefault: function() {\r\n return this._strategy.useCurrentDateByDefault() && this._strategy.getDefaultDate()\r\n },\r\n _getParsedDate: function(text) {\r\n var displayFormat = this._strategy.getDisplayFormat(this.option(\"displayFormat\"));\r\n var parsedText = this._strategy.getParsedText(text, displayFormat);\r\n return null !== parsedText && void 0 !== parsedText ? parsedText : void 0\r\n },\r\n _applyInternalValidation(value) {\r\n var text = this.option(\"text\");\r\n var hasText = !!text && null !== value;\r\n var isDate = !!value && isDateType(value) && !isNaN(value.getTime());\r\n var isDateInRange = isDate && dateUtils.dateInRange(value, this.dateOption(\"min\"), this.dateOption(\"max\"), this.option(\"type\"));\r\n var isValid = !hasText && !value || isDateInRange;\r\n var validationMessage = \"\";\r\n if (!isDate) {\r\n validationMessage = this.option(\"invalidDateMessage\")\r\n } else if (!isDateInRange) {\r\n validationMessage = this.option(\"dateOutOfRangeMessage\")\r\n }\r\n this._updateInternalValidationState(isValid, validationMessage);\r\n return {\r\n isValid: isValid,\r\n isDate: isDate\r\n }\r\n },\r\n _updateInternalValidationState(isValid, validationMessage) {\r\n this.option({\r\n isValid: isValid,\r\n validationError: isValid ? null : {\r\n editorSpecific: true,\r\n message: validationMessage\r\n }\r\n })\r\n },\r\n _applyCustomValidation: function(value) {\r\n this.validationRequest.fire({\r\n editor: this,\r\n value: this._serializeDate(value)\r\n })\r\n },\r\n _isValueChanged: function(newValue) {\r\n var oldValue = this.dateOption(\"value\");\r\n var oldTime = oldValue && oldValue.getTime();\r\n var newTime = newValue && newValue.getTime();\r\n return oldTime !== newTime\r\n },\r\n _isTextChanged: function(newValue) {\r\n var oldText = this.option(\"text\");\r\n var newText = newValue && this._getDisplayedText(newValue) || \"\";\r\n return oldText !== newText\r\n },\r\n _renderProps: function() {\r\n this.callBase();\r\n this._input().attr(\"autocomplete\", \"off\")\r\n },\r\n _renderOpenedState: function() {\r\n if (!this._isNativeType()) {\r\n this.callBase()\r\n }\r\n if (this._strategy.isAdaptivityChanged()) {\r\n this._refreshStrategy()\r\n }\r\n },\r\n _getPopupTitle: function() {\r\n var placeholder = this.option(\"placeholder\");\r\n if (placeholder) {\r\n return placeholder\r\n }\r\n var type = this.option(\"type\");\r\n if (type === TYPE.time) {\r\n return messageLocalization.format(\"dxDateBox-simulatedDataPickerTitleTime\")\r\n }\r\n if (type === TYPE.date || type === TYPE.datetime) {\r\n return messageLocalization.format(\"dxDateBox-simulatedDataPickerTitleDate\")\r\n }\r\n return \"\"\r\n },\r\n _refreshStrategy: function() {\r\n this._strategy.dispose();\r\n this._initStrategy();\r\n this.option(this._strategy.getDefaultOptions());\r\n this._refresh()\r\n },\r\n _applyButtonHandler: function(e) {\r\n var value = this._strategy.getValue();\r\n this.dateValue(value, e.event);\r\n this.callBase()\r\n },\r\n _dispose: function() {\r\n var _this$_strategy3;\r\n this.callBase();\r\n null === (_this$_strategy3 = this._strategy) || void 0 === _this$_strategy3 ? void 0 : _this$_strategy3.dispose()\r\n },\r\n _isNativeType: function() {\r\n return this._pickerType === PICKER_TYPE.native\r\n },\r\n _updatePopupTitle: function() {\r\n var _this$_popup;\r\n null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.option(\"title\", this._getPopupTitle())\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"showClearButton\":\r\n case \"buttons\":\r\n this.callBase.apply(this, arguments);\r\n this._formatValidationIcon();\r\n break;\r\n case \"pickerType\":\r\n this._updatePickerOptions({\r\n pickerType: args.value\r\n });\r\n this._refreshStrategy();\r\n this._refreshPickerTypeClass();\r\n this._invalidate();\r\n break;\r\n case \"type\":\r\n this._updatePickerOptions({\r\n format: args.value\r\n });\r\n this._refreshStrategy();\r\n this._refreshFormatClass();\r\n this._renderPopupWrapper();\r\n this._formatValidationIcon();\r\n this._updateValue();\r\n break;\r\n case \"placeholder\":\r\n this.callBase.apply(this, arguments);\r\n this._updatePopupTitle();\r\n break;\r\n case \"min\":\r\n case \"max\":\r\n var isValid = this.option(\"isValid\");\r\n this._applyInternalValidation(this.dateOption(\"value\"));\r\n if (!isValid) {\r\n this._applyCustomValidation(this.dateOption(\"value\"))\r\n }\r\n this._invalidate();\r\n break;\r\n case \"dateSerializationFormat\":\r\n case \"interval\":\r\n case \"disabledDates\":\r\n case \"calendarOptions\":\r\n this._invalidate();\r\n break;\r\n case \"displayFormat\":\r\n this.option(\"text\", this._getDisplayedText(this.dateOption(\"value\")));\r\n this._renderInputValue();\r\n break;\r\n case \"text\":\r\n this._strategy.textChangedHandler(args.value);\r\n this.callBase.apply(this, arguments);\r\n break;\r\n case \"isValid\":\r\n this.callBase.apply(this, arguments);\r\n this._formatValidationIcon();\r\n break;\r\n case \"showDropDownButton\":\r\n this._formatValidationIcon();\r\n this.callBase.apply(this, arguments);\r\n break;\r\n case \"readOnly\":\r\n this.callBase.apply(this, arguments);\r\n this._formatValidationIcon();\r\n break;\r\n case \"todayButtonText\":\r\n this._setPopupOption(\"toolbarItems\", this._getPopupToolbarItems());\r\n break;\r\n case \"invalidDateMessage\":\r\n case \"dateOutOfRangeMessage\":\r\n case \"adaptivityEnabled\":\r\n case \"showAnalogClock\":\r\n case \"_showValidationIcon\":\r\n break;\r\n default:\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _getSerializationFormat: function() {\r\n var value = this.option(\"value\");\r\n if (this.option(\"dateSerializationFormat\") && config().forceIsoDateParsing) {\r\n return this.option(\"dateSerializationFormat\")\r\n }\r\n if (isNumeric(value)) {\r\n return \"number\"\r\n }\r\n if (!isString(value)) {\r\n return\r\n }\r\n return dateSerialization.getDateSerializationFormat(value)\r\n },\r\n _updateValue: function(value) {\r\n this.callBase();\r\n this._applyInternalValidation(null !== value && void 0 !== value ? value : this.dateOption(\"value\"))\r\n },\r\n dateValue: function(value, dxEvent) {\r\n var isValueChanged = this._isValueChanged(value);\r\n if (isValueChanged && dxEvent) {\r\n this._saveValueChangeEvent(dxEvent)\r\n }\r\n if (!isValueChanged) {\r\n if (this._isTextChanged(value)) {\r\n this._updateValue(value)\r\n } else if (\"\" === this.option(\"text\")) {\r\n this._applyCustomValidation(value)\r\n }\r\n }\r\n return this.dateOption(\"value\", value)\r\n },\r\n dateOption: function(optionName, value) {\r\n if (1 === arguments.length) {\r\n return dateSerialization.deserializeDate(this.option(optionName))\r\n }\r\n this.option(optionName, this._serializeDate(value))\r\n },\r\n _serializeDate: function(date) {\r\n var serializationFormat = this._getSerializationFormat();\r\n return dateSerialization.serializeDate(date, serializationFormat)\r\n },\r\n _clearValue: function() {\r\n var value = this.option(\"value\");\r\n this.callBase();\r\n if (null === value) {\r\n this._applyCustomValidation(null)\r\n }\r\n },\r\n reset: function() {\r\n var value = this.option(\"value\");\r\n this.callBase();\r\n if (null === value) {\r\n this._applyInternalValidation(null)\r\n }\r\n }\r\n});\r\nexport default DateBox;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.mask.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n addNamespace,\r\n normalizeKeyName,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport {\r\n isFunction,\r\n isString,\r\n isDate,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n clipboardText\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n fitIntoRange,\r\n inRange,\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n getDatePartIndexByPosition,\r\n renderDateParts\r\n} from \"./ui.date_box.mask.parts\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport {\r\n getRegExpInfo\r\n} from \"../../localization/ldml/date.parser\";\r\nimport {\r\n getFormat\r\n} from \"../../localization/ldml/date.format\";\r\nimport DateBoxBase from \"./ui.date_box.base\";\r\nimport numberLocalization from \"../../localization/number\";\r\nimport devices from \"../../core/devices\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport defaultDateNames from \"../../localization/default_date_names\";\r\nvar MASK_EVENT_NAMESPACE = \"dateBoxMask\";\r\nvar FORWARD = 1;\r\nvar BACKWARD = -1;\r\nvar DateBoxMask = DateBoxBase.inherit({\r\n _supportedKeys(e) {\r\n var originalHandlers = this.callBase(e);\r\n var callOriginalHandler = e => {\r\n var originalHandler = originalHandlers[normalizeKeyName(e)];\r\n return originalHandler && originalHandler.apply(this, [e])\r\n };\r\n var applyHandler = (e, maskHandler) => {\r\n if (this._shouldUseOriginalHandler(e)) {\r\n return callOriginalHandler.apply(this, [e])\r\n } else {\r\n return maskHandler.apply(this, [e])\r\n }\r\n };\r\n return extend({}, originalHandlers, {\r\n del: e => applyHandler(e, event => {\r\n this._revertPart(FORWARD);\r\n this._isAllSelected() || event.preventDefault()\r\n }),\r\n backspace: e => applyHandler(e, event => {\r\n this._revertPart(BACKWARD);\r\n this._isAllSelected() || event.preventDefault()\r\n }),\r\n home: e => applyHandler(e, event => {\r\n this._selectFirstPart();\r\n event.preventDefault()\r\n }),\r\n end: e => applyHandler(e, event => {\r\n this._selectLastPart();\r\n event.preventDefault()\r\n }),\r\n escape: e => applyHandler(e, event => {\r\n this._revertChanges(event)\r\n }),\r\n enter: e => applyHandler(e, () => {\r\n this._enterHandler()\r\n }),\r\n leftArrow: e => applyHandler(e, event => {\r\n this._selectNextPart(BACKWARD);\r\n event.preventDefault()\r\n }),\r\n rightArrow: e => applyHandler(e, event => {\r\n this._selectNextPart(FORWARD);\r\n event.preventDefault()\r\n }),\r\n upArrow: e => applyHandler(e, event => {\r\n this._upDownArrowHandler(FORWARD);\r\n event.preventDefault()\r\n }),\r\n downArrow: e => applyHandler(e, event => {\r\n this._upDownArrowHandler(BACKWARD);\r\n event.preventDefault()\r\n })\r\n })\r\n },\r\n _shouldUseOriginalHandler(e) {\r\n var isNotDeletingInCalendar = this.option(\"opened\") && e && -1 === [\"backspace\", \"del\"].indexOf(normalizeKeyName(e));\r\n return !this._useMaskBehavior() || isNotDeletingInCalendar || e && e.altKey\r\n },\r\n _upDownArrowHandler(step) {\r\n this._setNewDateIfEmpty();\r\n var originalValue = this._getActivePartValue(this._initialMaskValue);\r\n var currentValue = this._getActivePartValue();\r\n var delta = currentValue - originalValue;\r\n this._loadMaskValue(this._initialMaskValue);\r\n this._changePartValue(delta + step, true)\r\n },\r\n _changePartValue(step, lockOtherParts) {\r\n var activePartPattern = this._getActivePartProp(\"pattern\");\r\n var isAmPmPartActive = /^a{1,5}$/.test(activePartPattern);\r\n if (isAmPmPartActive) {\r\n this._toggleAmPm()\r\n } else {\r\n this._partIncrease(step, lockOtherParts)\r\n }\r\n },\r\n _toggleAmPm() {\r\n var currentValue = this._getActivePartProp(\"text\");\r\n var indexOfCurrentValue = defaultDateNames.getPeriodNames().indexOf(currentValue);\r\n var newValue = 1 ^ indexOfCurrentValue;\r\n this._setActivePartValue(newValue)\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n useMaskBehavior: false,\r\n emptyDateValue: new Date(2e3, 0, 1, 0, 0, 0)\r\n })\r\n },\r\n _isSingleCharKey(_ref) {\r\n var {\r\n originalEvent: originalEvent,\r\n alt: alt\r\n } = _ref;\r\n var key = originalEvent.data || originalEvent.key;\r\n return \"string\" === typeof key && 1 === key.length && !alt && !isCommandKeyPressed(originalEvent)\r\n },\r\n _isSingleDigitKey(e) {\r\n var _e$originalEvent;\r\n var data = null === (_e$originalEvent = e.originalEvent) || void 0 === _e$originalEvent ? void 0 : _e$originalEvent.data;\r\n return 1 === (null === data || void 0 === data ? void 0 : data.length) && parseInt(data, 10)\r\n },\r\n _useBeforeInputEvent: function() {\r\n return devices.real().android\r\n },\r\n _keyInputHandler(e, key) {\r\n var oldInputValue = this._input().val();\r\n this._processInputKey(key);\r\n e.preventDefault();\r\n var isValueChanged = oldInputValue !== this._input().val();\r\n isValueChanged && eventsEngine.trigger(this._input(), \"input\")\r\n },\r\n _keyboardHandler(e) {\r\n var key = e.originalEvent.key;\r\n var result = this.callBase(e);\r\n if (!this._useMaskBehavior() || this._useBeforeInputEvent()) {\r\n return result\r\n }\r\n if (browser.chrome && \"Process\" === e.key && 0 === e.code.indexOf(\"Digit\")) {\r\n key = e.code.replace(\"Digit\", \"\");\r\n this._processInputKey(key);\r\n this._maskInputHandler = () => {\r\n this._renderSelectedPart()\r\n }\r\n } else if (this._isSingleCharKey(e)) {\r\n this._keyInputHandler(e.originalEvent, key)\r\n }\r\n return result\r\n },\r\n _maskBeforeInputHandler(e) {\r\n this._maskInputHandler = null;\r\n var {\r\n inputType: inputType\r\n } = e.originalEvent;\r\n if (\"insertCompositionText\" === inputType) {\r\n this._maskInputHandler = () => {\r\n this._renderSelectedPart()\r\n }\r\n }\r\n var isBackwardDeletion = \"deleteContentBackward\" === inputType;\r\n var isForwardDeletion = \"deleteContentForward\" === inputType;\r\n if (isBackwardDeletion || isForwardDeletion) {\r\n var direction = isBackwardDeletion ? BACKWARD : FORWARD;\r\n this._maskInputHandler = () => {\r\n this._revertPart();\r\n this._selectNextPart(direction)\r\n }\r\n }\r\n if (!this._useMaskBehavior() || !this._isSingleCharKey(e)) {\r\n return\r\n }\r\n var key = e.originalEvent.data;\r\n this._keyInputHandler(e, key);\r\n return true\r\n },\r\n _keyPressHandler(e) {\r\n var {\r\n originalEvent: event\r\n } = e;\r\n if (\"insertCompositionText\" === (null === event || void 0 === event ? void 0 : event.inputType) && this._isSingleDigitKey(e)) {\r\n this._processInputKey(event.data);\r\n this._renderDisplayText(this._getDisplayedText(this._maskValue));\r\n this._selectNextPart()\r\n }\r\n this.callBase(e);\r\n if (this._maskInputHandler) {\r\n this._maskInputHandler();\r\n this._maskInputHandler = null\r\n }\r\n },\r\n _processInputKey(key) {\r\n if (this._isAllSelected()) {\r\n this._activePartIndex = 0\r\n }\r\n this._setNewDateIfEmpty();\r\n if (isNaN(parseInt(key))) {\r\n this._searchString(key)\r\n } else {\r\n this._searchNumber(key)\r\n }\r\n },\r\n _isAllSelected() {\r\n var caret = this._caret();\r\n return caret.end - caret.start === this.option(\"text\").length\r\n },\r\n _getFormatPattern() {\r\n if (this._formatPattern) {\r\n return this._formatPattern\r\n }\r\n var format = this._strategy.getDisplayFormat(this.option(\"displayFormat\"));\r\n var isLDMLPattern = isString(format) && !dateLocalization._getPatternByFormat(format);\r\n if (isLDMLPattern) {\r\n this._formatPattern = format\r\n } else {\r\n this._formatPattern = getFormat((function(value) {\r\n return dateLocalization.format(value, format)\r\n }))\r\n }\r\n return this._formatPattern\r\n },\r\n _setNewDateIfEmpty() {\r\n if (!this._maskValue) {\r\n var value = \"time\" === this.option(\"type\") ? new Date(null) : new Date;\r\n this._maskValue = value;\r\n this._initialMaskValue = value;\r\n this._renderDateParts()\r\n }\r\n },\r\n _partLimitsReached(max) {\r\n var maxLimitLength = String(max).length;\r\n var formatLength = this._getActivePartProp(\"pattern\").length;\r\n var isShortFormat = 1 === formatLength;\r\n var maxSearchLength = isShortFormat ? maxLimitLength : Math.min(formatLength, maxLimitLength);\r\n var isLengthExceeded = this._searchValue.length === maxSearchLength;\r\n var isValueOverflowed = parseInt(this._searchValue + \"0\") > max;\r\n return isLengthExceeded || isValueOverflowed\r\n },\r\n _searchNumber(char) {\r\n var {\r\n max: max\r\n } = this._getActivePartLimits();\r\n var maxLimitLength = String(max).length;\r\n this._searchValue = (this._searchValue + char).substr(-maxLimitLength);\r\n if (isNaN(this._searchValue)) {\r\n this._searchValue = char\r\n }\r\n this._setActivePartValue(this._searchValue);\r\n if (this._partLimitsReached(max)) {\r\n this._selectNextPart(FORWARD)\r\n }\r\n },\r\n _searchString(char) {\r\n if (!isNaN(parseInt(this._getActivePartProp(\"text\")))) {\r\n return\r\n }\r\n var limits = this._getActivePartProp(\"limits\")(this._maskValue);\r\n var startString = this._searchValue + char.toLowerCase();\r\n var endLimit = limits.max - limits.min;\r\n for (var i = 0; i <= endLimit; i++) {\r\n this._loadMaskValue(this._initialMaskValue);\r\n this._changePartValue(i + 1);\r\n if (0 === this._getActivePartProp(\"text\").toLowerCase().indexOf(startString)) {\r\n this._searchValue = startString;\r\n return\r\n }\r\n }\r\n this._setNewDateIfEmpty();\r\n if (this._searchValue) {\r\n this._clearSearchValue();\r\n this._searchString(char)\r\n }\r\n },\r\n _clearSearchValue() {\r\n this._searchValue = \"\"\r\n },\r\n _revertPart: function(direction) {\r\n if (!this._isAllSelected()) {\r\n var actual = this._getActivePartValue(this.option(\"emptyDateValue\"));\r\n this._setActivePartValue(actual);\r\n this._selectNextPart(direction)\r\n }\r\n this._clearSearchValue()\r\n },\r\n _useMaskBehavior() {\r\n return this.option(\"useMaskBehavior\") && \"text\" === this.option(\"mode\")\r\n },\r\n _prepareRegExpInfo() {\r\n this._regExpInfo = getRegExpInfo(this._getFormatPattern(), dateLocalization);\r\n var regexp = this._regExpInfo.regexp;\r\n var source = regexp.source;\r\n var flags = regexp.flags;\r\n var quantifierRegexp = new RegExp(/(\\{[0-9]+,?[0-9]*\\})/);\r\n var convertedSource = source.split(quantifierRegexp).map(sourcePart => quantifierRegexp.test(sourcePart) ? sourcePart : numberLocalization.convertDigits(sourcePart, false)).join(\"\");\r\n this._regExpInfo.regexp = new RegExp(convertedSource, flags)\r\n },\r\n _initMaskState() {\r\n this._activePartIndex = 0;\r\n this._formatPattern = null;\r\n this._prepareRegExpInfo();\r\n this._loadMaskValue()\r\n },\r\n _renderMask() {\r\n this.callBase();\r\n this._detachMaskEvents();\r\n this._clearMaskState();\r\n if (this._useMaskBehavior()) {\r\n this._attachMaskEvents();\r\n this._initMaskState();\r\n this._renderDateParts()\r\n }\r\n },\r\n _renderDateParts() {\r\n if (!this._useMaskBehavior()) {\r\n return\r\n }\r\n var text = this.option(\"text\") || this._getDisplayedText(this._maskValue);\r\n if (text) {\r\n this._dateParts = renderDateParts(text, this._regExpInfo);\r\n if (!this._input().is(\":hidden\")) {\r\n this._selectNextPart()\r\n }\r\n }\r\n },\r\n _detachMaskEvents() {\r\n eventsEngine.off(this._input(), \".\" + MASK_EVENT_NAMESPACE)\r\n },\r\n _attachMaskEvents() {\r\n eventsEngine.on(this._input(), addNamespace(\"dxclick\", MASK_EVENT_NAMESPACE), this._maskClickHandler.bind(this));\r\n eventsEngine.on(this._input(), addNamespace(\"paste\", MASK_EVENT_NAMESPACE), this._maskPasteHandler.bind(this));\r\n eventsEngine.on(this._input(), addNamespace(\"drop\", MASK_EVENT_NAMESPACE), () => {\r\n this._renderSelectedPart()\r\n });\r\n eventsEngine.on(this._input(), addNamespace(\"compositionend\", MASK_EVENT_NAMESPACE), this._maskCompositionEndHandler.bind(this));\r\n if (this._useBeforeInputEvent()) {\r\n eventsEngine.on(this._input(), addNamespace(\"beforeinput\", MASK_EVENT_NAMESPACE), this._maskBeforeInputHandler.bind(this))\r\n }\r\n },\r\n _renderSelectedPart() {\r\n this._renderDisplayText(this._getDisplayedText(this._maskValue));\r\n this._selectNextPart()\r\n },\r\n _selectLastPart() {\r\n if (this.option(\"text\")) {\r\n this._activePartIndex = this._dateParts.length;\r\n this._selectNextPart(BACKWARD)\r\n }\r\n },\r\n _selectFirstPart() {\r\n if (this.option(\"text\")) {\r\n this._activePartIndex = -1;\r\n this._selectNextPart(FORWARD)\r\n }\r\n },\r\n _onMouseWheel(e) {\r\n if (this._useMaskBehavior()) {\r\n this._partIncrease(e.delta > 0 ? FORWARD : BACKWARD, e)\r\n }\r\n },\r\n _selectNextPart() {\r\n var step = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;\r\n if (!this.option(\"text\") || this._disposed) {\r\n return\r\n }\r\n if (step) {\r\n this._initialMaskValue = new Date(this._maskValue)\r\n }\r\n var index = fitIntoRange(this._activePartIndex + step, 0, this._dateParts.length - 1);\r\n if (this._dateParts[index].isStub) {\r\n var isBoundaryIndex = 0 === index && step < 0 || index === this._dateParts.length - 1 && step > 0;\r\n if (!isBoundaryIndex) {\r\n this._selectNextPart(step >= 0 ? step + 1 : step - 1);\r\n return\r\n } else {\r\n index = this._activePartIndex\r\n }\r\n }\r\n if (this._activePartIndex !== index) {\r\n this._clearSearchValue()\r\n }\r\n this._activePartIndex = index;\r\n this._caret(this._getActivePartProp(\"caret\"))\r\n },\r\n _getRealLimitsPattern() {\r\n if (\"d\" === this._getActivePartProp(\"pattern\")[0]) {\r\n return \"dM\"\r\n }\r\n },\r\n _getActivePartLimits(lockOtherParts) {\r\n var limitFunction = this._getActivePartProp(\"limits\");\r\n return limitFunction(this._maskValue, lockOtherParts && this._getRealLimitsPattern())\r\n },\r\n _getActivePartValue(dateValue) {\r\n dateValue = dateValue || this._maskValue;\r\n var getter = this._getActivePartProp(\"getter\");\r\n return isFunction(getter) ? getter(dateValue) : dateValue[getter]()\r\n },\r\n _addLeadingZeroes(value) {\r\n var zeroes = this._searchValue.match(/^0+/);\r\n var limits = this._getActivePartLimits();\r\n var maxLimitLength = String(limits.max).length;\r\n return ((zeroes && zeroes[0] || \"\") + String(value)).substr(-maxLimitLength)\r\n },\r\n _setActivePartValue(value, dateValue) {\r\n dateValue = dateValue || this._maskValue;\r\n var setter = this._getActivePartProp(\"setter\");\r\n var limits = this._getActivePartLimits();\r\n value = inRange(value, limits.min, limits.max) ? value : value % 10;\r\n value = this._addLeadingZeroes(fitIntoRange(value, limits.min, limits.max));\r\n isFunction(setter) ? setter(dateValue, value) : dateValue[setter](value);\r\n this._renderDisplayText(this._getDisplayedText(dateValue));\r\n this._renderDateParts()\r\n },\r\n _getActivePartProp(property) {\r\n if (!this._dateParts || !this._dateParts[this._activePartIndex]) {\r\n return\r\n }\r\n return this._dateParts[this._activePartIndex][property]\r\n },\r\n _loadMaskValue() {\r\n var value = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.dateOption(\"value\");\r\n this._maskValue = value && new Date(value);\r\n this._initialMaskValue = value && new Date(value)\r\n },\r\n _saveMaskValue() {\r\n var value = this._maskValue && new Date(this._maskValue);\r\n if (value && \"date\" === this.option(\"type\")) {\r\n value.setHours(0, 0, 0, 0)\r\n }\r\n this._initialMaskValue = new Date(value);\r\n this.dateOption(\"value\", value)\r\n },\r\n _revertChanges() {\r\n this._loadMaskValue();\r\n this._renderDisplayText(this._getDisplayedText(this._maskValue));\r\n this._renderDateParts()\r\n },\r\n _renderDisplayText(text) {\r\n this.callBase(text);\r\n if (this._useMaskBehavior()) {\r\n this.option(\"text\", text)\r\n }\r\n },\r\n _partIncrease(step, lockOtherParts) {\r\n this._setNewDateIfEmpty();\r\n var {\r\n max: max,\r\n min: min\r\n } = this._getActivePartLimits(lockOtherParts);\r\n var newValue = step + this._getActivePartValue();\r\n if (newValue > max) {\r\n newValue = this._applyLimits(newValue, {\r\n limitBase: min,\r\n limitClosest: max,\r\n max: max\r\n })\r\n } else if (newValue < min) {\r\n newValue = this._applyLimits(newValue, {\r\n limitBase: max,\r\n limitClosest: min,\r\n max: max\r\n })\r\n }\r\n this._setActivePartValue(newValue)\r\n },\r\n _applyLimits(newValue, _ref2) {\r\n var {\r\n limitBase: limitBase,\r\n limitClosest: limitClosest,\r\n max: max\r\n } = _ref2;\r\n var delta = (newValue - limitClosest) % max;\r\n return delta ? limitBase + delta - 1 * sign(delta) : limitClosest\r\n },\r\n _maskClickHandler() {\r\n this._loadMaskValue(this._maskValue);\r\n if (this.option(\"text\")) {\r\n this._activePartIndex = getDatePartIndexByPosition(this._dateParts, this._caret().start);\r\n if (!this._isAllSelected()) {\r\n if (isDefined(this._activePartIndex)) {\r\n this._caret(this._getActivePartProp(\"caret\"))\r\n } else {\r\n this._selectLastPart()\r\n }\r\n }\r\n }\r\n },\r\n _maskCompositionEndHandler(e) {\r\n this._input().val(this._getDisplayedText(this._maskValue));\r\n this._selectNextPart();\r\n this._maskInputHandler = () => {\r\n this._renderSelectedPart()\r\n }\r\n },\r\n _maskPasteHandler(e) {\r\n var newText = this._replaceSelectedText(this.option(\"text\"), this._caret(), clipboardText(e));\r\n var date = dateLocalization.parse(newText, this._getFormatPattern());\r\n if (date && this._isDateValid(date)) {\r\n this._maskValue = date;\r\n this._renderDisplayText(this._getDisplayedText(this._maskValue));\r\n this._renderDateParts();\r\n this._selectNextPart()\r\n }\r\n e.preventDefault()\r\n },\r\n _isDateValid: date => isDate(date) && !isNaN(date),\r\n _isValueDirty() {\r\n var value = this.dateOption(\"value\");\r\n return (this._maskValue && this._maskValue.getTime()) !== (value && value.getTime())\r\n },\r\n _fireChangeEvent() {\r\n this._clearSearchValue();\r\n if (this._isValueDirty()) {\r\n eventsEngine.trigger(this._input(), \"change\")\r\n }\r\n },\r\n _enterHandler() {\r\n this._fireChangeEvent();\r\n this._selectNextPart(FORWARD)\r\n },\r\n _focusOutHandler(e) {\r\n var shouldFireChangeEvent = this._useMaskBehavior() && !e.isDefaultPrevented();\r\n if (shouldFireChangeEvent) {\r\n this._fireChangeEvent();\r\n this.callBase(e);\r\n this._selectFirstPart(e)\r\n } else {\r\n this.callBase(e)\r\n }\r\n },\r\n _valueChangeEventHandler(e) {\r\n var text = this.option(\"text\");\r\n if (this._useMaskBehavior()) {\r\n this._saveValueChangeEvent(e);\r\n if (!text) {\r\n this._maskValue = null\r\n } else if (null === this._maskValue) {\r\n this._loadMaskValue(text)\r\n }\r\n this._saveMaskValue()\r\n } else {\r\n this.callBase(e)\r\n }\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"useMaskBehavior\":\r\n this._renderMask();\r\n break;\r\n case \"displayFormat\":\r\n case \"mode\":\r\n this.callBase(args);\r\n this._renderMask();\r\n break;\r\n case \"value\":\r\n this._loadMaskValue();\r\n this.callBase(args);\r\n this._renderDateParts();\r\n break;\r\n case \"emptyDateValue\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clearMaskState() {\r\n this._clearSearchValue();\r\n delete this._dateParts;\r\n delete this._activePartIndex;\r\n delete this._maskValue\r\n },\r\n reset() {\r\n this._clearMaskState();\r\n this._activePartIndex = 0;\r\n this.callBase()\r\n },\r\n _clean() {\r\n this.callBase();\r\n this._detachMaskEvents();\r\n this._clearMaskState()\r\n }\r\n});\r\nexport default DateBoxMask;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport DateBoxMask from \"./ui.date_box.mask\";\r\nregisterComponent(\"dxDateBox\", DateBoxMask);\r\nexport default DateBoxMask;\r\n","/**\r\n * DevExtreme (esm/ui/shared/ui.editor_factory_mixin.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n isDefined,\r\n isObject,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport variableWrapper from \"../../core/utils/variable_wrapper\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"../../data/data_source/utils\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nvar {\r\n isWrapped: isWrapped\r\n} = variableWrapper;\r\nimport \"../text_box\";\r\nimport \"../number_box\";\r\nimport \"../check_box\";\r\nimport \"../select_box\";\r\nimport \"../date_box\";\r\nvar CHECKBOX_SIZE_CLASS = \"checkbox-size\";\r\nvar EDITOR_INLINE_BLOCK = \"dx-editor-inline-block\";\r\nvar getResultConfig = function(config, options) {\r\n return extend(config, {\r\n readOnly: options.readOnly,\r\n placeholder: options.placeholder,\r\n inputAttr: {\r\n id: options.id,\r\n \"aria-labelledby\": options[\"aria-labelledby\"]\r\n },\r\n tabIndex: options.tabIndex\r\n }, options.editorOptions)\r\n};\r\nvar checkEnterBug = function() {\r\n return browser.mozilla || devices.real().ios\r\n};\r\nvar getTextEditorConfig = function(options) {\r\n var data = {};\r\n var isEnterBug = checkEnterBug();\r\n var sharedData = options.sharedData || data;\r\n return getResultConfig({\r\n placeholder: options.placeholder,\r\n width: options.width,\r\n value: options.value,\r\n onValueChanged: function(e) {\r\n var needDelayedUpdate = \"filterRow\" === options.parentType || \"searchPanel\" === options.parentType;\r\n var isInputOrKeyUpEvent = e.event && (\"input\" === e.event.type || \"keyup\" === e.event.type);\r\n var updateValue = function(e, notFireEvent) {\r\n options && options.setValue(e.value, notFireEvent)\r\n };\r\n clearTimeout(data.valueChangeTimeout);\r\n if (isInputOrKeyUpEvent && needDelayedUpdate) {\r\n sharedData.valueChangeTimeout = data.valueChangeTimeout = setTimeout((function() {\r\n updateValue(e, data.valueChangeTimeout !== sharedData.valueChangeTimeout)\r\n }), isDefined(options.updateValueTimeout) ? options.updateValueTimeout : 0)\r\n } else {\r\n updateValue(e)\r\n }\r\n },\r\n onKeyDown: function(e) {\r\n if (isEnterBug && \"enter\" === normalizeKeyName(e.event)) {\r\n eventsEngine.trigger($(e.component._input()), \"change\")\r\n }\r\n },\r\n valueChangeEvent: \"change\" + (\"filterRow\" === options.parentType ? \" keyup input\" : \"\")\r\n }, options)\r\n};\r\nvar prepareDateBox = function(options) {\r\n options.editorName = \"dxDateBox\";\r\n options.editorOptions = getResultConfig({\r\n value: options.value,\r\n onValueChanged: function(args) {\r\n options.setValue(args.value)\r\n },\r\n onKeyDown: function(_ref) {\r\n var {\r\n component: component,\r\n event: event\r\n } = _ref;\r\n var useMaskBehavior = component.option(\"useMaskBehavior\");\r\n if ((checkEnterBug() || useMaskBehavior) && \"enter\" === normalizeKeyName(event)) {\r\n component.blur();\r\n component.focus()\r\n }\r\n },\r\n displayFormat: options.format,\r\n type: options.dataType,\r\n dateSerializationFormat: null,\r\n width: \"filterBuilder\" === options.parentType ? void 0 : \"auto\"\r\n }, options)\r\n};\r\nvar prepareTextBox = function(options) {\r\n var config = getTextEditorConfig(options);\r\n var isSearching = \"searchPanel\" === options.parentType;\r\n if (options.editorType && \"dxTextBox\" !== options.editorType) {\r\n config.value = options.value\r\n } else {\r\n config.value = (value = options.value, isDefined(value) ? value.toString() : \"\")\r\n }\r\n var value;\r\n config.valueChangeEvent += isSearching ? \" keyup input search\" : \"\";\r\n config.mode = config.mode || (isSearching ? \"search\" : \"text\");\r\n options.editorName = \"dxTextBox\";\r\n options.editorOptions = config\r\n};\r\nvar prepareNumberBox = function(options) {\r\n var config = getTextEditorConfig(options);\r\n config.value = isDefined(options.value) ? options.value : null;\r\n options.editorName = \"dxNumberBox\";\r\n options.editorOptions = config\r\n};\r\nvar prepareBooleanEditor = function(options) {\r\n if (\"filterRow\" === options.parentType || \"filterBuilder\" === options.parentType) {\r\n prepareLookupEditor(extend(options, {\r\n lookup: {\r\n displayExpr: function(data) {\r\n if (true === data) {\r\n return options.trueText || \"true\"\r\n } else if (false === data) {\r\n return options.falseText || \"false\"\r\n }\r\n },\r\n dataSource: [true, false]\r\n }\r\n }))\r\n } else {\r\n prepareCheckBox(options)\r\n }\r\n};\r\n\r\nfunction watchLookupDataSource(options) {\r\n if (options.row && options.row.watch && \"dataRow\" === options.parentType) {\r\n var editorOptions = options.editorOptions || {};\r\n options.editorOptions = editorOptions;\r\n var selectBox;\r\n var onInitialized = editorOptions.onInitialized;\r\n editorOptions.onInitialized = function(e) {\r\n onInitialized && onInitialized.apply(this, arguments);\r\n selectBox = e.component;\r\n selectBox.on(\"disposing\", stopWatch)\r\n };\r\n var dataSource;\r\n var stopWatch = options.row.watch(() => {\r\n dataSource = options.lookup.dataSource(options.row);\r\n return dataSource && dataSource.filter\r\n }, () => {\r\n selectBox.option(\"dataSource\", dataSource)\r\n }, row => {\r\n options.row = row\r\n })\r\n }\r\n}\r\n\r\nfunction prepareLookupEditor(options) {\r\n var lookup = options.lookup;\r\n var displayGetter;\r\n var dataSource;\r\n var postProcess;\r\n var isFilterRow = \"filterRow\" === options.parentType;\r\n if (lookup) {\r\n var _options$editorType;\r\n displayGetter = compileGetter(lookup.displayExpr);\r\n dataSource = lookup.dataSource;\r\n if (isFunction(dataSource) && !isWrapped(dataSource)) {\r\n dataSource = dataSource(options.row || {});\r\n watchLookupDataSource(options)\r\n }\r\n if (isObject(dataSource) || Array.isArray(dataSource)) {\r\n dataSource = normalizeDataSourceOptions(dataSource);\r\n if (isFilterRow) {\r\n postProcess = dataSource.postProcess;\r\n dataSource.postProcess = function(items) {\r\n if (0 === this.pageIndex()) {\r\n items = items.slice(0);\r\n items.unshift(null)\r\n }\r\n if (postProcess) {\r\n return postProcess.call(this, items)\r\n }\r\n return items\r\n }\r\n }\r\n }\r\n var allowClearing = Boolean(lookup.allowClearing && !isFilterRow);\r\n options.editorName = null !== (_options$editorType = options.editorType) && void 0 !== _options$editorType ? _options$editorType : \"dxSelectBox\";\r\n options.editorOptions = getResultConfig({\r\n searchEnabled: true,\r\n value: options.value,\r\n valueExpr: options.lookup.valueExpr,\r\n searchExpr: options.lookup.searchExpr || options.lookup.displayExpr,\r\n allowClearing: allowClearing,\r\n showClearButton: allowClearing,\r\n displayExpr: function(data) {\r\n if (null === data) {\r\n return options.showAllText\r\n }\r\n return displayGetter(data)\r\n },\r\n dataSource: dataSource,\r\n onValueChanged: function(e) {\r\n var params = [e.value];\r\n !isFilterRow && params.push(e.component.option(\"text\"));\r\n options.setValue.apply(this, params)\r\n }\r\n }, options)\r\n }\r\n}\r\n\r\nfunction prepareCheckBox(options) {\r\n options.editorName = \"dxCheckBox\";\r\n options.editorOptions = getResultConfig({\r\n elementAttr: {\r\n id: options.id\r\n },\r\n value: isDefined(options.value) ? options.value : void 0,\r\n hoverStateEnabled: !options.readOnly,\r\n focusStateEnabled: !options.readOnly,\r\n activeStateEnabled: false,\r\n onValueChanged: function(e) {\r\n options.setValue && options.setValue(e.value, e)\r\n }\r\n }, options)\r\n}\r\nvar createEditorCore = function(that, options) {\r\n var $editorElement = $(options.editorElement);\r\n if (options.editorName && options.editorOptions && $editorElement[options.editorName]) {\r\n if (\"dxCheckBox\" === options.editorName || \"dxSwitch\" === options.editorName) {\r\n if (!options.isOnForm) {\r\n $editorElement.addClass(that.addWidgetPrefix(CHECKBOX_SIZE_CLASS));\r\n $editorElement.parent().addClass(EDITOR_INLINE_BLOCK)\r\n }\r\n }\r\n that._createComponent($editorElement, options.editorName, options.editorOptions);\r\n if (\"dxDateBox\" === options.editorName) {\r\n var dateBox = $editorElement.dxDateBox(\"instance\");\r\n var defaultEnterKeyHandler = dateBox._supportedKeys().enter;\r\n dateBox.registerKeyHandler(\"enter\", e => {\r\n if (dateBox.option(\"opened\")) {\r\n defaultEnterKeyHandler(e)\r\n }\r\n return true\r\n })\r\n }\r\n if (\"dxTextArea\" === options.editorName) {\r\n $editorElement.dxTextArea(\"instance\").registerKeyHandler(\"enter\", (function(event) {\r\n if (\"enter\" === normalizeKeyName(event) && !event.ctrlKey && !event.shiftKey) {\r\n event.stopPropagation()\r\n }\r\n }))\r\n }\r\n }\r\n};\r\nvar prepareCustomEditor = options => {\r\n options.editorName = options.editorType;\r\n options.editorOptions = getResultConfig({\r\n value: options.value,\r\n onValueChanged: function(args) {\r\n options.setValue(args.value)\r\n }\r\n }, options)\r\n};\r\nvar prepareEditor = options => {\r\n var prepareDefaultEditor = {\r\n dxDateBox: prepareDateBox,\r\n dxCheckBox: prepareCheckBox,\r\n dxNumberBox: prepareNumberBox,\r\n dxTextBox: prepareTextBox\r\n };\r\n if (options.lookup) {\r\n prepareLookupEditor(options)\r\n } else if (options.editorType) {\r\n var _prepareDefaultEditor;\r\n (null !== (_prepareDefaultEditor = prepareDefaultEditor[options.editorType]) && void 0 !== _prepareDefaultEditor ? _prepareDefaultEditor : prepareCustomEditor)(options)\r\n } else {\r\n switch (options.dataType) {\r\n case \"date\":\r\n case \"datetime\":\r\n prepareDateBox(options);\r\n break;\r\n case \"boolean\":\r\n prepareBooleanEditor(options);\r\n break;\r\n case \"number\":\r\n prepareNumberBox(options);\r\n break;\r\n default:\r\n prepareTextBox(options)\r\n }\r\n }\r\n};\r\nvar EditorFactoryMixin = Base => class extends Base {\r\n createEditor($container, options) {\r\n options.cancel = false;\r\n options.editorElement = getPublicElement($container);\r\n if (!isDefined(options.tabIndex)) {\r\n options.tabIndex = this.option(\"tabIndex\")\r\n }\r\n prepareEditor(options);\r\n this.executeAction(\"onEditorPreparing\", options);\r\n if (options.cancel) {\r\n return\r\n }\r\n if (\"dataRow\" === options.parentType && !options.isOnForm && !isDefined(options.editorOptions.showValidationMark)) {\r\n options.editorOptions.showValidationMark = false\r\n }\r\n createEditorCore(this, options);\r\n this.executeAction(\"onEditorPrepared\", options)\r\n }\r\n};\r\nexport default EditorFactoryMixin;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editor_factory/m_editor_factory.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport positionUtils from \"../../../../animation/position\";\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getOuterHeight,\r\n getOuterWidth,\r\n setOuterHeight,\r\n setOuterWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../../../events/utils/index\";\r\nimport EditorFactoryMixin from \"../../../../ui/shared/ui.editor_factory_mixin\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar EDITOR_INLINE_BLOCK = \"dx-editor-inline-block\";\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar FOCUS_OVERLAY_CLASS = \"focus-overlay\";\r\nvar CONTENT_CLASS = \"content\";\r\nvar FOCUSED_ELEMENT_CLASS = \"dx-focused\";\r\nvar ROW_CLASS = \"dx-row\";\r\nvar MODULE_NAMESPACE = \"dxDataGridEditorFactory\";\r\nvar UPDATE_FOCUS_EVENTS = addNamespace([pointerEvents.down, \"focusin\", clickEventName].join(\" \"), MODULE_NAMESPACE);\r\nvar DX_HIDDEN = \"dx-hidden\";\r\nvar ViewControllerWithMixin = EditorFactoryMixin(modules.ViewController);\r\nexport class EditorFactory extends ViewControllerWithMixin {\r\n init() {\r\n this.createAction(\"onEditorPreparing\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n });\r\n this.createAction(\"onEditorPrepared\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n });\r\n this._columnsResizerController = this.getController(\"columnsResizer\");\r\n this._editingController = this.getController(\"editing\");\r\n this._keyboardNavigationController = this.getController(\"keyboardNavigation\");\r\n this._columnsController = this.getController(\"columns\");\r\n this._validatingController = this.getController(\"validating\");\r\n this._rowsView = this.getView(\"rowsView\");\r\n this._updateFocusHandler = this._updateFocusHandler || this.createAction(this._updateFocus.bind(this));\r\n this._subscribedContainerRoot = this._getContainerRoot();\r\n eventsEngine.on(this._subscribedContainerRoot, UPDATE_FOCUS_EVENTS, this._updateFocusHandler);\r\n this._attachContainerEventHandlers()\r\n }\r\n dispose() {\r\n clearTimeout(this._focusTimeoutID);\r\n clearTimeout(this._updateFocusTimeoutID);\r\n eventsEngine.off(this._subscribedContainerRoot, UPDATE_FOCUS_EVENTS, this._updateFocusHandler)\r\n }\r\n _getFocusedElement($dataGridElement) {\r\n var rowSelector = this.option(\"focusedRowEnabled\") ? \"tr[tabindex]:focus\" : \"tr[tabindex]:not(.dx-data-row):focus\";\r\n var focusedElementSelector = [\"td[tabindex]:focus\", \"\".concat(rowSelector), \"input:focus\", \"button:focus\", \"textarea:focus\", \"div[tabindex]:focus\", \".dx-lookup-field:focus\", \".dx-checkbox:focus\", \".dx-switch:focus\", \".dx-dropdownbutton .dx-buttongroup:focus\", \".dx-adaptive-item-text:focus\"].join(\",\");\r\n var $focusedElement = $dataGridElement.find(focusedElementSelector);\r\n return this.elementIsInsideGrid($focusedElement) && $focusedElement\r\n }\r\n _getFocusCellSelector() {\r\n return \".dx-row > td\"\r\n }\r\n _updateFocusCore() {\r\n var $dataGridElement = this.component && this.component.$element();\r\n if ($dataGridElement) {\r\n var $focus = this._getFocusedElement($dataGridElement);\r\n if ($focus && $focus.length) {\r\n var isHideBorder;\r\n if (!$focus.hasClass(CELL_FOCUS_DISABLED_CLASS) && !$focus.hasClass(ROW_CLASS)) {\r\n var $focusCell = $focus.closest(\"\".concat(this._getFocusCellSelector(), \", .\").concat(CELL_FOCUS_DISABLED_CLASS));\r\n if ($focusCell.get(0) !== $focus.get(0)) {\r\n isHideBorder = this._needHideBorder($focusCell);\r\n $focus = $focusCell\r\n }\r\n }\r\n if ($focus.length && !$focus.hasClass(CELL_FOCUS_DISABLED_CLASS)) {\r\n this.focus($focus, isHideBorder);\r\n return\r\n }\r\n }\r\n }\r\n this.loseFocus()\r\n }\r\n _needHideBorder($element) {\r\n var rowsViewElement = this._rowsView.element();\r\n var isRowsView = $element.closest(rowsViewElement).length > 0;\r\n var isEditing = this._editingController.isEditing();\r\n return $element.hasClass(EDITOR_INLINE_BLOCK) || isRowsView && !isEditing\r\n }\r\n _updateFocus(e) {\r\n var that = this;\r\n var isFocusOverlay = e && e.event && $(e.event.target).hasClass(that.addWidgetPrefix(FOCUS_OVERLAY_CLASS));\r\n that._isFocusOverlay = that._isFocusOverlay || isFocusOverlay;\r\n clearTimeout(that._updateFocusTimeoutID);\r\n that._updateFocusTimeoutID = setTimeout(() => {\r\n delete that._updateFocusTimeoutID;\r\n if (!that._isFocusOverlay) {\r\n that._updateFocusCore()\r\n }\r\n that._isFocusOverlay = false\r\n })\r\n }\r\n _updateFocusOverlaySize($element, position) {\r\n $element.hide();\r\n var location = positionUtils.calculate($element, extend({\r\n collision: \"fit\"\r\n }, position));\r\n if (location.h.oversize > 0) {\r\n setOuterWidth($element, getOuterWidth($element) - location.h.oversize)\r\n }\r\n if (location.v.oversize > 0) {\r\n setOuterHeight($element, getOuterHeight($element) - location.v.oversize)\r\n }\r\n $element.show()\r\n }\r\n callbackNames() {\r\n return [\"focused\"]\r\n }\r\n focus($element, isHideBorder) {\r\n var that = this;\r\n if (void 0 === $element) {\r\n return that._$focusedElement\r\n }\r\n if ($element) {\r\n if (!$element.is(that._$focusedElement)) {\r\n that._$focusedElement && that._$focusedElement.removeClass(FOCUSED_ELEMENT_CLASS)\r\n }\r\n that._$focusedElement = $element;\r\n clearTimeout(that._focusTimeoutID);\r\n that._focusTimeoutID = setTimeout(() => {\r\n delete that._focusTimeoutID;\r\n that.renderFocusOverlay($element, isHideBorder);\r\n $element.addClass(FOCUSED_ELEMENT_CLASS);\r\n that.focused.fire($element)\r\n })\r\n }\r\n }\r\n refocus() {\r\n var $focus = this.focus();\r\n this.focus($focus)\r\n }\r\n renderFocusOverlay($element, isHideBorder) {\r\n if (!gridCoreUtils.isElementInCurrentGrid(this, $element)) {\r\n return\r\n }\r\n if (!this._$focusOverlay) {\r\n this._$focusOverlay = $(\"<div>\").addClass(this.addWidgetPrefix(FOCUS_OVERLAY_CLASS))\r\n }\r\n if (isHideBorder) {\r\n this._$focusOverlay.addClass(DX_HIDDEN)\r\n } else if ($element.length) {\r\n var align = browser.mozilla ? \"right bottom\" : \"left top\";\r\n var $content = $element.closest(\".\".concat(this.addWidgetPrefix(CONTENT_CLASS)));\r\n var elemCoord = getBoundingRect($element.get(0));\r\n this._$focusOverlay.removeClass(DX_HIDDEN).appendTo($content);\r\n setOuterHeight(this._$focusOverlay, elemCoord.bottom - elemCoord.top + 1);\r\n setOuterWidth(this._$focusOverlay, elemCoord.right - elemCoord.left + 1);\r\n var focusOverlayPosition = {\r\n precise: true,\r\n my: align,\r\n at: align,\r\n of: $element,\r\n boundary: $content.length && $content\r\n };\r\n this._updateFocusOverlaySize(this._$focusOverlay, focusOverlayPosition);\r\n positionUtils.setup(this._$focusOverlay, focusOverlayPosition);\r\n this._$focusOverlay.css(\"visibility\", \"visible\")\r\n }\r\n }\r\n resize() {\r\n var $focusedElement = this._$focusedElement;\r\n if ($focusedElement) {\r\n this.focus($focusedElement)\r\n }\r\n }\r\n loseFocus(skipValidator) {\r\n this._$focusedElement && this._$focusedElement.removeClass(FOCUSED_ELEMENT_CLASS);\r\n this._$focusedElement = null;\r\n this._$focusOverlay && this._$focusOverlay.addClass(DX_HIDDEN)\r\n }\r\n _getContainerRoot() {\r\n var _a;\r\n var $container = null === (_a = this.component) || void 0 === _a ? void 0 : _a.$element();\r\n var root = domAdapter.getRootNode(null === $container || void 0 === $container ? void 0 : $container.get(0));\r\n if (root.nodeType === Node.DOCUMENT_FRAGMENT_NODE && !root.host) {\r\n return domAdapter.getDocument()\r\n }\r\n return root\r\n }\r\n _attachContainerEventHandlers() {\r\n var that = this;\r\n var $container = that.component && that.component.$element();\r\n if ($container) {\r\n eventsEngine.on($container, addNamespace(\"keydown\", MODULE_NAMESPACE), e => {\r\n if (\"tab\" === normalizeKeyName(e)) {\r\n that._updateFocusHandler(e)\r\n }\r\n })\r\n }\r\n }\r\n}\r\nexport var editorFactoryModule = {\r\n defaultOptions: () => ({}),\r\n controllers: {\r\n editorFactory: EditorFactory\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/editor_factory.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editorFactoryModule\r\n} from \"../../../grids/grid_core/editor_factory/m_editor_factory\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"editorFactory\", editorFactoryModule);\r\n","/**\r\n * DevExtreme (esm/ui/dialog.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport Action from \"../core/action\";\r\nimport devices from \"../core/devices\";\r\nimport config from \"../core/config\";\r\nimport Guid from \"../core/guid\";\r\nimport {\r\n resetActiveElement\r\n} from \"../core/utils/dom\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n value as getViewport\r\n} from \"../core/utils/view_port\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport errors from \"./widget/ui.errors\";\r\nimport Popup from \"./popup/ui.popup\";\r\nimport {\r\n ensureDefined\r\n} from \"../core/utils/common\";\r\nvar window = getWindow();\r\nvar DEFAULT_BUTTON = {\r\n text: \"OK\",\r\n onClick: function() {\r\n return true\r\n }\r\n};\r\nvar DX_DIALOG_CLASSNAME = \"dx-dialog\";\r\nvar DX_DIALOG_WRAPPER_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-wrapper\");\r\nvar DX_DIALOG_ROOT_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-root\");\r\nvar DX_DIALOG_CONTENT_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-content\");\r\nvar DX_DIALOG_MESSAGE_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-message\");\r\nvar DX_DIALOG_BUTTONS_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-buttons\");\r\nvar DX_DIALOG_BUTTON_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-button\");\r\nvar DX_BUTTON_CLASSNAME = \"dx-button\";\r\nexport var custom = function(options) {\r\n var _options$title;\r\n var deferred = new Deferred;\r\n options = options || {};\r\n var $element = $(\"<div>\").addClass(DX_DIALOG_CLASSNAME).appendTo(getViewport());\r\n var isMessageDefined = \"message\" in options;\r\n var isMessageHtmlDefined = \"messageHtml\" in options;\r\n if (isMessageDefined) {\r\n errors.log(\"W1013\")\r\n }\r\n var messageHtml = String(isMessageHtmlDefined ? options.messageHtml : options.message);\r\n var messageId = options.title ? null : new Guid;\r\n var $message = $(\"<div>\").addClass(DX_DIALOG_MESSAGE_CLASSNAME).html(messageHtml).attr(\"id\", messageId);\r\n var popupToolbarItems = [];\r\n each(options.buttons || [DEFAULT_BUTTON], (function() {\r\n var action = new Action(this.onClick, {\r\n context: popupInstance\r\n });\r\n popupToolbarItems.push({\r\n toolbar: \"bottom\",\r\n location: devices.current().android ? \"after\" : \"center\",\r\n widget: \"dxButton\",\r\n options: extend({}, this, {\r\n onClick: function() {\r\n var result = action.execute(...arguments);\r\n hide(result)\r\n }\r\n })\r\n })\r\n }));\r\n var popupInstance = new Popup($element, extend({\r\n title: null !== (_options$title = options.title) && void 0 !== _options$title ? _options$title : \"\",\r\n showTitle: ensureDefined(options.showTitle, true),\r\n dragEnabled: ensureDefined(options.dragEnabled, true),\r\n height: \"auto\",\r\n width: options.width,\r\n showCloseButton: options.showCloseButton || false,\r\n ignoreChildEvents: false,\r\n container: $element,\r\n visualContainer: window,\r\n dragAndResizeArea: window,\r\n onContentReady: function(args) {\r\n args.component.$content().addClass(DX_DIALOG_CONTENT_CLASSNAME).append($message);\r\n if (messageId) {\r\n args.component.$overlayContent().attr(\"aria-labelledby\", messageId)\r\n }\r\n },\r\n onShowing: function(e) {\r\n e.component.bottomToolbar().addClass(DX_DIALOG_BUTTONS_CLASSNAME).find(\".\".concat(DX_BUTTON_CLASSNAME)).addClass(DX_DIALOG_BUTTON_CLASSNAME);\r\n resetActiveElement()\r\n },\r\n onShown: function(e) {\r\n var $firstButton = e.component.bottomToolbar().find(\".\".concat(DX_BUTTON_CLASSNAME)).first();\r\n eventsEngine.trigger($firstButton, \"focus\")\r\n },\r\n onHiding: function() {\r\n deferred.reject()\r\n },\r\n onHidden: function(_ref) {\r\n var {\r\n element: element\r\n } = _ref;\r\n $(element).remove()\r\n },\r\n toolbarItems: popupToolbarItems,\r\n animation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 400\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 400,\r\n to: {\r\n opacity: 0,\r\n scale: 0\r\n },\r\n from: {\r\n opacity: 1,\r\n scale: 1\r\n }\r\n }\r\n },\r\n rtlEnabled: config().rtlEnabled,\r\n position: {\r\n boundaryOffset: {\r\n h: 10,\r\n v: 0\r\n }\r\n }\r\n }, options.popupOptions));\r\n popupInstance.$wrapper().addClass(DX_DIALOG_WRAPPER_CLASSNAME);\r\n if (options.position) {\r\n popupInstance.option(\"position\", options.position)\r\n }\r\n popupInstance.$wrapper().addClass(DX_DIALOG_ROOT_CLASSNAME);\r\n\r\n function hide(value) {\r\n deferred.resolve(value);\r\n popupInstance.hide()\r\n }\r\n return {\r\n show: function() {\r\n if (\"phone\" === devices.real().deviceType) {\r\n var isPortrait = getHeight(window) > getWidth(window);\r\n var width = isPortrait ? \"90%\" : \"60%\";\r\n popupInstance.option({\r\n width: width\r\n })\r\n }\r\n popupInstance.show();\r\n return deferred.promise()\r\n },\r\n hide: hide\r\n }\r\n};\r\nexport var alert = function(messageHtml) {\r\n var title = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : \"\";\r\n var showTitle = arguments.length > 2 ? arguments[2] : void 0;\r\n var options = isPlainObject(messageHtml) ? messageHtml : {\r\n title: title,\r\n messageHtml: messageHtml,\r\n showTitle: showTitle,\r\n dragEnabled: showTitle\r\n };\r\n return custom(options).show()\r\n};\r\nexport var confirm = function(messageHtml) {\r\n var title = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : \"\";\r\n var showTitle = arguments.length > 2 ? arguments[2] : void 0;\r\n var options = isPlainObject(messageHtml) ? messageHtml : {\r\n title: title,\r\n messageHtml: messageHtml,\r\n showTitle: showTitle,\r\n buttons: [{\r\n text: messageLocalization.format(\"Yes\"),\r\n onClick: function() {\r\n return true\r\n }\r\n }, {\r\n text: messageLocalization.format(\"No\"),\r\n onClick: function() {\r\n return false\r\n }\r\n }],\r\n dragEnabled: showTitle\r\n };\r\n return custom(options).show()\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/const.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Scrollable from \"../../../../ui/scroll_view/ui.scrollable\";\r\nexport var EDITOR_CELL_CLASS = \"dx-editor-cell\";\r\nexport var ROW_CLASS = \"dx-row\";\r\nexport var CELL_MODIFIED_CLASS = \"dx-cell-modified\";\r\nexport var ROW_SELECTED_CLASS = \"dx-selection\";\r\nexport var EDIT_FORM_CLASS = \"edit-form\";\r\nexport var DATA_EDIT_DATA_INSERT_TYPE = \"insert\";\r\nexport var DATA_EDIT_DATA_REMOVE_TYPE = \"remove\";\r\nexport var EDITING_POPUP_OPTION_NAME = \"editing.popup\";\r\nexport var EDITING_FORM_OPTION_NAME = \"editing.form\";\r\nexport var EDITING_EDITROWKEY_OPTION_NAME = \"editing.editRowKey\";\r\nexport var EDITING_EDITCOLUMNNAME_OPTION_NAME = \"editing.editColumnName\";\r\nexport var TARGET_COMPONENT_NAME = \"targetComponent\";\r\nexport var EDITORS_INPUT_SELECTOR = \"input:not([type='hidden'])\";\r\nexport var FOCUSABLE_ELEMENT_SELECTOR = \"[tabindex]:not([disabled]), \".concat(EDITORS_INPUT_SELECTOR, \":not([disabled])\");\r\nexport var EDIT_MODE_BATCH = \"batch\";\r\nexport var EDIT_MODE_ROW = \"row\";\r\nexport var EDIT_MODE_CELL = \"cell\";\r\nexport var EDIT_MODE_FORM = \"form\";\r\nexport var EDIT_MODE_POPUP = \"popup\";\r\nexport var FIRST_NEW_ROW_POSITION = \"first\";\r\nexport var LAST_NEW_ROW_POSITION = \"last\";\r\nexport var PAGE_BOTTOM_NEW_ROW_POSITION = \"pageBottom\";\r\nexport var PAGE_TOP_NEW_ROW_POSITION = \"pageTop\";\r\nexport var VIEWPORT_BOTTOM_NEW_ROW_POSITION = \"viewportBottom\";\r\nexport var VIEWPORT_TOP_NEW_ROW_POSITION = \"viewportTop\";\r\nexport var EDIT_MODES = [EDIT_MODE_BATCH, EDIT_MODE_ROW, EDIT_MODE_CELL, EDIT_MODE_FORM, EDIT_MODE_POPUP];\r\nexport var ROW_BASED_MODES = [EDIT_MODE_ROW, EDIT_MODE_FORM, EDIT_MODE_POPUP];\r\nexport var REQUIRED_EDITOR_LABELLEDBY_MODES = [EDIT_MODE_BATCH, EDIT_MODE_ROW, EDIT_MODE_CELL];\r\nexport var MODES_WITH_DELAYED_FOCUS = [EDIT_MODE_ROW, EDIT_MODE_FORM];\r\nexport var READONLY_CLASS = \"readonly\";\r\nexport var LINK_CLASS = \"dx-link\";\r\nexport var LINK_ICON_CLASS = \"dx-link-icon\";\r\nexport var ROW_SELECTED = \"dx-selection\";\r\nexport var EDIT_BUTTON_CLASS = \"dx-edit-button\";\r\nexport var COMMAND_EDIT_CLASS = \"dx-command-edit\";\r\nexport var COMMAND_EDIT_WITH_ICONS_CLASS = \"\".concat(COMMAND_EDIT_CLASS, \"-with-icons\");\r\nexport var INSERT_INDEX = \"__DX_INSERT_INDEX__\";\r\nexport var ROW_INSERTED = \"dx-row-inserted\";\r\nexport var ROW_MODIFIED = \"dx-row-modified\";\r\nexport var CELL_MODIFIED = \"dx-cell-modified\";\r\nexport var EDITING_NAMESPACE = \"dxDataGridEditing\";\r\nexport var CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nexport var DATA_EDIT_DATA_UPDATE_TYPE = \"update\";\r\nexport var DEFAULT_START_EDIT_ACTION = \"click\";\r\nexport var EDIT_LINK_CLASS = {\r\n save: \"dx-link-save\",\r\n cancel: \"dx-link-cancel\",\r\n edit: \"dx-link-edit\",\r\n undelete: \"dx-link-undelete\",\r\n delete: \"dx-link-delete\",\r\n add: \"dx-link-add\"\r\n};\r\nexport var EDIT_ICON_CLASS = {\r\n save: \"save\",\r\n cancel: \"revert\",\r\n edit: \"edit\",\r\n undelete: \"revert\",\r\n delete: \"trash\",\r\n add: \"add\"\r\n};\r\nexport var METHOD_NAMES = {\r\n edit: \"editRow\",\r\n delete: \"deleteRow\",\r\n undelete: \"undeleteRow\",\r\n save: \"saveEditData\",\r\n cancel: \"cancelEditData\",\r\n add: \"addRowByRowIndex\"\r\n};\r\nexport var ACTION_OPTION_NAMES = {\r\n add: \"allowAdding\",\r\n edit: \"allowUpdating\",\r\n delete: \"allowDeleting\"\r\n};\r\nexport var BUTTON_NAMES = [\"edit\", \"save\", \"cancel\", \"delete\", \"undelete\"];\r\nexport var EDITING_CHANGES_OPTION_NAME = \"editing.changes\";\r\nexport var FOCUS_OVERLAY_CLASS = \"focus-overlay\";\r\nexport var ADD_ROW_BUTTON_CLASS = \"addrow-button\";\r\nexport var DROPDOWN_EDITOR_OVERLAY_CLASS = \"dx-dropdowneditor-overlay\";\r\nexport var DATA_ROW_CLASS = \"dx-data-row\";\r\nexport var ROW_REMOVED = \"dx-row-removed\";\r\nvar isRenovatedScrollable = !!Scrollable.IS_RENOVATED_WIDGET;\r\nexport var EDIT_FORM_ITEM_CLASS = \"edit-form-item\";\r\nexport var EDIT_POPUP_CLASS = \"edit-popup\";\r\nexport var EDIT_POPUP_FORM_CLASS = \"edit-popup-form\";\r\nexport var FOCUSABLE_ELEMENT_CLASS = isRenovatedScrollable ? \"dx-scrollable\" : \"dx-scrollable-container\";\r\nexport var BUTTON_CLASS = \"dx-button\";\r\nexport var FORM_BUTTONS_CONTAINER_CLASS = \"form-buttons-container\";\r\nexport var EDIT_ROW = \"dx-edit-row\";\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/m_editing_utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Guid from \"../../../../core/guid\";\r\nimport {\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nvar NEW_ROW_TEMP_KEY_PREFIX = \"_DX_KEY_\";\r\nvar GUID_LENGTH = 36;\r\nexport var createFailureHandler = function(deferred) {\r\n return function(arg) {\r\n var error = arg instanceof Error ? arg : new Error(arg && String(arg) || \"Unknown error\");\r\n deferred.reject(error)\r\n }\r\n};\r\nexport var isEditingCell = function(isEditRow, cellOptions) {\r\n return cellOptions.isEditing || isEditRow && cellOptions.column.allowEditing\r\n};\r\nexport var isEditingOrShowEditorAlwaysDataCell = function(isEditRow, cellOptions) {\r\n var isCommandCell = !!cellOptions.column.command;\r\n var isEditing = isEditingCell(isEditRow, cellOptions);\r\n var isEditorCell = !isCommandCell && (isEditing || cellOptions.column.showEditorAlways);\r\n return \"data\" === cellOptions.rowType && isEditorCell\r\n};\r\nexport var getEditingTexts = options => {\r\n var editingTexts = options.component.option(\"editing.texts\") || {};\r\n return {\r\n save: editingTexts.saveRowChanges,\r\n cancel: editingTexts.cancelRowChanges,\r\n edit: editingTexts.editRow,\r\n undelete: editingTexts.undeleteRow,\r\n delete: editingTexts.deleteRow,\r\n add: editingTexts.addRowToNode\r\n }\r\n};\r\nexport var generateNewRowTempKey = () => \"\".concat(NEW_ROW_TEMP_KEY_PREFIX).concat(new Guid);\r\nexport var isNewRowTempKey = key => \"string\" === typeof key && key.startsWith(NEW_ROW_TEMP_KEY_PREFIX) && key.length === NEW_ROW_TEMP_KEY_PREFIX.length + GUID_LENGTH;\r\nexport var getButtonIndex = (buttons, name) => {\r\n var result = -1;\r\n buttons.some((button, index) => {\r\n if (getButtonName(button) === name) {\r\n result = index;\r\n return true\r\n }\r\n });\r\n return result\r\n};\r\nexport function getButtonName(button) {\r\n return isObject(button) ? button.name : button\r\n}\r\nexport function isEditable($element) {\r\n return $element && ($element.is(\"input\") || $element.is(\"textarea\"))\r\n}\r\nexport var getEditorType = item => {\r\n var _a;\r\n var {\r\n column: column\r\n } = item;\r\n return item.isCustomEditorType ? item.editorType : null === (_a = column.formItem) || void 0 === _a ? void 0 : _a.editorType\r\n};\r\nexport var forEachFormItems = (items, callBack) => {\r\n items.forEach(item => {\r\n if (item.items || item.tabs) {\r\n forEachFormItems(item.items || item.tabs, callBack)\r\n } else {\r\n callBack(item)\r\n }\r\n })\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/m_editing.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport devices from \"../../../../core/devices\";\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport Guid from \"../../../../core/guid\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n fromPromise,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n resetActiveElement\r\n} from \"../../../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport * as iconUtils from \"../../../../core/utils/icon\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"../../../../core/utils/object\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isFunction,\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n createObjectWithChanges\r\n} from \"../../../../data/array_utils\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n removeEvent\r\n} from \"../../../../events/remove\";\r\nimport {\r\n addNamespace\r\n} from \"../../../../events/utils/index\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n confirm\r\n} from \"../../../../ui/dialog\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n ACTION_OPTION_NAMES,\r\n BUTTON_NAMES,\r\n CELL_FOCUS_DISABLED_CLASS,\r\n CELL_MODIFIED,\r\n COMMAND_EDIT_CLASS,\r\n COMMAND_EDIT_WITH_ICONS_CLASS,\r\n DATA_EDIT_DATA_INSERT_TYPE,\r\n DATA_EDIT_DATA_REMOVE_TYPE,\r\n DATA_EDIT_DATA_UPDATE_TYPE,\r\n DEFAULT_START_EDIT_ACTION,\r\n EDIT_BUTTON_CLASS,\r\n EDIT_FORM_CLASS,\r\n EDIT_ICON_CLASS,\r\n EDIT_LINK_CLASS,\r\n EDIT_MODE_POPUP,\r\n EDIT_MODE_ROW,\r\n EDIT_MODES,\r\n EDITING_CHANGES_OPTION_NAME,\r\n EDITING_EDITCOLUMNNAME_OPTION_NAME,\r\n EDITING_EDITROWKEY_OPTION_NAME,\r\n EDITING_NAMESPACE,\r\n EDITING_POPUP_OPTION_NAME,\r\n EDITOR_CELL_CLASS,\r\n EDITORS_INPUT_SELECTOR,\r\n FIRST_NEW_ROW_POSITION,\r\n FOCUSABLE_ELEMENT_SELECTOR,\r\n INSERT_INDEX,\r\n LAST_NEW_ROW_POSITION,\r\n LINK_CLASS,\r\n LINK_ICON_CLASS,\r\n METHOD_NAMES,\r\n PAGE_BOTTOM_NEW_ROW_POSITION,\r\n PAGE_TOP_NEW_ROW_POSITION,\r\n READONLY_CLASS,\r\n REQUIRED_EDITOR_LABELLEDBY_MODES,\r\n ROW_BASED_MODES,\r\n ROW_CLASS,\r\n ROW_INSERTED,\r\n ROW_MODIFIED,\r\n ROW_SELECTED,\r\n TARGET_COMPONENT_NAME,\r\n VIEWPORT_BOTTOM_NEW_ROW_POSITION,\r\n VIEWPORT_TOP_NEW_ROW_POSITION\r\n} from \"./const\";\r\nimport {\r\n createFailureHandler,\r\n generateNewRowTempKey,\r\n getButtonIndex,\r\n getButtonName,\r\n getEditingTexts,\r\n isEditingCell,\r\n isEditingOrShowEditorAlwaysDataCell\r\n} from \"./m_editing_utils\";\r\nclass EditingControllerImpl extends modules.ViewController {\r\n init() {\r\n this._columnsController = this.getController(\"columns\");\r\n this._dataController = this.getController(\"data\");\r\n this._adaptiveColumnsController = this.getController(\"adaptiveColumns\");\r\n this._validatingController = this.getController(\"validating\");\r\n this._editorFactoryController = this.getController(\"editorFactory\");\r\n this._focusController = this.getController(\"focus\");\r\n this._keyboardNavigationController = this.getController(\"keyboardNavigation\");\r\n this._columnsResizerController = this.getController(\"columnsResizer\");\r\n this._errorHandlingController = this.getController(\"errorHandling\");\r\n this._rowsView = this.getView(\"rowsView\");\r\n this._headerPanelView = this.getView(\"headerPanel\");\r\n this._lastOperation = null;\r\n this._changes = [];\r\n if (this._deferreds) {\r\n this._deferreds.forEach(d => {\r\n d.reject(\"cancel\")\r\n })\r\n }\r\n this._deferreds = [];\r\n if (!this._dataChangedHandler) {\r\n this._dataChangedHandler = this._handleDataChanged.bind(this);\r\n this._dataController.changed.add(this._dataChangedHandler)\r\n }\r\n if (!this._saveEditorHandler) {\r\n this.createAction(\"onInitNewRow\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowInserting\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowInserted\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onEditingStart\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowUpdating\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowUpdated\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowRemoving\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowRemoved\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onSaved\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onSaving\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onEditCanceling\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onEditCanceled\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }\r\n this._updateEditColumn();\r\n this._updateEditButtons();\r\n if (!this._internalState) {\r\n this._internalState = []\r\n }\r\n this.component._optionsByReference[EDITING_EDITROWKEY_OPTION_NAME] = true;\r\n this.component._optionsByReference[EDITING_CHANGES_OPTION_NAME] = true\r\n }\r\n getEditMode() {\r\n var editMode = this.option(\"editing.mode\");\r\n if (EDIT_MODES.includes(editMode)) {\r\n return editMode\r\n }\r\n return EDIT_MODE_ROW\r\n }\r\n _getDefaultEditorTemplate() {\r\n return (container, options) => {\r\n var $editor = $(\"<div>\").appendTo(container);\r\n var editorOptions = extend({}, options.column, {\r\n value: options.value,\r\n setValue: options.setValue,\r\n row: options.row,\r\n parentType: \"dataRow\",\r\n width: null,\r\n readOnly: !options.setValue,\r\n isOnForm: options.isOnForm,\r\n id: options.id\r\n });\r\n var needLabel = REQUIRED_EDITOR_LABELLEDBY_MODES.includes(this.getEditMode());\r\n if (needLabel) {\r\n editorOptions[\"aria-labelledby\"] = options.column.headerId\r\n }\r\n this._editorFactoryController.createEditor($editor, editorOptions)\r\n }\r\n }\r\n _getNewRowPosition() {\r\n var newRowPosition = this.option(\"editing.newRowPosition\");\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n if (\"virtual\" === scrollingMode) {\r\n switch (newRowPosition) {\r\n case PAGE_TOP_NEW_ROW_POSITION:\r\n return VIEWPORT_TOP_NEW_ROW_POSITION;\r\n case PAGE_BOTTOM_NEW_ROW_POSITION:\r\n return VIEWPORT_BOTTOM_NEW_ROW_POSITION;\r\n default:\r\n return newRowPosition\r\n }\r\n }\r\n return newRowPosition\r\n }\r\n getChanges() {\r\n return this.option(EDITING_CHANGES_OPTION_NAME)\r\n }\r\n getInsertRowCount() {\r\n var changes = this.option(EDITING_CHANGES_OPTION_NAME);\r\n return changes.filter(change => \"insert\" === change.type).length\r\n }\r\n resetChanges() {\r\n var changes = this.getChanges();\r\n var needReset = null === changes || void 0 === changes ? void 0 : changes.length;\r\n if (needReset) {\r\n this._silentOption(EDITING_CHANGES_OPTION_NAME, [])\r\n }\r\n }\r\n _getInternalData(key) {\r\n return this._internalState.filter(item => equalByValue(item.key, key))[0]\r\n }\r\n _addInternalData(params) {\r\n var internalData = this._getInternalData(params.key);\r\n if (internalData) {\r\n return extend(internalData, params)\r\n }\r\n this._internalState.push(params);\r\n return params\r\n }\r\n _getOldData(key) {\r\n var _a;\r\n return null === (_a = this._getInternalData(key)) || void 0 === _a ? void 0 : _a.oldData\r\n }\r\n getUpdatedData(data) {\r\n var key = this._dataController.keyOf(data);\r\n var changes = this.getChanges();\r\n var editIndex = gridCoreUtils.getIndexByKey(key, changes);\r\n if (changes[editIndex]) {\r\n return createObjectWithChanges(data, changes[editIndex].data)\r\n }\r\n return data\r\n }\r\n getInsertedData() {\r\n return this.getChanges().filter(change => change.data && change.type === DATA_EDIT_DATA_INSERT_TYPE).map(change => change.data)\r\n }\r\n getRemovedData() {\r\n return this.getChanges().filter(change => this._getOldData(change.key) && change.type === DATA_EDIT_DATA_REMOVE_TYPE).map(change => this._getOldData(change.key))\r\n }\r\n _fireDataErrorOccurred(arg) {\r\n if (\"cancel\" === arg) {\r\n return\r\n }\r\n var $popupContent = this.getPopupContent();\r\n this._dataController.dataErrorOccurred.fire(arg, $popupContent)\r\n }\r\n _needToCloseEditableCell($targetElement) {}\r\n _closeEditItem($targetElement) {}\r\n _handleDataChanged(args) {}\r\n _isDefaultButtonVisible(button, options) {\r\n var result = true;\r\n switch (button.name) {\r\n case \"delete\":\r\n result = this.allowDeleting(options);\r\n break;\r\n case \"undelete\":\r\n result = false\r\n }\r\n return result\r\n }\r\n isPopupEditMode() {\r\n var editMode = this.option(\"editing.mode\");\r\n return editMode === EDIT_MODE_POPUP\r\n }\r\n _isButtonVisible(button, options) {\r\n var {\r\n visible: visible\r\n } = button;\r\n if (!isDefined(visible)) {\r\n return this._isDefaultButtonVisible(button, options)\r\n }\r\n return isFunction(visible) ? visible.call(button, {\r\n component: options.component,\r\n row: options.row,\r\n column: options.column\r\n }) : visible\r\n }\r\n _isButtonDisabled(button, options) {\r\n var {\r\n disabled: disabled\r\n } = button;\r\n return isFunction(disabled) ? disabled.call(button, {\r\n component: options.component,\r\n row: options.row,\r\n column: options.column\r\n }) : !!disabled\r\n }\r\n _getButtonConfig(button, options) {\r\n var config = isObject(button) ? button : {};\r\n var buttonName = getButtonName(button);\r\n var editingTexts = getEditingTexts(options);\r\n var methodName = METHOD_NAMES[buttonName];\r\n var editingOptions = this.option(\"editing\");\r\n var actionName = ACTION_OPTION_NAMES[buttonName];\r\n var allowAction = actionName ? editingOptions[actionName] : true;\r\n return extend({\r\n name: buttonName,\r\n text: editingTexts[buttonName],\r\n cssClass: EDIT_LINK_CLASS[buttonName]\r\n }, {\r\n onClick: methodName && (e => {\r\n var {\r\n event: event\r\n } = e;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n setTimeout(() => {\r\n options.row && allowAction && this[methodName] && this[methodName](options.row.rowIndex)\r\n })\r\n })\r\n }, config)\r\n }\r\n _getEditingButtons(options) {\r\n var buttonIndex;\r\n var haveCustomButtons = !!options.column.buttons;\r\n var buttons = (options.column.buttons || []).slice();\r\n if (haveCustomButtons) {\r\n buttonIndex = getButtonIndex(buttons, \"edit\");\r\n if (buttonIndex >= 0) {\r\n if (getButtonIndex(buttons, \"save\") < 0) {\r\n buttons.splice(buttonIndex + 1, 0, \"save\")\r\n }\r\n if (getButtonIndex(buttons, \"cancel\") < 0) {\r\n buttons.splice(getButtonIndex(buttons, \"save\") + 1, 0, \"cancel\")\r\n }\r\n }\r\n buttonIndex = getButtonIndex(buttons, \"delete\");\r\n if (buttonIndex >= 0 && getButtonIndex(buttons, \"undelete\") < 0) {\r\n buttons.splice(buttonIndex + 1, 0, \"undelete\")\r\n }\r\n } else {\r\n buttons = BUTTON_NAMES.slice()\r\n }\r\n return buttons.map(button => this._getButtonConfig(button, options))\r\n }\r\n _renderEditingButtons($container, buttons, options, change) {\r\n buttons.forEach(button => {\r\n if (this._isButtonVisible(button, options)) {\r\n this._createButton($container, button, options, change)\r\n }\r\n })\r\n }\r\n _getEditCommandCellTemplate() {\r\n return (container, options, change) => {\r\n var $container = $(container);\r\n if (\"data\" === options.rowType) {\r\n var buttons = this._getEditingButtons(options);\r\n this._renderEditingButtons($container, buttons, options, change);\r\n if (options.watch) {\r\n var dispose = options.watch(() => buttons.map(button => ({\r\n visible: this._isButtonVisible(button, options),\r\n disabled: this._isButtonDisabled(button, options)\r\n })), () => {\r\n $container.empty();\r\n this._renderEditingButtons($container, buttons, options)\r\n });\r\n eventsEngine.on($container, removeEvent, dispose)\r\n }\r\n } else {\r\n gridCoreUtils.setEmptyText($container)\r\n }\r\n }\r\n }\r\n isRowBasedEditMode() {\r\n var editMode = this.getEditMode();\r\n return ROW_BASED_MODES.includes(editMode)\r\n }\r\n getFirstEditableColumnIndex() {\r\n var columnIndex;\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n each(visibleColumns, (index, column) => {\r\n if (column.allowEditing) {\r\n columnIndex = index;\r\n return false\r\n }\r\n });\r\n return columnIndex\r\n }\r\n getFirstEditableCellInRow(rowIndex) {\r\n var _a;\r\n var columnIndex = this.getFirstEditableColumnIndex();\r\n return null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a._getCellElement(rowIndex || 0, columnIndex)\r\n }\r\n getFocusedCellInRow(rowIndex) {\r\n return this.getFirstEditableCellInRow(rowIndex)\r\n }\r\n getIndexByKey(key, items) {\r\n return gridCoreUtils.getIndexByKey(key, items)\r\n }\r\n hasChanges(rowIndex) {\r\n var changes = this.getChanges();\r\n var result = false;\r\n for (var i = 0; i < (null === changes || void 0 === changes ? void 0 : changes.length); i++) {\r\n if (changes[i].type && (!isDefined(rowIndex) || this._dataController.getRowIndexByKey(changes[i].key) === rowIndex)) {\r\n result = true;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n dispose() {\r\n super.dispose();\r\n clearTimeout(this._inputFocusTimeoutID);\r\n eventsEngine.off(domAdapter.getDocument(), pointerEvents.up, this._pointerUpEditorHandler);\r\n eventsEngine.off(domAdapter.getDocument(), pointerEvents.down, this._pointerDownEditorHandler);\r\n eventsEngine.off(domAdapter.getDocument(), clickEventName, this._saveEditorHandler)\r\n }\r\n _silentOption(name, value) {\r\n if (\"editing.changes\" === name) {\r\n this._changes = deepExtendArraySafe([], value)\r\n }\r\n super._silentOption(name, value)\r\n }\r\n optionChanged(args) {\r\n if (\"editing\" === args.name) {\r\n var {\r\n fullName: fullName\r\n } = args;\r\n if (fullName === EDITING_EDITROWKEY_OPTION_NAME) {\r\n this._handleEditRowKeyChange(args)\r\n } else if (fullName === EDITING_CHANGES_OPTION_NAME) {\r\n var isEqual = equalByValue(args.value, this._changes, {\r\n maxDepth: 4\r\n });\r\n if (!isEqual) {\r\n this._changes = deepExtendArraySafe([], args.value);\r\n this._handleChangesChange(args)\r\n }\r\n } else if (!args.handled) {\r\n this._columnsController.reinit();\r\n this.init();\r\n this.resetChanges();\r\n this._resetEditColumnName();\r\n this._resetEditRowKey()\r\n }\r\n args.handled = true\r\n } else {\r\n super.optionChanged(args)\r\n }\r\n }\r\n _handleEditRowKeyChange(args) {\r\n var rowIndex = this._dataController.getRowIndexByKey(args.value);\r\n var oldRowIndexCorrection = this._getEditRowIndexCorrection();\r\n var oldRowIndex = this._dataController.getRowIndexByKey(args.previousValue) + oldRowIndexCorrection;\r\n if (isDefined(args.value)) {\r\n if (args.value !== args.previousValue) {\r\n this._editRowFromOptionChanged(rowIndex, oldRowIndex)\r\n }\r\n } else {\r\n this.cancelEditData()\r\n }\r\n }\r\n _handleChangesChange(args) {\r\n var dataController = this._dataController;\r\n var changes = args.value;\r\n if (!args.value.length && !args.previousValue.length) {\r\n return\r\n }\r\n changes.forEach(change => {\r\n var _a;\r\n if (\"insert\" === change.type) {\r\n this._addInsertInfo(change)\r\n } else {\r\n var items = dataController.getCachedStoreData() || (null === (_a = dataController.items()) || void 0 === _a ? void 0 : _a.map(item => item.data));\r\n var rowIndex = gridCoreUtils.getIndexByKey(change.key, items, dataController.key());\r\n this._addInternalData({\r\n key: change.key,\r\n oldData: items[rowIndex]\r\n })\r\n }\r\n });\r\n dataController.updateItems({\r\n repaintChangesOnly: true,\r\n isLiveUpdate: false,\r\n isOptionChanged: true\r\n })\r\n }\r\n publicMethods() {\r\n return [\"addRow\", \"deleteRow\", \"undeleteRow\", \"editRow\", \"saveEditData\", \"cancelEditData\", \"hasEditData\"]\r\n }\r\n refresh() {\r\n if (!isDefined(this._pageIndex)) {\r\n return\r\n }\r\n this._refreshCore.apply(this, arguments)\r\n }\r\n _refreshCore(params) {}\r\n isEditing() {\r\n var isEditRowKeyDefined = isDefined(this.option(EDITING_EDITROWKEY_OPTION_NAME));\r\n return isEditRowKeyDefined\r\n }\r\n isEditRow(rowIndex) {\r\n return false\r\n }\r\n _setEditRowKey(value, silent) {\r\n if (silent) {\r\n this._silentOption(EDITING_EDITROWKEY_OPTION_NAME, value)\r\n } else {\r\n this.option(EDITING_EDITROWKEY_OPTION_NAME, value)\r\n }\r\n if (this._refocusEditCell) {\r\n this._refocusEditCell = false;\r\n this._focusEditingCell()\r\n }\r\n }\r\n _setEditRowKeyByIndex(rowIndex, silent) {\r\n var key = this._dataController.getKeyByRowIndex(rowIndex);\r\n if (void 0 === key) {\r\n this._dataController.fireError(\"E1043\");\r\n return\r\n }\r\n this._setEditRowKey(key, silent)\r\n }\r\n getEditRowIndex() {\r\n return this._getVisibleEditRowIndex()\r\n }\r\n getEditFormRowIndex() {\r\n return -1\r\n }\r\n isEditRowByIndex(rowIndex) {\r\n var key = this._dataController.getKeyByRowIndex(rowIndex);\r\n var isKeyEqual = isDefined(key) && equalByValue(this.option(EDITING_EDITROWKEY_OPTION_NAME), key);\r\n if (isKeyEqual) {\r\n return this._getVisibleEditRowIndex() === rowIndex\r\n }\r\n return isKeyEqual\r\n }\r\n isEditCell(visibleRowIndex, columnIndex) {\r\n return this.isEditRowByIndex(visibleRowIndex) && this._getVisibleEditColumnIndex() === columnIndex\r\n }\r\n getPopupContent() {}\r\n _isProcessedItem(item) {\r\n return false\r\n }\r\n _getInsertRowIndex(items, change, isProcessedItems) {\r\n var result = -1;\r\n var dataController = this._dataController;\r\n var key = this._getInsertAfterOrBeforeKey(change);\r\n if (!isDefined(key) && 0 === items.length) {\r\n result = 0\r\n } else if (isDefined(key)) {\r\n items.some((item, index) => {\r\n var isProcessedItem = isProcessedItems || this._isProcessedItem(item);\r\n if (isObject(item)) {\r\n if (isProcessedItem || isDefined(item[INSERT_INDEX])) {\r\n if (equalByValue(item.key, key)) {\r\n result = index\r\n }\r\n } else if (equalByValue(dataController.keyOf(item), key)) {\r\n result = index\r\n }\r\n }\r\n if (result >= 0) {\r\n var nextItem = items[result + 1];\r\n if (nextItem && (\"detail\" === nextItem.rowType || \"detailAdaptive\" === nextItem.rowType) && isDefined(change.insertAfterKey)) {\r\n return\r\n }\r\n if (isDefined(change.insertAfterKey)) {\r\n result += 1\r\n }\r\n return true\r\n }\r\n })\r\n }\r\n return result\r\n }\r\n _generateNewItem(key) {\r\n var _a;\r\n var item = {\r\n key: key\r\n };\r\n var insertInfo = null === (_a = this._getInternalData(key)) || void 0 === _a ? void 0 : _a.insertInfo;\r\n if (null === insertInfo || void 0 === insertInfo ? void 0 : insertInfo[INSERT_INDEX]) {\r\n item[INSERT_INDEX] = insertInfo[INSERT_INDEX]\r\n }\r\n return item\r\n }\r\n _getLoadedRowIndex(items, change, isProcessedItems) {\r\n var loadedRowIndex = this._getInsertRowIndex(items, change, isProcessedItems);\r\n var dataController = this._dataController;\r\n if (loadedRowIndex < 0) {\r\n var newRowPosition = this._getNewRowPosition();\r\n var pageIndex = dataController.pageIndex();\r\n var insertAfterOrBeforeKey = this._getInsertAfterOrBeforeKey(change);\r\n if (newRowPosition !== LAST_NEW_ROW_POSITION && 0 === pageIndex && !isDefined(insertAfterOrBeforeKey)) {\r\n loadedRowIndex = 0\r\n } else if (newRowPosition === LAST_NEW_ROW_POSITION && dataController.isLastPageLoaded()) {\r\n loadedRowIndex = items.length\r\n }\r\n }\r\n return loadedRowIndex\r\n }\r\n processItems(items, e) {\r\n var {\r\n changeType: changeType\r\n } = e;\r\n this.update(changeType);\r\n var changes = this.getChanges();\r\n changes.forEach(change => {\r\n var _a;\r\n var isInsert = change.type === DATA_EDIT_DATA_INSERT_TYPE;\r\n if (!isInsert) {\r\n return\r\n }\r\n var {\r\n key: key\r\n } = change;\r\n var insertInfo = null === (_a = this._getInternalData(key)) || void 0 === _a ? void 0 : _a.insertInfo;\r\n if (!isDefined(key) || !isDefined(insertInfo)) {\r\n insertInfo = this._addInsertInfo(change);\r\n key = insertInfo.key\r\n }\r\n var loadedRowIndex = this._getLoadedRowIndex(items, change);\r\n var item = this._generateNewItem(key);\r\n if (loadedRowIndex >= 0) {\r\n items.splice(loadedRowIndex, 0, item)\r\n }\r\n });\r\n return items\r\n }\r\n processDataItem(item, options, generateDataValues) {\r\n var columns = options.visibleColumns;\r\n var key = item.data[INSERT_INDEX] ? item.data.key : item.key;\r\n var changes = this.getChanges();\r\n var editIndex = gridCoreUtils.getIndexByKey(key, changes);\r\n item.isEditing = false;\r\n if (editIndex >= 0) {\r\n this._processDataItemCore(item, changes[editIndex], key, columns, generateDataValues)\r\n }\r\n }\r\n _processDataItemCore(item, change, key, columns, generateDataValues) {\r\n var {\r\n data: data,\r\n type: type\r\n } = change;\r\n switch (type) {\r\n case DATA_EDIT_DATA_INSERT_TYPE:\r\n item.isNewRow = true;\r\n item.key = key;\r\n item.data = data;\r\n break;\r\n case DATA_EDIT_DATA_UPDATE_TYPE:\r\n item.modified = true;\r\n item.oldData = item.data;\r\n item.data = createObjectWithChanges(item.data, data);\r\n item.modifiedValues = generateDataValues(data, columns, true);\r\n break;\r\n case DATA_EDIT_DATA_REMOVE_TYPE:\r\n item.removed = true\r\n }\r\n }\r\n _initNewRow(options) {\r\n this.executeAction(\"onInitNewRow\", options);\r\n if (options.promise) {\r\n var deferred = new Deferred;\r\n when(fromPromise(options.promise)).done(deferred.resolve).fail(createFailureHandler(deferred)).fail(arg => this._fireDataErrorOccurred(arg));\r\n return deferred\r\n }\r\n }\r\n _createInsertInfo() {\r\n var insertInfo = {};\r\n insertInfo[INSERT_INDEX] = this._getInsertIndex();\r\n return insertInfo\r\n }\r\n _addInsertInfo(change, parentKey) {\r\n var _a;\r\n var insertInfo;\r\n change.key = this.getChangeKeyValue(change);\r\n var {\r\n key: key\r\n } = change;\r\n insertInfo = null === (_a = this._getInternalData(key)) || void 0 === _a ? void 0 : _a.insertInfo;\r\n if (!isDefined(insertInfo)) {\r\n var insertAfterOrBeforeKey = this._getInsertAfterOrBeforeKey(change);\r\n insertInfo = this._createInsertInfo();\r\n if (!isDefined(insertAfterOrBeforeKey)) {\r\n this._setInsertAfterOrBeforeKey(change, parentKey)\r\n }\r\n }\r\n this._addInternalData({\r\n insertInfo: insertInfo,\r\n key: key\r\n });\r\n return {\r\n insertInfo: insertInfo,\r\n key: key\r\n }\r\n }\r\n getChangeKeyValue(change) {\r\n if (isDefined(change.key)) {\r\n return change.key\r\n }\r\n var keyExpr = this._dataController.key();\r\n var keyValue;\r\n if (change.data && keyExpr && !Array.isArray(keyExpr)) {\r\n keyValue = change.data[keyExpr]\r\n }\r\n if (!isDefined(keyValue)) {\r\n keyValue = generateNewRowTempKey()\r\n }\r\n return keyValue\r\n }\r\n _setInsertAfterOrBeforeKey(change, parentKey) {\r\n var rowsView = this.getView(\"rowsView\");\r\n var dataController = this._dataController;\r\n var allItems = dataController.items(true);\r\n var newRowPosition = this._getNewRowPosition();\r\n switch (newRowPosition) {\r\n case FIRST_NEW_ROW_POSITION:\r\n case LAST_NEW_ROW_POSITION:\r\n break;\r\n case PAGE_TOP_NEW_ROW_POSITION:\r\n case PAGE_BOTTOM_NEW_ROW_POSITION:\r\n if (allItems.length) {\r\n var itemIndex = newRowPosition === PAGE_TOP_NEW_ROW_POSITION ? 0 : allItems.length - 1;\r\n change[0 === itemIndex ? \"insertBeforeKey\" : \"insertAfterKey\"] = allItems[itemIndex].key\r\n }\r\n break;\r\n default:\r\n var isViewportBottom = newRowPosition === VIEWPORT_BOTTOM_NEW_ROW_POSITION;\r\n var visibleItemIndex = isViewportBottom ? null === rowsView || void 0 === rowsView ? void 0 : rowsView.getBottomVisibleItemIndex() : null === rowsView || void 0 === rowsView ? void 0 : rowsView.getTopVisibleItemIndex();\r\n var row = dataController.getVisibleRows()[visibleItemIndex];\r\n if (row && (!row.isEditing && \"detail\" === row.rowType || \"detailAdaptive\" === row.rowType)) {\r\n visibleItemIndex++\r\n }\r\n var insertKey = dataController.getKeyByRowIndex(visibleItemIndex);\r\n if (isDefined(insertKey)) {\r\n change.insertBeforeKey = insertKey\r\n }\r\n }\r\n }\r\n _getInsertIndex() {\r\n var maxInsertIndex = 0;\r\n this.getChanges().forEach(editItem => {\r\n var _a;\r\n var insertInfo = null === (_a = this._getInternalData(editItem.key)) || void 0 === _a ? void 0 : _a.insertInfo;\r\n if (isDefined(insertInfo) && editItem.type === DATA_EDIT_DATA_INSERT_TYPE && insertInfo[INSERT_INDEX] > maxInsertIndex) {\r\n maxInsertIndex = insertInfo[INSERT_INDEX]\r\n }\r\n });\r\n return maxInsertIndex + 1\r\n }\r\n _getInsertAfterOrBeforeKey(insertChange) {\r\n var _a;\r\n return null !== (_a = insertChange.insertAfterKey) && void 0 !== _a ? _a : insertChange.insertBeforeKey\r\n }\r\n _getPageIndexToInsertRow() {\r\n var newRowPosition = this._getNewRowPosition();\r\n var dataController = this._dataController;\r\n var pageIndex = dataController.pageIndex();\r\n var lastPageIndex = dataController.pageCount() - 1;\r\n if (newRowPosition === FIRST_NEW_ROW_POSITION && 0 !== pageIndex) {\r\n return 0\r\n }\r\n if (newRowPosition === LAST_NEW_ROW_POSITION && pageIndex !== lastPageIndex) {\r\n return lastPageIndex\r\n }\r\n return -1\r\n }\r\n addRow(parentKey) {\r\n var dataController = this._dataController;\r\n var store = dataController.store();\r\n if (!store) {\r\n dataController.fireError(\"E1052\", this.component.NAME);\r\n return (new Deferred).reject()\r\n }\r\n return this._addRow(parentKey)\r\n }\r\n _addRow(parentKey) {\r\n var dataController = this._dataController;\r\n var store = dataController.store();\r\n var key = store && store.key();\r\n var param = {\r\n data: {}\r\n };\r\n var oldEditRowIndex = this._getVisibleEditRowIndex();\r\n var deferred = new Deferred;\r\n this.refresh({\r\n allowCancelEditing: true\r\n });\r\n if (!this._allowRowAdding()) {\r\n when(this._navigateToNewRow(oldEditRowIndex)).done(deferred.resolve).fail(deferred.reject);\r\n return deferred.promise()\r\n }\r\n if (!key) {\r\n param.data.__KEY__ = String(new Guid)\r\n }\r\n when(this._initNewRow(param, parentKey)).done(() => {\r\n if (this._allowRowAdding()) {\r\n when(this._addRowCore(param.data, parentKey, oldEditRowIndex)).done(deferred.resolve).fail(deferred.reject)\r\n } else {\r\n deferred.reject(\"cancel\")\r\n }\r\n }).fail(deferred.reject);\r\n return deferred.promise()\r\n }\r\n _allowRowAdding(params) {\r\n var insertIndex = this._getInsertIndex();\r\n if (insertIndex > 1) {\r\n return false\r\n }\r\n return true\r\n }\r\n _addRowCore(data, parentKey, initialOldEditRowIndex) {\r\n var change = {\r\n data: data,\r\n type: DATA_EDIT_DATA_INSERT_TYPE\r\n };\r\n var editRowIndex = this._getVisibleEditRowIndex();\r\n var insertInfo = this._addInsertInfo(change, parentKey);\r\n var {\r\n key: key\r\n } = insertInfo;\r\n this._setEditRowKey(key, true);\r\n this._addChange(change);\r\n return this._navigateToNewRow(initialOldEditRowIndex, change, editRowIndex)\r\n }\r\n _navigateToNewRow(oldEditRowIndex, change, editRowIndex) {\r\n var d = new Deferred;\r\n var dataController = this._dataController;\r\n editRowIndex = null !== editRowIndex && void 0 !== editRowIndex ? editRowIndex : -1;\r\n change = null !== change && void 0 !== change ? change : this.getChanges().filter(c => c.type === DATA_EDIT_DATA_INSERT_TYPE)[0];\r\n if (!change) {\r\n return d.reject(\"cancel\").promise()\r\n }\r\n var pageIndexToInsertRow = this._getPageIndexToInsertRow();\r\n var rowIndex = this._getLoadedRowIndex(dataController.items(), change, true);\r\n var navigateToRowByKey = key => {\r\n var _a;\r\n when(null === (_a = this._focusController) || void 0 === _a ? void 0 : _a.navigateToRow(key)).done(() => {\r\n rowIndex = dataController.getRowIndexByKey(change.key);\r\n d.resolve()\r\n })\r\n };\r\n var insertAfterOrBeforeKey = this._getInsertAfterOrBeforeKey(change);\r\n if (pageIndexToInsertRow >= 0) {\r\n dataController.pageIndex(pageIndexToInsertRow).done(() => {\r\n navigateToRowByKey(change.key)\r\n }).fail(d.reject)\r\n } else if (rowIndex < 0 && isDefined(insertAfterOrBeforeKey)) {\r\n navigateToRowByKey(insertAfterOrBeforeKey)\r\n } else {\r\n dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [oldEditRowIndex, editRowIndex, rowIndex]\r\n });\r\n rowIndex = dataController.getRowIndexByKey(change.key);\r\n if (rowIndex < 0) {\r\n navigateToRowByKey(change.key)\r\n } else {\r\n d.resolve()\r\n }\r\n }\r\n d.done(() => {\r\n var _a;\r\n null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.waitAsyncTemplates(true).done(() => {\r\n this._showAddedRow(rowIndex);\r\n this._afterInsertRow(change.key)\r\n })\r\n });\r\n return d.promise()\r\n }\r\n _showAddedRow(rowIndex) {\r\n this._focusFirstEditableCellInRow(rowIndex)\r\n }\r\n _beforeFocusElementInRow(rowIndex) {}\r\n _focusFirstEditableCellInRow(rowIndex) {\r\n var _a;\r\n var dataController = this._dataController;\r\n var key = dataController.getKeyByRowIndex(rowIndex);\r\n var $firstCell = this.getFirstEditableCellInRow(rowIndex);\r\n null === (_a = this._keyboardNavigationController) || void 0 === _a ? void 0 : _a.focus($firstCell);\r\n this.option(\"focusedRowKey\", key);\r\n this._editCellInProgress = true;\r\n this._delayedInputFocus($firstCell, () => {\r\n rowIndex = dataController.getRowIndexByKey(key);\r\n this._editCellInProgress = false;\r\n this._beforeFocusElementInRow(rowIndex)\r\n })\r\n }\r\n _isEditingStart(options) {\r\n this.executeAction(\"onEditingStart\", options);\r\n return options.cancel\r\n }\r\n _beforeUpdateItems(rowIndices, rowIndex) {}\r\n _getVisibleEditColumnIndex() {\r\n var editColumnName = this.option(EDITING_EDITCOLUMNNAME_OPTION_NAME);\r\n if (!isDefined(editColumnName)) {\r\n return -1\r\n }\r\n return this._columnsController.getVisibleColumnIndex(editColumnName)\r\n }\r\n _setEditColumnNameByIndex(index, silent) {\r\n var _a;\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n this._setEditColumnName(null === (_a = visibleColumns[index]) || void 0 === _a ? void 0 : _a.name, silent)\r\n }\r\n _setEditColumnName(name, silent) {\r\n if (silent) {\r\n this._silentOption(EDITING_EDITCOLUMNNAME_OPTION_NAME, name)\r\n } else {\r\n this.option(EDITING_EDITCOLUMNNAME_OPTION_NAME, name)\r\n }\r\n }\r\n _resetEditColumnName() {\r\n this._setEditColumnName(null, true)\r\n }\r\n _getEditColumn() {\r\n var editColumnName = this.option(EDITING_EDITCOLUMNNAME_OPTION_NAME);\r\n return this._getColumnByName(editColumnName)\r\n }\r\n _getColumnByName(name) {\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var editColumn;\r\n isDefined(name) && visibleColumns.some(column => {\r\n if (column.name === name) {\r\n editColumn = column;\r\n return true\r\n }\r\n });\r\n return editColumn\r\n }\r\n _getVisibleEditRowIndex(columnName) {\r\n var dataController = this._dataController;\r\n var editRowKey = this.option(EDITING_EDITROWKEY_OPTION_NAME);\r\n var rowIndex = dataController.getRowIndexByKey(editRowKey);\r\n if (-1 === rowIndex) {\r\n return rowIndex\r\n }\r\n return rowIndex + this._getEditRowIndexCorrection(columnName)\r\n }\r\n _getEditRowIndexCorrection(columnName) {\r\n var editColumn = columnName ? this._getColumnByName(columnName) : this._getEditColumn();\r\n var isColumnHidden = \"adaptiveHidden\" === (null === editColumn || void 0 === editColumn ? void 0 : editColumn.visibleWidth);\r\n return isColumnHidden ? 1 : 0\r\n }\r\n _resetEditRowKey() {\r\n this._refocusEditCell = false;\r\n this._setEditRowKey(null, true)\r\n }\r\n _resetEditIndices() {\r\n this._resetEditColumnName();\r\n this._resetEditRowKey()\r\n }\r\n editRow(rowIndex) {\r\n var _a;\r\n var dataController = this._dataController;\r\n var items = dataController.items();\r\n var item = items[rowIndex];\r\n var params = {\r\n data: item && item.data,\r\n cancel: false\r\n };\r\n var oldRowIndex = this._getVisibleEditRowIndex();\r\n if (!item) {\r\n return\r\n }\r\n if (rowIndex === oldRowIndex) {\r\n return true\r\n }\r\n if (void 0 === item.key) {\r\n this._dataController.fireError(\"E1043\");\r\n return\r\n }\r\n if (!item.isNewRow) {\r\n params.key = item.key\r\n }\r\n if (this._isEditingStart(params)) {\r\n return\r\n }\r\n this.resetChanges();\r\n this.init();\r\n this._resetEditColumnName();\r\n this._pageIndex = dataController.pageIndex();\r\n this._addInternalData({\r\n key: item.key,\r\n oldData: null !== (_a = item.oldData) && void 0 !== _a ? _a : item.data\r\n });\r\n this._setEditRowKey(item.key)\r\n }\r\n _editRowFromOptionChanged(rowIndex, oldRowIndex) {\r\n var rowIndices = [oldRowIndex, rowIndex];\r\n this._beforeUpdateItems(rowIndices, rowIndex, oldRowIndex);\r\n this._editRowFromOptionChangedCore(rowIndices, rowIndex)\r\n }\r\n _editRowFromOptionChangedCore(rowIndices, rowIndex, preventRendering) {\r\n this._needFocusEditor = true;\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: rowIndices,\r\n cancel: preventRendering\r\n })\r\n }\r\n _focusEditorIfNeed() {}\r\n _showEditPopup(rowIndex, repaintForm) {}\r\n _repaintEditPopup() {}\r\n _getEditPopupHiddenHandler() {\r\n return e => {\r\n if (this.isEditing()) {\r\n this.cancelEditData()\r\n }\r\n }\r\n }\r\n _getPopupEditFormTemplate(rowIndex) {}\r\n _getSaveButtonConfig() {\r\n return {\r\n text: this.option(\"editing.texts.saveRowChanges\"),\r\n onClick: this.saveEditData.bind(this)\r\n }\r\n }\r\n _getCancelButtonConfig() {\r\n return {\r\n text: this.option(\"editing.texts.cancelRowChanges\"),\r\n onClick: this.cancelEditData.bind(this)\r\n }\r\n }\r\n _removeInternalData(key) {\r\n var internalData = this._getInternalData(key);\r\n var index = this._internalState.indexOf(internalData);\r\n if (index > -1) {\r\n this._internalState.splice(index, 1)\r\n }\r\n }\r\n _updateInsertAfterOrBeforeKeys(changes, index) {\r\n var removeChange = changes[index];\r\n changes.forEach(change => {\r\n var insertAfterOrBeforeKey = this._getInsertAfterOrBeforeKey(change);\r\n if (equalByValue(insertAfterOrBeforeKey, removeChange.key)) {\r\n change[isDefined(change.insertAfterKey) ? \"insertAfterKey\" : \"insertBeforeKey\"] = this._getInsertAfterOrBeforeKey(removeChange)\r\n }\r\n })\r\n }\r\n _removeChange(index) {\r\n if (index >= 0) {\r\n var changes = [...this.getChanges()];\r\n var {\r\n key: key\r\n } = changes[index];\r\n this._removeInternalData(key);\r\n this._updateInsertAfterOrBeforeKeys(changes, index);\r\n changes.splice(index, 1);\r\n this._silentOption(EDITING_CHANGES_OPTION_NAME, changes);\r\n if (equalByValue(this.option(EDITING_EDITROWKEY_OPTION_NAME), key)) {\r\n this._resetEditIndices()\r\n }\r\n }\r\n }\r\n executeOperation(deferred, func) {\r\n this._lastOperation && this._lastOperation.reject();\r\n this._lastOperation = deferred;\r\n this.waitForDeferredOperations().done(() => {\r\n if (\"rejected\" === deferred.state()) {\r\n return\r\n }\r\n func();\r\n this._lastOperation = null\r\n }).fail(() => {\r\n deferred.reject();\r\n this._lastOperation = null\r\n })\r\n }\r\n waitForDeferredOperations() {\r\n return when(...this._deferreds)\r\n }\r\n _processCanceledEditingCell() {}\r\n _repaintEditCell(column, oldColumn, oldEditRowIndex) {\r\n if (!column || !column.showEditorAlways || oldColumn && !oldColumn.showEditorAlways) {\r\n this._editCellInProgress = true;\r\n this._needFocusEditor = true;\r\n this._editorFactoryController.loseFocus();\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [oldEditRowIndex, this._getVisibleEditRowIndex()]\r\n })\r\n } else if (column !== oldColumn) {\r\n this._needFocusEditor = true;\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: []\r\n })\r\n }\r\n }\r\n _delayedInputFocus($cell, beforeFocusCallback, callBeforeFocusCallbackAlways) {\r\n var inputFocus = () => {\r\n if (beforeFocusCallback) {\r\n beforeFocusCallback()\r\n }\r\n if ($cell) {\r\n var $focusableElement = $cell.find(FOCUSABLE_ELEMENT_SELECTOR).first();\r\n gridCoreUtils.focusAndSelectElement(this, $focusableElement)\r\n }\r\n this._beforeFocusCallback = null\r\n };\r\n if (devices.real().ios || devices.real().android) {\r\n inputFocus()\r\n } else {\r\n if (this._beforeFocusCallback) {\r\n this._beforeFocusCallback()\r\n }\r\n clearTimeout(this._inputFocusTimeoutID);\r\n if (callBeforeFocusCallbackAlways) {\r\n this._beforeFocusCallback = beforeFocusCallback\r\n }\r\n this._inputFocusTimeoutID = setTimeout(inputFocus)\r\n }\r\n }\r\n _focusEditingCell(beforeFocusCallback, $editCell, callBeforeFocusCallbackAlways) {\r\n var editColumnIndex = this._getVisibleEditColumnIndex();\r\n $editCell = $editCell || this._rowsView && this._rowsView._getCellElement(this._getVisibleEditRowIndex(), editColumnIndex);\r\n if ($editCell) {\r\n this._delayedInputFocus($editCell, beforeFocusCallback, callBeforeFocusCallbackAlways)\r\n }\r\n }\r\n deleteRow(rowIndex) {\r\n this._checkAndDeleteRow(rowIndex)\r\n }\r\n _checkAndDeleteRow(rowIndex) {\r\n var editingOptions = this.option(\"editing\");\r\n var editingTexts = null === editingOptions || void 0 === editingOptions ? void 0 : editingOptions.texts;\r\n var confirmDelete = null === editingOptions || void 0 === editingOptions ? void 0 : editingOptions.confirmDelete;\r\n var confirmDeleteMessage = null === editingTexts || void 0 === editingTexts ? void 0 : editingTexts.confirmDeleteMessage;\r\n var item = this._dataController.items()[rowIndex];\r\n var allowDeleting = !this.isEditing() || item.isNewRow;\r\n if (item && allowDeleting) {\r\n if (!confirmDelete || !confirmDeleteMessage) {\r\n this._deleteRowCore(rowIndex)\r\n } else {\r\n var confirmDeleteTitle = editingTexts && editingTexts.confirmDeleteTitle;\r\n var showDialogTitle = isDefined(confirmDeleteTitle) && confirmDeleteTitle.length > 0;\r\n confirm(confirmDeleteMessage, confirmDeleteTitle, showDialogTitle).done(confirmResult => {\r\n if (confirmResult) {\r\n this._deleteRowCore(rowIndex)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n _deleteRowCore(rowIndex) {\r\n var dataController = this._dataController;\r\n var item = dataController.items()[rowIndex];\r\n var key = item && item.key;\r\n var oldEditRowIndex = this._getVisibleEditRowIndex();\r\n this.refresh();\r\n var changes = this.getChanges();\r\n var editIndex = gridCoreUtils.getIndexByKey(key, changes);\r\n if (editIndex >= 0) {\r\n if (changes[editIndex].type === DATA_EDIT_DATA_INSERT_TYPE) {\r\n this._removeChange(editIndex)\r\n } else {\r\n this._addChange({\r\n key: key,\r\n type: DATA_EDIT_DATA_REMOVE_TYPE\r\n })\r\n }\r\n } else {\r\n this._addChange({\r\n key: key,\r\n oldData: item.data,\r\n type: DATA_EDIT_DATA_REMOVE_TYPE\r\n })\r\n }\r\n return this._afterDeleteRow(rowIndex, oldEditRowIndex)\r\n }\r\n _afterDeleteRow(rowIndex, oldEditRowIndex) {\r\n return this.saveEditData()\r\n }\r\n undeleteRow(rowIndex) {\r\n var dataController = this._dataController;\r\n var item = dataController.items()[rowIndex];\r\n var oldEditRowIndex = this._getVisibleEditRowIndex();\r\n var key = item && item.key;\r\n var changes = this.getChanges();\r\n if (item) {\r\n var editIndex = gridCoreUtils.getIndexByKey(key, changes);\r\n if (editIndex >= 0) {\r\n var {\r\n data: data\r\n } = changes[editIndex];\r\n if (isEmptyObject(data)) {\r\n this._removeChange(editIndex)\r\n } else {\r\n this._addChange({\r\n key: key,\r\n type: DATA_EDIT_DATA_UPDATE_TYPE\r\n })\r\n }\r\n dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [oldEditRowIndex, rowIndex]\r\n })\r\n }\r\n }\r\n }\r\n _fireOnSaving() {\r\n var onSavingParams = {\r\n cancel: false,\r\n promise: null,\r\n changes: [...this.getChanges()]\r\n };\r\n this.executeAction(\"onSaving\", onSavingParams);\r\n var d = new Deferred;\r\n when(fromPromise(onSavingParams.promise)).done(() => {\r\n d.resolve(onSavingParams)\r\n }).fail(arg => {\r\n createFailureHandler(d);\r\n this._fireDataErrorOccurred(arg);\r\n d.resolve({\r\n cancel: true\r\n })\r\n });\r\n return d\r\n }\r\n _executeEditingAction(actionName, params, func) {\r\n if (this.component._disposed) {\r\n return null\r\n }\r\n var deferred = new Deferred;\r\n this.executeAction(actionName, params);\r\n when(fromPromise(params.cancel)).done(cancel => {\r\n if (cancel) {\r\n setTimeout(() => {\r\n deferred.resolve(\"cancel\")\r\n })\r\n } else {\r\n func(params).done(deferred.resolve).fail(createFailureHandler(deferred))\r\n }\r\n }).fail(createFailureHandler(deferred));\r\n return deferred\r\n }\r\n _processChanges(deferreds, results, dataChanges, changes) {\r\n var store = this._dataController.store();\r\n each(changes, (index, change) => {\r\n var oldData = this._getOldData(change.key);\r\n var {\r\n data: data,\r\n type: type\r\n } = change;\r\n var changeCopy = _extends({}, change);\r\n var deferred;\r\n var params;\r\n if (this._beforeSaveEditData(change, index)) {\r\n return\r\n }\r\n switch (type) {\r\n case DATA_EDIT_DATA_REMOVE_TYPE:\r\n params = {\r\n data: oldData,\r\n key: change.key,\r\n cancel: false\r\n };\r\n deferred = this._executeEditingAction(\"onRowRemoving\", params, () => store.remove(change.key).done(key => {\r\n dataChanges.push({\r\n type: \"remove\",\r\n key: key\r\n })\r\n }));\r\n break;\r\n case DATA_EDIT_DATA_INSERT_TYPE:\r\n params = {\r\n data: data,\r\n cancel: false\r\n };\r\n deferred = this._executeEditingAction(\"onRowInserting\", params, () => store.insert(params.data).done((data, key) => {\r\n if (isDefined(key)) {\r\n changeCopy.key = key\r\n }\r\n if (data && isObject(data) && data !== params.data) {\r\n changeCopy.data = data\r\n }\r\n dataChanges.push({\r\n type: \"insert\",\r\n data: data,\r\n index: 0\r\n })\r\n }));\r\n break;\r\n case DATA_EDIT_DATA_UPDATE_TYPE:\r\n params = {\r\n newData: data,\r\n oldData: oldData,\r\n key: change.key,\r\n cancel: false\r\n };\r\n deferred = this._executeEditingAction(\"onRowUpdating\", params, () => store.update(change.key, params.newData).done((data, key) => {\r\n if (data && isObject(data) && data !== params.newData) {\r\n changeCopy.data = data\r\n }\r\n dataChanges.push({\r\n type: \"update\",\r\n key: key,\r\n data: data\r\n })\r\n }))\r\n }\r\n changes[index] = changeCopy;\r\n if (deferred) {\r\n var doneDeferred = new Deferred;\r\n deferred.always(data => {\r\n results.push({\r\n key: change.key,\r\n result: data\r\n })\r\n }).always(doneDeferred.resolve);\r\n deferreds.push(doneDeferred.promise())\r\n }\r\n })\r\n }\r\n _processRemoveIfError(changes, editIndex) {\r\n var change = changes[editIndex];\r\n if ((null === change || void 0 === change ? void 0 : change.type) === DATA_EDIT_DATA_REMOVE_TYPE) {\r\n if (editIndex >= 0) {\r\n changes.splice(editIndex, 1)\r\n }\r\n }\r\n return true\r\n }\r\n _processRemove(changes, editIndex, cancel) {\r\n var change = changes[editIndex];\r\n if (!cancel || !change || change.type === DATA_EDIT_DATA_REMOVE_TYPE) {\r\n return this._processRemoveCore(changes, editIndex, !cancel || !change)\r\n }\r\n }\r\n _processRemoveCore(changes, editIndex, processIfBatch) {\r\n if (editIndex >= 0) {\r\n changes.splice(editIndex, 1)\r\n }\r\n return true\r\n }\r\n _processSaveEditDataResult(results) {\r\n var hasSavedData = false;\r\n var changes = [...this.getChanges()];\r\n var changesLength = changes.length;\r\n for (var i = 0; i < results.length; i++) {\r\n var arg = results[i].result;\r\n var cancel = \"cancel\" === arg;\r\n var editIndex = gridCoreUtils.getIndexByKey(results[i].key, changes);\r\n var change = changes[editIndex];\r\n var isError = arg && arg instanceof Error;\r\n if (isError) {\r\n if (change) {\r\n this._addInternalData({\r\n key: change.key,\r\n error: arg\r\n })\r\n }\r\n this._fireDataErrorOccurred(arg);\r\n if (this._processRemoveIfError(changes, editIndex)) {\r\n break\r\n }\r\n } else if (this._processRemove(changes, editIndex, cancel)) {\r\n hasSavedData = !cancel\r\n }\r\n }\r\n if (changes.length < changesLength) {\r\n this._silentOption(EDITING_CHANGES_OPTION_NAME, changes)\r\n }\r\n return hasSavedData\r\n }\r\n _fireSaveEditDataEvents(changes) {\r\n each(changes, (_, _ref) => {\r\n var {\r\n data: data,\r\n key: key,\r\n type: type\r\n } = _ref;\r\n var internalData = this._addInternalData({\r\n key: key\r\n });\r\n var params = {\r\n key: key,\r\n data: data\r\n };\r\n if (internalData.error) {\r\n params.error = internalData.error\r\n }\r\n switch (type) {\r\n case DATA_EDIT_DATA_REMOVE_TYPE:\r\n this.executeAction(\"onRowRemoved\", extend({}, params, {\r\n data: internalData.oldData\r\n }));\r\n break;\r\n case DATA_EDIT_DATA_INSERT_TYPE:\r\n this.executeAction(\"onRowInserted\", params);\r\n break;\r\n case DATA_EDIT_DATA_UPDATE_TYPE:\r\n this.executeAction(\"onRowUpdated\", params)\r\n }\r\n });\r\n this.executeAction(\"onSaved\", {\r\n changes: changes\r\n })\r\n }\r\n saveEditData() {\r\n var deferred = new Deferred;\r\n this.waitForDeferredOperations().done(() => {\r\n if (this.isSaving()) {\r\n this._resolveAfterSave(deferred);\r\n return\r\n }\r\n when(this._beforeSaveEditData()).done(cancel => {\r\n if (cancel) {\r\n this._resolveAfterSave(deferred, {\r\n cancel: cancel\r\n });\r\n return\r\n }\r\n this._saving = true;\r\n this._saveEditDataInner().always(() => {\r\n this._saving = false;\r\n if (this._refocusEditCell) {\r\n this._focusEditingCell()\r\n }\r\n }).done(deferred.resolve).fail(deferred.reject)\r\n }).fail(deferred.reject)\r\n }).fail(deferred.reject);\r\n return deferred.promise()\r\n }\r\n _resolveAfterSave(deferred) {\r\n var {\r\n cancel: cancel,\r\n error: error\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n when(this._afterSaveEditData(cancel)).done(() => {\r\n deferred.resolve(error)\r\n }).fail(deferred.reject)\r\n }\r\n _saveEditDataInner() {\r\n var result = new Deferred;\r\n var results = [];\r\n var deferreds = [];\r\n var dataChanges = [];\r\n var dataSource = this._dataController.dataSource();\r\n when(this._fireOnSaving()).done(_ref2 => {\r\n var {\r\n cancel: cancel,\r\n changes: changes\r\n } = _ref2;\r\n if (cancel) {\r\n return result.resolve().promise()\r\n }\r\n this._processChanges(deferreds, results, dataChanges, changes);\r\n if (deferreds.length) {\r\n this._refocusEditCell = true;\r\n null === dataSource || void 0 === dataSource ? void 0 : dataSource.beginLoading();\r\n when(...deferreds).done(() => {\r\n if (this._processSaveEditDataResult(results)) {\r\n this._endSaving(dataChanges, changes, result)\r\n } else {\r\n null === dataSource || void 0 === dataSource ? void 0 : dataSource.endLoading();\r\n result.resolve()\r\n }\r\n }).fail(error => {\r\n null === dataSource || void 0 === dataSource ? void 0 : dataSource.endLoading();\r\n result.resolve(error)\r\n });\r\n return result.always(() => {\r\n this._refocusEditCell = true\r\n }).promise()\r\n }\r\n this._cancelSaving(result)\r\n }).fail(result.reject);\r\n return result.promise()\r\n }\r\n _beforeEndSaving(changes) {\r\n this._resetEditIndices()\r\n }\r\n _endSaving(dataChanges, changes, deferred) {\r\n var dataSource = this._dataController.dataSource();\r\n this._beforeEndSaving(changes);\r\n null === dataSource || void 0 === dataSource ? void 0 : dataSource.endLoading();\r\n this._refreshDataAfterSave(dataChanges, changes, deferred)\r\n }\r\n _cancelSaving(result) {\r\n this.executeAction(\"onSaved\", {\r\n changes: []\r\n });\r\n this._resolveAfterSave(result)\r\n }\r\n _refreshDataAfterSave(dataChanges, changes, deferred) {\r\n var dataController = this._dataController;\r\n var refreshMode = this.option(\"editing.refreshMode\");\r\n var isFullRefresh = \"reshape\" !== refreshMode && \"repaint\" !== refreshMode;\r\n if (!isFullRefresh) {\r\n dataController.push(dataChanges)\r\n }\r\n when(dataController.refresh({\r\n selection: isFullRefresh,\r\n reload: isFullRefresh,\r\n load: \"reshape\" === refreshMode,\r\n changesOnly: this.option(\"repaintChangesOnly\")\r\n })).always(() => {\r\n this._fireSaveEditDataEvents(changes)\r\n }).done(() => {\r\n this._resolveAfterSave(deferred)\r\n }).fail(error => {\r\n this._resolveAfterSave(deferred, {\r\n error: error\r\n })\r\n })\r\n }\r\n isSaving() {\r\n return this._saving\r\n }\r\n _updateEditColumn() {\r\n var isEditColumnVisible = this._isEditColumnVisible();\r\n var useIcons = this.option(\"editing.useIcons\");\r\n var cssClass = COMMAND_EDIT_CLASS + (useIcons ? \" \".concat(COMMAND_EDIT_WITH_ICONS_CLASS) : \"\");\r\n this._columnsController.addCommandColumn({\r\n type: \"buttons\",\r\n command: \"edit\",\r\n visible: isEditColumnVisible,\r\n cssClass: cssClass,\r\n width: \"auto\",\r\n alignment: \"center\",\r\n cellTemplate: this._getEditCommandCellTemplate(),\r\n fixedPosition: \"right\"\r\n });\r\n this._columnsController.columnOption(\"command:edit\", {\r\n visible: isEditColumnVisible,\r\n cssClass: cssClass\r\n })\r\n }\r\n _isEditColumnVisible() {\r\n var editingOptions = this.option(\"editing\");\r\n return editingOptions.allowDeleting\r\n }\r\n _isEditButtonDisabled() {\r\n var hasChanges = this.hasChanges();\r\n var isEditRowDefined = isDefined(this.option(\"editing.editRowKey\"));\r\n return !(isEditRowDefined || hasChanges)\r\n }\r\n _updateEditButtons() {\r\n var isButtonDisabled = this._isEditButtonDisabled();\r\n if (this._headerPanelView) {\r\n this._headerPanelView.setToolbarItemDisabled(\"saveButton\", isButtonDisabled);\r\n this._headerPanelView.setToolbarItemDisabled(\"revertButton\", isButtonDisabled)\r\n }\r\n }\r\n _applyModified($element, options) {\r\n $element && $element.addClass(CELL_MODIFIED)\r\n }\r\n _beforeCloseEditCellInBatchMode(rowIndices) {}\r\n cancelEditData() {\r\n var changes = this.getChanges();\r\n var params = {\r\n cancel: false,\r\n changes: changes\r\n };\r\n this.executeAction(\"onEditCanceling\", params);\r\n if (!params.cancel) {\r\n this._cancelEditDataCore();\r\n this.executeAction(\"onEditCanceled\", {\r\n changes: changes\r\n })\r\n }\r\n }\r\n _cancelEditDataCore() {\r\n var rowIndex = this._getVisibleEditRowIndex();\r\n this._beforeCancelEditData();\r\n this.init();\r\n this.resetChanges();\r\n this._resetEditColumnName();\r\n this._resetEditRowKey();\r\n this._afterCancelEditData(rowIndex)\r\n }\r\n _afterCancelEditData(rowIndex) {\r\n var dataController = this._dataController;\r\n dataController.updateItems({\r\n repaintChangesOnly: this.option(\"repaintChangesOnly\")\r\n })\r\n }\r\n _hideEditPopup() {}\r\n hasEditData() {\r\n return this.hasChanges()\r\n }\r\n update(changeType) {\r\n var dataController = this._dataController;\r\n if (dataController && this._pageIndex !== dataController.pageIndex()) {\r\n if (\"refresh\" === changeType) {\r\n this.refresh({\r\n isPageChanged: true\r\n })\r\n }\r\n this._pageIndex = dataController.pageIndex()\r\n }\r\n this._updateEditButtons()\r\n }\r\n _getRowIndicesForCascadeUpdating(row, skipCurrentRow) {\r\n return skipCurrentRow ? [] : [row.rowIndex]\r\n }\r\n addDeferred(deferred) {\r\n if (!this._deferreds.includes(deferred)) {\r\n this._deferreds.push(deferred);\r\n deferred.always(() => {\r\n var index = this._deferreds.indexOf(deferred);\r\n if (index >= 0) {\r\n this._deferreds.splice(index, 1)\r\n }\r\n })\r\n }\r\n }\r\n _prepareChange(options, value, text) {\r\n var _a;\r\n var newData = {};\r\n var oldData = null === (_a = options.row) || void 0 === _a ? void 0 : _a.data;\r\n var rowKey = options.key;\r\n var deferred = new Deferred;\r\n if (void 0 !== rowKey) {\r\n options.value = value;\r\n var setCellValueResult = fromPromise(options.column.setCellValue(newData, value, extend(true, {}, oldData), text));\r\n setCellValueResult.done(() => {\r\n deferred.resolve({\r\n data: newData,\r\n key: rowKey,\r\n oldData: oldData,\r\n type: DATA_EDIT_DATA_UPDATE_TYPE\r\n })\r\n }).fail(createFailureHandler(deferred)).fail(arg => this._fireDataErrorOccurred(arg));\r\n if (isDefined(text) && options.column.displayValueMap) {\r\n options.column.displayValueMap[value] = text\r\n }\r\n this._updateRowValues(options);\r\n this.addDeferred(deferred)\r\n }\r\n return deferred\r\n }\r\n _updateRowValues(options) {\r\n if (options.values) {\r\n var dataController = this._dataController;\r\n var rowIndex = dataController.getRowIndexByKey(options.key);\r\n var row = dataController.getVisibleRows()[rowIndex];\r\n if (row) {\r\n options.row.values = row.values;\r\n options.values = row.values\r\n }\r\n options.values[options.columnIndex] = options.value\r\n }\r\n }\r\n updateFieldValue(options, value, text, forceUpdateRow) {\r\n var rowKey = options.key;\r\n var deferred = new Deferred;\r\n if (void 0 === rowKey) {\r\n this._dataController.fireError(\"E1043\")\r\n }\r\n if (options.column.setCellValue) {\r\n this._prepareChange(options, value, text).done(params => {\r\n when(this._applyChange(options, params, forceUpdateRow)).always(() => {\r\n deferred.resolve()\r\n })\r\n })\r\n } else {\r\n deferred.resolve()\r\n }\r\n return deferred.promise()\r\n }\r\n _focusPreviousEditingCellIfNeed(options) {\r\n if (this.hasEditData() && !this.isEditCell(options.rowIndex, options.columnIndex)) {\r\n this._focusEditingCell();\r\n this._updateEditRow(options.row, true);\r\n return true\r\n }\r\n }\r\n _needUpdateRow(column) {\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n if (!column) {\r\n column = this._getEditColumn()\r\n }\r\n var isCustomSetCellValue = column && column.setCellValue !== column.defaultSetCellValue;\r\n var isCustomCalculateCellValue = visibleColumns.some(visibleColumn => visibleColumn.calculateCellValue !== visibleColumn.defaultCalculateCellValue);\r\n return isCustomSetCellValue || isCustomCalculateCellValue\r\n }\r\n _applyChange(options, params, forceUpdateRow) {\r\n var changeOptions = _extends(_extends({}, options), {\r\n forceUpdateRow: forceUpdateRow\r\n });\r\n this._addChange(params, changeOptions);\r\n this._updateEditButtons();\r\n return this._applyChangeCore(options, changeOptions.forceUpdateRow)\r\n }\r\n _applyChangeCore(options, forceUpdateRow) {\r\n var isCustomSetCellValue = options.column.setCellValue !== options.column.defaultSetCellValue;\r\n var {\r\n row: row\r\n } = options;\r\n if (row) {\r\n if (forceUpdateRow || isCustomSetCellValue) {\r\n this._updateEditRow(row, forceUpdateRow, isCustomSetCellValue)\r\n } else if (row.update) {\r\n row.update()\r\n }\r\n }\r\n }\r\n _updateEditRowCore(row, skipCurrentRow, isCustomSetCellValue) {\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: this._getRowIndicesForCascadeUpdating(row, skipCurrentRow)\r\n })\r\n }\r\n _updateEditRow(row, forceUpdateRow, isCustomSetCellValue) {\r\n if (forceUpdateRow) {\r\n this._updateRowImmediately(row, forceUpdateRow, isCustomSetCellValue)\r\n } else {\r\n this._updateRowWithDelay(row, isCustomSetCellValue)\r\n }\r\n }\r\n _updateRowImmediately(row, forceUpdateRow, isCustomSetCellValue) {\r\n this._updateEditRowCore(row, !forceUpdateRow, isCustomSetCellValue);\r\n this._validateEditFormAfterUpdate(row, isCustomSetCellValue);\r\n if (!forceUpdateRow) {\r\n this._focusEditingCell()\r\n }\r\n }\r\n _updateRowWithDelay(row, isCustomSetCellValue) {\r\n var deferred = new Deferred;\r\n this.addDeferred(deferred);\r\n setTimeout(() => {\r\n var _a;\r\n var elementContainer = (null === (_a = this._editForm) || void 0 === _a ? void 0 : _a.element()) || this.component.$element().get(0);\r\n var $focusedElement = $(domAdapter.getActiveElement(elementContainer));\r\n var columnIndex = this._rowsView.getCellIndex($focusedElement, row.rowIndex);\r\n var focusedElement = $focusedElement.get(0);\r\n var selectionRange = gridCoreUtils.getSelectionRange(focusedElement);\r\n this._updateEditRowCore(row, false, isCustomSetCellValue);\r\n this._validateEditFormAfterUpdate(row, isCustomSetCellValue);\r\n if (columnIndex >= 0) {\r\n var $focusedItem = this._rowsView._getCellElement(row.rowIndex, columnIndex);\r\n this._delayedInputFocus($focusedItem, () => {\r\n setTimeout(() => {\r\n var _a;\r\n focusedElement = domAdapter.getActiveElement(null === (_a = this.component.$element()) || void 0 === _a ? void 0 : _a.get(0));\r\n if (selectionRange.selectionStart >= 0) {\r\n gridCoreUtils.setSelectionRange(focusedElement, selectionRange)\r\n }\r\n })\r\n })\r\n }\r\n deferred.resolve()\r\n })\r\n }\r\n _validateEditFormAfterUpdate() {}\r\n _addChange(changeParams, options) {\r\n var _a;\r\n var row = null === options || void 0 === options ? void 0 : options.row;\r\n var changes = [...this.getChanges()];\r\n var index = gridCoreUtils.getIndexByKey(changeParams.key, changes);\r\n if (index < 0) {\r\n index = changes.length;\r\n this._addInternalData({\r\n key: changeParams.key,\r\n oldData: changeParams.oldData\r\n });\r\n delete changeParams.oldData;\r\n changes.push(changeParams)\r\n }\r\n var change = _extends({}, changes[index]);\r\n if (change) {\r\n if (changeParams.data) {\r\n change.data = createObjectWithChanges(change.data, changeParams.data)\r\n }\r\n if ((!change.type || !changeParams.data) && changeParams.type) {\r\n change.type = changeParams.type\r\n }\r\n if (row) {\r\n row.oldData = this._getOldData(row.key);\r\n row.data = createObjectWithChanges(row.data, changeParams.data)\r\n }\r\n }\r\n changes[index] = change;\r\n this._silentOption(EDITING_CHANGES_OPTION_NAME, changes);\r\n if (options && change !== (null === (_a = this.getChanges()) || void 0 === _a ? void 0 : _a[index])) {\r\n options.forceUpdateRow = true\r\n }\r\n return change\r\n }\r\n _getFormEditItemTemplate(cellOptions, column) {\r\n return column.editCellTemplate || this._getDefaultEditorTemplate()\r\n }\r\n getColumnTemplate(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var rowIndex = options.row && options.row.rowIndex;\r\n var template;\r\n var isRowMode = this.isRowBasedEditMode();\r\n var isRowEditing = this.isEditRow(rowIndex);\r\n var isCellEditing = this.isEditCell(rowIndex, options.columnIndex);\r\n var editingStartOptions;\r\n if ((column.showEditorAlways || column.setCellValue && (isRowEditing && column.allowEditing || isCellEditing)) && (\"data\" === options.rowType || \"detailAdaptive\" === options.rowType) && !column.command) {\r\n var allowUpdating = this.allowUpdating(options);\r\n if (((allowUpdating || isRowEditing) && column.allowEditing || isCellEditing) && (isRowEditing || !isRowMode)) {\r\n if (column.showEditorAlways && !isRowMode) {\r\n editingStartOptions = {\r\n cancel: false,\r\n key: options.row.isNewRow ? void 0 : options.row.key,\r\n data: options.row.data,\r\n column: column\r\n };\r\n this._isEditingStart(editingStartOptions)\r\n }\r\n if (!editingStartOptions || !editingStartOptions.cancel) {\r\n options.setValue = (value, text) => {\r\n this.updateFieldValue(options, value, text)\r\n }\r\n }\r\n }\r\n template = column.editCellTemplate || this._getDefaultEditorTemplate()\r\n } else if (\"detail\" === column.command && \"detail\" === options.rowType && isRowEditing) {\r\n template = null === this || void 0 === this ? void 0 : this.getEditFormTemplate(options)\r\n }\r\n return template\r\n }\r\n _createButton($container, button, options, change) {\r\n var icon = EDIT_ICON_CLASS[button.name];\r\n var useIcons = this.option(\"editing.useIcons\");\r\n var useLegacyColumnButtonTemplate = this.option(\"useLegacyColumnButtonTemplate\");\r\n var $button = $(\"<a>\").attr(\"href\", \"#\").addClass(LINK_CLASS).addClass(button.cssClass);\r\n if (button.template && useLegacyColumnButtonTemplate) {\r\n this._rowsView.renderTemplate($container, button.template, options, true)\r\n } else {\r\n if (button.template) {\r\n $button = $(\"<span>\").addClass(button.cssClass)\r\n } else if (useIcons && icon || button.icon) {\r\n icon = button.icon || icon;\r\n var iconType = iconUtils.getImageSourceType(icon);\r\n if (\"image\" === iconType || \"svg\" === iconType) {\r\n $button = iconUtils.getImageContainer(icon).addClass(button.cssClass)\r\n } else {\r\n $button.addClass(\"dx-icon\".concat(\"dxIcon\" === iconType ? \"-\" : \" \").concat(icon)).attr(\"title\", button.text)\r\n }\r\n $button.addClass(LINK_ICON_CLASS);\r\n $container.addClass(COMMAND_EDIT_WITH_ICONS_CLASS);\r\n var localizationName = this.getButtonLocalizationNames()[button.name];\r\n localizationName && $button.attr(\"aria-label\", messageLocalization.format(localizationName))\r\n } else {\r\n $button.text(button.text)\r\n }\r\n if (isDefined(button.hint)) {\r\n $button.attr(\"title\", button.hint)\r\n }\r\n if (this._isButtonDisabled(button, options)) {\r\n $button.addClass(\"dx-state-disabled\")\r\n } else if (!button.template || button.onClick) {\r\n eventsEngine.on($button, addNamespace(\"click\", EDITING_NAMESPACE), this.createAction(e => {\r\n var _a;\r\n null === (_a = button.onClick) || void 0 === _a ? void 0 : _a.call(button, extend({}, e, {\r\n row: options.row,\r\n column: options.column\r\n }));\r\n e.event.preventDefault();\r\n e.event.stopPropagation()\r\n }))\r\n }\r\n $container.append($button, \" \");\r\n if (button.template) {\r\n options.renderAsync = false;\r\n this._rowsView.renderTemplate($button, button.template, options, true, change)\r\n }\r\n }\r\n }\r\n getButtonLocalizationNames() {\r\n return {\r\n edit: \"dxDataGrid-editingEditRow\",\r\n save: \"dxDataGrid-editingSaveRowChanges\",\r\n delete: \"dxDataGrid-editingDeleteRow\",\r\n undelete: \"dxDataGrid-editingUndeleteRow\",\r\n cancel: \"dxDataGrid-editingCancelRowChanges\"\r\n }\r\n }\r\n prepareButtonItem(headerPanel, name, methodName, sortIndex) {\r\n var _a;\r\n var editingTexts = null !== (_a = this.option(\"editing.texts\")) && void 0 !== _a ? _a : {};\r\n var titleButtonTextByClassNames = {\r\n revert: editingTexts.cancelAllChanges,\r\n save: editingTexts.saveAllChanges,\r\n addRow: editingTexts.addRow\r\n };\r\n var className = {\r\n revert: \"cancel\",\r\n save: \"save\",\r\n addRow: \"addrow\"\r\n } [name];\r\n var hintText = titleButtonTextByClassNames[name];\r\n var isButtonDisabled = (\"save\" === className || \"cancel\" === className) && this._isEditButtonDisabled();\r\n return {\r\n widget: \"dxButton\",\r\n options: {\r\n onInitialized: e => {\r\n $(e.element).addClass(headerPanel._getToolbarButtonClass(\"\".concat(EDIT_BUTTON_CLASS, \" \").concat(this.addWidgetPrefix(className), \"-button\")))\r\n },\r\n icon: \"edit-button-\".concat(className),\r\n disabled: isButtonDisabled,\r\n onClick: () => {\r\n setTimeout(() => {\r\n this[methodName]()\r\n })\r\n },\r\n text: hintText,\r\n hint: hintText\r\n },\r\n showText: \"inMenu\",\r\n name: \"\".concat(name, \"Button\"),\r\n location: \"after\",\r\n locateInMenu: \"auto\",\r\n sortIndex: sortIndex\r\n }\r\n }\r\n prepareEditButtons(headerPanel) {\r\n var _a;\r\n var editingOptions = null !== (_a = this.option(\"editing\")) && void 0 !== _a ? _a : {};\r\n var buttonItems = [];\r\n if (editingOptions.allowAdding) {\r\n buttonItems.push(this.prepareButtonItem(headerPanel, \"addRow\", \"addRow\", 20))\r\n }\r\n return buttonItems\r\n }\r\n highlightDataCell($cell, params) {\r\n this.shouldHighlightCell(params) && $cell.addClass(CELL_MODIFIED)\r\n }\r\n _afterInsertRow(key) {}\r\n _beforeSaveEditData(change) {\r\n if (change && !isDefined(change.key) && isDefined(change.type)) {\r\n return true\r\n }\r\n }\r\n _afterSaveEditData() {}\r\n _beforeCancelEditData() {}\r\n _allowEditAction(actionName, options) {\r\n var allowEditAction = this.option(\"editing.\".concat(actionName));\r\n if (isFunction(allowEditAction)) {\r\n allowEditAction = allowEditAction({\r\n component: this.component,\r\n row: options.row\r\n })\r\n }\r\n return allowEditAction\r\n }\r\n allowUpdating(options, eventName) {\r\n var _a;\r\n var startEditAction = null !== (_a = this.option(\"editing.startEditAction\")) && void 0 !== _a ? _a : DEFAULT_START_EDIT_ACTION;\r\n var needCallback = arguments.length > 1 ? startEditAction === eventName || \"down\" === eventName : true;\r\n return needCallback && this._allowEditAction(\"allowUpdating\", options)\r\n }\r\n allowDeleting(options) {\r\n return this._allowEditAction(\"allowDeleting\", options)\r\n }\r\n isCellModified(parameters) {\r\n var _a, _b, _c;\r\n var {\r\n columnIndex: columnIndex\r\n } = parameters;\r\n var modifiedValue = null === (_b = null === (_a = null === parameters || void 0 === parameters ? void 0 : parameters.row) || void 0 === _a ? void 0 : _a.modifiedValues) || void 0 === _b ? void 0 : _b[columnIndex];\r\n if (null === (_c = null === parameters || void 0 === parameters ? void 0 : parameters.row) || void 0 === _c ? void 0 : _c.isNewRow) {\r\n modifiedValue = parameters.value\r\n }\r\n return void 0 !== modifiedValue\r\n }\r\n isNewRowInEditMode() {\r\n var visibleEditRowIndex = this._getVisibleEditRowIndex();\r\n var rows = this._dataController.items();\r\n return visibleEditRowIndex >= 0 ? rows[visibleEditRowIndex].isNewRow : false\r\n }\r\n _isRowDeleteAllowed() {}\r\n shouldHighlightCell(parameters) {\r\n var cellModified = this.isCellModified(parameters);\r\n return cellModified && parameters.column.setCellValue && (this.getEditMode() !== EDIT_MODE_ROW || !parameters.row.isEditing)\r\n }\r\n}\r\nexport var dataControllerEditingExtenderMixin = Base => class extends Base {\r\n reload(full, repaintChangesOnly) {\r\n !repaintChangesOnly && this._editingController.refresh();\r\n return super.reload.apply(this, arguments)\r\n }\r\n repaintRows() {\r\n if (this._editingController.isSaving()) {\r\n return\r\n }\r\n return super.repaintRows.apply(this, arguments)\r\n }\r\n _updateEditRow(items) {\r\n var _a;\r\n var editRowKey = this.option(EDITING_EDITROWKEY_OPTION_NAME);\r\n var editRowIndex = gridCoreUtils.getIndexByKey(editRowKey, items);\r\n var editItem = items[editRowIndex];\r\n if (editItem) {\r\n editItem.isEditing = true;\r\n null === (_a = this._updateEditItem) || void 0 === _a ? void 0 : _a.call(this, editItem)\r\n }\r\n }\r\n _updateItemsCore(change) {\r\n super._updateItemsCore(change);\r\n this._updateEditRow(this.items(true))\r\n }\r\n _applyChangeUpdate(change) {\r\n this._updateEditRow(change.items);\r\n super._applyChangeUpdate(change)\r\n }\r\n _applyChangesOnly(change) {\r\n this._updateEditRow(change.items);\r\n super._applyChangesOnly(change)\r\n }\r\n _processItems(items, change) {\r\n items = this._editingController.processItems(items, change);\r\n return super._processItems(items, change)\r\n }\r\n _processDataItem(dataItem, options) {\r\n this._editingController.processDataItem(dataItem, options, this.generateDataValues);\r\n return super._processDataItem(dataItem, options)\r\n }\r\n _processItem(item, options) {\r\n item = super._processItem(item, options);\r\n if (item.isNewRow) {\r\n options.dataIndex--;\r\n delete item.dataIndex\r\n }\r\n return item\r\n }\r\n _getChangedColumnIndices(oldItem, newItem, rowIndex, isLiveUpdate) {\r\n if (oldItem.isNewRow !== newItem.isNewRow || oldItem.removed !== newItem.removed) {\r\n return\r\n }\r\n return super._getChangedColumnIndices.apply(this, arguments)\r\n }\r\n _isCellChanged(oldRow, newRow, visibleRowIndex, columnIndex, isLiveUpdate) {\r\n var cell = oldRow.cells && oldRow.cells[columnIndex];\r\n var isEditing = this._editingController && this._editingController.isEditCell(visibleRowIndex, columnIndex);\r\n if (isLiveUpdate && isEditing) {\r\n return false\r\n }\r\n if (cell && cell.column && !cell.column.showEditorAlways && cell.isEditing !== isEditing) {\r\n return true\r\n }\r\n return super._isCellChanged.apply(this, arguments)\r\n }\r\n needToRefreshOnDataSourceChange(args) {\r\n var isParasiteChange = Array.isArray(args.value) && args.value === args.previousValue && this._editingController.isSaving();\r\n return !isParasiteChange\r\n }\r\n _handleDataSourceChange(args) {\r\n var result = super._handleDataSourceChange(args);\r\n var changes = this.option(\"editing.changes\");\r\n var dataSource = args.value;\r\n if (Array.isArray(dataSource) && changes.length) {\r\n var dataSourceKeys = dataSource.map(item => this.keyOf(item));\r\n var newChanges = changes.filter(change => \"insert\" === change.type || dataSourceKeys.some(key => equalByValue(change.key, key)));\r\n if (newChanges.length !== changes.length) {\r\n this.option(\"editing.changes\", newChanges)\r\n }\r\n var editRowKey = this.option(\"editing.editRowKey\");\r\n var isEditNewItem = newChanges.some(change => \"insert\" === change.type && equalByValue(editRowKey, change.key));\r\n if (!isEditNewItem && dataSourceKeys.every(key => !equalByValue(editRowKey, key))) {\r\n this.option(\"editing.editRowKey\", null)\r\n }\r\n }\r\n return result\r\n }\r\n};\r\nvar rowsView = Base => class extends Base {\r\n getCellIndex($cell, rowIndex) {\r\n if (!$cell.is(\"td\") && rowIndex >= 0) {\r\n var $cellElements = this.getCellElements(rowIndex);\r\n var cellIndex = -1;\r\n each($cellElements, (index, cellElement) => {\r\n if ($(cellElement).find($cell).length) {\r\n cellIndex = index\r\n }\r\n });\r\n return cellIndex\r\n }\r\n return super.getCellIndex.apply(this, arguments)\r\n }\r\n publicMethods() {\r\n return super.publicMethods().concat([\"cellValue\"])\r\n }\r\n _getCellTemplate(options) {\r\n var template = this._editingController.getColumnTemplate(options);\r\n return template || super._getCellTemplate(options)\r\n }\r\n _createRow(row) {\r\n var $row = super._createRow.apply(this, arguments);\r\n if (row) {\r\n var isRowRemoved = !!row.removed;\r\n var isRowInserted = !!row.isNewRow;\r\n var isRowModified = !!row.modified;\r\n isRowInserted && $row.addClass(ROW_INSERTED);\r\n isRowModified && $row.addClass(ROW_MODIFIED);\r\n if (isRowInserted || isRowRemoved) {\r\n $row.removeClass(ROW_SELECTED)\r\n }\r\n }\r\n return $row\r\n }\r\n _getColumnIndexByElement($element) {\r\n var $tableElement = $element.closest(\"table\");\r\n var $tableElements = this.getTableElements();\r\n while ($tableElement.length && !$tableElements.filter($tableElement).length) {\r\n $element = $tableElement.closest(\"td\");\r\n $tableElement = $element.closest(\"table\")\r\n }\r\n return this._getColumnIndexByElementCore($element)\r\n }\r\n _getColumnIndexByElementCore($element) {\r\n var $targetElement = $element.closest(\".\".concat(ROW_CLASS, \"> td:not(.dx-master-detail-cell)\"));\r\n return this.getCellIndex($targetElement)\r\n }\r\n _editCellByClick(e, eventName) {\r\n var editingController = this._editingController;\r\n var $targetElement = $(e.event.target);\r\n var columnIndex = this._getColumnIndexByElement($targetElement);\r\n var row = this._dataController.items()[e.rowIndex];\r\n var allowUpdating = editingController.allowUpdating({\r\n row: row\r\n }, eventName) || row && row.isNewRow;\r\n var column = this._columnsController.getVisibleColumns()[columnIndex];\r\n var isEditedCell = editingController.isEditCell(e.rowIndex, columnIndex);\r\n var allowEditing = allowUpdating && column && (column.allowEditing || isEditedCell);\r\n var startEditAction = this.option(\"editing.startEditAction\") || \"click\";\r\n var isShowEditorAlways = column && column.showEditorAlways;\r\n if (isEditedCell) {\r\n return true\r\n }\r\n if (\"down\" === eventName) {\r\n if (devices.real().ios || devices.real().android) {\r\n resetActiveElement()\r\n }\r\n return isShowEditorAlways && allowEditing && editingController.editCell(e.rowIndex, columnIndex)\r\n }\r\n if (\"click\" === eventName && \"dblClick\" === startEditAction && this._pointerDownTarget === $targetElement.get(0)) {\r\n var withoutSaveEditData = null === row || void 0 === row ? void 0 : row.isNewRow;\r\n editingController.closeEditCell(false, withoutSaveEditData)\r\n }\r\n if (allowEditing && eventName === startEditAction) {\r\n return editingController.editCell(e.rowIndex, columnIndex) || editingController.isEditRow(e.rowIndex)\r\n }\r\n }\r\n _rowPointerDown(e) {\r\n this._pointerDownTarget = e.event.target;\r\n this._pointerDownTimeout = setTimeout(() => {\r\n this._editCellByClick(e, \"down\")\r\n })\r\n }\r\n _rowClickTreeListHack(e) {\r\n super._rowClick.apply(this, arguments)\r\n }\r\n _rowClick(e) {\r\n var isEditForm = $(e.rowElement).hasClass(this.addWidgetPrefix(EDIT_FORM_CLASS));\r\n e.event[TARGET_COMPONENT_NAME] = this.component;\r\n if (!this._editCellByClick(e, \"click\") && !isEditForm) {\r\n super._rowClick.apply(this, arguments)\r\n }\r\n }\r\n _rowDblClickTreeListHack(e) {\r\n super._rowDblClick.apply(this, arguments)\r\n }\r\n _rowDblClick(e) {\r\n if (!this._editCellByClick(e, \"dblClick\")) {\r\n super._rowDblClick.apply(this, arguments)\r\n }\r\n }\r\n _cellPrepared($cell, parameters) {\r\n var _a;\r\n var editingController = this._editingController;\r\n var isCommandCell = !!parameters.column.command;\r\n var isEditableCell = parameters.setValue;\r\n var isEditRow = editingController.isEditRow(parameters.rowIndex);\r\n var isEditing = isEditingCell(isEditRow, parameters);\r\n if (isEditingOrShowEditorAlwaysDataCell(isEditRow, parameters)) {\r\n var {\r\n alignment: alignment\r\n } = parameters.column;\r\n $cell.toggleClass(this.addWidgetPrefix(READONLY_CLASS), !isEditableCell).toggleClass(CELL_FOCUS_DISABLED_CLASS, !isEditableCell);\r\n if (alignment) {\r\n $cell.find(EDITORS_INPUT_SELECTOR).first().css(\"textAlign\", alignment)\r\n }\r\n }\r\n if (isEditing) {\r\n this._editCellPrepared($cell)\r\n }\r\n var hasTemplate = !!(null === (_a = parameters.column) || void 0 === _a ? void 0 : _a.cellTemplate);\r\n if (parameters.column && !isCommandCell && (!hasTemplate || editingController.shouldHighlightCell(parameters))) {\r\n editingController.highlightDataCell($cell, parameters)\r\n }\r\n super._cellPrepared.apply(this, arguments)\r\n }\r\n _getCellOptions(options) {\r\n var cellOptions = super._getCellOptions(options);\r\n cellOptions.isEditing = this._editingController.isEditCell(cellOptions.rowIndex, cellOptions.columnIndex);\r\n return cellOptions\r\n }\r\n _createCell(options) {\r\n var $cell = super._createCell(options);\r\n var isEditRow = this._editingController.isEditRow(options.rowIndex);\r\n isEditingOrShowEditorAlwaysDataCell(isEditRow, options) && $cell.addClass(EDITOR_CELL_CLASS);\r\n return $cell\r\n }\r\n cellValue(rowIndex, columnIdentifier, value, text) {\r\n var cellOptions = this.getCellOptions(rowIndex, columnIdentifier);\r\n if (cellOptions) {\r\n if (void 0 === value) {\r\n return cellOptions.value\r\n }\r\n this._editingController.updateFieldValue(cellOptions, value, text, true)\r\n }\r\n }\r\n dispose() {\r\n super.dispose.apply(this, arguments);\r\n clearTimeout(this._pointerDownTimeout)\r\n }\r\n _renderCore() {\r\n super._renderCore.apply(this, arguments);\r\n return this.waitAsyncTemplates(true).done(() => {\r\n this._editingController._focusEditorIfNeed()\r\n })\r\n }\r\n _editCellPrepared() {}\r\n _formItemPrepared() {}\r\n};\r\nvar headerPanel = Base => class extends Base {\r\n optionChanged(args) {\r\n var {\r\n fullName: fullName\r\n } = args;\r\n switch (args.name) {\r\n case \"editing\":\r\n var excludedOptions = [EDITING_POPUP_OPTION_NAME, EDITING_CHANGES_OPTION_NAME, EDITING_EDITCOLUMNNAME_OPTION_NAME, EDITING_EDITROWKEY_OPTION_NAME];\r\n var shouldInvalidate = fullName && !excludedOptions.some(optionName => optionName === fullName);\r\n shouldInvalidate && this._invalidate();\r\n super.optionChanged(args);\r\n break;\r\n case \"useLegacyColumnButtonTemplate\":\r\n args.handled = true;\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n _getToolbarItems() {\r\n var items = super._getToolbarItems();\r\n var editButtonItems = this._editingController.prepareEditButtons(this);\r\n return editButtonItems.concat(items)\r\n }\r\n isVisible() {\r\n var editingOptions = this._editingController.option(\"editing\");\r\n return super.isVisible() || (null === editingOptions || void 0 === editingOptions ? void 0 : editingOptions.allowAdding)\r\n }\r\n};\r\nexport var editingModule = {\r\n defaultOptions: () => ({\r\n editing: {\r\n mode: \"row\",\r\n refreshMode: \"full\",\r\n newRowPosition: VIEWPORT_TOP_NEW_ROW_POSITION,\r\n allowAdding: false,\r\n allowUpdating: false,\r\n allowDeleting: false,\r\n useIcons: false,\r\n selectTextOnEditStart: false,\r\n confirmDelete: true,\r\n texts: {\r\n editRow: messageLocalization.format(\"dxDataGrid-editingEditRow\"),\r\n saveAllChanges: messageLocalization.format(\"dxDataGrid-editingSaveAllChanges\"),\r\n saveRowChanges: messageLocalization.format(\"dxDataGrid-editingSaveRowChanges\"),\r\n cancelAllChanges: messageLocalization.format(\"dxDataGrid-editingCancelAllChanges\"),\r\n cancelRowChanges: messageLocalization.format(\"dxDataGrid-editingCancelRowChanges\"),\r\n addRow: messageLocalization.format(\"dxDataGrid-editingAddRow\"),\r\n deleteRow: messageLocalization.format(\"dxDataGrid-editingDeleteRow\"),\r\n undeleteRow: messageLocalization.format(\"dxDataGrid-editingUndeleteRow\"),\r\n confirmDeleteMessage: messageLocalization.format(\"dxDataGrid-editingConfirmDeleteMessage\"),\r\n confirmDeleteTitle: \"\"\r\n },\r\n form: {\r\n colCount: 2\r\n },\r\n popup: {},\r\n startEditAction: \"click\",\r\n editRowKey: null,\r\n editColumnName: null,\r\n changes: []\r\n },\r\n useLegacyColumnButtonTemplate: false\r\n }),\r\n controllers: {\r\n editing: EditingControllerImpl\r\n },\r\n extenders: {\r\n controllers: {\r\n data: dataControllerEditingExtenderMixin\r\n },\r\n views: {\r\n rowsView: rowsView,\r\n headerPanel: headerPanel\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_editing.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport \"./module_not_extended/editor_factory\";\r\nimport {\r\n dataControllerEditingExtenderMixin,\r\n editingModule\r\n} from \"../../grids/grid_core/editing/m_editing\";\r\nimport gridCore from \"./m_core\";\r\nvar data = Base => class extends(dataControllerEditingExtenderMixin(Base)) {\r\n _changeRowExpandCore(key) {\r\n var editingController = this._editingController;\r\n if (Array.isArray(key)) {\r\n editingController && editingController.refresh()\r\n }\r\n return super._changeRowExpandCore.apply(this, arguments)\r\n }\r\n};\r\ngridCore.registerModule(\"editing\", _extends(_extends({}, editingModule), {\r\n extenders: _extends(_extends({}, editingModule.extenders), {\r\n controllers: _extends(_extends({}, editingModule.extenders.controllers), {\r\n data: data\r\n })\r\n })\r\n}));\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/m_editing_row_based.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n EDIT_FORM_CLASS,\r\n EDIT_MODE_ROW,\r\n EDIT_ROW,\r\n EDITING_EDITROWKEY_OPTION_NAME,\r\n MODES_WITH_DELAYED_FOCUS,\r\n ROW_SELECTED_CLASS\r\n} from \"./const\";\r\nvar editingControllerExtender = Base => class extends Base {\r\n isRowEditMode() {\r\n return this.getEditMode() === EDIT_MODE_ROW\r\n }\r\n _afterCancelEditData(rowIndex) {\r\n var dataController = this._dataController;\r\n if (this.isRowBasedEditMode() && rowIndex >= 0) {\r\n dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [rowIndex, rowIndex + 1]\r\n })\r\n } else {\r\n super._afterCancelEditData(rowIndex)\r\n }\r\n }\r\n _isDefaultButtonVisible(button, options) {\r\n var isRowMode = this.isRowBasedEditMode();\r\n var isPopupEditMode = this.isPopupEditMode();\r\n var isEditRow = !isPopupEditMode && options.row && equalByValue(options.row.key, this.option(EDITING_EDITROWKEY_OPTION_NAME));\r\n if (isRowMode) {\r\n switch (button.name) {\r\n case \"edit\":\r\n return !isEditRow && this.allowUpdating(options);\r\n case \"delete\":\r\n return super._isDefaultButtonVisible(button, options) && !isEditRow;\r\n case \"save\":\r\n case \"cancel\":\r\n return isEditRow;\r\n default:\r\n return super._isDefaultButtonVisible(button, options)\r\n }\r\n }\r\n return super._isDefaultButtonVisible(button, options)\r\n }\r\n isEditRow(rowIndex) {\r\n return this.isRowBasedEditMode() && this.isEditRowByIndex(rowIndex)\r\n }\r\n _cancelSaving(result) {\r\n if (this.isRowBasedEditMode()) {\r\n if (!this.hasChanges()) {\r\n this._cancelEditDataCore()\r\n }\r\n }\r\n super._cancelSaving(result)\r\n }\r\n _refreshCore(params) {\r\n var {\r\n allowCancelEditing: allowCancelEditing\r\n } = null !== params && void 0 !== params ? params : {};\r\n if (this.isRowBasedEditMode()) {\r\n var hasUpdateChanges = this.getChanges().filter(it => \"update\" === it.type).length > 0;\r\n this.init();\r\n allowCancelEditing && hasUpdateChanges && this._cancelEditDataCore()\r\n }\r\n super._refreshCore(params)\r\n }\r\n _isEditColumnVisible() {\r\n var result = super._isEditColumnVisible();\r\n var editingOptions = this.option(\"editing\");\r\n var isRowEditMode = this.isRowEditMode();\r\n var isVisibleInRowEditMode = editingOptions.allowUpdating || editingOptions.allowAdding;\r\n return result || isRowEditMode && isVisibleInRowEditMode\r\n }\r\n _focusEditorIfNeed() {\r\n var editMode = this.getEditMode();\r\n if (this._needFocusEditor) {\r\n if (MODES_WITH_DELAYED_FOCUS.includes(editMode)) {\r\n var $editingCell = this.getFocusedCellInRow(this._getVisibleEditRowIndex());\r\n this._delayedInputFocus($editingCell, () => {\r\n $editingCell && this.component.focus($editingCell)\r\n })\r\n }\r\n this._needFocusEditor = false\r\n }\r\n }\r\n};\r\nvar data = Base => class extends Base {\r\n _getChangedColumnIndices(oldItem, newItem, rowIndex, isLiveUpdate) {\r\n if (this._editingController.isRowBasedEditMode() && oldItem.isEditing !== newItem.isEditing) {\r\n return\r\n }\r\n return super._getChangedColumnIndices.apply(this, arguments)\r\n }\r\n};\r\nvar rowsView = Base => class extends Base {\r\n _createRow(row) {\r\n var $row = super._createRow.apply(this, arguments);\r\n if (row) {\r\n var editingController = this._editingController;\r\n var isEditRow = editingController.isEditRow(row.rowIndex);\r\n if (isEditRow) {\r\n $row.addClass(EDIT_ROW);\r\n $row.removeClass(ROW_SELECTED_CLASS);\r\n if (\"detail\" === row.rowType) {\r\n $row.addClass(this.addWidgetPrefix(EDIT_FORM_CLASS))\r\n }\r\n }\r\n }\r\n return $row\r\n }\r\n _update(change) {\r\n super._update(change);\r\n if (\"updateSelection\" === change.changeType) {\r\n this.getTableElements().children(\"tbody\").children(\".\".concat(EDIT_ROW)).removeClass(ROW_SELECTED_CLASS)\r\n }\r\n }\r\n};\r\nexport var editingRowBasedModule = {\r\n extenders: {\r\n controllers: {\r\n editing: editingControllerExtender,\r\n data: data\r\n },\r\n views: {\r\n rowsView: rowsView\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/editing_row_based.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editingRowBasedModule\r\n} from \"../../../grids/grid_core/editing/m_editing_row_based\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"editingRowBased\", editingRowBasedModule);\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.items_runtime_info.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Guid from \"../../core/guid\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isString\r\n} from \"../../core/utils/type\";\r\nexport default class FormItemsRunTimeInfo {\r\n constructor() {\r\n this._map = {}\r\n }\r\n _findWidgetInstance(condition) {\r\n var result;\r\n each(this._map, (function(guid, _ref) {\r\n var {\r\n widgetInstance: widgetInstance,\r\n item: item\r\n } = _ref;\r\n if (condition(item)) {\r\n result = widgetInstance;\r\n return false\r\n }\r\n }));\r\n return result\r\n }\r\n _findFieldByCondition(callback, valueExpr) {\r\n var result;\r\n each(this._map, (function(key, value) {\r\n if (callback(value)) {\r\n result = \"guid\" === valueExpr ? key : value[valueExpr];\r\n return false\r\n }\r\n }));\r\n return result\r\n }\r\n clear() {\r\n this._map = {}\r\n }\r\n removeItemsByItems(itemsRunTimeInfo) {\r\n each(itemsRunTimeInfo.getItems(), guid => this.removeItemByKey(guid))\r\n }\r\n removeItemByKey(key) {\r\n delete this._map[key]\r\n }\r\n add(options) {\r\n var key = options.guid || new Guid;\r\n this._map[key] = options;\r\n return key\r\n }\r\n addItemsOrExtendFrom(itemsRunTimeInfo) {\r\n itemsRunTimeInfo.each((key, itemRunTimeInfo) => {\r\n if (this._map[key]) {\r\n if (itemRunTimeInfo.widgetInstance) {\r\n this._map[key].widgetInstance = itemRunTimeInfo.widgetInstance\r\n }\r\n this._map[key].$itemContainer = itemRunTimeInfo.$itemContainer\r\n } else {\r\n this.add({\r\n item: itemRunTimeInfo.item,\r\n widgetInstance: itemRunTimeInfo.widgetInstance,\r\n guid: key,\r\n $itemContainer: itemRunTimeInfo.$itemContainer\r\n })\r\n }\r\n })\r\n }\r\n extendRunTimeItemInfoByKey(key, options) {\r\n if (this._map[key]) {\r\n this._map[key] = extend(this._map[key], options)\r\n }\r\n }\r\n findWidgetInstanceByItem(item) {\r\n return this._findWidgetInstance(storedItem => storedItem === item)\r\n }\r\n findGroupOrTabLayoutManagerByPath(targetPath) {\r\n return this._findFieldByCondition(_ref2 => {\r\n var {\r\n path: path\r\n } = _ref2;\r\n return path === targetPath\r\n }, \"layoutManager\")\r\n }\r\n findKeyByPath(targetPath) {\r\n return this._findFieldByCondition(_ref3 => {\r\n var {\r\n path: path\r\n } = _ref3;\r\n return path === targetPath\r\n }, \"guid\")\r\n }\r\n findWidgetInstanceByName(name) {\r\n return this._findWidgetInstance(item => name === item.name)\r\n }\r\n findWidgetInstanceByDataField(dataField) {\r\n return this._findWidgetInstance(item => dataField === (isString(item) ? item : item.dataField))\r\n }\r\n findItemContainerByItem(item) {\r\n for (var key in this._map) {\r\n if (this._map[key].item === item) {\r\n return this._map[key].$itemContainer\r\n }\r\n }\r\n return null\r\n }\r\n findItemIndexByItem(targetItem) {\r\n return this._findFieldByCondition(_ref4 => {\r\n var {\r\n item: item\r\n } = _ref4;\r\n return item === targetItem\r\n }, \"itemIndex\")\r\n }\r\n findPreparedItemByItem(item) {\r\n return this._findFieldByCondition(_ref5 => {\r\n var {\r\n item: currentItem\r\n } = _ref5;\r\n return currentItem === item\r\n }, \"preparedItem\")\r\n }\r\n getItems() {\r\n return this._map\r\n }\r\n each(handler) {\r\n each(this._map, (function(key, itemRunTimeInfo) {\r\n handler(key, itemRunTimeInfo)\r\n }))\r\n }\r\n removeItemsByPathStartWith(path) {\r\n var keys = Object.keys(this._map);\r\n var filteredKeys = keys.filter(key => {\r\n if (this._map[key].path) {\r\n return this._map[key].path.indexOf(path, 0) > -1\r\n }\r\n return false\r\n });\r\n filteredKeys.forEach(key => this.removeItemByKey(key))\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/multi_view/ui.multi_view.animation.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nexport var _translator = {\r\n move($element, position) {\r\n move($element, {\r\n left: position\r\n })\r\n }\r\n};\r\nexport var animation = {\r\n moveTo($element, position, duration, completeAction) {\r\n fx.animate($element, {\r\n type: \"slide\",\r\n to: {\r\n left: position\r\n },\r\n duration: duration,\r\n complete: completeAction\r\n })\r\n },\r\n complete($element) {\r\n fx.stop($element, true)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/multi_view.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n locate\r\n} from \"../animation/translator\";\r\nimport {\r\n _translator,\r\n animation\r\n} from \"./multi_view/ui.multi_view.animation\";\r\nimport {\r\n sign\r\n} from \"../core/utils/math\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n noop,\r\n deferRender\r\n} from \"../core/utils/common\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../events/visibility_change\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport devices from \"../core/devices\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.live_update\";\r\nimport Swipeable from \"../events/gesture/swipeable\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar MULTIVIEW_CLASS = \"dx-multiview\";\r\nvar MULTIVIEW_WRAPPER_CLASS = \"dx-multiview-wrapper\";\r\nvar MULTIVIEW_ITEM_CONTAINER_CLASS = \"dx-multiview-item-container\";\r\nvar MULTIVIEW_ITEM_CLASS = \"dx-multiview-item\";\r\nvar MULTIVIEW_ITEM_HIDDEN_CLASS = \"dx-multiview-item-hidden\";\r\nvar MULTIVIEW_ITEM_DATA_KEY = \"dxMultiViewItemData\";\r\nvar MULTIVIEW_ANIMATION_DURATION = 200;\r\nvar toNumber = value => +value;\r\nvar position = $element => locate($element).left;\r\nvar MultiView = CollectionWidget.inherit({\r\n _activeStateUnit: \".\" + MULTIVIEW_ITEM_CLASS,\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n pageUp: noop,\r\n pageDown: noop\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n selectedIndex: 0,\r\n swipeEnabled: true,\r\n animationEnabled: true,\r\n loop: false,\r\n deferRendering: true,\r\n _itemAttributes: {\r\n role: \"tabpanel\"\r\n },\r\n loopItemFocus: false,\r\n selectOnFocus: true,\r\n selectionMode: \"single\",\r\n selectionRequired: true,\r\n selectByClick: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _itemClass: function() {\r\n return MULTIVIEW_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return MULTIVIEW_ITEM_DATA_KEY\r\n },\r\n _itemContainer: function() {\r\n return this._$itemContainer\r\n },\r\n _itemElements: function() {\r\n return this._itemContainer().children(this._itemSelector())\r\n },\r\n _itemWidth: function() {\r\n if (!this._itemWidthValue) {\r\n this._itemWidthValue = getWidth(this._$wrapper)\r\n }\r\n return this._itemWidthValue\r\n },\r\n _clearItemWidthCache: function() {\r\n delete this._itemWidthValue\r\n },\r\n _itemsCount: function() {\r\n return this.option(\"items\").length\r\n },\r\n _normalizeIndex: function(index) {\r\n var count = this._itemsCount();\r\n if (index < 0) {\r\n index += count\r\n }\r\n if (index >= count) {\r\n index -= count\r\n }\r\n return index\r\n },\r\n _getRTLSignCorrection: function() {\r\n return this.option(\"rtlEnabled\") ? -1 : 1\r\n },\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n var $element = this.$element();\r\n $element.addClass(MULTIVIEW_CLASS);\r\n this._$wrapper = $(\"<div>\").addClass(MULTIVIEW_WRAPPER_CLASS);\r\n this._$wrapper.appendTo($element);\r\n this._$itemContainer = $(\"<div>\").addClass(MULTIVIEW_ITEM_CONTAINER_CLASS);\r\n this._$itemContainer.appendTo(this._$wrapper);\r\n this.option(\"loopItemFocus\", this.option(\"loop\"));\r\n this._findBoundaryIndices();\r\n this._initSwipeable()\r\n },\r\n _initMarkup: function() {\r\n this._deferredItems = [];\r\n this.callBase();\r\n var selectedItemIndices = this._getSelectedItemIndices();\r\n this._updateItemsVisibility(selectedItemIndices[0])\r\n },\r\n _afterItemElementDeleted: function($item, deletedActionArgs) {\r\n this.callBase($item, deletedActionArgs);\r\n if (this._deferredItems) {\r\n this._deferredItems.splice(deletedActionArgs.itemIndex, 1)\r\n }\r\n },\r\n _beforeItemElementInserted: function(change) {\r\n this.callBase.apply(this, arguments);\r\n if (this._deferredItems) {\r\n this._deferredItems.splice(change.index, 0, null)\r\n }\r\n },\r\n _executeItemRenderAction: function(index, itemData, itemElement) {\r\n index = (this.option(\"items\") || []).indexOf(itemData);\r\n this.callBase(index, itemData, itemElement)\r\n },\r\n _renderItemContent: function(args) {\r\n var renderContentDeferred = new Deferred;\r\n var that = this;\r\n var callBase = this.callBase;\r\n var deferred = new Deferred;\r\n deferred.done((function() {\r\n var $itemContent = callBase.call(that, args);\r\n renderContentDeferred.resolve($itemContent)\r\n }));\r\n this._deferredItems[args.index] = deferred;\r\n this.option(\"deferRendering\") || deferred.resolve();\r\n return renderContentDeferred.promise()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n deferRender(() => {\r\n var selectedItemIndices = this._getSelectedItemIndices();\r\n this._updateItems(selectedItemIndices[0])\r\n })\r\n },\r\n _updateItems: function(selectedIndex, newIndex) {\r\n this._updateItemsPosition(selectedIndex, newIndex);\r\n this._updateItemsVisibility(selectedIndex, newIndex)\r\n },\r\n _modifyByChanges: function() {\r\n this.callBase.apply(this, arguments);\r\n var selectedItemIndices = this._getSelectedItemIndices();\r\n this._updateItemsVisibility(selectedItemIndices[0])\r\n },\r\n _updateItemsPosition: function(selectedIndex, newIndex) {\r\n var $itemElements = this._itemElements();\r\n var positionSign = isDefined(newIndex) ? -this._animationDirection(newIndex, selectedIndex) : void 0;\r\n var $selectedItem = $itemElements.eq(selectedIndex);\r\n _translator.move($selectedItem, 0);\r\n if (isDefined(newIndex)) {\r\n _translator.move($itemElements.eq(newIndex), 100 * positionSign + \"%\")\r\n }\r\n },\r\n _updateItemsVisibility: function(selectedIndex, newIndex) {\r\n var $itemElements = this._itemElements();\r\n $itemElements.each(function(itemIndex, item) {\r\n var $item = $(item);\r\n var isHidden = itemIndex !== selectedIndex && itemIndex !== newIndex;\r\n if (!isHidden) {\r\n this._renderSpecificItem(itemIndex)\r\n }\r\n $item.toggleClass(MULTIVIEW_ITEM_HIDDEN_CLASS, isHidden);\r\n this.setAria(\"hidden\", isHidden || void 0, $item)\r\n }.bind(this))\r\n },\r\n _renderSpecificItem: function(index) {\r\n var $item = this._itemElements().eq(index);\r\n var hasItemContent = $item.find(this._itemContentClass()).length > 0;\r\n if (isDefined(index) && !hasItemContent) {\r\n this._deferredItems[index].resolve();\r\n triggerResizeEvent($item)\r\n }\r\n },\r\n _refreshItem: function($item, item) {\r\n this.callBase($item, item);\r\n this._updateItemsVisibility(this.option(\"selectedIndex\"))\r\n },\r\n _setAriaSelectionAttribute: noop,\r\n _updateSelection: function(addedSelection, removedSelection) {\r\n var newIndex = addedSelection[0];\r\n var prevIndex = removedSelection[0];\r\n animation.complete(this._$itemContainer);\r\n this._updateItems(prevIndex, newIndex);\r\n var animationDirection = this._animationDirection(newIndex, prevIndex);\r\n this._animateItemContainer(animationDirection * this._itemWidth(), function() {\r\n _translator.move(this._$itemContainer, 0);\r\n this._updateItems(newIndex);\r\n getWidth(this._$itemContainer)\r\n }.bind(this))\r\n },\r\n _animateItemContainer: function(position, completeCallback) {\r\n var duration = this.option(\"animationEnabled\") ? MULTIVIEW_ANIMATION_DURATION : 0;\r\n animation.moveTo(this._$itemContainer, position, duration, completeCallback)\r\n },\r\n _animationDirection: function(newIndex, prevIndex) {\r\n var containerPosition = position(this._$itemContainer);\r\n var indexDifference = (prevIndex - newIndex) * this._getRTLSignCorrection() * this._getItemFocusLoopSignCorrection();\r\n var isSwipePresent = 0 !== containerPosition;\r\n var directionSignVariable = isSwipePresent ? containerPosition : indexDifference;\r\n return sign(directionSignVariable)\r\n },\r\n _getSwipeDisabledState() {\r\n return !this.option(\"swipeEnabled\") || this._itemsCount() <= 1\r\n },\r\n _initSwipeable() {\r\n this._createComponent(this.$element(), Swipeable, {\r\n disabled: this._getSwipeDisabledState(),\r\n elastic: false,\r\n itemSizeFunc: this._itemWidth.bind(this),\r\n onStart: args => this._swipeStartHandler(args.event),\r\n onUpdated: args => this._swipeUpdateHandler(args.event),\r\n onEnd: args => this._swipeEndHandler(args.event)\r\n })\r\n },\r\n _findBoundaryIndices() {\r\n var _firstIndex2, _lastIndex;\r\n var items = this.option(\"items\");\r\n var firstIndex;\r\n var lastIndex;\r\n items.forEach((item, index) => {\r\n var isDisabled = Boolean(null === item || void 0 === item ? void 0 : item.disabled);\r\n if (!isDisabled) {\r\n var _firstIndex;\r\n null !== (_firstIndex = firstIndex) && void 0 !== _firstIndex ? _firstIndex : firstIndex = index;\r\n lastIndex = index\r\n }\r\n });\r\n this._boundaryIndices = {\r\n firstAvailableIndex: null !== (_firstIndex2 = firstIndex) && void 0 !== _firstIndex2 ? _firstIndex2 : 0,\r\n lastAvailableIndex: null !== (_lastIndex = lastIndex) && void 0 !== _lastIndex ? _lastIndex : items.length - 1,\r\n firstTrueIndex: 0,\r\n lastTrueIndex: items.length - 1\r\n }\r\n },\r\n _swipeStartHandler: function(e) {\r\n animation.complete(this._$itemContainer);\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var loop = this.option(\"loop\");\r\n var {\r\n firstAvailableIndex: firstAvailableIndex,\r\n lastAvailableIndex: lastAvailableIndex\r\n } = this._boundaryIndices;\r\n var rtl = this.option(\"rtlEnabled\");\r\n e.maxLeftOffset = toNumber(loop || (rtl ? selectedIndex > firstAvailableIndex : selectedIndex < lastAvailableIndex));\r\n e.maxRightOffset = toNumber(loop || (rtl ? selectedIndex < lastAvailableIndex : selectedIndex > firstAvailableIndex));\r\n this._swipeDirection = null\r\n },\r\n _swipeUpdateHandler: function(e) {\r\n var offset = e.offset;\r\n var swipeDirection = sign(offset) * this._getRTLSignCorrection();\r\n _translator.move(this._$itemContainer, offset * this._itemWidth());\r\n if (swipeDirection !== this._swipeDirection) {\r\n this._swipeDirection = swipeDirection;\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var newIndex = this._normalizeIndex(selectedIndex - swipeDirection);\r\n this._updateItems(selectedIndex, newIndex)\r\n }\r\n },\r\n _findNextAvailableIndex(index, offset) {\r\n var {\r\n items: items,\r\n loop: loop\r\n } = this.option();\r\n var {\r\n firstAvailableIndex: firstAvailableIndex,\r\n lastAvailableIndex: lastAvailableIndex,\r\n firstTrueIndex: firstTrueIndex,\r\n lastTrueIndex: lastTrueIndex\r\n } = this._boundaryIndices;\r\n var isFirstActive = [firstTrueIndex, firstAvailableIndex].includes(index);\r\n var isLastActive = [lastTrueIndex, lastAvailableIndex].includes(index);\r\n if (loop) {\r\n if (isFirstActive && offset < 0) {\r\n return lastAvailableIndex\r\n } else if (isLastActive && offset > 0) {\r\n return firstAvailableIndex\r\n }\r\n }\r\n for (var i = index + offset; i >= firstAvailableIndex && i <= lastAvailableIndex; i += offset) {\r\n var isDisabled = Boolean(items[i].disabled);\r\n if (!isDisabled) {\r\n return i\r\n }\r\n }\r\n return index\r\n },\r\n _swipeEndHandler: function(e) {\r\n var targetOffset = e.targetOffset * this._getRTLSignCorrection();\r\n if (targetOffset) {\r\n var newSelectedIndex = this._findNextAvailableIndex(this.option(\"selectedIndex\"), -targetOffset);\r\n this.option(\"selectedIndex\", newSelectedIndex);\r\n var $selectedElement = this.itemElements().filter(\".dx-item-selected\");\r\n this.option(\"focusStateEnabled\") && this.option(\"focusedElement\", getPublicElement($selectedElement))\r\n } else {\r\n this._animateItemContainer(0, noop)\r\n }\r\n },\r\n _getItemFocusLoopSignCorrection: function() {\r\n return this._itemFocusLooped ? -1 : 1\r\n },\r\n _moveFocus: function() {\r\n this.callBase.apply(this, arguments);\r\n this._itemFocusLooped = false\r\n },\r\n _prevItem: function($items) {\r\n var $result = this.callBase.apply(this, arguments);\r\n this._itemFocusLooped = $result.is($items.last());\r\n return $result\r\n },\r\n _nextItem: function($items) {\r\n var $result = this.callBase.apply(this, arguments);\r\n this._itemFocusLooped = $result.is($items.first());\r\n return $result\r\n },\r\n _dimensionChanged: function() {\r\n this._clearItemWidthCache()\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _updateSwipeDisabledState() {\r\n var disabled = this._getSwipeDisabledState();\r\n Swipeable.getInstance(this.$element()).option(\"disabled\", disabled)\r\n },\r\n _dispose: function() {\r\n delete this._boundaryIndices;\r\n this.callBase()\r\n },\r\n _optionChanged: function(args) {\r\n var value = args.value;\r\n switch (args.name) {\r\n case \"loop\":\r\n this.option(\"loopItemFocus\", value);\r\n break;\r\n case \"animationEnabled\":\r\n break;\r\n case \"swipeEnabled\":\r\n this._updateSwipeDisabledState();\r\n break;\r\n case \"deferRendering\":\r\n this._invalidate();\r\n break;\r\n case \"items\":\r\n this._updateSwipeDisabledState();\r\n this._findBoundaryIndices();\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxMultiView\", MultiView);\r\nexport default MultiView;\r\n","/**\r\n * DevExtreme (esm/ui/tabs/item.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport CollectionWidgetItem from \"../collection/item\";\r\nvar TABS_ITEM_BADGE_CLASS = \"dx-tabs-item-badge\";\r\nvar BADGE_CLASS = \"dx-badge\";\r\nvar TabsItem = CollectionWidgetItem.inherit({\r\n _renderWatchers: function() {\r\n this.callBase();\r\n this._startWatcher(\"badge\", this._renderBadge.bind(this))\r\n },\r\n _renderBadge: function(badge) {\r\n this._$element.children(\".\" + BADGE_CLASS).remove();\r\n if (!badge) {\r\n return\r\n }\r\n var $badge = $(\"<div>\").addClass(TABS_ITEM_BADGE_CLASS).addClass(BADGE_CLASS).text(badge);\r\n this._$element.append($badge)\r\n }\r\n});\r\nexport default TabsItem;\r\n","/**\r\n * DevExtreme (esm/ui/tabs/constants.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var TABS_EXPANDED_CLASS = \"dx-tabs-expanded\";\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_scroll_left_max.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function getScrollLeftMax(element) {\r\n return element.scrollWidth - element.clientWidth\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_boundary_props.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getScrollLeftMax\r\n} from \"./get_scroll_left_max\";\r\nimport {\r\n getScrollTopMax\r\n} from \"./get_scroll_top_max\";\r\nimport {\r\n ScrollDirection\r\n} from \"./scroll_direction\";\r\nexport function isReachedLeft(scrollOffsetLeft, epsilon) {\r\n return Math.round(scrollOffsetLeft) <= epsilon\r\n}\r\nexport function isReachedRight(element, scrollOffsetLeft, epsilon) {\r\n return Math.round(getScrollLeftMax(element) - scrollOffsetLeft) <= epsilon\r\n}\r\nexport function isReachedTop(scrollOffsetTop, epsilon) {\r\n return Math.round(scrollOffsetTop) <= epsilon\r\n}\r\nexport function isReachedBottom(element, scrollOffsetTop, pocketHeight, epsilon) {\r\n return Math.round(getScrollTopMax(element) - scrollOffsetTop - pocketHeight) <= epsilon\r\n}\r\nexport function getBoundaryProps(direction, scrollOffset, element) {\r\n var pocketHeight = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0;\r\n var {\r\n left: left,\r\n top: top\r\n } = scrollOffset;\r\n var boundaryProps = {};\r\n var {\r\n isHorizontal: isHorizontal,\r\n isVertical: isVertical\r\n } = new ScrollDirection(direction);\r\n if (isHorizontal) {\r\n boundaryProps.reachedLeft = isReachedLeft(left, 0);\r\n boundaryProps.reachedRight = isReachedRight(element, left, 0)\r\n }\r\n if (isVertical) {\r\n boundaryProps.reachedTop = isReachedTop(top, 0);\r\n boundaryProps.reachedBottom = isReachedBottom(element, top, pocketHeight, 0)\r\n }\r\n return boundaryProps\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/tabs.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getOuterWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport devices from \"../core/devices\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Button from \"./button\";\r\nimport {\r\n render\r\n} from \"./widget/utils.ink_ripple\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport pointerEvents from \"../events/pointer\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport TabsItem from \"./tabs/item\";\r\nimport {\r\n TABS_EXPANDED_CLASS\r\n} from \"./tabs/constants\";\r\nimport {\r\n isMaterial,\r\n current as currentTheme\r\n} from \"./themes\";\r\nimport holdEvent from \"../events/hold\";\r\nimport Scrollable from \"./scroll_view/ui.scrollable\";\r\nimport {\r\n default as CollectionWidget\r\n} from \"./collection/ui.collection_widget.live_update\";\r\nimport {\r\n getImageContainer\r\n} from \"../core/utils/icon\";\r\nimport {\r\n BindableTemplate\r\n} from \"../core/templates/bindable_template\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n isReachedLeft,\r\n isReachedRight\r\n} from \"../renovation/ui/scroll_view/utils/get_boundary_props\";\r\nimport {\r\n getScrollLeftMax\r\n} from \"../renovation/ui/scroll_view/utils/get_scroll_left_max\";\r\nvar TABS_CLASS = \"dx-tabs\";\r\nvar TABS_WRAPPER_CLASS = \"dx-tabs-wrapper\";\r\nvar TABS_STRETCHED_CLASS = \"dx-tabs-stretched\";\r\nvar TABS_SCROLLABLE_CLASS = \"dx-tabs-scrollable\";\r\nvar TABS_NAV_BUTTONS_CLASS = \"dx-tabs-nav-buttons\";\r\nvar OVERFLOW_HIDDEN_CLASS = \"dx-overflow-hidden\";\r\nvar TABS_ITEM_CLASS = \"dx-tab\";\r\nvar TABS_ITEM_SELECTED_CLASS = \"dx-tab-selected\";\r\nvar TABS_NAV_BUTTON_CLASS = \"dx-tabs-nav-button\";\r\nvar TABS_LEFT_NAV_BUTTON_CLASS = \"dx-tabs-nav-button-left\";\r\nvar TABS_RIGHT_NAV_BUTTON_CLASS = \"dx-tabs-nav-button-right\";\r\nvar TABS_ITEM_TEXT_CLASS = \"dx-tab-text\";\r\nvar FOCUSED_NEXT_TAB_CLASS = \"dx-focused-next-tab\";\r\nvar TABS_ITEM_DATA_KEY = \"dxTabData\";\r\nvar BUTTON_NEXT_ICON = \"chevronnext\";\r\nvar BUTTON_PREV_ICON = \"chevronprev\";\r\nvar FEEDBACK_HIDE_TIMEOUT = 100;\r\nvar FEEDBACK_DURATION_INTERVAL = 5;\r\nvar FEEDBACK_SCROLL_TIMEOUT = 300;\r\nvar TAB_OFFSET = 30;\r\nvar Tabs = CollectionWidget.inherit({\r\n _activeStateUnit: \".\" + TABS_ITEM_CLASS,\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n showNavButtons: true,\r\n scrollByContent: true,\r\n scrollingEnabled: true,\r\n selectionMode: \"single\",\r\n activeStateEnabled: true,\r\n selectionRequired: false,\r\n selectOnFocus: true,\r\n loopItemFocus: false,\r\n useInkRipple: false,\r\n badgeExpr: function(data) {\r\n return data ? data.badge : void 0\r\n },\r\n _itemAttributes: {\r\n role: \"tab\"\r\n }\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = currentTheme();\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" !== devices.real().deviceType\r\n },\r\n options: {\r\n showNavButtons: false\r\n }\r\n }, {\r\n device: {\r\n deviceType: \"desktop\"\r\n },\r\n options: {\r\n scrollByContent: false\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n useInkRipple: true,\r\n selectOnFocus: false\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.setAria(\"role\", \"tablist\");\r\n this.$element().addClass(TABS_CLASS);\r\n this._renderWrapper();\r\n this._renderMultiple();\r\n this._feedbackHideTimeout = FEEDBACK_HIDE_TIMEOUT\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(function($container, data) {\r\n if (isPlainObject(data)) {\r\n this._prepareDefaultItemTemplate(data, $container)\r\n } else {\r\n $container.text(String(data))\r\n }\r\n var $iconElement = getImageContainer(data.icon);\r\n $iconElement && $iconElement.prependTo($container);\r\n $container.wrapInner($(\"<span>\").addClass(TABS_ITEM_TEXT_CLASS))\r\n }.bind(this), [\"text\", \"html\", \"icon\"], this.option(\"integrationOptions.watchMethod\"))\r\n })\r\n },\r\n _createItemByTemplate: function(itemTemplate, renderArgs) {\r\n var {\r\n itemData: itemData,\r\n container: container,\r\n index: index\r\n } = renderArgs;\r\n this._deferredTemplates[index] = new Deferred;\r\n return itemTemplate.render({\r\n model: itemData,\r\n container: container,\r\n index: index,\r\n onRendered: () => this._deferredTemplates[index].resolve()\r\n })\r\n },\r\n _itemClass: function() {\r\n return TABS_ITEM_CLASS\r\n },\r\n _selectedItemClass: function() {\r\n return TABS_ITEM_SELECTED_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return TABS_ITEM_DATA_KEY\r\n },\r\n _initMarkup: function() {\r\n this._deferredTemplates = [];\r\n this.callBase();\r\n this.option(\"useInkRipple\") && this._renderInkRipple();\r\n this.$element().addClass(OVERFLOW_HIDDEN_CLASS)\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._deferRenderScrolling()\r\n },\r\n _deferRenderScrolling() {\r\n when.apply(this, this._deferredTemplates).done(() => this._renderScrolling())\r\n },\r\n _renderScrolling: function() {\r\n var removeClasses = [TABS_STRETCHED_CLASS, TABS_EXPANDED_CLASS, OVERFLOW_HIDDEN_CLASS];\r\n this.$element().removeClass(removeClasses.join(\" \"));\r\n if (this.option(\"scrollingEnabled\") && this._isItemsWidthExceeded()) {\r\n if (!this._scrollable) {\r\n this._renderScrollable();\r\n this._renderNavButtons()\r\n }\r\n var scrollable = this.getScrollable();\r\n scrollable.update();\r\n if (this.option(\"rtlEnabled\")) {\r\n var maxLeftOffset = getScrollLeftMax($(this.getScrollable().container()).get(0));\r\n scrollable.scrollTo({\r\n left: maxLeftOffset\r\n })\r\n }\r\n this._updateNavButtonsVisibility();\r\n this._scrollToItem(this.option(\"selectedItem\"))\r\n }\r\n if (!(this.option(\"scrollingEnabled\") && this._isItemsWidthExceeded())) {\r\n this._cleanScrolling();\r\n if (this._needStretchItems() && !this._isItemsWidthExceeded()) {\r\n this.$element().addClass(TABS_STRETCHED_CLASS)\r\n }\r\n this.$element().removeClass(TABS_NAV_BUTTONS_CLASS).addClass(TABS_EXPANDED_CLASS)\r\n }\r\n },\r\n _isItemsWidthExceeded: function() {\r\n var tabItemsWidth = this._getSummaryItemsWidth(this._getVisibleItems(), true);\r\n return tabItemsWidth - 1 > getWidth(this.$element())\r\n },\r\n _needStretchItems: function() {\r\n var $visibleItems = this._getVisibleItems();\r\n var elementWidth = getWidth(this.$element());\r\n var itemsWidth = [];\r\n each($visibleItems, (_, item) => {\r\n itemsWidth.push(getOuterWidth(item, true))\r\n });\r\n var maxTabWidth = Math.max.apply(null, itemsWidth);\r\n return maxTabWidth >= elementWidth / $visibleItems.length\r\n },\r\n _cleanNavButtons: function() {\r\n if (!this._leftButton || !this._rightButton) {\r\n return\r\n }\r\n this._leftButton.$element().remove();\r\n this._rightButton.$element().remove();\r\n this._leftButton = null;\r\n this._rightButton = null\r\n },\r\n _cleanScrolling: function() {\r\n if (!this._scrollable) {\r\n return\r\n }\r\n this._$wrapper.appendTo(this.$element());\r\n this._scrollable.$element().remove();\r\n this._scrollable = null;\r\n this._cleanNavButtons()\r\n },\r\n _renderInkRipple: function() {\r\n this._inkRipple = render()\r\n },\r\n _getPointerEvent: () => pointerEvents.up,\r\n _toggleActiveState: function($element, value, e) {\r\n this.callBase.apply(this, arguments);\r\n if (!this._inkRipple) {\r\n return\r\n }\r\n var config = {\r\n element: $element,\r\n event: e\r\n };\r\n if (value) {\r\n this._inkRipple.showWave(config)\r\n } else {\r\n this._inkRipple.hideWave(config)\r\n }\r\n },\r\n _renderMultiple: function() {\r\n if (\"multiple\" === this.option(\"selectionMode\")) {\r\n this.option(\"selectOnFocus\", false)\r\n }\r\n },\r\n _renderWrapper: function() {\r\n this._$wrapper = $(\"<div>\").addClass(TABS_WRAPPER_CLASS);\r\n this.$element().append(this._$wrapper)\r\n },\r\n _itemContainer: function() {\r\n return this._$wrapper\r\n },\r\n _renderScrollable: function() {\r\n var $itemContainer = this.$element().wrapInner($(\"<div>\").addClass(TABS_SCROLLABLE_CLASS)).children();\r\n this._scrollable = this._createComponent($itemContainer, Scrollable, {\r\n direction: \"horizontal\",\r\n showScrollbar: \"never\",\r\n useKeyboard: false,\r\n useNative: false,\r\n scrollByContent: this.option(\"scrollByContent\"),\r\n onScroll: () => {\r\n this._updateNavButtonsVisibility()\r\n }\r\n });\r\n this.$element().append(this._scrollable.$element())\r\n },\r\n _scrollToItem: function(itemData) {\r\n if (!this._scrollable) {\r\n return\r\n }\r\n var $item = this._editStrategy.getItemElement(itemData);\r\n this._scrollable.scrollToElement($item)\r\n },\r\n _renderNavButtons: function() {\r\n this.$element().toggleClass(TABS_NAV_BUTTONS_CLASS, this.option(\"showNavButtons\"));\r\n if (!this.option(\"showNavButtons\")) {\r\n return\r\n }\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n this._leftButton = this._createNavButton(-TAB_OFFSET, rtlEnabled ? BUTTON_NEXT_ICON : BUTTON_PREV_ICON);\r\n var $leftButton = this._leftButton.$element();\r\n $leftButton.addClass(TABS_LEFT_NAV_BUTTON_CLASS);\r\n this.$element().prepend($leftButton);\r\n this._rightButton = this._createNavButton(TAB_OFFSET, rtlEnabled ? BUTTON_PREV_ICON : BUTTON_NEXT_ICON);\r\n var $rightButton = this._rightButton.$element();\r\n $rightButton.addClass(TABS_RIGHT_NAV_BUTTON_CLASS);\r\n this.$element().append($rightButton)\r\n },\r\n _updateNavButtonsVisibility: function() {\r\n var scrollable = this.getScrollable();\r\n this._leftButton && this._leftButton.option(\"disabled\", isReachedLeft(scrollable.scrollLeft(), 1));\r\n this._rightButton && this._rightButton.option(\"disabled\", isReachedRight($(scrollable.container()).get(0), scrollable.scrollLeft(), 1))\r\n },\r\n _updateScrollPosition: function(offset, duration) {\r\n this._scrollable.update();\r\n this._scrollable.scrollBy(offset / duration)\r\n },\r\n _createNavButton: function(offset, icon) {\r\n var that = this;\r\n var holdAction = that._createAction((function() {\r\n that._holdInterval = setInterval((function() {\r\n that._updateScrollPosition(offset, FEEDBACK_DURATION_INTERVAL)\r\n }), FEEDBACK_DURATION_INTERVAL)\r\n }));\r\n var holdEventName = addNamespace(holdEvent.name, \"dxNavButton\");\r\n var pointerUpEventName = addNamespace(pointerEvents.up, \"dxNavButton\");\r\n var pointerOutEventName = addNamespace(pointerEvents.out, \"dxNavButton\");\r\n var navButton = this._createComponent($(\"<div>\").addClass(TABS_NAV_BUTTON_CLASS), Button, {\r\n focusStateEnabled: false,\r\n icon: icon,\r\n onClick: function() {\r\n that._updateScrollPosition(offset, 1)\r\n },\r\n integrationOptions: {}\r\n });\r\n var $navButton = navButton.$element();\r\n eventsEngine.on($navButton, holdEventName, {\r\n timeout: FEEDBACK_SCROLL_TIMEOUT\r\n }, function(e) {\r\n holdAction({\r\n event: e\r\n })\r\n }.bind(this));\r\n eventsEngine.on($navButton, pointerUpEventName, (function() {\r\n that._clearInterval()\r\n }));\r\n eventsEngine.on($navButton, pointerOutEventName, (function() {\r\n that._clearInterval()\r\n }));\r\n return navButton\r\n },\r\n _clearInterval: function() {\r\n if (this._holdInterval) {\r\n clearInterval(this._holdInterval)\r\n }\r\n },\r\n _updateSelection: function(addedSelection) {\r\n this._scrollable && this._scrollable.scrollToElement(this.itemElements().eq(addedSelection[0]), {\r\n left: 1,\r\n right: 1\r\n })\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._renderScrolling()\r\n },\r\n _itemSelectHandler: function(e) {\r\n if (\"single\" === this.option(\"selectionMode\") && this.isItemSelected(e.currentTarget)) {\r\n return\r\n }\r\n this.callBase(e)\r\n },\r\n _clean: function() {\r\n this._deferredTemplates = [];\r\n this._cleanScrolling();\r\n this.callBase()\r\n },\r\n _toggleFocusedNextClass(index, isNextTabFocused) {\r\n this._itemElements().eq(index).toggleClass(FOCUSED_NEXT_TAB_CLASS, isNextTabFocused)\r\n },\r\n _updateFocusedElement() {\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n selectedIndex: selectedIndex\r\n } = this.option();\r\n var itemElements = this._itemElements();\r\n if (focusStateEnabled && itemElements.length) {\r\n var selectedItem = itemElements.get(selectedIndex);\r\n this.option({\r\n focusedElement: selectedItem\r\n })\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"useInkRipple\":\r\n case \"scrollingEnabled\":\r\n case \"showNavButtons\":\r\n this._invalidate();\r\n break;\r\n case \"scrollByContent\":\r\n this._scrollable && this._scrollable.option(args.name, args.value);\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._dimensionChanged();\r\n break;\r\n case \"selectionMode\":\r\n this._renderMultiple();\r\n this.callBase(args);\r\n break;\r\n case \"badgeExpr\":\r\n this._invalidate();\r\n break;\r\n case \"focusedElement\":\r\n var {\r\n selectedIndex: selectedIndex\r\n } = this.option();\r\n var currentIndex = $(args.value).index();\r\n if (currentIndex !== selectedIndex) {\r\n this._toggleFocusedNextClass(selectedIndex, currentIndex === selectedIndex + 1)\r\n }\r\n this.callBase(args);\r\n this._scrollToItem(args.value);\r\n break;\r\n case \"selectedIndex\":\r\n case \"selectedItem\":\r\n case \"selectedItems\":\r\n this.callBase(args);\r\n this._updateFocusedElement();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _afterItemElementInserted() {\r\n this.callBase();\r\n this._deferRenderScrolling()\r\n },\r\n _afterItemElementDeleted($item, deletedActionArgs) {\r\n this.callBase($item, deletedActionArgs);\r\n this._renderScrolling()\r\n },\r\n getScrollable() {\r\n return this._scrollable\r\n }\r\n});\r\nTabs.ItemClass = TabsItem;\r\nregisterComponent(\"dxTabs\", Tabs);\r\nexport default Tabs;\r\n","/**\r\n * DevExtreme (esm/ui/tab_panel/item.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport CollectionWidgetItem from \"../collection/item\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nexport default class TabPanelItem extends CollectionWidgetItem {\r\n _renderWatchers() {\r\n this._startWatcher(\"badge\", noop);\r\n return super._renderWatchers()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/tab_panel.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n touch\r\n} from \"../core/utils/support\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport devices from \"../core/devices\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport MultiView from \"./multi_view\";\r\nimport Tabs from \"./tabs\";\r\nimport {\r\n default as TabPanelItem\r\n} from \"./tab_panel/item\";\r\nimport {\r\n getImageContainer\r\n} from \"../core/utils/icon\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n BindableTemplate\r\n} from \"../core/templates/bindable_template\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nvar TABPANEL_CLASS = \"dx-tabpanel\";\r\nvar TABPANEL_TABS_CLASS = \"dx-tabpanel-tabs\";\r\nvar TABPANEL_CONTAINER_CLASS = \"dx-tabpanel-container\";\r\nvar TABS_ITEM_TEXT_CLASS = \"dx-tab-text\";\r\nvar DISABLED_FOCUSED_TAB_CLASS = \"dx-disabled-focused-tab\";\r\nvar TabPanel = MultiView.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n itemTitleTemplate: \"title\",\r\n hoverStateEnabled: true,\r\n showNavButtons: false,\r\n scrollByContent: true,\r\n scrollingEnabled: true,\r\n onTitleClick: null,\r\n onTitleHold: null,\r\n onTitleRendered: null,\r\n badgeExpr: function(data) {\r\n return data ? data.badge : void 0\r\n }\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return !touch\r\n },\r\n options: {\r\n swipeEnabled: false\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n animationEnabled: false\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(TABPANEL_CLASS);\r\n this.setAria(\"role\", \"tabpanel\")\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._createTitleActions();\r\n this._renderLayout()\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n title: new BindableTemplate((function($container, data) {\r\n if (isPlainObject(data)) {\r\n var $iconElement = getImageContainer(data.icon);\r\n if ($iconElement) {\r\n $container.append($iconElement)\r\n }\r\n if (isDefined(data.title) && !isPlainObject(data.title)) {\r\n $container.append(domAdapter.createTextNode(data.title))\r\n }\r\n } else if (isDefined(data)) {\r\n $container.text(String(data))\r\n }\r\n $container.wrapInner($(\"<span>\").addClass(TABS_ITEM_TEXT_CLASS))\r\n }), [\"title\", \"icon\"], this.option(\"integrationOptions.watchMethod\"))\r\n })\r\n },\r\n _createTitleActions: function() {\r\n this._createTitleClickAction();\r\n this._createTitleHoldAction();\r\n this._createTitleRenderedAction()\r\n },\r\n _createTitleClickAction: function() {\r\n this._titleClickAction = this._createActionByOption(\"onTitleClick\")\r\n },\r\n _createTitleHoldAction: function() {\r\n this._titleHoldAction = this._createActionByOption(\"onTitleHold\")\r\n },\r\n _createTitleRenderedAction: function() {\r\n this._titleRenderedAction = this._createActionByOption(\"onTitleRendered\")\r\n },\r\n _renderContent: function() {\r\n var that = this;\r\n this.callBase();\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n this._resizeEventTimer = setTimeout((function() {\r\n that._updateLayout()\r\n }), 0)\r\n }\r\n },\r\n _renderLayout: function() {\r\n if (this._tabs) {\r\n this._updateLayout();\r\n return\r\n }\r\n var $element = this.$element();\r\n this._$tabContainer = $(\"<div>\").addClass(TABPANEL_TABS_CLASS).appendTo($element);\r\n var $tabs = $(\"<div>\").appendTo(this._$tabContainer);\r\n this._tabs = this._createComponent($tabs, Tabs, this._tabConfig());\r\n this._$container = $(\"<div>\").addClass(TABPANEL_CONTAINER_CLASS).appendTo($element);\r\n this._$container.append(this._$wrapper);\r\n this._updateLayout()\r\n },\r\n _updateLayout: function() {\r\n if (hasWindow()) {\r\n var tabsHeight = getOuterHeight(this._$tabContainer);\r\n this._$container.css({\r\n marginTop: -tabsHeight,\r\n paddingTop: tabsHeight\r\n })\r\n }\r\n },\r\n _refreshActiveDescendant: function() {\r\n if (!this._tabs) {\r\n return\r\n }\r\n var tabs = this._tabs;\r\n var tabItems = tabs.itemElements();\r\n var $activeTab = $(tabItems[tabs.option(\"selectedIndex\")]);\r\n var id = this.getFocusedItemId();\r\n this.setAria(\"controls\", void 0, $(tabItems));\r\n this.setAria(\"controls\", id, $activeTab)\r\n },\r\n _tabConfig: function() {\r\n return {\r\n selectOnFocus: true,\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n repaintChangesOnly: this.option(\"repaintChangesOnly\"),\r\n tabIndex: this.option(\"tabIndex\"),\r\n selectedIndex: this.option(\"selectedIndex\"),\r\n badgeExpr: this.option(\"badgeExpr\"),\r\n onItemClick: this._titleClickAction.bind(this),\r\n onItemHold: this._titleHoldAction.bind(this),\r\n itemHoldTimeout: this.option(\"itemHoldTimeout\"),\r\n onSelectionChanged: function(e) {\r\n this.option(\"selectedIndex\", e.component.option(\"selectedIndex\"));\r\n this._refreshActiveDescendant()\r\n }.bind(this),\r\n onItemRendered: this._titleRenderedAction.bind(this),\r\n itemTemplate: this._getTemplateByOption(\"itemTitleTemplate\"),\r\n items: this.option(\"items\"),\r\n noDataText: null,\r\n scrollingEnabled: this.option(\"scrollingEnabled\"),\r\n scrollByContent: this.option(\"scrollByContent\"),\r\n showNavButtons: this.option(\"showNavButtons\"),\r\n itemTemplateProperty: \"tabTemplate\",\r\n loopItemFocus: this.option(\"loop\"),\r\n selectionRequired: true,\r\n onOptionChanged: function(args) {\r\n if (\"focusedElement\" === args.name) {\r\n if (args.value) {\r\n var $value = $(args.value);\r\n var $newItem = this._itemElements().eq($value.index());\r\n this.option(\"focusedElement\", getPublicElement($newItem))\r\n } else {\r\n this.option(\"focusedElement\", args.value)\r\n }\r\n }\r\n }.bind(this),\r\n onFocusIn: function(args) {\r\n this._focusInHandler(args.event)\r\n }.bind(this),\r\n onFocusOut: function(args) {\r\n if (!this._isFocusOutHandlerExecuting) {\r\n this._focusOutHandler(args.event)\r\n }\r\n }.bind(this)\r\n }\r\n },\r\n _renderFocusTarget: function() {\r\n this._focusTarget().attr(\"tabIndex\", -1)\r\n },\r\n _toggleWrapperFocusedClass(isFocused) {\r\n this._toggleFocusClass(isFocused, this._$wrapper)\r\n },\r\n _toggleDisabledFocusedClass(isFocused) {\r\n this._focusTarget().toggleClass(DISABLED_FOCUSED_TAB_CLASS, isFocused)\r\n },\r\n _updateFocusState: function(e, isFocused) {\r\n this.callBase(e, isFocused);\r\n var isTabsTarget = e.target === this._tabs._focusTarget().get(0);\r\n var isMultiViewTarget = e.target === this._focusTarget().get(0);\r\n if (isTabsTarget) {\r\n this._toggleFocusClass(isFocused, this._focusTarget())\r\n }\r\n if (isTabsTarget || isMultiViewTarget) {\r\n var isDisabled = this._isDisabled(this.option(\"focusedElement\"));\r\n this._toggleWrapperFocusedClass(isFocused && !isDisabled);\r\n this._toggleDisabledFocusedClass(isFocused && isDisabled)\r\n }\r\n if (isMultiViewTarget) {\r\n this._toggleFocusClass(isFocused, this._tabs.option(\"focusedElement\"))\r\n }\r\n },\r\n _focusOutHandler: function(e) {\r\n this._isFocusOutHandlerExecuting = true;\r\n this.callBase.apply(this, arguments);\r\n this._tabs._focusOutHandler(e);\r\n this._isFocusOutHandlerExecuting = false\r\n },\r\n _setTabsOption: function(name, value) {\r\n if (this._tabs) {\r\n this._tabs.option(name, value)\r\n }\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._tabs._dimensionChanged();\r\n this._updateLayout()\r\n }\r\n },\r\n registerKeyHandler: function(key, handler) {\r\n this.callBase(key, handler);\r\n if (this._tabs) {\r\n this._tabs.registerKeyHandler(key, handler)\r\n }\r\n },\r\n repaint: function() {\r\n this.callBase();\r\n this._tabs.repaint()\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name;\r\n var value = args.value;\r\n var fullName = args.fullName;\r\n switch (name) {\r\n case \"dataSource\":\r\n this.callBase(args);\r\n break;\r\n case \"items\":\r\n this._setTabsOption(name, this.option(name));\r\n this._updateLayout();\r\n if (!this.option(\"repaintChangesOnly\")) {\r\n this._tabs.repaint()\r\n }\r\n this.callBase(args);\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._tabs.repaint();\r\n break;\r\n case \"selectedIndex\":\r\n case \"selectedItem\":\r\n this._setTabsOption(fullName, value);\r\n this.callBase(args);\r\n if (true === this.option(\"focusStateEnabled\")) {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var selectedTabContent = this._itemElements().eq(selectedIndex);\r\n this.option(\"focusedElement\", getPublicElement(selectedTabContent))\r\n }\r\n break;\r\n case \"itemHoldTimeout\":\r\n case \"focusStateEnabled\":\r\n case \"hoverStateEnabled\":\r\n this._setTabsOption(fullName, value);\r\n this.callBase(args);\r\n break;\r\n case \"scrollingEnabled\":\r\n case \"scrollByContent\":\r\n case \"showNavButtons\":\r\n this._setTabsOption(fullName, value);\r\n break;\r\n case \"focusedElement\":\r\n var id = value ? $(value).index() : value;\r\n var newItem = value ? this._tabs._itemElements().eq(id) : value;\r\n this._setTabsOption(\"focusedElement\", getPublicElement(newItem));\r\n var isDisabled = this._isDisabled(value);\r\n this._toggleWrapperFocusedClass(!isDisabled);\r\n this._toggleDisabledFocusedClass(isDisabled);\r\n this.callBase(args);\r\n break;\r\n case \"itemTitleTemplate\":\r\n this._setTabsOption(\"itemTemplate\", this._getTemplateByOption(\"itemTitleTemplate\"));\r\n break;\r\n case \"onTitleClick\":\r\n this._createTitleClickAction();\r\n this._setTabsOption(\"onItemClick\", this._titleClickAction.bind(this));\r\n break;\r\n case \"onTitleHold\":\r\n this._createTitleHoldAction();\r\n this._setTabsOption(\"onItemHold\", this._titleHoldAction.bind(this));\r\n break;\r\n case \"onTitleRendered\":\r\n this._createTitleRenderedAction();\r\n this._setTabsOption(\"onItemRendered\", this._titleRenderedAction.bind(this));\r\n break;\r\n case \"loop\":\r\n this._setTabsOption(\"loopItemFocus\", value);\r\n break;\r\n case \"badgeExpr\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n clearTimeout(this._resizeEventTimer);\r\n this.callBase()\r\n }\r\n});\r\nTabPanel.ItemClass = TabPanelItem;\r\nregisterComponent(\"dxTabPanel\", TabPanel);\r\nexport default TabPanel;\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.item_option_action.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nexport default class ItemOptionAction {\r\n constructor(options) {\r\n this._options = options;\r\n this._itemsRunTimeInfo = this._options.itemsRunTimeInfo\r\n }\r\n findInstance() {\r\n return this._itemsRunTimeInfo.findWidgetInstanceByItem(this._options.item)\r\n }\r\n findItemContainer() {\r\n return this._itemsRunTimeInfo.findItemContainerByItem(this._options.item)\r\n }\r\n findPreparedItem() {\r\n return this._itemsRunTimeInfo.findPreparedItemByItem(this._options.item)\r\n }\r\n tryExecute() {\r\n Class.abstract()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nexport var createItemPathByIndex = (index, isTabs) => \"\".concat(isTabs ? \"tabs\" : \"items\", \"[\").concat(index, \"]\");\r\nexport var concatPaths = (path1, path2) => {\r\n if (isDefined(path1) && isDefined(path2)) {\r\n return \"\".concat(path1, \".\").concat(path2)\r\n }\r\n return path1 || path2\r\n};\r\nexport var getTextWithoutSpaces = text => text ? text.replace(/\\s/g, \"\") : void 0;\r\nexport var isEqualToDataFieldOrNameOrTitleOrCaption = (item, fieldName) => {\r\n if (item) {\r\n return item.dataField === fieldName || item.name === fieldName || getTextWithoutSpaces(item.title) === fieldName || \"group\" === item.itemType && getTextWithoutSpaces(item.caption) === fieldName\r\n }\r\n return false\r\n};\r\nexport var getFullOptionName = (path, optionName) => \"\".concat(path, \".\").concat(optionName);\r\nexport var getOptionNameFromFullName = fullName => {\r\n var parts = fullName.split(\".\");\r\n return parts[parts.length - 1].replace(/\\[\\d+]/, \"\")\r\n};\r\nexport var tryGetTabPath = fullPath => {\r\n var pathParts = fullPath.split(\".\");\r\n var resultPathParts = [...pathParts];\r\n for (var i = pathParts.length - 1; i >= 0; i--) {\r\n if (isFullPathContainsTabs(pathParts[i])) {\r\n return resultPathParts.join(\".\")\r\n }\r\n resultPathParts.splice(i, 1)\r\n }\r\n return \"\"\r\n};\r\nexport var isFullPathContainsTabs = fullPath => fullPath.indexOf(\"tabs\") > -1;\r\nexport var getItemPath = (items, item, isTabs) => {\r\n var index = items.indexOf(item);\r\n if (index > -1) {\r\n return createItemPathByIndex(index, isTabs)\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var targetItem = items[i];\r\n var tabOrGroupItems = targetItem.tabs || targetItem.items;\r\n if (tabOrGroupItems) {\r\n var itemPath = getItemPath(tabOrGroupItems, item, targetItem.tabs);\r\n if (itemPath) {\r\n return concatPaths(createItemPathByIndex(i, isTabs), itemPath)\r\n }\r\n }\r\n }\r\n};\r\nexport function convertToLayoutManagerOptions(_ref) {\r\n var {\r\n form: form,\r\n $formElement: $formElement,\r\n formOptions: formOptions,\r\n items: items,\r\n validationGroup: validationGroup,\r\n extendedLayoutManagerOptions: extendedLayoutManagerOptions,\r\n onFieldDataChanged: onFieldDataChanged,\r\n onContentReady: onContentReady,\r\n onDisposing: onDisposing,\r\n onFieldItemRendered: onFieldItemRendered\r\n } = _ref;\r\n var baseOptions = {\r\n form: form,\r\n items: items,\r\n $formElement: $formElement,\r\n validationGroup: validationGroup,\r\n onFieldDataChanged: onFieldDataChanged,\r\n onContentReady: onContentReady,\r\n onDisposing: onDisposing,\r\n onFieldItemRendered: onFieldItemRendered,\r\n validationBoundary: formOptions.scrollingEnabled ? $formElement : void 0,\r\n scrollingEnabled: formOptions.scrollingEnabled,\r\n showRequiredMark: formOptions.showRequiredMark,\r\n showOptionalMark: formOptions.showOptionalMark,\r\n requiredMark: formOptions.requiredMark,\r\n optionalMark: formOptions.optionalMark,\r\n requiredMessage: formOptions.requiredMessage,\r\n screenByWidth: formOptions.screenByWidth,\r\n layoutData: formOptions.formData,\r\n labelLocation: formOptions.labelLocation,\r\n customizeItem: formOptions.customizeItem,\r\n minColWidth: formOptions.minColWidth,\r\n showColonAfterLabel: formOptions.showColonAfterLabel,\r\n onEditorEnterKey: formOptions.onEditorEnterKey,\r\n labelMode: formOptions.labelMode\r\n };\r\n var result = extend(baseOptions, {\r\n isRoot: extendedLayoutManagerOptions.isRoot,\r\n colCount: extendedLayoutManagerOptions.colCount,\r\n alignItemLabels: extendedLayoutManagerOptions.alignItemLabels,\r\n cssItemClass: extendedLayoutManagerOptions.cssItemClass,\r\n colCountByScreen: extendedLayoutManagerOptions.colCountByScreen,\r\n onLayoutChanged: extendedLayoutManagerOptions.onLayoutChanged,\r\n width: extendedLayoutManagerOptions.width\r\n });\r\n return result\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.item_options_actions.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ItemOptionAction from \"./ui.form.item_option_action\";\r\nimport {\r\n data\r\n} from \"../../core/element_data\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getFullOptionName\r\n} from \"./ui.form.utils\";\r\nclass WidgetOptionItemOptionAction extends ItemOptionAction {\r\n tryExecute() {\r\n var {\r\n value: value\r\n } = this._options;\r\n var instance = this.findInstance();\r\n if (instance) {\r\n instance.option(value);\r\n return true\r\n }\r\n return false\r\n }\r\n}\r\nclass TabOptionItemOptionAction extends ItemOptionAction {\r\n tryExecute() {\r\n var tabPanel = this.findInstance();\r\n if (tabPanel) {\r\n var {\r\n optionName: optionName,\r\n item: item,\r\n value: value\r\n } = this._options;\r\n var itemIndex = this._itemsRunTimeInfo.findItemIndexByItem(item);\r\n if (itemIndex >= 0) {\r\n tabPanel.option(getFullOptionName(\"items[\".concat(itemIndex, \"]\"), optionName), value);\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n}\r\nclass SimpleItemTemplateChangedAction extends ItemOptionAction {\r\n tryExecute() {\r\n return false\r\n }\r\n}\r\nclass GroupItemTemplateChangedAction extends ItemOptionAction {\r\n tryExecute() {\r\n var preparedItem = this.findPreparedItem();\r\n if (null != preparedItem && preparedItem._prepareGroupItemTemplate && preparedItem._renderGroupContentTemplate) {\r\n preparedItem._prepareGroupItemTemplate(this._options.item.template);\r\n preparedItem._renderGroupContentTemplate();\r\n return true\r\n }\r\n return false\r\n }\r\n}\r\nclass TabsOptionItemOptionAction extends ItemOptionAction {\r\n tryExecute() {\r\n var tabPanel = this.findInstance();\r\n if (tabPanel) {\r\n var {\r\n value: value\r\n } = this._options;\r\n tabPanel.option(\"dataSource\", value);\r\n return true\r\n }\r\n return false\r\n }\r\n}\r\nclass ValidationRulesItemOptionAction extends ItemOptionAction {\r\n tryExecute() {\r\n var {\r\n item: item\r\n } = this._options;\r\n var instance = this.findInstance();\r\n var validator = instance && data(instance.$element()[0], \"dxValidator\");\r\n if (validator && item) {\r\n var filterRequired = item => \"required\" === item.type;\r\n var oldContainsRequired = (validator.option(\"validationRules\") || []).some(filterRequired);\r\n var newContainsRequired = (item.validationRules || []).some(filterRequired);\r\n if (!oldContainsRequired && !newContainsRequired || oldContainsRequired && newContainsRequired) {\r\n validator.option(\"validationRules\", item.validationRules);\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n}\r\nclass CssClassItemOptionAction extends ItemOptionAction {\r\n tryExecute() {\r\n var $itemContainer = this.findItemContainer();\r\n var {\r\n previousValue: previousValue,\r\n value: value\r\n } = this._options;\r\n if ($itemContainer) {\r\n $itemContainer.removeClass(previousValue).addClass(value);\r\n return true\r\n }\r\n return false\r\n }\r\n}\r\nvar tryCreateItemOptionAction = (optionName, itemActionOptions) => {\r\n switch (optionName) {\r\n case \"editorOptions\":\r\n case \"buttonOptions\":\r\n return new WidgetOptionItemOptionAction(itemActionOptions);\r\n case \"validationRules\":\r\n return new ValidationRulesItemOptionAction(itemActionOptions);\r\n case \"cssClass\":\r\n return new CssClassItemOptionAction(itemActionOptions);\r\n case \"badge\":\r\n case \"disabled\":\r\n case \"icon\":\r\n case \"tabTemplate\":\r\n case \"title\":\r\n return new TabOptionItemOptionAction(extend(itemActionOptions, {\r\n optionName: optionName\r\n }));\r\n case \"tabs\":\r\n return new TabsOptionItemOptionAction(itemActionOptions);\r\n case \"template\":\r\n var _itemActionOptions$it, _itemActionOptions$it2, _itemActionOptions$it3;\r\n var itemType = null !== (_itemActionOptions$it = null === itemActionOptions || void 0 === itemActionOptions ? void 0 : null === (_itemActionOptions$it2 = itemActionOptions.item) || void 0 === _itemActionOptions$it2 ? void 0 : _itemActionOptions$it2.itemType) && void 0 !== _itemActionOptions$it ? _itemActionOptions$it : null === (_itemActionOptions$it3 = itemActionOptions.itemsRunTimeInfo.findPreparedItemByItem(null === itemActionOptions || void 0 === itemActionOptions ? void 0 : itemActionOptions.item)) || void 0 === _itemActionOptions$it3 ? void 0 : _itemActionOptions$it3.itemType;\r\n if (\"simple\" === itemType) {\r\n return new SimpleItemTemplateChangedAction(itemActionOptions)\r\n } else if (\"group\" === itemType) {\r\n return new GroupItemTemplateChangedAction(itemActionOptions)\r\n }\r\n return new TabOptionItemOptionAction(extend(itemActionOptions, {\r\n optionName: optionName\r\n }));\r\n default:\r\n return null\r\n }\r\n};\r\nexport default tryCreateItemOptionAction;\r\n","/**\r\n * DevExtreme (esm/ui/responsive_box.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n grep,\r\n noop\r\n} from \"../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isPlainObject,\r\n isEmptyObject\r\n} from \"../core/utils/type\";\r\nimport errors from \"./widget/ui.errors\";\r\nimport {\r\n getWindow,\r\n defaultScreenFactorFunc,\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Box from \"./box\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.edit\";\r\nvar RESPONSIVE_BOX_CLASS = \"dx-responsivebox\";\r\nvar SCREEN_SIZE_CLASS_PREFIX = RESPONSIVE_BOX_CLASS + \"-screen-\";\r\nvar BOX_ITEM_CLASS = \"dx-box-item\";\r\nvar BOX_ITEM_DATA_KEY = \"dxBoxItemData\";\r\nvar HD_SCREEN_WIDTH = 1920;\r\nvar ResponsiveBox = CollectionWidget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n rows: [],\r\n cols: [],\r\n screenByWidth: null,\r\n singleColumnScreen: \"\",\r\n height: \"100%\",\r\n width: \"100%\",\r\n activeStateEnabled: false,\r\n focusStateEnabled: false,\r\n onItemStateChanged: void 0,\r\n onLayoutChanged: null,\r\n currentScreenFactor: void 0\r\n })\r\n },\r\n _init: function() {\r\n if (!this.option(\"screenByWidth\")) {\r\n this._options.silent(\"screenByWidth\", defaultScreenFactorFunc)\r\n }\r\n this.callBase();\r\n this._initLayoutChangedAction()\r\n },\r\n _initLayoutChangedAction: function() {\r\n this._layoutChangedAction = this._createActionByOption(\"onLayoutChanged\", {\r\n excludeValidators: [\"disabled\", \"readonly\"]\r\n })\r\n },\r\n _itemClass: function() {\r\n return BOX_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return BOX_ITEM_DATA_KEY\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(RESPONSIVE_BOX_CLASS)\r\n },\r\n _renderItems: function() {\r\n this._setScreenSize();\r\n this._screenItems = this._itemsByScreen();\r\n this._prepareGrid();\r\n this._spreadItems();\r\n this._layoutItems();\r\n this._linkNodeToItem()\r\n },\r\n _itemOptionChanged: function(item) {\r\n var $item = this._findItemElementByItem(item);\r\n if (!$item.length) {\r\n return\r\n }\r\n this._refreshItem($item, item);\r\n this._clearItemNodeTemplates();\r\n this._update(true)\r\n },\r\n _setScreenSize: function() {\r\n var currentScreen = this._getCurrentScreen();\r\n this._removeScreenSizeClass();\r\n this.$element().addClass(SCREEN_SIZE_CLASS_PREFIX + currentScreen);\r\n this.option(\"currentScreenFactor\", currentScreen)\r\n },\r\n _removeScreenSizeClass: function() {\r\n var currentScreenFactor = this.option(\"currentScreenFactor\");\r\n currentScreenFactor && this.$element().removeClass(SCREEN_SIZE_CLASS_PREFIX + currentScreenFactor)\r\n },\r\n _prepareGrid: function() {\r\n var grid = this._grid = [];\r\n this._prepareRowsAndCols();\r\n each(this._rows, function() {\r\n var row = [];\r\n grid.push(row);\r\n each(this._cols, function() {\r\n row.push(this._createEmptyCell())\r\n }.bind(this))\r\n }.bind(this))\r\n },\r\n getSingleColumnRows: function() {\r\n var rows = this.option(\"rows\");\r\n var screenItemsLength = this._screenItems.length;\r\n if (rows.length) {\r\n var filteredRows = this._filterByScreen(rows);\r\n var result = [];\r\n for (var i = 0; i < screenItemsLength; i++) {\r\n var sizeConfig = this._defaultSizeConfig();\r\n if (i < filteredRows.length && isDefined(filteredRows[i].shrink)) {\r\n sizeConfig.shrink = filteredRows[i].shrink\r\n }\r\n result.push(sizeConfig)\r\n }\r\n return result\r\n } else {\r\n return this._defaultSizeConfig(screenItemsLength)\r\n }\r\n },\r\n _prepareRowsAndCols: function() {\r\n if (this._isSingleColumnScreen()) {\r\n this._prepareSingleColumnScreenItems();\r\n this._rows = this.getSingleColumnRows();\r\n this._cols = this._defaultSizeConfig(1)\r\n } else {\r\n this._rows = this._sizesByScreen(this.option(\"rows\"));\r\n this._cols = this._sizesByScreen(this.option(\"cols\"))\r\n }\r\n },\r\n _isSingleColumnScreen: function() {\r\n return this._screenRegExp().test(this.option(\"singleColumnScreen\")) || !this.option(\"rows\").length || !this.option(\"cols\").length\r\n },\r\n _prepareSingleColumnScreenItems: function() {\r\n this._screenItems.sort((function(item1, item2) {\r\n return item1.location.row - item2.location.row || item1.location.col - item2.location.col\r\n }));\r\n each(this._screenItems, (function(index, item) {\r\n extend(item.location, {\r\n row: index,\r\n col: 0,\r\n rowspan: 1,\r\n colspan: 1\r\n })\r\n }))\r\n },\r\n _sizesByScreen: function(sizeConfigs) {\r\n return map(this._filterByScreen(sizeConfigs), function(sizeConfig) {\r\n return extend(this._defaultSizeConfig(), sizeConfig)\r\n }.bind(this))\r\n },\r\n _createDefaultSizeConfig: function() {\r\n return {\r\n ratio: 1,\r\n baseSize: 0,\r\n minSize: 0,\r\n maxSize: 0\r\n }\r\n },\r\n _defaultSizeConfig: function(size) {\r\n var defaultSizeConfig = this._createDefaultSizeConfig();\r\n if (!arguments.length) {\r\n return defaultSizeConfig\r\n }\r\n var result = [];\r\n for (var i = 0; i < size; i++) {\r\n result.push(defaultSizeConfig)\r\n }\r\n return result\r\n },\r\n _filterByScreen: function(items) {\r\n var screenRegExp = this._screenRegExp();\r\n return grep(items, (function(item) {\r\n return !item.screen || screenRegExp.test(item.screen)\r\n }))\r\n },\r\n _screenRegExp: function() {\r\n var screen = this._getCurrentScreen();\r\n return new RegExp(\"(^|\\\\s)\" + screen + \"($|\\\\s)\", \"i\")\r\n },\r\n _getCurrentScreen: function() {\r\n var width = this._screenWidth();\r\n return this.option(\"screenByWidth\")(width)\r\n },\r\n _screenWidth: function() {\r\n return hasWindow() ? getWidth(getWindow()) : HD_SCREEN_WIDTH\r\n },\r\n _createEmptyCell: function() {\r\n return {\r\n item: {},\r\n location: {\r\n colspan: 1,\r\n rowspan: 1\r\n }\r\n }\r\n },\r\n _spreadItems: function() {\r\n each(this._screenItems, function(_, itemInfo) {\r\n var location = itemInfo.location || {};\r\n var itemCol = location.col;\r\n var itemRow = location.row;\r\n var row = this._grid[itemRow];\r\n var itemCell = row && row[itemCol];\r\n this._occupyCells(itemCell, itemInfo)\r\n }.bind(this))\r\n },\r\n _itemsByScreen: function() {\r\n return this.option(\"items\").reduce((result, item) => {\r\n var locations = item.location || {};\r\n locations = isPlainObject(locations) ? [locations] : locations;\r\n this._filterByScreen(locations).forEach(location => {\r\n result.push({\r\n item: item,\r\n location: extend({\r\n rowspan: 1,\r\n colspan: 1\r\n }, location)\r\n })\r\n });\r\n return result\r\n }, [])\r\n },\r\n _occupyCells: function(itemCell, itemInfo) {\r\n if (!itemCell || this._isItemCellOccupied(itemCell, itemInfo)) {\r\n return\r\n }\r\n extend(itemCell, itemInfo);\r\n this._markSpanningCell(itemCell)\r\n },\r\n _isItemCellOccupied: function(itemCell, itemInfo) {\r\n if (!isEmptyObject(itemCell.item)) {\r\n return true\r\n }\r\n var result = false;\r\n this._loopOverSpanning(itemInfo.location, (function(cell) {\r\n result = result || !isEmptyObject(cell.item)\r\n }));\r\n return result\r\n },\r\n _loopOverSpanning: function(location, callback) {\r\n var rowEnd = location.row + location.rowspan - 1;\r\n var colEnd = location.col + location.colspan - 1;\r\n var boundRowEnd = Math.min(rowEnd, this._rows.length - 1);\r\n var boundColEnd = Math.min(colEnd, this._cols.length - 1);\r\n location.rowspan -= rowEnd - boundRowEnd;\r\n location.colspan -= colEnd - boundColEnd;\r\n for (var rowIndex = location.row; rowIndex <= boundRowEnd; rowIndex++) {\r\n for (var colIndex = location.col; colIndex <= boundColEnd; colIndex++) {\r\n if (rowIndex !== location.row || colIndex !== location.col) {\r\n callback(this._grid[rowIndex][colIndex])\r\n }\r\n }\r\n }\r\n },\r\n _markSpanningCell: function(itemCell) {\r\n this._loopOverSpanning(itemCell.location, (function(cell) {\r\n extend(cell, {\r\n item: itemCell.item,\r\n spanningCell: itemCell\r\n })\r\n }))\r\n },\r\n _linkNodeToItem: function() {\r\n each(this._itemElements(), (function(_, itemNode) {\r\n var $item = $(itemNode);\r\n var item = $item.data(BOX_ITEM_DATA_KEY);\r\n if (!item.box) {\r\n item.node = $item.children()\r\n }\r\n }))\r\n },\r\n _layoutItems: function() {\r\n var rowsCount = this._grid.length;\r\n var colsCount = rowsCount && this._grid[0].length;\r\n if (!rowsCount && !colsCount) {\r\n return\r\n }\r\n var result = this._layoutBlock({\r\n direction: \"col\",\r\n row: {\r\n start: 0,\r\n end: rowsCount - 1\r\n },\r\n col: {\r\n start: 0,\r\n end: colsCount - 1\r\n }\r\n });\r\n var rootBox = this._prepareBoxConfig(result.box || {\r\n direction: \"row\",\r\n items: [extend(result, {\r\n ratio: 1\r\n })]\r\n });\r\n extend(rootBox, this._rootBoxConfig(rootBox.items));\r\n this._$root = $(\"<div>\").appendTo(this._itemContainer());\r\n this._createComponent(this._$root, Box, rootBox)\r\n },\r\n _rootBoxConfig: function(items) {\r\n var rootItems = each(items, function(index, item) {\r\n this._needApplyAutoBaseSize(item) && extend(item, {\r\n baseSize: \"auto\"\r\n })\r\n }.bind(this));\r\n return {\r\n width: \"100%\",\r\n height: \"100%\",\r\n items: rootItems,\r\n itemTemplate: this._getTemplateByOption(\"itemTemplate\"),\r\n itemHoldTimeout: this.option(\"itemHoldTimeout\"),\r\n onItemHold: this._createActionByOption(\"onItemHold\"),\r\n onItemClick: this._createActionByOption(\"onItemClick\"),\r\n onItemContextMenu: this._createActionByOption(\"onItemContextMenu\"),\r\n onItemRendered: this._createActionByOption(\"onItemRendered\")\r\n }\r\n },\r\n _needApplyAutoBaseSize: function(item) {\r\n return !item.baseSize && (!item.minSize || \"auto\" === item.minSize) && (!item.maxSize || \"auto\" === item.maxSize)\r\n },\r\n _prepareBoxConfig: function(config) {\r\n return extend(config || {}, {\r\n crossAlign: \"stretch\",\r\n onItemStateChanged: this.option(\"onItemStateChanged\")\r\n })\r\n },\r\n _layoutBlock: function(options) {\r\n if (this._isSingleItem(options)) {\r\n return this._itemByCell(options.row.start, options.col.start)\r\n }\r\n return this._layoutDirection(options)\r\n },\r\n _isSingleItem: function(options) {\r\n var firstCellLocation = this._grid[options.row.start][options.col.start].location;\r\n var isItemRowSpanned = options.row.end - options.row.start === firstCellLocation.rowspan - 1;\r\n var isItemColSpanned = options.col.end - options.col.start === firstCellLocation.colspan - 1;\r\n return isItemRowSpanned && isItemColSpanned\r\n },\r\n _itemByCell: function(rowIndex, colIndex) {\r\n var itemCell = this._grid[rowIndex][colIndex];\r\n return itemCell.spanningCell ? null : itemCell.item\r\n },\r\n _layoutDirection: function(options) {\r\n var items = [];\r\n var direction = options.direction;\r\n var crossDirection = this._crossDirection(direction);\r\n var block;\r\n while (block = this._nextBlock(options)) {\r\n if (this._isBlockIndivisible(options.prevBlockOptions, block)) {\r\n throw errors.Error(\"E1025\")\r\n }\r\n var item = this._layoutBlock({\r\n direction: crossDirection,\r\n row: block.row,\r\n col: block.col,\r\n prevBlockOptions: options\r\n });\r\n if (item) {\r\n extend(item, this._blockSize(block, crossDirection));\r\n items.push(item)\r\n }\r\n options[crossDirection].start = block[crossDirection].end + 1\r\n }\r\n return {\r\n box: this._prepareBoxConfig({\r\n direction: direction,\r\n items: items\r\n })\r\n }\r\n },\r\n _isBlockIndivisible: function(options, block) {\r\n return options && options.col.start === block.col.start && options.col.end === block.col.end && options.row.start === block.row.start && options.row.end === block.row.end\r\n },\r\n _crossDirection: function(direction) {\r\n return \"col\" === direction ? \"row\" : \"col\"\r\n },\r\n _nextBlock: function(options) {\r\n var direction = options.direction;\r\n var crossDirection = this._crossDirection(direction);\r\n var startIndex = options[direction].start;\r\n var endIndex = options[direction].end;\r\n var crossStartIndex = options[crossDirection].start;\r\n if (crossStartIndex > options[crossDirection].end) {\r\n return null\r\n }\r\n var crossSpan = 1;\r\n for (var crossIndex = crossStartIndex; crossIndex < crossStartIndex + crossSpan; crossIndex++) {\r\n var lineCrossSpan = 1;\r\n for (var index = startIndex; index <= endIndex; index++) {\r\n var cell = this._cellByDirection(direction, index, crossIndex);\r\n lineCrossSpan = Math.max(lineCrossSpan, cell.location[crossDirection + \"span\"])\r\n }\r\n var lineCrossEndIndex = crossIndex + lineCrossSpan;\r\n var crossEndIndex = crossStartIndex + crossSpan;\r\n if (lineCrossEndIndex > crossEndIndex) {\r\n crossSpan += lineCrossEndIndex - crossEndIndex\r\n }\r\n }\r\n var result = {};\r\n result[direction] = {\r\n start: startIndex,\r\n end: endIndex\r\n };\r\n result[crossDirection] = {\r\n start: crossStartIndex,\r\n end: crossStartIndex + crossSpan - 1\r\n };\r\n return result\r\n },\r\n _cellByDirection: function(direction, index, crossIndex) {\r\n return \"col\" === direction ? this._grid[crossIndex][index] : this._grid[index][crossIndex]\r\n },\r\n _blockSize: function(block, direction) {\r\n var defaultMinSize = \"row\" === direction ? \"auto\" : 0;\r\n var sizeConfigs = \"row\" === direction ? this._rows : this._cols;\r\n var result = extend(this._createDefaultSizeConfig(), {\r\n ratio: 0\r\n });\r\n for (var index = block[direction].start; index <= block[direction].end; index++) {\r\n var sizeConfig = sizeConfigs[index];\r\n result.ratio += sizeConfig.ratio;\r\n result.baseSize += sizeConfig.baseSize;\r\n result.minSize += sizeConfig.minSize;\r\n result.maxSize += sizeConfig.maxSize;\r\n if (isDefined(sizeConfig.shrink)) {\r\n result.shrink = sizeConfig.shrink\r\n }\r\n }\r\n result.minSize = result.minSize ? result.minSize : defaultMinSize;\r\n result.maxSize = result.maxSize ? result.maxSize : \"auto\";\r\n this._isSingleColumnScreen() && (result.baseSize = \"auto\");\r\n return result\r\n },\r\n _update: function(forceRemoveRoot) {\r\n var $existingRoot = this._$root;\r\n this._renderItems();\r\n if ($existingRoot) {\r\n if (forceRemoveRoot) {\r\n $existingRoot.remove()\r\n } else {\r\n $existingRoot.detach();\r\n this._saveAssistantRoot($existingRoot)\r\n }\r\n }\r\n this._layoutChangedAction()\r\n },\r\n _saveAssistantRoot: function($root) {\r\n this._assistantRoots = this._assistantRoots || [];\r\n this._assistantRoots.push($root)\r\n },\r\n _dispose: function() {\r\n this._clearItemNodeTemplates();\r\n this._cleanUnusedRoots();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _cleanUnusedRoots: function() {\r\n if (!this._assistantRoots) {\r\n return\r\n }\r\n each(this._assistantRoots, (function(_, item) {\r\n $(item).remove()\r\n }))\r\n },\r\n _clearItemNodeTemplates: function() {\r\n each(this.option(\"items\"), (function() {\r\n delete this.node\r\n }))\r\n },\r\n _attachClickEvent: noop,\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"rows\":\r\n case \"cols\":\r\n case \"screenByWidth\":\r\n case \"singleColumnScreen\":\r\n this._clearItemNodeTemplates();\r\n this._invalidate();\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n this._update();\r\n break;\r\n case \"onLayoutChanged\":\r\n this._initLayoutChangedAction();\r\n break;\r\n case \"itemTemplate\":\r\n this._clearItemNodeTemplates();\r\n this.callBase(args);\r\n break;\r\n case \"currentScreenFactor\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n if (this._getCurrentScreen() !== this.option(\"currentScreenFactor\")) {\r\n this._update()\r\n }\r\n },\r\n repaint: function() {\r\n this._update()\r\n }\r\n});\r\nregisterComponent(\"dxResponsiveBox\", ResponsiveBox);\r\nexport default ResponsiveBox;\r\n","/**\r\n * DevExtreme (esm/ui/form/constants.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var WIDGET_CLASS = \"dx-widget\";\r\nexport var FORM_CLASS = \"dx-form\";\r\nexport var FORM_GROUP_CLASS = \"dx-form-group\";\r\nexport var FORM_GROUP_CAPTION_CLASS = \"dx-form-group-caption\";\r\nexport var FORM_FIELD_ITEM_COL_CLASS = \"dx-col-\";\r\nexport var FIELD_ITEM_CLASS = \"dx-field-item\";\r\nexport var LAYOUT_MANAGER_ONE_COLUMN = \"dx-layout-manager-one-col\";\r\nexport var FIELD_ITEM_LABEL_CONTENT_CLASS = \"dx-field-item-label-content\";\r\nexport var FORM_LAYOUT_MANAGER_CLASS = \"dx-layout-manager\";\r\nexport var FIELD_ITEM_LABEL_CLASS = \"dx-field-item-label\";\r\nexport var FIELD_ITEM_CONTENT_CLASS = \"dx-field-item-content\";\r\nexport var SINGLE_COLUMN_ITEM_CONTENT = \"dx-single-column-item-content\";\r\nexport var ROOT_SIMPLE_ITEM_CLASS = \"dx-root-simple-item\";\r\nexport var FORM_GROUP_CONTENT_CLASS = \"dx-form-group-content\";\r\nexport var FIELD_ITEM_CONTENT_HAS_GROUP_CLASS = \"dx-field-item-has-group\";\r\nexport var FIELD_ITEM_CONTENT_HAS_TABS_CLASS = \"dx-field-item-has-tabs\";\r\nexport var FORM_GROUP_WITH_CAPTION_CLASS = \"dx-form-group-with-caption\";\r\nexport var FIELD_ITEM_TAB_CLASS = \"dx-field-item-tab\";\r\nexport var GROUP_COL_COUNT_CLASS = \"dx-group-colcount-\";\r\nexport var GROUP_COL_COUNT_ATTR = \"group-col-count\";\r\nexport var FORM_VALIDATION_SUMMARY = \"dx-form-validation-summary\";\r\nexport var FORM_UNDERLINED_CLASS = \"dx-form-styling-mode-underlined\";\r\nexport var SIMPLE_ITEM_TYPE = \"simple\";\r\n","/**\r\n * DevExtreme (esm/ui/validation/default_adapter.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nvar DefaultAdapter = Class.inherit({\r\n ctor(editor, validator) {\r\n this.editor = editor;\r\n this.validator = validator;\r\n this.validationRequestsCallbacks = [];\r\n var handler = args => {\r\n this.validationRequestsCallbacks.forEach(item => item(args))\r\n };\r\n editor.validationRequest.add(handler);\r\n editor.on(\"disposing\", (function() {\r\n editor.validationRequest.remove(handler)\r\n }))\r\n },\r\n getValue() {\r\n return this.editor.option(\"value\")\r\n },\r\n getCurrentValidationError() {\r\n return this.editor.option(\"validationError\")\r\n },\r\n bypass() {\r\n return this.editor.option(\"disabled\")\r\n },\r\n applyValidationResults(params) {\r\n this.editor.option({\r\n validationErrors: params.brokenRules,\r\n validationStatus: params.status\r\n })\r\n },\r\n reset() {\r\n this.editor.reset()\r\n },\r\n focus() {\r\n this.editor.focus()\r\n }\r\n});\r\nexport default DefaultAdapter;\r\n","/**\r\n * DevExtreme (esm/ui/validator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n data as elementData\r\n} from \"../core/element_data\";\r\nimport Callbacks from \"../core/utils/callbacks\";\r\nimport errors from \"./widget/ui.errors\";\r\nimport DOMComponent from \"../core/dom_component\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport ValidationEngine from \"./validation_engine\";\r\nimport DefaultAdapter from \"./validation/default_adapter\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport Guid from \"../core/guid\";\r\nvar VALIDATOR_CLASS = \"dx-validator\";\r\nvar VALIDATION_STATUS_VALID = \"valid\";\r\nvar VALIDATION_STATUS_INVALID = \"invalid\";\r\nvar VALIDATION_STATUS_PENDING = \"pending\";\r\nvar Validator = DOMComponent.inherit({\r\n _initOptions: function(options) {\r\n this.callBase.apply(this, arguments);\r\n this.option(ValidationEngine.initValidationOptions(options))\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n validationRules: []\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initGroupRegistration();\r\n this.focused = Callbacks();\r\n this._initAdapter();\r\n this._validationInfo = {\r\n result: null,\r\n deferred: null,\r\n skipValidation: false\r\n }\r\n },\r\n _initGroupRegistration() {\r\n var group = this._findGroup();\r\n if (!this._groupWasInit) {\r\n this.on(\"disposing\", (function(args) {\r\n ValidationEngine.removeRegisteredValidator(args.component._validationGroup, args.component)\r\n }))\r\n }\r\n if (!this._groupWasInit || this._validationGroup !== group) {\r\n ValidationEngine.removeRegisteredValidator(this._validationGroup, this);\r\n this._groupWasInit = true;\r\n this._validationGroup = group;\r\n ValidationEngine.registerValidatorInGroup(group, this)\r\n }\r\n },\r\n _setOptionsByReference() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n validationGroup: true\r\n })\r\n },\r\n _getEditor() {\r\n var element = this.$element()[0];\r\n return elementData(element, \"dx-validation-target\")\r\n },\r\n _initAdapter() {\r\n var dxStandardEditor = this._getEditor();\r\n var adapter = this.option(\"adapter\");\r\n if (!adapter) {\r\n if (dxStandardEditor) {\r\n adapter = new DefaultAdapter(dxStandardEditor, this);\r\n adapter.validationRequestsCallbacks.push(args => {\r\n if (this._validationInfo.skipValidation) {\r\n return\r\n }\r\n this.validate(args)\r\n });\r\n this.option(\"adapter\", adapter);\r\n return\r\n }\r\n throw errors.Error(\"E0120\")\r\n }\r\n var callbacks = adapter.validationRequestsCallbacks;\r\n if (callbacks) {\r\n callbacks.push(args => {\r\n this.validate(args)\r\n })\r\n }\r\n },\r\n _toggleRTLDirection(isRtl) {\r\n var _this$option$editor$o, _this$option, _this$option$editor;\r\n var rtlEnabled = null !== (_this$option$editor$o = null === (_this$option = this.option(\"adapter\")) || void 0 === _this$option ? void 0 : null === (_this$option$editor = _this$option.editor) || void 0 === _this$option$editor ? void 0 : _this$option$editor.option(\"rtlEnabled\")) && void 0 !== _this$option$editor$o ? _this$option$editor$o : isRtl;\r\n this.callBase(rtlEnabled)\r\n },\r\n _initMarkup() {\r\n this.$element().addClass(VALIDATOR_CLASS);\r\n this.callBase()\r\n },\r\n _render() {\r\n this.callBase();\r\n this._toggleAccessibilityAttributes()\r\n },\r\n _toggleAccessibilityAttributes() {\r\n var dxStandardEditor = this._getEditor();\r\n if (dxStandardEditor) {\r\n var rules = this.option(\"validationRules\") || [];\r\n var isRequired = rules.some(_ref => {\r\n var {\r\n type: type\r\n } = _ref;\r\n return \"required\" === type\r\n }) || null;\r\n if (dxStandardEditor.isInitialized()) {\r\n dxStandardEditor.setAria(\"required\", isRequired)\r\n }\r\n dxStandardEditor.option(\"_onMarkupRendered\", () => {\r\n dxStandardEditor.setAria(\"required\", isRequired)\r\n })\r\n }\r\n },\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this._initGroupRegistration()\r\n }\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"validationGroup\":\r\n this._initGroupRegistration();\r\n return;\r\n case \"validationRules\":\r\n this._resetValidationRules();\r\n this._toggleAccessibilityAttributes();\r\n void 0 !== this.option(\"isValid\") && this.validate();\r\n return;\r\n case \"adapter\":\r\n this._initAdapter();\r\n break;\r\n case \"isValid\":\r\n case \"validationStatus\":\r\n this.option(ValidationEngine.synchronizeValidationOptions(args, this.option()));\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _getValidationRules() {\r\n if (!this._validationRules) {\r\n this._validationRules = map(this.option(\"validationRules\"), (rule, index) => extend({}, rule, {\r\n validator: this,\r\n index: index\r\n }))\r\n }\r\n return this._validationRules\r\n },\r\n _findGroup() {\r\n var $element = this.$element();\r\n return this.option(\"validationGroup\") || ValidationEngine.findGroup($element, this._modelByElement($element))\r\n },\r\n _resetValidationRules() {\r\n delete this._validationRules\r\n },\r\n validate(args) {\r\n var adapter = this.option(\"adapter\");\r\n var name = this.option(\"name\");\r\n var bypass = adapter.bypass && adapter.bypass();\r\n var value = args && void 0 !== args.value ? args.value : adapter.getValue();\r\n var currentError = adapter.getCurrentValidationError && adapter.getCurrentValidationError();\r\n var rules = this._getValidationRules();\r\n var currentResult = this._validationInfo && this._validationInfo.result;\r\n if (currentResult && currentResult.status === VALIDATION_STATUS_PENDING && currentResult.value === value) {\r\n return extend({}, currentResult)\r\n }\r\n var result;\r\n if (bypass) {\r\n result = {\r\n isValid: true,\r\n status: VALIDATION_STATUS_VALID\r\n }\r\n } else if (currentError && currentError.editorSpecific) {\r\n currentError.validator = this;\r\n result = {\r\n isValid: false,\r\n status: VALIDATION_STATUS_INVALID,\r\n brokenRule: currentError,\r\n brokenRules: [currentError]\r\n }\r\n } else {\r\n result = ValidationEngine.validate(value, rules, name)\r\n }\r\n result.id = (new Guid).toString();\r\n this._applyValidationResult(result, adapter);\r\n result.complete && result.complete.then(res => {\r\n if (res.id === this._validationInfo.result.id) {\r\n this._applyValidationResult(res, adapter)\r\n }\r\n });\r\n return extend({}, this._validationInfo.result)\r\n },\r\n reset() {\r\n var adapter = this.option(\"adapter\");\r\n var result = {\r\n id: null,\r\n isValid: true,\r\n brokenRule: null,\r\n brokenRules: null,\r\n pendingRules: null,\r\n status: VALIDATION_STATUS_VALID,\r\n complete: null\r\n };\r\n this._validationInfo.skipValidation = true;\r\n adapter.reset();\r\n this._validationInfo.skipValidation = false;\r\n this._resetValidationRules();\r\n this._applyValidationResult(result, adapter)\r\n },\r\n _updateValidationResult(result) {\r\n if (!this._validationInfo.result || this._validationInfo.result.id !== result.id) {\r\n var complete = this._validationInfo.deferred && this._validationInfo.result.complete;\r\n this._validationInfo.result = extend({}, result, {\r\n complete: complete\r\n })\r\n } else {\r\n for (var prop in result) {\r\n if (\"id\" !== prop && \"complete\" !== prop) {\r\n this._validationInfo.result[prop] = result[prop]\r\n }\r\n }\r\n }\r\n },\r\n _applyValidationResult(result, adapter) {\r\n var validatedAction = this._createActionByOption(\"onValidated\", {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n result.validator = this;\r\n this._updateValidationResult(result);\r\n adapter.applyValidationResults && adapter.applyValidationResults(this._validationInfo.result);\r\n this.option({\r\n validationStatus: this._validationInfo.result.status\r\n });\r\n if (this._validationInfo.result.status === VALIDATION_STATUS_PENDING) {\r\n if (!this._validationInfo.deferred) {\r\n this._validationInfo.deferred = new Deferred;\r\n this._validationInfo.result.complete = this._validationInfo.deferred.promise()\r\n }\r\n this._eventsStrategy.fireEvent(\"validating\", [this._validationInfo.result]);\r\n return\r\n }\r\n if (this._validationInfo.result.status !== VALIDATION_STATUS_PENDING) {\r\n validatedAction(result);\r\n if (this._validationInfo.deferred) {\r\n this._validationInfo.deferred.resolve(result);\r\n this._validationInfo.deferred = null\r\n }\r\n }\r\n },\r\n focus() {\r\n var adapter = this.option(\"adapter\");\r\n adapter && adapter.focus && adapter.focus()\r\n },\r\n _useTemplates: function() {\r\n return false\r\n }\r\n});\r\nregisterComponent(\"dxValidator\", Validator);\r\nexport default Validator;\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.layout_manager.utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n captionize\r\n} from \"../../core/utils/inflector\";\r\nimport Guid from \"../../core/guid\";\r\nimport {\r\n SIMPLE_ITEM_TYPE\r\n} from \"./constants\";\r\nvar EDITORS_WITH_ARRAY_VALUE = [\"dxTagBox\", \"dxRangeSlider\", \"dxDateRangeBox\"];\r\nexport var EDITORS_WITHOUT_LABELS = [\"dxCalendar\", \"dxCheckBox\", \"dxHtmlEditor\", \"dxRadioGroup\", \"dxRangeSlider\", \"dxSlider\", \"dxSwitch\"];\r\nexport function convertToRenderFieldItemOptions(_ref) {\r\n var {\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n formOrLayoutManager: formOrLayoutManager,\r\n createComponentCallback: createComponentCallback,\r\n item: item,\r\n template: template,\r\n labelTemplate: labelTemplate,\r\n name: name,\r\n formLabelLocation: formLabelLocation,\r\n requiredMessageTemplate: requiredMessageTemplate,\r\n validationGroup: validationGroup,\r\n editorValue: editorValue,\r\n canAssignUndefinedValueToEditor: canAssignUndefinedValueToEditor,\r\n editorValidationBoundary: editorValidationBoundary,\r\n editorStylingMode: editorStylingMode,\r\n showColonAfterLabel: showColonAfterLabel,\r\n managerLabelLocation: managerLabelLocation,\r\n itemId: itemId,\r\n managerMarkOptions: managerMarkOptions,\r\n labelMode: labelMode,\r\n onLabelTemplateRendered: onLabelTemplateRendered\r\n } = _ref;\r\n var isRequired = isDefined(item.isRequired) ? item.isRequired : !!_hasRequiredRuleInSet(item.validationRules);\r\n var isSimpleItem = item.itemType === SIMPLE_ITEM_TYPE;\r\n var helpID = item.helpText ? \"dx-\" + new Guid : null;\r\n var labelOptions = _convertToLabelOptions({\r\n item: item,\r\n id: itemId,\r\n isRequired: isRequired,\r\n managerMarkOptions: managerMarkOptions,\r\n showColonAfterLabel: showColonAfterLabel,\r\n labelLocation: managerLabelLocation,\r\n formLabelMode: labelMode,\r\n labelTemplate: labelTemplate,\r\n onLabelTemplateRendered: onLabelTemplateRendered\r\n });\r\n var needRenderLabel = labelOptions.visible && (labelOptions.text || labelOptions.labelTemplate && isSimpleItem);\r\n var {\r\n location: labelLocation,\r\n labelID: labelID\r\n } = labelOptions;\r\n var labelNeedBaselineAlign = \"top\" !== labelLocation && [\"dxTextArea\", \"dxRadioGroup\", \"dxCalendar\", \"dxHtmlEditor\"].includes(item.editorType);\r\n var editorOptions = _convertToEditorOptions({\r\n editorType: item.editorType,\r\n editorValue: editorValue,\r\n defaultEditorName: item.dataField,\r\n canAssignUndefinedValueToEditor: canAssignUndefinedValueToEditor,\r\n externalEditorOptions: item.editorOptions,\r\n editorInputId: itemId,\r\n editorValidationBoundary: editorValidationBoundary,\r\n editorStylingMode: editorStylingMode,\r\n formLabelMode: labelMode,\r\n labelText: labelOptions.textWithoutColon,\r\n labelMark: labelOptions.markOptions.showRequiredMark ? String.fromCharCode(160) + labelOptions.markOptions.requiredMark : \"\"\r\n });\r\n var needRenderOptionalMarkAsHelpText = labelOptions.markOptions.showOptionalMark && !labelOptions.visible && \"hidden\" !== editorOptions.labelMode && !isDefined(item.helpText);\r\n var helpText = needRenderOptionalMarkAsHelpText ? labelOptions.markOptions.optionalMark : item.helpText;\r\n return {\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n formOrLayoutManager: formOrLayoutManager,\r\n createComponentCallback: createComponentCallback,\r\n labelOptions: labelOptions,\r\n labelNeedBaselineAlign: labelNeedBaselineAlign,\r\n labelLocation: labelLocation,\r\n needRenderLabel: needRenderLabel,\r\n item: item,\r\n isSimpleItem: isSimpleItem,\r\n isRequired: isRequired,\r\n template: template,\r\n helpID: helpID,\r\n labelID: labelID,\r\n name: name,\r\n helpText: helpText,\r\n formLabelLocation: formLabelLocation,\r\n requiredMessageTemplate: requiredMessageTemplate,\r\n validationGroup: validationGroup,\r\n editorOptions: editorOptions\r\n }\r\n}\r\nexport function getLabelMarkText(_ref2) {\r\n var {\r\n showRequiredMark: showRequiredMark,\r\n requiredMark: requiredMark,\r\n showOptionalMark: showOptionalMark,\r\n optionalMark: optionalMark\r\n } = _ref2;\r\n if (!showRequiredMark && !showOptionalMark) {\r\n return \"\"\r\n }\r\n return String.fromCharCode(160) + (showRequiredMark ? requiredMark : optionalMark)\r\n}\r\nexport function convertToLabelMarkOptions(_ref3, isRequired) {\r\n var {\r\n showRequiredMark: showRequiredMark,\r\n requiredMark: requiredMark,\r\n showOptionalMark: showOptionalMark,\r\n optionalMark: optionalMark\r\n } = _ref3;\r\n return {\r\n showRequiredMark: showRequiredMark && isRequired,\r\n requiredMark: requiredMark,\r\n showOptionalMark: showOptionalMark && !isRequired,\r\n optionalMark: optionalMark\r\n }\r\n}\r\n\r\nfunction _convertToEditorOptions(_ref4) {\r\n var {\r\n editorType: editorType,\r\n defaultEditorName: defaultEditorName,\r\n editorValue: editorValue,\r\n canAssignUndefinedValueToEditor: canAssignUndefinedValueToEditor,\r\n externalEditorOptions: externalEditorOptions,\r\n editorInputId: editorInputId,\r\n editorValidationBoundary: editorValidationBoundary,\r\n editorStylingMode: editorStylingMode,\r\n formLabelMode: formLabelMode,\r\n labelText: labelText,\r\n labelMark: labelMark\r\n } = _ref4;\r\n var editorOptionsWithValue = {};\r\n if (void 0 !== editorValue || canAssignUndefinedValueToEditor) {\r\n editorOptionsWithValue.value = editorValue\r\n }\r\n if (-1 !== EDITORS_WITH_ARRAY_VALUE.indexOf(editorType)) {\r\n editorOptionsWithValue.value = editorOptionsWithValue.value || []\r\n }\r\n var labelMode = null === externalEditorOptions || void 0 === externalEditorOptions ? void 0 : externalEditorOptions.labelMode;\r\n if (!isDefined(labelMode)) {\r\n labelMode = \"outside\" === formLabelMode ? \"hidden\" : formLabelMode\r\n }\r\n var stylingMode = (null === externalEditorOptions || void 0 === externalEditorOptions ? void 0 : externalEditorOptions.stylingMode) || editorStylingMode;\r\n var result = extend(true, editorOptionsWithValue, externalEditorOptions, {\r\n inputAttr: {\r\n id: editorInputId\r\n },\r\n validationBoundary: editorValidationBoundary,\r\n stylingMode: stylingMode,\r\n label: labelText,\r\n labelMode: labelMode,\r\n labelMark: labelMark\r\n });\r\n if (externalEditorOptions) {\r\n if (result.dataSource) {\r\n result.dataSource = externalEditorOptions.dataSource\r\n }\r\n if (result.items) {\r\n result.items = externalEditorOptions.items\r\n }\r\n }\r\n if (defaultEditorName && !result.name) {\r\n result.name = defaultEditorName\r\n }\r\n return result\r\n}\r\n\r\nfunction _hasRequiredRuleInSet(rules) {\r\n var hasRequiredRule;\r\n if (rules && rules.length) {\r\n each(rules, (function(index, rule) {\r\n if (\"required\" === rule.type) {\r\n hasRequiredRule = true;\r\n return false\r\n }\r\n }))\r\n }\r\n return hasRequiredRule\r\n}\r\n\r\nfunction _convertToLabelOptions(_ref5) {\r\n var {\r\n item: item,\r\n id: id,\r\n isRequired: isRequired,\r\n managerMarkOptions: managerMarkOptions,\r\n showColonAfterLabel: showColonAfterLabel,\r\n labelLocation: labelLocation,\r\n labelTemplate: labelTemplate,\r\n formLabelMode: formLabelMode,\r\n onLabelTemplateRendered: onLabelTemplateRendered\r\n } = _ref5;\r\n var isEditorWithoutLabels = EDITORS_WITHOUT_LABELS.includes(item.editorType);\r\n var labelOptions = extend({\r\n showColon: showColonAfterLabel,\r\n location: labelLocation,\r\n id: id,\r\n visible: \"outside\" === formLabelMode || isEditorWithoutLabels && \"hidden\" !== formLabelMode,\r\n isRequired: isRequired\r\n }, item ? item.label : {}, {\r\n markOptions: convertToLabelMarkOptions(managerMarkOptions, isRequired),\r\n labelTemplate: labelTemplate,\r\n onLabelTemplateRendered: onLabelTemplateRendered\r\n });\r\n if ([\"dxRadioGroup\", \"dxCheckBox\", \"dxLookup\", \"dxSlider\", \"dxRangeSlider\", \"dxSwitch\", \"dxHtmlEditor\", \"dxDateRangeBox\"].includes(item.editorType)) {\r\n labelOptions.labelID = \"dx-label-\".concat(new Guid)\r\n }\r\n if (!labelOptions.text && item.dataField) {\r\n labelOptions.text = captionize(item.dataField)\r\n }\r\n if (labelOptions.text) {\r\n labelOptions.textWithoutColon = labelOptions.text;\r\n labelOptions.text += labelOptions.showColon ? \":\" : \"\"\r\n }\r\n return labelOptions\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/components/label.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport {\r\n getLabelMarkText\r\n} from \"../ui.form.layout_manager.utils\";\r\nimport {\r\n FIELD_ITEM_LABEL_CONTENT_CLASS,\r\n FIELD_ITEM_LABEL_CLASS\r\n} from \"../constants\";\r\nexport var GET_LABEL_WIDTH_BY_TEXT_CLASS = \"dx-layout-manager-hidden-label\";\r\nexport var FIELD_ITEM_REQUIRED_MARK_CLASS = \"dx-field-item-required-mark\";\r\nexport var FIELD_ITEM_LABEL_LOCATION_CLASS = \"dx-field-item-label-location-\";\r\nexport var FIELD_ITEM_OPTIONAL_MARK_CLASS = \"dx-field-item-optional-mark\";\r\nexport var FIELD_ITEM_LABEL_TEXT_CLASS = \"dx-field-item-label-text\";\r\nexport function renderLabel(_ref) {\r\n var {\r\n text: text,\r\n id: id,\r\n location: location,\r\n alignment: alignment,\r\n labelID: labelID = null,\r\n markOptions: markOptions = {},\r\n labelTemplate: labelTemplate,\r\n labelTemplateData: labelTemplateData,\r\n onLabelTemplateRendered: onLabelTemplateRendered\r\n } = _ref;\r\n if ((!isDefined(text) || text.length <= 0) && !isDefined(labelTemplate)) {\r\n return null\r\n }\r\n var $label = $(\"<label>\").addClass(FIELD_ITEM_LABEL_CLASS + \" \" + FIELD_ITEM_LABEL_LOCATION_CLASS + location).attr(\"for\", id).attr(\"id\", labelID).css(\"textAlign\", alignment);\r\n var $labelContainer = $(\"<span>\").addClass(FIELD_ITEM_LABEL_CONTENT_CLASS);\r\n var $labelContent = $(\"<span>\").addClass(FIELD_ITEM_LABEL_TEXT_CLASS).text(text);\r\n if (labelTemplate) {\r\n $labelContent = $(\"<div>\").addClass(\"dx-field-item-custom-label-content\");\r\n labelTemplateData.text = text;\r\n labelTemplate.render({\r\n container: getPublicElement($labelContent),\r\n model: labelTemplateData,\r\n onRendered() {\r\n null === onLabelTemplateRendered || void 0 === onLabelTemplateRendered ? void 0 : onLabelTemplateRendered()\r\n }\r\n })\r\n }\r\n return $label.append($labelContainer.append($labelContent, _renderLabelMark(markOptions)))\r\n}\r\n\r\nfunction _renderLabelMark(markOptions) {\r\n var markText = getLabelMarkText(markOptions);\r\n if (\"\" === markText) {\r\n return null\r\n }\r\n return $(\"<span>\").addClass(markOptions.showRequiredMark ? FIELD_ITEM_REQUIRED_MARK_CLASS : FIELD_ITEM_OPTIONAL_MARK_CLASS).text(markText)\r\n}\r\nexport function setLabelWidthByMaxLabelWidth($targetContainer, labelsSelector, labelMarkOptions) {\r\n var FIELD_ITEM_LABEL_CONTENT_CLASS_Selector = \"\".concat(labelsSelector, \" > .\").concat(FIELD_ITEM_LABEL_CLASS, \":not(.\").concat(FIELD_ITEM_LABEL_LOCATION_CLASS, \"top) > .\").concat(FIELD_ITEM_LABEL_CONTENT_CLASS);\r\n var $FIELD_ITEM_LABEL_CONTENT_CLASS_Items = $targetContainer.find(FIELD_ITEM_LABEL_CONTENT_CLASS_Selector);\r\n var FIELD_ITEM_LABEL_CONTENT_CLASS_Length = $FIELD_ITEM_LABEL_CONTENT_CLASS_Items.length;\r\n var labelWidth;\r\n var i;\r\n var maxWidth = 0;\r\n for (i = 0; i < FIELD_ITEM_LABEL_CONTENT_CLASS_Length; i++) {\r\n labelWidth = getLabelWidthByHTML($FIELD_ITEM_LABEL_CONTENT_CLASS_Items[i]);\r\n if (labelWidth > maxWidth) {\r\n maxWidth = labelWidth\r\n }\r\n }\r\n for (i = 0; i < FIELD_ITEM_LABEL_CONTENT_CLASS_Length; i++) {\r\n $FIELD_ITEM_LABEL_CONTENT_CLASS_Items[i].style.width = maxWidth + \"px\"\r\n }\r\n}\r\n\r\nfunction getLabelWidthByHTML(labelContent) {\r\n var result = 0;\r\n var itemsCount = labelContent.children.length;\r\n for (var i = 0; i < itemsCount; i++) {\r\n var child = labelContent.children[i];\r\n result += child.offsetWidth\r\n }\r\n return result\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/components/field_item.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../events/click\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport {\r\n captionize\r\n} from \"../../../core/utils/inflector\";\r\nimport {\r\n format\r\n} from \"../../../core/utils/string\";\r\nimport {\r\n isMaterial\r\n} from \"../../themes\";\r\nimport errors from \"../../widget/ui.errors\";\r\nimport Validator from \"../../validator\";\r\nimport {\r\n FIELD_ITEM_CONTENT_CLASS\r\n} from \"../constants\";\r\nexport var FLEX_LAYOUT_CLASS = \"dx-flex-layout\";\r\nexport var FIELD_ITEM_OPTIONAL_CLASS = \"dx-field-item-optional\";\r\nexport var FIELD_ITEM_REQUIRED_CLASS = \"dx-field-item-required\";\r\nexport var FIELD_ITEM_CONTENT_WRAPPER_CLASS = \"dx-field-item-content-wrapper\";\r\nexport var FIELD_ITEM_CONTENT_LOCATION_CLASS = \"dx-field-item-content-location-\";\r\nexport var FIELD_ITEM_LABEL_ALIGN_CLASS = \"dx-field-item-label-align\";\r\nexport var FIELD_ITEM_HELP_TEXT_CLASS = \"dx-field-item-help-text\";\r\nexport var LABEL_VERTICAL_ALIGNMENT_CLASS = \"dx-label-v-align\";\r\nexport var LABEL_HORIZONTAL_ALIGNMENT_CLASS = \"dx-label-h-align\";\r\nexport var TOGGLE_CONTROLS_PADDING_CLASS = \"dx-toggle-controls-paddings\";\r\nimport {\r\n renderLabel\r\n} from \"./label\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar VALIDATION_TARGET_CLASS = \"dx-validation-target\";\r\nvar INVALID_CLASS = \"dx-invalid\";\r\nexport function renderFieldItem(_ref) {\r\n var {\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n formOrLayoutManager: formOrLayoutManager,\r\n createComponentCallback: createComponentCallback,\r\n labelOptions: labelOptions,\r\n labelNeedBaselineAlign: labelNeedBaselineAlign,\r\n labelLocation: labelLocation,\r\n needRenderLabel: needRenderLabel,\r\n formLabelLocation: formLabelLocation,\r\n item: item,\r\n editorOptions: editorOptions,\r\n isSimpleItem: isSimpleItem,\r\n isRequired: isRequired,\r\n template: template,\r\n helpID: helpID,\r\n labelID: labelID,\r\n name: name,\r\n helpText: helpText,\r\n requiredMessageTemplate: requiredMessageTemplate,\r\n validationGroup: validationGroup\r\n } = _ref;\r\n var $rootElement = $(\"<div>\").addClass(rootElementCssClassList.join(\" \")).appendTo($parent);\r\n $rootElement.addClass(isRequired ? FIELD_ITEM_REQUIRED_CLASS : FIELD_ITEM_OPTIONAL_CLASS);\r\n if (isSimpleItem) {\r\n $rootElement.addClass(FLEX_LAYOUT_CLASS)\r\n }\r\n if (isSimpleItem && labelNeedBaselineAlign) {\r\n $rootElement.addClass(FIELD_ITEM_LABEL_ALIGN_CLASS)\r\n }\r\n var $fieldEditorContainer = $(\"<div>\");\r\n $fieldEditorContainer.data(\"dx-form-item\", item);\r\n $fieldEditorContainer.addClass(FIELD_ITEM_CONTENT_CLASS).addClass(FIELD_ITEM_CONTENT_LOCATION_CLASS + {\r\n right: \"left\",\r\n left: \"right\",\r\n top: \"bottom\"\r\n } [formLabelLocation]);\r\n var $label = null;\r\n if (needRenderLabel) {\r\n if (labelOptions.labelTemplate) {\r\n labelOptions.labelTemplateData = getTemplateData(item, editorOptions, formOrLayoutManager)\r\n }\r\n $label = renderLabel(labelOptions)\r\n }\r\n if ($label) {\r\n var {\r\n editorType: editorType\r\n } = item;\r\n $rootElement.append($label);\r\n if (\"top\" === labelLocation || \"left\" === labelLocation) {\r\n $rootElement.append($fieldEditorContainer)\r\n }\r\n if (\"right\" === labelLocation) {\r\n $rootElement.prepend($fieldEditorContainer)\r\n }\r\n if (\"top\" === labelLocation) {\r\n $rootElement.addClass(LABEL_VERTICAL_ALIGNMENT_CLASS)\r\n } else {\r\n $rootElement.addClass(LABEL_HORIZONTAL_ALIGNMENT_CLASS)\r\n }\r\n if (\"dxCheckBox\" === editorType || \"dxSwitch\" === editorType) {\r\n eventsEngine.on($label, clickEventName, (function() {\r\n eventsEngine.trigger($fieldEditorContainer.children(), clickEventName)\r\n }))\r\n }\r\n var isToggleControls = [\"dxCheckBox\", \"dxSwitch\", \"dxRadioGroup\"].includes(editorType);\r\n var labelAlignment = labelOptions.alignment;\r\n var isLabelAlignmentLeft = \"left\" === labelAlignment || !labelAlignment;\r\n var hasNotTemplate = !template;\r\n var isLabelOnTop = \"top\" === labelLocation;\r\n if (hasNotTemplate && isToggleControls && isLabelOnTop && isLabelAlignmentLeft) {\r\n $fieldEditorContainer.addClass(TOGGLE_CONTROLS_PADDING_CLASS)\r\n }\r\n } else {\r\n $rootElement.append($fieldEditorContainer)\r\n }\r\n var widgetInstance;\r\n if (template) {\r\n template.render({\r\n container: getPublicElement($fieldEditorContainer),\r\n model: getTemplateData(item, editorOptions, formOrLayoutManager),\r\n onRendered() {\r\n var $validationTarget = getValidationTarget($fieldEditorContainer);\r\n var validationTargetInstance = tryGetValidationTargetInstance($validationTarget);\r\n subscribeWrapperInvalidClassToggle(validationTargetInstance)\r\n }\r\n })\r\n } else {\r\n var $div = $(\"<div>\").appendTo($fieldEditorContainer);\r\n try {\r\n widgetInstance = createComponentCallback($div, item.editorType, editorOptions);\r\n widgetInstance.setAria(\"describedby\", helpID);\r\n if (labelID) {\r\n widgetInstance.setAria(\"labelledby\", labelID)\r\n }\r\n widgetInstance.setAria(\"required\", isRequired)\r\n } catch (e) {\r\n errors.log(\"E1035\", e.message)\r\n }\r\n }\r\n var $validationTarget = getValidationTarget($fieldEditorContainer);\r\n var validationTargetInstance = $validationTarget && $validationTarget.data(VALIDATION_TARGET_CLASS);\r\n if (validationTargetInstance) {\r\n var isItemHaveCustomLabel = item.label && item.label.text;\r\n var itemName = isItemHaveCustomLabel ? null : name;\r\n var fieldName = isItemHaveCustomLabel ? item.label.text : itemName && captionize(itemName);\r\n var validationRules;\r\n if (isSimpleItem) {\r\n if (item.validationRules) {\r\n validationRules = item.validationRules\r\n } else {\r\n var requiredMessage = format(requiredMessageTemplate, fieldName || \"\");\r\n validationRules = item.isRequired ? [{\r\n type: \"required\",\r\n message: requiredMessage\r\n }] : null\r\n }\r\n }\r\n if (Array.isArray(validationRules) && validationRules.length) {\r\n createComponentCallback($validationTarget, Validator, {\r\n validationRules: validationRules,\r\n validationGroup: validationGroup,\r\n dataGetter: function() {\r\n return {\r\n formItem: item\r\n }\r\n }\r\n })\r\n }\r\n subscribeWrapperInvalidClassToggle(validationTargetInstance)\r\n }\r\n if (helpText && isSimpleItem) {\r\n var $editorParent = $fieldEditorContainer.parent();\r\n $editorParent.append($(\"<div>\").addClass(FIELD_ITEM_CONTENT_WRAPPER_CLASS).append($fieldEditorContainer).append($(\"<div>\").addClass(FIELD_ITEM_HELP_TEXT_CLASS).attr(\"id\", helpID).text(helpText)))\r\n }\r\n return {\r\n $fieldEditorContainer: $fieldEditorContainer,\r\n $rootElement: $rootElement,\r\n widgetInstance: widgetInstance\r\n }\r\n}\r\n\r\nfunction getValidationTarget($fieldEditorContainer) {\r\n var $editor = $fieldEditorContainer.children().first();\r\n return $editor.hasClass(TEMPLATE_WRAPPER_CLASS) ? $editor.children().first() : $editor\r\n}\r\n\r\nfunction tryGetValidationTargetInstance($validationTarget) {\r\n var _$validationTarget$pa, _$validationTarget$pa2;\r\n return (null === $validationTarget || void 0 === $validationTarget ? void 0 : $validationTarget.data(VALIDATION_TARGET_CLASS)) || (null === $validationTarget || void 0 === $validationTarget ? void 0 : null === (_$validationTarget$pa = $validationTarget.parent) || void 0 === _$validationTarget$pa ? void 0 : null === (_$validationTarget$pa2 = _$validationTarget$pa.call($validationTarget)) || void 0 === _$validationTarget$pa2 ? void 0 : _$validationTarget$pa2.data(VALIDATION_TARGET_CLASS))\r\n}\r\n\r\nfunction subscribeWrapperInvalidClassToggle(validationTargetInstance) {\r\n if (validationTargetInstance && isMaterial()) {\r\n var wrapperClass = \".\".concat(FIELD_ITEM_CONTENT_WRAPPER_CLASS);\r\n var toggleInvalidClass = _ref2 => {\r\n var {\r\n element: element,\r\n component: component\r\n } = _ref2;\r\n var {\r\n isValid: isValid,\r\n validationMessageMode: validationMessageMode\r\n } = component.option();\r\n $(element).parents(wrapperClass).toggleClass(INVALID_CLASS, false === isValid && (component._isFocused() || \"always\" === validationMessageMode))\r\n };\r\n validationTargetInstance.on(\"optionChanged\", e => {\r\n if (\"isValid\" !== e.name) {\r\n return\r\n }\r\n toggleInvalidClass(e)\r\n });\r\n validationTargetInstance.on(\"focusIn\", toggleInvalidClass).on(\"focusOut\", toggleInvalidClass).on(\"enterKey\", toggleInvalidClass)\r\n }\r\n}\r\n\r\nfunction getTemplateData(item, editorOptions, formOrLayoutManager) {\r\n return {\r\n dataField: item.dataField,\r\n editorType: item.editorType,\r\n editorOptions: editorOptions,\r\n component: formOrLayoutManager,\r\n name: item.name\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/components/button_item.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nvar FIELD_BUTTON_ITEM_CLASS = \"dx-field-button-item\";\r\nexport function renderButtonItem(_ref) {\r\n var {\r\n item: item,\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n validationGroup: validationGroup,\r\n createComponentCallback: createComponentCallback\r\n } = _ref;\r\n var $rootElement = $(\"<div>\").appendTo($parent).addClass(rootElementCssClassList.join(\" \")).addClass(FIELD_BUTTON_ITEM_CLASS).css(\"textAlign\", convertAlignmentToTextAlign(item.horizontalAlignment));\r\n $parent.css(\"justifyContent\", convertAlignmentToJustifyContent(item.verticalAlignment));\r\n var $button = $(\"<div>\").appendTo($rootElement);\r\n return {\r\n $rootElement: $rootElement,\r\n buttonInstance: createComponentCallback($button, \"dxButton\", extend({\r\n validationGroup: validationGroup\r\n }, item.buttonOptions))\r\n }\r\n}\r\n\r\nfunction convertAlignmentToTextAlign(horizontalAlignment) {\r\n return isDefined(horizontalAlignment) ? horizontalAlignment : \"right\"\r\n}\r\n\r\nfunction convertAlignmentToJustifyContent(verticalAlignment) {\r\n switch (verticalAlignment) {\r\n case \"center\":\r\n return \"center\";\r\n case \"bottom\":\r\n return \"flex-end\";\r\n default:\r\n return \"flex-start\"\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/components/empty_item.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nexport var FIELD_EMPTY_ITEM_CLASS = \"dx-field-empty-item\";\r\nexport function renderEmptyItem(_ref) {\r\n var {\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList\r\n } = _ref;\r\n return $(\"<div>\").addClass(FIELD_EMPTY_ITEM_CLASS).html(\" \").addClass(rootElementCssClassList.join(\" \")).appendTo($parent)\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.layout_manager.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n default as FormItemsRunTimeInfo\r\n} from \"./ui.form.items_runtime_info\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isFunction,\r\n isObject,\r\n type\r\n} from \"../../core/utils/type\";\r\nimport variableWrapper from \"../../core/utils/variable_wrapper\";\r\nimport {\r\n getCurrentScreenFactor,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n normalizeIndexes\r\n} from \"../../core/utils/array\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n removeEvent\r\n} from \"../../events/remove\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport ResponsiveBox from \"../responsive_box\";\r\nimport {\r\n LAYOUT_MANAGER_ONE_COLUMN,\r\n FORM_LAYOUT_MANAGER_CLASS,\r\n SINGLE_COLUMN_ITEM_CONTENT,\r\n ROOT_SIMPLE_ITEM_CLASS,\r\n SIMPLE_ITEM_TYPE,\r\n FIELD_ITEM_CLASS\r\n} from \"./constants\";\r\nimport \"../text_box\";\r\nimport \"../number_box\";\r\nimport \"../check_box\";\r\nimport \"../date_box\";\r\nimport \"../button\";\r\nimport {\r\n renderFieldItem\r\n} from \"./components/field_item\";\r\nimport {\r\n renderButtonItem\r\n} from \"./components/button_item\";\r\nimport {\r\n renderEmptyItem\r\n} from \"./components/empty_item\";\r\nimport {\r\n convertToRenderFieldItemOptions\r\n} from \"./ui.form.layout_manager.utils\";\r\nvar FORM_EDITOR_BY_DEFAULT = \"dxTextBox\";\r\nvar LAYOUT_MANAGER_FIRST_ROW_CLASS = \"dx-first-row\";\r\nvar LAYOUT_MANAGER_LAST_ROW_CLASS = \"dx-last-row\";\r\nvar LAYOUT_MANAGER_FIRST_COL_CLASS = \"dx-first-col\";\r\nvar LAYOUT_MANAGER_LAST_COL_CLASS = \"dx-last-col\";\r\nvar LayoutManager = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n layoutData: {},\r\n readOnly: false,\r\n colCount: 1,\r\n colCountByScreen: void 0,\r\n labelLocation: \"left\",\r\n onFieldDataChanged: null,\r\n onEditorEnterKey: null,\r\n customizeItem: null,\r\n alignItemLabels: true,\r\n minColWidth: 200,\r\n showRequiredMark: true,\r\n screenByWidth: null,\r\n showOptionalMark: false,\r\n requiredMark: \"*\",\r\n labelMode: \"outside\",\r\n optionalMark: messageLocalization.format(\"dxForm-optionalMark\"),\r\n requiredMessage: messageLocalization.getFormatter(\"dxForm-requiredMessage\")\r\n })\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n layoutData: true,\r\n validationGroup: true\r\n })\r\n },\r\n _init: function() {\r\n var layoutData = this.option(\"layoutData\");\r\n this.callBase();\r\n this._itemWatchers = [];\r\n this._itemsRunTimeInfo = new FormItemsRunTimeInfo;\r\n this._updateReferencedOptions(layoutData);\r\n this._initDataAndItems(layoutData)\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n this._cleanItemWatchers()\r\n },\r\n _initDataAndItems: function(initialData) {\r\n this._syncDataWithItems();\r\n this._updateItems(initialData)\r\n },\r\n _syncDataWithItems: function() {\r\n var layoutData = this.option(\"layoutData\");\r\n var userItems = this.option(\"items\");\r\n if (isDefined(userItems)) {\r\n userItems.forEach(item => {\r\n if (item.dataField && void 0 === this._getDataByField(item.dataField)) {\r\n var value;\r\n if (item.editorOptions) {\r\n value = item.editorOptions.value\r\n }\r\n if (isDefined(value) || item.dataField in layoutData) {\r\n this._updateFieldValue(item.dataField, value)\r\n }\r\n }\r\n })\r\n }\r\n },\r\n _getDataByField: function(dataField) {\r\n return dataField ? this.option(\"layoutData.\" + dataField) : null\r\n },\r\n _isCheckboxUndefinedStateEnabled: function(_ref) {\r\n var {\r\n allowIndeterminateState: allowIndeterminateState,\r\n editorType: editorType,\r\n dataField: dataField\r\n } = _ref;\r\n if (true === allowIndeterminateState && \"dxCheckBox\" === editorType) {\r\n var nameParts = [\"layoutData\", ...dataField.split(\".\")];\r\n var propertyName = nameParts.pop();\r\n var layoutData = this.option(nameParts.join(\".\"));\r\n return layoutData && propertyName in layoutData\r\n }\r\n return false\r\n },\r\n _updateFieldValue: function(dataField, value) {\r\n var layoutData = this.option(\"layoutData\");\r\n var newValue = value;\r\n if (!variableWrapper.isWrapped(layoutData[dataField]) && isDefined(dataField)) {\r\n this.option(\"layoutData.\" + dataField, newValue)\r\n } else if (variableWrapper.isWritableWrapped(layoutData[dataField])) {\r\n newValue = isFunction(newValue) ? newValue() : newValue;\r\n layoutData[dataField](newValue)\r\n }\r\n this._triggerOnFieldDataChanged({\r\n dataField: dataField,\r\n value: newValue\r\n })\r\n },\r\n _triggerOnFieldDataChanged: function(args) {\r\n this._createActionByOption(\"onFieldDataChanged\")(args)\r\n },\r\n _updateItems: function(layoutData) {\r\n var that = this;\r\n var userItems = this.option(\"items\");\r\n var isUserItemsExist = isDefined(userItems);\r\n var customizeItem = that.option(\"customizeItem\");\r\n var items = isUserItemsExist ? userItems : this._generateItemsByData(layoutData);\r\n if (isDefined(items)) {\r\n var processedItems = [];\r\n each(items, (function(index, item) {\r\n if (that._isAcceptableItem(item)) {\r\n item = that._processItem(item);\r\n customizeItem && customizeItem(item);\r\n if (isObject(item) && false !== variableWrapper.unwrap(item.visible)) {\r\n processedItems.push(item)\r\n }\r\n }\r\n }));\r\n if (!that._itemWatchers.length || !isUserItemsExist) {\r\n that._updateItemWatchers(items)\r\n }\r\n this._setItems(processedItems);\r\n this._sortItems()\r\n }\r\n },\r\n _cleanItemWatchers: function() {\r\n this._itemWatchers.forEach((function(dispose) {\r\n dispose()\r\n }));\r\n this._itemWatchers = []\r\n },\r\n _updateItemWatchers: function(items) {\r\n var that = this;\r\n var watch = that._getWatch();\r\n items.forEach((function(item) {\r\n if (isObject(item) && isDefined(item.visible) && isFunction(watch)) {\r\n that._itemWatchers.push(watch((function() {\r\n return variableWrapper.unwrap(item.visible)\r\n }), (function() {\r\n that._updateItems(that.option(\"layoutData\"));\r\n that.repaint()\r\n }), {\r\n skipImmediate: true\r\n }))\r\n }\r\n }))\r\n },\r\n _generateItemsByData: function(layoutData) {\r\n var result = [];\r\n if (isDefined(layoutData)) {\r\n each(layoutData, (function(dataField) {\r\n result.push({\r\n dataField: dataField\r\n })\r\n }))\r\n }\r\n return result\r\n },\r\n _isAcceptableItem: function(item) {\r\n var itemField = item.dataField || item;\r\n var itemData = this._getDataByField(itemField);\r\n return !(isFunction(itemData) && !variableWrapper.isWrapped(itemData))\r\n },\r\n _processItem: function(item) {\r\n if (\"string\" === typeof item) {\r\n item = {\r\n dataField: item\r\n }\r\n }\r\n if (\"object\" === typeof item && !item.itemType) {\r\n item.itemType = SIMPLE_ITEM_TYPE\r\n }\r\n if (!isDefined(item.editorType) && isDefined(item.dataField)) {\r\n var value = this._getDataByField(item.dataField);\r\n item.editorType = isDefined(value) ? this._getEditorTypeByDataType(type(value)) : FORM_EDITOR_BY_DEFAULT\r\n }\r\n if (\"dxCheckBox\" === item.editorType) {\r\n var _item$allowIndetermin;\r\n item.allowIndeterminateState = null !== (_item$allowIndetermin = item.allowIndeterminateState) && void 0 !== _item$allowIndetermin ? _item$allowIndetermin : true\r\n }\r\n return item\r\n },\r\n _getEditorTypeByDataType: function(dataType) {\r\n switch (dataType) {\r\n case \"number\":\r\n return \"dxNumberBox\";\r\n case \"date\":\r\n return \"dxDateBox\";\r\n case \"boolean\":\r\n return \"dxCheckBox\";\r\n default:\r\n return \"dxTextBox\"\r\n }\r\n },\r\n _sortItems: function() {\r\n normalizeIndexes(this._items, \"visibleIndex\");\r\n this._sortIndexes()\r\n },\r\n _sortIndexes: function() {\r\n this._items.sort((function(itemA, itemB) {\r\n var indexA = itemA.visibleIndex;\r\n var indexB = itemB.visibleIndex;\r\n var result;\r\n if (indexA > indexB) {\r\n result = 1\r\n } else if (indexA < indexB) {\r\n result = -1\r\n } else {\r\n result = 0\r\n }\r\n return result\r\n }))\r\n },\r\n _initMarkup: function() {\r\n this._itemsRunTimeInfo.clear();\r\n this.$element().addClass(FORM_LAYOUT_MANAGER_CLASS);\r\n this.callBase();\r\n this._renderResponsiveBox()\r\n },\r\n _renderResponsiveBox: function() {\r\n var templatesInfo = [];\r\n if (this._items && this._items.length) {\r\n var colCount = this._getColCount();\r\n var $container = $(\"<div>\").appendTo(this.$element());\r\n this._prepareItemsWithMerging(colCount);\r\n var layoutItems = this._generateLayoutItems();\r\n this._responsiveBox = this._createComponent($container, ResponsiveBox, this._getResponsiveBoxConfig(layoutItems, colCount, templatesInfo));\r\n if (!hasWindow()) {\r\n this._renderTemplates(templatesInfo)\r\n }\r\n }\r\n },\r\n _itemStateChangedHandler: function(e) {\r\n this._refresh()\r\n },\r\n _renderTemplates: function(templatesInfo) {\r\n var that = this;\r\n var itemsWithLabelTemplateCount = 0;\r\n templatesInfo.forEach(_ref2 => {\r\n var _item$label;\r\n var {\r\n item: item\r\n } = _ref2;\r\n if (null !== item && void 0 !== item && null !== (_item$label = item.label) && void 0 !== _item$label && _item$label.template) {\r\n itemsWithLabelTemplateCount++\r\n }\r\n });\r\n each(templatesInfo, (function(index, info) {\r\n switch (info.itemType) {\r\n case \"empty\":\r\n renderEmptyItem(info);\r\n break;\r\n case \"button\":\r\n that._renderButtonItem(info);\r\n break;\r\n default:\r\n that._renderFieldItem(info, itemsWithLabelTemplateCount)\r\n }\r\n }))\r\n },\r\n _getResponsiveBoxConfig: function(layoutItems, colCount, templatesInfo) {\r\n var that = this;\r\n var colCountByScreen = that.option(\"colCountByScreen\");\r\n var xsColCount = colCountByScreen && colCountByScreen.xs;\r\n return {\r\n onItemStateChanged: this._itemStateChangedHandler.bind(this),\r\n onLayoutChanged: function() {\r\n var onLayoutChanged = that.option(\"onLayoutChanged\");\r\n var isSingleColumnMode = that.isSingleColumnMode();\r\n if (onLayoutChanged) {\r\n that.$element().toggleClass(LAYOUT_MANAGER_ONE_COLUMN, isSingleColumnMode);\r\n onLayoutChanged(isSingleColumnMode)\r\n }\r\n },\r\n onContentReady: function(e) {\r\n if (hasWindow()) {\r\n that._renderTemplates(templatesInfo)\r\n }\r\n if (that.option(\"onLayoutChanged\")) {\r\n that.$element().toggleClass(LAYOUT_MANAGER_ONE_COLUMN, that.isSingleColumnMode(e.component))\r\n }\r\n },\r\n itemTemplate: function(e, itemData, itemElement) {\r\n if (!e.location) {\r\n return\r\n }\r\n var $itemElement = $(itemElement);\r\n var itemRenderedCountInPreviousRows = e.location.row * colCount;\r\n var item = that._items[e.location.col + itemRenderedCountInPreviousRows];\r\n if (!item) {\r\n return\r\n }\r\n var itemCssClassList = [item.cssClass];\r\n $itemElement.toggleClass(SINGLE_COLUMN_ITEM_CONTENT, that.isSingleColumnMode(this));\r\n if (0 === e.location.row) {\r\n itemCssClassList.push(LAYOUT_MANAGER_FIRST_ROW_CLASS)\r\n }\r\n if (0 === e.location.col) {\r\n itemCssClassList.push(LAYOUT_MANAGER_FIRST_COL_CLASS)\r\n }\r\n if (item.itemType === SIMPLE_ITEM_TYPE && that.option(\"isRoot\")) {\r\n $itemElement.addClass(ROOT_SIMPLE_ITEM_CLASS)\r\n }\r\n var isLastColumn = e.location.col === colCount - 1 || e.location.col + e.location.colspan === colCount;\r\n var rowsCount = that._getRowsCount();\r\n var isLastRow = e.location.row === rowsCount - 1;\r\n if (isLastColumn) {\r\n itemCssClassList.push(LAYOUT_MANAGER_LAST_COL_CLASS)\r\n }\r\n if (isLastRow) {\r\n itemCssClassList.push(LAYOUT_MANAGER_LAST_ROW_CLASS)\r\n }\r\n if (\"empty\" !== item.itemType) {\r\n itemCssClassList.push(FIELD_ITEM_CLASS);\r\n itemCssClassList.push(that.option(\"cssItemClass\"));\r\n if (isDefined(item.col)) {\r\n itemCssClassList.push(\"dx-col-\" + item.col)\r\n }\r\n }\r\n templatesInfo.push({\r\n itemType: item.itemType,\r\n item: item,\r\n $parent: $itemElement,\r\n rootElementCssClassList: itemCssClassList\r\n })\r\n },\r\n cols: that._generateRatio(colCount),\r\n rows: that._generateRatio(that._getRowsCount(), true),\r\n dataSource: layoutItems,\r\n screenByWidth: that.option(\"screenByWidth\"),\r\n singleColumnScreen: xsColCount ? false : \"xs\"\r\n }\r\n },\r\n _getColCount: function() {\r\n var colCount = this.option(\"colCount\");\r\n var colCountByScreen = this.option(\"colCountByScreen\");\r\n if (colCountByScreen) {\r\n var screenFactor = this.option(\"form\").getTargetScreenFactor();\r\n if (!screenFactor) {\r\n screenFactor = hasWindow() ? getCurrentScreenFactor(this.option(\"screenByWidth\")) : \"lg\"\r\n }\r\n colCount = colCountByScreen[screenFactor] || colCount\r\n }\r\n if (\"auto\" === colCount) {\r\n if (this._cashedColCount) {\r\n return this._cashedColCount\r\n }\r\n this._cashedColCount = colCount = this._getMaxColCount()\r\n }\r\n return colCount < 1 ? 1 : colCount\r\n },\r\n _getMaxColCount: function() {\r\n if (!hasWindow()) {\r\n return 1\r\n }\r\n var minColWidth = this.option(\"minColWidth\");\r\n var width = getWidth(this.$element());\r\n var itemsCount = this._items.length;\r\n var maxColCount = Math.floor(width / minColWidth) || 1;\r\n return itemsCount < maxColCount ? itemsCount : maxColCount\r\n },\r\n isCachedColCountObsolete: function() {\r\n return this._cashedColCount && this._getMaxColCount() !== this._cashedColCount\r\n },\r\n _prepareItemsWithMerging: function(colCount) {\r\n var items = this._items.slice(0);\r\n var item;\r\n var itemsMergedByCol;\r\n var result = [];\r\n var j;\r\n var i;\r\n for (i = 0; i < items.length; i++) {\r\n item = items[i];\r\n result.push(item);\r\n if (this.option(\"alignItemLabels\") || item.alignItemLabels || item.colSpan) {\r\n item.col = this._getColByIndex(result.length - 1, colCount)\r\n }\r\n if (item.colSpan > 1 && item.col + item.colSpan <= colCount) {\r\n itemsMergedByCol = [];\r\n for (j = 0; j < item.colSpan - 1; j++) {\r\n itemsMergedByCol.push({\r\n merged: true\r\n })\r\n }\r\n result = result.concat(itemsMergedByCol)\r\n } else {\r\n delete item.colSpan\r\n }\r\n }\r\n this._setItems(result)\r\n },\r\n _getColByIndex: function(index, colCount) {\r\n return index % colCount\r\n },\r\n _setItems: function(items) {\r\n this._items = items;\r\n this._cashedColCount = null\r\n },\r\n _generateLayoutItems: function() {\r\n var items = this._items;\r\n var colCount = this._getColCount();\r\n var result = [];\r\n var item;\r\n var i;\r\n for (i = 0; i < items.length; i++) {\r\n item = items[i];\r\n if (!item.merged) {\r\n var generatedItem = {\r\n location: {\r\n row: parseInt(i / colCount),\r\n col: this._getColByIndex(i, colCount)\r\n }\r\n };\r\n if (isDefined(item.disabled)) {\r\n generatedItem.disabled = item.disabled\r\n }\r\n if (isDefined(item.visible)) {\r\n generatedItem.visible = item.visible\r\n }\r\n if (isDefined(item.colSpan)) {\r\n generatedItem.location.colspan = item.colSpan\r\n }\r\n if (isDefined(item.rowSpan)) {\r\n generatedItem.location.rowspan = item.rowSpan\r\n }\r\n result.push(generatedItem)\r\n }\r\n }\r\n return result\r\n },\r\n _renderEmptyItem: function($container) {\r\n renderEmptyItem({\r\n $container: $container\r\n })\r\n },\r\n _renderButtonItem: function(_ref3) {\r\n var {\r\n item: item,\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList\r\n } = _ref3;\r\n var {\r\n $rootElement: $rootElement,\r\n buttonInstance: buttonInstance\r\n } = renderButtonItem({\r\n item: item,\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n validationGroup: this.option(\"validationGroup\"),\r\n createComponentCallback: this._createComponent.bind(this)\r\n });\r\n this._itemsRunTimeInfo.add({\r\n item: item,\r\n widgetInstance: buttonInstance,\r\n guid: item.guid,\r\n $itemContainer: $rootElement\r\n })\r\n },\r\n _renderFieldItem: function(_ref4, itemsWithLabelTemplateCount) {\r\n var _item$label2, _this$option;\r\n var {\r\n item: item,\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList\r\n } = _ref4;\r\n var editorValue = this._getDataByField(item.dataField);\r\n var canAssignUndefinedValueToEditor = false;\r\n if (void 0 === editorValue) {\r\n var {\r\n allowIndeterminateState: allowIndeterminateState,\r\n editorType: editorType,\r\n dataField: dataField\r\n } = item;\r\n canAssignUndefinedValueToEditor = this._isCheckboxUndefinedStateEnabled({\r\n allowIndeterminateState: allowIndeterminateState,\r\n editorType: editorType,\r\n dataField: dataField\r\n })\r\n }\r\n var name = item.dataField || item.name;\r\n var formOrLayoutManager = this._getFormOrThis();\r\n var {\r\n $fieldEditorContainer: $fieldEditorContainer,\r\n widgetInstance: widgetInstance,\r\n $rootElement: $rootElement\r\n } = renderFieldItem(convertToRenderFieldItemOptions({\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n item: item,\r\n name: name,\r\n editorValue: editorValue,\r\n canAssignUndefinedValueToEditor: canAssignUndefinedValueToEditor,\r\n formOrLayoutManager: this._getFormOrThis(),\r\n createComponentCallback: this._createComponent.bind(this),\r\n formLabelLocation: this.option(\"labelLocation\"),\r\n requiredMessageTemplate: this.option(\"requiredMessage\"),\r\n validationGroup: this.option(\"validationGroup\"),\r\n editorValidationBoundary: this.option(\"validationBoundary\"),\r\n editorStylingMode: this.option(\"form\") && this.option(\"form\").option(\"stylingMode\"),\r\n showColonAfterLabel: this.option(\"showColonAfterLabel\"),\r\n managerLabelLocation: this.option(\"labelLocation\"),\r\n template: item.template ? this._getTemplate(item.template) : null,\r\n labelTemplate: null !== (_item$label2 = item.label) && void 0 !== _item$label2 && _item$label2.template ? this._getTemplate(item.label.template) : null,\r\n itemId: this.option(\"form\") && this.option(\"form\").getItemID(name),\r\n managerMarkOptions: this._getMarkOptions(),\r\n labelMode: this.option(\"labelMode\"),\r\n onLabelTemplateRendered: () => {\r\n this._incTemplateRenderedCallCount();\r\n if (this._shouldAlignLabelsOnTemplateRendered(formOrLayoutManager, itemsWithLabelTemplateCount)) {\r\n formOrLayoutManager._alignLabels(this, this.isSingleColumnMode(formOrLayoutManager))\r\n }\r\n }\r\n }));\r\n null === (_this$option = this.option(\"onFieldItemRendered\")) || void 0 === _this$option ? void 0 : _this$option();\r\n if (widgetInstance && item.dataField) {\r\n this._bindDataField(widgetInstance, item.dataField, item.editorType, $fieldEditorContainer)\r\n }\r\n this._itemsRunTimeInfo.add({\r\n item: item,\r\n widgetInstance: widgetInstance,\r\n guid: item.guid,\r\n $itemContainer: $rootElement\r\n })\r\n },\r\n _incTemplateRenderedCallCount() {\r\n var _this$_labelTemplateR;\r\n this._labelTemplateRenderedCallCount = (null !== (_this$_labelTemplateR = this._labelTemplateRenderedCallCount) && void 0 !== _this$_labelTemplateR ? _this$_labelTemplateR : 0) + 1\r\n },\r\n _shouldAlignLabelsOnTemplateRendered(formOrLayoutManager, totalItemsWithLabelTemplate) {\r\n return formOrLayoutManager.option(\"templatesRenderAsynchronously\") && this._labelTemplateRenderedCallCount === totalItemsWithLabelTemplate\r\n },\r\n _getMarkOptions: function() {\r\n return {\r\n showRequiredMark: this.option(\"showRequiredMark\"),\r\n requiredMark: this.option(\"requiredMark\"),\r\n showOptionalMark: this.option(\"showOptionalMark\"),\r\n optionalMark: this.option(\"optionalMark\")\r\n }\r\n },\r\n _getFormOrThis: function() {\r\n return this.option(\"form\") || this\r\n },\r\n _bindDataField: function(editorInstance, dataField, editorType, $container) {\r\n var formOrThis = this._getFormOrThis();\r\n editorInstance.on(\"enterKey\", (function(args) {\r\n formOrThis._createActionByOption(\"onEditorEnterKey\")(extend(args, {\r\n dataField: dataField\r\n }))\r\n }));\r\n this._createWatcher(editorInstance, $container, dataField);\r\n this.linkEditorToDataField(editorInstance, dataField, editorType)\r\n },\r\n _createWatcher: function(editorInstance, $container, dataField) {\r\n var that = this;\r\n var watch = that._getWatch();\r\n if (!isFunction(watch)) {\r\n return\r\n }\r\n var dispose = watch((function() {\r\n return that._getDataByField(dataField)\r\n }), (function() {\r\n var fieldValue = that._getDataByField(dataField);\r\n if (\"dxTagBox\" === editorInstance.NAME) {\r\n var editorValue = editorInstance.option(\"value\");\r\n if (fieldValue !== editorValue && function(array1, array2) {\r\n if (!Array.isArray(array1) || !Array.isArray(array2) || array1.length !== array2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < array1.length; i++) {\r\n if (array1[i] !== array2[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n }(fieldValue, editorValue)) {\r\n return\r\n }\r\n }\r\n editorInstance.option(\"value\", fieldValue)\r\n }), {\r\n deep: true,\r\n skipImmediate: true\r\n });\r\n eventsEngine.on($container, removeEvent, dispose)\r\n },\r\n _getWatch: function() {\r\n if (!isDefined(this._watch)) {\r\n var formInstance = this.option(\"form\");\r\n this._watch = formInstance && formInstance.option(\"integrationOptions.watchMethod\")\r\n }\r\n return this._watch\r\n },\r\n _createComponent: function($editor, type, editorOptions) {\r\n var readOnlyState = this.option(\"readOnly\");\r\n var hasEditorReadOnly = Object.hasOwn(editorOptions, \"readOnly\");\r\n var instance = this.callBase($editor, type, _extends({}, editorOptions, {\r\n readOnly: !hasEditorReadOnly ? readOnlyState : editorOptions.readOnly\r\n }));\r\n var isChangeByForm = false;\r\n instance.on(\"optionChanged\", args => {\r\n if (\"readOnly\" === args.name && !isChangeByForm) {\r\n hasEditorReadOnly = true\r\n }\r\n });\r\n this.on(\"optionChanged\", (function(args) {\r\n if (\"readOnly\" === args.name && !hasEditorReadOnly) {\r\n isChangeByForm = true;\r\n instance.option(args.name, args.value);\r\n isChangeByForm = false\r\n }\r\n }));\r\n return instance\r\n },\r\n _generateRatio: function(count, isAutoSize) {\r\n var result = [];\r\n var ratio;\r\n var i;\r\n for (i = 0; i < count; i++) {\r\n ratio = {\r\n ratio: 1\r\n };\r\n if (isAutoSize) {\r\n ratio.baseSize = \"auto\"\r\n }\r\n result.push(ratio)\r\n }\r\n return result\r\n },\r\n _getRowsCount: function() {\r\n return Math.ceil(this._items.length / this._getColCount())\r\n },\r\n _updateReferencedOptions: function(newLayoutData) {\r\n var layoutData = this.option(\"layoutData\");\r\n if (isObject(layoutData)) {\r\n Object.getOwnPropertyNames(layoutData).forEach(property => delete this._optionsByReference[\"layoutData.\" + property])\r\n }\r\n if (isObject(newLayoutData)) {\r\n Object.getOwnPropertyNames(newLayoutData).forEach(property => this._optionsByReference[\"layoutData.\" + property] = true)\r\n }\r\n },\r\n _resetWidget(instance) {\r\n this._disableEditorValueChangedHandler = true;\r\n instance.reset();\r\n this._disableEditorValueChangedHandler = false;\r\n instance.option(\"isValid\", true)\r\n },\r\n _optionChanged(args) {\r\n if (0 === args.fullName.search(\"layoutData.\")) {\r\n return\r\n }\r\n switch (args.name) {\r\n case \"showRequiredMark\":\r\n case \"showOptionalMark\":\r\n case \"requiredMark\":\r\n case \"optionalMark\":\r\n this._cashedRequiredConfig = null;\r\n this._invalidate();\r\n break;\r\n case \"layoutData\":\r\n this._updateReferencedOptions(args.value);\r\n if (this.option(\"items\")) {\r\n if (!isEmptyObject(args.value)) {\r\n this._itemsRunTimeInfo.each((_, itemRunTimeInfo) => {\r\n if (isDefined(itemRunTimeInfo.item)) {\r\n var dataField = itemRunTimeInfo.item.dataField;\r\n if (dataField && isDefined(itemRunTimeInfo.widgetInstance)) {\r\n var valueGetter = compileGetter(dataField);\r\n var dataValue = valueGetter(args.value);\r\n var {\r\n allowIndeterminateState: allowIndeterminateState,\r\n editorType: editorType\r\n } = itemRunTimeInfo.item;\r\n if (void 0 !== dataValue || this._isCheckboxUndefinedStateEnabled({\r\n allowIndeterminateState: allowIndeterminateState,\r\n editorType: editorType,\r\n dataField: dataField\r\n })) {\r\n itemRunTimeInfo.widgetInstance.option(\"value\", dataValue)\r\n } else {\r\n this._resetWidget(itemRunTimeInfo.widgetInstance)\r\n }\r\n }\r\n }\r\n })\r\n }\r\n } else {\r\n this._initDataAndItems(args.value);\r\n this._invalidate()\r\n }\r\n break;\r\n case \"items\":\r\n this._cleanItemWatchers();\r\n this._initDataAndItems(args.value);\r\n this._invalidate();\r\n break;\r\n case \"alignItemLabels\":\r\n case \"labelLocation\":\r\n case \"labelMode\":\r\n case \"requiredMessage\":\r\n this._invalidate();\r\n break;\r\n case \"customizeItem\":\r\n this._updateItems(this.option(\"layoutData\"));\r\n this._invalidate();\r\n break;\r\n case \"colCount\":\r\n case \"colCountByScreen\":\r\n this._resetColCount();\r\n break;\r\n case \"minColWidth\":\r\n if (\"auto\" === this.option(\"colCount\")) {\r\n this._resetColCount()\r\n }\r\n break;\r\n case \"readOnly\":\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n if (\"auto\" === this.option(\"colCount\")) {\r\n this._resetColCount()\r\n }\r\n break;\r\n case \"onFieldDataChanged\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _resetColCount: function() {\r\n this._cashedColCount = null;\r\n this._invalidate()\r\n },\r\n linkEditorToDataField(editorInstance, dataField) {\r\n this.on(\"optionChanged\", args => {\r\n if (args.fullName === \"layoutData.\".concat(dataField)) {\r\n editorInstance._setOptionWithoutOptionChange(\"value\", args.value)\r\n }\r\n });\r\n editorInstance.on(\"valueChanged\", args => {\r\n var isValueReferenceType = isObject(args.value) || Array.isArray(args.value);\r\n if (!this._disableEditorValueChangedHandler && !(isValueReferenceType && args.value === args.previousValue)) {\r\n this._updateFieldValue(dataField, args.value)\r\n }\r\n })\r\n },\r\n _dimensionChanged: function() {\r\n if (\"auto\" === this.option(\"colCount\") && this.isCachedColCountObsolete()) {\r\n this._eventsStrategy.fireEvent(\"autoColCountChanged\")\r\n }\r\n },\r\n updateData: function(data, value) {\r\n var that = this;\r\n if (isObject(data)) {\r\n each(data, (function(dataField, fieldValue) {\r\n that._updateFieldValue(dataField, fieldValue)\r\n }))\r\n } else if (\"string\" === typeof data) {\r\n that._updateFieldValue(data, value)\r\n }\r\n },\r\n getEditor: function(field) {\r\n return this._itemsRunTimeInfo.findWidgetInstanceByDataField(field) || this._itemsRunTimeInfo.findWidgetInstanceByName(field)\r\n },\r\n isSingleColumnMode: function(component) {\r\n var responsiveBox = this._responsiveBox || component;\r\n if (responsiveBox) {\r\n return responsiveBox.option(\"currentScreenFactor\") === responsiveBox.option(\"singleColumnScreen\")\r\n }\r\n },\r\n getItemsRunTimeInfo: function() {\r\n return this._itemsRunTimeInfo\r\n }\r\n});\r\nregisterComponent(\"dxLayoutManager\", LayoutManager);\r\nexport default LayoutManager;\r\n","/**\r\n * DevExtreme (esm/ui/validation_summary.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n grep\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport ValidationEngine from \"./validation_engine\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.edit\";\r\nvar VALIDATION_SUMMARY_CLASS = \"dx-validationsummary\";\r\nvar ITEM_CLASS = VALIDATION_SUMMARY_CLASS + \"-item\";\r\nvar ITEM_DATA_KEY = VALIDATION_SUMMARY_CLASS + \"-item-data\";\r\nvar ValidationSummary = CollectionWidget.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n focusStateEnabled: false,\r\n noDataText: null\r\n })\r\n },\r\n _setOptionsByReference() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n validationGroup: true\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initGroupRegistration()\r\n },\r\n _initGroupRegistration() {\r\n var $element = this.$element();\r\n var group = this.option(\"validationGroup\") || ValidationEngine.findGroup($element, this._modelByElement($element));\r\n var groupConfig = ValidationEngine.addGroup(group);\r\n this._unsubscribeGroup();\r\n this._groupWasInit = true;\r\n this._validationGroup = group;\r\n this.groupSubscription = this._groupValidationHandler.bind(this);\r\n groupConfig.on(\"validated\", this.groupSubscription)\r\n },\r\n _unsubscribeGroup() {\r\n var groupConfig = ValidationEngine.getGroupConfig(this._validationGroup);\r\n groupConfig && groupConfig.off(\"validated\", this.groupSubscription)\r\n },\r\n _getOrderedItems(validators, items) {\r\n var orderedItems = [];\r\n each(validators, (function(_, validator) {\r\n var foundItems = grep(items, (function(item) {\r\n if (item.validator === validator) {\r\n return true\r\n }\r\n }));\r\n if (foundItems.length) {\r\n orderedItems = orderedItems.concat(foundItems)\r\n }\r\n }));\r\n return orderedItems\r\n },\r\n _groupValidationHandler(params) {\r\n var items = this._getOrderedItems(params.validators, map(params.brokenRules, (function(rule) {\r\n return {\r\n text: rule.message,\r\n validator: rule.validator,\r\n index: rule.index\r\n }\r\n })));\r\n this.validators = params.validators;\r\n each(this.validators, (_, validator) => {\r\n if (validator._validationSummary !== this) {\r\n var handler = this._itemValidationHandler.bind(this);\r\n validator.on(\"validated\", handler);\r\n validator.on(\"disposing\", (function() {\r\n validator.off(\"validated\", handler);\r\n validator._validationSummary = null;\r\n handler = null\r\n }));\r\n validator._validationSummary = this\r\n }\r\n });\r\n this.option(\"items\", items)\r\n },\r\n _itemValidationHandler(_ref) {\r\n var {\r\n isValid: isValid,\r\n validator: validator,\r\n brokenRules: brokenRules\r\n } = _ref;\r\n var items = this.option(\"items\");\r\n var itemsChanged = false;\r\n var itemIndex = 0;\r\n var _loop = function() {\r\n var item = items[itemIndex];\r\n if (item.validator === validator) {\r\n var foundRule = grep(brokenRules || [], (function(rule) {\r\n return rule.index === item.index\r\n }))[0];\r\n if (isValid || !foundRule) {\r\n items.splice(itemIndex, 1);\r\n itemsChanged = true;\r\n return \"continue\"\r\n }\r\n if (foundRule.message !== item.text) {\r\n item.text = foundRule.message;\r\n itemsChanged = true\r\n }\r\n }\r\n itemIndex++\r\n };\r\n while (itemIndex < items.length) {\r\n var _ret = _loop();\r\n if (\"continue\" === _ret) {\r\n continue\r\n }\r\n }\r\n each(brokenRules, (function(_, rule) {\r\n var foundItem = grep(items, (function(item) {\r\n return item.validator === validator && item.index === rule.index\r\n }))[0];\r\n if (!foundItem) {\r\n items.push({\r\n text: rule.message,\r\n validator: validator,\r\n index: rule.index\r\n });\r\n itemsChanged = true\r\n }\r\n }));\r\n if (itemsChanged) {\r\n items = this._getOrderedItems(this.validators, items);\r\n this.option(\"items\", items)\r\n }\r\n },\r\n _initMarkup() {\r\n this.$element().addClass(VALIDATION_SUMMARY_CLASS);\r\n this.callBase()\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"validationGroup\":\r\n this._initGroupRegistration();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _itemClass: () => ITEM_CLASS,\r\n _itemDataKey: () => ITEM_DATA_KEY,\r\n _postprocessRenderItem(params) {\r\n eventsEngine.on(params.itemElement, \"click\", (function() {\r\n params.itemData.validator && params.itemData.validator.focus && params.itemData.validator.focus()\r\n }))\r\n },\r\n _dispose() {\r\n this.callBase();\r\n this._unsubscribeGroup()\r\n },\r\n refreshValidationGroup() {\r\n this._initGroupRegistration()\r\n }\r\n});\r\nregisterComponent(\"dxValidationSummary\", ValidationSummary);\r\nexport default ValidationSummary;\r\n","/**\r\n * DevExtreme (esm/ui/validation_group.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport DOMComponent from \"../core/dom_component\";\r\nimport ValidationSummary from \"./validation_summary\";\r\nimport ValidationEngine from \"./validation_engine\";\r\nimport Validator from \"./validator\";\r\nvar VALIDATION_ENGINE_CLASS = \"dx-validationgroup\";\r\nvar VALIDATOR_CLASS = \"dx-validator\";\r\nvar VALIDATION_SUMMARY_CLASS = \"dx-validationsummary\";\r\nclass ValidationGroup extends DOMComponent {\r\n _getDefaultOptions() {\r\n return super._getDefaultOptions()\r\n }\r\n _init() {\r\n super._init();\r\n ValidationEngine.addGroup(this)\r\n }\r\n _initMarkup() {\r\n var $element = this.$element();\r\n $element.addClass(VALIDATION_ENGINE_CLASS);\r\n $element.find(\".\".concat(VALIDATOR_CLASS)).each((function(_, validatorContainer) {\r\n Validator.getInstance($(validatorContainer))._initGroupRegistration()\r\n }));\r\n $element.find(\".\".concat(VALIDATION_SUMMARY_CLASS)).each((function(_, summaryContainer) {\r\n ValidationSummary.getInstance($(summaryContainer)).refreshValidationGroup()\r\n }));\r\n super._initMarkup()\r\n }\r\n validate() {\r\n return ValidationEngine.validateGroup(this)\r\n }\r\n reset() {\r\n return ValidationEngine.resetGroup(this)\r\n }\r\n _dispose() {\r\n ValidationEngine.removeGroup(this);\r\n this.$element().removeClass(VALIDATION_ENGINE_CLASS);\r\n super._dispose()\r\n }\r\n _useTemplates() {\r\n return false\r\n }\r\n}\r\nregisterComponent(\"dxValidationGroup\", ValidationGroup);\r\nexport default ValidationGroup;\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport Guid from \"../../core/guid\";\r\nimport {\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport config from \"../../core/config\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isObject,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n triggerResizeEvent,\r\n triggerShownEvent\r\n} from \"../../events/visibility_change\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport Editor from \"../editor/editor\";\r\nimport {\r\n defaultScreenFactorFunc,\r\n getCurrentScreenFactor,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport ValidationEngine from \"../validation_engine\";\r\nimport {\r\n default as FormItemsRunTimeInfo\r\n} from \"./ui.form.items_runtime_info\";\r\nimport TabPanel from \"../tab_panel\";\r\nimport Scrollable from \"../scroll_view/ui.scrollable\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n isMaterial\r\n} from \"../themes\";\r\nimport tryCreateItemOptionAction from \"./ui.form.item_options_actions\";\r\nimport resizeObserverSingleton from \"../../core/resize_observer\";\r\nimport \"./ui.form.layout_manager\";\r\nimport {\r\n concatPaths,\r\n createItemPathByIndex,\r\n getFullOptionName,\r\n getOptionNameFromFullName,\r\n tryGetTabPath,\r\n getTextWithoutSpaces,\r\n isEqualToDataFieldOrNameOrTitleOrCaption,\r\n isFullPathContainsTabs,\r\n getItemPath,\r\n convertToLayoutManagerOptions\r\n} from \"./ui.form.utils\";\r\nimport {\r\n convertToLabelMarkOptions\r\n} from \"./ui.form.layout_manager.utils\";\r\nimport {\r\n setLabelWidthByMaxLabelWidth\r\n} from \"./components/label\";\r\nimport \"../validation_summary\";\r\nimport \"../validation_group\";\r\nimport {\r\n FORM_CLASS,\r\n FIELD_ITEM_CLASS,\r\n FORM_GROUP_CLASS,\r\n FORM_GROUP_CONTENT_CLASS,\r\n FIELD_ITEM_CONTENT_HAS_GROUP_CLASS,\r\n FIELD_ITEM_CONTENT_HAS_TABS_CLASS,\r\n FORM_GROUP_WITH_CAPTION_CLASS,\r\n FORM_GROUP_CAPTION_CLASS,\r\n FIELD_ITEM_TAB_CLASS,\r\n FORM_FIELD_ITEM_COL_CLASS,\r\n GROUP_COL_COUNT_CLASS,\r\n GROUP_COL_COUNT_ATTR,\r\n FIELD_ITEM_CONTENT_CLASS,\r\n FORM_VALIDATION_SUMMARY,\r\n ROOT_SIMPLE_ITEM_CLASS,\r\n FORM_UNDERLINED_CLASS\r\n} from \"./constants\";\r\nimport {\r\n TOOLBAR_CLASS\r\n} from \"../toolbar/constants\";\r\nvar FOCUSED_STATE_CLASS = \"dx-state-focused\";\r\nvar ITEM_OPTIONS_FOR_VALIDATION_UPDATING = [\"items\", \"isRequired\", \"validationRules\", \"visible\"];\r\nvar Form = Widget.inherit({\r\n _init: function() {\r\n this.callBase();\r\n this._cachedColCountOptions = [];\r\n this._itemsRunTimeInfo = new FormItemsRunTimeInfo;\r\n this._groupsColCount = [];\r\n this._attachSyncSubscriptions()\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n formID: \"dx-\" + new Guid,\r\n formData: {},\r\n colCount: 1,\r\n screenByWidth: defaultScreenFactorFunc,\r\n colCountByScreen: void 0,\r\n labelLocation: \"left\",\r\n readOnly: false,\r\n onFieldDataChanged: null,\r\n customizeItem: null,\r\n onEditorEnterKey: null,\r\n minColWidth: 200,\r\n alignItemLabels: true,\r\n alignItemLabelsInAllGroups: true,\r\n alignRootItemLabels: true,\r\n showColonAfterLabel: true,\r\n showRequiredMark: true,\r\n showOptionalMark: false,\r\n requiredMark: \"*\",\r\n optionalMark: messageLocalization.format(\"dxForm-optionalMark\"),\r\n requiredMessage: messageLocalization.getFormatter(\"dxForm-requiredMessage\"),\r\n showValidationSummary: false,\r\n items: void 0,\r\n scrollingEnabled: false,\r\n validationGroup: void 0,\r\n stylingMode: config().editorStylingMode,\r\n labelMode: \"outside\"\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n showColonAfterLabel: false,\r\n labelLocation: \"top\"\r\n }\r\n }])\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n formData: true,\r\n validationGroup: true\r\n })\r\n },\r\n _getGroupColCount: function($element) {\r\n return parseInt($element.attr(GROUP_COL_COUNT_ATTR))\r\n },\r\n _applyLabelsWidthByCol: function($container, index) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var labelMarkOptions = arguments.length > 3 ? arguments[3] : void 0;\r\n var fieldItemClass = options.inOneColumn ? FIELD_ITEM_CLASS : FORM_FIELD_ITEM_COL_CLASS + index;\r\n var cssExcludeTabbedSelector = options.excludeTabbed ? \":not(.\".concat(FIELD_ITEM_TAB_CLASS, \")\") : \"\";\r\n setLabelWidthByMaxLabelWidth($container, \".\".concat(fieldItemClass).concat(cssExcludeTabbedSelector), labelMarkOptions);\r\n return\r\n },\r\n _applyLabelsWidth: function($container, excludeTabbed, inOneColumn, colCount, labelMarkOptions) {\r\n colCount = inOneColumn ? 1 : colCount || this._getGroupColCount($container);\r\n var applyLabelsOptions = {\r\n excludeTabbed: excludeTabbed,\r\n inOneColumn: inOneColumn\r\n };\r\n var i;\r\n for (i = 0; i < colCount; i++) {\r\n this._applyLabelsWidthByCol($container, i, applyLabelsOptions, labelMarkOptions)\r\n }\r\n },\r\n _getGroupElementsInColumn: function($container, columnIndex, colCount) {\r\n var cssColCountSelector = isDefined(colCount) ? \".\" + GROUP_COL_COUNT_CLASS + colCount : \"\";\r\n var groupSelector = \".\" + FORM_FIELD_ITEM_COL_CLASS + columnIndex + \" > .\" + FIELD_ITEM_CONTENT_CLASS + \" > .\" + FORM_GROUP_CLASS + cssColCountSelector;\r\n return $container.find(groupSelector)\r\n },\r\n _applyLabelsWidthWithGroups: function($container, colCount, excludeTabbed, labelMarkOptions) {\r\n if (true === this.option(\"alignRootItemLabels\")) {\r\n var $rootSimpleItems = $container.find(\".\".concat(ROOT_SIMPLE_ITEM_CLASS));\r\n for (var colIndex = 0; colIndex < colCount; colIndex++) {\r\n this._applyLabelsWidthByCol($rootSimpleItems, colIndex, excludeTabbed, labelMarkOptions)\r\n }\r\n }\r\n var alignItemLabelsInAllGroups = this.option(\"alignItemLabelsInAllGroups\");\r\n if (alignItemLabelsInAllGroups) {\r\n this._applyLabelsWidthWithNestedGroups($container, colCount, excludeTabbed, labelMarkOptions)\r\n } else {\r\n var $groups = this.$element().find(\".\" + FORM_GROUP_CLASS);\r\n var i;\r\n for (i = 0; i < $groups.length; i++) {\r\n this._applyLabelsWidth($groups.eq(i), excludeTabbed, void 0, void 0, labelMarkOptions)\r\n }\r\n }\r\n },\r\n _applyLabelsWidthWithNestedGroups: function($container, colCount, excludeTabbed, labelMarkOptions) {\r\n var applyLabelsOptions = {\r\n excludeTabbed: excludeTabbed\r\n };\r\n var colIndex;\r\n var groupsColIndex;\r\n var groupColIndex;\r\n var $groupsByCol;\r\n for (colIndex = 0; colIndex < colCount; colIndex++) {\r\n $groupsByCol = this._getGroupElementsInColumn($container, colIndex);\r\n this._applyLabelsWidthByCol($groupsByCol, 0, applyLabelsOptions, labelMarkOptions);\r\n for (groupsColIndex = 0; groupsColIndex < this._groupsColCount.length; groupsColIndex++) {\r\n $groupsByCol = this._getGroupElementsInColumn($container, colIndex, this._groupsColCount[groupsColIndex]);\r\n var groupColCount = this._getGroupColCount($groupsByCol);\r\n for (groupColIndex = 1; groupColIndex < groupColCount; groupColIndex++) {\r\n this._applyLabelsWidthByCol($groupsByCol, groupColIndex, applyLabelsOptions, labelMarkOptions)\r\n }\r\n }\r\n }\r\n },\r\n _labelLocation: function() {\r\n return this.option(\"labelLocation\")\r\n },\r\n _alignLabelsInColumn: function(_ref) {\r\n var {\r\n layoutManager: layoutManager,\r\n inOneColumn: inOneColumn,\r\n $container: $container,\r\n excludeTabbed: excludeTabbed,\r\n items: items\r\n } = _ref;\r\n if (!hasWindow() || \"top\" === this._labelLocation()) {\r\n return\r\n }\r\n var labelMarkOptions = convertToLabelMarkOptions(layoutManager._getMarkOptions());\r\n if (inOneColumn) {\r\n this._applyLabelsWidth($container, excludeTabbed, true, void 0, labelMarkOptions)\r\n } else if (this._checkGrouping(items)) {\r\n this._applyLabelsWidthWithGroups($container, layoutManager._getColCount(), excludeTabbed, labelMarkOptions)\r\n } else {\r\n this._applyLabelsWidth($container, excludeTabbed, false, layoutManager._getColCount(), labelMarkOptions)\r\n }\r\n },\r\n _prepareFormData: function() {\r\n if (!isDefined(this.option(\"formData\"))) {\r\n this.option(\"formData\", {})\r\n }\r\n },\r\n _setStylingModeClass: function() {\r\n if (\"underlined\" === this.option(\"stylingMode\")) {\r\n this.$element().addClass(FORM_UNDERLINED_CLASS)\r\n }\r\n },\r\n _initMarkup: function() {\r\n ValidationEngine.addGroup(this._getValidationGroup());\r\n this._clearCachedInstances();\r\n this._prepareFormData();\r\n this.$element().addClass(FORM_CLASS);\r\n this._setStylingModeClass();\r\n this.callBase();\r\n this.setAria(\"role\", \"form\", this.$element());\r\n if (this.option(\"scrollingEnabled\")) {\r\n this._renderScrollable()\r\n }\r\n this._renderLayout();\r\n this._renderValidationSummary();\r\n this._lastMarkupScreenFactor = this._targetScreenFactor || this._getCurrentScreenFactor();\r\n this._attachResizeObserverSubscription()\r\n },\r\n _attachResizeObserverSubscription: function() {\r\n if (hasWindow()) {\r\n var formRootElement = this.$element().get(0);\r\n resizeObserverSingleton.unobserve(formRootElement);\r\n resizeObserverSingleton.observe(formRootElement, () => {\r\n this._resizeHandler()\r\n })\r\n }\r\n },\r\n _resizeHandler: function() {\r\n if (this._cachedLayoutManagers.length) {\r\n each(this._cachedLayoutManagers, (_, layoutManager) => {\r\n var _layoutManager$option;\r\n null === (_layoutManager$option = layoutManager.option(\"onLayoutChanged\")) || void 0 === _layoutManager$option ? void 0 : _layoutManager$option(layoutManager.isSingleColumnMode())\r\n })\r\n }\r\n },\r\n _getCurrentScreenFactor: function() {\r\n return hasWindow() ? getCurrentScreenFactor(this.option(\"screenByWidth\")) : \"lg\"\r\n },\r\n _clearCachedInstances: function() {\r\n this._itemsRunTimeInfo.clear();\r\n this._cachedLayoutManagers = []\r\n },\r\n _alignLabels: function(layoutManager, inOneColumn) {\r\n this._alignLabelsInColumn({\r\n $container: this.$element(),\r\n layoutManager: layoutManager,\r\n excludeTabbed: true,\r\n items: this.option(\"items\"),\r\n inOneColumn: inOneColumn\r\n });\r\n triggerResizeEvent(this.$element().find(\".\".concat(TOOLBAR_CLASS)))\r\n },\r\n _clean: function() {\r\n this._clearValidationSummary();\r\n this.callBase();\r\n this._groupsColCount = [];\r\n this._cachedColCountOptions = [];\r\n this._lastMarkupScreenFactor = void 0;\r\n resizeObserverSingleton.unobserve(this.$element().get(0))\r\n },\r\n _renderScrollable: function() {\r\n var useNativeScrolling = this.option(\"useNativeScrolling\");\r\n this._scrollable = new Scrollable(this.$element(), {\r\n useNative: !!useNativeScrolling,\r\n useSimulatedScrollbar: !useNativeScrolling,\r\n useKeyboard: false,\r\n direction: \"both\",\r\n bounceEnabled: false\r\n })\r\n },\r\n _getContent: function() {\r\n return this.option(\"scrollingEnabled\") ? $(this._scrollable.content()) : this.$element()\r\n },\r\n _clearValidationSummary: function() {\r\n var _this$_$validationSum;\r\n null === (_this$_$validationSum = this._$validationSummary) || void 0 === _this$_$validationSum ? void 0 : _this$_$validationSum.remove();\r\n this._$validationSummary = void 0;\r\n this._validationSummary = void 0\r\n },\r\n _renderValidationSummary: function() {\r\n this._clearValidationSummary();\r\n if (this.option(\"showValidationSummary\")) {\r\n this._$validationSummary = $(\"<div>\").addClass(FORM_VALIDATION_SUMMARY).appendTo(this._getContent());\r\n this._validationSummary = this._$validationSummary.dxValidationSummary({\r\n validationGroup: this._getValidationGroup()\r\n }).dxValidationSummary(\"instance\")\r\n }\r\n },\r\n _prepareItems(items, parentIsTabbedItem, currentPath, isTabs) {\r\n if (items) {\r\n var result = [];\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var path = concatPaths(currentPath, createItemPathByIndex(i, isTabs));\r\n var itemRunTimeInfo = {\r\n item: item,\r\n itemIndex: i,\r\n path: path\r\n };\r\n var guid = this._itemsRunTimeInfo.add(itemRunTimeInfo);\r\n if (isString(item)) {\r\n item = {\r\n dataField: item\r\n }\r\n }\r\n if (isObject(item)) {\r\n var preparedItem = _extends({}, item);\r\n itemRunTimeInfo.preparedItem = preparedItem;\r\n preparedItem.guid = guid;\r\n this._tryPrepareGroupItem(preparedItem);\r\n this._tryPrepareTabbedItem(preparedItem, path);\r\n this._tryPrepareItemTemplate(preparedItem);\r\n if (parentIsTabbedItem) {\r\n preparedItem.cssItemClass = FIELD_ITEM_TAB_CLASS\r\n }\r\n if (preparedItem.items) {\r\n preparedItem.items = this._prepareItems(preparedItem.items, parentIsTabbedItem, path)\r\n }\r\n result.push(preparedItem)\r\n } else {\r\n result.push(item)\r\n }\r\n }\r\n return result\r\n }\r\n },\r\n _tryPrepareGroupItem: function(item) {\r\n if (\"group\" === item.itemType) {\r\n item.alignItemLabels = ensureDefined(item.alignItemLabels, true);\r\n item._prepareGroupItemTemplate = itemTemplate => {\r\n if (item.template) {\r\n item.groupContentTemplate = this._getTemplate(itemTemplate)\r\n }\r\n item.template = this._itemGroupTemplate.bind(this, item)\r\n };\r\n item._prepareGroupItemTemplate(item.template)\r\n }\r\n },\r\n _tryPrepareTabbedItem: function(item, path) {\r\n if (\"tabbed\" === item.itemType) {\r\n item.template = this._itemTabbedTemplate.bind(this, item);\r\n item.tabs = this._prepareItems(item.tabs, true, path, true)\r\n }\r\n },\r\n _tryPrepareItemTemplate: function(item) {\r\n if (item.template) {\r\n item.template = this._getTemplate(item.template)\r\n }\r\n },\r\n _checkGrouping: function(items) {\r\n if (items) {\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (\"group\" === item.itemType) {\r\n return true\r\n }\r\n }\r\n }\r\n },\r\n _renderLayout: function() {\r\n var that = this;\r\n var items = that.option(\"items\");\r\n var $content = that._getContent();\r\n items = that._prepareItems(items);\r\n that._rootLayoutManager = that._renderLayoutManager($content, this._createLayoutManagerOptions(items, {\r\n isRoot: true,\r\n colCount: that.option(\"colCount\"),\r\n alignItemLabels: that.option(\"alignItemLabels\"),\r\n screenByWidth: this.option(\"screenByWidth\"),\r\n colCountByScreen: this.option(\"colCountByScreen\"),\r\n onLayoutChanged: function(inOneColumn) {\r\n that._alignLabels.bind(that)(that._rootLayoutManager, inOneColumn)\r\n },\r\n onContentReady: function(e) {\r\n that._alignLabels(e.component, e.component.isSingleColumnMode())\r\n }\r\n }))\r\n },\r\n _tryGetItemsForTemplate: function(item) {\r\n return item.items || []\r\n },\r\n _itemTabbedTemplate: function(item, e, $container) {\r\n var _item$tabs;\r\n var $tabPanel = $(\"<div>\").appendTo($container);\r\n var tabPanelOptions = extend({}, item.tabPanelOptions, {\r\n dataSource: item.tabs,\r\n onItemRendered: args => {\r\n var _item$tabPanelOptions, _item$tabPanelOptions2;\r\n null === (_item$tabPanelOptions = item.tabPanelOptions) || void 0 === _item$tabPanelOptions ? void 0 : null === (_item$tabPanelOptions2 = _item$tabPanelOptions.onItemRendered) || void 0 === _item$tabPanelOptions2 ? void 0 : _item$tabPanelOptions2.call(_item$tabPanelOptions, args);\r\n triggerShownEvent(args.itemElement)\r\n },\r\n itemTemplate: (itemData, e, container) => {\r\n var $container = $(container);\r\n var alignItemLabels = ensureDefined(itemData.alignItemLabels, true);\r\n var layoutManager = this._renderLayoutManager($container, this._createLayoutManagerOptions(this._tryGetItemsForTemplate(itemData), {\r\n colCount: itemData.colCount,\r\n alignItemLabels: alignItemLabels,\r\n screenByWidth: this.option(\"screenByWidth\"),\r\n colCountByScreen: itemData.colCountByScreen,\r\n cssItemClass: itemData.cssItemClass,\r\n onLayoutChanged: inOneColumn => {\r\n this._alignLabelsInColumn({\r\n $container: $container,\r\n layoutManager: layoutManager,\r\n items: itemData.items,\r\n inOneColumn: inOneColumn\r\n })\r\n }\r\n }));\r\n if (this._itemsRunTimeInfo) {\r\n this._itemsRunTimeInfo.extendRunTimeItemInfoByKey(itemData.guid, {\r\n layoutManager: layoutManager\r\n })\r\n }\r\n if (alignItemLabels) {\r\n this._alignLabelsInColumn({\r\n $container: $container,\r\n layoutManager: layoutManager,\r\n items: itemData.items,\r\n inOneColumn: layoutManager.isSingleColumnMode()\r\n })\r\n }\r\n }\r\n });\r\n var tryUpdateTabPanelInstance = (items, instance) => {\r\n if (Array.isArray(items)) {\r\n items.forEach(item => this._itemsRunTimeInfo.extendRunTimeItemInfoByKey(item.guid, {\r\n widgetInstance: instance\r\n }))\r\n }\r\n };\r\n var tabPanel = this._createComponent($tabPanel, TabPanel, tabPanelOptions);\r\n $($container).parent().addClass(FIELD_ITEM_CONTENT_HAS_TABS_CLASS);\r\n tabPanel.on(\"optionChanged\", e => {\r\n if (\"dataSource\" === e.fullName) {\r\n tryUpdateTabPanelInstance(e.value, e.component)\r\n }\r\n });\r\n tryUpdateTabPanelInstance([{\r\n guid: item.guid\r\n }, ...null !== (_item$tabs = item.tabs) && void 0 !== _item$tabs ? _item$tabs : []], tabPanel)\r\n },\r\n _itemGroupTemplate: function(item, options, $container) {\r\n var id = options.editorOptions.inputAttr.id;\r\n var $group = $(\"<div>\").toggleClass(FORM_GROUP_WITH_CAPTION_CLASS, isDefined(item.caption) && item.caption.length).addClass(FORM_GROUP_CLASS).appendTo($container);\r\n var groupAria = {\r\n role: \"group\",\r\n labelledby: id\r\n };\r\n this.setAria(groupAria, $group);\r\n $($container).parent().addClass(FIELD_ITEM_CONTENT_HAS_GROUP_CLASS);\r\n if (item.caption) {\r\n $(\"<span>\").addClass(FORM_GROUP_CAPTION_CLASS).text(item.caption).attr(\"id\", id).appendTo($group)\r\n }\r\n var $groupContent = $(\"<div>\").addClass(FORM_GROUP_CONTENT_CLASS).appendTo($group);\r\n if (item.groupContentTemplate) {\r\n item._renderGroupContentTemplate = () => {\r\n $groupContent.empty();\r\n var data = {\r\n formData: this.option(\"formData\"),\r\n component: this\r\n };\r\n item.groupContentTemplate.render({\r\n model: data,\r\n container: getPublicElement($groupContent)\r\n })\r\n };\r\n item._renderGroupContentTemplate()\r\n } else {\r\n var layoutManager = this._renderLayoutManager($groupContent, this._createLayoutManagerOptions(this._tryGetItemsForTemplate(item), {\r\n colCount: item.colCount,\r\n colCountByScreen: item.colCountByScreen,\r\n alignItemLabels: item.alignItemLabels,\r\n cssItemClass: item.cssItemClass\r\n }));\r\n this._itemsRunTimeInfo && this._itemsRunTimeInfo.extendRunTimeItemInfoByKey(item.guid, {\r\n layoutManager: layoutManager\r\n });\r\n var colCount = layoutManager._getColCount();\r\n if (!this._groupsColCount.includes(colCount)) {\r\n this._groupsColCount.push(colCount)\r\n }\r\n $group.addClass(GROUP_COL_COUNT_CLASS + colCount);\r\n $group.attr(GROUP_COL_COUNT_ATTR, colCount)\r\n }\r\n },\r\n _createLayoutManagerOptions: function(items, extendedLayoutManagerOptions) {\r\n return convertToLayoutManagerOptions({\r\n form: this,\r\n formOptions: this.option(),\r\n $formElement: this.$element(),\r\n items: items,\r\n validationGroup: this._getValidationGroup(),\r\n extendedLayoutManagerOptions: extendedLayoutManagerOptions,\r\n onFieldDataChanged: args => {\r\n if (!this._isDataUpdating) {\r\n this._triggerOnFieldDataChanged(args)\r\n }\r\n },\r\n onContentReady: args => {\r\n this._itemsRunTimeInfo.addItemsOrExtendFrom(args.component._itemsRunTimeInfo);\r\n extendedLayoutManagerOptions.onContentReady && extendedLayoutManagerOptions.onContentReady(args)\r\n },\r\n onDisposing: _ref2 => {\r\n var {\r\n component: component\r\n } = _ref2;\r\n var nestedItemsRunTimeInfo = component.getItemsRunTimeInfo();\r\n this._itemsRunTimeInfo.removeItemsByItems(nestedItemsRunTimeInfo)\r\n },\r\n onFieldItemRendered: () => {\r\n var _this$_validationSumm;\r\n null === (_this$_validationSumm = this._validationSummary) || void 0 === _this$_validationSumm ? void 0 : _this$_validationSumm.refreshValidationGroup()\r\n }\r\n })\r\n },\r\n _renderLayoutManager: function($parent, layoutManagerOptions) {\r\n var baseColCountByScreen = {\r\n lg: layoutManagerOptions.colCount,\r\n md: layoutManagerOptions.colCount,\r\n sm: layoutManagerOptions.colCount,\r\n xs: 1\r\n };\r\n this._cachedColCountOptions.push({\r\n colCountByScreen: extend(baseColCountByScreen, layoutManagerOptions.colCountByScreen)\r\n });\r\n var $element = $(\"<div>\");\r\n $element.appendTo($parent);\r\n var instance = this._createComponent($element, \"dxLayoutManager\", layoutManagerOptions);\r\n instance.on(\"autoColCountChanged\", () => {\r\n this._clearAutoColCountChangedTimeout();\r\n this.autoColCountChangedTimeoutId = setTimeout(() => !this._disposed && this._refresh(), 0)\r\n });\r\n this._cachedLayoutManagers.push(instance);\r\n return instance\r\n },\r\n _getValidationGroup: function() {\r\n return this.option(\"validationGroup\") || this\r\n },\r\n _createComponent: function($element, type, config) {\r\n config = config || {};\r\n this._extendConfig(config, {\r\n readOnly: this.option(\"readOnly\")\r\n });\r\n return this.callBase($element, type, config)\r\n },\r\n _attachSyncSubscriptions: function() {\r\n var that = this;\r\n that.on(\"optionChanged\", (function(args) {\r\n var optionFullName = args.fullName;\r\n if (\"formData\" === optionFullName) {\r\n if (!isDefined(args.value)) {\r\n that._options.silent(\"formData\", args.value = {})\r\n }\r\n that._triggerOnFieldDataChangedByDataSet(args.value)\r\n }\r\n if (that._cachedLayoutManagers.length) {\r\n each(that._cachedLayoutManagers, (function(index, layoutManager) {\r\n if (\"formData\" === optionFullName) {\r\n that._isDataUpdating = true;\r\n layoutManager.option(\"layoutData\", args.value);\r\n that._isDataUpdating = false\r\n }\r\n if (\"readOnly\" === args.name || \"disabled\" === args.name) {\r\n layoutManager.option(optionFullName, args.value)\r\n }\r\n }))\r\n }\r\n }))\r\n },\r\n _optionChanged: function(args) {\r\n var splitFullName = args.fullName.split(\".\");\r\n if (splitFullName.length > 1 && -1 !== splitFullName[0].search(\"items\") && this._itemsOptionChangedHandler(args)) {\r\n return\r\n }\r\n if (splitFullName.length > 1 && -1 !== splitFullName[0].search(\"formData\") && this._formDataOptionChangedHandler(args)) {\r\n return\r\n }\r\n this._defaultOptionChangedHandler(args)\r\n },\r\n _defaultOptionChangedHandler: function(args) {\r\n switch (args.name) {\r\n case \"formData\":\r\n if (!this.option(\"items\")) {\r\n this._invalidate()\r\n } else if (isEmptyObject(args.value)) {\r\n this._resetValues()\r\n }\r\n break;\r\n case \"onFieldDataChanged\":\r\n break;\r\n case \"items\":\r\n case \"colCount\":\r\n case \"onEditorEnterKey\":\r\n case \"labelLocation\":\r\n case \"labelMode\":\r\n case \"alignItemLabels\":\r\n case \"showColonAfterLabel\":\r\n case \"customizeItem\":\r\n case \"alignItemLabelsInAllGroups\":\r\n case \"showRequiredMark\":\r\n case \"showOptionalMark\":\r\n case \"requiredMark\":\r\n case \"optionalMark\":\r\n case \"requiredMessage\":\r\n case \"scrollingEnabled\":\r\n case \"formID\":\r\n case \"colCountByScreen\":\r\n case \"screenByWidth\":\r\n case \"stylingMode\":\r\n this._invalidate();\r\n break;\r\n case \"showValidationSummary\":\r\n this._renderValidationSummary();\r\n break;\r\n case \"minColWidth\":\r\n if (\"auto\" === this.option(\"colCount\")) {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"alignRootItemLabels\":\r\n case \"readOnly\":\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._rootLayoutManager.option(args.name, args.value);\r\n this._alignLabels(this._rootLayoutManager, this._rootLayoutManager.isSingleColumnMode());\r\n break;\r\n case \"validationGroup\":\r\n ValidationEngine.removeGroup(args.previousValue || this);\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _itemsOptionChangedHandler: function(args) {\r\n var nameParts = args.fullName.split(\".\");\r\n var value = args.value;\r\n var itemPath = this._getItemPath(nameParts);\r\n var item = this.option(itemPath);\r\n var optionNameWithoutPath = args.fullName.replace(itemPath + \".\", \"\");\r\n var simpleOptionName = optionNameWithoutPath.split(\".\")[0].replace(/\\[\\d+]/, \"\");\r\n var itemAction = this._tryCreateItemOptionAction(simpleOptionName, item, item[simpleOptionName], args.previousValue, itemPath);\r\n var result = this._tryExecuteItemOptionAction(itemAction) || this._tryChangeLayoutManagerItemOption(args.fullName, value);\r\n if (!result && item) {\r\n this._changeItemOption(item, optionNameWithoutPath, value);\r\n var items = this._generateItemsFromData(this.option(\"items\"));\r\n this.option(\"items\", items);\r\n result = true\r\n }\r\n return result\r\n },\r\n _formDataOptionChangedHandler: function(args) {\r\n var nameParts = args.fullName.split(\".\");\r\n var value = args.value;\r\n var dataField = nameParts.slice(1).join(\".\");\r\n var editor = this.getEditor(dataField);\r\n if (editor) {\r\n editor.option(\"value\", value)\r\n } else {\r\n this._triggerOnFieldDataChanged({\r\n dataField: dataField,\r\n value: value\r\n })\r\n }\r\n return true\r\n },\r\n _tryCreateItemOptionAction: function(optionName, item, value, previousValue, itemPath) {\r\n if (\"tabs\" === optionName) {\r\n this._itemsRunTimeInfo.removeItemsByPathStartWith(\"\".concat(itemPath, \".tabs\"));\r\n value = this._prepareItems(value, true, itemPath, true)\r\n }\r\n return tryCreateItemOptionAction(optionName, {\r\n item: item,\r\n value: value,\r\n previousValue: previousValue,\r\n itemsRunTimeInfo: this._itemsRunTimeInfo\r\n })\r\n },\r\n _tryExecuteItemOptionAction: function(action) {\r\n return action && action.tryExecute()\r\n },\r\n _updateValidationGroupAndSummaryIfNeeded: function(fullName) {\r\n var optionName = getOptionNameFromFullName(fullName);\r\n if (ITEM_OPTIONS_FOR_VALIDATION_UPDATING.indexOf(optionName) > -1) {\r\n ValidationEngine.addGroup(this._getValidationGroup());\r\n if (this.option(\"showValidationSummary\")) {\r\n var _this$_validationSumm2;\r\n null === (_this$_validationSumm2 = this._validationSummary) || void 0 === _this$_validationSumm2 ? void 0 : _this$_validationSumm2.refreshValidationGroup()\r\n }\r\n }\r\n },\r\n _setLayoutManagerItemOption(layoutManager, optionName, value, path) {\r\n if (this._updateLockCount > 0) {\r\n !layoutManager._updateLockCount && layoutManager.beginUpdate();\r\n var key = this._itemsRunTimeInfo.findKeyByPath(path);\r\n this.postponedOperations.add(key, () => {\r\n !layoutManager._disposed && layoutManager.endUpdate();\r\n return (new Deferred).resolve()\r\n })\r\n }\r\n var contentReadyHandler = e => {\r\n e.component.off(\"contentReady\", contentReadyHandler);\r\n if (isFullPathContainsTabs(path)) {\r\n var tabPath = tryGetTabPath(path);\r\n var tabLayoutManager = this._itemsRunTimeInfo.findGroupOrTabLayoutManagerByPath(tabPath);\r\n if (tabLayoutManager) {\r\n this._alignLabelsInColumn({\r\n items: tabLayoutManager.option(\"items\"),\r\n layoutManager: tabLayoutManager,\r\n $container: tabLayoutManager.$element(),\r\n inOneColumn: tabLayoutManager.isSingleColumnMode()\r\n })\r\n }\r\n } else {\r\n this._alignLabels(this._rootLayoutManager, this._rootLayoutManager.isSingleColumnMode())\r\n }\r\n };\r\n layoutManager.on(\"contentReady\", contentReadyHandler);\r\n layoutManager.option(optionName, value);\r\n this._updateValidationGroupAndSummaryIfNeeded(optionName)\r\n },\r\n _tryChangeLayoutManagerItemOption(fullName, value) {\r\n var nameParts = fullName.split(\".\");\r\n var optionName = getOptionNameFromFullName(fullName);\r\n if (\"items\" === optionName && nameParts.length > 1) {\r\n var itemPath = this._getItemPath(nameParts);\r\n var layoutManager = this._itemsRunTimeInfo.findGroupOrTabLayoutManagerByPath(itemPath);\r\n if (layoutManager) {\r\n this._itemsRunTimeInfo.removeItemsByItems(layoutManager.getItemsRunTimeInfo());\r\n var items = this._prepareItems(value, false, itemPath);\r\n this._setLayoutManagerItemOption(layoutManager, optionName, items, itemPath);\r\n return true\r\n }\r\n } else if (nameParts.length > 2) {\r\n var endPartIndex = nameParts.length - 2;\r\n var _itemPath = this._getItemPath(nameParts.slice(0, endPartIndex));\r\n var _layoutManager = this._itemsRunTimeInfo.findGroupOrTabLayoutManagerByPath(_itemPath);\r\n if (_layoutManager) {\r\n var fullOptionName = getFullOptionName(nameParts[endPartIndex], optionName);\r\n if (\"editorType\" === optionName) {\r\n if (_layoutManager.option(fullOptionName) !== value) {\r\n return false\r\n }\r\n }\r\n if (\"visible\" === optionName) {\r\n var formItems = this.option(getFullOptionName(_itemPath, \"items\"));\r\n if (formItems && formItems.length) {\r\n var layoutManagerItems = _layoutManager.option(\"items\");\r\n formItems.forEach((item, index) => {\r\n var layoutItem = layoutManagerItems[index];\r\n layoutItem.visibleIndex = item.visibleIndex\r\n })\r\n }\r\n }\r\n this._setLayoutManagerItemOption(_layoutManager, fullOptionName, value, _itemPath);\r\n return true\r\n }\r\n }\r\n return false\r\n },\r\n _tryChangeLayoutManagerItemOptions(itemPath, options) {\r\n var result;\r\n this.beginUpdate();\r\n each(options, (optionName, optionValue) => {\r\n result = this._tryChangeLayoutManagerItemOption(getFullOptionName(itemPath, optionName), optionValue);\r\n if (!result) {\r\n return false\r\n }\r\n });\r\n this.endUpdate();\r\n return result\r\n },\r\n _getItemPath: function(nameParts) {\r\n var itemPath = nameParts[0];\r\n var i;\r\n for (i = 1; i < nameParts.length; i++) {\r\n if (-1 !== nameParts[i].search(/items\\[\\d+]|tabs\\[\\d+]/)) {\r\n itemPath += \".\" + nameParts[i]\r\n } else {\r\n break\r\n }\r\n }\r\n return itemPath\r\n },\r\n _triggerOnFieldDataChanged: function(args) {\r\n this._createActionByOption(\"onFieldDataChanged\")(args)\r\n },\r\n _triggerOnFieldDataChangedByDataSet(data) {\r\n if (data && isObject(data)) {\r\n Object.keys(data).forEach(key => {\r\n this._triggerOnFieldDataChanged({\r\n dataField: key,\r\n value: data[key]\r\n })\r\n })\r\n }\r\n },\r\n _updateFieldValue: function(dataField, value) {\r\n if (isDefined(this.option(\"formData\"))) {\r\n var editor = this.getEditor(dataField);\r\n this.option(\"formData.\" + dataField, value);\r\n if (editor) {\r\n var editorValue = editor.option(\"value\");\r\n if (editorValue !== value) {\r\n editor.option(\"value\", value)\r\n }\r\n }\r\n }\r\n },\r\n _generateItemsFromData: function(items) {\r\n var formData = this.option(\"formData\");\r\n var result = [];\r\n if (!items && isDefined(formData)) {\r\n each(formData, (function(dataField) {\r\n result.push({\r\n dataField: dataField\r\n })\r\n }))\r\n }\r\n if (items) {\r\n each(items, (function(index, item) {\r\n if (isObject(item)) {\r\n result.push(item)\r\n } else {\r\n result.push({\r\n dataField: item\r\n })\r\n }\r\n }))\r\n }\r\n return result\r\n },\r\n _getItemByField: function(field, items) {\r\n var that = this;\r\n var fieldParts = isObject(field) ? field : that._getFieldParts(field);\r\n var fieldName = fieldParts.fieldName;\r\n var fieldPath = fieldParts.fieldPath;\r\n var resultItem;\r\n if (items.length) {\r\n each(items, (function(index, item) {\r\n var itemType = item.itemType;\r\n if (fieldPath.length) {\r\n var path = fieldPath.slice();\r\n item = that._getItemByFieldPath(path, fieldName, item)\r\n } else if (\"group\" === itemType && !(item.caption || item.name) || \"tabbed\" === itemType && !item.name) {\r\n var subItemsField = that._getSubItemField(itemType);\r\n item.items = that._generateItemsFromData(item.items);\r\n item = that._getItemByField({\r\n fieldName: fieldName,\r\n fieldPath: fieldPath\r\n }, item[subItemsField])\r\n }\r\n if (isEqualToDataFieldOrNameOrTitleOrCaption(item, fieldName)) {\r\n resultItem = item;\r\n return false\r\n }\r\n }))\r\n }\r\n return resultItem\r\n },\r\n _getFieldParts: function(field) {\r\n var fieldName = field;\r\n var separatorIndex = fieldName.indexOf(\".\");\r\n var resultPath = [];\r\n while (-1 !== separatorIndex) {\r\n resultPath.push(fieldName.substr(0, separatorIndex));\r\n fieldName = fieldName.substr(separatorIndex + 1);\r\n separatorIndex = fieldName.indexOf(\".\")\r\n }\r\n return {\r\n fieldName: fieldName,\r\n fieldPath: resultPath.reverse()\r\n }\r\n },\r\n _getItemByFieldPath: function(path, fieldName, item) {\r\n var itemType = item.itemType;\r\n var subItemsField = this._getSubItemField(itemType);\r\n var isItemWithSubItems = \"group\" === itemType || \"tabbed\" === itemType || item.title;\r\n var result;\r\n do {\r\n if (isItemWithSubItems) {\r\n var name = item.name || item.caption || item.title;\r\n var isGroupWithName = isDefined(name);\r\n var nameWithoutSpaces = getTextWithoutSpaces(name);\r\n var pathNode = void 0;\r\n item[subItemsField] = this._generateItemsFromData(item[subItemsField]);\r\n if (isGroupWithName) {\r\n pathNode = path.pop()\r\n }\r\n if (!path.length) {\r\n result = this._getItemByField(fieldName, item[subItemsField]);\r\n if (result) {\r\n break\r\n }\r\n }\r\n if (!isGroupWithName || isGroupWithName && nameWithoutSpaces === pathNode) {\r\n if (path.length) {\r\n result = this._searchItemInEverySubItem(path, fieldName, item[subItemsField])\r\n }\r\n }\r\n } else {\r\n break\r\n }\r\n } while (path.length && !isDefined(result));\r\n return result\r\n },\r\n _getSubItemField: function(itemType) {\r\n return \"tabbed\" === itemType ? \"tabs\" : \"items\"\r\n },\r\n _searchItemInEverySubItem: function(path, fieldName, items) {\r\n var that = this;\r\n var result;\r\n each(items, (function(index, groupItem) {\r\n result = that._getItemByFieldPath(path.slice(), fieldName, groupItem);\r\n if (result) {\r\n return false\r\n }\r\n }));\r\n if (!result) {\r\n result = false\r\n }\r\n return result\r\n },\r\n _changeItemOption: function(item, option, value) {\r\n if (isObject(item)) {\r\n item[option] = value\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n var currentScreenFactor = this._getCurrentScreenFactor();\r\n if (this._lastMarkupScreenFactor !== currentScreenFactor) {\r\n if (this._isColCountChanged(this._lastMarkupScreenFactor, currentScreenFactor)) {\r\n this._targetScreenFactor = currentScreenFactor;\r\n this._refresh();\r\n this._targetScreenFactor = void 0\r\n }\r\n this._lastMarkupScreenFactor = currentScreenFactor\r\n }\r\n },\r\n _isColCountChanged: function(oldScreenSize, newScreenSize) {\r\n var isChanged = false;\r\n each(this._cachedColCountOptions, (function(index, item) {\r\n if (item.colCountByScreen[oldScreenSize] !== item.colCountByScreen[newScreenSize]) {\r\n isChanged = true;\r\n return false\r\n }\r\n }));\r\n return isChanged\r\n },\r\n _refresh: function() {\r\n var editorSelector = \".\".concat(FOCUSED_STATE_CLASS, \" > :not(.dx-dropdowneditor-input-wrapper) input,\") + \" .\".concat(FOCUSED_STATE_CLASS, \" textarea\");\r\n eventsEngine.trigger(this.$element().find(editorSelector), \"change\");\r\n this.callBase()\r\n },\r\n _resetValues: function() {\r\n this._itemsRunTimeInfo.each((function(_, itemRunTimeInfo) {\r\n if (isDefined(itemRunTimeInfo.widgetInstance) && Editor.isEditor(itemRunTimeInfo.widgetInstance)) {\r\n itemRunTimeInfo.widgetInstance.reset();\r\n itemRunTimeInfo.widgetInstance.option(\"isValid\", true)\r\n }\r\n }));\r\n ValidationEngine.resetGroup(this._getValidationGroup())\r\n },\r\n _updateData: function(data, value, isComplexData) {\r\n var that = this;\r\n var _data = isComplexData ? value : data;\r\n if (isObject(_data)) {\r\n each(_data, (function(dataField, fieldValue) {\r\n that._updateData(isComplexData ? data + \".\" + dataField : dataField, fieldValue, isObject(fieldValue))\r\n }))\r\n } else if (isString(data)) {\r\n that._updateFieldValue(data, value)\r\n }\r\n },\r\n registerKeyHandler: function(key, handler) {\r\n this.callBase(key, handler);\r\n this._itemsRunTimeInfo.each((function(_, itemRunTimeInfo) {\r\n if (isDefined(itemRunTimeInfo.widgetInstance)) {\r\n itemRunTimeInfo.widgetInstance.registerKeyHandler(key, handler)\r\n }\r\n }))\r\n },\r\n _focusTarget: function() {\r\n return this.$element().find(\".\" + FIELD_ITEM_CONTENT_CLASS + \" [tabindex]\").first()\r\n },\r\n _visibilityChanged: function() {\r\n this._alignLabels(this._rootLayoutManager, this._rootLayoutManager.isSingleColumnMode())\r\n },\r\n _clearAutoColCountChangedTimeout: function() {\r\n if (this.autoColCountChangedTimeoutId) {\r\n clearTimeout(this.autoColCountChangedTimeoutId);\r\n this.autoColCountChangedTimeoutId = void 0\r\n }\r\n },\r\n _dispose: function() {\r\n this._clearAutoColCountChangedTimeout();\r\n ValidationEngine.removeGroup(this._getValidationGroup());\r\n this.callBase()\r\n },\r\n resetValues: function() {\r\n this._resetValues()\r\n },\r\n updateData: function(data, value) {\r\n this._updateData(data, value)\r\n },\r\n getEditor: function(dataField) {\r\n return this._itemsRunTimeInfo.findWidgetInstanceByDataField(dataField) || this._itemsRunTimeInfo.findWidgetInstanceByName(dataField)\r\n },\r\n getButton: function(name) {\r\n return this._itemsRunTimeInfo.findWidgetInstanceByName(name)\r\n },\r\n updateDimensions: function() {\r\n var that = this;\r\n var deferred = new Deferred;\r\n if (that._scrollable) {\r\n that._scrollable.update().done((function() {\r\n deferred.resolveWith(that)\r\n }))\r\n } else {\r\n deferred.resolveWith(that)\r\n }\r\n return deferred.promise()\r\n },\r\n itemOption: function(id, option, value) {\r\n var items = this._generateItemsFromData(this.option(\"items\"));\r\n var item = this._getItemByField(id, items);\r\n var path = getItemPath(items, item);\r\n if (!item) {\r\n return\r\n }\r\n switch (arguments.length) {\r\n case 1:\r\n return item;\r\n case 3:\r\n var itemAction = this._tryCreateItemOptionAction(option, item, value, item[option], path);\r\n this._changeItemOption(item, option, value);\r\n var fullName = getFullOptionName(path, option);\r\n if (!this._tryExecuteItemOptionAction(itemAction) && !this._tryChangeLayoutManagerItemOption(fullName, value)) {\r\n this.option(\"items\", items)\r\n }\r\n break;\r\n default:\r\n if (isObject(option)) {\r\n if (!this._tryChangeLayoutManagerItemOptions(path, option)) {\r\n var allowUpdateItems;\r\n each(option, (optionName, optionValue) => {\r\n var itemAction = this._tryCreateItemOptionAction(optionName, item, optionValue, item[optionName], path);\r\n this._changeItemOption(item, optionName, optionValue);\r\n if (!allowUpdateItems && !this._tryExecuteItemOptionAction(itemAction)) {\r\n allowUpdateItems = true\r\n }\r\n });\r\n allowUpdateItems && this.option(\"items\", items)\r\n }\r\n }\r\n }\r\n },\r\n validate: function() {\r\n return ValidationEngine.validateGroup(this._getValidationGroup())\r\n },\r\n getItemID: function(name) {\r\n return \"dx_\" + this.option(\"formID\") + \"_\" + (name || new Guid)\r\n },\r\n getTargetScreenFactor: function() {\r\n return this._targetScreenFactor\r\n }\r\n});\r\nregisterComponent(\"dxForm\", Form);\r\nexport default Form;\r\n","/**\r\n * DevExtreme (esm/ui/form.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Form from \"./form/ui.form\";\r\nexport default Form;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/m_editing_form_based.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../../../core/devices\";\r\nimport Guid from \"../../../../core/guid\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isElementInDom\r\n} from \"../../../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../../../../events/remove\";\r\nimport Button from \"../../../../ui/button\";\r\nimport Form from \"../../../../ui/form\";\r\nimport Popup from \"../../../../ui/popup/ui.popup\";\r\nimport Scrollable from \"../../../../ui/scroll_view/ui.scrollable\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n BUTTON_CLASS,\r\n DATA_EDIT_DATA_INSERT_TYPE,\r\n EDIT_FORM_ITEM_CLASS,\r\n EDIT_MODE_FORM,\r\n EDIT_POPUP_CLASS,\r\n EDIT_POPUP_FORM_CLASS,\r\n EDITING_EDITROWKEY_OPTION_NAME,\r\n EDITING_FORM_OPTION_NAME,\r\n EDITING_POPUP_OPTION_NAME,\r\n FOCUSABLE_ELEMENT_CLASS,\r\n FOCUSABLE_ELEMENT_SELECTOR,\r\n FORM_BUTTONS_CONTAINER_CLASS\r\n} from \"./const\";\r\nimport {\r\n forEachFormItems,\r\n getEditorType\r\n} from \"./m_editing_utils\";\r\nvar editingControllerExtender = Base => class extends Base {\r\n init() {\r\n this._editForm = null;\r\n this._updateEditFormDeferred = null;\r\n super.init()\r\n }\r\n isEditRow(rowIndex) {\r\n return !this.isPopupEditMode() && super.isEditRow(rowIndex)\r\n }\r\n isFormOrPopupEditMode() {\r\n return this.isPopupEditMode() || this.isFormEditMode()\r\n }\r\n isFormEditMode() {\r\n var editMode = this.option(\"editing.mode\");\r\n return editMode === EDIT_MODE_FORM\r\n }\r\n getFirstEditableColumnIndex() {\r\n var firstFormItem = this._firstFormItem;\r\n if (this.isFormEditMode() && firstFormItem) {\r\n var editRowKey = this.option(EDITING_EDITROWKEY_OPTION_NAME);\r\n var editRowIndex = this._dataController.getRowIndexByKey(editRowKey);\r\n var $editFormElements = this._rowsView.getCellElements(editRowIndex);\r\n return this._rowsView._getEditFormEditorVisibleIndex($editFormElements, firstFormItem.column)\r\n }\r\n return super.getFirstEditableColumnIndex()\r\n }\r\n getEditFormRowIndex() {\r\n return this.isFormOrPopupEditMode() ? this._getVisibleEditRowIndex() : super.getEditFormRowIndex()\r\n }\r\n _isEditColumnVisible() {\r\n var result = super._isEditColumnVisible();\r\n var editingOptions = this.option(\"editing\");\r\n return this.isFormOrPopupEditMode() ? editingOptions.allowUpdating || result : result\r\n }\r\n _handleDataChanged(args) {\r\n var _a, _b;\r\n if (this.isPopupEditMode()) {\r\n var editRowKey = this.option(\"editing.editRowKey\");\r\n var hasEditRow = null === (_a = null === args || void 0 === args ? void 0 : args.items) || void 0 === _a ? void 0 : _a.some(item => equalByValue(item.key, editRowKey));\r\n var onlyInsertChanges = (null === (_b = args.changeTypes) || void 0 === _b ? void 0 : _b.length) && args.changeTypes.every(item => \"insert\" === item);\r\n if ((\"refresh\" === args.changeType || hasEditRow && args.isOptionChanged) && !onlyInsertChanges) {\r\n this._repaintEditPopup()\r\n }\r\n }\r\n super._handleDataChanged(args)\r\n }\r\n getPopupContent() {\r\n var _a;\r\n var popupVisible = null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.option(\"visible\");\r\n if (this.isPopupEditMode() && popupVisible) {\r\n return this._$popupContent\r\n }\r\n }\r\n _showAddedRow(rowIndex) {\r\n if (this.isPopupEditMode()) {\r\n this._showEditPopup(rowIndex)\r\n } else {\r\n super._showAddedRow(rowIndex)\r\n }\r\n }\r\n _cancelEditDataCore() {\r\n super._cancelEditDataCore();\r\n if (this.isPopupEditMode()) {\r\n this._hideEditPopup()\r\n }\r\n }\r\n _updateEditRowCore(row, skipCurrentRow, isCustomSetCellValue) {\r\n var _a;\r\n var editForm = this._editForm;\r\n if (this.isPopupEditMode()) {\r\n if (this.option(\"repaintChangesOnly\")) {\r\n null === (_a = row.update) || void 0 === _a ? void 0 : _a.call(row, row);\r\n this._rowsView.renderDelayedTemplates()\r\n } else if (editForm) {\r\n this._updateEditFormDeferred = (new Deferred).done(() => editForm.repaint());\r\n if (!this._updateLockCount) {\r\n this._updateEditFormDeferred.resolve()\r\n }\r\n }\r\n } else {\r\n super._updateEditRowCore(row, skipCurrentRow, isCustomSetCellValue)\r\n }\r\n }\r\n _showEditPopup(rowIndex, repaintForm) {\r\n var isMobileDevice = \"desktop\" !== devices.current().deviceType;\r\n var editPopupClass = this.addWidgetPrefix(EDIT_POPUP_CLASS);\r\n var popupOptions = extend({\r\n showTitle: false,\r\n fullScreen: isMobileDevice,\r\n wrapperAttr: {\r\n class: editPopupClass\r\n },\r\n toolbarItems: [{\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: this._getSaveButtonConfig()\r\n }, {\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: this._getCancelButtonConfig()\r\n }],\r\n contentTemplate: this._getPopupEditFormTemplate(rowIndex)\r\n }, this.option(EDITING_POPUP_OPTION_NAME));\r\n if (!this._editPopup) {\r\n var $popupContainer = $(\"<div>\").appendTo(this.component.$element()).addClass(editPopupClass);\r\n this._editPopup = this._createComponent($popupContainer, Popup);\r\n this._editPopup.on(\"hiding\", this._getEditPopupHiddenHandler());\r\n this._editPopup.on(\"shown\", e => {\r\n var _a;\r\n eventsEngine.trigger(e.component.$content().find(FOCUSABLE_ELEMENT_SELECTOR).not(\".\".concat(FOCUSABLE_ELEMENT_CLASS)).first(), \"focus\");\r\n if (repaintForm) {\r\n null === (_a = this._editForm) || void 0 === _a ? void 0 : _a.repaint()\r\n }\r\n })\r\n }\r\n this._editPopup.option(popupOptions);\r\n this._editPopup.show();\r\n super._showEditPopup(rowIndex, repaintForm)\r\n }\r\n _getPopupEditFormTemplate(rowIndex) {\r\n var row = this.component.getVisibleRows()[rowIndex];\r\n var templateOptions = {\r\n row: row,\r\n values: row.values,\r\n rowType: row.rowType,\r\n key: row.key,\r\n rowIndex: rowIndex\r\n };\r\n this._rowsView._addWatchMethod(templateOptions, row);\r\n return container => {\r\n var formTemplate = this.getEditFormTemplate();\r\n var scrollable = this._createComponent($(\"<div>\").appendTo(container), Scrollable);\r\n this._$popupContent = $(scrollable.content());\r\n formTemplate(this._$popupContent, templateOptions, {\r\n isPopupForm: true\r\n });\r\n this._rowsView.renderDelayedTemplates();\r\n $(container).parent().attr(\"aria-label\", this.localize(\"dxDataGrid-ariaEditForm\"))\r\n }\r\n }\r\n _repaintEditPopup() {\r\n var _a, _b;\r\n var rowIndex = this._getVisibleEditRowIndex();\r\n if (rowIndex >= 0) {\r\n var defaultAnimation = null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.option(\"animation\");\r\n null === (_b = this._editPopup) || void 0 === _b ? void 0 : _b.option(\"animation\", null);\r\n this._showEditPopup(rowIndex, true);\r\n if (void 0 !== defaultAnimation) {\r\n this._editPopup.option(\"animation\", defaultAnimation)\r\n }\r\n }\r\n }\r\n _hideEditPopup() {\r\n var _a;\r\n null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.option(\"visible\", false)\r\n }\r\n optionChanged(args) {\r\n if (\"editing\" === args.name && this.isFormOrPopupEditMode()) {\r\n var {\r\n fullName: fullName\r\n } = args;\r\n if (0 === fullName.indexOf(EDITING_FORM_OPTION_NAME)) {\r\n this._handleFormOptionChange(args);\r\n args.handled = true\r\n } else if (0 === fullName.indexOf(EDITING_POPUP_OPTION_NAME)) {\r\n this._handlePopupOptionChange(args);\r\n args.handled = true\r\n }\r\n }\r\n super.optionChanged(args)\r\n }\r\n _handleFormOptionChange(args) {\r\n var _a;\r\n if (this.isFormEditMode()) {\r\n var editRowIndex = this._getVisibleEditRowIndex();\r\n if (editRowIndex >= 0) {\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [editRowIndex]\r\n })\r\n }\r\n } else if ((null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.option(\"visible\")) && 0 === args.fullName.indexOf(EDITING_FORM_OPTION_NAME)) {\r\n this._repaintEditPopup()\r\n }\r\n }\r\n _handlePopupOptionChange(args) {\r\n var editPopup = this._editPopup;\r\n if (editPopup) {\r\n var popupOptionName = args.fullName.slice(EDITING_POPUP_OPTION_NAME.length + 1);\r\n if (popupOptionName) {\r\n editPopup.option(popupOptionName, args.value)\r\n } else {\r\n editPopup.option(args.value)\r\n }\r\n }\r\n }\r\n renderFormEditorTemplate(detailCellOptions, item, formTemplateOptions, container, isReadOnly) {\r\n var that = this;\r\n var $container = $(container);\r\n var {\r\n column: column\r\n } = item;\r\n var editorType = getEditorType(item);\r\n var row = null === detailCellOptions || void 0 === detailCellOptions ? void 0 : detailCellOptions.row;\r\n var rowData = null === row || void 0 === row ? void 0 : row.data;\r\n var form = formTemplateOptions.component;\r\n var value = column.calculateCellValue(rowData);\r\n var displayValue = gridCoreUtils.getDisplayValue(column, value, rowData, null === row || void 0 === row ? void 0 : row.rowType);\r\n var {\r\n label: label,\r\n labelMark: labelMark,\r\n labelMode: labelMode\r\n } = formTemplateOptions.editorOptions || {};\r\n var cellOptions = extend({}, detailCellOptions, {\r\n data: rowData,\r\n cellElement: null,\r\n isOnForm: true,\r\n item: item,\r\n id: form.getItemID(item.name || item.dataField),\r\n column: extend({}, column, {\r\n editorType: editorType,\r\n editorOptions: extend({\r\n label: label,\r\n labelMark: labelMark,\r\n labelMode: labelMode\r\n }, column.editorOptions, item.editorOptions)\r\n }),\r\n columnIndex: column.index,\r\n setValue: !isReadOnly && column.allowEditing && function(value, text) {\r\n that.updateFieldValue(cellOptions, value, text)\r\n }\r\n });\r\n cellOptions.value = value;\r\n cellOptions.displayValue = displayValue;\r\n cellOptions.text = !column.command ? gridCoreUtils.formatValue(displayValue, column) : \"\";\r\n var template = this._getFormEditItemTemplate.bind(this)(cellOptions, column);\r\n this._rowsView.renderTemplate($container, template, cellOptions, !!isElementInDom($container)).done(() => {\r\n this._rowsView._updateCell($container, cellOptions)\r\n });\r\n return cellOptions\r\n }\r\n getFormEditorTemplate(cellOptions, item) {\r\n var column = this.component.columnOption(item.name || item.dataField);\r\n return (options, container) => {\r\n var $container = $(container);\r\n var {\r\n row: row\r\n } = cellOptions;\r\n if (null === row || void 0 === row ? void 0 : row.watch) {\r\n var dispose = row.watch(() => column.selector(row.data), () => {\r\n var $editorElement = $container.find(\".dx-widget\").first();\r\n var validator = $editorElement.data(\"dxValidator\");\r\n var validatorOptions = null === validator || void 0 === validator ? void 0 : validator.option();\r\n $container.contents().remove();\r\n cellOptions = this.renderFormEditorTemplate.bind(this)(cellOptions, item, options, $container);\r\n $editorElement = $container.find(\".dx-widget\").first();\r\n validator = $editorElement.data(\"dxValidator\");\r\n if (validatorOptions && !validator) {\r\n $editorElement.dxValidator({\r\n validationRules: validatorOptions.validationRules,\r\n validationGroup: validatorOptions.validationGroup,\r\n dataGetter: validatorOptions.dataGetter\r\n })\r\n }\r\n });\r\n eventsEngine.on($container, removeEvent, dispose)\r\n }\r\n cellOptions = this.renderFormEditorTemplate.bind(this)(cellOptions, item, options, $container)\r\n }\r\n }\r\n getEditFormOptions(detailOptions) {\r\n var _b;\r\n var editFormOptions = null === (_b = this._getValidationGroupsInForm) || void 0 === _b ? void 0 : _b.call(this, detailOptions);\r\n var userCustomizeItem = this.option(\"editing.form.customizeItem\");\r\n var editFormItemClass = this.addWidgetPrefix(EDIT_FORM_ITEM_CLASS);\r\n var items = this.option(\"editing.form.items\");\r\n var isCustomEditorType = {};\r\n if (!items) {\r\n var columns = this._columnsController.getColumns();\r\n items = [];\r\n each(columns, (_, column) => {\r\n if (!column.isBand && !column.type) {\r\n items.push({\r\n column: column,\r\n name: column.name,\r\n dataField: column.dataField\r\n })\r\n }\r\n })\r\n } else {\r\n forEachFormItems(items, item => {\r\n var itemId = (null === item || void 0 === item ? void 0 : item.name) || (null === item || void 0 === item ? void 0 : item.dataField);\r\n if (itemId) {\r\n isCustomEditorType[itemId] = !!item.editorType\r\n }\r\n })\r\n }\r\n return extend({}, editFormOptions, {\r\n items: items,\r\n formID: \"dx-\".concat(new Guid),\r\n customizeItem: item => {\r\n var column;\r\n var itemId = item.name || item.dataField;\r\n if (item.column || itemId) {\r\n column = item.column || this._columnsController.columnOption(item.name ? \"name:\".concat(item.name) : \"dataField:\".concat(item.dataField))\r\n }\r\n if (column) {\r\n item.label = item.label || {};\r\n item.label.text = item.label.text || column.caption;\r\n if (\"boolean\" === column.dataType && void 0 === item.label.visible) {\r\n var labelMode = this.option(\"editing.form.labelMode\");\r\n if (\"floating\" === labelMode || \"static\" === labelMode) {\r\n item.label.visible = true\r\n }\r\n }\r\n item.template = item.template || this.getFormEditorTemplate(detailOptions, item);\r\n item.column = column;\r\n item.isCustomEditorType = isCustomEditorType[itemId];\r\n if (column.formItem) {\r\n extend(item, column.formItem)\r\n }\r\n if (void 0 === item.isRequired && column.validationRules) {\r\n item.isRequired = column.validationRules.some(rule => \"required\" === rule.type);\r\n item.validationRules = []\r\n }\r\n var itemVisible = isDefined(item.visible) ? item.visible : true;\r\n if (!this._firstFormItem && itemVisible) {\r\n this._firstFormItem = item\r\n }\r\n }\r\n null === userCustomizeItem || void 0 === userCustomizeItem ? void 0 : userCustomizeItem.call(this, item);\r\n item.cssClass = isString(item.cssClass) ? \"\".concat(item.cssClass, \" \").concat(editFormItemClass) : editFormItemClass\r\n }\r\n })\r\n }\r\n getEditFormTemplate() {\r\n return ($container, detailOptions, options) => {\r\n var editFormOptions = this.option(EDITING_FORM_OPTION_NAME);\r\n var baseEditFormOptions = this.getEditFormOptions(detailOptions);\r\n var $formContainer = $(\"<div>\").appendTo($container);\r\n var isPopupForm = null === options || void 0 === options ? void 0 : options.isPopupForm;\r\n this._firstFormItem = void 0;\r\n if (isPopupForm) {\r\n $formContainer.addClass(this.addWidgetPrefix(EDIT_POPUP_FORM_CLASS))\r\n }\r\n this._editForm = this._createComponent($formContainer, Form, extend({}, editFormOptions, baseEditFormOptions));\r\n if (!isPopupForm) {\r\n var $buttonsContainer = $(\"<div>\").addClass(this.addWidgetPrefix(FORM_BUTTONS_CONTAINER_CLASS)).appendTo($container);\r\n this._createComponent($(\"<div>\").appendTo($buttonsContainer), Button, this._getSaveButtonConfig());\r\n this._createComponent($(\"<div>\").appendTo($buttonsContainer), Button, this._getCancelButtonConfig())\r\n }\r\n this._editForm.on(\"contentReady\", () => {\r\n var _a;\r\n this._rowsView.renderDelayedTemplates();\r\n null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.repaint()\r\n })\r\n }\r\n }\r\n getEditForm() {\r\n return this._editForm\r\n }\r\n _endUpdateCore() {\r\n var _a;\r\n null === (_a = this._updateEditFormDeferred) || void 0 === _a ? void 0 : _a.resolve()\r\n }\r\n _beforeEndSaving(changes) {\r\n var _a;\r\n super._beforeEndSaving(changes);\r\n if (this.isPopupEditMode()) {\r\n null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.hide()\r\n }\r\n }\r\n _processDataItemCore(item, change, key, columns, generateDataValues) {\r\n var {\r\n type: type\r\n } = change;\r\n if (this.isPopupEditMode() && type === DATA_EDIT_DATA_INSERT_TYPE) {\r\n item.visible = false\r\n }\r\n super._processDataItemCore(item, change, key, columns, generateDataValues)\r\n }\r\n _editRowFromOptionChangedCore(rowIndices, rowIndex) {\r\n var isPopupEditMode = this.isPopupEditMode();\r\n super._editRowFromOptionChangedCore(rowIndices, rowIndex, isPopupEditMode);\r\n if (isPopupEditMode) {\r\n this._showEditPopup(rowIndex)\r\n }\r\n }\r\n};\r\nvar data = Base => class extends Base {\r\n _updateEditItem(item) {\r\n if (this._editingController.isFormEditMode()) {\r\n item.rowType = \"detail\"\r\n }\r\n }\r\n _getChangedColumnIndices(oldItem, newItem, visibleRowIndex, isLiveUpdate) {\r\n if (false === isLiveUpdate && newItem.isEditing && this._editingController.isFormEditMode()) {\r\n return\r\n }\r\n return super._getChangedColumnIndices.apply(this, arguments)\r\n }\r\n};\r\nvar rowsView = Base => class extends Base {\r\n _renderCellContent($cell, options) {\r\n if (\"data\" === options.rowType && this._editingController.isPopupEditMode() && false === options.row.visible) {\r\n return\r\n }\r\n super._renderCellContent.apply(this, arguments)\r\n }\r\n getCellElements(rowIndex) {\r\n var $cellElements = super.getCellElements(rowIndex);\r\n var editingController = this._editingController;\r\n var editForm = editingController.getEditForm();\r\n var editFormRowIndex = editingController.getEditFormRowIndex();\r\n if (editFormRowIndex === rowIndex && $cellElements && editForm) {\r\n return editForm.$element().find(\".\".concat(this.addWidgetPrefix(EDIT_FORM_ITEM_CLASS), \", .\").concat(BUTTON_CLASS))\r\n }\r\n return $cellElements\r\n }\r\n _getVisibleColumnIndex($cells, rowIndex, columnIdentifier) {\r\n var editFormRowIndex = this._editingController.getEditFormRowIndex();\r\n if (editFormRowIndex === rowIndex && isString(columnIdentifier)) {\r\n var column = this._columnsController.columnOption(columnIdentifier);\r\n return this._getEditFormEditorVisibleIndex($cells, column)\r\n }\r\n return super._getVisibleColumnIndex.apply(this, arguments)\r\n }\r\n _getEditFormEditorVisibleIndex($cells, column) {\r\n var visibleIndex = -1;\r\n each($cells, (index, cellElement) => {\r\n var item = $(cellElement).find(\".dx-field-item-content\").data(\"dx-form-item\");\r\n if ((null === item || void 0 === item ? void 0 : item.column) && column && item.column.index === column.index) {\r\n visibleIndex = index;\r\n return false\r\n }\r\n });\r\n return visibleIndex\r\n }\r\n _isFormItem(parameters) {\r\n var isDetailRow = \"detail\" === parameters.rowType || \"detailAdaptive\" === parameters.rowType;\r\n var isPopupEditing = \"data\" === parameters.rowType && this._editingController.isPopupEditMode();\r\n return (isDetailRow || isPopupEditing) && parameters.item\r\n }\r\n _updateCell($cell, parameters) {\r\n if (this._isFormItem(parameters)) {\r\n this._formItemPrepared(parameters, $cell)\r\n } else {\r\n super._updateCell($cell, parameters)\r\n }\r\n }\r\n _updateContent() {\r\n var editingController = this._editingController;\r\n var oldEditForm = editingController.getEditForm();\r\n var validationGroup = null === oldEditForm || void 0 === oldEditForm ? void 0 : oldEditForm.option(\"validationGroup\");\r\n var deferred = super._updateContent.apply(this, arguments);\r\n return deferred.done(() => {\r\n var newEditForm = editingController.getEditForm();\r\n if (validationGroup && newEditForm && newEditForm !== oldEditForm) {\r\n newEditForm.option(\"validationGroup\", validationGroup)\r\n }\r\n })\r\n }\r\n};\r\nexport var editingFormBasedModule = {\r\n extenders: {\r\n controllers: {\r\n editing: editingControllerExtender,\r\n data: data\r\n },\r\n views: {\r\n rowsView: rowsView\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/editing_form_based.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editingFormBasedModule\r\n} from \"../../../grids/grid_core/editing/m_editing_form_based\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"editingFormBased\", editingFormBasedModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/m_editing_cell_based.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n deferRender\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isElementInDom\r\n} from \"../../../../core/utils/dom\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n createObjectWithChanges\r\n} from \"../../../../data/array_utils\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport holdEvent from \"../../../../events/hold\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n addNamespace\r\n} from \"../../../../events/utils/index\";\r\nimport {\r\n ADD_ROW_BUTTON_CLASS,\r\n CELL_MODIFIED_CLASS,\r\n DATA_EDIT_DATA_REMOVE_TYPE,\r\n DATA_ROW_CLASS,\r\n DROPDOWN_EDITOR_OVERLAY_CLASS,\r\n EDIT_MODE_BATCH,\r\n EDIT_MODE_CELL,\r\n EDITING_EDITCOLUMNNAME_OPTION_NAME,\r\n EDITING_EDITROWKEY_OPTION_NAME,\r\n EDITOR_CELL_CLASS,\r\n FOCUS_OVERLAY_CLASS,\r\n ROW_CLASS,\r\n ROW_REMOVED,\r\n TARGET_COMPONENT_NAME\r\n} from \"./const\";\r\nimport {\r\n isEditable\r\n} from \"./m_editing_utils\";\r\nvar editingControllerExtender = Base => class extends Base {\r\n init() {\r\n var needCreateHandlers = !this._saveEditorHandler;\r\n super.init();\r\n if (needCreateHandlers) {\r\n var $pointerDownTarget;\r\n var isResizing;\r\n this._pointerUpEditorHandler = () => {\r\n var _a;\r\n isResizing = null === (_a = this._columnsResizerController) || void 0 === _a ? void 0 : _a.isResizing()\r\n };\r\n this._pointerDownEditorHandler = e => $pointerDownTarget = $(e.target);\r\n this._saveEditorHandler = this.createAction((function(e) {\r\n var {\r\n event: event\r\n } = e;\r\n var $target = $(event.target);\r\n var targetComponent = event[TARGET_COMPONENT_NAME];\r\n var {\r\n component: component\r\n } = this;\r\n if (isEditable($pointerDownTarget) && !$pointerDownTarget.is($target)) {\r\n return\r\n }\r\n\r\n function checkEditorPopup($element) {\r\n if (!$element) {\r\n return false\r\n }\r\n var $dropDownEditorOverlay = $element.closest(\".\".concat(DROPDOWN_EDITOR_OVERLAY_CLASS));\r\n var $componentElement = component.$element();\r\n return $dropDownEditorOverlay.length > 0 && 0 === $componentElement.closest($dropDownEditorOverlay).length\r\n }\r\n if (this.isCellOrBatchEditMode() && !this._editCellInProgress) {\r\n var isEditorPopup = checkEditorPopup($target) || checkEditorPopup(null === targetComponent || void 0 === targetComponent ? void 0 : targetComponent.$element());\r\n var isAnotherComponent = targetComponent && !targetComponent._disposed && targetComponent !== this.component;\r\n var isAddRowButton = !!$target.closest(\".\".concat(this.addWidgetPrefix(ADD_ROW_BUTTON_CLASS))).length;\r\n var isFocusOverlay = $target.hasClass(this.addWidgetPrefix(FOCUS_OVERLAY_CLASS));\r\n var isCellEditMode = this.isCellEditMode();\r\n if (!isResizing && !isEditorPopup && !isFocusOverlay && !(isAddRowButton && isCellEditMode && this.isEditing()) && (isElementInDom($target) || isAnotherComponent)) {\r\n this._closeEditItem.bind(this)($target)\r\n }\r\n }\r\n }));\r\n eventsEngine.on(domAdapter.getDocument(), pointerEvents.up, this._pointerUpEditorHandler);\r\n eventsEngine.on(domAdapter.getDocument(), pointerEvents.down, this._pointerDownEditorHandler);\r\n eventsEngine.on(domAdapter.getDocument(), clickEventName, this._saveEditorHandler)\r\n }\r\n }\r\n isCellEditMode() {\r\n return this.option(\"editing.mode\") === EDIT_MODE_CELL\r\n }\r\n isBatchEditMode() {\r\n return this.option(\"editing.mode\") === EDIT_MODE_BATCH\r\n }\r\n isCellOrBatchEditMode() {\r\n return this.isCellEditMode() || this.isBatchEditMode()\r\n }\r\n _needToCloseEditableCell($targetElement) {\r\n var _a;\r\n var $element = this.component.$element();\r\n var result = this.isEditing();\r\n var isCurrentComponentElement = !$element || !!$targetElement.closest($element).length;\r\n if (isCurrentComponentElement) {\r\n var isDataRow = $targetElement.closest(\".\".concat(DATA_ROW_CLASS)).length;\r\n if (isDataRow) {\r\n var $targetCell = $targetElement.closest(\".\".concat(ROW_CLASS, \"> td\"));\r\n var rowIndex = this._rowsView.getRowIndex($targetCell.parent());\r\n var cellElements = this._rowsView.getCellElements(rowIndex);\r\n if (null === cellElements || void 0 === cellElements ? void 0 : cellElements.length) {\r\n var columnIndex = cellElements.index($targetCell);\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var allowEditing = null === (_a = visibleColumns[columnIndex]) || void 0 === _a ? void 0 : _a.allowEditing;\r\n var isEditingCell = this.isEditCell(rowIndex, columnIndex);\r\n result = result && !allowEditing && !isEditingCell\r\n }\r\n }\r\n }\r\n return result || super._needToCloseEditableCell($targetElement)\r\n }\r\n _closeEditItem($targetElement) {\r\n if (this._needToCloseEditableCell($targetElement)) {\r\n this.closeEditCell()\r\n }\r\n }\r\n _focusEditorIfNeed() {\r\n var _a;\r\n if (this._needFocusEditor && this.isCellOrBatchEditMode()) {\r\n var editColumnIndex = this._getVisibleEditColumnIndex();\r\n var $cell = null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a._getCellElement(this._getVisibleEditRowIndex(), editColumnIndex);\r\n this._refocusEditCell = false;\r\n clearTimeout(this._inputFocusTimeoutID);\r\n if ($cell && !$cell.find(\":focus\").length) {\r\n this._focusEditingCell(() => {\r\n this._editCellInProgress = false\r\n }, $cell, true)\r\n } else {\r\n this._editCellInProgress = false\r\n }\r\n this._needFocusEditor = false\r\n } else {\r\n super._focusEditorIfNeed()\r\n }\r\n }\r\n isEditing() {\r\n if (this.isCellOrBatchEditMode()) {\r\n var isEditRowKeyDefined = isDefined(this.option(EDITING_EDITROWKEY_OPTION_NAME));\r\n var isEditColumnNameDefined = isDefined(this.option(EDITING_EDITCOLUMNNAME_OPTION_NAME));\r\n return isEditRowKeyDefined && isEditColumnNameDefined\r\n }\r\n return super.isEditing()\r\n }\r\n _handleEditColumnNameChange(args) {\r\n var oldRowIndex = this._getVisibleEditRowIndex(args.previousValue);\r\n if (this.isCellOrBatchEditMode() && -1 !== oldRowIndex && isDefined(args.value) && args.value !== args.previousValue) {\r\n var columnIndex = this._columnsController.getVisibleColumnIndex(args.value);\r\n var oldColumnIndex = this._columnsController.getVisibleColumnIndex(args.previousValue);\r\n this._editCellFromOptionChanged(columnIndex, oldColumnIndex, oldRowIndex)\r\n }\r\n }\r\n _addRow(parentKey) {\r\n if (this.isCellEditMode() && this.hasChanges()) {\r\n var deferred = new Deferred;\r\n this.saveEditData().done(() => {\r\n if (!this.hasChanges()) {\r\n this.addRow(parentKey).done(deferred.resolve).fail(deferred.reject)\r\n } else {\r\n deferred.reject(\"cancel\")\r\n }\r\n });\r\n return deferred.promise()\r\n }\r\n return super._addRow(parentKey)\r\n }\r\n editCell(rowIndex, columnIndex) {\r\n return this._editCell({\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n })\r\n }\r\n _editCell(options) {\r\n var d = new Deferred;\r\n var coreResult;\r\n this.executeOperation(d, () => {\r\n coreResult = this._editCellCore(options);\r\n when(coreResult).done(d.resolve).fail(d.reject)\r\n });\r\n return void 0 !== coreResult ? coreResult : d.promise()\r\n }\r\n _editCellCore(options) {\r\n var dataController = this._dataController;\r\n var isEditByOptionChanged = isDefined(options.oldColumnIndex) || isDefined(options.oldRowIndex);\r\n var {\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex,\r\n column: column,\r\n item: item\r\n } = this._getNormalizedEditCellOptions(options);\r\n var params = {\r\n data: null === item || void 0 === item ? void 0 : item.data,\r\n cancel: false,\r\n column: column\r\n };\r\n if (void 0 === item.key) {\r\n this._dataController.fireError(\"E1043\");\r\n return\r\n }\r\n if (column && (\"data\" === item.rowType || \"detailAdaptive\" === item.rowType) && !item.removed && this.isCellOrBatchEditMode()) {\r\n if (!isEditByOptionChanged && this.isEditCell(rowIndex, columnIndex)) {\r\n return true\r\n }\r\n var editRowIndex = rowIndex + dataController.getRowIndexOffset();\r\n return when(this._beforeEditCell(rowIndex, columnIndex, item)).done(cancel => {\r\n if (cancel) {\r\n return\r\n }\r\n if (!this._prepareEditCell(params, item, columnIndex, editRowIndex)) {\r\n this._processCanceledEditingCell()\r\n }\r\n })\r\n }\r\n return false\r\n }\r\n _beforeEditCell(rowIndex, columnIndex, item) {\r\n if (this.isCellEditMode() && !item.isNewRow && this.hasChanges()) {\r\n var isSaving = new Deferred;\r\n this.saveEditData().always(() => {\r\n isSaving.resolve(this.hasChanges())\r\n });\r\n this.addDeferred(isSaving);\r\n return isSaving\r\n }\r\n return false\r\n }\r\n publicMethods() {\r\n var publicMethods = super.publicMethods();\r\n return publicMethods.concat([\"editCell\", \"closeEditCell\"])\r\n }\r\n _getNormalizedEditCellOptions(_ref) {\r\n var {\r\n oldColumnIndex: oldColumnIndex,\r\n oldRowIndex: oldRowIndex,\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n } = _ref;\r\n var columnsController = this._columnsController;\r\n var visibleColumns = columnsController.getVisibleColumns();\r\n var items = this._dataController.items();\r\n var item = items[rowIndex];\r\n var oldColumn;\r\n if (isDefined(oldColumnIndex)) {\r\n oldColumn = visibleColumns[oldColumnIndex]\r\n } else {\r\n oldColumn = this._getEditColumn()\r\n }\r\n if (!isDefined(oldRowIndex)) {\r\n oldRowIndex = this._getVisibleEditRowIndex()\r\n }\r\n if (isString(columnIndex)) {\r\n columnIndex = columnsController.columnOption(columnIndex, \"index\");\r\n columnIndex = columnsController.getVisibleIndex(columnIndex)\r\n }\r\n var column = visibleColumns[columnIndex];\r\n return {\r\n oldColumn: oldColumn,\r\n columnIndex: columnIndex,\r\n oldRowIndex: oldRowIndex,\r\n rowIndex: rowIndex,\r\n column: column,\r\n item: item\r\n }\r\n }\r\n _prepareEditCell(params, item, editColumnIndex, editRowIndex) {\r\n var _a;\r\n if (!item.isNewRow) {\r\n params.key = item.key\r\n }\r\n if (this._isEditingStart(params)) {\r\n return false\r\n }\r\n this._pageIndex = this._dataController.pageIndex();\r\n this._setEditRowKey(item.key);\r\n this._setEditColumnNameByIndex(editColumnIndex);\r\n if (!params.column.showEditorAlways) {\r\n this._addInternalData({\r\n key: item.key,\r\n oldData: null !== (_a = item.oldData) && void 0 !== _a ? _a : item.data\r\n })\r\n }\r\n return true\r\n }\r\n closeEditCell(isError, withoutSaveEditData) {\r\n var result = when();\r\n var oldEditRowIndex = this._getVisibleEditRowIndex();\r\n if (this.isCellOrBatchEditMode()) {\r\n var deferred = new Deferred;\r\n result = new Deferred;\r\n this.executeOperation(deferred, () => {\r\n this._closeEditCellCore(isError, oldEditRowIndex, withoutSaveEditData).always(result.resolve)\r\n })\r\n }\r\n return result.promise()\r\n }\r\n _closeEditCellCore(isError, oldEditRowIndex, withoutSaveEditData) {\r\n var dataController = this._dataController;\r\n var deferred = new Deferred;\r\n var promise = deferred.promise();\r\n if (this.isCellEditMode() && this.hasChanges()) {\r\n if (!withoutSaveEditData) {\r\n this.saveEditData().done(error => {\r\n if (!this.hasChanges()) {\r\n this.closeEditCell(!!error).always(deferred.resolve);\r\n return\r\n }\r\n deferred.resolve()\r\n });\r\n return promise\r\n }\r\n } else {\r\n this._resetEditRowKey();\r\n this._resetEditColumnName();\r\n if (oldEditRowIndex >= 0) {\r\n var rowIndices = [oldEditRowIndex];\r\n this._beforeCloseEditCellInBatchMode(rowIndices);\r\n if (!isError) {\r\n dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: rowIndices\r\n })\r\n }\r\n }\r\n }\r\n deferred.resolve();\r\n return promise\r\n }\r\n _resetModifiedClassCells(changes) {\r\n if (this.isBatchEditMode()) {\r\n var columnsCount = this._columnsController.getVisibleColumns().length;\r\n changes.forEach(_ref2 => {\r\n var {\r\n key: key\r\n } = _ref2;\r\n var rowIndex = this._dataController.getRowIndexByKey(key);\r\n for (var columnIndex = 0; columnIndex < columnsCount; columnIndex++) {\r\n var cellElement = this._rowsView._getCellElement(rowIndex, columnIndex);\r\n null === cellElement || void 0 === cellElement ? void 0 : cellElement.removeClass(CELL_MODIFIED_CLASS)\r\n }\r\n })\r\n }\r\n }\r\n _prepareChange(options, value, text) {\r\n var $cellElement = $(options.cellElement);\r\n if (this.isBatchEditMode() && void 0 !== options.key) {\r\n this._applyModified($cellElement, options)\r\n }\r\n return super._prepareChange(options, value, text)\r\n }\r\n _cancelSaving(result) {\r\n var dataController = this._dataController;\r\n if (this.isCellOrBatchEditMode()) {\r\n if (this.isBatchEditMode()) {\r\n this._resetEditIndices()\r\n }\r\n dataController.updateItems()\r\n }\r\n super._cancelSaving(result)\r\n }\r\n optionChanged(args) {\r\n var {\r\n fullName: fullName\r\n } = args;\r\n if (\"editing\" === args.name && fullName === EDITING_EDITCOLUMNNAME_OPTION_NAME) {\r\n this._handleEditColumnNameChange(args);\r\n args.handled = true\r\n } else {\r\n super.optionChanged(args)\r\n }\r\n }\r\n _editCellFromOptionChanged(columnIndex, oldColumnIndex, oldRowIndex) {\r\n var columns = this._columnsController.getVisibleColumns();\r\n if (columnIndex > -1) {\r\n deferRender(() => {\r\n this._repaintEditCell(columns[columnIndex], columns[oldColumnIndex], oldRowIndex)\r\n })\r\n }\r\n }\r\n _handleEditRowKeyChange(args) {\r\n var _a;\r\n if (this.isCellOrBatchEditMode()) {\r\n var columnIndex = this._getVisibleEditColumnIndex();\r\n var oldRowIndexCorrection = this._getEditRowIndexCorrection();\r\n var oldRowIndex = this._dataController.getRowIndexByKey(args.previousValue) + oldRowIndexCorrection;\r\n if (isDefined(args.value) && args.value !== args.previousValue) {\r\n null === (_a = this._editCellFromOptionChanged) || void 0 === _a ? void 0 : _a.call(this, columnIndex, columnIndex, oldRowIndex)\r\n }\r\n } else {\r\n super._handleEditRowKeyChange(args)\r\n }\r\n }\r\n deleteRow(rowIndex) {\r\n if (this.isCellEditMode() && this.isEditing()) {\r\n var {\r\n isNewRow: isNewRow\r\n } = this._dataController.items()[rowIndex];\r\n var rowKey = this._dataController.getKeyByRowIndex(rowIndex);\r\n this.closeEditCell(null, isNewRow).always(() => {\r\n rowIndex = this._dataController.getRowIndexByKey(rowKey);\r\n this._checkAndDeleteRow(rowIndex)\r\n })\r\n } else {\r\n super.deleteRow(rowIndex)\r\n }\r\n }\r\n _checkAndDeleteRow(rowIndex) {\r\n if (this.isBatchEditMode()) {\r\n this._deleteRowCore(rowIndex)\r\n } else {\r\n super._checkAndDeleteRow(rowIndex)\r\n }\r\n }\r\n _refreshCore(params) {\r\n var {\r\n isPageChanged: isPageChanged\r\n } = null !== params && void 0 !== params ? params : {};\r\n var needResetIndexes = this.isBatchEditMode() || isPageChanged && \"virtual\" !== this.option(\"scrolling.mode\");\r\n if (this.isCellOrBatchEditMode()) {\r\n if (needResetIndexes) {\r\n this._resetEditColumnName();\r\n this._resetEditRowKey()\r\n }\r\n } else {\r\n super._refreshCore(params)\r\n }\r\n }\r\n _allowRowAdding(params) {\r\n if (this.isBatchEditMode()) {\r\n return true\r\n }\r\n return super._allowRowAdding(params)\r\n }\r\n _afterDeleteRow(rowIndex, oldEditRowIndex) {\r\n var dataController = this._dataController;\r\n if (this.isBatchEditMode()) {\r\n dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [oldEditRowIndex, rowIndex]\r\n });\r\n return (new Deferred).resolve()\r\n }\r\n return super._afterDeleteRow(rowIndex, oldEditRowIndex)\r\n }\r\n _updateEditRow(row, forceUpdateRow, isCustomSetCellValue) {\r\n if (this.isCellOrBatchEditMode()) {\r\n this._updateRowImmediately(row, forceUpdateRow, isCustomSetCellValue)\r\n } else {\r\n super._updateEditRow(row, forceUpdateRow, isCustomSetCellValue)\r\n }\r\n }\r\n _isDefaultButtonVisible(button, options) {\r\n if (this.isCellOrBatchEditMode()) {\r\n var isBatchMode = this.isBatchEditMode();\r\n switch (button.name) {\r\n case \"save\":\r\n case \"cancel\":\r\n case \"edit\":\r\n return false;\r\n case \"delete\":\r\n return super._isDefaultButtonVisible(button, options) && (!isBatchMode || !options.row.removed);\r\n case \"undelete\":\r\n return isBatchMode && this.allowDeleting(options) && options.row.removed;\r\n default:\r\n return super._isDefaultButtonVisible(button, options)\r\n }\r\n }\r\n return super._isDefaultButtonVisible(button, options)\r\n }\r\n _isRowDeleteAllowed() {\r\n var callBaseResult = super._isRowDeleteAllowed();\r\n return callBaseResult || this.isBatchEditMode()\r\n }\r\n _beforeEndSaving(changes) {\r\n var _a;\r\n if (this.isCellEditMode()) {\r\n if (\"update\" !== (null === (_a = changes[0]) || void 0 === _a ? void 0 : _a.type)) {\r\n super._beforeEndSaving(changes)\r\n }\r\n } else {\r\n if (this.isBatchEditMode()) {\r\n this._resetModifiedClassCells(changes)\r\n }\r\n super._beforeEndSaving(changes)\r\n }\r\n }\r\n prepareEditButtons(headerPanel) {\r\n var _a;\r\n var editingOptions = null !== (_a = this.option(\"editing\")) && void 0 !== _a ? _a : {};\r\n var buttonItems = super.prepareEditButtons(headerPanel);\r\n var needEditingButtons = editingOptions.allowUpdating || editingOptions.allowAdding || editingOptions.allowDeleting;\r\n if (needEditingButtons && this.isBatchEditMode()) {\r\n buttonItems.push(this.prepareButtonItem(headerPanel, \"save\", \"saveEditData\", 21));\r\n buttonItems.push(this.prepareButtonItem(headerPanel, \"revert\", \"cancelEditData\", 22))\r\n }\r\n return buttonItems\r\n }\r\n _saveEditDataInner() {\r\n var editRow = this._dataController.getVisibleRows()[this.getEditRowIndex()];\r\n var editColumn = this._getEditColumn();\r\n var showEditorAlways = null === editColumn || void 0 === editColumn ? void 0 : editColumn.showEditorAlways;\r\n var isUpdateInCellMode = this.isCellEditMode() && !(null === editRow || void 0 === editRow ? void 0 : editRow.isNewRow);\r\n var deferred;\r\n if (isUpdateInCellMode && showEditorAlways) {\r\n deferred = new Deferred;\r\n this.addDeferred(deferred)\r\n }\r\n return super._saveEditDataInner().always(null === deferred || void 0 === deferred ? void 0 : deferred.resolve)\r\n }\r\n _applyChange(options, params, forceUpdateRow) {\r\n var isUpdateInCellMode = this.isCellEditMode() && options.row && !options.row.isNewRow;\r\n var {\r\n showEditorAlways: showEditorAlways\r\n } = options.column;\r\n var isCustomSetCellValue = options.column.setCellValue !== options.column.defaultSetCellValue;\r\n var focusPreviousEditingCell = showEditorAlways && !forceUpdateRow && isUpdateInCellMode && this.hasEditData() && !this.isEditCell(options.rowIndex, options.columnIndex);\r\n if (focusPreviousEditingCell) {\r\n this._focusEditingCell();\r\n this._updateEditRow(options.row, true, isCustomSetCellValue);\r\n return\r\n }\r\n return super._applyChange(options, params, forceUpdateRow)\r\n }\r\n _applyChangeCore(options, forceUpdateRow) {\r\n var {\r\n showEditorAlways: showEditorAlways\r\n } = options.column;\r\n var isUpdateInCellMode = this.isCellEditMode() && options.row && !options.row.isNewRow;\r\n if (showEditorAlways && !forceUpdateRow) {\r\n if (isUpdateInCellMode) {\r\n this._setEditRowKey(options.row.key, true);\r\n this._setEditColumnNameByIndex(options.columnIndex, true);\r\n return this.saveEditData()\r\n }\r\n if (this.isBatchEditMode()) {\r\n forceUpdateRow = this._needUpdateRow(options.column);\r\n return super._applyChangeCore(options, forceUpdateRow)\r\n }\r\n }\r\n return super._applyChangeCore(options, forceUpdateRow)\r\n }\r\n _processDataItemCore(item, change, key, columns, generateDataValues) {\r\n var {\r\n data: data,\r\n type: type\r\n } = change;\r\n if (this.isBatchEditMode() && type === DATA_EDIT_DATA_REMOVE_TYPE) {\r\n item.data = createObjectWithChanges(item.data, data)\r\n }\r\n super._processDataItemCore(item, change, key, columns, generateDataValues)\r\n }\r\n _processRemoveCore(changes, editIndex, processIfBatch) {\r\n if (this.isBatchEditMode() && !processIfBatch) {\r\n return\r\n }\r\n return super._processRemoveCore(changes, editIndex, processIfBatch)\r\n }\r\n _processRemoveIfError(changes, editIndex) {\r\n if (this.isBatchEditMode()) {\r\n return\r\n }\r\n return super._processRemoveIfError(changes, editIndex)\r\n }\r\n _beforeFocusElementInRow(rowIndex) {\r\n super._beforeFocusElementInRow(rowIndex);\r\n var editRowIndex = rowIndex >= 0 ? rowIndex : 0;\r\n var columnIndex = this.getFirstEditableColumnIndex();\r\n columnIndex >= 0 && this.editCell(editRowIndex, columnIndex)\r\n }\r\n};\r\nvar rowsView = Base => class extends Base {\r\n _createTable() {\r\n var $table = super._createTable.apply(this, arguments);\r\n var editingController = this._editingController;\r\n if (editingController.isCellOrBatchEditMode() && this.option(\"editing.allowUpdating\")) {\r\n eventsEngine.on($table, addNamespace(holdEvent.name, \"dxDataGridRowsView\"), \"td:not(.\".concat(EDITOR_CELL_CLASS, \")\"), this.createAction(() => {\r\n if (editingController.isEditing()) {\r\n editingController.closeEditCell()\r\n }\r\n }))\r\n }\r\n return $table\r\n }\r\n _createRow(row) {\r\n var $row = super._createRow.apply(this, arguments);\r\n if (row) {\r\n var editingController = this._editingController;\r\n var isRowRemoved = !!row.removed;\r\n if (editingController.isBatchEditMode()) {\r\n isRowRemoved && $row.addClass(ROW_REMOVED)\r\n }\r\n }\r\n return $row\r\n }\r\n};\r\nvar headerPanel = Base => class extends Base {\r\n isVisible() {\r\n var editingOptions = this._editingController.option(\"editing\");\r\n return super.isVisible() || editingOptions && (editingOptions.allowUpdating || editingOptions.allowDeleting) && editingOptions.mode === EDIT_MODE_BATCH\r\n }\r\n};\r\nexport var editingCellBasedModule = {\r\n extenders: {\r\n controllers: {\r\n editing: editingControllerExtender\r\n },\r\n views: {\r\n rowsView: rowsView,\r\n headerPanel: headerPanel\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/editing_cell_based.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editingCellBasedModule\r\n} from \"../../../grids/grid_core/editing/m_editing_cell_based\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"editingCellBased\", editingCellBasedModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/validating/m_validating.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n deferUpdate,\r\n equalByValue,\r\n getKeyHash\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n fromPromise,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth,\r\n setHeight\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n encodeHtml\r\n} from \"../../../../core/utils/string\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n createObjectWithChanges\r\n} from \"../../../../data/array_utils\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Button from \"../../../../ui/button\";\r\nimport LoadIndicator from \"../../../../ui/load_indicator\";\r\nimport Overlay from \"../../../../ui/overlay/ui.overlay\";\r\nimport ValidationEngine from \"../../../../ui/validation_engine\";\r\nimport Validator from \"../../../../ui/validator\";\r\nimport {\r\n focused\r\n} from \"../../../../ui/widget/selectors\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar INVALIDATE_CLASS = \"invalid\";\r\nvar REVERT_TOOLTIP_CLASS = \"revert-tooltip\";\r\nvar INVALID_MESSAGE_CLASS = \"dx-invalid-message\";\r\nvar INVALID_MESSAGE_ID = \"dxInvalidMessage\";\r\nvar WIDGET_INVALID_MESSAGE_CLASS = \"invalid-message\";\r\nvar INVALID_MESSAGE_ALWAYS_CLASS = \"dx-invalid-message-always\";\r\nvar REVERT_BUTTON_CLASS = \"dx-revert-button\";\r\nvar REVERT_BUTTON_ID = \"dxRevertButton\";\r\nvar VALIDATOR_CLASS = \"validator\";\r\nvar PENDING_INDICATOR_CLASS = \"dx-pending-indicator\";\r\nvar VALIDATION_PENDING_CLASS = \"dx-validation-pending\";\r\nvar CONTENT_CLASS = \"content\";\r\nvar INSERT_INDEX = \"__DX_INSERT_INDEX__\";\r\nvar PADDING_BETWEEN_TOOLTIPS = 2;\r\nvar EDIT_MODE_ROW = \"row\";\r\nvar EDIT_MODE_FORM = \"form\";\r\nvar EDIT_MODE_BATCH = \"batch\";\r\nvar EDIT_MODE_CELL = \"cell\";\r\nvar EDIT_MODE_POPUP = \"popup\";\r\nvar GROUP_CELL_CLASS = \"dx-group-cell\";\r\nvar FORM_BASED_MODES = [EDIT_MODE_POPUP, EDIT_MODE_FORM];\r\nvar COMMAND_TRANSPARENT = \"transparent\";\r\nvar VALIDATION_STATUS = {\r\n valid: \"valid\",\r\n invalid: \"invalid\",\r\n pending: \"pending\"\r\n};\r\nvar EDIT_DATA_INSERT_TYPE = \"insert\";\r\nvar EDIT_DATA_REMOVE_TYPE = \"remove\";\r\nvar VALIDATION_CANCELLED = \"cancel\";\r\nvar validationResultIsValid = function(result) {\r\n return isDefined(result) && result !== VALIDATION_CANCELLED\r\n};\r\nvar cellValueShouldBeValidated = function(value, rowOptions) {\r\n return void 0 !== value || void 0 === value && rowOptions && !rowOptions.isNewRow\r\n};\r\nexport class ValidatingController extends modules.Controller {\r\n constructor() {\r\n super(...arguments);\r\n this._isValidationInProgress = false;\r\n this._disableApplyValidationResults = false\r\n }\r\n init() {\r\n this._editingController = this.getController(\"editing\");\r\n this._editorFactoryController = this.getController(\"editorFactory\");\r\n this._columnsController = this.getController(\"columns\");\r\n this.createAction(\"onRowValidating\");\r\n if (!this._validationState) {\r\n this.initValidationState()\r\n }\r\n }\r\n initValidationState() {\r\n this._validationState = [];\r\n this._validationStateCache = {}\r\n }\r\n _rowIsValidated(change) {\r\n var validationData = this._getValidationData(null === change || void 0 === change ? void 0 : change.key);\r\n return !!validationData && !!validationData.validated\r\n }\r\n _getValidationData(key, create) {\r\n var keyHash = getKeyHash(key);\r\n var isObjectKeyHash = isObject(keyHash);\r\n var validationData;\r\n if (isObjectKeyHash) {\r\n validationData = this._validationState.filter(data => equalByValue(data.key, key))[0]\r\n } else {\r\n validationData = this._validationStateCache[keyHash]\r\n }\r\n if (!validationData && create) {\r\n validationData = {\r\n key: key,\r\n isValid: true\r\n };\r\n this._validationState.push(validationData);\r\n if (!isObjectKeyHash) {\r\n this._validationStateCache[keyHash] = validationData\r\n }\r\n }\r\n return validationData\r\n }\r\n _getBrokenRules(validationData, validationResults) {\r\n var brokenRules;\r\n if (validationResults) {\r\n brokenRules = validationResults.brokenRules || validationResults.brokenRule && [validationResults.brokenRule]\r\n } else {\r\n brokenRules = validationData.brokenRules || []\r\n }\r\n return brokenRules\r\n }\r\n _rowValidating(validationData, validationResults) {\r\n var deferred = new Deferred;\r\n var change = this._editingController.getChangeByKey(null === validationData || void 0 === validationData ? void 0 : validationData.key);\r\n var brokenRules = this._getBrokenRules(validationData, validationResults);\r\n var isValid = validationResults ? validationResults.isValid : validationData.isValid;\r\n var parameters = {\r\n brokenRules: brokenRules,\r\n isValid: isValid,\r\n key: change.key,\r\n newData: change.data,\r\n oldData: this._editingController._getOldData(change.key),\r\n promise: null,\r\n errorText: this.getHiddenValidatorsErrorText(brokenRules)\r\n };\r\n this.executeAction(\"onRowValidating\", parameters);\r\n when(fromPromise(parameters.promise)).always(() => {\r\n validationData.isValid = parameters.isValid;\r\n validationData.errorText = parameters.errorText;\r\n deferred.resolve(parameters)\r\n });\r\n return deferred.promise()\r\n }\r\n getHiddenValidatorsErrorText(brokenRules) {\r\n var brokenRulesMessages = [];\r\n each(brokenRules, (_, brokenRule) => {\r\n var {\r\n column: column\r\n } = brokenRule;\r\n var isGroupExpandColumn = column && void 0 !== column.groupIndex && !column.showWhenGrouped;\r\n var isVisibleColumn = column && column.visible;\r\n if (!brokenRule.validator.$element().parent().length && (!isVisibleColumn || isGroupExpandColumn)) {\r\n brokenRulesMessages.push(brokenRule.message)\r\n }\r\n });\r\n return brokenRulesMessages.join(\", \")\r\n }\r\n validate(isFull) {\r\n var isValid = true;\r\n var editingController = this._editingController;\r\n var deferred = new Deferred;\r\n var completeList = [];\r\n var editMode = editingController.getEditMode();\r\n isFull = isFull || editMode === EDIT_MODE_ROW;\r\n if (this._isValidationInProgress) {\r\n return deferred.resolve(false).promise()\r\n }\r\n this._isValidationInProgress = true;\r\n if (isFull) {\r\n editingController.addDeferred(deferred);\r\n var changes = editingController.getChanges();\r\n each(changes, (index, _ref) => {\r\n var {\r\n type: type,\r\n key: key\r\n } = _ref;\r\n if (\"remove\" !== type) {\r\n var validationData = this._getValidationData(key, true);\r\n var validationResult = this.validateGroup(validationData);\r\n completeList.push(validationResult);\r\n validationResult.done(validationResult => {\r\n validationData.validated = true;\r\n isValid = isValid && validationResult.isValid\r\n })\r\n }\r\n })\r\n } else if (this._currentCellValidator) {\r\n var validationResult = this.validateGroup(this._currentCellValidator._findGroup());\r\n completeList.push(validationResult);\r\n validationResult.done(validationResult => {\r\n isValid = validationResult.isValid\r\n })\r\n }\r\n when(...completeList).done(() => {\r\n this._isValidationInProgress = false;\r\n deferred.resolve(isValid)\r\n });\r\n return deferred.promise()\r\n }\r\n validateGroup(validationData) {\r\n var result = new Deferred;\r\n var validateGroup = validationData && ValidationEngine.getGroupConfig(validationData);\r\n var validationResult;\r\n if (null === validateGroup || void 0 === validateGroup ? void 0 : validateGroup.validators.length) {\r\n this.resetRowValidationResults(validationData);\r\n validationResult = ValidationEngine.validateGroup(validationData)\r\n }\r\n when((null === validationResult || void 0 === validationResult ? void 0 : validationResult.complete) || validationResult).done(validationResult => {\r\n when(this._rowValidating(validationData, validationResult)).done(result.resolve)\r\n });\r\n return result.promise()\r\n }\r\n isRowDataModified(change) {\r\n return !isEmptyObject(change.data)\r\n }\r\n updateValidationState(change) {\r\n var editMode = this._editingController.getEditMode();\r\n var {\r\n key: key\r\n } = change;\r\n var validationData = this._getValidationData(key, true);\r\n if (!FORM_BASED_MODES.includes(editMode)) {\r\n if (change.type === EDIT_DATA_INSERT_TYPE && !this.isRowDataModified(change)) {\r\n validationData.isValid = true;\r\n return\r\n }\r\n this.setDisableApplyValidationResults(true);\r\n var groupConfig = ValidationEngine.getGroupConfig(validationData);\r\n if (groupConfig) {\r\n var validationResult = ValidationEngine.validateGroup(validationData);\r\n when(validationResult.complete || validationResult).done(validationResult => {\r\n validationData.isValid = validationResult.isValid;\r\n validationData.brokenRules = validationResult.brokenRules\r\n })\r\n } else if (!validationData.brokenRules || !validationData.brokenRules.length) {\r\n validationData.isValid = true\r\n }\r\n this.setDisableApplyValidationResults(false)\r\n } else {\r\n validationData.isValid = true\r\n }\r\n }\r\n setValidator(validator) {\r\n this._currentCellValidator = validator\r\n }\r\n renderCellPendingIndicator($container) {\r\n var $indicator = $container.find(\".\".concat(PENDING_INDICATOR_CLASS));\r\n if (!$indicator.length) {\r\n var $indicatorContainer = $container;\r\n $indicator = $(\"<div>\").appendTo($indicatorContainer).addClass(PENDING_INDICATOR_CLASS);\r\n this._createComponent($indicator, LoadIndicator);\r\n $container.addClass(VALIDATION_PENDING_CLASS)\r\n }\r\n }\r\n disposeCellPendingIndicator($container) {\r\n var $indicator = $container.find(\".\".concat(PENDING_INDICATOR_CLASS));\r\n if ($indicator.length) {\r\n var indicator = LoadIndicator.getInstance($indicator);\r\n if (indicator) {\r\n indicator.dispose();\r\n indicator.$element().remove()\r\n }\r\n $container.removeClass(VALIDATION_PENDING_CLASS)\r\n }\r\n }\r\n validationStatusChanged(result) {\r\n var {\r\n validator: validator\r\n } = result;\r\n var validationGroup = validator.option(\"validationGroup\");\r\n var {\r\n column: column\r\n } = validator.option(\"dataGetter\")();\r\n this.updateCellValidationResult({\r\n rowKey: validationGroup.key,\r\n columnIndex: column.index,\r\n validationResult: result\r\n })\r\n }\r\n validatorInitialized(arg) {\r\n arg.component.on(\"validating\", this.validationStatusChanged.bind(this));\r\n arg.component.on(\"validated\", this.validationStatusChanged.bind(this))\r\n }\r\n validatorDisposing(arg) {\r\n var validator = arg.component;\r\n var validationGroup = validator.option(\"validationGroup\");\r\n var {\r\n column: column\r\n } = validator.option(\"dataGetter\")();\r\n var result = this.getCellValidationResult({\r\n rowKey: null === validationGroup || void 0 === validationGroup ? void 0 : validationGroup.key,\r\n columnIndex: column.index\r\n });\r\n if (validationResultIsValid(result) && result.status === VALIDATION_STATUS.pending) {\r\n this.cancelCellValidationResult({\r\n change: validationGroup,\r\n columnIndex: column.index\r\n })\r\n }\r\n }\r\n applyValidationResult($container, result) {\r\n var {\r\n validator: validator\r\n } = result;\r\n var validationGroup = validator.option(\"validationGroup\");\r\n var {\r\n column: column\r\n } = validator.option(\"dataGetter\")();\r\n result.brokenRules && result.brokenRules.forEach(rule => {\r\n rule.columnIndex = column.index;\r\n rule.column = column\r\n });\r\n if ($container) {\r\n var validationResult = this.getCellValidationResult({\r\n rowKey: validationGroup.key,\r\n columnIndex: column.index\r\n });\r\n var requestIsDisabled = validationResultIsValid(validationResult) && validationResult.disabledPendingId === result.id;\r\n if (this._disableApplyValidationResults || requestIsDisabled) {\r\n return\r\n }\r\n if (result.status === VALIDATION_STATUS.invalid) {\r\n var $focus = $container.find(\":focus\");\r\n if (!focused($focus)) {\r\n eventsEngine.trigger($focus, \"focus\");\r\n eventsEngine.trigger($focus, pointerEvents.down)\r\n }\r\n }\r\n var editor = !column.editCellTemplate && this._editorFactoryController.getEditorInstance($container);\r\n if (result.status === VALIDATION_STATUS.pending) {\r\n if (editor) {\r\n editor.option(\"validationStatus\", VALIDATION_STATUS.pending)\r\n } else {\r\n this.renderCellPendingIndicator($container)\r\n }\r\n } else if (editor) {\r\n editor.option(\"validationStatus\", VALIDATION_STATUS.valid)\r\n } else {\r\n this.disposeCellPendingIndicator($container)\r\n }\r\n $container.toggleClass(this.addWidgetPrefix(INVALIDATE_CLASS), result.status === VALIDATION_STATUS.invalid)\r\n }\r\n }\r\n _syncInternalEditingData(parameters) {\r\n var _a;\r\n var editingController = this._editingController;\r\n var change = editingController.getChangeByKey(parameters.key);\r\n var oldDataFromState = editingController._getOldData(parameters.key);\r\n var oldData = null === (_a = parameters.row) || void 0 === _a ? void 0 : _a.oldData;\r\n if (change && oldData && !oldDataFromState) {\r\n editingController._addInternalData({\r\n key: parameters.key,\r\n oldData: oldData\r\n })\r\n }\r\n }\r\n createValidator(parameters, $container) {\r\n var _a, _b, _c;\r\n var editingController = this._editingController;\r\n var {\r\n column: column\r\n } = parameters;\r\n var {\r\n showEditorAlways: showEditorAlways\r\n } = column;\r\n if (isDefined(column.command) || !column.validationRules || !Array.isArray(column.validationRules) || !column.validationRules.length) {\r\n return\r\n }\r\n var editIndex = editingController.getIndexByKey(parameters.key, editingController.getChanges());\r\n var needCreateValidator = editIndex > -1;\r\n if (!needCreateValidator) {\r\n if (!showEditorAlways) {\r\n var visibleColumns = (null === (_a = this._columnsController) || void 0 === _a ? void 0 : _a.getVisibleColumns()) || [];\r\n showEditorAlways = visibleColumns.some(column => column.showEditorAlways)\r\n }\r\n var isEditRow = equalByValue(this.option(\"editing.editRowKey\"), parameters.key);\r\n var isCellOrBatchEditingAllowed = editingController.isCellOrBatchEditMode() && editingController.allowUpdating({\r\n row: parameters.row\r\n });\r\n needCreateValidator = isEditRow || isCellOrBatchEditingAllowed && showEditorAlways;\r\n if (isCellOrBatchEditingAllowed && showEditorAlways) {\r\n editingController._addInternalData({\r\n key: parameters.key,\r\n oldData: null !== (_c = null === (_b = parameters.row) || void 0 === _b ? void 0 : _b.oldData) && void 0 !== _c ? _c : parameters.data\r\n })\r\n }\r\n }\r\n if (needCreateValidator) {\r\n if ($container && !$container.length) {\r\n errors.log(\"E1050\");\r\n return\r\n }\r\n this._syncInternalEditingData(parameters);\r\n var validationData = this._getValidationData(parameters.key, true);\r\n var getValue = () => {\r\n var change = editingController.getChangeByKey(null === validationData || void 0 === validationData ? void 0 : validationData.key);\r\n var value = column.calculateCellValue((null === change || void 0 === change ? void 0 : change.data) || {});\r\n return void 0 !== value ? value : parameters.value\r\n };\r\n var useDefaultValidator = $container && $container.hasClass(\"dx-widget\");\r\n $container && $container.addClass(this.addWidgetPrefix(VALIDATOR_CLASS));\r\n var validator = new Validator($container || $(\"<div>\"), {\r\n name: column.caption,\r\n validationRules: extend(true, [], column.validationRules),\r\n validationGroup: validationData,\r\n adapter: useDefaultValidator ? null : {\r\n getValue: getValue,\r\n applyValidationResults: result => {\r\n this.applyValidationResult($container, result)\r\n }\r\n },\r\n dataGetter() {\r\n var key = null === validationData || void 0 === validationData ? void 0 : validationData.key;\r\n var change = editingController.getChangeByKey(key);\r\n var oldData = editingController._getOldData(key);\r\n return {\r\n data: createObjectWithChanges(oldData, null === change || void 0 === change ? void 0 : change.data),\r\n column: column\r\n }\r\n },\r\n onInitialized: this.validatorInitialized.bind(this),\r\n onDisposing: this.validatorDisposing.bind(this)\r\n });\r\n if (useDefaultValidator) {\r\n var adapter = validator.option(\"adapter\");\r\n if (adapter) {\r\n var originBypass = adapter.bypass;\r\n var defaultAdapterBypass = () => parameters.row.isNewRow && !this._isValidationInProgress && !editingController.isCellModified(parameters);\r\n adapter.getValue = getValue;\r\n adapter.validationRequestsCallbacks = [];\r\n adapter.bypass = () => originBypass.call(adapter) || defaultAdapterBypass()\r\n }\r\n }\r\n return validator\r\n }\r\n return\r\n }\r\n setDisableApplyValidationResults(flag) {\r\n this._disableApplyValidationResults = flag\r\n }\r\n getDisableApplyValidationResults() {\r\n return this._disableApplyValidationResults\r\n }\r\n isCurrentValidatorProcessing(_ref2) {\r\n var {\r\n rowKey: rowKey,\r\n columnIndex: columnIndex\r\n } = _ref2;\r\n return this._currentCellValidator && equalByValue(this._currentCellValidator.option(\"validationGroup\").key, rowKey) && this._currentCellValidator.option(\"dataGetter\")().column.index === columnIndex\r\n }\r\n validateCell(validator) {\r\n var cellParams = {\r\n rowKey: validator.option(\"validationGroup\").key,\r\n columnIndex: validator.option(\"dataGetter\")().column.index,\r\n validationResult: null\r\n };\r\n var validationResult = this.getCellValidationResult(cellParams);\r\n var stateRestored = validationResultIsValid(validationResult);\r\n var adapter = validator.option(\"adapter\");\r\n if (!stateRestored) {\r\n validationResult = validator.validate()\r\n } else {\r\n var currentCellValue = adapter.getValue();\r\n if (!equalByValue(currentCellValue, validationResult.value)) {\r\n validationResult = validator.validate()\r\n }\r\n }\r\n var deferred = new Deferred;\r\n if (stateRestored && validationResult.status === VALIDATION_STATUS.pending) {\r\n this.updateCellValidationResult(cellParams);\r\n adapter.applyValidationResults(validationResult)\r\n }\r\n when(validationResult.complete || validationResult).done(validationResult => {\r\n stateRestored && adapter.applyValidationResults(validationResult);\r\n deferred.resolve(validationResult)\r\n });\r\n return deferred.promise()\r\n }\r\n updateCellValidationResult(_ref3) {\r\n var {\r\n rowKey: rowKey,\r\n columnIndex: columnIndex,\r\n validationResult: validationResult\r\n } = _ref3;\r\n var validationData = this._getValidationData(rowKey);\r\n if (!validationData) {\r\n return\r\n }\r\n if (!validationData.validationResults) {\r\n validationData.validationResults = {}\r\n }\r\n var result;\r\n if (validationResult) {\r\n result = extend({}, validationResult);\r\n validationData.validationResults[columnIndex] = result;\r\n if (validationResult.status === VALIDATION_STATUS.pending) {\r\n if (this._editingController.getEditMode() === EDIT_MODE_CELL) {\r\n result.deferred = new Deferred;\r\n result.complete.always(() => {\r\n result.deferred.resolve()\r\n });\r\n this._editingController.addDeferred(result.deferred)\r\n }\r\n if (this._disableApplyValidationResults) {\r\n result.disabledPendingId = validationResult.id;\r\n return\r\n }\r\n }\r\n } else {\r\n result = validationData.validationResults[columnIndex]\r\n }\r\n if (result && result.disabledPendingId) {\r\n delete result.disabledPendingId\r\n }\r\n }\r\n getCellValidationResult(_ref4) {\r\n var {\r\n rowKey: rowKey,\r\n columnIndex: columnIndex\r\n } = _ref4;\r\n var _a;\r\n var validationData = this._getValidationData(rowKey, true);\r\n return null === (_a = null === validationData || void 0 === validationData ? void 0 : validationData.validationResults) || void 0 === _a ? void 0 : _a[columnIndex]\r\n }\r\n removeCellValidationResult(_ref5) {\r\n var {\r\n change: change,\r\n columnIndex: columnIndex\r\n } = _ref5;\r\n var validationData = this._getValidationData(null === change || void 0 === change ? void 0 : change.key);\r\n if (validationData && validationData.validationResults) {\r\n this.cancelCellValidationResult({\r\n change: change,\r\n columnIndex: columnIndex\r\n });\r\n delete validationData.validationResults[columnIndex]\r\n }\r\n }\r\n cancelCellValidationResult(_ref6) {\r\n var {\r\n change: change,\r\n columnIndex: columnIndex\r\n } = _ref6;\r\n var validationData = this._getValidationData(change.key);\r\n if (change && validationData.validationResults) {\r\n var result = validationData.validationResults[columnIndex];\r\n if (result) {\r\n result.deferred && result.deferred.reject(VALIDATION_CANCELLED);\r\n validationData.validationResults[columnIndex] = VALIDATION_CANCELLED\r\n }\r\n }\r\n }\r\n resetRowValidationResults(validationData) {\r\n if (validationData) {\r\n validationData.validationResults && delete validationData.validationResults;\r\n delete validationData.validated\r\n }\r\n }\r\n isInvalidCell(_ref7) {\r\n var {\r\n rowKey: rowKey,\r\n columnIndex: columnIndex\r\n } = _ref7;\r\n var result = this.getCellValidationResult({\r\n rowKey: rowKey,\r\n columnIndex: columnIndex\r\n });\r\n return validationResultIsValid(result) && result.status === VALIDATION_STATUS.invalid\r\n }\r\n getCellValidator(_ref8) {\r\n var {\r\n rowKey: rowKey,\r\n columnIndex: columnIndex\r\n } = _ref8;\r\n var validationData = this._getValidationData(rowKey);\r\n var groupConfig = validationData && ValidationEngine.getGroupConfig(validationData);\r\n var validators = groupConfig && groupConfig.validators;\r\n return validators && validators.filter(v => {\r\n var {\r\n column: column\r\n } = v.option(\"dataGetter\")();\r\n return column ? column.index === columnIndex : false\r\n })[0]\r\n }\r\n setCellValidationStatus(cellOptions) {\r\n var validationResult = this.getCellValidationResult({\r\n rowKey: cellOptions.key,\r\n columnIndex: cellOptions.column.index\r\n });\r\n if (isDefined(validationResult)) {\r\n cellOptions.validationStatus = validationResult !== VALIDATION_CANCELLED ? validationResult.status : VALIDATION_CANCELLED\r\n } else {\r\n delete cellOptions.validationStatus\r\n }\r\n }\r\n}\r\nexport var validatingEditingExtender = Base => class extends Base {\r\n processDataItemTreeListHack(item) {\r\n super.processDataItem.apply(this, arguments)\r\n }\r\n processItemsTreeListHack(items, e) {\r\n return super.processItems.apply(this, arguments)\r\n }\r\n _addChange(changeParams) {\r\n var change = super._addChange.apply(this, arguments);\r\n if (change && changeParams.type !== EDIT_DATA_REMOVE_TYPE) {\r\n this._validatingController.updateValidationState(change)\r\n }\r\n return change\r\n }\r\n _handleChangesChange(args) {\r\n super._handleChangesChange.apply(this, arguments);\r\n args.value.forEach(change => {\r\n if (void 0 === this._validatingController._getValidationData(change.key)) {\r\n this._validatingController.updateValidationState(change)\r\n }\r\n })\r\n }\r\n _updateRowAndPageIndices() {\r\n var that = this;\r\n var startInsertIndex = that.getView(\"rowsView\").getTopVisibleItemIndex();\r\n var rowIndex = startInsertIndex;\r\n each(that.getChanges(), (_, _ref9) => {\r\n var {\r\n key: key,\r\n type: type\r\n } = _ref9;\r\n var validationData = this._validatingController._getValidationData(key);\r\n if (validationData && !validationData.isValid && validationData.pageIndex !== that._pageIndex) {\r\n validationData.pageIndex = that._pageIndex;\r\n if (type === EDIT_DATA_INSERT_TYPE) {\r\n validationData.rowIndex = startInsertIndex\r\n } else {\r\n validationData.rowIndex = rowIndex\r\n }\r\n rowIndex++\r\n }\r\n })\r\n }\r\n _getValidationGroupsInForm(detailOptions) {\r\n var validationData = this._validatingController._getValidationData(detailOptions.key, true);\r\n return {\r\n validationGroup: validationData\r\n }\r\n }\r\n _validateEditFormAfterUpdate(row, isCustomSetCellValue) {\r\n if (isCustomSetCellValue && this._editForm) {\r\n this._editForm.validate()\r\n }\r\n super._validateEditFormAfterUpdate.apply(this, arguments)\r\n }\r\n _prepareEditCell(params) {\r\n var isNotCanceled = super._prepareEditCell.apply(this, arguments);\r\n if (isNotCanceled && params.column.showEditorAlways) {\r\n this._validatingController.updateValidationState({\r\n key: params.key\r\n })\r\n }\r\n return isNotCanceled\r\n }\r\n processItems(items, changeType) {\r\n var changes = this.getChanges();\r\n var getIndexByChange = (change, items) => {\r\n var index = -1;\r\n var isInsert = change.type === EDIT_DATA_INSERT_TYPE;\r\n var {\r\n key: key\r\n } = change;\r\n each(items, (i, item) => {\r\n if (equalByValue(key, isInsert ? item.key : this._dataController.keyOf(item))) {\r\n index = i;\r\n return false\r\n }\r\n return\r\n });\r\n return index\r\n };\r\n items = super.processItems(items, changeType);\r\n var itemsCount = items.length;\r\n if (this.getEditMode() === EDIT_MODE_BATCH && \"prepend\" !== changeType && \"append\" !== changeType) {\r\n changes.forEach(change => {\r\n var {\r\n key: key\r\n } = change;\r\n var validationData = this._validatingController._getValidationData(key);\r\n if (validationData && change.type && validationData.pageIndex === this._pageIndex && (null === change || void 0 === change ? void 0 : change.pageIndex) !== this._pageIndex) {\r\n ! function(change, validationData) {\r\n var data = {\r\n key: change.key\r\n };\r\n var index = getIndexByChange(change, items);\r\n if (index >= 0) {\r\n return\r\n }\r\n validationData.rowIndex = validationData.rowIndex > itemsCount ? validationData.rowIndex % itemsCount : validationData.rowIndex;\r\n var {\r\n rowIndex: rowIndex\r\n } = validationData;\r\n data[INSERT_INDEX] = 1;\r\n items.splice(rowIndex, 0, data)\r\n }(change, validationData)\r\n }\r\n })\r\n }\r\n return items\r\n }\r\n processDataItem(item) {\r\n var isInserted = item.data[INSERT_INDEX];\r\n var key = isInserted ? item.data.key : item.key;\r\n var editMode = this.getEditMode();\r\n if (editMode === EDIT_MODE_BATCH && isInserted && key) {\r\n var changes = this.getChanges();\r\n var editIndex = gridCoreUtils.getIndexByKey(key, changes);\r\n if (editIndex >= 0) {\r\n var change = changes[editIndex];\r\n if (change.type !== EDIT_DATA_INSERT_TYPE) {\r\n var oldData = this._getOldData(change.key);\r\n item.data = extend(true, {}, oldData, change.data);\r\n item.key = key\r\n }\r\n }\r\n }\r\n super.processDataItem.apply(this, arguments)\r\n }\r\n _createInvisibleColumnValidators(changes) {\r\n var that = this;\r\n var columns = this._columnsController.getColumns();\r\n var invisibleColumns = this._columnsController.getInvisibleColumns().filter(column => !column.isBand);\r\n var groupColumns = this._columnsController.getGroupColumns().filter(column => !column.showWhenGrouped && -1 === invisibleColumns.indexOf(column));\r\n var invisibleColumnValidators = [];\r\n var isCellVisible = (column, rowKey) => this._dataController.getRowIndexByKey(rowKey) >= 0 && invisibleColumns.indexOf(column) < 0;\r\n invisibleColumns.push(...groupColumns);\r\n if (!FORM_BASED_MODES.includes(this.getEditMode())) {\r\n each(columns, (_, column) => {\r\n changes.forEach(change => {\r\n var data;\r\n if (isCellVisible(column, change.key)) {\r\n return\r\n }\r\n if (change.type === EDIT_DATA_INSERT_TYPE) {\r\n data = change.data\r\n } else if (\"update\" === change.type) {\r\n var oldData = that._getOldData(change.key);\r\n if (!isDefined(oldData)) {\r\n return\r\n }\r\n data = createObjectWithChanges(oldData, change.data)\r\n }\r\n if (data) {\r\n var validator = this._validatingController.createValidator({\r\n column: column,\r\n key: change.key,\r\n value: column.calculateCellValue(data)\r\n });\r\n if (validator) {\r\n invisibleColumnValidators.push(validator)\r\n }\r\n }\r\n })\r\n })\r\n }\r\n return function() {\r\n invisibleColumnValidators.forEach(validator => {\r\n validator.dispose()\r\n })\r\n }\r\n }\r\n _beforeSaveEditData(change, editIndex) {\r\n var result = super._beforeSaveEditData.apply(this, arguments);\r\n var validationData = this._validatingController._getValidationData(null === change || void 0 === change ? void 0 : change.key);\r\n if (change) {\r\n var isValid = \"remove\" === change.type || validationData.isValid;\r\n result = result || !isValid\r\n } else {\r\n var disposeValidators = this._createInvisibleColumnValidators(this.getChanges());\r\n result = new Deferred;\r\n this.executeOperation(result, () => {\r\n this._validatingController.validate(true).done(isFullValid => {\r\n disposeValidators();\r\n this._updateRowAndPageIndices();\r\n switch (this.getEditMode()) {\r\n case EDIT_MODE_CELL:\r\n if (!isFullValid) {\r\n this._focusEditingCell()\r\n }\r\n break;\r\n case EDIT_MODE_BATCH:\r\n if (!isFullValid) {\r\n this._resetEditRowKey();\r\n this._resetEditColumnName();\r\n this._dataController.updateItems()\r\n }\r\n }\r\n result.resolve(!isFullValid)\r\n })\r\n })\r\n }\r\n return result.promise ? result.promise() : result\r\n }\r\n _beforeEditCell(rowIndex, columnIndex, item) {\r\n var result = super._beforeEditCell(rowIndex, columnIndex, item);\r\n if (this.getEditMode() === EDIT_MODE_CELL) {\r\n var $cell = this._rowsView._getCellElement(rowIndex, columnIndex);\r\n var validator = $cell && $cell.data(\"dxValidator\");\r\n var rowOptions = $cell && $cell.closest(\".dx-row\").data(\"options\");\r\n var value = validator && validator.option(\"adapter\").getValue();\r\n if (validator && cellValueShouldBeValidated(value, rowOptions)) {\r\n var deferred = new Deferred;\r\n when(this._validatingController.validateCell(validator), result).done((validationResult, result) => {\r\n deferred.resolve(validationResult.status === VALIDATION_STATUS.valid && result)\r\n });\r\n return deferred.promise()\r\n }\r\n if (!validator) {\r\n return result\r\n }\r\n }\r\n return false\r\n }\r\n _afterSaveEditData(cancel) {\r\n var $firstErrorRow;\r\n var isCellEditMode = this.getEditMode() === EDIT_MODE_CELL;\r\n each(this.getChanges(), (_, change) => {\r\n var $errorRow = this._showErrorRow(change);\r\n $firstErrorRow = $firstErrorRow || $errorRow\r\n });\r\n if ($firstErrorRow) {\r\n var scrollable = this._rowsView.getScrollable();\r\n if (scrollable) {\r\n scrollable.update();\r\n scrollable.scrollToElement($firstErrorRow)\r\n }\r\n }\r\n if (cancel && isCellEditMode && this._needUpdateRow()) {\r\n var editRowIndex = this.getEditRowIndex();\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [editRowIndex]\r\n });\r\n this._focusEditingCell()\r\n } else if (!cancel) {\r\n var shouldResetValidationState = true;\r\n if (isCellEditMode) {\r\n var columns = this._columnsController.getColumns();\r\n var columnsWithValidatingEditors = columns.filter(col => {\r\n var _a;\r\n return col.showEditorAlways && (null === (_a = col.validationRules) || void 0 === _a ? void 0 : _a.length) > 0\r\n }).length > 0;\r\n shouldResetValidationState = !columnsWithValidatingEditors\r\n }\r\n if (shouldResetValidationState) {\r\n this._validatingController.initValidationState()\r\n }\r\n }\r\n }\r\n _handleDataChanged(args) {\r\n var validationState = this._validatingController._validationState;\r\n if (\"standard\" === this.option(\"scrolling.mode\")) {\r\n this.resetRowAndPageIndices()\r\n }\r\n if (\"prepend\" === args.changeType) {\r\n each(validationState, (_, validationData) => {\r\n validationData.rowIndex += args.items.length\r\n })\r\n }\r\n super._handleDataChanged(args)\r\n }\r\n resetRowAndPageIndices() {\r\n var validationState = this._validatingController._validationState;\r\n each(validationState, (_, validationData) => {\r\n if (validationData.pageIndex !== this._pageIndex) {\r\n delete validationData.pageIndex;\r\n delete validationData.rowIndex\r\n }\r\n })\r\n }\r\n _beforeCancelEditData() {\r\n this._validatingController.initValidationState();\r\n super._beforeCancelEditData()\r\n }\r\n _showErrorRow(change) {\r\n var $popupContent;\r\n var items = this._dataController.items();\r\n var rowIndex = this.getIndexByKey(change.key, items);\r\n var validationData = this._validatingController._getValidationData(change.key);\r\n if (!(null === validationData || void 0 === validationData ? void 0 : validationData.isValid) && (null === validationData || void 0 === validationData ? void 0 : validationData.errorText) && rowIndex >= 0) {\r\n $popupContent = this.getPopupContent();\r\n return this._errorHandlingController && this._errorHandlingController.renderErrorRow(null === validationData || void 0 === validationData ? void 0 : validationData.errorText, rowIndex, $popupContent)\r\n }\r\n }\r\n updateFieldValue(e) {\r\n var deferred = new Deferred;\r\n this._validatingController.removeCellValidationResult({\r\n change: this.getChangeByKey(e.key),\r\n columnIndex: e.column.index\r\n });\r\n super.updateFieldValue.apply(this, arguments).done(() => {\r\n var currentValidator = this._validatingController.getCellValidator({\r\n rowKey: e.key,\r\n columnIndex: e.column.index\r\n });\r\n when(currentValidator && this._validatingController.validateCell(currentValidator)).done(validationResult => {\r\n this._editorFactoryController.refocus();\r\n deferred.resolve(validationResult)\r\n })\r\n });\r\n return deferred.promise()\r\n }\r\n highlightDataCell($cell, parameters) {\r\n super.highlightDataCell.apply(this, arguments);\r\n this._validatingController.setCellValidationStatus(parameters);\r\n var isEditableCell = !!parameters.setValue;\r\n var cellModified = this.isCellModified(parameters);\r\n var isValidated = isDefined(parameters.validationStatus);\r\n var needValidation = cellModified && parameters.column.setCellValue || isEditableCell && !cellModified && !(parameters.row.isNewRow || !isValidated);\r\n if (needValidation) {\r\n var validator = $cell.data(\"dxValidator\");\r\n if (validator) {\r\n when(this._validatingController.validateCell(validator)).done(() => {\r\n this._validatingController.setCellValidationStatus(parameters)\r\n })\r\n }\r\n }\r\n }\r\n getChangeByKey(key) {\r\n var changes = this.getChanges();\r\n return changes[gridCoreUtils.getIndexByKey(key, changes)]\r\n }\r\n isCellModified(parameters) {\r\n var cellModified = super.isCellModified(parameters);\r\n var change = this.getChangeByKey(parameters.key);\r\n var isCellInvalid = !!parameters.row && this._validatingController.isInvalidCell({\r\n rowKey: parameters.key,\r\n columnIndex: parameters.column.index\r\n });\r\n return cellModified || this._validatingController._rowIsValidated(change) && isCellInvalid\r\n }\r\n};\r\nvar getWidthOfVisibleCells = function(that, element) {\r\n var rowIndex = $(element).closest(\"tr\").index();\r\n var $cellElements = $(that._rowsView.getRowElement(rowIndex)).first().children().filter(\":not(.dx-hidden-cell)\");\r\n return that._rowsView._getWidths($cellElements).reduce((w1, w2) => w1 + w2, 0)\r\n};\r\nvar getBoundaryNonFixedColumnsInfo = function(fixedColumns) {\r\n var firstNonFixedColumnIndex;\r\n var lastNonFixedColumnIndex;\r\n fixedColumns.some((column, index) => {\r\n if (column.command === COMMAND_TRANSPARENT) {\r\n firstNonFixedColumnIndex = 0 === index ? -1 : index;\r\n lastNonFixedColumnIndex = index === fixedColumns.length - 1 ? -1 : index + column.colspan - 1;\r\n return true\r\n }\r\n return\r\n });\r\n return {\r\n startColumnIndex: firstNonFixedColumnIndex,\r\n endColumnIndex: lastNonFixedColumnIndex\r\n }\r\n};\r\nexport var validatingEditorFactoryExtender = Base => class extends Base {\r\n _showRevertButton($container) {\r\n var _a;\r\n var $tooltipElement = null === (_a = this._revertTooltip) || void 0 === _a ? void 0 : _a.$element();\r\n if (!$container || !$container.length) {\r\n null === $tooltipElement || void 0 === $tooltipElement ? void 0 : $tooltipElement.remove();\r\n this._revertTooltip = void 0;\r\n return\r\n }\r\n if ($container.find($tooltipElement).length) {\r\n return\r\n }\r\n var $overlayContainer = $container.closest(\".\".concat(this.addWidgetPrefix(CONTENT_CLASS)));\r\n var revertTooltipClass = this.addWidgetPrefix(REVERT_TOOLTIP_CLASS);\r\n null === $tooltipElement || void 0 === $tooltipElement ? void 0 : $tooltipElement.remove();\r\n $tooltipElement = $(\"<div>\").addClass(revertTooltipClass).appendTo($container);\r\n var tooltipOptions = {\r\n animation: null,\r\n visible: true,\r\n width: \"auto\",\r\n height: \"auto\",\r\n shading: false,\r\n container: $overlayContainer,\r\n propagateOutsideClick: true,\r\n hideOnOutsideClick: false,\r\n wrapperAttr: {\r\n class: revertTooltipClass\r\n },\r\n contentTemplate: () => {\r\n var $buttonElement = $(\"<div>\").addClass(REVERT_BUTTON_CLASS);\r\n var buttonOptions = {\r\n icon: \"revert\",\r\n hint: this.option(\"editing.texts.validationCancelChanges\"),\r\n onClick: () => {\r\n this._editingController.cancelEditData()\r\n }\r\n };\r\n return new Button($buttonElement, buttonOptions).$element()\r\n },\r\n position: {\r\n my: \"left top\",\r\n at: \"right top\",\r\n offset: \"1 0\",\r\n collision: \"flip\",\r\n boundaryOffset: \"0 0\",\r\n boundary: this._rowsView.element(),\r\n of: $container\r\n },\r\n onPositioned: this._positionedHandler.bind(this)\r\n };\r\n this._revertTooltip = new Overlay($tooltipElement, tooltipOptions)\r\n }\r\n _hideFixedGroupCell($cell, overlayOptions) {\r\n var $nextFixedRowElement;\r\n var $groupCellElement;\r\n var isFixedColumns = this._rowsView.isFixedColumns();\r\n var isFormOrPopupEditMode = this._editingController.isFormOrPopupEditMode();\r\n if (isFixedColumns && !isFormOrPopupEditMode) {\r\n var nextRowOptions = $cell.closest(\".dx-row\").next().data(\"options\");\r\n if (nextRowOptions && \"group\" === nextRowOptions.rowType) {\r\n $nextFixedRowElement = $(this._rowsView.getRowElement(nextRowOptions.rowIndex)).last();\r\n $groupCellElement = $nextFixedRowElement.find(\".\".concat(GROUP_CELL_CLASS));\r\n if ($groupCellElement.length && \"hidden\" !== $groupCellElement.get(0).style.visibility) {\r\n $groupCellElement.css(\"visibility\", \"hidden\");\r\n overlayOptions.onDisposing = function() {\r\n $groupCellElement.css(\"visibility\", \"\")\r\n }\r\n }\r\n }\r\n }\r\n }\r\n _positionedHandler(e, isOverlayVisible) {\r\n if (!e.component.__skipPositionProcessing) {\r\n var isRevertButton = $(e.element).hasClass(this.addWidgetPrefix(REVERT_TOOLTIP_CLASS));\r\n var needRepaint = !isRevertButton && this._rowsView.updateFreeSpaceRowHeight();\r\n var normalizedPosition = this._normalizeValidationMessagePositionAndMaxWidth(e, isRevertButton, isOverlayVisible);\r\n e.component.__skipPositionProcessing = !!(needRepaint || normalizedPosition);\r\n if (normalizedPosition) {\r\n e.component.option(normalizedPosition)\r\n } else if (needRepaint) {\r\n e.component.repaint()\r\n }\r\n }\r\n }\r\n _showValidationMessage($cell, messages, alignment) {\r\n var _a;\r\n var editorPopup = $cell.find(\".dx-dropdowneditor-overlay\").data(\"dxPopup\");\r\n var isOverlayVisible = editorPopup && editorPopup.option(\"visible\");\r\n var myPosition = isOverlayVisible ? \"top right\" : \"top \".concat(alignment);\r\n var atPosition = isOverlayVisible ? \"top left\" : \"bottom \".concat(alignment);\r\n var hasFixedColumns = (null === (_a = this._columnsController.getFixedColumns()) || void 0 === _a ? void 0 : _a.length) > 0;\r\n var $overlayContainer = hasFixedColumns ? this.getView(\"rowsView\").element() : $cell.closest(\".\".concat(this.addWidgetPrefix(CONTENT_CLASS)));\r\n var errorMessageText = \"\";\r\n messages && messages.forEach(message => {\r\n errorMessageText += (errorMessageText.length ? \"<br/>\" : \"\") + encodeHtml(message)\r\n });\r\n var invalidMessageClass = this.addWidgetPrefix(WIDGET_INVALID_MESSAGE_CLASS);\r\n this._rowsView.element().find(\".\".concat(invalidMessageClass)).remove();\r\n var $overlayElement = $(\"<div>\").addClass(INVALID_MESSAGE_CLASS).addClass(INVALID_MESSAGE_ALWAYS_CLASS).addClass(invalidMessageClass).html(errorMessageText).appendTo($cell);\r\n var overlayOptions = {\r\n container: $overlayContainer,\r\n shading: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n visible: true,\r\n animation: false,\r\n propagateOutsideClick: true,\r\n hideOnOutsideClick: false,\r\n wrapperAttr: {\r\n class: \"\".concat(INVALID_MESSAGE_CLASS, \" \").concat(INVALID_MESSAGE_ALWAYS_CLASS, \" \").concat(invalidMessageClass)\r\n },\r\n position: {\r\n collision: \"flip\",\r\n boundary: this._rowsView.element(),\r\n boundaryOffset: \"0 0\",\r\n offset: {\r\n x: 0,\r\n y: !isOverlayVisible && browser.mozilla ? -1 : 0\r\n },\r\n my: myPosition,\r\n at: atPosition,\r\n of: $cell\r\n },\r\n onPositioned: e => {\r\n this._positionedHandler(e, isOverlayVisible);\r\n this._shiftValidationMessageIfNeed(e.component.$content(), $cell)\r\n }\r\n };\r\n this._hideFixedGroupCell($cell, overlayOptions);\r\n new Overlay($overlayElement, overlayOptions)\r\n }\r\n _hideValidationMessage() {\r\n var _a;\r\n var validationMessages = null === (_a = this._rowsView.element()) || void 0 === _a ? void 0 : _a.find(this._getValidationMessagesSelector());\r\n null === validationMessages || void 0 === validationMessages ? void 0 : validationMessages.remove()\r\n }\r\n _normalizeValidationMessagePositionAndMaxWidth(options, isRevertButton, isOverlayVisible) {\r\n var fixedColumns = this._columnsController.getFixedColumns();\r\n if (!fixedColumns || !fixedColumns.length) {\r\n return\r\n }\r\n var position;\r\n var visibleTableWidth = !isRevertButton && getWidthOfVisibleCells(this, options.element);\r\n var $overlayContentElement = options.component.$content();\r\n var validationMessageWidth = getOuterWidth($overlayContentElement, true);\r\n var needMaxWidth = !isRevertButton && validationMessageWidth > visibleTableWidth;\r\n var columnIndex = this._rowsView.getCellIndex($(options.element).closest(\"td\"));\r\n var boundaryNonFixedColumnsInfo = getBoundaryNonFixedColumnsInfo(fixedColumns);\r\n if (!isRevertButton && (columnIndex === boundaryNonFixedColumnsInfo.startColumnIndex || needMaxWidth)) {\r\n position = {\r\n collision: \"none flip\",\r\n my: \"top left\",\r\n at: isOverlayVisible ? \"top right\" : \"bottom left\"\r\n }\r\n } else if (columnIndex === boundaryNonFixedColumnsInfo.endColumnIndex) {\r\n position = {\r\n collision: \"none flip\",\r\n my: \"top right\",\r\n at: isRevertButton || isOverlayVisible ? \"top left\" : \"bottom right\"\r\n };\r\n if (isRevertButton) {\r\n position.offset = \"-1 0\"\r\n }\r\n }\r\n return position && {\r\n position: position,\r\n maxWidth: needMaxWidth ? visibleTableWidth - 2 : void 0\r\n }\r\n }\r\n _shiftValidationMessageIfNeed($content, $cell) {\r\n var $revertContent = this._revertTooltip && this._revertTooltip.$content();\r\n if (!$revertContent) {\r\n return\r\n }\r\n var contentOffset = $content.offset();\r\n var revertContentOffset = $revertContent.offset();\r\n if (contentOffset.top === revertContentOffset.top && contentOffset.left + getWidth($content) > revertContentOffset.left) {\r\n var left = getWidth($revertContent) + PADDING_BETWEEN_TOOLTIPS;\r\n $content.css(\"left\", revertContentOffset.left < $cell.offset().left ? -left : left)\r\n }\r\n }\r\n _getRevertTooltipsSelector() {\r\n var revertTooltipClass = this.addWidgetPrefix(REVERT_TOOLTIP_CLASS);\r\n return \".dx-editor-cell .\".concat(revertTooltipClass)\r\n }\r\n _getValidationMessagesSelector() {\r\n var invalidMessageClass = this.addWidgetPrefix(WIDGET_INVALID_MESSAGE_CLASS);\r\n return \".dx-editor-cell .\".concat(invalidMessageClass, \", .dx-cell-modified .\").concat(invalidMessageClass)\r\n }\r\n loseFocus(skipValidator) {\r\n if (!skipValidator) {\r\n this._validatingController.setValidator(null)\r\n }\r\n super.loseFocus()\r\n }\r\n updateCellState($element, validationResult, isHideBorder) {\r\n var _a;\r\n var $focus = null === $element || void 0 === $element ? void 0 : $element.closest(this._getFocusCellSelector());\r\n var $cell = (null === $focus || void 0 === $focus ? void 0 : $focus.is(\"td\")) ? $focus : null;\r\n var rowOptions = null === $focus || void 0 === $focus ? void 0 : $focus.closest(\".dx-row\").data(\"options\");\r\n var change = rowOptions ? this._editingController.getChangeByKey(rowOptions.key) : null;\r\n var column = $cell && this._columnsController.getVisibleColumns()[$cell.index()];\r\n var isCellModified = void 0 !== (null === (_a = null === change || void 0 === change ? void 0 : change.data) || void 0 === _a ? void 0 : _a[null === column || void 0 === column ? void 0 : column.name]) && !this._editingController.isSaving();\r\n if (this._editingController.getEditMode() === EDIT_MODE_CELL) {\r\n if ((null === validationResult || void 0 === validationResult ? void 0 : validationResult.status) === VALIDATION_STATUS.invalid || isCellModified) {\r\n this._showRevertButton($focus)\r\n } else {\r\n this._revertTooltip && this._revertTooltip.$element().remove()\r\n }\r\n }\r\n var showValidationMessage = validationResult && validationResult.status === VALIDATION_STATUS.invalid;\r\n if (showValidationMessage && $cell && column && validationResult && validationResult.brokenRules) {\r\n var errorMessages = [];\r\n validationResult.brokenRules.forEach(rule => {\r\n if (rule.message) {\r\n errorMessages.push(rule.message)\r\n }\r\n });\r\n if (errorMessages.length) {\r\n this._showValidationMessage($focus, errorMessages, column.alignment || \"left\")\r\n }\r\n }!isHideBorder && this._rowsView.element() && this._rowsView.updateFreeSpaceRowHeight()\r\n }\r\n focus($element, isHideBorder) {\r\n if (!arguments.length) {\r\n return super.focus()\r\n }\r\n this._hideValidationMessage();\r\n if ((null === $element || void 0 === $element ? void 0 : $element.hasClass(\"dx-row\")) || (null === $element || void 0 === $element ? void 0 : $element.hasClass(\"dx-master-detail-cell\"))) {\r\n return super.focus($element, isHideBorder)\r\n }\r\n var $focus = null === $element || void 0 === $element ? void 0 : $element.closest(this._getFocusCellSelector());\r\n var validator = $focus && ($focus.data(\"dxValidator\") || $element.find(\".\".concat(this.addWidgetPrefix(VALIDATOR_CLASS))).eq(0).data(\"dxValidator\"));\r\n var rowOptions = $focus && $focus.closest(\".dx-row\").data(\"options\");\r\n var change = rowOptions ? this._editingController.getChangeByKey(rowOptions.key) : null;\r\n var validationResult;\r\n if (validator) {\r\n this._validatingController.setValidator(validator);\r\n var value = validator.option(\"adapter\").getValue();\r\n if (cellValueShouldBeValidated(value, rowOptions) || this._validatingController._rowIsValidated(change)) {\r\n this._editingController.waitForDeferredOperations().done(() => {\r\n var isDetached = !this._rowsView.isElementInside($element);\r\n if (isDetached) {\r\n return\r\n }\r\n when(this._validatingController.validateCell(validator)).done(result => {\r\n validationResult = result;\r\n var {\r\n column: column\r\n } = validationResult.validator.option(\"dataGetter\")();\r\n if (change && column && !this._validatingController.isCurrentValidatorProcessing({\r\n rowKey: change.key,\r\n columnIndex: column.index\r\n })) {\r\n return\r\n }\r\n if (validationResult.status === VALIDATION_STATUS.invalid) {\r\n isHideBorder = true\r\n }\r\n this.updateCellState($element, validationResult, isHideBorder);\r\n super.focus.call(this, $element, isHideBorder)\r\n })\r\n });\r\n return super.focus($element, isHideBorder)\r\n }\r\n }\r\n this.updateCellState($element, validationResult, isHideBorder);\r\n return super.focus($element, isHideBorder)\r\n }\r\n getEditorInstance($container) {\r\n var $editor = $container.find(\".dx-texteditor\").eq(0);\r\n return gridCoreUtils.getWidgetInstance($editor)\r\n }\r\n};\r\nexport var validatingDataControllerExtender = Base => class extends Base {\r\n _getValidationStatus(validationResult) {\r\n var validationStatus = validationResultIsValid(validationResult) ? validationResult.status : validationResult;\r\n return validationStatus || VALIDATION_STATUS.valid\r\n }\r\n _isCellChanged(oldRow, newRow, visibleRowIndex, columnIndex, isLiveUpdate) {\r\n var _a, _b;\r\n var cell = null === (_a = oldRow.cells) || void 0 === _a ? void 0 : _a[columnIndex];\r\n var oldValidationStatus = this._getValidationStatus({\r\n status: null === cell || void 0 === cell ? void 0 : cell.validationStatus\r\n });\r\n var validationResult = this._validatingController.getCellValidationResult({\r\n rowKey: oldRow.key,\r\n columnIndex: columnIndex\r\n });\r\n var validationData = this._validatingController._getValidationData(oldRow.key);\r\n var newValidationStatus = this._getValidationStatus(validationResult);\r\n var rowIsModified = JSON.stringify(newRow.modifiedValues) !== JSON.stringify(oldRow.modifiedValues);\r\n var validationStatusChanged = oldValidationStatus !== newValidationStatus && rowIsModified;\r\n var cellIsMarkedAsInvalid = $(null === cell || void 0 === cell ? void 0 : cell.cellElement).hasClass(this.addWidgetPrefix(INVALIDATE_CLASS));\r\n var hasValidationRules = null === (_b = null === cell || void 0 === cell ? void 0 : cell.column.validationRules) || void 0 === _b ? void 0 : _b.length;\r\n var rowEditStateChanged = oldRow.isEditing !== newRow.isEditing && hasValidationRules;\r\n var cellValidationStateChanged = validationStatusChanged || validationData.isValid && cellIsMarkedAsInvalid;\r\n if (rowEditStateChanged || cellValidationStateChanged) {\r\n return true\r\n }\r\n return super._isCellChanged.apply(this, arguments)\r\n }\r\n};\r\nexport var validatingRowsViewExtender = Base => class extends Base {\r\n updateFreeSpaceRowHeight($table) {\r\n var $rowElements;\r\n var $freeSpaceRowElement;\r\n var $freeSpaceRowElements;\r\n var $element = this.element();\r\n var $tooltipContent = $element && $element.find(\".\".concat(this.addWidgetPrefix(WIDGET_INVALID_MESSAGE_CLASS), \" .dx-overlay-content\"));\r\n super.updateFreeSpaceRowHeight($table);\r\n if ($tooltipContent && $tooltipContent.length) {\r\n $rowElements = this._getRowElements();\r\n $freeSpaceRowElements = this._getFreeSpaceRowElements($table);\r\n $freeSpaceRowElement = $freeSpaceRowElements.first();\r\n if ($freeSpaceRowElement && 1 === $rowElements.length && (!$freeSpaceRowElement.is(\":visible\") || getOuterHeight($tooltipContent) > getOuterHeight($freeSpaceRowElement))) {\r\n $freeSpaceRowElements.show();\r\n setHeight($freeSpaceRowElements, getOuterHeight($tooltipContent));\r\n return true\r\n }\r\n }\r\n return\r\n }\r\n _formItemPrepared(cellOptions, $container) {\r\n super._formItemPrepared.apply(this, arguments);\r\n deferUpdate(() => {\r\n var $editor = $container.find(\".dx-widget\").first();\r\n var isEditorDisposed = $editor.length && !$editor.children().length;\r\n if (!isEditorDisposed) {\r\n this._validatingController.createValidator(cellOptions, $editor)\r\n }\r\n })\r\n }\r\n _cellPrepared($cell, parameters) {\r\n if (!this._editingController.isFormOrPopupEditMode()) {\r\n this._validatingController.createValidator(parameters, $cell)\r\n }\r\n super._cellPrepared.apply(this, arguments)\r\n }\r\n _restoreErrorRow(contentTable) {\r\n this._editingController && this._editingController.hasChanges() && this._getRowElements(contentTable).each((_, item) => {\r\n var rowOptions = $(item).data(\"options\");\r\n if (rowOptions) {\r\n var change = this._editingController.getChangeByKey(rowOptions.key);\r\n change && this._editingController._showErrorRow(change)\r\n }\r\n })\r\n }\r\n};\r\nexport var validatingModule = {\r\n defaultOptions: () => ({\r\n editing: {\r\n texts: {\r\n validationCancelChanges: messageLocalization.format(\"dxDataGrid-validationCancelChanges\")\r\n }\r\n }\r\n }),\r\n controllers: {\r\n validating: ValidatingController\r\n },\r\n extenders: {\r\n controllers: {\r\n editing: validatingEditingExtender,\r\n editorFactory: validatingEditorFactoryExtender,\r\n data: validatingDataControllerExtender\r\n },\r\n views: {\r\n rowsView: validatingRowsViewExtender\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/validating.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n validatingModule\r\n} from \"../../../grids/grid_core/validating/m_validating\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"validating\", validatingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/virtual_data_loader/m_virtual_data_loader.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isObject,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nvar LEGACY_SCROLLING_MODE = \"scrolling.legacyMode\";\r\nvar needTwoPagesLoading = that => that.option(\"scrolling.loadTwoPagesOnStart\") || that._controller.isVirtual() || that._controller.getViewportItemIndex() > 0;\r\nvar getBeginPageIndex = that => that._cache.length ? that._cache[0].pageIndex : -1;\r\nvar getEndPageIndex = that => that._cache.length ? that._cache[that._cache.length - 1].pageIndex : -1;\r\nvar fireChanged = (that, changed, args) => {\r\n that._isChangedFiring = true;\r\n changed(args);\r\n that._isChangedFiring = false\r\n};\r\nvar processDelayChanged = (that, changed, args) => {\r\n if (that._isDelayChanged) {\r\n that._isDelayChanged = false;\r\n fireChanged(that, changed, args);\r\n return true\r\n }\r\n};\r\nvar getViewportPageCount = that => {\r\n var pageSize = that._dataOptions.pageSize();\r\n var preventPreload = that.option(\"scrolling.preventPreload\");\r\n if (preventPreload) {\r\n return 0\r\n }\r\n var realViewportSize = that._controller.viewportSize();\r\n if (that._controller.isVirtualMode() && that.option(\"scrolling.removeInvisiblePages\")) {\r\n realViewportSize = 0;\r\n var viewportSize = that._controller.viewportSize() * that._controller.viewportItemSize();\r\n var offset = that._controller.getContentOffset();\r\n var position = that._controller.getViewportPosition();\r\n var virtualItemsCount = that._controller.virtualItemsCount();\r\n var totalItemsCount = that._dataOptions.totalItemsCount();\r\n for (var itemIndex = virtualItemsCount.begin; itemIndex < totalItemsCount; itemIndex++) {\r\n if (offset >= position + viewportSize) {\r\n break\r\n }\r\n var itemSize = that._controller.getItemSizes()[itemIndex] || that._controller.viewportItemSize();\r\n offset += itemSize;\r\n if (offset >= position) {\r\n realViewportSize++\r\n }\r\n }\r\n }\r\n return pageSize && realViewportSize > 0 ? Math.ceil(realViewportSize / pageSize) : 1\r\n};\r\nvar getPreloadPageCount = (that, previous) => {\r\n var preloadEnabled = that.option(\"scrolling.preloadEnabled\");\r\n var pageCount = getViewportPageCount(that);\r\n var isAppendMode = that._controller.isAppendMode();\r\n if (pageCount) {\r\n if (previous) {\r\n pageCount = preloadEnabled ? 1 : 0\r\n } else {\r\n if (preloadEnabled) {\r\n pageCount++\r\n }\r\n if (isAppendMode || !needTwoPagesLoading(that)) {\r\n pageCount--\r\n }\r\n }\r\n }\r\n return pageCount\r\n};\r\nvar getPageIndexForLoad = that => {\r\n var result = -1;\r\n var beginPageIndex = getBeginPageIndex(that);\r\n var dataOptions = that._dataOptions;\r\n if (beginPageIndex < 0) {\r\n result = that._pageIndex\r\n } else if (!that._cache[that._pageIndex - beginPageIndex]) {\r\n result = that._pageIndex\r\n } else if (beginPageIndex >= 0 && that._controller.viewportSize() >= 0) {\r\n if (beginPageIndex > 0) {\r\n var needToLoadPageBeforeLast = getEndPageIndex(that) + 1 === dataOptions.pageCount() && that._cache.length < getPreloadPageCount(that) + 1;\r\n var needToLoadPrevPage = needToLoadPageBeforeLast || that._pageIndex === beginPageIndex && getPreloadPageCount(that, true);\r\n if (needToLoadPrevPage) {\r\n result = beginPageIndex - 1\r\n }\r\n }\r\n if (result < 0) {\r\n var needToLoadNextPage = beginPageIndex + that._cache.length <= that._pageIndex + getPreloadPageCount(that);\r\n if (needToLoadNextPage) {\r\n result = beginPageIndex + that._cache.length\r\n }\r\n }\r\n }\r\n if (that._loadingPageIndexes[result]) {\r\n result = -1\r\n }\r\n return result\r\n};\r\nvar loadCore = (that, pageIndex) => {\r\n var dataOptions = that._dataOptions;\r\n if (pageIndex === that.pageIndex() || !dataOptions.isLoading() && pageIndex < dataOptions.pageCount() || !dataOptions.hasKnownLastPage() && pageIndex === dataOptions.pageCount()) {\r\n dataOptions.pageIndex(pageIndex);\r\n that._loadingPageIndexes[pageIndex] = true;\r\n return when(dataOptions.load()).always(() => {\r\n that._loadingPageIndexes[pageIndex] = false\r\n })\r\n }\r\n};\r\nvar processChanged = (that, changed, changeType, isDelayChanged, removeCacheItem) => {\r\n var dataOptions = that._dataOptions;\r\n var items = dataOptions.items().slice();\r\n var change = isObject(changeType) ? changeType : void 0;\r\n var isPrepend = \"prepend\" === changeType;\r\n var viewportItems = dataOptions.viewportItems();\r\n if (changeType && isString(changeType) && !that._isDelayChanged) {\r\n change = {\r\n changeType: changeType,\r\n items: items\r\n };\r\n if (removeCacheItem) {\r\n change.removeCount = removeCacheItem.itemsCount;\r\n if (change.removeCount && dataOptions.correctCount) {\r\n change.removeCount = dataOptions.correctCount(viewportItems, change.removeCount, isPrepend)\r\n }\r\n }\r\n }\r\n var removeItemCount = removeCacheItem ? removeCacheItem.itemsLength : 0;\r\n if (removeItemCount && dataOptions.correctCount) {\r\n removeItemCount = dataOptions.correctCount(viewportItems, removeItemCount, isPrepend)\r\n }\r\n if (\"append\" === changeType) {\r\n viewportItems.push.apply(viewportItems, items);\r\n if (removeCacheItem) {\r\n viewportItems.splice(0, removeItemCount)\r\n }\r\n } else if (isPrepend) {\r\n viewportItems.unshift.apply(viewportItems, items);\r\n if (removeCacheItem) {\r\n viewportItems.splice(-removeItemCount)\r\n }\r\n } else {\r\n that._dataOptions.viewportItems(items)\r\n }\r\n dataOptions.updateLoading();\r\n that._lastPageIndex = that.pageIndex();\r\n that._isDelayChanged = isDelayChanged;\r\n if (!isDelayChanged) {\r\n fireChanged(that, changed, change)\r\n }\r\n};\r\nexport class VirtualDataLoader {\r\n constructor(controller, dataOptions) {\r\n this._dataOptions = dataOptions;\r\n this._controller = controller;\r\n this._pageIndex = this._lastPageIndex = dataOptions.pageIndex();\r\n this._cache = [];\r\n this._loadingPageIndexes = {}\r\n }\r\n option() {\r\n return this._controller.option.apply(this._controller, arguments)\r\n }\r\n viewportItemIndexChanged(itemIndex) {\r\n var pageSize = this._dataOptions.pageSize();\r\n var pageCount = this._dataOptions.pageCount();\r\n var virtualMode = this._controller.isVirtualMode();\r\n var appendMode = this._controller.isAppendMode();\r\n var totalItemsCount = this._dataOptions.totalItemsCount();\r\n var newPageIndex;\r\n if (pageSize && (virtualMode || appendMode) && totalItemsCount >= 0) {\r\n var viewportSize = this._controller.viewportSize();\r\n if (viewportSize && itemIndex + viewportSize >= totalItemsCount && !this._controller.isVirtual()) {\r\n if (this._dataOptions.hasKnownLastPage()) {\r\n newPageIndex = pageCount - 1;\r\n var lastPageSize = totalItemsCount % pageSize;\r\n if (newPageIndex > 0 && lastPageSize > 0 && lastPageSize < viewportSize) {\r\n newPageIndex--\r\n }\r\n } else {\r\n newPageIndex = pageCount\r\n }\r\n } else {\r\n newPageIndex = Math.floor(itemIndex / pageSize);\r\n var maxPageIndex = pageCount - 1;\r\n newPageIndex = Math.max(newPageIndex, 0);\r\n newPageIndex = Math.min(newPageIndex, maxPageIndex)\r\n }\r\n this.pageIndex(newPageIndex);\r\n return this.load()\r\n }\r\n }\r\n pageIndex(pageIndex) {\r\n var isVirtualMode = this._controller.isVirtualMode();\r\n var isAppendMode = this._controller.isAppendMode();\r\n if (false !== this.option(LEGACY_SCROLLING_MODE) && (isVirtualMode || isAppendMode)) {\r\n if (void 0 !== pageIndex) {\r\n this._pageIndex = pageIndex\r\n }\r\n return this._pageIndex\r\n }\r\n return this._dataOptions.pageIndex(pageIndex)\r\n }\r\n beginPageIndex(defaultPageIndex) {\r\n var beginPageIndex = getBeginPageIndex(this);\r\n if (beginPageIndex < 0) {\r\n beginPageIndex = void 0 !== defaultPageIndex ? defaultPageIndex : this.pageIndex()\r\n }\r\n return beginPageIndex\r\n }\r\n endPageIndex() {\r\n var endPageIndex = getEndPageIndex(this);\r\n return endPageIndex > 0 ? endPageIndex : this._lastPageIndex\r\n }\r\n pageSize() {\r\n return this._dataOptions.pageSize()\r\n }\r\n load() {\r\n var dataOptions = this._dataOptions;\r\n var result;\r\n var isVirtualMode = this._controller.isVirtualMode();\r\n var isAppendMode = this._controller.isAppendMode();\r\n if (false !== this.option(LEGACY_SCROLLING_MODE) && (isVirtualMode || isAppendMode)) {\r\n var pageIndexForLoad = getPageIndexForLoad(this);\r\n if (pageIndexForLoad >= 0) {\r\n var loadResult = loadCore(this, pageIndexForLoad);\r\n if (loadResult) {\r\n result = new Deferred;\r\n loadResult.done(() => {\r\n var delayDeferred = this._delayDeferred;\r\n if (delayDeferred) {\r\n delayDeferred.done(result.resolve).fail(result.reject)\r\n } else {\r\n result.resolve()\r\n }\r\n }).fail(result.reject);\r\n dataOptions.updateLoading()\r\n }\r\n }\r\n } else {\r\n result = dataOptions.load()\r\n }\r\n if (!result && this._lastPageIndex !== this.pageIndex()) {\r\n this._dataOptions.onChanged({\r\n changeType: \"pageIndex\"\r\n })\r\n }\r\n return result || (new Deferred).resolve()\r\n }\r\n loadIfNeed() {\r\n var isVirtualMode = this._controller.isVirtualMode();\r\n var isAppendMode = this._controller.isAppendMode();\r\n if ((isVirtualMode || isAppendMode) && !this._dataOptions.isLoading() && (!this._isChangedFiring || this._controller.isVirtual())) {\r\n var position = this._controller.getViewportPosition();\r\n if (position > 0) {\r\n this._controller._setViewportPositionCore(position)\r\n } else {\r\n this.load()\r\n }\r\n }\r\n }\r\n handleDataChanged(callBase, e) {\r\n var dataOptions = this._dataOptions;\r\n var lastCacheLength = this._cache.length;\r\n var changeType;\r\n var removeInvisiblePages;\r\n var isVirtualMode = this._controller.isVirtualMode();\r\n var isAppendMode = this._controller.isAppendMode();\r\n if (e && e.changes) {\r\n fireChanged(this, callBase, e)\r\n } else if (false !== this.option(LEGACY_SCROLLING_MODE) && (isVirtualMode || isAppendMode)) {\r\n var beginPageIndex = getBeginPageIndex(this);\r\n if (beginPageIndex >= 0) {\r\n if (isVirtualMode && beginPageIndex + this._cache.length !== dataOptions.pageIndex() && beginPageIndex - 1 !== dataOptions.pageIndex()) {\r\n lastCacheLength = 0;\r\n this._cache = []\r\n }\r\n if (isAppendMode) {\r\n if (0 === dataOptions.pageIndex()) {\r\n this._cache = []\r\n } else if (dataOptions.pageIndex() < getEndPageIndex(this)) {\r\n fireChanged(this, callBase, {\r\n changeType: \"append\",\r\n items: []\r\n });\r\n return\r\n }\r\n }\r\n }\r\n var cacheItem = {\r\n pageIndex: dataOptions.pageIndex(),\r\n itemsLength: dataOptions.items(true).length,\r\n itemsCount: this.itemsCount(true)\r\n };\r\n if (this.option(\"scrolling.removeInvisiblePages\") && isVirtualMode) {\r\n removeInvisiblePages = this._cache.length > Math.max(getPreloadPageCount(this) + (this.option(\"scrolling.preloadEnabled\") ? 1 : 0), 2)\r\n } else {\r\n processDelayChanged(this, callBase, {\r\n isDelayed: true\r\n })\r\n }\r\n var removeCacheItem;\r\n if (beginPageIndex === dataOptions.pageIndex() + 1) {\r\n if (removeInvisiblePages) {\r\n removeCacheItem = this._cache.pop()\r\n }\r\n changeType = \"prepend\";\r\n this._cache.unshift(cacheItem)\r\n } else {\r\n if (removeInvisiblePages) {\r\n removeCacheItem = this._cache.shift()\r\n }\r\n changeType = \"append\";\r\n this._cache.push(cacheItem)\r\n }\r\n var isDelayChanged = isVirtualMode && 0 === lastCacheLength && needTwoPagesLoading(this);\r\n processChanged(this, callBase, this._cache.length > 1 ? changeType : void 0, isDelayChanged, removeCacheItem);\r\n this._delayDeferred = this.load().done(() => {\r\n if (processDelayChanged(this, callBase)) {\r\n this.load()\r\n }\r\n })\r\n } else {\r\n processChanged(this, callBase, e)\r\n }\r\n }\r\n getDelayDeferred() {\r\n return this._delayDeferred\r\n }\r\n itemsCount(isBase) {\r\n var itemsCount = 0;\r\n var isVirtualMode = this._controller.isVirtualMode();\r\n if (!isBase && isVirtualMode) {\r\n this._cache.forEach(cacheItem => {\r\n itemsCount += cacheItem.itemsCount\r\n })\r\n } else {\r\n itemsCount = this._dataOptions.itemsCount()\r\n }\r\n return itemsCount\r\n }\r\n virtualItemsCount() {\r\n var pageIndex = getBeginPageIndex(this);\r\n if (pageIndex < 0) {\r\n pageIndex = this._dataOptions.pageIndex()\r\n }\r\n var beginItemsCount = pageIndex * this._dataOptions.pageSize();\r\n var itemsCount = this._cache.length * this._dataOptions.pageSize();\r\n var endItemsCount = Math.max(0, this._dataOptions.totalItemsCount() - itemsCount - beginItemsCount);\r\n return {\r\n begin: beginItemsCount,\r\n end: endItemsCount\r\n }\r\n }\r\n reset() {\r\n this._loadingPageIndexes = {};\r\n this._cache = []\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling_core.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport positionUtils from \"../../../../animation/position\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport Callbacks from \"../../../../core/utils/callbacks\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow\r\n} from \"../../../../core/utils/window\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n VirtualDataLoader\r\n} from \"../virtual_data_loader/m_virtual_data_loader\";\r\nvar SCROLLING_MODE_INFINITE = \"infinite\";\r\nvar SCROLLING_MODE_VIRTUAL = \"virtual\";\r\nvar LEGACY_SCROLLING_MODE = \"scrolling.legacyMode\";\r\nvar isVirtualMode = that => that.option(\"scrolling.mode\") === SCROLLING_MODE_VIRTUAL || that._isVirtual;\r\nvar isAppendMode = that => that.option(\"scrolling.mode\") === SCROLLING_MODE_INFINITE && !that._isVirtual;\r\n\r\nfunction subscribeToExternalScrollers($element, scrollChangedHandler, $targetElement) {\r\n var $scrollElement;\r\n var scrollableArray = [];\r\n var scrollToArray = [];\r\n var disposeArray = [];\r\n $targetElement = $targetElement || $element;\r\n\r\n function getElementOffset(scrollable) {\r\n var $scrollableElement = scrollable.element ? scrollable.$element() : scrollable;\r\n var scrollableOffset = positionUtils.offset($scrollableElement);\r\n if (!scrollableOffset) {\r\n return $element.offset().top\r\n }\r\n return scrollable.scrollTop() - (scrollableOffset.top - $element.offset().top)\r\n }\r\n var widgetScrollStrategy = {\r\n on(scrollable, eventName, handler) {\r\n scrollable.on(\"scroll\", handler)\r\n },\r\n off(scrollable, eventName, handler) {\r\n scrollable.off(\"scroll\", handler)\r\n }\r\n };\r\n\r\n function subscribeToScrollEvents($scrollElement) {\r\n var isDocument = \"#document\" === $scrollElement.get(0).nodeName;\r\n var isElement = $scrollElement.get(0).nodeType === getWindow().Node.ELEMENT_NODE;\r\n var scrollable = $scrollElement.data(\"dxScrollable\");\r\n var eventsStrategy = widgetScrollStrategy;\r\n if (!scrollable) {\r\n scrollable = isDocument && $(getWindow()) || isElement && \"auto\" === $scrollElement.css(\"overflowY\") && $scrollElement;\r\n eventsStrategy = eventsEngine;\r\n if (!scrollable) {\r\n return\r\n }\r\n }\r\n var handler = function(scrollable) {\r\n return function() {\r\n var scrollTop = scrollable.scrollTop() - getElementOffset(scrollable);\r\n scrollTop = scrollTop > 0 ? scrollTop : 0;\r\n scrollChangedHandler(scrollTop)\r\n }\r\n }(scrollable);\r\n eventsStrategy.on(scrollable, \"scroll\", handler);\r\n scrollToArray.push(pos => {\r\n var topOffset = getElementOffset(scrollable);\r\n var scrollMethod = scrollable.scrollTo ? \"scrollTo\" : \"scrollTop\";\r\n if (pos - topOffset >= 0) {\r\n scrollable[scrollMethod](pos + topOffset)\r\n }\r\n });\r\n scrollableArray.push(scrollable);\r\n disposeArray.push(() => {\r\n eventsStrategy.off(scrollable, \"scroll\", handler)\r\n })\r\n }\r\n var getScrollElementParent = $element => {\r\n var _a;\r\n return $(null !== (_a = $element.get(0).parentNode) && void 0 !== _a ? _a : $element.get(0).host)\r\n };\r\n for ($scrollElement = $targetElement.parent(); $scrollElement.length; $scrollElement = getScrollElementParent($scrollElement)) {\r\n subscribeToScrollEvents($scrollElement)\r\n }\r\n return {\r\n scrollTo(pos) {\r\n each(scrollToArray, (_, scrollTo) => {\r\n scrollTo(pos)\r\n })\r\n },\r\n dispose() {\r\n each(disposeArray, (_, dispose) => {\r\n dispose()\r\n })\r\n }\r\n }\r\n}\r\nclass VirtualScrollController {\r\n constructor(component, dataOptions, isVirtual) {\r\n this._dataOptions = dataOptions;\r\n this.component = component;\r\n this._viewportSize = false === component.option(LEGACY_SCROLLING_MODE) ? 15 : 0;\r\n this._viewportItemSize = 20;\r\n this._viewportItemIndex = 0;\r\n this._position = 0;\r\n this._isScrollingBack = false;\r\n this._contentSize = 0;\r\n this._itemSizes = {};\r\n this._sizeRatio = 1;\r\n this._isVirtual = isVirtual;\r\n this.positionChanged = Callbacks();\r\n this._dataLoader = new VirtualDataLoader(this, this._dataOptions)\r\n }\r\n getItemSizes() {\r\n return this._itemSizes\r\n }\r\n option(name, value) {\r\n return this.component.option.apply(this.component, arguments)\r\n }\r\n isVirtual() {\r\n return this._isVirtual\r\n }\r\n virtualItemsCount() {\r\n if (isVirtualMode(this)) {\r\n var dataOptions = this._dataOptions;\r\n var totalItemsCount = dataOptions.totalItemsCount();\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && -1 !== totalItemsCount) {\r\n var viewportParams = this.getViewportParams();\r\n var loadedOffset = dataOptions.loadedOffset();\r\n var loadedItemCount = dataOptions.loadedItemCount();\r\n var skip = Math.max(viewportParams.skip, loadedOffset);\r\n var take = Math.min(viewportParams.take, loadedItemCount);\r\n var endItemsCount = Math.max(totalItemsCount - (skip + take), 0);\r\n return {\r\n begin: skip,\r\n end: endItemsCount\r\n }\r\n }\r\n return this._dataLoader.virtualItemsCount.apply(this._dataLoader, arguments)\r\n }\r\n return\r\n }\r\n getScrollingTimeout() {\r\n var _a;\r\n var renderAsync = this.option(\"scrolling.renderAsync\");\r\n var scrollingTimeout = 0;\r\n if (!isDefined(renderAsync)) {\r\n scrollingTimeout = Math.min(this.option(\"scrolling.timeout\") || 0, this._dataOptions.changingDuration());\r\n if (scrollingTimeout < this.option(\"scrolling.renderingThreshold\")) {\r\n scrollingTimeout = this.option(\"scrolling.minTimeout\") || 0\r\n }\r\n } else if (renderAsync) {\r\n scrollingTimeout = null !== (_a = this.option(\"scrolling.timeout\")) && void 0 !== _a ? _a : 0\r\n }\r\n return scrollingTimeout\r\n }\r\n setViewportPosition(position) {\r\n var result = new Deferred;\r\n var scrollingTimeout = this.getScrollingTimeout();\r\n clearTimeout(this._scrollTimeoutID);\r\n if (scrollingTimeout > 0) {\r\n this._scrollTimeoutID = setTimeout(() => {\r\n this._setViewportPositionCore(position);\r\n result.resolve()\r\n }, scrollingTimeout)\r\n } else {\r\n this._setViewportPositionCore(position);\r\n result.resolve()\r\n }\r\n return result.promise()\r\n }\r\n getViewportPosition() {\r\n return this._position\r\n }\r\n getItemIndexByPosition(position, viewportItemIndex, height) {\r\n position = null !== position && void 0 !== position ? position : this._position;\r\n var defaultItemSize = this.getItemSize();\r\n var offset = 0;\r\n var itemOffset = 0;\r\n var itemOffsetsWithSize = Object.keys(this._itemSizes).concat(-1);\r\n for (var i = 0; i < itemOffsetsWithSize.length && offset < position; i++) {\r\n var itemOffsetWithSize = parseInt(itemOffsetsWithSize[i]);\r\n var itemOffsetDiff = (position - offset) / defaultItemSize;\r\n if (itemOffsetWithSize < 0 || itemOffset + itemOffsetDiff < itemOffsetWithSize) {\r\n itemOffset += itemOffsetDiff;\r\n if (this._sizeRatio < 1 && isDefined(viewportItemIndex)) {\r\n itemOffset = viewportItemIndex + height / this._viewportItemSize\r\n }\r\n break\r\n } else {\r\n itemOffsetDiff = itemOffsetWithSize - itemOffset;\r\n offset += itemOffsetDiff * defaultItemSize;\r\n itemOffset += itemOffsetDiff\r\n }\r\n var itemSize = this._itemSizes[itemOffsetWithSize];\r\n offset += itemSize;\r\n itemOffset += offset < position ? 1 : (position - offset + itemSize) / itemSize\r\n }\r\n return Math.round(50 * itemOffset) / 50\r\n }\r\n isScrollingBack() {\r\n return this._isScrollingBack\r\n }\r\n _setViewportPositionCore(position) {\r\n var prevPosition = this._position || 0;\r\n this._position = position;\r\n if (prevPosition !== this._position) {\r\n this._isScrollingBack = this._position < prevPosition\r\n }\r\n var itemIndex = this.getItemIndexByPosition();\r\n var result = this.setViewportItemIndex(itemIndex);\r\n this.positionChanged.fire();\r\n return result\r\n }\r\n setContentItemSizes(sizes) {\r\n var virtualItemsCount = this.virtualItemsCount();\r\n this._contentSize = sizes.reduce((a, b) => a + b, 0);\r\n if (virtualItemsCount) {\r\n sizes.forEach((size, index) => {\r\n this._itemSizes[virtualItemsCount.begin + index] = size\r\n });\r\n var virtualContentSize = (virtualItemsCount.begin + virtualItemsCount.end + this.itemsCount()) * this._viewportItemSize;\r\n var contentHeightLimit = gridCoreUtils.getContentHeightLimit(browser);\r\n if (virtualContentSize > contentHeightLimit) {\r\n this._sizeRatio = contentHeightLimit / virtualContentSize\r\n } else {\r\n this._sizeRatio = 1\r\n }\r\n }\r\n }\r\n getItemSize() {\r\n return this._viewportItemSize * this._sizeRatio\r\n }\r\n getItemOffset(itemIndex, isEnd) {\r\n var virtualItemsCount = this.virtualItemsCount();\r\n var itemCount = itemIndex;\r\n if (!virtualItemsCount) {\r\n return 0\r\n }\r\n var offset = 0;\r\n var totalItemsCount = this._dataOptions.totalItemsCount();\r\n Object.keys(this._itemSizes).forEach(currentItemIndex => {\r\n if (!itemCount) {\r\n return\r\n }\r\n if (isEnd ? currentItemIndex >= totalItemsCount - itemIndex : currentItemIndex < itemIndex) {\r\n offset += this._itemSizes[currentItemIndex];\r\n itemCount--\r\n }\r\n });\r\n return Math.floor(offset + itemCount * this._viewportItemSize * this._sizeRatio)\r\n }\r\n getContentOffset(type) {\r\n var isEnd = \"end\" === type;\r\n var virtualItemsCount = this.virtualItemsCount();\r\n if (!virtualItemsCount) {\r\n return 0\r\n }\r\n return this.getItemOffset(isEnd ? virtualItemsCount.end : virtualItemsCount.begin, isEnd)\r\n }\r\n getVirtualContentSize() {\r\n var virtualItemsCount = this.virtualItemsCount();\r\n return virtualItemsCount ? this.getContentOffset(\"begin\") + this.getContentOffset(\"end\") + this._contentSize : 0\r\n }\r\n getViewportItemIndex() {\r\n return this._viewportItemIndex\r\n }\r\n setViewportItemIndex(itemIndex) {\r\n this._viewportItemIndex = itemIndex;\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return\r\n }\r\n return this._dataLoader.viewportItemIndexChanged.apply(this._dataLoader, arguments)\r\n }\r\n viewportItemSize(size) {\r\n if (void 0 !== size) {\r\n this._viewportItemSize = size\r\n }\r\n return this._viewportItemSize\r\n }\r\n viewportSize(size) {\r\n if (void 0 !== size) {\r\n this._viewportSize = size\r\n }\r\n return this._viewportSize\r\n }\r\n viewportHeight(height, scrollTop) {\r\n var position = null !== scrollTop && void 0 !== scrollTop ? scrollTop : this._position;\r\n var begin = this.getItemIndexByPosition(position);\r\n var end = this.getItemIndexByPosition(position + height, begin, height);\r\n this.viewportSize(Math.ceil(end - begin));\r\n if (!isDefined(scrollTop) && this._viewportItemIndex !== begin) {\r\n this._setViewportPositionCore(position)\r\n }\r\n }\r\n reset(isRefresh) {\r\n this._dataLoader.reset();\r\n if (!isRefresh) {\r\n this._itemSizes = {}\r\n }\r\n }\r\n subscribeToWindowScrollEvents($element) {\r\n this._windowScroll = this._windowScroll || subscribeToExternalScrollers($element, scrollTop => {\r\n if (this.viewportItemSize()) {\r\n this.setViewportPosition(scrollTop)\r\n }\r\n })\r\n }\r\n dispose() {\r\n clearTimeout(this._scrollTimeoutID);\r\n this._windowScroll && this._windowScroll.dispose();\r\n this._windowScroll = null\r\n }\r\n scrollTo(pos) {\r\n this._windowScroll && this._windowScroll.scrollTo(pos)\r\n }\r\n isVirtualMode() {\r\n return isVirtualMode(this)\r\n }\r\n isAppendMode() {\r\n return isAppendMode(this)\r\n }\r\n getViewportParams() {\r\n var _a;\r\n var virtualMode = this.option(\"scrolling.mode\") === SCROLLING_MODE_VIRTUAL;\r\n var totalItemsCount = this._dataOptions.totalItemsCount();\r\n var hasKnownLastPage = this._dataOptions.hasKnownLastPage();\r\n var topIndex = hasKnownLastPage && this._viewportItemIndex > totalItemsCount ? totalItemsCount : this._viewportItemIndex;\r\n var bottomIndex = this._viewportSize + topIndex;\r\n var maxGap = this.option(\"scrolling.prerenderedRowChunkSize\") || 1;\r\n var isScrollingBack = this.isScrollingBack();\r\n var minGap = null !== (_a = this.option(\"scrolling.prerenderedRowCount\")) && void 0 !== _a ? _a : 1;\r\n var topMinGap = isScrollingBack ? minGap : 0;\r\n var bottomMinGap = isScrollingBack ? 0 : minGap;\r\n var skip = Math.floor(Math.max(0, topIndex - topMinGap) / maxGap) * maxGap;\r\n var take = Math.ceil((bottomIndex + bottomMinGap - skip) / maxGap) * maxGap;\r\n if (virtualMode) {\r\n var remainedItems = Math.max(0, totalItemsCount - skip);\r\n take = Math.min(take, remainedItems)\r\n }\r\n return {\r\n skip: skip,\r\n take: take\r\n }\r\n }\r\n itemsCount() {\r\n var result = 0;\r\n if (this.option(LEGACY_SCROLLING_MODE)) {\r\n result = this._dataLoader.itemsCount.apply(this._dataLoader, arguments)\r\n } else {\r\n result = this._dataOptions.itemsCount()\r\n }\r\n return result\r\n }\r\n pageIndex() {\r\n return this._dataLoader.pageIndex(...arguments)\r\n }\r\n beginPageIndex() {\r\n return this._dataLoader.beginPageIndex(...arguments)\r\n }\r\n endPageIndex() {\r\n return this._dataLoader.endPageIndex(...arguments)\r\n }\r\n pageSize() {\r\n return this._dataLoader.pageSize(...arguments)\r\n }\r\n load() {\r\n return this._dataLoader.load(...arguments)\r\n }\r\n loadIfNeed() {\r\n return this._dataLoader.loadIfNeed(...arguments)\r\n }\r\n handleDataChanged() {\r\n return this._dataLoader.handleDataChanged(...arguments)\r\n }\r\n getDelayDeferred() {\r\n return this._dataLoader.getDelayDeferred()\r\n }\r\n}\r\nexport default {\r\n VirtualScrollController: VirtualScrollController\r\n};\r\nexport {\r\n subscribeToExternalScrollers,\r\n VirtualScrollController\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isElementInDom\r\n} from \"../../../../core/utils/dom\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getOuterHeight\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow\r\n} from \"../../../../core/utils/window\";\r\nimport LoadIndicator from \"../../../../ui/load_indicator\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n subscribeToExternalScrollers,\r\n VirtualScrollController\r\n} from \"./m_virtual_scrolling_core\";\r\nvar BOTTOM_LOAD_PANEL_CLASS = \"bottom-load-panel\";\r\nvar GROUP_SPACE_CLASS = \"group-space\";\r\nvar FREESPACE_CLASS = \"dx-freespace-row\";\r\nvar COLUMN_LINES_CLASS = \"dx-column-lines\";\r\nvar VIRTUAL_ROW_CLASS = \"dx-virtual-row\";\r\nvar ROW_INSERTED = \"dx-row-inserted\";\r\nvar SCROLLING_MODE_INFINITE = \"infinite\";\r\nvar SCROLLING_MODE_VIRTUAL = \"virtual\";\r\nvar LOAD_TIMEOUT = 300;\r\nvar LEGACY_SCROLLING_MODE = \"scrolling.legacyMode\";\r\nvar VISIBLE_PAGE_INDEX = \"paging.pageIndex\";\r\nvar PAGING_METHOD_NAMES = [\"beginPageIndex\", \"endPageIndex\", \"pageIndex\"];\r\nvar isVirtualMode = function(that) {\r\n return that.option(\"scrolling.mode\") === SCROLLING_MODE_VIRTUAL\r\n};\r\nvar isAppendMode = function(that) {\r\n return that.option(\"scrolling.mode\") === SCROLLING_MODE_INFINITE\r\n};\r\nvar isVirtualPaging = function(that) {\r\n return isVirtualMode(that) || isAppendMode(that)\r\n};\r\nvar correctCount = function(items, count, fromEnd, isItemCountableFunc) {\r\n for (var i = 0; i < count + 1; i++) {\r\n var item = items[fromEnd ? items.length - 1 - i : i];\r\n if (item && !isItemCountableFunc(item, i === count, fromEnd)) {\r\n count++\r\n }\r\n }\r\n return count\r\n};\r\nvar isItemCountableByDataSource = function(item, dataSource) {\r\n return \"data\" === item.rowType && !item.isNewRow || \"group\" === item.rowType && dataSource.isGroupItemCountable(item.data)\r\n};\r\nvar updateItemIndices = function(items) {\r\n items.forEach((item, index) => {\r\n item.rowIndex = index\r\n });\r\n return items\r\n};\r\nvar updateLoading = function(that) {\r\n var beginPageIndex = that._virtualScrollController.beginPageIndex(-1);\r\n if (isVirtualMode(that)) {\r\n if (beginPageIndex < 0 || that.viewportSize() >= 0 && that.getViewportItemIndex() >= 0 && (beginPageIndex * that.pageSize() > that.getViewportItemIndex() || beginPageIndex * that.pageSize() + that.itemsCount() < that.getViewportItemIndex() + that.viewportSize()) && that._dataSource.isLoading()) {\r\n if (!that._isLoading) {\r\n that._isLoading = true;\r\n that.loadingChanged.fire(true)\r\n }\r\n } else if (that._isLoading) {\r\n that._isLoading = false;\r\n that.loadingChanged.fire(false)\r\n }\r\n }\r\n};\r\nvar proxyDataSourceAdapterMethod = function(that, methodName, args) {\r\n if (false === that.option(LEGACY_SCROLLING_MODE) && PAGING_METHOD_NAMES.includes(methodName)) {\r\n var dataSource = that._dataSource;\r\n return dataSource.pageIndex.apply(dataSource, args)\r\n }\r\n var virtualScrollController = that._virtualScrollController;\r\n return virtualScrollController[methodName].apply(virtualScrollController, args)\r\n};\r\nvar removeEmptyRows = function($emptyRows, className) {\r\n var tBodies = $emptyRows.toArray().map(row => $(row).parent(\".\".concat(className)).get(0)).filter(row => row);\r\n if (tBodies.length) {\r\n $emptyRows = $(tBodies)\r\n }\r\n var rowCount = className === FREESPACE_CLASS ? $emptyRows.length - 1 : $emptyRows.length;\r\n for (var i = 0; i < rowCount; i++) {\r\n $emptyRows.eq(i).remove()\r\n }\r\n};\r\nexport var dataSourceAdapterExtender = Base => class extends Base {\r\n init() {\r\n super.init.apply(this, arguments);\r\n this._items = [];\r\n this._totalCount = -1;\r\n this._isLoaded = true;\r\n this._loadPageCount = 1;\r\n this._virtualScrollController = new VirtualScrollController(this.component, this._getVirtualScrollDataOptions())\r\n }\r\n dispose() {\r\n this._virtualScrollController.dispose();\r\n super.dispose.apply(this, arguments)\r\n }\r\n _getVirtualScrollDataOptions() {\r\n var that = this;\r\n return {\r\n pageSize: () => that.pageSize(),\r\n totalItemsCount: () => that.totalItemsCount(),\r\n hasKnownLastPage: () => that.hasKnownLastPage(),\r\n pageIndex: index => that._dataSource.pageIndex(index),\r\n isLoading: () => that._dataSource.isLoading() && !that.isCustomLoading(),\r\n pageCount: () => that.pageCount(),\r\n load: () => that._dataSource.load(),\r\n updateLoading() {\r\n updateLoading(that)\r\n },\r\n itemsCount: () => that.itemsCount(true),\r\n items: () => that._dataSource.items(),\r\n viewportItems(items) {\r\n if (items) {\r\n that._items = items\r\n }\r\n return that._items\r\n },\r\n onChanged(e) {\r\n that.changed.fire(e)\r\n },\r\n changingDuration() {\r\n if (that.isLoading()) {\r\n return LOAD_TIMEOUT\r\n }\r\n return that._renderTime || 0\r\n }\r\n }\r\n }\r\n _handleLoadingChanged(isLoading) {\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n super._handleLoadingChanged.apply(this, arguments);\r\n return\r\n }\r\n if (!isVirtualMode(this) || this._isLoadingAll) {\r\n this._isLoading = isLoading;\r\n super._handleLoadingChanged.apply(this, arguments)\r\n }\r\n if (isLoading) {\r\n this._startLoadTime = new Date\r\n } else {\r\n this._startLoadTime = void 0\r\n }\r\n }\r\n _handleLoadError() {\r\n if (false !== this.option(LEGACY_SCROLLING_MODE)) {\r\n this._isLoading = false;\r\n this.loadingChanged.fire(false)\r\n }\r\n super._handleLoadError.apply(this, arguments)\r\n }\r\n _handleDataChanged(e) {\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n this._items = this._dataSource.items().slice();\r\n this._totalCount = this._dataSourceTotalCount(true);\r\n super._handleDataChanged.apply(this, arguments);\r\n return\r\n }\r\n var callBase = super._handleDataChanged.bind(this);\r\n this._virtualScrollController.handleDataChanged(callBase, e)\r\n }\r\n _customizeRemoteOperations(options, operationTypes) {\r\n var newMode = false === this.option(LEGACY_SCROLLING_MODE);\r\n var renderAsync = this.option(\"scrolling.renderAsync\");\r\n if (!isDefined(renderAsync)) {\r\n renderAsync = this._renderTime >= this.option(\"scrolling.renderingThreshold\")\r\n }\r\n if ((isVirtualMode(this) || isAppendMode(this) && newMode) && !operationTypes.reload && (operationTypes.skip || newMode) && !renderAsync) {\r\n options.delay = void 0\r\n }\r\n super._customizeRemoteOperations.apply(this, arguments)\r\n }\r\n items() {\r\n return this._items\r\n }\r\n _dataSourceTotalCount(isBase) {\r\n return false === this.option(LEGACY_SCROLLING_MODE) && isVirtualMode(this) && !isBase ? this._totalCount : super._dataSourceTotalCount()\r\n }\r\n itemsCount(isBase) {\r\n if (isBase || false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return super.itemsCount()\r\n }\r\n return this._virtualScrollController.itemsCount()\r\n }\r\n load(loadOptions) {\r\n if (false === this.option(LEGACY_SCROLLING_MODE) || loadOptions) {\r\n return super.load(loadOptions)\r\n }\r\n return this._virtualScrollController.load()\r\n }\r\n isLoading() {\r\n return false === this.option(LEGACY_SCROLLING_MODE) ? this._dataSource.isLoading() : this._isLoading\r\n }\r\n isLoaded() {\r\n return this._dataSource.isLoaded() && this._isLoaded\r\n }\r\n resetPagesCache(isLiveUpdate) {\r\n if (!isLiveUpdate) {\r\n this._virtualScrollController.reset(true)\r\n }\r\n super.resetPagesCache.apply(this, arguments)\r\n }\r\n _changeRowExpandCore() {\r\n var result = super._changeRowExpandCore.apply(this, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return result\r\n }\r\n this.resetPagesCache();\r\n updateLoading(this);\r\n return result\r\n }\r\n reload() {\r\n this._dataSource.pageIndex(this.pageIndex());\r\n var virtualScrollController = this._virtualScrollController;\r\n if (false !== this.option(LEGACY_SCROLLING_MODE) && virtualScrollController) {\r\n var d = new Deferred;\r\n super.reload.apply(this, arguments).done(r => {\r\n var delayDeferred = virtualScrollController.getDelayDeferred();\r\n if (delayDeferred) {\r\n delayDeferred.done(d.resolve).fail(d.reject)\r\n } else {\r\n d.resolve(r)\r\n }\r\n }).fail(d.reject);\r\n return d\r\n }\r\n return super.reload.apply(this, arguments)\r\n }\r\n refresh(options, operationTypes) {\r\n if (false !== this.option(LEGACY_SCROLLING_MODE)) {\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var dataSource = this._dataSource;\r\n if (operationTypes.reload) {\r\n this._virtualScrollController.reset();\r\n dataSource.items().length = 0;\r\n this._isLoaded = false;\r\n updateLoading(this);\r\n this._isLoaded = true;\r\n if (isAppendMode(this)) {\r\n this.pageIndex(0);\r\n dataSource.pageIndex(0);\r\n storeLoadOptions.pageIndex = 0;\r\n options.pageIndex = 0;\r\n storeLoadOptions.skip = 0\r\n } else {\r\n dataSource.pageIndex(this.pageIndex());\r\n if (dataSource.paginate()) {\r\n options.pageIndex = this.pageIndex();\r\n storeLoadOptions.skip = this.pageIndex() * this.pageSize()\r\n }\r\n }\r\n } else if (isAppendMode(this) && storeLoadOptions.skip && this._totalCountCorrection < 0) {\r\n storeLoadOptions.skip += this._totalCountCorrection\r\n }\r\n }\r\n return super.refresh.apply(this, arguments)\r\n }\r\n loadPageCount(count) {\r\n if (!isDefined(count)) {\r\n return this._loadPageCount\r\n }\r\n this._loadPageCount = count\r\n }\r\n _handleDataLoading(options) {\r\n var loadPageCount = this.loadPageCount();\r\n var pageSize = this.pageSize();\r\n var newMode = false === this.option(LEGACY_SCROLLING_MODE);\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var takeIsDefined = isDefined(storeLoadOptions.take);\r\n options.loadPageCount = loadPageCount;\r\n if (!options.isCustomLoading && newMode && takeIsDefined && loadPageCount > 1 && pageSize > 0) {\r\n storeLoadOptions.take = loadPageCount * pageSize\r\n }\r\n super._handleDataLoading.apply(this, arguments)\r\n }\r\n _loadPageSize() {\r\n return super._loadPageSize.apply(this, arguments) * this.loadPageCount()\r\n }\r\n beginPageIndex() {\r\n return proxyDataSourceAdapterMethod(this, \"beginPageIndex\", [...arguments])\r\n }\r\n endPageIndex() {\r\n return proxyDataSourceAdapterMethod(this, \"endPageIndex\", [...arguments])\r\n }\r\n pageIndex(pageIndex) {\r\n return proxyDataSourceAdapterMethod(this, \"pageIndex\", [...arguments])\r\n }\r\n virtualItemsCount() {\r\n return proxyDataSourceAdapterMethod(this, \"virtualItemsCount\", [...arguments])\r\n }\r\n getContentOffset() {\r\n return proxyDataSourceAdapterMethod(this, \"getContentOffset\", [...arguments])\r\n }\r\n getVirtualContentSize() {\r\n return proxyDataSourceAdapterMethod(this, \"getVirtualContentSize\", [...arguments])\r\n }\r\n setContentItemSizes() {\r\n return proxyDataSourceAdapterMethod(this, \"setContentItemSizes\", [...arguments])\r\n }\r\n setViewportPosition() {\r\n return proxyDataSourceAdapterMethod(this, \"setViewportPosition\", [...arguments])\r\n }\r\n getViewportItemIndex() {\r\n return proxyDataSourceAdapterMethod(this, \"getViewportItemIndex\", [...arguments])\r\n }\r\n setViewportItemIndex(viewportItemIndex) {\r\n return proxyDataSourceAdapterMethod(this, \"setViewportItemIndex\", [...arguments])\r\n }\r\n getItemIndexByPosition() {\r\n return proxyDataSourceAdapterMethod(this, \"getItemIndexByPosition\", [...arguments])\r\n }\r\n viewportSize() {\r\n return proxyDataSourceAdapterMethod(this, \"viewportSize\", [...arguments])\r\n }\r\n viewportItemSize() {\r\n return proxyDataSourceAdapterMethod(this, \"viewportItemSize\", [...arguments])\r\n }\r\n getItemSize() {\r\n return proxyDataSourceAdapterMethod(this, \"getItemSize\", [...arguments])\r\n }\r\n getItemSizes() {\r\n return proxyDataSourceAdapterMethod(this, \"getItemSizes\", [...arguments])\r\n }\r\n loadIfNeed() {\r\n return proxyDataSourceAdapterMethod(this, \"loadIfNeed\", [...arguments])\r\n }\r\n};\r\nexport var data = Base => class extends Base {\r\n dispose() {\r\n var rowsScrollController = this._rowsScrollController;\r\n rowsScrollController && rowsScrollController.dispose();\r\n super.dispose.apply(this, arguments)\r\n }\r\n _refreshDataSource() {\r\n var baseResult = super._refreshDataSource.apply(this, arguments) || (new Deferred).resolve().promise();\r\n baseResult.done(this.initVirtualRows.bind(this));\r\n return baseResult\r\n }\r\n _loadDataSource() {\r\n var _a;\r\n if (this._rowsScrollController && isVirtualPaging(this)) {\r\n var {\r\n loadPageCount: loadPageCount\r\n } = isDefined(this._loadViewportParams) ? this.getLoadPageParams() : {\r\n loadPageCount: 0\r\n };\r\n loadPageCount >= 1 && (null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.loadPageCount(loadPageCount))\r\n }\r\n return super._loadDataSource.apply(this, arguments)\r\n }\r\n getRowPageSize() {\r\n var rowPageSize = this.option(\"scrolling.rowPageSize\");\r\n var pageSize = this.pageSize();\r\n return pageSize && pageSize < rowPageSize ? pageSize : rowPageSize\r\n }\r\n reload() {\r\n var rowsScrollController = this._rowsScrollController || this._dataSource;\r\n var itemIndex = rowsScrollController && rowsScrollController.getItemIndexByPosition();\r\n var result = super.reload.apply(this, arguments);\r\n return result && result.done(() => {\r\n var _a, _b;\r\n if (isVirtualMode(this) || gridCoreUtils.isVirtualRowRendering(this)) {\r\n var rowIndexOffset = this.getRowIndexOffset();\r\n var rowIndex = Math.floor(itemIndex) - rowIndexOffset;\r\n var {\r\n component: component\r\n } = this;\r\n var scrollable = component.getScrollable && component.getScrollable();\r\n var isSortingOperation = this.dataSource().operationTypes().sorting;\r\n if (scrollable && !isSortingOperation && rowIndex >= 0) {\r\n var rowElement = component.getRowElement(rowIndex);\r\n var $rowElement = rowElement && rowElement[0] && $(rowElement[0]);\r\n var top = $rowElement && (null === (_a = $rowElement.position()) || void 0 === _a ? void 0 : _a.top);\r\n var isChromeLatest = browser.chrome && Number(null !== (_b = browser.version) && void 0 !== _b ? _b : 0) >= 91;\r\n var allowedTopOffset = browser.mozilla || isChromeLatest ? 1 : 0;\r\n if (top && top > allowedTopOffset) {\r\n top = Math.round(top + getOuterHeight($rowElement) * (itemIndex % 1));\r\n scrollable.scrollTo({\r\n y: top\r\n })\r\n }\r\n }\r\n }\r\n })\r\n }\r\n initVirtualRows() {\r\n var virtualRowsRendering = gridCoreUtils.isVirtualRowRendering(this);\r\n this._allItems = null;\r\n this._loadViewportParams = null;\r\n if (\"virtual\" !== this.option(\"scrolling.mode\") && !virtualRowsRendering || !virtualRowsRendering || false !== this.option(LEGACY_SCROLLING_MODE) && !this.option(\"scrolling.rowPageSize\")) {\r\n this._visibleItems = null;\r\n this._rowsScrollController = null;\r\n return\r\n }\r\n var pageIndex = !isVirtualMode(this) && this.pageIndex() >= this.pageCount() ? this.pageCount() - 1 : this.pageIndex();\r\n this._rowPageIndex = Math.ceil(pageIndex * this.pageSize() / this.getRowPageSize());\r\n this._visibleItems = false === this.option(LEGACY_SCROLLING_MODE) ? null : [];\r\n this._viewportChanging = false;\r\n this._needUpdateViewportAfterLoading = false;\r\n if (!this._rowsScrollController) {\r\n this._rowsScrollController = new VirtualScrollController(this.component, this._getRowsScrollDataOptions(), true);\r\n this._rowsScrollController.positionChanged.add(() => {\r\n var _a;\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n this._viewportChanging = true;\r\n this.loadViewport();\r\n this._viewportChanging = false;\r\n return\r\n }\r\n null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.setViewportItemIndex(this._rowsScrollController.getViewportItemIndex())\r\n })\r\n }\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n this._updateLoadViewportParams()\r\n }\r\n if (this.isLoaded() && false !== this.option(LEGACY_SCROLLING_MODE)) {\r\n this._rowsScrollController.load()\r\n }\r\n }\r\n isViewportChanging() {\r\n return this._viewportChanging\r\n }\r\n _getRowsScrollDataOptions() {\r\n var that = this;\r\n var isItemCountable = function(item) {\r\n return isItemCountableByDataSource(item, that._dataSource)\r\n };\r\n return {\r\n pageSize: () => that.getRowPageSize(),\r\n loadedOffset() {\r\n var _a;\r\n return isVirtualMode(that) && (null === (_a = that._dataSource) || void 0 === _a ? void 0 : _a.lastLoadOptions().skip) || 0\r\n },\r\n loadedItemCount: () => that._itemCount,\r\n totalItemsCount() {\r\n if (isVirtualPaging(that)) {\r\n return that.totalItemsCount()\r\n }\r\n return false === that.option(LEGACY_SCROLLING_MODE) ? that._itemCount : that._items.filter(isItemCountable).length\r\n },\r\n hasKnownLastPage: () => false === that.option(LEGACY_SCROLLING_MODE) ? that.hasKnownLastPage() : true,\r\n pageIndex(index) {\r\n if (void 0 !== index) {\r\n that._rowPageIndex = index\r\n }\r\n return that._rowPageIndex\r\n },\r\n isLoading: () => that.isLoading(),\r\n pageCount() {\r\n var pageCount = Math.ceil(this.totalItemsCount() / this.pageSize());\r\n return pageCount || 1\r\n },\r\n load() {\r\n if (that._rowsScrollController.pageIndex() >= this.pageCount()) {\r\n that._rowPageIndex = this.pageCount() - 1;\r\n that._rowsScrollController.pageIndex(that._rowPageIndex)\r\n }\r\n if (!this.items().length && this.totalItemsCount()) {\r\n return\r\n }\r\n that._rowsScrollController.handleDataChanged(change => {\r\n change = change || {};\r\n change.changeType = change.changeType || \"refresh\";\r\n change.items = change.items || that._visibleItems;\r\n that._visibleItems.forEach((item, index) => {\r\n item.rowIndex = index\r\n });\r\n that._fireChanged(change)\r\n })\r\n },\r\n updateLoading() {},\r\n itemsCount() {\r\n return this.items(true).length\r\n },\r\n correctCount: (items, count, fromEnd) => correctCount(items, count, fromEnd, (item, isNextAfterLast, fromEnd) => {\r\n if (item.isNewRow) {\r\n return isNextAfterLast && !fromEnd\r\n }\r\n if (isNextAfterLast && fromEnd) {\r\n return !item.isNewRow\r\n }\r\n return isItemCountable(item)\r\n }),\r\n items(countableOnly) {\r\n var result = that._items;\r\n if (that.option(LEGACY_SCROLLING_MODE)) {\r\n var dataSource = that.dataSource();\r\n var virtualItemsCount = null === dataSource || void 0 === dataSource ? void 0 : dataSource.virtualItemsCount();\r\n var begin = virtualItemsCount ? virtualItemsCount.begin : 0;\r\n var rowPageSize = that.getRowPageSize();\r\n var skip = that._rowPageIndex * rowPageSize - begin;\r\n var take = rowPageSize;\r\n if (skip < 0) {\r\n return []\r\n }\r\n if (skip) {\r\n skip = this.correctCount(result, skip);\r\n result = result.slice(skip)\r\n }\r\n if (take) {\r\n take = this.correctCount(result, take);\r\n result = result.slice(0, take)\r\n }\r\n }\r\n return countableOnly ? result.filter(isItemCountable) : result\r\n },\r\n viewportItems(items) {\r\n if (items && false !== that.option(LEGACY_SCROLLING_MODE)) {\r\n that._visibleItems = items\r\n }\r\n return that._visibleItems\r\n },\r\n onChanged() {},\r\n changingDuration() {\r\n var dataSource = that.dataSource();\r\n if ((null === dataSource || void 0 === dataSource ? void 0 : dataSource.isLoading()) && false !== that.option(LEGACY_SCROLLING_MODE)) {\r\n return LOAD_TIMEOUT\r\n }\r\n return (null === dataSource || void 0 === dataSource ? void 0 : dataSource._renderTime) || 0\r\n }\r\n }\r\n }\r\n _updateItemsCore(change) {\r\n var delta = this.getRowIndexDelta();\r\n super._updateItemsCore.apply(this, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && gridCoreUtils.isVirtualRowRendering(this)) {\r\n if (\"update\" === change.changeType && 0 === change.rowIndices.length && change.cancelEmptyChanges) {\r\n change.cancel = true\r\n }\r\n return\r\n }\r\n var rowsScrollController = this._rowsScrollController;\r\n if (rowsScrollController) {\r\n var visibleItems = this._visibleItems;\r\n var isRefresh = \"refresh\" === change.changeType || change.isLiveUpdate;\r\n if (\"append\" === change.changeType && change.items && !change.items.length) {\r\n return\r\n }\r\n if (isRefresh || \"append\" === change.changeType || \"prepend\" === change.changeType) {\r\n change.cancel = true;\r\n isRefresh && rowsScrollController.reset(true);\r\n rowsScrollController.load()\r\n } else {\r\n if (\"update\" === change.changeType) {\r\n change.rowIndices.forEach((rowIndex, index) => {\r\n var changeType = change.changeTypes[index];\r\n var newItem = change.items[index];\r\n if (\"update\" === changeType) {\r\n visibleItems[rowIndex] = newItem\r\n } else if (\"insert\" === changeType) {\r\n visibleItems.splice(rowIndex, 0, newItem)\r\n } else if (\"remove\" === changeType) {\r\n visibleItems.splice(rowIndex, 1)\r\n }\r\n })\r\n } else {\r\n visibleItems.forEach((item, index) => {\r\n visibleItems[index] = this._items[index + delta] || visibleItems[index]\r\n });\r\n change.items = visibleItems\r\n }\r\n updateItemIndices(visibleItems)\r\n }\r\n }\r\n }\r\n _updateLoadViewportParams() {\r\n var viewportParams = this._rowsScrollController.getViewportParams();\r\n var pageSize = this.pageSize();\r\n if (viewportParams && !isVirtualPaging(this) && pageSize > 0) {\r\n var pageOffset = this.pageIndex() * pageSize;\r\n viewportParams.skip += pageOffset\r\n }\r\n this._loadViewportParams = viewportParams\r\n }\r\n _processItems() {\r\n var _a;\r\n var resultItems = super._processItems.apply(this, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n var dataSource = this._dataSource;\r\n var currentIndex = null !== (_a = null === dataSource || void 0 === dataSource ? void 0 : dataSource.lastLoadOptions().skip) && void 0 !== _a ? _a : 0;\r\n var prevCountable;\r\n var prevRowType;\r\n var isPrevRowNew;\r\n var wasCountableItem = false;\r\n var newRows = [];\r\n resultItems.forEach(item => {\r\n var {\r\n rowType: rowType\r\n } = item;\r\n var itemCountable = isItemCountableByDataSource(item, dataSource);\r\n var isNextGroupItem = \"group\" === rowType && (prevCountable || itemCountable || \"group\" !== prevRowType && currentIndex > 0);\r\n var isNextDataItem = \"data\" === rowType && itemCountable && (prevCountable || \"group\" !== prevRowType);\r\n if (!item.isNewRow && isDefined(prevCountable)) {\r\n var isPrevNewRowFirst = isPrevRowNew && !wasCountableItem;\r\n if ((isNextGroupItem || isNextDataItem) && !isPrevNewRowFirst) {\r\n currentIndex++\r\n }\r\n }\r\n if (isNextGroupItem || isNextDataItem) {\r\n wasCountableItem = true\r\n }\r\n if (item.isNewRow) {\r\n newRows.push(item)\r\n } else {\r\n newRows.forEach(it => {\r\n it.loadIndex = currentIndex\r\n });\r\n newRows = []\r\n }\r\n item.loadIndex = currentIndex;\r\n prevCountable = itemCountable;\r\n prevRowType = rowType;\r\n isPrevRowNew = item.isNewRow\r\n });\r\n newRows.forEach(it => {\r\n it.loadIndex = currentIndex\r\n })\r\n }\r\n return resultItems\r\n }\r\n _afterProcessItems(items) {\r\n this._itemCount = items.filter(item => isItemCountableByDataSource(item, this._dataSource)).length;\r\n if (isDefined(this._loadViewportParams)) {\r\n this._updateLoadViewportParams();\r\n var result = items;\r\n this._allItems = items;\r\n if (items.length) {\r\n var {\r\n skipForCurrentPage: skipForCurrentPage\r\n } = this.getLoadPageParams(true);\r\n var skip = items[0].loadIndex + skipForCurrentPage;\r\n var {\r\n take: take\r\n } = this._loadViewportParams;\r\n result = items.filter(it => {\r\n var isNewRowInEmptyData = it.isNewRow && it.loadIndex === skip && 0 === take;\r\n var isLoadIndexGreaterStart = it.loadIndex >= skip;\r\n var isLoadIndexLessEnd = it.loadIndex < skip + take || isNewRowInEmptyData;\r\n return isLoadIndexGreaterStart && isLoadIndexLessEnd\r\n })\r\n }\r\n return result\r\n }\r\n return super._afterProcessItems.apply(this, arguments)\r\n }\r\n _applyChange(change) {\r\n var that = this;\r\n var {\r\n items: items\r\n } = change;\r\n var {\r\n changeType: changeType\r\n } = change;\r\n var {\r\n removeCount: removeCount\r\n } = change;\r\n if (removeCount) {\r\n var fromEnd = \"prepend\" === changeType;\r\n removeCount = correctCount(that._items, removeCount, fromEnd, (item, isNextAfterLast) => \"data\" === item.rowType && !item.isNewRow || \"group\" === item.rowType && (that._dataSource.isGroupItemCountable(item.data) || isNextAfterLast));\r\n change.removeCount = removeCount\r\n }\r\n switch (changeType) {\r\n case \"prepend\":\r\n that._items.unshift.apply(that._items, items);\r\n if (removeCount) {\r\n that._items.splice(-removeCount)\r\n }\r\n break;\r\n case \"append\":\r\n that._items.push.apply(that._items, items);\r\n if (removeCount) {\r\n that._items.splice(0, removeCount)\r\n }\r\n break;\r\n default:\r\n super._applyChange(change)\r\n }\r\n }\r\n items(allItems) {\r\n return allItems ? this._allItems || this._items : this._visibleItems || this._items\r\n }\r\n getRowIndexDelta() {\r\n var delta = 0;\r\n if (this.option(LEGACY_SCROLLING_MODE)) {\r\n var visibleItems = this._visibleItems;\r\n if (visibleItems && visibleItems[0]) {\r\n delta = this._items.indexOf(visibleItems[0])\r\n }\r\n }\r\n return delta < 0 ? 0 : delta\r\n }\r\n getRowIndexOffset(byLoadedRows, needGroupOffset) {\r\n var _a, _b;\r\n var offset = 0;\r\n var dataSource = this.dataSource();\r\n var rowsScrollController = this._rowsScrollController;\r\n var newMode = false === this.option(LEGACY_SCROLLING_MODE);\r\n var virtualPaging = isVirtualPaging(this);\r\n if (rowsScrollController && !byLoadedRows) {\r\n if (newMode && isDefined(this._loadViewportParams)) {\r\n var {\r\n skipForCurrentPage: skipForCurrentPage,\r\n pageIndex: pageIndex\r\n } = this.getLoadPageParams(true);\r\n var items = this.items(true);\r\n offset = virtualPaging ? pageIndex * this.pageSize() : 0;\r\n if (items.length) {\r\n var firstLoadIndex = items[0].loadIndex;\r\n offset += items.filter(item => item.loadIndex < firstLoadIndex + skipForCurrentPage).length\r\n }\r\n } else {\r\n offset = rowsScrollController.beginPageIndex() * rowsScrollController.pageSize()\r\n }\r\n } else if (virtualPaging && newMode && dataSource) {\r\n var lastLoadOptions = dataSource.lastLoadOptions();\r\n if (needGroupOffset && (null === (_a = lastLoadOptions.skips) || void 0 === _a ? void 0 : _a.length)) {\r\n offset = lastLoadOptions.skips.reduce((res, skip) => res + skip, 0)\r\n } else {\r\n offset = null !== (_b = lastLoadOptions.skip) && void 0 !== _b ? _b : 0\r\n }\r\n } else if (isVirtualMode(this) && dataSource) {\r\n offset = dataSource.beginPageIndex() * dataSource.pageSize()\r\n }\r\n return offset\r\n }\r\n getDataIndex() {\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return this.getRowIndexOffset(true, true)\r\n }\r\n return super.getDataIndex.apply(this, arguments)\r\n }\r\n viewportSize() {\r\n var rowsScrollController = this._rowsScrollController;\r\n var dataSource = this._dataSource;\r\n var result = null === rowsScrollController || void 0 === rowsScrollController ? void 0 : rowsScrollController.viewportSize.apply(rowsScrollController, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return result\r\n }\r\n return null === dataSource || void 0 === dataSource ? void 0 : dataSource.viewportSize.apply(dataSource, arguments)\r\n }\r\n viewportHeight(height, scrollTop) {\r\n var _a;\r\n null === (_a = this._rowsScrollController) || void 0 === _a ? void 0 : _a.viewportHeight(height, scrollTop)\r\n }\r\n viewportItemSize() {\r\n var rowsScrollController = this._rowsScrollController;\r\n var dataSource = this._dataSource;\r\n var result = null === rowsScrollController || void 0 === rowsScrollController ? void 0 : rowsScrollController.viewportItemSize.apply(rowsScrollController, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return result\r\n }\r\n return null === dataSource || void 0 === dataSource ? void 0 : dataSource.viewportItemSize.apply(dataSource, arguments)\r\n }\r\n setViewportPosition() {\r\n var rowsScrollController = this._rowsScrollController;\r\n var dataSource = this._dataSource;\r\n this._isPaging = false;\r\n if (rowsScrollController) {\r\n rowsScrollController.setViewportPosition.apply(rowsScrollController, arguments)\r\n } else {\r\n null === dataSource || void 0 === dataSource ? void 0 : dataSource.setViewportPosition.apply(dataSource, arguments)\r\n }\r\n }\r\n setContentItemSizes(sizes) {\r\n var rowsScrollController = this._rowsScrollController;\r\n var dataSource = this._dataSource;\r\n var result = null === rowsScrollController || void 0 === rowsScrollController ? void 0 : rowsScrollController.setContentItemSizes(sizes);\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return result\r\n }\r\n return null === dataSource || void 0 === dataSource ? void 0 : dataSource.setContentItemSizes(sizes)\r\n }\r\n getPreloadedRowCount() {\r\n var preloadCount = this.option(\"scrolling.preloadedRowCount\");\r\n var preloadEnabled = this.option(\"scrolling.preloadEnabled\");\r\n if (isDefined(preloadCount)) {\r\n return preloadCount\r\n }\r\n var viewportSize = this.viewportSize();\r\n return preloadEnabled ? 2 * viewportSize : viewportSize\r\n }\r\n getLoadPageParams(byLoadedPage) {\r\n var _a, _b;\r\n var pageSize = this.pageSize();\r\n var viewportParams = this._loadViewportParams;\r\n var lastLoadOptions = null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.lastLoadOptions();\r\n var loadedPageIndex = (null === lastLoadOptions || void 0 === lastLoadOptions ? void 0 : lastLoadOptions.pageIndex) || 0;\r\n var loadedTake = (null === lastLoadOptions || void 0 === lastLoadOptions ? void 0 : lastLoadOptions.take) || 0;\r\n var isScrollingBack = this._rowsScrollController.isScrollingBack();\r\n var topPreloadCount = isScrollingBack ? this.getPreloadedRowCount() : 0;\r\n var bottomPreloadCount = isScrollingBack ? 0 : this.getPreloadedRowCount();\r\n var totalCountCorrection = (null === (_b = this._dataSource) || void 0 === _b ? void 0 : _b.totalCountCorrection()) || 0;\r\n var skipWithPreload = Math.max(0, viewportParams.skip - topPreloadCount);\r\n var pageIndex = byLoadedPage ? loadedPageIndex : Math.floor(pageSize ? skipWithPreload / pageSize : 0);\r\n var pageOffset = pageIndex * pageSize;\r\n var skipForCurrentPage = viewportParams.skip - pageOffset;\r\n var loadingTake = viewportParams.take + skipForCurrentPage + bottomPreloadCount - totalCountCorrection;\r\n var take = byLoadedPage ? loadedTake : loadingTake;\r\n var loadPageCount = Math.ceil(pageSize ? take / pageSize : 0);\r\n return {\r\n pageIndex: pageIndex,\r\n loadPageCount: Math.max(1, loadPageCount),\r\n skipForCurrentPage: Math.max(0, skipForCurrentPage)\r\n }\r\n }\r\n _updateVisiblePageIndex(currentPageIndex) {\r\n if (!this._rowsScrollController) {\r\n return\r\n }\r\n if (isDefined(currentPageIndex)) {\r\n this._silentOption(VISIBLE_PAGE_INDEX, currentPageIndex);\r\n this.pageChanged.fire();\r\n return\r\n }\r\n var viewPortItemIndex = this._rowsScrollController.getViewportItemIndex();\r\n var newPageIndex = Math.floor(viewPortItemIndex / this.pageSize());\r\n if (this.pageIndex() !== newPageIndex) {\r\n this._silentOption(VISIBLE_PAGE_INDEX, newPageIndex);\r\n this.updateItems({\r\n changeType: \"pageIndex\"\r\n })\r\n }\r\n }\r\n _getChangedLoadParams() {\r\n var loadedPageParams = this.getLoadPageParams(true);\r\n var {\r\n pageIndex: pageIndex,\r\n loadPageCount: loadPageCount\r\n } = this.getLoadPageParams();\r\n var pageIndexIsValid = this._pageIndexIsValid(pageIndex);\r\n var result = null;\r\n if (!this._isLoading && pageIndexIsValid && (pageIndex !== loadedPageParams.pageIndex || loadPageCount !== loadedPageParams.loadPageCount)) {\r\n result = {\r\n pageIndex: pageIndex,\r\n loadPageCount: loadPageCount\r\n }\r\n }\r\n return result\r\n }\r\n _pageIndexIsValid(pageIndex) {\r\n var result = true;\r\n if (isAppendMode(this) && this.hasKnownLastPage() || isVirtualMode(this)) {\r\n result = pageIndex * this.pageSize() < this.totalItemsCount()\r\n }\r\n return result\r\n }\r\n _loadItems(checkLoading, viewportIsFilled) {\r\n var _a, _b;\r\n var virtualPaging = isVirtualPaging(this);\r\n var dataSourceAdapter = this._dataSource;\r\n var changedParams = this._getChangedLoadParams();\r\n var currentLoadPageCount = null !== (_a = null === dataSourceAdapter || void 0 === dataSourceAdapter ? void 0 : dataSourceAdapter.loadPageCount()) && void 0 !== _a ? _a : 0;\r\n var lastRequiredItemCount = this.pageSize() * currentLoadPageCount;\r\n var currentPageIndex = null !== (_b = null === dataSourceAdapter || void 0 === dataSourceAdapter ? void 0 : dataSourceAdapter.pageIndex()) && void 0 !== _b ? _b : 0;\r\n var pageIndexNotChanged = (null === changedParams || void 0 === changedParams ? void 0 : changedParams.pageIndex) === currentPageIndex;\r\n var allLoadedInAppendMode = isAppendMode(this) && this.totalItemsCount() < lastRequiredItemCount;\r\n var isRepaintMode = \"repaint\" === this.option(\"editing.refreshMode\");\r\n var pageIndexIncreased = (null === changedParams || void 0 === changedParams ? void 0 : changedParams.pageIndex) > currentPageIndex;\r\n var result = false;\r\n if (!dataSourceAdapter || virtualPaging && checkLoading && (isRepaintMode && viewportIsFilled || pageIndexIncreased || pageIndexNotChanged && allLoadedInAppendMode)) {\r\n return result\r\n }\r\n if (virtualPaging && this._isLoading) {\r\n this._needUpdateViewportAfterLoading = true\r\n }\r\n if (virtualPaging && changedParams) {\r\n result = true;\r\n dataSourceAdapter.pageIndex(changedParams.pageIndex);\r\n dataSourceAdapter.loadPageCount(changedParams.loadPageCount);\r\n this._repaintChangesOnly = true;\r\n this._needUpdateDimensions = true;\r\n var viewportChanging = this._viewportChanging;\r\n this.load().always(() => {\r\n this._repaintChangesOnly = void 0;\r\n this._needUpdateDimensions = void 0\r\n }).done(() => {\r\n var isLastPage = this.pageCount() > 0 && this.pageIndex() === this.pageCount() - 1;\r\n (viewportChanging || isLastPage) && this._updateVisiblePageIndex();\r\n if (this._needUpdateViewportAfterLoading) {\r\n this._needUpdateViewportAfterLoading = false;\r\n this.loadViewport({\r\n checkLoadedParamsOnly: true\r\n })\r\n }\r\n })\r\n }\r\n return result\r\n }\r\n loadViewport(params) {\r\n var _a, _b, _c;\r\n var {\r\n checkLoadedParamsOnly: checkLoadedParamsOnly,\r\n checkLoading: checkLoading,\r\n viewportIsNotFilled: viewportIsNotFilled\r\n } = null !== params && void 0 !== params ? params : {};\r\n var virtualPaging = isVirtualPaging(this);\r\n if (virtualPaging || gridCoreUtils.isVirtualRowRendering(this)) {\r\n this._updateLoadViewportParams();\r\n var loadingItemsStarted = this._loadItems(checkLoading, !viewportIsNotFilled);\r\n var isCustomLoading = null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.isCustomLoading();\r\n var isLoading = checkLoading && !isCustomLoading && this._isLoading;\r\n var needToUpdateItems = !(loadingItemsStarted || isLoading || checkLoadedParamsOnly);\r\n if (needToUpdateItems) {\r\n var noPendingChangesInEditing = !(null === (_c = null === (_b = this._editingController) || void 0 === _b ? void 0 : _b.getChanges()) || void 0 === _c ? void 0 : _c.length);\r\n this.updateItems({\r\n repaintChangesOnly: true,\r\n needUpdateDimensions: true,\r\n useProcessedItemsCache: noPendingChangesInEditing,\r\n cancelEmptyChanges: true\r\n })\r\n }\r\n }\r\n }\r\n updateViewport() {\r\n var _a, _b;\r\n var viewportSize = this.viewportSize();\r\n var itemCount = this.items().length;\r\n var viewportIsNotFilled = viewportSize > itemCount;\r\n var currentTake = null !== (_b = null === (_a = this._loadViewportParams) || void 0 === _a ? void 0 : _a.take) && void 0 !== _b ? _b : 0;\r\n var rowsScrollController = this._rowsScrollController;\r\n var newTake = null === rowsScrollController || void 0 === rowsScrollController ? void 0 : rowsScrollController.getViewportParams().take;\r\n (viewportIsNotFilled || currentTake < newTake) && !this._isPaging && itemCount && this.loadViewport({\r\n checkLoading: true,\r\n viewportIsNotFilled: viewportIsNotFilled\r\n })\r\n }\r\n loadIfNeed() {\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return\r\n }\r\n var rowsScrollController = this._rowsScrollController;\r\n rowsScrollController && rowsScrollController.loadIfNeed();\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.loadIfNeed()\r\n }\r\n getItemSize() {\r\n var rowsScrollController = this._rowsScrollController;\r\n if (rowsScrollController) {\r\n return rowsScrollController.getItemSize.apply(rowsScrollController, arguments)\r\n }\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.getItemSize.apply(dataSource, arguments)\r\n }\r\n getItemSizes() {\r\n var rowsScrollController = this._rowsScrollController;\r\n if (rowsScrollController) {\r\n return rowsScrollController.getItemSizes.apply(rowsScrollController, arguments)\r\n }\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.getItemSizes.apply(dataSource, arguments)\r\n }\r\n getContentOffset() {\r\n var rowsScrollController = this._rowsScrollController;\r\n if (rowsScrollController) {\r\n return rowsScrollController.getContentOffset.apply(rowsScrollController, arguments)\r\n }\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.getContentOffset.apply(dataSource, arguments)\r\n }\r\n refresh(options) {\r\n var dataSource = this._dataSource;\r\n if (dataSource && options && options.load && isAppendMode(this)) {\r\n dataSource.resetCurrentTotalCount()\r\n }\r\n return super.refresh.apply(this, arguments)\r\n }\r\n topItemIndex() {\r\n var _a;\r\n return null === (_a = this._loadViewportParams) || void 0 === _a ? void 0 : _a.skip\r\n }\r\n bottomItemIndex() {\r\n var viewportParams = this._loadViewportParams;\r\n return viewportParams && viewportParams.skip + viewportParams.take\r\n }\r\n virtualItemsCount() {\r\n var rowsScrollController = this._rowsScrollController;\r\n if (rowsScrollController) {\r\n return rowsScrollController.virtualItemsCount.apply(rowsScrollController, arguments)\r\n }\r\n var dataSource = this._dataSource;\r\n return null === dataSource || void 0 === dataSource ? void 0 : dataSource.virtualItemsCount.apply(dataSource, arguments)\r\n }\r\n pageIndex(pageIndex) {\r\n var _a;\r\n var virtualPaging = isVirtualPaging(this);\r\n var rowsScrollController = this._rowsScrollController;\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && virtualPaging && rowsScrollController) {\r\n if (void 0 === pageIndex) {\r\n return null !== (_a = this.option(VISIBLE_PAGE_INDEX)) && void 0 !== _a ? _a : 0\r\n }\r\n }\r\n return super.pageIndex.apply(this, arguments)\r\n }\r\n _fireChanged(e) {\r\n super._fireChanged.apply(this, arguments);\r\n var {\r\n operationTypes: operationTypes\r\n } = e;\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && isVirtualPaging(this) && operationTypes) {\r\n var {\r\n fullReload: fullReload,\r\n pageIndex: pageIndex\r\n } = operationTypes;\r\n if (e.isDataChanged && !fullReload && pageIndex) {\r\n this._updateVisiblePageIndex(this._dataSource.pageIndex())\r\n }\r\n }\r\n }\r\n _getPagingOptionValue(optionName) {\r\n var result = super._getPagingOptionValue.apply(this, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && isVirtualPaging(this)) {\r\n result = this[optionName]()\r\n }\r\n return result\r\n }\r\n isEmpty() {\r\n return false === this.option(LEGACY_SCROLLING_MODE) ? !this.items(true).length : super.isEmpty.apply(this, arguments)\r\n }\r\n isLastPageLoaded() {\r\n var result = false;\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && isVirtualPaging(this)) {\r\n var {\r\n pageIndex: pageIndex,\r\n loadPageCount: loadPageCount\r\n } = this.getLoadPageParams(true);\r\n var pageCount = this.pageCount();\r\n result = pageIndex + loadPageCount >= pageCount\r\n } else {\r\n result = super.isLastPageLoaded.apply(this, arguments)\r\n }\r\n return result\r\n }\r\n reset() {\r\n this._itemCount = 0;\r\n this._allItems = null;\r\n super.reset.apply(this, arguments)\r\n }\r\n _applyFilter() {\r\n var _a;\r\n null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.loadPageCount(1);\r\n return super._applyFilter.apply(this, arguments)\r\n }\r\n getVirtualContentSize() {\r\n var _a;\r\n return null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.getVirtualContentSize.apply(this._dataSource, arguments)\r\n }\r\n setViewportItemIndex() {\r\n var _a;\r\n return null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.setViewportItemIndex.apply(this._dataSource, arguments)\r\n }\r\n};\r\nexport var resizing = Base => class extends Base {\r\n dispose() {\r\n super.dispose.apply(this, arguments);\r\n clearTimeout(this._resizeTimeout)\r\n }\r\n _updateMasterDataGridCore(masterDataGrid) {\r\n return when(super._updateMasterDataGridCore.apply(this, arguments)).done(masterDataGridUpdated => {\r\n var isNewVirtualMode = isVirtualMode(masterDataGrid) && false === masterDataGrid.option(LEGACY_SCROLLING_MODE);\r\n if (!masterDataGridUpdated && isNewVirtualMode) {\r\n var scrollable = masterDataGrid.getScrollable();\r\n if (scrollable) {\r\n masterDataGrid.updateDimensions()\r\n }\r\n }\r\n })\r\n }\r\n hasResizeTimeout() {\r\n return !!this._resizeTimeout\r\n }\r\n resize() {\r\n var result;\r\n if (isVirtualMode(this) || gridCoreUtils.isVirtualRowRendering(this)) {\r\n clearTimeout(this._resizeTimeout);\r\n this._resizeTimeout = null;\r\n var diff = new Date - this._lastTime;\r\n var updateTimeout = this.option(\"scrolling.updateTimeout\");\r\n if (this._lastTime && diff < updateTimeout) {\r\n result = new Deferred;\r\n this._resizeTimeout = setTimeout(() => {\r\n this._resizeTimeout = null;\r\n super.resize.apply(this).done(result.resolve).fail(result.reject);\r\n this._lastTime = new Date\r\n }, updateTimeout);\r\n this._lastTime = new Date\r\n } else {\r\n result = super.resize.apply(this);\r\n if (this._dataController.isLoaded()) {\r\n this._lastTime = new Date\r\n }\r\n }\r\n } else {\r\n result = super.resize.apply(this)\r\n }\r\n return result\r\n }\r\n};\r\nexport var rowsView = Base => class extends Base {\r\n init() {\r\n var _a;\r\n super.init();\r\n this._dataController.pageChanged.add(pageIndex => {\r\n var scrollTop = this._scrollTop;\r\n this.scrollToPage(null !== pageIndex && void 0 !== pageIndex ? pageIndex : this._dataController.pageIndex());\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && this._scrollTop === scrollTop) {\r\n this._dataController.updateViewport()\r\n }\r\n });\r\n this._dataController.dataSourceChanged.add(() => {\r\n !this._scrollTop && this._scrollToCurrentPageOnResize()\r\n });\r\n null === (_a = this._dataController.stateLoaded) || void 0 === _a ? void 0 : _a.add(() => {\r\n this._scrollToCurrentPageOnResize()\r\n });\r\n this._scrollToCurrentPageOnResize()\r\n }\r\n dispose() {\r\n clearTimeout(this._scrollTimeoutID);\r\n super.dispose()\r\n }\r\n _scrollToCurrentPageOnResize() {\r\n if (this._dataController.pageIndex() > 0) {\r\n var resizeHandler = () => {\r\n this.resizeCompleted.remove(resizeHandler);\r\n this.scrollToPage(this._dataController.pageIndex())\r\n };\r\n this.resizeCompleted.add(resizeHandler)\r\n }\r\n }\r\n scrollToPage(pageIndex) {\r\n var pageSize = this._dataController ? this._dataController.pageSize() : 0;\r\n var scrollPosition;\r\n if (isVirtualMode(this) || isAppendMode(this)) {\r\n var itemSize = this._dataController.getItemSize();\r\n var itemSizes = this._dataController.getItemSizes();\r\n var itemIndex = pageIndex * pageSize;\r\n scrollPosition = itemIndex * itemSize;\r\n for (var index in itemSizes) {\r\n if (parseInt(index) < itemIndex) {\r\n scrollPosition += itemSizes[index] - itemSize\r\n }\r\n }\r\n } else {\r\n scrollPosition = 0\r\n }\r\n this.scrollTo({\r\n y: scrollPosition,\r\n x: this._scrollLeft\r\n })\r\n }\r\n renderDelayedTemplates() {\r\n this.waitAsyncTemplates().done(() => {\r\n this._updateContentPosition(true)\r\n });\r\n super.renderDelayedTemplates.apply(this, arguments)\r\n }\r\n _renderCore(e) {\r\n var startRenderTime = new Date;\r\n var deferred = super._renderCore.apply(this, arguments);\r\n var dataSource = this._dataController._dataSource;\r\n if (dataSource && e) {\r\n var itemCount = e.items ? e.items.length : 20;\r\n var viewportSize = this._dataController.viewportSize() || 20;\r\n if (gridCoreUtils.isVirtualRowRendering(this) && itemCount > 0 && false !== this.option(LEGACY_SCROLLING_MODE)) {\r\n dataSource._renderTime = (new Date - startRenderTime) * viewportSize / itemCount\r\n } else {\r\n dataSource._renderTime = new Date - startRenderTime\r\n }\r\n }\r\n return deferred\r\n }\r\n _getRowElements(tableElement) {\r\n var $rows = super._getRowElements(tableElement);\r\n return $rows && $rows.not(\".\".concat(VIRTUAL_ROW_CLASS))\r\n }\r\n _removeRowsElements(contentTable, removeCount, changeType) {\r\n var rowElements = this._getRowElements(contentTable).toArray();\r\n if (\"append\" === changeType) {\r\n rowElements = rowElements.slice(0, removeCount)\r\n } else {\r\n rowElements = rowElements.slice(-removeCount)\r\n }\r\n rowElements.map(rowElement => {\r\n var $rowElement = $(rowElement);\r\n this._errorHandlingController && this._errorHandlingController.removeErrorRow($rowElement.next());\r\n $rowElement.remove()\r\n })\r\n }\r\n _updateContent(tableElement, change) {\r\n var $freeSpaceRowElements;\r\n var contentElement = this._findContentElement();\r\n var changeType = change && change.changeType;\r\n var d = Deferred();\r\n var contentTable = contentElement.children().first();\r\n if (\"append\" === changeType || \"prepend\" === changeType) {\r\n this.waitAsyncTemplates().done(() => {\r\n var $tBodies = this._getBodies(tableElement);\r\n if (1 === $tBodies.length) {\r\n this._getBodies(contentTable)[\"append\" === changeType ? \"append\" : \"prepend\"]($tBodies.children())\r\n } else {\r\n $tBodies[\"append\" === changeType ? \"appendTo\" : \"prependTo\"](contentTable)\r\n }\r\n tableElement.remove();\r\n $freeSpaceRowElements = this._getFreeSpaceRowElements(contentTable);\r\n removeEmptyRows($freeSpaceRowElements, FREESPACE_CLASS);\r\n if (change.removeCount) {\r\n this._removeRowsElements(contentTable, change.removeCount, changeType)\r\n }\r\n this._restoreErrorRow(contentTable);\r\n d.resolve()\r\n }).fail(d.reject)\r\n } else {\r\n super._updateContent.apply(this, arguments).done(() => {\r\n if (\"update\" === changeType) {\r\n this._restoreErrorRow(contentTable)\r\n }\r\n d.resolve()\r\n }).fail(d.reject)\r\n }\r\n return d.promise().done(() => {\r\n this._updateBottomLoading()\r\n })\r\n }\r\n _addVirtualRow($table, isFixed, location, position) {\r\n if (!position) {\r\n return\r\n }\r\n var $virtualRow = this._createEmptyRow(VIRTUAL_ROW_CLASS, isFixed, position);\r\n $virtualRow = this._wrapRowIfNeed($table, $virtualRow);\r\n this._appendEmptyRow($table, $virtualRow, location)\r\n }\r\n _updateContentItemSizes() {\r\n var rowHeights = this._getRowHeights();\r\n var correctedRowHeights = this._correctRowHeights(rowHeights);\r\n this._dataController.setContentItemSizes(correctedRowHeights)\r\n }\r\n _updateViewportSize(viewportHeight, scrollTop) {\r\n if (!isDefined(viewportHeight)) {\r\n viewportHeight = this._hasHeight ? getOuterHeight(this.element()) : getOuterHeight(getWindow())\r\n }\r\n this._dataController.viewportHeight(viewportHeight, scrollTop)\r\n }\r\n _getRowHeights() {\r\n var _a, _b;\r\n var isPopupEditMode = null === (_b = null === (_a = this._editingController) || void 0 === _a ? void 0 : _a.isPopupEditMode) || void 0 === _b ? void 0 : _b.call(_a);\r\n var rowElements = this._getRowElements(this._tableElement).toArray();\r\n if (isPopupEditMode) {\r\n rowElements = rowElements.filter(row => !$(row).hasClass(ROW_INSERTED))\r\n }\r\n return rowElements.map(row => getBoundingRect(row).height)\r\n }\r\n _correctRowHeights(rowHeights) {\r\n var dataController = this._dataController;\r\n var dataSource = dataController._dataSource;\r\n var correctedRowHeights = [];\r\n var visibleRows = dataController.getVisibleRows();\r\n var itemSize = 0;\r\n var firstCountableItem = true;\r\n var lastLoadIndex = -1;\r\n for (var i = 0; i < rowHeights.length; i++) {\r\n var currentItem = visibleRows[i];\r\n if (!isDefined(currentItem)) {\r\n continue\r\n }\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n if (lastLoadIndex >= 0 && lastLoadIndex !== currentItem.loadIndex) {\r\n correctedRowHeights.push(itemSize);\r\n itemSize = 0\r\n }\r\n lastLoadIndex = currentItem.loadIndex\r\n } else if (isItemCountableByDataSource(currentItem, dataSource)) {\r\n if (firstCountableItem) {\r\n firstCountableItem = false\r\n } else {\r\n correctedRowHeights.push(itemSize);\r\n itemSize = 0\r\n }\r\n }\r\n itemSize += rowHeights[i]\r\n }\r\n itemSize > 0 && correctedRowHeights.push(itemSize);\r\n return correctedRowHeights\r\n }\r\n _updateContentPosition(isRender) {\r\n var rowHeight = this._rowHeight || 20;\r\n this._dataController.viewportItemSize(rowHeight);\r\n if (isVirtualMode(this) || gridCoreUtils.isVirtualRowRendering(this)) {\r\n if (!isRender) {\r\n this._updateContentItemSizes()\r\n }\r\n var top = this._dataController.getContentOffset(\"begin\");\r\n var bottom = this._dataController.getContentOffset(\"end\");\r\n var $tables = this.getTableElements();\r\n var $virtualRows = $tables.children(\"tbody\").children(\".\".concat(VIRTUAL_ROW_CLASS));\r\n removeEmptyRows($virtualRows, VIRTUAL_ROW_CLASS);\r\n $tables.each((index, element) => {\r\n var isFixed = index > 0;\r\n var prevFixed = this._isFixedTableRendering;\r\n this._isFixedTableRendering = isFixed;\r\n this._addVirtualRow($(element), isFixed, \"top\", top);\r\n this._addVirtualRow($(element), isFixed, \"bottom\", bottom);\r\n this._isFixedTableRendering = prevFixed\r\n })\r\n }\r\n }\r\n _isTableLinesDisplaysCorrect(table) {\r\n var hasColumnLines = table.find(\".\".concat(COLUMN_LINES_CLASS)).length > 0;\r\n return hasColumnLines === this.option(\"showColumnLines\")\r\n }\r\n _isColumnElementsEqual($columns, $virtualColumns) {\r\n var result = $columns.length === $virtualColumns.length;\r\n if (result) {\r\n each($columns, (index, element) => {\r\n if (element.style.width !== $virtualColumns[index].style.width) {\r\n result = false;\r\n return result\r\n }\r\n return\r\n })\r\n }\r\n return result\r\n }\r\n _getCellClasses(column) {\r\n var classes = [];\r\n var {\r\n cssClass: cssClass\r\n } = column;\r\n var isExpandColumn = \"expand\" === column.command;\r\n cssClass && classes.push(cssClass);\r\n isExpandColumn && classes.push(this.addWidgetPrefix(GROUP_SPACE_CLASS));\r\n return classes\r\n }\r\n _findBottomLoadPanel($contentElement) {\r\n var $element = $contentElement || this.element();\r\n var $bottomLoadPanel = $element && $element.find(\".\".concat(this.addWidgetPrefix(BOTTOM_LOAD_PANEL_CLASS)));\r\n if ($bottomLoadPanel && $bottomLoadPanel.length) {\r\n return $bottomLoadPanel\r\n }\r\n }\r\n _updateBottomLoading() {\r\n var virtualMode = isVirtualMode(this);\r\n var appendMode = isAppendMode(this);\r\n var showBottomLoading = !this._dataController.hasKnownLastPage() && this._dataController.isLoaded() && (virtualMode || appendMode);\r\n var $contentElement = this._findContentElement();\r\n var bottomLoadPanelElement = this._findBottomLoadPanel($contentElement);\r\n if (showBottomLoading) {\r\n if (!bottomLoadPanelElement) {\r\n $(\"<div>\").addClass(this.addWidgetPrefix(BOTTOM_LOAD_PANEL_CLASS)).append(this._createComponent($(\"<div>\"), LoadIndicator).$element()).appendTo($contentElement)\r\n }\r\n } else if (bottomLoadPanelElement) {\r\n bottomLoadPanelElement.remove()\r\n }\r\n }\r\n _handleScroll(e) {\r\n var legacyScrollingMode = true === this.option(LEGACY_SCROLLING_MODE);\r\n var zeroTopPosition = 0 === e.scrollOffset.top;\r\n var isScrollTopChanged = this._scrollTop !== e.scrollOffset.top;\r\n var hasScrolled = isScrollTopChanged || e.forceUpdateScrollPosition;\r\n var isValidScrollTarget = this._hasHeight || !legacyScrollingMode && zeroTopPosition;\r\n if (hasScrolled && isValidScrollTarget && this._rowHeight) {\r\n this._scrollTop = e.scrollOffset.top;\r\n var isVirtualRowRendering = isVirtualMode(this) || \"standard\" !== this.option(\"scrolling.rowRenderingMode\");\r\n if (isVirtualRowRendering && false === this.option(LEGACY_SCROLLING_MODE)) {\r\n this._updateContentItemSizes();\r\n this._updateViewportSize(null, this._scrollTop)\r\n }\r\n this._dataController.setViewportPosition(e.scrollOffset.top)\r\n }\r\n super._handleScroll.apply(this, arguments)\r\n }\r\n _needUpdateRowHeight(itemsCount) {\r\n return super._needUpdateRowHeight.apply(this, arguments) || itemsCount > 0 && isAppendMode(this) && !gridCoreUtils.isVirtualRowRendering(this)\r\n }\r\n _updateRowHeight() {\r\n super._updateRowHeight.apply(this, arguments);\r\n if (this._rowHeight) {\r\n this._updateContentPosition();\r\n var viewportHeight = this._hasHeight ? getOuterHeight(this.element()) : getOuterHeight(getWindow());\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n this._updateViewportSize(viewportHeight);\r\n this._dataController.updateViewport()\r\n } else {\r\n this._dataController.viewportSize(Math.ceil(viewportHeight / this._rowHeight))\r\n }\r\n }\r\n }\r\n updateFreeSpaceRowHeight() {\r\n var result = super.updateFreeSpaceRowHeight.apply(this, arguments);\r\n if (result) {\r\n this._updateContentPosition()\r\n }\r\n return result\r\n }\r\n setLoading(isLoading, messageText) {\r\n var dataController = this._dataController;\r\n var hasBottomLoadPanel = dataController.pageIndex() > 0 && dataController.isLoaded() && !!this._findBottomLoadPanel();\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && isLoading && dataController.isViewportChanging()) {\r\n return\r\n }\r\n if (hasBottomLoadPanel) {\r\n isLoading = false\r\n }\r\n super.setLoading.call(this, isLoading, messageText)\r\n }\r\n throwHeightWarningIfNeed() {\r\n if (void 0 === this._hasHeight) {\r\n return\r\n }\r\n var needToThrow = !this._hasHeight && isVirtualPaging(this);\r\n if (needToThrow && !this._heightWarningIsThrown) {\r\n this._heightWarningIsThrown = true;\r\n errors.log(\"W1025\")\r\n }\r\n }\r\n _resizeCore() {\r\n var that = this;\r\n var $element = that.element();\r\n super._resizeCore();\r\n this.throwHeightWarningIfNeed();\r\n if (that.component.$element() && !that._windowScroll && isElementInDom($element)) {\r\n that._windowScroll = subscribeToExternalScrollers($element, scrollPos => {\r\n if (!that._hasHeight && that._rowHeight) {\r\n that._dataController.setViewportPosition(scrollPos)\r\n }\r\n }, that.component.$element());\r\n that.on(\"disposing\", () => {\r\n that._windowScroll.dispose()\r\n })\r\n }\r\n if (false !== this.option(LEGACY_SCROLLING_MODE)) {\r\n that.loadIfNeed()\r\n }\r\n }\r\n loadIfNeed() {\r\n var _a, _b;\r\n null === (_b = null === (_a = this._dataController) || void 0 === _a ? void 0 : _a.loadIfNeed) || void 0 === _b ? void 0 : _b.call(_a)\r\n }\r\n _restoreErrorRow(contentTable) {\r\n var _a;\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n null === (_a = this._errorHandlingController) || void 0 === _a ? void 0 : _a.removeErrorRow()\r\n }\r\n super._restoreErrorRow.apply(this, arguments)\r\n }\r\n};\r\nexport var virtualScrollingModule = {\r\n defaultOptions: () => ({\r\n scrolling: {\r\n timeout: 300,\r\n updateTimeout: 300,\r\n minTimeout: 0,\r\n renderingThreshold: 100,\r\n removeInvisiblePages: true,\r\n rowPageSize: 5,\r\n prerenderedRowChunkSize: 1,\r\n mode: \"standard\",\r\n preloadEnabled: false,\r\n rowRenderingMode: \"standard\",\r\n loadTwoPagesOnStart: false,\r\n legacyMode: false,\r\n prerenderedRowCount: 1\r\n }\r\n }),\r\n extenders: {\r\n controllers: {\r\n data: data,\r\n resizing: resizing\r\n },\r\n views: {\r\n rowsView: rowsView\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/virtual_scrolling.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n dataSourceAdapterExtender,\r\n virtualScrollingModule\r\n} from \"../../../grids/grid_core/virtual_scrolling/m_virtual_scrolling\";\r\nimport gridCore from \"../m_core\";\r\nimport dataSourceAdapterProvider from \"../m_data_source_adapter\";\r\ngridCore.registerModule(\"virtualScrolling\", virtualScrollingModule);\r\ndataSourceAdapterProvider.extend(dataSourceAdapterExtender);\r\n","/**\r\n * DevExtreme (esm/ui/overlay/utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getInnerHeight,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nvar WINDOW_HEIGHT_PERCENT = .9;\r\nexport var getElementMaxHeightByWindow = ($element, startLocation) => {\r\n var $window = $(getWindow());\r\n var {\r\n top: elementOffset\r\n } = $element.offset();\r\n var actualOffset;\r\n if (isNumeric(startLocation)) {\r\n if (startLocation < elementOffset) {\r\n return elementOffset - startLocation\r\n } else {\r\n actualOffset = getInnerHeight($window) - startLocation + $window.scrollTop()\r\n }\r\n } else {\r\n var offsetTop = elementOffset - $window.scrollTop();\r\n var offsetBottom = getInnerHeight($window) - offsetTop - getOuterHeight($element);\r\n actualOffset = Math.max(offsetTop, offsetBottom)\r\n }\r\n return actualOffset * WINDOW_HEIGHT_PERCENT\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/menu/ui.submenu.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight,\r\n setWidth,\r\n setHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport animationPosition from \"../../animation/position\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport ContextMenu from \"../context_menu\";\r\nvar DX_CONTEXT_MENU_CONTENT_DELIMITER_CLASS = \"dx-context-menu-content-delimiter\";\r\nvar DX_SUBMENU_CLASS = \"dx-submenu\";\r\nclass Submenu extends ContextMenu {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n orientation: \"horizontal\",\r\n tabIndex: null,\r\n onHoverStart: noop\r\n })\r\n }\r\n _initDataAdapter() {\r\n this._dataAdapter = this.option(\"_dataAdapter\");\r\n if (!this._dataAdapter) {\r\n super._initDataAdapter()\r\n }\r\n }\r\n _renderContentImpl() {\r\n this._renderContextMenuOverlay();\r\n super._renderContentImpl();\r\n var node = this._dataAdapter.getNodeByKey(this.option(\"_parentKey\"));\r\n node && this._renderItems(this._getChildNodes(node));\r\n this._renderDelimiter()\r\n }\r\n _renderDelimiter() {\r\n this.$contentDelimiter = $(\"<div>\").appendTo(this._itemContainer()).addClass(DX_CONTEXT_MENU_CONTENT_DELIMITER_CLASS)\r\n }\r\n _getOverlayOptions() {\r\n return extend(true, super._getOverlayOptions(), {\r\n onPositioned: this._overlayPositionedActionHandler.bind(this),\r\n position: {\r\n precise: true\r\n }\r\n })\r\n }\r\n _overlayPositionedActionHandler(arg) {\r\n this._showDelimiter(arg)\r\n }\r\n _hoverEndHandler(e) {\r\n super._hoverEndHandler(e);\r\n this._toggleFocusClass(false, e.currentTarget)\r\n }\r\n _isMenuHorizontal() {\r\n return \"horizontal\" === this.option(\"orientation\")\r\n }\r\n _hoverStartHandler(e) {\r\n var hoverStartAction = this.option(\"onHoverStart\");\r\n hoverStartAction(e);\r\n super._hoverStartHandler(e);\r\n this._toggleFocusClass(true, e.currentTarget)\r\n }\r\n _drawSubmenu($rootItem) {\r\n this._actions.onShowing({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: this\r\n });\r\n super._drawSubmenu($rootItem);\r\n this._actions.onShown({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: this\r\n })\r\n }\r\n _hideSubmenu($rootItem) {\r\n this._actions.onHiding({\r\n cancel: true,\r\n rootItem: getPublicElement($rootItem),\r\n submenu: this\r\n });\r\n super._hideSubmenu($rootItem);\r\n this._actions.onHidden({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: this\r\n })\r\n }\r\n _showDelimiter(arg) {\r\n if (!this.$contentDelimiter) {\r\n return\r\n }\r\n var $submenu = this._itemContainer().children(\".\".concat(DX_SUBMENU_CLASS)).eq(0);\r\n var $rootItem = this.option(\"position\").of.find(\".dx-context-menu-container-border\");\r\n var position = {\r\n of: $submenu,\r\n precise: true\r\n };\r\n var containerOffset = arg.position;\r\n var vLocation = containerOffset.v.location;\r\n var hLocation = containerOffset.h.location;\r\n var rootOffset = $rootItem.offset();\r\n var offsetLeft = Math.round(rootOffset.left);\r\n var offsetTop = Math.round(rootOffset.top);\r\n var rootWidth = getWidth($rootItem);\r\n var rootHeight = getHeight($rootItem);\r\n var submenuWidth = getWidth($submenu);\r\n var submenuHeight = getHeight($submenu);\r\n this.$contentDelimiter.css(\"display\", \"block\");\r\n setWidth(this.$contentDelimiter, this._isMenuHorizontal() ? rootWidth < submenuWidth ? rootWidth : submenuWidth : 3);\r\n setHeight(this.$contentDelimiter, this._isMenuHorizontal() ? 3 : rootHeight < submenuHeight ? rootHeight : submenuHeight);\r\n if (this._isMenuHorizontal()) {\r\n if (vLocation > offsetTop) {\r\n if (Math.round(hLocation) === offsetLeft) {\r\n position.offset = \"0 -2.5\";\r\n position.at = position.my = \"left top\"\r\n } else {\r\n position.offset = \"0 -2.5\";\r\n position.at = position.my = \"right top\"\r\n }\r\n } else {\r\n setHeight(this.$contentDelimiter, 5);\r\n if (Math.round(hLocation) === offsetLeft) {\r\n position.offset = \"0 5\";\r\n position.at = position.my = \"left bottom\"\r\n } else {\r\n position.offset = \"0 5\";\r\n position.at = position.my = \"right bottom\"\r\n }\r\n }\r\n } else if (hLocation > offsetLeft) {\r\n if (Math.round(vLocation) === offsetTop) {\r\n position.offset = \"-2.5 0\";\r\n position.at = position.my = \"left top\"\r\n } else {\r\n position.offset = \"-2.5 0\";\r\n position.at = position.my = \"left bottom\"\r\n }\r\n } else if (Math.round(vLocation) === offsetTop) {\r\n position.offset = \"2.5 0\";\r\n position.at = position.my = \"right top\"\r\n } else {\r\n position.offset = \"2.5 0\";\r\n position.at = position.my = \"right bottom\"\r\n }\r\n animationPosition.setup(this.$contentDelimiter, position)\r\n }\r\n _getContextMenuPosition() {\r\n return this.option(\"position\")\r\n }\r\n isOverlayVisible() {\r\n return this._overlay.option(\"visible\")\r\n }\r\n getOverlayContent() {\r\n return this._overlay.$content()\r\n }\r\n}\r\nexport default Submenu;\r\n","/**\r\n * DevExtreme (esm/ui/menu/ui.menu.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isPlainObject,\r\n isObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getElementMaxHeightByWindow\r\n} from \"../overlay/utils\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n end as hoverEventEnd\r\n} from \"../../events/hover\";\r\nimport MenuBase from \"../context_menu/ui.menu_base\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport Submenu from \"./ui.submenu\";\r\nimport Button from \"../button\";\r\nimport TreeView from \"../tree_view\";\r\nvar DX_MENU_CLASS = \"dx-menu\";\r\nvar DX_MENU_VERTICAL_CLASS = DX_MENU_CLASS + \"-vertical\";\r\nvar DX_MENU_HORIZONTAL_CLASS = DX_MENU_CLASS + \"-horizontal\";\r\nvar DX_MENU_ITEM_CLASS = DX_MENU_CLASS + \"-item\";\r\nvar DX_MENU_ITEMS_CONTAINER_CLASS = DX_MENU_CLASS + \"-items-container\";\r\nvar DX_MENU_ITEM_EXPANDED_CLASS = DX_MENU_ITEM_CLASS + \"-expanded\";\r\nvar DX_CONTEXT_MENU_CLASS = \"dx-context-menu\";\r\nvar DX_CONTEXT_MENU_CONTAINER_BORDER_CLASS = DX_CONTEXT_MENU_CLASS + \"-container-border\";\r\nvar DX_CONTEXT_MENU_CONTENT_DELIMITER_CLASS = \"dx-context-menu-content-delimiter\";\r\nvar DX_SUBMENU_CLASS = \"dx-submenu\";\r\nvar DX_STATE_DISABLED_CLASS = \"dx-state-disabled\";\r\nvar DX_STATE_HOVER_CLASS = \"dx-state-hover\";\r\nvar DX_STATE_ACTIVE_CLASS = \"dx-state-active\";\r\nvar DX_ADAPTIVE_MODE_CLASS = DX_MENU_CLASS + \"-adaptive-mode\";\r\nvar DX_ADAPTIVE_HAMBURGER_BUTTON_CLASS = DX_MENU_CLASS + \"-hamburger-button\";\r\nvar DX_ADAPTIVE_MODE_OVERLAY_WRAPPER_CLASS = DX_ADAPTIVE_MODE_CLASS + \"-overlay-wrapper\";\r\nvar FOCUS_UP = \"up\";\r\nvar FOCUS_DOWN = \"down\";\r\nvar FOCUS_LEFT = \"left\";\r\nvar FOCUS_RIGHT = \"right\";\r\nvar SHOW_SUBMENU_OPERATION = \"showSubmenu\";\r\nvar NEXTITEM_OPERATION = \"nextItem\";\r\nvar PREVITEM_OPERATION = \"prevItem\";\r\nvar DEFAULT_DELAY = {\r\n show: 50,\r\n hide: 300\r\n};\r\nvar ACTIONS = [\"onSubmenuShowing\", \"onSubmenuShown\", \"onSubmenuHiding\", \"onSubmenuHidden\", \"onItemContextMenu\", \"onItemClick\", \"onSelectionChanged\", \"onItemRendered\"];\r\nclass Menu extends MenuBase {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n orientation: \"horizontal\",\r\n submenuDirection: \"auto\",\r\n showFirstSubmenuMode: {\r\n name: \"onClick\",\r\n delay: {\r\n show: 50,\r\n hide: 300\r\n }\r\n },\r\n hideSubmenuOnMouseLeave: false,\r\n onSubmenuShowing: null,\r\n onSubmenuShown: null,\r\n onSubmenuHiding: null,\r\n onSubmenuHidden: null,\r\n adaptivityEnabled: false\r\n })\r\n }\r\n _setOptionsByReference() {\r\n super._setOptionsByReference();\r\n extend(this._optionsByReference, {\r\n animation: true,\r\n selectedItem: true\r\n })\r\n }\r\n _itemElements() {\r\n var rootMenuElements = super._itemElements();\r\n var submenuElements = this._submenuItemElements();\r\n return rootMenuElements.add(submenuElements)\r\n }\r\n _submenuItemElements() {\r\n var elements = [];\r\n var itemSelector = \".\".concat(DX_MENU_ITEM_CLASS);\r\n var currentSubmenu = this._submenus.length && this._submenus[0];\r\n if (currentSubmenu && currentSubmenu.itemsContainer()) {\r\n elements = currentSubmenu.itemsContainer().find(itemSelector)\r\n }\r\n return elements\r\n }\r\n _focusTarget() {\r\n return this.$element()\r\n }\r\n _isMenuHorizontal() {\r\n return \"horizontal\" === this.option(\"orientation\")\r\n }\r\n _moveFocus(location) {\r\n var $items = this._getAvailableItems();\r\n var isMenuHorizontal = this._isMenuHorizontal();\r\n var $activeItem = this._getActiveItem(true);\r\n var argument;\r\n var operation;\r\n var navigationAction;\r\n var $newTarget;\r\n switch (location) {\r\n case FOCUS_UP:\r\n operation = isMenuHorizontal ? SHOW_SUBMENU_OPERATION : this._getItemsNavigationOperation(PREVITEM_OPERATION);\r\n argument = isMenuHorizontal ? $activeItem : $items;\r\n navigationAction = this._getKeyboardNavigationAction(operation, argument);\r\n $newTarget = navigationAction();\r\n break;\r\n case FOCUS_DOWN:\r\n operation = isMenuHorizontal ? SHOW_SUBMENU_OPERATION : this._getItemsNavigationOperation(NEXTITEM_OPERATION);\r\n argument = isMenuHorizontal ? $activeItem : $items;\r\n navigationAction = this._getKeyboardNavigationAction(operation, argument);\r\n $newTarget = navigationAction();\r\n break;\r\n case FOCUS_RIGHT:\r\n operation = isMenuHorizontal ? this._getItemsNavigationOperation(NEXTITEM_OPERATION) : SHOW_SUBMENU_OPERATION;\r\n argument = isMenuHorizontal ? $items : $activeItem;\r\n navigationAction = this._getKeyboardNavigationAction(operation, argument);\r\n $newTarget = navigationAction();\r\n break;\r\n case FOCUS_LEFT:\r\n operation = isMenuHorizontal ? this._getItemsNavigationOperation(PREVITEM_OPERATION) : SHOW_SUBMENU_OPERATION;\r\n argument = isMenuHorizontal ? $items : $activeItem;\r\n navigationAction = this._getKeyboardNavigationAction(operation, argument);\r\n $newTarget = navigationAction();\r\n break;\r\n default:\r\n return super._moveFocus(location)\r\n }\r\n if ($newTarget && 0 !== $newTarget.length) {\r\n this.option(\"focusedElement\", getPublicElement($newTarget))\r\n }\r\n }\r\n _getItemsNavigationOperation(operation) {\r\n var navOperation = operation;\r\n if (this.option(\"rtlEnabled\")) {\r\n navOperation = operation === PREVITEM_OPERATION ? NEXTITEM_OPERATION : PREVITEM_OPERATION\r\n }\r\n return navOperation\r\n }\r\n _getKeyboardNavigationAction(operation, argument) {\r\n var action = noop;\r\n switch (operation) {\r\n case SHOW_SUBMENU_OPERATION:\r\n if (!argument.hasClass(DX_STATE_DISABLED_CLASS)) {\r\n action = this._showSubmenu.bind(this, argument)\r\n }\r\n break;\r\n case NEXTITEM_OPERATION:\r\n action = this._nextItem.bind(this, argument);\r\n break;\r\n case PREVITEM_OPERATION:\r\n action = this._prevItem.bind(this, argument)\r\n }\r\n return action\r\n }\r\n _clean() {\r\n super._clean();\r\n this.option(\"templatesRenderAsynchronously\") && clearTimeout(this._resizeEventTimer)\r\n }\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n if (!this._menuItemsWidth) {\r\n this._updateItemsWidthCache()\r\n }\r\n this._dimensionChanged()\r\n }\r\n }\r\n _isAdaptivityEnabled() {\r\n return this.option(\"adaptivityEnabled\") && \"horizontal\" === this.option(\"orientation\")\r\n }\r\n _updateItemsWidthCache() {\r\n var $menuItems = this.$element().find(\"ul\").first().children(\"li\").children(\".\".concat(DX_MENU_ITEM_CLASS));\r\n this._menuItemsWidth = this._getSummaryItemsWidth($menuItems, true)\r\n }\r\n _dimensionChanged() {\r\n if (!this._isAdaptivityEnabled()) {\r\n return\r\n }\r\n var containerWidth = getOuterWidth(this.$element());\r\n this._toggleAdaptiveMode(this._menuItemsWidth > containerWidth)\r\n }\r\n _init() {\r\n super._init();\r\n this._submenus = []\r\n }\r\n _initActions() {\r\n this._actions = {};\r\n each(ACTIONS, (index, action) => {\r\n this._actions[action] = this._createActionByOption(action)\r\n })\r\n }\r\n _initMarkup() {\r\n this._visibleSubmenu = null;\r\n this.$element().addClass(DX_MENU_CLASS);\r\n super._initMarkup();\r\n this._addCustomCssClass(this.$element());\r\n this.setAria(\"role\", \"menubar\")\r\n }\r\n _render() {\r\n super._render();\r\n this._initAdaptivity()\r\n }\r\n _renderHamburgerButton() {\r\n this._hamburger = new Button($(\"<div>\").addClass(DX_ADAPTIVE_HAMBURGER_BUTTON_CLASS), {\r\n icon: \"menu\",\r\n activeStateEnabled: false,\r\n onClick: this._toggleTreeView.bind(this)\r\n });\r\n return this._hamburger.$element()\r\n }\r\n _toggleTreeView(state) {\r\n if (isPlainObject(state)) {\r\n state = !this._overlay.option(\"visible\")\r\n }\r\n this._overlay.option(\"visible\", state);\r\n if (state) {\r\n this._treeView.focus()\r\n }\r\n this._toggleHamburgerActiveState(state)\r\n }\r\n _toggleHamburgerActiveState(state) {\r\n this._hamburger && this._hamburger.$element().toggleClass(DX_STATE_ACTIVE_CLASS, state)\r\n }\r\n _toggleAdaptiveMode(state) {\r\n var $menuItemsContainer = this.$element().find(\".\".concat(DX_MENU_HORIZONTAL_CLASS));\r\n var $adaptiveElements = this.$element().find(\".\".concat(DX_ADAPTIVE_MODE_CLASS));\r\n if (state) {\r\n this._hideVisibleSubmenu()\r\n } else {\r\n this._treeView && this._treeView.collapseAll();\r\n this._overlay && this._toggleTreeView(state)\r\n }\r\n $menuItemsContainer.toggle(!state);\r\n $adaptiveElements.toggle(state)\r\n }\r\n _removeAdaptivity() {\r\n if (!this._$adaptiveContainer) {\r\n return\r\n }\r\n this._toggleAdaptiveMode(false);\r\n this._$adaptiveContainer.remove();\r\n this._$adaptiveContainer = null;\r\n this._treeView = null;\r\n this._hamburger = null;\r\n this._overlay = null\r\n }\r\n _treeviewItemClickHandler(e) {\r\n this._actions.onItemClick(e);\r\n if (!e.node.children.length) {\r\n this._toggleTreeView(false)\r\n }\r\n }\r\n _getAdaptiveOverlayOptions() {\r\n var rtl = this.option(\"rtlEnabled\");\r\n var position = rtl ? \"right\" : \"left\";\r\n return {\r\n _ignoreFunctionValueDeprecation: true,\r\n maxHeight: () => getElementMaxHeightByWindow(this.$element()),\r\n deferRendering: false,\r\n shading: false,\r\n animation: false,\r\n hideOnParentScroll: true,\r\n onHidden: () => {\r\n this._toggleHamburgerActiveState(false)\r\n },\r\n height: \"auto\",\r\n hideOnOutsideClick: e => !$(e.target).closest(\".\".concat(DX_ADAPTIVE_HAMBURGER_BUTTON_CLASS)).length,\r\n position: {\r\n collision: \"flipfit\",\r\n at: \"bottom \" + position,\r\n my: \"top \" + position,\r\n of: this._hamburger.$element()\r\n }\r\n }\r\n }\r\n _getTreeViewOptions() {\r\n var menuOptions = {};\r\n each([\"rtlEnabled\", \"width\", \"accessKey\", \"activeStateEnabled\", \"animation\", \"dataSource\", \"disabled\", \"displayExpr\", \"displayExpr\", \"focusStateEnabled\", \"hint\", \"hoverStateEnabled\", \"itemsExpr\", \"items\", \"itemTemplate\", \"selectedExpr\", \"selectionMode\", \"tabIndex\", \"visible\"], (_, option) => {\r\n menuOptions[option] = this.option(option)\r\n });\r\n each([\"onItemContextMenu\", \"onSelectionChanged\", \"onItemRendered\"], (_, actionName) => {\r\n menuOptions[actionName] = e => {\r\n this._actions[actionName](e)\r\n }\r\n });\r\n return extend(menuOptions, {\r\n dataSource: this.getDataSource(),\r\n animationEnabled: !!this.option(\"animation\"),\r\n onItemClick: this._treeviewItemClickHandler.bind(this),\r\n onItemExpanded: e => {\r\n this._overlay.repaint();\r\n this._actions.onSubmenuShown(e)\r\n },\r\n onItemCollapsed: e => {\r\n this._overlay.repaint();\r\n this._actions.onSubmenuHidden(e)\r\n },\r\n selectNodesRecursive: false,\r\n selectByClick: this.option(\"selectByClick\"),\r\n expandEvent: \"click\",\r\n _supportItemUrl: true\r\n })\r\n }\r\n _initAdaptivity() {\r\n if (!this._isAdaptivityEnabled()) {\r\n return\r\n }\r\n this._$adaptiveContainer = $(\"<div>\").addClass(DX_ADAPTIVE_MODE_CLASS);\r\n var $hamburger = this._renderHamburgerButton();\r\n this._treeView = this._createComponent($(\"<div>\"), TreeView, this._getTreeViewOptions());\r\n this._overlay = this._createComponent($(\"<div>\"), Overlay, this._getAdaptiveOverlayOptions());\r\n this._overlay.$content().append(this._treeView.$element()).addClass(DX_ADAPTIVE_MODE_CLASS).addClass(this.option(\"cssClass\"));\r\n this._overlay.$wrapper().addClass(DX_ADAPTIVE_MODE_OVERLAY_WRAPPER_CLASS);\r\n this._$adaptiveContainer.append($hamburger);\r\n this._$adaptiveContainer.append(this._overlay.$element());\r\n this.$element().append(this._$adaptiveContainer);\r\n this._updateItemsWidthCache();\r\n this._dimensionChanged()\r\n }\r\n _getDelay(delayType) {\r\n var delay = this.option(\"showFirstSubmenuMode\").delay;\r\n if (!isDefined(delay)) {\r\n return DEFAULT_DELAY[delayType]\r\n } else {\r\n return isObject(delay) ? delay[delayType] : delay\r\n }\r\n }\r\n _keyboardHandler(e) {\r\n return super._keyboardHandler(e, !!this._visibleSubmenu)\r\n }\r\n _renderContainer() {\r\n var $wrapper = $(\"<div>\");\r\n $wrapper.appendTo(this.$element()).addClass(this._isMenuHorizontal() ? DX_MENU_HORIZONTAL_CLASS : DX_MENU_VERTICAL_CLASS);\r\n return super._renderContainer($wrapper)\r\n }\r\n _renderSubmenuItems(node, $itemFrame) {\r\n var submenu = this._createSubmenu(node, $itemFrame);\r\n this._submenus.push(submenu);\r\n this._renderBorderElement($itemFrame);\r\n return submenu\r\n }\r\n _getKeyboardListeners() {\r\n return super._getKeyboardListeners().concat(this._visibleSubmenu)\r\n }\r\n _createSubmenu(node, $rootItem) {\r\n var $submenuContainer = $(\"<div>\").addClass(DX_CONTEXT_MENU_CLASS).appendTo($rootItem);\r\n var items = this._getChildNodes(node);\r\n var subMenu = this._createComponent($submenuContainer, Submenu, extend(this._getSubmenuOptions(), {\r\n _dataAdapter: this._dataAdapter,\r\n _parentKey: node.internalFields.key,\r\n items: items,\r\n onHoverStart: this._clearTimeouts.bind(this),\r\n position: this.getSubmenuPosition($rootItem)\r\n }));\r\n this._attachSubmenuHandlers($rootItem, subMenu);\r\n return subMenu\r\n }\r\n _getSubmenuOptions() {\r\n var $submenuTarget = $(\"<div>\");\r\n var isMenuHorizontal = this._isMenuHorizontal();\r\n return {\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n target: $submenuTarget,\r\n orientation: this.option(\"orientation\"),\r\n selectionMode: this.option(\"selectionMode\"),\r\n cssClass: this.option(\"cssClass\"),\r\n selectByClick: this.option(\"selectByClick\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n activeStateEnabled: this.option(\"activeStateEnabled\"),\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n animation: this.option(\"animation\"),\r\n showSubmenuMode: this.option(\"showSubmenuMode\"),\r\n displayExpr: this.option(\"displayExpr\"),\r\n disabledExpr: this.option(\"disabledExpr\"),\r\n selectedExpr: this.option(\"selectedExpr\"),\r\n itemsExpr: this.option(\"itemsExpr\"),\r\n onFocusedItemChanged: e => {\r\n if (!e.component.option(\"visible\")) {\r\n return\r\n }\r\n this.option(\"focusedElement\", e.component.option(\"focusedElement\"))\r\n },\r\n onSelectionChanged: this._nestedItemOnSelectionChangedHandler.bind(this),\r\n onItemClick: this._nestedItemOnItemClickHandler.bind(this),\r\n onItemRendered: this._nestedItemOnItemRenderedHandler.bind(this),\r\n onLeftFirstItem: isMenuHorizontal ? null : this._moveMainMenuFocus.bind(this, PREVITEM_OPERATION),\r\n onLeftLastItem: isMenuHorizontal ? null : this._moveMainMenuFocus.bind(this, NEXTITEM_OPERATION),\r\n onCloseRootSubmenu: this._moveMainMenuFocus.bind(this, isMenuHorizontal ? PREVITEM_OPERATION : null),\r\n onExpandLastSubmenu: isMenuHorizontal ? this._moveMainMenuFocus.bind(this, NEXTITEM_OPERATION) : null\r\n }\r\n }\r\n _getShowFirstSubmenuMode() {\r\n if (!this._isDesktopDevice()) {\r\n return \"onClick\"\r\n }\r\n var optionValue = this.option(\"showFirstSubmenuMode\");\r\n return isObject(optionValue) ? optionValue.name : optionValue\r\n }\r\n _moveMainMenuFocus(direction) {\r\n var $items = this._getAvailableItems();\r\n var itemCount = $items.length;\r\n var $currentItem = $items.filter(\".\".concat(DX_MENU_ITEM_EXPANDED_CLASS)).eq(0);\r\n var itemIndex = $items.index($currentItem);\r\n this._hideSubmenu(this._visibleSubmenu);\r\n itemIndex += direction === PREVITEM_OPERATION ? -1 : 1;\r\n if (itemIndex >= itemCount) {\r\n itemIndex = 0\r\n } else if (itemIndex < 0) {\r\n itemIndex = itemCount - 1\r\n }\r\n var $newItem = $items.eq(itemIndex);\r\n this.option(\"focusedElement\", getPublicElement($newItem))\r\n }\r\n _nestedItemOnSelectionChangedHandler(args) {\r\n var selectedItem = args.addedItems.length && args.addedItems[0];\r\n var submenu = Submenu.getInstance(args.element);\r\n var onSelectionChanged = this._actions.onSelectionChanged;\r\n onSelectionChanged(args);\r\n selectedItem && this._clearSelectionInSubmenus(selectedItem[0], submenu);\r\n this._clearRootSelection();\r\n this._setOptionWithoutOptionChange(\"selectedItem\", selectedItem)\r\n }\r\n _clearSelectionInSubmenus(item, targetSubmenu) {\r\n var cleanAllSubmenus = !arguments.length;\r\n each(this._submenus, (index, submenu) => {\r\n var $submenu = submenu._itemContainer();\r\n var isOtherItem = !$submenu.is(targetSubmenu && targetSubmenu._itemContainer());\r\n var $selectedItem = $submenu.find(\".\".concat(this._selectedItemClass()));\r\n if (isOtherItem && $selectedItem.length || cleanAllSubmenus) {\r\n $selectedItem.removeClass(this._selectedItemClass());\r\n var selectedItemData = this._getItemData($selectedItem);\r\n if (selectedItemData) {\r\n selectedItemData.selected = false\r\n }\r\n submenu._clearSelectedItems()\r\n }\r\n })\r\n }\r\n _clearRootSelection() {\r\n var $prevSelectedItem = this.$element().find(\".\".concat(DX_MENU_ITEMS_CONTAINER_CLASS)).first().children().children().filter(\".\".concat(this._selectedItemClass()));\r\n if ($prevSelectedItem.length) {\r\n var prevSelectedItemData = this._getItemData($prevSelectedItem);\r\n prevSelectedItemData.selected = false;\r\n $prevSelectedItem.removeClass(this._selectedItemClass())\r\n }\r\n }\r\n _nestedItemOnItemClickHandler(e) {\r\n this._actions.onItemClick(e)\r\n }\r\n _nestedItemOnItemRenderedHandler(e) {\r\n this._actions.onItemRendered(e)\r\n }\r\n _attachSubmenuHandlers($rootItem, submenu) {\r\n var $submenuOverlayContent = submenu.getOverlayContent();\r\n var submenus = $submenuOverlayContent.find(\".\".concat(DX_SUBMENU_CLASS));\r\n var submenuMouseLeaveName = addNamespace(hoverEventEnd, this.NAME + \"_submenu\");\r\n submenu.option({\r\n onShowing: this._submenuOnShowingHandler.bind(this, $rootItem, submenu),\r\n onShown: this._submenuOnShownHandler.bind(this, $rootItem, submenu),\r\n onHiding: this._submenuOnHidingHandler.bind(this, $rootItem, submenu),\r\n onHidden: this._submenuOnHiddenHandler.bind(this, $rootItem, submenu)\r\n });\r\n each(submenus, (index, submenu) => {\r\n eventsEngine.off(submenu, submenuMouseLeaveName);\r\n eventsEngine.on(submenu, submenuMouseLeaveName, null, this._submenuMouseLeaveHandler.bind(this, $rootItem))\r\n })\r\n }\r\n _submenuOnShowingHandler($rootItem, submenu) {\r\n var $border = $rootItem.children(\".\".concat(DX_CONTEXT_MENU_CONTAINER_BORDER_CLASS));\r\n this._actions.onSubmenuShowing({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: submenu\r\n });\r\n $border.show();\r\n $rootItem.addClass(DX_MENU_ITEM_EXPANDED_CLASS)\r\n }\r\n _submenuOnShownHandler($rootItem, submenu) {\r\n this._actions.onSubmenuShown({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: submenu\r\n })\r\n }\r\n _submenuOnHidingHandler($rootItem, submenu, eventArgs) {\r\n var $border = $rootItem.children(\".\".concat(DX_CONTEXT_MENU_CONTAINER_BORDER_CLASS));\r\n var args = eventArgs;\r\n args.rootItem = getPublicElement($rootItem);\r\n args.submenu = submenu;\r\n this._actions.onSubmenuHiding(args);\r\n eventArgs = args;\r\n if (!eventArgs.cancel) {\r\n if (this._visibleSubmenu === submenu) {\r\n this._visibleSubmenu = null\r\n }\r\n $border.hide();\r\n $rootItem.removeClass(DX_MENU_ITEM_EXPANDED_CLASS)\r\n }\r\n }\r\n _submenuOnHiddenHandler($rootItem, submenu) {\r\n this._actions.onSubmenuHidden({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: submenu\r\n })\r\n }\r\n _submenuMouseLeaveHandler($rootItem, eventArgs) {\r\n var target = $(eventArgs.relatedTarget).parents(\".\".concat(DX_CONTEXT_MENU_CLASS))[0];\r\n var contextMenu = this._getSubmenuByRootElement($rootItem).getOverlayContent()[0];\r\n if (this.option(\"hideSubmenuOnMouseLeave\") && target !== contextMenu) {\r\n this._clearTimeouts();\r\n setTimeout(this._hideSubmenuAfterTimeout.bind(this), this._getDelay(\"hide\"))\r\n }\r\n }\r\n _hideSubmenuAfterTimeout() {\r\n if (!this._visibleSubmenu) {\r\n return\r\n }\r\n var isRootItemHovered = $(this._visibleSubmenu.$element().context).hasClass(DX_STATE_HOVER_CLASS);\r\n var isSubmenuItemHovered = this._visibleSubmenu.getOverlayContent().find(\".\".concat(DX_STATE_HOVER_CLASS)).length;\r\n var hoveredElementFromSubMenu = this._visibleSubmenu.getOverlayContent().get(0).querySelector(\":hover\");\r\n if (!hoveredElementFromSubMenu && !isSubmenuItemHovered && !isRootItemHovered) {\r\n this._visibleSubmenu.hide()\r\n }\r\n }\r\n _getSubmenuByRootElement($rootItem) {\r\n if (!$rootItem) {\r\n return false\r\n }\r\n var $submenu = $rootItem.children(\".\".concat(DX_CONTEXT_MENU_CLASS));\r\n return $submenu.length && Submenu.getInstance($submenu)\r\n }\r\n getSubmenuPosition($rootItem) {\r\n var isHorizontalMenu = this._isMenuHorizontal();\r\n var submenuDirection = this.option(\"submenuDirection\").toLowerCase();\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var submenuPosition = {\r\n collision: \"flip\",\r\n of: $rootItem,\r\n precise: true\r\n };\r\n switch (submenuDirection) {\r\n case \"leftortop\":\r\n submenuPosition.at = \"left top\";\r\n submenuPosition.my = isHorizontalMenu ? \"left bottom\" : \"right top\";\r\n break;\r\n case \"rightorbottom\":\r\n submenuPosition.at = isHorizontalMenu ? \"left bottom\" : \"right top\";\r\n submenuPosition.my = \"left top\";\r\n break;\r\n default:\r\n if (isHorizontalMenu) {\r\n submenuPosition.at = rtlEnabled ? \"right bottom\" : \"left bottom\";\r\n submenuPosition.my = rtlEnabled ? \"right top\" : \"left top\"\r\n } else {\r\n submenuPosition.at = rtlEnabled ? \"left top\" : \"right top\";\r\n submenuPosition.my = rtlEnabled ? \"right top\" : \"left top\"\r\n }\r\n }\r\n return submenuPosition\r\n }\r\n _renderBorderElement($item) {\r\n $(\"<div>\").appendTo($item).addClass(DX_CONTEXT_MENU_CONTAINER_BORDER_CLASS).hide()\r\n }\r\n _itemPointerDownHandler(e) {\r\n var $target = $(e.target);\r\n var $closestItem = $target.closest(this._itemElements());\r\n if ($closestItem.hasClass(\"dx-menu-item-has-submenu\")) {\r\n this.option(\"focusedElement\", null);\r\n return\r\n }\r\n super._itemPointerDownHandler(e)\r\n }\r\n _hoverStartHandler(e) {\r\n var mouseMoveEventName = addNamespace(pointerEvents.move, this.NAME);\r\n var $item = this._getItemElementByEventArgs(e);\r\n var node = this._dataAdapter.getNodeByItem(this._getItemData($item));\r\n var isSelectionActive = isDefined(e.buttons) && 1 === e.buttons || !isDefined(e.buttons) && 1 === e.which;\r\n if (this._isItemDisabled($item)) {\r\n return\r\n }\r\n eventsEngine.off($item, mouseMoveEventName);\r\n if (!this._hasChildren(node)) {\r\n this._showSubmenuTimer = setTimeout(this._hideSubmenuAfterTimeout.bind(this), this._getDelay(\"hide\"));\r\n return\r\n }\r\n if (\"onHover\" === this._getShowFirstSubmenuMode() && !isSelectionActive) {\r\n var submenu = this._getSubmenuByElement($item);\r\n this._clearTimeouts();\r\n if (!submenu.isOverlayVisible()) {\r\n eventsEngine.on($item, mouseMoveEventName, this._itemMouseMoveHandler.bind(this));\r\n this._showSubmenuTimer = this._getDelay(\"hide\")\r\n }\r\n }\r\n }\r\n _hoverEndHandler(eventArg) {\r\n var $item = this._getItemElementByEventArgs(eventArg);\r\n var relatedTarget = $(eventArg.relatedTarget);\r\n super._hoverEndHandler(eventArg);\r\n this._clearTimeouts();\r\n if (this._isItemDisabled($item)) {\r\n return\r\n }\r\n if (relatedTarget.hasClass(DX_CONTEXT_MENU_CONTENT_DELIMITER_CLASS)) {\r\n return\r\n }\r\n if (this.option(\"hideSubmenuOnMouseLeave\") && !relatedTarget.hasClass(DX_MENU_ITEMS_CONTAINER_CLASS)) {\r\n this._hideSubmenuTimer = setTimeout(() => {\r\n this._hideSubmenuAfterTimeout()\r\n }, this._getDelay(\"hide\"))\r\n }\r\n }\r\n _hideVisibleSubmenu() {\r\n if (!this._visibleSubmenu) {\r\n return false\r\n }\r\n this._hideSubmenu(this._visibleSubmenu);\r\n return true\r\n }\r\n _showSubmenu($itemElement) {\r\n var submenu = this._getSubmenuByElement($itemElement);\r\n if (this._visibleSubmenu !== submenu) {\r\n this._hideVisibleSubmenu()\r\n }\r\n if (submenu) {\r\n this._clearTimeouts();\r\n this.focus();\r\n submenu.show();\r\n this.option(\"focusedElement\", submenu.option(\"focusedElement\"))\r\n }\r\n this._visibleSubmenu = submenu;\r\n this._hoveredRootItem = $itemElement\r\n }\r\n _hideSubmenu(submenu) {\r\n submenu && submenu.hide();\r\n if (this._visibleSubmenu === submenu) {\r\n this._visibleSubmenu = null\r\n }\r\n this._hoveredRootItem = null\r\n }\r\n _itemMouseMoveHandler(e) {\r\n if (e.pointers && e.pointers.length) {\r\n return\r\n }\r\n var $item = $(e.currentTarget);\r\n if (!isDefined(this._showSubmenuTimer)) {\r\n return\r\n }\r\n this._clearTimeouts();\r\n this._showSubmenuTimer = setTimeout(() => {\r\n var submenu = this._getSubmenuByElement($item);\r\n if (submenu && !submenu.isOverlayVisible()) {\r\n this._showSubmenu($item)\r\n }\r\n }, this._getDelay(\"show\"))\r\n }\r\n _clearTimeouts() {\r\n clearTimeout(this._hideSubmenuTimer);\r\n clearTimeout(this._showSubmenuTimer)\r\n }\r\n _getSubmenuByElement($itemElement, itemData) {\r\n var submenu = this._getSubmenuByRootElement($itemElement);\r\n if (submenu) {\r\n return submenu\r\n } else {\r\n itemData = itemData || this._getItemData($itemElement);\r\n var node = this._dataAdapter.getNodeByItem(itemData);\r\n return this._hasChildren(node) && this._renderSubmenuItems(node, $itemElement)\r\n }\r\n }\r\n _updateSubmenuVisibilityOnClick(actionArgs) {\r\n var args = actionArgs.args.length && actionArgs.args[0];\r\n if (!args || this._disabledGetter(args.itemData)) {\r\n return\r\n }\r\n var $itemElement = $(args.itemElement);\r\n var currentSubmenu = this._getSubmenuByElement($itemElement, args.itemData);\r\n this._updateSelectedItemOnClick(actionArgs);\r\n if (this._visibleSubmenu) {\r\n if (this._visibleSubmenu === currentSubmenu) {\r\n if (\"onClick\" === this.option(\"showFirstSubmenuMode\")) {\r\n this._hideSubmenu(this._visibleSubmenu)\r\n }\r\n return\r\n } else {\r\n this._hideSubmenu(this._visibleSubmenu)\r\n }\r\n }\r\n if (!currentSubmenu) {\r\n return\r\n }\r\n if (!currentSubmenu.isOverlayVisible()) {\r\n this._showSubmenu($itemElement);\r\n return\r\n }\r\n }\r\n _optionChanged(args) {\r\n if (ACTIONS.indexOf(args.name) >= 0) {\r\n this._initActions();\r\n return\r\n }\r\n switch (args.name) {\r\n case \"orientation\":\r\n case \"submenuDirection\":\r\n this._invalidate();\r\n break;\r\n case \"showFirstSubmenuMode\":\r\n case \"hideSubmenuOnMouseLeave\":\r\n break;\r\n case \"showSubmenuMode\":\r\n this._changeSubmenusOption(args.name, args.value);\r\n break;\r\n case \"adaptivityEnabled\":\r\n args.value ? this._initAdaptivity() : this._removeAdaptivity();\r\n break;\r\n case \"width\":\r\n if (this._isAdaptivityEnabled()) {\r\n this._treeView.option(args.name, args.value);\r\n this._overlay.option(args.name, args.value)\r\n }\r\n super._optionChanged(args);\r\n this._dimensionChanged();\r\n break;\r\n case \"animation\":\r\n if (this._isAdaptivityEnabled()) {\r\n this._treeView.option(\"animationEnabled\", !!args.value)\r\n }\r\n super._optionChanged(args);\r\n break;\r\n default:\r\n if (this._isAdaptivityEnabled() && (args.name === args.fullName || \"items\" === args.name)) {\r\n this._treeView.option(args.fullName, args.value)\r\n }\r\n super._optionChanged(args)\r\n }\r\n }\r\n _changeSubmenusOption(name, value) {\r\n each(this._submenus, (index, submenu) => {\r\n submenu.option(name, value)\r\n })\r\n }\r\n selectItem(itemElement) {\r\n this._hideSubmenu(this._visibleSubmenu);\r\n super.selectItem(itemElement)\r\n }\r\n unselectItem(itemElement) {\r\n this._hideSubmenu(this._visibleSubmenu);\r\n super.selectItem(itemElement)\r\n }\r\n}\r\nregisterComponent(\"dxMenu\", Menu);\r\nexport default Menu;\r\n","/**\r\n * DevExtreme (esm/ui/menu.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Menu from \"./menu/ui.menu\";\r\nexport default Menu;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/filter/m_filter_row.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getOuterWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../../../../events/utils/index\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Editor from \"../../../../ui/editor/editor\";\r\nimport Menu from \"../../../../ui/menu\";\r\nimport Overlay from \"../../../../ui/overlay/ui.overlay\";\r\nimport {\r\n selectView\r\n} from \"../../../../ui/shared/accessibility\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar OPERATION_ICONS = {\r\n \"=\": \"filter-operation-equals\",\r\n \"<>\": \"filter-operation-not-equals\",\r\n \"<\": \"filter-operation-less\",\r\n \"<=\": \"filter-operation-less-equal\",\r\n \">\": \"filter-operation-greater\",\r\n \">=\": \"filter-operation-greater-equal\",\r\n default: \"filter-operation-default\",\r\n notcontains: \"filter-operation-not-contains\",\r\n contains: \"filter-operation-contains\",\r\n startswith: \"filter-operation-starts-with\",\r\n endswith: \"filter-operation-ends-with\",\r\n between: \"filter-operation-between\"\r\n};\r\nvar OPERATION_DESCRIPTORS = {\r\n \"=\": \"equal\",\r\n \"<>\": \"notEqual\",\r\n \"<\": \"lessThan\",\r\n \"<=\": \"lessThanOrEqual\",\r\n \">\": \"greaterThan\",\r\n \">=\": \"greaterThanOrEqual\",\r\n startswith: \"startsWith\",\r\n contains: \"contains\",\r\n notcontains: \"notContains\",\r\n endswith: \"endsWith\",\r\n between: \"between\"\r\n};\r\nvar FILTERING_TIMEOUT = 700;\r\nvar CORRECT_FILTER_RANGE_OVERLAY_WIDTH = 1;\r\nvar FILTER_ROW_CLASS = \"filter-row\";\r\nvar FILTER_RANGE_OVERLAY_CLASS = \"filter-range-overlay\";\r\nvar FILTER_RANGE_START_CLASS = \"filter-range-start\";\r\nvar FILTER_RANGE_END_CLASS = \"filter-range-end\";\r\nvar MENU_CLASS = \"dx-menu\";\r\nvar EDITOR_WITH_MENU_CLASS = \"dx-editor-with-menu\";\r\nvar EDITOR_CONTAINER_CLASS = \"dx-editor-container\";\r\nvar EDITOR_CELL_CLASS = \"dx-editor-cell\";\r\nvar FILTER_MENU = \"dx-filter-menu\";\r\nvar APPLY_BUTTON_CLASS = \"dx-apply-button\";\r\nvar HIGHLIGHT_OUTLINE_CLASS = \"dx-highlight-outline\";\r\nvar FOCUSED_CLASS = \"dx-focused\";\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar FILTER_RANGE_CONTENT_CLASS = \"dx-filter-range-content\";\r\nvar FILTER_MODIFIED_CLASS = \"dx-filter-modified\";\r\nvar EDITORS_INPUT_SELECTOR = \"input:not([type='hidden'])\";\r\nvar BETWEEN_OPERATION_DATA_TYPES = [\"date\", \"datetime\", \"number\"];\r\nvar ARIA_SEARCH_BOX = messageLocalization.format(\"dxDataGrid-ariaSearchBox\");\r\n\r\nfunction isOnClickApplyFilterMode(that) {\r\n return \"onClick\" === that.option(\"filterRow.applyFilter\")\r\n}\r\nvar getEditorInstance = function($editorContainer) {\r\n var $editor = $editorContainer && $editorContainer.children();\r\n var componentNames = $editor && $editor.data(\"dxComponents\");\r\n var editor = componentNames && componentNames.length && $editor.data(componentNames[0]);\r\n if (editor instanceof Editor) {\r\n return editor\r\n }\r\n return null\r\n};\r\nvar getRangeTextByFilterValue = function(that, column) {\r\n var result = \"\";\r\n var rangeEnd = \"\";\r\n var filterValue = getColumnFilterValue(that, column);\r\n var formatOptions = gridCoreUtils.getFormatOptionsByColumn(column, \"filterRow\");\r\n if (Array.isArray(filterValue)) {\r\n result = gridCoreUtils.formatValue(filterValue[0], formatOptions);\r\n rangeEnd = gridCoreUtils.formatValue(filterValue[1], formatOptions);\r\n if (\"\" !== rangeEnd) {\r\n result += \" - \".concat(rangeEnd)\r\n }\r\n } else if (isDefined(filterValue)) {\r\n result = gridCoreUtils.formatValue(filterValue, formatOptions)\r\n }\r\n return result\r\n};\r\n\r\nfunction getColumnFilterValue(that, column) {\r\n if (column) {\r\n return isOnClickApplyFilterMode(that) && void 0 !== column.bufferedFilterValue ? column.bufferedFilterValue : column.filterValue\r\n }\r\n}\r\nvar getColumnSelectedFilterOperation = function(that, column) {\r\n if (column) {\r\n return isOnClickApplyFilterMode(that) && void 0 !== column.bufferedSelectedFilterOperation ? column.bufferedSelectedFilterOperation : column.selectedFilterOperation\r\n }\r\n};\r\nvar isValidFilterValue = function(filterValue, column) {\r\n if (column && BETWEEN_OPERATION_DATA_TYPES.includes(column.dataType) && Array.isArray(filterValue)) {\r\n return false\r\n }\r\n return void 0 !== filterValue\r\n};\r\nvar getFilterValue = function(that, columnIndex, $editorContainer) {\r\n var column = that._columnsController.columnOption(columnIndex);\r\n var filterValue = getColumnFilterValue(that, column);\r\n var isFilterRange = $editorContainer.closest(\".\".concat(that.addWidgetPrefix(FILTER_RANGE_OVERLAY_CLASS))).length;\r\n var isRangeStart = $editorContainer.hasClass(that.addWidgetPrefix(FILTER_RANGE_START_CLASS));\r\n if (filterValue && Array.isArray(filterValue) && \"between\" === getColumnSelectedFilterOperation(that, column)) {\r\n if (isRangeStart) {\r\n return filterValue[0]\r\n }\r\n return filterValue[1]\r\n }\r\n return !isFilterRange && isValidFilterValue(filterValue, column) ? filterValue : null\r\n};\r\nvar normalizeFilterValue = function(that, filterValue, column, $editorContainer) {\r\n if (\"between\" === getColumnSelectedFilterOperation(that, column)) {\r\n var columnFilterValue = getColumnFilterValue(that, column);\r\n if ($editorContainer.hasClass(that.addWidgetPrefix(FILTER_RANGE_START_CLASS))) {\r\n return [filterValue, Array.isArray(columnFilterValue) ? columnFilterValue[1] : void 0]\r\n }\r\n return [Array.isArray(columnFilterValue) ? columnFilterValue[0] : columnFilterValue, filterValue]\r\n }\r\n return filterValue\r\n};\r\nvar updateFilterValue = function(that, options) {\r\n var value = \"\" === options.value ? null : options.value;\r\n var $editorContainer = options.container;\r\n var column = that._columnsController.columnOption(options.column.index);\r\n var filterValue = getFilterValue(that, column.index, $editorContainer);\r\n if (!isDefined(filterValue) && !isDefined(value)) {\r\n return\r\n }\r\n that._applyFilterViewController.setHighLight($editorContainer, filterValue !== value);\r\n var columnOptionName = isOnClickApplyFilterMode(that) ? \"bufferedFilterValue\" : \"filterValue\";\r\n var normalizedValue = normalizeFilterValue(that, value, column, $editorContainer);\r\n var isBetween = \"between\" === getColumnSelectedFilterOperation(that, column);\r\n var notFireEvent = options.notFireEvent || isBetween && Array.isArray(normalizedValue) && normalizedValue.includes(void 0);\r\n that._columnsController.columnOption(column.index, columnOptionName, normalizedValue, notFireEvent)\r\n};\r\nvar columnHeadersView = Base => class extends Base {\r\n init() {\r\n super.init();\r\n this._applyFilterViewController = this.getController(\"applyFilter\")\r\n }\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"filterRow\":\r\n case \"showColumnLines\":\r\n this._invalidate(true, true);\r\n args.handled = true;\r\n break;\r\n case \"syncLookupFilterValues\":\r\n if (args.value) {\r\n this.updateLookupDataSource()\r\n } else {\r\n this.render()\r\n }\r\n args.handled = true;\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n _updateEditorValue(column, $editorContainer) {\r\n var editor = getEditorInstance($editorContainer);\r\n editor && editor.option(\"value\", getFilterValue(this, column.index, $editorContainer))\r\n }\r\n _columnOptionChanged(e) {\r\n var _a;\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n var $cell;\r\n var $editorContainer;\r\n var $editorRangeElements;\r\n var $menu;\r\n if (gridCoreUtils.checkChanges(optionNames, [\"filterValue\", \"bufferedFilterValue\", \"selectedFilterOperation\", \"bufferedSelectedFilterOperation\", \"filterValues\", \"filterType\"]) && void 0 !== e.columnIndex) {\r\n var visibleIndex = this._columnsController.getVisibleIndex(e.columnIndex);\r\n var column = this._columnsController.columnOption(e.columnIndex);\r\n $cell = null !== (_a = this._getCellElement(this.element().find(\".\".concat(this.addWidgetPrefix(FILTER_ROW_CLASS))).index(), visibleIndex)) && void 0 !== _a ? _a : $();\r\n $editorContainer = $cell.find(\".\".concat(EDITOR_CONTAINER_CLASS)).first();\r\n if (optionNames.filterValue || optionNames.bufferedFilterValue) {\r\n this._updateEditorValue(column, $editorContainer);\r\n var overlayInstance = $cell.find(\".\".concat(this.addWidgetPrefix(FILTER_RANGE_OVERLAY_CLASS))).data(\"dxOverlay\");\r\n if (overlayInstance) {\r\n $editorRangeElements = overlayInstance.$content().find(\".\".concat(EDITOR_CONTAINER_CLASS));\r\n this._updateEditorValue(column, $editorRangeElements.first());\r\n this._updateEditorValue(column, $editorRangeElements.last())\r\n }\r\n if (!overlayInstance || !overlayInstance.option(\"visible\")) {\r\n this._updateFilterRangeContent($cell, getRangeTextByFilterValue(this, column))\r\n }\r\n }\r\n if (optionNames.selectedFilterOperation || optionNames.bufferedSelectedFilterOperation) {\r\n if (visibleIndex >= 0 && column) {\r\n $menu = $cell.find(\".\".concat(MENU_CLASS));\r\n if ($menu.length) {\r\n this._updateFilterOperationChooser($menu, column, $editorContainer);\r\n if (\"between\" === getColumnSelectedFilterOperation(this, column)) {\r\n this._renderFilterRangeContent($cell, column)\r\n } else if ($editorContainer.find(\".\".concat(FILTER_RANGE_CONTENT_CLASS)).length) {\r\n this._renderEditor($editorContainer, this._getEditorOptions($editorContainer, column));\r\n this._hideFilterRange()\r\n }\r\n }\r\n }\r\n }\r\n return\r\n }\r\n super._columnOptionChanged(e)\r\n }\r\n _renderCore() {\r\n this._filterRangeOverlayInstance = null;\r\n return super._renderCore.apply(this, arguments)\r\n }\r\n _resizeCore() {\r\n var _a;\r\n super._resizeCore.apply(this, arguments);\r\n null === (_a = this._filterRangeOverlayInstance) || void 0 === _a ? void 0 : _a.repaint()\r\n }\r\n isFilterRowVisible() {\r\n return this._isElementVisible(this.option(\"filterRow\"))\r\n }\r\n isVisible() {\r\n return super.isVisible() || this.isFilterRowVisible()\r\n }\r\n _initFilterRangeOverlay($cell, column) {\r\n var that = this;\r\n var sharedData = {};\r\n var $editorContainer = $cell.find(\".dx-editor-container\");\r\n var filterRangeOverlayClass = that.addWidgetPrefix(FILTER_RANGE_OVERLAY_CLASS);\r\n var $overlay = $(\"<div>\").addClass(filterRangeOverlayClass).appendTo($cell);\r\n return that._createComponent($overlay, Overlay, {\r\n height: \"auto\",\r\n shading: false,\r\n showTitle: false,\r\n focusStateEnabled: false,\r\n hideOnOutsideClick: true,\r\n wrapperAttr: {\r\n class: filterRangeOverlayClass\r\n },\r\n animation: false,\r\n position: {\r\n my: \"top\",\r\n at: \"top\",\r\n of: $editorContainer.length && $editorContainer || $cell,\r\n offset: \"0 -1\"\r\n },\r\n contentTemplate(contentElement) {\r\n var editorOptions;\r\n var $editor = $(\"<div>\").addClass(\"\".concat(EDITOR_CONTAINER_CLASS, \" \").concat(that.addWidgetPrefix(FILTER_RANGE_START_CLASS))).appendTo(contentElement);\r\n column = that._columnsController.columnOption(column.index);\r\n editorOptions = that._getEditorOptions($editor, column);\r\n editorOptions.sharedData = sharedData;\r\n that._renderEditor($editor, editorOptions);\r\n eventsEngine.on($editor.find(EDITORS_INPUT_SELECTOR), \"keydown\", e => {\r\n var $prevElement = $cell.find(\"[tabindex]\").not(e.target).first();\r\n if (\"tab\" === normalizeKeyName(e) && e.shiftKey) {\r\n e.preventDefault();\r\n that._hideFilterRange();\r\n if (!$prevElement.length) {\r\n $prevElement = $cell.prev().find(\"[tabindex]\").last()\r\n }\r\n eventsEngine.trigger($prevElement, \"focus\")\r\n }\r\n });\r\n $editor = $(\"<div>\").addClass(\"\".concat(EDITOR_CONTAINER_CLASS, \" \").concat(that.addWidgetPrefix(FILTER_RANGE_END_CLASS))).appendTo(contentElement);\r\n editorOptions = that._getEditorOptions($editor, column);\r\n editorOptions.sharedData = sharedData;\r\n that._renderEditor($editor, editorOptions);\r\n eventsEngine.on($editor.find(EDITORS_INPUT_SELECTOR), \"keydown\", e => {\r\n if (\"tab\" === normalizeKeyName(e) && !e.shiftKey) {\r\n e.preventDefault();\r\n that._hideFilterRange();\r\n eventsEngine.trigger($cell.next().find(\"[tabindex]\").first(), \"focus\")\r\n }\r\n });\r\n return $(contentElement).addClass(that.getWidgetContainerClass())\r\n },\r\n onShown(e) {\r\n var $editor = e.component.$content().find(\".\".concat(EDITOR_CONTAINER_CLASS)).first();\r\n eventsEngine.trigger($editor.find(EDITORS_INPUT_SELECTOR), \"focus\")\r\n },\r\n onHidden() {\r\n column = that._columnsController.columnOption(column.index);\r\n $cell.find(\".\".concat(MENU_CLASS)).parent().addClass(EDITOR_WITH_MENU_CLASS);\r\n if (\"between\" === getColumnSelectedFilterOperation(that, column)) {\r\n that._updateFilterRangeContent($cell, getRangeTextByFilterValue(that, column));\r\n that.component.updateDimensions()\r\n }\r\n }\r\n })\r\n }\r\n _updateFilterRangeOverlay(options) {\r\n var overlayInstance = this._filterRangeOverlayInstance;\r\n overlayInstance && overlayInstance.option(options)\r\n }\r\n _showFilterRange($cell, column) {\r\n var $overlay = $cell.children(\".\".concat(this.addWidgetPrefix(FILTER_RANGE_OVERLAY_CLASS)));\r\n var overlayInstance = $overlay.length && $overlay.data(\"dxOverlay\");\r\n if (!overlayInstance && column) {\r\n overlayInstance = this._initFilterRangeOverlay($cell, column)\r\n }\r\n if (!overlayInstance.option(\"visible\")) {\r\n this._filterRangeOverlayInstance && this._filterRangeOverlayInstance.hide();\r\n this._filterRangeOverlayInstance = overlayInstance;\r\n this._updateFilterRangeOverlay({\r\n width: getOuterWidth($cell, true) + CORRECT_FILTER_RANGE_OVERLAY_WIDTH\r\n });\r\n this._filterRangeOverlayInstance && this._filterRangeOverlayInstance.show()\r\n }\r\n }\r\n _hideFilterRange() {\r\n var overlayInstance = this._filterRangeOverlayInstance;\r\n overlayInstance && overlayInstance.hide()\r\n }\r\n getFilterRangeOverlayInstance() {\r\n return this._filterRangeOverlayInstance\r\n }\r\n _createRow(row) {\r\n var $row = super._createRow(row);\r\n if (\"filter\" === row.rowType) {\r\n $row.addClass(this.addWidgetPrefix(FILTER_ROW_CLASS));\r\n if (!this.option(\"useLegacyKeyboardNavigation\")) {\r\n eventsEngine.on($row, \"keydown\", event => selectView(\"filterRow\", this, event))\r\n }\r\n }\r\n return $row\r\n }\r\n _getRows() {\r\n var result = super._getRows();\r\n if (this.isFilterRowVisible()) {\r\n result.push({\r\n rowType: \"filter\"\r\n })\r\n }\r\n return result\r\n }\r\n _renderFilterCell(cell, options) {\r\n var {\r\n column: column\r\n } = options;\r\n var $cell = $(cell);\r\n if (this.component.option(\"showColumnHeaders\")) {\r\n this.setAria(\"describedby\", column.headerId, $cell)\r\n }\r\n this.setAria(\"label\", messageLocalization.format(\"dxDataGrid-ariaFilterCell\"), $cell);\r\n $cell.addClass(EDITOR_CELL_CLASS);\r\n var $container = $(\"<div>\").appendTo($cell);\r\n var $editorContainer = $(\"<div>\").addClass(EDITOR_CONTAINER_CLASS).appendTo($container);\r\n if (\"between\" === getColumnSelectedFilterOperation(this, column)) {\r\n this._renderFilterRangeContent($cell, column)\r\n } else {\r\n var editorOptions = this._getEditorOptions($editorContainer, column);\r\n this._renderEditor($editorContainer, editorOptions)\r\n }\r\n var {\r\n alignment: alignment\r\n } = column;\r\n if (alignment && \"center\" !== alignment) {\r\n $cell.find(EDITORS_INPUT_SELECTOR).first().css(\"textAlign\", column.alignment)\r\n }\r\n if (column.filterOperations && column.filterOperations.length) {\r\n this._renderFilterOperationChooser($container, column, $editorContainer)\r\n }\r\n }\r\n _renderCellContent($cell, options) {\r\n var that = this;\r\n var {\r\n column: column\r\n } = options;\r\n if (\"filter\" === options.rowType) {\r\n if (column.command) {\r\n $cell.html(\" \")\r\n } else if (column.allowFiltering) {\r\n that.renderTemplate($cell, that._renderFilterCell.bind(that), options).done(() => {\r\n that._updateCell($cell, options)\r\n });\r\n return\r\n }\r\n }\r\n super._renderCellContent.apply(this, arguments)\r\n }\r\n _getEditorOptions($editorContainer, column) {\r\n var that = this;\r\n var accessibilityOptions = {\r\n editorOptions: {\r\n inputAttr: that._getFilterInputAccessibilityAttributes(column)\r\n }\r\n };\r\n var result = extend(accessibilityOptions, column, {\r\n value: getFilterValue(that, column.index, $editorContainer),\r\n parentType: \"filterRow\",\r\n showAllText: that.option(\"filterRow.showAllText\"),\r\n updateValueTimeout: \"onClick\" === that.option(\"filterRow.applyFilter\") ? 0 : FILTERING_TIMEOUT,\r\n width: null,\r\n setValue(value, notFireEvent) {\r\n updateFilterValue(that, {\r\n column: column,\r\n value: value,\r\n container: $editorContainer,\r\n notFireEvent: notFireEvent\r\n })\r\n }\r\n });\r\n if (\"between\" === getColumnSelectedFilterOperation(that, column)) {\r\n if ($editorContainer.hasClass(that.addWidgetPrefix(FILTER_RANGE_START_CLASS))) {\r\n result.placeholder = that.option(\"filterRow.betweenStartText\")\r\n } else {\r\n result.placeholder = that.option(\"filterRow.betweenEndText\")\r\n }\r\n }\r\n return result\r\n }\r\n _getFilterInputAccessibilityAttributes(column) {\r\n var columnAriaLabel = messageLocalization.format(\"dxDataGrid-ariaFilterCell\");\r\n if (this.component.option(\"showColumnHeaders\")) {\r\n return {\r\n \"aria-label\": columnAriaLabel,\r\n \"aria-describedby\": column.headerId\r\n }\r\n }\r\n return {\r\n \"aria-label\": columnAriaLabel\r\n }\r\n }\r\n _renderEditor($editorContainer, options) {\r\n $editorContainer.empty();\r\n var $element = $(\"<div>\").appendTo($editorContainer);\r\n var dataSource = this._dataController.dataSource();\r\n if (options.lookup && this.option(\"syncLookupFilterValues\")) {\r\n this._applyFilterViewController.setCurrentColumnForFiltering(options);\r\n var filter = this._dataController.getCombinedFilter();\r\n this._applyFilterViewController.setCurrentColumnForFiltering(null);\r\n var lookupDataSource = gridCoreUtils.getWrappedLookupDataSource(options, dataSource, filter);\r\n var lookupOptions = _extends(_extends({}, options), {\r\n lookup: _extends(_extends({}, options.lookup), {\r\n dataSource: lookupDataSource\r\n })\r\n });\r\n return this._editorFactoryController.createEditor($element, lookupOptions)\r\n }\r\n return this._editorFactoryController.createEditor($element, options)\r\n }\r\n _renderFilterRangeContent($cell, column) {\r\n var that = this;\r\n var $editorContainer = $cell.find(\".\".concat(EDITOR_CONTAINER_CLASS)).first();\r\n $editorContainer.empty();\r\n var $filterRangeContent = $(\"<div>\").addClass(FILTER_RANGE_CONTENT_CLASS).attr(\"tabindex\", this.option(\"tabIndex\"));\r\n eventsEngine.on($filterRangeContent, \"focusin\", () => {\r\n that._showFilterRange($cell, column)\r\n });\r\n $filterRangeContent.appendTo($editorContainer);\r\n that._updateFilterRangeContent($cell, getRangeTextByFilterValue(that, column))\r\n }\r\n _updateFilterRangeContent($cell, value) {\r\n var $filterRangeContent = $cell.find(\".\".concat(FILTER_RANGE_CONTENT_CLASS));\r\n if ($filterRangeContent.length) {\r\n if (\"\" === value) {\r\n $filterRangeContent.html(\" \")\r\n } else {\r\n $filterRangeContent.text(value)\r\n }\r\n }\r\n }\r\n _updateFilterOperationChooser($menu, column, $editorContainer) {\r\n var that = this;\r\n var isCellWasFocused;\r\n var restoreFocus = function() {\r\n var menu = Menu.getInstance($menu);\r\n menu && menu.option(\"focusedElement\", null);\r\n isCellWasFocused && that._focusEditor($editorContainer)\r\n };\r\n var editorFactoryController = this._editorFactoryController;\r\n that._createComponent($menu, Menu, {\r\n integrationOptions: {},\r\n activeStateEnabled: false,\r\n selectionMode: \"single\",\r\n cssClass: \"\".concat(that.getWidgetContainerClass(), \" \").concat(CELL_FOCUS_DISABLED_CLASS, \" \").concat(FILTER_MENU),\r\n showFirstSubmenuMode: \"onHover\",\r\n hideSubmenuOnMouseLeave: true,\r\n items: [{\r\n disabled: !(column.filterOperations && column.filterOperations.length),\r\n icon: OPERATION_ICONS[getColumnSelectedFilterOperation(that, column) || \"default\"],\r\n selectable: false,\r\n items: that._getFilterOperationMenuItems(column)\r\n }],\r\n onItemRendered: _ref => {\r\n var {\r\n itemElement: itemElement\r\n } = _ref;\r\n this.setAria(\"label\", ARIA_SEARCH_BOX, $(itemElement))\r\n },\r\n onItemClick(properties) {\r\n var selectedFilterOperation = properties.itemData.name;\r\n var columnSelectedFilterOperation = getColumnSelectedFilterOperation(that, column);\r\n var notFocusEditor = false;\r\n var isOnClickMode = isOnClickApplyFilterMode(that);\r\n var options = {};\r\n if (properties.itemData.items || selectedFilterOperation && selectedFilterOperation === columnSelectedFilterOperation) {\r\n return\r\n }\r\n if (selectedFilterOperation) {\r\n options[isOnClickMode ? \"bufferedSelectedFilterOperation\" : \"selectedFilterOperation\"] = selectedFilterOperation;\r\n if (\"between\" === selectedFilterOperation || \"between\" === columnSelectedFilterOperation) {\r\n notFocusEditor = \"between\" === selectedFilterOperation;\r\n options[isOnClickMode ? \"bufferedFilterValue\" : \"filterValue\"] = null\r\n }\r\n } else {\r\n options[isOnClickMode ? \"bufferedFilterValue\" : \"filterValue\"] = null;\r\n options[isOnClickMode ? \"bufferedSelectedFilterOperation\" : \"selectedFilterOperation\"] = column.defaultSelectedFilterOperation || null\r\n }\r\n that._columnsController.columnOption(column.index, options);\r\n that._applyFilterViewController.setHighLight($editorContainer, true);\r\n if (!selectedFilterOperation) {\r\n var editor = getEditorInstance($editorContainer);\r\n if (editor && \"dxDateBox\" === editor.NAME && !editor.option(\"isValid\")) {\r\n editor.reset();\r\n editor.option(\"isValid\", true)\r\n }\r\n }\r\n if (!notFocusEditor) {\r\n that._focusEditor($editorContainer)\r\n } else {\r\n that._showFilterRange($editorContainer.closest(\".\".concat(EDITOR_CELL_CLASS)), column)\r\n }\r\n },\r\n onSubmenuShowing() {\r\n isCellWasFocused = that._isEditorFocused($editorContainer);\r\n editorFactoryController.loseFocus()\r\n },\r\n onSubmenuHiding() {\r\n eventsEngine.trigger($menu, \"blur\");\r\n restoreFocus()\r\n },\r\n onContentReady(e) {\r\n eventsEngine.on($menu, \"blur\", () => {\r\n var menu = e.component;\r\n menu._hideSubmenuAfterTimeout();\r\n restoreFocus()\r\n })\r\n },\r\n rtlEnabled: that.option(\"rtlEnabled\")\r\n })\r\n }\r\n _isEditorFocused($container) {\r\n return $container.hasClass(FOCUSED_CLASS) || $container.parents(\".\".concat(FOCUSED_CLASS)).length\r\n }\r\n _focusEditor($container) {\r\n this._editorFactoryController.focus($container);\r\n eventsEngine.trigger($container.find(EDITORS_INPUT_SELECTOR), \"focus\")\r\n }\r\n _renderFilterOperationChooser($container, column, $editorContainer) {\r\n var $menu;\r\n if (this.option(\"filterRow.showOperationChooser\")) {\r\n $container.addClass(EDITOR_WITH_MENU_CLASS);\r\n $menu = $(\"<div>\").prependTo($container);\r\n this._updateFilterOperationChooser($menu, column, $editorContainer)\r\n }\r\n }\r\n _getFilterOperationMenuItems(column) {\r\n var that = this;\r\n var result = [{}];\r\n var filterRowOptions = that.option(\"filterRow\");\r\n var operationDescriptions = filterRowOptions && filterRowOptions.operationDescriptions || {};\r\n if (column.filterOperations && column.filterOperations.length) {\r\n var availableFilterOperations = column.filterOperations.filter(value => isDefined(OPERATION_DESCRIPTORS[value]));\r\n result = map(availableFilterOperations, value => {\r\n var descriptionName = OPERATION_DESCRIPTORS[value];\r\n return {\r\n name: value,\r\n selected: (getColumnSelectedFilterOperation(that, column) || column.defaultFilterOperation) === value,\r\n text: operationDescriptions[descriptionName],\r\n icon: OPERATION_ICONS[value]\r\n }\r\n });\r\n result.push({\r\n name: null,\r\n text: filterRowOptions && filterRowOptions.resetOperationText,\r\n icon: OPERATION_ICONS.default\r\n })\r\n }\r\n return result\r\n }\r\n _handleDataChanged(e) {\r\n var _a, _b, _c, _d, _e, _f;\r\n var dataSource = null === (_b = null === (_a = this._dataController) || void 0 === _a ? void 0 : _a.dataSource) || void 0 === _b ? void 0 : _b.call(_a);\r\n var lastLoadOptions = null === (_c = null === dataSource || void 0 === dataSource ? void 0 : dataSource.lastLoadOptions) || void 0 === _c ? void 0 : _c.call(dataSource);\r\n super._handleDataChanged.apply(this, arguments);\r\n if ((null === (_d = e.operationTypes) || void 0 === _d ? void 0 : _d.filtering) || (null === (_e = e.operationTypes) || void 0 === _e ? void 0 : _e.fullReload)) {\r\n this.updateLookupDataSource((null === (_f = e.operationTypes) || void 0 === _f ? void 0 : _f.filtering) || (null === lastLoadOptions || void 0 === lastLoadOptions ? void 0 : lastLoadOptions.filter))\r\n }\r\n }\r\n updateLookupDataSource(filterChanged) {\r\n if (!this.option(\"syncLookupFilterValues\")) {\r\n return\r\n }\r\n if (!this.element()) {\r\n return\r\n }\r\n var columns = this._columnsController.getVisibleColumns();\r\n var dataSource = this._dataController.dataSource();\r\n var applyFilterViewController = this._applyFilterViewController;\r\n var rowIndex = this.element().find(\".\".concat(this.addWidgetPrefix(FILTER_ROW_CLASS))).index();\r\n if (-1 === rowIndex) {\r\n return\r\n }\r\n columns.forEach((column, index) => {\r\n if (!column.lookup || column.calculateCellValue !== column.defaultCalculateCellValue) {\r\n return\r\n }\r\n var $cell = this._getCellElement(rowIndex, index);\r\n var editor = getEditorInstance(null === $cell || void 0 === $cell ? void 0 : $cell.find(\".dx-editor-container\"));\r\n if (editor) {\r\n applyFilterViewController.setCurrentColumnForFiltering(column);\r\n var filter = this._dataController.getCombinedFilter() || null;\r\n applyFilterViewController.setCurrentColumnForFiltering(null);\r\n var editorDataSource = editor.option(\"dataSource\");\r\n var shouldUpdateFilter = !filterChanged || !equalByValue(editorDataSource.__dataGridSourceFilter || null, filter);\r\n if (shouldUpdateFilter) {\r\n var lookupDataSource = gridCoreUtils.getWrappedLookupDataSource(column, dataSource, filter);\r\n editor.option(\"dataSource\", lookupDataSource)\r\n }\r\n }\r\n })\r\n }\r\n};\r\nvar data = Base => class extends Base {\r\n skipCalculateColumnFilters() {\r\n return false\r\n }\r\n _calculateAdditionalFilter() {\r\n if (this.skipCalculateColumnFilters()) {\r\n return super._calculateAdditionalFilter()\r\n }\r\n var filters = [super._calculateAdditionalFilter()];\r\n var columns = this._columnsController.getVisibleColumns(null, true);\r\n var applyFilterController = this._applyFilterController;\r\n each(columns, (function() {\r\n var _a;\r\n var shouldSkip = (null === (_a = applyFilterController.getCurrentColumnForFiltering()) || void 0 === _a ? void 0 : _a.index) === this.index;\r\n if (this.allowFiltering && this.calculateFilterExpression && isDefined(this.filterValue) && !shouldSkip) {\r\n var filter = this.createFilterExpression(this.filterValue, this.selectedFilterOperation || this.defaultFilterOperation, \"filterRow\");\r\n filters.push(filter)\r\n }\r\n }));\r\n return gridCoreUtils.combineFilters(filters)\r\n }\r\n};\r\nexport class ApplyFilterViewController extends modules.ViewController {\r\n init() {\r\n this._columnsController = this.getController(\"columns\")\r\n }\r\n _getHeaderPanel() {\r\n if (!this._headerPanel) {\r\n this._headerPanel = this.getView(\"headerPanel\")\r\n }\r\n return this._headerPanel\r\n }\r\n setHighLight($element, value) {\r\n if (isOnClickApplyFilterMode(this)) {\r\n $element && $element.toggleClass(HIGHLIGHT_OUTLINE_CLASS, value) && $element.closest(\".\".concat(EDITOR_CELL_CLASS)).toggleClass(FILTER_MODIFIED_CLASS, value);\r\n this._getHeaderPanel().enableApplyButton(value)\r\n }\r\n }\r\n applyFilter() {\r\n var columns = this._columnsController.getColumns();\r\n this._columnsController.beginUpdate();\r\n for (var i = 0; i < columns.length; i++) {\r\n var column = columns[i];\r\n if (void 0 !== column.bufferedFilterValue) {\r\n this._columnsController.columnOption(i, \"filterValue\", column.bufferedFilterValue);\r\n column.bufferedFilterValue = void 0\r\n }\r\n if (void 0 !== column.bufferedSelectedFilterOperation) {\r\n this._columnsController.columnOption(i, \"selectedFilterOperation\", column.bufferedSelectedFilterOperation);\r\n column.bufferedSelectedFilterOperation = void 0\r\n }\r\n }\r\n this._columnsController.endUpdate();\r\n this.removeHighLights()\r\n }\r\n removeHighLights() {\r\n if (isOnClickApplyFilterMode(this)) {\r\n var columnHeadersViewElement = this.getView(\"columnHeadersView\").element();\r\n columnHeadersViewElement.find(\".\".concat(this.addWidgetPrefix(FILTER_ROW_CLASS), \" .\").concat(HIGHLIGHT_OUTLINE_CLASS)).removeClass(HIGHLIGHT_OUTLINE_CLASS);\r\n columnHeadersViewElement.find(\".\".concat(this.addWidgetPrefix(FILTER_ROW_CLASS), \" .\").concat(FILTER_MODIFIED_CLASS)).removeClass(FILTER_MODIFIED_CLASS);\r\n this._getHeaderPanel().enableApplyButton(false)\r\n }\r\n }\r\n setCurrentColumnForFiltering(column) {\r\n this._currentColumn = column\r\n }\r\n getCurrentColumnForFiltering() {\r\n return this._currentColumn\r\n }\r\n}\r\nvar columnsResizer = Base => class extends Base {\r\n _startResizing() {\r\n super._startResizing.apply(this, arguments);\r\n if (this.isResizing()) {\r\n var overlayInstance = this._columnHeadersView.getFilterRangeOverlayInstance();\r\n if (overlayInstance) {\r\n var cellIndex = overlayInstance.$element().closest(\"td\").index();\r\n if (cellIndex === this._targetPoint.columnIndex || cellIndex === this._targetPoint.columnIndex + 1) {\r\n overlayInstance.$content().hide()\r\n }\r\n }\r\n }\r\n }\r\n _endResizing() {\r\n var $cell;\r\n if (this.isResizing()) {\r\n var overlayInstance = this._columnHeadersView.getFilterRangeOverlayInstance();\r\n if (overlayInstance) {\r\n $cell = overlayInstance.$element().closest(\"td\");\r\n this._columnHeadersView._updateFilterRangeOverlay({\r\n width: getOuterWidth($cell, true) + CORRECT_FILTER_RANGE_OVERLAY_WIDTH\r\n });\r\n overlayInstance.$content().show()\r\n }\r\n }\r\n super._endResizing.apply(this, arguments)\r\n }\r\n};\r\nvar editing = Base => class extends Base {\r\n updateFieldValue(options) {\r\n if (options.column.lookup) {\r\n this._needUpdateLookupDataSource = true\r\n }\r\n return super.updateFieldValue.apply(this, arguments)\r\n }\r\n _afterSaveEditData(cancel) {\r\n var _a;\r\n if (this._needUpdateLookupDataSource && !cancel) {\r\n null === (_a = this.getView(\"columnHeadersView\")) || void 0 === _a ? void 0 : _a.updateLookupDataSource()\r\n }\r\n this._needUpdateLookupDataSource = false;\r\n return super._afterSaveEditData.apply(this, arguments)\r\n }\r\n _afterCancelEditData() {\r\n this._needUpdateLookupDataSource = false;\r\n return super._afterCancelEditData.apply(this, arguments)\r\n }\r\n};\r\nvar headerPanel = Base => class extends Base {\r\n init() {\r\n super.init();\r\n this._dataController = this.getController(\"data\");\r\n this._applyFilterViewController = this.getController(\"applyFilter\")\r\n }\r\n optionChanged(args) {\r\n if (\"filterRow\" === args.name) {\r\n this._invalidate();\r\n args.handled = true\r\n } else {\r\n super.optionChanged(args)\r\n }\r\n }\r\n _getToolbarItems() {\r\n var items = super._getToolbarItems();\r\n var filterItem = this._prepareFilterItem();\r\n return filterItem.concat(items)\r\n }\r\n _prepareFilterItem() {\r\n var that = this;\r\n var filterItem = [];\r\n if (that._isShowApplyFilterButton()) {\r\n var hintText = that.option(\"filterRow.applyFilterText\");\r\n var columns = that._columnsController.getColumns();\r\n var disabled = !columns.filter(column => void 0 !== column.bufferedFilterValue).length;\r\n var toolbarItem = {\r\n widget: \"dxButton\",\r\n options: {\r\n icon: \"apply-filter\",\r\n disabled: disabled,\r\n onClick: function() {\r\n that._applyFilterViewController.applyFilter()\r\n },\r\n hint: hintText,\r\n text: hintText,\r\n onInitialized: function(e) {\r\n $(e.element).addClass(that._getToolbarButtonClass(APPLY_BUTTON_CLASS))\r\n }\r\n },\r\n showText: \"inMenu\",\r\n name: \"applyFilterButton\",\r\n location: \"after\",\r\n locateInMenu: \"auto\",\r\n sortIndex: 10\r\n };\r\n filterItem.push(toolbarItem)\r\n }\r\n return filterItem\r\n }\r\n _isShowApplyFilterButton() {\r\n var filterRowOptions = this.option(\"filterRow\");\r\n return !!(null === filterRowOptions || void 0 === filterRowOptions ? void 0 : filterRowOptions.visible) && \"onClick\" === filterRowOptions.applyFilter\r\n }\r\n enableApplyButton(value) {\r\n this.setToolbarItemDisabled(\"applyFilterButton\", !value)\r\n }\r\n isVisible() {\r\n return super.isVisible() || this._isShowApplyFilterButton()\r\n }\r\n};\r\nexport var filterRowModule = {\r\n defaultOptions: () => ({\r\n syncLookupFilterValues: true,\r\n filterRow: {\r\n visible: false,\r\n showOperationChooser: true,\r\n showAllText: messageLocalization.format(\"dxDataGrid-filterRowShowAllText\"),\r\n resetOperationText: messageLocalization.format(\"dxDataGrid-filterRowResetOperationText\"),\r\n applyFilter: \"auto\",\r\n applyFilterText: messageLocalization.format(\"dxDataGrid-applyFilterText\"),\r\n operationDescriptions: {\r\n equal: messageLocalization.format(\"dxDataGrid-filterRowOperationEquals\"),\r\n notEqual: messageLocalization.format(\"dxDataGrid-filterRowOperationNotEquals\"),\r\n lessThan: messageLocalization.format(\"dxDataGrid-filterRowOperationLess\"),\r\n lessThanOrEqual: messageLocalization.format(\"dxDataGrid-filterRowOperationLessOrEquals\"),\r\n greaterThan: messageLocalization.format(\"dxDataGrid-filterRowOperationGreater\"),\r\n greaterThanOrEqual: messageLocalization.format(\"dxDataGrid-filterRowOperationGreaterOrEquals\"),\r\n startsWith: messageLocalization.format(\"dxDataGrid-filterRowOperationStartsWith\"),\r\n contains: messageLocalization.format(\"dxDataGrid-filterRowOperationContains\"),\r\n notContains: messageLocalization.format(\"dxDataGrid-filterRowOperationNotContains\"),\r\n endsWith: messageLocalization.format(\"dxDataGrid-filterRowOperationEndsWith\"),\r\n between: messageLocalization.format(\"dxDataGrid-filterRowOperationBetween\"),\r\n isBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsBlank\"),\r\n isNotBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsNotBlank\")\r\n },\r\n betweenStartText: messageLocalization.format(\"dxDataGrid-filterRowOperationBetweenStartText\"),\r\n betweenEndText: messageLocalization.format(\"dxDataGrid-filterRowOperationBetweenEndText\")\r\n }\r\n }),\r\n controllers: {\r\n applyFilter: ApplyFilterViewController\r\n },\r\n extenders: {\r\n controllers: {\r\n data: data,\r\n columnsResizer: columnsResizer,\r\n editing: editing\r\n },\r\n views: {\r\n columnHeadersView: columnHeadersView,\r\n headerPanel: headerPanel\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/filter_row.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterRowModule\r\n} from \"../../../grids/grid_core/filter/m_filter_row\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterRow\", filterRowModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/header_filter/m_header_filter_core.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"../../../../ui/list/modules/search\";\r\nimport \"../../../../ui/list/modules/selection\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../../../core/utils/type\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport List from \"../../../../ui/list_light\";\r\nimport Popup from \"../../../../ui/popup/ui.popup\";\r\nimport TreeView from \"../../../../ui/tree_view\";\r\nimport Modules from \"../../../grids/grid_core/m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar HEADER_FILTER_CLASS = \"dx-header-filter\";\r\nvar HEADER_FILTER_MENU_CLASS = \"dx-header-filter-menu\";\r\nvar DEFAULT_SEARCH_EXPRESSION = \"text\";\r\n\r\nfunction resetChildrenItemSelection(items) {\r\n items = items || [];\r\n for (var i = 0; i < items.length; i++) {\r\n items[i].selected = false;\r\n resetChildrenItemSelection(items[i].items)\r\n }\r\n}\r\n\r\nfunction getSelectAllCheckBox(listComponent) {\r\n var selector = \"dxTreeView\" === listComponent.NAME ? \".dx-treeview-select-all-item\" : \".dx-list-select-all-checkbox\";\r\n return listComponent.$element().find(selector).dxCheckBox(\"instance\")\r\n}\r\n\r\nfunction updateListSelectAllState(e, filterValues) {\r\n if (e.component.option(\"searchValue\")) {\r\n return\r\n }\r\n var selectAllCheckBox = getSelectAllCheckBox(e.component);\r\n if (selectAllCheckBox && filterValues && filterValues.length) {\r\n selectAllCheckBox.option(\"value\", void 0)\r\n }\r\n}\r\nexport function updateHeaderFilterItemSelectionState(item, filterValuesMatch, isExcludeFilter) {\r\n if (filterValuesMatch ^ isExcludeFilter) {\r\n item.selected = true;\r\n if (isExcludeFilter && item.items) {\r\n for (var j = 0; j < item.items.length; j++) {\r\n if (!item.items[j].selected) {\r\n item.selected = void 0;\r\n break\r\n }\r\n }\r\n }\r\n } else if (isExcludeFilter || item.selected) {\r\n item.selected = false;\r\n resetChildrenItemSelection(item.items)\r\n }\r\n}\r\nexport class HeaderFilterView extends Modules.View {\r\n getPopupContainer() {\r\n return this._popupContainer\r\n }\r\n getListComponent() {\r\n return this._listComponent\r\n }\r\n applyHeaderFilter(options) {\r\n var list = this.getListComponent();\r\n var searchValue = list.option(\"searchValue\");\r\n var selectAllCheckBox = getSelectAllCheckBox(list);\r\n var isAllSelected = !searchValue && !options.isFilterBuilder && (null === selectAllCheckBox || void 0 === selectAllCheckBox ? void 0 : selectAllCheckBox.option(\"value\"));\r\n var filterValues = [];\r\n if (!isAllSelected) {\r\n if (\"tree\" === options.type) {\r\n if (options.filterType) {\r\n options.filterType = \"include\"\r\n }! function fillSelectedItemKeys(filterValues, items, isExclude) {\r\n each(items, (_, item) => {\r\n if (void 0 !== item.selected && !!item.selected ^ isExclude) {\r\n var node = list._getNode(item);\r\n var hasChildren = list._hasChildren(node);\r\n var hasChildrenWithSelection = hasChildren && item.items && item.items.some(item => item.selected);\r\n if (!searchValue || !hasChildrenWithSelection) {\r\n filterValues.push(item.value);\r\n return\r\n }\r\n }\r\n if (item.items && item.items.length) {\r\n fillSelectedItemKeys(filterValues, item.items, isExclude)\r\n }\r\n })\r\n }(filterValues, list.option(\"items\"), false);\r\n options.filterValues = filterValues\r\n }\r\n } else {\r\n if (\"tree\" === options.type) {\r\n options.filterType = \"exclude\"\r\n }\r\n if (Array.isArray(options.filterValues)) {\r\n options.filterValues = []\r\n }\r\n }\r\n if (options.filterValues && !options.filterValues.length) {\r\n options.filterValues = null\r\n }\r\n options.apply();\r\n this.hideHeaderFilterMenu()\r\n }\r\n showHeaderFilterMenu($columnElement, options) {\r\n if (options) {\r\n this._initializePopupContainer(options);\r\n var popupContainer = this.getPopupContainer();\r\n this.hideHeaderFilterMenu();\r\n this.updatePopup($columnElement, options);\r\n popupContainer.show()\r\n }\r\n }\r\n hideHeaderFilterMenu() {\r\n var headerFilterMenu = this.getPopupContainer();\r\n headerFilterMenu && headerFilterMenu.hide()\r\n }\r\n updatePopup($element, options) {\r\n var showColumnLines = this.option(\"showColumnLines\");\r\n var alignment = \"right\" === options.alignment ^ !showColumnLines ? \"left\" : \"right\";\r\n this._popupContainer.setAria({\r\n role: \"dialog\",\r\n label: messageLocalization.format(\"dxDataGrid-headerFilterLabel\")\r\n });\r\n if (this._popupContainer) {\r\n this._cleanPopupContent();\r\n this._popupContainer.option(\"position\", {\r\n my: \"\".concat(alignment, \" top\"),\r\n at: \"\".concat(alignment, \" bottom\"),\r\n of: $element,\r\n collision: \"fit fit\"\r\n })\r\n }\r\n }\r\n _getSearchExpr(options, headerFilterOptions) {\r\n var {\r\n lookup: lookup\r\n } = options;\r\n var {\r\n useDefaultSearchExpr: useDefaultSearchExpr\r\n } = options;\r\n var headerFilterDataSource = headerFilterOptions.dataSource;\r\n var filterSearchExpr = headerFilterOptions.search.searchExpr;\r\n if (filterSearchExpr) {\r\n return filterSearchExpr\r\n }\r\n if (useDefaultSearchExpr || isDefined(headerFilterDataSource) && !isFunction(headerFilterDataSource)) {\r\n return DEFAULT_SEARCH_EXPRESSION\r\n }\r\n if (lookup) {\r\n return lookup.displayExpr || \"this\"\r\n }\r\n if (options.dataSource) {\r\n var {\r\n group: group\r\n } = options.dataSource;\r\n if (Array.isArray(group) && group.length > 0) {\r\n return group[0].selector\r\n }\r\n if (isFunction(group) && !options.remoteFiltering) {\r\n return group\r\n }\r\n }\r\n return options.dataField || options.selector\r\n }\r\n _cleanPopupContent() {\r\n this._popupContainer && this._popupContainer.$content().empty()\r\n }\r\n _initializePopupContainer(options) {\r\n var that = this;\r\n var $element = that.element();\r\n var headerFilterOptions = this._normalizeHeaderFilterOptions(options);\r\n var {\r\n height: height,\r\n width: width\r\n } = headerFilterOptions;\r\n var dxPopupOptions = {\r\n width: width,\r\n height: height,\r\n visible: false,\r\n shading: false,\r\n showTitle: false,\r\n showCloseButton: false,\r\n hideOnParentScroll: false,\r\n dragEnabled: false,\r\n hideOnOutsideClick: true,\r\n wrapperAttr: {\r\n class: HEADER_FILTER_MENU_CLASS\r\n },\r\n focusStateEnabled: false,\r\n toolbarItems: [{\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: {\r\n text: headerFilterOptions.texts.ok,\r\n onClick() {\r\n that.applyHeaderFilter(options)\r\n }\r\n }\r\n }, {\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: {\r\n text: headerFilterOptions.texts.cancel,\r\n onClick() {\r\n that.hideHeaderFilterMenu()\r\n }\r\n }\r\n }],\r\n resizeEnabled: true,\r\n onShowing(e) {\r\n e.component.$content().parent().addClass(\"dx-dropdowneditor-overlay\");\r\n that._initializeListContainer(options, headerFilterOptions);\r\n options.onShowing && options.onShowing(e)\r\n },\r\n onShown() {\r\n that.getListComponent().focus()\r\n },\r\n onHidden: options.onHidden,\r\n onInitialized(e) {\r\n var {\r\n component: component\r\n } = e;\r\n component.option(\"animation\", component._getDefaultOptions().animation)\r\n }\r\n };\r\n if (!isDefined(that._popupContainer)) {\r\n that._popupContainer = that._createComponent($element, Popup, dxPopupOptions)\r\n } else {\r\n that._popupContainer.option(dxPopupOptions)\r\n }\r\n }\r\n _initializeListContainer(options, headerFilterOptions) {\r\n var that = this;\r\n var $content = that._popupContainer.$content();\r\n var needShowSelectAllCheckbox = !options.isFilterBuilder && headerFilterOptions.allowSelectAll;\r\n var widgetOptions = {\r\n searchEnabled: headerFilterOptions.search.enabled,\r\n searchTimeout: headerFilterOptions.search.timeout,\r\n searchEditorOptions: headerFilterOptions.search.editorOptions,\r\n searchMode: headerFilterOptions.search.mode || \"\",\r\n dataSource: options.dataSource,\r\n onContentReady() {\r\n that.renderCompleted.fire()\r\n },\r\n itemTemplate(data, _, element) {\r\n var $element = $(element);\r\n if (options.encodeHtml) {\r\n return $element.text(data.text)\r\n }\r\n return $element.html(data.text)\r\n }\r\n };\r\n\r\n function onOptionChanged(e) {\r\n if (\"searchValue\" === e.fullName && needShowSelectAllCheckbox && false !== that.option(\"headerFilter.hideSelectAllOnSearch\")) {\r\n if (\"tree\" === options.type) {\r\n e.component.option(\"showCheckBoxesMode\", e.value ? \"normal\" : \"selectAll\")\r\n } else {\r\n e.component.option(\"selectionMode\", e.value ? \"multiple\" : \"all\")\r\n }\r\n }\r\n }\r\n if (\"tree\" === options.type) {\r\n that._listComponent = that._createComponent($(\"<div>\").appendTo($content), TreeView, extend(widgetOptions, {\r\n showCheckBoxesMode: needShowSelectAllCheckbox ? \"selectAll\" : \"normal\",\r\n onOptionChanged: onOptionChanged,\r\n keyExpr: \"id\"\r\n }))\r\n } else {\r\n that._listComponent = that._createComponent($(\"<div>\").appendTo($content), List, extend(widgetOptions, {\r\n searchExpr: that._getSearchExpr(options, headerFilterOptions),\r\n pageLoadMode: \"scrollBottom\",\r\n showSelectionControls: true,\r\n selectionMode: needShowSelectAllCheckbox ? \"all\" : \"multiple\",\r\n onOptionChanged: onOptionChanged,\r\n onSelectionChanged(e) {\r\n var items = e.component.option(\"items\");\r\n var selectedItems = e.component.option(\"selectedItems\");\r\n if (!e.component._selectedItemsUpdating && !e.component.option(\"searchValue\") && !options.isFilterBuilder) {\r\n var filterValues = options.filterValues || [];\r\n var isExclude = \"exclude\" === options.filterType;\r\n if (0 === selectedItems.length && items.length && (filterValues.length <= 1 || isExclude && filterValues.length === items.length - 1)) {\r\n options.filterType = \"include\";\r\n options.filterValues = []\r\n } else if (selectedItems.length === items.length) {\r\n options.filterType = \"exclude\";\r\n options.filterValues = []\r\n }\r\n }\r\n each(items, (index, item) => {\r\n var selected = gridCoreUtils.getIndexByKey(item, selectedItems, null) >= 0;\r\n var oldSelected = !!item.selected;\r\n if (oldSelected !== selected) {\r\n item.selected = selected;\r\n options.filterValues = options.filterValues || [];\r\n var filterValueIndex = gridCoreUtils.getIndexByKey(item.value, options.filterValues, null);\r\n if (filterValueIndex >= 0) {\r\n options.filterValues.splice(filterValueIndex, 1)\r\n }\r\n var isExcludeFilterType = \"exclude\" === options.filterType;\r\n if (selected ^ isExcludeFilterType) {\r\n options.filterValues.push(item.value)\r\n }\r\n }\r\n });\r\n updateListSelectAllState(e, options.filterValues)\r\n },\r\n onContentReady(e) {\r\n var {\r\n component: component\r\n } = e;\r\n var items = component.option(\"items\");\r\n var selectedItems = [];\r\n each(items, (function() {\r\n if (this.selected) {\r\n selectedItems.push(this)\r\n }\r\n }));\r\n component._selectedItemsUpdating = true;\r\n component.option(\"selectedItems\", selectedItems);\r\n component._selectedItemsUpdating = false;\r\n updateListSelectAllState(e, options.filterValues)\r\n }\r\n }))\r\n }\r\n }\r\n _normalizeHeaderFilterOptions(options) {\r\n var generalHeaderFilter = this.option(\"headerFilter\") || {};\r\n var specificHeaderFilter = options.headerFilter || {};\r\n var generalDeprecated = {\r\n search: {\r\n enabled: generalHeaderFilter.allowSearch,\r\n timeout: generalHeaderFilter.searchTimeout\r\n }\r\n };\r\n var specificDeprecated = {\r\n search: {\r\n enabled: specificHeaderFilter.allowSearch,\r\n mode: specificHeaderFilter.searchMode,\r\n timeout: specificHeaderFilter.searchTimeout\r\n }\r\n };\r\n return extend(true, {}, generalHeaderFilter, generalDeprecated, specificHeaderFilter, specificDeprecated)\r\n }\r\n _renderCore() {\r\n this.element().addClass(HEADER_FILTER_MENU_CLASS)\r\n }\r\n}\r\nexport var allowHeaderFiltering = function(column) {\r\n return isDefined(column.allowHeaderFiltering) ? column.allowHeaderFiltering : column.allowFiltering\r\n};\r\nexport var headerFilterMixin = Base => class extends Base {\r\n optionChanged(args) {\r\n if (\"headerFilter\" === args.name) {\r\n var requireReady = \"columnHeadersView\" === this.name;\r\n this._invalidate(requireReady, requireReady);\r\n args.handled = true\r\n } else {\r\n super.optionChanged(args)\r\n }\r\n }\r\n _applyColumnState(options) {\r\n var $headerFilterIndicator;\r\n var {\r\n rootElement: rootElement\r\n } = options;\r\n var {\r\n column: column\r\n } = options;\r\n if (\"headerFilter\" === options.name) {\r\n rootElement.find(\".\".concat(HEADER_FILTER_CLASS)).remove();\r\n if (allowHeaderFiltering(column)) {\r\n $headerFilterIndicator = super._applyColumnState(options).toggleClass(\"dx-header-filter-empty\", this._isHeaderFilterEmpty(column));\r\n if (!this.option(\"useLegacyKeyboardNavigation\")) {\r\n $headerFilterIndicator.attr(\"tabindex\", this.option(\"tabindex\") || 0)\r\n }\r\n var indicatorLabel = messageLocalization.format(\"dxDataGrid-headerFilterIndicatorLabel\", column.caption);\r\n $headerFilterIndicator.attr(\"aria-label\", indicatorLabel);\r\n $headerFilterIndicator.attr(\"aria-haspopup\", \"dialog\");\r\n $headerFilterIndicator.attr(\"role\", \"button\")\r\n }\r\n return $headerFilterIndicator\r\n }\r\n return super._applyColumnState(options)\r\n }\r\n _isHeaderFilterEmpty(column) {\r\n return !column.filterValues || !column.filterValues.length\r\n }\r\n _getIndicatorClassName(name) {\r\n if (\"headerFilter\" === name) {\r\n return HEADER_FILTER_CLASS\r\n }\r\n return super._getIndicatorClassName(name)\r\n }\r\n _renderIndicator(options) {\r\n var $container = options.container;\r\n var $indicator = options.indicator;\r\n if (\"headerFilter\" === options.name) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n if ($container.children().length && (!rtlEnabled && \"right\" === options.columnAlignment || rtlEnabled && \"left\" === options.columnAlignment)) {\r\n $container.prepend($indicator);\r\n return\r\n }\r\n }\r\n super._renderIndicator(options)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/header_filter/m_header_filter.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n compileGetter\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"../../../../data/data_source/utils\";\r\nimport dataQuery from \"../../../../data/query\";\r\nimport storeHelper from \"../../../../data/store_helper\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport dateLocalization from \"../../../../localization/date\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n restoreFocus,\r\n saveFocusedElementInfo\r\n} from \"../../../../ui/shared/accessibility\";\r\nimport filterUtils from \"../../../../ui/shared/filtering\";\r\nimport Modules from \"../../../grids/grid_core/m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n allowHeaderFiltering,\r\n headerFilterMixin,\r\n HeaderFilterView,\r\n updateHeaderFilterItemSelectionState\r\n} from \"./m_header_filter_core\";\r\nvar DATE_INTERVAL_FORMATS = {\r\n month: value => dateLocalization.getMonthNames()[value - 1],\r\n quarter: value => dateLocalization.format(new Date(2e3, 3 * value - 1), \"quarter\")\r\n};\r\n\r\nfunction ungroupUTCDates(items, dateParts, dates) {\r\n dateParts = dateParts || [];\r\n dates = dates || [];\r\n items.forEach(item => {\r\n if (isDefined(item.key)) {\r\n var isMonthPart = 1 === dateParts.length;\r\n dateParts.push(isMonthPart ? item.key - 1 : item.key);\r\n if (item.items) {\r\n ungroupUTCDates(item.items, dateParts, dates)\r\n } else {\r\n var date = new Date(Date.UTC.apply(Date, dateParts));\r\n dates.push(date)\r\n }\r\n dateParts.pop()\r\n } else {\r\n dates.push(null)\r\n }\r\n });\r\n return dates\r\n}\r\n\r\nfunction convertDataFromUTCToLocal(data, column) {\r\n var dates = ungroupUTCDates(data);\r\n var query = dataQuery(dates);\r\n var group = gridCoreUtils.getHeaderFilterGroupParameters(_extends(_extends({}, column), {\r\n calculateCellValue: date => date\r\n }));\r\n return storeHelper.queryByOptions(query, {\r\n group: group\r\n }).toArray()\r\n}\r\n\r\nfunction isUTCFormat(format) {\r\n return \"Z\" === (null === format || void 0 === format ? void 0 : format.slice(-1)) || \"'Z'\" === (null === format || void 0 === format ? void 0 : format.slice(-3))\r\n}\r\nvar getFormatOptions = function(value, column, currentLevel) {\r\n var groupInterval = filterUtils.getGroupInterval(column);\r\n var result = gridCoreUtils.getFormatOptionsByColumn(column, \"headerFilter\");\r\n if (groupInterval) {\r\n result.groupInterval = groupInterval[currentLevel];\r\n if (gridCoreUtils.isDateType(column.dataType)) {\r\n result.format = DATE_INTERVAL_FORMATS[groupInterval[currentLevel]]\r\n } else if (\"number\" === column.dataType) {\r\n result.getDisplayFormat = function() {\r\n var formatOptions = {\r\n format: column.format,\r\n target: \"headerFilter\"\r\n };\r\n var firstValueText = gridCoreUtils.formatValue(value, formatOptions);\r\n var secondValue = value + groupInterval[currentLevel];\r\n var secondValueText = gridCoreUtils.formatValue(secondValue, formatOptions);\r\n return firstValueText && secondValueText ? \"\".concat(firstValueText, \" - \").concat(secondValueText) : \"\"\r\n }\r\n }\r\n }\r\n return result\r\n};\r\nexport class HeaderFilterController extends Modules.ViewController {\r\n init() {\r\n this._columnsController = this.getController(\"columns\");\r\n this._dataController = this.getController(\"data\");\r\n this._headerFilterView = this.getView(\"headerFilterView\")\r\n }\r\n _updateSelectedState(items, column) {\r\n var i = items.length;\r\n var isExclude = \"exclude\" === column.filterType;\r\n while (i--) {\r\n var item = items[i];\r\n if (\"items\" in items[i]) {\r\n this._updateSelectedState(items[i].items, column)\r\n }\r\n updateHeaderFilterItemSelectionState(item, gridCoreUtils.getIndexByKey(items[i].value, column.filterValues, null) > -1, isExclude)\r\n }\r\n }\r\n _normalizeGroupItem(item, currentLevel, options) {\r\n var value;\r\n var displayValue;\r\n var {\r\n path: path\r\n } = options;\r\n var {\r\n valueSelector: valueSelector\r\n } = options;\r\n var {\r\n displaySelector: displaySelector\r\n } = options;\r\n var {\r\n column: column\r\n } = options;\r\n if (valueSelector && displaySelector) {\r\n value = valueSelector(item);\r\n displayValue = displaySelector(item)\r\n } else {\r\n value = item.key;\r\n displayValue = value\r\n }\r\n if (!isObject(item)) {\r\n item = {}\r\n } else {\r\n item = extend({}, item)\r\n }\r\n path.push(value);\r\n if (1 === path.length) {\r\n item.value = path[0]\r\n } else {\r\n item.value = path.join(\"/\")\r\n }\r\n item.text = this.getHeaderItemText(displayValue, column, currentLevel, options.headerFilterOptions);\r\n return item\r\n }\r\n getHeaderItemText(displayValue, column, currentLevel, headerFilterOptions) {\r\n var text = gridCoreUtils.formatValue(displayValue, getFormatOptions(displayValue, column, currentLevel));\r\n if (!text) {\r\n text = headerFilterOptions.texts.emptyValue\r\n }\r\n return text\r\n }\r\n _processGroupItems(groupItems, currentLevel, path, options) {\r\n var displaySelector;\r\n var valueSelector;\r\n var {\r\n column: column\r\n } = options;\r\n var {\r\n lookup: lookup\r\n } = column;\r\n var {\r\n level: level\r\n } = options;\r\n path = path || [];\r\n currentLevel = currentLevel || 0;\r\n if (lookup) {\r\n displaySelector = compileGetter(lookup.displayExpr);\r\n valueSelector = compileGetter(lookup.valueExpr)\r\n }\r\n for (var i = 0; i < groupItems.length; i++) {\r\n groupItems[i] = this._normalizeGroupItem(groupItems[i], currentLevel, {\r\n column: options.column,\r\n headerFilterOptions: options.headerFilterOptions,\r\n displaySelector: displaySelector,\r\n valueSelector: valueSelector,\r\n path: path\r\n });\r\n if (\"items\" in groupItems[i]) {\r\n if (currentLevel === level || !isDefined(groupItems[i].value)) {\r\n delete groupItems[i].items\r\n } else {\r\n this._processGroupItems(groupItems[i].items, currentLevel + 1, path, options)\r\n }\r\n }\r\n path.pop()\r\n }\r\n }\r\n getDataSource(column) {\r\n var _a;\r\n var dataSource = this._dataController.dataSource();\r\n var remoteGrouping = null === dataSource || void 0 === dataSource ? void 0 : dataSource.remoteOperations().grouping;\r\n var group = gridCoreUtils.getHeaderFilterGroupParameters(column, remoteGrouping);\r\n var headerFilterDataSource = null === (_a = column.headerFilter) || void 0 === _a ? void 0 : _a.dataSource;\r\n var headerFilterOptions = this.option(\"headerFilter\");\r\n var isLookup = false;\r\n var options = {\r\n component: this.component\r\n };\r\n if (!dataSource) {\r\n return\r\n }\r\n if (isDefined(headerFilterDataSource) && !isFunction(headerFilterDataSource)) {\r\n options.dataSource = normalizeDataSourceOptions(headerFilterDataSource)\r\n } else if (column.lookup) {\r\n isLookup = true;\r\n if (this.option(\"syncLookupFilterValues\")) {\r\n this._currentColumn = column;\r\n var filter = this._dataController.getCombinedFilter();\r\n this._currentColumn = null;\r\n options.dataSource = gridCoreUtils.getWrappedLookupDataSource(column, dataSource, filter)\r\n } else {\r\n options.dataSource = gridCoreUtils.normalizeLookupDataSource(column.lookup)\r\n }\r\n } else {\r\n var cutoffLevel = Array.isArray(group) ? group.length - 1 : 0;\r\n this._currentColumn = column;\r\n var _filter = this._dataController.getCombinedFilter();\r\n this._currentColumn = null;\r\n options.dataSource = {\r\n filter: _filter,\r\n group: group,\r\n useDefaultSearch: true,\r\n load: options => {\r\n var d = new Deferred;\r\n options.dataField = column.dataField || column.name;\r\n dataSource.load(options).done(data => {\r\n var convertUTCDates = remoteGrouping && isUTCFormat(column.serializationFormat) && cutoffLevel > 3;\r\n if (convertUTCDates) {\r\n data = convertDataFromUTCToLocal(data, column)\r\n }\r\n that._processGroupItems(data, null, null, {\r\n level: cutoffLevel,\r\n column: column,\r\n headerFilterOptions: headerFilterOptions\r\n });\r\n d.resolve(data)\r\n }).fail(d.reject);\r\n return d\r\n }\r\n }\r\n }\r\n if (isFunction(headerFilterDataSource)) {\r\n headerFilterDataSource.call(column, options)\r\n }\r\n var origPostProcess = options.dataSource.postProcess;\r\n var that = this;\r\n options.dataSource.postProcess = function(data) {\r\n var items = data;\r\n if (isLookup) {\r\n items = items.filter(item => null !== item[column.lookup.valueExpr]);\r\n if (0 === this.pageIndex() && !this.searchValue()) {\r\n items = items.slice(0);\r\n items.unshift(null)\r\n }\r\n that._processGroupItems(items, null, null, {\r\n level: 0,\r\n column: column,\r\n headerFilterOptions: headerFilterOptions\r\n })\r\n }\r\n items = origPostProcess && origPostProcess.call(this, items) || items;\r\n that._updateSelectedState(items, column);\r\n return items\r\n };\r\n return options.dataSource\r\n }\r\n getCurrentColumn() {\r\n return this._currentColumn\r\n }\r\n showHeaderFilterMenu(columnIndex, isGroupPanel) {\r\n var columnsController = this._columnsController;\r\n var column = extend(true, {}, this._columnsController.getColumns()[columnIndex]);\r\n if (column) {\r\n var visibleIndex = columnsController.getVisibleIndex(columnIndex);\r\n var view = isGroupPanel ? this.getView(\"headerPanel\") : this.getView(\"columnHeadersView\");\r\n var $columnElement = view.getColumnElements().eq(isGroupPanel ? column.groupIndex : visibleIndex);\r\n this.showHeaderFilterMenuBase({\r\n columnElement: $columnElement,\r\n column: column,\r\n applyFilter: true,\r\n apply() {\r\n columnsController.columnOption(columnIndex, {\r\n filterValues: this.filterValues,\r\n filterType: this.filterType\r\n })\r\n }\r\n })\r\n }\r\n }\r\n showHeaderFilterMenuBase(options) {\r\n var {\r\n column: column\r\n } = options;\r\n if (column) {\r\n var groupInterval = filterUtils.getGroupInterval(column);\r\n var dataSource = this._dataController.dataSource();\r\n var remoteFiltering = dataSource && dataSource.remoteOperations().filtering;\r\n var previousOnHidden = options.onHidden;\r\n extend(options, column, {\r\n type: groupInterval && groupInterval.length > 1 ? \"tree\" : \"list\",\r\n remoteFiltering: remoteFiltering,\r\n onShowing: e => {\r\n var dxResizableInstance = e.component.$overlayContent().dxResizable(\"instance\");\r\n dxResizableInstance && dxResizableInstance.option(\"onResizeEnd\", e => {\r\n var headerFilterByColumn = this._columnsController.columnOption(options.dataField, \"headerFilter\");\r\n headerFilterByColumn = headerFilterByColumn || {};\r\n headerFilterByColumn.width = e.width;\r\n headerFilterByColumn.height = e.height;\r\n this._columnsController.columnOption(options.dataField, \"headerFilter\", headerFilterByColumn, true)\r\n })\r\n },\r\n onHidden: () => {\r\n null === previousOnHidden || void 0 === previousOnHidden ? void 0 : previousOnHidden();\r\n restoreFocus(this)\r\n }\r\n });\r\n options.dataSource = this.getDataSource(options);\r\n if (options.isFilterBuilder) {\r\n options.dataSource.filter = null;\r\n options.alignment = \"right\"\r\n }\r\n this._headerFilterView.showHeaderFilterMenu(options.columnElement, options)\r\n }\r\n }\r\n hideHeaderFilterMenu() {\r\n this._headerFilterView.hideHeaderFilterMenu()\r\n }\r\n}\r\nvar columnHeadersView = Base => class extends(headerFilterMixin(Base)) {\r\n _renderCellContent($cell, options) {\r\n var $headerFilterIndicator;\r\n var {\r\n column: column\r\n } = options;\r\n if (!column.command && allowHeaderFiltering(column) && this.option(\"headerFilter.visible\") && \"header\" === options.rowType) {\r\n $headerFilterIndicator = this._applyColumnState({\r\n name: \"headerFilter\",\r\n rootElement: $cell,\r\n column: column,\r\n showColumnLines: this.option(\"showColumnLines\")\r\n });\r\n $headerFilterIndicator && this._subscribeToIndicatorEvent($headerFilterIndicator, column, \"headerFilter\")\r\n }\r\n super._renderCellContent.apply(this, arguments)\r\n }\r\n _subscribeToIndicatorEvent($indicator, column, indicatorName) {\r\n if (\"headerFilter\" === indicatorName) {\r\n eventsEngine.on($indicator, clickEventName, this.createAction(e => {\r\n e.event.stopPropagation();\r\n saveFocusedElementInfo($indicator, this);\r\n this._headerFilterController.showHeaderFilterMenu(column.index, false)\r\n }))\r\n }\r\n }\r\n _updateIndicator($cell, column, indicatorName) {\r\n var $indicator = super._updateIndicator($cell, column, indicatorName);\r\n $indicator && this._subscribeToIndicatorEvent($indicator, column, indicatorName)\r\n }\r\n _updateHeaderFilterIndicators() {\r\n if (this.option(\"headerFilter.visible\")) {\r\n this._updateIndicators(\"headerFilter\")\r\n }\r\n }\r\n _needUpdateFilterIndicators() {\r\n return true\r\n }\r\n _columnOptionChanged(e) {\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n var isFilterRowAndHeaderFilterValuesChanged = gridCoreUtils.checkChanges(optionNames, [\"filterValues\", \"filterValue\"]);\r\n var isHeaderFilterValuesAndTypeChanged = gridCoreUtils.checkChanges(optionNames, [\"filterValues\", \"filterType\"]);\r\n var shouldUpdateFilterIndicators = (isFilterRowAndHeaderFilterValuesChanged || isHeaderFilterValuesAndTypeChanged) && this._needUpdateFilterIndicators();\r\n if (shouldUpdateFilterIndicators) {\r\n this._updateHeaderFilterIndicators()\r\n }\r\n if (!isHeaderFilterValuesAndTypeChanged) {\r\n super._columnOptionChanged(e)\r\n }\r\n }\r\n};\r\nvar headerPanel = Base => class extends(headerFilterMixin(Base)) {\r\n _createGroupPanelItem($rootElement, groupColumn) {\r\n var $item = super._createGroupPanelItem.apply(this, arguments);\r\n var $headerFilterIndicator;\r\n if (!groupColumn.command && allowHeaderFiltering(groupColumn) && this.option(\"headerFilter.visible\")) {\r\n $headerFilterIndicator = this._applyColumnState({\r\n name: \"headerFilter\",\r\n rootElement: $item,\r\n column: {\r\n alignment: getDefaultAlignment(this.option(\"rtlEnabled\")),\r\n filterValues: groupColumn.filterValues,\r\n allowHeaderFiltering: true,\r\n caption: groupColumn.caption\r\n },\r\n showColumnLines: true\r\n });\r\n $headerFilterIndicator && eventsEngine.on($headerFilterIndicator, clickEventName, this.createAction(e => {\r\n var {\r\n event: event\r\n } = e;\r\n event.stopPropagation();\r\n this._headerFilterController.showHeaderFilterMenu(groupColumn.index, true)\r\n }))\r\n }\r\n return $item\r\n }\r\n};\r\nexport function invertFilterExpression(filter) {\r\n return [\"!\", filter]\r\n}\r\nvar data = Base => class extends Base {\r\n skipCalculateColumnFilters() {\r\n return false\r\n }\r\n _calculateAdditionalFilter() {\r\n if (this.skipCalculateColumnFilters()) {\r\n return super._calculateAdditionalFilter()\r\n }\r\n var filters = [super._calculateAdditionalFilter()];\r\n var columns = this._columnsController.getVisibleColumns(null, true);\r\n var headerFilterController = this._headerFilterController;\r\n var currentColumn = headerFilterController.getCurrentColumn();\r\n each(columns, (_, column) => {\r\n var filter;\r\n if (currentColumn && currentColumn.index === column.index) {\r\n return\r\n }\r\n if (allowHeaderFiltering(column) && column.calculateFilterExpression && Array.isArray(column.filterValues) && column.filterValues.length) {\r\n var filterValues = [];\r\n each(column.filterValues, (_, filterValue) => {\r\n if (Array.isArray(filterValue)) {\r\n filter = filterValue\r\n } else {\r\n if (column.deserializeValue && !gridCoreUtils.isDateType(column.dataType) && \"number\" !== column.dataType) {\r\n filterValue = column.deserializeValue(filterValue)\r\n }\r\n filter = column.createFilterExpression(filterValue, \"=\", \"headerFilter\")\r\n }\r\n if (filter) {\r\n filter.columnIndex = column.index\r\n }\r\n filterValues.push(filter)\r\n });\r\n filterValues = gridCoreUtils.combineFilters(filterValues, \"or\");\r\n filters.push(\"exclude\" === column.filterType ? [\"!\", filterValues] : filterValues)\r\n }\r\n });\r\n return gridCoreUtils.combineFilters(filters)\r\n }\r\n};\r\nexport var headerFilterModule = {\r\n defaultOptions: () => ({\r\n syncLookupFilterValues: true,\r\n headerFilter: {\r\n visible: false,\r\n width: 252,\r\n height: 325,\r\n allowSelectAll: true,\r\n search: {\r\n enabled: false,\r\n timeout: 500,\r\n mode: \"contains\",\r\n editorOptions: {}\r\n },\r\n texts: {\r\n emptyValue: messageLocalization.format(\"dxDataGrid-headerFilterEmptyValue\"),\r\n ok: messageLocalization.format(\"dxDataGrid-headerFilterOK\"),\r\n cancel: messageLocalization.format(\"dxDataGrid-headerFilterCancel\")\r\n }\r\n }\r\n }),\r\n controllers: {\r\n headerFilter: HeaderFilterController\r\n },\r\n views: {\r\n headerFilterView: HeaderFilterView\r\n },\r\n extenders: {\r\n controllers: {\r\n data: data\r\n },\r\n views: {\r\n columnHeadersView: columnHeadersView,\r\n headerPanel: headerPanel\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/header_filter.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n headerFilterModule\r\n} from \"../../../grids/grid_core/header_filter/m_header_filter\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"headerFilter\", headerFilterModule);\r\n","/**\r\n * DevExtreme (esm/ui/filter_builder/between.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar FILTER_BUILDER_RANGE_CLASS = \"dx-filterbuilder-range\";\r\nvar FILTER_BUILDER_RANGE_START_CLASS = FILTER_BUILDER_RANGE_CLASS + \"-start\";\r\nvar FILTER_BUILDER_RANGE_END_CLASS = FILTER_BUILDER_RANGE_CLASS + \"-end\";\r\nvar FILTER_BUILDER_RANGE_SEPARATOR_CLASS = FILTER_BUILDER_RANGE_CLASS + \"-separator\";\r\nvar SEPARATOR = \"\\u2013\";\r\n\r\nfunction editorTemplate(conditionInfo, container) {\r\n var $editorStart = $(\"<div>\").addClass(FILTER_BUILDER_RANGE_START_CLASS);\r\n var $editorEnd = $(\"<div>\").addClass(FILTER_BUILDER_RANGE_END_CLASS);\r\n var values = conditionInfo.value || [];\r\n var getStartValue = function(values) {\r\n return values && values.length > 0 ? values[0] : null\r\n };\r\n var getEndValue = function(values) {\r\n return values && 2 === values.length ? values[1] : null\r\n };\r\n container.append($editorStart);\r\n container.append($(\"<span>\").addClass(FILTER_BUILDER_RANGE_SEPARATOR_CLASS).text(SEPARATOR));\r\n container.append($editorEnd);\r\n container.addClass(FILTER_BUILDER_RANGE_CLASS);\r\n this._editorFactory.createEditor.call(this, $editorStart, extend({}, conditionInfo.field, conditionInfo, {\r\n value: getStartValue(values),\r\n parentType: \"filterBuilder\",\r\n setValue: function(value) {\r\n values = [value, getEndValue(values)];\r\n conditionInfo.setValue(values)\r\n }\r\n }));\r\n this._editorFactory.createEditor.call(this, $editorEnd, extend({}, conditionInfo.field, conditionInfo, {\r\n value: getEndValue(values),\r\n parentType: \"filterBuilder\",\r\n setValue: function(value) {\r\n values = [getStartValue(values), value];\r\n conditionInfo.setValue(values)\r\n }\r\n }))\r\n}\r\nexport function getConfig(caption, context) {\r\n return {\r\n name: \"between\",\r\n caption: caption,\r\n icon: \"range\",\r\n valueSeparator: SEPARATOR,\r\n dataTypes: [\"number\", \"date\", \"datetime\"],\r\n editorTemplate: editorTemplate.bind(context),\r\n notForLookup: true\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/filter_builder/ui.filter_operations_dictionary.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar OPERATION_ICONS = {\r\n \"=\": \"equal\",\r\n \"<>\": \"notequal\",\r\n \"<\": \"less\",\r\n \"<=\": \"lessorequal\",\r\n \">\": \"greater\",\r\n \">=\": \"greaterorequal\",\r\n notcontains: \"doesnotcontain\",\r\n contains: \"contains\",\r\n startswith: \"startswith\",\r\n endswith: \"endswith\",\r\n isblank: \"isblank\",\r\n isnotblank: \"isnotblank\"\r\n};\r\nvar OPERATION_NAME = {\r\n \"=\": \"equal\",\r\n \"<>\": \"notEqual\",\r\n \"<\": \"lessThan\",\r\n \"<=\": \"lessThanOrEqual\",\r\n \">\": \"greaterThan\",\r\n \">=\": \"greaterThanOrEqual\",\r\n startswith: \"startsWith\",\r\n contains: \"contains\",\r\n notcontains: \"notContains\",\r\n endswith: \"endsWith\",\r\n isblank: \"isBlank\",\r\n isnotblank: \"isNotBlank\",\r\n between: \"between\"\r\n};\r\nexport default {\r\n getIconByFilterOperation: function(filterOperation) {\r\n return OPERATION_ICONS[filterOperation]\r\n },\r\n getNameByFilterOperation: function(filterOperation) {\r\n return OPERATION_NAME[filterOperation]\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/filter_builder/utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n errors as dataErrors\r\n} from \"../../data/errors\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport filterUtils from \"../shared/filtering\";\r\nimport formatHelper from \"../../format_helper\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n captionize\r\n} from \"../../core/utils/inflector\";\r\nimport {\r\n getConfig\r\n} from \"./between\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n DataSource\r\n} from \"../../data/data_source/data_source\";\r\nimport filterOperationsDictionary from \"./ui.filter_operations_dictionary\";\r\nvar DEFAULT_DATA_TYPE = \"string\";\r\nvar EMPTY_MENU_ICON = \"icon-none\";\r\nvar AND_GROUP_OPERATION = \"and\";\r\nvar EQUAL_OPERATION = \"=\";\r\nvar NOT_EQUAL_OPERATION = \"<>\";\r\nvar DATATYPE_OPERATIONS = {\r\n number: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"isblank\", \"isnotblank\"],\r\n string: [\"contains\", \"notcontains\", \"startswith\", \"endswith\", \"=\", \"<>\", \"isblank\", \"isnotblank\"],\r\n date: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"isblank\", \"isnotblank\"],\r\n datetime: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"isblank\", \"isnotblank\"],\r\n boolean: [\"=\", \"<>\", \"isblank\", \"isnotblank\"],\r\n object: [\"isblank\", \"isnotblank\"]\r\n};\r\nvar DEFAULT_FORMAT = {\r\n date: \"shortDate\",\r\n datetime: \"shortDateShortTime\"\r\n};\r\nvar LOOKUP_OPERATIONS = [\"=\", \"<>\", \"isblank\", \"isnotblank\"];\r\nvar AVAILABLE_FIELD_PROPERTIES = [\"caption\", \"customizeText\", \"dataField\", \"dataType\", \"editorTemplate\", \"falseText\", \"editorOptions\", \"filterOperations\", \"format\", \"lookup\", \"trueText\", \"calculateFilterExpression\", \"name\"];\r\nvar FILTER_BUILDER_CLASS = \"dx-filterbuilder\";\r\nvar FILTER_BUILDER_ITEM_TEXT_CLASS = FILTER_BUILDER_CLASS + \"-text\";\r\nvar FILTER_BUILDER_ITEM_TEXT_PART_CLASS = FILTER_BUILDER_ITEM_TEXT_CLASS + \"-part\";\r\nvar FILTER_BUILDER_ITEM_TEXT_SEPARATOR_CLASS = FILTER_BUILDER_ITEM_TEXT_CLASS + \"-separator\";\r\nvar FILTER_BUILDER_ITEM_TEXT_SEPARATOR_EMPTY_CLASS = FILTER_BUILDER_ITEM_TEXT_SEPARATOR_CLASS + \"-empty\";\r\n\r\nfunction getFormattedValueText(field, value) {\r\n var fieldFormat = field.format || DEFAULT_FORMAT[field.dataType];\r\n return formatHelper.format(value, fieldFormat)\r\n}\r\n\r\nfunction isNegationGroup(group) {\r\n return group && group.length > 1 && \"!\" === group[0] && !isCondition(group)\r\n}\r\nexport function getGroupCriteria(group) {\r\n return isNegationGroup(group) ? group[1] : group\r\n}\r\n\r\nfunction setGroupCriteria(group, criteria) {\r\n if (isNegationGroup(group)) {\r\n group[1] = criteria\r\n } else {\r\n group = criteria\r\n }\r\n return group\r\n}\r\n\r\nfunction convertGroupToNewStructure(group, value) {\r\n if (function(value) {\r\n return -1 !== value.indexOf(\"!\")\r\n }(value)) {\r\n if (!isNegationGroup(group)) {\r\n ! function(group) {\r\n var criteria = group.slice(0);\r\n group.length = 0;\r\n group.push(\"!\", criteria)\r\n }(group)\r\n }\r\n } else if (isNegationGroup(group)) {\r\n ! function(group) {\r\n var criteria = getGroupCriteria(group);\r\n group.length = 0;\r\n [].push.apply(group, criteria)\r\n }(group)\r\n }\r\n}\r\nexport function setGroupValue(group, value) {\r\n convertGroupToNewStructure(group, value);\r\n var criteria = getGroupCriteria(group);\r\n var i;\r\n value = function(value) {\r\n return -1 === value.indexOf(\"!\") ? value : value.substring(1)\r\n }(value);\r\n ! function(criteria, value) {\r\n for (i = 0; i < criteria.length; i++) {\r\n if (!Array.isArray(criteria[i])) {\r\n criteria[i] = value\r\n }\r\n }\r\n }(criteria, value);\r\n return group\r\n}\r\nexport function getGroupMenuItem(group, availableGroups) {\r\n var groupValue = getGroupValue(group);\r\n return availableGroups.filter((function(item) {\r\n return item.value === groupValue\r\n }))[0]\r\n}\r\n\r\nfunction getCriteriaOperation(criteria) {\r\n if (isCondition(criteria)) {\r\n return AND_GROUP_OPERATION\r\n }\r\n var value = \"\";\r\n for (var i = 0; i < criteria.length; i++) {\r\n var item = criteria[i];\r\n if (!Array.isArray(item)) {\r\n if (value && value !== item) {\r\n throw new dataErrors.Error(\"E4019\")\r\n }\r\n if (\"!\" !== item) {\r\n value = item\r\n }\r\n }\r\n }\r\n return value\r\n}\r\nexport function getGroupValue(group) {\r\n var criteria = getGroupCriteria(group);\r\n var value = getCriteriaOperation(criteria);\r\n if (!value) {\r\n value = AND_GROUP_OPERATION\r\n }\r\n if (criteria !== group) {\r\n value = \"!\" + value\r\n }\r\n return value\r\n}\r\n\r\nfunction getDefaultFilterOperations(field) {\r\n return field.lookup && LOOKUP_OPERATIONS || DATATYPE_OPERATIONS[field.dataType || DEFAULT_DATA_TYPE]\r\n}\r\n\r\nfunction containItems(entity) {\r\n return Array.isArray(entity) && entity.length\r\n}\r\nexport function getFilterOperations(field) {\r\n var result = containItems(field.filterOperations) ? field.filterOperations : getDefaultFilterOperations(field);\r\n return extend([], result)\r\n}\r\nexport function getCaptionByOperation(operation, filterOperationDescriptions) {\r\n var operationName = filterOperationsDictionary.getNameByFilterOperation(operation);\r\n return filterOperationDescriptions && filterOperationDescriptions[operationName] ? filterOperationDescriptions[operationName] : operationName\r\n}\r\nexport function getOperationFromAvailable(operation, availableOperations) {\r\n for (var i = 0; i < availableOperations.length; i++) {\r\n if (availableOperations[i].value === operation) {\r\n return availableOperations[i]\r\n }\r\n }\r\n throw new errors.Error(\"E1048\", operation)\r\n}\r\nexport function getCustomOperation(customOperations, name) {\r\n var filteredOperations = customOperations.filter((function(item) {\r\n return item.name === name\r\n }));\r\n return filteredOperations.length ? filteredOperations[0] : null\r\n}\r\nexport function getAvailableOperations(field, filterOperationDescriptions, customOperations) {\r\n var filterOperations = getFilterOperations(field);\r\n var isLookupField = !!field.lookup;\r\n customOperations.forEach((function(customOperation) {\r\n if (!field.filterOperations && -1 === filterOperations.indexOf(customOperation.name)) {\r\n var dataTypes = customOperation && customOperation.dataTypes;\r\n var isOperationForbidden = isLookupField ? !!customOperation.notForLookup : false;\r\n if (!isOperationForbidden && dataTypes && dataTypes.indexOf(field.dataType || DEFAULT_DATA_TYPE) >= 0) {\r\n filterOperations.push(customOperation.name)\r\n }\r\n }\r\n }));\r\n return filterOperations.map((function(operation) {\r\n var customOperation = getCustomOperation(customOperations, operation);\r\n if (customOperation) {\r\n return {\r\n icon: customOperation.icon || EMPTY_MENU_ICON,\r\n text: customOperation.caption || captionize(customOperation.name),\r\n value: customOperation.name,\r\n isCustom: true\r\n }\r\n } else {\r\n return {\r\n icon: filterOperationsDictionary.getIconByFilterOperation(operation) || EMPTY_MENU_ICON,\r\n text: getCaptionByOperation(operation, filterOperationDescriptions),\r\n value: operation\r\n }\r\n }\r\n }))\r\n}\r\nexport function getDefaultOperation(field) {\r\n return field.defaultFilterOperation || getFilterOperations(field)[0]\r\n}\r\nexport function createCondition(field, customOperations) {\r\n var condition = [field.dataField, \"\", \"\"];\r\n var filterOperation = getDefaultOperation(field);\r\n updateConditionByOperation(condition, filterOperation, customOperations);\r\n return condition\r\n}\r\nexport function removeItem(group, item) {\r\n var criteria = getGroupCriteria(group);\r\n var index = criteria.indexOf(item);\r\n criteria.splice(index, 1);\r\n if (1 !== criteria.length) {\r\n criteria.splice(index, 1)\r\n }\r\n return group\r\n}\r\nexport function createEmptyGroup(value) {\r\n var isNegation = isNegationGroupOperation(value);\r\n var groupOperation = isNegation ? getGroupOperationFromNegationOperation(value) : value;\r\n return isNegation ? [\"!\", [groupOperation]] : [groupOperation]\r\n}\r\nexport function isEmptyGroup(group) {\r\n var criteria = getGroupCriteria(group);\r\n if (isCondition(criteria)) {\r\n return false\r\n }\r\n var hasConditions = criteria.some((function(item) {\r\n return isCondition(item)\r\n }));\r\n return !hasConditions\r\n}\r\nexport function addItem(item, group) {\r\n var criteria = getGroupCriteria(group);\r\n var groupValue = getGroupValue(criteria);\r\n 1 === criteria.length ? criteria.unshift(item) : criteria.push(item, groupValue);\r\n return group\r\n}\r\nexport function getField(dataField, fields) {\r\n for (var i = 0; i < fields.length; i++) {\r\n if (fields[i].name === dataField) {\r\n return fields[i]\r\n }\r\n if (fields[i].dataField.toLowerCase() === dataField.toLowerCase()) {\r\n return fields[i]\r\n }\r\n }\r\n var extendedFields = getItems(fields, true).filter((function(item) {\r\n return item.dataField.toLowerCase() === dataField.toLowerCase()\r\n }));\r\n if (extendedFields.length > 0) {\r\n return extendedFields[0]\r\n }\r\n throw new errors.Error(\"E1047\", dataField)\r\n}\r\nexport function isGroup(criteria) {\r\n if (!Array.isArray(criteria)) {\r\n return false\r\n }\r\n return criteria.length < 2 || Array.isArray(criteria[0]) || Array.isArray(criteria[1])\r\n}\r\nexport function isCondition(criteria) {\r\n if (!Array.isArray(criteria)) {\r\n return false\r\n }\r\n return criteria.length > 1 && !Array.isArray(criteria[0]) && !Array.isArray(criteria[1])\r\n}\r\n\r\nfunction convertToInnerGroup(group, customOperations, defaultGroupOperation) {\r\n defaultGroupOperation = defaultGroupOperation || AND_GROUP_OPERATION;\r\n var groupOperation = getCriteriaOperation(group).toLowerCase() || defaultGroupOperation;\r\n var innerGroup = [];\r\n for (var i = 0; i < group.length; i++) {\r\n if (isGroup(group[i])) {\r\n innerGroup.push(convertToInnerStructure(group[i], customOperations, defaultGroupOperation));\r\n innerGroup = appendGroupOperationToGroup(innerGroup, groupOperation)\r\n } else if (isCondition(group[i])) {\r\n innerGroup.push(convertToInnerCondition(group[i], customOperations));\r\n innerGroup = appendGroupOperationToGroup(innerGroup, groupOperation)\r\n }\r\n }\r\n if (0 === innerGroup.length) {\r\n innerGroup = appendGroupOperationToGroup(innerGroup, groupOperation)\r\n }\r\n return innerGroup\r\n}\r\n\r\nfunction conditionHasCustomOperation(condition, customOperations) {\r\n var customOperation = getCustomOperation(customOperations, condition[1]);\r\n return customOperation && customOperation.name === condition[1]\r\n}\r\n\r\nfunction convertToInnerCondition(condition, customOperations) {\r\n if (conditionHasCustomOperation(condition, customOperations)) {\r\n return condition\r\n }\r\n if (condition.length < 3) {\r\n condition[2] = condition[1];\r\n condition[1] = EQUAL_OPERATION\r\n }\r\n return condition\r\n}\r\n\r\nfunction isNegationGroupOperation(operation) {\r\n return -1 !== operation.indexOf(\"not\")\r\n}\r\n\r\nfunction getGroupOperationFromNegationOperation(operation) {\r\n return operation.substring(3).toLowerCase()\r\n}\r\n\r\nfunction appendGroupOperationToCriteria(criteria, groupOperation) {\r\n var isNegation = isNegationGroupOperation(groupOperation);\r\n groupOperation = isNegation ? getGroupOperationFromNegationOperation(groupOperation) : groupOperation;\r\n return isNegation ? [\"!\", criteria, groupOperation] : [criteria, groupOperation]\r\n}\r\n\r\nfunction appendGroupOperationToGroup(group, groupOperation) {\r\n var isNegation = isNegationGroupOperation(groupOperation);\r\n groupOperation = isNegation ? getGroupOperationFromNegationOperation(groupOperation) : groupOperation;\r\n group.push(groupOperation);\r\n var result = group;\r\n if (isNegation) {\r\n result = [\"!\", result]\r\n }\r\n return result\r\n}\r\nexport function convertToInnerStructure(value, customOperations, defaultGroupOperation) {\r\n defaultGroupOperation = defaultGroupOperation || AND_GROUP_OPERATION;\r\n if (!value) {\r\n return createEmptyGroup(defaultGroupOperation)\r\n }\r\n value = extend(true, [], value);\r\n if (isCondition(value)) {\r\n return appendGroupOperationToCriteria(convertToInnerCondition(value, customOperations), defaultGroupOperation)\r\n }\r\n if (isNegationGroup(value)) {\r\n return [\"!\", isCondition(value[1]) ? appendGroupOperationToCriteria(convertToInnerCondition(value[1], customOperations), defaultGroupOperation) : isNegationGroup(value[1]) ? appendGroupOperationToCriteria(convertToInnerStructure(value[1], customOperations), defaultGroupOperation) : convertToInnerGroup(value[1], customOperations, defaultGroupOperation)]\r\n }\r\n return convertToInnerGroup(value, customOperations, defaultGroupOperation)\r\n}\r\nexport function getNormalizedFields(fields) {\r\n return fields.reduce((function(result, field) {\r\n if (isDefined(field.dataField)) {\r\n var normalizedField = {};\r\n for (var key in field) {\r\n if (field[key] && AVAILABLE_FIELD_PROPERTIES.indexOf(key) > -1) {\r\n normalizedField[key] = field[key]\r\n }\r\n }\r\n normalizedField.defaultCalculateFilterExpression = filterUtils.defaultCalculateFilterExpression;\r\n if (!isDefined(normalizedField.dataType)) {\r\n normalizedField.dataType = DEFAULT_DATA_TYPE\r\n }\r\n if (!isDefined(normalizedField.trueText)) {\r\n normalizedField.trueText = messageLocalization.format(\"dxDataGrid-trueText\")\r\n }\r\n if (!isDefined(normalizedField.falseText)) {\r\n normalizedField.falseText = messageLocalization.format(\"dxDataGrid-falseText\")\r\n }\r\n result.push(normalizedField)\r\n }\r\n return result\r\n }), [])\r\n}\r\n\r\nfunction getConditionFilterExpression(condition, fields, customOperations, target) {\r\n var field = getField(condition[0], fields);\r\n var filterExpression = convertToInnerCondition(condition, customOperations);\r\n var customOperation = customOperations.length && getCustomOperation(customOperations, filterExpression[1]);\r\n if (customOperation && customOperation.calculateFilterExpression) {\r\n return customOperation.calculateFilterExpression.apply(customOperation, [filterExpression[2], field, fields])\r\n } else if (field.createFilterExpression) {\r\n return field.createFilterExpression.apply(field, [filterExpression[2], filterExpression[1], target])\r\n } else if (field.calculateFilterExpression) {\r\n return field.calculateFilterExpression.apply(field, [filterExpression[2], filterExpression[1], target])\r\n } else {\r\n return field.defaultCalculateFilterExpression.apply(field, [filterExpression[2], filterExpression[1], target])\r\n }\r\n}\r\nexport function getFilterExpression(value, fields, customOperations, target) {\r\n if (!isDefined(value)) {\r\n return null\r\n }\r\n if (isNegationGroup(value)) {\r\n var filterExpression = getFilterExpression(value[1], fields, customOperations, target);\r\n return [\"!\", filterExpression]\r\n }\r\n var criteria = getGroupCriteria(value);\r\n if (isCondition(criteria)) {\r\n return getConditionFilterExpression(criteria, fields, customOperations, target) || null\r\n } else {\r\n var result = [];\r\n var _filterExpression;\r\n var groupValue = getGroupValue(criteria);\r\n for (var i = 0; i < criteria.length; i++) {\r\n if (isGroup(criteria[i])) {\r\n _filterExpression = getFilterExpression(criteria[i], fields, customOperations, target);\r\n if (_filterExpression) {\r\n i && result.push(groupValue);\r\n result.push(_filterExpression)\r\n }\r\n } else if (isCondition(criteria[i])) {\r\n _filterExpression = getConditionFilterExpression(criteria[i], fields, customOperations, target);\r\n if (_filterExpression) {\r\n result.length && result.push(groupValue);\r\n result.push(_filterExpression)\r\n }\r\n }\r\n }\r\n if (1 === result.length) {\r\n result = result[0]\r\n }\r\n return result.length ? result : null\r\n }\r\n}\r\nexport function getNormalizedFilter(group) {\r\n var criteria = getGroupCriteria(group);\r\n var i;\r\n if (0 === criteria.length) {\r\n return null\r\n }\r\n var itemsForRemove = [];\r\n for (i = 0; i < criteria.length; i++) {\r\n if (isGroup(criteria[i])) {\r\n var normalizedGroupValue = getNormalizedFilter(criteria[i]);\r\n if (normalizedGroupValue) {\r\n criteria[i] = normalizedGroupValue\r\n } else {\r\n itemsForRemove.push(criteria[i])\r\n }\r\n } else if (isCondition(criteria[i])) {\r\n if (!isValidCondition(criteria[i])) {\r\n itemsForRemove.push(criteria[i])\r\n }\r\n }\r\n }\r\n for (i = 0; i < itemsForRemove.length; i++) {\r\n removeItem(criteria, itemsForRemove[i])\r\n }\r\n if (1 === criteria.length) {\r\n return null\r\n }\r\n criteria.splice(criteria.length - 1, 1);\r\n if (1 === criteria.length) {\r\n group = setGroupCriteria(group, criteria[0])\r\n }\r\n if (0 === group.length) {\r\n return null\r\n }\r\n return group\r\n}\r\nexport function getCurrentLookupValueText(field, value, handler) {\r\n if (\"\" === value) {\r\n handler(\"\");\r\n return\r\n }\r\n var lookup = field.lookup;\r\n if (lookup.items) {\r\n handler(lookup.calculateCellValue(value) || \"\")\r\n } else {\r\n var lookupDataSource = isFunction(lookup.dataSource) ? lookup.dataSource({}) : lookup.dataSource;\r\n var dataSource = new DataSource(lookupDataSource);\r\n dataSource.loadSingle(lookup.valueExpr, value).done((function(result) {\r\n var valueText = \"\";\r\n if (result) {\r\n valueText = lookup.displayExpr ? compileGetter(lookup.displayExpr)(result) : result\r\n }\r\n if (field.customizeText) {\r\n valueText = field.customizeText({\r\n value: value,\r\n valueText: valueText\r\n })\r\n }\r\n handler(valueText)\r\n })).fail((function() {\r\n handler(\"\")\r\n }))\r\n }\r\n}\r\n\r\nfunction getPrimitiveValueText(field, value, customOperation, target, options) {\r\n var valueText;\r\n if (true === value) {\r\n valueText = field.trueText || messageLocalization.format(\"dxDataGrid-trueText\")\r\n } else if (false === value) {\r\n valueText = field.falseText || messageLocalization.format(\"dxDataGrid-falseText\")\r\n } else {\r\n valueText = getFormattedValueText(field, value)\r\n }\r\n if (field.customizeText) {\r\n valueText = field.customizeText.call(field, {\r\n value: value,\r\n valueText: valueText,\r\n target: target\r\n })\r\n }\r\n if (customOperation && customOperation.customizeText) {\r\n valueText = customOperation.customizeText.call(customOperation, {\r\n value: value,\r\n valueText: valueText,\r\n field: field,\r\n target: target\r\n }, options)\r\n }\r\n return valueText\r\n}\r\n\r\nfunction getArrayValueText(field, value, customOperation, target) {\r\n var options = {\r\n values: value\r\n };\r\n return value.map(v => getPrimitiveValueText(field, v, customOperation, target, options))\r\n}\r\n\r\nfunction checkDefaultValue(value) {\r\n return \"\" === value || null === value\r\n}\r\nexport function getCurrentValueText(field, value, customOperation) {\r\n var target = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : \"filterBuilder\";\r\n if (checkDefaultValue(value)) {\r\n return \"\"\r\n }\r\n if (Array.isArray(value)) {\r\n var result = new Deferred;\r\n when.apply(this, getArrayValueText(field, value, customOperation, target)).done((function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n var text = args.some(item => !checkDefaultValue(item)) ? args.map(item => !checkDefaultValue(item) ? item : \"?\") : \"\";\r\n result.resolve(text)\r\n }));\r\n return result\r\n } else {\r\n return getPrimitiveValueText(field, value, customOperation, target)\r\n }\r\n}\r\n\r\nfunction itemExists(plainItems, parentId) {\r\n return plainItems.some((function(item) {\r\n return item.dataField === parentId\r\n }))\r\n}\r\n\r\nfunction pushItemAndCheckParent(originalItems, plainItems, item) {\r\n var dataField = item.dataField;\r\n if (hasParent(dataField)) {\r\n item.parentId = getParentIdFromItemDataField(dataField);\r\n if (!itemExists(plainItems, item.parentId) && !itemExists(originalItems, item.parentId)) {\r\n pushItemAndCheckParent(originalItems, plainItems, {\r\n id: item.parentId,\r\n dataType: \"object\",\r\n dataField: item.parentId,\r\n caption: generateCaptionByDataField(item.parentId, true),\r\n filterOperations: [\"isblank\", \"isnotblank\"],\r\n defaultCalculateFilterExpression: filterUtils.defaultCalculateFilterExpression\r\n })\r\n }\r\n }\r\n plainItems.push(item)\r\n}\r\n\r\nfunction generateCaptionByDataField(dataField, allowHierarchicalFields) {\r\n var caption = \"\";\r\n if (allowHierarchicalFields) {\r\n dataField = dataField.substring(dataField.lastIndexOf(\".\") + 1)\r\n } else if (hasParent(dataField)) {\r\n dataField.split(\".\").forEach((function(field, index, arr) {\r\n caption += captionize(field);\r\n if (index !== arr.length - 1) {\r\n caption += \".\"\r\n }\r\n }));\r\n return caption\r\n }\r\n return captionize(dataField)\r\n}\r\nexport function getItems(fields, allowHierarchicalFields) {\r\n var items = [];\r\n for (var i = 0; i < fields.length; i++) {\r\n var item = extend(true, {\r\n caption: generateCaptionByDataField(fields[i].dataField, allowHierarchicalFields)\r\n }, fields[i]);\r\n item.id = item.name || item.dataField;\r\n if (allowHierarchicalFields) {\r\n pushItemAndCheckParent(fields, items, item)\r\n } else {\r\n items.push(item)\r\n }\r\n }\r\n return items\r\n}\r\n\r\nfunction hasParent(dataField) {\r\n return -1 !== dataField.lastIndexOf(\".\")\r\n}\r\n\r\nfunction getParentIdFromItemDataField(dataField) {\r\n return dataField.substring(0, dataField.lastIndexOf(\".\"))\r\n}\r\nexport function getCaptionWithParents(item, plainItems) {\r\n if (hasParent(item.dataField)) {\r\n var parentId = getParentIdFromItemDataField(item.dataField);\r\n for (var i = 0; i < plainItems.length; i++) {\r\n if (plainItems[i].dataField === parentId) {\r\n return getCaptionWithParents(plainItems[i], plainItems) + \".\" + item.caption\r\n }\r\n }\r\n }\r\n return item.caption\r\n}\r\nexport function updateConditionByOperation(condition, operation, customOperations) {\r\n var customOperation = getCustomOperation(customOperations, operation);\r\n if (customOperation) {\r\n if (false === customOperation.hasValue) {\r\n condition[1] = operation;\r\n condition.length = 2\r\n } else {\r\n condition[1] = operation;\r\n condition[2] = \"\"\r\n }\r\n return condition\r\n }\r\n if (\"isblank\" === operation) {\r\n condition[1] = EQUAL_OPERATION;\r\n condition[2] = null\r\n } else if (\"isnotblank\" === operation) {\r\n condition[1] = NOT_EQUAL_OPERATION;\r\n condition[2] = null\r\n } else {\r\n customOperation = getCustomOperation(customOperations, condition[1]);\r\n if (customOperation || 2 === condition.length || null === condition[2]) {\r\n condition[2] = \"\"\r\n }\r\n condition[1] = operation\r\n }\r\n return condition\r\n}\r\nexport function getOperationValue(condition) {\r\n var caption;\r\n if (null === condition[2]) {\r\n if (condition[1] === EQUAL_OPERATION) {\r\n caption = \"isblank\"\r\n } else {\r\n caption = \"isnotblank\"\r\n }\r\n } else {\r\n caption = condition[1]\r\n }\r\n return caption\r\n}\r\nexport function isValidCondition(condition) {\r\n return \"\" !== condition[2]\r\n}\r\nexport function getMergedOperations(customOperations, betweenCaption, context) {\r\n var result = extend(true, [], customOperations);\r\n var betweenIndex = -1;\r\n result.some((function(customOperation, index) {\r\n if (\"between\" === customOperation.name) {\r\n betweenIndex = index;\r\n return true\r\n }\r\n }));\r\n if (-1 !== betweenIndex) {\r\n result[betweenIndex] = extend(getConfig(betweenCaption, context), result[betweenIndex])\r\n } else {\r\n result.unshift(getConfig(betweenCaption, context))\r\n }\r\n return result\r\n}\r\n\r\nfunction isMatchedCondition(filter, addedFilterDataField) {\r\n return filter[0] === addedFilterDataField\r\n}\r\nexport function removeFieldConditionsFromFilter(filter, dataField) {\r\n if (!filter || 0 === filter.length) {\r\n return null\r\n }\r\n if (isCondition(filter)) {\r\n var hasMatchedCondition = isMatchedCondition(filter, dataField);\r\n return !hasMatchedCondition ? filter : null\r\n } else {\r\n return syncConditionIntoGroup(filter, [dataField], false)\r\n }\r\n}\r\n\r\nfunction syncConditionIntoGroup(filter, addedFilter, canPush) {\r\n var result = [];\r\n filter.forEach((function(item) {\r\n if (isCondition(item)) {\r\n if (isMatchedCondition(item, addedFilter[0])) {\r\n if (canPush) {\r\n result.push(addedFilter);\r\n canPush = false\r\n } else {\r\n result.splice(result.length - 1, 1)\r\n }\r\n } else {\r\n result.push(item)\r\n }\r\n } else {\r\n (result.length || isGroup(item)) && result.push(item)\r\n }\r\n }));\r\n if (0 === result.length) {\r\n return null\r\n }\r\n if (canPush) {\r\n result.push(AND_GROUP_OPERATION);\r\n result.push(addedFilter)\r\n }\r\n return 1 === result.length ? result[0] : result\r\n}\r\nexport function syncFilters(filter, addedFilter) {\r\n if (null === filter || 0 === filter.length) {\r\n return addedFilter\r\n }\r\n if (isCondition(filter)) {\r\n if (isMatchedCondition(filter, addedFilter[0])) {\r\n return addedFilter\r\n } else {\r\n return [filter, AND_GROUP_OPERATION, addedFilter]\r\n }\r\n }\r\n var groupValue = getGroupValue(filter);\r\n if (groupValue !== AND_GROUP_OPERATION) {\r\n return [addedFilter, \"and\", filter]\r\n }\r\n return syncConditionIntoGroup(filter, addedFilter, true)\r\n}\r\nexport function getMatchedConditions(filter, dataField) {\r\n if (null === filter || 0 === filter.length) {\r\n return []\r\n }\r\n if (isCondition(filter)) {\r\n if (isMatchedCondition(filter, dataField)) {\r\n return [filter]\r\n } else {\r\n return []\r\n }\r\n }\r\n var groupValue = getGroupValue(filter);\r\n if (groupValue !== AND_GROUP_OPERATION) {\r\n return []\r\n }\r\n var result = filter.filter((function(item) {\r\n return isCondition(item) && isMatchedCondition(item, dataField)\r\n }));\r\n return result\r\n}\r\nexport function filterHasField(filter, dataField) {\r\n if (null === filter || 0 === filter.length) {\r\n return false\r\n }\r\n if (isCondition(filter)) {\r\n return filter[0] === dataField\r\n }\r\n return filter.some((function(item) {\r\n return (isCondition(item) || isGroup(item)) && filterHasField(item, dataField)\r\n }))\r\n}\r\nexport var renderValueText = function($container, value, customOperation) {\r\n if (Array.isArray(value)) {\r\n var lastItemIndex = value.length - 1;\r\n $container.empty();\r\n value.forEach((t, i) => {\r\n $(\"<span>\").addClass(FILTER_BUILDER_ITEM_TEXT_PART_CLASS).text(t).appendTo($container);\r\n if (i !== lastItemIndex) {\r\n $(\"<span>\").addClass(FILTER_BUILDER_ITEM_TEXT_SEPARATOR_CLASS).text(customOperation && customOperation.valueSeparator ? customOperation.valueSeparator : \"|\").addClass(FILTER_BUILDER_ITEM_TEXT_SEPARATOR_EMPTY_CLASS).appendTo($container)\r\n }\r\n })\r\n } else if (value) {\r\n $container.text(value)\r\n } else {\r\n $container.text(messageLocalization.format(\"dxFilterBuilder-enterValueText\"))\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/filter/m_filter_custom_operations.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n DataSource\r\n} from \"../../../../data/data_source/data_source\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n getFilterExpression,\r\n isCondition,\r\n isGroup,\r\n renderValueText\r\n} from \"../../../../ui/filter_builder/utils\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\n\r\nfunction baseOperation(grid) {\r\n var getFullText = function(itemText, parentText) {\r\n return parentText ? \"\".concat(parentText, \"/\").concat(itemText) : itemText\r\n };\r\n var headerFilterController = grid && grid.getController(\"headerFilter\");\r\n return {\r\n dataTypes: [\"string\", \"date\", \"datetime\", \"number\", \"boolean\", \"object\"],\r\n calculateFilterExpression: function(filterValue, field, fields) {\r\n var result = [];\r\n var lastIndex = filterValue.length - 1;\r\n filterValue && filterValue.forEach((value, index) => {\r\n if (isCondition(value) || isGroup(value)) {\r\n var filterExpression = getFilterExpression(value, fields, [], \"headerFilter\");\r\n result.push(filterExpression)\r\n } else {\r\n var _filterExpression = getFilterExpression([field.dataField, \"=\", value], fields, [], \"headerFilter\");\r\n result.push(_filterExpression)\r\n }\r\n index !== lastIndex && result.push(\"or\")\r\n });\r\n if (1 === result.length) {\r\n return result[0]\r\n }\r\n return result\r\n },\r\n editorTemplate(conditionInfo, container) {\r\n var div = $(\"<div>\").addClass(\"dx-filterbuilder-item-value-text\").appendTo(container);\r\n var column = extend(true, {}, grid.columnOption(conditionInfo.field.dataField));\r\n renderValueText(div, conditionInfo.text && conditionInfo.text.split(\"|\"));\r\n column.filterType = \"include\";\r\n column.filterValues = conditionInfo.value ? conditionInfo.value.slice() : [];\r\n headerFilterController.showHeaderFilterMenuBase({\r\n columnElement: div,\r\n column: column,\r\n apply() {\r\n value = this.filterValues, void conditionInfo.setValue(value);\r\n var value;\r\n headerFilterController.hideHeaderFilterMenu();\r\n conditionInfo.closeEditor()\r\n },\r\n onHidden() {\r\n conditionInfo.closeEditor()\r\n },\r\n isFilterBuilder: true\r\n });\r\n return container\r\n },\r\n customizeText: function(fieldInfo, options) {\r\n options = options || {};\r\n var {\r\n value: value\r\n } = fieldInfo;\r\n var column = grid.columnOption(fieldInfo.field.dataField);\r\n var headerFilter = column && column.headerFilter;\r\n var lookup = column && column.lookup;\r\n var values = options.values || [value];\r\n if (headerFilter && headerFilter.dataSource || lookup && lookup.dataSource) {\r\n var result = new Deferred;\r\n var itemsDeferred = options.items || new Deferred;\r\n if (!options.items) {\r\n column = extend({}, column, {\r\n filterType: \"include\",\r\n filterValues: values\r\n });\r\n var dataSourceOptions = headerFilterController.getDataSource(column);\r\n dataSourceOptions.paginate = false;\r\n var dataSource = new DataSource(dataSourceOptions);\r\n var key = dataSource.store().key();\r\n if (key) {\r\n var {\r\n values: _values\r\n } = options;\r\n if (_values && _values.length > 1) {\r\n var filter = _values.reduce((result, value) => {\r\n if (result.length) {\r\n result.push(\"or\")\r\n }\r\n result.push([key, \"=\", value]);\r\n return result\r\n }, []);\r\n dataSource.filter(filter)\r\n } else {\r\n dataSource.filter([key, \"=\", fieldInfo.value])\r\n }\r\n } else if (fieldInfo.field.calculateDisplayValue) {\r\n errors.log(\"W1017\")\r\n }\r\n options.items = itemsDeferred;\r\n dataSource.load().done(itemsDeferred.resolve)\r\n }\r\n itemsDeferred.done(items => {\r\n var index = values.indexOf(fieldInfo.value);\r\n result.resolve(function getSelectedItemsTexts(items, parentText) {\r\n var result = [];\r\n items.forEach(item => {\r\n if (item.items) {\r\n var selectedItemsTexts = getSelectedItemsTexts(item.items, getFullText(item.text, parentText));\r\n result = result.concat(selectedItemsTexts)\r\n }\r\n item.selected && result.push(getFullText(item.text, parentText))\r\n });\r\n return result\r\n }(items, null)[index])\r\n });\r\n return result\r\n }\r\n var text = headerFilterController.getHeaderItemText(value, column, 0, grid.option(\"headerFilter\"));\r\n return text\r\n }\r\n }\r\n}\r\nexport function anyOf(grid) {\r\n return extend(baseOperation(grid), {\r\n name: \"anyof\",\r\n icon: \"selectall\",\r\n caption: messageLocalization.format(\"dxFilterBuilder-filterOperationAnyOf\")\r\n })\r\n}\r\nexport function noneOf(grid) {\r\n var baseOp = baseOperation(grid);\r\n return extend({}, baseOp, {\r\n calculateFilterExpression(filterValue, field, fields) {\r\n var baseFilter = baseOp.calculateFilterExpression(filterValue, field, fields);\r\n if (!baseFilter || 0 === baseFilter.length) {\r\n return null\r\n }\r\n return \"!\" === baseFilter[0] ? baseFilter : [\"!\", baseFilter]\r\n },\r\n name: \"noneof\",\r\n icon: \"unselectall\",\r\n caption: messageLocalization.format(\"dxFilterBuilder-filterOperationNoneOf\")\r\n })\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/filter/m_filter_sync.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n addItem,\r\n filterHasField,\r\n getDefaultOperation,\r\n getFilterExpression,\r\n getMatchedConditions,\r\n getNormalizedFilter,\r\n removeFieldConditionsFromFilter,\r\n syncFilters\r\n} from \"../../../../ui/filter_builder/utils\";\r\nimport filterUtils from \"../../../../ui/shared/filtering\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n anyOf,\r\n noneOf\r\n} from \"./m_filter_custom_operations\";\r\nvar FILTER_ROW_OPERATIONS = [\"=\", \"<>\", \"<\", \"<=\", \">\", \">=\", \"notcontains\", \"contains\", \"startswith\", \"endswith\", \"between\"];\r\nvar FILTER_TYPES_INCLUDE = \"include\";\r\nvar FILTER_TYPES_EXCLUDE = \"exclude\";\r\n\r\nfunction getColumnIdentifier(column) {\r\n return column.name || column.dataField\r\n}\r\n\r\nfunction checkForErrors(columns) {\r\n columns.forEach(column => {\r\n var identifier = getColumnIdentifier(column);\r\n if (!isDefined(identifier) && column.allowFiltering) {\r\n throw new errors.Error(\"E1049\", column.caption)\r\n }\r\n })\r\n}\r\nvar getEmptyFilterValues = function() {\r\n return {\r\n filterType: FILTER_TYPES_INCLUDE,\r\n filterValues: void 0\r\n }\r\n};\r\nvar canSyncHeaderFilterWithFilterRow = function(column) {\r\n var filterValues = column.filterValues || [];\r\n return !filterUtils.getGroupInterval(column) && !(column.headerFilter && column.headerFilter.dataSource) || 1 === filterValues.length && null === filterValues[0]\r\n};\r\nvar getHeaderFilterFromCondition = function(headerFilterCondition, column) {\r\n if (!headerFilterCondition) {\r\n return getEmptyFilterValues()\r\n }\r\n var filterType;\r\n var selectedFilterOperation = headerFilterCondition[1];\r\n var value = headerFilterCondition[2];\r\n var hasArrayValue = Array.isArray(value);\r\n if (!hasArrayValue) {\r\n if (!canSyncHeaderFilterWithFilterRow(column)) {\r\n return getEmptyFilterValues()\r\n }\r\n }\r\n switch (selectedFilterOperation) {\r\n case \"anyof\":\r\n case \"=\":\r\n filterType = FILTER_TYPES_INCLUDE;\r\n break;\r\n case \"noneof\":\r\n case \"<>\":\r\n filterType = FILTER_TYPES_EXCLUDE;\r\n break;\r\n default:\r\n return getEmptyFilterValues()\r\n }\r\n return {\r\n filterType: filterType,\r\n filterValues: hasArrayValue ? value : [value]\r\n }\r\n};\r\nvar getConditionFromFilterRow = function(column) {\r\n var value = column.filterValue;\r\n if (isDefined(value)) {\r\n var operation = column.selectedFilterOperation || column.defaultFilterOperation || getDefaultOperation(column);\r\n var filter = [getColumnIdentifier(column), operation, column.filterValue];\r\n return filter\r\n }\r\n return null\r\n};\r\nvar getConditionFromHeaderFilter = function(column) {\r\n var selectedOperation;\r\n var value;\r\n var {\r\n filterValues: filterValues\r\n } = column;\r\n if (!filterValues) {\r\n return null\r\n }\r\n if (1 === filterValues.length && canSyncHeaderFilterWithFilterRow(column) && !Array.isArray(filterValues[0])) {\r\n column.filterType === FILTER_TYPES_EXCLUDE ? selectedOperation = \"<>\" : selectedOperation = \"=\";\r\n value = filterValues[0]\r\n } else {\r\n column.filterType === FILTER_TYPES_EXCLUDE ? selectedOperation = \"noneof\" : selectedOperation = \"anyof\";\r\n value = filterValues\r\n }\r\n return [getColumnIdentifier(column), selectedOperation, value]\r\n};\r\nvar updateHeaderFilterCondition = function(columnsController, column, headerFilterCondition) {\r\n var headerFilter = getHeaderFilterFromCondition(headerFilterCondition, column);\r\n columnsController.columnOption(getColumnIdentifier(column), headerFilter)\r\n};\r\nvar updateFilterRowCondition = function(columnsController, column, condition) {\r\n var filterRowOptions;\r\n var selectedFilterOperation = null === condition || void 0 === condition ? void 0 : condition[1];\r\n var filterValue = null === condition || void 0 === condition ? void 0 : condition[2];\r\n var filterOperations = column.filterOperations || column.defaultFilterOperations;\r\n if ((!filterOperations || filterOperations.indexOf(selectedFilterOperation) >= 0 || selectedFilterOperation === column.defaultFilterOperation) && FILTER_ROW_OPERATIONS.includes(selectedFilterOperation) && null !== filterValue) {\r\n if (selectedFilterOperation === column.defaultFilterOperation && !isDefined(column.selectedFilterOperation)) {\r\n selectedFilterOperation = column.selectedFilterOperation\r\n }\r\n filterRowOptions = {\r\n filterValue: filterValue,\r\n selectedFilterOperation: selectedFilterOperation\r\n }\r\n } else {\r\n filterRowOptions = {\r\n filterValue: void 0,\r\n selectedFilterOperation: void 0\r\n }\r\n }\r\n columnsController.columnOption(getColumnIdentifier(column), filterRowOptions)\r\n};\r\nexport class FilterSyncController extends modules.Controller {\r\n init() {\r\n this._dataController = this.getController(\"data\");\r\n this._columnsController = this.getController(\"columns\");\r\n if (this._dataController.isFilterSyncActive()) {\r\n if (this._columnsController.isAllDataTypesDefined()) {\r\n this._initSync()\r\n } else {\r\n this._dataController.dataSourceChanged.add(() => this._initSync())\r\n }\r\n }\r\n }\r\n publicMethods() {\r\n return [\"getCustomFilterOperations\"]\r\n }\r\n syncFilterValue() {\r\n var that = this;\r\n var columns = this._columnsController.getFilteringColumns();\r\n this._skipSyncColumnOptions = true;\r\n columns.forEach(column => {\r\n var filterConditions = getMatchedConditions(that.option(\"filterValue\"), getColumnIdentifier(column));\r\n if (1 === filterConditions.length) {\r\n var filterCondition = filterConditions[0];\r\n updateHeaderFilterCondition(this._columnsController, column, filterCondition);\r\n updateFilterRowCondition(this._columnsController, column, filterCondition)\r\n } else {\r\n isDefined(column.filterValues) && updateHeaderFilterCondition(this._columnsController, column, null);\r\n isDefined(column.filterValue) && updateFilterRowCondition(this._columnsController, column, null)\r\n }\r\n });\r\n this._skipSyncColumnOptions = false\r\n }\r\n _initSync() {\r\n var columns = this._columnsController.getColumns();\r\n var pageIndex = this._dataController.pageIndex();\r\n checkForErrors(columns);\r\n if (!this.option(\"filterValue\")) {\r\n var filteringColumns = this._columnsController.getFilteringColumns();\r\n var filterValue = this.getFilterValueFromColumns(filteringColumns);\r\n this._silentOption(\"filterValue\", filterValue)\r\n }\r\n this.syncFilterValue();\r\n this._dataController.pageIndex(pageIndex)\r\n }\r\n _getSyncFilterRow(filterValue, column) {\r\n var filter = getConditionFromFilterRow(column);\r\n if (isDefined(filter)) {\r\n return syncFilters(filterValue, filter)\r\n }\r\n return removeFieldConditionsFromFilter(filterValue, getColumnIdentifier(column))\r\n }\r\n _getSyncHeaderFilter(filterValue, column) {\r\n var filter = getConditionFromHeaderFilter(column);\r\n if (filter) {\r\n return syncFilters(filterValue, filter)\r\n }\r\n return removeFieldConditionsFromFilter(filterValue, getColumnIdentifier(column))\r\n }\r\n getFilterValueFromColumns(columns) {\r\n if (!this._dataController.isFilterSyncActive()) {\r\n return null\r\n }\r\n var filterValue = [\"and\"];\r\n columns && columns.forEach(column => {\r\n var headerFilter = getConditionFromHeaderFilter(column);\r\n var filterRow = getConditionFromFilterRow(column);\r\n headerFilter && addItem(headerFilter, filterValue);\r\n filterRow && addItem(filterRow, filterValue)\r\n });\r\n return getNormalizedFilter(filterValue)\r\n }\r\n syncFilterRow(column, filterValue) {\r\n this.option(\"filterValue\", this._getSyncFilterRow(this.option(\"filterValue\"), column))\r\n }\r\n syncHeaderFilter(column) {\r\n this.option(\"filterValue\", this._getSyncHeaderFilter(this.option(\"filterValue\"), column))\r\n }\r\n getCustomFilterOperations() {\r\n var _a;\r\n var filterBuilderCustomOperations = null !== (_a = this.option(\"filterBuilder.customOperations\")) && void 0 !== _a ? _a : [];\r\n return [anyOf(this.component), noneOf(this.component)].concat(filterBuilderCustomOperations)\r\n }\r\n}\r\nvar data = Base => class extends Base {\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"filterValue\":\r\n this._applyFilter();\r\n this.isFilterSyncActive() && this._filterSyncController.syncFilterValue();\r\n args.handled = true;\r\n break;\r\n case \"filterSyncEnabled\":\r\n args.handled = true;\r\n break;\r\n case \"columns\":\r\n if (this.isFilterSyncActive()) {\r\n var column = this._columnsController.getColumnByPath(args.fullName);\r\n if (column && !this._filterSyncController._skipSyncColumnOptions) {\r\n var propertyName = this._parseColumnPropertyName(args.fullName);\r\n this._filterSyncController._skipSyncColumnOptions = true;\r\n if (\"filterType\" === propertyName) {\r\n if (FILTER_TYPES_EXCLUDE === args.value || FILTER_TYPES_EXCLUDE === args.previousValue) {\r\n this._filterSyncController.syncHeaderFilter(column)\r\n }\r\n } else if (\"filterValues\" === propertyName) {\r\n this._filterSyncController.syncHeaderFilter(column)\r\n } else if ([\"filterValue\", \"selectedFilterOperation\"].includes(propertyName)) {\r\n this._filterSyncController.syncFilterRow(column, column.filterValue)\r\n }\r\n this._filterSyncController._skipSyncColumnOptions = false\r\n }\r\n }\r\n super.optionChanged(args);\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n isFilterSyncActive() {\r\n var filterSyncEnabledValue = this.option(\"filterSyncEnabled\");\r\n return \"auto\" === filterSyncEnabledValue ? this.option(\"filterPanel.visible\") : filterSyncEnabledValue\r\n }\r\n skipCalculateColumnFilters() {\r\n return (isDefined(this.option(\"filterValue\")) || this._filterSyncController._skipSyncColumnOptions) && this.isFilterSyncActive()\r\n }\r\n _calculateAdditionalFilter() {\r\n if (false === this.option(\"filterPanel.filterEnabled\")) {\r\n return super._calculateAdditionalFilter()\r\n }\r\n var filters = [super._calculateAdditionalFilter()];\r\n var columns = this._columnsController.getFilteringColumns();\r\n var filterValue = this.option(\"filterValue\");\r\n if (this.isFilterSyncActive()) {\r\n var currentColumnForHeaderFilter = this._headerFilterController.getCurrentColumn();\r\n var currentColumnForFilterRow = this._applyFilterController.getCurrentColumnForFiltering();\r\n var currentColumn = currentColumnForHeaderFilter || currentColumnForFilterRow;\r\n var needRemoveCurrentColumnFilter = currentColumnForHeaderFilter || isDefined(null === currentColumnForFilterRow || void 0 === currentColumnForFilterRow ? void 0 : currentColumnForFilterRow.filterValue);\r\n if (needRemoveCurrentColumnFilter && filterValue) {\r\n filterValue = removeFieldConditionsFromFilter(filterValue, getColumnIdentifier(currentColumn))\r\n }\r\n }\r\n var customOperations = this._filterSyncController.getCustomFilterOperations();\r\n var calculatedFilterValue = getFilterExpression(filterValue, columns, customOperations, \"filterBuilder\");\r\n if (calculatedFilterValue) {\r\n filters.push(calculatedFilterValue)\r\n }\r\n return gridCoreUtils.combineFilters(filters)\r\n }\r\n _parseColumnPropertyName(fullName) {\r\n var matched = fullName.match(/.*\\.(.*)/);\r\n if (matched) {\r\n return matched[1]\r\n }\r\n return null\r\n }\r\n clearFilter(filterName) {\r\n this.component.beginUpdate();\r\n if (arguments.length > 0) {\r\n if (\"filterValue\" === filterName) {\r\n this.option(\"filterValue\", null)\r\n }\r\n super.clearFilter(filterName)\r\n } else {\r\n this.option(\"filterValue\", null);\r\n super.clearFilter()\r\n }\r\n this.component.endUpdate()\r\n }\r\n _applyFilter() {\r\n if (this._filterSyncController._skipSyncColumnOptions) {\r\n return (new Deferred).resolve()\r\n }\r\n return super._applyFilter.apply(this, arguments)\r\n }\r\n};\r\nvar columnHeadersView = Base => class extends Base {\r\n optionChanged(args) {\r\n if (\"filterValue\" === args.name) {\r\n this._updateHeaderFilterIndicators()\r\n } else {\r\n super.optionChanged(args)\r\n }\r\n }\r\n _isHeaderFilterEmpty(column) {\r\n if (this._dataController.isFilterSyncActive()) {\r\n return !filterHasField(this.option(\"filterValue\"), getColumnIdentifier(column))\r\n }\r\n return super._isHeaderFilterEmpty(column)\r\n }\r\n _needUpdateFilterIndicators() {\r\n return !this._dataController.isFilterSyncActive()\r\n }\r\n};\r\nexport var filterSyncModule = {\r\n defaultOptions: () => ({\r\n filterValue: null,\r\n filterSyncEnabled: \"auto\"\r\n }),\r\n controllers: {\r\n filterSync: FilterSyncController\r\n },\r\n extenders: {\r\n controllers: {\r\n data: data\r\n },\r\n views: {\r\n columnHeadersView: columnHeadersView\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/filter_sync.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterSyncModule\r\n} from \"../../../grids/grid_core/filter/m_filter_sync\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterSync\", filterSyncModule);\r\n","/**\r\n * DevExtreme (esm/ui/filter_builder/filter_builder.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport TreeView from \"../tree_view\";\r\nimport Popup from \"../popup/ui.popup\";\r\nimport {\r\n getElementMaxHeightByWindow\r\n} from \"../overlay/utils\";\r\nimport EditorFactoryMixin from \"../shared/ui.editor_factory_mixin\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n renderValueText,\r\n getFilterExpression as _getFilterExpression,\r\n getNormalizedFilter,\r\n getNormalizedFields,\r\n getMergedOperations,\r\n convertToInnerStructure,\r\n getGroupCriteria,\r\n isGroup,\r\n isCondition,\r\n removeItem,\r\n createEmptyGroup,\r\n addItem,\r\n createCondition,\r\n getGroupMenuItem,\r\n setGroupValue,\r\n getCustomOperation,\r\n getAvailableOperations,\r\n getOperationFromAvailable,\r\n getOperationValue,\r\n updateConditionByOperation,\r\n getItems,\r\n getField,\r\n getCaptionWithParents,\r\n getDefaultOperation,\r\n getGroupValue,\r\n getCurrentLookupValueText,\r\n getCurrentValueText\r\n} from \"./utils\";\r\nvar FILTER_BUILDER_CLASS = \"dx-filterbuilder\";\r\nvar FILTER_BUILDER_GROUP_CLASS = FILTER_BUILDER_CLASS + \"-group\";\r\nvar FILTER_BUILDER_GROUP_ITEM_CLASS = FILTER_BUILDER_GROUP_CLASS + \"-item\";\r\nvar FILTER_BUILDER_GROUP_CONTENT_CLASS = FILTER_BUILDER_GROUP_CLASS + \"-content\";\r\nvar FILTER_BUILDER_GROUP_OPERATIONS_CLASS = FILTER_BUILDER_GROUP_CLASS + \"-operations\";\r\nvar FILTER_BUILDER_GROUP_OPERATION_CLASS = FILTER_BUILDER_GROUP_CLASS + \"-operation\";\r\nvar FILTER_BUILDER_ACTION_CLASS = FILTER_BUILDER_CLASS + \"-action\";\r\nvar FILTER_BUILDER_IMAGE_CLASS = FILTER_BUILDER_ACTION_CLASS + \"-icon\";\r\nvar FILTER_BUILDER_IMAGE_ADD_CLASS = \"dx-icon-plus\";\r\nvar FILTER_BUILDER_IMAGE_REMOVE_CLASS = \"dx-icon-remove\";\r\nvar FILTER_BUILDER_ITEM_TEXT_CLASS = FILTER_BUILDER_CLASS + \"-text\";\r\nvar FILTER_BUILDER_ITEM_FIELD_CLASS = FILTER_BUILDER_CLASS + \"-item-field\";\r\nvar FILTER_BUILDER_ITEM_OPERATION_CLASS = FILTER_BUILDER_CLASS + \"-item-operation\";\r\nvar FILTER_BUILDER_ITEM_VALUE_CLASS = FILTER_BUILDER_CLASS + \"-item-value\";\r\nvar FILTER_BUILDER_ITEM_VALUE_TEXT_CLASS = FILTER_BUILDER_CLASS + \"-item-value-text\";\r\nvar FILTER_BUILDER_OVERLAY_CLASS = FILTER_BUILDER_CLASS + \"-overlay\";\r\nvar FILTER_BUILDER_FILTER_OPERATIONS_CLASS = FILTER_BUILDER_CLASS + \"-operations\";\r\nvar FILTER_BUILDER_FIELDS_CLASS = FILTER_BUILDER_CLASS + \"-fields\";\r\nvar FILTER_BUILDER_ADD_CONDITION_CLASS = FILTER_BUILDER_CLASS + \"-add-condition\";\r\nvar ACTIVE_CLASS = \"dx-state-active\";\r\nvar FILTER_BUILDER_MENU_CUSTOM_OPERATION_CLASS = FILTER_BUILDER_CLASS + \"-menu-custom-operation\";\r\nvar SOURCE = \"filterBuilder\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar TAB_KEY = \"tab\";\r\nvar ENTER_KEY = \"enter\";\r\nvar ESCAPE_KEY = \"escape\";\r\nvar ACTIONS = [{\r\n name: \"onEditorPreparing\",\r\n config: {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n }\r\n}, {\r\n name: \"onEditorPrepared\",\r\n config: {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n }\r\n}, {\r\n name: \"onValueChanged\",\r\n config: {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }\r\n}];\r\nvar OPERATORS = {\r\n and: \"and\",\r\n or: \"or\",\r\n notAnd: \"!and\",\r\n notOr: \"!or\"\r\n};\r\nvar EditorFactory = EditorFactoryMixin(class {});\r\nvar FilterBuilder = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n onEditorPreparing: null,\r\n onEditorPrepared: null,\r\n onValueChanged: null,\r\n fields: [],\r\n groupOperations: [\"and\", \"or\", \"notAnd\", \"notOr\"],\r\n maxGroupLevel: void 0,\r\n value: null,\r\n allowHierarchicalFields: false,\r\n groupOperationDescriptions: {\r\n and: messageLocalization.format(\"dxFilterBuilder-and\"),\r\n or: messageLocalization.format(\"dxFilterBuilder-or\"),\r\n notAnd: messageLocalization.format(\"dxFilterBuilder-notAnd\"),\r\n notOr: messageLocalization.format(\"dxFilterBuilder-notOr\")\r\n },\r\n customOperations: [],\r\n closePopupOnTargetScroll: true,\r\n filterOperationDescriptions: {\r\n between: messageLocalization.format(\"dxFilterBuilder-filterOperationBetween\"),\r\n equal: messageLocalization.format(\"dxFilterBuilder-filterOperationEquals\"),\r\n notEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationNotEquals\"),\r\n lessThan: messageLocalization.format(\"dxFilterBuilder-filterOperationLess\"),\r\n lessThanOrEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationLessOrEquals\"),\r\n greaterThan: messageLocalization.format(\"dxFilterBuilder-filterOperationGreater\"),\r\n greaterThanOrEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationGreaterOrEquals\"),\r\n startsWith: messageLocalization.format(\"dxFilterBuilder-filterOperationStartsWith\"),\r\n contains: messageLocalization.format(\"dxFilterBuilder-filterOperationContains\"),\r\n notContains: messageLocalization.format(\"dxFilterBuilder-filterOperationNotContains\"),\r\n endsWith: messageLocalization.format(\"dxFilterBuilder-filterOperationEndsWith\"),\r\n isBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsBlank\"),\r\n isNotBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsNotBlank\")\r\n }\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"closePopupOnTargetScroll\":\r\n break;\r\n case \"onEditorPreparing\":\r\n case \"onEditorPrepared\":\r\n case \"onValueChanged\":\r\n this._initActions();\r\n break;\r\n case \"customOperations\":\r\n this._initCustomOperations();\r\n this._invalidate();\r\n break;\r\n case \"fields\":\r\n case \"maxGroupLevel\":\r\n case \"groupOperations\":\r\n case \"allowHierarchicalFields\":\r\n case \"groupOperationDescriptions\":\r\n case \"filterOperationDescriptions\":\r\n this._invalidate();\r\n break;\r\n case \"value\":\r\n if (args.value !== args.previousValue) {\r\n var disableInvalidateForValue = this._disableInvalidateForValue;\r\n if (!disableInvalidateForValue) {\r\n this._initModel();\r\n this._invalidate()\r\n }\r\n this._disableInvalidateForValue = false;\r\n this.executeAction(\"onValueChanged\", {\r\n value: args.value,\r\n previousValue: args.previousValue\r\n });\r\n this._disableInvalidateForValue = disableInvalidateForValue\r\n }\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n getFilterExpression: function() {\r\n var fields = this._getNormalizedFields();\r\n var value = extend(true, [], this._model);\r\n return _getFilterExpression(getNormalizedFilter(value), fields, this._customOperations, SOURCE)\r\n },\r\n _getNormalizedFields: function() {\r\n return getNormalizedFields(this.option(\"fields\"))\r\n },\r\n _updateFilter: function() {\r\n this._disableInvalidateForValue = true;\r\n var value = extend(true, [], this._model);\r\n var normalizedValue = getNormalizedFilter(value);\r\n var oldValue = getNormalizedFilter(this._getModel(this.option(\"value\")));\r\n if (JSON.stringify(oldValue) !== JSON.stringify(normalizedValue)) {\r\n this.option(\"value\", normalizedValue)\r\n }\r\n this._disableInvalidateForValue = false;\r\n this._fireContentReadyAction()\r\n },\r\n _init: function() {\r\n this._initCustomOperations();\r\n this._initModel();\r\n this._initEditorFactory();\r\n this._initActions();\r\n this.callBase()\r\n },\r\n _initEditorFactory: function() {\r\n this._editorFactory = new EditorFactory\r\n },\r\n _initCustomOperations: function() {\r\n this._customOperations = getMergedOperations(this.option(\"customOperations\"), this.option(\"filterOperationDescriptions.between\"), this)\r\n },\r\n _getDefaultGroupOperation: function() {\r\n var _this$option$, _this$option;\r\n return null !== (_this$option$ = null === (_this$option = this.option(\"groupOperations\")) || void 0 === _this$option ? void 0 : _this$option[0]) && void 0 !== _this$option$ ? _this$option$ : OPERATORS.and\r\n },\r\n _getModel: function(value) {\r\n return convertToInnerStructure(value, this._customOperations, this._getDefaultGroupOperation())\r\n },\r\n _initModel: function() {\r\n this._model = this._getModel(this.option(\"value\"))\r\n },\r\n _initActions: function() {\r\n var that = this;\r\n that._actions = {};\r\n ACTIONS.forEach((function(action) {\r\n var actionConfig = extend({}, action.config);\r\n that._actions[action.name] = that._createActionByOption(action.name, actionConfig)\r\n }))\r\n },\r\n executeAction: function(actionName, options) {\r\n var action = this._actions[actionName];\r\n return action && action(options)\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(FILTER_BUILDER_CLASS);\r\n this.callBase();\r\n this._createGroupElementByCriteria(this._model).appendTo(this.$element())\r\n },\r\n _createConditionElement: function(condition, parent) {\r\n return $(\"<div>\").addClass(FILTER_BUILDER_GROUP_CLASS).append(this._createConditionItem(condition, parent))\r\n },\r\n _createGroupElementByCriteria: function(criteria, parent) {\r\n var groupLevel = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0;\r\n var $group = this._createGroupElement(criteria, parent, groupLevel);\r\n var $groupContent = $group.find(\".\" + FILTER_BUILDER_GROUP_CONTENT_CLASS);\r\n var groupCriteria = getGroupCriteria(criteria);\r\n for (var i = 0; i < groupCriteria.length; i++) {\r\n var innerCriteria = groupCriteria[i];\r\n if (isGroup(innerCriteria)) {\r\n this._createGroupElementByCriteria(innerCriteria, criteria, groupLevel + 1).appendTo($groupContent)\r\n } else if (isCondition(innerCriteria)) {\r\n this._createConditionElement(innerCriteria, criteria).appendTo($groupContent)\r\n }\r\n }\r\n return $group\r\n },\r\n _createGroupElement: function(criteria, parent, groupLevel) {\r\n var $groupItem = $(\"<div>\").addClass(FILTER_BUILDER_GROUP_ITEM_CLASS);\r\n var $groupContent = $(\"<div>\").addClass(FILTER_BUILDER_GROUP_CONTENT_CLASS);\r\n var $group = $(\"<div>\").addClass(FILTER_BUILDER_GROUP_CLASS).append($groupItem).append($groupContent);\r\n if (null != parent) {\r\n this._createRemoveButton(() => {\r\n removeItem(parent, criteria);\r\n $group.remove();\r\n this._updateFilter()\r\n }).appendTo($groupItem)\r\n }\r\n this._createGroupOperationButton(criteria).appendTo($groupItem);\r\n this._createAddButton(() => {\r\n var newGroup = createEmptyGroup(this._getDefaultGroupOperation());\r\n addItem(newGroup, criteria);\r\n this._createGroupElement(newGroup, criteria, groupLevel + 1).appendTo($groupContent);\r\n this._updateFilter()\r\n }, () => {\r\n var field = this.option(\"fields\")[0];\r\n var newCondition = createCondition(field, this._customOperations);\r\n addItem(newCondition, criteria);\r\n this._createConditionElement(newCondition, criteria).appendTo($groupContent);\r\n this._updateFilter()\r\n }, groupLevel).appendTo($groupItem);\r\n return $group\r\n },\r\n _createButton: function(caption) {\r\n return $(\"<div>\").text(caption)\r\n },\r\n _createGroupOperationButton: function(criteria) {\r\n var groupOperations = this._getGroupOperations(criteria);\r\n var groupMenuItem = getGroupMenuItem(criteria, groupOperations);\r\n var caption = groupMenuItem.text;\r\n var $operationButton = groupOperations && groupOperations.length < 2 ? this._createButton(caption).addClass(DISABLED_STATE_CLASS) : this._createButtonWithMenu({\r\n caption: caption,\r\n menu: {\r\n items: groupOperations,\r\n displayExpr: \"text\",\r\n keyExpr: \"value\",\r\n onItemClick: e => {\r\n if (groupMenuItem !== e.itemData) {\r\n setGroupValue(criteria, e.itemData.value);\r\n $operationButton.text(e.itemData.text);\r\n groupMenuItem = e.itemData;\r\n this._updateFilter()\r\n }\r\n },\r\n onContentReady: function(e) {\r\n e.component.selectItem(groupMenuItem)\r\n },\r\n cssClass: FILTER_BUILDER_GROUP_OPERATIONS_CLASS\r\n }\r\n });\r\n return $operationButton.addClass(FILTER_BUILDER_ITEM_TEXT_CLASS).addClass(FILTER_BUILDER_GROUP_OPERATION_CLASS).attr(\"tabindex\", 0)\r\n },\r\n _createButtonWithMenu: function(options) {\r\n var that = this;\r\n var removeMenu = function() {\r\n that.$element().find(\".\" + ACTIVE_CLASS).removeClass(ACTIVE_CLASS);\r\n that.$element().find(\".dx-overlay .dx-treeview\").remove();\r\n that.$element().find(\".dx-overlay\").remove()\r\n };\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var position = rtlEnabled ? \"right\" : \"left\";\r\n var $button = this._createButton(options.caption);\r\n extend(options.menu, {\r\n focusStateEnabled: true,\r\n selectionMode: \"single\",\r\n onItemClick: (handler = options.menu.onItemClick, function(e) {\r\n handler(e);\r\n if (\"dxclick\" === e.event.type) {\r\n removeMenu()\r\n }\r\n }),\r\n onHiding: function(e) {\r\n $button.removeClass(ACTIVE_CLASS)\r\n },\r\n position: {\r\n my: position + \" top\",\r\n at: position + \" bottom\",\r\n offset: \"0 1\",\r\n of: $button,\r\n collision: \"flip\"\r\n },\r\n animation: null,\r\n onHidden: function() {\r\n removeMenu()\r\n },\r\n cssClass: FILTER_BUILDER_OVERLAY_CLASS + \" \" + options.menu.cssClass,\r\n rtlEnabled: rtlEnabled\r\n });\r\n var handler;\r\n options.popup = {\r\n onShown: function(info) {\r\n var treeViewElement = $(info.component.content()).find(\".dx-treeview\");\r\n var treeView = treeViewElement.dxTreeView(\"instance\");\r\n eventsEngine.on(treeViewElement, \"keyup keydown\", (function(e) {\r\n var keyName = normalizeKeyName(e);\r\n if (\"keydown\" === e.type && keyName === TAB_KEY || \"keyup\" === e.type && (keyName === ESCAPE_KEY || keyName === ENTER_KEY)) {\r\n info.component.hide();\r\n eventsEngine.trigger(options.menu.position.of, \"focus\")\r\n }\r\n }));\r\n treeView.focus();\r\n treeView.option(\"focusedElement\", null)\r\n }\r\n };\r\n this._subscribeOnClickAndEnterKey($button, (function() {\r\n removeMenu();\r\n that._createPopupWithTreeView(options, that.$element());\r\n $button.addClass(ACTIVE_CLASS)\r\n }));\r\n return $button\r\n },\r\n _hasValueButton: function(condition) {\r\n var customOperation = getCustomOperation(this._customOperations, condition[1]);\r\n return customOperation ? false !== customOperation.hasValue : null !== condition[2]\r\n },\r\n _createOperationButtonWithMenu: function(condition, field) {\r\n var that = this;\r\n var availableOperations = getAvailableOperations(field, this.option(\"filterOperationDescriptions\"), this._customOperations);\r\n var currentOperation = getOperationFromAvailable(getOperationValue(condition), availableOperations);\r\n var $operationButton = this._createButtonWithMenu({\r\n caption: currentOperation.text,\r\n menu: {\r\n items: availableOperations,\r\n displayExpr: \"text\",\r\n onItemRendered: function(e) {\r\n e.itemData.isCustom && $(e.itemElement).addClass(FILTER_BUILDER_MENU_CUSTOM_OPERATION_CLASS)\r\n },\r\n onContentReady: function(e) {\r\n e.component.selectItem(currentOperation)\r\n },\r\n onItemClick: e => {\r\n if (currentOperation !== e.itemData) {\r\n currentOperation = e.itemData;\r\n updateConditionByOperation(condition, currentOperation.value, that._customOperations);\r\n var $valueButton = $operationButton.siblings().filter(\".\" + FILTER_BUILDER_ITEM_VALUE_CLASS);\r\n if (that._hasValueButton(condition)) {\r\n if (0 !== $valueButton.length) {\r\n $valueButton.remove()\r\n }\r\n that._createValueButton(condition, field).appendTo($operationButton.parent())\r\n } else {\r\n $valueButton.remove()\r\n }\r\n $operationButton.text(currentOperation.text);\r\n this._updateFilter()\r\n }\r\n },\r\n cssClass: FILTER_BUILDER_FILTER_OPERATIONS_CLASS\r\n }\r\n }).addClass(FILTER_BUILDER_ITEM_TEXT_CLASS).addClass(FILTER_BUILDER_ITEM_OPERATION_CLASS).attr(\"tabindex\", 0);\r\n return $operationButton\r\n },\r\n _createOperationAndValueButtons: function(condition, field, $item) {\r\n this._createOperationButtonWithMenu(condition, field).appendTo($item);\r\n if (this._hasValueButton(condition)) {\r\n this._createValueButton(condition, field).appendTo($item)\r\n }\r\n },\r\n _createFieldButtonWithMenu: function(fields, condition, field) {\r\n var that = this;\r\n var allowHierarchicalFields = this.option(\"allowHierarchicalFields\");\r\n var items = getItems(fields, allowHierarchicalFields);\r\n var item = getField(field.name || field.dataField, items);\r\n var getFullCaption = function(item, items) {\r\n return allowHierarchicalFields ? getCaptionWithParents(item, items) : item.caption\r\n };\r\n var $fieldButton = this._createButtonWithMenu({\r\n caption: getFullCaption(item, items),\r\n menu: {\r\n items: items,\r\n dataStructure: \"plain\",\r\n keyExpr: \"id\",\r\n parentId: \"parentId\",\r\n displayExpr: \"caption\",\r\n onItemClick: e => {\r\n if (item !== e.itemData) {\r\n item = e.itemData;\r\n condition[0] = item.name || item.dataField;\r\n condition[2] = \"object\" === item.dataType ? null : \"\";\r\n updateConditionByOperation(condition, getDefaultOperation(item), that._customOperations);\r\n $fieldButton.siblings().filter(\".\" + FILTER_BUILDER_ITEM_TEXT_CLASS).remove();\r\n that._createOperationAndValueButtons(condition, item, $fieldButton.parent());\r\n var caption = getFullCaption(item, e.component.option(\"items\"));\r\n $fieldButton.text(caption);\r\n this._updateFilter()\r\n }\r\n },\r\n onContentReady: function(e) {\r\n e.component.selectItem(item)\r\n },\r\n cssClass: FILTER_BUILDER_FIELDS_CLASS\r\n }\r\n }).addClass(FILTER_BUILDER_ITEM_TEXT_CLASS).addClass(FILTER_BUILDER_ITEM_FIELD_CLASS).attr(\"tabindex\", 0);\r\n return $fieldButton\r\n },\r\n _createConditionItem: function(condition, parent) {\r\n var $item = $(\"<div>\").addClass(FILTER_BUILDER_GROUP_ITEM_CLASS);\r\n var fields = this._getNormalizedFields();\r\n var field = getField(condition[0], fields);\r\n this._createRemoveButton(() => {\r\n removeItem(parent, condition);\r\n var isSingleChild = 1 === $item.parent().children().length;\r\n if (isSingleChild) {\r\n $item.parent().remove()\r\n } else {\r\n $item.remove()\r\n }\r\n this._updateFilter()\r\n }).appendTo($item);\r\n this._createFieldButtonWithMenu(fields, condition, field).appendTo($item);\r\n this._createOperationAndValueButtons(condition, field, $item);\r\n return $item\r\n },\r\n _getGroupOperations: function(criteria) {\r\n var groupOperations = this.option(\"groupOperations\");\r\n var groupOperationDescriptions = this.option(\"groupOperationDescriptions\");\r\n if (!groupOperations || !groupOperations.length) {\r\n groupOperations = [getGroupValue(criteria).replace(\"!\", \"not\")]\r\n }\r\n return groupOperations.map(operation => ({\r\n text: groupOperationDescriptions[operation],\r\n value: OPERATORS[operation]\r\n }))\r\n },\r\n _createRemoveButton: function(handler) {\r\n var $removeButton = $(\"<div>\").addClass(FILTER_BUILDER_IMAGE_CLASS).addClass(FILTER_BUILDER_IMAGE_REMOVE_CLASS).addClass(FILTER_BUILDER_ACTION_CLASS).attr(\"tabindex\", 0);\r\n this._subscribeOnClickAndEnterKey($removeButton, handler);\r\n return $removeButton\r\n },\r\n _createAddButton: function(addGroupHandler, addConditionHandler, groupLevel) {\r\n var $button;\r\n var maxGroupLevel = this.option(\"maxGroupLevel\");\r\n if (isDefined(maxGroupLevel) && groupLevel >= maxGroupLevel) {\r\n $button = this._createButton();\r\n this._subscribeOnClickAndEnterKey($button, addConditionHandler)\r\n } else {\r\n $button = this._createButtonWithMenu({\r\n menu: {\r\n items: [{\r\n caption: messageLocalization.format(\"dxFilterBuilder-addCondition\"),\r\n click: addConditionHandler\r\n }, {\r\n caption: messageLocalization.format(\"dxFilterBuilder-addGroup\"),\r\n click: addGroupHandler\r\n }],\r\n displayExpr: \"caption\",\r\n onItemClick: function(e) {\r\n e.itemData.click()\r\n },\r\n cssClass: FILTER_BUILDER_ADD_CONDITION_CLASS\r\n }\r\n })\r\n }\r\n return $button.addClass(FILTER_BUILDER_IMAGE_CLASS).addClass(FILTER_BUILDER_IMAGE_ADD_CLASS).addClass(FILTER_BUILDER_ACTION_CLASS).attr(\"tabindex\", 0)\r\n },\r\n _createValueText: function(item, field, $container) {\r\n var that = this;\r\n var $text = $(\"<div>\").html(\" \").addClass(FILTER_BUILDER_ITEM_VALUE_TEXT_CLASS).attr(\"tabindex\", 0).appendTo($container);\r\n var value = item[2];\r\n var customOperation = getCustomOperation(that._customOperations, item[1]);\r\n if (!customOperation && field.lookup) {\r\n getCurrentLookupValueText(field, value, (function(result) {\r\n renderValueText($text, result)\r\n }))\r\n } else {\r\n when(getCurrentValueText(field, value, customOperation)).done(result => {\r\n renderValueText($text, result, customOperation)\r\n })\r\n }\r\n that._subscribeOnClickAndEnterKey($text, (function(e) {\r\n if (\"keyup\" === e.type) {\r\n e.stopPropagation()\r\n }\r\n that._createValueEditorWithEvents(item, field, $container)\r\n }));\r\n return $text\r\n },\r\n _updateConditionValue: function(item, value, callback) {\r\n var areValuesDifferent = item[2] !== value;\r\n if (areValuesDifferent) {\r\n item[2] = value\r\n }\r\n callback();\r\n this._updateFilter()\r\n },\r\n _addDocumentKeyUp: function($editor, handler) {\r\n var isComposing = false;\r\n var hasCompositionJustEnded = false;\r\n var document = domAdapter.getDocument();\r\n var documentKeyUpHandler = e => {\r\n if (isComposing || hasCompositionJustEnded) {\r\n hasCompositionJustEnded = false;\r\n return\r\n }\r\n handler(e)\r\n };\r\n eventsEngine.on(document, \"keyup\", documentKeyUpHandler);\r\n var input = $editor.find(\"input\");\r\n eventsEngine.on(input, \"compositionstart\", () => {\r\n isComposing = true\r\n });\r\n eventsEngine.on(input, \"compositionend\", () => {\r\n isComposing = false;\r\n hasCompositionJustEnded = true\r\n });\r\n eventsEngine.on(input, \"keydown\", event => {\r\n if (229 !== event.which) {\r\n hasCompositionJustEnded = false\r\n }\r\n });\r\n this._documentKeyUpHandler = documentKeyUpHandler\r\n },\r\n _addDocumentClick: function($editor, closeEditorFunc) {\r\n var document = domAdapter.getDocument();\r\n var documentClickHandler = e => {\r\n if (!this._isFocusOnEditorParts($editor, e.target)) {\r\n eventsEngine.trigger($editor.find(\"input\"), \"change\");\r\n closeEditorFunc()\r\n }\r\n };\r\n eventsEngine.on(document, \"dxpointerdown\", documentClickHandler);\r\n this._documentClickHandler = documentClickHandler\r\n },\r\n _isFocusOnEditorParts: function($editor, target) {\r\n var activeElement = target || domAdapter.getActiveElement();\r\n return $(activeElement).closest($editor.children()).length || $(activeElement).closest(\".dx-dropdowneditor-overlay\").length\r\n },\r\n _removeEvents: function() {\r\n var document = domAdapter.getDocument();\r\n isDefined(this._documentKeyUpHandler) && eventsEngine.off(document, \"keyup\", this._documentKeyUpHandler);\r\n isDefined(this._documentClickHandler) && eventsEngine.off(document, \"dxpointerdown\", this._documentClickHandler)\r\n },\r\n _dispose: function() {\r\n this._removeEvents();\r\n this.callBase()\r\n },\r\n _createValueEditorWithEvents: function(item, field, $container) {\r\n var value = item[2];\r\n var createValueText = () => {\r\n $container.empty();\r\n this._removeEvents();\r\n return this._createValueText(item, field, $container)\r\n };\r\n var closeEditor = () => {\r\n this._updateConditionValue(item, value, (function() {\r\n createValueText()\r\n }))\r\n };\r\n var options = {\r\n value: \"\" === value ? null : value,\r\n filterOperation: getOperationValue(item),\r\n setValue: function(data) {\r\n value = null === data ? \"\" : data\r\n },\r\n closeEditor: closeEditor,\r\n text: $container.text()\r\n };\r\n $container.empty();\r\n var $editor = this._createValueEditor($container, field, options);\r\n eventsEngine.trigger($editor.find(\"input\").not(\":hidden\").eq(0), \"focus\");\r\n this._removeEvents();\r\n this._addDocumentClick($editor, closeEditor);\r\n this._addDocumentKeyUp($editor, e => {\r\n var keyName = normalizeKeyName(e);\r\n if (keyName === TAB_KEY) {\r\n if (this._isFocusOnEditorParts($editor)) {\r\n return\r\n }\r\n this._updateConditionValue(item, value, (function() {\r\n createValueText();\r\n if (e.shiftKey) {\r\n eventsEngine.trigger($container.prev(), \"focus\")\r\n }\r\n }))\r\n }\r\n if (keyName === ESCAPE_KEY) {\r\n eventsEngine.trigger(createValueText(), \"focus\")\r\n }\r\n if (keyName === ENTER_KEY) {\r\n this._updateConditionValue(item, value, (function() {\r\n eventsEngine.trigger(createValueText(), \"focus\")\r\n }))\r\n }\r\n });\r\n this._fireContentReadyAction()\r\n },\r\n _createValueButton: function(item, field) {\r\n var $valueButton = $(\"<div>\").addClass(FILTER_BUILDER_ITEM_TEXT_CLASS).addClass(FILTER_BUILDER_ITEM_VALUE_CLASS);\r\n this._createValueText(item, field, $valueButton);\r\n return $valueButton\r\n },\r\n _createValueEditor: function($container, field, options) {\r\n var $editor = $(\"<div>\").attr(\"tabindex\", 0).appendTo($container);\r\n var customOperation = getCustomOperation(this._customOperations, options.filterOperation);\r\n var editorTemplate = customOperation && customOperation.editorTemplate ? customOperation.editorTemplate : field.editorTemplate;\r\n if (editorTemplate) {\r\n var template = this._getTemplate(editorTemplate);\r\n template.render({\r\n model: extend({\r\n field: field\r\n }, options),\r\n container: $editor\r\n })\r\n } else {\r\n this._editorFactory.createEditor.call(this, $editor, extend({}, field, options, {\r\n parentType: SOURCE\r\n }))\r\n }\r\n return $editor\r\n },\r\n _createPopupWithTreeView: function(options, $container) {\r\n var that = this;\r\n var $popup = $(\"<div>\").addClass(options.menu.cssClass).appendTo($container);\r\n this._createComponent($popup, Popup, {\r\n onHiding: options.menu.onHiding,\r\n onHidden: options.menu.onHidden,\r\n rtlEnabled: options.menu.rtlEnabled,\r\n position: options.menu.position,\r\n animation: options.menu.animation,\r\n contentTemplate: function(contentElement) {\r\n var $menuContainer = $(\"<div>\").appendTo(contentElement);\r\n that._createComponent($menuContainer, TreeView, options.menu);\r\n this.repaint()\r\n },\r\n _ignoreFunctionValueDeprecation: true,\r\n maxHeight: function() {\r\n return getElementMaxHeightByWindow(options.menu.position.of)\r\n },\r\n visible: true,\r\n focusStateEnabled: false,\r\n hideOnParentScroll: this.option(\"closePopupOnTargetScroll\"),\r\n hideOnOutsideClick: true,\r\n onShown: options.popup.onShown,\r\n shading: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n showTitle: false,\r\n _wrapperClassExternal: options.menu.cssClass\r\n })\r\n },\r\n _subscribeOnClickAndEnterKey: function($button, handler) {\r\n eventsEngine.on($button, \"dxclick\", handler);\r\n eventsEngine.on($button, \"keyup\", (function(e) {\r\n if (normalizeKeyName(e) === ENTER_KEY) {\r\n handler(e)\r\n }\r\n }))\r\n }\r\n});\r\nregisterComponent(\"dxFilterBuilder\", FilterBuilder);\r\nexport default FilterBuilder;\r\n","/**\r\n * DevExtreme (esm/ui/filter_builder.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport FilterBuilder from \"./filter_builder/filter_builder\";\r\nexport default FilterBuilder;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/filter/m_filter_builder.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport FilterBuilder from \"../../../../ui/filter_builder\";\r\nimport Popup from \"../../../../ui/popup/ui.popup\";\r\nimport ScrollView from \"../../../../ui/scroll_view\";\r\nimport {\r\n restoreFocus\r\n} from \"../../../../ui/shared/accessibility\";\r\nimport modules from \"../m_modules\";\r\nexport class FilterBuilderView extends modules.View {\r\n init() {\r\n super.init();\r\n this._columnsController = this.getController(\"columns\");\r\n this._filterSyncController = this.getController(\"filterSync\")\r\n }\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"filterBuilder\":\r\n case \"filterBuilderPopup\":\r\n this._invalidate();\r\n args.handled = true;\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n _renderCore() {\r\n this._updatePopupOptions()\r\n }\r\n _updatePopupOptions() {\r\n if (this.option(\"filterBuilderPopup.visible\")) {\r\n this._initPopup()\r\n } else if (this._filterBuilderPopup) {\r\n this._filterBuilderPopup.hide()\r\n }\r\n }\r\n _disposePopup() {\r\n if (this._filterBuilderPopup) {\r\n this._filterBuilderPopup.dispose();\r\n this._filterBuilderPopup = void 0\r\n }\r\n if (this._filterBuilder) {\r\n this._filterBuilder.dispose();\r\n this._filterBuilder = void 0\r\n }\r\n }\r\n _initPopup() {\r\n var that = this;\r\n that._disposePopup();\r\n that._filterBuilderPopup = that._createComponent(that.element(), Popup, extend({\r\n title: messageLocalization.format(\"dxDataGrid-filterBuilderPopupTitle\"),\r\n contentTemplate: $contentElement => that._getPopupContentTemplate($contentElement),\r\n onOptionChanged(args) {\r\n if (\"visible\" === args.name) {\r\n that.option(\"filterBuilderPopup.visible\", args.value)\r\n }\r\n },\r\n toolbarItems: that._getPopupToolbarItems()\r\n }, that.option(\"filterBuilderPopup\"), {\r\n onHidden() {\r\n restoreFocus(that);\r\n that._disposePopup()\r\n }\r\n }))\r\n }\r\n _getPopupContentTemplate(contentElement) {\r\n var $contentElement = $(contentElement);\r\n var $filterBuilderContainer = $(\"<div>\").appendTo($(contentElement));\r\n this._filterBuilder = this._createComponent($filterBuilderContainer, FilterBuilder, extend({\r\n value: this.option(\"filterValue\"),\r\n fields: this._columnsController.getFilteringColumns()\r\n }, this.option(\"filterBuilder\"), {\r\n customOperations: this._filterSyncController.getCustomFilterOperations()\r\n }));\r\n this._createComponent($contentElement, ScrollView, {\r\n direction: \"both\"\r\n })\r\n }\r\n _getPopupToolbarItems() {\r\n var that = this;\r\n return [{\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: {\r\n text: messageLocalization.format(\"OK\"),\r\n onClick() {\r\n var filter = that._filterBuilder.option(\"value\");\r\n that.option(\"filterValue\", filter);\r\n that._filterBuilderPopup.hide()\r\n }\r\n }\r\n }, {\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: {\r\n text: messageLocalization.format(\"Cancel\"),\r\n onClick() {\r\n that._filterBuilderPopup.hide()\r\n }\r\n }\r\n }]\r\n }\r\n}\r\nexport var filterBuilderModule = {\r\n defaultOptions: () => ({\r\n filterBuilder: {\r\n groupOperationDescriptions: {\r\n and: messageLocalization.format(\"dxFilterBuilder-and\"),\r\n or: messageLocalization.format(\"dxFilterBuilder-or\"),\r\n notAnd: messageLocalization.format(\"dxFilterBuilder-notAnd\"),\r\n notOr: messageLocalization.format(\"dxFilterBuilder-notOr\")\r\n },\r\n filterOperationDescriptions: {\r\n between: messageLocalization.format(\"dxFilterBuilder-filterOperationBetween\"),\r\n equal: messageLocalization.format(\"dxFilterBuilder-filterOperationEquals\"),\r\n notEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationNotEquals\"),\r\n lessThan: messageLocalization.format(\"dxFilterBuilder-filterOperationLess\"),\r\n lessThanOrEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationLessOrEquals\"),\r\n greaterThan: messageLocalization.format(\"dxFilterBuilder-filterOperationGreater\"),\r\n greaterThanOrEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationGreaterOrEquals\"),\r\n startsWith: messageLocalization.format(\"dxFilterBuilder-filterOperationStartsWith\"),\r\n contains: messageLocalization.format(\"dxFilterBuilder-filterOperationContains\"),\r\n notContains: messageLocalization.format(\"dxFilterBuilder-filterOperationNotContains\"),\r\n endsWith: messageLocalization.format(\"dxFilterBuilder-filterOperationEndsWith\"),\r\n isBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsBlank\"),\r\n isNotBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsNotBlank\")\r\n }\r\n },\r\n filterBuilderPopup: {}\r\n }),\r\n views: {\r\n filterBuilderView: FilterBuilderView\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/filter_builder.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterBuilderModule\r\n} from \"../../../grids/grid_core/filter/m_filter_builder\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterBuilder\", filterBuilderModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/filter/m_filter_panel.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n captionize\r\n} from \"../../../../core/utils/inflector\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport CheckBox from \"../../../../ui/check_box\";\r\nimport {\r\n getCaptionByOperation,\r\n getCurrentLookupValueText,\r\n getCurrentValueText,\r\n getCustomOperation,\r\n getField,\r\n getGroupValue,\r\n isCondition,\r\n isGroup\r\n} from \"../../../../ui/filter_builder/utils\";\r\nimport {\r\n registerKeyboardAction\r\n} from \"../m_accessibility\";\r\nimport modules from \"../m_modules\";\r\nimport gridUtils from \"../m_utils\";\r\nvar FILTER_PANEL_CLASS = \"filter-panel\";\r\nvar FILTER_PANEL_TEXT_CLASS = \"\".concat(FILTER_PANEL_CLASS, \"-text\");\r\nvar FILTER_PANEL_CHECKBOX_CLASS = \"\".concat(FILTER_PANEL_CLASS, \"-checkbox\");\r\nvar FILTER_PANEL_CLEAR_FILTER_CLASS = \"\".concat(FILTER_PANEL_CLASS, \"-clear-filter\");\r\nvar FILTER_PANEL_LEFT_CONTAINER = \"\".concat(FILTER_PANEL_CLASS, \"-left\");\r\nvar FILTER_PANEL_TARGET = \"filterPanel\";\r\nexport class FilterPanelView extends modules.View {\r\n init() {\r\n this._dataController = this.getController(\"data\");\r\n this._columnsController = this.getController(\"columns\");\r\n this._filterSyncController = this.getController(\"filterSync\");\r\n this._dataController.dataSourceChanged.add(() => this.render())\r\n }\r\n isVisible() {\r\n return this.option(\"filterPanel.visible\") && this._dataController.dataSource()\r\n }\r\n _renderCore() {\r\n var $element = this.element();\r\n $element.empty();\r\n var isColumnsDefined = !!this._columnsController.getColumns().length;\r\n if (!isColumnsDefined) {\r\n return\r\n }\r\n $element.addClass(this.addWidgetPrefix(FILTER_PANEL_CLASS));\r\n var $leftContainer = $(\"<div>\").addClass(this.addWidgetPrefix(FILTER_PANEL_LEFT_CONTAINER)).appendTo($element);\r\n this._renderFilterBuilderText($element, $leftContainer)\r\n }\r\n _renderFilterBuilderText($element, $leftContainer) {\r\n var $filterElement = this._getFilterElement();\r\n var $textElement = this._getTextElement();\r\n if (this.option(\"filterValue\") || this._filterValueBuffer) {\r\n var $checkElement = this._getCheckElement();\r\n var $removeButtonElement = this._getRemoveButtonElement();\r\n $leftContainer.append($checkElement).append($filterElement).append($textElement);\r\n $element.append($removeButtonElement);\r\n return\r\n }\r\n $leftContainer.append($filterElement).append($textElement)\r\n }\r\n _getCheckElement() {\r\n var that = this;\r\n var $element = $(\"<div>\").addClass(this.addWidgetPrefix(FILTER_PANEL_CHECKBOX_CLASS));\r\n that._createComponent($element, CheckBox, {\r\n value: that.option(\"filterPanel.filterEnabled\"),\r\n onValueChanged(e) {\r\n that.option(\"filterPanel.filterEnabled\", e.value)\r\n }\r\n });\r\n $element.attr(\"title\", this.option(\"filterPanel.texts.filterEnabledHint\"));\r\n return $element\r\n }\r\n _getFilterElement() {\r\n var that = this;\r\n var $element = $(\"<div>\").addClass(\"dx-icon-filter\");\r\n eventsEngine.on($element, \"click\", () => that._showFilterBuilder());\r\n registerKeyboardAction(\"filterPanel\", that, $element, void 0, () => that._showFilterBuilder());\r\n that._addTabIndexToElement($element);\r\n return $element\r\n }\r\n _getTextElement() {\r\n var that = this;\r\n var $textElement = $(\"<div>\").addClass(that.addWidgetPrefix(FILTER_PANEL_TEXT_CLASS));\r\n var filterText;\r\n var filterValue = that.option(\"filterValue\");\r\n if (filterValue) {\r\n when(that.getFilterText(filterValue, this._filterSyncController.getCustomFilterOperations())).done(filterText => {\r\n var customizeText = that.option(\"filterPanel.customizeText\");\r\n if (customizeText) {\r\n var customText = customizeText({\r\n component: that.component,\r\n filterValue: filterValue,\r\n text: filterText\r\n });\r\n if (\"string\" === typeof customText) {\r\n filterText = customText\r\n }\r\n }\r\n $textElement.text(filterText)\r\n })\r\n } else {\r\n filterText = that.option(\"filterPanel.texts.createFilter\");\r\n $textElement.text(filterText)\r\n }\r\n eventsEngine.on($textElement, \"click\", () => that._showFilterBuilder());\r\n registerKeyboardAction(\"filterPanel\", that, $textElement, void 0, () => that._showFilterBuilder());\r\n that._addTabIndexToElement($textElement);\r\n return $textElement\r\n }\r\n _showFilterBuilder() {\r\n this.option(\"filterBuilderPopup.visible\", true)\r\n }\r\n _getRemoveButtonElement() {\r\n var that = this;\r\n var clearFilterValue = () => that.option(\"filterValue\", null);\r\n var $element = $(\"<div>\").addClass(that.addWidgetPrefix(FILTER_PANEL_CLEAR_FILTER_CLASS)).text(that.option(\"filterPanel.texts.clearFilter\"));\r\n eventsEngine.on($element, \"click\", clearFilterValue);\r\n registerKeyboardAction(\"filterPanel\", this, $element, void 0, clearFilterValue);\r\n that._addTabIndexToElement($element);\r\n return $element\r\n }\r\n _addTabIndexToElement($element) {\r\n if (!this.option(\"useLegacyKeyboardNavigation\")) {\r\n var tabindex = this.option(\"tabindex\") || 0;\r\n $element.attr(\"tabindex\", tabindex)\r\n }\r\n }\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"filterValue\":\r\n this._invalidate();\r\n this.option(\"filterPanel.filterEnabled\", true);\r\n args.handled = true;\r\n break;\r\n case \"filterPanel\":\r\n this._invalidate();\r\n args.handled = true;\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n _getConditionText(fieldText, operationText, valueText) {\r\n var result = \"[\".concat(fieldText, \"] \").concat(operationText);\r\n if (isDefined(valueText)) {\r\n result += valueText\r\n }\r\n return result\r\n }\r\n _getValueMaskedText(value) {\r\n return Array.isArray(value) ? \"('\".concat(value.join(\"', '\"), \"')\") : \" '\".concat(value, \"'\")\r\n }\r\n _getValueText(field, customOperation, value) {\r\n var deferred = new Deferred;\r\n var hasCustomOperation = customOperation && customOperation.customizeText;\r\n if (isDefined(value) || hasCustomOperation) {\r\n if (!hasCustomOperation && field.lookup) {\r\n getCurrentLookupValueText(field, value, data => {\r\n deferred.resolve(this._getValueMaskedText(data))\r\n })\r\n } else {\r\n var displayValue = Array.isArray(value) ? value : gridUtils.getDisplayValue(field, value, null);\r\n when(getCurrentValueText(field, displayValue, customOperation, FILTER_PANEL_TARGET)).done(data => {\r\n deferred.resolve(this._getValueMaskedText(data))\r\n })\r\n }\r\n } else {\r\n deferred.resolve(\"\")\r\n }\r\n return deferred.promise()\r\n }\r\n getConditionText(filterValue, options) {\r\n var that = this;\r\n var operation = filterValue[1];\r\n var deferred = new Deferred;\r\n var customOperation = getCustomOperation(options.customOperations, operation);\r\n var operationText;\r\n var field = getField(filterValue[0], options.columns);\r\n var fieldText = field.caption || \"\";\r\n var value = filterValue[2];\r\n if (customOperation) {\r\n operationText = customOperation.caption || captionize(customOperation.name)\r\n } else if (null === value) {\r\n operationText = getCaptionByOperation(\"=\" === operation ? \"isblank\" : \"isnotblank\", options.filterOperationDescriptions)\r\n } else {\r\n operationText = getCaptionByOperation(operation, options.filterOperationDescriptions)\r\n }\r\n this._getValueText(field, customOperation, value).done(valueText => {\r\n deferred.resolve(that._getConditionText(fieldText, operationText, valueText))\r\n });\r\n return deferred\r\n }\r\n getGroupText(filterValue, options, isInnerGroup) {\r\n var that = this;\r\n var result = new Deferred;\r\n var textParts = [];\r\n var groupValue = getGroupValue(filterValue);\r\n filterValue.forEach(item => {\r\n if (isCondition(item)) {\r\n textParts.push(that.getConditionText(item, options))\r\n } else if (isGroup(item)) {\r\n textParts.push(that.getGroupText(item, options, true))\r\n }\r\n });\r\n when.apply(this, textParts).done((function() {\r\n var text;\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n if (groupValue.startsWith(\"!\")) {\r\n var groupText = options.groupOperationDescriptions[\"not\".concat(groupValue.substring(1, 2).toUpperCase()).concat(groupValue.substring(2))].split(\" \");\r\n text = \"\".concat(groupText[0], \" \").concat(args[0])\r\n } else {\r\n text = args.join(\" \".concat(options.groupOperationDescriptions[groupValue], \" \"))\r\n }\r\n if (isInnerGroup) {\r\n text = \"(\".concat(text, \")\")\r\n }\r\n result.resolve(text)\r\n }));\r\n return result\r\n }\r\n getFilterText(filterValue, customOperations) {\r\n var options = {\r\n customOperations: customOperations,\r\n columns: this._columnsController.getFilteringColumns(),\r\n filterOperationDescriptions: this.option(\"filterBuilder.filterOperationDescriptions\"),\r\n groupOperationDescriptions: this.option(\"filterBuilder.groupOperationDescriptions\")\r\n };\r\n return isCondition(filterValue) ? this.getConditionText(filterValue, options) : this.getGroupText(filterValue, options)\r\n }\r\n}\r\nvar data = Base => class extends Base {\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"filterPanel\":\r\n this._applyFilter();\r\n args.handled = true;\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n};\r\nexport var filterPanelModule = {\r\n defaultOptions: () => ({\r\n filterPanel: {\r\n visible: false,\r\n filterEnabled: true,\r\n texts: {\r\n createFilter: messageLocalization.format(\"dxDataGrid-filterPanelCreateFilter\"),\r\n clearFilter: messageLocalization.format(\"dxDataGrid-filterPanelClearFilter\"),\r\n filterEnabledHint: messageLocalization.format(\"dxDataGrid-filterPanelFilterEnabledHint\")\r\n }\r\n }\r\n }),\r\n views: {\r\n filterPanelView: FilterPanelView\r\n },\r\n extenders: {\r\n controllers: {\r\n data: data\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/filter_panel.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterPanelModule\r\n} from \"../../../grids/grid_core/filter/m_filter_panel\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterPanel\", filterPanelModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/search/m_search.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n compileGetter,\r\n toComparable\r\n} from \"../../../../core/utils/data\";\r\nimport dataQuery from \"../../../../data/query\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar SEARCH_PANEL_CLASS = \"search-panel\";\r\nvar SEARCH_TEXT_CLASS = \"search-text\";\r\nvar HEADER_PANEL_CLASS = \"header-panel\";\r\nvar FILTERING_TIMEOUT = 700;\r\n\r\nfunction allowSearch(column) {\r\n var _a;\r\n return !!(null !== (_a = column.allowSearch) && void 0 !== _a ? _a : column.allowFiltering)\r\n}\r\n\r\nfunction parseValue(column, text) {\r\n var {\r\n lookup: lookup\r\n } = column;\r\n if (!column.parseValue) {\r\n return text\r\n }\r\n if (lookup) {\r\n return column.parseValue.call(lookup, text)\r\n }\r\n return column.parseValue(text)\r\n}\r\nvar dataController = base => class extends base {\r\n optionChanged(args) {\r\n switch (args.fullName) {\r\n case \"searchPanel.text\":\r\n case \"searchPanel\":\r\n this._applyFilter();\r\n args.handled = true;\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n publicMethods() {\r\n return super.publicMethods().concat([\"searchByText\"])\r\n }\r\n _calculateAdditionalFilter() {\r\n var filter = super._calculateAdditionalFilter();\r\n var searchFilter = this.calculateSearchFilter(this.option(\"searchPanel.text\"));\r\n return gridCoreUtils.combineFilters([filter, searchFilter])\r\n }\r\n searchByText(text) {\r\n this.option(\"searchPanel.text\", text)\r\n }\r\n calculateSearchFilter(text) {\r\n var i;\r\n var column;\r\n var columns = this._columnsController.getColumns();\r\n var searchVisibleColumnsOnly = this.option(\"searchPanel.searchVisibleColumnsOnly\");\r\n var lookup;\r\n var filters = [];\r\n if (!text) {\r\n return null\r\n }\r\n\r\n function onQueryDone(items) {\r\n var valueGetter = compileGetter(lookup.valueExpr);\r\n for (var _i = 0; _i < items.length; _i++) {\r\n var value = valueGetter(items[_i]);\r\n filters.push(column.createFilterExpression(value, null, \"search\"))\r\n }\r\n }\r\n for (i = 0; i < columns.length; i++) {\r\n column = columns[i];\r\n if (searchVisibleColumnsOnly && !column.visible) {\r\n continue\r\n }\r\n if (allowSearch(column) && column.calculateFilterExpression) {\r\n lookup = column.lookup;\r\n var filterValue = parseValue(column, text);\r\n if (lookup && lookup.items) {\r\n dataQuery(lookup.items).filter(column.createFilterExpression.call({\r\n dataField: lookup.displayExpr,\r\n dataType: lookup.dataType,\r\n calculateFilterExpression: column.calculateFilterExpression\r\n }, filterValue, null, \"search\")).enumerate().done(onQueryDone)\r\n } else if (void 0 !== filterValue) {\r\n filters.push(column.createFilterExpression(filterValue, null, \"search\"))\r\n }\r\n }\r\n }\r\n if (0 === filters.length) {\r\n return [\"!\"]\r\n }\r\n return gridCoreUtils.combineFilters(filters, \"or\")\r\n }\r\n};\r\nvar headerPanel = Base => class extends Base {\r\n optionChanged(args) {\r\n if (\"searchPanel\" === args.name) {\r\n if (\"searchPanel.text\" === args.fullName) {\r\n var editor = this.getSearchTextEditor();\r\n if (editor) {\r\n editor.option(\"value\", args.value)\r\n }\r\n } else {\r\n this._invalidate()\r\n }\r\n args.handled = true\r\n } else {\r\n super.optionChanged(args)\r\n }\r\n }\r\n _getToolbarItems() {\r\n var items = super._getToolbarItems();\r\n return this._prepareSearchItem(items)\r\n }\r\n _prepareSearchItem(items) {\r\n var that = this;\r\n var dataController = this._dataController;\r\n var searchPanelOptions = this.option(\"searchPanel\");\r\n if (searchPanelOptions && searchPanelOptions.visible) {\r\n var toolbarItem = {\r\n template(data, index, container) {\r\n var $search = $(\"<div>\").addClass(that.addWidgetPrefix(SEARCH_PANEL_CLASS)).appendTo(container);\r\n that._editorFactoryController.createEditor($search, {\r\n width: searchPanelOptions.width,\r\n placeholder: searchPanelOptions.placeholder,\r\n parentType: \"searchPanel\",\r\n value: that.option(\"searchPanel.text\"),\r\n updateValueTimeout: FILTERING_TIMEOUT,\r\n setValue(value) {\r\n dataController.searchByText(value)\r\n },\r\n editorOptions: {\r\n inputAttr: {\r\n \"aria-label\": messageLocalization.format(\"\".concat(that.component.NAME, \"-ariaSearchInGrid\"))\r\n }\r\n }\r\n });\r\n that.resize()\r\n },\r\n name: \"searchPanel\",\r\n location: \"after\",\r\n locateInMenu: \"never\",\r\n sortIndex: 40\r\n };\r\n items.push(toolbarItem)\r\n }\r\n return items\r\n }\r\n getSearchTextEditor() {\r\n var that = this;\r\n var $element = that.element();\r\n var $searchPanel = $element.find(\".\".concat(that.addWidgetPrefix(SEARCH_PANEL_CLASS))).filter((function() {\r\n return $(this).closest(\".\".concat(that.addWidgetPrefix(HEADER_PANEL_CLASS))).is($element)\r\n }));\r\n if ($searchPanel.length) {\r\n return $searchPanel.dxTextBox(\"instance\")\r\n }\r\n return null\r\n }\r\n isVisible() {\r\n var searchPanelOptions = this.option(\"searchPanel\");\r\n return super.isVisible() || !!(null === searchPanelOptions || void 0 === searchPanelOptions ? void 0 : searchPanelOptions.visible)\r\n }\r\n};\r\nvar rowsView = Base => class extends Base {\r\n init() {\r\n super.init.apply(this, arguments);\r\n this._searchParams = [];\r\n this._dataController = this.getController(\"data\")\r\n }\r\n dispose() {\r\n clearTimeout(this._highlightTimer);\r\n super.dispose()\r\n }\r\n _getFormattedSearchText(column, searchText) {\r\n var value = parseValue(column, searchText);\r\n var formatOptions = gridCoreUtils.getFormatOptionsByColumn(column, \"search\");\r\n return gridCoreUtils.formatValue(value, formatOptions)\r\n }\r\n _getStringNormalizer() {\r\n var _a, _b, _c, _d;\r\n var isCaseSensitive = this.option(\"searchPanel.highlightCaseSensitive\");\r\n var dataSource = null === (_b = null === (_a = this._dataController) || void 0 === _a ? void 0 : _a.getDataSource) || void 0 === _b ? void 0 : _b.call(_a);\r\n var langParams = null === (_d = null === (_c = null === dataSource || void 0 === dataSource ? void 0 : dataSource.loadOptions) || void 0 === _c ? void 0 : _c.call(dataSource)) || void 0 === _d ? void 0 : _d.langParams;\r\n return str => toComparable(str, isCaseSensitive, langParams)\r\n }\r\n _findHighlightingTextNodes(column, cellElement, searchText) {\r\n var $parent = cellElement.parent();\r\n var $items;\r\n var stringNormalizer = this._getStringNormalizer();\r\n var normalizedSearchText = stringNormalizer(searchText);\r\n var resultTextNodes = [];\r\n if (!$parent.length) {\r\n $parent = $(\"<div>\").append(cellElement)\r\n } else if (column) {\r\n if (column.groupIndex >= 0 && !column.showWhenGrouped) {\r\n $items = cellElement\r\n } else {\r\n var columnIndex = this._columnsController.getVisibleIndex(column.index);\r\n $items = $parent.children(\"td\").eq(columnIndex).find(\"*\")\r\n }\r\n }\r\n $items = (null === $items || void 0 === $items ? void 0 : $items.length) ? $items : $parent.find(\"*\");\r\n $items.each((_, element) => {\r\n var _a, _b;\r\n var $contents = $(element).contents();\r\n for (var i = 0; i < $contents.length; i++) {\r\n var node = $contents.get(i);\r\n if (3 === node.nodeType) {\r\n var normalizedText = stringNormalizer(null !== (_b = null !== (_a = node.textContent) && void 0 !== _a ? _a : node.nodeValue) && void 0 !== _b ? _b : \"\");\r\n if (normalizedText.includes(normalizedSearchText)) {\r\n resultTextNodes.push(node)\r\n }\r\n }\r\n }\r\n });\r\n return resultTextNodes\r\n }\r\n _highlightSearchTextCore($textNode, searchText) {\r\n var $searchTextSpan = $(\"<span>\").addClass(this.addWidgetPrefix(SEARCH_TEXT_CLASS));\r\n var text = $textNode.text();\r\n var firstContentElement = $textNode[0];\r\n var stringNormalizer = this._getStringNormalizer();\r\n var index = stringNormalizer(text).indexOf(stringNormalizer(searchText));\r\n if (index >= 0) {\r\n if (firstContentElement.textContent) {\r\n firstContentElement.textContent = text.substr(0, index)\r\n } else {\r\n firstContentElement.nodeValue = text.substr(0, index)\r\n }\r\n $textNode.after($searchTextSpan.text(text.substr(index, searchText.length)));\r\n $textNode = $(domAdapter.createTextNode(text.substr(index + searchText.length))).insertAfter($searchTextSpan);\r\n return this._highlightSearchTextCore($textNode, searchText)\r\n }\r\n }\r\n _highlightSearchText(cellElement, isEquals, column) {\r\n var that = this;\r\n var stringNormalizer = this._getStringNormalizer();\r\n var searchText = that.option(\"searchPanel.text\");\r\n if (isEquals && column) {\r\n searchText = searchText && that._getFormattedSearchText(column, searchText)\r\n }\r\n if (searchText && that.option(\"searchPanel.highlightSearchText\")) {\r\n var textNodes = that._findHighlightingTextNodes(column, cellElement, searchText);\r\n textNodes.forEach(textNode => {\r\n if (isEquals) {\r\n if (stringNormalizer($(textNode).text()) === stringNormalizer(null !== searchText && void 0 !== searchText ? searchText : \"\")) {\r\n $(textNode).replaceWith($(\"<span>\").addClass(that.addWidgetPrefix(SEARCH_TEXT_CLASS)).text($(textNode).text()))\r\n }\r\n } else {\r\n that._highlightSearchTextCore($(textNode), searchText)\r\n }\r\n })\r\n }\r\n }\r\n _renderCore() {\r\n var deferred = super._renderCore.apply(this, arguments);\r\n if (this.option().rowTemplate || this.option(\"dataRowTemplate\")) {\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n clearTimeout(this._highlightTimer);\r\n this._highlightTimer = setTimeout(() => {\r\n this._highlightSearchText(this.getTableElement())\r\n })\r\n } else {\r\n this._highlightSearchText(this.getTableElement())\r\n }\r\n }\r\n return deferred\r\n }\r\n _updateCell($cell, parameters) {\r\n var {\r\n column: column\r\n } = parameters;\r\n var dataType = column.lookup && column.lookup.dataType || column.dataType;\r\n var isEquals = \"string\" !== dataType;\r\n if (allowSearch(column) && !parameters.isOnForm) {\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n if (!this._searchParams.length) {\r\n clearTimeout(this._highlightTimer);\r\n this._highlightTimer = setTimeout(() => {\r\n this._searchParams.forEach(params => {\r\n this._highlightSearchText.apply(this, params)\r\n });\r\n this._searchParams = []\r\n })\r\n }\r\n this._searchParams.push([$cell, isEquals, column])\r\n } else {\r\n this._highlightSearchText($cell, isEquals, column)\r\n }\r\n }\r\n super._updateCell($cell, parameters)\r\n }\r\n};\r\nexport var searchModule = {\r\n defaultOptions: () => ({\r\n searchPanel: {\r\n visible: false,\r\n width: 160,\r\n placeholder: messageLocalization.format(\"dxDataGrid-searchPanelPlaceholder\"),\r\n highlightSearchText: true,\r\n highlightCaseSensitive: false,\r\n text: \"\",\r\n searchVisibleColumnsOnly: false\r\n }\r\n }),\r\n extenders: {\r\n controllers: {\r\n data: dataController\r\n },\r\n views: {\r\n headerPanel: headerPanel,\r\n rowsView: rowsView\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/search.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n searchModule\r\n} from \"../../../grids/grid_core/search/m_search\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"search\", searchModule);\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/grid_pager.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Component from \"./common/component\";\r\nexport class GridPagerWrapper extends Component {\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"pageIndex\":\r\n var pageIndexChanged = this.option(\"pageIndexChanged\");\r\n if (pageIndexChanged) {\r\n pageIndexChanged(args.value)\r\n }\r\n break;\r\n case \"pageSize\":\r\n var pageSizeChanged = this.option(\"pageSizeChanged\");\r\n if (pageSizeChanged) {\r\n pageSizeChanged(args.value)\r\n }\r\n }\r\n super._optionChanged(args)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/utils/get_element_width.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport getElementComputedStyle from \"../../../utils/get_computed_style\";\r\nimport {\r\n toNumber\r\n} from \"../../../utils/type_conversion\";\r\nexport function getElementStyle(name, element) {\r\n var _getElementComputedSt;\r\n var computedStyle = null !== (_getElementComputedSt = getElementComputedStyle(element)) && void 0 !== _getElementComputedSt ? _getElementComputedSt : {};\r\n return toNumber(computedStyle[name])\r\n}\r\nexport function getElementContentWidth(element) {\r\n var padding = getElementStyle(\"paddingLeft\", element) + getElementStyle(\"paddingRight\", element);\r\n var width = getElementStyle(\"width\", element);\r\n return width - padding\r\n}\r\nexport function getElementWidth(element) {\r\n var margin = getElementStyle(\"marginLeft\", element) + getElementStyle(\"marginRight\", element);\r\n var width = getElementStyle(\"width\", element);\r\n return margin + width\r\n}\r\nexport function getElementMinWidth(element) {\r\n return getElementStyle(\"minWidth\", element)\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/resizable_container.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"contentTemplate\", \"pagerProps\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport resizeCallbacks from \"../../../core/utils/resize_callbacks\";\r\nimport {\r\n getElementWidth,\r\n getElementStyle,\r\n getElementContentWidth\r\n} from \"./utils/get_element_width\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n contentAttributes: contentAttributes,\r\n infoTextRef: infoTextRef,\r\n infoTextVisible: infoTextVisible,\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n pageSizesRef: pageSizesRef,\r\n pagesRef: pagesRef,\r\n parentRef: parentRef,\r\n props: {\r\n contentTemplate: Content\r\n }\r\n } = _ref;\r\n return Content(_extends({\r\n rootElementRef: parentRef,\r\n pageSizesRef: pageSizesRef,\r\n infoTextRef: infoTextRef,\r\n pagesRef: pagesRef,\r\n infoTextVisible: infoTextVisible,\r\n isLargeDisplayMode: isLargeDisplayMode\r\n }, contentAttributes))\r\n};\r\nexport function calculateLargeDisplayMode(_ref2) {\r\n var {\r\n pageSizes: pageSizesWidth,\r\n pages: pagesWidth,\r\n parent: parentWidth\r\n } = _ref2;\r\n return parentWidth - (pageSizesWidth + pagesWidth) > 0\r\n}\r\nexport function calculateInfoTextVisible(_ref3) {\r\n var {\r\n info: infoWidth,\r\n pageSizes: pageSizesWidth,\r\n pages: pagesWidth,\r\n parent: parentWidth\r\n } = _ref3;\r\n var minimalWidth = pageSizesWidth + pagesWidth + infoWidth;\r\n return parentWidth - minimalWidth > 0\r\n}\r\n\r\nfunction getElementsWidth(_ref4) {\r\n var {\r\n info: info,\r\n pageSizes: pageSizes,\r\n pages: pages,\r\n parent: parent\r\n } = _ref4;\r\n var parentWidth = getElementContentWidth(parent);\r\n var pageSizesWidth = getElementWidth(pageSizes);\r\n var infoWidth = getElementWidth(info);\r\n var pagesHtmlWidth = getElementWidth(pages);\r\n return {\r\n parent: parentWidth,\r\n pageSizes: pageSizesWidth,\r\n info: infoWidth + getElementStyle(\"marginLeft\", info) + getElementStyle(\"marginRight\", info),\r\n pages: pagesHtmlWidth\r\n }\r\n}\r\nexport var ResizableContainerProps = {};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class ResizableContainer extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.parentRef = infernoCreateRef();\r\n this.pageSizesRef = infernoCreateRef();\r\n this.infoTextRef = infernoCreateRef();\r\n this.pagesRef = infernoCreateRef();\r\n this.actualIsLargeDisplayMode = true;\r\n this.actualInfoTextVisible = true;\r\n this.state = {\r\n infoTextVisible: true,\r\n isLargeDisplayMode: true\r\n };\r\n this.subscribeToResize = this.subscribeToResize.bind(this);\r\n this.effectUpdateChildProps = this.effectUpdateChildProps.bind(this);\r\n this.updateAdaptivityProps = this.updateAdaptivityProps.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.subscribeToResize, [this.state.infoTextVisible, this.state.isLargeDisplayMode]), new InfernoEffect(this.effectUpdateChildProps, [this.props, this.state.infoTextVisible, this.state.isLargeDisplayMode, this.props.pagerProps, this.props.contentTemplate])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$, _this$_effects$2;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.state.infoTextVisible, this.state.isLargeDisplayMode]);\r\n null === (_this$_effects$2 = this._effects[1]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props, this.state.infoTextVisible, this.state.isLargeDisplayMode, this.props.pagerProps, this.props.contentTemplate])\r\n }\r\n subscribeToResize() {\r\n var callback = () => {\r\n this.parentWidth > 0 && this.updateAdaptivityProps()\r\n };\r\n resizeCallbacks.add(callback);\r\n return () => {\r\n resizeCallbacks.remove(callback)\r\n }\r\n }\r\n effectUpdateChildProps() {\r\n if (this.parentWidth > 0) {\r\n this.updateAdaptivityProps()\r\n }\r\n }\r\n get contentAttributes() {\r\n var {\r\n className: className,\r\n displayMode: displayMode,\r\n gridCompatibility: gridCompatibility,\r\n hasKnownLastPage: hasKnownLastPage,\r\n infoText: infoText,\r\n label: label,\r\n lightModeEnabled: lightModeEnabled,\r\n maxPagesCount: maxPagesCount,\r\n onKeyDown: onKeyDown,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange,\r\n pageSizes: pageSizes,\r\n pagesCountText: pagesCountText,\r\n pagesNavigatorVisible: pagesNavigatorVisible,\r\n rtlEnabled: rtlEnabled,\r\n showInfo: showInfo,\r\n showNavigationButtons: showNavigationButtons,\r\n showPageSizes: showPageSizes,\r\n totalCount: totalCount,\r\n visible: visible\r\n } = this.props.pagerProps;\r\n return _extends({}, this.restAttributes, {\r\n pageSize: pageSize,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange,\r\n pageSizeChange: pageSizeChange,\r\n gridCompatibility: gridCompatibility,\r\n className: className,\r\n showInfo: showInfo,\r\n infoText: infoText,\r\n lightModeEnabled: lightModeEnabled,\r\n displayMode: displayMode,\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount,\r\n pagesCountText: pagesCountText,\r\n visible: visible,\r\n hasKnownLastPage: hasKnownLastPage,\r\n pagesNavigatorVisible: pagesNavigatorVisible,\r\n showPageSizes: showPageSizes,\r\n pageSizes: pageSizes,\r\n rtlEnabled: rtlEnabled,\r\n showNavigationButtons: showNavigationButtons,\r\n totalCount: totalCount,\r\n onKeyDown: onKeyDown,\r\n label: label\r\n })\r\n }\r\n get parentWidth() {\r\n return this.parentRef.current ? getElementWidth(this.parentRef.current) : 0\r\n }\r\n updateAdaptivityProps() {\r\n var currentElementsWidth = getElementsWidth({\r\n parent: this.parentRef.current,\r\n pageSizes: this.pageSizesRef.current,\r\n info: this.infoTextRef.current,\r\n pages: this.pagesRef.current\r\n });\r\n if (this.actualInfoTextVisible !== this.state.infoTextVisible || this.actualIsLargeDisplayMode !== this.state.isLargeDisplayMode) {\r\n return\r\n }\r\n var isEmpty = !isDefined(this.elementsWidth);\r\n if (isEmpty) {\r\n this.elementsWidth = {}\r\n }\r\n if (isEmpty || this.state.isLargeDisplayMode) {\r\n this.elementsWidth.pageSizes = currentElementsWidth.pageSizes;\r\n this.elementsWidth.pages = currentElementsWidth.pages\r\n }\r\n if (isEmpty || this.state.infoTextVisible) {\r\n this.elementsWidth.info = currentElementsWidth.info\r\n }\r\n this.actualIsLargeDisplayMode = calculateLargeDisplayMode(_extends({\r\n parent: currentElementsWidth.parent\r\n }, {\r\n pageSizes: this.elementsWidth.pageSizes,\r\n pages: this.elementsWidth.pages\r\n }));\r\n this.actualInfoTextVisible = calculateInfoTextVisible(_extends({}, currentElementsWidth, {\r\n info: this.elementsWidth.info\r\n }));\r\n this.setState(__state_argument => ({\r\n infoTextVisible: this.actualInfoTextVisible\r\n }));\r\n this.setState(__state_argument => ({\r\n isLargeDisplayMode: this.actualIsLargeDisplayMode\r\n }))\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n contentTemplate: getTemplate(props.contentTemplate)\r\n }),\r\n infoTextVisible: this.state.infoTextVisible,\r\n isLargeDisplayMode: this.state.isLargeDisplayMode,\r\n parentRef: this.parentRef,\r\n pageSizesRef: this.pageSizesRef,\r\n infoTextRef: this.infoTextRef,\r\n pagesRef: this.pagesRef,\r\n contentAttributes: this.contentAttributes,\r\n parentWidth: this.parentWidth,\r\n updateAdaptivityProps: this.updateAdaptivityProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nResizableContainer.defaultProps = ResizableContainerProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/common/base_pager_props.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport messageLocalization from \"../../../../localization/message\";\r\nexport var BasePagerProps = {\r\n gridCompatibility: true,\r\n showInfo: false,\r\n displayMode: \"adaptive\",\r\n maxPagesCount: 10,\r\n pageCount: 10,\r\n visible: true,\r\n hasKnownLastPage: true,\r\n pagesNavigatorVisible: \"auto\",\r\n showPageSizes: true,\r\n pageSizes: Object.freeze([5, 10]),\r\n showNavigationButtons: false,\r\n totalCount: 0,\r\n get label() {\r\n return messageLocalization.format(\"dxPager-ariaLabel\")\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/common/pager_props.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n BasePagerProps\r\n} from \"./base_pager_props\";\r\nexport var PagerProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BasePagerProps), Object.getOwnPropertyDescriptors({\r\n defaultPageSize: 5,\r\n pageSizeChange: () => {},\r\n defaultPageIndex: 1,\r\n pageIndexChange: () => {}\r\n})));\r\nexport var InternalPagerProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BasePagerProps), Object.getOwnPropertyDescriptors({\r\n pageSize: 5,\r\n pageIndex: 1\r\n})));\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/info.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"infoText\", \"pageCount\", \"pageIndex\", \"rootElementRef\", \"totalCount\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n format\r\n} from \"../../../core/utils/string\";\r\nimport messageLocalization from \"../../../localization/message\";\r\nimport {\r\n InternalPagerProps\r\n} from \"./common/pager_props\";\r\nexport var PAGER_INFO_CLASS = \"dx-info\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n rootElementRef: rootElementRef\r\n },\r\n text: text\r\n } = _ref;\r\n return createVNode(1, \"div\", PAGER_INFO_CLASS, text, 0, null, null, rootElementRef)\r\n};\r\nexport var InfoTextProps = {};\r\nvar InfoTextPropsType = {\r\n get pageIndex() {\r\n return InternalPagerProps.pageIndex\r\n },\r\n get pageCount() {\r\n return InternalPagerProps.pageCount\r\n },\r\n get totalCount() {\r\n return InternalPagerProps.totalCount\r\n }\r\n};\r\nexport class InfoText extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get infoText() {\r\n var _this$props$infoText;\r\n return (null !== (_this$props$infoText = this.props.infoText) && void 0 !== _this$props$infoText ? _this$props$infoText : \"\") || messageLocalization.getFormatter(\"dxPager-infoText\")()\r\n }\r\n get text() {\r\n var {\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n totalCount: totalCount\r\n } = this.props;\r\n return format(this.infoText, (pageIndex + 1).toString(), pageCount.toString(), totalCount.toString())\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n infoText: this.infoText,\r\n text: this.text,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nInfoText.defaultProps = InfoTextPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/common/keyboard_action_context.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n createContext\r\n} from \"@devextreme/runtime/inferno\";\r\nexport var KeyboardActionContext = createContext(void 0);\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/common/light_button.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"children\", \"className\", \"label\", \"onClick\", \"selected\", \"tabIndex\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n subscribeToClickEvent\r\n} from \"../../../utils/subscribe_to_event\";\r\nimport {\r\n KeyboardActionContext\r\n} from \"./keyboard_action_context\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n children: children,\r\n className: className,\r\n label: label,\r\n selected: selected,\r\n tabIndex: tabIndex\r\n },\r\n widgetRef: widgetRef\r\n } = _ref;\r\n return createVNode(1, \"div\", className, children, 0, {\r\n tabIndex: tabIndex,\r\n role: \"button\",\r\n \"aria-label\": label,\r\n \"aria-current\": selected ? \"page\" : void 0\r\n }, null, widgetRef)\r\n};\r\nexport var LightButtonProps = {\r\n className: \"\",\r\n label: \"\",\r\n tabIndex: 0,\r\n selected: false\r\n};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class LightButton extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.widgetRef = infernoCreateRef();\r\n this.keyboardEffect = this.keyboardEffect.bind(this);\r\n this.subscribeToClick = this.subscribeToClick.bind(this)\r\n }\r\n get keyboardContext() {\r\n if (this.context[KeyboardActionContext.id]) {\r\n return this.context[KeyboardActionContext.id]\r\n }\r\n return KeyboardActionContext.defaultValue\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.keyboardEffect, [this.keyboardContext, this.props.onClick]), new InfernoEffect(this.subscribeToClick, [this.props.onClick])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$, _this$_effects$2;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.keyboardContext, this.props.onClick]);\r\n null === (_this$_effects$2 = this._effects[1]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props.onClick])\r\n }\r\n keyboardEffect() {\r\n return this.keyboardContext.registerKeyboardAction(this.widgetRef.current, this.props.onClick)\r\n }\r\n subscribeToClick() {\r\n return subscribeToClickEvent(this.widgetRef.current, this.props.onClick)\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n widgetRef: this.widgetRef,\r\n keyboardContext: this.keyboardContext,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nLightButton.defaultProps = LightButtonProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/common/consts.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var PAGER_CLASS = \"dx-pager\";\r\nexport var LIGHT_MODE_CLASS = \"dx-light-mode\";\r\nexport var PAGER_PAGES_CLASS = \"dx-pages\";\r\nexport var PAGER_PAGE_INDEXES_CLASS = \"dx-page-indexes\";\r\nexport var PAGER_PAGE_CLASS = \"dx-page\";\r\nexport var PAGER_SELECTION_CLASS = \"dx-selection\";\r\nexport var PAGER_PAGE_SIZE_CLASS = \"dx-page-size\";\r\nexport var PAGER_PAGE_SIZES_CLASS = \"dx-page-sizes\";\r\nexport var PAGER_SELECTED_PAGE_SIZE_CLASS = \"\".concat(PAGER_PAGE_SIZE_CLASS, \" \").concat(PAGER_SELECTION_CLASS);\r\nexport var FIRST_CHILD_CLASS = \"dx-first-child\";\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pages/page.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"className\", \"index\", \"onClick\", \"selected\"];\r\nimport {\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n LightButton\r\n} from \"../common/light_button\";\r\nimport {\r\n PAGER_PAGE_CLASS,\r\n PAGER_SELECTION_CLASS\r\n} from \"../common/consts\";\r\nimport {\r\n combineClasses\r\n} from \"../../../utils/combine_classes\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n format\r\n} from \"../../../../core/utils/string\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n className: className,\r\n label: label,\r\n props: {\r\n onClick: onClick,\r\n selected: selected\r\n },\r\n value: value\r\n } = _ref;\r\n return createComponentVNode(2, LightButton, {\r\n className: className,\r\n label: label,\r\n onClick: onClick,\r\n selected: selected,\r\n children: value\r\n })\r\n};\r\nexport var PageProps = {\r\n index: 0,\r\n selected: false,\r\n className: PAGER_PAGE_CLASS\r\n};\r\nexport class Page extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get label() {\r\n return format(messageLocalization.getFormatter(\"dxPager-page\"), this.value)\r\n }\r\n get value() {\r\n return this.props.index + 1\r\n }\r\n get className() {\r\n var {\r\n selected: selected\r\n } = this.props;\r\n return combineClasses({\r\n [\"\".concat(this.props.className)]: !!this.props.className,\r\n [PAGER_SELECTION_CLASS]: !!selected\r\n })\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n label: this.label,\r\n value: this.value,\r\n className: this.className,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPage.defaultProps = PageProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pages/large.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"pageIndexes\"],\r\n _excluded2 = [\"maxPagesCount\", \"pageCount\", \"pageIndex\", \"pageIndexChange\"];\r\nimport {\r\n createVNode,\r\n createFragment,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n Page\r\n} from \"./page\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nimport {\r\n ConfigContext\r\n} from \"../../../common/config_context\";\r\nvar PAGER_PAGE_SEPARATOR_CLASS = \"dx-separator\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n pages: pages\r\n } = _ref;\r\n var PagesMarkup = pages.map(_ref2 => {\r\n var {\r\n key: key,\r\n pageProps: pageProps\r\n } = _ref2;\r\n return pageProps ? createComponentVNode(2, Page, {\r\n index: pageProps.index,\r\n selected: pageProps.selected,\r\n onClick: pageProps.onClick\r\n }, key) : createVNode(1, \"div\", PAGER_PAGE_SEPARATOR_CLASS, \". . .\", 16, null, key)\r\n });\r\n return createFragment(PagesMarkup, 0)\r\n};\r\nvar PAGES_LIMITER = 4;\r\n\r\nfunction getDelimiterType(startIndex, slidingWindowSize, pageCount) {\r\n if (1 === startIndex) {\r\n return \"high\"\r\n }\r\n if (startIndex + slidingWindowSize === pageCount - 1) {\r\n return \"low\"\r\n }\r\n return \"both\"\r\n}\r\n\r\nfunction createPageIndexesBySlidingWindowIndexes(slidingWindowIndexes, pageCount, delimiter) {\r\n var pageIndexes = [];\r\n var indexesForReuse = [];\r\n switch (delimiter) {\r\n case \"none\":\r\n pageIndexes = [...slidingWindowIndexes];\r\n break;\r\n case \"both\":\r\n pageIndexes = [0, \"low\", ...slidingWindowIndexes, \"high\", pageCount - 1];\r\n indexesForReuse = slidingWindowIndexes.slice(1, -1);\r\n break;\r\n case \"high\":\r\n pageIndexes = [0, ...slidingWindowIndexes, \"high\", pageCount - 1];\r\n indexesForReuse = slidingWindowIndexes.slice(0, -1);\r\n break;\r\n case \"low\":\r\n pageIndexes = [0, \"low\", ...slidingWindowIndexes, pageCount - 1];\r\n indexesForReuse = slidingWindowIndexes.slice(1)\r\n }\r\n return {\r\n slidingWindowIndexes: slidingWindowIndexes,\r\n indexesForReuse: indexesForReuse,\r\n pageIndexes: pageIndexes\r\n }\r\n}\r\n\r\nfunction createPageIndexes(startIndex, slidingWindowSize, pageCount, delimiter) {\r\n var slidingWindowIndexes = [];\r\n for (var i = 0; i < slidingWindowSize; i += 1) {\r\n slidingWindowIndexes.push(i + startIndex)\r\n }\r\n return createPageIndexesBySlidingWindowIndexes(slidingWindowIndexes, pageCount, delimiter)\r\n}\r\nvar PagesLargePropsType = {\r\n get pageIndex() {\r\n return InternalPagerProps.pageIndex\r\n },\r\n get maxPagesCount() {\r\n return InternalPagerProps.maxPagesCount\r\n },\r\n get pageCount() {\r\n return InternalPagerProps.pageCount\r\n }\r\n};\r\nexport class PagesLarge extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.canReuseSlidingWindow = this.canReuseSlidingWindow.bind(this);\r\n this.generatePageIndexes = this.generatePageIndexes.bind(this);\r\n this.isSlidingWindowMode = this.isSlidingWindowMode.bind(this);\r\n this.onPageClick = this.onPageClick.bind(this)\r\n }\r\n get config() {\r\n if (this.context[ConfigContext.id]) {\r\n return this.context[ConfigContext.id]\r\n }\r\n return ConfigContext.defaultValue\r\n }\r\n get slidingWindowState() {\r\n var slidingWindowState = this.slidingWindowStateHolder;\r\n if (!slidingWindowState) {\r\n return {\r\n indexesForReuse: [],\r\n slidingWindowIndexes: []\r\n }\r\n }\r\n return slidingWindowState\r\n }\r\n canReuseSlidingWindow(currentPageCount, pageIndex) {\r\n var {\r\n indexesForReuse: indexesForReuse\r\n } = this.slidingWindowState;\r\n var lastPageIsFartherThanWindow = indexesForReuse.slice(-1)[0] < currentPageCount - 1;\r\n var pageIndexExistInIndexes = indexesForReuse.includes(pageIndex);\r\n return lastPageIsFartherThanWindow && pageIndexExistInIndexes\r\n }\r\n generatePageIndexes() {\r\n var {\r\n pageCount: pageCount,\r\n pageIndex: pageIndex\r\n } = this.props;\r\n var startIndex = 0;\r\n var {\r\n slidingWindowIndexes: slidingWindowIndexes\r\n } = this.slidingWindowState;\r\n if (pageIndex === slidingWindowIndexes[0]) {\r\n startIndex = pageIndex - 1\r\n } else if (pageIndex === slidingWindowIndexes[slidingWindowIndexes.length - 1]) {\r\n startIndex = pageIndex + 2 - PAGES_LIMITER\r\n } else if (pageIndex < PAGES_LIMITER) {\r\n startIndex = 1\r\n } else if (pageIndex >= pageCount - PAGES_LIMITER) {\r\n startIndex = pageCount - PAGES_LIMITER - 1\r\n } else {\r\n startIndex = pageIndex - 1\r\n }\r\n var slidingWindowSize = PAGES_LIMITER;\r\n var delimiter = getDelimiterType(startIndex, slidingWindowSize, pageCount);\r\n var _createPageIndexes = createPageIndexes(startIndex, slidingWindowSize, pageCount, delimiter),\r\n {\r\n pageIndexes: pageIndexes\r\n } = _createPageIndexes,\r\n slidingWindowState = _objectWithoutPropertiesLoose(_createPageIndexes, _excluded);\r\n this.slidingWindowStateHolder = slidingWindowState;\r\n return pageIndexes\r\n }\r\n isSlidingWindowMode() {\r\n var {\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount\r\n } = this.props;\r\n return pageCount <= PAGES_LIMITER || pageCount <= maxPagesCount\r\n }\r\n onPageClick(pageIndex) {\r\n this.props.pageIndexChange(pageIndex)\r\n }\r\n get pageIndexes() {\r\n var {\r\n pageCount: pageCount\r\n } = this.props;\r\n if (this.isSlidingWindowMode()) {\r\n return createPageIndexes(0, pageCount, pageCount, \"none\").pageIndexes\r\n }\r\n if (this.canReuseSlidingWindow(pageCount, this.props.pageIndex)) {\r\n var {\r\n slidingWindowIndexes: slidingWindowIndexes\r\n } = this.slidingWindowState;\r\n var delimiter = getDelimiterType(slidingWindowIndexes[0], PAGES_LIMITER, pageCount);\r\n return createPageIndexesBySlidingWindowIndexes(slidingWindowIndexes, pageCount, delimiter).pageIndexes\r\n }\r\n return this.generatePageIndexes()\r\n }\r\n get pages() {\r\n var _this$config;\r\n var {\r\n pageIndex: pageIndex\r\n } = this.props;\r\n var createPage = index => {\r\n var pagerProps = \"low\" === index || \"high\" === index ? null : {\r\n index: index,\r\n onClick: () => this.onPageClick(index),\r\n selected: pageIndex === index\r\n };\r\n return {\r\n key: index.toString(),\r\n pageProps: pagerProps\r\n }\r\n };\r\n var rtlPageIndexes = null !== (_this$config = this.config) && void 0 !== _this$config && _this$config.rtlEnabled ? [...this.pageIndexes].reverse() : this.pageIndexes;\r\n return rtlPageIndexes.map(index => createPage(index))\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded2);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n config: this.config,\r\n pageIndexes: this.pageIndexes,\r\n pages: this.pages,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPagesLarge.defaultProps = PagesLargePropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/common/editor_state_props.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../../../core/devices\";\r\nexport var EditorStateProps = {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n get focusStateEnabled() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/common/editor_label_props.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isMaterial,\r\n current\r\n} from \"../../../../ui/themes\";\r\nexport var EditorLabelProps = {\r\n label: \"\",\r\n get labelMode() {\r\n return isMaterial(current()) ? \"floating\" : \"static\"\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/number_box.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"className\", \"defaultValue\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"inputAttr\", \"invalidValueMessage\", \"isValid\", \"label\", \"labelMode\", \"max\", \"min\", \"mode\", \"name\", \"onClick\", \"onFocusIn\", \"onKeyDown\", \"readOnly\", \"rtlEnabled\", \"showSpinButtons\", \"step\", \"tabIndex\", \"useLargeSpinButtons\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"value\", \"valueChange\", \"visible\", \"width\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport LegacyNumberBox from \"../../../ui/number_box\";\r\nimport {\r\n DomComponentWrapper\r\n} from \"../common/dom_component_wrapper\";\r\nimport {\r\n EditorProps\r\n} from \"./common/editor\";\r\nimport {\r\n EditorStateProps\r\n} from \"./common/editor_state_props\";\r\nimport {\r\n EditorLabelProps\r\n} from \"./common/editor_label_props\";\r\nvar DEFAULT_VALUE = 0;\r\nexport var viewFunction = _ref => {\r\n var {\r\n componentProps: componentProps,\r\n restAttributes: restAttributes\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, DomComponentWrapper, _extends({\r\n componentType: LegacyNumberBox,\r\n componentProps: componentProps,\r\n templateNames: []\r\n }, restAttributes)))\r\n};\r\nexport var NumberBoxProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(EditorProps), Object.getOwnPropertyDescriptors({\r\n defaultValue: DEFAULT_VALUE,\r\n isReactComponentWrapper: true\r\n})));\r\nexport var NumberBoxPropsType = {\r\n get defaultValue() {\r\n return NumberBoxProps.defaultValue\r\n },\r\n get readOnly() {\r\n return NumberBoxProps.readOnly\r\n },\r\n get name() {\r\n return NumberBoxProps.name\r\n },\r\n get validationError() {\r\n return NumberBoxProps.validationError\r\n },\r\n get validationErrors() {\r\n return NumberBoxProps.validationErrors\r\n },\r\n get validationMessageMode() {\r\n return NumberBoxProps.validationMessageMode\r\n },\r\n get validationMessagePosition() {\r\n return NumberBoxProps.validationMessagePosition\r\n },\r\n get validationStatus() {\r\n return NumberBoxProps.validationStatus\r\n },\r\n get isValid() {\r\n return NumberBoxProps.isValid\r\n },\r\n get inputAttr() {\r\n return NumberBoxProps.inputAttr\r\n },\r\n get className() {\r\n return NumberBoxProps.className\r\n },\r\n get activeStateEnabled() {\r\n return EditorStateProps.activeStateEnabled\r\n },\r\n get disabled() {\r\n return NumberBoxProps.disabled\r\n },\r\n get focusStateEnabled() {\r\n return EditorStateProps.focusStateEnabled\r\n },\r\n get hoverStateEnabled() {\r\n return EditorStateProps.hoverStateEnabled\r\n },\r\n get tabIndex() {\r\n return NumberBoxProps.tabIndex\r\n },\r\n get visible() {\r\n return NumberBoxProps.visible\r\n },\r\n get label() {\r\n return EditorLabelProps.label\r\n },\r\n get labelMode() {\r\n return EditorLabelProps.labelMode\r\n },\r\n isReactComponentWrapper: true\r\n};\r\nexport class NumberBox extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n value: void 0 !== this.props.value ? this.props.value : this.props.defaultValue\r\n }\r\n }\r\n get componentProps() {\r\n return _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n })\r\n }\r\n get restAttributes() {\r\n var _this$props$value = _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n restProps = _objectWithoutPropertiesLoose(_this$props$value, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n componentProps: this.componentProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nNumberBox.defaultProps = NumberBoxPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/utils/calculate_values_fitted_width.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var oneDigitWidth = 10;\r\nexport function calculateValuesFittedWidth(minWidth, values) {\r\n return minWidth + oneDigitWidth * Math.max(...values).toString().length\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pages/small.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"inputAttr\", \"pageCount\", \"pageIndex\", \"pageIndexChange\", \"pagesCountText\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n Page\r\n} from \"./page\";\r\nimport {\r\n PAGER_INFO_CLASS\r\n} from \"../info\";\r\nimport {\r\n NumberBox\r\n} from \"../../editors/number_box\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n calculateValuesFittedWidth\r\n} from \"../utils/calculate_values_fitted_width\";\r\nimport {\r\n getElementMinWidth\r\n} from \"../utils/get_element_width\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nvar PAGER_INFO_TEXT_CLASS = \"\".concat(PAGER_INFO_CLASS, \" dx-info-text\");\r\nvar PAGER_PAGE_INDEX_CLASS = \"dx-page-index\";\r\nvar LIGHT_PAGES_CLASS = \"dx-light-pages\";\r\nvar PAGER_PAGES_COUNT_CLASS = \"dx-pages-count\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n pageIndexRef: pageIndexRef,\r\n pagesCountText: pagesCountText,\r\n props: {\r\n inputAttr: inputAttr,\r\n pageCount: pageCount\r\n },\r\n selectLastPageIndex: selectLastPageIndex,\r\n value: value,\r\n valueChange: valueChange,\r\n width: width\r\n } = _ref;\r\n return createVNode(1, \"div\", LIGHT_PAGES_CLASS, [createComponentVNode(2, NumberBox, {\r\n className: PAGER_PAGE_INDEX_CLASS,\r\n min: 1,\r\n max: Math.max(pageCount, value),\r\n width: width,\r\n value: value,\r\n valueChange: valueChange,\r\n inputAttr: inputAttr\r\n }), createVNode(1, \"span\", PAGER_INFO_TEXT_CLASS, pagesCountText, 0), createComponentVNode(2, Page, {\r\n className: PAGER_PAGES_COUNT_CLASS,\r\n selected: false,\r\n index: pageCount - 1,\r\n onClick: selectLastPageIndex\r\n })], 4, null, null, pageIndexRef)\r\n};\r\nexport var PagerSmallProps = {\r\n inputAttr: Object.freeze({\r\n \"aria-label\": messageLocalization.format(\"dxPager-ariaPageNumber\")\r\n })\r\n};\r\nvar PagerSmallPropsType = {\r\n get pageIndex() {\r\n return InternalPagerProps.pageIndex\r\n },\r\n get pageCount() {\r\n return InternalPagerProps.pageCount\r\n },\r\n get inputAttr() {\r\n return PagerSmallProps.inputAttr\r\n }\r\n};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class PagesSmall extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.pageIndexRef = infernoCreateRef();\r\n this.state = {\r\n minWidth: 10\r\n };\r\n this.updateWidth = this.updateWidth.bind(this);\r\n this.selectLastPageIndex = this.selectLastPageIndex.bind(this);\r\n this.valueChange = this.valueChange.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.updateWidth, [this.state.minWidth])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.state.minWidth])\r\n }\r\n updateWidth() {\r\n var _this$pageIndexRef$cu;\r\n var el = null === (_this$pageIndexRef$cu = this.pageIndexRef.current) || void 0 === _this$pageIndexRef$cu ? void 0 : _this$pageIndexRef$cu.querySelector(\".\".concat(PAGER_PAGE_INDEX_CLASS));\r\n this.setState(__state_argument => ({\r\n minWidth: el && getElementMinWidth(el) || __state_argument.minWidth\r\n }))\r\n }\r\n get value() {\r\n return this.props.pageIndex + 1\r\n }\r\n get width() {\r\n var {\r\n pageCount: pageCount\r\n } = this.props;\r\n return calculateValuesFittedWidth(this.state.minWidth, [pageCount])\r\n }\r\n get pagesCountText() {\r\n var _this$props$pagesCoun;\r\n return (null !== (_this$props$pagesCoun = this.props.pagesCountText) && void 0 !== _this$props$pagesCoun ? _this$props$pagesCoun : \"\") || messageLocalization.getFormatter(\"dxPager-pagesCountText\")()\r\n }\r\n selectLastPageIndex() {\r\n this.props.pageIndexChange(this.props.pageCount - 1)\r\n }\r\n valueChange(value) {\r\n this.props.pageIndexChange(value - 1)\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n pageIndexRef: this.pageIndexRef,\r\n value: this.value,\r\n width: this.width,\r\n pagesCountText: this.pagesCountText,\r\n selectLastPageIndex: this.selectLastPageIndex,\r\n valueChange: this.valueChange,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPagesSmall.defaultProps = PagerSmallPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pages/page_index_selector.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"hasKnownLastPage\", \"isLargeDisplayMode\", \"maxPagesCount\", \"pageCount\", \"pageIndex\", \"pageIndexChange\", \"pagesCountText\", \"showNavigationButtons\", \"totalCount\"];\r\nimport {\r\n createFragment,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n LightButton\r\n} from \"../common/light_button\";\r\nimport {\r\n PagesLarge\r\n} from \"./large\";\r\nimport {\r\n PagesSmall\r\n} from \"./small\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nimport {\r\n ConfigContext\r\n} from \"../../../common/config_context\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nvar PAGER_NAVIGATE_BUTTON = \"dx-navigate-button\";\r\nvar PAGER_PREV_BUTTON_CLASS = \"dx-prev-button\";\r\nvar PAGER_NEXT_BUTTON_CLASS = \"dx-next-button\";\r\nexport var PAGER_BUTTON_DISABLE_CLASS = \"dx-button-disable\";\r\nvar getNextButtonLabel = () => messageLocalization.getFormatter(\"dxPager-nextPage\")();\r\nvar getPrevButtonLabel = () => messageLocalization.getFormatter(\"dxPager-prevPage\")();\r\nvar classNames = {\r\n nextEnabledClass: \"\".concat(PAGER_NAVIGATE_BUTTON, \" \").concat(PAGER_NEXT_BUTTON_CLASS),\r\n prevEnabledClass: \"\".concat(PAGER_NAVIGATE_BUTTON, \" \").concat(PAGER_PREV_BUTTON_CLASS),\r\n nextDisabledClass: \"\".concat(PAGER_BUTTON_DISABLE_CLASS, \" \").concat(PAGER_NAVIGATE_BUTTON, \" \").concat(PAGER_NEXT_BUTTON_CLASS),\r\n prevDisabledClass: \"\".concat(PAGER_BUTTON_DISABLE_CLASS, \" \").concat(PAGER_NAVIGATE_BUTTON, \" \").concat(PAGER_PREV_BUTTON_CLASS)\r\n};\r\nvar reverseDirections = {\r\n next: \"prev\",\r\n prev: \"next\"\r\n};\r\nexport var viewFunction = _ref => {\r\n var {\r\n nextButtonProps: nextButtonProps,\r\n pageIndexChange: pageIndexChange,\r\n prevButtonProps: prevButtonProps,\r\n props: {\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pagesCountText: pagesCountText\r\n },\r\n renderNextButton: renderNextButton,\r\n renderPrevButton: renderPrevButton\r\n } = _ref;\r\n return createFragment([renderPrevButton && createComponentVNode(2, LightButton, {\r\n label: getPrevButtonLabel(),\r\n className: prevButtonProps.className,\r\n tabIndex: prevButtonProps.tabIndex,\r\n onClick: prevButtonProps.navigate\r\n }), isLargeDisplayMode && createComponentVNode(2, PagesLarge, {\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange\r\n }), !isLargeDisplayMode && createComponentVNode(2, PagesSmall, {\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange,\r\n pagesCountText: pagesCountText\r\n }), renderNextButton && createComponentVNode(2, LightButton, {\r\n label: getNextButtonLabel(),\r\n className: nextButtonProps.className,\r\n tabIndex: nextButtonProps.tabIndex,\r\n onClick: nextButtonProps.navigate\r\n })], 0)\r\n};\r\n\r\nfunction getIncrement(direction) {\r\n return \"next\" === direction ? 1 : -1\r\n}\r\nexport var PageIndexSelectorProps = {\r\n isLargeDisplayMode: true\r\n};\r\nvar PageIndexSelectorPropsType = {\r\n get pageIndex() {\r\n return InternalPagerProps.pageIndex\r\n },\r\n get maxPagesCount() {\r\n return InternalPagerProps.maxPagesCount\r\n },\r\n get pageCount() {\r\n return InternalPagerProps.pageCount\r\n },\r\n get hasKnownLastPage() {\r\n return InternalPagerProps.hasKnownLastPage\r\n },\r\n get showNavigationButtons() {\r\n return InternalPagerProps.showNavigationButtons\r\n },\r\n get totalCount() {\r\n return InternalPagerProps.totalCount\r\n },\r\n get isLargeDisplayMode() {\r\n return PageIndexSelectorProps.isLargeDisplayMode\r\n }\r\n};\r\nexport class PageIndexSelector extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {};\r\n this.pageIndexChange = this.pageIndexChange.bind(this);\r\n this.getButtonProps = this.getButtonProps.bind(this);\r\n this.canNavigateToPage = this.canNavigateToPage.bind(this);\r\n this.getNextPageIndex = this.getNextPageIndex.bind(this);\r\n this.canNavigateTo = this.canNavigateTo.bind(this);\r\n this.navigateToPage = this.navigateToPage.bind(this)\r\n }\r\n get config() {\r\n if (this.context[ConfigContext.id]) {\r\n return this.context[ConfigContext.id]\r\n }\r\n return ConfigContext.defaultValue\r\n }\r\n pageIndexChange(pageIndex) {\r\n if (this.canNavigateToPage(pageIndex)) {\r\n this.props.pageIndexChange(pageIndex)\r\n }\r\n }\r\n getButtonProps(direction) {\r\n var _this$config;\r\n var rtlAwareDirection = null !== (_this$config = this.config) && void 0 !== _this$config && _this$config.rtlEnabled ? reverseDirections[direction] : direction;\r\n var canNavigate = this.canNavigateTo(rtlAwareDirection);\r\n var className = classNames[\"\".concat(direction).concat(canNavigate ? \"Enabled\" : \"Disabled\", \"Class\")];\r\n return {\r\n className: className,\r\n tabIndex: canNavigate ? 0 : -1,\r\n navigate: () => this.navigateToPage(rtlAwareDirection)\r\n }\r\n }\r\n canNavigateToPage(pageIndex) {\r\n if (!this.props.hasKnownLastPage) {\r\n return pageIndex >= 0\r\n }\r\n return pageIndex >= 0 && pageIndex <= this.props.pageCount - 1\r\n }\r\n getNextPageIndex(direction) {\r\n return this.props.pageIndex + getIncrement(direction)\r\n }\r\n canNavigateTo(direction) {\r\n return this.canNavigateToPage(this.getNextPageIndex(direction))\r\n }\r\n navigateToPage(direction) {\r\n this.pageIndexChange(this.getNextPageIndex(direction))\r\n }\r\n get renderPrevButton() {\r\n var {\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n showNavigationButtons: showNavigationButtons\r\n } = this.props;\r\n return !isLargeDisplayMode || showNavigationButtons\r\n }\r\n get renderNextButton() {\r\n return this.renderPrevButton || !this.props.hasKnownLastPage\r\n }\r\n get prevButtonProps() {\r\n if (void 0 !== this.__getterCache.prevButtonProps) {\r\n return this.__getterCache.prevButtonProps\r\n }\r\n return this.__getterCache.prevButtonProps = (() => this.getButtonProps(\"prev\"))()\r\n }\r\n get nextButtonProps() {\r\n if (void 0 !== this.__getterCache.nextButtonProps) {\r\n return this.__getterCache.nextButtonProps\r\n }\r\n return this.__getterCache.nextButtonProps = (() => this.getButtonProps(\"next\"))()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.context[ConfigContext.id] !== context[ConfigContext.id] || this.props.hasKnownLastPage !== nextProps.hasKnownLastPage || this.props.pageCount !== nextProps.pageCount || this.props.pageIndex !== nextProps.pageIndex || this.props.pageIndexChange !== nextProps.pageIndexChange) {\r\n this.__getterCache.prevButtonProps = void 0\r\n }\r\n if (this.context[ConfigContext.id] !== context[ConfigContext.id] || this.props.hasKnownLastPage !== nextProps.hasKnownLastPage || this.props.pageCount !== nextProps.pageCount || this.props.pageIndex !== nextProps.pageIndex || this.props.pageIndexChange !== nextProps.pageIndexChange) {\r\n this.__getterCache.nextButtonProps = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n config: this.config,\r\n pageIndexChange: this.pageIndexChange,\r\n renderPrevButton: this.renderPrevButton,\r\n renderNextButton: this.renderNextButton,\r\n prevButtonProps: this.prevButtonProps,\r\n nextButtonProps: this.nextButtonProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPageIndexSelector.defaultProps = PageIndexSelectorPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/drop_down_editors/select_box.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"className\", \"dataSource\", \"defaultValue\", \"disabled\", \"displayExpr\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"inputAttr\", \"isValid\", \"label\", \"labelMode\", \"name\", \"onClick\", \"onFocusIn\", \"onKeyDown\", \"placeholder\", \"readOnly\", \"rtlEnabled\", \"searchEnabled\", \"tabIndex\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"value\", \"valueChange\", \"valueExpr\", \"visible\", \"width\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport LegacySelectBox from \"../../../../ui/select_box\";\r\nimport {\r\n DomComponentWrapper\r\n} from \"../../common/dom_component_wrapper\";\r\nimport {\r\n EditorProps\r\n} from \"../common/editor\";\r\nimport {\r\n EditorStateProps\r\n} from \"../common/editor_state_props\";\r\nimport {\r\n EditorLabelProps\r\n} from \"../common/editor_label_props\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n componentProps: componentProps,\r\n restAttributes: restAttributes\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, DomComponentWrapper, _extends({\r\n componentType: LegacySelectBox,\r\n componentProps: componentProps,\r\n templateNames: [\"dropDownButtonTemplate\", \"groupTemplate\", \"itemTemplate\"]\r\n }, restAttributes)))\r\n};\r\nexport var SelectBoxProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(EditorProps), Object.getOwnPropertyDescriptors({\r\n placeholder: \"\",\r\n hoverStateEnabled: true,\r\n searchEnabled: false,\r\n defaultValue: null,\r\n isReactComponentWrapper: true\r\n})));\r\nexport var SelectBoxPropsType = {\r\n get placeholder() {\r\n return SelectBoxProps.placeholder\r\n },\r\n get hoverStateEnabled() {\r\n return EditorStateProps.hoverStateEnabled\r\n },\r\n get searchEnabled() {\r\n return SelectBoxProps.searchEnabled\r\n },\r\n get defaultValue() {\r\n return SelectBoxProps.defaultValue\r\n },\r\n get readOnly() {\r\n return SelectBoxProps.readOnly\r\n },\r\n get name() {\r\n return SelectBoxProps.name\r\n },\r\n get validationError() {\r\n return SelectBoxProps.validationError\r\n },\r\n get validationErrors() {\r\n return SelectBoxProps.validationErrors\r\n },\r\n get validationMessageMode() {\r\n return SelectBoxProps.validationMessageMode\r\n },\r\n get validationMessagePosition() {\r\n return SelectBoxProps.validationMessagePosition\r\n },\r\n get validationStatus() {\r\n return SelectBoxProps.validationStatus\r\n },\r\n get isValid() {\r\n return SelectBoxProps.isValid\r\n },\r\n get inputAttr() {\r\n return SelectBoxProps.inputAttr\r\n },\r\n get className() {\r\n return SelectBoxProps.className\r\n },\r\n get activeStateEnabled() {\r\n return EditorStateProps.activeStateEnabled\r\n },\r\n get disabled() {\r\n return SelectBoxProps.disabled\r\n },\r\n get focusStateEnabled() {\r\n return EditorStateProps.focusStateEnabled\r\n },\r\n get tabIndex() {\r\n return SelectBoxProps.tabIndex\r\n },\r\n get visible() {\r\n return SelectBoxProps.visible\r\n },\r\n get label() {\r\n return EditorLabelProps.label\r\n },\r\n get labelMode() {\r\n return EditorLabelProps.labelMode\r\n },\r\n isReactComponentWrapper: true\r\n};\r\nexport class SelectBox extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n value: void 0 !== this.props.value ? this.props.value : this.props.defaultValue\r\n }\r\n }\r\n get componentProps() {\r\n return _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n })\r\n }\r\n get restAttributes() {\r\n var _this$props$value = _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n restProps = _objectWithoutPropertiesLoose(_this$props$value, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n componentProps: this.componentProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nSelectBox.defaultProps = SelectBoxPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/page_size/small.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"inputAttr\", \"pageSize\", \"pageSizeChange\", \"pageSizes\", \"parentRef\"];\r\nimport {\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n SelectBox\r\n} from \"../../editors/drop_down_editors/select_box\";\r\nimport {\r\n calculateValuesFittedWidth\r\n} from \"../utils/calculate_values_fitted_width\";\r\nimport {\r\n getElementMinWidth\r\n} from \"../utils/get_element_width\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n inputAttr: inputAttr,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange,\r\n pageSizes: pageSizes\r\n },\r\n width: width\r\n } = _ref;\r\n return createComponentVNode(2, SelectBox, {\r\n displayExpr: \"text\",\r\n valueExpr: \"value\",\r\n dataSource: pageSizes,\r\n value: pageSize,\r\n valueChange: pageSizeChange,\r\n width: width,\r\n inputAttr: inputAttr\r\n })\r\n};\r\nexport var PageSizeSmallProps = {\r\n inputAttr: Object.freeze({\r\n \"aria-label\": messageLocalization.format(\"dxPager-ariaPageSize\")\r\n })\r\n};\r\nvar PageSizeSmallPropsType = {\r\n get pageSize() {\r\n return InternalPagerProps.pageSize\r\n },\r\n get inputAttr() {\r\n return PageSizeSmallProps.inputAttr\r\n }\r\n};\r\nexport class PageSizeSmall extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n minWidth: 10\r\n };\r\n this.updateWidth = this.updateWidth.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.updateWidth, [this.props, this.state.minWidth, this.props.pageSize, this.props.pageSizeChange, this.props.pageSizes, this.props.inputAttr])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props, this.state.minWidth, this.props.pageSize, this.props.pageSizeChange, this.props.pageSizes, this.props.inputAttr])\r\n }\r\n updateWidth() {\r\n this.setState(__state_argument => ({\r\n minWidth: getElementMinWidth(this.props.parentRef.current) || __state_argument.minWidth\r\n }))\r\n }\r\n get width() {\r\n return calculateValuesFittedWidth(this.state.minWidth, this.props.pageSizes.map(p => p.value))\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n width: this.width,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPageSizeSmall.defaultProps = PageSizeSmallPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/page_size/large.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"pageSize\", \"pageSizeChange\", \"pageSizes\"];\r\nimport {\r\n createFragment,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n combineClasses\r\n} from \"../../../utils/combine_classes\";\r\nimport {\r\n LightButton\r\n} from \"../common/light_button\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nimport {\r\n PAGER_SELECTED_PAGE_SIZE_CLASS,\r\n PAGER_PAGE_SIZE_CLASS,\r\n FIRST_CHILD_CLASS\r\n} from \"../common/consts\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n format\r\n} from \"../../../../core/utils/string\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n pageSizesText: pageSizesText\r\n } = _ref;\r\n return createFragment(pageSizesText.map(_ref2 => {\r\n var {\r\n className: className,\r\n click: click,\r\n label: label,\r\n text: text\r\n } = _ref2;\r\n return createComponentVNode(2, LightButton, {\r\n className: className,\r\n label: label,\r\n onClick: click,\r\n children: text\r\n }, text)\r\n }), 0)\r\n};\r\nexport var PageSizeLargeProps = {};\r\nvar PageSizeLargePropsType = {\r\n get pageSize() {\r\n return InternalPagerProps.pageSize\r\n }\r\n};\r\nexport class PageSizeLarge extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {};\r\n this.onPageSizeChange = this.onPageSizeChange.bind(this)\r\n }\r\n get pageSizesText() {\r\n if (void 0 !== this.__getterCache.pageSizesText) {\r\n return this.__getterCache.pageSizesText\r\n }\r\n return this.__getterCache.pageSizesText = (() => {\r\n var {\r\n pageSize: pageSize,\r\n pageSizes: pageSizes\r\n } = this.props;\r\n return pageSizes.map((_ref3, index) => {\r\n var {\r\n text: text,\r\n value: processedPageSize\r\n } = _ref3;\r\n var selected = processedPageSize === pageSize;\r\n var className = combineClasses({\r\n [selected ? PAGER_SELECTED_PAGE_SIZE_CLASS : PAGER_PAGE_SIZE_CLASS]: true,\r\n [FIRST_CHILD_CLASS]: 0 === index\r\n });\r\n return {\r\n className: className,\r\n click: this.onPageSizeChange(processedPageSize),\r\n label: format(messageLocalization.getFormatter(\"dxPager-pageSize\"), processedPageSize || messageLocalization.getFormatter(\"dxPager-pageSizesAllText\")),\r\n text: text\r\n }\r\n })\r\n })()\r\n }\r\n onPageSizeChange(processedPageSize) {\r\n return () => {\r\n this.props.pageSizeChange(processedPageSize);\r\n return this.props.pageSize\r\n }\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.props.pageSize !== nextProps.pageSize || this.props.pageSizes !== nextProps.pageSizes || this.props.pageSizeChange !== nextProps.pageSizeChange) {\r\n this.__getterCache.pageSizesText = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n pageSizesText: this.pageSizesText,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPageSizeLarge.defaultProps = PageSizeLargePropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/page_size/selector.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"isLargeDisplayMode\", \"pageSize\", \"pageSizeChange\", \"pageSizes\", \"rootElementRef\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n PageSizeSmall\r\n} from \"./small\";\r\nimport {\r\n PageSizeLarge\r\n} from \"./large\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n PAGER_PAGE_SIZES_CLASS\r\n} from \"../common/consts\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n htmlRef: htmlRef,\r\n normalizedPageSizes: normalizedPageSizes,\r\n props: {\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange\r\n }\r\n } = _ref;\r\n return createVNode(1, \"div\", PAGER_PAGE_SIZES_CLASS, [isLargeDisplayMode && createComponentVNode(2, PageSizeLarge, {\r\n pageSizes: normalizedPageSizes,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange\r\n }), !isLargeDisplayMode && createComponentVNode(2, PageSizeSmall, {\r\n parentRef: htmlRef,\r\n pageSizes: normalizedPageSizes,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange\r\n })], 0, null, null, htmlRef)\r\n};\r\n\r\nfunction getAllText() {\r\n return messageLocalization.getFormatter(\"dxPager-pageSizesAllText\")()\r\n}\r\nvar PageSizeSelectorProps = {\r\n isLargeDisplayMode: true\r\n};\r\nvar PageSizeSelectorPropsType = {\r\n get pageSize() {\r\n return InternalPagerProps.pageSize\r\n },\r\n get pageSizes() {\r\n return InternalPagerProps.pageSizes\r\n },\r\n get isLargeDisplayMode() {\r\n return PageSizeSelectorProps.isLargeDisplayMode\r\n }\r\n};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class PageSizeSelector extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.htmlRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.setRootElementRef = this.setRootElementRef.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.setRootElementRef, [])]\r\n }\r\n setRootElementRef() {\r\n var {\r\n rootElementRef: rootElementRef\r\n } = this.props;\r\n if (rootElementRef) {\r\n rootElementRef.current = this.htmlRef.current\r\n }\r\n }\r\n get normalizedPageSizes() {\r\n if (void 0 !== this.__getterCache.normalizedPageSizes) {\r\n return this.__getterCache.normalizedPageSizes\r\n }\r\n return this.__getterCache.normalizedPageSizes = (() => {\r\n var {\r\n pageSizes: pageSizes\r\n } = this.props;\r\n return pageSizes.map(p => \"all\" === p || 0 === p ? {\r\n text: getAllText(),\r\n value: 0\r\n } : {\r\n text: String(p),\r\n value: p\r\n })\r\n })()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.pageSizes !== nextProps.pageSizes) {\r\n this.__getterCache.normalizedPageSizes = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n htmlRef: this.htmlRef,\r\n normalizedPageSizes: this.normalizedPageSizes,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPageSizeSelector.defaultProps = PageSizeSelectorPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/content.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"className\", \"displayMode\", \"gridCompatibility\", \"hasKnownLastPage\", \"infoText\", \"infoTextRef\", \"infoTextVisible\", \"isLargeDisplayMode\", \"label\", \"lightModeEnabled\", \"maxPagesCount\", \"onKeyDown\", \"pageCount\", \"pageIndex\", \"pageIndexChange\", \"pageSize\", \"pageSizeChange\", \"pageSizes\", \"pageSizesRef\", \"pagesCountText\", \"pagesNavigatorVisible\", \"pagesRef\", \"rootElementRef\", \"rtlEnabled\", \"showInfo\", \"showNavigationButtons\", \"showPageSizes\", \"totalCount\", \"visible\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n InfoText\r\n} from \"./info\";\r\nimport {\r\n PageIndexSelector\r\n} from \"./pages/page_index_selector\";\r\nimport {\r\n PageSizeSelector\r\n} from \"./page_size/selector\";\r\nimport {\r\n PAGER_PAGES_CLASS,\r\n PAGER_PAGE_INDEXES_CLASS,\r\n LIGHT_MODE_CLASS,\r\n PAGER_CLASS\r\n} from \"./common/consts\";\r\nimport {\r\n InternalPagerProps\r\n} from \"./common/pager_props\";\r\nimport {\r\n combineClasses\r\n} from \"../../utils/combine_classes\";\r\nimport {\r\n Widget\r\n} from \"../common/widget\";\r\nimport {\r\n registerKeyboardAction as _registerKeyboardAction\r\n} from \"../../../ui/shared/accessibility\";\r\nimport {\r\n KeyboardActionContext\r\n} from \"./common/keyboard_action_context\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n aria: aria,\r\n classes: classes,\r\n infoVisible: infoVisible,\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n pageIndexSelectorVisible: pageIndexSelectorVisible,\r\n pagesContainerVisibility: pagesContainerVisibility,\r\n pagesContainerVisible: pagesContainerVisible,\r\n props: {\r\n hasKnownLastPage: hasKnownLastPage,\r\n infoText: infoText,\r\n infoTextRef: infoTextRef,\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange,\r\n pageSizes: pageSizes,\r\n pageSizesRef: pageSizesRef,\r\n pagesCountText: pagesCountText,\r\n pagesRef: pagesRef,\r\n rtlEnabled: rtlEnabled,\r\n showNavigationButtons: showNavigationButtons,\r\n showPageSizes: showPageSizes,\r\n totalCount: totalCount,\r\n visible: visible\r\n },\r\n restAttributes: restAttributes,\r\n widgetRootElementRef: widgetRootElementRef\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, Widget, _extends({\r\n rootElementRef: widgetRootElementRef,\r\n rtlEnabled: rtlEnabled,\r\n classes: classes,\r\n visible: visible,\r\n aria: aria\r\n }, restAttributes, {\r\n children: [showPageSizes && createComponentVNode(2, PageSizeSelector, {\r\n rootElementRef: pageSizesRef,\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange,\r\n pageSizes: pageSizes\r\n }), pagesContainerVisible && createVNode(1, \"div\", PAGER_PAGES_CLASS, [infoVisible && createComponentVNode(2, InfoText, {\r\n rootElementRef: infoTextRef,\r\n infoText: infoText,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n totalCount: totalCount\r\n }), pageIndexSelectorVisible && createVNode(1, \"div\", PAGER_PAGE_INDEXES_CLASS, createComponentVNode(2, PageIndexSelector, {\r\n hasKnownLastPage: hasKnownLastPage,\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange,\r\n pagesCountText: pagesCountText,\r\n showNavigationButtons: showNavigationButtons,\r\n totalCount: totalCount\r\n }), 2, null, null, pagesRef)], 0, {\r\n style: normalizeStyles({\r\n visibility: pagesContainerVisibility\r\n })\r\n })]\r\n })))\r\n};\r\nexport var PagerContentProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(InternalPagerProps), Object.getOwnPropertyDescriptors({\r\n infoTextVisible: true,\r\n isLargeDisplayMode: true\r\n})));\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class PagerContent extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.widgetRootElementRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.setRootElementRef = this.setRootElementRef.bind(this);\r\n this.createFakeInstance = this.createFakeInstance.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.setRootElementRef, [])]\r\n }\r\n getChildContext() {\r\n return _extends({}, this.context, {\r\n [KeyboardActionContext.id]: this.keyboardAction || KeyboardActionContext.defaultValue\r\n })\r\n }\r\n setRootElementRef() {\r\n var {\r\n rootElementRef: rootElementRef\r\n } = this.props;\r\n if (rootElementRef) {\r\n rootElementRef.current = this.widgetRootElementRef.current\r\n }\r\n }\r\n createFakeInstance() {\r\n return {\r\n option: () => false,\r\n element: () => this.widgetRootElementRef.current,\r\n _createActionByOption: () => e => {\r\n var _this$props$onKeyDown, _this$props;\r\n null === (_this$props$onKeyDown = (_this$props = this.props).onKeyDown) || void 0 === _this$props$onKeyDown ? void 0 : _this$props$onKeyDown.call(_this$props, e)\r\n }\r\n }\r\n }\r\n get keyboardAction() {\r\n if (void 0 !== this.__getterCache.keyboardAction) {\r\n return this.__getterCache.keyboardAction\r\n }\r\n return this.__getterCache.keyboardAction = (() => ({\r\n registerKeyboardAction: (element, action) => {\r\n var fakePagerInstance = this.createFakeInstance();\r\n return _registerKeyboardAction(\"pager\", fakePagerInstance, element, void 0, action)\r\n }\r\n }))()\r\n }\r\n get infoVisible() {\r\n var {\r\n infoTextVisible: infoTextVisible,\r\n showInfo: showInfo\r\n } = this.props;\r\n return showInfo && infoTextVisible\r\n }\r\n get pageIndexSelectorVisible() {\r\n return 0 !== this.props.pageSize\r\n }\r\n get normalizedDisplayMode() {\r\n var {\r\n displayMode: displayMode,\r\n lightModeEnabled: lightModeEnabled\r\n } = this.props;\r\n if (\"adaptive\" === displayMode && void 0 !== lightModeEnabled) {\r\n return lightModeEnabled ? \"compact\" : \"full\"\r\n }\r\n return displayMode\r\n }\r\n get pagesContainerVisible() {\r\n return !!this.props.pagesNavigatorVisible && this.props.pageCount > 0\r\n }\r\n get pagesContainerVisibility() {\r\n if (\"auto\" === this.props.pagesNavigatorVisible && 1 === this.props.pageCount && this.props.hasKnownLastPage) {\r\n return \"hidden\"\r\n }\r\n return\r\n }\r\n get isLargeDisplayMode() {\r\n var displayMode = this.normalizedDisplayMode;\r\n var result = false;\r\n if (\"adaptive\" === displayMode) {\r\n result = this.props.isLargeDisplayMode\r\n } else {\r\n result = \"full\" === displayMode\r\n }\r\n return result\r\n }\r\n get classes() {\r\n var classesMap = {\r\n [\"\".concat(this.props.className)]: !!this.props.className,\r\n [PAGER_CLASS]: true,\r\n [LIGHT_MODE_CLASS]: !this.isLargeDisplayMode\r\n };\r\n return combineClasses(classesMap)\r\n }\r\n get aria() {\r\n return {\r\n role: \"navigation\",\r\n label: this.props.label\r\n }\r\n }\r\n get restAttributes() {\r\n var _this$props2 = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props2, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.onKeyDown !== nextProps.onKeyDown) {\r\n this.__getterCache.keyboardAction = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n widgetRootElementRef: this.widgetRootElementRef,\r\n keyboardAction: this.keyboardAction,\r\n infoVisible: this.infoVisible,\r\n pageIndexSelectorVisible: this.pageIndexSelectorVisible,\r\n pagesContainerVisible: this.pagesContainerVisible,\r\n pagesContainerVisibility: this.pagesContainerVisibility,\r\n isLargeDisplayMode: this.isLargeDisplayMode,\r\n classes: this.classes,\r\n aria: this.aria,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPagerContent.defaultProps = PagerContentProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pager.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"className\", \"defaultPageIndex\", \"defaultPageSize\", \"displayMode\", \"gridCompatibility\", \"hasKnownLastPage\", \"infoText\", \"label\", \"lightModeEnabled\", \"maxPagesCount\", \"onKeyDown\", \"pageCount\", \"pageIndex\", \"pageIndexChange\", \"pageSize\", \"pageSizeChange\", \"pageSizes\", \"pagesCountText\", \"pagesNavigatorVisible\", \"rtlEnabled\", \"showInfo\", \"showNavigationButtons\", \"showPageSizes\", \"totalCount\", \"visible\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n ResizableContainer\r\n} from \"./resizable_container\";\r\nimport {\r\n PagerProps\r\n} from \"./common/pager_props\";\r\nimport {\r\n PagerContent\r\n} from \"./content\";\r\nimport {\r\n combineClasses\r\n} from \"../../utils/combine_classes\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n pagerProps: pagerProps,\r\n restAttributes: restAttributes\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, ResizableContainer, _extends({\r\n contentTemplate: PagerContent,\r\n pagerProps: pagerProps\r\n }, restAttributes)))\r\n};\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nexport class Pager extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.__getterCache = {};\r\n this.state = {\r\n pageSize: void 0 !== this.props.pageSize ? this.props.pageSize : this.props.defaultPageSize,\r\n pageIndex: void 0 !== this.props.pageIndex ? this.props.pageIndex : this.props.defaultPageIndex\r\n };\r\n this.pageIndexChange = this.pageIndexChange.bind(this);\r\n this.pageSizeChange = this.pageSizeChange.bind(this)\r\n }\r\n createEffects() {\r\n return [createReRenderEffect()]\r\n }\r\n pageIndexChange(newPageIndex) {\r\n if (this.props.gridCompatibility) {\r\n var __newValue;\r\n this.setState(__state_argument => {\r\n __newValue = newPageIndex + 1;\r\n return {\r\n pageIndex: __newValue\r\n }\r\n });\r\n this.props.pageIndexChange(__newValue)\r\n } else {\r\n var _newValue;\r\n this.setState(__state_argument => {\r\n _newValue = newPageIndex;\r\n return {\r\n pageIndex: _newValue\r\n }\r\n });\r\n this.props.pageIndexChange(_newValue)\r\n }\r\n }\r\n get pageIndex() {\r\n if (this.props.gridCompatibility) {\r\n return (void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex) - 1\r\n }\r\n return void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex\r\n }\r\n pageSizeChange(newPageSize) {\r\n var __newValue;\r\n this.setState(__state_argument => {\r\n __newValue = newPageSize;\r\n return {\r\n pageSize: __newValue\r\n }\r\n });\r\n this.props.pageSizeChange(__newValue)\r\n }\r\n get className() {\r\n if (this.props.gridCompatibility) {\r\n return combineClasses({\r\n \"dx-datagrid-pager\": true,\r\n [\"\".concat(this.props.className)]: !!this.props.className\r\n })\r\n }\r\n return this.props.className\r\n }\r\n get pagerProps() {\r\n if (void 0 !== this.__getterCache.pagerProps) {\r\n return this.__getterCache.pagerProps\r\n }\r\n return this.__getterCache.pagerProps = (() => _extends({}, _extends({}, this.props, {\r\n pageSize: void 0 !== this.props.pageSize ? this.props.pageSize : this.state.pageSize,\r\n pageIndex: void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex\r\n }), {\r\n className: this.className,\r\n pageIndex: this.pageIndex,\r\n pageIndexChange: pageIndex => this.pageIndexChange(pageIndex),\r\n pageSizeChange: pageSize => this.pageSizeChange(pageSize)\r\n }))()\r\n }\r\n get restAttributes() {\r\n var _this$props$pageSize$ = _extends({}, this.props, {\r\n pageSize: void 0 !== this.props.pageSize ? this.props.pageSize : this.state.pageSize,\r\n pageIndex: void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex\r\n }),\r\n restProps = _objectWithoutPropertiesLoose(_this$props$pageSize$, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props !== nextProps || this.props.gridCompatibility !== nextProps.gridCompatibility || this.props.className !== nextProps.className || this.state.pageIndex !== nextState.pageIndex || this.props.pageIndex !== nextProps.pageIndex || this.props.pageIndexChange !== nextProps.pageIndexChange || this.props.pageSizeChange !== nextProps.pageSizeChange) {\r\n this.__getterCache.pagerProps = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n pageSize: void 0 !== this.props.pageSize ? this.props.pageSize : this.state.pageSize,\r\n pageIndex: void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex\r\n }),\r\n pageIndexChange: this.pageIndexChange,\r\n pageIndex: this.pageIndex,\r\n pageSizeChange: this.pageSizeChange,\r\n className: this.className,\r\n pagerProps: this.pagerProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPager.defaultProps = PagerProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pager.j.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport {\r\n GridPagerWrapper\r\n} from \"../../component_wrapper/grid_pager\";\r\nimport {\r\n Pager as PagerComponent\r\n} from \"./pager\";\r\nexport default class Pager extends GridPagerWrapper {\r\n getProps() {\r\n var props = super.getProps();\r\n props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown);\r\n return props\r\n }\r\n get _propsInfo() {\r\n return {\r\n twoWay: [\r\n [\"pageSize\", \"defaultPageSize\", \"pageSizeChange\"],\r\n [\"pageIndex\", \"defaultPageIndex\", \"pageIndexChange\"]\r\n ],\r\n allowNull: [],\r\n elements: [],\r\n templates: [],\r\n props: [\"defaultPageSize\", \"pageSizeChange\", \"defaultPageIndex\", \"pageIndexChange\", \"gridCompatibility\", \"className\", \"showInfo\", \"infoText\", \"lightModeEnabled\", \"displayMode\", \"maxPagesCount\", \"pageCount\", \"pagesCountText\", \"visible\", \"hasKnownLastPage\", \"pagesNavigatorVisible\", \"showPageSizes\", \"pageSizes\", \"rtlEnabled\", \"showNavigationButtons\", \"totalCount\", \"label\", \"onKeyDown\", \"pageSize\", \"pageIndex\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return PagerComponent\r\n }\r\n}\r\nregisterComponent(\"dxPager\", Pager);\r\n","/**\r\n * DevExtreme (esm/ui/pager.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Widget from \"../renovation/ui/pager/pager.j\";\r\nexport default Widget;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/pager/m_pager.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Pager from \"../../../../ui/pager\";\r\nimport modules from \"../m_modules\";\r\nvar PAGER_CLASS = \"pager\";\r\nvar MAX_PAGES_COUNT = 10;\r\nvar getPageIndex = function(dataController) {\r\n return 1 + (parseInt(dataController.pageIndex()) || 0)\r\n};\r\nexport class PagerView extends modules.View {\r\n init() {\r\n var dataController = this.getController(\"data\");\r\n dataController.changed.add(e => {\r\n if (e && e.repaintChangesOnly) {\r\n var pager = this._pager;\r\n if (pager) {\r\n pager.option({\r\n pageIndex: getPageIndex(dataController),\r\n pageSize: dataController.pageSize(),\r\n pageCount: dataController.pageCount(),\r\n totalCount: dataController.totalCount(),\r\n hasKnownLastPage: dataController.hasKnownLastPage()\r\n })\r\n } else {\r\n this.render()\r\n }\r\n } else if (!e || \"update\" !== e.changeType && \"updateSelection\" !== e.changeType && \"updateFocusedRow\" !== e.changeType) {\r\n this._pager = null;\r\n this.render()\r\n }\r\n })\r\n }\r\n dispose() {\r\n this._pager = null\r\n }\r\n optionChanged(args) {\r\n var {\r\n name: name\r\n } = args;\r\n var isPager = \"pager\" === name;\r\n var isPaging = \"paging\" === name;\r\n var isDataSource = \"dataSource\" === name;\r\n var isScrolling = \"scrolling\" === name;\r\n var dataController = this.getController(\"data\");\r\n if (isPager || isPaging || isScrolling || isDataSource) {\r\n args.handled = true;\r\n if (dataController.skipProcessingPagingChange(args.fullName)) {\r\n return\r\n }\r\n if (isPager || isPaging) {\r\n this._pageSizes = null\r\n }\r\n if (!isDataSource) {\r\n this._pager = null;\r\n this._invalidate();\r\n if (hasWindow() && isPager && this.component) {\r\n this.component.resize()\r\n }\r\n }\r\n }\r\n }\r\n _renderCore() {\r\n var _a;\r\n var $element = this.element().addClass(this.addWidgetPrefix(PAGER_CLASS));\r\n var pagerOptions = null !== (_a = this.option(\"pager\")) && void 0 !== _a ? _a : {};\r\n var dataController = this.getController(\"data\");\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var options = {\r\n maxPagesCount: MAX_PAGES_COUNT,\r\n pageIndex: getPageIndex(dataController),\r\n pageCount: dataController.pageCount(),\r\n pageSize: dataController.pageSize(),\r\n showPageSizes: pagerOptions.showPageSizeSelector,\r\n showInfo: pagerOptions.showInfo,\r\n displayMode: pagerOptions.displayMode,\r\n pagesNavigatorVisible: pagerOptions.visible,\r\n showNavigationButtons: pagerOptions.showNavigationButtons,\r\n label: pagerOptions.label,\r\n pageSizes: this.getPageSizes(),\r\n totalCount: dataController.totalCount(),\r\n hasKnownLastPage: dataController.hasKnownLastPage(),\r\n pageIndexChanged(pageIndex) {\r\n if (dataController.pageIndex() !== pageIndex - 1) {\r\n dataController.pageIndex(pageIndex - 1)\r\n }\r\n },\r\n pageSizeChanged(pageSize) {\r\n dataController.pageSize(pageSize)\r\n },\r\n onKeyDown: e => keyboardController && keyboardController.executeAction(\"onKeyDown\", e),\r\n useLegacyKeyboardNavigation: this.option(\"useLegacyKeyboardNavigation\"),\r\n useKeyboard: this.option(\"keyboardNavigation.enabled\")\r\n };\r\n if (isDefined(pagerOptions.infoText)) {\r\n options.infoText = pagerOptions.infoText\r\n }\r\n if (this._pager) {\r\n this._pager.repaint();\r\n return\r\n }\r\n if (hasWindow()) {\r\n this._pager = this._createComponent($element, Pager, options)\r\n } else {\r\n $element.addClass(\"dx-pager\").html('<div class=\"dx-pages\"><div class=\"dx-page\"></div></div>')\r\n }\r\n }\r\n getPager() {\r\n return this._pager\r\n }\r\n getPageSizes() {\r\n var dataController = this.getController(\"data\");\r\n var pagerOptions = this.option(\"pager\");\r\n var allowedPageSizes = pagerOptions && pagerOptions.allowedPageSizes;\r\n var pageSize = dataController.pageSize();\r\n if (!isDefined(this._pageSizes) || !this._pageSizes.includes(pageSize)) {\r\n this._pageSizes = [];\r\n if (pagerOptions) {\r\n if (Array.isArray(allowedPageSizes)) {\r\n this._pageSizes = allowedPageSizes\r\n } else if (allowedPageSizes && pageSize > 1) {\r\n this._pageSizes = [Math.floor(pageSize / 2), pageSize, 2 * pageSize]\r\n }\r\n }\r\n }\r\n return this._pageSizes\r\n }\r\n isVisible() {\r\n var dataController = this.getController(\"data\");\r\n var pagerOptions = this.option(\"pager\");\r\n var pagerVisible = pagerOptions && pagerOptions.visible;\r\n var scrolling = this.option(\"scrolling\");\r\n if (\"auto\" === pagerVisible) {\r\n if (scrolling && (\"virtual\" === scrolling.mode || \"infinite\" === scrolling.mode)) {\r\n pagerVisible = false\r\n } else {\r\n pagerVisible = dataController.pageCount() > 1 || dataController.isLoaded() && !dataController.hasKnownLastPage()\r\n }\r\n }\r\n return !!pagerVisible\r\n }\r\n getHeight() {\r\n return this.getElementHeight()\r\n }\r\n}\r\nexport var pagerModule = {\r\n defaultOptions: () => ({\r\n pager: {\r\n visible: \"auto\",\r\n showPageSizeSelector: false,\r\n allowedPageSizes: \"auto\",\r\n label: messageLocalization.format(\"dxPager-ariaLabel\")\r\n }\r\n }),\r\n views: {\r\n pagerView: PagerView\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/pager.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n pagerModule\r\n} from \"../../../grids/grid_core/pager/m_pager\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"pager\", pagerModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport fx from \"../../../../animation/fx\";\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport Callbacks from \"../../../../core/utils/callbacks\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getWidth,\r\n setHeight,\r\n setWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined,\r\n isObject,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n end as dragEventEnd,\r\n move as dragEventMove,\r\n start as dragEventStart\r\n} from \"../../../../events/drag\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n addNamespace,\r\n eventData as getEventData,\r\n isTouchEvent\r\n} from \"../../../../events/utils/index\";\r\nimport swatchContainer from \"../../../../ui/widget/swatch_container\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar COLUMNS_SEPARATOR_CLASS = \"columns-separator\";\r\nvar COLUMNS_SEPARATOR_TRANSPARENT = \"columns-separator-transparent\";\r\nvar DRAGGING_HEADER_CLASS = \"drag-header\";\r\nvar CELL_CONTENT_CLASS = \"text-content\";\r\nvar HEADERS_DRAG_ACTION_CLASS = \"drag-action\";\r\nvar TRACKER_CLASS = \"tracker\";\r\nvar HEADERS_DROP_HIGHLIGHT_CLASS = \"drop-highlight\";\r\nvar BLOCK_SEPARATOR_CLASS = \"dx-block-separator\";\r\nvar HEADER_ROW_CLASS = \"dx-header-row\";\r\nvar WIDGET_CLASS = \"dx-widget\";\r\nvar DRAGGING_COMMAND_CELL_CLASS = \"dx-drag-command-cell\";\r\nvar MODULE_NAMESPACE = \"dxDataGridResizingReordering\";\r\nvar COLUMNS_SEPARATOR_TOUCH_TRACKER_WIDTH = 10;\r\nvar DRAGGING_DELTA = 5;\r\nvar COLUMN_OPACITY = .5;\r\nvar allowResizing = function(that) {\r\n return that.option(\"allowColumnResizing\") || that.getController(\"columns\").isColumnOptionUsed(\"allowResizing\")\r\n};\r\nvar allowReordering = function(that) {\r\n return that.option(\"allowColumnReordering\") || that.getController(\"columns\").isColumnOptionUsed(\"allowReordering\")\r\n};\r\nexport class TrackerView extends modules.View {\r\n init() {\r\n super.init();\r\n this._tablePositionController = this.getController(\"tablePosition\");\r\n this._subscribeToCallback()\r\n }\r\n dispose() {\r\n this._unsubscribeFromCallback();\r\n super.dispose()\r\n }\r\n optionChanged(args) {\r\n if (\"allowColumnResizing\" === args.name) {\r\n this._unsubscribeFromCallback();\r\n if (args.value) {\r\n this._subscribeToCallback();\r\n this._invalidate()\r\n }\r\n }\r\n super.optionChanged(args)\r\n }\r\n _renderCore() {\r\n var deferred = super._renderCore();\r\n this.element().addClass(this.addWidgetPrefix(TRACKER_CLASS));\r\n this.hide();\r\n return deferred\r\n }\r\n _unsubscribeFromCallback() {\r\n if (this._positionChanged) {\r\n this._tablePositionController.positionChanged.remove(this._positionChanged)\r\n }\r\n }\r\n _subscribeToCallback() {\r\n var that = this;\r\n that._positionChanged = function(position) {\r\n var $element = that.element();\r\n if ($element && $element.hasClass(that.addWidgetPrefix(TRACKER_CLASS))) {\r\n $element.css({\r\n top: position.top\r\n });\r\n setHeight($element, position.height)\r\n }\r\n };\r\n this._tablePositionController.positionChanged.add(that._positionChanged)\r\n }\r\n isVisible() {\r\n return allowResizing(this)\r\n }\r\n show() {\r\n this.element().show()\r\n }\r\n hide() {\r\n this.element() && this.element().hide()\r\n }\r\n setHeight(value) {\r\n setHeight(this.element(), value)\r\n }\r\n}\r\nexport class SeparatorView extends modules.View {\r\n _renderSeparator() {}\r\n _renderCore(options) {\r\n var deferred = super._renderCore(options);\r\n this._isShown = true;\r\n this._renderSeparator();\r\n this.hide();\r\n return deferred\r\n }\r\n show() {\r\n this._isShown = true\r\n }\r\n hide() {\r\n this._isShown = false\r\n }\r\n height(value) {\r\n var $element = this.element();\r\n if ($element) {\r\n if (isDefined(value)) {\r\n setHeight($element, value)\r\n } else {\r\n return getHeight($element)\r\n }\r\n }\r\n }\r\n width(value) {\r\n var $element = this.element();\r\n if ($element) {\r\n if (isDefined(value)) {\r\n setWidth($element, value)\r\n } else {\r\n return getWidth($element)\r\n }\r\n }\r\n }\r\n}\r\nexport class ColumnsSeparatorView extends SeparatorView {\r\n init() {\r\n super.init();\r\n this._tablePositionController = this.getController(\"tablePosition\");\r\n this._init()\r\n }\r\n dispose() {\r\n this._unsubscribeFromCallback();\r\n super.dispose()\r\n }\r\n optionChanged(args) {\r\n if (\"allowColumnResizing\" === args.name) {\r\n if (args.value) {\r\n this._init();\r\n this._invalidate();\r\n this.hide(true)\r\n } else {\r\n this._unsubscribeFromCallback();\r\n this._isTransparent = allowResizing(this);\r\n this.hide(true)\r\n }\r\n }\r\n super.optionChanged(args)\r\n }\r\n _renderSeparator() {\r\n super._renderSeparator();\r\n var $element = this.element();\r\n $element.addClass(this.addWidgetPrefix(COLUMNS_SEPARATOR_CLASS))\r\n }\r\n _subscribeToCallback() {\r\n var that = this;\r\n var $element;\r\n that._positionChanged = function(position) {\r\n $element = that.element();\r\n if ($element) {\r\n $element.css({\r\n top: position.top\r\n });\r\n setHeight($element, position.height)\r\n }\r\n };\r\n that._tablePositionController.positionChanged.add(that._positionChanged)\r\n }\r\n _unsubscribeFromCallback() {\r\n this._positionChanged && this._tablePositionController.positionChanged.remove(this._positionChanged)\r\n }\r\n _init() {\r\n this._isTransparent = allowResizing(this);\r\n if (this.isVisible()) {\r\n this._subscribeToCallback()\r\n }\r\n }\r\n isVisible() {\r\n return this.option(\"showColumnHeaders\") && (allowReordering(this) || allowResizing(this))\r\n }\r\n show() {\r\n var $element = this.element();\r\n if ($element && !this._isShown) {\r\n if (this._isTransparent) {\r\n $element.removeClass(this.addWidgetPrefix(COLUMNS_SEPARATOR_TRANSPARENT))\r\n } else {\r\n $element.show()\r\n }\r\n }\r\n super.show()\r\n }\r\n hide(force) {\r\n var $element = this.element();\r\n var columnsSeparatorTransparent = this.addWidgetPrefix(COLUMNS_SEPARATOR_TRANSPARENT);\r\n if ($element && (this._isShown || force)) {\r\n if (this._isTransparent) {\r\n $element.addClass(columnsSeparatorTransparent);\r\n $element.css(\"left\", \"\");\r\n $element.show()\r\n } else {\r\n if ($element.hasClass(columnsSeparatorTransparent)) {\r\n $element.removeClass(columnsSeparatorTransparent)\r\n }\r\n $element.hide()\r\n }\r\n }\r\n super.hide()\r\n }\r\n moveByX(outerX) {\r\n var $element = this.element();\r\n if ($element) {\r\n $element.css(\"left\", null === outerX ? 0 : outerX - this._parentElement().offset().left)\r\n }\r\n }\r\n changeCursor(cursorName) {\r\n cursorName = isDefined(cursorName) ? cursorName : \"\";\r\n var $element = this.element();\r\n if ($element) {\r\n $element.css(\"cursor\", cursorName)\r\n }\r\n }\r\n}\r\nexport class BlockSeparatorView extends SeparatorView {\r\n init() {\r\n super.init();\r\n var dataController = this.getController(\"data\");\r\n dataController.loadingChanged.add(isLoading => {\r\n if (!isLoading) {\r\n this.hide()\r\n }\r\n })\r\n }\r\n _renderSeparator() {\r\n super._renderSeparator();\r\n this.element().addClass(BLOCK_SEPARATOR_CLASS).html(\" \")\r\n }\r\n hide() {\r\n var $parent = this._parentElement();\r\n var $element = this.element();\r\n if ($element && this._isShown) {\r\n $element.css(\"display\", \"none\")\r\n }\r\n if ($parent && !$parent.children(\".\".concat(BLOCK_SEPARATOR_CLASS)).length) {\r\n $parent.prepend(this.element())\r\n }\r\n super.hide()\r\n }\r\n isVisible() {\r\n var groupPanelOptions = this.option(\"groupPanel\");\r\n var columnChooserOptions = this.option(\"columnChooser\");\r\n return groupPanelOptions && groupPanelOptions.visible || columnChooserOptions && columnChooserOptions.enabled\r\n }\r\n show(targetLocation) {\r\n var $element = this.element();\r\n var startAnimate = function(toOptions) {\r\n fx.stop($element, true);\r\n fx.animate($element, {\r\n type: \"slide\",\r\n from: {\r\n width: 0,\r\n display: toOptions.display\r\n },\r\n to: toOptions,\r\n duration: 300,\r\n easing: \"swing\"\r\n })\r\n };\r\n if ($element && !this._isShown) {\r\n switch (targetLocation) {\r\n case \"group\":\r\n startAnimate({\r\n width: \"50px\",\r\n display: \"inline-block\"\r\n });\r\n break;\r\n case \"columnChooser\":\r\n startAnimate({\r\n width: \"100%\",\r\n display: \"block\"\r\n });\r\n break;\r\n default:\r\n $element.css(\"display\", \"\")\r\n }\r\n }\r\n super.show()\r\n }\r\n}\r\nexport class DraggingHeaderView extends modules.View {\r\n init() {\r\n super.init();\r\n var dataController = this.getController(\"data\");\r\n this._controller = this.getController(\"draggingHeader\");\r\n this._columnsResizerViewController = this.getController(\"columnsResizer\");\r\n this._columnsController = this.getController(\"columns\");\r\n this._isDragging = false;\r\n dataController.loadingChanged.add(isLoading => {\r\n var element = this.element();\r\n if (!isLoading && element) {\r\n element.hide()\r\n }\r\n })\r\n }\r\n isDragging() {\r\n return this._isDragging\r\n }\r\n _getDraggingPanelByPos(pos) {\r\n var result;\r\n each(this._dragOptions.draggingPanels, (index, draggingPanel) => {\r\n if (draggingPanel) {\r\n var boundingRect = draggingPanel.getBoundingRect();\r\n if (boundingRect && (void 0 === boundingRect.bottom || pos.y < boundingRect.bottom) && (void 0 === boundingRect.top || pos.y > boundingRect.top) && (void 0 === boundingRect.left || pos.x > boundingRect.left) && (void 0 === boundingRect.right || pos.x < boundingRect.right)) {\r\n result = draggingPanel;\r\n return false\r\n }\r\n }\r\n return\r\n });\r\n return result\r\n }\r\n _renderCore() {\r\n this.element().addClass(\"\".concat(this.addWidgetPrefix(DRAGGING_HEADER_CLASS), \" \").concat(this.addWidgetPrefix(CELL_CONTENT_CLASS), \" \").concat(WIDGET_CLASS)).hide()\r\n }\r\n _resetTargetColumnOptions() {\r\n var params = this._dropOptions;\r\n params.targetColumnIndex = -1;\r\n delete params.targetColumnElement;\r\n delete params.isLast;\r\n delete params.posX;\r\n delete params.posY\r\n }\r\n _getVisibleIndexObject(rowIndex, visibleIndex) {\r\n if (isDefined(rowIndex)) {\r\n return {\r\n columnIndex: visibleIndex,\r\n rowIndex: rowIndex\r\n }\r\n }\r\n return visibleIndex\r\n }\r\n dispose() {\r\n var element = this.element();\r\n this._dragOptions = null;\r\n element && element.parent().find(\".\".concat(this.addWidgetPrefix(DRAGGING_HEADER_CLASS))).remove()\r\n }\r\n isVisible() {\r\n var commonColumnSettings = this._columnsController.getCommonSettings();\r\n return this.option(\"showColumnHeaders\") && (allowReordering(this) || commonColumnSettings.allowGrouping || commonColumnSettings.allowHiding)\r\n }\r\n dragHeader(options) {\r\n var {\r\n columnElement: columnElement\r\n } = options;\r\n var isCommandColumn = !!options.sourceColumn.type;\r\n this._isDragging = true;\r\n this._dragOptions = options;\r\n this._dropOptions = {\r\n sourceIndex: options.index,\r\n sourceColumnIndex: this._getVisibleIndexObject(options.rowIndex, options.columnIndex),\r\n sourceColumnElement: options.columnElement,\r\n sourceLocation: options.sourceLocation\r\n };\r\n var document = domAdapter.getDocument();\r\n this._onSelectStart = document.onselectstart;\r\n document.onselectstart = function() {\r\n return false\r\n };\r\n this._controller.drag(this._dropOptions);\r\n this.element().css({\r\n textAlign: columnElement && columnElement.css(\"textAlign\"),\r\n height: columnElement && (isCommandColumn && columnElement.get(0).clientHeight || getHeight(columnElement)),\r\n width: columnElement && (isCommandColumn && columnElement.get(0).clientWidth || getWidth(columnElement)),\r\n whiteSpace: columnElement && columnElement.css(\"whiteSpace\")\r\n }).addClass(this.addWidgetPrefix(HEADERS_DRAG_ACTION_CLASS)).toggleClass(DRAGGING_COMMAND_CELL_CLASS, isCommandColumn).text(isCommandColumn ? \"\" : options.sourceColumn.caption);\r\n this.element().appendTo(swatchContainer.getSwatchContainer(columnElement))\r\n }\r\n moveHeader(args) {\r\n var e = args.event;\r\n var {\r\n that: that\r\n } = e.data;\r\n var eventData = getEventData(e);\r\n var isResizing = that._columnsResizerViewController ? that._columnsResizerViewController.isResizing() : false;\r\n var dragOptions = that._dragOptions;\r\n if (that._isDragging && !isResizing) {\r\n var $element = that.element();\r\n var moveDeltaX = Math.abs(eventData.x - dragOptions.columnElement.offset().left - dragOptions.deltaX);\r\n var moveDeltaY = Math.abs(eventData.y - dragOptions.columnElement.offset().top - dragOptions.deltaY);\r\n if ($element.is(\":visible\") || moveDeltaX > DRAGGING_DELTA || moveDeltaY > DRAGGING_DELTA) {\r\n $element.show();\r\n var newLeft = eventData.x - dragOptions.deltaX;\r\n var newTop = eventData.y - dragOptions.deltaY;\r\n $element.css({\r\n left: newLeft,\r\n top: newTop\r\n });\r\n that.dockHeader(eventData)\r\n }\r\n e.preventDefault()\r\n }\r\n }\r\n dockHeader(eventData) {\r\n var targetDraggingPanel = this._getDraggingPanelByPos(eventData);\r\n var controller = this._controller;\r\n var params = this._dropOptions;\r\n var dragOptions = this._dragOptions;\r\n if (targetDraggingPanel) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isVerticalOrientation = \"columnChooser\" === targetDraggingPanel.getName();\r\n var axisName = isVerticalOrientation ? \"y\" : \"x\";\r\n var targetLocation = targetDraggingPanel.getName();\r\n var rowIndex = \"headers\" === targetLocation ? dragOptions.rowIndex : void 0;\r\n var {\r\n sourceColumn: sourceColumn\r\n } = dragOptions;\r\n var columnElements = targetDraggingPanel.getColumnElements(rowIndex, null === sourceColumn || void 0 === sourceColumn ? void 0 : sourceColumn.ownerBand) || [];\r\n var pointsByTarget = dragOptions.pointsByTarget = dragOptions.pointsByTarget || {};\r\n var pointsByColumns = \"columnChooser\" === targetLocation ? [] : pointsByTarget[targetLocation] || controller._generatePointsByColumns(extend({}, dragOptions, {\r\n targetDraggingPanel: targetDraggingPanel,\r\n columns: targetDraggingPanel.getColumns(rowIndex),\r\n columnElements: columnElements,\r\n isVerticalOrientation: isVerticalOrientation,\r\n startColumnIndex: \"headers\" === targetLocation && $(columnElements[0]).index()\r\n }));\r\n pointsByTarget[targetLocation] = pointsByColumns;\r\n params.targetLocation = targetLocation;\r\n if (pointsByColumns.length > 0) {\r\n for (var i = 0; i < pointsByColumns.length; i++) {\r\n var centerPosition = pointsByColumns[i + 1] && (pointsByColumns[i][axisName] + pointsByColumns[i + 1][axisName]) / 2;\r\n if (void 0 === centerPosition || (rtlEnabled && \"x\" === axisName ? eventData[axisName] > centerPosition : eventData[axisName] < centerPosition)) {\r\n params.targetColumnIndex = this._getVisibleIndexObject(rowIndex, pointsByColumns[i].columnIndex);\r\n if (columnElements[i]) {\r\n params.targetColumnElement = columnElements.eq(i);\r\n params.isLast = false\r\n } else {\r\n params.targetColumnElement = columnElements.last();\r\n params.isLast = true\r\n }\r\n params.posX = pointsByColumns[i].x;\r\n params.posY = pointsByColumns[i].y;\r\n controller.dock(params);\r\n break\r\n }\r\n }\r\n } else {\r\n this._resetTargetColumnOptions();\r\n controller.dock(params)\r\n }\r\n }\r\n }\r\n dropHeader(args) {\r\n var e = args.event;\r\n var {\r\n that: that\r\n } = e.data;\r\n var controller = that._controller;\r\n that.element().hide();\r\n if (controller && that._isDragging) {\r\n controller.drop(that._dropOptions)\r\n }\r\n that.element().appendTo(that._parentElement());\r\n that._dragOptions = null;\r\n that._dropOptions = null;\r\n that._isDragging = false;\r\n domAdapter.getDocument().onselectstart = that._onSelectStart || null\r\n }\r\n}\r\nvar isNextColumnResizingMode = function(that) {\r\n return \"widget\" !== that.option(\"columnResizingMode\")\r\n};\r\nexport class ColumnsResizerViewController extends modules.ViewController {\r\n init() {\r\n this._subscribesToCallbacks = [];\r\n if (allowResizing(this)) {\r\n this._init()\r\n }\r\n }\r\n dispose() {\r\n this._unsubscribes();\r\n super.dispose()\r\n }\r\n optionChanged(args) {\r\n super.optionChanged(args);\r\n if (\"allowColumnResizing\" === args.name) {\r\n if (args.value) {\r\n this._init();\r\n this._subscribeToEvents()\r\n } else {\r\n this._unsubscribes()\r\n }\r\n }\r\n }\r\n _isHeadersRowArea(posY) {\r\n if (this._columnHeadersView) {\r\n var element = this._columnHeadersView.element();\r\n if (element) {\r\n var offsetTop = element.offset().top;\r\n var headersRowHeight = this._columnHeadersView.getHeadersRowHeight();\r\n return posY >= offsetTop && posY <= offsetTop + headersRowHeight\r\n }\r\n }\r\n return false\r\n }\r\n _isRtlParentStyle() {\r\n var _a;\r\n return this.option(\"rtlEnabled\") && \"rtl\" === (null === (_a = this._$parentContainer) || void 0 === _a ? void 0 : _a.parent().css(\"direction\"))\r\n }\r\n _pointCreated(point, cellsLength, columns) {\r\n var isNextColumnMode = isNextColumnResizingMode(this);\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isRtlParentStyle = this._isRtlParentStyle();\r\n var firstPointColumnIndex = !isNextColumnMode && rtlEnabled && !isRtlParentStyle ? 0 : 1;\r\n if (point.index >= firstPointColumnIndex && point.index < cellsLength + (!isNextColumnMode && (!rtlEnabled || isRtlParentStyle) ? 1 : 0)) {\r\n point.columnIndex -= firstPointColumnIndex;\r\n var currentColumn = columns[point.columnIndex] || {};\r\n var nextColumn = columns[point.columnIndex + 1] || {};\r\n return !(isNextColumnMode ? currentColumn.allowResizing && nextColumn.allowResizing : currentColumn.allowResizing)\r\n }\r\n return true\r\n }\r\n _getTargetPoint(pointsByColumns, currentX, deltaX) {\r\n if (pointsByColumns) {\r\n for (var i = 0; i < pointsByColumns.length; i++) {\r\n if (pointsByColumns[i].x === pointsByColumns[0].x && pointsByColumns[i + 1] && pointsByColumns[i].x === pointsByColumns[i + 1].x) {\r\n continue\r\n }\r\n if (pointsByColumns[i].x - deltaX <= currentX && currentX <= pointsByColumns[i].x + deltaX) {\r\n return pointsByColumns[i]\r\n }\r\n }\r\n }\r\n return null\r\n }\r\n _moveSeparator(args) {\r\n var _a;\r\n var e = args.event;\r\n var that = e.data;\r\n var columnsSeparatorWidth = that._columnsSeparatorView.width();\r\n var isNextColumnMode = isNextColumnResizingMode(that);\r\n var deltaX = columnsSeparatorWidth / 2;\r\n var parentOffset = that._$parentContainer.offset();\r\n var parentOffsetLeft = parentOffset.left;\r\n var eventData = getEventData(e);\r\n var rtlEnabled = that.option(\"rtlEnabled\");\r\n var isRtlParentStyle = this._isRtlParentStyle();\r\n var isDragging = null === (_a = that._draggingHeaderView) || void 0 === _a ? void 0 : _a.isDragging();\r\n if (that._isResizing && that._resizingInfo) {\r\n if ((parentOffsetLeft <= eventData.x || !isNextColumnMode && isRtlParentStyle) && (!isNextColumnMode || eventData.x <= parentOffsetLeft + getWidth(that._$parentContainer))) {\r\n if (that._updateColumnsWidthIfNeeded(eventData.x)) {\r\n var $cell = that._columnHeadersView.getColumnElements().eq(that._resizingInfo.currentColumnIndex);\r\n var cell = $cell[0];\r\n if (cell) {\r\n var outerWidth = cell.getBoundingClientRect().width;\r\n that._columnsSeparatorView.moveByX($cell.offset().left + ((isNextColumnMode || isRtlParentStyle) && rtlEnabled ? 0 : outerWidth));\r\n that._tablePositionController.update(that._targetPoint.y);\r\n e.preventDefault()\r\n }\r\n }\r\n }\r\n } else if (!isDragging) {\r\n if (that._isHeadersRowArea(eventData.y)) {\r\n if (that._previousParentOffset) {\r\n if (that._previousParentOffset.left !== parentOffset.left || that._previousParentOffset.top !== parentOffset.top) {\r\n that.pointsByColumns(null)\r\n }\r\n }\r\n that._targetPoint = that._getTargetPoint(that.pointsByColumns(), eventData.x, columnsSeparatorWidth);\r\n that._previousParentOffset = parentOffset;\r\n that._isReadyResizing = false;\r\n if (that._targetPoint) {\r\n that._columnsSeparatorView.changeCursor(\"col-resize\");\r\n that._columnsSeparatorView.moveByX(that._targetPoint.x - deltaX);\r\n that._tablePositionController.update(that._targetPoint.y);\r\n that._isReadyResizing = true;\r\n e.preventDefault()\r\n } else {\r\n that._columnsSeparatorView.changeCursor();\r\n that._columnsSeparatorView.moveByX(null)\r\n }\r\n } else {\r\n that.pointsByColumns(null);\r\n that._isReadyResizing = false;\r\n that._columnsSeparatorView.changeCursor();\r\n that._columnsSeparatorView.moveByX(null)\r\n }\r\n }\r\n }\r\n _endResizing(args) {\r\n var e = args.event;\r\n var that = e.data;\r\n if (that._isResizing) {\r\n that.pointsByColumns(null);\r\n that._resizingInfo = null;\r\n that._columnsSeparatorView.hide();\r\n that._columnsSeparatorView.changeCursor();\r\n that._trackerView.hide();\r\n that._isReadyResizing = false;\r\n that._isResizing = false\r\n }\r\n }\r\n _getNextColumnIndex(currentColumnIndex) {\r\n return currentColumnIndex + 1\r\n }\r\n _setupResizingInfo(posX) {\r\n var currentColumnIndex = this._targetPoint.columnIndex;\r\n var nextColumnIndex = this._getNextColumnIndex(currentColumnIndex);\r\n var currentHeader = this._columnHeadersView.getHeaderElement(currentColumnIndex);\r\n var nextHeader = this._columnHeadersView.getHeaderElement(nextColumnIndex);\r\n this._resizingInfo = {\r\n startPosX: posX,\r\n currentColumnIndex: currentColumnIndex,\r\n currentColumnWidth: currentHeader && currentHeader.length > 0 ? getBoundingRect(currentHeader[0]).width : 0,\r\n nextColumnIndex: nextColumnIndex,\r\n nextColumnWidth: nextHeader && nextHeader.length > 0 ? getBoundingRect(nextHeader[0]).width : 0\r\n }\r\n }\r\n _startResizing(args) {\r\n var e = args.event;\r\n var that = e.data;\r\n var eventData = getEventData(e);\r\n if (isTouchEvent(e)) {\r\n if (that._isHeadersRowArea(eventData.y)) {\r\n that._targetPoint = that._getTargetPoint(that.pointsByColumns(), eventData.x, COLUMNS_SEPARATOR_TOUCH_TRACKER_WIDTH);\r\n if (that._targetPoint) {\r\n that._columnsSeparatorView.moveByX(that._targetPoint.x - that._columnsSeparatorView.width() / 2);\r\n that._isReadyResizing = true\r\n }\r\n } else {\r\n that._isReadyResizing = false\r\n }\r\n }\r\n if (that._isReadyResizing) {\r\n that._setupResizingInfo(eventData.x);\r\n that._isResizing = true;\r\n that._tablePositionController.update(that._targetPoint.y);\r\n that._columnsSeparatorView.show();\r\n that._trackerView.show();\r\n var scrollable = that.component.getScrollable();\r\n if (scrollable && that._isRtlParentStyle()) {\r\n that._scrollRight = getWidth(scrollable.$content()) - getWidth(scrollable.container()) - scrollable.scrollLeft()\r\n }\r\n e.preventDefault();\r\n e.stopPropagation()\r\n }\r\n if (this.isResizing()) {\r\n this._editorFactoryController.loseFocus()\r\n }\r\n }\r\n _generatePointsByColumns() {\r\n var that = this;\r\n var columns = that._columnsController ? that._columnsController.getVisibleColumns() : [];\r\n var cells = that._columnHeadersView.getColumnElements();\r\n var pointsByColumns = [];\r\n if (cells && cells.length > 0) {\r\n pointsByColumns = gridCoreUtils.getPointsByColumns(cells, point => that._pointCreated(point, cells.length, columns))\r\n }\r\n that._pointsByColumns = pointsByColumns\r\n }\r\n _unsubscribeFromEvents() {\r\n this._moveSeparatorHandler && eventsEngine.off(domAdapter.getDocument(), addNamespace(pointerEvents.move, MODULE_NAMESPACE), this._moveSeparatorHandler);\r\n this._startResizingHandler && eventsEngine.off(this._$parentContainer, addNamespace(pointerEvents.down, MODULE_NAMESPACE), this._startResizingHandler);\r\n if (this._endResizingHandler) {\r\n eventsEngine.off(this._columnsSeparatorView.element(), addNamespace(pointerEvents.up, MODULE_NAMESPACE), this._endResizingHandler);\r\n eventsEngine.off(domAdapter.getDocument(), addNamespace(pointerEvents.up, MODULE_NAMESPACE), this._endResizingHandler)\r\n }\r\n }\r\n _subscribeToEvents() {\r\n this._moveSeparatorHandler = this.createAction(this._moveSeparator);\r\n this._startResizingHandler = this.createAction(this._startResizing);\r\n this._endResizingHandler = this.createAction(this._endResizing);\r\n eventsEngine.on(domAdapter.getDocument(), addNamespace(pointerEvents.move, MODULE_NAMESPACE), this, this._moveSeparatorHandler);\r\n eventsEngine.on(this._$parentContainer, addNamespace(pointerEvents.down, MODULE_NAMESPACE), this, this._startResizingHandler);\r\n eventsEngine.on(this._columnsSeparatorView.element(), addNamespace(pointerEvents.up, MODULE_NAMESPACE), this, this._endResizingHandler);\r\n eventsEngine.on(domAdapter.getDocument(), addNamespace(pointerEvents.up, MODULE_NAMESPACE), this, this._endResizingHandler)\r\n }\r\n _updateColumnsWidthIfNeeded(posX) {\r\n var deltaX;\r\n var needUpdate;\r\n var contentWidth = this._rowsView.contentWidth();\r\n var resizingInfo = this._resizingInfo;\r\n var columnsController = this._columnsController;\r\n var visibleColumns = columnsController.getVisibleColumns();\r\n var columnsSeparatorWidth = this._columnsSeparatorView.width();\r\n var isNextColumnMode = isNextColumnResizingMode(this);\r\n var adaptColumnWidthByRatio = isNextColumnMode && this.option(\"adaptColumnWidthByRatio\") && !this.option(\"columnAutoWidth\");\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isRtlParentStyle = this._isRtlParentStyle();\r\n var column = visibleColumns[resizingInfo.currentColumnIndex];\r\n var nextColumn = visibleColumns[resizingInfo.nextColumnIndex];\r\n\r\n function isPercentWidth(width) {\r\n return isString(width) && width.endsWith(\"%\")\r\n }\r\n\r\n function setColumnWidth(column, columnWidth, contentWidth, adaptColumnWidthByRatio) {\r\n if (column) {\r\n var oldColumnWidth = column.width;\r\n if (oldColumnWidth) {\r\n adaptColumnWidthByRatio = isPercentWidth(oldColumnWidth)\r\n }\r\n if (adaptColumnWidthByRatio) {\r\n columnsController.columnOption(column.index, \"visibleWidth\", columnWidth);\r\n columnsController.columnOption(column.index, \"width\", \"\".concat((columnWidth / contentWidth * 100).toFixed(3), \"%\"))\r\n } else {\r\n columnsController.columnOption(column.index, \"visibleWidth\", null);\r\n columnsController.columnOption(column.index, \"width\", columnWidth)\r\n }\r\n }\r\n }\r\n deltaX = posX - resizingInfo.startPosX;\r\n if ((isNextColumnMode || isRtlParentStyle) && rtlEnabled) {\r\n deltaX = -deltaX\r\n }\r\n var {\r\n cellWidth: cellWidth,\r\n nextCellWidth: nextCellWidth\r\n } = function(delta) {\r\n var nextMinWidth;\r\n var nextCellWidth;\r\n var needCorrectionNextCellWidth;\r\n var cellWidth = resizingInfo.currentColumnWidth + delta;\r\n var minWidth = column && column.minWidth || columnsSeparatorWidth;\r\n var result = {};\r\n if (cellWidth >= minWidth) {\r\n result.cellWidth = cellWidth\r\n } else {\r\n result.cellWidth = minWidth;\r\n needCorrectionNextCellWidth = true\r\n }\r\n if (isNextColumnMode) {\r\n nextCellWidth = resizingInfo.nextColumnWidth - delta;\r\n nextMinWidth = nextColumn && nextColumn.minWidth || columnsSeparatorWidth;\r\n if (nextCellWidth >= nextMinWidth) {\r\n if (needCorrectionNextCellWidth) {\r\n result.nextCellWidth = resizingInfo.nextColumnWidth - (delta + minWidth - cellWidth)\r\n } else {\r\n result.nextCellWidth = nextCellWidth\r\n }\r\n } else {\r\n result.nextCellWidth = nextMinWidth;\r\n result.cellWidth = resizingInfo.currentColumnWidth + (delta - nextMinWidth + nextCellWidth)\r\n }\r\n }\r\n return result\r\n }(deltaX);\r\n needUpdate = column.width !== cellWidth;\r\n if (needUpdate) {\r\n columnsController.beginUpdate();\r\n cellWidth = Math.floor(cellWidth);\r\n contentWidth = function(contentWidth, visibleColumns) {\r\n var allColumnsHaveWidth = visibleColumns.every(column => column.width);\r\n if (allColumnsHaveWidth) {\r\n var totalPercent = visibleColumns.reduce((sum, column) => {\r\n if (isPercentWidth(column.width)) {\r\n sum += parseFloat(column.width)\r\n }\r\n return sum\r\n }, 0);\r\n if (totalPercent > 100) {\r\n contentWidth = contentWidth / totalPercent * 100\r\n }\r\n }\r\n return contentWidth\r\n }(contentWidth, visibleColumns);\r\n setColumnWidth(column, cellWidth, contentWidth, adaptColumnWidthByRatio);\r\n if (isNextColumnMode) {\r\n nextCellWidth = Math.floor(nextCellWidth);\r\n setColumnWidth(nextColumn, nextCellWidth, contentWidth, adaptColumnWidthByRatio)\r\n } else {\r\n var columnWidths = this._columnHeadersView.getColumnWidths();\r\n columnWidths[resizingInfo.currentColumnIndex] = cellWidth;\r\n var hasScroll = columnWidths.reduce((totalWidth, width) => totalWidth + width, 0) > this._rowsView.contentWidth();\r\n if (!hasScroll) {\r\n var lastColumnIndex = gridCoreUtils.getLastResizableColumnIndex(visibleColumns);\r\n if (lastColumnIndex >= 0) {\r\n columnsController.columnOption(visibleColumns[lastColumnIndex].index, \"visibleWidth\", \"auto\")\r\n }\r\n }\r\n for (var i = 0; i < columnWidths.length; i++) {\r\n if (visibleColumns[i] && visibleColumns[i] !== column && void 0 === visibleColumns[i].width) {\r\n columnsController.columnOption(visibleColumns[i].index, \"width\", columnWidths[i])\r\n }\r\n }\r\n }\r\n columnsController.endUpdate();\r\n if (!isNextColumnMode) {\r\n this.component.updateDimensions();\r\n var scrollable = this.component.getScrollable();\r\n if (scrollable && isRtlParentStyle) {\r\n var left = getWidth(scrollable.$content()) - getWidth(scrollable.container()) - this._scrollRight;\r\n scrollable.scrollTo({\r\n left: left\r\n })\r\n }\r\n }\r\n }\r\n return needUpdate\r\n }\r\n _subscribeToCallback(callback, handler) {\r\n callback.add(handler);\r\n this._subscribesToCallbacks.push({\r\n callback: callback,\r\n handler: handler\r\n })\r\n }\r\n _unsubscribeFromCallbacks() {\r\n for (var i = 0; i < this._subscribesToCallbacks.length; i++) {\r\n var subscribe = this._subscribesToCallbacks[i];\r\n subscribe.callback.remove(subscribe.handler)\r\n }\r\n this._subscribesToCallbacks = []\r\n }\r\n _unsubscribes() {\r\n this._unsubscribeFromEvents();\r\n this._unsubscribeFromCallbacks()\r\n }\r\n _init() {\r\n var generatePointsByColumnsHandler = () => {\r\n if (!this._isResizing) {\r\n this.pointsByColumns(null)\r\n }\r\n };\r\n var generatePointsByColumnsScrollHandler = offset => {\r\n if (this._scrollLeft !== offset.left) {\r\n this._scrollLeft = offset.left;\r\n this.pointsByColumns(null)\r\n }\r\n };\r\n this._columnsSeparatorView = this.getView(\"columnsSeparatorView\");\r\n this._columnHeadersView = this.getView(\"columnHeadersView\");\r\n this._trackerView = this.getView(\"trackerView\");\r\n this._rowsView = this.getView(\"rowsView\");\r\n this._columnsController = this.getController(\"columns\");\r\n this._tablePositionController = this.getController(\"tablePosition\");\r\n this._editorFactoryController = this.getController(\"editorFactory\");\r\n this._draggingHeaderView = this.component.getView(\"draggingHeaderView\");\r\n this._$parentContainer = this.component.$element();\r\n this._subscribeToCallback(this._columnHeadersView.renderCompleted, generatePointsByColumnsHandler);\r\n this._subscribeToCallback(this._columnHeadersView.resizeCompleted, generatePointsByColumnsHandler);\r\n this._subscribeToCallback(this._columnsSeparatorView.renderCompleted, () => {\r\n this._unsubscribeFromEvents();\r\n this._subscribeToEvents()\r\n });\r\n this._subscribeToCallback(this._rowsView.renderCompleted, () => {\r\n this._rowsView.scrollChanged.remove(generatePointsByColumnsScrollHandler);\r\n this._rowsView.scrollChanged.add(generatePointsByColumnsScrollHandler)\r\n });\r\n var previousScrollbarVisibility = 0 !== this._rowsView.getScrollbarWidth();\r\n var previousTableHeight = 0;\r\n this._subscribeToCallback(this._tablePositionController.positionChanged, e => {\r\n if (this._isResizing && !this._rowsView.isResizing) {\r\n var scrollbarVisibility = 0 !== this._rowsView.getScrollbarWidth();\r\n if (previousScrollbarVisibility !== scrollbarVisibility || previousTableHeight && previousTableHeight !== e.height) {\r\n previousScrollbarVisibility = scrollbarVisibility;\r\n previousTableHeight = e.height;\r\n this.component.updateDimensions()\r\n } else {\r\n this._rowsView.updateFreeSpaceRowHeight()\r\n }\r\n }\r\n previousTableHeight = e.height\r\n })\r\n }\r\n isResizing() {\r\n return this._isResizing\r\n }\r\n pointsByColumns(value) {\r\n if (void 0 !== value) {\r\n this._pointsByColumns = value\r\n } else {\r\n if (!this._pointsByColumns) {\r\n this._generatePointsByColumns()\r\n }\r\n return this._pointsByColumns\r\n }\r\n }\r\n}\r\nexport class TablePositionViewController extends modules.ViewController {\r\n constructor(component) {\r\n super(component);\r\n this.positionChanged = Callbacks()\r\n }\r\n init() {\r\n super.init();\r\n this._columnsResizerController = this.getController(\"columnsResizer\");\r\n this._columnHeadersView = this.getView(\"columnHeadersView\");\r\n this._rowsView = this.getView(\"rowsView\");\r\n this._pagerView = this.getView(\"pagerView\");\r\n this._rowsView.resizeCompleted.add(() => {\r\n if (this.option(\"allowColumnResizing\")) {\r\n var targetPoint = this._columnsResizerController._targetPoint;\r\n this.update(targetPoint ? targetPoint.y : null)\r\n }\r\n })\r\n }\r\n update(top) {\r\n var params = {};\r\n var $element = this._columnHeadersView.element();\r\n var offset = $element && $element.offset();\r\n var offsetTop = offset && offset.top || 0;\r\n var diffOffsetTop = isDefined(top) ? Math.abs(top - offsetTop) : 0;\r\n var columnsHeadersHeight = this._columnHeadersView ? this._columnHeadersView.getHeight() : 0;\r\n var scrollBarWidth = this._rowsView.getScrollbarWidth(true);\r\n var rowsHeight = this._rowsView ? this._rowsView.height() - scrollBarWidth : 0;\r\n var draggingHeaderView = this.component.getView(\"draggingHeaderView\");\r\n params.height = columnsHeadersHeight;\r\n var isDraggingOrResizing = this._columnsResizerController.isResizing() || draggingHeaderView.isDragging();\r\n if (isDraggingOrResizing) {\r\n params.height += rowsHeight - diffOffsetTop\r\n }\r\n if (null !== top && $element && $element.length) {\r\n params.top = $element[0].offsetTop + diffOffsetTop\r\n }\r\n this.positionChanged.fire(params)\r\n }\r\n}\r\nexport class DraggingHeaderViewController extends modules.ViewController {\r\n init() {\r\n super.init();\r\n this._columnsController = this.getController(\"columns\");\r\n this._tablePositionController = this.getController(\"tablePosition\");\r\n this._columnHeadersView = this.getView(\"columnHeadersView\");\r\n this._columnsSeparatorView = this.getView(\"columnsSeparatorView\");\r\n this._draggingHeaderView = this.getView(\"draggingHeaderView\");\r\n this._rowsView = this.getView(\"rowsView\");\r\n this._blockSeparatorView = this.getView(\"blockSeparatorView\");\r\n this._headerPanelView = this.getView(\"headerPanel\");\r\n this._columnChooserView = this.getView(\"columnChooserView\");\r\n var subscribeToEvents = () => {\r\n if (this._draggingHeaderView) {\r\n var draggingPanels = [this._columnChooserView, this._columnHeadersView, this._headerPanelView];\r\n this._unsubscribeFromEvents(this._draggingHeaderView, draggingPanels);\r\n this._subscribeToEvents(this._draggingHeaderView, draggingPanels)\r\n }\r\n };\r\n this._columnHeadersView.renderCompleted.add(subscribeToEvents);\r\n this._headerPanelView && this._headerPanelView.renderCompleted.add(subscribeToEvents);\r\n this._columnChooserView && this._columnChooserView.renderCompleted.add(subscribeToEvents)\r\n }\r\n dispose() {\r\n if (this._draggingHeaderView) {\r\n this._unsubscribeFromEvents(this._draggingHeaderView, [this._columnChooserView, this._columnHeadersView, this._headerPanelView])\r\n }\r\n }\r\n _generatePointsByColumns(options) {\r\n var that = this;\r\n this.isCustomGroupColumnPosition = this.checkIsCustomGroupColumnPosition(options);\r\n var points = gridCoreUtils.getPointsByColumns(options.columnElements, point => that._pointCreated(point, options.columns, options.targetDraggingPanel.getName(), options.sourceColumn), options.isVerticalOrientation, options.startColumnIndex);\r\n return points\r\n }\r\n checkIsCustomGroupColumnPosition(options) {\r\n var wasOnlyCommandColumns = true;\r\n for (var i = 0; i < options.columns.length; i += 1) {\r\n var col = options.columns[i];\r\n if (\"expand\" === col.command && !wasOnlyCommandColumns) {\r\n return true\r\n }\r\n if (!col.command) {\r\n wasOnlyCommandColumns = false\r\n }\r\n }\r\n return false\r\n }\r\n _pointCreated(point, columns, location, sourceColumn) {\r\n var _a;\r\n var targetColumn = columns[point.columnIndex];\r\n var prevColumn = columns[point.columnIndex - 1];\r\n var isColumnAfterExpandColumn = \"expand\" === (null === prevColumn || void 0 === prevColumn ? void 0 : prevColumn.command);\r\n var isFirstExpandColumn = \"expand\" === (null === targetColumn || void 0 === targetColumn ? void 0 : targetColumn.command) && \"expand\" !== (null === prevColumn || void 0 === prevColumn ? void 0 : prevColumn.command);\r\n var sourceColumnReorderingDisabled = sourceColumn && !sourceColumn.allowReordering;\r\n var otherColumnsReorderingDisabled = !(null === targetColumn || void 0 === targetColumn ? void 0 : targetColumn.allowReordering) && !(null === prevColumn || void 0 === prevColumn ? void 0 : prevColumn.allowReordering);\r\n switch (location) {\r\n case \"columnChooser\":\r\n return true;\r\n case \"headers\":\r\n if (sourceColumnReorderingDisabled) {\r\n return true\r\n }\r\n if (!isFirstExpandColumn) {\r\n return isColumnAfterExpandColumn || otherColumnsReorderingDisabled\r\n }\r\n if (this.isCustomGroupColumnPosition) {\r\n return false\r\n }\r\n while (\"expand\" === (null === (_a = columns[point.columnIndex]) || void 0 === _a ? void 0 : _a.command)) {\r\n point.columnIndex += 1\r\n }\r\n return false;\r\n default:\r\n return 0 === columns.length\r\n }\r\n }\r\n _subscribeToEvents(draggingHeader, draggingPanels) {\r\n var that = this;\r\n each(draggingPanels, (_, draggingPanel) => {\r\n if (draggingPanel) {\r\n var columns;\r\n var rowCount = draggingPanel.getRowCount ? draggingPanel.getRowCount() : 1;\r\n var nameDraggingPanel = draggingPanel.getName();\r\n var subscribeToEvents = function(index, columnElement) {\r\n if (!columnElement) {\r\n return\r\n }\r\n var $columnElement = $(columnElement);\r\n var column = columns[index];\r\n if (column && draggingPanel.allowDragging(column)) {\r\n $columnElement.addClass(that.addWidgetPrefix(HEADERS_DRAG_ACTION_CLASS));\r\n eventsEngine.on($columnElement, addNamespace(dragEventStart, MODULE_NAMESPACE), that.createAction(args => {\r\n var e = args.event;\r\n var eventData = getEventData(e);\r\n draggingHeader.dragHeader({\r\n deltaX: eventData.x - $(e.currentTarget).offset().left,\r\n deltaY: eventData.y - $(e.currentTarget).offset().top,\r\n sourceColumn: column,\r\n index: column.index,\r\n columnIndex: index,\r\n columnElement: $columnElement,\r\n sourceLocation: nameDraggingPanel,\r\n draggingPanels: draggingPanels,\r\n rowIndex: that._columnsController.getRowIndex(column.index, true)\r\n })\r\n }));\r\n eventsEngine.on($columnElement, addNamespace(dragEventMove, MODULE_NAMESPACE), {\r\n that: draggingHeader\r\n }, that.createAction(draggingHeader.moveHeader));\r\n eventsEngine.on($columnElement, addNamespace(dragEventEnd, MODULE_NAMESPACE), {\r\n that: draggingHeader\r\n }, that.createAction(draggingHeader.dropHeader))\r\n }\r\n };\r\n for (var i = 0; i < rowCount; i++) {\r\n var columnElements = draggingPanel.getColumnElements(i) || [];\r\n if (columnElements.length) {\r\n columns = draggingPanel.getColumns(i) || [];\r\n each(columnElements, subscribeToEvents)\r\n }\r\n }\r\n }\r\n })\r\n }\r\n _unsubscribeFromEvents(draggingHeader, draggingPanels) {\r\n var that = this;\r\n each(draggingPanels, (_, draggingPanel) => {\r\n if (draggingPanel) {\r\n var columnElements = draggingPanel.getColumnElements() || [];\r\n each(columnElements, (index, columnElement) => {\r\n var $columnElement = $(columnElement);\r\n eventsEngine.off($columnElement, addNamespace(dragEventStart, MODULE_NAMESPACE));\r\n eventsEngine.off($columnElement, addNamespace(dragEventMove, MODULE_NAMESPACE));\r\n eventsEngine.off($columnElement, addNamespace(dragEventEnd, MODULE_NAMESPACE));\r\n $columnElement.removeClass(that.addWidgetPrefix(HEADERS_DRAG_ACTION_CLASS))\r\n })\r\n }\r\n })\r\n }\r\n _getSeparator(targetLocation) {\r\n return \"headers\" === targetLocation ? this._columnsSeparatorView : this._blockSeparatorView\r\n }\r\n hideSeparators(type) {\r\n var blockSeparator = this._blockSeparatorView;\r\n var columnsSeparator = this._columnsSeparatorView;\r\n this._animationColumnIndex = void 0;\r\n blockSeparator && blockSeparator.hide();\r\n \"block\" !== type && columnsSeparator && columnsSeparator.hide()\r\n }\r\n allowDrop(parameters) {\r\n return this._columnsController.allowMoveColumn(parameters.sourceColumnIndex, parameters.targetColumnIndex, parameters.sourceLocation, parameters.targetLocation)\r\n }\r\n drag(parameters) {\r\n var {\r\n sourceIndex: sourceIndex\r\n } = parameters;\r\n var {\r\n sourceLocation: sourceLocation\r\n } = parameters;\r\n var {\r\n sourceColumnElement: sourceColumnElement\r\n } = parameters;\r\n var headersView = this._columnHeadersView;\r\n var rowsView = this._rowsView;\r\n if (sourceColumnElement) {\r\n sourceColumnElement.css({\r\n opacity: COLUMN_OPACITY\r\n });\r\n if (\"headers\" === sourceLocation) {\r\n headersView && headersView.setRowsOpacity(sourceIndex, COLUMN_OPACITY);\r\n rowsView && rowsView.setRowsOpacity(sourceIndex, COLUMN_OPACITY)\r\n }\r\n }\r\n }\r\n dock(parameters) {\r\n var that = this;\r\n var targetColumnIndex = isObject(parameters.targetColumnIndex) ? parameters.targetColumnIndex.columnIndex : parameters.targetColumnIndex;\r\n var {\r\n sourceLocation: sourceLocation\r\n } = parameters;\r\n var {\r\n targetLocation: targetLocation\r\n } = parameters;\r\n var separator = that._getSeparator(targetLocation);\r\n var hasTargetVisibleIndex = targetColumnIndex >= 0;\r\n that._columnHeadersView.element().find(\".\".concat(HEADER_ROW_CLASS)).toggleClass(that.addWidgetPrefix(HEADERS_DROP_HIGHLIGHT_CLASS), \"headers\" !== sourceLocation && \"headers\" === targetLocation && !hasTargetVisibleIndex);\r\n if (separator) {\r\n if (that.allowDrop(parameters) && hasTargetVisibleIndex) {\r\n if (\"group\" === targetLocation || \"columnChooser\" === targetLocation) {\r\n ! function() {\r\n if (that._animationColumnIndex !== targetColumnIndex) {\r\n that.hideSeparators();\r\n separator.element()[parameters.isLast ? \"insertAfter\" : \"insertBefore\"](parameters.targetColumnElement);\r\n that._animationColumnIndex = targetColumnIndex;\r\n separator.show(targetLocation)\r\n }\r\n }()\r\n } else {\r\n that.hideSeparators(\"block\");\r\n that._tablePositionController.update(parameters.posY);\r\n separator.moveByX(parameters.posX - separator.width());\r\n separator.show()\r\n }\r\n } else {\r\n that.hideSeparators()\r\n }\r\n }\r\n }\r\n drop(parameters) {\r\n var {\r\n sourceColumnElement: sourceColumnElement\r\n } = parameters;\r\n if (sourceColumnElement) {\r\n sourceColumnElement.css({\r\n opacity: \"\"\r\n });\r\n this._columnHeadersView.setRowsOpacity(parameters.sourceIndex, \"\");\r\n this._rowsView.setRowsOpacity(parameters.sourceIndex, \"\");\r\n this._columnHeadersView.element().find(\".\".concat(HEADER_ROW_CLASS)).removeClass(this.addWidgetPrefix(HEADERS_DROP_HIGHLIGHT_CLASS))\r\n }\r\n if (this.allowDrop(parameters)) {\r\n var separator = this._getSeparator(parameters.targetLocation);\r\n if (separator) {\r\n separator.hide()\r\n }\r\n this._columnsController.moveColumn(parameters.sourceColumnIndex, parameters.targetColumnIndex, parameters.sourceLocation, parameters.targetLocation)\r\n }\r\n }\r\n}\r\nvar rowsView = Base => class extends Base {\r\n _needUpdateRowHeight(itemCount) {\r\n var wordWrapEnabled = this.option(\"wordWrapEnabled\");\r\n var isResizing = this._columnsResizerController.isResizing();\r\n return super._needUpdateRowHeight.apply(this, arguments) || itemCount > 0 && wordWrapEnabled && isResizing\r\n }\r\n};\r\nvar editorFactory = Base => class extends Base {\r\n renderFocusOverlay() {\r\n if (this._columnsResizerController.isResizing()) {\r\n return\r\n }\r\n return super.renderFocusOverlay.apply(this, arguments)\r\n }\r\n};\r\nexport var columnsResizingReorderingModule = {\r\n views: {\r\n columnsSeparatorView: ColumnsSeparatorView,\r\n blockSeparatorView: BlockSeparatorView,\r\n draggingHeaderView: DraggingHeaderView,\r\n trackerView: TrackerView\r\n },\r\n controllers: {\r\n draggingHeader: DraggingHeaderViewController,\r\n tablePosition: TablePositionViewController,\r\n columnsResizer: ColumnsResizerViewController\r\n },\r\n extenders: {\r\n views: {\r\n rowsView: rowsView\r\n },\r\n controllers: {\r\n editorFactory: editorFactory\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/columns_resizing_reordering.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnsResizingReorderingModule\r\n} from \"../../../grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering\";\r\nimport gridCore from \"../m_core\";\r\nexport var DraggingHeaderView = columnsResizingReorderingModule.views.draggingHeaderView;\r\nexport var DraggingHeaderViewController = columnsResizingReorderingModule.controllers.draggingHeader;\r\nexport var ColumnsSeparatorView = columnsResizingReorderingModule.views.columnsSeparatorView;\r\nexport var TablePositionViewController = columnsResizingReorderingModule.controllers.tablePosition;\r\nexport var ColumnsResizerViewController = columnsResizingReorderingModule.controllers.columnsResizer;\r\nexport var TrackerView = columnsResizingReorderingModule.views.trackerView;\r\ngridCore.registerModule(\"columnsResizingReordering\", columnsResizingReorderingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/utils/memoize.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n equalByValue\r\n} from \"../../core/utils/common\";\r\nvar compareByReference = (args, lastArgs) => args.length === lastArgs.length && !Object.keys(args).some(key => args[key] !== lastArgs[key]);\r\nvar compareByValue = (args, lastArgs) => equalByValue(args, lastArgs, {\r\n maxDepth: 4\r\n});\r\nvar createCacheFunc = (firstArgs, firstResult, originFunc, compareFunc) => {\r\n var lastArgs = firstArgs;\r\n var lastResult = firstResult;\r\n return function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n var argsEquals = compareFunc(args, lastArgs);\r\n if (argsEquals) {\r\n return lastResult\r\n }\r\n lastArgs = args;\r\n lastResult = originFunc(...lastArgs);\r\n return lastResult\r\n }\r\n};\r\nvar MEMOIZE_DEFAULT_OPTIONS = {\r\n compareType: \"reference\"\r\n};\r\nexport var memoize = function(func) {\r\n var {\r\n compareType: compareType\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : MEMOIZE_DEFAULT_OPTIONS;\r\n var cachedFunc = null;\r\n return function() {\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n if (!cachedFunc) {\r\n var firstResult = func(...args);\r\n cachedFunc = createCacheFunc(args, firstResult, func, \"reference\" === compareType ? compareByReference : compareByValue);\r\n return firstResult\r\n }\r\n return cachedFunc(...args)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/keyboard_navigation/const.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var ATTRIBUTES = {\r\n ariaColIndex: \"aria-colindex\",\r\n dragCell: \"dx-drag-cell\"\r\n};\r\nexport var ROWS_VIEW_CLASS = \"rowsview\";\r\nexport var EDIT_FORM_CLASS = \"edit-form\";\r\nexport var GROUP_FOOTER_CLASS = \"group-footer\";\r\nexport var ROW_CLASS = \"dx-row\";\r\nexport var DATA_ROW_CLASS = \"dx-data-row\";\r\nexport var GROUP_ROW_CLASS = \"dx-group-row\";\r\nexport var HEADER_ROW_CLASS = \"dx-header-row\";\r\nexport var EDIT_FORM_ITEM_CLASS = \"edit-form-item\";\r\nexport var MASTER_DETAIL_ROW_CLASS = \"dx-master-detail-row\";\r\nexport var FREESPACE_ROW_CLASS = \"dx-freespace-row\";\r\nexport var VIRTUAL_ROW_CLASS = \"dx-virtual-row\";\r\nexport var MASTER_DETAIL_CELL_CLASS = \"dx-master-detail-cell\";\r\nexport var EDITOR_CELL_CLASS = \"dx-editor-cell\";\r\nexport var DROPDOWN_EDITOR_OVERLAY_CLASS = \"dx-dropdowneditor-overlay\";\r\nexport var COMMAND_EXPAND_CLASS = \"dx-command-expand\";\r\nexport var COMMAND_SELECT_CLASS = \"dx-command-select\";\r\nexport var COMMAND_EDIT_CLASS = \"dx-command-edit\";\r\nexport var COMMAND_CELL_SELECTOR = \"[class^=dx-command]\";\r\nexport var CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nexport var DATEBOX_WIDGET_NAME = \"dxDateBox\";\r\nexport var FOCUS_STATE_CLASS = \"dx-state-focused\";\r\nexport var WIDGET_CLASS = \"dx-widget\";\r\nexport var REVERT_BUTTON_CLASS = \"dx-revert-button\";\r\nexport var FOCUSED_CLASS = \"dx-focused\";\r\nexport var FAST_EDITING_DELETE_KEY = \"delete\";\r\nexport var INTERACTIVE_ELEMENTS_SELECTOR = '\\n input:not([type=\"hidden\"]):not([disabled]),\\n textarea:not([disabled]),\\n a:not([disabled]),\\n select:not([disabled]),\\n button:not([disabled]),\\n [tabindex]:not([disabled]),\\n .dx-checkbox:not([disabled],.dx-state-readonly)\\n';\r\nexport var NON_FOCUSABLE_ELEMENTS_SELECTOR = \"\".concat(INTERACTIVE_ELEMENTS_SELECTOR, \", .dx-dropdowneditor-icon\");\r\nexport var EDIT_MODE_FORM = \"form\";\r\nexport var FOCUS_TYPE_ROW = \"row\";\r\nexport var FOCUS_TYPE_CELL = \"cell\";\r\nexport var COLUMN_HEADERS_VIEW = \"columnHeadersView\";\r\nexport var FUNCTIONAL_KEYS = [\"shift\", \"control\", \"alt\"];\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/keyboard_navigation/dom.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n ATTRIBUTES\r\n} from \"./const\";\r\nvar isDragCell = $cell => void 0 !== $cell.attr(ATTRIBUTES.dragCell);\r\nvar getCellToFocus = ($cellElements, columnIndex) => $cellElements.filter(\"[\".concat(ATTRIBUTES.ariaColIndex, '=\"').concat(columnIndex + 1, '\"]:not([').concat(ATTRIBUTES.dragCell, \"])\")).first();\r\nexport var GridCoreKeyboardNavigationDom = {\r\n isDragCell: isDragCell,\r\n getCellToFocus: getCellToFocus\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation_utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../../../core/devices\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n EDITOR_CELL_CLASS\r\n} from \"../editing/const\";\r\nimport {\r\n COMMAND_SELECT_CLASS,\r\n DATA_ROW_CLASS,\r\n FREESPACE_ROW_CLASS,\r\n GROUP_ROW_CLASS,\r\n HEADER_ROW_CLASS,\r\n MASTER_DETAIL_ROW_CLASS,\r\n VIRTUAL_ROW_CLASS\r\n} from \"./const\";\r\nvar DATAGRID_GROUP_FOOTER_CLASS = \"dx-datagrid-group-footer\";\r\nexport function isGroupRow($row) {\r\n return $row && $row.hasClass(GROUP_ROW_CLASS)\r\n}\r\nexport function isGroupFooterRow($row) {\r\n return $row && $row.hasClass(DATAGRID_GROUP_FOOTER_CLASS)\r\n}\r\nexport function isDetailRow($row) {\r\n return $row && $row.hasClass(MASTER_DETAIL_ROW_CLASS)\r\n}\r\nexport function isDataRow($row) {\r\n return $row && $row.hasClass(DATA_ROW_CLASS)\r\n}\r\nexport function isNotFocusedRow($row) {\r\n return !$row || $row.hasClass(FREESPACE_ROW_CLASS) || $row.hasClass(VIRTUAL_ROW_CLASS)\r\n}\r\nexport function isEditorCell(that, $cell) {\r\n return !that._isRowEditMode() && $cell && !$cell.hasClass(COMMAND_SELECT_CLASS) && $cell.hasClass(EDITOR_CELL_CLASS)\r\n}\r\nexport function isElementDefined($element) {\r\n return isDefined($element) && $element.length > 0\r\n}\r\nexport function isMobile() {\r\n return \"desktop\" !== devices.current().deviceType\r\n}\r\nexport function isCellInHeaderRow($cell) {\r\n return !!$cell.parent(\".\".concat(HEADER_ROW_CLASS)).length\r\n}\r\nexport function isFixedColumnIndexOffsetRequired(that, column) {\r\n var rtlEnabled = that.option(\"rtlEnabled\");\r\n if (rtlEnabled) {\r\n return !(\"right\" === column.fixedPosition || isDefined(column.command) && !isDefined(column.fixedPosition))\r\n }\r\n return !(!isDefined(column.fixedPosition) || \"left\" === column.fixedPosition)\r\n}\r\nexport function shouldPreventScroll(that) {\r\n var keyboardController = that.getController(\"keyboardNavigation\");\r\n return keyboardController._isVirtualScrolling() ? that.option(\"focusedRowIndex\") === keyboardController.getRowIndex() : false\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../../core/element\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDeferred,\r\n isDefined,\r\n isEmptyObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n keyboard\r\n} from \"../../../../events/short\";\r\nimport {\r\n addNamespace,\r\n createEvent,\r\n isCommandKeyPressed\r\n} from \"../../../../events/utils/index\";\r\nimport * as accessibility from \"../../../../ui/shared/accessibility\";\r\nimport {\r\n focused\r\n} from \"../../../../ui/widget/selectors\";\r\nimport {\r\n memoize\r\n} from \"../../../utils/memoize\";\r\nimport {\r\n EDIT_FORM_CLASS,\r\n EDIT_MODE_BATCH,\r\n EDIT_MODE_CELL,\r\n EDIT_MODE_FORM,\r\n EDIT_MODE_ROW,\r\n EDITOR_CELL_CLASS,\r\n FOCUSABLE_ELEMENT_SELECTOR,\r\n ROW_CLASS\r\n} from \"../editing/const\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n CELL_FOCUS_DISABLED_CLASS,\r\n COLUMN_HEADERS_VIEW,\r\n COMMAND_CELL_SELECTOR,\r\n COMMAND_EDIT_CLASS,\r\n COMMAND_EXPAND_CLASS,\r\n COMMAND_SELECT_CLASS,\r\n DATA_ROW_CLASS,\r\n DATEBOX_WIDGET_NAME,\r\n DROPDOWN_EDITOR_OVERLAY_CLASS,\r\n EDIT_FORM_ITEM_CLASS,\r\n FAST_EDITING_DELETE_KEY,\r\n FOCUS_STATE_CLASS,\r\n FOCUS_TYPE_CELL,\r\n FOCUS_TYPE_ROW,\r\n FOCUSED_CLASS,\r\n FREESPACE_ROW_CLASS,\r\n FUNCTIONAL_KEYS,\r\n INTERACTIVE_ELEMENTS_SELECTOR,\r\n MASTER_DETAIL_CELL_CLASS,\r\n NON_FOCUSABLE_ELEMENTS_SELECTOR,\r\n REVERT_BUTTON_CLASS,\r\n ROWS_VIEW_CLASS,\r\n WIDGET_CLASS\r\n} from \"./const\";\r\nimport {\r\n GridCoreKeyboardNavigationDom\r\n} from \"./dom\";\r\nimport {\r\n isCellInHeaderRow,\r\n isDataRow,\r\n isDetailRow,\r\n isEditorCell,\r\n isElementDefined,\r\n isFixedColumnIndexOffsetRequired,\r\n isGroupFooterRow,\r\n isGroupRow,\r\n isMobile,\r\n isNotFocusedRow,\r\n shouldPreventScroll\r\n} from \"./m_keyboard_navigation_utils\";\r\nexport class KeyboardNavigationController extends modules.ViewController {\r\n init() {\r\n var _a, _b;\r\n this._dataController = this.getController(\"data\");\r\n this._selectionController = this.getController(\"selection\");\r\n this._editingController = this.getController(\"editing\");\r\n this._headerPanel = this.getView(\"headerPanel\");\r\n this._rowsView = this.getView(\"rowsView\");\r\n this._columnsController = this.getController(\"columns\");\r\n this._editorFactory = this.getController(\"editorFactory\");\r\n this._focusController = this.getController(\"focus\");\r\n this._adaptiveColumnsController = this.getController(\"adaptiveColumns\");\r\n this._columnResizerController = this.getController(\"columnsResizer\");\r\n this._memoFireFocusedCellChanged = memoize(this._memoFireFocusedCellChanged.bind(this), {\r\n compareType: \"value\"\r\n });\r\n this._memoFireFocusedRowChanged = memoize(this._memoFireFocusedRowChanged.bind(this), {\r\n compareType: \"value\"\r\n });\r\n this.focusedHandlerWithContext = this.focusedHandlerWithContext || this.focusedHandler.bind(this);\r\n this.renderCompletedWithContext = this.renderCompletedWithContext || this.renderCompleted.bind(this);\r\n this.rowsViewFocusHandlerContext = this.rowsViewFocusHandlerContext || this.rowsViewFocusHandler.bind(this);\r\n this._updateFocusTimeout = null;\r\n this._fastEditingStarted = false;\r\n this._focusedCellPosition = {};\r\n this._canceledCellPosition = null;\r\n if (this.isKeyboardEnabled()) {\r\n accessibility.subscribeVisibilityChange();\r\n null === (_a = this._editorFactory) || void 0 === _a ? void 0 : _a.focused.add(this.focusedHandlerWithContext);\r\n this.createAction(\"onKeyDown\")\r\n } else {\r\n accessibility.unsubscribeVisibilityChange();\r\n null === (_b = this._editorFactory) || void 0 === _b ? void 0 : _b.focused.remove(this.focusedHandlerWithContext)\r\n }\r\n this.initViewHandlers();\r\n this.initDocumentHandlers()\r\n }\r\n dispose() {\r\n super.dispose();\r\n this._resetFocusedView();\r\n keyboard.off(this._keyDownListener);\r\n eventsEngine.off(domAdapter.getDocument(), addNamespace(pointerEvents.down, \"dxDataGridKeyboardNavigation\"), this._documentClickHandler);\r\n clearTimeout(this._updateFocusTimeout);\r\n accessibility.unsubscribeVisibilityChange()\r\n }\r\n focusedHandler($element) {\r\n this.setupFocusedView();\r\n if (this._isNeedScroll) {\r\n if ($element.is(\":visible\") && this._focusedView && this._focusedView.getScrollable()) {\r\n this._focusedView._scrollToElement($element);\r\n this._isNeedScroll = false\r\n }\r\n }\r\n }\r\n rowsViewFocusHandler(event) {\r\n var _a;\r\n var $element = $(event.target);\r\n var isRelatedTargetInRowsView = $(event.relatedTarget).closest(this._rowsView.element()).length;\r\n var isLink = $element.is(\"a\");\r\n if (event.relatedTarget && isLink && !isRelatedTargetInRowsView && this._isEventInCurrentGrid(event)) {\r\n var $focusedCell = this._getFocusedCell();\r\n $focusedCell = !isElementDefined($focusedCell) ? this._rowsView.getCellElements(0).filter(\"[tabindex]\").eq(0) : $focusedCell;\r\n if (!$element.closest($focusedCell).length) {\r\n event.preventDefault();\r\n eventsEngine.trigger($focusedCell, \"focus\")\r\n }\r\n }\r\n var isCell = $element.is(\"td\");\r\n var needSetFocusPosition = (null !== (_a = this.option(\"focusedRowIndex\")) && void 0 !== _a ? _a : -1) < 0;\r\n if (isCell && needSetFocusPosition) {\r\n this._updateFocusedCellPosition($element)\r\n }\r\n }\r\n subscribeToRowsViewFocusEvent() {\r\n var _a;\r\n var $rowsView = null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.element();\r\n eventsEngine.on($rowsView, \"focusin\", this.rowsViewFocusHandlerContext)\r\n }\r\n unsubscribeFromRowsViewFocusEvent() {\r\n var _a;\r\n var $rowsView = null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.element();\r\n eventsEngine.off($rowsView, \"focusin\", this.rowsViewFocusHandlerContext)\r\n }\r\n renderCompleted(e) {\r\n var $rowsView = this._rowsView.element();\r\n var isFullUpdate = !e || \"refresh\" === e.changeType;\r\n var isFocusedViewCorrect = this._focusedView && this._focusedView.name === this._rowsView.name;\r\n var needUpdateFocus = false;\r\n var isAppend = e && (\"append\" === e.changeType || \"prepend\" === e.changeType);\r\n var root = $(domAdapter.getRootNode($rowsView.get && $rowsView.get(0)));\r\n var $focusedElement = root.find(\":focus\");\r\n var isFocusedElementCorrect = !$focusedElement.length || $focusedElement.closest($rowsView).length;\r\n this.unsubscribeFromRowsViewFocusEvent();\r\n this.subscribeToRowsViewFocusEvent();\r\n this.initPointerEventHandler();\r\n this.initKeyDownHandler();\r\n this._setRowsViewAttributes();\r\n if (isFocusedViewCorrect && isFocusedElementCorrect) {\r\n needUpdateFocus = this._isNeedFocus ? !isAppend : this._isHiddenFocus && isFullUpdate && !(null === e || void 0 === e ? void 0 : e.virtualColumnsScrolling);\r\n needUpdateFocus && this._updateFocus(true)\r\n }\r\n }\r\n initViewHandlers() {\r\n var _a, _b;\r\n this.unsubscribeFromRowsViewFocusEvent();\r\n this.unsubscribeFromPointerEvent();\r\n this.unsubscribeFromKeyDownEvent();\r\n null === (_b = null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.renderCompleted) || void 0 === _b ? void 0 : _b.remove(this.renderCompletedWithContext);\r\n if (this.isKeyboardEnabled()) {\r\n this._rowsView.renderCompleted.add(this.renderCompletedWithContext)\r\n }\r\n }\r\n initDocumentHandlers() {\r\n var document = domAdapter.getDocument();\r\n this._documentClickHandler = this._documentClickHandler || this.createAction(e => {\r\n var $target = $(e.event.target);\r\n var isCurrentRowsViewClick = this._isEventInCurrentGrid(e.event) && $target.closest(\".\".concat(this.addWidgetPrefix(ROWS_VIEW_CLASS))).length;\r\n var isEditorOverlay = $target.closest(\".\".concat(DROPDOWN_EDITOR_OVERLAY_CLASS)).length;\r\n var isColumnResizing = !!this._columnResizerController && this._columnResizerController.isResizing();\r\n if (!isCurrentRowsViewClick && !isEditorOverlay && !isColumnResizing) {\r\n var targetInsideFocusedView = this._focusedView ? $target.parents().filter(this._focusedView.element()).length > 0 : false;\r\n !targetInsideFocusedView && this._resetFocusedCell(true);\r\n this._resetFocusedView()\r\n }\r\n });\r\n eventsEngine.off(document, addNamespace(pointerEvents.down, \"dxDataGridKeyboardNavigation\"), this._documentClickHandler);\r\n if (this.isKeyboardEnabled()) {\r\n eventsEngine.on(document, addNamespace(pointerEvents.down, \"dxDataGridKeyboardNavigation\"), this._documentClickHandler)\r\n }\r\n }\r\n _setRowsViewAttributes() {\r\n var $rowsView = this._getRowsViewElement();\r\n var isGridEmpty = !this._dataController.getVisibleRows().length;\r\n if (isGridEmpty) {\r\n this._applyTabIndexToElement($rowsView)\r\n }\r\n }\r\n unsubscribeFromPointerEvent() {\r\n var pointerEventName = !isMobile() ? pointerEvents.down : clickEventName;\r\n var $rowsView = this._getRowsViewElement();\r\n this._pointerEventAction && eventsEngine.off($rowsView, addNamespace(pointerEventName, \"dxDataGridKeyboardNavigation\"), this._pointerEventAction)\r\n }\r\n subscribeToPointerEvent() {\r\n var pointerEventName = !isMobile() ? pointerEvents.down : clickEventName;\r\n var $rowsView = this._getRowsViewElement();\r\n var clickSelector = \".\".concat(ROW_CLASS, \" > td, .\").concat(ROW_CLASS);\r\n eventsEngine.on($rowsView, addNamespace(pointerEventName, \"dxDataGridKeyboardNavigation\"), clickSelector, this._pointerEventAction)\r\n }\r\n initPointerEventHandler() {\r\n this._pointerEventAction = this._pointerEventAction || this.createAction(this._pointerEventHandler);\r\n this.unsubscribeFromPointerEvent();\r\n this.subscribeToPointerEvent()\r\n }\r\n unsubscribeFromKeyDownEvent() {\r\n keyboard.off(this._keyDownListener)\r\n }\r\n subscribeToKeyDownEvent() {\r\n var $rowsView = this._getRowsViewElement();\r\n this._keyDownListener = keyboard.on($rowsView, null, e => this._keyDownHandler(e))\r\n }\r\n initKeyDownHandler() {\r\n this._keyDownListener && this.unsubscribeFromKeyDownEvent();\r\n this.subscribeToKeyDownEvent()\r\n }\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"keyboardNavigation\":\r\n if (\"keyboardNavigation.enabled\" === args.fullName) {\r\n this.init()\r\n }\r\n args.handled = true;\r\n break;\r\n case \"useLegacyKeyboardNavigation\":\r\n this.init();\r\n args.handled = true;\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n isRowFocusType() {\r\n return this.focusType === FOCUS_TYPE_ROW\r\n }\r\n isCellFocusType() {\r\n return this.focusType === FOCUS_TYPE_CELL\r\n }\r\n setRowFocusType() {\r\n if (this.option(\"focusedRowEnabled\")) {\r\n this.focusType = FOCUS_TYPE_ROW\r\n }\r\n }\r\n setCellFocusType() {\r\n this.focusType = FOCUS_TYPE_CELL\r\n }\r\n _keyDownHandler(e) {\r\n var _a;\r\n var needStopPropagation = true;\r\n this._isNeedFocus = true;\r\n this._isNeedScroll = true;\r\n var isHandled = this._processOnKeyDown(e);\r\n var isEditing = null === (_a = this._editingController) || void 0 === _a ? void 0 : _a.isEditing();\r\n var {\r\n originalEvent: originalEvent\r\n } = e;\r\n if (originalEvent.isDefaultPrevented()) {\r\n this._isNeedFocus = false;\r\n this._isNeedScroll = false;\r\n return\r\n }!FUNCTIONAL_KEYS.includes(e.keyName) && this._updateFocusedCellPositionByTarget(originalEvent.target);\r\n if (!isHandled) {\r\n switch (e.keyName) {\r\n case \"leftArrow\":\r\n case \"rightArrow\":\r\n this._leftRightKeysHandler(e, isEditing);\r\n isHandled = true;\r\n break;\r\n case \"upArrow\":\r\n case \"downArrow\":\r\n if (e.ctrl) {\r\n accessibility.selectView(\"rowsView\", this, originalEvent)\r\n } else {\r\n this._upDownKeysHandler(e, isEditing)\r\n }\r\n isHandled = true;\r\n break;\r\n case \"pageUp\":\r\n case \"pageDown\":\r\n this._pageUpDownKeyHandler(e);\r\n isHandled = true;\r\n break;\r\n case \"space\":\r\n isHandled = this._spaceKeyHandler(e, isEditing);\r\n break;\r\n case \"A\":\r\n if (isCommandKeyPressed(e.originalEvent)) {\r\n this._ctrlAKeyHandler(e, isEditing);\r\n isHandled = true\r\n } else {\r\n isHandled = this._beginFastEditing(e.originalEvent)\r\n }\r\n break;\r\n case \"tab\":\r\n this._tabKeyHandler(e, isEditing);\r\n isHandled = true;\r\n break;\r\n case \"enter\":\r\n this._enterKeyHandler(e, isEditing);\r\n isHandled = true;\r\n break;\r\n case \"escape\":\r\n isHandled = this._escapeKeyHandler(e, isEditing);\r\n break;\r\n case \"F\":\r\n if (isCommandKeyPressed(e.originalEvent)) {\r\n this._ctrlFKeyHandler(e);\r\n isHandled = true\r\n } else {\r\n isHandled = this._beginFastEditing(e.originalEvent)\r\n }\r\n break;\r\n case \"F2\":\r\n this._f2KeyHandler();\r\n isHandled = true;\r\n break;\r\n case \"del\":\r\n case \"backspace\":\r\n if (this._isFastEditingAllowed() && !this._isFastEditingStarted()) {\r\n isHandled = this._beginFastEditing(originalEvent, true)\r\n }\r\n }\r\n if (!isHandled && !this._beginFastEditing(originalEvent)) {\r\n this._isNeedFocus = false;\r\n this._isNeedScroll = false;\r\n needStopPropagation = false\r\n }\r\n if (needStopPropagation) {\r\n originalEvent.stopPropagation()\r\n }\r\n }\r\n }\r\n _processOnKeyDown(eventArgs) {\r\n var {\r\n originalEvent: originalEvent\r\n } = eventArgs;\r\n var args = {\r\n handled: false,\r\n event: originalEvent\r\n };\r\n this.executeAction(\"onKeyDown\", args);\r\n eventArgs.ctrl = originalEvent.ctrlKey;\r\n eventArgs.alt = originalEvent.altKey;\r\n eventArgs.shift = originalEvent.shiftKey;\r\n return !!args.handled\r\n }\r\n _closeEditCell() {\r\n setTimeout(() => {\r\n this._editingController.closeEditCell()\r\n })\r\n }\r\n _leftRightKeysHandler(eventArgs, isEditing) {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var $event = eventArgs.originalEvent;\r\n var $row = this._focusedView && this._focusedView.getRow(rowIndex);\r\n var directionCode = this._getDirectionCodeByKey(eventArgs.keyName);\r\n var isEditingNavigationMode = this._isFastEditingStarted();\r\n var allowNavigate = (!isEditing || isEditingNavigationMode) && isDataRow($row);\r\n if (allowNavigate) {\r\n this.setCellFocusType();\r\n isEditingNavigationMode && this._closeEditCell();\r\n if (this._isVirtualColumnRender()) {\r\n this._processVirtualHorizontalPosition(directionCode)\r\n }\r\n var $cell = this._getNextCell(directionCode);\r\n if (isElementDefined($cell)) {\r\n this._arrowKeysHandlerFocusCell($event, $cell, directionCode)\r\n }\r\n $event && $event.preventDefault()\r\n }\r\n }\r\n _upDownKeysHandler(eventArgs, isEditing) {\r\n var _a, _b;\r\n var visibleRowIndex = this.getVisibleRowIndex();\r\n var $row = this._focusedView && this._focusedView.getRow(visibleRowIndex);\r\n var $event = eventArgs.originalEvent;\r\n var isUpArrow = \"upArrow\" === eventArgs.keyName;\r\n var dataSource = this._dataController.dataSource();\r\n var isRowEditingInCurrentRow = null === (_b = null === (_a = this._editingController) || void 0 === _a ? void 0 : _a.isEditRowByIndex) || void 0 === _b ? void 0 : _b.call(_a, visibleRowIndex);\r\n var isEditingNavigationMode = this._isFastEditingStarted();\r\n var allowNavigate = (!isRowEditingInCurrentRow || !isEditing || isEditingNavigationMode) && $row && !isDetailRow($row);\r\n if (allowNavigate) {\r\n isEditingNavigationMode && this._closeEditCell();\r\n if (!this._navigateNextCell($event, eventArgs.keyName)) {\r\n if (this._isVirtualRowRender() && isUpArrow && dataSource && !dataSource.isLoading()) {\r\n var rowHeight = getOuterHeight($row);\r\n var rowIndex = this._focusedCellPosition.rowIndex - 1;\r\n this._scrollBy(0, -rowHeight, rowIndex, $event)\r\n }\r\n }\r\n $event && $event.preventDefault()\r\n }\r\n }\r\n _pageUpDownKeyHandler(eventArgs) {\r\n var pageIndex = this._dataController.pageIndex();\r\n var pageCount = this._dataController.pageCount();\r\n var pagingEnabled = this.option(\"paging.enabled\");\r\n var isPageUp = \"pageUp\" === eventArgs.keyName;\r\n var pageStep = isPageUp ? -1 : 1;\r\n var scrollable = this._rowsView.getScrollable();\r\n if (pagingEnabled && !this._isVirtualScrolling()) {\r\n if ((isPageUp ? pageIndex > 0 : pageIndex < pageCount - 1) && !this._isVirtualScrolling()) {\r\n this._dataController.pageIndex(pageIndex + pageStep);\r\n eventArgs.originalEvent.preventDefault()\r\n }\r\n } else if (scrollable && getHeight(scrollable.container()) < getHeight(scrollable.$content())) {\r\n this._scrollBy(0, getHeight(scrollable.container()) * pageStep);\r\n eventArgs.originalEvent.preventDefault()\r\n }\r\n }\r\n _spaceKeyHandler(eventArgs, isEditing) {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var $target = $(eventArgs.originalEvent && eventArgs.originalEvent.target);\r\n if (this.option(\"selection\") && \"none\" !== this.option(\"selection\").mode && !isEditing) {\r\n var isFocusedRowElement = \"row\" === this._getElementType($target) && this.isRowFocusType() && isDataRow($target);\r\n var isFocusedSelectionCell = $target.hasClass(COMMAND_SELECT_CLASS);\r\n if (isFocusedSelectionCell && \"onClick\" === this.option(\"selection.showCheckBoxesMode\")) {\r\n this._selectionController.startSelectionWithCheckboxes()\r\n }\r\n if (isFocusedRowElement || $target.parent().hasClass(DATA_ROW_CLASS) || $target.hasClass(this.addWidgetPrefix(ROWS_VIEW_CLASS))) {\r\n this._selectionController.changeItemSelection(rowIndex, {\r\n shift: eventArgs.shift,\r\n control: eventArgs.ctrl\r\n });\r\n eventArgs.originalEvent.preventDefault();\r\n return true\r\n }\r\n return false\r\n }\r\n return this._beginFastEditing(eventArgs.originalEvent)\r\n }\r\n _ctrlAKeyHandler(eventArgs, isEditing) {\r\n if (!isEditing && !eventArgs.alt && \"multiple\" === this.option(\"selection.mode\") && this.option(\"selection.allowSelectAll\")) {\r\n this._selectionController.selectAll();\r\n eventArgs.originalEvent.preventDefault()\r\n }\r\n }\r\n _tabKeyHandler(eventArgs, isEditing) {\r\n var editingOptions = this.option(\"editing\");\r\n var direction = eventArgs.shift ? \"previous\" : \"next\";\r\n var isCellPositionDefined = isDefined(this._focusedCellPosition) && !isEmptyObject(this._focusedCellPosition);\r\n var isOriginalHandlerRequired = !isCellPositionDefined || !eventArgs.shift && this._isLastValidCell(this._focusedCellPosition) || eventArgs.shift && this._isFirstValidCell(this._focusedCellPosition);\r\n var eventTarget = eventArgs.originalEvent.target;\r\n var focusedViewElement = this._focusedView && this._focusedView.element();\r\n if (this._handleTabKeyOnMasterDetailCell(eventTarget, direction)) {\r\n return\r\n }\r\n $(focusedViewElement).addClass(FOCUS_STATE_CLASS);\r\n if (editingOptions && eventTarget && !isOriginalHandlerRequired) {\r\n if ($(eventTarget).hasClass(this.addWidgetPrefix(ROWS_VIEW_CLASS))) {\r\n this._resetFocusedCell()\r\n }\r\n if (this._isVirtualColumnRender()) {\r\n this._processVirtualHorizontalPosition(direction)\r\n }\r\n if (isEditing) {\r\n if (!this._editingCellTabHandler(eventArgs, direction)) {\r\n return\r\n }\r\n } else if (this._targetCellTabHandler(eventArgs, direction)) {\r\n isOriginalHandlerRequired = true\r\n }\r\n }\r\n if (isOriginalHandlerRequired) {\r\n this._editorFactory.loseFocus();\r\n if (this._editingController.isEditing() && !this._isRowEditMode()) {\r\n this._resetFocusedCell(true);\r\n this._resetFocusedView();\r\n this._closeEditCell()\r\n }\r\n } else {\r\n eventArgs.originalEvent.preventDefault()\r\n }\r\n }\r\n _getMaxHorizontalOffset() {\r\n var scrollable = this.component.getScrollable();\r\n return scrollable ? scrollable.scrollWidth() - getWidth(this._rowsView.element()) : 0\r\n }\r\n _isColumnRendered(columnIndex) {\r\n var allVisibleColumns = this._columnsController.getVisibleColumns(null, true);\r\n var renderedVisibleColumns = this._columnsController.getVisibleColumns();\r\n var column = allVisibleColumns[columnIndex];\r\n var result = false;\r\n if (column) {\r\n result = renderedVisibleColumns.indexOf(column) >= 0\r\n }\r\n return result\r\n }\r\n _isFixedColumn(columnIndex) {\r\n var allVisibleColumns = this._columnsController.getVisibleColumns(null, true);\r\n var column = allVisibleColumns[columnIndex];\r\n return !!column && !!column.fixed\r\n }\r\n _isColumnVirtual(columnIndex) {\r\n var localColumnIndex = columnIndex - this._columnsController.getColumnIndexOffset();\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var column = visibleColumns[localColumnIndex];\r\n return !!column && \"virtual\" === column.command\r\n }\r\n _processVirtualHorizontalPosition(direction) {\r\n var scrollable = this.component.getScrollable();\r\n var columnIndex = this.getColumnIndex();\r\n var nextColumnIndex;\r\n var horizontalScrollPosition = 0;\r\n var needToScroll = false;\r\n switch (direction) {\r\n case \"next\":\r\n case \"nextInRow\":\r\n var columnsCount = this._getVisibleColumnCount();\r\n nextColumnIndex = columnIndex + 1;\r\n horizontalScrollPosition = this.option(\"rtlEnabled\") ? this._getMaxHorizontalOffset() : 0;\r\n if (\"next\" === direction) {\r\n needToScroll = columnsCount === nextColumnIndex || this._isFixedColumn(columnIndex) && !this._isColumnRendered(nextColumnIndex)\r\n } else {\r\n needToScroll = columnsCount > nextColumnIndex && this._isFixedColumn(columnIndex) && !this._isColumnRendered(nextColumnIndex)\r\n }\r\n break;\r\n case \"previous\":\r\n case \"previousInRow\":\r\n nextColumnIndex = columnIndex - 1;\r\n horizontalScrollPosition = this.option(\"rtlEnabled\") ? 0 : this._getMaxHorizontalOffset();\r\n if (\"previous\" === direction) {\r\n var columnIndexOffset = this._columnsController.getColumnIndexOffset();\r\n var leftEdgePosition = nextColumnIndex < 0 && 0 === columnIndexOffset;\r\n needToScroll = leftEdgePosition || this._isFixedColumn(columnIndex) && !this._isColumnRendered(nextColumnIndex)\r\n } else {\r\n needToScroll = nextColumnIndex >= 0 && this._isFixedColumn(columnIndex) && !this._isColumnRendered(nextColumnIndex)\r\n }\r\n }\r\n if (needToScroll) {\r\n scrollable.scrollTo({\r\n left: horizontalScrollPosition\r\n })\r\n } else if (isDefined(nextColumnIndex) && isDefined(direction) && this._isColumnVirtual(nextColumnIndex)) {\r\n horizontalScrollPosition = this._getHorizontalScrollPositionOffset(direction);\r\n 0 !== horizontalScrollPosition && scrollable.scrollBy({\r\n left: horizontalScrollPosition,\r\n top: 0\r\n })\r\n }\r\n }\r\n _getHorizontalScrollPositionOffset(direction) {\r\n var positionOffset = 0;\r\n var $currentCell = this._getCell(this._focusedCellPosition);\r\n var currentCellWidth = $currentCell && getOuterWidth($currentCell);\r\n if (currentCellWidth > 0) {\r\n var rtlMultiplier = this.option(\"rtlEnabled\") ? -1 : 1;\r\n positionOffset = \"nextInRow\" === direction || \"next\" === direction ? currentCellWidth * rtlMultiplier : currentCellWidth * rtlMultiplier * -1\r\n }\r\n return positionOffset\r\n }\r\n _editingCellTabHandler(eventArgs, direction) {\r\n var eventTarget = eventArgs.originalEvent.target;\r\n var $cell = this._getCellElementFromTarget(eventTarget);\r\n var isEditingAllowed;\r\n var $event = eventArgs.originalEvent;\r\n var elementType = this._getElementType(eventTarget);\r\n if ($cell.is(COMMAND_CELL_SELECTOR)) {\r\n return !this._targetCellTabHandler(eventArgs, direction)\r\n }\r\n this._updateFocusedCellPosition($cell);\r\n var nextCellInfo = this._getNextCellByTabKey($event, direction, elementType);\r\n $cell = nextCellInfo.$cell;\r\n if (!$cell || this._handleTabKeyOnMasterDetailCell($cell, direction)) {\r\n return false\r\n }\r\n var column = this._getColumnByCellElement($cell);\r\n var $row = $cell.parent();\r\n var rowIndex = this._getRowIndex($row);\r\n var row = this._dataController.items()[rowIndex];\r\n var editingController = this._editingController;\r\n if (column && column.allowEditing) {\r\n var _isDataRow = !row || \"data\" === row.rowType;\r\n isEditingAllowed = editingController.allowUpdating({\r\n row: row\r\n }) ? _isDataRow : row && row.isNewRow\r\n }\r\n if (!isEditingAllowed) {\r\n this._closeEditCell()\r\n }\r\n if (this._focusCell($cell, !nextCellInfo.isHighlighted)) {\r\n if (!this._isRowEditMode() && isEditingAllowed) {\r\n this._editFocusedCell()\r\n } else {\r\n this._focusInteractiveElement($cell, eventArgs.shift)\r\n }\r\n }\r\n return true\r\n }\r\n _targetCellTabHandler(eventArgs, direction) {\r\n var $event = eventArgs.originalEvent;\r\n var eventTarget = $event.target;\r\n var elementType = this._getElementType(eventTarget);\r\n var $cell = this._getCellElementFromTarget(eventTarget);\r\n var $lastInteractiveElement = \"cell\" === elementType && this._getInteractiveElement($cell, !eventArgs.shift);\r\n var isOriginalHandlerRequired = false;\r\n if (!isEditorCell(this, $cell) && (null === $lastInteractiveElement || void 0 === $lastInteractiveElement ? void 0 : $lastInteractiveElement.length) && eventTarget !== $lastInteractiveElement.get(0)) {\r\n isOriginalHandlerRequired = true\r\n } else {\r\n if (void 0 === this._focusedCellPosition.rowIndex && $(eventTarget).hasClass(ROW_CLASS)) {\r\n this._updateFocusedCellPosition($cell)\r\n }\r\n elementType = this._getElementType(eventTarget);\r\n if (this.isRowFocusType()) {\r\n this.setCellFocusType();\r\n if (\"row\" === elementType && isDataRow($(eventTarget))) {\r\n eventTarget = this.getFirstValidCellInRow($(eventTarget));\r\n elementType = this._getElementType(eventTarget)\r\n }\r\n }\r\n var nextCellInfo = this._getNextCellByTabKey($event, direction, elementType);\r\n $cell = nextCellInfo.$cell;\r\n if (!$cell) {\r\n return false\r\n }\r\n $cell = this._checkNewLineTransition($event, $cell);\r\n if (!$cell) {\r\n return false\r\n }\r\n this._focusCell($cell, !nextCellInfo.isHighlighted);\r\n if (!isEditorCell(this, $cell)) {\r\n this._focusInteractiveElement($cell, eventArgs.shift)\r\n }\r\n }\r\n return isOriginalHandlerRequired\r\n }\r\n _getNextCellByTabKey($event, direction, elementType) {\r\n var $cell = this._getNextCell(direction, elementType);\r\n var args = $cell && this._fireFocusedCellChanging($event, $cell, true);\r\n if (!args || args.cancel) {\r\n return {}\r\n }\r\n if (args.$newCellElement) {\r\n $cell = args.$newCellElement\r\n }\r\n return {\r\n $cell: $cell,\r\n isHighlighted: args.isHighlighted\r\n }\r\n }\r\n _checkNewLineTransition($event, $cell) {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var $row = $cell.parent();\r\n if (rowIndex !== this._getRowIndex($row)) {\r\n var cellPosition = this._getCellPosition($cell);\r\n var args = this._fireFocusedRowChanging($event, $row);\r\n if (args.cancel) {\r\n return\r\n }\r\n if (args.rowIndexChanged && cellPosition) {\r\n this.setFocusedColumnIndex(cellPosition.columnIndex);\r\n $cell = this._getFocusedCell()\r\n }\r\n }\r\n return $cell\r\n }\r\n _enterKeyHandler(eventArgs, isEditing) {\r\n var $cell = this._getFocusedCell();\r\n var rowIndex = this.getVisibleRowIndex();\r\n var $row = this._focusedView && this._focusedView.getRow(rowIndex);\r\n if (this.option(\"grouping.allowCollapsing\") && isGroupRow($row) || this.option(\"masterDetail.enabled\") && $cell && $cell.hasClass(COMMAND_EXPAND_CLASS)) {\r\n var key = this._dataController.getKeyByRowIndex(rowIndex);\r\n var item = this._dataController.items()[rowIndex];\r\n if (void 0 !== key && item && item.data && !item.data.isContinuation) {\r\n this._dataController.changeRowExpand(key)\r\n }\r\n } else if (!(null === $cell || void 0 === $cell ? void 0 : $cell.hasClass(COMMAND_EDIT_CLASS))) {\r\n this._processEnterKeyForDataCell(eventArgs, isEditing)\r\n }\r\n }\r\n _processEnterKeyForDataCell(eventArgs, isEditing) {\r\n var direction = this._getEnterKeyDirection(eventArgs);\r\n var allowEditingOnEnterKey = this._allowEditingOnEnterKey();\r\n if (isEditing || !allowEditingOnEnterKey && direction) {\r\n this._handleEnterKeyEditingCell(eventArgs.originalEvent);\r\n if (\"next\" === direction || \"previous\" === direction) {\r\n this._targetCellTabHandler(eventArgs, direction)\r\n } else if (\"upArrow\" === direction || \"downArrow\" === direction) {\r\n this._navigateNextCell(eventArgs.originalEvent, direction)\r\n }\r\n } else if (allowEditingOnEnterKey) {\r\n this._startEditing(eventArgs)\r\n }\r\n }\r\n _getEnterKeyDirection(eventArgs) {\r\n var enterKeyDirection = this.option(\"keyboardNavigation.enterKeyDirection\");\r\n var isShift = eventArgs.shift;\r\n if (\"column\" === enterKeyDirection) {\r\n return isShift ? \"upArrow\" : \"downArrow\"\r\n }\r\n if (\"row\" === enterKeyDirection) {\r\n return isShift ? \"previous\" : \"next\"\r\n }\r\n return\r\n }\r\n _handleEnterKeyEditingCell(event) {\r\n var {\r\n target: target\r\n } = event;\r\n var $cell = this._getCellElementFromTarget(target);\r\n var isRowEditMode = this._isRowEditMode();\r\n this._updateFocusedCellPosition($cell);\r\n if (isRowEditMode) {\r\n this._focusEditFormCell($cell);\r\n setTimeout(this._editingController.saveEditData.bind(this._editingController))\r\n } else {\r\n eventsEngine.trigger($(target), \"change\");\r\n this._closeEditCell();\r\n event.preventDefault()\r\n }\r\n }\r\n _escapeKeyHandler(eventArgs, isEditing) {\r\n var $cell = this._getCellElementFromTarget(eventArgs.originalEvent.target);\r\n if (isEditing) {\r\n this._updateFocusedCellPosition($cell);\r\n if (!this._isRowEditMode()) {\r\n if (\"cell\" === this._editingController.getEditMode()) {\r\n this._editingController.cancelEditData()\r\n } else {\r\n this._closeEditCell()\r\n }\r\n } else {\r\n this._focusEditFormCell($cell);\r\n this._editingController.cancelEditData();\r\n if (0 === this._dataController.items().length) {\r\n this._resetFocusedCell();\r\n this._editorFactory.loseFocus()\r\n }\r\n }\r\n eventArgs.originalEvent.preventDefault();\r\n return true\r\n }\r\n return false\r\n }\r\n _ctrlFKeyHandler(eventArgs) {\r\n if (this.option(\"searchPanel.visible\")) {\r\n var searchTextEditor = this._headerPanel.getSearchTextEditor();\r\n if (searchTextEditor) {\r\n searchTextEditor.focus();\r\n eventArgs.originalEvent.preventDefault()\r\n }\r\n }\r\n }\r\n _f2KeyHandler() {\r\n var isEditing = this._editingController.isEditing();\r\n var rowIndex = this.getVisibleRowIndex();\r\n var $row = this._focusedView && this._focusedView.getRow(rowIndex);\r\n if (!isEditing && isDataRow($row)) {\r\n this._startEditing()\r\n }\r\n }\r\n _navigateNextCell($event, keyCode) {\r\n var $cell = this._getNextCell(keyCode);\r\n var directionCode = this._getDirectionCodeByKey(keyCode);\r\n var isCellValid = $cell && this._isCellValid($cell);\r\n var result = isCellValid ? this._arrowKeysHandlerFocusCell($event, $cell, directionCode) : false;\r\n return result\r\n }\r\n _arrowKeysHandlerFocusCell($event, $nextCell, direction) {\r\n var isVerticalDirection = \"prevRow\" === direction || \"nextRow\" === direction;\r\n var args = this._fireFocusChangingEvents($event, $nextCell, isVerticalDirection, true);\r\n $nextCell = args.$newCellElement;\r\n if (!args.cancel && this._isCellValid($nextCell)) {\r\n this._focus($nextCell, !args.isHighlighted);\r\n return true\r\n }\r\n return false\r\n }\r\n _beginFastEditing(originalEvent, isDeleting) {\r\n if (!this._isFastEditingAllowed() || originalEvent.altKey || originalEvent.ctrlKey || this._editingController.isEditing()) {\r\n return false\r\n }\r\n if (isDeleting) {\r\n this._startEditing(originalEvent, FAST_EDITING_DELETE_KEY)\r\n } else {\r\n var {\r\n key: key\r\n } = originalEvent;\r\n var keyCode = originalEvent.keyCode || originalEvent.which;\r\n var fastEditingKey = key || keyCode && String.fromCharCode(keyCode);\r\n if (fastEditingKey && (1 === fastEditingKey.length || fastEditingKey === FAST_EDITING_DELETE_KEY)) {\r\n this._startEditing(originalEvent, fastEditingKey)\r\n }\r\n }\r\n return true\r\n }\r\n _pointerEventHandler(e) {\r\n var _a;\r\n var event = e.event || e;\r\n var $target = $(event.currentTarget);\r\n var focusedViewElement = null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.element();\r\n var $parent = $target.parent();\r\n var isInteractiveElement = $(event.target).is(INTERACTIVE_ELEMENTS_SELECTOR);\r\n var isRevertButton = !!$(event.target).closest(\".\".concat(REVERT_BUTTON_CLASS)).length;\r\n var isExpandCommandCell = $target.hasClass(COMMAND_EXPAND_CLASS);\r\n if (!this._isEventInCurrentGrid(event)) {\r\n return\r\n }\r\n if (!isRevertButton && (this._isCellValid($target, !isInteractiveElement) || isExpandCommandCell)) {\r\n $target = this._isInsideEditForm($target) ? $(event.target) : $target;\r\n this._focusView();\r\n $(focusedViewElement).removeClass(FOCUS_STATE_CLASS);\r\n if ($parent.hasClass(FREESPACE_ROW_CLASS)) {\r\n this._updateFocusedCellPosition($target);\r\n this._applyTabIndexToElement(this._focusedView.element());\r\n this._focusedView.focus(true)\r\n } else if (!this._isMasterDetailCell($target)) {\r\n this._clickTargetCellHandler(event, $target)\r\n } else {\r\n this._updateFocusedCellPosition($target)\r\n }\r\n } else if ($target.is(\"td\")) {\r\n this._resetFocusedCell()\r\n }\r\n }\r\n _clickTargetCellHandler(event, $cell) {\r\n var column = this._getColumnByCellElement($cell);\r\n var isCellEditMode = this._isCellEditMode();\r\n this.setCellFocusType();\r\n var args = this._fireFocusChangingEvents(event, $cell, true);\r\n $cell = args.$newCellElement;\r\n if (!args.cancel) {\r\n if (args.resetFocusedRow) {\r\n this._focusController._resetFocusedRow();\r\n return\r\n }\r\n if (args.rowIndexChanged) {\r\n $cell = this._getFocusedCell()\r\n }\r\n if (!args.isHighlighted && !isCellEditMode) {\r\n this.setRowFocusType()\r\n }\r\n this._updateFocusedCellPosition($cell);\r\n if (this._allowRowUpdating() && isCellEditMode && column && column.allowEditing) {\r\n this._isNeedFocus = false;\r\n this._isHiddenFocus = false\r\n } else {\r\n $cell = this._getFocusedCell();\r\n var $target = event && $(event.target).closest(\"\".concat(NON_FOCUSABLE_ELEMENTS_SELECTOR, \", td\"));\r\n var skipFocusEvent = $target && $target.not($cell).is(NON_FOCUSABLE_ELEMENTS_SELECTOR);\r\n var isEditor = !!column && !column.command && $cell.hasClass(EDITOR_CELL_CLASS);\r\n var isDisabled = !isEditor && (!args.isHighlighted || skipFocusEvent);\r\n this._focus($cell, isDisabled, skipFocusEvent)\r\n }\r\n } else {\r\n this.setRowFocusType();\r\n this.setFocusedRowIndex(args.prevRowIndex);\r\n if (this._editingController.isEditing() && isCellEditMode) {\r\n this._closeEditCell()\r\n }\r\n }\r\n }\r\n _allowRowUpdating() {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var row = this._dataController.items()[rowIndex];\r\n return this._editingController.allowUpdating({\r\n row: row\r\n }, \"click\")\r\n }\r\n focus(element) {\r\n var activeElementSelector;\r\n var focusedRowEnabled = this.option(\"focusedRowEnabled\");\r\n var isHighlighted = this._isCellElement($(element));\r\n if (!element) {\r\n activeElementSelector = \".dx-datagrid-rowsview .dx-row[tabindex]\";\r\n if (!focusedRowEnabled) {\r\n activeElementSelector += \", .dx-datagrid-rowsview .dx-row > td[tabindex]\"\r\n }\r\n element = this.component.$element().find(activeElementSelector).first()\r\n }\r\n element && this._focusElement($(element), isHighlighted)\r\n }\r\n getFocusedView() {\r\n return this._focusedView\r\n }\r\n setupFocusedView() {\r\n if (this.isKeyboardEnabled() && !isDefined(this._focusedView)) {\r\n this._focusView()\r\n }\r\n }\r\n _focusElement($element, isHighlighted) {\r\n var rowsViewElement = $(this._getRowsViewElement());\r\n var $focusedView = $element.closest(rowsViewElement);\r\n var isRowFocusType = this.isRowFocusType();\r\n var args = {};\r\n if (!$focusedView.length || this._isCellElement($element) && !this._isCellValid($element)) {\r\n return\r\n }\r\n this._focusView();\r\n this._isNeedFocus = true;\r\n this._isNeedScroll = true;\r\n if (this._isCellElement($element) || isGroupRow($element)) {\r\n this.setCellFocusType();\r\n args = this._fireFocusChangingEvents(null, $element, true, isHighlighted);\r\n $element = args.$newCellElement;\r\n if (isRowFocusType && !args.isHighlighted) {\r\n this.setRowFocusType()\r\n }\r\n }\r\n if (!args.cancel) {\r\n this._focus($element, !args.isHighlighted);\r\n this._focusInteractiveElement($element)\r\n }\r\n }\r\n _getFocusedViewByElement($element) {\r\n var view = this.getFocusedView();\r\n var $view = view && $(view.element());\r\n return $element && 0 !== $element.closest($view).length\r\n }\r\n _focusView() {\r\n this._focusedView = this._rowsView\r\n }\r\n _resetFocusedView() {\r\n this.setRowFocusType();\r\n this._focusedView = null\r\n }\r\n _focusInteractiveElement($cell, isLast) {\r\n if (!$cell) {\r\n return\r\n }\r\n var $focusedElement = this._getInteractiveElement($cell, isLast);\r\n gridCoreUtils.focusAndSelectElement(this, $focusedElement)\r\n }\r\n _focus($cell, disableFocus, skipFocusEvent) {\r\n var $row = $cell && !$cell.hasClass(ROW_CLASS) ? $cell.closest(\".\".concat(ROW_CLASS)) : $cell;\r\n if ($row && isNotFocusedRow($row)) {\r\n return\r\n }\r\n var focusedView = this._focusedView;\r\n var $focusViewElement = focusedView && focusedView.element();\r\n var $focusElement;\r\n this._isHiddenFocus = disableFocus;\r\n var isRowFocus = isGroupRow($row) || isGroupFooterRow($row) || this.isRowFocusType();\r\n if (isRowFocus) {\r\n $focusElement = $row;\r\n if (focusedView) {\r\n this.setFocusedRowIndex(this._getRowIndex($row))\r\n }\r\n } else if (this._isCellElement($cell)) {\r\n $focusElement = $cell;\r\n this._updateFocusedCellPosition($cell)\r\n }\r\n if ($focusElement) {\r\n if ($focusViewElement) {\r\n $focusViewElement.find(\".dx-row[tabindex], .dx-row > td[tabindex]\").not($focusElement).removeClass(CELL_FOCUS_DISABLED_CLASS).removeClass(FOCUSED_CLASS).removeAttr(\"tabindex\")\r\n }\r\n eventsEngine.one($focusElement, \"blur\", e => {\r\n if (e.relatedTarget) {\r\n $focusElement.removeClass(CELL_FOCUS_DISABLED_CLASS).removeClass(FOCUSED_CLASS)\r\n }\r\n });\r\n if (!skipFocusEvent) {\r\n this._applyTabIndexToElement($focusElement);\r\n eventsEngine.trigger($focusElement, \"focus\")\r\n }\r\n if (disableFocus) {\r\n $focusElement.addClass(CELL_FOCUS_DISABLED_CLASS);\r\n if (isRowFocus) {\r\n $cell.addClass(CELL_FOCUS_DISABLED_CLASS)\r\n }\r\n } else {\r\n this._editorFactory.focus($focusElement)\r\n }\r\n }\r\n }\r\n _updateFocus(isRenderView) {\r\n this._updateFocusTimeout = setTimeout(() => {\r\n if (this._needFocusEditingCell()) {\r\n this._editingController._focusEditingCell();\r\n return\r\n }\r\n var $cell = this._getFocusedCell();\r\n var isEditing = this._editingController.isEditing();\r\n if (!this._isMasterDetailCell($cell) || this._isRowEditMode()) {\r\n if (this._hasSkipRow($cell.parent())) {\r\n var direction = this._focusedCellPosition && this._focusedCellPosition.rowIndex > 0 ? \"upArrow\" : \"downArrow\";\r\n $cell = this._getNextCell(direction)\r\n }\r\n if (isElementDefined($cell)) {\r\n if ($cell.is(\"td\") || $cell.hasClass(this.addWidgetPrefix(EDIT_FORM_ITEM_CLASS))) {\r\n var isCommandCell = $cell.is(COMMAND_CELL_SELECTOR);\r\n var $focusedElementInsideCell = $cell.find(\":focus\");\r\n var isFocusedElementDefined = isElementDefined($focusedElementInsideCell);\r\n var column = this._getColumnByCellElement($cell);\r\n if ((isRenderView || !isCommandCell) && this._editorFactory.focus()) {\r\n if (isCommandCell && isFocusedElementDefined) {\r\n gridCoreUtils.focusAndSelectElement(this, $focusedElementInsideCell);\r\n return\r\n }!isFocusedElementDefined && this._focus($cell)\r\n } else if (!isFocusedElementDefined && (this._isNeedFocus || this._isHiddenFocus)) {\r\n this._focus($cell, this._isHiddenFocus)\r\n }\r\n if (isEditing && !(null === column || void 0 === column ? void 0 : column.showEditorAlways)) {\r\n this._focusInteractiveElement.bind(this)($cell)\r\n }\r\n } else {\r\n eventsEngine.trigger($cell, \"focus\")\r\n }\r\n }\r\n }\r\n })\r\n }\r\n _getColumnByCellElement($cell) {\r\n var cellIndex = this._rowsView.getCellIndex($cell);\r\n var columnIndex = cellIndex + this._columnsController.getColumnIndexOffset();\r\n return this._columnsController.getVisibleColumns(null, true)[columnIndex]\r\n }\r\n _needFocusEditingCell() {\r\n var isCellEditMode = this._editingController.getEditMode() === EDIT_MODE_CELL;\r\n var isBatchEditMode = this._editingController.getEditMode() === EDIT_MODE_BATCH;\r\n var cellEditModeHasChanges = isCellEditMode && this._editingController.hasChanges();\r\n var isNewRowBatchEditMode = isBatchEditMode && this._editingController.isNewRowInEditMode();\r\n var $cell = this._getFocusedCell();\r\n return (0 === $cell.children().length || $cell.find(FOCUSABLE_ELEMENT_SELECTOR).length > 0) && (cellEditModeHasChanges || isNewRowBatchEditMode)\r\n }\r\n _getFocusedCell() {\r\n return $(this._getCell(this._focusedCellPosition))\r\n }\r\n _updateFocusedCellPositionByTarget(target) {\r\n var _a;\r\n var elementType = this._getElementType(target);\r\n if (\"row\" === elementType && isDefined(null === (_a = this._focusedCellPosition) || void 0 === _a ? void 0 : _a.columnIndex)) {\r\n var $row = $(target);\r\n this._focusedView && isGroupRow($row) && this.setFocusedRowIndex(this._getRowIndex($row))\r\n } else {\r\n this._updateFocusedCellPosition(this._getCellElementFromTarget(target))\r\n }\r\n }\r\n _updateFocusedCellPosition($cell, direction) {\r\n var position = this._getCellPosition($cell, direction);\r\n if (position) {\r\n if (!$cell.length || position.rowIndex >= 0 && position.columnIndex >= 0) {\r\n this.setFocusedCellPosition(position.rowIndex, position.columnIndex)\r\n }\r\n }\r\n return position\r\n }\r\n _getFocusedColumnIndexOffset(columnIndex) {\r\n var offset = 0;\r\n var column = this._columnsController.getVisibleColumns()[columnIndex];\r\n if (column && column.fixed) {\r\n offset = this._getFixedColumnIndexOffset(column)\r\n } else if (columnIndex >= 0) {\r\n offset = this._columnsController.getColumnIndexOffset()\r\n }\r\n return offset\r\n }\r\n _getFixedColumnIndexOffset(column) {\r\n var offset = isFixedColumnIndexOffsetRequired(this, column) ? this._getVisibleColumnCount() - this._columnsController.getVisibleColumns().length : 0;\r\n return offset\r\n }\r\n _getCellPosition($cell, direction) {\r\n var columnIndex;\r\n var $row = isElementDefined($cell) && $cell.closest(\"tr\");\r\n if (isElementDefined($row)) {\r\n var rowIndex = this._getRowIndex($row);\r\n columnIndex = this._rowsView.getCellIndex($cell, rowIndex);\r\n columnIndex += this._getFocusedColumnIndexOffset(columnIndex);\r\n if (direction) {\r\n columnIndex = \"previous\" === direction ? columnIndex - 1 : columnIndex + 1;\r\n columnIndex = this._applyColumnIndexBoundaries(columnIndex)\r\n }\r\n return {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n }\r\n }\r\n return\r\n }\r\n _focusCell($cell, isDisabled) {\r\n if (this._isCellValid($cell)) {\r\n this._focus($cell, isDisabled);\r\n return true\r\n }\r\n return\r\n }\r\n _focusEditFormCell($cell) {\r\n if ($cell.hasClass(MASTER_DETAIL_CELL_CLASS)) {\r\n this._editorFactory.focus($cell, true)\r\n }\r\n }\r\n _resetFocusedCell(preventScroll) {\r\n var _a;\r\n var $cell = this._getFocusedCell();\r\n isElementDefined($cell) && $cell.removeAttr(\"tabindex\");\r\n this._isNeedFocus = false;\r\n this._isNeedScroll = false;\r\n this._focusedCellPosition = {};\r\n clearTimeout(this._updateFocusTimeout);\r\n null === (_a = this._focusedView) || void 0 === _a ? void 0 : _a.renderFocusState({\r\n preventScroll: preventScroll\r\n })\r\n }\r\n restoreFocusableElement(rowIndex, $event) {\r\n var args;\r\n var $rowElement;\r\n var isUpArrow = isDefined(rowIndex);\r\n var $rowsViewElement = this._rowsView.element();\r\n var {\r\n columnIndex: columnIndex\r\n } = this._focusedCellPosition;\r\n var rowIndexOffset = this._dataController.getRowIndexOffset();\r\n rowIndex = isUpArrow ? rowIndex : this._rowsView.getTopVisibleItemIndex() + rowIndexOffset;\r\n if (!isUpArrow) {\r\n this._editorFactory.loseFocus();\r\n this._applyTabIndexToElement($rowsViewElement);\r\n eventsEngine.trigger($rowsViewElement, \"focus\")\r\n } else {\r\n $rowElement = this._rowsView.getRow(rowIndex - rowIndexOffset);\r\n args = this._fireFocusedRowChanging($event, $rowElement);\r\n if (!args.cancel && args.rowIndexChanged) {\r\n rowIndex = args.newRowIndex\r\n }\r\n }\r\n if (!isUpArrow || !args.cancel) {\r\n this.setFocusedCellPosition(rowIndex, columnIndex)\r\n }\r\n isUpArrow && this._updateFocus()\r\n }\r\n _getNewPositionByCode(cellPosition, elementType, code) {\r\n var {\r\n columnIndex: columnIndex\r\n } = cellPosition;\r\n var {\r\n rowIndex: rowIndex\r\n } = cellPosition;\r\n var visibleColumnsCount;\r\n if (void 0 === cellPosition.rowIndex && \"next\" === code) {\r\n return {\r\n columnIndex: 0,\r\n rowIndex: 0\r\n }\r\n }\r\n switch (code) {\r\n case \"nextInRow\":\r\n case \"next\":\r\n visibleColumnsCount = this._getVisibleColumnCount();\r\n if (columnIndex < visibleColumnsCount - 1 && \"row\" !== elementType && this._hasValidCellAfterPosition({\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n })) {\r\n columnIndex++\r\n } else if (!this._isLastRow(rowIndex) && \"next\" === code) {\r\n columnIndex = 0;\r\n rowIndex++\r\n }\r\n break;\r\n case \"previousInRow\":\r\n case \"previous\":\r\n if (columnIndex > 0 && \"row\" !== elementType && this._hasValidCellBeforePosition({\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n })) {\r\n columnIndex--\r\n } else if (rowIndex > 0 && \"previous\" === code) {\r\n rowIndex--;\r\n visibleColumnsCount = this._getVisibleColumnCount();\r\n columnIndex = visibleColumnsCount - 1\r\n }\r\n break;\r\n case \"upArrow\":\r\n rowIndex = rowIndex > 0 ? rowIndex - 1 : rowIndex;\r\n break;\r\n case \"downArrow\":\r\n rowIndex = !this._isLastRow(rowIndex) ? rowIndex + 1 : rowIndex\r\n }\r\n return {\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n }\r\n }\r\n setFocusedCellPosition(rowIndex, columnIndex) {\r\n this.setFocusedRowIndex(rowIndex);\r\n this.setFocusedColumnIndex(columnIndex)\r\n }\r\n setFocusedRowIndex(rowIndex) {\r\n if (!this._focusedCellPosition) {\r\n this._focusedCellPosition = {}\r\n }\r\n this._focusedCellPosition.rowIndex = rowIndex\r\n }\r\n setFocusedColumnIndex(columnIndex) {\r\n if (!this._focusedCellPosition) {\r\n this._focusedCellPosition = {}\r\n }\r\n this._focusedCellPosition.columnIndex = columnIndex\r\n }\r\n getRowIndex() {\r\n return this._focusedCellPosition ? this._focusedCellPosition.rowIndex : -1\r\n }\r\n getColumnIndex() {\r\n return this._focusedCellPosition ? this._focusedCellPosition.columnIndex : -1\r\n }\r\n getVisibleRowIndex() {\r\n var _a;\r\n var rowIndex = null === (_a = this._focusedCellPosition) || void 0 === _a ? void 0 : _a.rowIndex;\r\n return !isDefined(rowIndex) || rowIndex < 0 ? -1 : rowIndex - this._dataController.getRowIndexOffset()\r\n }\r\n getVisibleColumnIndex() {\r\n var _a;\r\n var columnIndex = null === (_a = this._focusedCellPosition) || void 0 === _a ? void 0 : _a.columnIndex;\r\n return !isDefined(columnIndex) ? -1 : columnIndex - this._columnsController.getColumnIndexOffset()\r\n }\r\n _applyColumnIndexBoundaries(columnIndex) {\r\n var visibleColumnsCount = this._getVisibleColumnCount();\r\n if (columnIndex < 0) {\r\n columnIndex = 0\r\n } else if (columnIndex >= visibleColumnsCount) {\r\n columnIndex = visibleColumnsCount - 1\r\n }\r\n return columnIndex\r\n }\r\n _isCellByPositionValid(cellPosition) {\r\n var $cell = $(this._getCell(cellPosition));\r\n return this._isCellValid($cell)\r\n }\r\n _isLastRow(rowIndex) {\r\n var dataController = this._dataController;\r\n if (this._isVirtualRowRender()) {\r\n return rowIndex >= dataController.getMaxRowIndex()\r\n }\r\n var lastVisibleIndex = Math.max(...dataController.items().map((item, index) => false !== item.visible ? index : -1));\r\n return rowIndex === lastVisibleIndex\r\n }\r\n _isFirstValidCell(cellPosition) {\r\n var isFirstValidCell = false;\r\n if (0 === cellPosition.rowIndex && cellPosition.columnIndex >= 0) {\r\n isFirstValidCell = isFirstValidCell || !this._hasValidCellBeforePosition(cellPosition)\r\n }\r\n return isFirstValidCell\r\n }\r\n _hasValidCellBeforePosition(cellPosition) {\r\n var {\r\n columnIndex: columnIndex\r\n } = cellPosition;\r\n var hasValidCells = false;\r\n while (columnIndex > 0 && !hasValidCells) {\r\n var checkingPosition = {\r\n columnIndex: --columnIndex,\r\n rowIndex: cellPosition.rowIndex\r\n };\r\n hasValidCells = this._isCellByPositionValid(checkingPosition)\r\n }\r\n return hasValidCells\r\n }\r\n _hasValidCellAfterPosition(cellPosition) {\r\n var {\r\n columnIndex: columnIndex\r\n } = cellPosition;\r\n var hasValidCells = false;\r\n var visibleColumnCount = this._getVisibleColumnCount();\r\n while (columnIndex < visibleColumnCount - 1 && !hasValidCells) {\r\n var checkingPosition = {\r\n columnIndex: ++columnIndex,\r\n rowIndex: cellPosition.rowIndex\r\n };\r\n hasValidCells = this._isCellByPositionValid(checkingPosition)\r\n }\r\n return hasValidCells\r\n }\r\n _isLastValidCell(cellPosition) {\r\n var nextColumnIndex = cellPosition.columnIndex >= 0 ? cellPosition.columnIndex + 1 : 0;\r\n var {\r\n rowIndex: rowIndex\r\n } = cellPosition;\r\n var checkingPosition = {\r\n columnIndex: nextColumnIndex,\r\n rowIndex: rowIndex\r\n };\r\n var visibleRows = this._dataController.getVisibleRows();\r\n var row = visibleRows && visibleRows[rowIndex];\r\n var isLastRow = this._isLastRow(rowIndex);\r\n if (!isLastRow) {\r\n return false\r\n }\r\n if (row && \"group\" === row.rowType && cellPosition.columnIndex > 0) {\r\n return true\r\n }\r\n if (cellPosition.columnIndex === this._getVisibleColumnCount() - 1) {\r\n return true\r\n }\r\n if (this._isCellByPositionValid(checkingPosition)) {\r\n return false\r\n }\r\n return this._isLastValidCell(checkingPosition)\r\n }\r\n _isCellValid($cell, isClick) {\r\n if (isElementDefined($cell)) {\r\n var $row = $cell.parent();\r\n var columnIndex = this._rowsView.getCellIndex($cell) + this._columnsController.getColumnIndexOffset();\r\n var column = this._getColumnByCellElement($cell);\r\n var visibleColumnCount = this._getVisibleColumnCount();\r\n var editingController = this._editingController;\r\n var isMasterDetailRow = isDetailRow($row);\r\n var isShowWhenGrouped = column && column.showWhenGrouped;\r\n var isDataCell = column && !$cell.hasClass(COMMAND_EXPAND_CLASS) && isDataRow($row);\r\n var isDragCell = GridCoreKeyboardNavigationDom.isDragCell($cell);\r\n if (isDragCell) {\r\n return false\r\n }\r\n if (this._isMasterDetailCell($cell)) {\r\n return true\r\n }\r\n if (visibleColumnCount > columnIndex && (!isMasterDetailRow && column && (!isDefined(column.groupIndex) || isShowWhenGrouped && isDataCell) || parseInt($cell.attr(\"colspan\"), 10) > 1)) {\r\n var rowItems = this._dataController.items();\r\n var visibleRowIndex = this._rowsView.getRowIndex($row);\r\n var row = rowItems[visibleRowIndex];\r\n var isCellEditing = editingController && this._isCellEditMode() && editingController.isEditing();\r\n var isRowEditingInCurrentRow = editingController && editingController.isEditRow(visibleRowIndex);\r\n var isEditing = isRowEditingInCurrentRow || isCellEditing;\r\n if (column.command) {\r\n if (this._isLegacyNavigation()) {\r\n return !isEditing && \"expand\" === column.command\r\n }\r\n if (isCellEditing) {\r\n return false\r\n }\r\n if (isRowEditingInCurrentRow) {\r\n return \"select\" !== column.command\r\n }\r\n return !isEditing\r\n }\r\n if (isCellEditing && row && \"data\" !== row.rowType) {\r\n return false\r\n }\r\n return !isEditing || column.allowEditing || isClick\r\n }\r\n }\r\n }\r\n getFirstValidCellInRow($row, columnIndex) {\r\n var $cells = $row.find(\"> td\");\r\n var $cell;\r\n var $result;\r\n columnIndex = columnIndex || 0;\r\n for (var i = columnIndex; i < $cells.length; ++i) {\r\n $cell = $cells.eq(i);\r\n if (this._isCellValid($cell)) {\r\n $result = $cell;\r\n break\r\n }\r\n }\r\n return $result\r\n }\r\n _getNextCell(keyCode, elementType, cellPosition) {\r\n var focusedCellPosition = cellPosition || this._focusedCellPosition;\r\n var isRowFocusType = this.isRowFocusType();\r\n var includeCommandCells = isRowFocusType || [\"next\", \"previous\"].includes(keyCode);\r\n var $cell;\r\n var $row;\r\n if (this._focusedView && focusedCellPosition) {\r\n var newFocusedCellPosition = this._getNewPositionByCode(focusedCellPosition, elementType, keyCode);\r\n $cell = $(this._getCell(newFocusedCellPosition));\r\n var isLastCellOnDirection = \"previous\" === keyCode ? this._isFirstValidCell(newFocusedCellPosition) : this._isLastValidCell(newFocusedCellPosition);\r\n if (isElementDefined($cell) && !this._isCellValid($cell) && this._isCellInRow(newFocusedCellPosition, includeCommandCells) && !isLastCellOnDirection) {\r\n if (isRowFocusType) {\r\n $cell = this.getFirstValidCellInRow($cell.parent(), newFocusedCellPosition.columnIndex)\r\n } else {\r\n $cell = this._getNextCell(keyCode, \"cell\", newFocusedCellPosition)\r\n }\r\n }\r\n $row = isElementDefined($cell) && $cell.parent();\r\n if (this._hasSkipRow($row)) {\r\n var rowIndex = this._getRowIndex($row);\r\n if (!this._isLastRow(rowIndex)) {\r\n $cell = this._getNextCell(keyCode, \"row\", {\r\n columnIndex: focusedCellPosition.columnIndex,\r\n rowIndex: rowIndex\r\n })\r\n } else {\r\n return null\r\n }\r\n }\r\n return isElementDefined($cell) ? $cell : null\r\n }\r\n return null\r\n }\r\n _startEditing(eventArgs, fastEditingKey) {\r\n var focusedCellPosition = this._focusedCellPosition;\r\n var visibleRowIndex = this.getVisibleRowIndex();\r\n var visibleColumnIndex = this.getVisibleColumnIndex();\r\n var row = this._dataController.items()[visibleRowIndex];\r\n var column = this._columnsController.getVisibleColumns()[visibleColumnIndex];\r\n if (this._isAllowEditing(row, column)) {\r\n if (this._isRowEditMode()) {\r\n this._editingController.editRow(visibleRowIndex)\r\n } else if (focusedCellPosition) {\r\n this._startEditCell(eventArgs, fastEditingKey)\r\n }\r\n }\r\n }\r\n _isAllowEditing(row, column) {\r\n return this._editingController.allowUpdating({\r\n row: row\r\n }) && column && column.allowEditing\r\n }\r\n _editFocusedCell() {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var colIndex = this.getVisibleColumnIndex();\r\n return this._editingController.editCell(rowIndex, colIndex)\r\n }\r\n _startEditCell(eventArgs, fastEditingKey) {\r\n this._fastEditingStarted = isDefined(fastEditingKey);\r\n var editResult = this._editFocusedCell();\r\n var isEditResultDeferred = isDeferred(editResult);\r\n var isFastEditingStarted = this._isFastEditingStarted();\r\n if (!isFastEditingStarted || !isEditResultDeferred && !editResult) {\r\n return\r\n }\r\n var editorValue = isEditResultDeferred && fastEditingKey === FAST_EDITING_DELETE_KEY ? \"\" : fastEditingKey;\r\n var editResultDeferred = isEditResultDeferred ? editResult : Deferred().resolve();\r\n var waitTemplatesDeferred = this._rowsView.waitAsyncTemplates(true);\r\n when(editResultDeferred, waitTemplatesDeferred).done(() => {\r\n this._editingCellHandler(eventArgs, editorValue)\r\n })\r\n }\r\n _editingCellHandler(eventArgs, editorValue) {\r\n var _a, _b;\r\n var $input = this._getFocusedCell().find(INTERACTIVE_ELEMENTS_SELECTOR).eq(0);\r\n var $inputElement = $input.get(0);\r\n if (!$inputElement) {\r\n return\r\n }\r\n var keyDownEvent = createEvent(eventArgs, {\r\n type: \"keydown\",\r\n target: $inputElement\r\n });\r\n var keyPressEvent = createEvent(eventArgs, {\r\n type: \"keypress\",\r\n target: $inputElement\r\n });\r\n var inputEvent = createEvent(eventArgs, {\r\n type: \"input\",\r\n target: $inputElement\r\n });\r\n if (inputEvent.originalEvent) {\r\n inputEvent.originalEvent = createEvent(inputEvent.originalEvent, {\r\n data: editorValue\r\n })\r\n }\r\n null === (_b = (_a = $inputElement).select) || void 0 === _b ? void 0 : _b.call(_a);\r\n eventsEngine.trigger($input, keyDownEvent);\r\n if (!keyDownEvent.isDefaultPrevented()) {\r\n eventsEngine.trigger($input, keyPressEvent);\r\n if (!keyPressEvent.isDefaultPrevented()) {\r\n var timeout = browser.mozilla ? 25 : 0;\r\n setTimeout(() => {\r\n var inputValue = this._getKeyPressInputValue($input, editorValue);\r\n $input.val(inputValue);\r\n var $widgetContainer = $input.closest(\".\".concat(WIDGET_CLASS));\r\n eventsEngine.off($widgetContainer, \"focusout\");\r\n eventsEngine.one($widgetContainer, \"focusout\", () => {\r\n eventsEngine.trigger($input, \"change\")\r\n });\r\n eventsEngine.trigger($input, inputEvent)\r\n }, timeout)\r\n }\r\n }\r\n }\r\n _getKeyPressInputValue($input, editorValue) {\r\n var inputCurrentValue = $input.val();\r\n return \"-\" === editorValue && \"-0\" === inputCurrentValue ? \"-0\" : editorValue\r\n }\r\n _fireFocusChangingEvents($event, $cell, fireRowEvent, isHighlighted) {\r\n var _a;\r\n var args = {};\r\n var cellPosition = null !== (_a = this._getCellPosition($cell)) && void 0 !== _a ? _a : {};\r\n if (this.isCellFocusType()) {\r\n args = this._fireFocusedCellChanging($event, $cell, isHighlighted);\r\n if (!args.cancel) {\r\n cellPosition.columnIndex = args.newColumnIndex;\r\n cellPosition.rowIndex = args.newRowIndex;\r\n isHighlighted = args.isHighlighted;\r\n $cell = $(this._getCell(cellPosition))\r\n }\r\n }\r\n if (!args.cancel && fireRowEvent && $cell) {\r\n args = this._fireFocusedRowChanging($event, $cell.parent());\r\n if (!args.cancel) {\r\n cellPosition.rowIndex = args.newRowIndex;\r\n args.isHighlighted = isHighlighted\r\n }\r\n }\r\n args.$newCellElement = $(this._getCell(cellPosition));\r\n if (!args.$newCellElement.length) {\r\n args.$newCellElement = $cell\r\n }\r\n return args\r\n }\r\n _fireFocusedCellChanging($event, $cellElement, isHighlighted) {\r\n var prevColumnIndex = this.option(\"focusedColumnIndex\");\r\n var prevRowIndex = this.option(\"focusedRowIndex\");\r\n var cellPosition = this._getCellPosition($cellElement);\r\n var columnIndex = cellPosition ? cellPosition.columnIndex : -1;\r\n var rowIndex = cellPosition ? cellPosition.rowIndex : -1;\r\n var visibleRows = this._dataController.getVisibleRows();\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var args = {\r\n cellElement: $cellElement,\r\n prevColumnIndex: prevColumnIndex,\r\n prevRowIndex: prevRowIndex,\r\n newColumnIndex: columnIndex,\r\n newRowIndex: rowIndex,\r\n rows: visibleRows,\r\n columns: visibleColumns,\r\n event: $event,\r\n isHighlighted: isHighlighted || false,\r\n cancel: false\r\n };\r\n this._canceledCellPosition = null;\r\n this.executeAction(\"onFocusedCellChanging\", args);\r\n if (args.newColumnIndex !== columnIndex || args.newRowIndex !== rowIndex) {\r\n args.$newCellElement = $(this._getCell({\r\n columnIndex: args.newColumnIndex,\r\n rowIndex: args.newRowIndex\r\n }))\r\n }\r\n if (args.cancel) {\r\n this._canceledCellPosition = {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n }\r\n }\r\n return args\r\n }\r\n _fireFocusedCellChanged($cell) {\r\n var columnIndex = this._rowsView.getCellIndex($cell);\r\n var rowOptions = null === $cell || void 0 === $cell ? void 0 : $cell.parent().data(\"options\");\r\n var focusedRowKey = null === rowOptions || void 0 === rowOptions ? void 0 : rowOptions.key;\r\n this._memoFireFocusedCellChanged(focusedRowKey, columnIndex)\r\n }\r\n _memoFireFocusedCellChanged(rowKey, columnIndex) {\r\n var $cell = this._getFocusedCell();\r\n var rowIndex = this._getRowIndex(null === $cell || void 0 === $cell ? void 0 : $cell.parent());\r\n var localRowIndex = Math.min(rowIndex - this._dataController.getRowIndexOffset(), this._dataController.items().length - 1);\r\n var isEditingCell = this._editingController.isEditCell(localRowIndex, columnIndex);\r\n if (isEditingCell) {\r\n return\r\n }\r\n var row = this._dataController.items()[localRowIndex];\r\n var column = this._columnsController.getVisibleColumns()[columnIndex];\r\n this.executeAction(\"onFocusedCellChanged\", {\r\n cellElement: $cell ? getPublicElement($cell) : void 0,\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex,\r\n row: row,\r\n column: column\r\n })\r\n }\r\n _fireFocusedRowChanging(eventArgs, $newFocusedRow) {\r\n var newRowIndex = this._getRowIndex($newFocusedRow);\r\n var prevFocusedRowIndex = this.option(\"focusedRowIndex\");\r\n var loadingOperationTypes = this._dataController.loadingOperationTypes();\r\n var args = {\r\n rowElement: $newFocusedRow,\r\n prevRowIndex: prevFocusedRowIndex,\r\n newRowIndex: newRowIndex,\r\n event: eventArgs,\r\n rows: this._dataController.getVisibleRows(),\r\n cancel: false\r\n };\r\n var loadingOperations = loadingOperationTypes.sorting || loadingOperationTypes.grouping || loadingOperationTypes.filtering || loadingOperationTypes.paging;\r\n if (!this._dataController || this._dataController.isLoading() && loadingOperations) {\r\n args.cancel = true;\r\n return args\r\n }\r\n if (this.option(\"focusedRowEnabled\")) {\r\n this.executeAction(\"onFocusedRowChanging\", args);\r\n if (!args.cancel && args.newRowIndex !== newRowIndex) {\r\n args.resetFocusedRow = args.newRowIndex < 0;\r\n if (!args.resetFocusedRow) {\r\n this.setFocusedRowIndex(args.newRowIndex)\r\n }\r\n args.rowIndexChanged = true\r\n }\r\n }\r\n return args\r\n }\r\n _fireFocusedRowChanged() {\r\n var _a;\r\n var focusedRowEnabled = this.option(\"focusedRowEnabled\");\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var focusedRowIndex = null === (_a = this._focusController) || void 0 === _a ? void 0 : _a.getFocusedRowIndexByKey(focusedRowKey);\r\n if (!focusedRowEnabled || isDefined(focusedRowKey) && focusedRowIndex < 0) {\r\n return\r\n }\r\n this._memoFireFocusedRowChanged(focusedRowKey, focusedRowIndex)\r\n }\r\n _memoFireFocusedRowChanged(focusedRowKey, focusedRowIndex) {\r\n var localRowIndex = focusedRowIndex - this._dataController.getRowIndexOffset();\r\n this.executeAction(\"onFocusedRowChanged\", {\r\n rowElement: focusedRowIndex < 0 ? void 0 : this._rowsView.getRowElement(localRowIndex),\r\n rowIndex: focusedRowIndex,\r\n row: focusedRowIndex < 0 ? void 0 : this._dataController.getVisibleRows()[localRowIndex]\r\n })\r\n }\r\n _isEventInCurrentGrid(event) {\r\n return gridCoreUtils.isElementInCurrentGrid(this, $(event.target))\r\n }\r\n _isRowEditMode() {\r\n var editMode = this._editingController.getEditMode();\r\n return editMode === EDIT_MODE_ROW || editMode === EDIT_MODE_FORM\r\n }\r\n _isCellEditMode() {\r\n var editMode = this._editingController.getEditMode();\r\n return editMode === EDIT_MODE_CELL || editMode === EDIT_MODE_BATCH\r\n }\r\n _isFastEditingAllowed() {\r\n return this._isCellEditMode() && this.option(\"keyboardNavigation.editOnKeyPress\")\r\n }\r\n _getInteractiveElement($cell, isLast) {\r\n var $focusedElement = $cell.find(INTERACTIVE_ELEMENTS_SELECTOR).filter(\":visible\");\r\n return isLast ? $focusedElement.last() : $focusedElement.first()\r\n }\r\n _applyTabIndexToElement($element) {\r\n var _a;\r\n var tabIndex = null !== (_a = this.option(\"tabIndex\")) && void 0 !== _a ? _a : 0;\r\n $element.attr(\"tabindex\", tabIndex)\r\n }\r\n _getCell(cellPosition) {\r\n if (this._focusedView && cellPosition) {\r\n var rowIndexOffset = this._dataController.getRowIndexOffset();\r\n var column = this._columnsController.getVisibleColumns(null, true)[cellPosition.columnIndex];\r\n var columnIndexOffset = column && column.fixed ? this._getFixedColumnIndexOffset(column) : this._columnsController.getColumnIndexOffset();\r\n var rowIndex = cellPosition.rowIndex >= 0 ? cellPosition.rowIndex - rowIndexOffset : -1;\r\n var columnIndex = cellPosition.columnIndex >= 0 ? cellPosition.columnIndex - columnIndexOffset : -1;\r\n return this._focusedView.getCell({\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n })\r\n }\r\n }\r\n _getRowIndex($row) {\r\n var rowIndex = this._rowsView.getRowIndex($row);\r\n if (rowIndex >= 0) {\r\n rowIndex += this._dataController.getRowIndexOffset()\r\n }\r\n return rowIndex\r\n }\r\n _hasSkipRow($row) {\r\n var row = $row && $row.get(0);\r\n return row && (\"none\" === row.style.display || isDetailRow($row) && !$row.hasClass(this.addWidgetPrefix(EDIT_FORM_CLASS)))\r\n }\r\n _allowEditingOnEnterKey() {\r\n return \"startEdit\" === this.option(\"keyboardNavigation.enterKeyAction\")\r\n }\r\n _isLegacyNavigation() {\r\n return this.option(\"useLegacyKeyboardNavigation\")\r\n }\r\n _getDirectionCodeByKey(key) {\r\n var directionCode;\r\n switch (key) {\r\n case \"upArrow\":\r\n directionCode = \"prevRow\";\r\n break;\r\n case \"downArrow\":\r\n directionCode = \"nextRow\";\r\n break;\r\n case \"leftArrow\":\r\n directionCode = this.option(\"rtlEnabled\") ? \"nextInRow\" : \"previousInRow\";\r\n break;\r\n case \"rightArrow\":\r\n directionCode = this.option(\"rtlEnabled\") ? \"previousInRow\" : \"nextInRow\"\r\n }\r\n return directionCode\r\n }\r\n _isVirtualScrolling() {\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n return \"virtual\" === scrollingMode || \"infinite\" === scrollingMode\r\n }\r\n _isVirtualRowRender() {\r\n return this._isVirtualScrolling() || gridCoreUtils.isVirtualRowRendering(this)\r\n }\r\n _isVirtualColumnRender() {\r\n return \"virtual\" === this.option(\"scrolling.columnRenderingMode\")\r\n }\r\n _scrollBy(left, top, rowIndex, $event) {\r\n var that = this;\r\n var scrollable = this._rowsView.getScrollable();\r\n if (that._focusedCellPosition) {\r\n scrollable.on(\"scroll\", (function scrollHandler() {\r\n scrollable.off(\"scroll\", scrollHandler);\r\n setTimeout(that.restoreFocusableElement.bind(that, rowIndex, $event))\r\n }))\r\n }\r\n return scrollable.scrollBy({\r\n left: left,\r\n top: top\r\n })\r\n }\r\n _isInsideEditForm(element) {\r\n var $editForm = $(element).closest(\".\".concat(this.addWidgetPrefix(EDIT_FORM_CLASS)));\r\n return $editForm.length && this.elementIsInsideGrid($editForm)\r\n }\r\n _isMasterDetailCell(element) {\r\n var $masterDetailCell = $(element).closest(\".\".concat(MASTER_DETAIL_CELL_CLASS));\r\n return $masterDetailCell.length && this.elementIsInsideGrid($masterDetailCell)\r\n }\r\n _processNextCellInMasterDetail($nextCell, _$cell) {\r\n if (!this._isInsideEditForm($nextCell) && $nextCell) {\r\n this._applyTabIndexToElement($nextCell)\r\n }\r\n }\r\n _handleTabKeyOnMasterDetailCell(target, direction) {\r\n if (this._isMasterDetailCell(target)) {\r\n this._updateFocusedCellPosition($(target), direction);\r\n var $nextCell = this._getNextCell(direction, \"row\");\r\n this._processNextCellInMasterDetail($nextCell, $(target));\r\n return true\r\n }\r\n return false\r\n }\r\n _getElementType(target) {\r\n return $(target).is(\"tr\") ? \"row\" : \"cell\"\r\n }\r\n _isFastEditingStarted() {\r\n return this._isFastEditingAllowed() && this._fastEditingStarted\r\n }\r\n _getVisibleColumnCount() {\r\n return this._columnsController.getVisibleColumns(null, true).length\r\n }\r\n _isCellInRow(cellPosition, includeCommandCells) {\r\n var {\r\n columnIndex: columnIndex\r\n } = cellPosition;\r\n var visibleColumnsCount = this._getVisibleColumnCount();\r\n return includeCommandCells ? columnIndex >= 0 && columnIndex <= visibleColumnsCount - 1 : columnIndex > 0 && columnIndex < visibleColumnsCount - 1\r\n }\r\n _isCellElement($element) {\r\n return $element.length && \"TD\" === $element[0].tagName\r\n }\r\n _getCellElementFromTarget(target) {\r\n var elementType = this._getElementType(target);\r\n var $targetElement = $(target);\r\n var $cell;\r\n if (\"cell\" === elementType) {\r\n $cell = $targetElement.closest(\".\".concat(ROW_CLASS, \" > td\"))\r\n } else {\r\n $cell = $targetElement.children().not(\".\".concat(COMMAND_EXPAND_CLASS)).first()\r\n }\r\n return $cell\r\n }\r\n _getRowsViewElement() {\r\n var _a;\r\n return null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.element()\r\n }\r\n isKeyboardEnabled() {\r\n return this.option(\"keyboardNavigation.enabled\")\r\n }\r\n _processCanceledEditCellPosition(rowIndex, columnIndex) {\r\n if (this._canceledCellPosition) {\r\n var isCanceled = this._canceledCellPosition.rowIndex === rowIndex && this._canceledCellPosition.columnIndex === columnIndex;\r\n this._canceledCellPosition = null;\r\n return isCanceled\r\n }\r\n return\r\n }\r\n updateFocusedRowIndex() {\r\n var dataController = this._dataController;\r\n var visibleRowIndex = this.getVisibleRowIndex();\r\n var visibleItems = dataController.items();\r\n var lastVisibleIndex = visibleItems.length ? visibleItems.length - 1 : -1;\r\n var rowIndexOffset = dataController.getRowIndexOffset();\r\n if (lastVisibleIndex >= 0 && visibleRowIndex > lastVisibleIndex) {\r\n this.setFocusedRowIndex(lastVisibleIndex + rowIndexOffset)\r\n }\r\n }\r\n}\r\nvar rowsView = Base => class extends Base {\r\n _rowClick(e) {\r\n var editRowIndex = this._editingController.getEditRowIndex();\r\n var isKeyboardEnabled = this._keyboardNavigationController.isKeyboardEnabled();\r\n if (editRowIndex === e.rowIndex) {\r\n this._keyboardNavigationController.setCellFocusType()\r\n }\r\n var needTriggerPointerEventHandler = (isMobile() || !isKeyboardEnabled) && this.option(\"focusedRowEnabled\");\r\n if (needTriggerPointerEventHandler) {\r\n this._triggerPointerDownEventHandler(e, !isKeyboardEnabled)\r\n }\r\n super._rowClick.apply(this, arguments)\r\n }\r\n _triggerPointerDownEventHandler(e, force) {\r\n var {\r\n originalEvent: originalEvent\r\n } = e.event;\r\n if (originalEvent) {\r\n var $cell = $(originalEvent.target);\r\n var columnIndex = this.getCellIndex($cell);\r\n var column = this._columnsController.getVisibleColumns()[columnIndex];\r\n var row = this._dataController.items()[e.rowIndex];\r\n if (this._keyboardNavigationController._isAllowEditing(row, column) || force) {\r\n var eventArgs = createEvent(originalEvent, {\r\n currentTarget: originalEvent.target\r\n });\r\n this._keyboardNavigationController._pointerEventHandler(eventArgs)\r\n }\r\n }\r\n }\r\n renderFocusState(params) {\r\n var {\r\n preventScroll: preventScroll,\r\n pageSizeChanged: pageSizeChanged\r\n } = null !== params && void 0 !== params ? params : {};\r\n var $rowsViewElement = this.element();\r\n if ($rowsViewElement && !focused($rowsViewElement)) {\r\n $rowsViewElement.attr(\"tabindex\", null)\r\n }\r\n pageSizeChanged && this._keyboardNavigationController.updateFocusedRowIndex();\r\n var rowIndex = this._keyboardNavigationController.getVisibleRowIndex();\r\n if (!isDefined(rowIndex) || rowIndex < 0) {\r\n rowIndex = 0\r\n }\r\n var cellElements = this.getCellElements(rowIndex);\r\n if (this._keyboardNavigationController.isKeyboardEnabled() && (null === cellElements || void 0 === cellElements ? void 0 : cellElements.length)) {\r\n this.updateFocusElementTabIndex(cellElements, preventScroll)\r\n }\r\n }\r\n updateFocusElementTabIndex(cellElements, preventScroll) {\r\n var $row = cellElements.eq(0).parent();\r\n if (isGroupRow($row)) {\r\n this._keyboardNavigationController._applyTabIndexToElement($row)\r\n } else {\r\n var columnIndex = this._keyboardNavigationController.getColumnIndex();\r\n if (!isDefined(columnIndex) || columnIndex < 0) {\r\n columnIndex = 0\r\n }\r\n this._updateFocusedCellTabIndex(cellElements, columnIndex)\r\n }\r\n }\r\n _updateFocusedCellTabIndex(cellElements, columnIndex) {\r\n var keyboardController = this._keyboardNavigationController;\r\n var cellElementsLength = cellElements ? cellElements.length : -1;\r\n var updateCellTabIndex = function($cell) {\r\n var isMasterDetailCell = keyboardController._isMasterDetailCell($cell);\r\n var isValidCell = keyboardController._isCellValid($cell);\r\n if (!isMasterDetailCell && isValidCell && keyboardController._isCellElement($cell)) {\r\n keyboardController._applyTabIndexToElement($cell);\r\n keyboardController.setCellFocusType();\r\n return true\r\n }\r\n return\r\n };\r\n var $cell = GridCoreKeyboardNavigationDom.getCellToFocus(cellElements, columnIndex);\r\n if ($cell.length) {\r\n updateCellTabIndex($cell)\r\n } else {\r\n if (cellElementsLength <= columnIndex) {\r\n columnIndex = cellElementsLength - 1\r\n }\r\n for (var i = columnIndex; i < cellElementsLength; ++i) {\r\n if (updateCellTabIndex($(cellElements[i]))) {\r\n break\r\n }\r\n }\r\n }\r\n }\r\n renderDelayedTemplates(change) {\r\n super.renderDelayedTemplates.apply(this, arguments);\r\n this.waitAsyncTemplates().done(() => {\r\n this._renderFocusByChange(change)\r\n })\r\n }\r\n _renderFocusByChange(change) {\r\n var _a;\r\n var {\r\n operationTypes: operationTypes,\r\n repaintChangesOnly: repaintChangesOnly\r\n } = null !== change && void 0 !== change ? change : {};\r\n var {\r\n fullReload: fullReload,\r\n pageSize: pageSize\r\n } = null !== operationTypes && void 0 !== operationTypes ? operationTypes : {};\r\n var hasInsertsOrRemoves = !!(null === (_a = null === change || void 0 === change ? void 0 : change.changeTypes) || void 0 === _a ? void 0 : _a.find(changeType => \"insert\" === changeType || \"remove\" === changeType));\r\n if (!change || !repaintChangesOnly || fullReload || pageSize || hasInsertsOrRemoves) {\r\n var preventScroll = shouldPreventScroll(this);\r\n this.renderFocusState({\r\n preventScroll: preventScroll,\r\n pageSizeChanged: pageSize\r\n })\r\n }\r\n }\r\n _renderCore(change) {\r\n var deferred = super._renderCore.apply(this, arguments);\r\n this._renderFocusByChange(change);\r\n return deferred\r\n }\r\n _editCellPrepared($cell) {\r\n var _a;\r\n var editorInstance = this._getEditorInstance($cell);\r\n var isEditingNavigationMode = null === (_a = this._keyboardNavigationController) || void 0 === _a ? void 0 : _a._isFastEditingStarted();\r\n if (editorInstance && isEditingNavigationMode) {\r\n this._handleEditingNavigationMode(editorInstance)\r\n }\r\n super._editCellPrepared.apply(this, arguments)\r\n }\r\n _handleEditingNavigationMode(editorInstance) {\r\n [\"downArrow\", \"upArrow\"].forEach(keyName => {\r\n var originalKeyHandler = editorInstance._supportedKeys()[keyName];\r\n editorInstance.registerKeyHandler(keyName, e => {\r\n var isDropDownOpened = \"true\" === editorInstance._input().attr(\"aria-expanded\");\r\n if (isDropDownOpened) {\r\n return originalKeyHandler && originalKeyHandler.call(editorInstance, e)\r\n }\r\n })\r\n });\r\n editorInstance.registerKeyHandler(\"leftArrow\", noop);\r\n editorInstance.registerKeyHandler(\"rightArrow\", noop);\r\n var isDateBoxWithMask = editorInstance.NAME === DATEBOX_WIDGET_NAME && editorInstance.option(\"useMaskBehavior\");\r\n if (isDateBoxWithMask) {\r\n editorInstance.registerKeyHandler(\"enter\", noop)\r\n }\r\n }\r\n _getEditorInstance($cell) {\r\n var $editor = $cell.find(\".dx-texteditor\").eq(0);\r\n return gridCoreUtils.getWidgetInstance($editor)\r\n }\r\n};\r\nvar editing = Base => class extends Base {\r\n editCell(rowIndex, columnIndex) {\r\n if (this._keyboardNavigationController._processCanceledEditCellPosition(rowIndex, columnIndex)) {\r\n return false\r\n }\r\n var isCellEditing = super.editCell(rowIndex, columnIndex);\r\n if (isCellEditing) {\r\n this._keyboardNavigationController.setupFocusedView()\r\n }\r\n return isCellEditing\r\n }\r\n editRow(rowIndex) {\r\n var visibleColumnIndex = this._keyboardNavigationController.getVisibleColumnIndex();\r\n var column = this._columnsController.getVisibleColumns()[visibleColumnIndex];\r\n if (column && column.type || this.option(\"editing.mode\") === EDIT_MODE_FORM) {\r\n this._keyboardNavigationController._resetFocusedCell()\r\n }\r\n super.editRow(rowIndex);\r\n return\r\n }\r\n addRow(parentKey) {\r\n this._keyboardNavigationController.setupFocusedView();\r\n this._keyboardNavigationController.setCellFocusType();\r\n return super.addRow.apply(this, arguments)\r\n }\r\n getFocusedCellInRow(rowIndex) {\r\n var $cell = super.getFocusedCellInRow(rowIndex);\r\n var rowIndexOffset = this._dataController.getRowIndexOffset();\r\n var focusedRowIndex = this._keyboardNavigationController._focusedCellPosition.rowIndex - rowIndexOffset;\r\n if (this._keyboardNavigationController.isKeyboardEnabled() && focusedRowIndex === rowIndex) {\r\n var $focusedCell = this._keyboardNavigationController._getFocusedCell();\r\n if (isElementDefined($focusedCell) && !$focusedCell.hasClass(COMMAND_EDIT_CLASS)) {\r\n $cell = $focusedCell\r\n }\r\n }\r\n return $cell\r\n }\r\n _processCanceledEditingCell() {\r\n this.closeEditCell().done(() => {\r\n this._keyboardNavigationController._updateFocus()\r\n })\r\n }\r\n closeEditCell() {\r\n var keyboardNavigation = this._keyboardNavigationController;\r\n keyboardNavigation._fastEditingStarted = false;\r\n var result = super.closeEditCell.apply(this, arguments);\r\n keyboardNavigation._updateFocus();\r\n return result\r\n }\r\n _delayedInputFocus() {\r\n this._keyboardNavigationController._isNeedScroll = true;\r\n super._delayedInputFocus.apply(this, arguments)\r\n }\r\n _isEditingStart() {\r\n var cancel = super._isEditingStart.apply(this, arguments);\r\n if (cancel && !this._keyboardNavigationController._isNeedFocus) {\r\n var $cell = this._keyboardNavigationController._getFocusedCell();\r\n this._keyboardNavigationController._focus($cell, true)\r\n }\r\n return cancel\r\n }\r\n};\r\nvar data = Base => class extends Base {\r\n _correctRowIndices(getRowIndexCorrection) {\r\n var focusedCellPosition = this._keyboardNavigationController._focusedCellPosition;\r\n super._correctRowIndices.apply(this, arguments);\r\n if (focusedCellPosition && focusedCellPosition.rowIndex >= 0) {\r\n var focusedRowIndexCorrection = getRowIndexCorrection(focusedCellPosition.rowIndex);\r\n if (focusedRowIndexCorrection) {\r\n focusedCellPosition.rowIndex += focusedRowIndexCorrection;\r\n this._editorFactoryController.refocus()\r\n }\r\n }\r\n }\r\n getMaxRowIndex() {\r\n var result = this.items().length - 1;\r\n var virtualItemsCount = this.virtualItemsCount();\r\n if (virtualItemsCount) {\r\n var rowIndexOffset = this.getRowIndexOffset();\r\n result += rowIndexOffset + virtualItemsCount.end\r\n }\r\n return result\r\n }\r\n};\r\nvar adaptiveColumns = Base => class extends Base {\r\n _showHiddenCellsInView(_ref) {\r\n var {\r\n viewName: viewName,\r\n $cells: $cells,\r\n isCommandColumn: isCommandColumn\r\n } = _ref;\r\n super._showHiddenCellsInView.apply(this, arguments);\r\n viewName === COLUMN_HEADERS_VIEW && !isCommandColumn && $cells.each((_, cellElement) => {\r\n var $cell = $(cellElement);\r\n isCellInHeaderRow($cell) && $cell.attr(\"tabindex\", 0)\r\n })\r\n }\r\n _hideVisibleCellInView(_ref2) {\r\n var {\r\n viewName: viewName,\r\n $cell: $cell,\r\n isCommandColumn: isCommandColumn\r\n } = _ref2;\r\n super._hideVisibleCellInView.apply(this, arguments);\r\n if (viewName === COLUMN_HEADERS_VIEW && !isCommandColumn && isCellInHeaderRow($cell)) {\r\n $cell.removeAttr(\"tabindex\")\r\n }\r\n }\r\n};\r\nexport var keyboardNavigationModule = {\r\n defaultOptions: () => ({\r\n useLegacyKeyboardNavigation: false,\r\n keyboardNavigation: {\r\n enabled: true,\r\n enterKeyAction: \"startEdit\",\r\n enterKeyDirection: \"none\",\r\n editOnKeyPress: false\r\n }\r\n }),\r\n controllers: {\r\n keyboardNavigation: KeyboardNavigationController\r\n },\r\n extenders: {\r\n views: {\r\n rowsView: rowsView\r\n },\r\n controllers: {\r\n editing: editing,\r\n data: data,\r\n adaptiveColumns: adaptiveColumns\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_aggregate_calculator.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n compileGetter\r\n} from \"../../../core/utils/data\";\r\nimport {\r\n isFunction\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n errors\r\n} from \"../../../data/errors\";\r\nimport {\r\n aggregators\r\n} from \"../../../data/utils\";\r\n\r\nfunction depthFirstSearch(i, depth, root, callback) {\r\n var j = 0;\r\n if (i < depth) {\r\n for (; j < root.items.length; j++) {\r\n depthFirstSearch(i + 1, depth, root.items[j], callback)\r\n }\r\n }\r\n if (i === depth) {\r\n callback(root)\r\n }\r\n}\r\n\r\nfunction map(array, callback) {\r\n var i;\r\n if (\"map\" in array) {\r\n return array.map(callback)\r\n }\r\n var result = new Array(array.length);\r\n for (i in array) {\r\n result[i] = callback(array[i], i)\r\n }\r\n return result\r\n}\r\n\r\nfunction isEmpty(x) {\r\n return x !== x || \"\" === x || null === x || void 0 === x\r\n}\r\n\r\nfunction isCount(aggregator) {\r\n return aggregator === aggregators.count\r\n}\r\n\r\nfunction normalizeAggregate(aggregate) {\r\n var selector = compileGetter(aggregate.selector);\r\n var skipEmptyValues = \"skipEmptyValues\" in aggregate ? aggregate.skipEmptyValues : true;\r\n var {\r\n aggregator: aggregator\r\n } = aggregate;\r\n if (\"string\" === typeof aggregator) {\r\n aggregator = aggregators[aggregator];\r\n if (!aggregator) {\r\n throw errors.Error(\"E4001\", aggregate.aggregator)\r\n }\r\n }\r\n return {\r\n selector: selector,\r\n aggregator: aggregator,\r\n skipEmptyValues: skipEmptyValues\r\n }\r\n}\r\nexport default class AggregateCalculator {\r\n constructor(options) {\r\n this._data = options.data;\r\n this._groupLevel = options.groupLevel || 0;\r\n this._totalAggregates = map(options.totalAggregates || [], normalizeAggregate);\r\n this._groupAggregates = map(options.groupAggregates || [], normalizeAggregate);\r\n this._totals = []\r\n }\r\n calculate() {\r\n if (this._totalAggregates.length) {\r\n this._calculateTotals(0, {\r\n items: this._data\r\n })\r\n }\r\n if (this._groupAggregates.length && this._groupLevel > 0) {\r\n this._calculateGroups({\r\n items: this._data\r\n })\r\n }\r\n }\r\n totalAggregates() {\r\n return this._totals\r\n }\r\n _aggregate(aggregates, data, container) {\r\n var length = data.items ? data.items.length : 0;\r\n for (var i = 0; i < aggregates.length; i++) {\r\n if (isCount(aggregates[i].aggregator)) {\r\n container[i] = (container[i] || 0) + length;\r\n continue\r\n }\r\n for (var j = 0; j < length; j++) {\r\n this._accumulate(i, aggregates[i], container, data.items[j])\r\n }\r\n }\r\n }\r\n _calculateTotals(level, data) {\r\n if (0 === level) {\r\n this._totals = this._seed(this._totalAggregates)\r\n }\r\n if (level === this._groupLevel) {\r\n this._aggregate(this._totalAggregates, data, this._totals)\r\n } else {\r\n for (var i = 0; i < data.items.length; i++) {\r\n this._calculateTotals(level + 1, data.items[i])\r\n }\r\n }\r\n if (0 === level) {\r\n this._totals = this._finalize(this._totalAggregates, this._totals)\r\n }\r\n }\r\n _calculateGroups(root) {\r\n var maxLevel = this._groupLevel;\r\n var currentLevel = maxLevel + 1;\r\n var seedFn = this._seed.bind(this, this._groupAggregates);\r\n var stepFn = this._aggregate.bind(this, this._groupAggregates);\r\n var finalizeFn = this._finalize.bind(this, this._groupAggregates);\r\n\r\n function aggregator(node) {\r\n node.aggregates = seedFn(currentLevel - 1);\r\n if (currentLevel === maxLevel) {\r\n stepFn(node, node.aggregates)\r\n } else {\r\n depthFirstSearch(currentLevel, maxLevel, node, innerNode => {\r\n stepFn(innerNode, node.aggregates)\r\n })\r\n }\r\n node.aggregates = finalizeFn(node.aggregates)\r\n }\r\n while (--currentLevel > 0) {\r\n depthFirstSearch(0, currentLevel, root, aggregator)\r\n }\r\n }\r\n _seed(aggregates, groupIndex) {\r\n return map(aggregates, aggregate => {\r\n var {\r\n aggregator: aggregator\r\n } = aggregate;\r\n var seed = \"seed\" in aggregator ? isFunction(aggregator.seed) ? aggregator.seed(groupIndex) : aggregator.seed : NaN;\r\n return seed\r\n })\r\n }\r\n _accumulate(aggregateIndex, aggregate, results, item) {\r\n var value = aggregate.selector(item);\r\n var {\r\n aggregator: aggregator\r\n } = aggregate;\r\n var {\r\n skipEmptyValues: skipEmptyValues\r\n } = aggregate;\r\n if (skipEmptyValues && isEmpty(value)) {\r\n return\r\n }\r\n if (results[aggregateIndex] !== results[aggregateIndex]) {\r\n results[aggregateIndex] = value\r\n } else {\r\n results[aggregateIndex] = aggregator.step(results[aggregateIndex], value)\r\n }\r\n }\r\n _finalize(aggregates, results) {\r\n return map(aggregates, (aggregate, index) => {\r\n var fin = aggregate.aggregator.finalize;\r\n return fin ? fin(results[index]) : results[index]\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/keyboard_navigation.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n keyboardNavigationModule\r\n} from \"../../../grids/grid_core/keyboard_navigation/m_keyboard_navigation\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"keyboardNavigation\", keyboardNavigationModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/summary/m_summary.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n compileGetter\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isFunction,\r\n isPlainObject,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport dataQuery from \"../../../../data/query\";\r\nimport storeHelper from \"../../../../data/store_helper\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"../../../../data/utils\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport {\r\n ColumnsView\r\n} from \"../../../grids/grid_core/views/m_columns_view\";\r\nimport AggregateCalculator from \"../m_aggregate_calculator\";\r\nimport gridCore from \"../m_core\";\r\nimport dataSourceAdapterProvider from \"../m_data_source_adapter\";\r\nvar DATAGRID_TOTAL_FOOTER_CLASS = \"dx-datagrid-total-footer\";\r\nvar DATAGRID_SUMMARY_ITEM_CLASS = \"dx-datagrid-summary-item\";\r\nvar DATAGRID_TEXT_CONTENT_CLASS = \"dx-datagrid-text-content\";\r\nvar DATAGRID_GROUP_FOOTER_CLASS = \"dx-datagrid-group-footer\";\r\nvar DATAGRID_GROUP_TEXT_CONTENT_CLASS = \"dx-datagrid-group-text-content\";\r\nvar DATAGRID_NOWRAP_CLASS = \"dx-datagrid-nowrap\";\r\nvar DATAGRID_FOOTER_ROW_CLASS = \"dx-footer-row\";\r\nvar DATAGRID_GROUP_FOOTER_ROW_TYPE = \"groupFooter\";\r\nvar DATAGRID_TOTAL_FOOTER_ROW_TYPE = \"totalFooter\";\r\nexport var renderSummaryCell = function(cell, options) {\r\n var $cell = $(cell);\r\n var {\r\n column: column\r\n } = options;\r\n var {\r\n summaryItems: summaryItems\r\n } = options;\r\n var $summaryItems = [];\r\n if (!column.command && summaryItems) {\r\n for (var i = 0; i < summaryItems.length; i++) {\r\n var summaryItem = summaryItems[i];\r\n $summaryItems.push($(\"<div>\").css(\"textAlign\", summaryItem.alignment || column.alignment).addClass(DATAGRID_SUMMARY_ITEM_CLASS).addClass(DATAGRID_TEXT_CONTENT_CLASS).addClass(summaryItem.cssClass).toggleClass(DATAGRID_GROUP_TEXT_CONTENT_CLASS, \"group\" === options.rowType).text(gridCore.getSummaryText(summaryItem, options.summaryTexts)))\r\n }\r\n $cell.append($summaryItems)\r\n }\r\n};\r\nvar getSummaryCellOptions = function(that, options) {\r\n var summaryTexts = that.option(\"summary.texts\") || {};\r\n return {\r\n totalItem: options.row,\r\n summaryItems: options.row.summaryCells[options.columnIndex],\r\n summaryTexts: summaryTexts\r\n }\r\n};\r\nvar getGroupAggregates = function(data) {\r\n return data.summary || data.aggregates || []\r\n};\r\nvar recalculateWhileEditing = function(that) {\r\n return that.option(\"summary.recalculateWhileEditing\")\r\n};\r\nvar forEachGroup = function forEachGroup(groups, groupCount, callback, path) {\r\n path = path || [];\r\n for (var i = 0; i < groups.length; i++) {\r\n path.push(groups[i].key);\r\n if (1 === groupCount) {\r\n callback(path, groups[i].items)\r\n } else {\r\n forEachGroup(groups[i].items, groupCount - 1, callback, path)\r\n }\r\n path.pop()\r\n }\r\n};\r\nvar applyAddedData = function applyAddedData(data, insertedData, groupLevel) {\r\n if (groupLevel) {\r\n return applyAddedData(data, insertedData.map(item => ({\r\n items: [item]\r\n }), groupLevel - 1))\r\n }\r\n return data.concat(insertedData)\r\n};\r\nvar applyRemovedData = function applyRemovedData(data, removedData, groupLevel) {\r\n if (groupLevel) {\r\n return data.map(data => {\r\n var updatedData = {};\r\n var updatedItems = applyRemovedData(data.items || [], removedData, groupLevel - 1);\r\n Object.defineProperty(updatedData, \"aggregates\", {\r\n get: () => data.aggregates,\r\n set: value => {\r\n data.aggregates = value\r\n }\r\n });\r\n return extend(updatedData, data, {\r\n items: updatedItems\r\n })\r\n })\r\n }\r\n return data.filter(data => removedData.indexOf(data) < 0)\r\n};\r\nvar sortGroupsBySummaryCore = function sortGroupsBySummaryCore(items, groups, sortByGroups) {\r\n if (!items || !groups.length) {\r\n return items\r\n }\r\n var group = groups[0];\r\n var sorts = sortByGroups[0];\r\n var query;\r\n if (group && sorts && sorts.length) {\r\n query = dataQuery(items);\r\n each(sorts, (function(index) {\r\n if (0 === index) {\r\n query = query.sortBy(this.selector, this.desc)\r\n } else {\r\n query = query.thenBy(this.selector, this.desc)\r\n }\r\n }));\r\n query.enumerate().done(sortedItems => {\r\n items = sortedItems\r\n })\r\n }\r\n groups = groups.slice(1);\r\n sortByGroups = sortByGroups.slice(1);\r\n if (groups.length && sortByGroups.length) {\r\n each(items, (function() {\r\n this.items = sortGroupsBySummaryCore(this.items, groups, sortByGroups)\r\n }))\r\n }\r\n return items\r\n};\r\nvar sortGroupsBySummary = function(data, group, summary) {\r\n var sortByGroups = summary && summary.sortByGroups && summary.sortByGroups();\r\n if (sortByGroups && sortByGroups.length) {\r\n return sortGroupsBySummaryCore(data, group, sortByGroups)\r\n }\r\n return data\r\n};\r\nvar calculateAggregates = function(that, summary, data, groupLevel) {\r\n var calculator;\r\n if (recalculateWhileEditing(that)) {\r\n var editingController = that._editingController;\r\n if (editingController) {\r\n var insertedData = editingController.getInsertedData();\r\n if (insertedData.length) {\r\n data = applyAddedData(data, insertedData, groupLevel)\r\n }\r\n var removedData = editingController.getRemovedData();\r\n if (removedData.length) {\r\n data = applyRemovedData(data, removedData, groupLevel)\r\n }\r\n }\r\n }\r\n if (summary) {\r\n calculator = new AggregateCalculator({\r\n totalAggregates: summary.totalAggregates,\r\n groupAggregates: summary.groupAggregates,\r\n data: data,\r\n groupLevel: groupLevel\r\n });\r\n calculator.calculate()\r\n }\r\n return calculator ? calculator.totalAggregates() : []\r\n};\r\nexport class FooterView extends ColumnsView {\r\n _getRows() {\r\n return this._dataController.footerItems()\r\n }\r\n _getCellOptions(options) {\r\n return extend(super._getCellOptions(options), getSummaryCellOptions(this, options))\r\n }\r\n _renderCellContent($cell, options) {\r\n renderSummaryCell($cell, options);\r\n super._renderCellContent.apply(this, arguments)\r\n }\r\n _renderCore(change) {\r\n var needUpdateScrollLeft = false;\r\n var totalItem = this._dataController.footerItems()[0];\r\n if (!change || !change.columnIndices) {\r\n this.element().empty().addClass(DATAGRID_TOTAL_FOOTER_CLASS).toggleClass(DATAGRID_NOWRAP_CLASS, !this.option(\"wordWrapEnabled\"));\r\n needUpdateScrollLeft = true\r\n }\r\n if (totalItem && totalItem.summaryCells && totalItem.summaryCells.length) {\r\n this._updateContent(this._renderTable({\r\n change: change\r\n }), change);\r\n needUpdateScrollLeft && this._updateScrollLeftPosition()\r\n }\r\n }\r\n _updateContent($newTable, change) {\r\n if (change && \"update\" === change.changeType && change.columnIndices) {\r\n return this.waitAsyncTemplates().done(() => {\r\n var $row = this.getTableElement().find(\".dx-row\");\r\n var $newRow = $newTable.find(\".dx-row\");\r\n this._updateCells($row, $newRow, change.columnIndices[0])\r\n })\r\n }\r\n return super._updateContent.apply(this, arguments)\r\n }\r\n _rowClick(e) {\r\n var item = this._dataController.footerItems()[e.rowIndex] || {};\r\n this.executeAction(\"onRowClick\", extend({}, e, item))\r\n }\r\n _columnOptionChanged(e) {\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n if (e.changeTypes.grouping) {\r\n return\r\n }\r\n if (optionNames.width || optionNames.visibleWidth) {\r\n super._columnOptionChanged(e)\r\n }\r\n }\r\n _handleDataChanged(e) {\r\n var {\r\n changeType: changeType\r\n } = e;\r\n if (\"update\" === e.changeType && e.repaintChangesOnly) {\r\n if (!e.totalColumnIndices) {\r\n this.render()\r\n } else if (e.totalColumnIndices.length) {\r\n this.render(null, {\r\n changeType: \"update\",\r\n columnIndices: [e.totalColumnIndices]\r\n })\r\n }\r\n } else if (\"refresh\" === changeType || \"append\" === changeType || \"prepend\" === changeType) {\r\n this.render()\r\n }\r\n }\r\n _createRow(row) {\r\n var $row = super._createRow.apply(this, arguments);\r\n if (row.rowType === DATAGRID_TOTAL_FOOTER_ROW_TYPE) {\r\n $row.addClass(DATAGRID_FOOTER_ROW_CLASS)\r\n }\r\n return $row\r\n }\r\n getHeight() {\r\n return this.getElementHeight()\r\n }\r\n isVisible() {\r\n return !!this._dataController.footerItems().length\r\n }\r\n}\r\nvar dataSourceAdapterExtender = Base => class extends Base {\r\n init() {\r\n super.init.apply(this, arguments);\r\n this._editingController = this.getController(\"editing\");\r\n this._totalAggregates = [];\r\n this._summaryGetter = noop\r\n }\r\n summaryGetter(summaryGetter) {\r\n if (!arguments.length) {\r\n return this._summaryGetter\r\n }\r\n if (isFunction(summaryGetter)) {\r\n this._summaryGetter = summaryGetter\r\n }\r\n }\r\n summary(summary) {\r\n if (!arguments.length) {\r\n return this._summaryGetter()\r\n }\r\n this._summaryGetter = function() {\r\n return summary\r\n }\r\n }\r\n totalAggregates() {\r\n return this._totalAggregates\r\n }\r\n isLastLevelGroupItemsPagingLocal() {\r\n var summary = this.summary();\r\n var sortByGroupsInfo = null === summary || void 0 === summary ? void 0 : summary.sortByGroups();\r\n return null === sortByGroupsInfo || void 0 === sortByGroupsInfo ? void 0 : sortByGroupsInfo.length\r\n }\r\n sortLastLevelGroupItems(items, groups, paths) {\r\n var groupedItems = storeHelper.multiLevelGroup(dataQuery(items), groups).toArray();\r\n var result = [];\r\n paths.forEach(path => {\r\n forEachGroup(groupedItems, groups.length, (itemsPath, items) => {\r\n if (path.toString() === itemsPath.toString()) {\r\n result = result.concat(items)\r\n }\r\n })\r\n });\r\n return result\r\n }\r\n _customizeRemoteOperations(options) {\r\n var summary = this.summary();\r\n if (summary) {\r\n if (options.remoteOperations.summary) {\r\n if (!options.isCustomLoading || options.storeLoadOptions.isLoadingAll) {\r\n if (options.storeLoadOptions.group) {\r\n if (options.remoteOperations.grouping) {\r\n options.storeLoadOptions.groupSummary = summary.groupAggregates\r\n } else if (summary.groupAggregates.length) {\r\n options.remoteOperations.paging = false\r\n }\r\n }\r\n options.storeLoadOptions.totalSummary = summary.totalAggregates\r\n }\r\n } else if (summary.totalAggregates.length || summary.groupAggregates.length && options.storeLoadOptions.group) {\r\n options.remoteOperations.paging = false\r\n }\r\n }\r\n super._customizeRemoteOperations.apply(this, arguments);\r\n var cachedExtra = options.cachedData.extra;\r\n if ((null === cachedExtra || void 0 === cachedExtra ? void 0 : cachedExtra.summary) && !options.isCustomLoading) {\r\n options.storeLoadOptions.totalSummary = void 0\r\n }\r\n }\r\n _handleDataLoadedCore(options) {\r\n var _a, _b;\r\n var groups = normalizeSortingInfo(options.storeLoadOptions.group || options.loadOptions.group || []);\r\n var remoteOperations = options.remoteOperations || {};\r\n var summary = this.summaryGetter()(remoteOperations);\r\n if (!options.isCustomLoading || options.storeLoadOptions.isLoadingAll) {\r\n if (remoteOperations.summary) {\r\n if (!remoteOperations.paging && groups.length && summary) {\r\n if (!remoteOperations.grouping) {\r\n calculateAggregates(this, {\r\n groupAggregates: summary.groupAggregates\r\n }, options.data, groups.length)\r\n }\r\n options.data = sortGroupsBySummary(options.data, groups, summary)\r\n }\r\n } else if (!remoteOperations.paging && summary) {\r\n var operationTypes = options.operationTypes || {};\r\n var hasOperations = Object.keys(operationTypes).some(type => operationTypes[type]);\r\n if (!hasOperations || !(null === (_b = null === (_a = options.cachedData) || void 0 === _a ? void 0 : _a.extra) || void 0 === _b ? void 0 : _b.summary) || groups.length && summary.groupAggregates.length) {\r\n var totalAggregates = calculateAggregates(this, summary, options.data, groups.length);\r\n options.extra = isPlainObject(options.extra) ? options.extra : {};\r\n options.extra.summary = totalAggregates;\r\n if (options.cachedData) {\r\n options.cachedData.extra = options.extra\r\n }\r\n }\r\n options.data = sortGroupsBySummary(options.data, groups, summary)\r\n }\r\n }\r\n if (!options.isCustomLoading) {\r\n this._totalAggregates = options.extra && options.extra.summary || this._totalAggregates\r\n }\r\n super._handleDataLoadedCore(options)\r\n }\r\n};\r\ndataSourceAdapterProvider.extend(dataSourceAdapterExtender);\r\nvar data = Base => class extends Base {\r\n _isDataColumn(column) {\r\n return column && (!isDefined(column.groupIndex) || column.showWhenGrouped)\r\n }\r\n _isGroupFooterVisible() {\r\n var groupItems = this.option(\"summary.groupItems\") || [];\r\n for (var i = 0; i < groupItems.length; i++) {\r\n var groupItem = groupItems[i];\r\n var column = this._columnsController.columnOption(groupItem.showInColumn || groupItem.column);\r\n if (groupItem.showInGroupFooter && this._isDataColumn(column)) {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n _processGroupItems(items, groupCount, options) {\r\n var data = options && options.data;\r\n var result = super._processGroupItems.apply(this, arguments);\r\n if (options) {\r\n if (void 0 === options.isGroupFooterVisible) {\r\n options.isGroupFooterVisible = this._isGroupFooterVisible()\r\n }\r\n if (data && data.items && options.isGroupFooterVisible && (options.collectContinuationItems || !data.isContinuationOnNextPage)) {\r\n result.push({\r\n rowType: DATAGRID_GROUP_FOOTER_ROW_TYPE,\r\n key: options.path.slice(),\r\n data: data,\r\n groupIndex: options.path.length - 1,\r\n values: []\r\n })\r\n }\r\n }\r\n return result\r\n }\r\n _processGroupItem(groupItem, options) {\r\n var that = this;\r\n if (!options.summaryGroupItems) {\r\n options.summaryGroupItems = that.option(\"summary.groupItems\") || []\r\n }\r\n if (\"group\" === groupItem.rowType) {\r\n var groupColumnIndex = -1;\r\n var afterGroupColumnIndex = -1;\r\n each(options.visibleColumns, (function(visibleIndex) {\r\n var prevColumn = options.visibleColumns[visibleIndex - 1];\r\n if (groupItem.groupIndex === this.groupIndex) {\r\n groupColumnIndex = this.index\r\n }\r\n if (visibleIndex > 0 && \"expand\" === prevColumn.command && \"expand\" !== this.command) {\r\n afterGroupColumnIndex = this.index\r\n }\r\n }));\r\n groupItem.summaryCells = this._calculateSummaryCells(options.summaryGroupItems, getGroupAggregates(groupItem.data), options.visibleColumns, (summaryItem, column) => {\r\n if (summaryItem.showInGroupFooter) {\r\n return -1\r\n }\r\n if (summaryItem.alignByColumn && column && !isDefined(column.groupIndex) && column.index !== afterGroupColumnIndex) {\r\n return column.index\r\n }\r\n return groupColumnIndex\r\n }, true)\r\n }\r\n if (groupItem.rowType === DATAGRID_GROUP_FOOTER_ROW_TYPE) {\r\n groupItem.summaryCells = this._calculateSummaryCells(options.summaryGroupItems, getGroupAggregates(groupItem.data), options.visibleColumns, (summaryItem, column) => summaryItem.showInGroupFooter && that._isDataColumn(column) ? column.index : -1)\r\n }\r\n return groupItem\r\n }\r\n _calculateSummaryCells(summaryItems, aggregates, visibleColumns, calculateTargetColumnIndex, isGroupRow) {\r\n var that = this;\r\n var summaryCells = [];\r\n var summaryCellsByColumns = {};\r\n each(summaryItems, (summaryIndex, summaryItem) => {\r\n var column = that._columnsController.columnOption(summaryItem.column);\r\n var showInColumn = summaryItem.showInColumn && that._columnsController.columnOption(summaryItem.showInColumn) || column;\r\n var columnIndex = calculateTargetColumnIndex(summaryItem, showInColumn);\r\n if (columnIndex >= 0) {\r\n if (!summaryCellsByColumns[columnIndex]) {\r\n summaryCellsByColumns[columnIndex] = []\r\n }\r\n var aggregate = aggregates[summaryIndex];\r\n if (aggregate === aggregate) {\r\n var valueFormat;\r\n if (isDefined(summaryItem.valueFormat)) {\r\n valueFormat = summaryItem.valueFormat\r\n } else if (\"count\" !== summaryItem.summaryType) {\r\n valueFormat = gridCore.getFormatByDataType(column && column.dataType)\r\n }\r\n summaryCellsByColumns[columnIndex].push(extend({}, summaryItem, {\r\n value: isString(aggregate) && column && column.deserializeValue ? column.deserializeValue(aggregate) : aggregate,\r\n valueFormat: valueFormat,\r\n columnCaption: column && column.index !== columnIndex ? column.caption : void 0\r\n }))\r\n }\r\n }\r\n });\r\n if (!isEmptyObject(summaryCellsByColumns)) {\r\n visibleColumns.forEach((column, visibleIndex) => {\r\n var prevColumn = visibleColumns[visibleIndex - 1];\r\n var columnIndex = isGroupRow && (\"expand\" === (null === prevColumn || void 0 === prevColumn ? void 0 : prevColumn.command) || \"expand\" === column.command) ? null === prevColumn || void 0 === prevColumn ? void 0 : prevColumn.index : column.index;\r\n summaryCells.push(summaryCellsByColumns[columnIndex] || [])\r\n })\r\n }\r\n return summaryCells\r\n }\r\n _getSummaryCells(summaryTotalItems, totalAggregates) {\r\n var that = this;\r\n var columnsController = that._columnsController;\r\n return that._calculateSummaryCells(summaryTotalItems, totalAggregates, columnsController.getVisibleColumns(), (summaryItem, column) => that._isDataColumn(column) ? column.index : -1)\r\n }\r\n _updateItemsCore(change) {\r\n var summaryCells;\r\n var dataSource = this._dataSource;\r\n var footerItems = this._footerItems;\r\n var oldSummaryCells = footerItems && footerItems[0] && footerItems[0].summaryCells;\r\n var summaryTotalItems = this.option(\"summary.totalItems\");\r\n this._footerItems = [];\r\n if (dataSource && summaryTotalItems && summaryTotalItems.length) {\r\n var totalAggregates = dataSource.totalAggregates();\r\n summaryCells = this._getSummaryCells(summaryTotalItems, totalAggregates);\r\n if (change && change.repaintChangesOnly && oldSummaryCells) {\r\n change.totalColumnIndices = summaryCells.map((summaryCell, index) => {\r\n if (JSON.stringify(summaryCell) !== JSON.stringify(oldSummaryCells[index])) {\r\n return index\r\n }\r\n return -1\r\n }).filter(index => index >= 0)\r\n }\r\n if (summaryCells.length) {\r\n this._footerItems.push({\r\n rowType: DATAGRID_TOTAL_FOOTER_ROW_TYPE,\r\n summaryCells: summaryCells\r\n })\r\n }\r\n }\r\n super._updateItemsCore(change)\r\n }\r\n _prepareUnsavedDataSelector(selector) {\r\n if (recalculateWhileEditing(this)) {\r\n var editingController = this._editingController;\r\n if (editingController) {\r\n return function(data) {\r\n data = editingController.getUpdatedData(data);\r\n return selector(data)\r\n }\r\n }\r\n }\r\n return selector\r\n }\r\n _prepareAggregateSelector(selector, aggregator) {\r\n selector = this._prepareUnsavedDataSelector(selector);\r\n if (\"avg\" === aggregator || \"sum\" === aggregator) {\r\n return function(data) {\r\n var value = selector(data);\r\n return isDefined(value) ? Number(value) : value\r\n }\r\n }\r\n return selector\r\n }\r\n _getAggregates(summaryItems, remoteOperations) {\r\n var that = this;\r\n var calculateCustomSummary = that.option(\"summary.calculateCustomSummary\");\r\n var commonSkipEmptyValues = that.option(\"summary.skipEmptyValues\");\r\n return map(summaryItems || [], summaryItem => {\r\n var column = this._columnsController.columnOption(summaryItem.column);\r\n var calculateCellValue = column && column.calculateCellValue ? column.calculateCellValue.bind(column) : compileGetter(column ? column.dataField : summaryItem.column);\r\n var aggregator = summaryItem.summaryType || \"count\";\r\n var skipEmptyValues = isDefined(summaryItem.skipEmptyValues) ? summaryItem.skipEmptyValues : commonSkipEmptyValues;\r\n if (remoteOperations) {\r\n return {\r\n selector: summaryItem.column,\r\n summaryType: aggregator\r\n }\r\n }\r\n var selector = that._prepareAggregateSelector(calculateCellValue, aggregator);\r\n if (\"custom\" === aggregator) {\r\n if (!calculateCustomSummary) {\r\n errors.log(\"E1026\");\r\n calculateCustomSummary = function() {}\r\n }\r\n var options = {\r\n component: that.component,\r\n name: summaryItem.name\r\n };\r\n calculateCustomSummary(options);\r\n options.summaryProcess = \"calculate\";\r\n aggregator = {\r\n seed(groupIndex) {\r\n options.summaryProcess = \"start\";\r\n options.totalValue = void 0;\r\n options.groupIndex = groupIndex;\r\n delete options.value;\r\n calculateCustomSummary(options);\r\n return options.totalValue\r\n },\r\n step(totalValue, value) {\r\n options.summaryProcess = \"calculate\";\r\n options.totalValue = totalValue;\r\n options.value = value;\r\n calculateCustomSummary(options);\r\n return options.totalValue\r\n },\r\n finalize(totalValue) {\r\n options.summaryProcess = \"finalize\";\r\n options.totalValue = totalValue;\r\n delete options.value;\r\n calculateCustomSummary(options);\r\n return options.totalValue\r\n }\r\n }\r\n }\r\n return {\r\n selector: selector,\r\n aggregator: aggregator,\r\n skipEmptyValues: skipEmptyValues\r\n }\r\n })\r\n }\r\n _addSortInfo(sortByGroups, groupColumn, selector, sortOrder) {\r\n if (groupColumn) {\r\n var {\r\n groupIndex: groupIndex\r\n } = groupColumn;\r\n sortOrder = sortOrder || groupColumn.sortOrder;\r\n if (isDefined(groupIndex)) {\r\n sortByGroups[groupIndex] = sortByGroups[groupIndex] || [];\r\n sortByGroups[groupIndex].push({\r\n selector: selector,\r\n desc: \"desc\" === sortOrder\r\n })\r\n }\r\n }\r\n }\r\n _findSummaryItem(summaryItems, name) {\r\n var summaryItemIndex = -1;\r\n if (isDefined(name)) {\r\n each(summaryItems || [], (function(index) {\r\n if (this.name === name || index === name || this.summaryType === name || this.column === name || function(summaryItem) {\r\n var {\r\n summaryType: summaryType\r\n } = summaryItem;\r\n var {\r\n column: column\r\n } = summaryItem;\r\n return summaryType && column && \"\".concat(summaryType, \"_\").concat(column)\r\n }(this) === name) {\r\n summaryItemIndex = index;\r\n return false\r\n }\r\n }))\r\n }\r\n return summaryItemIndex\r\n }\r\n _getSummarySortByGroups(sortByGroupSummaryInfo, groupSummaryItems) {\r\n var that = this;\r\n var columnsController = that._columnsController;\r\n var groupColumns = columnsController.getGroupColumns();\r\n var sortByGroups = [];\r\n if (!groupSummaryItems || !groupSummaryItems.length) {\r\n return\r\n }\r\n each(sortByGroupSummaryInfo || [], (function() {\r\n var {\r\n sortOrder: sortOrder\r\n } = this;\r\n var {\r\n groupColumn: groupColumn\r\n } = this;\r\n var summaryItemIndex = that._findSummaryItem(groupSummaryItems, this.summaryItem);\r\n if (summaryItemIndex < 0) {\r\n return\r\n }\r\n var selector = function(data) {\r\n return getGroupAggregates(data)[summaryItemIndex]\r\n };\r\n if (isDefined(groupColumn)) {\r\n groupColumn = columnsController.columnOption(groupColumn);\r\n that._addSortInfo(sortByGroups, groupColumn, selector, sortOrder)\r\n } else {\r\n each(groupColumns, (groupIndex, groupColumn) => {\r\n that._addSortInfo(sortByGroups, groupColumn, selector, sortOrder)\r\n })\r\n }\r\n }));\r\n return sortByGroups\r\n }\r\n _createDataSourceAdapterCore(dataSource, remoteOperations) {\r\n var that = this;\r\n var dataSourceAdapter = super._createDataSourceAdapterCore(dataSource, remoteOperations);\r\n dataSourceAdapter.summaryGetter(currentRemoteOperations => that._getSummaryOptions(currentRemoteOperations || remoteOperations));\r\n return dataSourceAdapter\r\n }\r\n _getSummaryOptions(remoteOperations) {\r\n var that = this;\r\n var groupSummaryItems = that.option(\"summary.groupItems\");\r\n var totalSummaryItems = that.option(\"summary.totalItems\");\r\n var sortByGroupSummaryInfo = that.option(\"sortByGroupSummaryInfo\");\r\n var groupAggregates = that._getAggregates(groupSummaryItems, remoteOperations && remoteOperations.grouping && remoteOperations.summary);\r\n var totalAggregates = that._getAggregates(totalSummaryItems, remoteOperations && remoteOperations.summary);\r\n if (groupAggregates.length || totalAggregates.length) {\r\n return {\r\n groupAggregates: groupAggregates,\r\n totalAggregates: totalAggregates,\r\n sortByGroups: function() {\r\n return that._getSummarySortByGroups(sortByGroupSummaryInfo, groupSummaryItems)\r\n }\r\n }\r\n }\r\n return\r\n }\r\n publicMethods() {\r\n var methods = super.publicMethods();\r\n methods.push(\"getTotalSummaryValue\");\r\n return methods\r\n }\r\n getTotalSummaryValue(summaryItemName) {\r\n var summaryItemIndex = this._findSummaryItem(this.option(\"summary.totalItems\"), summaryItemName);\r\n var aggregates = this._dataSource.totalAggregates();\r\n if (aggregates.length && summaryItemIndex > -1) {\r\n return aggregates[summaryItemIndex]\r\n }\r\n }\r\n optionChanged(args) {\r\n if (\"summary\" === args.name || \"sortByGroupSummaryInfo\" === args.name) {\r\n args.name = \"dataSource\"\r\n }\r\n super.optionChanged(args)\r\n }\r\n init() {\r\n this._footerItems = [];\r\n super.init()\r\n }\r\n footerItems() {\r\n return this._footerItems\r\n }\r\n};\r\nvar editing = Base => class extends Base {\r\n _refreshSummary() {\r\n if (recalculateWhileEditing(this) && !this.isSaving()) {\r\n this._dataController.refresh({\r\n load: true,\r\n changesOnly: true\r\n })\r\n }\r\n }\r\n _addChange(params) {\r\n var result = super._addChange.apply(this, arguments);\r\n if (params.type) {\r\n this._refreshSummary()\r\n }\r\n return result\r\n }\r\n _removeChange() {\r\n var result = super._removeChange.apply(this, arguments);\r\n this._refreshSummary();\r\n return result\r\n }\r\n cancelEditData() {\r\n var result = super.cancelEditData.apply(this, arguments);\r\n this._refreshSummary();\r\n return result\r\n }\r\n};\r\nvar rowsView = Base => class extends Base {\r\n _createRow(row) {\r\n var $row = super._createRow.apply(this, arguments);\r\n row && $row.addClass(row.rowType === DATAGRID_GROUP_FOOTER_ROW_TYPE ? DATAGRID_GROUP_FOOTER_CLASS : \"\");\r\n return $row\r\n }\r\n _renderCells($row, options) {\r\n super._renderCells.apply(this, arguments);\r\n if (\"group\" === options.row.rowType && options.row.summaryCells && options.row.summaryCells.length) {\r\n this._renderGroupSummaryCells($row, options)\r\n }\r\n }\r\n _hasAlignByColumnSummaryItems(columnIndex, options) {\r\n return !isDefined(options.columns[columnIndex].groupIndex) && options.row.summaryCells[columnIndex].length\r\n }\r\n _getAlignByColumnCellCount(groupCellColSpan, options) {\r\n var alignByColumnCellCount = 0;\r\n for (var i = 1; i < groupCellColSpan; i++) {\r\n var columnIndex = options.row.summaryCells.length - i;\r\n alignByColumnCellCount = this._hasAlignByColumnSummaryItems(columnIndex, options) ? i : alignByColumnCellCount\r\n }\r\n return alignByColumnCellCount\r\n }\r\n _renderGroupSummaryCells($row, options) {\r\n var $groupCell = $row.children().last();\r\n var groupCellColSpan = Number($groupCell.attr(\"colSpan\")) || 1;\r\n var alignByColumnCellCount = this._getAlignByColumnCellCount(groupCellColSpan, options);\r\n this._renderGroupSummaryCellsCore($groupCell, options, groupCellColSpan, alignByColumnCellCount)\r\n }\r\n _renderGroupSummaryCellsCore($groupCell, options, groupCellColSpan, alignByColumnCellCount) {\r\n if (alignByColumnCellCount > 0) {\r\n $groupCell.attr(\"colSpan\", groupCellColSpan - alignByColumnCellCount);\r\n for (var i = 0; i < alignByColumnCellCount; i++) {\r\n var columnIndex = options.columns.length - alignByColumnCellCount + i;\r\n this._renderCell($groupCell.parent(), extend({\r\n column: options.columns[columnIndex],\r\n columnIndex: this._getSummaryCellIndex(columnIndex, options.columns)\r\n }, options))\r\n }\r\n }\r\n }\r\n _getSummaryCellIndex(columnIndex, columns) {\r\n return columnIndex\r\n }\r\n _getCellTemplate(options) {\r\n if (!options.column.command && !isDefined(options.column.groupIndex) && options.summaryItems && options.summaryItems.length) {\r\n return renderSummaryCell\r\n }\r\n return super._getCellTemplate(options)\r\n }\r\n _getCellOptions(options) {\r\n var parameters = super._getCellOptions(options);\r\n if (options.row.summaryCells) {\r\n return extend(parameters, getSummaryCellOptions(this, options))\r\n }\r\n return parameters\r\n }\r\n};\r\ngridCore.registerModule(\"summary\", {\r\n defaultOptions: () => ({\r\n summary: {\r\n groupItems: void 0,\r\n totalItems: void 0,\r\n calculateCustomSummary: void 0,\r\n skipEmptyValues: true,\r\n recalculateWhileEditing: false,\r\n texts: {\r\n sum: messageLocalization.format(\"dxDataGrid-summarySum\"),\r\n sumOtherColumn: messageLocalization.format(\"dxDataGrid-summarySumOtherColumn\"),\r\n min: messageLocalization.format(\"dxDataGrid-summaryMin\"),\r\n minOtherColumn: messageLocalization.format(\"dxDataGrid-summaryMinOtherColumn\"),\r\n max: messageLocalization.format(\"dxDataGrid-summaryMax\"),\r\n maxOtherColumn: messageLocalization.format(\"dxDataGrid-summaryMaxOtherColumn\"),\r\n avg: messageLocalization.format(\"dxDataGrid-summaryAvg\"),\r\n avgOtherColumn: messageLocalization.format(\"dxDataGrid-summaryAvgOtherColumn\"),\r\n count: messageLocalization.format(\"dxDataGrid-summaryCount\")\r\n }\r\n },\r\n sortByGroupSummaryInfo: void 0\r\n }),\r\n views: {\r\n footerView: FooterView\r\n },\r\n extenders: {\r\n controllers: {\r\n data: data,\r\n editing: editing\r\n },\r\n views: {\r\n rowsView: rowsView\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/column_fixing/m_column_fixing.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n move\r\n} from \"../../../../animation/translator\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getOuterWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n setWidth\r\n} from \"../../../../core/utils/style\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n name as wheelEventName\r\n} from \"../../../../events/core/wheel\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Scrollable from \"../../../../ui/scroll_view/ui.scrollable\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n normalizeWidth\r\n} from \"../views/m_columns_view\";\r\nvar CONTENT_CLASS = \"content\";\r\nvar CONTENT_FIXED_CLASS = \"content-fixed\";\r\nvar MASTER_DETAIL_CELL_CLASS = \"dx-master-detail-cell\";\r\nvar FIRST_CELL_CLASS = \"dx-first-cell\";\r\nvar LAST_CELL_CLASS = \"dx-last-cell\";\r\nvar HOVER_STATE_CLASS = \"dx-state-hover\";\r\nvar FIXED_COL_CLASS = \"dx-col-fixed\";\r\nvar FIXED_COLUMNS_CLASS = \"dx-fixed-columns\";\r\nvar POINTER_EVENTS_NONE_CLASS = \"dx-pointer-events-none\";\r\nvar COMMAND_TRANSPARENT = \"transparent\";\r\nvar GROUP_ROW_CLASS = \"dx-group-row\";\r\nvar DETAIL_ROW_CLASS = \"dx-master-detail-row\";\r\nvar getTransparentColumnIndex = function(fixedColumns) {\r\n var transparentColumnIndex = -1;\r\n each(fixedColumns, (index, column) => {\r\n if (column.command === COMMAND_TRANSPARENT) {\r\n transparentColumnIndex = index;\r\n return false\r\n }\r\n return\r\n });\r\n return transparentColumnIndex\r\n};\r\nvar normalizeColumnWidths = function(fixedColumns, widths, fixedWidths) {\r\n var fixedColumnIndex = 0;\r\n if (fixedColumns && widths && fixedWidths) {\r\n for (var i = 0; i < fixedColumns.length; i++) {\r\n if (fixedColumns[i].command === COMMAND_TRANSPARENT) {\r\n fixedColumnIndex += fixedColumns[i].colspan\r\n } else {\r\n if (widths[fixedColumnIndex] < fixedWidths[i]) {\r\n widths[fixedColumnIndex] = fixedWidths[i]\r\n }\r\n fixedColumnIndex++\r\n }\r\n }\r\n }\r\n return widths\r\n};\r\nvar baseFixedColumns = Base => class extends Base {\r\n init() {\r\n super.init();\r\n this._isFixedTableRendering = false;\r\n this._isFixedColumns = false\r\n }\r\n _createCol(column) {\r\n return super._createCol(column).toggleClass(FIXED_COL_CLASS, !!(this._isFixedTableRendering && (column.fixed || column.command && column.command !== COMMAND_TRANSPARENT)))\r\n }\r\n isIndicesArray(arr) {\r\n return Array.isArray(arr) && arr.length > 0\r\n }\r\n _correctColumnIndicesForFixedColumns(fixedColumns, change) {\r\n var _a;\r\n var columnIndicesArray = null === change || void 0 === change ? void 0 : change.columnIndices;\r\n if (!this.isIndicesArray(columnIndicesArray)) {\r\n return\r\n }\r\n var transparentColumnIndex = getTransparentColumnIndex(fixedColumns);\r\n var transparentColspan = fixedColumns[transparentColumnIndex].colspan;\r\n var transparentOffset = transparentColumnIndex + transparentColspan;\r\n var rowTypes = null === (_a = null === change || void 0 === change ? void 0 : change.items) || void 0 === _a ? void 0 : _a.map(_ref => {\r\n var {\r\n rowType: rowType\r\n } = _ref;\r\n return rowType\r\n });\r\n change.columnIndices = columnIndicesArray.map((columnIndices, idx) => {\r\n if (!this.isIndicesArray(columnIndices)) {\r\n return columnIndices\r\n }\r\n var isGroupRow = rowTypes && \"group\" === rowTypes[idx];\r\n if (isGroupRow) {\r\n return [...columnIndices]\r\n }\r\n return columnIndices.reduce((result, colIdx) => {\r\n switch (true) {\r\n case colIdx < transparentColumnIndex:\r\n result.push(colIdx);\r\n break;\r\n case colIdx >= transparentOffset:\r\n result.push(colIdx - transparentColspan + 1)\r\n }\r\n return result\r\n }, [])\r\n })\r\n }\r\n _partialUpdateFixedTable(fixedColumns) {\r\n var fixedTableElement = this._fixedTableElement;\r\n var $rows = this._getRowElementsCore(fixedTableElement);\r\n var $colgroup = fixedTableElement.children(\"colgroup\");\r\n $colgroup.replaceWith(this._createColGroup(fixedColumns));\r\n for (var i = 0; i < $rows.length; i++) {\r\n this._partialUpdateFixedRow($($rows[i]), fixedColumns)\r\n }\r\n }\r\n _partialUpdateFixedRow($row, fixedColumns) {\r\n var _a;\r\n var cellElements = $row.get(0).childNodes;\r\n var transparentColumnIndex = getTransparentColumnIndex(fixedColumns);\r\n var transparentColumn = fixedColumns[transparentColumnIndex];\r\n var columnIndexOffset = this._columnsController.getColumnIndexOffset();\r\n var groupCellOptions;\r\n var colIndex = columnIndexOffset + 1;\r\n var {\r\n colspan: colspan\r\n } = transparentColumn;\r\n if ($row.hasClass(DETAIL_ROW_CLASS)) {\r\n cellElements[0].setAttribute(\"colspan\", null === (_a = this._columnsController.getVisibleColumns()) || void 0 === _a ? void 0 : _a.length);\r\n return\r\n }\r\n if ($row.hasClass(GROUP_ROW_CLASS)) {\r\n groupCellOptions = this._getGroupCellOptions({\r\n row: $row.data(\"options\"),\r\n columns: this._columnsController.getVisibleColumns()\r\n });\r\n colspan = groupCellOptions.colspan - Math.max(0, cellElements.length - (groupCellOptions.columnIndex + 2))\r\n }\r\n for (var j = 0; j < cellElements.length; j++) {\r\n var needUpdateColspan = groupCellOptions ? j === groupCellOptions.columnIndex + 1 : j === transparentColumnIndex;\r\n cellElements[j].setAttribute(\"aria-colindex\", colIndex);\r\n if (needUpdateColspan) {\r\n cellElements[j].setAttribute(\"colspan\", colspan);\r\n colIndex += colspan\r\n } else {\r\n colIndex++\r\n }\r\n }\r\n }\r\n _renderTable(options) {\r\n var _a;\r\n var $fixedTable;\r\n var fixedColumns = this.getFixedColumns();\r\n this._isFixedColumns = !!fixedColumns.length;\r\n var $table = super._renderTable(options);\r\n if (this._isFixedColumns) {\r\n var change = null === options || void 0 === options ? void 0 : options.change;\r\n var $fixedDataRows = this._getRowElements(this._fixedTableElement);\r\n var needPartialUpdate = (null === change || void 0 === change ? void 0 : change.virtualColumnsScrolling) && $fixedDataRows.length === (null === (_a = null === change || void 0 === change ? void 0 : change.items) || void 0 === _a ? void 0 : _a.length);\r\n this._isFixedTableRendering = true;\r\n if (needPartialUpdate && true !== this.option(\"scrolling.legacyMode\")) {\r\n this._partialUpdateFixedTable(fixedColumns);\r\n this._isFixedTableRendering = false\r\n } else {\r\n var columnIndices = null === change || void 0 === change ? void 0 : change.columnIndices;\r\n this._correctColumnIndicesForFixedColumns(fixedColumns, change);\r\n $fixedTable = this._createTable(fixedColumns);\r\n this._renderRows($fixedTable, extend({}, options, {\r\n columns: fixedColumns\r\n }));\r\n this._updateContent($fixedTable, change, true);\r\n if (columnIndices) {\r\n change.columnIndices = columnIndices\r\n }\r\n this._isFixedTableRendering = false\r\n }\r\n } else {\r\n this._fixedTableElement && this._fixedTableElement.parent().remove();\r\n this._fixedTableElement = null\r\n }\r\n return $table\r\n }\r\n _renderRow($table, options) {\r\n var fixedCorrection;\r\n var {\r\n cells: cells\r\n } = options.row;\r\n super._renderRow.apply(this, arguments);\r\n if (this._isFixedTableRendering && cells && cells.length) {\r\n fixedCorrection = 0;\r\n var fixedCells = options.row.cells || [];\r\n cells = cells.slice();\r\n options.row.cells = cells;\r\n for (var i = 0; i < fixedCells.length; i++) {\r\n if (fixedCells[i].column && fixedCells[i].column.command === COMMAND_TRANSPARENT) {\r\n fixedCorrection = (fixedCells[i].column.colspan || 1) - 1;\r\n continue\r\n }\r\n cells[i + fixedCorrection] = fixedCells[i]\r\n }\r\n }\r\n }\r\n _createCell(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var columnCommand = column && column.command;\r\n var {\r\n rowType: rowType\r\n } = options;\r\n var $cell = super._createCell.apply(this, arguments);\r\n var fixedColumns;\r\n var prevFixedColumn;\r\n var transparentColumnIndex;\r\n if (this._isFixedTableRendering || \"filter\" === rowType) {\r\n fixedColumns = this.getFixedColumns();\r\n transparentColumnIndex = getTransparentColumnIndex(fixedColumns);\r\n prevFixedColumn = fixedColumns[transparentColumnIndex - 1]\r\n }\r\n if (this._isFixedTableRendering) {\r\n if (columnCommand === COMMAND_TRANSPARENT) {\r\n $cell.addClass(POINTER_EVENTS_NONE_CLASS).toggleClass(FIRST_CELL_CLASS, 0 === transparentColumnIndex || prevFixedColumn && \"expand\" === prevFixedColumn.command).toggleClass(LAST_CELL_CLASS, fixedColumns.length && transparentColumnIndex === fixedColumns.length - 1);\r\n if (\"freeSpace\" !== rowType) {\r\n gridCoreUtils.setEmptyText($cell)\r\n }\r\n }\r\n } else if (\"filter\" === rowType) {\r\n $cell.toggleClass(FIRST_CELL_CLASS, options.columnIndex === transparentColumnIndex)\r\n }\r\n var isRowAltStyle = this.option(\"rowAlternationEnabled\") && options.isAltRow;\r\n var isSelectAllCell = \"multiple\" === this.option(\"selection.mode\") && 0 === options.columnIndex && \"header\" === options.rowType;\r\n if (browser.mozilla && options.column.fixed && \"group\" !== options.rowType && !isRowAltStyle && !isSelectAllCell) {\r\n $cell.addClass(FIXED_COL_CLASS)\r\n }\r\n return $cell\r\n }\r\n _getContent(isFixedTableRendering) {\r\n var _a;\r\n return isFixedTableRendering ? null === (_a = this._fixedTableElement) || void 0 === _a ? void 0 : _a.parent() : super._getContent.apply(this, arguments)\r\n }\r\n _wrapTableInScrollContainer($table, isFixedTableRendering) {\r\n var $scrollContainer = super._wrapTableInScrollContainer.apply(this, arguments);\r\n if (this._isFixedTableRendering || isFixedTableRendering) {\r\n $scrollContainer.addClass(this.addWidgetPrefix(CONTENT_FIXED_CLASS))\r\n }\r\n return $scrollContainer\r\n }\r\n _renderCellContent($cell, options) {\r\n var isEmptyCell;\r\n var {\r\n column: column\r\n } = options;\r\n var isFixedTableRendering = this._isFixedTableRendering;\r\n var isGroupCell = \"group\" === options.rowType && isDefined(column.groupIndex);\r\n if (isFixedTableRendering && isGroupCell && !column.command && !column.groupCellTemplate) {\r\n $cell.css(\"pointerEvents\", \"none\")\r\n }\r\n if (!isFixedTableRendering && this._isFixedColumns) {\r\n isEmptyCell = column.fixed || column.command && false !== column.fixed;\r\n if (isGroupCell) {\r\n isEmptyCell = false;\r\n if (options.row.summaryCells && options.row.summaryCells.length) {\r\n var columns = this._columnsController.getVisibleColumns();\r\n var alignByFixedColumnCellCount = this._getAlignByColumnCellCount ? this._getAlignByColumnCellCount(column.colspan, {\r\n columns: columns,\r\n row: options.row,\r\n isFixed: true\r\n }) : 0;\r\n if (alignByFixedColumnCellCount > 0) {\r\n var transparentColumnIndex = getTransparentColumnIndex(this._columnsController.getFixedColumns());\r\n isEmptyCell = columns.length - alignByFixedColumnCellCount < transparentColumnIndex\r\n }\r\n }\r\n }\r\n if (isEmptyCell) {\r\n if (column.command && \"buttons\" !== column.type || \"group\" === options.rowType) {\r\n $cell.html(\" \").addClass(column.cssClass);\r\n return\r\n }\r\n $cell.addClass(\"dx-hidden-cell\")\r\n }\r\n }\r\n if (column.command !== COMMAND_TRANSPARENT) {\r\n super._renderCellContent.apply(this, arguments)\r\n }\r\n }\r\n _getCellElementsCore(rowIndex) {\r\n var cellElements = super._getCellElementsCore.apply(this, arguments);\r\n var isGroupRow = null === cellElements || void 0 === cellElements ? void 0 : cellElements.parent().hasClass(GROUP_ROW_CLASS);\r\n var headerRowIndex = \"columnHeadersView\" === this.name ? rowIndex : void 0;\r\n if (this._fixedTableElement && cellElements) {\r\n var fixedColumns = this.getFixedColumns(headerRowIndex);\r\n var fixedCellElements = this._getRowElements(this._fixedTableElement).eq(rowIndex).children(\"td\");\r\n each(fixedCellElements, (columnIndex, cell) => {\r\n if (isGroupRow) {\r\n if (cellElements[columnIndex] && \"hidden\" !== cell.style.visibility) {\r\n cellElements[columnIndex] = cell\r\n }\r\n } else {\r\n var fixedColumn = fixedColumns[columnIndex];\r\n if (fixedColumn) {\r\n if (fixedColumn.command === COMMAND_TRANSPARENT) {\r\n if (fixedCellElements.eq(columnIndex).hasClass(MASTER_DETAIL_CELL_CLASS)) {\r\n cellElements[columnIndex] = cell || cellElements[columnIndex]\r\n }\r\n } else {\r\n var fixedColumnIndex = this._columnsController.getVisibleIndexByColumn(fixedColumn, headerRowIndex);\r\n cellElements[fixedColumnIndex] = cell || cellElements[fixedColumnIndex]\r\n }\r\n }\r\n }\r\n })\r\n }\r\n return cellElements\r\n }\r\n getColumnWidths(fixedTableElement) {\r\n var result = super.getColumnWidths();\r\n var fixedColumns = this.getFixedColumns();\r\n var fixedWidths = this._fixedTableElement && result.length ? super.getColumnWidths(this._fixedTableElement) : void 0;\r\n return normalizeColumnWidths(fixedColumns, result, fixedWidths)\r\n }\r\n getTableElement(isFixedTableRendering) {\r\n isFixedTableRendering = this._isFixedTableRendering || isFixedTableRendering;\r\n var tableElement = isFixedTableRendering ? this._fixedTableElement : super.getTableElement();\r\n return tableElement\r\n }\r\n setTableElement(tableElement, isFixedTableRendering) {\r\n if (this._isFixedTableRendering || isFixedTableRendering) {\r\n this._fixedTableElement = tableElement.addClass(POINTER_EVENTS_NONE_CLASS)\r\n } else {\r\n super.setTableElement(tableElement)\r\n }\r\n }\r\n getColumns(rowIndex) {\r\n var $tableElement = this.getTableElement();\r\n if (this._isFixedTableRendering) {\r\n return this.getFixedColumns(rowIndex)\r\n }\r\n return super.getColumns(rowIndex, $tableElement)\r\n }\r\n getRowIndex($row) {\r\n var $fixedTable = this._fixedTableElement;\r\n if ($fixedTable && $fixedTable.find($row).length) {\r\n return this._getRowElements($fixedTable).index($row)\r\n }\r\n return super.getRowIndex($row)\r\n }\r\n getTableElements() {\r\n var result = super.getTableElements.apply(this, arguments);\r\n if (this._fixedTableElement) {\r\n result = $([result.get(0), this._fixedTableElement.get(0)])\r\n }\r\n return result\r\n }\r\n getFixedColumns(rowIndex) {\r\n return this._columnsController.getFixedColumns(rowIndex)\r\n }\r\n getFixedColumnsOffset() {\r\n var offset = {\r\n left: 0,\r\n right: 0\r\n };\r\n var $transparentColumn;\r\n if (this._fixedTableElement) {\r\n $transparentColumn = this.getTransparentColumnElement();\r\n var positionTransparentColumn = $transparentColumn.position();\r\n offset = {\r\n left: positionTransparentColumn.left,\r\n right: getOuterWidth(this.element(), true) - (getOuterWidth($transparentColumn, true) + positionTransparentColumn.left)\r\n }\r\n }\r\n return offset\r\n }\r\n getTransparentColumnElement() {\r\n return this._fixedTableElement && this._fixedTableElement.find(\".\".concat(POINTER_EVENTS_NONE_CLASS)).first()\r\n }\r\n getFixedTableElement() {\r\n return this._fixedTableElement\r\n }\r\n isFixedColumns() {\r\n return this._isFixedColumns\r\n }\r\n _resizeCore() {\r\n super._resizeCore();\r\n this.synchronizeRows()\r\n }\r\n setColumnWidths(options) {\r\n var _a;\r\n var {\r\n widths: widths\r\n } = options;\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var isColumnWidthsSynced = (null === widths || void 0 === widths ? void 0 : widths.length) && visibleColumns.some(column => isDefined(column.visibleWidth));\r\n var isColumnWidthChanged = null === (_a = options.optionNames) || void 0 === _a ? void 0 : _a.width;\r\n super.setColumnWidths(options);\r\n if (this._fixedTableElement) {\r\n var hasAutoWidth = null === widths || void 0 === widths ? void 0 : widths.some(width => \"auto\" === width || !isDefined(width));\r\n var needVisibleColumns = hasAutoWidth && (!isColumnWidthsSynced || !this.isScrollbarVisible(true));\r\n var columns = needVisibleColumns ? visibleColumns : this.getFixedColumns();\r\n this.setFixedTableColumnWidths(columns, widths)\r\n }\r\n var wordWrapEnabled = this.option(\"wordWrapEnabled\");\r\n var needSynchronizeRows = isColumnWidthsSynced || isColumnWidthChanged && wordWrapEnabled;\r\n if (needSynchronizeRows) {\r\n this.synchronizeRows()\r\n }\r\n }\r\n setFixedTableColumnWidths(columns, widths) {\r\n if (!this._fixedTableElement || !widths) {\r\n return\r\n }\r\n var $cols = this._fixedTableElement.children(\"colgroup\").children(\"col\");\r\n $cols.toArray().forEach(col => col.removeAttribute(\"style\"));\r\n var columnIndex = 0;\r\n columns.forEach(column => {\r\n if (column.colspan) {\r\n columnIndex += column.colspan;\r\n return\r\n }\r\n var colWidth = normalizeWidth(widths[columnIndex]);\r\n if (isDefined(colWidth)) {\r\n setWidth($cols.eq(columnIndex), colWidth)\r\n }\r\n columnIndex += 1\r\n })\r\n }\r\n _getClientHeight(element) {\r\n var boundingClientRectElement = element.getBoundingClientRect && getBoundingRect(element);\r\n return boundingClientRectElement && boundingClientRectElement.height ? boundingClientRectElement.height : element.clientHeight\r\n }\r\n synchronizeRows() {\r\n var rowHeights = [];\r\n var fixedRowHeights = [];\r\n var rowIndex;\r\n var $rowElements;\r\n var $fixedRowElements;\r\n var $contentElement;\r\n this.waitAsyncTemplates(true).done(() => {\r\n if (this._isFixedColumns && this._tableElement && this._fixedTableElement) {\r\n var heightTable = this._getClientHeight(this._tableElement.get(0));\r\n var heightFixedTable = this._getClientHeight(this._fixedTableElement.get(0));\r\n $rowElements = this._getRowElements(this._tableElement);\r\n $fixedRowElements = this._getRowElements(this._fixedTableElement);\r\n $contentElement = this._findContentElement();\r\n if (heightTable !== heightFixedTable) {\r\n $contentElement && $contentElement.css(\"height\", heightTable);\r\n $rowElements.css(\"height\", \"\");\r\n $fixedRowElements.css(\"height\", \"\");\r\n for (rowIndex = 0; rowIndex < $rowElements.length; rowIndex++) {\r\n rowHeights.push(this._getClientHeight($rowElements.get(rowIndex)));\r\n fixedRowHeights.push(this._getClientHeight($fixedRowElements.get(rowIndex)))\r\n }\r\n for (rowIndex = 0; rowIndex < $rowElements.length; rowIndex++) {\r\n var rowHeight = rowHeights[rowIndex];\r\n var fixedRowHeight = fixedRowHeights[rowIndex];\r\n if (rowHeight > fixedRowHeight) {\r\n $fixedRowElements.eq(rowIndex).css(\"height\", rowHeight)\r\n } else if (rowHeight < fixedRowHeight) {\r\n $rowElements.eq(rowIndex).css(\"height\", fixedRowHeight)\r\n }\r\n }\r\n $contentElement && $contentElement.css(\"height\", \"\")\r\n }\r\n }\r\n })\r\n }\r\n setScrollerSpacing(width, hWidth) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n super.setScrollerSpacing(width);\r\n this.element().children(\".\".concat(this.addWidgetPrefix(CONTENT_FIXED_CLASS))).css({\r\n paddingLeft: rtlEnabled ? width : \"\",\r\n paddingRight: !rtlEnabled ? width : \"\"\r\n })\r\n }\r\n};\r\nvar columnHeadersView = Base => class extends(baseFixedColumns(Base)) {\r\n _getRowVisibleColumns(rowIndex) {\r\n if (this._isFixedTableRendering) {\r\n return this.getFixedColumns(rowIndex)\r\n }\r\n return super._getRowVisibleColumns(rowIndex)\r\n }\r\n getContextMenuItems(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var columnFixingOptions = this.option(\"columnFixing\");\r\n var items = super.getContextMenuItems(options);\r\n if (options.row && \"header\" === options.row.rowType) {\r\n if (true === columnFixingOptions.enabled && column && column.allowFixing) {\r\n var onItemClick = params => {\r\n switch (params.itemData.value) {\r\n case \"none\":\r\n this._columnsController.columnOption(column.index, \"fixed\", false);\r\n break;\r\n case \"left\":\r\n this._columnsController.columnOption(column.index, {\r\n fixed: true,\r\n fixedPosition: \"left\"\r\n });\r\n break;\r\n case \"right\":\r\n this._columnsController.columnOption(column.index, {\r\n fixed: true,\r\n fixedPosition: \"right\"\r\n })\r\n }\r\n };\r\n items = items || [];\r\n items.push({\r\n text: columnFixingOptions.texts.fix,\r\n beginGroup: true,\r\n items: [{\r\n text: columnFixingOptions.texts.leftPosition,\r\n value: \"left\",\r\n disabled: column.fixed && (!column.fixedPosition || \"left\" === column.fixedPosition),\r\n onItemClick: onItemClick\r\n }, {\r\n text: columnFixingOptions.texts.rightPosition,\r\n value: \"right\",\r\n disabled: column.fixed && \"right\" === column.fixedPosition,\r\n onItemClick: onItemClick\r\n }]\r\n }, {\r\n text: columnFixingOptions.texts.unfix,\r\n value: \"none\",\r\n disabled: !column.fixed,\r\n onItemClick: onItemClick\r\n })\r\n }\r\n }\r\n return items\r\n }\r\n getFixedColumnElements(rowIndex) {\r\n if (isDefined(rowIndex)) {\r\n return this._fixedTableElement && this._getRowElements(this._fixedTableElement).eq(rowIndex).children()\r\n }\r\n var columnElements = this.getColumnElements();\r\n var $transparentColumnElement = this.getTransparentColumnElement();\r\n if (columnElements && $transparentColumnElement && $transparentColumnElement.length) {\r\n var transparentColumnIndex = getTransparentColumnIndex(this.getFixedColumns());\r\n columnElements.splice(transparentColumnIndex, $transparentColumnElement.get(0).colSpan, $transparentColumnElement.get(0))\r\n }\r\n return columnElements\r\n }\r\n getColumnWidths() {\r\n var fixedWidths;\r\n var result = super.getColumnWidths();\r\n var $fixedColumnElements = this.getFixedColumnElements();\r\n var fixedColumns = this.getFixedColumns();\r\n if (this._fixedTableElement) {\r\n if ($fixedColumnElements && $fixedColumnElements.length) {\r\n fixedWidths = this._getWidths($fixedColumnElements)\r\n } else {\r\n fixedWidths = super.getColumnWidths(this._fixedTableElement)\r\n }\r\n }\r\n return normalizeColumnWidths(fixedColumns, result, fixedWidths)\r\n }\r\n};\r\nvar rowsView = Base => class extends(baseFixedColumns(Base)) {\r\n dispose() {\r\n super.dispose.apply(this, arguments);\r\n clearTimeout(this._fixedScrollTimeout)\r\n }\r\n optionChanged(args) {\r\n super.optionChanged(args);\r\n if (\"hoverStateEnabled\" === args.name && this._isFixedColumns) {\r\n args.value ? this._attachHoverEvents() : this._detachHoverEvents()\r\n }\r\n }\r\n _detachHoverEvents() {\r\n var element = this.element();\r\n if (this._fixedTableElement && this._tableElement) {\r\n eventsEngine.off(element, \"mouseover mouseout\", \".dx-data-row\")\r\n }\r\n }\r\n _attachHoverEvents() {\r\n if (this._fixedTableElement && this._tableElement) {\r\n eventsEngine.on(this.element(), \"mouseover mouseout\", \".dx-data-row\", this.createAction(args => {\r\n var {\r\n event: event\r\n } = args;\r\n var rowIndex = this.getRowIndex($(event.target).closest(\".dx-row\"));\r\n var isHover = \"mouseover\" === event.type;\r\n if (rowIndex >= 0) {\r\n this._tableElement && this._getRowElements(this._tableElement).eq(rowIndex).toggleClass(HOVER_STATE_CLASS, isHover);\r\n this._fixedTableElement && this._getRowElements(this._fixedTableElement).eq(rowIndex).toggleClass(HOVER_STATE_CLASS, isHover)\r\n }\r\n }))\r\n }\r\n }\r\n _getScrollDelay() {\r\n var _a;\r\n var hasResizeTimeout = null === (_a = this._resizingController) || void 0 === _a ? void 0 : _a.hasResizeTimeout();\r\n if (hasResizeTimeout) {\r\n return this.option(\"scrolling.updateTimeout\")\r\n }\r\n return browser.mozilla ? 60 : 0\r\n }\r\n _findContentElement(isFixedTableRendering) {\r\n var $content;\r\n var scrollTop;\r\n var contentClass = this.addWidgetPrefix(CONTENT_CLASS);\r\n var element = this.element();\r\n isFixedTableRendering = this._isFixedTableRendering || isFixedTableRendering;\r\n if (element && isFixedTableRendering) {\r\n $content = element.children(\".\".concat(contentClass));\r\n var scrollable = this.getScrollable();\r\n if (!$content.length && scrollable) {\r\n $content = $(\"<div>\").addClass(contentClass);\r\n eventsEngine.on($content, \"scroll\", e => {\r\n var {\r\n target: target\r\n } = e;\r\n var scrollDelay = this._getScrollDelay();\r\n clearTimeout(this._fixedScrollTimeout);\r\n this._fixedScrollTimeout = setTimeout(() => {\r\n scrollTop = $(target).scrollTop();\r\n scrollable.scrollTo({\r\n y: scrollTop\r\n })\r\n }, scrollDelay)\r\n });\r\n eventsEngine.on($content, wheelEventName, e => {\r\n var $nearestScrollable = $(e.target).closest(\".dx-scrollable\");\r\n var shouldScroll = false;\r\n if (scrollable && scrollable.$element().is($nearestScrollable)) {\r\n shouldScroll = true\r\n } else {\r\n var nearestScrollableInstance = $nearestScrollable.length && Scrollable.getInstance($nearestScrollable.get(0));\r\n var nearestScrollableHasVerticalScrollbar = nearestScrollableInstance && nearestScrollableInstance.scrollHeight() - nearestScrollableInstance.clientHeight() > 0;\r\n shouldScroll = nearestScrollableInstance && !nearestScrollableHasVerticalScrollbar\r\n }\r\n if (shouldScroll) {\r\n scrollTop = scrollable.scrollTop();\r\n scrollable.scrollTo({\r\n y: scrollTop - e.delta\r\n });\r\n var scrollableTop = scrollable.scrollTop() + scrollable.clientHeight();\r\n var scrollableHeight = scrollable.scrollHeight() + this.getScrollbarWidth();\r\n var isPreventDefault = scrollable.scrollTop() > 0 && scrollableTop < scrollableHeight;\r\n if (isPreventDefault) {\r\n return false\r\n }\r\n }\r\n return\r\n });\r\n $content.appendTo(element)\r\n }\r\n return $content\r\n }\r\n return super._findContentElement()\r\n }\r\n _updateScrollable() {\r\n super._updateScrollable();\r\n var scrollable = this.getScrollable();\r\n if (null === scrollable || void 0 === scrollable ? void 0 : scrollable._disposed) {\r\n return\r\n }\r\n var scrollTop = scrollable && scrollable.scrollOffset().top;\r\n this._updateFixedTablePosition(scrollTop)\r\n }\r\n _renderContent(contentElement, tableElement, isFixedTableRendering) {\r\n if (this._isFixedTableRendering || isFixedTableRendering) {\r\n return contentElement.empty().addClass(\"\".concat(this.addWidgetPrefix(CONTENT_CLASS), \" \").concat(this.addWidgetPrefix(CONTENT_FIXED_CLASS))).append(tableElement)\r\n }\r\n return super._renderContent(contentElement, tableElement)\r\n }\r\n _getGroupCellOptions(options) {\r\n if (this._isFixedTableRendering) {\r\n return super._getGroupCellOptions(extend({}, options, {\r\n columns: this._columnsController.getVisibleColumns()\r\n }))\r\n }\r\n return super._getGroupCellOptions(options)\r\n }\r\n _renderGroupedCells($row, options) {\r\n return super._renderGroupedCells($row, extend({}, options, {\r\n columns: this._columnsController.getVisibleColumns()\r\n }))\r\n }\r\n _renderGroupSummaryCells($row, options) {\r\n if (this._isFixedTableRendering) {\r\n super._renderGroupSummaryCells($row, extend({}, options, {\r\n columns: this._columnsController.getVisibleColumns()\r\n }))\r\n } else {\r\n super._renderGroupSummaryCells($row, options)\r\n }\r\n }\r\n _hasAlignByColumnSummaryItems(columnIndex, options) {\r\n var result = super._hasAlignByColumnSummaryItems.apply(this, arguments);\r\n var column = options.columns[columnIndex];\r\n if (options.isFixed) {\r\n return column.fixed && (result || \"right\" === column.fixedPosition)\r\n }\r\n return result && (!this._isFixedColumns || !column.fixed)\r\n }\r\n _renderGroupSummaryCellsCore($groupCell, options, groupCellColSpan, alignByColumnCellCount) {\r\n var alignByFixedColumnCellCount;\r\n if (this._isFixedTableRendering) {\r\n options.isFixed = true;\r\n alignByFixedColumnCellCount = this._getAlignByColumnCellCount(groupCellColSpan, options);\r\n options.isFixed = false;\r\n var startColumnIndex = options.columns.length - alignByFixedColumnCellCount;\r\n options = extend({}, options, {\r\n columns: this.getFixedColumns()\r\n });\r\n var transparentColumnIndex = getTransparentColumnIndex(options.columns);\r\n if (startColumnIndex < transparentColumnIndex) {\r\n alignByFixedColumnCellCount -= options.columns[transparentColumnIndex].colspan - 1 || 0;\r\n groupCellColSpan -= options.columns[transparentColumnIndex].colspan - 1 || 0\r\n } else if (alignByColumnCellCount > 0) {\r\n $groupCell.css(\"visibility\", \"hidden\")\r\n }\r\n alignByColumnCellCount = alignByFixedColumnCellCount\r\n }\r\n super._renderGroupSummaryCellsCore($groupCell, options, groupCellColSpan, alignByColumnCellCount)\r\n }\r\n _getSummaryCellIndex(columnIndex, columns) {\r\n if (this._isFixedTableRendering) {\r\n var transparentColumnIndex = getTransparentColumnIndex(columns);\r\n if (columnIndex > transparentColumnIndex) {\r\n columnIndex += columns[transparentColumnIndex].colspan - 1\r\n }\r\n return columnIndex\r\n }\r\n return super._getSummaryCellIndex.apply(this, arguments)\r\n }\r\n _renderCore(change) {\r\n this._detachHoverEvents();\r\n var deferred = super._renderCore(change);\r\n var isFixedColumns = this._isFixedColumns;\r\n this.element().toggleClass(FIXED_COLUMNS_CLASS, isFixedColumns);\r\n if (this.option(\"hoverStateEnabled\") && isFixedColumns) {\r\n this._attachHoverEvents()\r\n }\r\n return deferred\r\n }\r\n setRowsOpacity(columnIndex, value) {\r\n super.setRowsOpacity(columnIndex, value);\r\n var $rows = this._getRowElements(this._fixedTableElement);\r\n this._setRowsOpacityCore($rows, this.getFixedColumns(), columnIndex, value)\r\n }\r\n getCellIndex($cell) {\r\n var $fixedTable = this._fixedTableElement;\r\n var cellIndex = 0;\r\n if ($fixedTable && $cell.is(\"td\") && $cell.closest($fixedTable).length) {\r\n var columns = this.getFixedColumns();\r\n each(columns, (index, column) => {\r\n if (index === $cell[0].cellIndex) {\r\n return false\r\n }\r\n if (column.colspan) {\r\n cellIndex += column.colspan;\r\n return\r\n }\r\n cellIndex++;\r\n return\r\n });\r\n return cellIndex\r\n }\r\n return super.getCellIndex.apply(this, arguments)\r\n }\r\n _updateFixedTablePosition(scrollTop, needFocus) {\r\n if (this._fixedTableElement && this._tableElement) {\r\n var $focusedElement;\r\n this._fixedTableElement.parent().scrollTop(scrollTop);\r\n if (needFocus && this._editorFactoryController) {\r\n $focusedElement = this._editorFactoryController.focus();\r\n $focusedElement && this._editorFactoryController.focus($focusedElement)\r\n }\r\n }\r\n }\r\n setScrollerSpacing(vWidth, hWidth) {\r\n var styles = {\r\n marginBottom: 0\r\n };\r\n var $fixedContent = this.element().children(\".\".concat(this.addWidgetPrefix(CONTENT_FIXED_CLASS)));\r\n if ($fixedContent.length && this._fixedTableElement) {\r\n $fixedContent.css(styles);\r\n this._fixedTableElement.css(styles);\r\n styles[this.option(\"rtlEnabled\") ? \"marginLeft\" : \"marginRight\"] = vWidth;\r\n styles.marginBottom = hWidth;\r\n var useNativeScrolling = this._scrollable && this._scrollable.option(\"useNative\");\r\n (useNativeScrolling ? $fixedContent : this._fixedTableElement).css(styles)\r\n }\r\n }\r\n _getElasticScrollTop(e) {\r\n var elasticScrollTop = 0;\r\n if (e.scrollOffset.top < 0) {\r\n elasticScrollTop = -e.scrollOffset.top\r\n } else if (e.reachedBottom) {\r\n var $scrollableContent = $(e.component.content());\r\n var $scrollableContainer = $(e.component.container());\r\n var maxScrollTop = Math.max($scrollableContent.get(0).clientHeight - $scrollableContainer.get(0).clientHeight, 0);\r\n elasticScrollTop = Math.min(maxScrollTop - e.scrollOffset.top, 0)\r\n }\r\n return Math.floor(elasticScrollTop)\r\n }\r\n _applyElasticScrolling(e) {\r\n if (this._fixedTableElement) {\r\n var elasticScrollTop = this._getElasticScrollTop(e);\r\n if (0 !== Math.ceil(elasticScrollTop)) {\r\n move(this._fixedTableElement, {\r\n top: elasticScrollTop\r\n })\r\n } else {\r\n this._fixedTableElement.css(\"transform\", \"\")\r\n }\r\n }\r\n }\r\n _handleScroll(e) {\r\n this._updateFixedTablePosition(e.scrollOffset.top, true);\r\n this._applyElasticScrolling(e);\r\n super._handleScroll(e)\r\n }\r\n _updateContentPosition(isRender) {\r\n super._updateContentPosition.apply(this, arguments);\r\n if (!isRender) {\r\n this._updateFixedTablePosition(this._scrollTop)\r\n }\r\n }\r\n _afterRowPrepared(e) {\r\n if (this._isFixedTableRendering) {\r\n return\r\n }\r\n super._afterRowPrepared(e)\r\n }\r\n _scrollToElement($element) {\r\n super._scrollToElement($element, this.getFixedColumnsOffset())\r\n }\r\n};\r\nvar footerView = Base => class extends(baseFixedColumns(Base)) {};\r\nvar normalizeColumnIndicesByPoints = function(columns, fixedColumns, pointsByColumns) {\r\n var transparentColumnIndex = getTransparentColumnIndex(fixedColumns);\r\n var correctIndex = columns.length - fixedColumns.length;\r\n each(pointsByColumns, (_, point) => {\r\n if (point.index > transparentColumnIndex) {\r\n point.columnIndex += correctIndex;\r\n point.index += correctIndex\r\n }\r\n });\r\n return pointsByColumns\r\n};\r\nvar draggingHeader = Base => class extends Base {\r\n _generatePointsByColumns(options) {\r\n var visibleColumns = options.columns;\r\n var {\r\n targetDraggingPanel: targetDraggingPanel\r\n } = options;\r\n if (targetDraggingPanel && \"headers\" === targetDraggingPanel.getName() && targetDraggingPanel.isFixedColumns()) {\r\n if (options.sourceColumn.fixed) {\r\n if (!options.rowIndex) {\r\n options.columnElements = targetDraggingPanel.getFixedColumnElements(0)\r\n }\r\n options.columns = targetDraggingPanel.getFixedColumns(options.rowIndex);\r\n var pointsByColumns = super._generatePointsByColumns(options);\r\n normalizeColumnIndicesByPoints(visibleColumns, options.columns, pointsByColumns);\r\n return pointsByColumns\r\n }\r\n }\r\n return super._generatePointsByColumns(options)\r\n }\r\n _pointCreated(point, columns, location, sourceColumn) {\r\n var result = super._pointCreated.apply(this, arguments);\r\n var targetColumn = columns[point.columnIndex];\r\n var $transparentColumn = this._columnHeadersView.getTransparentColumnElement();\r\n if (!result && \"headers\" === location && $transparentColumn && $transparentColumn.length) {\r\n var boundingRect = getBoundingRect($transparentColumn.get(0));\r\n if (sourceColumn && sourceColumn.fixed) {\r\n return \"right\" === sourceColumn.fixedPosition ? point.x < boundingRect.right : point.x > boundingRect.left\r\n }\r\n if (targetColumn && targetColumn.fixed && \"right\" !== targetColumn.fixedPosition) {\r\n return true\r\n }\r\n return point.x < boundingRect.left || point.x > boundingRect.right\r\n }\r\n return result\r\n }\r\n};\r\nvar columnsResizer = Base => class extends Base {\r\n _generatePointsByColumns() {\r\n var that = this;\r\n var columnsController = that._columnsController;\r\n var columns = columnsController && that._columnsController.getVisibleColumns();\r\n var fixedColumns = columnsController && that._columnsController.getFixedColumns();\r\n var transparentColumnIndex = getTransparentColumnIndex(fixedColumns);\r\n var correctIndex = columns.length - fixedColumns.length;\r\n var cells = that._columnHeadersView.getFixedColumnElements();\r\n super._generatePointsByColumns();\r\n if (cells && cells.length > 0) {\r\n that._pointsByFixedColumns = gridCoreUtils.getPointsByColumns(cells, point => {\r\n if (point.index > transparentColumnIndex) {\r\n point.columnIndex += correctIndex;\r\n point.index += correctIndex\r\n }\r\n return that._pointCreated(point, columns.length, columns)\r\n })\r\n }\r\n }\r\n _getTargetPoint(pointsByColumns, currentX, deltaX) {\r\n var $transparentColumn = this._columnHeadersView.getTransparentColumnElement();\r\n if ($transparentColumn && $transparentColumn.length) {\r\n var boundingRect = getBoundingRect($transparentColumn.get(0));\r\n if (currentX <= boundingRect.left || currentX >= boundingRect.right) {\r\n return super._getTargetPoint(this._pointsByFixedColumns, currentX, deltaX)\r\n }\r\n }\r\n return super._getTargetPoint(pointsByColumns, currentX, deltaX)\r\n }\r\n};\r\nexport var columnFixingModule = {\r\n defaultOptions: () => ({\r\n columnFixing: {\r\n enabled: false,\r\n texts: {\r\n fix: messageLocalization.format(\"dxDataGrid-columnFixingFix\"),\r\n unfix: messageLocalization.format(\"dxDataGrid-columnFixingUnfix\"),\r\n leftPosition: messageLocalization.format(\"dxDataGrid-columnFixingLeftPosition\"),\r\n rightPosition: messageLocalization.format(\"dxDataGrid-columnFixingRightPosition\")\r\n }\r\n }\r\n }),\r\n extenders: {\r\n views: {\r\n columnHeadersView: columnHeadersView,\r\n rowsView: rowsView,\r\n footerView: footerView\r\n },\r\n controllers: {\r\n draggingHeader: draggingHeader,\r\n columnsResizer: columnsResizer\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/column_fixing.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnFixingModule\r\n} from \"../../../grids/grid_core/column_fixing/m_column_fixing\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"columnFixing\", columnFixingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/adaptivity/m_adaptivity.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Guid from \"../../../../core/guid\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isElementInDom\r\n} from \"../../../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../../../../events/remove\";\r\nimport {\r\n addNamespace\r\n} from \"../../../../events/utils/index\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Form from \"../../../../ui/form\";\r\nimport {\r\n isMaterial\r\n} from \"../../../../ui/themes\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar COLUMN_HEADERS_VIEW = \"columnHeadersView\";\r\nvar ROWS_VIEW = \"rowsView\";\r\nvar FOOTER_VIEW = \"footerView\";\r\nvar COLUMN_VIEWS = [COLUMN_HEADERS_VIEW, ROWS_VIEW, FOOTER_VIEW];\r\nvar ADAPTIVE_NAMESPACE = \"dxDataGridAdaptivity\";\r\nvar HIDDEN_COLUMNS_WIDTH = \"adaptiveHidden\";\r\nvar ADAPTIVE_ROW_TYPE = \"detailAdaptive\";\r\nvar FORM_ITEM_CONTENT_CLASS = \"dx-field-item-content\";\r\nvar FORM_ITEM_MODIFIED = \"dx-item-modified\";\r\nvar HIDDEN_COLUMN_CLASS = \"hidden-column\";\r\nvar ADAPTIVE_COLUMN_BUTTON_CLASS = \"adaptive-more\";\r\nvar ADAPTIVE_COLUMN_NAME_CLASS = \"dx-command-adaptive\";\r\nvar COMMAND_ADAPTIVE_HIDDEN_CLASS = \"dx-command-adaptive-hidden\";\r\nvar ADAPTIVE_DETAIL_ROW_CLASS = \"dx-adaptive-detail-row\";\r\nvar ADAPTIVE_ITEM_TEXT_CLASS = \"dx-adaptive-item-text\";\r\nvar MASTER_DETAIL_CELL_CLASS = \"dx-master-detail-cell\";\r\nvar LAST_DATA_CELL_CLASS = \"dx-last-data-cell\";\r\nvar ADAPTIVE_COLUMN_NAME = \"adaptive\";\r\nvar EDIT_MODE_BATCH = \"batch\";\r\nvar EDIT_MODE_ROW = \"row\";\r\nvar EDIT_MODE_FORM = \"form\";\r\nvar EDIT_MODE_POPUP = \"popup\";\r\nvar REVERT_TOOLTIP_CLASS = \"revert-tooltip\";\r\nvar GROUP_CELL_CLASS = \"dx-group-cell\";\r\nvar GROUP_ROW_CLASS = \"dx-group-row\";\r\nvar EXPAND_ARIA_NAME = \"dxDataGrid-ariaAdaptiveExpand\";\r\nvar COLLAPSE_ARIA_NAME = \"dxDataGrid-ariaAdaptiveCollapse\";\r\nvar LEGACY_SCROLLING_MODE = \"scrolling.legacyMode\";\r\n\r\nfunction getColumnId(that, column) {\r\n return that._columnsController.getColumnId(column)\r\n}\r\n\r\nfunction getDataCellElements($row) {\r\n return $row.find(\"td:not(.dx-datagrid-hidden-column):not([class*='dx-command-'])\")\r\n}\r\n\r\nfunction adaptiveCellTemplate(container, options) {\r\n var $adaptiveColumnButton;\r\n var $container = $(container);\r\n var adaptiveColumnsController = options.component.getController(\"adaptiveColumns\");\r\n if (\"data\" === options.rowType) {\r\n $adaptiveColumnButton = $(\"<span>\").addClass(adaptiveColumnsController.addWidgetPrefix(ADAPTIVE_COLUMN_BUTTON_CLASS));\r\n eventsEngine.on($adaptiveColumnButton, addNamespace(clickEventName, ADAPTIVE_NAMESPACE), adaptiveColumnsController.createAction(() => {\r\n adaptiveColumnsController.toggleExpandAdaptiveDetailRow(options.key)\r\n }));\r\n $adaptiveColumnButton.appendTo($container)\r\n } else {\r\n gridCoreUtils.setEmptyText($container)\r\n }\r\n}\r\n\r\nfunction focusCellHandler(e) {\r\n var _a;\r\n var $nextCell = null === (_a = e.data) || void 0 === _a ? void 0 : _a.$nextCell;\r\n eventsEngine.off($nextCell, \"focus\", focusCellHandler);\r\n eventsEngine.trigger($nextCell, \"dxclick\")\r\n}\r\nexport class AdaptiveColumnsController extends modules.ViewController {\r\n init() {\r\n this._columnsController = this.getController(\"columns\");\r\n this._dataController = this.getController(\"data\");\r\n this._editingController = this.getController(\"editing\");\r\n this._keyboardNavigationController = this.getController(\"keyboardNavigation\");\r\n this._rowsView = this.getView(\"rowsView\");\r\n this._columnsController.addCommandColumn({\r\n type: ADAPTIVE_COLUMN_NAME,\r\n command: ADAPTIVE_COLUMN_NAME,\r\n visible: true,\r\n adaptiveHidden: true,\r\n cssClass: ADAPTIVE_COLUMN_NAME_CLASS,\r\n alignment: \"center\",\r\n width: \"auto\",\r\n cellTemplate: adaptiveCellTemplate,\r\n fixedPosition: \"right\"\r\n });\r\n this._columnsController.columnsChanged.add(() => {\r\n var isAdaptiveVisible = !!this.updateHidingQueue(this._columnsController.getColumns()).length;\r\n this._columnsController.columnOption(\"command:adaptive\", \"adaptiveHidden\", !isAdaptiveVisible, true)\r\n });\r\n this._hidingColumnsQueue = [];\r\n this._hiddenColumns = [];\r\n this.createAction(\"onAdaptiveDetailRowPreparing\");\r\n super.init()\r\n }\r\n optionChanged(args) {\r\n if (\"columnHidingEnabled\" === args.name) {\r\n this._columnsController.columnOption(\"command:adaptive\", \"adaptiveHidden\", !args.value)\r\n }\r\n super.optionChanged(args)\r\n }\r\n publicMethods() {\r\n return [\"isAdaptiveDetailRowExpanded\", \"expandAdaptiveDetailRow\", \"collapseAdaptiveDetailRow\"]\r\n }\r\n _isRowEditMode() {\r\n var editMode = this._getEditMode();\r\n return editMode === EDIT_MODE_ROW\r\n }\r\n _isItemModified(item, cellOptions) {\r\n var columnIndex = this._columnsController.getVisibleIndex(item.column.index);\r\n var rowIndex = this._dataController.getRowIndexByKey(cellOptions.key);\r\n var row = this._dataController.items()[rowIndex + 1];\r\n return row && row.modifiedValues && isDefined(row.modifiedValues[columnIndex])\r\n }\r\n _renderFormViewTemplate(item, cellOptions, $container) {\r\n var that = this;\r\n var {\r\n column: column\r\n } = item;\r\n var focusAction = that.createAction(() => {\r\n if (that._editingController.isEditing()) {\r\n eventsEngine.trigger($container, clickEventName)\r\n }\r\n });\r\n var rowData = cellOptions.row.data;\r\n var value = column.calculateCellValue(rowData);\r\n var displayValue = gridCoreUtils.getDisplayValue(column, value, rowData, cellOptions.rowType);\r\n var text = gridCoreUtils.formatValue(displayValue, column);\r\n var isCellOrBatchEditMode = this._editingController.isCellOrBatchEditMode();\r\n var rowsView = that._rowsView;\r\n if (column.allowEditing && this._keyboardNavigationController.isKeyboardEnabled()) {\r\n $container.attr(\"tabIndex\", that.option(\"tabIndex\"));\r\n if (isCellOrBatchEditMode) {\r\n eventsEngine.off($container, \"focus\", focusAction);\r\n eventsEngine.on($container, \"focus\", focusAction)\r\n }\r\n }\r\n if (column.cellTemplate) {\r\n var templateOptions = extend({}, cellOptions, {\r\n value: value,\r\n displayValue: displayValue,\r\n text: text,\r\n column: column\r\n });\r\n rowsView.renderTemplate($container, column.cellTemplate, templateOptions, isElementInDom($container)).done(() => {\r\n rowsView._cellPrepared($container, cellOptions)\r\n })\r\n } else {\r\n var container = $container.get(0);\r\n if (column.encodeHtml) {\r\n container.textContent = text\r\n } else {\r\n container.innerHTML = text\r\n }\r\n $container.addClass(ADAPTIVE_ITEM_TEXT_CLASS);\r\n if (!isDefined(text) || \"\" === text) {\r\n $container.html(\" \")\r\n }\r\n if (!that._isRowEditMode()) {\r\n if (that._isItemModified(item, cellOptions)) {\r\n $container.addClass(FORM_ITEM_MODIFIED)\r\n }\r\n }\r\n rowsView._cellPrepared($container, cellOptions)\r\n }\r\n }\r\n _getTemplate(item, cellOptions, updateForm) {\r\n var that = this;\r\n var {\r\n column: column\r\n } = item;\r\n var editingController = this._editingController;\r\n return function(options, container) {\r\n var $container = $(container);\r\n var columnIndex = that._columnsController.getVisibleIndex(column.index);\r\n var templateOptions = extend({}, cellOptions);\r\n var renderFormTemplate = function() {\r\n var isItemEdited = that._isItemEdited(item);\r\n templateOptions.value = cellOptions.row.values[columnIndex];\r\n if (isItemEdited || column.showEditorAlways) {\r\n editingController.renderFormEditorTemplate(templateOptions, item, options, $container, !isItemEdited)\r\n } else {\r\n templateOptions.column = column;\r\n templateOptions.columnIndex = columnIndex;\r\n that._renderFormViewTemplate(item, templateOptions, $container)\r\n }\r\n };\r\n renderFormTemplate();\r\n if (templateOptions.watch) {\r\n var dispose = templateOptions.watch(() => ({\r\n isItemEdited: that._isItemEdited(item),\r\n value: cellOptions.row.values[columnIndex]\r\n }), () => {\r\n $container.contents().remove();\r\n $container.removeClass(ADAPTIVE_ITEM_TEXT_CLASS);\r\n renderFormTemplate()\r\n });\r\n eventsEngine.on($container, removeEvent, dispose)\r\n }\r\n }\r\n }\r\n _isVisibleColumnsValid(visibleColumns) {\r\n if (visibleColumns < 2) {\r\n return false\r\n }\r\n if (visibleColumns.length - function() {\r\n var result = 0;\r\n for (var j = 0; j < visibleColumns.length; j++) {\r\n var visibleColumn = visibleColumns[j];\r\n if (visibleColumn.command) {\r\n result++\r\n }\r\n }\r\n return result\r\n }() <= 1) {\r\n return false\r\n }\r\n return true\r\n }\r\n _calculatePercentWidths(widths, visibleColumns) {\r\n var that = this;\r\n var percentWidths = 0;\r\n visibleColumns.forEach((item, index) => {\r\n if (widths[index] !== HIDDEN_COLUMNS_WIDTH) {\r\n percentWidths += that._getItemPercentWidth(item)\r\n }\r\n });\r\n return percentWidths\r\n }\r\n _isPercentWidth(width) {\r\n return isString(width) && width.endsWith(\"%\")\r\n }\r\n _isColumnHidden(column) {\r\n return this._hiddenColumns.filter(hiddenColumn => hiddenColumn.index === column.index).length > 0\r\n }\r\n _getAverageColumnsWidth(containerWidth, columns, columnsCanFit) {\r\n var that = this;\r\n var fixedColumnsWidth = 0;\r\n var columnsWithoutFixedWidthCount = 0;\r\n columns.forEach(column => {\r\n if (!that._isColumnHidden(column)) {\r\n var {\r\n width: width\r\n } = column;\r\n if (isDefined(width) && !isNaN(parseFloat(width))) {\r\n fixedColumnsWidth += that._isPercentWidth(width) ? that._calculatePercentWidth({\r\n visibleIndex: column.visibleIndex,\r\n columnsCount: columns.length,\r\n columnsCanFit: columnsCanFit,\r\n bestFitWidth: column.bestFitWidth,\r\n columnWidth: width,\r\n containerWidth: containerWidth\r\n }) : parseFloat(width)\r\n } else {\r\n columnsWithoutFixedWidthCount++\r\n }\r\n }\r\n });\r\n return (containerWidth - fixedColumnsWidth) / columnsWithoutFixedWidthCount\r\n }\r\n _calculateColumnWidth(column, containerWidth, contentColumns, columnsCanFit) {\r\n var columnId = getColumnId(this, column);\r\n var widthOption = this._columnsController.columnOption(columnId, \"width\");\r\n var bestFitWidth = this._columnsController.columnOption(columnId, \"bestFitWidth\");\r\n var columnsCount = contentColumns.length;\r\n var colWidth;\r\n if (widthOption && \"auto\" !== widthOption) {\r\n if (this._isPercentWidth(widthOption)) {\r\n colWidth = this._calculatePercentWidth({\r\n visibleIndex: column.visibleIndex,\r\n columnsCount: columnsCount,\r\n columnsCanFit: columnsCanFit,\r\n bestFitWidth: bestFitWidth,\r\n columnWidth: widthOption,\r\n containerWidth: containerWidth\r\n })\r\n } else {\r\n return parseFloat(widthOption)\r\n }\r\n } else {\r\n var columnAutoWidth = this.option(\"columnAutoWidth\");\r\n colWidth = columnAutoWidth || !!column.command ? bestFitWidth : this._getAverageColumnsWidth(containerWidth, contentColumns, columnsCanFit)\r\n }\r\n return colWidth\r\n }\r\n _calculatePercentWidth(options) {\r\n var columnFitted = options.visibleIndex < options.columnsCount - 1 && options.columnsCanFit;\r\n var partialWidth = options.containerWidth * parseFloat(options.columnWidth) / 100;\r\n var resultWidth = options.columnsCanFit && partialWidth < options.bestFitWidth ? options.bestFitWidth : partialWidth;\r\n return columnFitted ? options.containerWidth * parseFloat(options.columnWidth) / 100 : resultWidth\r\n }\r\n _getNotTruncatedColumnWidth(column, containerWidth, contentColumns, columnsCanFit) {\r\n var columnId = getColumnId(this, column);\r\n var widthOption = this._columnsController.columnOption(columnId, \"width\");\r\n var bestFitWidth = this._columnsController.columnOption(columnId, \"bestFitWidth\");\r\n if (widthOption && \"auto\" !== widthOption && !this._isPercentWidth(widthOption)) {\r\n return parseFloat(widthOption)\r\n }\r\n var colWidth = this._calculateColumnWidth(column, containerWidth, contentColumns, columnsCanFit);\r\n return colWidth < bestFitWidth ? null : colWidth\r\n }\r\n _getItemPercentWidth(item) {\r\n var result = 0;\r\n if (item.width && this._isPercentWidth(item.width)) {\r\n result = parseFloat(item.width)\r\n }\r\n return result\r\n }\r\n _getCommandColumnsWidth() {\r\n var that = this;\r\n var columns = that._columnsController.getVisibleColumns();\r\n var colWidth = 0;\r\n each(columns, (index, column) => {\r\n if (column.index < 0 || column.command) {\r\n colWidth += that._columnsController.columnOption(getColumnId(that, column), \"bestFitWidth\") || 0\r\n }\r\n });\r\n return colWidth\r\n }\r\n _isItemEdited(item) {\r\n if (this.isFormOrPopupEditMode()) {\r\n return false\r\n }\r\n if (this._isRowEditMode()) {\r\n var editRowKey = this.option(\"editing.editRowKey\");\r\n if (equalByValue(editRowKey, this._dataController.adaptiveExpandedKey())) {\r\n return true\r\n }\r\n } else {\r\n var rowIndex = this._dataController.getRowIndexByKey(this._dataController.adaptiveExpandedKey()) + 1;\r\n var columnIndex = this._columnsController.getVisibleIndex(item.column.index);\r\n return this._editingController.isEditCell(rowIndex, columnIndex)\r\n }\r\n return\r\n }\r\n _getFormItemsByHiddenColumns(hiddenColumns) {\r\n var items = [];\r\n each(hiddenColumns, (_, column) => {\r\n items.push({\r\n column: column,\r\n name: column.name,\r\n dataField: column.dataField,\r\n visibleIndex: column.visibleIndex\r\n })\r\n });\r\n return items\r\n }\r\n _getAdaptiveColumnVisibleIndex(visibleColumns) {\r\n for (var i = 0; i < visibleColumns.length; i++) {\r\n var column = visibleColumns[i];\r\n if (column.command === ADAPTIVE_COLUMN_NAME) {\r\n return i\r\n }\r\n }\r\n return\r\n }\r\n _hideAdaptiveColumn(resultWidths, visibleColumns) {\r\n var visibleIndex = this._getAdaptiveColumnVisibleIndex(visibleColumns);\r\n if (isDefined(visibleIndex)) {\r\n resultWidths[visibleIndex] = HIDDEN_COLUMNS_WIDTH;\r\n this._hideVisibleColumn({\r\n isCommandColumn: true,\r\n visibleIndex: visibleIndex\r\n })\r\n }\r\n }\r\n _showHiddenCellsInView(_ref) {\r\n var {\r\n $cells: $cells,\r\n isCommandColumn: isCommandColumn\r\n } = _ref;\r\n var cssClassNameToRemove = this.addWidgetPrefix(HIDDEN_COLUMN_CLASS);\r\n if (isCommandColumn) {\r\n cssClassNameToRemove = COMMAND_ADAPTIVE_HIDDEN_CLASS;\r\n $cells.attr({\r\n tabIndex: 0,\r\n \"aria-hidden\": null\r\n }).removeClass(cssClassNameToRemove)\r\n } else {\r\n $cells.removeClass(cssClassNameToRemove)\r\n }\r\n }\r\n _showHiddenColumns() {\r\n for (var i = 0; i < COLUMN_VIEWS.length; i++) {\r\n var view = this.getView(COLUMN_VIEWS[i]);\r\n if (view && view.isVisible() && view.element()) {\r\n var viewName = view.name;\r\n var $hiddenCommandCells = view.element().find(\".\".concat(COMMAND_ADAPTIVE_HIDDEN_CLASS));\r\n this._showHiddenCellsInView({\r\n viewName: viewName,\r\n $cells: $hiddenCommandCells,\r\n isCommandColumn: true\r\n });\r\n var $hiddenCells = view.element().find(\".\".concat(this.addWidgetPrefix(HIDDEN_COLUMN_CLASS)));\r\n this._showHiddenCellsInView({\r\n viewName: viewName,\r\n $cells: $hiddenCells\r\n })\r\n }\r\n }\r\n }\r\n _isCellValid($cell) {\r\n return $cell && $cell.length && !$cell.hasClass(MASTER_DETAIL_CELL_CLASS) && !$cell.hasClass(GROUP_CELL_CLASS)\r\n }\r\n _hideVisibleColumn(_ref2) {\r\n var {\r\n isCommandColumn: isCommandColumn,\r\n visibleIndex: visibleIndex\r\n } = _ref2;\r\n var that = this;\r\n COLUMN_VIEWS.forEach(viewName => {\r\n var view = that.getView(viewName);\r\n view && that._hideVisibleColumnInView({\r\n view: view,\r\n isCommandColumn: isCommandColumn,\r\n visibleIndex: visibleIndex\r\n })\r\n })\r\n }\r\n _hideVisibleColumnInView(_ref3) {\r\n var {\r\n view: view,\r\n isCommandColumn: isCommandColumn,\r\n visibleIndex: visibleIndex\r\n } = _ref3;\r\n var viewName = view.name;\r\n var $cellElement;\r\n var column = this._columnsController.getVisibleColumns()[visibleIndex];\r\n var editFormRowIndex = this._editingController && this._editingController.getEditFormRowIndex();\r\n if (view && view.isVisible() && column) {\r\n var rowsCount = view.getRowsCount();\r\n var $rowElements = view._getRowElements();\r\n for (var rowIndex = 0; rowIndex < rowsCount; rowIndex++) {\r\n var cancelClassAdding = rowIndex === editFormRowIndex && viewName === ROWS_VIEW && \"popup\" !== this.option(\"editing.mode\");\r\n if (!cancelClassAdding) {\r\n var currentVisibleIndex = viewName === COLUMN_HEADERS_VIEW ? this._columnsController.getVisibleIndex(column.index, rowIndex) : visibleIndex;\r\n if (currentVisibleIndex >= 0) {\r\n var $rowElement = $rowElements.eq(rowIndex);\r\n $cellElement = this._findCellElementInRow($rowElement, currentVisibleIndex);\r\n this._isCellValid($cellElement) && this._hideVisibleCellInView({\r\n viewName: viewName,\r\n isCommandColumn: isCommandColumn,\r\n $cell: $cellElement\r\n })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n _findCellElementInRow($rowElement, visibleColumnIndex) {\r\n var $rowCells = $rowElement.children();\r\n var visibleIndex = visibleColumnIndex;\r\n var cellIsInsideGroup = false;\r\n if ($rowElement.hasClass(GROUP_ROW_CLASS)) {\r\n var $groupCell = $rowElement.find(\".\".concat(GROUP_CELL_CLASS));\r\n var colSpan = $groupCell.attr(\"colspan\");\r\n if ($groupCell.length && isDefined(colSpan)) {\r\n var groupCellLength = parseInt(colSpan);\r\n var endGroupIndex = $groupCell.index() + groupCellLength - 1;\r\n if (visibleColumnIndex > endGroupIndex) {\r\n visibleIndex = visibleColumnIndex - groupCellLength + 1\r\n } else {\r\n cellIsInsideGroup = true\r\n }\r\n }\r\n }\r\n var $cellElement = !cellIsInsideGroup ? $rowCells.eq(visibleIndex) : void 0;\r\n return $cellElement\r\n }\r\n _hideVisibleCellInView(_ref4) {\r\n var {\r\n $cell: $cell,\r\n isCommandColumn: isCommandColumn\r\n } = _ref4;\r\n var cssClassNameToAdd = isCommandColumn ? COMMAND_ADAPTIVE_HIDDEN_CLASS : this.addWidgetPrefix(HIDDEN_COLUMN_CLASS);\r\n $cell.attr({\r\n tabIndex: -1,\r\n \"aria-hidden\": true\r\n }).addClass(cssClassNameToAdd)\r\n }\r\n _getEditMode() {\r\n return this._editingController.getEditMode()\r\n }\r\n isFormOrPopupEditMode() {\r\n var editMode = this._getEditMode();\r\n return editMode === EDIT_MODE_FORM || editMode === EDIT_MODE_POPUP\r\n }\r\n hideRedundantColumns(resultWidths, visibleColumns, hiddenQueue) {\r\n this._hiddenColumns = [];\r\n if (this._isVisibleColumnsValid(visibleColumns) && hiddenQueue.length) {\r\n var totalWidth = 0;\r\n var $rootElement = this.component.$element();\r\n var rootElementWidth = getWidth($rootElement) - this._getCommandColumnsWidth();\r\n var getVisibleContentColumns = function() {\r\n return visibleColumns.filter(item => !item.command && 0 === this._hiddenColumns.filter(i => i.index === item.index).length)\r\n }.bind(this);\r\n var visibleContentColumns = getVisibleContentColumns();\r\n var contentColumnsCount = visibleContentColumns.length;\r\n var i;\r\n var hasHiddenColumns;\r\n var needHideColumn;\r\n do {\r\n needHideColumn = false;\r\n totalWidth = 0;\r\n var percentWidths = this._calculatePercentWidths(resultWidths, visibleColumns);\r\n var columnsCanFit = percentWidths < 100 && 0 !== percentWidths;\r\n for (i = 0; i < visibleColumns.length; i++) {\r\n var visibleColumn = visibleColumns[i];\r\n var columnWidth = this._getNotTruncatedColumnWidth(visibleColumn, rootElementWidth, visibleContentColumns, columnsCanFit);\r\n var columnId = getColumnId(this, visibleColumn);\r\n var widthOption = this._columnsController.columnOption(columnId, \"width\");\r\n var minWidth = this._columnsController.columnOption(columnId, \"minWidth\");\r\n var columnBestFitWidth = this._columnsController.columnOption(columnId, \"bestFitWidth\");\r\n if (resultWidths[i] === HIDDEN_COLUMNS_WIDTH) {\r\n hasHiddenColumns = true;\r\n continue\r\n }\r\n if (!columnWidth && !visibleColumn.command && !visibleColumn.fixed) {\r\n needHideColumn = true;\r\n break\r\n }\r\n if (!widthOption || \"auto\" === widthOption) {\r\n columnWidth = Math.max(columnBestFitWidth || 0, minWidth || 0)\r\n }\r\n if (visibleColumn.command !== ADAPTIVE_COLUMN_NAME || hasHiddenColumns) {\r\n totalWidth += columnWidth\r\n }\r\n }\r\n needHideColumn = needHideColumn || totalWidth > getWidth($rootElement);\r\n if (needHideColumn) {\r\n var column = hiddenQueue.pop();\r\n var visibleIndex = this._columnsController.getVisibleIndex(column.index);\r\n rootElementWidth += this._calculateColumnWidth(column, rootElementWidth, visibleContentColumns, columnsCanFit);\r\n this._hideVisibleColumn({\r\n visibleIndex: visibleIndex\r\n });\r\n resultWidths[visibleIndex] = HIDDEN_COLUMNS_WIDTH;\r\n this._hiddenColumns.push(column);\r\n visibleContentColumns = getVisibleContentColumns()\r\n }\r\n } while (needHideColumn && visibleContentColumns.length > 1 && hiddenQueue.length);\r\n if (contentColumnsCount === visibleContentColumns.length) {\r\n this._hideAdaptiveColumn(resultWidths, visibleColumns)\r\n }\r\n } else {\r\n this._hideAdaptiveColumn(resultWidths, visibleColumns)\r\n }\r\n }\r\n getAdaptiveDetailItems() {\r\n return this._$itemContents\r\n }\r\n getItemContentByColumnIndex(visibleColumnIndex) {\r\n var $itemContent;\r\n for (var i = 0; i < this._$itemContents.length; i++) {\r\n $itemContent = this._$itemContents.eq(i);\r\n var item = $itemContent.data(\"dx-form-item\");\r\n if (item && item.column && this._columnsController.getVisibleIndex(item.column.index) === visibleColumnIndex) {\r\n return $itemContent\r\n }\r\n }\r\n }\r\n toggleExpandAdaptiveDetailRow(key, alwaysExpanded) {\r\n if (!(this.isFormOrPopupEditMode() && this._editingController.isEditing())) {\r\n this._dataController.toggleExpandAdaptiveDetailRow(key, alwaysExpanded)\r\n }\r\n }\r\n createFormByHiddenColumns(container, options) {\r\n var that = this;\r\n var $container = $(container);\r\n var userFormOptions = {\r\n items: that._getFormItemsByHiddenColumns(that._hiddenColumns),\r\n formID: \"dx-\".concat(new Guid)\r\n };\r\n var defaultFormOptions = isMaterial() ? {\r\n colCount: 2\r\n } : {};\r\n this.executeAction(\"onAdaptiveDetailRowPreparing\", {\r\n formOptions: userFormOptions\r\n });\r\n that._$itemContents = null;\r\n that._form = that._createComponent($(\"<div>\").appendTo($container), Form, extend(defaultFormOptions, userFormOptions, {\r\n customizeItem(item) {\r\n var column = item.column || that._columnsController.columnOption(item.name || item.dataField);\r\n if (column) {\r\n item.label = item.label || {};\r\n item.label.text = item.label.text || column.caption;\r\n item.column = column;\r\n item.template = that._getTemplate(item, options, that.updateForm.bind(that))\r\n }\r\n userFormOptions.customizeItem && userFormOptions.customizeItem.call(this, item)\r\n },\r\n onContentReady(e) {\r\n userFormOptions.onContentReady && userFormOptions.onContentReady.call(this, e);\r\n that._$itemContents = $container.find(\".\".concat(FORM_ITEM_CONTENT_CLASS))\r\n }\r\n }))\r\n }\r\n hasAdaptiveDetailRowExpanded() {\r\n return isDefined(this._dataController.adaptiveExpandedKey())\r\n }\r\n updateForm(hiddenColumns) {\r\n if (this.hasAdaptiveDetailRowExpanded()) {\r\n if (this._form && isDefined(this._form._contentReadyAction)) {\r\n if (hiddenColumns && hiddenColumns.length) {\r\n this._form.option(\"items\", this._getFormItemsByHiddenColumns(hiddenColumns))\r\n } else {\r\n this._form.repaint()\r\n }\r\n }\r\n }\r\n }\r\n updateHidingQueue(columns) {\r\n var hideableColumns = columns.filter(column => column.visible && !column.type && !column.fixed && !(isDefined(column.groupIndex) && column.groupIndex >= 0));\r\n var columnsHasHidingPriority;\r\n var i;\r\n this._hidingColumnsQueue = [];\r\n if (this.option(\"allowColumnResizing\") && \"widget\" === this.option(\"columnResizingMode\")) {\r\n return this._hidingColumnsQueue\r\n }\r\n for (i = 0; i < hideableColumns.length; i++) {\r\n if (isDefined(hideableColumns[i].hidingPriority) && hideableColumns[i].hidingPriority >= 0) {\r\n columnsHasHidingPriority = true;\r\n this._hidingColumnsQueue[hideableColumns[i].hidingPriority] = hideableColumns[i]\r\n }\r\n }\r\n if (columnsHasHidingPriority) {\r\n this._hidingColumnsQueue.reverse()\r\n } else if (this.option(\"columnHidingEnabled\")) {\r\n for (i = 0; i < hideableColumns.length; i++) {\r\n var visibleIndex = this._columnsController.getVisibleIndex(hideableColumns[i].index);\r\n this._hidingColumnsQueue[visibleIndex] = hideableColumns[i]\r\n }\r\n }\r\n this._hidingColumnsQueue = this._hidingColumnsQueue.filter(Object);\r\n return this._hidingColumnsQueue\r\n }\r\n getHiddenColumns() {\r\n return this._hiddenColumns\r\n }\r\n hasHiddenColumns() {\r\n return this._hiddenColumns.length > 0\r\n }\r\n getHidingColumnsQueue() {\r\n return this._hidingColumnsQueue\r\n }\r\n isAdaptiveDetailRowExpanded(key) {\r\n var dataController = this._dataController;\r\n return dataController.adaptiveExpandedKey() && equalByValue(dataController.adaptiveExpandedKey(), key)\r\n }\r\n expandAdaptiveDetailRow(key) {\r\n if (!this.hasAdaptiveDetailRowExpanded()) {\r\n this.toggleExpandAdaptiveDetailRow(key)\r\n }\r\n }\r\n collapseAdaptiveDetailRow() {\r\n if (this.hasAdaptiveDetailRowExpanded()) {\r\n this.toggleExpandAdaptiveDetailRow()\r\n }\r\n }\r\n updateCommandAdaptiveAriaLabel(key, label) {\r\n var rowIndex = this._dataController.getRowIndexByKey(key);\r\n if (-1 === rowIndex) {\r\n return\r\n }\r\n var $row = $(this.component.getRowElement(rowIndex));\r\n this.setCommandAdaptiveAriaLabel($row, label)\r\n }\r\n setCommandAdaptiveAriaLabel($row, labelName) {\r\n var $adaptiveCommand = $row.find(\".dx-command-adaptive\");\r\n $adaptiveCommand.attr(\"aria-label\", messageLocalization.format(labelName))\r\n }\r\n}\r\nvar keyboardNavigation = Base => class extends Base {\r\n _isCellValid($cell, isClick) {\r\n return super._isCellValid($cell, isClick) && !$cell.hasClass(this.addWidgetPrefix(HIDDEN_COLUMN_CLASS)) && !$cell.hasClass(COMMAND_ADAPTIVE_HIDDEN_CLASS)\r\n }\r\n _processNextCellInMasterDetail($nextCell, $cell) {\r\n super._processNextCellInMasterDetail($nextCell, $cell);\r\n var isCellOrBatchMode = this._editingController.isCellOrBatchEditMode();\r\n var isEditing = this._editingController.isEditing();\r\n if (isEditing && $nextCell && isCellOrBatchMode && !this._isInsideEditForm($nextCell)) {\r\n eventsEngine.off($nextCell, \"focus\", focusCellHandler);\r\n eventsEngine.on($nextCell, \"focus\", {\r\n $nextCell: $nextCell\r\n }, focusCellHandler);\r\n eventsEngine.trigger($cell, \"focus\")\r\n }\r\n }\r\n _isCellElement($cell) {\r\n return super._isCellElement($cell) || $cell.hasClass(ADAPTIVE_ITEM_TEXT_CLASS)\r\n }\r\n};\r\nvar rowsView = Base => class extends Base {\r\n _getCellTemplate(options) {\r\n var that = this;\r\n var {\r\n column: column\r\n } = options;\r\n if (options.rowType === ADAPTIVE_ROW_TYPE && \"detail\" === column.command) {\r\n return function(container, options) {\r\n that._adaptiveColumnsController.createFormByHiddenColumns($(container), options)\r\n }\r\n }\r\n return super._getCellTemplate(options)\r\n }\r\n _createRow(row) {\r\n var $row = super._createRow.apply(this, arguments);\r\n if (row && row.rowType === ADAPTIVE_ROW_TYPE && row.key === this._dataController.adaptiveExpandedKey()) {\r\n $row.addClass(ADAPTIVE_DETAIL_ROW_CLASS)\r\n }\r\n return $row\r\n }\r\n _renderCells($row, options) {\r\n super._renderCells($row, options);\r\n var adaptiveColumnsController = this._adaptiveColumnsController;\r\n var hidingColumnsQueueLength = adaptiveColumnsController.getHidingColumnsQueue().length;\r\n var hiddenColumnsLength = adaptiveColumnsController.getHiddenColumns().length;\r\n if (hidingColumnsQueueLength && !hiddenColumnsLength) {\r\n getDataCellElements($row).last().addClass(LAST_DATA_CELL_CLASS)\r\n }\r\n if (\"data\" === options.row.rowType) {\r\n adaptiveColumnsController.setCommandAdaptiveAriaLabel($row, EXPAND_ARIA_NAME)\r\n }\r\n }\r\n _getColumnIndexByElementCore($element) {\r\n var $itemContent = $element.closest(\".\".concat(FORM_ITEM_CONTENT_CLASS));\r\n if ($itemContent.length && $itemContent.closest(this.component.$element()).length) {\r\n var formItem = $itemContent.length ? $itemContent.first().data(\"dx-form-item\") : null;\r\n return formItem && formItem.column && this._columnsController.getVisibleIndex(formItem.column.index)\r\n }\r\n return super._getColumnIndexByElementCore($element)\r\n }\r\n _cellPrepared($cell, options) {\r\n super._cellPrepared.apply(this, arguments);\r\n if (options.row.rowType !== ADAPTIVE_ROW_TYPE && options.column.visibleWidth === HIDDEN_COLUMNS_WIDTH) {\r\n $cell.addClass(this.addWidgetPrefix(HIDDEN_COLUMN_CLASS))\r\n }\r\n }\r\n getCell(cellPosition, rows) {\r\n var item = this._dataController.items()[null === cellPosition || void 0 === cellPosition ? void 0 : cellPosition.rowIndex];\r\n if ((null === item || void 0 === item ? void 0 : item.rowType) === ADAPTIVE_ROW_TYPE) {\r\n var $adaptiveDetailItems = this._adaptiveColumnsController.getAdaptiveDetailItems();\r\n return super.getCell(cellPosition, rows, $adaptiveDetailItems)\r\n }\r\n return super.getCell.apply(this, arguments)\r\n }\r\n _getCellElement(rowIndex, columnIdentifier) {\r\n var item = this._dataController.items()[rowIndex];\r\n if (item && item.rowType === ADAPTIVE_ROW_TYPE) {\r\n return this._adaptiveColumnsController.getItemContentByColumnIndex(columnIdentifier)\r\n }\r\n return super._getCellElement.apply(this, arguments)\r\n }\r\n getContextMenuItems(options) {\r\n var _a;\r\n if (options.row && \"detailAdaptive\" === options.row.rowType) {\r\n var view = this._columnHeadersView;\r\n var formItem = $(options.targetElement).closest(\".dx-field-item-label\").next().data(\"dx-form-item\");\r\n options.column = formItem ? formItem.column : options.column;\r\n return view.getContextMenuItems && view.getContextMenuItems(options)\r\n }\r\n return null === (_a = super.getContextMenuItems) || void 0 === _a ? void 0 : _a.call(this, options)\r\n }\r\n isClickableElement($target) {\r\n var _a, _b;\r\n var isClickable = null !== (_b = null === (_a = super.isClickableElement) || void 0 === _a ? void 0 : _a.call(this, $target)) && void 0 !== _b ? _b : false;\r\n return isClickable || !!$target.closest(\".\".concat(ADAPTIVE_COLUMN_NAME_CLASS)).length\r\n }\r\n};\r\nvar exportExtender = Base => class extends Base {\r\n _updateColumnWidth(column, width) {\r\n super._updateColumnWidth(column, column.visibleWidth === HIDDEN_COLUMNS_WIDTH ? column.bestFitWidth : width)\r\n }\r\n};\r\nvar columnsResizer = Base => class extends Base {\r\n _pointCreated(point, cellsLength, columns) {\r\n var result = super._pointCreated(point, cellsLength, columns);\r\n var currentColumn = columns[point.columnIndex] || {};\r\n var nextColumnIndex = this._getNextColumnIndex(point.columnIndex);\r\n var nextColumn = columns[nextColumnIndex] || {};\r\n var hasHiddenColumnsOnly = nextColumnIndex !== point.columnIndex + 1 && nextColumn.command;\r\n var hasAdaptiveHiddenWidth = currentColumn.visibleWidth === HIDDEN_COLUMNS_WIDTH || hasHiddenColumnsOnly;\r\n return result || hasAdaptiveHiddenWidth\r\n }\r\n _getNextColumnIndex(currentColumnIndex) {\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var index = super._getNextColumnIndex(currentColumnIndex);\r\n while (visibleColumns[index] && visibleColumns[index].visibleWidth === HIDDEN_COLUMNS_WIDTH) {\r\n index++\r\n }\r\n return index\r\n }\r\n};\r\nvar draggingHeader = Base => class extends Base {\r\n _pointCreated(point, columns, location, sourceColumn) {\r\n var result = super._pointCreated(point, columns, location, sourceColumn);\r\n var column = columns[point.columnIndex - 1] || {};\r\n var hasAdaptiveHiddenWidth = column.visibleWidth === HIDDEN_COLUMNS_WIDTH;\r\n return result || hasAdaptiveHiddenWidth\r\n }\r\n};\r\nvar editing = Base => class extends Base {\r\n _isRowEditMode() {\r\n return this.getEditMode() === EDIT_MODE_ROW\r\n }\r\n _getFormEditItemTemplate(cellOptions, column) {\r\n if (this.getEditMode() !== EDIT_MODE_ROW && \"detailAdaptive\" === cellOptions.rowType) {\r\n cellOptions.columnIndex = this._columnsController.getVisibleIndex(column.index);\r\n return this.getColumnTemplate(cellOptions)\r\n }\r\n return super._getFormEditItemTemplate(cellOptions, column)\r\n }\r\n _closeEditItem($targetElement) {\r\n var $itemContents = $targetElement.closest(\".\".concat(FORM_ITEM_CONTENT_CLASS));\r\n var rowIndex = this._dataController.getRowIndexByKey(this._dataController.adaptiveExpandedKey()) + 1;\r\n var formItem = $itemContents.length ? $itemContents.first().data(\"dx-form-item\") : null;\r\n var columnIndex = formItem && formItem.column && this._columnsController.getVisibleIndex(formItem.column.index);\r\n if (!this.isEditCell(rowIndex, columnIndex)) {\r\n super._closeEditItem($targetElement)\r\n }\r\n }\r\n _beforeUpdateItems(rowIndices, rowIndex) {\r\n if (!this._adaptiveColumnsController.isFormOrPopupEditMode() && this._adaptiveColumnsController.hasHiddenColumns()) {\r\n var items = this._dataController.items();\r\n var item = items[rowIndex];\r\n var oldExpandRowIndex = gridCoreUtils.getIndexByKey(this._dataController.adaptiveExpandedKey(), items);\r\n this._isForceRowAdaptiveExpand = !this._adaptiveColumnsController.hasAdaptiveDetailRowExpanded();\r\n if (oldExpandRowIndex >= 0) {\r\n rowIndices.push(oldExpandRowIndex + 1)\r\n }\r\n rowIndices.push(rowIndex + 1);\r\n this._dataController.adaptiveExpandedKey(item.key)\r\n }\r\n }\r\n _afterInsertRow(key) {\r\n super._afterInsertRow.apply(this, arguments);\r\n if (this._adaptiveColumnsController.hasHiddenColumns()) {\r\n this._adaptiveColumnsController.toggleExpandAdaptiveDetailRow(key, this.isRowEditMode());\r\n this._isForceRowAdaptiveExpand = true\r\n }\r\n }\r\n _collapseAdaptiveDetailRow() {\r\n if (this._isRowEditMode() && this._isForceRowAdaptiveExpand) {\r\n this._adaptiveColumnsController.collapseAdaptiveDetailRow();\r\n this._isForceRowAdaptiveExpand = false\r\n }\r\n }\r\n _cancelEditAdaptiveDetailRow() {\r\n if (this._adaptiveColumnsController.hasHiddenColumns()) {\r\n this._collapseAdaptiveDetailRow()\r\n }\r\n }\r\n _afterSaveEditData() {\r\n super._afterSaveEditData.apply(this, arguments);\r\n var deferred = new Deferred;\r\n if (this._isRowEditMode() && this._adaptiveColumnsController.hasHiddenColumns()) {\r\n when(this._validatingController.validate(true)).done(isValid => {\r\n if (isValid) {\r\n this._cancelEditAdaptiveDetailRow()\r\n }\r\n deferred.resolve()\r\n })\r\n } else {\r\n deferred.resolve()\r\n }\r\n return deferred.promise()\r\n }\r\n _beforeCancelEditData() {\r\n super._beforeCancelEditData();\r\n this._cancelEditAdaptiveDetailRow()\r\n }\r\n _getRowIndicesForCascadeUpdating(row) {\r\n var rowIndices = super._getRowIndicesForCascadeUpdating.apply(this, arguments);\r\n if (this._adaptiveColumnsController.isAdaptiveDetailRowExpanded(row.key)) {\r\n rowIndices.push(row.rowType === ADAPTIVE_ROW_TYPE ? row.rowIndex - 1 : row.rowIndex + 1)\r\n }\r\n return rowIndices\r\n }\r\n _beforeCloseEditCellInBatchMode(rowIndices) {\r\n var expandedKey = this._dataController._adaptiveExpandedKey;\r\n if (expandedKey) {\r\n var rowIndex = gridCoreUtils.getIndexByKey(expandedKey, this._dataController.items());\r\n if (rowIndex > -1) {\r\n rowIndices.unshift(rowIndex)\r\n }\r\n }\r\n }\r\n editRow(rowIndex) {\r\n if (this._adaptiveColumnsController.isFormOrPopupEditMode()) {\r\n this._adaptiveColumnsController.collapseAdaptiveDetailRow()\r\n }\r\n return super.editRow(rowIndex)\r\n }\r\n deleteRow(rowIndex) {\r\n var rowKey = this._dataController.getKeyByRowIndex(rowIndex);\r\n if (this.getEditMode() === EDIT_MODE_BATCH && this._adaptiveColumnsController.isAdaptiveDetailRowExpanded(rowKey)) {\r\n this._adaptiveColumnsController.collapseAdaptiveDetailRow()\r\n }\r\n super.deleteRow(rowIndex)\r\n }\r\n};\r\nvar data = Base => class extends Base {\r\n _processItems(items, change) {\r\n var {\r\n changeType: changeType\r\n } = change;\r\n items = super._processItems.apply(this, arguments);\r\n if (\"loadingAll\" === changeType || !isDefined(this._adaptiveExpandedKey)) {\r\n return items\r\n }\r\n var expandRowIndex = gridCoreUtils.getIndexByKey(this._adaptiveExpandedKey, items);\r\n var newMode = false === this.option(LEGACY_SCROLLING_MODE);\r\n if (expandRowIndex >= 0) {\r\n var item = items[expandRowIndex];\r\n items.splice(expandRowIndex + 1, 0, {\r\n visible: true,\r\n rowType: ADAPTIVE_ROW_TYPE,\r\n key: item.key,\r\n data: item.data,\r\n node: item.node,\r\n modifiedValues: item.modifiedValues,\r\n isNewRow: item.isNewRow,\r\n values: item.values\r\n })\r\n } else if (\"refresh\" === changeType && !(newMode && change.repaintChangesOnly)) {\r\n this._adaptiveExpandedKey = void 0\r\n }\r\n return items\r\n }\r\n _getRowIndicesForExpand(key) {\r\n var rowIndices = super._getRowIndicesForExpand.apply(this, arguments);\r\n if (this._adaptiveColumnsController.isAdaptiveDetailRowExpanded(key)) {\r\n var lastRowIndex = rowIndices[rowIndices.length - 1];\r\n rowIndices.push(lastRowIndex + 1)\r\n }\r\n return rowIndices\r\n }\r\n adaptiveExpandedKey(value) {\r\n if (isDefined(value)) {\r\n this._adaptiveExpandedKey = value\r\n } else {\r\n return this._adaptiveExpandedKey\r\n }\r\n }\r\n toggleExpandAdaptiveDetailRow(key, alwaysExpanded) {\r\n var oldExpandLoadedRowIndex = gridCoreUtils.getIndexByKey(this._adaptiveExpandedKey, this._items);\r\n var newExpandLoadedRowIndex = gridCoreUtils.getIndexByKey(key, this._items);\r\n if (oldExpandLoadedRowIndex >= 0 && oldExpandLoadedRowIndex === newExpandLoadedRowIndex && !alwaysExpanded) {\r\n key = void 0;\r\n newExpandLoadedRowIndex = -1\r\n }\r\n var oldKey = this._adaptiveExpandedKey;\r\n this._adaptiveExpandedKey = key;\r\n if (oldExpandLoadedRowIndex >= 0) {\r\n oldExpandLoadedRowIndex++\r\n }\r\n if (newExpandLoadedRowIndex >= 0) {\r\n newExpandLoadedRowIndex++\r\n }\r\n var rowIndexDelta = this.getRowIndexDelta();\r\n this.updateItems({\r\n allowInvisibleRowIndices: true,\r\n changeType: \"update\",\r\n rowIndices: [oldExpandLoadedRowIndex - rowIndexDelta, newExpandLoadedRowIndex - rowIndexDelta]\r\n });\r\n this._adaptiveColumnsController.updateCommandAdaptiveAriaLabel(key, COLLAPSE_ARIA_NAME);\r\n this._adaptiveColumnsController.updateCommandAdaptiveAriaLabel(oldKey, EXPAND_ARIA_NAME)\r\n }\r\n};\r\nvar editorFactory = Base => class extends Base {\r\n _needHideBorder($element) {\r\n return super._needHideBorder($element) || (null === $element || void 0 === $element ? void 0 : $element.hasClass(\"dx-field-item-content\")) && (null === $element || void 0 === $element ? void 0 : $element.find(\".dx-checkbox\").length)\r\n }\r\n _getFocusCellSelector() {\r\n return \"\".concat(super._getFocusCellSelector(), \", .dx-adaptive-detail-row .dx-field-item > .dx-field-item-content\")\r\n }\r\n _getRevertTooltipsSelector() {\r\n return \"\".concat(super._getRevertTooltipsSelector(), \", .dx-field-item-content .\").concat(this.addWidgetPrefix(REVERT_TOOLTIP_CLASS))\r\n }\r\n};\r\nvar columns = Base => class extends Base {\r\n _isColumnVisible(column) {\r\n return super._isColumnVisible(column) && !column.adaptiveHidden\r\n }\r\n};\r\nvar resizing = Base => class extends Base {\r\n dispose() {\r\n super.dispose.apply(this, arguments);\r\n clearTimeout(this._updateScrollableTimeoutID)\r\n }\r\n _needBestFit() {\r\n return super._needBestFit() || !!this._adaptiveColumnsController.getHidingColumnsQueue().length\r\n }\r\n _correctColumnWidths(resultWidths, visibleColumns) {\r\n var adaptiveController = this._adaptiveColumnsController;\r\n var oldHiddenColumns = adaptiveController.getHiddenColumns();\r\n var hidingColumnsQueue = adaptiveController.updateHidingQueue(this._columnsController.getColumns());\r\n adaptiveController.hideRedundantColumns(resultWidths, visibleColumns, hidingColumnsQueue);\r\n var hiddenColumns = adaptiveController.getHiddenColumns();\r\n if (adaptiveController.hasAdaptiveDetailRowExpanded()) {\r\n if (oldHiddenColumns.length !== hiddenColumns.length) {\r\n adaptiveController.updateForm(hiddenColumns)\r\n }\r\n }!hiddenColumns.length && adaptiveController.collapseAdaptiveDetailRow();\r\n return super._correctColumnWidths.apply(this, arguments)\r\n }\r\n _toggleBestFitMode(isBestFit) {\r\n isBestFit && this._adaptiveColumnsController._showHiddenColumns();\r\n super._toggleBestFitMode(isBestFit)\r\n }\r\n _needStretch() {\r\n var adaptiveColumnsController = this._adaptiveColumnsController;\r\n return super._needStretch.apply(this, arguments) || adaptiveColumnsController.getHidingColumnsQueue().length || adaptiveColumnsController.hasHiddenColumns()\r\n }\r\n};\r\nexport var adaptivityModule = {\r\n defaultOptions: () => ({\r\n columnHidingEnabled: false,\r\n onAdaptiveDetailRowPreparing: null\r\n }),\r\n controllers: {\r\n adaptiveColumns: AdaptiveColumnsController\r\n },\r\n extenders: {\r\n views: {\r\n rowsView: rowsView\r\n },\r\n controllers: {\r\n export: exportExtender,\r\n columnsResizer: columnsResizer,\r\n draggingHeader: draggingHeader,\r\n editing: editing,\r\n resizing: resizing,\r\n data: data,\r\n editorFactory: editorFactory,\r\n columns: columns,\r\n keyboardNavigation: keyboardNavigation\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/virtual_columns/m_virtual_columns_core.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nexport function foreachColumnInfo(info, callback, rowIndex, offsets, columnCount, lastProcessedIndexes) {\r\n rowIndex = rowIndex || 0;\r\n offsets = offsets || [];\r\n lastProcessedIndexes = lastProcessedIndexes || [];\r\n offsets[rowIndex] = offsets[rowIndex] || 0;\r\n var row = info[rowIndex];\r\n var startIndex = lastProcessedIndexes[rowIndex] + 1 || 0;\r\n var processedColumnCount = 0;\r\n var colIndex;\r\n if (!row) {\r\n return\r\n }\r\n for (colIndex = startIndex; colIndex < row.length; colIndex++) {\r\n var cell = row[colIndex];\r\n var visibleIndex = colIndex + offsets[rowIndex];\r\n var colspan = cell.colspan || 1;\r\n foreachColumnInfo(info, callback, rowIndex + (cell.rowspan || 1), offsets, colspan, lastProcessedIndexes);\r\n offsets[rowIndex] += colspan - 1;\r\n processedColumnCount += colspan;\r\n if (cell.rowspan) {\r\n for (var i = rowIndex + 1; i < rowIndex + cell.rowspan; i++) {\r\n offsets[i] = offsets[i] || 0;\r\n offsets[i] += cell.colspan || 1\r\n }\r\n }\r\n if (false === callback(cell, visibleIndex, rowIndex, colIndex)) {\r\n break\r\n }\r\n if (void 0 !== columnCount && processedColumnCount >= columnCount) {\r\n break\r\n }\r\n }\r\n lastProcessedIndexes[rowIndex] = colIndex\r\n}\r\nexport function createColumnsInfo(info, startIndex, endIndex) {\r\n var newInfo = [];\r\n foreachColumnInfo(info, (columnInfo, visibleIndex, rowIndex) => {\r\n var cell = columnInfo;\r\n var colspan;\r\n var cellColspan = cell.colspan || 1;\r\n var isVisible = visibleIndex + cellColspan - 1 >= startIndex && visibleIndex < endIndex;\r\n newInfo[rowIndex] = newInfo[rowIndex] || [];\r\n if (isVisible) {\r\n if (visibleIndex < startIndex) {\r\n colspan = cellColspan - (startIndex - visibleIndex);\r\n visibleIndex = startIndex\r\n } else {\r\n colspan = cellColspan\r\n }\r\n if (visibleIndex + colspan > endIndex) {\r\n colspan = endIndex - visibleIndex\r\n }\r\n if (colspan !== cellColspan) {\r\n cell = extend({}, cell, {\r\n colspan: colspan\r\n })\r\n }\r\n newInfo[rowIndex].push(cell)\r\n } else if (visibleIndex > endIndex) {\r\n return false\r\n }\r\n return\r\n });\r\n for (var i = 0; i < newInfo.length; i++) {\r\n newInfo[i] = newInfo[i] || []\r\n }\r\n return newInfo\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/adaptivity.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n adaptivityModule\r\n} from \"../../../grids/grid_core/adaptivity/m_adaptivity\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"adaptivity\", adaptivityModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/virtual_columns/m_virtual_columns.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n getHeight,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n createColumnsInfo\r\n} from \"./m_virtual_columns_core\";\r\nvar DEFAULT_COLUMN_WIDTH = 50;\r\nvar baseView = Base => class extends Base {\r\n _needToSetCellWidths() {\r\n var result = super._needToSetCellWidths();\r\n if (!result && this._columnsController.isVirtualMode()) {\r\n var _columns = this._columnsController.getColumns();\r\n result = _columns.some(column => \"auto\" === column.width)\r\n }\r\n return result\r\n }\r\n};\r\nvar rowsView = Base => class extends(baseView(Base)) {\r\n _resizeCore() {\r\n super._resizeCore.apply(this, arguments);\r\n this._columnsController.resize()\r\n }\r\n _handleScroll(e) {\r\n var scrollable = this.getScrollable();\r\n var {\r\n left: left\r\n } = e.scrollOffset;\r\n super._handleScroll.apply(this, arguments);\r\n if (this.option(\"rtlEnabled\") && scrollable) {\r\n left = getWidth(scrollable.$content()) - getWidth(scrollable.$element()) - left\r\n }\r\n this._columnsController.setScrollPosition(left)\r\n }\r\n _renderCore(e) {\r\n var _a, _b;\r\n if (null === e || void 0 === e ? void 0 : e.virtualColumnsScrolling) {\r\n var $contentElement = this._findContentElement();\r\n var fixedColumns = null === (_a = this._columnsController) || void 0 === _a ? void 0 : _a.getFixedColumns();\r\n var useNativeScrolling = null === (_b = this._scrollable) || void 0 === _b ? void 0 : _b.option(\"useNative\");\r\n if (null === fixedColumns || void 0 === fixedColumns ? void 0 : fixedColumns.length) {\r\n $contentElement.css({\r\n minHeight: useNativeScrolling ? getHeight($contentElement) : gridCoreUtils.getContentHeightLimit(browser)\r\n });\r\n var resizeCompletedHandler = () => {\r\n this.resizeCompleted.remove(resizeCompletedHandler);\r\n $contentElement.css({\r\n minHeight: \"\"\r\n })\r\n };\r\n this.resizeCompleted.add(resizeCompletedHandler)\r\n }\r\n }\r\n return super._renderCore.apply(this, arguments)\r\n }\r\n};\r\nvar columnHeadersView = Base => class extends(baseView(Base)) {\r\n _renderCore() {\r\n var deferred = super._renderCore.apply(this, arguments);\r\n if (this._columnsController.isVirtualMode()) {\r\n this._updateScrollLeftPosition()\r\n }\r\n return deferred\r\n }\r\n};\r\nvar getWidths = function(columns) {\r\n return columns.map(column => column.visibleWidth || parseFloat(column.width) || DEFAULT_COLUMN_WIDTH)\r\n};\r\nvar columns = Base => class extends Base {\r\n init() {\r\n var _a;\r\n super.init.apply(this, arguments);\r\n this._resizingController = this.getController(\"resizing\");\r\n this._beginPageIndex = null;\r\n this._endPageIndex = null;\r\n null !== (_a = this._position) && void 0 !== _a ? _a : this._position = 0;\r\n this._virtualVisibleColumns = {}\r\n }\r\n dispose() {\r\n clearTimeout(this._changedTimeout);\r\n super.dispose.apply(this, arguments)\r\n }\r\n resetColumnsCache() {\r\n super.resetColumnsCache();\r\n this._virtualVisibleColumns = {}\r\n }\r\n getBeginPageIndex(position) {\r\n var visibleColumns = this.getVisibleColumns(void 0, true);\r\n var widths = getWidths(visibleColumns);\r\n var currentPosition = 0;\r\n for (var index = 0; index < widths.length; index++) {\r\n if (currentPosition >= position) {\r\n return Math.floor(index / this.getColumnPageSize())\r\n }\r\n currentPosition += widths[index]\r\n }\r\n return 0\r\n }\r\n getTotalWidth() {\r\n var width = this.option(\"width\");\r\n if (\"number\" === typeof width) {\r\n return width\r\n }\r\n return this._resizingController._lastWidth || getOuterWidth(this.component.$element())\r\n }\r\n getEndPageIndex(position) {\r\n var visibleColumns = this.getVisibleColumns(void 0, true);\r\n var widths = getWidths(visibleColumns);\r\n var currentPosition = 0;\r\n position += this.getTotalWidth();\r\n for (var index = 0; index < widths.length; index++) {\r\n if (currentPosition >= position) {\r\n return Math.ceil(index / this.getColumnPageSize())\r\n }\r\n currentPosition += widths[index]\r\n }\r\n return Math.ceil(widths.length / this.getColumnPageSize())\r\n }\r\n getColumnPageSize() {\r\n return this.option(\"scrolling.columnPageSize\")\r\n }\r\n _fireColumnsChanged() {\r\n var date = new Date;\r\n this.columnsChanged.fire({\r\n optionNames: {\r\n all: true,\r\n length: 1\r\n },\r\n changeTypes: {\r\n columns: true,\r\n virtualColumnsScrolling: true,\r\n length: 2\r\n }\r\n });\r\n this._renderTime = new Date - date\r\n }\r\n getScrollingTimeout() {\r\n var renderingThreshold = this.option(\"scrolling.columnRenderingThreshold\");\r\n var renderAsync = this.option(\"scrolling.renderAsync\");\r\n var scrollingTimeout = 0;\r\n if (!isDefined(renderAsync) && this._renderTime > renderingThreshold || renderAsync) {\r\n scrollingTimeout = this.option(\"scrolling.timeout\")\r\n }\r\n return scrollingTimeout\r\n }\r\n setScrollPosition(position) {\r\n var scrollingTimeout = this.getScrollingTimeout();\r\n if (scrollingTimeout > 0) {\r\n clearTimeout(this._changedTimeout);\r\n this._changedTimeout = setTimeout(() => {\r\n this._setScrollPositionCore(position)\r\n }, scrollingTimeout)\r\n } else {\r\n this._setScrollPositionCore(position)\r\n }\r\n }\r\n isVirtualMode() {\r\n return hasWindow() && \"virtual\" === this.option(\"scrolling.columnRenderingMode\")\r\n }\r\n resize() {\r\n this._setScrollPositionCore(this._position)\r\n }\r\n _setScrollPositionCore(position) {\r\n if (this.isVirtualMode()) {\r\n var beginPageIndex = this.getBeginPageIndex(position);\r\n var endPageIndex = this.getEndPageIndex(position);\r\n var needColumnsChanged = position < this._position ? this._beginPageIndex > beginPageIndex : this._endPageIndex < endPageIndex;\r\n this._position = position;\r\n if (needColumnsChanged) {\r\n this._beginPageIndex = beginPageIndex;\r\n this._endPageIndex = endPageIndex;\r\n this._fireColumnsChanged()\r\n }\r\n }\r\n }\r\n getFixedColumns(rowIndex, isBase) {\r\n var fixedColumns = super.getFixedColumns(rowIndex);\r\n if (this.isVirtualMode() && !isBase && fixedColumns.length) {\r\n var transparentColumnIndex = fixedColumns.map(c => c.command).indexOf(\"transparent\");\r\n fixedColumns[transparentColumnIndex].colspan = this.getVisibleColumns().length - super.getFixedColumns().length + 1;\r\n return fixedColumns\r\n }\r\n return fixedColumns\r\n }\r\n _compileVisibleColumns(rowIndex, isBase) {\r\n var _a;\r\n if (isBase || !this.isVirtualMode() || !this._shouldReturnVisibleColumns()) {\r\n return super._compileVisibleColumns(rowIndex)\r\n }\r\n if ((null === (_a = this._columns) || void 0 === _a ? void 0 : _a.length) && !isDefined(this._beginPageIndex) && !isDefined(this._endPageIndex)) {\r\n this._beginPageIndex = this.getBeginPageIndex(this._position);\r\n this._endPageIndex = this.getEndPageIndex(this._position)\r\n }\r\n var beginPageIndex = this._beginPageIndex;\r\n var endPageIndex = this._endPageIndex;\r\n var visibleColumnsHash = \"\".concat(rowIndex, \"-\").concat(beginPageIndex, \"-\").concat(endPageIndex);\r\n if (this._virtualVisibleColumns[visibleColumnsHash]) {\r\n return this._virtualVisibleColumns[visibleColumnsHash]\r\n }\r\n var visibleColumns = super._compileVisibleColumns();\r\n var rowCount = this.getRowCount();\r\n var pageSize = this.getColumnPageSize();\r\n var startIndex = beginPageIndex * pageSize;\r\n var endIndex = endPageIndex * pageSize;\r\n var fixedColumns = this.getFixedColumns(void 0, true);\r\n var transparentColumnIndex = fixedColumns.map(c => c.command).indexOf(\"transparent\");\r\n var beginFixedColumnCount = fixedColumns.length ? transparentColumnIndex : 0;\r\n var beginFixedColumns = visibleColumns.slice(0, beginFixedColumnCount);\r\n var beginColumns = visibleColumns.slice(beginFixedColumnCount, startIndex);\r\n var beginWidth = getWidths(beginColumns).reduce((a, b) => a + b, 0);\r\n if (!beginWidth) {\r\n startIndex = 0\r\n }\r\n var endFixedColumnCount = fixedColumns.length ? fixedColumns.length - transparentColumnIndex - 1 : 0;\r\n var endFixedColumns = visibleColumns.slice(visibleColumns.length - endFixedColumnCount);\r\n var endColumns = visibleColumns.slice(endIndex, visibleColumns.length - endFixedColumnCount);\r\n var endWidth = getWidths(endColumns).reduce((a, b) => a + b, 0);\r\n if (!endWidth) {\r\n endIndex = visibleColumns.length\r\n }\r\n if (rowCount > 1 && \"number\" === typeof rowIndex) {\r\n var columnsInfo = [];\r\n for (var i = 0; i <= rowCount; i++) {\r\n columnsInfo.push(super._compileVisibleColumns(i))\r\n }\r\n beginFixedColumns = createColumnsInfo(columnsInfo, 0, beginFixedColumns.length)[rowIndex] || [];\r\n endFixedColumns = createColumnsInfo(columnsInfo, visibleColumns.length - endFixedColumns.length, visibleColumns.length)[rowIndex] || [];\r\n visibleColumns = createColumnsInfo(columnsInfo, startIndex, endIndex)[rowIndex] || []\r\n } else {\r\n visibleColumns = visibleColumns.slice(startIndex, endIndex)\r\n }\r\n if (beginWidth) {\r\n visibleColumns.unshift({\r\n command: \"virtual\",\r\n width: beginWidth\r\n });\r\n visibleColumns = beginFixedColumns.concat(visibleColumns)\r\n }\r\n if (endWidth) {\r\n visibleColumns.push({\r\n command: \"virtual\",\r\n width: endWidth\r\n });\r\n visibleColumns = visibleColumns.concat(endFixedColumns)\r\n }\r\n this._virtualVisibleColumns[visibleColumnsHash] = visibleColumns;\r\n return visibleColumns\r\n }\r\n getColumnIndexOffset() {\r\n var offset = 0;\r\n if (this._beginPageIndex > 0) {\r\n var fixedColumns = this.getFixedColumns();\r\n var transparentColumnIndex = fixedColumns.map(c => c.command).indexOf(\"transparent\");\r\n var leftFixedColumnCount = transparentColumnIndex >= 0 ? transparentColumnIndex : 0;\r\n offset = this._beginPageIndex * this.getColumnPageSize() - leftFixedColumnCount - 1\r\n }\r\n return offset > 0 ? offset : 0\r\n }\r\n};\r\nexport var virtualColumnsModule = {\r\n defaultOptions: () => ({\r\n scrolling: {\r\n columnRenderingMode: \"standard\",\r\n columnPageSize: 5,\r\n columnRenderingThreshold: 300\r\n }\r\n }),\r\n extenders: {\r\n controllers: {\r\n columns: columns\r\n },\r\n views: {\r\n columnHeadersView: columnHeadersView,\r\n rowsView: rowsView\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/virtual_columns.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n virtualColumnsModule\r\n} from \"../../../grids/grid_core/virtual_columns/m_virtual_columns\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"virtualColumns\", virtualColumnsModule);\r\n","/**\r\n * DevExtreme (esm/__internal/ui/m_button_group.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport Button from \"../../ui/button\";\r\nimport CollectionWidget from \"../../ui/collection/ui.collection_widget.edit\";\r\nimport Widget from \"../../ui/widget/ui.widget\";\r\nvar BUTTON_GROUP_CLASS = \"dx-buttongroup\";\r\nvar BUTTON_GROUP_WRAPPER_CLASS = \"\".concat(BUTTON_GROUP_CLASS, \"-wrapper\");\r\nvar BUTTON_GROUP_ITEM_CLASS = \"\".concat(BUTTON_GROUP_CLASS, \"-item\");\r\nvar BUTTON_GROUP_FIRST_ITEM_CLASS = \"\".concat(BUTTON_GROUP_CLASS, \"-first-item\");\r\nvar BUTTON_GROUP_LAST_ITEM_CLASS = \"\".concat(BUTTON_GROUP_CLASS, \"-last-item\");\r\nvar BUTTON_GROUP_ITEM_HAS_WIDTH = \"\".concat(BUTTON_GROUP_ITEM_CLASS, \"-has-width\");\r\nvar SHAPE_STANDARD_CLASS = \"dx-shape-standard\";\r\nvar ButtonCollection = CollectionWidget.inherit({\r\n _initTemplates() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(($container, data, model) => {\r\n this._prepareItemStyles($container);\r\n var template = this.option(\"buttonTemplate\");\r\n this._createComponent($container, Button, extend({}, model, data, this._getBasicButtonOptions(), {\r\n _templateData: this._hasCustomTemplate(template) ? model : {},\r\n template: model.template || template\r\n }))\r\n }, [\"text\", \"type\", \"icon\", \"disabled\", \"visible\", \"hint\"], this.option(\"integrationOptions.watchMethod\"))\r\n })\r\n },\r\n _getBasicButtonOptions() {\r\n return {\r\n focusStateEnabled: false,\r\n onClick: null,\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n activeStateEnabled: this.option(\"activeStateEnabled\"),\r\n stylingMode: this.option(\"stylingMode\")\r\n }\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n itemTemplateProperty: null\r\n })\r\n },\r\n _hasCustomTemplate(template) {\r\n return isFunction(template) || this.option(\"integrationOptions.templates\")[template]\r\n },\r\n _prepareItemStyles($item) {\r\n var itemIndex = $item.data(\"dxItemIndex\");\r\n 0 === itemIndex && $item.addClass(BUTTON_GROUP_FIRST_ITEM_CLASS);\r\n var items = this.option(\"items\");\r\n items && itemIndex === items.length - 1 && $item.addClass(BUTTON_GROUP_LAST_ITEM_CLASS);\r\n $item.addClass(SHAPE_STANDARD_CLASS)\r\n },\r\n _renderItemContent(args) {\r\n args.container = $(args.container).parent();\r\n return this.callBase(args)\r\n },\r\n _setAriaSelectionAttribute($target, value) {\r\n this.setAria(\"pressed\", value, $target)\r\n },\r\n _renderItemContentByNode(args, $node) {\r\n args.container = $(args.container.children().first());\r\n return this.callBase(args, $node)\r\n },\r\n _focusTarget() {\r\n return this.$element().parent()\r\n },\r\n _keyboardEventBindingTarget() {\r\n return this._focusTarget()\r\n },\r\n _refreshContent() {\r\n this._prepareContent();\r\n this._renderContent()\r\n },\r\n _itemClass: () => BUTTON_GROUP_ITEM_CLASS,\r\n _itemSelectHandler(e) {\r\n if (\"single\" === this.option(\"selectionMode\") && this.isItemSelected(e.currentTarget)) {\r\n return\r\n }\r\n this.callBase(e)\r\n }\r\n});\r\nvar ButtonGroup = Widget.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n focusStateEnabled: true,\r\n selectionMode: \"single\",\r\n selectedItems: [],\r\n selectedItemKeys: [],\r\n stylingMode: \"contained\",\r\n keyExpr: \"text\",\r\n items: [],\r\n buttonTemplate: \"content\",\r\n onSelectionChanged: null,\r\n onItemClick: null\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._createItemClickAction()\r\n },\r\n _createItemClickAction() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n },\r\n _initMarkup() {\r\n this.setAria(\"role\", \"group\");\r\n this.$element().addClass(BUTTON_GROUP_CLASS);\r\n this._renderButtons();\r\n this._syncSelectionOptions();\r\n this.callBase()\r\n },\r\n _fireSelectionChangeEvent(addedItems, removedItems) {\r\n this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })({\r\n addedItems: addedItems,\r\n removedItems: removedItems\r\n })\r\n },\r\n _renderButtons() {\r\n var $buttons = $(\"<div>\").addClass(BUTTON_GROUP_WRAPPER_CLASS).appendTo(this.$element());\r\n var selectedItems = this.option(\"selectedItems\");\r\n var options = {\r\n selectionMode: this.option(\"selectionMode\"),\r\n items: this.option(\"items\"),\r\n keyExpr: this.option(\"keyExpr\"),\r\n buttonTemplate: this.option(\"buttonTemplate\"),\r\n scrollingEnabled: false,\r\n selectedItemKeys: this.option(\"selectedItemKeys\"),\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n activeStateEnabled: this.option(\"activeStateEnabled\"),\r\n stylingMode: this.option(\"stylingMode\"),\r\n accessKey: this.option(\"accessKey\"),\r\n tabIndex: this.option(\"tabIndex\"),\r\n noDataText: \"\",\r\n selectionRequired: false,\r\n onItemRendered: e => {\r\n var width = this.option(\"width\");\r\n isDefined(width) && $(e.itemElement).addClass(BUTTON_GROUP_ITEM_HAS_WIDTH)\r\n },\r\n onSelectionChanged: e => {\r\n this._syncSelectionOptions();\r\n this._fireSelectionChangeEvent(e.addedItems, e.removedItems)\r\n },\r\n onItemClick: e => {\r\n this._itemClickAction(e)\r\n }\r\n };\r\n if (isDefined(selectedItems) && selectedItems.length) {\r\n options.selectedItems = selectedItems\r\n }\r\n this._buttonsCollection = this._createComponent($buttons, ButtonCollection, options)\r\n },\r\n _syncSelectionOptions() {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", this._buttonsCollection.option(\"selectedItems\"));\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._buttonsCollection.option(\"selectedItemKeys\"))\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"stylingMode\":\r\n case \"selectionMode\":\r\n case \"keyExpr\":\r\n case \"buttonTemplate\":\r\n case \"items\":\r\n case \"activeStateEnabled\":\r\n case \"focusStateEnabled\":\r\n case \"hoverStateEnabled\":\r\n case \"tabIndex\":\r\n this._invalidate();\r\n break;\r\n case \"selectedItemKeys\":\r\n case \"selectedItems\":\r\n this._buttonsCollection.option(args.name, args.value);\r\n break;\r\n case \"onItemClick\":\r\n this._createItemClickAction();\r\n break;\r\n case \"onSelectionChanged\":\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._buttonsCollection.itemElements().toggleClass(BUTTON_GROUP_ITEM_HAS_WIDTH, !!args.value);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxButtonGroup\", ButtonGroup);\r\nexport default ButtonGroup;\r\n","/**\r\n * DevExtreme (esm/ui/button_group.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ButtonGroup from \"../__internal/ui/m_button_group\";\r\nexport default ButtonGroup;\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_button.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../core/renderer\";\r\nimport Widget from \"./widget/ui.widget\";\r\nimport {\r\n FunctionTemplate\r\n} from \"../core/templates/function_template\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport ButtonGroup from \"./button_group\";\r\nimport Popup from \"./popup/ui.popup\";\r\nimport List from \"./list_light\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n getImageContainer\r\n} from \"../core/utils/icon\";\r\nimport DataHelperMixin from \"../data_helper\";\r\nimport {\r\n DataSource\r\n} from \"../data/data_source/data_source\";\r\nimport ArrayStore from \"../data/array_store\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isObject,\r\n isPlainObject,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n ensureDefined,\r\n noop\r\n} from \"../core/utils/common\";\r\nimport Guid from \"../core/guid\";\r\nimport {\r\n getElementWidth,\r\n getSizeValue\r\n} from \"./drop_down_editor/utils\";\r\nimport messageLocalization from \"../localization/message\";\r\nvar DROP_DOWN_BUTTON_CLASS = \"dx-dropdownbutton\";\r\nvar DROP_DOWN_BUTTON_CONTENT = \"dx-dropdownbutton-content\";\r\nvar DROP_DOWN_BUTTON_ACTION_CLASS = \"dx-dropdownbutton-action\";\r\nvar DROP_DOWN_BUTTON_TOGGLE_CLASS = \"dx-dropdownbutton-toggle\";\r\nvar DROP_DOWN_BUTTON_HAS_ARROW_CLASS = \"dx-dropdownbutton-has-arrow\";\r\nvar DROP_DOWN_BUTTON_POPUP_WRAPPER_CLASS = \"dx-dropdownbutton-popup-wrapper\";\r\nvar DROP_DOWN_EDITOR_OVERLAY_CLASS = \"dx-dropdowneditor-overlay\";\r\nvar DX_BUTTON_CLASS = \"dx-button\";\r\nvar DX_BUTTON_TEXT_CLASS = \"dx-button-text\";\r\nvar DX_ICON_RIGHT_CLASS = \"dx-icon-right\";\r\nvar DropDownButton = Widget.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n itemTemplate: \"item\",\r\n keyExpr: \"this\",\r\n displayExpr: void 0,\r\n selectedItem: null,\r\n selectedItemKey: null,\r\n stylingMode: \"outlined\",\r\n deferRendering: true,\r\n noDataText: messageLocalization.format(\"dxCollectionWidget-noDataText\"),\r\n useSelectMode: false,\r\n splitButton: false,\r\n showArrowIcon: true,\r\n text: \"\",\r\n icon: void 0,\r\n onButtonClick: null,\r\n onSelectionChanged: null,\r\n onItemClick: null,\r\n opened: false,\r\n items: null,\r\n dataSource: null,\r\n focusStateEnabled: true,\r\n hoverStateEnabled: true,\r\n dropDownOptions: {},\r\n dropDownContentTemplate: \"content\",\r\n wrapItemText: false,\r\n useItemTextAsTitle: true,\r\n grouped: false,\r\n groupTemplate: \"group\",\r\n buttonGroupOptions: {}\r\n })\r\n },\r\n _setOptionsByReference() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n selectedItem: true\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._createItemClickAction();\r\n this._createActionClickAction();\r\n this._createSelectionChangedAction();\r\n this._initDataSource();\r\n this._compileKeyGetter();\r\n this._compileDisplayGetter();\r\n this._itemsToDataSource(this.option(\"items\"));\r\n this._options.cache(\"buttonGroupOptions\", this.option(\"buttonGroupOptions\"));\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"))\r\n },\r\n _initTemplates() {\r\n this._templateManager.addDefaultTemplates({\r\n content: new FunctionTemplate(options => {\r\n var $popupContent = $(options.container);\r\n var $listContainer = $(\"<div>\").appendTo($popupContent);\r\n this._list = this._createComponent($listContainer, List, this._listOptions());\r\n this._list.registerKeyHandler(\"escape\", this._escHandler.bind(this));\r\n this._list.registerKeyHandler(\"tab\", this._escHandler.bind(this));\r\n this._list.registerKeyHandler(\"leftArrow\", this._escHandler.bind(this));\r\n this._list.registerKeyHandler(\"rightArrow\", this._escHandler.bind(this))\r\n })\r\n });\r\n this.callBase()\r\n },\r\n _itemsToDataSource: function(value) {\r\n if (!this._dataSource) {\r\n this._dataSource = new DataSource({\r\n store: new ArrayStore({\r\n key: this._getKey(),\r\n data: value\r\n }),\r\n pageSize: 0\r\n })\r\n }\r\n },\r\n _getKey: function() {\r\n var _this$_dataSource;\r\n var keyExpr = this.option(\"keyExpr\");\r\n var storeKey = null === (_this$_dataSource = this._dataSource) || void 0 === _this$_dataSource ? void 0 : _this$_dataSource.key();\r\n return isDefined(storeKey) && (!isDefined(keyExpr) || \"this\" === keyExpr) ? storeKey : keyExpr\r\n },\r\n _compileKeyGetter() {\r\n this._keyGetter = compileGetter(this._getKey())\r\n },\r\n _compileDisplayGetter() {\r\n this._displayGetter = compileGetter(this.option(\"displayExpr\"))\r\n },\r\n _initMarkup() {\r\n this.callBase();\r\n this.$element().addClass(DROP_DOWN_BUTTON_CLASS);\r\n this._renderButtonGroup();\r\n this._updateArrowClass();\r\n if (isDefined(this.option(\"selectedItemKey\"))) {\r\n this._loadSelectedItem().done(this._updateActionButton.bind(this))\r\n }\r\n },\r\n _renderFocusTarget: noop,\r\n _render() {\r\n if (!this.option(\"deferRendering\") || this.option(\"opened\")) {\r\n this._renderPopup()\r\n }\r\n this.callBase()\r\n },\r\n _renderContentImpl() {\r\n if (this._popup) {\r\n this._renderPopupContent()\r\n }\r\n return this.callBase()\r\n },\r\n _loadSelectedItem() {\r\n var _this$_loadSingleDefe;\r\n null === (_this$_loadSingleDefe = this._loadSingleDeferred) || void 0 === _this$_loadSingleDefe ? void 0 : _this$_loadSingleDefe.reject();\r\n var d = new Deferred;\r\n if (this._list && void 0 !== this._lastSelectedItemData) {\r\n var cachedResult = this.option(\"useSelectMode\") ? this._list.option(\"selectedItem\") : this._lastSelectedItemData;\r\n return d.resolve(cachedResult)\r\n }\r\n this._lastSelectedItemData = void 0;\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n this._loadSingle(this._getKey(), selectedItemKey).done(d.resolve).fail(() => {\r\n d.resolve(null)\r\n });\r\n this._loadSingleDeferred = d;\r\n return d.promise()\r\n },\r\n _createActionClickAction() {\r\n this._actionClickAction = this._createActionByOption(\"onButtonClick\")\r\n },\r\n _createSelectionChangedAction() {\r\n this._selectionChangedAction = this._createActionByOption(\"onSelectionChanged\")\r\n },\r\n _createItemClickAction() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n },\r\n _fireSelectionChangedAction(_ref) {\r\n var {\r\n previousValue: previousValue,\r\n value: value\r\n } = _ref;\r\n this._selectionChangedAction({\r\n item: value,\r\n previousItem: previousValue\r\n })\r\n },\r\n _fireItemClickAction(_ref2) {\r\n var {\r\n event: event,\r\n itemElement: itemElement,\r\n itemData: itemData\r\n } = _ref2;\r\n return this._itemClickAction({\r\n event: event,\r\n itemElement: itemElement,\r\n itemData: this._actionItem || itemData\r\n })\r\n },\r\n _actionButtonConfig() {\r\n return {\r\n text: this.option(\"text\"),\r\n icon: this.option(\"icon\"),\r\n elementAttr: {\r\n class: DROP_DOWN_BUTTON_ACTION_CLASS\r\n }\r\n }\r\n },\r\n _getButtonGroupItems() {\r\n var items = [];\r\n items.push(this._actionButtonConfig());\r\n if (this.option(\"splitButton\")) {\r\n items.push({\r\n icon: \"spindown\",\r\n elementAttr: {\r\n class: DROP_DOWN_BUTTON_TOGGLE_CLASS\r\n }\r\n })\r\n }\r\n return items\r\n },\r\n _buttonGroupItemClick(_ref3) {\r\n var {\r\n event: event,\r\n itemData: itemData\r\n } = _ref3;\r\n var isActionButton = itemData.elementAttr.class === DROP_DOWN_BUTTON_ACTION_CLASS;\r\n var isToggleButton = itemData.elementAttr.class === DROP_DOWN_BUTTON_TOGGLE_CLASS;\r\n if (isToggleButton) {\r\n this.toggle()\r\n } else if (isActionButton) {\r\n this._actionClickAction({\r\n event: event,\r\n selectedItem: this.option(\"selectedItem\")\r\n });\r\n if (!this.option(\"splitButton\")) {\r\n this.toggle()\r\n }\r\n }\r\n },\r\n _buttonGroupOptions() {\r\n var {\r\n splitButton: splitButton,\r\n showArrowIcon: showArrowIcon,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n stylingMode: stylingMode,\r\n accessKey: accessKey,\r\n tabIndex: tabIndex\r\n } = this.option();\r\n var buttonTemplate = splitButton || !showArrowIcon ? \"content\" : (_ref4, buttonContent) => {\r\n var {\r\n text: text,\r\n icon: icon\r\n } = _ref4;\r\n var $firstIcon = getImageContainer(icon);\r\n var $textContainer = text ? $(\"<span>\").text(text).addClass(DX_BUTTON_TEXT_CLASS) : void 0;\r\n var $secondIcon = getImageContainer(\"spindown\").addClass(DX_ICON_RIGHT_CLASS);\r\n $(buttonContent).append($firstIcon, $textContainer, $secondIcon)\r\n };\r\n return extend({\r\n items: this._getButtonGroupItems(),\r\n onItemClick: this._buttonGroupItemClick.bind(this),\r\n width: \"100%\",\r\n height: \"100%\",\r\n selectionMode: \"none\",\r\n onKeyboardHandled: e => this._keyboardHandler(e),\r\n buttonTemplate: buttonTemplate,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n stylingMode: stylingMode,\r\n accessKey: accessKey,\r\n tabIndex: tabIndex\r\n }, this._options.cache(\"buttonGroupOptions\"))\r\n },\r\n _renderPopupContent() {\r\n var $content = this._popup.$content();\r\n var template = this._getTemplateByOption(\"dropDownContentTemplate\");\r\n $content.empty();\r\n this._popupContentId = \"dx-\" + new Guid;\r\n this.setAria(\"id\", this._popupContentId, $content);\r\n return template.render({\r\n container: getPublicElement($content),\r\n model: this.option(\"items\") || this._dataSource\r\n })\r\n },\r\n _popupOptions() {\r\n var horizontalAlignment = this.option(\"rtlEnabled\") ? \"right\" : \"left\";\r\n return extend({\r\n dragEnabled: false,\r\n focusStateEnabled: false,\r\n deferRendering: this.option(\"deferRendering\"),\r\n hideOnOutsideClick: e => {\r\n var $element = this.$element();\r\n var $buttonClicked = $(e.target).closest(\".\".concat(DROP_DOWN_BUTTON_CLASS));\r\n return !$buttonClicked.is($element)\r\n },\r\n showTitle: false,\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n duration: 0,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n },\r\n _ignoreFunctionValueDeprecation: true,\r\n width: () => getElementWidth(this.$element()),\r\n height: \"auto\",\r\n shading: false,\r\n position: {\r\n of: this.$element(),\r\n collision: \"flipfit\",\r\n my: horizontalAlignment + \" top\",\r\n at: horizontalAlignment + \" bottom\"\r\n },\r\n _wrapperClassExternal: DROP_DOWN_EDITOR_OVERLAY_CLASS\r\n }, this._options.cache(\"dropDownOptions\"), {\r\n visible: this.option(\"opened\")\r\n })\r\n },\r\n _listOptions() {\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n var useSelectMode = this.option(\"useSelectMode\");\r\n return {\r\n selectionMode: useSelectMode ? \"single\" : \"none\",\r\n wrapItemText: this.option(\"wrapItemText\"),\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n useItemTextAsTitle: this.option(\"useItemTextAsTitle\"),\r\n onContentReady: () => this._fireContentReadyAction(),\r\n selectedItemKeys: isDefined(selectedItemKey) && useSelectMode ? [selectedItemKey] : [],\r\n grouped: this.option(\"grouped\"),\r\n groupTemplate: this.option(\"groupTemplate\"),\r\n keyExpr: this._getKey(),\r\n noDataText: this.option(\"noDataText\"),\r\n displayExpr: this.option(\"displayExpr\"),\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n items: this.option(\"items\"),\r\n dataSource: this._dataSource,\r\n onItemClick: e => {\r\n if (!this.option(\"useSelectMode\")) {\r\n this._lastSelectedItemData = e.itemData\r\n }\r\n this.option(\"selectedItemKey\", this._keyGetter(e.itemData));\r\n var actionResult = this._fireItemClickAction(e);\r\n if (false !== actionResult) {\r\n this.toggle(false);\r\n this._buttonGroup.focus()\r\n }\r\n }\r\n }\r\n },\r\n _upDownKeyHandler() {\r\n if (this._popup && this._popup.option(\"visible\") && this._list) {\r\n this._list.focus()\r\n } else {\r\n this.open()\r\n }\r\n return true\r\n },\r\n _escHandler() {\r\n this.close();\r\n this._buttonGroup.focus();\r\n return true\r\n },\r\n _tabHandler() {\r\n this.close();\r\n return true\r\n },\r\n _renderPopup() {\r\n var $popup = $(\"<div>\");\r\n this.$element().append($popup);\r\n this._popup = this._createComponent($popup, Popup, this._popupOptions());\r\n this._popup.$content().addClass(DROP_DOWN_BUTTON_CONTENT);\r\n this._popup.$wrapper().addClass(DROP_DOWN_BUTTON_POPUP_WRAPPER_CLASS);\r\n this._popup.on(\"hiding\", this._popupHidingHandler.bind(this));\r\n this._popup.on(\"showing\", this._popupShowingHandler.bind(this));\r\n this._bindInnerWidgetOptions(this._popup, \"dropDownOptions\")\r\n },\r\n _popupHidingHandler() {\r\n this.option(\"opened\", false);\r\n this._updateAriaAttributes(false)\r\n },\r\n _popupOptionChanged: function(args) {\r\n var options = Widget.getOptionsFromContainer(args);\r\n this._setPopupOption(options);\r\n var optionsKeys = Object.keys(options);\r\n if (-1 !== optionsKeys.indexOf(\"width\") || -1 !== optionsKeys.indexOf(\"height\")) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n var popupWidth = getSizeValue(this.option(\"dropDownOptions.width\"));\r\n if (void 0 === popupWidth) {\r\n this._setPopupOption(\"width\", () => getElementWidth(this.$element()))\r\n }\r\n },\r\n _setPopupOption: function(optionName, value) {\r\n this._setWidgetOption(\"_popup\", arguments)\r\n },\r\n _popupShowingHandler() {\r\n this.option(\"opened\", true);\r\n this._updateAriaAttributes(true)\r\n },\r\n _setElementAria(value) {\r\n var elementAria = {\r\n owns: value ? this._popupContentId : void 0\r\n };\r\n this.setAria(elementAria, this.$element())\r\n },\r\n _setButtonsAria(value) {\r\n var commonButtonAria = {\r\n expanded: value,\r\n haspopup: \"listbox\"\r\n };\r\n var firstButtonAria = {};\r\n if (!this.option(\"text\")) {\r\n firstButtonAria.label = \"dropdownbutton\"\r\n }\r\n this._getButtons().each((index, $button) => {\r\n if (0 === index) {\r\n this.setAria(_extends({}, firstButtonAria, commonButtonAria), $($button))\r\n } else {\r\n this.setAria(commonButtonAria, $($button))\r\n }\r\n })\r\n },\r\n _updateAriaAttributes(value) {\r\n this._setElementAria(value);\r\n this._setButtonsAria(value)\r\n },\r\n _getButtons() {\r\n return this._buttonGroup.$element().find(\".\".concat(DX_BUTTON_CLASS))\r\n },\r\n _renderButtonGroup() {\r\n var $buttonGroup = this._buttonGroup && this._buttonGroup.$element() || $(\"<div>\");\r\n if (!this._buttonGroup) {\r\n this.$element().append($buttonGroup)\r\n }\r\n this._buttonGroup = this._createComponent($buttonGroup, ButtonGroup, this._buttonGroupOptions());\r\n this._buttonGroup.registerKeyHandler(\"downArrow\", this._upDownKeyHandler.bind(this));\r\n this._buttonGroup.registerKeyHandler(\"tab\", this._tabHandler.bind(this));\r\n this._buttonGroup.registerKeyHandler(\"upArrow\", this._upDownKeyHandler.bind(this));\r\n this._buttonGroup.registerKeyHandler(\"escape\", this._escHandler.bind(this));\r\n this._bindInnerWidgetOptions(this._buttonGroup, \"buttonGroupOptions\");\r\n this._updateAriaAttributes(this.option(\"opened\"))\r\n },\r\n _updateArrowClass() {\r\n var hasArrow = this.option(\"splitButton\") || this.option(\"showArrowIcon\");\r\n this.$element().toggleClass(DROP_DOWN_BUTTON_HAS_ARROW_CLASS, hasArrow)\r\n },\r\n toggle(visible) {\r\n if (!this._popup) {\r\n this._renderPopup();\r\n this._renderContent()\r\n }\r\n return this._popup.toggle(visible)\r\n },\r\n open() {\r\n return this.toggle(true)\r\n },\r\n close() {\r\n return this.toggle(false)\r\n },\r\n _setListOption(name, value) {\r\n this._list && this._list.option(name, value)\r\n },\r\n _getDisplayValue(item) {\r\n var isPrimitiveItem = !isObject(item);\r\n var displayValue = isPrimitiveItem ? item : this._displayGetter(item);\r\n return !isObject(displayValue) ? String(ensureDefined(displayValue, \"\")) : \"\"\r\n },\r\n _updateActionButton(selectedItem) {\r\n if (this.option(\"useSelectMode\")) {\r\n this.option({\r\n text: this._getDisplayValue(selectedItem),\r\n icon: isPlainObject(selectedItem) ? selectedItem.icon : void 0\r\n })\r\n }\r\n this._setOptionWithoutOptionChange(\"selectedItem\", selectedItem);\r\n this._setOptionWithoutOptionChange(\"selectedItemKey\", this._keyGetter(selectedItem))\r\n },\r\n _clean() {\r\n this._list && this._list.$element().remove();\r\n this._popup && this._popup.$element().remove()\r\n },\r\n _selectedItemKeyChanged(value) {\r\n this._setListOption(\"selectedItemKeys\", this.option(\"useSelectMode\") && isDefined(value) ? [value] : []);\r\n var previousItem = this.option(\"selectedItem\");\r\n this._loadSelectedItem().done(selectedItem => {\r\n this._updateActionButton(selectedItem);\r\n if (this._displayGetter(previousItem) !== this._displayGetter(selectedItem)) {\r\n this._fireSelectionChangedAction({\r\n previousValue: previousItem,\r\n value: selectedItem\r\n })\r\n }\r\n })\r\n },\r\n _updateButtonGroup(name, value) {\r\n this._buttonGroup.option(name, value);\r\n this._updateAriaAttributes(this.option(\"opened\"))\r\n },\r\n _actionButtonOptionChanged(_ref5) {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref5;\r\n var newConfig = {};\r\n newConfig[name] = value;\r\n this._updateButtonGroup(\"items[0]\", extend({}, this._actionButtonConfig(), newConfig));\r\n this._popup && this._popup.repaint()\r\n },\r\n _selectModeChanged(value) {\r\n if (value) {\r\n this._setListOption(\"selectionMode\", \"single\");\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n this._setListOption(\"selectedItemKeys\", isDefined(selectedItemKey) ? [selectedItemKey] : []);\r\n this._selectedItemKeyChanged(this.option(\"selectedItemKey\"))\r\n } else {\r\n this._setListOption(\"selectionMode\", \"none\");\r\n this.option({\r\n selectedItemKey: void 0,\r\n selectedItem: void 0\r\n });\r\n this._actionButtonOptionChanged({\r\n text: this.option(\"text\")\r\n })\r\n }\r\n },\r\n _updateItemCollection(optionName) {\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n this._setListOption(\"selectedItem\", null);\r\n this._setWidgetOption(\"_list\", [optionName]);\r\n if (isDefined(selectedItemKey)) {\r\n this._loadSelectedItem().done(selectedItem => {\r\n this._setListOption(\"selectedItemKeys\", [selectedItemKey]);\r\n this._setListOption(\"selectedItem\", selectedItem)\r\n }).fail(error => {\r\n this._setListOption(\"selectedItemKeys\", [])\r\n }).always(this._updateActionButton.bind(this))\r\n }\r\n },\r\n _updateDataSource: function() {\r\n var items = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._dataSource.items();\r\n this._dataSource = void 0;\r\n this._itemsToDataSource(items);\r\n this._updateKeyExpr()\r\n },\r\n _updateKeyExpr: function() {\r\n this._compileKeyGetter();\r\n this._setListOption(\"keyExpr\", this._getKey())\r\n },\r\n focus: function() {\r\n this._buttonGroup.focus()\r\n },\r\n _optionChanged(args) {\r\n var _this$_popup;\r\n var {\r\n name: name,\r\n value: value\r\n } = args;\r\n switch (name) {\r\n case \"useSelectMode\":\r\n this._selectModeChanged(value);\r\n break;\r\n case \"splitButton\":\r\n this._updateArrowClass();\r\n this._renderButtonGroup();\r\n break;\r\n case \"displayExpr\":\r\n this._compileDisplayGetter();\r\n this._setListOption(name, value);\r\n this._updateActionButton(this.option(\"selectedItem\"));\r\n break;\r\n case \"keyExpr\":\r\n this._updateDataSource();\r\n break;\r\n case \"buttonGroupOptions\":\r\n this._innerWidgetOptionChanged(this._buttonGroup, args);\r\n break;\r\n case \"dropDownOptions\":\r\n if (\"dropDownOptions.visible\" === args.fullName) {\r\n break\r\n }\r\n if (void 0 !== args.value.visible) {\r\n delete args.value.visible\r\n }\r\n this._popupOptionChanged(args);\r\n this._innerWidgetOptionChanged(this._popup, args);\r\n break;\r\n case \"opened\":\r\n this.toggle(value);\r\n break;\r\n case \"focusStateEnabled\":\r\n case \"hoverStateEnabled\":\r\n this._setListOption(name, value);\r\n this._updateButtonGroup(name, value);\r\n this.callBase(args);\r\n break;\r\n case \"items\":\r\n this._updateDataSource(this.option(\"items\"));\r\n this._updateItemCollection(name);\r\n break;\r\n case \"dataSource\":\r\n if (Array.isArray(value)) {\r\n this._updateDataSource(this.option(\"dataSource\"))\r\n } else {\r\n this._initDataSource();\r\n this._updateKeyExpr()\r\n }\r\n this._updateItemCollection(name);\r\n break;\r\n case \"icon\":\r\n case \"text\":\r\n this._actionButtonOptionChanged(args);\r\n break;\r\n case \"showArrowIcon\":\r\n this._updateArrowClass();\r\n this._renderButtonGroup();\r\n this._popup && this._popup.repaint();\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.repaint();\r\n break;\r\n case \"stylingMode\":\r\n this._updateButtonGroup(name, value);\r\n break;\r\n case \"itemTemplate\":\r\n case \"grouped\":\r\n case \"noDataText\":\r\n case \"groupTemplate\":\r\n case \"wrapItemText\":\r\n case \"useItemTextAsTitle\":\r\n this._setListOption(name, value);\r\n break;\r\n case \"dropDownContentTemplate\":\r\n this._renderContent();\r\n break;\r\n case \"selectedItemKey\":\r\n this._selectedItemKeyChanged(value);\r\n break;\r\n case \"selectedItem\":\r\n break;\r\n case \"onItemClick\":\r\n this._createItemClickAction();\r\n break;\r\n case \"onButtonClick\":\r\n this._createActionClickAction();\r\n break;\r\n case \"onSelectionChanged\":\r\n this._createSelectionChangedAction();\r\n break;\r\n case \"deferRendering\":\r\n this.toggle(this.option(\"opened\"));\r\n break;\r\n case \"tabIndex\":\r\n this._updateButtonGroup(name, value);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n}).include(DataHelperMixin);\r\nregisterComponent(\"dxDropDownButton\", DropDownButton);\r\nexport default DropDownButton;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/m_export.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\n\r\nfunction prepareItems(items, emptyCell) {\r\n var defaultSetter = value => !value ? 1 : value;\r\n var resultItems = [];\r\n var cols = (items[0] || []).reduce((sum, item) => sum + defaultSetter(item.colspan), 0);\r\n var getItem = (items => {\r\n var rowIndex = 0;\r\n var cellIndex = 0;\r\n return () => {\r\n var row = items[rowIndex] || [];\r\n var item = row[cellIndex++];\r\n if (cellIndex >= row.length) {\r\n rowIndex++;\r\n cellIndex = 0\r\n }\r\n if (item) {\r\n item.colspan = defaultSetter(item.colspan);\r\n item.rowspan = defaultSetter(item.rowspan)\r\n }\r\n return item\r\n }\r\n })(items);\r\n var addItem = (rowIndex, cellIndex, item) => {\r\n var row = resultItems[rowIndex] = resultItems[rowIndex] || [];\r\n row[cellIndex] = item;\r\n if (item.colspan > 1 || item.rowspan > 1) {\r\n var clone = (item => extend({}, item, emptyCell))(item);\r\n for (var c = 1; c < item.colspan; c++) {\r\n addItem(rowIndex, cellIndex + c, clone)\r\n }\r\n for (var r = 1; r < item.rowspan; r++) {\r\n for (var _c = 0; _c < item.colspan; _c++) {\r\n addItem(rowIndex + r, cellIndex + _c, clone)\r\n }\r\n }\r\n }\r\n };\r\n var item = getItem();\r\n var rowIndex = 0;\r\n while (item) {\r\n for (var cellIndex = 0; cellIndex < cols; cellIndex++) {\r\n if (!item) {\r\n break\r\n }\r\n if (resultItems[rowIndex] && resultItems[rowIndex][cellIndex]) {\r\n continue\r\n }\r\n addItem(rowIndex, cellIndex, item);\r\n cellIndex += item.colspan - 1;\r\n item = getItem()\r\n }\r\n rowIndex++\r\n }\r\n return resultItems\r\n}\r\nexport {\r\n prepareItems\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/export/m_export.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport \"../../../../ui/button\";\r\nimport \"../../../../ui/drop_down_button\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n format\r\n} from \"../../../../core/utils/string\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../../../core/utils/type\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport List from \"../../../../ui/list_light\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport {\r\n prepareItems\r\n} from \"../../../grids/grid_core/m_export\";\r\nimport dataGridCore from \"../m_core\";\r\nvar DATAGRID_EXPORT_MENU_CLASS = \"dx-datagrid-export-menu\";\r\nvar DATAGRID_EXPORT_BUTTON_CLASS = \"dx-datagrid-export-button\";\r\nvar DATAGRID_EXPORT_TOOLBAR_BUTTON_NAME = \"exportButton\";\r\nvar DATAGRID_EXPORT_ICON = \"export\";\r\nvar DATAGRID_EXPORT_EXCEL_ICON = \"xlsxfile\";\r\nvar DATAGRID_EXPORT_SELECTED_ICON = \"exportselected\";\r\nvar DATAGRID_PDF_EXPORT_ICON = \"pdffile\";\r\nexport class DataProvider {\r\n constructor(exportController, initialColumnWidthsByColumnIndex, selectedRowsOnly) {\r\n this._exportController = exportController;\r\n this._initialColumnWidthsByColumnIndex = initialColumnWidthsByColumnIndex;\r\n this._selectedRowsOnly = selectedRowsOnly\r\n }\r\n _getGroupValue(item) {\r\n var {\r\n key: key,\r\n data: data,\r\n rowType: rowType,\r\n groupIndex: groupIndex,\r\n summaryCells: summaryCells\r\n } = item;\r\n var groupColumn = this._options.groupColumns[groupIndex];\r\n var value = dataGridCore.getDisplayValue(groupColumn, groupColumn.deserializeValue ? groupColumn.deserializeValue(key[groupIndex]) : key[groupIndex], data, rowType);\r\n var result = \"\".concat(groupColumn.caption, \": \").concat(dataGridCore.formatValue(value, groupColumn));\r\n if (summaryCells && summaryCells[0] && summaryCells[0].length) {\r\n result += \" \".concat(dataGridCore.getGroupRowSummaryText(summaryCells[0], this._options.summaryTexts))\r\n }\r\n return result\r\n }\r\n _correctCellIndex(cellIndex) {\r\n return cellIndex\r\n }\r\n _initOptions() {\r\n var exportController = this._exportController;\r\n var groupColumns = exportController._columnsController.getGroupColumns();\r\n this._options = {\r\n columns: exportController._getColumns(this._initialColumnWidthsByColumnIndex),\r\n groupColumns: groupColumns,\r\n items: this._selectedRowsOnly || exportController._selectionOnly ? exportController._getSelectedItems() : exportController._getAllItems(),\r\n isHeadersVisible: exportController.option(\"showColumnHeaders\"),\r\n summaryTexts: exportController.option(\"summary.texts\"),\r\n rtlEnabled: exportController.option(\"rtlEnabled\")\r\n }\r\n }\r\n getHeaderStyles() {\r\n return [{\r\n bold: true,\r\n alignment: \"center\"\r\n }, {\r\n bold: true,\r\n alignment: \"left\"\r\n }, {\r\n bold: true,\r\n alignment: \"right\"\r\n }]\r\n }\r\n getGroupRowStyle() {\r\n return {\r\n bold: true,\r\n alignment: getDefaultAlignment(this._options.rtlEnabled)\r\n }\r\n }\r\n getColumnStyles() {\r\n var columnStyles = [];\r\n this.getColumns().forEach(column => {\r\n columnStyles.push({\r\n alignment: column.alignment || \"left\",\r\n format: column.format,\r\n dataType: column.dataType\r\n })\r\n });\r\n return columnStyles\r\n }\r\n getStyles() {\r\n return [...this.getHeaderStyles(), ...this.getColumnStyles(), this.getGroupRowStyle()]\r\n }\r\n _getTotalCellStyleId(cellIndex) {\r\n var _a;\r\n var alignment = (null === (_a = this.getColumns()[cellIndex]) || void 0 === _a ? void 0 : _a.alignment) || \"right\";\r\n return this.getHeaderStyles().map(style => style.alignment).indexOf(alignment)\r\n }\r\n getStyleId(rowIndex, cellIndex) {\r\n if (rowIndex < this.getHeaderRowCount()) {\r\n return 0\r\n }\r\n if (this.isTotalCell(rowIndex - this.getHeaderRowCount(), cellIndex)) {\r\n return this._getTotalCellStyleId(cellIndex)\r\n }\r\n if (this.isGroupRow(rowIndex - this.getHeaderRowCount())) {\r\n return this.getHeaderStyles().length + this.getColumns().length\r\n }\r\n return cellIndex + this.getHeaderStyles().length\r\n }\r\n getColumns(getColumnsByAllRows) {\r\n var {\r\n columns: columns\r\n } = this._options;\r\n return getColumnsByAllRows ? columns : columns[columns.length - 1]\r\n }\r\n getColumnsWidths() {\r\n var columns = this.getColumns();\r\n return isDefined(columns) ? columns.map(c => c.width) : void 0\r\n }\r\n getRowsCount() {\r\n return this._options.items.length + this.getHeaderRowCount()\r\n }\r\n getHeaderRowCount() {\r\n if (this.isHeadersVisible()) {\r\n return this._options.columns.length - 1\r\n }\r\n return 0\r\n }\r\n isGroupRow(rowIndex) {\r\n return rowIndex < this._options.items.length && \"group\" === this._options.items[rowIndex].rowType\r\n }\r\n getGroupLevel(rowIndex) {\r\n var item = this._options.items[rowIndex - this.getHeaderRowCount()];\r\n var groupIndex = item && item.groupIndex;\r\n if (item && \"totalFooter\" === item.rowType) {\r\n return 0\r\n }\r\n return isDefined(groupIndex) ? groupIndex : this._options.groupColumns.length\r\n }\r\n getCellType(rowIndex, cellIndex) {\r\n var columns = this.getColumns();\r\n if (rowIndex < this.getHeaderRowCount()) {\r\n return \"string\"\r\n }\r\n rowIndex -= this.getHeaderRowCount();\r\n if (cellIndex < columns.length) {\r\n var item = this._options.items.length && this._options.items[rowIndex];\r\n var column = columns[cellIndex];\r\n if (item && \"data\" === item.rowType) {\r\n if (isFinite(item.values[this._correctCellIndex(cellIndex)]) && !isDefined(column.customizeText)) {\r\n return isDefined(column.lookup) ? column.lookup.dataType : column.dataType\r\n }\r\n }\r\n return \"string\"\r\n }\r\n }\r\n ready() {\r\n this._initOptions();\r\n var options = this._options;\r\n return when(options.items).done(items => {\r\n options.items = items\r\n }).fail(() => {\r\n options.items = []\r\n })\r\n }\r\n _convertFromGridGroupSummaryItems(gridGroupSummaryItems) {\r\n if (isDefined(gridGroupSummaryItems) && gridGroupSummaryItems.length > 0) {\r\n return gridGroupSummaryItems.map(item => ({\r\n value: item.value,\r\n name: item.name\r\n }))\r\n }\r\n }\r\n getCellData(rowIndex, cellIndex, isExcelJS) {\r\n var value;\r\n var column;\r\n var result = {\r\n cellSourceData: {},\r\n value: value\r\n };\r\n var columns = this.getColumns();\r\n var correctedCellIndex = this._correctCellIndex(cellIndex);\r\n if (rowIndex < this.getHeaderRowCount()) {\r\n var columnsRow = this.getColumns(true)[rowIndex];\r\n column = columnsRow[cellIndex];\r\n result.cellSourceData.rowType = \"header\";\r\n result.cellSourceData.column = column && column.gridColumn;\r\n result.value = column && column.caption\r\n } else {\r\n rowIndex -= this.getHeaderRowCount();\r\n var item = this._options.items.length && this._options.items[rowIndex];\r\n if (item) {\r\n var itemValues = item.values;\r\n result.cellSourceData.rowType = item.rowType;\r\n result.cellSourceData.column = columns[cellIndex] && columns[cellIndex].gridColumn;\r\n switch (item.rowType) {\r\n case \"groupFooter\":\r\n case \"totalFooter\":\r\n if (correctedCellIndex < itemValues.length) {\r\n value = itemValues[correctedCellIndex];\r\n if (isDefined(value)) {\r\n result.cellSourceData.value = value.value;\r\n result.cellSourceData.totalSummaryItemName = value.name;\r\n result.value = dataGridCore.getSummaryText(value, this._options.summaryTexts)\r\n } else {\r\n result.cellSourceData.value = void 0\r\n }\r\n }\r\n break;\r\n case \"group\":\r\n result.cellSourceData.groupIndex = item.groupIndex;\r\n if (cellIndex < 1) {\r\n result.cellSourceData.column = this._options.groupColumns[item.groupIndex];\r\n result.cellSourceData.value = item.key[item.groupIndex];\r\n result.cellSourceData.groupSummaryItems = this._convertFromGridGroupSummaryItems(item.summaryCells[0]);\r\n result.value = this._getGroupValue(item)\r\n } else {\r\n var summaryItems = item.values[correctedCellIndex];\r\n if (Array.isArray(summaryItems)) {\r\n result.cellSourceData.groupSummaryItems = this._convertFromGridGroupSummaryItems(summaryItems);\r\n value = \"\";\r\n for (var i = 0; i < summaryItems.length; i++) {\r\n value += (i > 0 ? isExcelJS ? \"\\n\" : \" \\n \" : \"\") + dataGridCore.getSummaryText(summaryItems[i], this._options.summaryTexts)\r\n }\r\n result.value = value\r\n } else {\r\n result.cellSourceData.value = void 0\r\n }\r\n }\r\n break;\r\n default:\r\n column = columns[cellIndex];\r\n if (column) {\r\n var _value = itemValues[correctedCellIndex];\r\n var displayValue = dataGridCore.getDisplayValue(column, _value, item.data, item.rowType);\r\n if (!isFinite(displayValue) || isDefined(column.customizeText)) {\r\n if (isExcelJS && isDefined(column.customizeText) && column.customizeText === this._exportController._columnsController.getCustomizeTextByDataType(\"boolean\")) {\r\n result.value = displayValue\r\n } else {\r\n result.value = dataGridCore.formatValue(displayValue, column)\r\n }\r\n } else {\r\n result.value = displayValue\r\n }\r\n result.cellSourceData.value = _value\r\n }\r\n result.cellSourceData.data = item.data\r\n }\r\n }\r\n }\r\n return result\r\n }\r\n isHeadersVisible() {\r\n return this._options.isHeadersVisible\r\n }\r\n isTotalCell(rowIndex, cellIndex) {\r\n var {\r\n items: items\r\n } = this._options;\r\n var item = items[rowIndex];\r\n var correctCellIndex = this._correctCellIndex(cellIndex);\r\n var isSummaryAlignByColumn = item.summaryCells && item.summaryCells[correctCellIndex] && item.summaryCells[correctCellIndex].length > 0 && item.summaryCells[correctCellIndex][0].alignByColumn;\r\n return item && \"groupFooter\" === item.rowType || \"totalFooter\" === item.rowType || isSummaryAlignByColumn\r\n }\r\n getCellMerging(rowIndex, cellIndex) {\r\n var {\r\n columns: columns\r\n } = this._options;\r\n var column = columns[rowIndex] && columns[rowIndex][cellIndex];\r\n return column ? {\r\n colspan: (column.exportColspan || 1) - 1,\r\n rowspan: (column.rowspan || 1) - 1\r\n } : {\r\n colspan: 0,\r\n rowspan: 0\r\n }\r\n }\r\n getFrozenArea() {\r\n return {\r\n x: 0,\r\n y: this.getHeaderRowCount()\r\n }\r\n }\r\n}\r\nexport class ExportController extends dataGridCore.ViewController {\r\n init() {\r\n this.throwWarningIfNoOnExportingEvent();\r\n this._columnsController = this.getController(\"columns\");\r\n this._dataController = this.getController(\"data\");\r\n this._selectionController = this.getController(\"selection\");\r\n this._rowsView = this.getView(\"rowsView\");\r\n this._headersView = this.getView(\"columnHeadersView\");\r\n this.createAction(\"onExporting\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }\r\n _getEmptyCell() {\r\n return {\r\n caption: \"\",\r\n colspan: 1,\r\n rowspan: 1\r\n }\r\n }\r\n _updateColumnWidth(column, width) {\r\n column.width = width\r\n }\r\n _getColumns(initialColumnWidthsByColumnIndex) {\r\n var result = [];\r\n var i;\r\n var columns;\r\n var columnsController = this._columnsController;\r\n var rowCount = columnsController.getRowCount();\r\n for (i = 0; i <= rowCount; i++) {\r\n var currentHeaderRow = [];\r\n columns = columnsController.getVisibleColumns(i, true);\r\n var columnWidthsByColumnIndex = void 0;\r\n if (i === rowCount) {\r\n if (this._updateLockCount) {\r\n columnWidthsByColumnIndex = initialColumnWidthsByColumnIndex\r\n } else {\r\n var columnWidths = this._getColumnWidths(this._headersView, this._rowsView);\r\n if (columnWidths && columnWidths.length) {\r\n columnWidthsByColumnIndex = {};\r\n for (var _i = 0; _i < columns.length; _i++) {\r\n columnWidthsByColumnIndex[columns[_i].index] = columnWidths[_i]\r\n }\r\n }\r\n }\r\n }\r\n for (var j = 0; j < columns.length; j++) {\r\n var column = extend({}, columns[j], {\r\n dataType: \"datetime\" === columns[j].dataType ? \"date\" : columns[j].dataType,\r\n gridColumn: columns[j]\r\n });\r\n if (this._needColumnExporting(column)) {\r\n var currentColspan = this._calculateExportColspan(column);\r\n if (isDefined(currentColspan)) {\r\n column.exportColspan = currentColspan\r\n }\r\n if (columnWidthsByColumnIndex) {\r\n this._updateColumnWidth(column, columnWidthsByColumnIndex[column.index])\r\n }\r\n currentHeaderRow.push(column)\r\n }\r\n }\r\n result.push(currentHeaderRow)\r\n }\r\n columns = result[rowCount];\r\n result = prepareItems(result.slice(0, -1), this._getEmptyCell());\r\n result.push(columns);\r\n return result\r\n }\r\n _calculateExportColspan(column) {\r\n if (!column.isBand) {\r\n return\r\n }\r\n var childColumns = this._columnsController.getChildrenByBandColumn(column.index, true);\r\n if (!isDefined(childColumns)) {\r\n return\r\n }\r\n return childColumns.reduce((result, childColumn) => {\r\n if (this._needColumnExporting(childColumn)) {\r\n return result + (this._calculateExportColspan(childColumn) || 1)\r\n }\r\n return result\r\n }, 0)\r\n }\r\n _needColumnExporting(column) {\r\n return !column.command && (column.allowExporting || void 0 === column.allowExporting)\r\n }\r\n _getFooterSummaryItems(summaryCells, isTotal) {\r\n var result = [];\r\n var estimatedItemsCount = 1;\r\n var i = 0;\r\n do {\r\n var values = [];\r\n for (var j = 0; j < summaryCells.length; j++) {\r\n var summaryCell = summaryCells[j];\r\n var itemsLength = summaryCell.length;\r\n if (estimatedItemsCount < itemsLength) {\r\n estimatedItemsCount = itemsLength\r\n }\r\n values.push(summaryCell[i])\r\n }\r\n result.push({\r\n values: values,\r\n rowType: isTotal ? \"totalFooter\" : \"groupFooter\"\r\n })\r\n } while (i++ < estimatedItemsCount - 1);\r\n return result\r\n }\r\n _hasSummaryGroupFooters() {\r\n var groupItems = this.option(\"summary.groupItems\");\r\n if (isDefined(groupItems)) {\r\n for (var i = 0; i < groupItems.length; i++) {\r\n if (groupItems[i].showInGroupFooter) {\r\n return true\r\n }\r\n }\r\n }\r\n return false\r\n }\r\n _getItemsWithSummaryGroupFooters(sourceItems) {\r\n var result = [];\r\n var beforeGroupFooterItems = [];\r\n var groupFooterItems = [];\r\n for (var i = 0; i < sourceItems.length; i++) {\r\n var item = sourceItems[i];\r\n if (\"groupFooter\" === item.rowType) {\r\n groupFooterItems = this._getFooterSummaryItems(item.summaryCells);\r\n result = result.concat(beforeGroupFooterItems, groupFooterItems);\r\n beforeGroupFooterItems = []\r\n } else {\r\n beforeGroupFooterItems.push(item)\r\n }\r\n }\r\n return result.length ? result : beforeGroupFooterItems\r\n }\r\n _updateGroupValuesWithSummaryByColumn(sourceItems) {\r\n var summaryValues = [];\r\n for (var i = 0; i < sourceItems.length; i++) {\r\n var item = sourceItems[i];\r\n var {\r\n summaryCells: summaryCells\r\n } = item;\r\n if (\"group\" === item.rowType && summaryCells && summaryCells.length > 1) {\r\n var groupColumnCount = item.values.length;\r\n for (var j = 1; j < summaryCells.length; j++) {\r\n for (var k = 0; k < summaryCells[j].length; k++) {\r\n var summaryItem = summaryCells[j][k];\r\n if (summaryItem && summaryItem.alignByColumn) {\r\n if (!Array.isArray(summaryValues[j - groupColumnCount])) {\r\n summaryValues[j - groupColumnCount] = []\r\n }\r\n summaryValues[j - groupColumnCount].push(summaryItem)\r\n }\r\n }\r\n }\r\n if (summaryValues.length > 0) {\r\n item.values.push(...summaryValues);\r\n summaryValues = []\r\n }\r\n }\r\n }\r\n }\r\n _processUnExportedItems(items) {\r\n var columns = this._columnsController.getVisibleColumns(null, true);\r\n var groupColumns = this._columnsController.getGroupColumns();\r\n var values;\r\n var summaryCells;\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var isCommand = false;\r\n values = [];\r\n summaryCells = [];\r\n for (var j = 0; j < columns.length; j++) {\r\n var column = columns[j];\r\n isCommand || (isCommand = [\"detailExpand\", \"buttons\"].includes(column.type));\r\n if (this._needColumnExporting(column)) {\r\n if (item.values) {\r\n if (\"group\" === item.rowType && !values.length) {\r\n values.push(item.key[item.groupIndex])\r\n } else {\r\n values.push(item.values[j])\r\n }\r\n }\r\n if (item.summaryCells) {\r\n if (\"group\" === item.rowType && !summaryCells.length) {\r\n var index = j - groupColumns.length + item.groupIndex;\r\n summaryCells.push(item.summaryCells[isCommand ? index : index + 1])\r\n } else {\r\n summaryCells.push(item.summaryCells[j])\r\n }\r\n }\r\n }\r\n }\r\n if (values.length) {\r\n item.values = values\r\n }\r\n if (summaryCells.length) {\r\n item.summaryCells = summaryCells\r\n }\r\n }\r\n }\r\n _getAllItems(data) {\r\n var skipFilter = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false;\r\n var that = this;\r\n var d = new Deferred;\r\n var footerItems = this._dataController.footerItems();\r\n var totalItem = footerItems.length && footerItems[0];\r\n var summaryTotalItems = that.option(\"summary.totalItems\");\r\n var summaryCells;\r\n when(data).done(data => {\r\n this._dataController.loadAll(data, skipFilter).done((sourceItems, totalAggregates) => {\r\n that._updateGroupValuesWithSummaryByColumn(sourceItems);\r\n if (that._hasSummaryGroupFooters()) {\r\n sourceItems = that._getItemsWithSummaryGroupFooters(sourceItems)\r\n }\r\n summaryCells = totalItem && totalItem.summaryCells;\r\n if (isDefined(totalAggregates) && summaryTotalItems) {\r\n summaryCells = that._getSummaryCells(summaryTotalItems, totalAggregates)\r\n }\r\n var summaryItems = totalItem && that._getFooterSummaryItems(summaryCells, true);\r\n if (summaryItems) {\r\n sourceItems = sourceItems.concat(summaryItems)\r\n }\r\n that._processUnExportedItems(sourceItems);\r\n d.resolve(sourceItems)\r\n }).fail(d.reject)\r\n }).fail(d.reject);\r\n return d\r\n }\r\n _getSummaryCells(summaryTotalItems, totalAggregates) {\r\n return this._dataController._calculateSummaryCells(summaryTotalItems, totalAggregates, this._columnsController.getVisibleColumns(null, true), (summaryItem, column) => this._dataController._isDataColumn(column) ? column.index : -1)\r\n }\r\n _getSelectedItems() {\r\n if (this.needLoadItemsOnExportingSelectedItems()) {\r\n return this._getAllItems(this._selectionController.loadSelectedItemsWithFilter(), true)\r\n }\r\n return this._getAllItems(this._selectionController.getSelectedRowsData())\r\n }\r\n _getColumnWidths(headersView, rowsView) {\r\n return headersView && headersView.isVisible() ? headersView.getColumnWidths() : rowsView.getColumnWidths()\r\n }\r\n throwWarningIfNoOnExportingEvent() {\r\n var _a, _b;\r\n var hasOnExporting = null === (_b = (_a = this.component).hasActionSubscription) || void 0 === _b ? void 0 : _b.call(_a, \"onExporting\");\r\n if (this.option(\"export.enabled\") && !hasOnExporting) {\r\n errors.log(\"W1024\")\r\n }\r\n }\r\n callbackNames() {\r\n return [\"selectionOnlyChanged\"]\r\n }\r\n getDataProvider(selectedRowsOnly) {\r\n var columnWidths = this._getColumnWidths(this._headersView, this._rowsView);\r\n var initialColumnWidthsByColumnIndex;\r\n if (columnWidths && columnWidths.length) {\r\n initialColumnWidthsByColumnIndex = {};\r\n var columnsLastRowVisibleColumns = this._columnsController.getVisibleColumns(this._columnsController.getRowCount(), true);\r\n for (var i = 0; i < columnsLastRowVisibleColumns.length; i++) {\r\n initialColumnWidthsByColumnIndex[columnsLastRowVisibleColumns[i].index] = columnWidths[i]\r\n }\r\n }\r\n return new DataProvider(this, initialColumnWidthsByColumnIndex, selectedRowsOnly)\r\n }\r\n exportTo(selectedRowsOnly, format) {\r\n this._selectionOnly = selectedRowsOnly;\r\n var onExporting = this.getAction(\"onExporting\");\r\n var eventArgs = {\r\n rtlEnabled: this.option(\"rtlEnabled\"),\r\n selectedRowsOnly: !!selectedRowsOnly,\r\n format: format,\r\n fileName: \"DataGrid\",\r\n cancel: false\r\n };\r\n isFunction(onExporting) && onExporting(eventArgs)\r\n }\r\n publicMethods() {\r\n return [\"getDataProvider\"]\r\n }\r\n selectionOnly(value) {\r\n if (isDefined(value)) {\r\n this._isSelectedRows = value;\r\n this.selectionOnlyChanged.fire()\r\n } else {\r\n return this._isSelectedRows\r\n }\r\n }\r\n optionChanged(args) {\r\n super.optionChanged(args);\r\n if (\"export\" === args.name) {\r\n this.throwWarningIfNoOnExportingEvent()\r\n }\r\n }\r\n needLoadItemsOnExportingSelectedItems() {\r\n var _a;\r\n return null !== (_a = this.option(\"loadItemsOnExportingSelectedItems\")) && void 0 !== _a ? _a : this._dataController._dataSource.remoteOperations().filtering\r\n }\r\n}\r\nvar editing = Base => class extends Base {\r\n callbackNames() {\r\n var callbackList = super.callbackNames();\r\n return isDefined(callbackList) ? callbackList.push(\"editingButtonsUpdated\") : [\"editingButtonsUpdated\"]\r\n }\r\n _updateEditButtons() {\r\n super._updateEditButtons();\r\n this.editingButtonsUpdated.fire()\r\n }\r\n};\r\nvar headerPanel = Base => class extends Base {\r\n _getToolbarItems() {\r\n var items = super._getToolbarItems();\r\n var exportButton = this._getExportToolbarButton();\r\n if (exportButton) {\r\n items.push(exportButton);\r\n this._correctItemsPosition(items)\r\n }\r\n return items\r\n }\r\n _getExportToolbarButton() {\r\n var items = this._getExportToolbarItems();\r\n if (0 === items.length) {\r\n return null\r\n }\r\n var disabled = this._needDisableExportButton();\r\n var toolbarButtonOptions = {\r\n name: DATAGRID_EXPORT_TOOLBAR_BUTTON_NAME,\r\n location: \"after\",\r\n locateInMenu: \"auto\",\r\n sortIndex: 30,\r\n options: {\r\n items: items\r\n },\r\n disabled: disabled\r\n };\r\n if (1 === items.length) {\r\n var widgetOptions = _extends(_extends({}, items[0]), {\r\n hint: items[0].text,\r\n elementAttr: {\r\n class: DATAGRID_EXPORT_BUTTON_CLASS\r\n }\r\n });\r\n toolbarButtonOptions.widget = \"dxButton\";\r\n toolbarButtonOptions.showText = \"inMenu\";\r\n toolbarButtonOptions.options = widgetOptions\r\n } else {\r\n var _widgetOptions = {\r\n icon: DATAGRID_EXPORT_ICON,\r\n displayExpr: \"text\",\r\n items: items,\r\n hint: this.option(\"export.texts.exportTo\"),\r\n elementAttr: {\r\n class: DATAGRID_EXPORT_BUTTON_CLASS\r\n },\r\n dropDownOptions: {\r\n width: \"auto\",\r\n _wrapperClassExternal: DATAGRID_EXPORT_MENU_CLASS\r\n }\r\n };\r\n toolbarButtonOptions.options = _widgetOptions;\r\n toolbarButtonOptions.widget = \"dxDropDownButton\";\r\n toolbarButtonOptions.menuItemTemplate = (_data, _index, container) => {\r\n this._createComponent($(container), List, {\r\n items: items\r\n })\r\n }\r\n }\r\n return toolbarButtonOptions\r\n }\r\n _getExportToolbarItems() {\r\n var _a;\r\n var exportOptions = this.option(\"export\");\r\n var texts = this.option(\"export.texts\");\r\n var formats = null !== (_a = this.option(\"export.formats\")) && void 0 !== _a ? _a : [];\r\n if (!exportOptions.enabled) {\r\n return []\r\n }\r\n var items = [];\r\n formats.forEach(formatType => {\r\n var formatName = formatType.toUpperCase();\r\n var exportAllIcon = DATAGRID_EXPORT_ICON;\r\n var exportSelectedIcon = DATAGRID_EXPORT_SELECTED_ICON;\r\n if (\"xlsx\" === formatType) {\r\n formatName = \"Excel\";\r\n exportAllIcon = DATAGRID_EXPORT_EXCEL_ICON\r\n }\r\n if (\"pdf\" === formatType) {\r\n exportAllIcon = DATAGRID_PDF_EXPORT_ICON\r\n }\r\n items.push({\r\n text: format(texts.exportAll, formatName),\r\n icon: exportAllIcon,\r\n onClick: () => {\r\n this._exportController.exportTo(false, formatType)\r\n }\r\n });\r\n if (exportOptions.allowExportSelectedData) {\r\n items.push({\r\n text: format(texts.exportSelectedRows, formatName),\r\n icon: exportSelectedIcon,\r\n onClick: () => {\r\n this._exportController.exportTo(true, formatType)\r\n }\r\n })\r\n }\r\n });\r\n return items\r\n }\r\n _correctItemsPosition(items) {\r\n items.sort((itemA, itemB) => itemA.sortIndex - itemB.sortIndex)\r\n }\r\n _isExportButtonVisible() {\r\n return this.option(\"export.enabled\")\r\n }\r\n optionChanged(args) {\r\n super.optionChanged(args);\r\n if (\"export\" === args.name) {\r\n args.handled = true;\r\n this._invalidate()\r\n }\r\n }\r\n _needDisableExportButton() {\r\n var isDataColumnsInvisible = !this._columnsController.hasVisibleDataColumns();\r\n var hasUnsavedChanges = this._editingController.hasChanges();\r\n return isDataColumnsInvisible || hasUnsavedChanges\r\n }\r\n _columnOptionChanged(e) {\r\n super._columnOptionChanged(e);\r\n var isColumnLocationChanged = dataGridCore.checkChanges(e.optionNames, [\"groupIndex\", \"visible\", \"all\"]);\r\n if (isColumnLocationChanged) {\r\n var disabled = this._needDisableExportButton();\r\n this.setToolbarItemDisabled(\"exportButton\", disabled)\r\n }\r\n }\r\n init() {\r\n super.init();\r\n this._exportController = this.getController(\"export\");\r\n this._editingController.editingButtonsUpdated.add(() => {\r\n var disabled = this._needDisableExportButton();\r\n this.setToolbarItemDisabled(\"exportButton\", disabled)\r\n })\r\n }\r\n isVisible() {\r\n return super.isVisible() || this._isExportButtonVisible()\r\n }\r\n};\r\ndataGridCore.registerModule(\"export\", {\r\n defaultOptions: () => ({\r\n export: {\r\n enabled: false,\r\n fileName: \"DataGrid\",\r\n formats: [\"xlsx\"],\r\n allowExportSelectedData: false,\r\n texts: {\r\n exportTo: messageLocalization.format(\"dxDataGrid-exportTo\"),\r\n exportAll: messageLocalization.format(\"dxDataGrid-exportAll\"),\r\n exportSelectedRows: messageLocalization.format(\"dxDataGrid-exportSelectedRows\")\r\n }\r\n }\r\n }),\r\n controllers: {\r\n export: ExportController\r\n },\r\n extenders: {\r\n controllers: {\r\n editing: editing\r\n },\r\n views: {\r\n headerPanel: headerPanel\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/focus/m_focus_utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateSerialization from \"../../../../core/utils/date_serialization\";\r\nimport {\r\n isDate,\r\n isFunction\r\n} from \"../../../../core/utils/type\";\r\nvar getSortFilterValue = (sortInfo, rowData, _ref) => {\r\n var {\r\n isRemoteFiltering: isRemoteFiltering,\r\n dateSerializationFormat: dateSerializationFormat,\r\n getSelector: getSelector\r\n } = _ref;\r\n var {\r\n selector: selector\r\n } = sortInfo;\r\n var getter = isFunction(selector) ? selector : getSelector(selector);\r\n var rawValue = getter ? getter(rowData) : rowData[selector];\r\n var safeValue = isRemoteFiltering && isDate(rawValue) ? dateSerialization.serializeDate(rawValue, dateSerializationFormat) : rawValue;\r\n return {\r\n getter: getter,\r\n rawValue: rawValue,\r\n safeValue: safeValue\r\n }\r\n};\r\nexport var UiGridCoreFocusUtils = {\r\n getSortFilterValue: getSortFilterValue\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/focus/m_focus.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isBoolean,\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n isNewRowTempKey\r\n} from \"../editing/m_editing_utils\";\r\nimport core from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n UiGridCoreFocusUtils\r\n} from \"./m_focus_utils\";\r\nvar ROW_FOCUSED_CLASS = \"dx-row-focused\";\r\nvar FOCUSED_ROW_SELECTOR = \".dx-row.\".concat(ROW_FOCUSED_CLASS);\r\nvar TABLE_POSTFIX_CLASS = \"table\";\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nexport class FocusController extends core.ViewController {\r\n getKeyboardController() {\r\n return this.getController(\"keyboardNavigation\")\r\n }\r\n getDataController() {\r\n return this.getController(\"data\")\r\n }\r\n init() {\r\n this.component._optionsByReference.focusedRowKey = true\r\n }\r\n optionChanged(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"focusedRowIndex\":\r\n this._focusRowByIndex(value);\r\n this.getKeyboardController()._fireFocusedRowChanged();\r\n args.handled = true;\r\n break;\r\n case \"focusedRowKey\":\r\n if (Array.isArray(value) && JSON.stringify(value) === JSON.stringify(previousValue)) {\r\n return\r\n }\r\n this._focusRowByKey(value);\r\n this.getKeyboardController()._fireFocusedRowChanged();\r\n args.handled = true;\r\n break;\r\n case \"focusedColumnIndex\":\r\n case \"focusedRowEnabled\":\r\n case \"autoNavigateToFocusedRow\":\r\n args.handled = true;\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n publicMethods() {\r\n return [\"navigateToRow\", \"isRowFocused\"]\r\n }\r\n isAutoNavigateToFocusedRow() {\r\n return \"infinite\" !== this.option(\"scrolling.mode\") && this.option(\"autoNavigateToFocusedRow\")\r\n }\r\n _focusRowByIndex(index, operationTypes) {\r\n if (!this.option(\"focusedRowEnabled\")) {\r\n return\r\n }\r\n index = void 0 !== index ? index : this.option(\"focusedRowIndex\");\r\n if (index < 0) {\r\n if (this.isAutoNavigateToFocusedRow()) {\r\n this._resetFocusedRow()\r\n }\r\n } else {\r\n this._focusRowByIndexCore(index, operationTypes)\r\n }\r\n }\r\n _focusRowByIndexCore(index, operationTypes) {\r\n var pageSize = this.getDataController().pageSize();\r\n var setKeyByIndex = () => {\r\n if (this._isValidFocusedRowIndex(index)) {\r\n var rowIndex = index - this.getDataController().getRowIndexOffset(true);\r\n if (!operationTypes || operationTypes.paging && !operationTypes.filtering) {\r\n var lastItemIndex = this.getDataController()._getLastItemIndex();\r\n rowIndex = Math.min(rowIndex, lastItemIndex)\r\n }\r\n var focusedRowKey = this.getDataController().getKeyByRowIndex(rowIndex, true);\r\n if (isDefined(focusedRowKey) && !this.isRowFocused(focusedRowKey)) {\r\n this.option(\"focusedRowKey\", focusedRowKey)\r\n }\r\n }\r\n };\r\n if (pageSize >= 0) {\r\n if (!this._isLocalRowIndex(index)) {\r\n var pageIndex = Math.floor(index / this.getDataController().pageSize());\r\n when(this.getDataController().pageIndex(pageIndex), this.getDataController().waitReady()).done(() => {\r\n setKeyByIndex()\r\n })\r\n } else {\r\n setKeyByIndex()\r\n }\r\n }\r\n }\r\n _isLocalRowIndex(index) {\r\n var isVirtualScrolling = this.getKeyboardController()._isVirtualScrolling();\r\n if (isVirtualScrolling) {\r\n var pageIndex = Math.floor(index / this.getDataController().pageSize());\r\n var virtualItems = this.getDataController().virtualItemsCount();\r\n var virtualItemsBegin = virtualItems ? virtualItems.begin : -1;\r\n var visibleRowsCount = this.getDataController().getVisibleRows().length + this.getDataController().getRowIndexOffset();\r\n var visiblePagesCount = Math.ceil(visibleRowsCount / this.getDataController().pageSize());\r\n return virtualItemsBegin <= index && visiblePagesCount > pageIndex\r\n }\r\n return true\r\n }\r\n _setFocusedRowKeyByIndex(index) {\r\n if (this._isValidFocusedRowIndex(index)) {\r\n var rowIndex = Math.min(index - this.getDataController().getRowIndexOffset(), this.getDataController().items().length - 1);\r\n var focusedRowKey = this.getDataController().getKeyByRowIndex(rowIndex);\r\n if (isDefined(focusedRowKey) && !this.isRowFocused(focusedRowKey)) {\r\n this.option(\"focusedRowKey\", focusedRowKey)\r\n }\r\n }\r\n }\r\n _focusRowByKey(key) {\r\n if (!isDefined(key)) {\r\n this._resetFocusedRow()\r\n } else {\r\n this._navigateToRow(key, true)\r\n }\r\n }\r\n _resetFocusedRow() {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var isFocusedRowKeyDefined = isDefined(focusedRowKey);\r\n if (!isFocusedRowKeyDefined && this.option(\"focusedRowIndex\") < 0) {\r\n return\r\n }\r\n if (isFocusedRowKeyDefined) {\r\n this.option(\"focusedRowKey\", null)\r\n }\r\n this.getKeyboardController().setFocusedRowIndex(-1);\r\n this.option(\"focusedRowIndex\", -1);\r\n this.getDataController().updateItems({\r\n changeType: \"updateFocusedRow\",\r\n focusedRowKey: null\r\n });\r\n this.getKeyboardController()._fireFocusedRowChanged()\r\n }\r\n _isValidFocusedRowIndex(rowIndex) {\r\n var row = this.getDataController().getVisibleRows()[rowIndex];\r\n return !row || \"data\" === row.rowType || \"group\" === row.rowType\r\n }\r\n navigateToRow(key) {\r\n if (!this.isAutoNavigateToFocusedRow()) {\r\n this.option(\"focusedRowIndex\", -1)\r\n }\r\n return this._navigateToRow(key)\r\n }\r\n _navigateToRow(key, needFocusRow) {\r\n var that = this;\r\n var isAutoNavigate = that.isAutoNavigateToFocusedRow();\r\n var d = new Deferred;\r\n if (void 0 === key || !this.getDataController().dataSource()) {\r\n return d.reject().promise()\r\n }\r\n var rowIndexByKey = that.getFocusedRowIndexByKey(key);\r\n if (!isAutoNavigate && needFocusRow || rowIndexByKey >= 0) {\r\n that._navigateTo(key, d, needFocusRow)\r\n } else {\r\n this.getDataController().getPageIndexByKey(key).done(pageIndex => {\r\n if (pageIndex < 0) {\r\n d.resolve(-1);\r\n return\r\n }\r\n if (pageIndex === this.getDataController().pageIndex()) {\r\n this.getDataController().reload().done(() => {\r\n if (that.isRowFocused(key) && this.getDataController().getRowIndexByKey(key) >= 0) {\r\n d.resolve(that.getFocusedRowIndexByKey(key))\r\n } else {\r\n that._navigateTo(key, d, needFocusRow)\r\n }\r\n }).fail(d.reject)\r\n } else {\r\n this.getDataController().pageIndex(pageIndex).done(() => {\r\n that._navigateTo(key, d, needFocusRow)\r\n }).fail(d.reject)\r\n }\r\n }).fail(d.reject)\r\n }\r\n return d.promise()\r\n }\r\n _navigateTo(key, deferred, needFocusRow) {\r\n var visibleRowIndex = this.getDataController().getRowIndexByKey(key);\r\n var isVirtualRowRenderingMode = gridCoreUtils.isVirtualRowRendering(this);\r\n var isAutoNavigate = this.isAutoNavigateToFocusedRow();\r\n if (isAutoNavigate && isVirtualRowRenderingMode && visibleRowIndex < 0) {\r\n this._navigateToVirtualRow(key, deferred, needFocusRow)\r\n } else {\r\n this._navigateToVisibleRow(key, deferred, needFocusRow)\r\n }\r\n }\r\n _navigateToVisibleRow(key, deferred, needFocusRow) {\r\n if (needFocusRow) {\r\n this._triggerUpdateFocusedRow(key, deferred)\r\n } else {\r\n var focusedRowIndex = this.getFocusedRowIndexByKey(key);\r\n this.getView(\"rowsView\").scrollToRowElement(key, deferred).done(() => {\r\n deferred.resolve(focusedRowIndex)\r\n })\r\n }\r\n }\r\n _navigateToVirtualRow(key, deferred, needFocusRow) {\r\n var rowsScrollController = this.getDataController()._rowsScrollController;\r\n var rowIndex = gridCoreUtils.getIndexByKey(key, this.getDataController().items(true));\r\n var scrollable = this.getView(\"rowsView\").getScrollable();\r\n if (rowsScrollController && scrollable && rowIndex >= 0) {\r\n var focusedRowIndex = rowIndex + this.getDataController().getRowIndexOffset(true);\r\n var offset = rowsScrollController.getItemOffset(focusedRowIndex);\r\n var triggerUpdateFocusedRow = () => {\r\n if (this.getDataController().totalCount() && !this.getDataController().items().length) {\r\n return\r\n }\r\n this.component.off(\"contentReady\", triggerUpdateFocusedRow);\r\n if (needFocusRow) {\r\n this._triggerUpdateFocusedRow(key, deferred)\r\n } else {\r\n deferred.resolve(focusedRowIndex)\r\n }\r\n };\r\n this.component.on(\"contentReady\", triggerUpdateFocusedRow);\r\n this.getView(\"rowsView\").scrollTopPosition(offset)\r\n } else {\r\n deferred.resolve(-1)\r\n }\r\n }\r\n _triggerUpdateFocusedRow(key, deferred) {\r\n var focusedRowIndex = this.getFocusedRowIndexByKey(key);\r\n if (this._isValidFocusedRowIndex(focusedRowIndex)) {\r\n var d;\r\n if (this.option(\"focusedRowEnabled\")) {\r\n this.getDataController().updateItems({\r\n changeType: \"updateFocusedRow\",\r\n focusedRowKey: key\r\n })\r\n } else {\r\n d = this.getView(\"rowsView\").scrollToRowElement(key)\r\n }\r\n when(d).done(() => {\r\n this.getKeyboardController().setFocusedRowIndex(focusedRowIndex);\r\n deferred && deferred.resolve(focusedRowIndex)\r\n })\r\n } else {\r\n deferred && deferred.resolve(-1)\r\n }\r\n }\r\n getFocusedRowIndexByKey(key) {\r\n var loadedRowIndex = this.getDataController().getRowIndexByKey(key, true);\r\n return loadedRowIndex >= 0 ? loadedRowIndex + this.getDataController().getRowIndexOffset(true) : -1\r\n }\r\n _focusRowByKeyOrIndex() {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var currentFocusedRowIndex = this.option(\"focusedRowIndex\");\r\n if (isDefined(focusedRowKey)) {\r\n var visibleRowIndex = this.getDataController().getRowIndexByKey(focusedRowKey);\r\n if (visibleRowIndex >= 0) {\r\n if (this.getKeyboardController()._isVirtualScrolling()) {\r\n currentFocusedRowIndex = visibleRowIndex + this.getDataController().getRowIndexOffset()\r\n }\r\n this.getKeyboardController().setFocusedRowIndex(currentFocusedRowIndex);\r\n this._triggerUpdateFocusedRow(focusedRowKey)\r\n } else {\r\n this._navigateToRow(focusedRowKey, true).done(focusedRowIndex => {\r\n if (currentFocusedRowIndex >= 0 && focusedRowIndex < 0) {\r\n this._focusRowByIndex()\r\n } else if (currentFocusedRowIndex < 0 && focusedRowIndex >= 0) {\r\n this.getKeyboardController().setFocusedRowIndex(focusedRowIndex)\r\n }\r\n })\r\n }\r\n } else if (currentFocusedRowIndex >= 0) {\r\n this._focusRowByIndex(currentFocusedRowIndex)\r\n }\r\n }\r\n isRowFocused(key) {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n if (isDefined(focusedRowKey)) {\r\n return equalByValue(key, this.option(\"focusedRowKey\"))\r\n }\r\n return\r\n }\r\n updateFocusedRow(e) {\r\n var _a;\r\n var that = this;\r\n var focusedRowIndex = null !== (_a = e.focusedRowIndex) && void 0 !== _a ? _a : that.getDataController().getRowIndexByKey(e.focusedRowKey);\r\n var rowsView = that.getView(\"rowsView\");\r\n var $tableElement;\r\n var $mainRow;\r\n each(rowsView.getTableElements(), (index, element) => {\r\n var isMainTable = 0 === index;\r\n $tableElement = $(element);\r\n that._clearPreviousFocusedRow($tableElement, focusedRowIndex);\r\n var $row = that._prepareFocusedRow({\r\n changedItem: that.getDataController().getVisibleRows()[focusedRowIndex],\r\n $tableElement: $tableElement,\r\n focusedRowIndex: focusedRowIndex\r\n });\r\n if (isMainTable) {\r\n $mainRow = $row\r\n }\r\n });\r\n if (!e.preventScroll && $mainRow) {\r\n rowsView.scrollToElementVertically($mainRow)\r\n }\r\n }\r\n _clearPreviousFocusedRow($tableElement, focusedRowIndex) {\r\n var $prevRowFocusedElement = $tableElement.find(FOCUSED_ROW_SELECTOR).filter((_, focusedRow) => {\r\n var $focusedRowTable = $(focusedRow).closest(\".\".concat(this.addWidgetPrefix(TABLE_POSTFIX_CLASS)));\r\n return $tableElement.is($focusedRowTable)\r\n });\r\n $prevRowFocusedElement.removeClass(ROW_FOCUSED_CLASS).removeClass(CELL_FOCUS_DISABLED_CLASS).removeAttr(\"tabindex\");\r\n $prevRowFocusedElement.children(\"td\").removeAttr(\"tabindex\");\r\n if (0 !== focusedRowIndex) {\r\n var $firstRow = $(this.getView(\"rowsView\").getRowElement(0));\r\n $firstRow.removeClass(CELL_FOCUS_DISABLED_CLASS).removeAttr(\"tabIndex\")\r\n }\r\n }\r\n _prepareFocusedRow(options) {\r\n var $row;\r\n var {\r\n changedItem: changedItem\r\n } = options;\r\n if (changedItem && (\"data\" === changedItem.rowType || \"group\" === changedItem.rowType)) {\r\n var {\r\n focusedRowIndex: focusedRowIndex\r\n } = options;\r\n var {\r\n $tableElement: $tableElement\r\n } = options;\r\n var tabIndex = this.option(\"tabindex\") || 0;\r\n var _rowsView = this.getView(\"rowsView\");\r\n $row = $(_rowsView._getRowElements($tableElement).eq(focusedRowIndex));\r\n $row.addClass(ROW_FOCUSED_CLASS).attr(\"tabindex\", tabIndex)\r\n }\r\n return $row\r\n }\r\n}\r\nvar keyboardNavigation = Base => class extends Base {\r\n init() {\r\n var rowIndex = this.option(\"focusedRowIndex\");\r\n var columnIndex = this.option(\"focusedColumnIndex\");\r\n this.createAction(\"onFocusedRowChanging\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onFocusedRowChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onFocusedCellChanging\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onFocusedCellChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n super.init();\r\n this.setRowFocusType();\r\n this._focusedCellPosition = {};\r\n if (isDefined(rowIndex) && rowIndex >= 0) {\r\n this._focusedCellPosition.rowIndex = rowIndex\r\n }\r\n if (isDefined(columnIndex) && columnIndex >= 0) {\r\n this._focusedCellPosition.columnIndex = columnIndex\r\n }\r\n }\r\n setFocusedRowIndex(rowIndex) {\r\n super.setFocusedRowIndex(rowIndex);\r\n this.option(\"focusedRowIndex\", rowIndex)\r\n }\r\n setFocusedColumnIndex(columnIndex) {\r\n super.setFocusedColumnIndex(columnIndex);\r\n this.option(\"focusedColumnIndex\", columnIndex)\r\n }\r\n _escapeKeyHandler(eventArgs, isEditing) {\r\n if (isEditing || !this.option(\"focusedRowEnabled\")) {\r\n return super._escapeKeyHandler(eventArgs, isEditing)\r\n }\r\n if (this.isCellFocusType()) {\r\n this.setRowFocusType();\r\n this._focus(this._getCellElementFromTarget(eventArgs.originalEvent.target), true);\r\n return true\r\n }\r\n return false\r\n }\r\n _updateFocusedCellPosition($cell, direction) {\r\n var position = super._updateFocusedCellPosition($cell, direction);\r\n if (position && position.columnIndex >= 0) {\r\n this._fireFocusedCellChanged($cell)\r\n }\r\n return position\r\n }\r\n};\r\nvar editorFactory = Base => class extends Base {\r\n renderFocusOverlay($element, isHideBorder) {\r\n var _a;\r\n var focusedRowEnabled = this.option(\"focusedRowEnabled\");\r\n var $cell;\r\n if (!focusedRowEnabled || !(null === (_a = this._keyboardNavigationController) || void 0 === _a ? void 0 : _a.isRowFocusType()) || this._editingController.isEditing()) {\r\n super.renderFocusOverlay($element, isHideBorder)\r\n } else if (focusedRowEnabled) {\r\n var isRowElement = \"row\" === this._keyboardNavigationController._getElementType($element);\r\n if (isRowElement && !$element.hasClass(ROW_FOCUSED_CLASS)) {\r\n $cell = this._keyboardNavigationController.getFirstValidCellInRow($element);\r\n this._keyboardNavigationController.focus($cell)\r\n }\r\n }\r\n }\r\n};\r\nvar columns = Base => class extends Base {\r\n getSortDataSourceParameters(_, sortByKey) {\r\n var result = super.getSortDataSourceParameters.apply(this, arguments);\r\n var dataSource = this._dataController._dataSource;\r\n var store = this._dataController.store();\r\n var key = store && store.key();\r\n var remoteOperations = dataSource && dataSource.remoteOperations() || {};\r\n var isLocalOperations = Object.keys(remoteOperations).every(operationName => !remoteOperations[operationName]);\r\n if (key && (this.option(\"focusedRowEnabled\") && false !== this._focusController.isAutoNavigateToFocusedRow() || sortByKey)) {\r\n key = Array.isArray(key) ? key : [key];\r\n var notSortedKeys = key.filter(key => !this.columnOption(key, \"sortOrder\"));\r\n if (notSortedKeys.length) {\r\n result = result || [];\r\n if (isLocalOperations) {\r\n result.push({\r\n selector: dataSource.getDataIndexGetter(),\r\n desc: false\r\n })\r\n } else {\r\n notSortedKeys.forEach(notSortedKey => result.push({\r\n selector: notSortedKey,\r\n desc: false\r\n }))\r\n }\r\n }\r\n }\r\n return result\r\n }\r\n};\r\nvar data = Base => class extends Base {\r\n _applyChange(change) {\r\n if (change && \"updateFocusedRow\" === change.changeType) {\r\n return\r\n }\r\n return super._applyChange.apply(this, arguments)\r\n }\r\n _fireChanged(e) {\r\n super._fireChanged(e);\r\n if (this.option(\"focusedRowEnabled\") && this._dataSource) {\r\n var isPartialUpdate = \"update\" === e.changeType && e.repaintChangesOnly;\r\n var isPartialUpdateWithDeleting = isPartialUpdate && e.changeTypes && e.changeTypes.indexOf(\"remove\") >= 0;\r\n if (\"refresh\" === e.changeType && e.items.length || isPartialUpdateWithDeleting) {\r\n this._updatePageIndexes();\r\n this._updateFocusedRow(e)\r\n } else if (\"append\" === e.changeType || \"prepend\" === e.changeType) {\r\n this._updatePageIndexes()\r\n } else if (\"update\" === e.changeType && e.repaintChangesOnly) {\r\n this._updateFocusedRow(e)\r\n }\r\n }\r\n }\r\n _updatePageIndexes() {\r\n var prevRenderingPageIndex = this._lastRenderingPageIndex || 0;\r\n var renderingPageIndex = this._rowsScrollController ? this._rowsScrollController.pageIndex() : 0;\r\n this._lastRenderingPageIndex = renderingPageIndex;\r\n this._isPagingByRendering = renderingPageIndex !== prevRenderingPageIndex\r\n }\r\n isPagingByRendering() {\r\n return this._isPagingByRendering\r\n }\r\n _updateFocusedRow(e) {\r\n var operationTypes = e.operationTypes || {};\r\n var {\r\n reload: reload,\r\n fullReload: fullReload,\r\n pageIndex: pageIndex,\r\n paging: paging\r\n } = operationTypes;\r\n var isVirtualScrolling = this._keyboardNavigationController._isVirtualScrolling();\r\n var pagingWithoutVirtualScrolling = paging && !isVirtualScrolling;\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var isAutoNavigate = this._focusController.isAutoNavigateToFocusedRow();\r\n var isReload = reload && false === pageIndex;\r\n if (isReload && !fullReload && isDefined(focusedRowKey)) {\r\n this._focusController._navigateToRow(focusedRowKey, true).done(focusedRowIndex => {\r\n if (focusedRowIndex < 0) {\r\n this._focusController._focusRowByIndex(void 0, operationTypes)\r\n }\r\n })\r\n } else if (pagingWithoutVirtualScrolling && isAutoNavigate) {\r\n var rowIndexByKey = this.getRowIndexByKey(focusedRowKey);\r\n var focusedRowIndex = this.option(\"focusedRowIndex\");\r\n var isValidRowIndexByKey = rowIndexByKey >= 0;\r\n var isValidFocusedRowIndex = focusedRowIndex >= 0;\r\n var isSameRowIndex = focusedRowIndex === rowIndexByKey;\r\n if (isValidFocusedRowIndex && (isSameRowIndex || !isValidRowIndexByKey)) {\r\n this._focusController._focusRowByIndex(focusedRowIndex, operationTypes)\r\n }\r\n } else if (pagingWithoutVirtualScrolling && !isAutoNavigate && this.getRowIndexByKey(focusedRowKey) < 0) {\r\n this.option(\"focusedRowIndex\", -1)\r\n } else if (operationTypes.fullReload) {\r\n this._focusController._focusRowByKeyOrIndex()\r\n }\r\n }\r\n getPageIndexByKey(key) {\r\n var that = this;\r\n var d = new Deferred;\r\n that.getGlobalRowIndexByKey(key).done(globalIndex => {\r\n d.resolve(globalIndex >= 0 ? Math.floor(globalIndex / that.pageSize()) : -1)\r\n }).fail(d.reject);\r\n return d.promise()\r\n }\r\n getGlobalRowIndexByKey(key) {\r\n if (this._dataSource.group()) {\r\n return this._calculateGlobalRowIndexByGroupedData(key)\r\n }\r\n return this._calculateGlobalRowIndexByFlatData(key)\r\n }\r\n _calculateGlobalRowIndexByFlatData(key, groupFilter, useGroup) {\r\n var that = this;\r\n var deferred = new Deferred;\r\n var dataSource = that._dataSource;\r\n if (Array.isArray(key) || isNewRowTempKey(key)) {\r\n return deferred.resolve(-1).promise()\r\n }\r\n var filter = that._generateFilterByKey(key);\r\n dataSource.load({\r\n filter: that._concatWithCombinedFilter(filter),\r\n skip: 0,\r\n take: 1\r\n }).done(data => {\r\n if (data.length > 0) {\r\n filter = that._generateOperationFilterByKey(key, data[0], useGroup);\r\n dataSource.load({\r\n filter: that._concatWithCombinedFilter(filter, groupFilter),\r\n skip: 0,\r\n take: 1,\r\n requireTotalCount: true\r\n }).done((_, extra) => {\r\n deferred.resolve(extra.totalCount)\r\n })\r\n } else {\r\n deferred.resolve(-1)\r\n }\r\n });\r\n return deferred.promise()\r\n }\r\n _concatWithCombinedFilter(filter, groupFilter) {\r\n var combinedFilter = this.getCombinedFilter();\r\n return gridCoreUtils.combineFilters([filter, combinedFilter, groupFilter])\r\n }\r\n _generateBooleanFilter(selector, value, sortInfo) {\r\n var {\r\n desc: desc\r\n } = sortInfo;\r\n switch (true) {\r\n case false === value && desc:\r\n return [selector, \"=\", true];\r\n case false === value && !desc:\r\n return [selector, \"=\", null];\r\n case true === value && !desc:\r\n case !isBoolean(value) && desc:\r\n return [selector, \"<>\", value];\r\n default:\r\n return\r\n }\r\n }\r\n _generateOperationFilterByKey(key, rowData, useGroup) {\r\n var that = this;\r\n var dateSerializationFormat = that.option(\"dateSerializationFormat\");\r\n var isRemoteFiltering = that._dataSource.remoteOperations().filtering;\r\n var isRemoteSorting = that._dataSource.remoteOperations().sorting;\r\n var filter = that._generateFilterByKey(key, \"<\");\r\n var sort = that._columnsController.getSortDataSourceParameters(!isRemoteFiltering, true);\r\n if (useGroup) {\r\n var group = that._columnsController.getGroupDataSourceParameters(!isRemoteFiltering);\r\n if (group) {\r\n sort = sort ? group.concat(sort) : group\r\n }\r\n }\r\n if (sort) {\r\n sort.slice().reverse().forEach(sortInfo => {\r\n var {\r\n selector: selector,\r\n desc: desc,\r\n compare: compare\r\n } = sortInfo;\r\n var {\r\n getter: getter,\r\n rawValue: rawValue,\r\n safeValue: safeValue\r\n } = UiGridCoreFocusUtils.getSortFilterValue(sortInfo, rowData, {\r\n isRemoteFiltering: isRemoteFiltering,\r\n dateSerializationFormat: dateSerializationFormat,\r\n getSelector: selector => that._columnsController.columnOption(selector, \"selector\")\r\n });\r\n filter = [\r\n [selector, \"=\", safeValue], \"and\", filter\r\n ];\r\n if (null === rawValue || isBoolean(rawValue)) {\r\n var booleanFilter = that._generateBooleanFilter(selector, safeValue, desc);\r\n if (booleanFilter) {\r\n filter = [booleanFilter, \"or\", filter]\r\n }\r\n } else {\r\n var filterOperation = desc ? \">\" : \"<\";\r\n var sortFilter;\r\n if (compare && !isRemoteSorting) {\r\n sortFilter = data => {\r\n if (\"<\" === filterOperation) {\r\n return compare(rawValue, getter(data)) >= 1\r\n }\r\n return compare(rawValue, getter(data)) <= -1\r\n }\r\n } else {\r\n sortFilter = [selector, filterOperation, safeValue];\r\n if (!desc) {\r\n sortFilter = [sortFilter, \"or\", [selector, \"=\", null]]\r\n }\r\n }\r\n filter = [sortFilter, \"or\", filter]\r\n }\r\n })\r\n }\r\n return filter\r\n }\r\n _generateFilterByKey(key, operation) {\r\n var dataSourceKey = this._dataSource.key();\r\n var filter = [];\r\n if (!operation) {\r\n operation = \"=\"\r\n }\r\n if (Array.isArray(dataSourceKey)) {\r\n for (var i = 0; i < dataSourceKey.length; ++i) {\r\n var keyPart = key[dataSourceKey[i]];\r\n if (keyPart) {\r\n if (filter.length > 0) {\r\n filter.push(\"and\")\r\n }\r\n filter.push([dataSourceKey[i], operation, keyPart])\r\n }\r\n }\r\n } else {\r\n filter = [dataSourceKey, operation, key]\r\n }\r\n return filter\r\n }\r\n _getLastItemIndex() {\r\n return this.items(true).length - 1\r\n }\r\n};\r\nvar editing = Base => class extends Base {\r\n _deleteRowCore(rowIndex) {\r\n var deferred = super._deleteRowCore.apply(this, arguments);\r\n var rowKey = this._dataController.getKeyByRowIndex(rowIndex);\r\n deferred.done(() => {\r\n var rowIndex = this._dataController.getRowIndexByKey(rowKey);\r\n var visibleRows = this._dataController.getVisibleRows();\r\n if (-1 === rowIndex && !visibleRows.length) {\r\n this._focusController._resetFocusedRow()\r\n }\r\n })\r\n }\r\n};\r\nvar rowsView = Base => class extends Base {\r\n _createRow(row) {\r\n var $row = super._createRow.apply(this, arguments);\r\n if (this.option(\"focusedRowEnabled\") && row) {\r\n if (this._focusController.isRowFocused(row.key)) {\r\n $row.addClass(ROW_FOCUSED_CLASS)\r\n }\r\n }\r\n return $row\r\n }\r\n _checkRowKeys(options) {\r\n super._checkRowKeys.apply(this, arguments);\r\n if (this.option(\"focusedRowEnabled\") && this.option(\"dataSource\")) {\r\n var store = this._dataController.store();\r\n if (store && !store.key()) {\r\n this._dataController.fireError(\"E1042\", \"Row focusing\")\r\n }\r\n }\r\n }\r\n _update(change) {\r\n if (\"updateFocusedRow\" === change.changeType) {\r\n if (this.option(\"focusedRowEnabled\")) {\r\n this._focusController.updateFocusedRow(change)\r\n }\r\n } else {\r\n super._update(change)\r\n }\r\n }\r\n updateFocusElementTabIndex($cellElements, preventScroll) {\r\n if (this.option(\"focusedRowEnabled\")) {\r\n this._setFocusedRowElementTabIndex(preventScroll)\r\n } else {\r\n super.updateFocusElementTabIndex($cellElements)\r\n }\r\n }\r\n _setFocusedRowElementTabIndex(preventScroll) {\r\n var _a;\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var tabIndex = null !== (_a = this.option(\"tabIndex\")) && void 0 !== _a ? _a : 0;\r\n var columnsController = this._columnsController;\r\n var rowIndex = this._dataController.getRowIndexByKey(focusedRowKey);\r\n var columnIndex = this.option(\"focusedColumnIndex\");\r\n var $row = this._findRowElementForTabIndex();\r\n var dataSource = this._dataController.dataSource();\r\n var operationTypes = null === dataSource || void 0 === dataSource ? void 0 : dataSource.operationTypes();\r\n var isPaging = !operationTypes || operationTypes.paging;\r\n if (!isDefined(this._scrollToFocusOnResize)) {\r\n this._scrollToFocusOnResize = () => {\r\n this.scrollToElementVertically(this._findRowElementForTabIndex());\r\n this.resizeCompleted.remove(this._scrollToFocusOnResize)\r\n }\r\n }\r\n $row.attr(\"tabIndex\", tabIndex);\r\n var rowIndexFromOption = this.option(\"focusedRowIndex\") - this._dataController.getRowIndexOffset(true);\r\n if (!isPaging && rowIndex < 0 && rowIndexFromOption >= 0) {\r\n this._focusController.updateFocusedRow({\r\n focusedRowIndex: rowIndexFromOption,\r\n preventScroll: preventScroll\r\n })\r\n }\r\n if (rowIndex >= 0 && !preventScroll) {\r\n if (columnIndex < 0) {\r\n columnIndex = 0\r\n }\r\n rowIndex += this._dataController.getRowIndexOffset();\r\n columnIndex += columnsController.getColumnIndexOffset();\r\n this._keyboardNavigationController.setFocusedCellPosition(rowIndex, columnIndex);\r\n if (this._focusController.isAutoNavigateToFocusedRow()) {\r\n if (!isPaging && !this._dataController.isPagingByRendering()) {\r\n this.resizeCompleted.remove(this._scrollToFocusOnResize);\r\n this.resizeCompleted.add(this._scrollToFocusOnResize)\r\n }\r\n }\r\n }\r\n }\r\n _findRowElementForTabIndex() {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var rowIndex = this._dataController.getRowIndexByKey(focusedRowKey);\r\n return $(this.getRowElement(rowIndex >= 0 ? rowIndex : 0))\r\n }\r\n scrollToRowElement(key) {\r\n var rowIndex = this._dataController.getRowIndexByKey(key);\r\n var $row = $(this.getRow(rowIndex));\r\n return this.scrollToElementVertically($row)\r\n }\r\n scrollToElementVertically($row) {\r\n var scrollable = this.getScrollable();\r\n if (scrollable && $row.length) {\r\n var position = scrollable.getScrollElementPosition($row, \"vertical\");\r\n return this.scrollTopPosition(position)\r\n }\r\n return (new Deferred).resolve()\r\n }\r\n scrollTopPosition(scrollTop) {\r\n var d = new Deferred;\r\n var scrollable = this.getScrollable();\r\n if (scrollable) {\r\n var currentScrollTop = scrollable.scrollTop();\r\n var scrollHandler = () => {\r\n scrollable.off(\"scroll\", scrollHandler);\r\n d.resolve()\r\n };\r\n if (scrollTop !== currentScrollTop) {\r\n scrollable.on(\"scroll\", scrollHandler);\r\n this._dataController.resetFilterApplying();\r\n scrollable.scrollTo({\r\n top: scrollTop\r\n });\r\n return d.promise()\r\n }\r\n }\r\n return d.resolve()\r\n }\r\n};\r\nexport var focusModule = {\r\n defaultOptions: () => ({\r\n focusedRowEnabled: false,\r\n autoNavigateToFocusedRow: true,\r\n focusedRowKey: null,\r\n focusedRowIndex: -1,\r\n focusedColumnIndex: -1\r\n }),\r\n controllers: {\r\n focus: FocusController\r\n },\r\n extenders: {\r\n controllers: {\r\n keyboardNavigation: keyboardNavigation,\r\n editorFactory: editorFactory,\r\n columns: columns,\r\n data: data,\r\n editing: editing\r\n },\r\n views: {\r\n rowsView: rowsView\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/focus/m_focus.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n compileGetter\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n focusModule\r\n} from \"../../../grids/grid_core/focus/m_focus\";\r\nimport gridCore from \"../m_core\";\r\nimport {\r\n createGroupFilter\r\n} from \"../m_utils\";\r\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\r\nvar data = Base => class extends(focusModule.extenders.controllers.data(Base)) {\r\n changeRowExpand(path, isRowClick) {\r\n if (this.option(\"focusedRowEnabled\") && Array.isArray(path) && this.isRowExpanded(path)) {\r\n if ((!isRowClick || !this._keyboardNavigationController.isKeyboardEnabled()) && this._isFocusedRowInsideGroup(path)) {\r\n this.option(\"focusedRowKey\", path)\r\n }\r\n }\r\n return super.changeRowExpand(path, isRowClick)\r\n }\r\n _isFocusedRowInsideGroup(path) {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var rowIndex = this.getRowIndexByKey(focusedRowKey);\r\n var focusedRow = rowIndex >= 0 && this.getVisibleRows()[rowIndex];\r\n var groups = this._columnsController.getGroupDataSourceParameters(true);\r\n if (focusedRow) {\r\n for (var i = 0; i < path.length; ++i) {\r\n var getter = compileGetter(groups[i] && groups[i].selector);\r\n if (getter(focusedRow.data) !== path[i]) {\r\n return false\r\n }\r\n }\r\n }\r\n return true\r\n }\r\n _getGroupPath(groupItem, groupCount) {\r\n var groupPath = [];\r\n var items = [groupItem];\r\n while (items && items[0] && groupCount) {\r\n var item = items[0];\r\n if (void 0 !== item.key) {\r\n groupPath.push(item.key)\r\n }\r\n items = item.items;\r\n groupCount--\r\n }\r\n return groupPath\r\n }\r\n _expandGroupByPath(that, groupPath, level) {\r\n var d = new Deferred;\r\n level++;\r\n that.expandRow(groupPath.slice(0, level)).done(() => {\r\n if (level === groupPath.length) {\r\n d.resolve()\r\n } else {\r\n that._expandGroupByPath(that, groupPath, level).done(d.resolve).fail(d.reject)\r\n }\r\n }).fail(d.reject);\r\n return d.promise()\r\n }\r\n _calculateGlobalRowIndexByGroupedData(key) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var filter = that._generateFilterByKey(key);\r\n var deferred = new Deferred;\r\n var isGroupKey = Array.isArray(key);\r\n var group = dataSource.group();\r\n if (isGroupKey) {\r\n return deferred.resolve(-1).promise()\r\n }\r\n if (!dataSource._grouping._updatePagingOptions) {\r\n that._calculateGlobalRowIndexByFlatData(key, null, true).done(deferred.resolve).fail(deferred.reject);\r\n return deferred\r\n }\r\n dataSource.load({\r\n filter: that._concatWithCombinedFilter(filter),\r\n group: group\r\n }).done(data => {\r\n if (!data || 0 === data.length || !isDefined(data[0].key) || -1 === data[0].key) {\r\n return deferred.resolve(-1).promise()\r\n }\r\n var groupPath = that._getGroupPath(data[0], group.length);\r\n that._expandGroupByPath(that, groupPath, 0).done(() => {\r\n that._calculateExpandedRowGlobalIndex(deferred, key, groupPath, group)\r\n }).fail(deferred.reject)\r\n }).fail(deferred.reject);\r\n return deferred.promise()\r\n }\r\n _calculateExpandedRowGlobalIndex(deferred, key, groupPath, group) {\r\n var groupFilter = createGroupFilter(groupPath, {\r\n group: group\r\n });\r\n var dataSource = this._dataSource;\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n var isVirtualScrolling = \"virtual\" === scrollingMode || \"infinite\" === scrollingMode;\r\n var pageSize = dataSource.pageSize();\r\n var groupOffset;\r\n dataSource._grouping._updatePagingOptions({\r\n skip: 0,\r\n take: MAX_SAFE_INTEGER\r\n }, (groupInfo, totalOffset) => {\r\n if (equalByValue(groupInfo.path, groupPath)) {\r\n groupOffset = totalOffset\r\n }\r\n });\r\n this._calculateGlobalRowIndexByFlatData(key, groupFilter).done(dataOffset => {\r\n var count;\r\n var groupContinuationCount;\r\n if (dataOffset < 0) {\r\n deferred.resolve(-1);\r\n return\r\n }\r\n var currentPageOffset = groupOffset % pageSize || pageSize;\r\n count = currentPageOffset + dataOffset - groupPath.length;\r\n if (isVirtualScrolling) {\r\n groupContinuationCount = 0\r\n } else {\r\n groupContinuationCount = Math.floor(count / (pageSize - groupPath.length)) * groupPath.length\r\n }\r\n count = groupOffset + dataOffset + groupContinuationCount;\r\n deferred.resolve(count)\r\n }).fail(deferred.reject)\r\n }\r\n};\r\ngridCore.registerModule(\"focus\", _extends(_extends({}, focusModule), {\r\n extenders: _extends(_extends({}, focusModule.extenders), {\r\n controllers: _extends(_extends({}, focusModule.extenders.controllers), {\r\n data: data\r\n })\r\n })\r\n}));\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/row_dragging/const.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var ATTRIBUTES = {\r\n dragCell: \"dx-drag-cell\"\r\n};\r\nexport var CLASSES = {\r\n cellFocusDisabled: \"dx-cell-focus-disabled\",\r\n handleIcon: \"drag-icon\",\r\n commandDrag: \"dx-command-drag\",\r\n sortableWithoutHandle: \"dx-sortable-without-handle\",\r\n rowsView: \"rowsview\"\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/row_dragging/dom.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n CLASSES\r\n} from \"./const\";\r\nvar createHandleTemplateFunc = addWidgetPrefix => (container, options) => {\r\n var $container = $(container);\r\n if (\"data\" === options.rowType) {\r\n $container.addClass(CLASSES.cellFocusDisabled);\r\n return $(\"<span>\").addClass(addWidgetPrefix(CLASSES.handleIcon))\r\n }\r\n gridCoreUtils.setEmptyText($container);\r\n return\r\n};\r\nexport var GridCoreRowDraggingDom = {\r\n createHandleTemplateFunc: createHandleTemplateFunc\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/row_dragging/m_row_dragging.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/../core/utils/extend\";\r\nimport {\r\n deferUpdate\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n getWidth,\r\n setWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport Sortable from \"../../../../ui/sortable\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n ATTRIBUTES,\r\n CLASSES\r\n} from \"./const\";\r\nimport {\r\n GridCoreRowDraggingDom\r\n} from \"./dom\";\r\nvar rowsView = Base => class extends Base {\r\n init() {\r\n super.init.apply(this, arguments);\r\n this._updateHandleColumn()\r\n }\r\n optionChanged(args) {\r\n if (\"rowDragging\" === args.name) {\r\n this._updateHandleColumn();\r\n this._invalidate(true, true);\r\n args.handled = true\r\n }\r\n super.optionChanged.apply(this, arguments)\r\n }\r\n _allowReordering() {\r\n var rowDragging = this.option(\"rowDragging\");\r\n return !!(rowDragging && (rowDragging.allowReordering || rowDragging.allowDropInsideItem || rowDragging.group))\r\n }\r\n _updateHandleColumn() {\r\n var rowDragging = this.option(\"rowDragging\");\r\n var allowReordering = this._allowReordering();\r\n var columnsController = this._columnsController;\r\n var isHandleColumnVisible = allowReordering && rowDragging.showDragIcons;\r\n null === columnsController || void 0 === columnsController ? void 0 : columnsController.addCommandColumn({\r\n type: \"drag\",\r\n command: \"drag\",\r\n visibleIndex: -2,\r\n alignment: \"center\",\r\n elementAttr: [{\r\n name: ATTRIBUTES.dragCell,\r\n value: \"\"\r\n }],\r\n cssClass: CLASSES.commandDrag,\r\n width: \"auto\",\r\n cellTemplate: this._getHandleTemplate(),\r\n visible: isHandleColumnVisible\r\n });\r\n null === columnsController || void 0 === columnsController ? void 0 : columnsController.columnOption(\"type:drag\", \"visible\", isHandleColumnVisible)\r\n }\r\n _renderContent() {\r\n var rowDragging = this.option(\"rowDragging\");\r\n var allowReordering = this._allowReordering();\r\n var $content = super._renderContent.apply(this, arguments);\r\n var isFixedTableRendering = this._isFixedTableRendering;\r\n var currentSortableName = isFixedTableRendering ? \"_sortableFixed\" : \"_sortable\";\r\n var anotherSortableName = isFixedTableRendering ? \"_sortable\" : \"_sortableFixed\";\r\n var togglePointerEventsStyle = toggle => {\r\n var _a;\r\n null === (_a = this._sortableFixed) || void 0 === _a ? void 0 : _a.$element().css(\"pointerEvents\", toggle ? \"auto\" : \"\")\r\n };\r\n var rowSelector = \".dx-row:not(.dx-freespace-row):not(.dx-virtual-row):not(.dx-header-row):not(.dx-footer-row)\";\r\n var filter = this.option(\"dataRowTemplate\") ? \"> table > tbody\".concat(rowSelector) : \"> table > tbody > \".concat(rowSelector);\r\n if ((allowReordering || this[currentSortableName]) && $content.length) {\r\n this[currentSortableName] = this._createComponent($content, Sortable, extend({\r\n component: this.component,\r\n contentTemplate: null,\r\n filter: filter,\r\n cursorOffset: options => {\r\n var {\r\n event: event\r\n } = options;\r\n var rowsViewOffset = $(this.element()).offset();\r\n return {\r\n x: event.pageX - rowsViewOffset.left\r\n }\r\n },\r\n onDraggableElementShown: e => {\r\n if (rowDragging.dragTemplate) {\r\n return\r\n }\r\n var $dragElement = $(e.dragElement);\r\n var gridInstance = $dragElement.children(\".dx-widget\").data(this.component.NAME);\r\n this._synchronizeScrollLeftPosition(gridInstance)\r\n },\r\n dragTemplate: this._getDraggableRowTemplate(),\r\n handle: rowDragging.showDragIcons && \".\".concat(CLASSES.commandDrag),\r\n dropFeedbackMode: \"indicate\"\r\n }, rowDragging, {\r\n onDragStart: e => {\r\n var _a, _b;\r\n null === (_a = this.getController(\"keyboardNavigation\")) || void 0 === _a ? void 0 : _a._resetFocusedCell();\r\n var row = e.component.getVisibleRows()[e.fromIndex];\r\n e.itemData = row && row.data;\r\n var isDataRow = row && \"data\" === row.rowType;\r\n e.cancel = !allowReordering || !isDataRow;\r\n null === (_b = rowDragging.onDragStart) || void 0 === _b ? void 0 : _b.call(rowDragging, e)\r\n },\r\n onDragEnter: e => {\r\n if (e.fromComponent !== e.toComponent) {\r\n togglePointerEventsStyle(true)\r\n }\r\n },\r\n onDragLeave: () => {\r\n togglePointerEventsStyle(false)\r\n },\r\n onDragEnd: e => {\r\n var _a;\r\n togglePointerEventsStyle(false);\r\n null === (_a = rowDragging.onDragEnd) || void 0 === _a ? void 0 : _a.call(rowDragging, e)\r\n },\r\n onAdd: e => {\r\n var _a;\r\n togglePointerEventsStyle(false);\r\n null === (_a = rowDragging.onAdd) || void 0 === _a ? void 0 : _a.call(rowDragging, e)\r\n },\r\n dropFeedbackMode: rowDragging.dropFeedbackMode,\r\n onOptionChanged: e => {\r\n var hasFixedSortable = this._sortableFixed;\r\n if (hasFixedSortable) {\r\n if (\"fromIndex\" === e.name || \"toIndex\" === e.name) {\r\n this[anotherSortableName].option(e.name, e.value)\r\n }\r\n }\r\n }\r\n }));\r\n $content.toggleClass(\"dx-scrollable-container\", isFixedTableRendering);\r\n $content.toggleClass(CLASSES.sortableWithoutHandle, allowReordering && !rowDragging.showDragIcons)\r\n }\r\n return $content\r\n }\r\n _renderCore(e) {\r\n super._renderCore.apply(this, arguments);\r\n if (e && \"update\" === e.changeType && e.repaintChangesOnly && gridCoreUtils.isVirtualRowRendering(this)) {\r\n deferUpdate(() => {\r\n this._updateSortable()\r\n })\r\n }\r\n }\r\n _updateSortable() {\r\n var offset = this._dataController.getRowIndexOffset();\r\n var offsetDiff = offset - this._previousOffset;\r\n [this._sortable, this._sortableFixed].forEach(sortable => {\r\n var toIndex = null === sortable || void 0 === sortable ? void 0 : sortable.option(\"toIndex\");\r\n if (isDefined(toIndex) && isDefined(this._previousOffset)) {\r\n null === sortable || void 0 === sortable ? void 0 : sortable.option(\"toIndex\", toIndex - offsetDiff)\r\n }\r\n null === sortable || void 0 === sortable ? void 0 : sortable.option(\"offset\", offset);\r\n null === sortable || void 0 === sortable ? void 0 : sortable.update()\r\n });\r\n this._previousOffset = offset\r\n }\r\n _resizeCore() {\r\n super._resizeCore.apply(this, arguments);\r\n this._updateSortable()\r\n }\r\n _getDraggableGridOptions(options) {\r\n var gridOptions = this.option();\r\n var columns = this.getColumns();\r\n var $rowElement = $(this.getRowElement(options.rowIndex));\r\n return {\r\n dataSource: [{\r\n id: 1,\r\n parentId: 0\r\n }],\r\n showBorders: true,\r\n showColumnHeaders: false,\r\n scrolling: {\r\n useNative: false,\r\n showScrollbar: \"never\"\r\n },\r\n pager: {\r\n visible: false\r\n },\r\n loadingTimeout: null,\r\n columnFixing: gridOptions.columnFixing,\r\n columnAutoWidth: gridOptions.columnAutoWidth,\r\n showColumnLines: gridOptions.showColumnLines,\r\n columns: columns.map(column => ({\r\n width: column.width || column.visibleWidth,\r\n fixed: column.fixed,\r\n fixedPosition: column.fixedPosition\r\n })),\r\n onRowPrepared: e => {\r\n var rowsView = e.component.getView(\"rowsView\");\r\n $(e.rowElement).replaceWith($rowElement.eq(rowsView._isFixedTableRendering ? 1 : 0).clone())\r\n }\r\n }\r\n }\r\n _synchronizeScrollLeftPosition(gridInstance) {\r\n var scrollable = null === gridInstance || void 0 === gridInstance ? void 0 : gridInstance.getScrollable();\r\n null === scrollable || void 0 === scrollable ? void 0 : scrollable.scrollTo({\r\n x: this._scrollLeft\r\n })\r\n }\r\n _getDraggableRowTemplate() {\r\n return options => {\r\n var $rootElement = this.component.$element();\r\n var $dataGridContainer = $(\"<div>\");\r\n setWidth($dataGridContainer, getWidth($rootElement));\r\n var items = this._dataController.items();\r\n var row = items && items[options.fromIndex];\r\n var gridOptions = this._getDraggableGridOptions(row);\r\n this._createComponent($dataGridContainer, this.component.NAME, gridOptions);\r\n $dataGridContainer.find(\".dx-gridbase-container\").children(\":not(.\".concat(this.addWidgetPrefix(CLASSES.rowsView), \")\")).hide();\r\n return $dataGridContainer\r\n }\r\n }\r\n _getHandleTemplate() {\r\n return GridCoreRowDraggingDom.createHandleTemplateFunc(string => this.addWidgetPrefix(string))\r\n }\r\n};\r\nexport var rowDraggingModule = {\r\n defaultOptions: () => ({\r\n rowDragging: {\r\n showDragIcons: true,\r\n dropFeedbackMode: \"indicate\",\r\n allowReordering: false,\r\n allowDropInsideItem: false\r\n }\r\n }),\r\n extenders: {\r\n views: {\r\n rowsView: rowsView\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/row_dragging.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n rowDraggingModule\r\n} from \"../../../grids/grid_core/row_dragging/m_row_dragging\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"rowDragging\", rowDraggingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_widget.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport DataGrid from \"./m_widget_base\";\r\nimport \"./module_not_extended/state_storing\";\r\nimport \"./module_not_extended/selection\";\r\nimport \"./module_not_extended/column_chooser\";\r\nimport \"./grouping/m_grouping\";\r\nimport \"./module_not_extended/master_detail\";\r\nimport \"./m_editing\";\r\nimport \"./module_not_extended/editing_row_based\";\r\nimport \"./module_not_extended/editing_form_based\";\r\nimport \"./module_not_extended/editing_cell_based\";\r\nimport \"./module_not_extended/validating\";\r\nimport \"./module_not_extended/virtual_scrolling\";\r\nimport \"./module_not_extended/filter_row\";\r\nimport \"./module_not_extended/header_filter\";\r\nimport \"./module_not_extended/filter_sync\";\r\nimport \"./module_not_extended/filter_builder\";\r\nimport \"./module_not_extended/filter_panel\";\r\nimport \"./module_not_extended/search\";\r\nimport \"./module_not_extended/pager\";\r\nimport \"./module_not_extended/columns_resizing_reordering\";\r\nimport \"./module_not_extended/keyboard_navigation\";\r\nimport \"./summary/m_summary\";\r\nimport \"./module_not_extended/column_fixing\";\r\nimport \"./module_not_extended/adaptivity\";\r\nimport \"./module_not_extended/virtual_columns\";\r\nimport \"./export/m_export\";\r\nimport \"./focus/m_focus\";\r\nimport \"./module_not_extended/row_dragging\";\r\nexport default DataGrid;\r\n","/**\r\n * DevExtreme (esm/ui/data_grid.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport DataGrid from \"../__internal/grids/data_grid/m_widget\";\r\nexport default DataGrid;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.device.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n nativeScrolling,\r\n touch\r\n} from \"../../core/utils/support\";\r\nexport var deviceDependentOptions = function() {\r\n return [{\r\n device: function() {\r\n return !nativeScrolling\r\n },\r\n options: {\r\n useNative: false\r\n }\r\n }, {\r\n device: function(_device) {\r\n return !devices.isSimulator() && \"desktop\" === devices.real().deviceType && \"generic\" === _device.platform\r\n },\r\n options: {\r\n bounceEnabled: false,\r\n scrollByThumb: true,\r\n scrollByContent: touch,\r\n showScrollbar: \"onHover\"\r\n }\r\n }]\r\n};\r\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","/* eslint-disable no-console */\nimport Vuetify from '../framework'\n\nfunction createMessage (message: string, vm?: any, parent?: any): string | void {\n if (Vuetify.config.silent) return\n\n if (parent) {\n vm = {\n _isVue: true,\n $parent: parent,\n $options: vm,\n }\n }\n\n if (vm) {\n // Only show each message once per instance\n vm.$_alreadyWarned = vm.$_alreadyWarned || []\n if (vm.$_alreadyWarned.includes(message)) return\n vm.$_alreadyWarned.push(message)\n }\n\n return `[Vuetify] ${message}` + (\n vm ? generateComponentTrace(vm) : ''\n )\n}\n\nexport function consoleInfo (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.info(newMessage)\n}\n\nexport function consoleWarn (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.warn(newMessage)\n}\n\nexport function consoleError (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.error(newMessage)\n}\n\nexport function deprecate (original: string, replacement: string, vm?: any, parent?: any) {\n consoleWarn(`[UPGRADE] '${original}' is deprecated, use '${replacement}' instead.`, vm, parent)\n}\nexport function breaking (original: string, replacement: string, vm?: any, parent?: any) {\n consoleError(`[BREAKING] '${original}' has been removed, use '${replacement}' instead. For more information, see the upgrade guide https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide`, vm, parent)\n}\nexport function removed (original: string, vm?: any, parent?: any) {\n consoleWarn(`[REMOVED] '${original}' has been removed. You can safely omit it.`, vm, parent)\n}\n\n/**\n * Shamelessly stolen from vuejs/vue/blob/dev/src/core/util/debug.js\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g\nconst classify = (str: string) => str\n .replace(classifyRE, c => c.toUpperCase())\n .replace(/[-_]/g, '')\n\nfunction formatComponentName (vm: any, includeFile?: boolean): string {\n if (vm.$root === vm) {\n return '<Root>'\n }\n const options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {}\n let name = options.name || options._componentTag\n const file = options.__file\n if (!name && file) {\n const match = file.match(/([^/\\\\]+)\\.vue$/)\n name = match && match[1]\n }\n\n return (\n (name ? `<${classify(name)}>` : `<Anonymous>`) +\n (file && includeFile !== false ? ` at ${file}` : '')\n )\n}\n\nfunction generateComponentTrace (vm: any): string {\n if (vm._isVue && vm.$parent) {\n const tree: any[] = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (tree.length > 0) {\n const last: any = tree[tree.length - 1]\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++\n vm = vm.$parent\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence]\n currentRecursiveSequence = 0\n }\n }\n tree.push(vm)\n vm = vm.$parent\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map((vm, i) => `${\n i === 0 ? '---> ' : ' '.repeat(5 + i * 2)\n }${\n Array.isArray(vm)\n ? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)`\n : formatComponentName(vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm)})`\n }\n}\n","'use strict';\n/* eslint-disable no-unused-vars -- required for functions `.length` */\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');\n\nvar WEB_ASSEMBLY = 'WebAssembly';\nvar WebAssembly = global[WEB_ASSEMBLY];\n\n// eslint-disable-next-line es/no-error-cause -- feature detection\nvar FORCED = new Error('e', { cause: 7 }).cause !== 7;\n\nvar exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);\n $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);\n};\n\nvar exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n if (WebAssembly && WebAssembly[ERROR_NAME]) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);\n $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);\n }\n};\n\n// https://tc39.es/ecma262/#sec-nativeerror\nexportGlobalErrorCauseWrapper('Error', function (init) {\n return function Error(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('EvalError', function (init) {\n return function EvalError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('RangeError', function (init) {\n return function RangeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('ReferenceError', function (init) {\n return function ReferenceError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('SyntaxError', function (init) {\n return function SyntaxError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('TypeError', function (init) {\n return function TypeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('URIError', function (init) {\n return function URIError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('CompileError', function (init) {\n return function CompileError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('LinkError', function (init) {\n return function LinkError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {\n return function RuntimeError(message) { return apply(init, this, arguments); };\n});\n","/**\n * @copyright 2017 Alex Regan\n * @license MIT\n * @see https://github.com/alexsasharegan/vue-functional-data-merge\n */\n/* eslint-disable max-statements */\nimport { VNodeData } from 'vue'\nimport { camelize, wrapInArray } from './helpers'\n\nconst pattern = {\n styleList: /;(?![^(]*\\))/g,\n styleProp: /:(.*)/,\n} as const\n\nfunction parseStyle (style: string) {\n const styleMap: Dictionary<any> = {}\n\n for (const s of style.split(pattern.styleList)) {\n let [key, val] = s.split(pattern.styleProp)\n key = key.trim()\n if (!key) {\n continue\n }\n // May be undefined if the `key: value` pair is incomplete.\n if (typeof val === 'string') {\n val = val.trim()\n }\n styleMap[camelize(key)] = val\n }\n\n return styleMap\n}\n\n/**\n * Intelligently merges data for createElement.\n * Merges arguments left to right, preferring the right argument.\n * Returns new VNodeData object.\n */\nexport default function mergeData (...vNodeData: VNodeData[]): VNodeData\nexport default function mergeData (): VNodeData {\n const mergeTarget: VNodeData & Dictionary<any> = {}\n let i: number = arguments.length\n let prop: string\n\n // Allow for variadic argument length.\n while (i--) {\n // Iterate through the data properties and execute merge strategies\n // Object.keys eliminates need for hasOwnProperty call\n for (prop of Object.keys(arguments[i])) {\n switch (prop) {\n // Array merge strategy (array concatenation)\n case 'class':\n case 'directives':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeClasses(mergeTarget[prop], arguments[i][prop])\n }\n break\n case 'style':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeStyles(mergeTarget[prop], arguments[i][prop])\n }\n break\n // Space delimited string concatenation strategy\n case 'staticClass':\n if (!arguments[i][prop]) {\n break\n }\n if (mergeTarget[prop] === undefined) {\n mergeTarget[prop] = ''\n }\n if (mergeTarget[prop]) {\n // Not an empty string, so concatenate\n mergeTarget[prop] += ' '\n }\n mergeTarget[prop] += arguments[i][prop].trim()\n break\n // Object, the properties of which to merge via array merge strategy (array concatenation).\n // Callback merge strategy merges callbacks to the beginning of the array,\n // so that the last defined callback will be invoked first.\n // This is done since to mimic how Object.assign merging\n // uses the last given value to assign.\n case 'on':\n case 'nativeOn':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeListeners(mergeTarget[prop], arguments[i][prop])\n }\n break\n // Object merge strategy\n case 'attrs':\n case 'props':\n case 'domProps':\n case 'scopedSlots':\n case 'staticStyle':\n case 'hook':\n case 'transition':\n if (!arguments[i][prop]) {\n break\n }\n if (!mergeTarget[prop]) {\n mergeTarget[prop] = {}\n }\n mergeTarget[prop] = { ...arguments[i][prop], ...mergeTarget[prop] }\n break\n // Reassignment strategy (no merge)\n default: // slot, key, ref, tag, show, keepAlive\n if (!mergeTarget[prop]) {\n mergeTarget[prop] = arguments[i][prop]\n }\n }\n }\n }\n\n return mergeTarget\n}\n\nexport function mergeStyles (\n target: undefined | string | object[] | object,\n source: undefined | string | object[] | object\n) {\n if (!target) return source\n if (!source) return target\n\n target = wrapInArray(typeof target === 'string' ? parseStyle(target) : target)\n\n return (target as object[]).concat(typeof source === 'string' ? parseStyle(source) : source)\n}\n\nexport function mergeClasses (target: any, source: any) {\n if (!source) return target\n if (!target) return source\n\n return target ? wrapInArray(target).concat(source) : source\n}\n\nexport function mergeListeners (...args: [\n { [key: string]: Function | Function[] } | undefined,\n { [key: string]: Function | Function[] } | undefined\n]) {\n if (!args[0]) return args[1]\n if (!args[1]) return args[0]\n\n const dest: { [key: string]: Function | Function[] } = {}\n\n for (let i = 2; i--;) {\n const arg = args[i]\n for (const event in arg) {\n if (!arg[event]) continue\n\n if (dest[event]) {\n // Merge current listeners before (because we are iterating backwards).\n // Note that neither \"target\" or \"source\" must be altered.\n dest[event] = ([] as Function[]).concat(arg[event], dest[event])\n } else {\n // Straight assign.\n dest[event] = arg[event]\n }\n }\n }\n\n return dest\n}\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCa = moment.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n });\n\n return frCa;\n\n})));\n","// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot, keyCodes } from './../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropType, PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-list-item',\n\n directives: {\n Ripple,\n },\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n } as any as PropValidator<string>,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n value: null as any as PropType<any>,\n },\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.options.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const attrs: Record<string, any> = {\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n ...this.$attrs,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this._uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n toggle () {\n if (this.to && this.inputValue === undefined) {\n this.isActive = !this.isActive\n }\n this.$emit('change')\n },\n },\n\n render (h): VNode {\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n ...this.genAttrs(),\n }\n data[this.to ? 'nativeOn' : 'on'] = {\n ...data[this.to ? 'nativeOn' : 'on'],\n keydown: (e: KeyboardEvent) => {\n if (!this.disabled) {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n }\n },\n }\n\n if (this.inactive) tag = 'div'\n if (this.inactive && this.to) {\n data.on = data.nativeOn\n delete data.nativeOn\n }\n\n const children = getSlot(this, 'default', {\n active: this.isActive,\n toggle: this.toggle,\n })\n\n return h(tag, this.isActive ? this.setTextColor(this.color, data) : data, children)\n },\n})\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^(maart|mrt\\.?)$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nlBe;\n\n})));\n","/**\r\n * DevExtreme (esm/core/utils/stubs.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function stubComponent(componentName) {\r\n return class {\r\n constructor() {\r\n throw new Error(\"Module '\".concat(componentName, \"' not found\"))\r\n }\r\n static getInstance() {}\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/widget/ui.search_box_mixin.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n stubComponent\r\n} from \"../../core/utils/stubs\";\r\nvar EditorClass = stubComponent(\"TextBox\");\r\nexport default {\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n searchMode: \"\",\r\n searchExpr: null,\r\n searchValue: \"\",\r\n searchEnabled: false,\r\n searchEditorOptions: {}\r\n })\r\n },\r\n _initMarkup: function() {\r\n this._renderSearch();\r\n this.callBase()\r\n },\r\n _renderSearch: function() {\r\n var $element = this.$element();\r\n var searchEnabled = this.option(\"searchEnabled\");\r\n var searchBoxClassName = this._addWidgetPrefix(\"search\");\r\n var rootElementClassName = this._addWidgetPrefix(\"with-search\");\r\n if (!searchEnabled) {\r\n $element.removeClass(rootElementClassName);\r\n this._removeSearchBox();\r\n return\r\n }\r\n var editorOptions = this._getSearchEditorOptions();\r\n if (this._searchEditor) {\r\n this._searchEditor.option(editorOptions)\r\n } else {\r\n $element.addClass(rootElementClassName);\r\n this._$searchEditorElement = $(\"<div>\").addClass(searchBoxClassName).prependTo($element);\r\n this._searchEditor = this._createComponent(this._$searchEditorElement, EditorClass, editorOptions)\r\n }\r\n },\r\n _removeSearchBox: function() {\r\n this._$searchEditorElement && this._$searchEditorElement.remove();\r\n delete this._$searchEditorElement;\r\n delete this._searchEditor\r\n },\r\n _getSearchEditorOptions: function() {\r\n var that = this;\r\n var userEditorOptions = that.option(\"searchEditorOptions\");\r\n var searchText = messageLocalization.format(\"Search\");\r\n return extend({\r\n mode: \"search\",\r\n placeholder: searchText,\r\n tabIndex: that.option(\"tabIndex\"),\r\n value: that.option(\"searchValue\"),\r\n valueChangeEvent: \"input\",\r\n inputAttr: {\r\n \"aria-label\": searchText\r\n },\r\n onValueChanged: function(e) {\r\n var searchTimeout = that.option(\"searchTimeout\");\r\n that._valueChangeDeferred = new Deferred;\r\n clearTimeout(that._valueChangeTimeout);\r\n that._valueChangeDeferred.done(function() {\r\n this.option(\"searchValue\", e.value)\r\n }.bind(that));\r\n if (e.event && \"input\" === e.event.type && searchTimeout) {\r\n that._valueChangeTimeout = setTimeout((function() {\r\n that._valueChangeDeferred.resolve()\r\n }), searchTimeout)\r\n } else {\r\n that._valueChangeDeferred.resolve()\r\n }\r\n }\r\n }, userEditorOptions)\r\n },\r\n _getAriaTarget: function() {\r\n if (this.option(\"searchEnabled\")) {\r\n return this._itemContainer(true)\r\n }\r\n return this.callBase()\r\n },\r\n _focusTarget: function() {\r\n if (this.option(\"searchEnabled\")) {\r\n return this._itemContainer(true)\r\n }\r\n return this.callBase()\r\n },\r\n _updateFocusState: function(e, isFocused) {\r\n if (this.option(\"searchEnabled\")) {\r\n this._toggleFocusClass(isFocused, this.$element())\r\n }\r\n this.callBase(e, isFocused)\r\n },\r\n getOperationBySearchMode: function(searchMode) {\r\n return \"equals\" === searchMode ? \"=\" : searchMode\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"searchEnabled\":\r\n case \"searchEditorOptions\":\r\n this._invalidate();\r\n break;\r\n case \"searchExpr\":\r\n case \"searchMode\":\r\n case \"searchValue\":\r\n if (!this._dataSource) {\r\n errors.log(\"W1009\");\r\n return\r\n }\r\n if (\"searchMode\" === args.name) {\r\n this._dataSource.searchOperation(this.getOperationBySearchMode(args.value))\r\n } else {\r\n this._dataSource[args.name](args.value)\r\n }\r\n this._dataSource.load();\r\n break;\r\n case \"searchTimeout\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n focus: function() {\r\n if (!this.option(\"focusedElement\") && this.option(\"searchEnabled\")) {\r\n this._searchEditor && this._searchEditor.focus();\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _cleanAria: function() {\r\n var $element = this.$element();\r\n this.setAria({\r\n role: null,\r\n activedescendant: null\r\n }, $element);\r\n $element.attr(\"tabIndex\", null)\r\n },\r\n _clean() {\r\n this.callBase();\r\n this._cleanAria()\r\n },\r\n _refresh: function() {\r\n if (this._valueChangeDeferred) {\r\n this._valueChangeDeferred.resolve()\r\n }\r\n this.callBase()\r\n },\r\n setEditorClass: function(value) {\r\n EditorClass = value\r\n }\r\n};\r\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInnerChanges = exports.getConfig = exports.initOptionChangedFunc = exports.DxConfiguration = void 0;\nvar VueType = __importStar(require(\"vue\"));\nvar Vue = VueType.default || VueType;\nvar configuration_1 = require(\"./configuration\");\nfunction getConfig(vueInstance) {\n if (!vueInstance.$vnode) {\n return;\n }\n var componentOptions = vueInstance.$vnode.componentOptions;\n return componentOptions && componentOptions.$_config;\n}\nexports.getConfig = getConfig;\nfunction getInnerChanges(vueInstance) {\n if (!vueInstance.$vnode) {\n return;\n }\n var componentOptions = vueInstance.$vnode.componentOptions;\n return componentOptions && componentOptions.$_innerChanges;\n}\nexports.getInnerChanges = getInnerChanges;\nfunction initOptionChangedFunc(config, vueInstance, innerChanges) {\n if (!config) {\n return;\n }\n config.init(Object.keys(vueInstance.$props));\n (0, configuration_1.setEmitOptionChangedFunc)(config, vueInstance, innerChanges);\n}\nexports.initOptionChangedFunc = initOptionChangedFunc;\nfunction getComponentInfo(_a, removed) {\n var name = _a.name, isCollectionItem = _a.isCollectionItem, ownerConfig = _a.ownerConfig;\n var parentPath = ownerConfig && ownerConfig.fullPath;\n var optionPath = name && parentPath ? \"\".concat(parentPath, \".\").concat(name) : name || \"\";\n return {\n optionPath: optionPath,\n isCollection: isCollectionItem,\n removed: removed\n };\n}\nvar DxConfiguration = function () { return Vue.extend({\n beforeMount: function () {\n var config = getConfig(this);\n var innerChanges = getInnerChanges(this);\n initOptionChangedFunc(config, this, innerChanges);\n (0, configuration_1.bindOptionWatchers)(config, this, innerChanges);\n },\n mounted: function () {\n if (this.$parent.$_instance) {\n this.$parent.$_config.componentsCountChanged\n .push(getComponentInfo(getConfig(this)));\n }\n },\n beforeDestroy: function () {\n this.$parent.$_config.componentsCountChanged\n .push(getComponentInfo(getConfig(this), true));\n },\n render: function (createElement) {\n return createElement();\n }\n}); };\nexports.DxConfiguration = DxConfiguration;\n","/**\r\n * DevExtreme (esm/localization/default_messages.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nexport var defaultMessages = {\r\n en: {\r\n Yes: \"Yes\",\r\n No: \"No\",\r\n Cancel: \"Cancel\",\r\n Close: \"Close\",\r\n Clear: \"Clear\",\r\n Done: \"Done\",\r\n Loading: \"Loading...\",\r\n Select: \"Select...\",\r\n Search: \"Search\",\r\n Back: \"Back\",\r\n OK: \"OK\",\r\n \"dxCollectionWidget-noDataText\": \"No data to display\",\r\n \"dxDropDownEditor-selectLabel\": \"Select\",\r\n \"validation-required\": \"Required\",\r\n \"validation-required-formatted\": \"{0} is required\",\r\n \"validation-numeric\": \"Value must be a number\",\r\n \"validation-numeric-formatted\": \"{0} must be a number\",\r\n \"validation-range\": \"Value is out of range\",\r\n \"validation-range-formatted\": \"{0} is out of range\",\r\n \"validation-stringLength\": \"The length of the value is not correct\",\r\n \"validation-stringLength-formatted\": \"The length of {0} is not correct\",\r\n \"validation-custom\": \"Value is invalid\",\r\n \"validation-custom-formatted\": \"{0} is invalid\",\r\n \"validation-async\": \"Value is invalid\",\r\n \"validation-async-formatted\": \"{0} is invalid\",\r\n \"validation-compare\": \"Values do not match\",\r\n \"validation-compare-formatted\": \"{0} does not match\",\r\n \"validation-pattern\": \"Value does not match pattern\",\r\n \"validation-pattern-formatted\": \"{0} does not match pattern\",\r\n \"validation-email\": \"Email is invalid\",\r\n \"validation-email-formatted\": \"{0} is invalid\",\r\n \"validation-mask\": \"Value is invalid\",\r\n \"dxLookup-searchPlaceholder\": \"Minimum character number: {0}\",\r\n \"dxList-pullingDownText\": \"Pull down to refresh...\",\r\n \"dxList-pulledDownText\": \"Release to refresh...\",\r\n \"dxList-refreshingText\": \"Refreshing...\",\r\n \"dxList-pageLoadingText\": \"Loading...\",\r\n \"dxList-nextButtonText\": \"More\",\r\n \"dxList-selectAll\": \"Select All\",\r\n \"dxListEditDecorator-delete\": \"Delete\",\r\n \"dxListEditDecorator-more\": \"More\",\r\n \"dxScrollView-pullingDownText\": \"Pull down to refresh...\",\r\n \"dxScrollView-pulledDownText\": \"Release to refresh...\",\r\n \"dxScrollView-refreshingText\": \"Refreshing...\",\r\n \"dxScrollView-reachBottomText\": \"Loading...\",\r\n \"dxDateBox-simulatedDataPickerTitleTime\": \"Select time\",\r\n \"dxDateBox-simulatedDataPickerTitleDate\": \"Select date\",\r\n \"dxDateBox-simulatedDataPickerTitleDateTime\": \"Select date and time\",\r\n \"dxDateBox-validation-datetime\": \"Value must be a date or time\",\r\n \"dxDateRangeBox-invalidStartDateMessage\": \"Start value must be a date\",\r\n \"dxDateRangeBox-invalidEndDateMessage\": \"End value must be a date\",\r\n \"dxDateRangeBox-startDateOutOfRangeMessage\": \"Start date is out of range\",\r\n \"dxDateRangeBox-endDateOutOfRangeMessage\": \"End date is out of range\",\r\n \"dxDateRangeBox-startDateLabel\": \"Start Date\",\r\n \"dxDateRangeBox-endDateLabel\": \"End Date\",\r\n \"dxFileUploader-selectFile\": \"Select a file\",\r\n \"dxFileUploader-dropFile\": \"or Drop a file here\",\r\n \"dxFileUploader-bytes\": \"bytes\",\r\n \"dxFileUploader-kb\": \"KB\",\r\n \"dxFileUploader-Mb\": \"MB\",\r\n \"dxFileUploader-Gb\": \"GB\",\r\n \"dxFileUploader-upload\": \"Upload\",\r\n \"dxFileUploader-uploaded\": \"Uploaded\",\r\n \"dxFileUploader-readyToUpload\": \"Ready to upload\",\r\n \"dxFileUploader-uploadAbortedMessage\": \"Upload cancelled\",\r\n \"dxFileUploader-uploadFailedMessage\": \"Upload failed\",\r\n \"dxFileUploader-invalidFileExtension\": \"File type is not allowed\",\r\n \"dxFileUploader-invalidMaxFileSize\": \"File is too large\",\r\n \"dxFileUploader-invalidMinFileSize\": \"File is too small\",\r\n \"dxRangeSlider-ariaFrom\": \"From\",\r\n \"dxRangeSlider-ariaTill\": \"Till\",\r\n \"dxSwitch-switchedOnText\": \"ON\",\r\n \"dxSwitch-switchedOffText\": \"OFF\",\r\n \"dxForm-optionalMark\": \"optional\",\r\n \"dxForm-requiredMessage\": \"{0} is required\",\r\n \"dxNumberBox-invalidValueMessage\": \"Value must be a number\",\r\n \"dxNumberBox-noDataText\": \"No data\",\r\n \"dxDataGrid-emptyHeaderWithColumnChooserText\": \"Use {0} to display columns\",\r\n \"dxDataGrid-emptyHeaderWithGroupPanelText\": \"Drag a column from the group panel here\",\r\n \"dxDataGrid-emptyHeaderWithColumnChooserAndGroupPanelText\": \"Use {0} or drag a column from the group panel\",\r\n \"dxDataGrid-emptyHeaderColumnChooserText\": \"column chooser\",\r\n \"dxDataGrid-columnChooserTitle\": \"Column Chooser\",\r\n \"dxDataGrid-columnChooserEmptyText\": \"Drag a column here to hide it\",\r\n \"dxDataGrid-groupContinuesMessage\": \"Continues on the next page\",\r\n \"dxDataGrid-groupContinuedMessage\": \"Continued from the previous page\",\r\n \"dxDataGrid-groupHeaderText\": \"Group by This Column\",\r\n \"dxDataGrid-ungroupHeaderText\": \"Ungroup\",\r\n \"dxDataGrid-ungroupAllText\": \"Ungroup All\",\r\n \"dxDataGrid-editingEditRow\": \"Edit\",\r\n \"dxDataGrid-editingSaveRowChanges\": \"Save\",\r\n \"dxDataGrid-editingCancelRowChanges\": \"Cancel\",\r\n \"dxDataGrid-editingDeleteRow\": \"Delete\",\r\n \"dxDataGrid-editingUndeleteRow\": \"Undelete\",\r\n \"dxDataGrid-editingConfirmDeleteMessage\": \"Are you sure you want to delete this record?\",\r\n \"dxDataGrid-validationCancelChanges\": \"Cancel changes\",\r\n \"dxDataGrid-groupPanelEmptyText\": \"Drag a column header here to group by that column\",\r\n \"dxDataGrid-noDataText\": \"No data\",\r\n \"dxDataGrid-searchPanelPlaceholder\": \"Search...\",\r\n \"dxDataGrid-filterRowShowAllText\": \"(All)\",\r\n \"dxDataGrid-filterRowResetOperationText\": \"Reset\",\r\n \"dxDataGrid-filterRowOperationEquals\": \"Equals\",\r\n \"dxDataGrid-filterRowOperationNotEquals\": \"Does not equal\",\r\n \"dxDataGrid-filterRowOperationLess\": \"Less than\",\r\n \"dxDataGrid-filterRowOperationLessOrEquals\": \"Less than or equal to\",\r\n \"dxDataGrid-filterRowOperationGreater\": \"Greater than\",\r\n \"dxDataGrid-filterRowOperationGreaterOrEquals\": \"Greater than or equal to\",\r\n \"dxDataGrid-filterRowOperationStartsWith\": \"Starts with\",\r\n \"dxDataGrid-filterRowOperationContains\": \"Contains\",\r\n \"dxDataGrid-filterRowOperationNotContains\": \"Does not contain\",\r\n \"dxDataGrid-filterRowOperationEndsWith\": \"Ends with\",\r\n \"dxDataGrid-filterRowOperationBetween\": \"Between\",\r\n \"dxDataGrid-filterRowOperationBetweenStartText\": \"Start\",\r\n \"dxDataGrid-filterRowOperationBetweenEndText\": \"End\",\r\n \"dxDataGrid-ariaSearchBox\": \"Search box\",\r\n \"dxDataGrid-applyFilterText\": \"Apply filter\",\r\n \"dxDataGrid-trueText\": \"true\",\r\n \"dxDataGrid-falseText\": \"false\",\r\n \"dxDataGrid-sortingAscendingText\": \"Sort Ascending\",\r\n \"dxDataGrid-sortingDescendingText\": \"Sort Descending\",\r\n \"dxDataGrid-sortingClearText\": \"Clear Sorting\",\r\n \"dxDataGrid-editingSaveAllChanges\": \"Save changes\",\r\n \"dxDataGrid-editingCancelAllChanges\": \"Discard changes\",\r\n \"dxDataGrid-editingAddRow\": \"Add a row\",\r\n \"dxDataGrid-summaryMin\": \"Min: {0}\",\r\n \"dxDataGrid-summaryMinOtherColumn\": \"Min of {1} is {0}\",\r\n \"dxDataGrid-summaryMax\": \"Max: {0}\",\r\n \"dxDataGrid-summaryMaxOtherColumn\": \"Max of {1} is {0}\",\r\n \"dxDataGrid-summaryAvg\": \"Avg: {0}\",\r\n \"dxDataGrid-summaryAvgOtherColumn\": \"Avg of {1} is {0}\",\r\n \"dxDataGrid-summarySum\": \"Sum: {0}\",\r\n \"dxDataGrid-summarySumOtherColumn\": \"Sum of {1} is {0}\",\r\n \"dxDataGrid-summaryCount\": \"Count: {0}\",\r\n \"dxDataGrid-columnFixingFix\": \"Fix\",\r\n \"dxDataGrid-columnFixingUnfix\": \"Unfix\",\r\n \"dxDataGrid-columnFixingLeftPosition\": \"To the left\",\r\n \"dxDataGrid-columnFixingRightPosition\": \"To the right\",\r\n \"dxDataGrid-exportTo\": \"Export\",\r\n \"dxDataGrid-exportToExcel\": \"Export to Excel file\",\r\n \"dxDataGrid-exporting\": \"Exporting...\",\r\n \"dxDataGrid-excelFormat\": \"Excel file\",\r\n \"dxDataGrid-selectedRows\": \"Selected rows\",\r\n \"dxDataGrid-exportSelectedRows\": \"Export selected rows to {0}\",\r\n \"dxDataGrid-exportAll\": \"Export all data to {0}\",\r\n \"dxDataGrid-headerFilterLabel\": \"Filter options\",\r\n \"dxDataGrid-headerFilterIndicatorLabel\": \"Show filter options for column '{0}'\",\r\n \"dxDataGrid-headerFilterEmptyValue\": \"(Blanks)\",\r\n \"dxDataGrid-headerFilterOK\": \"OK\",\r\n \"dxDataGrid-headerFilterCancel\": \"Cancel\",\r\n \"dxDataGrid-ariaAdaptiveCollapse\": \"Hide additional data\",\r\n \"dxDataGrid-ariaAdaptiveExpand\": \"Display additional data\",\r\n \"dxDataGrid-ariaColumn\": \"Column\",\r\n \"dxDataGrid-ariaValue\": \"Value\",\r\n \"dxDataGrid-ariaFilterCell\": \"Filter cell\",\r\n \"dxDataGrid-ariaCollapse\": \"Collapse\",\r\n \"dxDataGrid-ariaExpand\": \"Expand\",\r\n \"dxDataGrid-ariaDataGrid\": \"Data grid with {0} rows and {1} columns\",\r\n \"dxDataGrid-ariaSearchInGrid\": \"Search in the data grid\",\r\n \"dxDataGrid-ariaSelectAll\": \"Select all\",\r\n \"dxDataGrid-ariaSelectRow\": \"Select row\",\r\n \"dxDataGrid-ariaToolbar\": \"Data grid toolbar\",\r\n \"dxDataGrid-ariaEditForm\": \"Edit form\",\r\n \"dxDataGrid-filterBuilderPopupTitle\": \"Filter Builder\",\r\n \"dxDataGrid-filterPanelCreateFilter\": \"Create Filter\",\r\n \"dxDataGrid-filterPanelClearFilter\": \"Clear\",\r\n \"dxDataGrid-filterPanelFilterEnabledHint\": \"Enable the filter\",\r\n \"dxTreeList-ariaTreeList\": \"Tree list with {0} rows and {1} columns\",\r\n \"dxTreeList-ariaSearchInGrid\": \"Search in the tree list\",\r\n \"dxTreeList-ariaToolbar\": \"Tree list toolbar\",\r\n \"dxTreeList-editingAddRowToNode\": \"Add\",\r\n \"dxPager-infoText\": \"Page {0} of {1} ({2} items)\",\r\n \"dxPager-pagesCountText\": \"of\",\r\n \"dxPager-pageSize\": \"Items per page: {0}\",\r\n \"dxPager-pageSizesAllText\": \"All\",\r\n \"dxPager-page\": \"Page {0}\",\r\n \"dxPager-prevPage\": \"Previous Page\",\r\n \"dxPager-nextPage\": \"Next Page\",\r\n \"dxPager-ariaLabel\": \"Page Navigation\",\r\n \"dxPager-ariaPageSize\": \"Page size\",\r\n \"dxPager-ariaPageNumber\": \"Page number\",\r\n \"dxPivotGrid-grandTotal\": \"Grand Total\",\r\n \"dxPivotGrid-total\": \"{0} Total\",\r\n \"dxPivotGrid-fieldChooserTitle\": \"Field Chooser\",\r\n \"dxPivotGrid-showFieldChooser\": \"Show Field Chooser\",\r\n \"dxPivotGrid-expandAll\": \"Expand All\",\r\n \"dxPivotGrid-collapseAll\": \"Collapse All\",\r\n \"dxPivotGrid-sortColumnBySummary\": 'Sort \"{0}\" by This Column',\r\n \"dxPivotGrid-sortRowBySummary\": 'Sort \"{0}\" by This Row',\r\n \"dxPivotGrid-removeAllSorting\": \"Remove All Sorting\",\r\n \"dxPivotGrid-dataNotAvailable\": \"N/A\",\r\n \"dxPivotGrid-rowFields\": \"Row Fields\",\r\n \"dxPivotGrid-columnFields\": \"Column Fields\",\r\n \"dxPivotGrid-dataFields\": \"Data Fields\",\r\n \"dxPivotGrid-filterFields\": \"Filter Fields\",\r\n \"dxPivotGrid-allFields\": \"All Fields\",\r\n \"dxPivotGrid-columnFieldArea\": \"Drop Column Fields Here\",\r\n \"dxPivotGrid-dataFieldArea\": \"Drop Data Fields Here\",\r\n \"dxPivotGrid-rowFieldArea\": \"Drop Row Fields Here\",\r\n \"dxPivotGrid-filterFieldArea\": \"Drop Filter Fields Here\",\r\n \"dxScheduler-editorLabelTitle\": \"Subject\",\r\n \"dxScheduler-editorLabelStartDate\": \"Start Date\",\r\n \"dxScheduler-editorLabelEndDate\": \"End Date\",\r\n \"dxScheduler-editorLabelDescription\": \"Description\",\r\n \"dxScheduler-editorLabelRecurrence\": \"Repeat\",\r\n \"dxScheduler-openAppointment\": \"Open appointment\",\r\n \"dxScheduler-recurrenceNever\": \"Never\",\r\n \"dxScheduler-recurrenceMinutely\": \"Every minute\",\r\n \"dxScheduler-recurrenceHourly\": \"Hourly\",\r\n \"dxScheduler-recurrenceDaily\": \"Daily\",\r\n \"dxScheduler-recurrenceWeekly\": \"Weekly\",\r\n \"dxScheduler-recurrenceMonthly\": \"Monthly\",\r\n \"dxScheduler-recurrenceYearly\": \"Yearly\",\r\n \"dxScheduler-recurrenceRepeatEvery\": \"Repeat Every\",\r\n \"dxScheduler-recurrenceRepeatOn\": \"Repeat On\",\r\n \"dxScheduler-recurrenceEnd\": \"End repeat\",\r\n \"dxScheduler-recurrenceAfter\": \"After\",\r\n \"dxScheduler-recurrenceOn\": \"On\",\r\n \"dxScheduler-recurrenceRepeatMinutely\": \"minute(s)\",\r\n \"dxScheduler-recurrenceRepeatHourly\": \"hour(s)\",\r\n \"dxScheduler-recurrenceRepeatDaily\": \"day(s)\",\r\n \"dxScheduler-recurrenceRepeatWeekly\": \"week(s)\",\r\n \"dxScheduler-recurrenceRepeatMonthly\": \"month(s)\",\r\n \"dxScheduler-recurrenceRepeatYearly\": \"year(s)\",\r\n \"dxScheduler-switcherDay\": \"Day\",\r\n \"dxScheduler-switcherWeek\": \"Week\",\r\n \"dxScheduler-switcherWorkWeek\": \"Work Week\",\r\n \"dxScheduler-switcherMonth\": \"Month\",\r\n \"dxScheduler-switcherAgenda\": \"Agenda\",\r\n \"dxScheduler-switcherTimelineDay\": \"Timeline Day\",\r\n \"dxScheduler-switcherTimelineWeek\": \"Timeline Week\",\r\n \"dxScheduler-switcherTimelineWorkWeek\": \"Timeline Work Week\",\r\n \"dxScheduler-switcherTimelineMonth\": \"Timeline Month\",\r\n \"dxScheduler-recurrenceRepeatOnDate\": \"on date\",\r\n \"dxScheduler-recurrenceRepeatCount\": \"occurrence(s)\",\r\n \"dxScheduler-allDay\": \"All day\",\r\n \"dxScheduler-confirmRecurrenceEditMessage\": \"Do you want to edit only this appointment or the whole series?\",\r\n \"dxScheduler-confirmRecurrenceDeleteMessage\": \"Do you want to delete only this appointment or the whole series?\",\r\n \"dxScheduler-confirmRecurrenceEditSeries\": \"Edit series\",\r\n \"dxScheduler-confirmRecurrenceDeleteSeries\": \"Delete series\",\r\n \"dxScheduler-confirmRecurrenceEditOccurrence\": \"Edit appointment\",\r\n \"dxScheduler-confirmRecurrenceDeleteOccurrence\": \"Delete appointment\",\r\n \"dxScheduler-noTimezoneTitle\": \"No timezone\",\r\n \"dxScheduler-moreAppointments\": \"{0} more\",\r\n \"dxCalendar-todayButtonText\": \"Today\",\r\n \"dxCalendar-ariaWidgetName\": \"Calendar\",\r\n \"dxCalendar-ariaHotKeysInfo\": \"To navigate between views, press Control, and then Left Arrow or Right Arrow. To zoom in on a view, press Control, and then Down Arrow. To zoom out, press Control, and then Up Arrow.\",\r\n \"dxColorView-ariaRed\": \"Red\",\r\n \"dxColorView-ariaGreen\": \"Green\",\r\n \"dxColorView-ariaBlue\": \"Blue\",\r\n \"dxColorView-ariaAlpha\": \"Transparency\",\r\n \"dxColorView-ariaHex\": \"Color code\",\r\n \"dxTagBox-selected\": \"{0} selected\",\r\n \"dxTagBox-allSelected\": \"All selected ({0})\",\r\n \"dxTagBox-moreSelected\": \"{0} more\",\r\n \"vizExport-printingButtonText\": \"Print\",\r\n \"vizExport-titleMenuText\": \"Exporting/Printing\",\r\n \"vizExport-exportButtonText\": \"{0} file\",\r\n \"dxFilterBuilder-and\": \"And\",\r\n \"dxFilterBuilder-or\": \"Or\",\r\n \"dxFilterBuilder-notAnd\": \"Not And\",\r\n \"dxFilterBuilder-notOr\": \"Not Or\",\r\n \"dxFilterBuilder-addCondition\": \"Add Condition\",\r\n \"dxFilterBuilder-addGroup\": \"Add Group\",\r\n \"dxFilterBuilder-enterValueText\": \"<enter a value>\",\r\n \"dxFilterBuilder-filterOperationEquals\": \"Equals\",\r\n \"dxFilterBuilder-filterOperationNotEquals\": \"Does not equal\",\r\n \"dxFilterBuilder-filterOperationLess\": \"Is less than\",\r\n \"dxFilterBuilder-filterOperationLessOrEquals\": \"Is less than or equal to\",\r\n \"dxFilterBuilder-filterOperationGreater\": \"Is greater than\",\r\n \"dxFilterBuilder-filterOperationGreaterOrEquals\": \"Is greater than or equal to\",\r\n \"dxFilterBuilder-filterOperationStartsWith\": \"Starts with\",\r\n \"dxFilterBuilder-filterOperationContains\": \"Contains\",\r\n \"dxFilterBuilder-filterOperationNotContains\": \"Does not contain\",\r\n \"dxFilterBuilder-filterOperationEndsWith\": \"Ends with\",\r\n \"dxFilterBuilder-filterOperationIsBlank\": \"Is blank\",\r\n \"dxFilterBuilder-filterOperationIsNotBlank\": \"Is not blank\",\r\n \"dxFilterBuilder-filterOperationBetween\": \"Is between\",\r\n \"dxFilterBuilder-filterOperationAnyOf\": \"Is any of\",\r\n \"dxFilterBuilder-filterOperationNoneOf\": \"Is none of\",\r\n \"dxHtmlEditor-dialogColorCaption\": \"Change Font Color\",\r\n \"dxHtmlEditor-dialogBackgroundCaption\": \"Change Background Color\",\r\n \"dxHtmlEditor-dialogLinkCaption\": \"Add Link\",\r\n \"dxHtmlEditor-dialogLinkUrlField\": \"URL\",\r\n \"dxHtmlEditor-dialogLinkTextField\": \"Text\",\r\n \"dxHtmlEditor-dialogLinkTargetField\": \"Open link in new window\",\r\n \"dxHtmlEditor-dialogImageCaption\": \"Add Image\",\r\n \"dxHtmlEditor-dialogImageUrlField\": \"URL\",\r\n \"dxHtmlEditor-dialogImageAltField\": \"Alternate text\",\r\n \"dxHtmlEditor-dialogImageWidthField\": \"Width (px)\",\r\n \"dxHtmlEditor-dialogImageHeightField\": \"Height (px)\",\r\n \"dxHtmlEditor-dialogInsertTableRowsField\": \"Rows\",\r\n \"dxHtmlEditor-dialogInsertTableColumnsField\": \"Columns\",\r\n \"dxHtmlEditor-dialogInsertTableCaption\": \"Insert Table\",\r\n \"dxHtmlEditor-dialogUpdateImageCaption\": \"Update Image\",\r\n \"dxHtmlEditor-dialogImageUpdateButton\": \"Update\",\r\n \"dxHtmlEditor-dialogImageAddButton\": \"Add\",\r\n \"dxHtmlEditor-dialogImageSpecifyUrl\": \"From the Web\",\r\n \"dxHtmlEditor-dialogImageSelectFile\": \"From This Device\",\r\n \"dxHtmlEditor-dialogImageKeepAspectRatio\": \"Keep Aspect Ratio\",\r\n \"dxHtmlEditor-dialogImageEncodeToBase64\": \"Encode to Base64\",\r\n \"dxHtmlEditor-heading\": \"Heading\",\r\n \"dxHtmlEditor-normalText\": \"Normal text\",\r\n \"dxHtmlEditor-background\": \"Background Color\",\r\n \"dxHtmlEditor-bold\": \"Bold\",\r\n \"dxHtmlEditor-color\": \"Font Color\",\r\n \"dxHtmlEditor-font\": \"Font\",\r\n \"dxHtmlEditor-italic\": \"Italic\",\r\n \"dxHtmlEditor-link\": \"Add Link\",\r\n \"dxHtmlEditor-image\": \"Add Image\",\r\n \"dxHtmlEditor-size\": \"Size\",\r\n \"dxHtmlEditor-strike\": \"Strikethrough\",\r\n \"dxHtmlEditor-subscript\": \"Subscript\",\r\n \"dxHtmlEditor-superscript\": \"Superscript\",\r\n \"dxHtmlEditor-underline\": \"Underline\",\r\n \"dxHtmlEditor-blockquote\": \"Blockquote\",\r\n \"dxHtmlEditor-header\": \"Header\",\r\n \"dxHtmlEditor-increaseIndent\": \"Increase Indent\",\r\n \"dxHtmlEditor-decreaseIndent\": \"Decrease Indent\",\r\n \"dxHtmlEditor-orderedList\": \"Ordered List\",\r\n \"dxHtmlEditor-bulletList\": \"Bullet List\",\r\n \"dxHtmlEditor-alignLeft\": \"Align Left\",\r\n \"dxHtmlEditor-alignCenter\": \"Align Center\",\r\n \"dxHtmlEditor-alignRight\": \"Align Right\",\r\n \"dxHtmlEditor-alignJustify\": \"Align Justify\",\r\n \"dxHtmlEditor-codeBlock\": \"Code Block\",\r\n \"dxHtmlEditor-variable\": \"Add Variable\",\r\n \"dxHtmlEditor-undo\": \"Undo\",\r\n \"dxHtmlEditor-redo\": \"Redo\",\r\n \"dxHtmlEditor-clear\": \"Clear Formatting\",\r\n \"dxHtmlEditor-insertTable\": \"Insert Table\",\r\n \"dxHtmlEditor-insertHeaderRow\": \"Insert Header Row\",\r\n \"dxHtmlEditor-insertRowAbove\": \"Insert Row Above\",\r\n \"dxHtmlEditor-insertRowBelow\": \"Insert Row Below\",\r\n \"dxHtmlEditor-insertColumnLeft\": \"Insert Column Left\",\r\n \"dxHtmlEditor-insertColumnRight\": \"Insert Column Right\",\r\n \"dxHtmlEditor-deleteColumn\": \"Delete Column\",\r\n \"dxHtmlEditor-deleteRow\": \"Delete Row\",\r\n \"dxHtmlEditor-deleteTable\": \"Delete Table\",\r\n \"dxHtmlEditor-cellProperties\": \"Cell Properties\",\r\n \"dxHtmlEditor-tableProperties\": \"Table Properties\",\r\n \"dxHtmlEditor-insert\": \"Insert\",\r\n \"dxHtmlEditor-delete\": \"Delete\",\r\n \"dxHtmlEditor-border\": \"Border\",\r\n \"dxHtmlEditor-style\": \"Style\",\r\n \"dxHtmlEditor-width\": \"Width\",\r\n \"dxHtmlEditor-height\": \"Height\",\r\n \"dxHtmlEditor-borderColor\": \"Color\",\r\n \"dxHtmlEditor-tableBackground\": \"Background\",\r\n \"dxHtmlEditor-dimensions\": \"Dimensions\",\r\n \"dxHtmlEditor-alignment\": \"Alignment\",\r\n \"dxHtmlEditor-horizontal\": \"Horizontal\",\r\n \"dxHtmlEditor-vertical\": \"Vertical\",\r\n \"dxHtmlEditor-paddingVertical\": \"Vertical Padding\",\r\n \"dxHtmlEditor-paddingHorizontal\": \"Horizontal Padding\",\r\n \"dxHtmlEditor-pixels\": \"Pixels\",\r\n \"dxHtmlEditor-list\": \"List\",\r\n \"dxHtmlEditor-ordered\": \"Ordered\",\r\n \"dxHtmlEditor-bullet\": \"Bullet\",\r\n \"dxHtmlEditor-align\": \"Align\",\r\n \"dxHtmlEditor-center\": \"Center\",\r\n \"dxHtmlEditor-left\": \"Left\",\r\n \"dxHtmlEditor-right\": \"Right\",\r\n \"dxHtmlEditor-indent\": \"Indent\",\r\n \"dxHtmlEditor-justify\": \"Justify\",\r\n \"dxHtmlEditor-borderStyleNone\": \"none\",\r\n \"dxHtmlEditor-borderStyleHidden\": \"hidden\",\r\n \"dxHtmlEditor-borderStyleDotted\": \"dotted\",\r\n \"dxHtmlEditor-borderStyleDashed\": \"dashed\",\r\n \"dxHtmlEditor-borderStyleSolid\": \"solid\",\r\n \"dxHtmlEditor-borderStyleDouble\": \"double\",\r\n \"dxHtmlEditor-borderStyleGroove\": \"groove\",\r\n \"dxHtmlEditor-borderStyleRidge\": \"ridge\",\r\n \"dxHtmlEditor-borderStyleInset\": \"inset\",\r\n \"dxHtmlEditor-borderStyleOutset\": \"outset\",\r\n \"dxFileManager-newDirectoryName\": \"Untitled directory\",\r\n \"dxFileManager-rootDirectoryName\": \"Files\",\r\n \"dxFileManager-errorNoAccess\": \"Access Denied. Operation could not be completed.\",\r\n \"dxFileManager-errorDirectoryExistsFormat\": \"Directory '{0}' already exists.\",\r\n \"dxFileManager-errorFileExistsFormat\": \"File '{0}' already exists.\",\r\n \"dxFileManager-errorFileNotFoundFormat\": \"File '{0}' not found.\",\r\n \"dxFileManager-errorDirectoryNotFoundFormat\": \"Directory '{0}' not found.\",\r\n \"dxFileManager-errorWrongFileExtension\": \"File extension is not allowed.\",\r\n \"dxFileManager-errorMaxFileSizeExceeded\": \"File size exceeds the maximum allowed size.\",\r\n \"dxFileManager-errorInvalidSymbols\": \"This name contains invalid characters.\",\r\n \"dxFileManager-errorDefault\": \"Unspecified error.\",\r\n \"dxFileManager-errorDirectoryOpenFailed\": \"The directory cannot be opened\",\r\n \"dxFileManager-commandCreate\": \"New directory\",\r\n \"dxFileManager-commandRename\": \"Rename\",\r\n \"dxFileManager-commandMove\": \"Move to\",\r\n \"dxFileManager-commandCopy\": \"Copy to\",\r\n \"dxFileManager-commandDelete\": \"Delete\",\r\n \"dxFileManager-commandDownload\": \"Download\",\r\n \"dxFileManager-commandUpload\": \"Upload files\",\r\n \"dxFileManager-commandRefresh\": \"Refresh\",\r\n \"dxFileManager-commandThumbnails\": \"Thumbnails View\",\r\n \"dxFileManager-commandDetails\": \"Details View\",\r\n \"dxFileManager-commandClearSelection\": \"Clear selection\",\r\n \"dxFileManager-commandShowNavPane\": \"Toggle navigation pane\",\r\n \"dxFileManager-dialogDirectoryChooserMoveTitle\": \"Move to\",\r\n \"dxFileManager-dialogDirectoryChooserMoveButtonText\": \"Move\",\r\n \"dxFileManager-dialogDirectoryChooserCopyTitle\": \"Copy to\",\r\n \"dxFileManager-dialogDirectoryChooserCopyButtonText\": \"Copy\",\r\n \"dxFileManager-dialogRenameItemTitle\": \"Rename\",\r\n \"dxFileManager-dialogRenameItemButtonText\": \"Save\",\r\n \"dxFileManager-dialogCreateDirectoryTitle\": \"New directory\",\r\n \"dxFileManager-dialogCreateDirectoryButtonText\": \"Create\",\r\n \"dxFileManager-dialogDeleteItemTitle\": \"Delete\",\r\n \"dxFileManager-dialogDeleteItemButtonText\": \"Delete\",\r\n \"dxFileManager-dialogDeleteItemSingleItemConfirmation\": \"Are you sure you want to delete {0}?\",\r\n \"dxFileManager-dialogDeleteItemMultipleItemsConfirmation\": \"Are you sure you want to delete {0} items?\",\r\n \"dxFileManager-dialogButtonCancel\": \"Cancel\",\r\n \"dxFileManager-editingCreateSingleItemProcessingMessage\": \"Creating a directory inside {0}\",\r\n \"dxFileManager-editingCreateSingleItemSuccessMessage\": \"Created a directory inside {0}\",\r\n \"dxFileManager-editingCreateSingleItemErrorMessage\": \"Directory was not created\",\r\n \"dxFileManager-editingCreateCommonErrorMessage\": \"Directory was not created\",\r\n \"dxFileManager-editingRenameSingleItemProcessingMessage\": \"Renaming an item inside {0}\",\r\n \"dxFileManager-editingRenameSingleItemSuccessMessage\": \"Renamed an item inside {0}\",\r\n \"dxFileManager-editingRenameSingleItemErrorMessage\": \"Item was not renamed\",\r\n \"dxFileManager-editingRenameCommonErrorMessage\": \"Item was not renamed\",\r\n \"dxFileManager-editingDeleteSingleItemProcessingMessage\": \"Deleting an item from {0}\",\r\n \"dxFileManager-editingDeleteMultipleItemsProcessingMessage\": \"Deleting {0} items from {1}\",\r\n \"dxFileManager-editingDeleteSingleItemSuccessMessage\": \"Deleted an item from {0}\",\r\n \"dxFileManager-editingDeleteMultipleItemsSuccessMessage\": \"Deleted {0} items from {1}\",\r\n \"dxFileManager-editingDeleteSingleItemErrorMessage\": \"Item was not deleted\",\r\n \"dxFileManager-editingDeleteMultipleItemsErrorMessage\": \"{0} items were not deleted\",\r\n \"dxFileManager-editingDeleteCommonErrorMessage\": \"Some items were not deleted\",\r\n \"dxFileManager-editingMoveSingleItemProcessingMessage\": \"Moving an item to {0}\",\r\n \"dxFileManager-editingMoveMultipleItemsProcessingMessage\": \"Moving {0} items to {1}\",\r\n \"dxFileManager-editingMoveSingleItemSuccessMessage\": \"Moved an item to {0}\",\r\n \"dxFileManager-editingMoveMultipleItemsSuccessMessage\": \"Moved {0} items to {1}\",\r\n \"dxFileManager-editingMoveSingleItemErrorMessage\": \"Item was not moved\",\r\n \"dxFileManager-editingMoveMultipleItemsErrorMessage\": \"{0} items were not moved\",\r\n \"dxFileManager-editingMoveCommonErrorMessage\": \"Some items were not moved\",\r\n \"dxFileManager-editingCopySingleItemProcessingMessage\": \"Copying an item to {0}\",\r\n \"dxFileManager-editingCopyMultipleItemsProcessingMessage\": \"Copying {0} items to {1}\",\r\n \"dxFileManager-editingCopySingleItemSuccessMessage\": \"Copied an item to {0}\",\r\n \"dxFileManager-editingCopyMultipleItemsSuccessMessage\": \"Copied {0} items to {1}\",\r\n \"dxFileManager-editingCopySingleItemErrorMessage\": \"Item was not copied\",\r\n \"dxFileManager-editingCopyMultipleItemsErrorMessage\": \"{0} items were not copied\",\r\n \"dxFileManager-editingCopyCommonErrorMessage\": \"Some items were not copied\",\r\n \"dxFileManager-editingUploadSingleItemProcessingMessage\": \"Uploading an item to {0}\",\r\n \"dxFileManager-editingUploadMultipleItemsProcessingMessage\": \"Uploading {0} items to {1}\",\r\n \"dxFileManager-editingUploadSingleItemSuccessMessage\": \"Uploaded an item to {0}\",\r\n \"dxFileManager-editingUploadMultipleItemsSuccessMessage\": \"Uploaded {0} items to {1}\",\r\n \"dxFileManager-editingUploadSingleItemErrorMessage\": \"Item was not uploaded\",\r\n \"dxFileManager-editingUploadMultipleItemsErrorMessage\": \"{0} items were not uploaded\",\r\n \"dxFileManager-editingUploadCanceledMessage\": \"Canceled\",\r\n \"dxFileManager-editingDownloadSingleItemErrorMessage\": \"Item was not downloaded\",\r\n \"dxFileManager-editingDownloadMultipleItemsErrorMessage\": \"{0} items were not downloaded\",\r\n \"dxFileManager-listDetailsColumnCaptionName\": \"Name\",\r\n \"dxFileManager-listDetailsColumnCaptionDateModified\": \"Date Modified\",\r\n \"dxFileManager-listDetailsColumnCaptionFileSize\": \"File Size\",\r\n \"dxFileManager-listThumbnailsTooltipTextSize\": \"Size\",\r\n \"dxFileManager-listThumbnailsTooltipTextDateModified\": \"Date Modified\",\r\n \"dxFileManager-notificationProgressPanelTitle\": \"Progress\",\r\n \"dxFileManager-notificationProgressPanelEmptyListText\": \"No operations\",\r\n \"dxFileManager-notificationProgressPanelOperationCanceled\": \"Canceled\",\r\n \"dxDiagram-categoryGeneral\": \"General\",\r\n \"dxDiagram-categoryFlowchart\": \"Flowchart\",\r\n \"dxDiagram-categoryOrgChart\": \"Org Chart\",\r\n \"dxDiagram-categoryContainers\": \"Containers\",\r\n \"dxDiagram-categoryCustom\": \"Custom\",\r\n \"dxDiagram-commandExportToSvg\": \"Export to SVG\",\r\n \"dxDiagram-commandExportToPng\": \"Export to PNG\",\r\n \"dxDiagram-commandExportToJpg\": \"Export to JPEG\",\r\n \"dxDiagram-commandUndo\": \"Undo\",\r\n \"dxDiagram-commandRedo\": \"Redo\",\r\n \"dxDiagram-commandFontName\": \"Font Name\",\r\n \"dxDiagram-commandFontSize\": \"Font Size\",\r\n \"dxDiagram-commandBold\": \"Bold\",\r\n \"dxDiagram-commandItalic\": \"Italic\",\r\n \"dxDiagram-commandUnderline\": \"Underline\",\r\n \"dxDiagram-commandTextColor\": \"Font Color\",\r\n \"dxDiagram-commandLineColor\": \"Line Color\",\r\n \"dxDiagram-commandLineWidth\": \"Line Width\",\r\n \"dxDiagram-commandLineStyle\": \"Line Style\",\r\n \"dxDiagram-commandLineStyleSolid\": \"Solid\",\r\n \"dxDiagram-commandLineStyleDotted\": \"Dotted\",\r\n \"dxDiagram-commandLineStyleDashed\": \"Dashed\",\r\n \"dxDiagram-commandFillColor\": \"Fill Color\",\r\n \"dxDiagram-commandAlignLeft\": \"Align Left\",\r\n \"dxDiagram-commandAlignCenter\": \"Align Center\",\r\n \"dxDiagram-commandAlignRight\": \"Align Right\",\r\n \"dxDiagram-commandConnectorLineType\": \"Connector Line Type\",\r\n \"dxDiagram-commandConnectorLineStraight\": \"Straight\",\r\n \"dxDiagram-commandConnectorLineOrthogonal\": \"Orthogonal\",\r\n \"dxDiagram-commandConnectorLineStart\": \"Connector Line Start\",\r\n \"dxDiagram-commandConnectorLineEnd\": \"Connector Line End\",\r\n \"dxDiagram-commandConnectorLineNone\": \"None\",\r\n \"dxDiagram-commandConnectorLineArrow\": \"Arrow\",\r\n \"dxDiagram-commandFullscreen\": \"Full Screen\",\r\n \"dxDiagram-commandUnits\": \"Units\",\r\n \"dxDiagram-commandPageSize\": \"Page Size\",\r\n \"dxDiagram-commandPageOrientation\": \"Page Orientation\",\r\n \"dxDiagram-commandPageOrientationLandscape\": \"Landscape\",\r\n \"dxDiagram-commandPageOrientationPortrait\": \"Portrait\",\r\n \"dxDiagram-commandPageColor\": \"Page Color\",\r\n \"dxDiagram-commandShowGrid\": \"Show Grid\",\r\n \"dxDiagram-commandSnapToGrid\": \"Snap to Grid\",\r\n \"dxDiagram-commandGridSize\": \"Grid Size\",\r\n \"dxDiagram-commandZoomLevel\": \"Zoom Level\",\r\n \"dxDiagram-commandAutoZoom\": \"Auto Zoom\",\r\n \"dxDiagram-commandFitToContent\": \"Fit to Content\",\r\n \"dxDiagram-commandFitToWidth\": \"Fit to Width\",\r\n \"dxDiagram-commandAutoZoomByContent\": \"Auto Zoom by Content\",\r\n \"dxDiagram-commandAutoZoomByWidth\": \"Auto Zoom by Width\",\r\n \"dxDiagram-commandSimpleView\": \"Simple View\",\r\n \"dxDiagram-commandCut\": \"Cut\",\r\n \"dxDiagram-commandCopy\": \"Copy\",\r\n \"dxDiagram-commandPaste\": \"Paste\",\r\n \"dxDiagram-commandSelectAll\": \"Select All\",\r\n \"dxDiagram-commandDelete\": \"Delete\",\r\n \"dxDiagram-commandBringToFront\": \"Bring to Front\",\r\n \"dxDiagram-commandSendToBack\": \"Send to Back\",\r\n \"dxDiagram-commandLock\": \"Lock\",\r\n \"dxDiagram-commandUnlock\": \"Unlock\",\r\n \"dxDiagram-commandInsertShapeImage\": \"Insert Image...\",\r\n \"dxDiagram-commandEditShapeImage\": \"Change Image...\",\r\n \"dxDiagram-commandDeleteShapeImage\": \"Delete Image\",\r\n \"dxDiagram-commandLayoutLeftToRight\": \"Left-to-right\",\r\n \"dxDiagram-commandLayoutRightToLeft\": \"Right-to-left\",\r\n \"dxDiagram-commandLayoutTopToBottom\": \"Top-to-bottom\",\r\n \"dxDiagram-commandLayoutBottomToTop\": \"Bottom-to-top\",\r\n \"dxDiagram-unitIn\": \"in\",\r\n \"dxDiagram-unitCm\": \"cm\",\r\n \"dxDiagram-unitPx\": \"px\",\r\n \"dxDiagram-dialogButtonOK\": \"OK\",\r\n \"dxDiagram-dialogButtonCancel\": \"Cancel\",\r\n \"dxDiagram-dialogInsertShapeImageTitle\": \"Insert Image\",\r\n \"dxDiagram-dialogEditShapeImageTitle\": \"Change Image\",\r\n \"dxDiagram-dialogEditShapeImageSelectButton\": \"Select image\",\r\n \"dxDiagram-dialogEditShapeImageLabelText\": \"or drop a file here\",\r\n \"dxDiagram-uiExport\": \"Export\",\r\n \"dxDiagram-uiProperties\": \"Properties\",\r\n \"dxDiagram-uiSettings\": \"Settings\",\r\n \"dxDiagram-uiShowToolbox\": \"Show Toolbox\",\r\n \"dxDiagram-uiSearch\": \"Search\",\r\n \"dxDiagram-uiStyle\": \"Style\",\r\n \"dxDiagram-uiLayout\": \"Layout\",\r\n \"dxDiagram-uiLayoutTree\": \"Tree\",\r\n \"dxDiagram-uiLayoutLayered\": \"Layered\",\r\n \"dxDiagram-uiDiagram\": \"Diagram\",\r\n \"dxDiagram-uiText\": \"Text\",\r\n \"dxDiagram-uiObject\": \"Object\",\r\n \"dxDiagram-uiConnector\": \"Connector\",\r\n \"dxDiagram-uiPage\": \"Page\",\r\n \"dxDiagram-shapeText\": \"Text\",\r\n \"dxDiagram-shapeRectangle\": \"Rectangle\",\r\n \"dxDiagram-shapeEllipse\": \"Ellipse\",\r\n \"dxDiagram-shapeCross\": \"Cross\",\r\n \"dxDiagram-shapeTriangle\": \"Triangle\",\r\n \"dxDiagram-shapeDiamond\": \"Diamond\",\r\n \"dxDiagram-shapeHeart\": \"Heart\",\r\n \"dxDiagram-shapePentagon\": \"Pentagon\",\r\n \"dxDiagram-shapeHexagon\": \"Hexagon\",\r\n \"dxDiagram-shapeOctagon\": \"Octagon\",\r\n \"dxDiagram-shapeStar\": \"Star\",\r\n \"dxDiagram-shapeArrowLeft\": \"Left Arrow\",\r\n \"dxDiagram-shapeArrowUp\": \"Up Arrow\",\r\n \"dxDiagram-shapeArrowRight\": \"Right Arrow\",\r\n \"dxDiagram-shapeArrowDown\": \"Down Arrow\",\r\n \"dxDiagram-shapeArrowUpDown\": \"Up Down Arrow\",\r\n \"dxDiagram-shapeArrowLeftRight\": \"Left Right Arrow\",\r\n \"dxDiagram-shapeProcess\": \"Process\",\r\n \"dxDiagram-shapeDecision\": \"Decision\",\r\n \"dxDiagram-shapeTerminator\": \"Terminator\",\r\n \"dxDiagram-shapePredefinedProcess\": \"Predefined Process\",\r\n \"dxDiagram-shapeDocument\": \"Document\",\r\n \"dxDiagram-shapeMultipleDocuments\": \"Multiple Documents\",\r\n \"dxDiagram-shapeManualInput\": \"Manual Input\",\r\n \"dxDiagram-shapePreparation\": \"Preparation\",\r\n \"dxDiagram-shapeData\": \"Data\",\r\n \"dxDiagram-shapeDatabase\": \"Database\",\r\n \"dxDiagram-shapeHardDisk\": \"Hard Disk\",\r\n \"dxDiagram-shapeInternalStorage\": \"Internal Storage\",\r\n \"dxDiagram-shapePaperTape\": \"Paper Tape\",\r\n \"dxDiagram-shapeManualOperation\": \"Manual Operation\",\r\n \"dxDiagram-shapeDelay\": \"Delay\",\r\n \"dxDiagram-shapeStoredData\": \"Stored Data\",\r\n \"dxDiagram-shapeDisplay\": \"Display\",\r\n \"dxDiagram-shapeMerge\": \"Merge\",\r\n \"dxDiagram-shapeConnector\": \"Connector\",\r\n \"dxDiagram-shapeOr\": \"Or\",\r\n \"dxDiagram-shapeSummingJunction\": \"Summing Junction\",\r\n \"dxDiagram-shapeContainerDefaultText\": \"Container\",\r\n \"dxDiagram-shapeVerticalContainer\": \"Vertical Container\",\r\n \"dxDiagram-shapeHorizontalContainer\": \"Horizontal Container\",\r\n \"dxDiagram-shapeCardDefaultText\": \"Person's Name\",\r\n \"dxDiagram-shapeCardWithImageOnLeft\": \"Card with Image on the Left\",\r\n \"dxDiagram-shapeCardWithImageOnTop\": \"Card with Image on the Top\",\r\n \"dxDiagram-shapeCardWithImageOnRight\": \"Card with Image on the Right\",\r\n \"dxGantt-dialogTitle\": \"Title\",\r\n \"dxGantt-dialogStartTitle\": \"Start\",\r\n \"dxGantt-dialogEndTitle\": \"End\",\r\n \"dxGantt-dialogProgressTitle\": \"Progress\",\r\n \"dxGantt-dialogResourcesTitle\": \"Resources\",\r\n \"dxGantt-dialogResourceManagerTitle\": \"Resource Manager\",\r\n \"dxGantt-dialogTaskDetailsTitle\": \"Task Details\",\r\n \"dxGantt-dialogEditResourceListHint\": \"Edit Resource List\",\r\n \"dxGantt-dialogEditNoResources\": \"No resources\",\r\n \"dxGantt-dialogButtonAdd\": \"Add\",\r\n \"dxGantt-contextMenuNewTask\": \"New Task\",\r\n \"dxGantt-contextMenuNewSubtask\": \"New Subtask\",\r\n \"dxGantt-contextMenuDeleteTask\": \"Delete Task\",\r\n \"dxGantt-contextMenuDeleteDependency\": \"Delete Dependency\",\r\n \"dxGantt-dialogTaskDeleteConfirmation\": \"Deleting a task also deletes all its dependencies and subtasks. Are you sure you want to delete this task?\",\r\n \"dxGantt-dialogDependencyDeleteConfirmation\": \"Are you sure you want to delete the dependency from the task?\",\r\n \"dxGantt-dialogResourcesDeleteConfirmation\": \"Deleting a resource also deletes it from tasks to which this resource is assigned. Are you sure you want to delete these resources? Resources: {0}\",\r\n \"dxGantt-dialogConstraintCriticalViolationMessage\": \"The task you are attempting to move is linked to a second task by a dependency relation. This change would conflict with dependency rules. How would you like to proceed?\",\r\n \"dxGantt-dialogConstraintViolationMessage\": \"The task you are attempting to move is linked to a second task by a dependency relation. How would you like to proceed?\",\r\n \"dxGantt-dialogCancelOperationMessage\": \"Cancel the operation\",\r\n \"dxGantt-dialogDeleteDependencyMessage\": \"Delete the dependency\",\r\n \"dxGantt-dialogMoveTaskAndKeepDependencyMessage\": \"Move the task and keep the dependency\",\r\n \"dxGantt-dialogConstraintCriticalViolationSeveralTasksMessage\": \"The task you are attempting to move is linked to another tasks by dependency relations. This change would conflict with dependency rules. How would you like to proceed?\",\r\n \"dxGantt-dialogConstraintViolationSeveralTasksMessage\": \"The task you are attempting to move is linked to another tasks by dependency relations. How would you like to proceed?\",\r\n \"dxGantt-dialogDeleteDependenciesMessage\": \"Delete the dependency relations\",\r\n \"dxGantt-dialogMoveTaskAndKeepDependenciesMessage\": \"Move the task and keep the dependencies\",\r\n \"dxGantt-undo\": \"Undo\",\r\n \"dxGantt-redo\": \"Redo\",\r\n \"dxGantt-expandAll\": \"Expand All\",\r\n \"dxGantt-collapseAll\": \"Collapse All\",\r\n \"dxGantt-addNewTask\": \"Add New Task\",\r\n \"dxGantt-deleteSelectedTask\": \"Delete Selected Task\",\r\n \"dxGantt-zoomIn\": \"Zoom In\",\r\n \"dxGantt-zoomOut\": \"Zoom Out\",\r\n \"dxGantt-fullScreen\": \"Full Screen\",\r\n \"dxGantt-quarter\": \"Q{0}\",\r\n \"dxGantt-sortingAscendingText\": \"Sort Ascending\",\r\n \"dxGantt-sortingDescendingText\": \"Sort Descending\",\r\n \"dxGantt-sortingClearText\": \"Clear Sorting\",\r\n \"dxGantt-showResources\": \"Show Resources\",\r\n \"dxGantt-showDependencies\": \"Show Dependencies\",\r\n \"dxGantt-dialogStartDateValidation\": \"Start date must be after {0}\",\r\n \"dxGantt-dialogEndDateValidation\": \"End date must be after {0}\"\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/message.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n format as stringFormat\r\n} from \"../core/utils/string\";\r\nimport {\r\n humanize\r\n} from \"../core/utils/inflector\";\r\nimport coreLocalization from \"./core\";\r\nimport {\r\n defaultMessages\r\n} from \"./default_messages\";\r\nvar baseDictionary = extend(true, {}, defaultMessages);\r\nvar getDataByLocale = (localeData, locale) => {\r\n var _Object$entries$find;\r\n return localeData[locale] || (null === locale || void 0 === locale ? void 0 : locale.toLowerCase) && (null === (_Object$entries$find = Object.entries(localeData).find(_ref => {\r\n var [key] = _ref;\r\n return key.toLowerCase() === locale.toLowerCase()\r\n })) || void 0 === _Object$entries$find ? void 0 : _Object$entries$find[1]) || {}\r\n};\r\nvar newMessages = {};\r\nvar messageLocalization = dependencyInjector({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n _dictionary: baseDictionary,\r\n load: function(messages) {\r\n extend(true, this._dictionary, messages)\r\n },\r\n _localizablePrefix: \"@\",\r\n setup: function(localizablePrefix) {\r\n this._localizablePrefix = localizablePrefix\r\n },\r\n localizeString: function(text) {\r\n var that = this;\r\n var regex = new RegExp(\"(^|[^a-zA-Z_0-9\" + that._localizablePrefix + \"-]+)(\" + that._localizablePrefix + \"{1,2})([a-zA-Z_0-9-]+)\", \"g\");\r\n var escapeString = that._localizablePrefix + that._localizablePrefix;\r\n return text.replace(regex, (str, prefix, escape, localizationKey) => {\r\n var defaultResult = that._localizablePrefix + localizationKey;\r\n var result;\r\n if (escape !== escapeString) {\r\n result = that.format(localizationKey)\r\n }\r\n if (!result) {\r\n newMessages[localizationKey] = humanize(localizationKey)\r\n }\r\n return prefix + (result || defaultResult)\r\n })\r\n },\r\n getMessagesByLocales: function() {\r\n return this._dictionary\r\n },\r\n getDictionary: function(onlyNew) {\r\n if (onlyNew) {\r\n return newMessages\r\n }\r\n return extend({}, newMessages, this.getMessagesByLocales()[coreLocalization.locale()])\r\n },\r\n getFormatter: function(key) {\r\n return this._getFormatterBase(key) || this._getFormatterBase(key, \"en\")\r\n },\r\n _getFormatterBase: function(key, locale) {\r\n var message = coreLocalization.getValueByClosestLocale(locale => getDataByLocale(this._dictionary, locale)[key]);\r\n if (message) {\r\n return function() {\r\n var args = 1 === arguments.length && Array.isArray(arguments[0]) ? arguments[0].slice(0) : Array.prototype.slice.call(arguments, 0);\r\n args.unshift(message);\r\n return stringFormat.apply(this, args)\r\n }\r\n }\r\n },\r\n format: function(key) {\r\n var formatter = this.getFormatter(key);\r\n var values = Array.prototype.slice.call(arguments, 1);\r\n return formatter && formatter.apply(this, values) || \"\"\r\n }\r\n});\r\nexport default messageLocalization;\r\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ResizeVNodeDirective extends VNodeDirective {\n value?: () => void\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n const callback = binding.value!\n const options = binding.options || { passive: true }\n\n window.addEventListener('resize', callback, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![vnode.context!._uid] = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n if (!el._onResize?.[vnode.context!._uid]) return\n\n const { callback, options } = el._onResize[vnode.context!._uid]!\n\n window.removeEventListener('resize', callback, options)\n\n delete el._onResize[vnode.context!._uid]\n}\n\nexport const Resize = {\n inserted,\n unbind,\n}\n\nexport default Resize\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n },\n monthsParse = [\n /^जन/i,\n /^फ़र|फर/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सितं|सित/i,\n /^अक्टू/i,\n /^नव|नवं/i,\n /^दिसं|दिस/i,\n ],\n shortMonthsParse = [\n /^जन/i,\n /^फ़र/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सित/i,\n /^अक्टू/i,\n /^नव/i,\n /^दिस/i,\n ];\n\n var hi = moment.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n '_'\n ),\n standalone:\n 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n '_'\n ),\n },\n monthsShort:\n 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm बजे',\n LTS: 'A h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n },\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: shortMonthsParse,\n\n monthsRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsShortRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsStrictRegex:\n /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n monthsShortStrictRegex:\n /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s में',\n past: '%s पहले',\n s: 'कुछ ही क्षण',\n ss: '%d सेकंड',\n m: 'एक मिनट',\n mm: '%d मिनट',\n h: 'एक घंटा',\n hh: '%d घंटे',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महीने',\n MM: '%d महीने',\n y: 'एक वर्ष',\n yy: '%d वर्ष',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return hi;\n\n})));\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/** Used to detect if a method is native */\nvar reNative = RegExp('^' +\n String(toString)\n .replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n .replace(/toString| for [^\\]]+/g, '.*?') + '$'\n);\n\nmodule.exports = reNative;\n","module.exports=function(t){function e(i){if(n[i])return n[i].exports;var s=n[i]={i:i,l:!1,exports:{}};return t[i].call(s.exports,s,s.exports,e),s.l=!0,s.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=5)}([function(t,e){function n(t,e){var n=t[1]||\"\",s=t[3];if(!s)return n;if(e&&\"function\"==typeof btoa){var r=i(s);return[n].concat(s.sources.map(function(t){return\"/*# sourceURL=\"+s.sourceRoot+t+\" */\"})).concat([r]).join(\"\\n\")}return[n].join(\"\\n\")}function i(t){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+\" */\"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var i=n(e,t);return e[2]?\"@media \"+e[2]+\"{\"+i+\"}\":i}).join(\"\")},e.i=function(t,n){\"string\"==typeof t&&(t=[[null,t,\"\"]]);for(var i={},s=0;s<this.length;s++){var r=this[s][0];\"number\"==typeof r&&(i[r]=!0)}for(s=0;s<t.length;s++){var o=t[s];\"number\"==typeof o[0]&&i[o[0]]||(n&&!o[2]?o[2]=n:n&&(o[2]=\"(\"+o[2]+\") and (\"+n+\")\"),e.push(o))}},e}},function(t,e){t.exports=function(t,e,n,i,s){var r,o=t=t||{},a=typeof t.default;\"object\"!==a&&\"function\"!==a||(r=t,o=t.default);var u=\"function\"==typeof o?o.options:o;e&&(u.render=e.render,u.staticRenderFns=e.staticRenderFns),i&&(u._scopeId=i);var c;if(s?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),n&&n.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s)},u._ssrRegister=c):n&&(c=n),c){var d=u.functional,l=d?u.render:u.beforeCreate;d?u.render=function(t,e){return c.call(e),l(t,e)}:u.beforeCreate=l?[].concat(l,c):[c]}return{esModule:r,exports:o,options:u}}},function(t,e,n){function i(t){for(var e=0;e<t.length;e++){var n=t[e],i=d[n.id];if(i){i.refs++;for(var s=0;s<i.parts.length;s++)i.parts[s](n.parts[s]);for(;s<n.parts.length;s++)i.parts.push(r(n.parts[s]));i.parts.length>n.parts.length&&(i.parts.length=n.parts.length)}else{for(var o=[],s=0;s<n.parts.length;s++)o.push(r(n.parts[s]));d[n.id]={id:n.id,refs:1,parts:o}}}}function s(){var t=document.createElement(\"style\");return t.type=\"text/css\",l.appendChild(t),t}function r(t){var e,n,i=document.querySelector('style[data-vue-ssr-id~=\"'+t.id+'\"]');if(i){if(h)return v;i.parentNode.removeChild(i)}if(A){var r=f++;i=p||(p=s()),e=o.bind(null,i,r,!1),n=o.bind(null,i,r,!0)}else i=s(),e=a.bind(null,i),n=function(){i.parentNode.removeChild(i)};return e(t),function(i){if(i){if(i.css===t.css&&i.media===t.media&&i.sourceMap===t.sourceMap)return;e(t=i)}else n()}}function o(t,e,n,i){var s=n?\"\":i.css;if(t.styleSheet)t.styleSheet.cssText=m(e,s);else{var r=document.createTextNode(s),o=t.childNodes;o[e]&&t.removeChild(o[e]),o.length?t.insertBefore(r,o[e]):t.appendChild(r)}}function a(t,e){var n=e.css,i=e.media,s=e.sourceMap;if(i&&t.setAttribute(\"media\",i),s&&(n+=\"\\n/*# sourceURL=\"+s.sources[0]+\" */\",n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(s))))+\" */\"),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}var u=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!u)throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");var c=n(16),d={},l=u&&(document.head||document.getElementsByTagName(\"head\")[0]),p=null,f=0,h=!1,v=function(){},A=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());t.exports=function(t,e,n){h=n;var s=c(t,e);return i(s),function(e){for(var n=[],r=0;r<s.length;r++){var o=s[r],a=d[o.id];a.refs--,n.push(a)}e?(s=c(t,e),i(s)):s=[];for(var r=0;r<n.length;r++){var a=n[r];if(0===a.refs){for(var u=0;u<a.parts.length;u++)a.parts[u]();delete d[a.id]}}}};var m=function(){var t=[];return function(e,n){return t[e]=n,t.filter(Boolean).join(\"\\n\")}}()},function(t,e,n){!function(e,n){t.exports=n()}(0,function(){return function(t){function e(i){if(n[i])return n[i].exports;var s=n[i]={exports:{},id:i,loaded:!1};return t[i].call(s.exports,s,s.exports,e),s.loaded=!0,s.exports}var n={};return e.m=t,e.c=n,e.p=\"\",e(0)}([function(t,e){\"use strict\";function n(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}var i=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},s=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t,e,n){e.forEach(function(e){t.addEventListener(e,function(t){n(t)})})},o=function(t,e){e.forEach(function(e){t.removeEventListener(e)})},a=function(){function t(e){n(this,t),this.defaults={idle:1e4,events:[\"mousemove\",\"keydown\",\"mousedown\",\"touchstart\"],onIdle:function(){},onActive:function(){},onHide:function(){},onShow:function(){},keepTracking:!0,startAtIdle:!1,recurIdleCall:!1},this.settings=i({},this.defaults,e),this.idle=this.settings.startAtIdle,this.visible=!this.settings.startAtIdle,this.visibilityEvents=[\"visibilitychange\",\"webkitvisibilitychange\",\"mozvisibilitychange\",\"msvisibilitychange\"],this.lastId=null}return s(t,[{key:\"resetTimeout\",value:function(t,e){if(this.idle&&(e.onActive.call(),this.idle=!1),clearTimeout(t),this.settings.keepTracking)return this.timeout(this.settings)}},{key:\"timeout\",value:function(t){var e=this.settings.recurIdleCall?setInterval:setTimeout;return e(function(){this.idle=!0,this.settings.onIdle.call()}.bind(this),this.settings.idle)}},{key:\"start\",value:function(){window.addEventListener(\"idle:stop\",function(t){o(window,this.settings.events),this.settings.keepTracking=!1,this.resetTimeout(this.lastId,this.settings)}),this.lastId=this.timeout(this.settings),r(window,this.settings.events,function(t){this.lastId=this.resetTimeout(this.lastId,this.settings)}.bind(this)),(this.settings.onShow||this.settings.onHide)&&r(document,this.visibilityEvents,function(t){document.hidden||document.webkitHidden||document.mozHidden||document.msHidden?this.visible&&(this.visible=!1,this.settings.onHide.call()):this.visible||(this.visible=!0,this.settings.onShow.call())}.bind(this))}}]),t}();t.exports=a}])})},function(t,e,n){function i(t){n(15)}var s=n(1)(n(6),n(13),i,null,null);t.exports=s.exports},function(t,e,n){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}function s(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(3),o=i(r),a=n(4),u=i(a);e.default={IdleView:u.default,install:function(t,e){var n=e||{},i=n.eventEmitter,r=n.store,a=n.moduleName,c=void 0===a?\"idleVue\":a,d=n.idleTime,l=void 0===d?6e4:d,p=n.events,f=void 0===p?[\"mousemove\",\"keydown\",\"mousedown\",\"touchstart\"]:p,h=n.keepTracking,v=void 0===h||h,A=n.startAtIdle,m=void 0===A||A;if(!i&&!r)throw Error(\"Either `eventEmitter` or `store` must be passed in options\");r&&r.registerModule(c,{state:{isIdle:m},mutations:s({},c+\"/IDLE_CHANGED\",function(t,e){t.isIdle=e})});var b=c+\"_onIdle\",g=c+\"_onActive\";new o.default({idle:l,events:f,keepTracking:v,startAtIdle:m,onIdle:function(){i&&i.$emit(b),r&&r.commit(c+\"/IDLE_CHANGED\",!0)},onActive:function(){i&&i.$emit(g),r&&r.commit(c+\"/IDLE_CHANGED\",!1)}}).start(),t.component(\"IdleView\",u.default),t.mixin({data:function(){var t;return t={},s(t,b,null),s(t,g,null),t},created:function(){i&&this.$options.onIdle&&(this[b]=this.$options.onIdle.bind(this),i.$on(b,this[b])),i&&this.$options.onActive&&(this[g]=this.$options.onActive.bind(this),i.$on(g,this[g]))},destroyed:function(){i&&this[b]&&i.$off(b,this[b]),i&&this[g]&&i.$off(g,this[g])},computed:{isAppIdle:function(){return r&&r.state[c].isIdle}}})}}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(11),s=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default={components:{Sprite:s.default},onIdle:function(){this.$refs.sprite.play()},onActive:function(){this.$refs.sprite.stop()}}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={name:\"sprite\",props:{spriteSrc:{type:String,default:\"\"},spriteId:{type:String,default:\"sprite\"},spriteW:{type:Number,default:1},spriteH:{type:Number,default:1},spriteSpeed:{type:Number,default:1}},data:function(){return{visible:!0,frameIndex:0,tickCount:0,frameLength:0,ticksPerFrame:0,numberOfFrames:0,frameRate:20,ctx:\"\",canvas:\"\",mySprite:\"\",animationFrameId:-1}},mounted:function(){var t=this;this.$nextTick(function(){t.mySprite=new Image,t.mySprite.onload=function(e){t.spriteInit(e.target)},t.mySprite.src=t.spriteSrc})},methods:{spriteInit:function(t){this.canvas=this.$el.querySelector(\"#\"+this.spriteId),this.ctx=this.canvas.getContext(\"2d\"),this.ticksPerFrame=this.spriteSpeed,this.frameLength=t.width,this.numberOfFrames=t.width/this.spriteW,this.spriteLoop()},spriteUpdate:function(){++this.tickCount>this.ticksPerFrame&&(this.tickCount=0,this.frameIndex<this.numberOfFrames-1?this.frameIndex++:this.frameIndex=0)},spriteRender:function(){this.ctx.clearRect(0,0,this.spriteW,this.spriteH);var t=this.frameIndex*this.spriteW;this.ctx.drawImage(this.mySprite,t,0,this.spriteW,this.spriteH,0,0,this.spriteW,this.spriteH)},spriteLoop:function(){this.animationFrameId=window.requestAnimationFrame(this.spriteLoop),this.spriteUpdate(),this.spriteRender()},stop:function(){window.cancelAnimationFrame(this.animationFrameId)},play:function(){this.spriteLoop()}}}},function(t,e,n){e=t.exports=n(0)(!0),e.push([t.i,\"\",\"\",{version:3,sources:[],names:[],mappings:\"\",file:\"Sprite.vue\",sourceRoot:\"\"}])},function(t,e,n){e=t.exports=n(0)(!0),e.push([t.i,\".idle-view{position:fixed;top:0;width:100vw;height:100vh;z-index:8888;pointer-events:none;display:none}.idle-view.isIdle{pointer-events:all;display:block}.idle-view .sprite{position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);height:10px;width:180px;z-index:9999;-webkit-transform:scale(.7)}.idle-view .overlay{width:100%;height:100%;position:absolute;z-index:8888;background:#000;opacity:0;-webkit-transition:opacity .8s cubic-bezier(.77,0,.175,1)}.idle-view.isIdle .overlay{opacity:.6}@-webkit-keyframes SlowMo{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}\",\"\",{version:3,sources:[\"/home/afonso/Dev/idle-vue/src/components/Idle.vue\"],names:[],mappings:\"AACA,WACE,eAAgB,AAChB,MAAO,AACP,YAAa,AACb,aAAc,AACd,aAAc,AAEd,oBAAqB,AACrB,YAAc,CACf,AACD,kBACE,mBAAoB,AACpB,aAAe,CAChB,AACD,mBACE,kBAAmB,AACnB,QAAS,AACT,SAAU,AACV,4CAA6C,AAE7C,YAAa,AACb,YAAa,AACb,aAAc,AACd,2BAA8B,CAC/B,AACD,oBACE,WAAY,AACZ,YAAa,AACb,kBAAmB,AACnB,aAAc,AAEd,gBAAiB,AACjB,UAAW,AAEX,yDAAkE,CACnE,AACD,2BACE,UAAa,CACd,AACD,0BACA,GAAG,yBAA0B,CAC5B,AACD,IAAI,4BAA4B,CAC/B,AACD,GAAK,yBAA0B,CAC9B,CACA\",file:\"Idle.vue\",sourcesContent:[\"\\n.idle-view {\\n position: fixed;\\n top: 0;\\n width: 100vw;\\n height: 100vh;\\n z-index: 8888;\\n\\n pointer-events: none;\\n display: none;\\n}\\n.idle-view.isIdle {\\n pointer-events: all;\\n display: block;\\n}\\n.idle-view .sprite {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translateX(-50%) translateY(-50%);\\n\\n height: 10px;\\n width: 180px;\\n z-index: 9999;\\n -webkit-transform: scale(0.7);\\n}\\n.idle-view .overlay {\\n width: 100%;\\n height: 100%;\\n position: absolute;\\n z-index: 8888;\\n\\n background: #000;\\n opacity: 0;\\n /*-webkit-animation: SlowMo 5s cubic-bezier(0.77, 0, 0.175, 1) infinite;*/\\n -webkit-transition: opacity 800ms cubic-bezier(0.77, 0, 0.175, 1);\\n}\\n.idle-view.isIdle .overlay {\\n opacity: 0.6;\\n}\\n@-webkit-keyframes SlowMo {\\n0%{background-position:0% 50%\\n}\\n50%{background-position:100% 50%\\n}\\n100%{background-position:0% 50%\\n}\\n}\\n\"],sourceRoot:\"\"}])},function(t,e,n){t.exports=n.p+\"static/img/touch.ba3be66.png\"},function(t,e,n){function i(t){n(14)}var s=n(1)(n(7),n(12),i,null,null);t.exports=s.exports},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"sprite\"},[n(\"canvas\",{attrs:{id:t.spriteId,width:t.spriteW,height:t.spriteH}})])},staticRenderFns:[]}},function(t,e,n){t.exports={render:function(){var t=this,e=t.$createElement,i=t._self._c||e;return i(\"div\",{staticClass:\"idle-view\",class:{isIdle:t.isIdle}},[i(\"div\",{staticClass:\"overlay\"}),t._v(\" \"),i(\"sprite\",{ref:\"sprite\",attrs:{spriteId:\"touch\",spriteSrc:n(10),spriteW:180,spriteH:215}})],1)},staticRenderFns:[]}},function(t,e,n){var i=n(8);\"string\"==typeof i&&(i=[[t.i,i,\"\"]]),i.locals&&(t.exports=i.locals);n(2)(\"b6696284\",i,!0)},function(t,e,n){var i=n(9);\"string\"==typeof i&&(i=[[t.i,i,\"\"]]),i.locals&&(t.exports=i.locals);n(2)(\"25b5ba8a\",i,!0)},function(t,e){t.exports=function(t,e){for(var n=[],i={},s=0;s<e.length;s++){var r=e[s],o=r[0],a=r[1],u=r[2],c=r[3],d={id:t+\":\"+s,css:a,media:u,sourceMap:c};i[o]?i[o].parts.push(d):n.push(i[o]={id:o,parts:[d]})}return n}}]);\n//# sourceMappingURL=build.js.map","/**\r\n * DevExtreme (esm/core/guid.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"./class\";\r\nvar Guid = Class.inherit({\r\n ctor: function(value) {\r\n if (value) {\r\n value = String(value)\r\n }\r\n this._value = this._normalize(value || this._generate())\r\n },\r\n _normalize: function(value) {\r\n value = value.replace(/[^a-f0-9]/gi, \"\").toLowerCase();\r\n while (value.length < 32) {\r\n value += \"0\"\r\n }\r\n return [value.substr(0, 8), value.substr(8, 4), value.substr(12, 4), value.substr(16, 4), value.substr(20, 12)].join(\"-\")\r\n },\r\n _generate: function() {\r\n var value = \"\";\r\n for (var i = 0; i < 32; i++) {\r\n value += Math.round(15 * Math.random()).toString(16)\r\n }\r\n return value\r\n },\r\n toString: function() {\r\n return this._value\r\n },\r\n valueOf: function() {\r\n return this._value\r\n },\r\n toJSON: function() {\r\n return this._value\r\n }\r\n});\r\nexport default Guid;\r\n","/**\n * Returns:\n * - 'null' if the node is not attached to the DOM\n * - the root node (HTMLDocument | ShadowRoot) otherwise\n */\nexport function attachedRoot (node: Node): null | HTMLDocument | ShadowRoot {\n /* istanbul ignore next */\n if (typeof node.getRootNode !== 'function') {\n // Shadow DOM not supported (IE11), lets find the root of this node\n while (node.parentNode) node = node.parentNode\n\n // The root parent is the document if the node is attached to the DOM\n if (node !== document) return null\n\n return document\n }\n\n const root = node.getRootNode()\n\n // The composed root node is the document if the node is attached to the DOM\n if (root !== document && root.getRootNode({ composed: true }) !== document) return null\n\n return root as HTMLDocument | ShadowRoot\n}\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.simulated.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n titleize\r\n} from \"../../core/utils/inflector\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport {\r\n resetPosition,\r\n move,\r\n locate\r\n} from \"../../animation/translator\";\r\nimport Class from \"../../core/class\";\r\nimport Animator from \"./animator\";\r\nimport {\r\n isDxMouseWheelEvent,\r\n addNamespace as addEventNamespace,\r\n normalizeKeyName,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport {\r\n deferUpdate,\r\n deferUpdater,\r\n deferRender,\r\n deferRenderer,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Scrollbar from \"./ui.scrollbar\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar SCROLLABLE_SIMULATED = \"dxSimulatedScrollable\";\r\nvar SCROLLABLE_STRATEGY = \"dxScrollableStrategy\";\r\nvar SCROLLABLE_SIMULATED_CURSOR = SCROLLABLE_SIMULATED + \"Cursor\";\r\nvar SCROLLABLE_SIMULATED_KEYBOARD = SCROLLABLE_SIMULATED + \"Keyboard\";\r\nvar SCROLLABLE_SIMULATED_CLASS = \"dx-scrollable-simulated\";\r\nvar SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE = \"dx-scrollable-scrollbars-alwaysvisible\";\r\nvar SCROLLABLE_SCROLLBAR_CLASS = \"dx-scrollable-scrollbar\";\r\nvar VERTICAL = \"vertical\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar ACCELERATION = .92;\r\nvar OUT_BOUNDS_ACCELERATION = .5;\r\nvar MIN_VELOCITY_LIMIT = 1;\r\nvar FRAME_DURATION = Math.round(1e3 / 60);\r\nvar SCROLL_LINE_HEIGHT = 40;\r\nvar VALIDATE_WHEEL_TIMEOUT = 500;\r\nvar BOUNCE_MIN_VELOCITY_LIMIT = MIN_VELOCITY_LIMIT / 5;\r\nvar BOUNCE_DURATION = 400;\r\nvar BOUNCE_FRAMES = BOUNCE_DURATION / FRAME_DURATION;\r\nvar BOUNCE_ACCELERATION_SUM = (1 - Math.pow(ACCELERATION, BOUNCE_FRAMES)) / (1 - ACCELERATION);\r\nvar KEY_CODES = {\r\n PAGE_UP: \"pageUp\",\r\n PAGE_DOWN: \"pageDown\",\r\n END: \"end\",\r\n HOME: \"home\",\r\n LEFT: \"leftArrow\",\r\n UP: \"upArrow\",\r\n RIGHT: \"rightArrow\",\r\n DOWN: \"downArrow\",\r\n TAB: \"tab\"\r\n};\r\nvar InertiaAnimator = Animator.inherit({\r\n ctor: function(scroller) {\r\n this.callBase();\r\n this.scroller = scroller\r\n },\r\n VELOCITY_LIMIT: MIN_VELOCITY_LIMIT,\r\n _isFinished: function() {\r\n return Math.abs(this.scroller._velocity) <= this.VELOCITY_LIMIT\r\n },\r\n _step: function() {\r\n this.scroller._scrollStep(this.scroller._velocity);\r\n this.scroller._velocity *= this._acceleration()\r\n },\r\n _acceleration: function() {\r\n return this.scroller._inBounds() ? ACCELERATION : OUT_BOUNDS_ACCELERATION\r\n },\r\n _complete: function() {\r\n this.scroller._scrollComplete()\r\n }\r\n});\r\nvar BounceAnimator = InertiaAnimator.inherit({\r\n VELOCITY_LIMIT: BOUNCE_MIN_VELOCITY_LIMIT,\r\n _isFinished: function() {\r\n return this.scroller._crossBoundOnNextStep() || this.callBase()\r\n },\r\n _acceleration: function() {\r\n return ACCELERATION\r\n },\r\n _complete: function() {\r\n this.scroller._move(this.scroller._bounceLocation);\r\n this.callBase()\r\n }\r\n});\r\nexport var Scroller = Class.inherit({\r\n ctor: function(options) {\r\n this._initOptions(options);\r\n this._initAnimators();\r\n this._initScrollbar()\r\n },\r\n _initOptions: function(options) {\r\n this._location = 0;\r\n this._topReached = false;\r\n this._bottomReached = false;\r\n this._axis = options.direction === HORIZONTAL ? \"x\" : \"y\";\r\n this._prop = options.direction === HORIZONTAL ? \"left\" : \"top\";\r\n this._dimension = options.direction === HORIZONTAL ? \"width\" : \"height\";\r\n this._scrollProp = options.direction === HORIZONTAL ? \"scrollLeft\" : \"scrollTop\";\r\n each(options, (optionName, optionValue) => {\r\n this[\"_\" + optionName] = optionValue\r\n })\r\n },\r\n _initAnimators: function() {\r\n this._inertiaAnimator = new InertiaAnimator(this);\r\n this._bounceAnimator = new BounceAnimator(this)\r\n },\r\n _initScrollbar: function() {\r\n this._scrollbar = new Scrollbar($(\"<div>\").appendTo(this._$container), {\r\n direction: this._direction,\r\n visible: this._scrollByThumb,\r\n visibilityMode: this._visibilityModeNormalize(this._scrollbarVisible),\r\n expandable: this._scrollByThumb\r\n });\r\n this._$scrollbar = this._scrollbar.$element()\r\n },\r\n _visibilityModeNormalize: function(mode) {\r\n return true === mode ? \"onScroll\" : false === mode ? \"never\" : mode\r\n },\r\n _scrollStep: function(delta) {\r\n var prevLocation = this._location;\r\n this._location += delta;\r\n this._suppressBounce();\r\n this._move();\r\n if (Math.abs(prevLocation - this._location) < 1) {\r\n return\r\n }\r\n eventsEngine.triggerHandler(this._$container, {\r\n type: \"scroll\"\r\n })\r\n },\r\n _suppressBounce: function() {\r\n if (this._bounceEnabled || this._inBounds(this._location)) {\r\n return\r\n }\r\n this._velocity = 0;\r\n this._location = this._boundLocation()\r\n },\r\n _boundLocation: function(location) {\r\n location = void 0 !== location ? location : this._location;\r\n return Math.max(Math.min(location, this._maxOffset), this._minOffset)\r\n },\r\n _move: function(location) {\r\n this._location = void 0 !== location ? location * this._getScaleRatio() : this._location;\r\n this._moveContent();\r\n this._moveScrollbar()\r\n },\r\n _moveContent: function() {\r\n var location = this._location;\r\n this._$container[this._scrollProp](-location / this._getScaleRatio());\r\n this._moveContentByTranslator(location)\r\n },\r\n _getScaleRatio: function() {\r\n if (hasWindow() && !this._scaleRatio) {\r\n var element = this._$element.get(0);\r\n var realDimension = this._getRealDimension(element, this._dimension);\r\n var baseDimension = this._getBaseDimension(element, this._dimension);\r\n this._scaleRatio = Math.round(realDimension / baseDimension * 100) / 100\r\n }\r\n return this._scaleRatio || 1\r\n },\r\n _getRealDimension: function(element, dimension) {\r\n return Math.round(getBoundingRect(element)[dimension])\r\n },\r\n _getBaseDimension: function(element, dimension) {\r\n var dimensionName = \"offset\" + titleize(dimension);\r\n return element[dimensionName]\r\n },\r\n _moveContentByTranslator: function(location) {\r\n var translateOffset;\r\n var minOffset = -this._maxScrollPropValue;\r\n if (location > 0) {\r\n translateOffset = location\r\n } else if (location <= minOffset) {\r\n translateOffset = location - minOffset\r\n } else {\r\n translateOffset = location % 1\r\n }\r\n if (this._translateOffset === translateOffset) {\r\n return\r\n }\r\n var targetLocation = {};\r\n targetLocation[this._prop] = translateOffset;\r\n this._translateOffset = translateOffset;\r\n if (0 === translateOffset) {\r\n resetPosition(this._$content);\r\n return\r\n }\r\n move(this._$content, targetLocation)\r\n },\r\n _moveScrollbar: function() {\r\n this._scrollbar.moveTo(this._location)\r\n },\r\n _scrollComplete: function() {\r\n if (this._inBounds()) {\r\n this._hideScrollbar();\r\n if (this._completeDeferred) {\r\n this._completeDeferred.resolve()\r\n }\r\n }\r\n this._scrollToBounds()\r\n },\r\n _scrollToBounds: function() {\r\n if (this._inBounds()) {\r\n return\r\n }\r\n this._bounceAction();\r\n this._setupBounce();\r\n this._bounceAnimator.start()\r\n },\r\n _setupBounce: function() {\r\n var boundLocation = this._bounceLocation = this._boundLocation();\r\n var bounceDistance = boundLocation - this._location;\r\n this._velocity = bounceDistance / BOUNCE_ACCELERATION_SUM\r\n },\r\n _inBounds: function(location) {\r\n location = void 0 !== location ? location : this._location;\r\n return this._boundLocation(location) === location\r\n },\r\n _crossBoundOnNextStep: function() {\r\n var location = this._location;\r\n var nextLocation = location + this._velocity;\r\n return location < this._minOffset && nextLocation >= this._minOffset || location > this._maxOffset && nextLocation <= this._maxOffset\r\n },\r\n _initHandler: function(e) {\r\n this._stopScrolling();\r\n this._prepareThumbScrolling(e)\r\n },\r\n _stopScrolling: deferRenderer((function() {\r\n this._hideScrollbar();\r\n this._inertiaAnimator.stop();\r\n this._bounceAnimator.stop()\r\n })),\r\n _prepareThumbScrolling: function(e) {\r\n if (isDxMouseWheelEvent(e.originalEvent)) {\r\n return\r\n }\r\n var $target = $(e.originalEvent.target);\r\n var scrollbarClicked = this._isScrollbar($target);\r\n if (scrollbarClicked) {\r\n this._moveToMouseLocation(e)\r\n }\r\n this._thumbScrolling = scrollbarClicked || this._isThumb($target);\r\n this._crossThumbScrolling = !this._thumbScrolling && this._isAnyThumbScrolling($target);\r\n if (this._thumbScrolling) {\r\n this._scrollbar.feedbackOn()\r\n }\r\n },\r\n _isThumbScrollingHandler: function($target) {\r\n return this._isThumb($target)\r\n },\r\n _moveToMouseLocation: function(e) {\r\n var mouseLocation = e[\"page\" + this._axis.toUpperCase()] - this._$element.offset()[this._prop];\r\n var location = this._location + mouseLocation / this._containerToContentRatio() - getHeight(this._$container) / 2;\r\n this._scrollStep(-Math.round(location))\r\n },\r\n _startHandler: function() {\r\n this._showScrollbar()\r\n },\r\n _moveHandler: function(delta) {\r\n if (this._crossThumbScrolling) {\r\n return\r\n }\r\n if (this._thumbScrolling) {\r\n delta[this._axis] = -Math.round(delta[this._axis] / this._containerToContentRatio())\r\n }\r\n this._scrollBy(delta)\r\n },\r\n _scrollBy: function(delta) {\r\n delta = delta[this._axis];\r\n if (!this._inBounds()) {\r\n delta *= OUT_BOUNDS_ACCELERATION\r\n }\r\n this._scrollStep(delta)\r\n },\r\n _scrollByHandler: function(delta) {\r\n this._scrollBy(delta);\r\n this._scrollComplete()\r\n },\r\n _containerToContentRatio: function() {\r\n return this._scrollbar.containerToContentRatio()\r\n },\r\n _endHandler: function(velocity) {\r\n this._completeDeferred = new Deferred;\r\n this._velocity = velocity[this._axis];\r\n this._inertiaHandler();\r\n this._resetThumbScrolling();\r\n return this._completeDeferred.promise()\r\n },\r\n _inertiaHandler: function() {\r\n this._suppressInertia();\r\n this._inertiaAnimator.start()\r\n },\r\n _suppressInertia: function() {\r\n if (!this._inertiaEnabled || this._thumbScrolling) {\r\n this._velocity = 0\r\n }\r\n },\r\n _resetThumbScrolling: function() {\r\n this._thumbScrolling = false;\r\n this._crossThumbScrolling = false\r\n },\r\n _stopHandler: function() {\r\n if (this._thumbScrolling) {\r\n this._scrollComplete()\r\n }\r\n this._resetThumbScrolling();\r\n this._scrollToBounds()\r\n },\r\n _disposeHandler: function() {\r\n this._stopScrolling();\r\n this._$scrollbar.remove()\r\n },\r\n _updateHandler: function() {\r\n this._update();\r\n this._moveToBounds()\r\n },\r\n _update: function() {\r\n this._stopScrolling();\r\n return deferUpdate(() => {\r\n this._resetScaleRatio();\r\n this._updateLocation();\r\n this._updateBounds();\r\n this._updateScrollbar();\r\n deferRender(() => {\r\n this._moveScrollbar();\r\n this._scrollbar.update()\r\n })\r\n })\r\n },\r\n _resetScaleRatio: function() {\r\n this._scaleRatio = null\r\n },\r\n _updateLocation: function() {\r\n this._location = (locate(this._$content)[this._prop] - this._$container[this._scrollProp]()) * this._getScaleRatio()\r\n },\r\n _updateBounds: function() {\r\n this._maxOffset = this._getMaxOffset();\r\n this._minOffset = this._getMinOffset()\r\n },\r\n _getMaxOffset: function() {\r\n return 0\r\n },\r\n _getMinOffset: function() {\r\n this._maxScrollPropValue = Math.max(this._contentSize() - this._containerSize(), 0);\r\n return -this._maxScrollPropValue\r\n },\r\n _updateScrollbar: deferUpdater((function() {\r\n var containerSize = this._containerSize();\r\n var contentSize = this._contentSize();\r\n var baseContainerSize = this._getBaseDimension(this._$container.get(0), this._dimension);\r\n var baseContentSize = this._getBaseDimension(this._$content.get(0), this._dimension);\r\n deferRender(() => {\r\n this._scrollbar.option({\r\n containerSize: containerSize,\r\n contentSize: contentSize,\r\n baseContainerSize: baseContainerSize,\r\n baseContentSize: baseContentSize,\r\n scaleRatio: this._getScaleRatio()\r\n })\r\n })\r\n })),\r\n _moveToBounds: deferRenderer(deferUpdater(deferRenderer((function() {\r\n var location = this._boundLocation();\r\n var locationChanged = location !== this._location;\r\n this._location = location;\r\n this._move();\r\n if (locationChanged) {\r\n this._scrollAction()\r\n }\r\n })))),\r\n _createActionsHandler: function(actions) {\r\n this._scrollAction = actions.scroll;\r\n this._bounceAction = actions.bounce\r\n },\r\n _showScrollbar: function() {\r\n this._scrollbar.option(\"visible\", true)\r\n },\r\n _hideScrollbar: function() {\r\n this._scrollbar.option(\"visible\", false)\r\n },\r\n _containerSize: function() {\r\n return this._getRealDimension(this._$container.get(0), this._dimension)\r\n },\r\n _contentSize: function() {\r\n var isOverflowHidden = \"hidden\" === this._$content.css(\"overflow\" + this._axis.toUpperCase());\r\n var contentSize = this._getRealDimension(this._$content.get(0), this._dimension);\r\n if (!isOverflowHidden) {\r\n var containerScrollSize = this._$content[0][\"scroll\" + titleize(this._dimension)] * this._getScaleRatio();\r\n contentSize = Math.max(containerScrollSize, contentSize)\r\n }\r\n return contentSize\r\n },\r\n _validateEvent: function(e) {\r\n var $target = $(e.originalEvent.target);\r\n return this._isThumb($target) || this._isScrollbar($target)\r\n },\r\n _isThumb: function($element) {\r\n return this._scrollByThumb && this._scrollbar.isThumb($element)\r\n },\r\n _isScrollbar: function($element) {\r\n return this._scrollByThumb && $element && $element.is(this._$scrollbar)\r\n },\r\n _reachedMin: function() {\r\n return Math.round(this._location - this._minOffset) <= 0\r\n },\r\n _reachedMax: function() {\r\n return Math.round(this._location - this._maxOffset) >= 0\r\n },\r\n _cursorEnterHandler: function() {\r\n this._resetScaleRatio();\r\n this._updateScrollbar();\r\n this._scrollbar.cursorEnter()\r\n },\r\n _cursorLeaveHandler: function() {\r\n this._scrollbar.cursorLeave()\r\n },\r\n dispose: noop\r\n});\r\nvar hoveredScrollable;\r\nvar activeScrollable;\r\nexport var SimulatedStrategy = Class.inherit({\r\n ctor: function(scrollable) {\r\n this._init(scrollable)\r\n },\r\n _init: function(scrollable) {\r\n this._component = scrollable;\r\n this._$element = scrollable.$element();\r\n this._$container = $(scrollable.container());\r\n this._$wrapper = scrollable._$wrapper;\r\n this._$content = scrollable.$content();\r\n this.option = scrollable.option.bind(scrollable);\r\n this._createActionByOption = scrollable._createActionByOption.bind(scrollable);\r\n this._isLocked = scrollable._isLocked.bind(scrollable);\r\n this._isDirection = scrollable._isDirection.bind(scrollable);\r\n this._allowedDirection = scrollable._allowedDirection.bind(scrollable);\r\n this._getMaxOffset = scrollable._getMaxOffset.bind(scrollable)\r\n },\r\n render: function() {\r\n this._$element.addClass(SCROLLABLE_SIMULATED_CLASS);\r\n this._createScrollers();\r\n if (this.option(\"useKeyboard\")) {\r\n this._$container.prop(\"tabIndex\", 0)\r\n }\r\n this._attachKeyboardHandler();\r\n this._attachCursorHandlers()\r\n },\r\n _createScrollers: function() {\r\n this._scrollers = {};\r\n if (this._isDirection(HORIZONTAL)) {\r\n this._createScroller(HORIZONTAL)\r\n }\r\n if (this._isDirection(VERTICAL)) {\r\n this._createScroller(VERTICAL)\r\n }\r\n this._$element.toggleClass(SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE, \"always\" === this.option(\"showScrollbar\"))\r\n },\r\n _createScroller: function(direction) {\r\n this._scrollers[direction] = new Scroller(this._scrollerOptions(direction))\r\n },\r\n _scrollerOptions: function(direction) {\r\n return {\r\n direction: direction,\r\n $content: this._$content,\r\n $container: this._$container,\r\n $wrapper: this._$wrapper,\r\n $element: this._$element,\r\n scrollByThumb: this.option(\"scrollByThumb\"),\r\n scrollbarVisible: this.option(\"showScrollbar\"),\r\n bounceEnabled: this.option(\"bounceEnabled\"),\r\n inertiaEnabled: this.option(\"inertiaEnabled\"),\r\n isAnyThumbScrolling: this._isAnyThumbScrolling.bind(this)\r\n }\r\n },\r\n _applyScaleRatio: function(targetLocation) {\r\n for (var direction in this._scrollers) {\r\n var prop = this._getPropByDirection(direction);\r\n if (isDefined(targetLocation[prop])) {\r\n var scroller = this._scrollers[direction];\r\n targetLocation[prop] *= scroller._getScaleRatio()\r\n }\r\n }\r\n return targetLocation\r\n },\r\n _isAnyThumbScrolling: function($target) {\r\n var result = false;\r\n this._eventHandler(\"isThumbScrolling\", $target).done((function(isThumbScrollingVertical, isThumbScrollingHorizontal) {\r\n result = isThumbScrollingVertical || isThumbScrollingHorizontal\r\n }));\r\n return result\r\n },\r\n handleInit: function(e) {\r\n this._suppressDirections(e);\r\n this._eventForUserAction = e;\r\n this._eventHandler(\"init\", e)\r\n },\r\n _suppressDirections: function(e) {\r\n if (isDxMouseWheelEvent(e.originalEvent)) {\r\n this._prepareDirections(true);\r\n return\r\n }\r\n this._prepareDirections();\r\n this._eachScroller((function(scroller, direction) {\r\n var $target = $(e.originalEvent.target);\r\n var isValid = scroller._validateEvent(e) || this.option(\"scrollByContent\") && this._isContent($target);\r\n this._validDirections[direction] = isValid\r\n }))\r\n },\r\n _isContent: function($element) {\r\n return !!$element.closest(this._$element).length\r\n },\r\n _prepareDirections: function(value) {\r\n value = value || false;\r\n this._validDirections = {};\r\n this._validDirections[HORIZONTAL] = value;\r\n this._validDirections[VERTICAL] = value\r\n },\r\n _eachScroller: function(callback) {\r\n callback = callback.bind(this);\r\n each(this._scrollers, (function(direction, scroller) {\r\n callback(scroller, direction)\r\n }))\r\n },\r\n handleStart: function(e) {\r\n this._eventForUserAction = e;\r\n this._eventHandler(\"start\").done(this._startAction)\r\n },\r\n _saveActive: function() {\r\n activeScrollable = this\r\n },\r\n _resetActive: function() {\r\n if (activeScrollable === this) {\r\n activeScrollable = null\r\n }\r\n },\r\n handleMove: function(e) {\r\n if (this._isLocked()) {\r\n e.cancel = true;\r\n this._resetActive();\r\n return\r\n }\r\n this._saveActive();\r\n e.preventDefault && e.preventDefault();\r\n this._adjustDistance(e, e.delta);\r\n this._eventForUserAction = e;\r\n this._eventHandler(\"move\", e.delta)\r\n },\r\n _adjustDistance: function(e, distance) {\r\n distance.x *= this._validDirections[HORIZONTAL];\r\n distance.y *= this._validDirections[VERTICAL];\r\n var devicePixelRatio = this._tryGetDevicePixelRatio();\r\n if (devicePixelRatio && isDxMouseWheelEvent(e.originalEvent)) {\r\n distance.x = Math.round(distance.x / devicePixelRatio * 100) / 100;\r\n distance.y = Math.round(distance.y / devicePixelRatio * 100) / 100\r\n }\r\n },\r\n _tryGetDevicePixelRatio: function() {\r\n if (hasWindow()) {\r\n return getWindow().devicePixelRatio\r\n }\r\n },\r\n handleEnd: function(e) {\r\n this._resetActive();\r\n this._refreshCursorState(e.originalEvent && e.originalEvent.target);\r\n this._adjustDistance(e, e.velocity);\r\n this._eventForUserAction = e;\r\n return this._eventHandler(\"end\", e.velocity).done(this._endAction)\r\n },\r\n handleCancel: function(e) {\r\n this._resetActive();\r\n this._eventForUserAction = e;\r\n return this._eventHandler(\"end\", {\r\n x: 0,\r\n y: 0\r\n })\r\n },\r\n handleStop: function() {\r\n this._resetActive();\r\n this._eventHandler(\"stop\")\r\n },\r\n handleScroll: function() {\r\n this._updateRtlConfig();\r\n this._scrollAction()\r\n },\r\n _attachKeyboardHandler: function() {\r\n eventsEngine.off(this._$element, \".\".concat(SCROLLABLE_SIMULATED_KEYBOARD));\r\n if (!this.option(\"disabled\") && this.option(\"useKeyboard\")) {\r\n eventsEngine.on(this._$element, addEventNamespace(\"keydown\", SCROLLABLE_SIMULATED_KEYBOARD), this._keyDownHandler.bind(this))\r\n }\r\n },\r\n _keyDownHandler: function(e) {\r\n clearTimeout(this._updateHandlerTimeout);\r\n this._updateHandlerTimeout = setTimeout(() => {\r\n if (normalizeKeyName(e) === KEY_CODES.TAB) {\r\n this._eachScroller(scroller => {\r\n scroller._updateHandler()\r\n })\r\n }\r\n });\r\n if (!this._$container.is(domAdapter.getActiveElement(this._$container.get(0)))) {\r\n return\r\n }\r\n var handled = true;\r\n switch (normalizeKeyName(e)) {\r\n case KEY_CODES.DOWN:\r\n this._scrollByLine({\r\n y: 1\r\n });\r\n break;\r\n case KEY_CODES.UP:\r\n this._scrollByLine({\r\n y: -1\r\n });\r\n break;\r\n case KEY_CODES.RIGHT:\r\n this._scrollByLine({\r\n x: 1\r\n });\r\n break;\r\n case KEY_CODES.LEFT:\r\n this._scrollByLine({\r\n x: -1\r\n });\r\n break;\r\n case KEY_CODES.PAGE_DOWN:\r\n this._scrollByPage(1);\r\n break;\r\n case KEY_CODES.PAGE_UP:\r\n this._scrollByPage(-1);\r\n break;\r\n case KEY_CODES.HOME:\r\n this._scrollToHome();\r\n break;\r\n case KEY_CODES.END:\r\n this._scrollToEnd();\r\n break;\r\n default:\r\n handled = false\r\n }\r\n if (handled) {\r\n e.stopPropagation();\r\n e.preventDefault()\r\n }\r\n },\r\n _scrollByLine: function(lines) {\r\n var devicePixelRatio = this._tryGetDevicePixelRatio();\r\n var scrollOffset = SCROLL_LINE_HEIGHT;\r\n if (devicePixelRatio) {\r\n scrollOffset = Math.abs(scrollOffset / devicePixelRatio * 100) / 100\r\n }\r\n this.scrollBy({\r\n top: (lines.y || 0) * -scrollOffset,\r\n left: (lines.x || 0) * -scrollOffset\r\n })\r\n },\r\n _scrollByPage: function(page) {\r\n var prop = this._wheelProp();\r\n var dimension = this._dimensionByProp(prop);\r\n var distance = {};\r\n var getter = \"width\" === dimension ? getWidth : getHeight;\r\n distance[prop] = page * -getter(this._$container);\r\n this.scrollBy(distance)\r\n },\r\n _dimensionByProp: function(prop) {\r\n return \"left\" === prop ? \"width\" : \"height\"\r\n },\r\n _getPropByDirection: function(direction) {\r\n return direction === HORIZONTAL ? \"left\" : \"top\"\r\n },\r\n _scrollToHome: function() {\r\n var prop = this._wheelProp();\r\n var distance = {};\r\n distance[prop] = 0;\r\n this._component.scrollTo(distance)\r\n },\r\n _scrollToEnd: function() {\r\n var prop = this._wheelProp();\r\n var dimension = this._dimensionByProp(prop);\r\n var distance = {};\r\n var getter = \"width\" === dimension ? getWidth : getHeight;\r\n distance[prop] = getter(this._$content) - getter(this._$container);\r\n this._component.scrollTo(distance)\r\n },\r\n createActions: function() {\r\n this._startAction = this._createActionHandler(\"onStart\");\r\n this._endAction = this._createActionHandler(\"onEnd\");\r\n this._updateAction = this._createActionHandler(\"onUpdated\");\r\n this._createScrollerActions()\r\n },\r\n _createScrollerActions: function() {\r\n this._scrollAction = this._createActionHandler(\"onScroll\");\r\n this._bounceAction = this._createActionHandler(\"onBounce\");\r\n this._eventHandler(\"createActions\", {\r\n scroll: this._scrollAction,\r\n bounce: this._bounceAction\r\n })\r\n },\r\n _createActionHandler: function(optionName) {\r\n var actionHandler = this._createActionByOption(optionName);\r\n return () => {\r\n actionHandler(extend(this._createActionArgs(), arguments))\r\n }\r\n },\r\n _createActionArgs: function() {\r\n var {\r\n horizontal: scrollerX,\r\n vertical: scrollerY\r\n } = this._scrollers;\r\n var offset = this._getScrollOffset();\r\n this._scrollOffset = {\r\n top: scrollerY && offset.top,\r\n left: scrollerX && offset.left\r\n };\r\n return {\r\n event: this._eventForUserAction,\r\n scrollOffset: this._scrollOffset,\r\n reachedLeft: scrollerX && scrollerX._reachedMax(),\r\n reachedRight: scrollerX && scrollerX._reachedMin(),\r\n reachedTop: scrollerY && scrollerY._reachedMax(),\r\n reachedBottom: scrollerY && scrollerY._reachedMin()\r\n }\r\n },\r\n _getScrollOffset() {\r\n return {\r\n top: -this.location().top,\r\n left: -this.location().left\r\n }\r\n },\r\n _eventHandler: function(eventName) {\r\n var args = [].slice.call(arguments).slice(1);\r\n var deferreds = map(this._scrollers, scroller => scroller[\"_\" + eventName + \"Handler\"].apply(scroller, args));\r\n return when.apply($, deferreds).promise()\r\n },\r\n location: function() {\r\n var location = locate(this._$content);\r\n location.top -= this._$container.scrollTop();\r\n location.left -= this._$container.scrollLeft();\r\n return location\r\n },\r\n disabledChanged: function() {\r\n this._attachCursorHandlers()\r\n },\r\n _attachCursorHandlers: function() {\r\n eventsEngine.off(this._$element, \".\".concat(SCROLLABLE_SIMULATED_CURSOR));\r\n if (!this.option(\"disabled\") && this._isHoverMode()) {\r\n eventsEngine.on(this._$element, addEventNamespace(\"mouseenter\", SCROLLABLE_SIMULATED_CURSOR), this._cursorEnterHandler.bind(this));\r\n eventsEngine.on(this._$element, addEventNamespace(\"mouseleave\", SCROLLABLE_SIMULATED_CURSOR), this._cursorLeaveHandler.bind(this))\r\n }\r\n },\r\n _isHoverMode: function() {\r\n return \"onHover\" === this.option(\"showScrollbar\")\r\n },\r\n _cursorEnterHandler: function(e) {\r\n e = e || {};\r\n e.originalEvent = e.originalEvent || {};\r\n if (activeScrollable || e.originalEvent._hoverHandled) {\r\n return\r\n }\r\n if (hoveredScrollable) {\r\n hoveredScrollable._cursorLeaveHandler()\r\n }\r\n hoveredScrollable = this;\r\n this._eventHandler(\"cursorEnter\");\r\n e.originalEvent._hoverHandled = true\r\n },\r\n _cursorLeaveHandler: function(e) {\r\n if (hoveredScrollable !== this || activeScrollable === hoveredScrollable) {\r\n return\r\n }\r\n this._eventHandler(\"cursorLeave\");\r\n hoveredScrollable = null;\r\n this._refreshCursorState(e && e.relatedTarget)\r\n },\r\n _refreshCursorState: function(target) {\r\n if (!this._isHoverMode() && (!target || activeScrollable)) {\r\n return\r\n }\r\n var $target = $(target);\r\n var $scrollable = $target.closest(\".\".concat(SCROLLABLE_SIMULATED_CLASS, \":not(.dx-state-disabled)\"));\r\n var targetScrollable = $scrollable.length && $scrollable.data(SCROLLABLE_STRATEGY);\r\n if (hoveredScrollable && hoveredScrollable !== targetScrollable) {\r\n hoveredScrollable._cursorLeaveHandler()\r\n }\r\n if (targetScrollable) {\r\n targetScrollable._cursorEnterHandler()\r\n }\r\n },\r\n update: function() {\r\n var result = this._eventHandler(\"update\").done(this._updateAction);\r\n return when(result, deferUpdate(() => {\r\n var allowedDirections = this._allowedDirections();\r\n deferRender(() => {\r\n var touchDirection = allowedDirections.vertical ? \"pan-x\" : \"\";\r\n touchDirection = allowedDirections.horizontal ? \"pan-y\" : touchDirection;\r\n touchDirection = allowedDirections.vertical && allowedDirections.horizontal ? \"none\" : touchDirection;\r\n this._$container.css(\"touchAction\", touchDirection)\r\n });\r\n return when().promise()\r\n }))\r\n },\r\n _allowedDirections: function() {\r\n var bounceEnabled = this.option(\"bounceEnabled\");\r\n var verticalScroller = this._scrollers[VERTICAL];\r\n var horizontalScroller = this._scrollers[HORIZONTAL];\r\n return {\r\n vertical: verticalScroller && (verticalScroller._minOffset < 0 || bounceEnabled),\r\n horizontal: horizontalScroller && (horizontalScroller._minOffset < 0 || bounceEnabled)\r\n }\r\n },\r\n _updateBounds: function() {\r\n this._scrollers[HORIZONTAL] && this._scrollers[HORIZONTAL]._updateBounds()\r\n },\r\n _isHorizontalAndRtlEnabled: function() {\r\n return this.option(\"rtlEnabled\") && this.option(\"direction\") !== VERTICAL\r\n },\r\n updateRtlPosition: function(needInitializeRtlConfig) {\r\n if (needInitializeRtlConfig) {\r\n this._rtlConfig = {\r\n scrollRight: 0,\r\n clientWidth: this._$container.get(0).clientWidth,\r\n windowPixelRatio: this._getWindowDevicePixelRatio()\r\n }\r\n }\r\n this._updateBounds();\r\n if (this._isHorizontalAndRtlEnabled()) {\r\n var scrollLeft = this._getMaxOffset().left - this._rtlConfig.scrollRight;\r\n if (scrollLeft <= 0) {\r\n scrollLeft = 0;\r\n this._rtlConfig.scrollRight = this._getMaxOffset().left\r\n }\r\n if (this._getScrollOffset().left !== scrollLeft) {\r\n this._rtlConfig.skipUpdating = true;\r\n this._component.scrollTo({\r\n left: scrollLeft\r\n });\r\n this._rtlConfig.skipUpdating = false\r\n }\r\n }\r\n },\r\n _updateRtlConfig: function() {\r\n if (this._isHorizontalAndRtlEnabled() && !this._rtlConfig.skipUpdating) {\r\n var {\r\n clientWidth: clientWidth,\r\n scrollLeft: scrollLeft\r\n } = this._$container.get(0);\r\n var windowPixelRatio = this._getWindowDevicePixelRatio();\r\n if (this._rtlConfig.windowPixelRatio === windowPixelRatio && this._rtlConfig.clientWidth === clientWidth) {\r\n this._rtlConfig.scrollRight = this._getMaxOffset().left - scrollLeft\r\n }\r\n this._rtlConfig.clientWidth = clientWidth;\r\n this._rtlConfig.windowPixelRatio = windowPixelRatio\r\n }\r\n },\r\n _getWindowDevicePixelRatio: function() {\r\n return hasWindow() ? getWindow().devicePixelRatio : 1\r\n },\r\n scrollBy: function(distance) {\r\n var verticalScroller = this._scrollers[VERTICAL];\r\n var horizontalScroller = this._scrollers[HORIZONTAL];\r\n if (verticalScroller) {\r\n distance.top = verticalScroller._boundLocation(distance.top + verticalScroller._location) - verticalScroller._location\r\n }\r\n if (horizontalScroller) {\r\n distance.left = horizontalScroller._boundLocation(distance.left + horizontalScroller._location) - horizontalScroller._location\r\n }\r\n this._prepareDirections(true);\r\n this._startAction();\r\n this._eventHandler(\"scrollBy\", {\r\n x: distance.left,\r\n y: distance.top\r\n });\r\n this._endAction();\r\n this._updateRtlConfig()\r\n },\r\n validate: function(e) {\r\n if (isDxMouseWheelEvent(e) && isCommandKeyPressed(e)) {\r\n return false\r\n }\r\n if (this.option(\"disabled\")) {\r\n return false\r\n }\r\n if (this.option(\"bounceEnabled\")) {\r\n return true\r\n }\r\n return isDxMouseWheelEvent(e) ? this._validateWheel(e) : this._validateMove(e)\r\n },\r\n _validateWheel: function(e) {\r\n var scroller = this._scrollers[this._wheelDirection(e)];\r\n var reachedMin = scroller._reachedMin();\r\n var reachedMax = scroller._reachedMax();\r\n var contentGreaterThanContainer = !reachedMin || !reachedMax;\r\n var locatedNotAtBound = !reachedMin && !reachedMax;\r\n var scrollFromMin = reachedMin && e.delta > 0;\r\n var scrollFromMax = reachedMax && e.delta < 0;\r\n var validated = contentGreaterThanContainer && (locatedNotAtBound || scrollFromMin || scrollFromMax);\r\n validated = validated || void 0 !== this._validateWheelTimer;\r\n if (validated) {\r\n clearTimeout(this._validateWheelTimer);\r\n this._validateWheelTimer = setTimeout(() => {\r\n this._validateWheelTimer = void 0\r\n }, VALIDATE_WHEEL_TIMEOUT)\r\n }\r\n return validated\r\n },\r\n _validateMove: function(e) {\r\n if (!this.option(\"scrollByContent\") && !$(e.target).closest(\".\".concat(SCROLLABLE_SCROLLBAR_CLASS)).length) {\r\n return false\r\n }\r\n return this._allowedDirection()\r\n },\r\n getDirection: function(e) {\r\n return isDxMouseWheelEvent(e) ? this._wheelDirection(e) : this._allowedDirection()\r\n },\r\n _wheelProp: function() {\r\n return this._wheelDirection() === HORIZONTAL ? \"left\" : \"top\"\r\n },\r\n _wheelDirection: function(e) {\r\n switch (this.option(\"direction\")) {\r\n case HORIZONTAL:\r\n return HORIZONTAL;\r\n case VERTICAL:\r\n return VERTICAL;\r\n default:\r\n return e && e.shiftKey ? HORIZONTAL : VERTICAL\r\n }\r\n },\r\n dispose: function() {\r\n this._resetActive();\r\n if (hoveredScrollable === this) {\r\n hoveredScrollable = null\r\n }\r\n this._eventHandler(\"dispose\");\r\n this._detachEventHandlers();\r\n this._$element.removeClass(SCROLLABLE_SIMULATED_CLASS);\r\n this._eventForUserAction = null;\r\n clearTimeout(this._validateWheelTimer);\r\n clearTimeout(this._updateHandlerTimeout)\r\n },\r\n _detachEventHandlers: function() {\r\n eventsEngine.off(this._$element, \".\".concat(SCROLLABLE_SIMULATED_CURSOR));\r\n eventsEngine.off(this._$container, \".\".concat(SCROLLABLE_SIMULATED_KEYBOARD))\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/events/remove.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n beforeCleanData\r\n} from \"../core/element_data\";\r\nimport eventsEngine from \"./core/events_engine\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nexport var removeEvent = \"dxremove\";\r\nvar eventPropName = \"dxRemoveEvent\";\r\nbeforeCleanData((function(elements) {\r\n elements = [].slice.call(elements);\r\n for (var i = 0; i < elements.length; i++) {\r\n var $element = $(elements[i]);\r\n if ($element.prop(eventPropName)) {\r\n $element[0][eventPropName] = null;\r\n eventsEngine.triggerHandler($element, removeEvent)\r\n }\r\n }\r\n}));\r\nregisterEvent(removeEvent, {\r\n noBubble: true,\r\n setup: function(element) {\r\n $(element).prop(eventPropName, true)\r\n }\r\n});\r\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","var metric\n , imperial;\n\nmetric = {\n mm3: {\n name: {\n singular: 'Cubic Millimeter'\n , plural: 'Cubic Millimeters'\n }\n , to_anchor: 1/1000000\n }\n, cm3: {\n name: {\n singular: 'Cubic Centimeter'\n , plural: 'Cubic Centimeters'\n }\n , to_anchor: 1/1000\n }\n, ml: {\n name: {\n singular: 'Millilitre'\n , plural: 'Millilitres'\n }\n , to_anchor: 1/1000\n }\n, cl: {\n name: {\n singular: 'Centilitre'\n , plural: 'Centilitres'\n }\n , to_anchor: 1/100\n }\n, dl: {\n name: {\n singular: 'Decilitre'\n , plural: 'Decilitres'\n }\n , to_anchor: 1/10\n }\n, l: {\n name: {\n singular: 'Litre'\n , plural: 'Litres'\n }\n , to_anchor: 1\n }\n, kl: {\n name: {\n singular: 'Kilolitre'\n , plural: 'Kilolitres'\n }\n , to_anchor: 1000\n }\n, m3: {\n name: {\n singular: 'Cubic meter'\n , plural: 'Cubic meters'\n }\n , to_anchor: 1000\n }\n, km3: {\n name: {\n singular: 'Cubic kilometer'\n , plural: 'Cubic kilometers'\n }\n , to_anchor: 1000000000000\n }\n\n// Swedish units\n, krm: {\n name: {\n singular: 'Matsked'\n , plural: 'Matskedar'\n }\n , to_anchor: 1/1000\n}\n, tsk: {\n name: {\n singular: 'Tesked'\n , plural: 'Teskedar'\n }\n , to_anchor: 5/1000\n }\n, msk: {\n name: {\n singular: 'Matsked'\n , plural: 'Matskedar'\n }\n , to_anchor: 15/1000\n }\n, kkp: {\n name: {\n singular: 'Kaffekopp'\n , plural: 'Kaffekoppar'\n }\n , to_anchor: 150/1000\n }\n, glas: {\n name: {\n singular: 'Glas'\n , plural: 'Glas'\n }\n , to_anchor: 200/1000\n }\n, kanna: {\n name: {\n singular: 'Kanna'\n , plural: 'Kannor'\n }\n , to_anchor: 2.617\n }\n};\n\nimperial = {\n tsp: {\n name: {\n singular: 'Teaspoon'\n , plural: 'Teaspoons'\n }\n , to_anchor: 1/6\n }\n, Tbs: {\n name: {\n singular: 'Tablespoon'\n , plural: 'Tablespoons'\n }\n , to_anchor: 1/2\n }\n, in3: {\n name: {\n singular: 'Cubic inch'\n , plural: 'Cubic inches'\n }\n , to_anchor: 0.55411\n }\n, 'fl-oz': {\n name: {\n singular: 'Fluid Ounce'\n , plural: 'Fluid Ounces'\n }\n , to_anchor: 1\n }\n, cup: {\n name: {\n singular: 'Cup'\n , plural: 'Cups'\n }\n , to_anchor: 8\n }\n, pnt: {\n name: {\n singular: 'Pint'\n , plural: 'Pints'\n }\n , to_anchor: 16\n }\n, qt: {\n name: {\n singular: 'Quart'\n , plural: 'Quarts'\n }\n , to_anchor: 32\n }\n, gal: {\n name: {\n singular: 'Gallon'\n , plural: 'Gallons'\n }\n , to_anchor: 128\n }\n, ft3: {\n name: {\n singular: 'Cubic foot'\n , plural: 'Cubic feet'\n }\n , to_anchor: 957.506\n }\n, yd3: {\n name: {\n singular: 'Cubic yard'\n , plural: 'Cubic yards'\n }\n , to_anchor: 25852.7\n }\n};\n\nmodule.exports = {\n metric: metric\n, imperial: imperial\n, _anchors: {\n metric: {\n unit: 'l'\n , ratio: 33.8140226\n }\n , imperial: {\n unit: 'fl-oz'\n , ratio: 1/33.8140226\n }\n }\n};\n","/**\r\n * DevExtreme (esm/localization/cldr-data/parent_locales.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nexport default {\r\n \"en-150\": \"en-001\",\r\n \"en-AG\": \"en-001\",\r\n \"en-AI\": \"en-001\",\r\n \"en-AU\": \"en-001\",\r\n \"en-BB\": \"en-001\",\r\n \"en-BM\": \"en-001\",\r\n \"en-BS\": \"en-001\",\r\n \"en-BW\": \"en-001\",\r\n \"en-BZ\": \"en-001\",\r\n \"en-CC\": \"en-001\",\r\n \"en-CK\": \"en-001\",\r\n \"en-CM\": \"en-001\",\r\n \"en-CX\": \"en-001\",\r\n \"en-CY\": \"en-001\",\r\n \"en-DG\": \"en-001\",\r\n \"en-DM\": \"en-001\",\r\n \"en-ER\": \"en-001\",\r\n \"en-FJ\": \"en-001\",\r\n \"en-FK\": \"en-001\",\r\n \"en-FM\": \"en-001\",\r\n \"en-GB\": \"en-001\",\r\n \"en-GD\": \"en-001\",\r\n \"en-GG\": \"en-001\",\r\n \"en-GH\": \"en-001\",\r\n \"en-GI\": \"en-001\",\r\n \"en-GM\": \"en-001\",\r\n \"en-GY\": \"en-001\",\r\n \"en-HK\": \"en-001\",\r\n \"en-IE\": \"en-001\",\r\n \"en-IL\": \"en-001\",\r\n \"en-IM\": \"en-001\",\r\n \"en-IN\": \"en-001\",\r\n \"en-IO\": \"en-001\",\r\n \"en-JE\": \"en-001\",\r\n \"en-JM\": \"en-001\",\r\n \"en-KE\": \"en-001\",\r\n \"en-KI\": \"en-001\",\r\n \"en-KN\": \"en-001\",\r\n \"en-KY\": \"en-001\",\r\n \"en-LC\": \"en-001\",\r\n \"en-LR\": \"en-001\",\r\n \"en-LS\": \"en-001\",\r\n \"en-MG\": \"en-001\",\r\n \"en-MO\": \"en-001\",\r\n \"en-MS\": \"en-001\",\r\n \"en-MT\": \"en-001\",\r\n \"en-MU\": \"en-001\",\r\n \"en-MV\": \"en-001\",\r\n \"en-MW\": \"en-001\",\r\n \"en-MY\": \"en-001\",\r\n \"en-NA\": \"en-001\",\r\n \"en-NF\": \"en-001\",\r\n \"en-NG\": \"en-001\",\r\n \"en-NR\": \"en-001\",\r\n \"en-NU\": \"en-001\",\r\n \"en-NZ\": \"en-001\",\r\n \"en-PG\": \"en-001\",\r\n \"en-PK\": \"en-001\",\r\n \"en-PN\": \"en-001\",\r\n \"en-PW\": \"en-001\",\r\n \"en-RW\": \"en-001\",\r\n \"en-SB\": \"en-001\",\r\n \"en-SC\": \"en-001\",\r\n \"en-SD\": \"en-001\",\r\n \"en-SG\": \"en-001\",\r\n \"en-SH\": \"en-001\",\r\n \"en-SL\": \"en-001\",\r\n \"en-SS\": \"en-001\",\r\n \"en-SX\": \"en-001\",\r\n \"en-SZ\": \"en-001\",\r\n \"en-TC\": \"en-001\",\r\n \"en-TK\": \"en-001\",\r\n \"en-TO\": \"en-001\",\r\n \"en-TT\": \"en-001\",\r\n \"en-TV\": \"en-001\",\r\n \"en-TZ\": \"en-001\",\r\n \"en-UG\": \"en-001\",\r\n \"en-VC\": \"en-001\",\r\n \"en-VG\": \"en-001\",\r\n \"en-VU\": \"en-001\",\r\n \"en-WS\": \"en-001\",\r\n \"en-ZA\": \"en-001\",\r\n \"en-ZM\": \"en-001\",\r\n \"en-ZW\": \"en-001\",\r\n \"en-AT\": \"en-150\",\r\n \"en-BE\": \"en-150\",\r\n \"en-CH\": \"en-150\",\r\n \"en-DE\": \"en-150\",\r\n \"en-DK\": \"en-150\",\r\n \"en-FI\": \"en-150\",\r\n \"en-NL\": \"en-150\",\r\n \"en-SE\": \"en-150\",\r\n \"en-SI\": \"en-150\",\r\n \"hi-Latn\": \"en-IN\",\r\n \"es-AR\": \"es-419\",\r\n \"es-BO\": \"es-419\",\r\n \"es-BR\": \"es-419\",\r\n \"es-BZ\": \"es-419\",\r\n \"es-CL\": \"es-419\",\r\n \"es-CO\": \"es-419\",\r\n \"es-CR\": \"es-419\",\r\n \"es-CU\": \"es-419\",\r\n \"es-DO\": \"es-419\",\r\n \"es-EC\": \"es-419\",\r\n \"es-GT\": \"es-419\",\r\n \"es-HN\": \"es-419\",\r\n \"es-MX\": \"es-419\",\r\n \"es-NI\": \"es-419\",\r\n \"es-PA\": \"es-419\",\r\n \"es-PE\": \"es-419\",\r\n \"es-PR\": \"es-419\",\r\n \"es-PY\": \"es-419\",\r\n \"es-SV\": \"es-419\",\r\n \"es-US\": \"es-419\",\r\n \"es-UY\": \"es-419\",\r\n \"es-VE\": \"es-419\",\r\n nb: \"no\",\r\n nn: \"no\",\r\n \"pt-AO\": \"pt-PT\",\r\n \"pt-CH\": \"pt-PT\",\r\n \"pt-CV\": \"pt-PT\",\r\n \"pt-FR\": \"pt-PT\",\r\n \"pt-GQ\": \"pt-PT\",\r\n \"pt-GW\": \"pt-PT\",\r\n \"pt-LU\": \"pt-PT\",\r\n \"pt-MO\": \"pt-PT\",\r\n \"pt-MZ\": \"pt-PT\",\r\n \"pt-ST\": \"pt-PT\",\r\n \"pt-TL\": \"pt-PT\",\r\n \"az-Arab\": \"und\",\r\n \"az-Cyrl\": \"und\",\r\n \"bal-Latn\": \"und\",\r\n \"blt-Latn\": \"und\",\r\n \"bm-Nkoo\": \"und\",\r\n \"bs-Cyrl\": \"und\",\r\n \"byn-Latn\": \"und\",\r\n \"cu-Glag\": \"und\",\r\n \"dje-Arab\": \"und\",\r\n \"dyo-Arab\": \"und\",\r\n \"en-Dsrt\": \"und\",\r\n \"en-Shaw\": \"und\",\r\n \"ff-Adlm\": \"und\",\r\n \"ff-Arab\": \"und\",\r\n \"ha-Arab\": \"und\",\r\n \"iu-Latn\": \"und\",\r\n \"kk-Arab\": \"und\",\r\n \"ks-Deva\": \"und\",\r\n \"ku-Arab\": \"und\",\r\n \"ky-Arab\": \"und\",\r\n \"ky-Latn\": \"und\",\r\n \"ml-Arab\": \"und\",\r\n \"mn-Mong\": \"und\",\r\n \"mni-Mtei\": \"und\",\r\n \"ms-Arab\": \"und\",\r\n \"pa-Arab\": \"und\",\r\n \"sat-Deva\": \"und\",\r\n \"sd-Deva\": \"und\",\r\n \"sd-Khoj\": \"und\",\r\n \"sd-Sind\": \"und\",\r\n \"shi-Latn\": \"und\",\r\n \"so-Arab\": \"und\",\r\n \"sr-Latn\": \"und\",\r\n \"sw-Arab\": \"und\",\r\n \"tg-Arab\": \"und\",\r\n \"ug-Cyrl\": \"und\",\r\n \"uz-Arab\": \"und\",\r\n \"uz-Cyrl\": \"und\",\r\n \"vai-Latn\": \"und\",\r\n \"wo-Arab\": \"und\",\r\n \"yo-Arab\": \"und\",\r\n \"yue-Hans\": \"und\",\r\n \"zh-Hant\": \"und\",\r\n \"zh-Hant-MO\": \"zh-Hant-HK\"\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/parentLocale.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar PARENT_LOCALE_SEPARATOR = \"-\";\r\nexport default (parentLocales, locale) => {\r\n var parentLocale = parentLocales[locale];\r\n if (parentLocale) {\r\n return \"root\" !== parentLocale && parentLocale\r\n }\r\n return locale.substr(0, locale.lastIndexOf(PARENT_LOCALE_SEPARATOR))\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/core.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport parentLocales from \"./cldr-data/parent_locales\";\r\nimport getParentLocale from \"./parentLocale\";\r\nvar DEFAULT_LOCALE = \"en\";\r\nexport default dependencyInjector({\r\n locale: (() => {\r\n var currentLocale = DEFAULT_LOCALE;\r\n return locale => {\r\n if (!locale) {\r\n return currentLocale\r\n }\r\n currentLocale = locale\r\n }\r\n })(),\r\n getValueByClosestLocale: function(getter) {\r\n var locale = this.locale();\r\n var value = getter(locale);\r\n var isRootLocale;\r\n while (!value && !isRootLocale) {\r\n locale = getParentLocale(parentLocales, locale);\r\n if (locale) {\r\n value = getter(locale)\r\n } else {\r\n isRootLocale = true\r\n }\r\n }\r\n if (void 0 === value && locale !== DEFAULT_LOCALE) {\r\n return getter(DEFAULT_LOCALE)\r\n }\r\n return value\r\n }\r\n});\r\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '૧',\n 2: '૨',\n 3: '૩',\n 4: '૪',\n 5: '૫',\n 6: '૬',\n 7: '૭',\n 8: '૮',\n 9: '૯',\n 0: '૦',\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0',\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n '_'\n ),\n monthsShort:\n 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n '_'\n ),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પહેલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ',\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return gu;\n\n})));\n","// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-subheader',\n\n props: {\n inset: Boolean,\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-subheader',\n class: {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses,\n },\n attrs: this.$attrs,\n on: this.$listeners,\n }, getSlot(this))\n },\n})\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DX_REMOVE_EVENT = exports.DX_TEMPLATE_WRAPPER_CLASS = void 0;\nvar DX_TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\nexports.DX_TEMPLATE_WRAPPER_CLASS = DX_TEMPLATE_WRAPPER_CLASS;\nvar DX_REMOVE_EVENT = \"dxremove\";\nexports.DX_REMOVE_EVENT = DX_REMOVE_EVENT;\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getConfigurationOptions = exports.setVModel = exports.setCompatOptions = exports.getVModelValue = exports.getNodeTypeOfComponent = exports.getNodeOptions = exports.usedConfigurationProps = exports.getComponentProps = exports.mount = exports.defaultSlots = exports.declaredTemplates = exports.configurationTemplate = exports.configurationDefaultTemplate = exports.configurationChildren = exports.getNormalizedProps = exports.getComponentInfo = exports.getChildren = exports.VMODEL_NAME = void 0;\nvar vue_1 = require(\"vue\");\nvar helpers_1 = require(\"./helpers\");\nvar children_processing_1 = require(\"./children-processing\");\nexports.VMODEL_NAME = \"modelValue\";\nfunction getChildren(component) {\n if (!hasChildren(component) || !component.$_config) {\n return [];\n }\n var children = component.$.subTree && component.$.subTree.children;\n if (!Array.isArray(children)) {\n return [];\n }\n return children.filter(function (child) {\n if (!(0, children_processing_1.isFragment)(child)) {\n return child;\n }\n return;\n });\n}\nexports.getChildren = getChildren;\nfunction getComponentInfo(component) {\n return getConfigurationOptions(component);\n}\nexports.getComponentInfo = getComponentInfo;\nfunction getNormalizedProps(props) {\n var result = {};\n for (var propName in props) {\n if (props.hasOwnProperty(propName)) {\n result[(0, helpers_1.camelize)(propName)] = props[propName];\n }\n }\n return result;\n}\nexports.getNormalizedProps = getNormalizedProps;\nfunction configurationChildren(component) {\n if (!component.children || !component.children.default) {\n return [];\n }\n return findConfigurationComponents(component.children.default());\n}\nexports.configurationChildren = configurationChildren;\nfunction configurationDefaultTemplate(node) {\n if (!node.children || node.children === \"object\" || !node.children.default) {\n return;\n }\n return hasInlineTemplate(node.children.default()) ? node.children.default : undefined;\n}\nexports.configurationDefaultTemplate = configurationDefaultTemplate;\nfunction configurationTemplate(node) {\n return configurationDefaultTemplate(node);\n}\nexports.configurationTemplate = configurationTemplate;\nfunction declaredTemplates(component) {\n return component.$slots;\n}\nexports.declaredTemplates = declaredTemplates;\nfunction defaultSlots(component) {\n var templates = declaredTemplates(component);\n if (!templates.default) {\n return [];\n }\n return templates.default();\n}\nexports.defaultSlots = defaultSlots;\nfunction mount(options, parent, el) {\n var template = (0, vue_1.createApp)(options);\n template.provide(\"eventBus\", parent.eventBus);\n setAppContext(template, parent);\n return template.mount(el);\n}\nexports.mount = mount;\nfunction getComponentProps(component) {\n var props = component.$.vnode.props || {};\n return getNormalizedProps(props);\n}\nexports.getComponentProps = getComponentProps;\nfunction usedConfigurationProps(node) {\n return node.props;\n}\nexports.usedConfigurationProps = usedConfigurationProps;\nfunction getNodeOptions(component) {\n if (component.$) {\n return component.$.vnode;\n }\n return component;\n}\nexports.getNodeOptions = getNodeOptions;\nfunction getNodeTypeOfComponent(component) {\n return component.$.vnode.type;\n}\nexports.getNodeTypeOfComponent = getNodeTypeOfComponent;\nfunction getVModelValue(options) {\n return options[exports.VMODEL_NAME];\n}\nexports.getVModelValue = getVModelValue;\nfunction setCompatOptions(component) {\n component.compatConfig = {\n MODE: 3\n };\n}\nexports.setCompatOptions = setCompatOptions;\nfunction setVModel(config) {\n var _a;\n var eventName = \"update:\".concat(exports.VMODEL_NAME);\n config.model.prop = exports.VMODEL_NAME;\n config.model.event = eventName;\n config.props.modelValue = {};\n config.emits = __assign(__assign({}, config.emits), (_a = {}, _a[\"\".concat(eventName)] = null, _a));\n}\nexports.setVModel = setVModel;\nfunction setCustomPluginsData(appContext, parentAppContext) {\n for (var prop in parentAppContext) {\n if (!appContext.hasOwnProperty(prop) && parentAppContext.hasOwnProperty(prop)) {\n appContext[prop] = parentAppContext[prop];\n }\n }\n}\nfunction setAppContext(template, parent) {\n template._context.components = Object.assign(parent.$.appContext.components, template._context.components);\n Object.setPrototypeOf(template._context.provides, Object.getPrototypeOf(parent.$.provides));\n Object.assign(template._context.provides, parent.$.appContext.provides);\n template._context.config = parent.$.appContext.config;\n template._context.directives = parent.$.appContext.directives;\n template._context.mixins = parent.$.appContext.mixins;\n setCustomPluginsData(template._context.app, parent.$.appContext.app);\n}\nfunction findConfigurationComponents(children) {\n return children.filter(function (child) {\n if ((0, children_processing_1.isFragment)(child)) {\n return findConfigurationComponents(child.children || []);\n }\n var childType = child.type;\n if (childType && typeof childType === \"object\" && childType.$_optionName) {\n delete child.$_config;\n delete child.$_innerChanges;\n return child;\n }\n return;\n });\n}\nfunction hasInlineTemplate(children) {\n var hasTemplate = false;\n children.forEach(function (child) {\n if (!isConfiguration(child) && !(0, children_processing_1.isFragment)(child) && !isComment(child)) {\n hasTemplate = true;\n }\n });\n return hasTemplate;\n}\nfunction isComment(node) {\n return node.type === vue_1.Comment || (node.type.toString() === \"Symbol()\" && !node.children);\n}\nfunction isConfiguration(child) {\n return child.type && typeof child.type === \"object\" && child.type.$_optionName;\n}\nfunction getConfigurationOptions(node) {\n return node.type;\n}\nexports.getConfigurationOptions = getConfigurationOptions;\nfunction hasChildren(component) {\n return component.$.vnode && component.$.vnode.children && component.$.vnode.children.default;\n}\n","/**\r\n * DevExtreme (esm/ui/widget/swatch_container.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n value\r\n} from \"../../core/utils/view_port\";\r\nvar SWATCH_CONTAINER_CLASS_PREFIX = \"dx-swatch-\";\r\nvar getSwatchContainer = element => {\r\n var $element = $(element);\r\n var swatchContainer = $element.closest('[class^=\"'.concat(SWATCH_CONTAINER_CLASS_PREFIX, '\"], [class*=\" ').concat(SWATCH_CONTAINER_CLASS_PREFIX, '\"]'));\r\n var viewport = value();\r\n if (!swatchContainer.length) {\r\n return viewport\r\n }\r\n var swatchClassRegex = new RegExp(\"(\\\\s|^)(\".concat(SWATCH_CONTAINER_CLASS_PREFIX, \".*?)(\\\\s|$)\"));\r\n var swatchClass = swatchContainer[0].className.match(swatchClassRegex)[2];\r\n var viewportSwatchContainer = viewport.children(\".\" + swatchClass);\r\n if (!viewportSwatchContainer.length) {\r\n viewportSwatchContainer = $(\"<div>\").addClass(swatchClass).appendTo(viewport)\r\n }\r\n return viewportSwatchContainer\r\n};\r\nexport default {\r\n getSwatchContainer: getSwatchContainer\r\n};\r\n","/* Mapbox GL JS is licensed under the 3-Clause BSD License. Full text of license: https://github.com/mapbox/mapbox-gl-js/blob/v1.13.3/LICENSE.txt */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\ntypeof define === 'function' && define.amd ? define(factory) :\n(global = global || self, global.mapboxgl = factory());\n}(this, (function () { 'use strict';\n\n/* eslint-disable */\n\nvar shared, worker, mapboxgl;\n// define gets called three times: one for each chunk. we rely on the order\n// they're imported to know which is which\nfunction define(_, chunk) {\nif (!shared) {\n shared = chunk;\n} else if (!worker) {\n worker = chunk;\n} else {\n var workerBundleString = 'var sharedChunk = {}; (' + shared + ')(sharedChunk); (' + worker + ')(sharedChunk);'\n\n var sharedChunk = {};\n shared(sharedChunk);\n mapboxgl = chunk(sharedChunk);\n if (typeof window !== 'undefined') {\n mapboxgl.workerUrl = window.URL.createObjectURL(new Blob([workerBundleString], { type: 'text/javascript' }));\n }\n}\n}\n\n\ndefine([\"exports\"],(function(t){\"use strict\";function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r=n;function n(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n;}n.prototype.sampleCurveX=function(t){return ((this.ax*t+this.bx)*t+this.cx)*t},n.prototype.sampleCurveY=function(t){return ((this.ay*t+this.by)*t+this.cy)*t},n.prototype.sampleCurveDerivativeX=function(t){return (3*this.ax*t+2*this.bx)*t+this.cx},n.prototype.solveCurveX=function(t,e){var r,n,i,a,o;for(void 0===e&&(e=1e-6),i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s;}if((i=t)<(r=0))return r;if(i>(n=1))return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r;}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var i=a;function a(t,e){this.x=t,this.y=e;}a.prototype={clone:function(){return new a(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=r*this.x+e*this.y;return this.x=e*this.x-r*this.y,this.y=n,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=e.x+r*(this.x-e.x)-n*(this.y-e.y),this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},a.convert=function(t){return t instanceof a?t:Array.isArray(t)?new a(t[0],t[1]):t};var o=\"undefined\"!=typeof self?self:{},s=Math.pow(2,53)-1;function u(t,e,n,i){var a=new r(t,e,n,i);return function(t){return a.solve(t)}}var l=u(.25,.1,.25,1);function p(t,e,r){return Math.min(r,Math.max(e,t))}function c(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function h(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o];}return t}var f=1;function y(){return f++}function d(){return function t(e){return e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function m(t){return !!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function v(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e));}));}function g(t,e){return -1!==t.indexOf(e,t.length-e.length)}function x(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function b(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function w(t){return Array.isArray(t)?t.map(w):\"object\"==typeof t&&t?x(t,w):t}var _={};function A(t){_[t]||(\"undefined\"!=typeof console&&console.warn(t),_[t]=!0);}function S(t,e,r){return (r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function k(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r<n;i=r++)e+=((o=t[i]).x-(a=t[r]).x)*(a.y+o.y);return e}function I(){return \"undefined\"!=typeof WorkerGlobalScope&&\"undefined\"!=typeof self&&self instanceof WorkerGlobalScope}function z(t){var e={};if(t.replace(/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),\"\"})),e[\"max-age\"]){var r=parseInt(e[\"max-age\"],10);isNaN(r)?delete e[\"max-age\"]:e[\"max-age\"]=r;}return e}var C=null;function E(t){if(null==C){var e=t.navigator?t.navigator.userAgent:null;C=!!t.safari||!(!e||!(/\\b(iPad|iPhone|iPod)\\b/.test(e)||e.match(\"Safari\")&&!e.match(\"Chrome\")));}return C}function P(t){try{var e=o[t];return e.setItem(\"_mapbox_test_\",1),e.removeItem(\"_mapbox_test_\"),!0}catch(t){return !1}}var M,B,T,V,F=o.performance&&o.performance.now?o.performance.now.bind(o.performance):Date.now.bind(Date),D=o.requestAnimationFrame||o.mozRequestAnimationFrame||o.webkitRequestAnimationFrame||o.msRequestAnimationFrame,L=o.cancelAnimationFrame||o.mozCancelAnimationFrame||o.webkitCancelAnimationFrame||o.msCancelAnimationFrame,O={now:F,frame:function(t){var e=D(t);return {cancel:function(){return L(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=o.document.createElement(\"canvas\"),n=r.getContext(\"2d\");if(!n)throw new Error(\"failed to create canvas 2d context\");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return M||(M=o.document.createElement(\"a\")),M.href=t,M.href},hardwareConcurrency:o.navigator&&o.navigator.hardwareConcurrency||4,get devicePixelRatio(){return o.devicePixelRatio},get prefersReducedMotion(){return !!o.matchMedia&&(null==B&&(B=o.matchMedia(\"(prefers-reduced-motion: reduce)\")),B.matches)}},R={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf(\"https://api.mapbox.cn\")?\"https://events.mapbox.cn/events/v2\":0===this.API_URL.indexOf(\"https://api.mapbox.com\")?\"https://events.mapbox.com/events/v2\":null:null},FEEDBACK_URL:\"https://apps.mapbox.com/feedback\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},U={supported:!1,testSupport:function(t){!j&&V&&(q?N(t):T=t);}},j=!1,q=!1;function N(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,V),t.isContextLost())return;U.supported=!0;}catch(t){}t.deleteTexture(e),j=!0;}o.document&&((V=o.document.createElement(\"img\")).onload=function(){T&&N(T),T=null,q=!0;},V.onerror=function(){j=!0,T=null;},V.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");var K=\"01\",G=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken();};function Z(t){return 0===t.indexOf(\"mapbox:\")}G.prototype._createSkuToken=function(){var t=function(){for(var t=\"\",e=0;e<10;e++)t+=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"[Math.floor(62*Math.random())];return {token:[\"1\",K,t].join(\"\"),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt;},G.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},G.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},G.prototype.normalizeStyleURL=function(t,e){if(!Z(t))return t;var r=Y(t);return r.path=\"/styles/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},G.prototype.normalizeGlyphsURL=function(t,e){if(!Z(t))return t;var r=Y(t);return r.path=\"/fonts/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},G.prototype.normalizeSourceURL=function(t,e){if(!Z(t))return t;var r=Y(t);return r.path=\"/v4/\"+r.authority+\".json\",r.params.push(\"secure\"),this._makeAPIURL(r,this._customAccessToken||e)},G.prototype.normalizeSpriteURL=function(t,e,r,n){var i=Y(t);return Z(t)?(i.path=\"/styles/v1\"+i.path+\"/sprite\"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=\"\"+e+r,$(i))},G.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!Z(t))return t;var r=Y(t);r.path=r.path.replace(/(\\.(png|jpg)\\d*)(?=$)/,(O.devicePixelRatio>=2||512===e?\"@2x\":\"\")+(U.supported?\".webp\":\"$1\")),r.path=r.path.replace(/^.+\\/v4\\//,\"/\"),r.path=\"/v4\"+r.path;var n=this._customAccessToken||function(t){for(var e=0,r=t;e<r.length;e+=1){var n=r[e].match(/^access_token=(.*)$/);if(n)return n[1]}return null}(r.params)||R.ACCESS_TOKEN;return R.REQUIRE_ACCESS_TOKEN&&n&&this._skuToken&&r.params.push(\"sku=\"+this._skuToken),this._makeAPIURL(r,n)},G.prototype.canonicalizeTileURL=function(t,e){var r=Y(t);if(!r.path.match(/(^\\/v4\\/)/)||!r.path.match(/\\.[\\w]+$/))return t;var n=\"mapbox://tiles/\";n+=r.path.replace(\"/v4/\",\"\");var i=r.params;return e&&(i=i.filter((function(t){return !t.match(/^access_token=/)}))),i.length&&(n+=\"?\"+i.join(\"&\")),n},G.prototype.canonicalizeTileset=function(t,e){for(var r=!!e&&Z(e),n=[],i=0,a=t.tiles||[];i<a.length;i+=1){var o=a[i];J(o)?n.push(this.canonicalizeTileURL(o,r)):n.push(o);}return n},G.prototype._makeAPIURL=function(t,e){var r=\"See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\",n=Y(R.API_URL);if(t.protocol=n.protocol,t.authority=n.authority,\"http\"===t.protocol){var i=t.params.indexOf(\"secure\");i>=0&&t.params.splice(i,1);}if(\"/\"!==n.path&&(t.path=\"\"+n.path+t.path),!R.REQUIRE_ACCESS_TOKEN)return $(t);if(!(e=e||R.ACCESS_TOKEN))throw new Error(\"An API access token is required to use Mapbox GL. \"+r);if(\"s\"===e[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+r);return t.params=t.params.filter((function(t){return -1===t.indexOf(\"access_token\")})),t.params.push(\"access_token=\"+e),$(t)};var X=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;function J(t){return X.test(t)}var H=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function Y(t){var e=t.match(H);if(!e)throw new Error(\"Unable to parse URL object\");return {protocol:e[1],authority:e[2],path:e[3]||\"/\",params:e[4]?e[4].split(\"&\"):[]}}function $(t){var e=t.params.length?\"?\"+t.params.join(\"&\"):\"\";return t.protocol+\"://\"+t.authority+t.path+e}function W(t){if(!t)return null;var e=t.split(\".\");if(!e||3!==e.length)return null;try{return JSON.parse(decodeURIComponent(o.atob(e[1]).split(\"\").map((function(t){return \"%\"+(\"00\"+t.charCodeAt(0).toString(16)).slice(-2)})).join(\"\")))}catch(t){return null}}var Q=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null;};Q.prototype.getStorageKey=function(t){var e,r=W(R.ACCESS_TOKEN);return e=r&&r.u?o.btoa(encodeURIComponent(r.u).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(Number(\"0x\"+e))}))):R.ACCESS_TOKEN||\"\",t?\"mapbox.eventData.\"+t+\":\"+e:\"mapbox.eventData:\"+e},Q.prototype.fetchEventData=function(){var t=P(\"localStorage\"),e=this.getStorageKey(),r=this.getStorageKey(\"uuid\");if(t)try{var n=o.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var i=o.localStorage.getItem(r);i&&(this.anonId=i);}catch(t){A(\"Unable to read from LocalStorage\");}},Q.prototype.saveEventData=function(){var t=P(\"localStorage\"),e=this.getStorageKey(),r=this.getStorageKey(\"uuid\");if(t)try{o.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&o.localStorage.setItem(e,JSON.stringify(this.eventData));}catch(t){A(\"Unable to write to LocalStorage\");}},Q.prototype.processRequests=function(t){},Q.prototype.postEvent=function(t,e,r,n){var i=this;if(R.EVENTS_URL){var a=Y(R.EVENTS_URL);a.params.push(\"access_token=\"+(n||R.ACCESS_TOKEN||\"\"));var o={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:\"1.13.3\",skuId:K,userId:this.anonId},s=e?h(o,e):o,u={url:$(a),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([s])};this.pendingRequest=wt(u,(function(t){i.pendingRequest=null,r(t),i.saveEventData(),i.processRequests(n);}));}},Q.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e);};var tt,et,rt=function(t){function e(){t.call(this,\"map.load\"),this.success={},this.skuToken=\"\";}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r;var i=!(!n&&!R.ACCESS_TOKEN),a=Array.isArray(t)&&t.some((function(t){return Z(t)||J(t)}));R.EVENTS_URL&&i&&a&&this.queueRequest({id:e,timestamp:Date.now()},n);},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),m(this.anonId)||(this.anonId=d()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0);}),t));}},e}(Q),nt=new(function(t){function e(e){t.call(this,\"appUserTurnstile\"),this._customAccessToken=e;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.postTurnstileEvent=function(t,e){R.EVENTS_URL&&R.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return Z(t)||J(t)}))&&this.queueRequest(Date.now(),e);},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=W(R.ACCESS_TOKEN),n=r?r.u:R.ACCESS_TOKEN,i=n!==this.eventData.tokenU;m(this.anonId)||(this.anonId=d(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),u=(a-this.eventData.lastSuccess)/864e5;i=i||u>=1||u<-1||o.getDate()!==s.getDate();}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{\"enabled.telemetry\":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n);}),t);}},e}(Q)),it=nt.postTurnstileEvent.bind(nt),at=new rt,ot=at.postMapLoadEvent.bind(at),st=500,ut=50;function lt(){o.caches&&!tt&&(tt=o.caches.open(\"mapbox-tiles\"));}function pt(t){var e=t.indexOf(\"?\");return e<0?t:t.slice(0,e)}var ct,ht=1/0;function ft(){return null==ct&&(ct=o.OffscreenCanvas&&new o.OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof o.createImageBitmap),ct}var yt={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};\"function\"==typeof Object.freeze&&Object.freeze(yt);var dt=function(t){function e(e,r,n){401===r&&J(n)&&(e+=\": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.toString=function(){return this.name+\": \"+this.message+\" (\"+this.status+\"): \"+this.url},e}(Error),mt=I()?function(){return self.worker&&self.worker.referrer}:function(){return (\"blob:\"===o.location.protocol?o.parent:o).location.href};var vt,gt,xt=function(t,e){if(!(/^file:/.test(r=t.url)||/^file:/.test(mt())&&!/^\\w+:/.test(r))){if(o.fetch&&o.Request&&o.AbortController&&o.Request.prototype.hasOwnProperty(\"signal\"))return function(t,e){var r,n=new o.AbortController,i=new o.Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,referrer:mt(),signal:n.signal}),a=!1,s=!1,u=(r=i.url).indexOf(\"sku=\")>0&&J(r);\"json\"===t.type&&i.headers.set(\"Accept\",\"application/json\");var l=function(r,n,a){if(!s){if(r&&\"SecurityError\"!==r.message&&A(r),n&&a)return p(n);var l=Date.now();o.fetch(i).then((function(r){if(r.ok){var n=u?r.clone():null;return p(r,n,l)}return e(new dt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message));}));}},p=function(r,n,u){(\"arrayBuffer\"===t.type?r.arrayBuffer():\"json\"===t.type?r.json():r.text()).then((function(t){s||(n&&u&&function(t,e,r){if(lt(),tt){var n={status:e.status,statusText:e.statusText,headers:new o.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=z(e.headers.get(\"Cache-Control\")||\"\");i[\"no-store\"]||(i[\"max-age\"]&&n.headers.set(\"Expires\",new Date(r+1e3*i[\"max-age\"]).toUTCString()),new Date(n.headers.get(\"Expires\")).getTime()-r<42e4||function(t,e){if(void 0===et)try{new Response(new ReadableStream),et=!0;}catch(t){et=!1;}et?e(t.body):t.blob().then(e);}(e,(function(e){var r=new o.Response(e,n);lt(),tt&&tt.then((function(e){return e.put(pt(t.url),r)})).catch((function(t){return A(t.message)}));})));}}(i,n,u),a=!0,e(null,t,r.headers.get(\"Cache-Control\"),r.headers.get(\"Expires\")));})).catch((function(t){s||e(new Error(t.message));}));};return u?function(t,e){if(lt(),!tt)return e(null);var r=pt(t.url);tt.then((function(t){t.match(r).then((function(n){var i=function(t){if(!t)return !1;var e=new Date(t.headers.get(\"Expires\")||0),r=z(t.headers.get(\"Cache-Control\")||\"\");return e>Date.now()&&!r[\"no-cache\"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i);})).catch(e);})).catch(e);}(i,l):l(null,null),{cancel:function(){s=!0,a||n.abort();}}}(t,e);if(I()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",t,e,void 0,!0)}var r;return function(t,e){var r=new o.XMLHttpRequest;for(var n in r.open(t.method||\"GET\",t.url,!0),\"arrayBuffer\"===t.type&&(r.responseType=\"arraybuffer\"),t.headers)r.setRequestHeader(n,t.headers[n]);return \"json\"===t.type&&(r.responseType=\"text\",r.setRequestHeader(\"Accept\",\"application/json\")),r.withCredentials=\"include\"===t.credentials,r.onerror=function(){e(new Error(r.statusText));},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if(\"json\"===t.type)try{n=JSON.parse(r.response);}catch(t){return e(t)}e(null,n,r.getResponseHeader(\"Cache-Control\"),r.getResponseHeader(\"Expires\"));}else e(new dt(r.statusText,r.status,t.url));},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},bt=function(t,e){return xt(h(t,{type:\"arrayBuffer\"}),e)},wt=function(t,e){return xt(h(t,{method:\"POST\"}),e)},_t=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";vt=[],gt=0;var At=function(t,e){if(U.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\"),gt>=R.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0;}};return vt.push(r),r}gt++;var n=!1,i=function(){if(!n)for(n=!0,gt--;vt.length&><R.MAX_PARALLEL_IMAGE_REQUESTS;){var t=vt.shift();t.cancelled||(t.cancel=At(t.requestParameters,t.callback).cancel);}},a=bt(t,(function(t,r,n,a){i(),t?e(t):r&&(ft()?function(t,e){var r=new o.Blob([new Uint8Array(t)],{type:\"image/png\"});o.createImageBitmap(r).then((function(t){e(null,t);})).catch((function(t){e(new Error(\"Could not load image because of \"+t.message+\". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));}));}(r,e):function(t,e,r,n){var i=new o.Image,a=o.URL;i.onload=function(){e(null,i),a.revokeObjectURL(i.src),i.onload=null,o.requestAnimationFrame((function(){i.src=_t;}));},i.onerror=function(){return e(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))};var s=new o.Blob([new Uint8Array(t)],{type:\"image/png\"});i.cacheControl=r,i.expires=n,i.src=t.byteLength?a.createObjectURL(s):_t;}(r,e,n,a));}));return {cancel:function(){a.cancel(),i();}}};function St(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e));}function kt(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1);}}var It=function(t,e){void 0===e&&(e={}),h(this,e),this.type=t;},zt=function(t){function e(e,r){void 0===r&&(r={}),t.call(this,\"error\",h({error:e},r));}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(It),Ct=function(){};Ct.prototype.on=function(t,e){return this._listeners=this._listeners||{},St(t,e,this._listeners),this},Ct.prototype.off=function(t,e){return kt(t,e,this._listeners),kt(t,e,this._oneTimeListeners),this},Ct.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},St(t,e,this._oneTimeListeners),this},Ct.prototype.fire=function(t,e){\"string\"==typeof t&&(t=new It(t,e||{}));var r=t.type;if(this.listens(r)){t.target=this;for(var n=0,i=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];n<i.length;n+=1)i[n].call(this,t);for(var a=0,o=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];a<o.length;a+=1){var s=o[a];kt(r,s,this._oneTimeListeners),s.call(this,t);}var u=this._eventedParent;u&&(h(t,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),u.fire(t));}else t instanceof zt&&console.error(t.error);return this},Ct.prototype.listens=function(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Ct.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Et={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"string\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{}},default:\"mapbox\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}},Pt=function(t,e,r,n){this.message=(t?t+\": \":\"\")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__);};function Mt(t){var e=t.value;return e?[new Pt(t.key,e,\"constants have been deprecated as of v8\")]:[]}function Bt(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o];}return t}function Tt(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function Vt(t){if(Array.isArray(t))return t.map(Vt);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){var e={};for(var r in t)e[r]=Vt(t[r]);return e}return Tt(t)}var Ft=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Error),Dt=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var i=n[r];this.bindings[i[0]]=i[1];}};Dt.prototype.concat=function(t){return new Dt(this,t)},Dt.prototype.get=function(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(t+\" not found in scope.\")},Dt.prototype.has=function(t){return !!this.bindings[t]||!!this.parent&&this.parent.has(t)};var Lt={kind:\"null\"},Ot={kind:\"number\"},Rt={kind:\"string\"},Ut={kind:\"boolean\"},jt={kind:\"color\"},qt={kind:\"object\"},Nt={kind:\"value\"},Kt={kind:\"collator\"},Gt={kind:\"formatted\"},Zt={kind:\"resolvedImage\"};function Xt(t,e){return {kind:\"array\",itemType:t,N:e}}function Jt(t){if(\"array\"===t.kind){var e=Jt(t.itemType);return \"number\"==typeof t.N?\"array<\"+e+\", \"+t.N+\">\":\"value\"===t.itemType.kind?\"array\":\"array<\"+e+\">\"}return t.kind}var Ht=[Lt,Ot,Rt,Ut,jt,Gt,qt,Xt(Nt),Zt];function Yt(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!Yt(t.itemType,e.itemType))&&(\"number\"!=typeof t.N||t.N===e.N))return null}else {if(t.kind===e.kind)return null;if(\"value\"===t.kind)for(var r=0,n=Ht;r<n.length;r+=1)if(!Yt(n[r],e))return null}return \"Expected \"+Jt(t)+\" but found \"+Jt(e)+\" instead.\"}function $t(t,e){return e.some((function(e){return e.kind===t.kind}))}function Wt(t,e){return e.some((function(e){return \"null\"===e?null===t:\"array\"===e?Array.isArray(t):\"object\"===e?t&&!Array.isArray(t)&&\"object\"==typeof t:e===typeof t}))}var Qt=e((function(t,e){var r={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function n(t){return (t=Math.round(t))<0?0:t>255?255:t}function i(t){return n(\"%\"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function a(t){return (e=\"%\"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e;}function o(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,s=t.replace(/ /g,\"\").toLowerCase();if(s in r)return r[s].slice();if(\"#\"===s[0])return 4===s.length?(e=parseInt(s.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===s.length&&(e=parseInt(s.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var u=s.indexOf(\"(\"),l=s.indexOf(\")\");if(-1!==u&&l+1===s.length){var p=s.substr(0,u),c=s.substr(u+1,l-(u+1)).split(\",\"),h=1;switch(p){case\"rgba\":if(4!==c.length)return null;h=a(c.pop());case\"rgb\":return 3!==c.length?null:[i(c[0]),i(c[1]),i(c[2]),h];case\"hsla\":if(4!==c.length)return null;h=a(c.pop());case\"hsl\":if(3!==c.length)return null;var f=(parseFloat(c[0])%360+360)%360/360,y=a(c[1]),d=a(c[2]),m=d<=.5?d*(y+1):d+y-d*y,v=2*d-m;return [n(255*o(v,m,f+1/3)),n(255*o(v,m,f)),n(255*o(v,m,f-1/3)),h];default:return null}}return null};}catch(t){}})).parseCSSColor,te=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n;};te.parse=function(t){if(t){if(t instanceof te)return t;if(\"string\"==typeof t){var e=Qt(t);if(e)return new te(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},te.prototype.toString=function(){var t=this.toArray(),e=t[1],r=t[2],n=t[3];return \"rgba(\"+Math.round(t[0])+\",\"+Math.round(e)+\",\"+Math.round(r)+\",\"+n+\")\"},te.prototype.toArray=function(){var t=this.a;return 0===t?[0,0,0,0]:[255*this.r/t,255*this.g/t,255*this.b/t,t]},te.black=new te(0,0,0,1),te.white=new te(1,1,1,1),te.transparent=new te(0,0,0,0),te.red=new te(1,0,0,1);var ee=function(t,e,r){this.sensitivity=t?e?\"variant\":\"case\":e?\"accent\":\"base\",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"});};ee.prototype.compare=function(t,e){return this.collator.compare(t,e)},ee.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var re=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i;},ne=function(t){this.sections=t;};ne.fromString=function(t){return new ne([new re(t,null,null,null,null)])},ne.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},ne.factory=function(t){return t instanceof ne?t:ne.fromString(t)},ne.prototype.toString=function(){return 0===this.sections.length?\"\":this.sections.map((function(t){return t.text})).join(\"\")},ne.prototype.serialize=function(){for(var t=[\"format\"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];if(n.image)t.push([\"image\",n.image.name]);else {t.push(n.text);var i={};n.fontStack&&(i[\"text-font\"]=[\"literal\",n.fontStack.split(\",\")]),n.scale&&(i[\"font-scale\"]=n.scale),n.textColor&&(i[\"text-color\"]=[\"rgba\"].concat(n.textColor.toArray())),t.push(i);}}return t};var ie=function(t){this.name=t.name,this.available=t.available;};function ae(t,e,r,n){return \"number\"==typeof t&&t>=0&&t<=255&&\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:\"Invalid rgba value [\"+[t,e,r,n].join(\", \")+\"]: 'a' must be between 0 and 1.\":\"Invalid rgba value [\"+(\"number\"==typeof n?[t,e,r,n]:[t,e,r]).join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}function oe(t){if(null===t)return !0;if(\"string\"==typeof t)return !0;if(\"boolean\"==typeof t)return !0;if(\"number\"==typeof t)return !0;if(t instanceof te)return !0;if(t instanceof ee)return !0;if(t instanceof ne)return !0;if(t instanceof ie)return !0;if(Array.isArray(t)){for(var e=0,r=t;e<r.length;e+=1)if(!oe(r[e]))return !1;return !0}if(\"object\"==typeof t){for(var n in t)if(!oe(t[n]))return !1;return !0}return !1}function se(t){if(null===t)return Lt;if(\"string\"==typeof t)return Rt;if(\"boolean\"==typeof t)return Ut;if(\"number\"==typeof t)return Ot;if(t instanceof te)return jt;if(t instanceof ee)return Kt;if(t instanceof ne)return Gt;if(t instanceof ie)return Zt;if(Array.isArray(t)){for(var e,r=t.length,n=0,i=t;n<i.length;n+=1){var a=se(i[n]);if(e){if(e===a)continue;e=Nt;break}e=a;}return Xt(e||Nt,r)}return qt}function ue(t){var e=typeof t;return null===t?\"\":\"string\"===e||\"number\"===e||\"boolean\"===e?String(t):t instanceof te||t instanceof ne||t instanceof ie?t.toString():JSON.stringify(t)}ie.prototype.toString=function(){return this.name},ie.fromString=function(t){return t?new ie({name:t,available:!1}):null},ie.prototype.serialize=function(){return [\"image\",this.name]};var le=function(t,e){this.type=t,this.value=e;};le.parse=function(t,e){if(2!==t.length)return e.error(\"'literal' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\");if(!oe(t[1]))return e.error(\"invalid value\");var r=t[1],n=se(r),i=e.expectedType;return \"array\"!==n.kind||0!==n.N||!i||\"array\"!==i.kind||\"number\"==typeof i.N&&0!==i.N||(n=i),new le(n,r)},le.prototype.evaluate=function(){return this.value},le.prototype.eachChild=function(){},le.prototype.outputDefined=function(){return !0},le.prototype.serialize=function(){return \"array\"===this.type.kind||\"object\"===this.type.kind?[\"literal\",this.value]:this.value instanceof te?[\"rgba\"].concat(this.value.toArray()):this.value instanceof ne?this.value.serialize():this.value};var pe=function(t){this.name=\"ExpressionEvaluationError\",this.message=t;};pe.prototype.toJSON=function(){return this.message};var ce={string:Rt,number:Ot,boolean:Ut,object:qt},he=function(t,e){this.type=t,this.args=e;};he.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r,n=1,i=t[0];if(\"array\"===i){var a,o;if(t.length>2){var s=t[1];if(\"string\"!=typeof s||!(s in ce)||\"object\"===s)return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);a=ce[s],n++;}else a=Nt;if(t.length>3){if(null!==t[2]&&(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to \"array\" must be a positive integer literal',2);o=t[2],n++;}r=Xt(a,o);}else r=ce[i];for(var u=[];n<t.length;n++){var l=e.parse(t[n],n,Nt);if(!l)return null;u.push(l);}return new he(r,u)},he.prototype.evaluate=function(t){for(var e=0;e<this.args.length;e++){var r=this.args[e].evaluate(t);if(!Yt(this.type,se(r)))return r;if(e===this.args.length-1)throw new pe(\"Expected value to be of type \"+Jt(this.type)+\", but found \"+Jt(se(r))+\" instead.\")}return null},he.prototype.eachChild=function(t){this.args.forEach(t);},he.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},he.prototype.serialize=function(){var t=this.type,e=[t.kind];if(\"array\"===t.kind){var r=t.itemType;if(\"string\"===r.kind||\"number\"===r.kind||\"boolean\"===r.kind){e.push(r.kind);var n=t.N;(\"number\"==typeof n||this.args.length>1)&&e.push(n);}}return e.concat(this.args.map((function(t){return t.serialize()})))};var fe=function(t){this.type=Gt,this.sections=t;};fe.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r=t[1];if(!Array.isArray(r)&&\"object\"==typeof r)return e.error(\"First argument must be an image or text section.\");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&\"object\"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o[\"font-scale\"]&&!(s=e.parse(o[\"font-scale\"],1,Ot)))return null;var u=null;if(o[\"text-font\"]&&!(u=e.parse(o[\"text-font\"],1,Xt(Rt))))return null;var l=null;if(o[\"text-color\"]&&!(l=e.parse(o[\"text-color\"],1,jt)))return null;var p=n[n.length-1];p.scale=s,p.font=u,p.textColor=l;}else {var c=e.parse(t[a],1,Nt);if(!c)return null;var h=c.type.kind;if(\"string\"!==h&&\"value\"!==h&&\"null\"!==h&&\"resolvedImage\"!==h)return e.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");i=!0,n.push({content:c,scale:null,font:null,textColor:null});}}return new fe(n)},fe.prototype.evaluate=function(t){return new ne(this.sections.map((function(e){var r=e.content.evaluate(t);return se(r)===Zt?new re(\"\",r,null,null,null):new re(ue(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(\",\"):null,e.textColor?e.textColor.evaluate(t):null)})))},fe.prototype.eachChild=function(t){for(var e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t(n.content),n.scale&&t(n.scale),n.font&&t(n.font),n.textColor&&t(n.textColor);}},fe.prototype.outputDefined=function(){return !1},fe.prototype.serialize=function(){for(var t=[\"format\"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t.push(n.content.serialize());var i={};n.scale&&(i[\"font-scale\"]=n.scale.serialize()),n.font&&(i[\"text-font\"]=n.font.serialize()),n.textColor&&(i[\"text-color\"]=n.textColor.serialize()),t.push(i);}return t};var ye=function(t){this.type=Zt,this.input=t;};ye.parse=function(t,e){if(2!==t.length)return e.error(\"Expected two arguments.\");var r=e.parse(t[1],1,Rt);return r?new ye(r):e.error(\"No image name provided.\")},ye.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=ie.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r},ye.prototype.eachChild=function(t){t(this.input);},ye.prototype.outputDefined=function(){return !1},ye.prototype.serialize=function(){return [\"image\",this.input.serialize()]};var de={\"to-boolean\":Ut,\"to-color\":jt,\"to-number\":Ot,\"to-string\":Rt},me=function(t,e){this.type=t,this.args=e;};me.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r=t[0];if((\"to-boolean\"===r||\"to-string\"===r)&&2!==t.length)return e.error(\"Expected one argument.\");for(var n=de[r],i=[],a=1;a<t.length;a++){var o=e.parse(t[a],a,Nt);if(!o)return null;i.push(o);}return new me(n,i)},me.prototype.evaluate=function(t){if(\"boolean\"===this.type.kind)return Boolean(this.args[0].evaluate(t));if(\"color\"===this.type.kind){for(var e,r,n=0,i=this.args;n<i.length;n+=1){if(r=null,(e=i[n].evaluate(t))instanceof te)return e;if(\"string\"==typeof e){var a=t.parseColor(e);if(a)return a}else if(Array.isArray(e)&&!(r=e.length<3||e.length>4?\"Invalid rbga value \"+JSON.stringify(e)+\": expected an array containing either three or four numeric values.\":ae(e[0],e[1],e[2],e[3])))return new te(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new pe(r||\"Could not parse color from value '\"+(\"string\"==typeof e?e:String(JSON.stringify(e)))+\"'\")}if(\"number\"===this.type.kind){for(var o=null,s=0,u=this.args;s<u.length;s+=1){if(null===(o=u[s].evaluate(t)))return 0;var l=Number(o);if(!isNaN(l))return l}throw new pe(\"Could not convert \"+JSON.stringify(o)+\" to number.\")}return \"formatted\"===this.type.kind?ne.fromString(ue(this.args[0].evaluate(t))):\"resolvedImage\"===this.type.kind?ie.fromString(ue(this.args[0].evaluate(t))):ue(this.args[0].evaluate(t))},me.prototype.eachChild=function(t){this.args.forEach(t);},me.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},me.prototype.serialize=function(){if(\"formatted\"===this.type.kind)return new fe([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if(\"resolvedImage\"===this.type.kind)return new ye(this.args[0]).serialize();var t=[\"to-\"+this.type.kind];return this.eachChild((function(e){t.push(e.serialize());})),t};var ve=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],ge=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null;};ge.prototype.id=function(){return this.feature&&\"id\"in this.feature?this.feature.id:null},ge.prototype.geometryType=function(){return this.feature?\"number\"==typeof this.feature.type?ve[this.feature.type]:this.feature.type:null},ge.prototype.geometry=function(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null},ge.prototype.canonicalID=function(){return this.canonical},ge.prototype.properties=function(){return this.feature&&this.feature.properties||{}},ge.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=te.parse(t)),e};var xe=function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n;};xe.prototype.evaluate=function(t){return this._evaluate(t,this.args)},xe.prototype.eachChild=function(t){this.args.forEach(t);},xe.prototype.outputDefined=function(){return !1},xe.prototype.serialize=function(){return [this.name].concat(this.args.map((function(t){return t.serialize()})))},xe.parse=function(t,e){var r,n=t[0],i=xe.definitions[n];if(!i)return e.error('Unknown expression \"'+n+'\". If you wanted a literal array, use [\"literal\", [...]].',0);for(var a=Array.isArray(i)?i[0]:i.type,o=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,s=o.filter((function(e){var r=e[0];return !Array.isArray(r)||r.length===t.length-1})),u=null,l=0,p=s;l<p.length;l+=1){var c=p[l],h=c[0],f=c[1];u=new je(e.registry,e.path,null,e.scope);for(var y=[],d=!1,m=1;m<t.length;m++){var v=t[m],g=Array.isArray(h)?h[m-1]:h.type,x=u.parse(v,1+y.length,g);if(!x){d=!0;break}y.push(x);}if(!d)if(Array.isArray(h)&&h.length!==y.length)u.error(\"Expected \"+h.length+\" arguments, but found \"+y.length+\" instead.\");else {for(var b=0;b<y.length;b++){var w=Array.isArray(h)?h[b]:h.type,_=y[b];u.concat(b+1).checkSubtype(w,_.type);}if(0===u.errors.length)return new xe(n,a,f,y)}}if(1===s.length)(r=e.errors).push.apply(r,u.errors);else {for(var A=(s.length?s:o).map((function(t){var e;return e=t[0],Array.isArray(e)?\"(\"+e.map(Jt).join(\", \")+\")\":\"(\"+Jt(e.type)+\"...)\"})).join(\" | \"),S=[],k=1;k<t.length;k++){var I=e.parse(t[k],1+S.length);if(!I)return null;S.push(Jt(I.type));}e.error(\"Expected arguments of type \"+A+\", but found (\"+S.join(\", \")+\") instead.\");}return null},xe.register=function(t,e){for(var r in xe.definitions=e,e)t[r]=xe;};var be=function(t,e,r){this.type=Kt,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e;};function we(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1]);}function _e(t,e){return !(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Ae(t,e){var r=(180+t[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,i=Math.pow(2,e.z);return [Math.round(r*i*8192),Math.round(n*i*8192)]}function Se(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function ke(t,e){for(var r,n,i,a,o,s,u,l=!1,p=0,c=e.length;p<c;p++)for(var h=e[p],f=0,y=h.length;f<y-1;f++){if((a=(r=t)[0]-(n=h[f])[0])*(u=r[1]-(i=h[f+1])[1])-(s=r[0]-i[0])*(o=r[1]-n[1])==0&&a*s<=0&&o*u<=0)return !1;Se(t,h[f],h[f+1])&&(l=!l);}return l}function Ie(t,e){for(var r=0;r<e.length;r++)if(ke(t,e[r]))return !0;return !1}function ze(t,e,r,n){var i=n[0]-r[0],a=n[1]-r[1],o=(t[0]-r[0])*a-i*(t[1]-r[1]),s=(e[0]-r[0])*a-i*(e[1]-r[1]);return o>0&&s<0||o<0&&s>0}function Ce(t,e,r){for(var n=0,i=r;n<i.length;n+=1)for(var a=i[n],o=0;o<a.length-1;++o)if(0!=(c=[(p=a[o+1])[0]-(l=a[o])[0],p[1]-l[1]])[0]*(h=[(u=e)[0]-(s=t)[0],u[1]-s[1]])[1]-c[1]*h[0]&&ze(s,u,l,p)&&ze(l,p,s,u))return !0;var s,u,l,p,c,h;return !1}function Ee(t,e){for(var r=0;r<t.length;++r)if(!ke(t[r],e))return !1;for(var n=0;n<t.length-1;++n)if(Ce(t[n],t[n+1],e))return !1;return !0}function Pe(t,e){for(var r=0;r<e.length;r++)if(Ee(t,e[r]))return !0;return !1}function Me(t,e,r){for(var n=[],i=0;i<t.length;i++){for(var a=[],o=0;o<t[i].length;o++){var s=Ae(t[i][o],r);we(e,s),a.push(s);}n.push(a);}return n}function Be(t,e,r){for(var n=[],i=0;i<t.length;i++){var a=Me(t[i],e,r);n.push(a);}return n}function Te(t,e,r,n){if(t[0]<r[0]||t[0]>r[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a;}we(e,t);}function Ve(t,e,r,n){for(var i=8192*Math.pow(2,n.z),a=[8192*n.x,8192*n.y],o=[],s=0,u=t;s<u.length;s+=1)for(var l=0,p=u[s];l<p.length;l+=1){var c=p[l],h=[c.x+a[0],c.y+a[1]];Te(h,e,r,i),o.push(h);}return o}function Fe(t,e,r,n){for(var i,a=8192*Math.pow(2,n.z),o=[8192*n.x,8192*n.y],s=[],u=0,l=t;u<l.length;u+=1){for(var p=[],c=0,h=l[u];c<h.length;c+=1){var f=h[c],y=[f.x+o[0],f.y+o[1]];we(e,y),p.push(y);}s.push(p);}if(e[2]-e[0]<=a/2){(i=e)[0]=i[1]=1/0,i[2]=i[3]=-1/0;for(var d=0,m=s;d<m.length;d+=1)for(var v=0,g=m[d];v<g.length;v+=1)Te(g[v],e,r,a);}return s}be.parse=function(t,e){if(2!==t.length)return e.error(\"Expected one argument.\");var r=t[1];if(\"object\"!=typeof r||Array.isArray(r))return e.error(\"Collator options argument must be an object.\");var n=e.parse(void 0!==r[\"case-sensitive\"]&&r[\"case-sensitive\"],1,Ut);if(!n)return null;var i=e.parse(void 0!==r[\"diacritic-sensitive\"]&&r[\"diacritic-sensitive\"],1,Ut);if(!i)return null;var a=null;return r.locale&&!(a=e.parse(r.locale,1,Rt))?null:new be(n,i,a)},be.prototype.evaluate=function(t){return new ee(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)},be.prototype.eachChild=function(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale);},be.prototype.outputDefined=function(){return !1},be.prototype.serialize=function(){var t={};return t[\"case-sensitive\"]=this.caseSensitive.serialize(),t[\"diacritic-sensitive\"]=this.diacriticSensitive.serialize(),this.locale&&(t.locale=this.locale.serialize()),[\"collator\",t]};var De=function(t,e){this.type=Ut,this.geojson=t,this.geometries=e;};function Le(t){if(t instanceof xe){if(\"get\"===t.name&&1===t.args.length)return !1;if(\"feature-state\"===t.name)return !1;if(\"has\"===t.name&&1===t.args.length)return !1;if(\"properties\"===t.name||\"geometry-type\"===t.name||\"id\"===t.name)return !1;if(/^filter-/.test(t.name))return !1}if(t instanceof De)return !1;var e=!0;return t.eachChild((function(t){e&&!Le(t)&&(e=!1);})),e}function Oe(t){if(t instanceof xe&&\"feature-state\"===t.name)return !1;var e=!0;return t.eachChild((function(t){e&&!Oe(t)&&(e=!1);})),e}function Re(t,e){if(t instanceof xe&&e.indexOf(t.name)>=0)return !1;var r=!0;return t.eachChild((function(t){r&&!Re(t,e)&&(r=!1);})),r}De.parse=function(t,e){if(2!==t.length)return e.error(\"'within' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\");if(oe(t[1])){var r=t[1];if(\"FeatureCollection\"===r.type)for(var n=0;n<r.features.length;++n){var i=r.features[n].geometry.type;if(\"Polygon\"===i||\"MultiPolygon\"===i)return new De(r,r.features[n].geometry)}else if(\"Feature\"===r.type){var a=r.geometry.type;if(\"Polygon\"===a||\"MultiPolygon\"===a)return new De(r,r.geometry)}else if(\"Polygon\"===r.type||\"MultiPolygon\"===r.type)return new De(r,r)}return e.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")},De.prototype.evaluate=function(t){if(null!=t.geometry()&&null!=t.canonicalID()){if(\"Point\"===t.geometryType())return function(t,e){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if(\"Polygon\"===e.type){var a=Me(e.coordinates,n,i),o=Ve(t.geometry(),r,n,i);if(!_e(r,n))return !1;for(var s=0,u=o;s<u.length;s+=1)if(!ke(u[s],a))return !1}if(\"MultiPolygon\"===e.type){var l=Be(e.coordinates,n,i),p=Ve(t.geometry(),r,n,i);if(!_e(r,n))return !1;for(var c=0,h=p;c<h.length;c+=1)if(!Ie(h[c],l))return !1}return !0}(t,this.geometries);if(\"LineString\"===t.geometryType())return function(t,e){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if(\"Polygon\"===e.type){var a=Me(e.coordinates,n,i),o=Fe(t.geometry(),r,n,i);if(!_e(r,n))return !1;for(var s=0,u=o;s<u.length;s+=1)if(!Ee(u[s],a))return !1}if(\"MultiPolygon\"===e.type){var l=Be(e.coordinates,n,i),p=Fe(t.geometry(),r,n,i);if(!_e(r,n))return !1;for(var c=0,h=p;c<h.length;c+=1)if(!Pe(h[c],l))return !1}return !0}(t,this.geometries)}return !1},De.prototype.eachChild=function(){},De.prototype.outputDefined=function(){return !0},De.prototype.serialize=function(){return [\"within\",this.geojson]};var Ue=function(t,e){this.type=e.type,this.name=t,this.boundExpression=e;};Ue.parse=function(t,e){if(2!==t.length||\"string\"!=typeof t[1])return e.error(\"'var' expression requires exactly one string literal argument.\");var r=t[1];return e.scope.has(r)?new Ue(r,e.scope.get(r)):e.error('Unknown variable \"'+r+'\". Make sure \"'+r+'\" has been bound in an enclosing \"let\" expression before using it.',1)},Ue.prototype.evaluate=function(t){return this.boundExpression.evaluate(t)},Ue.prototype.eachChild=function(){},Ue.prototype.outputDefined=function(){return !1},Ue.prototype.serialize=function(){return [\"var\",this.name]};var je=function(t,e,r,n,i){void 0===e&&(e=[]),void 0===n&&(n=new Dt),void 0===i&&(i=[]),this.registry=t,this.path=e,this.key=e.map((function(t){return \"[\"+t+\"]\"})).join(\"\"),this.scope=n,this.errors=i,this.expectedType=r;};function qe(t,e){for(var r,n=t.length-1,i=0,a=n,o=0;i<=a;)if((r=t[o=Math.floor((i+a)/2)])<=e){if(o===n||e<t[o+1])return o;i=o+1;}else {if(!(r>e))throw new pe(\"Input is not a number.\");a=o-1;}return 0}je.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},je.prototype._parse=function(t,e){function r(t,e,r){return \"assert\"===r?new he(e,[t]):\"coerce\"===r?new me(e,[t]):t}if(null!==t&&\"string\"!=typeof t&&\"boolean\"!=typeof t&&\"number\"!=typeof t||(t=[\"literal\",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var n=t[0];if(\"string\"!=typeof n)return this.error(\"Expression name must be a string, but found \"+typeof n+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if(\"string\"!==o.kind&&\"number\"!==o.kind&&\"boolean\"!==o.kind&&\"object\"!==o.kind&&\"array\"!==o.kind||\"value\"!==s.kind)if(\"color\"!==o.kind&&\"formatted\"!==o.kind&&\"resolvedImage\"!==o.kind||\"value\"!==s.kind&&\"string\"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||\"coerce\");else a=r(a,o,e.typeAnnotation||\"assert\");}if(!(a instanceof le)&&\"resolvedImage\"!==a.type.kind&&function t(e){if(e instanceof Ue)return t(e.boundExpression);if(e instanceof xe&&\"error\"===e.name)return !1;if(e instanceof be)return !1;if(e instanceof De)return !1;var r=e instanceof me||e instanceof he,n=!0;return e.eachChild((function(e){n=r?n&&t(e):n&&e instanceof le;})),!!n&&Le(e)&&Re(e,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}(a)){var u=new ge;try{a=new le(a.type,a.evaluate(u));}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression \"'+n+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}return this.error(void 0===t?\"'undefined' value invalid. Use null instead.\":\"object\"==typeof t?'Bare objects invalid. Use [\"literal\", {...}] instead.':\"Expected an array, but found \"+typeof t+\" instead.\")},je.prototype.concat=function(t,e,r){var n=\"number\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new je(this.registry,n,e||null,i,this.errors)},je.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=\"\"+this.key+e.map((function(t){return \"[\"+t+\"]\"})).join(\"\");this.errors.push(new Ft(n,t));},je.prototype.checkSubtype=function(t,e){var r=Yt(t,e);return r&&this.error(r),r};var Ne=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[1];this.labels.push(a[0]),this.outputs.push(o);}};function Ke(t,e,r){return t*(1-r)+e*r}Ne.parse=function(t,e){if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");var r=e.parse(t[1],1,Ot);if(!r)return null;var n=[],i=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(i=e.expectedType);for(var a=1;a<t.length;a+=2){var o=1===a?-1/0:t[a],s=t[a+1],u=a,l=a+1;if(\"number\"!=typeof o)return e.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',u);if(n.length&&n[n.length-1][0]>=o)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',u);var p=e.parse(s,l,i);if(!p)return null;i=i||p.type,n.push([o,p]);}return new Ne(i,r,n)},Ne.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[qe(e,n)].evaluate(t)},Ne.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e]);},Ne.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))},Ne.prototype.serialize=function(){for(var t=[\"step\",this.input.serialize()],e=0;e<this.labels.length;e++)e>0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var Ge=Object.freeze({__proto__:null,number:Ke,color:function(t,e,r){return new te(Ke(t.r,e.r,r),Ke(t.g,e.g,r),Ke(t.b,e.b,r),Ke(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return Ke(t,e[n],r)}))}}),Ze=6/29*3*(6/29),Xe=Math.PI/180,Je=180/Math.PI;function He(t){return t>.008856451679035631?Math.pow(t,1/3):t/Ze+4/29}function Ye(t){return t>6/29?t*t*t:Ze*(t-4/29)}function $e(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function We(t){return (t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Qe(t){var e=We(t.r),r=We(t.g),n=We(t.b),i=He((.4124564*e+.3575761*r+.1804375*n)/.95047),a=He((.2126729*e+.7151522*r+.072175*n)/1);return {l:116*a-16,a:500*(i-a),b:200*(a-He((.0193339*e+.119192*r+.9503041*n)/1.08883)),alpha:t.a}}function tr(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*Ye(e),r=.95047*Ye(r),n=1.08883*Ye(n),new te($e(3.2404542*r-1.5371385*e-.4985314*n),$e(-.969266*r+1.8760108*e+.041556*n),$e(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function er(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var rr={forward:Qe,reverse:tr,interpolate:function(t,e,r){return {l:Ke(t.l,e.l,r),a:Ke(t.a,e.a,r),b:Ke(t.b,e.b,r),alpha:Ke(t.alpha,e.alpha,r)}}},nr={forward:function(t){var e=Qe(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*Je;return {h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*Xe,r=t.c;return tr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return {h:er(t.h,e.h,r),c:Ke(t.c,e.c,r),l:Ke(t.l,e.l,r),alpha:Ke(t.alpha,e.alpha,r)}}},ir=Object.freeze({__proto__:null,lab:rr,hcl:nr}),ar=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a<o.length;a+=1){var s=o[a],u=s[1];this.labels.push(s[0]),this.outputs.push(u);}};function or(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}ar.interpolationFactor=function(t,e,n,i){var a=0;if(\"exponential\"===t.name)a=or(e,t.base,n,i);else if(\"linear\"===t.name)a=or(e,1,n,i);else if(\"cubic-bezier\"===t.name){var o=t.controlPoints;a=new r(o[0],o[1],o[2],o[3]).solve(or(e,1,n,i));}return a},ar.parse=function(t,e){var r=t[0],n=t[1],i=t[2],a=t.slice(3);if(!Array.isArray(n)||0===n.length)return e.error(\"Expected an interpolation type expression.\",1);if(\"linear\"===n[0])n={name:\"linear\"};else if(\"exponential\"===n[0]){var o=n[1];if(\"number\"!=typeof o)return e.error(\"Exponential interpolation requires a numeric base.\",1,1);n={name:\"exponential\",base:o};}else {if(\"cubic-bezier\"!==n[0])return e.error(\"Unknown interpolation type \"+String(n[0]),1,0);var s=n.slice(1);if(4!==s.length||s.some((function(t){return \"number\"!=typeof t||t<0||t>1})))return e.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);n={name:\"cubic-bezier\",controlPoints:s};}if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(!(i=e.parse(i,2,Ot)))return null;var u=[],l=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?l=jt:e.expectedType&&\"value\"!==e.expectedType.kind&&(l=e.expectedType);for(var p=0;p<a.length;p+=2){var c=a[p],h=a[p+1],f=p+3,y=p+4;if(\"number\"!=typeof c)return e.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',f);if(u.length&&u[u.length-1][0]>=c)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',f);var d=e.parse(h,y,l);if(!d)return null;l=l||d.type,u.push([c,d]);}return \"number\"===l.kind||\"color\"===l.kind||\"array\"===l.kind&&\"number\"===l.itemType.kind&&\"number\"==typeof l.N?new ar(l,r,n,i,u):e.error(\"Type \"+Jt(l)+\" is not interpolatable.\")},ar.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=qe(e,n),o=ar.interpolationFactor(this.interpolation,n,e[a],e[a+1]),s=r[a].evaluate(t),u=r[a+1].evaluate(t);return \"interpolate\"===this.operator?Ge[this.type.kind.toLowerCase()](s,u,o):\"interpolate-hcl\"===this.operator?nr.reverse(nr.interpolate(nr.forward(s),nr.forward(u),o)):rr.reverse(rr.interpolate(rr.forward(s),rr.forward(u),o))},ar.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e]);},ar.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))},ar.prototype.serialize=function(){var t;t=\"linear\"===this.interpolation.name?[\"linear\"]:\"exponential\"===this.interpolation.name?1===this.interpolation.base?[\"linear\"]:[\"exponential\",this.interpolation.base]:[\"cubic-bezier\"].concat(this.interpolation.controlPoints);for(var e=[this.operator,t,this.input.serialize()],r=0;r<this.labels.length;r++)e.push(this.labels[r],this.outputs[r].serialize());return e};var sr=function(t,e){this.type=t,this.args=e;};sr.parse=function(t,e){if(t.length<2)return e.error(\"Expectected at least one argument.\");var r=null,n=e.expectedType;n&&\"value\"!==n.kind&&(r=n);for(var i=[],a=0,o=t.slice(1);a<o.length;a+=1){var s=e.parse(o[a],1+i.length,r,void 0,{typeAnnotation:\"omit\"});if(!s)return null;r=r||s.type,i.push(s);}var u=n&&i.some((function(t){return Yt(n,t.type)}));return new sr(u?Nt:r,i)},sr.prototype.evaluate=function(t){for(var e,r=null,n=0,i=0,a=this.args;i<a.length&&(n++,(r=a[i].evaluate(t))&&r instanceof ie&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null===r);i+=1);return r},sr.prototype.eachChild=function(t){this.args.forEach(t);},sr.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},sr.prototype.serialize=function(){var t=[\"coalesce\"];return this.eachChild((function(e){t.push(e.serialize());})),t};var ur=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e;};ur.prototype.evaluate=function(t){return this.result.evaluate(t)},ur.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result);},ur.parse=function(t,e){if(t.length<4)return e.error(\"Expected at least 3 arguments, but found \"+(t.length-1)+\" instead.\");for(var r=[],n=1;n<t.length-1;n+=2){var i=t[n];if(\"string\"!=typeof i)return e.error(\"Expected string, but found \"+typeof i+\" instead.\",n);if(/[^a-zA-Z0-9_]/.test(i))return e.error(\"Variable names must contain only alphanumeric characters or '_'.\",n);var a=e.parse(t[n+1],n+1);if(!a)return null;r.push([i,a]);}var o=e.parse(t[t.length-1],t.length-1,e.expectedType,r);return o?new ur(r,o):null},ur.prototype.outputDefined=function(){return this.result.outputDefined()},ur.prototype.serialize=function(){for(var t=[\"let\"],e=0,r=this.bindings;e<r.length;e+=1){var n=r[e];t.push(n[0],n[1].serialize());}return t.push(this.result.serialize()),t};var lr=function(t,e,r){this.type=t,this.index=e,this.input=r;};lr.parse=function(t,e){if(3!==t.length)return e.error(\"Expected 2 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Ot),n=e.parse(t[2],2,Xt(e.expectedType||Nt));return r&&n?new lr(n.type.itemType,r,n):null},lr.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0)throw new pe(\"Array index out of bounds: \"+e+\" < 0.\");if(e>=r.length)throw new pe(\"Array index out of bounds: \"+e+\" > \"+(r.length-1)+\".\");if(e!==Math.floor(e))throw new pe(\"Array index must be an integer, but found \"+e+\" instead.\");return r[e]},lr.prototype.eachChild=function(t){t(this.index),t(this.input);},lr.prototype.outputDefined=function(){return !1},lr.prototype.serialize=function(){return [\"at\",this.index.serialize(),this.input.serialize()]};var pr=function(t,e){this.type=Ut,this.needle=t,this.haystack=e;};pr.parse=function(t,e){if(3!==t.length)return e.error(\"Expected 2 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Nt),n=e.parse(t[2],2,Nt);return r&&n?$t(r.type,[Ut,Rt,Ot,Lt,Nt])?new pr(r,n):e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Jt(r.type)+\" instead\"):null},pr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return !1;if(!Wt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new pe(\"Expected first argument to be of type boolean, string, number or null, but found \"+Jt(se(e))+\" instead.\");if(!Wt(r,[\"string\",\"array\"]))throw new pe(\"Expected second argument to be of type array or string, but found \"+Jt(se(r))+\" instead.\");return r.indexOf(e)>=0},pr.prototype.eachChild=function(t){t(this.needle),t(this.haystack);},pr.prototype.outputDefined=function(){return !0},pr.prototype.serialize=function(){return [\"in\",this.needle.serialize(),this.haystack.serialize()]};var cr=function(t,e,r){this.type=Ot,this.needle=t,this.haystack=e,this.fromIndex=r;};cr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error(\"Expected 3 or 4 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Nt),n=e.parse(t[2],2,Nt);if(!r||!n)return null;if(!$t(r.type,[Ut,Rt,Ot,Lt,Nt]))return e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Jt(r.type)+\" instead\");if(4===t.length){var i=e.parse(t[3],3,Ot);return i?new cr(r,n,i):null}return new cr(r,n)},cr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!Wt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new pe(\"Expected first argument to be of type boolean, string, number or null, but found \"+Jt(se(e))+\" instead.\");if(!Wt(r,[\"string\",\"array\"]))throw new pe(\"Expected second argument to be of type array or string, but found \"+Jt(se(r))+\" instead.\");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},cr.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex);},cr.prototype.outputDefined=function(){return !1},cr.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return [\"index-of\",this.needle.serialize(),this.haystack.serialize(),t]}return [\"index-of\",this.needle.serialize(),this.haystack.serialize()]};var hr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a;};hr.parse=function(t,e){if(t.length<5)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");var r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;o<t.length-1;o+=2){var s=t[o],u=t[o+1];Array.isArray(s)||(s=[s]);var l=e.concat(o);if(0===s.length)return l.error(\"Expected at least one branch label.\");for(var p=0,c=s;p<c.length;p+=1){var h=c[p];if(\"number\"!=typeof h&&\"string\"!=typeof h)return l.error(\"Branch labels must be numbers or strings.\");if(\"number\"==typeof h&&Math.abs(h)>Number.MAX_SAFE_INTEGER)return l.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(\"number\"==typeof h&&Math.floor(h)!==h)return l.error(\"Numeric branch labels must be integer values.\");if(r){if(l.checkSubtype(r,se(h)))return null}else r=se(h);if(void 0!==i[String(h)])return l.error(\"Branch labels must be unique.\");i[String(h)]=a.length;}var f=e.parse(u,o,n);if(!f)return null;n=n||f.type,a.push(f);}var y=e.parse(t[1],1,Nt);if(!y)return null;var d=e.parse(t[t.length-1],t.length-1,n);return d?\"value\"!==y.type.kind&&e.concat(1).checkSubtype(r,y.type)?null:new hr(r,n,y,i,a,d):null},hr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return (se(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},hr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise);},hr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},hr.prototype.serialize=function(){for(var t=this,e=[\"match\",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i<a.length;i+=1){var o=a[i];void 0===(c=n[this.cases[o]])?(n[this.cases[o]]=r.length,r.push([this.cases[o],[o]])):r[c][1].push(o);}for(var s=function(e){return \"number\"===t.inputType.kind?Number(e):e},u=0,l=r;u<l.length;u+=1){var p=l[u],c=p[0],h=p[1];e.push(1===h.length?s(h[0]):h.map(s)),e.push(this.outputs[outputIndex$1].serialize());}return e.push(this.otherwise.serialize()),e};var fr=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r;};fr.parse=function(t,e){if(t.length<4)return e.error(\"Expected at least 3 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=0)return e.error(\"Expected an odd number of arguments.\");var r;e.expectedType&&\"value\"!==e.expectedType.kind&&(r=e.expectedType);for(var n=[],i=1;i<t.length-1;i+=2){var a=e.parse(t[i],i,Ut);if(!a)return null;var o=e.parse(t[i+1],i+1,r);if(!o)return null;n.push([a,o]),r=r||o.type;}var s=e.parse(t[t.length-1],t.length-1,r);return s?new fr(r,n,s):null},fr.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[1];if(n[0].evaluate(t))return i.evaluate(t)}return this.otherwise.evaluate(t)},fr.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[1];t(n[0]),t(i);}t(this.otherwise);},fr.prototype.outputDefined=function(){return this.branches.every((function(t){return t[1].outputDefined()}))&&this.otherwise.outputDefined()},fr.prototype.serialize=function(){var t=[\"case\"];return this.eachChild((function(e){t.push(e.serialize());})),t};var yr=function(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n;};function dr(t,e){return \"==\"===t||\"!=\"===t?\"boolean\"===e.kind||\"string\"===e.kind||\"number\"===e.kind||\"null\"===e.kind||\"value\"===e.kind:\"string\"===e.kind||\"number\"===e.kind||\"value\"===e.kind}function mr(t,e,r,n){return 0===n.compare(e,r)}function vr(t,e,r){var n=\"==\"!==t&&\"!=\"!==t;return function(){function i(t,e,r){this.type=Ut,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument=\"value\"===t.type.kind||\"value\"===e.type.kind;}return i.parse=function(t,e){if(3!==t.length&&4!==t.length)return e.error(\"Expected two or three arguments.\");var r=t[0],a=e.parse(t[1],1,Nt);if(!a)return null;if(!dr(r,a.type))return e.concat(1).error('\"'+r+\"\\\" comparisons are not supported for type '\"+Jt(a.type)+\"'.\");var o=e.parse(t[2],2,Nt);if(!o)return null;if(!dr(r,o.type))return e.concat(2).error('\"'+r+\"\\\" comparisons are not supported for type '\"+Jt(o.type)+\"'.\");if(a.type.kind!==o.type.kind&&\"value\"!==a.type.kind&&\"value\"!==o.type.kind)return e.error(\"Cannot compare types '\"+Jt(a.type)+\"' and '\"+Jt(o.type)+\"'.\");n&&(\"value\"===a.type.kind&&\"value\"!==o.type.kind?a=new he(o.type,[a]):\"value\"!==a.type.kind&&\"value\"===o.type.kind&&(o=new he(a.type,[o])));var s=null;if(4===t.length){if(\"string\"!==a.type.kind&&\"string\"!==o.type.kind&&\"value\"!==a.type.kind&&\"value\"!==o.type.kind)return e.error(\"Cannot use collator to compare non-string types.\");if(!(s=e.parse(t[3],3,Kt)))return null}return new i(a,o,s)},i.prototype.evaluate=function(i){var a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){var s=se(a),u=se(o);if(s.kind!==u.kind||\"string\"!==s.kind&&\"number\"!==s.kind)throw new pe('Expected arguments for \"'+t+'\" to be (string, string) or (number, number), but found ('+s.kind+\", \"+u.kind+\") instead.\")}if(this.collator&&!n&&this.hasUntypedArgument){var l=se(a),p=se(o);if(\"string\"!==l.kind||\"string\"!==p.kind)return e(i,a,o)}return this.collator?r(i,a,o,this.collator.evaluate(i)):e(i,a,o)},i.prototype.eachChild=function(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator);},i.prototype.outputDefined=function(){return !0},i.prototype.serialize=function(){var e=[t];return this.eachChild((function(t){e.push(t.serialize());})),e},i}()}yr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error(\"Expected 3 or 4 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Nt),n=e.parse(t[2],2,Ot);if(!r||!n)return null;if(!$t(r.type,[Xt(Nt),Rt,Nt]))return e.error(\"Expected first argument to be of type array or string, but found \"+Jt(r.type)+\" instead\");if(4===t.length){var i=e.parse(t[3],3,Ot);return i?new yr(r.type,r,n,i):null}return new yr(r.type,r,n)},yr.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!Wt(e,[\"string\",\"array\"]))throw new pe(\"Expected first argument to be of type array or string, but found \"+Jt(se(e))+\" instead.\");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},yr.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex);},yr.prototype.outputDefined=function(){return !1},yr.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return [\"slice\",this.input.serialize(),this.beginIndex.serialize(),t]}return [\"slice\",this.input.serialize(),this.beginIndex.serialize()]};var gr=vr(\"==\",(function(t,e,r){return e===r}),mr),xr=vr(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return !mr(0,e,r,n)})),br=vr(\"<\",(function(t,e,r){return e<r}),(function(t,e,r,n){return n.compare(e,r)<0})),wr=vr(\">\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),_r=vr(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),Ar=vr(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),Sr=function(t,e,r,n,i){this.type=Rt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i;};Sr.parse=function(t,e){if(3!==t.length)return e.error(\"Expected two arguments.\");var r=e.parse(t[1],1,Ot);if(!r)return null;var n=t[2];if(\"object\"!=typeof n||Array.isArray(n))return e.error(\"NumberFormat options argument must be an object.\");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Rt)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Rt)))return null;var o=null;if(n[\"min-fraction-digits\"]&&!(o=e.parse(n[\"min-fraction-digits\"],1,Ot)))return null;var s=null;return n[\"max-fraction-digits\"]&&!(s=e.parse(n[\"max-fraction-digits\"],1,Ot))?null:new Sr(r,i,a,o,s)},Sr.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},Sr.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits);},Sr.prototype.outputDefined=function(){return !1},Sr.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),t]};var kr=function(t){this.type=Ot,this.input=t;};kr.parse=function(t,e){if(2!==t.length)return e.error(\"Expected 1 argument, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1);return r?\"array\"!==r.type.kind&&\"string\"!==r.type.kind&&\"value\"!==r.type.kind?e.error(\"Expected argument of type string or array, but found \"+Jt(r.type)+\" instead.\"):new kr(r):null},kr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(\"string\"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new pe(\"Expected value to be of type string or array, but found \"+Jt(se(e))+\" instead.\")},kr.prototype.eachChild=function(t){t(this.input);},kr.prototype.outputDefined=function(){return !1},kr.prototype.serialize=function(){var t=[\"length\"];return this.eachChild((function(e){t.push(e.serialize());})),t};var Ir={\"==\":gr,\"!=\":xr,\">\":wr,\"<\":br,\">=\":Ar,\"<=\":_r,array:he,at:lr,boolean:he,case:fr,coalesce:sr,collator:be,format:fe,image:ye,in:pr,\"index-of\":cr,interpolate:ar,\"interpolate-hcl\":ar,\"interpolate-lab\":ar,length:kr,let:ur,literal:le,match:hr,number:he,\"number-format\":Sr,object:he,slice:yr,step:Ne,string:he,\"to-boolean\":me,\"to-color\":me,\"to-number\":me,\"to-string\":me,var:Ue,within:De};function zr(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=ae(r,n,i,o);if(s)throw new pe(s);return new te(r/255*o,n/255*o,i/255*o,o)}function Cr(t,e){return t in e}function Er(t,e){var r=e[t];return void 0===r?null:r}function Pr(t){return {type:t}}function Mr(t){return {result:\"success\",value:t}}function Br(t){return {result:\"error\",value:t}}function Tr(t){return \"data-driven\"===t[\"property-type\"]||\"cross-faded-data-driven\"===t[\"property-type\"]}function Vr(t){return !!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function Fr(t){return !!t.expression&&t.expression.interpolated}function Dr(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function Lr(t){return \"object\"==typeof t&&null!==t&&!Array.isArray(t)}function Or(t){return t}function Rr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function Ur(t,e,r,n,i){return Rr(typeof r===i?n[r]:void 0,t.default,e.default)}function jr(t,e,r){if(\"number\"!==Dr(r))return Rr(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var i=qe(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function qr(t,e,r){var n=void 0!==t.base?t.base:1;if(\"number\"!==Dr(r))return Rr(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=qe(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],u=t.stops[a+1][1],l=Ge[e.type]||Or;if(t.colorSpace&&\"rgb\"!==t.colorSpace){var p=ir[t.colorSpace];l=function(t,e){return p.reverse(p.interpolate(p.forward(t),p.forward(e),o))};}return \"function\"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=u.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return l(r,n,o)}}:l(s,u,o)}function Nr(t,e,r){return \"color\"===e.type?r=te.parse(r):\"formatted\"===e.type?r=ne.fromString(r.toString()):\"resolvedImage\"===e.type?r=ie.fromString(r.toString()):Dr(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0),Rr(r,t.default,e.default)}xe.register(Ir,{error:[{kind:\"error\"},[Rt],function(t,e){throw new pe(e[0].evaluate(t))}],typeof:[Rt,[Nt],function(t,e){return Jt(se(e[0].evaluate(t)))}],\"to-rgba\":[Xt(Ot,4),[jt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[jt,[Ot,Ot,Ot],zr],rgba:[jt,[Ot,Ot,Ot,Ot],zr],has:{type:Ut,overloads:[[[Rt],function(t,e){return Cr(e[0].evaluate(t),t.properties())}],[[Rt,qt],function(t,e){var r=e[1];return Cr(e[0].evaluate(t),r.evaluate(t))}]]},get:{type:Nt,overloads:[[[Rt],function(t,e){return Er(e[0].evaluate(t),t.properties())}],[[Rt,qt],function(t,e){var r=e[1];return Er(e[0].evaluate(t),r.evaluate(t))}]]},\"feature-state\":[Nt,[Rt],function(t,e){return Er(e[0].evaluate(t),t.featureState||{})}],properties:[qt,[],function(t){return t.properties()}],\"geometry-type\":[Rt,[],function(t){return t.geometryType()}],id:[Nt,[],function(t){return t.id()}],zoom:[Ot,[],function(t){return t.globals.zoom}],\"heatmap-density\":[Ot,[],function(t){return t.globals.heatmapDensity||0}],\"line-progress\":[Ot,[],function(t){return t.globals.lineProgress||0}],accumulated:[Nt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],\"+\":[Ot,Pr(Ot),function(t,e){for(var r=0,n=0,i=e;n<i.length;n+=1)r+=i[n].evaluate(t);return r}],\"*\":[Ot,Pr(Ot),function(t,e){for(var r=1,n=0,i=e;n<i.length;n+=1)r*=i[n].evaluate(t);return r}],\"-\":{type:Ot,overloads:[[[Ot,Ot],function(t,e){var r=e[1];return e[0].evaluate(t)-r.evaluate(t)}],[[Ot],function(t,e){return -e[0].evaluate(t)}]]},\"/\":[Ot,[Ot,Ot],function(t,e){var r=e[1];return e[0].evaluate(t)/r.evaluate(t)}],\"%\":[Ot,[Ot,Ot],function(t,e){var r=e[1];return e[0].evaluate(t)%r.evaluate(t)}],ln2:[Ot,[],function(){return Math.LN2}],pi:[Ot,[],function(){return Math.PI}],e:[Ot,[],function(){return Math.E}],\"^\":[Ot,[Ot,Ot],function(t,e){var r=e[1];return Math.pow(e[0].evaluate(t),r.evaluate(t))}],sqrt:[Ot,[Ot],function(t,e){return Math.sqrt(e[0].evaluate(t))}],log10:[Ot,[Ot],function(t,e){return Math.log(e[0].evaluate(t))/Math.LN10}],ln:[Ot,[Ot],function(t,e){return Math.log(e[0].evaluate(t))}],log2:[Ot,[Ot],function(t,e){return Math.log(e[0].evaluate(t))/Math.LN2}],sin:[Ot,[Ot],function(t,e){return Math.sin(e[0].evaluate(t))}],cos:[Ot,[Ot],function(t,e){return Math.cos(e[0].evaluate(t))}],tan:[Ot,[Ot],function(t,e){return Math.tan(e[0].evaluate(t))}],asin:[Ot,[Ot],function(t,e){return Math.asin(e[0].evaluate(t))}],acos:[Ot,[Ot],function(t,e){return Math.acos(e[0].evaluate(t))}],atan:[Ot,[Ot],function(t,e){return Math.atan(e[0].evaluate(t))}],min:[Ot,Pr(Ot),function(t,e){return Math.min.apply(Math,e.map((function(e){return e.evaluate(t)})))}],max:[Ot,Pr(Ot),function(t,e){return Math.max.apply(Math,e.map((function(e){return e.evaluate(t)})))}],abs:[Ot,[Ot],function(t,e){return Math.abs(e[0].evaluate(t))}],round:[Ot,[Ot],function(t,e){var r=e[0].evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[Ot,[Ot],function(t,e){return Math.floor(e[0].evaluate(t))}],ceil:[Ot,[Ot],function(t,e){return Math.ceil(e[0].evaluate(t))}],\"filter-==\":[Ut,[Rt,Nt],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],\"filter-id-==\":[Ut,[Nt],function(t,e){var r=e[0];return t.id()===r.value}],\"filter-type-==\":[Ut,[Rt],function(t,e){var r=e[0];return t.geometryType()===r.value}],\"filter-<\":[Ut,[Rt,Nt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<a}],\"filter-id-<\":[Ut,[Nt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<i}],\"filter->\":[Ut,[Rt,Nt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],\"filter-id->\":[Ut,[Nt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],\"filter-<=\":[Ut,[Rt,Nt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],\"filter-id-<=\":[Ut,[Nt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],\"filter->=\":[Ut,[Rt,Nt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],\"filter-id->=\":[Ut,[Nt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],\"filter-has\":[Ut,[Nt],function(t,e){return e[0].value in t.properties()}],\"filter-has-id\":[Ut,[],function(t){return null!==t.id()&&void 0!==t.id()}],\"filter-type-in\":[Ut,[Xt(Rt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],\"filter-id-in\":[Ut,[Xt(Nt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],\"filter-in-small\":[Ut,[Rt,Xt(Nt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],\"filter-in-large\":[Ut,[Rt,Xt(Nt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return !0;e[i]>t?n=i-1:r=i+1;}return !1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Ut,overloads:[[[Ut,Ut],function(t,e){var r=e[1];return e[0].evaluate(t)&&r.evaluate(t)}],[Pr(Ut),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(!n[r].evaluate(t))return !1;return !0}]]},any:{type:Ut,overloads:[[[Ut,Ut],function(t,e){var r=e[1];return e[0].evaluate(t)||r.evaluate(t)}],[Pr(Ut),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return !0;return !1}]]},\"!\":[Ut,[Ut],function(t,e){return !e[0].evaluate(t)}],\"is-supported-script\":[Ut,[Rt],function(t,e){var r=t.globals&&t.globals.isSupportedScript;return !r||r(e[0].evaluate(t))}],upcase:[Rt,[Rt],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[Rt,[Rt],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[Rt,Pr(Nt),function(t,e){return e.map((function(e){return ue(e.evaluate(t))})).join(\"\")}],\"resolved-locale\":[Rt,[Kt],function(t,e){return e[0].evaluate(t).resolvedLocale()}]});var Kr=function(t,e){this.expression=t,this._warningHistory={},this._evaluator=new ge,this._defaultValue=e?function(t){return \"color\"===t.type&&Lr(t.default)?new te(0,0,0,0):\"color\"===t.type?te.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&\"enum\"===e.type?e.values:null;};function Gr(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in Ir}function Zr(t,e){var r=new je(Ir,[],e?function(t){var e={color:jt,string:Rt,number:Ot,enum:Rt,boolean:Ut,formatted:Gt,resolvedImage:Zt};return \"array\"===t.type?Xt(e[t.value]||Nt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&\"string\"===e.type?{typeAnnotation:\"coerce\"}:void 0);return n?Mr(new Kr(n,e)):Br(r.errors)}Kr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},Kr.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||\"number\"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new pe(\"Expected value to be one of \"+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(\", \")+\", but found \"+JSON.stringify(o)+\" instead.\");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}};var Xr=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!Oe(e.expression);};Xr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},Xr.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var Jr=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!Oe(e.expression),this.interpolationType=n;};function Hr(t,e){if(\"error\"===(t=Zr(t,e)).result)return t;var r=t.value.expression,n=Le(r);if(!n&&!Tr(e))return Br([new Ft(\"\",\"data expressions not supported\")]);var i=Re(r,[\"zoom\"]);if(!i&&!Vr(e))return Br([new Ft(\"\",\"zoom expressions not supported\")]);var a=function t(e){var r=null;if(e instanceof ur)r=t(e.result);else if(e instanceof sr)for(var n=0,i=e.args;n<i.length&&!(r=t(i[n]));n+=1);else (e instanceof Ne||e instanceof ar)&&e.input instanceof xe&&\"zoom\"===e.input.name&&(r=e);return r instanceof Ft||e.eachChild((function(e){var n=t(e);n instanceof Ft?r=n:!r&&n?r=new Ft(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):r&&n&&r!==n&&(r=new Ft(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'));})),r}(r);return a||i?a instanceof Ft?Br([a]):a instanceof ar&&!Fr(e)?Br([new Ft(\"\",'\"interpolate\" expressions cannot be used with this property')]):Mr(a?new Jr(n?\"camera\":\"composite\",t.value,a.labels,a instanceof ar?a.interpolation:void 0):new Xr(n?\"constant\":\"source\",t.value)):Br([new Ft(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}Jr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},Jr.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},Jr.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?ar.interpolationFactor(this.interpolationType,t,e,r):0};var Yr=function(t,e){this._parameters=t,this._specification=e,Bt(this,function t(e,r){var n,i,a,o=\"color\"===r.type,s=e.stops&&\"object\"==typeof e.stops[0][0],u=s||!(s||void 0!==e.property),l=e.type||(Fr(r)?\"exponential\":\"interval\");if(o&&((e=Bt({},e)).stops&&(e.stops=e.stops.map((function(t){return [t[0],te.parse(t[1])]}))),e.default=te.parse(e.default?e.default:r.default)),e.colorSpace&&\"rgb\"!==e.colorSpace&&!ir[e.colorSpace])throw new Error(\"Unknown color space: \"+e.colorSpace);if(\"exponential\"===l)n=qr;else if(\"interval\"===l)n=jr;else if(\"categorical\"===l){n=Ur,i=Object.create(null);for(var p=0,c=e.stops;p<c.length;p+=1){var h=c[p];i[h[0]]=h[1];}a=typeof e.stops[0][0];}else {if(\"identity\"!==l)throw new Error('Unknown function type \"'+l+'\"');n=Nr;}if(s){for(var f={},y=[],d=0;d<e.stops.length;d++){var m=e.stops[d],v=m[0].zoom;void 0===f[v]&&(f[v]={zoom:v,type:e.type,property:e.property,default:e.default,stops:[]},y.push(v)),f[v].stops.push([m[0].value,m[1]]);}for(var g=[],x=0,b=y;x<b.length;x+=1){var w=b[x];g.push([f[w].zoom,t(f[w],r)]);}var _={name:\"linear\"};return {kind:\"composite\",interpolationType:_,interpolationFactor:ar.interpolationFactor.bind(void 0,_),zoomStops:g.map((function(t){return t[0]})),evaluate:function(t,n){var i=t.zoom;return qr({stops:g,base:e.base},r,i).evaluate(i,n)}}}if(u){var A=\"exponential\"===l?{name:\"exponential\",base:void 0!==e.base?e.base:1}:null;return {kind:\"camera\",interpolationType:A,interpolationFactor:ar.interpolationFactor.bind(void 0,A),zoomStops:e.stops.map((function(t){return t[0]})),evaluate:function(t){return n(e,r,t.zoom,i,a)}}}return {kind:\"source\",evaluate:function(t,o){var s=o&&o.properties?o.properties[e.property]:void 0;return void 0===s?Rr(e.default,r.default):n(e,r,s,i,a)}}}(this._parameters,this._specification));};function $r(t){var e=t.key,r=t.value,n=t.valueSpec||{},i=t.objectElementValidators||{},a=t.style,o=t.styleSpec,s=[],u=Dr(r);if(\"object\"!==u)return [new Pt(e,r,\"object expected, \"+u+\" found\")];for(var l in r){var p=l.split(\".\")[0],c=n[p]||n[\"*\"],h=void 0;if(i[p])h=i[p];else if(n[p])h=An;else if(i[\"*\"])h=i[\"*\"];else {if(!n[\"*\"]){s.push(new Pt(e,r[l],'unknown property \"'+l+'\"'));continue}h=An;}s=s.concat(h({key:(e?e+\".\":e)+l,value:r[l],valueSpec:c,style:a,styleSpec:o,object:r,objectKey:l},r));}for(var f in n)i[f]||n[f].required&&void 0===n[f].default&&void 0===r[f]&&s.push(new Pt(e,r,'missing required property \"'+f+'\"'));return s}function Wr(t){var e=t.value,r=t.valueSpec,n=t.style,i=t.styleSpec,a=t.key,o=t.arrayElementValidator||An;if(\"array\"!==Dr(e))return [new Pt(a,e,\"array expected, \"+Dr(e)+\" found\")];if(r.length&&e.length!==r.length)return [new Pt(a,e,\"array length \"+r.length+\" expected, length \"+e.length+\" found\")];if(r[\"min-length\"]&&e.length<r[\"min-length\"])return [new Pt(a,e,\"array length at least \"+r[\"min-length\"]+\" expected, length \"+e.length+\" found\")];var s={type:r.value,values:r.values};i.$version<7&&(s.function=r.function),\"object\"===Dr(r.value)&&(s=r.value);for(var u=[],l=0;l<e.length;l++)u=u.concat(o({array:e,arrayIndex:l,value:e[l],valueSpec:s,style:n,styleSpec:i,key:a+\"[\"+l+\"]\"}));return u}function Qr(t){var e=t.key,r=t.value,n=t.valueSpec,i=Dr(r);return \"number\"===i&&r!=r&&(i=\"NaN\"),\"number\"!==i?[new Pt(e,r,\"number expected, \"+i+\" found\")]:\"minimum\"in n&&r<n.minimum?[new Pt(e,r,r+\" is less than the minimum value \"+n.minimum)]:\"maximum\"in n&&r>n.maximum?[new Pt(e,r,r+\" is greater than the maximum value \"+n.maximum)]:[]}function tn(t){var e,r,n,i=t.valueSpec,a=Tt(t.value.type),o={},s=\"categorical\"!==a&&void 0===t.value.property,u=!s,l=\"array\"===Dr(t.value.stops)&&\"array\"===Dr(t.value.stops[0])&&\"object\"===Dr(t.value.stops[0][0]),p=$r({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===a)return [new Pt(t.key,t.value,'identity function may not have a \"stops\" property')];var e=[],r=t.value;return e=e.concat(Wr({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:c})),\"array\"===Dr(r)&&0===r.length&&e.push(new Pt(t.key,r,\"array must have at least one stop\")),e},default:function(t){return An({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return \"identity\"===a&&s&&p.push(new Pt(t.key,t.value,'missing required property \"property\"')),\"identity\"===a||t.value.stops||p.push(new Pt(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===a&&t.valueSpec.expression&&!Fr(t.valueSpec)&&p.push(new Pt(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(u&&!Tr(t.valueSpec)?p.push(new Pt(t.key,t.value,\"property functions not supported\")):s&&!Vr(t.valueSpec)&&p.push(new Pt(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==a&&!l||void 0!==t.value.property||p.push(new Pt(t.key,t.value,'\"property\" property is required')),p;function c(t){var e=[],a=t.value,s=t.key;if(\"array\"!==Dr(a))return [new Pt(s,a,\"array expected, \"+Dr(a)+\" found\")];if(2!==a.length)return [new Pt(s,a,\"array length 2 expected, length \"+a.length+\" found\")];if(l){if(\"object\"!==Dr(a[0]))return [new Pt(s,a,\"object expected, \"+Dr(a[0])+\" found\")];if(void 0===a[0].zoom)return [new Pt(s,a,\"object stop key must have zoom\")];if(void 0===a[0].value)return [new Pt(s,a,\"object stop key must have value\")];if(n&&n>Tt(a[0].zoom))return [new Pt(s,a[0].zoom,\"stop zoom values must appear in ascending order\")];Tt(a[0].zoom)!==n&&(n=Tt(a[0].zoom),r=void 0,o={}),e=e.concat($r({key:s+\"[0]\",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Qr,value:h}}));}else e=e.concat(h({key:s+\"[0]\",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return Gr(Vt(a[1]))?e.concat([new Pt(s+\"[1]\",a[1],\"expressions are not allowed in function stops.\")]):e.concat(An({key:s+\"[1]\",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=Dr(t.value),u=Tt(t.value),l=null!==t.value?t.value:n;if(e){if(s!==e)return [new Pt(t.key,l,s+\" stop domain type must match previous stop domain type \"+e)]}else e=s;if(\"number\"!==s&&\"string\"!==s&&\"boolean\"!==s)return [new Pt(t.key,l,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==s&&\"categorical\"!==a){var p=\"number expected, \"+s+\" found\";return Tr(i)&&void 0===a&&(p+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new Pt(t.key,l,p)]}return \"categorical\"!==a||\"number\"!==s||isFinite(u)&&Math.floor(u)===u?\"categorical\"!==a&&\"number\"===s&&void 0!==r&&u<r?[new Pt(t.key,l,\"stop domain values must appear in ascending order\")]:(r=u,\"categorical\"===a&&u in o?[new Pt(t.key,l,\"stop domain values must be unique\")]:(o[u]=!0,[])):[new Pt(t.key,l,\"integer expected, found \"+u)]}}function en(t){var e=(\"property\"===t.expressionContext?Hr:Zr)(Vt(t.value),t.valueSpec);if(\"error\"===e.result)return e.value.map((function(e){return new Pt(\"\"+t.key+e.key,t.value,e.message)}));var r=e.value.expression||e.value._styleExpression.expression;if(\"property\"===t.expressionContext&&\"text-font\"===t.propertyKey&&!r.outputDefined())return [new Pt(t.key,t.value,'Invalid data expression for \"'+t.propertyKey+'\". Output values must be contained as literals within the expression.')];if(\"property\"===t.expressionContext&&\"layout\"===t.propertyType&&!Oe(r))return [new Pt(t.key,t.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(\"filter\"===t.expressionContext&&!Oe(r))return [new Pt(t.key,t.value,'\"feature-state\" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf(\"cluster\")){if(!Re(r,[\"zoom\",\"feature-state\"]))return [new Pt(t.key,t.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(\"cluster-initial\"===t.expressionContext&&!Le(r))return [new Pt(t.key,t.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return []}function rn(t){var e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(Tt(r))&&i.push(new Pt(e,r,\"expected one of [\"+n.values.join(\", \")+\"], \"+JSON.stringify(r)+\" found\")):-1===Object.keys(n.values).indexOf(Tt(r))&&i.push(new Pt(e,r,\"expected one of [\"+Object.keys(n.values).join(\", \")+\"], \"+JSON.stringify(r)+\" found\")),i}function nn(t){if(!0===t||!1===t)return !0;if(!Array.isArray(t)||0===t.length)return !1;switch(t[0]){case\"has\":return t.length>=2&&\"$id\"!==t[1]&&\"$type\"!==t[1];case\"in\":return t.length>=3&&(\"string\"!=typeof t[1]||Array.isArray(t[2]));case\"!in\":case\"!has\":case\"none\":return !1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case\"any\":case\"all\":for(var e=0,r=t.slice(1);e<r.length;e+=1){var n=r[e];if(!nn(n)&&\"boolean\"!=typeof n)return !1}return !0;default:return !0}}Yr.deserialize=function(t){return new Yr(t._parameters,t._specification)},Yr.serialize=function(t){return {_parameters:t._parameters,_specification:t._specification}};var an={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function on(t){if(null==t)return {filter:function(){return !0},needGeometry:!1};nn(t)||(t=un(t));var e=Zr(t,an);if(\"error\"===e.result)throw new Error(e.value.map((function(t){return t.key+\": \"+t.message})).join(\", \"));return {filter:function(t,r,n){return e.value.evaluate(t,r,{},n)},needGeometry:function t(e){if(!Array.isArray(e))return !1;if(\"within\"===e[0])return !0;for(var r=1;r<e.length;r++)if(t(e[r]))return !0;return !1}(t)}}function sn(t,e){return t<e?-1:t>e?1:0}function un(t){if(!t)return !0;var e,r=t[0];return t.length<=1?\"any\"!==r:\"==\"===r?ln(t[1],t[2],\"==\"):\"!=\"===r?hn(ln(t[1],t[2],\"==\")):\"<\"===r||\">\"===r||\"<=\"===r||\">=\"===r?ln(t[1],t[2],r):\"any\"===r?(e=t.slice(1),[\"any\"].concat(e.map(un))):\"all\"===r?[\"all\"].concat(t.slice(1).map(un)):\"none\"===r?[\"all\"].concat(t.slice(1).map(un).map(hn)):\"in\"===r?pn(t[1],t.slice(2)):\"!in\"===r?hn(pn(t[1],t.slice(2))):\"has\"===r?cn(t[1]):\"!has\"===r?hn(cn(t[1])):\"within\"!==r||t}function ln(t,e,r){switch(t){case\"$type\":return [\"filter-type-\"+r,e];case\"$id\":return [\"filter-id-\"+r,e];default:return [\"filter-\"+r,t,e]}}function pn(t,e){if(0===e.length)return !1;switch(t){case\"$type\":return [\"filter-type-in\",[\"literal\",e]];case\"$id\":return [\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?[\"filter-in-large\",t,[\"literal\",e.sort(sn)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function cn(t){switch(t){case\"$type\":return !0;case\"$id\":return [\"filter-has-id\"];default:return [\"filter-has\",t]}}function hn(t){return [\"!\",t]}function fn(t){return nn(Vt(t.value))?en(Bt({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):function t(e){var r=e.value,n=e.key;if(\"array\"!==Dr(r))return [new Pt(n,r,\"array expected, \"+Dr(r)+\" found\")];var i,a=e.styleSpec,o=[];if(r.length<1)return [new Pt(n,r,\"filter array must have at least 1 element\")];switch(o=o.concat(rn({key:n+\"[0]\",value:r[0],valueSpec:a.filter_operator,style:e.style,styleSpec:e.styleSpec})),Tt(r[0])){case\"<\":case\"<=\":case\">\":case\">=\":r.length>=2&&\"$type\"===Tt(r[1])&&o.push(new Pt(n,r,'\"$type\" cannot be use with operator \"'+r[0]+'\"'));case\"==\":case\"!=\":3!==r.length&&o.push(new Pt(n,r,'filter array for operator \"'+r[0]+'\" must have 3 elements'));case\"in\":case\"!in\":r.length>=2&&\"string\"!==(i=Dr(r[1]))&&o.push(new Pt(n+\"[1]\",r[1],\"string expected, \"+i+\" found\"));for(var s=2;s<r.length;s++)i=Dr(r[s]),\"$type\"===Tt(r[1])?o=o.concat(rn({key:n+\"[\"+s+\"]\",value:r[s],valueSpec:a.geometry_type,style:e.style,styleSpec:e.styleSpec})):\"string\"!==i&&\"number\"!==i&&\"boolean\"!==i&&o.push(new Pt(n+\"[\"+s+\"]\",r[s],\"string, number, or boolean expected, \"+i+\" found\"));break;case\"any\":case\"all\":case\"none\":for(var u=1;u<r.length;u++)o=o.concat(t({key:n+\"[\"+u+\"]\",value:r[u],style:e.style,styleSpec:e.styleSpec}));break;case\"has\":case\"!has\":i=Dr(r[1]),2!==r.length?o.push(new Pt(n,r,'filter array for \"'+r[0]+'\" operator must have 2 elements')):\"string\"!==i&&o.push(new Pt(n+\"[1]\",r[1],\"string expected, \"+i+\" found\"));break;case\"within\":i=Dr(r[1]),2!==r.length?o.push(new Pt(n,r,'filter array for \"'+r[0]+'\" operator must have 2 elements')):\"object\"!==i&&o.push(new Pt(n+\"[1]\",r[1],\"object expected, \"+i+\" found\"));}return o}(t)}function yn(t,e){var r=t.key,n=t.style,i=t.styleSpec,a=t.value,o=t.objectKey,s=i[e+\"_\"+t.layerType];if(!s)return [];var u=o.match(/^(.*)-transition$/);if(\"paint\"===e&&u&&s[u[1]]&&s[u[1]].transition)return An({key:r,value:a,valueSpec:i.transition,style:n,styleSpec:i});var l,p=t.valueSpec||s[o];if(!p)return [new Pt(r,a,'unknown property \"'+o+'\"')];if(\"string\"===Dr(a)&&Tr(p)&&!p.tokens&&(l=/^{([^}]+)}$/.exec(a)))return [new Pt(r,a,'\"'+o+'\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": '+JSON.stringify(l[1])+\" }`.\")];var c=[];return \"symbol\"===t.layerType&&(\"text-field\"===o&&n&&!n.glyphs&&c.push(new Pt(r,a,'use of \"text-field\" requires a style \"glyphs\" property')),\"text-font\"===o&&Lr(Vt(a))&&\"identity\"===Tt(a.type)&&c.push(new Pt(r,a,'\"text-font\" does not support identity functions'))),c.concat(An({key:t.key,value:a,valueSpec:p,style:n,styleSpec:i,expressionContext:\"property\",propertyType:e,propertyKey:o}))}function dn(t){return yn(t,\"paint\")}function mn(t){return yn(t,\"layout\")}function vn(t){var e=[],r=t.value,n=t.key,i=t.style,a=t.styleSpec;r.type||r.ref||e.push(new Pt(n,r,'either \"type\" or \"ref\" is required'));var o,s=Tt(r.type),u=Tt(r.ref);if(r.id)for(var l=Tt(r.id),p=0;p<t.arrayIndex;p++){var c=i.layers[p];Tt(c.id)===l&&e.push(new Pt(n,r.id,'duplicate layer id \"'+r.id+'\", previously used at line '+c.id.__line__));}if(\"ref\"in r)[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach((function(t){t in r&&e.push(new Pt(n,r[t],'\"'+t+'\" is prohibited for ref layers'));})),i.layers.forEach((function(t){Tt(t.id)===u&&(o=t);})),o?o.ref?e.push(new Pt(n,r.ref,\"ref cannot reference another ref layer\")):s=Tt(o.type):e.push(new Pt(n,r.ref,'ref layer \"'+u+'\" not found'));else if(\"background\"!==s)if(r.source){var h=i.sources&&i.sources[r.source],f=h&&Tt(h.type);h?\"vector\"===f&&\"raster\"===s?e.push(new Pt(n,r.source,'layer \"'+r.id+'\" requires a raster source')):\"raster\"===f&&\"raster\"!==s?e.push(new Pt(n,r.source,'layer \"'+r.id+'\" requires a vector source')):\"vector\"!==f||r[\"source-layer\"]?\"raster-dem\"===f&&\"hillshade\"!==s?e.push(new Pt(n,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==s||!r.paint||!r.paint[\"line-gradient\"]||\"geojson\"===f&&h.lineMetrics||e.push(new Pt(n,r,'layer \"'+r.id+'\" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):e.push(new Pt(n,r,'layer \"'+r.id+'\" must specify a \"source-layer\"')):e.push(new Pt(n,r.source,'source \"'+r.source+'\" not found'));}else e.push(new Pt(n,r,'missing required property \"source\"'));return e=e.concat($r({key:n,value:r,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(){return []},type:function(){return An({key:n+\".type\",value:r.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:\"type\"})},filter:fn,layout:function(t){return $r({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return mn(Bt({layerType:s},t))}}})},paint:function(t){return $r({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return dn(Bt({layerType:s},t))}}})}}}))}function gn(t){var e=t.value,r=t.key,n=Dr(e);return \"string\"!==n?[new Pt(r,e,\"string expected, \"+n+\" found\")]:[]}var xn={promoteId:function(t){var e=t.key,r=t.value;if(\"string\"===Dr(r))return gn({key:e,value:r});var n=[];for(var i in r)n.push.apply(n,gn({key:e+\".\"+i,value:r[i]}));return n}};function bn(t){var e=t.value,r=t.key,n=t.styleSpec,i=t.style;if(!e.type)return [new Pt(r,e,'\"type\" is required')];var a,o=Tt(e.type);switch(o){case\"vector\":case\"raster\":case\"raster-dem\":return $r({key:r,value:e,valueSpec:n[\"source_\"+o.replace(\"-\",\"_\")],style:t.style,styleSpec:n,objectElementValidators:xn});case\"geojson\":if(a=$r({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,objectElementValidators:xn}),e.cluster)for(var s in e.clusterProperties){var u=e.clusterProperties[s],l=u[0],p=\"string\"==typeof l?[l,[\"accumulated\"],[\"get\",s]]:l;a.push.apply(a,en({key:r+\".\"+s+\".map\",value:u[1],expressionContext:\"cluster-map\"})),a.push.apply(a,en({key:r+\".\"+s+\".reduce\",value:p,expressionContext:\"cluster-reduce\"}));}return a;case\"video\":return $r({key:r,value:e,valueSpec:n.source_video,style:i,styleSpec:n});case\"image\":return $r({key:r,value:e,valueSpec:n.source_image,style:i,styleSpec:n});case\"canvas\":return [new Pt(r,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return rn({key:r+\".type\",value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:i,styleSpec:n})}}function wn(t){var e=t.value,r=t.styleSpec,n=r.light,i=t.style,a=[],o=Dr(e);if(void 0===e)return a;if(\"object\"!==o)return a.concat([new Pt(\"light\",e,\"object expected, \"+o+\" found\")]);for(var s in e){var u=s.match(/^(.*)-transition$/);a=a.concat(u&&n[u[1]]&&n[u[1]].transition?An({key:s,value:e[s],valueSpec:r.transition,style:i,styleSpec:r}):n[s]?An({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r}):[new Pt(s,e[s],'unknown property \"'+s+'\"')]);}return a}var _n={\"*\":function(){return []},array:Wr,boolean:function(t){var e=t.value,r=t.key,n=Dr(e);return \"boolean\"!==n?[new Pt(r,e,\"boolean expected, \"+n+\" found\")]:[]},number:Qr,color:function(t){var e=t.key,r=t.value,n=Dr(r);return \"string\"!==n?[new Pt(e,r,\"color expected, \"+n+\" found\")]:null===Qt(r)?[new Pt(e,r,'color expected, \"'+r+'\" found')]:[]},constants:Mt,enum:rn,filter:fn,function:tn,layer:vn,object:$r,source:bn,light:wn,string:gn,formatted:function(t){return 0===gn(t).length?[]:en(t)},resolvedImage:function(t){return 0===gn(t).length?[]:en(t)}};function An(t){var e=t.value,r=t.valueSpec,n=t.styleSpec;return r.expression&&Lr(Tt(e))?tn(t):r.expression&&Gr(Vt(e))?en(t):r.type&&_n[r.type]?_n[r.type](t):$r(Bt({},t,{valueSpec:r.type?n[r.type]:r}))}function Sn(t){var e=t.value,r=t.key,n=gn(t);return n.length||(-1===e.indexOf(\"{fontstack}\")&&n.push(new Pt(r,e,'\"glyphs\" url must include a \"{fontstack}\" token')),-1===e.indexOf(\"{range}\")&&n.push(new Pt(r,e,'\"glyphs\" url must include a \"{range}\" token'))),n}function kn(t,e){void 0===e&&(e=Et);var r=[];return r=r.concat(An({key:\"\",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:Sn,\"*\":function(){return []}}})),t.constants&&(r=r.concat(Mt({key:\"constants\",value:t.constants,style:t,styleSpec:e}))),In(r)}function In(t){return [].concat(t).sort((function(t,e){return t.line-e.line}))}function zn(t){return function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];return In(t.apply(this,e))}}kn.source=zn(bn),kn.light=zn(wn),kn.layer=zn(vn),kn.filter=zn(fn),kn.paintProperty=zn(dn),kn.layoutProperty=zn(mn);var Cn=kn,En=Cn.light,Pn=Cn.paintProperty,Mn=Cn.layoutProperty;function Bn(t,e){var r=!1;if(e&&e.length)for(var n=0,i=e;n<i.length;n+=1)t.fire(new zt(new Error(i[n].message))),r=!0;return r}var Tn=Vn;function Vn(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var i=new Int32Array(this.arrayBuffer);t=i[0],this.d=(e=i[1])+2*(r=i[2]);for(var a=0;a<this.d*this.d;a++){var o=i[3+a],s=i[3+a+1];n.push(o===s?null:i.subarray(o,s));}var u=i[3+n.length+1];this.keys=i.subarray(i[3+n.length],u),this.bboxes=i.subarray(u),this.insert=this._insertReadonly;}else {this.d=e+2*r;for(var l=0;l<this.d*this.d;l++)n.push([]);this.keys=[],this.bboxes=[];}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var p=r/e*t;this.min=-p,this.max=t+p;}Vn.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i);},Vn.prototype._insertReadonly=function(){throw \"Cannot insert into a GridIndex created from an ArrayBuffer.\"},Vn.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a);},Vn.prototype.query=function(t,e,r,n,i){var a=this.min,o=this.max;if(t<=a&&e<=a&&o<=r&&o<=n&&!i)return Array.prototype.slice.call(this.keys);var s=[];return this._forEachCell(t,e,r,n,this._queryCell,s,{},i),s},Vn.prototype._queryCell=function(t,e,r,n,i,a,o,s){var u=this.cells[i];if(null!==u)for(var l=this.keys,p=this.bboxes,c=0;c<u.length;c++){var h=u[c];if(void 0===o[h]){var f=4*h;(s?s(p[f+0],p[f+1],p[f+2],p[f+3]):t<=p[f+2]&&e<=p[f+3]&&r>=p[f+0]&&n>=p[f+1])?(o[h]=!0,a.push(l[h])):o[h]=!1;}}},Vn.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var u=this._convertToCellCoord(t),l=this._convertToCellCoord(e),p=this._convertToCellCoord(r),c=this._convertToCellCoord(n),h=u;h<=p;h++)for(var f=l;f<=c;f++){var y=this.d*f+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(f),this._convertFromCellCoord(h+1),this._convertFromCellCoord(f+1)))&&i.call(this,t,e,r,n,y,a,o,s))return}},Vn.prototype._convertFromCellCoord=function(t){return (t-this.padding)/this.scale},Vn.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},Vn.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=3+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++)r+=this.cells[n].length;var i=new Int32Array(e+r+this.keys.length+this.bboxes.length);i[0]=this.extent,i[1]=this.n,i[2]=this.padding;for(var a=e,o=0;o<t.length;o++){var s=t[o];i[3+o]=a,i.set(s,a),a+=s.length;}return i[3+t.length]=a,i.set(this.keys,a),i[3+t.length+1]=a+=this.keys.length,i.set(this.bboxes,a),a+=this.bboxes.length,i.buffer};var Fn=o.ImageData,Dn=o.ImageBitmap,Ln={};function On(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,\"_classRegistryKey\",{value:t,writeable:!1}),Ln[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]};}for(var Rn in On(\"Object\",Object),Tn.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),{buffer:r}},Tn.deserialize=function(t){return new Tn(t.buffer)},On(\"Grid\",Tn),On(\"Color\",te),On(\"Error\",Error),On(\"ResolvedImage\",ie),On(\"StylePropertyFunction\",Yr),On(\"StyleExpression\",Kr,{omit:[\"_evaluator\"]}),On(\"ZoomDependentExpression\",Jr),On(\"ZoomConstantExpression\",Xr),On(\"CompoundExpression\",xe,{omit:[\"_evaluate\"]}),Ir)Ir[Rn]._classRegistryKey||On(\"Expression_\"+Rn,Ir[Rn]);function Un(t){return t&&\"undefined\"!=typeof ArrayBuffer&&(t instanceof ArrayBuffer||t.constructor&&\"ArrayBuffer\"===t.constructor.name)}function jn(t){return Dn&&t instanceof Dn}function qn(t,e){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp)return t;if(Un(t)||jn(t))return e&&e.push(t),t;if(ArrayBuffer.isView(t)){var r=t;return e&&e.push(r.buffer),r}if(t instanceof Fn)return e&&e.push(t.data.buffer),t;if(Array.isArray(t)){for(var n=[],i=0,a=t;i<a.length;i+=1)n.push(qn(a[i],e));return n}if(\"object\"==typeof t){var o=t.constructor,s=o._classRegistryKey;if(!s)throw new Error(\"can't serialize object of unregistered class\");var u=o.serialize?o.serialize(t,e):{};if(!o.serialize){for(var l in t)if(t.hasOwnProperty(l)&&!(Ln[s].omit.indexOf(l)>=0)){var p=t[l];u[l]=Ln[s].shallow.indexOf(l)>=0?p:qn(p,e);}t instanceof Error&&(u.message=t.message);}if(u.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return \"Object\"!==s&&(u.$name=s),u}throw new Error(\"can't serialize object of type \"+typeof t)}function Nn(t){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||Un(t)||jn(t)||ArrayBuffer.isView(t)||t instanceof Fn)return t;if(Array.isArray(t))return t.map(Nn);if(\"object\"==typeof t){var e=t.$name||\"Object\",r=Ln[e].klass;if(!r)throw new Error(\"can't deserialize unregistered class \"+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i<a.length;i+=1){var o=a[i];if(\"$name\"!==o){var s=t[o];n[o]=Ln[e].shallow.indexOf(o)>=0?s:Nn(s);}}return n}throw new Error(\"can't deserialize object of type \"+typeof t)}var Kn=function(){this.first=!0;};Kn.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=e),t!==this.lastZoom&&(this.lastZoom=t,this.lastFloorZoom=r,!0))};var Gn={\"Latin-1 Supplement\":function(t){return t>=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},\"Arabic Supplement\":function(t){return t>=1872&&t<=1919},\"Arabic Extended-A\":function(t){return t>=2208&&t<=2303},\"Hangul Jamo\":function(t){return t>=4352&&t<=4607},\"Unified Canadian Aboriginal Syllabics\":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(t){return t>=6320&&t<=6399},\"General Punctuation\":function(t){return t>=8192&&t<=8303},\"Letterlike Symbols\":function(t){return t>=8448&&t<=8527},\"Number Forms\":function(t){return t>=8528&&t<=8591},\"Miscellaneous Technical\":function(t){return t>=8960&&t<=9215},\"Control Pictures\":function(t){return t>=9216&&t<=9279},\"Optical Character Recognition\":function(t){return t>=9280&&t<=9311},\"Enclosed Alphanumerics\":function(t){return t>=9312&&t<=9471},\"Geometric Shapes\":function(t){return t>=9632&&t<=9727},\"Miscellaneous Symbols\":function(t){return t>=9728&&t<=9983},\"Miscellaneous Symbols and Arrows\":function(t){return t>=11008&&t<=11263},\"CJK Radicals Supplement\":function(t){return t>=11904&&t<=12031},\"Kangxi Radicals\":function(t){return t>=12032&&t<=12255},\"Ideographic Description Characters\":function(t){return t>=12272&&t<=12287},\"CJK Symbols and Punctuation\":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},\"Hangul Compatibility Jamo\":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},\"Bopomofo Extended\":function(t){return t>=12704&&t<=12735},\"CJK Strokes\":function(t){return t>=12736&&t<=12783},\"Katakana Phonetic Extensions\":function(t){return t>=12784&&t<=12799},\"Enclosed CJK Letters and Months\":function(t){return t>=12800&&t<=13055},\"CJK Compatibility\":function(t){return t>=13056&&t<=13311},\"CJK Unified Ideographs Extension A\":function(t){return t>=13312&&t<=19903},\"Yijing Hexagram Symbols\":function(t){return t>=19904&&t<=19967},\"CJK Unified Ideographs\":function(t){return t>=19968&&t<=40959},\"Yi Syllables\":function(t){return t>=40960&&t<=42127},\"Yi Radicals\":function(t){return t>=42128&&t<=42191},\"Hangul Jamo Extended-A\":function(t){return t>=43360&&t<=43391},\"Hangul Syllables\":function(t){return t>=44032&&t<=55215},\"Hangul Jamo Extended-B\":function(t){return t>=55216&&t<=55295},\"Private Use Area\":function(t){return t>=57344&&t<=63743},\"CJK Compatibility Ideographs\":function(t){return t>=63744&&t<=64255},\"Arabic Presentation Forms-A\":function(t){return t>=64336&&t<=65023},\"Vertical Forms\":function(t){return t>=65040&&t<=65055},\"CJK Compatibility Forms\":function(t){return t>=65072&&t<=65103},\"Small Form Variants\":function(t){return t>=65104&&t<=65135},\"Arabic Presentation Forms-B\":function(t){return t>=65136&&t<=65279},\"Halfwidth and Fullwidth Forms\":function(t){return t>=65280&&t<=65519}};function Zn(t){for(var e=0,r=t;e<r.length;e+=1)if(Xn(r[e].charCodeAt(0)))return !0;return !1}function Xn(t){return !(746!==t&&747!==t&&(t<4352||!(Gn[\"Bopomofo Extended\"](t)||Gn.Bopomofo(t)||Gn[\"CJK Compatibility Forms\"](t)&&!(t>=65097&&t<=65103)||Gn[\"CJK Compatibility Ideographs\"](t)||Gn[\"CJK Compatibility\"](t)||Gn[\"CJK Radicals Supplement\"](t)||Gn[\"CJK Strokes\"](t)||!(!Gn[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Gn[\"CJK Unified Ideographs Extension A\"](t)||Gn[\"CJK Unified Ideographs\"](t)||Gn[\"Enclosed CJK Letters and Months\"](t)||Gn[\"Hangul Compatibility Jamo\"](t)||Gn[\"Hangul Jamo Extended-A\"](t)||Gn[\"Hangul Jamo Extended-B\"](t)||Gn[\"Hangul Jamo\"](t)||Gn[\"Hangul Syllables\"](t)||Gn.Hiragana(t)||Gn[\"Ideographic Description Characters\"](t)||Gn.Kanbun(t)||Gn[\"Kangxi Radicals\"](t)||Gn[\"Katakana Phonetic Extensions\"](t)||Gn.Katakana(t)&&12540!==t||!(!Gn[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!Gn[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Gn[\"Unified Canadian Aboriginal Syllabics\"](t)||Gn[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||Gn[\"Vertical Forms\"](t)||Gn[\"Yijing Hexagram Symbols\"](t)||Gn[\"Yi Syllables\"](t)||Gn[\"Yi Radicals\"](t))))}function Jn(t){return !(Xn(t)||function(t){return !!(Gn[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Gn[\"General Punctuation\"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||Gn[\"Letterlike Symbols\"](t)||Gn[\"Number Forms\"](t)||Gn[\"Miscellaneous Technical\"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||Gn[\"Control Pictures\"](t)&&9251!==t||Gn[\"Optical Character Recognition\"](t)||Gn[\"Enclosed Alphanumerics\"](t)||Gn[\"Geometric Shapes\"](t)||Gn[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||Gn[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Gn[\"CJK Symbols and Punctuation\"](t)||Gn.Katakana(t)||Gn[\"Private Use Area\"](t)||Gn[\"CJK Compatibility Forms\"](t)||Gn[\"Small Form Variants\"](t)||Gn[\"Halfwidth and Fullwidth Forms\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function Hn(t){return t>=1424&&t<=2303||Gn[\"Arabic Presentation Forms-A\"](t)||Gn[\"Arabic Presentation Forms-B\"](t)}function Yn(t,e){return !(!e&&Hn(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Gn.Khmer(t))}function $n(t){for(var e=0,r=t;e<r.length;e+=1)if(Hn(r[e].charCodeAt(0)))return !0;return !1}var Wn=null,Qn=\"unavailable\",ti=null,ei=function(t){t&&\"string\"==typeof t&&t.indexOf(\"NetworkError\")>-1&&(Qn=\"error\"),Wn&&Wn(t);};function ri(){ni.fire(new It(\"pluginStateChange\",{pluginStatus:Qn,pluginURL:ti}));}var ni=new Ct,ii=function(){return Qn},ai=function(){if(\"deferred\"!==Qn||!ti)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");Qn=\"loading\",ri(),ti&&bt({url:ti},(function(t){t?ei(t):(Qn=\"loaded\",ri());}));},oi={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return \"loaded\"===Qn||null!=oi.applyArabicShaping},isLoading:function(){return \"loading\"===Qn},setState:function(t){Qn=t.pluginStatus,ti=t.pluginURL;},isParsed:function(){return null!=oi.applyArabicShaping&&null!=oi.processBidirectionalText&&null!=oi.processStyledBidirectionalText},getPluginURL:function(){return ti}},si=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Kn,this.transition={});};si.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;r<n.length;r+=1)if(!Yn(n[r].charCodeAt(0),e))return !1;return !0}(t,oi.isLoaded())},si.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},si.prototype.getCrossfadeParameters=function(){var t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var ui=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Lr(t))return new Yr(t,e);if(Gr(t)){var r=Hr(t,e);if(\"error\"===r.result)throw new Error(r.value.map((function(t){return t.key+\": \"+t.message})).join(\", \"));return r.value}var n=t;return \"string\"==typeof t&&\"color\"===e.type&&(n=te.parse(t)),{kind:\"constant\",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification);};ui.prototype.isDataDriven=function(){return \"source\"===this.expression.kind||\"composite\"===this.expression.kind},ui.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var li=function(t){this.property=t,this.value=new ui(t,void 0);};li.prototype.transitioned=function(t,e){return new ci(this.property,this.value,e,h({},t.transition,this.transition),t.now)},li.prototype.untransitioned=function(){return new ci(this.property,this.value,null,{},0)};var pi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues);};pi.prototype.getValue=function(t){return w(this._values[t].value.value)},pi.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new li(this._values[t].property)),this._values[t].value=new ui(this._values[t].property,null===e?void 0:w(e));},pi.prototype.getTransition=function(t){return w(this._values[t].transition)},pi.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new li(this._values[t].property)),this._values[t].transition=w(e)||void 0;},pi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i);var a=this.getTransition(n);void 0!==a&&(t[n+\"-transition\"]=a);}return t},pi.prototype.transitioned=function(t,e){for(var r=new hi(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(t,e._values[a]);}return r},pi.prototype.untransitioned=function(){for(var t=new hi(this._properties),e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e];t._values[n]=this._values[n].untransitioned();}return t};var ci=function(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r);};ci.prototype.possiblyEvaluate=function(t,e,r){var n=t.now||0,i=this.value.possiblyEvaluate(t,e,r),a=this.prior;if(a){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n<this.begin)return a.possiblyEvaluate(t,e,r);var o=(n-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(t,e,r),i,function(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var hi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues);};hi.prototype.possiblyEvaluate=function(t,e,r){for(var n=new di(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(t,e,r);}return n},hi.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1)if(this._values[e[t]].prior)return !0;return !1};var fi=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues);};fi.prototype.getValue=function(t){return w(this._values[t].value)},fi.prototype.setValue=function(t,e){this._values[t]=new ui(this._values[t].property,null===e?void 0:w(e));},fi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i);}return t},fi.prototype.possiblyEvaluate=function(t,e,r){for(var n=new di(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(t,e,r);}return n};var yi=function(t,e,r){this.property=t,this.value=e,this.parameters=r;};yi.prototype.isConstant=function(){return \"constant\"===this.value.kind},yi.prototype.constantOr=function(t){return \"constant\"===this.value.kind?this.value.value:t},yi.prototype.evaluate=function(t,e,r,n){return this.property.evaluate(this.value,this.parameters,t,e,r,n)};var di=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues);};di.prototype.get=function(t){return this._values[t]};var mi=function(t){this.specification=t;};mi.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},mi.prototype.interpolate=function(t,e,r){var n=Ge[this.specification.type];return n?n(t,e,r):t};var vi=function(t,e){this.specification=t,this.overrides=e;};vi.prototype.possiblyEvaluate=function(t,e,r,n){return new yi(this,\"constant\"===t.expression.kind||\"camera\"===t.expression.kind?{kind:\"constant\",value:t.expression.evaluate(e,null,{},r,n)}:t.expression,e)},vi.prototype.interpolate=function(t,e,r){if(\"constant\"!==t.value.kind||\"constant\"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new yi(this,{kind:\"constant\",value:void 0},t.parameters);var n=Ge[this.specification.type];return n?new yi(this,{kind:\"constant\",value:n(t.value.value,e.value.value,r)},t.parameters):t},vi.prototype.evaluate=function(t,e,r,n,i,a){return \"constant\"===t.kind?t.value:t.evaluate(e,r,n,i,a)};var gi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0===t.value)return new yi(this,{kind:\"constant\",value:void 0},e);if(\"constant\"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n),a=\"resolvedImage\"===t.property.specification.type&&\"string\"!=typeof i?i.name:i,o=this._calculate(a,a,a,e);return new yi(this,{kind:\"constant\",value:o},e)}if(\"camera\"===t.expression.kind){var s=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new yi(this,{kind:\"constant\",value:s},e)}return new yi(this,t.expression,e)},e.prototype.evaluate=function(t,e,r,n,i,a){if(\"source\"===t.kind){var o=t.evaluate(e,r,n,i,a);return this._calculate(o,o,o,e)}return \"composite\"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value},e.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(vi),xi=function(t){this.specification=t;};xi.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if(\"constant\"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new si(Math.floor(e.zoom-1),e)),t.expression.evaluate(new si(Math.floor(e.zoom),e)),t.expression.evaluate(new si(Math.floor(e.zoom+1),e)),e)}},xi.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},xi.prototype.interpolate=function(t){return t};var bi=function(t){this.specification=t;};bi.prototype.possiblyEvaluate=function(t,e,r,n){return !!t.expression.evaluate(e,null,{},r,n)},bi.prototype.interpolate=function(){return !1};var wi=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new ui(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new li(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({});}};On(\"DataDrivenProperty\",vi),On(\"DataConstantProperty\",mi),On(\"CrossFadedDataDrivenProperty\",gi),On(\"CrossFadedProperty\",xi),On(\"ColorRampProperty\",bi);var _i=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return !0},needGeometry:!1},\"custom\"!==e.type&&(this.metadata=(e=e).metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,\"background\"!==e.type&&(this.source=e.source,this.sourceLayer=e[\"source-layer\"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new fi(r.layout)),r.paint)){for(var n in this._transitionablePaint=new pi(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new di(r.paint);}}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return \"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){void 0===r&&(r={}),null!=e&&this._validate(Mn,\"layers.\"+this.id+\".layout.\"+t,t,e,r)||(\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e);},e.prototype.getPaintProperty=function(t){return g(t,\"-transition\")?this._transitionablePaint.getTransition(t.slice(0,-\"-transition\".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e&&this._validate(Pn,\"layers.\"+this.id+\".paint.\"+t,t,e,r))return !1;if(g(t,\"-transition\"))return this._transitionablePaint.setTransition(t.slice(0,-\"-transition\".length),e||void 0),!1;var n=this._transitionablePaint._values[t],i=\"cross-faded-data-driven\"===n.property.specification[\"property-type\"],a=n.value.isDataDriven(),o=n.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var s=this._transitionablePaint._values[t].value;return s.isDataDriven()||a||i||this._handleOverridablePaintPropertyUpdate(t,o,s)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return !1},e.prototype.isHidden=function(t){return !!(this.minzoom&&t<this.minzoom)||!!(this.maxzoom&&t>=this.maxzoom)||\"none\"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint);},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e);},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),b(t,(function(t,e){return !(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Bn(this,t.call(Cn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Et,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return !1},e.prototype.isTileClipped=function(){return !1},e.prototype.hasOffscreenPass=function(){return !1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof yi&&Tr(e.property.specification)&&(\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent)return !0}return !1},e}(Ct),Ai={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Si=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8;},ki=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0);};function Ii(t,e){void 0===e&&(e=1);var r=0,n=0;return {members:t.map((function(t){var i=Ai[t.type].BYTES_PER_ELEMENT,a=r=zi(r,Math.max(e,i)),o=t.components||1;return n=Math.max(n,i),r+=i*o,{name:t.name,type:t.type,components:o,offset:a}})),size:zi(r,Math.max(n,e)),alignment:e}}function zi(t,e){return Math.ceil(t/e)*e}ki.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},ki.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},ki.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews());},ki.prototype.clear=function(){this.length=0;},ki.prototype.resize=function(t){this.reserve(t),this.length=t;},ki.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e);}},ki.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};var Ci=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(ki);Ci.prototype.bytesPerElement=4,On(\"StructArrayLayout2i4\",Ci);var Ei=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(ki);Ei.prototype.bytesPerElement=8,On(\"StructArrayLayout4i8\",Ei);var Pi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(ki);Pi.prototype.bytesPerElement=12,On(\"StructArrayLayout2i4i12\",Pi);var Mi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,u=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[u+4]=n,this.uint8[u+5]=i,this.uint8[u+6]=a,this.uint8[u+7]=o,t},e}(ki);Mi.prototype.bytesPerElement=8,On(\"StructArrayLayout2i4ub8\",Mi);var Bi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(ki);Bi.prototype.bytesPerElement=8,On(\"StructArrayLayout2f8\",Bi);var Ti=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u,l){var p=this.length;return this.resize(p+1),this.emplace(p,t,e,r,n,i,a,o,s,u,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l,p){var c=10*t;return this.uint16[c+0]=e,this.uint16[c+1]=r,this.uint16[c+2]=n,this.uint16[c+3]=i,this.uint16[c+4]=a,this.uint16[c+5]=o,this.uint16[c+6]=s,this.uint16[c+7]=u,this.uint16[c+8]=l,this.uint16[c+9]=p,t},e}(ki);Ti.prototype.bytesPerElement=20,On(\"StructArrayLayout10ui20\",Ti);var Vi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u,l,p,c){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,u,l,p,c)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l,p,c,h){var f=12*t;return this.int16[f+0]=e,this.int16[f+1]=r,this.int16[f+2]=n,this.int16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=u,this.int16[f+8]=l,this.int16[f+9]=p,this.int16[f+10]=c,this.int16[f+11]=h,t},e}(ki);Vi.prototype.bytesPerElement=24,On(\"StructArrayLayout4i4ui4i24\",Vi);var Fi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(ki);Fi.prototype.bytesPerElement=12,On(\"StructArrayLayout3f12\",Fi);var Di=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.uint32[1*t+0]=e,t},e}(ki);Di.prototype.bytesPerElement=4,On(\"StructArrayLayout1ul4\",Di);var Li=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u){var l=this.length;return this.resize(l+1),this.emplace(l,t,e,r,n,i,a,o,s,u)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l){var p=10*t,c=5*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.int16[p+4]=a,this.int16[p+5]=o,this.uint32[c+3]=s,this.uint16[p+8]=u,this.uint16[p+9]=l,t},e}(ki);Li.prototype.bytesPerElement=20,On(\"StructArrayLayout6i1ul2ui20\",Li);var Oi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(ki);Oi.prototype.bytesPerElement=12,On(\"StructArrayLayout2i2i2i12\",Oi);var Ri=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(ki);Ri.prototype.bytesPerElement=16,On(\"StructArrayLayout2f1f2i16\",Ri);var Ui=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(ki);Ui.prototype.bytesPerElement=12,On(\"StructArrayLayout2ub2f12\",Ui);var ji=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(ki);ji.prototype.bytesPerElement=6,On(\"StructArrayLayout3ui6\",ji);var qi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m){var v=this.length;return this.resize(v+1),this.emplace(v,t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v){var g=24*t,x=12*t,b=48*t;return this.int16[g+0]=e,this.int16[g+1]=r,this.uint16[g+2]=n,this.uint16[g+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[g+10]=u,this.uint16[g+11]=l,this.uint16[g+12]=p,this.float32[x+7]=c,this.float32[x+8]=h,this.uint8[b+36]=f,this.uint8[b+37]=y,this.uint8[b+38]=d,this.uint32[x+10]=m,this.int16[g+22]=v,t},e}(ki);qi.prototype.bytesPerElement=48,On(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",qi);var Ni=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v,g,x,b,w,_,A,S,k,I,z){var C=this.length;return this.resize(C+1),this.emplace(C,t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v,g,x,b,w,_,A,S,k,I,z)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v,g,x,b,w,_,A,S,k,I,z,C){var E=34*t,P=17*t;return this.int16[E+0]=e,this.int16[E+1]=r,this.int16[E+2]=n,this.int16[E+3]=i,this.int16[E+4]=a,this.int16[E+5]=o,this.int16[E+6]=s,this.int16[E+7]=u,this.uint16[E+8]=l,this.uint16[E+9]=p,this.uint16[E+10]=c,this.uint16[E+11]=h,this.uint16[E+12]=f,this.uint16[E+13]=y,this.uint16[E+14]=d,this.uint16[E+15]=m,this.uint16[E+16]=v,this.uint16[E+17]=g,this.uint16[E+18]=x,this.uint16[E+19]=b,this.uint16[E+20]=w,this.uint16[E+21]=_,this.uint16[E+22]=A,this.uint32[P+12]=S,this.float32[P+13]=k,this.float32[P+14]=I,this.float32[P+15]=z,this.float32[P+16]=C,t},e}(ki);Ni.prototype.bytesPerElement=68,On(\"StructArrayLayout8i15ui1ul4f68\",Ni);var Ki=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.float32[1*t+0]=e,t},e}(ki);Ki.prototype.bytesPerElement=4,On(\"StructArrayLayout1f4\",Ki);var Gi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(ki);Gi.prototype.bytesPerElement=6,On(\"StructArrayLayout3i6\",Gi);var Zi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=4*t;return this.uint32[2*t+0]=e,this.uint16[i+2]=r,this.uint16[i+3]=n,t},e}(ki);Zi.prototype.bytesPerElement=8,On(\"StructArrayLayout1ul2ui8\",Zi);var Xi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(ki);Xi.prototype.bytesPerElement=4,On(\"StructArrayLayout2ui4\",Xi);var Ji=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.uint16[1*t+0]=e,t},e}(ki);Ji.prototype.bytesPerElement=2,On(\"StructArrayLayout1ui2\",Ji);var Hi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(ki);Hi.prototype.bytesPerElement=16,On(\"StructArrayLayout4f16\",Hi);var Yi=function(t){function e(){t.apply(this,arguments);}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new i(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Si);Yi.prototype.size=20;var $i=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Yi(this,t)},e}(Li);On(\"CollisionBoxArray\",$i);var Wi=function(t){function e(){t.apply(this,arguments);}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t;},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t;},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t;},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}(Si);Wi.prototype.size=48;var Qi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Wi(this,t)},e}(qi);On(\"PlacedSymbolArray\",Qi);var ta=function(t){function e(){t.apply(this,arguments);}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t;},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}(Si);ta.prototype.size=68;var ea=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new ta(this,t)},e}(Ni);On(\"SymbolInstanceArray\",ea);var ra=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(Ki);On(\"GlyphOffsetArray\",ra);var na=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(Gi);On(\"SymbolLineVertexArray\",na);var ia=function(t){function e(){t.apply(this,arguments);}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}(Si);ia.prototype.size=8;var aa=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new ia(this,t)},e}(Zi);On(\"FeatureIndexArray\",aa);var oa=Ii([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,sa=function(t){void 0===t&&(t=[]),this.segments=t;};function ua(t,e){return 256*(t=p(Math.floor(t),0,255))+p(Math.floor(e),0,255)}sa.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>sa.MAX_VERTEX_ARRAY_LENGTH&&A(\"Max vertices per segment is \"+sa.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+t),(!i||i.vertexLength+t>sa.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},sa.prototype.get=function(){return this.segments},sa.prototype.destroy=function(){for(var t=0,e=this.segments;t<e.length;t+=1){var r=e[t];for(var n in r.vaos)r.vaos[n].destroy();}},sa.simpleSegment=function(t,e,r,n){return new sa([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])},sa.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,On(\"SegmentVector\",sa);var la=Ii([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint16\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint16\"}]),pa=e((function(t){t.exports=function(t,e){var r,n,i,a,o,s,u,l;for(n=t.length-(r=3&t.length),i=e,o=3432918353,s=461845907,l=0;l<n;)u=255&t.charCodeAt(l)|(255&t.charCodeAt(++l))<<8|(255&t.charCodeAt(++l))<<16|(255&t.charCodeAt(++l))<<24,++l,i=27492+(65535&(a=5*(65535&(i=(i^=u=(65535&(u=(u=(65535&u)*o+(((u>>>16)*o&65535)<<16)&4294967295)<<15|u>>>17))*s+(((u>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(u=0,r){case 3:u^=(255&t.charCodeAt(l+2))<<16;case 2:u^=(255&t.charCodeAt(l+1))<<8;case 1:i^=u=(65535&(u=(u=(65535&(u^=255&t.charCodeAt(l)))*o+(((u>>>16)*o&65535)<<16)&4294967295)<<15|u>>>17))*s+(((u>>>16)*s&65535)<<16)&4294967295;}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0};})),ca=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16);}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0};})),ha=pa,fa=ca;ha.murmur3=pa,ha.murmur2=fa;var ya=function(){this.ids=[],this.positions=[],this.indexed=!1;};ya.prototype.add=function(t,e,r,n){this.ids.push(ma(t)),this.positions.push(e,r,n);},ya.prototype.getPositions=function(t){for(var e=ma(t),r=0,n=this.ids.length-1;r<n;){var i=r+n>>1;this.ids[i]>=e?n=i:r=i+1;}for(var a=[];this.ids[r]===e;)a.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return a},ya.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return function t(e,r,n,i){for(;n<i;){for(var a=e[n+i>>1],o=n-1,s=i+1;;){do{o++;}while(e[o]<a);do{s--;}while(e[s]>a);if(o>=s)break;va(e,o,s),va(r,3*o,3*s),va(r,3*o+1,3*s+1),va(r,3*o+2,3*s+2);}s-n<i-s?(t(e,r,n,s),n=s+1):(t(e,r,s+1,i),i=s);}}(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},ya.deserialize=function(t){var e=new ya;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var da=Math.pow(2,53)-1;function ma(t){var e=+t;return !isNaN(e)&&e<=da?e:ha(String(t))}function va(t,e,r){var n=t[e];t[e]=t[r],t[r]=n;}On(\"FeaturePositionMap\",ya);var ga=function(t,e){this.gl=t.gl,this.location=e;},xa=function(t){function e(e,r){t.call(this,e,r),this.current=0;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t));},e}(ga),ba=function(t){function e(e,r){t.call(this,e,r),this.current=0;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1f(this.location,t));},e}(ga),wa=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0];}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]));},e}(ga),_a=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0];}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]));},e}(ga),Aa=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0,0];}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]&&t[3]===this.current[3]||(this.current=t,this.gl.uniform4f(this.location,t[0],t[1],t[2],t[3]));},e}(ga),Sa=function(t){function e(e,r){t.call(this,e,r),this.current=te.transparent;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t.r===this.current.r&&t.g===this.current.g&&t.b===this.current.b&&t.a===this.current.a||(this.current=t,this.gl.uniform4f(this.location,t.r,t.g,t.b,t.a));},e}(ga),ka=new Float32Array(16),Ia=function(t){function e(e,r){t.call(this,e,r),this.current=ka;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(var e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}},e}(ga);function za(t){return [ua(255*t.r,255*t.g),ua(255*t.b,255*t.a)]}var Ca=function(t,e,r){this.value=t,this.uniformNames=e.map((function(t){return \"u_\"+t})),this.type=r;};Ca.prototype.setUniform=function(t,e,r){t.set(r.constantOr(this.value));},Ca.prototype.getBinding=function(t,e,r){return \"color\"===this.type?new Sa(t,e):new ba(t,e)};var Ea=function(t,e){this.uniformNames=e.map((function(t){return \"u_\"+t})),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1;};Ea.prototype.setConstantPatternPositions=function(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr;},Ea.prototype.setUniform=function(t,e,r,n){var i=\"u_pattern_to\"===n?this.patternTo:\"u_pattern_from\"===n?this.patternFrom:\"u_pixel_ratio_to\"===n?this.pixelRatioTo:\"u_pixel_ratio_from\"===n?this.pixelRatioFrom:null;i&&t.set(i);},Ea.prototype.getBinding=function(t,e,r){return \"u_pattern\"===r.substr(0,9)?new Aa(t,e):new ba(t,e)};var Pa=function(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return {name:\"a_\"+t,type:\"Float32\",components:\"color\"===r?2:1,offset:0}})),this.paintVertexArray=new n;};Pa.prototype.populatePaintArray=function(t,e,r,n,i){var a=this.paintVertexArray.length,o=this.expression.evaluate(new si(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(a,t,o);},Pa.prototype.updatePaintArray=function(t,e,r,n){var i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,i);},Pa.prototype._setPaintValue=function(t,e,r){if(\"color\"===this.type)for(var n=za(r),i=t;i<e;i++)this.paintVertexArray.emplace(i,n[0],n[1]);else {for(var a=t;a<e;a++)this.paintVertexArray.emplace(a,r);this.maxValue=Math.max(this.maxValue,Math.abs(r));}},Pa.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent));},Pa.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy();};var Ma=function(t,e,r,n,i,a){this.expression=t,this.uniformNames=e.map((function(t){return \"u_\"+t+\"_t\"})),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return {name:\"a_\"+t,type:\"Float32\",components:\"color\"===r?4:2,offset:0}})),this.paintVertexArray=new a;};Ma.prototype.populatePaintArray=function(t,e,r,n,i){var a=this.expression.evaluate(new si(this.zoom),e,{},n,[],i),o=this.expression.evaluate(new si(this.zoom+1),e,{},n,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(s,t,a,o);},Ma.prototype.updatePaintArray=function(t,e,r,n){var i=this.expression.evaluate({zoom:this.zoom},r,n),a=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(t,e,i,a);},Ma.prototype._setPaintValue=function(t,e,r,n){if(\"color\"===this.type)for(var i=za(r),a=za(n),o=t;o<e;o++)this.paintVertexArray.emplace(o,i[0],i[1],a[0],a[1]);else {for(var s=t;s<e;s++)this.paintVertexArray.emplace(s,r,n);this.maxValue=Math.max(this.maxValue,Math.abs(r),Math.abs(n));}},Ma.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent));},Ma.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy();},Ma.prototype.setUniform=function(t,e){var r=this.useIntegerZoom?Math.floor(e.zoom):e.zoom,n=p(this.expression.interpolationFactor(r,this.zoom,this.zoom+1),0,1);t.set(n);},Ma.prototype.getBinding=function(t,e,r){return new ba(t,e)};var Ba=function(t,e,r,n,i,a){this.expression=t,this.type=e,this.useIntegerZoom=r,this.zoom=n,this.layerId=a,this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i;};Ba.prototype.populatePaintArray=function(t,e,r){var n=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(t),this.zoomOutPaintVertexArray.resize(t),this._setPaintValues(n,t,e.patterns&&e.patterns[this.layerId],r);},Ba.prototype.updatePaintArray=function(t,e,r,n,i){this._setPaintValues(t,e,r.patterns&&r.patterns[this.layerId],i);},Ba.prototype._setPaintValues=function(t,e,r,n){if(n&&r){var i=n[r.min],a=n[r.mid],o=n[r.max];if(i&&a&&o)for(var s=t;s<e;s++)this.zoomInPaintVertexArray.emplace(s,a.tl[0],a.tl[1],a.br[0],a.br[1],i.tl[0],i.tl[1],i.br[0],i.br[1],a.pixelRatio,i.pixelRatio),this.zoomOutPaintVertexArray.emplace(s,a.tl[0],a.tl[1],a.br[0],a.br[1],o.tl[0],o.tl[1],o.br[0],o.br[1],a.pixelRatio,o.pixelRatio);}},Ba.prototype.upload=function(t){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=t.createVertexBuffer(this.zoomInPaintVertexArray,la.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=t.createVertexBuffer(this.zoomOutPaintVertexArray,la.members,this.expression.isStateDependent));},Ba.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy();};var Ta=function(t,e,r){this.binders={},this._buffers=[];var n=[];for(var i in t.paint._values)if(r(i)){var a=t.paint.get(i);if(a instanceof yi&&Tr(a.property.specification)){var o=Fa(i,t.type),s=a.value,u=a.property.specification.type,l=a.property.useIntegerZoom,p=a.property.specification[\"property-type\"],c=\"cross-faded\"===p||\"cross-faded-data-driven\"===p;if(\"constant\"===s.kind)this.binders[i]=c?new Ea(s.value,o):new Ca(s.value,o,u),n.push(\"/u_\"+i);else if(\"source\"===s.kind||c){var h=Da(i,u,\"source\");this.binders[i]=c?new Ba(s,u,l,e,h,t.id):new Pa(s,o,u,h),n.push(\"/a_\"+i);}else {var f=Da(i,u,\"composite\");this.binders[i]=new Ma(s,o,u,l,e,f),n.push(\"/z_\"+i);}}}this.cacheKey=n.sort().join(\"\");};Ta.prototype.getMaxValue=function(t){var e=this.binders[t];return e instanceof Pa||e instanceof Ma?e.maxValue:0},Ta.prototype.populatePaintArrays=function(t,e,r,n,i){for(var a in this.binders){var o=this.binders[a];(o instanceof Pa||o instanceof Ma||o instanceof Ba)&&o.populatePaintArray(t,e,r,n,i);}},Ta.prototype.setConstantPatternPositions=function(t,e){for(var r in this.binders){var n=this.binders[r];n instanceof Ea&&n.setConstantPatternPositions(t,e);}},Ta.prototype.updatePaintArrays=function(t,e,r,n,i){var a=!1;for(var o in t)for(var s=0,u=e.getPositions(o);s<u.length;s+=1){var l=u[s],p=r.feature(l.index);for(var c in this.binders){var h=this.binders[c];if((h instanceof Pa||h instanceof Ma||h instanceof Ba)&&!0===h.expression.isStateDependent){var f=n.paint.get(c);h.expression=f.value,h.updatePaintArray(l.start,l.end,p,t[o],i),a=!0;}}}return a},Ta.prototype.defines=function(){var t=[];for(var e in this.binders){var r=this.binders[e];(r instanceof Ca||r instanceof Ea)&&t.push.apply(t,r.uniformNames.map((function(t){return \"#define HAS_UNIFORM_\"+t})));}return t},Ta.prototype.getBinderAttributes=function(){var t=[];for(var e in this.binders){var r=this.binders[e];if(r instanceof Pa||r instanceof Ma)for(var n=0;n<r.paintVertexAttributes.length;n++)t.push(r.paintVertexAttributes[n].name);else if(r instanceof Ba)for(var i=0;i<la.members.length;i++)t.push(la.members[i].name);}return t},Ta.prototype.getBinderUniforms=function(){var t=[];for(var e in this.binders){var r=this.binders[e];if(r instanceof Ca||r instanceof Ea||r instanceof Ma)for(var n=0,i=r.uniformNames;n<i.length;n+=1)t.push(i[n]);}return t},Ta.prototype.getPaintVertexBuffers=function(){return this._buffers},Ta.prototype.getUniforms=function(t,e){var r=[];for(var n in this.binders){var i=this.binders[n];if(i instanceof Ca||i instanceof Ea||i instanceof Ma)for(var a=0,o=i.uniformNames;a<o.length;a+=1){var s=o[a];if(e[s]){var u=i.getBinding(t,e[s],s);r.push({name:s,property:n,binding:u});}}}return r},Ta.prototype.setUniforms=function(t,e,r,n){for(var i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.name,u=o.property;this.binders[u].setUniform(o.binding,n,r.get(u),s);}},Ta.prototype.updatePaintBuffers=function(t){for(var e in this._buffers=[],this.binders){var r=this.binders[e];if(t&&r instanceof Ba){var n=2===t.fromScale?r.zoomInPaintVertexBuffer:r.zoomOutPaintVertexBuffer;n&&this._buffers.push(n);}else (r instanceof Pa||r instanceof Ma)&&r.paintVertexBuffer&&this._buffers.push(r.paintVertexBuffer);}},Ta.prototype.upload=function(t){for(var e in this.binders){var r=this.binders[e];(r instanceof Pa||r instanceof Ma||r instanceof Ba)&&r.upload(t);}this.updatePaintBuffers();},Ta.prototype.destroy=function(){for(var t in this.binders){var e=this.binders[t];(e instanceof Pa||e instanceof Ma||e instanceof Ba)&&e.destroy();}};var Va=function(t,e,r){void 0===r&&(r=function(){return !0}),this.programConfigurations={};for(var n=0,i=t;n<i.length;n+=1){var a=i[n];this.programConfigurations[a.id]=new Ta(a,e,r);}this.needsUpload=!1,this._featureMap=new ya,this._bufferOffset=0;};function Fa(t,e){return {\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[t]||[t.replace(e+\"-\",\"\").replace(/-/g,\"_\")]}function Da(t,e,r){var n={color:{source:Bi,composite:Hi},number:{source:Ki,composite:Bi}},i=function(t){return {\"line-pattern\":{source:Ti,composite:Ti},\"fill-pattern\":{source:Ti,composite:Ti},\"fill-extrusion-pattern\":{source:Ti,composite:Ti}}[t]}(t);return i&&i[r]||n[e][r]}Va.prototype.populatePaintArrays=function(t,e,r,n,i,a){for(var o in this.programConfigurations)this.programConfigurations[o].populatePaintArrays(t,e,n,i,a);void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0;},Va.prototype.updatePaintArrays=function(t,e,r,n){for(var i=0,a=r;i<a.length;i+=1){var o=a[i];this.needsUpload=this.programConfigurations[o.id].updatePaintArrays(t,this._featureMap,e,o,n)||this.needsUpload;}},Va.prototype.get=function(t){return this.programConfigurations[t]},Va.prototype.upload=function(t){if(this.needsUpload){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1;}},Va.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy();},On(\"ConstantBinder\",Ca),On(\"CrossFadedConstantBinder\",Ea),On(\"SourceExpressionBinder\",Pa),On(\"CrossFadedCompositeBinder\",Ba),On(\"CompositeExpressionBinder\",Ma),On(\"ProgramConfiguration\",Ta,{omit:[\"_buffers\"]}),On(\"ProgramConfigurationSet\",Va);var La=Math.pow(2,14)-1,Oa=-La-1;function Ra(t){for(var e=8192/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var i=r[n],a=0;a<i.length;a++){var o=i[a],s=Math.round(o.x*e),u=Math.round(o.y*e);o.x=p(s,Oa,La),o.y=p(u,Oa,La),(s<o.x||s>o.x+1||u<o.y||u>o.y+1)&&A(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\");}return r}function Ua(t,e){return {type:t.type,id:t.id,properties:t.properties,geometry:e?Ra(t):[]}}function ja(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2);}var qa=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Ci,this.indexArray=new ji,this.segments=new sa,this.programConfigurations=new Va(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}));};function Na(t,e){for(var r=0;r<t.length;r++)if(Wa(e,t[r]))return !0;for(var n=0;n<e.length;n++)if(Wa(t,e[n]))return !0;return !!Xa(t,e)}function Ka(t,e,r){return !!Wa(t,e)||!!Ha(e,t,r)}function Ga(t,e){if(1===t.length)return $a(e,t[0]);for(var r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++)if(Wa(t,n[i]))return !0;for(var a=0;a<t.length;a++)if($a(e,t[a]))return !0;for(var o=0;o<e.length;o++)if(Xa(t,e[o]))return !0;return !1}function Za(t,e,r){if(t.length>1){if(Xa(t,e))return !0;for(var n=0;n<e.length;n++)if(Ha(e[n],t,r))return !0}for(var i=0;i<t.length;i++)if(Ha(t[i],e,r))return !0;return !1}function Xa(t,e){if(0===t.length||0===e.length)return !1;for(var r=0;r<t.length-1;r++)for(var n=t[r],i=t[r+1],a=0;a<e.length-1;a++)if(Ja(n,i,e[a],e[a+1]))return !0;return !1}function Ja(t,e,r,n){return S(t,r,n)!==S(e,r,n)&&S(t,e,r)!==S(t,e,n)}function Ha(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++)if(Ya(t,e[i-1],e[i])<n)return !0;return !1}function Ya(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return t.distSqr(i<0?e:i>1?r:r.sub(e)._mult(i)._add(e))}function $a(t,e){for(var r,n,i,a=!1,o=0;o<t.length;o++)for(var s=0,u=(r=t[o]).length-1;s<r.length;u=s++)(n=r[s]).y>e.y!=(i=r[u]).y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Wa(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r);}return r}function Qa(t,e,r){var n=r[0],i=r[2];if(t.x<n.x&&e.x<n.x||t.x>i.x&&e.x>i.x||t.y<n.y&&e.y<n.y||t.y>i.y&&e.y>i.y)return !1;var a=S(t,e,r[0]);return a!==S(t,e,r[1])||a!==S(t,e,r[2])||a!==S(t,e,r[3])}function to(t,e,r){var n=e.paint.get(t).value;return \"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function eo(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function ro(t,e,r,n,a){if(!e[0]&&!e[1])return t;var o=i.convert(e)._mult(a);\"viewport\"===r&&o._rotate(-n);for(var s=[],u=0;u<t.length;u++)s.push(t[u].sub(o));return s}qa.prototype.populate=function(t,e,r){var n=this.layers[0],i=[],a=null;\"circle\"===n.type&&(a=n.layout.get(\"circle-sort-key\"));for(var o=0,s=t;o<s.length;o+=1){var u=s[o],l=u.feature,p=u.id,c=u.index,h=u.sourceLayerIndex,f=this.layers[0]._featureFilter.needGeometry,y=Ua(l,f);if(this.layers[0]._featureFilter.filter(new si(this.zoom),y,r)){var d=a?a.evaluate(y,{},r):void 0,m={id:p,properties:l.properties,type:l.type,sourceLayerIndex:h,index:c,geometry:f?y.geometry:Ra(l),patterns:{},sortKey:d};i.push(m);}}a&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var v=0,g=i;v<g.length;v+=1){var x=g[v],b=x.geometry,w=x.index,_=x.sourceLayerIndex,A=t[w].feature;this.addFeature(x,b,w,r),e.featureIndex.insert(A,b,w,_,this.index);}},qa.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);},qa.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},qa.prototype.uploadPending=function(){return !this.uploaded||this.programConfigurations.needsUpload},qa.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,oa),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;},qa.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());},qa.prototype.addFeature=function(t,e,r,n){for(var i=0,a=e;i<a.length;i+=1)for(var o=0,s=a[i];o<s.length;o+=1){var u=s[o],l=u.x,p=u.y;if(!(l<0||l>=8192||p<0||p>=8192)){var c=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=c.vertexLength;ja(this.layoutVertexArray,l,p,-1,-1),ja(this.layoutVertexArray,l,p,1,-1),ja(this.layoutVertexArray,l,p,1,1),ja(this.layoutVertexArray,l,p,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),c.vertexLength+=4,c.primitiveLength+=2;}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n);},On(\"CircleBucket\",qa,{omit:[\"layers\"]});var no=new wi({\"circle-sort-key\":new vi(Et.layout_circle[\"circle-sort-key\"])}),io={paint:new wi({\"circle-radius\":new vi(Et.paint_circle[\"circle-radius\"]),\"circle-color\":new vi(Et.paint_circle[\"circle-color\"]),\"circle-blur\":new vi(Et.paint_circle[\"circle-blur\"]),\"circle-opacity\":new vi(Et.paint_circle[\"circle-opacity\"]),\"circle-translate\":new mi(Et.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new mi(Et.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new mi(Et.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new mi(Et.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new vi(Et.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new vi(Et.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new vi(Et.paint_circle[\"circle-stroke-opacity\"])}),layout:no},ao=\"undefined\"!=typeof Float32Array?Float32Array:Array;function oo(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function so(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],u=e[5],l=e[6],p=e[7],c=e[8],h=e[9],f=e[10],y=e[11],d=e[12],m=e[13],v=e[14],g=e[15],x=r[0],b=r[1],w=r[2],_=r[3];return t[0]=x*n+b*s+w*c+_*d,t[1]=x*i+b*u+w*h+_*m,t[2]=x*a+b*l+w*f+_*v,t[3]=x*o+b*p+w*y+_*g,t[4]=(x=r[4])*n+(b=r[5])*s+(w=r[6])*c+(_=r[7])*d,t[5]=x*i+b*u+w*h+_*m,t[6]=x*a+b*l+w*f+_*v,t[7]=x*o+b*p+w*y+_*g,t[8]=(x=r[8])*n+(b=r[9])*s+(w=r[10])*c+(_=r[11])*d,t[9]=x*i+b*u+w*h+_*m,t[10]=x*a+b*l+w*f+_*v,t[11]=x*o+b*p+w*y+_*g,t[12]=(x=r[12])*n+(b=r[13])*s+(w=r[14])*c+(_=r[15])*d,t[13]=x*i+b*u+w*h+_*m,t[14]=x*a+b*l+w*f+_*v,t[15]=x*o+b*p+w*y+_*g,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var uo,lo=so;function po(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}uo=new ao(3),ao!=Float32Array&&(uo[0]=0,uo[1]=0,uo[2]=0),function(){var t=new ao(4);ao!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0);}();var co=(function(){var t=new ao(2);ao!=Float32Array&&(t[0]=0,t[1]=0);}(),function(t){function e(e){t.call(this,e,io);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new qa(t)},e.prototype.queryRadius=function(t){var e=t;return to(\"circle-radius\",this,e)+to(\"circle-stroke-width\",this,e)+eo(this.paint.get(\"circle-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var u=ro(t,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),a.angle,o),l=this.paint.get(\"circle-radius\").evaluate(e,r)+this.paint.get(\"circle-stroke-width\").evaluate(e,r),p=\"map\"===this.paint.get(\"circle-pitch-alignment\"),c=p?u:function(t,e){return t.map((function(t){return ho(t,e)}))}(u,s),h=p?l*o:l,f=0,y=n;f<y.length;f+=1)for(var d=0,m=y[f];d<m.length;d+=1){var v=m[d],g=p?v:ho(v,s),x=h,b=po([],[v.x,v.y,0,1],s);if(\"viewport\"===this.paint.get(\"circle-pitch-scale\")&&\"map\"===this.paint.get(\"circle-pitch-alignment\")?x*=b[3]/a.cameraToCenterDistance:\"map\"===this.paint.get(\"circle-pitch-scale\")&&\"viewport\"===this.paint.get(\"circle-pitch-alignment\")&&(x*=a.cameraToCenterDistance/b[3]),Ka(c,g,x))return !0}return !1},e}(_i));function ho(t,e){var r=po([],[t.x,t.y,0,1],e);return new i(r[0]/r[3],r[1]/r[3])}var fo=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(qa);function yo(t,e,r,n){var i=e.width,a=e.height;if(n){if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==i*a*r)throw new RangeError(\"mismatched image size\")}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function mo(t,e,r){var n=e.width,i=e.height;if(n!==t.width||i!==t.height){var a=yo({},{width:n,height:i},r);vo(t,a,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,n),height:Math.min(t.height,i)},r),t.width=n,t.height=i,t.data=a.data;}}function vo(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var o=t.data,s=e.data,u=0;u<i.height;u++)for(var l=((r.y+u)*t.width+r.x)*a,p=((n.y+u)*e.width+n.x)*a,c=0;c<i.width*a;c++)s[p+c]=o[l+c];return e}On(\"HeatmapBucket\",fo,{omit:[\"layers\"]});var go=function(t,e){yo(this,t,1,e);};go.prototype.resize=function(t){mo(this,t,1);},go.prototype.clone=function(){return new go({width:this.width,height:this.height},new Uint8Array(this.data))},go.copy=function(t,e,r,n,i){vo(t,e,r,n,i,1);};var xo=function(t,e){yo(this,t,4,e);};xo.prototype.resize=function(t){mo(this,t,4);},xo.prototype.replace=function(t,e){e?this.data.set(t):this.data=t instanceof Uint8ClampedArray?new Uint8Array(t.buffer):t;},xo.prototype.clone=function(){return new xo({width:this.width,height:this.height},new Uint8Array(this.data))},xo.copy=function(t,e,r,n,i){vo(t,e,r,n,i,4);},On(\"AlphaImage\",go),On(\"RGBAImage\",xo);var bo={paint:new wi({\"heatmap-radius\":new vi(Et.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new vi(Et.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new mi(Et.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new bi(Et.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new mi(Et.paint_heatmap[\"heatmap-opacity\"])})};function wo(t){var e={},r=t.resolution||256,n=t.clips?t.clips.length:1,i=t.image||new xo({width:r,height:n}),a=function(r,n,a){e[t.evaluationKey]=a;var o=t.expression.evaluate(e);i.data[r+n+0]=Math.floor(255*o.r/o.a),i.data[r+n+1]=Math.floor(255*o.g/o.a),i.data[r+n+2]=Math.floor(255*o.b/o.a),i.data[r+n+3]=Math.floor(255*o.a);};if(t.clips)for(var o=0,s=0;o<n;++o,s+=4*r)for(var u=0,l=0;u<r;u++,l+=4){var p=u/(r-1),c=t.clips[o];a(s,l,c.start*(1-p)+c.end*p);}else for(var h=0,f=0;h<r;h++,f+=4)a(0,f,h/(r-1));return i}var _o=function(t){function e(e){t.call(this,e,bo),this._updateColorRamp();}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new fo(t)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){\"heatmap-color\"===t&&this._updateColorRamp();},e.prototype._updateColorRamp=function(){this.colorRamp=wo({expression:this._transitionablePaint._values[\"heatmap-color\"].value.expression,evaluationKey:\"heatmapDensity\",image:this.colorRamp}),this.colorRampTexture=null;},e.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null);},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return !1},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"heatmap-opacity\")&&\"none\"!==this.visibility},e}(_i),Ao={paint:new wi({\"hillshade-illumination-direction\":new mi(Et.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new mi(Et.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new mi(Et.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new mi(Et.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new mi(Et.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new mi(Et.paint_hillshade[\"hillshade-accent-color\"])})},So=function(t){function e(e){t.call(this,e,Ao);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"hillshade-exaggeration\")&&\"none\"!==this.visibility},e}(_i),ko=Ii([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,Io=Co,zo=Co;function Co(t,e,r){r=r||2;var n,i,a,o,s,u,l,p=e&&e.length,c=p?e[0]*r:t.length,h=Eo(t,0,c,r,!0),f=[];if(!h||h.next===h.prev)return f;if(p&&(h=function(t,e,r,n){var i,a,o,s=[];for(i=0,a=e.length;i<a;i++)(o=Eo(t,e[i]*n,i<a-1?e[i+1]*n:t.length,n,!1))===o.next&&(o.steiner=!0),s.push(Uo(o));for(s.sort(Do),i=0;i<s.length;i++)Lo(s[i],r),r=Po(r,r.next);return r}(t,e,h,r)),t.length>80*r){n=a=t[0],i=o=t[1];for(var y=r;y<c;y+=r)(s=t[y])<n&&(n=s),(u=t[y+1])<i&&(i=u),s>a&&(a=s),u>o&&(o=u);l=0!==(l=Math.max(a-n,o-i))?1/l:0;}return Mo(h,f,r,n,i,l),f}function Eo(t,e,r,n,i){var a,o;if(i===Qo(t,e,r,n)>0)for(a=e;a<r;a+=n)o=Yo(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=Yo(a,t[a],t[a+1],o);return o&&Ko(o,o.next)&&($o(o),o=o.next),o}function Po(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Ko(n,n.next)&&0!==No(n.prev,n,n.next))n=n.next;else {if($o(n),(n=e=n.prev)===n.next)break;r=!0;}}while(r||n!==e);return e}function Mo(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=Ro(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,u,l=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<l&&(s++,n=n.nextZ);e++);for(u=l;s>0||u>0&&n;)0!==s&&(0===u||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,u--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n;}a.nextZ=null,l*=2;}while(o>1)}(i);}(t,n,i,a);for(var s,u,l=t;t.prev!==t.next;)if(s=t.prev,u=t.next,a?To(t,n,i,a):Bo(t))e.push(s.i/r),e.push(t.i/r),e.push(u.i/r),$o(t),t=u.next,l=u.next;else if((t=u)===l){o?1===o?Mo(t=Vo(Po(t),e,r),e,r,n,i,a,2):2===o&&Fo(t,e,r,n,i,a):Mo(Po(t),e,r,n,i,a,1);break}}}function Bo(t){var e=t.prev,r=t,n=t.next;if(No(e,r,n)>=0)return !1;for(var i=t.next.next;i!==t.prev;){if(jo(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&No(i.prev,i,i.next)>=0)return !1;i=i.next;}return !0}function To(t,e,r,n){var i=t.prev,a=t,o=t.next;if(No(i,a,o)>=0)return !1;for(var s=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,l=Ro(i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,e,r,n),p=Ro(s,u,e,r,n),c=t.prevZ,h=t.nextZ;c&&c.z>=l&&h&&h.z<=p;){if(c!==t.prev&&c!==t.next&&jo(i.x,i.y,a.x,a.y,o.x,o.y,c.x,c.y)&&No(c.prev,c,c.next)>=0)return !1;if(c=c.prevZ,h!==t.prev&&h!==t.next&&jo(i.x,i.y,a.x,a.y,o.x,o.y,h.x,h.y)&&No(h.prev,h,h.next)>=0)return !1;h=h.nextZ;}for(;c&&c.z>=l;){if(c!==t.prev&&c!==t.next&&jo(i.x,i.y,a.x,a.y,o.x,o.y,c.x,c.y)&&No(c.prev,c,c.next)>=0)return !1;c=c.prevZ;}for(;h&&h.z<=p;){if(h!==t.prev&&h!==t.next&&jo(i.x,i.y,a.x,a.y,o.x,o.y,h.x,h.y)&&No(h.prev,h,h.next)>=0)return !1;h=h.nextZ;}return !0}function Vo(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Ko(i,a)&&Go(i,n,n.next,a)&&Jo(i,a)&&Jo(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),$o(n),$o(n.next),n=t=a),n=n.next;}while(n!==t);return Po(n)}function Fo(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&qo(o,s)){var u=Ho(o,s);return o=Po(o,o.next),u=Po(u,u.next),Mo(o,e,r,n,i,a),void Mo(u,e,r,n,i,a)}s=s.next;}o=o.next;}while(o!==t)}function Do(t,e){return t.x-e.x}function Lo(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next;}}n=n.next;}while(n!==e);if(!r)return null;if(i===o)return r;var u,l=r,p=r.x,c=r.y,h=1/0;n=r;do{i>=n.x&&n.x>=p&&i!==n.x&&jo(a<c?i:o,a,p,c,a<c?o:i,a,n.x,n.y)&&(u=Math.abs(a-n.y)/(i-n.x),Jo(n,t)&&(u<h||u===h&&(n.x>r.x||n.x===r.x&&Oo(r,n)))&&(r=n,h=u)),n=n.next;}while(n!==l);return r}(t,e)){var r=Ho(e,t);Po(e,e.next),Po(r,r.next);}}function Oo(t,e){return No(t.prev,t,e.prev)<0&&No(e.next,t,t.next)<0}function Ro(t,e,r,n,i){return (t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Uo(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next;}while(e!==t);return r}function jo(t,e,r,n,i,a,o,s){return (i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function qo(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&Go(r,r.next,t,e))return !0;r=r.next;}while(r!==t);return !1}(t,e)&&(Jo(t,e)&&Jo(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;}while(r!==t);return n}(t,e)&&(No(t.prev,t,e.prev)||No(t,e.prev,e))||Ko(t,e)&&No(t.prev,t,t.next)>0&&No(e.prev,e,e.next)>0)}function No(t,e,r){return (e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ko(t,e){return t.x===e.x&&t.y===e.y}function Go(t,e,r,n){var i=Xo(No(t,e,r)),a=Xo(No(t,e,n)),o=Xo(No(r,n,t)),s=Xo(No(r,n,e));return i!==a&&o!==s||!(0!==i||!Zo(t,r,e))||!(0!==a||!Zo(t,n,e))||!(0!==o||!Zo(r,t,n))||!(0!==s||!Zo(r,e,n))}function Zo(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Xo(t){return t>0?1:t<0?-1:0}function Jo(t,e){return No(t.prev,t,t.next)<0?No(t,e,t.next)>=0&&No(t,t.prev,e)>=0:No(t,e,t.prev)<0||No(t,t.next,e)<0}function Ho(t,e){var r=new Wo(t.i,t.x,t.y),n=new Wo(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Yo(t,e,r,n){var i=new Wo(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function $o(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ);}function Wo(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1;}function Qo(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}function ts(t,e,r,n,i){!function t(e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,u=Math.log(o),l=.5*Math.exp(2*u/3),p=.5*Math.sqrt(u*l*(o-l)/o)*(s-o/2<0?-1:1);t(e,r,Math.max(n,Math.floor(r-s*l/o+p)),Math.min(i,Math.floor(r+(o-s)*l/o+p)),a);}var c=e[r],h=n,f=i;for(es(e,n,r),a(e[i],c)>0&&es(e,n,i);h<f;){for(es(e,h,f),h++,f--;a(e[h],c)<0;)h++;for(;a(e[f],c)>0;)f--;}0===a(e[n],c)?es(e,n,f):es(e,++f,i),f<=r&&(n=f+1),r<=f&&(i=f-1);}}(t,e,r||0,n||t.length-1,i||rs);}function es(t,e,r){var n=t[e];t[e]=t[r],t[r]=n;}function rs(t,e){return t<e?-1:t>e?1:0}function ns(t,e){var r=t.length;if(r<=1)return [t];for(var n,i,a=[],o=0;o<r;o++){var s=k(t[o]);0!==s&&(t[o].area=Math.abs(s),void 0===i&&(i=s<0),i===s<0?(n&&a.push(n),n=[t[o]]):n.push(t[o]));}if(n&&a.push(n),e>1)for(var u=0;u<a.length;u++)a[u].length<=e||(ts(a[u],e,1,a[u].length-1,is),a[u]=a[u].slice(0,e));return a}function is(t,e){return e.area-t.area}function as(t,e,r){for(var n=r.patternDependencies,i=!1,a=0,o=e;a<o.length;a+=1){var s=o[a].paint.get(t+\"-pattern\");s.isConstant()||(i=!0);var u=s.constantOr(null);u&&(i=!0,n[u.to]=!0,n[u.from]=!0);}return i}function os(t,e,r,n,i){for(var a=i.patternDependencies,o=0,s=e;o<s.length;o+=1){var u=s[o],l=u.paint.get(t+\"-pattern\").value;if(\"constant\"!==l.kind){var p=l.evaluate({zoom:n-1},r,{},i.availableImages),c=l.evaluate({zoom:n},r,{},i.availableImages),h=l.evaluate({zoom:n+1},r,{},i.availableImages);c=c&&c.name?c.name:c,h=h&&h.name?h.name:h,a[p=p&&p.name?p.name:p]=!0,a[c]=!0,a[h]=!0,r.patterns[u.id]={min:p,mid:c,max:h};}}return r}Co.deviation=function(t,e,r,n){var i=e&&e.length,a=Math.abs(Qo(t,0,i?e[0]*r:t.length,r));if(i)for(var o=0,s=e.length;o<s;o++)a-=Math.abs(Qo(t,e[o]*r,o<s-1?e[o+1]*r:t.length,r));var u=0;for(o=0;o<n.length;o+=3){var l=n[o]*r,p=n[o+1]*r,c=n[o+2]*r;u+=Math.abs((t[l]-t[c])*(t[p+1]-t[l+1])-(t[l]-t[p])*(t[c+1]-t[l+1]));}return 0===a&&0===u?0:Math.abs((u-a)/a)},Co.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&r.holes.push(n+=t[i-1].length);}return r},Io.default=zo;var ss=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Ci,this.indexArray=new ji,this.indexArray2=new Xi,this.programConfigurations=new Va(t.layers,t.zoom),this.segments=new sa,this.segments2=new sa,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}));};ss.prototype.populate=function(t,e,r){this.hasPattern=as(\"fill\",this.layers,e);for(var n=this.layers[0].layout.get(\"fill-sort-key\"),i=[],a=0,o=t;a<o.length;a+=1){var s=o[a],u=s.feature,l=s.id,p=s.index,c=s.sourceLayerIndex,h=this.layers[0]._featureFilter.needGeometry,f=Ua(u,h);if(this.layers[0]._featureFilter.filter(new si(this.zoom),f,r)){var y=n?n.evaluate(f,{},r,e.availableImages):void 0,d={id:l,properties:u.properties,type:u.type,sourceLayerIndex:c,index:p,geometry:h?f.geometry:Ra(u),patterns:{},sortKey:y};i.push(d);}}n&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var m=0,v=i;m<v.length;m+=1){var g=v[m],x=g.geometry,b=g.index,w=g.sourceLayerIndex;if(this.hasPattern){var _=os(\"fill\",this.layers,g,this.zoom,e);this.patternFeatures.push(_);}else this.addFeature(g,x,b,r,{});e.featureIndex.insert(t[b].feature,x,b,w,this.index);}},ss.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);},ss.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r);}},ss.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ss.prototype.uploadPending=function(){return !this.uploaded||this.programConfigurations.needsUpload},ss.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ko),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0;},ss.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy());},ss.prototype.addFeature=function(t,e,r,n,i){for(var a=0,o=ns(e,500);a<o.length;a+=1){for(var s=o[a],u=0,l=0,p=s;l<p.length;l+=1)u+=p[l].length;for(var c=this.segments.prepareSegment(u,this.layoutVertexArray,this.indexArray),h=c.vertexLength,f=[],y=[],d=0,m=s;d<m.length;d+=1){var v=m[d];if(0!==v.length){v!==s[0]&&y.push(f.length/2);var g=this.segments2.prepareSegment(v.length,this.layoutVertexArray,this.indexArray2),x=g.vertexLength;this.layoutVertexArray.emplaceBack(v[0].x,v[0].y),this.indexArray2.emplaceBack(x+v.length-1,x),f.push(v[0].x),f.push(v[0].y);for(var b=1;b<v.length;b++)this.layoutVertexArray.emplaceBack(v[b].x,v[b].y),this.indexArray2.emplaceBack(x+b-1,x+b),f.push(v[b].x),f.push(v[b].y);g.vertexLength+=v.length,g.primitiveLength+=v.length;}}for(var w=Io(f,y),_=0;_<w.length;_+=3)this.indexArray.emplaceBack(h+w[_],h+w[_+1],h+w[_+2]);c.vertexLength+=u,c.primitiveLength+=w.length/3;}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);},On(\"FillBucket\",ss,{omit:[\"layers\",\"patternFeatures\"]});var us=new wi({\"fill-sort-key\":new vi(Et.layout_fill[\"fill-sort-key\"])}),ls={paint:new wi({\"fill-antialias\":new mi(Et.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new vi(Et.paint_fill[\"fill-opacity\"]),\"fill-color\":new vi(Et.paint_fill[\"fill-color\"]),\"fill-outline-color\":new vi(Et.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new mi(Et.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new mi(Et.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new gi(Et.paint_fill[\"fill-pattern\"])}),layout:us},ps=function(t){function e(e){t.call(this,e,ls);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r);var n=this.paint._values[\"fill-outline-color\"];\"constant\"===n.value.kind&&void 0===n.value.value&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"]);},e.prototype.createBucket=function(t){return new ss(t)},e.prototype.queryRadius=function(){return eo(this.paint.get(\"fill-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o){return Ga(ro(t,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),a.angle,o),n)},e.prototype.isTileClipped=function(){return !0},e}(_i),cs=Ii([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4).members,hs=fs;function fs(t,e,r,n,i){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=i,t.readFields(ys,this,e);}function ys(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i;}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos);}function ds(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)n+=((r=t[o]).x-(e=t[i]).x)*(e.y+r.y);return n}fs.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],fs.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,a=0,o=0,s=0,u=[];t.pos<r;){if(a<=0){var l=t.readVarint();n=7&l,a=l>>3;}if(a--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&u.push(e),e=[]),e.push(new i(o,s));else {if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone());}}return e&&u.push(e),u},fs.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,u=1/0,l=-1/0;t.pos<e;){if(n<=0){var p=t.readVarint();r=7&p,n=p>>3;}if(n--,1===r||2===r)(i+=t.readSVarint())<o&&(o=i),i>s&&(s=i),(a+=t.readSVarint())<u&&(u=a),a>l&&(l=a);else if(7!==r)throw new Error(\"unknown command \"+r)}return [o,u,s,l]},fs.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,u=this.loadGeometry(),l=fs.types[this.type];function p(t){for(var e=0;e<t.length;e++){var r=t[e];t[e]=[360*(r.x+o)/a-180,360/Math.PI*Math.atan(Math.exp((180-360*(r.y+s)/a)*Math.PI/180))-90];}}switch(this.type){case 1:var c=[];for(n=0;n<u.length;n++)c[n]=u[n][0];p(u=c);break;case 2:for(n=0;n<u.length;n++)p(u[n]);break;case 3:for(u=function(t){var e=t.length;if(e<=1)return [t];for(var r,n,i=[],a=0;a<e;a++){var o=ds(t[a]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&i.push(r),r=[t[a]]):r.push(t[a]));}return r&&i.push(r),i}(u),n=0;n<u.length;n++)for(i=0;i<u[n].length;i++)p(u[n][i]);}1===u.length?u=u[0]:l=\"Multi\"+l;var h={type:\"Feature\",geometry:{type:l,coordinates:u},properties:this.properties};return \"id\"in this&&(h.id=this.id),h};var ms=vs;function vs(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(gs,this,e),this.length=this._features.length;}function gs(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():5===t?e.extent=r.readVarint():2===t?e._features.push(r.pos):3===t?e._keys.push(r.readString()):4===t&&e._values.push(function(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null;}return e}(r));}function xs(t,e,r){if(3===t){var n=new ms(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n);}}vs.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new hs(this._pbf,e,this.extent,this._keys,this._values)};var bs={VectorTile:function(t,e){this.layers=t.readFields(xs,{},e);},VectorTileFeature:hs,VectorTileLayer:ms},ws=bs.VectorTileFeature.types,_s=Math.pow(2,13);function As(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*_s)+o,i*_s*2,a*_s*2,Math.round(s));}var Ss=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Pi,this.indexArray=new ji,this.programConfigurations=new Va(t.layers,t.zoom),this.segments=new sa,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}));};function ks(t,e){return t.x===e.x&&(t.x<0||t.x>8192)||t.y===e.y&&(t.y<0||t.y>8192)}Ss.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=as(\"fill-extrusion\",this.layers,e);for(var n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.id,u=a.index,l=a.sourceLayerIndex,p=this.layers[0]._featureFilter.needGeometry,c=Ua(o,p);if(this.layers[0]._featureFilter.filter(new si(this.zoom),c,r)){var h={id:s,sourceLayerIndex:l,index:u,geometry:p?c.geometry:Ra(o),properties:o.properties,type:o.type,patterns:{}};this.hasPattern?this.features.push(os(\"fill-extrusion\",this.layers,h,this.zoom,e)):this.addFeature(h,h.geometry,u,r,{}),e.featureIndex.insert(o,h.geometry,u,l,this.index,!0);}}},Ss.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.features;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r);}},Ss.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);},Ss.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Ss.prototype.uploadPending=function(){return !this.uploaded||this.programConfigurations.needsUpload},Ss.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,cs),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;},Ss.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());},Ss.prototype.addFeature=function(t,e,r,n,i){for(var a=0,o=ns(e,500);a<o.length;a+=1){for(var s=o[a],u=0,l=0,p=s;l<p.length;l+=1)u+=p[l].length;for(var c=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),h=0,f=s;h<f.length;h+=1){var y=f[h];if(0!==y.length&&!((B=y).every((function(t){return t.x<0}))||B.every((function(t){return t.x>8192}))||B.every((function(t){return t.y<0}))||B.every((function(t){return t.y>8192}))))for(var d=0,m=0;m<y.length;m++){var v=y[m];if(m>=1){var g=y[m-1];if(!ks(v,g)){c.vertexLength+4>sa.MAX_VERTEX_ARRAY_LENGTH&&(c=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=v.sub(g)._perp()._unit(),b=g.dist(v);d+b>32768&&(d=0),As(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,0,d),As(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,1,d),As(this.layoutVertexArray,g.x,g.y,x.x,x.y,0,0,d+=b),As(this.layoutVertexArray,g.x,g.y,x.x,x.y,0,1,d);var w=c.vertexLength;this.indexArray.emplaceBack(w,w+2,w+1),this.indexArray.emplaceBack(w+1,w+2,w+3),c.vertexLength+=4,c.primitiveLength+=2;}}}}if(c.vertexLength+u>sa.MAX_VERTEX_ARRAY_LENGTH&&(c=this.segments.prepareSegment(u,this.layoutVertexArray,this.indexArray)),\"Polygon\"===ws[t.type]){for(var _=[],A=[],S=c.vertexLength,k=0,I=s;k<I.length;k+=1){var z=I[k];if(0!==z.length){z!==s[0]&&A.push(_.length/2);for(var C=0;C<z.length;C++){var E=z[C];As(this.layoutVertexArray,E.x,E.y,0,0,1,1,0),_.push(E.x),_.push(E.y);}}}for(var P=Io(_,A),M=0;M<P.length;M+=3)this.indexArray.emplaceBack(S+P[M],S+P[M+2],S+P[M+1]);c.primitiveLength+=P.length/3,c.vertexLength+=u;}}var B;this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);},On(\"FillExtrusionBucket\",Ss,{omit:[\"layers\",\"features\"]});var Is={paint:new wi({\"fill-extrusion-opacity\":new mi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new vi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new mi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new mi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new gi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new vi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new vi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new mi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})},zs=function(t){function e(e){t.call(this,e,Is);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new Ss(t)},e.prototype.queryRadius=function(){return eo(this.paint.get(\"fill-extrusion-translate\"))},e.prototype.is3D=function(){return !0},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,o,s,u){var l=ro(t,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),o.angle,s),p=this.paint.get(\"fill-extrusion-height\").evaluate(e,r),c=this.paint.get(\"fill-extrusion-base\").evaluate(e,r),h=function(t,e,r,n){for(var a=[],o=0,s=t;o<s.length;o+=1){var u=s[o],l=[u.x,u.y,0,1];po(l,l,e),a.push(new i(l[0]/l[3],l[1]/l[3]));}return a}(l,u),f=function(t,e,r,n){for(var a=[],o=[],s=n[8]*e,u=n[9]*e,l=n[10]*e,p=n[11]*e,c=n[8]*r,h=n[9]*r,f=n[10]*r,y=n[11]*r,d=0,m=t;d<m.length;d+=1){for(var v=[],g=[],x=0,b=m[d];x<b.length;x+=1){var w=b[x],_=w.x,A=w.y,S=n[0]*_+n[4]*A+n[12],k=n[1]*_+n[5]*A+n[13],I=n[2]*_+n[6]*A+n[14],z=n[3]*_+n[7]*A+n[15],C=I+l,E=z+p,P=S+c,M=k+h,B=I+f,T=z+y,V=new i((S+s)/E,(k+u)/E);V.z=C/E,v.push(V);var F=new i(P/T,M/T);F.z=B/T,g.push(F);}a.push(v),o.push(g);}return [a,o]}(n,c,p,u);return function(t,e,r){var n=1/0;Ga(r,e)&&(n=Es(r,e[0]));for(var i=0;i<e.length;i++)for(var a=e[i],o=t[i],s=0;s<a.length-1;s++){var u=a[s],l=[u,a[s+1],o[s+1],o[s],u];Na(r,l)&&(n=Math.min(n,Es(r,l)));}return n!==1/0&&n}(f[0],f[1],h)},e}(_i);function Cs(t,e){return t.x*e.x+t.y*e.y}function Es(t,e){if(1===t.length){for(var r,n=0,i=e[n++];!r||i.equals(r);)if(!(r=e[n++]))return 1/0;for(;n<e.length;n++){var a=e[n],o=t[0],s=r.sub(i),u=a.sub(i),l=o.sub(i),p=Cs(s,s),c=Cs(s,u),h=Cs(u,u),f=Cs(l,s),y=Cs(l,u),d=p*h-c*c,m=(h*f-c*y)/d,v=(p*y-c*f)/d,g=i.z*(1-m-v)+r.z*m+a.z*v;if(isFinite(g))return g}return 1/0}for(var x=1/0,b=0,w=e;b<w.length;b+=1)x=Math.min(x,w[b].z);return x}var Ps=Ii([{name:\"a_pos_normal\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4).members,Ms=Ii([{name:\"a_uv_x\",components:1,type:\"Float32\"},{name:\"a_split_index\",components:1,type:\"Float32\"}]).members,Bs=bs.VectorTileFeature.types,Ts=Math.cos(Math.PI/180*37.5),Vs=Math.pow(2,14)/.5,Fs=function(t){var e=this;this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((function(t){e.gradients[t.id]={};})),this.layoutVertexArray=new Mi,this.layoutVertexArray2=new Bi,this.indexArray=new ji,this.programConfigurations=new Va(t.layers,t.zoom),this.segments=new sa,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}));};Fs.prototype.populate=function(t,e,r){this.hasPattern=as(\"line\",this.layers,e);for(var n=this.layers[0].layout.get(\"line-sort-key\"),i=[],a=0,o=t;a<o.length;a+=1){var s=o[a],u=s.feature,l=s.id,p=s.index,c=s.sourceLayerIndex,h=this.layers[0]._featureFilter.needGeometry,f=Ua(u,h);if(this.layers[0]._featureFilter.filter(new si(this.zoom),f,r)){var y=n?n.evaluate(f,{},r):void 0,d={id:l,properties:u.properties,type:u.type,sourceLayerIndex:c,index:p,geometry:h?f.geometry:Ra(u),patterns:{},sortKey:y};i.push(d);}}n&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var m=0,v=i;m<v.length;m+=1){var g=v[m],x=g.geometry,b=g.index,w=g.sourceLayerIndex;if(this.hasPattern){var _=os(\"line\",this.layers,g,this.zoom,e);this.patternFeatures.push(_);}else this.addFeature(g,x,b,r,{});e.featureIndex.insert(t[b].feature,x,b,w,this.index);}},Fs.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);},Fs.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r);}},Fs.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Fs.prototype.uploadPending=function(){return !this.uploaded||this.programConfigurations.needsUpload},Fs.prototype.upload=function(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Ms)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ps),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;},Fs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());},Fs.prototype.lineFeatureClips=function(t){if(t.properties&&t.properties.hasOwnProperty(\"mapbox_clip_start\")&&t.properties.hasOwnProperty(\"mapbox_clip_end\"))return {start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}},Fs.prototype.addFeature=function(t,e,r,n,i){var a=this.layers[0].layout,o=a.get(\"line-join\").evaluate(t,{}),s=a.get(\"line-cap\"),u=a.get(\"line-miter-limit\"),l=a.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(t);for(var p=0,c=e;p<c.length;p+=1)this.addLine(c[p],t,o,s,u,l);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);},Fs.prototype.addLine=function(t,e,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(var o=0;o<t.length-1;o++)this.totalDistance+=t[o].dist(t[o+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance);}for(var s=\"Polygon\"===Bs[e.type],u=t.length;u>=2&&t[u-1].equals(t[u-2]);)u--;for(var l=0;l<u-1&&t[l].equals(t[l+1]);)l++;if(!(u<(s?3:2))){\"bevel\"===r&&(i=1.05);var p,c=this.overscaling<=16?122880/(512*this.overscaling):0,h=this.segments.prepareSegment(10*u,this.layoutVertexArray,this.indexArray),f=void 0,y=void 0,d=void 0,m=void 0;this.e1=this.e2=-1,s&&(m=t[l].sub(p=t[u-2])._unit()._perp());for(var v=l;v<u;v++)if(!(y=v===u-1?s?t[l+1]:void 0:t[v+1])||!t[v].equals(y)){m&&(d=m),p&&(f=p),p=t[v],m=y?y.sub(p)._unit()._perp():d;var g=(d=d||m).add(m);0===g.x&&0===g.y||g._unit();var x=d.x*m.x+d.y*m.y,b=g.x*m.x+g.y*m.y,w=0!==b?1/b:1/0,_=2*Math.sqrt(2-2*b),A=b<Ts&&f&&y,S=d.x*m.y-d.y*m.x>0;if(A&&v>l){var k=p.dist(f);if(k>2*c){var I=p.sub(p.sub(f)._mult(c/k)._round());this.updateDistance(f,I),this.addCurrentVertex(I,d,0,0,h),f=I;}}var z=f&&y,C=z?r:s?\"butt\":n;if(z&&\"round\"===C&&(w<a?C=\"miter\":w<=2&&(C=\"fakeround\")),\"miter\"===C&&w>i&&(C=\"bevel\"),\"bevel\"===C&&(w>2&&(C=\"flipbevel\"),w<i&&(C=\"miter\")),f&&this.updateDistance(f,p),\"miter\"===C)g._mult(w),this.addCurrentVertex(p,g,0,0,h);else if(\"flipbevel\"===C){if(w>100)g=m.mult(-1);else {var E=w*d.add(m).mag()/d.sub(m).mag();g._perp()._mult(E*(S?-1:1));}this.addCurrentVertex(p,g,0,0,h),this.addCurrentVertex(p,g.mult(-1),0,0,h);}else if(\"bevel\"===C||\"fakeround\"===C){var P=-Math.sqrt(w*w-1),M=S?P:0,B=S?0:P;if(f&&this.addCurrentVertex(p,d,M,B,h),\"fakeround\"===C)for(var T=Math.round(180*_/Math.PI/20),V=1;V<T;V++){var F=V/T;if(.5!==F){var D=F-.5;F+=F*D*(F-1)*((1.0904+x*(x*(3.55645-1.43519*x)-3.2452))*D*D+(.848013+x*(.215638*x-1.06021)));}var L=m.sub(d)._mult(F)._add(d)._unit()._mult(S?-1:1);this.addHalfVertex(p,L.x,L.y,!1,S,0,h);}y&&this.addCurrentVertex(p,m,-M,-B,h);}else if(\"butt\"===C)this.addCurrentVertex(p,g,0,0,h);else if(\"square\"===C){var O=f?1:-1;this.addCurrentVertex(p,g,O,O,h);}else \"round\"===C&&(f&&(this.addCurrentVertex(p,d,0,0,h),this.addCurrentVertex(p,d,1,1,h,!0)),y&&(this.addCurrentVertex(p,m,-1,-1,h,!0),this.addCurrentVertex(p,m,0,0,h)));if(A&&v<u-1){var R=p.dist(y);if(R>2*c){var U=p.add(y.sub(p)._mult(c/R)._round());this.updateDistance(p,U),this.addCurrentVertex(U,m,0,0,h),p=U;}}}}},Fs.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.y*n-e.x,s=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*r,e.y-e.x*r,a,!1,r,i),this.addHalfVertex(t,o,s,a,!0,-n,i),this.distance>Vs/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a));},Fs.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=.5*(this.lineClips?this.scaledDistance*(Vs-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((t.x<<1)+(n?1:0),(t.y<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&s)<<2,s>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);var u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,u),o.primitiveLength++),i?this.e2=u:this.e1=u;},Fs.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance;},Fs.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance();},On(\"LineBucket\",Fs,{omit:[\"layers\",\"patternFeatures\"]});var Ds=new wi({\"line-cap\":new mi(Et.layout_line[\"line-cap\"]),\"line-join\":new vi(Et.layout_line[\"line-join\"]),\"line-miter-limit\":new mi(Et.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new mi(Et.layout_line[\"line-round-limit\"]),\"line-sort-key\":new vi(Et.layout_line[\"line-sort-key\"])}),Ls={paint:new wi({\"line-opacity\":new vi(Et.paint_line[\"line-opacity\"]),\"line-color\":new vi(Et.paint_line[\"line-color\"]),\"line-translate\":new mi(Et.paint_line[\"line-translate\"]),\"line-translate-anchor\":new mi(Et.paint_line[\"line-translate-anchor\"]),\"line-width\":new vi(Et.paint_line[\"line-width\"]),\"line-gap-width\":new vi(Et.paint_line[\"line-gap-width\"]),\"line-offset\":new vi(Et.paint_line[\"line-offset\"]),\"line-blur\":new vi(Et.paint_line[\"line-blur\"]),\"line-dasharray\":new xi(Et.paint_line[\"line-dasharray\"]),\"line-pattern\":new gi(Et.paint_line[\"line-pattern\"]),\"line-gradient\":new bi(Et.paint_line[\"line-gradient\"])}),layout:Ds},Os=new(function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new si(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=h({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(vi))(Ls.paint.properties[\"line-width\"].specification);Os.useIntegerZoom=!0;var Rs=function(t){function e(e){t.call(this,e,Ls),this.gradientVersion=0;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){\"line-gradient\"===t&&(this.stepInterpolant=this._transitionablePaint._values[\"line-gradient\"].value.expression._styleExpression.expression instanceof Ne,this.gradientVersion=(this.gradientVersion+1)%s);},e.prototype.gradientExpression=function(){return this._transitionablePaint._values[\"line-gradient\"].value.expression},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values[\"line-floorwidth\"]=Os.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,e);},e.prototype.createBucket=function(t){return new Fs(t)},e.prototype.queryRadius=function(t){var e=t,r=Us(to(\"line-width\",this,e),to(\"line-gap-width\",this,e)),n=to(\"line-offset\",this,e);return r/2+Math.abs(n)+eo(this.paint.get(\"line-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,o,s){var u=ro(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),o.angle,s),l=s/2*Us(this.paint.get(\"line-width\").evaluate(e,r),this.paint.get(\"line-gap-width\").evaluate(e,r)),p=this.paint.get(\"line-offset\").evaluate(e,r);return p&&(n=function(t,e){for(var r=[],n=new i(0,0),a=0;a<t.length;a++){for(var o=t[a],s=[],u=0;u<o.length;u++){var l=o[u],p=o[u+1],c=0===u?n:l.sub(o[u-1])._unit()._perp(),h=u===o.length-1?n:p.sub(l)._unit()._perp(),f=c._add(h)._unit();f._mult(1/(f.x*h.x+f.y*h.y)),s.push(f._mult(e)._add(l));}r.push(s);}return r}(n,p*s)),function(t,e,r){for(var n=0;n<e.length;n++){var i=e[n];if(t.length>=3)for(var a=0;a<i.length;a++)if(Wa(t,i[a]))return !0;if(Za(t,i,r))return !0}return !1}(u,n,l)},e.prototype.isTileClipped=function(){return !0},e}(_i);function Us(t,e){return e>0?e+2*t:t}var js=Ii([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),qs=Ii([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),Ns=(Ii([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),Ii([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}])),Ks=(Ii([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]),Ii([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4)),Gs=Ii([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function Zs(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get(\"text-transform\").evaluate(r,{});return \"uppercase\"===n?t=t.toLocaleUpperCase():\"lowercase\"===n&&(t=t.toLocaleLowerCase()),oi.applyArabicShaping&&(t=oi.applyArabicShaping(t)),t}(t.text,e,r);})),t}Ii([{name:\"triangle\",components:3,type:\"Uint16\"}]),Ii([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),Ii([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",components:2,name:\"textOffset\"},{type:\"Float32\",name:\"collisionCircleDiameter\"}]),Ii([{type:\"Float32\",name:\"offsetX\"}]),Ii([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);var Xs={\"!\":\"︕\",\"#\":\"#\",$:\"$\",\"%\":\"%\",\"&\":\"&\",\"(\":\"︵\",\")\":\"︶\",\"*\":\"*\",\"+\":\"+\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\"/\":\"/\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\"=\":\"=\",\">\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"},Js=function(t,e,r,n,i){var a,o,s=8*i-n-1,u=(1<<s)-1,l=u>>1,p=-7,c=r?i-1:0,h=r?-1:1,f=t[e+c];for(c+=h,a=f&(1<<-p)-1,f>>=-p,p+=s;p>0;a=256*a+t[e+c],c+=h,p-=8);for(o=a&(1<<-p)-1,a>>=-p,p+=n;p>0;o=256*o+t[e+c],c+=h,p-=8);if(0===a)a=1-l;else {if(a===u)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,n),a-=l;}return (f?-1:1)*o*Math.pow(2,a-n)},Hs=function(t,e,r,n,i,a){var o,s,u,l=8*a-i-1,p=(1<<l)-1,c=p>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,y=n?1:-1,d=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=p):(o=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-o))<1&&(o--,u*=2),(e+=o+c>=1?h/u:h*Math.pow(2,1-c))*u>=2&&(o++,u/=2),o+c>=p?(s=0,o=p):o+c>=1?(s=(e*u-1)*Math.pow(2,i),o+=c):(s=e*Math.pow(2,c-1)*Math.pow(2,i),o=0));i>=8;t[r+f]=255&s,f+=y,s/=256,i-=8);for(o=o<<i|s,l+=i;l>0;t[r+f]=255&o,f+=y,o/=256,l-=8);t[r+f-y]|=128*d;},Ys=$s;function $s(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length;}$s.Varint=0,$s.Fixed64=1,$s.Bytes=2,$s.Fixed32=5;var Ws=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf8\");function Qs(t){return t.type===$s.Bytes?t.readVarint()+t.pos:t.pos+1}function tu(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function eu(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i];}function ru(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r]);}function nu(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r]);}function iu(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r]);}function au(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r]);}function ou(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r]);}function su(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r]);}function uu(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r]);}function lu(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r]);}function pu(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r]);}function cu(t,e){return (t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function hu(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24;}function fu(t,e){return (t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function yu(t,e,r){1===t&&r.readMessage(du,e);}function du(t,e,r){if(3===t){var n=r.readMessage(mu,{}),i=n.width,a=n.height,o=n.left,s=n.top,u=n.advance;e.push({id:n.id,bitmap:new go({width:i+6,height:a+6},n.bitmap),metrics:{width:i,height:a,left:o,top:s,advance:u}});}}function mu(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint());}function vu(t){for(var e=0,r=0,n=0,i=t;n<i.length;n+=1){var a=i[n];e+=a.w*a.h,r=Math.max(r,a.w);}t.sort((function(t,e){return e.h-t.h}));for(var o=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}],s=0,u=0,l=0,p=t;l<p.length;l+=1)for(var c=p[l],h=o.length-1;h>=0;h--){var f=o[h];if(!(c.w>f.w||c.h>f.h)){if(c.x=f.x,c.y=f.y,u=Math.max(u,c.y+c.h),s=Math.max(s,c.x+c.w),c.w===f.w&&c.h===f.h){var y=o.pop();h<o.length&&(o[h]=y);}else c.h===f.h?(f.x+=c.w,f.w-=c.w):c.w===f.w?(f.y+=c.h,f.h-=c.h):(o.push({x:f.x+c.w,y:f.y,w:f.w-c.w,h:c.h}),f.y+=c.h,f.h-=c.h);break}}return {w:s,h:u,fill:e/(s*u)||0}}$s.prototype={destroy:function(){this.buf=null;},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n);}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=cu(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=fu(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=cu(this.buf,this.pos)+4294967296*cu(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=cu(this.buf,this.pos)+4294967296*fu(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=Js(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Js(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return tu(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return tu(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return tu(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return tu(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return tu(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return tu(t,n,e);throw new Error(\"Expected varint not more than 10 bytes\")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Ws?function(t,e,r){return Ws.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n=\"\",i=e;i<r;){var a,o,s,u=t[i],l=null,p=u>239?4:u>223?3:u>191?2:1;if(i+p>r)break;1===p?u<128&&(l=u):2===p?128==(192&(a=t[i+1]))&&(l=(31&u)<<6|63&a)<=127&&(l=null):3===p?(o=t[i+2],128==(192&(a=t[i+1]))&&128==(192&o)&&((l=(15&u)<<12|(63&a)<<6|63&o)<=2047||l>=55296&&l<=57343)&&(l=null)):4===p&&(o=t[i+2],s=t[i+3],128==(192&(a=t[i+1]))&&128==(192&o)&&128==(192&s)&&((l=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||l>=1114112)&&(l=null)),null===l?(l=65533,p=1):l>65535&&(l-=65536,n+=String.fromCharCode(l>>>10&1023|55296),l=56320|1023&l),n+=String.fromCharCode(l),i+=p;}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==$s.Bytes)return t.push(this.readVarint(e));var r=Qs(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==$s.Bytes)return t.push(this.readSVarint());var e=Qs(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==$s.Bytes)return t.push(this.readBoolean());var e=Qs(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==$s.Bytes)return t.push(this.readFloat());var e=Qs(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==$s.Bytes)return t.push(this.readDouble());var e=Qs(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==$s.Bytes)return t.push(this.readFixed32());var e=Qs(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==$s.Bytes)return t.push(this.readSFixed32());var e=Qs(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==$s.Bytes)return t.push(this.readFixed64());var e=Qs(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==$s.Bytes)return t.push(this.readSFixed64());var e=Qs(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===$s.Varint)for(;this.buf[this.pos++]>127;);else if(e===$s.Bytes)this.pos=this.readVarint()+this.pos;else if(e===$s.Fixed32)this.pos+=4;else {if(e!==$s.Fixed64)throw new Error(\"Unimplemented type: \"+e);this.pos+=8;}},writeTag:function(t,e){this.writeVarint(t<<3|e);},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e;}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),hu(this.buf,t,this.pos),this.pos+=4;},writeSFixed32:function(t){this.realloc(4),hu(this.buf,t,this.pos),this.pos+=4;},writeFixed64:function(t){this.realloc(8),hu(this.buf,-1&t,this.pos),hu(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8;},writeSFixed64:function(t){this.realloc(8),hu(this.buf,-1&t,this.pos),hu(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8;},writeVarint:function(t){(t=+t||0)>268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,r.buf[r.pos]=127&(t>>>=7);}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))));}(n,e);}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))));},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t);},writeBoolean:function(t){this.writeVarint(Boolean(t));},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a<e.length;a++){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null;}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128);}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&eu(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r;},writeFloat:function(t){this.realloc(4),Hs(this.buf,t,this.pos,!0,23,4),this.pos+=4;},writeDouble:function(t){this.realloc(8),Hs(this.buf,t,this.pos,!0,52,8),this.pos+=8;},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r];},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&eu(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n;},writeMessage:function(t,e,r){this.writeTag(t,$s.Bytes),this.writeRawMessage(e,r);},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,ru,e);},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,nu,e);},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,ou,e);},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,iu,e);},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,au,e);},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,su,e);},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,uu,e);},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,lu,e);},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,pu,e);},writeBytesField:function(t,e){this.writeTag(t,$s.Bytes),this.writeBytes(e);},writeFixed32Field:function(t,e){this.writeTag(t,$s.Fixed32),this.writeFixed32(e);},writeSFixed32Field:function(t,e){this.writeTag(t,$s.Fixed32),this.writeSFixed32(e);},writeFixed64Field:function(t,e){this.writeTag(t,$s.Fixed64),this.writeFixed64(e);},writeSFixed64Field:function(t,e){this.writeTag(t,$s.Fixed64),this.writeSFixed64(e);},writeVarintField:function(t,e){this.writeTag(t,$s.Varint),this.writeVarint(e);},writeSVarintField:function(t,e){this.writeTag(t,$s.Varint),this.writeSVarint(e);},writeStringField:function(t,e){this.writeTag(t,$s.Bytes),this.writeString(e);},writeFloatField:function(t,e){this.writeTag(t,$s.Fixed32),this.writeFloat(e);},writeDoubleField:function(t,e){this.writeTag(t,$s.Fixed64),this.writeDouble(e);},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e));}};var gu=function(t,e){var r=e.pixelRatio,n=e.version,i=e.stretchX,a=e.stretchY,o=e.content;this.paddedRect=t,this.pixelRatio=r,this.stretchX=i,this.stretchY=a,this.content=o,this.version=n;},xu={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};xu.tl.get=function(){return [this.paddedRect.x+1,this.paddedRect.y+1]},xu.br.get=function(){return [this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},xu.tlbr.get=function(){return this.tl.concat(this.br)},xu.displaySize.get=function(){return [(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(gu.prototype,xu);var bu=function(t,e){var r={},n={};this.haveRenderCallbacks=[];var i=[];this.addImages(t,r,i),this.addImages(e,n,i);var a=vu(i),o=new xo({width:a.w||1,height:a.h||1});for(var s in t){var u=t[s],l=r[s].paddedRect;xo.copy(u.data,o,{x:0,y:0},{x:l.x+1,y:l.y+1},u.data);}for(var p in e){var c=e[p],h=n[p].paddedRect,f=h.x+1,y=h.y+1,d=c.data.width,m=c.data.height;xo.copy(c.data,o,{x:0,y:0},{x:f,y:y},c.data),xo.copy(c.data,o,{x:0,y:m-1},{x:f,y:y-1},{width:d,height:1}),xo.copy(c.data,o,{x:0,y:0},{x:f,y:y+m},{width:d,height:1}),xo.copy(c.data,o,{x:d-1,y:0},{x:f-1,y:y},{width:1,height:m}),xo.copy(c.data,o,{x:0,y:0},{x:f+d,y:y},{width:1,height:m});}this.image=o,this.iconPositions=r,this.patternPositions=n;};bu.prototype.addImages=function(t,e,r){for(var n in t){var i=t[n],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};r.push(a),e[n]=new gu(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(n);}},bu.prototype.patchUpdatedImages=function(t,e){for(var r in t.dispatchRenderCallbacks(this.haveRenderCallbacks),t.updatedImages)this.patchUpdatedImage(this.iconPositions[r],t.getImage(r),e),this.patchUpdatedImage(this.patternPositions[r],t.getImage(r),e);},bu.prototype.patchUpdatedImage=function(t,e,r){if(t&&e&&t.version!==e.version){t.version=e.version;var n=t.tl;r.update(e.data,void 0,{x:n[0],y:n[1]});}},On(\"ImagePosition\",gu),On(\"ImageAtlas\",bu);var wu={horizontal:1,vertical:2,horizontalOnly:3},_u=function(){this.scale=1,this.fontStack=\"\",this.imageName=null;};_u.forText=function(t,e){var r=new _u;return r.scale=t||1,r.fontStack=e,r},_u.forImage=function(t){var e=new _u;return e.imageName=t,e};var Au=function(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null;};function Su(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d){var m,v=Au.fromFeature(t,i);c===wu.vertical&&v.verticalizePunctuation();var g=oi.processBidirectionalText,x=oi.processStyledBidirectionalText;if(g&&1===v.sections.length){m=[];for(var b=0,w=g(v.toString(),Mu(v,l,a,e,n,f,y));b<w.length;b+=1){var _=w[b],A=new Au;A.text=_,A.sections=v.sections;for(var S=0;S<_.length;S++)A.sectionIndex.push(0);m.push(A);}}else if(x){m=[];for(var k=0,I=x(v.text,v.sectionIndex,Mu(v,l,a,e,n,f,y));k<I.length;k+=1){var z=I[k],C=new Au;C.text=z[0],C.sectionIndex=z[1],C.sections=v.sections,m.push(C);}}else m=function(t,e){for(var r=[],n=t.text,i=0,a=0,o=e;a<o.length;a+=1){var s=o[a];r.push(t.substring(i,s)),i=s;}return i<n.length&&r.push(t.substring(i,n.length)),r}(v,Mu(v,l,a,e,n,f,y));var E=[],P={positionedLines:E,text:v.toString(),top:p[1],bottom:p[1],left:p[0],right:p[0],writingMode:c,iconsInText:!1,verticalizable:!1};return function(t,e,r,n,i,a,o,s,u,l,p,c){for(var h=0,f=-17,y=0,d=0,m=\"right\"===s?1:\"left\"===s?0:.5,v=0,g=0,x=i;g<x.length;g+=1){var b=x[g];b.trim();var w=b.getMaxScale(),_=24*(w-1),A={positionedGlyphs:[],lineOffset:0};t.positionedLines[v]=A;var S=A.positionedGlyphs,k=0;if(b.length()){for(var I=0;I<b.length();I++){var z=b.getSection(I),C=b.getSectionIndex(I),E=b.getCharCode(I),P=0,M=null,B=null,T=null,V=24,F=!(u===wu.horizontal||!p&&!Xn(E)||p&&(ku[E]||(K=E,Gn.Arabic(K)||Gn[\"Arabic Supplement\"](K)||Gn[\"Arabic Extended-A\"](K)||Gn[\"Arabic Presentation Forms-A\"](K)||Gn[\"Arabic Presentation Forms-B\"](K))));if(z.imageName){var D=n[z.imageName];if(!D)continue;T=z.imageName,t.iconsInText=t.iconsInText||!0,B=D.paddedRect;var L=D.displaySize;z.scale=24*z.scale/c,P=_+(24-L[1]*z.scale),V=(M={width:L[0],height:L[1],left:1,top:-3,advance:F?L[1]:L[0]}).advance;var O=F?L[0]*z.scale-24*w:L[1]*z.scale-24*w;O>0&&O>k&&(k=O);}else {var R=r[z.fontStack],U=R&&R[E];if(U&&U.rect)B=U.rect,M=U.metrics;else {var j=e[z.fontStack],q=j&&j[E];if(!q)continue;M=q.metrics;}P=24*(w-z.scale);}F?(t.verticalizable=!0,S.push({glyph:E,imageName:T,x:h,y:f+P,vertical:F,scale:z.scale,fontStack:z.fontStack,sectionIndex:C,metrics:M,rect:B}),h+=V*z.scale+l):(S.push({glyph:E,imageName:T,x:h,y:f+P,vertical:F,scale:z.scale,fontStack:z.fontStack,sectionIndex:C,metrics:M,rect:B}),h+=M.advance*z.scale+l);}0!==S.length&&(y=Math.max(h-l,y),Tu(S,0,S.length-1,m,k)),h=0;var N=a*w+k;A.lineOffset=Math.max(k,_),f+=N,d=Math.max(N,d),++v;}else f+=a,++v;}var K,G=f- -17,Z=Bu(o),X=Z.horizontalAlign,J=Z.verticalAlign;(function(t,e,r,n,i,a,o,s,u){var l,p=(e-r)*i;l=a!==o?-s*n- -17:(-n*u+.5)*o;for(var c=0,h=t;c<h.length;c+=1)for(var f=0,y=h[c].positionedGlyphs;f<y.length;f+=1){var d=y[f];d.x+=p,d.y+=l;}})(t.positionedLines,m,X,J,y,d,a,G,i.length),t.top+=-J*G,t.bottom=t.top+G,t.left+=-X*y,t.right=t.left+y;}(P,e,r,n,m,o,s,u,c,l,h,d),!function(t){for(var e=0,r=t;e<r.length;e+=1)if(0!==r[e].positionedGlyphs.length)return !1;return !0}(E)&&P}Au.fromFeature=function(t,e){for(var r=new Au,n=0;n<t.sections.length;n++){var i=t.sections[n];i.image?r.addImageSection(i):r.addTextSection(i,e);}return r},Au.prototype.length=function(){return this.text.length},Au.prototype.getSection=function(t){return this.sections[this.sectionIndex[t]]},Au.prototype.getSectionIndex=function(t){return this.sectionIndex[t]},Au.prototype.getCharCode=function(t){return this.text.charCodeAt(t)},Au.prototype.verticalizePunctuation=function(){this.text=function(t){for(var e=\"\",r=0;r<t.length;r++){var n=t.charCodeAt(r+1)||null,i=t.charCodeAt(r-1)||null;e+=n&&Jn(n)&&!Xs[t[r+1]]||i&&Jn(i)&&!Xs[t[r-1]]||!Xs[t[r]]?t[r]:Xs[t[r]];}return e}(this.text);},Au.prototype.trim=function(){for(var t=0,e=0;e<this.text.length&&ku[this.text.charCodeAt(e)];e++)t++;for(var r=this.text.length,n=this.text.length-1;n>=0&&n>=t&&ku[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r);},Au.prototype.substring=function(t,e){var r=new Au;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},Au.prototype.toString=function(){return this.text},Au.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},Au.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(_u.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n<t.text.length;++n)this.sectionIndex.push(r);},Au.prototype.addImageSection=function(t){var e=t.image?t.image.name:\"\";if(0!==e.length){var r=this.getNextImageSectionCharCode();r?(this.text+=String.fromCharCode(r),this.sections.push(_u.forImage(e)),this.sectionIndex.push(this.sections.length-1)):A(\"Reached maximum number of images 6401\");}else A(\"Can't add FormattedSection with an empty image.\");},Au.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var ku={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Iu={};function zu(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*24/a+i:0}var s=r[e.fontStack],u=s&&s[t];return u?u.metrics.advance*e.scale+i:0}function Cu(t,e,r,n){var i=Math.pow(t-e,2);return n?t<e?i/2:2*i:i+Math.abs(r)*r}function Eu(t,e,r){var n=0;return 10===t&&(n-=1e4),r&&(n+=150),40!==t&&65288!==t||(n+=50),41!==e&&65289!==e||(n+=50),n}function Pu(t,e,r,n,i,a){for(var o=null,s=Cu(e,r,i,a),u=0,l=n;u<l.length;u+=1){var p=l[u],c=Cu(e-p.x,r,i,a)+p.badness;c<=s&&(o=p,s=c);}return {index:t,x:e,priorBreak:o,badness:s}}function Mu(t,e,r,n,i,a,o){if(\"point\"!==a)return [];if(!t)return [];for(var s,u=[],l=function(t,e,r,n,i,a){for(var o=0,s=0;s<t.length();s++){var u=t.getSection(s);o+=zu(t.getCharCode(s),u,n,i,e,a);}return o/Math.max(1,Math.ceil(o/r))}(t,e,r,n,i,o),p=t.text.indexOf(\"​\")>=0,c=0,h=0;h<t.length();h++){var f=t.getSection(h),y=t.getCharCode(h);if(ku[y]||(c+=zu(y,f,n,i,e,o)),h<t.length()-1){var d=!((s=y)<11904||!(Gn[\"Bopomofo Extended\"](s)||Gn.Bopomofo(s)||Gn[\"CJK Compatibility Forms\"](s)||Gn[\"CJK Compatibility Ideographs\"](s)||Gn[\"CJK Compatibility\"](s)||Gn[\"CJK Radicals Supplement\"](s)||Gn[\"CJK Strokes\"](s)||Gn[\"CJK Symbols and Punctuation\"](s)||Gn[\"CJK Unified Ideographs Extension A\"](s)||Gn[\"CJK Unified Ideographs\"](s)||Gn[\"Enclosed CJK Letters and Months\"](s)||Gn[\"Halfwidth and Fullwidth Forms\"](s)||Gn.Hiragana(s)||Gn[\"Ideographic Description Characters\"](s)||Gn[\"Kangxi Radicals\"](s)||Gn[\"Katakana Phonetic Extensions\"](s)||Gn.Katakana(s)||Gn[\"Vertical Forms\"](s)||Gn[\"Yi Radicals\"](s)||Gn[\"Yi Syllables\"](s)));(Iu[y]||d||f.imageName)&&u.push(Pu(h+1,c,l,u,Eu(y,t.getCharCode(h+1),d&&p),!1));}}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(Pu(t.length(),c,l,u,0,!0))}function Bu(t){var e=.5,r=.5;switch(t){case\"right\":case\"top-right\":case\"bottom-right\":e=1;break;case\"left\":case\"top-left\":case\"bottom-left\":e=0;}switch(t){case\"bottom\":case\"bottom-right\":case\"bottom-left\":r=1;break;case\"top\":case\"top-right\":case\"top-left\":r=0;}return {horizontalAlign:e,verticalAlign:r}}function Tu(t,e,r,n,i){if(n||i)for(var a=t[r],o=(t[r].x+a.metrics.advance*a.scale)*n,s=e;s<=r;s++)t[s].x-=o,t[s].y+=i;}function Vu(t,e,r,n,i,a){var o,s=t.image;if(s.content){var u=s.content,l=s.pixelRatio||1;o=[u[0]/l,u[1]/l,s.displaySize[0]-u[2]/l,s.displaySize[1]-u[3]/l];}var p,c,h,f,y=e.left*a,d=e.right*a;\"width\"===r||\"both\"===r?(f=i[0]+y-n[3],c=i[0]+d+n[1]):c=(f=i[0]+(y+d-s.displaySize[0])/2)+s.displaySize[0];var m=e.top*a,v=e.bottom*a;return \"height\"===r||\"both\"===r?(p=i[1]+m-n[0],h=i[1]+v+n[2]):h=(p=i[1]+(m+v-s.displaySize[1])/2)+s.displaySize[1],{image:s,top:p,right:c,bottom:h,left:f,collisionPadding:o}}Iu[10]=!0,Iu[32]=!0,Iu[38]=!0,Iu[40]=!0,Iu[41]=!0,Iu[43]=!0,Iu[45]=!0,Iu[47]=!0,Iu[173]=!0,Iu[183]=!0,Iu[8203]=!0,Iu[8208]=!0,Iu[8211]=!0,Iu[8231]=!0;var Fu=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(i);function Du(t,e){var r=e.expression;if(\"constant\"===r.kind)return {kind:\"constant\",layoutSize:r.evaluate(new si(t+1))};if(\"source\"===r.kind)return {kind:\"source\"};for(var n=r.zoomStops,i=r.interpolationType,a=0;a<n.length&&n[a]<=t;)a++;for(var o=a=Math.max(0,a-1);o<n.length&&n[o]<t+1;)o++;o=Math.min(n.length-1,o);var s=n[a],u=n[o];return \"composite\"===r.kind?{kind:\"composite\",minZoom:s,maxZoom:u,interpolationType:i}:{kind:\"camera\",minZoom:s,maxZoom:u,minSize:r.evaluate(new si(s)),maxSize:r.evaluate(new si(u)),interpolationType:i}}function Lu(t,e,r){var n=e.uSize,i=r.lowerSize;return \"source\"===t.kind?i/128:\"composite\"===t.kind?Ke(i/128,r.upperSize/128,e.uSizeT):n}function Ou(t,e){var r=0,n=0;if(\"constant\"===t.kind)n=t.layoutSize;else if(\"source\"!==t.kind){var i=t.interpolationType,a=i?p(ar.interpolationFactor(i,e,t.minZoom,t.maxZoom),0,1):0;\"camera\"===t.kind?n=Ke(t.minSize,t.maxSize,a):r=a;}return {uSizeT:r,uSize:n}}On(\"Anchor\",Fu);var Ru=Object.freeze({__proto__:null,getSizeData:Du,evaluateSizeForFeature:Lu,evaluateSizeForZoom:Ou,SIZE_PACK_FACTOR:128});function Uu(t,e,r,n,i){if(void 0===e.segment)return !0;for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return !1;s-=t[o].dist(a),a=t[o];}s+=t[o].dist(t[o+1]),o++;for(var u=[],l=0;s<r/2;){var p=t[o],c=t[o+1];if(!c)return !1;var h=t[o-1].angleTo(p)-p.angleTo(c);for(h=Math.abs((h+3*Math.PI)%(2*Math.PI)-Math.PI),u.push({distance:s,angleDelta:h}),l+=h;s-u[0].distance>n;)l-=u.shift().angleDelta;if(l>i)return !1;o++,s+=p.dist(c);}return !0}function ju(t){for(var e=0,r=0;r<t.length-1;r++)e+=t[r].dist(t[r+1]);return e}function qu(t,e,r){return t?.6*e*r:0}function Nu(t,e){return Math.max(t?t.right-t.left:0,e?e.right-e.left:0)}function Ku(t,e,r,n,i,a){for(var o=qu(r,i,a),s=Nu(r,n)*a,u=0,l=ju(t)/2,p=0;p<t.length-1;p++){var c=t[p],h=t[p+1],f=c.dist(h);if(u+f>l){var y=(l-u)/f,d=Ke(c.x,h.x,y),m=Ke(c.y,h.y,y),v=new Fu(d,m,h.angleTo(c),p);return v._round(),!o||Uu(t,v,s,o,e)?v:void 0}u+=f;}}function Gu(t,e,r,n,i,a,o,s,u){var l=qu(n,a,o),p=Nu(n,i),c=p*o,h=0===t[0].x||t[0].x===u||0===t[0].y||t[0].y===u;return e-c<e/4&&(e=c+e/4),function t(e,r,n,i,a,o,s,u,l){for(var p=o/2,c=ju(e),h=0,f=r-n,y=[],d=0;d<e.length-1;d++){for(var m=e[d],v=e[d+1],g=m.dist(v),x=v.angleTo(m);f+n<h+g;){var b=((f+=n)-h)/g,w=Ke(m.x,v.x,b),_=Ke(m.y,v.y,b);if(w>=0&&w<l&&_>=0&&_<l&&f-p>=0&&f+p<=c){var A=new Fu(w,_,x,d);A._round(),i&&!Uu(e,A,o,i,a)||y.push(A);}}h+=g;}return u||y.length||s||(y=t(e,h/2,n,i,a,o,s,!0,l)),y}(t,h?e/2*s%e:(p/2+2*a)*o*s%e,e,l,r,c,h,!1,u)}function Zu(t,e,r,n,a){for(var o=[],s=0;s<t.length;s++)for(var u=t[s],l=void 0,p=0;p<u.length-1;p++){var c=u[p],h=u[p+1];c.x<e&&h.x<e||(c.x<e?c=new i(e,c.y+(e-c.x)/(h.x-c.x)*(h.y-c.y))._round():h.x<e&&(h=new i(e,c.y+(e-c.x)/(h.x-c.x)*(h.y-c.y))._round()),c.y<r&&h.y<r||(c.y<r?c=new i(c.x+(r-c.y)/(h.y-c.y)*(h.x-c.x),r)._round():h.y<r&&(h=new i(c.x+(r-c.y)/(h.y-c.y)*(h.x-c.x),r)._round()),c.x>=n&&h.x>=n||(c.x>=n?c=new i(n,c.y+(n-c.x)/(h.x-c.x)*(h.y-c.y))._round():h.x>=n&&(h=new i(n,c.y+(n-c.x)/(h.x-c.x)*(h.y-c.y))._round()),c.y>=a&&h.y>=a||(c.y>=a?c=new i(c.x+(a-c.y)/(h.y-c.y)*(h.x-c.x),a)._round():h.y>=a&&(h=new i(c.x+(a-c.y)/(h.y-c.y)*(h.x-c.x),a)._round()),l&&c.equals(l[l.length-1])||o.push(l=[c]),l.push(h)))));}return o}function Xu(t,e,r,n){var a=[],o=t.image,s=o.pixelRatio,u=o.paddedRect.w-2,l=o.paddedRect.h-2,p=t.right-t.left,c=t.bottom-t.top,h=o.stretchX||[[0,u]],f=o.stretchY||[[0,l]],y=function(t,e){return t+e[1]-e[0]},d=h.reduce(y,0),m=f.reduce(y,0),v=u-d,g=l-m,x=0,b=d,w=0,_=m,A=0,S=v,k=0,I=g;if(o.content&&n){var z=o.content;x=Ju(h,0,z[0]),w=Ju(f,0,z[1]),b=Ju(h,z[0],z[2]),_=Ju(f,z[1],z[3]),A=z[0]-x,k=z[1]-w,S=z[2]-z[0]-b,I=z[3]-z[1]-_;}var C=function(n,a,u,l){var h=Yu(n.stretch-x,b,p,t.left),f=$u(n.fixed-A,S,n.stretch,d),y=Yu(a.stretch-w,_,c,t.top),v=$u(a.fixed-k,I,a.stretch,m),g=Yu(u.stretch-x,b,p,t.left),z=$u(u.fixed-A,S,u.stretch,d),C=Yu(l.stretch-w,_,c,t.top),E=$u(l.fixed-k,I,l.stretch,m),P=new i(h,y),M=new i(g,y),B=new i(g,C),T=new i(h,C),V=new i(f/s,v/s),F=new i(z/s,E/s),D=e*Math.PI/180;if(D){var L=Math.sin(D),O=Math.cos(D),R=[O,-L,L,O];P._matMult(R),M._matMult(R),T._matMult(R),B._matMult(R);}var U=n.stretch+n.fixed,j=a.stretch+a.fixed;return {tl:P,tr:M,bl:T,br:B,tex:{x:o.paddedRect.x+1+U,y:o.paddedRect.y+1+j,w:u.stretch+u.fixed-U,h:l.stretch+l.fixed-j},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:V,pixelOffsetBR:F,minFontScaleX:S/s/p,minFontScaleY:I/s/c,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var E=Hu(h,v,d),P=Hu(f,g,m),M=0;M<E.length-1;M++)for(var B=E[M],T=E[M+1],V=0;V<P.length-1;V++)a.push(C(B,P[V],T,P[V+1]));else a.push(C({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:u+1},{fixed:0,stretch:l+1}));return a}function Ju(t,e,r){for(var n=0,i=0,a=t;i<a.length;i+=1){var o=a[i];n+=Math.max(e,Math.min(r,o[1]))-Math.max(e,Math.min(r,o[0]));}return n}function Hu(t,e,r){for(var n=[{fixed:-1,stretch:0}],i=0,a=t;i<a.length;i+=1){var o=a[i],s=o[0],u=o[1],l=n[n.length-1];n.push({fixed:s-l.stretch,stretch:l.stretch}),n.push({fixed:s-l.stretch,stretch:l.stretch+(u-s)});}return n.push({fixed:e+1,stretch:r}),n}function Yu(t,e,r,n){return t/e*r+n}function $u(t,e,r,n){return t-e*r/n}var Wu=function(t,e,r,n,a,o,s,u,l,p){if(this.boxStartIndex=t.length,l){var c=o.top,h=o.bottom,f=o.collisionPadding;f&&(c-=f[1],h+=f[3]);var y=h-c;y>0&&(y=Math.max(10,y),this.circleDiameter=y);}else {var d=o.top*s-u,m=o.bottom*s+u,v=o.left*s-u,g=o.right*s+u,x=o.collisionPadding;if(x&&(v-=x[0]*s,d-=x[1]*s,g+=x[2]*s,m+=x[3]*s),p){var b=new i(v,d),w=new i(g,d),_=new i(v,m),A=new i(g,m),S=p*Math.PI/180;b._rotate(S),w._rotate(S),_._rotate(S),A._rotate(S),v=Math.min(b.x,w.x,_.x,A.x),g=Math.max(b.x,w.x,_.x,A.x),d=Math.min(b.y,w.y,_.y,A.y),m=Math.max(b.y,w.y,_.y,A.y);}t.emplaceBack(e.x,e.y,v,d,g,m,r,n,a);}this.boxEndIndex=t.length;},Qu=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=tl),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r);};function tl(t,e){return t<e?-1:t>e?1:0}function el(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,a=1/0,o=-1/0,s=-1/0,u=t[0],l=0;l<u.length;l++){var p=u[l];(!l||p.x<n)&&(n=p.x),(!l||p.y<a)&&(a=p.y),(!l||p.x>o)&&(o=p.x),(!l||p.y>s)&&(s=p.y);}var c=Math.min(o-n,s-a),h=c/2,f=new Qu([],rl);if(0===c)return new i(n,a);for(var y=n;y<o;y+=c)for(var d=a;d<s;d+=c)f.push(new nl(y+h,d+h,h,t));for(var m=function(t){for(var e=0,r=0,n=0,i=t[0],a=0,o=i.length,s=o-1;a<o;s=a++){var u=i[a],l=i[s],p=u.x*l.y-l.x*u.y;r+=(u.x+l.x)*p,n+=(u.y+l.y)*p,e+=3*p;}return new nl(r/e,n/e,0,t)}(t),v=f.length;f.length;){var g=f.pop();(g.d>m.d||!m.d)&&(m=g,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*g.d)/1e4,v)),g.max-m.d<=e||(f.push(new nl(g.p.x-(h=g.h/2),g.p.y-h,h,t)),f.push(new nl(g.p.x+h,g.p.y-h,h,t)),f.push(new nl(g.p.x-h,g.p.y+h,h,t)),f.push(new nl(g.p.x+h,g.p.y+h,h,t)),v+=4);}return r&&(console.log(\"num probes: \"+v),console.log(\"best distance: \"+m.d)),m.p}function rl(t,e){return e.max-t.max}function nl(t,e,r,n){this.p=new i(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;i<e.length;i++)for(var a=e[i],o=0,s=a.length,u=s-1;o<s;u=o++){var l=a[o],p=a[u];l.y>t.y!=p.y>t.y&&t.x<(p.x-l.x)*(t.y-l.y)/(p.y-l.y)+l.x&&(r=!r),n=Math.min(n,Ya(t,l,p));}return (r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2;}Qu.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1);},Qu.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Qu.prototype.peek=function(){return this.data[0]},Qu.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i;}e[t]=n;},Qu.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t<n;){var a=1+(t<<1),o=e[a],s=a+1;if(s<this.length&&r(e[s],o)<0&&(a=s,o=e[s]),r(o,i)>=0)break;e[t]=o,t=a;}e[t]=i;};var il=Number.POSITIVE_INFINITY;function al(t,e){return e[1]!==il?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case\"top-right\":case\"top-left\":case\"top\":i=r-7;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":i=7-r;}switch(t){case\"top-right\":case\"bottom-right\":case\"right\":n=-e;break;case\"top-left\":case\"bottom-left\":case\"left\":n=e;}return [n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case\"top-right\":case\"top-left\":n=i-7;break;case\"bottom-right\":case\"bottom-left\":n=7-i;break;case\"bottom\":n=7-e;break;case\"top\":n=e-7;}switch(t){case\"top-right\":case\"bottom-right\":r=-i;break;case\"top-left\":case\"bottom-left\":r=i;break;case\"left\":r=e;break;case\"right\":r=-e;}return [r,n]}(t,e[0])}function ol(t){switch(t){case\"right\":case\"top-right\":case\"bottom-right\":return \"right\";case\"left\":case\"top-left\":case\"bottom-left\":return \"left\"}return \"center\"}function sl(t,e,r,n,a,o,s,u,l,p,c,h,f,y,d){var m=function(t,e,r,n,a,o,s,u){for(var l=n.layout.get(\"text-rotate\").evaluate(o,{})*Math.PI/180,p=[],c=0,h=e.positionedLines;c<h.length;c+=1)for(var f=h[c],y=0,d=f.positionedGlyphs;y<d.length;y+=1){var m=d[y];if(m.rect){var v=m.rect||{},g=4,x=!0,b=1,w=0,_=(a||u)&&m.vertical,A=m.metrics.advance*m.scale/2;if(u&&e.verticalizable&&(w=f.lineOffset/2-(m.imageName?-(24-m.metrics.width*m.scale)/2:24*(m.scale-1))),m.imageName){var S=s[m.imageName];x=S.sdf,g=1/(b=S.pixelRatio);}var k=a?[m.x+A,m.y]:[0,0],I=a?[0,0]:[m.x+A+r[0],m.y+r[1]-w],z=[0,0];_&&(z=I,I=[0,0]);var C=(m.metrics.left-g)*m.scale-A+I[0],E=(-m.metrics.top-g)*m.scale+I[1],P=C+v.w*m.scale/b,M=E+v.h*m.scale/b,B=new i(C,E),T=new i(P,E),V=new i(C,M),F=new i(P,M);if(_){var D=new i(-A,A- -17),L=-Math.PI/2,O=12-A,R=new i(22-O,-(m.imageName?O:0)),U=new(Function.prototype.bind.apply(i,[null].concat(z)));B._rotateAround(L,D)._add(R)._add(U),T._rotateAround(L,D)._add(R)._add(U),V._rotateAround(L,D)._add(R)._add(U),F._rotateAround(L,D)._add(R)._add(U);}if(l){var j=Math.sin(l),q=Math.cos(l),N=[q,-j,j,q];B._matMult(N),T._matMult(N),V._matMult(N),F._matMult(N);}var K=new i(0,0),G=new i(0,0);p.push({tl:B,tr:T,bl:V,br:F,tex:v,writingMode:e.writingMode,glyphOffset:k,sectionIndex:m.sectionIndex,isSDF:x,pixelOffsetTL:K,pixelOffsetBR:G,minFontScaleX:0,minFontScaleY:0});}}return p}(0,r,u,a,o,s,n,t.allowVerticalPlacement),v=t.textSizeData,g=null;\"source\"===v.kind?(g=[128*a.layout.get(\"text-size\").evaluate(s,{})])[0]>32640&&A(t.layerIds[0]+': Value for \"text-size\" is >= 255. Reduce your \"text-size\".'):\"composite\"===v.kind&&((g=[128*y.compositeTextSizes[0].evaluate(s,{},d),128*y.compositeTextSizes[1].evaluate(s,{},d)])[0]>32640||g[1]>32640)&&A(t.layerIds[0]+': Value for \"text-size\" is >= 255. Reduce your \"text-size\".'),t.addSymbols(t.text,m,g,u,o,s,p,e,l.lineStartIndex,l.lineLength,f,d);for(var x=0,b=c;x<b.length;x+=1)h[b[x]]=t.text.placedSymbolArray.length-1;return 4*m.length}function ul(t){for(var e in t)return t[e];return null}function ll(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])<r)return !0}else i[e]=[];return i[e].push(n),!1}var pl=bs.VectorTileFeature.types,cl=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function hl(t,e,r,n,i,a,o,s,u,l,p,c,h){var f=s?Math.min(32640,Math.round(s[0])):0,y=s?Math.min(32640,Math.round(s[1])):0;t.emplaceBack(e,r,Math.round(32*n),Math.round(32*i),a,o,(f<<1)+(u?1:0),y,16*l,16*p,256*c,256*h);}function fl(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r);}function yl(t){for(var e=0,r=t.sections;e<r.length;e+=1)if($n(r[e].text))return !0;return !1}var dl=function(t){this.layoutVertexArray=new Vi,this.indexArray=new ji,this.programConfigurations=t,this.segments=new sa,this.dynamicLayoutVertexArray=new Fi,this.opacityVertexArray=new Di,this.placedSymbolArray=new Qi;};dl.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length},dl.prototype.upload=function(t,e,r,n){this.isEmpty()||(r&&(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,js.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,qs.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,cl,!0),this.opacityVertexBuffer.itemSize=1),(r||n)&&this.programConfigurations.upload(t));},dl.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy());},On(\"SymbolBuffers\",dl);var ml=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new sa,this.collisionVertexArray=new Ui;};ml.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,Ns.members,!0);},ml.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy());},On(\"CollisionBuffers\",ml);var vl=function(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=oo([]),this.placementViewportMatrix=oo([]);var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Du(this.zoom,e[\"text-size\"]),this.iconSizeData=Du(this.zoom,e[\"icon-size\"]);var r=this.layers[0].layout,n=r.get(\"symbol-sort-key\"),i=r.get(\"symbol-z-order\");this.canOverlap=r.get(\"text-allow-overlap\")||r.get(\"icon-allow-overlap\")||r.get(\"text-ignore-placement\")||r.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=\"viewport-y\"!==i&&void 0!==n.constantOr(1),this.sortFeaturesByY=(\"viewport-y\"===i||\"auto\"===i&&!this.sortFeaturesByKey)&&this.canOverlap,\"point\"===r.get(\"symbol-placement\")&&(this.writingModes=r.get(\"text-writing-mode\").map((function(t){return wu[t]}))),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id})),this.sourceID=t.sourceID;};vl.prototype.createArrays=function(){this.text=new dl(new Va(this.layers,this.zoom,(function(t){return /^text/.test(t)}))),this.icon=new dl(new Va(this.layers,this.zoom,(function(t){return /^icon/.test(t)}))),this.glyphOffsetArray=new ra,this.lineVertexArray=new na,this.symbolInstances=new ea;},vl.prototype.calculateGlyphDependencies=function(t,e,r,n,i){for(var a=0;a<t.length;a++)if(e[t.charCodeAt(a)]=!0,(r||n)&&i){var o=Xs[t.charAt(a)];o&&(e[o.charCodeAt(0)]=!0);}},vl.prototype.populate=function(t,e,r){var n=this.layers[0],i=n.layout,a=i.get(\"text-font\"),o=i.get(\"text-field\"),s=i.get(\"icon-image\"),u=(\"constant\"!==o.value.kind||o.value.value instanceof ne&&!o.value.value.isEmpty()||o.value.value.toString().length>0)&&(\"constant\"!==a.value.kind||a.value.value.length>0),l=\"constant\"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,p=i.get(\"symbol-sort-key\");if(this.features=[],u||l){for(var c=e.iconDependencies,h=e.glyphDependencies,f=e.availableImages,y=new si(this.zoom),d=0,m=t;d<m.length;d+=1){var v=m[d],g=v.feature,x=v.id,b=v.index,w=v.sourceLayerIndex,_=n._featureFilter.needGeometry,A=Ua(g,_);if(n._featureFilter.filter(y,A,r)){_||(A.geometry=Ra(g));var S=void 0;if(u){var k=n.getValueAndResolveTokens(\"text-field\",A,r,f),I=ne.factory(k);yl(I)&&(this.hasRTLText=!0),(!this.hasRTLText||\"unavailable\"===ii()||this.hasRTLText&&oi.isParsed())&&(S=Zs(I,n,A));}var z=void 0;if(l){var C=n.getValueAndResolveTokens(\"icon-image\",A,r,f);z=C instanceof ie?C:ie.fromString(C);}if(S||z){var E=this.sortFeaturesByKey?p.evaluate(A,{},r):void 0;if(this.features.push({id:x,text:S,icon:z,index:b,sourceLayerIndex:w,geometry:A.geometry,properties:g.properties,type:pl[g.type],sortKey:E}),z&&(c[z.name]=!0),S){var P=a.evaluate(A,{},r).join(\",\"),M=\"map\"===i.get(\"text-rotation-alignment\")&&\"point\"!==i.get(\"symbol-placement\");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(wu.vertical)>=0;for(var B=0,T=S.sections;B<T.length;B+=1){var V=T[B];if(V.image)c[V.image.name]=!0;else {var F=Zn(S.toString()),D=V.fontStack||P,L=h[D]=h[D]||{};this.calculateGlyphDependencies(V.text,L,M,this.allowVerticalPlacement,F);}}}}}}\"line\"===i.get(\"symbol-placement\")&&(this.features=function(t){var e={},r={},n=[],i=0;function a(e){n.push(t[e]),i++;}function o(t,e,i){var a=r[t];return delete r[t],r[e]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(t,r,i){var a=e[r];return delete e[r],e[t]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function u(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+\":\"+n.x+\":\"+n.y}for(var l=0;l<t.length;l++){var p=t[l],c=p.geometry,h=p.text?p.text.toString():null;if(h){var f=u(h,c),y=u(h,c,!0);if(f in r&&y in e&&r[f]!==e[y]){var d=s(f,y,c),m=o(f,y,n[d].geometry);delete e[f],delete r[y],r[u(h,n[m].geometry,!0)]=m,n[d].geometry=null;}else f in r?o(f,y,c):y in e?s(f,y,c):(a(l),e[f]=i-1,r[y]=i-1);}else a(l);}return n.filter((function(t){return t.geometry}))}(this.features)),this.sortFeaturesByKey&&this.features.sort((function(t,e){return t.sortKey-e.sortKey}));}},vl.prototype.update=function(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r));},vl.prototype.isEmpty=function(){return 0===this.symbolInstances.length&&!this.hasRTLText},vl.prototype.uploadPending=function(){return !this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},vl.prototype.upload=function(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0;},vl.prototype.destroyDebugData=function(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy();},vl.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData();},vl.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),i=t.dist(e[t.segment]),a={},o=t.segment+1;o<e.length;o++)a[o]={x:e[o].x,y:e[o].y,tileUnitDistanceFromAnchor:n},o<e.length-1&&(n+=e[o+1].dist(e[o]));for(var s=t.segment||0;s>=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var u=0;u<e.length;u++){var l=a[u];this.lineVertexArray.emplaceBack(l.x,l.y,l.tileUnitDistanceFromAnchor);}}return {lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},vl.prototype.addSymbols=function(t,e,r,n,i,a,o,s,u,l,p,c){for(var h=t.indexArray,f=t.layoutVertexArray,y=t.segments.prepareSegment(4*e.length,f,h,this.canOverlap?a.sortKey:void 0),d=this.glyphOffsetArray.length,m=y.vertexLength,v=this.allowVerticalPlacement&&o===wu.vertical?Math.PI/2:0,g=a.text&&a.text.sections,x=0;x<e.length;x++){var b=e[x],w=b.tl,_=b.tr,A=b.bl,S=b.br,k=b.tex,I=b.pixelOffsetTL,z=b.pixelOffsetBR,C=b.minFontScaleX,E=b.minFontScaleY,P=b.glyphOffset,M=b.isSDF,B=b.sectionIndex,T=y.vertexLength,V=P[1];hl(f,s.x,s.y,w.x,V+w.y,k.x,k.y,r,M,I.x,I.y,C,E),hl(f,s.x,s.y,_.x,V+_.y,k.x+k.w,k.y,r,M,z.x,I.y,C,E),hl(f,s.x,s.y,A.x,V+A.y,k.x,k.y+k.h,r,M,I.x,z.y,C,E),hl(f,s.x,s.y,S.x,V+S.y,k.x+k.w,k.y+k.h,r,M,z.x,z.y,C,E),fl(t.dynamicLayoutVertexArray,s,v),h.emplaceBack(T,T+1,T+2),h.emplaceBack(T+1,T+2,T+3),y.vertexLength+=4,y.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(P[0]),x!==e.length-1&&B===e[x+1].sectionIndex||t.programConfigurations.populatePaintArrays(f.length,a,a.index,{},c,g&&g[B]);}t.placedSymbolArray.emplaceBack(s.x,s.y,d,this.glyphOffsetArray.length-d,m,u,l,s.segment,r?r[0]:0,r?r[1]:0,n[0],n[1],o,0,!1,0,p);},vl.prototype._addCollisionDebugVertex=function(t,e,r,n,i,a){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n,i,Math.round(a.x),Math.round(a.y))},vl.prototype.addCollisionDebugVertices=function(t,e,r,n,a,o,s){var u=a.segments.prepareSegment(4,a.layoutVertexArray,a.indexArray),l=u.vertexLength,p=a.layoutVertexArray,c=a.collisionVertexArray,h=s.anchorX,f=s.anchorY;this._addCollisionDebugVertex(p,c,o,h,f,new i(t,e)),this._addCollisionDebugVertex(p,c,o,h,f,new i(r,e)),this._addCollisionDebugVertex(p,c,o,h,f,new i(r,n)),this._addCollisionDebugVertex(p,c,o,h,f,new i(t,n)),u.vertexLength+=4;var y=a.indexArray;y.emplaceBack(l,l+1),y.emplaceBack(l+1,l+2),y.emplaceBack(l+2,l+3),y.emplaceBack(l+3,l),u.primitiveLength+=4;},vl.prototype.addDebugCollisionBoxes=function(t,e,r,n){for(var i=t;i<e;i++){var a=this.collisionBoxArray.get(i);this.addCollisionDebugVertices(a.x1,a.y1,a.x2,a.y2,n?this.textCollisionBox:this.iconCollisionBox,a.anchorPoint,r);}},vl.prototype.generateCollisionDebugBuffers=function(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new ml(Oi,Ks.members,Xi),this.iconCollisionBox=new ml(Oi,Ks.members,Xi);for(var t=0;t<this.symbolInstances.length;t++){var e=this.symbolInstances.get(t);this.addDebugCollisionBoxes(e.textBoxStartIndex,e.textBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.verticalTextBoxStartIndex,e.verticalTextBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.iconBoxStartIndex,e.iconBoxEndIndex,e,!1),this.addDebugCollisionBoxes(e.verticalIconBoxStartIndex,e.verticalIconBoxEndIndex,e,!1);}},vl.prototype._deserializeCollisionBoxesForSymbol=function(t,e,r,n,i,a,o,s,u){for(var l={},p=e;p<r;p++){var c=t.get(p);l.textBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},l.textFeatureIndex=c.featureIndex;break}for(var h=n;h<i;h++){var f=t.get(h);l.verticalTextBox={x1:f.x1,y1:f.y1,x2:f.x2,y2:f.y2,anchorPointX:f.anchorPointX,anchorPointY:f.anchorPointY},l.verticalTextFeatureIndex=f.featureIndex;break}for(var y=a;y<o;y++){var d=t.get(y);l.iconBox={x1:d.x1,y1:d.y1,x2:d.x2,y2:d.y2,anchorPointX:d.anchorPointX,anchorPointY:d.anchorPointY},l.iconFeatureIndex=d.featureIndex;break}for(var m=s;m<u;m++){var v=t.get(m);l.verticalIconBox={x1:v.x1,y1:v.y1,x2:v.x2,y2:v.y2,anchorPointX:v.anchorPointX,anchorPointY:v.anchorPointY},l.verticalIconFeatureIndex=v.featureIndex;break}return l},vl.prototype.deserializeCollisionBoxes=function(t){this.collisionArrays=[];for(var e=0;e<this.symbolInstances.length;e++){var r=this.symbolInstances.get(e);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(t,r.textBoxStartIndex,r.textBoxEndIndex,r.verticalTextBoxStartIndex,r.verticalTextBoxEndIndex,r.iconBoxStartIndex,r.iconBoxEndIndex,r.verticalIconBoxStartIndex,r.verticalIconBoxEndIndex));}},vl.prototype.hasTextData=function(){return this.text.segments.get().length>0},vl.prototype.hasIconData=function(){return this.icon.segments.get().length>0},vl.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},vl.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},vl.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},vl.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i<n;i+=4)t.indexArray.emplaceBack(i,i+1,i+2),t.indexArray.emplaceBack(i+1,i+2,i+3);},vl.prototype.getSortedSymbolIndexes=function(t){if(this.sortedAngle===t&&void 0!==this.symbolInstanceIndexes)return this.symbolInstanceIndexes;for(var e=Math.sin(t),r=Math.cos(t),n=[],i=[],a=[],o=0;o<this.symbolInstances.length;++o){a.push(o);var s=this.symbolInstances.get(o);n.push(0|Math.round(e*s.anchorX+r*s.anchorY)),i.push(s.featureIndex);}return a.sort((function(t,e){return n[t]-n[e]||i[e]-i[t]})),a},vl.prototype.addToSortKeyRanges=function(t,e){var r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1});},vl.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r<n.length;r+=1){var i=this.symbolInstances.get(n[r]);this.featureSortOrder.push(i.featureIndex),[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach((function(t,r,n){t>=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t);})),i.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,i.verticalPlacedTextSymbolIndex),i.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,i.placedIconSymbolIndex),i.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,i.verticalPlacedIconSymbolIndex);}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray);}},On(\"SymbolBucket\",vl,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),vl.MAX_GLYPHS=65535,vl.addDynamicAttributes=fl;var gl=new wi({\"symbol-placement\":new mi(Et.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new mi(Et.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new mi(Et.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new vi(Et.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new mi(Et.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new mi(Et.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new mi(Et.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new mi(Et.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new mi(Et.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new vi(Et.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new mi(Et.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new mi(Et.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new vi(Et.layout_symbol[\"icon-image\"]),\"icon-rotate\":new vi(Et.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new mi(Et.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new mi(Et.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new vi(Et.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new vi(Et.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new mi(Et.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new mi(Et.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new mi(Et.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new vi(Et.layout_symbol[\"text-field\"]),\"text-font\":new vi(Et.layout_symbol[\"text-font\"]),\"text-size\":new vi(Et.layout_symbol[\"text-size\"]),\"text-max-width\":new vi(Et.layout_symbol[\"text-max-width\"]),\"text-line-height\":new mi(Et.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new vi(Et.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new vi(Et.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new vi(Et.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new mi(Et.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new vi(Et.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new mi(Et.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new mi(Et.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new vi(Et.layout_symbol[\"text-rotate\"]),\"text-padding\":new mi(Et.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new mi(Et.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new vi(Et.layout_symbol[\"text-transform\"]),\"text-offset\":new vi(Et.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new mi(Et.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new mi(Et.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new mi(Et.layout_symbol[\"text-optional\"])}),xl={paint:new wi({\"icon-opacity\":new vi(Et.paint_symbol[\"icon-opacity\"]),\"icon-color\":new vi(Et.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new vi(Et.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new vi(Et.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new vi(Et.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new mi(Et.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new mi(Et.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new vi(Et.paint_symbol[\"text-opacity\"]),\"text-color\":new vi(Et.paint_symbol[\"text-color\"],{runtimeType:jt,getOverride:function(t){return t.textColor},hasOverride:function(t){return !!t.textColor}}),\"text-halo-color\":new vi(Et.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new vi(Et.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new vi(Et.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new mi(Et.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new mi(Et.paint_symbol[\"text-translate-anchor\"])}),layout:gl},bl=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Lt,this.defaultValue=t;};bl.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},bl.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression);},bl.prototype.outputDefined=function(){return !1},bl.prototype.serialize=function(){return null},On(\"FormatSectionOverride\",bl,{omit:[\"defaultValue\"]});var wl=function(t){function e(e){t.call(this,e,xl);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(this.layout._values[\"icon-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(this.layout._values[\"text-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),\"point\"===this.layout.get(\"symbol-placement\")){var n=this.layout.get(\"text-writing-mode\");if(n){for(var i=[],a=0,o=n;a<o.length;a+=1){var s=o[a];i.indexOf(s)<0&&i.push(s);}this.layout._values[\"text-writing-mode\"]=i;}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"];}this._setPaintOverrides();},e.prototype.getValueAndResolveTokens=function(t,e,r,n){var i=this.layout.get(t).evaluate(e,{},r,n),a=this._unevaluatedLayout._values[t];return a.isDataDriven()||Gr(a.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,(function(e,r){return r in t?String(t[r]):\"\"}))}(e.properties,i)},e.prototype.createBucket=function(t){return new vl(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return !1},e.prototype._setPaintOverrides=function(){for(var t=0,r=xl.paint.overridableProperties;t<r.length;t+=1){var n=r[t];if(e.hasPaintOverride(this.layout,n)){var i,a=this.paint.get(n),o=new bl(a),s=new Kr(o,a.property.specification);i=\"constant\"===a.value.kind||\"source\"===a.value.kind?new Xr(\"source\",s):new Jr(\"composite\",s,a.value.zoomStops,a.value._interpolationType),this.paint._values[n]=new yi(a.property,i,a.parameters);}}},e.prototype._handleOverridablePaintPropertyUpdate=function(t,r,n){return !(!this.layout||r.isDataDriven()||n.isDataDriven())&&e.hasPaintOverride(this.layout,t)},e.hasPaintOverride=function(t,e){var r=t.get(\"text-field\"),n=xl.paint.properties[e],i=!1,a=function(t){for(var e=0,r=t;e<r.length;e+=1)if(n.overrides&&n.overrides.hasOverride(r[e]))return void(i=!0)};if(\"constant\"===r.value.kind&&r.value.value instanceof ne)a(r.value.value.sections);else if(\"source\"===r.value.kind){var o=function(t){i||(t instanceof le&&se(t.value)===Gt?a(t.value.sections):t instanceof fe?a(t.sections):t.eachChild(o));},s=r.value;s._styleExpression&&o(s._styleExpression.expression);}return i},e}(_i),_l={paint:new wi({\"background-color\":new mi(Et.paint_background[\"background-color\"]),\"background-pattern\":new xi(Et.paint_background[\"background-pattern\"]),\"background-opacity\":new mi(Et.paint_background[\"background-opacity\"])})},Al=function(t){function e(e){t.call(this,e,_l);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(_i),Sl={paint:new wi({\"raster-opacity\":new mi(Et.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new mi(Et.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new mi(Et.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new mi(Et.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new mi(Et.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new mi(Et.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new mi(Et.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new mi(Et.paint_raster[\"raster-fade-duration\"])})},kl=function(t){function e(e){t.call(this,e,Sl);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(_i),Il=function(t){function e(e){t.call(this,e,{}),this.implementation=e;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.is3D=function(){return \"3d\"===this.implementation.renderingMode},e.prototype.hasOffscreenPass=function(){return void 0!==this.implementation.prerender},e.prototype.recalculate=function(){},e.prototype.updateTransitions=function(){},e.prototype.hasTransition=function(){},e.prototype.serialize=function(){},e.prototype.onAdd=function(t){this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl);},e.prototype.onRemove=function(t){this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl);},e}(_i),zl={circle:co,heatmap:_o,hillshade:So,fill:ps,\"fill-extrusion\":zs,line:Rs,symbol:wl,background:Al,raster:kl},Cl=o.HTMLImageElement,El=o.HTMLCanvasElement,Pl=o.HTMLVideoElement,Ml=o.ImageData,Bl=o.ImageBitmap,Tl=function(t,e,r,n){this.context=t,this.format=r,this.texture=t.gl.createTexture(),this.update(e,n);};Tl.prototype.update=function(t,e,r){var n=t.width,i=t.height,a=!(this.size&&this.size[0]===n&&this.size[1]===i||r),o=this.context,s=o.gl;if(this.useMipmap=Boolean(e&&e.useMipmap),s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1),o.pixelStoreUnpackPremultiplyAlpha.set(this.format===s.RGBA&&(!e||!1!==e.premultiply)),a)this.size=[n,i],t instanceof Cl||t instanceof El||t instanceof Pl||t instanceof Ml||Bl&&t instanceof Bl?s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,s.UNSIGNED_BYTE,t):s.texImage2D(s.TEXTURE_2D,0,this.format,n,i,0,this.format,s.UNSIGNED_BYTE,t.data);else {var u=r||{x:0,y:0},l=u.x,p=u.y;t instanceof Cl||t instanceof El||t instanceof Pl||t instanceof Ml||Bl&&t instanceof Bl?s.texSubImage2D(s.TEXTURE_2D,0,l,p,s.RGBA,s.UNSIGNED_BYTE,t):s.texSubImage2D(s.TEXTURE_2D,0,l,p,n,i,s.RGBA,s.UNSIGNED_BYTE,t.data);}this.useMipmap&&this.isSizePowerOfTwo()&&s.generateMipmap(s.TEXTURE_2D);},Tl.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),r!==n.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=n.LINEAR),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e);},Tl.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0},Tl.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null;};var Vl=function(t){var e=this;this._callback=t,this._triggered=!1,\"undefined\"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){e._triggered=!1,e._callback();});};Vl.prototype.trigger=function(){var t=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((function(){t._triggered=!1,t._callback();}),0));},Vl.prototype.remove=function(){delete this._channel,this._callback=function(){};};var Fl=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},v([\"receive\",\"process\"],this),this.invoker=new Vl(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=I()?t:o;};function Dl(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return [t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}Fl.prototype.send=function(t,e,r,n,i){var a=this;void 0===i&&(i=!1);var o=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(this.callbacks[o]=r);var s=E(this.globalScope)?void 0:[];return this.target.postMessage({id:o,type:t,hasCallback:!!r,targetMapId:n,mustQueue:i,sourceMapId:this.mapId,data:qn(e,s)},s),{cancel:function(){r&&delete a.callbacks[o],a.target.postMessage({id:o,type:\"<cancel>\",targetMapId:n,sourceMapId:a.mapId});}}},Fl.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(\"<cancel>\"===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n();}else I()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e);},Fl.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e);}},Fl.prototype.processTask=function(t,e){var r=this;if(\"<response>\"===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(Nn(e.error)):n(null,Nn(e.data)));}else {var i=!1,a=E(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:\"<response>\",sourceMapId:r.mapId,error:e?qn(e):null,data:qn(n,a)},a);}:function(t){i=!0;},s=null,u=Nn(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,u,o);else if(this.parent.getWorkerSource){var l=e.type.split(\".\");s=this.parent.getWorkerSource(e.sourceMapId,l[0],u.source)[l[1]](u,o);}else o(new Error(\"Could not find function \"+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel);}},Fl.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1);};var Ll=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]));};Ll.prototype.setNorthEast=function(t){return this._ne=t instanceof Ol?new Ol(t.lng,t.lat):Ol.convert(t),this},Ll.prototype.setSouthWest=function(t){return this._sw=t instanceof Ol?new Ol(t.lng,t.lat):Ol.convert(t),this},Ll.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof Ol)e=t,r=t;else {if(!(t instanceof Ll))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(Ll.convert(t)):this.extend(Ol.convert(t)):this;if(r=t._ne,!(e=t._sw)||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Ol(e.lng,e.lat),this._ne=new Ol(r.lng,r.lat)),this},Ll.prototype.getCenter=function(){return new Ol((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Ll.prototype.getSouthWest=function(){return this._sw},Ll.prototype.getNorthEast=function(){return this._ne},Ll.prototype.getNorthWest=function(){return new Ol(this.getWest(),this.getNorth())},Ll.prototype.getSouthEast=function(){return new Ol(this.getEast(),this.getSouth())},Ll.prototype.getWest=function(){return this._sw.lng},Ll.prototype.getSouth=function(){return this._sw.lat},Ll.prototype.getEast=function(){return this._ne.lng},Ll.prototype.getNorth=function(){return this._ne.lat},Ll.prototype.toArray=function(){return [this._sw.toArray(),this._ne.toArray()]},Ll.prototype.toString=function(){return \"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},Ll.prototype.isEmpty=function(){return !(this._sw&&this._ne)},Ll.prototype.contains=function(t){var e=Ol.convert(t),r=e.lng,n=e.lat,i=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(i=this._sw.lng>=r&&r>=this._ne.lng),this._sw.lat<=n&&n<=this._ne.lat&&i},Ll.convert=function(t){return !t||t instanceof Ll?t:new Ll(t)};var Ol=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid LngLat object: (\"+t+\", \"+e+\")\");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};Ol.prototype.wrap=function(){return new Ol(c(this.lng,-180,180),this.lat)},Ol.prototype.toArray=function(){return [this.lng,this.lat]},Ol.prototype.toString=function(){return \"LngLat(\"+this.lng+\", \"+this.lat+\")\"},Ol.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return 6371008.8*Math.acos(Math.min(i,1))},Ol.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Ll(new Ol(this.lng-r,this.lat-e),new Ol(this.lng+r,this.lat+e))},Ol.convert=function(t){if(t instanceof Ol)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Ol(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new Ol(Number(\"lng\"in t?t.lng:t.lon),Number(t.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")};var Rl=2*Math.PI*6371008.8;function Ul(t){return Rl*Math.cos(t*Math.PI/180)}function jl(t){return (180+t)/360}function ql(t){return (180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Nl(t,e){return t/Ul(e)}function Kl(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}var Gl=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r;};Gl.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Ol.convert(t);return new Gl(jl(r.lng),ql(r.lat),Nl(e,r.lat))},Gl.prototype.toLngLat=function(){return new Ol(360*this.x-180,Kl(this.y))},Gl.prototype.toAltitude=function(){return this.z*Ul(Kl(this.y))},Gl.prototype.meterInMercatorCoordinateUnits=function(){return 1/Rl*(t=Kl(this.y),1/Math.cos(t*Math.PI/180));var t;};var Zl=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Hl(0,t,t,e,r);};Zl.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Zl.prototype.url=function(t,e){var r,n,i,a,o,s=(n=this.y,i=this.z,a=Dl(256*(r=this.x),256*(n=Math.pow(2,i)-n-1),i),o=Dl(256*(r+1),256*(n+1),i),a[0]+\",\"+a[1]+\",\"+o[0]+\",\"+o[1]),u=function(t,e,r){for(var n,i=\"\",a=t;a>0;a--)i+=(e&(n=1<<a-1)?1:0)+(r&n?2:0);return i}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(\"{z}\",String(this.z)).replace(\"{x}\",String(this.x)).replace(\"{y}\",String(\"tms\"===e?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",u).replace(\"{bbox-epsg-3857}\",s)},Zl.prototype.getTilePoint=function(t){var e=Math.pow(2,this.z);return new i(8192*(t.x*e-this.x),8192*(t.y*e-this.y))},Zl.prototype.toString=function(){return this.z+\"/\"+this.x+\"/\"+this.y};var Xl=function(t,e){this.wrap=t,this.canonical=e,this.key=Hl(t,e.z,e.z,e.x,e.y);},Jl=function(t,e,r,n,i){this.overscaledZ=t,this.wrap=e,this.canonical=new Zl(r,+n,+i),this.key=Hl(e,t,r,n,i);};function Hl(t,e,r,n,i){(t*=2)<0&&(t=-1*t-1);var a=1<<r;return (a*a*t+a*i+n).toString(36)+r.toString(36)+e.toString(36)}Jl.prototype.equals=function(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)},Jl.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new Jl(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Jl(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Jl.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?Hl(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Hl(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Jl.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return !1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ<this.overscaledZ&&t.canonical.x===this.canonical.x>>e&&t.canonical.y===this.canonical.y>>e},Jl.prototype.children=function(t){if(this.overscaledZ>=t)return [new Jl(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return [new Jl(e,this.wrap,e,r,n),new Jl(e,this.wrap,e,r+1,n),new Jl(e,this.wrap,e,r,n+1),new Jl(e,this.wrap,e,r+1,n+1)]},Jl.prototype.isLessThan=function(t){return this.wrap<t.wrap||!(this.wrap>t.wrap)&&(this.overscaledZ<t.overscaledZ||!(this.overscaledZ>t.overscaledZ)&&(this.canonical.x<t.canonical.x||!(this.canonical.x>t.canonical.x)&&this.canonical.y<t.canonical.y))},Jl.prototype.wrapped=function(){return new Jl(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},Jl.prototype.unwrapTo=function(t){return new Jl(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)},Jl.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},Jl.prototype.toUnwrapped=function(){return new Xl(this.wrap,this.canonical)},Jl.prototype.toString=function(){return this.overscaledZ+\"/\"+this.canonical.x+\"/\"+this.canonical.y},Jl.prototype.getTilePoint=function(t){return this.canonical.getTilePoint(new Gl(t.x-this.wrap,t.y))},On(\"CanonicalTileID\",Zl),On(\"OverscaledTileID\",Jl,{omit:[\"posMatrix\"]});var Yl=function(t,e,r){if(this.uid=t,e.height!==e.width)throw new RangeError(\"DEM tiles must be square\");if(r&&\"mapbox\"!==r&&\"terrarium\"!==r)return A('\"'+r+'\" is not a valid encoding type. Valid types include \"mapbox\" and \"terrarium\".');this.stride=e.height;var n=this.dim=e.height-2;this.data=new Uint32Array(e.data.buffer),this.encoding=r||\"mapbox\";for(var i=0;i<n;i++)this.data[this._idx(-1,i)]=this.data[this._idx(0,i)],this.data[this._idx(n,i)]=this.data[this._idx(n-1,i)],this.data[this._idx(i,-1)]=this.data[this._idx(i,0)],this.data[this._idx(i,n)]=this.data[this._idx(i,n-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(n,-1)]=this.data[this._idx(n-1,0)],this.data[this._idx(-1,n)]=this.data[this._idx(0,n-1)],this.data[this._idx(n,n)]=this.data[this._idx(n-1,n-1)];};Yl.prototype.get=function(t,e){var r=new Uint8Array(this.data.buffer),n=4*this._idx(t,e);return (\"terrarium\"===this.encoding?this._unpackTerrarium:this._unpackMapbox)(r[n],r[n+1],r[n+2])},Yl.prototype.getUnpackVector=function(){return \"terrarium\"===this.encoding?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]},Yl.prototype._idx=function(t,e){if(t<-1||t>=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return (e+1)*this.stride+(t+1)},Yl.prototype._unpackMapbox=function(t,e,r){return (256*t*256+256*e+r)/10-1e4},Yl.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Yl.prototype.getPixels=function(){return new xo({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Yl.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error(\"dem dimension mismatch\");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1;}switch(r){case-1:a=o-1;break;case 1:o=a+1;}for(var s=-e*this.dim,u=-r*this.dim,l=a;l<o;l++)for(var p=n;p<i;p++)this.data[this._idx(p,l)]=t.data[this._idx(p+s,l+u)];},On(\"DEMData\",Yl);var $l=function(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e<t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r;}};$l.prototype.encode=function(t){return this._stringToNumber[t]},$l.prototype.decode=function(t){return this._numberToString[t]};var Wl=function(t,e,r,n,i){this.type=\"Feature\",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,this.id=i;},Ql={geometry:{configurable:!0}};Ql.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},Ql.geometry.set=function(t){this._geometry=t;},Wl.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)\"_geometry\"!==e&&\"_vectorTileFeature\"!==e&&(t[e]=this[e]);return t},Object.defineProperties(Wl.prototype,Ql);var tp=function(){this.state={},this.stateChanges={},this.deletedStates={};};tp.prototype.updateState=function(t,e,r){var n=String(e);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][n]=this.stateChanges[t][n]||{},h(this.stateChanges[t][n],r),null===this.deletedStates[t])for(var i in this.deletedStates[t]={},this.state[t])i!==n&&(this.deletedStates[t][i]=null);else if(this.deletedStates[t]&&null===this.deletedStates[t][n])for(var a in this.deletedStates[t][n]={},this.state[t][n])r[a]||(this.deletedStates[t][n][a]=null);else for(var o in r)this.deletedStates[t]&&this.deletedStates[t][n]&&null===this.deletedStates[t][n][o]&&delete this.deletedStates[t][n][o];},tp.prototype.removeFeatureState=function(t,e,r){if(null!==this.deletedStates[t]){var n=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},r&&void 0!==e)null!==this.deletedStates[t][n]&&(this.deletedStates[t][n]=this.deletedStates[t][n]||{},this.deletedStates[t][n][r]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][n])for(r in this.deletedStates[t][n]={},this.stateChanges[t][n])this.deletedStates[t][n][r]=null;else this.deletedStates[t][n]=null;else this.deletedStates[t]=null;}},tp.prototype.getState=function(t,e){var r=String(e),n=h({},(this.state[t]||{})[r],(this.stateChanges[t]||{})[r]);if(null===this.deletedStates[t])return {};if(this.deletedStates[t]){var i=this.deletedStates[t][e];if(null===i)return {};for(var a in i)delete n[a];}return n},tp.prototype.initializeTileState=function(t,e){t.setFeatureState(this.state,e);},tp.prototype.coalesceChanges=function(t,e){var r={};for(var n in this.stateChanges){this.state[n]=this.state[n]||{};var i={};for(var a in this.stateChanges[n])this.state[n][a]||(this.state[n][a]={}),h(this.state[n][a],this.stateChanges[n][a]),i[a]=this.state[n][a];r[n]=i;}for(var o in this.deletedStates){this.state[o]=this.state[o]||{};var s={};if(null===this.deletedStates[o])for(var u in this.state[o])s[u]={},this.state[o][u]={};else for(var l in this.deletedStates[o]){if(null===this.deletedStates[o][l])this.state[o][l]={};else for(var p=0,c=Object.keys(this.deletedStates[o][l]);p<c.length;p+=1)delete this.state[o][l][c[p]];s[l]=this.state[o][l];}r[o]=r[o]||{},h(r[o],s);}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(var f in t)t[f].setFeatureState(r,e);};var ep=function(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new Tn(8192,16,0),this.grid3D=new Tn(8192,16,0),this.featureIndexArray=new aa,this.promoteId=e;};function rp(t,e,r,n,i){return x(t,(function(t,a){var o=e instanceof di?e.get(a):null;return o&&o.evaluate?o.evaluate(r,n,i):o}))}function np(t){for(var e=1/0,r=1/0,n=-1/0,i=-1/0,a=0,o=t;a<o.length;a+=1){var s=o[a];e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),i=Math.max(i,s.y);}return {minX:e,minY:r,maxX:n,maxY:i}}function ip(t,e){return e-t}ep.prototype.insert=function(t,e,r,n,i,a){var o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var s=a?this.grid3D:this.grid,u=0;u<e.length;u++){for(var l=e[u],p=[1/0,1/0,-1/0,-1/0],c=0;c<l.length;c++){var h=l[c];p[0]=Math.min(p[0],h.x),p[1]=Math.min(p[1],h.y),p[2]=Math.max(p[2],h.x),p[3]=Math.max(p[3],h.y);}p[0]<8192&&p[1]<8192&&p[2]>=0&&p[3]>=0&&s.insert(o,p[0],p[1],p[2],p[3]);}},ep.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new bs.VectorTile(new Ys(this.rawTileData)).layers,this.sourceLayerCoder=new $l(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},ep.prototype.query=function(t,e,r,n){var a=this;this.loadVTLayers();for(var o=t.params||{},s=8192/t.tileSize/t.scale,u=on(o.filter),l=t.queryGeometry,p=t.queryPadding*s,c=np(l),h=this.grid.query(c.minX-p,c.minY-p,c.maxX+p,c.maxY+p),f=np(t.cameraQueryGeometry),y=this.grid3D.query(f.minX-p,f.minY-p,f.maxX+p,f.maxY+p,(function(e,r,n,a){return function(t,e,r,n,a){for(var o=0,s=t;o<s.length;o+=1){var u=s[o];if(e<=u.x&&r<=u.y&&n>=u.x&&a>=u.y)return !0}var l=[new i(e,r),new i(e,a),new i(n,a),new i(n,r)];if(t.length>2)for(var p=0,c=l;p<c.length;p+=1)if(Wa(t,c[p]))return !0;for(var h=0;h<t.length-1;h++)if(Qa(t[h],t[h+1],l))return !0;return !1}(t.cameraQueryGeometry,e-p,r-p,n+p,a+p)})),d=0,m=y;d<m.length;d+=1)h.push(m[d]);h.sort(ip);for(var v,g={},x=function(i){var p=h[i];if(p!==v){v=p;var c=a.featureIndexArray.get(p),f=null;a.loadMatchingFeature(g,c.bucketIndex,c.sourceLayerIndex,c.featureIndex,u,o.layers,o.availableImages,e,r,n,(function(e,r,n){return f||(f=Ra(e)),r.queryIntersectsFeature(l,e,n,f,a.z,t.transform,s,t.pixelPosMatrix)}));}},b=0;b<h.length;b++)x(b);return g},ep.prototype.loadMatchingFeature=function(t,e,r,n,i,a,o,s,u,l,p){var c=this.bucketLayerIDs[e];if(!a||function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return !0;return !1}(a,c)){var f=this.sourceLayerCoder.decode(r),y=this.vtLayers[f].feature(n);if(i.needGeometry){var d=Ua(y,!0);if(!i.filter(new si(this.tileID.overscaledZ),d,this.tileID.canonical))return}else if(!i.filter(new si(this.tileID.overscaledZ),y))return;for(var m=this.getId(y,f),v=0;v<c.length;v++){var g=c[v];if(!(a&&a.indexOf(g)<0)){var x=s[g];if(x){var b={};void 0!==m&&l&&(b=l.getState(x.sourceLayer||\"_geojsonTileLayer\",m));var w=h({},u[g]);w.paint=rp(w.paint,x.paint,y,b,o),w.layout=rp(w.layout,x.layout,y,b,o);var _=!p||p(y,x,b);if(_){var A=new Wl(y,this.z,this.x,this.y,m);A.layer=w;var S=t[g];void 0===S&&(S=t[g]=[]),S.push({featureIndex:n,feature:A,intersectionZ:_});}}}}}},ep.prototype.lookupSymbolFeatures=function(t,e,r,n,i,a,o,s){var u={};this.loadVTLayers();for(var l=on(i),p=0,c=t;p<c.length;p+=1)this.loadMatchingFeature(u,r,n,c[p],l,a,o,s,e);return u},ep.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,i=r[e];n<i.length;n+=1)if(t===i[n])return !0;return !1},ep.prototype.getId=function(t,e){var r=t.id;return this.promoteId&&\"boolean\"==typeof(r=t.properties[\"string\"==typeof this.promoteId?this.promoteId:this.promoteId[e]])&&(r=Number(r)),r},On(\"FeatureIndex\",ep,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});var ap=function(t,e){this.tileID=t,this.uid=y(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.expiredRequestCount=0,this.state=\"loading\";};ap.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<O.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e);},ap.prototype.wasRequested=function(){return \"errored\"===this.state||\"loaded\"===this.state||\"reloading\"===this.state},ap.prototype.loadVectorData=function(t,e,r){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",t){for(var n in t.featureIndex&&(this.latestFeatureIndex=t.featureIndex,t.rawTileData?(this.latestRawTileData=t.rawTileData,this.latestFeatureIndex.rawTileData=t.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=t.collisionBoxArray,this.buckets=function(t,e){var r={};if(!e)return r;for(var n=function(){var t=a[i],n=t.layerIds.map((function(t){return e.getLayer(t)})).filter(Boolean);if(0!==n.length){t.layers=n,t.stateDependentLayerIds&&(t.stateDependentLayers=t.stateDependentLayerIds.map((function(t){return n.filter((function(e){return e.id===t}))[0]})));for(var o=0,s=n;o<s.length;o+=1)r[s[o].id]=t;}},i=0,a=t;i<a.length;i+=1)n();return r}(t.buckets,e.style),this.hasSymbolBuckets=!1,this.buckets){var i=this.buckets[n];if(i instanceof vl){if(this.hasSymbolBuckets=!0,!r)break;i.justReloaded=!0;}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(var a in this.buckets){var o=this.buckets[a];if(o instanceof vl&&o.hasRTLText){this.hasRTLText=!0,oi.isLoading()||oi.isLoaded()||\"deferred\"!==ii()||ai();break}}for(var s in this.queryPadding=0,this.buckets){var u=this.buckets[s];this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(s).queryRadius(u));}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage);}else this.collisionBoxArray=new $i;},ap.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\";},ap.prototype.getBucket=function(t){return this.buckets[t.id]},ap.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploadPending()&&r.upload(t);}var n=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new Tl(t,this.imageAtlas.image,n.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new Tl(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null);},ap.prototype.prepare=function(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture);},ap.prototype.queryRenderedFeatures=function(t,e,r,n,i,a,o,s,u,l){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:n,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:l,transform:s,params:o,queryPadding:this.queryPadding*u},t,e,r):{}},ap.prototype.querySourceFeatures=function(t,e){var r=this.latestFeatureIndex;if(r&&r.rawTileData){var n=r.loadVTLayers(),i=e?e.sourceLayer:\"\",a=n._geojsonTileLayer||n[i];if(a)for(var o=on(e&&e.filter),s=this.tileID.canonical,u=s.z,l=s.x,p=s.y,c={z:u,x:l,y:p},h=0;h<a.length;h++){var f=a.feature(h);if(o.needGeometry){var y=Ua(f,!0);if(!o.filter(new si(this.tileID.overscaledZ),y,this.tileID.canonical))continue}else if(!o.filter(new si(this.tileID.overscaledZ),f))continue;var d=r.getId(f,i),m=new Wl(f,u,l,p,d);m.tile=c,t.push(m);}}},ap.prototype.hasData=function(){return \"loaded\"===this.state||\"reloading\"===this.state||\"expired\"===this.state},ap.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},ap.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=z(t.cacheControl);r[\"max-age\"]&&(this.expirationTime=Date.now()+1e3*r[\"max-age\"]);}else t.expires&&(this.expirationTime=new Date(t.expires).getTime());if(this.expirationTime){var n=Date.now(),i=!1;if(this.expirationTime>n)i=!1;else if(e)if(this.expirationTime<e)i=!0;else {var a=this.expirationTime-e;a?this.expirationTime=n+Math.max(a,3e4):i=!0;}else i=!0;i?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0;}},ap.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)},ap.prototype.setFeatureState=function(t,e){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData&&0!==Object.keys(t).length){var r=this.latestFeatureIndex.loadVTLayers();for(var n in this.buckets)if(e.style.hasLayer(n)){var i=this.buckets[n],a=i.layers[0].sourceLayer||\"_geojsonTileLayer\",o=r[a],s=t[a];if(o&&s&&0!==Object.keys(s).length){i.update(s,o,this.imageAtlas&&this.imageAtlas.patternPositions||{});var u=e&&e.style&&e.style.getLayer(n);u&&(this.queryPadding=Math.max(this.queryPadding,u.queryRadius(i)));}}}},ap.prototype.holdingForFade=function(){return void 0!==this.symbolFadeHoldUntil},ap.prototype.symbolFadeFinished=function(){return !this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<O.now()},ap.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0;},ap.prototype.setHoldDuration=function(t){this.symbolFadeHoldUntil=O.now()+t;},ap.prototype.setDependencies=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1)r[i[n]]=!0;this.dependencies[t]=r;},ap.prototype.hasDependency=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=this.dependencies[n[r]];if(i)for(var a=0,o=e;a<o.length;a+=1)if(i[o[a]])return !0}return !1};var op=o.performance,sp=function(t){this._marks={start:[t.url,\"start\"].join(\"#\"),end:[t.url,\"end\"].join(\"#\"),measure:t.url.toString()},op.mark(this._marks.start);};sp.prototype.finish=function(){op.mark(this._marks.end);var t=op.getEntriesByName(this._marks.measure);return 0===t.length&&(op.measure(this._marks.measure,this._marks.start,this._marks.end),t=op.getEntriesByName(this._marks.measure),op.clearMarks(this._marks.start),op.clearMarks(this._marks.end),op.clearMeasures(this._marks.measure)),t},t.Actor=Fl,t.AlphaImage=go,t.CanonicalTileID=Zl,t.CollisionBoxArray=$i,t.Color=te,t.DEMData=Yl,t.DataConstantProperty=mi,t.DictionaryCoder=$l,t.EXTENT=8192,t.ErrorEvent=zt,t.EvaluationParameters=si,t.Event=It,t.Evented=Ct,t.FeatureIndex=ep,t.FillBucket=ss,t.FillExtrusionBucket=Ss,t.ImageAtlas=bu,t.ImagePosition=gu,t.LineBucket=Fs,t.LngLat=Ol,t.LngLatBounds=Ll,t.MercatorCoordinate=Gl,t.ONE_EM=24,t.OverscaledTileID=Jl,t.Point=i,t.Point$1=i,t.Properties=wi,t.Protobuf=Ys,t.RGBAImage=xo,t.RequestManager=G,t.RequestPerformance=sp,t.ResourceType=yt,t.SegmentVector=sa,t.SourceFeatureState=tp,t.StructArrayLayout1ui2=Ji,t.StructArrayLayout2f1f2i16=Ri,t.StructArrayLayout2i4=Ci,t.StructArrayLayout3ui6=ji,t.StructArrayLayout4i8=Ei,t.SymbolBucket=vl,t.Texture=Tl,t.Tile=ap,t.Transitionable=pi,t.Uniform1f=ba,t.Uniform1i=xa,t.Uniform2f=wa,t.Uniform3f=_a,t.Uniform4f=Aa,t.UniformColor=Sa,t.UniformMatrix4f=Ia,t.UnwrappedTileID=Xl,t.ValidationError=Pt,t.WritingMode=wu,t.ZoomHistory=Kn,t.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},t.addDynamicAttributes=fl,t.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach((function(t,o){e(t,(function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i);}));}));},t.bezier=u,t.bindAll=v,t.browser=O,t.cacheEntryPossiblyAdded=function(t){++ht>ut&&(t.getActor().send(\"enforceCacheSizeLimit\",st),ht=0);},t.clamp=p,t.clearTileCache=function(t){var e=o.caches.delete(\"mapbox-tiles\");t&&e.catch(t).then((function(){return t()}));},t.clipLine=Zu,t.clone=function(t){var e=new ao(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=w,t.clone$2=function(t){var e=new ao(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=Gs,t.config=R,t.create=function(){var t=new ao(16);return ao!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new ao(9);return ao!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new ao(4);return ao!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=Zr,t.createLayout=Ii,t.createStyleLayer=function(t){return \"custom\"===t.type?new Il(t):new zl[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],u=r[2];return t[0]=i*u-a*s,t[1]=a*o-n*u,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return !1;for(var n=0;n<e.length;n++)if(!t(e[n],r[n]))return !1;return !0}if(\"object\"==typeof e&&null!==e&&null!==r){if(\"object\"!=typeof r)return !1;if(Object.keys(e).length!==Object.keys(r).length)return !1;for(var i in e)if(!t(e[i],r[i]))return !1;return !0}return e===r},t.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},t.dot$1=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.ease=l,t.emitValidationErrors=Bn,t.endsWith=g,t.enforceCacheSizeLimit=function(t){lt(),tt&&tt.then((function(e){e.keys().then((function(r){for(var n=0;n<r.length-t;n++)e.delete(r[n]);}));}));},t.evaluateSizeForFeature=Lu,t.evaluateSizeForZoom=Ou,t.evaluateVariableOffset=al,t.evented=ni,t.extend=h,t.featureFilter=on,t.filterObject=b,t.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},t.getAnchorAlignment=Bu,t.getAnchorJustification=ol,t.getArrayBuffer=bt,t.getImage=At,t.getJSON=function(t,e){return xt(h(t,{type:\"json\"}),e)},t.getRTLTextPluginStatus=ii,t.getReferrer=mt,t.getVideo=function(t,e){var r,n,i=o.document.createElement(\"video\");i.muted=!0,i.onloadstart=function(){e(null,i);};for(var a=0;a<t.length;a++){var s=o.document.createElement(\"source\");r=t[a],n=void 0,(n=o.document.createElement(\"a\")).href=r,(n.protocol!==o.document.location.protocol||n.host!==o.document.location.host)&&(i.crossOrigin=\"Anonymous\"),s.src=t[a],i.appendChild(s);}return {cancel:function(){}}},t.identity=oo,t.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],l=e[7],p=e[8],c=e[9],h=e[10],f=e[11],y=e[12],d=e[13],m=e[14],v=e[15],g=r*s-n*o,x=r*u-i*o,b=r*l-a*o,w=n*u-i*s,_=n*l-a*s,A=i*l-a*u,S=p*d-c*y,k=p*m-h*y,I=p*v-f*y,z=c*m-h*d,C=c*v-f*d,E=h*v-f*m,P=g*E-x*C+b*z+w*I-_*k+A*S;return P?(t[0]=(s*E-u*C+l*z)*(P=1/P),t[1]=(i*C-n*E-a*z)*P,t[2]=(d*A-m*_+v*w)*P,t[3]=(h*_-c*A-f*w)*P,t[4]=(u*I-o*E-l*k)*P,t[5]=(r*E-i*I+a*k)*P,t[6]=(m*b-y*A-v*x)*P,t[7]=(p*A-h*b+f*x)*P,t[8]=(o*C-s*I+l*S)*P,t[9]=(n*I-r*C-a*S)*P,t[10]=(y*_-d*b+v*g)*P,t[11]=(c*b-p*_-f*g)*P,t[12]=(s*k-o*z-u*S)*P,t[13]=(r*z-n*k+i*S)*P,t[14]=(d*x-y*w-m*g)*P,t[15]=(p*w-c*x+h*g)*P,t):null},t.isChar=Gn,t.isMapboxURL=Z,t.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},t.makeRequest=xt,t.mapObject=x,t.mercatorXfromLng=jl,t.mercatorYfromLat=ql,t.mercatorZfromAltitude=Nl,t.mul=lo,t.multiply=so,t.mvt=bs,t.nextPowerOfTwo=function(t){return t<=1?1:Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},t.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=Ke,t.offscreenCanvasSupported=ft,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),u=1/(n-i),l=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*l,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*u,t[14]=(o+a)*l,t[15]=1,t},t.parseGlyphPBF=function(t){return new Ys(t).readFields(yu,[])},t.pbf=Ys,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays(),t.tilePixelRatio=8192/(512*t.overscaling),t.compareText={},t.iconsNeedLinear=!1;var s=t.layers[0].layout,u=t.layers[0]._unevaluatedLayout._values,l={};if(\"composite\"===t.textSizeData.kind){var p=t.textSizeData,c=p.maxZoom;l.compositeTextSizes=[u[\"text-size\"].possiblyEvaluate(new si(p.minZoom),o),u[\"text-size\"].possiblyEvaluate(new si(c),o)];}if(\"composite\"===t.iconSizeData.kind){var h=t.iconSizeData,f=h.maxZoom;l.compositeIconSizes=[u[\"icon-size\"].possiblyEvaluate(new si(h.minZoom),o),u[\"icon-size\"].possiblyEvaluate(new si(f),o)];}l.layoutTextSize=u[\"text-size\"].possiblyEvaluate(new si(t.zoom+1),o),l.layoutIconSize=u[\"icon-size\"].possiblyEvaluate(new si(t.zoom+1),o),l.textMaxSize=u[\"text-size\"].possiblyEvaluate(new si(18));for(var y=24*s.get(\"text-line-height\"),d=\"map\"===s.get(\"text-rotation-alignment\")&&\"point\"!==s.get(\"symbol-placement\"),m=s.get(\"text-keep-upright\"),v=s.get(\"text-size\"),g=function(){var a=b[x],u=s.get(\"text-font\").evaluate(a,{},o).join(\",\"),p=v.evaluate(a,{},o),c=l.layoutTextSize.evaluate(a,{},o),h=l.layoutIconSize.evaluate(a,{},o),f={horizontal:{},vertical:void 0},g=a.text,w=[0,0];if(g){var _=g.toString(),S=24*s.get(\"text-letter-spacing\").evaluate(a,{},o),k=function(t){for(var e=0,r=t;e<r.length;e+=1)if(n=r[e].charCodeAt(0),Gn.Arabic(n)||Gn[\"Arabic Supplement\"](n)||Gn[\"Arabic Extended-A\"](n)||Gn[\"Arabic Presentation Forms-A\"](n)||Gn[\"Arabic Presentation Forms-B\"](n))return !1;var n;return !0}(_)?S:0,I=s.get(\"text-anchor\").evaluate(a,{},o),z=s.get(\"text-variable-anchor\");if(!z){var C=s.get(\"text-radial-offset\").evaluate(a,{},o);w=C?al(I,[24*C,il]):s.get(\"text-offset\").evaluate(a,{},o).map((function(t){return 24*t}));}var E=d?\"center\":s.get(\"text-justify\").evaluate(a,{},o),P=s.get(\"symbol-placement\"),M=\"point\"===P?24*s.get(\"text-max-width\").evaluate(a,{},o):0,B=function(){t.allowVerticalPlacement&&Zn(_)&&(f.vertical=Su(g,e,r,i,u,M,y,I,\"left\",k,w,wu.vertical,!0,P,c,p));};if(!d&&z){for(var T=\"auto\"===E?z.map((function(t){return ol(t)})):[E],V=!1,F=0;F<T.length;F++){var D=T[F];if(!f.horizontal[D])if(V)f.horizontal[D]=f.horizontal[0];else {var L=Su(g,e,r,i,u,M,y,\"center\",D,k,w,wu.horizontal,!1,P,c,p);L&&(f.horizontal[D]=L,V=1===L.positionedLines.length);}}B();}else {\"auto\"===E&&(E=ol(I));var O=Su(g,e,r,i,u,M,y,I,E,k,w,wu.horizontal,!1,P,c,p);O&&(f.horizontal[E]=O),B(),Zn(_)&&d&&m&&(f.vertical=Su(g,e,r,i,u,M,y,I,E,k,w,wu.vertical,!1,P,c,p));}}var R=void 0,U=!1;if(a.icon&&a.icon.name){var j=n[a.icon.name];j&&(R=function(t,e,r){var n=Bu(r),i=e[0]-t.displaySize[0]*n.horizontalAlign,a=e[1]-t.displaySize[1]*n.verticalAlign;return {image:t,top:a,bottom:a+t.displaySize[1],left:i,right:i+t.displaySize[0]}}(i[a.icon.name],s.get(\"icon-offset\").evaluate(a,{},o),s.get(\"icon-anchor\").evaluate(a,{},o)),U=j.sdf,void 0===t.sdfIcons?t.sdfIcons=j.sdf:t.sdfIcons!==j.sdf&&A(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(j.pixelRatio!==t.pixelRatio||0!==s.get(\"icon-rotate\").constantOr(1))&&(t.iconsNeedLinear=!0));}var q=ul(f.horizontal)||f.vertical;t.iconsInText=!!q&&q.iconsInText,(q||R)&&function(t,e,r,n,i,a,o,s,u,l,p){var c=a.textMaxSize.evaluate(e,{});void 0===c&&(c=o);var h,f=t.layers[0].layout,y=f.get(\"icon-offset\").evaluate(e,{},p),d=ul(r.horizontal),m=o/24,v=t.tilePixelRatio*m,g=t.tilePixelRatio*c/24,x=t.tilePixelRatio*s,b=t.tilePixelRatio*f.get(\"symbol-spacing\"),w=f.get(\"text-padding\")*t.tilePixelRatio,_=f.get(\"icon-padding\")*t.tilePixelRatio,S=f.get(\"text-max-angle\")/180*Math.PI,k=\"map\"===f.get(\"text-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),I=\"map\"===f.get(\"icon-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),z=f.get(\"symbol-placement\"),C=b/2,E=f.get(\"icon-text-fit\");n&&\"none\"!==E&&(t.allowVerticalPlacement&&r.vertical&&(h=Vu(n,r.vertical,E,f.get(\"icon-text-fit-padding\"),y,m)),d&&(n=Vu(n,d,E,f.get(\"icon-text-fit-padding\"),y,m)));var P=function(s,c){c.x<0||c.x>=8192||c.y<0||c.y>=8192||function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v,g,x,b,w,_,S,k){var I,z,C,E,P,M=t.addToLineVertexArray(e,r),B=0,T=0,V=0,F=0,D=-1,L=-1,O={},R=ha(\"\"),U=0,j=0;if(void 0===s._unevaluatedLayout.getValue(\"text-radial-offset\")?(U=(I=s.layout.get(\"text-offset\").evaluate(b,{},S).map((function(t){return 24*t})))[0],j=I[1]):(U=24*s.layout.get(\"text-radial-offset\").evaluate(b,{},S),j=il),t.allowVerticalPlacement&&n.vertical){var q=s.layout.get(\"text-rotate\").evaluate(b,{},S)+90;E=new Wu(u,e,l,p,c,n.vertical,h,f,y,q),o&&(P=new Wu(u,e,l,p,c,o,m,v,y,q));}if(i){var N=s.layout.get(\"icon-rotate\").evaluate(b,{}),K=\"none\"!==s.layout.get(\"icon-text-fit\"),G=Xu(i,N,_,K),Z=o?Xu(o,N,_,K):void 0;C=new Wu(u,e,l,p,c,i,m,v,!1,N),B=4*G.length;var X=t.iconSizeData,J=null;\"source\"===X.kind?(J=[128*s.layout.get(\"icon-size\").evaluate(b,{})])[0]>32640&&A(t.layerIds[0]+': Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".'):\"composite\"===X.kind&&((J=[128*w.compositeIconSizes[0].evaluate(b,{},S),128*w.compositeIconSizes[1].evaluate(b,{},S)])[0]>32640||J[1]>32640)&&A(t.layerIds[0]+': Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".'),t.addSymbols(t.icon,G,J,x,g,b,!1,e,M.lineStartIndex,M.lineLength,-1,S),D=t.icon.placedSymbolArray.length-1,Z&&(T=4*Z.length,t.addSymbols(t.icon,Z,J,x,g,b,wu.vertical,e,M.lineStartIndex,M.lineLength,-1,S),L=t.icon.placedSymbolArray.length-1);}for(var H in n.horizontal){var Y=n.horizontal[H];if(!z){R=ha(Y.text);var $=s.layout.get(\"text-rotate\").evaluate(b,{},S);z=new Wu(u,e,l,p,c,Y,h,f,y,$);}var W=1===Y.positionedLines.length;if(V+=sl(t,e,Y,a,s,y,b,d,M,n.vertical?wu.horizontal:wu.horizontalOnly,W?Object.keys(n.horizontal):[H],O,D,w,S),W)break}n.vertical&&(F+=sl(t,e,n.vertical,a,s,y,b,d,M,wu.vertical,[\"vertical\"],O,L,w,S));var Q=z?z.boxStartIndex:t.collisionBoxArray.length,tt=z?z.boxEndIndex:t.collisionBoxArray.length,et=E?E.boxStartIndex:t.collisionBoxArray.length,rt=E?E.boxEndIndex:t.collisionBoxArray.length,nt=C?C.boxStartIndex:t.collisionBoxArray.length,it=C?C.boxEndIndex:t.collisionBoxArray.length,at=P?P.boxStartIndex:t.collisionBoxArray.length,ot=P?P.boxEndIndex:t.collisionBoxArray.length,st=-1,ut=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};st=ut(z,st),st=ut(E,st),st=ut(C,st);var lt=(st=ut(P,st))>-1?1:0;lt&&(st*=k/24),t.glyphOffsetArray.length>=vl.MAX_GLYPHS&&A(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,O.right>=0?O.right:-1,O.center>=0?O.center:-1,O.left>=0?O.left:-1,O.vertical||-1,D,L,R,Q,tt,et,rt,nt,it,at,ot,l,V,F,B,T,lt,0,h,U,j,st);}(t,c,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,v,w,k,u,x,_,I,y,e,a,l,p,o);};if(\"line\"===z)for(var M=0,B=Zu(e.geometry,0,0,8192,8192);M<B.length;M+=1)for(var T=B[M],V=0,F=Gu(T,b,S,r.vertical||d,n,24,g,t.overscaling,8192);V<F.length;V+=1){var D=F[V];d&&ll(t,d.text,C,D)||P(T,D);}else if(\"line-center\"===z)for(var L=0,O=e.geometry;L<O.length;L+=1){var R=O[L];if(R.length>1){var U=Ku(R,S,r.vertical||d,n,24,g);U&&P(R,U);}}else if(\"Polygon\"===e.type)for(var j=0,q=ns(e.geometry,0);j<q.length;j+=1){var N=q[j],K=el(N,16);P(N[0],new Fu(K.x,K.y,0));}else if(\"LineString\"===e.type)for(var G=0,Z=e.geometry;G<Z.length;G+=1){var X=Z[G];P(X,new Fu(X[0].x,X[0].y,0));}else if(\"Point\"===e.type)for(var J=0,H=e.geometry;J<H.length;J+=1)for(var Y=0,$=H[J];Y<$.length;Y+=1){var W=$[Y];P([W],new Fu(W.x,W.y,0));}}(t,a,f,R,n,l,c,h,w,U,o);},x=0,b=t.features;x<b.length;x+=1)g();a&&t.generateCollisionDebugBuffers();},t.perspective=function(t,e,r,n,i){var a,o=1/Math.tan(e/2);return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=i&&i!==1/0?(t[10]=(i+n)*(a=1/(n-i)),t[14]=2*i*n*a):(t[10]=-1,t[14]=-2*n),t},t.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i]);}return r},t.plugin=oi,t.polygonIntersectsPolygon=Na,t.postMapLoadEvent=ot,t.postTurnstileEvent=it,t.potpack=vu,t.refProperties=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"],t.register=On,t.registerForPluginStateChange=function(t){return t({pluginStatus:Qn,pluginURL:ti}),ni.on(\"pluginStateChange\",t),t},t.renderColorRamp=wo,t.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),u=Math.cos(r);return t[0]=n*u+a*s,t[1]=i*u+o*s,t[2]=n*-s+a*u,t[3]=i*-s+o*u,t},t.rotateX=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],u=e[7],l=e[8],p=e[9],c=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+l*n,t[5]=o*i+p*n,t[6]=s*i+c*n,t[7]=u*i+h*n,t[8]=l*i-a*n,t[9]=p*i-o*n,t[10]=c*i-s*n,t[11]=h*i-u*n,t},t.rotateZ=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],u=e[3],l=e[4],p=e[5],c=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+l*n,t[1]=o*i+p*n,t[2]=s*i+c*n,t[3]=u*i+h*n,t[4]=l*i-a*n,t[5]=p*i-o*n,t[6]=c*i-s*n,t[7]=h*i-u*n,t},t.scale=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.scale$1=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t},t.scale$2=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},t.setCacheLimits=function(t,e){st=t,ut=e;},t.setRTLTextPlugin=function(t,e,r){if(void 0===r&&(r=!1),\"deferred\"===Qn||\"loading\"===Qn||\"loaded\"===Qn)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");ti=O.resolveURL(t),Qn=\"deferred\",Wn=e,ri(),r||ai();},t.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},t.sqrLen=function(t){var e=t[0],r=t[1];return e*e+r*r},t.styleSpec=Et,t.sub=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t},t.symbolSize=Ru,t.transformMat3=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t},t.transformMat4=po,t.translate=function(t,e,r){var n,i,a,o,s,u,l,p,c,h,f,y,d=r[0],m=r[1],v=r[2];return e===t?(t[12]=e[0]*d+e[4]*m+e[8]*v+e[12],t[13]=e[1]*d+e[5]*m+e[9]*v+e[13],t[14]=e[2]*d+e[6]*m+e[10]*v+e[14],t[15]=e[3]*d+e[7]*m+e[11]*v+e[15]):(i=e[1],a=e[2],o=e[3],s=e[4],u=e[5],l=e[6],p=e[7],c=e[8],h=e[9],f=e[10],y=e[11],t[0]=n=e[0],t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=u,t[6]=l,t[7]=p,t[8]=c,t[9]=h,t[10]=f,t[11]=y,t[12]=n*d+s*m+c*v+e[12],t[13]=i*d+u*m+h*v+e[13],t[14]=a*d+l*m+f*v+e[14],t[15]=o*d+p*m+y*v+e[15]),t},t.triggerPluginCompletionEvent=ei,t.uniqueId=y,t.validateCustomStyleLayer=function(t){var e=[],r=t.id;return void 0===r&&e.push({message:\"layers.\"+r+': missing required property \"id\"'}),void 0===t.render&&e.push({message:\"layers.\"+r+': missing required method \"render\"'}),t.renderingMode&&\"2d\"!==t.renderingMode&&\"3d\"!==t.renderingMode&&e.push({message:\"layers.\"+r+': property \"renderingMode\" must be either \"2d\" or \"3d\"'}),e},t.validateLight=En,t.validateStyle=Cn,t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.vectorTile=bs,t.version=\"1.13.3\",t.warnOnce=A,t.webpSupported=U,t.window=o,t.wrap=c;}));\n\ndefine([\"./shared\"],(function(e){\"use strict\";function t(e){var r=typeof e;if(\"number\"===r||\"boolean\"===r||\"string\"===r||null==e)return JSON.stringify(e);if(Array.isArray(e)){for(var i=\"[\",o=0,n=e;o<n.length;o+=1)i+=t(n[o])+\",\";return i+\"]\"}for(var a=Object.keys(e).sort(),s=\"{\",l=0;l<a.length;l++)s+=JSON.stringify(a[l])+\":\"+t(e[a[l]])+\",\";return s+\"}\"}function r(r){for(var i=\"\",o=0,n=e.refProperties;o<n.length;o+=1)i+=\"/\"+t(r[n[o]]);return i}var i=function(e){this.keyCache={},e&&this.replace(e);};i.prototype.replace=function(e){this._layerConfigs={},this._layers={},this.update(e,[]);},i.prototype.update=function(t,i){for(var o=this,n=0,a=t;n<a.length;n+=1){var s=a[n];this._layerConfigs[s.id]=s;var l=this._layers[s.id]=e.createStyleLayer(s);l._featureFilter=e.featureFilter(l.filter),this.keyCache[s.id]&&delete this.keyCache[s.id];}for(var u=0,h=i;u<h.length;u+=1){var c=h[u];delete this.keyCache[c],delete this._layerConfigs[c],delete this._layers[c];}this.familiesBySource={};for(var p=0,f=function(e,t){for(var i={},o=0;o<e.length;o++){var n=t&&t[e[o].id]||r(e[o]);t&&(t[e[o].id]=n);var a=i[n];a||(a=i[n]=[]),a.push(e[o]);}var s=[];for(var l in i)s.push(i[l]);return s}(e.values(this._layerConfigs),this.keyCache);p<f.length;p+=1){var d=f[p].map((function(e){return o._layers[e.id]})),g=d[0];if(\"none\"!==g.visibility){var v=g.source||\"\",m=this.familiesBySource[v];m||(m=this.familiesBySource[v]={});var y=g.sourceLayer||\"_geojsonTileLayer\",x=m[y];x||(x=m[y]=[]),x.push(d);}}};var o=function(t){var r={},i=[];for(var o in t){var n=t[o],a=r[o]={};for(var s in n){var l=n[+s];if(l&&0!==l.bitmap.width&&0!==l.bitmap.height){var u={x:0,y:0,w:l.bitmap.width+2,h:l.bitmap.height+2};i.push(u),a[s]={rect:u,metrics:l.metrics};}}}var h=e.potpack(i),c=new e.AlphaImage({width:h.w||1,height:h.h||1});for(var p in t){var f=t[p];for(var d in f){var g=f[+d];if(g&&0!==g.bitmap.width&&0!==g.bitmap.height){var v=r[p][d].rect;e.AlphaImage.copy(g.bitmap,c,{x:0,y:0},{x:v.x+1,y:v.y+1},g.bitmap);}}}this.image=c,this.positions=r;};e.register(\"GlyphAtlas\",o);var n=function(t){this.tileID=new e.OverscaledTileID(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.returnDependencies=!!t.returnDependencies,this.promoteId=t.promoteId;};function a(t,r,i){for(var o=new e.EvaluationParameters(r),n=0,a=t;n<a.length;n+=1)a[n].recalculate(o,i);}function s(t,r){var i=e.getArrayBuffer(t.request,(function(t,i,o,n){t?r(t):i&&r(null,{vectorTile:new e.vectorTile.VectorTile(new e.pbf(i)),rawData:i,cacheControl:o,expires:n});}));return function(){i.cancel(),r();}}n.prototype.parse=function(t,r,i,n,s){var l=this;this.status=\"parsing\",this.data=t,this.collisionBoxArray=new e.CollisionBoxArray;var u=new e.DictionaryCoder(Object.keys(t.layers).sort()),h=new e.FeatureIndex(this.tileID,this.promoteId);h.bucketLayerIDs=[];var c,p,f,d,g={},v={featureIndex:h,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:i},m=r.familiesBySource[this.source];for(var y in m){var x=t.layers[y];if(x){1===x.version&&e.warnOnce('Vector tile source \"'+this.source+'\" layer \"'+y+'\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var w=u.encode(y),S=[],I=0;I<x.length;I++){var M=x.feature(I),b=h.getId(M,y);S.push({feature:M,id:b,index:I,sourceLayerIndex:w});}for(var _=0,k=m[y];_<k.length;_+=1){var P=k[_],T=P[0];T.minzoom&&this.zoom<Math.floor(T.minzoom)||T.maxzoom&&this.zoom>=T.maxzoom||\"none\"!==T.visibility&&(a(P,this.zoom,i),(g[T.id]=T.createBucket({index:h.bucketLayerIDs.length,layers:P,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:w,sourceID:this.source})).populate(S,v,this.tileID.canonical),h.bucketLayerIDs.push(P.map((function(e){return e.id}))));}}}var C=e.mapObject(v.glyphDependencies,(function(e){return Object.keys(e).map(Number)}));Object.keys(C).length?n.send(\"getGlyphs\",{uid:this.uid,stacks:C},(function(e,t){c||(c=e,p=t,z.call(l));})):p={};var D=Object.keys(v.iconDependencies);D.length?n.send(\"getImages\",{icons:D,source:this.source,tileID:this.tileID,type:\"icons\"},(function(e,t){c||(c=e,f=t,z.call(l));})):f={};var L=Object.keys(v.patternDependencies);function z(){if(c)return s(c);if(p&&f&&d){var t=new o(p),r=new e.ImageAtlas(f,d);for(var n in g){var l=g[n];l instanceof e.SymbolBucket?(a(l.layers,this.zoom,i),e.performSymbolLayout(l,p,t.positions,f,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof e.LineBucket||l instanceof e.FillBucket||l instanceof e.FillExtrusionBucket)&&(a(l.layers,this.zoom,i),l.addFeatures(v,this.tileID.canonical,r.patternPositions));}this.status=\"done\",s(null,{buckets:e.values(g).filter((function(e){return !e.isEmpty()})),featureIndex:h,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,imageAtlas:r,glyphMap:this.returnDependencies?p:null,iconMap:this.returnDependencies?f:null,glyphPositions:this.returnDependencies?t.positions:null});}}L.length?n.send(\"getImages\",{icons:L,source:this.source,tileID:this.tileID,type:\"patterns\"},(function(e,t){c||(c=e,d=t,z.call(l));})):d={},z.call(this);};var l=function(e,t,r,i){this.actor=e,this.layerIndex=t,this.availableImages=r,this.loadVectorData=i||s,this.loading={},this.loaded={};};l.prototype.loadTile=function(t,r){var i=this,o=t.uid;this.loading||(this.loading={});var a=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.RequestPerformance(t.request),s=this.loading[o]=new n(t);s.abort=this.loadVectorData(t,(function(t,n){if(delete i.loading[o],t||!n)return s.status=\"done\",i.loaded[o]=s,r(t);var l=n.rawData,u={};n.expires&&(u.expires=n.expires),n.cacheControl&&(u.cacheControl=n.cacheControl);var h={};if(a){var c=a.finish();c&&(h.resourceTiming=JSON.parse(JSON.stringify(c)));}s.vectorTile=n.vectorTile,s.parse(n.vectorTile,i.layerIndex,i.availableImages,i.actor,(function(t,i){if(t||!i)return r(t);r(null,e.extend({rawTileData:l.slice(0)},i,u,h));})),i.loaded=i.loaded||{},i.loaded[o]=s;}));},l.prototype.reloadTile=function(e,t){var r=this,i=this.loaded,o=e.uid,n=this;if(i&&i[o]){var a=i[o];a.showCollisionBoxes=e.showCollisionBoxes;var s=function(e,i){var o=a.reloadCallback;o&&(delete a.reloadCallback,a.parse(a.vectorTile,n.layerIndex,r.availableImages,n.actor,o)),t(e,i);};\"parsing\"===a.status?a.reloadCallback=s:\"done\"===a.status&&(a.vectorTile?a.parse(a.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s());}},l.prototype.abortTile=function(e,t){var r=this.loading,i=e.uid;r&&r[i]&&r[i].abort&&(r[i].abort(),delete r[i]),t();},l.prototype.removeTile=function(e,t){var r=this.loaded,i=e.uid;r&&r[i]&&delete r[i],t();};var u=e.window.ImageBitmap,h=function(){this.loaded={};};function c(e,t){if(0!==e.length){p(e[0],t);for(var r=1;r<e.length;r++)p(e[r],!t);}}function p(e,t){for(var r=0,i=0,o=0,n=e.length,a=n-1;o<n;a=o++){var s=(e[o][0]-e[a][0])*(e[a][1]+e[o][1]),l=r+s;i+=Math.abs(r)>=Math.abs(s)?r-l+s:s-l+r,r=l;}r+i>=0!=!!t&&e.reverse();}h.prototype.loadTile=function(t,r){var i=t.uid,o=t.encoding,n=t.rawImageData,a=u&&n instanceof u?this.getImageData(n):n,s=new e.DEMData(i,a,o);this.loaded=this.loaded||{},this.loaded[i]=s,r(null,s);},h.prototype.getImageData=function(t){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(t.width,t.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\")),this.offscreenCanvas.width=t.width,this.offscreenCanvas.height=t.height,this.offscreenCanvasContext.drawImage(t,0,0,t.width,t.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,t.width+2,t.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new e.RGBAImage({width:r.width,height:r.height},r.data)},h.prototype.removeTile=function(e){var t=this.loaded,r=e.uid;t&&t[r]&&delete t[r];};var f=e.vectorTile.VectorTileFeature.prototype.toGeoJSON,d=function(t){this._feature=t,this.extent=e.EXTENT,this.type=t.type,this.properties=t.tags,\"id\"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10));};d.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],r=0,i=this._feature.geometry;r<i.length;r+=1){var o=i[r];t.push([new e.Point$1(o[0],o[1])]);}return t}for(var n=[],a=0,s=this._feature.geometry;a<s.length;a+=1){for(var l=[],u=0,h=s[a];u<h.length;u+=1){var c=h[u];l.push(new e.Point$1(c[0],c[1]));}n.push(l);}return n},d.prototype.toGeoJSON=function(e,t,r){return f.call(this,e,t,r)};var g=function(t){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=e.EXTENT,this.length=t.length,this._features=t;};g.prototype.feature=function(e){return new d(this._features[e])};var v=e.vectorTile.VectorTileFeature,m=y;function y(e,t){this.options=t||{},this.features=e,this.length=e.length;}function x(e,t){this.id=\"number\"==typeof e.id?e.id:void 0,this.type=e.type,this.rawGeometry=1===e.type?[e.geometry]:e.geometry,this.properties=e.tags,this.extent=t||4096;}y.prototype.feature=function(e){return new x(this.features[e],this.options.extent)},x.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var r=0;r<t.length;r++){for(var i=t[r],o=[],n=0;n<i.length;n++)o.push(new e.Point$1(i[n][0],i[n][1]));this.geometry.push(o);}return this.geometry},x.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var e=this.geometry,t=1/0,r=-1/0,i=1/0,o=-1/0,n=0;n<e.length;n++)for(var a=e[n],s=0;s<a.length;s++){var l=a[s];t=Math.min(t,l.x),r=Math.max(r,l.x),i=Math.min(i,l.y),o=Math.max(o,l.y);}return [t,i,r,o]},x.prototype.toGeoJSON=v.prototype.toGeoJSON;var w=I,S=m;function I(t){var r=new e.pbf;return function(e,t){for(var r in e.layers)t.writeMessage(3,M,e.layers[r]);}(t,r),r.finish()}function M(e,t){var r;t.writeVarintField(15,e.version||1),t.writeStringField(1,e.name||\"\"),t.writeVarintField(5,e.extent||4096);var i={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<e.length;r++)i.feature=e.feature(r),t.writeMessage(2,b,i);var o=i.keys;for(r=0;r<o.length;r++)t.writeStringField(3,o[r]);var n=i.values;for(r=0;r<n.length;r++)t.writeMessage(4,C,n[r]);}function b(e,t){var r=e.feature;void 0!==r.id&&t.writeVarintField(1,r.id),t.writeMessage(2,_,e),t.writeVarintField(3,r.type),t.writeMessage(4,T,r);}function _(e,t){var r=e.feature,i=e.keys,o=e.values,n=e.keycache,a=e.valuecache;for(var s in r.properties){var l=n[s];void 0===l&&(i.push(s),n[s]=l=i.length-1),t.writeVarint(l);var u=r.properties[s],h=typeof u;\"string\"!==h&&\"boolean\"!==h&&\"number\"!==h&&(u=JSON.stringify(u));var c=h+\":\"+u,p=a[c];void 0===p&&(o.push(u),a[c]=p=o.length-1),t.writeVarint(p);}}function k(e,t){return (t<<3)+(7&e)}function P(e){return e<<1^e>>31}function T(e,t){for(var r=e.loadGeometry(),i=e.type,o=0,n=0,a=r.length,s=0;s<a;s++){var l=r[s],u=1;1===i&&(u=l.length),t.writeVarint(k(1,u));for(var h=3===i?l.length-1:l.length,c=0;c<h;c++){1===c&&1!==i&&t.writeVarint(k(2,h-1));var p=l[c].x-o,f=l[c].y-n;t.writeVarint(P(p)),t.writeVarint(P(f)),o+=p,n+=f;}3===i&&t.writeVarint(k(7,1));}}function C(e,t){var r=typeof e;\"string\"===r?t.writeStringField(1,e):\"boolean\"===r?t.writeBooleanField(7,e):\"number\"===r&&(e%1!=0?t.writeDoubleField(3,e):e<0?t.writeSVarintField(6,e):t.writeVarintField(5,e));}function D(e,t,r,i){L(e,r,i),L(t,2*r,2*i),L(t,2*r+1,2*i+1);}function L(e,t,r){var i=e[t];e[t]=e[r],e[r]=i;}function z(e,t,r,i){var o=e-r,n=t-i;return o*o+n*n}w.fromVectorTileJs=I,w.fromGeojsonVt=function(e,t){t=t||{};var r={};for(var i in e)r[i]=new m(e[i].features,t),r[i].name=i,r[i].version=t.version,r[i].extent=t.extent;return I({layers:r})},w.GeoJSONWrapper=S;var O=function(e){return e[0]},E=function(e){return e[1]},F=function(e,t,r,i,o){void 0===t&&(t=O),void 0===r&&(r=E),void 0===i&&(i=64),void 0===o&&(o=Float64Array),this.nodeSize=i,this.points=e;for(var n=e.length<65536?Uint16Array:Uint32Array,a=this.ids=new n(e.length),s=this.coords=new o(2*e.length),l=0;l<e.length;l++)a[l]=l,s[2*l]=t(e[l]),s[2*l+1]=r(e[l]);!function e(t,r,i,o,n,a){if(!(n-o<=i)){var s=o+n>>1;!function e(t,r,i,o,n,a){for(;n>o;){if(n-o>600){var s=n-o+1,l=i-o+1,u=Math.log(s),h=.5*Math.exp(2*u/3),c=.5*Math.sqrt(u*h*(s-h)/s)*(l-s/2<0?-1:1);e(t,r,i,Math.max(o,Math.floor(i-l*h/s+c)),Math.min(n,Math.floor(i+(s-l)*h/s+c)),a);}var p=r[2*i+a],f=o,d=n;for(D(t,r,o,i),r[2*n+a]>p&&D(t,r,o,n);f<d;){for(D(t,r,f,d),f++,d--;r[2*f+a]<p;)f++;for(;r[2*d+a]>p;)d--;}r[2*o+a]===p?D(t,r,o,d):D(t,r,++d,n),d<=i&&(o=d+1),i<=d&&(n=d-1);}}(t,r,s,o,n,a%2),e(t,r,i,o,s-1,a+1),e(t,r,i,s+1,n,a+1);}}(a,s,i,0,a.length-1,0);};F.prototype.range=function(e,t,r,i){return function(e,t,r,i,o,n,a){for(var s,l,u=[0,e.length-1,0],h=[];u.length;){var c=u.pop(),p=u.pop(),f=u.pop();if(p-f<=a)for(var d=f;d<=p;d++)l=t[2*d+1],(s=t[2*d])>=r&&s<=o&&l>=i&&l<=n&&h.push(e[d]);else {var g=Math.floor((f+p)/2);l=t[2*g+1],(s=t[2*g])>=r&&s<=o&&l>=i&&l<=n&&h.push(e[g]);var v=(c+1)%2;(0===c?r<=s:i<=l)&&(u.push(f),u.push(g-1),u.push(v)),(0===c?o>=s:n>=l)&&(u.push(g+1),u.push(p),u.push(v));}}return h}(this.ids,this.coords,e,t,r,i,this.nodeSize)},F.prototype.within=function(e,t,r){return function(e,t,r,i,o,n){for(var a=[0,e.length-1,0],s=[],l=o*o;a.length;){var u=a.pop(),h=a.pop(),c=a.pop();if(h-c<=n)for(var p=c;p<=h;p++)z(t[2*p],t[2*p+1],r,i)<=l&&s.push(e[p]);else {var f=Math.floor((c+h)/2),d=t[2*f],g=t[2*f+1];z(d,g,r,i)<=l&&s.push(e[f]);var v=(u+1)%2;(0===u?r-o<=d:i-o<=g)&&(a.push(c),a.push(f-1),a.push(v)),(0===u?r+o>=d:i+o>=g)&&(a.push(f+1),a.push(h),a.push(v));}}return s}(this.ids,this.coords,e,t,r,this.nodeSize)};var N={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(e){return e}},J=function(e){this.options=V(Object.create(N),e),this.trees=new Array(this.options.maxZoom+1);};function Z(e,t,r,i,o){return {x:e,y:t,zoom:1/0,id:r,parentId:-1,numPoints:i,properties:o}}function A(e,t){var r=e.geometry.coordinates,i=r[1];return {x:Y(r[0]),y:j(i),zoom:1/0,index:t,parentId:-1}}function B(e){return {type:\"Feature\",id:e.id,properties:G(e),geometry:{type:\"Point\",coordinates:[(i=e.x,360*(i-.5)),(t=e.y,r=(180-360*t)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var t,r,i;}function G(e){var t=e.numPoints,r=t>=1e4?Math.round(t/1e3)+\"k\":t>=1e3?Math.round(t/100)/10+\"k\":t;return V(V({},e.properties),{cluster:!0,cluster_id:e.id,point_count:t,point_count_abbreviated:r})}function Y(e){return e/360+.5}function j(e){var t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function V(e,t){for(var r in t)e[r]=t[r];return e}function X(e){return e.x}function W(e){return e.y}function R(e,t,r,i,o,n){var a=o-r,s=n-i;if(0!==a||0!==s){var l=((e-r)*a+(t-i)*s)/(a*a+s*s);l>1?(r=o,i=n):l>0&&(r+=a*l,i+=s*l);}return (a=e-r)*a+(s=t-i)*s}function q(e,t,r,i){var o={id:void 0===e?null:e,type:t,geometry:r,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,r=e.type;if(\"Point\"===r||\"MultiPoint\"===r||\"LineString\"===r)U(e,t);else if(\"Polygon\"===r||\"MultiLineString\"===r)for(var i=0;i<t.length;i++)U(e,t[i]);else if(\"MultiPolygon\"===r)for(i=0;i<t.length;i++)for(var o=0;o<t[i].length;o++)U(e,t[i][o]);}(o),o}function U(e,t){for(var r=0;r<t.length;r+=3)e.minX=Math.min(e.minX,t[r]),e.minY=Math.min(e.minY,t[r+1]),e.maxX=Math.max(e.maxX,t[r]),e.maxY=Math.max(e.maxY,t[r+1]);}function $(e,t,r,i){if(t.geometry){var o=t.geometry.coordinates,n=t.geometry.type,a=Math.pow(r.tolerance/((1<<r.maxZoom)*r.extent),2),s=[],l=t.id;if(r.promoteId?l=t.properties[r.promoteId]:r.generateId&&(l=i||0),\"Point\"===n)H(o,s);else if(\"MultiPoint\"===n)for(var u=0;u<o.length;u++)H(o[u],s);else if(\"LineString\"===n)K(o,s,a,!1);else if(\"MultiLineString\"===n){if(r.lineMetrics){for(u=0;u<o.length;u++)K(o[u],s=[],a,!1),e.push(q(l,\"LineString\",s,t.properties));return}Q(o,s,a,!1);}else if(\"Polygon\"===n)Q(o,s,a,!0);else {if(\"MultiPolygon\"!==n){if(\"GeometryCollection\"===n){for(u=0;u<t.geometry.geometries.length;u++)$(e,{id:l,geometry:t.geometry.geometries[u],properties:t.properties},r,i);return}throw new Error(\"Input data is not a valid GeoJSON object.\")}for(u=0;u<o.length;u++){var h=[];Q(o[u],h,a,!0),s.push(h);}}e.push(q(l,n,s,t.properties));}}function H(e,t){t.push(ee(e[0])),t.push(te(e[1])),t.push(0);}function K(e,t,r,i){for(var o,n,a=0,s=0;s<e.length;s++){var l=ee(e[s][0]),u=te(e[s][1]);t.push(l),t.push(u),t.push(0),s>0&&(a+=i?(o*u-l*n)/2:Math.sqrt(Math.pow(l-o,2)+Math.pow(u-n,2))),o=l,n=u;}var h=t.length-3;t[2]=1,function e(t,r,i,o){for(var n,a=o,s=i-r>>1,l=i-r,u=t[r],h=t[r+1],c=t[i],p=t[i+1],f=r+3;f<i;f+=3){var d=R(t[f],t[f+1],u,h,c,p);if(d>a)n=f,a=d;else if(d===a){var g=Math.abs(f-s);g<l&&(n=f,l=g);}}a>o&&(n-r>3&&e(t,r,n,o),t[n+2]=a,i-n>3&&e(t,n,i,o));}(t,0,h,r),t[h+2]=1,t.size=Math.abs(a),t.start=0,t.end=t.size;}function Q(e,t,r,i){for(var o=0;o<e.length;o++){var n=[];K(e[o],n,r,i),t.push(n);}}function ee(e){return e/360+.5}function te(e){var t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function re(e,t,r,i,o,n,a,s){if(i/=t,n>=(r/=t)&&a<i)return e;if(a<r||n>=i)return null;for(var l=[],u=0;u<e.length;u++){var h=e[u],c=h.geometry,p=h.type,f=0===o?h.minX:h.minY,d=0===o?h.maxX:h.maxY;if(f>=r&&d<i)l.push(h);else if(!(d<r||f>=i)){var g=[];if(\"Point\"===p||\"MultiPoint\"===p)ie(c,g,r,i,o);else if(\"LineString\"===p)oe(c,g,r,i,o,!1,s.lineMetrics);else if(\"MultiLineString\"===p)ae(c,g,r,i,o,!1);else if(\"Polygon\"===p)ae(c,g,r,i,o,!0);else if(\"MultiPolygon\"===p)for(var v=0;v<c.length;v++){var m=[];ae(c[v],m,r,i,o,!0),m.length&&g.push(m);}if(g.length){if(s.lineMetrics&&\"LineString\"===p){for(v=0;v<g.length;v++)l.push(q(h.id,p,g[v],h.tags));continue}\"LineString\"!==p&&\"MultiLineString\"!==p||(1===g.length?(p=\"LineString\",g=g[0]):p=\"MultiLineString\"),\"Point\"!==p&&\"MultiPoint\"!==p||(p=3===g.length?\"Point\":\"MultiPoint\"),l.push(q(h.id,p,g,h.tags));}}}return l.length?l:null}function ie(e,t,r,i,o){for(var n=0;n<e.length;n+=3){var a=e[n+o];a>=r&&a<=i&&(t.push(e[n]),t.push(e[n+1]),t.push(e[n+2]));}}function oe(e,t,r,i,o,n,a){for(var s,l,u=ne(e),h=0===o?le:ue,c=e.start,p=0;p<e.length-3;p+=3){var f=e[p],d=e[p+1],g=e[p+2],v=e[p+3],m=e[p+4],y=0===o?f:d,x=0===o?v:m,w=!1;a&&(s=Math.sqrt(Math.pow(f-v,2)+Math.pow(d-m,2))),y<r?x>r&&(l=h(u,f,d,v,m,r),a&&(u.start=c+s*l)):y>i?x<i&&(l=h(u,f,d,v,m,i),a&&(u.start=c+s*l)):se(u,f,d,g),x<r&&y>=r&&(l=h(u,f,d,v,m,r),w=!0),x>i&&y<=i&&(l=h(u,f,d,v,m,i),w=!0),!n&&w&&(a&&(u.end=c+s*l),t.push(u),u=ne(e)),a&&(c+=s);}var S=e.length-3;f=e[S],d=e[S+1],g=e[S+2],(y=0===o?f:d)>=r&&y<=i&&se(u,f,d,g),S=u.length-3,n&&S>=3&&(u[S]!==u[0]||u[S+1]!==u[1])&&se(u,u[0],u[1],u[2]),u.length&&t.push(u);}function ne(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function ae(e,t,r,i,o,n){for(var a=0;a<e.length;a++)oe(e[a],t,r,i,o,n,!1);}function se(e,t,r,i){e.push(t),e.push(r),e.push(i);}function le(e,t,r,i,o,n){var a=(n-t)/(i-t);return e.push(n),e.push(r+(o-r)*a),e.push(1),a}function ue(e,t,r,i,o,n){var a=(n-r)/(o-r);return e.push(t+(i-t)*a),e.push(n),e.push(1),a}function he(e,t){for(var r=[],i=0;i<e.length;i++){var o,n=e[i],a=n.type;if(\"Point\"===a||\"MultiPoint\"===a||\"LineString\"===a)o=ce(n.geometry,t);else if(\"MultiLineString\"===a||\"Polygon\"===a){o=[];for(var s=0;s<n.geometry.length;s++)o.push(ce(n.geometry[s],t));}else if(\"MultiPolygon\"===a)for(o=[],s=0;s<n.geometry.length;s++){for(var l=[],u=0;u<n.geometry[s].length;u++)l.push(ce(n.geometry[s][u],t));o.push(l);}r.push(q(n.id,a,o,n.tags));}return r}function ce(e,t){var r=[];r.size=e.size,void 0!==e.start&&(r.start=e.start,r.end=e.end);for(var i=0;i<e.length;i+=3)r.push(e[i]+t,e[i+1],e[i+2]);return r}function pe(e,t){if(e.transformed)return e;var r,i,o,n=1<<e.z,a=e.x,s=e.y;for(r=0;r<e.features.length;r++){var l=e.features[r],u=l.geometry,h=l.type;if(l.geometry=[],1===h)for(i=0;i<u.length;i+=2)l.geometry.push(fe(u[i],u[i+1],t,n,a,s));else for(i=0;i<u.length;i++){var c=[];for(o=0;o<u[i].length;o+=2)c.push(fe(u[i][o],u[i][o+1],t,n,a,s));l.geometry.push(c);}}return e.transformed=!0,e}function fe(e,t,r,i,o,n){return [Math.round(r*(e*i-o)),Math.round(r*(t*i-n))]}function de(e,t,r,i,o){for(var n=t===o.maxZoom?0:o.tolerance/((1<<t)*o.extent),a={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z:t,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},s=0;s<e.length;s++){a.numFeatures++,ge(a,e[s],n,o);var l=e[s].minX,u=e[s].minY,h=e[s].maxX,c=e[s].maxY;l<a.minX&&(a.minX=l),u<a.minY&&(a.minY=u),h>a.maxX&&(a.maxX=h),c>a.maxY&&(a.maxY=c);}return a}function ge(e,t,r,i){var o=t.geometry,n=t.type,a=[];if(\"Point\"===n||\"MultiPoint\"===n)for(var s=0;s<o.length;s+=3)a.push(o[s]),a.push(o[s+1]),e.numPoints++,e.numSimplified++;else if(\"LineString\"===n)ve(a,o,e,r,!1,!1);else if(\"MultiLineString\"===n||\"Polygon\"===n)for(s=0;s<o.length;s++)ve(a,o[s],e,r,\"Polygon\"===n,0===s);else if(\"MultiPolygon\"===n)for(var l=0;l<o.length;l++){var u=o[l];for(s=0;s<u.length;s++)ve(a,u[s],e,r,!0,0===s);}if(a.length){var h=t.tags||null;if(\"LineString\"===n&&i.lineMetrics){for(var c in h={},t.tags)h[c]=t.tags[c];h.mapbox_clip_start=o.start/o.size,h.mapbox_clip_end=o.end/o.size;}var p={geometry:a,type:\"Polygon\"===n||\"MultiPolygon\"===n?3:\"LineString\"===n||\"MultiLineString\"===n?2:1,tags:h};null!==t.id&&(p.id=t.id),e.features.push(p);}}function ve(e,t,r,i,o,n){var a=i*i;if(i>0&&t.size<(o?a:i))r.numPoints+=t.length/3;else {for(var s=[],l=0;l<t.length;l+=3)(0===i||t[l+2]>a)&&(r.numSimplified++,s.push(t[l]),s.push(t[l+1])),r.numPoints++;o&&function(e,t){for(var r=0,i=0,o=e.length,n=o-2;i<o;n=i,i+=2)r+=(e[i]-e[n])*(e[i+1]+e[n+1]);if(r>0===t)for(i=0,o=e.length;i<o/2;i+=2){var a=e[i],s=e[i+1];e[i]=e[o-2-i],e[i+1]=e[o-1-i],e[o-2-i]=a,e[o-1-i]=s;}}(s,n),e.push(s);}}function me(e,t){var r=(t=this.options=function(e,t){for(var r in t)e[r]=t[r];return e}(Object.create(this.options),t)).debug;if(r&&console.time(\"preprocess data\"),t.maxZoom<0||t.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");if(t.promoteId&&t.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var i=function(e,t){var r=[];if(\"FeatureCollection\"===e.type)for(var i=0;i<e.features.length;i++)$(r,e.features[i],t,i);else $(r,\"Feature\"===e.type?e:{geometry:e},t);return r}(e,t);this.tiles={},this.tileCoords=[],r&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",t.indexMaxZoom,t.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),(i=function(e,t){var r=t.buffer/t.extent,i=e,o=re(e,1,-1-r,r,0,-1,2,t),n=re(e,1,1-r,2+r,0,-1,2,t);return (o||n)&&(i=re(e,1,-r,1+r,0,-1,2,t)||[],o&&(i=he(o,1).concat(i)),n&&(i=i.concat(he(n,-1)))),i}(i,t)).length&&this.splitTile(i,0,0,0),r&&(i.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)));}function ye(e,t,r){return 32*((1<<e)*r+t)+e}function xe(e,t){var r=e.tileID.canonical;if(!this._geoJSONIndex)return t(null,null);var i=this._geoJSONIndex.getTile(r.z,r.x,r.y);if(!i)return t(null,null);var o=new g(i.features),n=w(o);0===n.byteOffset&&n.byteLength===n.buffer.byteLength||(n=new Uint8Array(n)),t(null,{vectorTile:o,rawData:n.buffer});}J.prototype.load=function(e){var t=this.options,r=t.log,i=t.minZoom,o=t.maxZoom,n=t.nodeSize;r&&console.time(\"total time\");var a=\"prepare \"+e.length+\" points\";r&&console.time(a),this.points=e;for(var s=[],l=0;l<e.length;l++)e[l].geometry&&s.push(A(e[l],l));this.trees[o+1]=new F(s,X,W,n,Float32Array),r&&console.timeEnd(a);for(var u=o;u>=i;u--){var h=+Date.now();s=this._cluster(s,u),this.trees[u]=new F(s,X,W,n,Float32Array),r&&console.log(\"z%d: %d clusters in %dms\",u,s.length,+Date.now()-h);}return r&&console.timeEnd(\"total time\"),this},J.prototype.getClusters=function(e,t){var r=((e[0]+180)%360+360)%360-180,i=Math.max(-90,Math.min(90,e[1])),o=180===e[2]?180:((e[2]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)r=-180,o=180;else if(r>o){var a=this.getClusters([r,i,180,n],t),s=this.getClusters([-180,i,o,n],t);return a.concat(s)}for(var l=this.trees[this._limitZoom(t)],u=[],h=0,c=l.range(Y(r),j(n),Y(o),j(i));h<c.length;h+=1){var p=l.points[c[h]];u.push(p.numPoints?B(p):this.points[p.index]);}return u},J.prototype.getChildren=function(e){var t=this._getOriginId(e),r=this._getOriginZoom(e),i=\"No cluster with the specified id.\",o=this.trees[r];if(!o)throw new Error(i);var n=o.points[t];if(!n)throw new Error(i);for(var a=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=[],l=0,u=o.within(n.x,n.y,a);l<u.length;l+=1){var h=o.points[u[l]];h.parentId===e&&s.push(h.numPoints?B(h):this.points[h.index]);}if(0===s.length)throw new Error(i);return s},J.prototype.getLeaves=function(e,t,r){var i=[];return this._appendLeaves(i,e,t=t||10,r=r||0,0),i},J.prototype.getTile=function(e,t,r){var i=this.trees[this._limitZoom(e)],o=Math.pow(2,e),n=this.options,a=n.radius/n.extent,s=(r-a)/o,l=(r+1+a)/o,u={features:[]};return this._addTileFeatures(i.range((t-a)/o,s,(t+1+a)/o,l),i.points,t,r,o,u),0===t&&this._addTileFeatures(i.range(1-a/o,s,1,l),i.points,o,r,o,u),t===o-1&&this._addTileFeatures(i.range(0,s,a/o,l),i.points,-1,r,o,u),u.features.length?u:null},J.prototype.getClusterExpansionZoom=function(e){for(var t=this._getOriginZoom(e)-1;t<=this.options.maxZoom;){var r=this.getChildren(e);if(t++,1!==r.length)break;e=r[0].properties.cluster_id;}return t},J.prototype._appendLeaves=function(e,t,r,i,o){for(var n=0,a=this.getChildren(t);n<a.length;n+=1){var s=a[n],l=s.properties;if(l&&l.cluster?o+l.point_count<=i?o+=l.point_count:o=this._appendLeaves(e,l.cluster_id,r,i,o):o<i?o++:e.push(s),e.length===r)break}return o},J.prototype._addTileFeatures=function(e,t,r,i,o,n){for(var a=0,s=e;a<s.length;a+=1){var l=t[s[a]],u=l.numPoints,h={type:1,geometry:[[Math.round(this.options.extent*(l.x*o-r)),Math.round(this.options.extent*(l.y*o-i))]],tags:u?G(l):this.points[l.index].properties},c=void 0;u?c=l.id:this.options.generateId?c=l.index:this.points[l.index].id&&(c=this.points[l.index].id),void 0!==c&&(h.id=c),n.features.push(h);}},J.prototype._limitZoom=function(e){return Math.max(this.options.minZoom,Math.min(+e,this.options.maxZoom+1))},J.prototype._cluster=function(e,t){for(var r=[],i=this.options,o=i.reduce,n=i.minPoints,a=i.radius/(i.extent*Math.pow(2,t)),s=0;s<e.length;s++){var l=e[s];if(!(l.zoom<=t)){l.zoom=t;for(var u=this.trees[t+1],h=u.within(l.x,l.y,a),c=l.numPoints||1,p=c,f=0,d=h;f<d.length;f+=1){var g=u.points[d[f]];g.zoom>t&&(p+=g.numPoints||1);}if(p>=n){for(var v=l.x*c,m=l.y*c,y=o&&c>1?this._map(l,!0):null,x=(s<<5)+(t+1)+this.points.length,w=0,S=h;w<S.length;w+=1){var I=u.points[S[w]];if(!(I.zoom<=t)){I.zoom=t;var M=I.numPoints||1;v+=I.x*M,m+=I.y*M,I.parentId=x,o&&(y||(y=this._map(l,!0)),o(y,this._map(I)));}}l.parentId=x,r.push(Z(v/p,m/p,x,p,y));}else if(r.push(l),p>1)for(var b=0,_=h;b<_.length;b+=1){var k=u.points[_[b]];k.zoom<=t||(k.zoom=t,r.push(k));}}}return r},J.prototype._getOriginId=function(e){return e-this.points.length>>5},J.prototype._getOriginZoom=function(e){return (e-this.points.length)%32},J.prototype._map=function(e,t){if(e.numPoints)return t?V({},e.properties):e.properties;var r=this.points[e.index].properties,i=this.options.map(r);return t&&i===r?V({},i):i},me.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},me.prototype.splitTile=function(e,t,r,i,o,n,a){for(var s=[e,t,r,i],l=this.options,u=l.debug;s.length;){i=s.pop(),r=s.pop(),t=s.pop(),e=s.pop();var h=1<<t,c=ye(t,r,i),p=this.tiles[c];if(!p&&(u>1&&console.time(\"creation\"),p=this.tiles[c]=de(e,t,r,i,l),this.tileCoords.push({z:t,x:r,y:i}),u)){u>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,r,i,p.numFeatures,p.numPoints,p.numSimplified),console.timeEnd(\"creation\"));var f=\"z\"+t;this.stats[f]=(this.stats[f]||0)+1,this.total++;}if(p.source=e,o){if(t===l.maxZoom||t===o)continue;var d=1<<o-t;if(r!==Math.floor(n/d)||i!==Math.floor(a/d))continue}else if(t===l.indexMaxZoom||p.numPoints<=l.indexMaxPoints)continue;if(p.source=null,0!==e.length){u>1&&console.time(\"clipping\");var g,v,m,y,x,w,S=.5*l.buffer/l.extent,I=.5-S,M=.5+S,b=1+S;g=v=m=y=null,x=re(e,h,r-S,r+M,0,p.minX,p.maxX,l),w=re(e,h,r+I,r+b,0,p.minX,p.maxX,l),e=null,x&&(g=re(x,h,i-S,i+M,1,p.minY,p.maxY,l),v=re(x,h,i+I,i+b,1,p.minY,p.maxY,l),x=null),w&&(m=re(w,h,i-S,i+M,1,p.minY,p.maxY,l),y=re(w,h,i+I,i+b,1,p.minY,p.maxY,l),w=null),u>1&&console.timeEnd(\"clipping\"),s.push(g||[],t+1,2*r,2*i),s.push(v||[],t+1,2*r,2*i+1),s.push(m||[],t+1,2*r+1,2*i),s.push(y||[],t+1,2*r+1,2*i+1);}}},me.prototype.getTile=function(e,t,r){var i=this.options,o=i.extent,n=i.debug;if(e<0||e>24)return null;var a=1<<e,s=ye(e,t=(t%a+a)%a,r);if(this.tiles[s])return pe(this.tiles[s],o);n>1&&console.log(\"drilling down to z%d-%d-%d\",e,t,r);for(var l,u=e,h=t,c=r;!l&&u>0;)u--,h=Math.floor(h/2),c=Math.floor(c/2),l=this.tiles[ye(u,h,c)];return l&&l.source?(n>1&&console.log(\"found parent tile z%d-%d-%d\",u,h,c),n>1&&console.time(\"drilling down\"),this.splitTile(l.source,u,h,c,e,t,r),n>1&&console.timeEnd(\"drilling down\"),this.tiles[s]?pe(this.tiles[s],o):null):null};var we=function(t){function r(e,r,i,o){t.call(this,e,r,i,xe),o&&(this.loadGeoJSON=o);}return t&&(r.__proto__=t),(r.prototype=Object.create(t&&t.prototype)).constructor=r,r.prototype.loadData=function(e,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=t,this._pendingLoadDataParams=e,this._state&&\"Idle\"!==this._state?this._state=\"NeedsLoadData\":(this._state=\"Coalescing\",this._loadData());},r.prototype._loadData=function(){var t=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,i=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var o=!!(i&&i.request&&i.request.collectResourceTiming)&&new e.RequestPerformance(i.request);this.loadGeoJSON(i,(function(n,a){if(n||!a)return r(n);if(\"object\"!=typeof a)return r(new Error(\"Input data given to '\"+i.source+\"' is not a valid GeoJSON object.\"));!function e(t,r){var i,o=t&&t.type;if(\"FeatureCollection\"===o)for(i=0;i<t.features.length;i++)e(t.features[i],r);else if(\"GeometryCollection\"===o)for(i=0;i<t.geometries.length;i++)e(t.geometries[i],r);else if(\"Feature\"===o)e(t.geometry,r);else if(\"Polygon\"===o)c(t.coordinates,r);else if(\"MultiPolygon\"===o)for(i=0;i<t.coordinates.length;i++)c(t.coordinates[i],r);return t}(a,!0);try{if(i.filter){var s=e.createExpression(i.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(\"error\"===s.result)throw new Error(s.value.map((function(e){return e.key+\": \"+e.message})).join(\", \"));var l=a.features.filter((function(e){return s.value.evaluate({zoom:0},e)}));a={type:\"FeatureCollection\",features:l};}t._geoJSONIndex=i.cluster?new J(function(t){var r=t.superclusterOptions,i=t.clusterProperties;if(!i||!r)return r;for(var o={},n={},a={accumulated:null,zoom:0},s={properties:null},l=Object.keys(i),u=0,h=l;u<h.length;u+=1){var c=h[u],p=i[c],f=p[0],d=e.createExpression(p[1]),g=e.createExpression(\"string\"==typeof f?[f,[\"accumulated\"],[\"get\",c]]:f);o[c]=d.value,n[c]=g.value;}return r.map=function(e){s.properties=e;for(var t={},r=0,i=l;r<i.length;r+=1){var n=i[r];t[n]=o[n].evaluate(a,s);}return t},r.reduce=function(e,t){s.properties=t;for(var r=0,i=l;r<i.length;r+=1){var o=i[r];a.accumulated=e[o],e[o]=n[o].evaluate(a,s);}},r}(i)).load(a.features):function(e,t){return new me(e,t)}(a,i.geojsonVtOptions);}catch(n){return r(n)}t.loaded={};var u={};if(o){var h=o.finish();h&&(u.resourceTiming={},u.resourceTiming[i.source]=JSON.parse(JSON.stringify(h)));}r(null,u);}));}},r.prototype.coalesce=function(){\"Coalescing\"===this._state?this._state=\"Idle\":\"NeedsLoadData\"===this._state&&(this._state=\"Coalescing\",this._loadData());},r.prototype.reloadTile=function(e,r){var i=this.loaded;return i&&i[e.uid]?t.prototype.reloadTile.call(this,e,r):this.loadTile(e,r)},r.prototype.loadGeoJSON=function(t,r){if(t.request)e.getJSON(t.request,r);else {if(\"string\"!=typeof t.data)return r(new Error(\"Input data given to '\"+t.source+\"' is not a valid GeoJSON object.\"));try{return r(null,JSON.parse(t.data))}catch(e){return r(new Error(\"Input data given to '\"+t.source+\"' is not a valid GeoJSON object.\"))}}},r.prototype.removeSource=function(e,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),t();},r.prototype.getClusterExpansionZoom=function(e,t){try{t(null,this._geoJSONIndex.getClusterExpansionZoom(e.clusterId));}catch(e){t(e);}},r.prototype.getClusterChildren=function(e,t){try{t(null,this._geoJSONIndex.getChildren(e.clusterId));}catch(e){t(e);}},r.prototype.getClusterLeaves=function(e,t){try{t(null,this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset));}catch(e){t(e);}},r}(l),Se=function(t){var r=this;this.self=t,this.actor=new e.Actor(t,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:l,geojson:we},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(e,t){if(r.workerSourceTypes[e])throw new Error('Worker source with name \"'+e+'\" already registered.');r.workerSourceTypes[e]=t;},this.self.registerRTLTextPlugin=function(t){if(e.plugin.isParsed())throw new Error(\"RTL text plugin already registered.\");e.plugin.applyArabicShaping=t.applyArabicShaping,e.plugin.processBidirectionalText=t.processBidirectionalText,e.plugin.processStyledBidirectionalText=t.processStyledBidirectionalText;};};return Se.prototype.setReferrer=function(e,t){this.referrer=t;},Se.prototype.setImages=function(e,t,r){for(var i in this.availableImages[e]=t,this.workerSources[e]){var o=this.workerSources[e][i];for(var n in o)o[n].availableImages=t;}r();},Se.prototype.setLayers=function(e,t,r){this.getLayerIndex(e).replace(t),r();},Se.prototype.updateLayers=function(e,t,r){this.getLayerIndex(e).update(t.layers,t.removedIds),r();},Se.prototype.loadTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).loadTile(t,r);},Se.prototype.loadDEMTile=function(e,t,r){this.getDEMWorkerSource(e,t.source).loadTile(t,r);},Se.prototype.reloadTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).reloadTile(t,r);},Se.prototype.abortTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).abortTile(t,r);},Se.prototype.removeTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).removeTile(t,r);},Se.prototype.removeDEMTile=function(e,t){this.getDEMWorkerSource(e,t.source).removeTile(t);},Se.prototype.removeSource=function(e,t,r){if(this.workerSources[e]&&this.workerSources[e][t.type]&&this.workerSources[e][t.type][t.source]){var i=this.workerSources[e][t.type][t.source];delete this.workerSources[e][t.type][t.source],void 0!==i.removeSource?i.removeSource(t,r):r();}},Se.prototype.loadWorkerSource=function(e,t,r){try{this.self.importScripts(t.url),r();}catch(e){r(e.toString());}},Se.prototype.syncRTLPluginState=function(t,r,i){try{e.plugin.setState(r);var o=e.plugin.getPluginURL();if(e.plugin.isLoaded()&&!e.plugin.isParsed()&&null!=o){this.self.importScripts(o);var n=e.plugin.isParsed();i(n?void 0:new Error(\"RTL Text Plugin failed to import scripts from \"+o),n);}}catch(e){i(e.toString());}},Se.prototype.getAvailableImages=function(e){var t=this.availableImages[e];return t||(t=[]),t},Se.prototype.getLayerIndex=function(e){var t=this.layerIndexes[e];return t||(t=this.layerIndexes[e]=new i),t},Se.prototype.getWorkerSource=function(e,t,r){var i=this;return this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),this.workerSources[e][t][r]||(this.workerSources[e][t][r]=new this.workerSourceTypes[t]({send:function(t,r,o){i.actor.send(t,r,o,e);}},this.getLayerIndex(e),this.getAvailableImages(e))),this.workerSources[e][t][r]},Se.prototype.getDEMWorkerSource=function(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new h),this.demWorkerSources[e][t]},Se.prototype.enforceCacheSizeLimit=function(t,r){e.enforceCacheSizeLimit(r);},\"undefined\"!=typeof WorkerGlobalScope&&\"undefined\"!=typeof self&&self instanceof WorkerGlobalScope&&(self.worker=new Se(self)),Se}));\n\ndefine([\"./shared\"],(function(t){\"use strict\";var e=t.createCommonjsModule((function(t){function e(t){return !i(t)}function i(t){return \"undefined\"==typeof window||\"undefined\"==typeof document?\"not a browser\":Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON?function(){if(!(\"Worker\"in window&&\"Blob\"in window&&\"URL\"in window))return !1;var t,e,i=new Blob([\"\"],{type:\"text/javascript\"}),o=URL.createObjectURL(i);try{e=new Worker(o),t=!0;}catch(e){t=!1;}return e&&e.terminate(),URL.revokeObjectURL(o),t}()?\"Uint8ClampedArray\"in window?ArrayBuffer.isView?function(){var t=document.createElement(\"canvas\");t.width=t.height=1;var e=t.getContext(\"2d\");if(!e)return !1;var i=e.getImageData(0,0,1,1);return i&&i.width===t.width}()?(void 0===o[i=t&&t.failIfMajorPerformanceCaveat]&&(o[i]=function(t){var i=function(t){var i=document.createElement(\"canvas\"),o=Object.create(e.webGLContextAttributes);return o.failIfMajorPerformanceCaveat=t,i.probablySupportsContext?i.probablySupportsContext(\"webgl\",o)||i.probablySupportsContext(\"experimental-webgl\",o):i.supportsContext?i.supportsContext(\"webgl\",o)||i.supportsContext(\"experimental-webgl\",o):i.getContext(\"webgl\",o)||i.getContext(\"experimental-webgl\",o)}(t);if(!i)return !1;var o=i.createShader(i.VERTEX_SHADER);return !(!o||i.isContextLost())&&(i.shaderSource(o,\"void main() {}\"),i.compileShader(o),!0===i.getShaderParameter(o,i.COMPILE_STATUS))}(i)),o[i]?void 0:\"insufficient WebGL support\"):\"insufficient Canvas/getImageData support\":\"insufficient ArrayBuffer support\":\"insufficient Uint8ClampedArray support\":\"insufficient worker support\":\"insufficient JSON support\":\"insufficient Object support\":\"insufficient Function support\":\"insufficent Array support\";var i;}t.exports?t.exports=e:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=e,window.mapboxgl.notSupportedReason=i);var o={};e.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0};})),i={create:function(e,i,o){var r=t.window.document.createElement(e);return void 0!==i&&(r.className=i),o&&o.appendChild(r),r},createNS:function(e,i){return t.window.document.createElementNS(e,i)}},o=t.window.document&&t.window.document.documentElement.style;function r(t){if(!o)return t[0];for(var e=0;e<t.length;e++)if(t[e]in o)return t[e];return t[0]}var a,n=r([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]);i.disableDrag=function(){o&&n&&(a=o[n],o[n]=\"none\");},i.enableDrag=function(){o&&n&&(o[n]=a);};var s=r([\"transform\",\"WebkitTransform\"]);i.setTransform=function(t,e){t.style[s]=e;};var l=!1;try{var c=Object.defineProperty({},\"passive\",{get:function(){l=!0;}});t.window.addEventListener(\"test\",c,c),t.window.removeEventListener(\"test\",c,c);}catch(t){l=!1;}i.addEventListener=function(t,e,i,o){void 0===o&&(o={}),t.addEventListener(e,i,\"passive\"in o&&l?o:o.capture);},i.removeEventListener=function(t,e,i,o){void 0===o&&(o={}),t.removeEventListener(e,i,\"passive\"in o&&l?o:o.capture);};var u=function(e){e.preventDefault(),e.stopPropagation(),t.window.removeEventListener(\"click\",u,!0);};function h(t){var e=t.userImage;return !!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}i.suppressClick=function(){t.window.addEventListener(\"click\",u,!0),t.window.setTimeout((function(){t.window.removeEventListener(\"click\",u,!0);}),0);},i.mousePos=function(e,i){var o=e.getBoundingClientRect();return new t.Point(i.clientX-o.left-e.clientLeft,i.clientY-o.top-e.clientTop)},i.touchPos=function(e,i){for(var o=e.getBoundingClientRect(),r=[],a=0;a<i.length;a++)r.push(new t.Point(i[a].clientX-o.left-e.clientLeft,i[a].clientY-o.top-e.clientTop));return r},i.mouseButton=function(e){return void 0!==t.window.InstallTrigger&&2===e.button&&e.ctrlKey&&t.window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0?0:e.button},i.remove=function(t){t.parentNode&&t.parentNode.removeChild(t);};var p=function(e){function i(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.isLoaded=function(){return this.loaded},i.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,i=this.requestors;e<i.length;e+=1){var o=i[e];this._notify(o.ids,o.callback);}this.requestors=[];}},i.prototype.getImage=function(t){return this.images[t]},i.prototype.addImage=function(t,e){this._validate(t,e)&&(this.images[t]=e);},i.prototype._validate=function(e,i){var o=!0;return this._validateStretch(i.stretchX,i.data&&i.data.width)||(this.fire(new t.ErrorEvent(new Error('Image \"'+e+'\" has invalid \"stretchX\" value'))),o=!1),this._validateStretch(i.stretchY,i.data&&i.data.height)||(this.fire(new t.ErrorEvent(new Error('Image \"'+e+'\" has invalid \"stretchY\" value'))),o=!1),this._validateContent(i.content,i)||(this.fire(new t.ErrorEvent(new Error('Image \"'+e+'\" has invalid \"content\" value'))),o=!1),o},i.prototype._validateStretch=function(t,e){if(!t)return !0;for(var i=0,o=0,r=t;o<r.length;o+=1){var a=r[o];if(a[0]<i||a[1]<a[0]||e<a[1])return !1;i=a[1];}return !0},i.prototype._validateContent=function(t,e){return !(t&&(4!==t.length||t[0]<0||e.data.width<t[0]||t[1]<0||e.data.height<t[1]||t[2]<0||e.data.width<t[2]||t[3]<0||e.data.height<t[3]||t[2]<t[0]||t[3]<t[1]))},i.prototype.updateImage=function(t,e){e.version=this.images[t].version+1,this.images[t]=e,this.updatedImages[t]=!0;},i.prototype.removeImage=function(t){var e=this.images[t];delete this.images[t],delete this.patterns[t],e.userImage&&e.userImage.onRemove&&e.userImage.onRemove();},i.prototype.listImages=function(){return Object.keys(this.images)},i.prototype.getImages=function(t,e){var i=!0;if(!this.isLoaded())for(var o=0,r=t;o<r.length;o+=1)this.images[r[o]]||(i=!1);this.isLoaded()||i?this._notify(t,e):this.requestors.push({ids:t,callback:e});},i.prototype._notify=function(e,i){for(var o={},r=0,a=e;r<a.length;r+=1){var n=a[r];this.images[n]||this.fire(new t.Event(\"styleimagemissing\",{id:n}));var s=this.images[n];s?o[n]={data:s.data.clone(),pixelRatio:s.pixelRatio,sdf:s.sdf,version:s.version,stretchX:s.stretchX,stretchY:s.stretchY,content:s.content,hasRenderCallback:Boolean(s.userImage&&s.userImage.render)}:t.warnOnce('Image \"'+n+'\" could not be loaded. Please make sure you have added the image with map.addImage() or a \"sprite\" property in your style. You can provide missing images by listening for the \"styleimagemissing\" map event.');}i(null,o);},i.prototype.getPixelSize=function(){var t=this.atlasImage;return {width:t.width,height:t.height}},i.prototype.getPattern=function(e){var i=this.patterns[e],o=this.getImage(e);if(!o)return null;if(i&&i.position.version===o.version)return i.position;if(i)i.position.version=o.version;else {var r={w:o.data.width+2,h:o.data.height+2,x:0,y:0},a=new t.ImagePosition(r,o);this.patterns[e]={bin:r,position:a};}return this._updatePatternAtlas(),this.patterns[e].position},i.prototype.bind=function(e){var i=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new t.Texture(e,this.atlasImage,i.RGBA),this.atlasTexture.bind(i.LINEAR,i.CLAMP_TO_EDGE);},i.prototype._updatePatternAtlas=function(){var e=[];for(var i in this.patterns)e.push(this.patterns[i].bin);var o=t.potpack(e),r=o.w,a=o.h,n=this.atlasImage;for(var s in n.resize({width:r||1,height:a||1}),this.patterns){var l=this.patterns[s].bin,c=l.x+1,u=l.y+1,h=this.images[s].data,p=h.width,d=h.height;t.RGBAImage.copy(h,n,{x:0,y:0},{x:c,y:u},{width:p,height:d}),t.RGBAImage.copy(h,n,{x:0,y:d-1},{x:c,y:u-1},{width:p,height:1}),t.RGBAImage.copy(h,n,{x:0,y:0},{x:c,y:u+d},{width:p,height:1}),t.RGBAImage.copy(h,n,{x:p-1,y:0},{x:c-1,y:u},{width:1,height:d}),t.RGBAImage.copy(h,n,{x:0,y:0},{x:c+p,y:u},{width:1,height:d});}this.dirty=!0;},i.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={};},i.prototype.dispatchRenderCallbacks=function(t){for(var e=0,i=t;e<i.length;e+=1){var o=i[e];if(!this.callbackDispatchedThisFrame[o]){this.callbackDispatchedThisFrame[o]=!0;var r=this.images[o];h(r)&&this.updateImage(o,r);}}},i}(t.Evented),d=m,_=m,f=1e20;function m(t,e,i,o,r,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=o||.25,this.fontFamily=r||\"sans-serif\",this.fontWeight=a||\"normal\",this.radius=i||8;var n=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=n,this.ctx=this.canvas.getContext(\"2d\"),this.ctx.font=this.fontWeight+\" \"+this.fontSize+\"px \"+this.fontFamily,this.ctx.textBaseline=\"middle\",this.ctx.fillStyle=\"black\",this.gridOuter=new Float64Array(n*n),this.gridInner=new Float64Array(n*n),this.f=new Float64Array(n),this.d=new Float64Array(n),this.z=new Float64Array(n+1),this.v=new Int16Array(n),this.middle=Math.round(n/2*(navigator.userAgent.indexOf(\"Gecko/\")>=0?1.2:1));}function g(t,e,i,o,r,a,n){for(var s=0;s<e;s++){for(var l=0;l<i;l++)o[l]=t[l*e+s];for(v(o,r,a,n,i),l=0;l<i;l++)t[l*e+s]=r[l];}for(l=0;l<i;l++){for(s=0;s<e;s++)o[s]=t[l*e+s];for(v(o,r,a,n,e),s=0;s<e;s++)t[l*e+s]=Math.sqrt(r[s]);}}function v(t,e,i,o,r){i[0]=0,o[0]=-f,o[1]=+f;for(var a=1,n=0;a<r;a++){for(var s=(t[a]+a*a-(t[i[n]]+i[n]*i[n]))/(2*a-2*i[n]);s<=o[n];)n--,s=(t[a]+a*a-(t[i[n]]+i[n]*i[n]))/(2*a-2*i[n]);i[++n]=a,o[n]=s,o[n+1]=+f;}for(a=0,n=0;a<r;a++){for(;o[n+1]<a;)n++;e[a]=(a-i[n])*(a-i[n])+t[i[n]];}}m.prototype.draw=function(t){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(t,this.buffer,this.middle);for(var e=this.ctx.getImageData(0,0,this.size,this.size),i=new Uint8ClampedArray(this.size*this.size),o=0;o<this.size*this.size;o++){var r=e.data[4*o+3]/255;this.gridOuter[o]=1===r?0:0===r?f:Math.pow(Math.max(0,.5-r),2),this.gridInner[o]=1===r?f:0===r?0:Math.pow(Math.max(0,r-.5),2);}for(g(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),g(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),o=0;o<this.size*this.size;o++)i[o]=Math.max(0,Math.min(255,Math.round(255-255*((this.gridOuter[o]-this.gridInner[o])/this.radius+this.cutoff))));return i},d.default=_;var y=function(t,e){this.requestManager=t,this.localIdeographFontFamily=e,this.entries={};};y.prototype.setURL=function(t){this.url=t;},y.prototype.getGlyphs=function(e,i){var o=this,r=[];for(var a in e)for(var n=0,s=e[a];n<s.length;n+=1)r.push({stack:a,id:s[n]});t.asyncAll(r,(function(t,e){var i=t.stack,r=t.id,a=o.entries[i];a||(a=o.entries[i]={glyphs:{},requests:{},ranges:{}});var n=a.glyphs[r];if(void 0===n){if(n=o._tinySDF(a,i,r))return a.glyphs[r]=n,void e(null,{stack:i,id:r,glyph:n});var s=Math.floor(r/256);if(256*s>65535)e(new Error(\"glyphs > 65535 not supported\"));else if(a.ranges[s])e(null,{stack:i,id:r,glyph:n});else {var l=a.requests[s];l||(l=a.requests[s]=[],y.loadGlyphRange(i,s,o.url,o.requestManager,(function(t,e){if(e){for(var i in e)o._doesCharSupportLocalGlyph(+i)||(a.glyphs[+i]=e[+i]);a.ranges[s]=!0;}for(var r=0,n=l;r<n.length;r+=1)(0,n[r])(t,e);delete a.requests[s];}))),l.push((function(t,o){t?e(t):o&&e(null,{stack:i,id:r,glyph:o[r]||null});}));}}else e(null,{stack:i,id:r,glyph:n});}),(function(t,e){if(t)i(t);else if(e){for(var o={},r=0,a=e;r<a.length;r+=1){var n=a[r],s=n.stack,l=n.id,c=n.glyph;(o[s]||(o[s]={}))[l]=c&&{id:c.id,bitmap:c.bitmap.clone(),metrics:c.metrics};}i(null,o);}}));},y.prototype._doesCharSupportLocalGlyph=function(e){return !!this.localIdeographFontFamily&&(t.isChar[\"CJK Unified Ideographs\"](e)||t.isChar[\"Hangul Syllables\"](e)||t.isChar.Hiragana(e)||t.isChar.Katakana(e))},y.prototype._tinySDF=function(e,i,o){var r=this.localIdeographFontFamily;if(r&&this._doesCharSupportLocalGlyph(o)){var a=e.tinySDF;if(!a){var n=\"400\";/bold/i.test(i)?n=\"900\":/medium/i.test(i)?n=\"500\":/light/i.test(i)&&(n=\"200\"),a=e.tinySDF=new y.TinySDF(24,3,8,.25,r,n);}return {id:o,bitmap:new t.AlphaImage({width:30,height:30},a.draw(String.fromCharCode(o))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},y.loadGlyphRange=function(e,i,o,r,a){var n=256*i,s=n+255,l=r.transformRequest(r.normalizeGlyphsURL(o).replace(\"{fontstack}\",e).replace(\"{range}\",n+\"-\"+s),t.ResourceType.Glyphs);t.getArrayBuffer(l,(function(e,i){if(e)a(e);else if(i){for(var o={},r=0,n=t.parseGlyphPBF(i);r<n.length;r+=1){var s=n[r];o[s.id]=s;}a(null,o);}}));},y.TinySDF=d;var x=function(){this.specification=t.styleSpec.light.position;};x.prototype.possiblyEvaluate=function(e,i){return t.sphericalToCartesian(e.expression.evaluate(i))},x.prototype.interpolate=function(e,i,o){return {x:t.number(e.x,i.x,o),y:t.number(e.y,i.y,o),z:t.number(e.z,i.z,o)}};var b=new t.Properties({anchor:new t.DataConstantProperty(t.styleSpec.light.anchor),position:new x,color:new t.DataConstantProperty(t.styleSpec.light.color),intensity:new t.DataConstantProperty(t.styleSpec.light.intensity)}),w=function(e){function i(i){e.call(this),this._transitionable=new t.Transitionable(b),this.setLight(i),this._transitioning=this._transitionable.untransitioned();}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.getLight=function(){return this._transitionable.serialize()},i.prototype.setLight=function(e,i){if(void 0===i&&(i={}),!this._validate(t.validateLight,e,i))for(var o in e){var r=e[o];t.endsWith(o,\"-transition\")?this._transitionable.setTransition(o.slice(0,-\"-transition\".length),r):this._transitionable.setValue(o,r);}},i.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning);},i.prototype.hasTransition=function(){return this._transitioning.hasTransition()},i.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t);},i.prototype._validate=function(e,i,o){return (!o||!1!==o.validate)&&t.emitValidationErrors(this,e.call(t.validateStyle,t.extend({value:i,style:{glyphs:!0,sprite:!0},styleSpec:t.styleSpec})))},i}(t.Evented),T=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={};};T.prototype.getDash=function(t,e){var i=t.join(\",\")+String(e);return this.dashEntry[i]||(this.dashEntry[i]=this.addDash(t,e)),this.dashEntry[i]},T.prototype.getDashRanges=function(t,e,i){var o=[],r=t.length%2==1?-t[t.length-1]*i:0,a=t[0]*i,n=!0;o.push({left:r,right:a,isDash:n,zeroLength:0===t[0]});for(var s=t[0],l=1;l<t.length;l++){var c=t[l];o.push({left:r=s*i,right:a=(s+=c)*i,isDash:n=!n,zeroLength:0===c});}return o},T.prototype.addRoundDash=function(t,e,i){for(var o=e/2,r=-i;r<=i;r++)for(var a=this.width*(this.nextRow+i+r),n=0,s=t[n],l=0;l<this.width;l++){l/s.right>1&&(s=t[++n]);var c=Math.abs(l-s.left),u=Math.abs(l-s.right),h=Math.min(c,u),p=void 0,d=r/i*(o+1);if(s.isDash){var _=o-Math.abs(d);p=Math.sqrt(h*h+_*_);}else p=o-Math.sqrt(h*h+d*d);this.data[a+l]=Math.max(0,Math.min(255,p+128));}},T.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var i=t[e],o=t[e+1];i.zeroLength?t.splice(e,1):o&&o.isDash===i.isDash&&(o.left=i.left,t.splice(e,1));}var r=t[0],a=t[t.length-1];r.isDash===a.isDash&&(r.left=a.left-this.width,a.right=r.right+this.width);for(var n=this.width*this.nextRow,s=0,l=t[s],c=0;c<this.width;c++){c/l.right>1&&(l=t[++s]);var u=Math.abs(c-l.left),h=Math.abs(c-l.right),p=Math.min(u,h);this.data[n+c]=Math.max(0,Math.min(255,(l.isDash?p:-p)+128));}},T.prototype.addDash=function(e,i){var o=i?7:0,r=2*o+1;if(this.nextRow+r>this.height)return t.warnOnce(\"LineAtlas out of space\"),null;for(var a=0,n=0;n<e.length;n++)a+=e[n];if(0!==a){var s=this.width/a,l=this.getDashRanges(e,this.width,s);i?this.addRoundDash(l,s,o):this.addRegularDash(l);}var c={y:(this.nextRow+o+.5)/this.height,height:2*o/this.height,width:a};return this.nextRow+=r,this.dirty=!0,c},T.prototype.bind=function(t){var e=t.gl;this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.width,this.height,e.ALPHA,e.UNSIGNED_BYTE,this.data))):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,this.width,this.height,0,e.ALPHA,e.UNSIGNED_BYTE,this.data));};var E=function e(i,o){this.workerPool=i,this.actors=[],this.currentActor=0,this.id=t.uniqueId();for(var r=this.workerPool.acquire(this.id),a=0;a<r.length;a++){var n=new e.Actor(r[a],o,this.id);n.name=\"Worker \"+a,this.actors.push(n);}};function I(e,i,o){var r=function(r,a){if(r)return o(r);if(a){var n=t.pick(t.extend(a,e),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"mapbox_logo\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);a.vector_layers&&(n.vectorLayers=a.vector_layers,n.vectorLayerIds=n.vectorLayers.map((function(t){return t.id}))),n.tiles=i.canonicalizeTileset(n,e.url),o(null,n);}};return e.url?t.getJSON(i.transformRequest(i.normalizeSourceURL(e.url),t.ResourceType.Source),r):t.browser.frame((function(){return r(null,e)}))}E.prototype.broadcast=function(e,i,o){t.asyncAll(this.actors,(function(t,o){t.send(e,i,o);}),o=o||function(){});},E.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},E.prototype.remove=function(){this.actors.forEach((function(t){t.remove();})),this.actors=[],this.workerPool.release(this.id);},E.Actor=t.Actor;var P=function(e,i,o){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=i||0,this.maxzoom=o||24;};P.prototype.validateBounds=function(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]},P.prototype.contains=function(e){var i=Math.pow(2,e.z),o=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*i),r=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*i),a=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*i),n=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*i);return e.x>=o&&e.x<a&&e.y>=r&&e.y<n};var S=function(e){function i(i,o,r,a){if(e.call(this),this.id=i,this.dispatcher=r,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,t.extend(this,t.pick(o,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=t.extend({type:\"vector\"},o),this._collectResourceTiming=o.collectResourceTiming,512!==this.tileSize)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(a);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=I(this._options,this.map._requestManager,(function(i,o){e._tileJSONRequest=null,e._loaded=!0,i?e.fire(new t.ErrorEvent(i)):o&&(t.extend(e,o),o.bounds&&(e.tileBounds=new P(o.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(o.tiles,e.map._requestManager._customAccessToken),t.postMapLoadEvent(o.tiles,e.map._getMapId(),e.map._requestManager._skuToken,e.map._requestManager._customAccessToken),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})));}));},i.prototype.loaded=function(){return this._loaded},i.prototype.hasTile=function(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)},i.prototype.onAdd=function(t){this.map=t,this.load();},i.prototype.setSourceProperty=function(t){this._tileJSONRequest&&this._tileJSONRequest.cancel(),t(),this.map.style.sourceCaches[this.id].clearTiles(),this.load();},i.prototype.setTiles=function(t){var e=this;return this.setSourceProperty((function(){e._options.tiles=t;})),this},i.prototype.setUrl=function(t){var e=this;return this.setSourceProperty((function(){e.url=t,e._options.url=t;})),this},i.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);},i.prototype.serialize=function(){return t.extend({},this._options)},i.prototype.loadTile=function(e,i){var o=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme)),r={request:this.map._requestManager.transformRequest(o,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function a(o,r){return delete e.request,e.aborted?i(null):o&&404!==o.status?i(o):(r&&r.resourceTiming&&(e.resourceTiming=r.resourceTiming),this.map._refreshExpiredTiles&&r&&e.setExpiryData(r),e.loadVectorData(r,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),i(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}r.request.collectResourceTiming=this._collectResourceTiming,e.actor&&\"expired\"!==e.state?\"loading\"===e.state?e.reloadCallback=i:e.request=e.actor.send(\"reloadTile\",r,a.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send(\"loadTile\",r,a.bind(this)));},i.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send(\"abortTile\",{uid:t.uid,type:this.type,source:this.id},void 0);},i.prototype.unloadTile=function(t){t.unloadVectorData(),t.actor&&t.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},void 0);},i.prototype.hasTransition=function(){return !1},i}(t.Evented),C=function(e){function i(i,o,r,a){e.call(this),this.id=i,this.dispatcher=r,this.setEventedParent(a),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:\"raster\"},o),t.extend(this,t.pick(o,[\"url\",\"scheme\",\"tileSize\"]));}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=I(this._options,this.map._requestManager,(function(i,o){e._tileJSONRequest=null,e._loaded=!0,i?e.fire(new t.ErrorEvent(i)):o&&(t.extend(e,o),o.bounds&&(e.tileBounds=new P(o.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(o.tiles),t.postMapLoadEvent(o.tiles,e.map._getMapId(),e.map._requestManager._skuToken),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})));}));},i.prototype.loaded=function(){return this._loaded},i.prototype.onAdd=function(t){this.map=t,this.load();},i.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);},i.prototype.serialize=function(){return t.extend({},this._options)},i.prototype.hasTile=function(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)},i.prototype.loadTile=function(e,i){var o=this,r=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);e.request=t.getImage(this.map._requestManager.transformRequest(r,t.ResourceType.Tile),(function(r,a){if(delete e.request,e.aborted)e.state=\"unloaded\",i(null);else if(r)e.state=\"errored\",i(r);else if(a){o.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var n=o.map.painter.context,s=n.gl;e.texture=o.map.painter.getTileTexture(a.width),e.texture?e.texture.update(a,{useMipmap:!0}):(e.texture=new t.Texture(n,a,s.RGBA,{useMipmap:!0}),e.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),n.extTextureFilterAnisotropic&&s.texParameterf(s.TEXTURE_2D,n.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,n.extTextureFilterAnisotropicMax)),e.state=\"loaded\",t.cacheEntryPossiblyAdded(o.dispatcher),i(null);}}));},i.prototype.abortTile=function(t,e){t.request&&(t.request.cancel(),delete t.request),e();},i.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e();},i.prototype.hasTransition=function(){return !1},i}(t.Evented),z=function(e){function i(i,o,r,a){e.call(this,i,o,r,a),this.type=\"raster-dem\",this.maxzoom=22,this._options=t.extend({type:\"raster-dem\"},o),this.encoding=o.encoding||\"mapbox\";}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.serialize=function(){return {type:\"raster-dem\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},i.prototype.loadTile=function(e,i){var o=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);function r(t,o){t&&(e.state=\"errored\",i(t)),o&&(e.dem=o,e.needsHillshadePrepare=!0,e.state=\"loaded\",i(null));}e.request=t.getImage(this.map._requestManager.transformRequest(o,t.ResourceType.Tile),function(o,a){if(delete e.request,e.aborted)e.state=\"unloaded\",i(null);else if(o)e.state=\"errored\",i(o);else if(a){this.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var n=t.window.ImageBitmap&&a instanceof t.window.ImageBitmap&&t.offscreenCanvasSupported()?a:t.browser.getImageData(a,1),s={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:n,encoding:this.encoding};e.actor&&\"expired\"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send(\"loadDEMTile\",s,r.bind(this)));}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID);},i.prototype._getNeighboringTiles=function(e){var i=e.canonical,o=Math.pow(2,i.z),r=(i.x-1+o)%o,a=0===i.x?e.wrap-1:e.wrap,n=(i.x+1+o)%o,s=i.x+1===o?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,a,i.z,r,i.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,i.y).key]={backfilled:!1},i.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,a,i.z,r,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,i.y-1).key]={backfilled:!1}),i.y+1<o&&(l[new t.OverscaledTileID(e.overscaledZ,a,i.z,r,i.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,i.z,i.x,i.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,i.y+1).key]={backfilled:!1}),l},i.prototype.unloadTile=function(t){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state=\"unloaded\",t.actor&&t.actor.send(\"removeDEMTile\",{uid:t.uid,source:this.id});},i}(C),D=function(e){function i(i,o,r,a){e.call(this),this.id=i,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=r.getActor(),this.setEventedParent(a),this._data=o.data,this._options=t.extend({},o),this._collectResourceTiming=o.collectResourceTiming,this._resourceTiming=[],void 0!==o.maxzoom&&(this.maxzoom=o.maxzoom),o.type&&(this.type=o.type),o.attribution&&(this.attribution=o.attribution),this.promoteId=o.promoteId;var n=t.EXTENT/this.tileSize;this.workerOptions=t.extend({source:this.id,cluster:o.cluster||!1,geojsonVtOptions:{buffer:(void 0!==o.buffer?o.buffer:128)*n,tolerance:(void 0!==o.tolerance?o.tolerance:.375)*n,extent:t.EXTENT,maxZoom:this.maxzoom,lineMetrics:o.lineMetrics||!1,generateId:o.generateId||!1},superclusterOptions:{maxZoom:void 0!==o.clusterMaxZoom?Math.min(o.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,minPoints:Math.max(2,o.clusterMinPoints||2),extent:t.EXTENT,radius:(o.clusterRadius||50)*n,log:!1,generateId:o.generateId||!1},clusterProperties:o.clusterProperties,filter:o.filter},o.workerOptions);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){var e=this;this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData((function(i){if(i)e.fire(new t.ErrorEvent(i));else {var o={dataType:\"source\",sourceDataType:\"metadata\"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(o.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event(\"data\",o));}}));},i.prototype.onAdd=function(t){this.map=t,this.load();},i.prototype.setData=function(e){var i=this;return this._data=e,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData((function(e){if(e)i.fire(new t.ErrorEvent(e));else {var o={dataType:\"source\",sourceDataType:\"content\"};i._collectResourceTiming&&i._resourceTiming&&i._resourceTiming.length>0&&(o.resourceTiming=i._resourceTiming,i._resourceTiming=[]),i.fire(new t.Event(\"data\",o));}})),this},i.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:t,source:this.id},e),this},i.prototype.getClusterChildren=function(t,e){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:t,source:this.id},e),this},i.prototype.getClusterLeaves=function(t,e,i,o){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:t,limit:e,offset:i},o),this},i.prototype._updateWorkerData=function(e){var i=this;this._loaded=!1;var o=t.extend({},this.workerOptions),r=this._data;\"string\"==typeof r?(o.request=this.map._requestManager.transformRequest(t.browser.resolveURL(r),t.ResourceType.Source),o.request.collectResourceTiming=this._collectResourceTiming):o.data=JSON.stringify(r),this.actor.send(this.type+\".loadData\",o,(function(t,r){i._removed||r&&r.abandoned||(i._loaded=!0,r&&r.resourceTiming&&r.resourceTiming[i.id]&&(i._resourceTiming=r.resourceTiming[i.id].slice(0)),i.actor.send(i.type+\".coalesce\",{source:o.source},null),e(t));}));},i.prototype.loaded=function(){return this._loaded},i.prototype.loadTile=function(e,i){var o=this,r=e.actor?\"reloadTile\":\"loadTile\";e.actor=this.actor,e.request=this.actor.send(r,{type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId},(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?i(null):t?i(t):(e.loadVectorData(a,o.map.painter,\"reloadTile\"===r),i(null))}));},i.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0;},i.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id});},i.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id});},i.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},i.prototype.hasTransition=function(){return !1},i}(t.Evented),A=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),M=function(e){function i(t,i,o,r){e.call(this),this.id=t,this.dispatcher=o,this.coordinates=i.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(r),this.options=i;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(e,i){var o=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(r,a){o._loaded=!0,r?o.fire(new t.ErrorEvent(r)):a&&(o.image=a,e&&(o.coordinates=e),i&&i(),o._finishLoading());}));},i.prototype.loaded=function(){return this._loaded},i.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null;})),this):this},i.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})));},i.prototype.onAdd=function(t){this.map=t,this.load();},i.prototype.setCoordinates=function(e){var i=this;this.coordinates=e;var o=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var i=1/0,o=1/0,r=-1/0,a=-1/0,n=0,s=e;n<s.length;n+=1){var l=s[n];i=Math.min(i,l.x),o=Math.min(o,l.y),r=Math.max(r,l.x),a=Math.max(a,l.y);}var c=Math.max(r-i,a-o),u=Math.max(0,Math.floor(-Math.log(c)/Math.LN2)),h=Math.pow(2,u);return new t.CanonicalTileID(u,Math.floor((i+r)/2*h),Math.floor((o+a)/2*h))}(o),this.minzoom=this.maxzoom=this.tileID.z;var r=o.map((function(t){return i.tileID.getTilePoint(t)._round()}));return this._boundsArray=new t.StructArrayLayout4i8,this._boundsArray.emplaceBack(r[0].x,r[0].y,0,0),this._boundsArray.emplaceBack(r[1].x,r[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(r[3].x,r[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(r[2].x,r[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this},i.prototype.prepare=function(){if(0!==Object.keys(this.tiles).length&&this.image){var e=this.map.painter.context,i=e.gl;for(var o in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,A.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new t.Texture(e,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE)),this.tiles){var r=this.tiles[o];\"loaded\"!==r.state&&(r.state=\"loaded\",r.texture=this.texture);}}},i.prototype.loadTile=function(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state=\"errored\",e(null));},i.prototype.serialize=function(){return {type:\"image\",url:this.options.url,coordinates:this.coordinates}},i.prototype.hasTransition=function(){return !1},i}(t.Evented),L=function(e){function i(t,i,o,r){e.call(this,t,i,o,r),this.roundZoom=!0,this.type=\"video\",this.options=i;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){var e=this;this._loaded=!1;var i=this.options;this.urls=[];for(var o=0,r=i.urls;o<r.length;o+=1)this.urls.push(this.map._requestManager.transformRequest(r[o],t.ResourceType.Source).url);t.getVideo(this.urls,(function(i,o){e._loaded=!0,i?e.fire(new t.ErrorEvent(i)):o&&(e.video=o,e.video.loop=!0,e.video.setAttribute(\"playsinline\",\"\"),e.video.addEventListener(\"playing\",(function(){e.map.triggerRepaint();})),e.map&&e.video.play(),e._finishLoading());}));},i.prototype.pause=function(){this.video&&this.video.pause();},i.prototype.play=function(){this.video&&this.video.play();},i.prototype.seek=function(e){if(this.video){var i=this.video.seekable;e<i.start(0)||e>i.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+i.start(0)+\" and \"+i.end(0)+\"-second mark.\"))):this.video.currentTime=e;}},i.prototype.getVideo=function(){return this.video},i.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)));},i.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,i=e.gl;for(var o in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,A.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE)),this.tiles){var r=this.tiles[o];\"loaded\"!==r.state&&(r.state=\"loaded\",r.texture=this.texture);}}},i.prototype.serialize=function(){return {type:\"video\",urls:this.urls,coordinates:this.coordinates}},i.prototype.hasTransition=function(){return this.video&&!this.video.paused},i}(M),R=function(e){function i(i,o,r,a){e.call(this,i,o,r,a),o.coordinates?Array.isArray(o.coordinates)&&4===o.coordinates.length&&!o.coordinates.some((function(t){return !Array.isArray(t)||2!==t.length||t.some((function(t){return \"number\"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+i,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+i,null,'missing required property \"coordinates\"'))),o.animate&&\"boolean\"!=typeof o.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+i,null,'optional \"animate\" property must be a boolean value'))),o.canvas?\"string\"==typeof o.canvas||o.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+i,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+i,null,'missing required property \"canvas\"'))),this.options=o,this.animate=void 0===o.animate||o.animate;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint();},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1);},this._finishLoading());},i.prototype.getCanvas=function(){return this.canvas},i.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play();},i.prototype.onRemove=function(){this.pause();},i.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var i=this.map.painter.context,o=i.gl;for(var r in this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,A.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(i,this.canvas,o.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[r];\"loaded\"!==a.state&&(a.state=\"loaded\",a.texture=this.texture);}}},i.prototype.serialize=function(){return {type:\"canvas\",coordinates:this.coordinates}},i.prototype.hasTransition=function(){return this._playing},i.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t<e.length;t+=1){var i=e[t];if(isNaN(i)||i<=0)return !0}return !1},i}(M),k={vector:S,raster:C,\"raster-dem\":z,geojson:D,video:L,image:M,canvas:R};function B(e,i){var o=t.identity([]);return t.translate(o,o,[1,1,0]),t.scale(o,o,[.5*e.width,.5*e.height,1]),t.multiply(o,o,e.calculatePosMatrix(i.toUnwrapped()))}function O(t,e,i,o,r,a){var n=function(t,e,i){if(t)for(var o=0,r=t;o<r.length;o+=1){var a=e[r[o]];if(a&&a.source===i&&\"fill-extrusion\"===a.type)return !0}else for(var n in e){var s=e[n];if(s.source===i&&\"fill-extrusion\"===s.type)return !0}return !1}(r&&r.layers,e,t.id),s=a.maxPitchScaleFactor(),l=t.tilesIn(o,s,n);l.sort(F);for(var c=[],u=0,h=l;u<h.length;u+=1){var p=h[u];c.push({wrappedTileID:p.tileID.wrapped().key,queryResults:p.tile.queryRenderedFeatures(e,i,t._state,p.queryGeometry,p.cameraQueryGeometry,p.scale,r,a,s,B(t.transform,p.tileID))});}var d=function(t){for(var e={},i={},o=0,r=t;o<r.length;o+=1){var a=r[o],n=a.queryResults,s=a.wrappedTileID,l=i[s]=i[s]||{};for(var c in n)for(var u=n[c],h=l[c]=l[c]||{},p=e[c]=e[c]||[],d=0,_=u;d<_.length;d+=1){var f=_[d];h[f.featureIndex]||(h[f.featureIndex]=!0,p.push(f));}}return e}(c);for(var _ in d)d[_].forEach((function(e){var i=e.feature,o=t.getFeatureState(i.layer[\"source-layer\"],i.id);i.source=i.layer.source,i.layer[\"source-layer\"]&&(i.sourceLayer=i.layer[\"source-layer\"]),i.state=o;}));return d}function F(t,e){var i=t.tileID,o=e.tileID;return i.overscaledZ-o.overscaledZ||i.canonical.y-o.canonical.y||i.wrap-o.wrap||i.canonical.x-o.canonical.x}var U=function(t,e){this.max=t,this.onRemove=e,this.reset();};U.prototype.reset=function(){for(var t in this.data)for(var e=0,i=this.data[t];e<i.length;e+=1){var o=i[e];o.timeout&&clearTimeout(o.timeout),this.onRemove(o.value);}return this.data={},this.order=[],this},U.prototype.add=function(t,e,i){var o=this,r=t.wrapped().key;void 0===this.data[r]&&(this.data[r]=[]);var a={value:e,timeout:void 0};if(void 0!==i&&(a.timeout=setTimeout((function(){o.remove(t,a);}),i)),this.data[r].push(a),this.order.push(r),this.order.length>this.max){var n=this._getAndRemoveByKey(this.order[0]);n&&this.onRemove(n);}return this},U.prototype.has=function(t){return t.wrapped().key in this.data},U.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},U.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},U.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},U.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},U.prototype.remove=function(t,e){if(!this.has(t))return this;var i=t.wrapped().key,o=void 0===e?0:this.data[i].indexOf(e),r=this.data[i][o];return this.data[i].splice(o,1),r.timeout&&clearTimeout(r.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(r.value),this.order.splice(this.order.indexOf(i),1),this},U.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e);}return this},U.prototype.filter=function(t){var e=[];for(var i in this.data)for(var o=0,r=this.data[i];o<r.length;o+=1){var a=r[o];t(a.value)||e.push(a);}for(var n=0,s=e;n<s.length;n+=1){var l=s[n];this.remove(l.value.tileID,l);}};var N=function(t,e,i){this.context=t;var o=t.gl;this.buffer=o.createBuffer(),this.dynamicDraw=Boolean(i),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?o.DYNAMIC_DRAW:o.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;};N.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer);},N.prototype.updateData=function(t){var e=this.context.gl;this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer);},N.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer);};var Z={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"},q=function(t,e,i,o){this.length=e.length,this.attributes=i,this.itemSize=e.bytesPerElement,this.dynamicDraw=o,this.context=t;var r=t.gl;this.buffer=r.createBuffer(),t.bindVertexBuffer.set(this.buffer),r.bufferData(r.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;};q.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer);},q.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer);},q.prototype.enableAttributes=function(t,e){for(var i=0;i<this.attributes.length;i++){var o=e.attributes[this.attributes[i].name];void 0!==o&&t.enableVertexAttribArray(o);}},q.prototype.setVertexAttribPointers=function(t,e,i){for(var o=0;o<this.attributes.length;o++){var r=this.attributes[o],a=e.attributes[r.name];void 0!==a&&t.vertexAttribPointer(a,r.components,t[Z[r.type]],!1,this.itemSize,r.offset+this.itemSize*(i||0));}},q.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer);};var j=function(t){this.gl=t.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1;};j.prototype.get=function(){return this.current},j.prototype.set=function(t){},j.prototype.getDefault=function(){return this.default},j.prototype.setDefault=function(){this.set(this.default);};var V=function(e){function i(){e.apply(this,arguments);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.getDefault=function(){return t.Color.transparent},i.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1);},i}(j),G=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 1},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearDepth(t),this.current=t,this.dirty=!1);},e}(j),W=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearStencil(t),this.current=t,this.dirty=!1);},e}(j),X=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return [!0,!0,!0,!0]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1);},e}(j),H=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthMask(t),this.current=t,this.dirty=!1);},e}(j),K=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 255},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.stencilMask(t),this.current=t,this.dirty=!1);},e}(j),Y=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return {func:this.gl.ALWAYS,ref:0,mask:255}},e.prototype.set=function(t){var e=this.current;(t.func!==e.func||t.ref!==e.ref||t.mask!==e.mask||this.dirty)&&(this.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t,this.dirty=!1);},e}(j),J=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return [t.KEEP,t.KEEP,t.KEEP]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||this.dirty)&&(this.gl.stencilOp(t[0],t[1],t[2]),this.current=t,this.dirty=!1);},e}(j),Q=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t,this.dirty=!1;}},e}(j),$=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return [0,1]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.depthRange(t[0],t[1]),this.current=t,this.dirty=!1);},e}(j),tt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t,this.dirty=!1;}},e}(j),et=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.LESS},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthFunc(t),this.current=t,this.dirty=!1);},e}(j),it=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t,this.dirty=!1;}},e}(j),ot=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return [t.ONE,t.ZERO]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.blendFunc(t[0],t[1]),this.current=t,this.dirty=!1);},e}(j),rt=function(e){function i(){e.apply(this,arguments);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.getDefault=function(){return t.Color.transparent},i.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1);},i}(j),at=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.FUNC_ADD},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.blendEquation(t),this.current=t,this.dirty=!1);},e}(j),nt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.CULL_FACE):e.disable(e.CULL_FACE),this.current=t,this.dirty=!1;}},e}(j),st=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.BACK},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.cullFace(t),this.current=t,this.dirty=!1);},e}(j),lt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.CCW},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.frontFace(t),this.current=t,this.dirty=!1);},e}(j),ct=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.useProgram(t),this.current=t,this.dirty=!1);},e}(j),ut=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.TEXTURE0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.activeTexture(t),this.current=t,this.dirty=!1);},e}(j),ht=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return [0,0,t.drawingBufferWidth,t.drawingBufferHeight]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1);},e}(j),pt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t,this.dirty=!1;}},e}(j),dt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t,this.dirty=!1;}},e}(j),_t=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t,this.dirty=!1;}},e}(j),ft=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t,this.dirty=!1;}},e}(j),mt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){var e=this.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t,this.dirty=!1;},e}(j),gt=function(t){function e(e){t.call(this,e),this.vao=e.extVertexArrayObject;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){this.vao&&(t!==this.current||this.dirty)&&(this.vao.bindVertexArrayOES(t),this.current=t,this.dirty=!1);},e}(j),vt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 4},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t,this.dirty=!1;}},e}(j),yt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t,this.dirty=!1;}},e}(j),xt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t),this.current=t,this.dirty=!1;}},e}(j),bt=function(t){function e(e,i){t.call(this,e),this.context=e,this.parent=i;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e}(j),wt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.setDirty=function(){this.dirty=!0;},e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1;}},e}(bt),Tt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t,this.dirty=!1;}},e}(bt),Et=function(t,e,i,o){this.context=t,this.width=e,this.height=i;var r=this.framebuffer=t.gl.createFramebuffer();this.colorAttachment=new wt(t,r),o&&(this.depthAttachment=new Tt(t,r));};Et.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();if(e&&t.deleteTexture(e),this.depthAttachment){var i=this.depthAttachment.get();i&&t.deleteRenderbuffer(i);}t.deleteFramebuffer(this.framebuffer);};var It=function(t,e,i){this.func=t,this.mask=e,this.range=i;};It.ReadOnly=!1,It.ReadWrite=!0,It.disabled=new It(519,It.ReadOnly,[0,1]);var Pt=function(t,e,i,o,r,a){this.test=t,this.ref=e,this.mask=i,this.fail=o,this.depthFail=r,this.pass=a;};Pt.disabled=new Pt({func:519,mask:0},0,0,7680,7680,7680);var St=function(t,e,i){this.blendFunction=t,this.blendColor=e,this.mask=i;};St.disabled=new St(St.Replace=[1,0],t.Color.transparent,[!1,!1,!1,!1]),St.unblended=new St(St.Replace,t.Color.transparent,[!0,!0,!0,!0]),St.alphaBlended=new St([1,771],t.Color.transparent,[!0,!0,!0,!0]);var Ct=function(t,e,i){this.enable=t,this.mode=e,this.frontFace=i;};Ct.disabled=new Ct(!1,1029,2305),Ct.backCCW=new Ct(!0,1029,2305);var zt=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension(\"OES_vertex_array_object\"),this.clearColor=new V(this),this.clearDepth=new G(this),this.clearStencil=new W(this),this.colorMask=new X(this),this.depthMask=new H(this),this.stencilMask=new K(this),this.stencilFunc=new Y(this),this.stencilOp=new J(this),this.stencilTest=new Q(this),this.depthRange=new $(this),this.depthTest=new tt(this),this.depthFunc=new et(this),this.blend=new it(this),this.blendFunc=new ot(this),this.blendColor=new rt(this),this.blendEquation=new at(this),this.cullFace=new nt(this),this.cullFaceSide=new st(this),this.frontFace=new lt(this),this.program=new ct(this),this.activeTexture=new ut(this),this.viewport=new ht(this),this.bindFramebuffer=new pt(this),this.bindRenderbuffer=new dt(this),this.bindTexture=new _t(this),this.bindVertexBuffer=new ft(this),this.bindElementBuffer=new mt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new gt(this),this.pixelStoreUnpack=new vt(this),this.pixelStoreUnpackPremultiplyAlpha=new yt(this),this.pixelStoreUnpackFlipY=new xt(this),this.extTextureFilterAnisotropic=t.getExtension(\"EXT_texture_filter_anisotropic\")||t.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||t.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension(\"OES_texture_half_float\"),this.extTextureHalfFloat&&(t.getExtension(\"OES_texture_half_float_linear\"),this.extRenderToTextureHalfFloat=t.getExtension(\"EXT_color_buffer_half_float\")),this.extTimerQuery=t.getExtension(\"EXT_disjoint_timer_query\"),this.maxTextureSize=t.getParameter(t.MAX_TEXTURE_SIZE);};zt.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault();},zt.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0;},zt.prototype.createIndexBuffer=function(t,e){return new N(this,t,e)},zt.prototype.createVertexBuffer=function(t,e,i){return new q(this,t,e,i)},zt.prototype.createRenderbuffer=function(t,e,i){var o=this.gl,r=o.createRenderbuffer();return this.bindRenderbuffer.set(r),o.renderbufferStorage(o.RENDERBUFFER,t,e,i),this.bindRenderbuffer.set(null),r},zt.prototype.createFramebuffer=function(t,e,i){return new Et(this,t,e,i)},zt.prototype.clear=function(t){var e=t.color,i=t.depth,o=this.gl,r=0;e&&(r|=o.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==i&&(r|=o.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(i),this.depthMask.set(!0)),o.clear(r);},zt.prototype.setCullFace=function(t){!1===t.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(t.mode),this.frontFace.set(t.frontFace));},zt.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1);},zt.prototype.setStencilMode=function(t){t.test.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1);},zt.prototype.setColorMode=function(e){t.deepEqual(e.blendFunction,St.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask);},zt.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null);};var Dt=function(e){function i(i,o,r){var a=this;e.call(this),this.id=i,this.dispatcher=r,this.on(\"data\",(function(t){\"source\"===t.dataType&&\"metadata\"===t.sourceDataType&&(a._sourceLoaded=!0),a._sourceLoaded&&!a._paused&&\"source\"===t.dataType&&\"content\"===t.sourceDataType&&(a.reload(),a.transform&&a.update(a.transform));})),this.on(\"error\",(function(){a._sourceErrored=!0;})),this._source=function(e,i,o,r){var a=new k[i.type](e,i,o,r);if(a.id!==e)throw new Error(\"Expected Source id to be \"+e+\" instead of \"+a.id);return t.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],a),a}(i,o,r,this),this._tiles={},this._cache=new U(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new t.SourceFeatureState;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t);},i.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t);},i.prototype.loaded=function(){if(this._sourceErrored)return !0;if(!this._sourceLoaded)return !1;if(!this._source.loaded())return !1;for(var t in this._tiles){var e=this._tiles[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return !1}return !0},i.prototype.getSource=function(){return this._source},i.prototype.pause=function(){this._paused=!0;},i.prototype.resume=function(){if(this._paused){var t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform);}},i.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},i.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,(function(){}))},i.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,(function(){}))},i.prototype.serialize=function(){return this._source.serialize()},i.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null),this._tiles){var i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager);}},i.prototype.getIds=function(){return t.values(this._tiles).map((function(t){return t.tileID})).sort(At).map((function(t){return t.key}))},i.prototype.getRenderableIds=function(e){var i=this,o=[];for(var r in this._tiles)this._isIdRenderable(r,e)&&o.push(this._tiles[r]);return e?o.sort((function(e,o){var r=e.tileID,a=o.tileID,n=new t.Point(r.canonical.x,r.canonical.y)._rotate(i.transform.angle),s=new t.Point(a.canonical.x,a.canonical.y)._rotate(i.transform.angle);return r.overscaledZ-a.overscaledZ||s.y-n.y||s.x-n.x})).map((function(t){return t.tileID.key})):o.map((function(t){return t.tileID})).sort(At).map((function(t){return t.key}))},i.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0);return !!e&&this._isIdRenderable(e.tileID.key)},i.prototype._isIdRenderable=function(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())},i.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._cache.reset(),this._tiles)\"errored\"!==this._tiles[t].state&&this._reloadTile(t,\"reloading\");},i.prototype._reloadTile=function(t,e){var i=this._tiles[t];i&&(\"loading\"!==i.state&&(i.state=e),this._loadTile(i,this._tileLoaded.bind(this,i,t,e)));},i.prototype._tileLoaded=function(e,i,o,r){if(r)return e.state=\"errored\",void(404!==r.status?this._source.fire(new t.ErrorEvent(r,{tile:e})):this.update(this.transform));e.timeAdded=t.browser.now(),\"expired\"===o&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(i,e),\"raster-dem\"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),this._source.fire(new t.Event(\"data\",{dataType:\"source\",tile:e,coord:e.tileID}));},i.prototype._backfillDEM=function(t){for(var e=this.getRenderableIds(),i=0;i<e.length;i++){var o=e[i];if(t.neighboringTiles&&t.neighboringTiles[o]){var r=this.getTileByID(o);a(t,r),a(r,t);}}function a(t,e){t.needsHillshadePrepare=!0;var i=e.tileID.canonical.x-t.tileID.canonical.x,o=e.tileID.canonical.y-t.tileID.canonical.y,r=Math.pow(2,t.tileID.canonical.z),a=e.tileID.key;0===i&&0===o||Math.abs(o)>1||(Math.abs(i)>1&&(1===Math.abs(i+r)?i+=r:1===Math.abs(i-r)&&(i-=r)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,o),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)));}},i.prototype.getTile=function(t){return this.getTileByID(t.key)},i.prototype.getTileByID=function(t){return this._tiles[t]},i.prototype._retainLoadedChildren=function(t,e,i,o){for(var r in this._tiles){var a=this._tiles[r];if(!(o[r]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>i)){for(var n=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(n=s);}for(var l=n;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){o[n.key]=n;break}}}},i.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var i=this._loadedParentTiles[t.key];return i&&i.tileID.overscaledZ>=e?i:null}for(var o=t.overscaledZ-1;o>=e;o--){var r=t.scaledTo(o),a=this._getLoadedTile(r);if(a)return a}},i.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},i.prototype.updateCacheSize=function(t){var e=Math.ceil(t.width/this._source.tileSize)+1,i=Math.ceil(t.height/this._source.tileSize)+1,o=Math.floor(e*i*5),r=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,o):o;this._cache.setMaxSize(r);},i.prototype.handleWrapJump=function(t){var e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){var i={};for(var o in this._tiles){var r=this._tiles[o];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+e),i[r.tileID.key]=r;}for(var a in this._tiles=i,this._timers)clearTimeout(this._timers[a]),delete this._timers[a];for(var n in this._tiles)this._setTileReloadTimer(n,this._tiles[n]);}},i.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var r;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?r=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(r=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(r=r.filter((function(t){return o._source.hasTile(t)})))):r=[];var a=e.coveringZoomLevel(this._source),n=Math.max(a-i.maxOverzooming,this._source.minzoom),s=Math.max(a+i.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(r,a);if(Mt(this._source.type)){for(var c={},u={},h=0,p=Object.keys(l);h<p.length;h+=1){var d=p[h],_=l[d],f=this._tiles[d];if(f&&!(f.fadeEndTime&&f.fadeEndTime<=t.browser.now())){var m=this.findLoadedParent(_,n);m&&(this._addTile(m.tileID),c[m.tileID.key]=m.tileID),u[d]=_;}}for(var g in this._retainLoadedChildren(u,a,s,l),c)l[g]||(this._coveredTiles[g]=!0,l[g]=c[g]);}for(var v in l)this._tiles[v].clearFadeHold();for(var y=0,x=t.keysDifference(this._tiles,l);y<x.length;y+=1){var b=x[y],w=this._tiles[b];w.hasSymbolBuckets&&!w.holdingForFade()?w.setHoldDuration(this.map._fadeDuration):w.hasSymbolBuckets&&!w.symbolFadeFinished()||this._removeTile(b);}this._updateLoadedParentTileCache();}},i.prototype.releaseSymbolFadeTiles=function(){for(var t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t);},i.prototype._updateRetainedTiles=function(t,e){for(var o={},r={},a=Math.max(e-i.maxOverzooming,this._source.minzoom),n=Math.max(e+i.maxUnderzooming,this._source.minzoom),s={},l=0,c=t;l<c.length;l+=1){var u=c[l],h=this._addTile(u);o[u.key]=u,h.hasData()||e<this._source.maxzoom&&(s[u.key]=u);}this._retainLoadedChildren(s,e,n,o);for(var p=0,d=t;p<d.length;p+=1){var _=d[p],f=this._tiles[_.key];if(!f.hasData()){if(e+1>this._source.maxzoom){var m=_.children(this._source.maxzoom)[0],g=this.getTile(m);if(g&&g.hasData()){o[m.key]=m;continue}}else {var v=_.children(this._source.maxzoom);if(o[v[0].key]&&o[v[1].key]&&o[v[2].key]&&o[v[3].key])continue}for(var y=f.wasRequested(),x=_.overscaledZ-1;x>=a;--x){var b=_.scaledTo(x);if(r[b.key])break;if(r[b.key]=!0,!(f=this.getTile(b))&&y&&(f=this._addTile(b)),f&&(o[b.key]=b,y=f.wasRequested(),f.hasData()))break}}}return o},i.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],i=void 0,o=this._tiles[t].tileID;o.overscaledZ>0;){if(o.key in this._loadedParentTiles){i=this._loadedParentTiles[o.key];break}e.push(o.key);var r=o.scaledTo(o.overscaledZ-1);if(i=this._getLoadedTile(r))break;o=r;}for(var a=0,n=e;a<n.length;a+=1)this._loadedParentTiles[n[a]]=i;}},i.prototype._addTile=function(e){var i=this._tiles[e.key];if(i)return i;(i=this._cache.getAndRemove(e))&&(this._setTileReloadTimer(e.key,i),i.tileID=e,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,i)));var o=Boolean(i);return o||(i=new t.Tile(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(i,this._tileLoaded.bind(this,i,e.key,i.state))),i?(i.uses++,this._tiles[e.key]=i,o||this._source.fire(new t.Event(\"dataloading\",{tile:i,coord:i.tileID,dataType:\"source\"})),i):null},i.prototype._setTileReloadTimer=function(t,e){var i=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var o=e.getExpiryTimeout();o&&(this._timers[t]=setTimeout((function(){i._reloadTile(t,\"expired\"),delete i._timers[t];}),o));},i.prototype._removeTile=function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&\"reloading\"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))));},i.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset();},i.prototype.tilesIn=function(e,i,o){var r=this,a=[],n=this.transform;if(!n)return a;for(var s=o?n.getCameraQueryGeometry(e):e,l=e.map((function(t){return n.pointCoordinate(t)})),c=s.map((function(t){return n.pointCoordinate(t)})),u=this.getIds(),h=1/0,p=1/0,d=-1/0,_=-1/0,f=0,m=c;f<m.length;f+=1){var g=m[f];h=Math.min(h,g.x),p=Math.min(p,g.y),d=Math.max(d,g.x),_=Math.max(_,g.y);}for(var v=function(e){var o=r._tiles[u[e]];if(!o.holdingForFade()){var s=o.tileID,f=Math.pow(2,n.zoom-o.tileID.overscaledZ),m=i*o.queryPadding*t.EXTENT/o.tileSize/f,g=[s.getTilePoint(new t.MercatorCoordinate(h,p)),s.getTilePoint(new t.MercatorCoordinate(d,_))];if(g[0].x-m<t.EXTENT&&g[0].y-m<t.EXTENT&&g[1].x+m>=0&&g[1].y+m>=0){var v=l.map((function(t){return s.getTilePoint(t)})),y=c.map((function(t){return s.getTilePoint(t)}));a.push({tile:o,tileID:s,queryGeometry:v,cameraQueryGeometry:y,scale:f});}}},y=0;y<u.length;y++)v(y);return a},i.prototype.getVisibleCoordinates=function(t){for(var e=this,i=this.getRenderableIds(t).map((function(t){return e._tiles[t].tileID})),o=0,r=i;o<r.length;o+=1){var a=r[o];a.posMatrix=this.transform.calculatePosMatrix(a.toUnwrapped());}return i},i.prototype.hasTransition=function(){if(this._source.hasTransition())return !0;if(Mt(this._source.type))for(var e in this._tiles){var i=this._tiles[e];if(void 0!==i.fadeEndTime&&i.fadeEndTime>=t.browser.now())return !0}return !1},i.prototype.setFeatureState=function(t,e,i){this._state.updateState(t=t||\"_geojsonTileLayer\",e,i);},i.prototype.removeFeatureState=function(t,e,i){this._state.removeFeatureState(t=t||\"_geojsonTileLayer\",e,i);},i.prototype.getFeatureState=function(t,e){return this._state.getState(t=t||\"_geojsonTileLayer\",e)},i.prototype.setDependencies=function(t,e,i){var o=this._tiles[t];o&&o.setDependencies(e,i);},i.prototype.reloadTilesForDependencies=function(t,e){for(var i in this._tiles)this._tiles[i].hasDependency(t,e)&&this._reloadTile(i,\"reloading\");this._cache.filter((function(i){return !i.hasDependency(t,e)}));},i}(t.Evented);function At(t,e){var i=Math.abs(2*t.wrap)-+(t.wrap<0),o=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||o-i||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function Mt(t){return \"raster\"===t||\"image\"===t||\"video\"===t}function Lt(){return new t.window.Worker(Kr.workerUrl)}Dt.maxOverzooming=10,Dt.maxUnderzooming=3;var Rt=\"mapboxgl_preloaded_worker_pool\",kt=function(){this.active={};};kt.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length<kt.workerCount;)this.workers.push(new Lt);return this.active[t]=!0,this.workers.slice()},kt.prototype.release=function(t){delete this.active[t],0===this.numActive()&&(this.workers.forEach((function(t){t.terminate();})),this.workers=null);},kt.prototype.isPreloaded=function(){return !!this.active[Rt]},kt.prototype.numActive=function(){return Object.keys(this.active).length};var Bt,Ot=Math.floor(t.browser.hardwareConcurrency/2);function Ft(){return Bt||(Bt=new kt),Bt}function Ut(e,i){var o={};for(var r in e)\"ref\"!==r&&(o[r]=e[r]);return t.refProperties.forEach((function(t){t in i&&(o[t]=i[t]);})),o}function Nt(t){t=t.slice();for(var e=Object.create(null),i=0;i<t.length;i++)e[t[i].id]=t[i];for(var o=0;o<t.length;o++)\"ref\"in t[o]&&(t[o]=Ut(t[o],e[t[o].ref]));return t}kt.workerCount=Math.max(Math.min(Ot,6),1);var Zt={setStyle:\"setStyle\",addLayer:\"addLayer\",removeLayer:\"removeLayer\",setPaintProperty:\"setPaintProperty\",setLayoutProperty:\"setLayoutProperty\",setFilter:\"setFilter\",addSource:\"addSource\",removeSource:\"removeSource\",setGeoJSONSourceData:\"setGeoJSONSourceData\",setLayerZoomRange:\"setLayerZoomRange\",setLayerProperty:\"setLayerProperty\",setCenter:\"setCenter\",setZoom:\"setZoom\",setBearing:\"setBearing\",setPitch:\"setPitch\",setSprite:\"setSprite\",setGlyphs:\"setGlyphs\",setTransition:\"setTransition\",setLight:\"setLight\"};function qt(t,e,i){i.push({command:Zt.addSource,args:[t,e[t]]});}function jt(t,e,i){e.push({command:Zt.removeSource,args:[t]}),i[t]=!0;}function Vt(t,e,i,o){jt(t,i,o),qt(t,e,i);}function Gt(e,i,o){var r;for(r in e[o])if(e[o].hasOwnProperty(r)&&\"data\"!==r&&!t.deepEqual(e[o][r],i[o][r]))return !1;for(r in i[o])if(i[o].hasOwnProperty(r)&&\"data\"!==r&&!t.deepEqual(e[o][r],i[o][r]))return !1;return !0}function Wt(e,i,o,r,a,n){var s;for(s in i=i||{},e=e||{})e.hasOwnProperty(s)&&(t.deepEqual(e[s],i[s])||o.push({command:n,args:[r,s,i[s],a]}));for(s in i)i.hasOwnProperty(s)&&!e.hasOwnProperty(s)&&(t.deepEqual(e[s],i[s])||o.push({command:n,args:[r,s,i[s],a]}));}function Xt(t){return t.id}function Ht(t,e){return t[e.id]=e,t}var Kt=function(t,e){this.reset(t,e);};Kt.prototype.reset=function(t,e){this.points=t||[],this._distances=[0];for(var i=1;i<this.points.length;i++)this._distances[i]=this._distances[i-1]+this.points[i].dist(this.points[i-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(e||0,.5*this.length),this.paddedLength=this.length-2*this.padding;},Kt.prototype.lerp=function(e){if(1===this.points.length)return this.points[0];e=t.clamp(e,0,1);for(var i=1,o=this._distances[i],r=e*this.paddedLength+this.padding;o<r&&i<this._distances.length;)o=this._distances[++i];var a=i-1,n=this._distances[a],s=o-n,l=s>0?(r-n)/s:0;return this.points[a].mult(1-l).add(this.points[i].mult(l))};var Yt=function(t,e,i){var o=this.boxCells=[],r=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(var a=0;a<this.xCellCount*this.yCellCount;a++)o.push([]),r.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=e,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/e,this.boxUid=0,this.circleUid=0;};function Jt(e,i,o,r,a){var n=t.create();return i?(t.scale(n,n,[1/a,1/a,1]),o||t.rotateZ(n,n,r.angle)):t.multiply(n,r.labelPlaneMatrix,e),n}function Qt(e,i,o,r,a){if(i){var n=t.clone(e);return t.scale(n,n,[a,a,1]),o||t.rotateZ(n,n,-r.angle),n}return r.glCoordMatrix}function $t(e,i){var o=[e.x,e.y,0,1];ue(o,o,i);var r=o[3];return {point:new t.Point(o[0]/r,o[1]/r),signedDistanceFromCamera:r}}function te(t,e){return .5+t/e*.5}function ee(t,e){var i=t[0]/t[3],o=t[1]/t[3];return i>=-e[0]&&i<=e[0]&&o>=-e[1]&&o<=e[1]}function ie(e,i,o,r,a,n,s,l){var c=r?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,o.transform.zoom),h=[256/o.width*2+1,256/o.height*2+1],p=r?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;p.clear();for(var d=e.lineVertexArray,_=r?e.text.placedSymbolArray:e.icon.placedSymbolArray,f=o.transform.width/o.transform.height,m=!1,g=0;g<_.length;g++){var v=_.get(g);if(v.hidden||v.writingMode===t.WritingMode.vertical&&!m)ce(v.numGlyphs,p);else {m=!1;var y=[v.anchorX,v.anchorY,0,1];if(t.transformMat4(y,y,i),ee(y,h)){var x=te(o.transform.cameraToCenterDistance,y[3]),b=t.evaluateSizeForFeature(c,u,v),w=s?b/x:b*x,T=new t.Point(v.anchorX,v.anchorY),E=$t(T,a).point,I={},P=ae(v,w,!1,l,i,a,n,e.glyphOffsetArray,d,p,E,T,I,f);m=P.useVertical,(P.notEnoughRoom||m||P.needsFlipping&&ae(v,w,!0,l,i,a,n,e.glyphOffsetArray,d,p,E,T,I,f).notEnoughRoom)&&ce(v.numGlyphs,p);}else ce(v.numGlyphs,p);}}r?e.text.dynamicLayoutVertexBuffer.updateData(p):e.icon.dynamicLayoutVertexBuffer.updateData(p);}function oe(t,e,i,o,r,a,n,s,l,c,u){var h=s.glyphStartIndex+s.numGlyphs,p=s.lineStartIndex,d=s.lineStartIndex+s.lineLength,_=e.getoffsetX(s.glyphStartIndex),f=e.getoffsetX(h-1),m=se(t*_,i,o,r,a,n,s.segment,p,d,l,c,u);if(!m)return null;var g=se(t*f,i,o,r,a,n,s.segment,p,d,l,c,u);return g?{first:m,last:g}:null}function re(e,i,o,r){return e===t.WritingMode.horizontal&&Math.abs(o.y-i.y)>Math.abs(o.x-i.x)*r?{useVertical:!0}:(e===t.WritingMode.vertical?i.y<o.y:i.x>o.x)?{needsFlipping:!0}:null}function ae(e,i,o,r,a,n,s,l,c,u,h,p,d,_){var f,m=i/24,g=e.lineOffsetX*m,v=e.lineOffsetY*m;if(e.numGlyphs>1){var y=e.glyphStartIndex+e.numGlyphs,x=e.lineStartIndex,b=e.lineStartIndex+e.lineLength,w=oe(m,l,g,v,o,h,p,e,c,n,d);if(!w)return {notEnoughRoom:!0};var T=$t(w.first.point,s).point,E=$t(w.last.point,s).point;if(r&&!o){var I=re(e.writingMode,T,E,_);if(I)return I}f=[w.first];for(var P=e.glyphStartIndex+1;P<y-1;P++)f.push(se(m*l.getoffsetX(P),g,v,o,h,p,e.segment,x,b,c,n,d));f.push(w.last);}else {if(r&&!o){var S=$t(p,a).point,C=e.lineStartIndex+e.segment+1,z=new t.Point(c.getx(C),c.gety(C)),D=$t(z,a),A=D.signedDistanceFromCamera>0?D.point:ne(p,z,S,1,a),M=re(e.writingMode,S,A,_);if(M)return M}var L=se(m*l.getoffsetX(e.glyphStartIndex),g,v,o,h,p,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,n,d);if(!L)return {notEnoughRoom:!0};f=[L];}for(var R=0,k=f;R<k.length;R+=1){var B=k[R];t.addDynamicAttributes(u,B.point,B.angle);}return {}}function ne(t,e,i,o,r){var a=$t(t.add(t.sub(e)._unit()),r).point,n=i.sub(a);return i.add(n._mult(o/n.mag()))}function se(e,i,o,r,a,n,s,l,c,u,h,p){var d=r?e-i:e+i,_=d>0?1:-1,f=0;r&&(_*=-1,f=Math.PI),_<0&&(f+=Math.PI);for(var m=_>0?l+s:l+s+1,g=a,v=a,y=0,x=0,b=Math.abs(d),w=[];y+x<=b;){if((m+=_)<l||m>=c)return null;if(v=g,w.push(g),void 0===(g=p[m])){var T=new t.Point(u.getx(m),u.gety(m)),E=$t(T,h);if(E.signedDistanceFromCamera>0)g=p[m]=E.point;else {var I=m-_;g=ne(0===y?n:new t.Point(u.getx(I),u.gety(I)),T,v,b-y+1,h);}}y+=x,x=v.dist(g);}var P=(b-y)/x,S=g.sub(v),C=S.mult(P)._add(v);C._add(S._unit()._perp()._mult(o*_));var z=f+Math.atan2(g.y-v.y,g.x-v.x);return w.push(C),{point:C,angle:z,path:w}}Yt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Yt.prototype.insert=function(t,e,i,o,r){this._forEachCell(e,i,o,r,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(i),this.bboxes.push(o),this.bboxes.push(r);},Yt.prototype.insertCircle=function(t,e,i,o){this._forEachCell(e-o,i-o,e+o,i+o,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(i),this.circles.push(o);},Yt.prototype._insertBoxCell=function(t,e,i,o,r,a){this.boxCells[r].push(a);},Yt.prototype._insertCircleCell=function(t,e,i,o,r,a){this.circleCells[r].push(a);},Yt.prototype._query=function(t,e,i,o,r,a){if(i<0||t>this.width||o<0||e>this.height)return !r&&[];var n=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=o){if(r)return !0;for(var s=0;s<this.boxKeys.length;s++)n.push({key:this.boxKeys[s],x1:this.bboxes[4*s],y1:this.bboxes[4*s+1],x2:this.bboxes[4*s+2],y2:this.bboxes[4*s+3]});for(var l=0;l<this.circleKeys.length;l++){var c=this.circles[3*l],u=this.circles[3*l+1],h=this.circles[3*l+2];n.push({key:this.circleKeys[l],x1:c-h,y1:u-h,x2:c+h,y2:u+h});}return a?n.filter(a):n}return this._forEachCell(t,e,i,o,this._queryCell,n,{hitTest:r,seenUids:{box:{},circle:{}}},a),r?n.length>0:n},Yt.prototype._queryCircle=function(t,e,i,o,r){var a=t-i,n=t+i,s=e-i,l=e+i;if(n<0||a>this.width||l<0||s>this.height)return !o&&[];var c=[];return this._forEachCell(a,s,n,l,this._queryCellCircle,c,{hitTest:o,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},r),o?c.length>0:c},Yt.prototype.query=function(t,e,i,o,r){return this._query(t,e,i,o,!1,r)},Yt.prototype.hitTest=function(t,e,i,o,r){return this._query(t,e,i,o,!0,r)},Yt.prototype.hitTestCircle=function(t,e,i,o){return this._queryCircle(t,e,i,!0,o)},Yt.prototype._queryCell=function(t,e,i,o,r,a,n,s){var l=n.seenUids,c=this.boxCells[r];if(null!==c)for(var u=this.bboxes,h=0,p=c;h<p.length;h+=1){var d=p[h];if(!l.box[d]){l.box[d]=!0;var _=4*d;if(t<=u[_+2]&&e<=u[_+3]&&i>=u[_+0]&&o>=u[_+1]&&(!s||s(this.boxKeys[d]))){if(n.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[d],x1:u[_],y1:u[_+1],x2:u[_+2],y2:u[_+3]});}}}var f=this.circleCells[r];if(null!==f)for(var m=this.circles,g=0,v=f;g<v.length;g+=1){var y=v[g];if(!l.circle[y]){l.circle[y]=!0;var x=3*y;if(this._circleAndRectCollide(m[x],m[x+1],m[x+2],t,e,i,o)&&(!s||s(this.circleKeys[y]))){if(n.hitTest)return a.push(!0),!0;var b=m[x],w=m[x+1],T=m[x+2];a.push({key:this.circleKeys[y],x1:b-T,y1:w-T,x2:b+T,y2:w+T});}}}},Yt.prototype._queryCellCircle=function(t,e,i,o,r,a,n,s){var l=n.circle,c=n.seenUids,u=this.boxCells[r];if(null!==u)for(var h=this.bboxes,p=0,d=u;p<d.length;p+=1){var _=d[p];if(!c.box[_]){c.box[_]=!0;var f=4*_;if(this._circleAndRectCollide(l.x,l.y,l.radius,h[f+0],h[f+1],h[f+2],h[f+3])&&(!s||s(this.boxKeys[_])))return a.push(!0),!0}}var m=this.circleCells[r];if(null!==m)for(var g=this.circles,v=0,y=m;v<y.length;v+=1){var x=y[v];if(!c.circle[x]){c.circle[x]=!0;var b=3*x;if(this._circlesCollide(g[b],g[b+1],g[b+2],l.x,l.y,l.radius)&&(!s||s(this.circleKeys[x])))return a.push(!0),!0}}},Yt.prototype._forEachCell=function(t,e,i,o,r,a,n,s){for(var l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),u=this._convertToXCellCoord(i),h=this._convertToYCellCoord(o),p=l;p<=u;p++)for(var d=c;d<=h;d++)if(r.call(this,t,e,i,o,this.xCellCount*d+p,a,n,s))return},Yt.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},Yt.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},Yt.prototype._circlesCollide=function(t,e,i,o,r,a){var n=o-t,s=r-e,l=i+a;return l*l>n*n+s*s},Yt.prototype._circleAndRectCollide=function(t,e,i,o,r,a,n){var s=(a-o)/2,l=Math.abs(t-(o+s));if(l>s+i)return !1;var c=(n-r)/2,u=Math.abs(e-(r+c));if(u>c+i)return !1;if(l<=s||u<=c)return !0;var h=l-s,p=u-c;return h*h+p*p<=i*i};var le=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ce(t,e){for(var i=0;i<t;i++){var o=e.length;e.resize(o+4),e.float32.set(le,3*o);}}function ue(t,e,i){var o=e[0],r=e[1];return t[0]=i[0]*o+i[4]*r+i[12],t[1]=i[1]*o+i[5]*r+i[13],t[3]=i[3]*o+i[7]*r+i[15],t}var he=function(t,e,i){void 0===e&&(e=new Yt(t.width+200,t.height+200,25)),void 0===i&&(i=new Yt(t.width+200,t.height+200,25)),this.transform=t,this.grid=e,this.ignoredGrid=i,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+100,this.screenBottomBoundary=t.height+100,this.gridRightBoundary=t.width+200,this.gridBottomBoundary=t.height+200;};function pe(e,i,o){return i*(t.EXTENT/(e.tileSize*Math.pow(2,o-e.tileID.overscaledZ)))}he.prototype.placeCollisionBox=function(t,e,i,o,r){var a=this.projectAndGetPerspectiveRatio(o,t.anchorPointX,t.anchorPointY),n=i*a.perspectiveRatio,s=t.x1*n+a.point.x,l=t.y1*n+a.point.y,c=t.x2*n+a.point.x,u=t.y2*n+a.point.y;return !this.isInsideGrid(s,l,c,u)||!e&&this.grid.hitTest(s,l,c,u,r)?{box:[],offscreen:!1}:{box:[s,l,c,u],offscreen:this.isOffscreen(s,l,c,u)}},he.prototype.placeCollisionCircles=function(e,i,o,r,a,n,s,l,c,u,h,p,d){var _=[],f=new t.Point(i.anchorX,i.anchorY),m=$t(f,n),g=te(this.transform.cameraToCenterDistance,m.signedDistanceFromCamera),v=(u?a/g:a*g)/t.ONE_EM,y=$t(f,s).point,x=oe(v,r,i.lineOffsetX*v,i.lineOffsetY*v,!1,y,f,i,o,s,{}),b=!1,w=!1,T=!0;if(x){for(var E=.5*p*g+d,I=new t.Point(-100,-100),P=new t.Point(this.screenRightBoundary,this.screenBottomBoundary),S=new Kt,C=x.first,z=x.last,D=[],A=C.path.length-1;A>=1;A--)D.push(C.path[A]);for(var M=1;M<z.path.length;M++)D.push(z.path[M]);var L=2.5*E;if(l){var R=D.map((function(t){return $t(t,l)}));D=R.some((function(t){return t.signedDistanceFromCamera<=0}))?[]:R.map((function(t){return t.point}));}var k=[];if(D.length>0){for(var B=D[0].clone(),O=D[0].clone(),F=1;F<D.length;F++)B.x=Math.min(B.x,D[F].x),B.y=Math.min(B.y,D[F].y),O.x=Math.max(O.x,D[F].x),O.y=Math.max(O.y,D[F].y);k=B.x>=I.x&&O.x<=P.x&&B.y>=I.y&&O.y<=P.y?[D]:O.x<I.x||B.x>P.x||O.y<I.y||B.y>P.y?[]:t.clipLine([D],I.x,I.y,P.x,P.y);}for(var U=0,N=k;U<N.length;U+=1){var Z;S.reset(N[U],.25*E),Z=S.length<=.5*E?1:Math.ceil(S.paddedLength/L)+1;for(var q=0;q<Z;q++){var j=q/Math.max(Z-1,1),V=S.lerp(j),G=V.x+100,W=V.y+100;_.push(G,W,E,0);var X=G-E,H=W-E,K=G+E,Y=W+E;if(T=T&&this.isOffscreen(X,H,K,Y),w=w||this.isInsideGrid(X,H,K,Y),!e&&this.grid.hitTestCircle(G,W,E,h)&&(b=!0,!c))return {circles:[],offscreen:!1,collisionDetected:b}}}}return {circles:!c&&b||!w?[]:_,offscreen:T,collisionDetected:b}},he.prototype.queryRenderedSymbols=function(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return {};for(var i=[],o=1/0,r=1/0,a=-1/0,n=-1/0,s=0,l=e;s<l.length;s+=1){var c=l[s],u=new t.Point(c.x+100,c.y+100);o=Math.min(o,u.x),r=Math.min(r,u.y),a=Math.max(a,u.x),n=Math.max(n,u.y),i.push(u);}for(var h={},p={},d=0,_=this.grid.query(o,r,a,n).concat(this.ignoredGrid.query(o,r,a,n));d<_.length;d+=1){var f=_[d],m=f.key;if(void 0===h[m.bucketInstanceId]&&(h[m.bucketInstanceId]={}),!h[m.bucketInstanceId][m.featureIndex]){var g=[new t.Point(f.x1,f.y1),new t.Point(f.x2,f.y1),new t.Point(f.x2,f.y2),new t.Point(f.x1,f.y2)];t.polygonIntersectsPolygon(i,g)&&(h[m.bucketInstanceId][m.featureIndex]=!0,void 0===p[m.bucketInstanceId]&&(p[m.bucketInstanceId]=[]),p[m.bucketInstanceId].push(m.featureIndex));}}return p},he.prototype.insertCollisionBox=function(t,e,i,o,r){(e?this.ignoredGrid:this.grid).insert({bucketInstanceId:i,featureIndex:o,collisionGroupID:r},t[0],t[1],t[2],t[3]);},he.prototype.insertCollisionCircles=function(t,e,i,o,r){for(var a=e?this.ignoredGrid:this.grid,n={bucketInstanceId:i,featureIndex:o,collisionGroupID:r},s=0;s<t.length;s+=4)a.insertCircle(n,t[s],t[s+1],t[s+2]);},he.prototype.projectAndGetPerspectiveRatio=function(e,i,o){var r=[i,o,0,1];return ue(r,r,e),{point:new t.Point((r[0]/r[3]+1)/2*this.transform.width+100,(-r[1]/r[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/r[3]*.5}},he.prototype.isOffscreen=function(t,e,i,o){return i<100||t>=this.screenRightBoundary||o<100||e>this.screenBottomBoundary},he.prototype.isInsideGrid=function(t,e,i,o){return i>=0&&t<this.gridRightBoundary&&o>=0&&e<this.gridBottomBoundary},he.prototype.getViewportMatrix=function(){var e=t.identity([]);return t.translate(e,e,[-100,-100,0]),e};var de=function(t,e,i,o){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):o&&i?1:0,this.placed=i;};de.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var _e=function(t,e,i,o,r){this.text=new de(t?t.text:null,e,i,r),this.icon=new de(t?t.icon:null,e,o,r);};_e.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var fe=function(t,e,i){this.text=t,this.icon=e,this.skipFade=i;},me=function(){this.invProjMatrix=t.create(),this.viewportMatrix=t.create(),this.circles=[];},ge=function(t,e,i,o,r){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=i,this.bucketIndex=o,this.tileID=r;},ve=function(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={};};function ye(e,i,o,r,a){var n=t.getAnchorAlignment(e),s=-(n.horizontalAlign-.5)*i,l=-(n.verticalAlign-.5)*o,c=t.evaluateVariableOffset(e,r);return new t.Point(s+c[0]*a,l+c[1]*a)}function xe(e,i,o,r,a,n){var s=e.x1,l=e.x2,c=e.y1,u=e.y2,h=e.anchorPointX,p=e.anchorPointY,d=new t.Point(i,o);return r&&d._rotate(a?n:-n),{x1:s+d.x,y1:c+d.y,x2:l+d.x,y2:u+d.y,anchorPointX:h,anchorPointY:p}}ve.prototype.get=function(t){if(this.crossSourceCollisions)return {ID:0,predicate:null};if(!this.collisionGroups[t]){var e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:function(t){return t.collisionGroupID===e}};}return this.collisionGroups[t]};var be=function(t,e,i,o){this.transform=t.clone(),this.collisionIndex=new he(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=e,this.retainedQueryData={},this.collisionGroups=new ve(i),this.collisionCircleArrays={},this.prevPlacement=o,o&&(o.prevPlacement=void 0),this.placedOrientations={};};function we(t,e,i,o,r){t.emplaceBack(e?1:0,i?1:0,o||0,r||0),t.emplaceBack(e?1:0,i?1:0,o||0,r||0),t.emplaceBack(e?1:0,i?1:0,o||0,r||0),t.emplaceBack(e?1:0,i?1:0,o||0,r||0);}be.prototype.getBucketParts=function(e,i,o,r){var a=o.getBucket(i),n=o.latestFeatureIndex;if(a&&n&&i.id===a.layerIds[0]){var s=o.collisionBoxArray,l=a.layers[0].layout,c=Math.pow(2,this.transform.zoom-o.tileID.overscaledZ),u=o.tileSize/t.EXTENT,h=this.transform.calculatePosMatrix(o.tileID.toUnwrapped()),p=\"map\"===l.get(\"text-pitch-alignment\"),d=\"map\"===l.get(\"text-rotation-alignment\"),_=pe(o,1,this.transform.zoom),f=Jt(h,p,d,this.transform,_),m=null;if(p){var g=Qt(h,p,d,this.transform,_);m=t.multiply([],this.transform.labelPlaneMatrix,g);}this.retainedQueryData[a.bucketInstanceId]=new ge(a.bucketInstanceId,n,a.sourceLayerIndex,a.index,o.tileID);var v={bucket:a,layout:l,posMatrix:h,textLabelPlaneMatrix:f,labelToScreenMatrix:m,scale:c,textPixelRatio:u,holdingForFade:o.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(r)for(var y=0,x=a.sortKeyRanges;y<x.length;y+=1){var b=x[y];e.push({sortKey:b.sortKey,symbolInstanceStart:b.symbolInstanceStart,symbolInstanceEnd:b.symbolInstanceEnd,parameters:v});}else e.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:v});}},be.prototype.attemptAnchorPlacement=function(t,e,i,o,r,a,n,s,l,c,u,h,p,d,_){var f,m=[h.textOffset0,h.textOffset1],g=ye(t,i,o,m,r),v=this.collisionIndex.placeCollisionBox(xe(e,g.x,g.y,a,n,this.transform.angle),u,s,l,c.predicate);if(!_||0!==this.collisionIndex.placeCollisionBox(xe(_,g.x,g.y,a,n,this.transform.angle),u,s,l,c.predicate).box.length)return v.box.length>0?(this.prevPlacement&&this.prevPlacement.variableOffsets[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID].text&&(f=this.prevPlacement.variableOffsets[h.crossTileID].anchor),this.variableOffsets[h.crossTileID]={textOffset:m,width:i,height:o,anchor:t,textBoxScale:r,prevAnchor:f},this.markUsedJustification(p,t,h,d),p.allowVerticalPlacement&&(this.markUsedOrientation(p,d,h),this.placedOrientations[h.crossTileID]=d),{shift:g,placedGlyphBoxes:v}):void 0},be.prototype.placeLayerBucketPart=function(e,i,o){var r=this,a=e.parameters,n=a.bucket,s=a.layout,l=a.posMatrix,c=a.textLabelPlaneMatrix,u=a.labelToScreenMatrix,h=a.textPixelRatio,p=a.holdingForFade,d=a.collisionBoxArray,_=a.partiallyEvaluatedTextSize,f=a.collisionGroup,m=s.get(\"text-optional\"),g=s.get(\"icon-optional\"),v=s.get(\"text-allow-overlap\"),y=s.get(\"icon-allow-overlap\"),x=\"map\"===s.get(\"text-rotation-alignment\"),b=\"map\"===s.get(\"text-pitch-alignment\"),w=\"none\"!==s.get(\"icon-text-fit\"),T=\"viewport-y\"===s.get(\"symbol-z-order\"),E=v&&(y||!n.hasIconData()||g),I=y&&(v||!n.hasTextData()||m);!n.collisionArrays&&d&&n.deserializeCollisionBoxes(d);var P=function(e,a){if(!i[e.crossTileID])if(p)r.placements[e.crossTileID]=new fe(!1,!1,!1);else {var d,T=!1,P=!1,S=!0,C=null,z={box:null,offscreen:null},D={box:null,offscreen:null},A=null,M=null,L=0,R=0,k=0;a.textFeatureIndex?L=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(L=e.featureIndex),a.verticalTextFeatureIndex&&(R=a.verticalTextFeatureIndex);var B=a.textBox;if(B){var O=function(i){var o=t.WritingMode.horizontal;if(n.allowVerticalPlacement&&!i&&r.prevPlacement){var a=r.prevPlacement.placedOrientations[e.crossTileID];a&&(r.placedOrientations[e.crossTileID]=a,r.markUsedOrientation(n,o=a,e));}return o},F=function(i,o){if(n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var r=0,s=n.writingModes;r<s.length&&(s[r]===t.WritingMode.vertical?(z=o(),D=z):z=i(),!(z&&z.box&&z.box.length));r+=1);else z=i();};if(s.get(\"text-variable-anchor\")){var U=s.get(\"text-variable-anchor\");if(r.prevPlacement&&r.prevPlacement.variableOffsets[e.crossTileID]){var N=r.prevPlacement.variableOffsets[e.crossTileID];U.indexOf(N.anchor)>0&&(U=U.filter((function(t){return t!==N.anchor}))).unshift(N.anchor);}var Z=function(t,i,o){for(var a=t.x2-t.x1,s=t.y2-t.y1,c=e.textBoxScale,u=w&&!y?i:null,p={box:[],offscreen:!1},d=v?2*U.length:U.length,_=0;_<d;++_){var m=r.attemptAnchorPlacement(U[_%U.length],t,a,s,c,x,b,h,l,f,_>=U.length,e,n,o,u);if(m&&(p=m.placedGlyphBoxes)&&p.box&&p.box.length){T=!0,C=m.shift;break}}return p};F((function(){return Z(B,a.iconBox,t.WritingMode.horizontal)}),(function(){var i=a.verticalTextBox;return n.allowVerticalPlacement&&!(z&&z.box&&z.box.length)&&e.numVerticalGlyphVertices>0&&i?Z(i,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),z&&(T=z.box,S=z.offscreen);var q=O(z&&z.box);if(!T&&r.prevPlacement){var j=r.prevPlacement.variableOffsets[e.crossTileID];j&&(r.variableOffsets[e.crossTileID]=j,r.markUsedJustification(n,j.anchor,e,q));}}else {var V=function(t,i){var o=r.collisionIndex.placeCollisionBox(t,v,h,l,f.predicate);return o&&o.box&&o.box.length&&(r.markUsedOrientation(n,i,e),r.placedOrientations[e.crossTileID]=i),o};F((function(){return V(B,t.WritingMode.horizontal)}),(function(){var i=a.verticalTextBox;return n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&i?V(i,t.WritingMode.vertical):{box:null,offscreen:null}})),O(z&&z.box&&z.box.length);}}if(T=(d=z)&&d.box&&d.box.length>0,S=d&&d.offscreen,e.useRuntimeCollisionCircles){var G=n.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),W=t.evaluateSizeForFeature(n.textSizeData,_,G),X=s.get(\"text-padding\");A=r.collisionIndex.placeCollisionCircles(v,G,n.lineVertexArray,n.glyphOffsetArray,W,l,c,u,o,b,f.predicate,e.collisionCircleDiameter,X),T=v||A.circles.length>0&&!A.collisionDetected,S=S&&A.offscreen;}if(a.iconFeatureIndex&&(k=a.iconFeatureIndex),a.iconBox){var H=function(t){var e=w&&C?xe(t,C.x,C.y,x,b,r.transform.angle):t;return r.collisionIndex.placeCollisionBox(e,y,h,l,f.predicate)};P=D&&D.box&&D.box.length&&a.verticalIconBox?(M=H(a.verticalIconBox)).box.length>0:(M=H(a.iconBox)).box.length>0,S=S&&M.offscreen;}var K=m||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,Y=g||0===e.numIconVertices;if(K||Y?Y?K||(P=P&&T):T=P&&T:P=T=P&&T,T&&d&&d.box&&r.collisionIndex.insertCollisionBox(d.box,s.get(\"text-ignore-placement\"),n.bucketInstanceId,D&&D.box&&R?R:L,f.ID),P&&M&&r.collisionIndex.insertCollisionBox(M.box,s.get(\"icon-ignore-placement\"),n.bucketInstanceId,k,f.ID),A&&(T&&r.collisionIndex.insertCollisionCircles(A.circles,s.get(\"text-ignore-placement\"),n.bucketInstanceId,L,f.ID),o)){var J=n.bucketInstanceId,Q=r.collisionCircleArrays[J];void 0===Q&&(Q=r.collisionCircleArrays[J]=new me);for(var $=0;$<A.circles.length;$+=4)Q.circles.push(A.circles[$+0]),Q.circles.push(A.circles[$+1]),Q.circles.push(A.circles[$+2]),Q.circles.push(A.collisionDetected?1:0);}r.placements[e.crossTileID]=new fe(T||E,P||I,S||n.justReloaded),i[e.crossTileID]=!0;}};if(T)for(var S=n.getSortedSymbolIndexes(this.transform.angle),C=S.length-1;C>=0;--C){var z=S[C];P(n.symbolInstances.get(z),n.collisionArrays[z]);}else for(var D=e.symbolInstanceStart;D<e.symbolInstanceEnd;D++)P(n.symbolInstances.get(D),n.collisionArrays[D]);if(o&&n.bucketInstanceId in this.collisionCircleArrays){var A=this.collisionCircleArrays[n.bucketInstanceId];t.invert(A.invProjMatrix,l),A.viewportMatrix=this.collisionIndex.getViewportMatrix();}n.justReloaded=!1;},be.prototype.markUsedJustification=function(e,i,o,r){var a;a=r===t.WritingMode.vertical?o.verticalPlacedTextSymbolIndex:{left:o.leftJustifiedTextSymbolIndex,center:o.centerJustifiedTextSymbolIndex,right:o.rightJustifiedTextSymbolIndex}[t.getAnchorJustification(i)];for(var n=0,s=[o.leftJustifiedTextSymbolIndex,o.centerJustifiedTextSymbolIndex,o.rightJustifiedTextSymbolIndex,o.verticalPlacedTextSymbolIndex];n<s.length;n+=1){var l=s[n];l>=0&&(e.text.placedSymbolArray.get(l).crossTileID=a>=0&&l!==a?0:o.crossTileID);}},be.prototype.markUsedOrientation=function(e,i,o){for(var r=i===t.WritingMode.horizontal||i===t.WritingMode.horizontalOnly?i:0,a=i===t.WritingMode.vertical?i:0,n=0,s=[o.leftJustifiedTextSymbolIndex,o.centerJustifiedTextSymbolIndex,o.rightJustifiedTextSymbolIndex];n<s.length;n+=1)e.text.placedSymbolArray.get(s[n]).placedOrientation=r;o.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(o.verticalPlacedTextSymbolIndex).placedOrientation=a);},be.prototype.commit=function(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;var e=this.prevPlacement,i=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;var o=e?e.symbolFadeChange(t):1,r=e?e.opacities:{},a=e?e.variableOffsets:{},n=e?e.placedOrientations:{};for(var s in this.placements){var l=this.placements[s],c=r[s];c?(this.opacities[s]=new _e(c,o,l.text,l.icon),i=i||l.text!==c.text.placed||l.icon!==c.icon.placed):(this.opacities[s]=new _e(null,o,l.text,l.icon,l.skipFade),i=i||l.text||l.icon);}for(var u in r){var h=r[u];if(!this.opacities[u]){var p=new _e(h,o,!1,!1);p.isHidden()||(this.opacities[u]=p,i=i||h.text.placed||h.icon.placed);}}for(var d in a)this.variableOffsets[d]||!this.opacities[d]||this.opacities[d].isHidden()||(this.variableOffsets[d]=a[d]);for(var _ in n)this.placedOrientations[_]||!this.opacities[_]||this.opacities[_].isHidden()||(this.placedOrientations[_]=n[_]);i?this.lastPlacementChangeTime=t:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t);},be.prototype.updateLayerOpacities=function(t,e){for(var i={},o=0,r=e;o<r.length;o+=1){var a=r[o],n=a.getBucket(t);n&&a.latestFeatureIndex&&t.id===n.layerIds[0]&&this.updateBucketOpacities(n,i,a.collisionBoxArray);}},be.prototype.updateBucketOpacities=function(e,i,o){var r=this;e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();var a=e.layers[0].layout,n=new _e(null,0,!1,!1,!0),s=a.get(\"text-allow-overlap\"),l=a.get(\"icon-allow-overlap\"),c=a.get(\"text-variable-anchor\"),u=\"map\"===a.get(\"text-rotation-alignment\"),h=\"map\"===a.get(\"text-pitch-alignment\"),p=\"none\"!==a.get(\"icon-text-fit\"),d=new _e(null,0,s&&(l||!e.hasIconData()||a.get(\"icon-optional\")),l&&(s||!e.hasTextData()||a.get(\"text-optional\")),!0);!e.collisionArrays&&o&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(o);for(var _=function(t,e,i){for(var o=0;o<e/4;o++)t.opacityVertexArray.emplaceBack(i);},f=function(o){var a=e.symbolInstances.get(o),s=a.numHorizontalGlyphVertices,l=a.numVerticalGlyphVertices,f=a.crossTileID,m=r.opacities[f];i[f]?m=n:m||(r.opacities[f]=m=d),i[f]=!0;var g=a.numIconVertices>0,v=r.placedOrientations[a.crossTileID],y=v===t.WritingMode.vertical,x=v===t.WritingMode.horizontal||v===t.WritingMode.horizontalOnly;if(s>0||l>0){var b=De(m.text);_(e.text,s,y?Ae:b),_(e.text,l,x?Ae:b);var w=m.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=w||y?1:0);})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=w||x?1:0);var T=r.variableOffsets[a.crossTileID];T&&r.markUsedJustification(e,T.anchor,a,v);var E=r.placedOrientations[a.crossTileID];E&&(r.markUsedJustification(e,\"left\",a,E),r.markUsedOrientation(e,E,a));}if(g){var I=De(m.icon),P=!(p&&a.verticalPlacedIconSymbolIndex&&y);a.placedIconSymbolIndex>=0&&(_(e.icon,a.numIconVertices,P?I:Ae),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=m.icon.isHidden()),a.verticalPlacedIconSymbolIndex>=0&&(_(e.icon,a.numVerticalIconVertices,P?Ae:I),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=m.icon.isHidden());}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var S=e.collisionArrays[o];if(S){var C=new t.Point(0,0);if(S.textBox||S.verticalTextBox){var z=!0;if(c){var D=r.variableOffsets[f];D?(C=ye(D.anchor,D.width,D.height,D.textOffset,D.textBoxScale),u&&C._rotate(h?r.transform.angle:-r.transform.angle)):z=!1;}S.textBox&&we(e.textCollisionBox.collisionVertexArray,m.text.placed,!z||y,C.x,C.y),S.verticalTextBox&&we(e.textCollisionBox.collisionVertexArray,m.text.placed,!z||x,C.x,C.y);}var A=Boolean(!x&&S.verticalIconBox);S.iconBox&&we(e.iconCollisionBox.collisionVertexArray,m.icon.placed,A,p?C.x:0,p?C.y:0),S.verticalIconBox&&we(e.iconCollisionBox.collisionVertexArray,m.icon.placed,!A,p?C.x:0,p?C.y:0);}}},m=0;m<e.symbolInstances.length;m++)f(m);if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.bucketInstanceId in this.collisionCircleArrays){var g=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=g.invProjMatrix,e.placementViewportMatrix=g.viewportMatrix,e.collisionCircleArray=g.circles,delete this.collisionCircleArrays[e.bucketInstanceId];}},be.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment},be.prototype.zoomAdjustment=function(t){return Math.max(0,(this.transform.zoom-t)/1.5)},be.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},be.prototype.stillRecent=function(t,e){var i=this.zoomAtLastRecencyCheck===e?1-this.zoomAdjustment(e):1;return this.zoomAtLastRecencyCheck=e,this.commitTime+this.fadeDuration*i>t},be.prototype.setStale=function(){this.stale=!0;};var Te=Math.pow(2,25),Ee=Math.pow(2,24),Ie=Math.pow(2,17),Pe=Math.pow(2,16),Se=Math.pow(2,9),Ce=Math.pow(2,8),ze=Math.pow(2,1);function De(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,i=Math.floor(127*t.opacity);return i*Te+e*Ee+i*Ie+e*Pe+i*Se+e*Ce+i*ze+e}var Ae=0,Me=function(t){this._sortAcrossTiles=\"viewport-y\"!==t.layout.get(\"symbol-z-order\")&&void 0!==t.layout.get(\"symbol-sort-key\").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[];};Me.prototype.continuePlacement=function(t,e,i,o,r){for(var a=this._bucketParts;this._currentTileIndex<t.length;)if(e.getBucketParts(a,o,t[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,r())return !0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,a.sort((function(t,e){return t.sortKey-e.sortKey})));this._currentPartIndex<a.length;)if(e.placeLayerBucketPart(a[this._currentPartIndex],this._seenCrossTileIDs,i),this._currentPartIndex++,r())return !0;return !1};var Le=function(t,e,i,o,r,a,n){this.placement=new be(t,r,a,n),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=i,this._showCollisionBoxes=o,this._done=!1;};Le.prototype.isDone=function(){return this._done},Le.prototype.continuePlacement=function(e,i,o){for(var r=this,a=t.browser.now(),n=function(){var e=t.browser.now()-a;return !r._forceFullPlacement&&e>2};this._currentPlacementIndex>=0;){var s=i[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Me(s)),this._inProgressLayer.continuePlacement(o[s.source],this.placement,this._showCollisionBoxes,s,n))return;delete this._inProgressLayer;}this._currentPlacementIndex--;}this._done=!0;},Le.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Re=512/t.EXTENT/2,ke=function(t,e,i){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=i;for(var o=0;o<e.length;o++){var r=e.get(o),a=r.key;this.indexedSymbolInstances[a]||(this.indexedSymbolInstances[a]=[]),this.indexedSymbolInstances[a].push({crossTileID:r.crossTileID,coord:this.getScaledCoordinates(r,t)});}};ke.prototype.getScaledCoordinates=function(e,i){var o=Re/Math.pow(2,i.canonical.z-this.tileID.canonical.z);return {x:Math.floor((i.canonical.x*t.EXTENT+e.anchorX)*o),y:Math.floor((i.canonical.y*t.EXTENT+e.anchorY)*o)}},ke.prototype.findMatches=function(t,e,i){for(var o=this.tileID.canonical.z<e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-e.canonical.z),r=0;r<t.length;r++){var a=t.get(r);if(!a.crossTileID){var n=this.indexedSymbolInstances[a.key];if(n)for(var s=this.getScaledCoordinates(a,e),l=0,c=n;l<c.length;l+=1){var u=c[l];if(Math.abs(u.coord.x-s.x)<=o&&Math.abs(u.coord.y-s.y)<=o&&!i[u.crossTileID]){i[u.crossTileID]=!0,a.crossTileID=u.crossTileID;break}}}}};var Be=function(){this.maxCrossTileID=0;};Be.prototype.generate=function(){return ++this.maxCrossTileID};var Oe=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0;};Oe.prototype.handleWrapJump=function(t){var e=Math.round((t-this.lng)/360);if(0!==e)for(var i in this.indexes){var o=this.indexes[i],r={};for(var a in o){var n=o[a];n.tileID=n.tileID.unwrapTo(n.tileID.wrap+e),r[n.tileID.key]=n;}this.indexes[i]=r;}this.lng=t;},Oe.prototype.addBucket=function(t,e,i){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return !1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key]);}for(var o=0;o<e.symbolInstances.length;o++)e.symbolInstances.get(o).crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var r=this.usedCrossTileIDs[t.overscaledZ];for(var a in this.indexes){var n=this.indexes[a];if(Number(a)>t.overscaledZ)for(var s in n){var l=n[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,r);}else {var c=n[t.scaledTo(Number(a)).key];c&&c.findMatches(e.symbolInstances,t,r);}}for(var u=0;u<e.symbolInstances.length;u++){var h=e.symbolInstances.get(u);h.crossTileID||(h.crossTileID=i.generate(),r[h.crossTileID]=!0);}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new ke(t,e.symbolInstances,e.bucketInstanceId),!0},Oe.prototype.removeBucketCrossTileIDs=function(t,e){for(var i in e.indexedSymbolInstances)for(var o=0,r=e.indexedSymbolInstances[i];o<r.length;o+=1)delete this.usedCrossTileIDs[t][r[o].crossTileID];},Oe.prototype.removeStaleBuckets=function(t){var e=!1;for(var i in this.indexes){var o=this.indexes[i];for(var r in o)t[o[r].bucketInstanceId]||(this.removeBucketCrossTileIDs(i,o[r]),delete o[r],e=!0);}return e};var Fe=function(){this.layerIndexes={},this.crossTileIDs=new Be,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={};};Fe.prototype.addLayer=function(t,e,i){var o=this.layerIndexes[t.id];void 0===o&&(o=this.layerIndexes[t.id]=new Oe);var r=!1,a={};o.handleWrapJump(i);for(var n=0,s=e;n<s.length;n+=1){var l=s[n],c=l.getBucket(t);c&&t.id===c.layerIds[0]&&(c.bucketInstanceId||(c.bucketInstanceId=++this.maxBucketInstanceId),o.addBucket(l.tileID,c,this.crossTileIDs)&&(r=!0),a[c.bucketInstanceId]=!0);}return o.removeStaleBuckets(a)&&(r=!0),r},Fe.prototype.pruneUnusedLayers=function(t){var e={};for(var i in t.forEach((function(t){e[t]=!0;})),this.layerIndexes)e[i]||delete this.layerIndexes[i];};var Ue=function(e,i){return t.emitValidationErrors(e,i&&i.filter((function(t){return \"source.canvas\"!==t.identifier})))},Ne=t.pick(Zt,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\"]),Ze=t.pick(Zt,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),qe=function(){var e={},i=t.styleSpec.$version;for(var o in t.styleSpec.$root){var r,a=t.styleSpec.$root[o];if(a.required)null!=(r=\"version\"===o?i:\"array\"===a.type?[]:{})&&(e[o]=r);}return e}(),je=function(e){function i(o,r){var a=this;void 0===r&&(r={}),e.call(this),this.map=o,this.dispatcher=new E(Ft(),this),this.imageManager=new p,this.imageManager.setEventedParent(this),this.glyphManager=new y(o._requestManager,r.localIdeographFontFamily),this.lineAtlas=new T(256,512),this.crossTileSymbolIndex=new Fe,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",t.getReferrer());var n=this;this._rtlTextPluginCallback=i.registerForPluginStateChange((function(e){n.dispatcher.broadcast(\"syncRTLPluginState\",{pluginStatus:e.pluginStatus,pluginURL:e.pluginURL},(function(e,i){if(t.triggerPluginCompletionEvent(e),i&&i.every((function(t){return t})))for(var o in n.sourceCaches)n.sourceCaches[o].reload();}));})),this.on(\"data\",(function(t){if(\"source\"===t.dataType&&\"metadata\"===t.sourceDataType){var e=a.sourceCaches[t.sourceId];if(e){var i=e.getSource();if(i&&i.vectorLayerIds)for(var o in a._layers){var r=a._layers[o];r.source===i.id&&a._validateLayer(r);}}}}));}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.loadURL=function(e,i){var o=this;void 0===i&&(i={}),this.fire(new t.Event(\"dataloading\",{dataType:\"style\"}));var r=\"boolean\"==typeof i.validate?i.validate:!t.isMapboxURL(e);e=this.map._requestManager.normalizeStyleURL(e,i.accessToken);var a=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(a,(function(e,i){o._request=null,e?o.fire(new t.ErrorEvent(e)):i&&o._load(i,r);}));},i.prototype.loadJSON=function(e,i){var o=this;void 0===i&&(i={}),this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),this._request=t.browser.frame((function(){o._request=null,o._load(e,!1!==i.validate);}));},i.prototype.loadEmpty=function(){this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),this._load(qe,!1);},i.prototype._load=function(e,i){if(!i||!Ue(this,t.validateStyle(e))){for(var o in this._loaded=!0,this.stylesheet=e,e.sources)this.addSource(o,e.sources[o],{validate:!1});e.sprite?this._loadSprite(e.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);var r=Nt(this.stylesheet.layers);this._order=r.map((function(t){return t.id})),this._layers={},this._serializedLayers={};for(var a=0,n=r;a<n.length;a+=1){var s=n[a];(s=t.createStyleLayer(s)).setEventedParent(this,{layer:{id:s.id}}),this._layers[s.id]=s,this._serializedLayers[s.id]=s.serialize();}this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new w(this.stylesheet.light),this.fire(new t.Event(\"data\",{dataType:\"style\"})),this.fire(new t.Event(\"style.load\"));}},i.prototype._loadSprite=function(e){var i=this;this._spriteRequest=function(e,i,o){var r,a,n,s=t.browser.devicePixelRatio>1?\"@2x\":\"\",l=t.getJSON(i.transformRequest(i.normalizeSpriteURL(e,s,\".json\"),t.ResourceType.SpriteJSON),(function(t,e){l=null,n||(n=t,r=e,u());})),c=t.getImage(i.transformRequest(i.normalizeSpriteURL(e,s,\".png\"),t.ResourceType.SpriteImage),(function(t,e){c=null,n||(n=t,a=e,u());}));function u(){if(n)o(n);else if(r&&a){var e=t.browser.getImageData(a),i={};for(var s in r){var l=r[s],c=l.width,u=l.height,h=l.x,p=l.y,d=l.sdf,_=l.pixelRatio,f=l.stretchX,m=l.stretchY,g=l.content,v=new t.RGBAImage({width:c,height:u});t.RGBAImage.copy(e,v,{x:h,y:p},{x:0,y:0},{width:c,height:u}),i[s]={data:v,pixelRatio:_,sdf:d,stretchX:f,stretchY:m,content:g};}o(null,i);}}return {cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null);}}}(e,this.map._requestManager,(function(e,o){if(i._spriteRequest=null,e)i.fire(new t.ErrorEvent(e));else if(o)for(var r in o)i.imageManager.addImage(r,o[r]);i.imageManager.setLoaded(!0),i._availableImages=i.imageManager.listImages(),i.dispatcher.broadcast(\"setImages\",i._availableImages),i.fire(new t.Event(\"data\",{dataType:\"style\"}));}));},i.prototype._validateLayer=function(e){var i=this.sourceCaches[e.source];if(i){var o=e.sourceLayer;if(o){var r=i.getSource();(\"geojson\"===r.type||r.vectorLayerIds&&-1===r.vectorLayerIds.indexOf(o))&&this.fire(new t.ErrorEvent(new Error('Source layer \"'+o+'\" does not exist on source \"'+r.id+'\" as specified by style layer \"'+e.id+'\"')));}}},i.prototype.loaded=function(){if(!this._loaded)return !1;if(Object.keys(this._updatedSources).length)return !1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return !1;return !!this.imageManager.isLoaded()},i.prototype._serializeLayers=function(t){for(var e=[],i=0,o=t;i<o.length;i+=1){var r=this._layers[o[i]];\"custom\"!==r.type&&e.push(r.serialize());}return e},i.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return !0;for(var t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return !0;for(var e in this._layers)if(this._layers[e].hasTransition())return !0;return !1},i.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},i.prototype.update=function(e){if(this._loaded){var i=this._changed;if(this._changed){var o=Object.keys(this._updatedLayers),r=Object.keys(this._removedLayers);for(var a in (o.length||r.length)&&this._updateWorkerLayers(o,r),this._updatedSources){var n=this._updatedSources[a];\"reload\"===n?this._reloadSource(a):\"clear\"===n&&this._clearSource(a);}for(var s in this._updateTilesForChangedImages(),this._updatedPaintProps)this._layers[s].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates();}var l={};for(var c in this.sourceCaches){var u=this.sourceCaches[c];l[c]=u.used,u.used=!1;}for(var h=0,p=this._order;h<p.length;h+=1){var d=this._layers[p[h]];d.recalculate(e,this._availableImages),!d.isHidden(e.zoom)&&d.source&&(this.sourceCaches[d.source].used=!0);}for(var _ in l){var f=this.sourceCaches[_];l[_]!==f.used&&f.fire(new t.Event(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:_}));}this.light.recalculate(e),this.z=e.zoom,i&&this.fire(new t.Event(\"data\",{dataType:\"style\"}));}},i.prototype._updateTilesForChangedImages=function(){var t=Object.keys(this._changedImages);if(t.length){for(var e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies([\"icons\",\"patterns\"],t);this._changedImages={};}},i.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(t),removedIds:e});},i.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={};},i.prototype.setState=function(e){var i=this;if(this._checkLoaded(),Ue(this,t.validateStyle(e)))return !1;(e=t.clone$1(e)).layers=Nt(e.layers);var o=function(e,i){if(!e)return [{command:Zt.setStyle,args:[i]}];var o=[];try{if(!t.deepEqual(e.version,i.version))return [{command:Zt.setStyle,args:[i]}];t.deepEqual(e.center,i.center)||o.push({command:Zt.setCenter,args:[i.center]}),t.deepEqual(e.zoom,i.zoom)||o.push({command:Zt.setZoom,args:[i.zoom]}),t.deepEqual(e.bearing,i.bearing)||o.push({command:Zt.setBearing,args:[i.bearing]}),t.deepEqual(e.pitch,i.pitch)||o.push({command:Zt.setPitch,args:[i.pitch]}),t.deepEqual(e.sprite,i.sprite)||o.push({command:Zt.setSprite,args:[i.sprite]}),t.deepEqual(e.glyphs,i.glyphs)||o.push({command:Zt.setGlyphs,args:[i.glyphs]}),t.deepEqual(e.transition,i.transition)||o.push({command:Zt.setTransition,args:[i.transition]}),t.deepEqual(e.light,i.light)||o.push({command:Zt.setLight,args:[i.light]});var r={},a=[];!function(e,i,o,r){var a;for(a in i=i||{},e=e||{})e.hasOwnProperty(a)&&(i.hasOwnProperty(a)||jt(a,o,r));for(a in i)i.hasOwnProperty(a)&&(e.hasOwnProperty(a)?t.deepEqual(e[a],i[a])||(\"geojson\"===e[a].type&&\"geojson\"===i[a].type&&Gt(e,i,a)?o.push({command:Zt.setGeoJSONSourceData,args:[a,i[a].data]}):Vt(a,i,o,r)):qt(a,i,o));}(e.sources,i.sources,a,r);var n=[];e.layers&&e.layers.forEach((function(t){r[t.source]?o.push({command:Zt.removeLayer,args:[t.id]}):n.push(t);})),o=o.concat(a),function(e,i,o){i=i||[];var r,a,n,s,l,c,u,h=(e=e||[]).map(Xt),p=i.map(Xt),d=e.reduce(Ht,{}),_=i.reduce(Ht,{}),f=h.slice(),m=Object.create(null);for(r=0,a=0;r<h.length;r++)_.hasOwnProperty(n=h[r])?a++:(o.push({command:Zt.removeLayer,args:[n]}),f.splice(f.indexOf(n,a),1));for(r=0,a=0;r<p.length;r++)f[f.length-1-r]!==(n=p[p.length-1-r])&&(d.hasOwnProperty(n)?(o.push({command:Zt.removeLayer,args:[n]}),f.splice(f.lastIndexOf(n,f.length-a),1)):a++,o.push({command:Zt.addLayer,args:[_[n],c=f[f.length-r]]}),f.splice(f.length-r,0,n),m[n]=!0);for(r=0;r<p.length;r++)if(s=d[n=p[r]],l=_[n],!m[n]&&!t.deepEqual(s,l))if(t.deepEqual(s.source,l.source)&&t.deepEqual(s[\"source-layer\"],l[\"source-layer\"])&&t.deepEqual(s.type,l.type)){for(u in Wt(s.layout,l.layout,o,n,null,Zt.setLayoutProperty),Wt(s.paint,l.paint,o,n,null,Zt.setPaintProperty),t.deepEqual(s.filter,l.filter)||o.push({command:Zt.setFilter,args:[n,l.filter]}),t.deepEqual(s.minzoom,l.minzoom)&&t.deepEqual(s.maxzoom,l.maxzoom)||o.push({command:Zt.setLayerZoomRange,args:[n,l.minzoom,l.maxzoom]}),s)s.hasOwnProperty(u)&&\"layout\"!==u&&\"paint\"!==u&&\"filter\"!==u&&\"metadata\"!==u&&\"minzoom\"!==u&&\"maxzoom\"!==u&&(0===u.indexOf(\"paint.\")?Wt(s[u],l[u],o,n,u.slice(6),Zt.setPaintProperty):t.deepEqual(s[u],l[u])||o.push({command:Zt.setLayerProperty,args:[n,u,l[u]]}));for(u in l)l.hasOwnProperty(u)&&!s.hasOwnProperty(u)&&\"layout\"!==u&&\"paint\"!==u&&\"filter\"!==u&&\"metadata\"!==u&&\"minzoom\"!==u&&\"maxzoom\"!==u&&(0===u.indexOf(\"paint.\")?Wt(s[u],l[u],o,n,u.slice(6),Zt.setPaintProperty):t.deepEqual(s[u],l[u])||o.push({command:Zt.setLayerProperty,args:[n,u,l[u]]}));}else o.push({command:Zt.removeLayer,args:[n]}),c=f[f.lastIndexOf(n)+1],o.push({command:Zt.addLayer,args:[l,c]});}(n,i.layers,o);}catch(t){console.warn(\"Unable to compute style diff:\",t),o=[{command:Zt.setStyle,args:[i]}];}return o}(this.serialize(),e).filter((function(t){return !(t.command in Ze)}));if(0===o.length)return !1;var r=o.filter((function(t){return !(t.command in Ne)}));if(r.length>0)throw new Error(\"Unimplemented: \"+r.map((function(t){return t.command})).join(\", \")+\".\");return o.forEach((function(t){\"setTransition\"!==t.command&&i[t.command].apply(i,t.args);})),this.stylesheet=e,!0},i.prototype.addImage=function(e,i){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(e,i),this._afterImageUpdated(e);},i.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e);},i.prototype.getImage=function(t){return this.imageManager.getImage(t)},i.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(e),this._afterImageUpdated(e);},i.prototype._afterImageUpdated=function(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new t.Event(\"data\",{dataType:\"style\"}));},i.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},i.prototype.addSource=function(e,i,o){var r=this;if(void 0===o&&(o={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(\"There is already a source with this ID\");if(!i.type)throw new Error(\"The type property must be defined, but only the following properties were given: \"+Object.keys(i).join(\", \")+\".\");if(!([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(i.type)>=0&&this._validate(t.validateStyle.source,\"sources.\"+e,i,null,o))){this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Dt(e,i,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return {isSourceLoaded:r.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0;}},i.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");for(var i in this._layers)if(this._layers[i].source===e)return this.fire(new t.ErrorEvent(new Error('Source \"'+e+'\" cannot be removed while layer \"'+i+'\" is using it.')));var o=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],o.fire(new t.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:e})),o.setEventedParent(null),o.clearTiles(),o.onRemove&&o.onRemove(this.map),this._changed=!0;},i.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0;},i.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},i.prototype.addLayer=function(e,i,o){void 0===o&&(o={}),this._checkLoaded();var r=e.id;if(this.getLayer(r))this.fire(new t.ErrorEvent(new Error('Layer with id \"'+r+'\" already exists on this map')));else {var a;if(\"custom\"===e.type){if(Ue(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e);}else {if(\"object\"==typeof e.source&&(this.addSource(r,e.source),e=t.clone$1(e),e=t.extend(e,{source:r})),this._validate(t.validateStyle.layer,\"layers.\"+r,e,{arrayIndex:-1},o))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:r}}),this._serializedLayers[a.id]=a.serialize();}var n=i?this._order.indexOf(i):this._order.length;if(i&&-1===n)this.fire(new t.ErrorEvent(new Error('Layer with id \"'+i+'\" does not exist on this map.')));else {if(this._order.splice(n,0,r),this._layerOrderChanged=!0,this._layers[r]=a,this._removedLayers[r]&&a.source&&\"custom\"!==a.type){var s=this._removedLayers[r];delete this._removedLayers[r],s.type!==a.type?this._updatedSources[a.source]=\"clear\":(this._updatedSources[a.source]=\"reload\",this.sourceCaches[a.source].pause());}this._updateLayer(a),a.onAdd&&a.onAdd(this.map);}}},i.prototype.moveLayer=function(e,i){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==i){var o=this._order.indexOf(e);this._order.splice(o,1);var r=i?this._order.indexOf(i):this._order.length;i&&-1===r?this.fire(new t.ErrorEvent(new Error('Layer with id \"'+i+'\" does not exist on this map.'))):(this._order.splice(r,0,e),this._layerOrderChanged=!0);}}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be moved.\")));},i.prototype.removeLayer=function(e){this._checkLoaded();var i=this._layers[e];if(i){i.setEventedParent(null);var o=this._order.indexOf(e);this._order.splice(o,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=i,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],i.onRemove&&i.onRemove(this.map);}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be removed.\")));},i.prototype.getLayer=function(t){return this._layers[t]},i.prototype.hasLayer=function(t){return t in this._layers},i.prototype.setLayerZoomRange=function(e,i,o){this._checkLoaded();var r=this.getLayer(e);r?r.minzoom===i&&r.maxzoom===o||(null!=i&&(r.minzoom=i),null!=o&&(r.maxzoom=o),this._updateLayer(r)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")));},i.prototype.setFilter=function(e,i,o){void 0===o&&(o={}),this._checkLoaded();var r=this.getLayer(e);if(r){if(!t.deepEqual(r.filter,i))return null==i?(r.filter=void 0,void this._updateLayer(r)):void(this._validate(t.validateStyle.filter,\"layers.\"+r.id+\".filter\",i,null,o)||(r.filter=t.clone$1(i),this._updateLayer(r)))}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be filtered.\")));},i.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},i.prototype.setLayoutProperty=function(e,i,o,r){void 0===r&&(r={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(i),o)||(a.setLayoutProperty(i,o,r),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")));},i.prototype.getLayoutProperty=function(e,i){var o=this.getLayer(e);if(o)return o.getLayoutProperty(i);this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style.\")));},i.prototype.setPaintProperty=function(e,i,o,r){void 0===r&&(r={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(i),o)||(a.setPaintProperty(i,o,r)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")));},i.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},i.prototype.setFeatureState=function(e,i){this._checkLoaded();var o=e.source,r=e.sourceLayer,a=this.sourceCaches[o];if(void 0!==a){var n=a.getSource().type;\"geojson\"===n&&r?this.fire(new t.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):\"vector\"!==n||r?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),a.setFeatureState(r,e.id,i)):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+o+\"' does not exist in the map's style.\")));},i.prototype.removeFeatureState=function(e,i){this._checkLoaded();var o=e.source,r=this.sourceCaches[o];if(void 0!==r){var a=r.getSource().type,n=\"vector\"===a?e.sourceLayer:void 0;\"vector\"!==a||n?i&&\"string\"!=typeof e.id&&\"number\"!=typeof e.id?this.fire(new t.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\"))):r.removeFeatureState(n,e.id,i):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+o+\"' does not exist in the map's style.\")));},i.prototype.getFeatureState=function(e){this._checkLoaded();var i=e.source,o=e.sourceLayer,r=this.sourceCaches[i];if(void 0!==r){if(\"vector\"!==r.getSource().type||o)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),r.getFeatureState(o,e.id);this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+i+\"' does not exist in the map's style.\")));},i.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},i.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},i.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&\"raster\"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]=\"reload\",this.sourceCaches[t.source].pause()),this._changed=!0;},i.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,i=function(t){return \"fill-extrusion\"===e._layers[t].type},o={},r=[],a=this._order.length-1;a>=0;a--){var n=this._order[a];if(i(n)){o[n]=a;for(var s=0,l=t;s<l.length;s+=1){var c=l[s][n];if(c)for(var u=0,h=c;u<h.length;u+=1)r.push(h[u]);}}}r.sort((function(t,e){return e.intersectionZ-t.intersectionZ}));for(var p=[],d=this._order.length-1;d>=0;d--){var _=this._order[d];if(i(_))for(var f=r.length-1;f>=0;f--){var m=r[f].feature;if(o[m.layer.id]<d)break;p.push(m),r.pop();}else for(var g=0,v=t;g<v.length;g+=1){var y=v[g][_];if(y)for(var x=0,b=y;x<b.length;x+=1)p.push(b[x].feature);}}return p},i.prototype.queryRenderedFeatures=function(e,i,o){i&&i.filter&&this._validate(t.validateStyle.filter,\"queryRenderedFeatures.filter\",i.filter,null,i);var r={};if(i&&i.layers){if(!Array.isArray(i.layers))return this.fire(new t.ErrorEvent(new Error(\"parameters.layers must be an Array.\"))),[];for(var a=0,n=i.layers;a<n.length;a+=1){var s=n[a],l=this._layers[s];if(!l)return this.fire(new t.ErrorEvent(new Error(\"The layer '\"+s+\"' does not exist in the map's style and cannot be queried for features.\"))),[];r[l.source]=!0;}}var c=[];for(var u in i.availableImages=this._availableImages,this.sourceCaches)i.layers&&!r[u]||c.push(O(this.sourceCaches[u],this._layers,this._serializedLayers,e,i,o));return this.placement&&c.push(function(t,e,i,o,r,a,n){for(var s={},l=a.queryRenderedSymbols(o),c=[],u=0,h=Object.keys(l).map(Number);u<h.length;u+=1)c.push(n[h[u]]);c.sort(F);for(var p=function(){var i=_[d],o=i.featureIndex.lookupSymbolFeatures(l[i.bucketInstanceId],e,i.bucketIndex,i.sourceLayerIndex,r.filter,r.layers,r.availableImages,t);for(var a in o){var n=s[a]=s[a]||[],c=o[a];c.sort((function(t,e){var o=i.featureSortOrder;if(o){var r=o.indexOf(t.featureIndex);return o.indexOf(e.featureIndex)-r}return e.featureIndex-t.featureIndex}));for(var u=0,h=c;u<h.length;u+=1)n.push(h[u]);}},d=0,_=c;d<_.length;d+=1)p();var f=function(e){s[e].forEach((function(o){var r=o.feature,a=i[t[e].source].getFeatureState(r.layer[\"source-layer\"],r.id);r.source=r.layer.source,r.layer[\"source-layer\"]&&(r.sourceLayer=r.layer[\"source-layer\"]),r.state=a;}));};for(var m in s)f(m);return s}(this._layers,this._serializedLayers,this.sourceCaches,e,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(c)},i.prototype.querySourceFeatures=function(e,i){i&&i.filter&&this._validate(t.validateStyle.filter,\"querySourceFeatures.filter\",i.filter,null,i);var o=this.sourceCaches[e];return o?function(t,e){for(var i=t.getRenderableIds().map((function(e){return t.getTileByID(e)})),o=[],r={},a=0;a<i.length;a++){var n=i[a],s=n.tileID.canonical.key;r[s]||(r[s]=!0,n.querySourceFeatures(o,e));}return o}(o,i):[]},i.prototype.addSourceType=function(t,e,o){return i.getSourceType(t)?o(new Error('A source type called \"'+t+'\" already exists.')):(i.setSourceType(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:t,url:e.workerSourceURL},o):o(null,null))},i.prototype.getLight=function(){return this.light.getLight()},i.prototype.setLight=function(e,i){void 0===i&&(i={}),this._checkLoaded();var o=this.light.getLight(),r=!1;for(var a in e)if(!t.deepEqual(e[a],o[a])){r=!0;break}if(r){var n={now:t.browser.now(),transition:t.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,i),this.light.updateTransitions(n);}},i.prototype._validate=function(e,i,o,r,a){return void 0===a&&(a={}),(!a||!1!==a.validate)&&Ue(this,e.call(t.validateStyle,t.extend({key:i,style:this.serialize(),value:o,styleSpec:t.styleSpec},r)))},i.prototype._remove=function(){for(var e in this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),t.evented.off(\"pluginStateChange\",this._rtlTextPluginCallback),this._layers)this._layers[e].setEventedParent(null);for(var i in this.sourceCaches)this.sourceCaches[i].clearTiles(),this.sourceCaches[i].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove();},i.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles();},i.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload();},i.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t);},i.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t);},i.prototype._updatePlacement=function(e,i,o,r,a){void 0===a&&(a=!1);for(var n=!1,s=!1,l={},c=0,u=this._order;c<u.length;c+=1){var h=this._layers[u[c]];if(\"symbol\"===h.type){if(!l[h.source]){var p=this.sourceCaches[h.source];l[h.source]=p.getRenderableIds(!0).map((function(t){return p.getTileByID(t)})).sort((function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)}));}var d=this.crossTileSymbolIndex.addLayer(h,l[h.source],e.center.lng);n=n||d;}}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((a=a||this._layerOrderChanged||0===o)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.browser.now(),e.zoom))&&(this.pauseablePlacement=new Le(e,this._order,a,i,o,r,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(t.browser.now()),s=!0),n&&this.pauseablePlacement.placement.setStale()),s||n)for(var _=0,f=this._order;_<f.length;_+=1){var m=this._layers[f[_]];\"symbol\"===m.type&&this.placement.updateLayerOpacities(m,l[m.source]);}return !this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.browser.now())},i.prototype._releaseSymbolFadeTiles=function(){for(var t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles();},i.prototype.getImages=function(t,e,i){this.imageManager.getImages(e.icons,i),this._updateTilesForChangedImages();var o=this.sourceCaches[e.source];o&&o.setDependencies(e.tileID.key,e.type,e.icons);},i.prototype.getGlyphs=function(t,e,i){this.glyphManager.getGlyphs(e.stacks,i);},i.prototype.getResource=function(e,i,o){return t.makeRequest(i,o)},i}(t.Evented);je.getSourceType=function(t){return k[t]},je.setSourceType=function(t,e){k[t]=e;},je.registerForPluginStateChange=t.registerForPluginStateChange;var Ve=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2}]),Ge=gi(\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\",\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\"),We=gi(\"uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),Xe=gi(\"uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),He=gi(\"varying vec3 v_data;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main(void) {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}\"),Ke=gi(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),Ye=gi(\"uniform highp float u_intensity;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main() {\\n#pragma mapbox: initialize highp float weight\\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#pragma mapbox: define mediump float radius\\nconst highp float ZERO=1.0/255.0/16.0;\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main(void) {\\n#pragma mapbox: initialize highp float weight\\n#pragma mapbox: initialize mediump float radius\\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}\"),Je=gi(\"uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(0.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),Qe=gi(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),$e=gi(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),ti=gi(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}\"),ei=gi(\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_FragColor=color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);}\"),ii=gi(\"varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),oi=gi(\"uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),ri=gi(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}\"),ai=gi(\"varying vec4 v_color;void main() {gl_FragColor=v_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\\n#pragma mapbox: define highp float base\\n#pragma mapbox: define highp float height\\n#pragma mapbox: define highp vec4 color\\nvoid main() {\\n#pragma mapbox: initialize highp float base\\n#pragma mapbox: initialize highp float height\\n#pragma mapbox: initialize highp vec4 color\\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}\"),ni=gi(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\\n? a_pos\\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}\"),si=gi(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),li=gi(\"uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\\n#define PI 3.141592653589793\\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),ci=gi(\"uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),ui=gi(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),hi=gi(\"uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}\"),pi=gi(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}\"),di=gi(\"uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),_i=gi(\"uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}\"),fi=gi(\"#define SDF_PX 8.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}\"),mi=gi(\"#define SDF_PX 8.0\\n#define SDF 1.0\\n#define ICON 0.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}\");function gi(t,e){var i=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,o=e.match(/attribute ([\\w]+) ([\\w]+)/g),r=t.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),a=e.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),n=a?a.concat(r):r,s={};return {fragmentSource:t=t.replace(i,(function(t,e,i,o,r){return s[r]=!0,\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\nvarying \"+i+\" \"+o+\" \"+r+\";\\n#else\\nuniform \"+i+\" \"+o+\" u_\"+r+\";\\n#endif\\n\":\"\\n#ifdef HAS_UNIFORM_u_\"+r+\"\\n \"+i+\" \"+o+\" \"+r+\" = u_\"+r+\";\\n#endif\\n\"})),vertexSource:e=e.replace(i,(function(t,e,i,o,r){var a=\"float\"===o?\"vec2\":\"vec4\",n=r.match(/color/)?\"color\":a;return s[r]?\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\nuniform lowp float u_\"+r+\"_t;\\nattribute \"+i+\" \"+a+\" a_\"+r+\";\\nvarying \"+i+\" \"+o+\" \"+r+\";\\n#else\\nuniform \"+i+\" \"+o+\" u_\"+r+\";\\n#endif\\n\":\"vec4\"===n?\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\n \"+r+\" = a_\"+r+\";\\n#else\\n \"+i+\" \"+o+\" \"+r+\" = u_\"+r+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\n \"+r+\" = unpack_mix_\"+n+\"(a_\"+r+\", u_\"+r+\"_t);\\n#else\\n \"+i+\" \"+o+\" \"+r+\" = u_\"+r+\";\\n#endif\\n\":\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\nuniform lowp float u_\"+r+\"_t;\\nattribute \"+i+\" \"+a+\" a_\"+r+\";\\n#else\\nuniform \"+i+\" \"+o+\" u_\"+r+\";\\n#endif\\n\":\"vec4\"===n?\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\n \"+i+\" \"+o+\" \"+r+\" = a_\"+r+\";\\n#else\\n \"+i+\" \"+o+\" \"+r+\" = u_\"+r+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\n \"+i+\" \"+o+\" \"+r+\" = unpack_mix_\"+n+\"(a_\"+r+\", u_\"+r+\"_t);\\n#else\\n \"+i+\" \"+o+\" \"+r+\" = u_\"+r+\";\\n#endif\\n\"})),staticAttributes:o,staticUniforms:n}}var vi=Object.freeze({__proto__:null,prelude:Ge,background:We,backgroundPattern:Xe,circle:He,clippingMask:Ke,heatmap:Ye,heatmapTexture:Je,collisionBox:Qe,collisionCircle:$e,debug:ti,fill:ei,fillOutline:ii,fillOutlinePattern:oi,fillPattern:ri,fillExtrusion:ai,fillExtrusionPattern:ni,hillshadePrepare:si,hillshade:li,line:ci,lineGradient:ui,linePattern:hi,lineSDF:pi,raster:di,symbolIcon:_i,symbolSDF:fi,symbolTextAndIcon:mi}),yi=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null;};function xi(t){for(var e=[],i=0;i<t.length;i++)if(null!==t[i]){var o=t[i].split(\" \");e.push(o.pop());}return e}yi.prototype.bind=function(t,e,i,o,r,a,n,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==o.length,c=0;!l&&c<o.length;c++)this.boundPaintVertexBuffers[c]!==o[c]&&(l=!0);t.extVertexArrayObject&&this.vao&&this.boundProgram===e&&this.boundLayoutVertexBuffer===i&&!l&&this.boundIndexBuffer===r&&this.boundVertexOffset===a&&this.boundDynamicVertexBuffer===n&&this.boundDynamicVertexBuffer2===s?(t.bindVertexArrayOES.set(this.vao),n&&n.bind(),r&&r.dynamicDraw&&r.bind(),s&&s.bind()):this.freshBind(e,i,o,r,a,n,s);},yi.prototype.freshBind=function(t,e,i,o,r,a,n){var s,l=t.numAttributes,c=this.context,u=c.gl;if(c.extVertexArrayObject)this.vao&&this.destroy(),this.vao=c.extVertexArrayObject.createVertexArrayOES(),c.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=i,this.boundIndexBuffer=o,this.boundVertexOffset=r,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=n;else {s=c.currentNumAttributes||0;for(var h=l;h<s;h++)u.disableVertexAttribArray(h);}e.enableAttributes(u,t);for(var p=0,d=i;p<d.length;p+=1)d[p].enableAttributes(u,t);a&&a.enableAttributes(u,t),n&&n.enableAttributes(u,t),e.bind(),e.setVertexAttribPointers(u,t,r);for(var _=0,f=i;_<f.length;_+=1){var m=f[_];m.bind(),m.setVertexAttribPointers(u,t,r);}a&&(a.bind(),a.setVertexAttribPointers(u,t,r)),o&&o.bind(),n&&(n.bind(),n.setVertexAttribPointers(u,t,r)),c.currentNumAttributes=l;},yi.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null);};var bi=function(t,e,i,o,r,a){var n=t.gl;this.program=n.createProgram();for(var s=xi(i.staticAttributes),l=o?o.getBinderAttributes():[],c=s.concat(l),u=i.staticUniforms?xi(i.staticUniforms):[],h=o?o.getBinderUniforms():[],p=[],d=0,_=u.concat(h);d<_.length;d+=1){var f=_[d];p.indexOf(f)<0&&p.push(f);}var m=o?o.defines():[];a&&m.push(\"#define OVERDRAW_INSPECTOR;\");var g=m.concat(Ge.fragmentSource,i.fragmentSource).join(\"\\n\"),v=m.concat(Ge.vertexSource,i.vertexSource).join(\"\\n\"),y=n.createShader(n.FRAGMENT_SHADER);if(n.isContextLost())this.failedToCreate=!0;else {n.shaderSource(y,g),n.compileShader(y),n.attachShader(this.program,y);var x=n.createShader(n.VERTEX_SHADER);if(n.isContextLost())this.failedToCreate=!0;else {n.shaderSource(x,v),n.compileShader(x),n.attachShader(this.program,x),this.attributes={};var b={};this.numAttributes=c.length;for(var w=0;w<this.numAttributes;w++)c[w]&&(n.bindAttribLocation(this.program,w,c[w]),this.attributes[c[w]]=w);n.linkProgram(this.program),n.deleteShader(x),n.deleteShader(y);for(var T=0;T<p.length;T++){var E=p[T];if(E&&!b[E]){var I=n.getUniformLocation(this.program,E);I&&(b[E]=I);}}this.fixedUniforms=r(t,b),this.binderUniforms=o?o.getUniforms(t,b):[];}}};function wi(t,e,i){var o=1/pe(i,1,e.transform.tileZoom),r=Math.pow(2,i.tileID.overscaledZ),a=i.tileSize*Math.pow(2,e.transform.tileZoom)/r,n=a*(i.tileID.canonical.x+i.tileID.wrap*r),s=a*i.tileID.canonical.y;return {u_image:0,u_texsize:i.imageAtlasTexture.size,u_scale:[o,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[n>>16,s>>16],u_pixel_coord_lower:[65535&n,65535&s]}}bi.prototype.draw=function(t,e,i,o,r,a,n,s,l,c,u,h,p,d,_,f){var m,g=t.gl;if(!this.failedToCreate){for(var v in t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(o),t.setColorMode(r),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[v].set(n[v]);d&&d.setUniforms(t,this.binderUniforms,h,{zoom:p});for(var y=(m={},m[g.LINES]=2,m[g.TRIANGLES]=3,m[g.LINE_STRIP]=1,m)[e],x=0,b=u.get();x<b.length;x+=1){var w=b[x],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new yi)).bind(t,this,l,d?d.getPaintVertexBuffers():[],c,w.vertexOffset,_,f),g.drawElements(e,w.primitiveLength*y,g.UNSIGNED_SHORT,w.primitiveOffset*y*2);}}};var Ti=function(e,i,o,r){var a=i.style.light,n=a.properties.get(\"position\"),s=[n.x,n.y,n.z],l=t.create$1();\"viewport\"===a.properties.get(\"anchor\")&&t.fromRotation(l,-i.transform.angle),t.transformMat3(s,s,l);var c=a.properties.get(\"color\");return {u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get(\"intensity\"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+o,u_opacity:r}},Ei=function(e,i,o,r,a,n,s){return t.extend(Ti(e,i,o,r),wi(n,i,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},Ii=function(t){return {u_matrix:t}},Pi=function(e,i,o,r){return t.extend(Ii(e),wi(o,i,r))},Si=function(t,e){return {u_matrix:t,u_world:e}},Ci=function(e,i,o,r,a){return t.extend(Pi(e,i,o,r),{u_world:a})},zi=function(e,i,o,r){var a,n,s=e.transform;if(\"map\"===r.paint.get(\"circle-pitch-alignment\")){var l=pe(o,1,s.zoom);a=!0,n=[l,l];}else a=!1,n=s.pixelsToGLUnits;return {u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+(\"map\"===r.paint.get(\"circle-pitch-scale\")),u_matrix:e.translatePosMatrix(i.posMatrix,o,r.paint.get(\"circle-translate\"),r.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+a,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:n}},Di=function(t,e,i){var o=pe(i,1,e.zoom),r=Math.pow(2,e.zoom-i.tileID.overscaledZ),a=i.tileID.overscaleFactor();return {u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:o,u_extrude_scale:[e.pixelsToGLUnits[0]/(o*r),e.pixelsToGLUnits[1]/(o*r)],u_overscale_factor:a}},Ai=function(t,e,i){return {u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:i.cameraToCenterDistance,u_viewport_size:[i.width,i.height]}},Mi=function(t,e,i){return void 0===i&&(i=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}},Li=function(t){return {u_matrix:t}},Ri=function(t,e,i,o){return {u_matrix:t,u_extrude_scale:pe(e,1,i),u_intensity:o}},ki=function(e,i,o){var r=e.transform;return {u_matrix:Ni(e,i,o),u_ratio:1/pe(i,1,r.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/r.pixelsToGLUnits[0],1/r.pixelsToGLUnits[1]]}},Bi=function(e,i,o,r){return t.extend(ki(e,i,o),{u_image:0,u_image_height:r})},Oi=function(e,i,o,r){var a=e.transform,n=Ui(i,a);return {u_matrix:Ni(e,i,o),u_texsize:i.imageAtlasTexture.size,u_ratio:1/pe(i,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[n,r.fromScale,r.toScale],u_fade:r.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Fi=function(e,i,o,r,a){var n=e.lineAtlas,s=Ui(i,e.transform),l=\"round\"===o.layout.get(\"line-cap\"),c=n.getDash(r.from,l),u=n.getDash(r.to,l),h=c.width*a.fromScale,p=u.width*a.toScale;return t.extend(ki(e,i,o),{u_patternscale_a:[s/h,-c.height/2],u_patternscale_b:[s/p,-u.height/2],u_sdfgamma:n.width/(256*Math.min(h,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:u.y,u_mix:a.t})};function Ui(t,e){return 1/pe(t,1,e.tileZoom)}function Ni(t,e,i){return t.translatePosMatrix(e.tileID.posMatrix,e,i.paint.get(\"line-translate\"),i.paint.get(\"line-translate-anchor\"))}var Zi=function(t,e,i,o,r){return {u_matrix:t,u_tl_parent:e,u_scale_parent:i,u_buffer_scale:1,u_fade_t:o.mix,u_opacity:o.opacity*r.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:r.paint.get(\"raster-brightness-min\"),u_brightness_high:r.paint.get(\"raster-brightness-max\"),u_saturation_factor:(n=r.paint.get(\"raster-saturation\"),n>0?1-1/(1.001-n):-n),u_contrast_factor:(a=r.paint.get(\"raster-contrast\"),a>0?1/(1-a):1+a),u_spin_weights:qi(r.paint.get(\"raster-hue-rotate\"))};var a,n;};function qi(t){t*=Math.PI/180;var e=Math.sin(t),i=Math.cos(t);return [(2*i+1)/3,(-Math.sqrt(3)*e-i+1)/3,(Math.sqrt(3)*e-i+1)/3]}var ji,Vi=function(t,e,i,o,r,a,n,s,l,c){var u=r.transform;return {u_is_size_zoom_constant:+(\"constant\"===t||\"source\"===t),u_is_size_feature_constant:+(\"constant\"===t||\"camera\"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:u.width/u.height,u_fade_change:r.options.fadeDuration?r.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:n,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+o,u_texsize:c,u_texture:0}},Gi=function(e,i,o,r,a,n,s,l,c,u,h){var p=a.transform;return t.extend(Vi(e,i,o,r,a,n,s,l,c,u),{u_gamma_scale:r?Math.cos(p._pitch)*p.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+h})},Wi=function(e,i,o,r,a,n,s,l,c,u){return t.extend(Gi(e,i,o,r,a,n,s,l,!0,c,!0),{u_texsize_icon:u,u_texture_icon:1})},Xi=function(t,e,i){return {u_matrix:t,u_opacity:e,u_color:i}},Hi=function(e,i,o,r,a,n){return t.extend(function(t,e,i,o){var r=i.imageManager.getPattern(t.from.toString()),a=i.imageManager.getPattern(t.to.toString()),n=i.imageManager.getPixelSize(),s=n.width,l=n.height,c=Math.pow(2,o.tileID.overscaledZ),u=o.tileSize*Math.pow(2,i.transform.tileZoom)/c,h=u*(o.tileID.canonical.x+o.tileID.wrap*c),p=u*o.tileID.canonical.y;return {u_image:0,u_pattern_tl_a:r.tl,u_pattern_br_a:r.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:r.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/pe(o,1,i.transform.tileZoom),u_pixel_coord_upper:[h>>16,p>>16],u_pixel_coord_lower:[65535&h,65535&p]}}(r,n,o,a),{u_matrix:e,u_opacity:i})},Ki={fillExtrusion:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_opacity:new t.Uniform1f(e,i.u_opacity)}},fillExtrusionPattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,i.u_height_factor),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade),u_opacity:new t.Uniform1f(e,i.u_opacity)}},fill:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}},fillPattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}},fillOutline:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world)}},fillOutlinePattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}},circle:function(e,i){return {u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,i.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}},collisionBox:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,i.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,i.u_overscale_factor)}},collisionCircle:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,i.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,i.u_viewport_size)}},debug:function(e,i){return {u_color:new t.UniformColor(e,i.u_color),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_overlay:new t.Uniform1i(e,i.u_overlay),u_overlay_scale:new t.Uniform1f(e,i.u_overlay_scale)}},clippingMask:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}},heatmap:function(e,i){return {u_extrude_scale:new t.Uniform1f(e,i.u_extrude_scale),u_intensity:new t.Uniform1f(e,i.u_intensity),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}},heatmapTexture:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_color_ramp:new t.Uniform1i(e,i.u_color_ramp),u_opacity:new t.Uniform1f(e,i.u_opacity)}},hillshade:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_latrange:new t.Uniform2f(e,i.u_latrange),u_light:new t.Uniform2f(e,i.u_light),u_shadow:new t.UniformColor(e,i.u_shadow),u_highlight:new t.UniformColor(e,i.u_highlight),u_accent:new t.UniformColor(e,i.u_accent)}},hillshadePrepare:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_dimension:new t.Uniform2f(e,i.u_dimension),u_zoom:new t.Uniform1f(e,i.u_zoom),u_unpack:new t.Uniform4f(e,i.u_unpack)}},line:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels)}},lineGradient:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_image:new t.Uniform1i(e,i.u_image),u_image_height:new t.Uniform1f(e,i.u_image_height)}},linePattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texsize:new t.Uniform2f(e,i.u_texsize),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_image:new t.Uniform1i(e,i.u_image),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}},lineSDF:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,i.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,i.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,i.u_sdfgamma),u_image:new t.Uniform1i(e,i.u_image),u_tex_y_a:new t.Uniform1f(e,i.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,i.u_tex_y_b),u_mix:new t.Uniform1f(e,i.u_mix)}},raster:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_tl_parent:new t.Uniform2f(e,i.u_tl_parent),u_scale_parent:new t.Uniform1f(e,i.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,i.u_buffer_scale),u_fade_t:new t.Uniform1f(e,i.u_fade_t),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image0:new t.Uniform1i(e,i.u_image0),u_image1:new t.Uniform1i(e,i.u_image1),u_brightness_low:new t.Uniform1f(e,i.u_brightness_low),u_brightness_high:new t.Uniform1f(e,i.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,i.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,i.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,i.u_spin_weights)}},symbolIcon:function(e,i){return {u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture)}},symbolSDF:function(e,i){return {u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}},symbolTextAndIcon:function(e,i){return {u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texsize_icon:new t.Uniform2f(e,i.u_texsize_icon),u_texture:new t.Uniform1i(e,i.u_texture),u_texture_icon:new t.Uniform1i(e,i.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}},background:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_color:new t.UniformColor(e,i.u_color)}},backgroundPattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image:new t.Uniform1i(e,i.u_image),u_pattern_tl_a:new t.Uniform2f(e,i.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,i.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,i.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,i.u_pattern_br_b),u_texsize:new t.Uniform2f(e,i.u_texsize),u_mix:new t.Uniform1f(e,i.u_mix),u_pattern_size_a:new t.Uniform2f(e,i.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,i.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,i.u_scale_a),u_scale_b:new t.Uniform1f(e,i.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,i.u_tile_units_to_pixels)}}};function Yi(e,i,o,r,a,n,s){for(var l=e.context,c=l.gl,u=e.useProgram(\"collisionBox\"),h=[],p=0,d=0,_=0;_<r.length;_++){var f=r[_],m=i.getTile(f),g=m.getBucket(o);if(g){var v=f.posMatrix;0===a[0]&&0===a[1]||(v=e.translatePosMatrix(f.posMatrix,m,a,n));var y=s?g.textCollisionBox:g.iconCollisionBox,x=g.collisionCircleArray;if(x.length>0){var b=t.create(),w=v;t.mul(b,g.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(b,b,g.placementViewportMatrix),h.push({circleArray:x,circleOffset:d,transform:w,invTransform:b}),d=p+=x.length/4;}y&&u.draw(l,c.LINES,It.disabled,Pt.disabled,e.colorModeForRenderPass(),Ct.disabled,Di(v,e.transform,m),o.id,y.layoutVertexBuffer,y.indexBuffer,y.segments,null,e.transform.zoom,null,null,y.collisionVertexBuffer);}}if(s&&h.length){var T=e.useProgram(\"collisionCircle\"),E=new t.StructArrayLayout2f1f2i16;E.resize(4*p),E._trim();for(var I=0,P=0,S=h;P<S.length;P+=1)for(var C=S[P],z=0;z<C.circleArray.length/4;z++){var D=4*z,A=C.circleArray[D+0],M=C.circleArray[D+1],L=C.circleArray[D+2],R=C.circleArray[D+3];E.emplace(I++,A,M,L,R,0),E.emplace(I++,A,M,L,R,1),E.emplace(I++,A,M,L,R,2),E.emplace(I++,A,M,L,R,3);}(!ji||ji.length<2*p)&&(ji=function(e){var i=2*e,o=new t.StructArrayLayout3ui6;o.resize(i),o._trim();for(var r=0;r<i;r++){var a=6*r;o.uint16[a+0]=4*r+0,o.uint16[a+1]=4*r+1,o.uint16[a+2]=4*r+2,o.uint16[a+3]=4*r+2,o.uint16[a+4]=4*r+3,o.uint16[a+5]=4*r+0;}return o}(p));for(var k=l.createIndexBuffer(ji,!0),B=l.createVertexBuffer(E,t.collisionCircleLayout.members,!0),O=0,F=h;O<F.length;O+=1){var U=F[O],N=Ai(U.transform,U.invTransform,e.transform);T.draw(l,c.TRIANGLES,It.disabled,Pt.disabled,e.colorModeForRenderPass(),Ct.disabled,N,o.id,B,k,t.SegmentVector.simpleSegment(0,2*U.circleOffset,U.circleArray.length,U.circleArray.length/2),null,e.transform.zoom,null,null,null);}B.destroy(),k.destroy();}}var Ji=t.identity(new Float32Array(16));function Qi(e,i,o,r,a,n){var s=t.getAnchorAlignment(e),l=-(s.horizontalAlign-.5)*i,c=-(s.verticalAlign-.5)*o,u=t.evaluateVariableOffset(e,r);return new t.Point((l/a+u[0])*n,(c/a+u[1])*n)}function $i(e,i,o,r,a,n,s,l,c,u,h){var p=e.text.placedSymbolArray,d=e.text.dynamicLayoutVertexArray,_=e.icon.dynamicLayoutVertexArray,f={};d.clear();for(var m=0;m<p.length;m++){var g=p.get(m),v=g.hidden||!g.crossTileID||e.allowVerticalPlacement&&!g.placedOrientation?null:r[g.crossTileID];if(v){var y=new t.Point(g.anchorX,g.anchorY),x=$t(y,o?l:s),b=te(n.cameraToCenterDistance,x.signedDistanceFromCamera),w=a.evaluateSizeForFeature(e.textSizeData,u,g)*b/t.ONE_EM;o&&(w*=e.tilePixelRatio/c);for(var T=Qi(v.anchor,v.width,v.height,v.textOffset,v.textBoxScale,w),E=o?$t(y.add(T),s).point:x.point.add(i?T.rotate(-n.angle):T),I=e.allowVerticalPlacement&&g.placedOrientation===t.WritingMode.vertical?Math.PI/2:0,P=0;P<g.numGlyphs;P++)t.addDynamicAttributes(d,E,I);h&&g.associatedIconIndex>=0&&(f[g.associatedIconIndex]={shiftedAnchor:E,angle:I});}else ce(g.numGlyphs,d);}if(h){_.clear();for(var S=e.icon.placedSymbolArray,C=0;C<S.length;C++){var z=S.get(C);if(z.hidden)ce(z.numGlyphs,_);else {var D=f[C];if(D)for(var A=0;A<z.numGlyphs;A++)t.addDynamicAttributes(_,D.shiftedAnchor,D.angle);else ce(z.numGlyphs,_);}}e.icon.dynamicLayoutVertexBuffer.updateData(_);}e.text.dynamicLayoutVertexBuffer.updateData(d);}function to(t,e,i){return i.iconsInText&&e?\"symbolTextAndIcon\":t?\"symbolSDF\":\"symbolIcon\"}function eo(e,i,o,r,a,n,s,l,c,u,h,p){for(var d=e.context,_=d.gl,f=e.transform,m=\"map\"===l,g=\"map\"===c,v=m&&\"point\"!==o.layout.get(\"symbol-placement\"),y=m&&!g&&!v,x=void 0!==o.layout.get(\"symbol-sort-key\").constantOr(1),b=!1,w=e.depthModeForSublayer(0,It.ReadOnly),T=o.layout.get(\"text-variable-anchor\"),E=[],I=0,P=r;I<P.length;I+=1){var S=P[I],C=i.getTile(S),z=C.getBucket(o);if(z){var D=a?z.text:z.icon;if(D&&D.segments.get().length){var A=D.programConfigurations.get(o.id),M=a||z.sdfIcons,L=a?z.textSizeData:z.iconSizeData,R=g||0!==f.pitch,k=e.useProgram(to(M,a,z),A),B=t.evaluateSizeForZoom(L,f.zoom),O=void 0,F=[0,0],U=void 0,N=void 0,Z=null,q=void 0;if(a)U=C.glyphAtlasTexture,N=_.LINEAR,O=C.glyphAtlasTexture.size,z.iconsInText&&(F=C.imageAtlasTexture.size,Z=C.imageAtlasTexture,q=R||e.options.rotating||e.options.zooming||\"composite\"===L.kind||\"camera\"===L.kind?_.LINEAR:_.NEAREST);else {var j=1!==o.layout.get(\"icon-size\").constantOr(0)||z.iconsNeedLinear;U=C.imageAtlasTexture,N=M||e.options.rotating||e.options.zooming||j||R?_.LINEAR:_.NEAREST,O=C.imageAtlasTexture.size;}var V=pe(C,1,e.transform.zoom),G=Jt(S.posMatrix,g,m,e.transform,V),W=Qt(S.posMatrix,g,m,e.transform,V),X=T&&z.hasTextData(),H=\"none\"!==o.layout.get(\"icon-text-fit\")&&X&&z.hasIconData();v&&ie(z,S.posMatrix,e,a,G,W,g,u);var K=e.translatePosMatrix(S.posMatrix,C,n,s),Y=v||a&&T||H?Ji:G,J=e.translatePosMatrix(W,C,n,s,!0),Q=M&&0!==o.paint.get(a?\"text-halo-width\":\"icon-halo-width\").constantOr(1),$={program:k,buffers:D,uniformValues:M?z.iconsInText?Wi(L.kind,B,y,g,e,K,Y,J,O,F):Gi(L.kind,B,y,g,e,K,Y,J,a,O,!0):Vi(L.kind,B,y,g,e,K,Y,J,a,O),atlasTexture:U,atlasTextureIcon:Z,atlasInterpolation:N,atlasInterpolationIcon:q,isSDF:M,hasHalo:Q};if(x&&z.canOverlap){b=!0;for(var tt=0,et=D.segments.get();tt<et.length;tt+=1){var it=et[tt];E.push({segments:new t.SegmentVector([it]),sortKey:it.sortKey,state:$});}}else E.push({segments:D.segments,sortKey:0,state:$});}}}b&&E.sort((function(t,e){return t.sortKey-e.sortKey}));for(var ot=0,rt=E;ot<rt.length;ot+=1){var at=rt[ot],nt=at.state;if(d.activeTexture.set(_.TEXTURE0),nt.atlasTexture.bind(nt.atlasInterpolation,_.CLAMP_TO_EDGE),nt.atlasTextureIcon&&(d.activeTexture.set(_.TEXTURE1),nt.atlasTextureIcon&&nt.atlasTextureIcon.bind(nt.atlasInterpolationIcon,_.CLAMP_TO_EDGE)),nt.isSDF){var st=nt.uniformValues;nt.hasHalo&&(st.u_is_halo=1,io(nt.buffers,at.segments,o,e,nt.program,w,h,p,st)),st.u_is_halo=0;}io(nt.buffers,at.segments,o,e,nt.program,w,h,p,nt.uniformValues);}}function io(t,e,i,o,r,a,n,s,l){var c=o.context;r.draw(c,c.gl.TRIANGLES,a,n,s,Ct.disabled,l,i.id,t.layoutVertexBuffer,t.indexBuffer,e,i.paint,o.transform.zoom,t.programConfigurations.get(i.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer);}function oo(t,e,i,o,r,a,n){var s,l,c,u,h,p=t.context.gl,d=i.paint.get(\"fill-pattern\"),_=d&&d.constantOr(1),f=i.getCrossfadeParameters();n?(l=_&&!i.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",s=p.LINES):(l=_?\"fillPattern\":\"fill\",s=p.TRIANGLES);for(var m=0,g=o;m<g.length;m+=1){var v=g[m],y=e.getTile(v);if(!_||y.patternsLoaded()){var x=y.getBucket(i);if(x){var b=x.programConfigurations.get(i.id),w=t.useProgram(l,b);_&&(t.context.activeTexture.set(p.TEXTURE0),y.imageAtlasTexture.bind(p.LINEAR,p.CLAMP_TO_EDGE),b.updatePaintBuffers(f));var T=d.constantOr(null);if(T&&y.imageAtlas){var E=y.imageAtlas,I=E.patternPositions[T.to.toString()],P=E.patternPositions[T.from.toString()];I&&P&&b.setConstantPatternPositions(I,P);}var S=t.translatePosMatrix(v.posMatrix,y,i.paint.get(\"fill-translate\"),i.paint.get(\"fill-translate-anchor\"));if(n){u=x.indexBuffer2,h=x.segments2;var C=[p.drawingBufferWidth,p.drawingBufferHeight];c=\"fillOutlinePattern\"===l&&_?Ci(S,t,f,y,C):Si(S,C);}else u=x.indexBuffer,h=x.segments,c=_?Pi(S,t,f,y):Ii(S);w.draw(t.context,s,r,t.stencilModeForClipping(v),a,Ct.disabled,c,i.id,x.layoutVertexBuffer,u,h,i.paint,t.transform.zoom,b);}}}}function ro(t,e,i,o,r,a,n){for(var s=t.context,l=s.gl,c=i.paint.get(\"fill-extrusion-pattern\"),u=c.constantOr(1),h=i.getCrossfadeParameters(),p=i.paint.get(\"fill-extrusion-opacity\"),d=0,_=o;d<_.length;d+=1){var f=_[d],m=e.getTile(f),g=m.getBucket(i);if(g){var v=g.programConfigurations.get(i.id),y=t.useProgram(u?\"fillExtrusionPattern\":\"fillExtrusion\",v);u&&(t.context.activeTexture.set(l.TEXTURE0),m.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),v.updatePaintBuffers(h));var x=c.constantOr(null);if(x&&m.imageAtlas){var b=m.imageAtlas,w=b.patternPositions[x.to.toString()],T=b.patternPositions[x.from.toString()];w&&T&&v.setConstantPatternPositions(w,T);}var E=t.translatePosMatrix(f.posMatrix,m,i.paint.get(\"fill-extrusion-translate\"),i.paint.get(\"fill-extrusion-translate-anchor\")),I=i.paint.get(\"fill-extrusion-vertical-gradient\"),P=u?Ei(E,t,I,p,f,h,m):Ti(E,t,I,p);y.draw(s,s.gl.TRIANGLES,r,a,n,Ct.backCCW,P,i.id,g.layoutVertexBuffer,g.indexBuffer,g.segments,i.paint,t.transform.zoom,v);}}}function ao(e,i,o,r,a,n){var s=e.context,l=s.gl,c=i.fbo;if(c){var u=e.useProgram(\"hillshade\");s.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get());var h=function(e,i,o){var r=o.paint.get(\"hillshade-shadow-color\"),a=o.paint.get(\"hillshade-highlight-color\"),n=o.paint.get(\"hillshade-accent-color\"),s=o.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===o.paint.get(\"hillshade-illumination-anchor\")&&(s-=e.transform.angle);var l,c,u,h=!e.options.moving;return {u_matrix:e.transform.calculatePosMatrix(i.tileID.toUnwrapped(),h),u_image:0,u_latrange:(l=i.tileID,c=Math.pow(2,l.canonical.z),u=l.canonical.y,[new t.MercatorCoordinate(0,u/c).toLngLat().lat,new t.MercatorCoordinate(0,(u+1)/c).toLngLat().lat]),u_light:[o.paint.get(\"hillshade-exaggeration\"),s],u_shadow:r,u_highlight:a,u_accent:n}}(e,i,o);u.draw(s,l.TRIANGLES,r,a,n,Ct.disabled,h,o.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments);}}function no(e,i,o,r,a,n){var s=e.context,l=s.gl,c=i.dem;if(c&&c.data){var u=c.dim,h=c.stride,p=c.getPixels();if(s.activeTexture.set(l.TEXTURE1),s.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||e.getTileTexture(h),i.demTexture){var d=i.demTexture;d.update(p,{premultiply:!1}),d.bind(l.NEAREST,l.CLAMP_TO_EDGE);}else i.demTexture=new t.Texture(s,p,l.RGBA,{premultiply:!1}),i.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);s.activeTexture.set(l.TEXTURE0);var _=i.fbo;if(!_){var f=new t.Texture(s,{width:u,height:u,data:null},l.RGBA);f.bind(l.LINEAR,l.CLAMP_TO_EDGE),(_=i.fbo=s.createFramebuffer(u,u,!0)).colorAttachment.set(f.texture);}s.bindFramebuffer.set(_.framebuffer),s.viewport.set([0,0,u,u]),e.useProgram(\"hillshadePrepare\").draw(s,l.TRIANGLES,r,a,n,Ct.disabled,function(e,i){var o=i.stride,r=t.create();return t.ortho(r,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(r,r,[0,-t.EXTENT,0]),{u_matrix:r,u_image:1,u_dimension:[o,o],u_zoom:e.overscaledZ,u_unpack:i.getUnpackVector()}}(i.tileID,c),o.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),i.needsHillshadePrepare=!1;}}function so(e,i,o,r,a){var n=r.paint.get(\"raster-fade-duration\");if(n>0){var s=t.browser.now(),l=(s-e.timeAdded)/n,c=i?(s-i.timeAdded)/n:-1,u=o.getSource(),h=a.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),p=!i||Math.abs(i.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),d=p&&e.refreshedUponExpiration?1:t.clamp(p?l:1-c,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),i?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return {opacity:1,mix:0}}var lo=new t.Color(1,0,0,1),co=new t.Color(0,1,0,1),uo=new t.Color(0,0,1,1),ho=new t.Color(1,0,1,1),po=new t.Color(0,1,1,1);function _o(t,e,i,o){mo(t,0,e+i/2,t.transform.width,i,o);}function fo(t,e,i,o){mo(t,e-i/2,0,i,t.transform.height,o);}function mo(e,i,o,r,a,n){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(i*t.browser.devicePixelRatio,o*t.browser.devicePixelRatio,r*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:n}),l.disable(l.SCISSOR_TEST);}function go(e,i,o){var r=e.context,a=r.gl,n=o.posMatrix,s=e.useProgram(\"debug\"),l=It.disabled,c=Pt.disabled,u=e.colorModeForRenderPass();r.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(r,a.LINE_STRIP,l,c,u,Ct.disabled,Mi(n,t.Color.red),\"$debug\",e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var h=i.getTileByID(o.key).latestRawTileData,p=Math.floor((h&&h.byteLength||0)/1024),d=i.getTile(o).tileSize,_=512/Math.min(d,512)*(o.overscaledZ/e.transform.zoom)*.5,f=o.canonical.toString();o.overscaledZ!==o.canonical.z&&(f+=\" => \"+o.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var i=t.debugOverlayCanvas,o=t.context.gl,r=t.debugOverlayCanvas.getContext(\"2d\");r.clearRect(0,0,i.width,i.height),r.shadowColor=\"white\",r.shadowBlur=2,r.lineWidth=1.5,r.strokeStyle=\"white\",r.textBaseline=\"top\",r.font=\"bold 36px Open Sans, sans-serif\",r.fillText(e,5,5),r.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(o.LINEAR,o.CLAMP_TO_EDGE);}(e,f+\" \"+p+\"kb\"),s.draw(r,a.TRIANGLES,l,c,St.alphaBlended,Ct.disabled,Mi(n,t.Color.transparent,_),\"$debug\",e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments);}var vo={symbol:function(e,i,o,r,a){if(\"translucent\"===e.renderPass){var n=Pt.disabled,s=e.colorModeForRenderPass();o.layout.get(\"text-variable-anchor\")&&function(e,i,o,r,a,n,s){for(var l=i.transform,c=\"map\"===a,u=\"map\"===n,h=0,p=e;h<p.length;h+=1){var d=p[h],_=r.getTile(d),f=_.getBucket(o);if(f&&f.text&&f.text.segments.get().length){var m=t.evaluateSizeForZoom(f.textSizeData,l.zoom),g=pe(_,1,i.transform.zoom),v=Jt(d.posMatrix,u,c,i.transform,g),y=\"none\"!==o.layout.get(\"icon-text-fit\")&&f.hasIconData();if(m){var x=Math.pow(2,l.zoom-_.tileID.overscaledZ);$i(f,c,u,s,t.symbolSize,l,v,d.posMatrix,x,m,y);}}}}(r,e,o,i,o.layout.get(\"text-rotation-alignment\"),o.layout.get(\"text-pitch-alignment\"),a),0!==o.paint.get(\"icon-opacity\").constantOr(1)&&eo(e,i,o,r,!1,o.paint.get(\"icon-translate\"),o.paint.get(\"icon-translate-anchor\"),o.layout.get(\"icon-rotation-alignment\"),o.layout.get(\"icon-pitch-alignment\"),o.layout.get(\"icon-keep-upright\"),n,s),0!==o.paint.get(\"text-opacity\").constantOr(1)&&eo(e,i,o,r,!0,o.paint.get(\"text-translate\"),o.paint.get(\"text-translate-anchor\"),o.layout.get(\"text-rotation-alignment\"),o.layout.get(\"text-pitch-alignment\"),o.layout.get(\"text-keep-upright\"),n,s),i.map.showCollisionBoxes&&(Yi(e,i,o,r,o.paint.get(\"text-translate\"),o.paint.get(\"text-translate-anchor\"),!0),Yi(e,i,o,r,o.paint.get(\"icon-translate\"),o.paint.get(\"icon-translate-anchor\"),!1));}},circle:function(e,i,o,r){if(\"translucent\"===e.renderPass){var a=o.paint.get(\"circle-opacity\"),n=o.paint.get(\"circle-stroke-width\"),s=o.paint.get(\"circle-stroke-opacity\"),l=void 0!==o.layout.get(\"circle-sort-key\").constantOr(1);if(0!==a.constantOr(1)||0!==n.constantOr(1)&&0!==s.constantOr(1)){for(var c=e.context,u=c.gl,h=e.depthModeForSublayer(0,It.ReadOnly),p=Pt.disabled,d=e.colorModeForRenderPass(),_=[],f=0;f<r.length;f++){var m=r[f],g=i.getTile(m),v=g.getBucket(o);if(v){var y=v.programConfigurations.get(o.id),x={programConfiguration:y,program:e.useProgram(\"circle\",y),layoutVertexBuffer:v.layoutVertexBuffer,indexBuffer:v.indexBuffer,uniformValues:zi(e,m,g,o)};if(l)for(var b=0,w=v.segments.get();b<w.length;b+=1){var T=w[b];_.push({segments:new t.SegmentVector([T]),sortKey:T.sortKey,state:x});}else _.push({segments:v.segments,sortKey:0,state:x});}}l&&_.sort((function(t,e){return t.sortKey-e.sortKey}));for(var E=0,I=_;E<I.length;E+=1){var P=I[E],S=P.state;S.program.draw(c,u.TRIANGLES,h,p,d,Ct.disabled,S.uniformValues,o.id,S.layoutVertexBuffer,S.indexBuffer,P.segments,o.paint,e.transform.zoom,S.programConfiguration);}}}},heatmap:function(e,i,o,r){if(0!==o.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===e.renderPass){var a=e.context,n=a.gl,s=Pt.disabled,l=new St([n.ONE,n.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,i){var o=t.gl;t.activeTexture.set(o.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);var r=i.heatmapFbo;if(r)o.bindTexture(o.TEXTURE_2D,r.colorAttachment.get()),t.bindFramebuffer.set(r.framebuffer);else {var a=o.createTexture();o.bindTexture(o.TEXTURE_2D,a),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.LINEAR),r=i.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1),function(t,e,i,o){var r=t.gl;r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e.width/4,e.height/4,0,r.RGBA,t.extRenderToTextureHalfFloat?t.extTextureHalfFloat.HALF_FLOAT_OES:r.UNSIGNED_BYTE,null),o.colorAttachment.set(i);}(t,e,a,r);}}(a,e,o),a.clear({color:t.Color.transparent});for(var c=0;c<r.length;c++){var u=r[c];if(!i.hasRenderableParent(u)){var h=i.getTile(u),p=h.getBucket(o);if(p){var d=p.programConfigurations.get(o.id);e.useProgram(\"heatmap\",d).draw(a,n.TRIANGLES,It.disabled,s,l,Ct.disabled,Ri(u.posMatrix,h,e.transform.zoom,o.paint.get(\"heatmap-intensity\")),o.id,p.layoutVertexBuffer,p.indexBuffer,p.segments,o.paint,e.transform.zoom,d);}}}a.viewport.set([0,0,e.width,e.height]);}else \"translucent\"===e.renderPass&&(e.context.setColorMode(e.colorModeForRenderPass()),function(e,i){var o=e.context,r=o.gl,a=i.heatmapFbo;if(a){o.activeTexture.set(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,a.colorAttachment.get()),o.activeTexture.set(r.TEXTURE1);var n=i.colorRampTexture;n||(n=i.colorRampTexture=new t.Texture(o,i.colorRamp,r.RGBA)),n.bind(r.LINEAR,r.CLAMP_TO_EDGE),e.useProgram(\"heatmapTexture\").draw(o,r.TRIANGLES,It.disabled,Pt.disabled,e.colorModeForRenderPass(),Ct.disabled,function(e,i,o,r){var a=t.create();t.ortho(a,0,e.width,e.height,0,0,1);var n=e.context.gl;return {u_matrix:a,u_world:[n.drawingBufferWidth,n.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:i.paint.get(\"heatmap-opacity\")}}(e,i),i.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,i.paint,e.transform.zoom);}}(e,o));},line:function(e,i,o,r){if(\"translucent\"===e.renderPass){var a=o.paint.get(\"line-opacity\"),n=o.paint.get(\"line-width\");if(0!==a.constantOr(1)&&0!==n.constantOr(1))for(var s=e.depthModeForSublayer(0,It.ReadOnly),l=e.colorModeForRenderPass(),c=o.paint.get(\"line-dasharray\"),u=o.paint.get(\"line-pattern\"),h=u.constantOr(1),p=o.paint.get(\"line-gradient\"),d=o.getCrossfadeParameters(),_=h?\"linePattern\":c?\"lineSDF\":p?\"lineGradient\":\"line\",f=e.context,m=f.gl,g=!0,v=0,y=r;v<y.length;v+=1){var x=y[v],b=i.getTile(x);if(!h||b.patternsLoaded()){var w=b.getBucket(o);if(w){var T=w.programConfigurations.get(o.id),E=e.context.program.get(),I=e.useProgram(_,T),P=g||I.program!==E,S=u.constantOr(null);if(S&&b.imageAtlas){var C=b.imageAtlas,z=C.patternPositions[S.to.toString()],D=C.patternPositions[S.from.toString()];z&&D&&T.setConstantPatternPositions(z,D);}var A=h?Oi(e,b,o,d):c?Fi(e,b,o,c,d):p?Bi(e,b,o,w.lineClipsArray.length):ki(e,b,o);if(h)f.activeTexture.set(m.TEXTURE0),b.imageAtlasTexture.bind(m.LINEAR,m.CLAMP_TO_EDGE),T.updatePaintBuffers(d);else if(c&&(P||e.lineAtlas.dirty))f.activeTexture.set(m.TEXTURE0),e.lineAtlas.bind(f);else if(p){var M=w.gradients[o.id],L=M.texture;if(o.gradientVersion!==M.version){var R=256;if(o.stepInterpolant){var k=i.getSource().maxzoom,B=x.canonical.z===k?Math.ceil(1<<e.transform.maxZoom-x.canonical.z):1;R=t.clamp(t.nextPowerOfTwo(w.maxLineLength/t.EXTENT*1024*B),256,f.maxTextureSize);}M.gradient=t.renderColorRamp({expression:o.gradientExpression(),evaluationKey:\"lineProgress\",resolution:R,image:M.gradient||void 0,clips:w.lineClipsArray}),M.texture?M.texture.update(M.gradient):M.texture=new t.Texture(f,M.gradient,m.RGBA),M.version=o.gradientVersion,L=M.texture;}f.activeTexture.set(m.TEXTURE0),L.bind(o.stepInterpolant?m.NEAREST:m.LINEAR,m.CLAMP_TO_EDGE);}I.draw(f,m.TRIANGLES,s,e.stencilModeForClipping(x),l,Ct.disabled,A,o.id,w.layoutVertexBuffer,w.indexBuffer,w.segments,o.paint,e.transform.zoom,T,w.layoutVertexBuffer2),g=!1;}}}}},fill:function(e,i,o,r){var a=o.paint.get(\"fill-color\"),n=o.paint.get(\"fill-opacity\");if(0!==n.constantOr(1)){var s=e.colorModeForRenderPass(),l=o.paint.get(\"fill-pattern\"),c=e.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===a.constantOr(t.Color.transparent).a&&1===n.constantOr(0)?\"opaque\":\"translucent\";if(e.renderPass===c){var u=e.depthModeForSublayer(1,\"opaque\"===e.renderPass?It.ReadWrite:It.ReadOnly);oo(e,i,o,r,u,s,!1);}if(\"translucent\"===e.renderPass&&o.paint.get(\"fill-antialias\")){var h=e.depthModeForSublayer(o.getPaintProperty(\"fill-outline-color\")?2:0,It.ReadOnly);oo(e,i,o,r,h,s,!0);}}},\"fill-extrusion\":function(t,e,i,o){var r=i.paint.get(\"fill-extrusion-opacity\");if(0!==r&&\"translucent\"===t.renderPass){var a=new It(t.context.gl.LEQUAL,It.ReadWrite,t.depthRangeFor3D);if(1!==r||i.paint.get(\"fill-extrusion-pattern\").constantOr(1))ro(t,e,i,o,a,Pt.disabled,St.disabled),ro(t,e,i,o,a,t.stencilModeFor3D(),t.colorModeForRenderPass());else {var n=t.colorModeForRenderPass();ro(t,e,i,o,a,Pt.disabled,n);}}},hillshade:function(t,e,i,o){if(\"offscreen\"===t.renderPass||\"translucent\"===t.renderPass){for(var r=t.context,a=t.depthModeForSublayer(0,It.ReadOnly),n=t.colorModeForRenderPass(),s=\"translucent\"===t.renderPass?t.stencilConfigForOverlap(o):[{},o],l=s[0],c=0,u=s[1];c<u.length;c+=1){var h=u[c],p=e.getTile(h);p.needsHillshadePrepare&&\"offscreen\"===t.renderPass?no(t,p,i,a,Pt.disabled,n):\"translucent\"===t.renderPass&&ao(t,p,i,a,l[h.overscaledZ],n);}r.viewport.set([0,0,t.width,t.height]);}},raster:function(t,e,i,o){if(\"translucent\"===t.renderPass&&0!==i.paint.get(\"raster-opacity\")&&o.length)for(var r=t.context,a=r.gl,n=e.getSource(),s=t.useProgram(\"raster\"),l=t.colorModeForRenderPass(),c=n instanceof M?[{},o]:t.stencilConfigForOverlap(o),u=c[0],h=c[1],p=h[h.length-1].overscaledZ,d=!t.options.moving,_=0,f=h;_<f.length;_+=1){var m=f[_],g=t.depthModeForSublayer(m.overscaledZ-p,1===i.paint.get(\"raster-opacity\")?It.ReadWrite:It.ReadOnly,a.LESS),v=e.getTile(m),y=t.transform.calculatePosMatrix(m.toUnwrapped(),d);v.registerFadeDuration(i.paint.get(\"raster-fade-duration\"));var x=e.findLoadedParent(m,0),b=so(v,x,e,i,t.transform),w=void 0,T=void 0,E=\"nearest\"===i.paint.get(\"raster-resampling\")?a.NEAREST:a.LINEAR;r.activeTexture.set(a.TEXTURE0),v.texture.bind(E,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),r.activeTexture.set(a.TEXTURE1),x?(x.texture.bind(E,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),w=Math.pow(2,x.tileID.overscaledZ-v.tileID.overscaledZ),T=[v.tileID.canonical.x*w%1,v.tileID.canonical.y*w%1]):v.texture.bind(E,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST);var I=Zi(y,T||[0,0],w||1,b,i);n instanceof M?s.draw(r,a.TRIANGLES,g,Pt.disabled,l,Ct.disabled,I,i.id,n.boundsBuffer,t.quadTriangleIndexBuffer,n.boundsSegments):s.draw(r,a.TRIANGLES,g,u[m.overscaledZ],l,Ct.disabled,I,i.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments);}},background:function(t,e,i){var o=i.paint.get(\"background-color\"),r=i.paint.get(\"background-opacity\");if(0!==r){var a=t.context,n=a.gl,s=t.transform,l=s.tileSize,c=i.paint.get(\"background-pattern\");if(!t.isPatternMissing(c)){var u=!c&&1===o.a&&1===r&&t.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(t.renderPass===u){var h=Pt.disabled,p=t.depthModeForSublayer(0,\"opaque\"===u?It.ReadWrite:It.ReadOnly),d=t.colorModeForRenderPass(),_=t.useProgram(c?\"backgroundPattern\":\"background\"),f=s.coveringTiles({tileSize:l});c&&(a.activeTexture.set(n.TEXTURE0),t.imageManager.bind(t.context));for(var m=i.getCrossfadeParameters(),g=0,v=f;g<v.length;g+=1){var y=v[g],x=t.transform.calculatePosMatrix(y.toUnwrapped()),b=c?Hi(x,r,t,c,{tileID:y,tileSize:l},m):Xi(x,r,o);_.draw(a,n.TRIANGLES,p,h,d,Ct.disabled,b,i.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments);}}}}},debug:function(t,e,i){for(var o=0;o<i.length;o++)go(t,e,i[o]);},custom:function(t,e,i){var o=t.context,r=i.implementation;if(\"offscreen\"===t.renderPass){var a=r.prerender;a&&(t.setCustomLayerDefaults(),o.setColorMode(t.colorModeForRenderPass()),a.call(r,o.gl,t.transform.customLayerMatrix()),o.setDirty(),t.setBaseState());}else if(\"translucent\"===t.renderPass){t.setCustomLayerDefaults(),o.setColorMode(t.colorModeForRenderPass()),o.setStencilMode(Pt.disabled);var n=\"3d\"===r.renderingMode?new It(t.context.gl.LEQUAL,It.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,It.ReadOnly);o.setDepthMode(n),r.render(o.gl,t.transform.customLayerMatrix()),o.setDirty(),t.setBaseState(),o.bindFramebuffer.set(null);}}},yo=function(t,e){this.context=new zt(t),this.transform=e,this._tileTextures={},this.setup(),this.numSublayers=Dt.maxUnderzooming+Dt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Fe,this.gpuTimers={};};yo.prototype.resize=function(e,i){if(this.width=e*t.browser.devicePixelRatio,this.height=i*t.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var o=0,r=this.style._order;o<r.length;o+=1)this.style._layers[r[o]].resize();},yo.prototype.setup=function(){var e=this.context,i=new t.StructArrayLayout2i4;i.emplaceBack(0,0),i.emplaceBack(t.EXTENT,0),i.emplaceBack(0,t.EXTENT),i.emplaceBack(t.EXTENT,t.EXTENT),this.tileExtentBuffer=e.createVertexBuffer(i,Ve.members),this.tileExtentSegments=t.SegmentVector.simpleSegment(0,0,4,2);var o=new t.StructArrayLayout2i4;o.emplaceBack(0,0),o.emplaceBack(t.EXTENT,0),o.emplaceBack(0,t.EXTENT),o.emplaceBack(t.EXTENT,t.EXTENT),this.debugBuffer=e.createVertexBuffer(o,Ve.members),this.debugSegments=t.SegmentVector.simpleSegment(0,0,4,5);var r=new t.StructArrayLayout4i8;r.emplaceBack(0,0,0,0),r.emplaceBack(t.EXTENT,0,t.EXTENT,0),r.emplaceBack(0,t.EXTENT,0,t.EXTENT),r.emplaceBack(t.EXTENT,t.EXTENT,t.EXTENT,t.EXTENT),this.rasterBoundsBuffer=e.createVertexBuffer(r,A.members),this.rasterBoundsSegments=t.SegmentVector.simpleSegment(0,0,4,2);var a=new t.StructArrayLayout2i4;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(a,Ve.members),this.viewportSegments=t.SegmentVector.simpleSegment(0,0,4,2);var n=new t.StructArrayLayout1ui2;n.emplaceBack(0),n.emplaceBack(1),n.emplaceBack(3),n.emplaceBack(2),n.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(n);var s=new t.StructArrayLayout3ui6;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s),this.emptyTexture=new t.Texture(e,{width:1,height:1,data:new Uint8Array([0,0,0,0])},e.gl.RGBA);var l=this.context.gl;this.stencilClearMode=new Pt({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO);},yo.prototype.clearStencil=function(){var e=this.context,i=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var o=t.create();t.ortho(o,0,this.width,this.height,0,0,1),t.scale(o,o,[i.drawingBufferWidth,i.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(e,i.TRIANGLES,It.disabled,this.stencilClearMode,St.disabled,Ct.disabled,Li(o),\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments);},yo.prototype._renderTileClippingMasks=function(t,e){if(this.currentStencilSource!==t.source&&t.isTileClipped()&&e&&e.length){this.currentStencilSource=t.source;var i=this.context,o=i.gl;this.nextStencilID+e.length>256&&this.clearStencil(),i.setColorMode(St.disabled),i.setDepthMode(It.disabled);var r=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var a=0,n=e;a<n.length;a+=1){var s=n[a],l=this._tileClippingMaskIDs[s.key]=this.nextStencilID++;r.draw(i,o.TRIANGLES,It.disabled,new Pt({func:o.ALWAYS,mask:0},l,255,o.KEEP,o.KEEP,o.REPLACE),St.disabled,Ct.disabled,Li(s.posMatrix),\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments);}}},yo.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Pt({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},yo.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Pt({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},yo.prototype.stencilConfigForOverlap=function(t){var e,i=this.context.gl,o=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),r=o[o.length-1].overscaledZ,a=o[0].overscaledZ-r+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var n={},s=0;s<a;s++)n[s+r]=new Pt({func:i.GEQUAL,mask:255},s+this.nextStencilID,255,i.KEEP,i.KEEP,i.REPLACE);return this.nextStencilID+=a,[n,o]}return [(e={},e[r]=Pt.disabled,e),o]},yo.prototype.colorModeForRenderPass=function(){var e=this.context.gl;return this._showOverdrawInspector?new St([e.CONSTANT_COLOR,e.ONE],new t.Color(1/8,1/8,1/8,0),[!0,!0,!0,!0]):\"opaque\"===this.renderPass?St.unblended:St.alphaBlended},yo.prototype.depthModeForSublayer=function(t,e,i){if(!this.opaquePassEnabledForLayer())return It.disabled;var o=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon;return new It(i||this.context.gl.LEQUAL,e,[o,o])},yo.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},yo.prototype.render=function(e,i){var o=this;this.style=e,this.options=i,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(t.browser.now()),this.imageManager.beginFrame();var r=this.style._order,a=this.style.sourceCaches;for(var n in a){var s=a[n];s.used&&s.prepare(this.context);}var l,c,u={},h={},p={};for(var d in a){var _=a[d];u[d]=_.getVisibleCoordinates(),h[d]=u[d].slice().reverse(),p[d]=_.getVisibleCoordinates(!0).reverse();}this.opaquePassCutoff=1/0;for(var f=0;f<r.length;f++)if(this.style._layers[r[f]].is3D()){this.opaquePassCutoff=f;break}this.renderPass=\"offscreen\";for(var m=0,g=r;m<g.length;m+=1){var v=this.style._layers[g[m]];if(v.hasOffscreenPass()&&!v.isHidden(this.transform.zoom)){var y=h[v.source];(\"custom\"===v.type||y.length)&&this.renderLayer(this,a[v.source],v,y);}}for(this.context.bindFramebuffer.set(null),this.context.clear({color:i.showOverdrawInspector?t.Color.black:t.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=i.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass=\"opaque\",this.currentLayer=r.length-1;this.currentLayer>=0;this.currentLayer--){var x=this.style._layers[r[this.currentLayer]],b=a[x.source],w=u[x.source];this._renderTileClippingMasks(x,w),this.renderLayer(this,b,x,w);}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer<r.length;this.currentLayer++){var T=this.style._layers[r[this.currentLayer]],E=a[T.source],I=(\"symbol\"===T.type?p:h)[T.source];this._renderTileClippingMasks(T,u[T.source]),this.renderLayer(this,E,T,I);}this.options.showTileBoundaries&&(t.values(this.style._layers).forEach((function(t){t.source&&!t.isHidden(o.transform.zoom)&&(t.source!==(c&&c.id)&&(c=o.style.sourceCaches[t.source]),(!l||l.getSource().maxzoom<c.getSource().maxzoom)&&(l=c));})),l&&vo.debug(this,l,l.getVisibleCoordinates())),this.options.showPadding&&function(t){var e=t.transform.padding;_o(t,t.transform.height-(e.top||0),3,lo),_o(t,e.bottom||0,3,co),fo(t,e.left||0,3,uo),fo(t,t.transform.width-(e.right||0),3,ho);var i=t.transform.centerPoint;!function(t,e,i,o){mo(t,e-1,i-10,2,20,o),mo(t,e-10,i-1,20,2,o);}(t,i.x,t.transform.height-i.y,po);}(this),this.context.setDefault();},yo.prototype.renderLayer=function(t,e,i,o){i.isHidden(this.transform.zoom)||(\"background\"===i.type||\"custom\"===i.type||o.length)&&(this.id=i.id,this.gpuTimingStart(i),vo[i.type](t,e,i,o,this.style.placement.variableOffsets),this.gpuTimingEnd());},yo.prototype.gpuTimingStart=function(t){if(this.options.gpuTiming){var e=this.context.extTimerQuery,i=this.gpuTimers[t.id];i||(i=this.gpuTimers[t.id]={calls:0,cpuTime:0,query:e.createQueryEXT()}),i.calls++,e.beginQueryEXT(e.TIME_ELAPSED_EXT,i.query);}},yo.prototype.gpuTimingEnd=function(){if(this.options.gpuTiming){var t=this.context.extTimerQuery;t.endQueryEXT(t.TIME_ELAPSED_EXT);}},yo.prototype.collectGpuTimers=function(){var t=this.gpuTimers;return this.gpuTimers={},t},yo.prototype.queryGpuTimers=function(t){var e={};for(var i in t){var o=t[i],r=this.context.extTimerQuery,a=r.getQueryObjectEXT(o.query,r.QUERY_RESULT_EXT)/1e6;r.deleteQueryEXT(o.query),e[i]=a;}return e},yo.prototype.translatePosMatrix=function(e,i,o,r,a){if(!o[0]&&!o[1])return e;var n=a?\"map\"===r?this.transform.angle:0:\"viewport\"===r?-this.transform.angle:0;if(n){var s=Math.sin(n),l=Math.cos(n);o=[o[0]*l-o[1]*s,o[0]*s+o[1]*l];}var c=[a?o[0]:pe(i,o[0],this.transform.zoom),a?o[1]:pe(i,o[1],this.transform.zoom),0],u=new Float32Array(16);return t.translate(u,e,c),u},yo.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t];},yo.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},yo.prototype.isPatternMissing=function(t){if(!t)return !1;if(!t.from||!t.to)return !0;var e=this.imageManager.getPattern(t.from.toString()),i=this.imageManager.getPattern(t.to.toString());return !e||!i},yo.prototype.useProgram=function(t,e){this.cache=this.cache||{};var i=\"\"+t+(e?e.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[i]||(this.cache[i]=new bi(this.context,t,vi[t],e,Ki[t],this._showOverdrawInspector)),this.cache[i]},yo.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault();},yo.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD);},yo.prototype.initDebugOverlayCanvas=function(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=t.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,this.context.gl.RGBA));},yo.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy();};var xo=function(t,e){this.points=t,this.planes=e;};xo.fromInvProjectionMatrix=function(e,i,o){var r=Math.pow(2,o),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(i){return t.transformMat4([],i,e)})).map((function(e){return t.scale$1([],e,1/e[3]/i*r)})),n=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var i=t.sub([],a[e[0]],a[e[1]]),o=t.sub([],a[e[2]],a[e[1]]),r=t.normalize([],t.cross([],i,o)),n=-t.dot(r,a[e[1]]);return r.concat(n)}));return new xo(a,n)};var bo=function(e,i){this.min=e,this.max=i,this.center=t.scale$2([],t.add([],this.min,this.max),.5);};bo.prototype.quadrant=function(e){for(var i=[e%2==0,e<2],o=t.clone$2(this.min),r=t.clone$2(this.max),a=0;a<i.length;a++)o[a]=i[a]?this.min[a]:this.center[a],r[a]=i[a]?this.center[a]:this.max[a];return r[2]=this.max[2],new bo(o,r)},bo.prototype.distanceX=function(t){return Math.max(Math.min(this.max[0],t[0]),this.min[0])-t[0]},bo.prototype.distanceY=function(t){return Math.max(Math.min(this.max[1],t[1]),this.min[1])-t[1]},bo.prototype.intersects=function(e){for(var i=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],o=!0,r=0;r<e.planes.length;r++){for(var a=e.planes[r],n=0,s=0;s<i.length;s++)n+=t.dot$1(a,i[s])>=0;if(0===n)return 0;n!==i.length&&(o=!1);}if(o)return 2;for(var l=0;l<3;l++){for(var c=Number.MAX_VALUE,u=-Number.MAX_VALUE,h=0;h<e.points.length;h++){var p=e.points[h][l]-this.min[l];c=Math.min(c,p),u=Math.max(u,p);}if(u<0||c>this.max[l]-this.min[l])return 0}return 1};var wo=function(t,e,i,o){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===o&&(o=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(i)||i<0||isNaN(o)||o<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=t,this.bottom=e,this.left=i,this.right=o;};wo.prototype.interpolate=function(e,i,o){return null!=i.top&&null!=e.top&&(this.top=t.number(e.top,i.top,o)),null!=i.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,i.bottom,o)),null!=i.left&&null!=e.left&&(this.left=t.number(e.left,i.left,o)),null!=i.right&&null!=e.right&&(this.right=t.number(e.right,i.right,o)),this},wo.prototype.getCenter=function(e,i){var o=t.clamp((this.left+e-this.right)/2,0,e),r=t.clamp((this.top+i-this.bottom)/2,0,i);return new t.Point(o,r)},wo.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},wo.prototype.clone=function(){return new wo(this.top,this.bottom,this.left,this.right)},wo.prototype.toJSON=function(){return {top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var To=function(e,i,o,r,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=i||22,this._minPitch=null==o?0:o,this._maxPitch=null==r?60:r,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new wo,this._posMatrixCache={},this._alignedPosMatrixCache={};},Eo={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};To.prototype.clone=function(){var t=new To(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},Eo.minZoom.get=function(){return this._minZoom},Eo.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t));},Eo.maxZoom.get=function(){return this._maxZoom},Eo.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t));},Eo.minPitch.get=function(){return this._minPitch},Eo.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t));},Eo.maxPitch.get=function(){return this._maxPitch},Eo.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t));},Eo.renderWorldCopies.get=function(){return this._renderWorldCopies},Eo.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t;},Eo.worldSize.get=function(){return this.tileSize*this.scale},Eo.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Eo.size.get=function(){return new t.Point(this.width,this.height)},Eo.bearing.get=function(){return -this.angle/Math.PI*180},Eo.bearing.set=function(e){var i=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle));},Eo.pitch.get=function(){return this._pitch/Math.PI*180},Eo.pitch.set=function(e){var i=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices());},Eo.fov.get=function(){return this._fov/Math.PI*180},Eo.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices());},Eo.zoom.get=function(){return this._zoom},Eo.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices());},Eo.center.get=function(){return this._center},Eo.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices());},Eo.padding.get=function(){return this._edgeInsets.toJSON()},Eo.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices());},Eo.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},To.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},To.prototype.interpolatePadding=function(t,e,i){this._unmodified=!1,this._edgeInsets.interpolate(t,e,i),this._constrain(),this._calcMatrices();},To.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},To.prototype.getVisibleUnwrappedCoordinates=function(e){var i=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var o=this.pointCoordinate(new t.Point(0,0)),r=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),n=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(o.x,r.x,a.x,n.x)),l=Math.floor(Math.max(o.x,r.x,a.x,n.x)),c=s-1;c<=l+1;c++)0!==c&&i.push(new t.UnwrappedTileID(c,e));return i},To.prototype.coveringTiles=function(e){var i=this.coveringZoomLevel(e),o=i;if(void 0!==e.minzoom&&i<e.minzoom)return [];void 0!==e.maxzoom&&i>e.maxzoom&&(i=e.maxzoom);var r=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,i),n=[a*r.x,a*r.y,0],s=xo.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,i),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=i);var c=function(t){return {aabb:new bo([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},u=[],h=[],p=i,d=e.reparseOverscaled?o:i;if(this._renderWorldCopies)for(var _=1;_<=3;_++)u.push(c(-_)),u.push(c(_));for(u.push(c(0));u.length>0;){var f=u.pop(),m=f.x,g=f.y,v=f.fullyVisible;if(!v){var y=f.aabb.intersects(s);if(0===y)continue;v=2===y;}var x=f.aabb.distanceX(n),b=f.aabb.distanceY(n),w=Math.max(Math.abs(x),Math.abs(b));if(f.zoom===p||w>3+(1<<p-f.zoom)-2&&f.zoom>=l)h.push({tileID:new t.OverscaledTileID(f.zoom===p?d:f.zoom,f.wrap,f.zoom,m,g),distanceSq:t.sqrLen([n[0]-.5-m,n[1]-.5-g])});else for(var T=0;T<4;T++){var E=(m<<1)+T%2,I=(g<<1)+(T>>1);u.push({aabb:f.aabb.quadrant(T),zoom:f.zoom+1,x:E,y:I,wrap:f.wrap,fullyVisible:v});}}return h.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},To.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices();},Eo.unmodified.get=function(){return this._unmodified},To.prototype.zoomScale=function(t){return Math.pow(2,t)},To.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},To.prototype.project=function(e){var i=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(i)*this.worldSize)},To.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},Eo.point.get=function(){return this.project(this.center)},To.prototype.setLocationAtPoint=function(e,i){var o=this.pointCoordinate(i),r=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),n=new t.MercatorCoordinate(a.x-(o.x-r.x),a.y-(o.y-r.y));this.center=this.coordinateLocation(n),this._renderWorldCopies&&(this.center=this.center.wrap());},To.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},To.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},To.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},To.prototype.coordinateLocation=function(t){return t.toLngLat()},To.prototype.pointCoordinate=function(e){var i=[e.x,e.y,0,1],o=[e.x,e.y,1,1];t.transformMat4(i,i,this.pixelMatrixInverse),t.transformMat4(o,o,this.pixelMatrixInverse);var r=i[3],a=o[3],n=i[1]/r,s=o[1]/a,l=i[2]/r,c=o[2]/a,u=l===c?0:(0-l)/(c-l);return new t.MercatorCoordinate(t.number(i[0]/r,o[0]/a,u)/this.worldSize,t.number(n,s,u)/this.worldSize)},To.prototype.coordinatePoint=function(e){var i=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(i,i,this.pixelMatrix),new t.Point(i[0]/i[3],i[1]/i[3])},To.prototype.getBounds=function(){return (new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},To.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},To.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude]);},To.prototype.calculatePosMatrix=function(e,i){void 0===i&&(i=!1);var o=e.key,r=i?this._alignedPosMatrixCache:this._posMatrixCache;if(r[o])return r[o];var a=e.canonical,n=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*n,a.y*n,0]),t.scale(l,l,[n/t.EXTENT,n/t.EXTENT,1]),t.multiply(l,i?this.alignedProjMatrix:this.projMatrix,l),r[o]=new Float32Array(l),r[o]},To.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},To.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,i,o,r,a=-90,n=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var h=this.latRange;a=t.mercatorYfromLat(h[1])*this.worldSize,e=(n=t.mercatorYfromLat(h[0])*this.worldSize)-a<c.y?c.y/(n-a):0;}if(this.lngRange){var p=this.lngRange;s=t.mercatorXfromLng(p[0])*this.worldSize,i=(l=t.mercatorXfromLng(p[1])*this.worldSize)-s<c.x?c.x/(l-s):0;}var d=this.point,_=Math.max(i||0,e||0);if(_)return this.center=this.unproject(new t.Point(i?(l+s)/2:d.x,e?(n+a)/2:d.y)),this.zoom+=this.scaleZoom(_),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var f=d.y,m=c.y/2;f-m<a&&(r=a+m),f+m>n&&(r=n-m);}if(this.lngRange){var g=d.x,v=c.x/2;g-v<s&&(o=s+v),g+v>l&&(o=l-v);}void 0===o&&void 0===r||(this.center=this.unproject(new t.Point(void 0!==o?o:d.x,void 0!==r?r:d.y))),this._unmodified=u,this._constraining=!1;}},To.prototype._calcMatrices=function(){if(this.height){var e=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var i=Math.PI/2+this._pitch,o=this._fov*(.5+e.y/this.height),r=Math.sin(o)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-i-o,.01,Math.PI-.01)),a=this.point,n=a.x,s=a.y,l=1.01*(Math.cos(Math.PI/2-this._pitch)*r+this.cameraToCenterDistance),c=this.height/50,u=new Float64Array(16);t.perspective(u,this._fov,this.width/this.height,c,l),u[8]=2*-e.x/this.width,u[9]=2*e.y/this.height,t.scale(u,u,[1,-1,1]),t.translate(u,u,[0,0,-this.cameraToCenterDistance]),t.rotateX(u,u,this._pitch),t.rotateZ(u,u,this.angle),t.translate(u,u,[-n,-s,0]),this.mercatorMatrix=t.scale([],u,[this.worldSize,this.worldSize,this.worldSize]),t.scale(u,u,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=u,this.invProjMatrix=t.invert([],this.projMatrix);var h=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),_=Math.sin(this.angle),f=n-Math.round(n)+d*h+_*p,m=s-Math.round(s)+d*p+_*h,g=new Float64Array(u);if(t.translate(g,g,[f>.5?f-1:f,m>.5?m-1:m,0]),this.alignedProjMatrix=g,u=t.create(),t.scale(u,u,[this.width/2,-this.height/2,1]),t.translate(u,u,[1,-1,0]),this.labelPlaneMatrix=u,u=t.create(),t.scale(u,u,[1,-1,1]),t.translate(u,u,[-1,-1,0]),t.scale(u,u,[2/this.width,2/this.height,1]),this.glCoordMatrix=u,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(u=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=u,this._posMatrixCache={},this._alignedPosMatrixCache={};}},To.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),i=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance},To.prototype.getCameraPoint=function(){var e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,e))},To.prototype.getCameraQueryGeometry=function(e){var i=this.getCameraPoint();if(1===e.length)return [e[0],i];for(var o=i.x,r=i.y,a=i.x,n=i.y,s=0,l=e;s<l.length;s+=1){var c=l[s];o=Math.min(o,c.x),r=Math.min(r,c.y),a=Math.max(a,c.x),n=Math.max(n,c.y);}return [new t.Point(o,r),new t.Point(a,r),new t.Point(a,n),new t.Point(o,n),new t.Point(o,r)]},Object.defineProperties(To.prototype,Eo);var Io=function(e){var i,o,r,a;this._hashName=e&&encodeURIComponent(e),t.bindAll([\"_getCurrentHash\",\"_onHashChange\",\"_updateHash\"],this),this._updateHash=(i=this._updateHashUnthrottled.bind(this),o=!1,r=null,a=function(){r=null,o&&(i(),r=setTimeout(a,300),o=!1);},function(){return o=!0,r||a(),r});};Io.prototype.addTo=function(e){return this._map=e,t.window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},Io.prototype.remove=function(){return t.window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},Io.prototype.getHashString=function(e){var i=this._map.getCenter(),o=Math.round(100*this._map.getZoom())/100,r=Math.ceil((o*Math.LN2+Math.log(512/360/.5))/Math.LN10),a=Math.pow(10,r),n=Math.round(i.lng*a)/a,s=Math.round(i.lat*a)/a,l=this._map.getBearing(),c=this._map.getPitch(),u=\"\";if(u+=e?\"/\"+n+\"/\"+s+\"/\"+o:o+\"/\"+s+\"/\"+n,(l||c)&&(u+=\"/\"+Math.round(10*l)/10),c&&(u+=\"/\"+Math.round(c)),this._hashName){var h=this._hashName,p=!1,d=t.window.location.hash.slice(1).split(\"&\").map((function(t){var e=t.split(\"=\")[0];return e===h?(p=!0,e+\"=\"+u):t})).filter((function(t){return t}));return p||d.push(h+\"=\"+u),\"#\"+d.join(\"&\")}return \"#\"+u},Io.prototype._getCurrentHash=function(){var e,i=this,o=t.window.location.hash.replace(\"#\",\"\");return this._hashName?(o.split(\"&\").map((function(t){return t.split(\"=\")})).forEach((function(t){t[0]===i._hashName&&(e=t);})),(e&&e[1]||\"\").split(\"/\")):o.split(\"/\")},Io.prototype._onHashChange=function(){var t=this._getCurrentHash();if(t.length>=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return !1},Io.prototype._updateHashUnthrottled=function(){var e=t.window.location.href.replace(/(#.+)?$/,this.getHashString());try{t.window.history.replaceState(t.window.history.state,null,e);}catch(t){}};var Po={linearity:.3,easing:t.bezier(0,0,.3,1)},So=t.extend({deceleration:2500,maxSpeed:1400},Po),Co=t.extend({deceleration:20,maxSpeed:1400},Po),zo=t.extend({deceleration:1e3,maxSpeed:360},Po),Do=t.extend({deceleration:1e3,maxSpeed:90},Po),Ao=function(t){this._map=t,this.clear();};function Mo(t,e){(!t.duration||t.duration<e.duration)&&(t.duration=e.duration,t.easing=e.easing);}function Lo(e,i,o){var r=o.maxSpeed,a=o.linearity,n=o.deceleration,s=t.clamp(e*a/(i/1e3),-r,r),l=Math.abs(s)/(n*a);return {easing:o.easing,duration:1e3*l,amount:s*(l/2)}}Ao.prototype.clear=function(){this._inertiaBuffer=[];},Ao.prototype.record=function(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.browser.now(),settings:e});},Ao.prototype._drainInertiaBuffer=function(){for(var e=this._inertiaBuffer,i=t.browser.now();e.length>0&&i-e[0].time>160;)e.shift();},Ao.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var i={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},o=0,r=this._inertiaBuffer;o<r.length;o+=1){var a=r[o].settings;i.zoom+=a.zoomDelta||0,i.bearing+=a.bearingDelta||0,i.pitch+=a.pitchDelta||0,a.panDelta&&i.pan._add(a.panDelta),a.around&&(i.around=a.around),a.pinchAround&&(i.pinchAround=a.pinchAround);}var n=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,s={};if(i.pan.mag()){var l=Lo(i.pan.mag(),n,t.extend({},So,e||{}));s.offset=i.pan.mult(l.amount/i.pan.mag()),s.center=this._map.transform.center,Mo(s,l);}if(i.zoom){var c=Lo(i.zoom,n,Co);s.zoom=this._map.transform.zoom+c.amount,Mo(s,c);}if(i.bearing){var u=Lo(i.bearing,n,zo);s.bearing=this._map.transform.bearing+t.clamp(u.amount,-179,179),Mo(s,u);}if(i.pitch){var h=Lo(i.pitch,n,Do);s.pitch=this._map.transform.pitch+h.amount,Mo(s,h);}if(s.zoom||s.bearing){var p=void 0===i.pinchAround?i.around:i.pinchAround;s.around=p?this._map.unproject(p):this._map.getCenter();}return this.clear(),t.extend(s,{noMoveStart:!0})}};var Ro=function(e){function o(o,r,a,n){void 0===n&&(n={});var s=i.mousePos(r.getCanvasContainer(),a),l=r.unproject(s);e.call(this,o,t.extend({point:s,lngLat:l,originalEvent:a},n)),this._defaultPrevented=!1,this.target=r;}e&&(o.__proto__=e),(o.prototype=Object.create(e&&e.prototype)).constructor=o;var r={defaultPrevented:{configurable:!0}};return o.prototype.preventDefault=function(){this._defaultPrevented=!0;},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(o.prototype,r),o}(t.Event),ko=function(e){function o(o,r,a){var n=\"touchend\"===o?a.changedTouches:a.touches,s=i.touchPos(r.getCanvasContainer(),n),l=s.map((function(t){return r.unproject(t)})),c=s.reduce((function(t,e,i,o){return t.add(e.div(o.length))}),new t.Point(0,0)),u=r.unproject(c);e.call(this,o,{points:s,point:c,lngLats:l,lngLat:u,originalEvent:a}),this._defaultPrevented=!1;}e&&(o.__proto__=e),(o.prototype=Object.create(e&&e.prototype)).constructor=o;var r={defaultPrevented:{configurable:!0}};return o.prototype.preventDefault=function(){this._defaultPrevented=!0;},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(o.prototype,r),o}(t.Event),Bo=function(t){function e(e,i,o){t.call(this,e,{originalEvent:o}),this._defaultPrevented=!1;}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var i={defaultPrevented:{configurable:!0}};return e.prototype.preventDefault=function(){this._defaultPrevented=!0;},i.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(e.prototype,i),e}(t.Event),Oo=function(t,e){this._map=t,this._clickTolerance=e.clickTolerance;};Oo.prototype.reset=function(){delete this._mousedownPos;},Oo.prototype.wheel=function(t){return this._firePreventable(new Bo(t.type,this._map,t))},Oo.prototype.mousedown=function(t,e){return this._mousedownPos=e,this._firePreventable(new Ro(t.type,this._map,t))},Oo.prototype.mouseup=function(t){this._map.fire(new Ro(t.type,this._map,t));},Oo.prototype.click=function(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new Ro(t.type,this._map,t));},Oo.prototype.dblclick=function(t){return this._firePreventable(new Ro(t.type,this._map,t))},Oo.prototype.mouseover=function(t){this._map.fire(new Ro(t.type,this._map,t));},Oo.prototype.mouseout=function(t){this._map.fire(new Ro(t.type,this._map,t));},Oo.prototype.touchstart=function(t){return this._firePreventable(new ko(t.type,this._map,t))},Oo.prototype.touchmove=function(t){this._map.fire(new ko(t.type,this._map,t));},Oo.prototype.touchend=function(t){this._map.fire(new ko(t.type,this._map,t));},Oo.prototype.touchcancel=function(t){this._map.fire(new ko(t.type,this._map,t));},Oo.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return {}},Oo.prototype.isEnabled=function(){return !0},Oo.prototype.isActive=function(){return !1},Oo.prototype.enable=function(){},Oo.prototype.disable=function(){};var Fo=function(t){this._map=t;};Fo.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent;},Fo.prototype.mousemove=function(t){this._map.fire(new Ro(t.type,this._map,t));},Fo.prototype.mousedown=function(){this._delayContextMenu=!0;},Fo.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Ro(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent);},Fo.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Ro(t.type,this._map,t)),this._map.listens(\"contextmenu\")&&t.preventDefault();},Fo.prototype.isEnabled=function(){return !0},Fo.prototype.isActive=function(){return !1},Fo.prototype.enable=function(){},Fo.prototype.disable=function(){};var Uo=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1;};function No(t,e){for(var i={},o=0;o<t.length;o++)i[t[o].identifier]=e[o];return i}Uo.prototype.isEnabled=function(){return !!this._enabled},Uo.prototype.isActive=function(){return !!this._active},Uo.prototype.enable=function(){this.isEnabled()||(this._enabled=!0);},Uo.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1);},Uo.prototype.mousedown=function(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(i.disableDrag(),this._startPos=this._lastPos=e,this._active=!0);},Uo.prototype.mousemoveWindow=function(t,e){if(this._active){var o=e;if(!(this._lastPos.equals(o)||!this._box&&o.dist(this._startPos)<this._clickTolerance)){var r=this._startPos;this._lastPos=o,this._box||(this._box=i.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",t));var a=Math.min(r.x,o.x),n=Math.max(r.x,o.x),s=Math.min(r.y,o.y),l=Math.max(r.y,o.y);i.setTransform(this._box,\"translate(\"+a+\"px,\"+s+\"px)\"),this._box.style.width=n-a+\"px\",this._box.style.height=l-s+\"px\";}}},Uo.prototype.mouseupWindow=function(e,o){var r=this;if(this._active&&0===e.button){var a=this._startPos,n=o;if(this.reset(),i.suppressClick(),a.x!==n.x||a.y!==n.y)return this._map.fire(new t.Event(\"boxzoomend\",{originalEvent:e})),{cameraAnimation:function(t){return t.fitScreenCoordinates(a,n,r._map.getBearing(),{linear:!0})}};this._fireEvent(\"boxzoomcancel\",e);}},Uo.prototype.keydown=function(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent(\"boxzoomcancel\",t));},Uo.prototype.blur=function(){this.reset();},Uo.prototype.reset=function(){this._active=!1,this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(i.remove(this._box),this._box=null),i.enableDrag(),delete this._startPos,delete this._lastPos;},Uo.prototype._fireEvent=function(e,i){return this._map.fire(new t.Event(e,{originalEvent:i}))};var Zo=function(t){this.reset(),this.numTouches=t.numTouches;};Zo.prototype.reset=function(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1;},Zo.prototype.touchstart=function(e,i,o){(this.centroid||o.length>this.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),o.length===this.numTouches&&(this.centroid=function(e){for(var i=new t.Point(0,0),o=0,r=e;o<r.length;o+=1)i._add(r[o]);return i.div(e.length)}(i),this.touches=No(o,i)));},Zo.prototype.touchmove=function(t,e,i){if(!this.aborted&&this.centroid){var o=No(i,e);for(var r in this.touches){var a=o[r];(!a||a.dist(this.touches[r])>30)&&(this.aborted=!0);}}},Zo.prototype.touchend=function(t,e,i){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){var o=!this.aborted&&this.centroid;if(this.reset(),o)return o}};var qo=function(t){this.singleTap=new Zo(t),this.numTaps=t.numTaps,this.reset();};qo.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset();},qo.prototype.touchstart=function(t,e,i){this.singleTap.touchstart(t,e,i);},qo.prototype.touchmove=function(t,e,i){this.singleTap.touchmove(t,e,i);},qo.prototype.touchend=function(t,e,i){var o=this.singleTap.touchend(t,e,i);if(o){var r=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(o)<30;if(r&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=o,this.count===this.numTaps)return this.reset(),o}};var jo=function(){this._zoomIn=new qo({numTouches:1,numTaps:2}),this._zoomOut=new qo({numTouches:2,numTaps:1}),this.reset();};jo.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset();},jo.prototype.touchstart=function(t,e,i){this._zoomIn.touchstart(t,e,i),this._zoomOut.touchstart(t,e,i);},jo.prototype.touchmove=function(t,e,i){this._zoomIn.touchmove(t,e,i),this._zoomOut.touchmove(t,e,i);},jo.prototype.touchend=function(t,e,i){var o=this,r=this._zoomIn.touchend(t,e,i),a=this._zoomOut.touchend(t,e,i);return r?(this._active=!0,t.preventDefault(),setTimeout((function(){return o.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(r)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return o.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},jo.prototype.touchcancel=function(){this.reset();},jo.prototype.enable=function(){this._enabled=!0;},jo.prototype.disable=function(){this._enabled=!1,this.reset();},jo.prototype.isEnabled=function(){return this._enabled},jo.prototype.isActive=function(){return this._active};var Vo={0:1,2:2},Go=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1;};Go.prototype.blur=function(){this.reset();},Go.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton;},Go.prototype._correctButton=function(t,e){return !1},Go.prototype._move=function(t,e){return {}},Go.prototype.mousedown=function(t,e){if(!this._lastPoint){var o=i.mouseButton(t);this._correctButton(t,o)&&(this._lastPoint=e,this._eventButton=o);}},Go.prototype.mousemoveWindow=function(t,e){var i=this._lastPoint;if(i)if(t.preventDefault(),function(t,e){var i=Vo[e];return void 0===t.buttons||(t.buttons&i)!==i}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(i)<this._clickTolerance))return this._moved=!0,this._lastPoint=e,this._move(i,e)},Go.prototype.mouseupWindow=function(t){this._lastPoint&&i.mouseButton(t)===this._eventButton&&(this._moved&&i.suppressClick(),this.reset());},Go.prototype.enable=function(){this._enabled=!0;},Go.prototype.disable=function(){this._enabled=!1,this.reset();},Go.prototype.isEnabled=function(){return this._enabled},Go.prototype.isActive=function(){return this._active};var Wo=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.mousedown=function(e,i){t.prototype.mousedown.call(this,e,i),this._lastPoint&&(this._active=!0);},e.prototype._correctButton=function(t,e){return 0===e&&!t.ctrlKey},e.prototype._move=function(t,e){return {around:e,panDelta:e.sub(t)}},e}(Go),Xo=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var i=.8*(e.x-t.x);if(i)return this._active=!0,{bearingDelta:i}},e.prototype.contextmenu=function(t){t.preventDefault();},e}(Go),Ho=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var i=-.5*(e.y-t.y);if(i)return this._active=!0,{pitchDelta:i}},e.prototype.contextmenu=function(t){t.preventDefault();},e}(Go),Ko=function(t){this._minTouches=1,this._clickTolerance=t.clickTolerance||1,this.reset();};Ko.prototype.reset=function(){this._active=!1,this._touches={},this._sum=new t.Point(0,0);},Ko.prototype.touchstart=function(t,e,i){return this._calculateTransform(t,e,i)},Ko.prototype.touchmove=function(t,e,i){if(this._active&&!(i.length<this._minTouches))return t.preventDefault(),this._calculateTransform(t,e,i)},Ko.prototype.touchend=function(t,e,i){this._calculateTransform(t,e,i),this._active&&i.length<this._minTouches&&this.reset();},Ko.prototype.touchcancel=function(){this.reset();},Ko.prototype._calculateTransform=function(e,i,o){o.length>0&&(this._active=!0);var r=No(o,i),a=new t.Point(0,0),n=new t.Point(0,0),s=0;for(var l in r){var c=r[l],u=this._touches[l];u&&(a._add(c),n._add(c.sub(u)),s++,r[l]=c);}if(this._touches=r,!(s<this._minTouches)&&n.mag()){var h=n.div(s);if(this._sum._add(h),!(this._sum.mag()<this._clickTolerance))return {around:a.div(s),panDelta:h}}},Ko.prototype.enable=function(){this._enabled=!0;},Ko.prototype.disable=function(){this._enabled=!1,this.reset();},Ko.prototype.isEnabled=function(){return this._enabled},Ko.prototype.isActive=function(){return this._active};var Yo=function(){this.reset();};function Jo(t,e,i){for(var o=0;o<t.length;o++)if(t[o].identifier===i)return e[o]}function Qo(t,e){return Math.log(t/e)/Math.LN2}Yo.prototype.reset=function(){this._active=!1,delete this._firstTwoTouches;},Yo.prototype._start=function(t){},Yo.prototype._move=function(t,e,i){return {}},Yo.prototype.touchstart=function(t,e,i){this._firstTwoTouches||i.length<2||(this._firstTwoTouches=[i[0].identifier,i[1].identifier],this._start([e[0],e[1]]));},Yo.prototype.touchmove=function(t,e,i){if(this._firstTwoTouches){t.preventDefault();var o=this._firstTwoTouches,r=o[1],a=Jo(i,e,o[0]),n=Jo(i,e,r);if(a&&n){var s=this._aroundCenter?null:a.add(n).div(2);return this._move([a,n],s,t)}}},Yo.prototype.touchend=function(t,e,o){if(this._firstTwoTouches){var r=this._firstTwoTouches,a=r[1],n=Jo(o,e,r[0]),s=Jo(o,e,a);n&&s||(this._active&&i.suppressClick(),this.reset());}},Yo.prototype.touchcancel=function(){this.reset();},Yo.prototype.enable=function(t){this._enabled=!0,this._aroundCenter=!!t&&\"center\"===t.around;},Yo.prototype.disable=function(){this._enabled=!1,this.reset();},Yo.prototype.isEnabled=function(){return this._enabled},Yo.prototype.isActive=function(){return this._active};var $o=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),delete this._distance,delete this._startDistance;},e.prototype._start=function(t){this._startDistance=this._distance=t[0].dist(t[1]);},e.prototype._move=function(t,e){var i=this._distance;if(this._distance=t[0].dist(t[1]),this._active||!(Math.abs(Qo(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:Qo(this._distance,i),pinchAround:e}},e}(Yo);function tr(t,e){return 180*t.angleWith(e)/Math.PI}var er=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),delete this._minDiameter,delete this._startVector,delete this._vector;},e.prototype._start=function(t){this._startVector=this._vector=t[0].sub(t[1]),this._minDiameter=t[0].dist(t[1]);},e.prototype._move=function(t,e){var i=this._vector;if(this._vector=t[0].sub(t[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:tr(this._vector,i),pinchAround:e}},e.prototype._isBelowThreshold=function(t){this._minDiameter=Math.min(this._minDiameter,t.mag());var e=25/(Math.PI*this._minDiameter)*360,i=tr(t,this._startVector);return Math.abs(i)<e},e}(Yo);function ir(t){return Math.abs(t.y)>Math.abs(t.x)}var or=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints;},e.prototype._start=function(t){this._lastPoints=t,ir(t[0].sub(t[1]))&&(this._valid=!1);},e.prototype._move=function(t,e,i){var o=t[0].sub(this._lastPoints[0]),r=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(o,r,i.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(o.y+r.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,i){if(void 0!==this._valid)return this._valid;var o=t.mag()>=2,r=e.mag()>=2;if(o||r){if(!o||!r)return void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ir(t)&&ir(e)&&a}},e}(Yo),rr={panStep:100,bearingStep:15,pitchStep:10},ar=function(){var t=rr;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1;};function nr(t){return t*(2-t)}ar.prototype.blur=function(){this.reset();},ar.prototype.reset=function(){this._active=!1;},ar.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var i=0,o=0,r=0,a=0,n=0;switch(t.keyCode){case 61:case 107:case 171:case 187:i=1;break;case 189:case 109:case 173:i=-1;break;case 37:t.shiftKey?o=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?o=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?r=1:(t.preventDefault(),n=-1);break;case 40:t.shiftKey?r=-1:(t.preventDefault(),n=1);break;default:return}return this._rotationDisabled&&(o=0,r=0),{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:\"keyboardHandler\",easing:nr,zoom:i?Math.round(l)+i*(t.shiftKey?2:1):l,bearing:s.getBearing()+o*e._bearingStep,pitch:s.getPitch()+r*e._pitchStep,offset:[-a*e._panStep,-n*e._panStep],center:s.getCenter()},{originalEvent:t});}}}},ar.prototype.enable=function(){this._enabled=!0;},ar.prototype.disable=function(){this._enabled=!1,this.reset();},ar.prototype.isEnabled=function(){return this._enabled},ar.prototype.isActive=function(){return this._active},ar.prototype.disableRotation=function(){this._rotationDisabled=!0;},ar.prototype.enableRotation=function(){this._rotationDisabled=!1;};var sr=function(e,i){this._map=e,this._el=e.getCanvasContainer(),this._handler=i,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=1/450,t.bindAll([\"_onTimeout\"],this);};sr.prototype.setZoomRate=function(t){this._defaultZoomRate=t;},sr.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t;},sr.prototype.isEnabled=function(){return !!this._enabled},sr.prototype.isActive=function(){return !!this._active||void 0!==this._finishTimeout},sr.prototype.isZooming=function(){return !!this._zooming},sr.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around);},sr.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1);},sr.prototype.wheel=function(e){if(this.isEnabled()){var i=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,o=t.browser.now(),r=o-(this._lastWheelEventTime||0);this._lastWheelEventTime=o,0!==i&&i%4.000244140625==0?this._type=\"wheel\":0!==i&&Math.abs(i)<4?this._type=\"trackpad\":r>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(r*i)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),e.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=e,this._delta-=i,this._active||this._start(e)),e.preventDefault();}},sr.prototype._onTimeout=function(t){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(t);},sr.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var o=i.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(o)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame());}},sr.prototype.renderFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var i=this._map.transform;if(0!==this._delta){var o=\"wheel\"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,r=2/(1+Math.exp(-Math.abs(this._delta*o)));this._delta<0&&0!==r&&(r=1/r);var a=\"number\"==typeof this._targetZoom?i.zoomScale(this._targetZoom):i.scale;this._targetZoom=Math.min(i.maxZoom,Math.max(i.minZoom,i.scaleZoom(a*r))),\"wheel\"===this._type&&(this._startZoom=i.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0;}var n,s=\"number\"==typeof this._targetZoom?this._targetZoom:i.zoom,l=this._startZoom,c=this._easing,u=!1;if(\"wheel\"===this._type&&l&&c){var h=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),p=c(h);n=t.number(l,s,p),h<1?this._frameId||(this._frameId=!0):u=!0;}else n=s,u=!0;return this._active=!0,u&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout;}),200)),{noInertia:!0,needsRenderFrame:!u,zoomDelta:n-i.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},sr.prototype._smoothOutEasing=function(e){var i=t.ease;if(this._prevEase){var o=this._prevEase,r=(t.browser.now()-o.start)/o.duration,a=o.easing(r+.01)-o.easing(r),n=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-n*n);i=t.bezier(n,s,.25,1);}return this._prevEase={start:t.browser.now(),duration:e,easing:i},i},sr.prototype.blur=function(){this.reset();},sr.prototype.reset=function(){this._active=!1;};var lr=function(t,e){this._clickZoom=t,this._tapZoom=e;};lr.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable();},lr.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable();},lr.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},lr.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var cr=function(){this.reset();};cr.prototype.reset=function(){this._active=!1;},cr.prototype.blur=function(){this.reset();},cr.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(i){i.easeTo({duration:300,zoom:i.getZoom()+(t.shiftKey?-1:1),around:i.unproject(e)},{originalEvent:t});}}},cr.prototype.enable=function(){this._enabled=!0;},cr.prototype.disable=function(){this._enabled=!1,this.reset();},cr.prototype.isEnabled=function(){return this._enabled},cr.prototype.isActive=function(){return this._active};var ur=function(){this._tap=new qo({numTouches:1,numTaps:1}),this.reset();};ur.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset();},ur.prototype.touchstart=function(t,e,i){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?i.length>0&&(this._swipePoint=e[0],this._swipeTouch=i[0].identifier):this._tap.touchstart(t,e,i));},ur.prototype.touchmove=function(t,e,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;var o=e[0],r=o.y-this._swipePoint.y;return this._swipePoint=o,t.preventDefault(),this._active=!0,{zoomDelta:r/128}}}else this._tap.touchmove(t,e,i);},ur.prototype.touchend=function(t,e,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(t,e,i)&&(this._tapTime=t.timeStamp);},ur.prototype.touchcancel=function(){this.reset();},ur.prototype.enable=function(){this._enabled=!0;},ur.prototype.disable=function(){this._enabled=!1,this.reset();},ur.prototype.isEnabled=function(){return this._enabled},ur.prototype.isActive=function(){return this._active};var hr=function(t,e,i){this._el=t,this._mousePan=e,this._touchPan=i;};hr.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\");},hr.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\");},hr.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},hr.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var pr=function(t,e,i){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=i;};pr.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable();},pr.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable();},pr.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},pr.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var dr=function(t,e,i,o){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=o,this._rotationDisabled=!1,this._enabled=!0;};dr.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\");},dr.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\");},dr.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},dr.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},dr.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable();},dr.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable();};var _r=function(t){return t.zoom||t.drag||t.pitch||t.rotate},fr=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(t.Event);function mr(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var gr=function(e,o){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Ao(e),this._bearingSnap=o.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(o),t.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var r=this._el;this._listeners=[[r,\"touchstart\",{passive:!0}],[r,\"touchmove\",{passive:!1}],[r,\"touchend\",void 0],[r,\"touchcancel\",void 0],[r,\"mousedown\",void 0],[r,\"mousemove\",void 0],[r,\"mouseup\",void 0],[t.window.document,\"mousemove\",{capture:!0}],[t.window.document,\"mouseup\",void 0],[r,\"mouseover\",void 0],[r,\"mouseout\",void 0],[r,\"dblclick\",void 0],[r,\"click\",void 0],[r,\"keydown\",{capture:!1}],[r,\"keyup\",void 0],[r,\"wheel\",{passive:!1}],[r,\"contextmenu\",void 0],[t.window,\"blur\",void 0]];for(var a=0,n=this._listeners;a<n.length;a+=1){var s=n[a],l=s[0];i.addEventListener(l,s[1],l===t.window.document?this.handleWindowEvent:this.handleEvent,s[2]);}};gr.prototype.destroy=function(){for(var e=0,o=this._listeners;e<o.length;e+=1){var r=o[e],a=r[0];i.removeEventListener(a,r[1],a===t.window.document?this.handleWindowEvent:this.handleEvent,r[2]);}},gr.prototype._addDefaultHandlers=function(t){var e=this._map,i=e.getCanvasContainer();this._add(\"mapEvent\",new Oo(e,t));var o=e.boxZoom=new Uo(e,t);this._add(\"boxZoom\",o);var r=new jo,a=new cr;e.doubleClickZoom=new lr(a,r),this._add(\"tapZoom\",r),this._add(\"clickZoom\",a);var n=new ur;this._add(\"tapDragZoom\",n);var s=e.touchPitch=new or;this._add(\"touchPitch\",s);var l=new Xo(t),c=new Ho(t);e.dragRotate=new pr(t,l,c),this._add(\"mouseRotate\",l,[\"mousePitch\"]),this._add(\"mousePitch\",c,[\"mouseRotate\"]);var u=new Wo(t),h=new Ko(t);e.dragPan=new hr(i,u,h),this._add(\"mousePan\",u),this._add(\"touchPan\",h,[\"touchZoom\",\"touchRotate\"]);var p=new er,d=new $o;e.touchZoomRotate=new dr(i,d,p,n),this._add(\"touchRotate\",p,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",d,[\"touchPan\",\"touchRotate\"]);var _=e.scrollZoom=new sr(e,this);this._add(\"scrollZoom\",_,[\"mousePan\"]);var f=e.keyboard=new ar;this._add(\"keyboard\",f),this._add(\"blockableMapEvent\",new Fo(e));for(var m=0,g=[\"boxZoom\",\"doubleClickZoom\",\"tapDragZoom\",\"touchPitch\",\"dragRotate\",\"dragPan\",\"touchZoomRotate\",\"scrollZoom\",\"keyboard\"];m<g.length;m+=1){var v=g[m];t.interactive&&t[v]&&e[v].enable(t[v]);}},gr.prototype._add=function(t,e,i){this._handlers.push({handlerName:t,handler:e,allowed:i}),this._handlersById[t]=e;},gr.prototype.stop=function(t){if(!this._updatingCamera){for(var e=0,i=this._handlers;e<i.length;e+=1)i[e].handler.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[];}},gr.prototype.isActive=function(){for(var t=0,e=this._handlers;t<e.length;t+=1)if(e[t].handler.isActive())return !0;return !1},gr.prototype.isZooming=function(){return !!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()},gr.prototype.isRotating=function(){return !!this._eventsInProgress.rotate},gr.prototype.isMoving=function(){return Boolean(_r(this._eventsInProgress))||this.isZooming()},gr.prototype._blockedByActive=function(t,e,i){for(var o in t)if(o!==i&&(!e||e.indexOf(o)<0))return !0;return !1},gr.prototype.handleWindowEvent=function(t){this.handleEvent(t,t.type+\"Window\");},gr.prototype._getMapTouches=function(t){for(var e=[],i=0,o=t;i<o.length;i+=1){var r=o[i];this._el.contains(r.target)&&e.push(r);}return e},gr.prototype.handleEvent=function(t,e){this._updatingCamera=!0;for(var o=\"renderFrame\"===t.type?void 0:t,r={needsRenderFrame:!1},a={},n={},s=t.touches?this._getMapTouches(t.touches):void 0,l=s?i.touchPos(this._el,s):i.mousePos(this._el,t),c=0,u=this._handlers;c<u.length;c+=1){var h=u[c],p=h.handlerName,d=h.handler,_=h.allowed;if(d.isEnabled()){var f=void 0;this._blockedByActive(n,_,p)?d.reset():d[e||t.type]&&(f=d[e||t.type](t,l,s),this.mergeHandlerResult(r,a,f,p,o),f&&f.needsRenderFrame&&this._triggerRenderFrame()),(f||d.isActive())&&(n[p]=d);}}var m={};for(var g in this._previousActiveHandlers)n[g]||(m[g]=o);this._previousActiveHandlers=n,(Object.keys(m).length||mr(r))&&(this._changes.push([r,a,m]),this._triggerRenderFrame()),(Object.keys(n).length||mr(r))&&this._map._stop(!0),this._updatingCamera=!1;var v=r.cameraAnimation;v&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],v(this._map));},gr.prototype.mergeHandlerResult=function(e,i,o,r,a){if(o){t.extend(e,o);var n={handlerName:r,originalEvent:o.originalEvent||a};void 0!==o.zoomDelta&&(i.zoom=n),void 0!==o.panDelta&&(i.drag=n),void 0!==o.pitchDelta&&(i.pitch=n),void 0!==o.bearingDelta&&(i.rotate=n);}},gr.prototype._applyChanges=function(){for(var e={},i={},o={},r=0,a=this._changes;r<a.length;r+=1){var n=a[r],s=n[0],l=n[1],c=n[2];s.panDelta&&(e.panDelta=(e.panDelta||new t.Point(0,0))._add(s.panDelta)),s.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+s.zoomDelta),s.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+s.bearingDelta),s.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+s.pitchDelta),void 0!==s.around&&(e.around=s.around),void 0!==s.pinchAround&&(e.pinchAround=s.pinchAround),s.noInertia&&(e.noInertia=s.noInertia),t.extend(i,l),t.extend(o,c);}this._updateMapTransform(e,i,o),this._changes=[];},gr.prototype._updateMapTransform=function(t,e,i){var o=this._map,r=o.transform;if(!mr(t))return this._fireEvents(e,i,!0);var a=t.panDelta,n=t.zoomDelta,s=t.bearingDelta,l=t.pitchDelta,c=t.around,u=t.pinchAround;void 0!==u&&(c=u),o._stop(!0),c=c||o.transform.centerPoint;var h=r.pointLocation(a?c.sub(a):c);s&&(r.bearing+=s),l&&(r.pitch+=l),n&&(r.zoom+=n),r.setLocationAtPoint(h,c),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,i,!0);},gr.prototype._fireEvents=function(e,i,o){var r=this,a=_r(this._eventsInProgress),n=_r(e),s={};for(var l in e)this._eventsInProgress[l]||(s[l+\"start\"]=e[l].originalEvent),this._eventsInProgress[l]=e[l];for(var c in !a&&n&&this._fireEvent(\"movestart\",n.originalEvent),s)this._fireEvent(c,s[c]);for(var u in n&&this._fireEvent(\"move\",n.originalEvent),e)this._fireEvent(u,e[u].originalEvent);var h,p={};for(var d in this._eventsInProgress){var _=this._eventsInProgress[d],f=_.handlerName,m=_.originalEvent;this._handlersById[f].isActive()||(delete this._eventsInProgress[d],p[d+\"end\"]=h=i[f]||m);}for(var g in p)this._fireEvent(g,p[g]);var v=_r(this._eventsInProgress);if(o&&(a||n)&&!v){this._updatingCamera=!0;var y=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),x=function(t){return 0!==t&&-r._bearingSnap<t&&t<r._bearingSnap};y?(x(y.bearing||this._map.getBearing())&&(y.bearing=0),this._map.easeTo(y,{originalEvent:h})):(this._map.fire(new t.Event(\"moveend\",{originalEvent:h})),x(this._map.getBearing())&&this._map.resetNorth()),this._updatingCamera=!1;}},gr.prototype._fireEvent=function(e,i){this._map.fire(new t.Event(e,i?{originalEvent:i}:{}));},gr.prototype._requestFrame=function(){var t=this;return this._map.triggerRepaint(),this._map._renderTaskQueue.add((function(e){delete t._frameId,t.handleEvent(new fr(\"renderFrame\",{timeStamp:e})),t._applyChanges();}))},gr.prototype._triggerRenderFrame=function(){void 0===this._frameId&&(this._frameId=this._requestFrame());};var vr=function(e){function i(i,o){e.call(this),this._moving=!1,this._zooming=!1,this.transform=i,this._bearingSnap=o.bearingSnap,t.bindAll([\"_renderFrameCallback\"],this);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.getCenter=function(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)},i.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},i.prototype.panBy=function(e,i,o){return e=t.Point.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},i),o)},i.prototype.panTo=function(e,i,o){return this.easeTo(t.extend({center:e},i),o)},i.prototype.getZoom=function(){return this.transform.zoom},i.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},i.prototype.zoomTo=function(e,i,o){return this.easeTo(t.extend({zoom:e},i),o)},i.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},i.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},i.prototype.getBearing=function(){return this.transform.bearing},i.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},i.prototype.getPadding=function(){return this.transform.padding},i.prototype.setPadding=function(t,e){return this.jumpTo({padding:t},e),this},i.prototype.rotateTo=function(e,i,o){return this.easeTo(t.extend({bearing:e},i),o)},i.prototype.resetNorth=function(e,i){return this.rotateTo(0,t.extend({duration:1e3},e),i),this},i.prototype.resetNorthPitch=function(e,i){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),i),this},i.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},i.prototype.getPitch=function(){return this.transform.pitch},i.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},i.prototype.cameraForBounds=function(e,i){e=t.LngLatBounds.convert(e);var o=i&&i.bearing||0;return this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),o,i)},i.prototype._cameraForBoxAndBearing=function(e,i,o,r){var a={top:0,bottom:0,right:0,left:0};if(\"number\"==typeof(r=t.extend({padding:a,offset:[0,0],maxZoom:this.transform.maxZoom},r)).padding){var n=r.padding;r.padding={top:n,bottom:n,right:n,left:n};}r.padding=t.extend(a,r.padding);var s=this.transform,l=s.padding,c=s.project(t.LngLat.convert(e)),u=s.project(t.LngLat.convert(i)),h=c.rotate(-o*Math.PI/180),p=u.rotate(-o*Math.PI/180),d=new t.Point(Math.max(h.x,p.x),Math.max(h.y,p.y)),_=new t.Point(Math.min(h.x,p.x),Math.min(h.y,p.y)),f=d.sub(_),m=(s.width-(l.left+l.right+r.padding.left+r.padding.right))/f.x,g=(s.height-(l.top+l.bottom+r.padding.top+r.padding.bottom))/f.y;if(!(g<0||m<0)){var v=Math.min(s.scaleZoom(s.scale*Math.min(m,g)),r.maxZoom),y=\"number\"==typeof r.offset.x?new t.Point(r.offset.x,r.offset.y):t.Point.convert(r.offset),x=new t.Point((r.padding.left-r.padding.right)/2,(r.padding.top-r.padding.bottom)/2).rotate(o*Math.PI/180),b=y.add(x).mult(s.scale/s.zoomScale(v));return {center:s.unproject(c.add(u).div(2).sub(b)),zoom:v,bearing:o}}t.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\");},i.prototype.fitBounds=function(t,e,i){return this._fitInternal(this.cameraForBounds(t,e),e,i)},i.prototype.fitScreenCoordinates=function(e,i,o,r,a){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(t.Point.convert(e)),this.transform.pointLocation(t.Point.convert(i)),o,r),r,a)},i.prototype._fitInternal=function(e,i,o){return e?(delete(i=t.extend(e,i)).padding,i.linear?this.easeTo(i,o):this.flyTo(i,o)):this},i.prototype.jumpTo=function(e,i){this.stop();var o=this.transform,r=!1,a=!1,n=!1;return \"zoom\"in e&&o.zoom!==+e.zoom&&(r=!0,o.zoom=+e.zoom),void 0!==e.center&&(o.center=t.LngLat.convert(e.center)),\"bearing\"in e&&o.bearing!==+e.bearing&&(a=!0,o.bearing=+e.bearing),\"pitch\"in e&&o.pitch!==+e.pitch&&(n=!0,o.pitch=+e.pitch),null==e.padding||o.isPaddingEqual(e.padding)||(o.padding=e.padding),this.fire(new t.Event(\"movestart\",i)).fire(new t.Event(\"move\",i)),r&&this.fire(new t.Event(\"zoomstart\",i)).fire(new t.Event(\"zoom\",i)).fire(new t.Event(\"zoomend\",i)),a&&this.fire(new t.Event(\"rotatestart\",i)).fire(new t.Event(\"rotate\",i)).fire(new t.Event(\"rotateend\",i)),n&&this.fire(new t.Event(\"pitchstart\",i)).fire(new t.Event(\"pitch\",i)).fire(new t.Event(\"pitchend\",i)),this.fire(new t.Event(\"moveend\",i))},i.prototype.easeTo=function(e,i){var o=this;this._stop(!1,e.easeId),(!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate||!e.essential&&t.browser.prefersReducedMotion)&&(e.duration=0);var r=this.transform,a=this.getZoom(),n=this.getBearing(),s=this.getPitch(),l=this.getPadding(),c=\"zoom\"in e?+e.zoom:a,u=\"bearing\"in e?this._normalizeBearing(e.bearing,n):n,h=\"pitch\"in e?+e.pitch:s,p=\"padding\"in e?e.padding:r.padding,d=t.Point.convert(e.offset),_=r.centerPoint.add(d),f=r.pointLocation(_),m=t.LngLat.convert(e.center||f);this._normalizeCenter(m);var g,v,y=r.project(f),x=r.project(m).sub(y),b=r.zoomScale(c-a);e.around&&(g=t.LngLat.convert(e.around),v=r.locationPoint(g));var w={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||c!==a,this._rotating=this._rotating||n!==u,this._pitching=this._pitching||h!==s,this._padding=!r.isPaddingEqual(p),this._easeId=e.easeId,this._prepareEase(i,e.noMoveStart,w),this._ease((function(e){if(o._zooming&&(r.zoom=t.number(a,c,e)),o._rotating&&(r.bearing=t.number(n,u,e)),o._pitching&&(r.pitch=t.number(s,h,e)),o._padding&&(r.interpolatePadding(l,p,e),_=r.centerPoint.add(d)),g)r.setLocationAtPoint(g,v);else {var f=r.zoomScale(r.zoom-a),m=c>a?Math.min(2,b):Math.max(.5,b),w=Math.pow(m,1-e),T=r.unproject(y.add(x.mult(e*w)).mult(f));r.setLocationAtPoint(r.renderWorldCopies?T.wrap():T,_);}o._fireMoveEvents(i);}),(function(t){o._afterEase(i,t);}),e),this},i.prototype._prepareEase=function(e,i,o){void 0===o&&(o={}),this._moving=!0,i||o.moving||this.fire(new t.Event(\"movestart\",e)),this._zooming&&!o.zooming&&this.fire(new t.Event(\"zoomstart\",e)),this._rotating&&!o.rotating&&this.fire(new t.Event(\"rotatestart\",e)),this._pitching&&!o.pitching&&this.fire(new t.Event(\"pitchstart\",e));},i.prototype._fireMoveEvents=function(e){this.fire(new t.Event(\"move\",e)),this._zooming&&this.fire(new t.Event(\"zoom\",e)),this._rotating&&this.fire(new t.Event(\"rotate\",e)),this._pitching&&this.fire(new t.Event(\"pitch\",e));},i.prototype._afterEase=function(e,i){if(!this._easeId||!i||this._easeId!==i){delete this._easeId;var o=this._zooming,r=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,o&&this.fire(new t.Event(\"zoomend\",e)),r&&this.fire(new t.Event(\"rotateend\",e)),a&&this.fire(new t.Event(\"pitchend\",e)),this.fire(new t.Event(\"moveend\",e));}},i.prototype.flyTo=function(e,i){var o=this;if(!e.essential&&t.browser.prefersReducedMotion){var r=t.pick(e,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(r,i)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,n=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c=this.getPadding(),u=\"zoom\"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):n,h=\"bearing\"in e?this._normalizeBearing(e.bearing,s):s,p=\"pitch\"in e?+e.pitch:l,d=\"padding\"in e?e.padding:a.padding,_=a.zoomScale(u-n),f=t.Point.convert(e.offset),m=a.centerPoint.add(f),g=a.pointLocation(m),v=t.LngLat.convert(e.center||g);this._normalizeCenter(v);var y=a.project(g),x=a.project(v).sub(y),b=e.curve,w=Math.max(a.width,a.height),T=w/_,E=x.mag();if(\"minZoom\"in e){var I=t.clamp(Math.min(e.minZoom,n,u),a.minZoom,a.maxZoom),P=w/a.zoomScale(I-n);b=Math.sqrt(P/E*2);}var S=b*b;function C(t){var e=(T*T-w*w+(t?-1:1)*S*S*E*E)/(2*(t?T:w)*S*E);return Math.log(Math.sqrt(e*e+1)-e)}function z(t){return (Math.exp(t)-Math.exp(-t))/2}function D(t){return (Math.exp(t)+Math.exp(-t))/2}var A=C(0),M=function(t){return D(A)/D(A+b*t)},L=function(t){return w*((D(A)*(z(e=A+b*t)/D(e))-z(A))/S)/E;var e;},R=(C(1)-A)/b;if(Math.abs(E)<1e-6||!isFinite(R)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,i);var k=T<w?-1:1;R=Math.abs(Math.log(T/w))/b,L=function(){return 0},M=function(t){return Math.exp(k*b*t)};}return e.duration=\"duration\"in e?+e.duration:1e3*R/(\"screenSpeed\"in e?+e.screenSpeed/b:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==h,this._pitching=p!==l,this._padding=!a.isPaddingEqual(d),this._prepareEase(i,!1),this._ease((function(e){var r=e*R,_=1/M(r);a.zoom=1===e?u:n+a.scaleZoom(_),o._rotating&&(a.bearing=t.number(s,h,e)),o._pitching&&(a.pitch=t.number(l,p,e)),o._padding&&(a.interpolatePadding(c,d,e),m=a.centerPoint.add(f));var g=1===e?v:a.unproject(y.add(x.mult(L(r))).mult(_));a.setLocationAtPoint(a.renderWorldCopies?g.wrap():g,m),o._fireMoveEvents(i);}),(function(){return o._afterEase(i)}),e),this},i.prototype.isEasing=function(){return !!this._easeFrameId},i.prototype.stop=function(){return this._stop()},i.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var i=this._onEaseEnd;delete this._onEaseEnd,i.call(this,e);}if(!t){var o=this.handlers;o&&o.stop(!1);}return this},i.prototype._ease=function(e,i,o){!1===o.animate||0===o.duration?(e(1),i()):(this._easeStart=t.browser.now(),this._easeOptions=o,this._onEaseFrame=e,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback));},i.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop();},i.prototype._normalizeBearing=function(e,i){e=t.wrap(e,-180,180);var o=Math.abs(e-i);return Math.abs(e-360-i)<o&&(e-=360),Math.abs(e+360-i)<o&&(e+=360),e},i.prototype._normalizeCenter=function(t){var e=this.transform;if(e.renderWorldCopies&&!e.lngRange){var i=t.lng-e.center.lng;t.lng+=i>180?-360:i<-180?360:0;}},i}(t.Evented),yr=function(e){void 0===e&&(e={}),this.options=e,t.bindAll([\"_toggleAttribution\",\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this);};yr.prototype.getDefaultPosition=function(){return \"bottom-right\"},yr.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=i.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=i.create(\"button\",\"mapboxgl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=i.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),this._innerContainer.setAttribute(\"role\",\"list\"),e&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),void 0===e&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},yr.prototype.onRemove=function(){i.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._attribHTML=void 0;},yr.prototype._setElementTitle=function(t,e){var i=this._map._getUIString(\"AttributionControl.\"+e);t.title=i,t.setAttribute(\"aria-label\",i);},yr.prototype._toggleAttribution=function(){this._container.classList.contains(\"mapboxgl-compact-show\")?(this._container.classList.remove(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"false\")):(this._container.classList.add(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"true\"));},yr.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var i=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var o=i.reduce((function(t,e,o){return e.value&&(t+=e.key+\"=\"+e.value+(o<i.length-1?\"&\":\"\")),t}),\"?\");e.href=t.config.FEEDBACK_URL+\"/\"+o+(this._map._hash?this._map._hash.getHashString(!0):\"\"),e.rel=\"noopener nofollow\",this._setElementTitle(e,\"MapFeedback\");}},yr.prototype._updateData=function(t){!t||\"metadata\"!==t.sourceDataType&&\"visibility\"!==t.sourceDataType&&\"style\"!==t.dataType||(this._updateAttributions(),this._updateEditLink());},yr.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((function(t){return \"string\"!=typeof t?\"\":t}))):\"string\"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){var e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id;}var i=this._map.style.sourceCaches;for(var o in i){var r=i[o];if(r.used){var a=r.getSource();a.attribution&&t.indexOf(a.attribution)<0&&t.push(a.attribution);}}t.sort((function(t,e){return t.length-e.length}));var n=(t=t.filter((function(e,i){for(var o=i+1;o<t.length;o++)if(t[o].indexOf(e)>=0)return !1;return !0}))).join(\" | \");n!==this._attribHTML&&(this._attribHTML=n,t.length?(this._innerContainer.innerHTML=n,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null);}},yr.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\",\"mapboxgl-compact-show\");};var xr=function(){t.bindAll([\"_updateLogo\"],this),t.bindAll([\"_updateCompact\"],this);};xr.prototype.onAdd=function(t){this._map=t,this._container=i.create(\"div\",\"mapboxgl-ctrl\");var e=i.create(\"a\",\"mapboxgl-ctrl-logo\");return e.target=\"_blank\",e.rel=\"noopener nofollow\",e.href=\"https://www.mapbox.com/\",e.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),e.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(e),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container},xr.prototype.onRemove=function(){i.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact);},xr.prototype.getDefaultPosition=function(){return \"bottom-left\"},xr.prototype._updateLogo=function(t){t&&\"metadata\"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?\"block\":\"none\");},xr.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return !0;return !1}},xr.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add(\"mapboxgl-compact\"):e.classList.remove(\"mapboxgl-compact\");}};var br=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1;};br.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},br.prototype.remove=function(t){for(var e=this._currentlyRunning,i=0,o=e?this._queue.concat(e):this._queue;i<o.length;i+=1){var r=o[i];if(r.id===t)return void(r.cancelled=!0)}},br.prototype.run=function(t){void 0===t&&(t=0);var e=this._currentlyRunning=this._queue;this._queue=[];for(var i=0,o=e;i<o.length;i+=1){var r=o[i];if(!r.cancelled&&(r.callback(t),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1;},br.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[];};var wr={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\"},Tr=t.window.HTMLImageElement,Er=t.window.HTMLElement,Ir=t.window.ImageBitmap,Pr={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:\"sans-serif\",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},Sr=function(o){function r(e){var i=this;if(null!=(e=t.extend({},Pr,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(null!=e.minPitch&&e.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(null!=e.maxPitch&&e.maxPitch>60)throw new Error(\"maxPitch must be less than or equal to 60\");var r=new To(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(o.call(this,r,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new br,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},wr,e.locale),this._clickTolerance=e.clickTolerance,this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),\"string\"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error(\"Container '\"+e.container+\"' not found.\")}else {if(!(e.container instanceof Er))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=e.container;}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_onMapScroll\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",(function(){return i._update(!1)})),this.on(\"moveend\",(function(){return i._update(!1)})),this.on(\"zoom\",(function(){return i._update(!0)})),void 0!==t.window&&(t.window.addEventListener(\"online\",this._onWindowOnline,!1),t.window.addEventListener(\"resize\",this._onWindowResize,!1),t.window.addEventListener(\"orientationchange\",this._onWindowResize,!1)),this.handlers=new gr(this,e),this._hash=e.hash&&new Io(\"string\"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new yr({customAttribution:e.customAttribution})),this.addControl(new xr,e.logoPosition),this.on(\"style.load\",(function(){i.transform.unmodified&&i.jumpTo(i.style.stylesheet);})),this.on(\"data\",(function(e){i._update(\"style\"===e.dataType),i.fire(new t.Event(e.dataType+\"data\",e));})),this.on(\"dataloading\",(function(e){i.fire(new t.Event(e.dataType+\"dataloading\",e));}));}o&&(r.__proto__=o),(r.prototype=Object.create(o&&o.prototype)).constructor=r;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return r.prototype._getMapId=function(){return this._mapId},r.prototype.addControl=function(e,i){if(void 0===i&&(i=e.getDefaultPosition?e.getDefaultPosition():\"top-right\"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));var o=e.onAdd(this);this._controls.push(e);var r=this._controlPositions[i];return -1!==i.indexOf(\"bottom\")?r.insertBefore(o,r.firstChild):r.appendChild(o),this},r.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));var i=this._controls.indexOf(e);return i>-1&&this._controls.splice(i,1),e.onRemove(this),this},r.prototype.hasControl=function(t){return this._controls.indexOf(t)>-1},r.prototype.resize=function(e){var i=this._containerDimensions(),o=i[0],r=i[1];if(o===this.transform.width&&r===this.transform.height)return this;this._resizeCanvas(o,r),this.transform.resize(o,r),this.painter.resize(o,r);var a=!this._moving;return a&&this.fire(new t.Event(\"movestart\",e)).fire(new t.Event(\"move\",e)),this.fire(new t.Event(\"resize\",e)),a&&this.fire(new t.Event(\"moveend\",e)),this},r.prototype.getBounds=function(){return this.transform.getBounds()},r.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},r.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},r.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()<t&&this.setZoom(t),this;throw new Error(\"minZoom must be between -2 and the current maxZoom, inclusive\")},r.prototype.getMinZoom=function(){return this.transform.minZoom},r.prototype.setMaxZoom=function(t){if((t=null==t?22:t)>=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},r.prototype.getMaxZoom=function(){return this.transform.maxZoom},r.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()<t&&this.setPitch(t),this;throw new Error(\"minPitch must be between 0 and the current maxPitch, inclusive\")},r.prototype.getMinPitch=function(){return this.transform.minPitch},r.prototype.setMaxPitch=function(t){if((t=null==t?60:t)>60)throw new Error(\"maxPitch must be less than or equal to 60\");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error(\"maxPitch must be greater than the current minPitch\")},r.prototype.getMaxPitch=function(){return this.transform.maxPitch},r.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},r.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},r.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},r.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},r.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},r.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},r.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},r.prototype._createDelegatedListener=function(t,e,i){var o,r=this;if(\"mouseenter\"===t||\"mouseover\"===t){var a=!1;return {layer:e,listener:i,delegates:{mousemove:function(o){var n=r.getLayer(e)?r.queryRenderedFeatures(o.point,{layers:[e]}):[];n.length?a||(a=!0,i.call(r,new Ro(t,r,o.originalEvent,{features:n}))):a=!1;},mouseout:function(){a=!1;}}}}if(\"mouseleave\"===t||\"mouseout\"===t){var n=!1;return {layer:e,listener:i,delegates:{mousemove:function(o){(r.getLayer(e)?r.queryRenderedFeatures(o.point,{layers:[e]}):[]).length?n=!0:n&&(n=!1,i.call(r,new Ro(t,r,o.originalEvent)));},mouseout:function(e){n&&(n=!1,i.call(r,new Ro(t,r,e.originalEvent)));}}}}return {layer:e,listener:i,delegates:(o={},o[t]=function(t){var o=r.getLayer(e)?r.queryRenderedFeatures(t.point,{layers:[e]}):[];o.length&&(t.features=o,i.call(r,t),delete t.features);},o)}},r.prototype.on=function(t,e,i){if(void 0===i)return o.prototype.on.call(this,t,e);var r=this._createDelegatedListener(t,e,i);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(r),r.delegates)this.on(a,r.delegates[a]);return this},r.prototype.once=function(t,e,i){if(void 0===i)return o.prototype.once.call(this,t,e);var r=this._createDelegatedListener(t,e,i);for(var a in r.delegates)this.once(a,r.delegates[a]);return this},r.prototype.off=function(t,e,i){var r=this;return void 0===i?o.prototype.off.call(this,t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&function(o){for(var a=o[t],n=0;n<a.length;n++){var s=a[n];if(s.layer===e&&s.listener===i){for(var l in s.delegates)r.off(l,s.delegates[l]);return a.splice(n,1),r}}}(this._delegatedListeners),this)},r.prototype.queryRenderedFeatures=function(e,i){if(!this.style)return [];var o;if(void 0!==i||void 0===e||e instanceof t.Point||Array.isArray(e)||(i=e,e=void 0),i=i||{},(e=e||[[0,0],[this.transform.width,this.transform.height]])instanceof t.Point||\"number\"==typeof e[0])o=[t.Point.convert(e)];else {var r=t.Point.convert(e[0]),a=t.Point.convert(e[1]);o=[r,new t.Point(a.x,r.y),a,new t.Point(r.x,a.y),r];}return this.style.queryRenderedFeatures(o,i,this.transform)},r.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},r.prototype.setStyle=function(e,i){return !1!==(i=t.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},i)).diff&&i.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,i),this):(this._localIdeographFontFamily=i.localIdeographFontFamily,this._updateStyle(e,i))},r.prototype._getUIString=function(t){var e=this._locale[t];if(null==e)throw new Error(\"Missing UI string '\"+t+\"'\");return e},r.prototype._updateStyle=function(t,e){return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new je(this,e||{}),this.style.setEventedParent(this,{style:this.style}),\"string\"==typeof t?this.style.loadURL(t):this.style.loadJSON(t),this):(delete this.style,this)},r.prototype._lazyInitEmptyStyle=function(){this.style||(this.style=new je(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty());},r.prototype._diffStyle=function(e,i){var o=this;if(\"string\"==typeof e){var r=this._requestManager.normalizeStyleURL(e),a=this._requestManager.transformRequest(r,t.ResourceType.Style);t.getJSON(a,(function(e,r){e?o.fire(new t.ErrorEvent(e)):r&&o._updateDiff(r,i);}));}else \"object\"==typeof e&&this._updateDiff(e,i);},r.prototype._updateDiff=function(e,i){try{this.style.setState(e)&&this._update(!0);}catch(o){t.warnOnce(\"Unable to perform style diff: \"+(o.message||o.error||o)+\". Rebuilding the style from scratch.\"),this._updateStyle(e,i);}},r.prototype.getStyle=function(){if(this.style)return this.style.serialize()},r.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():t.warnOnce(\"There is no style added to the map.\")},r.prototype.addSource=function(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)},r.prototype.isSourceLoaded=function(e){var i=this.style&&this.style.sourceCaches[e];if(void 0!==i)return i.loaded();this.fire(new t.ErrorEvent(new Error(\"There is no source with ID '\"+e+\"'\")));},r.prototype.areTilesLoaded=function(){var t=this.style&&this.style.sourceCaches;for(var e in t){var i=t[e]._tiles;for(var o in i){var r=i[o];if(\"loaded\"!==r.state&&\"errored\"!==r.state)return !1}}return !0},r.prototype.addSourceType=function(t,e,i){return this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,i)},r.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0)},r.prototype.getSource=function(t){return this.style.getSource(t)},r.prototype.addImage=function(e,i,o){void 0===o&&(o={});var r=o.pixelRatio;void 0===r&&(r=1);var a=o.sdf;void 0===a&&(a=!1);var n=o.stretchX,s=o.stretchY,l=o.content;if(this._lazyInitEmptyStyle(),i instanceof Tr||Ir&&i instanceof Ir){var c=t.browser.getImageData(i);this.style.addImage(e,{data:new t.RGBAImage({width:c.width,height:c.height},c.data),pixelRatio:r,stretchX:n,stretchY:s,content:l,sdf:a,version:0});}else {if(void 0===i.width||void 0===i.height)return this.fire(new t.ErrorEvent(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));var u=i;this.style.addImage(e,{data:new t.RGBAImage({width:i.width,height:i.height},new Uint8Array(i.data)),pixelRatio:r,stretchX:n,stretchY:s,content:l,sdf:a,version:0,userImage:u}),u.onAdd&&u.onAdd(this,e);}},r.prototype.updateImage=function(e,i){var o=this.style.getImage(e);if(!o)return this.fire(new t.ErrorEvent(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));var r=i instanceof Tr||Ir&&i instanceof Ir?t.browser.getImageData(i):i,a=r.width,n=r.height,s=r.data;return void 0===a||void 0===n?this.fire(new t.ErrorEvent(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\"))):a!==o.data.width||n!==o.data.height?this.fire(new t.ErrorEvent(new Error(\"The width and height of the updated image must be that same as the previous version of the image\"))):(o.data.replace(s,!(i instanceof Tr||Ir&&i instanceof Ir)),void this.style.updateImage(e,o))},r.prototype.hasImage=function(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error(\"Missing required image id\"))),!1)},r.prototype.removeImage=function(t){this.style.removeImage(t);},r.prototype.loadImage=function(e,i){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),i);},r.prototype.listImages=function(){return this.style.listImages()},r.prototype.addLayer=function(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)},r.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0)},r.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0)},r.prototype.getLayer=function(t){return this.style.getLayer(t)},r.prototype.setLayerZoomRange=function(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)},r.prototype.setFilter=function(t,e,i){return void 0===i&&(i={}),this.style.setFilter(t,e,i),this._update(!0)},r.prototype.getFilter=function(t){return this.style.getFilter(t)},r.prototype.setPaintProperty=function(t,e,i,o){return void 0===o&&(o={}),this.style.setPaintProperty(t,e,i,o),this._update(!0)},r.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},r.prototype.setLayoutProperty=function(t,e,i,o){return void 0===o&&(o={}),this.style.setLayoutProperty(t,e,i,o),this._update(!0)},r.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},r.prototype.setLight=function(t,e){return void 0===e&&(e={}),this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)},r.prototype.getLight=function(){return this.style.getLight()},r.prototype.setFeatureState=function(t,e){return this.style.setFeatureState(t,e),this._update()},r.prototype.removeFeatureState=function(t,e){return this.style.removeFeatureState(t,e),this._update()},r.prototype.getFeatureState=function(t){return this.style.getFeatureState(t)},r.prototype.getContainer=function(){return this._container},r.prototype.getCanvasContainer=function(){return this._canvasContainer},r.prototype.getCanvas=function(){return this._canvas},r.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]},r.prototype._detectMissingCSS=function(){\"rgb(250, 128, 114)\"!==t.window.getComputedStyle(this._missingCSSCanary).getPropertyValue(\"background-color\")&&t.warnOnce(\"This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.\");},r.prototype._setupContainer=function(){var t=this._container;t.classList.add(\"mapboxgl-map\"),(this._missingCSSCanary=i.create(\"div\",\"mapboxgl-canary\",t)).style.visibility=\"hidden\",this._detectMissingCSS();var e=this._canvasContainer=i.create(\"div\",\"mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"mapboxgl-interactive\"),this._canvas=i.create(\"canvas\",\"mapboxgl-canvas\",e),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\"),this._canvas.setAttribute(\"role\",\"region\");var o=this._containerDimensions();this._resizeCanvas(o[0],o[1]);var r=this._controlContainer=i.create(\"div\",\"mapboxgl-control-container\",t),a=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach((function(t){a[t]=i.create(\"div\",\"mapboxgl-ctrl-\"+t,r);})),this._container.addEventListener(\"scroll\",this._onMapScroll,!1);},r.prototype._resizeCanvas=function(e,i){var o=t.browser.devicePixelRatio||1;this._canvas.width=o*e,this._canvas.height=o*i,this._canvas.style.width=e+\"px\",this._canvas.style.height=i+\"px\";},r.prototype._setupPainter=function(){var i=t.extend({},e.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),o=this._canvas.getContext(\"webgl\",i)||this._canvas.getContext(\"experimental-webgl\",i);o?(this.painter=new yo(o,this.transform),t.webpSupported.testSupport(o)):this.fire(new t.ErrorEvent(new Error(\"Failed to initialize WebGL\")));},r.prototype._contextLost=function(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event(\"webglcontextlost\",{originalEvent:e}));},r.prototype._contextRestored=function(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event(\"webglcontextrestored\",{originalEvent:e}));},r.prototype._onMapScroll=function(t){if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},r.prototype.loaded=function(){return !this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},r.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this},r.prototype._requestRenderFrame=function(t){return this._update(),this._renderTaskQueue.add(t)},r.prototype._cancelRenderFrame=function(t){this._renderTaskQueue.remove(t);},r.prototype._render=function(e){var i,o=this,r=0,a=this.painter.context.extTimerQuery;if(this.listens(\"gpu-timing-frame\")&&(i=a.createQueryEXT(),a.beginQueryEXT(a.TIME_ELAPSED_EXT,i),r=t.browser.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),!this._removed){var n=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var s=this.transform.zoom,l=t.browser.now();this.style.zoomHistory.update(s,l);var c=new t.EvaluationParameters(s,{now:l,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),u=c.crossFadingFactor();1===u&&u===this._crossFadingFactor||(n=!0,this._crossFadingFactor=u),this.style.update(c);}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens(\"gpu-timing-layer\")}),this.fire(new t.Event(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new t.Event(\"load\"))),this.style&&(this.style.hasTransitions()||n)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens(\"gpu-timing-frame\")){var h=t.browser.now()-r;a.endQueryEXT(a.TIME_ELAPSED_EXT,i),setTimeout((function(){var e=a.getQueryObjectEXT(i,a.QUERY_RESULT_EXT)/1e6;a.deleteQueryEXT(i),o.fire(new t.Event(\"gpu-timing-frame\",{cpuTime:h,gpuTime:e}));}),50);}if(this.listens(\"gpu-timing-layer\")){var p=this.painter.collectGpuTimers();setTimeout((function(){var e=o.painter.queryGpuTimers(p);o.fire(new t.Event(\"gpu-timing-layer\",{layerTimes:e}));}),50);}var d=this._sourcesDirty||this._styleDirty||this._placementDirty;return d||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.Event(\"idle\")),!this._loaded||this._fullyLoaded||d||(this._fullyLoaded=!0),this}},r.prototype.remove=function(){this._hash&&this._hash.remove();for(var e=0,i=this._controls;e<i.length;e+=1)i[e].onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),void 0!==t.window&&(t.window.removeEventListener(\"resize\",this._onWindowResize,!1),t.window.removeEventListener(\"orientationchange\",this._onWindowResize,!1),t.window.removeEventListener(\"online\",this._onWindowOnline,!1));var o=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");o&&o.loseContext(),Cr(this._canvasContainer),Cr(this._controlContainer),Cr(this._missingCSSCanary),this._container.classList.remove(\"mapboxgl-map\"),this._removed=!0,this.fire(new t.Event(\"remove\"));},r.prototype.triggerRepaint=function(){var e=this;this.style&&!this._frame&&(this._frame=t.browser.frame((function(t){e._frame=null,e._render(t);})));},r.prototype._onWindowOnline=function(){this._update();},r.prototype._onWindowResize=function(t){this._trackResize&&this.resize({originalEvent:t})._update();},a.showTileBoundaries.get=function(){return !!this._showTileBoundaries},a.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update());},a.showPadding.get=function(){return !!this._showPadding},a.showPadding.set=function(t){this._showPadding!==t&&(this._showPadding=t,this._update());},a.showCollisionBoxes.get=function(){return !!this._showCollisionBoxes},a.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update());},a.showOverdrawInspector.get=function(){return !!this._showOverdrawInspector},a.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update());},a.repaint.get=function(){return !!this._repaint},a.repaint.set=function(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint());},a.vertices.get=function(){return !!this._vertices},a.vertices.set=function(t){this._vertices=t,this._update();},r.prototype._setCacheLimits=function(e,i){t.setCacheLimits(e,i);},a.version.get=function(){return t.version},Object.defineProperties(r.prototype,a),r}(vr);function Cr(t){t.parentNode&&t.parentNode.removeChild(t);}var zr={showCompass:!0,showZoom:!0,visualizePitch:!1},Dr=function(e){var o=this;this.options=t.extend({},zr,e),this._container=i.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this.options.showZoom&&(t.bindAll([\"_setButtonTitle\",\"_updateZoomButtons\"],this),this._zoomInButton=this._createButton(\"mapboxgl-ctrl-zoom-in\",(function(t){return o._map.zoomIn({},{originalEvent:t})})),i.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",!0),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-zoom-out\",(function(t){return o._map.zoomOut({},{originalEvent:t})})),i.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",!0)),this.options.showCompass&&(t.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"mapboxgl-ctrl-compass\",(function(t){o.options.visualizePitch?o._map.resetNorthPitch({},{originalEvent:t}):o._map.resetNorth({},{originalEvent:t});})),this._compassIcon=i.create(\"span\",\"mapboxgl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",!0));};Dr.prototype._updateZoomButtons=function(){var t=this._map.getZoom(),e=t===this._map.getMaxZoom(),i=t===this._map.getMinZoom();this._zoomInButton.disabled=e,this._zoomOutButton.disabled=i,this._zoomInButton.setAttribute(\"aria-disabled\",e.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",i.toString());},Dr.prototype._rotateCompassArrow=function(){var t=this.options.visualizePitch?\"scale(\"+1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)+\") rotateX(\"+this._map.transform.pitch+\"deg) rotateZ(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\":\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassIcon.style.transform=t;},Dr.prototype.onAdd=function(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Ar(this._map,this._compass,this.options.visualizePitch)),this._container},Dr.prototype.onRemove=function(){i.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map;},Dr.prototype._createButton=function(t,e){var o=i.create(\"button\",t,this._container);return o.type=\"button\",o.addEventListener(\"click\",e),o},Dr.prototype._setButtonTitle=function(t,e){var i=this._map._getUIString(\"NavigationControl.\"+e);t.title=i,t.setAttribute(\"aria-label\",i);};var Ar=function(e,o,r){void 0===r&&(r=!1),this._clickTolerance=10,this.element=o,this.mouseRotate=new Xo({clickTolerance:e.dragRotate._mouseRotate._clickTolerance}),this.map=e,r&&(this.mousePitch=new Ho({clickTolerance:e.dragRotate._mousePitch._clickTolerance})),t.bindAll([\"mousedown\",\"mousemove\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"reset\"],this),i.addEventListener(o,\"mousedown\",this.mousedown),i.addEventListener(o,\"touchstart\",this.touchstart,{passive:!1}),i.addEventListener(o,\"touchmove\",this.touchmove),i.addEventListener(o,\"touchend\",this.touchend),i.addEventListener(o,\"touchcancel\",this.reset);};function Mr(e,i,o){if(e=new t.LngLat(e.lng,e.lat),i){var r=new t.LngLat(e.lng-360,e.lat),a=new t.LngLat(e.lng+360,e.lat),n=o.locationPoint(e).distSqr(i);o.locationPoint(r).distSqr(i)<n?e=r:o.locationPoint(a).distSqr(i)<n&&(e=a);}for(;Math.abs(e.lng-o.center.lng)>180;){var s=o.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=o.width&&s.y<=o.height)break;e.lng>o.center.lng?e.lng-=360:e.lng+=360;}return e}Ar.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),i.disableDrag();},Ar.prototype.move=function(t,e){var i=this.map,o=this.mouseRotate.mousemoveWindow(t,e);if(o&&o.bearingDelta&&i.setBearing(i.getBearing()+o.bearingDelta),this.mousePitch){var r=this.mousePitch.mousemoveWindow(t,e);r&&r.pitchDelta&&i.setPitch(i.getPitch()+r.pitchDelta);}},Ar.prototype.off=function(){var t=this.element;i.removeEventListener(t,\"mousedown\",this.mousedown),i.removeEventListener(t,\"touchstart\",this.touchstart,{passive:!1}),i.removeEventListener(t,\"touchmove\",this.touchmove),i.removeEventListener(t,\"touchend\",this.touchend),i.removeEventListener(t,\"touchcancel\",this.reset),this.offTemp();},Ar.prototype.offTemp=function(){i.enableDrag(),i.removeEventListener(t.window,\"mousemove\",this.mousemove),i.removeEventListener(t.window,\"mouseup\",this.mouseup);},Ar.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),i.mousePos(this.element,e)),i.addEventListener(t.window,\"mousemove\",this.mousemove),i.addEventListener(t.window,\"mouseup\",this.mouseup);},Ar.prototype.mousemove=function(t){this.move(t,i.mousePos(this.element,t));},Ar.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp();},Ar.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=i.touchPos(this.element,t.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos));},Ar.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=i.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos));},Ar.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),this.reset();},Ar.prototype.reset=function(){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp();};var Lr={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function Rr(t,e,i){var o=t.classList;for(var r in Lr)o.remove(\"mapboxgl-\"+i+\"-anchor-\"+r);o.add(\"mapboxgl-\"+i+\"-anchor-\"+e);}var kr,Br=function(e){function o(o,r){if(e.call(this),(o instanceof t.window.HTMLElement||r)&&(o=t.extend({element:o},r)),t.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\"],this),this._anchor=o&&o.anchor||\"center\",this._color=o&&o.color||\"#3FB1CE\",this._scale=o&&o.scale||1,this._draggable=o&&o.draggable||!1,this._clickTolerance=o&&o.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=o&&o.rotation||0,this._rotationAlignment=o&&o.rotationAlignment||\"auto\",this._pitchAlignment=o&&o.pitchAlignment&&\"auto\"!==o.pitchAlignment?o.pitchAlignment:this._rotationAlignment,o&&o.element)this._element=o.element,this._offset=t.Point.convert(o&&o.offset||[0,0]);else {this._defaultMarker=!0,this._element=i.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");var a=i.createNS(\"http://www.w3.org/2000/svg\",\"svg\");a.setAttributeNS(null,\"display\",\"block\"),a.setAttributeNS(null,\"height\",\"41px\"),a.setAttributeNS(null,\"width\",\"27px\"),a.setAttributeNS(null,\"viewBox\",\"0 0 27 41\");var n=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");n.setAttributeNS(null,\"stroke\",\"none\"),n.setAttributeNS(null,\"stroke-width\",\"1\"),n.setAttributeNS(null,\"fill\",\"none\"),n.setAttributeNS(null,\"fill-rule\",\"evenodd\");var s=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");s.setAttributeNS(null,\"fill-rule\",\"nonzero\");var l=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");l.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),l.setAttributeNS(null,\"fill\",\"#000000\");for(var c=0,u=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];c<u.length;c+=1){var h=u[c],p=i.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");p.setAttributeNS(null,\"opacity\",\"0.04\"),p.setAttributeNS(null,\"cx\",\"10.5\"),p.setAttributeNS(null,\"cy\",\"5.80029008\"),p.setAttributeNS(null,\"rx\",h.rx),p.setAttributeNS(null,\"ry\",h.ry),l.appendChild(p);}var d=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");d.setAttributeNS(null,\"fill\",this._color);var _=i.createNS(\"http://www.w3.org/2000/svg\",\"path\");_.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),d.appendChild(_);var f=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");f.setAttributeNS(null,\"opacity\",\"0.25\"),f.setAttributeNS(null,\"fill\",\"#000000\");var m=i.createNS(\"http://www.w3.org/2000/svg\",\"path\");m.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),f.appendChild(m);var g=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");g.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),g.setAttributeNS(null,\"fill\",\"#FFFFFF\");var v=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");v.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");var y=i.createNS(\"http://www.w3.org/2000/svg\",\"circle\");y.setAttributeNS(null,\"fill\",\"#000000\"),y.setAttributeNS(null,\"opacity\",\"0.25\"),y.setAttributeNS(null,\"cx\",\"5.5\"),y.setAttributeNS(null,\"cy\",\"5.5\"),y.setAttributeNS(null,\"r\",\"5.4999962\");var x=i.createNS(\"http://www.w3.org/2000/svg\",\"circle\");x.setAttributeNS(null,\"fill\",\"#FFFFFF\"),x.setAttributeNS(null,\"cx\",\"5.5\"),x.setAttributeNS(null,\"cy\",\"5.5\"),x.setAttributeNS(null,\"r\",\"5.4999962\"),v.appendChild(y),v.appendChild(x),s.appendChild(l),s.appendChild(d),s.appendChild(f),s.appendChild(g),s.appendChild(v),a.appendChild(s),a.setAttributeNS(null,\"height\",41*this._scale+\"px\"),a.setAttributeNS(null,\"width\",27*this._scale+\"px\"),this._element.appendChild(a),this._offset=t.Point.convert(o&&o.offset||[0,-14]);}this._element.classList.add(\"mapboxgl-marker\"),this._element.addEventListener(\"dragstart\",(function(t){t.preventDefault();})),this._element.addEventListener(\"mousedown\",(function(t){t.preventDefault();})),Rr(this._element,this._anchor,\"marker\"),this._popup=null;}return e&&(o.__proto__=e),(o.prototype=Object.create(e&&e.prototype)).constructor=o,o.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this},o.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),i.remove(this._element),this._popup&&this._popup.remove(),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},o.prototype.getElement=function(){return this._element},o.prototype.setPopup=function(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),t){if(!(\"offset\"in t.options)){var e=Math.sqrt(Math.pow(13.5,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[e,-1*(24.6+e)],\"bottom-right\":[-e,-1*(24.6+e)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset;}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress);}return this},o.prototype._onKeyPress=function(t){var e=t.code,i=t.charCode||t.keyCode;\"Space\"!==e&&\"Enter\"!==e&&32!==i&&13!==i||this.togglePopup();},o.prototype._onMapClick=function(t){var e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup();},o.prototype.getPopup=function(){return this._popup},o.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},o.prototype._update=function(t){if(this._map){this._map.transform.renderWorldCopies&&(this._lngLat=Mr(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);var e=\"\";\"viewport\"===this._rotationAlignment||\"auto\"===this._rotationAlignment?e=\"rotateZ(\"+this._rotation+\"deg)\":\"map\"===this._rotationAlignment&&(e=\"rotateZ(\"+(this._rotation-this._map.getBearing())+\"deg)\");var o=\"\";\"viewport\"===this._pitchAlignment||\"auto\"===this._pitchAlignment?o=\"rotateX(0deg)\":\"map\"===this._pitchAlignment&&(o=\"rotateX(\"+this._map.getPitch()+\"deg)\"),t&&\"moveend\"!==t.type||(this._pos=this._pos.round()),i.setTransform(this._element,Lr[this._anchor]+\" translate(\"+this._pos.x+\"px, \"+this._pos.y+\"px) \"+o+\" \"+e);}},o.prototype.getOffset=function(){return this._offset},o.prototype.setOffset=function(e){return this._offset=t.Point.convert(e),this._update(),this},o.prototype._onMove=function(e){if(!this._isDragging){var i=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=i;}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",\"pending\"===this._state&&(this._state=\"active\",this.fire(new t.Event(\"dragstart\"))),this.fire(new t.Event(\"drag\")));},o.prototype._onUp=function(){this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),\"active\"===this._state&&this.fire(new t.Event(\"dragend\")),this._state=\"inactive\";},o.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp));},o.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this},o.prototype.isDraggable=function(){return this._draggable},o.prototype.setRotation=function(t){return this._rotation=t||0,this._update(),this},o.prototype.getRotation=function(){return this._rotation},o.prototype.setRotationAlignment=function(t){return this._rotationAlignment=t||\"auto\",this._update(),this},o.prototype.getRotationAlignment=function(){return this._rotationAlignment},o.prototype.setPitchAlignment=function(t){return this._pitchAlignment=t&&\"auto\"!==t?t:this._rotationAlignment,this._update(),this},o.prototype.getPitchAlignment=function(){return this._pitchAlignment},o}(t.Evented),Or={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Fr=0,Ur=!1,Nr=function(e){function o(i){e.call(this),this.options=t.extend({},Or,i),t.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this);}return e&&(o.__proto__=e),(o.prototype=Object.create(e&&e.prototype)).constructor=o,o.prototype.onAdd=function(e){var o;return this._map=e,this._container=i.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),o=this._setupUI,void 0!==kr?o(kr):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:\"geolocation\"}).then((function(t){o(kr=\"denied\"!==t.state);})):o(kr=!!t.window.navigator.geolocation),this._container},o.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),i.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,Fr=0,Ur=!1;},o.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),i=t.coords;return e&&(i.longitude<e.getWest()||i.longitude>e.getEast()||i.latitude<e.getSouth()||i.latitude>e.getNorth())},o.prototype._setErrorState=function(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");}},o.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event(\"outofmaxbounds\",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"geolocate\",e)),this._finish();}},o.prototype._updateCamera=function(e){var i=new t.LngLat(e.coords.longitude,e.coords.latitude),o=e.coords.accuracy,r=this._map.getBearing(),a=t.extend({bearing:r},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(o),a,{geolocateSource:!0});},o.prototype._updateMarker=function(e){if(e){var i=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove();},o.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),i=this._map.unproject([1,t]),o=e.distanceTo(i),r=Math.ceil(2*this._accuracy/o);this._circleElement.style.width=r+\"px\",this._circleElement.style.height=r+\"px\";},o.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();},o.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;var i=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=i,this._geolocateButton.setAttribute(\"aria-label\",i),void 0!==this._geolocationWatchID&&this._clearWatch();}else {if(3===e.code&&Ur)return;this._setErrorState();}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"error\",e)),this._finish();}},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0;},o.prototype._setupUI=function(e){var o=this;if(this._container.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this._geolocateButton=i.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),i.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",!1===e){t.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var r=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=r,this._geolocateButton.setAttribute(\"aria-label\",r);}else {var a=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=a,this._geolocateButton.setAttribute(\"aria-label\",a);}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=i.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new Br(this._dotElement),this._circleElement=i.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Br({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(function(e){e.geolocateSource||\"ACTIVE_LOCK\"!==o._watchState||e.originalEvent&&\"resize\"===e.originalEvent.type||(o._watchState=\"BACKGROUND\",o._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),o._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),o.fire(new t.Event(\"trackuserlocationend\")));}));},o.prototype.trigger=function(){if(!this._setup)return t.warnOnce(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new t.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Fr--,Ur=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(new t.Event(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event(\"trackuserlocationstart\"));}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\");}if(\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),++Fr>1?(e={maximumAge:6e5,timeout:0},Ur=!0):(e=this.options.positionOptions,Ur=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e);}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return !0},o.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null);},o}(t.Evented),Zr={maxWidth:100,unit:\"metric\"},qr=function(e){this.options=t.extend({},Zr,e),t.bindAll([\"_onMove\",\"setUnit\"],this);};function jr(t,e,i){var o=i&&i.maxWidth||100,r=t._container.clientHeight/2,a=t.unproject([0,r]),n=t.unproject([o,r]),s=a.distanceTo(n);if(i&&\"imperial\"===i.unit){var l=3.2808*s;l>5280?Vr(e,o,l/5280,t._getUIString(\"ScaleControl.Miles\")):Vr(e,o,l,t._getUIString(\"ScaleControl.Feet\"));}else i&&\"nautical\"===i.unit?Vr(e,o,s/1852,t._getUIString(\"ScaleControl.NauticalMiles\")):s>=1e3?Vr(e,o,s/1e3,t._getUIString(\"ScaleControl.Kilometers\")):Vr(e,o,s,t._getUIString(\"ScaleControl.Meters\"));}function Vr(t,e,i,o){var r,a,n,s=(r=i,(a=Math.pow(10,(\"\"+Math.floor(r)).length-1))*(n=(n=r/a)>=10?10:n>=5?5:n>=3?3:n>=2?2:n>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(n)));t.style.width=e*(s/i)+\"px\",t.innerHTML=s+\" \"+o;}qr.prototype.getDefaultPosition=function(){return \"bottom-left\"},qr.prototype._onMove=function(){jr(this._map,this._container,this.options);},qr.prototype.onAdd=function(t){return this._map=t,this._container=i.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},qr.prototype.onRemove=function(){i.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0;},qr.prototype.setUnit=function(t){this.options.unit=t,jr(this._map,this._container,this.options);};var Gr=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce(\"Full screen control 'container' must be a DOM element.\")),t.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in t.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in t.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in t.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in t.window.document&&(this._fullscreenchange=\"MSFullscreenChange\");};Gr.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=i.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",t.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},Gr.prototype.onRemove=function(){i.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon);},Gr.prototype._checkFullscreenSupport=function(){return !!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},Gr.prototype._setupUI=function(){var e=this._fullscreenButton=i.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);i.create(\"span\",\"mapboxgl-ctrl-icon\",e).setAttribute(\"aria-hidden\",!0),e.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon);},Gr.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",t),this._fullscreenButton.title=t;},Gr.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},Gr.prototype._isFullscreen=function(){return this._fullscreen},Gr.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle());},Gr.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen();};var Wr={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},Xr=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \"),Hr=function(e){function o(i){e.call(this),this.options=t.extend(Object.create(Wr),i),t.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this);}return e&&(o.__proto__=e),(o.prototype=Object.create(e&&e.prototype)).constructor=o,o.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new t.Event(\"open\")),this},o.prototype.isOpen=function(){return !!this._map},o.prototype.remove=function(){return this._content&&i.remove(this._content),this._container&&(i.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new t.Event(\"close\")),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"mapboxgl-track-pointer\")),this},o.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")),this},o.prototype.getElement=function(){return this._container},o.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},o.prototype.setHTML=function(e){var i,o=t.window.document.createDocumentFragment(),r=t.window.document.createElement(\"body\");for(r.innerHTML=e;i=r.firstChild;)o.appendChild(i);return this.setDOMContent(o)},o.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},o.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},o.prototype.setDOMContent=function(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=i.create(\"div\",\"mapboxgl-popup-content\",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this},o.prototype.addClassName=function(t){this._container&&this._container.classList.add(t);},o.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t);},o.prototype.setOffset=function(t){return this.options.offset=t,this._update(),this},o.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},o.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=i.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose));},o.prototype._onMouseUp=function(t){this._update(t.point);},o.prototype._onMouseMove=function(t){this._update(t.point);},o.prototype._onDrag=function(t){this._update(t.point);},o.prototype._update=function(e){var o=this;if(this._map&&(this._lngLat||this._trackPointer)&&this._content&&(this._container||(this._container=i.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=i.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach((function(t){return o._container.classList.add(t)})),this._trackPointer&&this._container.classList.add(\"mapboxgl-popup-track-pointer\")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Mr(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||e)){var r=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat),a=this.options.anchor,n=function e(i){if(i){if(\"number\"==typeof i){var o=Math.round(Math.sqrt(.5*Math.pow(i,2)));return {center:new t.Point(0,0),top:new t.Point(0,i),\"top-left\":new t.Point(o,o),\"top-right\":new t.Point(-o,o),bottom:new t.Point(0,-i),\"bottom-left\":new t.Point(o,-o),\"bottom-right\":new t.Point(-o,-o),left:new t.Point(i,0),right:new t.Point(-i,0)}}if(i instanceof t.Point||Array.isArray(i)){var r=t.Point.convert(i);return {center:r,top:r,\"top-left\":r,\"top-right\":r,bottom:r,\"bottom-left\":r,\"bottom-right\":r,left:r,right:r}}return {center:t.Point.convert(i.center||[0,0]),top:t.Point.convert(i.top||[0,0]),\"top-left\":t.Point.convert(i[\"top-left\"]||[0,0]),\"top-right\":t.Point.convert(i[\"top-right\"]||[0,0]),bottom:t.Point.convert(i.bottom||[0,0]),\"bottom-left\":t.Point.convert(i[\"bottom-left\"]||[0,0]),\"bottom-right\":t.Point.convert(i[\"bottom-right\"]||[0,0]),left:t.Point.convert(i.left||[0,0]),right:t.Point.convert(i.right||[0,0])}}return e(new t.Point(0,0))}(this.options.offset);if(!a){var s,l=this._container.offsetWidth,c=this._container.offsetHeight;s=r.y+n.bottom.y<c?[\"top\"]:r.y>this._map.transform.height-c?[\"bottom\"]:[],r.x<l/2?s.push(\"left\"):r.x>this._map.transform.width-l/2&&s.push(\"right\"),a=0===s.length?\"bottom\":s.join(\"-\");}var u=r.add(n[a]).round();i.setTransform(this._container,Lr[a]+\" translate(\"+u.x+\"px,\"+u.y+\"px)\"),Rr(this._container,a,\"popup\");}},o.prototype._focusFirstElement=function(){if(this.options.focusAfterOpen&&this._container){var t=this._container.querySelector(Xr);t&&t.focus();}},o.prototype._onClose=function(){this.remove();},o}(t.Evented),Kr={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Sr,NavigationControl:Dr,GeolocateControl:Nr,AttributionControl:yr,ScaleControl:qr,FullscreenControl:Gr,Popup:Hr,Marker:Br,Style:je,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){Ft().acquire(Rt);},clearPrewarmedResources:function(){var t=Bt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Rt),Bt=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"));},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e;},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e;},get workerCount(){return kt.workerCount},set workerCount(t){kt.workerCount=t;},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e;},clearStorage:function(e){t.clearTileCache(e);},workerUrl:\"\"};return Kr}));\n\n//\n\nreturn mapboxgl;\n\n})));\n//# sourceMappingURL=mapbox-gl.js.map\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIe = moment.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enIe;\n\n})));\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData, PropType } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Returnable,\n Roundable,\n Themeable,\n Menuable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n directives: {\n ClickOutside,\n Resize,\n },\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n contentProps: {\n type: Object as PropType<Record<string, any>>,\n default: () => ({}),\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n const scrollTop = this.$refs.content.scrollTop\n const contentHeight = this.$refs.content.clientHeight\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n }\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.options.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.options.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n })\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n attrs: {\n ...this.getScopeIdAttrs(),\n ...this.contentProps,\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (this.$listeners.scroll) {\n options.on = options.on || {}\n options.on.scroll = this.$listeners.scroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement('div', options, this.getContentSlot())\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.disableKeys) return\n\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-menu',\n class: {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize,\n }],\n }\n\n return h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ]),\n ])\n },\n})\n","// Types\nimport { BreakpointName } from 'vuetify/types/services/breakpoint'\nimport { deprecate } from '../../util/console'\nimport Vue, { PropType } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'mobile',\n\n props: {\n mobileBreakpoint: {\n type: [Number, String] as PropType<number | BreakpointName>,\n default (): number | BreakpointName | undefined {\n // Avoid destroying unit\n // tests for users\n return this.$vuetify\n ? this.$vuetify.breakpoint.mobileBreakpoint\n : undefined\n },\n validator: v => (\n !isNaN(Number(v)) ||\n ['xs', 'sm', 'md', 'lg', 'xl'].includes(String(v))\n ),\n },\n },\n\n computed: {\n isMobile (): boolean {\n const {\n mobile,\n width,\n name,\n mobileBreakpoint,\n } = this.$vuetify.breakpoint\n\n // Check if local mobileBreakpoint matches\n // the application's mobileBreakpoint\n if (mobileBreakpoint === this.mobileBreakpoint) return mobile\n\n const mobileWidth = parseInt(this.mobileBreakpoint, 10)\n const isNumber = !isNaN(mobileWidth)\n\n return isNumber\n ? width < mobileWidth\n : name === this.mobileBreakpoint\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('mobile-break-point')) {\n deprecate('mobile-break-point', 'mobile-breakpoint', this)\n }\n },\n})\n","/**\r\n * DevExtreme (esm/localization/open_xml_currency_format.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default (currencySymbol, accountingFormat) => {\r\n if (!accountingFormat) {\r\n return\r\n }\r\n var encodedCurrencySymbol = currencySymbol;\r\n if (\"string\" === typeof currencySymbol) {\r\n encodedCurrencySymbol = \"\";\r\n for (var i = 0; i < currencySymbol.length; i++) {\r\n if (\"$\" !== currencySymbol[i]) {\r\n encodedCurrencySymbol += \"\\\\\"\r\n }\r\n encodedCurrencySymbol += currencySymbol[i]\r\n }\r\n }\r\n var encodeSymbols = {\r\n \".00\": \"{0}\",\r\n \"'\": \"\\\\'\",\r\n \"\\\\(\": \"\\\\(\",\r\n \"\\\\)\": \"\\\\)\",\r\n \" \": \"\\\\ \",\r\n '\"': \""\",\r\n \"\\\\\\xa4\": encodedCurrencySymbol\r\n };\r\n var result = accountingFormat.split(\";\");\r\n for (var _i = 0; _i < result.length; _i++) {\r\n for (var symbol in encodeSymbols) {\r\n if (Object.prototype.hasOwnProperty.call(encodeSymbols, symbol)) {\r\n result[_i] = result[_i].replace(new RegExp(symbol, \"g\"), encodeSymbols[symbol])\r\n }\r\n }\r\n }\r\n return 2 === result.length ? result[0] + \"_);\" + result[1] : result[0]\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/cldr-data/accounting_formats.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nexport default {\r\n af: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"af-NA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n agq: \"#,##0.00\\xa4\",\r\n ak: \"\\xa4#,##0.00\",\r\n am: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ar: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-AE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-BH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-DJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-DZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-EG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-EH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-ER\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-IL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-IQ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-JO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-KM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-KW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-LB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-LY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-MA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-MR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-OM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-PS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-QA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-TD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-TN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-YE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n as: \"\\xa4\\xa0#,##,##0.00\",\r\n asa: \"#,##0.00\\xa0\\xa4\",\r\n ast: \"#,##0.00\\xa0\\xa4\",\r\n az: \"#,##0.00\\xa0\\xa4\",\r\n \"az-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"az-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n bas: \"#,##0.00\\xa0\\xa4\",\r\n be: \"#,##0.00\\xa0\\xa4\",\r\n \"be-tarask\": \"#,##0.00\\xa0\\xa4\",\r\n bem: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n bez: \"#,##0.00\\xa4\",\r\n bg: \"0.00\\xa0\\xa4;(0.00\\xa0\\xa4)\",\r\n bm: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n bn: \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n \"bn-IN\": \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n bo: \"\\xa4\\xa0#,##0.00\",\r\n \"bo-IN\": \"\\xa4\\xa0#,##0.00\",\r\n br: \"#,##0.00\\xa0\\xa4\",\r\n brx: \"\\xa4\\xa0#,##,##0.00\",\r\n bs: \"#,##0.00\\xa0\\xa4\",\r\n \"bs-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"bs-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n ca: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-AD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-ES-valencia\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-FR\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-IT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ccp: \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n \"ccp-IN\": \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n ce: \"#,##0.00\\xa0\\xa4\",\r\n ceb: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n cgg: \"\\xa4#,##0.00\",\r\n chr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ckb: \"\\xa4\\xa0#,##0.00\",\r\n \"ckb-IR\": \"\\xa4\\xa0#,##0.00\",\r\n cs: \"#,##0.00\\xa0\\xa4\",\r\n cy: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n da: \"#,##0.00\\xa0\\xa4\",\r\n \"da-GL\": \"#,##0.00\\xa0\\xa4\",\r\n dav: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n de: \"#,##0.00\\xa0\\xa4\",\r\n \"de-AT\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-BE\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-CH\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-IT\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-LI\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-LU\": \"#,##0.00\\xa0\\xa4\",\r\n dje: \"#,##0.00\\xa4\",\r\n doi: \"\\xa4#,##0.00\",\r\n dsb: \"#,##0.00\\xa0\\xa4\",\r\n dua: \"#,##0.00\\xa0\\xa4\",\r\n dyo: \"#,##0.00\\xa0\\xa4\",\r\n dz: \"\\xa4#,##,##0.00\",\r\n ebu: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ee: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ee-TG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n el: \"#,##0.00\\xa0\\xa4\",\r\n \"el-CY\": \"#,##0.00\\xa0\\xa4\",\r\n en: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-001\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-150\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-AE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AT\": \"\\xa4\\xa0#,##0.00\",\r\n \"en-AU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-BI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CH\": \"\\xa4\\xa0#,##0.00;\\xa4-#,##0.00\",\r\n \"en-CK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-DE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-DG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-DK\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-DM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ER\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FI\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-FJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-JE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-JM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MP\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MT\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MV\": \"\\xa4\\xa0#,##0.00\",\r\n \"en-MW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NF\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NL\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"en-NR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-RW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"en-SL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TT\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TV\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-UG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-UM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-WS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n eo: \"\\xa4\\xa0#,##0.00\",\r\n es: \"#,##0.00\\xa0\\xa4\",\r\n \"es-419\": \"\\xa4#,##0.00\",\r\n \"es-AR\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"es-BO\": \"\\xa4#,##0.00\",\r\n \"es-BR\": \"\\xa4#,##0.00\",\r\n \"es-BZ\": \"\\xa4#,##0.00\",\r\n \"es-CL\": \"\\xa4#,##0.00\",\r\n \"es-CO\": \"\\xa4#,##0.00\",\r\n \"es-CR\": \"\\xa4#,##0.00\",\r\n \"es-CU\": \"\\xa4#,##0.00\",\r\n \"es-DO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"es-EA\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-EC\": \"\\xa4#,##0.00\",\r\n \"es-GQ\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-GT\": \"\\xa4#,##0.00\",\r\n \"es-HN\": \"\\xa4#,##0.00\",\r\n \"es-IC\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-MX\": \"\\xa4#,##0.00\",\r\n \"es-NI\": \"\\xa4#,##0.00\",\r\n \"es-PA\": \"\\xa4#,##0.00\",\r\n \"es-PE\": \"\\xa4#,##0.00\",\r\n \"es-PH\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-PR\": \"\\xa4#,##0.00\",\r\n \"es-PY\": \"\\xa4#,##0.00\",\r\n \"es-SV\": \"\\xa4#,##0.00\",\r\n \"es-US\": \"\\xa4#,##0.00\",\r\n \"es-UY\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"es-VE\": \"\\xa4#,##0.00\",\r\n et: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n eu: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ewo: \"#,##0.00\\xa0\\xa4\",\r\n fa: \"\\u200e\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",\r\n \"fa-AF\": \"\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",\r\n ff: \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Adlm\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-BF\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-CM\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GH\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GM\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GW\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-LR\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-MR\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-NE\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-NG\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-SL\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-SN\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-BF\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-CM\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GH\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GM\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GN\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GW\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-LR\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-MR\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-NE\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-NG\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-SL\": \"#,##0.00\\xa0\\xa4\",\r\n fi: \"#,##0.00\\xa0\\xa4\",\r\n fil: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n fo: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fo-DK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n fr: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BJ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BL\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CH\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-DJ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-DZ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GP\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-HT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-KM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-LU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-ML\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MR\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-NC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-NE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-PF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-PM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-RE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-RW\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SY\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-VU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-WF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-YT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n fur: \"\\xa4\\xa0#,##0.00\",\r\n fy: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n ga: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ga-GB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gd: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gl: \"#,##0.00\\xa0\\xa4\",\r\n gsw: \"#,##0.00\\xa0\\xa4\",\r\n \"gsw-FR\": \"#,##0.00\\xa0\\xa4\",\r\n \"gsw-LI\": \"#,##0.00\\xa0\\xa4\",\r\n gu: \"\\xa4#,##,##0.00;(\\xa4#,##,##0.00)\",\r\n guz: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gv: \"\\xa4#,##0.00\",\r\n ha: \"\\xa4\\xa0#,##0.00\",\r\n \"ha-GH\": \"\\xa4\\xa0#,##0.00\",\r\n \"ha-NE\": \"\\xa4\\xa0#,##0.00\",\r\n haw: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n he: \"#,##0.00\\xa0\\xa4\",\r\n hi: \"\\xa4#,##,##0.00\",\r\n \"hi-Latn\": \"\\xa4#,##,##0.00\",\r\n hr: \"#,##0.00\\xa0\\xa4\",\r\n \"hr-BA\": \"#,##0.00\\xa0\\xa4\",\r\n hsb: \"#,##0.00\\xa0\\xa4\",\r\n hu: \"#,##0.00\\xa0\\xa4\",\r\n hy: \"#,##0.00\\xa0\\xa4\",\r\n ia: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n id: \"\\xa4#,##0.00\",\r\n ig: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ii: \"\\xa4\\xa0#,##0.00\",\r\n is: \"#,##0.00\\xa0\\xa4\",\r\n it: \"#,##0.00\\xa0\\xa4\",\r\n \"it-CH\": \"#,##0.00\\xa0\\xa4\",\r\n \"it-SM\": \"#,##0.00\\xa0\\xa4\",\r\n \"it-VA\": \"#,##0.00\\xa0\\xa4\",\r\n ja: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n jgo: \"\\xa4\\xa0#,##0.00\",\r\n jmc: \"\\xa4#,##0.00\",\r\n jv: \"\\xa4\\xa0#,##0.00\",\r\n ka: \"#,##0.00\\xa0\\xa4\",\r\n kab: \"#,##0.00\\xa4\",\r\n kam: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kde: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kea: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n kgp: \"\\xa4\\xa0#,##0.00\",\r\n khq: \"#,##0.00\\xa4\",\r\n ki: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kk: \"#,##0.00\\xa0\\xa4\",\r\n kkj: \"\\xa4\\xa0#,##0.00\",\r\n kl: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n kln: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n km: \"#,##0.00\\xa4;(#,##0.00\\xa4)\",\r\n kn: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ko: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ko-KP\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kok: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ks: \"\\xa4#,##0.00\",\r\n \"ks-Arab\": \"\\xa4#,##0.00\",\r\n \"ks-Deva\": \"\\xa4\\xa0#,##0.00\",\r\n ksb: \"#,##0.00\\xa4\",\r\n ksf: \"#,##0.00\\xa0\\xa4\",\r\n ksh: \"#,##0.00\\xa0\\xa4\",\r\n ku: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n kw: \"\\xa4#,##0.00\",\r\n ky: \"#,##0.00\\xa0\\xa4\",\r\n lag: \"\\xa4\\xa0#,##0.00\",\r\n lb: \"#,##0.00\\xa0\\xa4\",\r\n lg: \"#,##0.00\\xa4\",\r\n lkt: \"\\xa4\\xa0#,##0.00\",\r\n ln: \"#,##0.00\\xa0\\xa4\",\r\n \"ln-AO\": \"#,##0.00\\xa0\\xa4\",\r\n \"ln-CF\": \"#,##0.00\\xa0\\xa4\",\r\n \"ln-CG\": \"#,##0.00\\xa0\\xa4\",\r\n lo: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n lrc: \"\\xa4\\xa0#,##0.00\",\r\n \"lrc-IQ\": \"\\xa4\\xa0#,##0.00\",\r\n lt: \"#,##0.00\\xa0\\xa4\",\r\n lu: \"#,##0.00\\xa4\",\r\n luo: \"#,##0.00\\xa4\",\r\n luy: \"\\xa4#,##0.00;\\xa4-\\xa0#,##0.00\",\r\n lv: \"#,##0.00\\xa0\\xa4\",\r\n mai: \"\\xa4\\xa0#,##0.00\",\r\n mas: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"mas-TZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mer: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mfe: \"\\xa4\\xa0#,##0.00\",\r\n mg: \"\\xa4#,##0.00\",\r\n mgh: \"\\xa4\\xa0#,##0.00\",\r\n mgo: \"\\xa4\\xa0#,##0.00\",\r\n mi: \"\\xa4\\xa0#,##0.00\",\r\n mk: \"#,##0.00\\xa0\\xa4\",\r\n ml: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mn: \"\\xa4\\xa0#,##0.00\",\r\n mni: \"\\xa4\\xa0#,##0.00\",\r\n \"mni-Beng\": \"\\xa4\\xa0#,##0.00\",\r\n mr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ms: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ms-BN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ms-ID\": \"\\xa4#,##0.00\",\r\n \"ms-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mt: \"\\xa4#,##0.00\",\r\n mua: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n my: \"\\xa4\\xa0#,##0.00\",\r\n mzn: \"\\xa4\\xa0#,##0.00\",\r\n naq: \"\\xa4#,##0.00\",\r\n nb: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nb-SJ\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n nd: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n nds: \"\\xa4\\xa0#,##0.00\",\r\n \"nds-NL\": \"\\xa4\\xa0#,##0.00\",\r\n ne: \"\\xa4\\xa0#,##,##0.00\",\r\n \"ne-IN\": \"\\xa4\\xa0#,##,##0.00\",\r\n nl: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-AW\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-BE\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-BQ\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-CW\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-SR\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-SX\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n nmg: \"#,##0.00\\xa0\\xa4\",\r\n nn: \"#,##0.00\\xa0\\xa4\",\r\n nnh: \"\\xa4\\xa0#,##0.00\",\r\n no: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n nus: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n nyn: \"\\xa4#,##0.00\",\r\n om: \"\\xa4#,##0.00\",\r\n \"om-KE\": \"\\xa4#,##0.00\",\r\n or: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n os: \"\\xa4\\xa0#,##0.00\",\r\n \"os-RU\": \"\\xa4\\xa0#,##0.00\",\r\n pa: \"\\xa4\\xa0#,##0.00\",\r\n \"pa-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"pa-Guru\": \"\\xa4\\xa0#,##0.00\",\r\n pcm: \"\\xa4#,##0.00\",\r\n pl: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ps: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ps-PK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n pt: \"\\xa4\\xa0#,##0.00\",\r\n \"pt-AO\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-CH\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-CV\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-GQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-GW\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-LU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-MO\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-MZ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-PT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-ST\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-TL\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n qu: \"\\xa4\\xa0#,##0.00\",\r\n \"qu-BO\": \"\\xa4\\xa0#,##0.00\",\r\n \"qu-EC\": \"\\xa4\\xa0#,##0.00\",\r\n rm: \"#,##0.00\\xa0\\xa4\",\r\n rn: \"#,##0.00\\xa4\",\r\n ro: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ro-MD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n rof: \"\\xa4#,##0.00\",\r\n ru: \"#,##0.00\\xa0\\xa4\",\r\n \"ru-BY\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-KG\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-KZ\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-MD\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-UA\": \"#,##0.00\\xa0\\xa4\",\r\n rw: \"\\xa4\\xa0#,##0.00\",\r\n rwk: \"#,##0.00\\xa4\",\r\n sa: \"\\xa4\\xa0#,##0.00\",\r\n sah: \"#,##0.00\\xa0\\xa4\",\r\n saq: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sat: \"\\xa4\\xa0#,##0.00\",\r\n \"sat-Olck\": \"\\xa4\\xa0#,##0.00\",\r\n sbp: \"#,##0.00\\xa4\",\r\n sc: \"#,##0.00\\xa0\\xa4\",\r\n sd: \"\\xa4\\xa0#,##0.00\",\r\n \"sd-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"sd-Deva\": \"\\xa4\\xa0#,##0.00\",\r\n se: \"#,##0.00\\xa0\\xa4\",\r\n \"se-FI\": \"#,##0.00\\xa0\\xa4\",\r\n \"se-SE\": \"#,##0.00\\xa0\\xa4\",\r\n seh: \"#,##0.00\\xa4\",\r\n ses: \"#,##0.00\\xa4\",\r\n sg: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n shi: \"#,##0.00\\xa4\",\r\n \"shi-Latn\": \"#,##0.00\\xa4\",\r\n \"shi-Tfng\": \"#,##0.00\\xa4\",\r\n si: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sk: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n sl: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n smn: \"#,##0.00\\xa0\\xa4\",\r\n sn: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n so: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-DJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-ET\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sq: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sq-MK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sq-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n sr: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-BA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-ME\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-BA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-ME\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n su: \"\\xa4#,##0.00\",\r\n \"su-Latn\": \"\\xa4#,##0.00\",\r\n sv: \"#,##0.00\\xa0\\xa4\",\r\n \"sv-AX\": \"#,##0.00\\xa0\\xa4\",\r\n \"sv-FI\": \"#,##0.00\\xa0\\xa4\",\r\n sw: \"\\xa4\\xa0#,##0.00\",\r\n \"sw-CD\": \"\\xa4\\xa0#,##0.00\",\r\n \"sw-KE\": \"\\xa4\\xa0#,##0.00\",\r\n \"sw-UG\": \"\\xa4\\xa0#,##0.00\",\r\n ta: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-LK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-MY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n te: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n teo: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"teo-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n tg: \"#,##0.00\\xa0\\xa4\",\r\n th: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ti: \"\\xa4#,##0.00\",\r\n \"ti-ER\": \"\\xa4#,##0.00\",\r\n tk: \"#,##0.00\\xa0\\xa4\",\r\n to: \"\\xa4\\xa0#,##0.00\",\r\n tr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"tr-CY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n tt: \"#,##0.00\\xa0\\xa4\",\r\n twq: \"#,##0.00\\xa4\",\r\n tzm: \"#,##0.00\\xa0\\xa4\",\r\n ug: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n uk: \"#,##0.00\\xa0\\xa4\",\r\n und: \"\\xa4\\xa0#,##0.00\",\r\n ur: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ur-IN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n uz: \"#,##0.00\\xa0\\xa4\",\r\n \"uz-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"uz-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"uz-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n vai: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"vai-Latn\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"vai-Vaii\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n vi: \"#,##0.00\\xa0\\xa4\",\r\n vun: \"\\xa4#,##0.00\",\r\n wae: \"\\xa4\\xa0#,##0.00\",\r\n wo: \"\\xa4\\xa0#,##0.00\",\r\n xh: \"\\xa4#,##0.00\",\r\n xog: \"#,##0.00\\xa0\\xa4\",\r\n yav: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n yi: \"\\xa4\\xa0#,##0.00\",\r\n yo: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yo-BJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n yrl: \"\\xa4\\xa0#,##0.00\",\r\n \"yrl-CO\": \"\\xa4\\xa0#,##0.00\",\r\n \"yrl-VE\": \"\\xa4\\xa0#,##0.00\",\r\n yue: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yue-Hans\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yue-Hant\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n zgh: \"#,##0.00\\xa4\",\r\n zh: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n zu: \"\\xa4#,##0.00;(\\xa4#,##0.00)\"\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/intl/number.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dxConfig from \"../../core/config\";\r\nimport localizationCoreUtils from \"../core\";\r\nimport openXmlCurrencyFormat from \"../open_xml_currency_format\";\r\nimport accountingFormats from \"../cldr-data/accounting_formats\";\r\nvar CURRENCY_STYLES = [\"standard\", \"accounting\"];\r\nvar MAX_FRACTION_DIGITS = 20;\r\nvar detectCurrencySymbolRegex = /([^\\s0]+)?(\\s*)0*[.,]*0*(\\s*)([^\\s0]+)?/;\r\nvar formattersCache = {};\r\nvar getFormatter = format => {\r\n var key = localizationCoreUtils.locale() + \"/\" + JSON.stringify(format);\r\n if (!formattersCache[key]) {\r\n formattersCache[key] = new Intl.NumberFormat(localizationCoreUtils.locale(), format).format\r\n }\r\n return formattersCache[key]\r\n};\r\nvar getCurrencyFormatter = currency => new Intl.NumberFormat(localizationCoreUtils.locale(), {\r\n style: \"currency\",\r\n currency: currency\r\n});\r\nexport default {\r\n engine: function() {\r\n return \"intl\"\r\n },\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"exponential\" === format) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return getFormatter(this._normalizeFormatConfig(format, formatConfig, value))(value)\r\n },\r\n _normalizeFormatConfig: function(format, formatConfig, value) {\r\n var config;\r\n if (\"decimal\" === format) {\r\n var fractionDigits = String(value).split(\".\")[1];\r\n config = {\r\n minimumIntegerDigits: formatConfig.precision || void 0,\r\n useGrouping: false,\r\n maximumFractionDigits: fractionDigits && fractionDigits.length,\r\n round: value < 0 ? \"ceil\" : \"floor\"\r\n }\r\n } else {\r\n config = this._getPrecisionConfig(formatConfig.precision)\r\n }\r\n if (\"percent\" === format) {\r\n config.style = \"percent\"\r\n } else if (\"currency\" === format) {\r\n var _formatConfig$useCurr;\r\n var useAccountingStyle = null !== (_formatConfig$useCurr = formatConfig.useCurrencyAccountingStyle) && void 0 !== _formatConfig$useCurr ? _formatConfig$useCurr : dxConfig().defaultUseCurrencyAccountingStyle;\r\n config.style = \"currency\";\r\n config.currency = formatConfig.currency || dxConfig().defaultCurrency;\r\n config.currencySign = CURRENCY_STYLES[+useAccountingStyle]\r\n }\r\n return config\r\n },\r\n _getPrecisionConfig: function(precision) {\r\n var config;\r\n if (null === precision) {\r\n config = {\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: MAX_FRACTION_DIGITS\r\n }\r\n } else {\r\n config = {\r\n minimumFractionDigits: precision || 0,\r\n maximumFractionDigits: precision || 0\r\n }\r\n }\r\n return config\r\n },\r\n format: function(value, _format) {\r\n if (\"number\" !== typeof value) {\r\n return value\r\n }\r\n _format = this._normalizeFormat(_format);\r\n if (\"default\" === _format.currency) {\r\n _format.currency = dxConfig().defaultCurrency\r\n }\r\n if (!_format || \"function\" !== typeof _format && !_format.type && !_format.formatter) {\r\n return getFormatter(_format)(value)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _getCurrencySymbolInfo: function(currency) {\r\n var formatter = getCurrencyFormatter(currency);\r\n return this._extractCurrencySymbolInfo(formatter.format(0))\r\n },\r\n _extractCurrencySymbolInfo: function(currencyValueString) {\r\n var match = detectCurrencySymbolRegex.exec(currencyValueString) || [];\r\n var position = match[1] ? \"before\" : \"after\";\r\n var symbol = match[1] || match[4] || \"\";\r\n var delimiter = match[2] || match[3] || \"\";\r\n return {\r\n position: position,\r\n symbol: symbol,\r\n delimiter: delimiter\r\n }\r\n },\r\n getCurrencySymbol: function(currency) {\r\n if (!currency) {\r\n currency = dxConfig().defaultCurrency\r\n }\r\n var symbolInfo = this._getCurrencySymbolInfo(currency);\r\n return {\r\n symbol: symbolInfo.symbol\r\n }\r\n },\r\n getOpenXmlCurrencyFormat: function(currency) {\r\n var targetCurrency = currency || dxConfig().defaultCurrency;\r\n var currencySymbol = this._getCurrencySymbolInfo(targetCurrency).symbol;\r\n var closestAccountingFormat = localizationCoreUtils.getValueByClosestLocale(locale => accountingFormats[locale]);\r\n return openXmlCurrencyFormat(currencySymbol, closestAccountingFormat)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/number.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport {\r\n escapeRegExp\r\n} from \"../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n getFormatter\r\n} from \"./ldml/number\";\r\nimport config from \"../core/config\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n toFixed\r\n} from \"./utils\";\r\nimport currencyLocalization from \"./currency\";\r\nimport intlNumberLocalization from \"./intl/number\";\r\nvar hasIntl = \"undefined\" !== typeof Intl;\r\nvar MAX_LARGE_NUMBER_POWER = 4;\r\nvar DECIMAL_BASE = 10;\r\nvar NUMERIC_FORMATS = [\"currency\", \"fixedpoint\", \"exponential\", \"percent\", \"decimal\"];\r\nvar LargeNumberFormatPostfixes = {\r\n 1: \"K\",\r\n 2: \"M\",\r\n 3: \"B\",\r\n 4: \"T\"\r\n};\r\nvar LargeNumberFormatPowers = {\r\n largenumber: \"auto\",\r\n thousands: 1,\r\n millions: 2,\r\n billions: 3,\r\n trillions: 4\r\n};\r\nvar numberLocalization = dependencyInjector({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n numericFormats: NUMERIC_FORMATS,\r\n defaultLargeNumberFormatPostfixes: LargeNumberFormatPostfixes,\r\n _parseNumberFormatString: function(formatType) {\r\n var formatObject = {};\r\n if (!formatType || \"string\" !== typeof formatType) {\r\n return\r\n }\r\n var formatList = formatType.toLowerCase().split(\" \");\r\n each(formatList, (index, value) => {\r\n if (NUMERIC_FORMATS.includes(value)) {\r\n formatObject.formatType = value\r\n } else if (value in LargeNumberFormatPowers) {\r\n formatObject.power = LargeNumberFormatPowers[value]\r\n }\r\n });\r\n if (formatObject.power && !formatObject.formatType) {\r\n formatObject.formatType = \"fixedpoint\"\r\n }\r\n if (formatObject.formatType) {\r\n return formatObject\r\n }\r\n },\r\n _calculateNumberPower: function(value, base, minPower, maxPower) {\r\n var number = Math.abs(value);\r\n var power = 0;\r\n if (number > 1) {\r\n while (number && number >= base && (void 0 === maxPower || power < maxPower)) {\r\n power++;\r\n number /= base\r\n }\r\n } else if (number > 0 && number < 1) {\r\n while (number < 1 && (void 0 === minPower || power > minPower)) {\r\n power--;\r\n number *= base\r\n }\r\n }\r\n return power\r\n },\r\n _getNumberByPower: function(number, power, base) {\r\n var result = number;\r\n while (power > 0) {\r\n result /= base;\r\n power--\r\n }\r\n while (power < 0) {\r\n result *= base;\r\n power++\r\n }\r\n return result\r\n },\r\n _formatNumber: function(value, formatObject, formatConfig) {\r\n if (\"auto\" === formatObject.power) {\r\n formatObject.power = this._calculateNumberPower(value, 1e3, 0, MAX_LARGE_NUMBER_POWER)\r\n }\r\n if (formatObject.power) {\r\n value = this._getNumberByPower(value, formatObject.power, 1e3)\r\n }\r\n var powerPostfix = this.defaultLargeNumberFormatPostfixes[formatObject.power] || \"\";\r\n var result = this._formatNumberCore(value, formatObject.formatType, formatConfig);\r\n result = result.replace(/(\\d|.$)(\\D*)$/, \"$1\" + powerPostfix + \"$2\");\r\n return result\r\n },\r\n _formatNumberExponential: function(value, formatConfig) {\r\n var power = this._calculateNumberPower(value, DECIMAL_BASE);\r\n var number = this._getNumberByPower(value, power, DECIMAL_BASE);\r\n if (void 0 === formatConfig.precision) {\r\n formatConfig.precision = 1\r\n }\r\n if (number.toFixed(formatConfig.precision || 0) >= DECIMAL_BASE) {\r\n power++;\r\n number /= DECIMAL_BASE\r\n }\r\n var powString = (power >= 0 ? \"+\" : \"\") + power.toString();\r\n return this._formatNumberCore(number, \"fixedpoint\", formatConfig) + \"E\" + powString\r\n },\r\n _addZeroes: function(value, precision) {\r\n var multiplier = Math.pow(10, precision);\r\n var sign = value < 0 ? \"-\" : \"\";\r\n value = (Math.abs(value) * multiplier >>> 0) / multiplier;\r\n var result = value.toString();\r\n while (result.length < precision) {\r\n result = \"0\" + result\r\n }\r\n return sign + result\r\n },\r\n _addGroupSeparators: function(value) {\r\n var parts = value.toString().split(\".\");\r\n return parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, config().thousandsSeparator) + (parts[1] ? config().decimalSeparator + parts[1] : \"\")\r\n },\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"exponential\" === format) {\r\n return this._formatNumberExponential(value, formatConfig)\r\n }\r\n if (\"decimal\" !== format && null !== formatConfig.precision) {\r\n formatConfig.precision = formatConfig.precision || 0\r\n }\r\n if (\"percent\" === format) {\r\n value *= 100\r\n }\r\n if (void 0 !== formatConfig.precision) {\r\n if (\"decimal\" === format) {\r\n value = this._addZeroes(value, formatConfig.precision)\r\n } else {\r\n value = null === formatConfig.precision ? value.toPrecision() : toFixed(value, formatConfig.precision)\r\n }\r\n }\r\n if (\"decimal\" !== format) {\r\n value = this._addGroupSeparators(value)\r\n } else {\r\n value = value.toString().replace(\".\", config().decimalSeparator)\r\n }\r\n if (\"percent\" === format) {\r\n value += \"%\"\r\n }\r\n return value\r\n },\r\n _normalizeFormat: function(format) {\r\n if (!format) {\r\n return {}\r\n }\r\n if (\"function\" === typeof format) {\r\n return format\r\n }\r\n if (!isPlainObject(format)) {\r\n format = {\r\n type: format\r\n }\r\n }\r\n return format\r\n },\r\n _getSeparators: function() {\r\n return {\r\n decimalSeparator: this.getDecimalSeparator(),\r\n thousandsSeparator: this.getThousandsSeparator()\r\n }\r\n },\r\n getThousandsSeparator: function() {\r\n return this.format(1e4, \"fixedPoint\")[2]\r\n },\r\n getDecimalSeparator: function() {\r\n return this.format(1.2, {\r\n type: \"fixedPoint\",\r\n precision: 1\r\n })[1]\r\n },\r\n convertDigits: function(value, toStandard) {\r\n var digits = this.format(90, \"decimal\");\r\n if (\"string\" !== typeof value || \"0\" === digits[1]) {\r\n return value\r\n }\r\n var fromFirstDigit = toStandard ? digits[1] : \"0\";\r\n var toFirstDigit = toStandard ? \"0\" : digits[1];\r\n var fromLastDigit = toStandard ? digits[0] : \"9\";\r\n var regExp = new RegExp(\"[\" + fromFirstDigit + \"-\" + fromLastDigit + \"]\", \"g\");\r\n return value.replace(regExp, char => String.fromCharCode(char.charCodeAt(0) + (toFirstDigit.charCodeAt(0) - fromFirstDigit.charCodeAt(0))))\r\n },\r\n getNegativeEtalonRegExp: function(format) {\r\n var separators = this._getSeparators();\r\n var digitalRegExp = new RegExp(\"[0-9\" + escapeRegExp(separators.decimalSeparator + separators.thousandsSeparator) + \"]+\", \"g\");\r\n var negativeEtalon = this.format(-1, format).replace(digitalRegExp, \"1\");\r\n [\"\\\\\", \"(\", \")\", \"[\", \"]\", \"*\", \"+\", \"$\", \"^\", \"?\", \"|\", \"{\", \"}\"].forEach(char => {\r\n negativeEtalon = negativeEtalon.replace(new RegExp(\"\\\\\".concat(char), \"g\"), \"\\\\\".concat(char))\r\n });\r\n negativeEtalon = negativeEtalon.replace(/ /g, \"\\\\s\");\r\n negativeEtalon = negativeEtalon.replace(/1/g, \".*\");\r\n return new RegExp(negativeEtalon, \"g\")\r\n },\r\n getSign: function(text, format) {\r\n if (!format) {\r\n if (\"-\" === text.replace(/[^0-9-]/g, \"\").charAt(0)) {\r\n return -1\r\n }\r\n return 1\r\n }\r\n var negativeEtalon = this.getNegativeEtalonRegExp(format);\r\n return text.match(negativeEtalon) ? -1 : 1\r\n },\r\n format: function(value, _format) {\r\n if (\"number\" !== typeof value) {\r\n return value\r\n }\r\n if (\"number\" === typeof _format) {\r\n return value\r\n }\r\n _format = _format && _format.formatter || _format;\r\n if (\"function\" === typeof _format) {\r\n return _format(value)\r\n }\r\n _format = this._normalizeFormat(_format);\r\n if (!_format.type) {\r\n _format.type = \"decimal\"\r\n }\r\n var numberConfig = this._parseNumberFormatString(_format.type);\r\n if (!numberConfig) {\r\n var formatterConfig = this._getSeparators();\r\n formatterConfig.unlimitedIntegerDigits = _format.unlimitedIntegerDigits;\r\n return this.convertDigits(getFormatter(_format.type, formatterConfig)(value))\r\n }\r\n return this._formatNumber(value, numberConfig, _format)\r\n },\r\n parse: function(text, format) {\r\n if (!text) {\r\n return\r\n }\r\n if (format && format.parser) {\r\n return format.parser(text)\r\n }\r\n text = this.convertDigits(text, true);\r\n if (format && \"string\" !== typeof format) {\r\n errors.log(\"W0011\")\r\n }\r\n var decimalSeparator = this.getDecimalSeparator();\r\n var regExp = new RegExp(\"[^0-9\" + escapeRegExp(decimalSeparator) + \"]\", \"g\");\r\n var cleanedText = text.replace(regExp, \"\").replace(decimalSeparator, \".\").replace(/\\.$/g, \"\");\r\n if (\".\" === cleanedText || \"\" === cleanedText) {\r\n return null\r\n }\r\n if (this._calcSignificantDigits(cleanedText) > 15) {\r\n return NaN\r\n }\r\n var parsed = +cleanedText * this.getSign(text, format);\r\n format = this._normalizeFormat(format);\r\n var formatConfig = this._parseNumberFormatString(format.type);\r\n var power = null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.power;\r\n if (power) {\r\n if (\"auto\" === power) {\r\n var match = text.match(/\\d(K|M|B|T)/);\r\n if (match) {\r\n power = Object.keys(LargeNumberFormatPostfixes).find(power => LargeNumberFormatPostfixes[power] === match[1])\r\n }\r\n }\r\n parsed *= Math.pow(10, 3 * power)\r\n }\r\n if (\"percent\" === (null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.formatType)) {\r\n parsed /= 100\r\n }\r\n return parsed\r\n },\r\n _calcSignificantDigits: function(text) {\r\n var [integer, fractional] = text.split(\".\");\r\n var calcDigitsAfterLeadingZeros = digits => {\r\n var index = -1;\r\n for (var i = 0; i < digits.length; i++) {\r\n if (\"0\" !== digits[i]) {\r\n index = i;\r\n break\r\n }\r\n }\r\n return index > -1 ? digits.length - index : 0\r\n };\r\n var result = 0;\r\n if (integer) {\r\n result += calcDigitsAfterLeadingZeros(integer.split(\"\"))\r\n }\r\n if (fractional) {\r\n result += calcDigitsAfterLeadingZeros(fractional.split(\"\").reverse())\r\n }\r\n return result\r\n }\r\n});\r\nnumberLocalization.inject(currencyLocalization);\r\nif (hasIntl) {\r\n numberLocalization.inject(intlNumberLocalization)\r\n}\r\nexport default numberLocalization;\r\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'returnable',\n\n props: {\n returnValue: null as any,\n },\n\n data: () => ({\n isActive: false,\n originalValue: null as any,\n }),\n\n watch: {\n isActive (val) {\n if (val) {\n this.originalValue = this.returnValue\n } else {\n this.$emit('update:return-value', this.originalValue)\n }\n },\n },\n\n methods: {\n save (value: any) {\n this.originalValue = value\n setTimeout(() => {\n this.isActive = false\n })\n },\n },\n})\n","/**\r\n * DevExtreme (esm/ui/grid_core/ui.grid_core.utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport gridCoreUtils from \"../../__internal/grids/grid_core/m_utils\";\r\nexport default gridCoreUtils;\r\n","/**\r\n * DevExtreme (esm/exporter/common/export_load_panel.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport LoadPanel from \"../../ui/load_panel\";\r\nimport gridUtils from \"../../ui/grid_core/ui.grid_core.utils\";\r\nvar EXPORT_LOAD_PANEL_CLASS = \"dx-export-loadpanel\";\r\nclass ExportLoadPanel {\r\n constructor(component, $targetElement, $container, options) {\r\n this._$targetElement = $targetElement;\r\n this._$container = $container;\r\n this._loadPanel = component._createComponent($(\"<div>\").addClass(EXPORT_LOAD_PANEL_CLASS).appendTo(this._$container), LoadPanel, this.getOptions(options))\r\n }\r\n getDefaultOptions() {\r\n return {\r\n animation: null,\r\n shading: false,\r\n height: 90,\r\n width: 200,\r\n container: this._$container\r\n }\r\n }\r\n getOptions(options) {\r\n if (isDefined(options.text)) {\r\n options.message = options.text\r\n } else {\r\n options.message = messageLocalization.format(\"dxDataGrid-exporting\")\r\n }\r\n return extend(this.getDefaultOptions(), options)\r\n }\r\n show() {\r\n this._loadPanel.option(\"position\", gridUtils.calculateLoadPanelPosition(this._$targetElement));\r\n this._loadPanel.show()\r\n }\r\n dispose() {\r\n $(this._loadPanel.element()).remove();\r\n delete this._loadPanel\r\n }\r\n}\r\nexport {\r\n ExportLoadPanel\r\n};\r\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar installErrorCause = require('../internals/install-error-cause');\nvar installErrorStack = require('../internals/error-stack-install');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nmodule.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {\n var STACK_TRACE_LIMIT = 'stackTraceLimit';\n var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;\n var path = FULL_NAME.split('.');\n var ERROR_NAME = path[path.length - 1];\n var OriginalError = getBuiltIn.apply(null, path);\n\n if (!OriginalError) return;\n\n var OriginalErrorPrototype = OriginalError.prototype;\n\n // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006\n if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;\n\n if (!FORCED) return OriginalError;\n\n var BaseError = getBuiltIn('Error');\n\n var WrappedError = wrapper(function (a, b) {\n var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);\n var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();\n if (message !== undefined) createNonEnumerableProperty(result, 'message', message);\n installErrorStack(result, WrappedError, result.stack, 2);\n if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);\n if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);\n return result;\n });\n\n WrappedError.prototype = OriginalErrorPrototype;\n\n if (ERROR_NAME !== 'Error') {\n if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);\n else copyConstructorProperties(WrappedError, BaseError, { name: true });\n } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {\n proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);\n proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');\n }\n\n copyConstructorProperties(WrappedError, OriginalError);\n\n if (!IS_PURE) try {\n // Safari 13- bug: WebAssembly errors does not have a proper `.name`\n if (OriginalErrorPrototype.name !== ERROR_NAME) {\n createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);\n }\n OriginalErrorPrototype.constructor = WrappedError;\n } catch (error) { /* empty */ }\n\n return WrappedError;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n value: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-overlay__scrim',\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return this.$createElement('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-overlay__content',\n }, getSlot(this))\n },\n },\n\n render (h): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n staticClass: 'v-overlay',\n on: this.$listeners,\n class: this.classes,\n style: this.styles,\n }, children)\n },\n})\n","import VOverlay from './VOverlay'\n\nexport { VOverlay }\n\nexport default VOverlay\n","// Components\nimport VOverlay from '../../components/VOverlay'\n\n// Utilities\nimport {\n keyCodes,\n addOnceEventListener,\n addPassiveEventListener,\n getZIndex,\n composedPath,\n} from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\n\ninterface Toggleable extends Vue {\n isActive?: boolean\n}\n\ninterface Stackable extends Vue {\n activeZIndex: number\n}\n\ninterface options {\n absolute?: boolean\n $refs: {\n dialog?: HTMLElement\n content?: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default Vue.extend<Vue & Toggleable & Stackable & options>().extend({\n name: 'overlayable',\n\n props: {\n hideOverlay: Boolean,\n overlayColor: String,\n overlayOpacity: [Number, String],\n },\n\n data () {\n return {\n animationFrame: 0,\n overlay: null as InstanceType<typeof VOverlay> | null,\n }\n },\n\n watch: {\n hideOverlay (value) {\n if (!this.isActive) return\n\n if (value) this.removeOverlay()\n else this.genOverlay()\n },\n },\n\n beforeDestroy () {\n this.removeOverlay()\n },\n\n methods: {\n createOverlay () {\n const overlay = new VOverlay({\n propsData: {\n absolute: this.absolute,\n value: false,\n color: this.overlayColor,\n opacity: this.overlayOpacity,\n },\n })\n\n overlay.$mount()\n\n const parent = this.absolute\n ? this.$el.parentNode\n : document.querySelector('[data-app]')\n\n parent && parent.insertBefore(overlay.$el, parent.firstChild)\n\n this.overlay = overlay\n },\n genOverlay () {\n this.hideScroll()\n\n if (this.hideOverlay) return\n\n if (!this.overlay) this.createOverlay()\n\n this.animationFrame = requestAnimationFrame(() => {\n if (!this.overlay) return\n\n if (this.activeZIndex !== undefined) {\n this.overlay.zIndex = String(this.activeZIndex - 1)\n } else if (this.$el) {\n this.overlay.zIndex = getZIndex(this.$el)\n }\n\n this.overlay.value = true\n })\n\n return true\n },\n /** removeOverlay(false) will not restore the scollbar afterwards */\n removeOverlay (showScroll = true) {\n if (this.overlay) {\n addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n if (\n !this.overlay ||\n !this.overlay.$el ||\n !this.overlay.$el.parentNode ||\n this.overlay.value ||\n this.isActive\n ) return\n\n this.overlay.$el.parentNode.removeChild(this.overlay.$el)\n this.overlay.$destroy()\n this.overlay = null\n })\n\n // Cancel animation frame in case\n // overlay is removed before it\n // has finished its animation\n cancelAnimationFrame(this.animationFrame)\n\n this.overlay.value = false\n }\n\n showScroll && this.showScroll()\n },\n scrollListener (e: WheelEvent | KeyboardEvent) {\n if ('key' in e) {\n if (\n ['INPUT', 'TEXTAREA', 'SELECT'].includes((e.target as Element).tagName) ||\n // https://github.com/vuetifyjs/vuetify/issues/4715\n (e.target as HTMLElement).isContentEditable\n ) return\n\n const up = [keyCodes.up, keyCodes.pageup]\n const down = [keyCodes.down, keyCodes.pagedown]\n\n if (up.includes(e.keyCode)) {\n (e as any).deltaY = -1\n } else if (down.includes(e.keyCode)) {\n (e as any).deltaY = 1\n } else {\n return\n }\n }\n\n if (e.target === this.overlay ||\n (e.type !== 'keydown' && e.target === document.body) ||\n this.checkPath(e as WheelEvent)) e.preventDefault()\n },\n hasScrollbar (el?: Element) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ((['auto', 'scroll'].includes(style.overflowY!) || el.tagName === 'SELECT') && el.scrollHeight > el.clientHeight) ||\n ((['auto', 'scroll'].includes(style.overflowX!)) && el.scrollWidth > el.clientWidth)\n },\n shouldScroll (el: Element, e: WheelEvent): boolean {\n if (el.hasAttribute('data-app')) return false\n\n const dir = e.shiftKey || e.deltaX ? 'x' : 'y'\n const delta = dir === 'y' ? e.deltaY : e.deltaX || e.deltaY\n\n let alreadyAtStart: boolean\n let alreadyAtEnd: boolean\n if (dir === 'y') {\n alreadyAtStart = el.scrollTop === 0\n alreadyAtEnd = el.scrollTop + el.clientHeight === el.scrollHeight\n } else {\n alreadyAtStart = el.scrollLeft === 0\n alreadyAtEnd = el.scrollLeft + el.clientWidth === el.scrollWidth\n }\n\n const scrollingUp = delta < 0\n const scrollingDown = delta > 0\n\n if (!alreadyAtStart && scrollingUp) return true\n if (!alreadyAtEnd && scrollingDown) return true\n if ((alreadyAtStart || alreadyAtEnd) && el.parentNode) {\n return this.shouldScroll(el.parentNode as Element, e)\n }\n\n return false\n },\n isInside (el: Element, parent: Element): boolean {\n if (el === parent) {\n return true\n } else if (el === null || el === document.body) {\n return false\n } else {\n return this.isInside(el.parentNode as Element, parent)\n }\n },\n checkPath (e: WheelEvent) {\n const path = composedPath(e)\n\n if (e.type === 'keydown' && path[0] === document.body) {\n const dialog = this.$refs.dialog\n // getSelection returns null in firefox in some edge cases, can be ignored\n const selected = window.getSelection()!.anchorNode as Element\n if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n return !this.shouldScroll(dialog, e)\n }\n return true\n }\n\n for (let index = 0; index < path.length; index++) {\n const el = path[index]\n\n if (el === document) return true\n if (el === document.documentElement) return true\n if (el === this.$refs.content) return true\n\n if (this.hasScrollbar(el as Element)) return !this.shouldScroll(el as Element, e)\n }\n\n return true\n },\n hideScroll () {\n if (this.$vuetify.breakpoint.smAndDown) {\n document.documentElement!.classList.add('overflow-y-hidden')\n } else {\n addPassiveEventListener(window, 'wheel', this.scrollListener, { passive: false })\n window.addEventListener('keydown', this.scrollListener)\n }\n },\n showScroll () {\n document.documentElement!.classList.remove('overflow-y-hidden')\n window.removeEventListener('wheel', this.scrollListener)\n window.removeEventListener('keydown', this.scrollListener)\n },\n },\n})\n","/**\r\n * DevExtreme (esm/renovation/utils/dom.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function querySelectorInSameDocument(el, selector) {\r\n var _el$getRootNode, _el$getRootNode2;\r\n var root = null !== (_el$getRootNode = null === (_el$getRootNode2 = el.getRootNode) || void 0 === _el$getRootNode2 ? void 0 : _el$getRootNode2.call(el)) && void 0 !== _el$getRootNode ? _el$getRootNode : document;\r\n return root.querySelector(selector)\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/editors/editor.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport Component from \"../common/component\";\r\nimport ValidationEngine from \"../../../ui/validation_engine\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n data\r\n} from \"../../../core/element_data\";\r\nimport Callbacks from \"../../../core/utils/callbacks\";\r\nimport OldEditor from \"../../../ui/editor/editor\";\r\nimport {\r\n querySelectorInSameDocument\r\n} from \"../../utils/dom\";\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar VALIDATION_TARGET = \"dx-validation-target\";\r\nexport default class Editor extends Component {\r\n getProps() {\r\n var props = super.getProps();\r\n props.onFocusIn = () => {\r\n var isValidationMessageShownOnFocus = \"auto\" === this.option(\"validationMessageMode\");\r\n if (isValidationMessageShownOnFocus) {\r\n var $validationMessageWrapper = $(querySelectorInSameDocument(this.element(), \".dx-invalid-message.dx-overlay-wrapper\"));\r\n null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.removeClass(INVALID_MESSAGE_AUTO);\r\n if (this.showValidationMessageTimeout) {\r\n clearTimeout(this.showValidationMessageTimeout)\r\n }\r\n this.showValidationMessageTimeout = setTimeout(() => {\r\n null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.addClass(INVALID_MESSAGE_AUTO)\r\n }, 150)\r\n }\r\n };\r\n props.saveValueChangeEvent = e => {\r\n this._valueChangeEventInstance = e\r\n };\r\n return props\r\n }\r\n _createElement(element) {\r\n super._createElement(element);\r\n this.showValidationMessageTimeout = void 0;\r\n this.validationRequest = Callbacks();\r\n data(this.$element()[0], VALIDATION_TARGET, this)\r\n }\r\n _render() {\r\n var _this$option;\r\n null === (_this$option = this.option(\"_onMarkupRendered\")) || void 0 === _this$option ? void 0 : _this$option()\r\n }\r\n _initializeComponent() {\r\n super._initializeComponent();\r\n this._valueChangeAction = this._createActionByOption(\"onValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }\r\n _initOptions(options) {\r\n super._initOptions(options);\r\n this.option(ValidationEngine.initValidationOptions(options))\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n validationMessageOffset: {\r\n h: 0,\r\n v: 0\r\n },\r\n validationTooltipOptions: {}\r\n })\r\n }\r\n _bindInnerWidgetOptions(innerWidget, optionsContainer) {\r\n var innerWidgetOptions = extend({}, innerWidget.option());\r\n var syncOptions = () => this._silent(optionsContainer, innerWidgetOptions);\r\n syncOptions();\r\n innerWidget.on(\"optionChanged\", syncOptions)\r\n }\r\n _raiseValidation(value, previousValue) {\r\n var areValuesEmpty = !isDefined(value) && !isDefined(previousValue);\r\n if (value !== previousValue && !areValuesEmpty) {\r\n this.validationRequest.fire({\r\n value: value,\r\n editor: this\r\n })\r\n }\r\n }\r\n _raiseValueChangeAction(value, previousValue) {\r\n var _this$_valueChangeAct;\r\n null === (_this$_valueChangeAct = this._valueChangeAction) || void 0 === _this$_valueChangeAct ? void 0 : _this$_valueChangeAct.call(this, {\r\n element: this.$element(),\r\n previousValue: previousValue,\r\n value: value,\r\n event: this._valueChangeEventInstance\r\n });\r\n this._valueChangeEventInstance = void 0\r\n }\r\n _optionChanged(option) {\r\n var {\r\n name: name,\r\n previousValue: previousValue,\r\n value: value\r\n } = option;\r\n if (name && void 0 !== this._getActionConfigs()[name]) {\r\n this._addAction(name)\r\n }\r\n switch (name) {\r\n case \"value\":\r\n this._raiseValidation(value, previousValue);\r\n this._raiseValueChangeAction(value, previousValue);\r\n break;\r\n case \"onValueChanged\":\r\n this._valueChangeAction = this._createActionByOption(\"onValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n break;\r\n case \"isValid\":\r\n case \"validationError\":\r\n case \"validationErrors\":\r\n case \"validationStatus\":\r\n this.option(ValidationEngine.synchronizeValidationOptions(option, this.option()))\r\n }\r\n super._optionChanged(option)\r\n }\r\n reset() {\r\n var {\r\n value: value\r\n } = this._getDefaultOptions();\r\n this.option({\r\n value: value\r\n })\r\n }\r\n _dispose() {\r\n super._dispose();\r\n data(this.element(), VALIDATION_TARGET, null);\r\n if (this.showValidationMessageTimeout) {\r\n clearTimeout(this.showValidationMessageTimeout)\r\n }\r\n }\r\n}\r\nvar prevIsEditor = OldEditor.isEditor;\r\nvar newIsEditor = instance => prevIsEditor(instance) || instance instanceof Editor;\r\nEditor.isEditor = newIsEditor;\r\nOldEditor.isEditor = newIsEditor;\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/editors/check_box.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Editor from \"./editor\";\r\nexport default class CheckBox extends Editor {\r\n _useTemplates() {\r\n return false\r\n }\r\n _isFocused() {\r\n var focusTarget = this.$element()[0];\r\n return focusTarget.classList.contains(\"dx-state-focused\")\r\n }\r\n getSupportedKeyNames() {\r\n return [\"space\"]\r\n }\r\n getProps() {\r\n var props = super.getProps();\r\n if (null !== props.value) {\r\n props.value = Boolean(props.value)\r\n }\r\n return props\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/check_box/utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isMaterial,\r\n isCompact,\r\n current\r\n} from \"../../../../ui/themes\";\r\nvar defaultIconSizes = [\r\n [22, 16],\r\n [18, 16]\r\n];\r\nvar defaultFontSizes = [\r\n [\r\n [12, 8],\r\n [20, 18]\r\n ],\r\n [\r\n [16, 10],\r\n [16, 14]\r\n ]\r\n];\r\n\r\nfunction getThemeType() {\r\n var theme = current();\r\n return {\r\n isMaterialTheme: isMaterial(theme),\r\n isCompactTheme: isCompact(theme)\r\n }\r\n}\r\n\r\nfunction getDefaultIconSize() {\r\n var {\r\n isCompactTheme: isCompactTheme,\r\n isMaterialTheme: isMaterialTheme\r\n } = getThemeType();\r\n return defaultIconSizes[+isMaterialTheme][+isCompactTheme]\r\n}\r\n\r\nfunction getDefaultFontSize(isChecked) {\r\n var {\r\n isCompactTheme: isCompactTheme,\r\n isMaterialTheme: isMaterialTheme\r\n } = getThemeType();\r\n return defaultFontSizes[+isChecked][+isMaterialTheme][+isCompactTheme]\r\n}\r\n\r\nfunction getFontSizeByIconSize(iconSize, isChecked) {\r\n var defaultFontSize = getDefaultFontSize(isChecked);\r\n var defaultIconSize = getDefaultIconSize();\r\n var fontToIconSizeRatio = defaultFontSize / defaultIconSize;\r\n return Math.ceil(fontToIconSizeRatio * iconSize)\r\n}\r\nexport {\r\n getDefaultFontSize,\r\n getDefaultIconSize,\r\n getFontSizeByIconSize\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/check_box/check_box_icon.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"isChecked\", \"size\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nimport getElementComputedStyle from \"../../../utils/get_computed_style\";\r\nimport {\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport {\r\n normalizeStyleProp\r\n} from \"../../../../core/utils/style\";\r\nimport {\r\n isNumeric as isNumber\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getFontSizeByIconSize\r\n} from \"./utils\";\r\nexport var viewFunction = viewModel => {\r\n var {\r\n cssStyles: cssStyles,\r\n elementRef: elementRef\r\n } = viewModel;\r\n return createVNode(1, \"span\", \"dx-checkbox-icon\", null, 1, {\r\n style: normalizeStyles(cssStyles)\r\n }, null, elementRef)\r\n};\r\nexport var CheckBoxIconProps = {\r\n isChecked: false\r\n};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class CheckBoxIcon extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.elementRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.updateFontSize = this.updateFontSize.bind(this);\r\n this.setIconFontSize = this.setIconFontSize.bind(this);\r\n this.getIconSize = this.getIconSize.bind(this);\r\n this.getComputedIconSize = this.getComputedIconSize.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.updateFontSize, [this.props.isChecked, this.props.size])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.isChecked, this.props.size])\r\n }\r\n updateFontSize() {\r\n var {\r\n isChecked: isChecked,\r\n size: size\r\n } = this.props;\r\n if (hasWindow() && size) {\r\n var newIconSize = this.getIconSize(size);\r\n var newFontSize = getFontSizeByIconSize(newIconSize, isChecked);\r\n this.setIconFontSize(newFontSize)\r\n }\r\n }\r\n setIconFontSize(fontSize) {\r\n var element = this.elementRef.current;\r\n element.style.fontSize = \"\".concat(fontSize, \"px\")\r\n }\r\n getIconSize(size) {\r\n if (isNumber(size)) {\r\n return size\r\n }\r\n if (size.endsWith(\"px\")) {\r\n return parseInt(size, 10)\r\n }\r\n return this.getComputedIconSize()\r\n }\r\n getComputedIconSize() {\r\n var element = this.elementRef.current;\r\n var iconComputedStyle = getElementComputedStyle(element);\r\n var computedIconSize = parseInt(null === iconComputedStyle || void 0 === iconComputedStyle ? void 0 : iconComputedStyle.width, 10);\r\n return computedIconSize\r\n }\r\n get cssStyles() {\r\n if (void 0 !== this.__getterCache.cssStyles) {\r\n return this.__getterCache.cssStyles\r\n }\r\n return this.__getterCache.cssStyles = (() => {\r\n var {\r\n size: size\r\n } = this.props;\r\n var width = normalizeStyleProp(\"width\", size);\r\n var height = normalizeStyleProp(\"height\", size);\r\n return {\r\n height: height,\r\n width: width\r\n }\r\n })()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.size !== nextProps.size) {\r\n this.__getterCache.cssStyles = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n elementRef: this.elementRef,\r\n setIconFontSize: this.setIconFontSize,\r\n getIconSize: this.getIconSize,\r\n getComputedIconSize: this.getComputedIconSize,\r\n cssStyles: this.cssStyles,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nCheckBoxIcon.defaultProps = CheckBoxIconProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/check_box/check_box.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"aria\", \"className\", \"defaultValue\", \"disabled\", \"enableThreeStateBehavior\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"iconSize\", \"inputAttr\", \"isValid\", \"name\", \"onClick\", \"onFocusIn\", \"onKeyDown\", \"readOnly\", \"rtlEnabled\", \"saveValueChangeEvent\", \"tabIndex\", \"text\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"value\", \"valueChange\", \"visible\", \"width\"];\r\nimport {\r\n createVNode,\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport devices from \"../../../../core/devices\";\r\nimport {\r\n Editor,\r\n EditorProps\r\n} from \"../common/editor\";\r\nimport {\r\n combineClasses\r\n} from \"../../../utils/combine_classes\";\r\nimport {\r\n CheckBoxIcon\r\n} from \"./check_box_icon\";\r\nimport {\r\n WidgetProps\r\n} from \"../../common/widget\";\r\nvar getCssClasses = model => {\r\n var {\r\n text: text,\r\n value: value\r\n } = model;\r\n var checked = value;\r\n var indeterminate = null === checked;\r\n var classesMap = {\r\n \"dx-checkbox\": true,\r\n \"dx-checkbox-checked\": true === checked,\r\n \"dx-checkbox-has-text\": !!text,\r\n \"dx-checkbox-indeterminate\": indeterminate\r\n };\r\n return combineClasses(classesMap)\r\n};\r\nexport var viewFunction = viewModel => {\r\n var {\r\n aria: aria,\r\n cssClasses: classes,\r\n editorRef: editorRef,\r\n keyDown: onKeyDown,\r\n onWidgetClick: onClick,\r\n props: {\r\n accessKey: accessKey,\r\n activeStateEnabled: activeStateEnabled,\r\n className: className,\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n height: height,\r\n hint: hint,\r\n hoverStateEnabled: hoverStateEnabled,\r\n iconSize: iconSize,\r\n isValid: isValid,\r\n name: name,\r\n onFocusIn: onFocusIn,\r\n readOnly: readOnly,\r\n rtlEnabled: rtlEnabled,\r\n tabIndex: tabIndex,\r\n text: text,\r\n validationError: validationError,\r\n validationErrors: validationErrors,\r\n validationMessageMode: validationMessageMode,\r\n validationMessagePosition: validationMessagePosition,\r\n validationStatus: validationStatus,\r\n value: value,\r\n visible: visible,\r\n width: width\r\n },\r\n restAttributes: restAttributes\r\n } = viewModel;\r\n return normalizeProps(createComponentVNode(2, Editor, _extends({\r\n aria: aria,\r\n classes: classes,\r\n onClick: onClick,\r\n onKeyDown: onKeyDown,\r\n accessKey: accessKey,\r\n activeStateEnabled: activeStateEnabled,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n className: className,\r\n disabled: disabled,\r\n readOnly: readOnly,\r\n hint: hint,\r\n height: height,\r\n width: width,\r\n rtlEnabled: rtlEnabled,\r\n tabIndex: tabIndex,\r\n visible: visible,\r\n validationError: validationError,\r\n validationErrors: validationErrors,\r\n validationMessageMode: validationMessageMode,\r\n validationMessagePosition: validationMessagePosition,\r\n validationStatus: validationStatus,\r\n isValid: isValid,\r\n onFocusIn: onFocusIn\r\n }, restAttributes, {\r\n children: createFragment([normalizeProps(createVNode(64, \"input\", null, null, 1, _extends({\r\n type: \"hidden\",\r\n value: \"\".concat(value)\r\n }, name && {\r\n name: name\r\n }))), createVNode(1, \"div\", \"dx-checkbox-container\", [createComponentVNode(2, CheckBoxIcon, {\r\n size: iconSize,\r\n isChecked: true === value\r\n }), text && createVNode(1, \"span\", \"dx-checkbox-text\", text, 0)], 0)], 4)\r\n }), null, editorRef))\r\n};\r\nexport var CheckBoxProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(EditorProps), Object.getOwnPropertyDescriptors({\r\n text: \"\",\r\n enableThreeStateBehavior: false,\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n get focusStateEnabled() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n defaultValue: false,\r\n valueChange: () => {}\r\n})));\r\nexport var CheckBoxPropsType = {\r\n get text() {\r\n return CheckBoxProps.text\r\n },\r\n get enableThreeStateBehavior() {\r\n return CheckBoxProps.enableThreeStateBehavior\r\n },\r\n get activeStateEnabled() {\r\n return CheckBoxProps.activeStateEnabled\r\n },\r\n get hoverStateEnabled() {\r\n return CheckBoxProps.hoverStateEnabled\r\n },\r\n get focusStateEnabled() {\r\n return CheckBoxProps.focusStateEnabled\r\n },\r\n get defaultValue() {\r\n return CheckBoxProps.defaultValue\r\n },\r\n get valueChange() {\r\n return CheckBoxProps.valueChange\r\n },\r\n get readOnly() {\r\n return CheckBoxProps.readOnly\r\n },\r\n get name() {\r\n return CheckBoxProps.name\r\n },\r\n get validationError() {\r\n return CheckBoxProps.validationError\r\n },\r\n get validationErrors() {\r\n return CheckBoxProps.validationErrors\r\n },\r\n get validationMessageMode() {\r\n return CheckBoxProps.validationMessageMode\r\n },\r\n get validationMessagePosition() {\r\n return CheckBoxProps.validationMessagePosition\r\n },\r\n get validationStatus() {\r\n return CheckBoxProps.validationStatus\r\n },\r\n get isValid() {\r\n return CheckBoxProps.isValid\r\n },\r\n get inputAttr() {\r\n return CheckBoxProps.inputAttr\r\n },\r\n get className() {\r\n return CheckBoxProps.className\r\n },\r\n get disabled() {\r\n return CheckBoxProps.disabled\r\n },\r\n get tabIndex() {\r\n return CheckBoxProps.tabIndex\r\n },\r\n get visible() {\r\n return CheckBoxProps.visible\r\n },\r\n get aria() {\r\n return WidgetProps.aria\r\n }\r\n};\r\nimport {\r\n convertRulesToOptions\r\n} from \"../../../../core/options/utils\";\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class CheckBox extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.editorRef = infernoCreateRef();\r\n this.state = {\r\n value: void 0 !== this.props.value ? this.props.value : this.props.defaultValue\r\n };\r\n this.focus = this.focus.bind(this);\r\n this.blur = this.blur.bind(this);\r\n this.onWidgetClick = this.onWidgetClick.bind(this);\r\n this.keyDown = this.keyDown.bind(this)\r\n }\r\n createEffects() {\r\n return [createReRenderEffect()]\r\n }\r\n onWidgetClick(event) {\r\n var {\r\n enableThreeStateBehavior: enableThreeStateBehavior,\r\n readOnly: readOnly,\r\n saveValueChangeEvent: saveValueChangeEvent\r\n } = this.props;\r\n if (!readOnly) {\r\n null === saveValueChangeEvent || void 0 === saveValueChangeEvent ? void 0 : saveValueChangeEvent(event);\r\n if (enableThreeStateBehavior) {\r\n var __newValue;\r\n this.setState(__state_argument => {\r\n __newValue = null === (void 0 !== this.props.value ? this.props.value : __state_argument.value) || (!(void 0 !== this.props.value ? this.props.value : __state_argument.value) ? null : false);\r\n return {\r\n value: __newValue\r\n }\r\n });\r\n this.props.valueChange(__newValue)\r\n } else {\r\n var _newValue;\r\n this.setState(__state_argument => {\r\n var _ref;\r\n _newValue = !(null !== (_ref = void 0 !== this.props.value ? this.props.value : __state_argument.value) && void 0 !== _ref ? _ref : false);\r\n return {\r\n value: _newValue\r\n }\r\n });\r\n this.props.valueChange(_newValue)\r\n }\r\n }\r\n }\r\n keyDown(e) {\r\n var {\r\n onKeyDown: onKeyDown\r\n } = this.props;\r\n var {\r\n keyName: keyName,\r\n originalEvent: originalEvent,\r\n which: which\r\n } = e;\r\n var result = null === onKeyDown || void 0 === onKeyDown ? void 0 : onKeyDown(e);\r\n if (null !== result && void 0 !== result && result.cancel) {\r\n return result\r\n }\r\n if (\"space\" === keyName || \"space\" === which) {\r\n originalEvent.preventDefault();\r\n this.onWidgetClick(originalEvent)\r\n }\r\n return\r\n }\r\n get cssClasses() {\r\n return getCssClasses(_extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }))\r\n }\r\n get aria() {\r\n var checked = true === (void 0 !== this.props.value ? this.props.value : this.state.value);\r\n var indeterminate = null === (void 0 !== this.props.value ? this.props.value : this.state.value);\r\n var result = {\r\n role: \"checkbox\",\r\n checked: indeterminate ? \"mixed\" : \"\".concat(checked)\r\n };\r\n return _extends({}, result, this.props.aria)\r\n }\r\n get restAttributes() {\r\n var _this$props$value = _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n restProps = _objectWithoutPropertiesLoose(_this$props$value, _excluded);\r\n return restProps\r\n }\r\n focus() {\r\n this.editorRef.current.focus()\r\n }\r\n blur() {\r\n this.editorRef.current.blur()\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n editorRef: this.editorRef,\r\n onWidgetClick: this.onWidgetClick,\r\n keyDown: this.keyDown,\r\n cssClasses: this.cssClasses,\r\n aria: this.aria,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\n\r\nfunction __processTwoWayProps(defaultProps) {\r\n var twoWayProps = [\"value\"];\r\n return Object.keys(defaultProps).reduce((props, propName) => {\r\n var propValue = defaultProps[propName];\r\n var defaultPropName = twoWayProps.some(p => p === propName) ? \"default\" + propName.charAt(0).toUpperCase() + propName.slice(1) : propName;\r\n props[defaultPropName] = propValue;\r\n return props\r\n }, {})\r\n}\r\nCheckBox.defaultProps = CheckBoxPropsType;\r\nvar __defaultOptionRules = [];\r\nexport function defaultOptions(rule) {\r\n __defaultOptionRules.push(rule);\r\n CheckBox.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(CheckBox.defaultProps), Object.getOwnPropertyDescriptors(__processTwoWayProps(convertRulesToOptions(__defaultOptionRules)))))\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/check_box/check_box.j.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../../core/component_registrator\";\r\nimport BaseComponent from \"../../../component_wrapper/editors/check_box\";\r\nimport {\r\n CheckBox as CheckBoxComponent,\r\n defaultOptions\r\n} from \"./check_box\";\r\nexport default class CheckBox extends BaseComponent {\r\n getProps() {\r\n var props = super.getProps();\r\n props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown);\r\n return props\r\n }\r\n focus() {\r\n var _this$viewRef;\r\n return null === (_this$viewRef = this.viewRef) || void 0 === _this$viewRef ? void 0 : _this$viewRef.focus(...arguments)\r\n }\r\n blur() {\r\n var _this$viewRef2;\r\n return null === (_this$viewRef2 = this.viewRef) || void 0 === _this$viewRef2 ? void 0 : _this$viewRef2.blur(...arguments)\r\n }\r\n _getActionConfigs() {\r\n return {\r\n onFocusIn: {},\r\n onClick: {}\r\n }\r\n }\r\n get _propsInfo() {\r\n return {\r\n twoWay: [\r\n [\"value\", \"defaultValue\", \"valueChange\"]\r\n ],\r\n allowNull: [\"defaultValue\", \"validationError\", \"validationErrors\", \"value\"],\r\n elements: [],\r\n templates: [],\r\n props: [\"text\", \"iconSize\", \"enableThreeStateBehavior\", \"activeStateEnabled\", \"hoverStateEnabled\", \"focusStateEnabled\", \"saveValueChangeEvent\", \"defaultValue\", \"valueChange\", \"readOnly\", \"name\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"isValid\", \"inputAttr\", \"onFocusIn\", \"className\", \"accessKey\", \"disabled\", \"height\", \"hint\", \"onClick\", \"onKeyDown\", \"rtlEnabled\", \"tabIndex\", \"visible\", \"width\", \"aria\", \"value\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return CheckBoxComponent\r\n }\r\n}\r\nregisterComponent(\"dxCheckBox\", CheckBox);\r\nCheckBox.defaultOptions = defaultOptions;\r\n","/**\r\n * DevExtreme (esm/ui/check_box.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Widget from \"../renovation/ui/editors/check_box/check_box.j\";\r\nexport default Widget;\r\n","/**\r\n * DevExtreme (esm/localization/language_codes.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport localizationCoreUtils from \"./core\";\r\nvar LANGUAGE_CODES = {\r\n ar: 1,\r\n bg: 2,\r\n ca: 3,\r\n \"zh-Hans\": 4,\r\n cs: 5,\r\n da: 6,\r\n de: 7,\r\n el: 8,\r\n en: 9,\r\n es: 10,\r\n fi: 11,\r\n fr: 12,\r\n he: 13,\r\n hu: 14,\r\n is: 15,\r\n it: 16,\r\n ja: 17,\r\n ko: 18,\r\n nl: 19,\r\n no: 20,\r\n pl: 21,\r\n pt: 22,\r\n rm: 23,\r\n ro: 24,\r\n ru: 25,\r\n hr: 26,\r\n sk: 27,\r\n sq: 28,\r\n sv: 29,\r\n th: 30,\r\n tr: 31,\r\n ur: 32,\r\n id: 33,\r\n uk: 34,\r\n be: 35,\r\n sl: 36,\r\n et: 37,\r\n lv: 38,\r\n lt: 39,\r\n tg: 40,\r\n fa: 41,\r\n vi: 42,\r\n hy: 43,\r\n az: 44,\r\n eu: 45,\r\n hsb: 46,\r\n mk: 47,\r\n tn: 50,\r\n xh: 52,\r\n zu: 53,\r\n af: 54,\r\n ka: 55,\r\n fo: 56,\r\n hi: 57,\r\n mt: 58,\r\n se: 59,\r\n ga: 60,\r\n ms: 62,\r\n kk: 63,\r\n ky: 64,\r\n sw: 65,\r\n tk: 66,\r\n uz: 67,\r\n tt: 68,\r\n bn: 69,\r\n pa: 70,\r\n gu: 71,\r\n or: 72,\r\n ta: 73,\r\n te: 74,\r\n kn: 75,\r\n ml: 76,\r\n as: 77,\r\n mr: 78,\r\n sa: 79,\r\n mn: 80,\r\n bo: 81,\r\n cy: 82,\r\n km: 83,\r\n lo: 84,\r\n gl: 86,\r\n kok: 87,\r\n syr: 90,\r\n si: 91,\r\n iu: 93,\r\n am: 94,\r\n tzm: 95,\r\n ne: 97,\r\n fy: 98,\r\n ps: 99,\r\n fil: 100,\r\n dv: 101,\r\n ha: 104,\r\n yo: 106,\r\n quz: 107,\r\n nso: 108,\r\n ba: 109,\r\n lb: 110,\r\n kl: 111,\r\n ig: 112,\r\n ii: 120,\r\n arn: 122,\r\n moh: 124,\r\n br: 126,\r\n ug: 128,\r\n mi: 129,\r\n oc: 130,\r\n co: 131,\r\n gsw: 132,\r\n sah: 133,\r\n qut: 134,\r\n rw: 135,\r\n wo: 136,\r\n prs: 140,\r\n gd: 145,\r\n \"ar-SA\": 1025,\r\n \"bg-BG\": 1026,\r\n \"ca-ES\": 1027,\r\n \"zh-TW\": 1028,\r\n \"cs-CZ\": 1029,\r\n \"da-DK\": 1030,\r\n \"de-DE\": 1031,\r\n \"el-GR\": 1032,\r\n \"en-US\": 1033,\r\n \"fi-FI\": 1035,\r\n \"fr-FR\": 1036,\r\n \"he-IL\": 1037,\r\n \"hu-HU\": 1038,\r\n \"is-IS\": 1039,\r\n \"it-IT\": 1040,\r\n \"ja-JP\": 1041,\r\n \"ko-KR\": 1042,\r\n \"nl-NL\": 1043,\r\n \"nb-NO\": 1044,\r\n \"pl-PL\": 1045,\r\n \"pt-BR\": 1046,\r\n \"rm-CH\": 1047,\r\n \"ro-RO\": 1048,\r\n \"ru-RU\": 1049,\r\n \"hr-HR\": 1050,\r\n \"sk-SK\": 1051,\r\n \"sq-AL\": 1052,\r\n \"sv-SE\": 1053,\r\n \"th-TH\": 1054,\r\n \"tr-TR\": 1055,\r\n \"ur-PK\": 1056,\r\n \"id-ID\": 1057,\r\n \"uk-UA\": 1058,\r\n \"be-BY\": 1059,\r\n \"sl-SI\": 1060,\r\n \"et-EE\": 1061,\r\n \"lv-LV\": 1062,\r\n \"lt-LT\": 1063,\r\n \"tg-Cyrl-TJ\": 1064,\r\n \"fa-IR\": 1065,\r\n \"vi-VN\": 1066,\r\n \"hy-AM\": 1067,\r\n \"az-Latn-AZ\": 1068,\r\n \"eu-ES\": 1069,\r\n \"hsb-DE\": 1070,\r\n \"mk-MK\": 1071,\r\n \"tn-ZA\": 1074,\r\n \"xh-ZA\": 1076,\r\n \"zu-ZA\": 1077,\r\n \"af-ZA\": 1078,\r\n \"ka-GE\": 1079,\r\n \"fo-FO\": 1080,\r\n \"hi-IN\": 1081,\r\n \"mt-MT\": 1082,\r\n \"se-NO\": 1083,\r\n \"ms-MY\": 1086,\r\n \"kk-KZ\": 1087,\r\n \"ky-KG\": 1088,\r\n \"sw-KE\": 1089,\r\n \"tk-TM\": 1090,\r\n \"uz-Latn-UZ\": 1091,\r\n \"tt-RU\": 1092,\r\n \"bn-IN\": 1093,\r\n \"pa-IN\": 1094,\r\n \"gu-IN\": 1095,\r\n \"or-IN\": 1096,\r\n \"ta-IN\": 1097,\r\n \"te-IN\": 1098,\r\n \"kn-IN\": 1099,\r\n \"ml-IN\": 1100,\r\n \"as-IN\": 1101,\r\n \"mr-IN\": 1102,\r\n \"sa-IN\": 1103,\r\n \"mn-MN\": 1104,\r\n \"bo-CN\": 1105,\r\n \"cy-GB\": 1106,\r\n \"km-KH\": 1107,\r\n \"lo-LA\": 1108,\r\n \"gl-ES\": 1110,\r\n \"kok-IN\": 1111,\r\n \"syr-SY\": 1114,\r\n \"si-LK\": 1115,\r\n \"iu-Cans-CA\": 1117,\r\n \"am-ET\": 1118,\r\n \"ne-NP\": 1121,\r\n \"fy-NL\": 1122,\r\n \"ps-AF\": 1123,\r\n \"fil-PH\": 1124,\r\n \"dv-MV\": 1125,\r\n \"ha-Latn-NG\": 1128,\r\n \"yo-NG\": 1130,\r\n \"quz-BO\": 1131,\r\n \"nso-ZA\": 1132,\r\n \"ba-RU\": 1133,\r\n \"lb-LU\": 1134,\r\n \"kl-GL\": 1135,\r\n \"ig-NG\": 1136,\r\n \"ii-CN\": 1144,\r\n \"arn-CL\": 1146,\r\n \"moh-CA\": 1148,\r\n \"br-FR\": 1150,\r\n \"ug-CN\": 1152,\r\n \"mi-NZ\": 1153,\r\n \"oc-FR\": 1154,\r\n \"co-FR\": 1155,\r\n \"gsw-FR\": 1156,\r\n \"sah-RU\": 1157,\r\n \"qut-GT\": 1158,\r\n \"rw-RW\": 1159,\r\n \"wo-SN\": 1160,\r\n \"prs-AF\": 1164,\r\n \"gd-GB\": 1169,\r\n \"ar-IQ\": 2049,\r\n \"zh-CN\": 2052,\r\n \"de-CH\": 2055,\r\n \"en-GB\": 2057,\r\n \"es-MX\": 2058,\r\n \"fr-BE\": 2060,\r\n \"it-CH\": 2064,\r\n \"nl-BE\": 2067,\r\n \"nn-NO\": 2068,\r\n \"pt-PT\": 2070,\r\n \"sr-Latn-CS\": 2074,\r\n \"sv-FI\": 2077,\r\n \"az-Cyrl-AZ\": 2092,\r\n \"dsb-DE\": 2094,\r\n \"se-SE\": 2107,\r\n \"ga-IE\": 2108,\r\n \"ms-BN\": 2110,\r\n \"uz-Cyrl-UZ\": 2115,\r\n \"bn-BD\": 2117,\r\n \"mn-Mong-CN\": 2128,\r\n \"iu-Latn-CA\": 2141,\r\n \"tzm-Latn-DZ\": 2143,\r\n \"quz-EC\": 2155,\r\n \"ar-EG\": 3073,\r\n \"zh-HK\": 3076,\r\n \"de-AT\": 3079,\r\n \"en-AU\": 3081,\r\n \"es-ES\": 3082,\r\n \"fr-CA\": 3084,\r\n \"sr-Cyrl-CS\": 3098,\r\n \"se-FI\": 3131,\r\n \"quz-PE\": 3179,\r\n \"ar-LY\": 4097,\r\n \"zh-SG\": 4100,\r\n \"de-LU\": 4103,\r\n \"en-CA\": 4105,\r\n \"es-GT\": 4106,\r\n \"fr-CH\": 4108,\r\n \"hr-BA\": 4122,\r\n \"smj-NO\": 4155,\r\n \"ar-DZ\": 5121,\r\n \"zh-MO\": 5124,\r\n \"de-LI\": 5127,\r\n \"en-NZ\": 5129,\r\n \"es-CR\": 5130,\r\n \"fr-LU\": 5132,\r\n \"bs-Latn-BA\": 5146,\r\n \"smj-SE\": 5179,\r\n \"ar-MA\": 6145,\r\n \"en-IE\": 6153,\r\n \"es-PA\": 6154,\r\n \"fr-MC\": 6156,\r\n \"sr-Latn-BA\": 6170,\r\n \"sma-NO\": 6203,\r\n \"ar-TN\": 7169,\r\n \"en-ZA\": 7177,\r\n \"es-DO\": 7178,\r\n \"sr-Cyrl-BA\": 7194,\r\n \"sma-SE\": 7227,\r\n \"ar-OM\": 8193,\r\n \"en-JM\": 8201,\r\n \"es-VE\": 8202,\r\n \"bs-Cyrl-BA\": 8218,\r\n \"sms-FI\": 8251,\r\n \"ar-YE\": 9217,\r\n \"en-029\": 9225,\r\n \"es-CO\": 9226,\r\n \"sr-Latn-RS\": 9242,\r\n \"smn-FI\": 9275,\r\n \"ar-SY\": 10241,\r\n \"en-BZ\": 10249,\r\n \"es-PE\": 10250,\r\n \"sr-Cyrl-RS\": 10266,\r\n \"ar-JO\": 11265,\r\n \"en-TT\": 11273,\r\n \"es-AR\": 11274,\r\n \"sr-Latn-ME\": 11290,\r\n \"ar-LB\": 12289,\r\n \"en-ZW\": 12297,\r\n \"es-EC\": 12298,\r\n \"sr-Cyrl-ME\": 12314,\r\n \"ar-KW\": 13313,\r\n \"en-PH\": 13321,\r\n \"es-CL\": 13322,\r\n \"ar-AE\": 14337,\r\n \"es-UY\": 14346,\r\n \"ar-BH\": 15361,\r\n \"es-PY\": 15370,\r\n \"ar-QA\": 16385,\r\n \"en-IN\": 16393,\r\n \"es-BO\": 16394,\r\n \"en-MY\": 17417,\r\n \"es-SV\": 17418,\r\n \"en-SG\": 18441,\r\n \"es-HN\": 18442,\r\n \"es-NI\": 19466,\r\n \"es-PR\": 20490,\r\n \"es-US\": 21514,\r\n \"bs-Cyrl\": 25626,\r\n \"bs-Latn\": 26650,\r\n \"sr-Cyrl\": 27674,\r\n \"sr-Latn\": 28698,\r\n smn: 28731,\r\n \"az-Cyrl\": 29740,\r\n sms: 29755,\r\n zh: 30724,\r\n nn: 30740,\r\n bs: 30746,\r\n \"az-Latn\": 30764,\r\n sma: 30779,\r\n \"uz-Cyrl\": 30787,\r\n \"mn-Cyrl\": 30800,\r\n \"iu-Cans\": 30813,\r\n \"zh-Hant\": 31748,\r\n nb: 31764,\r\n sr: 31770,\r\n \"tg-Cyrl\": 31784,\r\n dsb: 31790,\r\n smj: 31803,\r\n \"uz-Latn\": 31811,\r\n \"mn-Mong\": 31824,\r\n \"iu-Latn\": 31837,\r\n \"tzm-Latn\": 31839,\r\n \"ha-Latn\": 31848\r\n};\r\nexport function getLanguageId() {\r\n return LANGUAGE_CODES[localizationCoreUtils.locale()]\r\n}\r\n","/**\r\n * DevExtreme (esm/exporter/exceljs/export_format.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n format as stringFormat\r\n} from \"../../core/utils/string\";\r\nimport numberFormatter from \"../../localization/number\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport {\r\n isDefined,\r\n isString,\r\n isObject,\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getFormat\r\n} from \"../../localization/ldml/date.format\";\r\nimport {\r\n getLanguageId\r\n} from \"../../localization/language_codes\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport \"../../localization/currency\";\r\nvar ARABIC_ZERO_CODE = 1632;\r\nvar DEFINED_NUMBER_FORMTATS = {\r\n thousands: \"#,##0{0},"K"\",\r\n millions: \"#,##0{0},,"M"\",\r\n billions: \"#,##0{0},,,"B"\",\r\n trillions: \"#,##0{0},,,,"T"\",\r\n percent: \"0{0}%\",\r\n decimal: \"#{0}\",\r\n fixedpoint: \"#,##0{0}\",\r\n exponential: \"0{0}E+00\",\r\n currency: \" \"\r\n};\r\nvar PERIOD_REGEXP = /a+/g;\r\nvar DAY_REGEXP = /E/g;\r\nvar DO_REGEXP = /dE+/g;\r\nvar STANDALONE_MONTH_REGEXP = /L/g;\r\nvar HOUR_REGEXP = /h/g;\r\nvar ANY_REGEXP = /./g;\r\n\r\nfunction _applyPrecision(format, precision) {\r\n var result;\r\n var i;\r\n if (precision > 0) {\r\n result = \"decimal\" !== format ? \".\" : \"\";\r\n for (i = 0; i < precision; i++) {\r\n result += \"0\"\r\n }\r\n return result\r\n }\r\n return \"\"\r\n}\r\n\r\nfunction _hasArabicDigits(text) {\r\n var code;\r\n for (var i = 0; i < text.length; i++) {\r\n code = text.charCodeAt(i);\r\n if (code >= ARABIC_ZERO_CODE && code < ARABIC_ZERO_CODE + 10) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction _convertDateFormat(format) {\r\n var formattedValue = (dateLocalization.format(new Date(2009, 8, 8, 6, 5, 4), format) || \"\").toString();\r\n var result = getFormat(value => dateLocalization.format(value, format));\r\n if (result) {\r\n result = _convertDateFormatToOpenXml(result);\r\n result = _getLanguageInfo(formattedValue) + result\r\n }\r\n return result\r\n}\r\n\r\nfunction _getLanguageInfo(defaultPattern) {\r\n var languageID = getLanguageId();\r\n var languageIDStr = languageID ? languageID.toString(16) : \"\";\r\n var languageInfo = \"\";\r\n if (_hasArabicDigits(defaultPattern)) {\r\n while (languageIDStr.length < 3) {\r\n languageIDStr = \"0\" + languageIDStr\r\n }\r\n languageInfo = \"[$-2010\" + languageIDStr + \"]\"\r\n } else if (languageIDStr) {\r\n languageInfo = \"[$-\" + languageIDStr + \"]\"\r\n }\r\n return languageInfo\r\n}\r\n\r\nfunction _convertDateFormatToOpenXml(format) {\r\n return format.split(\"/\").join(\"\\\\/\").split(\"'\").map((function(datePart, index) {\r\n if (index % 2 === 0) {\r\n return datePart.replace(PERIOD_REGEXP, \"AM/PM\").replace(DO_REGEXP, \"d\").replace(DAY_REGEXP, \"d\").replace(STANDALONE_MONTH_REGEXP, \"M\").replace(HOUR_REGEXP, \"H\").split(\"[\").join(\"\\\\[\").split(\"]\").join(\"\\\\]\")\r\n }\r\n if (datePart) {\r\n return datePart.replace(ANY_REGEXP, \"\\\\$&\")\r\n }\r\n return \"'\"\r\n })).join(\"\")\r\n}\r\n\r\nfunction _convertNumberFormat(format, precision, currency) {\r\n var result;\r\n var excelFormat;\r\n if (\"currency\" === format) {\r\n excelFormat = numberFormatter.getOpenXmlCurrencyFormat(currency)\r\n } else {\r\n excelFormat = DEFINED_NUMBER_FORMTATS[format.toLowerCase()]\r\n }\r\n if (excelFormat) {\r\n result = stringFormat(excelFormat, _applyPrecision(format, precision))\r\n }\r\n return result\r\n}\r\n\r\nfunction _hasCSVInjection(value) {\r\n if (!value || value.length < 2) {\r\n return false\r\n }\r\n return _includesCSVExpression(value)\r\n}\r\n\r\nfunction _hasCSVQuotedInjection(value, textQualifier) {\r\n if (!value || value.length < 4 || value[0] !== textQualifier) {\r\n return false\r\n }\r\n return _includesCSVExpression(value.substring(1, value.length - 1))\r\n}\r\n\r\nfunction _includesCSVExpression(value) {\r\n if (!value) {\r\n return false\r\n }\r\n if (/^[@=\\t\\r]/.test(value)) {\r\n return true\r\n }\r\n if (!/^[+-]/.test(value)) {\r\n return false\r\n }\r\n return !isNumeric(value)\r\n}\r\nexport var ExportFormat = {\r\n formatObjectConverter(format, dataType) {\r\n var result = {\r\n format: format,\r\n precision: format && format.precision,\r\n dataType: dataType\r\n };\r\n if (isObject(format)) {\r\n return extend(result, format, {\r\n format: format.formatter || format.type,\r\n currency: format.currency\r\n })\r\n }\r\n return result\r\n },\r\n convertFormat(format, precision, type, currency) {\r\n if (isDefined(format)) {\r\n if (\"date\" === type) {\r\n return _convertDateFormat(format)\r\n } else if (isString(format) && DEFINED_NUMBER_FORMTATS[format.toLowerCase()]) {\r\n return _convertNumberFormat(format, precision, currency)\r\n }\r\n }\r\n },\r\n encode(value) {\r\n var escaped = false;\r\n if (_hasCSVInjection(value)) {\r\n escaped = true\r\n } else if (_hasCSVQuotedInjection(value, '\"')) {\r\n value = value.substring(1, value.length - 1);\r\n escaped = true\r\n }\r\n if (escaped) {\r\n var escapedTextQualifier = \"\".concat('\"').concat('\"');\r\n return \"\\\"'\" + value.replaceAll('\"', escapedTextQualifier) + '\"'\r\n }\r\n return value\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/exceljs/export.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined,\r\n isString,\r\n isDate,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n ExportFormat\r\n} from \"./export_format\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n ExportLoadPanel\r\n} from \"../common/export_load_panel\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar MAX_DIGIT_WIDTH_IN_PIXELS = 7;\r\nvar MAX_EXCEL_COLUMN_WIDTH = 255;\r\nexport var Export = {\r\n getFullOptions(options) {\r\n var fullOptions = extend({}, options);\r\n if (!(isDefined(fullOptions.worksheet) && isObject(fullOptions.worksheet))) {\r\n throw Error('The \"worksheet\" field must contain an object.')\r\n }\r\n if (!isDefined(fullOptions.topLeftCell)) {\r\n fullOptions.topLeftCell = {\r\n row: 1,\r\n column: 1\r\n }\r\n } else if (isString(fullOptions.topLeftCell)) {\r\n var {\r\n row: row,\r\n col: col\r\n } = fullOptions.worksheet.getCell(fullOptions.topLeftCell);\r\n fullOptions.topLeftCell = {\r\n row: row,\r\n column: col\r\n }\r\n }\r\n if (!isDefined(fullOptions.keepColumnWidths)) {\r\n fullOptions.keepColumnWidths = true\r\n }\r\n if (!isDefined(fullOptions.loadPanel)) {\r\n fullOptions.loadPanel = {}\r\n }\r\n if (!isDefined(fullOptions.loadPanel.enabled)) {\r\n fullOptions.loadPanel.enabled = true\r\n }\r\n if (!isDefined(fullOptions.encodeExecutableContent)) {\r\n fullOptions.encodeExecutableContent = false\r\n }\r\n return fullOptions\r\n },\r\n convertDateForExcelJS: date => new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds())),\r\n setNumberFormat(excelCell, numberFormat) {\r\n excelCell.numFmt = numberFormat\r\n },\r\n getCellStyles(dataProvider) {\r\n var styles = dataProvider.getStyles();\r\n styles.forEach(style => {\r\n var numberFormat = this.tryConvertToExcelNumberFormat(style.format, style.dataType);\r\n if (isDefined(numberFormat)) {\r\n numberFormat = numberFormat.replace(/"/g, '\"')\r\n }\r\n style.numberFormat = numberFormat\r\n });\r\n return styles\r\n },\r\n tryConvertToExcelNumberFormat(format, dataType) {\r\n var newFormat = ExportFormat.formatObjectConverter(format, dataType);\r\n var currency = newFormat.currency;\r\n format = newFormat.format;\r\n dataType = newFormat.dataType;\r\n return ExportFormat.convertFormat(format, newFormat.precision, dataType, currency)\r\n },\r\n setAlignment(excelCell, wrapText, horizontalAlignment) {\r\n var _excelCell$alignment;\r\n excelCell.alignment = null !== (_excelCell$alignment = excelCell.alignment) && void 0 !== _excelCell$alignment ? _excelCell$alignment : {};\r\n if (isDefined(wrapText)) {\r\n excelCell.alignment.wrapText = wrapText\r\n }\r\n if (isDefined(horizontalAlignment)) {\r\n excelCell.alignment.horizontal = horizontalAlignment\r\n }\r\n excelCell.alignment.vertical = \"top\"\r\n },\r\n setColumnsWidth(worksheet, widths, startColumnIndex) {\r\n if (!isDefined(widths)) {\r\n return\r\n }\r\n for (var i = 0; i < widths.length; i++) {\r\n var columnWidth = widths[i];\r\n if (\"number\" === typeof columnWidth && isFinite(columnWidth)) {\r\n worksheet.getColumn(startColumnIndex + i).width = Math.min(MAX_EXCEL_COLUMN_WIDTH, Math.floor(columnWidth / MAX_DIGIT_WIDTH_IN_PIXELS * 100) / 100)\r\n }\r\n }\r\n },\r\n export (options, Helpers, getLoadPanelTargetElement, getLoadPanelContainer) {\r\n var _component$_getIntern;\r\n var {\r\n component: component,\r\n worksheet: worksheet,\r\n topLeftCell: topLeftCell,\r\n keepColumnWidths: keepColumnWidths,\r\n selectedRowsOnly: selectedRowsOnly,\r\n loadPanel: loadPanel,\r\n encodeExecutableContent: encodeExecutableContent\r\n } = options;\r\n var dataProvider = component.getDataProvider(selectedRowsOnly);\r\n var internalComponent = (null === (_component$_getIntern = component._getInternalInstance) || void 0 === _component$_getIntern ? void 0 : _component$_getIntern.call(component)) || component;\r\n var initialLoadPanelEnabledOption = internalComponent.option(\"loadPanel\") && internalComponent.option(\"loadPanel\").enabled;\r\n if (initialLoadPanelEnabledOption) {\r\n component.option(\"loadPanel.enabled\", false)\r\n }\r\n var exportLoadPanel;\r\n if (loadPanel.enabled && hasWindow()) {\r\n var $targetElement = getLoadPanelTargetElement(component);\r\n var $container = getLoadPanelContainer(component);\r\n exportLoadPanel = new ExportLoadPanel(component, $targetElement, $container, loadPanel);\r\n exportLoadPanel.show()\r\n }\r\n var wrapText = !!component.option(\"wordWrapEnabled\");\r\n worksheet.properties.outlineProperties = {\r\n summaryBelow: false,\r\n summaryRight: false\r\n };\r\n var cellRange = {\r\n from: {\r\n row: topLeftCell.row,\r\n column: topLeftCell.column\r\n },\r\n to: {\r\n row: topLeftCell.row,\r\n column: topLeftCell.column\r\n }\r\n };\r\n return new Promise(resolve => {\r\n dataProvider.ready().done(() => {\r\n var columns = dataProvider.getColumns();\r\n var dataRowsCount = dataProvider.getRowsCount();\r\n var helpers = new Helpers(component, dataProvider, worksheet, options);\r\n if (keepColumnWidths) {\r\n this.setColumnsWidth(worksheet, dataProvider.getColumnsWidths(), cellRange.from.column)\r\n }\r\n helpers._exportAllFieldHeaders(columns, this.setAlignment);\r\n var fieldHeaderRowsCount = helpers._getFieldHeaderRowsCount();\r\n cellRange.to.row = cellRange.from.row + fieldHeaderRowsCount;\r\n var styles = this.getCellStyles(dataProvider);\r\n for (var rowIndex = 0; rowIndex < dataRowsCount; rowIndex++) {\r\n var currentRowIndex = cellRange.from.row + fieldHeaderRowsCount + rowIndex;\r\n var row = worksheet.getRow(currentRowIndex);\r\n var startColumnIndex = 0;\r\n if (helpers._isRowFieldHeadersRow(rowIndex)) {\r\n startColumnIndex = dataProvider.getRowAreaColCount();\r\n helpers._exportFieldHeaders(\"row\", currentRowIndex, 0, startColumnIndex, this.setAlignment)\r\n }\r\n helpers._trySetOutlineLevel(row, rowIndex);\r\n this.exportRow(dataProvider, helpers, row, rowIndex, startColumnIndex, columns.length, wrapText, styles, encodeExecutableContent);\r\n cellRange.to.row = currentRowIndex\r\n }\r\n helpers.mergedRangesManager.applyMergedRages();\r\n cellRange.to.column += columns.length > 0 ? columns.length - 1 : 0;\r\n var worksheetViewSettings = worksheet.views[0] || {};\r\n if (component.option(\"rtlEnabled\")) {\r\n worksheetViewSettings.rightToLeft = true\r\n }\r\n if (helpers._isFrozenZone(dataProvider)) {\r\n if (-1 === Object.keys(worksheetViewSettings).indexOf(\"state\")) {\r\n extend(worksheetViewSettings, helpers._getWorksheetFrozenState(cellRange))\r\n }\r\n helpers._trySetAutoFilter(cellRange)\r\n }\r\n if (Object.keys(worksheetViewSettings).length > 0) {\r\n worksheet.views = [worksheetViewSettings]\r\n }\r\n resolve(cellRange)\r\n }).always(() => {\r\n if (initialLoadPanelEnabledOption) {\r\n component.option(\"loadPanel.enabled\", initialLoadPanelEnabledOption)\r\n }\r\n if (loadPanel.enabled && hasWindow()) {\r\n exportLoadPanel.dispose()\r\n }\r\n })\r\n })\r\n },\r\n exportRow(dataProvider, helpers, row, rowIndex, startColumnIndex, columnsCount, wrapText, styles, encodeExecutableContent) {\r\n for (var cellIndex = startColumnIndex; cellIndex < columnsCount; cellIndex++) {\r\n var cellData = dataProvider.getCellData(rowIndex, cellIndex, true);\r\n var excelCell = row.getCell(helpers._getFirstColumnIndex() + cellIndex);\r\n helpers.mergedRangesManager.updateMergedRanges(excelCell, rowIndex, cellIndex, helpers);\r\n var cellInfo = helpers.mergedRangesManager.findMergedCellInfo(rowIndex, cellIndex, helpers._isHeaderCell(rowIndex, cellIndex));\r\n if (isDefined(cellInfo) && excelCell !== cellInfo.masterCell) {\r\n excelCell.style = cellInfo.masterCell.style;\r\n excelCell.value = cellInfo.masterCell.value\r\n } else {\r\n if (isDate(cellData.value)) {\r\n excelCell.value = this.convertDateForExcelJS(cellData.value)\r\n } else {\r\n excelCell.value = cellData.value\r\n }\r\n if (isDefined(excelCell.value)) {\r\n var {\r\n bold: bold,\r\n alignment: horizontalAlignment,\r\n numberFormat: numberFormat\r\n } = styles[dataProvider.getStyleId(rowIndex, cellIndex)];\r\n if (isDefined(numberFormat)) {\r\n this.setNumberFormat(excelCell, numberFormat)\r\n } else if (isString(excelCell.value) && /^[@=+-]/.test(excelCell.value)) {\r\n this.setNumberFormat(excelCell, \"@\")\r\n }\r\n helpers._trySetFont(excelCell, bold);\r\n this.setAlignment(excelCell, wrapText, horizontalAlignment)\r\n }\r\n }\r\n helpers._customizeCell(excelCell, cellData.cellSourceData);\r\n if (encodeExecutableContent) {\r\n excelCell.value = ExportFormat.encode(excelCell.value)\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/exceljs/export_merged_ranges_manager.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nclass MergedRangesManager {\r\n constructor(dataProvider, worksheet) {\r\n this.dataProvider = dataProvider;\r\n this.worksheet = worksheet;\r\n this.mergedCells = [];\r\n this.mergedRanges = []\r\n }\r\n updateMergedRanges(excelCell, rowIndex, cellIndex, helpers) {\r\n if (helpers._isHeaderCell(rowIndex, cellIndex) && !this.isCellInMergedRanges(rowIndex, cellIndex)) {\r\n var {\r\n rowspan: rowspan,\r\n colspan: colspan\r\n } = this.dataProvider.getCellMerging(rowIndex, cellIndex);\r\n var isMasterCellOfMergedRange = colspan || rowspan;\r\n if (isMasterCellOfMergedRange) {\r\n var allowToMergeRange = helpers._allowToMergeRange(rowIndex, cellIndex, rowspan, colspan);\r\n this.updateMergedCells(excelCell, rowIndex, cellIndex, rowspan, colspan);\r\n if (allowToMergeRange) {\r\n var shouldReduceInfoRange = helpers._isInfoCell(rowIndex, cellIndex) && helpers._allowExportRowFieldHeaders();\r\n this.mergedRanges.push({\r\n masterCell: excelCell,\r\n rowspan: rowspan - (shouldReduceInfoRange && rowspan > 0),\r\n colspan: colspan\r\n })\r\n }\r\n }\r\n }\r\n }\r\n isCellInMergedRanges(rowIndex, cellIndex) {\r\n return this.mergedCells[rowIndex] && this.mergedCells[rowIndex][cellIndex]\r\n }\r\n findMergedCellInfo(rowIndex, cellIndex, isHeaderCell) {\r\n if (isHeaderCell && this.isCellInMergedRanges(rowIndex, cellIndex)) {\r\n return this.mergedCells[rowIndex][cellIndex]\r\n }\r\n }\r\n updateMergedCells(excelCell, rowIndex, cellIndex, rowspan, colspan) {\r\n for (var i = rowIndex; i <= rowIndex + rowspan; i++) {\r\n for (var j = cellIndex; j <= cellIndex + colspan; j++) {\r\n if (!this.mergedCells[i]) {\r\n this.mergedCells[i] = []\r\n }\r\n this.mergedCells[i][j] = {\r\n masterCell: excelCell\r\n }\r\n }\r\n }\r\n }\r\n addMergedRange(masterCell, rowspan, colspan) {\r\n this.mergedRanges.push({\r\n masterCell: masterCell,\r\n rowspan: rowspan,\r\n colspan: colspan\r\n })\r\n }\r\n applyMergedRages() {\r\n this.mergedRanges.forEach(range => {\r\n var startRowIndex = range.masterCell.fullAddress.row;\r\n var startColumnIndex = range.masterCell.fullAddress.col;\r\n var endRowIndex = startRowIndex + range.rowspan;\r\n var endColumnIndex = startColumnIndex + range.colspan;\r\n this.worksheet.mergeCells(startRowIndex, startColumnIndex, endRowIndex, endColumnIndex)\r\n })\r\n }\r\n}\r\nexport {\r\n MergedRangesManager\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/exceljs/export_data_grid.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined,\r\n isObject,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Export\r\n} from \"./export\";\r\nimport {\r\n MergedRangesManager\r\n} from \"./export_merged_ranges_manager\";\r\nclass DataGridHelpers {\r\n constructor(component, dataProvider, worksheet, options) {\r\n this.component = component;\r\n this.dataProvider = dataProvider;\r\n this.worksheet = worksheet;\r\n this.mergedRangesManager = new MergedRangesManager(dataProvider, worksheet);\r\n this.topLeftCell = options.topLeftCell;\r\n this.customizeCell = options.customizeCell;\r\n this.autoFilterEnabled = options.autoFilterEnabled\r\n }\r\n _getFirstColumnIndex() {\r\n return this.topLeftCell.column\r\n }\r\n _getFieldHeaderRowsCount() {\r\n return 0\r\n }\r\n _trySetAutoFilter(cellRange) {\r\n if (this.autoFilterEnabled) {\r\n if (!isDefined(this.worksheet.autoFilter) && this.dataProvider.getRowsCount() > 0) {\r\n var dataRange = {\r\n from: {\r\n row: cellRange.from.row + this.dataProvider.getHeaderRowCount() - 1,\r\n column: cellRange.from.column\r\n },\r\n to: cellRange.to\r\n };\r\n this.worksheet.autoFilter = dataRange\r\n }\r\n }\r\n }\r\n _trySetFont(excelCell, bold) {\r\n if (isDefined(bold)) {\r\n excelCell.font = excelCell.font || {};\r\n excelCell.font.bold = bold\r\n }\r\n }\r\n _getWorksheetFrozenState(cellRange) {\r\n return {\r\n state: \"frozen\",\r\n ySplit: cellRange.from.row + this.dataProvider.getFrozenArea().y - 1\r\n }\r\n }\r\n _trySetOutlineLevel(row, rowIndex) {\r\n if (rowIndex >= this.dataProvider.getHeaderRowCount()) {\r\n row.outlineLevel = this.dataProvider.getGroupLevel(rowIndex)\r\n }\r\n }\r\n _isFrozenZone(dataProvider) {\r\n return dataProvider.getHeaderRowCount() > 0\r\n }\r\n _isHeaderCell(rowIndex) {\r\n return rowIndex < this.dataProvider.getHeaderRowCount()\r\n }\r\n _isInfoCell() {\r\n return false\r\n }\r\n _allowToMergeRange() {\r\n return true\r\n }\r\n _getAllFieldHeaders() {\r\n return []\r\n }\r\n _customizeCell(excelCell, gridCell) {\r\n if (isFunction(this.customizeCell)) {\r\n this.customizeCell({\r\n excelCell: excelCell,\r\n gridCell: gridCell\r\n })\r\n }\r\n }\r\n _exportFieldHeaders() {}\r\n _exportAllFieldHeaders() {}\r\n _isRowFieldHeadersRow() {}\r\n}\r\n\r\nfunction exportDataGrid(options) {\r\n return Export.export(_getFullOptions(options), DataGridHelpers, _getLoadPanelTargetElement, _getLoadPanelContainer)\r\n}\r\n\r\nfunction _getFullOptions(options) {\r\n if (!(isDefined(options) && isObject(options))) {\r\n throw Error('The \"exportDataGrid\" method requires a configuration object.')\r\n }\r\n if (!(isDefined(options.component) && isObject(options.component) && \"dxDataGrid\" === options.component.NAME)) {\r\n throw Error('The \"component\" field must contain a DataGrid instance.')\r\n }\r\n if (!isDefined(options.selectedRowsOnly)) {\r\n options.selectedRowsOnly = false\r\n }\r\n if (!isDefined(options.autoFilterEnabled)) {\r\n options.autoFilterEnabled = false\r\n }\r\n return Export.getFullOptions(options)\r\n}\r\n\r\nfunction _getLoadPanelTargetElement(component) {\r\n return component.getView(\"rowsView\").element()\r\n}\r\n\r\nfunction _getLoadPanelContainer(component) {\r\n return component.getView(\"rowsView\").element().parent()\r\n}\r\nexport {\r\n exportDataGrid\r\n};\r\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០',\n },\n numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0',\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort:\n 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ',\n },\n dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n ordinal: 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return km;\n\n})));\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","/*! ExcelJS 19-10-2023 */\n\n!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).ExcelJS=e()}}((function(){return function e(t,r,n){function i(o,a){if(!r[o]){if(!t[o]){var l=\"function\"==typeof require&&require;if(!a&&l)return l(o,!0);if(s)return s(o,!0);var c=new Error(\"Cannot find module '\"+o+\"'\");throw c.code=\"MODULE_NOT_FOUND\",c}var u=r[o]={exports:{}};t[o][0].call(u.exports,(function(e){return i(t[o][1][e]||e)}),u,u.exports,e,t,r,n)}return r[o].exports}for(var s=\"function\"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}({1:[function(e,t,r){\"use strict\";const n=e(\"fs\"),i=e(\"fast-csv\"),s=e(\"dayjs/plugin/customParseFormat\"),o=e(\"dayjs/plugin/utc\"),a=e(\"dayjs\").extend(s).extend(o),l=e(\"../utils/stream-buf\"),{fs:{exists:c}}=e(\"../utils/utils\"),u={true:!0,false:!1,\"#N/A\":{error:\"#N/A\"},\"#REF!\":{error:\"#REF!\"},\"#NAME?\":{error:\"#NAME?\"},\"#DIV/0!\":{error:\"#DIV/0!\"},\"#NULL!\":{error:\"#NULL!\"},\"#VALUE!\":{error:\"#VALUE!\"},\"#NUM!\":{error:\"#NUM!\"}};t.exports=class{constructor(e){this.workbook=e,this.worksheet=null}async readFile(e,t){if(t=t||{},!await c(e))throw new Error(\"File not found: \"+e);const r=n.createReadStream(e),i=await this.read(r,t);return r.close(),i}read(e,t){return t=t||{},new Promise((r,n)=>{const s=this.workbook.addWorksheet(t.sheetName),o=t.dateFormats||[\"YYYY-MM-DD[T]HH:mm:ssZ\",\"YYYY-MM-DD[T]HH:mm:ss\",\"MM-DD-YYYY\",\"YYYY-MM-DD\"],l=t.map||function(e){if(\"\"===e)return null;const t=Number(e);if(!Number.isNaN(t)&&t!==1/0)return t;const r=o.reduce((t,r)=>{if(t)return t;const n=a(e,r,!0);return n.isValid()?n:null},null);if(r)return new Date(r.valueOf());const n=u[e];return void 0!==n?n:e},c=i.parse(t.parserOptions).on(\"data\",e=>{s.addRow(e.map(l))}).on(\"end\",()=>{c.emit(\"worksheet\",s)});c.on(\"worksheet\",r).on(\"error\",n),e.pipe(c)})}createInputStream(){throw new Error(\"`CSV#createInputStream` is deprecated. You should use `CSV#read` instead. This method will be removed in version 5.0. Please follow upgrade instruction: https://github.com/exceljs/exceljs/blob/master/UPGRADE-4.0.md\")}write(e,t){return new Promise((r,n)=>{t=t||{};const s=this.workbook.getWorksheet(t.sheetName||t.sheetId),o=i.format(t.formatterOptions);e.on(\"finish\",()=>{r()}),o.on(\"error\",n),o.pipe(e);const{dateFormat:l,dateUTC:c}=t,u=t.map||(e=>{if(e){if(e.text||e.hyperlink)return e.hyperlink||e.text||\"\";if(e.formula||e.result)return e.result||\"\";if(e instanceof Date)return l?c?a.utc(e).format(l):a(e).format(l):c?a.utc(e).format():a(e).format();if(e.error)return e.error;if(\"object\"==typeof e)return JSON.stringify(e)}return e}),h=void 0===t.includeEmptyRows||t.includeEmptyRows;let f=1;s&&s.eachRow((e,t)=>{if(h)for(;f++<t-1;)o.write([]);const{values:r}=e;r.shift(),o.write(r.map(u)),f=t}),o.end()})}writeFile(e,t){const r={encoding:(t=t||{}).encoding||\"utf8\"},i=n.createWriteStream(e,r);return this.write(i,t)}async writeBuffer(e){const t=new l;return await this.write(t,e),t.read()}}},{\"../utils/stream-buf\":24,\"../utils/utils\":27,dayjs:391,\"dayjs/plugin/customParseFormat\":392,\"dayjs/plugin/utc\":393,\"fast-csv\":424,fs:216}],2:[function(e,t,r){\"use strict\";const n=e(\"../utils/col-cache\");class i{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(this.worksheet=e,t)if(\"string\"==typeof t){const e=n.decodeAddress(t);this.nativeCol=e.col+r,this.nativeColOff=0,this.nativeRow=e.row+r,this.nativeRowOff=0}else void 0!==t.nativeCol?(this.nativeCol=t.nativeCol||0,this.nativeColOff=t.nativeColOff||0,this.nativeRow=t.nativeRow||0,this.nativeRowOff=t.nativeRowOff||0):void 0!==t.col?(this.col=t.col+r,this.row=t.row+r):(this.nativeCol=0,this.nativeColOff=0,this.nativeRow=0,this.nativeRowOff=0);else this.nativeCol=0,this.nativeColOff=0,this.nativeRow=0,this.nativeRowOff=0}static asInstance(e){return e instanceof i||null==e?e:new i(e)}get col(){return this.nativeCol+Math.min(this.colWidth-1,this.nativeColOff)/this.colWidth}set col(e){this.nativeCol=Math.floor(e),this.nativeColOff=Math.floor((e-this.nativeCol)*this.colWidth)}get row(){return this.nativeRow+Math.min(this.rowHeight-1,this.nativeRowOff)/this.rowHeight}set row(e){this.nativeRow=Math.floor(e),this.nativeRowOff=Math.floor((e-this.nativeRow)*this.rowHeight)}get colWidth(){return this.worksheet&&this.worksheet.getColumn(this.nativeCol+1)&&this.worksheet.getColumn(this.nativeCol+1).isCustomWidth?Math.floor(1e4*this.worksheet.getColumn(this.nativeCol+1).width):64e4}get rowHeight(){return this.worksheet&&this.worksheet.getRow(this.nativeRow+1)&&this.worksheet.getRow(this.nativeRow+1).height?Math.floor(1e4*this.worksheet.getRow(this.nativeRow+1).height):18e4}get model(){return{nativeCol:this.nativeCol,nativeColOff:this.nativeColOff,nativeRow:this.nativeRow,nativeRowOff:this.nativeRowOff}}set model(e){this.nativeCol=e.nativeCol,this.nativeColOff=e.nativeColOff,this.nativeRow=e.nativeRow,this.nativeRowOff=e.nativeRowOff}}t.exports=i},{\"../utils/col-cache\":19}],3:[function(e,t,r){\"use strict\";const n=e(\"../utils/col-cache\"),i=e(\"../utils/under-dash\"),s=e(\"./enums\"),{slideFormula:o}=e(\"../utils/shared-formula\"),a=e(\"./note\");class l{constructor(e,t,r){if(!e||!t)throw new Error(\"A Cell needs a Row\");this._row=e,this._column=t,n.validateAddress(r),this._address=r,this._value=c.create(l.Types.Null,this),this.style=this._mergeStyle(e.style,t.style,{}),this._mergeCount=0}get worksheet(){return this._row.worksheet}get workbook(){return this._row.worksheet.workbook}destroy(){delete this.style,delete this._value,delete this._row,delete this._column,delete this._address}get numFmt(){return this.style.numFmt}set numFmt(e){this.style.numFmt=e}get font(){return this.style.font}set font(e){this.style.font=e}get alignment(){return this.style.alignment}set alignment(e){this.style.alignment=e}get border(){return this.style.border}set border(e){this.style.border=e}get fill(){return this.style.fill}set fill(e){this.style.fill=e}get protection(){return this.style.protection}set protection(e){this.style.protection=e}_mergeStyle(e,t,r){const n=e&&e.numFmt||t&&t.numFmt;n&&(r.numFmt=n);const i=e&&e.font||t&&t.font;i&&(r.font=i);const s=e&&e.alignment||t&&t.alignment;s&&(r.alignment=s);const o=e&&e.border||t&&t.border;o&&(r.border=o);const a=e&&e.fill||t&&t.fill;a&&(r.fill=a);const l=e&&e.protection||t&&t.protection;return l&&(r.protection=l),r}get address(){return this._address}get row(){return this._row.number}get col(){return this._column.number}get $col$row(){return`$${this._column.letter}$${this.row}`}get type(){return this._value.type}get effectiveType(){return this._value.effectiveType}toCsvString(){return this._value.toCsvString()}addMergeRef(){this._mergeCount++}releaseMergeRef(){this._mergeCount--}get isMerged(){return this._mergeCount>0||this.type===l.Types.Merge}merge(e,t){this._value.release(),this._value=c.create(l.Types.Merge,this,e),t||(this.style=e.style)}unmerge(){this.type===l.Types.Merge&&(this._value.release(),this._value=c.create(l.Types.Null,this),this.style=this._mergeStyle(this._row.style,this._column.style,{}))}isMergedTo(e){return this._value.type===l.Types.Merge&&this._value.isMergedTo(e)}get master(){return this.type===l.Types.Merge?this._value.master:this}get isHyperlink(){return this._value.type===l.Types.Hyperlink}get hyperlink(){return this._value.hyperlink}get value(){return this._value.value}set value(e){this.type!==l.Types.Merge?(this._value.release(),this._value=c.create(c.getType(e),this,e)):this._value.master.value=e}get note(){return this._comment&&this._comment.note}set note(e){this._comment=new a(e)}get text(){return this._value.toString()}get html(){return i.escapeHtml(this.text)}toString(){return this.text}_upgradeToHyperlink(e){this.type===l.Types.String&&(this._value=c.create(l.Types.Hyperlink,this,{text:this._value.value,hyperlink:e}))}get formula(){return this._value.formula}get result(){return this._value.result}get formulaType(){return this._value.formulaType}get fullAddress(){const{worksheet:e}=this._row;return{sheetName:e.name,address:this.address,row:this.row,col:this.col}}get name(){return this.names[0]}set name(e){this.names=[e]}get names(){return this.workbook.definedNames.getNamesEx(this.fullAddress)}set names(e){const{definedNames:t}=this.workbook;t.removeAllNames(this.fullAddress),e.forEach(e=>{t.addEx(this.fullAddress,e)})}addName(e){this.workbook.definedNames.addEx(this.fullAddress,e)}removeName(e){this.workbook.definedNames.removeEx(this.fullAddress,e)}removeAllNames(){this.workbook.definedNames.removeAllNames(this.fullAddress)}get _dataValidations(){return this.worksheet.dataValidations}get dataValidation(){return this._dataValidations.find(this.address)}set dataValidation(e){this._dataValidations.add(this.address,e)}get model(){const{model:e}=this._value;return e.style=this.style,this._comment&&(e.comment=this._comment.model),e}set model(e){if(this._value.release(),this._value=c.create(e.type,this),this._value.model=e,e.comment)switch(e.comment.type){case\"note\":this._comment=a.fromModel(e.comment)}e.style?this.style=e.style:this.style={}}}l.Types=s.ValueType;const c={getType:e=>null==e?l.Types.Null:e instanceof String||\"string\"==typeof e?l.Types.String:\"number\"==typeof e?l.Types.Number:\"boolean\"==typeof e?l.Types.Boolean:e instanceof Date?l.Types.Date:e.text&&e.hyperlink?l.Types.Hyperlink:e.formula||e.sharedFormula?l.Types.Formula:e.richText?l.Types.RichText:e.sharedString?l.Types.SharedString:e.error?l.Types.Error:l.Types.JSON,types:[{t:l.Types.Null,f:class{constructor(e){this.model={address:e.address,type:l.Types.Null}}get value(){return null}set value(e){}get type(){return l.Types.Null}get effectiveType(){return l.Types.Null}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return\"\"}release(){}toString(){return\"\"}}},{t:l.Types.Number,f:class{constructor(e,t){this.model={address:e.address,type:l.Types.Number,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return l.Types.Number}get effectiveType(){return l.Types.Number}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.value.toString()}release(){}toString(){return this.model.value.toString()}}},{t:l.Types.String,f:class{constructor(e,t){this.model={address:e.address,type:l.Types.String,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return l.Types.String}get effectiveType(){return l.Types.String}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return`\"${this.model.value.replace(/\"/g,'\"\"')}\"`}release(){}toString(){return this.model.value}}},{t:l.Types.Date,f:class{constructor(e,t){this.model={address:e.address,type:l.Types.Date,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return l.Types.Date}get effectiveType(){return l.Types.Date}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.value.toISOString()}release(){}toString(){return this.model.value.toString()}}},{t:l.Types.Hyperlink,f:class{constructor(e,t){this.model={address:e.address,type:l.Types.Hyperlink,text:t?t.text:void 0,hyperlink:t?t.hyperlink:void 0},t&&t.tooltip&&(this.model.tooltip=t.tooltip)}get value(){const e={text:this.model.text,hyperlink:this.model.hyperlink};return this.model.tooltip&&(e.tooltip=this.model.tooltip),e}set value(e){this.model={text:e.text,hyperlink:e.hyperlink},e.tooltip&&(this.model.tooltip=e.tooltip)}get text(){return this.model.text}set text(e){this.model.text=e}get hyperlink(){return this.model.hyperlink}set hyperlink(e){this.model.hyperlink=e}get type(){return l.Types.Hyperlink}get effectiveType(){return l.Types.Hyperlink}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.hyperlink}release(){}toString(){return this.model.text}}},{t:l.Types.Formula,f:class{constructor(e,t){this.cell=e,this.model={address:e.address,type:l.Types.Formula,shareType:t?t.shareType:void 0,ref:t?t.ref:void 0,formula:t?t.formula:void 0,sharedFormula:t?t.sharedFormula:void 0,result:t?t.result:void 0}}_copyModel(e){const t={},r=r=>{const n=e[r];n&&(t[r]=n)};return r(\"formula\"),r(\"result\"),r(\"ref\"),r(\"shareType\"),r(\"sharedFormula\"),t}get value(){return this._copyModel(this.model)}set value(e){this.model=this._copyModel(e)}validate(e){switch(c.getType(e)){case l.Types.Null:case l.Types.String:case l.Types.Number:case l.Types.Date:break;case l.Types.Hyperlink:case l.Types.Formula:default:throw new Error(\"Cannot process that type of result value\")}}get dependencies(){return{ranges:this.formula.match(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\\d{1,4}:[A-Z]{1,3}\\d{1,4}/g),cells:this.formula.replace(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\\d{1,4}:[A-Z]{1,3}\\d{1,4}/g,\"\").match(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\\d{1,4}/g)}}get formula(){return this.model.formula||this._getTranslatedFormula()}set formula(e){this.model.formula=e}get formulaType(){return this.model.formula?s.FormulaType.Master:this.model.sharedFormula?s.FormulaType.Shared:s.FormulaType.None}get result(){return this.model.result}set result(e){this.model.result=e}get type(){return l.Types.Formula}get effectiveType(){const e=this.model.result;return null==e?s.ValueType.Null:e instanceof String||\"string\"==typeof e?s.ValueType.String:\"number\"==typeof e?s.ValueType.Number:e instanceof Date?s.ValueType.Date:e.text&&e.hyperlink?s.ValueType.Hyperlink:e.formula?s.ValueType.Formula:s.ValueType.Null}get address(){return this.model.address}set address(e){this.model.address=e}_getTranslatedFormula(){if(!this._translatedFormula&&this.model.sharedFormula){const{worksheet:e}=this.cell,t=e.findCell(this.model.sharedFormula);this._translatedFormula=t&&o(t.formula,t.address,this.model.address)}return this._translatedFormula}toCsvString(){return\"\"+(this.model.result||\"\")}release(){}toString(){return this.model.result?this.model.result.toString():\"\"}}},{t:l.Types.Merge,f:class{constructor(e,t){this.model={address:e.address,type:l.Types.Merge,master:t?t.address:void 0},this._master=t,t&&t.addMergeRef()}get value(){return this._master.value}set value(e){e instanceof l?(this._master&&this._master.releaseMergeRef(),e.addMergeRef(),this._master=e):this._master.value=e}isMergedTo(e){return e===this._master}get master(){return this._master}get type(){return l.Types.Merge}get effectiveType(){return this._master.effectiveType}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return\"\"}release(){this._master.releaseMergeRef()}toString(){return this.value.toString()}}},{t:l.Types.JSON,f:class{constructor(e,t){this.model={address:e.address,type:l.Types.String,value:JSON.stringify(t),rawValue:t}}get value(){return this.model.rawValue}set value(e){this.model.rawValue=e,this.model.value=JSON.stringify(e)}get type(){return l.Types.String}get effectiveType(){return l.Types.String}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.value}release(){}toString(){return this.model.value}}},{t:l.Types.SharedString,f:class{constructor(e,t){this.model={address:e.address,type:l.Types.SharedString,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return l.Types.SharedString}get effectiveType(){return l.Types.SharedString}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.value.toString()}release(){}toString(){return this.model.value.toString()}}},{t:l.Types.RichText,f:class{constructor(e,t){this.model={address:e.address,type:l.Types.String,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}toString(){return this.model.value.richText.map(e=>e.text).join(\"\")}get type(){return l.Types.RichText}get effectiveType(){return l.Types.RichText}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return`\"${this.text.replace(/\"/g,'\"\"')}\"`}release(){}}},{t:l.Types.Boolean,f:class{constructor(e,t){this.model={address:e.address,type:l.Types.Boolean,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return l.Types.Boolean}get effectiveType(){return l.Types.Boolean}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.value?1:0}release(){}toString(){return this.model.value.toString()}}},{t:l.Types.Error,f:class{constructor(e,t){this.model={address:e.address,type:l.Types.Error,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return l.Types.Error}get effectiveType(){return l.Types.Error}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.toString()}release(){}toString(){return this.model.value.error.toString()}}}].reduce((e,t)=>(e[t.t]=t.f,e),[]),create(e,t,r){const n=this.types[e];if(!n)throw new Error(\"Could not create Value of type \"+e);return new n(t,r)}};t.exports=l},{\"../utils/col-cache\":19,\"../utils/shared-formula\":23,\"../utils/under-dash\":26,\"./enums\":7,\"./note\":9}],4:[function(e,t,r){\"use strict\";const n=e(\"../utils/under-dash\"),i=e(\"./enums\"),s=e(\"../utils/col-cache\");class o{constructor(e,t,r){this._worksheet=e,this._number=t,!1!==r&&(this.defn=r)}get number(){return this._number}get worksheet(){return this._worksheet}get letter(){return s.n2l(this._number)}get isCustomWidth(){return void 0!==this.width&&9!==this.width}get defn(){return{header:this._header,key:this.key,width:this.width,style:this.style,hidden:this.hidden,outlineLevel:this.outlineLevel}}set defn(e){e?(this.key=e.key,this.width=void 0!==e.width?e.width:9,this.outlineLevel=e.outlineLevel,e.style?this.style=e.style:this.style={},this.header=e.header,this._hidden=!!e.hidden):(delete this._header,delete this._key,delete this.width,this.style={},this.outlineLevel=0)}get headers(){return this._header&&this._header instanceof Array?this._header:[this._header]}get header(){return this._header}set header(e){void 0!==e?(this._header=e,this.headers.forEach((e,t)=>{this._worksheet.getCell(t+1,this.number).value=e})):this._header=void 0}get key(){return this._key}set key(e){(this._key&&this._worksheet.getColumnKey(this._key))===this&&this._worksheet.deleteColumnKey(this._key),this._key=e,e&&this._worksheet.setColumnKey(this._key,this)}get hidden(){return!!this._hidden}set hidden(e){this._hidden=e}get outlineLevel(){return this._outlineLevel||0}set outlineLevel(e){this._outlineLevel=e}get collapsed(){return!!(this._outlineLevel&&this._outlineLevel>=this._worksheet.properties.outlineLevelCol)}toString(){return JSON.stringify({key:this.key,width:this.width,headers:this.headers.length?this.headers:void 0})}equivalentTo(e){return this.width===e.width&&this.hidden===e.hidden&&this.outlineLevel===e.outlineLevel&&n.isEqual(this.style,e.style)}get isDefault(){if(this.isCustomWidth)return!1;if(this.hidden)return!1;if(this.outlineLevel)return!1;const e=this.style;return!e||!(e.font||e.numFmt||e.alignment||e.border||e.fill||e.protection)}get headerCount(){return this.headers.length}eachCell(e,t){const r=this.number;t||(t=e,e=null),this._worksheet.eachRow(e,(e,n)=>{t(e.getCell(r),n)})}get values(){const e=[];return this.eachCell((t,r)=>{t&&t.type!==i.ValueType.Null&&(e[r]=t.value)}),e}set values(e){if(!e)return;const t=this.number;let r=0;e.hasOwnProperty(\"0\")&&(r=1),e.forEach((e,n)=>{this._worksheet.getCell(n+r,t).value=e})}_applyStyle(e,t){return this.style[e]=t,this.eachCell(r=>{r[e]=t}),t}get numFmt(){return this.style.numFmt}set numFmt(e){this._applyStyle(\"numFmt\",e)}get font(){return this.style.font}set font(e){this._applyStyle(\"font\",e)}get alignment(){return this.style.alignment}set alignment(e){this._applyStyle(\"alignment\",e)}get protection(){return this.style.protection}set protection(e){this._applyStyle(\"protection\",e)}get border(){return this.style.border}set border(e){this._applyStyle(\"border\",e)}get fill(){return this.style.fill}set fill(e){this._applyStyle(\"fill\",e)}static toModel(e){const t=[];let r=null;return e&&e.forEach((e,n)=>{e.isDefault?r&&(r=null):r&&e.equivalentTo(r)?r.max=n+1:(r={min:n+1,max:n+1,width:void 0!==e.width?e.width:9,style:e.style,isCustomWidth:e.isCustomWidth,hidden:e.hidden,outlineLevel:e.outlineLevel,collapsed:e.collapsed},t.push(r))}),t.length?t:void 0}static fromModel(e,t){const r=[];let n=1,i=0;for(t=(t=t||[]).sort((function(e,t){return e.min-t.min}));i<t.length;){const s=t[i++];for(;n<s.min;)r.push(new o(e,n++));for(;n<=s.max;)r.push(new o(e,n++,s))}return r.length?r:null}}t.exports=o},{\"../utils/col-cache\":19,\"../utils/under-dash\":26,\"./enums\":7}],5:[function(e,t,r){\"use strict\";t.exports=class{constructor(e){this.model=e||{}}add(e,t){return this.model[e]=t}find(e){return this.model[e]}remove(e){this.model[e]=void 0}}},{}],6:[function(e,t,r){\"use strict\";const n=e(\"../utils/under-dash\"),i=e(\"../utils/col-cache\"),s=e(\"../utils/cell-matrix\"),o=e(\"./range\"),a=/[$](\\w+)[$](\\d+)(:[$](\\w+)[$](\\d+))?/;t.exports=class{constructor(){this.matrixMap={}}getMatrix(e){return this.matrixMap[e]||(this.matrixMap[e]=new s)}add(e,t){const r=i.decodeEx(e);this.addEx(r,t)}addEx(e,t){const r=this.getMatrix(t);if(e.top)for(let t=e.left;t<=e.right;t++)for(let n=e.top;n<=e.bottom;n++){const s={sheetName:e.sheetName,address:i.n2l(t)+n,row:n,col:t};r.addCellEx(s)}else r.addCellEx(e)}remove(e,t){const r=i.decodeEx(e);this.removeEx(r,t)}removeEx(e,t){this.getMatrix(t).removeCellEx(e)}removeAllNames(e){n.each(this.matrixMap,t=>{t.removeCellEx(e)})}forEach(e){n.each(this.matrixMap,(t,r)=>{t.forEach(t=>{e(r,t)})})}getNames(e){return this.getNamesEx(i.decodeEx(e))}getNamesEx(e){return n.map(this.matrixMap,(t,r)=>t.findCellEx(e)&&r).filter(Boolean)}_explore(e,t){t.mark=!1;const{sheetName:r}=t,n=new o(t.row,t.col,t.row,t.col,r);let i,s;function a(i,s){const o=e.findCellAt(r,i,t.col);return!(!o||!o.mark)&&(n[s]=i,o.mark=!1,!0)}for(s=t.row-1;a(s,\"top\");s--);for(s=t.row+1;a(s,\"bottom\");s++);function l(t,i){const o=[];for(s=n.top;s<=n.bottom;s++){const n=e.findCellAt(r,s,t);if(!n||!n.mark)return!1;o.push(n)}n[i]=t;for(let e=0;e<o.length;e++)o[e].mark=!1;return!0}for(i=t.col-1;l(i,\"left\");i--);for(i=t.col+1;l(i,\"right\");i++);return n}getRanges(e,t){if(!(t=t||this.matrixMap[e]))return{name:e,ranges:[]};t.forEach(e=>{e.mark=!0});return{name:e,ranges:t.map(e=>e.mark&&this._explore(t,e)).filter(Boolean).map(e=>e.$shortRange)}}normaliseMatrix(e,t){e.forEachInSheet(t,(e,t,r)=>{e&&(e.row===t&&e.col===r||(e.row=t,e.col=r,e.address=i.n2l(r)+t))})}spliceRows(e,t,r,i){n.each(this.matrixMap,n=>{n.spliceRows(e,t,r,i),this.normaliseMatrix(n,e)})}spliceColumns(e,t,r,i){n.each(this.matrixMap,n=>{n.spliceColumns(e,t,r,i),this.normaliseMatrix(n,e)})}get model(){return n.map(this.matrixMap,(e,t)=>this.getRanges(t,e)).filter(e=>e.ranges.length)}set model(e){const t=this.matrixMap={};e.forEach(e=>{const r=t[e.name]=new s;e.ranges.forEach(e=>{a.test(e.split(\"!\").pop()||\"\")&&r.addCell(e)})})}}},{\"../utils/cell-matrix\":18,\"../utils/col-cache\":19,\"../utils/under-dash\":26,\"./range\":10}],7:[function(e,t,r){\"use strict\";t.exports={ValueType:{Null:0,Merge:1,Number:2,String:3,Date:4,Hyperlink:5,Formula:6,SharedString:7,RichText:8,Boolean:9,Error:10},FormulaType:{None:0,Master:1,Shared:2},RelationshipType:{None:0,OfficeDocument:1,Worksheet:2,CalcChain:3,SharedStrings:4,Styles:5,Theme:6,Hyperlink:7},DocumentType:{Xlsx:1},ReadingOrder:{LeftToRight:1,RightToLeft:2},ErrorValue:{NotApplicable:\"#N/A\",Ref:\"#REF!\",Name:\"#NAME?\",DivZero:\"#DIV/0!\",Null:\"#NULL!\",Value:\"#VALUE!\",Num:\"#NUM!\"}}},{}],8:[function(e,t,r){\"use strict\";const n=e(\"../utils/col-cache\"),i=e(\"./anchor\");t.exports=class{constructor(e,t){this.worksheet=e,this.model=t}get model(){switch(this.type){case\"background\":return{type:this.type,imageId:this.imageId};case\"image\":return{type:this.type,imageId:this.imageId,hyperlinks:this.range.hyperlinks,range:{tl:this.range.tl.model,br:this.range.br&&this.range.br.model,ext:this.range.ext,editAs:this.range.editAs}};default:throw new Error(\"Invalid Image Type\")}}set model(e){let{type:t,imageId:r,range:s,hyperlinks:o}=e;if(this.type=t,this.imageId=r,\"image\"===t)if(\"string\"==typeof s){const e=n.decode(s);this.range={tl:new i(this.worksheet,{col:e.left,row:e.top},-1),br:new i(this.worksheet,{col:e.right,row:e.bottom},0),editAs:\"oneCell\"}}else this.range={tl:new i(this.worksheet,s.tl,0),br:s.br&&new i(this.worksheet,s.br,0),ext:s.ext,editAs:s.editAs,hyperlinks:o||s.hyperlinks}}}},{\"../utils/col-cache\":19,\"./anchor\":2}],9:[function(e,t,r){\"use strict\";const n=e(\"../utils/under-dash\");class i{constructor(e){this.note=e}get model(){let e=null;switch(typeof this.note){case\"string\":e={type:\"note\",note:{texts:[{text:this.note}]}};break;default:e={type:\"note\",note:this.note}}return n.deepMerge({},i.DEFAULT_CONFIGS,e)}set model(e){const{note:t}=e,{texts:r}=t;1===r.length&&1===Object.keys(r[0]).length?this.note=r[0].text:this.note=t}static fromModel(e){const t=new i;return t.model=e,t}}i.DEFAULT_CONFIGS={note:{margins:{insetmode:\"auto\",inset:[.13,.13,.25,.25]},protection:{locked:\"True\",lockText:\"True\"},editAs:\"absolute\"}},t.exports=i},{\"../utils/under-dash\":26}],10:[function(e,t,r){\"use strict\";const n=e(\"../utils/col-cache\");class i{constructor(){this.decode(arguments)}setTLBR(e,t,r,i,s){if(arguments.length<4){const i=n.decodeAddress(e),o=n.decodeAddress(t);this.model={top:Math.min(i.row,o.row),left:Math.min(i.col,o.col),bottom:Math.max(i.row,o.row),right:Math.max(i.col,o.col),sheetName:r},this.setTLBR(i.row,i.col,o.row,o.col,s)}else this.model={top:Math.min(e,r),left:Math.min(t,i),bottom:Math.max(e,r),right:Math.max(t,i),sheetName:s}}decode(e){switch(e.length){case 5:this.setTLBR(e[0],e[1],e[2],e[3],e[4]);break;case 4:this.setTLBR(e[0],e[1],e[2],e[3]);break;case 3:this.setTLBR(e[0],e[1],e[2]);break;case 2:this.setTLBR(e[0],e[1]);break;case 1:{const t=e[0];if(t instanceof i)this.model={top:t.model.top,left:t.model.left,bottom:t.model.bottom,right:t.model.right,sheetName:t.sheetName};else if(t instanceof Array)this.decode(t);else if(t.top&&t.left&&t.bottom&&t.right)this.model={top:t.top,left:t.left,bottom:t.bottom,right:t.right,sheetName:t.sheetName};else{const e=n.decodeEx(t);e.top?this.model={top:e.top,left:e.left,bottom:e.bottom,right:e.right,sheetName:e.sheetName}:this.model={top:e.row,left:e.col,bottom:e.row,right:e.col,sheetName:e.sheetName}}break}case 0:this.model={top:0,left:0,bottom:0,right:0};break;default:throw new Error(\"Invalid number of arguments to _getDimensions() - \"+e.length)}}get top(){return this.model.top||1}set top(e){this.model.top=e}get left(){return this.model.left||1}set left(e){this.model.left=e}get bottom(){return this.model.bottom||1}set bottom(e){this.model.bottom=e}get right(){return this.model.right||1}set right(e){this.model.right=e}get sheetName(){return this.model.sheetName}set sheetName(e){this.model.sheetName=e}get _serialisedSheetName(){const{sheetName:e}=this.model;return e?/^[a-zA-Z0-9]*$/.test(e)?e+\"!\":`'${e}'!`:\"\"}expand(e,t,r,n){(!this.model.top||e<this.top)&&(this.top=e),(!this.model.left||t<this.left)&&(this.left=t),(!this.model.bottom||r>this.bottom)&&(this.bottom=r),(!this.model.right||n>this.right)&&(this.right=n)}expandRow(e){if(e){const{dimensions:t,number:r}=e;t&&this.expand(r,t.min,r,t.max)}}expandToAddress(e){const t=n.decodeEx(e);this.expand(t.row,t.col,t.row,t.col)}get tl(){return n.n2l(this.left)+this.top}get $t$l(){return`$${n.n2l(this.left)}$${this.top}`}get br(){return n.n2l(this.right)+this.bottom}get $b$r(){return`$${n.n2l(this.right)}$${this.bottom}`}get range(){return`${this._serialisedSheetName+this.tl}:${this.br}`}get $range(){return`${this._serialisedSheetName+this.$t$l}:${this.$b$r}`}get shortRange(){return this.count>1?this.range:this._serialisedSheetName+this.tl}get $shortRange(){return this.count>1?this.$range:this._serialisedSheetName+this.$t$l}get count(){return(1+this.bottom-this.top)*(1+this.right-this.left)}toString(){return this.range}intersects(e){return(!e.sheetName||!this.sheetName||e.sheetName===this.sheetName)&&(!(e.bottom<this.top)&&(!(e.top>this.bottom)&&(!(e.right<this.left)&&!(e.left>this.right))))}contains(e){const t=n.decodeEx(e);return this.containsEx(t)}containsEx(e){return(!e.sheetName||!this.sheetName||e.sheetName===this.sheetName)&&(e.row>=this.top&&e.row<=this.bottom&&e.col>=this.left&&e.col<=this.right)}forEachAddress(e){for(let t=this.left;t<=this.right;t++)for(let r=this.top;r<=this.bottom;r++)e(n.encodeAddress(r,t),r,t)}}t.exports=i},{\"../utils/col-cache\":19}],11:[function(e,t,r){\"use strict\";const n=e(\"../utils/under-dash\"),i=e(\"./enums\"),s=e(\"../utils/col-cache\"),o=e(\"./cell\");t.exports=class{constructor(e,t){this._worksheet=e,this._number=t,this._cells=[],this.style={},this.outlineLevel=0}get number(){return this._number}get worksheet(){return this._worksheet}commit(){this._worksheet._commitRow(this)}destroy(){delete this._worksheet,delete this._cells,delete this.style}findCell(e){return this._cells[e-1]}getCellEx(e){let t=this._cells[e.col-1];if(!t){const r=this._worksheet.getColumn(e.col);t=new o(this,r,e.address),this._cells[e.col-1]=t}return t}getCell(e){if(\"string\"==typeof e){const t=this._worksheet.getColumnKey(e);e=t?t.number:s.l2n(e)}return this._cells[e-1]||this.getCellEx({address:s.encodeAddress(this._number,e),row:this._number,col:e})}splice(e,t){const r=e+t;for(var n=arguments.length,i=new Array(n>2?n-2:0),s=2;s<n;s++)i[s-2]=arguments[s];const o=i.length-t,a=this._cells.length;let l,c,u;if(o<0)for(l=e+i.length;l<=a;l++)u=this._cells[l-1],c=this._cells[l-o-1],c?(u=this.getCell(l),u.value=c.value,u.style=c.style,u._comment=c._comment):u&&(u.value=null,u.style={},u._comment=void 0);else if(o>0)for(l=a;l>=r;l--)c=this._cells[l-1],c?(u=this.getCell(l+o),u.value=c.value,u.style=c.style,u._comment=c._comment):this._cells[l+o-1]=void 0;for(l=0;l<i.length;l++)u=this.getCell(e+l),u.value=i[l],u.style={},u._comment=void 0}eachCell(e,t){if(t||(t=e,e=null),e&&e.includeEmpty){const e=this._cells.length;for(let r=1;r<=e;r++)t(this.getCell(r),r)}else this._cells.forEach((e,r)=>{e&&e.type!==i.ValueType.Null&&t(e,r+1)})}addPageBreak(e,t){const r=this._worksheet,n=Math.max(0,e-1)||0,i=Math.max(0,t-1)||16838,s={id:this._number,max:i,man:1};n&&(s.min=n),r.rowBreaks.push(s)}get values(){const e=[];return this._cells.forEach(t=>{t&&t.type!==i.ValueType.Null&&(e[t.col]=t.value)}),e}set values(e){if(this._cells=[],e)if(e instanceof Array){let t=0;e.hasOwnProperty(\"0\")&&(t=1),e.forEach((e,r)=>{void 0!==e&&(this.getCellEx({address:s.encodeAddress(this._number,r+t),row:this._number,col:r+t}).value=e)})}else this._worksheet.eachColumnKey((t,r)=>{void 0!==e[r]&&(this.getCellEx({address:s.encodeAddress(this._number,t.number),row:this._number,col:t.number}).value=e[r])});else;}get hasValues(){return n.some(this._cells,e=>e&&e.type!==i.ValueType.Null)}get cellCount(){return this._cells.length}get actualCellCount(){let e=0;return this.eachCell(()=>{e++}),e}get dimensions(){let e=0,t=0;return this._cells.forEach(r=>{r&&r.type!==i.ValueType.Null&&((!e||e>r.col)&&(e=r.col),t<r.col&&(t=r.col))}),e>0?{min:e,max:t}:null}_applyStyle(e,t){return this.style[e]=t,this._cells.forEach(r=>{r&&(r[e]=t)}),t}get numFmt(){return this.style.numFmt}set numFmt(e){this._applyStyle(\"numFmt\",e)}get font(){return this.style.font}set font(e){this._applyStyle(\"font\",e)}get alignment(){return this.style.alignment}set alignment(e){this._applyStyle(\"alignment\",e)}get protection(){return this.style.protection}set protection(e){this._applyStyle(\"protection\",e)}get border(){return this.style.border}set border(e){this._applyStyle(\"border\",e)}get fill(){return this.style.fill}set fill(e){this._applyStyle(\"fill\",e)}get hidden(){return!!this._hidden}set hidden(e){this._hidden=e}get outlineLevel(){return this._outlineLevel||0}set outlineLevel(e){this._outlineLevel=e}get collapsed(){return!!(this._outlineLevel&&this._outlineLevel>=this._worksheet.properties.outlineLevelRow)}get model(){const e=[];let t=0,r=0;return this._cells.forEach(n=>{if(n){const i=n.model;i&&((!t||t>n.col)&&(t=n.col),r<n.col&&(r=n.col),e.push(i))}}),this.height||e.length?{cells:e,number:this.number,min:t,max:r,height:this.height,style:this.style,hidden:this.hidden,outlineLevel:this.outlineLevel,collapsed:this.collapsed}:null}set model(e){if(e.number!==this._number)throw new Error(\"Invalid row number in model\");let t;this._cells=[],e.cells.forEach(e=>{switch(e.type){case o.Types.Merge:break;default:{let r;if(e.address)r=s.decodeAddress(e.address);else if(t){const{row:e}=t,n=t.col+1;r={row:e,col:n,address:s.encodeAddress(e,n),$col$row:`$${s.n2l(n)}$${e}`}}t=r;this.getCellEx(r).model=e;break}}}),e.height?this.height=e.height:delete this.height,this.hidden=e.hidden,this.outlineLevel=e.outlineLevel||0,this.style=e.style&&JSON.parse(JSON.stringify(e.style))||{}}}},{\"../utils/col-cache\":19,\"../utils/under-dash\":26,\"./cell\":3,\"./enums\":7}],12:[function(e,t,r){\"use strict\";const n=e(\"../utils/col-cache\");class i{constructor(e,t,r){this.table=e,this.column=t,this.index=r}_set(e,t){this.table.cacheState(),this.column[e]=t}get name(){return this.column.name}set name(e){this._set(\"name\",e)}get filterButton(){return this.column.filterButton}set filterButton(e){this.column.filterButton=e}get style(){return this.column.style}set style(e){this.column.style=e}get totalsRowLabel(){return this.column.totalsRowLabel}set totalsRowLabel(e){this._set(\"totalsRowLabel\",e)}get totalsRowFunction(){return this.column.totalsRowFunction}set totalsRowFunction(e){this._set(\"totalsRowFunction\",e)}get totalsRowResult(){return this.column.totalsRowResult}set totalsRowResult(e){this._set(\"totalsRowResult\",e)}get totalsRowFormula(){return this.column.totalsRowFormula}set totalsRowFormula(e){this._set(\"totalsRowFormula\",e)}}t.exports=class{constructor(e,t){this.worksheet=e,t&&(this.table=t,this.validate(),this.store())}getFormula(e){switch(e.totalsRowFunction){case\"none\":return null;case\"average\":return`SUBTOTAL(101,${this.table.name}[${e.name}])`;case\"countNums\":return`SUBTOTAL(102,${this.table.name}[${e.name}])`;case\"count\":return`SUBTOTAL(103,${this.table.name}[${e.name}])`;case\"max\":return`SUBTOTAL(104,${this.table.name}[${e.name}])`;case\"min\":return`SUBTOTAL(105,${this.table.name}[${e.name}])`;case\"stdDev\":return`SUBTOTAL(106,${this.table.name}[${e.name}])`;case\"var\":return`SUBTOTAL(107,${this.table.name}[${e.name}])`;case\"sum\":return`SUBTOTAL(109,${this.table.name}[${e.name}])`;case\"custom\":return e.totalsRowFormula;default:throw new Error(\"Invalid Totals Row Function: \"+e.totalsRowFunction)}}get width(){return this.table.columns.length}get height(){return this.table.rows.length}get filterHeight(){return this.height+(this.table.headerRow?1:0)}get tableHeight(){return this.filterHeight+(this.table.totalsRow?1:0)}validate(){const{table:e}=this,t=(e,t,r)=>{void 0===e[t]&&(e[t]=r)};t(e,\"headerRow\",!0),t(e,\"totalsRow\",!1),t(e,\"style\",{}),t(e.style,\"theme\",\"TableStyleMedium2\"),t(e.style,\"showFirstColumn\",!1),t(e.style,\"showLastColumn\",!1),t(e.style,\"showRowStripes\",!1),t(e.style,\"showColumnStripes\",!1);const r=(e,t)=>{if(!e)throw new Error(t)};r(e.ref,\"Table must have ref\"),r(e.columns,\"Table must have column definitions\"),r(e.rows,\"Table must have row definitions\"),e.tl=n.decodeAddress(e.ref);const{row:i,col:s}=e.tl;r(i>0,\"Table must be on valid row\"),r(s>0,\"Table must be on valid col\");const{width:o,filterHeight:a,tableHeight:l}=this;e.autoFilterRef=n.encode(i,s,i+a-1,s+o-1),e.tableRef=n.encode(i,s,i+l-1,s+o-1),e.columns.forEach((e,n)=>{r(e.name,`Column ${n} must have a name`),0===n?t(e,\"totalsRowLabel\",\"Total\"):(t(e,\"totalsRowFunction\",\"none\"),e.totalsRowFormula=this.getFormula(e))})}store(){const e=(e,t)=>{t&&Object.keys(t).forEach(r=>{e[r]=t[r]})},{worksheet:t,table:r}=this,{row:n,col:i}=r.tl;let s=0;if(r.headerRow){const o=t.getRow(n+s++);r.columns.forEach((t,r)=>{const{style:n,name:s}=t,a=o.getCell(i+r);a.value=s,e(a,n)})}if(r.rows.forEach(o=>{const a=t.getRow(n+s++);o.forEach((t,n)=>{const s=a.getCell(i+n);s.value=t,e(s,r.columns[n].style)})}),r.totalsRow){const o=t.getRow(n+s++);r.columns.forEach((t,r)=>{const n=o.getCell(i+r);if(0===r)n.value=t.totalsRowLabel;else{const e=this.getFormula(t);n.value=e?{formula:t.totalsRowFormula,result:t.totalsRowResult}:null}e(n,t.style)})}}load(e){const{table:t}=this,{row:r,col:n}=t.tl;let i=0;if(t.headerRow){const s=e.getRow(r+i++);t.columns.forEach((e,t)=>{s.getCell(n+t).value=e.name})}if(t.rows.forEach(t=>{const s=e.getRow(r+i++);t.forEach((e,t)=>{s.getCell(n+t).value=e})}),t.totalsRow){const s=e.getRow(r+i++);t.columns.forEach((e,t)=>{const r=s.getCell(n+t);if(0===t)r.value=e.totalsRowLabel;else{this.getFormula(e)&&(r.value={formula:e.totalsRowFormula,result:e.totalsRowResult})}})}}get model(){return this.table}set model(e){this.table=e}cacheState(){this._cache||(this._cache={ref:this.ref,width:this.width,tableHeight:this.tableHeight})}commit(){if(!this._cache)return;this.validate();const e=n.decodeAddress(this._cache.ref);if(this.ref!==this._cache.ref)for(let t=0;t<this._cache.tableHeight;t++){const r=this.worksheet.getRow(e.row+t);for(let t=0;t<this._cache.width;t++){r.getCell(e.col+t).value=null}}else{for(let t=this.tableHeight;t<this._cache.tableHeight;t++){const r=this.worksheet.getRow(e.row+t);for(let t=0;t<this._cache.width;t++){r.getCell(e.col+t).value=null}}for(let t=0;t<this.tableHeight;t++){const r=this.worksheet.getRow(e.row+t);for(let t=this.width;t<this._cache.width;t++){r.getCell(e.col+t).value=null}}}this.store()}addRow(e,t){this.cacheState(),void 0===t?this.table.rows.push(e):this.table.rows.splice(t,0,e)}removeRows(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.cacheState(),this.table.rows.splice(e,t)}getColumn(e){const t=this.table.columns[e];return new i(this,t,e)}addColumn(e,t,r){this.cacheState(),void 0===r?(this.table.columns.push(e),this.table.rows.forEach((e,r)=>{e.push(t[r])})):(this.table.columns.splice(r,0,e),this.table.rows.forEach((e,n)=>{e.splice(r,0,t[n])}))}removeColumns(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.cacheState(),this.table.columns.splice(e,t),this.table.rows.forEach(r=>{r.splice(e,t)})}_assign(e,t,r){this.cacheState(),e[t]=r}get ref(){return this.table.ref}set ref(e){this._assign(this.table,\"ref\",e)}get name(){return this.table.name}set name(e){this.table.name=e}get displayName(){return this.table.displyName||this.table.name}set displayNamename(e){this.table.displayName=e}get headerRow(){return this.table.headerRow}set headerRow(e){this._assign(this.table,\"headerRow\",e)}get totalsRow(){return this.table.totalsRow}set totalsRow(e){this._assign(this.table,\"totalsRow\",e)}get theme(){return this.table.style.name}set theme(e){this.table.style.name=e}get showFirstColumn(){return this.table.style.showFirstColumn}set showFirstColumn(e){this.table.style.showFirstColumn=e}get showLastColumn(){return this.table.style.showLastColumn}set showLastColumn(e){this.table.style.showLastColumn=e}get showRowStripes(){return this.table.style.showRowStripes}set showRowStripes(e){this.table.style.showRowStripes=e}get showColumnStripes(){return this.table.style.showColumnStripes}set showColumnStripes(e){this.table.style.showColumnStripes=e}}},{\"../utils/col-cache\":19}],13:[function(e,t,r){\"use strict\";const n=e(\"./worksheet\"),i=e(\"./defined-names\"),s=e(\"../xlsx/xlsx\"),o=e(\"../csv/csv\");t.exports=class{constructor(){this.category=\"\",this.company=\"\",this.created=new Date,this.description=\"\",this.keywords=\"\",this.manager=\"\",this.modified=this.created,this.properties={},this.calcProperties={},this._worksheets=[],this.subject=\"\",this.title=\"\",this.views=[],this.media=[],this._definedNames=new i}get xlsx(){return this._xlsx||(this._xlsx=new s(this)),this._xlsx}get csv(){return this._csv||(this._csv=new o(this)),this._csv}get nextId(){for(let e=1;e<this._worksheets.length;e++)if(!this._worksheets[e])return e;return this._worksheets.length||1}addWorksheet(e,t){const r=this.nextId;t&&(\"string\"==typeof t?(console.trace('tabColor argument is now deprecated. Please use workbook.addWorksheet(name, {properties: { tabColor: { argb: \"rbg value\" } }'),t={properties:{tabColor:{argb:t}}}):(t.argb||t.theme||t.indexed)&&(console.trace(\"tabColor argument is now deprecated. Please use workbook.addWorksheet(name, {properties: { tabColor: { ... } }\"),t={properties:{tabColor:t}}));const i=this._worksheets.reduce((e,t)=>(t&&t.orderNo)>e?t.orderNo:e,0),s=Object.assign({},t,{id:r,name:e,orderNo:i+1,workbook:this}),o=new n(s);return this._worksheets[r]=o,o}removeWorksheetEx(e){delete this._worksheets[e.id]}removeWorksheet(e){const t=this.getWorksheet(e);t&&t.destroy()}getWorksheet(e){return void 0===e?this._worksheets.find(Boolean):\"number\"==typeof e?this._worksheets[e]:\"string\"==typeof e?this._worksheets.find(t=>t&&t.name===e):void 0}get worksheets(){return this._worksheets.slice(1).sort((e,t)=>e.orderNo-t.orderNo).filter(Boolean)}eachSheet(e){this.worksheets.forEach(t=>{e(t,t.id)})}get definedNames(){return this._definedNames}clearThemes(){this._themes=void 0}addImage(e){const t=this.media.length;return this.media.push(Object.assign({},e,{type:\"image\"})),t}getImage(e){return this.media[e]}get model(){return{creator:this.creator||\"Unknown\",lastModifiedBy:this.lastModifiedBy||\"Unknown\",lastPrinted:this.lastPrinted,created:this.created,modified:this.modified,properties:this.properties,worksheets:this.worksheets.map(e=>e.model),sheets:this.worksheets.map(e=>e.model).filter(Boolean),definedNames:this._definedNames.model,views:this.views,company:this.company,manager:this.manager,title:this.title,subject:this.subject,keywords:this.keywords,category:this.category,description:this.description,language:this.language,revision:this.revision,contentStatus:this.contentStatus,themes:this._themes,media:this.media,calcProperties:this.calcProperties}}set model(e){this.creator=e.creator,this.lastModifiedBy=e.lastModifiedBy,this.lastPrinted=e.lastPrinted,this.created=e.created,this.modified=e.modified,this.company=e.company,this.manager=e.manager,this.title=e.title,this.subject=e.subject,this.keywords=e.keywords,this.category=e.category,this.description=e.description,this.language=e.language,this.revision=e.revision,this.contentStatus=e.contentStatus,this.properties=e.properties,this.calcProperties=e.calcProperties,this._worksheets=[],e.worksheets.forEach(t=>{const{id:r,name:i,state:s}=t,o=e.sheets&&e.sheets.findIndex(e=>e.id===r);(this._worksheets[r]=new n({id:r,name:i,orderNo:o,state:s,workbook:this})).model=t}),this._definedNames.model=e.definedNames,this.views=e.views,this._themes=e.themes,this.media=e.media||[]}}},{\"../csv/csv\":1,\"../xlsx/xlsx\":144,\"./defined-names\":6,\"./worksheet\":14}],14:[function(e,t,r){\"use strict\";const n=e(\"../utils/under-dash\"),i=e(\"../utils/col-cache\"),s=e(\"./range\"),o=e(\"./row\"),a=e(\"./column\"),l=e(\"./enums\"),c=e(\"./image\"),u=e(\"./table\"),h=e(\"./data-validations\"),f=e(\"../utils/encryptor\"),{copyStyle:d}=e(\"../utils/copy-style\");t.exports=class{constructor(e){e=e||{},this._workbook=e.workbook,this.id=e.id,this.orderNo=e.orderNo,this.name=e.name,this.state=e.state||\"visible\",this._rows=[],this._columns=null,this._keys={},this._merges={},this.rowBreaks=[],this.properties=Object.assign({},{defaultRowHeight:15,dyDescent:55,outlineLevelCol:0,outlineLevelRow:0},e.properties),this.pageSetup=Object.assign({},{margins:{left:.7,right:.7,top:.75,bottom:.75,header:.3,footer:.3},orientation:\"portrait\",horizontalDpi:4294967295,verticalDpi:4294967295,fitToPage:!(!e.pageSetup||!e.pageSetup.fitToWidth&&!e.pageSetup.fitToHeight||e.pageSetup.scale),pageOrder:\"downThenOver\",blackAndWhite:!1,draft:!1,cellComments:\"None\",errors:\"displayed\",scale:100,fitToWidth:1,fitToHeight:1,paperSize:void 0,showRowColHeaders:!1,showGridLines:!1,firstPageNumber:void 0,horizontalCentered:!1,verticalCentered:!1,rowBreaks:null,colBreaks:null},e.pageSetup),this.headerFooter=Object.assign({},{differentFirst:!1,differentOddEven:!1,oddHeader:null,oddFooter:null,evenHeader:null,evenFooter:null,firstHeader:null,firstFooter:null},e.headerFooter),this.dataValidations=new h,this.views=e.views||[],this.autoFilter=e.autoFilter||null,this._media=[],this.sheetProtection=null,this.tables={},this.conditionalFormattings=[]}get name(){return this._name}set name(e){if(void 0===e&&(e=\"sheet\"+this.id),this._name!==e){if(\"string\"!=typeof e)throw new Error(\"The name has to be a string.\");if(\"\"===e)throw new Error(\"The name can't be empty.\");if(\"History\"===e)throw new Error('The name \"History\" is protected. Please use a different name.');if(/[*?:/\\\\[\\]]/.test(e))throw new Error(`Worksheet name ${e} cannot include any of the following characters: * ? : \\\\ / [ ]`);if(/(^')|('$)/.test(e))throw new Error(\"The first or last character of worksheet name cannot be a single quotation mark: \"+e);if(e&&e.length>31&&(console.warn(`Worksheet name ${e} exceeds 31 chars. This will be truncated`),e=e.substring(0,31)),this._workbook._worksheets.find(t=>t&&t.name.toLowerCase()===e.toLowerCase()))throw new Error(\"Worksheet name already exists: \"+e);this._name=e}}get workbook(){return this._workbook}destroy(){this._workbook.removeWorksheetEx(this)}get dimensions(){const e=new s;return this._rows.forEach(t=>{if(t){const r=t.dimensions;r&&e.expand(t.number,r.min,t.number,r.max)}}),e}get columns(){return this._columns}set columns(e){this._headerRowCount=e.reduce((e,t)=>{const r=(t.header?1:t.headers&&t.headers.length)||0;return Math.max(e,r)},0);let t=1;const r=this._columns=[];e.forEach(e=>{const n=new a(this,t++,!1);r.push(n),n.defn=e})}getColumnKey(e){return this._keys[e]}setColumnKey(e,t){this._keys[e]=t}deleteColumnKey(e){delete this._keys[e]}eachColumnKey(e){n.each(this._keys,e)}getColumn(e){if(\"string\"==typeof e){const t=this._keys[e];if(t)return t;e=i.l2n(e)}if(this._columns||(this._columns=[]),e>this._columns.length){let t=this._columns.length+1;for(;t<=e;)this._columns.push(new a(this,t++))}return this._columns[e-1]}spliceColumns(e,t){const r=this._rows.length;for(var n=arguments.length,i=new Array(n>2?n-2:0),s=2;s<n;s++)i[s-2]=arguments[s];if(i.length>0)for(let n=0;n<r;n++){const r=[e,t];i.forEach(e=>{r.push(e[n]||null)});const s=this.getRow(n+1);s.splice.apply(s,r)}else this._rows.forEach(r=>{r&&r.splice(e,t)});const o=i.length-t,a=e+t,l=this._columns.length;if(o<0)for(let t=e+i.length;t<=l;t++)this.getColumn(t).defn=this.getColumn(t-o).defn;else if(o>0)for(let e=l;e>=a;e--)this.getColumn(e+o).defn=this.getColumn(e).defn;for(let t=e;t<e+i.length;t++)this.getColumn(t).defn=null;this.workbook.definedNames.spliceColumns(this.name,e,t,i.length)}get lastColumn(){return this.getColumn(this.columnCount)}get columnCount(){let e=0;return this.eachRow(t=>{e=Math.max(e,t.cellCount)}),e}get actualColumnCount(){const e=[];let t=0;return this.eachRow(r=>{r.eachCell(r=>{let{col:n}=r;e[n]||(e[n]=!0,t++)})}),t}_commitRow(){}get _lastRowNumber(){const e=this._rows;let t=e.length;for(;t>0&&void 0===e[t-1];)t--;return t}get _nextRow(){return this._lastRowNumber+1}get lastRow(){if(this._rows.length)return this._rows[this._rows.length-1]}findRow(e){return this._rows[e-1]}findRows(e,t){return this._rows.slice(e-1,e-1+t)}get rowCount(){return this._lastRowNumber}get actualRowCount(){let e=0;return this.eachRow(()=>{e++}),e}getRow(e){let t=this._rows[e-1];return t||(t=this._rows[e-1]=new o(this,e)),t}getRows(e,t){if(t<1)return;const r=[];for(let n=e;n<e+t;n++)r.push(this.getRow(n));return r}addRow(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"n\";const r=this._nextRow,n=this.getRow(r);return n.values=e,this._setStyleOption(r,\"i\"===t[0]?t:\"n\"),n}addRows(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"n\";const r=[];return e.forEach(e=>{r.push(this.addRow(e,t))}),r}insertRow(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"n\";return this.spliceRows(e,0,t),this._setStyleOption(e,r),this.getRow(e)}insertRows(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"n\";if(this.spliceRows(e,0,...t),\"n\"!==r)for(let n=0;n<t.length;n++)\"o\"===r[0]&&void 0!==this.findRow(t.length+e+n)?this._copyStyle(t.length+e+n,e+n,\"+\"===r[1]):\"i\"===r[0]&&void 0!==this.findRow(e-1)&&this._copyStyle(e-1,e+n,\"+\"===r[1]);return this.getRows(e,t.length)}_setStyleOption(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"n\";\"o\"===t[0]&&void 0!==this.findRow(e+1)?this._copyStyle(e+1,e,\"+\"===t[1]):\"i\"===t[0]&&void 0!==this.findRow(e-1)&&this._copyStyle(e-1,e,\"+\"===t[1])}_copyStyle(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n=this.getRow(e),i=this.getRow(t);i.style=d(n.style),n.eachCell({includeEmpty:r},(e,t)=>{i.getCell(t).style=d(e.style)}),i.height=n.height}duplicateRow(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n=this._rows[e-1],i=new Array(t).fill(n.values);this.spliceRows(e+1,r?0:t,...i);for(let r=0;r<t;r++){const t=this._rows[e+r];t.style=n.style,t.height=n.height,n.eachCell({includeEmpty:!0},(e,r)=>{t.getCell(r).style=e.style})}}spliceRows(e,t){const r=e+t;for(var n=arguments.length,i=new Array(n>2?n-2:0),s=2;s<n;s++)i[s-2]=arguments[s];const o=i.length,a=o-t,l=this._rows.length;let c,u;if(a<0)for(e===l&&(this._rows[l-1]=void 0),c=r;c<=l;c++)if(u=this._rows[c-1],u){const e=this.getRow(c+a);e.values=u.values,e.style=u.style,e.height=u.height,u.eachCell({includeEmpty:!0},(t,r)=>{e.getCell(r).style=t.style}),this._rows[c-1]=void 0}else this._rows[c+a-1]=void 0;else if(a>0)for(c=l;c>=r;c--)if(u=this._rows[c-1],u){const e=this.getRow(c+a);e.values=u.values,e.style=u.style,e.height=u.height,u.eachCell({includeEmpty:!0},(t,r)=>{if(e.getCell(r).style=t.style,\"MergeValue\"===t._value.constructor.name){const e=this.getRow(t._row._number+o).getCell(r),n=t._value._master,i=this.getRow(n._row._number+o).getCell(n._column._number);e.merge(i)}})}else this._rows[c+a-1]=void 0;for(c=0;c<o;c++){const t=this.getRow(e+c);t.style={},t.values=i[c]}this.workbook.definedNames.spliceRows(this.name,e,t,o)}eachRow(e,t){if(t||(t=e,e=void 0),e&&e.includeEmpty){const e=this._rows.length;for(let r=1;r<=e;r++)t(this.getRow(r),r)}else this._rows.forEach(e=>{e&&e.hasValues&&t(e,e.number)})}getSheetValues(){const e=[];return this._rows.forEach(t=>{t&&(e[t.number]=t.values)}),e}findCell(e,t){const r=i.getAddress(e,t),n=this._rows[r.row-1];return n?n.findCell(r.col):void 0}getCell(e,t){const r=i.getAddress(e,t);return this.getRow(r.row).getCellEx(r)}mergeCells(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];const n=new s(t);this._mergeCellsInternal(n)}mergeCellsWithoutStyle(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];const n=new s(t);this._mergeCellsInternal(n,!0)}_mergeCellsInternal(e,t){n.each(this._merges,t=>{if(t.intersects(e))throw new Error(\"Cannot merge already merged cells\")});const r=this.getCell(e.top,e.left);for(let n=e.top;n<=e.bottom;n++)for(let i=e.left;i<=e.right;i++)(n>e.top||i>e.left)&&this.getCell(n,i).merge(r,t);this._merges[r.address]=e}_unMergeMaster(e){const t=this._merges[e.address];if(t){for(let e=t.top;e<=t.bottom;e++)for(let r=t.left;r<=t.right;r++)this.getCell(e,r).unmerge();delete this._merges[e.address]}}get hasMerges(){return n.some(this._merges,Boolean)}unMergeCells(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];const n=new s(t);for(let e=n.top;e<=n.bottom;e++)for(let t=n.left;t<=n.right;t++){const r=this.findCell(e,t);r&&(r.type===l.ValueType.Merge?this._unMergeMaster(r.master):this._merges[r.address]&&this._unMergeMaster(r))}}fillFormula(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"shared\";const s=i.decode(e),{top:o,left:a,bottom:l,right:c}=s,u=c-a+1,h=i.encodeAddress(o,a),f=\"shared\"===n;let d;d=\"function\"==typeof r?r:Array.isArray(r)?Array.isArray(r[0])?(e,t)=>r[e-o][t-a]:(e,t)=>r[(e-o)*u+(t-a)]:()=>{};let p=!0;for(let r=o;r<=l;r++)for(let i=a;i<=c;i++)p?(this.getCell(r,i).value={shareType:n,formula:t,ref:e,result:d(r,i)},p=!1):this.getCell(r,i).value=f?{sharedFormula:h,result:d(r,i)}:d(r,i)}addImage(e,t){const r={type:\"image\",imageId:e,range:t};this._media.push(new c(this,r))}getImages(){return this._media.filter(e=>\"image\"===e.type)}addBackgroundImage(e){const t={type:\"background\",imageId:e};this._media.push(new c(this,t))}getBackgroundImageId(){const e=this._media.find(e=>\"background\"===e.type);return e&&e.imageId}protect(e,t){return new Promise(r=>{this.sheetProtection={sheet:!0},t&&\"spinCount\"in t&&(t.spinCount=Number.isFinite(t.spinCount)?Math.round(Math.max(0,t.spinCount)):1e5),e&&(this.sheetProtection.algorithmName=\"SHA-512\",this.sheetProtection.saltValue=f.randomBytes(16).toString(\"base64\"),this.sheetProtection.spinCount=t&&\"spinCount\"in t?t.spinCount:1e5,this.sheetProtection.hashValue=f.convertPasswordToHash(e,\"SHA512\",this.sheetProtection.saltValue,this.sheetProtection.spinCount)),t&&(this.sheetProtection=Object.assign(this.sheetProtection,t),!e&&\"spinCount\"in t&&delete this.sheetProtection.spinCount),r()})}unprotect(){this.sheetProtection=null}addTable(e){const t=new u(this,e);return this.tables[e.name]=t,t}getTable(e){return this.tables[e]}removeTable(e){delete this.tables[e]}getTables(){return Object.values(this.tables)}addConditionalFormatting(e){this.conditionalFormattings.push(e)}removeConditionalFormatting(e){\"number\"==typeof e?this.conditionalFormattings.splice(e,1):this.conditionalFormattings=e instanceof Function?this.conditionalFormattings.filter(e):[]}get tabColor(){return console.trace(\"worksheet.tabColor property is now deprecated. Please use worksheet.properties.tabColor\"),this.properties.tabColor}set tabColor(e){console.trace(\"worksheet.tabColor property is now deprecated. Please use worksheet.properties.tabColor\"),this.properties.tabColor=e}get model(){const e={id:this.id,name:this.name,dataValidations:this.dataValidations.model,properties:this.properties,state:this.state,pageSetup:this.pageSetup,headerFooter:this.headerFooter,rowBreaks:this.rowBreaks,views:this.views,autoFilter:this.autoFilter,media:this._media.map(e=>e.model),sheetProtection:this.sheetProtection,tables:Object.values(this.tables).map(e=>e.model),conditionalFormattings:this.conditionalFormattings};e.cols=a.toModel(this.columns);const t=e.rows=[],r=e.dimensions=new s;return this._rows.forEach(e=>{const n=e&&e.model;n&&(r.expand(n.number,n.min,n.number,n.max),t.push(n))}),e.merges=[],n.each(this._merges,t=>{e.merges.push(t.range)}),e}_parseRows(e){this._rows=[],e.rows.forEach(e=>{const t=new o(this,e.number);this._rows[t.number-1]=t,t.model=e})}_parseMergeCells(e){n.each(e.mergeCells,e=>{this.mergeCellsWithoutStyle(e)})}set model(e){this.name=e.name,this._columns=a.fromModel(this,e.cols),this._parseRows(e),this._parseMergeCells(e),this.dataValidations=new h(e.dataValidations),this.properties=e.properties,this.pageSetup=e.pageSetup,this.headerFooter=e.headerFooter,this.views=e.views,this.autoFilter=e.autoFilter,this._media=e.media.map(e=>new c(this,e)),this.sheetProtection=e.sheetProtection,this.tables=e.tables.reduce((e,t)=>{const r=new u;return r.model=t,e[t.name]=r,e},{}),this.conditionalFormattings=e.conditionalFormattings}}},{\"../utils/col-cache\":19,\"../utils/copy-style\":20,\"../utils/encryptor\":21,\"../utils/under-dash\":26,\"./column\":4,\"./data-validations\":5,\"./enums\":7,\"./image\":8,\"./range\":10,\"./row\":11,\"./table\":12}],15:[function(e,t,r){\"use strict\";e(\"core-js/modules/es.promise\"),e(\"core-js/modules/es.promise.finally\"),e(\"core-js/modules/es.object.assign\"),e(\"core-js/modules/es.object.keys\"),e(\"core-js/modules/es.object.values\"),e(\"core-js/modules/es.symbol\"),e(\"core-js/modules/es.symbol.async-iterator\"),e(\"core-js/modules/es.array.iterator\"),e(\"core-js/modules/es.array.includes\"),e(\"core-js/modules/es.array.find-index\"),e(\"core-js/modules/es.array.find\"),e(\"core-js/modules/es.string.from-code-point\"),e(\"core-js/modules/es.string.includes\"),e(\"core-js/modules/es.number.is-nan\"),e(\"regenerator-runtime/runtime\");const n={Workbook:e(\"./doc/workbook\")},i=e(\"./doc/enums\");Object.keys(i).forEach(e=>{n[e]=i[e]}),t.exports=n},{\"./doc/enums\":7,\"./doc/workbook\":13,\"core-js/modules/es.array.find\":359,\"core-js/modules/es.array.find-index\":358,\"core-js/modules/es.array.includes\":360,\"core-js/modules/es.array.iterator\":361,\"core-js/modules/es.number.is-nan\":363,\"core-js/modules/es.object.assign\":364,\"core-js/modules/es.object.keys\":366,\"core-js/modules/es.object.values\":367,\"core-js/modules/es.promise\":372,\"core-js/modules/es.promise.finally\":371,\"core-js/modules/es.string.from-code-point\":376,\"core-js/modules/es.string.includes\":377,\"core-js/modules/es.symbol\":381,\"core-js/modules/es.symbol.async-iterator\":378,\"regenerator-runtime/runtime\":492}],16:[function(e,t,r){\"use strict\";const n=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf-8\");r.bufferToString=function(e){return\"string\"==typeof e?e:n?n.decode(e):e.toString()}},{}],17:[function(e,t,r){\"use strict\";const n=\"undefined\"==typeof TextEncoder?null:new TextEncoder(\"utf-8\"),{Buffer:i}=e(\"buffer\");r.stringToBuffer=function(e){return\"string\"!=typeof e?e:n?i.from(n.encode(e).buffer):i.from(e)}},{buffer:220}],18:[function(e,t,r){\"use strict\";const n=e(\"./under-dash\"),i=e(\"./col-cache\");t.exports=class{constructor(e){this.template=e,this.sheets={}}addCell(e){this.addCellEx(i.decodeEx(e))}getCell(e){return this.findCellEx(i.decodeEx(e),!0)}findCell(e){return this.findCellEx(i.decodeEx(e),!1)}findCellAt(e,t,r){const n=this.sheets[e],i=n&&n[t];return i&&i[r]}addCellEx(e){if(e.top)for(let t=e.top;t<=e.bottom;t++)for(let r=e.left;r<=e.right;r++)this.getCellAt(e.sheetName,t,r);else this.findCellEx(e,!0)}getCellEx(e){return this.findCellEx(e,!0)}findCellEx(e,t){const r=this.findSheet(e,t),n=this.findSheetRow(r,e,t);return this.findRowCell(n,e,t)}getCellAt(e,t,r){const n=this.sheets[e]||(this.sheets[e]=[]),s=n[t]||(n[t]=[]);return s[r]||(s[r]={sheetName:e,address:i.n2l(r)+t,row:t,col:r})}removeCellEx(e){const t=this.findSheet(e);if(!t)return;const r=this.findSheetRow(t,e);r&&delete r[e.col]}forEachInSheet(e,t){const r=this.sheets[e];r&&r.forEach((e,r)=>{e&&e.forEach((e,n)=>{e&&t(e,r,n)})})}forEach(e){n.each(this.sheets,(t,r)=>{this.forEachInSheet(r,e)})}map(e){const t=[];return this.forEach(r=>{t.push(e(r))}),t}findSheet(e,t){const r=e.sheetName;return this.sheets[r]?this.sheets[r]:t?this.sheets[r]=[]:void 0}findSheetRow(e,t,r){const{row:n}=t;return e&&e[n]?e[n]:r?e[n]=[]:void 0}findRowCell(e,t,r){const{col:n}=t;return e&&e[n]?e[n]:r?e[n]=this.template?Object.assign(t,JSON.parse(JSON.stringify(this.template))):t:void 0}spliceRows(e,t,r,n){const i=this.sheets[e];if(i){const e=[];for(let t=0;t<n;t++)e.push([]);i.splice(t,r,...e)}}spliceColumns(e,t,r,i){const s=this.sheets[e];if(s){const e=[];for(let t=0;t<i;t++)e.push(null);n.each(s,n=>{n.splice(t,r,...e)})}}}},{\"./col-cache\":19,\"./under-dash\":26}],19:[function(e,t,r){\"use strict\";const n=/^[A-Z]+\\d+$/,i={_dictionary:[\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"I\",\"J\",\"K\",\"L\",\"M\",\"N\",\"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\"],_l2nFill:0,_l2n:{},_n2l:[],_level:e=>e<=26?1:e<=676?2:3,_fill(e){let t,r,n,i,s,o=1;if(e>=4)throw new Error(\"Out of bounds. Excel supports columns from 1 to 16384\");if(this._l2nFill<1&&e>=1){for(;o<=26;)t=this._dictionary[o-1],this._n2l[o]=t,this._l2n[t]=o,o++;this._l2nFill=1}if(this._l2nFill<2&&e>=2){for(o=27;o<=702;)r=o-27,n=r%26,i=Math.floor(r/26),t=this._dictionary[i]+this._dictionary[n],this._n2l[o]=t,this._l2n[t]=o,o++;this._l2nFill=2}if(this._l2nFill<3&&e>=3){for(o=703;o<=16384;)r=o-703,n=r%26,i=Math.floor(r/26)%26,s=Math.floor(r/676),t=this._dictionary[s]+this._dictionary[i]+this._dictionary[n],this._n2l[o]=t,this._l2n[t]=o,o++;this._l2nFill=3}},l2n(e){if(this._l2n[e]||this._fill(e.length),!this._l2n[e])throw new Error(\"Out of bounds. Invalid column letter: \"+e);return this._l2n[e]},n2l(e){if(e<1||e>16384)throw new Error(e+\" is out of bounds. Excel supports columns from 1 to 16384\");return this._n2l[e]||this._fill(this._level(e)),this._n2l[e]},_hash:{},validateAddress(e){if(!n.test(e))throw new Error(\"Invalid Address: \"+e);return!0},decodeAddress(e){const t=e.length<5&&this._hash[e];if(t)return t;let r=!1,n=\"\",i=0,s=!1,o=\"\",a=0;for(let t,l=0;l<e.length;l++)if(t=e.charCodeAt(l),!s&&t>=65&&t<=90)r=!0,n+=e[l],i=26*i+t-64;else if(t>=48&&t<=57)s=!0,o+=e[l],a=10*a+t-48;else if(s&&r&&36!==t)break;if(r){if(i>16384)throw new Error(\"Out of bounds. Invalid column letter: \"+n)}else i=void 0;s||(a=void 0);const l={address:e=n+o,col:i,row:a,$col$row:`$${n}$${o}`};return i<=100&&a<=100&&(this._hash[e]=l,this._hash[l.$col$row]=l),l},getAddress(e,t){if(t){const r=this.n2l(t)+e;return this.decodeAddress(r)}return this.decodeAddress(e)},decode(e){const t=e.split(\":\");if(2===t.length){const e=this.decodeAddress(t[0]),r=this.decodeAddress(t[1]),n={top:Math.min(e.row,r.row),left:Math.min(e.col,r.col),bottom:Math.max(e.row,r.row),right:Math.max(e.col,r.col)};return n.tl=this.n2l(n.left)+n.top,n.br=this.n2l(n.right)+n.bottom,n.dimensions=`${n.tl}:${n.br}`,n}return this.decodeAddress(e)},decodeEx(e){const t=e.match(/(?:(?:(?:'((?:[^']|'')*)')|([^'^ !]*))!)?(.*)/),r=t[1]||t[2],n=t[3],i=n.split(\":\");if(i.length>1){let e=this.decodeAddress(i[0]),t=this.decodeAddress(i[1]);const n=Math.min(e.row,t.row),s=Math.min(e.col,t.col),o=Math.max(e.row,t.row),a=Math.max(e.col,t.col);return e=this.n2l(s)+n,t=this.n2l(a)+o,{top:n,left:s,bottom:o,right:a,sheetName:r,tl:{address:e,col:s,row:n,$col$row:`$${this.n2l(s)}$${n}`,sheetName:r},br:{address:t,col:a,row:o,$col$row:`$${this.n2l(a)}$${o}`,sheetName:r},dimensions:`${e}:${t}`}}if(n.startsWith(\"#\"))return r?{sheetName:r,error:n}:{error:n};const s=this.decodeAddress(n);return r?{sheetName:r,...s}:s},encodeAddress:(e,t)=>i.n2l(t)+e,encode(){switch(arguments.length){case 2:return i.encodeAddress(arguments[0],arguments[1]);case 4:return`${i.encodeAddress(arguments[0],arguments[1])}:${i.encodeAddress(arguments[2],arguments[3])}`;default:throw new Error(\"Can only encode with 2 or 4 arguments\")}},inRange(e,t){const[r,n,,i,s]=e,[o,a]=t;return o>=r&&o<=i&&a>=n&&a<=s}};t.exports=i},{}],20:[function(e,t,r){\"use strict\";const n=(e,t)=>({...e,...t.reduce((t,r)=>(e[r]&&(t[r]={...e[r]}),t),{})}),i=function(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];e[r]&&(t[r]=n(e[r],i))};r.copyStyle=e=>{if(!e)return e;if(t=e,0===Object.keys(t).length)return{};var t;const r={...e};return i(e,r,\"font\",[\"color\"]),i(e,r,\"alignment\"),i(e,r,\"protection\"),e.border&&(i(e,r,\"border\"),i(e.border,r.border,\"top\",[\"color\"]),i(e.border,r.border,\"left\",[\"color\"]),i(e.border,r.border,\"bottom\",[\"color\"]),i(e.border,r.border,\"right\",[\"color\"]),i(e.border,r.border,\"diagonal\",[\"color\"])),e.fill&&(i(e,r,\"fill\",[\"fgColor\",\"bgColor\",\"center\"]),e.fill.stops&&(r.fill.stops=e.fill.stops.map(e=>n(e,[\"color\"])))),r}},{}],21:[function(e,t,r){(function(r){(function(){\"use strict\";const n=e(\"crypto\"),i={hash(e){const t=n.createHash(e);for(var i=arguments.length,s=new Array(i>1?i-1:0),o=1;o<i;o++)s[o-1]=arguments[o];return t.update(r.concat(s)),t.digest()},convertPasswordToHash(e,t,i,s){t=t.toLowerCase();if(n.getHashes().indexOf(t)<0)throw new Error(`Hash algorithm '${t}' not supported!`);const o=r.from(e,\"utf16le\");let a=this.hash(t,r.from(i,\"base64\"),o);for(let e=0;e<s;e++){const n=r.alloc(4);n.writeUInt32LE(e,0),a=this.hash(t,a,n)}return a.toString(\"base64\")},randomBytes:e=>n.randomBytes(e)};t.exports=i}).call(this)}).call(this,e(\"buffer\").Buffer)},{buffer:220,crypto:390}],22:[function(e,t,r){\"use strict\";const{SaxesParser:n}=e(\"saxes\"),{PassThrough:i}=e(\"readable-stream\"),{bufferToString:s}=e(\"./browser-buffer-decode\");t.exports=async function*(e){e.pipe&&!e[Symbol.asyncIterator]&&(e=e.pipe(new i));const t=new n;let r;t.on(\"error\",e=>{r=e});let o=[];t.on(\"opentag\",e=>o.push({eventType:\"opentag\",value:e})),t.on(\"text\",e=>o.push({eventType:\"text\",value:e})),t.on(\"closetag\",e=>o.push({eventType:\"closetag\",value:e}));for await(const n of e){if(t.write(s(n)),r)throw r;yield o,o=[]}}},{\"./browser-buffer-decode\":16,\"readable-stream\":491,saxes:496}],23:[function(e,t,r){\"use strict\";const n=e(\"./col-cache\"),i=/(([a-z_\\-0-9]*)!)?([a-z0-9_$]{2,})([(])?/gi,s=/^([$])?([a-z]+)([$])?([1-9][0-9]*)$/i;t.exports={slideFormula:function(e,t,r){const o=n.decode(t),a=n.decode(r);return e.replace(i,(e,t,r,i,l)=>{if(l)return e;const c=s.exec(i);if(c){const r=c[1],i=c[2].toUpperCase(),s=c[3],l=c[4];if(i.length>3||3===i.length&&i>\"XFD\")return e;let u=n.l2n(i),h=parseInt(l,10);r||(u+=a.col-o.col),s||(h+=a.row-o.row);return(t||\"\")+(r||\"\")+n.n2l(u)+(s||\"\")+h}return e})}}},{\"./col-cache\":19}],24:[function(e,t,r){(function(r,n){(function(){\"use strict\";const i=e(\"readable-stream\"),s=e(\"./utils\"),o=e(\"./string-buf\");class a{constructor(e,t){this._data=e,this._encoding=t}get length(){return this.toBuffer().length}copy(e,t,r,n){return this.toBuffer().copy(e,t,r,n)}toBuffer(){return this._buffer||(this._buffer=n.from(this._data,this._encoding)),this._buffer}}class l{constructor(e){this._data=e}get length(){return this._data.length}copy(e,t,r,n){return this._data._buf.copy(e,t,r,n)}toBuffer(){return this._data.toBuffer()}}class c{constructor(e){this._data=e}get length(){return this._data.length}copy(e,t,r,n){this._data.copy(e,t,r,n)}toBuffer(){return this._data}}class u{constructor(e){this.size=e,this.buffer=n.alloc(e),this.iRead=0,this.iWrite=0}toBuffer(){if(0===this.iRead&&this.iWrite===this.size)return this.buffer;const e=n.alloc(this.iWrite-this.iRead);return this.buffer.copy(e,0,this.iRead,this.iWrite),e}get length(){return this.iWrite-this.iRead}get eod(){return this.iRead===this.iWrite}get full(){return this.iWrite===this.size}read(e){let t;return 0===e?null:void 0===e||e>=this.length?(t=this.toBuffer(),this.iRead=this.iWrite,t):(t=n.alloc(e),this.buffer.copy(t,0,this.iRead,e),this.iRead+=e,t)}write(e,t,r){const n=Math.min(r,this.size-this.iWrite);return e.copy(this.buffer,this.iWrite,t,t+n),this.iWrite+=n,n}}const h=function(e){e=e||{},this.bufSize=e.bufSize||1048576,this.buffers=[],this.batch=e.batch||!1,this.corked=!1,this.inPos=0,this.outPos=0,this.pipes=[],this.paused=!1,this.encoding=null};s.inherits(h,i.Duplex,{toBuffer(){switch(this.buffers.length){case 0:return null;case 1:return this.buffers[0].toBuffer();default:return n.concat(this.buffers.map(e=>e.toBuffer()))}},_getWritableBuffer(){if(this.buffers.length){const e=this.buffers[this.buffers.length-1];if(!e.full)return e}const e=new u(this.bufSize);return this.buffers.push(e),e},async _pipe(e){await Promise.all(this.pipes.map((function(t){return new Promise(r=>{t.write(e.toBuffer(),()=>{r()})})})))},_writeToBuffers(e){let t=0;const r=e.length;for(;t<r;){t+=this._getWritableBuffer().write(e,t,r-t)}},async write(e,t,i){let u;if(t instanceof Function&&(i=t,t=\"utf8\"),i=i||s.nop,e instanceof o)u=new l(e);else if(e instanceof n)u=new c(e);else{if(!(\"string\"==typeof e||e instanceof String||e instanceof ArrayBuffer))throw new Error(\"Chunk must be one of type String, Buffer or StringBuf.\");u=new a(e,t)}if(this.pipes.length)if(this.batch)for(this._writeToBuffers(u);!this.corked&&this.buffers.length>1;)this._pipe(this.buffers.shift());else this.corked?(this._writeToBuffers(u),r.nextTick(i)):(await this._pipe(u),i());else this.paused||this.emit(\"data\",u.toBuffer()),this._writeToBuffers(u),this.emit(\"readable\");return!0},cork(){this.corked=!0},_flush(){if(this.pipes.length)for(;this.buffers.length;)this._pipe(this.buffers.shift())},uncork(){this.corked=!1,this._flush()},end(e,t,r){const n=e=>{e?r(e):(this._flush(),this.pipes.forEach(e=>{e.end()}),this.emit(\"finish\"))};e?this.write(e,t,n):n()},read(e){let t;if(e){for(t=[];e&&this.buffers.length&&!this.buffers[0].eod;){const r=this.buffers[0],n=r.read(e);e-=n.length,t.push(n),r.eod&&r.full&&this.buffers.shift()}return n.concat(t)}return t=this.buffers.map(e=>e.toBuffer()).filter(Boolean),this.buffers=[],n.concat(t)},setEncoding(e){this.encoding=e},pause(){this.paused=!0},resume(){this.paused=!1},isPaused(){return!!this.paused},pipe(e){this.pipes.push(e),!this.paused&&this.buffers.length&&this.end()},unpipe(e){this.pipes=this.pipes.filter(t=>t!==e)},unshift(){throw new Error(\"Not Implemented\")},wrap(){throw new Error(\"Not Implemented\")}}),t.exports=h}).call(this)}).call(this,e(\"_process\"),e(\"buffer\").Buffer)},{\"./string-buf\":25,\"./utils\":27,_process:467,buffer:220,\"readable-stream\":491}],25:[function(e,t,r){(function(e){(function(){\"use strict\";t.exports=class{constructor(t){this._buf=e.alloc(t&&t.size||16384),this._encoding=t&&t.encoding||\"utf8\",this._inPos=0,this._buffer=void 0}get length(){return this._inPos}get capacity(){return this._buf.length}get buffer(){return this._buf}toBuffer(){return this._buffer||(this._buffer=e.alloc(this.length),this._buf.copy(this._buffer,0,0,this.length)),this._buffer}reset(e){e=e||0,this._buffer=void 0,this._inPos=e}_grow(t){let r=2*this._buf.length;for(;r<t;)r*=2;const n=e.alloc(r);this._buf.copy(n,0),this._buf=n}addText(e){this._buffer=void 0;let t=this._inPos+this._buf.write(e,this._inPos,this._encoding);for(;t>=this._buf.length-4;)this._grow(this._inPos+e.length),t=this._inPos+this._buf.write(e,this._inPos,this._encoding);this._inPos=t}addStringBuf(e){e.length&&(this._buffer=void 0,this.length+e.length>this.capacity&&this._grow(this.length+e.length),e._buf.copy(this._buf,this._inPos,0,e.length),this._inPos+=e.length)}}}).call(this)}).call(this,e(\"buffer\").Buffer)},{buffer:220}],26:[function(e,t,r){\"use strict\";const{toString:n}=Object.prototype,i=/[\"&<>]/,s={each:function(e,t){e&&(Array.isArray(e)?e.forEach(t):Object.keys(e).forEach(r=>{t(e[r],r)}))},some:function(e,t){return!!e&&(Array.isArray(e)?e.some(t):Object.keys(e).some(r=>t(e[r],r)))},every:function(e,t){return!e||(Array.isArray(e)?e.every(t):Object.keys(e).every(r=>t(e[r],r)))},map:function(e,t){return e?Array.isArray(e)?e.map(t):Object.keys(e).map(r=>t(e[r],r)):[]},keyBy:(e,t)=>e.reduce((e,r)=>(e[r[t]]=r,e),{}),isEqual:function(e,t){const r=typeof e,n=typeof t,i=Array.isArray(e),o=Array.isArray(t);let a;if(r!==n)return!1;switch(typeof e){case\"object\":if(i||o)return!(!i||!o)&&(e.length===t.length&&e.every((e,r)=>{const n=t[r];return s.isEqual(e,n)}));if(null===e||null===t)return e===t;if(a=Object.keys(e),Object.keys(t).length!==a.length)return!1;for(const e of a)if(!t.hasOwnProperty(e))return!1;return s.every(e,(e,r)=>{const n=t[r];return s.isEqual(e,n)});default:return e===t}},escapeHtml(e){const t=i.exec(e);if(!t)return e;let r=\"\",n=\"\",s=0,o=t.index;for(;o<e.length;o++){switch(e.charAt(o)){case'\"':n=\""\";break;case\"&\":n=\"&\";break;case\"'\":n=\"'\";break;case\"<\":n=\"<\";break;case\">\":n=\">\";break;default:continue}s!==o&&(r+=e.substring(s,o)),s=o+1,r+=n}return s!==o?r+e.substring(s,o):r},strcmp:(e,t)=>e<t?-1:e>t?1:0,isUndefined:e=>\"[object Undefined]\"===n.call(e),isObject:e=>\"[object Object]\"===n.call(e),deepMerge(){const e=arguments[0]||{},{length:t}=arguments;let r,n,i;function o(t,o){r=e[o],i=Array.isArray(t),s.isObject(t)||i?(i?(i=!1,n=r&&Array.isArray(r)?r:[]):n=r&&s.isObject(r)?r:{},e[o]=s.deepMerge(n,t)):s.isUndefined(t)||(e[o]=t)}for(let e=0;e<t;e++)s.each(arguments[e],o);return e}};t.exports=s},{}],27:[function(e,t,r){(function(r,n){(function(){\"use strict\";const i=e(\"fs\"),s=/[<>&'\"\\x7F\\x00-\\x08\\x0B-\\x0C\\x0E-\\x1F]/,o={nop(){},promiseImmediate:e=>new Promise(t=>{r.setImmediate?n(()=>{t(e)}):setTimeout(()=>{t(e)},1)}),inherits:function(e,t,r,n){e.super_=t,n||(n=r,r=null),r&&Object.keys(r).forEach(t=>{Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))});const i={constructor:{value:e,enumerable:!1,writable:!1,configurable:!0}};n&&Object.keys(n).forEach(e=>{i[e]=Object.getOwnPropertyDescriptor(n,e)}),e.prototype=Object.create(t.prototype,i)},dateToExcel:(e,t)=>25569+e.getTime()/864e5-(t?1462:0),excelToDate(e,t){const r=Math.round(24*(e-25569+(t?1462:0))*3600*1e3);return new Date(r)},parsePath(e){const t=e.lastIndexOf(\"/\");return{path:e.substring(0,t),name:e.substring(t+1)}},getRelsPath(e){const t=o.parsePath(e);return`${t.path}/_rels/${t.name}.rels`},xmlEncode(e){const t=s.exec(e);if(!t)return e;let r=\"\",n=\"\",i=0,o=t.index;for(;o<e.length;o++){const t=e.charCodeAt(o);switch(t){case 34:n=\""\";break;case 38:n=\"&\";break;case 39:n=\"'\";break;case 60:n=\"<\";break;case 62:n=\">\";break;case 127:n=\"\";break;default:if(t<=31&&(t<=8||t>=11&&13!==t)){n=\"\";break}continue}i!==o&&(r+=e.substring(i,o)),i=o+1,n&&(r+=n)}return i!==o?r+e.substring(i,o):r},xmlDecode:e=>e.replace(/&([a-z]*);/g,e=>{switch(e){case\"<\":return\"<\";case\">\":return\">\";case\"&\":return\"&\";case\"'\":return\"'\";case\""\":return'\"';default:return e}}),validInt(e){const t=parseInt(e,10);return Number.isNaN(t)?0:t},isDateFmt(e){if(!e)return!1;return null!==(e=(e=e.replace(/\\[[^\\]]*]/g,\"\")).replace(/\"[^\"]*\"/g,\"\")).match(/[ymdhMsb]+/)},fs:{exists:e=>new Promise(t=>{i.access(e,i.constants.F_OK,e=>{t(!e)})})},toIsoDateString:e=>e.toIsoString().subsstr(0,10),parseBoolean:e=>!0===e||\"true\"===e||1===e||\"1\"===e};t.exports=o}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},e(\"timers\").setImmediate)},{fs:216,timers:523}],28:[function(e,t,r){\"use strict\";const n=e(\"./under-dash\"),i=e(\"./utils\");function s(e,t,r){e.push(` ${t}=\"${i.xmlEncode(r.toString())}\"`)}function o(e,t){if(t){const r=[];n.each(t,(e,t)=>{void 0!==e&&s(r,t,e)}),e.push(r.join(\"\"))}}class a{constructor(){this._xml=[],this._stack=[],this._rollbacks=[]}get tos(){return this._stack.length?this._stack[this._stack.length-1]:void 0}get cursor(){return this._xml.length}openXml(e){const t=this._xml;t.push(\"<?xml\"),o(t,e),t.push(\"?>\\n\")}openNode(e,t){const r=this.tos,n=this._xml;r&&this.open&&n.push(\">\"),this._stack.push(e),n.push(\"<\"),n.push(e),o(n,t),this.leaf=!0,this.open=!0}addAttribute(e,t){if(!this.open)throw new Error(\"Cannot write attributes to node if it is not open\");void 0!==t&&s(this._xml,e,t)}addAttributes(e){if(!this.open)throw new Error(\"Cannot write attributes to node if it is not open\");o(this._xml,e)}writeText(e){const t=this._xml;this.open&&(t.push(\">\"),this.open=!1),this.leaf=!1,t.push(i.xmlEncode(e.toString()))}writeXml(e){this.open&&(this._xml.push(\">\"),this.open=!1),this.leaf=!1,this._xml.push(e)}closeNode(){const e=this._stack.pop(),t=this._xml;this.leaf?t.push(\"/>\"):(t.push(\"</\"),t.push(e),t.push(\">\")),this.open=!1,this.leaf=!1}leafNode(e,t,r){this.openNode(e,t),void 0!==r&&this.writeText(r),this.closeNode()}closeAll(){for(;this._stack.length;)this.closeNode()}addRollback(){return this._rollbacks.push({xml:this._xml.length,stack:this._stack.length,leaf:this.leaf,open:this.open}),this.cursor}commit(){this._rollbacks.pop()}rollback(){const e=this._rollbacks.pop();this._xml.length>e.xml&&this._xml.splice(e.xml,this._xml.length-e.xml),this._stack.length>e.stack&&this._stack.splice(e.stack,this._stack.length-e.stack),this.leaf=e.leaf,this.open=e.open}get xml(){return this.closeAll(),this._xml.join(\"\")}}a.StdDocAttributes={version:\"1.0\",encoding:\"UTF-8\",standalone:\"yes\"},t.exports=a},{\"./under-dash\":26,\"./utils\":27}],29:[function(e,t,r){(function(r){(function(){\"use strict\";const n=e(\"events\"),i=e(\"jszip\"),s=e(\"./stream-buf\"),{stringToBuffer:o}=e(\"./browser-buffer-encode\");class a extends n.EventEmitter{constructor(e){super(),this.options=Object.assign({type:\"nodebuffer\",compression:\"DEFLATE\"},e),this.zip=new i,this.stream=new s}append(e,t){t.hasOwnProperty(\"base64\")&&t.base64?this.zip.file(t.name,e,{base64:!0}):(r.browser&&\"string\"==typeof e&&(e=o(e)),this.zip.file(t.name,e))}async finalize(){const e=await this.zip.generateAsync(this.options);this.stream.end(e),this.emit(\"finish\")}read(e){return this.stream.read(e)}setEncoding(e){return this.stream.setEncoding(e)}pause(){return this.stream.pause()}resume(){return this.stream.resume()}isPaused(){return this.stream.isPaused()}pipe(e,t){return this.stream.pipe(e,t)}unpipe(e){return this.stream.unpipe(e)}unshift(e){return this.stream.unshift(e)}wrap(e){return this.stream.wrap(e)}}t.exports={ZipWriter:a}}).call(this)}).call(this,e(\"_process\"))},{\"./browser-buffer-encode\":17,\"./stream-buf\":24,_process:467,events:422,jszip:441}],30:[function(e,t,r){\"use strict\";t.exports={0:{f:\"General\"},1:{f:\"0\"},2:{f:\"0.00\"},3:{f:\"#,##0\"},4:{f:\"#,##0.00\"},9:{f:\"0%\"},10:{f:\"0.00%\"},11:{f:\"0.00E+00\"},12:{f:\"# ?/?\"},13:{f:\"# ??/??\"},14:{f:\"mm-dd-yy\"},15:{f:\"d-mmm-yy\"},16:{f:\"d-mmm\"},17:{f:\"mmm-yy\"},18:{f:\"h:mm AM/PM\"},19:{f:\"h:mm:ss AM/PM\"},20:{f:\"h:mm\"},21:{f:\"h:mm:ss\"},22:{f:'m/d/yy \"h\":mm'},27:{\"zh-tw\":\"[$-404]e/m/d\",\"zh-cn\":'yyyy\"\\u5e74\"m\"\\u6708\"',\"ja-jp\":\"[$-411]ge.m.d\",\"ko-kr\":'yyyy\"\\u5e74\" mm\"\\u6708\" dd\"\\u65e5\"'},28:{\"zh-tw\":'[$-404]e\"\\u5e74\"m\"\\u6708\"d\"\\u65e5\"',\"zh-cn\":'m\"\\u6708\"d\"\\u65e5\"',\"ja-jp\":'[$-411]ggge\"\\u5e74\"m\"\\u6708\"d\"\\u65e5\"',\"ko-kr\":\"mm-dd\"},29:{\"zh-tw\":'[$-404]e\"\\u5e74\"m\"\\u6708\"d\"\\u65e5\"',\"zh-cn\":'m\"\\u6708\"d\"\\u65e5\"',\"ja-jp\":'[$-411]ggge\"\\u5e74\"m\"\\u6708\"d\"\\u65e5\"',\"ko-kr\":\"mm-dd\"},30:{\"zh-tw\":\"m/d/yy \",\"zh-cn\":\"m-d-yy\",\"ja-jp\":\"m/d/yy\",\"ko-kr\":\"mm-dd-yy\"},31:{\"zh-tw\":'yyyy\"\\u5e74\"m\"\\u6708\"d\"\\u65e5\"',\"zh-cn\":'yyyy\"\\u5e74\"m\"\\u6708\"d\"\\u65e5\"',\"ja-jp\":'yyyy\"\\u5e74\"m\"\\u6708\"d\"\\u65e5\"',\"ko-kr\":'yyyy\"\\ub144\" mm\"\\uc6d4\" dd\"\\uc77c\"'},32:{\"zh-tw\":'hh\"\\u6642\"mm\"\\u5206\"',\"zh-cn\":'h\"\\u65f6\"mm\"\\u5206\"',\"ja-jp\":'h\"\\u6642\"mm\"\\u5206\"',\"ko-kr\":'h\"\\uc2dc\" mm\"\\ubd84\"'},33:{\"zh-tw\":'hh\"\\u6642\"mm\"\\u5206\"ss\"\\u79d2\"',\"zh-cn\":'h\"\\u65f6\"mm\"\\u5206\"ss\"\\u79d2\"',\"ja-jp\":'h\"\\u6642\"mm\"\\u5206\"ss\"\\u79d2\"',\"ko-kr\":'h\"\\uc2dc\" mm\"\\ubd84\" ss\"\\ucd08\"'},34:{\"zh-tw\":'\\u4e0a\\u5348/\\u4e0b\\u5348 hh\"\\u6642\"mm\"\\u5206\"',\"zh-cn\":'\\u4e0a\\u5348/\\u4e0b\\u5348 h\"\\u65f6\"mm\"\\u5206\"',\"ja-jp\":'yyyy\"\\u5e74\"m\"\\u6708\"',\"ko-kr\":\"yyyy-mm-dd\"},35:{\"zh-tw\":'\\u4e0a\\u5348/\\u4e0b\\u5348 hh\"\\u6642\"mm\"\\u5206\"ss\"\\u79d2\"',\"zh-cn\":'\\u4e0a\\u5348/\\u4e0b\\u5348 h\"\\u65f6\"mm\"\\u5206\"ss\"\\u79d2\"',\"ja-jp\":'m\"\\u6708\"d\"\\u65e5\"',\"ko-kr\":\"yyyy-mm-dd\"},36:{\"zh-tw\":\"[$-404]e/m/d\",\"zh-cn\":'yyyy\"\\u5e74\"m\"\\u6708\"',\"ja-jp\":\"[$-411]ge.m.d\",\"ko-kr\":'yyyy\"\\u5e74\" mm\"\\u6708\" dd\"\\u65e5\"'},37:{f:\"#,##0 ;(#,##0)\"},38:{f:\"#,##0 ;[Red](#,##0)\"},39:{f:\"#,##0.00 ;(#,##0.00)\"},40:{f:\"#,##0.00 ;[Red](#,##0.00)\"},45:{f:\"mm:ss\"},46:{f:\"[h]:mm:ss\"},47:{f:\"mmss.0\"},48:{f:\"##0.0E+0\"},49:{f:\"@\"},50:{\"zh-tw\":\"[$-404]e/m/d\",\"zh-cn\":'yyyy\"\\u5e74\"m\"\\u6708\"',\"ja-jp\":\"[$-411]ge.m.d\",\"ko-kr\":'yyyy\"\\u5e74\" mm\"\\u6708\" dd\"\\u65e5\"'},51:{\"zh-tw\":'[$-404]e\"\\u5e74\"m\"\\u6708\"d\"\\u65e5\"',\"zh-cn\":'m\"\\u6708\"d\"\\u65e5\"',\"ja-jp\":'[$-411]ggge\"\\u5e74\"m\"\\u6708\"d\"\\u65e5\"',\"ko-kr\":\"mm-dd\"},52:{\"zh-tw\":'\\u4e0a\\u5348/\\u4e0b\\u5348 hh\"\\u6642\"mm\"\\u5206\"',\"zh-cn\":'yyyy\"\\u5e74\"m\"\\u6708\"',\"ja-jp\":'yyyy\"\\u5e74\"m\"\\u6708\"',\"ko-kr\":\"yyyy-mm-dd\"},53:{\"zh-tw\":'\\u4e0a\\u5348/\\u4e0b\\u5348 hh\"\\u6642\"mm\"\\u5206\"ss\"\\u79d2\"',\"zh-cn\":'m\"\\u6708\"d\"\\u65e5\"',\"ja-jp\":'m\"\\u6708\"d\"\\u65e5\"',\"ko-kr\":\"yyyy-mm-dd\"},54:{\"zh-tw\":'[$-404]e\"\\u5e74\"m\"\\u6708\"d\"\\u65e5\"',\"zh-cn\":'m\"\\u6708\"d\"\\u65e5\"',\"ja-jp\":'[$-411]ggge\"\\u5e74\"m\"\\u6708\"d\"\\u65e5\"',\"ko-kr\":\"mm-dd\"},55:{\"zh-tw\":'\\u4e0a\\u5348/\\u4e0b\\u5348 hh\"\\u6642\"mm\"\\u5206\"',\"zh-cn\":'\\u4e0a\\u5348/\\u4e0b\\u5348 h\"\\u65f6\"mm\"\\u5206\"',\"ja-jp\":'yyyy\"\\u5e74\"m\"\\u6708\"',\"ko-kr\":\"yyyy-mm-dd\"},56:{\"zh-tw\":'\\u4e0a\\u5348/\\u4e0b\\u5348 hh\"\\u6642\"mm\"\\u5206\"ss\"\\u79d2\"',\"zh-cn\":'\\u4e0a\\u5348/\\u4e0b\\u5348 h\"\\u65f6\"mm\"\\u5206\"ss\"\\u79d2\"',\"ja-jp\":'m\"\\u6708\"d\"\\u65e5\"',\"ko-kr\":\"yyyy-mm-dd\"},57:{\"zh-tw\":\"[$-404]e/m/d\",\"zh-cn\":'yyyy\"\\u5e74\"m\"\\u6708\"',\"ja-jp\":\"[$-411]ge.m.d\",\"ko-kr\":'yyyy\"\\u5e74\" mm\"\\u6708\" dd\"\\u65e5\"'},58:{\"zh-tw\":'[$-404]e\"\\u5e74\"m\"\\u6708\"d\"\\u65e5\"',\"zh-cn\":'m\"\\u6708\"d\"\\u65e5\"',\"ja-jp\":'[$-411]ggge\"\\u5e74\"m\"\\u6708\"d\"\\u65e5\"',\"ko-kr\":\"mm-dd\"},59:{\"th-th\":\"t0\"},60:{\"th-th\":\"t0.00\"},61:{\"th-th\":\"t#,##0\"},62:{\"th-th\":\"t#,##0.00\"},67:{\"th-th\":\"t0%\"},68:{\"th-th\":\"t0.00%\"},69:{\"th-th\":\"t# ?/?\"},70:{\"th-th\":\"t# ??/??\"},81:{\"th-th\":\"d/m/bb\"}}},{}],31:[function(e,t,r){\"use strict\";t.exports={OfficeDocument:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",Worksheet:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",CalcChain:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain\",SharedStrings:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\",Styles:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\",Theme:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\",Hyperlink:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",Image:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",CoreProperties:\"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\",ExtenderProperties:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties\",Comments:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\",VmlDrawing:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",Table:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table\"}},{}],32:[function(e,t,r){\"use strict\";const n=e(\"../../utils/parse-sax\"),i=e(\"../../utils/xml-stream\");class s{prepare(){}render(){}parseOpen(e){}parseText(e){}parseClose(e){}reconcile(e,t){}reset(){this.model=null,this.map&&Object.values(this.map).forEach(e=>{e instanceof s?e.reset():e.xform&&e.xform.reset()})}mergeModel(e){this.model=Object.assign(this.model||{},e)}async parse(e){for await(const t of e)for(const{eventType:e,value:r}of t)if(\"opentag\"===e)this.parseOpen(r);else if(\"text\"===e)this.parseText(r);else if(\"closetag\"===e&&!this.parseClose(r.name))return this.model;return this.model}async parseStream(e){return this.parse(n(e))}get xml(){return this.toXml(this.model)}toXml(e){const t=new i;return this.render(t,e),t.xml}static toAttribute(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(void 0===e){if(r)return t}else if(r||e!==t)return e.toString()}static toStringAttribute(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return s.toAttribute(e,t,r)}static toStringValue(e,t){return void 0===e?t:e}static toBoolAttribute(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(void 0===e){if(r)return t}else if(r||e!==t)return e?\"1\":\"0\"}static toBoolValue(e,t){return void 0===e?t:\"1\"===e}static toIntAttribute(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return s.toAttribute(e,t,r)}static toIntValue(e,t){return void 0===e?t:parseInt(e,10)}static toFloatAttribute(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return s.toAttribute(e,t,r)}static toFloatValue(e,t){return void 0===e?t:parseFloat(e)}}t.exports=s},{\"../../utils/parse-sax\":22,\"../../utils/xml-stream\":28}],33:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i=e(\"../../../utils/col-cache\");function s(e){try{return i.decodeEx(e),!0}catch(e){return!1}}function o(e){const t=[];let r=!1,n=\"\";return e.split(\",\").forEach(e=>{if(!e)return;const i=(e.match(/'/g)||[]).length;if(!i)return void(r?n+=e+\",\":s(e)&&t.push(e));const o=i%2==0;!r&&o&&s(e)?t.push(e):r&&!o?(r=!1,s(n+e)&&t.push(n+e),n=\"\"):(r=!0,n+=e+\",\")}),t}t.exports=class extends n{render(e,t){e.openNode(\"definedName\",{name:t.name,localSheetId:t.localSheetId}),e.writeText(t.ranges.join(\",\")),e.closeNode()}parseOpen(e){switch(e.name){case\"definedName\":return this._parsedName=e.attributes.name,this._parsedLocalSheetId=e.attributes.localSheetId,this._parsedText=[],!0;default:return!1}}parseText(e){this._parsedText.push(e)}parseClose(){return this.model={name:this._parsedName,ranges:o(this._parsedText.join(\"\"))},void 0!==this._parsedLocalSheetId&&(this.model.localSheetId=parseInt(this._parsedLocalSheetId,10)),!1}}},{\"../../../utils/col-cache\":19,\"../base-xform\":32}],34:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/utils\"),i=e(\"../base-xform\");t.exports=class extends i{render(e,t){e.leafNode(\"sheet\",{sheetId:t.id,name:t.name,state:t.state,\"r:id\":t.rId})}parseOpen(e){return\"sheet\"===e.name&&(this.model={name:n.xmlDecode(e.attributes.name),id:parseInt(e.attributes.sheetId,10),state:e.attributes.state,rId:e.attributes[\"r:id\"]},!0)}parseText(){}parseClose(){return!1}}},{\"../../../utils/utils\":27,\"../base-xform\":32}],35:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{render(e,t){e.leafNode(\"calcPr\",{calcId:171027,fullCalcOnLoad:t.fullCalcOnLoad?1:void 0})}parseOpen(e){return\"calcPr\"===e.name&&(this.model={},!0)}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],36:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{render(e,t){e.leafNode(\"workbookPr\",{date1904:t.date1904?1:void 0,defaultThemeVersion:164011,filterPrivacy:1})}parseOpen(e){return\"workbookPr\"===e.name&&(this.model={date1904:\"1\"===e.attributes.date1904},!0)}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],37:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{render(e,t){const r={xWindow:t.x||0,yWindow:t.y||0,windowWidth:t.width||12e3,windowHeight:t.height||24e3,firstSheet:t.firstSheet,activeTab:t.activeTab};t.visibility&&\"visible\"!==t.visibility&&(r.visibility=t.visibility),e.leafNode(\"workbookView\",r)}parseOpen(e){if(\"workbookView\"===e.name){const t=this.model={},r=function(e,r,n){const i=void 0!==r?t[e]=r:n;void 0!==i&&(t[e]=i)},n=function(e,r,n){const i=void 0!==r?t[e]=parseInt(r,10):n;void 0!==i&&(t[e]=i)};return n(\"x\",e.attributes.xWindow,0),n(\"y\",e.attributes.yWindow,0),n(\"width\",e.attributes.windowWidth,25e3),n(\"height\",e.attributes.windowHeight,1e4),r(\"visibility\",e.attributes.visibility,\"visible\"),n(\"activeTab\",e.attributes.activeTab,void 0),n(\"firstSheet\",e.attributes.firstSheet,void 0),!0}return!1}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],38:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/under-dash\"),i=e(\"../../../utils/col-cache\"),s=e(\"../../../utils/xml-stream\"),o=e(\"../base-xform\"),a=e(\"../static-xform\"),l=e(\"../list-xform\"),c=e(\"./defined-name-xform\"),u=e(\"./sheet-xform\"),h=e(\"./workbook-view-xform\"),f=e(\"./workbook-properties-xform\"),d=e(\"./workbook-calc-properties-xform\");class p extends o{constructor(){super(),this.map={fileVersion:p.STATIC_XFORMS.fileVersion,workbookPr:new f,bookViews:new l({tag:\"bookViews\",count:!1,childXform:new h}),sheets:new l({tag:\"sheets\",count:!1,childXform:new u}),definedNames:new l({tag:\"definedNames\",count:!1,childXform:new c}),calcPr:new d}}prepare(e){e.sheets=e.worksheets;const t=[];let r=0;e.sheets.forEach(e=>{if(e.pageSetup&&e.pageSetup.printArea&&e.pageSetup.printArea.split(\"&&\").forEach(n=>{const i=n.split(\":\"),s={name:\"_xlnm.Print_Area\",ranges:[`'${e.name}'!$${i[0]}:$${i[1]}`],localSheetId:r};t.push(s)}),e.pageSetup&&(e.pageSetup.printTitlesRow||e.pageSetup.printTitlesColumn)){const n=[];if(e.pageSetup.printTitlesColumn){const t=e.pageSetup.printTitlesColumn.split(\":\");n.push(`'${e.name}'!$${t[0]}:$${t[1]}`)}if(e.pageSetup.printTitlesRow){const t=e.pageSetup.printTitlesRow.split(\":\");n.push(`'${e.name}'!$${t[0]}:$${t[1]}`)}const i={name:\"_xlnm.Print_Titles\",ranges:n,localSheetId:r};t.push(i)}r++}),t.length&&(e.definedNames=e.definedNames.concat(t)),(e.media||[]).forEach((e,t)=>{e.name=e.type+(t+1)})}render(e,t){e.openXml(s.StdDocAttributes),e.openNode(\"workbook\",p.WORKBOOK_ATTRIBUTES),this.map.fileVersion.render(e),this.map.workbookPr.render(e,t.properties),this.map.bookViews.render(e,t.views),this.map.sheets.render(e,t.sheets),this.map.definedNames.render(e,t.definedNames),this.map.calcPr.render(e,t.calcProperties),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case\"workbook\":return!0;default:return this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e),!0}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case\"workbook\":return this.model={sheets:this.map.sheets.model,properties:this.map.workbookPr.model||{},views:this.map.bookViews.model,calcProperties:{}},this.map.definedNames.model&&(this.model.definedNames=this.map.definedNames.model),!1;default:return!0}}reconcile(e){const t=(e.workbookRels||[]).reduce((e,t)=>(e[t.Id]=t,e),{}),r=[];let s,o=0;(e.sheets||[]).forEach(n=>{const i=t[n.rId];i&&(s=e.worksheetHash[\"xl/\"+i.Target.replace(/^(\\s|\\/xl\\/)+/,\"\")],s&&(s.name=n.name,s.id=n.id,s.state=n.state,r[o++]=s))});const a=[];n.each(e.definedNames,e=>{if(\"_xlnm.Print_Area\"===e.name){if(s=r[e.localSheetId],s){s.pageSetup||(s.pageSetup={});const t=i.decodeEx(e.ranges[0]);s.pageSetup.printArea=s.pageSetup.printArea?`${s.pageSetup.printArea}&&${t.dimensions}`:t.dimensions}}else if(\"_xlnm.Print_Titles\"===e.name){if(s=r[e.localSheetId],s){s.pageSetup||(s.pageSetup={});const t=e.ranges.join(\",\"),r=/\\$/g,n=/\\$\\d+:\\$\\d+/,i=t.match(n);if(i&&i.length){const e=i[0];s.pageSetup.printTitlesRow=e.replace(r,\"\")}const o=/\\$[A-Z]+:\\$[A-Z]+/,a=t.match(o);if(a&&a.length){const e=a[0];s.pageSetup.printTitlesColumn=e.replace(r,\"\")}}}else a.push(e)}),e.definedNames=a,e.media.forEach((e,t)=>{e.index=t})}}p.WORKBOOK_ATTRIBUTES={xmlns:\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\",\"xmlns:r\":\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\"xmlns:mc\":\"http://schemas.openxmlformats.org/markup-compatibility/2006\",\"mc:Ignorable\":\"x15\",\"xmlns:x15\":\"http://schemas.microsoft.com/office/spreadsheetml/2010/11/main\"},p.STATIC_XFORMS={fileVersion:new a({tag:\"fileVersion\",$:{appName:\"xl\",lastEdited:5,lowestEdited:5,rupBuild:9303}})},t.exports=p},{\"../../../utils/col-cache\":19,\"../../../utils/under-dash\":26,\"../../../utils/xml-stream\":28,\"../base-xform\":32,\"../list-xform\":71,\"../static-xform\":120,\"./defined-name-xform\":33,\"./sheet-xform\":34,\"./workbook-calc-properties-xform\":35,\"./workbook-properties-xform\":36,\"./workbook-view-xform\":37}],39:[function(e,t,r){\"use strict\";const n=e(\"../strings/rich-text-xform\"),i=e(\"../../../utils/utils\"),s=e(\"../base-xform\"),o=t.exports=function(e){this.model=e};i.inherits(o,s,{get tag(){return\"r\"},get richTextXform(){return this._richTextXform||(this._richTextXform=new n),this._richTextXform},render(e,t){t=t||this.model,e.openNode(\"comment\",{ref:t.ref,authorId:0}),e.openNode(\"text\"),t&&t.note&&t.note.texts&&t.note.texts.forEach(t=>{this.richTextXform.render(e,t)}),e.closeNode(),e.closeNode()},parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case\"comment\":return this.model={type:\"note\",note:{texts:[]},...e.attributes},!0;case\"r\":return this.parser=this.richTextXform,this.parser.parseOpen(e),!0;default:return!1}},parseText(e){this.parser&&this.parser.parseText(e)},parseClose(e){switch(e){case\"comment\":return!1;case\"r\":return this.model.note.texts.push(this.parser.model),this.parser=void 0,!0;default:return this.parser&&this.parser.parseClose(e),!0}}})},{\"../../../utils/utils\":27,\"../base-xform\":32,\"../strings/rich-text-xform\":122}],40:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/xml-stream\"),i=e(\"../../../utils/utils\"),s=e(\"../base-xform\"),o=e(\"./comment-xform\"),a=t.exports=function(){this.map={comment:new o}};i.inherits(a,s,{COMMENTS_ATTRIBUTES:{xmlns:\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\"}},{render(e,t){t=t||this.model,e.openXml(n.StdDocAttributes),e.openNode(\"comments\",a.COMMENTS_ATTRIBUTES),e.openNode(\"authors\"),e.leafNode(\"author\",null,\"Author\"),e.closeNode(),e.openNode(\"commentList\"),t.comments.forEach(t=>{this.map.comment.render(e,t)}),e.closeNode(),e.closeNode()},parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case\"commentList\":return this.model={comments:[]},!0;case\"comment\":return this.parser=this.map.comment,this.parser.parseOpen(e),!0;default:return!1}},parseText(e){this.parser&&this.parser.parseText(e)},parseClose(e){switch(e){case\"commentList\":return!1;case\"comment\":return this.model.comments.push(this.parser.model),this.parser=void 0,!0;default:return this.parser&&this.parser.parseClose(e),!0}}})},{\"../../../utils/utils\":27,\"../../../utils/xml-stream\":28,\"../base-xform\":32,\"./comment-xform\":39}],41:[function(e,t,r){\"use strict\";const n=e(\"../../base-xform\");t.exports=class extends n{constructor(e){super(),this._model=e}get tag(){return this._model&&this._model.tag}render(e,t,r){(t===r[2]||\"x:SizeWithCells\"===this.tag&&t===r[1])&&e.leafNode(this.tag)}parseOpen(e){switch(e.name){case this.tag:return this.model={},this.model[this.tag]=!0,!0;default:return!1}}parseText(){}parseClose(){return!1}}},{\"../../base-xform\":32}],42:[function(e,t,r){\"use strict\";const n=e(\"../../base-xform\");t.exports=class extends n{constructor(e){super(),this._model=e}get tag(){return this._model&&this._model.tag}render(e,t){e.leafNode(this.tag,null,t)}parseOpen(e){switch(e.name){case this.tag:return this.text=\"\",!0;default:return!1}}parseText(e){this.text=e}parseClose(){return!1}}},{\"../../base-xform\":32}],43:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"x:Anchor\"}getAnchorRect(e){const t=Math.floor(e.left),r=Math.floor(68*(e.left-t)),n=Math.floor(e.top),i=Math.floor(18*(e.top-n)),s=Math.floor(e.right),o=Math.floor(68*(e.right-s)),a=Math.floor(e.bottom);return[t,r,n,i,s,o,a,Math.floor(18*(e.bottom-a))]}getDefaultRect(e){const t=e.col,r=Math.max(e.row-2,0);return[t,6,r,14,t+2,2,r+4,16]}render(e,t){const r=t.anchor?this.getAnchorRect(t.anchor):this.getDefaultRect(t.refAddress);e.leafNode(\"x:Anchor\",null,r.join(\", \"))}parseOpen(e){switch(e.name){case this.tag:return this.text=\"\",!0;default:return!1}}parseText(e){this.text=e}parseClose(){return!1}}},{\"../base-xform\":32}],44:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i=e(\"./vml-anchor-xform\"),s=e(\"./style/vml-protection-xform\"),o=e(\"./style/vml-position-xform\"),a=[\"twoCells\",\"oneCells\",\"absolute\"];t.exports=class extends n{constructor(){super(),this.map={\"x:Anchor\":new i,\"x:Locked\":new s({tag:\"x:Locked\"}),\"x:LockText\":new s({tag:\"x:LockText\"}),\"x:SizeWithCells\":new o({tag:\"x:SizeWithCells\"}),\"x:MoveWithCells\":new o({tag:\"x:MoveWithCells\"})}}get tag(){return\"x:ClientData\"}render(e,t){const{protection:r,editAs:n}=t.note;e.openNode(this.tag,{ObjectType:\"Note\"}),this.map[\"x:MoveWithCells\"].render(e,n,a),this.map[\"x:SizeWithCells\"].render(e,n,a),this.map[\"x:Anchor\"].render(e,t),this.map[\"x:Locked\"].render(e,r.locked),e.leafNode(\"x:AutoFill\",null,\"False\"),this.map[\"x:LockText\"].render(e,r.lockText),e.leafNode(\"x:Row\",null,t.refAddress.row-1),e.leafNode(\"x:Column\",null,t.refAddress.col-1),e.closeNode()}parseOpen(e){switch(e.name){case this.tag:this.reset(),this.model={anchor:[],protection:{},editAs:\"\"};break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e)}return!0}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.normalizeModel(),!1;default:return!0}}normalizeModel(){const e=Object.assign({},this.map[\"x:MoveWithCells\"].model,this.map[\"x:SizeWithCells\"].model),t=Object.keys(e).length;this.model.editAs=a[t],this.model.anchor=this.map[\"x:Anchor\"].text,this.model.protection.locked=this.map[\"x:Locked\"].text,this.model.protection.lockText=this.map[\"x:LockText\"].text}}},{\"../base-xform\":32,\"./style/vml-position-xform\":41,\"./style/vml-protection-xform\":42,\"./vml-anchor-xform\":43}],45:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/xml-stream\"),i=e(\"../base-xform\"),s=e(\"./vml-shape-xform\");class o extends i{constructor(){super(),this.map={\"v:shape\":new s}}get tag(){return\"xml\"}render(e,t){e.openXml(n.StdDocAttributes),e.openNode(this.tag,o.DRAWING_ATTRIBUTES),e.openNode(\"o:shapelayout\",{\"v:ext\":\"edit\"}),e.leafNode(\"o:idmap\",{\"v:ext\":\"edit\",data:1}),e.closeNode(),e.openNode(\"v:shapetype\",{id:\"_x0000_t202\",coordsize:\"21600,21600\",\"o:spt\":202,path:\"m,l,21600r21600,l21600,xe\"}),e.leafNode(\"v:stroke\",{joinstyle:\"miter\"}),e.leafNode(\"v:path\",{gradientshapeok:\"t\",\"o:connecttype\":\"rect\"}),e.closeNode(),t.comments.forEach((t,r)=>{this.map[\"v:shape\"].render(e,t,r)}),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset(),this.model={comments:[]};break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e)}return!0}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.model.comments.push(this.parser.model),this.parser=void 0),!0;switch(e){case this.tag:return!1;default:return!0}}reconcile(e,t){e.anchors.forEach(e=>{e.br?this.map[\"xdr:twoCellAnchor\"].reconcile(e,t):this.map[\"xdr:oneCellAnchor\"].reconcile(e,t)})}}o.DRAWING_ATTRIBUTES={\"xmlns:v\":\"urn:schemas-microsoft-com:vml\",\"xmlns:o\":\"urn:schemas-microsoft-com:office:office\",\"xmlns:x\":\"urn:schemas-microsoft-com:office:excel\"},t.exports=o},{\"../../../utils/xml-stream\":28,\"../base-xform\":32,\"./vml-shape-xform\":46}],46:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i=e(\"./vml-textbox-xform\"),s=e(\"./vml-client-data-xform\");class o extends n{constructor(){super(),this.map={\"v:textbox\":new i,\"x:ClientData\":new s}}get tag(){return\"v:shape\"}render(e,t,r){e.openNode(\"v:shape\",o.V_SHAPE_ATTRIBUTES(t,r)),e.leafNode(\"v:fill\",{color2:\"infoBackground [80]\"}),e.leafNode(\"v:shadow\",{color:\"none [81]\",obscured:\"t\"}),e.leafNode(\"v:path\",{\"o:connecttype\":\"none\"}),this.map[\"v:textbox\"].render(e,t),this.map[\"x:ClientData\"].render(e,t),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset(),this.model={margins:{insetmode:e.attributes[\"o:insetmode\"]},anchor:\"\",editAs:\"\",protection:{}};break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e)}return!0}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model.margins.inset=this.map[\"v:textbox\"].model&&this.map[\"v:textbox\"].model.inset,this.model.protection=this.map[\"x:ClientData\"].model&&this.map[\"x:ClientData\"].model.protection,this.model.anchor=this.map[\"x:ClientData\"].model&&this.map[\"x:ClientData\"].model.anchor,this.model.editAs=this.map[\"x:ClientData\"].model&&this.map[\"x:ClientData\"].model.editAs,!1;default:return!0}}}o.V_SHAPE_ATTRIBUTES=(e,t)=>({id:\"_x0000_s\"+(1025+t),type:\"#_x0000_t202\",style:\"position:absolute; margin-left:105.3pt;margin-top:10.5pt;width:97.8pt;height:59.1pt;z-index:1;visibility:hidden\",fillcolor:\"infoBackground [80]\",strokecolor:\"none [81]\",\"o:insetmode\":e.note.margins&&e.note.margins.insetmode}),t.exports=o},{\"../base-xform\":32,\"./vml-client-data-xform\":44,\"./vml-textbox-xform\":47}],47:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"v:textbox\"}conversionUnit(e,t,r){return`${parseFloat(e)*t.toFixed(2)}${r}`}reverseConversionUnit(e){return(e||\"\").split(\",\").map(e=>Number(parseFloat(this.conversionUnit(parseFloat(e),.1,\"\")).toFixed(2)))}render(e,t){const r={style:\"mso-direction-alt:auto\"};if(t&&t.note){let{inset:e}=t.note&&t.note.margins;Array.isArray(e)&&(e=e.map(e=>this.conversionUnit(e,10,\"mm\")).join(\",\")),e&&(r.inset=e)}e.openNode(\"v:textbox\",r),e.leafNode(\"div\",{style:\"text-align:left\"}),e.closeNode()}parseOpen(e){switch(e.name){case this.tag:return this.model={inset:this.reverseConversionUnit(e.attributes.inset)},!0;default:return!0}}parseText(){}parseClose(e){switch(e){case this.tag:return!1;default:return!0}}}},{\"../base-xform\":32}],48:[function(e,t,r){\"use strict\";const n=e(\"./base-xform\");t.exports=class extends n{createNewModel(e){return{}}parseOpen(e){return this.parser=this.parser||this.map[e.name],this.parser?(this.parser.parseOpen(e),!0):e.name===this.tag&&(this.model=this.createNewModel(e),!0)}parseText(e){this.parser&&this.parser.parseText(e)}onParserClose(e,t){this.model[e]=t.model}parseClose(e){return this.parser?(this.parser.parseClose(e)||(this.onParserClose(e,this.parser),this.parser=void 0),!0):e!==this.tag}}},{\"./base-xform\":32}],49:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{render(e,t){e.openNode(\"HeadingPairs\"),e.openNode(\"vt:vector\",{size:2,baseType:\"variant\"}),e.openNode(\"vt:variant\"),e.leafNode(\"vt:lpstr\",void 0,\"Worksheets\"),e.closeNode(),e.openNode(\"vt:variant\"),e.leafNode(\"vt:i4\",void 0,t.length),e.closeNode(),e.closeNode(),e.closeNode()}parseOpen(e){return\"HeadingPairs\"===e.name}parseText(){}parseClose(e){return\"HeadingPairs\"!==e}}},{\"../base-xform\":32}],50:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{render(e,t){e.openNode(\"TitlesOfParts\"),e.openNode(\"vt:vector\",{size:t.length,baseType:\"lpstr\"}),t.forEach(t=>{e.leafNode(\"vt:lpstr\",void 0,t.name)}),e.closeNode(),e.closeNode()}parseOpen(e){return\"TitlesOfParts\"===e.name}parseText(){}parseClose(e){return\"TitlesOfParts\"!==e}}},{\"../base-xform\":32}],51:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/xml-stream\"),i=e(\"../base-xform\"),s=e(\"../simple/string-xform\"),o=e(\"./app-heading-pairs-xform\"),a=e(\"./app-titles-of-parts-xform\");class l extends i{constructor(){super(),this.map={Company:new s({tag:\"Company\"}),Manager:new s({tag:\"Manager\"}),HeadingPairs:new o,TitleOfParts:new a}}render(e,t){e.openXml(n.StdDocAttributes),e.openNode(\"Properties\",l.PROPERTY_ATTRIBUTES),e.leafNode(\"Application\",void 0,\"Microsoft Excel\"),e.leafNode(\"DocSecurity\",void 0,\"0\"),e.leafNode(\"ScaleCrop\",void 0,\"false\"),this.map.HeadingPairs.render(e,t.worksheets),this.map.TitleOfParts.render(e,t.worksheets),this.map.Company.render(e,t.company||\"\"),this.map.Manager.render(e,t.manager),e.leafNode(\"LinksUpToDate\",void 0,\"false\"),e.leafNode(\"SharedDoc\",void 0,\"false\"),e.leafNode(\"HyperlinksChanged\",void 0,\"false\"),e.leafNode(\"AppVersion\",void 0,\"16.0300\"),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case\"Properties\":return!0;default:return this.parser=this.map[e.name],!!this.parser&&(this.parser.parseOpen(e),!0)}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case\"Properties\":return this.model={worksheets:this.map.TitleOfParts.model,company:this.map.Company.model,manager:this.map.Manager.model},!1;default:return!0}}}l.DateFormat=function(e){return e.toISOString().replace(/[.]\\d{3,6}/,\"\")},l.DateAttrs={\"xsi:type\":\"dcterms:W3CDTF\"},l.PROPERTY_ATTRIBUTES={xmlns:\"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\",\"xmlns:vt\":\"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\"},t.exports=l},{\"../../../utils/xml-stream\":28,\"../base-xform\":32,\"../simple/string-xform\":119,\"./app-heading-pairs-xform\":49,\"./app-titles-of-parts-xform\":50}],52:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/xml-stream\"),i=e(\"../base-xform\");class s extends i{render(e,t){e.openXml(n.StdDocAttributes),e.openNode(\"Types\",s.PROPERTY_ATTRIBUTES);const r={};(t.media||[]).forEach(t=>{if(\"image\"===t.type){const n=t.extension;r[n]||(r[n]=!0,e.leafNode(\"Default\",{Extension:n,ContentType:\"image/\"+n}))}}),e.leafNode(\"Default\",{Extension:\"rels\",ContentType:\"application/vnd.openxmlformats-package.relationships+xml\"}),e.leafNode(\"Default\",{Extension:\"xml\",ContentType:\"application/xml\"}),e.leafNode(\"Override\",{PartName:\"/xl/workbook.xml\",ContentType:\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\"}),t.worksheets.forEach(t=>{const r=`/xl/worksheets/sheet${t.id}.xml`;e.leafNode(\"Override\",{PartName:r,ContentType:\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\"})}),e.leafNode(\"Override\",{PartName:\"/xl/theme/theme1.xml\",ContentType:\"application/vnd.openxmlformats-officedocument.theme+xml\"}),e.leafNode(\"Override\",{PartName:\"/xl/styles.xml\",ContentType:\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\"});t.sharedStrings&&t.sharedStrings.count&&e.leafNode(\"Override\",{PartName:\"/xl/sharedStrings.xml\",ContentType:\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\"}),t.tables&&t.tables.forEach(t=>{e.leafNode(\"Override\",{PartName:\"/xl/tables/\"+t.target,ContentType:\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\"})}),t.drawings&&t.drawings.forEach(t=>{e.leafNode(\"Override\",{PartName:`/xl/drawings/${t.name}.xml`,ContentType:\"application/vnd.openxmlformats-officedocument.drawing+xml\"})}),t.commentRefs&&(e.leafNode(\"Default\",{Extension:\"vml\",ContentType:\"application/vnd.openxmlformats-officedocument.vmlDrawing\"}),t.commentRefs.forEach(t=>{let{commentName:r}=t;e.leafNode(\"Override\",{PartName:`/xl/${r}.xml`,ContentType:\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\"})})),e.leafNode(\"Override\",{PartName:\"/docProps/core.xml\",ContentType:\"application/vnd.openxmlformats-package.core-properties+xml\"}),e.leafNode(\"Override\",{PartName:\"/docProps/app.xml\",ContentType:\"application/vnd.openxmlformats-officedocument.extended-properties+xml\"}),e.closeNode()}parseOpen(){return!1}parseText(){}parseClose(){return!1}}s.PROPERTY_ATTRIBUTES={xmlns:\"http://schemas.openxmlformats.org/package/2006/content-types\"},t.exports=s},{\"../../../utils/xml-stream\":28,\"../base-xform\":32}],53:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/xml-stream\"),i=e(\"../base-xform\"),s=e(\"../simple/date-xform\"),o=e(\"../simple/string-xform\"),a=e(\"../simple/integer-xform\");class l extends i{constructor(){super(),this.map={\"dc:creator\":new o({tag:\"dc:creator\"}),\"dc:title\":new o({tag:\"dc:title\"}),\"dc:subject\":new o({tag:\"dc:subject\"}),\"dc:description\":new o({tag:\"dc:description\"}),\"dc:identifier\":new o({tag:\"dc:identifier\"}),\"dc:language\":new o({tag:\"dc:language\"}),\"cp:keywords\":new o({tag:\"cp:keywords\"}),\"cp:category\":new o({tag:\"cp:category\"}),\"cp:lastModifiedBy\":new o({tag:\"cp:lastModifiedBy\"}),\"cp:lastPrinted\":new s({tag:\"cp:lastPrinted\",format:l.DateFormat}),\"cp:revision\":new a({tag:\"cp:revision\"}),\"cp:version\":new o({tag:\"cp:version\"}),\"cp:contentStatus\":new o({tag:\"cp:contentStatus\"}),\"cp:contentType\":new o({tag:\"cp:contentType\"}),\"dcterms:created\":new s({tag:\"dcterms:created\",attrs:l.DateAttrs,format:l.DateFormat}),\"dcterms:modified\":new s({tag:\"dcterms:modified\",attrs:l.DateAttrs,format:l.DateFormat})}}render(e,t){e.openXml(n.StdDocAttributes),e.openNode(\"cp:coreProperties\",l.CORE_PROPERTY_ATTRIBUTES),this.map[\"dc:creator\"].render(e,t.creator),this.map[\"dc:title\"].render(e,t.title),this.map[\"dc:subject\"].render(e,t.subject),this.map[\"dc:description\"].render(e,t.description),this.map[\"dc:identifier\"].render(e,t.identifier),this.map[\"dc:language\"].render(e,t.language),this.map[\"cp:keywords\"].render(e,t.keywords),this.map[\"cp:category\"].render(e,t.category),this.map[\"cp:lastModifiedBy\"].render(e,t.lastModifiedBy),this.map[\"cp:lastPrinted\"].render(e,t.lastPrinted),this.map[\"cp:revision\"].render(e,t.revision),this.map[\"cp:version\"].render(e,t.version),this.map[\"cp:contentStatus\"].render(e,t.contentStatus),this.map[\"cp:contentType\"].render(e,t.contentType),this.map[\"dcterms:created\"].render(e,t.created),this.map[\"dcterms:modified\"].render(e,t.modified),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case\"cp:coreProperties\":case\"coreProperties\":return!0;default:if(this.parser=this.map[e.name],this.parser)return this.parser.parseOpen(e),!0;throw new Error(\"Unexpected xml node in parseOpen: \"+JSON.stringify(e))}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case\"cp:coreProperties\":case\"coreProperties\":return this.model={creator:this.map[\"dc:creator\"].model,title:this.map[\"dc:title\"].model,subject:this.map[\"dc:subject\"].model,description:this.map[\"dc:description\"].model,identifier:this.map[\"dc:identifier\"].model,language:this.map[\"dc:language\"].model,keywords:this.map[\"cp:keywords\"].model,category:this.map[\"cp:category\"].model,lastModifiedBy:this.map[\"cp:lastModifiedBy\"].model,lastPrinted:this.map[\"cp:lastPrinted\"].model,revision:this.map[\"cp:revision\"].model,contentStatus:this.map[\"cp:contentStatus\"].model,contentType:this.map[\"cp:contentType\"].model,created:this.map[\"dcterms:created\"].model,modified:this.map[\"dcterms:modified\"].model},!1;default:throw new Error(\"Unexpected xml node in parseClose: \"+e)}}}l.DateFormat=function(e){return e.toISOString().replace(/[.]\\d{3}/,\"\")},l.DateAttrs={\"xsi:type\":\"dcterms:W3CDTF\"},l.CORE_PROPERTY_ATTRIBUTES={\"xmlns:cp\":\"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\",\"xmlns:dc\":\"http://purl.org/dc/elements/1.1/\",\"xmlns:dcterms\":\"http://purl.org/dc/terms/\",\"xmlns:dcmitype\":\"http://purl.org/dc/dcmitype/\",\"xmlns:xsi\":\"http://www.w3.org/2001/XMLSchema-instance\"},t.exports=l},{\"../../../utils/xml-stream\":28,\"../base-xform\":32,\"../simple/date-xform\":117,\"../simple/integer-xform\":118,\"../simple/string-xform\":119}],54:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{render(e,t){e.leafNode(\"Relationship\",t)}parseOpen(e){switch(e.name){case\"Relationship\":return this.model=e.attributes,!0;default:return!1}}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],55:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/xml-stream\"),i=e(\"../base-xform\"),s=e(\"./relationship-xform\");class o extends i{constructor(){super(),this.map={Relationship:new s}}render(e,t){t=t||this._values,e.openXml(n.StdDocAttributes),e.openNode(\"Relationships\",o.RELATIONSHIPS_ATTRIBUTES),t.forEach(t=>{this.map.Relationship.render(e,t)}),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case\"Relationships\":return this.model=[],!0;default:if(this.parser=this.map[e.name],this.parser)return this.parser.parseOpen(e),!0;throw new Error(\"Unexpected xml node in parseOpen: \"+JSON.stringify(e))}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.model.push(this.parser.model),this.parser=void 0),!0;switch(e){case\"Relationships\":return!1;default:throw new Error(\"Unexpected xml node in parseClose: \"+e)}}}o.RELATIONSHIPS_ATTRIBUTES={xmlns:\"http://schemas.openxmlformats.org/package/2006/relationships\"},t.exports=o},{\"../../../utils/xml-stream\":28,\"../base-xform\":32,\"./relationship-xform\":54}],56:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset(),this.model={range:{editAs:e.attributes.editAs||\"oneCell\"}};break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e)}return!0}parseText(e){this.parser&&this.parser.parseText(e)}reconcilePicture(e,t){if(e&&e.rId){const r=t.rels[e.rId].Target.match(/.*\\/media\\/(.+[.][a-zA-Z]{3,4})/);if(r){const e=r[1],n=t.mediaIndex[e];return t.media[n]}}}}},{\"../base-xform\":32}],57:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i=e(\"./blip-xform\");t.exports=class extends n{constructor(){super(),this.map={\"a:blip\":new i}}get tag(){return\"xdr:blipFill\"}render(e,t){e.openNode(this.tag),this.map[\"a:blip\"].render(e,t),e.openNode(\"a:stretch\"),e.leafNode(\"a:fillRect\"),e.closeNode(),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset();break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e)}return!0}parseText(){}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model=this.map[\"a:blip\"].model,!1;default:return!0}}}},{\"../base-xform\":32,\"./blip-xform\":58}],58:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"a:blip\"}render(e,t){e.leafNode(this.tag,{\"xmlns:r\":\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\"r:embed\":t.rId,cstate:\"print\"})}parseOpen(e){switch(e.name){case this.tag:return this.model={rId:e.attributes[\"r:embed\"]},!0;default:return!0}}parseText(){}parseClose(e){switch(e){case this.tag:return!1;default:return!0}}}},{\"../base-xform\":32}],59:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"xdr:cNvPicPr\"}render(e){e.openNode(this.tag),e.leafNode(\"a:picLocks\",{noChangeAspect:\"1\"}),e.closeNode()}parseOpen(e){switch(e.name){case this.tag:default:return!0}}parseText(){}parseClose(e){switch(e){case this.tag:return!1;default:return!0}}}},{\"../base-xform\":32}],60:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i=e(\"./hlink-click-xform\"),s=e(\"./ext-lst-xform\");t.exports=class extends n{constructor(){super(),this.map={\"a:hlinkClick\":new i,\"a:extLst\":new s}}get tag(){return\"xdr:cNvPr\"}render(e,t){e.openNode(this.tag,{id:t.index,name:\"Picture \"+t.index}),this.map[\"a:hlinkClick\"].render(e,t),this.map[\"a:extLst\"].render(e,t),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset();break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e)}return!0}parseText(){}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model=this.map[\"a:hlinkClick\"].model,!1;default:return!0}}}},{\"../base-xform\":32,\"./ext-lst-xform\":63,\"./hlink-click-xform\":65}],61:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i=e(\"../simple/integer-xform\");t.exports=class extends n{constructor(e){super(),this.tag=e.tag,this.map={\"xdr:col\":new i({tag:\"xdr:col\",zero:!0}),\"xdr:colOff\":new i({tag:\"xdr:colOff\",zero:!0}),\"xdr:row\":new i({tag:\"xdr:row\",zero:!0}),\"xdr:rowOff\":new i({tag:\"xdr:rowOff\",zero:!0})}}render(e,t){e.openNode(this.tag),this.map[\"xdr:col\"].render(e,t.nativeCol),this.map[\"xdr:colOff\"].render(e,t.nativeColOff),this.map[\"xdr:row\"].render(e,t.nativeRow),this.map[\"xdr:rowOff\"].render(e,t.nativeRowOff),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset();break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e)}return!0}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model={nativeCol:this.map[\"xdr:col\"].model,nativeColOff:this.map[\"xdr:colOff\"].model,nativeRow:this.map[\"xdr:row\"].model,nativeRowOff:this.map[\"xdr:rowOff\"].model},!1;default:return!0}}}},{\"../base-xform\":32,\"../simple/integer-xform\":118}],62:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/col-cache\"),i=e(\"../../../utils/xml-stream\"),s=e(\"../base-xform\"),o=e(\"./two-cell-anchor-xform\"),a=e(\"./one-cell-anchor-xform\");class l extends s{constructor(){super(),this.map={\"xdr:twoCellAnchor\":new o,\"xdr:oneCellAnchor\":new a}}prepare(e){e.anchors.forEach((e,t)=>{e.anchorType=function(e){return(\"string\"==typeof e.range?n.decode(e.range):e.range).br?\"xdr:twoCellAnchor\":\"xdr:oneCellAnchor\"}(e);this.map[e.anchorType].prepare(e,{index:t})})}get tag(){return\"xdr:wsDr\"}render(e,t){e.openXml(i.StdDocAttributes),e.openNode(this.tag,l.DRAWING_ATTRIBUTES),t.anchors.forEach(t=>{this.map[t.anchorType].render(e,t)}),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset(),this.model={anchors:[]};break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e)}return!0}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.model.anchors.push(this.parser.model),this.parser=void 0),!0;switch(e){case this.tag:return!1;default:return!0}}reconcile(e,t){e.anchors.forEach(e=>{e.br?this.map[\"xdr:twoCellAnchor\"].reconcile(e,t):this.map[\"xdr:oneCellAnchor\"].reconcile(e,t)})}}l.DRAWING_ATTRIBUTES={\"xmlns:xdr\":\"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing\",\"xmlns:a\":\"http://schemas.openxmlformats.org/drawingml/2006/main\"},t.exports=l},{\"../../../utils/col-cache\":19,\"../../../utils/xml-stream\":28,\"../base-xform\":32,\"./one-cell-anchor-xform\":67,\"./two-cell-anchor-xform\":70}],63:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"a:extLst\"}render(e){e.openNode(this.tag),e.openNode(\"a:ext\",{uri:\"{FF2B5EF4-FFF2-40B4-BE49-F238E27FC236}\"}),e.leafNode(\"a16:creationId\",{\"xmlns:a16\":\"http://schemas.microsoft.com/office/drawing/2014/main\",id:\"{00000000-0008-0000-0000-000002000000}\"}),e.closeNode(),e.closeNode()}parseOpen(e){switch(e.name){case this.tag:default:return!0}}parseText(){}parseClose(e){switch(e){case this.tag:return!1;default:return!0}}}},{\"../base-xform\":32}],64:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{constructor(e){super(),this.tag=e.tag,this.map={}}render(e,t){e.openNode(this.tag);const r=Math.floor(9525*t.width),n=Math.floor(9525*t.height);e.addAttribute(\"cx\",r),e.addAttribute(\"cy\",n),e.closeNode()}parseOpen(e){return e.name===this.tag&&(this.model={width:parseInt(e.attributes.cx||\"0\",10)/9525,height:parseInt(e.attributes.cy||\"0\",10)/9525},!0)}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],65:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"a:hlinkClick\"}render(e,t){t.hyperlinks&&t.hyperlinks.rId&&e.leafNode(this.tag,{\"xmlns:r\":\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\"r:id\":t.hyperlinks.rId,tooltip:t.hyperlinks.tooltip})}parseOpen(e){switch(e.name){case this.tag:return this.model={hyperlinks:{rId:e.attributes[\"r:id\"],tooltip:e.attributes.tooltip}},!0;default:return!0}}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],66:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i=e(\"./c-nv-pr-xform\"),s=e(\"./c-nv-pic-pr-xform\");t.exports=class extends n{constructor(){super(),this.map={\"xdr:cNvPr\":new i,\"xdr:cNvPicPr\":new s}}get tag(){return\"xdr:nvPicPr\"}render(e,t){e.openNode(this.tag),this.map[\"xdr:cNvPr\"].render(e,t),this.map[\"xdr:cNvPicPr\"].render(e,t),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset();break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e)}return!0}parseText(){}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model=this.map[\"xdr:cNvPr\"].model,!1;default:return!0}}}},{\"../base-xform\":32,\"./c-nv-pic-pr-xform\":59,\"./c-nv-pr-xform\":60}],67:[function(e,t,r){\"use strict\";const n=e(\"./base-cell-anchor-xform\"),i=e(\"../static-xform\"),s=e(\"./cell-position-xform\"),o=e(\"./ext-xform\"),a=e(\"./pic-xform\");t.exports=class extends n{constructor(){super(),this.map={\"xdr:from\":new s({tag:\"xdr:from\"}),\"xdr:ext\":new o({tag:\"xdr:ext\"}),\"xdr:pic\":new a,\"xdr:clientData\":new i({tag:\"xdr:clientData\"})}}get tag(){return\"xdr:oneCellAnchor\"}prepare(e,t){this.map[\"xdr:pic\"].prepare(e.picture,t)}render(e,t){e.openNode(this.tag,{editAs:t.range.editAs||\"oneCell\"}),this.map[\"xdr:from\"].render(e,t.range.tl),this.map[\"xdr:ext\"].render(e,t.range.ext),this.map[\"xdr:pic\"].render(e,t.picture),this.map[\"xdr:clientData\"].render(e,{}),e.closeNode()}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model.range.tl=this.map[\"xdr:from\"].model,this.model.range.ext=this.map[\"xdr:ext\"].model,this.model.picture=this.map[\"xdr:pic\"].model,!1;default:return!0}}reconcile(e,t){e.medium=this.reconcilePicture(e.picture,t)}}},{\"../static-xform\":120,\"./base-cell-anchor-xform\":56,\"./cell-position-xform\":61,\"./ext-xform\":64,\"./pic-xform\":68}],68:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i=e(\"../static-xform\"),s=e(\"./blip-fill-xform\"),o=e(\"./nv-pic-pr-xform\"),a=e(\"./sp-pr\");t.exports=class extends n{constructor(){super(),this.map={\"xdr:nvPicPr\":new o,\"xdr:blipFill\":new s,\"xdr:spPr\":new i(a)}}get tag(){return\"xdr:pic\"}prepare(e,t){e.index=t.index+1}render(e,t){e.openNode(this.tag),this.map[\"xdr:nvPicPr\"].render(e,t),this.map[\"xdr:blipFill\"].render(e,t),this.map[\"xdr:spPr\"].render(e,t),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset();break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e)}return!0}parseText(){}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.mergeModel(this.parser.model),this.parser=void 0),!0;switch(e){case this.tag:return!1;default:return!0}}}},{\"../base-xform\":32,\"../static-xform\":120,\"./blip-fill-xform\":57,\"./nv-pic-pr-xform\":66,\"./sp-pr\":69}],69:[function(e,t,r){\"use strict\";t.exports={tag:\"xdr:spPr\",c:[{tag:\"a:xfrm\",c:[{tag:\"a:off\",$:{x:\"0\",y:\"0\"}},{tag:\"a:ext\",$:{cx:\"0\",cy:\"0\"}}]},{tag:\"a:prstGeom\",$:{prst:\"rect\"},c:[{tag:\"a:avLst\"}]}]}},{}],70:[function(e,t,r){\"use strict\";const n=e(\"./base-cell-anchor-xform\"),i=e(\"../static-xform\"),s=e(\"./cell-position-xform\"),o=e(\"./pic-xform\");t.exports=class extends n{constructor(){super(),this.map={\"xdr:from\":new s({tag:\"xdr:from\"}),\"xdr:to\":new s({tag:\"xdr:to\"}),\"xdr:pic\":new o,\"xdr:clientData\":new i({tag:\"xdr:clientData\"})}}get tag(){return\"xdr:twoCellAnchor\"}prepare(e,t){this.map[\"xdr:pic\"].prepare(e.picture,t)}render(e,t){e.openNode(this.tag,{editAs:t.range.editAs||\"oneCell\"}),this.map[\"xdr:from\"].render(e,t.range.tl),this.map[\"xdr:to\"].render(e,t.range.br),this.map[\"xdr:pic\"].render(e,t.picture),this.map[\"xdr:clientData\"].render(e,{}),e.closeNode()}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model.range.tl=this.map[\"xdr:from\"].model,this.model.range.br=this.map[\"xdr:to\"].model,this.model.picture=this.map[\"xdr:pic\"].model,!1;default:return!0}}reconcile(e,t){e.medium=this.reconcilePicture(e.picture,t)}}},{\"../static-xform\":120,\"./base-cell-anchor-xform\":56,\"./cell-position-xform\":61,\"./pic-xform\":68}],71:[function(e,t,r){\"use strict\";const n=e(\"./base-xform\");t.exports=class extends n{constructor(e){super(),this.tag=e.tag,this.always=!!e.always,this.count=e.count,this.empty=e.empty,this.$count=e.$count||\"count\",this.$=e.$,this.childXform=e.childXform,this.maxItems=e.maxItems}prepare(e,t){const{childXform:r}=this;e&&e.forEach((e,n)=>{t.index=n,r.prepare(e,t)})}render(e,t){if(this.always||t&&t.length){e.openNode(this.tag,this.$),this.count&&e.addAttribute(this.$count,t&&t.length||0);const{childXform:r}=this;(t||[]).forEach((t,n)=>{r.render(e,t,n)}),e.closeNode()}else this.empty&&e.leafNode(this.tag)}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:return this.model=[],!0;default:return!!this.childXform.parseOpen(e)&&(this.parser=this.childXform,!0)}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser){if(!this.parser.parseClose(e)&&(this.model.push(this.parser.model),this.parser=void 0,this.maxItems&&this.model.length>this.maxItems))throw new Error(`Max ${this.childXform.tag} count (${this.maxItems}) exceeded`);return!0}return!1}reconcile(e,t){if(e){const{childXform:r}=this;e.forEach(e=>{r.reconcile(e,t)})}}}},{\"./base-xform\":32}],72:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/col-cache\"),i=e(\"../base-xform\");t.exports=class extends i{get tag(){return\"autoFilter\"}render(e,t){if(t)if(\"string\"==typeof t)e.leafNode(\"autoFilter\",{ref:t});else{const r=function(e){return\"string\"==typeof e?e:n.getAddress(e.row,e.column).address},i=r(t.from),s=r(t.to);i&&s&&e.leafNode(\"autoFilter\",{ref:`${i}:${s}`})}}parseOpen(e){\"autoFilter\"===e.name&&(this.model=e.attributes.ref)}}},{\"../../../utils/col-cache\":19,\"../base-xform\":32}],73:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/utils\"),i=e(\"../base-xform\"),s=e(\"../../../doc/range\"),o=e(\"../../../doc/enums\"),a=e(\"../strings/rich-text-xform\");function l(e){if(null==e)return o.ValueType.Null;if(e instanceof String||\"string\"==typeof e)return o.ValueType.String;if(\"number\"==typeof e)return o.ValueType.Number;if(\"boolean\"==typeof e)return o.ValueType.Boolean;if(e instanceof Date)return o.ValueType.Date;if(e.text&&e.hyperlink)return o.ValueType.Hyperlink;if(e.formula)return o.ValueType.Formula;if(e.error)return o.ValueType.Error;throw new Error(\"I could not understand type of value\")}t.exports=class extends i{constructor(){super(),this.richTextXForm=new a}get tag(){return\"c\"}prepare(e,t){const r=t.styles.addStyleModel(e.style||{},function(e){switch(e.type){case o.ValueType.Formula:return l(e.result);default:return e.type}}(e));switch(r&&(e.styleId=r),e.comment&&t.comments.push({...e.comment,ref:e.address}),e.type){case o.ValueType.String:case o.ValueType.RichText:t.sharedStrings&&(e.ssId=t.sharedStrings.add(e.value));break;case o.ValueType.Date:t.date1904&&(e.date1904=!0);break;case o.ValueType.Hyperlink:t.sharedStrings&&void 0!==e.text&&null!==e.text&&(e.ssId=t.sharedStrings.add(e.text)),t.hyperlinks.push({address:e.address,target:e.hyperlink,tooltip:e.tooltip});break;case o.ValueType.Merge:t.merges.add(e);break;case o.ValueType.Formula:if(t.date1904&&(e.date1904=!0),\"shared\"===e.shareType&&(e.si=t.siFormulae++),e.formula)t.formulae[e.address]=e;else if(e.sharedFormula){const r=t.formulae[e.sharedFormula];if(!r)throw new Error(\"Shared Formula master must exist above and or left of clone for cell \"+e.address);void 0===r.si?(r.shareType=\"shared\",r.si=t.siFormulae++,r.range=new s(r.address,e.address)):r.range&&r.range.expandToAddress(e.address),e.si=r.si}}}renderFormula(e,t){let r=null;switch(t.shareType){case\"shared\":r={t:\"shared\",ref:t.ref||t.range.range,si:t.si};break;case\"array\":r={t:\"array\",ref:t.ref};break;default:void 0!==t.si&&(r={t:\"shared\",si:t.si})}switch(l(t.result)){case o.ValueType.Null:e.leafNode(\"f\",r,t.formula);break;case o.ValueType.String:e.addAttribute(\"t\",\"str\"),e.leafNode(\"f\",r,t.formula),e.leafNode(\"v\",null,t.result);break;case o.ValueType.Number:e.leafNode(\"f\",r,t.formula),e.leafNode(\"v\",null,t.result);break;case o.ValueType.Boolean:e.addAttribute(\"t\",\"b\"),e.leafNode(\"f\",r,t.formula),e.leafNode(\"v\",null,t.result?1:0);break;case o.ValueType.Error:e.addAttribute(\"t\",\"e\"),e.leafNode(\"f\",r,t.formula),e.leafNode(\"v\",null,t.result.error);break;case o.ValueType.Date:e.leafNode(\"f\",r,t.formula),e.leafNode(\"v\",null,n.dateToExcel(t.result,t.date1904));break;default:throw new Error(\"I could not understand type of value\")}}render(e,t){if(t.type!==o.ValueType.Null||t.styleId){switch(e.openNode(\"c\"),e.addAttribute(\"r\",t.address),t.styleId&&e.addAttribute(\"s\",t.styleId),t.type){case o.ValueType.Null:break;case o.ValueType.Number:e.leafNode(\"v\",null,t.value);break;case o.ValueType.Boolean:e.addAttribute(\"t\",\"b\"),e.leafNode(\"v\",null,t.value?\"1\":\"0\");break;case o.ValueType.Error:e.addAttribute(\"t\",\"e\"),e.leafNode(\"v\",null,t.value.error);break;case o.ValueType.String:case o.ValueType.RichText:void 0!==t.ssId?(e.addAttribute(\"t\",\"s\"),e.leafNode(\"v\",null,t.ssId)):t.value&&t.value.richText?(e.addAttribute(\"t\",\"inlineStr\"),e.openNode(\"is\"),t.value.richText.forEach(t=>{this.richTextXForm.render(e,t)}),e.closeNode(\"is\")):(e.addAttribute(\"t\",\"str\"),e.leafNode(\"v\",null,t.value));break;case o.ValueType.Date:e.leafNode(\"v\",null,n.dateToExcel(t.value,t.date1904));break;case o.ValueType.Hyperlink:void 0!==t.ssId?(e.addAttribute(\"t\",\"s\"),e.leafNode(\"v\",null,t.ssId)):(e.addAttribute(\"t\",\"str\"),e.leafNode(\"v\",null,t.text));break;case o.ValueType.Formula:this.renderFormula(e,t);break;case o.ValueType.Merge:}e.closeNode()}}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case\"c\":return this.model={address:e.attributes.r},this.t=e.attributes.t,e.attributes.s&&(this.model.styleId=parseInt(e.attributes.s,10)),!0;case\"f\":return this.currentNode=\"f\",this.model.si=e.attributes.si,this.model.shareType=e.attributes.t,this.model.ref=e.attributes.ref,!0;case\"v\":return this.currentNode=\"v\",!0;case\"t\":return this.currentNode=\"t\",!0;case\"r\":return this.parser=this.richTextXForm,this.parser.parseOpen(e),!0;default:return!1}}parseText(e){if(this.parser)this.parser.parseText(e);else switch(this.currentNode){case\"f\":this.model.formula=this.model.formula?this.model.formula+e:e;break;case\"v\":case\"t\":this.model.value&&this.model.value.richText?this.model.value.richText.text=this.model.value.richText.text?this.model.value.richText.text+e:e:this.model.value=this.model.value?this.model.value+e:e}}parseClose(e){switch(e){case\"c\":{const{model:e}=this;if(e.formula||e.shareType)e.type=o.ValueType.Formula,e.value&&(\"str\"===this.t?e.result=n.xmlDecode(e.value):\"b\"===this.t?e.result=0!==parseInt(e.value,10):\"e\"===this.t?e.result={error:e.value}:e.result=parseFloat(e.value),e.value=void 0);else if(void 0!==e.value)switch(this.t){case\"s\":e.type=o.ValueType.String,e.value=parseInt(e.value,10);break;case\"str\":e.type=o.ValueType.String,e.value=n.xmlDecode(e.value);break;case\"inlineStr\":e.type=o.ValueType.String;break;case\"b\":e.type=o.ValueType.Boolean,e.value=0!==parseInt(e.value,10);break;case\"e\":e.type=o.ValueType.Error,e.value={error:e.value};break;default:e.type=o.ValueType.Number,e.value=parseFloat(e.value)}else e.styleId?e.type=o.ValueType.Null:e.type=o.ValueType.Merge;return!1}case\"f\":case\"v\":case\"is\":return this.currentNode=void 0,!0;case\"t\":return this.parser?(this.parser.parseClose(e),!0):(this.currentNode=void 0,!0);case\"r\":return this.model.value=this.model.value||{},this.model.value.richText=this.model.value.richText||[],this.model.value.richText.push(this.parser.model),this.parser=void 0,this.currentNode=void 0,!0;default:return!!this.parser&&(this.parser.parseClose(e),!0)}}reconcile(e,t){const r=e.styleId&&t.styles&&t.styles.getStyleModel(e.styleId);switch(r&&(e.style=r),void 0!==e.styleId&&(e.styleId=void 0),e.type){case o.ValueType.String:\"number\"==typeof e.value&&t.sharedStrings&&(e.value=t.sharedStrings.getString(e.value)),e.value.richText&&(e.type=o.ValueType.RichText);break;case o.ValueType.Number:r&&n.isDateFmt(r.numFmt)&&(e.type=o.ValueType.Date,e.value=n.excelToDate(e.value,t.date1904));break;case o.ValueType.Formula:void 0!==e.result&&r&&n.isDateFmt(r.numFmt)&&(e.result=n.excelToDate(e.result,t.date1904)),\"shared\"===e.shareType&&(e.ref?t.formulae[e.si]=e.address:(e.sharedFormula=t.formulae[e.si],delete e.shareType),delete e.si)}const i=t.hyperlinkMap[e.address];i&&(e.type===o.ValueType.Formula?(e.text=e.result,e.result=void 0):(e.text=e.value,e.value=void 0),e.type=o.ValueType.Hyperlink,e.hyperlink=i);const s=t.commentsMap&&t.commentsMap[e.address];s&&(e.comment=s)}}},{\"../../../doc/enums\":7,\"../../../doc/range\":10,\"../../../utils/utils\":27,\"../base-xform\":32,\"../strings/rich-text-xform\":122}],74:[function(e,t,r){\"use strict\";const n=e(\"../../base-xform\");t.exports=class extends n{get tag(){return\"x14:cfIcon\"}render(e,t){e.leafNode(this.tag,{iconSet:t.iconSet,iconId:t.iconId})}parseOpen(e){let{attributes:t}=e;this.model={iconSet:t.iconSet,iconId:n.toIntValue(t.iconId)}}parseClose(e){return e!==this.tag}}},{\"../../base-xform\":32}],75:[function(e,t,r){\"use strict\";const{v4:n}=e(\"uuid\"),i=e(\"../../base-xform\"),s=e(\"../../composite-xform\"),o=e(\"./databar-ext-xform\"),a=e(\"./icon-set-ext-xform\"),l={\"3Triangles\":!0,\"3Stars\":!0,\"5Boxes\":!0};class c extends s{constructor(){super(),this.map={\"x14:dataBar\":this.databarXform=new o,\"x14:iconSet\":this.iconSetXform=new a}}get tag(){return\"x14:cfRule\"}static isExt(e){return\"dataBar\"===e.type?o.isExt(e):!(\"iconSet\"!==e.type||!e.custom&&!l[e.iconSet])}prepare(e){c.isExt(e)&&(e.x14Id=`{${n()}}`.toUpperCase())}render(e,t){if(c.isExt(t))switch(t.type){case\"dataBar\":this.renderDataBar(e,t);break;case\"iconSet\":this.renderIconSet(e,t)}}renderDataBar(e,t){e.openNode(this.tag,{type:\"dataBar\",id:t.x14Id}),this.databarXform.render(e,t),e.closeNode()}renderIconSet(e,t){e.openNode(this.tag,{type:\"iconSet\",priority:t.priority,id:t.x14Id||`{${n()}}`}),this.iconSetXform.render(e,t),e.closeNode()}createNewModel(e){let{attributes:t}=e;return{type:t.type,x14Id:t.id,priority:i.toIntValue(t.priority)}}onParserClose(e,t){Object.assign(this.model,t.model)}}t.exports=c},{\"../../base-xform\":32,\"../../composite-xform\":48,\"./databar-ext-xform\":79,\"./icon-set-ext-xform\":81,uuid:528}],76:[function(e,t,r){\"use strict\";const n=e(\"../../composite-xform\"),i=e(\"./f-ext-xform\");t.exports=class extends n{constructor(){super(),this.map={\"xm:f\":this.fExtXform=new i}}get tag(){return\"x14:cfvo\"}render(e,t){e.openNode(this.tag,{type:t.type}),void 0!==t.value&&this.fExtXform.render(e,t.value),e.closeNode()}createNewModel(e){return{type:e.attributes.type}}onParserClose(e,t){switch(e){case\"xm:f\":this.model.value=t.model?parseFloat(t.model):0}}}},{\"../../composite-xform\":48,\"./f-ext-xform\":80}],77:[function(e,t,r){\"use strict\";const n=e(\"../../composite-xform\"),i=e(\"./sqref-ext-xform\"),s=e(\"./cf-rule-ext-xform\");t.exports=class extends n{constructor(){super(),this.map={\"xm:sqref\":this.sqRef=new i,\"x14:cfRule\":this.cfRule=new s}}get tag(){return\"x14:conditionalFormatting\"}prepare(e,t){e.rules.forEach(e=>{this.cfRule.prepare(e,t)})}render(e,t){t.rules.some(s.isExt)&&(e.openNode(this.tag,{\"xmlns:xm\":\"http://schemas.microsoft.com/office/excel/2006/main\"}),t.rules.filter(s.isExt).forEach(t=>this.cfRule.render(e,t)),this.sqRef.render(e,t.ref),e.closeNode())}createNewModel(){return{rules:[]}}onParserClose(e,t){switch(e){case\"xm:sqref\":this.model.ref=t.model;break;case\"x14:cfRule\":this.model.rules.push(t.model)}}}},{\"../../composite-xform\":48,\"./cf-rule-ext-xform\":75,\"./sqref-ext-xform\":82}],78:[function(e,t,r){\"use strict\";const n=e(\"../../composite-xform\"),i=e(\"./cf-rule-ext-xform\"),s=e(\"./conditional-formatting-ext-xform\");t.exports=class extends n{constructor(){super(),this.map={\"x14:conditionalFormatting\":this.cfXform=new s}}get tag(){return\"x14:conditionalFormattings\"}hasContent(e){return void 0===e.hasExtContent&&(e.hasExtContent=e.some(e=>e.rules.some(i.isExt))),e.hasExtContent}prepare(e,t){e.forEach(e=>{this.cfXform.prepare(e,t)})}render(e,t){this.hasContent(t)&&(e.openNode(this.tag),t.forEach(t=>this.cfXform.render(e,t)),e.closeNode())}createNewModel(){return[]}onParserClose(e,t){this.model.push(t.model)}}},{\"../../composite-xform\":48,\"./cf-rule-ext-xform\":75,\"./conditional-formatting-ext-xform\":77}],79:[function(e,t,r){\"use strict\";const n=e(\"../../base-xform\"),i=e(\"../../composite-xform\"),s=e(\"../../style/color-xform\"),o=e(\"./cfvo-ext-xform\");t.exports=class extends i{constructor(){super(),this.map={\"x14:cfvo\":this.cfvoXform=new o,\"x14:borderColor\":this.borderColorXform=new s(\"x14:borderColor\"),\"x14:negativeBorderColor\":this.negativeBorderColorXform=new s(\"x14:negativeBorderColor\"),\"x14:negativeFillColor\":this.negativeFillColorXform=new s(\"x14:negativeFillColor\"),\"x14:axisColor\":this.axisColorXform=new s(\"x14:axisColor\")}}static isExt(e){return!e.gradient}get tag(){return\"x14:dataBar\"}render(e,t){e.openNode(this.tag,{minLength:n.toIntAttribute(t.minLength,0,!0),maxLength:n.toIntAttribute(t.maxLength,100,!0),border:n.toBoolAttribute(t.border,!1),gradient:n.toBoolAttribute(t.gradient,!0),negativeBarColorSameAsPositive:n.toBoolAttribute(t.negativeBarColorSameAsPositive,!0),negativeBarBorderColorSameAsPositive:n.toBoolAttribute(t.negativeBarBorderColorSameAsPositive,!0),axisPosition:n.toAttribute(t.axisPosition,\"auto\"),direction:n.toAttribute(t.direction,\"leftToRight\")}),t.cfvo.forEach(t=>{this.cfvoXform.render(e,t)}),this.borderColorXform.render(e,t.borderColor),this.negativeBorderColorXform.render(e,t.negativeBorderColor),this.negativeFillColorXform.render(e,t.negativeFillColor),this.axisColorXform.render(e,t.axisColor),e.closeNode()}createNewModel(e){let{attributes:t}=e;return{cfvo:[],minLength:n.toIntValue(t.minLength,0),maxLength:n.toIntValue(t.maxLength,100),border:n.toBoolValue(t.border,!1),gradient:n.toBoolValue(t.gradient,!0),negativeBarColorSameAsPositive:n.toBoolValue(t.negativeBarColorSameAsPositive,!0),negativeBarBorderColorSameAsPositive:n.toBoolValue(t.negativeBarBorderColorSameAsPositive,!0),axisPosition:n.toStringValue(t.axisPosition,\"auto\"),direction:n.toStringValue(t.direction,\"leftToRight\")}}onParserClose(e,t){const[,r]=e.split(\":\");switch(r){case\"cfvo\":this.model.cfvo.push(t.model);break;default:this.model[r]=t.model}}}},{\"../../base-xform\":32,\"../../composite-xform\":48,\"../../style/color-xform\":128,\"./cfvo-ext-xform\":76}],80:[function(e,t,r){\"use strict\";const n=e(\"../../base-xform\");t.exports=class extends n{get tag(){return\"xm:f\"}render(e,t){e.leafNode(this.tag,null,t)}parseOpen(){this.model=\"\"}parseText(e){this.model+=e}parseClose(e){return e!==this.tag}}},{\"../../base-xform\":32}],81:[function(e,t,r){\"use strict\";const n=e(\"../../base-xform\"),i=e(\"../../composite-xform\"),s=e(\"./cfvo-ext-xform\"),o=e(\"./cf-icon-ext-xform\");t.exports=class extends i{constructor(){super(),this.map={\"x14:cfvo\":this.cfvoXform=new s,\"x14:cfIcon\":this.cfIconXform=new o}}get tag(){return\"x14:iconSet\"}render(e,t){e.openNode(this.tag,{iconSet:n.toStringAttribute(t.iconSet),reverse:n.toBoolAttribute(t.reverse,!1),showValue:n.toBoolAttribute(t.showValue,!0),custom:n.toBoolAttribute(t.icons,!1)}),t.cfvo.forEach(t=>{this.cfvoXform.render(e,t)}),t.icons&&t.icons.forEach((t,r)=>{t.iconId=r,this.cfIconXform.render(e,t)}),e.closeNode()}createNewModel(e){let{attributes:t}=e;return{cfvo:[],iconSet:n.toStringValue(t.iconSet,\"3TrafficLights\"),reverse:n.toBoolValue(t.reverse,!1),showValue:n.toBoolValue(t.showValue,!0)}}onParserClose(e,t){const[,r]=e.split(\":\");switch(r){case\"cfvo\":this.model.cfvo.push(t.model);break;case\"cfIcon\":this.model.icons||(this.model.icons=[]),this.model.icons.push(t.model);break;default:this.model[r]=t.model}}}},{\"../../base-xform\":32,\"../../composite-xform\":48,\"./cf-icon-ext-xform\":74,\"./cfvo-ext-xform\":76}],82:[function(e,t,r){\"use strict\";const n=e(\"../../base-xform\");t.exports=class extends n{get tag(){return\"xm:sqref\"}render(e,t){e.leafNode(this.tag,null,t)}parseOpen(){this.model=\"\"}parseText(e){this.model+=e}parseClose(e){return e!==this.tag}}},{\"../../base-xform\":32}],83:[function(e,t,r){\"use strict\";const n=e(\"../../base-xform\"),i=e(\"../../composite-xform\"),s=e(\"../../../../doc/range\"),o=e(\"./databar-xform\"),a=e(\"./ext-lst-ref-xform\"),l=e(\"./formula-xform\"),c=e(\"./color-scale-xform\"),u=e(\"./icon-set-xform\"),h={\"3Triangles\":!0,\"3Stars\":!0,\"5Boxes\":!0},f=e=>{const{type:t,operator:r}=e;switch(t){case\"containsText\":case\"containsBlanks\":case\"notContainsBlanks\":case\"containsErrors\":case\"notContainsErrors\":return{type:\"containsText\",operator:t};default:return{type:t,operator:r}}};class d extends i{constructor(){super(),this.map={dataBar:this.databarXform=new o,extLst:this.extLstRefXform=new a,formula:this.formulaXform=new l,colorScale:this.colorScaleXform=new c,iconSet:this.iconSetXform=new u}}get tag(){return\"cfRule\"}static isPrimitive(e){return\"iconSet\"!==e.type||!e.custom&&!h[e.iconSet]}render(e,t){switch(t.type){case\"expression\":this.renderExpression(e,t);break;case\"cellIs\":this.renderCellIs(e,t);break;case\"top10\":this.renderTop10(e,t);break;case\"aboveAverage\":this.renderAboveAverage(e,t);break;case\"dataBar\":this.renderDataBar(e,t);break;case\"colorScale\":this.renderColorScale(e,t);break;case\"iconSet\":this.renderIconSet(e,t);break;case\"containsText\":this.renderText(e,t);break;case\"timePeriod\":this.renderTimePeriod(e,t)}}renderExpression(e,t){e.openNode(this.tag,{type:\"expression\",dxfId:t.dxfId,priority:t.priority}),this.formulaXform.render(e,t.formulae[0]),e.closeNode()}renderCellIs(e,t){e.openNode(this.tag,{type:\"cellIs\",dxfId:t.dxfId,priority:t.priority,operator:t.operator}),t.formulae.forEach(t=>{this.formulaXform.render(e,t)}),e.closeNode()}renderTop10(e,t){e.leafNode(this.tag,{type:\"top10\",dxfId:t.dxfId,priority:t.priority,percent:n.toBoolAttribute(t.percent,!1),bottom:n.toBoolAttribute(t.bottom,!1),rank:n.toIntValue(t.rank,10,!0)})}renderAboveAverage(e,t){e.leafNode(this.tag,{type:\"aboveAverage\",dxfId:t.dxfId,priority:t.priority,aboveAverage:n.toBoolAttribute(t.aboveAverage,!0)})}renderDataBar(e,t){e.openNode(this.tag,{type:\"dataBar\",priority:t.priority}),this.databarXform.render(e,t),this.extLstRefXform.render(e,t),e.closeNode()}renderColorScale(e,t){e.openNode(this.tag,{type:\"colorScale\",priority:t.priority}),this.colorScaleXform.render(e,t),e.closeNode()}renderIconSet(e,t){d.isPrimitive(t)&&(e.openNode(this.tag,{type:\"iconSet\",priority:t.priority}),this.iconSetXform.render(e,t),e.closeNode())}renderText(e,t){e.openNode(this.tag,{type:t.operator,dxfId:t.dxfId,priority:t.priority,operator:n.toStringAttribute(t.operator,\"containsText\")});const r=(e=>{if(e.formulae&&e.formulae[0])return e.formulae[0];const t=new s(e.ref),{tl:r}=t;switch(e.operator){case\"containsText\":return`NOT(ISERROR(SEARCH(\"${e.text}\",${r})))`;case\"containsBlanks\":return`LEN(TRIM(${r}))=0`;case\"notContainsBlanks\":return`LEN(TRIM(${r}))>0`;case\"containsErrors\":return`ISERROR(${r})`;case\"notContainsErrors\":return`NOT(ISERROR(${r}))`;default:return}})(t);r&&this.formulaXform.render(e,r),e.closeNode()}renderTimePeriod(e,t){e.openNode(this.tag,{type:\"timePeriod\",dxfId:t.dxfId,priority:t.priority,timePeriod:t.timePeriod});const r=(e=>{if(e.formulae&&e.formulae[0])return e.formulae[0];const t=new s(e.ref),{tl:r}=t;switch(e.timePeriod){case\"thisWeek\":return`AND(TODAY()-ROUNDDOWN(${r},0)<=WEEKDAY(TODAY())-1,ROUNDDOWN(${r},0)-TODAY()<=7-WEEKDAY(TODAY()))`;case\"lastWeek\":return`AND(TODAY()-ROUNDDOWN(${r},0)>=(WEEKDAY(TODAY())),TODAY()-ROUNDDOWN(${r},0)<(WEEKDAY(TODAY())+7))`;case\"nextWeek\":return`AND(ROUNDDOWN(${r},0)-TODAY()>(7-WEEKDAY(TODAY())),ROUNDDOWN(${r},0)-TODAY()<(15-WEEKDAY(TODAY())))`;case\"yesterday\":return`FLOOR(${r},1)=TODAY()-1`;case\"today\":return`FLOOR(${r},1)=TODAY()`;case\"tomorrow\":return`FLOOR(${r},1)=TODAY()+1`;case\"last7Days\":return`AND(TODAY()-FLOOR(${r},1)<=6,FLOOR(${r},1)<=TODAY())`;case\"lastMonth\":return`AND(MONTH(${r})=MONTH(EDATE(TODAY(),0-1)),YEAR(${r})=YEAR(EDATE(TODAY(),0-1)))`;case\"thisMonth\":return`AND(MONTH(${r})=MONTH(TODAY()),YEAR(${r})=YEAR(TODAY()))`;case\"nextMonth\":return`AND(MONTH(${r})=MONTH(EDATE(TODAY(),0+1)),YEAR(${r})=YEAR(EDATE(TODAY(),0+1)))`;default:return}})(t);r&&this.formulaXform.render(e,r),e.closeNode()}createNewModel(e){let{attributes:t}=e;return{...f(t),dxfId:n.toIntValue(t.dxfId),priority:n.toIntValue(t.priority),timePeriod:t.timePeriod,percent:n.toBoolValue(t.percent),bottom:n.toBoolValue(t.bottom),rank:n.toIntValue(t.rank),aboveAverage:n.toBoolValue(t.aboveAverage)}}onParserClose(e,t){switch(e){case\"dataBar\":case\"extLst\":case\"colorScale\":case\"iconSet\":Object.assign(this.model,t.model);break;case\"formula\":this.model.formulae=this.model.formulae||[],this.model.formulae.push(t.model)}}}t.exports=d},{\"../../../../doc/range\":10,\"../../base-xform\":32,\"../../composite-xform\":48,\"./color-scale-xform\":85,\"./databar-xform\":88,\"./ext-lst-ref-xform\":89,\"./formula-xform\":90,\"./icon-set-xform\":91}],84:[function(e,t,r){\"use strict\";const n=e(\"../../base-xform\");t.exports=class extends n{get tag(){return\"cfvo\"}render(e,t){e.leafNode(this.tag,{type:t.type,val:t.value})}parseOpen(e){this.model={type:e.attributes.type,value:n.toFloatValue(e.attributes.val)}}parseClose(e){return e!==this.tag}}},{\"../../base-xform\":32}],85:[function(e,t,r){\"use strict\";const n=e(\"../../composite-xform\"),i=e(\"../../style/color-xform\"),s=e(\"./cfvo-xform\");t.exports=class extends n{constructor(){super(),this.map={cfvo:this.cfvoXform=new s,color:this.colorXform=new i}}get tag(){return\"colorScale\"}render(e,t){e.openNode(this.tag),t.cfvo.forEach(t=>{this.cfvoXform.render(e,t)}),t.color.forEach(t=>{this.colorXform.render(e,t)}),e.closeNode()}createNewModel(e){return{cfvo:[],color:[]}}onParserClose(e,t){this.model[e].push(t.model)}}},{\"../../composite-xform\":48,\"../../style/color-xform\":128,\"./cfvo-xform\":84}],86:[function(e,t,r){\"use strict\";const n=e(\"../../composite-xform\"),i=e(\"./cf-rule-xform\");t.exports=class extends n{constructor(){super(),this.map={cfRule:new i}}get tag(){return\"conditionalFormatting\"}render(e,t){t.rules.some(i.isPrimitive)&&(e.openNode(this.tag,{sqref:t.ref}),t.rules.forEach(r=>{i.isPrimitive(r)&&(r.ref=t.ref,this.map.cfRule.render(e,r))}),e.closeNode())}createNewModel(e){let{attributes:t}=e;return{ref:t.sqref,rules:[]}}onParserClose(e,t){this.model.rules.push(t.model)}}},{\"../../composite-xform\":48,\"./cf-rule-xform\":83}],87:[function(e,t,r){\"use strict\";const n=e(\"../../base-xform\"),i=e(\"./conditional-formatting-xform\");t.exports=class extends n{constructor(){super(),this.cfXform=new i}get tag(){return\"conditionalFormatting\"}reset(){this.model=[]}prepare(e,t){let r=e.reduce((e,t)=>Math.max(e,...t.rules.map(e=>e.priority||0)),1);e.forEach(e=>{e.rules.forEach(e=>{e.priority||(e.priority=r++),e.style&&(e.dxfId=t.styles.addDxfStyle(e.style))})})}render(e,t){t.forEach(t=>{this.cfXform.render(e,t)})}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case\"conditionalFormatting\":return this.parser=this.cfXform,this.parser.parseOpen(e),!0;default:return!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){return!!this.parser&&(!!this.parser.parseClose(e)||(this.model.push(this.parser.model),this.parser=void 0,!1))}reconcile(e,t){e.forEach(e=>{e.rules.forEach(e=>{void 0!==e.dxfId&&(e.style=t.styles.getDxfStyle(e.dxfId),delete e.dxfId)})})}}},{\"../../base-xform\":32,\"./conditional-formatting-xform\":86}],88:[function(e,t,r){\"use strict\";const n=e(\"../../composite-xform\"),i=e(\"../../style/color-xform\"),s=e(\"./cfvo-xform\");t.exports=class extends n{constructor(){super(),this.map={cfvo:this.cfvoXform=new s,color:this.colorXform=new i}}get tag(){return\"dataBar\"}render(e,t){e.openNode(this.tag),t.cfvo.forEach(t=>{this.cfvoXform.render(e,t)}),this.colorXform.render(e,t.color),e.closeNode()}createNewModel(){return{cfvo:[]}}onParserClose(e,t){switch(e){case\"cfvo\":this.model.cfvo.push(t.model);break;case\"color\":this.model.color=t.model}}}},{\"../../composite-xform\":48,\"../../style/color-xform\":128,\"./cfvo-xform\":84}],89:[function(e,t,r){\"use strict\";const n=e(\"../../base-xform\"),i=e(\"../../composite-xform\");class s extends n{get tag(){return\"x14:id\"}render(e,t){e.leafNode(this.tag,null,t)}parseOpen(){this.model=\"\"}parseText(e){this.model+=e}parseClose(e){return e!==this.tag}}class o extends i{constructor(){super(),this.map={\"x14:id\":this.idXform=new s}}get tag(){return\"ext\"}render(e,t){e.openNode(this.tag,{uri:\"{B025F937-C7B1-47D3-B67F-A62EFF666E3E}\",\"xmlns:x14\":\"http://schemas.microsoft.com/office/spreadsheetml/2009/9/main\"}),this.idXform.render(e,t.x14Id),e.closeNode()}createNewModel(){return{}}onParserClose(e,t){this.model.x14Id=t.model}}t.exports=class extends i{constructor(){super(),this.map={ext:new o}}get tag(){return\"extLst\"}render(e,t){e.openNode(this.tag),this.map.ext.render(e,t),e.closeNode()}createNewModel(){return{}}onParserClose(e,t){Object.assign(this.model,t.model)}}},{\"../../base-xform\":32,\"../../composite-xform\":48}],90:[function(e,t,r){\"use strict\";const n=e(\"../../base-xform\");t.exports=class extends n{get tag(){return\"formula\"}render(e,t){e.leafNode(this.tag,null,t)}parseOpen(){this.model=\"\"}parseText(e){this.model+=e}parseClose(e){return e!==this.tag}}},{\"../../base-xform\":32}],91:[function(e,t,r){\"use strict\";const n=e(\"../../base-xform\"),i=e(\"../../composite-xform\"),s=e(\"./cfvo-xform\");t.exports=class extends i{constructor(){super(),this.map={cfvo:this.cfvoXform=new s}}get tag(){return\"iconSet\"}render(e,t){e.openNode(this.tag,{iconSet:n.toStringAttribute(t.iconSet,\"3TrafficLights\"),reverse:n.toBoolAttribute(t.reverse,!1),showValue:n.toBoolAttribute(t.showValue,!0)}),t.cfvo.forEach(t=>{this.cfvoXform.render(e,t)}),e.closeNode()}createNewModel(e){let{attributes:t}=e;return{iconSet:n.toStringValue(t.iconSet,\"3TrafficLights\"),reverse:n.toBoolValue(t.reverse),showValue:n.toBoolValue(t.showValue),cfvo:[]}}onParserClose(e,t){this.model[e].push(t.model)}}},{\"../../base-xform\":32,\"../../composite-xform\":48,\"./cfvo-xform\":84}],92:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/utils\"),i=e(\"../base-xform\");t.exports=class extends i{get tag(){return\"col\"}prepare(e,t){const r=t.styles.addStyleModel(e.style||{});r&&(e.styleId=r)}render(e,t){e.openNode(\"col\"),e.addAttribute(\"min\",t.min),e.addAttribute(\"max\",t.max),t.width&&e.addAttribute(\"width\",t.width),t.styleId&&e.addAttribute(\"style\",t.styleId),t.hidden&&e.addAttribute(\"hidden\",\"1\"),t.bestFit&&e.addAttribute(\"bestFit\",\"1\"),t.outlineLevel&&e.addAttribute(\"outlineLevel\",t.outlineLevel),t.collapsed&&e.addAttribute(\"collapsed\",\"1\"),e.addAttribute(\"customWidth\",\"1\"),e.closeNode()}parseOpen(e){if(\"col\"===e.name){const t=this.model={min:parseInt(e.attributes.min||\"0\",10),max:parseInt(e.attributes.max||\"0\",10),width:void 0===e.attributes.width?void 0:parseFloat(e.attributes.width||\"0\")};return e.attributes.style&&(t.styleId=parseInt(e.attributes.style,10)),n.parseBoolean(e.attributes.hidden)&&(t.hidden=!0),n.parseBoolean(e.attributes.bestFit)&&(t.bestFit=!0),e.attributes.outlineLevel&&(t.outlineLevel=parseInt(e.attributes.outlineLevel,10)),n.parseBoolean(e.attributes.collapsed)&&(t.collapsed=!0),!0}return!1}parseText(){}parseClose(){return!1}reconcile(e,t){e.styleId&&(e.style=t.styles.getStyleModel(e.styleId))}}},{\"../../../utils/utils\":27,\"../base-xform\":32}],93:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/under-dash\"),i=e(\"../../../utils/utils\"),s=e(\"../../../utils/col-cache\"),o=e(\"../base-xform\"),a=e(\"../../../doc/range\");function l(e,t,r,n){const i=t[r];void 0!==i?e[r]=i:void 0!==n&&(e[r]=n)}function c(e,t,r,n){const s=t[r];void 0!==s?e[r]=i.parseBoolean(s):void 0!==n&&(e[r]=n)}t.exports=class extends o{get tag(){return\"dataValidations\"}render(e,t){const r=function(e){const t=n.map(e,(e,t)=>({address:t,dataValidation:e,marked:!1})).sort((e,t)=>n.strcmp(e.address,t.address)),r=n.keyBy(t,\"address\"),i=(t,r,i)=>{for(let o=0;o<r;o++){const r=s.encodeAddress(t.row+o,i);if(!e[r]||!n.isEqual(e[t.address],e[r]))return!1}return!0};return t.map(t=>{if(!t.marked){const o=s.decodeEx(t.address);if(o.dimensions)return r[o.dimensions].marked=!0,{...t.dataValidation,sqref:t.address};let a=1,l=s.encodeAddress(o.row+a,o.col);for(;e[l]&&n.isEqual(t.dataValidation,e[l]);)a++,l=s.encodeAddress(o.row+a,o.col);let c=1;for(;i(o,a,o.col+c);)c++;for(let e=0;e<a;e++)for(let t=0;t<c;t++)l=s.encodeAddress(o.row+e,o.col+t),r[l].marked=!0;if(a>1||c>1){const e=o.row+(a-1),r=o.col+(c-1);return{...t.dataValidation,sqref:`${t.address}:${s.encodeAddress(e,r)}`}}return{...t.dataValidation,sqref:t.address}}return null}).filter(Boolean)}(t);r.length&&(e.openNode(\"dataValidations\",{count:r.length}),r.forEach(t=>{e.openNode(\"dataValidation\"),\"any\"!==t.type&&(e.addAttribute(\"type\",t.type),t.operator&&\"list\"!==t.type&&\"between\"!==t.operator&&e.addAttribute(\"operator\",t.operator),t.allowBlank&&e.addAttribute(\"allowBlank\",\"1\")),t.showInputMessage&&e.addAttribute(\"showInputMessage\",\"1\"),t.promptTitle&&e.addAttribute(\"promptTitle\",t.promptTitle),t.prompt&&e.addAttribute(\"prompt\",t.prompt),t.showErrorMessage&&e.addAttribute(\"showErrorMessage\",\"1\"),t.errorStyle&&e.addAttribute(\"errorStyle\",t.errorStyle),t.errorTitle&&e.addAttribute(\"errorTitle\",t.errorTitle),t.error&&e.addAttribute(\"error\",t.error),e.addAttribute(\"sqref\",t.sqref),(t.formulae||[]).forEach((r,n)=>{e.openNode(\"formula\"+(n+1)),\"date\"===t.type?e.writeText(i.dateToExcel(new Date(r))):e.writeText(r),e.closeNode()}),e.closeNode()}),e.closeNode())}parseOpen(e){switch(e.name){case\"dataValidations\":return this.model={},!0;case\"dataValidation\":{this._address=e.attributes.sqref;const t={type:e.attributes.type||\"any\",formulae:[]};switch(e.attributes.type&&c(t,e.attributes,\"allowBlank\"),c(t,e.attributes,\"showInputMessage\"),c(t,e.attributes,\"showErrorMessage\"),t.type){case\"any\":case\"list\":case\"custom\":break;default:l(t,e.attributes,\"operator\",\"between\")}return l(t,e.attributes,\"promptTitle\"),l(t,e.attributes,\"prompt\"),l(t,e.attributes,\"errorStyle\"),l(t,e.attributes,\"errorTitle\"),l(t,e.attributes,\"error\"),this._dataValidation=t,!0}case\"formula1\":case\"formula2\":return this._formula=[],!0;default:return!1}}parseText(e){this._formula&&this._formula.push(e)}parseClose(e){switch(e){case\"dataValidations\":return!1;case\"dataValidation\":this._dataValidation.formulae&&this._dataValidation.formulae.length||(delete this._dataValidation.formulae,delete this._dataValidation.operator);return(this._address.split(/\\s+/g)||[]).forEach(e=>{if(e.includes(\":\")){new a(e).forEachAddress(e=>{this.model[e]=this._dataValidation})}else this.model[e]=this._dataValidation}),!0;case\"formula1\":case\"formula2\":{let e=this._formula.join(\"\");switch(this._dataValidation.type){case\"whole\":case\"textLength\":e=parseInt(e,10);break;case\"decimal\":e=parseFloat(e);break;case\"date\":e=i.excelToDate(parseFloat(e))}return this._dataValidation.formulae.push(e),this._formula=void 0,!0}default:return!0}}}},{\"../../../doc/range\":10,\"../../../utils/col-cache\":19,\"../../../utils/under-dash\":26,\"../../../utils/utils\":27,\"../base-xform\":32}],94:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"dimension\"}render(e,t){t&&e.leafNode(\"dimension\",{ref:t})}parseOpen(e){return\"dimension\"===e.name&&(this.model=e.attributes.ref,!0)}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],95:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"drawing\"}render(e,t){t&&e.leafNode(this.tag,{\"r:id\":t.rId})}parseOpen(e){switch(e.name){case this.tag:return this.model={rId:e.attributes[\"r:id\"]},!0;default:return!1}}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],96:[function(e,t,r){\"use strict\";const n=e(\"../composite-xform\"),i=e(\"./cf-ext/conditional-formattings-ext-xform\");class s extends n{constructor(){super(),this.map={\"x14:conditionalFormattings\":this.conditionalFormattings=new i}}get tag(){return\"ext\"}hasContent(e){return this.conditionalFormattings.hasContent(e.conditionalFormattings)}prepare(e,t){this.conditionalFormattings.prepare(e.conditionalFormattings,t)}render(e,t){e.openNode(\"ext\",{uri:\"{78C0D931-6437-407d-A8EE-F0AAD7539E65}\",\"xmlns:x14\":\"http://schemas.microsoft.com/office/spreadsheetml/2009/9/main\"}),this.conditionalFormattings.render(e,t.conditionalFormattings),e.closeNode()}createNewModel(){return{}}onParserClose(e,t){this.model[e]=t.model}}t.exports=class extends n{constructor(){super(),this.map={ext:this.ext=new s}}get tag(){return\"extLst\"}prepare(e,t){this.ext.prepare(e,t)}hasContent(e){return this.ext.hasContent(e)}render(e,t){this.hasContent(t)&&(e.openNode(\"extLst\"),this.ext.render(e,t),e.closeNode())}createNewModel(){return{}}onParserClose(e,t){Object.assign(this.model,t.model)}}},{\"../composite-xform\":48,\"./cf-ext/conditional-formattings-ext-xform\":78}],97:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"headerFooter\"}render(e,t){if(t){e.addRollback();let r=!1;e.openNode(\"headerFooter\"),t.differentFirst&&(e.addAttribute(\"differentFirst\",\"1\"),r=!0),t.differentOddEven&&(e.addAttribute(\"differentOddEven\",\"1\"),r=!0),t.oddHeader&&\"string\"==typeof t.oddHeader&&(e.leafNode(\"oddHeader\",null,t.oddHeader),r=!0),t.oddFooter&&\"string\"==typeof t.oddFooter&&(e.leafNode(\"oddFooter\",null,t.oddFooter),r=!0),t.evenHeader&&\"string\"==typeof t.evenHeader&&(e.leafNode(\"evenHeader\",null,t.evenHeader),r=!0),t.evenFooter&&\"string\"==typeof t.evenFooter&&(e.leafNode(\"evenFooter\",null,t.evenFooter),r=!0),t.firstHeader&&\"string\"==typeof t.firstHeader&&(e.leafNode(\"firstHeader\",null,t.firstHeader),r=!0),t.firstFooter&&\"string\"==typeof t.firstFooter&&(e.leafNode(\"firstFooter\",null,t.firstFooter),r=!0),r?(e.closeNode(),e.commit()):e.rollback()}}parseOpen(e){switch(e.name){case\"headerFooter\":return this.model={},e.attributes.differentFirst&&(this.model.differentFirst=1===parseInt(e.attributes.differentFirst,0)),e.attributes.differentOddEven&&(this.model.differentOddEven=1===parseInt(e.attributes.differentOddEven,0)),!0;case\"oddHeader\":return this.currentNode=\"oddHeader\",!0;case\"oddFooter\":return this.currentNode=\"oddFooter\",!0;case\"evenHeader\":return this.currentNode=\"evenHeader\",!0;case\"evenFooter\":return this.currentNode=\"evenFooter\",!0;case\"firstHeader\":return this.currentNode=\"firstHeader\",!0;case\"firstFooter\":return this.currentNode=\"firstFooter\",!0;default:return!1}}parseText(e){switch(this.currentNode){case\"oddHeader\":this.model.oddHeader=e;break;case\"oddFooter\":this.model.oddFooter=e;break;case\"evenHeader\":this.model.evenHeader=e;break;case\"evenFooter\":this.model.evenFooter=e;break;case\"firstHeader\":this.model.firstHeader=e;break;case\"firstFooter\":this.model.firstFooter=e}}parseClose(){switch(this.currentNode){case\"oddHeader\":case\"oddFooter\":case\"evenHeader\":case\"evenFooter\":case\"firstHeader\":case\"firstFooter\":return this.currentNode=void 0,!0;default:return!1}}}},{\"../base-xform\":32}],98:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"hyperlink\"}render(e,t){this.isInternalLink(t)?e.leafNode(\"hyperlink\",{ref:t.address,\"r:id\":t.rId,tooltip:t.tooltip,location:t.target}):e.leafNode(\"hyperlink\",{ref:t.address,\"r:id\":t.rId,tooltip:t.tooltip})}parseOpen(e){return\"hyperlink\"===e.name&&(this.model={address:e.attributes.ref,rId:e.attributes[\"r:id\"],tooltip:e.attributes.tooltip},e.attributes.location&&(this.model.target=e.attributes.location),!0)}parseText(){}parseClose(){return!1}isInternalLink(e){return e.target&&/^[^!]+![a-zA-Z]+[\\d]+$/.test(e.target)}}},{\"../base-xform\":32}],99:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"mergeCell\"}render(e,t){e.leafNode(\"mergeCell\",{ref:t})}parseOpen(e){return\"mergeCell\"===e.name&&(this.model=e.attributes.ref,!0)}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],100:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/under-dash\"),i=e(\"../../../doc/range\"),s=e(\"../../../utils/col-cache\"),o=e(\"../../../doc/enums\");t.exports=class{constructor(){this.merges={}}add(e){if(this.merges[e.master])this.merges[e.master].expandToAddress(e.address);else{const t=`${e.master}:${e.address}`;this.merges[e.master]=new i(t)}}get mergeCells(){return n.map(this.merges,e=>e.range)}reconcile(e,t){n.each(e,e=>{const r=s.decode(e);for(let e=r.top;e<=r.bottom;e++){const n=t[e-1];for(let t=r.left;t<=r.right;t++){const i=n.cells[t-1];i?i.type===o.ValueType.Merge&&(i.master=r.tl):n.cells[t]={type:o.ValueType.Null,address:s.encodeAddress(e,t)}}}})}getMasterAddress(e){const t=this.hash[e];return t&&t.tl}}},{\"../../../doc/enums\":7,\"../../../doc/range\":10,\"../../../utils/col-cache\":19,\"../../../utils/under-dash\":26}],101:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i=e=>void 0!==e;t.exports=class extends n{get tag(){return\"outlinePr\"}render(e,t){return!(!t||!i(t.summaryBelow)&&!i(t.summaryRight))&&(e.leafNode(this.tag,{summaryBelow:i(t.summaryBelow)?Number(t.summaryBelow):void 0,summaryRight:i(t.summaryRight)?Number(t.summaryRight):void 0}),!0)}parseOpen(e){return e.name===this.tag&&(this.model={summaryBelow:i(e.attributes.summaryBelow)?Boolean(Number(e.attributes.summaryBelow)):void 0,summaryRight:i(e.attributes.summaryRight)?Boolean(Number(e.attributes.summaryRight)):void 0},!0)}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],102:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"brk\"}render(e,t){e.leafNode(\"brk\",t)}parseOpen(e){return\"brk\"===e.name&&(this.model=e.attributes.ref,!0)}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],103:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/under-dash\"),i=e(\"../base-xform\");t.exports=class extends i{get tag(){return\"pageMargins\"}render(e,t){if(t){const r={left:t.left,right:t.right,top:t.top,bottom:t.bottom,header:t.header,footer:t.footer};n.some(r,e=>void 0!==e)&&e.leafNode(this.tag,r)}}parseOpen(e){switch(e.name){case this.tag:return this.model={left:parseFloat(e.attributes.left||.7),right:parseFloat(e.attributes.right||.7),top:parseFloat(e.attributes.top||.75),bottom:parseFloat(e.attributes.bottom||.75),header:parseFloat(e.attributes.header||.3),footer:parseFloat(e.attributes.footer||.3)},!0;default:return!1}}parseText(){}parseClose(){return!1}}},{\"../../../utils/under-dash\":26,\"../base-xform\":32}],104:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"pageSetUpPr\"}render(e,t){return!(!t||!t.fitToPage)&&(e.leafNode(this.tag,{fitToPage:t.fitToPage?\"1\":void 0}),!0)}parseOpen(e){return e.name===this.tag&&(this.model={fitToPage:\"1\"===e.attributes.fitToPage},!0)}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],105:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/under-dash\"),i=e(\"../base-xform\");function s(e){return e?\"1\":void 0}function o(e){switch(e){case\"overThenDown\":return e;default:return}}function a(e){switch(e){case\"atEnd\":case\"asDisplyed\":return e;default:return}}function l(e){switch(e){case\"dash\":case\"blank\":case\"NA\":return e;default:return}}t.exports=class extends i{get tag(){return\"pageSetup\"}render(e,t){if(t){const r={paperSize:t.paperSize,orientation:t.orientation,horizontalDpi:t.horizontalDpi,verticalDpi:t.verticalDpi,pageOrder:o(t.pageOrder),blackAndWhite:s(t.blackAndWhite),draft:s(t.draft),cellComments:a(t.cellComments),errors:l(t.errors),scale:t.scale,fitToWidth:t.fitToWidth,fitToHeight:t.fitToHeight,firstPageNumber:t.firstPageNumber,useFirstPageNumber:s(t.firstPageNumber),usePrinterDefaults:s(t.usePrinterDefaults),copies:t.copies};n.some(r,e=>void 0!==e)&&e.leafNode(this.tag,r)}}parseOpen(e){switch(e.name){case this.tag:return this.model={paperSize:(t=e.attributes.paperSize,void 0!==t?parseInt(t,10):void 0),orientation:e.attributes.orientation||\"portrait\",horizontalDpi:parseInt(e.attributes.horizontalDpi||\"4294967295\",10),verticalDpi:parseInt(e.attributes.verticalDpi||\"4294967295\",10),pageOrder:e.attributes.pageOrder||\"downThenOver\",blackAndWhite:\"1\"===e.attributes.blackAndWhite,draft:\"1\"===e.attributes.draft,cellComments:e.attributes.cellComments||\"None\",errors:e.attributes.errors||\"displayed\",scale:parseInt(e.attributes.scale||\"100\",10),fitToWidth:parseInt(e.attributes.fitToWidth||\"1\",10),fitToHeight:parseInt(e.attributes.fitToHeight||\"1\",10),firstPageNumber:parseInt(e.attributes.firstPageNumber||\"1\",10),useFirstPageNumber:\"1\"===e.attributes.useFirstPageNumber,usePrinterDefaults:\"1\"===e.attributes.usePrinterDefaults,copies:parseInt(e.attributes.copies||\"1\",10)},!0;default:return!1}var t}parseText(){}parseClose(){return!1}}},{\"../../../utils/under-dash\":26,\"../base-xform\":32}],106:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"picture\"}render(e,t){t&&e.leafNode(this.tag,{\"r:id\":t.rId})}parseOpen(e){switch(e.name){case this.tag:return this.model={rId:e.attributes[\"r:id\"]},!0;default:return!1}}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],107:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/under-dash\"),i=e(\"../base-xform\");function s(e){return e?\"1\":void 0}t.exports=class extends i{get tag(){return\"printOptions\"}render(e,t){if(t){const r={headings:s(t.showRowColHeaders),gridLines:s(t.showGridLines),horizontalCentered:s(t.horizontalCentered),verticalCentered:s(t.verticalCentered)};n.some(r,e=>void 0!==e)&&e.leafNode(this.tag,r)}}parseOpen(e){switch(e.name){case this.tag:return this.model={showRowColHeaders:\"1\"===e.attributes.headings,showGridLines:\"1\"===e.attributes.gridLines,horizontalCentered:\"1\"===e.attributes.horizontalCentered,verticalCentered:\"1\"===e.attributes.verticalCentered},!0;default:return!1}}parseText(){}parseClose(){return!1}}},{\"../../../utils/under-dash\":26,\"../base-xform\":32}],108:[function(e,t,r){\"use strict\";const n=e(\"./page-breaks-xform\"),i=e(\"../list-xform\");t.exports=class extends i{constructor(){super({tag:\"rowBreaks\",count:!0,childXform:new n})}render(e,t){if(t&&t.length){e.openNode(this.tag,this.$),this.count&&(e.addAttribute(this.$count,t.length),e.addAttribute(\"manualBreakCount\",t.length));const{childXform:r}=this;t.forEach(t=>{r.render(e,t)}),e.closeNode()}else this.empty&&e.leafNode(this.tag)}}},{\"../list-xform\":71,\"./page-breaks-xform\":102}],109:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i=e(\"../../../utils/utils\"),s=e(\"./cell-xform\");t.exports=class extends n{constructor(e){super(),this.maxItems=e&&e.maxItems,this.map={c:new s}}get tag(){return\"row\"}prepare(e,t){const r=t.styles.addStyleModel(e.style);r&&(e.styleId=r);const n=this.map.c;e.cells.forEach(e=>{n.prepare(e,t)})}render(e,t,r){e.openNode(\"row\"),e.addAttribute(\"r\",t.number),t.height&&(e.addAttribute(\"ht\",t.height),e.addAttribute(\"customHeight\",\"1\")),t.hidden&&e.addAttribute(\"hidden\",\"1\"),t.min>0&&t.max>0&&t.min<=t.max&&e.addAttribute(\"spans\",`${t.min}:${t.max}`),t.styleId&&(e.addAttribute(\"s\",t.styleId),e.addAttribute(\"customFormat\",\"1\")),e.addAttribute(\"x14ac:dyDescent\",\"0.25\"),t.outlineLevel&&e.addAttribute(\"outlineLevel\",t.outlineLevel),t.collapsed&&e.addAttribute(\"collapsed\",\"1\");const n=this.map.c;t.cells.forEach(t=>{n.render(e,t,r)}),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;if(\"row\"===e.name){this.numRowsSeen+=1;const t=e.attributes.spans?e.attributes.spans.split(\":\").map(e=>parseInt(e,10)):[void 0,void 0],r=this.model={number:parseInt(e.attributes.r,10),min:t[0],max:t[1],cells:[]};return e.attributes.s&&(r.styleId=parseInt(e.attributes.s,10)),i.parseBoolean(e.attributes.hidden)&&(r.hidden=!0),i.parseBoolean(e.attributes.bestFit)&&(r.bestFit=!0),e.attributes.ht&&(r.height=parseFloat(e.attributes.ht)),e.attributes.outlineLevel&&(r.outlineLevel=parseInt(e.attributes.outlineLevel,10)),i.parseBoolean(e.attributes.collapsed)&&(r.collapsed=!0),!0}return this.parser=this.map[e.name],!!this.parser&&(this.parser.parseOpen(e),!0)}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser){if(!this.parser.parseClose(e)){if(this.model.cells.push(this.parser.model),this.maxItems&&this.model.cells.length>this.maxItems)throw new Error(`Max column count (${this.maxItems}) exceeded`);this.parser=void 0}return!0}return!1}reconcile(e,t){e.style=e.styleId?t.styles.getStyleModel(e.styleId):{},void 0!==e.styleId&&(e.styleId=void 0);const r=this.map.c;e.cells.forEach(e=>{r.reconcile(e,t)})}}},{\"../../../utils/utils\":27,\"../base-xform\":32,\"./cell-xform\":73}],110:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/under-dash\"),i=e(\"../base-xform\");t.exports=class extends i{get tag(){return\"sheetFormatPr\"}render(e,t){if(t){const r={defaultRowHeight:t.defaultRowHeight,outlineLevelRow:t.outlineLevelRow,outlineLevelCol:t.outlineLevelCol,\"x14ac:dyDescent\":t.dyDescent};t.defaultColWidth&&(r.defaultColWidth=t.defaultColWidth),t.defaultRowHeight&&15===t.defaultRowHeight||(r.customHeight=\"1\"),n.some(r,e=>void 0!==e)&&e.leafNode(\"sheetFormatPr\",r)}}parseOpen(e){return\"sheetFormatPr\"===e.name&&(this.model={defaultRowHeight:parseFloat(e.attributes.defaultRowHeight||\"0\"),dyDescent:parseFloat(e.attributes[\"x14ac:dyDescent\"]||\"0\"),outlineLevelRow:parseInt(e.attributes.outlineLevelRow||\"0\",10),outlineLevelCol:parseInt(e.attributes.outlineLevelCol||\"0\",10)},e.attributes.defaultColWidth&&(this.model.defaultColWidth=parseFloat(e.attributes.defaultColWidth)),!0)}parseText(){}parseClose(){return!1}}},{\"../../../utils/under-dash\":26,\"../base-xform\":32}],111:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i=e(\"../style/color-xform\"),s=e(\"./page-setup-properties-xform\"),o=e(\"./outline-properties-xform\");t.exports=class extends n{constructor(){super(),this.map={tabColor:new i(\"tabColor\"),pageSetUpPr:new s,outlinePr:new o}}get tag(){return\"sheetPr\"}render(e,t){if(t){e.addRollback(),e.openNode(\"sheetPr\");let r=!1;r=this.map.tabColor.render(e,t.tabColor)||r,r=this.map.pageSetUpPr.render(e,t.pageSetup)||r,r=this.map.outlinePr.render(e,t.outlineProperties)||r,r?(e.closeNode(),e.commit()):e.rollback()}}parseOpen(e){return this.parser?(this.parser.parseOpen(e),!0):e.name===this.tag?(this.reset(),!0):!!this.map[e.name]&&(this.parser=this.map[e.name],this.parser.parseOpen(e),!0)}parseText(e){return!!this.parser&&(this.parser.parseText(e),!0)}parseClose(e){return this.parser?(this.parser.parseClose(e)||(this.parser=void 0),!0):(this.map.tabColor.model||this.map.pageSetUpPr.model||this.map.outlinePr.model?(this.model={},this.map.tabColor.model&&(this.model.tabColor=this.map.tabColor.model),this.map.pageSetUpPr.model&&(this.model.pageSetup=this.map.pageSetUpPr.model),this.map.outlinePr.model&&(this.model.outlineProperties=this.map.outlinePr.model)):this.model=null,!1)}}},{\"../base-xform\":32,\"../style/color-xform\":128,\"./outline-properties-xform\":101,\"./page-setup-properties-xform\":104}],112:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/under-dash\"),i=e(\"../base-xform\");function s(e,t){return e?t:void 0}function o(e,t){return e===t||void 0}t.exports=class extends i{get tag(){return\"sheetProtection\"}render(e,t){if(t){const r={sheet:s(t.sheet,\"1\"),selectLockedCells:!1===t.selectLockedCells?\"1\":void 0,selectUnlockedCells:!1===t.selectUnlockedCells?\"1\":void 0,formatCells:s(t.formatCells,\"0\"),formatColumns:s(t.formatColumns,\"0\"),formatRows:s(t.formatRows,\"0\"),insertColumns:s(t.insertColumns,\"0\"),insertRows:s(t.insertRows,\"0\"),insertHyperlinks:s(t.insertHyperlinks,\"0\"),deleteColumns:s(t.deleteColumns,\"0\"),deleteRows:s(t.deleteRows,\"0\"),sort:s(t.sort,\"0\"),autoFilter:s(t.autoFilter,\"0\"),pivotTables:s(t.pivotTables,\"0\")};t.sheet&&(r.algorithmName=t.algorithmName,r.hashValue=t.hashValue,r.saltValue=t.saltValue,r.spinCount=t.spinCount,r.objects=s(!1===t.objects,\"1\"),r.scenarios=s(!1===t.scenarios,\"1\")),n.some(r,e=>void 0!==e)&&e.leafNode(this.tag,r)}}parseOpen(e){switch(e.name){case this.tag:return this.model={sheet:o(e.attributes.sheet,\"1\"),objects:\"1\"!==e.attributes.objects&&void 0,scenarios:\"1\"!==e.attributes.scenarios&&void 0,selectLockedCells:\"1\"!==e.attributes.selectLockedCells&&void 0,selectUnlockedCells:\"1\"!==e.attributes.selectUnlockedCells&&void 0,formatCells:o(e.attributes.formatCells,\"0\"),formatColumns:o(e.attributes.formatColumns,\"0\"),formatRows:o(e.attributes.formatRows,\"0\"),insertColumns:o(e.attributes.insertColumns,\"0\"),insertRows:o(e.attributes.insertRows,\"0\"),insertHyperlinks:o(e.attributes.insertHyperlinks,\"0\"),deleteColumns:o(e.attributes.deleteColumns,\"0\"),deleteRows:o(e.attributes.deleteRows,\"0\"),sort:o(e.attributes.sort,\"0\"),autoFilter:o(e.attributes.autoFilter,\"0\"),pivotTables:o(e.attributes.pivotTables,\"0\")},e.attributes.algorithmName&&(this.model.algorithmName=e.attributes.algorithmName,this.model.hashValue=e.attributes.hashValue,this.model.saltValue=e.attributes.saltValue,this.model.spinCount=parseInt(e.attributes.spinCount,10)),!0;default:return!1}}parseText(){}parseClose(){return!1}}},{\"../../../utils/under-dash\":26,\"../base-xform\":32}],113:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/col-cache\"),i=e(\"../base-xform\"),s={frozen:\"frozen\",frozenSplit:\"frozen\",split:\"split\"};t.exports=class extends i{get tag(){return\"sheetView\"}prepare(e){switch(e.state){case\"frozen\":case\"split\":break;default:e.state=\"normal\"}}render(e,t){e.openNode(\"sheetView\",{workbookViewId:t.workbookViewId||0});const r=function(t,r,n){n&&e.addAttribute(t,r)};let i,s,o,a;switch(r(\"rightToLeft\",\"1\",!0===t.rightToLeft),r(\"tabSelected\",\"1\",t.tabSelected),r(\"showRuler\",\"0\",!1===t.showRuler),r(\"showRowColHeaders\",\"0\",!1===t.showRowColHeaders),r(\"showGridLines\",\"0\",!1===t.showGridLines),r(\"zoomScale\",t.zoomScale,t.zoomScale),r(\"zoomScaleNormal\",t.zoomScaleNormal,t.zoomScaleNormal),r(\"view\",t.style,t.style),t.state){case\"frozen\":s=t.xSplit||0,o=t.ySplit||0,i=t.topLeftCell||n.getAddress(o+1,s+1).address,a=(t.xSplit&&t.ySplit?\"bottomRight\":t.xSplit&&\"topRight\")||\"bottomLeft\",e.leafNode(\"pane\",{xSplit:t.xSplit||void 0,ySplit:t.ySplit||void 0,topLeftCell:i,activePane:a,state:\"frozen\"}),e.leafNode(\"selection\",{pane:a,activeCell:t.activeCell,sqref:t.activeCell});break;case\"split\":\"topLeft\"===t.activePane&&(t.activePane=void 0),e.leafNode(\"pane\",{xSplit:t.xSplit||void 0,ySplit:t.ySplit||void 0,topLeftCell:t.topLeftCell,activePane:t.activePane}),e.leafNode(\"selection\",{pane:t.activePane,activeCell:t.activeCell,sqref:t.activeCell});break;case\"normal\":t.activeCell&&e.leafNode(\"selection\",{activeCell:t.activeCell,sqref:t.activeCell})}e.closeNode()}parseOpen(e){switch(e.name){case\"sheetView\":return this.sheetView={workbookViewId:parseInt(e.attributes.workbookViewId,10),rightToLeft:\"1\"===e.attributes.rightToLeft,tabSelected:\"1\"===e.attributes.tabSelected,showRuler:!(\"0\"===e.attributes.showRuler),showRowColHeaders:!(\"0\"===e.attributes.showRowColHeaders),showGridLines:!(\"0\"===e.attributes.showGridLines),zoomScale:parseInt(e.attributes.zoomScale||\"100\",10),zoomScaleNormal:parseInt(e.attributes.zoomScaleNormal||\"100\",10),style:e.attributes.view},this.pane=void 0,this.selections={},!0;case\"pane\":return this.pane={xSplit:parseInt(e.attributes.xSplit||\"0\",10),ySplit:parseInt(e.attributes.ySplit||\"0\",10),topLeftCell:e.attributes.topLeftCell,activePane:e.attributes.activePane||\"topLeft\",state:e.attributes.state},!0;case\"selection\":{const t=e.attributes.pane||\"topLeft\";return this.selections[t]={pane:t,activeCell:e.attributes.activeCell},!0}default:return!1}}parseText(){}parseClose(e){let t,r;switch(e){case\"sheetView\":return this.sheetView&&this.pane?(t=this.model={workbookViewId:this.sheetView.workbookViewId,rightToLeft:this.sheetView.rightToLeft,state:s[this.pane.state]||\"split\",xSplit:this.pane.xSplit,ySplit:this.pane.ySplit,topLeftCell:this.pane.topLeftCell,showRuler:this.sheetView.showRuler,showRowColHeaders:this.sheetView.showRowColHeaders,showGridLines:this.sheetView.showGridLines,zoomScale:this.sheetView.zoomScale,zoomScaleNormal:this.sheetView.zoomScaleNormal},\"split\"===this.model.state&&(t.activePane=this.pane.activePane),r=this.selections[this.pane.activePane],r&&r.activeCell&&(t.activeCell=r.activeCell),this.sheetView.style&&(t.style=this.sheetView.style)):(t=this.model={workbookViewId:this.sheetView.workbookViewId,rightToLeft:this.sheetView.rightToLeft,state:\"normal\",showRuler:this.sheetView.showRuler,showRowColHeaders:this.sheetView.showRowColHeaders,showGridLines:this.sheetView.showGridLines,zoomScale:this.sheetView.zoomScale,zoomScaleNormal:this.sheetView.zoomScaleNormal},r=this.selections.topLeft,r&&r.activeCell&&(t.activeCell=r.activeCell),this.sheetView.style&&(t.style=this.sheetView.style)),!1;default:return!0}}reconcile(){}}},{\"../../../utils/col-cache\":19,\"../base-xform\":32}],114:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"tablePart\"}render(e,t){t&&e.leafNode(this.tag,{\"r:id\":t.rId})}parseOpen(e){switch(e.name){case this.tag:return this.model={rId:e.attributes[\"r:id\"]},!0;default:return!1}}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],115:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/under-dash\"),i=e(\"../../../utils/col-cache\"),s=e(\"../../../utils/xml-stream\"),o=e(\"../../rel-type\"),a=e(\"./merges\"),l=e(\"../base-xform\"),c=e(\"../list-xform\"),u=e(\"./row-xform\"),h=e(\"./col-xform\"),f=e(\"./dimension-xform\"),d=e(\"./hyperlink-xform\"),p=e(\"./merge-cell-xform\"),m=e(\"./data-validations-xform\"),b=e(\"./sheet-properties-xform\"),g=e(\"./sheet-format-properties-xform\"),y=e(\"./sheet-view-xform\"),v=e(\"./sheet-protection-xform\"),w=e(\"./page-margins-xform\"),_=e(\"./page-setup-xform\"),x=e(\"./print-options-xform\"),k=e(\"./auto-filter-xform\"),S=e(\"./picture-xform\"),M=e(\"./drawing-xform\"),C=e(\"./table-part-xform\"),T=e(\"./row-breaks-xform\"),E=e(\"./header-footer-xform\"),A=e(\"./cf/conditional-formattings-xform\"),R=e(\"./ext-lst-xform\"),O=(e,t)=>{if(!t||!t.length)return e;if(!e||!e.length)return t;const r={},n={};return e.forEach(e=>{r[e.ref]=e,e.rules.forEach(e=>{const{x14Id:t}=e;t&&(n[t]=e)})}),t.forEach(t=>{t.rules.forEach(i=>{const s=n[i.x14Id];s?((e,t)=>{Object.keys(t).forEach(r=>{const n=e[r],i=t[r];void 0===n&&void 0!==i&&(e[r]=i)})})(s,i):r[t.ref]?r[t.ref].rules.push(i):e.push({ref:t.ref,rules:[i]})})}),e};class j extends l{constructor(e){super();const{maxRows:t,maxCols:r,ignoreNodes:n}=e||{};this.ignoreNodes=n||[],this.map={sheetPr:new b,dimension:new f,sheetViews:new c({tag:\"sheetViews\",count:!1,childXform:new y}),sheetFormatPr:new g,cols:new c({tag:\"cols\",count:!1,childXform:new h}),sheetData:new c({tag:\"sheetData\",count:!1,empty:!0,childXform:new u({maxItems:r}),maxItems:t}),autoFilter:new k,mergeCells:new c({tag:\"mergeCells\",count:!0,childXform:new p}),rowBreaks:new T,hyperlinks:new c({tag:\"hyperlinks\",count:!1,childXform:new d}),pageMargins:new w,dataValidations:new m,pageSetup:new _,headerFooter:new E,printOptions:new x,picture:new S,drawing:new M,sheetProtection:new v,tableParts:new c({tag:\"tableParts\",count:!0,childXform:new C}),conditionalFormatting:new A,extLst:new R}}prepare(e,t){t.merges=new a,e.hyperlinks=t.hyperlinks=[],e.comments=t.comments=[],t.formulae={},t.siFormulae=0,this.map.cols.prepare(e.cols,t),this.map.sheetData.prepare(e.rows,t),this.map.conditionalFormatting.prepare(e.conditionalFormattings,t),e.mergeCells=t.merges.mergeCells;const r=e.rels=[];function n(e){return\"rId\"+(e.length+1)}if(e.hyperlinks.forEach(e=>{const t=n(r);e.rId=t,r.push({Id:t,Type:o.Hyperlink,Target:e.target,TargetMode:\"External\"})}),e.comments.length>0){const s={Id:n(r),Type:o.Comments,Target:`../comments${e.id}.xml`};r.push(s);const a={Id:n(r),Type:o.VmlDrawing,Target:`../drawings/vmlDrawing${e.id}.vml`};r.push(a),e.comments.forEach(e=>{e.refAddress=i.decodeAddress(e.ref)}),t.commentRefs.push({commentName:\"comments\"+e.id,vmlDrawing:\"vmlDrawing\"+e.id})}const s=[];let l;e.media.forEach(i=>{if(\"background\"===i.type){const s=n(r);l=t.media[i.imageId],r.push({Id:s,Type:o.Image,Target:`../media/${l.name}.${l.extension}`}),e.background={rId:s},e.image=t.media[i.imageId]}else if(\"image\"===i.type){let{drawing:a}=e;l=t.media[i.imageId],a||(a=e.drawing={rId:n(r),name:\"drawing\"+ ++t.drawingsCount,anchors:[],rels:[]},t.drawings.push(a),r.push({Id:a.rId,Type:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\",Target:`../drawings/${a.name}.xml`}));let c=this.preImageId===i.imageId?s[i.imageId]:s[a.rels.length];c||(c=n(a.rels),s[a.rels.length]=c,a.rels.push({Id:c,Type:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",Target:`../media/${l.name}.${l.extension}`}));const u={picture:{rId:c},range:i.range};if(i.hyperlinks&&i.hyperlinks.hyperlink){const e=n(a.rels);s[a.rels.length]=e,u.picture.hyperlinks={tooltip:i.hyperlinks.tooltip,rId:e},a.rels.push({Id:e,Type:o.Hyperlink,Target:i.hyperlinks.hyperlink,TargetMode:\"External\"})}this.preImageId=i.imageId,a.anchors.push(u)}}),e.tables.forEach(e=>{const i=n(r);e.rId=i,r.push({Id:i,Type:o.Table,Target:\"../tables/\"+e.target}),e.columns.forEach(e=>{const{style:r}=e;r&&(e.dxfId=t.styles.addDxfStyle(r))})}),this.map.extLst.prepare(e,t)}render(e,t){e.openXml(s.StdDocAttributes),e.openNode(\"worksheet\",j.WORKSHEET_ATTRIBUTES);const r=t.properties?{defaultRowHeight:t.properties.defaultRowHeight,dyDescent:t.properties.dyDescent,outlineLevelCol:t.properties.outlineLevelCol,outlineLevelRow:t.properties.outlineLevelRow}:void 0;t.properties&&t.properties.defaultColWidth&&(r.defaultColWidth=t.properties.defaultColWidth);const n={outlineProperties:t.properties&&t.properties.outlineProperties,tabColor:t.properties&&t.properties.tabColor,pageSetup:t.pageSetup&&t.pageSetup.fitToPage?{fitToPage:t.pageSetup.fitToPage}:void 0},i=t.pageSetup&&t.pageSetup.margins,a={showRowColHeaders:t.pageSetup&&t.pageSetup.showRowColHeaders,showGridLines:t.pageSetup&&t.pageSetup.showGridLines,horizontalCentered:t.pageSetup&&t.pageSetup.horizontalCentered,verticalCentered:t.pageSetup&&t.pageSetup.verticalCentered},l=t.sheetProtection;this.map.sheetPr.render(e,n),this.map.dimension.render(e,t.dimensions),this.map.sheetViews.render(e,t.views),this.map.sheetFormatPr.render(e,r),this.map.cols.render(e,t.cols),this.map.sheetData.render(e,t.rows),this.map.sheetProtection.render(e,l),this.map.autoFilter.render(e,t.autoFilter),this.map.mergeCells.render(e,t.mergeCells),this.map.conditionalFormatting.render(e,t.conditionalFormattings),this.map.dataValidations.render(e,t.dataValidations),this.map.hyperlinks.render(e,t.hyperlinks),this.map.printOptions.render(e,a),this.map.pageMargins.render(e,i),this.map.pageSetup.render(e,t.pageSetup),this.map.headerFooter.render(e,t.headerFooter),this.map.rowBreaks.render(e,t.rowBreaks),this.map.drawing.render(e,t.drawing),this.map.picture.render(e,t.background),this.map.tableParts.render(e,t.tables),this.map.extLst.render(e,t),t.rels&&t.rels.forEach(t=>{t.Type===o.VmlDrawing&&e.leafNode(\"legacyDrawing\",{\"r:id\":t.Id})}),e.closeNode()}parseOpen(e){return this.parser?(this.parser.parseOpen(e),!0):\"worksheet\"===e.name?(n.each(this.map,e=>{e.reset()}),!0):(this.map[e.name]&&!this.ignoreNodes.includes(e.name)&&(this.parser=this.map[e.name],this.parser.parseOpen(e)),!0)}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case\"worksheet\":{const e=this.map.sheetFormatPr.model||{};this.map.sheetPr.model&&this.map.sheetPr.model.tabColor&&(e.tabColor=this.map.sheetPr.model.tabColor),this.map.sheetPr.model&&this.map.sheetPr.model.outlineProperties&&(e.outlineProperties=this.map.sheetPr.model.outlineProperties);const t={fitToPage:this.map.sheetPr.model&&this.map.sheetPr.model.pageSetup&&this.map.sheetPr.model.pageSetup.fitToPage||!1,margins:this.map.pageMargins.model},r=Object.assign(t,this.map.pageSetup.model,this.map.printOptions.model),n=O(this.map.conditionalFormatting.model,this.map.extLst.model&&this.map.extLst.model[\"x14:conditionalFormattings\"]);return this.model={dimensions:this.map.dimension.model,cols:this.map.cols.model,rows:this.map.sheetData.model,mergeCells:this.map.mergeCells.model,hyperlinks:this.map.hyperlinks.model,dataValidations:this.map.dataValidations.model,properties:e,views:this.map.sheetViews.model,pageSetup:r,headerFooter:this.map.headerFooter.model,background:this.map.picture.model,drawing:this.map.drawing.model,tables:this.map.tableParts.model,conditionalFormattings:n},this.map.autoFilter.model&&(this.model.autoFilter=this.map.autoFilter.model),this.map.sheetProtection.model&&(this.model.sheetProtection=this.map.sheetProtection.model),!1}default:return!0}}reconcile(e,t){const r=(e.relationships||[]).reduce((r,n)=>{if(r[n.Id]=n,n.Type===o.Comments&&(e.comments=t.comments[n.Target].comments),n.Type===o.VmlDrawing&&e.comments&&e.comments.length){const r=t.vmlDrawings[n.Target].comments;e.comments.forEach((e,t)=>{e.note=Object.assign({},e.note,r[t])})}return r},{});if(t.commentsMap=(e.comments||[]).reduce((e,t)=>(t.ref&&(e[t.ref]=t),e),{}),t.hyperlinkMap=(e.hyperlinks||[]).reduce((e,t)=>(t.rId&&(e[t.address]=r[t.rId].Target),e),{}),t.formulae={},e.rows=e.rows&&e.rows.filter(Boolean)||[],e.rows.forEach(e=>{e.cells=e.cells&&e.cells.filter(Boolean)||[]}),this.map.cols.reconcile(e.cols,t),this.map.sheetData.reconcile(e.rows,t),this.map.conditionalFormatting.reconcile(e.conditionalFormattings,t),e.media=[],e.drawing){const n=r[e.drawing.rId].Target.match(/\\/drawings\\/([a-zA-Z0-9]+)[.][a-zA-Z]{3,4}$/);if(n){const r=n[1];t.drawings[r].anchors.forEach(t=>{if(t.medium){const r={type:\"image\",imageId:t.medium.index,range:t.range,hyperlinks:t.picture.hyperlinks};e.media.push(r)}})}}const n=e.background&&r[e.background.rId];if(n){const r=n.Target.split(\"/media/\")[1],i=t.mediaIndex&&t.mediaIndex[r];void 0!==i&&e.media.push({type:\"background\",imageId:i})}e.tables=(e.tables||[]).map(e=>{const n=r[e.rId];return t.tables[n.Target]}),delete e.relationships,delete e.hyperlinks,delete e.comments}}j.WORKSHEET_ATTRIBUTES={xmlns:\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\",\"xmlns:r\":\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\"xmlns:mc\":\"http://schemas.openxmlformats.org/markup-compatibility/2006\",\"mc:Ignorable\":\"x14ac\",\"xmlns:x14ac\":\"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac\"},t.exports=j},{\"../../../utils/col-cache\":19,\"../../../utils/under-dash\":26,\"../../../utils/xml-stream\":28,\"../../rel-type\":31,\"../base-xform\":32,\"../list-xform\":71,\"./auto-filter-xform\":72,\"./cf/conditional-formattings-xform\":87,\"./col-xform\":92,\"./data-validations-xform\":93,\"./dimension-xform\":94,\"./drawing-xform\":95,\"./ext-lst-xform\":96,\"./header-footer-xform\":97,\"./hyperlink-xform\":98,\"./merge-cell-xform\":99,\"./merges\":100,\"./page-margins-xform\":103,\"./page-setup-xform\":105,\"./picture-xform\":106,\"./print-options-xform\":107,\"./row-breaks-xform\":108,\"./row-xform\":109,\"./sheet-format-properties-xform\":110,\"./sheet-properties-xform\":111,\"./sheet-protection-xform\":112,\"./sheet-view-xform\":113,\"./table-part-xform\":114}],116:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{constructor(e){super(),this.tag=e.tag,this.attr=e.attr}render(e,t){t&&(e.openNode(this.tag),e.closeNode())}parseOpen(e){e.name===this.tag&&(this.model=!0)}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],117:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{constructor(e){super(),this.tag=e.tag,this.attr=e.attr,this.attrs=e.attrs,this._format=e.format||function(e){try{return Number.isNaN(e.getTime())?\"\":e.toISOString()}catch(e){return\"\"}},this._parse=e.parse||function(e){return new Date(e)}}render(e,t){t&&(e.openNode(this.tag),this.attrs&&e.addAttributes(this.attrs),this.attr?e.addAttribute(this.attr,this._format(t)):e.writeText(this._format(t)),e.closeNode())}parseOpen(e){e.name===this.tag&&(this.attr?this.model=this._parse(e.attributes[this.attr]):this.text=[])}parseText(e){this.attr||this.text.push(e)}parseClose(){return this.attr||(this.model=this._parse(this.text.join(\"\"))),!1}}},{\"../base-xform\":32}],118:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{constructor(e){super(),this.tag=e.tag,this.attr=e.attr,this.attrs=e.attrs,this.zero=e.zero}render(e,t){(t||this.zero)&&(e.openNode(this.tag),this.attrs&&e.addAttributes(this.attrs),this.attr?e.addAttribute(this.attr,t):e.writeText(t),e.closeNode())}parseOpen(e){return e.name===this.tag&&(this.attr?this.model=parseInt(e.attributes[this.attr],10):this.text=[],!0)}parseText(e){this.attr||this.text.push(e)}parseClose(){return this.attr||(this.model=parseInt(this.text.join(\"\")||0,10)),!1}}},{\"../base-xform\":32}],119:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{constructor(e){super(),this.tag=e.tag,this.attr=e.attr,this.attrs=e.attrs}render(e,t){void 0!==t&&(e.openNode(this.tag),this.attrs&&e.addAttributes(this.attrs),this.attr?e.addAttribute(this.attr,t):e.writeText(t),e.closeNode())}parseOpen(e){e.name===this.tag&&(this.attr?this.model=e.attributes[this.attr]:this.text=[])}parseText(e){this.attr||this.text.push(e)}parseClose(){return this.attr||(this.model=this.text.join(\"\")),!1}}},{\"../base-xform\":32}],120:[function(e,t,r){\"use strict\";const n=e(\"./base-xform\"),i=e(\"../../utils/xml-stream\");t.exports=class extends n{constructor(e){super(),this._model=e}render(e){if(!this._xml){const e=new i;!function e(t,r){t.openNode(r.tag,r.$),r.c&&r.c.forEach(r=>{e(t,r)}),r.t&&t.writeText(r.t),t.closeNode()}(e,this._model),this._xml=e.xml}e.writeXml(this._xml)}parseOpen(){return!0}parseText(){}parseClose(e){switch(e){case this._model.tag:return!1;default:return!0}}}},{\"../../utils/xml-stream\":28,\"./base-xform\":32}],121:[function(e,t,r){\"use strict\";const n=e(\"./text-xform\"),i=e(\"./rich-text-xform\"),s=e(\"../base-xform\");t.exports=class extends s{constructor(){super(),this.map={r:new i,t:new n}}get tag(){return\"rPh\"}render(e,t){if(e.openNode(this.tag,{sb:t.sb||0,eb:t.eb||0}),t&&t.hasOwnProperty(\"richText\")&&t.richText){const{r:r}=this.map;t.richText.forEach(t=>{r.render(e,t)})}else t&&this.map.t.render(e,t.text);e.closeNode()}parseOpen(e){const{name:t}=e;return this.parser?(this.parser.parseOpen(e),!0):t===this.tag?(this.model={sb:parseInt(e.attributes.sb,10),eb:parseInt(e.attributes.eb,10)},!0):(this.parser=this.map[t],!!this.parser&&(this.parser.parseOpen(e),!0))}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser){if(!this.parser.parseClose(e)){switch(e){case\"r\":{let e=this.model.richText;e||(e=this.model.richText=[]),e.push(this.parser.model);break}case\"t\":this.model.text=this.parser.model}this.parser=void 0}return!0}switch(e){case this.tag:return!1;default:return!0}}}},{\"../base-xform\":32,\"./rich-text-xform\":122,\"./text-xform\":125}],122:[function(e,t,r){\"use strict\";const n=e(\"./text-xform\"),i=e(\"../style/font-xform\"),s=e(\"../base-xform\");class o extends s{constructor(e){super(),this.model=e}get tag(){return\"r\"}get textXform(){return this._textXform||(this._textXform=new n)}get fontXform(){return this._fontXform||(this._fontXform=new i(o.FONT_OPTIONS))}render(e,t){t=t||this.model,e.openNode(\"r\"),t.font&&this.fontXform.render(e,t.font),this.textXform.render(e,t.text),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case\"r\":return this.model={},!0;case\"t\":return this.parser=this.textXform,this.parser.parseOpen(e),!0;case\"rPr\":return this.parser=this.fontXform,this.parser.parseOpen(e),!0;default:return!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){switch(e){case\"r\":return!1;case\"t\":return this.model.text=this.parser.model,this.parser=void 0,!0;case\"rPr\":return this.model.font=this.parser.model,this.parser=void 0,!0;default:return this.parser&&this.parser.parseClose(e),!0}}}o.FONT_OPTIONS={tagName:\"rPr\",fontNameTag:\"rFont\"},t.exports=o},{\"../base-xform\":32,\"../style/font-xform\":131,\"./text-xform\":125}],123:[function(e,t,r){\"use strict\";const n=e(\"./text-xform\"),i=e(\"./rich-text-xform\"),s=e(\"./phonetic-text-xform\"),o=e(\"../base-xform\");t.exports=class extends o{constructor(e){super(),this.model=e,this.map={r:new i,t:new n,rPh:new s}}get tag(){return\"si\"}render(e,t){e.openNode(this.tag),t&&t.hasOwnProperty(\"richText\")&&t.richText?t.richText.length?t.richText.forEach(t=>{this.map.r.render(e,t)}):this.map.t.render(e,\"\"):null!=t&&this.map.t.render(e,t),e.closeNode()}parseOpen(e){const{name:t}=e;return this.parser?(this.parser.parseOpen(e),!0):t===this.tag?(this.model={},!0):(this.parser=this.map[t],!!this.parser&&(this.parser.parseOpen(e),!0))}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser){if(!this.parser.parseClose(e)){switch(e){case\"r\":{let e=this.model.richText;e||(e=this.model.richText=[]),e.push(this.parser.model);break}case\"t\":this.model=this.parser.model}this.parser=void 0}return!0}switch(e){case this.tag:return!1;default:return!0}}}},{\"../base-xform\":32,\"./phonetic-text-xform\":121,\"./rich-text-xform\":122,\"./text-xform\":125}],124:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/xml-stream\"),i=e(\"../base-xform\"),s=e(\"./shared-string-xform\");t.exports=class extends i{constructor(e){super(),this.model=e||{values:[],count:0},this.hash=Object.create(null),this.rich=Object.create(null)}get sharedStringXform(){return this._sharedStringXform||(this._sharedStringXform=new s)}get values(){return this.model.values}get uniqueCount(){return this.model.values.length}get count(){return this.model.count}getString(e){return this.model.values[e]}add(e){return e.richText?this.addRichText(e):this.addText(e)}addText(e){let t=this.hash[e];return void 0===t&&(t=this.hash[e]=this.model.values.length,this.model.values.push(e)),this.model.count++,t}addRichText(e){const t=this.sharedStringXform.toXml(e);let r=this.rich[t];return void 0===r&&(r=this.rich[t]=this.model.values.length,this.model.values.push(e)),this.model.count++,r}render(e,t){t=t||this._values,e.openXml(n.StdDocAttributes),e.openNode(\"sst\",{xmlns:\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\",count:t.count,uniqueCount:t.values.length});const r=this.sharedStringXform;t.values.forEach(t=>{r.render(e,t)}),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case\"sst\":return!0;case\"si\":return this.parser=this.sharedStringXform,this.parser.parseOpen(e),!0;default:throw new Error(\"Unexpected xml node in parseOpen: \"+JSON.stringify(e))}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.model.values.push(this.parser.model),this.model.count++,this.parser=void 0),!0;switch(e){case\"sst\":return!1;default:throw new Error(\"Unexpected xml node in parseClose: \"+e)}}}},{\"../../../utils/xml-stream\":28,\"../base-xform\":32,\"./shared-string-xform\":123}],125:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"t\"}render(e,t){e.openNode(\"t\"),/^\\s|\\n|\\s$/.test(t)&&e.addAttribute(\"xml:space\",\"preserve\"),e.writeText(t),e.closeNode()}get model(){return this._text.join(\"\").replace(/_x([0-9A-F]{4})_/g,(e,t)=>String.fromCharCode(parseInt(t,16)))}parseOpen(e){switch(e.name){case\"t\":return this._text=[],!0;default:return!1}}parseText(e){this._text.push(e)}parseClose(){return!1}}},{\"../base-xform\":32}],126:[function(e,t,r){\"use strict\";const n=e(\"../../../doc/enums\"),i=e(\"../../../utils/utils\"),s=e(\"../base-xform\"),o={horizontalValues:[\"left\",\"center\",\"right\",\"fill\",\"centerContinuous\",\"distributed\",\"justify\"].reduce((e,t)=>(e[t]=!0,e),{}),horizontal(e){return this.horizontalValues[e]?e:void 0},verticalValues:[\"top\",\"middle\",\"bottom\",\"distributed\",\"justify\"].reduce((e,t)=>(e[t]=!0,e),{}),vertical(e){return\"middle\"===e?\"center\":this.verticalValues[e]?e:void 0},wrapText:e=>!!e||void 0,shrinkToFit:e=>!!e||void 0,textRotation(e){switch(e){case\"vertical\":return e;default:return(e=i.validInt(e))>=-90&&e<=90?e:void 0}},indent:e=>(e=i.validInt(e),Math.max(0,e)),readingOrder(e){switch(e){case\"ltr\":return n.ReadingOrder.LeftToRight;case\"rtl\":return n.ReadingOrder.RightToLeft;default:return}}},a={toXml(e){if(e=o.textRotation(e)){if(\"vertical\"===e)return 255;const t=Math.round(e);if(t>=0&&t<=90)return t;if(t<0&&t>=-90)return 90-t}},toModel(e){const t=i.validInt(e);if(void 0!==t){if(255===t)return\"vertical\";if(t>=0&&t<=90)return t;if(t>90&&t<=180)return 90-t}}};t.exports=class extends s{get tag(){return\"alignment\"}render(e,t){e.addRollback(),e.openNode(\"alignment\");let r=!1;function n(t,n){n&&(e.addAttribute(t,n),r=!0)}n(\"horizontal\",o.horizontal(t.horizontal)),n(\"vertical\",o.vertical(t.vertical)),n(\"wrapText\",!!o.wrapText(t.wrapText)&&\"1\"),n(\"shrinkToFit\",!!o.shrinkToFit(t.shrinkToFit)&&\"1\"),n(\"indent\",o.indent(t.indent)),n(\"textRotation\",a.toXml(t.textRotation)),n(\"readingOrder\",o.readingOrder(t.readingOrder)),e.closeNode(),r?e.commit():e.rollback()}parseOpen(e){const t={};let r=!1;function n(e,n,i){e&&(t[n]=i,r=!0)}n(e.attributes.horizontal,\"horizontal\",e.attributes.horizontal),n(e.attributes.vertical,\"vertical\",\"center\"===e.attributes.vertical?\"middle\":e.attributes.vertical),n(e.attributes.wrapText,\"wrapText\",i.parseBoolean(e.attributes.wrapText)),n(e.attributes.shrinkToFit,\"shrinkToFit\",i.parseBoolean(e.attributes.shrinkToFit)),n(e.attributes.indent,\"indent\",parseInt(e.attributes.indent,10)),n(e.attributes.textRotation,\"textRotation\",a.toModel(e.attributes.textRotation)),n(e.attributes.readingOrder,\"readingOrder\",\"2\"===e.attributes.readingOrder?\"rtl\":\"ltr\"),this.model=r?t:null}parseText(){}parseClose(){return!1}}},{\"../../../doc/enums\":7,\"../../../utils/utils\":27,\"../base-xform\":32}],127:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i=e(\"../../../utils/utils\"),s=e(\"./color-xform\");class o extends n{constructor(e){super(),this.name=e,this.map={color:new s}}get tag(){return this.name}render(e,t,r){const n=t&&t.color||r||this.defaultColor;e.openNode(this.name),t&&t.style&&(e.addAttribute(\"style\",t.style),n&&this.map.color.render(e,n)),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.name:{const{style:t}=e.attributes;return this.model=t?{style:t}:void 0,!0}case\"color\":return this.parser=this.map.color,this.parser.parseOpen(e),!0;default:return!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){return this.parser?(this.parser.parseClose(e)||(this.parser=void 0),!0):(e===this.name&&this.map.color.model&&(this.model||(this.model={}),this.model.color=this.map.color.model),!1)}validStyle(e){return o.validStyleValues[e]}}o.validStyleValues=[\"thin\",\"dashed\",\"dotted\",\"dashDot\",\"hair\",\"dashDotDot\",\"slantDashDot\",\"mediumDashed\",\"mediumDashDotDot\",\"mediumDashDot\",\"medium\",\"double\",\"thick\"].reduce((e,t)=>(e[t]=!0,e),{});t.exports=class extends n{constructor(){super(),this.map={top:new o(\"top\"),left:new o(\"left\"),bottom:new o(\"bottom\"),right:new o(\"right\"),diagonal:new o(\"diagonal\")}}render(e,t){const{color:r}=t;function n(n,i){n&&!n.color&&t.color&&(n={...n,color:t.color}),i.render(e,n,r)}e.openNode(\"border\"),t.diagonal&&t.diagonal.style&&(t.diagonal.up&&e.addAttribute(\"diagonalUp\",\"1\"),t.diagonal.down&&e.addAttribute(\"diagonalDown\",\"1\")),n(t.left,this.map.left),n(t.right,this.map.right),n(t.top,this.map.top),n(t.bottom,this.map.bottom),n(t.diagonal,this.map.diagonal),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case\"border\":return this.reset(),this.diagonalUp=i.parseBoolean(e.attributes.diagonalUp),this.diagonalDown=i.parseBoolean(e.attributes.diagonalDown),!0;default:return this.parser=this.map[e.name],!!this.parser&&(this.parser.parseOpen(e),!0)}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;if(\"border\"===e){const e=this.model={},t=function(t,r,n){r&&(n&&Object.assign(r,n),e[t]=r)};t(\"left\",this.map.left.model),t(\"right\",this.map.right.model),t(\"top\",this.map.top.model),t(\"bottom\",this.map.bottom.model),t(\"diagonal\",this.map.diagonal.model,{up:this.diagonalUp,down:this.diagonalDown})}return!1}}},{\"../../../utils/utils\":27,\"../base-xform\":32,\"./color-xform\":128}],128:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{constructor(e){super(),this.name=e||\"color\"}get tag(){return this.name}render(e,t){return!!t&&(e.openNode(this.name),t.argb?e.addAttribute(\"rgb\",t.argb):void 0!==t.theme?(e.addAttribute(\"theme\",t.theme),void 0!==t.tint&&e.addAttribute(\"tint\",t.tint)):void 0!==t.indexed?e.addAttribute(\"indexed\",t.indexed):e.addAttribute(\"auto\",\"1\"),e.closeNode(),!0)}parseOpen(e){return e.name===this.name&&(e.attributes.rgb?this.model={argb:e.attributes.rgb}:e.attributes.theme?(this.model={theme:parseInt(e.attributes.theme,10)},e.attributes.tint&&(this.model.tint=parseFloat(e.attributes.tint))):e.attributes.indexed?this.model={indexed:parseInt(e.attributes.indexed,10)}:this.model=void 0,!0)}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],129:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i=e(\"./alignment-xform\"),s=e(\"./border-xform\"),o=e(\"./fill-xform\"),a=e(\"./font-xform\"),l=e(\"./numfmt-xform\"),c=e(\"./protection-xform\");t.exports=class extends n{constructor(){super(),this.map={alignment:new i,border:new s,fill:new o,font:new a,numFmt:new l,protection:new c}}get tag(){return\"dxf\"}render(e,t){if(e.openNode(this.tag),t.font&&this.map.font.render(e,t.font),t.numFmt&&t.numFmtId){const r={id:t.numFmtId,formatCode:t.numFmt};this.map.numFmt.render(e,r)}t.fill&&this.map.fill.render(e,t.fill),t.alignment&&this.map.alignment.render(e,t.alignment),t.border&&this.map.border.render(e,t.border),t.protection&&this.map.protection.render(e,t.protection),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:return this.reset(),!0;default:return this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e),!0}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){return this.parser?(this.parser.parseClose(e)||(this.parser=void 0),!0):e!==this.tag||(this.model={alignment:this.map.alignment.model,border:this.map.border.model,fill:this.map.fill.model,font:this.map.font.model,numFmt:this.map.numFmt.model,protection:this.map.protection.model},!1)}}},{\"../base-xform\":32,\"./alignment-xform\":126,\"./border-xform\":127,\"./fill-xform\":130,\"./font-xform\":131,\"./numfmt-xform\":132,\"./protection-xform\":133}],130:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i=e(\"./color-xform\");class s extends n{constructor(){super(),this.map={color:new i}}get tag(){return\"stop\"}render(e,t){e.openNode(\"stop\"),e.addAttribute(\"position\",t.position),this.map.color.render(e,t.color),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case\"stop\":return this.model={position:parseFloat(e.attributes.position)},!0;case\"color\":return this.parser=this.map.color,this.parser.parseOpen(e),!0;default:return!1}}parseText(){}parseClose(e){return!!this.parser&&(this.parser.parseClose(e)||(this.model.color=this.parser.model,this.parser=void 0),!0)}}class o extends n{constructor(){super(),this.map={fgColor:new i(\"fgColor\"),bgColor:new i(\"bgColor\")}}get name(){return\"pattern\"}get tag(){return\"patternFill\"}render(e,t){e.openNode(\"patternFill\"),e.addAttribute(\"patternType\",t.pattern),t.fgColor&&this.map.fgColor.render(e,t.fgColor),t.bgColor&&this.map.bgColor.render(e,t.bgColor),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case\"patternFill\":return this.model={type:\"pattern\",pattern:e.attributes.patternType},!0;default:return this.parser=this.map[e.name],!!this.parser&&(this.parser.parseOpen(e),!0)}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){return!!this.parser&&(this.parser.parseClose(e)||(this.parser.model&&(this.model[e]=this.parser.model),this.parser=void 0),!0)}}class a extends n{constructor(){super(),this.map={stop:new s}}get name(){return\"gradient\"}get tag(){return\"gradientFill\"}render(e,t){switch(e.openNode(\"gradientFill\"),t.gradient){case\"angle\":e.addAttribute(\"degree\",t.degree);break;case\"path\":e.addAttribute(\"type\",\"path\"),t.center.left&&(e.addAttribute(\"left\",t.center.left),void 0===t.center.right&&e.addAttribute(\"right\",t.center.left)),t.center.right&&e.addAttribute(\"right\",t.center.right),t.center.top&&(e.addAttribute(\"top\",t.center.top),void 0===t.center.bottom&&e.addAttribute(\"bottom\",t.center.top)),t.center.bottom&&e.addAttribute(\"bottom\",t.center.bottom)}const r=this.map.stop;t.stops.forEach(t=>{r.render(e,t)}),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case\"gradientFill\":{const t=this.model={stops:[]};return e.attributes.degree?(t.gradient=\"angle\",t.degree=parseInt(e.attributes.degree,10)):\"path\"===e.attributes.type&&(t.gradient=\"path\",t.center={left:e.attributes.left?parseFloat(e.attributes.left):0,top:e.attributes.top?parseFloat(e.attributes.top):0},e.attributes.right!==e.attributes.left&&(t.center.right=e.attributes.right?parseFloat(e.attributes.right):0),e.attributes.bottom!==e.attributes.top&&(t.center.bottom=e.attributes.bottom?parseFloat(e.attributes.bottom):0)),!0}case\"stop\":return this.parser=this.map.stop,this.parser.parseOpen(e),!0;default:return!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){return!!this.parser&&(this.parser.parseClose(e)||(this.model.stops.push(this.parser.model),this.parser=void 0),!0)}}class l extends n{constructor(){super(),this.map={patternFill:new o,gradientFill:new a}}get tag(){return\"fill\"}render(e,t){switch(e.addRollback(),e.openNode(\"fill\"),t.type){case\"pattern\":this.map.patternFill.render(e,t);break;case\"gradient\":this.map.gradientFill.render(e,t);break;default:return void e.rollback()}e.closeNode(),e.commit()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case\"fill\":return this.model={},!0;default:return this.parser=this.map[e.name],!!this.parser&&(this.parser.parseOpen(e),!0)}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){return!!this.parser&&(this.parser.parseClose(e)||(this.model=this.parser.model,this.model.type=this.parser.name,this.parser=void 0),!0)}validStyle(e){return l.validPatternValues[e]}}l.validPatternValues=[\"none\",\"solid\",\"darkVertical\",\"darkGray\",\"mediumGray\",\"lightGray\",\"gray125\",\"gray0625\",\"darkHorizontal\",\"darkVertical\",\"darkDown\",\"darkUp\",\"darkGrid\",\"darkTrellis\",\"lightHorizontal\",\"lightVertical\",\"lightDown\",\"lightUp\",\"lightGrid\",\"lightTrellis\",\"lightGrid\"].reduce((e,t)=>(e[t]=!0,e),{}),l.StopXform=s,l.PatternFillXform=o,l.GradientFillXform=a,t.exports=l},{\"../base-xform\":32,\"./color-xform\":128}],131:[function(e,t,r){\"use strict\";const n=e(\"./color-xform\"),i=e(\"../simple/boolean-xform\"),s=e(\"../simple/integer-xform\"),o=e(\"../simple/string-xform\"),a=e(\"./underline-xform\"),l=e(\"../../../utils/under-dash\"),c=e(\"../base-xform\");class u extends c{constructor(e){super(),this.options=e||u.OPTIONS,this.map={b:{prop:\"bold\",xform:new i({tag:\"b\",attr:\"val\"})},i:{prop:\"italic\",xform:new i({tag:\"i\",attr:\"val\"})},u:{prop:\"underline\",xform:new a},charset:{prop:\"charset\",xform:new s({tag:\"charset\",attr:\"val\"})},color:{prop:\"color\",xform:new n},condense:{prop:\"condense\",xform:new i({tag:\"condense\",attr:\"val\"})},extend:{prop:\"extend\",xform:new i({tag:\"extend\",attr:\"val\"})},family:{prop:\"family\",xform:new s({tag:\"family\",attr:\"val\"})},outline:{prop:\"outline\",xform:new i({tag:\"outline\",attr:\"val\"})},vertAlign:{prop:\"vertAlign\",xform:new o({tag:\"vertAlign\",attr:\"val\"})},scheme:{prop:\"scheme\",xform:new o({tag:\"scheme\",attr:\"val\"})},shadow:{prop:\"shadow\",xform:new i({tag:\"shadow\",attr:\"val\"})},strike:{prop:\"strike\",xform:new i({tag:\"strike\",attr:\"val\"})},sz:{prop:\"size\",xform:new s({tag:\"sz\",attr:\"val\"})}},this.map[this.options.fontNameTag]={prop:\"name\",xform:new o({tag:this.options.fontNameTag,attr:\"val\"})}}get tag(){return this.options.tagName}render(e,t){const{map:r}=this;e.openNode(this.options.tagName),l.each(this.map,(n,i)=>{r[i].xform.render(e,t[n.prop])}),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;if(this.map[e.name])return this.parser=this.map[e.name].xform,this.parser.parseOpen(e);switch(e.name){case this.options.tagName:return this.model={},!0;default:return!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser&&!this.parser.parseClose(e)){const t=this.map[e];return this.parser.model&&(this.model[t.prop]=this.parser.model),this.parser=void 0,!0}switch(e){case this.options.tagName:return!1;default:return!0}}}u.OPTIONS={tagName:\"font\",fontNameTag:\"name\"},t.exports=u},{\"../../../utils/under-dash\":26,\"../base-xform\":32,\"../simple/boolean-xform\":116,\"../simple/integer-xform\":118,\"../simple/string-xform\":119,\"./color-xform\":128,\"./underline-xform\":136}],132:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/under-dash\"),i=e(\"../../defaultnumformats\"),s=e(\"../base-xform\");const o=function(){const e={};return n.each(i,(t,r)=>{t.f&&(e[t.f]=parseInt(r,10))}),e}();class a extends s{constructor(e,t){super(),this.id=e,this.formatCode=t}get tag(){return\"numFmt\"}render(e,t){e.leafNode(\"numFmt\",{numFmtId:t.id,formatCode:t.formatCode})}parseOpen(e){switch(e.name){case\"numFmt\":return this.model={id:parseInt(e.attributes.numFmtId,10),formatCode:e.attributes.formatCode.replace(/[\\\\](.)/g,\"$1\")},!0;default:return!1}}parseText(){}parseClose(){return!1}}a.getDefaultFmtId=function(e){return o[e]},a.getDefaultFmtCode=function(e){return i[e]&&i[e].f},t.exports=a},{\"../../../utils/under-dash\":26,\"../../defaultnumformats\":30,\"../base-xform\":32}],133:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i={boolean:(e,t)=>void 0===e?t:e};t.exports=class extends n{get tag(){return\"protection\"}render(e,t){e.addRollback(),e.openNode(\"protection\");let r=!1;function n(t,n){void 0!==n&&(e.addAttribute(t,n),r=!0)}n(\"locked\",i.boolean(t.locked,!0)?void 0:\"0\"),n(\"hidden\",i.boolean(t.hidden,!1)?\"1\":void 0),e.closeNode(),r?e.commit():e.rollback()}parseOpen(e){const t={locked:!(\"0\"===e.attributes.locked),hidden:\"1\"===e.attributes.hidden},r=!t.locked||t.hidden;this.model=r?t:null}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],134:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i=e(\"./alignment-xform\"),s=e(\"./protection-xform\");t.exports=class extends n{constructor(e){super(),this.xfId=!(!e||!e.xfId),this.map={alignment:new i,protection:new s}}get tag(){return\"xf\"}render(e,t){e.openNode(\"xf\",{numFmtId:t.numFmtId||0,fontId:t.fontId||0,fillId:t.fillId||0,borderId:t.borderId||0}),this.xfId&&e.addAttribute(\"xfId\",t.xfId||0),t.numFmtId&&e.addAttribute(\"applyNumberFormat\",\"1\"),t.fontId&&e.addAttribute(\"applyFont\",\"1\"),t.fillId&&e.addAttribute(\"applyFill\",\"1\"),t.borderId&&e.addAttribute(\"applyBorder\",\"1\"),t.alignment&&e.addAttribute(\"applyAlignment\",\"1\"),t.protection&&e.addAttribute(\"applyProtection\",\"1\"),t.alignment&&this.map.alignment.render(e,t.alignment),t.protection&&this.map.protection.render(e,t.protection),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case\"xf\":return this.model={numFmtId:parseInt(e.attributes.numFmtId,10),fontId:parseInt(e.attributes.fontId,10),fillId:parseInt(e.attributes.fillId,10),borderId:parseInt(e.attributes.borderId,10)},this.xfId&&(this.model.xfId=parseInt(e.attributes.xfId,10)),!0;case\"alignment\":return this.parser=this.map.alignment,this.parser.parseOpen(e),!0;case\"protection\":return this.parser=this.map.protection,this.parser.parseOpen(e),!0;default:return!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){return this.parser?(this.parser.parseClose(e)||(this.map.protection===this.parser?this.model.protection=this.parser.model:this.model.alignment=this.parser.model,this.parser=void 0),!0):\"xf\"!==e}}},{\"../base-xform\":32,\"./alignment-xform\":126,\"./protection-xform\":133}],135:[function(e,t,r){\"use strict\";const n=e(\"../../../doc/enums\"),i=e(\"../../../utils/xml-stream\"),s=e(\"../base-xform\"),o=e(\"../static-xform\"),a=e(\"../list-xform\"),l=e(\"./font-xform\"),c=e(\"./fill-xform\"),u=e(\"./border-xform\"),h=e(\"./numfmt-xform\"),f=e(\"./style-xform\"),d=e(\"./dxf-xform\");class p extends s{constructor(e){super(),this.map={numFmts:new a({tag:\"numFmts\",count:!0,childXform:new h}),fonts:new a({tag:\"fonts\",count:!0,childXform:new l,$:{\"x14ac:knownFonts\":1}}),fills:new a({tag:\"fills\",count:!0,childXform:new c}),borders:new a({tag:\"borders\",count:!0,childXform:new u}),cellStyleXfs:new a({tag:\"cellStyleXfs\",count:!0,childXform:new f}),cellXfs:new a({tag:\"cellXfs\",count:!0,childXform:new f({xfId:!0})}),dxfs:new a({tag:\"dxfs\",always:!0,count:!0,childXform:new d}),numFmt:new h,font:new l,fill:new c,border:new u,style:new f({xfId:!0}),cellStyles:p.STATIC_XFORMS.cellStyles,tableStyles:p.STATIC_XFORMS.tableStyles,extLst:p.STATIC_XFORMS.extLst},e&&this.init()}initIndex(){this.index={style:{},numFmt:{},numFmtNextId:164,font:{},border:{},fill:{}}}init(){this.model={styles:[],numFmts:[],fonts:[],borders:[],fills:[],dxfs:[]},this.initIndex(),this._addBorder({}),this._addStyle({numFmtId:0,fontId:0,fillId:0,borderId:0,xfId:0}),this._addFill({type:\"pattern\",pattern:\"none\"}),this._addFill({type:\"pattern\",pattern:\"gray125\"}),this.weakMap=new WeakMap}render(e,t){t=t||this.model,e.openXml(i.StdDocAttributes),e.openNode(\"styleSheet\",p.STYLESHEET_ATTRIBUTES),this.index?(t.numFmts&&t.numFmts.length&&(e.openNode(\"numFmts\",{count:t.numFmts.length}),t.numFmts.forEach(t=>{e.writeXml(t)}),e.closeNode()),t.fonts.length||this._addFont({size:11,color:{theme:1},name:\"Calibri\",family:2,scheme:\"minor\"}),e.openNode(\"fonts\",{count:t.fonts.length,\"x14ac:knownFonts\":1}),t.fonts.forEach(t=>{e.writeXml(t)}),e.closeNode(),e.openNode(\"fills\",{count:t.fills.length}),t.fills.forEach(t=>{e.writeXml(t)}),e.closeNode(),e.openNode(\"borders\",{count:t.borders.length}),t.borders.forEach(t=>{e.writeXml(t)}),e.closeNode(),this.map.cellStyleXfs.render(e,[{numFmtId:0,fontId:0,fillId:0,borderId:0,xfId:0}]),e.openNode(\"cellXfs\",{count:t.styles.length}),t.styles.forEach(t=>{e.writeXml(t)}),e.closeNode()):(this.map.numFmts.render(e,t.numFmts),this.map.fonts.render(e,t.fonts),this.map.fills.render(e,t.fills),this.map.borders.render(e,t.borders),this.map.cellStyleXfs.render(e,[{numFmtId:0,fontId:0,fillId:0,borderId:0,xfId:0}]),this.map.cellXfs.render(e,t.styles)),p.STATIC_XFORMS.cellStyles.render(e),this.map.dxfs.render(e,t.dxfs),p.STATIC_XFORMS.tableStyles.render(e),p.STATIC_XFORMS.extLst.render(e),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case\"styleSheet\":return this.initIndex(),!0;default:return this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e),!0}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case\"styleSheet\":{this.model={};const e=(e,t)=>{t.model&&t.model.length&&(this.model[e]=t.model)};if(e(\"numFmts\",this.map.numFmts),e(\"fonts\",this.map.fonts),e(\"fills\",this.map.fills),e(\"borders\",this.map.borders),e(\"styles\",this.map.cellXfs),e(\"dxfs\",this.map.dxfs),this.index={model:[],numFmt:[]},this.model.numFmts){const e=this.index.numFmt;this.model.numFmts.forEach(t=>{e[t.id]=t.formatCode})}return!1}default:return!0}}addStyleModel(e,t){if(!e)return 0;if(this.model.fonts.length||this._addFont({size:11,color:{theme:1},name:\"Calibri\",family:2,scheme:\"minor\"}),this.weakMap&&this.weakMap.has(e))return this.weakMap.get(e);const r={};if(t=t||n.ValueType.Number,e.numFmt)r.numFmtId=this._addNumFmtStr(e.numFmt);else switch(t){case n.ValueType.Number:r.numFmtId=this._addNumFmtStr(\"General\");break;case n.ValueType.Date:r.numFmtId=this._addNumFmtStr(\"mm-dd-yy\")}e.font&&(r.fontId=this._addFont(e.font)),e.border&&(r.borderId=this._addBorder(e.border)),e.fill&&(r.fillId=this._addFill(e.fill)),e.alignment&&(r.alignment=e.alignment),e.protection&&(r.protection=e.protection);const i=this._addStyle(r);return this.weakMap&&this.weakMap.set(e,i),i}getStyleModel(e){const t=this.model.styles[e];if(!t)return null;let r=this.index.model[e];if(r)return r;if(r=this.index.model[e]={},t.numFmtId){const e=this.index.numFmt[t.numFmtId]||h.getDefaultFmtCode(t.numFmtId);e&&(r.numFmt=e)}function n(e,t,n){if(n||0===n){const i=t[n];i&&(r[e]=i)}}return n(\"font\",this.model.fonts,t.fontId),n(\"border\",this.model.borders,t.borderId),n(\"fill\",this.model.fills,t.fillId),t.alignment&&(r.alignment=t.alignment),t.protection&&(r.protection=t.protection),r}addDxfStyle(e){return e.numFmt&&(e.numFmtId=this._addNumFmtStr(e.numFmt)),this.model.dxfs.push(e),this.model.dxfs.length-1}getDxfStyle(e){return this.model.dxfs[e]}_addStyle(e){const t=this.map.style.toXml(e);let r=this.index.style[t];return void 0===r&&(r=this.index.style[t]=this.model.styles.length,this.model.styles.push(t)),r}_addNumFmtStr(e){let t=h.getDefaultFmtId(e);if(void 0!==t)return t;if(t=this.index.numFmt[e],void 0!==t)return t;t=this.index.numFmt[e]=164+this.model.numFmts.length;const r=this.map.numFmt.toXml({id:t,formatCode:e});return this.model.numFmts.push(r),t}_addFont(e){const t=this.map.font.toXml(e);let r=this.index.font[t];return void 0===r&&(r=this.index.font[t]=this.model.fonts.length,this.model.fonts.push(t)),r}_addBorder(e){const t=this.map.border.toXml(e);let r=this.index.border[t];return void 0===r&&(r=this.index.border[t]=this.model.borders.length,this.model.borders.push(t)),r}_addFill(e){const t=this.map.fill.toXml(e);let r=this.index.fill[t];return void 0===r&&(r=this.index.fill[t]=this.model.fills.length,this.model.fills.push(t)),r}}p.STYLESHEET_ATTRIBUTES={xmlns:\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\",\"xmlns:mc\":\"http://schemas.openxmlformats.org/markup-compatibility/2006\",\"mc:Ignorable\":\"x14ac x16r2\",\"xmlns:x14ac\":\"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac\",\"xmlns:x16r2\":\"http://schemas.microsoft.com/office/spreadsheetml/2015/02/main\"},p.STATIC_XFORMS={cellStyles:new o({tag:\"cellStyles\",$:{count:1},c:[{tag:\"cellStyle\",$:{name:\"Normal\",xfId:0,builtinId:0}}]}),dxfs:new o({tag:\"dxfs\",$:{count:0}}),tableStyles:new o({tag:\"tableStyles\",$:{count:0,defaultTableStyle:\"TableStyleMedium2\",defaultPivotStyle:\"PivotStyleLight16\"}}),extLst:new o({tag:\"extLst\",c:[{tag:\"ext\",$:{uri:\"{EB79DEF2-80B8-43e5-95BD-54CBDDF9020C}\",\"xmlns:x14\":\"http://schemas.microsoft.com/office/spreadsheetml/2009/9/main\"},c:[{tag:\"x14:slicerStyles\",$:{defaultSlicerStyle:\"SlicerStyleLight1\"}}]},{tag:\"ext\",$:{uri:\"{9260A510-F301-46a8-8635-F512D64BE5F5}\",\"xmlns:x15\":\"http://schemas.microsoft.com/office/spreadsheetml/2010/11/main\"},c:[{tag:\"x15:timelineStyles\",$:{defaultTimelineStyle:\"TimeSlicerStyleLight1\"}}]}]})};p.Mock=class extends p{constructor(){super(),this.model={styles:[{numFmtId:0,fontId:0,fillId:0,borderId:0,xfId:0}],numFmts:[],fonts:[{size:11,color:{theme:1},name:\"Calibri\",family:2,scheme:\"minor\"}],borders:[{}],fills:[{type:\"pattern\",pattern:\"none\"},{type:\"pattern\",pattern:\"gray125\"}]}}parseStream(e){return e.autodrain(),Promise.resolve()}addStyleModel(e,t){switch(t){case n.ValueType.Date:return this.dateStyleId;default:return 0}}get dateStyleId(){if(!this._dateStyleId){const e={numFmtId:h.getDefaultFmtId(\"mm-dd-yy\")};this._dateStyleId=this.model.styles.length,this.model.styles.push(e)}return this._dateStyleId}getStyleModel(){return{}}},t.exports=p},{\"../../../doc/enums\":7,\"../../../utils/xml-stream\":28,\"../base-xform\":32,\"../list-xform\":71,\"../static-xform\":120,\"./border-xform\":127,\"./dxf-xform\":129,\"./fill-xform\":130,\"./font-xform\":131,\"./numfmt-xform\":132,\"./style-xform\":134}],136:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");class i extends n{constructor(e){super(),this.model=e}get tag(){return\"u\"}render(e,t){if(!0===(t=t||this.model))e.leafNode(\"u\");else{const r=i.Attributes[t];r&&e.leafNode(\"u\",r)}}parseOpen(e){\"u\"===e.name&&(this.model=e.attributes.val||!0)}parseText(){}parseClose(){return!1}}i.Attributes={single:{},double:{val:\"double\"},singleAccounting:{val:\"singleAccounting\"},doubleAccounting:{val:\"doubleAccounting\"}},t.exports=i},{\"../base-xform\":32}],137:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i=e(\"./filter-column-xform\");t.exports=class extends n{constructor(){super(),this.map={filterColumn:new i}}get tag(){return\"autoFilter\"}prepare(e){e.columns.forEach((e,t)=>{this.map.filterColumn.prepare(e,{index:t})})}render(e,t){return e.openNode(this.tag,{ref:t.autoFilterRef}),t.columns.forEach(t=>{this.map.filterColumn.render(e,t)}),e.closeNode(),!0}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:return this.model={autoFilterRef:e.attributes.ref,columns:[]},!0;default:if(this.parser=this.map[e.name],this.parser)return this.parseOpen(e),!0;throw new Error(\"Unexpected xml node in parseOpen: \"+JSON.stringify(e))}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.model.columns.push(this.parser.model),this.parser=void 0),!0;switch(e){case this.tag:return!1;default:throw new Error(\"Unexpected xml node in parseClose: \"+e)}}}},{\"../base-xform\":32,\"./filter-column-xform\":139}],138:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"customFilter\"}render(e,t){e.leafNode(this.tag,{val:t.val,operator:t.operator})}parseOpen(e){return e.name===this.tag&&(this.model={val:e.attributes.val,operator:e.attributes.operator},!0)}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],139:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\"),i=e(\"../list-xform\"),s=e(\"./custom-filter-xform\"),o=e(\"./filter-xform\");t.exports=class extends n{constructor(){super(),this.map={customFilters:new i({tag:\"customFilters\",count:!1,empty:!0,childXform:new s}),filters:new i({tag:\"filters\",count:!1,empty:!0,childXform:new o})}}get tag(){return\"filterColumn\"}prepare(e,t){e.colId=t.index.toString()}render(e,t){return t.customFilters?(e.openNode(this.tag,{colId:t.colId,hiddenButton:t.filterButton?\"0\":\"1\"}),this.map.customFilters.render(e,t.customFilters),e.closeNode(),!0):(e.leafNode(this.tag,{colId:t.colId,hiddenButton:t.filterButton?\"0\":\"1\"}),!0)}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;const{attributes:t}=e;switch(e.name){case this.tag:return this.model={filterButton:\"0\"===t.hiddenButton},!0;default:if(this.parser=this.map[e.name],this.parser)return this.parseOpen(e),!0;throw new Error(\"Unexpected xml node in parseOpen: \"+JSON.stringify(e))}}parseText(){}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model.customFilters=this.map.customFilters.model,!1;default:return!0}}}},{\"../base-xform\":32,\"../list-xform\":71,\"./custom-filter-xform\":138,\"./filter-xform\":140}],140:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"filter\"}render(e,t){e.leafNode(this.tag,{val:t.val})}parseOpen(e){return e.name===this.tag&&(this.model={val:e.attributes.val},!0)}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],141:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"tableColumn\"}prepare(e,t){e.id=t.index+1}render(e,t){return e.leafNode(this.tag,{id:t.id.toString(),name:t.name,totalsRowLabel:t.totalsRowLabel,totalsRowFunction:t.totalsRowFunction,dxfId:t.dxfId}),!0}parseOpen(e){if(e.name===this.tag){const{attributes:t}=e;return this.model={name:t.name,totalsRowLabel:t.totalsRowLabel,totalsRowFunction:t.totalsRowFunction,dxfId:t.dxfId},!0}return!1}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],142:[function(e,t,r){\"use strict\";const n=e(\"../base-xform\");t.exports=class extends n{get tag(){return\"tableStyleInfo\"}render(e,t){return e.leafNode(this.tag,{name:t.theme?t.theme:void 0,showFirstColumn:t.showFirstColumn?\"1\":\"0\",showLastColumn:t.showLastColumn?\"1\":\"0\",showRowStripes:t.showRowStripes?\"1\":\"0\",showColumnStripes:t.showColumnStripes?\"1\":\"0\"}),!0}parseOpen(e){if(e.name===this.tag){const{attributes:t}=e;return this.model={theme:t.name?t.name:null,showFirstColumn:\"1\"===t.showFirstColumn,showLastColumn:\"1\"===t.showLastColumn,showRowStripes:\"1\"===t.showRowStripes,showColumnStripes:\"1\"===t.showColumnStripes},!0}return!1}parseText(){}parseClose(){return!1}}},{\"../base-xform\":32}],143:[function(e,t,r){\"use strict\";const n=e(\"../../../utils/xml-stream\"),i=e(\"../base-xform\"),s=e(\"../list-xform\"),o=e(\"./auto-filter-xform\"),a=e(\"./table-column-xform\"),l=e(\"./table-style-info-xform\");class c extends i{constructor(){super(),this.map={autoFilter:new o,tableColumns:new s({tag:\"tableColumns\",count:!0,empty:!0,childXform:new a}),tableStyleInfo:new l}}prepare(e,t){this.map.autoFilter.prepare(e),this.map.tableColumns.prepare(e.columns,t)}get tag(){return\"table\"}render(e,t){e.openXml(n.StdDocAttributes),e.openNode(this.tag,{...c.TABLE_ATTRIBUTES,id:t.id,name:t.name,displayName:t.displayName||t.name,ref:t.tableRef,totalsRowCount:t.totalsRow?\"1\":void 0,totalsRowShown:t.totalsRow?void 0:\"1\",headerRowCount:t.headerRow?\"1\":\"0\"}),this.map.autoFilter.render(e,t),this.map.tableColumns.render(e,t.columns),this.map.tableStyleInfo.render(e,t.style),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;const{name:t,attributes:r}=e;switch(t){case this.tag:this.reset(),this.model={name:r.name,displayName:r.displayName||r.name,tableRef:r.ref,totalsRow:\"1\"===r.totalsRowCount,headerRow:\"1\"===r.headerRowCount};break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e)}return!0}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model.columns=this.map.tableColumns.model,this.map.autoFilter.model&&(this.model.autoFilterRef=this.map.autoFilter.model.autoFilterRef,this.map.autoFilter.model.columns.forEach((e,t)=>{this.model.columns[t].filterButton=e.filterButton})),this.model.style=this.map.tableStyleInfo.model,!1;default:return!0}}reconcile(e,t){e.columns.forEach(e=>{void 0!==e.dxfId&&(e.style=t.styles.getDxfStyle(e.dxfId))})}}c.TABLE_ATTRIBUTES={xmlns:\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\",\"xmlns:mc\":\"http://schemas.openxmlformats.org/markup-compatibility/2006\",\"mc:Ignorable\":\"xr xr3\",\"xmlns:xr\":\"http://schemas.microsoft.com/office/spreadsheetml/2014/revision\",\"xmlns:xr3\":\"http://schemas.microsoft.com/office/spreadsheetml/2016/revision3\"},t.exports=c},{\"../../../utils/xml-stream\":28,\"../base-xform\":32,\"../list-xform\":71,\"./auto-filter-xform\":137,\"./table-column-xform\":141,\"./table-style-info-xform\":142}],144:[function(e,t,r){(function(r,n){(function(){\"use strict\";const i=e(\"fs\"),s=e(\"jszip\"),{PassThrough:o}=e(\"readable-stream\"),a=e(\"../utils/zip-stream\"),l=e(\"../utils/stream-buf\"),c=e(\"../utils/utils\"),u=e(\"../utils/xml-stream\"),{bufferToString:h}=e(\"../utils/browser-buffer-decode\"),f=e(\"./xform/style/styles-xform\"),d=e(\"./xform/core/core-xform\"),p=e(\"./xform/strings/shared-strings-xform\"),m=e(\"./xform/core/relationships-xform\"),b=e(\"./xform/core/content-types-xform\"),g=e(\"./xform/core/app-xform\"),y=e(\"./xform/book/workbook-xform\"),v=e(\"./xform/sheet/worksheet-xform\"),w=e(\"./xform/drawing/drawing-xform\"),_=e(\"./xform/table/table-xform\"),x=e(\"./xform/comment/comments-xform\"),k=e(\"./xform/comment/vml-notes-xform\"),S=e(\"./xml/theme1\");class M{constructor(e){this.workbook=e}async readFile(e,t){if(!await c.fs.exists(e))throw new Error(\"File not found: \"+e);const r=i.createReadStream(e);try{const e=await this.read(r,t);return r.close(),e}catch(e){throw r.close(),e}}parseRels(e){return(new m).parseStream(e)}parseWorkbook(e){return(new y).parseStream(e)}parseSharedStrings(e){return(new p).parseStream(e)}reconcile(e,t){const r=new y,n=new v(t),i=new w,s=new _;r.reconcile(e);const o={media:e.media,mediaIndex:e.mediaIndex};Object.keys(e.drawings).forEach(t=>{const r=e.drawings[t],n=e.drawingRels[t];n&&(o.rels=n.reduce((e,t)=>(e[t.Id]=t,e),{}),(r.anchors||[]).forEach(e=>{const t=e.picture&&e.picture.hyperlinks;t&&o.rels[t.rId]&&(t.hyperlink=o.rels[t.rId].Target,delete t.rId)}),i.reconcile(r,o))});const a={styles:e.styles};Object.values(e.tables).forEach(e=>{s.reconcile(e,a)});const l={styles:e.styles,sharedStrings:e.sharedStrings,media:e.media,mediaIndex:e.mediaIndex,date1904:e.properties&&e.properties.date1904,drawings:e.drawings,comments:e.comments,tables:e.tables,vmlDrawings:e.vmlDrawings};e.worksheets.forEach(t=>{t.relationships=e.worksheetRels[t.sheetNo],n.reconcile(t,l)}),delete e.worksheetHash,delete e.worksheetRels,delete e.globalRels,delete e.sharedStrings,delete e.workbookRels,delete e.sheetDefs,delete e.styles,delete e.mediaIndex,delete e.drawings,delete e.drawingRels,delete e.vmlDrawings}async _processWorksheetEntry(e,t,r,n,i){const s=new v(n),o=await s.parseStream(e);o.sheetNo=r,t.worksheetHash[i]=o,t.worksheets.push(o)}async _processCommentEntry(e,t,r){const n=new x,i=await n.parseStream(e);t.comments[`../${r}.xml`]=i}async _processTableEntry(e,t,r){const n=new _,i=await n.parseStream(e);t.tables[`../tables/${r}.xml`]=i}async _processWorksheetRelsEntry(e,t,r){const n=new m,i=await n.parseStream(e);t.worksheetRels[r]=i}async _processMediaEntry(e,t,r){const n=r.lastIndexOf(\".\");if(n>=1){const i=r.substr(n+1),s=r.substr(0,n);await new Promise((n,o)=>{const a=new l;a.on(\"finish\",()=>{t.mediaIndex[r]=t.media.length,t.mediaIndex[s]=t.media.length;const e={type:\"image\",name:s,extension:i,buffer:a.toBuffer()};t.media.push(e),n()}),e.on(\"error\",e=>{o(e)}),e.pipe(a)})}}async _processDrawingEntry(e,t,r){const n=new w,i=await n.parseStream(e);t.drawings[r]=i}async _processDrawingRelsEntry(e,t,r){const n=new m,i=await n.parseStream(e);t.drawingRels[r]=i}async _processVmlDrawingEntry(e,t,r){const n=new k,i=await n.parseStream(e);t.vmlDrawings[`../drawings/${r}.vml`]=i}async _processThemeEntry(e,t,r){await new Promise((n,i)=>{const s=new l;e.on(\"error\",i),s.on(\"error\",i),s.on(\"finish\",()=>{t.themes[r]=s.read().toString(),n()}),e.pipe(s)})}createInputStream(){throw new Error(\"`XLSX#createInputStream` is deprecated. You should use `XLSX#read` instead. This method will be removed in version 5.0. Please follow upgrade instruction: https://github.com/exceljs/exceljs/blob/master/UPGRADE-4.0.md\")}async read(e,t){!e[Symbol.asyncIterator]&&e.pipe&&(e=e.pipe(new o));const r=[];for await(const t of e)r.push(t);return this.load(n.concat(r),t)}async load(e,t){let i;i=t&&t.base64?n.from(e.toString(),\"base64\"):e;const a={worksheets:[],worksheetHash:{},worksheetRels:[],themes:{},media:[],mediaIndex:{},drawings:{},drawingRels:{},comments:{},tables:{},vmlDrawings:{}},l=await s.loadAsync(i);for(const e of Object.values(l.files))if(!e.dir){let n,i=e.name;if(\"/\"===i[0]&&(i=i.substr(1)),i.match(/xl\\/media\\//)||i.match(/xl\\/theme\\/([a-zA-Z0-9]+)[.]xml/))n=new o,n.write(await e.async(\"nodebuffer\"));else{let t;n=new o({writableObjectMode:!0,readableObjectMode:!0}),t=r.browser?h(await e.async(\"nodebuffer\")):await e.async(\"string\");const i=16384;for(let e=0;e<t.length;e+=i)n.write(t.substring(e,e+i))}switch(n.end(),i){case\"_rels/.rels\":a.globalRels=await this.parseRels(n);break;case\"xl/workbook.xml\":{const e=await this.parseWorkbook(n);a.sheets=e.sheets,a.definedNames=e.definedNames,a.views=e.views,a.properties=e.properties,a.calcProperties=e.calcProperties;break}case\"xl/_rels/workbook.xml.rels\":a.workbookRels=await this.parseRels(n);break;case\"xl/sharedStrings.xml\":a.sharedStrings=new p,await a.sharedStrings.parseStream(n);break;case\"xl/styles.xml\":a.styles=new f,await a.styles.parseStream(n);break;case\"docProps/app.xml\":{const e=new g,t=await e.parseStream(n);a.company=t.company,a.manager=t.manager;break}case\"docProps/core.xml\":{const e=new d,t=await e.parseStream(n);Object.assign(a,t);break}default:{let e=i.match(/xl\\/worksheets\\/sheet(\\d+)[.]xml/);if(e){await this._processWorksheetEntry(n,a,e[1],t,i);break}if(e=i.match(/xl\\/worksheets\\/_rels\\/sheet(\\d+)[.]xml.rels/),e){await this._processWorksheetRelsEntry(n,a,e[1]);break}if(e=i.match(/xl\\/theme\\/([a-zA-Z0-9]+)[.]xml/),e){await this._processThemeEntry(n,a,e[1]);break}if(e=i.match(/xl\\/media\\/([a-zA-Z0-9]+[.][a-zA-Z0-9]{3,4})$/),e){await this._processMediaEntry(n,a,e[1]);break}if(e=i.match(/xl\\/drawings\\/([a-zA-Z0-9]+)[.]xml/),e){await this._processDrawingEntry(n,a,e[1]);break}if(e=i.match(/xl\\/(comments\\d+)[.]xml/),e){await this._processCommentEntry(n,a,e[1]);break}if(e=i.match(/xl\\/tables\\/(table\\d+)[.]xml/),e){await this._processTableEntry(n,a,e[1]);break}if(e=i.match(/xl\\/drawings\\/_rels\\/([a-zA-Z0-9]+)[.]xml[.]rels/),e){await this._processDrawingRelsEntry(n,a,e[1]);break}if(e=i.match(/xl\\/drawings\\/(vmlDrawing\\d+)[.]vml/),e){await this._processVmlDrawingEntry(n,a,e[1]);break}}}}return this.reconcile(a,t),this.workbook.model=a,this.workbook}async addMedia(e,t){await Promise.all(t.media.map(async t=>{if(\"image\"===t.type){const r=`xl/media/${t.name}.${t.extension}`;if(t.filename){const n=await function(e,t){return new Promise((r,n)=>{i.readFile(e,t,(e,t)=>{e?n(e):r(t)})})}(t.filename);return e.append(n,{name:r})}if(t.buffer)return e.append(t.buffer,{name:r});if(t.base64){const n=t.base64,i=n.substring(n.indexOf(\",\")+1);return e.append(i,{name:r,base64:!0})}}throw new Error(\"Unsupported media\")}))}addDrawings(e,t){const r=new w,n=new m;t.worksheets.forEach(t=>{const{drawing:i}=t;if(i){r.prepare(i,{});let t=r.toXml(i);e.append(t,{name:`xl/drawings/${i.name}.xml`}),t=n.toXml(i.rels),e.append(t,{name:`xl/drawings/_rels/${i.name}.xml.rels`})}})}addTables(e,t){const r=new _;t.worksheets.forEach(t=>{const{tables:n}=t;n.forEach(t=>{r.prepare(t,{});const n=r.toXml(t);e.append(n,{name:\"xl/tables/\"+t.target})})})}async addContentTypes(e,t){const r=(new b).toXml(t);e.append(r,{name:\"[Content_Types].xml\"})}async addApp(e,t){const r=(new g).toXml(t);e.append(r,{name:\"docProps/app.xml\"})}async addCore(e,t){const r=new d;e.append(r.toXml(t),{name:\"docProps/core.xml\"})}async addThemes(e,t){const r=t.themes||{theme1:S};Object.keys(r).forEach(t=>{const n=r[t],i=`xl/theme/${t}.xml`;e.append(n,{name:i})})}async addOfficeRels(e){const t=(new m).toXml([{Id:\"rId1\",Type:M.RelType.OfficeDocument,Target:\"xl/workbook.xml\"},{Id:\"rId2\",Type:M.RelType.CoreProperties,Target:\"docProps/core.xml\"},{Id:\"rId3\",Type:M.RelType.ExtenderProperties,Target:\"docProps/app.xml\"}]);e.append(t,{name:\"_rels/.rels\"})}async addWorkbookRels(e,t){let r=1;const n=[{Id:\"rId\"+r++,Type:M.RelType.Styles,Target:\"styles.xml\"},{Id:\"rId\"+r++,Type:M.RelType.Theme,Target:\"theme/theme1.xml\"}];t.sharedStrings.count&&n.push({Id:\"rId\"+r++,Type:M.RelType.SharedStrings,Target:\"sharedStrings.xml\"}),t.worksheets.forEach(e=>{e.rId=\"rId\"+r++,n.push({Id:e.rId,Type:M.RelType.Worksheet,Target:`worksheets/sheet${e.id}.xml`})});const i=(new m).toXml(n);e.append(i,{name:\"xl/_rels/workbook.xml.rels\"})}async addSharedStrings(e,t){t.sharedStrings&&t.sharedStrings.count&&e.append(t.sharedStrings.xml,{name:\"xl/sharedStrings.xml\"})}async addStyles(e,t){const{xml:r}=t.styles;r&&e.append(r,{name:\"xl/styles.xml\"})}async addWorkbook(e,t){const r=new y;e.append(r.toXml(t),{name:\"xl/workbook.xml\"})}async addWorksheets(e,t){const r=new v,n=new m,i=new x,s=new k;t.worksheets.forEach(t=>{let o=new u;r.render(o,t),e.append(o.xml,{name:`xl/worksheets/sheet${t.id}.xml`}),t.rels&&t.rels.length&&(o=new u,n.render(o,t.rels),e.append(o.xml,{name:`xl/worksheets/_rels/sheet${t.id}.xml.rels`})),t.comments.length>0&&(o=new u,i.render(o,t),e.append(o.xml,{name:`xl/comments${t.id}.xml`}),o=new u,s.render(o,t),e.append(o.xml,{name:`xl/drawings/vmlDrawing${t.id}.vml`}))})}_finalize(e){return new Promise((t,r)=>{e.on(\"finish\",()=>{t(this)}),e.on(\"error\",r),e.finalize()})}prepareModel(e,t){e.creator=e.creator||\"ExcelJS\",e.lastModifiedBy=e.lastModifiedBy||\"ExcelJS\",e.created=e.created||new Date,e.modified=e.modified||new Date,e.useSharedStrings=void 0===t.useSharedStrings||t.useSharedStrings,e.useStyles=void 0===t.useStyles||t.useStyles,e.sharedStrings=new p,e.styles=e.useStyles?new f(!0):new f.Mock;const r=new y,n=new v;r.prepare(e);const i={sharedStrings:e.sharedStrings,styles:e.styles,date1904:e.properties.date1904,drawingsCount:0,media:e.media};i.drawings=e.drawings=[],i.commentRefs=e.commentRefs=[];let s=0;e.tables=[],e.worksheets.forEach(t=>{t.tables.forEach(t=>{s++,t.target=`table${s}.xml`,t.id=s,e.tables.push(t)}),n.prepare(t,i)})}async write(e,t){t=t||{};const{model:r}=this.workbook,n=new a.ZipWriter(t.zip);return n.pipe(e),this.prepareModel(r,t),await this.addContentTypes(n,r),await this.addOfficeRels(n,r),await this.addWorkbookRels(n,r),await this.addWorksheets(n,r),await this.addSharedStrings(n,r),await this.addDrawings(n,r),await this.addTables(n,r),await Promise.all([this.addThemes(n,r),this.addStyles(n,r)]),await this.addMedia(n,r),await Promise.all([this.addApp(n,r),this.addCore(n,r)]),await this.addWorkbook(n,r),this._finalize(n)}writeFile(e,t){const r=i.createWriteStream(e);return new Promise((e,n)=>{r.on(\"finish\",()=>{e()}),r.on(\"error\",e=>{n(e)}),this.write(r,t).then(()=>{r.end()}).catch(e=>{n(e)})})}async writeBuffer(e){const t=new l;return await this.write(t,e),t.read()}}M.RelType=e(\"./rel-type\"),t.exports=M}).call(this)}).call(this,e(\"_process\"),e(\"buffer\").Buffer)},{\"../utils/browser-buffer-decode\":16,\"../utils/stream-buf\":24,\"../utils/utils\":27,\"../utils/xml-stream\":28,\"../utils/zip-stream\":29,\"./rel-type\":31,\"./xform/book/workbook-xform\":38,\"./xform/comment/comments-xform\":40,\"./xform/comment/vml-notes-xform\":45,\"./xform/core/app-xform\":51,\"./xform/core/content-types-xform\":52,\"./xform/core/core-xform\":53,\"./xform/core/relationships-xform\":55,\"./xform/drawing/drawing-xform\":62,\"./xform/sheet/worksheet-xform\":115,\"./xform/strings/shared-strings-xform\":124,\"./xform/style/styles-xform\":135,\"./xform/table/table-xform\":143,\"./xml/theme1\":145,_process:467,buffer:220,fs:216,jszip:441,\"readable-stream\":491}],145:[function(e,t,r){\"use strict\";t.exports='<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\n<a:theme xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" name=\"Office Theme\"> <a:themeElements> <a:clrScheme name=\"Office\"> <a:dk1> <a:sysClr val=\"windowText\" lastClr=\"000000\"/> </a:dk1> <a:lt1> <a:sysClr val=\"window\" lastClr=\"FFFFFF\"/> </a:lt1> <a:dk2> <a:srgbClr val=\"1F497D\"/> </a:dk2> <a:lt2> <a:srgbClr val=\"EEECE1\"/> </a:lt2> <a:accent1> <a:srgbClr val=\"4F81BD\"/> </a:accent1> <a:accent2> <a:srgbClr val=\"C0504D\"/> </a:accent2> <a:accent3> <a:srgbClr val=\"9BBB59\"/> </a:accent3> <a:accent4> <a:srgbClr val=\"8064A2\"/> </a:accent4> <a:accent5> <a:srgbClr val=\"4BACC6\"/> </a:accent5> <a:accent6> <a:srgbClr val=\"F79646\"/> </a:accent6> <a:hlink> <a:srgbClr val=\"0000FF\"/> </a:hlink> <a:folHlink> <a:srgbClr val=\"800080\"/> </a:folHlink> </a:clrScheme> <a:fontScheme name=\"Office\"> <a:majorFont> <a:latin typeface=\"Cambria\"/> <a:ea typeface=\"\"/> <a:cs typeface=\"\"/> <a:font script=\"Jpan\" typeface=\"\\uff2d\\uff33 \\uff30\\u30b4\\u30b7\\u30c3\\u30af\"/> <a:font script=\"Hang\" typeface=\"\\ub9d1\\uc740 \\uace0\\ub515\"/> <a:font script=\"Hans\" typeface=\"\\u5b8b\\u4f53\"/> <a:font script=\"Hant\" typeface=\"\\u65b0\\u7d30\\u660e\\u9ad4\"/> <a:font script=\"Arab\" typeface=\"Times New Roman\"/> <a:font script=\"Hebr\" typeface=\"Times New Roman\"/> <a:font script=\"Thai\" typeface=\"Tahoma\"/> <a:font script=\"Ethi\" typeface=\"Nyala\"/> <a:font script=\"Beng\" typeface=\"Vrinda\"/> <a:font script=\"Gujr\" typeface=\"Shruti\"/> <a:font script=\"Khmr\" typeface=\"MoolBoran\"/> <a:font script=\"Knda\" typeface=\"Tunga\"/> <a:font script=\"Guru\" typeface=\"Raavi\"/> <a:font script=\"Cans\" typeface=\"Euphemia\"/> <a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/> <a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/> <a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/> <a:font script=\"Thaa\" typeface=\"MV Boli\"/> <a:font script=\"Deva\" typeface=\"Mangal\"/> <a:font script=\"Telu\" typeface=\"Gautami\"/> <a:font script=\"Taml\" typeface=\"Latha\"/> <a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/> <a:font script=\"Orya\" typeface=\"Kalinga\"/> <a:font script=\"Mlym\" typeface=\"Kartika\"/> <a:font script=\"Laoo\" typeface=\"DokChampa\"/> <a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/> <a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/> <a:font script=\"Viet\" typeface=\"Times New Roman\"/> <a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/> <a:font script=\"Geor\" typeface=\"Sylfaen\"/> </a:majorFont> <a:minorFont> <a:latin typeface=\"Calibri\"/> <a:ea typeface=\"\"/> <a:cs typeface=\"\"/> <a:font script=\"Jpan\" typeface=\"\\uff2d\\uff33 \\uff30\\u30b4\\u30b7\\u30c3\\u30af\"/> <a:font script=\"Hang\" typeface=\"\\ub9d1\\uc740 \\uace0\\ub515\"/> <a:font script=\"Hans\" typeface=\"\\u5b8b\\u4f53\"/> <a:font script=\"Hant\" typeface=\"\\u65b0\\u7d30\\u660e\\u9ad4\"/> <a:font script=\"Arab\" typeface=\"Arial\"/> <a:font script=\"Hebr\" typeface=\"Arial\"/> <a:font script=\"Thai\" typeface=\"Tahoma\"/> <a:font script=\"Ethi\" typeface=\"Nyala\"/> <a:font script=\"Beng\" typeface=\"Vrinda\"/> <a:font script=\"Gujr\" typeface=\"Shruti\"/> <a:font script=\"Khmr\" typeface=\"DaunPenh\"/> <a:font script=\"Knda\" typeface=\"Tunga\"/> <a:font script=\"Guru\" typeface=\"Raavi\"/> <a:font script=\"Cans\" typeface=\"Euphemia\"/> <a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/> <a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/> <a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/> <a:font script=\"Thaa\" typeface=\"MV Boli\"/> <a:font script=\"Deva\" typeface=\"Mangal\"/> <a:font script=\"Telu\" typeface=\"Gautami\"/> <a:font script=\"Taml\" typeface=\"Latha\"/> <a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/> <a:font script=\"Orya\" typeface=\"Kalinga\"/> <a:font script=\"Mlym\" typeface=\"Kartika\"/> <a:font script=\"Laoo\" typeface=\"DokChampa\"/> <a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/> <a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/> <a:font script=\"Viet\" typeface=\"Arial\"/> <a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/> <a:font script=\"Geor\" typeface=\"Sylfaen\"/> </a:minorFont> </a:fontScheme> <a:fmtScheme name=\"Office\"> <a:fillStyleLst> <a:solidFill> <a:schemeClr val=\"phClr\"/> </a:solidFill> <a:gradFill rotWithShape=\"1\"> <a:gsLst> <a:gs pos=\"0\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"50000\"/> <a:satMod val=\"300000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"35000\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"37000\"/> <a:satMod val=\"300000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"100000\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"15000\"/> <a:satMod val=\"350000\"/> </a:schemeClr> </a:gs> </a:gsLst> <a:lin ang=\"16200000\" scaled=\"1\"/> </a:gradFill> <a:gradFill rotWithShape=\"1\"> <a:gsLst> <a:gs pos=\"0\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"100000\"/> <a:shade val=\"100000\"/> <a:satMod val=\"130000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"100000\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"50000\"/> <a:shade val=\"100000\"/> <a:satMod val=\"350000\"/> </a:schemeClr> </a:gs> </a:gsLst> <a:lin ang=\"16200000\" scaled=\"0\"/> </a:gradFill> </a:fillStyleLst> <a:lnStyleLst> <a:ln w=\"9525\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"> <a:solidFill> <a:schemeClr val=\"phClr\"> <a:shade val=\"95000\"/> <a:satMod val=\"105000\"/> </a:schemeClr> </a:solidFill> <a:prstDash val=\"solid\"/> </a:ln> <a:ln w=\"25400\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"> <a:solidFill> <a:schemeClr val=\"phClr\"/> </a:solidFill> <a:prstDash val=\"solid\"/> </a:ln> <a:ln w=\"38100\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"> <a:solidFill> <a:schemeClr val=\"phClr\"/> </a:solidFill> <a:prstDash val=\"solid\"/> </a:ln> </a:lnStyleLst> <a:effectStyleLst> <a:effectStyle> <a:effectLst> <a:outerShdw blurRad=\"40000\" dist=\"20000\" dir=\"5400000\" rotWithShape=\"0\"> <a:srgbClr val=\"000000\"> <a:alpha val=\"38000\"/> </a:srgbClr> </a:outerShdw> </a:effectLst> </a:effectStyle> <a:effectStyle> <a:effectLst> <a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\"> <a:srgbClr val=\"000000\"> <a:alpha val=\"35000\"/> </a:srgbClr> </a:outerShdw> </a:effectLst> </a:effectStyle> <a:effectStyle> <a:effectLst> <a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\"> <a:srgbClr val=\"000000\"> <a:alpha val=\"35000\"/> </a:srgbClr> </a:outerShdw> </a:effectLst> <a:scene3d> <a:camera prst=\"orthographicFront\"> <a:rot lat=\"0\" lon=\"0\" rev=\"0\"/> </a:camera> <a:lightRig rig=\"threePt\" dir=\"t\"> <a:rot lat=\"0\" lon=\"0\" rev=\"1200000\"/> </a:lightRig> </a:scene3d> <a:sp3d> <a:bevelT w=\"63500\" h=\"25400\"/> </a:sp3d> </a:effectStyle> </a:effectStyleLst> <a:bgFillStyleLst> <a:solidFill> <a:schemeClr val=\"phClr\"/> </a:solidFill> <a:gradFill rotWithShape=\"1\"> <a:gsLst> <a:gs pos=\"0\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"40000\"/> <a:satMod val=\"350000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"40000\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"45000\"/> <a:shade val=\"99000\"/> <a:satMod val=\"350000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"100000\"> <a:schemeClr val=\"phClr\"> <a:shade val=\"20000\"/> <a:satMod val=\"255000\"/> </a:schemeClr> </a:gs> </a:gsLst> <a:path path=\"circle\"> <a:fillToRect l=\"50000\" t=\"-80000\" r=\"50000\" b=\"180000\"/> </a:path> </a:gradFill> <a:gradFill rotWithShape=\"1\"> <a:gsLst> <a:gs pos=\"0\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"80000\"/> <a:satMod val=\"300000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"100000\"> <a:schemeClr val=\"phClr\"> <a:shade val=\"30000\"/> <a:satMod val=\"200000\"/> </a:schemeClr> </a:gs> </a:gsLst> <a:path path=\"circle\"> <a:fillToRect l=\"50000\" t=\"50000\" r=\"50000\" b=\"50000\"/> </a:path> </a:gradFill> </a:bgFillStyleLst> </a:fmtScheme> </a:themeElements> <a:objectDefaults> <a:spDef> <a:spPr/> <a:bodyPr/> <a:lstStyle/> <a:style> <a:lnRef idx=\"1\"> <a:schemeClr val=\"accent1\"/> </a:lnRef> <a:fillRef idx=\"3\"> <a:schemeClr val=\"accent1\"/> </a:fillRef> <a:effectRef idx=\"2\"> <a:schemeClr val=\"accent1\"/> </a:effectRef> <a:fontRef idx=\"minor\"> <a:schemeClr val=\"lt1\"/> </a:fontRef> </a:style> </a:spDef> <a:lnDef> <a:spPr/> <a:bodyPr/> <a:lstStyle/> <a:style> <a:lnRef idx=\"2\"> <a:schemeClr val=\"accent1\"/> </a:lnRef> <a:fillRef idx=\"0\"> <a:schemeClr val=\"accent1\"/> </a:fillRef> <a:effectRef idx=\"1\"> <a:schemeClr val=\"accent1\"/> </a:effectRef> <a:fontRef idx=\"minor\"> <a:schemeClr val=\"tx1\"/> </a:fontRef> </a:style> </a:lnDef> </a:objectDefaults> <a:extraClrSchemeLst/> </a:theme>'},{}],146:[function(e,t,r){(function(t){(function(){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.CsvFormatterStream=void 0;const n=e(\"stream\"),i=e(\"./formatter\");class s extends n.Transform{constructor(e){super({writableObjectMode:e.objectMode}),this.hasWrittenBOM=!1,this.formatterOptions=e,this.rowFormatter=new i.RowFormatter(e),this.hasWrittenBOM=!e.writeBOM}transform(e){return this.rowFormatter.rowTransform=e,this}_transform(e,r,n){let i=!1;try{this.hasWrittenBOM||(this.push(this.formatterOptions.BOM),this.hasWrittenBOM=!0),this.rowFormatter.format(e,(e,r)=>e?(i=!0,n(e)):(r&&r.forEach(e=>{this.push(t.from(e,\"utf8\"))}),i=!0,n()))}catch(e){if(i)throw e;n(e)}}_flush(e){this.rowFormatter.finish((r,n)=>r?e(r):(n&&n.forEach(e=>{this.push(t.from(e,\"utf8\"))}),e()))}}r.CsvFormatterStream=s}).call(this)}).call(this,e(\"buffer\").Buffer)},{\"./formatter\":150,buffer:220,stream:505}],147:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.FormatterOptions=void 0;r.FormatterOptions=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t;this.objectMode=!0,this.delimiter=\",\",this.rowDelimiter=\"\\n\",this.quote='\"',this.escape=this.quote,this.quoteColumns=!1,this.quoteHeaders=this.quoteColumns,this.headers=null,this.includeEndRowDelimiter=!1,this.writeBOM=!1,this.BOM=\"\\ufeff\",this.alwaysWriteHeaders=!1,Object.assign(this,e||{}),void 0===(null==e?void 0:e.quoteHeaders)&&(this.quoteHeaders=this.quoteColumns),!0===(null==e?void 0:e.quote)?this.quote='\"':!1===(null==e?void 0:e.quote)&&(this.quote=\"\"),\"string\"!=typeof(null==e?void 0:e.escape)&&(this.escape=this.quote),this.shouldWriteHeaders=!!this.headers&&(null===(t=e.writeHeaders)||void 0===t||t),this.headers=Array.isArray(this.headers)?this.headers:null,this.escapedQuote=`${this.escape}${this.quote}`}}},{}],148:[function(e,t,r){\"use strict\";var n=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.FieldFormatter=void 0;const i=n(e(\"lodash.isboolean\")),s=n(e(\"lodash.isnil\")),o=n(e(\"lodash.escaperegexp\"));r.FieldFormatter=class{constructor(e){this._headers=null,this.formatterOptions=e,null!==e.headers&&(this.headers=e.headers),this.REPLACE_REGEXP=new RegExp(e.quote,\"g\");const t=`[${e.delimiter}${o.default(e.rowDelimiter)}|\\r|\\n]`;this.ESCAPE_REGEXP=new RegExp(t)}set headers(e){this._headers=e}shouldQuote(e,t){const r=t?this.formatterOptions.quoteHeaders:this.formatterOptions.quoteColumns;return i.default(r)?r:Array.isArray(r)?r[e]:null!==this._headers&&r[this._headers[e]]}format(e,t,r){const n=(\"\"+(s.default(e)?\"\":e)).replace(/\\0/g,\"\"),{formatterOptions:i}=this;if(\"\"!==i.quote){if(-1!==n.indexOf(i.quote))return this.quoteField(n.replace(this.REPLACE_REGEXP,i.escapedQuote))}return-1!==n.search(this.ESCAPE_REGEXP)||this.shouldQuote(t,r)?this.quoteField(n):n}quoteField(e){const{quote:t}=this.formatterOptions;return`${t}${e}${t}`}}},{\"lodash.escaperegexp\":442,\"lodash.isboolean\":444,\"lodash.isnil\":447}],149:[function(e,t,r){\"use strict\";var n=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.RowFormatter=void 0;const i=n(e(\"lodash.isfunction\")),s=n(e(\"lodash.isequal\")),o=e(\"./FieldFormatter\"),a=e(\"../types\");class l{constructor(e){this.rowCount=0,this.formatterOptions=e,this.fieldFormatter=new o.FieldFormatter(e),this.headers=e.headers,this.shouldWriteHeaders=e.shouldWriteHeaders,this.hasWrittenHeaders=!1,null!==this.headers&&(this.fieldFormatter.headers=this.headers),e.transform&&(this.rowTransform=e.transform)}static isRowHashArray(e){return!!Array.isArray(e)&&(Array.isArray(e[0])&&2===e[0].length)}static isRowArray(e){return Array.isArray(e)&&!this.isRowHashArray(e)}static gatherHeaders(e){return l.isRowHashArray(e)?e.map(e=>e[0]):Array.isArray(e)?e:Object.keys(e)}static createTransform(e){return a.isSyncTransform(e)?(t,r)=>{let n=null;try{n=e(t)}catch(e){return r(e)}return r(null,n)}:(t,r)=>{e(t,r)}}set rowTransform(e){if(!i.default(e))throw new TypeError(\"The transform should be a function\");this._rowTransform=l.createTransform(e)}format(e,t){this.callTransformer(e,(r,n)=>{if(r)return t(r);if(!e)return t(null);const i=[];if(n){const{shouldFormatColumns:e,headers:t}=this.checkHeaders(n);if(this.shouldWriteHeaders&&t&&!this.hasWrittenHeaders&&(i.push(this.formatColumns(t,!0)),this.hasWrittenHeaders=!0),e){const e=this.gatherColumns(n);i.push(this.formatColumns(e,!1))}}return t(null,i)})}finish(e){const t=[];if(this.formatterOptions.alwaysWriteHeaders&&0===this.rowCount){if(!this.headers)return e(new Error(\"`alwaysWriteHeaders` option is set to true but `headers` option not provided.\"));t.push(this.formatColumns(this.headers,!0))}return this.formatterOptions.includeEndRowDelimiter&&t.push(this.formatterOptions.rowDelimiter),e(null,t)}checkHeaders(e){if(this.headers)return{shouldFormatColumns:!0,headers:this.headers};const t=l.gatherHeaders(e);return this.headers=t,this.fieldFormatter.headers=t,this.shouldWriteHeaders?{shouldFormatColumns:!s.default(t,e),headers:t}:{shouldFormatColumns:!0,headers:null}}gatherColumns(e){if(null===this.headers)throw new Error(\"Headers is currently null\");return Array.isArray(e)?l.isRowHashArray(e)?this.headers.map((t,r)=>{const n=e[r];return n?n[1]:\"\"}):l.isRowArray(e)&&!this.shouldWriteHeaders?e:this.headers.map((t,r)=>e[r]):this.headers.map(t=>e[t])}callTransformer(e,t){return this._rowTransform?this._rowTransform(e,t):t(null,e)}formatColumns(e,t){const r=e.map((e,r)=>this.fieldFormatter.format(e,r,t)).join(this.formatterOptions.delimiter),{rowCount:n}=this;return this.rowCount+=1,n?[this.formatterOptions.rowDelimiter,r].join(\"\"):r}}r.RowFormatter=l},{\"../types\":152,\"./FieldFormatter\":148,\"lodash.isequal\":445,\"lodash.isfunction\":446}],150:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.FieldFormatter=r.RowFormatter=void 0;var n=e(\"./RowFormatter\");Object.defineProperty(r,\"RowFormatter\",{enumerable:!0,get:function(){return n.RowFormatter}});var i=e(\"./FieldFormatter\");Object.defineProperty(r,\"FieldFormatter\",{enumerable:!0,get:function(){return i.FieldFormatter}})},{\"./FieldFormatter\":148,\"./RowFormatter\":149}],151:[function(e,t,r){(function(t){(function(){\"use strict\";var n=Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]},i=Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t},s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=function(e,t){for(var r in e)\"default\"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(r,\"__esModule\",{value:!0}),r.writeToPath=r.writeToString=r.writeToBuffer=r.writeToStream=r.write=r.format=r.FormatterOptions=r.CsvFormatterStream=void 0;const a=e(\"util\"),l=e(\"stream\"),c=s(e(\"fs\")),u=e(\"./FormatterOptions\"),h=e(\"./CsvFormatterStream\");o(e(\"./types\"),r);var f=e(\"./CsvFormatterStream\");Object.defineProperty(r,\"CsvFormatterStream\",{enumerable:!0,get:function(){return f.CsvFormatterStream}});var d=e(\"./FormatterOptions\");Object.defineProperty(r,\"FormatterOptions\",{enumerable:!0,get:function(){return d.FormatterOptions}}),r.format=e=>new h.CsvFormatterStream(new u.FormatterOptions(e)),r.write=(e,t)=>{const n=r.format(t),i=a.promisify((e,t)=>{n.write(e,void 0,t)});return e.reduce((e,t)=>e.then(()=>i(t)),Promise.resolve()).then(()=>n.end()).catch(e=>{n.emit(\"error\",e)}),n},r.writeToStream=(e,t,n)=>r.write(t,n).pipe(e),r.writeToBuffer=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=[],s=new l.Writable({write(e,t,r){i.push(e),r()}});return new Promise((o,a)=>{s.on(\"error\",a).on(\"finish\",()=>o(t.concat(i))),r.write(e,n).pipe(s)})},r.writeToString=(e,t)=>r.writeToBuffer(e,t).then(e=>e.toString()),r.writeToPath=(e,t,n)=>{const i=c.createWriteStream(e,{encoding:\"utf8\"});return r.write(t,n).pipe(i)}}).call(this)}).call(this,e(\"buffer\").Buffer)},{\"./CsvFormatterStream\":146,\"./FormatterOptions\":147,\"./types\":152,buffer:220,fs:216,stream:505,util:527}],152:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.isSyncTransform=void 0,r.isSyncTransform=e=>1===e.length},{}],153:[function(e,t,r){(function(t){(function(){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.CsvParserStream=void 0;const n=e(\"string_decoder\"),i=e(\"stream\"),s=e(\"./transforms\"),o=e(\"./parser\");class a extends i.Transform{constructor(e){super({objectMode:e.objectMode}),this.lines=\"\",this.rowCount=0,this.parsedRowCount=0,this.parsedLineCount=0,this.endEmitted=!1,this.headersEmitted=!1,this.parserOptions=e,this.parser=new o.Parser(e),this.headerTransformer=new s.HeaderTransformer(e),this.decoder=new n.StringDecoder(e.encoding),this.rowTransformerValidator=new s.RowTransformerValidator}get hasHitRowLimit(){return this.parserOptions.limitRows&&this.rowCount>=this.parserOptions.maxRows}get shouldEmitRows(){return this.parsedRowCount>this.parserOptions.skipRows}get shouldSkipLine(){return this.parsedLineCount<=this.parserOptions.skipLines}transform(e){return this.rowTransformerValidator.rowTransform=e,this}validate(e){return this.rowTransformerValidator.rowValidator=e,this}emit(e){if(\"end\"===e)return this.endEmitted||(this.endEmitted=!0,super.emit(\"end\",this.rowCount)),!1;for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return super.emit(e,...r)}_transform(e,t,r){if(this.hasHitRowLimit)return r();const n=a.wrapDoneCallback(r);try{const{lines:t}=this,r=t+this.decoder.write(e),i=this.parse(r,!0);return this.processRows(i,n)}catch(e){return n(e)}}_flush(e){const t=a.wrapDoneCallback(e);if(this.hasHitRowLimit)return t();try{const e=this.lines+this.decoder.end(),r=this.parse(e,!1);return this.processRows(r,t)}catch(e){return t(e)}}parse(e,t){if(!e)return[];const{line:r,rows:n}=this.parser.parse(e,t);return this.lines=r,n}processRows(e,r){const n=e.length,i=s=>{const o=e=>e?r(e):s%100!=0?i(s+1):void t(()=>i(s+1));if(this.checkAndEmitHeaders(),s>=n||this.hasHitRowLimit)return r();if(this.parsedLineCount+=1,this.shouldSkipLine)return o();const a=e[s];this.rowCount+=1,this.parsedRowCount+=1;const l=this.rowCount;return this.transformRow(a,(e,t)=>{if(e)return this.rowCount-=1,o(e);if(!t)return o(new Error(\"expected transform result\"));if(t.isValid){if(t.row)return this.pushRow(t.row,o)}else this.emit(\"data-invalid\",t.row,l,t.reason);return o()})};i(0)}transformRow(e,t){try{this.headerTransformer.transform(e,(r,n)=>r?t(r):n?n.isValid?n.row?this.shouldEmitRows?this.rowTransformerValidator.transformAndValidate(n.row,t):this.skipRow(t):(this.rowCount-=1,this.parsedRowCount-=1,t(null,{row:null,isValid:!0})):this.shouldEmitRows?t(null,{isValid:!1,row:e}):this.skipRow(t):t(new Error(\"Expected result from header transform\")))}catch(e){t(e)}}checkAndEmitHeaders(){!this.headersEmitted&&this.headerTransformer.headers&&(this.headersEmitted=!0,this.emit(\"headers\",this.headerTransformer.headers))}skipRow(e){return this.rowCount-=1,e(null,{row:null,isValid:!0})}pushRow(e,t){try{this.parserOptions.objectMode?this.push(e):this.push(JSON.stringify(e)),t()}catch(e){t(e)}}static wrapDoneCallback(e){let t=!1;return function(r){if(r){if(t)throw r;return t=!0,void e(r)}for(var n=arguments.length,i=new Array(n>1?n-1:0),s=1;s<n;s++)i[s-1]=arguments[s];e(...i)}}}r.CsvParserStream=a}).call(this)}).call(this,e(\"timers\").setImmediate)},{\"./parser\":165,\"./transforms\":168,stream:505,string_decoder:218,timers:523}],154:[function(e,t,r){\"use strict\";var n=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.ParserOptions=void 0;const i=n(e(\"lodash.escaperegexp\")),s=n(e(\"lodash.isnil\"));r.ParserOptions=class{constructor(e){var t;if(this.objectMode=!0,this.delimiter=\",\",this.ignoreEmpty=!1,this.quote='\"',this.escape=null,this.escapeChar=this.quote,this.comment=null,this.supportsComments=!1,this.ltrim=!1,this.rtrim=!1,this.trim=!1,this.headers=null,this.renameHeaders=!1,this.strictColumnHandling=!1,this.discardUnmappedColumns=!1,this.carriageReturn=\"\\r\",this.encoding=\"utf8\",this.limitRows=!1,this.maxRows=0,this.skipLines=0,this.skipRows=0,Object.assign(this,e||{}),this.delimiter.length>1)throw new Error(\"delimiter option must be one character long\");this.escapedDelimiter=i.default(this.delimiter),this.escapeChar=null!==(t=this.escape)&&void 0!==t?t:this.quote,this.supportsComments=!s.default(this.comment),this.NEXT_TOKEN_REGEXP=new RegExp(`([^\\\\s]|\\\\r\\\\n|\\\\n|\\\\r|${this.escapedDelimiter})`),this.maxRows>0&&(this.limitRows=!0)}}},{\"lodash.escaperegexp\":442,\"lodash.isnil\":447}],155:[function(e,t,r){\"use strict\";var n=Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]},i=Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t},s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=function(e,t){for(var r in e)\"default\"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(r,\"__esModule\",{value:!0}),r.parseString=r.parseFile=r.parseStream=r.parse=r.ParserOptions=r.CsvParserStream=void 0;const a=s(e(\"fs\")),l=e(\"stream\"),c=e(\"./ParserOptions\"),u=e(\"./CsvParserStream\");o(e(\"./types\"),r);var h=e(\"./CsvParserStream\");Object.defineProperty(r,\"CsvParserStream\",{enumerable:!0,get:function(){return h.CsvParserStream}});var f=e(\"./ParserOptions\");Object.defineProperty(r,\"ParserOptions\",{enumerable:!0,get:function(){return f.ParserOptions}}),r.parse=e=>new u.CsvParserStream(new c.ParserOptions(e)),r.parseStream=(e,t)=>e.pipe(new u.CsvParserStream(new c.ParserOptions(t))),r.parseFile=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return a.createReadStream(e).pipe(new u.CsvParserStream(new c.ParserOptions(t)))},r.parseString=(e,t)=>{const r=new l.Readable;return r.push(e),r.push(null),r.pipe(new u.CsvParserStream(new c.ParserOptions(t)))}},{\"./CsvParserStream\":153,\"./ParserOptions\":154,\"./types\":169,fs:216,stream:505}],156:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.Parser=void 0;const n=e(\"./Scanner\"),i=e(\"./RowParser\"),s=e(\"./Token\");class o{constructor(e){this.parserOptions=e,this.rowParser=new i.RowParser(this.parserOptions)}static removeBOM(e){return e&&65279===e.charCodeAt(0)?e.slice(1):e}parse(e,t){const r=new n.Scanner({line:o.removeBOM(e),parserOptions:this.parserOptions,hasMoreData:t});return this.parserOptions.supportsComments?this.parseWithComments(r):this.parseWithoutComments(r)}parseWithoutComments(e){const t=[];let r=!0;for(;r;)r=this.parseRow(e,t);return{line:e.line,rows:t}}parseWithComments(e){const{parserOptions:t}=this,r=[];for(let n=e.nextCharacterToken;null!==n;n=e.nextCharacterToken)if(s.Token.isTokenComment(n,t)){if(null===e.advancePastLine())return{line:e.lineFromCursor,rows:r};if(!e.hasMoreCharacters)return{line:e.lineFromCursor,rows:r};e.truncateToCursor()}else if(!this.parseRow(e,r))break;return{line:e.line,rows:r}}parseRow(e,t){if(!e.nextNonSpaceToken)return!1;const r=this.rowParser.parse(e);return null!==r&&(this.parserOptions.ignoreEmpty&&i.RowParser.isEmptyRow(r)||t.push(r),!0)}}r.Parser=o},{\"./RowParser\":157,\"./Scanner\":158,\"./Token\":159}],157:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.RowParser=void 0;const n=e(\"./column\"),i=e(\"./Token\");r.RowParser=class{constructor(e){this.parserOptions=e,this.columnParser=new n.ColumnParser(e)}static isEmptyRow(e){return\"\"===e.join(\"\").replace(/\\s+/g,\"\")}parse(e){const{parserOptions:t}=this,{hasMoreData:r}=e,n=e,s=[];let o=this.getStartToken(n,s);for(;o;){if(i.Token.isTokenRowDelimiter(o))return n.advancePastToken(o),!n.hasMoreCharacters&&i.Token.isTokenCarriageReturn(o,t)&&r?null:(n.truncateToCursor(),s);if(!this.shouldSkipColumnParse(n,o,s)){const e=this.columnParser.parse(n);if(null===e)return null;s.push(e)}o=n.nextNonSpaceToken}return r?null:(n.truncateToCursor(),s)}getStartToken(e,t){const r=e.nextNonSpaceToken;return null!==r&&i.Token.isTokenDelimiter(r,this.parserOptions)?(t.push(\"\"),e.nextNonSpaceToken):r}shouldSkipColumnParse(e,t,r){const{parserOptions:n}=this;if(i.Token.isTokenDelimiter(t,n)){e.advancePastToken(t);const s=e.nextCharacterToken;if(!e.hasMoreCharacters||null!==s&&i.Token.isTokenRowDelimiter(s))return r.push(\"\"),!0;if(null!==s&&i.Token.isTokenDelimiter(s,n))return r.push(\"\"),!0}return!1}}},{\"./Token\":159,\"./column\":164}],158:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.Scanner=void 0;const n=e(\"./Token\"),i=/((?:\\r\\n)|\\n|\\r)/;r.Scanner=class{constructor(e){this.cursor=0,this.line=e.line,this.lineLength=this.line.length,this.parserOptions=e.parserOptions,this.hasMoreData=e.hasMoreData,this.cursor=e.cursor||0}get hasMoreCharacters(){return this.lineLength>this.cursor}get nextNonSpaceToken(){const{lineFromCursor:e}=this,t=this.parserOptions.NEXT_TOKEN_REGEXP;if(-1===e.search(t))return null;const r=t.exec(e);if(null==r)return null;const i=r[1],s=this.cursor+(r.index||0);return new n.Token({token:i,startCursor:s,endCursor:s+i.length-1})}get nextCharacterToken(){const{cursor:e,lineLength:t}=this;return t<=e?null:new n.Token({token:this.line[e],startCursor:e,endCursor:e})}get lineFromCursor(){return this.line.substr(this.cursor)}advancePastLine(){const e=i.exec(this.lineFromCursor);return e?(this.cursor+=(e.index||0)+e[0].length,this):this.hasMoreData?null:(this.cursor=this.lineLength,this)}advanceTo(e){return this.cursor=e,this}advanceToToken(e){return this.cursor=e.startCursor,this}advancePastToken(e){return this.cursor=e.endCursor+1,this}truncateToCursor(){return this.line=this.lineFromCursor,this.lineLength=this.line.length,this.cursor=0,this}}},{\"./Token\":159}],159:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.Token=void 0;r.Token=class{constructor(e){this.token=e.token,this.startCursor=e.startCursor,this.endCursor=e.endCursor}static isTokenRowDelimiter(e){const t=e.token;return\"\\r\"===t||\"\\n\"===t||\"\\r\\n\"===t}static isTokenCarriageReturn(e,t){return e.token===t.carriageReturn}static isTokenComment(e,t){return t.supportsComments&&!!e&&e.token===t.comment}static isTokenEscapeCharacter(e,t){return e.token===t.escapeChar}static isTokenQuote(e,t){return e.token===t.quote}static isTokenDelimiter(e,t){return e.token===t.delimiter}}},{}],160:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.ColumnFormatter=void 0;r.ColumnFormatter=class{constructor(e){e.trim?this.format=e=>e.trim():e.ltrim?this.format=e=>e.trimLeft():e.rtrim?this.format=e=>e.trimRight():this.format=e=>e}}},{}],161:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.ColumnParser=void 0;const n=e(\"./NonQuotedColumnParser\"),i=e(\"./QuotedColumnParser\"),s=e(\"../Token\");r.ColumnParser=class{constructor(e){this.parserOptions=e,this.quotedColumnParser=new i.QuotedColumnParser(e),this.nonQuotedColumnParser=new n.NonQuotedColumnParser(e)}parse(e){const{nextNonSpaceToken:t}=e;return null!==t&&s.Token.isTokenQuote(t,this.parserOptions)?(e.advanceToToken(t),this.quotedColumnParser.parse(e)):this.nonQuotedColumnParser.parse(e)}}},{\"../Token\":159,\"./NonQuotedColumnParser\":162,\"./QuotedColumnParser\":163}],162:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.NonQuotedColumnParser=void 0;const n=e(\"./ColumnFormatter\"),i=e(\"../Token\");r.NonQuotedColumnParser=class{constructor(e){this.parserOptions=e,this.columnFormatter=new n.ColumnFormatter(e)}parse(e){if(!e.hasMoreCharacters)return null;const{parserOptions:t}=this,r=[];let n=e.nextCharacterToken;for(;n&&(!i.Token.isTokenDelimiter(n,t)&&!i.Token.isTokenRowDelimiter(n));n=e.nextCharacterToken)r.push(n.token),e.advancePastToken(n);return this.columnFormatter.format(r.join(\"\"))}}},{\"../Token\":159,\"./ColumnFormatter\":160}],163:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.QuotedColumnParser=void 0;const n=e(\"./ColumnFormatter\"),i=e(\"../Token\");r.QuotedColumnParser=class{constructor(e){this.parserOptions=e,this.columnFormatter=new n.ColumnFormatter(e)}parse(e){if(!e.hasMoreCharacters)return null;const t=e.cursor,{foundClosingQuote:r,col:n}=this.gatherDataBetweenQuotes(e);if(!r){if(e.advanceTo(t),!e.hasMoreData)throw new Error(`Parse Error: missing closing: '${this.parserOptions.quote||\"\"}' in line: at '${e.lineFromCursor.replace(/[\\r\\n]/g,\"\\\\n'\")}'`);return null}return this.checkForMalformedColumn(e),n}gatherDataBetweenQuotes(e){const{parserOptions:t}=this;let r=!1,n=!1;const s=[];let o=e.nextCharacterToken;for(;!n&&null!==o;o=e.nextCharacterToken){const a=i.Token.isTokenQuote(o,t);if(!r&&a)r=!0;else if(r)if(i.Token.isTokenEscapeCharacter(o,t)){e.advancePastToken(o);const r=e.nextCharacterToken;null!==r&&(i.Token.isTokenQuote(r,t)||i.Token.isTokenEscapeCharacter(r,t))?(s.push(r.token),o=r):a?n=!0:s.push(o.token)}else a?n=!0:s.push(o.token);e.advancePastToken(o)}return{col:this.columnFormatter.format(s.join(\"\")),foundClosingQuote:n}}checkForMalformedColumn(e){const{parserOptions:t}=this,{nextNonSpaceToken:r}=e;if(r){const n=i.Token.isTokenDelimiter(r,t),s=i.Token.isTokenRowDelimiter(r);if(!n&&!s){const n=e.lineFromCursor.substr(0,10).replace(/[\\r\\n]/g,\"\\\\n'\");throw new Error(`Parse Error: expected: '${t.escapedDelimiter}' OR new line got: '${r.token}'. at '${n}`)}e.advanceToToken(r)}else e.hasMoreData||e.advancePastLine()}}},{\"../Token\":159,\"./ColumnFormatter\":160}],164:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.ColumnFormatter=r.QuotedColumnParser=r.NonQuotedColumnParser=r.ColumnParser=void 0;var n=e(\"./ColumnParser\");Object.defineProperty(r,\"ColumnParser\",{enumerable:!0,get:function(){return n.ColumnParser}});var i=e(\"./NonQuotedColumnParser\");Object.defineProperty(r,\"NonQuotedColumnParser\",{enumerable:!0,get:function(){return i.NonQuotedColumnParser}});var s=e(\"./QuotedColumnParser\");Object.defineProperty(r,\"QuotedColumnParser\",{enumerable:!0,get:function(){return s.QuotedColumnParser}});var o=e(\"./ColumnFormatter\");Object.defineProperty(r,\"ColumnFormatter\",{enumerable:!0,get:function(){return o.ColumnFormatter}})},{\"./ColumnFormatter\":160,\"./ColumnParser\":161,\"./NonQuotedColumnParser\":162,\"./QuotedColumnParser\":163}],165:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.QuotedColumnParser=r.NonQuotedColumnParser=r.ColumnParser=r.Token=r.Scanner=r.RowParser=r.Parser=void 0;var n=e(\"./Parser\");Object.defineProperty(r,\"Parser\",{enumerable:!0,get:function(){return n.Parser}});var i=e(\"./RowParser\");Object.defineProperty(r,\"RowParser\",{enumerable:!0,get:function(){return i.RowParser}});var s=e(\"./Scanner\");Object.defineProperty(r,\"Scanner\",{enumerable:!0,get:function(){return s.Scanner}});var o=e(\"./Token\");Object.defineProperty(r,\"Token\",{enumerable:!0,get:function(){return o.Token}});var a=e(\"./column\");Object.defineProperty(r,\"ColumnParser\",{enumerable:!0,get:function(){return a.ColumnParser}}),Object.defineProperty(r,\"NonQuotedColumnParser\",{enumerable:!0,get:function(){return a.NonQuotedColumnParser}}),Object.defineProperty(r,\"QuotedColumnParser\",{enumerable:!0,get:function(){return a.QuotedColumnParser}})},{\"./Parser\":156,\"./RowParser\":157,\"./Scanner\":158,\"./Token\":159,\"./column\":164}],166:[function(e,t,r){\"use strict\";var n=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.HeaderTransformer=void 0;const i=n(e(\"lodash.isundefined\")),s=n(e(\"lodash.isfunction\")),o=n(e(\"lodash.uniq\")),a=n(e(\"lodash.groupby\"));r.HeaderTransformer=class{constructor(e){this.headers=null,this.receivedHeaders=!1,this.shouldUseFirstRow=!1,this.processedFirstRow=!1,this.headersLength=0,this.parserOptions=e,!0===e.headers?this.shouldUseFirstRow=!0:Array.isArray(e.headers)?this.setHeaders(e.headers):s.default(e.headers)&&(this.headersTransform=e.headers)}transform(e,t){return this.shouldMapRow(e)?t(null,this.processRow(e)):t(null,{row:null,isValid:!0})}shouldMapRow(e){const{parserOptions:t}=this;if(!this.headersTransform&&t.renameHeaders&&!this.processedFirstRow){if(!this.receivedHeaders)throw new Error(\"Error renaming headers: new headers must be provided in an array\");return this.processedFirstRow=!0,!1}if(!this.receivedHeaders&&Array.isArray(e)){if(this.headersTransform)this.setHeaders(this.headersTransform(e));else{if(!this.shouldUseFirstRow)return!0;this.setHeaders(e)}return!1}return!0}processRow(e){if(!this.headers)return{row:e,isValid:!0};const{parserOptions:t}=this;if(!t.discardUnmappedColumns&&e.length>this.headersLength){if(!t.strictColumnHandling)throw new Error(`Unexpected Error: column header mismatch expected: ${this.headersLength} columns got: ${e.length}`);return{row:e,isValid:!1,reason:`Column header mismatch expected: ${this.headersLength} columns got: ${e.length}`}}return t.strictColumnHandling&&e.length<this.headersLength?{row:e,isValid:!1,reason:`Column header mismatch expected: ${this.headersLength} columns got: ${e.length}`}:{row:this.mapHeaders(e),isValid:!0}}mapHeaders(e){const t={},{headers:r,headersLength:n}=this;for(let s=0;s<n;s+=1){const n=r[s];if(!i.default(n)){const r=e[s];i.default(r)?t[n]=\"\":t[n]=r}}return t}setHeaders(e){var t;const r=e.filter(e=>!!e);if(o.default(r).length!==r.length){const e=a.default(r),t=Object.keys(e).filter(t=>e[t].length>1);throw new Error(\"Duplicate headers found \"+JSON.stringify(t))}this.headers=e,this.receivedHeaders=!0,this.headersLength=(null===(t=this.headers)||void 0===t?void 0:t.length)||0}}},{\"lodash.groupby\":443,\"lodash.isfunction\":446,\"lodash.isundefined\":448,\"lodash.uniq\":449}],167:[function(e,t,r){\"use strict\";var n=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.RowTransformerValidator=void 0;const i=n(e(\"lodash.isfunction\")),s=e(\"../types\");class o{constructor(){this._rowTransform=null,this._rowValidator=null}static createTransform(e){return s.isSyncTransform(e)?(t,r)=>{let n=null;try{n=e(t)}catch(e){return r(e)}return r(null,n)}:e}static createValidator(e){return s.isSyncValidate(e)?(t,r)=>{r(null,{row:t,isValid:e(t)})}:(t,r)=>{e(t,(e,n,i)=>e?r(e):r(null,n?{row:t,isValid:n,reason:i}:{row:t,isValid:!1,reason:i}))}}set rowTransform(e){if(!i.default(e))throw new TypeError(\"The transform should be a function\");this._rowTransform=o.createTransform(e)}set rowValidator(e){if(!i.default(e))throw new TypeError(\"The validate should be a function\");this._rowValidator=o.createValidator(e)}transformAndValidate(e,t){return this.callTransformer(e,(e,r)=>e?t(e):r?this.callValidator(r,(e,n)=>e?t(e):n&&!n.isValid?t(null,{row:r,isValid:!1,reason:n.reason}):t(null,{row:r,isValid:!0})):t(null,{row:null,isValid:!0}))}callTransformer(e,t){return this._rowTransform?this._rowTransform(e,t):t(null,e)}callValidator(e,t){return this._rowValidator?this._rowValidator(e,t):t(null,{row:e,isValid:!0})}}r.RowTransformerValidator=o},{\"../types\":169,\"lodash.isfunction\":446}],168:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.HeaderTransformer=r.RowTransformerValidator=void 0;var n=e(\"./RowTransformerValidator\");Object.defineProperty(r,\"RowTransformerValidator\",{enumerable:!0,get:function(){return n.RowTransformerValidator}});var i=e(\"./HeaderTransformer\");Object.defineProperty(r,\"HeaderTransformer\",{enumerable:!0,get:function(){return i.HeaderTransformer}})},{\"./HeaderTransformer\":166,\"./RowTransformerValidator\":167}],169:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.isSyncValidate=r.isSyncTransform=void 0,r.isSyncTransform=e=>1===e.length,r.isSyncValidate=e=>1===e.length},{}],170:[function(e,t,r){\"use strict\";const n=r;n.bignum=e(\"bn.js\"),n.define=e(\"./asn1/api\").define,n.base=e(\"./asn1/base\"),n.constants=e(\"./asn1/constants\"),n.decoders=e(\"./asn1/decoders\"),n.encoders=e(\"./asn1/encoders\")},{\"./asn1/api\":171,\"./asn1/base\":173,\"./asn1/constants\":177,\"./asn1/decoders\":179,\"./asn1/encoders\":182,\"bn.js\":184}],171:[function(e,t,r){\"use strict\";const n=e(\"./encoders\"),i=e(\"./decoders\"),s=e(\"inherits\");function o(e,t){this.name=e,this.body=t,this.decoders={},this.encoders={}}r.define=function(e,t){return new o(e,t)},o.prototype._createNamed=function(e){const t=this.name;function r(e){this._initNamed(e,t)}return s(r,e),r.prototype._initNamed=function(t,r){e.call(this,t,r)},new r(this)},o.prototype._getDecoder=function(e){return e=e||\"der\",this.decoders.hasOwnProperty(e)||(this.decoders[e]=this._createNamed(i[e])),this.decoders[e]},o.prototype.decode=function(e,t,r){return this._getDecoder(t).decode(e,r)},o.prototype._getEncoder=function(e){return e=e||\"der\",this.encoders.hasOwnProperty(e)||(this.encoders[e]=this._createNamed(n[e])),this.encoders[e]},o.prototype.encode=function(e,t,r){return this._getEncoder(t).encode(e,r)}},{\"./decoders\":179,\"./encoders\":182,inherits:440}],172:[function(e,t,r){\"use strict\";const n=e(\"inherits\"),i=e(\"../base/reporter\").Reporter,s=e(\"safer-buffer\").Buffer;function o(e,t){i.call(this,t),s.isBuffer(e)?(this.base=e,this.offset=0,this.length=e.length):this.error(\"Input not Buffer\")}function a(e,t){if(Array.isArray(e))this.length=0,this.value=e.map((function(e){return a.isEncoderBuffer(e)||(e=new a(e,t)),this.length+=e.length,e}),this);else if(\"number\"==typeof e){if(!(0<=e&&e<=255))return t.error(\"non-byte EncoderBuffer value\");this.value=e,this.length=1}else if(\"string\"==typeof e)this.value=e,this.length=s.byteLength(e);else{if(!s.isBuffer(e))return t.error(\"Unsupported type: \"+typeof e);this.value=e,this.length=e.length}}n(o,i),r.DecoderBuffer=o,o.isDecoderBuffer=function(e){if(e instanceof o)return!0;return\"object\"==typeof e&&s.isBuffer(e.base)&&\"DecoderBuffer\"===e.constructor.name&&\"number\"==typeof e.offset&&\"number\"==typeof e.length&&\"function\"==typeof e.save&&\"function\"==typeof e.restore&&\"function\"==typeof e.isEmpty&&\"function\"==typeof e.readUInt8&&\"function\"==typeof e.skip&&\"function\"==typeof e.raw},o.prototype.save=function(){return{offset:this.offset,reporter:i.prototype.save.call(this)}},o.prototype.restore=function(e){const t=new o(this.base);return t.offset=e.offset,t.length=this.offset,this.offset=e.offset,i.prototype.restore.call(this,e.reporter),t},o.prototype.isEmpty=function(){return this.offset===this.length},o.prototype.readUInt8=function(e){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(e||\"DecoderBuffer overrun\")},o.prototype.skip=function(e,t){if(!(this.offset+e<=this.length))return this.error(t||\"DecoderBuffer overrun\");const r=new o(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+e,this.offset+=e,r},o.prototype.raw=function(e){return this.base.slice(e?e.offset:this.offset,this.length)},r.EncoderBuffer=a,a.isEncoderBuffer=function(e){if(e instanceof a)return!0;return\"object\"==typeof e&&\"EncoderBuffer\"===e.constructor.name&&\"number\"==typeof e.length&&\"function\"==typeof e.join},a.prototype.join=function(e,t){return e||(e=s.alloc(this.length)),t||(t=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(e,t),t+=r.length})):(\"number\"==typeof this.value?e[t]=this.value:\"string\"==typeof this.value?e.write(this.value,t):s.isBuffer(this.value)&&this.value.copy(e,t),t+=this.length)),e}},{\"../base/reporter\":175,inherits:440,\"safer-buffer\":495}],173:[function(e,t,r){\"use strict\";const n=r;n.Reporter=e(\"./reporter\").Reporter,n.DecoderBuffer=e(\"./buffer\").DecoderBuffer,n.EncoderBuffer=e(\"./buffer\").EncoderBuffer,n.Node=e(\"./node\")},{\"./buffer\":172,\"./node\":174,\"./reporter\":175}],174:[function(e,t,r){\"use strict\";const n=e(\"../base/reporter\").Reporter,i=e(\"../base/buffer\").EncoderBuffer,s=e(\"../base/buffer\").DecoderBuffer,o=e(\"minimalistic-assert\"),a=[\"seq\",\"seqof\",\"set\",\"setof\",\"objid\",\"bool\",\"gentime\",\"utctime\",\"null_\",\"enum\",\"int\",\"objDesc\",\"bitstr\",\"bmpstr\",\"charstr\",\"genstr\",\"graphstr\",\"ia5str\",\"iso646str\",\"numstr\",\"octstr\",\"printstr\",\"t61str\",\"unistr\",\"utf8str\",\"videostr\"],l=[\"key\",\"obj\",\"use\",\"optional\",\"explicit\",\"implicit\",\"def\",\"choice\",\"any\",\"contains\"].concat(a);function c(e,t,r){const n={};this._baseState=n,n.name=r,n.enc=e,n.parent=t||null,n.children=null,n.tag=null,n.args=null,n.reverseArgs=null,n.choice=null,n.optional=!1,n.any=!1,n.obj=!1,n.use=null,n.useDecoder=null,n.key=null,n.default=null,n.explicit=null,n.implicit=null,n.contains=null,n.parent||(n.children=[],this._wrap())}t.exports=c;const u=[\"enc\",\"parent\",\"children\",\"tag\",\"args\",\"reverseArgs\",\"choice\",\"optional\",\"any\",\"obj\",\"use\",\"alteredUse\",\"key\",\"default\",\"explicit\",\"implicit\",\"contains\"];c.prototype.clone=function(){const e=this._baseState,t={};u.forEach((function(r){t[r]=e[r]}));const r=new this.constructor(t.parent);return r._baseState=t,r},c.prototype._wrap=function(){const e=this._baseState;l.forEach((function(t){this[t]=function(){const r=new this.constructor(this);return e.children.push(r),r[t].apply(r,arguments)}}),this)},c.prototype._init=function(e){const t=this._baseState;o(null===t.parent),e.call(this),t.children=t.children.filter((function(e){return e._baseState.parent===this}),this),o.equal(t.children.length,1,\"Root node can have only one child\")},c.prototype._useArgs=function(e){const t=this._baseState,r=e.filter((function(e){return e instanceof this.constructor}),this);e=e.filter((function(e){return!(e instanceof this.constructor)}),this),0!==r.length&&(o(null===t.children),t.children=r,r.forEach((function(e){e._baseState.parent=this}),this)),0!==e.length&&(o(null===t.args),t.args=e,t.reverseArgs=e.map((function(e){if(\"object\"!=typeof e||e.constructor!==Object)return e;const t={};return Object.keys(e).forEach((function(r){r==(0|r)&&(r|=0);const n=e[r];t[n]=r})),t})))},[\"_peekTag\",\"_decodeTag\",\"_use\",\"_decodeStr\",\"_decodeObjid\",\"_decodeTime\",\"_decodeNull\",\"_decodeInt\",\"_decodeBool\",\"_decodeList\",\"_encodeComposite\",\"_encodeStr\",\"_encodeObjid\",\"_encodeTime\",\"_encodeNull\",\"_encodeInt\",\"_encodeBool\"].forEach((function(e){c.prototype[e]=function(){const t=this._baseState;throw new Error(e+\" not implemented for encoding: \"+t.enc)}})),a.forEach((function(e){c.prototype[e]=function(){const t=this._baseState,r=Array.prototype.slice.call(arguments);return o(null===t.tag),t.tag=e,this._useArgs(r),this}})),c.prototype.use=function(e){o(e);const t=this._baseState;return o(null===t.use),t.use=e,this},c.prototype.optional=function(){return this._baseState.optional=!0,this},c.prototype.def=function(e){const t=this._baseState;return o(null===t.default),t.default=e,t.optional=!0,this},c.prototype.explicit=function(e){const t=this._baseState;return o(null===t.explicit&&null===t.implicit),t.explicit=e,this},c.prototype.implicit=function(e){const t=this._baseState;return o(null===t.explicit&&null===t.implicit),t.implicit=e,this},c.prototype.obj=function(){const e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},c.prototype.key=function(e){const t=this._baseState;return o(null===t.key),t.key=e,this},c.prototype.any=function(){return this._baseState.any=!0,this},c.prototype.choice=function(e){const t=this._baseState;return o(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map((function(t){return e[t]}))),this},c.prototype.contains=function(e){const t=this._baseState;return o(null===t.use),t.contains=e,this},c.prototype._decode=function(e,t){const r=this._baseState;if(null===r.parent)return e.wrapResult(r.children[0]._decode(e,t));let n,i=r.default,o=!0,a=null;if(null!==r.key&&(a=e.enterKey(r.key)),r.optional){let n=null;if(null!==r.explicit?n=r.explicit:null!==r.implicit?n=r.implicit:null!==r.tag&&(n=r.tag),null!==n||r.any){if(o=this._peekTag(e,n,r.any),e.isError(o))return o}else{const n=e.save();try{null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t),o=!0}catch(e){o=!1}e.restore(n)}}if(r.obj&&o&&(n=e.enterObject()),o){if(null!==r.explicit){const t=this._decodeTag(e,r.explicit);if(e.isError(t))return t;e=t}const n=e.offset;if(null===r.use&&null===r.choice){let t;r.any&&(t=e.save());const n=this._decodeTag(e,null!==r.implicit?r.implicit:r.tag,r.any);if(e.isError(n))return n;r.any?i=e.raw(t):e=n}if(t&&t.track&&null!==r.tag&&t.track(e.path(),n,e.length,\"tagged\"),t&&t.track&&null!==r.tag&&t.track(e.path(),e.offset,e.length,\"content\"),r.any||(i=null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t)),e.isError(i))return i;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(e,t)})),r.contains&&(\"octstr\"===r.tag||\"bitstr\"===r.tag)){const n=new s(i);i=this._getUse(r.contains,e._reporterState.obj)._decode(n,t)}}return r.obj&&o&&(i=e.leaveObject(n)),null===r.key||null===i&&!0!==o?null!==a&&e.exitKey(a):e.leaveKey(a,r.key,i),i},c.prototype._decodeGeneric=function(e,t,r){const n=this._baseState;return\"seq\"===e||\"set\"===e?null:\"seqof\"===e||\"setof\"===e?this._decodeList(t,e,n.args[0],r):/str$/.test(e)?this._decodeStr(t,e,r):\"objid\"===e&&n.args?this._decodeObjid(t,n.args[0],n.args[1],r):\"objid\"===e?this._decodeObjid(t,null,null,r):\"gentime\"===e||\"utctime\"===e?this._decodeTime(t,e,r):\"null_\"===e?this._decodeNull(t,r):\"bool\"===e?this._decodeBool(t,r):\"objDesc\"===e?this._decodeStr(t,e,r):\"int\"===e||\"enum\"===e?this._decodeInt(t,n.args&&n.args[0],r):null!==n.use?this._getUse(n.use,t._reporterState.obj)._decode(t,r):t.error(\"unknown tag: \"+e)},c.prototype._getUse=function(e,t){const r=this._baseState;return r.useDecoder=this._use(e,t),o(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},c.prototype._decodeChoice=function(e,t){const r=this._baseState;let n=null,i=!1;return Object.keys(r.choice).some((function(s){const o=e.save(),a=r.choice[s];try{const r=a._decode(e,t);if(e.isError(r))return!1;n={type:s,value:r},i=!0}catch(t){return e.restore(o),!1}return!0}),this),i?n:e.error(\"Choice not matched\")},c.prototype._createEncoderBuffer=function(e){return new i(e,this.reporter)},c.prototype._encode=function(e,t,r){const n=this._baseState;if(null!==n.default&&n.default===e)return;const i=this._encodeValue(e,t,r);return void 0===i||this._skipDefault(i,t,r)?void 0:i},c.prototype._encodeValue=function(e,t,r){const i=this._baseState;if(null===i.parent)return i.children[0]._encode(e,t||new n);let s=null;if(this.reporter=t,i.optional&&void 0===e){if(null===i.default)return;e=i.default}let o=null,a=!1;if(i.any)s=this._createEncoderBuffer(e);else if(i.choice)s=this._encodeChoice(e,t);else if(i.contains)o=this._getUse(i.contains,r)._encode(e,t),a=!0;else if(i.children)o=i.children.map((function(r){if(\"null_\"===r._baseState.tag)return r._encode(null,t,e);if(null===r._baseState.key)return t.error(\"Child should have a key\");const n=t.enterKey(r._baseState.key);if(\"object\"!=typeof e)return t.error(\"Child expected, but input is not object\");const i=r._encode(e[r._baseState.key],t,e);return t.leaveKey(n),i}),this).filter((function(e){return e})),o=this._createEncoderBuffer(o);else if(\"seqof\"===i.tag||\"setof\"===i.tag){if(!i.args||1!==i.args.length)return t.error(\"Too many args for : \"+i.tag);if(!Array.isArray(e))return t.error(\"seqof/setof, but data is not Array\");const r=this.clone();r._baseState.implicit=null,o=this._createEncoderBuffer(e.map((function(r){const n=this._baseState;return this._getUse(n.args[0],e)._encode(r,t)}),r))}else null!==i.use?s=this._getUse(i.use,r)._encode(e,t):(o=this._encodePrimitive(i.tag,e),a=!0);if(!i.any&&null===i.choice){const e=null!==i.implicit?i.implicit:i.tag,r=null===i.implicit?\"universal\":\"context\";null===e?null===i.use&&t.error(\"Tag could be omitted only for .use()\"):null===i.use&&(s=this._encodeComposite(e,a,r,o))}return null!==i.explicit&&(s=this._encodeComposite(i.explicit,!1,\"context\",s)),s},c.prototype._encodeChoice=function(e,t){const r=this._baseState,n=r.choice[e.type];return n||o(!1,e.type+\" not found in \"+JSON.stringify(Object.keys(r.choice))),n._encode(e.value,t)},c.prototype._encodePrimitive=function(e,t){const r=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if(\"objid\"===e&&r.args)return this._encodeObjid(t,r.reverseArgs[0],r.args[1]);if(\"objid\"===e)return this._encodeObjid(t,null,null);if(\"gentime\"===e||\"utctime\"===e)return this._encodeTime(t,e);if(\"null_\"===e)return this._encodeNull();if(\"int\"===e||\"enum\"===e)return this._encodeInt(t,r.args&&r.reverseArgs[0]);if(\"bool\"===e)return this._encodeBool(t);if(\"objDesc\"===e)return this._encodeStr(t,e);throw new Error(\"Unsupported tag: \"+e)},c.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},c.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(e)}},{\"../base/buffer\":172,\"../base/reporter\":175,\"minimalistic-assert\":453}],175:[function(e,t,r){\"use strict\";const n=e(\"inherits\");function i(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}function s(e,t){this.path=e,this.rethrow(t)}r.Reporter=i,i.prototype.isError=function(e){return e instanceof s},i.prototype.save=function(){const e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}},i.prototype.restore=function(e){const t=this._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},i.prototype.enterKey=function(e){return this._reporterState.path.push(e)},i.prototype.exitKey=function(e){const t=this._reporterState;t.path=t.path.slice(0,e-1)},i.prototype.leaveKey=function(e,t,r){const n=this._reporterState;this.exitKey(e),null!==n.obj&&(n.obj[t]=r)},i.prototype.path=function(){return this._reporterState.path.join(\"/\")},i.prototype.enterObject=function(){const e=this._reporterState,t=e.obj;return e.obj={},t},i.prototype.leaveObject=function(e){const t=this._reporterState,r=t.obj;return t.obj=e,r},i.prototype.error=function(e){let t;const r=this._reporterState,n=e instanceof s;if(t=n?e:new s(r.path.map((function(e){return\"[\"+JSON.stringify(e)+\"]\"})).join(\"\"),e.message||e,e.stack),!r.options.partial)throw t;return n||r.errors.push(t),t},i.prototype.wrapResult=function(e){const t=this._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},n(s,Error),s.prototype.rethrow=function(e){if(this.message=e+\" at: \"+(this.path||\"(shallow)\"),Error.captureStackTrace&&Error.captureStackTrace(this,s),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},{inherits:440}],176:[function(e,t,r){\"use strict\";function n(e){const t={};return Object.keys(e).forEach((function(r){(0|r)==r&&(r|=0);const n=e[r];t[n]=r})),t}r.tagClass={0:\"universal\",1:\"application\",2:\"context\",3:\"private\"},r.tagClassByName=n(r.tagClass),r.tag={0:\"end\",1:\"bool\",2:\"int\",3:\"bitstr\",4:\"octstr\",5:\"null_\",6:\"objid\",7:\"objDesc\",8:\"external\",9:\"real\",10:\"enum\",11:\"embed\",12:\"utf8str\",13:\"relativeOid\",16:\"seq\",17:\"set\",18:\"numstr\",19:\"printstr\",20:\"t61str\",21:\"videostr\",22:\"ia5str\",23:\"utctime\",24:\"gentime\",25:\"graphstr\",26:\"iso646str\",27:\"genstr\",28:\"unistr\",29:\"charstr\",30:\"bmpstr\"},r.tagByName=n(r.tag)},{}],177:[function(e,t,r){\"use strict\";const n=r;n._reverse=function(e){const t={};return Object.keys(e).forEach((function(r){(0|r)==r&&(r|=0);const n=e[r];t[n]=r})),t},n.der=e(\"./der\")},{\"./der\":176}],178:[function(e,t,r){\"use strict\";const n=e(\"inherits\"),i=e(\"bn.js\"),s=e(\"../base/buffer\").DecoderBuffer,o=e(\"../base/node\"),a=e(\"../constants/der\");function l(e){this.enc=\"der\",this.name=e.name,this.entity=e,this.tree=new c,this.tree._init(e.body)}function c(e){o.call(this,\"der\",e)}function u(e,t){let r=e.readUInt8(t);if(e.isError(r))return r;const n=a.tagClass[r>>6],i=0==(32&r);if(31==(31&r)){let n=r;for(r=0;128==(128&n);){if(n=e.readUInt8(t),e.isError(n))return n;r<<=7,r|=127&n}}else r&=31;return{cls:n,primitive:i,tag:r,tagStr:a.tag[r]}}function h(e,t,r){let n=e.readUInt8(r);if(e.isError(n))return n;if(!t&&128===n)return null;if(0==(128&n))return n;const i=127&n;if(i>4)return e.error(\"length octect is too long\");n=0;for(let t=0;t<i;t++){n<<=8;const t=e.readUInt8(r);if(e.isError(t))return t;n|=t}return n}t.exports=l,l.prototype.decode=function(e,t){return s.isDecoderBuffer(e)||(e=new s(e,t)),this.tree._decode(e,t)},n(c,o),c.prototype._peekTag=function(e,t,r){if(e.isEmpty())return!1;const n=e.save(),i=u(e,'Failed to peek tag: \"'+t+'\"');return e.isError(i)?i:(e.restore(n),i.tag===t||i.tagStr===t||i.tagStr+\"of\"===t||r)},c.prototype._decodeTag=function(e,t,r){const n=u(e,'Failed to decode tag of \"'+t+'\"');if(e.isError(n))return n;let i=h(e,n.primitive,'Failed to get length of \"'+t+'\"');if(e.isError(i))return i;if(!r&&n.tag!==t&&n.tagStr!==t&&n.tagStr+\"of\"!==t)return e.error('Failed to match tag: \"'+t+'\"');if(n.primitive||null!==i)return e.skip(i,'Failed to match body of: \"'+t+'\"');const s=e.save(),o=this._skipUntilEnd(e,'Failed to skip indefinite length body: \"'+this.tag+'\"');return e.isError(o)?o:(i=e.offset-s.offset,e.restore(s),e.skip(i,'Failed to match body of: \"'+t+'\"'))},c.prototype._skipUntilEnd=function(e,t){for(;;){const r=u(e,t);if(e.isError(r))return r;const n=h(e,r.primitive,t);if(e.isError(n))return n;let i;if(i=r.primitive||null!==n?e.skip(n):this._skipUntilEnd(e,t),e.isError(i))return i;if(\"end\"===r.tagStr)break}},c.prototype._decodeList=function(e,t,r,n){const i=[];for(;!e.isEmpty();){const t=this._peekTag(e,\"end\");if(e.isError(t))return t;const s=r.decode(e,\"der\",n);if(e.isError(s)&&t)break;i.push(s)}return i},c.prototype._decodeStr=function(e,t){if(\"bitstr\"===t){const t=e.readUInt8();return e.isError(t)?t:{unused:t,data:e.raw()}}if(\"bmpstr\"===t){const t=e.raw();if(t.length%2==1)return e.error(\"Decoding of string type: bmpstr length mismatch\");let r=\"\";for(let e=0;e<t.length/2;e++)r+=String.fromCharCode(t.readUInt16BE(2*e));return r}if(\"numstr\"===t){const t=e.raw().toString(\"ascii\");return this._isNumstr(t)?t:e.error(\"Decoding of string type: numstr unsupported characters\")}if(\"octstr\"===t)return e.raw();if(\"objDesc\"===t)return e.raw();if(\"printstr\"===t){const t=e.raw().toString(\"ascii\");return this._isPrintstr(t)?t:e.error(\"Decoding of string type: printstr unsupported characters\")}return/str$/.test(t)?e.raw().toString():e.error(\"Decoding of string type: \"+t+\" unsupported\")},c.prototype._decodeObjid=function(e,t,r){let n;const i=[];let s=0,o=0;for(;!e.isEmpty();)o=e.readUInt8(),s<<=7,s|=127&o,0==(128&o)&&(i.push(s),s=0);128&o&&i.push(s);const a=i[0]/40|0,l=i[0]%40;if(n=r?i:[a,l].concat(i.slice(1)),t){let e=t[n.join(\" \")];void 0===e&&(e=t[n.join(\".\")]),void 0!==e&&(n=e)}return n},c.prototype._decodeTime=function(e,t){const r=e.raw().toString();let n,i,s,o,a,l;if(\"gentime\"===t)n=0|r.slice(0,4),i=0|r.slice(4,6),s=0|r.slice(6,8),o=0|r.slice(8,10),a=0|r.slice(10,12),l=0|r.slice(12,14);else{if(\"utctime\"!==t)return e.error(\"Decoding \"+t+\" time is not supported yet\");n=0|r.slice(0,2),i=0|r.slice(2,4),s=0|r.slice(4,6),o=0|r.slice(6,8),a=0|r.slice(8,10),l=0|r.slice(10,12),n=n<70?2e3+n:1900+n}return Date.UTC(n,i-1,s,o,a,l,0)},c.prototype._decodeNull=function(){return null},c.prototype._decodeBool=function(e){const t=e.readUInt8();return e.isError(t)?t:0!==t},c.prototype._decodeInt=function(e,t){const r=e.raw();let n=new i(r);return t&&(n=t[n.toString(10)]||n),n},c.prototype._use=function(e,t){return\"function\"==typeof e&&(e=e(t)),e._getDecoder(\"der\").tree}},{\"../base/buffer\":172,\"../base/node\":174,\"../constants/der\":176,\"bn.js\":184,inherits:440}],179:[function(e,t,r){\"use strict\";const n=r;n.der=e(\"./der\"),n.pem=e(\"./pem\")},{\"./der\":178,\"./pem\":180}],180:[function(e,t,r){\"use strict\";const n=e(\"inherits\"),i=e(\"safer-buffer\").Buffer,s=e(\"./der\");function o(e){s.call(this,e),this.enc=\"pem\"}n(o,s),t.exports=o,o.prototype.decode=function(e,t){const r=e.toString().split(/[\\r\\n]+/g),n=t.label.toUpperCase(),o=/^-----(BEGIN|END) ([^-]+)-----$/;let a=-1,l=-1;for(let e=0;e<r.length;e++){const t=r[e].match(o);if(null!==t&&t[2]===n){if(-1!==a){if(\"END\"!==t[1])break;l=e;break}if(\"BEGIN\"!==t[1])break;a=e}}if(-1===a||-1===l)throw new Error(\"PEM section not found for: \"+n);const c=r.slice(a+1,l).join(\"\");c.replace(/[^a-z0-9+/=]+/gi,\"\");const u=i.from(c,\"base64\");return s.prototype.decode.call(this,u,t)}},{\"./der\":178,inherits:440,\"safer-buffer\":495}],181:[function(e,t,r){\"use strict\";const n=e(\"inherits\"),i=e(\"safer-buffer\").Buffer,s=e(\"../base/node\"),o=e(\"../constants/der\");function a(e){this.enc=\"der\",this.name=e.name,this.entity=e,this.tree=new l,this.tree._init(e.body)}function l(e){s.call(this,\"der\",e)}function c(e){return e<10?\"0\"+e:e}t.exports=a,a.prototype.encode=function(e,t){return this.tree._encode(e,t).join()},n(l,s),l.prototype._encodeComposite=function(e,t,r,n){const s=function(e,t,r,n){let i;\"seqof\"===e?e=\"seq\":\"setof\"===e&&(e=\"set\");if(o.tagByName.hasOwnProperty(e))i=o.tagByName[e];else{if(\"number\"!=typeof e||(0|e)!==e)return n.error(\"Unknown tag: \"+e);i=e}if(i>=31)return n.error(\"Multi-octet tag encoding unsupported\");t||(i|=32);return i|=o.tagClassByName[r||\"universal\"]<<6,i}(e,t,r,this.reporter);if(n.length<128){const e=i.alloc(2);return e[0]=s,e[1]=n.length,this._createEncoderBuffer([e,n])}let a=1;for(let e=n.length;e>=256;e>>=8)a++;const l=i.alloc(2+a);l[0]=s,l[1]=128|a;for(let e=1+a,t=n.length;t>0;e--,t>>=8)l[e]=255&t;return this._createEncoderBuffer([l,n])},l.prototype._encodeStr=function(e,t){if(\"bitstr\"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if(\"bmpstr\"===t){const t=i.alloc(2*e.length);for(let r=0;r<e.length;r++)t.writeUInt16BE(e.charCodeAt(r),2*r);return this._createEncoderBuffer(t)}return\"numstr\"===t?this._isNumstr(e)?this._createEncoderBuffer(e):this.reporter.error(\"Encoding of string type: numstr supports only digits and space\"):\"printstr\"===t?this._isPrintstr(e)?this._createEncoderBuffer(e):this.reporter.error(\"Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark\"):/str$/.test(t)||\"objDesc\"===t?this._createEncoderBuffer(e):this.reporter.error(\"Encoding of string type: \"+t+\" unsupported\")},l.prototype._encodeObjid=function(e,t,r){if(\"string\"==typeof e){if(!t)return this.reporter.error(\"string objid given, but no values map found\");if(!t.hasOwnProperty(e))return this.reporter.error(\"objid not found in values map\");e=t[e].split(/[\\s.]+/g);for(let t=0;t<e.length;t++)e[t]|=0}else if(Array.isArray(e)){e=e.slice();for(let t=0;t<e.length;t++)e[t]|=0}if(!Array.isArray(e))return this.reporter.error(\"objid() should be either array or string, got: \"+JSON.stringify(e));if(!r){if(e[1]>=40)return this.reporter.error(\"Second objid identifier OOB\");e.splice(0,2,40*e[0]+e[1])}let n=0;for(let t=0;t<e.length;t++){let r=e[t];for(n++;r>=128;r>>=7)n++}const s=i.alloc(n);let o=s.length-1;for(let t=e.length-1;t>=0;t--){let r=e[t];for(s[o--]=127&r;(r>>=7)>0;)s[o--]=128|127&r}return this._createEncoderBuffer(s)},l.prototype._encodeTime=function(e,t){let r;const n=new Date(e);return\"gentime\"===t?r=[c(n.getUTCFullYear()),c(n.getUTCMonth()+1),c(n.getUTCDate()),c(n.getUTCHours()),c(n.getUTCMinutes()),c(n.getUTCSeconds()),\"Z\"].join(\"\"):\"utctime\"===t?r=[c(n.getUTCFullYear()%100),c(n.getUTCMonth()+1),c(n.getUTCDate()),c(n.getUTCHours()),c(n.getUTCMinutes()),c(n.getUTCSeconds()),\"Z\"].join(\"\"):this.reporter.error(\"Encoding \"+t+\" time is not supported yet\"),this._encodeStr(r,\"octstr\")},l.prototype._encodeNull=function(){return this._createEncoderBuffer(\"\")},l.prototype._encodeInt=function(e,t){if(\"string\"==typeof e){if(!t)return this.reporter.error(\"String int or enum given, but no values map\");if(!t.hasOwnProperty(e))return this.reporter.error(\"Values map doesn't contain: \"+JSON.stringify(e));e=t[e]}if(\"number\"!=typeof e&&!i.isBuffer(e)){const t=e.toArray();!e.sign&&128&t[0]&&t.unshift(0),e=i.from(t)}if(i.isBuffer(e)){let t=e.length;0===e.length&&t++;const r=i.alloc(t);return e.copy(r),0===e.length&&(r[0]=0),this._createEncoderBuffer(r)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);let r=1;for(let t=e;t>=256;t>>=8)r++;const n=new Array(r);for(let t=n.length-1;t>=0;t--)n[t]=255&e,e>>=8;return 128&n[0]&&n.unshift(0),this._createEncoderBuffer(i.from(n))},l.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},l.prototype._use=function(e,t){return\"function\"==typeof e&&(e=e(t)),e._getEncoder(\"der\").tree},l.prototype._skipDefault=function(e,t,r){const n=this._baseState;let i;if(null===n.default)return!1;const s=e.join();if(void 0===n.defaultBuffer&&(n.defaultBuffer=this._encodeValue(n.default,t,r).join()),s.length!==n.defaultBuffer.length)return!1;for(i=0;i<s.length;i++)if(s[i]!==n.defaultBuffer[i])return!1;return!0}},{\"../base/node\":174,\"../constants/der\":176,inherits:440,\"safer-buffer\":495}],182:[function(e,t,r){\"use strict\";const n=r;n.der=e(\"./der\"),n.pem=e(\"./pem\")},{\"./der\":181,\"./pem\":183}],183:[function(e,t,r){\"use strict\";const n=e(\"inherits\"),i=e(\"./der\");function s(e){i.call(this,e),this.enc=\"pem\"}n(s,i),t.exports=s,s.prototype.encode=function(e,t){const r=i.prototype.encode.call(this,e).toString(\"base64\"),n=[\"-----BEGIN \"+t.label+\"-----\"];for(let e=0;e<r.length;e+=64)n.push(r.slice(e,e+64));return n.push(\"-----END \"+t.label+\"-----\"),n.join(\"\\n\")}},{\"./der\":181,inherits:440}],184:[function(e,t,r){\"use strict\";!function(t,r){function n(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function i(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function s(e,t,r){if(s.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&(\"le\"!==t&&\"be\"!==t||(r=t,t=10),this._init(e||0,t||10,r||\"be\"))}var o;\"object\"==typeof t?t.exports=s:(void 0).BN=s,s.BN=s,s.wordSize=26;try{o=\"undefined\"!=typeof window&&void 0!==window.Buffer?window.Buffer:e(\"buffer\").Buffer}catch(e){}function a(e,t){var r=e.charCodeAt(t);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(e,t,r){var n=a(e,r);return r-1>=t&&(n|=a(e,r-1)<<4),n}function c(e,t,r,n){for(var i=0,s=Math.min(e.length,r),o=t;o<s;o++){var a=e.charCodeAt(o)-48;i*=n,i+=a>=49?a-49+10:a>=17?a-17+10:a}return i}s.isBN=function(e){return e instanceof s||null!==e&&\"object\"==typeof e&&e.constructor.wordSize===s.wordSize&&Array.isArray(e.words)},s.max=function(e,t){return e.cmp(t)>0?e:t},s.min=function(e,t){return e.cmp(t)<0?e:t},s.prototype._init=function(e,t,r){if(\"number\"==typeof e)return this._initNumber(e,t,r);if(\"object\"==typeof e)return this._initArray(e,t,r);\"hex\"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;\"-\"===(e=e.toString().replace(/\\s+/g,\"\"))[0]&&(i++,this.negative=1),i<e.length&&(16===t?this._parseHex(e,i,r):(this._parseBase(e,t,i),\"le\"===r&&this._initArray(this.toArray(),t,r)))},s.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),\"le\"===r&&this._initArray(this.toArray(),t,r)},s.prototype._initArray=function(e,t,r){if(n(\"number\"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var s,o,a=0;if(\"be\"===r)for(i=e.length-1,s=0;i>=0;i-=3)o=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[s]|=o<<a&67108863,this.words[s+1]=o>>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if(\"le\"===r)for(i=0,s=0;i<e.length;i+=3)o=e[i]|e[i+1]<<8|e[i+2]<<16,this.words[s]|=o<<a&67108863,this.words[s+1]=o>>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(e,t,r){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,s=0,o=0;if(\"be\"===r)for(n=e.length-1;n>=t;n-=2)i=l(e,t,n)<<s,this.words[o]|=67108863&i,s>=18?(s-=18,o+=1,this.words[o]|=i>>>26):s+=8;else for(n=(e.length-t)%2==0?t+1:t;n<e.length;n+=2)i=l(e,t,n)<<s,this.words[o]|=67108863&i,s>=18?(s-=18,o+=1,this.words[o]|=i>>>26):s+=8;this.strip()},s.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var s=e.length-r,o=s%n,a=Math.min(s,s-o)+r,l=0,u=r;u<a;u+=n)l=c(e,u,u+n,t),this.imuln(i),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l);if(0!==o){var h=1;for(l=c(e,u,e.length,t),u=0;u<o;u++)h*=t;this.imuln(h),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l)}this.strip()},s.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},s.prototype.clone=function(){var e=new s(null);return this.copy(e),e},s.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},s.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var u=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],s=0|t.words[0],o=i*s,a=67108863&o,l=o/67108864|0;r.words[0]=a;for(var c=1;c<n;c++){for(var u=l>>>26,h=67108863&l,f=Math.min(c,t.length-1),d=Math.max(0,c-e.length+1);d<=f;d++){var p=c-d|0;u+=(o=(i=0|e.words[p])*(s=0|t.words[d])+h)/67108864|0,h=67108863&o}r.words[c]=0|h,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}s.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||\"hex\"===e){r=\"\";for(var i=0,s=0,o=0;o<this.length;o++){var a=this.words[o],l=(16777215&(a<<i|s)).toString(16);r=0!==(s=a>>>24-i&16777215)||o!==this.length-1?u[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==s&&(r=s.toString(16)+r);r.length%t!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}if(e===(0|e)&&e>=2&&e<=36){var c=h[e],d=f[e];r=\"\";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(e);r=(p=p.idivn(d)).isZero()?m+r:u[c-m.length]+m+r}for(this.isZero()&&(r=\"0\"+r);r.length%t!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}n(!1,\"Base should be between 2 and 36\")},s.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,\"Number can only safely store up to 53 bits\"),0!==this.negative?-e:e},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(e,t){return n(void 0!==o),this.toArrayLike(o,e,t)},s.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},s.prototype.toArrayLike=function(e,t,r){var i=this.byteLength(),s=r||Math.max(1,i);n(i<=s,\"byte array longer than desired length\"),n(s>0,\"Requested array length <= 0\"),this.strip();var o,a,l=\"le\"===t,c=new e(s),u=this.clone();if(l){for(a=0;!u.isZero();a++)o=u.andln(255),u.iushrn(8),c[a]=o;for(;a<s;a++)c[a]=0}else{for(a=0;a<s-i;a++)c[a]=0;for(a=0;!u.isZero();a++)o=u.andln(255),u.iushrn(8),c[s-a-1]=o}return c},Math.clz32?s.prototype._countBits=function(e){return 32-Math.clz32(e)}:s.prototype._countBits=function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},s.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},s.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},s.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},s.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},s.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},s.prototype.isNeg=function(){return 0!==this.negative},s.prototype.neg=function(){return this.clone().ineg()},s.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},s.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},s.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},s.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},s.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},s.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this.strip()},s.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},s.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},s.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},s.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;n<r.length;n++)this.words[n]=t.words[n]^r.words[n];if(this!==t)for(;n<t.length;n++)this.words[n]=t.words[n];return this.length=t.length,this.strip()},s.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},s.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},s.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},s.prototype.inotn=function(e){n(\"number\"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i<t;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},s.prototype.notn=function(e){return this.clone().inotn(e)},s.prototype.setn=function(e,t){n(\"number\"==typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},s.prototype.iadd=function(e){var t,r,n;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(r=this,n=e):(r=e,n=this);for(var i=0,s=0;s<n.length;s++)t=(0|r.words[s])+(0|n.words[s])+i,this.words[s]=67108863&t,i=t>>>26;for(;0!==i&&s<r.length;s++)t=(0|r.words[s])+i,this.words[s]=67108863&t,i=t>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this},s.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},s.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var s=0,o=0;o<n.length;o++)s=(t=(0|r.words[o])-(0|n.words[o])+s)>>26,this.words[o]=67108863&t;for(;0!==s&&o<r.length;o++)s=(t=(0|r.words[o])+s)>>26,this.words[o]=67108863&t;if(0===s&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},s.prototype.sub=function(e){return this.clone().isub(e)};var p=function(e,t,r){var n,i,s,o=e.words,a=t.words,l=r.words,c=0,u=0|o[0],h=8191&u,f=u>>>13,d=0|o[1],p=8191&d,m=d>>>13,b=0|o[2],g=8191&b,y=b>>>13,v=0|o[3],w=8191&v,_=v>>>13,x=0|o[4],k=8191&x,S=x>>>13,M=0|o[5],C=8191&M,T=M>>>13,E=0|o[6],A=8191&E,R=E>>>13,O=0|o[7],j=8191&O,I=O>>>13,N=0|o[8],P=8191&N,B=N>>>13,D=0|o[9],F=8191&D,L=D>>>13,z=0|a[0],U=8191&z,$=z>>>13,H=0|a[1],V=8191&H,q=H>>>13,W=0|a[2],X=8191&W,K=W>>>13,Y=0|a[3],Z=8191&Y,G=Y>>>13,J=0|a[4],Q=8191&J,ee=J>>>13,te=0|a[5],re=8191&te,ne=te>>>13,ie=0|a[6],se=8191&ie,oe=ie>>>13,ae=0|a[7],le=8191&ae,ce=ae>>>13,ue=0|a[8],he=8191&ue,fe=ue>>>13,de=0|a[9],pe=8191&de,me=de>>>13;r.negative=e.negative^t.negative,r.length=19;var be=(c+(n=Math.imul(h,U))|0)+((8191&(i=(i=Math.imul(h,$))+Math.imul(f,U)|0))<<13)|0;c=((s=Math.imul(f,$))+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(p,U),i=(i=Math.imul(p,$))+Math.imul(m,U)|0,s=Math.imul(m,$);var ge=(c+(n=n+Math.imul(h,V)|0)|0)+((8191&(i=(i=i+Math.imul(h,q)|0)+Math.imul(f,V)|0))<<13)|0;c=((s=s+Math.imul(f,q)|0)+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(g,U),i=(i=Math.imul(g,$))+Math.imul(y,U)|0,s=Math.imul(y,$),n=n+Math.imul(p,V)|0,i=(i=i+Math.imul(p,q)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,q)|0;var ye=(c+(n=n+Math.imul(h,X)|0)|0)+((8191&(i=(i=i+Math.imul(h,K)|0)+Math.imul(f,X)|0))<<13)|0;c=((s=s+Math.imul(f,K)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(w,U),i=(i=Math.imul(w,$))+Math.imul(_,U)|0,s=Math.imul(_,$),n=n+Math.imul(g,V)|0,i=(i=i+Math.imul(g,q)|0)+Math.imul(y,V)|0,s=s+Math.imul(y,q)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,K)|0)+Math.imul(m,X)|0,s=s+Math.imul(m,K)|0;var ve=(c+(n=n+Math.imul(h,Z)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(f,Z)|0))<<13)|0;c=((s=s+Math.imul(f,G)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(k,U),i=(i=Math.imul(k,$))+Math.imul(S,U)|0,s=Math.imul(S,$),n=n+Math.imul(w,V)|0,i=(i=i+Math.imul(w,q)|0)+Math.imul(_,V)|0,s=s+Math.imul(_,q)|0,n=n+Math.imul(g,X)|0,i=(i=i+Math.imul(g,K)|0)+Math.imul(y,X)|0,s=s+Math.imul(y,K)|0,n=n+Math.imul(p,Z)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,Z)|0,s=s+Math.imul(m,G)|0;var we=(c+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,ee)|0)+Math.imul(f,Q)|0))<<13)|0;c=((s=s+Math.imul(f,ee)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(C,U),i=(i=Math.imul(C,$))+Math.imul(T,U)|0,s=Math.imul(T,$),n=n+Math.imul(k,V)|0,i=(i=i+Math.imul(k,q)|0)+Math.imul(S,V)|0,s=s+Math.imul(S,q)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,K)|0)+Math.imul(_,X)|0,s=s+Math.imul(_,K)|0,n=n+Math.imul(g,Z)|0,i=(i=i+Math.imul(g,G)|0)+Math.imul(y,Z)|0,s=s+Math.imul(y,G)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(m,Q)|0,s=s+Math.imul(m,ee)|0;var _e=(c+(n=n+Math.imul(h,re)|0)|0)+((8191&(i=(i=i+Math.imul(h,ne)|0)+Math.imul(f,re)|0))<<13)|0;c=((s=s+Math.imul(f,ne)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(A,U),i=(i=Math.imul(A,$))+Math.imul(R,U)|0,s=Math.imul(R,$),n=n+Math.imul(C,V)|0,i=(i=i+Math.imul(C,q)|0)+Math.imul(T,V)|0,s=s+Math.imul(T,q)|0,n=n+Math.imul(k,X)|0,i=(i=i+Math.imul(k,K)|0)+Math.imul(S,X)|0,s=s+Math.imul(S,K)|0,n=n+Math.imul(w,Z)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,Z)|0,s=s+Math.imul(_,G)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,ee)|0)+Math.imul(y,Q)|0,s=s+Math.imul(y,ee)|0,n=n+Math.imul(p,re)|0,i=(i=i+Math.imul(p,ne)|0)+Math.imul(m,re)|0,s=s+Math.imul(m,ne)|0;var xe=(c+(n=n+Math.imul(h,se)|0)|0)+((8191&(i=(i=i+Math.imul(h,oe)|0)+Math.imul(f,se)|0))<<13)|0;c=((s=s+Math.imul(f,oe)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(j,U),i=(i=Math.imul(j,$))+Math.imul(I,U)|0,s=Math.imul(I,$),n=n+Math.imul(A,V)|0,i=(i=i+Math.imul(A,q)|0)+Math.imul(R,V)|0,s=s+Math.imul(R,q)|0,n=n+Math.imul(C,X)|0,i=(i=i+Math.imul(C,K)|0)+Math.imul(T,X)|0,s=s+Math.imul(T,K)|0,n=n+Math.imul(k,Z)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(S,Z)|0,s=s+Math.imul(S,G)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(_,Q)|0,s=s+Math.imul(_,ee)|0,n=n+Math.imul(g,re)|0,i=(i=i+Math.imul(g,ne)|0)+Math.imul(y,re)|0,s=s+Math.imul(y,ne)|0,n=n+Math.imul(p,se)|0,i=(i=i+Math.imul(p,oe)|0)+Math.imul(m,se)|0,s=s+Math.imul(m,oe)|0;var ke=(c+(n=n+Math.imul(h,le)|0)|0)+((8191&(i=(i=i+Math.imul(h,ce)|0)+Math.imul(f,le)|0))<<13)|0;c=((s=s+Math.imul(f,ce)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(P,U),i=(i=Math.imul(P,$))+Math.imul(B,U)|0,s=Math.imul(B,$),n=n+Math.imul(j,V)|0,i=(i=i+Math.imul(j,q)|0)+Math.imul(I,V)|0,s=s+Math.imul(I,q)|0,n=n+Math.imul(A,X)|0,i=(i=i+Math.imul(A,K)|0)+Math.imul(R,X)|0,s=s+Math.imul(R,K)|0,n=n+Math.imul(C,Z)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(T,Z)|0,s=s+Math.imul(T,G)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,ee)|0)+Math.imul(S,Q)|0,s=s+Math.imul(S,ee)|0,n=n+Math.imul(w,re)|0,i=(i=i+Math.imul(w,ne)|0)+Math.imul(_,re)|0,s=s+Math.imul(_,ne)|0,n=n+Math.imul(g,se)|0,i=(i=i+Math.imul(g,oe)|0)+Math.imul(y,se)|0,s=s+Math.imul(y,oe)|0,n=n+Math.imul(p,le)|0,i=(i=i+Math.imul(p,ce)|0)+Math.imul(m,le)|0,s=s+Math.imul(m,ce)|0;var Se=(c+(n=n+Math.imul(h,he)|0)|0)+((8191&(i=(i=i+Math.imul(h,fe)|0)+Math.imul(f,he)|0))<<13)|0;c=((s=s+Math.imul(f,fe)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(F,U),i=(i=Math.imul(F,$))+Math.imul(L,U)|0,s=Math.imul(L,$),n=n+Math.imul(P,V)|0,i=(i=i+Math.imul(P,q)|0)+Math.imul(B,V)|0,s=s+Math.imul(B,q)|0,n=n+Math.imul(j,X)|0,i=(i=i+Math.imul(j,K)|0)+Math.imul(I,X)|0,s=s+Math.imul(I,K)|0,n=n+Math.imul(A,Z)|0,i=(i=i+Math.imul(A,G)|0)+Math.imul(R,Z)|0,s=s+Math.imul(R,G)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,ee)|0)+Math.imul(T,Q)|0,s=s+Math.imul(T,ee)|0,n=n+Math.imul(k,re)|0,i=(i=i+Math.imul(k,ne)|0)+Math.imul(S,re)|0,s=s+Math.imul(S,ne)|0,n=n+Math.imul(w,se)|0,i=(i=i+Math.imul(w,oe)|0)+Math.imul(_,se)|0,s=s+Math.imul(_,oe)|0,n=n+Math.imul(g,le)|0,i=(i=i+Math.imul(g,ce)|0)+Math.imul(y,le)|0,s=s+Math.imul(y,ce)|0,n=n+Math.imul(p,he)|0,i=(i=i+Math.imul(p,fe)|0)+Math.imul(m,he)|0,s=s+Math.imul(m,fe)|0;var Me=(c+(n=n+Math.imul(h,pe)|0)|0)+((8191&(i=(i=i+Math.imul(h,me)|0)+Math.imul(f,pe)|0))<<13)|0;c=((s=s+Math.imul(f,me)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(F,V),i=(i=Math.imul(F,q))+Math.imul(L,V)|0,s=Math.imul(L,q),n=n+Math.imul(P,X)|0,i=(i=i+Math.imul(P,K)|0)+Math.imul(B,X)|0,s=s+Math.imul(B,K)|0,n=n+Math.imul(j,Z)|0,i=(i=i+Math.imul(j,G)|0)+Math.imul(I,Z)|0,s=s+Math.imul(I,G)|0,n=n+Math.imul(A,Q)|0,i=(i=i+Math.imul(A,ee)|0)+Math.imul(R,Q)|0,s=s+Math.imul(R,ee)|0,n=n+Math.imul(C,re)|0,i=(i=i+Math.imul(C,ne)|0)+Math.imul(T,re)|0,s=s+Math.imul(T,ne)|0,n=n+Math.imul(k,se)|0,i=(i=i+Math.imul(k,oe)|0)+Math.imul(S,se)|0,s=s+Math.imul(S,oe)|0,n=n+Math.imul(w,le)|0,i=(i=i+Math.imul(w,ce)|0)+Math.imul(_,le)|0,s=s+Math.imul(_,ce)|0,n=n+Math.imul(g,he)|0,i=(i=i+Math.imul(g,fe)|0)+Math.imul(y,he)|0,s=s+Math.imul(y,fe)|0;var Ce=(c+(n=n+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,me)|0)+Math.imul(m,pe)|0))<<13)|0;c=((s=s+Math.imul(m,me)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(F,X),i=(i=Math.imul(F,K))+Math.imul(L,X)|0,s=Math.imul(L,K),n=n+Math.imul(P,Z)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(B,Z)|0,s=s+Math.imul(B,G)|0,n=n+Math.imul(j,Q)|0,i=(i=i+Math.imul(j,ee)|0)+Math.imul(I,Q)|0,s=s+Math.imul(I,ee)|0,n=n+Math.imul(A,re)|0,i=(i=i+Math.imul(A,ne)|0)+Math.imul(R,re)|0,s=s+Math.imul(R,ne)|0,n=n+Math.imul(C,se)|0,i=(i=i+Math.imul(C,oe)|0)+Math.imul(T,se)|0,s=s+Math.imul(T,oe)|0,n=n+Math.imul(k,le)|0,i=(i=i+Math.imul(k,ce)|0)+Math.imul(S,le)|0,s=s+Math.imul(S,ce)|0,n=n+Math.imul(w,he)|0,i=(i=i+Math.imul(w,fe)|0)+Math.imul(_,he)|0,s=s+Math.imul(_,fe)|0;var Te=(c+(n=n+Math.imul(g,pe)|0)|0)+((8191&(i=(i=i+Math.imul(g,me)|0)+Math.imul(y,pe)|0))<<13)|0;c=((s=s+Math.imul(y,me)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(F,Z),i=(i=Math.imul(F,G))+Math.imul(L,Z)|0,s=Math.imul(L,G),n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(B,Q)|0,s=s+Math.imul(B,ee)|0,n=n+Math.imul(j,re)|0,i=(i=i+Math.imul(j,ne)|0)+Math.imul(I,re)|0,s=s+Math.imul(I,ne)|0,n=n+Math.imul(A,se)|0,i=(i=i+Math.imul(A,oe)|0)+Math.imul(R,se)|0,s=s+Math.imul(R,oe)|0,n=n+Math.imul(C,le)|0,i=(i=i+Math.imul(C,ce)|0)+Math.imul(T,le)|0,s=s+Math.imul(T,ce)|0,n=n+Math.imul(k,he)|0,i=(i=i+Math.imul(k,fe)|0)+Math.imul(S,he)|0,s=s+Math.imul(S,fe)|0;var Ee=(c+(n=n+Math.imul(w,pe)|0)|0)+((8191&(i=(i=i+Math.imul(w,me)|0)+Math.imul(_,pe)|0))<<13)|0;c=((s=s+Math.imul(_,me)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(F,Q),i=(i=Math.imul(F,ee))+Math.imul(L,Q)|0,s=Math.imul(L,ee),n=n+Math.imul(P,re)|0,i=(i=i+Math.imul(P,ne)|0)+Math.imul(B,re)|0,s=s+Math.imul(B,ne)|0,n=n+Math.imul(j,se)|0,i=(i=i+Math.imul(j,oe)|0)+Math.imul(I,se)|0,s=s+Math.imul(I,oe)|0,n=n+Math.imul(A,le)|0,i=(i=i+Math.imul(A,ce)|0)+Math.imul(R,le)|0,s=s+Math.imul(R,ce)|0,n=n+Math.imul(C,he)|0,i=(i=i+Math.imul(C,fe)|0)+Math.imul(T,he)|0,s=s+Math.imul(T,fe)|0;var Ae=(c+(n=n+Math.imul(k,pe)|0)|0)+((8191&(i=(i=i+Math.imul(k,me)|0)+Math.imul(S,pe)|0))<<13)|0;c=((s=s+Math.imul(S,me)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(F,re),i=(i=Math.imul(F,ne))+Math.imul(L,re)|0,s=Math.imul(L,ne),n=n+Math.imul(P,se)|0,i=(i=i+Math.imul(P,oe)|0)+Math.imul(B,se)|0,s=s+Math.imul(B,oe)|0,n=n+Math.imul(j,le)|0,i=(i=i+Math.imul(j,ce)|0)+Math.imul(I,le)|0,s=s+Math.imul(I,ce)|0,n=n+Math.imul(A,he)|0,i=(i=i+Math.imul(A,fe)|0)+Math.imul(R,he)|0,s=s+Math.imul(R,fe)|0;var Re=(c+(n=n+Math.imul(C,pe)|0)|0)+((8191&(i=(i=i+Math.imul(C,me)|0)+Math.imul(T,pe)|0))<<13)|0;c=((s=s+Math.imul(T,me)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(F,se),i=(i=Math.imul(F,oe))+Math.imul(L,se)|0,s=Math.imul(L,oe),n=n+Math.imul(P,le)|0,i=(i=i+Math.imul(P,ce)|0)+Math.imul(B,le)|0,s=s+Math.imul(B,ce)|0,n=n+Math.imul(j,he)|0,i=(i=i+Math.imul(j,fe)|0)+Math.imul(I,he)|0,s=s+Math.imul(I,fe)|0;var Oe=(c+(n=n+Math.imul(A,pe)|0)|0)+((8191&(i=(i=i+Math.imul(A,me)|0)+Math.imul(R,pe)|0))<<13)|0;c=((s=s+Math.imul(R,me)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,n=Math.imul(F,le),i=(i=Math.imul(F,ce))+Math.imul(L,le)|0,s=Math.imul(L,ce),n=n+Math.imul(P,he)|0,i=(i=i+Math.imul(P,fe)|0)+Math.imul(B,he)|0,s=s+Math.imul(B,fe)|0;var je=(c+(n=n+Math.imul(j,pe)|0)|0)+((8191&(i=(i=i+Math.imul(j,me)|0)+Math.imul(I,pe)|0))<<13)|0;c=((s=s+Math.imul(I,me)|0)+(i>>>13)|0)+(je>>>26)|0,je&=67108863,n=Math.imul(F,he),i=(i=Math.imul(F,fe))+Math.imul(L,he)|0,s=Math.imul(L,fe);var Ie=(c+(n=n+Math.imul(P,pe)|0)|0)+((8191&(i=(i=i+Math.imul(P,me)|0)+Math.imul(B,pe)|0))<<13)|0;c=((s=s+Math.imul(B,me)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863;var Ne=(c+(n=Math.imul(F,pe))|0)+((8191&(i=(i=Math.imul(F,me))+Math.imul(L,pe)|0))<<13)|0;return c=((s=Math.imul(L,me))+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,l[0]=be,l[1]=ge,l[2]=ye,l[3]=ve,l[4]=we,l[5]=_e,l[6]=xe,l[7]=ke,l[8]=Se,l[9]=Me,l[10]=Ce,l[11]=Te,l[12]=Ee,l[13]=Ae,l[14]=Re,l[15]=Oe,l[16]=je,l[17]=Ie,l[18]=Ne,0!==c&&(l[19]=c,r.length++),r};function m(e,t,r){return(new b).mulp(e,t,r)}function b(e,t){this.x=e,this.y=t}Math.imul||(p=d),s.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?p(this,e,t):r<63?d(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,s=0;s<r.length-1;s++){var o=i;i=0;for(var a=67108863&n,l=Math.min(s,t.length-1),c=Math.max(0,s-e.length+1);c<=l;c++){var u=s-c,h=(0|e.words[u])*(0|t.words[c]),f=67108863&h;a=67108863&(f=f+a|0),i+=(o=(o=o+(h/67108864|0)|0)+(f>>>26)|0)>>>26,o&=67108863}r.words[s]=a,n=o,o=i}return 0!==n?r.words[s]=n:r.length--,r.strip()}(this,e,t):m(this,e,t)},b.prototype.makeRBT=function(e){for(var t=new Array(e),r=s.prototype._countBits(e)-1,n=0;n<e;n++)t[n]=this.revBin(n,r,e);return t},b.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var n=0,i=0;i<t;i++)n|=(1&e)<<t-i-1,e>>=1;return n},b.prototype.permute=function(e,t,r,n,i,s){for(var o=0;o<s;o++)n[o]=t[e[o]],i[o]=r[e[o]]},b.prototype.transform=function(e,t,r,n,i,s){this.permute(s,e,t,r,n,i);for(var o=1;o<i;o<<=1)for(var a=o<<1,l=Math.cos(2*Math.PI/a),c=Math.sin(2*Math.PI/a),u=0;u<i;u+=a)for(var h=l,f=c,d=0;d<o;d++){var p=r[u+d],m=n[u+d],b=r[u+d+o],g=n[u+d+o],y=h*b-f*g;g=h*g+f*b,b=y,r[u+d]=p+b,n[u+d]=m+g,r[u+d+o]=p-b,n[u+d+o]=m-g,d!==a&&(y=l*h-c*f,f=l*f+c*h,h=y)}},b.prototype.guessLen13b=function(e,t){var r=1|Math.max(t,e),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},b.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=e[n];e[n]=e[r-n-1],e[r-n-1]=i,i=t[n],t[n]=-t[r-n-1],t[r-n-1]=-i}},b.prototype.normalize13b=function(e,t){for(var r=0,n=0;n<t/2;n++){var i=8192*Math.round(e[2*n+1]/t)+Math.round(e[2*n]/t)+r;e[n]=67108863&i,r=i<67108864?0:i/67108864|0}return e},b.prototype.convert13b=function(e,t,r,i){for(var s=0,o=0;o<t;o++)s+=0|e[o],r[2*o]=8191&s,s>>>=13,r[2*o+1]=8191&s,s>>>=13;for(o=2*t;o<i;++o)r[o]=0;n(0===s),n(0==(-8192&s))},b.prototype.stub=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t},b.prototype.mulp=function(e,t,r){var n=2*this.guessLen13b(e.length,t.length),i=this.makeRBT(n),s=this.stub(n),o=new Array(n),a=new Array(n),l=new Array(n),c=new Array(n),u=new Array(n),h=new Array(n),f=r.words;f.length=n,this.convert13b(e.words,e.length,o,n),this.convert13b(t.words,t.length,c,n),this.transform(o,s,a,l,n,i),this.transform(c,s,u,h,n,i);for(var d=0;d<n;d++){var p=a[d]*u[d]-l[d]*h[d];l[d]=a[d]*h[d]+l[d]*u[d],a[d]=p}return this.conjugate(a,l,n),this.transform(a,l,f,s,n,i),this.conjugate(f,s,n),this.normalize13b(f,n),r.negative=e.negative^t.negative,r.length=e.length+t.length,r.strip()},s.prototype.mul=function(e){var t=new s(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},s.prototype.mulf=function(e){var t=new s(null);return t.words=new Array(this.length+e.length),m(this,e,t)},s.prototype.imul=function(e){return this.clone().mulTo(e,this)},s.prototype.imuln=function(e){n(\"number\"==typeof e),n(e<67108864);for(var t=0,r=0;r<this.length;r++){var i=(0|this.words[r])*e,s=(67108863&i)+(67108863&t);t>>=26,t+=i/67108864|0,t+=s>>>26,this.words[r]=67108863&s}return 0!==t&&(this.words[r]=t,this.length++),this},s.prototype.muln=function(e){return this.clone().imuln(e)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r<t.length;r++){var n=r/26|0,i=r%26;t[r]=(e.words[n]&1<<i)>>>i}return t}(e);if(0===t.length)return new s(1);for(var r=this,n=0;n<t.length&&0===t[n];n++,r=r.sqr());if(++n<t.length)for(var i=r.sqr();n<t.length;n++,i=i.sqr())0!==t[n]&&(r=r.mul(i));return r},s.prototype.iushln=function(e){n(\"number\"==typeof e&&e>=0);var t,r=e%26,i=(e-r)/26,s=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(t=0;t<this.length;t++){var a=this.words[t]&s,l=(0|this.words[t])-a<<r;this.words[t]=l|o,o=a>>>26-r}o&&(this.words[t]=o,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t<i;t++)this.words[t]=0;this.length+=i}return this.strip()},s.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},s.prototype.iushrn=function(e,t,r){var i;n(\"number\"==typeof e&&e>=0),i=t?(t-t%26)/26:0;var s=e%26,o=Math.min((e-s)/26,this.length),a=67108863^67108863>>>s<<s,l=r;if(i-=o,i=Math.max(0,i),l){for(var c=0;c<o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var u=0;for(c=this.length-1;c>=0&&(0!==u||c>=i);c--){var h=0|this.words[c];this.words[c]=u<<26-s|h>>>s,u=h&a}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},s.prototype.shln=function(e){return this.clone().ishln(e)},s.prototype.ushln=function(e){return this.clone().iushln(e)},s.prototype.shrn=function(e){return this.clone().ishrn(e)},s.prototype.ushrn=function(e){return this.clone().iushrn(e)},s.prototype.testn=function(e){n(\"number\"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,i=1<<t;return!(this.length<=r)&&!!(this.words[r]&i)},s.prototype.imaskn=function(e){n(\"number\"==typeof e&&e>=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,\"imaskn works only with positive numbers\"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this.strip()},s.prototype.maskn=function(e){return this.clone().imaskn(e)},s.prototype.iaddn=function(e){return n(\"number\"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},s.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},s.prototype.isubn=function(e){if(n(\"number\"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this.strip()},s.prototype.addn=function(e){return this.clone().iaddn(e)},s.prototype.subn=function(e){return this.clone().isubn(e)},s.prototype.iabs=function(){return this.negative=0,this},s.prototype.abs=function(){return this.clone().iabs()},s.prototype._ishlnsubmul=function(e,t,r){var i,s,o=e.length+r;this._expand(o);var a=0;for(i=0;i<e.length;i++){s=(0|this.words[i+r])+a;var l=(0|e.words[i])*t;a=((s-=67108863&l)>>26)-(l/67108864|0),this.words[i+r]=67108863&s}for(;i<this.length-r;i++)a=(s=(0|this.words[i+r])+a)>>26,this.words[i+r]=67108863&s;if(0===a)return this.strip();for(n(-1===a),a=0,i=0;i<this.length;i++)a=(s=-(0|this.words[i])+a)>>26,this.words[i]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var a,l=n.length-i.length;if(\"mod\"!==t){(a=new s(null)).length=l+1,a.words=new Array(a.length);for(var c=0;c<a.length;c++)a.words[c]=0}var u=n.clone()._ishlnsubmul(i,1,l);0===u.negative&&(n=u,a&&(a.words[l]=1));for(var h=l-1;h>=0;h--){var f=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(i,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);a&&(a.words[h]=f)}return a&&a.strip(),n.strip(),\"div\"!==t&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},s.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),\"mod\"!==t&&(i=a.div.neg()),\"div\"!==t&&(o=a.mod.neg(),r&&0!==o.negative&&o.iadd(e)),{div:i,mod:o}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),\"mod\"!==t&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),\"div\"!==t&&(o=a.mod.neg(),r&&0!==o.negative&&o.isub(e)),{div:a.div,mod:o}):e.length>this.length||this.cmp(e)<0?{div:new s(0),mod:this}:1===e.length?\"div\"===t?{div:this.divn(e.words[0]),mod:null}:\"mod\"===t?{div:null,mod:new s(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new s(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,o,a},s.prototype.div=function(e){return this.divmod(e,\"div\",!1).div},s.prototype.mod=function(e){return this.divmod(e,\"mod\",!1).mod},s.prototype.umod=function(e){return this.divmod(e,\"mod\",!0).mod},s.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),s=r.cmp(n);return s<0||1===i&&0===s?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},s.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;i>=0;i--)r=(t*r+(0|this.words[i]))%e;return r},s.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*t;this.words[r]=i/e|0,t=i%e}return this.strip()},s.prototype.divn=function(e){return this.clone().idivn(e)},s.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new s(1),o=new s(0),a=new s(0),l=new s(1),c=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),h=t.clone();!t.isZero();){for(var f=0,d=1;0==(t.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(h)),i.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||l.isOdd())&&(a.iadd(u),l.isub(h)),a.iushrn(1),l.iushrn(1);t.cmp(r)>=0?(t.isub(r),i.isub(a),o.isub(l)):(r.isub(t),a.isub(i),l.isub(o))}return{a:a,b:l,gcd:r.iushln(c)}},s.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,o=new s(1),a=new s(0),l=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(t.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(t.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;0==(r.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(r.iushrn(h);h-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);t.cmp(r)>=0?(t.isub(r),o.isub(a)):(r.isub(t),a.isub(o))}return(i=0===t.cmpn(1)?o:a).cmpn(0)<0&&i.iadd(e),i},s.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var s=t;t=r,r=s}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},s.prototype.invm=function(e){return this.egcd(e).a.umod(e)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(e){return this.words[0]&e},s.prototype.bincn=function(e){n(\"number\"==typeof e);var t=e%26,r=(e-t)/26,i=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var s=i,o=r;0!==s&&o<this.length;o++){var a=0|this.words[o];s=(a+=s)>>>26,a&=67108863,this.words[o]=a}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,\"Number is too big\");var i=0|this.words[0];t=i===e?0:i<e?-1:1}return 0!==this.negative?0|-t:t},s.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},s.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){n<i?t=-1:n>i&&(t=1);break}}return t},s.prototype.gtn=function(e){return 1===this.cmpn(e)},s.prototype.gt=function(e){return 1===this.cmp(e)},s.prototype.gten=function(e){return this.cmpn(e)>=0},s.prototype.gte=function(e){return this.cmp(e)>=0},s.prototype.ltn=function(e){return-1===this.cmpn(e)},s.prototype.lt=function(e){return-1===this.cmp(e)},s.prototype.lten=function(e){return this.cmpn(e)<=0},s.prototype.lte=function(e){return this.cmp(e)<=0},s.prototype.eqn=function(e){return 0===this.cmpn(e)},s.prototype.eq=function(e){return 0===this.cmp(e)},s.red=function(e){return new k(e)},s.prototype.toRed=function(e){return n(!this.red,\"Already a number in reduction context\"),n(0===this.negative,\"red works only with positives\"),e.convertTo(this)._forceRed(e)},s.prototype.fromRed=function(){return n(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},s.prototype._forceRed=function(e){return this.red=e,this},s.prototype.forceRed=function(e){return n(!this.red,\"Already a number in reduction context\"),this._forceRed(e)},s.prototype.redAdd=function(e){return n(this.red,\"redAdd works only with red numbers\"),this.red.add(this,e)},s.prototype.redIAdd=function(e){return n(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,e)},s.prototype.redSub=function(e){return n(this.red,\"redSub works only with red numbers\"),this.red.sub(this,e)},s.prototype.redISub=function(e){return n(this.red,\"redISub works only with red numbers\"),this.red.isub(this,e)},s.prototype.redShl=function(e){return n(this.red,\"redShl works only with red numbers\"),this.red.shl(this,e)},s.prototype.redMul=function(e){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,e),this.red.mul(this,e)},s.prototype.redIMul=function(e){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,e),this.red.imul(this,e)},s.prototype.redSqr=function(){return n(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(e){return n(this.red&&!e.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,e)};var g={k256:null,p224:null,p192:null,p25519:null};function y(e,t){this.name=e,this.p=new s(t,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function w(){y.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function _(){y.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function x(){y.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function k(e){if(\"string\"==typeof e){var t=s._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),\"modulus must be greater than 1\"),this.m=e,this.prime=null}function S(e){k.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var e=new s(null);return e.words=new Array(Math.ceil(this.n/13)),e},y.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(e,t){e.iushrn(this.n,0,t)},y.prototype.imulK=function(e){return e.imul(this.k)},i(v,y),v.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n<r;n++)t.words[n]=e.words[n];if(t.length=r,e.length<=9)return e.words[0]=0,void(e.length=1);var i=e.words[9];for(t.words[t.length++]=4194303&i,n=10;n<e.length;n++){var s=0|e.words[n];e.words[n-10]=(4194303&s)<<4|i>>>22,i=s}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},v.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var n=0|e.words[r];t+=977*n,e.words[r]=67108863&t,t=64*n+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},i(w,y),i(_,y),i(x,y),x.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var n=19*(0|e.words[r])+t,i=67108863&n;n>>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},s._prime=function(e){if(g[e])return g[e];var t;if(\"k256\"===e)t=new v;else if(\"p224\"===e)t=new w;else if(\"p192\"===e)t=new _;else{if(\"p25519\"!==e)throw new Error(\"Unknown prime \"+e);t=new x}return g[e]=t,t},k.prototype._verify1=function(e){n(0===e.negative,\"red works only with positives\"),n(e.red,\"red works only with red numbers\")},k.prototype._verify2=function(e,t){n(0==(e.negative|t.negative),\"red works only with positives\"),n(e.red&&e.red===t.red,\"red works only with red numbers\")},k.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},k.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},k.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},k.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},k.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},k.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},k.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},k.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},k.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},k.prototype.isqr=function(e){return this.imul(e,e.clone())},k.prototype.sqr=function(e){return this.mul(e,e)},k.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new s(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var a=new s(1).toRed(this),l=a.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new s(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var h=this.pow(u,i),f=this.pow(e,i.addn(1).iushrn(1)),d=this.pow(e,i),p=o;0!==d.cmp(a);){for(var m=d,b=0;0!==m.cmp(a);b++)m=m.redSqr();n(b<p);var g=this.pow(h,new s(1).iushln(p-b-1));f=f.redMul(g),h=g.redSqr(),d=d.redMul(h),p=b}return f},k.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},k.prototype.pow=function(e,t){if(t.isZero())return new s(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=new Array(16);r[0]=new s(1).toRed(this),r[1]=e;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],e);var i=r[0],o=0,a=0,l=t.bitLength()%26;for(0===l&&(l=26),n=t.length-1;n>=0;n--){for(var c=t.words[n],u=l-1;u>=0;u--){var h=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++a||0===n&&0===u)&&(i=this.mul(i,r[o]),a=0,o=0)):a=0}l=26}return i},k.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},k.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},s.mont=function(e){return new S(e)},i(S,k),S.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},S.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},S.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},S.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new s(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},S.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t)},{buffer:188}],185:[function(e,t,r){\"use strict\";r.byteLength=function(e){var t=c(e),r=t[0],n=t[1];return 3*(r+n)/4-n},r.toByteArray=function(e){var t,r,n=c(e),o=n[0],a=n[1],l=new s(function(e,t,r){return 3*(t+r)/4-r}(0,o,a)),u=0,h=a>0?o-4:o;for(r=0;r<h;r+=4)t=i[e.charCodeAt(r)]<<18|i[e.charCodeAt(r+1)]<<12|i[e.charCodeAt(r+2)]<<6|i[e.charCodeAt(r+3)],l[u++]=t>>16&255,l[u++]=t>>8&255,l[u++]=255&t;2===a&&(t=i[e.charCodeAt(r)]<<2|i[e.charCodeAt(r+1)]>>4,l[u++]=255&t);1===a&&(t=i[e.charCodeAt(r)]<<10|i[e.charCodeAt(r+1)]<<4|i[e.charCodeAt(r+2)]>>2,l[u++]=t>>8&255,l[u++]=255&t);return l},r.fromByteArray=function(e){for(var t,r=e.length,i=r%3,s=[],o=0,a=r-i;o<a;o+=16383)s.push(u(e,o,o+16383>a?a:o+16383));1===i?(t=e[r-1],s.push(n[t>>2]+n[t<<4&63]+\"==\")):2===i&&(t=(e[r-2]<<8)+e[r-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+\"=\"));return s.join(\"\")};for(var n=[],i=[],s=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",a=0,l=o.length;a<l;++a)n[a]=o[a],i[o.charCodeAt(a)]=a;function c(e){var t=e.length;if(t%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=e.indexOf(\"=\");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function u(e,t,r){for(var i,s,o=[],a=t;a<r;a+=3)i=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),o.push(n[(s=i)>>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join(\"\")}i[\"-\".charCodeAt(0)]=62,i[\"_\".charCodeAt(0)]=63},{}],186:[function(e,t,r){\"use strict\";!function(t,r){function n(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function i(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function s(e,t,r){if(s.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&(\"le\"!==t&&\"be\"!==t||(r=t,t=10),this._init(e||0,t||10,r||\"be\"))}var o;\"object\"==typeof t?t.exports=s:(void 0).BN=s,s.BN=s,s.wordSize=26;try{o=\"undefined\"!=typeof window&&void 0!==window.Buffer?window.Buffer:e(\"buffer\").Buffer}catch(e){}function a(e,t){var r=e.charCodeAt(t);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void n(!1,\"Invalid character in \"+e)}function l(e,t,r){var n=a(e,r);return r-1>=t&&(n|=a(e,r-1)<<4),n}function c(e,t,r,i){for(var s=0,o=0,a=Math.min(e.length,r),l=t;l<a;l++){var c=e.charCodeAt(l)-48;s*=i,o=c>=49?c-49+10:c>=17?c-17+10:c,n(c>=0&&o<i,\"Invalid character\"),s+=o}return s}function u(e,t){e.words=t.words,e.length=t.length,e.negative=t.negative,e.red=t.red}if(s.isBN=function(e){return e instanceof s||null!==e&&\"object\"==typeof e&&e.constructor.wordSize===s.wordSize&&Array.isArray(e.words)},s.max=function(e,t){return e.cmp(t)>0?e:t},s.min=function(e,t){return e.cmp(t)<0?e:t},s.prototype._init=function(e,t,r){if(\"number\"==typeof e)return this._initNumber(e,t,r);if(\"object\"==typeof e)return this._initArray(e,t,r);\"hex\"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;\"-\"===(e=e.toString().replace(/\\s+/g,\"\"))[0]&&(i++,this.negative=1),i<e.length&&(16===t?this._parseHex(e,i,r):(this._parseBase(e,t,i),\"le\"===r&&this._initArray(this.toArray(),t,r)))},s.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),\"le\"===r&&this._initArray(this.toArray(),t,r)},s.prototype._initArray=function(e,t,r){if(n(\"number\"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var s,o,a=0;if(\"be\"===r)for(i=e.length-1,s=0;i>=0;i-=3)o=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[s]|=o<<a&67108863,this.words[s+1]=o>>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if(\"le\"===r)for(i=0,s=0;i<e.length;i+=3)o=e[i]|e[i+1]<<8|e[i+2]<<16,this.words[s]|=o<<a&67108863,this.words[s+1]=o>>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this._strip()},s.prototype._parseHex=function(e,t,r){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,s=0,o=0;if(\"be\"===r)for(n=e.length-1;n>=t;n-=2)i=l(e,t,n)<<s,this.words[o]|=67108863&i,s>=18?(s-=18,o+=1,this.words[o]|=i>>>26):s+=8;else for(n=(e.length-t)%2==0?t+1:t;n<e.length;n+=2)i=l(e,t,n)<<s,this.words[o]|=67108863&i,s>=18?(s-=18,o+=1,this.words[o]|=i>>>26):s+=8;this._strip()},s.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var s=e.length-r,o=s%n,a=Math.min(s,s-o)+r,l=0,u=r;u<a;u+=n)l=c(e,u,u+n,t),this.imuln(i),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l);if(0!==o){var h=1;for(l=c(e,u,e.length,t),u=0;u<o;u++)h*=t;this.imuln(h),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l)}this._strip()},s.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},s.prototype._move=function(e){u(e,this)},s.prototype.clone=function(){var e=new s(null);return this.copy(e),e},s.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},s.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},\"undefined\"!=typeof Symbol&&\"function\"==typeof Symbol.for)try{s.prototype[Symbol.for(\"nodejs.util.inspect.custom\")]=h}catch(e){s.prototype.inspect=h}else s.prototype.inspect=h;function h(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"}var f=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||\"hex\"===e){r=\"\";for(var i=0,s=0,o=0;o<this.length;o++){var a=this.words[o],l=(16777215&(a<<i|s)).toString(16);s=a>>>24-i&16777215,(i+=2)>=26&&(i-=26,o--),r=0!==s||o!==this.length-1?f[6-l.length]+l+r:l+r}for(0!==s&&(r=s.toString(16)+r);r.length%t!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}if(e===(0|e)&&e>=2&&e<=36){var c=d[e],u=p[e];r=\"\";var h=this.clone();for(h.negative=0;!h.isZero();){var m=h.modrn(u).toString(e);r=(h=h.idivn(u)).isZero()?m+r:f[c-m.length]+m+r}for(this.isZero()&&(r=\"0\"+r);r.length%t!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}n(!1,\"Base should be between 2 and 36\")},s.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,\"Number can only safely store up to 53 bits\"),0!==this.negative?-e:e},s.prototype.toJSON=function(){return this.toString(16,2)},o&&(s.prototype.toBuffer=function(e,t){return this.toArrayLike(o,e,t)}),s.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)};function m(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],s=0|t.words[0],o=i*s,a=67108863&o,l=o/67108864|0;r.words[0]=a;for(var c=1;c<n;c++){for(var u=l>>>26,h=67108863&l,f=Math.min(c,t.length-1),d=Math.max(0,c-e.length+1);d<=f;d++){var p=c-d|0;u+=(o=(i=0|e.words[p])*(s=0|t.words[d])+h)/67108864|0,h=67108863&o}r.words[c]=0|h,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r._strip()}s.prototype.toArrayLike=function(e,t,r){this._strip();var i=this.byteLength(),s=r||Math.max(1,i);n(i<=s,\"byte array longer than desired length\"),n(s>0,\"Requested array length <= 0\");var o=function(e,t){return e.allocUnsafe?e.allocUnsafe(t):new e(t)}(e,s);return this[\"_toArrayLike\"+(\"le\"===t?\"LE\":\"BE\")](o,i),o},s.prototype._toArrayLikeLE=function(e,t){for(var r=0,n=0,i=0,s=0;i<this.length;i++){var o=this.words[i]<<s|n;e[r++]=255&o,r<e.length&&(e[r++]=o>>8&255),r<e.length&&(e[r++]=o>>16&255),6===s?(r<e.length&&(e[r++]=o>>24&255),n=0,s=0):(n=o>>>24,s+=2)}if(r<e.length)for(e[r++]=n;r<e.length;)e[r++]=0},s.prototype._toArrayLikeBE=function(e,t){for(var r=e.length-1,n=0,i=0,s=0;i<this.length;i++){var o=this.words[i]<<s|n;e[r--]=255&o,r>=0&&(e[r--]=o>>8&255),r>=0&&(e[r--]=o>>16&255),6===s?(r>=0&&(e[r--]=o>>24&255),n=0,s=0):(n=o>>>24,s+=2)}if(r>=0)for(e[r--]=n;r>=0;)e[r--]=0},Math.clz32?s.prototype._countBits=function(e){return 32-Math.clz32(e)}:s.prototype._countBits=function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},s.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},s.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},s.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},s.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},s.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},s.prototype.isNeg=function(){return 0!==this.negative},s.prototype.neg=function(){return this.clone().ineg()},s.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},s.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this._strip()},s.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},s.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},s.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},s.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this._strip()},s.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},s.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},s.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},s.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;n<r.length;n++)this.words[n]=t.words[n]^r.words[n];if(this!==t)for(;n<t.length;n++)this.words[n]=t.words[n];return this.length=t.length,this._strip()},s.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},s.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},s.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},s.prototype.inotn=function(e){n(\"number\"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i<t;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this._strip()},s.prototype.notn=function(e){return this.clone().inotn(e)},s.prototype.setn=function(e,t){n(\"number\"==typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<<i:this.words[r]&~(1<<i),this._strip()},s.prototype.iadd=function(e){var t,r,n;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(r=this,n=e):(r=e,n=this);for(var i=0,s=0;s<n.length;s++)t=(0|r.words[s])+(0|n.words[s])+i,this.words[s]=67108863&t,i=t>>>26;for(;0!==i&&s<r.length;s++)t=(0|r.words[s])+i,this.words[s]=67108863&t,i=t>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this},s.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},s.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var s=0,o=0;o<n.length;o++)s=(t=(0|r.words[o])-(0|n.words[o])+s)>>26,this.words[o]=67108863&t;for(;0!==s&&o<r.length;o++)s=(t=(0|r.words[o])+s)>>26,this.words[o]=67108863&t;if(0===s&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this._strip()},s.prototype.sub=function(e){return this.clone().isub(e)};var b=function(e,t,r){var n,i,s,o=e.words,a=t.words,l=r.words,c=0,u=0|o[0],h=8191&u,f=u>>>13,d=0|o[1],p=8191&d,m=d>>>13,b=0|o[2],g=8191&b,y=b>>>13,v=0|o[3],w=8191&v,_=v>>>13,x=0|o[4],k=8191&x,S=x>>>13,M=0|o[5],C=8191&M,T=M>>>13,E=0|o[6],A=8191&E,R=E>>>13,O=0|o[7],j=8191&O,I=O>>>13,N=0|o[8],P=8191&N,B=N>>>13,D=0|o[9],F=8191&D,L=D>>>13,z=0|a[0],U=8191&z,$=z>>>13,H=0|a[1],V=8191&H,q=H>>>13,W=0|a[2],X=8191&W,K=W>>>13,Y=0|a[3],Z=8191&Y,G=Y>>>13,J=0|a[4],Q=8191&J,ee=J>>>13,te=0|a[5],re=8191&te,ne=te>>>13,ie=0|a[6],se=8191&ie,oe=ie>>>13,ae=0|a[7],le=8191&ae,ce=ae>>>13,ue=0|a[8],he=8191&ue,fe=ue>>>13,de=0|a[9],pe=8191&de,me=de>>>13;r.negative=e.negative^t.negative,r.length=19;var be=(c+(n=Math.imul(h,U))|0)+((8191&(i=(i=Math.imul(h,$))+Math.imul(f,U)|0))<<13)|0;c=((s=Math.imul(f,$))+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(p,U),i=(i=Math.imul(p,$))+Math.imul(m,U)|0,s=Math.imul(m,$);var ge=(c+(n=n+Math.imul(h,V)|0)|0)+((8191&(i=(i=i+Math.imul(h,q)|0)+Math.imul(f,V)|0))<<13)|0;c=((s=s+Math.imul(f,q)|0)+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(g,U),i=(i=Math.imul(g,$))+Math.imul(y,U)|0,s=Math.imul(y,$),n=n+Math.imul(p,V)|0,i=(i=i+Math.imul(p,q)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,q)|0;var ye=(c+(n=n+Math.imul(h,X)|0)|0)+((8191&(i=(i=i+Math.imul(h,K)|0)+Math.imul(f,X)|0))<<13)|0;c=((s=s+Math.imul(f,K)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(w,U),i=(i=Math.imul(w,$))+Math.imul(_,U)|0,s=Math.imul(_,$),n=n+Math.imul(g,V)|0,i=(i=i+Math.imul(g,q)|0)+Math.imul(y,V)|0,s=s+Math.imul(y,q)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,K)|0)+Math.imul(m,X)|0,s=s+Math.imul(m,K)|0;var ve=(c+(n=n+Math.imul(h,Z)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(f,Z)|0))<<13)|0;c=((s=s+Math.imul(f,G)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(k,U),i=(i=Math.imul(k,$))+Math.imul(S,U)|0,s=Math.imul(S,$),n=n+Math.imul(w,V)|0,i=(i=i+Math.imul(w,q)|0)+Math.imul(_,V)|0,s=s+Math.imul(_,q)|0,n=n+Math.imul(g,X)|0,i=(i=i+Math.imul(g,K)|0)+Math.imul(y,X)|0,s=s+Math.imul(y,K)|0,n=n+Math.imul(p,Z)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,Z)|0,s=s+Math.imul(m,G)|0;var we=(c+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,ee)|0)+Math.imul(f,Q)|0))<<13)|0;c=((s=s+Math.imul(f,ee)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(C,U),i=(i=Math.imul(C,$))+Math.imul(T,U)|0,s=Math.imul(T,$),n=n+Math.imul(k,V)|0,i=(i=i+Math.imul(k,q)|0)+Math.imul(S,V)|0,s=s+Math.imul(S,q)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,K)|0)+Math.imul(_,X)|0,s=s+Math.imul(_,K)|0,n=n+Math.imul(g,Z)|0,i=(i=i+Math.imul(g,G)|0)+Math.imul(y,Z)|0,s=s+Math.imul(y,G)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(m,Q)|0,s=s+Math.imul(m,ee)|0;var _e=(c+(n=n+Math.imul(h,re)|0)|0)+((8191&(i=(i=i+Math.imul(h,ne)|0)+Math.imul(f,re)|0))<<13)|0;c=((s=s+Math.imul(f,ne)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(A,U),i=(i=Math.imul(A,$))+Math.imul(R,U)|0,s=Math.imul(R,$),n=n+Math.imul(C,V)|0,i=(i=i+Math.imul(C,q)|0)+Math.imul(T,V)|0,s=s+Math.imul(T,q)|0,n=n+Math.imul(k,X)|0,i=(i=i+Math.imul(k,K)|0)+Math.imul(S,X)|0,s=s+Math.imul(S,K)|0,n=n+Math.imul(w,Z)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,Z)|0,s=s+Math.imul(_,G)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,ee)|0)+Math.imul(y,Q)|0,s=s+Math.imul(y,ee)|0,n=n+Math.imul(p,re)|0,i=(i=i+Math.imul(p,ne)|0)+Math.imul(m,re)|0,s=s+Math.imul(m,ne)|0;var xe=(c+(n=n+Math.imul(h,se)|0)|0)+((8191&(i=(i=i+Math.imul(h,oe)|0)+Math.imul(f,se)|0))<<13)|0;c=((s=s+Math.imul(f,oe)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(j,U),i=(i=Math.imul(j,$))+Math.imul(I,U)|0,s=Math.imul(I,$),n=n+Math.imul(A,V)|0,i=(i=i+Math.imul(A,q)|0)+Math.imul(R,V)|0,s=s+Math.imul(R,q)|0,n=n+Math.imul(C,X)|0,i=(i=i+Math.imul(C,K)|0)+Math.imul(T,X)|0,s=s+Math.imul(T,K)|0,n=n+Math.imul(k,Z)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(S,Z)|0,s=s+Math.imul(S,G)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(_,Q)|0,s=s+Math.imul(_,ee)|0,n=n+Math.imul(g,re)|0,i=(i=i+Math.imul(g,ne)|0)+Math.imul(y,re)|0,s=s+Math.imul(y,ne)|0,n=n+Math.imul(p,se)|0,i=(i=i+Math.imul(p,oe)|0)+Math.imul(m,se)|0,s=s+Math.imul(m,oe)|0;var ke=(c+(n=n+Math.imul(h,le)|0)|0)+((8191&(i=(i=i+Math.imul(h,ce)|0)+Math.imul(f,le)|0))<<13)|0;c=((s=s+Math.imul(f,ce)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(P,U),i=(i=Math.imul(P,$))+Math.imul(B,U)|0,s=Math.imul(B,$),n=n+Math.imul(j,V)|0,i=(i=i+Math.imul(j,q)|0)+Math.imul(I,V)|0,s=s+Math.imul(I,q)|0,n=n+Math.imul(A,X)|0,i=(i=i+Math.imul(A,K)|0)+Math.imul(R,X)|0,s=s+Math.imul(R,K)|0,n=n+Math.imul(C,Z)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(T,Z)|0,s=s+Math.imul(T,G)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,ee)|0)+Math.imul(S,Q)|0,s=s+Math.imul(S,ee)|0,n=n+Math.imul(w,re)|0,i=(i=i+Math.imul(w,ne)|0)+Math.imul(_,re)|0,s=s+Math.imul(_,ne)|0,n=n+Math.imul(g,se)|0,i=(i=i+Math.imul(g,oe)|0)+Math.imul(y,se)|0,s=s+Math.imul(y,oe)|0,n=n+Math.imul(p,le)|0,i=(i=i+Math.imul(p,ce)|0)+Math.imul(m,le)|0,s=s+Math.imul(m,ce)|0;var Se=(c+(n=n+Math.imul(h,he)|0)|0)+((8191&(i=(i=i+Math.imul(h,fe)|0)+Math.imul(f,he)|0))<<13)|0;c=((s=s+Math.imul(f,fe)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(F,U),i=(i=Math.imul(F,$))+Math.imul(L,U)|0,s=Math.imul(L,$),n=n+Math.imul(P,V)|0,i=(i=i+Math.imul(P,q)|0)+Math.imul(B,V)|0,s=s+Math.imul(B,q)|0,n=n+Math.imul(j,X)|0,i=(i=i+Math.imul(j,K)|0)+Math.imul(I,X)|0,s=s+Math.imul(I,K)|0,n=n+Math.imul(A,Z)|0,i=(i=i+Math.imul(A,G)|0)+Math.imul(R,Z)|0,s=s+Math.imul(R,G)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,ee)|0)+Math.imul(T,Q)|0,s=s+Math.imul(T,ee)|0,n=n+Math.imul(k,re)|0,i=(i=i+Math.imul(k,ne)|0)+Math.imul(S,re)|0,s=s+Math.imul(S,ne)|0,n=n+Math.imul(w,se)|0,i=(i=i+Math.imul(w,oe)|0)+Math.imul(_,se)|0,s=s+Math.imul(_,oe)|0,n=n+Math.imul(g,le)|0,i=(i=i+Math.imul(g,ce)|0)+Math.imul(y,le)|0,s=s+Math.imul(y,ce)|0,n=n+Math.imul(p,he)|0,i=(i=i+Math.imul(p,fe)|0)+Math.imul(m,he)|0,s=s+Math.imul(m,fe)|0;var Me=(c+(n=n+Math.imul(h,pe)|0)|0)+((8191&(i=(i=i+Math.imul(h,me)|0)+Math.imul(f,pe)|0))<<13)|0;c=((s=s+Math.imul(f,me)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(F,V),i=(i=Math.imul(F,q))+Math.imul(L,V)|0,s=Math.imul(L,q),n=n+Math.imul(P,X)|0,i=(i=i+Math.imul(P,K)|0)+Math.imul(B,X)|0,s=s+Math.imul(B,K)|0,n=n+Math.imul(j,Z)|0,i=(i=i+Math.imul(j,G)|0)+Math.imul(I,Z)|0,s=s+Math.imul(I,G)|0,n=n+Math.imul(A,Q)|0,i=(i=i+Math.imul(A,ee)|0)+Math.imul(R,Q)|0,s=s+Math.imul(R,ee)|0,n=n+Math.imul(C,re)|0,i=(i=i+Math.imul(C,ne)|0)+Math.imul(T,re)|0,s=s+Math.imul(T,ne)|0,n=n+Math.imul(k,se)|0,i=(i=i+Math.imul(k,oe)|0)+Math.imul(S,se)|0,s=s+Math.imul(S,oe)|0,n=n+Math.imul(w,le)|0,i=(i=i+Math.imul(w,ce)|0)+Math.imul(_,le)|0,s=s+Math.imul(_,ce)|0,n=n+Math.imul(g,he)|0,i=(i=i+Math.imul(g,fe)|0)+Math.imul(y,he)|0,s=s+Math.imul(y,fe)|0;var Ce=(c+(n=n+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,me)|0)+Math.imul(m,pe)|0))<<13)|0;c=((s=s+Math.imul(m,me)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(F,X),i=(i=Math.imul(F,K))+Math.imul(L,X)|0,s=Math.imul(L,K),n=n+Math.imul(P,Z)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(B,Z)|0,s=s+Math.imul(B,G)|0,n=n+Math.imul(j,Q)|0,i=(i=i+Math.imul(j,ee)|0)+Math.imul(I,Q)|0,s=s+Math.imul(I,ee)|0,n=n+Math.imul(A,re)|0,i=(i=i+Math.imul(A,ne)|0)+Math.imul(R,re)|0,s=s+Math.imul(R,ne)|0,n=n+Math.imul(C,se)|0,i=(i=i+Math.imul(C,oe)|0)+Math.imul(T,se)|0,s=s+Math.imul(T,oe)|0,n=n+Math.imul(k,le)|0,i=(i=i+Math.imul(k,ce)|0)+Math.imul(S,le)|0,s=s+Math.imul(S,ce)|0,n=n+Math.imul(w,he)|0,i=(i=i+Math.imul(w,fe)|0)+Math.imul(_,he)|0,s=s+Math.imul(_,fe)|0;var Te=(c+(n=n+Math.imul(g,pe)|0)|0)+((8191&(i=(i=i+Math.imul(g,me)|0)+Math.imul(y,pe)|0))<<13)|0;c=((s=s+Math.imul(y,me)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(F,Z),i=(i=Math.imul(F,G))+Math.imul(L,Z)|0,s=Math.imul(L,G),n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(B,Q)|0,s=s+Math.imul(B,ee)|0,n=n+Math.imul(j,re)|0,i=(i=i+Math.imul(j,ne)|0)+Math.imul(I,re)|0,s=s+Math.imul(I,ne)|0,n=n+Math.imul(A,se)|0,i=(i=i+Math.imul(A,oe)|0)+Math.imul(R,se)|0,s=s+Math.imul(R,oe)|0,n=n+Math.imul(C,le)|0,i=(i=i+Math.imul(C,ce)|0)+Math.imul(T,le)|0,s=s+Math.imul(T,ce)|0,n=n+Math.imul(k,he)|0,i=(i=i+Math.imul(k,fe)|0)+Math.imul(S,he)|0,s=s+Math.imul(S,fe)|0;var Ee=(c+(n=n+Math.imul(w,pe)|0)|0)+((8191&(i=(i=i+Math.imul(w,me)|0)+Math.imul(_,pe)|0))<<13)|0;c=((s=s+Math.imul(_,me)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(F,Q),i=(i=Math.imul(F,ee))+Math.imul(L,Q)|0,s=Math.imul(L,ee),n=n+Math.imul(P,re)|0,i=(i=i+Math.imul(P,ne)|0)+Math.imul(B,re)|0,s=s+Math.imul(B,ne)|0,n=n+Math.imul(j,se)|0,i=(i=i+Math.imul(j,oe)|0)+Math.imul(I,se)|0,s=s+Math.imul(I,oe)|0,n=n+Math.imul(A,le)|0,i=(i=i+Math.imul(A,ce)|0)+Math.imul(R,le)|0,s=s+Math.imul(R,ce)|0,n=n+Math.imul(C,he)|0,i=(i=i+Math.imul(C,fe)|0)+Math.imul(T,he)|0,s=s+Math.imul(T,fe)|0;var Ae=(c+(n=n+Math.imul(k,pe)|0)|0)+((8191&(i=(i=i+Math.imul(k,me)|0)+Math.imul(S,pe)|0))<<13)|0;c=((s=s+Math.imul(S,me)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(F,re),i=(i=Math.imul(F,ne))+Math.imul(L,re)|0,s=Math.imul(L,ne),n=n+Math.imul(P,se)|0,i=(i=i+Math.imul(P,oe)|0)+Math.imul(B,se)|0,s=s+Math.imul(B,oe)|0,n=n+Math.imul(j,le)|0,i=(i=i+Math.imul(j,ce)|0)+Math.imul(I,le)|0,s=s+Math.imul(I,ce)|0,n=n+Math.imul(A,he)|0,i=(i=i+Math.imul(A,fe)|0)+Math.imul(R,he)|0,s=s+Math.imul(R,fe)|0;var Re=(c+(n=n+Math.imul(C,pe)|0)|0)+((8191&(i=(i=i+Math.imul(C,me)|0)+Math.imul(T,pe)|0))<<13)|0;c=((s=s+Math.imul(T,me)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(F,se),i=(i=Math.imul(F,oe))+Math.imul(L,se)|0,s=Math.imul(L,oe),n=n+Math.imul(P,le)|0,i=(i=i+Math.imul(P,ce)|0)+Math.imul(B,le)|0,s=s+Math.imul(B,ce)|0,n=n+Math.imul(j,he)|0,i=(i=i+Math.imul(j,fe)|0)+Math.imul(I,he)|0,s=s+Math.imul(I,fe)|0;var Oe=(c+(n=n+Math.imul(A,pe)|0)|0)+((8191&(i=(i=i+Math.imul(A,me)|0)+Math.imul(R,pe)|0))<<13)|0;c=((s=s+Math.imul(R,me)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,n=Math.imul(F,le),i=(i=Math.imul(F,ce))+Math.imul(L,le)|0,s=Math.imul(L,ce),n=n+Math.imul(P,he)|0,i=(i=i+Math.imul(P,fe)|0)+Math.imul(B,he)|0,s=s+Math.imul(B,fe)|0;var je=(c+(n=n+Math.imul(j,pe)|0)|0)+((8191&(i=(i=i+Math.imul(j,me)|0)+Math.imul(I,pe)|0))<<13)|0;c=((s=s+Math.imul(I,me)|0)+(i>>>13)|0)+(je>>>26)|0,je&=67108863,n=Math.imul(F,he),i=(i=Math.imul(F,fe))+Math.imul(L,he)|0,s=Math.imul(L,fe);var Ie=(c+(n=n+Math.imul(P,pe)|0)|0)+((8191&(i=(i=i+Math.imul(P,me)|0)+Math.imul(B,pe)|0))<<13)|0;c=((s=s+Math.imul(B,me)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863;var Ne=(c+(n=Math.imul(F,pe))|0)+((8191&(i=(i=Math.imul(F,me))+Math.imul(L,pe)|0))<<13)|0;return c=((s=Math.imul(L,me))+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,l[0]=be,l[1]=ge,l[2]=ye,l[3]=ve,l[4]=we,l[5]=_e,l[6]=xe,l[7]=ke,l[8]=Se,l[9]=Me,l[10]=Ce,l[11]=Te,l[12]=Ee,l[13]=Ae,l[14]=Re,l[15]=Oe,l[16]=je,l[17]=Ie,l[18]=Ne,0!==c&&(l[19]=c,r.length++),r};function g(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,s=0;s<r.length-1;s++){var o=i;i=0;for(var a=67108863&n,l=Math.min(s,t.length-1),c=Math.max(0,s-e.length+1);c<=l;c++){var u=s-c,h=(0|e.words[u])*(0|t.words[c]),f=67108863&h;a=67108863&(f=f+a|0),i+=(o=(o=o+(h/67108864|0)|0)+(f>>>26)|0)>>>26,o&=67108863}r.words[s]=a,n=o,o=i}return 0!==n?r.words[s]=n:r.length--,r._strip()}function y(e,t,r){return g(e,t,r)}function v(e,t){this.x=e,this.y=t}Math.imul||(b=m),s.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?b(this,e,t):r<63?m(this,e,t):r<1024?g(this,e,t):y(this,e,t)},v.prototype.makeRBT=function(e){for(var t=new Array(e),r=s.prototype._countBits(e)-1,n=0;n<e;n++)t[n]=this.revBin(n,r,e);return t},v.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var n=0,i=0;i<t;i++)n|=(1&e)<<t-i-1,e>>=1;return n},v.prototype.permute=function(e,t,r,n,i,s){for(var o=0;o<s;o++)n[o]=t[e[o]],i[o]=r[e[o]]},v.prototype.transform=function(e,t,r,n,i,s){this.permute(s,e,t,r,n,i);for(var o=1;o<i;o<<=1)for(var a=o<<1,l=Math.cos(2*Math.PI/a),c=Math.sin(2*Math.PI/a),u=0;u<i;u+=a)for(var h=l,f=c,d=0;d<o;d++){var p=r[u+d],m=n[u+d],b=r[u+d+o],g=n[u+d+o],y=h*b-f*g;g=h*g+f*b,b=y,r[u+d]=p+b,n[u+d]=m+g,r[u+d+o]=p-b,n[u+d+o]=m-g,d!==a&&(y=l*h-c*f,f=l*f+c*h,h=y)}},v.prototype.guessLen13b=function(e,t){var r=1|Math.max(t,e),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},v.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=e[n];e[n]=e[r-n-1],e[r-n-1]=i,i=t[n],t[n]=-t[r-n-1],t[r-n-1]=-i}},v.prototype.normalize13b=function(e,t){for(var r=0,n=0;n<t/2;n++){var i=8192*Math.round(e[2*n+1]/t)+Math.round(e[2*n]/t)+r;e[n]=67108863&i,r=i<67108864?0:i/67108864|0}return e},v.prototype.convert13b=function(e,t,r,i){for(var s=0,o=0;o<t;o++)s+=0|e[o],r[2*o]=8191&s,s>>>=13,r[2*o+1]=8191&s,s>>>=13;for(o=2*t;o<i;++o)r[o]=0;n(0===s),n(0==(-8192&s))},v.prototype.stub=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t},v.prototype.mulp=function(e,t,r){var n=2*this.guessLen13b(e.length,t.length),i=this.makeRBT(n),s=this.stub(n),o=new Array(n),a=new Array(n),l=new Array(n),c=new Array(n),u=new Array(n),h=new Array(n),f=r.words;f.length=n,this.convert13b(e.words,e.length,o,n),this.convert13b(t.words,t.length,c,n),this.transform(o,s,a,l,n,i),this.transform(c,s,u,h,n,i);for(var d=0;d<n;d++){var p=a[d]*u[d]-l[d]*h[d];l[d]=a[d]*h[d]+l[d]*u[d],a[d]=p}return this.conjugate(a,l,n),this.transform(a,l,f,s,n,i),this.conjugate(f,s,n),this.normalize13b(f,n),r.negative=e.negative^t.negative,r.length=e.length+t.length,r._strip()},s.prototype.mul=function(e){var t=new s(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},s.prototype.mulf=function(e){var t=new s(null);return t.words=new Array(this.length+e.length),y(this,e,t)},s.prototype.imul=function(e){return this.clone().mulTo(e,this)},s.prototype.imuln=function(e){var t=e<0;t&&(e=-e),n(\"number\"==typeof e),n(e<67108864);for(var r=0,i=0;i<this.length;i++){var s=(0|this.words[i])*e,o=(67108863&s)+(67108863&r);r>>=26,r+=s/67108864|0,r+=o>>>26,this.words[i]=67108863&o}return 0!==r&&(this.words[i]=r,this.length++),t?this.ineg():this},s.prototype.muln=function(e){return this.clone().imuln(e)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r<t.length;r++){var n=r/26|0,i=r%26;t[r]=e.words[n]>>>i&1}return t}(e);if(0===t.length)return new s(1);for(var r=this,n=0;n<t.length&&0===t[n];n++,r=r.sqr());if(++n<t.length)for(var i=r.sqr();n<t.length;n++,i=i.sqr())0!==t[n]&&(r=r.mul(i));return r},s.prototype.iushln=function(e){n(\"number\"==typeof e&&e>=0);var t,r=e%26,i=(e-r)/26,s=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(t=0;t<this.length;t++){var a=this.words[t]&s,l=(0|this.words[t])-a<<r;this.words[t]=l|o,o=a>>>26-r}o&&(this.words[t]=o,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t<i;t++)this.words[t]=0;this.length+=i}return this._strip()},s.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},s.prototype.iushrn=function(e,t,r){var i;n(\"number\"==typeof e&&e>=0),i=t?(t-t%26)/26:0;var s=e%26,o=Math.min((e-s)/26,this.length),a=67108863^67108863>>>s<<s,l=r;if(i-=o,i=Math.max(0,i),l){for(var c=0;c<o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var u=0;for(c=this.length-1;c>=0&&(0!==u||c>=i);c--){var h=0|this.words[c];this.words[c]=u<<26-s|h>>>s,u=h&a}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},s.prototype.shln=function(e){return this.clone().ishln(e)},s.prototype.ushln=function(e){return this.clone().iushln(e)},s.prototype.shrn=function(e){return this.clone().ishrn(e)},s.prototype.ushrn=function(e){return this.clone().iushrn(e)},s.prototype.testn=function(e){n(\"number\"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,i=1<<t;return!(this.length<=r)&&!!(this.words[r]&i)},s.prototype.imaskn=function(e){n(\"number\"==typeof e&&e>=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,\"imaskn works only with positive numbers\"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this._strip()},s.prototype.maskn=function(e){return this.clone().imaskn(e)},s.prototype.iaddn=function(e){return n(\"number\"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<=e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},s.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},s.prototype.isubn=function(e){if(n(\"number\"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this._strip()},s.prototype.addn=function(e){return this.clone().iaddn(e)},s.prototype.subn=function(e){return this.clone().isubn(e)},s.prototype.iabs=function(){return this.negative=0,this},s.prototype.abs=function(){return this.clone().iabs()},s.prototype._ishlnsubmul=function(e,t,r){var i,s,o=e.length+r;this._expand(o);var a=0;for(i=0;i<e.length;i++){s=(0|this.words[i+r])+a;var l=(0|e.words[i])*t;a=((s-=67108863&l)>>26)-(l/67108864|0),this.words[i+r]=67108863&s}for(;i<this.length-r;i++)a=(s=(0|this.words[i+r])+a)>>26,this.words[i+r]=67108863&s;if(0===a)return this._strip();for(n(-1===a),a=0,i=0;i<this.length;i++)a=(s=-(0|this.words[i])+a)>>26,this.words[i]=67108863&s;return this.negative=1,this._strip()},s.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var a,l=n.length-i.length;if(\"mod\"!==t){(a=new s(null)).length=l+1,a.words=new Array(a.length);for(var c=0;c<a.length;c++)a.words[c]=0}var u=n.clone()._ishlnsubmul(i,1,l);0===u.negative&&(n=u,a&&(a.words[l]=1));for(var h=l-1;h>=0;h--){var f=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(i,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);a&&(a.words[h]=f)}return a&&a._strip(),n._strip(),\"div\"!==t&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},s.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),\"mod\"!==t&&(i=a.div.neg()),\"div\"!==t&&(o=a.mod.neg(),r&&0!==o.negative&&o.iadd(e)),{div:i,mod:o}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),\"mod\"!==t&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),\"div\"!==t&&(o=a.mod.neg(),r&&0!==o.negative&&o.isub(e)),{div:a.div,mod:o}):e.length>this.length||this.cmp(e)<0?{div:new s(0),mod:this}:1===e.length?\"div\"===t?{div:this.divn(e.words[0]),mod:null}:\"mod\"===t?{div:null,mod:new s(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new s(this.modrn(e.words[0]))}:this._wordDiv(e,t);var i,o,a},s.prototype.div=function(e){return this.divmod(e,\"div\",!1).div},s.prototype.mod=function(e){return this.divmod(e,\"mod\",!1).mod},s.prototype.umod=function(e){return this.divmod(e,\"mod\",!0).mod},s.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),s=r.cmp(n);return s<0||1===i&&0===s?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},s.prototype.modrn=function(e){var t=e<0;t&&(e=-e),n(e<=67108863);for(var r=(1<<26)%e,i=0,s=this.length-1;s>=0;s--)i=(r*i+(0|this.words[s]))%e;return t?-i:i},s.prototype.modn=function(e){return this.modrn(e)},s.prototype.idivn=function(e){var t=e<0;t&&(e=-e),n(e<=67108863);for(var r=0,i=this.length-1;i>=0;i--){var s=(0|this.words[i])+67108864*r;this.words[i]=s/e|0,r=s%e}return this._strip(),t?this.ineg():this},s.prototype.divn=function(e){return this.clone().idivn(e)},s.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new s(1),o=new s(0),a=new s(0),l=new s(1),c=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),h=t.clone();!t.isZero();){for(var f=0,d=1;0==(t.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(h)),i.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||l.isOdd())&&(a.iadd(u),l.isub(h)),a.iushrn(1),l.iushrn(1);t.cmp(r)>=0?(t.isub(r),i.isub(a),o.isub(l)):(r.isub(t),a.isub(i),l.isub(o))}return{a:a,b:l,gcd:r.iushln(c)}},s.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,o=new s(1),a=new s(0),l=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(t.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(t.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;0==(r.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(r.iushrn(h);h-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);t.cmp(r)>=0?(t.isub(r),o.isub(a)):(r.isub(t),a.isub(o))}return(i=0===t.cmpn(1)?o:a).cmpn(0)<0&&i.iadd(e),i},s.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var s=t;t=r,r=s}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},s.prototype.invm=function(e){return this.egcd(e).a.umod(e)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(e){return this.words[0]&e},s.prototype.bincn=function(e){n(\"number\"==typeof e);var t=e%26,r=(e-t)/26,i=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var s=i,o=r;0!==s&&o<this.length;o++){var a=0|this.words[o];s=(a+=s)>>>26,a&=67108863,this.words[o]=a}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,\"Number is too big\");var i=0|this.words[0];t=i===e?0:i<e?-1:1}return 0!==this.negative?0|-t:t},s.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},s.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){n<i?t=-1:n>i&&(t=1);break}}return t},s.prototype.gtn=function(e){return 1===this.cmpn(e)},s.prototype.gt=function(e){return 1===this.cmp(e)},s.prototype.gten=function(e){return this.cmpn(e)>=0},s.prototype.gte=function(e){return this.cmp(e)>=0},s.prototype.ltn=function(e){return-1===this.cmpn(e)},s.prototype.lt=function(e){return-1===this.cmp(e)},s.prototype.lten=function(e){return this.cmpn(e)<=0},s.prototype.lte=function(e){return this.cmp(e)<=0},s.prototype.eqn=function(e){return 0===this.cmpn(e)},s.prototype.eq=function(e){return 0===this.cmp(e)},s.red=function(e){return new C(e)},s.prototype.toRed=function(e){return n(!this.red,\"Already a number in reduction context\"),n(0===this.negative,\"red works only with positives\"),e.convertTo(this)._forceRed(e)},s.prototype.fromRed=function(){return n(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},s.prototype._forceRed=function(e){return this.red=e,this},s.prototype.forceRed=function(e){return n(!this.red,\"Already a number in reduction context\"),this._forceRed(e)},s.prototype.redAdd=function(e){return n(this.red,\"redAdd works only with red numbers\"),this.red.add(this,e)},s.prototype.redIAdd=function(e){return n(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,e)},s.prototype.redSub=function(e){return n(this.red,\"redSub works only with red numbers\"),this.red.sub(this,e)},s.prototype.redISub=function(e){return n(this.red,\"redISub works only with red numbers\"),this.red.isub(this,e)},s.prototype.redShl=function(e){return n(this.red,\"redShl works only with red numbers\"),this.red.shl(this,e)},s.prototype.redMul=function(e){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,e),this.red.mul(this,e)},s.prototype.redIMul=function(e){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,e),this.red.imul(this,e)},s.prototype.redSqr=function(){return n(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(e){return n(this.red&&!e.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,e)};var w={k256:null,p224:null,p192:null,p25519:null};function _(e,t){this.name=e,this.p=new s(t,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){_.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function k(){_.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function S(){_.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function M(){_.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function C(e){if(\"string\"==typeof e){var t=s._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),\"modulus must be greater than 1\"),this.m=e,this.prime=null}function T(e){C.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}_.prototype._tmp=function(){var e=new s(null);return e.words=new Array(Math.ceil(this.n/13)),e},_.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},_.prototype.split=function(e,t){e.iushrn(this.n,0,t)},_.prototype.imulK=function(e){return e.imul(this.k)},i(x,_),x.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n<r;n++)t.words[n]=e.words[n];if(t.length=r,e.length<=9)return e.words[0]=0,void(e.length=1);var i=e.words[9];for(t.words[t.length++]=4194303&i,n=10;n<e.length;n++){var s=0|e.words[n];e.words[n-10]=(4194303&s)<<4|i>>>22,i=s}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},x.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var n=0|e.words[r];t+=977*n,e.words[r]=67108863&t,t=64*n+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},i(k,_),i(S,_),i(M,_),M.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var n=19*(0|e.words[r])+t,i=67108863&n;n>>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},s._prime=function(e){if(w[e])return w[e];var t;if(\"k256\"===e)t=new x;else if(\"p224\"===e)t=new k;else if(\"p192\"===e)t=new S;else{if(\"p25519\"!==e)throw new Error(\"Unknown prime \"+e);t=new M}return w[e]=t,t},C.prototype._verify1=function(e){n(0===e.negative,\"red works only with positives\"),n(e.red,\"red works only with red numbers\")},C.prototype._verify2=function(e,t){n(0==(e.negative|t.negative),\"red works only with positives\"),n(e.red&&e.red===t.red,\"red works only with red numbers\")},C.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(u(e,e.umod(this.m)._forceRed(this)),e)},C.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},C.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},C.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},C.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},C.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},C.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},C.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},C.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},C.prototype.isqr=function(e){return this.imul(e,e.clone())},C.prototype.sqr=function(e){return this.mul(e,e)},C.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new s(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var a=new s(1).toRed(this),l=a.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new s(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var h=this.pow(u,i),f=this.pow(e,i.addn(1).iushrn(1)),d=this.pow(e,i),p=o;0!==d.cmp(a);){for(var m=d,b=0;0!==m.cmp(a);b++)m=m.redSqr();n(b<p);var g=this.pow(h,new s(1).iushln(p-b-1));f=f.redMul(g),h=g.redSqr(),d=d.redMul(h),p=b}return f},C.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},C.prototype.pow=function(e,t){if(t.isZero())return new s(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=new Array(16);r[0]=new s(1).toRed(this),r[1]=e;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],e);var i=r[0],o=0,a=0,l=t.bitLength()%26;for(0===l&&(l=26),n=t.length-1;n>=0;n--){for(var c=t.words[n],u=l-1;u>=0;u--){var h=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++a||0===n&&0===u)&&(i=this.mul(i,r[o]),a=0,o=0)):a=0}l=26}return i},C.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},C.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},s.mont=function(e){return new T(e)},i(T,C),T.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},T.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},T.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},T.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new s(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},T.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t)},{buffer:188}],187:[function(e,t,r){\"use strict\";var n;function i(e){this.rand=e}if(t.exports=function(e){return n||(n=new i(null)),n.generate(e)},t.exports.Rand=i,i.prototype.generate=function(e){return this._rand(e)},i.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;r<t.length;r++)t[r]=this.rand.getByte();return t},\"object\"==typeof self)self.crypto&&self.crypto.getRandomValues?i.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?i.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:\"object\"==typeof window&&(i.prototype._rand=function(){throw new Error(\"Not implemented yet\")});else try{var s=e(\"crypto\");if(\"function\"!=typeof s.randomBytes)throw new Error(\"Not supported\");i.prototype._rand=function(e){return s.randomBytes(e)}}catch(e){}},{crypto:188}],188:[function(e,t,r){},{}],189:[function(e,t,r){\"use strict\";var n=e(\"safe-buffer\").Buffer;function i(e){n.isBuffer(e)||(e=n.from(e));for(var t=e.length/4|0,r=new Array(t),i=0;i<t;i++)r[i]=e.readUInt32BE(4*i);return r}function s(e){for(;0<e.length;e++)e[0]=0}function o(e,t,r,n,i){for(var s,o,a,l,c=r[0],u=r[1],h=r[2],f=r[3],d=e[0]^t[0],p=e[1]^t[1],m=e[2]^t[2],b=e[3]^t[3],g=4,y=1;y<i;y++)s=c[d>>>24]^u[p>>>16&255]^h[m>>>8&255]^f[255&b]^t[g++],o=c[p>>>24]^u[m>>>16&255]^h[b>>>8&255]^f[255&d]^t[g++],a=c[m>>>24]^u[b>>>16&255]^h[d>>>8&255]^f[255&p]^t[g++],l=c[b>>>24]^u[d>>>16&255]^h[p>>>8&255]^f[255&m]^t[g++],d=s,p=o,m=a,b=l;return s=(n[d>>>24]<<24|n[p>>>16&255]<<16|n[m>>>8&255]<<8|n[255&b])^t[g++],o=(n[p>>>24]<<24|n[m>>>16&255]<<16|n[b>>>8&255]<<8|n[255&d])^t[g++],a=(n[m>>>24]<<24|n[b>>>16&255]<<16|n[d>>>8&255]<<8|n[255&p])^t[g++],l=(n[b>>>24]<<24|n[d>>>16&255]<<16|n[p>>>8&255]<<8|n[255&m])^t[g++],[s>>>=0,o>>>=0,a>>>=0,l>>>=0]}var a=[0,1,2,4,8,16,32,64,128,27,54],l=function(){for(var e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var r=[],n=[],i=[[],[],[],[]],s=[[],[],[],[]],o=0,a=0,l=0;l<256;++l){var c=a^a<<1^a<<2^a<<3^a<<4;c=c>>>8^255&c^99,r[o]=c,n[c]=o;var u=e[o],h=e[u],f=e[h],d=257*e[c]^16843008*c;i[0][o]=d<<24|d>>>8,i[1][o]=d<<16|d>>>16,i[2][o]=d<<8|d>>>24,i[3][o]=d,d=16843009*f^65537*h^257*u^16843008*o,s[0][c]=d<<24|d>>>8,s[1][c]=d<<16|d>>>16,s[2][c]=d<<8|d>>>24,s[3][c]=d,0===o?o=a=1:(o=u^e[e[e[f^u]]],a^=e[e[a]])}return{SBOX:r,INV_SBOX:n,SUB_MIX:i,INV_SUB_MIX:s}}();function c(e){this._key=i(e),this._reset()}c.blockSize=16,c.keySize=32,c.prototype.blockSize=c.blockSize,c.prototype.keySize=c.keySize,c.prototype._reset=function(){for(var e=this._key,t=e.length,r=t+6,n=4*(r+1),i=[],s=0;s<t;s++)i[s]=e[s];for(s=t;s<n;s++){var o=i[s-1];s%t==0?(o=o<<8|o>>>24,o=l.SBOX[o>>>24]<<24|l.SBOX[o>>>16&255]<<16|l.SBOX[o>>>8&255]<<8|l.SBOX[255&o],o^=a[s/t|0]<<24):t>6&&s%t==4&&(o=l.SBOX[o>>>24]<<24|l.SBOX[o>>>16&255]<<16|l.SBOX[o>>>8&255]<<8|l.SBOX[255&o]),i[s]=i[s-t]^o}for(var c=[],u=0;u<n;u++){var h=n-u,f=i[h-(u%4?0:4)];c[u]=u<4||h<=4?f:l.INV_SUB_MIX[0][l.SBOX[f>>>24]]^l.INV_SUB_MIX[1][l.SBOX[f>>>16&255]]^l.INV_SUB_MIX[2][l.SBOX[f>>>8&255]]^l.INV_SUB_MIX[3][l.SBOX[255&f]]}this._nRounds=r,this._keySchedule=i,this._invKeySchedule=c},c.prototype.encryptBlockRaw=function(e){return o(e=i(e),this._keySchedule,l.SUB_MIX,l.SBOX,this._nRounds)},c.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e),r=n.allocUnsafe(16);return r.writeUInt32BE(t[0],0),r.writeUInt32BE(t[1],4),r.writeUInt32BE(t[2],8),r.writeUInt32BE(t[3],12),r},c.prototype.decryptBlock=function(e){var t=(e=i(e))[1];e[1]=e[3],e[3]=t;var r=o(e,this._invKeySchedule,l.INV_SUB_MIX,l.INV_SBOX,this._nRounds),s=n.allocUnsafe(16);return s.writeUInt32BE(r[0],0),s.writeUInt32BE(r[3],4),s.writeUInt32BE(r[2],8),s.writeUInt32BE(r[1],12),s},c.prototype.scrub=function(){s(this._keySchedule),s(this._invKeySchedule),s(this._key)},t.exports.AES=c},{\"safe-buffer\":494}],190:[function(e,t,r){\"use strict\";var n=e(\"./aes\"),i=e(\"safe-buffer\").Buffer,s=e(\"cipher-base\"),o=e(\"inherits\"),a=e(\"./ghash\"),l=e(\"buffer-xor\"),c=e(\"./incr32\");function u(e,t,r,o){s.call(this);var l=i.alloc(4,0);this._cipher=new n.AES(t);var u=this._cipher.encryptBlock(l);this._ghash=new a(u),r=function(e,t,r){if(12===t.length)return e._finID=i.concat([t,i.from([0,0,0,1])]),i.concat([t,i.from([0,0,0,2])]);var n=new a(r),s=t.length,o=s%16;n.update(t),o&&(o=16-o,n.update(i.alloc(o,0))),n.update(i.alloc(8,0));var l=8*s,u=i.alloc(8);u.writeUIntBE(l,0,8),n.update(u),e._finID=n.state;var h=i.from(e._finID);return c(h),h}(this,r,u),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=o,this._alen=0,this._len=0,this._mode=e,this._authTag=null,this._called=!1}o(u,s),u.prototype._update=function(e){if(!this._called&&this._alen){var t=16-this._alen%16;t<16&&(t=i.alloc(t,0),this._ghash.update(t))}this._called=!0;var r=this._mode.encrypt(this,e);return this._decrypt?this._ghash.update(e):this._ghash.update(r),this._len+=e.length,r},u.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error(\"Unsupported state or unable to authenticate data\");var e=l(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(e,t){var r=0;e.length!==t.length&&r++;for(var n=Math.min(e.length,t.length),i=0;i<n;++i)r+=e[i]^t[i];return r}(e,this._authTag))throw new Error(\"Unsupported state or unable to authenticate data\");this._authTag=e,this._cipher.scrub()},u.prototype.getAuthTag=function(){if(this._decrypt||!i.isBuffer(this._authTag))throw new Error(\"Attempting to get auth tag in unsupported state\");return this._authTag},u.prototype.setAuthTag=function(e){if(!this._decrypt)throw new Error(\"Attempting to set auth tag in unsupported state\");this._authTag=e},u.prototype.setAAD=function(e){if(this._called)throw new Error(\"Attempting to set AAD in unsupported state\");this._ghash.update(e),this._alen+=e.length},t.exports=u},{\"./aes\":189,\"./ghash\":194,\"./incr32\":195,\"buffer-xor\":219,\"cipher-base\":221,inherits:440,\"safe-buffer\":494}],191:[function(e,t,r){\"use strict\";var n=e(\"./encrypter\"),i=e(\"./decrypter\"),s=e(\"./modes/list.json\");r.createCipher=r.Cipher=n.createCipher,r.createCipheriv=r.Cipheriv=n.createCipheriv,r.createDecipher=r.Decipher=i.createDecipher,r.createDecipheriv=r.Decipheriv=i.createDecipheriv,r.listCiphers=r.getCiphers=function(){return Object.keys(s)}},{\"./decrypter\":192,\"./encrypter\":193,\"./modes/list.json\":203}],192:[function(e,t,r){\"use strict\";var n=e(\"./authCipher\"),i=e(\"safe-buffer\").Buffer,s=e(\"./modes\"),o=e(\"./streamCipher\"),a=e(\"cipher-base\"),l=e(\"./aes\"),c=e(\"evp_bytestokey\");function u(e,t,r){a.call(this),this._cache=new h,this._last=void 0,this._cipher=new l.AES(t),this._prev=i.from(r),this._mode=e,this._autopadding=!0}function h(){this.cache=i.allocUnsafe(0)}function f(e,t,r){var a=s[e.toLowerCase()];if(!a)throw new TypeError(\"invalid suite type\");if(\"string\"==typeof r&&(r=i.from(r)),\"GCM\"!==a.mode&&r.length!==a.iv)throw new TypeError(\"invalid iv length \"+r.length);if(\"string\"==typeof t&&(t=i.from(t)),t.length!==a.key/8)throw new TypeError(\"invalid key length \"+t.length);return\"stream\"===a.type?new o(a.module,t,r,!0):\"auth\"===a.type?new n(a.module,t,r,!0):new u(a.module,t,r)}e(\"inherits\")(u,a),u.prototype._update=function(e){var t,r;this._cache.add(e);for(var n=[];t=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,t),n.push(r);return i.concat(n)},u.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return function(e){var t=e[15];if(t<1||t>16)throw new Error(\"unable to decrypt data\");var r=-1;for(;++r<t;)if(e[r+(16-t)]!==t)throw new Error(\"unable to decrypt data\");if(16===t)return;return e.slice(0,16-t)}(this._mode.decrypt(this,e));if(e)throw new Error(\"data not multiple of block length\")},u.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},h.prototype.add=function(e){this.cache=i.concat([this.cache,e])},h.prototype.get=function(e){var t;if(e){if(this.cache.length>16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},h.prototype.flush=function(){if(this.cache.length)return this.cache},r.createDecipher=function(e,t){var r=s[e.toLowerCase()];if(!r)throw new TypeError(\"invalid suite type\");var n=c(t,!1,r.key,r.iv);return f(e,n.key,n.iv)},r.createDecipheriv=f},{\"./aes\":189,\"./authCipher\":190,\"./modes\":202,\"./streamCipher\":205,\"cipher-base\":221,evp_bytestokey:423,inherits:440,\"safe-buffer\":494}],193:[function(e,t,r){\"use strict\";var n=e(\"./modes\"),i=e(\"./authCipher\"),s=e(\"safe-buffer\").Buffer,o=e(\"./streamCipher\"),a=e(\"cipher-base\"),l=e(\"./aes\"),c=e(\"evp_bytestokey\");function u(e,t,r){a.call(this),this._cache=new f,this._cipher=new l.AES(t),this._prev=s.from(r),this._mode=e,this._autopadding=!0}e(\"inherits\")(u,a),u.prototype._update=function(e){var t,r;this._cache.add(e);for(var n=[];t=this._cache.get();)r=this._mode.encrypt(this,t),n.push(r);return s.concat(n)};var h=s.alloc(16,16);function f(){this.cache=s.allocUnsafe(0)}function d(e,t,r){var a=n[e.toLowerCase()];if(!a)throw new TypeError(\"invalid suite type\");if(\"string\"==typeof t&&(t=s.from(t)),t.length!==a.key/8)throw new TypeError(\"invalid key length \"+t.length);if(\"string\"==typeof r&&(r=s.from(r)),\"GCM\"!==a.mode&&r.length!==a.iv)throw new TypeError(\"invalid iv length \"+r.length);return\"stream\"===a.type?new o(a.module,t,r):\"auth\"===a.type?new i(a.module,t,r):new u(a.module,t,r)}u.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if(!e.equals(h))throw this._cipher.scrub(),new Error(\"data not multiple of block length\")},u.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},f.prototype.add=function(e){this.cache=s.concat([this.cache,e])},f.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},f.prototype.flush=function(){for(var e=16-this.cache.length,t=s.allocUnsafe(e),r=-1;++r<e;)t.writeUInt8(e,r);return s.concat([this.cache,t])},r.createCipheriv=d,r.createCipher=function(e,t){var r=n[e.toLowerCase()];if(!r)throw new TypeError(\"invalid suite type\");var i=c(t,!1,r.key,r.iv);return d(e,i.key,i.iv)}},{\"./aes\":189,\"./authCipher\":190,\"./modes\":202,\"./streamCipher\":205,\"cipher-base\":221,evp_bytestokey:423,inherits:440,\"safe-buffer\":494}],194:[function(e,t,r){\"use strict\";var n=e(\"safe-buffer\").Buffer,i=n.alloc(16,0);function s(e){var t=n.allocUnsafe(16);return t.writeUInt32BE(e[0]>>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function o(e){this.h=e,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}o.prototype.ghash=function(e){for(var t=-1;++t<e.length;)this.state[t]^=e[t];this._multiply()},o.prototype._multiply=function(){for(var e,t,r,n=[(e=this.h).readUInt32BE(0),e.readUInt32BE(4),e.readUInt32BE(8),e.readUInt32BE(12)],i=[0,0,0,0],o=-1;++o<128;){for(0!=(this.state[~~(o/8)]&1<<7-o%8)&&(i[0]^=n[0],i[1]^=n[1],i[2]^=n[2],i[3]^=n[3]),r=0!=(1&n[3]),t=3;t>0;t--)n[t]=n[t]>>>1|(1&n[t-1])<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=s(i)},o.prototype.update=function(e){var t;for(this.cache=n.concat([this.cache,e]);this.cache.length>=16;)t=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(t)},o.prototype.final=function(e,t){return this.cache.length&&this.ghash(n.concat([this.cache,i],16)),this.ghash(s([0,e,0,t])),this.state},t.exports=o},{\"safe-buffer\":494}],195:[function(e,t,r){\"use strict\";t.exports=function(e){for(var t,r=e.length;r--;){if(255!==(t=e.readUInt8(r))){t++,e.writeUInt8(t,r);break}e.writeUInt8(0,r)}}},{}],196:[function(e,t,r){\"use strict\";var n=e(\"buffer-xor\");r.encrypt=function(e,t){var r=n(t,e._prev);return e._prev=e._cipher.encryptBlock(r),e._prev},r.decrypt=function(e,t){var r=e._prev;e._prev=t;var i=e._cipher.decryptBlock(t);return n(i,r)}},{\"buffer-xor\":219}],197:[function(e,t,r){\"use strict\";var n=e(\"safe-buffer\").Buffer,i=e(\"buffer-xor\");function s(e,t,r){var s=t.length,o=i(t,e._cache);return e._cache=e._cache.slice(s),e._prev=n.concat([e._prev,r?t:o]),o}r.encrypt=function(e,t,r){for(var i,o=n.allocUnsafe(0);t.length;){if(0===e._cache.length&&(e._cache=e._cipher.encryptBlock(e._prev),e._prev=n.allocUnsafe(0)),!(e._cache.length<=t.length)){o=n.concat([o,s(e,t,r)]);break}i=e._cache.length,o=n.concat([o,s(e,t.slice(0,i),r)]),t=t.slice(i)}return o}},{\"buffer-xor\":219,\"safe-buffer\":494}],198:[function(e,t,r){\"use strict\";var n=e(\"safe-buffer\").Buffer;function i(e,t,r){for(var n,i,o=-1,a=0;++o<8;)n=t&1<<7-o?128:0,a+=(128&(i=e._cipher.encryptBlock(e._prev)[0]^n))>>o%8,e._prev=s(e._prev,r?n:i);return a}function s(e,t){var r=e.length,i=-1,s=n.allocUnsafe(e.length);for(e=n.concat([e,n.from([t])]);++i<r;)s[i]=e[i]<<1|e[i+1]>>7;return s}r.encrypt=function(e,t,r){for(var s=t.length,o=n.allocUnsafe(s),a=-1;++a<s;)o[a]=i(e,t[a],r);return o}},{\"safe-buffer\":494}],199:[function(e,t,r){\"use strict\";var n=e(\"safe-buffer\").Buffer;function i(e,t,r){var i=e._cipher.encryptBlock(e._prev)[0]^t;return e._prev=n.concat([e._prev.slice(1),n.from([r?t:i])]),i}r.encrypt=function(e,t,r){for(var s=t.length,o=n.allocUnsafe(s),a=-1;++a<s;)o[a]=i(e,t[a],r);return o}},{\"safe-buffer\":494}],200:[function(e,t,r){\"use strict\";var n=e(\"buffer-xor\"),i=e(\"safe-buffer\").Buffer,s=e(\"../incr32\");function o(e){var t=e._cipher.encryptBlockRaw(e._prev);return s(e._prev),t}r.encrypt=function(e,t){var r=Math.ceil(t.length/16),s=e._cache.length;e._cache=i.concat([e._cache,i.allocUnsafe(16*r)]);for(var a=0;a<r;a++){var l=o(e),c=s+16*a;e._cache.writeUInt32BE(l[0],c+0),e._cache.writeUInt32BE(l[1],c+4),e._cache.writeUInt32BE(l[2],c+8),e._cache.writeUInt32BE(l[3],c+12)}var u=e._cache.slice(0,t.length);return e._cache=e._cache.slice(t.length),n(t,u)}},{\"../incr32\":195,\"buffer-xor\":219,\"safe-buffer\":494}],201:[function(e,t,r){\"use strict\";r.encrypt=function(e,t){return e._cipher.encryptBlock(t)},r.decrypt=function(e,t){return e._cipher.decryptBlock(t)}},{}],202:[function(e,t,r){\"use strict\";var n={ECB:e(\"./ecb\"),CBC:e(\"./cbc\"),CFB:e(\"./cfb\"),CFB8:e(\"./cfb8\"),CFB1:e(\"./cfb1\"),OFB:e(\"./ofb\"),CTR:e(\"./ctr\"),GCM:e(\"./ctr\")},i=e(\"./list.json\");for(var s in i)i[s].module=n[i[s].mode];t.exports=i},{\"./cbc\":196,\"./cfb\":197,\"./cfb1\":198,\"./cfb8\":199,\"./ctr\":200,\"./ecb\":201,\"./list.json\":203,\"./ofb\":204}],203:[function(e,t,r){t.exports={\"aes-128-ecb\":{cipher:\"AES\",key:128,iv:0,mode:\"ECB\",type:\"block\"},\"aes-192-ecb\":{cipher:\"AES\",key:192,iv:0,mode:\"ECB\",type:\"block\"},\"aes-256-ecb\":{cipher:\"AES\",key:256,iv:0,mode:\"ECB\",type:\"block\"},\"aes-128-cbc\":{cipher:\"AES\",key:128,iv:16,mode:\"CBC\",type:\"block\"},\"aes-192-cbc\":{cipher:\"AES\",key:192,iv:16,mode:\"CBC\",type:\"block\"},\"aes-256-cbc\":{cipher:\"AES\",key:256,iv:16,mode:\"CBC\",type:\"block\"},aes128:{cipher:\"AES\",key:128,iv:16,mode:\"CBC\",type:\"block\"},aes192:{cipher:\"AES\",key:192,iv:16,mode:\"CBC\",type:\"block\"},aes256:{cipher:\"AES\",key:256,iv:16,mode:\"CBC\",type:\"block\"},\"aes-128-cfb\":{cipher:\"AES\",key:128,iv:16,mode:\"CFB\",type:\"stream\"},\"aes-192-cfb\":{cipher:\"AES\",key:192,iv:16,mode:\"CFB\",type:\"stream\"},\"aes-256-cfb\":{cipher:\"AES\",key:256,iv:16,mode:\"CFB\",type:\"stream\"},\"aes-128-cfb8\":{cipher:\"AES\",key:128,iv:16,mode:\"CFB8\",type:\"stream\"},\"aes-192-cfb8\":{cipher:\"AES\",key:192,iv:16,mode:\"CFB8\",type:\"stream\"},\"aes-256-cfb8\":{cipher:\"AES\",key:256,iv:16,mode:\"CFB8\",type:\"stream\"},\"aes-128-cfb1\":{cipher:\"AES\",key:128,iv:16,mode:\"CFB1\",type:\"stream\"},\"aes-192-cfb1\":{cipher:\"AES\",key:192,iv:16,mode:\"CFB1\",type:\"stream\"},\"aes-256-cfb1\":{cipher:\"AES\",key:256,iv:16,mode:\"CFB1\",type:\"stream\"},\"aes-128-ofb\":{cipher:\"AES\",key:128,iv:16,mode:\"OFB\",type:\"stream\"},\"aes-192-ofb\":{cipher:\"AES\",key:192,iv:16,mode:\"OFB\",type:\"stream\"},\"aes-256-ofb\":{cipher:\"AES\",key:256,iv:16,mode:\"OFB\",type:\"stream\"},\"aes-128-ctr\":{cipher:\"AES\",key:128,iv:16,mode:\"CTR\",type:\"stream\"},\"aes-192-ctr\":{cipher:\"AES\",key:192,iv:16,mode:\"CTR\",type:\"stream\"},\"aes-256-ctr\":{cipher:\"AES\",key:256,iv:16,mode:\"CTR\",type:\"stream\"},\"aes-128-gcm\":{cipher:\"AES\",key:128,iv:12,mode:\"GCM\",type:\"auth\"},\"aes-192-gcm\":{cipher:\"AES\",key:192,iv:12,mode:\"GCM\",type:\"auth\"},\"aes-256-gcm\":{cipher:\"AES\",key:256,iv:12,mode:\"GCM\",type:\"auth\"}}},{}],204:[function(e,t,r){(function(t){(function(){\"use strict\";var n=e(\"buffer-xor\");function i(e){return e._prev=e._cipher.encryptBlock(e._prev),e._prev}r.encrypt=function(e,r){for(;e._cache.length<r.length;)e._cache=t.concat([e._cache,i(e)]);var s=e._cache.slice(0,r.length);return e._cache=e._cache.slice(r.length),n(r,s)}}).call(this)}).call(this,e(\"buffer\").Buffer)},{buffer:220,\"buffer-xor\":219}],205:[function(e,t,r){\"use strict\";var n=e(\"./aes\"),i=e(\"safe-buffer\").Buffer,s=e(\"cipher-base\");function o(e,t,r,o){s.call(this),this._cipher=new n.AES(t),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=o,this._mode=e}e(\"inherits\")(o,s),o.prototype._update=function(e){return this._mode.encrypt(this,e,this._decrypt)},o.prototype._final=function(){this._cipher.scrub()},t.exports=o},{\"./aes\":189,\"cipher-base\":221,inherits:440,\"safe-buffer\":494}],206:[function(e,t,r){\"use strict\";var n=e(\"browserify-des\"),i=e(\"browserify-aes/browser\"),s=e(\"browserify-aes/modes\"),o=e(\"browserify-des/modes\"),a=e(\"evp_bytestokey\");function l(e,t,r){if(e=e.toLowerCase(),s[e])return i.createCipheriv(e,t,r);if(o[e])return new n({key:t,iv:r,mode:e});throw new TypeError(\"invalid suite type\")}function c(e,t,r){if(e=e.toLowerCase(),s[e])return i.createDecipheriv(e,t,r);if(o[e])return new n({key:t,iv:r,mode:e,decrypt:!0});throw new TypeError(\"invalid suite type\")}r.createCipher=r.Cipher=function(e,t){var r,n;if(e=e.toLowerCase(),s[e])r=s[e].key,n=s[e].iv;else{if(!o[e])throw new TypeError(\"invalid suite type\");r=8*o[e].key,n=o[e].iv}var i=a(t,!1,r,n);return l(e,i.key,i.iv)},r.createCipheriv=r.Cipheriv=l,r.createDecipher=r.Decipher=function(e,t){var r,n;if(e=e.toLowerCase(),s[e])r=s[e].key,n=s[e].iv;else{if(!o[e])throw new TypeError(\"invalid suite type\");r=8*o[e].key,n=o[e].iv}var i=a(t,!1,r,n);return c(e,i.key,i.iv)},r.createDecipheriv=r.Decipheriv=c,r.listCiphers=r.getCiphers=function(){return Object.keys(o).concat(i.getCiphers())}},{\"browserify-aes/browser\":191,\"browserify-aes/modes\":202,\"browserify-des\":207,\"browserify-des/modes\":208,evp_bytestokey:423}],207:[function(e,t,r){\"use strict\";var n=e(\"cipher-base\"),i=e(\"des.js\"),s=e(\"inherits\"),o=e(\"safe-buffer\").Buffer,a={\"des-ede3-cbc\":i.CBC.instantiate(i.EDE),\"des-ede3\":i.EDE,\"des-ede-cbc\":i.CBC.instantiate(i.EDE),\"des-ede\":i.EDE,\"des-cbc\":i.CBC.instantiate(i.DES),\"des-ecb\":i.DES};function l(e){n.call(this);var t,r=e.mode.toLowerCase(),i=a[r];t=e.decrypt?\"decrypt\":\"encrypt\";var s=e.key;o.isBuffer(s)||(s=o.from(s)),\"des-ede\"!==r&&\"des-ede-cbc\"!==r||(s=o.concat([s,s.slice(0,8)]));var l=e.iv;o.isBuffer(l)||(l=o.from(l)),this._des=i.create({key:s,iv:l,type:t})}a.des=a[\"des-cbc\"],a.des3=a[\"des-ede3-cbc\"],t.exports=l,s(l,n),l.prototype._update=function(e){return o.from(this._des.update(e))},l.prototype._final=function(){return o.from(this._des.final())}},{\"cipher-base\":221,\"des.js\":394,inherits:440,\"safe-buffer\":494}],208:[function(e,t,r){\"use strict\";r[\"des-ecb\"]={key:8,iv:0},r[\"des-cbc\"]=r.des={key:8,iv:8},r[\"des-ede3-cbc\"]=r.des3={key:24,iv:8},r[\"des-ede3\"]={key:24,iv:0},r[\"des-ede-cbc\"]={key:16,iv:8},r[\"des-ede\"]={key:16,iv:0}},{}],209:[function(e,t,r){(function(r){(function(){\"use strict\";var n=e(\"bn.js\"),i=e(\"randombytes\");function s(e){var t,r=e.modulus.byteLength();do{t=new n(i(r))}while(t.cmp(e.modulus)>=0||!t.umod(e.prime1)||!t.umod(e.prime2));return t}function o(e,t){var i=function(e){var t=s(e);return{blinder:t.toRed(n.mont(e.modulus)).redPow(new n(e.publicExponent)).fromRed(),unblinder:t.invm(e.modulus)}}(t),o=t.modulus.byteLength(),a=new n(e).mul(i.blinder).umod(t.modulus),l=a.toRed(n.mont(t.prime1)),c=a.toRed(n.mont(t.prime2)),u=t.coefficient,h=t.prime1,f=t.prime2,d=l.redPow(t.exponent1).fromRed(),p=c.redPow(t.exponent2).fromRed(),m=d.isub(p).imul(u).umod(h).imul(f);return p.iadd(m).imul(i.unblinder).umod(t.modulus).toArrayLike(r,\"be\",o)}o.getr=s,t.exports=o}).call(this)}).call(this,e(\"buffer\").Buffer)},{\"bn.js\":186,buffer:220,randombytes:475}],210:[function(e,t,r){\"use strict\";t.exports=e(\"./browser/algorithms.json\")},{\"./browser/algorithms.json\":211}],211:[function(e,t,r){t.exports={sha224WithRSAEncryption:{sign:\"rsa\",hash:\"sha224\",id:\"302d300d06096086480165030402040500041c\"},\"RSA-SHA224\":{sign:\"ecdsa/rsa\",hash:\"sha224\",id:\"302d300d06096086480165030402040500041c\"},sha256WithRSAEncryption:{sign:\"rsa\",hash:\"sha256\",id:\"3031300d060960864801650304020105000420\"},\"RSA-SHA256\":{sign:\"ecdsa/rsa\",hash:\"sha256\",id:\"3031300d060960864801650304020105000420\"},sha384WithRSAEncryption:{sign:\"rsa\",hash:\"sha384\",id:\"3041300d060960864801650304020205000430\"},\"RSA-SHA384\":{sign:\"ecdsa/rsa\",hash:\"sha384\",id:\"3041300d060960864801650304020205000430\"},sha512WithRSAEncryption:{sign:\"rsa\",hash:\"sha512\",id:\"3051300d060960864801650304020305000440\"},\"RSA-SHA512\":{sign:\"ecdsa/rsa\",hash:\"sha512\",id:\"3051300d060960864801650304020305000440\"},\"RSA-SHA1\":{sign:\"rsa\",hash:\"sha1\",id:\"3021300906052b0e03021a05000414\"},\"ecdsa-with-SHA1\":{sign:\"ecdsa\",hash:\"sha1\",id:\"\"},sha256:{sign:\"ecdsa\",hash:\"sha256\",id:\"\"},sha224:{sign:\"ecdsa\",hash:\"sha224\",id:\"\"},sha384:{sign:\"ecdsa\",hash:\"sha384\",id:\"\"},sha512:{sign:\"ecdsa\",hash:\"sha512\",id:\"\"},\"DSA-SHA\":{sign:\"dsa\",hash:\"sha1\",id:\"\"},\"DSA-SHA1\":{sign:\"dsa\",hash:\"sha1\",id:\"\"},DSA:{sign:\"dsa\",hash:\"sha1\",id:\"\"},\"DSA-WITH-SHA224\":{sign:\"dsa\",hash:\"sha224\",id:\"\"},\"DSA-SHA224\":{sign:\"dsa\",hash:\"sha224\",id:\"\"},\"DSA-WITH-SHA256\":{sign:\"dsa\",hash:\"sha256\",id:\"\"},\"DSA-SHA256\":{sign:\"dsa\",hash:\"sha256\",id:\"\"},\"DSA-WITH-SHA384\":{sign:\"dsa\",hash:\"sha384\",id:\"\"},\"DSA-SHA384\":{sign:\"dsa\",hash:\"sha384\",id:\"\"},\"DSA-WITH-SHA512\":{sign:\"dsa\",hash:\"sha512\",id:\"\"},\"DSA-SHA512\":{sign:\"dsa\",hash:\"sha512\",id:\"\"},\"DSA-RIPEMD160\":{sign:\"dsa\",hash:\"rmd160\",id:\"\"},ripemd160WithRSA:{sign:\"rsa\",hash:\"rmd160\",id:\"3021300906052b2403020105000414\"},\"RSA-RIPEMD160\":{sign:\"rsa\",hash:\"rmd160\",id:\"3021300906052b2403020105000414\"},md5WithRSAEncryption:{sign:\"rsa\",hash:\"md5\",id:\"3020300c06082a864886f70d020505000410\"},\"RSA-MD5\":{sign:\"rsa\",hash:\"md5\",id:\"3020300c06082a864886f70d020505000410\"}}},{}],212:[function(e,t,r){t.exports={\"1.3.132.0.10\":\"secp256k1\",\"1.3.132.0.33\":\"p224\",\"1.2.840.10045.3.1.1\":\"p192\",\"1.2.840.10045.3.1.7\":\"p256\",\"1.3.132.0.34\":\"p384\",\"1.3.132.0.35\":\"p521\"}},{}],213:[function(e,t,r){\"use strict\";var n=e(\"safe-buffer\").Buffer,i=e(\"create-hash\"),s=e(\"readable-stream\"),o=e(\"inherits\"),a=e(\"./sign\"),l=e(\"./verify\"),c=e(\"./algorithms.json\");function u(e){s.Writable.call(this);var t=c[e];if(!t)throw new Error(\"Unknown message digest\");this._hashType=t.hash,this._hash=i(t.hash),this._tag=t.id,this._signType=t.sign}function h(e){s.Writable.call(this);var t=c[e];if(!t)throw new Error(\"Unknown message digest\");this._hash=i(t.hash),this._tag=t.id,this._signType=t.sign}function f(e){return new u(e)}function d(e){return new h(e)}Object.keys(c).forEach((function(e){c[e].id=n.from(c[e].id,\"hex\"),c[e.toLowerCase()]=c[e]})),o(u,s.Writable),u.prototype._write=function(e,t,r){this._hash.update(e),r()},u.prototype.update=function(e,t){return\"string\"==typeof e&&(e=n.from(e,t)),this._hash.update(e),this},u.prototype.sign=function(e,t){this.end();var r=this._hash.digest(),n=a(r,e,this._hashType,this._signType,this._tag);return t?n.toString(t):n},o(h,s.Writable),h.prototype._write=function(e,t,r){this._hash.update(e),r()},h.prototype.update=function(e,t){return\"string\"==typeof e&&(e=n.from(e,t)),this._hash.update(e),this},h.prototype.verify=function(e,t,r){\"string\"==typeof t&&(t=n.from(t,r)),this.end();var i=this._hash.digest();return l(t,i,e,this._signType,this._tag)},t.exports={Sign:f,Verify:d,createSign:f,createVerify:d}},{\"./algorithms.json\":211,\"./sign\":214,\"./verify\":215,\"create-hash\":386,inherits:440,\"readable-stream\":491,\"safe-buffer\":494}],214:[function(e,t,r){\"use strict\";var n=e(\"safe-buffer\").Buffer,i=e(\"create-hmac\"),s=e(\"browserify-rsa\"),o=e(\"elliptic\").ec,a=e(\"bn.js\"),l=e(\"parse-asn1\"),c=e(\"./curves.json\");function u(e,t,r,s){if((e=n.from(e.toArray())).length<t.byteLength()){var o=n.alloc(t.byteLength()-e.length);e=n.concat([o,e])}var a=r.length,l=function(e,t){e=(e=h(e,t)).mod(t);var r=n.from(e.toArray());if(r.length<t.byteLength()){var i=n.alloc(t.byteLength()-r.length);r=n.concat([i,r])}return r}(r,t),c=n.alloc(a);c.fill(1);var u=n.alloc(a);return u=i(s,u).update(c).update(n.from([0])).update(e).update(l).digest(),c=i(s,u).update(c).digest(),{k:u=i(s,u).update(c).update(n.from([1])).update(e).update(l).digest(),v:c=i(s,u).update(c).digest()}}function h(e,t){var r=new a(e),n=(e.length<<3)-t.bitLength();return n>0&&r.ishrn(n),r}function f(e,t,r){var s,o;do{for(s=n.alloc(0);8*s.length<e.bitLength();)t.v=i(r,t.k).update(t.v).digest(),s=n.concat([s,t.v]);o=h(s,e),t.k=i(r,t.k).update(t.v).update(n.from([0])).digest(),t.v=i(r,t.k).update(t.v).digest()}while(-1!==o.cmp(e));return o}function d(e,t,r,n){return e.toRed(a.mont(r)).redPow(t).fromRed().mod(n)}t.exports=function(e,t,r,i,p){var m=l(t);if(m.curve){if(\"ecdsa\"!==i&&\"ecdsa/rsa\"!==i)throw new Error(\"wrong private key type\");return function(e,t){var r=c[t.curve.join(\".\")];if(!r)throw new Error(\"unknown curve \"+t.curve.join(\".\"));var i=new o(r).keyFromPrivate(t.privateKey).sign(e);return n.from(i.toDER())}(e,m)}if(\"dsa\"===m.type){if(\"dsa\"!==i)throw new Error(\"wrong private key type\");return function(e,t,r){var i,s=t.params.priv_key,o=t.params.p,l=t.params.q,c=t.params.g,p=new a(0),m=h(e,l).mod(l),b=!1,g=u(s,l,e,r);for(;!1===b;)i=f(l,g,r),p=d(c,i,o,l),0===(b=i.invm(l).imul(m.add(s.mul(p))).mod(l)).cmpn(0)&&(b=!1,p=new a(0));return function(e,t){e=e.toArray(),t=t.toArray(),128&e[0]&&(e=[0].concat(e));128&t[0]&&(t=[0].concat(t));var r=[48,e.length+t.length+4,2,e.length];return r=r.concat(e,[2,t.length],t),n.from(r)}(p,b)}(e,m,r)}if(\"rsa\"!==i&&\"ecdsa/rsa\"!==i)throw new Error(\"wrong private key type\");e=n.concat([p,e]);for(var b=m.modulus.byteLength(),g=[0,1];e.length+g.length+1<b;)g.push(255);g.push(0);for(var y=-1;++y<e.length;)g.push(e[y]);return s(g,m)},t.exports.getKey=u,t.exports.makeKey=f},{\"./curves.json\":212,\"bn.js\":186,\"browserify-rsa\":209,\"create-hmac\":388,elliptic:405,\"parse-asn1\":459,\"safe-buffer\":494}],215:[function(e,t,r){\"use strict\";var n=e(\"safe-buffer\").Buffer,i=e(\"bn.js\"),s=e(\"elliptic\").ec,o=e(\"parse-asn1\"),a=e(\"./curves.json\");function l(e,t){if(e.cmpn(0)<=0)throw new Error(\"invalid sig\");if(e.cmp(t)>=t)throw new Error(\"invalid sig\")}t.exports=function(e,t,r,c,u){var h=o(r);if(\"ec\"===h.type){if(\"ecdsa\"!==c&&\"ecdsa/rsa\"!==c)throw new Error(\"wrong public key type\");return function(e,t,r){var n=a[r.data.algorithm.curve.join(\".\")];if(!n)throw new Error(\"unknown curve \"+r.data.algorithm.curve.join(\".\"));var i=new s(n),o=r.data.subjectPrivateKey.data;return i.verify(t,e,o)}(e,t,h)}if(\"dsa\"===h.type){if(\"dsa\"!==c)throw new Error(\"wrong public key type\");return function(e,t,r){var n=r.data.p,s=r.data.q,a=r.data.g,c=r.data.pub_key,u=o.signature.decode(e,\"der\"),h=u.s,f=u.r;l(h,s),l(f,s);var d=i.mont(n),p=h.invm(s);return 0===a.toRed(d).redPow(new i(t).mul(p).mod(s)).fromRed().mul(c.toRed(d).redPow(f.mul(p).mod(s)).fromRed()).mod(n).mod(s).cmp(f)}(e,t,h)}if(\"rsa\"!==c&&\"ecdsa/rsa\"!==c)throw new Error(\"wrong public key type\");t=n.concat([u,t]);for(var f=h.modulus.byteLength(),d=[1],p=0;t.length+d.length+2<f;)d.push(255),p++;d.push(0);for(var m=-1;++m<t.length;)d.push(t[m]);d=n.from(d);var b=i.mont(h.modulus);e=(e=new i(e).toRed(b)).redPow(new i(h.publicExponent)),e=n.from(e.fromRed().toArray());var g=p<8?1:0;for(f=Math.min(e.length,d.length),e.length!==d.length&&(g=1),m=-1;++m<f;)g|=e[m]^d[m];return 0===g}},{\"./curves.json\":212,\"bn.js\":186,elliptic:405,\"parse-asn1\":459,\"safe-buffer\":494}],216:[function(e,t,r){},{}],217:[function(e,t,r){\"use strict\";var n=e(\"buffer\"),i=n.Buffer;function s(e,t){for(var r in e)t[r]=e[r]}function o(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(s(n,r),r.Buffer=o),s(i,o),o.from=function(e,t,r){if(\"number\"==typeof e)throw new TypeError(\"Argument must not be a number\");return i(e,t,r)},o.alloc=function(e,t,r){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");var n=i(e);return void 0!==t?\"string\"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},o.allocUnsafe=function(e){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");return i(e)},o.allocUnsafeSlow=function(e){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");return n.SlowBuffer(e)}},{buffer:220}],218:[function(e,t,r){\"use strict\";var n=e(\"safe-buffer\").Buffer,i=n.isEncoding||function(e){switch((e=\"\"+e)&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function s(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return\"utf8\";for(var t;;)switch(e){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return e;default:if(t)return;e=(\"\"+e).toLowerCase(),t=!0}}(e);if(\"string\"!=typeof t&&(n.isEncoding===i||!i(e)))throw new Error(\"Unknown encoding: \"+e);return t||e}(e),this.encoding){case\"utf16le\":this.text=l,this.end=c,t=4;break;case\"utf8\":this.fillLast=a,t=4;break;case\"base64\":this.text=u,this.end=h,t=3;break;default:return this.write=f,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(t)}function o(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,\"\\ufffd\";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,\"\\ufffd\";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,\"\\ufffd\"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2==0){var r=e.toString(\"utf16le\",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString(\"utf16le\",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString(\"utf16le\",0,r)}return t}function u(e,t){var r=(e.length-t)%3;return 0===r?e.toString(\"base64\",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString(\"base64\",t,e.length-r))}function h(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+this.lastChar.toString(\"base64\",0,3-this.lastNeed):t}function f(e){return e.toString(this.encoding)}function d(e){return e&&e.length?this.write(e):\"\"}r.StringDecoder=s,s.prototype.write=function(e){if(0===e.length)return\"\";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return\"\";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||\"\"},s.prototype.end=function(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+\"\\ufffd\":t},s.prototype.text=function(e,t){var r=function(e,t,r){var n=t.length-1;if(n<r)return 0;var i=o(t[n]);if(i>=0)return i>0&&(e.lastNeed=i-1),i;if(--n<r||-2===i)return 0;if((i=o(t[n]))>=0)return i>0&&(e.lastNeed=i-2),i;if(--n<r||-2===i)return 0;if((i=o(t[n]))>=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString(\"utf8\",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString(\"utf8\",t,n)},s.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},{\"safe-buffer\":217}],219:[function(e,t,r){(function(e){(function(){\"use strict\";t.exports=function(t,r){for(var n=Math.min(t.length,r.length),i=new e(n),s=0;s<n;++s)i[s]=t[s]^r[s];return i}}).call(this)}).call(this,e(\"buffer\").Buffer)},{buffer:220}],220:[function(e,t,r){(function(t){(function(){\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\"use strict\";var t=e(\"base64-js\"),n=e(\"ieee754\");r.Buffer=s,r.SlowBuffer=function(e){+e!=e&&(e=0);return s.alloc(+e)},r.INSPECT_MAX_BYTES=50;function i(e){if(e>2147483647)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"');var t=new Uint8Array(e);return t.__proto__=s.prototype,t}function s(e,t,r){if(\"number\"==typeof e){if(\"string\"==typeof t)throw new TypeError('The \"string\" argument must be of type string. Received type number');return l(e)}return o(e,t,r)}function o(e,t,r){if(\"string\"==typeof e)return function(e,t){\"string\"==typeof t&&\"\"!==t||(t=\"utf8\");if(!s.isEncoding(t))throw new TypeError(\"Unknown encoding: \"+t);var r=0|h(e,t),n=i(r),o=n.write(e,t);o!==r&&(n=n.slice(0,o));return n}(e,t);if(ArrayBuffer.isView(e))return c(e);if(null==e)throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e);if(F(e,ArrayBuffer)||e&&F(e.buffer,ArrayBuffer))return function(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('\"offset\" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');var n;n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r);return n.__proto__=s.prototype,n}(e,t,r);if(\"number\"==typeof e)throw new TypeError('The \"value\" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return s.from(n,t,r);var o=function(e){if(s.isBuffer(e)){var t=0|u(e.length),r=i(t);return 0===r.length||e.copy(r,0,0,t),r}if(void 0!==e.length)return\"number\"!=typeof e.length||L(e.length)?i(0):c(e);if(\"Buffer\"===e.type&&Array.isArray(e.data))return c(e.data)}(e);if(o)return o;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof e[Symbol.toPrimitive])return s.from(e[Symbol.toPrimitive](\"string\"),t,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e)}function a(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be of type number');if(e<0)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"')}function l(e){return a(e),i(e<0?0:0|u(e))}function c(e){for(var t=e.length<0?0:0|u(e.length),r=i(t),n=0;n<t;n+=1)r[n]=255&e[n];return r}function u(e){if(e>=2147483647)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+2147483647..toString(16)+\" bytes\");return 0|e}function h(e,t){if(s.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||F(e,ArrayBuffer))return e.byteLength;if(\"string\"!=typeof e)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return P(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return B(e).length;default:if(i)return n?-1:P(e).length;t=(\"\"+t).toLowerCase(),i=!0}}function f(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return C(this,t,r);case\"utf8\":case\"utf-8\":return k(this,t,r);case\"ascii\":return S(this,t,r);case\"latin1\":case\"binary\":return M(this,t,r);case\"base64\":return x(this,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return T(this,t,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),n=!0}}function d(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function p(e,t,r,n,i){if(0===e.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),L(r=+r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof t&&(t=s.from(t,n)),s.isBuffer(t))return 0===t.length?-1:m(e,t,r,n,i);if(\"number\"==typeof t)return t&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):m(e,[t],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function m(e,t,r,n,i){var s,o=1,a=e.length,l=t.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,r/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(s=r;s<a;s++)if(c(e,s)===c(t,-1===u?0:s-u)){if(-1===u&&(u=s),s-u+1===l)return u*o}else-1!==u&&(s-=s-u),u=-1}else for(r+l>a&&(r=a-l),s=r;s>=0;s--){for(var h=!0,f=0;f<l;f++)if(c(e,s+f)!==c(t,f)){h=!1;break}if(h)return s}return-1}function b(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n))>i&&(n=i):n=i;var s=t.length;n>s/2&&(n=s/2);for(var o=0;o<n;++o){var a=parseInt(t.substr(2*o,2),16);if(L(a))return o;e[r+o]=a}return o}function g(e,t,r,n){return D(P(t,e.length-r),e,r,n)}function y(e,t,r,n){return D(function(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,n)}function v(e,t,r,n){return y(e,t,r,n)}function w(e,t,r,n){return D(B(t),e,r,n)}function _(e,t,r,n){return D(function(e,t){for(var r,n,i,s=[],o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),n=r>>8,i=r%256,s.push(i),s.push(n);return s}(t,e.length-r),e,r,n)}function x(e,r,n){return 0===r&&n===e.length?t.fromByteArray(e):t.fromByteArray(e.slice(r,n))}function k(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i<r;){var s,o,a,l,c=e[i],u=null,h=c>239?4:c>223?3:c>191?2:1;if(i+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(s=e[i+1]))&&(l=(31&c)<<6|63&s)>127&&(u=l);break;case 3:s=e[i+1],o=e[i+2],128==(192&s)&&128==(192&o)&&(l=(15&c)<<12|(63&s)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:s=e[i+1],o=e[i+2],a=e[i+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&(l=(15&c)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=h}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var r=\"\",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=4096));return r}(n)}r.kMaxLength=2147483647,s.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(e){return!1}}(),s.TYPED_ARRAY_SUPPORT||\"undefined\"==typeof console||\"function\"!=typeof console.error||console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\"),Object.defineProperty(s.prototype,\"parent\",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,\"offset\",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}}),\"undefined\"!=typeof Symbol&&null!=Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),s.poolSize=8192,s.from=function(e,t,r){return o(e,t,r)},s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,s.alloc=function(e,t,r){return function(e,t,r){return a(e),e<=0?i(e):void 0!==t?\"string\"==typeof r?i(e).fill(t,r):i(e).fill(t):i(e)}(e,t,r)},s.allocUnsafe=function(e){return l(e)},s.allocUnsafeSlow=function(e){return l(e)},s.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==s.prototype},s.compare=function(e,t){if(F(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),F(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),!s.isBuffer(e)||!s.isBuffer(t))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,n=t.length,i=0,o=Math.min(r,n);i<o;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0},s.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},s.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return s.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=s.allocUnsafe(t),i=0;for(r=0;r<e.length;++r){var o=e[r];if(F(o,Uint8Array)&&(o=s.from(o)),!s.isBuffer(o))throw new TypeError('\"list\" argument must be an Array of Buffers');o.copy(n,i),i+=o.length}return n},s.byteLength=h,s.prototype._isBuffer=!0,s.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var t=0;t<e;t+=2)d(this,t,t+1);return this},s.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var t=0;t<e;t+=4)d(this,t,t+3),d(this,t+1,t+2);return this},s.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var t=0;t<e;t+=8)d(this,t,t+7),d(this,t+1,t+6),d(this,t+2,t+5),d(this,t+3,t+4);return this},s.prototype.toString=function(){var e=this.length;return 0===e?\"\":0===arguments.length?k(this,0,e):f.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(e){if(!s.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===s.compare(this,e)},s.prototype.inspect=function(){var e=\"\",t=r.INSPECT_MAX_BYTES;return e=this.toString(\"hex\",0,t).replace(/(.{2})/g,\"$1 \").trim(),this.length>t&&(e+=\" ... \"),\"<Buffer \"+e+\">\"},s.prototype.compare=function(e,t,r,n,i){if(F(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),!s.isBuffer(e))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),l=Math.min(o,a),c=this.slice(n,i),u=e.slice(t,r),h=0;h<l;++h)if(c[h]!==u[h]){o=c[h],a=u[h];break}return o<a?-1:a<o?1:0},s.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},s.prototype.indexOf=function(e,t,r){return p(this,e,t,r,!0)},s.prototype.lastIndexOf=function(e,t,r){return p(this,e,t,r,!1)},s.prototype.write=function(e,t,r,n){if(void 0===t)n=\"utf8\",r=this.length,t=0;else if(void 0===r&&\"string\"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var s=!1;;)switch(n){case\"hex\":return b(this,e,t,r);case\"utf8\":case\"utf-8\":return g(this,e,t,r);case\"ascii\":return y(this,e,t,r);case\"latin1\":case\"binary\":return v(this,e,t,r);case\"base64\":return w(this,e,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return _(this,e,t,r);default:if(s)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),s=!0}},s.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function S(e,t,r){var n=\"\";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(127&e[i]);return n}function M(e,t,r){var n=\"\";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function C(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i=\"\",s=t;s<r;++s)i+=N(e[s]);return i}function T(e,t,r){for(var n=e.slice(t,r),i=\"\",s=0;s<n.length;s+=2)i+=String.fromCharCode(n[s]+256*n[s+1]);return i}function E(e,t,r){if(e%1!=0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>r)throw new RangeError(\"Trying to access beyond buffer length\")}function A(e,t,r,n,i,o){if(!s.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('\"value\" argument is out of bounds');if(r+n>e.length)throw new RangeError(\"Index out of range\")}function R(e,t,r,n,i,s){if(r+n>e.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function O(e,t,r,i,s){return t=+t,r>>>=0,s||R(e,0,r,4),n.write(e,t,r,i,23,4),r+4}function j(e,t,r,i,s){return t=+t,r>>>=0,s||R(e,0,r,8),n.write(e,t,r,i,52,8),r+8}s.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);var n=this.subarray(e,t);return n.__proto__=s.prototype,n},s.prototype.readUIntLE=function(e,t,r){e>>>=0,t>>>=0,r||E(e,t,this.length);for(var n=this[e],i=1,s=0;++s<t&&(i*=256);)n+=this[e+s]*i;return n},s.prototype.readUIntBE=function(e,t,r){e>>>=0,t>>>=0,r||E(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},s.prototype.readUInt8=function(e,t){return e>>>=0,t||E(e,1,this.length),this[e]},s.prototype.readUInt16LE=function(e,t){return e>>>=0,t||E(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUInt16BE=function(e,t){return e>>>=0,t||E(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUInt32LE=function(e,t){return e>>>=0,t||E(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},s.prototype.readUInt32BE=function(e,t){return e>>>=0,t||E(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||E(e,t,this.length);for(var n=this[e],i=1,s=0;++s<t&&(i*=256);)n+=this[e+s]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*t)),n},s.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||E(e,t,this.length);for(var n=t,i=1,s=this[e+--n];n>0&&(i*=256);)s+=this[e+--n]*i;return s>=(i*=128)&&(s-=Math.pow(2,8*t)),s},s.prototype.readInt8=function(e,t){return e>>>=0,t||E(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},s.prototype.readInt16LE=function(e,t){e>>>=0,t||E(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(e,t){e>>>=0,t||E(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(e,t){return e>>>=0,t||E(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,t){return e>>>=0,t||E(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readFloatLE=function(e,t){return e>>>=0,t||E(e,4,this.length),n.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return e>>>=0,t||E(e,4,this.length),n.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return e>>>=0,t||E(e,8,this.length),n.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return e>>>=0,t||E(e,8,this.length),n.read(this,e,!1,52,8)},s.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t>>>=0,r>>>=0,n)||A(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,s=0;for(this[t]=255&e;++s<r&&(i*=256);)this[t+s]=e/i&255;return t+r},s.prototype.writeUIntBE=function(e,t,r,n){(e=+e,t>>>=0,r>>>=0,n)||A(this,e,t,r,Math.pow(2,8*r)-1,0);var i=r-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+r},s.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||A(this,e,t,1,255,0),this[t]=255&e,t+1},s.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||A(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},s.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||A(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},s.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||A(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},s.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||A(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},s.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);A(this,e,t,r,i-1,-i)}var s=0,o=1,a=0;for(this[t]=255&e;++s<r&&(o*=256);)e<0&&0===a&&0!==this[t+s-1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+r},s.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);A(this,e,t,r,i-1,-i)}var s=r-1,o=1,a=0;for(this[t+s]=255&e;--s>=0&&(o*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+r},s.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||A(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},s.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||A(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},s.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||A(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},s.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||A(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},s.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||A(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},s.prototype.writeFloatLE=function(e,t,r){return O(this,e,t,!0,r)},s.prototype.writeFloatBE=function(e,t,r){return O(this,e,t,!1,r)},s.prototype.writeDoubleLE=function(e,t,r){return j(this,e,t,!0,r)},s.prototype.writeDoubleBE=function(e,t,r){return j(this,e,t,!1,r)},s.prototype.copy=function(e,t,r,n){if(!s.isBuffer(e))throw new TypeError(\"argument should be a Buffer\");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(r<0||r>=this.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var i=n-r;if(this===e&&\"function\"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(t,r,n);else if(this===e&&r<t&&t<n)for(var o=i-1;o>=0;--o)e[o+t]=this[o+r];else Uint8Array.prototype.set.call(e,this.subarray(r,n),t);return i},s.prototype.fill=function(e,t,r,n){if(\"string\"==typeof e){if(\"string\"==typeof t?(n=t,t=0,r=this.length):\"string\"==typeof r&&(n=r,r=this.length),void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!s.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n);if(1===e.length){var i=e.charCodeAt(0);(\"utf8\"===n&&i<128||\"latin1\"===n)&&(e=i)}}else\"number\"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError(\"Out of range index\");if(r<=t)return this;var o;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),\"number\"==typeof e)for(o=t;o<r;++o)this[o]=e;else{var a=s.isBuffer(e)?e:s.from(e,n),l=a.length;if(0===l)throw new TypeError('The value \"'+e+'\" is invalid for argument \"value\"');for(o=0;o<r-t;++o)this[o+t]=a[o%l]}return this};var I=/[^+/0-9A-Za-z-_]/g;function N(e){return e<16?\"0\"+e.toString(16):e.toString(16)}function P(e,t){var r;t=t||1/0;for(var n=e.length,i=null,s=[],o=0;o<n;++o){if((r=e.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function B(e){return t.toByteArray(function(e){if((e=(e=e.split(\"=\")[0]).trim().replace(I,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function D(e,t,r,n){for(var i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function F(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function L(e){return e!=e}}).call(this)}).call(this,e(\"buffer\").Buffer)},{\"base64-js\":185,buffer:220,ieee754:439}],221:[function(e,t,r){\"use strict\";var n=e(\"safe-buffer\").Buffer,i=e(\"stream\").Transform,s=e(\"string_decoder\").StringDecoder;function o(e){i.call(this),this.hashMode=\"string\"==typeof e,this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}e(\"inherits\")(o,i),o.prototype.update=function(e,t,r){\"string\"==typeof e&&(e=n.from(e,t));var i=this._update(e);return this.hashMode?this:(r&&(i=this._toString(i,r)),i)},o.prototype.setAutoPadding=function(){},o.prototype.getAuthTag=function(){throw new Error(\"trying to get auth tag in unsupported state\")},o.prototype.setAuthTag=function(){throw new Error(\"trying to set auth tag in unsupported state\")},o.prototype.setAAD=function(){throw new Error(\"trying to set aad in unsupported state\")},o.prototype._transform=function(e,t,r){var n;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(e){n=e}finally{r(n)}},o.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(e){t=e}e(t)},o.prototype._finalOrDigest=function(e){var t=this.__final()||n.alloc(0);return e&&(t=this._toString(t,e,!0)),t},o.prototype._toString=function(e,t,r){if(this._decoder||(this._decoder=new s(t),this._encoding=t),this._encoding!==t)throw new Error(\"can't switch encodings\");var n=this._decoder.write(e);return r&&(n+=this._decoder.end()),n},t.exports=o},{inherits:440,\"safe-buffer\":494,stream:505,string_decoder:218}],222:[function(e,t,r){\"use strict\";var n=e(\"../internals/is-callable\"),i=e(\"../internals/try-to-string\"),s=TypeError;t.exports=function(e){if(n(e))return e;throw new s(i(e)+\" is not a function\")}},{\"../internals/is-callable\":285,\"../internals/try-to-string\":349}],223:[function(e,t,r){\"use strict\";var n=e(\"../internals/is-constructor\"),i=e(\"../internals/try-to-string\"),s=TypeError;t.exports=function(e){if(n(e))return e;throw new s(i(e)+\" is not a constructor\")}},{\"../internals/is-constructor\":286,\"../internals/try-to-string\":349}],224:[function(e,t,r){\"use strict\";var n=e(\"../internals/is-callable\"),i=String,s=TypeError;t.exports=function(e){if(\"object\"==typeof e||n(e))return e;throw new s(\"Can't set \"+i(e)+\" as a prototype\")}},{\"../internals/is-callable\":285}],225:[function(e,t,r){\"use strict\";var n=e(\"../internals/well-known-symbol\"),i=e(\"../internals/object-create\"),s=e(\"../internals/object-define-property\").f,o=n(\"unscopables\"),a=Array.prototype;void 0===a[o]&&s(a,o,{configurable:!0,value:i(null)}),t.exports=function(e){a[o][e]=!0}},{\"../internals/object-create\":306,\"../internals/object-define-property\":308,\"../internals/well-known-symbol\":357}],226:[function(e,t,r){\"use strict\";var n=e(\"../internals/object-is-prototype-of\"),i=TypeError;t.exports=function(e,t){if(n(t,e))return e;throw new i(\"Incorrect invocation\")}},{\"../internals/object-is-prototype-of\":314}],227:[function(e,t,r){\"use strict\";var n=e(\"../internals/is-object\"),i=String,s=TypeError;t.exports=function(e){if(n(e))return e;throw new s(i(e)+\" is not an object\")}},{\"../internals/is-object\":289}],228:[function(e,t,r){\"use strict\";var n=e(\"../internals/to-indexed-object\"),i=e(\"../internals/to-absolute-index\"),s=e(\"../internals/length-of-array-like\"),o=function(e){return function(t,r,o){var a,l=n(t),c=s(l),u=i(o,c);if(e&&r!=r){for(;c>u;)if((a=l[u++])!=a)return!0}else for(;c>u;u++)if((e||u in l)&&l[u]===r)return e||u||0;return!e&&-1}};t.exports={includes:o(!0),indexOf:o(!1)}},{\"../internals/length-of-array-like\":299,\"../internals/to-absolute-index\":340,\"../internals/to-indexed-object\":341}],229:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-bind-context\"),i=e(\"../internals/function-uncurry-this\"),s=e(\"../internals/indexed-object\"),o=e(\"../internals/to-object\"),a=e(\"../internals/length-of-array-like\"),l=e(\"../internals/array-species-create\"),c=i([].push),u=function(e){var t=1===e,r=2===e,i=3===e,u=4===e,h=6===e,f=7===e,d=5===e||h;return function(p,m,b,g){for(var y,v,w=o(p),_=s(w),x=n(m,b),k=a(_),S=0,M=g||l,C=t?M(p,k):r||f?M(p,0):void 0;k>S;S++)if((d||S in _)&&(v=x(y=_[S],S,w),e))if(t)C[S]=v;else if(v)switch(e){case 3:return!0;case 5:return y;case 6:return S;case 2:c(C,y)}else switch(e){case 4:return!1;case 7:c(C,y)}return h?-1:i||u?u:C}};t.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6),filterReject:u(7)}},{\"../internals/array-species-create\":233,\"../internals/function-bind-context\":262,\"../internals/function-uncurry-this\":268,\"../internals/indexed-object\":280,\"../internals/length-of-array-like\":299,\"../internals/to-object\":344}],230:[function(e,t,r){\"use strict\";var n=e(\"../internals/to-absolute-index\"),i=e(\"../internals/length-of-array-like\"),s=e(\"../internals/create-property\"),o=Array,a=Math.max;t.exports=function(e,t,r){for(var l=i(e),c=n(t,l),u=n(void 0===r?l:r,l),h=o(a(u-c,0)),f=0;c<u;c++,f++)s(h,f,e[c]);return h.length=f,h}},{\"../internals/create-property\":243,\"../internals/length-of-array-like\":299,\"../internals/to-absolute-index\":340}],231:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-uncurry-this\");t.exports=n([].slice)},{\"../internals/function-uncurry-this\":268}],232:[function(e,t,r){\"use strict\";var n=e(\"../internals/is-array\"),i=e(\"../internals/is-constructor\"),s=e(\"../internals/is-object\"),o=e(\"../internals/well-known-symbol\")(\"species\"),a=Array;t.exports=function(e){var t;return n(e)&&(t=e.constructor,(i(t)&&(t===a||n(t.prototype))||s(t)&&null===(t=t[o]))&&(t=void 0)),void 0===t?a:t}},{\"../internals/is-array\":284,\"../internals/is-constructor\":286,\"../internals/is-object\":289,\"../internals/well-known-symbol\":357}],233:[function(e,t,r){\"use strict\";var n=e(\"../internals/array-species-constructor\");t.exports=function(e,t){return new(n(e))(0===t?0:t)}},{\"../internals/array-species-constructor\":232}],234:[function(e,t,r){\"use strict\";var n=e(\"../internals/well-known-symbol\")(\"iterator\"),i=!1;try{var s=0,o={next:function(){return{done:!!s++}},return:function(){i=!0}};o[n]=function(){return this},Array.from(o,(function(){throw 2}))}catch(e){}t.exports=function(e,t){try{if(!t&&!i)return!1}catch(e){return!1}var r=!1;try{var s={};s[n]=function(){return{next:function(){return{done:r=!0}}}},e(s)}catch(e){}return r}},{\"../internals/well-known-symbol\":357}],235:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-uncurry-this\"),i=n({}.toString),s=n(\"\".slice);t.exports=function(e){return s(i(e),8,-1)}},{\"../internals/function-uncurry-this\":268}],236:[function(e,t,r){\"use strict\";var n=e(\"../internals/to-string-tag-support\"),i=e(\"../internals/is-callable\"),s=e(\"../internals/classof-raw\"),o=e(\"../internals/well-known-symbol\")(\"toStringTag\"),a=Object,l=\"Arguments\"===s(function(){return arguments}());t.exports=n?s:function(e){var t,r,n;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=a(e),o))?r:l?s(t):\"Object\"===(n=s(t))&&i(t.callee)?\"Arguments\":n}},{\"../internals/classof-raw\":235,\"../internals/is-callable\":285,\"../internals/to-string-tag-support\":347,\"../internals/well-known-symbol\":357}],237:[function(e,t,r){\"use strict\";var n=e(\"../internals/has-own-property\"),i=e(\"../internals/own-keys\"),s=e(\"../internals/object-get-own-property-descriptor\"),o=e(\"../internals/object-define-property\");t.exports=function(e,t,r){for(var a=i(t),l=o.f,c=s.f,u=0;u<a.length;u++){var h=a[u];n(e,h)||r&&n(r,h)||l(e,h,c(t,h))}}},{\"../internals/has-own-property\":275,\"../internals/object-define-property\":308,\"../internals/object-get-own-property-descriptor\":309,\"../internals/own-keys\":321}],238:[function(e,t,r){\"use strict\";var n=e(\"../internals/well-known-symbol\")(\"match\");t.exports=function(e){var t=/./;try{\"/./\"[e](t)}catch(r){try{return t[n]=!1,\"/./\"[e](t)}catch(e){}}return!1}},{\"../internals/well-known-symbol\":357}],239:[function(e,t,r){\"use strict\";var n=e(\"../internals/fails\");t.exports=!n((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},{\"../internals/fails\":260}],240:[function(e,t,r){\"use strict\";t.exports=function(e,t){return{value:e,done:t}}},{}],241:[function(e,t,r){\"use strict\";var n=e(\"../internals/descriptors\"),i=e(\"../internals/object-define-property\"),s=e(\"../internals/create-property-descriptor\");t.exports=n?function(e,t,r){return i.f(e,t,s(1,r))}:function(e,t,r){return e[t]=r,e}},{\"../internals/create-property-descriptor\":242,\"../internals/descriptors\":247,\"../internals/object-define-property\":308}],242:[function(e,t,r){\"use strict\";t.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},{}],243:[function(e,t,r){\"use strict\";var n=e(\"../internals/to-property-key\"),i=e(\"../internals/object-define-property\"),s=e(\"../internals/create-property-descriptor\");t.exports=function(e,t,r){var o=n(t);o in e?i.f(e,o,s(0,r)):e[o]=r}},{\"../internals/create-property-descriptor\":242,\"../internals/object-define-property\":308,\"../internals/to-property-key\":346}],244:[function(e,t,r){\"use strict\";var n=e(\"../internals/make-built-in\"),i=e(\"../internals/object-define-property\");t.exports=function(e,t,r){return r.get&&n(r.get,t,{getter:!0}),r.set&&n(r.set,t,{setter:!0}),i.f(e,t,r)}},{\"../internals/make-built-in\":300,\"../internals/object-define-property\":308}],245:[function(e,t,r){\"use strict\";var n=e(\"../internals/is-callable\"),i=e(\"../internals/object-define-property\"),s=e(\"../internals/make-built-in\"),o=e(\"../internals/define-global-property\");t.exports=function(e,t,r,a){a||(a={});var l=a.enumerable,c=void 0!==a.name?a.name:t;if(n(r)&&s(r,c,a),a.global)l?e[t]=r:o(t,r);else{try{a.unsafe?e[t]&&(l=!0):delete e[t]}catch(e){}l?e[t]=r:i.f(e,t,{value:r,enumerable:!1,configurable:!a.nonConfigurable,writable:!a.nonWritable})}return e}},{\"../internals/define-global-property\":246,\"../internals/is-callable\":285,\"../internals/make-built-in\":300,\"../internals/object-define-property\":308}],246:[function(e,t,r){\"use strict\";var n=e(\"../internals/global\"),i=Object.defineProperty;t.exports=function(e,t){try{i(n,e,{value:t,configurable:!0,writable:!0})}catch(r){n[e]=t}return t}},{\"../internals/global\":274}],247:[function(e,t,r){\"use strict\";var n=e(\"../internals/fails\");t.exports=!n((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},{\"../internals/fails\":260}],248:[function(e,t,r){\"use strict\";var n=\"object\"==typeof document&&document.all,i=void 0===n&&void 0!==n;t.exports={all:n,IS_HTMLDDA:i}},{}],249:[function(e,t,r){\"use strict\";var n=e(\"../internals/global\"),i=e(\"../internals/is-object\"),s=n.document,o=i(s)&&i(s.createElement);t.exports=function(e){return o?s.createElement(e):{}}},{\"../internals/global\":274,\"../internals/is-object\":289}],250:[function(e,t,r){\"use strict\";var n=e(\"../internals/engine-is-deno\"),i=e(\"../internals/engine-is-node\");t.exports=!n&&!i&&\"object\"==typeof window&&\"object\"==typeof document},{\"../internals/engine-is-deno\":251,\"../internals/engine-is-node\":254}],251:[function(e,t,r){\"use strict\";t.exports=\"object\"==typeof Deno&&Deno&&\"object\"==typeof Deno.version},{}],252:[function(e,t,r){\"use strict\";var n=e(\"../internals/engine-user-agent\");t.exports=/ipad|iphone|ipod/i.test(n)&&\"undefined\"!=typeof Pebble},{\"../internals/engine-user-agent\":256}],253:[function(e,t,r){\"use strict\";var n=e(\"../internals/engine-user-agent\");t.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(n)},{\"../internals/engine-user-agent\":256}],254:[function(e,t,r){\"use strict\";var n=e(\"../internals/global\"),i=e(\"../internals/classof-raw\");t.exports=\"process\"===i(n.process)},{\"../internals/classof-raw\":235,\"../internals/global\":274}],255:[function(e,t,r){\"use strict\";var n=e(\"../internals/engine-user-agent\");t.exports=/web0s(?!.*chrome)/i.test(n)},{\"../internals/engine-user-agent\":256}],256:[function(e,t,r){\"use strict\";t.exports=\"undefined\"!=typeof navigator&&String(navigator.userAgent)||\"\"},{}],257:[function(e,t,r){\"use strict\";var n,i,s=e(\"../internals/global\"),o=e(\"../internals/engine-user-agent\"),a=s.process,l=s.Deno,c=a&&a.versions||l&&l.version,u=c&&c.v8;u&&(i=(n=u.split(\".\"))[0]>0&&n[0]<4?1:+(n[0]+n[1])),!i&&o&&(!(n=o.match(/Edge\\/(\\d+)/))||n[1]>=74)&&(n=o.match(/Chrome\\/(\\d+)/))&&(i=+n[1]),t.exports=i},{\"../internals/engine-user-agent\":256,\"../internals/global\":274}],258:[function(e,t,r){\"use strict\";t.exports=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"]},{}],259:[function(e,t,r){\"use strict\";var n=e(\"../internals/global\"),i=e(\"../internals/object-get-own-property-descriptor\").f,s=e(\"../internals/create-non-enumerable-property\"),o=e(\"../internals/define-built-in\"),a=e(\"../internals/define-global-property\"),l=e(\"../internals/copy-constructor-properties\"),c=e(\"../internals/is-forced\");t.exports=function(e,t){var r,u,h,f,d,p=e.target,m=e.global,b=e.stat;if(r=m?n:b?n[p]||a(p,{}):(n[p]||{}).prototype)for(u in t){if(f=t[u],h=e.dontCallGetSet?(d=i(r,u))&&d.value:r[u],!c(m?u:p+(b?\".\":\"#\")+u,e.forced)&&void 0!==h){if(typeof f==typeof h)continue;l(f,h)}(e.sham||h&&h.sham)&&s(f,\"sham\",!0),o(r,u,f,e)}}},{\"../internals/copy-constructor-properties\":237,\"../internals/create-non-enumerable-property\":241,\"../internals/define-built-in\":245,\"../internals/define-global-property\":246,\"../internals/global\":274,\"../internals/is-forced\":287,\"../internals/object-get-own-property-descriptor\":309}],260:[function(e,t,r){\"use strict\";t.exports=function(e){try{return!!e()}catch(e){return!0}}},{}],261:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-bind-native\"),i=Function.prototype,s=i.apply,o=i.call;t.exports=\"object\"==typeof Reflect&&Reflect.apply||(n?o.bind(s):function(){return o.apply(s,arguments)})},{\"../internals/function-bind-native\":263}],262:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-uncurry-this-clause\"),i=e(\"../internals/a-callable\"),s=e(\"../internals/function-bind-native\"),o=n(n.bind);t.exports=function(e,t){return i(e),void 0===t?e:s?o(e,t):function(){return e.apply(t,arguments)}}},{\"../internals/a-callable\":222,\"../internals/function-bind-native\":263,\"../internals/function-uncurry-this-clause\":267}],263:[function(e,t,r){\"use strict\";var n=e(\"../internals/fails\");t.exports=!n((function(){var e=function(){}.bind();return\"function\"!=typeof e||e.hasOwnProperty(\"prototype\")}))},{\"../internals/fails\":260}],264:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-bind-native\"),i=Function.prototype.call;t.exports=n?i.bind(i):function(){return i.apply(i,arguments)}},{\"../internals/function-bind-native\":263}],265:[function(e,t,r){\"use strict\";var n=e(\"../internals/descriptors\"),i=e(\"../internals/has-own-property\"),s=Function.prototype,o=n&&Object.getOwnPropertyDescriptor,a=i(s,\"name\"),l=a&&\"something\"===function(){}.name,c=a&&(!n||n&&o(s,\"name\").configurable);t.exports={EXISTS:a,PROPER:l,CONFIGURABLE:c}},{\"../internals/descriptors\":247,\"../internals/has-own-property\":275}],266:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-uncurry-this\"),i=e(\"../internals/a-callable\");t.exports=function(e,t,r){try{return n(i(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(e){}}},{\"../internals/a-callable\":222,\"../internals/function-uncurry-this\":268}],267:[function(e,t,r){\"use strict\";var n=e(\"../internals/classof-raw\"),i=e(\"../internals/function-uncurry-this\");t.exports=function(e){if(\"Function\"===n(e))return i(e)}},{\"../internals/classof-raw\":235,\"../internals/function-uncurry-this\":268}],268:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-bind-native\"),i=Function.prototype,s=i.call,o=n&&i.bind.bind(s,s);t.exports=n?o:function(e){return function(){return s.apply(e,arguments)}}},{\"../internals/function-bind-native\":263}],269:[function(e,t,r){\"use strict\";var n=e(\"../internals/global\"),i=e(\"../internals/is-callable\"),s=function(e){return i(e)?e:void 0};t.exports=function(e,t){return arguments.length<2?s(n[e]):n[e]&&n[e][t]}},{\"../internals/global\":274,\"../internals/is-callable\":285}],270:[function(e,t,r){\"use strict\";var n=e(\"../internals/classof\"),i=e(\"../internals/get-method\"),s=e(\"../internals/is-null-or-undefined\"),o=e(\"../internals/iterators\"),a=e(\"../internals/well-known-symbol\")(\"iterator\");t.exports=function(e){if(!s(e))return i(e,a)||i(e,\"@@iterator\")||o[n(e)]}},{\"../internals/classof\":236,\"../internals/get-method\":273,\"../internals/is-null-or-undefined\":288,\"../internals/iterators\":298,\"../internals/well-known-symbol\":357}],271:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-call\"),i=e(\"../internals/a-callable\"),s=e(\"../internals/an-object\"),o=e(\"../internals/try-to-string\"),a=e(\"../internals/get-iterator-method\"),l=TypeError;t.exports=function(e,t){var r=arguments.length<2?a(e):t;if(i(r))return s(n(r,e));throw new l(o(e)+\" is not iterable\")}},{\"../internals/a-callable\":222,\"../internals/an-object\":227,\"../internals/function-call\":264,\"../internals/get-iterator-method\":270,\"../internals/try-to-string\":349}],272:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-uncurry-this\"),i=e(\"../internals/is-array\"),s=e(\"../internals/is-callable\"),o=e(\"../internals/classof-raw\"),a=e(\"../internals/to-string\"),l=n([].push);t.exports=function(e){if(s(e))return e;if(i(e)){for(var t=e.length,r=[],n=0;n<t;n++){var c=e[n];\"string\"==typeof c?l(r,c):\"number\"!=typeof c&&\"Number\"!==o(c)&&\"String\"!==o(c)||l(r,a(c))}var u=r.length,h=!0;return function(e,t){if(h)return h=!1,t;if(i(this))return t;for(var n=0;n<u;n++)if(r[n]===e)return t}}}},{\"../internals/classof-raw\":235,\"../internals/function-uncurry-this\":268,\"../internals/is-array\":284,\"../internals/is-callable\":285,\"../internals/to-string\":348}],273:[function(e,t,r){\"use strict\";var n=e(\"../internals/a-callable\"),i=e(\"../internals/is-null-or-undefined\");t.exports=function(e,t){var r=e[t];return i(r)?void 0:n(r)}},{\"../internals/a-callable\":222,\"../internals/is-null-or-undefined\":288}],274:[function(e,t,r){(function(e){(function(){\"use strict\";var r=function(e){return e&&e.Math===Math&&e};t.exports=r(\"object\"==typeof globalThis&&globalThis)||r(\"object\"==typeof window&&window)||r(\"object\"==typeof self&&self)||r(\"object\"==typeof e&&e)||function(){return this}()||this||Function(\"return this\")()}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],275:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-uncurry-this\"),i=e(\"../internals/to-object\"),s=n({}.hasOwnProperty);t.exports=Object.hasOwn||function(e,t){return s(i(e),t)}},{\"../internals/function-uncurry-this\":268,\"../internals/to-object\":344}],276:[function(e,t,r){\"use strict\";t.exports={}},{}],277:[function(e,t,r){\"use strict\";t.exports=function(e,t){try{1===arguments.length?console.error(e):console.error(e,t)}catch(e){}}},{}],278:[function(e,t,r){\"use strict\";var n=e(\"../internals/get-built-in\");t.exports=n(\"document\",\"documentElement\")},{\"../internals/get-built-in\":269}],279:[function(e,t,r){\"use strict\";var n=e(\"../internals/descriptors\"),i=e(\"../internals/fails\"),s=e(\"../internals/document-create-element\");t.exports=!n&&!i((function(){return 7!==Object.defineProperty(s(\"div\"),\"a\",{get:function(){return 7}}).a}))},{\"../internals/descriptors\":247,\"../internals/document-create-element\":249,\"../internals/fails\":260}],280:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-uncurry-this\"),i=e(\"../internals/fails\"),s=e(\"../internals/classof-raw\"),o=Object,a=n(\"\".split);t.exports=i((function(){return!o(\"z\").propertyIsEnumerable(0)}))?function(e){return\"String\"===s(e)?a(e,\"\"):o(e)}:o},{\"../internals/classof-raw\":235,\"../internals/fails\":260,\"../internals/function-uncurry-this\":268}],281:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-uncurry-this\"),i=e(\"../internals/is-callable\"),s=e(\"../internals/shared-store\"),o=n(Function.toString);i(s.inspectSource)||(s.inspectSource=function(e){return o(e)}),t.exports=s.inspectSource},{\"../internals/function-uncurry-this\":268,\"../internals/is-callable\":285,\"../internals/shared-store\":333}],282:[function(e,t,r){\"use strict\";var n,i,s,o=e(\"../internals/weak-map-basic-detection\"),a=e(\"../internals/global\"),l=e(\"../internals/is-object\"),c=e(\"../internals/create-non-enumerable-property\"),u=e(\"../internals/has-own-property\"),h=e(\"../internals/shared-store\"),f=e(\"../internals/shared-key\"),d=e(\"../internals/hidden-keys\"),p=a.TypeError,m=a.WeakMap;if(o||h.state){var b=h.state||(h.state=new m);b.get=b.get,b.has=b.has,b.set=b.set,n=function(e,t){if(b.has(e))throw new p(\"Object already initialized\");return t.facade=e,b.set(e,t),t},i=function(e){return b.get(e)||{}},s=function(e){return b.has(e)}}else{var g=f(\"state\");d[g]=!0,n=function(e,t){if(u(e,g))throw new p(\"Object already initialized\");return t.facade=e,c(e,g,t),t},i=function(e){return u(e,g)?e[g]:{}},s=function(e){return u(e,g)}}t.exports={set:n,get:i,has:s,enforce:function(e){return s(e)?i(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!l(t)||(r=i(t)).type!==e)throw new p(\"Incompatible receiver, \"+e+\" required\");return r}}}},{\"../internals/create-non-enumerable-property\":241,\"../internals/global\":274,\"../internals/has-own-property\":275,\"../internals/hidden-keys\":276,\"../internals/is-object\":289,\"../internals/shared-key\":332,\"../internals/shared-store\":333,\"../internals/weak-map-basic-detection\":354}],283:[function(e,t,r){\"use strict\";var n=e(\"../internals/well-known-symbol\"),i=e(\"../internals/iterators\"),s=n(\"iterator\"),o=Array.prototype;t.exports=function(e){return void 0!==e&&(i.Array===e||o[s]===e)}},{\"../internals/iterators\":298,\"../internals/well-known-symbol\":357}],284:[function(e,t,r){\"use strict\";var n=e(\"../internals/classof-raw\");t.exports=Array.isArray||function(e){return\"Array\"===n(e)}},{\"../internals/classof-raw\":235}],285:[function(e,t,r){\"use strict\";var n=e(\"../internals/document-all\"),i=n.all;t.exports=n.IS_HTMLDDA?function(e){return\"function\"==typeof e||e===i}:function(e){return\"function\"==typeof e}},{\"../internals/document-all\":248}],286:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-uncurry-this\"),i=e(\"../internals/fails\"),s=e(\"../internals/is-callable\"),o=e(\"../internals/classof\"),a=e(\"../internals/get-built-in\"),l=e(\"../internals/inspect-source\"),c=function(){},u=[],h=a(\"Reflect\",\"construct\"),f=/^\\s*(?:class|function)\\b/,d=n(f.exec),p=!f.test(c),m=function(e){if(!s(e))return!1;try{return h(c,u,e),!0}catch(e){return!1}},b=function(e){if(!s(e))return!1;switch(o(e)){case\"AsyncFunction\":case\"GeneratorFunction\":case\"AsyncGeneratorFunction\":return!1}try{return p||!!d(f,l(e))}catch(e){return!0}};b.sham=!0,t.exports=!h||i((function(){var e;return m(m.call)||!m(Object)||!m((function(){e=!0}))||e}))?b:m},{\"../internals/classof\":236,\"../internals/fails\":260,\"../internals/function-uncurry-this\":268,\"../internals/get-built-in\":269,\"../internals/inspect-source\":281,\"../internals/is-callable\":285}],287:[function(e,t,r){\"use strict\";var n=e(\"../internals/fails\"),i=e(\"../internals/is-callable\"),s=/#|\\.prototype\\./,o=function(e,t){var r=l[a(e)];return r===u||r!==c&&(i(t)?n(t):!!t)},a=o.normalize=function(e){return String(e).replace(s,\".\").toLowerCase()},l=o.data={},c=o.NATIVE=\"N\",u=o.POLYFILL=\"P\";t.exports=o},{\"../internals/fails\":260,\"../internals/is-callable\":285}],288:[function(e,t,r){\"use strict\";t.exports=function(e){return null==e}},{}],289:[function(e,t,r){\"use strict\";var n=e(\"../internals/is-callable\"),i=e(\"../internals/document-all\"),s=i.all;t.exports=i.IS_HTMLDDA?function(e){return\"object\"==typeof e?null!==e:n(e)||e===s}:function(e){return\"object\"==typeof e?null!==e:n(e)}},{\"../internals/document-all\":248,\"../internals/is-callable\":285}],290:[function(e,t,r){\"use strict\";t.exports=!1},{}],291:[function(e,t,r){\"use strict\";var n=e(\"../internals/is-object\"),i=e(\"../internals/classof-raw\"),s=e(\"../internals/well-known-symbol\")(\"match\");t.exports=function(e){var t;return n(e)&&(void 0!==(t=e[s])?!!t:\"RegExp\"===i(e))}},{\"../internals/classof-raw\":235,\"../internals/is-object\":289,\"../internals/well-known-symbol\":357}],292:[function(e,t,r){\"use strict\";var n=e(\"../internals/get-built-in\"),i=e(\"../internals/is-callable\"),s=e(\"../internals/object-is-prototype-of\"),o=e(\"../internals/use-symbol-as-uid\"),a=Object;t.exports=o?function(e){return\"symbol\"==typeof e}:function(e){var t=n(\"Symbol\");return i(t)&&s(t.prototype,a(e))}},{\"../internals/get-built-in\":269,\"../internals/is-callable\":285,\"../internals/object-is-prototype-of\":314,\"../internals/use-symbol-as-uid\":351}],293:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-bind-context\"),i=e(\"../internals/function-call\"),s=e(\"../internals/an-object\"),o=e(\"../internals/try-to-string\"),a=e(\"../internals/is-array-iterator-method\"),l=e(\"../internals/length-of-array-like\"),c=e(\"../internals/object-is-prototype-of\"),u=e(\"../internals/get-iterator\"),h=e(\"../internals/get-iterator-method\"),f=e(\"../internals/iterator-close\"),d=TypeError,p=function(e,t){this.stopped=e,this.result=t},m=p.prototype;t.exports=function(e,t,r){var b,g,y,v,w,_,x,k=r&&r.that,S=!(!r||!r.AS_ENTRIES),M=!(!r||!r.IS_RECORD),C=!(!r||!r.IS_ITERATOR),T=!(!r||!r.INTERRUPTED),E=n(t,k),A=function(e){return b&&f(b,\"normal\",e),new p(!0,e)},R=function(e){return S?(s(e),T?E(e[0],e[1],A):E(e[0],e[1])):T?E(e,A):E(e)};if(M)b=e.iterator;else if(C)b=e;else{if(!(g=h(e)))throw new d(o(e)+\" is not iterable\");if(a(g)){for(y=0,v=l(e);v>y;y++)if((w=R(e[y]))&&c(m,w))return w;return new p(!1)}b=u(e,g)}for(_=M?e.next:b.next;!(x=i(_,b)).done;){try{w=R(x.value)}catch(e){f(b,\"throw\",e)}if(\"object\"==typeof w&&w&&c(m,w))return w}return new p(!1)}},{\"../internals/an-object\":227,\"../internals/function-bind-context\":262,\"../internals/function-call\":264,\"../internals/get-iterator\":271,\"../internals/get-iterator-method\":270,\"../internals/is-array-iterator-method\":283,\"../internals/iterator-close\":294,\"../internals/length-of-array-like\":299,\"../internals/object-is-prototype-of\":314,\"../internals/try-to-string\":349}],294:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-call\"),i=e(\"../internals/an-object\"),s=e(\"../internals/get-method\");t.exports=function(e,t,r){var o,a;i(e);try{if(!(o=s(e,\"return\"))){if(\"throw\"===t)throw r;return r}o=n(o,e)}catch(e){a=!0,o=e}if(\"throw\"===t)throw r;if(a)throw o;return i(o),r}},{\"../internals/an-object\":227,\"../internals/function-call\":264,\"../internals/get-method\":273}],295:[function(e,t,r){\"use strict\";var n=e(\"../internals/iterators-core\").IteratorPrototype,i=e(\"../internals/object-create\"),s=e(\"../internals/create-property-descriptor\"),o=e(\"../internals/set-to-string-tag\"),a=e(\"../internals/iterators\"),l=function(){return this};t.exports=function(e,t,r,c){var u=t+\" Iterator\";return e.prototype=i(n,{next:s(+!c,r)}),o(e,u,!1,!0),a[u]=l,e}},{\"../internals/create-property-descriptor\":242,\"../internals/iterators\":298,\"../internals/iterators-core\":297,\"../internals/object-create\":306,\"../internals/set-to-string-tag\":331}],296:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/function-call\"),s=e(\"../internals/is-pure\"),o=e(\"../internals/function-name\"),a=e(\"../internals/is-callable\"),l=e(\"../internals/iterator-create-constructor\"),c=e(\"../internals/object-get-prototype-of\"),u=e(\"../internals/object-set-prototype-of\"),h=e(\"../internals/set-to-string-tag\"),f=e(\"../internals/create-non-enumerable-property\"),d=e(\"../internals/define-built-in\"),p=e(\"../internals/well-known-symbol\"),m=e(\"../internals/iterators\"),b=e(\"../internals/iterators-core\"),g=o.PROPER,y=o.CONFIGURABLE,v=b.IteratorPrototype,w=b.BUGGY_SAFARI_ITERATORS,_=p(\"iterator\"),x=function(){return this};t.exports=function(e,t,r,o,p,b,k){l(r,t,o);var S,M,C,T=function(e){if(e===p&&j)return j;if(!w&&e&&e in R)return R[e];switch(e){case\"keys\":case\"values\":case\"entries\":return function(){return new r(this,e)}}return function(){return new r(this)}},E=t+\" Iterator\",A=!1,R=e.prototype,O=R[_]||R[\"@@iterator\"]||p&&R[p],j=!w&&O||T(p),I=\"Array\"===t&&R.entries||O;if(I&&(S=c(I.call(new e)))!==Object.prototype&&S.next&&(s||c(S)===v||(u?u(S,v):a(S[_])||d(S,_,x)),h(S,E,!0,!0),s&&(m[E]=x)),g&&\"values\"===p&&O&&\"values\"!==O.name&&(!s&&y?f(R,\"name\",\"values\"):(A=!0,j=function(){return i(O,this)})),p)if(M={values:T(\"values\"),keys:b?j:T(\"keys\"),entries:T(\"entries\")},k)for(C in M)(w||A||!(C in R))&&d(R,C,M[C]);else n({target:t,proto:!0,forced:w||A},M);return s&&!k||R[_]===j||d(R,_,j,{name:p}),m[t]=j,M}},{\"../internals/create-non-enumerable-property\":241,\"../internals/define-built-in\":245,\"../internals/export\":259,\"../internals/function-call\":264,\"../internals/function-name\":265,\"../internals/is-callable\":285,\"../internals/is-pure\":290,\"../internals/iterator-create-constructor\":295,\"../internals/iterators\":298,\"../internals/iterators-core\":297,\"../internals/object-get-prototype-of\":313,\"../internals/object-set-prototype-of\":318,\"../internals/set-to-string-tag\":331,\"../internals/well-known-symbol\":357}],297:[function(e,t,r){\"use strict\";var n,i,s,o=e(\"../internals/fails\"),a=e(\"../internals/is-callable\"),l=e(\"../internals/is-object\"),c=e(\"../internals/object-create\"),u=e(\"../internals/object-get-prototype-of\"),h=e(\"../internals/define-built-in\"),f=e(\"../internals/well-known-symbol\"),d=e(\"../internals/is-pure\"),p=f(\"iterator\"),m=!1;[].keys&&(\"next\"in(s=[].keys())?(i=u(u(s)))!==Object.prototype&&(n=i):m=!0),!l(n)||o((function(){var e={};return n[p].call(e)!==e}))?n={}:d&&(n=c(n)),a(n[p])||h(n,p,(function(){return this})),t.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:m}},{\"../internals/define-built-in\":245,\"../internals/fails\":260,\"../internals/is-callable\":285,\"../internals/is-object\":289,\"../internals/is-pure\":290,\"../internals/object-create\":306,\"../internals/object-get-prototype-of\":313,\"../internals/well-known-symbol\":357}],298:[function(e,t,r){arguments[4][276][0].apply(r,arguments)},{dup:276}],299:[function(e,t,r){\"use strict\";var n=e(\"../internals/to-length\");t.exports=function(e){return n(e.length)}},{\"../internals/to-length\":343}],300:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-uncurry-this\"),i=e(\"../internals/fails\"),s=e(\"../internals/is-callable\"),o=e(\"../internals/has-own-property\"),a=e(\"../internals/descriptors\"),l=e(\"../internals/function-name\").CONFIGURABLE,c=e(\"../internals/inspect-source\"),u=e(\"../internals/internal-state\"),h=u.enforce,f=u.get,d=String,p=Object.defineProperty,m=n(\"\".slice),b=n(\"\".replace),g=n([].join),y=a&&!i((function(){return 8!==p((function(){}),\"length\",{value:8}).length})),v=String(String).split(\"String\"),w=t.exports=function(e,t,r){\"Symbol(\"===m(d(t),0,7)&&(t=\"[\"+b(d(t),/^Symbol\\(([^)]*)\\)/,\"$1\")+\"]\"),r&&r.getter&&(t=\"get \"+t),r&&r.setter&&(t=\"set \"+t),(!o(e,\"name\")||l&&e.name!==t)&&(a?p(e,\"name\",{value:t,configurable:!0}):e.name=t),y&&r&&o(r,\"arity\")&&e.length!==r.arity&&p(e,\"length\",{value:r.arity});try{r&&o(r,\"constructor\")&&r.constructor?a&&p(e,\"prototype\",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var n=h(e);return o(n,\"source\")||(n.source=g(v,\"string\"==typeof t?t:\"\")),e};Function.prototype.toString=w((function(){return s(this)&&f(this).source||c(this)}),\"toString\")},{\"../internals/descriptors\":247,\"../internals/fails\":260,\"../internals/function-name\":265,\"../internals/function-uncurry-this\":268,\"../internals/has-own-property\":275,\"../internals/inspect-source\":281,\"../internals/internal-state\":282,\"../internals/is-callable\":285}],301:[function(e,t,r){\"use strict\";var n=Math.ceil,i=Math.floor;t.exports=Math.trunc||function(e){var t=+e;return(t>0?i:n)(t)}},{}],302:[function(e,t,r){\"use strict\";var n,i,s,o,a,l=e(\"../internals/global\"),c=e(\"../internals/function-bind-context\"),u=e(\"../internals/object-get-own-property-descriptor\").f,h=e(\"../internals/task\").set,f=e(\"../internals/queue\"),d=e(\"../internals/engine-is-ios\"),p=e(\"../internals/engine-is-ios-pebble\"),m=e(\"../internals/engine-is-webos-webkit\"),b=e(\"../internals/engine-is-node\"),g=l.MutationObserver||l.WebKitMutationObserver,y=l.document,v=l.process,w=l.Promise,_=u(l,\"queueMicrotask\"),x=_&&_.value;if(!x){var k=new f,S=function(){var e,t;for(b&&(e=v.domain)&&e.exit();t=k.get();)try{t()}catch(e){throw k.head&&n(),e}e&&e.enter()};d||b||m||!g||!y?!p&&w&&w.resolve?((o=w.resolve(void 0)).constructor=w,a=c(o.then,o),n=function(){a(S)}):b?n=function(){v.nextTick(S)}:(h=c(h,l),n=function(){h(S)}):(i=!0,s=y.createTextNode(\"\"),new g(S).observe(s,{characterData:!0}),n=function(){s.data=i=!i}),x=function(e){k.head||n(),k.add(e)}}t.exports=x},{\"../internals/engine-is-ios\":253,\"../internals/engine-is-ios-pebble\":252,\"../internals/engine-is-node\":254,\"../internals/engine-is-webos-webkit\":255,\"../internals/function-bind-context\":262,\"../internals/global\":274,\"../internals/object-get-own-property-descriptor\":309,\"../internals/queue\":328,\"../internals/task\":339}],303:[function(e,t,r){\"use strict\";var n=e(\"../internals/a-callable\"),i=TypeError,s=function(e){var t,r;this.promise=new e((function(e,n){if(void 0!==t||void 0!==r)throw new i(\"Bad Promise constructor\");t=e,r=n})),this.resolve=n(t),this.reject=n(r)};t.exports.f=function(e){return new s(e)}},{\"../internals/a-callable\":222}],304:[function(e,t,r){\"use strict\";var n=e(\"../internals/is-regexp\"),i=TypeError;t.exports=function(e){if(n(e))throw new i(\"The method doesn't accept regular expressions\");return e}},{\"../internals/is-regexp\":291}],305:[function(e,t,r){\"use strict\";var n=e(\"../internals/descriptors\"),i=e(\"../internals/function-uncurry-this\"),s=e(\"../internals/function-call\"),o=e(\"../internals/fails\"),a=e(\"../internals/object-keys\"),l=e(\"../internals/object-get-own-property-symbols\"),c=e(\"../internals/object-property-is-enumerable\"),u=e(\"../internals/to-object\"),h=e(\"../internals/indexed-object\"),f=Object.assign,d=Object.defineProperty,p=i([].concat);t.exports=!f||o((function(){if(n&&1!==f({b:1},f(d({},\"a\",{enumerable:!0,get:function(){d(this,\"b\",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},r=Symbol(\"assign detection\");return e[r]=7,\"abcdefghijklmnopqrst\".split(\"\").forEach((function(e){t[e]=e})),7!==f({},e)[r]||\"abcdefghijklmnopqrst\"!==a(f({},t)).join(\"\")}))?function(e,t){for(var r=u(e),i=arguments.length,o=1,f=l.f,d=c.f;i>o;)for(var m,b=h(arguments[o++]),g=f?p(a(b),f(b)):a(b),y=g.length,v=0;y>v;)m=g[v++],n&&!s(d,b,m)||(r[m]=b[m]);return r}:f},{\"../internals/descriptors\":247,\"../internals/fails\":260,\"../internals/function-call\":264,\"../internals/function-uncurry-this\":268,\"../internals/indexed-object\":280,\"../internals/object-get-own-property-symbols\":312,\"../internals/object-keys\":316,\"../internals/object-property-is-enumerable\":317,\"../internals/to-object\":344}],306:[function(e,t,r){\"use strict\";var n,i=e(\"../internals/an-object\"),s=e(\"../internals/object-define-properties\"),o=e(\"../internals/enum-bug-keys\"),a=e(\"../internals/hidden-keys\"),l=e(\"../internals/html\"),c=e(\"../internals/document-create-element\"),u=e(\"../internals/shared-key\"),h=u(\"IE_PROTO\"),f=function(){},d=function(e){return\"<script>\"+e+\"<\\/script>\"},p=function(e){e.write(d(\"\")),e.close();var t=e.parentWindow.Object;return e=null,t},m=function(){try{n=new ActiveXObject(\"htmlfile\")}catch(e){}var e,t;m=\"undefined\"!=typeof document?document.domain&&n?p(n):((t=c(\"iframe\")).style.display=\"none\",l.appendChild(t),t.src=String(\"javascript:\"),(e=t.contentWindow.document).open(),e.write(d(\"document.F=Object\")),e.close(),e.F):p(n);for(var r=o.length;r--;)delete m.prototype[o[r]];return m()};a[h]=!0,t.exports=Object.create||function(e,t){var r;return null!==e?(f.prototype=i(e),r=new f,f.prototype=null,r[h]=e):r=m(),void 0===t?r:s.f(r,t)}},{\"../internals/an-object\":227,\"../internals/document-create-element\":249,\"../internals/enum-bug-keys\":258,\"../internals/hidden-keys\":276,\"../internals/html\":278,\"../internals/object-define-properties\":307,\"../internals/shared-key\":332}],307:[function(e,t,r){\"use strict\";var n=e(\"../internals/descriptors\"),i=e(\"../internals/v8-prototype-define-bug\"),s=e(\"../internals/object-define-property\"),o=e(\"../internals/an-object\"),a=e(\"../internals/to-indexed-object\"),l=e(\"../internals/object-keys\");r.f=n&&!i?Object.defineProperties:function(e,t){o(e);for(var r,n=a(t),i=l(t),c=i.length,u=0;c>u;)s.f(e,r=i[u++],n[r]);return e}},{\"../internals/an-object\":227,\"../internals/descriptors\":247,\"../internals/object-define-property\":308,\"../internals/object-keys\":316,\"../internals/to-indexed-object\":341,\"../internals/v8-prototype-define-bug\":352}],308:[function(e,t,r){\"use strict\";var n=e(\"../internals/descriptors\"),i=e(\"../internals/ie8-dom-define\"),s=e(\"../internals/v8-prototype-define-bug\"),o=e(\"../internals/an-object\"),a=e(\"../internals/to-property-key\"),l=TypeError,c=Object.defineProperty,u=Object.getOwnPropertyDescriptor;r.f=n?s?function(e,t,r){if(o(e),t=a(t),o(r),\"function\"==typeof e&&\"prototype\"===t&&\"value\"in r&&\"writable\"in r&&!r.writable){var n=u(e,t);n&&n.writable&&(e[t]=r.value,r={configurable:\"configurable\"in r?r.configurable:n.configurable,enumerable:\"enumerable\"in r?r.enumerable:n.enumerable,writable:!1})}return c(e,t,r)}:c:function(e,t,r){if(o(e),t=a(t),o(r),i)try{return c(e,t,r)}catch(e){}if(\"get\"in r||\"set\"in r)throw new l(\"Accessors not supported\");return\"value\"in r&&(e[t]=r.value),e}},{\"../internals/an-object\":227,\"../internals/descriptors\":247,\"../internals/ie8-dom-define\":279,\"../internals/to-property-key\":346,\"../internals/v8-prototype-define-bug\":352}],309:[function(e,t,r){\"use strict\";var n=e(\"../internals/descriptors\"),i=e(\"../internals/function-call\"),s=e(\"../internals/object-property-is-enumerable\"),o=e(\"../internals/create-property-descriptor\"),a=e(\"../internals/to-indexed-object\"),l=e(\"../internals/to-property-key\"),c=e(\"../internals/has-own-property\"),u=e(\"../internals/ie8-dom-define\"),h=Object.getOwnPropertyDescriptor;r.f=n?h:function(e,t){if(e=a(e),t=l(t),u)try{return h(e,t)}catch(e){}if(c(e,t))return o(!i(s.f,e,t),e[t])}},{\"../internals/create-property-descriptor\":242,\"../internals/descriptors\":247,\"../internals/function-call\":264,\"../internals/has-own-property\":275,\"../internals/ie8-dom-define\":279,\"../internals/object-property-is-enumerable\":317,\"../internals/to-indexed-object\":341,\"../internals/to-property-key\":346}],310:[function(e,t,r){\"use strict\";var n=e(\"../internals/classof-raw\"),i=e(\"../internals/to-indexed-object\"),s=e(\"../internals/object-get-own-property-names\").f,o=e(\"../internals/array-slice-simple\"),a=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(e){return a&&\"Window\"===n(e)?function(e){try{return s(e)}catch(e){return o(a)}}(e):s(i(e))}},{\"../internals/array-slice-simple\":230,\"../internals/classof-raw\":235,\"../internals/object-get-own-property-names\":311,\"../internals/to-indexed-object\":341}],311:[function(e,t,r){\"use strict\";var n=e(\"../internals/object-keys-internal\"),i=e(\"../internals/enum-bug-keys\").concat(\"length\",\"prototype\");r.f=Object.getOwnPropertyNames||function(e){return n(e,i)}},{\"../internals/enum-bug-keys\":258,\"../internals/object-keys-internal\":315}],312:[function(e,t,r){\"use strict\";r.f=Object.getOwnPropertySymbols},{}],313:[function(e,t,r){\"use strict\";var n=e(\"../internals/has-own-property\"),i=e(\"../internals/is-callable\"),s=e(\"../internals/to-object\"),o=e(\"../internals/shared-key\"),a=e(\"../internals/correct-prototype-getter\"),l=o(\"IE_PROTO\"),c=Object,u=c.prototype;t.exports=a?c.getPrototypeOf:function(e){var t=s(e);if(n(t,l))return t[l];var r=t.constructor;return i(r)&&t instanceof r?r.prototype:t instanceof c?u:null}},{\"../internals/correct-prototype-getter\":239,\"../internals/has-own-property\":275,\"../internals/is-callable\":285,\"../internals/shared-key\":332,\"../internals/to-object\":344}],314:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-uncurry-this\");t.exports=n({}.isPrototypeOf)},{\"../internals/function-uncurry-this\":268}],315:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-uncurry-this\"),i=e(\"../internals/has-own-property\"),s=e(\"../internals/to-indexed-object\"),o=e(\"../internals/array-includes\").indexOf,a=e(\"../internals/hidden-keys\"),l=n([].push);t.exports=function(e,t){var r,n=s(e),c=0,u=[];for(r in n)!i(a,r)&&i(n,r)&&l(u,r);for(;t.length>c;)i(n,r=t[c++])&&(~o(u,r)||l(u,r));return u}},{\"../internals/array-includes\":228,\"../internals/function-uncurry-this\":268,\"../internals/has-own-property\":275,\"../internals/hidden-keys\":276,\"../internals/to-indexed-object\":341}],316:[function(e,t,r){\"use strict\";var n=e(\"../internals/object-keys-internal\"),i=e(\"../internals/enum-bug-keys\");t.exports=Object.keys||function(e){return n(e,i)}},{\"../internals/enum-bug-keys\":258,\"../internals/object-keys-internal\":315}],317:[function(e,t,r){\"use strict\";var n={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,s=i&&!n.call({1:2},1);r.f=s?function(e){var t=i(this,e);return!!t&&t.enumerable}:n},{}],318:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-uncurry-this-accessor\"),i=e(\"../internals/an-object\"),s=e(\"../internals/a-possible-prototype\");t.exports=Object.setPrototypeOf||(\"__proto__\"in{}?function(){var e,t=!1,r={};try{(e=n(Object.prototype,\"__proto__\",\"set\"))(r,[]),t=r instanceof Array}catch(e){}return function(r,n){return i(r),s(n),t?e(r,n):r.__proto__=n,r}}():void 0)},{\"../internals/a-possible-prototype\":224,\"../internals/an-object\":227,\"../internals/function-uncurry-this-accessor\":266}],319:[function(e,t,r){\"use strict\";var n=e(\"../internals/descriptors\"),i=e(\"../internals/fails\"),s=e(\"../internals/function-uncurry-this\"),o=e(\"../internals/object-get-prototype-of\"),a=e(\"../internals/object-keys\"),l=e(\"../internals/to-indexed-object\"),c=s(e(\"../internals/object-property-is-enumerable\").f),u=s([].push),h=n&&i((function(){var e=Object.create(null);return e[2]=2,!c(e,2)})),f=function(e){return function(t){for(var r,i=l(t),s=a(i),f=h&&null===o(i),d=s.length,p=0,m=[];d>p;)r=s[p++],n&&!(f?r in i:c(i,r))||u(m,e?[r,i[r]]:i[r]);return m}};t.exports={entries:f(!0),values:f(!1)}},{\"../internals/descriptors\":247,\"../internals/fails\":260,\"../internals/function-uncurry-this\":268,\"../internals/object-get-prototype-of\":313,\"../internals/object-keys\":316,\"../internals/object-property-is-enumerable\":317,\"../internals/to-indexed-object\":341}],320:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-call\"),i=e(\"../internals/is-callable\"),s=e(\"../internals/is-object\"),o=TypeError;t.exports=function(e,t){var r,a;if(\"string\"===t&&i(r=e.toString)&&!s(a=n(r,e)))return a;if(i(r=e.valueOf)&&!s(a=n(r,e)))return a;if(\"string\"!==t&&i(r=e.toString)&&!s(a=n(r,e)))return a;throw new o(\"Can't convert object to primitive value\")}},{\"../internals/function-call\":264,\"../internals/is-callable\":285,\"../internals/is-object\":289}],321:[function(e,t,r){\"use strict\";var n=e(\"../internals/get-built-in\"),i=e(\"../internals/function-uncurry-this\"),s=e(\"../internals/object-get-own-property-names\"),o=e(\"../internals/object-get-own-property-symbols\"),a=e(\"../internals/an-object\"),l=i([].concat);t.exports=n(\"Reflect\",\"ownKeys\")||function(e){var t=s.f(a(e)),r=o.f;return r?l(t,r(e)):t}},{\"../internals/an-object\":227,\"../internals/function-uncurry-this\":268,\"../internals/get-built-in\":269,\"../internals/object-get-own-property-names\":311,\"../internals/object-get-own-property-symbols\":312}],322:[function(e,t,r){\"use strict\";var n=e(\"../internals/global\");t.exports=n},{\"../internals/global\":274}],323:[function(e,t,r){\"use strict\";t.exports=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}}},{}],324:[function(e,t,r){\"use strict\";var n=e(\"../internals/global\"),i=e(\"../internals/promise-native-constructor\"),s=e(\"../internals/is-callable\"),o=e(\"../internals/is-forced\"),a=e(\"../internals/inspect-source\"),l=e(\"../internals/well-known-symbol\"),c=e(\"../internals/engine-is-browser\"),u=e(\"../internals/engine-is-deno\"),h=e(\"../internals/is-pure\"),f=e(\"../internals/engine-v8-version\"),d=i&&i.prototype,p=l(\"species\"),m=!1,b=s(n.PromiseRejectionEvent),g=o(\"Promise\",(function(){var e=a(i),t=e!==String(i);if(!t&&66===f)return!0;if(h&&(!d.catch||!d.finally))return!0;if(!f||f<51||!/native code/.test(e)){var r=new i((function(e){e(1)})),n=function(e){e((function(){}),(function(){}))};if((r.constructor={})[p]=n,!(m=r.then((function(){}))instanceof n))return!0}return!t&&(c||u)&&!b}));t.exports={CONSTRUCTOR:g,REJECTION_EVENT:b,SUBCLASSING:m}},{\"../internals/engine-is-browser\":250,\"../internals/engine-is-deno\":251,\"../internals/engine-v8-version\":257,\"../internals/global\":274,\"../internals/inspect-source\":281,\"../internals/is-callable\":285,\"../internals/is-forced\":287,\"../internals/is-pure\":290,\"../internals/promise-native-constructor\":325,\"../internals/well-known-symbol\":357}],325:[function(e,t,r){\"use strict\";var n=e(\"../internals/global\");t.exports=n.Promise},{\"../internals/global\":274}],326:[function(e,t,r){\"use strict\";var n=e(\"../internals/an-object\"),i=e(\"../internals/is-object\"),s=e(\"../internals/new-promise-capability\");t.exports=function(e,t){if(n(e),i(t)&&t.constructor===e)return t;var r=s.f(e);return(0,r.resolve)(t),r.promise}},{\"../internals/an-object\":227,\"../internals/is-object\":289,\"../internals/new-promise-capability\":303}],327:[function(e,t,r){\"use strict\";var n=e(\"../internals/promise-native-constructor\"),i=e(\"../internals/check-correctness-of-iteration\"),s=e(\"../internals/promise-constructor-detection\").CONSTRUCTOR;t.exports=s||!i((function(e){n.all(e).then(void 0,(function(){}))}))},{\"../internals/check-correctness-of-iteration\":234,\"../internals/promise-constructor-detection\":324,\"../internals/promise-native-constructor\":325}],328:[function(e,t,r){\"use strict\";var n=function(){this.head=null,this.tail=null};n.prototype={add:function(e){var t={item:e,next:null},r=this.tail;r?r.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return null===(this.head=e.next)&&(this.tail=null),e.item}},t.exports=n},{}],329:[function(e,t,r){\"use strict\";var n=e(\"../internals/is-null-or-undefined\"),i=TypeError;t.exports=function(e){if(n(e))throw new i(\"Can't call method on \"+e);return e}},{\"../internals/is-null-or-undefined\":288}],330:[function(e,t,r){\"use strict\";var n=e(\"../internals/get-built-in\"),i=e(\"../internals/define-built-in-accessor\"),s=e(\"../internals/well-known-symbol\"),o=e(\"../internals/descriptors\"),a=s(\"species\");t.exports=function(e){var t=n(e);o&&t&&!t[a]&&i(t,a,{configurable:!0,get:function(){return this}})}},{\"../internals/define-built-in-accessor\":244,\"../internals/descriptors\":247,\"../internals/get-built-in\":269,\"../internals/well-known-symbol\":357}],331:[function(e,t,r){\"use strict\";var n=e(\"../internals/object-define-property\").f,i=e(\"../internals/has-own-property\"),s=e(\"../internals/well-known-symbol\")(\"toStringTag\");t.exports=function(e,t,r){e&&!r&&(e=e.prototype),e&&!i(e,s)&&n(e,s,{configurable:!0,value:t})}},{\"../internals/has-own-property\":275,\"../internals/object-define-property\":308,\"../internals/well-known-symbol\":357}],332:[function(e,t,r){\"use strict\";var n=e(\"../internals/shared\"),i=e(\"../internals/uid\"),s=n(\"keys\");t.exports=function(e){return s[e]||(s[e]=i(e))}},{\"../internals/shared\":334,\"../internals/uid\":350}],333:[function(e,t,r){\"use strict\";var n=e(\"../internals/global\"),i=e(\"../internals/define-global-property\"),s=n[\"__core-js_shared__\"]||i(\"__core-js_shared__\",{});t.exports=s},{\"../internals/define-global-property\":246,\"../internals/global\":274}],334:[function(e,t,r){\"use strict\";var n=e(\"../internals/is-pure\"),i=e(\"../internals/shared-store\");(t.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})(\"versions\",[]).push({version:\"3.33.0\",mode:n?\"pure\":\"global\",copyright:\"\\xa9 2014-2023 Denis Pushkarev (zloirock.ru)\",license:\"https://github.com/zloirock/core-js/blob/v3.33.0/LICENSE\",source:\"https://github.com/zloirock/core-js\"})},{\"../internals/is-pure\":290,\"../internals/shared-store\":333}],335:[function(e,t,r){\"use strict\";var n=e(\"../internals/an-object\"),i=e(\"../internals/a-constructor\"),s=e(\"../internals/is-null-or-undefined\"),o=e(\"../internals/well-known-symbol\")(\"species\");t.exports=function(e,t){var r,a=n(e).constructor;return void 0===a||s(r=n(a)[o])?t:i(r)}},{\"../internals/a-constructor\":223,\"../internals/an-object\":227,\"../internals/is-null-or-undefined\":288,\"../internals/well-known-symbol\":357}],336:[function(e,t,r){\"use strict\";var n=e(\"../internals/engine-v8-version\"),i=e(\"../internals/fails\"),s=e(\"../internals/global\").String;t.exports=!!Object.getOwnPropertySymbols&&!i((function(){var e=Symbol(\"symbol detection\");return!s(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&n&&n<41}))},{\"../internals/engine-v8-version\":257,\"../internals/fails\":260,\"../internals/global\":274}],337:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-call\"),i=e(\"../internals/get-built-in\"),s=e(\"../internals/well-known-symbol\"),o=e(\"../internals/define-built-in\");t.exports=function(){var e=i(\"Symbol\"),t=e&&e.prototype,r=t&&t.valueOf,a=s(\"toPrimitive\");t&&!t[a]&&o(t,a,(function(e){return n(r,this)}),{arity:1})}},{\"../internals/define-built-in\":245,\"../internals/function-call\":264,\"../internals/get-built-in\":269,\"../internals/well-known-symbol\":357}],338:[function(e,t,r){\"use strict\";var n=e(\"../internals/symbol-constructor-detection\");t.exports=n&&!!Symbol.for&&!!Symbol.keyFor},{\"../internals/symbol-constructor-detection\":336}],339:[function(e,t,r){\"use strict\";var n,i,s,o,a=e(\"../internals/global\"),l=e(\"../internals/function-apply\"),c=e(\"../internals/function-bind-context\"),u=e(\"../internals/is-callable\"),h=e(\"../internals/has-own-property\"),f=e(\"../internals/fails\"),d=e(\"../internals/html\"),p=e(\"../internals/array-slice\"),m=e(\"../internals/document-create-element\"),b=e(\"../internals/validate-arguments-length\"),g=e(\"../internals/engine-is-ios\"),y=e(\"../internals/engine-is-node\"),v=a.setImmediate,w=a.clearImmediate,_=a.process,x=a.Dispatch,k=a.Function,S=a.MessageChannel,M=a.String,C=0,T={};f((function(){n=a.location}));var E=function(e){if(h(T,e)){var t=T[e];delete T[e],t()}},A=function(e){return function(){E(e)}},R=function(e){E(e.data)},O=function(e){a.postMessage(M(e),n.protocol+\"//\"+n.host)};v&&w||(v=function(e){b(arguments.length,1);var t=u(e)?e:k(e),r=p(arguments,1);return T[++C]=function(){l(t,void 0,r)},i(C),C},w=function(e){delete T[e]},y?i=function(e){_.nextTick(A(e))}:x&&x.now?i=function(e){x.now(A(e))}:S&&!g?(o=(s=new S).port2,s.port1.onmessage=R,i=c(o.postMessage,o)):a.addEventListener&&u(a.postMessage)&&!a.importScripts&&n&&\"file:\"!==n.protocol&&!f(O)?(i=O,a.addEventListener(\"message\",R,!1)):i=\"onreadystatechange\"in m(\"script\")?function(e){d.appendChild(m(\"script\")).onreadystatechange=function(){d.removeChild(this),E(e)}}:function(e){setTimeout(A(e),0)}),t.exports={set:v,clear:w}},{\"../internals/array-slice\":231,\"../internals/document-create-element\":249,\"../internals/engine-is-ios\":253,\"../internals/engine-is-node\":254,\"../internals/fails\":260,\"../internals/function-apply\":261,\"../internals/function-bind-context\":262,\"../internals/global\":274,\"../internals/has-own-property\":275,\"../internals/html\":278,\"../internals/is-callable\":285,\"../internals/validate-arguments-length\":353}],340:[function(e,t,r){\"use strict\";var n=e(\"../internals/to-integer-or-infinity\"),i=Math.max,s=Math.min;t.exports=function(e,t){var r=n(e);return r<0?i(r+t,0):s(r,t)}},{\"../internals/to-integer-or-infinity\":342}],341:[function(e,t,r){\"use strict\";var n=e(\"../internals/indexed-object\"),i=e(\"../internals/require-object-coercible\");t.exports=function(e){return n(i(e))}},{\"../internals/indexed-object\":280,\"../internals/require-object-coercible\":329}],342:[function(e,t,r){\"use strict\";var n=e(\"../internals/math-trunc\");t.exports=function(e){var t=+e;return t!=t||0===t?0:n(t)}},{\"../internals/math-trunc\":301}],343:[function(e,t,r){\"use strict\";var n=e(\"../internals/to-integer-or-infinity\"),i=Math.min;t.exports=function(e){return e>0?i(n(e),9007199254740991):0}},{\"../internals/to-integer-or-infinity\":342}],344:[function(e,t,r){\"use strict\";var n=e(\"../internals/require-object-coercible\"),i=Object;t.exports=function(e){return i(n(e))}},{\"../internals/require-object-coercible\":329}],345:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-call\"),i=e(\"../internals/is-object\"),s=e(\"../internals/is-symbol\"),o=e(\"../internals/get-method\"),a=e(\"../internals/ordinary-to-primitive\"),l=e(\"../internals/well-known-symbol\"),c=TypeError,u=l(\"toPrimitive\");t.exports=function(e,t){if(!i(e)||s(e))return e;var r,l=o(e,u);if(l){if(void 0===t&&(t=\"default\"),r=n(l,e,t),!i(r)||s(r))return r;throw new c(\"Can't convert object to primitive value\")}return void 0===t&&(t=\"number\"),a(e,t)}},{\"../internals/function-call\":264,\"../internals/get-method\":273,\"../internals/is-object\":289,\"../internals/is-symbol\":292,\"../internals/ordinary-to-primitive\":320,\"../internals/well-known-symbol\":357}],346:[function(e,t,r){\"use strict\";var n=e(\"../internals/to-primitive\"),i=e(\"../internals/is-symbol\");t.exports=function(e){var t=n(e,\"string\");return i(t)?t:t+\"\"}},{\"../internals/is-symbol\":292,\"../internals/to-primitive\":345}],347:[function(e,t,r){\"use strict\";var n={};n[e(\"../internals/well-known-symbol\")(\"toStringTag\")]=\"z\",t.exports=\"[object z]\"===String(n)},{\"../internals/well-known-symbol\":357}],348:[function(e,t,r){\"use strict\";var n=e(\"../internals/classof\"),i=String;t.exports=function(e){if(\"Symbol\"===n(e))throw new TypeError(\"Cannot convert a Symbol value to a string\");return i(e)}},{\"../internals/classof\":236}],349:[function(e,t,r){\"use strict\";var n=String;t.exports=function(e){try{return n(e)}catch(e){return\"Object\"}}},{}],350:[function(e,t,r){\"use strict\";var n=e(\"../internals/function-uncurry-this\"),i=0,s=Math.random(),o=n(1..toString);t.exports=function(e){return\"Symbol(\"+(void 0===e?\"\":e)+\")_\"+o(++i+s,36)}},{\"../internals/function-uncurry-this\":268}],351:[function(e,t,r){\"use strict\";var n=e(\"../internals/symbol-constructor-detection\");t.exports=n&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator},{\"../internals/symbol-constructor-detection\":336}],352:[function(e,t,r){\"use strict\";var n=e(\"../internals/descriptors\"),i=e(\"../internals/fails\");t.exports=n&&i((function(){return 42!==Object.defineProperty((function(){}),\"prototype\",{value:42,writable:!1}).prototype}))},{\"../internals/descriptors\":247,\"../internals/fails\":260}],353:[function(e,t,r){\"use strict\";var n=TypeError;t.exports=function(e,t){if(e<t)throw new n(\"Not enough arguments\");return e}},{}],354:[function(e,t,r){\"use strict\";var n=e(\"../internals/global\"),i=e(\"../internals/is-callable\"),s=n.WeakMap;t.exports=i(s)&&/native code/.test(String(s))},{\"../internals/global\":274,\"../internals/is-callable\":285}],355:[function(e,t,r){\"use strict\";var n=e(\"../internals/path\"),i=e(\"../internals/has-own-property\"),s=e(\"../internals/well-known-symbol-wrapped\"),o=e(\"../internals/object-define-property\").f;t.exports=function(e){var t=n.Symbol||(n.Symbol={});i(t,e)||o(t,e,{value:s.f(e)})}},{\"../internals/has-own-property\":275,\"../internals/object-define-property\":308,\"../internals/path\":322,\"../internals/well-known-symbol-wrapped\":356}],356:[function(e,t,r){\"use strict\";var n=e(\"../internals/well-known-symbol\");r.f=n},{\"../internals/well-known-symbol\":357}],357:[function(e,t,r){\"use strict\";var n=e(\"../internals/global\"),i=e(\"../internals/shared\"),s=e(\"../internals/has-own-property\"),o=e(\"../internals/uid\"),a=e(\"../internals/symbol-constructor-detection\"),l=e(\"../internals/use-symbol-as-uid\"),c=n.Symbol,u=i(\"wks\"),h=l?c.for||c:c&&c.withoutSetter||o;t.exports=function(e){return s(u,e)||(u[e]=a&&s(c,e)?c[e]:h(\"Symbol.\"+e)),u[e]}},{\"../internals/global\":274,\"../internals/has-own-property\":275,\"../internals/shared\":334,\"../internals/symbol-constructor-detection\":336,\"../internals/uid\":350,\"../internals/use-symbol-as-uid\":351}],358:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/array-iteration\").findIndex,s=e(\"../internals/add-to-unscopables\"),o=!0;\"findIndex\"in[]&&Array(1).findIndex((function(){o=!1})),n({target:\"Array\",proto:!0,forced:o},{findIndex:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),s(\"findIndex\")},{\"../internals/add-to-unscopables\":225,\"../internals/array-iteration\":229,\"../internals/export\":259}],359:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/array-iteration\").find,s=e(\"../internals/add-to-unscopables\"),o=!0;\"find\"in[]&&Array(1).find((function(){o=!1})),n({target:\"Array\",proto:!0,forced:o},{find:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),s(\"find\")},{\"../internals/add-to-unscopables\":225,\"../internals/array-iteration\":229,\"../internals/export\":259}],360:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/array-includes\").includes,s=e(\"../internals/fails\"),o=e(\"../internals/add-to-unscopables\");n({target:\"Array\",proto:!0,forced:s((function(){return!Array(1).includes()}))},{includes:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),o(\"includes\")},{\"../internals/add-to-unscopables\":225,\"../internals/array-includes\":228,\"../internals/export\":259,\"../internals/fails\":260}],361:[function(e,t,r){\"use strict\";var n=e(\"../internals/to-indexed-object\"),i=e(\"../internals/add-to-unscopables\"),s=e(\"../internals/iterators\"),o=e(\"../internals/internal-state\"),a=e(\"../internals/object-define-property\").f,l=e(\"../internals/iterator-define\"),c=e(\"../internals/create-iter-result-object\"),u=e(\"../internals/is-pure\"),h=e(\"../internals/descriptors\"),f=o.set,d=o.getterFor(\"Array Iterator\");t.exports=l(Array,\"Array\",(function(e,t){f(this,{type:\"Array Iterator\",target:n(e),index:0,kind:t})}),(function(){var e=d(this),t=e.target,r=e.kind,n=e.index++;if(!t||n>=t.length)return e.target=void 0,c(void 0,!0);switch(r){case\"keys\":return c(n,!1);case\"values\":return c(t[n],!1)}return c([n,t[n]],!1)}),\"values\");var p=s.Arguments=s.Array;if(i(\"keys\"),i(\"values\"),i(\"entries\"),!u&&h&&\"values\"!==p.name)try{a(p,\"name\",{value:\"values\"})}catch(e){}},{\"../internals/add-to-unscopables\":225,\"../internals/create-iter-result-object\":240,\"../internals/descriptors\":247,\"../internals/internal-state\":282,\"../internals/is-pure\":290,\"../internals/iterator-define\":296,\"../internals/iterators\":298,\"../internals/object-define-property\":308,\"../internals/to-indexed-object\":341}],362:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/get-built-in\"),s=e(\"../internals/function-apply\"),o=e(\"../internals/function-call\"),a=e(\"../internals/function-uncurry-this\"),l=e(\"../internals/fails\"),c=e(\"../internals/is-callable\"),u=e(\"../internals/is-symbol\"),h=e(\"../internals/array-slice\"),f=e(\"../internals/get-json-replacer-function\"),d=e(\"../internals/symbol-constructor-detection\"),p=String,m=i(\"JSON\",\"stringify\"),b=a(/./.exec),g=a(\"\".charAt),y=a(\"\".charCodeAt),v=a(\"\".replace),w=a(1..toString),_=/[\\uD800-\\uDFFF]/g,x=/^[\\uD800-\\uDBFF]$/,k=/^[\\uDC00-\\uDFFF]$/,S=!d||l((function(){var e=i(\"Symbol\")(\"stringify detection\");return\"[null]\"!==m([e])||\"{}\"!==m({a:e})||\"{}\"!==m(Object(e))})),M=l((function(){return'\"\\\\udf06\\\\ud834\"'!==m(\"\\udf06\\ud834\")||'\"\\\\udead\"'!==m(\"\\udead\")})),C=function(e,t){var r=h(arguments),n=f(t);if(c(n)||void 0!==e&&!u(e))return r[1]=function(e,t){if(c(n)&&(t=o(n,this,p(e),t)),!u(t))return t},s(m,null,r)},T=function(e,t,r){var n=g(r,t-1),i=g(r,t+1);return b(x,e)&&!b(k,i)||b(k,e)&&!b(x,n)?\"\\\\u\"+w(y(e,0),16):e};m&&n({target:\"JSON\",stat:!0,arity:3,forced:S||M},{stringify:function(e,t,r){var n=h(arguments),i=s(S?C:m,null,n);return M&&\"string\"==typeof i?v(i,_,T):i}})},{\"../internals/array-slice\":231,\"../internals/export\":259,\"../internals/fails\":260,\"../internals/function-apply\":261,\"../internals/function-call\":264,\"../internals/function-uncurry-this\":268,\"../internals/get-built-in\":269,\"../internals/get-json-replacer-function\":272,\"../internals/is-callable\":285,\"../internals/is-symbol\":292,\"../internals/symbol-constructor-detection\":336}],363:[function(e,t,r){\"use strict\";e(\"../internals/export\")({target:\"Number\",stat:!0},{isNaN:function(e){return e!=e}})},{\"../internals/export\":259}],364:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/object-assign\");n({target:\"Object\",stat:!0,arity:2,forced:Object.assign!==i},{assign:i})},{\"../internals/export\":259,\"../internals/object-assign\":305}],365:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/symbol-constructor-detection\"),s=e(\"../internals/fails\"),o=e(\"../internals/object-get-own-property-symbols\"),a=e(\"../internals/to-object\");n({target:\"Object\",stat:!0,forced:!i||s((function(){o.f(1)}))},{getOwnPropertySymbols:function(e){var t=o.f;return t?t(a(e)):[]}})},{\"../internals/export\":259,\"../internals/fails\":260,\"../internals/object-get-own-property-symbols\":312,\"../internals/symbol-constructor-detection\":336,\"../internals/to-object\":344}],366:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/to-object\"),s=e(\"../internals/object-keys\");n({target:\"Object\",stat:!0,forced:e(\"../internals/fails\")((function(){s(1)}))},{keys:function(e){return s(i(e))}})},{\"../internals/export\":259,\"../internals/fails\":260,\"../internals/object-keys\":316,\"../internals/to-object\":344}],367:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/object-to-array\").values;n({target:\"Object\",stat:!0},{values:function(e){return i(e)}})},{\"../internals/export\":259,\"../internals/object-to-array\":319}],368:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/function-call\"),s=e(\"../internals/a-callable\"),o=e(\"../internals/new-promise-capability\"),a=e(\"../internals/perform\"),l=e(\"../internals/iterate\");n({target:\"Promise\",stat:!0,forced:e(\"../internals/promise-statics-incorrect-iteration\")},{all:function(e){var t=this,r=o.f(t),n=r.resolve,c=r.reject,u=a((function(){var r=s(t.resolve),o=[],a=0,u=1;l(e,(function(e){var s=a++,l=!1;u++,i(r,t,e).then((function(e){l||(l=!0,o[s]=e,--u||n(o))}),c)})),--u||n(o)}));return u.error&&c(u.value),r.promise}})},{\"../internals/a-callable\":222,\"../internals/export\":259,\"../internals/function-call\":264,\"../internals/iterate\":293,\"../internals/new-promise-capability\":303,\"../internals/perform\":323,\"../internals/promise-statics-incorrect-iteration\":327}],369:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/is-pure\"),s=e(\"../internals/promise-constructor-detection\").CONSTRUCTOR,o=e(\"../internals/promise-native-constructor\"),a=e(\"../internals/get-built-in\"),l=e(\"../internals/is-callable\"),c=e(\"../internals/define-built-in\"),u=o&&o.prototype;if(n({target:\"Promise\",proto:!0,forced:s,real:!0},{catch:function(e){return this.then(void 0,e)}}),!i&&l(o)){var h=a(\"Promise\").prototype.catch;u.catch!==h&&c(u,\"catch\",h,{unsafe:!0})}},{\"../internals/define-built-in\":245,\"../internals/export\":259,\"../internals/get-built-in\":269,\"../internals/is-callable\":285,\"../internals/is-pure\":290,\"../internals/promise-constructor-detection\":324,\"../internals/promise-native-constructor\":325}],370:[function(e,t,r){\"use strict\";var n,i,s,o=e(\"../internals/export\"),a=e(\"../internals/is-pure\"),l=e(\"../internals/engine-is-node\"),c=e(\"../internals/global\"),u=e(\"../internals/function-call\"),h=e(\"../internals/define-built-in\"),f=e(\"../internals/object-set-prototype-of\"),d=e(\"../internals/set-to-string-tag\"),p=e(\"../internals/set-species\"),m=e(\"../internals/a-callable\"),b=e(\"../internals/is-callable\"),g=e(\"../internals/is-object\"),y=e(\"../internals/an-instance\"),v=e(\"../internals/species-constructor\"),w=e(\"../internals/task\").set,_=e(\"../internals/microtask\"),x=e(\"../internals/host-report-errors\"),k=e(\"../internals/perform\"),S=e(\"../internals/queue\"),M=e(\"../internals/internal-state\"),C=e(\"../internals/promise-native-constructor\"),T=e(\"../internals/promise-constructor-detection\"),E=e(\"../internals/new-promise-capability\"),A=T.CONSTRUCTOR,R=T.REJECTION_EVENT,O=T.SUBCLASSING,j=M.getterFor(\"Promise\"),I=M.set,N=C&&C.prototype,P=C,B=N,D=c.TypeError,F=c.document,L=c.process,z=E.f,U=z,$=!!(F&&F.createEvent&&c.dispatchEvent),H=function(e){var t;return!(!g(e)||!b(t=e.then))&&t},V=function(e,t){var r,n,i,s=t.value,o=1===t.state,a=o?e.ok:e.fail,l=e.resolve,c=e.reject,h=e.domain;try{a?(o||(2===t.rejection&&Y(t),t.rejection=1),!0===a?r=s:(h&&h.enter(),r=a(s),h&&(h.exit(),i=!0)),r===e.promise?c(new D(\"Promise-chain cycle\")):(n=H(r))?u(n,r,l,c):l(r)):c(s)}catch(e){h&&!i&&h.exit(),c(e)}},q=function(e,t){e.notified||(e.notified=!0,_((function(){for(var r,n=e.reactions;r=n.get();)V(r,e);e.notified=!1,t&&!e.rejection&&X(e)})))},W=function(e,t,r){var n,i;$?((n=F.createEvent(\"Event\")).promise=t,n.reason=r,n.initEvent(e,!1,!0),c.dispatchEvent(n)):n={promise:t,reason:r},!R&&(i=c[\"on\"+e])?i(n):\"unhandledrejection\"===e&&x(\"Unhandled promise rejection\",r)},X=function(e){u(w,c,(function(){var t,r=e.facade,n=e.value;if(K(e)&&(t=k((function(){l?L.emit(\"unhandledRejection\",n,r):W(\"unhandledrejection\",r,n)})),e.rejection=l||K(e)?2:1,t.error))throw t.value}))},K=function(e){return 1!==e.rejection&&!e.parent},Y=function(e){u(w,c,(function(){var t=e.facade;l?L.emit(\"rejectionHandled\",t):W(\"rejectionhandled\",t,e.value)}))},Z=function(e,t,r){return function(n){e(t,n,r)}},G=function(e,t,r){e.done||(e.done=!0,r&&(e=r),e.value=t,e.state=2,q(e,!0))},J=function(e,t,r){if(!e.done){e.done=!0,r&&(e=r);try{if(e.facade===t)throw new D(\"Promise can't be resolved itself\");var n=H(t);n?_((function(){var r={done:!1};try{u(n,t,Z(J,r,e),Z(G,r,e))}catch(t){G(r,t,e)}})):(e.value=t,e.state=1,q(e,!1))}catch(t){G({done:!1},t,e)}}};if(A&&(B=(P=function(e){y(this,B),m(e),u(n,this);var t=j(this);try{e(Z(J,t),Z(G,t))}catch(e){G(t,e)}}).prototype,(n=function(e){I(this,{type:\"Promise\",done:!1,notified:!1,parent:!1,reactions:new S,rejection:!1,state:0,value:void 0})}).prototype=h(B,\"then\",(function(e,t){var r=j(this),n=z(v(this,P));return r.parent=!0,n.ok=!b(e)||e,n.fail=b(t)&&t,n.domain=l?L.domain:void 0,0===r.state?r.reactions.add(n):_((function(){V(n,r)})),n.promise})),i=function(){var e=new n,t=j(e);this.promise=e,this.resolve=Z(J,t),this.reject=Z(G,t)},E.f=z=function(e){return e===P||void 0===e?new i(e):U(e)},!a&&b(C)&&N!==Object.prototype)){s=N.then,O||h(N,\"then\",(function(e,t){var r=this;return new P((function(e,t){u(s,r,e,t)})).then(e,t)}),{unsafe:!0});try{delete N.constructor}catch(e){}f&&f(N,B)}o({global:!0,constructor:!0,wrap:!0,forced:A},{Promise:P}),d(P,\"Promise\",!1,!0),p(\"Promise\")},{\"../internals/a-callable\":222,\"../internals/an-instance\":226,\"../internals/define-built-in\":245,\"../internals/engine-is-node\":254,\"../internals/export\":259,\"../internals/function-call\":264,\"../internals/global\":274,\"../internals/host-report-errors\":277,\"../internals/internal-state\":282,\"../internals/is-callable\":285,\"../internals/is-object\":289,\"../internals/is-pure\":290,\"../internals/microtask\":302,\"../internals/new-promise-capability\":303,\"../internals/object-set-prototype-of\":318,\"../internals/perform\":323,\"../internals/promise-constructor-detection\":324,\"../internals/promise-native-constructor\":325,\"../internals/queue\":328,\"../internals/set-species\":330,\"../internals/set-to-string-tag\":331,\"../internals/species-constructor\":335,\"../internals/task\":339}],371:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/is-pure\"),s=e(\"../internals/promise-native-constructor\"),o=e(\"../internals/fails\"),a=e(\"../internals/get-built-in\"),l=e(\"../internals/is-callable\"),c=e(\"../internals/species-constructor\"),u=e(\"../internals/promise-resolve\"),h=e(\"../internals/define-built-in\"),f=s&&s.prototype;if(n({target:\"Promise\",proto:!0,real:!0,forced:!!s&&o((function(){f.finally.call({then:function(){}},(function(){}))}))},{finally:function(e){var t=c(this,a(\"Promise\")),r=l(e);return this.then(r?function(r){return u(t,e()).then((function(){return r}))}:e,r?function(r){return u(t,e()).then((function(){throw r}))}:e)}}),!i&&l(s)){var d=a(\"Promise\").prototype.finally;f.finally!==d&&h(f,\"finally\",d,{unsafe:!0})}},{\"../internals/define-built-in\":245,\"../internals/export\":259,\"../internals/fails\":260,\"../internals/get-built-in\":269,\"../internals/is-callable\":285,\"../internals/is-pure\":290,\"../internals/promise-native-constructor\":325,\"../internals/promise-resolve\":326,\"../internals/species-constructor\":335}],372:[function(e,t,r){\"use strict\";e(\"../modules/es.promise.constructor\"),e(\"../modules/es.promise.all\"),e(\"../modules/es.promise.catch\"),e(\"../modules/es.promise.race\"),e(\"../modules/es.promise.reject\"),e(\"../modules/es.promise.resolve\")},{\"../modules/es.promise.all\":368,\"../modules/es.promise.catch\":369,\"../modules/es.promise.constructor\":370,\"../modules/es.promise.race\":373,\"../modules/es.promise.reject\":374,\"../modules/es.promise.resolve\":375}],373:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/function-call\"),s=e(\"../internals/a-callable\"),o=e(\"../internals/new-promise-capability\"),a=e(\"../internals/perform\"),l=e(\"../internals/iterate\");n({target:\"Promise\",stat:!0,forced:e(\"../internals/promise-statics-incorrect-iteration\")},{race:function(e){var t=this,r=o.f(t),n=r.reject,c=a((function(){var o=s(t.resolve);l(e,(function(e){i(o,t,e).then(r.resolve,n)}))}));return c.error&&n(c.value),r.promise}})},{\"../internals/a-callable\":222,\"../internals/export\":259,\"../internals/function-call\":264,\"../internals/iterate\":293,\"../internals/new-promise-capability\":303,\"../internals/perform\":323,\"../internals/promise-statics-incorrect-iteration\":327}],374:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/function-call\"),s=e(\"../internals/new-promise-capability\");n({target:\"Promise\",stat:!0,forced:e(\"../internals/promise-constructor-detection\").CONSTRUCTOR},{reject:function(e){var t=s.f(this);return i(t.reject,void 0,e),t.promise}})},{\"../internals/export\":259,\"../internals/function-call\":264,\"../internals/new-promise-capability\":303,\"../internals/promise-constructor-detection\":324}],375:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/get-built-in\"),s=e(\"../internals/is-pure\"),o=e(\"../internals/promise-native-constructor\"),a=e(\"../internals/promise-constructor-detection\").CONSTRUCTOR,l=e(\"../internals/promise-resolve\"),c=i(\"Promise\"),u=s&&!a;n({target:\"Promise\",stat:!0,forced:s||a},{resolve:function(e){return l(u&&this===c?o:this,e)}})},{\"../internals/export\":259,\"../internals/get-built-in\":269,\"../internals/is-pure\":290,\"../internals/promise-constructor-detection\":324,\"../internals/promise-native-constructor\":325,\"../internals/promise-resolve\":326}],376:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/function-uncurry-this\"),s=e(\"../internals/to-absolute-index\"),o=RangeError,a=String.fromCharCode,l=String.fromCodePoint,c=i([].join);n({target:\"String\",stat:!0,arity:1,forced:!!l&&1!==l.length},{fromCodePoint:function(e){for(var t,r=[],n=arguments.length,i=0;n>i;){if(t=+arguments[i++],s(t,1114111)!==t)throw new o(t+\" is not a valid code point\");r[i]=t<65536?a(t):a(55296+((t-=65536)>>10),t%1024+56320)}return c(r,\"\")}})},{\"../internals/export\":259,\"../internals/function-uncurry-this\":268,\"../internals/to-absolute-index\":340}],377:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/function-uncurry-this\"),s=e(\"../internals/not-a-regexp\"),o=e(\"../internals/require-object-coercible\"),a=e(\"../internals/to-string\"),l=e(\"../internals/correct-is-regexp-logic\"),c=i(\"\".indexOf);n({target:\"String\",proto:!0,forced:!l(\"includes\")},{includes:function(e){return!!~c(a(o(this)),a(s(e)),arguments.length>1?arguments[1]:void 0)}})},{\"../internals/correct-is-regexp-logic\":238,\"../internals/export\":259,\"../internals/function-uncurry-this\":268,\"../internals/not-a-regexp\":304,\"../internals/require-object-coercible\":329,\"../internals/to-string\":348}],378:[function(e,t,r){\"use strict\";e(\"../internals/well-known-symbol-define\")(\"asyncIterator\")},{\"../internals/well-known-symbol-define\":355}],379:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/global\"),s=e(\"../internals/function-call\"),o=e(\"../internals/function-uncurry-this\"),a=e(\"../internals/is-pure\"),l=e(\"../internals/descriptors\"),c=e(\"../internals/symbol-constructor-detection\"),u=e(\"../internals/fails\"),h=e(\"../internals/has-own-property\"),f=e(\"../internals/object-is-prototype-of\"),d=e(\"../internals/an-object\"),p=e(\"../internals/to-indexed-object\"),m=e(\"../internals/to-property-key\"),b=e(\"../internals/to-string\"),g=e(\"../internals/create-property-descriptor\"),y=e(\"../internals/object-create\"),v=e(\"../internals/object-keys\"),w=e(\"../internals/object-get-own-property-names\"),_=e(\"../internals/object-get-own-property-names-external\"),x=e(\"../internals/object-get-own-property-symbols\"),k=e(\"../internals/object-get-own-property-descriptor\"),S=e(\"../internals/object-define-property\"),M=e(\"../internals/object-define-properties\"),C=e(\"../internals/object-property-is-enumerable\"),T=e(\"../internals/define-built-in\"),E=e(\"../internals/define-built-in-accessor\"),A=e(\"../internals/shared\"),R=e(\"../internals/shared-key\"),O=e(\"../internals/hidden-keys\"),j=e(\"../internals/uid\"),I=e(\"../internals/well-known-symbol\"),N=e(\"../internals/well-known-symbol-wrapped\"),P=e(\"../internals/well-known-symbol-define\"),B=e(\"../internals/symbol-define-to-primitive\"),D=e(\"../internals/set-to-string-tag\"),F=e(\"../internals/internal-state\"),L=e(\"../internals/array-iteration\").forEach,z=R(\"hidden\"),U=F.set,$=F.getterFor(\"Symbol\"),H=Object.prototype,V=i.Symbol,q=V&&V.prototype,W=i.RangeError,X=i.TypeError,K=i.QObject,Y=k.f,Z=S.f,G=_.f,J=C.f,Q=o([].push),ee=A(\"symbols\"),te=A(\"op-symbols\"),re=A(\"wks\"),ne=!K||!K.prototype||!K.prototype.findChild,ie=function(e,t,r){var n=Y(H,t);n&&delete H[t],Z(e,t,r),n&&e!==H&&Z(H,t,n)},se=l&&u((function(){return 7!==y(Z({},\"a\",{get:function(){return Z(this,\"a\",{value:7}).a}})).a}))?ie:Z,oe=function(e,t){var r=ee[e]=y(q);return U(r,{type:\"Symbol\",tag:e,description:t}),l||(r.description=t),r},ae=function(e,t,r){e===H&&ae(te,t,r),d(e);var n=m(t);return d(r),h(ee,n)?(r.enumerable?(h(e,z)&&e[z][n]&&(e[z][n]=!1),r=y(r,{enumerable:g(0,!1)})):(h(e,z)||Z(e,z,g(1,{})),e[z][n]=!0),se(e,n,r)):Z(e,n,r)},le=function(e,t){d(e);var r=p(t),n=v(r).concat(fe(r));return L(n,(function(t){l&&!s(ce,r,t)||ae(e,t,r[t])})),e},ce=function(e){var t=m(e),r=s(J,this,t);return!(this===H&&h(ee,t)&&!h(te,t))&&(!(r||!h(this,t)||!h(ee,t)||h(this,z)&&this[z][t])||r)},ue=function(e,t){var r=p(e),n=m(t);if(r!==H||!h(ee,n)||h(te,n)){var i=Y(r,n);return!i||!h(ee,n)||h(r,z)&&r[z][n]||(i.enumerable=!0),i}},he=function(e){var t=G(p(e)),r=[];return L(t,(function(e){h(ee,e)||h(O,e)||Q(r,e)})),r},fe=function(e){var t=e===H,r=G(t?te:p(e)),n=[];return L(r,(function(e){!h(ee,e)||t&&!h(H,e)||Q(n,ee[e])})),n};c||(T(q=(V=function(){if(f(q,this))throw new X(\"Symbol is not a constructor\");var e=arguments.length&&void 0!==arguments[0]?b(arguments[0]):void 0,t=j(e),r=function(e){this===H&&s(r,te,e),h(this,z)&&h(this[z],t)&&(this[z][t]=!1);var n=g(1,e);try{se(this,t,n)}catch(e){if(!(e instanceof W))throw e;ie(this,t,n)}};return l&&ne&&se(H,t,{configurable:!0,set:r}),oe(t,e)}).prototype,\"toString\",(function(){return $(this).tag})),T(V,\"withoutSetter\",(function(e){return oe(j(e),e)})),C.f=ce,S.f=ae,M.f=le,k.f=ue,w.f=_.f=he,x.f=fe,N.f=function(e){return oe(I(e),e)},l&&(E(q,\"description\",{configurable:!0,get:function(){return $(this).description}}),a||T(H,\"propertyIsEnumerable\",ce,{unsafe:!0}))),n({global:!0,constructor:!0,wrap:!0,forced:!c,sham:!c},{Symbol:V}),L(v(re),(function(e){P(e)})),n({target:\"Symbol\",stat:!0,forced:!c},{useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),n({target:\"Object\",stat:!0,forced:!c,sham:!l},{create:function(e,t){return void 0===t?y(e):le(y(e),t)},defineProperty:ae,defineProperties:le,getOwnPropertyDescriptor:ue}),n({target:\"Object\",stat:!0,forced:!c},{getOwnPropertyNames:he}),B(),D(V,\"Symbol\"),O[z]=!0},{\"../internals/an-object\":227,\"../internals/array-iteration\":229,\"../internals/create-property-descriptor\":242,\"../internals/define-built-in\":245,\"../internals/define-built-in-accessor\":244,\"../internals/descriptors\":247,\"../internals/export\":259,\"../internals/fails\":260,\"../internals/function-call\":264,\"../internals/function-uncurry-this\":268,\"../internals/global\":274,\"../internals/has-own-property\":275,\"../internals/hidden-keys\":276,\"../internals/internal-state\":282,\"../internals/is-pure\":290,\"../internals/object-create\":306,\"../internals/object-define-properties\":307,\"../internals/object-define-property\":308,\"../internals/object-get-own-property-descriptor\":309,\"../internals/object-get-own-property-names\":311,\"../internals/object-get-own-property-names-external\":310,\"../internals/object-get-own-property-symbols\":312,\"../internals/object-is-prototype-of\":314,\"../internals/object-keys\":316,\"../internals/object-property-is-enumerable\":317,\"../internals/set-to-string-tag\":331,\"../internals/shared\":334,\"../internals/shared-key\":332,\"../internals/symbol-constructor-detection\":336,\"../internals/symbol-define-to-primitive\":337,\"../internals/to-indexed-object\":341,\"../internals/to-property-key\":346,\"../internals/to-string\":348,\"../internals/uid\":350,\"../internals/well-known-symbol\":357,\"../internals/well-known-symbol-define\":355,\"../internals/well-known-symbol-wrapped\":356}],380:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/get-built-in\"),s=e(\"../internals/has-own-property\"),o=e(\"../internals/to-string\"),a=e(\"../internals/shared\"),l=e(\"../internals/symbol-registry-detection\"),c=a(\"string-to-symbol-registry\"),u=a(\"symbol-to-string-registry\");n({target:\"Symbol\",stat:!0,forced:!l},{for:function(e){var t=o(e);if(s(c,t))return c[t];var r=i(\"Symbol\")(t);return c[t]=r,u[r]=t,r}})},{\"../internals/export\":259,\"../internals/get-built-in\":269,\"../internals/has-own-property\":275,\"../internals/shared\":334,\"../internals/symbol-registry-detection\":338,\"../internals/to-string\":348}],381:[function(e,t,r){\"use strict\";e(\"../modules/es.symbol.constructor\"),e(\"../modules/es.symbol.for\"),e(\"../modules/es.symbol.key-for\"),e(\"../modules/es.json.stringify\"),e(\"../modules/es.object.get-own-property-symbols\")},{\"../modules/es.json.stringify\":362,\"../modules/es.object.get-own-property-symbols\":365,\"../modules/es.symbol.constructor\":379,\"../modules/es.symbol.for\":380,\"../modules/es.symbol.key-for\":382}],382:[function(e,t,r){\"use strict\";var n=e(\"../internals/export\"),i=e(\"../internals/has-own-property\"),s=e(\"../internals/is-symbol\"),o=e(\"../internals/try-to-string\"),a=e(\"../internals/shared\"),l=e(\"../internals/symbol-registry-detection\"),c=a(\"symbol-to-string-registry\");n({target:\"Symbol\",stat:!0,forced:!l},{keyFor:function(e){if(!s(e))throw new TypeError(o(e)+\" is not a symbol\");if(i(c,e))return c[e]}})},{\"../internals/export\":259,\"../internals/has-own-property\":275,\"../internals/is-symbol\":292,\"../internals/shared\":334,\"../internals/symbol-registry-detection\":338,\"../internals/try-to-string\":349}],383:[function(e,t,r){\"use strict\";function n(e){return Object.prototype.toString.call(e)}r.isArray=function(e){return Array.isArray?Array.isArray(e):\"[object Array]\"===n(e)},r.isBoolean=function(e){return\"boolean\"==typeof e},r.isNull=function(e){return null===e},r.isNullOrUndefined=function(e){return null==e},r.isNumber=function(e){return\"number\"==typeof e},r.isString=function(e){return\"string\"==typeof e},r.isSymbol=function(e){return\"symbol\"==typeof e},r.isUndefined=function(e){return void 0===e},r.isRegExp=function(e){return\"[object RegExp]\"===n(e)},r.isObject=function(e){return\"object\"==typeof e&&null!==e},r.isDate=function(e){return\"[object Date]\"===n(e)},r.isError=function(e){return\"[object Error]\"===n(e)||e instanceof Error},r.isFunction=function(e){return\"function\"==typeof e},r.isPrimitive=function(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||void 0===e},r.isBuffer=e(\"buffer\").Buffer.isBuffer},{buffer:220}],384:[function(e,t,r){(function(r){(function(){\"use strict\";var n=e(\"elliptic\"),i=e(\"bn.js\");t.exports=function(e){return new o(e)};var s={secp256k1:{name:\"secp256k1\",byteLength:32},secp224r1:{name:\"p224\",byteLength:28},prime256v1:{name:\"p256\",byteLength:32},prime192v1:{name:\"p192\",byteLength:24},ed25519:{name:\"ed25519\",byteLength:32},secp384r1:{name:\"p384\",byteLength:48},secp521r1:{name:\"p521\",byteLength:66}};function o(e){this.curveType=s[e],this.curveType||(this.curveType={name:e}),this.curve=new n.ec(this.curveType.name),this.keys=void 0}function a(e,t,n){Array.isArray(e)||(e=e.toArray());var i=new r(e);if(n&&i.length<n){var s=new r(n-i.length);s.fill(0),i=r.concat([s,i])}return t?i.toString(t):i}s.p224=s.secp224r1,s.p256=s.secp256r1=s.prime256v1,s.p192=s.secp192r1=s.prime192v1,s.p384=s.secp384r1,s.p521=s.secp521r1,o.prototype.generateKeys=function(e,t){return this.keys=this.curve.genKeyPair(),this.getPublicKey(e,t)},o.prototype.computeSecret=function(e,t,n){return t=t||\"utf8\",r.isBuffer(e)||(e=new r(e,t)),a(this.curve.keyFromPublic(e).getPublic().mul(this.keys.getPrivate()).getX(),n,this.curveType.byteLength)},o.prototype.getPublicKey=function(e,t){var r=this.keys.getPublic(\"compressed\"===t,!0);return\"hybrid\"===t&&(r[r.length-1]%2?r[0]=7:r[0]=6),a(r,e)},o.prototype.getPrivateKey=function(e){return a(this.keys.getPrivate(),e)},o.prototype.setPublicKey=function(e,t){return t=t||\"utf8\",r.isBuffer(e)||(e=new r(e,t)),this.keys._importPublic(e),this},o.prototype.setPrivateKey=function(e,t){t=t||\"utf8\",r.isBuffer(e)||(e=new r(e,t));var n=new i(e);return n=n.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(n),this}}).call(this)}).call(this,e(\"buffer\").Buffer)},{\"bn.js\":385,buffer:220,elliptic:405}],385:[function(e,t,r){arguments[4][184][0].apply(r,arguments)},{buffer:188,dup:184}],386:[function(e,t,r){\"use strict\";var n=e(\"inherits\"),i=e(\"md5.js\"),s=e(\"ripemd160\"),o=e(\"sha.js\"),a=e(\"cipher-base\");function l(e){a.call(this,\"digest\"),this._hash=e}n(l,a),l.prototype._update=function(e){this._hash.update(e)},l.prototype._final=function(){return this._hash.digest()},t.exports=function(e){return\"md5\"===(e=e.toLowerCase())?new i:\"rmd160\"===e||\"ripemd160\"===e?new s:new l(o(e))}},{\"cipher-base\":221,inherits:440,\"md5.js\":450,ripemd160:493,\"sha.js\":498}],387:[function(e,t,r){\"use strict\";var n=e(\"md5.js\");t.exports=function(e){return(new n).update(e).digest()}},{\"md5.js\":450}],388:[function(e,t,r){\"use strict\";var n=e(\"inherits\"),i=e(\"./legacy\"),s=e(\"cipher-base\"),o=e(\"safe-buffer\").Buffer,a=e(\"create-hash/md5\"),l=e(\"ripemd160\"),c=e(\"sha.js\"),u=o.alloc(128);function h(e,t){s.call(this,\"digest\"),\"string\"==typeof t&&(t=o.from(t));var r=\"sha512\"===e||\"sha384\"===e?128:64;(this._alg=e,this._key=t,t.length>r)?t=(\"rmd160\"===e?new l:c(e)).update(t).digest():t.length<r&&(t=o.concat([t,u],r));for(var n=this._ipad=o.allocUnsafe(r),i=this._opad=o.allocUnsafe(r),a=0;a<r;a++)n[a]=54^t[a],i[a]=92^t[a];this._hash=\"rmd160\"===e?new l:c(e),this._hash.update(n)}n(h,s),h.prototype._update=function(e){this._hash.update(e)},h.prototype._final=function(){var e=this._hash.digest();return(\"rmd160\"===this._alg?new l:c(this._alg)).update(this._opad).update(e).digest()},t.exports=function(e,t){return\"rmd160\"===(e=e.toLowerCase())||\"ripemd160\"===e?new h(\"rmd160\",t):\"md5\"===e?new i(a,t):new h(e,t)}},{\"./legacy\":389,\"cipher-base\":221,\"create-hash/md5\":387,inherits:440,ripemd160:493,\"safe-buffer\":494,\"sha.js\":498}],389:[function(e,t,r){\"use strict\";var n=e(\"inherits\"),i=e(\"safe-buffer\").Buffer,s=e(\"cipher-base\"),o=i.alloc(128);function a(e,t){s.call(this,\"digest\"),\"string\"==typeof t&&(t=i.from(t)),this._alg=e,this._key=t,t.length>64?t=e(t):t.length<64&&(t=i.concat([t,o],64));for(var r=this._ipad=i.allocUnsafe(64),n=this._opad=i.allocUnsafe(64),a=0;a<64;a++)r[a]=54^t[a],n[a]=92^t[a];this._hash=[r]}n(a,s),a.prototype._update=function(e){this._hash.push(e)},a.prototype._final=function(){var e=this._alg(i.concat(this._hash));return this._alg(i.concat([this._opad,e]))},t.exports=a},{\"cipher-base\":221,inherits:440,\"safe-buffer\":494}],390:[function(e,t,r){\"use strict\";r.randomBytes=r.rng=r.pseudoRandomBytes=r.prng=e(\"randombytes\"),r.createHash=r.Hash=e(\"create-hash\"),r.createHmac=r.Hmac=e(\"create-hmac\");var n=e(\"browserify-sign/algos\"),i=Object.keys(n),s=[\"sha1\",\"sha224\",\"sha256\",\"sha384\",\"sha512\",\"md5\",\"rmd160\"].concat(i);r.getHashes=function(){return s};var o=e(\"pbkdf2\");r.pbkdf2=o.pbkdf2,r.pbkdf2Sync=o.pbkdf2Sync;var a=e(\"browserify-cipher\");r.Cipher=a.Cipher,r.createCipher=a.createCipher,r.Cipheriv=a.Cipheriv,r.createCipheriv=a.createCipheriv,r.Decipher=a.Decipher,r.createDecipher=a.createDecipher,r.Decipheriv=a.Decipheriv,r.createDecipheriv=a.createDecipheriv,r.getCiphers=a.getCiphers,r.listCiphers=a.listCiphers;var l=e(\"diffie-hellman\");r.DiffieHellmanGroup=l.DiffieHellmanGroup,r.createDiffieHellmanGroup=l.createDiffieHellmanGroup,r.getDiffieHellman=l.getDiffieHellman,r.createDiffieHellman=l.createDiffieHellman,r.DiffieHellman=l.DiffieHellman;var c=e(\"browserify-sign\");r.createSign=c.createSign,r.Sign=c.Sign,r.createVerify=c.createVerify,r.Verify=c.Verify,r.createECDH=e(\"create-ecdh\");var u=e(\"public-encrypt\");r.publicEncrypt=u.publicEncrypt,r.privateEncrypt=u.privateEncrypt,r.publicDecrypt=u.publicDecrypt,r.privateDecrypt=u.privateDecrypt;var h=e(\"randomfill\");r.randomFill=h.randomFill,r.randomFillSync=h.randomFillSync,r.createCredentials=function(){throw new Error([\"sorry, createCredentials is not implemented yet\",\"we accept pull requests\",\"https://github.com/crypto-browserify/crypto-browserify\"].join(\"\\n\"))},r.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},{\"browserify-cipher\":206,\"browserify-sign\":213,\"browserify-sign/algos\":210,\"create-ecdh\":384,\"create-hash\":386,\"create-hmac\":388,\"diffie-hellman\":400,pbkdf2:460,\"public-encrypt\":468,randombytes:475,randomfill:476}],391:[function(e,t,r){\"use strict\";!function(e,n){\"object\"==typeof r&&void 0!==t?t.exports=n():(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs=n()}(void 0,(function(){var e=6e4,t=36e5,r=\"millisecond\",n=\"second\",i=\"minute\",s=\"hour\",o=\"day\",a=\"week\",l=\"month\",c=\"quarter\",u=\"year\",h=\"date\",f=\"Invalid Date\",d=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,p=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,m={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(e){var t=[\"th\",\"st\",\"nd\",\"rd\"],r=e%100;return\"[\"+e+(t[(r-20)%10]||t[r]||t[0])+\"]\"}},b=function(e,t,r){var n=String(e);return!n||n.length>=t?e:\"\"+Array(t+1-n.length).join(r)+e},g={s:b,z:function(e){var t=-e.utcOffset(),r=Math.abs(t),n=Math.floor(r/60),i=r%60;return(t<=0?\"+\":\"-\")+b(n,2,\"0\")+\":\"+b(i,2,\"0\")},m:function e(t,r){if(t.date()<r.date())return-e(r,t);var n=12*(r.year()-t.year())+(r.month()-t.month()),i=t.clone().add(n,l),s=r-i<0,o=t.clone().add(n+(s?-1:1),l);return+(-(n+(r-i)/(s?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:l,y:u,w:a,d:o,D:h,h:s,m:i,s:n,ms:r,Q:c}[e]||String(e||\"\").toLowerCase().replace(/s$/,\"\")},u:function(e){return void 0===e}},y=\"en\",v={};v[y]=m;var w=\"$isDayjsObject\",_=function(e){return e instanceof M||!(!e||!e[w])},x=function e(t,r,n){var i;if(!t)return y;if(\"string\"==typeof t){var s=t.toLowerCase();v[s]&&(i=s),r&&(v[s]=r,i=s);var o=t.split(\"-\");if(!i&&o.length>1)return e(o[0])}else{var a=t.name;v[a]=t,i=a}return!n&&i&&(y=i),i||!n&&y},k=function(e,t){if(_(e))return e.clone();var r=\"object\"==typeof t?t:{};return r.date=e,r.args=arguments,new M(r)},S=g;S.l=x,S.i=_,S.w=function(e,t){return k(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var M=function(){function m(e){this.$L=x(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[w]=!0}var b=m.prototype;return b.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(S.u(t))return new Date;if(t instanceof Date)return new Date(t);if(\"string\"==typeof t&&!/Z$/i.test(t)){var n=t.match(d);if(n){var i=n[2]-1||0,s=(n[7]||\"0\").substring(0,3);return r?new Date(Date.UTC(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)):new Date(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)}}return new Date(t)}(e),this.init()},b.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},b.$utils=function(){return S},b.isValid=function(){return!(this.$d.toString()===f)},b.isSame=function(e,t){var r=k(e);return this.startOf(t)<=r&&r<=this.endOf(t)},b.isAfter=function(e,t){return k(e)<this.startOf(t)},b.isBefore=function(e,t){return this.endOf(t)<k(e)},b.$g=function(e,t,r){return S.u(e)?this[t]:this.set(r,e)},b.unix=function(){return Math.floor(this.valueOf()/1e3)},b.valueOf=function(){return this.$d.getTime()},b.startOf=function(e,t){var r=this,c=!!S.u(t)||t,f=S.p(e),d=function(e,t){var n=S.w(r.$u?Date.UTC(r.$y,t,e):new Date(r.$y,t,e),r);return c?n:n.endOf(o)},p=function(e,t){return S.w(r.toDate()[e].apply(r.toDate(\"s\"),(c?[0,0,0,0]:[23,59,59,999]).slice(t)),r)},m=this.$W,b=this.$M,g=this.$D,y=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case u:return c?d(1,0):d(31,11);case l:return c?d(1,b):d(0,b+1);case a:var v=this.$locale().weekStart||0,w=(m<v?m+7:m)-v;return d(c?g-w:g+(6-w),b);case o:case h:return p(y+\"Hours\",0);case s:return p(y+\"Minutes\",1);case i:return p(y+\"Seconds\",2);case n:return p(y+\"Milliseconds\",3);default:return this.clone()}},b.endOf=function(e){return this.startOf(e,!1)},b.$set=function(e,t){var a,c=S.p(e),f=\"set\"+(this.$u?\"UTC\":\"\"),d=(a={},a[o]=f+\"Date\",a[h]=f+\"Date\",a[l]=f+\"Month\",a[u]=f+\"FullYear\",a[s]=f+\"Hours\",a[i]=f+\"Minutes\",a[n]=f+\"Seconds\",a[r]=f+\"Milliseconds\",a)[c],p=c===o?this.$D+(t-this.$W):t;if(c===l||c===u){var m=this.clone().set(h,1);m.$d[d](p),m.init(),this.$d=m.set(h,Math.min(this.$D,m.daysInMonth())).$d}else d&&this.$d[d](p);return this.init(),this},b.set=function(e,t){return this.clone().$set(e,t)},b.get=function(e){return this[S.p(e)]()},b.add=function(r,c){var h,f=this;r=Number(r);var d=S.p(c),p=function(e){var t=k(f);return S.w(t.date(t.date()+Math.round(e*r)),f)};if(d===l)return this.set(l,this.$M+r);if(d===u)return this.set(u,this.$y+r);if(d===o)return p(1);if(d===a)return p(7);var m=(h={},h[i]=e,h[s]=t,h[n]=1e3,h)[d]||1,b=this.$d.getTime()+r*m;return S.w(b,this)},b.subtract=function(e,t){return this.add(-1*e,t)},b.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return r.invalidDate||f;var n=e||\"YYYY-MM-DDTHH:mm:ssZ\",i=S.z(this),s=this.$H,o=this.$m,a=this.$M,l=r.weekdays,c=r.months,u=r.meridiem,h=function(e,r,i,s){return e&&(e[r]||e(t,n))||i[r].slice(0,s)},d=function(e){return S.s(s%12||12,e,\"0\")},m=u||function(e,t,r){var n=e<12?\"AM\":\"PM\";return r?n.toLowerCase():n};return n.replace(p,(function(e,n){return n||function(e){switch(e){case\"YY\":return String(t.$y).slice(-2);case\"YYYY\":return S.s(t.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return S.s(a+1,2,\"0\");case\"MMM\":return h(r.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return t.$D;case\"DD\":return S.s(t.$D,2,\"0\");case\"d\":return String(t.$W);case\"dd\":return h(r.weekdaysMin,t.$W,l,2);case\"ddd\":return h(r.weekdaysShort,t.$W,l,3);case\"dddd\":return l[t.$W];case\"H\":return String(s);case\"HH\":return S.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return m(s,o,!0);case\"A\":return m(s,o,!1);case\"m\":return String(o);case\"mm\":return S.s(o,2,\"0\");case\"s\":return String(t.$s);case\"ss\":return S.s(t.$s,2,\"0\");case\"SSS\":return S.s(t.$ms,3,\"0\");case\"Z\":return i}return null}(e)||i.replace(\":\",\"\")}))},b.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},b.diff=function(r,h,f){var d,p=this,m=S.p(h),b=k(r),g=(b.utcOffset()-this.utcOffset())*e,y=this-b,v=function(){return S.m(p,b)};switch(m){case u:d=v()/12;break;case l:d=v();break;case c:d=v()/3;break;case a:d=(y-g)/6048e5;break;case o:d=(y-g)/864e5;break;case s:d=y/t;break;case i:d=y/e;break;case n:d=y/1e3;break;default:d=y}return f?d:S.a(d)},b.daysInMonth=function(){return this.endOf(l).$D},b.$locale=function(){return v[this.$L]},b.locale=function(e,t){if(!e)return this.$L;var r=this.clone(),n=x(e,t,!0);return n&&(r.$L=n),r},b.clone=function(){return S.w(this.$d,this)},b.toDate=function(){return new Date(this.valueOf())},b.toJSON=function(){return this.isValid()?this.toISOString():null},b.toISOString=function(){return this.$d.toISOString()},b.toString=function(){return this.$d.toUTCString()},m}(),C=M.prototype;return k.prototype=C,[[\"$ms\",r],[\"$s\",n],[\"$m\",i],[\"$H\",s],[\"$W\",o],[\"$M\",l],[\"$y\",u],[\"$D\",h]].forEach((function(e){C[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),k.extend=function(e,t){return e.$i||(e(t,M,k),e.$i=!0),k},k.locale=x,k.isDayjs=_,k.unix=function(e){return k(1e3*e)},k.en=v[y],k.Ls=v,k.p={},k}))},{}],392:[function(e,t,r){\"use strict\";!function(e,n){\"object\"==typeof r&&void 0!==t?t.exports=n():(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=n()}(void 0,(function(){var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\\d\\d/,n=/\\d\\d?/,i=/\\d*[^-_:/,()\\s\\d]+/,s={},o=function(e){return(e=+e)+(e>68?1900:2e3)},a=function(e){return function(t){this[e]=+t}},l=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),r=60*t[1]+(+t[2]||0);return 0===r?0:\"+\"===t[0]?-r:r}(e)}],c=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},u=function(e,t){var r,n=s.meridiem;if(n){for(var i=1;i<=24;i+=1)if(e.indexOf(n(i,0,t))>-1){r=i>12;break}}else r=e===(t?\"pm\":\"PM\");return r},h={A:[i,function(e){this.afternoon=u(e,!1)}],a:[i,function(e){this.afternoon=u(e,!0)}],S:[/\\d/,function(e){this.milliseconds=100*+e}],SS:[r,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[n,a(\"seconds\")],ss:[n,a(\"seconds\")],m:[n,a(\"minutes\")],mm:[n,a(\"minutes\")],H:[n,a(\"hours\")],h:[n,a(\"hours\")],HH:[n,a(\"hours\")],hh:[n,a(\"hours\")],D:[n,a(\"day\")],DD:[r,a(\"day\")],Do:[i,function(e){var t=s.ordinal,r=e.match(/\\d+/);if(this.day=r[0],t)for(var n=1;n<=31;n+=1)t(n).replace(/\\[|\\]/g,\"\")===e&&(this.day=n)}],M:[n,a(\"month\")],MM:[r,a(\"month\")],MMM:[i,function(e){var t=c(\"months\"),r=(c(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(r<1)throw new Error;this.month=r%12||r}],MMMM:[i,function(e){var t=c(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,a(\"year\")],YY:[r,function(e){this.year=o(e)}],YYYY:[/\\d{4}/,a(\"year\")],Z:l,ZZ:l};function f(r){var n,i;n=r,i=s&&s.formats;for(var o=(r=n.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,r,n){var s=n&&n.toUpperCase();return r||i[n]||e[n]||i[s].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,r){return t||r.slice(1)}))}))).match(t),a=o.length,l=0;l<a;l+=1){var c=o[l],u=h[c],f=u&&u[0],d=u&&u[1];o[l]=d?{regex:f,parser:d}:c.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},r=0,n=0;r<a;r+=1){var i=o[r];if(\"string\"==typeof i)n+=i.length;else{var s=i.regex,l=i.parser,c=e.slice(n),u=s.exec(c)[0];l.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var r=e.hours;t?r<12&&(e.hours+=12):12===r&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,r){r.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(o=e.parseTwoDigitYear);var n=t.prototype,i=n.parse;n.parse=function(e){var t=e.date,n=e.utc,o=e.args;this.$u=n;var a=o[1];if(\"string\"==typeof a){var l=!0===o[2],c=!0===o[3],u=l||c,h=o[2];c&&(h=o[2]),s=this.$locale(),!l&&h&&(s=r.Ls[h]),this.$d=function(e,t,r){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var n=f(t)(e),i=n.year,s=n.month,o=n.day,a=n.hours,l=n.minutes,c=n.seconds,u=n.milliseconds,h=n.zone,d=new Date,p=o||(i||s?1:d.getDate()),m=i||d.getFullYear(),b=0;i&&!s||(b=s>0?s-1:d.getMonth());var g=a||0,y=l||0,v=c||0,w=u||0;return h?new Date(Date.UTC(m,b,p,g,y,v,w+60*h.offset*1e3)):r?new Date(Date.UTC(m,b,p,g,y,v,w)):new Date(m,b,p,g,y,v,w)}catch(e){return new Date(\"\")}}(t,a,n),this.init(),h&&!0!==h&&(this.$L=this.locale(h).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),s={}}else if(a instanceof Array)for(var d=a.length,p=1;p<=d;p+=1){o[1]=a[p-1];var m=r.apply(this,o);if(m.isValid()){this.$d=m.$d,this.$L=m.$L,this.init();break}p===d&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}))},{}],393:[function(e,t,r){\"use strict\";!function(e,n){\"object\"==typeof r&&void 0!==t?t.exports=n():(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_utc=n()}(void 0,(function(){var e=\"minute\",t=/[+-]\\d\\d(?::?\\d\\d)?/g,r=/([+-]|\\d\\d)/g;return function(n,i,s){var o=i.prototype;s.utc=function(e){var t={date:e,utc:!0,args:arguments};return new i(t)},o.utc=function(t){var r=s(this.toDate(),{locale:this.$L,utc:!0});return t?r.add(this.utcOffset(),e):r},o.local=function(){return s(this.toDate(),{locale:this.$L,utc:!1})};var a=o.parse;o.parse=function(e){e.utc&&(this.$u=!0),this.$utils().u(e.$offset)||(this.$offset=e.$offset),a.call(this,e)};var l=o.init;o.init=function(){if(this.$u){var e=this.$d;this.$y=e.getUTCFullYear(),this.$M=e.getUTCMonth(),this.$D=e.getUTCDate(),this.$W=e.getUTCDay(),this.$H=e.getUTCHours(),this.$m=e.getUTCMinutes(),this.$s=e.getUTCSeconds(),this.$ms=e.getUTCMilliseconds()}else l.call(this)};var c=o.utcOffset;o.utcOffset=function(n,i){var s=this.$utils().u;if(s(n))return this.$u?0:s(this.$offset)?c.call(this):this.$offset;if(\"string\"==typeof n&&null===(n=function(e){void 0===e&&(e=\"\");var n=e.match(t);if(!n)return null;var i=(\"\"+n[0]).match(r)||[\"-\",0,0],s=i[0],o=60*+i[1]+ +i[2];return 0===o?0:\"+\"===s?o:-o}(n)))return this;var o=Math.abs(n)<=16?60*n:n,a=this;if(i)return a.$offset=o,a.$u=0===n,a;if(0!==n){var l=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(a=this.local().add(o+l,e)).$offset=o,a.$x.$localOffset=l}else a=this.utc();return a};var u=o.format;o.format=function(e){var t=e||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return u.call(this,t)},o.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*e},o.isUTC=function(){return!!this.$u},o.toISOString=function(){return this.toDate().toISOString()},o.toString=function(){return this.toDate().toUTCString()};var h=o.toDate;o.toDate=function(e){return\"s\"===e&&this.$offset?s(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():h.call(this)};var f=o.diff;o.diff=function(e,t,r){if(e&&this.$u===e.$u)return f.call(this,e,t,r);var n=this.local(),i=s(e).local();return f.call(n,i,t,r)}}}))},{}],394:[function(e,t,r){\"use strict\";r.utils=e(\"./des/utils\"),r.Cipher=e(\"./des/cipher\"),r.DES=e(\"./des/des\"),r.CBC=e(\"./des/cbc\"),r.EDE=e(\"./des/ede\")},{\"./des/cbc\":395,\"./des/cipher\":396,\"./des/des\":397,\"./des/ede\":398,\"./des/utils\":399}],395:[function(e,t,r){\"use strict\";var n=e(\"minimalistic-assert\"),i=e(\"inherits\"),s={};function o(e){n.equal(e.length,8,\"Invalid IV length\"),this.iv=new Array(8);for(var t=0;t<this.iv.length;t++)this.iv[t]=e[t]}r.instantiate=function(e){function t(t){e.call(this,t),this._cbcInit()}i(t,e);for(var r=Object.keys(s),n=0;n<r.length;n++){var o=r[n];t.prototype[o]=s[o]}return t.create=function(e){return new t(e)},t},s._cbcInit=function(){var e=new o(this.options.iv);this._cbcState=e},s._update=function(e,t,r,n){var i=this._cbcState,s=this.constructor.super_.prototype,o=i.iv;if(\"encrypt\"===this.type){for(var a=0;a<this.blockSize;a++)o[a]^=e[t+a];s._update.call(this,o,0,r,n);for(a=0;a<this.blockSize;a++)o[a]=r[n+a]}else{s._update.call(this,e,t,r,n);for(a=0;a<this.blockSize;a++)r[n+a]^=o[a];for(a=0;a<this.blockSize;a++)o[a]=e[t+a]}}},{inherits:440,\"minimalistic-assert\":453}],396:[function(e,t,r){\"use strict\";var n=e(\"minimalistic-assert\");function i(e){this.options=e,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0,this.padding=!1!==e.padding}t.exports=i,i.prototype._init=function(){},i.prototype.update=function(e){return 0===e.length?[]:\"decrypt\"===this.type?this._updateDecrypt(e):this._updateEncrypt(e)},i.prototype._buffer=function(e,t){for(var r=Math.min(this.buffer.length-this.bufferOff,e.length-t),n=0;n<r;n++)this.buffer[this.bufferOff+n]=e[t+n];return this.bufferOff+=r,r},i.prototype._flushBuffer=function(e,t){return this._update(this.buffer,0,e,t),this.bufferOff=0,this.blockSize},i.prototype._updateEncrypt=function(e){var t=0,r=0,n=(this.bufferOff+e.length)/this.blockSize|0,i=new Array(n*this.blockSize);0!==this.bufferOff&&(t+=this._buffer(e,t),this.bufferOff===this.buffer.length&&(r+=this._flushBuffer(i,r)));for(var s=e.length-(e.length-t)%this.blockSize;t<s;t+=this.blockSize)this._update(e,t,i,r),r+=this.blockSize;for(;t<e.length;t++,this.bufferOff++)this.buffer[this.bufferOff]=e[t];return i},i.prototype._updateDecrypt=function(e){for(var t=0,r=0,n=Math.ceil((this.bufferOff+e.length)/this.blockSize)-1,i=new Array(n*this.blockSize);n>0;n--)t+=this._buffer(e,t),r+=this._flushBuffer(i,r);return t+=this._buffer(e,t),i},i.prototype.final=function(e){var t,r;return e&&(t=this.update(e)),r=\"encrypt\"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(r):r},i.prototype._pad=function(e,t){if(0===t)return!1;for(;t<e.length;)e[t++]=0;return!0},i.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var e=new Array(this.blockSize);return this._update(this.buffer,0,e,0),e},i.prototype._unpad=function(e){return e},i.prototype._finalDecrypt=function(){n.equal(this.bufferOff,this.blockSize,\"Not enough data to decrypt\");var e=new Array(this.blockSize);return this._flushBuffer(e,0),this._unpad(e)}},{\"minimalistic-assert\":453}],397:[function(e,t,r){\"use strict\";var n=e(\"minimalistic-assert\"),i=e(\"inherits\"),s=e(\"./utils\"),o=e(\"./cipher\");function a(){this.tmp=new Array(2),this.keys=null}function l(e){o.call(this,e);var t=new a;this._desState=t,this.deriveKeys(t,e.key)}i(l,o),t.exports=l,l.create=function(e){return new l(e)};var c=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];l.prototype.deriveKeys=function(e,t){e.keys=new Array(32),n.equal(t.length,this.blockSize,\"Invalid key length\");var r=s.readUInt32BE(t,0),i=s.readUInt32BE(t,4);s.pc1(r,i,e.tmp,0),r=e.tmp[0],i=e.tmp[1];for(var o=0;o<e.keys.length;o+=2){var a=c[o>>>1];r=s.r28shl(r,a),i=s.r28shl(i,a),s.pc2(r,i,e.keys,o)}},l.prototype._update=function(e,t,r,n){var i=this._desState,o=s.readUInt32BE(e,t),a=s.readUInt32BE(e,t+4);s.ip(o,a,i.tmp,0),o=i.tmp[0],a=i.tmp[1],\"encrypt\"===this.type?this._encrypt(i,o,a,i.tmp,0):this._decrypt(i,o,a,i.tmp,0),o=i.tmp[0],a=i.tmp[1],s.writeUInt32BE(r,o,n),s.writeUInt32BE(r,a,n+4)},l.prototype._pad=function(e,t){if(!1===this.padding)return!1;for(var r=e.length-t,n=t;n<e.length;n++)e[n]=r;return!0},l.prototype._unpad=function(e){if(!1===this.padding)return e;for(var t=e[e.length-1],r=e.length-t;r<e.length;r++)n.equal(e[r],t);return e.slice(0,e.length-t)},l.prototype._encrypt=function(e,t,r,n,i){for(var o=t,a=r,l=0;l<e.keys.length;l+=2){var c=e.keys[l],u=e.keys[l+1];s.expand(a,e.tmp,0),c^=e.tmp[0],u^=e.tmp[1];var h=s.substitute(c,u),f=a;a=(o^s.permute(h))>>>0,o=f}s.rip(a,o,n,i)},l.prototype._decrypt=function(e,t,r,n,i){for(var o=r,a=t,l=e.keys.length-2;l>=0;l-=2){var c=e.keys[l],u=e.keys[l+1];s.expand(o,e.tmp,0),c^=e.tmp[0],u^=e.tmp[1];var h=s.substitute(c,u),f=o;o=(a^s.permute(h))>>>0,a=f}s.rip(o,a,n,i)}},{\"./cipher\":396,\"./utils\":399,inherits:440,\"minimalistic-assert\":453}],398:[function(e,t,r){\"use strict\";var n=e(\"minimalistic-assert\"),i=e(\"inherits\"),s=e(\"./cipher\"),o=e(\"./des\");function a(e,t){n.equal(t.length,24,\"Invalid key length\");var r=t.slice(0,8),i=t.slice(8,16),s=t.slice(16,24);this.ciphers=\"encrypt\"===e?[o.create({type:\"encrypt\",key:r}),o.create({type:\"decrypt\",key:i}),o.create({type:\"encrypt\",key:s})]:[o.create({type:\"decrypt\",key:s}),o.create({type:\"encrypt\",key:i}),o.create({type:\"decrypt\",key:r})]}function l(e){s.call(this,e);var t=new a(this.type,this.options.key);this._edeState=t}i(l,s),t.exports=l,l.create=function(e){return new l(e)},l.prototype._update=function(e,t,r,n){var i=this._edeState;i.ciphers[0]._update(e,t,r,n),i.ciphers[1]._update(r,n,r,n),i.ciphers[2]._update(r,n,r,n)},l.prototype._pad=o.prototype._pad,l.prototype._unpad=o.prototype._unpad},{\"./cipher\":396,\"./des\":397,inherits:440,\"minimalistic-assert\":453}],399:[function(e,t,r){\"use strict\";r.readUInt32BE=function(e,t){return(e[0+t]<<24|e[1+t]<<16|e[2+t]<<8|e[3+t])>>>0},r.writeUInt32BE=function(e,t,r){e[0+r]=t>>>24,e[1+r]=t>>>16&255,e[2+r]=t>>>8&255,e[3+r]=255&t},r.ip=function(e,t,r,n){for(var i=0,s=0,o=6;o>=0;o-=2){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>>a+o&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>>a+o&1}for(o=6;o>=0;o-=2){for(a=1;a<=25;a+=8)s<<=1,s|=t>>>a+o&1;for(a=1;a<=25;a+=8)s<<=1,s|=e>>>a+o&1}r[n+0]=i>>>0,r[n+1]=s>>>0},r.rip=function(e,t,r,n){for(var i=0,s=0,o=0;o<4;o++)for(var a=24;a>=0;a-=8)i<<=1,i|=t>>>a+o&1,i<<=1,i|=e>>>a+o&1;for(o=4;o<8;o++)for(a=24;a>=0;a-=8)s<<=1,s|=t>>>a+o&1,s<<=1,s|=e>>>a+o&1;r[n+0]=i>>>0,r[n+1]=s>>>0},r.pc1=function(e,t,r,n){for(var i=0,s=0,o=7;o>=5;o--){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>a+o&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>a+o&1}for(a=0;a<=24;a+=8)i<<=1,i|=t>>a+o&1;for(o=1;o<=3;o++){for(a=0;a<=24;a+=8)s<<=1,s|=t>>a+o&1;for(a=0;a<=24;a+=8)s<<=1,s|=e>>a+o&1}for(a=0;a<=24;a+=8)s<<=1,s|=e>>a+o&1;r[n+0]=i>>>0,r[n+1]=s>>>0},r.r28shl=function(e,t){return e<<t&268435455|e>>>28-t};var n=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];r.pc2=function(e,t,r,i){for(var s=0,o=0,a=n.length>>>1,l=0;l<a;l++)s<<=1,s|=e>>>n[l]&1;for(l=a;l<n.length;l++)o<<=1,o|=t>>>n[l]&1;r[i+0]=s>>>0,r[i+1]=o>>>0},r.expand=function(e,t,r){var n=0,i=0;n=(1&e)<<5|e>>>27;for(var s=23;s>=15;s-=4)n<<=6,n|=e>>>s&63;for(s=11;s>=3;s-=4)i|=e>>>s&63,i<<=6;i|=(31&e)<<1|e>>>31,t[r+0]=n>>>0,t[r+1]=i>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];r.substitute=function(e,t){for(var r=0,n=0;n<4;n++){r<<=4,r|=i[64*n+(e>>>18-6*n&63)]}for(n=0;n<4;n++){r<<=4,r|=i[256+64*n+(t>>>18-6*n&63)]}return r>>>0};var s=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];r.permute=function(e){for(var t=0,r=0;r<s.length;r++)t<<=1,t|=e>>>s[r]&1;return t>>>0},r.padSplit=function(e,t,r){for(var n=e.toString(2);n.length<t;)n=\"0\"+n;for(var i=[],s=0;s<t;s+=r)i.push(n.slice(s,s+r));return i.join(\" \")}},{}],400:[function(e,t,r){(function(t){(function(){\"use strict\";var n=e(\"./lib/generatePrime\"),i=e(\"./lib/primes.json\"),s=e(\"./lib/dh\");var o={binary:!0,hex:!0,base64:!0};r.DiffieHellmanGroup=r.createDiffieHellmanGroup=r.getDiffieHellman=function(e){var r=new t(i[e].prime,\"hex\"),n=new t(i[e].gen,\"hex\");return new s(r,n)},r.createDiffieHellman=r.DiffieHellman=function e(r,i,a,l){return t.isBuffer(i)||void 0===o[i]?e(r,\"binary\",i,a):(i=i||\"binary\",l=l||\"binary\",a=a||new t([2]),t.isBuffer(a)||(a=new t(a,l)),\"number\"==typeof r?new s(n(r,a),a,!0):(t.isBuffer(r)||(r=new t(r,i)),new s(r,a,!0)))}}).call(this)}).call(this,e(\"buffer\").Buffer)},{\"./lib/dh\":401,\"./lib/generatePrime\":402,\"./lib/primes.json\":403,buffer:220}],401:[function(e,t,r){(function(r){(function(){\"use strict\";var n=e(\"bn.js\"),i=new(e(\"miller-rabin\")),s=new n(24),o=new n(11),a=new n(10),l=new n(3),c=new n(7),u=e(\"./generatePrime\"),h=e(\"randombytes\");function f(e,t){return t=t||\"utf8\",r.isBuffer(e)||(e=new r(e,t)),this._pub=new n(e),this}function d(e,t){return t=t||\"utf8\",r.isBuffer(e)||(e=new r(e,t)),this._priv=new n(e),this}t.exports=m;var p={};function m(e,t,r){this.setGenerator(t),this.__prime=new n(e),this._prime=n.mont(this.__prime),this._primeLen=e.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=f,this.setPrivateKey=d):this._primeCode=8}function b(e,t){var n=new r(e.toArray());return t?n.toString(t):n}Object.defineProperty(m.prototype,\"verifyError\",{enumerable:!0,get:function(){return\"number\"!=typeof this._primeCode&&(this._primeCode=function(e,t){var r=t.toString(\"hex\"),n=[r,e.toString(16)].join(\"_\");if(n in p)return p[n];var h,f=0;if(e.isEven()||!u.simpleSieve||!u.fermatTest(e)||!i.test(e))return f+=1,f+=\"02\"===r||\"05\"===r?8:4,p[n]=f,f;switch(i.test(e.shrn(1))||(f+=2),r){case\"02\":e.mod(s).cmp(o)&&(f+=8);break;case\"05\":(h=e.mod(a)).cmp(l)&&h.cmp(c)&&(f+=8);break;default:f+=4}return p[n]=f,f}(this.__prime,this.__gen)),this._primeCode}}),m.prototype.generateKeys=function(){return this._priv||(this._priv=new n(h(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},m.prototype.computeSecret=function(e){var t=(e=(e=new n(e)).toRed(this._prime)).redPow(this._priv).fromRed(),i=new r(t.toArray()),s=this.getPrime();if(i.length<s.length){var o=new r(s.length-i.length);o.fill(0),i=r.concat([o,i])}return i},m.prototype.getPublicKey=function(e){return b(this._pub,e)},m.prototype.getPrivateKey=function(e){return b(this._priv,e)},m.prototype.getPrime=function(e){return b(this.__prime,e)},m.prototype.getGenerator=function(e){return b(this._gen,e)},m.prototype.setGenerator=function(e,t){return t=t||\"utf8\",r.isBuffer(e)||(e=new r(e,t)),this.__gen=e,this._gen=new n(e),this}}).call(this)}).call(this,e(\"buffer\").Buffer)},{\"./generatePrime\":402,\"bn.js\":404,buffer:220,\"miller-rabin\":451,randombytes:475}],402:[function(e,t,r){\"use strict\";var n=e(\"randombytes\");t.exports=y,y.simpleSieve=b,y.fermatTest=g;var i=e(\"bn.js\"),s=new i(24),o=new(e(\"miller-rabin\")),a=new i(1),l=new i(2),c=new i(5),u=(new i(16),new i(8),new i(10)),h=new i(3),f=(new i(7),new i(11)),d=new i(4),p=(new i(12),null);function m(){if(null!==p)return p;var e=[];e[0]=2;for(var t=1,r=3;r<1048576;r+=2){for(var n=Math.ceil(Math.sqrt(r)),i=0;i<t&&e[i]<=n&&r%e[i]!=0;i++);t!==i&&e[i]<=n||(e[t++]=r)}return p=e,e}function b(e){for(var t=m(),r=0;r<t.length;r++)if(0===e.modn(t[r]))return 0===e.cmpn(t[r]);return!0}function g(e){var t=i.mont(e);return 0===l.toRed(t).redPow(e.subn(1)).fromRed().cmpn(1)}function y(e,t){if(e<16)return new i(2===t||5===t?[140,123]:[140,39]);var r,p;for(t=new i(t);;){for(r=new i(n(Math.ceil(e/8)));r.bitLength()>e;)r.ishrn(1);if(r.isEven()&&r.iadd(a),r.testn(1)||r.iadd(l),t.cmp(l)){if(!t.cmp(c))for(;r.mod(u).cmp(h);)r.iadd(d)}else for(;r.mod(s).cmp(f);)r.iadd(d);if(b(p=r.shrn(1))&&b(r)&&g(p)&&g(r)&&o.test(p)&&o.test(r))return r}}},{\"bn.js\":404,\"miller-rabin\":451,randombytes:475}],403:[function(e,t,r){t.exports={modp1:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"},modp2:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"},modp5:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"},modp14:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"},modp15:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"},modp16:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"},modp17:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"},modp18:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"}}},{}],404:[function(e,t,r){arguments[4][184][0].apply(r,arguments)},{buffer:188,dup:184}],405:[function(e,t,r){\"use strict\";var n=r;n.version=e(\"../package.json\").version,n.utils=e(\"./elliptic/utils\"),n.rand=e(\"brorand\"),n.curve=e(\"./elliptic/curve\"),n.curves=e(\"./elliptic/curves\"),n.ec=e(\"./elliptic/ec\"),n.eddsa=e(\"./elliptic/eddsa\")},{\"../package.json\":421,\"./elliptic/curve\":408,\"./elliptic/curves\":411,\"./elliptic/ec\":412,\"./elliptic/eddsa\":415,\"./elliptic/utils\":419,brorand:187}],406:[function(e,t,r){\"use strict\";var n=e(\"bn.js\"),i=e(\"../utils\"),s=i.getNAF,o=i.getJSF,a=i.assert;function l(e,t){this.type=e,this.p=new n(t.p,16),this.red=t.prime?n.red(t.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=t.n&&new n(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function c(e,t){this.curve=e,this.type=t,this.precomputed=null}t.exports=l,l.prototype.point=function(){throw new Error(\"Not implemented\")},l.prototype.validate=function(){throw new Error(\"Not implemented\")},l.prototype._fixedNafMul=function(e,t){a(e.precomputed);var r=e._getDoubles(),n=s(t,1,this._bitLength),i=(1<<r.step+1)-(r.step%2==0?2:1);i/=3;var o,l,c=[];for(o=0;o<n.length;o+=r.step){l=0;for(var u=o+r.step-1;u>=o;u--)l=(l<<1)+n[u];c.push(l)}for(var h=this.jpoint(null,null,null),f=this.jpoint(null,null,null),d=i;d>0;d--){for(o=0;o<c.length;o++)(l=c[o])===d?f=f.mixedAdd(r.points[o]):l===-d&&(f=f.mixedAdd(r.points[o].neg()));h=h.add(f)}return h.toP()},l.prototype._wnafMul=function(e,t){var r=4,n=e._getNAFPoints(r);r=n.wnd;for(var i=n.points,o=s(t,r,this._bitLength),l=this.jpoint(null,null,null),c=o.length-1;c>=0;c--){for(var u=0;c>=0&&0===o[c];c--)u++;if(c>=0&&u++,l=l.dblp(u),c<0)break;var h=o[c];a(0!==h),l=\"affine\"===e.type?h>0?l.mixedAdd(i[h-1>>1]):l.mixedAdd(i[-h-1>>1].neg()):h>0?l.add(i[h-1>>1]):l.add(i[-h-1>>1].neg())}return\"affine\"===e.type?l.toP():l},l.prototype._wnafMulAdd=function(e,t,r,n,i){var a,l,c,u=this._wnafT1,h=this._wnafT2,f=this._wnafT3,d=0;for(a=0;a<n;a++){var p=(c=t[a])._getNAFPoints(e);u[a]=p.wnd,h[a]=p.points}for(a=n-1;a>=1;a-=2){var m=a-1,b=a;if(1===u[m]&&1===u[b]){var g=[t[m],null,null,t[b]];0===t[m].y.cmp(t[b].y)?(g[1]=t[m].add(t[b]),g[2]=t[m].toJ().mixedAdd(t[b].neg())):0===t[m].y.cmp(t[b].y.redNeg())?(g[1]=t[m].toJ().mixedAdd(t[b]),g[2]=t[m].add(t[b].neg())):(g[1]=t[m].toJ().mixedAdd(t[b]),g[2]=t[m].toJ().mixedAdd(t[b].neg()));var y=[-3,-1,-5,-7,0,7,5,1,3],v=o(r[m],r[b]);for(d=Math.max(v[0].length,d),f[m]=new Array(d),f[b]=new Array(d),l=0;l<d;l++){var w=0|v[0][l],_=0|v[1][l];f[m][l]=y[3*(w+1)+(_+1)],f[b][l]=0,h[m]=g}}else f[m]=s(r[m],u[m],this._bitLength),f[b]=s(r[b],u[b],this._bitLength),d=Math.max(f[m].length,d),d=Math.max(f[b].length,d)}var x=this.jpoint(null,null,null),k=this._wnafT4;for(a=d;a>=0;a--){for(var S=0;a>=0;){var M=!0;for(l=0;l<n;l++)k[l]=0|f[l][a],0!==k[l]&&(M=!1);if(!M)break;S++,a--}if(a>=0&&S++,x=x.dblp(S),a<0)break;for(l=0;l<n;l++){var C=k[l];0!==C&&(C>0?c=h[l][C-1>>1]:C<0&&(c=h[l][-C-1>>1].neg()),x=\"affine\"===c.type?x.mixedAdd(c):x.add(c))}}for(a=0;a<n;a++)h[a]=null;return i?x:x.toP()},l.BasePoint=c,c.prototype.eq=function(){throw new Error(\"Not implemented\")},c.prototype.validate=function(){return this.curve.validate(this)},l.prototype.decodePoint=function(e,t){e=i.toArray(e,t);var r=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*r)return 6===e[0]?a(e[e.length-1]%2==0):7===e[0]&&a(e[e.length-1]%2==1),this.point(e.slice(1,1+r),e.slice(1+r,1+2*r));if((2===e[0]||3===e[0])&&e.length-1===r)return this.pointFromX(e.slice(1,1+r),3===e[0]);throw new Error(\"Unknown point format\")},c.prototype.encodeCompressed=function(e){return this.encode(e,!0)},c.prototype._encode=function(e){var t=this.curve.p.byteLength(),r=this.getX().toArray(\"be\",t);return e?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray(\"be\",t))},c.prototype.encode=function(e,t){return i.encode(this._encode(t),e)},c.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},c.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},c.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i<t;i+=e){for(var s=0;s<e;s++)n=n.dbl();r.push(n)}return{step:e,points:r}},c.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],r=(1<<e)-1,n=1===r?null:this.dbl(),i=1;i<r;i++)t[i]=t[i-1].add(n);return{wnd:e,points:t}},c.prototype._getBeta=function(){return null},c.prototype.dblp=function(e){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}},{\"../utils\":419,\"bn.js\":420}],407:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"bn.js\"),s=e(\"inherits\"),o=e(\"./base\"),a=n.assert;function l(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,o.call(this,\"edwards\",e),this.a=new i(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new i(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new i(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),a(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}function c(e,t,r,n,s){o.BasePoint.call(this,e,\"projective\"),null===t&&null===r&&null===n?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new i(t,16),this.y=new i(r,16),this.z=n?new i(n,16):this.curve.one,this.t=s&&new i(s,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}s(l,o),t.exports=l,l.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},l.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},l.prototype.jpoint=function(e,t,r,n){return this.point(e,t,r,n)},l.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),n=this.c2.redSub(this.a.redMul(r)),s=this.one.redSub(this.c2.redMul(this.d).redMul(r)),o=n.redMul(s.redInvm()),a=o.redSqrt();if(0!==a.redSqr().redSub(o).cmp(this.zero))throw new Error(\"invalid point\");var l=a.fromRed().isOdd();return(t&&!l||!t&&l)&&(a=a.redNeg()),this.point(e,a)},l.prototype.pointFromY=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),n=r.redSub(this.c2),s=r.redMul(this.d).redMul(this.c2).redSub(this.a),o=n.redMul(s.redInvm());if(0===o.cmp(this.zero)){if(t)throw new Error(\"invalid point\");return this.point(this.zero,e)}var a=o.redSqrt();if(0!==a.redSqr().redSub(o).cmp(this.zero))throw new Error(\"invalid point\");return a.fromRed().isOdd()!==t&&(a=a.redNeg()),this.point(a,e)},l.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),r=e.y.redSqr(),n=t.redMul(this.a).redAdd(r),i=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r)));return 0===n.cmp(i)},s(c,o.BasePoint),l.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},l.prototype.point=function(e,t,r,n){return new c(this,e,t,r,n)},c.fromJSON=function(e,t){return new c(e,t[0],t[1],t[2])},c.prototype.inspect=function(){return this.isInfinity()?\"<EC Point Infinity>\":\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" y: \"+this.y.fromRed().toString(16,2)+\" z: \"+this.z.fromRed().toString(16,2)+\">\"},c.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},c.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var n=this.curve._mulA(e),i=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),s=n.redAdd(t),o=s.redSub(r),a=n.redSub(t),l=i.redMul(o),c=s.redMul(a),u=i.redMul(a),h=o.redMul(s);return this.curve.point(l,c,h,u)},c.prototype._projDbl=function(){var e,t,r,n,i,s,o=this.x.redAdd(this.y).redSqr(),a=this.x.redSqr(),l=this.y.redSqr();if(this.curve.twisted){var c=(n=this.curve._mulA(a)).redAdd(l);this.zOne?(e=o.redSub(a).redSub(l).redMul(c.redSub(this.curve.two)),t=c.redMul(n.redSub(l)),r=c.redSqr().redSub(c).redSub(c)):(i=this.z.redSqr(),s=c.redSub(i).redISub(i),e=o.redSub(a).redISub(l).redMul(s),t=c.redMul(n.redSub(l)),r=c.redMul(s))}else n=a.redAdd(l),i=this.curve._mulC(this.z).redSqr(),s=n.redSub(i).redSub(i),e=this.curve._mulC(o.redISub(n)).redMul(s),t=this.curve._mulC(n).redMul(a.redISub(l)),r=n.redMul(s);return this.curve.point(e,t,r)},c.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},c.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),n=this.t.redMul(this.curve.dd).redMul(e.t),i=this.z.redMul(e.z.redAdd(e.z)),s=r.redSub(t),o=i.redSub(n),a=i.redAdd(n),l=r.redAdd(t),c=s.redMul(o),u=a.redMul(l),h=s.redMul(l),f=o.redMul(a);return this.curve.point(c,u,f,h)},c.prototype._projAdd=function(e){var t,r,n=this.z.redMul(e.z),i=n.redSqr(),s=this.x.redMul(e.x),o=this.y.redMul(e.y),a=this.curve.d.redMul(s).redMul(o),l=i.redSub(a),c=i.redAdd(a),u=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(s).redISub(o),h=n.redMul(l).redMul(u);return this.curve.twisted?(t=n.redMul(c).redMul(o.redSub(this.curve._mulA(s))),r=l.redMul(c)):(t=n.redMul(c).redMul(o.redSub(s)),r=this.curve._mulC(l).redMul(c)),this.curve.point(h,t,r)},c.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},c.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!1)},c.prototype.jmulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!0)},c.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},c.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()},c.prototype.getY=function(){return this.normalize(),this.y.fromRed()},c.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},c.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var r=e.clone(),n=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(n),0===this.x.cmp(t))return!0}},c.prototype.toP=c.prototype.normalize,c.prototype.mixedAdd=c.prototype.add},{\"../utils\":419,\"./base\":406,\"bn.js\":420,inherits:440}],408:[function(e,t,r){\"use strict\";var n=r;n.base=e(\"./base\"),n.short=e(\"./short\"),n.mont=e(\"./mont\"),n.edwards=e(\"./edwards\")},{\"./base\":406,\"./edwards\":407,\"./mont\":409,\"./short\":410}],409:[function(e,t,r){\"use strict\";var n=e(\"bn.js\"),i=e(\"inherits\"),s=e(\"./base\"),o=e(\"../utils\");function a(e){s.call(this,\"mont\",e),this.a=new n(e.a,16).toRed(this.red),this.b=new n(e.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function l(e,t,r){s.BasePoint.call(this,e,\"projective\"),null===t&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(t,16),this.z=new n(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}i(a,s),t.exports=a,a.prototype.validate=function(e){var t=e.normalize().x,r=t.redSqr(),n=r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t);return 0===n.redSqrt().redSqr().cmp(n)},i(l,s.BasePoint),a.prototype.decodePoint=function(e,t){return this.point(o.toArray(e,t),1)},a.prototype.point=function(e,t){return new l(this,e,t)},a.prototype.pointFromJSON=function(e){return l.fromJSON(this,e)},l.prototype.precompute=function(){},l.prototype._encode=function(){return this.getX().toArray(\"be\",this.curve.p.byteLength())},l.fromJSON=function(e,t){return new l(e,t[0],t[1]||e.one)},l.prototype.inspect=function(){return this.isInfinity()?\"<EC Point Infinity>\":\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" z: \"+this.z.fromRed().toString(16,2)+\">\"},l.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},l.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),r=e.redSub(t),n=e.redMul(t),i=r.redMul(t.redAdd(this.curve.a24.redMul(r)));return this.curve.point(n,i)},l.prototype.add=function(){throw new Error(\"Not supported on Montgomery curve\")},l.prototype.diffAdd=function(e,t){var r=this.x.redAdd(this.z),n=this.x.redSub(this.z),i=e.x.redAdd(e.z),s=e.x.redSub(e.z).redMul(r),o=i.redMul(n),a=t.z.redMul(s.redAdd(o).redSqr()),l=t.x.redMul(s.redISub(o).redSqr());return this.curve.point(a,l)},l.prototype.mul=function(e){for(var t=e.clone(),r=this,n=this.curve.point(null,null),i=[];0!==t.cmpn(0);t.iushrn(1))i.push(t.andln(1));for(var s=i.length-1;s>=0;s--)0===i[s]?(r=r.diffAdd(n,this),n=n.dbl()):(n=r.diffAdd(n,this),r=r.dbl());return n},l.prototype.mulAdd=function(){throw new Error(\"Not supported on Montgomery curve\")},l.prototype.jumlAdd=function(){throw new Error(\"Not supported on Montgomery curve\")},l.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},l.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},l.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},{\"../utils\":419,\"./base\":406,\"bn.js\":420,inherits:440}],410:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"bn.js\"),s=e(\"inherits\"),o=e(\"./base\"),a=n.assert;function l(e){o.call(this,\"short\",e),this.a=new i(e.a,16).toRed(this.red),this.b=new i(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function c(e,t,r,n){o.BasePoint.call(this,e,\"affine\"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new i(t,16),this.y=new i(r,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function u(e,t,r,n){o.BasePoint.call(this,e,\"jacobian\"),null===t&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new i(0)):(this.x=new i(t,16),this.y=new i(r,16),this.z=new i(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}s(l,o),t.exports=l,l.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,r;if(e.beta)t=new i(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);t=(t=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(e.lambda)r=new i(e.lambda,16);else{var s=this._getEndoRoots(this.n);0===this.g.mul(s[0]).x.cmp(this.g.x.redMul(t))?r=s[0]:(r=s[1],a(0===this.g.mul(r).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:r,basis:e.basis?e.basis.map((function(e){return{a:new i(e.a,16),b:new i(e.b,16)}})):this._getEndoBasis(r)}}},l.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:i.mont(e),r=new i(2).toRed(t).redInvm(),n=r.redNeg(),s=new i(3).toRed(t).redNeg().redSqrt().redMul(r);return[n.redAdd(s).fromRed(),n.redSub(s).fromRed()]},l.prototype._getEndoBasis=function(e){for(var t,r,n,s,o,a,l,c,u,h=this.n.ushrn(Math.floor(this.n.bitLength()/2)),f=e,d=this.n.clone(),p=new i(1),m=new i(0),b=new i(0),g=new i(1),y=0;0!==f.cmpn(0);){var v=d.div(f);c=d.sub(v.mul(f)),u=b.sub(v.mul(p));var w=g.sub(v.mul(m));if(!n&&c.cmp(h)<0)t=l.neg(),r=p,n=c.neg(),s=u;else if(n&&2==++y)break;l=c,d=f,f=c,b=p,p=u,g=m,m=w}o=c.neg(),a=u;var _=n.sqr().add(s.sqr());return o.sqr().add(a.sqr()).cmp(_)>=0&&(o=t,a=r),n.negative&&(n=n.neg(),s=s.neg()),o.negative&&(o=o.neg(),a=a.neg()),[{a:n,b:s},{a:o,b:a}]},l.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),s=r.b.neg().mul(e).divRound(this.n),o=i.mul(r.a),a=s.mul(n.a),l=i.mul(r.b),c=s.mul(n.b);return{k1:e.sub(o).sub(a),k2:l.add(c).neg()}},l.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error(\"invalid point\");var s=n.fromRed().isOdd();return(t&&!s||!t&&s)&&(n=n.redNeg()),this.point(e,n)},l.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},l.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,s=0;s<e.length;s++){var o=this._endoSplit(t[s]),a=e[s],l=a._getBeta();o.k1.negative&&(o.k1.ineg(),a=a.neg(!0)),o.k2.negative&&(o.k2.ineg(),l=l.neg(!0)),n[2*s]=a,n[2*s+1]=l,i[2*s]=o.k1,i[2*s+1]=o.k2}for(var c=this._wnafMulAdd(1,n,i,2*s,r),u=0;u<2*s;u++)n[u]=null,i[u]=null;return c},s(c,o.BasePoint),l.prototype.point=function(e,t,r){return new c(this,e,t,r)},l.prototype.pointFromJSON=function(e,t){return c.fromJSON(this,e,t)},c.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var r=this.curve,n=function(e){return r.point(e.x.redMul(r.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(n)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(n)}}}return t}},c.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},c.fromJSON=function(e,t,r){\"string\"==typeof t&&(t=JSON.parse(t));var n=e.point(t[0],t[1],r);if(!t[2])return n;function i(t){return e.point(t[0],t[1],r)}var s=t[2];return n.precomputed={beta:null,doubles:s.doubles&&{step:s.doubles.step,points:[n].concat(s.doubles.points.map(i))},naf:s.naf&&{wnd:s.naf.wnd,points:[n].concat(s.naf.points.map(i))}},n},c.prototype.inspect=function(){return this.isInfinity()?\"<EC Point Infinity>\":\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" y: \"+this.y.fromRed().toString(16,2)+\">\"},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},c.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),s=i.redSqr().redISub(this.x.redAdd(this.x)),o=i.redMul(this.x.redSub(s)).redISub(this.y);return this.curve.point(s,o)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(e){return e=new i(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},c.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},c.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},c.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return t},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},s(u,o.BasePoint),l.prototype.jpoint=function(e,t,r){return new u(this,e,t,r)},u.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},u.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},u.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),s=this.y.redMul(t.redMul(e.z)),o=e.y.redMul(r.redMul(this.z)),a=n.redSub(i),l=s.redSub(o);if(0===a.cmpn(0))return 0!==l.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=a.redSqr(),u=c.redMul(a),h=n.redMul(c),f=l.redSqr().redIAdd(u).redISub(h).redISub(h),d=l.redMul(h.redISub(f)).redISub(s.redMul(u)),p=this.z.redMul(e.z).redMul(a);return this.curve.jpoint(f,d,p)},u.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,s=e.y.redMul(t).redMul(this.z),o=r.redSub(n),a=i.redSub(s);if(0===o.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=o.redSqr(),c=l.redMul(o),u=r.redMul(l),h=a.redSqr().redIAdd(c).redISub(u).redISub(u),f=a.redMul(u.redISub(h)).redISub(i.redMul(c)),d=this.z.redMul(o);return this.curve.jpoint(h,f,d)},u.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var r=this;for(t=0;t<e;t++)r=r.dbl();return r}var n=this.curve.a,i=this.curve.tinv,s=this.x,o=this.y,a=this.z,l=a.redSqr().redSqr(),c=o.redAdd(o);for(t=0;t<e;t++){var u=s.redSqr(),h=c.redSqr(),f=h.redSqr(),d=u.redAdd(u).redIAdd(u).redIAdd(n.redMul(l)),p=s.redMul(h),m=d.redSqr().redISub(p.redAdd(p)),b=p.redISub(m),g=d.redMul(b);g=g.redIAdd(g).redISub(f);var y=c.redMul(a);t+1<e&&(l=l.redMul(f)),s=m,a=y,c=g}return this.curve.jpoint(s,c.redMul(i),a)},u.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},u.prototype._zeroDbl=function(){var e,t,r;if(this.zOne){var n=this.x.redSqr(),i=this.y.redSqr(),s=i.redSqr(),o=this.x.redAdd(i).redSqr().redISub(n).redISub(s);o=o.redIAdd(o);var a=n.redAdd(n).redIAdd(n),l=a.redSqr().redISub(o).redISub(o),c=s.redIAdd(s);c=(c=c.redIAdd(c)).redIAdd(c),e=l,t=a.redMul(o.redISub(l)).redISub(c),r=this.y.redAdd(this.y)}else{var u=this.x.redSqr(),h=this.y.redSqr(),f=h.redSqr(),d=this.x.redAdd(h).redSqr().redISub(u).redISub(f);d=d.redIAdd(d);var p=u.redAdd(u).redIAdd(u),m=p.redSqr(),b=f.redIAdd(f);b=(b=b.redIAdd(b)).redIAdd(b),e=m.redISub(d).redISub(d),t=p.redMul(d.redISub(e)).redISub(b),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(e,t,r)},u.prototype._threeDbl=function(){var e,t,r;if(this.zOne){var n=this.x.redSqr(),i=this.y.redSqr(),s=i.redSqr(),o=this.x.redAdd(i).redSqr().redISub(n).redISub(s);o=o.redIAdd(o);var a=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),l=a.redSqr().redISub(o).redISub(o);e=l;var c=s.redIAdd(s);c=(c=c.redIAdd(c)).redIAdd(c),t=a.redMul(o.redISub(l)).redISub(c),r=this.y.redAdd(this.y)}else{var u=this.z.redSqr(),h=this.y.redSqr(),f=this.x.redMul(h),d=this.x.redSub(u).redMul(this.x.redAdd(u));d=d.redAdd(d).redIAdd(d);var p=f.redIAdd(f),m=(p=p.redIAdd(p)).redAdd(p);e=d.redSqr().redISub(m),r=this.y.redAdd(this.z).redSqr().redISub(h).redISub(u);var b=h.redSqr();b=(b=(b=b.redIAdd(b)).redIAdd(b)).redIAdd(b),t=d.redMul(p.redISub(e)).redISub(b)}return this.curve.jpoint(e,t,r)},u.prototype._dbl=function(){var e=this.curve.a,t=this.x,r=this.y,n=this.z,i=n.redSqr().redSqr(),s=t.redSqr(),o=r.redSqr(),a=s.redAdd(s).redIAdd(s).redIAdd(e.redMul(i)),l=t.redAdd(t),c=(l=l.redIAdd(l)).redMul(o),u=a.redSqr().redISub(c.redAdd(c)),h=c.redISub(u),f=o.redSqr();f=(f=(f=f.redIAdd(f)).redIAdd(f)).redIAdd(f);var d=a.redMul(h).redISub(f),p=r.redAdd(r).redMul(n);return this.curve.jpoint(u,d,p)},u.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr(),n=t.redSqr(),i=e.redAdd(e).redIAdd(e),s=i.redSqr(),o=this.x.redAdd(t).redSqr().redISub(e).redISub(n),a=(o=(o=(o=o.redIAdd(o)).redAdd(o).redIAdd(o)).redISub(s)).redSqr(),l=n.redIAdd(n);l=(l=(l=l.redIAdd(l)).redIAdd(l)).redIAdd(l);var c=i.redIAdd(o).redSqr().redISub(s).redISub(a).redISub(l),u=t.redMul(c);u=(u=u.redIAdd(u)).redIAdd(u);var h=this.x.redMul(a).redISub(u);h=(h=h.redIAdd(h)).redIAdd(h);var f=this.y.redMul(c.redMul(l.redISub(c)).redISub(o.redMul(a)));f=(f=(f=f.redIAdd(f)).redIAdd(f)).redIAdd(f);var d=this.z.redAdd(o).redSqr().redISub(r).redISub(a);return this.curve.jpoint(h,f,d)},u.prototype.mul=function(e,t){return e=new i(e,t),this.curve._wnafMul(this,e)},u.prototype.eq=function(e){if(\"affine\"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),r=e.z.redSqr();if(0!==this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0))return!1;var n=t.redMul(this.z),i=r.redMul(e.z);return 0===this.y.redMul(i).redISub(e.y.redMul(n)).cmpn(0)},u.prototype.eqXToP=function(e){var t=this.z.redSqr(),r=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(r))return!0;for(var n=e.clone(),i=this.curve.redN.redMul(t);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},u.prototype.inspect=function(){return this.isInfinity()?\"<EC JPoint Infinity>\":\"<EC JPoint x: \"+this.x.toString(16,2)+\" y: \"+this.y.toString(16,2)+\" z: \"+this.z.toString(16,2)+\">\"},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},{\"../utils\":419,\"./base\":406,\"bn.js\":420,inherits:440}],411:[function(e,t,r){\"use strict\";var n,i=r,s=e(\"hash.js\"),o=e(\"./curve\"),a=e(\"./utils\").assert;function l(e){\"short\"===e.type?this.curve=new o.short(e):\"edwards\"===e.type?this.curve=new o.edwards(e):this.curve=new o.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,a(this.g.validate(),\"Invalid curve\"),a(this.g.mul(this.n).isInfinity(),\"Invalid curve, G*N != O\")}function c(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var r=new l(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:r}),r}})}i.PresetCurve=l,c(\"p192\",{type:\"short\",prime:\"p192\",p:\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\",a:\"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc\",b:\"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1\",n:\"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831\",hash:s.sha256,gRed:!1,g:[\"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"]}),c(\"p224\",{type:\"short\",prime:\"p224\",p:\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\",a:\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe\",b:\"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4\",n:\"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d\",hash:s.sha256,gRed:!1,g:[\"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"]}),c(\"p256\",{type:\"short\",prime:null,p:\"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff\",a:\"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc\",b:\"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b\",n:\"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551\",hash:s.sha256,gRed:!1,g:[\"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"]}),c(\"p384\",{type:\"short\",prime:null,p:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff\",a:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc\",b:\"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef\",n:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973\",hash:s.sha384,gRed:!1,g:[\"aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7\",\"3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f\"]}),c(\"p521\",{type:\"short\",prime:null,p:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\",a:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc\",b:\"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00\",n:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409\",hash:s.sha512,gRed:!1,g:[\"000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66\",\"00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650\"]}),c(\"curve25519\",{type:\"mont\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"76d06\",b:\"1\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:s.sha256,gRed:!1,g:[\"9\"]}),c(\"ed25519\",{type:\"edwards\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"-1\",c:\"1\",d:\"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:s.sha256,gRed:!1,g:[\"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\"6666666666666666666666666666666666666666666666666666666666666658\"]});try{n=e(\"./precomputed/secp256k1\")}catch(e){n=void 0}c(\"secp256k1\",{type:\"short\",prime:\"k256\",p:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\",a:\"0\",b:\"7\",n:\"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141\",h:\"1\",hash:s.sha256,beta:\"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",lambda:\"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",basis:[{a:\"3086d221a7d46bcde86c90e49284eb15\",b:\"-e4437ed6010e88286f547fa90abfe4c3\"},{a:\"114ca50f7a8e2f3f657c1108d9d44cfd8\",b:\"3086d221a7d46bcde86c90e49284eb15\"}],gRed:!1,g:[\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",n]})},{\"./curve\":408,\"./precomputed/secp256k1\":418,\"./utils\":419,\"hash.js\":426}],412:[function(e,t,r){\"use strict\";var n=e(\"bn.js\"),i=e(\"hmac-drbg\"),s=e(\"../utils\"),o=e(\"../curves\"),a=e(\"brorand\"),l=s.assert,c=e(\"./key\"),u=e(\"./signature\");function h(e){if(!(this instanceof h))return new h(e);\"string\"==typeof e&&(l(Object.prototype.hasOwnProperty.call(o,e),\"Unknown curve \"+e),e=o[e]),e instanceof o.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}t.exports=h,h.prototype.keyPair=function(e){return new c(this,e)},h.prototype.keyFromPrivate=function(e,t){return c.fromPrivate(this,e,t)},h.prototype.keyFromPublic=function(e,t){return c.fromPublic(this,e,t)},h.prototype.genKeyPair=function(e){e||(e={});for(var t=new i({hash:this.hash,pers:e.pers,persEnc:e.persEnc||\"utf8\",entropy:e.entropy||a(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||\"utf8\",nonce:this.n.toArray()}),r=this.n.byteLength(),s=this.n.sub(new n(2));;){var o=new n(t.generate(r));if(!(o.cmp(s)>0))return o.iaddn(1),this.keyFromPrivate(o)}},h.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},h.prototype.sign=function(e,t,r,s){\"object\"==typeof r&&(s=r,r=null),s||(s={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new n(e,16));for(var o=this.n.byteLength(),a=t.getPrivate().toArray(\"be\",o),l=e.toArray(\"be\",o),c=new i({hash:this.hash,entropy:a,nonce:l,pers:s.pers,persEnc:s.persEnc||\"utf8\"}),h=this.n.sub(new n(1)),f=0;;f++){var d=s.k?s.k(f):new n(c.generate(this.n.byteLength()));if(!((d=this._truncateToN(d,!0)).cmpn(1)<=0||d.cmp(h)>=0)){var p=this.g.mul(d);if(!p.isInfinity()){var m=p.getX(),b=m.umod(this.n);if(0!==b.cmpn(0)){var g=d.invm(this.n).mul(b.mul(t.getPrivate()).iadd(e));if(0!==(g=g.umod(this.n)).cmpn(0)){var y=(p.getY().isOdd()?1:0)|(0!==m.cmp(b)?2:0);return s.canonical&&g.cmp(this.nh)>0&&(g=this.n.sub(g),y^=1),new u({r:b,s:g,recoveryParam:y})}}}}}},h.prototype.verify=function(e,t,r,i){e=this._truncateToN(new n(e,16)),r=this.keyFromPublic(r,i);var s=(t=new u(t,\"hex\")).r,o=t.s;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a,l=o.invm(this.n),c=l.mul(e).umod(this.n),h=l.mul(s).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(c,r.getPublic(),h)).isInfinity()&&a.eqXToP(s):!(a=this.g.mulAdd(c,r.getPublic(),h)).isInfinity()&&0===a.getX().umod(this.n).cmp(s)},h.prototype.recoverPubKey=function(e,t,r,i){l((3&r)===r,\"The recovery param is more than two bits\"),t=new u(t,i);var s=this.n,o=new n(e),a=t.r,c=t.s,h=1&r,f=r>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&f)throw new Error(\"Unable to find sencond key candinate\");a=f?this.curve.pointFromX(a.add(this.curve.n),h):this.curve.pointFromX(a,h);var d=t.r.invm(s),p=s.sub(o).mul(d).umod(s),m=c.mul(d).umod(s);return this.g.mulAdd(p,a,m)},h.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new u(t,n)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var s;try{s=this.recoverPubKey(e,t,i)}catch(e){continue}if(s.eq(r))return i}throw new Error(\"Unable to find valid recovery factor\")}},{\"../curves\":411,\"../utils\":419,\"./key\":413,\"./signature\":414,\"bn.js\":420,brorand:187,\"hmac-drbg\":438}],413:[function(e,t,r){\"use strict\";var n=e(\"bn.js\"),i=e(\"../utils\").assert;function s(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}t.exports=s,s.fromPublic=function(e,t,r){return t instanceof s?t:new s(e,{pub:t,pubEnc:r})},s.fromPrivate=function(e,t,r){return t instanceof s?t:new s(e,{priv:t,privEnc:r})},s.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:\"Invalid public key\"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:\"Public key * N != O\"}:{result:!1,reason:\"Public key is not a point\"}},s.prototype.getPublic=function(e,t){return\"string\"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},s.prototype.getPrivate=function(e){return\"hex\"===e?this.priv.toString(16,2):this.priv},s.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},s.prototype._importPublic=function(e,t){if(e.x||e.y)return\"mont\"===this.ec.curve.type?i(e.x,\"Need x coordinate\"):\"short\"!==this.ec.curve.type&&\"edwards\"!==this.ec.curve.type||i(e.x&&e.y,\"Need both x and y coordinate\"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},s.prototype.derive=function(e){return e.validate()||i(e.validate(),\"public point not validated\"),e.mul(this.priv).getX()},s.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},s.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},s.prototype.inspect=function(){return\"<Key priv: \"+(this.priv&&this.priv.toString(16,2))+\" pub: \"+(this.pub&&this.pub.inspect())+\" >\"}},{\"../utils\":419,\"bn.js\":420}],414:[function(e,t,r){\"use strict\";var n=e(\"bn.js\"),i=e(\"../utils\"),s=i.assert;function o(e,t){if(e instanceof o)return e;this._importDER(e,t)||(s(e.r&&e.s,\"Signature without r or s\"),this.r=new n(e.r,16),this.s=new n(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function a(){this.place=0}function l(e,t){var r=e[t.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,s=0,o=t.place;s<n;s++,o++)i<<=8,i|=e[o],i>>>=0;return!(i<=127)&&(t.place=o,i)}function c(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t<r;)t++;return 0===t?e:e.slice(t)}function u(e,t){if(t<128)e.push(t);else{var r=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}t.exports=o,o.prototype._importDER=function(e,t){e=i.toArray(e,t);var r=new a;if(48!==e[r.place++])return!1;var s=l(e,r);if(!1===s)return!1;if(s+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var o=l(e,r);if(!1===o)return!1;var c=e.slice(r.place,o+r.place);if(r.place+=o,2!==e[r.place++])return!1;var u=l(e,r);if(!1===u)return!1;if(e.length!==u+r.place)return!1;var h=e.slice(r.place,u+r.place);if(0===c[0]){if(!(128&c[1]))return!1;c=c.slice(1)}if(0===h[0]){if(!(128&h[1]))return!1;h=h.slice(1)}return this.r=new n(c),this.s=new n(h),this.recoveryParam=null,!0},o.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=c(t),r=c(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];u(n,t.length),(n=n.concat(t)).push(2),u(n,r.length);var s=n.concat(r),o=[48];return u(o,s.length),o=o.concat(s),i.encode(o,e)}},{\"../utils\":419,\"bn.js\":420}],415:[function(e,t,r){\"use strict\";var n=e(\"hash.js\"),i=e(\"../curves\"),s=e(\"../utils\"),o=s.assert,a=s.parseBytes,l=e(\"./key\"),c=e(\"./signature\");function u(e){if(o(\"ed25519\"===e,\"only tested with ed25519 so far\"),!(this instanceof u))return new u(e);e=i[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=n.sha512}t.exports=u,u.prototype.sign=function(e,t){e=a(e);var r=this.keyFromSecret(t),n=this.hashInt(r.messagePrefix(),e),i=this.g.mul(n),s=this.encodePoint(i),o=this.hashInt(s,r.pubBytes(),e).mul(r.priv()),l=n.add(o).umod(this.curve.n);return this.makeSignature({R:i,S:l,Rencoded:s})},u.prototype.verify=function(e,t,r){e=a(e),t=this.makeSignature(t);var n=this.keyFromPublic(r),i=this.hashInt(t.Rencoded(),n.pubBytes(),e),s=this.g.mul(t.S());return t.R().add(n.pub().mul(i)).eq(s)},u.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return s.intFromLE(e.digest()).umod(this.curve.n)},u.prototype.keyFromPublic=function(e){return l.fromPublic(this,e)},u.prototype.keyFromSecret=function(e){return l.fromSecret(this,e)},u.prototype.makeSignature=function(e){return e instanceof c?e:new c(this,e)},u.prototype.encodePoint=function(e){var t=e.getY().toArray(\"le\",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},u.prototype.decodePoint=function(e){var t=(e=s.parseBytes(e)).length-1,r=e.slice(0,t).concat(-129&e[t]),n=0!=(128&e[t]),i=s.intFromLE(r);return this.curve.pointFromY(i,n)},u.prototype.encodeInt=function(e){return e.toArray(\"le\",this.encodingLength)},u.prototype.decodeInt=function(e){return s.intFromLE(e)},u.prototype.isPoint=function(e){return e instanceof this.pointClass}},{\"../curves\":411,\"../utils\":419,\"./key\":416,\"./signature\":417,\"hash.js\":426}],416:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=n.assert,s=n.parseBytes,o=n.cachedProperty;function a(e,t){this.eddsa=e,this._secret=s(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=s(t.pub)}a.fromPublic=function(e,t){return t instanceof a?t:new a(e,{pub:t})},a.fromSecret=function(e,t){return t instanceof a?t:new a(e,{secret:t})},a.prototype.secret=function(){return this._secret},o(a,\"pubBytes\",(function(){return this.eddsa.encodePoint(this.pub())})),o(a,\"pub\",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),o(a,\"privBytes\",(function(){var e=this.eddsa,t=this.hash(),r=e.encodingLength-1,n=t.slice(0,e.encodingLength);return n[0]&=248,n[r]&=127,n[r]|=64,n})),o(a,\"priv\",(function(){return this.eddsa.decodeInt(this.privBytes())})),o(a,\"hash\",(function(){return this.eddsa.hash().update(this.secret()).digest()})),o(a,\"messagePrefix\",(function(){return this.hash().slice(this.eddsa.encodingLength)})),a.prototype.sign=function(e){return i(this._secret,\"KeyPair can only verify\"),this.eddsa.sign(e,this)},a.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},a.prototype.getSecret=function(e){return i(this._secret,\"KeyPair is public only\"),n.encode(this.secret(),e)},a.prototype.getPublic=function(e){return n.encode(this.pubBytes(),e)},t.exports=a},{\"../utils\":419}],417:[function(e,t,r){\"use strict\";var n=e(\"bn.js\"),i=e(\"../utils\"),s=i.assert,o=i.cachedProperty,a=i.parseBytes;function l(e,t){this.eddsa=e,\"object\"!=typeof t&&(t=a(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),s(t.R&&t.S,\"Signature without R or S\"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof n&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}o(l,\"S\",(function(){return this.eddsa.decodeInt(this.Sencoded())})),o(l,\"R\",(function(){return this.eddsa.decodePoint(this.Rencoded())})),o(l,\"Rencoded\",(function(){return this.eddsa.encodePoint(this.R())})),o(l,\"Sencoded\",(function(){return this.eddsa.encodeInt(this.S())})),l.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},l.prototype.toHex=function(){return i.encode(this.toBytes(),\"hex\").toUpperCase()},t.exports=l},{\"../utils\":419,\"bn.js\":420}],418:[function(e,t,r){\"use strict\";t.exports={doubles:{step:4,points:[[\"e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a\",\"f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821\"],[\"8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508\",\"11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf\"],[\"175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739\",\"d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695\"],[\"363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640\",\"4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9\"],[\"8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c\",\"4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36\"],[\"723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda\",\"96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f\"],[\"eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa\",\"5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999\"],[\"100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0\",\"cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09\"],[\"e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d\",\"9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d\"],[\"feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d\",\"e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088\"],[\"da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1\",\"9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d\"],[\"53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0\",\"5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8\"],[\"8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047\",\"10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a\"],[\"385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862\",\"283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453\"],[\"6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7\",\"7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160\"],[\"3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd\",\"56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0\"],[\"85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83\",\"7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6\"],[\"948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a\",\"53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589\"],[\"6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8\",\"bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17\"],[\"e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d\",\"4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda\"],[\"e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725\",\"7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd\"],[\"213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754\",\"4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2\"],[\"4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c\",\"17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6\"],[\"fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6\",\"6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f\"],[\"76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39\",\"c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01\"],[\"c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891\",\"893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3\"],[\"d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b\",\"febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f\"],[\"b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03\",\"2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7\"],[\"e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d\",\"eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78\"],[\"a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070\",\"7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1\"],[\"90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4\",\"e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150\"],[\"8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da\",\"662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82\"],[\"e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11\",\"1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc\"],[\"8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e\",\"efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b\"],[\"e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41\",\"2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51\"],[\"b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef\",\"67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45\"],[\"d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8\",\"db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120\"],[\"324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d\",\"648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84\"],[\"4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96\",\"35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d\"],[\"9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd\",\"ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d\"],[\"6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5\",\"9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8\"],[\"a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266\",\"40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8\"],[\"7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71\",\"34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac\"],[\"928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac\",\"c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f\"],[\"85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751\",\"1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962\"],[\"ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e\",\"493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907\"],[\"827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241\",\"c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec\"],[\"eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3\",\"be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d\"],[\"e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f\",\"4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414\"],[\"1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19\",\"aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd\"],[\"146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be\",\"b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0\"],[\"fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9\",\"6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811\"],[\"da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2\",\"8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1\"],[\"a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13\",\"7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c\"],[\"174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c\",\"ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73\"],[\"959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba\",\"2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd\"],[\"d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151\",\"e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405\"],[\"64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073\",\"d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589\"],[\"8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458\",\"38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e\"],[\"13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b\",\"69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27\"],[\"bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366\",\"d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1\"],[\"8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa\",\"40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482\"],[\"8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0\",\"620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945\"],[\"dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787\",\"7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573\"],[\"f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e\",\"ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82\"]]},naf:{wnd:7,points:[[\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\"388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672\"],[\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",\"d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6\"],[\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",\"6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da\"],[\"acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe\",\"cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37\"],[\"774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb\",\"d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b\"],[\"f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8\",\"ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81\"],[\"d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e\",\"581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58\"],[\"defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34\",\"4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77\"],[\"2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c\",\"85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a\"],[\"352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5\",\"321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c\"],[\"2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f\",\"2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67\"],[\"9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714\",\"73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402\"],[\"daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729\",\"a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55\"],[\"c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db\",\"2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482\"],[\"6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4\",\"e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82\"],[\"1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5\",\"b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396\"],[\"605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479\",\"2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49\"],[\"62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d\",\"80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf\"],[\"80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f\",\"1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a\"],[\"7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb\",\"d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7\"],[\"d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9\",\"eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933\"],[\"49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963\",\"758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a\"],[\"77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74\",\"958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6\"],[\"f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530\",\"e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37\"],[\"463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b\",\"5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e\"],[\"f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247\",\"cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6\"],[\"caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1\",\"cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476\"],[\"2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120\",\"4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40\"],[\"7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435\",\"91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61\"],[\"754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18\",\"673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683\"],[\"e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8\",\"59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5\"],[\"186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb\",\"3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b\"],[\"df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f\",\"55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417\"],[\"5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143\",\"efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868\"],[\"290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba\",\"e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a\"],[\"af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45\",\"f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6\"],[\"766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a\",\"744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996\"],[\"59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e\",\"c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e\"],[\"f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8\",\"e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d\"],[\"7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c\",\"30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2\"],[\"948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519\",\"e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e\"],[\"7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab\",\"100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437\"],[\"3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca\",\"ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311\"],[\"d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf\",\"8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4\"],[\"1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610\",\"68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575\"],[\"733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4\",\"f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d\"],[\"15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c\",\"d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d\"],[\"a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940\",\"edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629\"],[\"e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980\",\"a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06\"],[\"311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3\",\"66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374\"],[\"34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf\",\"9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee\"],[\"f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63\",\"4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1\"],[\"d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448\",\"fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b\"],[\"32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf\",\"5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661\"],[\"7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5\",\"8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6\"],[\"ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6\",\"8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e\"],[\"16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5\",\"5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d\"],[\"eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99\",\"f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc\"],[\"78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51\",\"f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4\"],[\"494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5\",\"42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c\"],[\"a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5\",\"204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b\"],[\"c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997\",\"4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913\"],[\"841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881\",\"73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154\"],[\"5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5\",\"39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865\"],[\"36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66\",\"d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc\"],[\"336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726\",\"ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224\"],[\"8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede\",\"6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e\"],[\"1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94\",\"60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6\"],[\"85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31\",\"3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511\"],[\"29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51\",\"b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b\"],[\"a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252\",\"ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2\"],[\"4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5\",\"cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c\"],[\"d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b\",\"6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3\"],[\"ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4\",\"322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d\"],[\"af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f\",\"6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700\"],[\"e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889\",\"2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4\"],[\"591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246\",\"b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196\"],[\"11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984\",\"998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4\"],[\"3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a\",\"b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257\"],[\"cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030\",\"bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13\"],[\"c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197\",\"6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096\"],[\"c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593\",\"c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38\"],[\"a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef\",\"21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f\"],[\"347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38\",\"60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448\"],[\"da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a\",\"49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a\"],[\"c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111\",\"5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4\"],[\"4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502\",\"7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437\"],[\"3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea\",\"be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7\"],[\"cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26\",\"8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d\"],[\"b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986\",\"39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a\"],[\"d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e\",\"62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54\"],[\"48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4\",\"25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77\"],[\"dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda\",\"ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517\"],[\"6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859\",\"cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10\"],[\"e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f\",\"f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125\"],[\"eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c\",\"6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e\"],[\"13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942\",\"fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1\"],[\"ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a\",\"1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2\"],[\"b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80\",\"5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423\"],[\"ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d\",\"438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8\"],[\"8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1\",\"cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758\"],[\"52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63\",\"c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375\"],[\"e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352\",\"6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d\"],[\"7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193\",\"ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec\"],[\"5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00\",\"9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0\"],[\"32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58\",\"ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c\"],[\"e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7\",\"d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4\"],[\"8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8\",\"c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f\"],[\"4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e\",\"67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649\"],[\"3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d\",\"cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826\"],[\"674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b\",\"299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5\"],[\"d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f\",\"f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87\"],[\"30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6\",\"462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b\"],[\"be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297\",\"62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc\"],[\"93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a\",\"7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c\"],[\"b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c\",\"ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f\"],[\"d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52\",\"4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a\"],[\"d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb\",\"bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46\"],[\"463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065\",\"bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f\"],[\"7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917\",\"603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03\"],[\"74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9\",\"cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08\"],[\"30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3\",\"553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8\"],[\"9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57\",\"712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373\"],[\"176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66\",\"ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3\"],[\"75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8\",\"9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8\"],[\"809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721\",\"9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1\"],[\"1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180\",\"4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9\"]]}}},{}],419:[function(e,t,r){\"use strict\";var n=r,i=e(\"bn.js\"),s=e(\"minimalistic-assert\"),o=e(\"minimalistic-crypto-utils\");n.assert=s,n.toArray=o.toArray,n.zero2=o.zero2,n.toHex=o.toHex,n.encode=o.encode,n.getNAF=function(e,t,r){var n=new Array(Math.max(e.bitLength(),r)+1);n.fill(0);for(var i=1<<t+1,s=e.clone(),o=0;o<n.length;o++){var a,l=s.andln(i-1);s.isOdd()?(a=l>(i>>1)-1?(i>>1)-l:l,s.isubn(a)):a=0,n[o]=a,s.iushrn(1)}return n},n.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n,i=0,s=0;e.cmpn(-i)>0||t.cmpn(-s)>0;){var o,a,l=e.andln(3)+i&3,c=t.andln(3)+s&3;3===l&&(l=-1),3===c&&(c=-1),o=0==(1&l)?0:3!==(n=e.andln(7)+i&7)&&5!==n||2!==c?l:-l,r[0].push(o),a=0==(1&c)?0:3!==(n=t.andln(7)+s&7)&&5!==n||2!==l?c:-c,r[1].push(a),2*i===o+1&&(i=1-i),2*s===a+1&&(s=1-s),e.iushrn(1),t.iushrn(1)}return r},n.cachedProperty=function(e,t,r){var n=\"_\"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},n.parseBytes=function(e){return\"string\"==typeof e?n.toArray(e,\"hex\"):e},n.intFromLE=function(e){return new i(e,\"hex\",\"le\")}},{\"bn.js\":420,\"minimalistic-assert\":453,\"minimalistic-crypto-utils\":454}],420:[function(e,t,r){arguments[4][184][0].apply(r,arguments)},{buffer:188,dup:184}],421:[function(e,t,r){t.exports={name:\"elliptic\",version:\"6.5.4\",description:\"EC cryptography\",main:\"lib/elliptic.js\",files:[\"lib\"],scripts:{lint:\"eslint lib test\",\"lint:fix\":\"npm run lint -- --fix\",unit:\"istanbul test _mocha --reporter=spec test/index.js\",test:\"npm run lint && npm run unit\",version:\"grunt dist && git add dist/\"},repository:{type:\"git\",url:\"git@github.com:indutny/elliptic\"},keywords:[\"EC\",\"Elliptic\",\"curve\",\"Cryptography\"],author:\"Fedor Indutny <fedor@indutny.com>\",license:\"MIT\",bugs:{url:\"https://github.com/indutny/elliptic/issues\"},homepage:\"https://github.com/indutny/elliptic\",devDependencies:{brfs:\"^2.0.2\",coveralls:\"^3.1.0\",eslint:\"^7.6.0\",grunt:\"^1.2.1\",\"grunt-browserify\":\"^5.3.0\",\"grunt-cli\":\"^1.3.2\",\"grunt-contrib-connect\":\"^3.0.0\",\"grunt-contrib-copy\":\"^1.0.0\",\"grunt-contrib-uglify\":\"^5.0.0\",\"grunt-mocha-istanbul\":\"^5.0.2\",\"grunt-saucelabs\":\"^9.0.1\",istanbul:\"^0.4.5\",mocha:\"^8.0.1\"},dependencies:{\"bn.js\":\"^4.11.9\",brorand:\"^1.1.0\",\"hash.js\":\"^1.0.0\",\"hmac-drbg\":\"^1.0.1\",inherits:\"^2.0.4\",\"minimalistic-assert\":\"^1.0.1\",\"minimalistic-crypto-utils\":\"^1.0.1\"}}},{}],422:[function(e,t,r){\"use strict\";var n=Object.create||function(e){var t=function(){};return t.prototype=e,new t},i=Object.keys||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return r},s=Function.prototype.bind||function(e){var t=this;return function(){return t.apply(e,arguments)}};function o(){this._events&&Object.prototype.hasOwnProperty.call(this,\"_events\")||(this._events=n(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}t.exports=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._maxListeners=void 0;var a,l=10;try{var c={};Object.defineProperty&&Object.defineProperty(c,\"x\",{value:0}),a=0===c.x}catch(e){a=!1}function u(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function h(e,t,r){if(t)e.call(r);else for(var n=e.length,i=_(e,n),s=0;s<n;++s)i[s].call(r)}function f(e,t,r,n){if(t)e.call(r,n);else for(var i=e.length,s=_(e,i),o=0;o<i;++o)s[o].call(r,n)}function d(e,t,r,n,i){if(t)e.call(r,n,i);else for(var s=e.length,o=_(e,s),a=0;a<s;++a)o[a].call(r,n,i)}function p(e,t,r,n,i,s){if(t)e.call(r,n,i,s);else for(var o=e.length,a=_(e,o),l=0;l<o;++l)a[l].call(r,n,i,s)}function m(e,t,r,n){if(t)e.apply(r,n);else for(var i=e.length,s=_(e,i),o=0;o<i;++o)s[o].apply(r,n)}function b(e,t,r,i){var s,o,a;if(\"function\"!=typeof r)throw new TypeError('\"listener\" argument must be a function');if((o=e._events)?(o.newListener&&(e.emit(\"newListener\",t,r.listener?r.listener:r),o=e._events),a=o[t]):(o=e._events=n(null),e._eventsCount=0),a){if(\"function\"==typeof a?a=o[t]=i?[r,a]:[a,r]:i?a.unshift(r):a.push(r),!a.warned&&(s=u(e))&&s>0&&a.length>s){a.warned=!0;var l=new Error(\"Possible EventEmitter memory leak detected. \"+a.length+' \"'+String(t)+'\" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name=\"MaxListenersExceededWarning\",l.emitter=e,l.type=t,l.count=a.length,\"object\"==typeof console&&console.warn&&console.warn(\"%s: %s\",l.name,l.message)}}else a=o[t]=r,++e._eventsCount;return e}function g(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var e=new Array(arguments.length),t=0;t<e.length;++t)e[t]=arguments[t];this.listener.apply(this.target,e)}}function y(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=s.call(g,n);return i.listener=r,n.wrapFn=i,i}function v(e,t,r){var n=e._events;if(!n)return[];var i=n[t];return i?\"function\"==typeof i?r?[i.listener||i]:[i]:r?function(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(i):_(i,i.length):[]}function w(e){var t=this._events;if(t){var r=t[e];if(\"function\"==typeof r)return 1;if(r)return r.length}return 0}function _(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}a?Object.defineProperty(o,\"defaultMaxListeners\",{enumerable:!0,get:function(){return l},set:function(e){if(\"number\"!=typeof e||e<0||e!=e)throw new TypeError('\"defaultMaxListeners\" must be a positive number');l=e}}):o.defaultMaxListeners=l,o.prototype.setMaxListeners=function(e){if(\"number\"!=typeof e||e<0||isNaN(e))throw new TypeError('\"n\" argument must be a positive number');return this._maxListeners=e,this},o.prototype.getMaxListeners=function(){return u(this)},o.prototype.emit=function(e){var t,r,n,i,s,o,a=\"error\"===e;if(o=this._events)a=a&&null==o.error;else if(!a)return!1;if(a){if(arguments.length>1&&(t=arguments[1]),t instanceof Error)throw t;var l=new Error('Unhandled \"error\" event. ('+t+\")\");throw l.context=t,l}if(!(r=o[e]))return!1;var c=\"function\"==typeof r;switch(n=arguments.length){case 1:h(r,c,this);break;case 2:f(r,c,this,arguments[1]);break;case 3:d(r,c,this,arguments[1],arguments[2]);break;case 4:p(r,c,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(n-1),s=1;s<n;s++)i[s-1]=arguments[s];m(r,c,this,i)}return!0},o.prototype.addListener=function(e,t){return b(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return b(this,e,t,!0)},o.prototype.once=function(e,t){if(\"function\"!=typeof t)throw new TypeError('\"listener\" argument must be a function');return this.on(e,y(this,e,t)),this},o.prototype.prependOnceListener=function(e,t){if(\"function\"!=typeof t)throw new TypeError('\"listener\" argument must be a function');return this.prependListener(e,y(this,e,t)),this},o.prototype.removeListener=function(e,t){var r,i,s,o,a;if(\"function\"!=typeof t)throw new TypeError('\"listener\" argument must be a function');if(!(i=this._events))return this;if(!(r=i[e]))return this;if(r===t||r.listener===t)0==--this._eventsCount?this._events=n(null):(delete i[e],i.removeListener&&this.emit(\"removeListener\",e,r.listener||t));else if(\"function\"!=typeof r){for(s=-1,o=r.length-1;o>=0;o--)if(r[o]===t||r[o].listener===t){a=r[o].listener,s=o;break}if(s<0)return this;0===s?r.shift():function(e,t){for(var r=t,n=r+1,i=e.length;n<i;r+=1,n+=1)e[r]=e[n];e.pop()}(r,s),1===r.length&&(i[e]=r[0]),i.removeListener&&this.emit(\"removeListener\",e,a||t)}return this},o.prototype.removeAllListeners=function(e){var t,r,s;if(!(r=this._events))return this;if(!r.removeListener)return 0===arguments.length?(this._events=n(null),this._eventsCount=0):r[e]&&(0==--this._eventsCount?this._events=n(null):delete r[e]),this;if(0===arguments.length){var o,a=i(r);for(s=0;s<a.length;++s)\"removeListener\"!==(o=a[s])&&this.removeAllListeners(o);return this.removeAllListeners(\"removeListener\"),this._events=n(null),this._eventsCount=0,this}if(\"function\"==typeof(t=r[e]))this.removeListener(e,t);else if(t)for(s=t.length-1;s>=0;s--)this.removeListener(e,t[s]);return this},o.prototype.listeners=function(e){return v(this,e,!0)},o.prototype.rawListeners=function(e){return v(this,e,!1)},o.listenerCount=function(e,t){return\"function\"==typeof e.listenerCount?e.listenerCount(t):w.call(e,t)},o.prototype.listenerCount=w,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],423:[function(e,t,r){\"use strict\";var n=e(\"safe-buffer\").Buffer,i=e(\"md5.js\");t.exports=function(e,t,r,s){if(n.isBuffer(e)||(e=n.from(e,\"binary\")),t&&(n.isBuffer(t)||(t=n.from(t,\"binary\")),8!==t.length))throw new RangeError(\"salt should be Buffer with 8 byte length\");for(var o=r/8,a=n.alloc(o),l=n.alloc(s||0),c=n.alloc(0);o>0||s>0;){var u=new i;u.update(c),u.update(e),t&&u.update(t),c=u.digest();var h=0;if(o>0){var f=a.length-o;h=Math.min(o,c.length),c.copy(a,f,0,h),o-=h}if(h<c.length&&s>0){var d=l.length-s,p=Math.min(s,c.length-h);c.copy(l,d,h,h+p),s-=p}}return c.fill(0),{key:a,iv:l}}},{\"md5.js\":450,\"safe-buffer\":494}],424:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.CsvParserStream=r.ParserOptions=r.parseFile=r.parseStream=r.parseString=r.parse=r.FormatterOptions=r.CsvFormatterStream=r.writeToPath=r.writeToString=r.writeToBuffer=r.writeToStream=r.write=r.format=void 0;var n=e(\"@fast-csv/format\");Object.defineProperty(r,\"format\",{enumerable:!0,get:function(){return n.format}}),Object.defineProperty(r,\"write\",{enumerable:!0,get:function(){return n.write}}),Object.defineProperty(r,\"writeToStream\",{enumerable:!0,get:function(){return n.writeToStream}}),Object.defineProperty(r,\"writeToBuffer\",{enumerable:!0,get:function(){return n.writeToBuffer}}),Object.defineProperty(r,\"writeToString\",{enumerable:!0,get:function(){return n.writeToString}}),Object.defineProperty(r,\"writeToPath\",{enumerable:!0,get:function(){return n.writeToPath}}),Object.defineProperty(r,\"CsvFormatterStream\",{enumerable:!0,get:function(){return n.CsvFormatterStream}}),Object.defineProperty(r,\"FormatterOptions\",{enumerable:!0,get:function(){return n.FormatterOptions}});var i=e(\"@fast-csv/parse\");Object.defineProperty(r,\"parse\",{enumerable:!0,get:function(){return i.parse}}),Object.defineProperty(r,\"parseString\",{enumerable:!0,get:function(){return i.parseString}}),Object.defineProperty(r,\"parseStream\",{enumerable:!0,get:function(){return i.parseStream}}),Object.defineProperty(r,\"parseFile\",{enumerable:!0,get:function(){return i.parseFile}}),Object.defineProperty(r,\"ParserOptions\",{enumerable:!0,get:function(){return i.ParserOptions}}),Object.defineProperty(r,\"CsvParserStream\",{enumerable:!0,get:function(){return i.CsvParserStream}})},{\"@fast-csv/format\":151,\"@fast-csv/parse\":155}],425:[function(e,t,r){\"use strict\";var n=e(\"safe-buffer\").Buffer,i=e(\"readable-stream\").Transform;function s(e){i.call(this),this._block=n.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}e(\"inherits\")(s,i),s.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(e){n=e}r(n)},s.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)},s.prototype.update=function(e,t){if(function(e,t){if(!n.isBuffer(e)&&\"string\"!=typeof e)throw new TypeError(t+\" must be a string or a buffer\")}(e,\"Data\"),this._finalized)throw new Error(\"Digest already called\");n.isBuffer(e)||(e=n.from(e,t));for(var r=this._block,i=0;this._blockOffset+e.length-i>=this._blockSize;){for(var s=this._blockOffset;s<this._blockSize;)r[s++]=e[i++];this._update(),this._blockOffset=0}for(;i<e.length;)r[this._blockOffset++]=e[i++];for(var o=0,a=8*e.length;a>0;++o)this._length[o]+=a,(a=this._length[o]/4294967296|0)>0&&(this._length[o]-=4294967296*a);return this},s.prototype._update=function(){throw new Error(\"_update is not implemented\")},s.prototype.digest=function(e){if(this._finalized)throw new Error(\"Digest already called\");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t},s.prototype._digest=function(){throw new Error(\"_digest is not implemented\")},t.exports=s},{inherits:440,\"readable-stream\":491,\"safe-buffer\":494}],426:[function(e,t,r){\"use strict\";var n=r;n.utils=e(\"./hash/utils\"),n.common=e(\"./hash/common\"),n.sha=e(\"./hash/sha\"),n.ripemd=e(\"./hash/ripemd\"),n.hmac=e(\"./hash/hmac\"),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},{\"./hash/common\":427,\"./hash/hmac\":428,\"./hash/ripemd\":429,\"./hash/sha\":430,\"./hash/utils\":437}],427:[function(e,t,r){\"use strict\";var n=e(\"./utils\"),i=e(\"minimalistic-assert\");function s(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian=\"big\",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}r.BlockHash=s,s.prototype.update=function(e,t){if(e=n.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=n.join32(e,0,e.length-r,this.endian);for(var i=0;i<e.length;i+=this._delta32)this._update(e,i,i+this._delta32)}return this},s.prototype.digest=function(e){return this.update(this._pad()),i(null===this.pending),this._digest(e)},s.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,r=t-(e+this.padLength)%t,n=new Array(r+this.padLength);n[0]=128;for(var i=1;i<r;i++)n[i]=0;if(e<<=3,\"big\"===this.endian){for(var s=8;s<this.padLength;s++)n[i++]=0;n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=e>>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,s=8;s<this.padLength;s++)n[i++]=0;return n}},{\"./utils\":437,\"minimalistic-assert\":453}],428:[function(e,t,r){\"use strict\";var n=e(\"./utils\"),i=e(\"minimalistic-assert\");function s(e,t,r){if(!(this instanceof s))return new s(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(t,r))}t.exports=s,s.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),i(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},s.prototype.update=function(e,t){return this.inner.update(e,t),this},s.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},{\"./utils\":437,\"minimalistic-assert\":453}],429:[function(e,t,r){\"use strict\";var n=e(\"./utils\"),i=e(\"./common\"),s=n.rotl32,o=n.sum32,a=n.sum32_3,l=n.sum32_4,c=i.BlockHash;function u(){if(!(this instanceof u))return new u;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian=\"little\"}function h(e,t,r,n){return e<=15?t^r^n:e<=31?t&r|~t&n:e<=47?(t|~r)^n:e<=63?t&n|r&~n:t^(r|~n)}function f(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function d(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}n.inherits(u,c),r.ripemd160=u,u.blockSize=512,u.outSize=160,u.hmacStrength=192,u.padLength=64,u.prototype._update=function(e,t){for(var r=this.h[0],n=this.h[1],i=this.h[2],c=this.h[3],u=this.h[4],y=r,v=n,w=i,_=c,x=u,k=0;k<80;k++){var S=o(s(l(r,h(k,n,i,c),e[p[k]+t],f(k)),b[k]),u);r=u,u=c,c=s(i,10),i=n,n=S,S=o(s(l(y,h(79-k,v,w,_),e[m[k]+t],d(k)),g[k]),x),y=x,x=_,_=s(w,10),w=v,v=S}S=a(this.h[1],i,_),this.h[1]=a(this.h[2],c,x),this.h[2]=a(this.h[3],u,y),this.h[3]=a(this.h[4],r,v),this.h[4]=a(this.h[0],n,w),this.h[0]=S},u.prototype._digest=function(e){return\"hex\"===e?n.toHex32(this.h,\"little\"):n.split32(this.h,\"little\")};var p=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],m=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],b=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],g=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},{\"./common\":427,\"./utils\":437}],430:[function(e,t,r){\"use strict\";r.sha1=e(\"./sha/1\"),r.sha224=e(\"./sha/224\"),r.sha256=e(\"./sha/256\"),r.sha384=e(\"./sha/384\"),r.sha512=e(\"./sha/512\")},{\"./sha/1\":431,\"./sha/224\":432,\"./sha/256\":433,\"./sha/384\":434,\"./sha/512\":435}],431:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../common\"),s=e(\"./common\"),o=n.rotl32,a=n.sum32,l=n.sum32_5,c=s.ft_1,u=i.BlockHash,h=[1518500249,1859775393,2400959708,3395469782];function f(){if(!(this instanceof f))return new f;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(f,u),t.exports=f,f.blockSize=512,f.outSize=160,f.hmacStrength=80,f.padLength=64,f.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n<r.length;n++)r[n]=o(r[n-3]^r[n-8]^r[n-14]^r[n-16],1);var i=this.h[0],s=this.h[1],u=this.h[2],f=this.h[3],d=this.h[4];for(n=0;n<r.length;n++){var p=~~(n/20),m=l(o(i,5),c(p,s,u,f),d,r[n],h[p]);d=f,f=u,u=o(s,30),s=i,i=m}this.h[0]=a(this.h[0],i),this.h[1]=a(this.h[1],s),this.h[2]=a(this.h[2],u),this.h[3]=a(this.h[3],f),this.h[4]=a(this.h[4],d)},f.prototype._digest=function(e){return\"hex\"===e?n.toHex32(this.h,\"big\"):n.split32(this.h,\"big\")}},{\"../common\":427,\"../utils\":437,\"./common\":436}],432:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./256\");function s(){if(!(this instanceof s))return new s;i.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(s,i),t.exports=s,s.blockSize=512,s.outSize=224,s.hmacStrength=192,s.padLength=64,s.prototype._digest=function(e){return\"hex\"===e?n.toHex32(this.h.slice(0,7),\"big\"):n.split32(this.h.slice(0,7),\"big\")}},{\"../utils\":437,\"./256\":433}],433:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../common\"),s=e(\"./common\"),o=e(\"minimalistic-assert\"),a=n.sum32,l=n.sum32_4,c=n.sum32_5,u=s.ch32,h=s.maj32,f=s.s0_256,d=s.s1_256,p=s.g0_256,m=s.g1_256,b=i.BlockHash,g=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function y(){if(!(this instanceof y))return new y;b.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=g,this.W=new Array(64)}n.inherits(y,b),t.exports=y,y.blockSize=512,y.outSize=256,y.hmacStrength=192,y.padLength=64,y.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n<r.length;n++)r[n]=l(m(r[n-2]),r[n-7],p(r[n-15]),r[n-16]);var i=this.h[0],s=this.h[1],b=this.h[2],g=this.h[3],y=this.h[4],v=this.h[5],w=this.h[6],_=this.h[7];for(o(this.k.length===r.length),n=0;n<r.length;n++){var x=c(_,d(y),u(y,v,w),this.k[n],r[n]),k=a(f(i),h(i,s,b));_=w,w=v,v=y,y=a(g,x),g=b,b=s,s=i,i=a(x,k)}this.h[0]=a(this.h[0],i),this.h[1]=a(this.h[1],s),this.h[2]=a(this.h[2],b),this.h[3]=a(this.h[3],g),this.h[4]=a(this.h[4],y),this.h[5]=a(this.h[5],v),this.h[6]=a(this.h[6],w),this.h[7]=a(this.h[7],_)},y.prototype._digest=function(e){return\"hex\"===e?n.toHex32(this.h,\"big\"):n.split32(this.h,\"big\")}},{\"../common\":427,\"../utils\":437,\"./common\":436,\"minimalistic-assert\":453}],434:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./512\");function s(){if(!(this instanceof s))return new s;i.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(s,i),t.exports=s,s.blockSize=1024,s.outSize=384,s.hmacStrength=192,s.padLength=128,s.prototype._digest=function(e){return\"hex\"===e?n.toHex32(this.h.slice(0,12),\"big\"):n.split32(this.h.slice(0,12),\"big\")}},{\"../utils\":437,\"./512\":435}],435:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../common\"),s=e(\"minimalistic-assert\"),o=n.rotr64_hi,a=n.rotr64_lo,l=n.shr64_hi,c=n.shr64_lo,u=n.sum64,h=n.sum64_hi,f=n.sum64_lo,d=n.sum64_4_hi,p=n.sum64_4_lo,m=n.sum64_5_hi,b=n.sum64_5_lo,g=i.BlockHash,y=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function v(){if(!(this instanceof v))return new v;g.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=y,this.W=new Array(160)}function w(e,t,r,n,i){var s=e&r^~e&i;return s<0&&(s+=4294967296),s}function _(e,t,r,n,i,s){var o=t&n^~t&s;return o<0&&(o+=4294967296),o}function x(e,t,r,n,i){var s=e&r^e&i^r&i;return s<0&&(s+=4294967296),s}function k(e,t,r,n,i,s){var o=t&n^t&s^n&s;return o<0&&(o+=4294967296),o}function S(e,t){var r=o(e,t,28)^o(t,e,2)^o(t,e,7);return r<0&&(r+=4294967296),r}function M(e,t){var r=a(e,t,28)^a(t,e,2)^a(t,e,7);return r<0&&(r+=4294967296),r}function C(e,t){var r=o(e,t,14)^o(e,t,18)^o(t,e,9);return r<0&&(r+=4294967296),r}function T(e,t){var r=a(e,t,14)^a(e,t,18)^a(t,e,9);return r<0&&(r+=4294967296),r}function E(e,t){var r=o(e,t,1)^o(e,t,8)^l(e,t,7);return r<0&&(r+=4294967296),r}function A(e,t){var r=a(e,t,1)^a(e,t,8)^c(e,t,7);return r<0&&(r+=4294967296),r}function R(e,t){var r=o(e,t,19)^o(t,e,29)^l(e,t,6);return r<0&&(r+=4294967296),r}function O(e,t){var r=a(e,t,19)^a(t,e,29)^c(e,t,6);return r<0&&(r+=4294967296),r}n.inherits(v,g),t.exports=v,v.blockSize=1024,v.outSize=512,v.hmacStrength=192,v.padLength=128,v.prototype._prepareBlock=function(e,t){for(var r=this.W,n=0;n<32;n++)r[n]=e[t+n];for(;n<r.length;n+=2){var i=R(r[n-4],r[n-3]),s=O(r[n-4],r[n-3]),o=r[n-14],a=r[n-13],l=E(r[n-30],r[n-29]),c=A(r[n-30],r[n-29]),u=r[n-32],h=r[n-31];r[n]=d(i,s,o,a,l,c,u,h),r[n+1]=p(i,s,o,a,l,c,u,h)}},v.prototype._update=function(e,t){this._prepareBlock(e,t);var r=this.W,n=this.h[0],i=this.h[1],o=this.h[2],a=this.h[3],l=this.h[4],c=this.h[5],d=this.h[6],p=this.h[7],g=this.h[8],y=this.h[9],v=this.h[10],E=this.h[11],A=this.h[12],R=this.h[13],O=this.h[14],j=this.h[15];s(this.k.length===r.length);for(var I=0;I<r.length;I+=2){var N=O,P=j,B=C(g,y),D=T(g,y),F=w(g,y,v,E,A),L=_(g,y,v,E,A,R),z=this.k[I],U=this.k[I+1],$=r[I],H=r[I+1],V=m(N,P,B,D,F,L,z,U,$,H),q=b(N,P,B,D,F,L,z,U,$,H);N=S(n,i),P=M(n,i),B=x(n,i,o,a,l),D=k(n,i,o,a,l,c);var W=h(N,P,B,D),X=f(N,P,B,D);O=A,j=R,A=v,R=E,v=g,E=y,g=h(d,p,V,q),y=f(p,p,V,q),d=l,p=c,l=o,c=a,o=n,a=i,n=h(V,q,W,X),i=f(V,q,W,X)}u(this.h,0,n,i),u(this.h,2,o,a),u(this.h,4,l,c),u(this.h,6,d,p),u(this.h,8,g,y),u(this.h,10,v,E),u(this.h,12,A,R),u(this.h,14,O,j)},v.prototype._digest=function(e){return\"hex\"===e?n.toHex32(this.h,\"big\"):n.split32(this.h,\"big\")}},{\"../common\":427,\"../utils\":437,\"minimalistic-assert\":453}],436:[function(e,t,r){\"use strict\";var n=e(\"../utils\").rotr32;function i(e,t,r){return e&t^~e&r}function s(e,t,r){return e&t^e&r^t&r}function o(e,t,r){return e^t^r}r.ft_1=function(e,t,r,n){return 0===e?i(t,r,n):1===e||3===e?o(t,r,n):2===e?s(t,r,n):void 0},r.ch32=i,r.maj32=s,r.p32=o,r.s0_256=function(e){return n(e,2)^n(e,13)^n(e,22)},r.s1_256=function(e){return n(e,6)^n(e,11)^n(e,25)},r.g0_256=function(e){return n(e,7)^n(e,18)^e>>>3},r.g1_256=function(e){return n(e,17)^n(e,19)^e>>>10}},{\"../utils\":437}],437:[function(e,t,r){\"use strict\";var n=e(\"minimalistic-assert\"),i=e(\"inherits\");function s(e,t){return 55296==(64512&e.charCodeAt(t))&&(!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1)))}function o(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function a(e){return 1===e.length?\"0\"+e:e}function l(e){return 7===e.length?\"0\"+e:6===e.length?\"00\"+e:5===e.length?\"000\"+e:4===e.length?\"0000\"+e:3===e.length?\"00000\"+e:2===e.length?\"000000\"+e:1===e.length?\"0000000\"+e:e}r.inherits=i,r.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if(\"string\"==typeof e)if(t){if(\"hex\"===t)for((e=e.replace(/[^a-z0-9]+/gi,\"\")).length%2!=0&&(e=\"0\"+e),i=0;i<e.length;i+=2)r.push(parseInt(e[i]+e[i+1],16))}else for(var n=0,i=0;i<e.length;i++){var o=e.charCodeAt(i);o<128?r[n++]=o:o<2048?(r[n++]=o>>6|192,r[n++]=63&o|128):s(e,i)?(o=65536+((1023&o)<<10)+(1023&e.charCodeAt(++i)),r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=63&o|128):(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=63&o|128)}else for(i=0;i<e.length;i++)r[i]=0|e[i];return r},r.toHex=function(e){for(var t=\"\",r=0;r<e.length;r++)t+=a(e[r].toString(16));return t},r.htonl=o,r.toHex32=function(e,t){for(var r=\"\",n=0;n<e.length;n++){var i=e[n];\"little\"===t&&(i=o(i)),r+=l(i.toString(16))}return r},r.zero2=a,r.zero8=l,r.join32=function(e,t,r,i){var s=r-t;n(s%4==0);for(var o=new Array(s/4),a=0,l=t;a<o.length;a++,l+=4){var c;c=\"big\"===i?e[l]<<24|e[l+1]<<16|e[l+2]<<8|e[l+3]:e[l+3]<<24|e[l+2]<<16|e[l+1]<<8|e[l],o[a]=c>>>0}return o},r.split32=function(e,t){for(var r=new Array(4*e.length),n=0,i=0;n<e.length;n++,i+=4){var s=e[n];\"big\"===t?(r[i]=s>>>24,r[i+1]=s>>>16&255,r[i+2]=s>>>8&255,r[i+3]=255&s):(r[i+3]=s>>>24,r[i+2]=s>>>16&255,r[i+1]=s>>>8&255,r[i]=255&s)}return r},r.rotr32=function(e,t){return e>>>t|e<<32-t},r.rotl32=function(e,t){return e<<t|e>>>32-t},r.sum32=function(e,t){return e+t>>>0},r.sum32_3=function(e,t,r){return e+t+r>>>0},r.sum32_4=function(e,t,r,n){return e+t+r+n>>>0},r.sum32_5=function(e,t,r,n,i){return e+t+r+n+i>>>0},r.sum64=function(e,t,r,n){var i=e[t],s=n+e[t+1]>>>0,o=(s<n?1:0)+r+i;e[t]=o>>>0,e[t+1]=s},r.sum64_hi=function(e,t,r,n){return(t+n>>>0<t?1:0)+e+r>>>0},r.sum64_lo=function(e,t,r,n){return t+n>>>0},r.sum64_4_hi=function(e,t,r,n,i,s,o,a){var l=0,c=t;return l+=(c=c+n>>>0)<t?1:0,l+=(c=c+s>>>0)<s?1:0,e+r+i+o+(l+=(c=c+a>>>0)<a?1:0)>>>0},r.sum64_4_lo=function(e,t,r,n,i,s,o,a){return t+n+s+a>>>0},r.sum64_5_hi=function(e,t,r,n,i,s,o,a,l,c){var u=0,h=t;return u+=(h=h+n>>>0)<t?1:0,u+=(h=h+s>>>0)<s?1:0,u+=(h=h+a>>>0)<a?1:0,e+r+i+o+l+(u+=(h=h+c>>>0)<c?1:0)>>>0},r.sum64_5_lo=function(e,t,r,n,i,s,o,a,l,c){return t+n+s+a+c>>>0},r.rotr64_hi=function(e,t,r){return(t<<32-r|e>>>r)>>>0},r.rotr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0},r.shr64_hi=function(e,t,r){return e>>>r},r.shr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0}},{inherits:440,\"minimalistic-assert\":453}],438:[function(e,t,r){\"use strict\";var n=e(\"hash.js\"),i=e(\"minimalistic-crypto-utils\"),s=e(\"minimalistic-assert\");function o(e){if(!(this instanceof o))return new o(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=i.toArray(e.entropy,e.entropyEnc||\"hex\"),r=i.toArray(e.nonce,e.nonceEnc||\"hex\"),n=i.toArray(e.pers,e.persEnc||\"hex\");s(t.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._init(t,r,n)}t.exports=o,o.prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},o.prototype._hmac=function(){return new n.hmac(this.hash,this.K)},o.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},o.prototype.reseed=function(e,t,r,n){\"string\"!=typeof t&&(n=r,r=t,t=null),e=i.toArray(e,t),r=i.toArray(r,n),s(e.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._update(e.concat(r||[])),this._reseed=1},o.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error(\"Reseed is required\");\"string\"!=typeof t&&(n=r,r=t,t=null),r&&(r=i.toArray(r,n||\"hex\"),this._update(r));for(var s=[];s.length<e;)this.V=this._hmac().update(this.V).digest(),s=s.concat(this.V);var o=s.slice(0,e);return this._update(r),this._reseed++,i.encode(o,t)}},{\"hash.js\":426,\"minimalistic-assert\":453,\"minimalistic-crypto-utils\":454}],439:[function(e,t,r){\"use strict\";\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */r.read=function(e,t,r,n,i){var s,o,a=8*i-n-1,l=(1<<a)-1,c=l>>1,u=-7,h=r?i-1:0,f=r?-1:1,d=e[t+h];for(h+=f,s=d&(1<<-u)-1,d>>=-u,u+=a;u>0;s=256*s+e[t+h],h+=f,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=f,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,n),s-=c}return(d?-1:1)*o*Math.pow(2,s-n)},r.write=function(e,t,r,n,i,s){var o,a,l,c=8*s-i-1,u=(1<<c)-1,h=u>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:s-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(a=0,o=u):o+h>=1?(a=(t*l-1)*Math.pow(2,i),o+=h):(a=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+d]=255&a,d+=p,a/=256,i-=8);for(o=o<<i|a,c+=i;c>0;e[r+d]=255&o,d+=p,o/=256,c-=8);e[r+d-p]|=128*m}},{}],440:[function(e,t,r){\"use strict\";\"function\"==typeof Object.create?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},{}],441:[function(e,t,r){(function(n,i,s,o,a,l,c,u){(function(){\"use strict\";\n/*!\n\nJSZip v3.10.1 - A JavaScript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>\nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/main/LICENSE\n*/!function(e){\"object\"==typeof r&&void 0!==t?t.exports=e():(\"undefined\"!=typeof window?window:void 0!==i?i:\"undefined\"!=typeof self?self:this).JSZip=e()}((function(){return function t(r,n,i){function s(a,l){if(!n[a]){if(!r[a]){var c=\"function\"==typeof e&&e;if(!l&&c)return c(a,!0);if(o)return o(a,!0);var u=new Error(\"Cannot find module '\"+a+\"'\");throw u.code=\"MODULE_NOT_FOUND\",u}var h=n[a]={exports:{}};r[a][0].call(h.exports,(function(e){return s(r[a][1][e]||e)}),h,h.exports,t,r,n,i)}return n[a].exports}for(var o=\"function\"==typeof e&&e,a=0;a<i.length;a++)s(i[a]);return s}({1:[function(e,t,r){var n=e(\"./utils\"),i=e(\"./support\"),s=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";r.encode=function(e){for(var t,r,i,o,a,l,c,u=[],h=0,f=e.length,d=f,p=\"string\"!==n.getTypeOf(e);h<e.length;)d=f-h,i=p?(t=e[h++],r=h<f?e[h++]:0,h<f?e[h++]:0):(t=e.charCodeAt(h++),r=h<f?e.charCodeAt(h++):0,h<f?e.charCodeAt(h++):0),o=t>>2,a=(3&t)<<4|r>>4,l=1<d?(15&r)<<2|i>>6:64,c=2<d?63&i:64,u.push(s.charAt(o)+s.charAt(a)+s.charAt(l)+s.charAt(c));return u.join(\"\")},r.decode=function(e){var t,r,n,o,a,l,c=0,u=0,h=\"data:\";if(e.substr(0,h.length)===h)throw new Error(\"Invalid base64 input, it looks like a data url.\");var f,d=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,\"\")).length/4;if(e.charAt(e.length-1)===s.charAt(64)&&d--,e.charAt(e.length-2)===s.charAt(64)&&d--,d%1!=0)throw new Error(\"Invalid base64 input, bad content length.\");for(f=i.uint8array?new Uint8Array(0|d):new Array(0|d);c<e.length;)t=s.indexOf(e.charAt(c++))<<2|(o=s.indexOf(e.charAt(c++)))>>4,r=(15&o)<<4|(a=s.indexOf(e.charAt(c++)))>>2,n=(3&a)<<6|(l=s.indexOf(e.charAt(c++))),f[u++]=t,64!==a&&(f[u++]=r),64!==l&&(f[u++]=n);return f}},{\"./support\":30,\"./utils\":32}],2:[function(e,t,r){var n=e(\"./external\"),i=e(\"./stream/DataWorker\"),s=e(\"./stream/Crc32Probe\"),o=e(\"./stream/DataLengthProbe\");function a(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}a.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new o(\"data_length\")),t=this;return e.on(\"end\",(function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")})),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},a.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new o(\"uncompressedSize\")).pipe(t.compressWorker(r)).pipe(new o(\"compressedSize\")).withStreamInfo(\"compression\",t)},t.exports=a},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(e,t,r){var n=e(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(){return new n(\"STORE compression\")},uncompressWorker:function(){return new n(\"STORE decompression\")}},r.DEFLATE=e(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(e,t,r){var n=e(\"./utils\"),i=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?\"string\"!==n.getTypeOf(e)?function(e,t,r,n){var s=i,o=0+r;e^=-1;for(var a=0;a<o;a++)e=e>>>8^s[255&(e^t[a])];return-1^e}(0|t,e,e.length):function(e,t,r,n){var s=i,o=0+r;e^=-1;for(var a=0;a<o;a++)e=e>>>8^s[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length):0}},{\"./utils\":32}],5:[function(e,t,r){r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){var n;n=\"undefined\"!=typeof Promise?Promise:e(\"lie\"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,i=e(\"pako\"),s=e(\"./utils\"),o=e(\"./stream/GenericWorker\"),a=n?\"uint8array\":\"array\";function l(e,t){o.call(this,\"FlateWorker/\"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic=\"\\b\\0\",s.inherits(l,o),l.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(a,e.data),!1)},l.prototype.flush=function(){o.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},l.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this._pako=null},l.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},r.compressWorker=function(e){return new l(\"Deflate\",e)},r.uncompressWorker=function(){return new l(\"Inflate\",{})}},{\"./stream/GenericWorker\":28,\"./utils\":32,pako:38}],8:[function(e,t,r){function n(e,t){var r,n=\"\";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function i(e,t,r,i,o,u){var h,f,d=e.file,p=e.compression,m=u!==a.utf8encode,b=s.transformTo(\"string\",u(d.name)),g=s.transformTo(\"string\",a.utf8encode(d.name)),y=d.comment,v=s.transformTo(\"string\",u(y)),w=s.transformTo(\"string\",a.utf8encode(y)),_=g.length!==d.name.length,x=w.length!==y.length,k=\"\",S=\"\",M=\"\",C=d.dir,T=d.date,E={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(E.crc32=e.crc32,E.compressedSize=e.compressedSize,E.uncompressedSize=e.uncompressedSize);var A=0;t&&(A|=8),m||!_&&!x||(A|=2048);var R=0,O=0;C&&(R|=16),\"UNIX\"===o?(O=798,R|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(d.unixPermissions,C)):(O=20,R|=function(e){return 63&(e||0)}(d.dosPermissions)),h=T.getUTCHours(),h<<=6,h|=T.getUTCMinutes(),h<<=5,h|=T.getUTCSeconds()/2,f=T.getUTCFullYear()-1980,f<<=4,f|=T.getUTCMonth()+1,f<<=5,f|=T.getUTCDate(),_&&(S=n(1,1)+n(l(b),4)+g,k+=\"up\"+n(S.length,2)+S),x&&(M=n(1,1)+n(l(v),4)+w,k+=\"uc\"+n(M.length,2)+M);var j=\"\";return j+=\"\\n\\0\",j+=n(A,2),j+=p.magic,j+=n(h,2),j+=n(f,2),j+=n(E.crc32,4),j+=n(E.compressedSize,4),j+=n(E.uncompressedSize,4),j+=n(b.length,2),j+=n(k.length,2),{fileRecord:c.LOCAL_FILE_HEADER+j+b+k,dirRecord:c.CENTRAL_FILE_HEADER+n(O,2)+j+n(v.length,2)+\"\\0\\0\\0\\0\"+n(R,4)+n(i,4)+b+k+v}}var s=e(\"../utils\"),o=e(\"../stream/GenericWorker\"),a=e(\"../utf8\"),l=e(\"../crc32\"),c=e(\"../signature\");function u(e,t,r,n){o.call(this,\"ZipFileWorker\"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}s.inherits(u,o),u.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,o.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},u.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=i(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},u.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=i(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return c.DATA_DESCRIPTOR+n(e.crc32,4)+n(e.compressedSize,4)+n(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},u.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r=this.bytesWritten-e,i=function(e,t,r,i,o){var a=s.transformTo(\"string\",o(i));return c.CENTRAL_DIRECTORY_END+\"\\0\\0\\0\\0\"+n(e,2)+n(e,2)+n(t,4)+n(r,4)+n(a.length,2)+a}(this.dirRecords.length,r,e,this.zipComment,this.encodeFileName);this.push({data:i,meta:{percent:100}})},u.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},u.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on(\"data\",(function(e){t.processChunk(e)})),e.on(\"end\",(function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()})),e.on(\"error\",(function(e){t.error(e)})),this},u.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},u.prototype.error=function(e){var t=this._sources;if(!o.prototype.error.call(this,e))return!1;for(var r=0;r<t.length;r++)try{t[r].error(e)}catch(e){}return!0},u.prototype.lock=function(){o.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=u},{\"../crc32\":4,\"../signature\":23,\"../stream/GenericWorker\":28,\"../utf8\":31,\"../utils\":32}],9:[function(e,t,r){var n=e(\"../compressions\"),i=e(\"./ZipFileWorker\");r.generateWorker=function(e,t,r){var s=new i(t.streamFiles,r,t.platform,t.encodeFileName),o=0;try{e.forEach((function(e,r){o++;var i=function(e,t){var r=e||t,i=n[r];if(!i)throw new Error(r+\" is not a valid compression method !\");return i}(r.options.compression,t.compression),a=r.options.compressionOptions||t.compressionOptions||{},l=r.dir,c=r.date;r._compressWorker(i,a).withStreamInfo(\"file\",{name:e,dir:l,date:c,comment:r.comment||\"\",unixPermissions:r.unixPermissions,dosPermissions:r.dosPermissions}).pipe(s)})),s.entriesCount=o}catch(e){s.error(e)}return s}},{\"../compressions\":3,\"./ZipFileWorker\":8}],10:[function(e,t,r){function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error(\"The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.\");this.files=Object.create(null),this.comment=null,this.root=\"\",this.clone=function(){var e=new n;for(var t in this)\"function\"!=typeof this[t]&&(e[t]=this[t]);return e}}(n.prototype=e(\"./object\")).loadAsync=e(\"./load\"),n.support=e(\"./support\"),n.defaults=e(\"./defaults\"),n.version=\"3.10.1\",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=e(\"./external\"),t.exports=n},{\"./defaults\":5,\"./external\":6,\"./load\":11,\"./object\":15,\"./support\":30}],11:[function(e,t,r){var n=e(\"./utils\"),i=e(\"./external\"),s=e(\"./utf8\"),o=e(\"./zipEntries\"),a=e(\"./stream/Crc32Probe\"),l=e(\"./nodejsUtils\");function c(e){return new i.Promise((function(t,r){var n=e.decompressed.getContentWorker().pipe(new a);n.on(\"error\",(function(e){r(e)})).on(\"end\",(function(){n.streamInfo.crc32!==e.decompressed.crc32?r(new Error(\"Corrupted zip : CRC32 mismatch\")):t()})).resume()}))}t.exports=function(e,t){var r=this;return t=n.extend(t||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:s.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error(\"JSZip can't accept a stream when loading a zip file.\")):n.prepareContent(\"the loaded zip file\",e,!0,t.optimizedBinaryString,t.base64).then((function(e){var r=new o(t);return r.load(e),r})).then((function(e){var r=[i.Promise.resolve(e)],n=e.files;if(t.checkCRC32)for(var s=0;s<n.length;s++)r.push(c(n[s]));return i.Promise.all(r)})).then((function(e){for(var i=e.shift(),s=i.files,o=0;o<s.length;o++){var a=s[o],l=a.fileNameStr,c=n.resolve(a.fileNameStr);r.file(c,a.decompressed,{binary:!0,optimizedBinaryString:!0,date:a.date,dir:a.dir,comment:a.fileCommentStr.length?a.fileCommentStr:null,unixPermissions:a.unixPermissions,dosPermissions:a.dosPermissions,createFolders:t.createFolders}),a.dir||(r.file(c).unsafeOriginalName=l)}return i.zipComment.length&&(r.comment=i.zipComment),r}))}},{\"./external\":6,\"./nodejsUtils\":14,\"./stream/Crc32Probe\":25,\"./utf8\":31,\"./utils\":32,\"./zipEntries\":33}],12:[function(e,t,r){var n=e(\"../utils\"),i=e(\"../stream/GenericWorker\");function s(e,t){i.call(this,\"Nodejs stream input adapter for \"+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on(\"data\",(function(e){t.push({data:e,meta:{percent:0}})})).on(\"error\",(function(e){t.isPaused?this.generatedError=e:t.error(e)})).on(\"end\",(function(){t.isPaused?t._upstreamEnded=!0:t.end()}))},s.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s},{\"../stream/GenericWorker\":28,\"../utils\":32}],13:[function(e,t,r){var n=e(\"readable-stream\").Readable;function i(e,t,r){n.call(this,t),this._helper=e;var i=this;e.on(\"data\",(function(e,t){i.push(e)||i._helper.pause(),r&&r(t)})).on(\"error\",(function(e){i.emit(\"error\",e)})).on(\"end\",(function(){i.push(null)}))}e(\"../utils\").inherits(i,n),i.prototype._read=function(){this._helper.resume()},t.exports=i},{\"../utils\":32,\"readable-stream\":16}],14:[function(e,t,r){t.exports={isNode:void 0!==s,newBufferFrom:function(e,t){if(s.from&&s.from!==Uint8Array.from)return s.from(e,t);if(\"number\"==typeof e)throw new Error('The \"data\" argument must not be a number');return new s(e,t)},allocBuffer:function(e){if(s.alloc)return s.alloc(e);var t=new s(e);return t.fill(0),t},isBuffer:function(e){return s.isBuffer(e)},isStream:function(e){return e&&\"function\"==typeof e.on&&\"function\"==typeof e.pause&&\"function\"==typeof e.resume}}},{}],15:[function(e,t,r){function n(e,t,r){var n,i=s.getTypeOf(t),a=s.extend(r||{},l);a.date=a.date||new Date,null!==a.compression&&(a.compression=a.compression.toUpperCase()),\"string\"==typeof a.unixPermissions&&(a.unixPermissions=parseInt(a.unixPermissions,8)),a.unixPermissions&&16384&a.unixPermissions&&(a.dir=!0),a.dosPermissions&&16&a.dosPermissions&&(a.dir=!0),a.dir&&(e=m(e)),a.createFolders&&(n=p(e))&&b.call(this,n,!0);var h=\"string\"===i&&!1===a.binary&&!1===a.base64;r&&void 0!==r.binary||(a.binary=!h),(t instanceof c&&0===t.uncompressedSize||a.dir||!t||0===t.length)&&(a.base64=!1,a.binary=!0,t=\"\",a.compression=\"STORE\",i=\"string\");var g;g=t instanceof c||t instanceof o?t:f.isNode&&f.isStream(t)?new d(e,t):s.prepareContent(e,t,a.binary,a.optimizedBinaryString,a.base64);var y=new u(e,g,a);this.files[e]=y}var i=e(\"./utf8\"),s=e(\"./utils\"),o=e(\"./stream/GenericWorker\"),a=e(\"./stream/StreamHelper\"),l=e(\"./defaults\"),c=e(\"./compressedObject\"),u=e(\"./zipObject\"),h=e(\"./generate\"),f=e(\"./nodejsUtils\"),d=e(\"./nodejs/NodejsStreamInputAdapter\"),p=function(e){\"/\"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf(\"/\");return 0<t?e.substring(0,t):\"\"},m=function(e){return\"/\"!==e.slice(-1)&&(e+=\"/\"),e},b=function(e,t){return t=void 0!==t?t:l.createFolders,e=m(e),this.files[e]||n.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function g(e){return\"[object RegExp]\"===Object.prototype.toString.call(e)}var y={load:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},forEach:function(e){var t,r,n;for(t in this.files)n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n)},filter:function(e){var t=[];return this.forEach((function(r,n){e(r,n)&&t.push(n)})),t},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,n.call(this,e,t,r),this;if(g(e)){var i=e;return this.filter((function(e,t){return!t.dir&&i.test(e)}))}var s=this.files[this.root+e];return s&&!s.dir?s:null},folder:function(e){if(!e)return this;if(g(e))return this.filter((function(t,r){return r.dir&&e.test(t)}));var t=this.root+e,r=b.call(this,t),n=this.clone();return n.root=r.name,n},remove:function(e){e=this.root+e;var t=this.files[e];if(t||(\"/\"!==e.slice(-1)&&(e+=\"/\"),t=this.files[e]),t&&!t.dir)delete this.files[e];else for(var r=this.filter((function(t,r){return r.name.slice(0,e.length)===e})),n=0;n<r.length;n++)delete this.files[r[n].name];return this},generate:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},generateInternalStream:function(e){var t,r={};try{if((r=s.extend(e||{},{streamFiles:!1,compression:\"STORE\",compressionOptions:null,type:\"\",platform:\"DOS\",comment:null,mimeType:\"application/zip\",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),\"binarystring\"===r.type&&(r.type=\"string\"),!r.type)throw new Error(\"No output type specified.\");s.checkSupport(r.type),\"darwin\"!==r.platform&&\"freebsd\"!==r.platform&&\"linux\"!==r.platform&&\"sunos\"!==r.platform||(r.platform=\"UNIX\"),\"win32\"===r.platform&&(r.platform=\"DOS\");var n=r.comment||this.comment||\"\";t=h.generateWorker(this,r,n)}catch(e){(t=new o(\"error\")).error(e)}return new a(t,r.type||\"string\",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type=\"nodebuffer\"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=y},{\"./compressedObject\":2,\"./defaults\":5,\"./generate\":9,\"./nodejs/NodejsStreamInputAdapter\":12,\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31,\"./utils\":32,\"./zipObject\":35}],16:[function(e,t,r){t.exports=e(\"stream\")},{stream:void 0}],17:[function(e,t,r){var n=e(\"./DataReader\");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],18:[function(e,t,r){var n=e(\"../utils\");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error(\"End of data reached (data length = \"+this.length+\", asked index = \"+e+\"). Corrupted zip ?\")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo(\"string\",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{\"../utils\":32}],19:[function(e,t,r){var n=e(\"./Uint8ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./Uint8ArrayReader\":21}],20:[function(e,t,r){var n=e(\"./DataReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],21:[function(e,t,r){var n=e(\"./ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./ArrayReader\":17}],22:[function(e,t,r){var n=e(\"../utils\"),i=e(\"../support\"),s=e(\"./ArrayReader\"),o=e(\"./StringReader\"),a=e(\"./NodeBufferReader\"),l=e(\"./Uint8ArrayReader\");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),\"string\"!==t||i.uint8array?\"nodebuffer\"===t?new a(e):i.uint8array?new l(n.transformTo(\"uint8array\",e)):new s(n.transformTo(\"array\",e)):new o(e)}},{\"../support\":30,\"../utils\":32,\"./ArrayReader\":17,\"./NodeBufferReader\":19,\"./StringReader\":20,\"./Uint8ArrayReader\":21}],23:[function(e,t,r){r.LOCAL_FILE_HEADER=\"PK\\x03\\x04\",r.CENTRAL_FILE_HEADER=\"PK\\x01\\x02\",r.CENTRAL_DIRECTORY_END=\"PK\\x05\\x06\",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\\x06\\x07\",r.ZIP64_CENTRAL_DIRECTORY_END=\"PK\\x06\\x06\",r.DATA_DESCRIPTOR=\"PK\\x07\\b\"},{}],24:[function(e,t,r){var n=e(\"./GenericWorker\"),i=e(\"../utils\");function s(e){n.call(this,\"ConvertWorker to \"+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],25:[function(e,t,r){var n=e(\"./GenericWorker\"),i=e(\"../crc32\");function s(){n.call(this,\"Crc32Probe\"),this.withStreamInfo(\"crc32\",0)}e(\"../utils\").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{\"../crc32\":4,\"../utils\":32,\"./GenericWorker\":28}],26:[function(e,t,r){var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataLengthProbe for \"+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],27:[function(e,t,r){var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataWorker\");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=\"\",this._tickScheduled=!1,e.then((function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()}),(function(e){t.error(e)}))}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case\"string\":e=this.data.substring(this.index,t);break;case\"uint8array\":e=this.data.subarray(this.index,t);break;case\"array\":case\"nodebuffer\":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],28:[function(e,t,r){function n(e){this.name=e||\"default\",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit(\"data\",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(\"end\"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit(\"error\",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit(\"error\",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on(\"data\",(function(e){t.processChunk(e)})),e.on(\"end\",(function(){t.end()})),e.on(\"error\",(function(e){t.error(e)})),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e=\"Worker \"+this.name;return this.previous?this.previous+\" -> \"+e:e}},t.exports=n},{}],29:[function(e,t,r){var n=e(\"../utils\"),i=e(\"./ConvertWorker\"),o=e(\"./GenericWorker\"),a=e(\"../base64\"),l=e(\"../support\"),c=e(\"../external\"),u=null;if(l.nodestream)try{u=e(\"../nodejs/NodejsStreamOutputAdapter\")}catch(e){}function h(e,t,r){var s=t;switch(t){case\"blob\":case\"arraybuffer\":s=\"uint8array\";break;case\"base64\":s=\"string\"}try{this._internalType=s,this._outputType=t,this._mimeType=r,n.checkSupport(s),this._worker=e.pipe(new i(s)),e.lock()}catch(e){this._worker=new o(\"error\"),this._worker.error(e)}}h.prototype={accumulate:function(e){return function(e,t){return new c.Promise((function(r,i){var o=[],l=e._internalType,c=e._outputType,u=e._mimeType;e.on(\"data\",(function(e,r){o.push(e),t&&t(r)})).on(\"error\",(function(e){o=[],i(e)})).on(\"end\",(function(){try{var e=function(e,t,r){switch(e){case\"blob\":return n.newBlob(n.transformTo(\"arraybuffer\",t),r);case\"base64\":return a.encode(t);default:return n.transformTo(e,t)}}(c,function(e,t){var r,n=0,i=null,o=0;for(r=0;r<t.length;r++)o+=t[r].length;switch(e){case\"string\":return t.join(\"\");case\"array\":return Array.prototype.concat.apply([],t);case\"uint8array\":for(i=new Uint8Array(o),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case\"nodebuffer\":return s.concat(t);default:throw new Error(\"concat : unsupported type '\"+e+\"'\")}}(l,o),u);r(e)}catch(e){i(e)}o=[]})).resume()}))}(this,e)},on:function(e,t){var r=this;return\"data\"===e?this._worker.on(e,(function(e){t.call(r,e.data,e.meta)})):this._worker.on(e,(function(){n.delay(t,arguments,r)})),this},resume:function(){return n.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(n.checkSupport(\"nodestream\"),\"nodebuffer\"!==this._outputType)throw new Error(this._outputType+\" is not supported by this method\");return new u(this,{objectMode:\"nodebuffer\"!==this._outputType},e)}},t.exports=h},{\"../base64\":1,\"../external\":6,\"../nodejs/NodejsStreamOutputAdapter\":13,\"../support\":30,\"../utils\":32,\"./ConvertWorker\":24,\"./GenericWorker\":28}],30:[function(e,t,r){if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array,r.nodebuffer=void 0!==s,r.uint8array=\"undefined\"!=typeof Uint8Array,\"undefined\"==typeof ArrayBuffer)r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:\"application/zip\"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob(\"application/zip\").size}catch(e){r.blob=!1}}}try{r.nodestream=!!e(\"readable-stream\").Readable}catch(e){r.nodestream=!1}},{\"readable-stream\":16}],31:[function(e,t,r){for(var n=e(\"./utils\"),i=e(\"./support\"),s=e(\"./nodejsUtils\"),o=e(\"./stream/GenericWorker\"),a=new Array(256),l=0;l<256;l++)a[l]=252<=l?6:248<=l?5:240<=l?4:224<=l?3:192<=l?2:1;function c(){o.call(this,\"utf-8 decode\"),this.leftOver=null}function u(){o.call(this,\"utf-8 encode\")}a[254]=a[254]=1,r.utf8encode=function(e){return i.nodebuffer?s.newBufferFrom(e,\"utf-8\"):function(e){var t,r,n,s,o,a=e.length,l=0;for(s=0;s<a;s++)55296==(64512&(r=e.charCodeAt(s)))&&s+1<a&&56320==(64512&(n=e.charCodeAt(s+1)))&&(r=65536+(r-55296<<10)+(n-56320),s++),l+=r<128?1:r<2048?2:r<65536?3:4;for(t=i.uint8array?new Uint8Array(l):new Array(l),s=o=0;o<l;s++)55296==(64512&(r=e.charCodeAt(s)))&&s+1<a&&56320==(64512&(n=e.charCodeAt(s+1)))&&(r=65536+(r-55296<<10)+(n-56320),s++),r<128?t[o++]=r:(r<2048?t[o++]=192|r>>>6:(r<65536?t[o++]=224|r>>>12:(t[o++]=240|r>>>18,t[o++]=128|r>>>12&63),t[o++]=128|r>>>6&63),t[o++]=128|63&r);return t}(e)},r.utf8decode=function(e){return i.nodebuffer?n.transformTo(\"nodebuffer\",e).toString(\"utf-8\"):function(e){var t,r,i,s,o=e.length,l=new Array(2*o);for(t=r=0;t<o;)if((i=e[t++])<128)l[r++]=i;else if(4<(s=a[i]))l[r++]=65533,t+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&t<o;)i=i<<6|63&e[t++],s--;1<s?l[r++]=65533:i<65536?l[r++]=i:(i-=65536,l[r++]=55296|i>>10&1023,l[r++]=56320|1023&i)}return l.length!==r&&(l.subarray?l=l.subarray(0,r):l.length=r),n.applyFromCharCode(l)}(e=n.transformTo(i.uint8array?\"uint8array\":\"array\",e))},n.inherits(c,o),c.prototype.processChunk=function(e){var t=n.transformTo(i.uint8array?\"uint8array\":\"array\",e.data);if(this.leftOver&&this.leftOver.length){if(i.uint8array){var s=t;(t=new Uint8Array(s.length+this.leftOver.length)).set(this.leftOver,0),t.set(s,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var o=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0||0===r?t:r+a[e[r]]>t?r:t}(t),l=t;o!==t.length&&(i.uint8array?(l=t.subarray(0,o),this.leftOver=t.subarray(o,t.length)):(l=t.slice(0,o),this.leftOver=t.slice(o,t.length))),this.push({data:r.utf8decode(l),meta:e.meta})},c.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:r.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},r.Utf8DecodeWorker=c,n.inherits(u,o),u.prototype.processChunk=function(e){this.push({data:r.utf8encode(e.data),meta:e.meta})},r.Utf8EncodeWorker=u},{\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./support\":30,\"./utils\":32}],32:[function(e,t,r){var n=e(\"./support\"),i=e(\"./base64\"),s=e(\"./nodejsUtils\"),o=e(\"./external\");function a(e){return e}function l(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}e(\"setimmediate\"),r.newBlob=function(e,t){r.checkSupport(\"blob\");try{return new Blob([e],{type:t})}catch(r){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(e),n.getBlob(t)}catch(e){throw new Error(\"Bug : can't construct the Blob.\")}}};var c={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)\"array\"===t||\"nodebuffer\"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join(\"\")},stringifyByChar:function(e){for(var t=\"\",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return n.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return n.nodebuffer&&1===String.fromCharCode.apply(null,s.allocBuffer(1)).length}catch(e){return!1}}()}};function h(e){var t=65536,n=r.getTypeOf(e),i=!0;if(\"uint8array\"===n?i=c.applyCanBeUsed.uint8array:\"nodebuffer\"===n&&(i=c.applyCanBeUsed.nodebuffer),i)for(;1<t;)try{return c.stringifyByChunk(e,n,t)}catch(e){t=Math.floor(t/2)}return c.stringifyByChar(e)}function f(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}r.applyFromCharCode=h;var d={};d.string={string:a,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return d.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,s.allocBuffer(e.length))}},d.array={string:h,array:a,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return s.newBufferFrom(e)}},d.arraybuffer={string:function(e){return h(new Uint8Array(e))},array:function(e){return f(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:a,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return s.newBufferFrom(new Uint8Array(e))}},d.uint8array={string:h,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:a,nodebuffer:function(e){return s.newBufferFrom(e)}},d.nodebuffer={string:h,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return d.nodebuffer.uint8array(e).buffer},uint8array:function(e){return f(e,new Uint8Array(e.length))},nodebuffer:a},r.transformTo=function(e,t){if(t=t||\"\",!e)return t;r.checkSupport(e);var n=r.getTypeOf(t);return d[n][e](t)},r.resolve=function(e){for(var t=e.split(\"/\"),r=[],n=0;n<t.length;n++){var i=t[n];\".\"===i||\"\"===i&&0!==n&&n!==t.length-1||(\"..\"===i?r.pop():r.push(i))}return r.join(\"/\")},r.getTypeOf=function(e){return\"string\"==typeof e?\"string\":\"[object Array]\"===Object.prototype.toString.call(e)?\"array\":n.nodebuffer&&s.isBuffer(e)?\"nodebuffer\":n.uint8array&&e instanceof Uint8Array?\"uint8array\":n.arraybuffer&&e instanceof ArrayBuffer?\"arraybuffer\":void 0},r.checkSupport=function(e){if(!n[e.toLowerCase()])throw new Error(e+\" is not supported by this platform\")},r.MAX_VALUE_16BITS=65535,r.MAX_VALUE_32BITS=-1,r.pretty=function(e){var t,r,n=\"\";for(r=0;r<(e||\"\").length;r++)n+=\"\\\\x\"+((t=e.charCodeAt(r))<16?\"0\":\"\")+t.toString(16).toUpperCase();return n},r.delay=function(e,t,r){u((function(){e.apply(r||null,t||[])}))},r.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r},r.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},r.prepareContent=function(e,t,s,a,c){return o.Promise.resolve(t).then((function(e){return n.blob&&(e instanceof Blob||-1!==[\"[object File]\",\"[object Blob]\"].indexOf(Object.prototype.toString.call(e)))&&\"undefined\"!=typeof FileReader?new o.Promise((function(t,r){var n=new FileReader;n.onload=function(e){t(e.target.result)},n.onerror=function(e){r(e.target.error)},n.readAsArrayBuffer(e)})):e})).then((function(t){var u=r.getTypeOf(t);return u?(\"arraybuffer\"===u?t=r.transformTo(\"uint8array\",t):\"string\"===u&&(c?t=i.decode(t):s&&!0!==a&&(t=function(e){return l(e,n.uint8array?new Uint8Array(e.length):new Array(e.length))}(t))),t):o.Promise.reject(new Error(\"Can't read the data of '\"+e+\"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?\"))}))}},{\"./base64\":1,\"./external\":6,\"./nodejsUtils\":14,\"./support\":30,setimmediate:54}],33:[function(e,t,r){var n=e(\"./reader/readerFor\"),i=e(\"./utils\"),s=e(\"./signature\"),o=e(\"./zipEntry\"),a=e(\"./support\");function l(e){this.files=[],this.loadOptions=e}l.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error(\"Corrupted zip or bug: unexpected signature (\"+i.pretty(t)+\", expected \"+i.pretty(e)+\")\")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=a.uint8array?\"uint8array\":\"array\",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error(\"Multi-volumes zip are not supported\")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new o({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error(\"Corrupted zip or bug: expected \"+this.centralDirRecords+\" records in central dir, got \"+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error(\"Corrupted zip: can't find end of central directory\"):new Error(\"Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html\");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory locator\");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory\");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error(\"Corrupted zip: missing \"+Math.abs(n)+\" bytes.\")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=l},{\"./reader/readerFor\":22,\"./signature\":23,\"./support\":30,\"./utils\":32,\"./zipEntry\":34}],34:[function(e,t,r){var n=e(\"./reader/readerFor\"),i=e(\"./utils\"),s=e(\"./compressedObject\"),o=e(\"./crc32\"),a=e(\"./utf8\"),l=e(\"./compressions\"),c=e(\"./support\");function u(e,t){this.options=e,this.loadOptions=t}u.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error(\"Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)\");if(null===(t=function(e){for(var t in l)if(Object.prototype.hasOwnProperty.call(l,t)&&l[t].magic===e)return l[t];return null}(this.compressionMethod)))throw new Error(\"Corrupted zip : compression \"+i.pretty(this.compressionMethod)+\" unknown (inner file : \"+i.transformTo(\"string\",this.fileName)+\")\");this.decompressed=new s(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error(\"Encrypted zip are not supported\");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===i.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===i.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===i.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===i.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i)},handleUTF8:function(){var e=c.uint8array?\"uint8array\":\"array\";if(this.useUTF8())this.fileNameStr=a.utf8decode(this.fileName),this.fileCommentStr=a.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var r=i.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var s=i.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(s)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)||o(this.fileName)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)||o(this.fileComment)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null}},t.exports=u},{\"./compressedObject\":2,\"./compressions\":3,\"./crc32\":4,\"./reader/readerFor\":22,\"./support\":30,\"./utf8\":31,\"./utils\":32}],35:[function(e,t,r){function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var i=e(\"./stream/StreamHelper\"),s=e(\"./stream/DataWorker\"),o=e(\"./utf8\"),a=e(\"./compressedObject\"),l=e(\"./stream/GenericWorker\");n.prototype={internalStream:function(e){var t=null,r=\"string\";try{if(!e)throw new Error(\"No output type specified.\");var n=\"string\"===(r=e.toLowerCase())||\"text\"===r;\"binarystring\"!==r&&\"text\"!==r||(r=\"string\"),t=this._decompressWorker();var s=!this._dataBinary;s&&!n&&(t=t.pipe(new o.Utf8EncodeWorker)),!s&&n&&(t=t.pipe(new o.Utf8DecodeWorker))}catch(e){(t=new l(\"error\")).error(e)}return new i(t,r,\"\")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||\"nodebuffer\").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof a&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new o.Utf8EncodeWorker)),a.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof a?this._data.getContentWorker():this._data instanceof l?this._data:new s(this._data)}};for(var c=[\"asText\",\"asBinary\",\"asNodeBuffer\",\"asUint8Array\",\"asArrayBuffer\"],u=function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},h=0;h<c.length;h++)n.prototype[c[h]]=u;t.exports=n},{\"./compressedObject\":2,\"./stream/DataWorker\":27,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31}],36:[function(e,t,r){(function(e){var r,n,i=e.MutationObserver||e.WebKitMutationObserver;if(i){var s=0,o=new i(u),a=e.document.createTextNode(\"\");o.observe(a,{characterData:!0}),r=function(){a.data=s=++s%2}}else if(e.setImmediate||void 0===e.MessageChannel)r=\"document\"in e&&\"onreadystatechange\"in e.document.createElement(\"script\")?function(){var t=e.document.createElement(\"script\");t.onreadystatechange=function(){u(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},e.document.documentElement.appendChild(t)}:function(){setTimeout(u,0)};else{var l=new e.MessageChannel;l.port1.onmessage=u,r=function(){l.port2.postMessage(0)}}var c=[];function u(){var e,t;n=!0;for(var r=c.length;r;){for(t=c,c=[],e=-1;++e<r;)t[e]();r=c.length}n=!1}t.exports=function(e){1!==c.push(e)||n||r()}}).call(this,void 0!==i?i:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],37:[function(e,t,r){var n=e(\"immediate\");function i(){}var s={},o=[\"REJECTED\"],a=[\"FULFILLED\"],l=[\"PENDING\"];function c(e){if(\"function\"!=typeof e)throw new TypeError(\"resolver must be a function\");this.state=l,this.queue=[],this.outcome=void 0,e!==i&&d(this,e)}function u(e,t,r){this.promise=e,\"function\"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),\"function\"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function h(e,t,r){n((function(){var n;try{n=t(r)}catch(n){return s.reject(e,n)}n===e?s.reject(e,new TypeError(\"Cannot resolve promise with itself\")):s.resolve(e,n)}))}function f(e){var t=e&&e.then;if(e&&(\"object\"==typeof e||\"function\"==typeof e)&&\"function\"==typeof t)return function(){t.apply(e,arguments)}}function d(e,t){var r=!1;function n(t){r||(r=!0,s.reject(e,t))}function i(t){r||(r=!0,s.resolve(e,t))}var o=p((function(){t(i,n)}));\"error\"===o.status&&n(o.value)}function p(e,t){var r={};try{r.value=e(t),r.status=\"success\"}catch(e){r.status=\"error\",r.value=e}return r}(t.exports=c).prototype.finally=function(e){if(\"function\"!=typeof e)return this;var t=this.constructor;return this.then((function(r){return t.resolve(e()).then((function(){return r}))}),(function(r){return t.resolve(e()).then((function(){throw r}))}))},c.prototype.catch=function(e){return this.then(null,e)},c.prototype.then=function(e,t){if(\"function\"!=typeof e&&this.state===a||\"function\"!=typeof t&&this.state===o)return this;var r=new this.constructor(i);return this.state!==l?h(r,this.state===a?e:t,this.outcome):this.queue.push(new u(r,e,t)),r},u.prototype.callFulfilled=function(e){s.resolve(this.promise,e)},u.prototype.otherCallFulfilled=function(e){h(this.promise,this.onFulfilled,e)},u.prototype.callRejected=function(e){s.reject(this.promise,e)},u.prototype.otherCallRejected=function(e){h(this.promise,this.onRejected,e)},s.resolve=function(e,t){var r=p(f,t);if(\"error\"===r.status)return s.reject(e,r.value);var n=r.value;if(n)d(e,n);else{e.state=a,e.outcome=t;for(var i=-1,o=e.queue.length;++i<o;)e.queue[i].callFulfilled(t)}return e},s.reject=function(e,t){e.state=o,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},c.resolve=function(e){return e instanceof this?e:s.resolve(new this(i),e)},c.reject=function(e){var t=new this(i);return s.reject(t,e)},c.all=function(e){var t=this;if(\"[object Array]\"!==Object.prototype.toString.call(e))return this.reject(new TypeError(\"must be an array\"));var r=e.length,n=!1;if(!r)return this.resolve([]);for(var o=new Array(r),a=0,l=-1,c=new this(i);++l<r;)u(e[l],l);return c;function u(e,i){t.resolve(e).then((function(e){o[i]=e,++a!==r||n||(n=!0,s.resolve(c,o))}),(function(e){n||(n=!0,s.reject(c,e))}))}},c.race=function(e){if(\"[object Array]\"!==Object.prototype.toString.call(e))return this.reject(new TypeError(\"must be an array\"));var t=e.length,r=!1;if(!t)return this.resolve([]);for(var n,o=-1,a=new this(i);++o<t;)n=e[o],this.resolve(n).then((function(e){r||(r=!0,s.resolve(a,e))}),(function(e){r||(r=!0,s.reject(a,e))}));return a}},{immediate:36}],38:[function(e,t,r){var n={};(0,e(\"./lib/utils/common\").assign)(n,e(\"./lib/deflate\"),e(\"./lib/inflate\"),e(\"./lib/zlib/constants\")),t.exports=n},{\"./lib/deflate\":39,\"./lib/inflate\":40,\"./lib/utils/common\":41,\"./lib/zlib/constants\":44}],39:[function(e,t,r){var n=e(\"./zlib/deflate\"),i=e(\"./utils/common\"),s=e(\"./utils/strings\"),o=e(\"./zlib/messages\"),a=e(\"./zlib/zstream\"),l=Object.prototype.toString;function c(e){if(!(this instanceof c))return new c(e);this.options=i.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:\"\"},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var r=n.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(0!==r)throw new Error(o[r]);if(t.header&&n.deflateSetHeader(this.strm,t.header),t.dictionary){var u;if(u=\"string\"==typeof t.dictionary?s.string2buf(t.dictionary):\"[object ArrayBuffer]\"===l.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,0!==(r=n.deflateSetDictionary(this.strm,u)))throw new Error(o[r]);this._dict_set=!0}}function u(e,t){var r=new c(t);if(r.push(e,!0),r.err)throw r.msg||o[r.err];return r.result}c.prototype.push=function(e,t){var r,o,a=this.strm,c=this.options.chunkSize;if(this.ended)return!1;o=t===~~t?t:!0===t?4:0,\"string\"==typeof e?a.input=s.string2buf(e):\"[object ArrayBuffer]\"===l.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;do{if(0===a.avail_out&&(a.output=new i.Buf8(c),a.next_out=0,a.avail_out=c),1!==(r=n.deflate(a,o))&&0!==r)return this.onEnd(r),!(this.ended=!0);0!==a.avail_out&&(0!==a.avail_in||4!==o&&2!==o)||(\"string\"===this.options.to?this.onData(s.buf2binstring(i.shrinkBuf(a.output,a.next_out))):this.onData(i.shrinkBuf(a.output,a.next_out)))}while((0<a.avail_in||0===a.avail_out)&&1!==r);return 4===o?(r=n.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,0===r):2!==o||(this.onEnd(0),!(a.avail_out=0))},c.prototype.onData=function(e){this.chunks.push(e)},c.prototype.onEnd=function(e){0===e&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Deflate=c,r.deflate=u,r.deflateRaw=function(e,t){return(t=t||{}).raw=!0,u(e,t)},r.gzip=function(e,t){return(t=t||{}).gzip=!0,u(e,t)}},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/deflate\":46,\"./zlib/messages\":51,\"./zlib/zstream\":53}],40:[function(e,t,r){var n=e(\"./zlib/inflate\"),i=e(\"./utils/common\"),s=e(\"./utils/strings\"),o=e(\"./zlib/constants\"),a=e(\"./zlib/messages\"),l=e(\"./zlib/zstream\"),c=e(\"./zlib/gzheader\"),u=Object.prototype.toString;function h(e){if(!(this instanceof h))return new h(e);this.options=i.assign({chunkSize:16384,windowBits:0,to:\"\"},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var r=n.inflateInit2(this.strm,t.windowBits);if(r!==o.Z_OK)throw new Error(a[r]);this.header=new c,n.inflateGetHeader(this.strm,this.header)}function f(e,t){var r=new h(t);if(r.push(e,!0),r.err)throw r.msg||a[r.err];return r.result}h.prototype.push=function(e,t){var r,a,l,c,h,f,d=this.strm,p=this.options.chunkSize,m=this.options.dictionary,b=!1;if(this.ended)return!1;a=t===~~t?t:!0===t?o.Z_FINISH:o.Z_NO_FLUSH,\"string\"==typeof e?d.input=s.binstring2buf(e):\"[object ArrayBuffer]\"===u.call(e)?d.input=new Uint8Array(e):d.input=e,d.next_in=0,d.avail_in=d.input.length;do{if(0===d.avail_out&&(d.output=new i.Buf8(p),d.next_out=0,d.avail_out=p),(r=n.inflate(d,o.Z_NO_FLUSH))===o.Z_NEED_DICT&&m&&(f=\"string\"==typeof m?s.string2buf(m):\"[object ArrayBuffer]\"===u.call(m)?new Uint8Array(m):m,r=n.inflateSetDictionary(this.strm,f)),r===o.Z_BUF_ERROR&&!0===b&&(r=o.Z_OK,b=!1),r!==o.Z_STREAM_END&&r!==o.Z_OK)return this.onEnd(r),!(this.ended=!0);d.next_out&&(0!==d.avail_out&&r!==o.Z_STREAM_END&&(0!==d.avail_in||a!==o.Z_FINISH&&a!==o.Z_SYNC_FLUSH)||(\"string\"===this.options.to?(l=s.utf8border(d.output,d.next_out),c=d.next_out-l,h=s.buf2string(d.output,l),d.next_out=c,d.avail_out=p-c,c&&i.arraySet(d.output,d.output,l,c,0),this.onData(h)):this.onData(i.shrinkBuf(d.output,d.next_out)))),0===d.avail_in&&0===d.avail_out&&(b=!0)}while((0<d.avail_in||0===d.avail_out)&&r!==o.Z_STREAM_END);return r===o.Z_STREAM_END&&(a=o.Z_FINISH),a===o.Z_FINISH?(r=n.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===o.Z_OK):a!==o.Z_SYNC_FLUSH||(this.onEnd(o.Z_OK),!(d.avail_out=0))},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===o.Z_OK&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Inflate=h,r.inflate=f,r.inflateRaw=function(e,t){return(t=t||{}).raw=!0,f(e,t)},r.ungzip=f},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/constants\":44,\"./zlib/gzheader\":47,\"./zlib/inflate\":49,\"./zlib/messages\":51,\"./zlib/zstream\":53}],41:[function(e,t,r){var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(\"object\"!=typeof r)throw new TypeError(r+\"must be non-object\");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){var t,r,n,i,s,o;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(o=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],o.set(s,i),i+=s.length;return o}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(n)},{}],42:[function(e,t,r){var n=e(\"./common\"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var o=new n.Buf8(256),a=0;a<256;a++)o[a]=252<=a?6:248<=a?5:240<=a?4:224<=a?3:192<=a?2:1;function l(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,n.shrinkBuf(e,t));for(var r=\"\",o=0;o<t;o++)r+=String.fromCharCode(e[o]);return r}o[254]=o[254]=1,r.string2buf=function(e){var t,r,i,s,o,a=e.length,l=0;for(s=0;s<a;s++)55296==(64512&(r=e.charCodeAt(s)))&&s+1<a&&56320==(64512&(i=e.charCodeAt(s+1)))&&(r=65536+(r-55296<<10)+(i-56320),s++),l+=r<128?1:r<2048?2:r<65536?3:4;for(t=new n.Buf8(l),s=o=0;o<l;s++)55296==(64512&(r=e.charCodeAt(s)))&&s+1<a&&56320==(64512&(i=e.charCodeAt(s+1)))&&(r=65536+(r-55296<<10)+(i-56320),s++),r<128?t[o++]=r:(r<2048?t[o++]=192|r>>>6:(r<65536?t[o++]=224|r>>>12:(t[o++]=240|r>>>18,t[o++]=128|r>>>12&63),t[o++]=128|r>>>6&63),t[o++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new n.Buf8(e.length),r=0,i=t.length;r<i;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,a=t||e.length,c=new Array(2*a);for(r=n=0;r<a;)if((i=e[r++])<128)c[n++]=i;else if(4<(s=o[i]))c[n++]=65533,r+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&r<a;)i=i<<6|63&e[r++],s--;1<s?c[n++]=65533:i<65536?c[n++]=i:(i-=65536,c[n++]=55296|i>>10&1023,c[n++]=56320|1023&i)}return l(c,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0||0===r?t:r+o[e[r]]>t?r:t}},{\"./common\":41}],43:[function(e,t,r){t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,o=0;0!==r;){for(r-=o=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--o;);i%=65521,s%=65521}return i|s<<16|0}},{}],44:[function(e,t,r){t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,r){var n=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,i){var s=n,o=i+r;e^=-1;for(var a=i;a<o;a++)e=e>>>8^s[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){var n,i=e(\"../utils/common\"),s=e(\"./trees\"),o=e(\"./adler32\"),a=e(\"./crc32\"),l=e(\"./messages\"),c=-2,u=258,h=262,f=113;function d(e,t){return e.msg=l[t],t}function p(e){return(e<<1)-(4<e?9:0)}function m(e){for(var t=e.length;0<=--t;)e[t]=0}function b(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(i.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function g(e,t){s._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,b(e.strm)}function y(e,t){e.pending_buf[e.pending++]=t}function v(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function w(e,t){var r,n,i=e.max_chain_length,s=e.strstart,o=e.prev_length,a=e.nice_match,l=e.strstart>e.w_size-h?e.strstart-(e.w_size-h):0,c=e.window,f=e.w_mask,d=e.prev,p=e.strstart+u,m=c[s+o-1],b=c[s+o];e.prev_length>=e.good_match&&(i>>=2),a>e.lookahead&&(a=e.lookahead);do{if(c[(r=t)+o]===b&&c[r+o-1]===m&&c[r]===c[s]&&c[++r]===c[s+1]){s+=2,r++;do{}while(c[++s]===c[++r]&&c[++s]===c[++r]&&c[++s]===c[++r]&&c[++s]===c[++r]&&c[++s]===c[++r]&&c[++s]===c[++r]&&c[++s]===c[++r]&&c[++s]===c[++r]&&s<p);if(n=u-(p-s),s=p-u,o<n){if(e.match_start=t,a<=(o=n))break;m=c[s+o-1],b=c[s+o]}}}while((t=d[t&f])>l&&0!=--i);return o<=e.lookahead?o:e.lookahead}function _(e){var t,r,n,s,l,c,u,f,d,p,m=e.w_size;do{if(s=e.window_size-e.lookahead-e.strstart,e.strstart>=m+(m-h)){for(i.arraySet(e.window,e.window,m,m,0),e.match_start-=m,e.strstart-=m,e.block_start-=m,t=r=e.hash_size;n=e.head[--t],e.head[t]=m<=n?n-m:0,--r;);for(t=r=m;n=e.prev[--t],e.prev[t]=m<=n?n-m:0,--r;);s+=m}if(0===e.strm.avail_in)break;if(c=e.strm,u=e.window,f=e.strstart+e.lookahead,p=void 0,(d=s)<(p=c.avail_in)&&(p=d),r=0===p?0:(c.avail_in-=p,i.arraySet(u,c.input,c.next_in,p,f),1===c.state.wrap?c.adler=o(c.adler,u,p,f):2===c.state.wrap&&(c.adler=a(c.adler,u,p,f)),c.next_in+=p,c.total_in+=p,p),e.lookahead+=r,e.lookahead+e.insert>=3)for(l=e.strstart-e.insert,e.ins_h=e.window[l],e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+3-1])&e.hash_mask,e.prev[l&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=l,l++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<h&&0!==e.strm.avail_in)}function x(e,t){for(var r,n;;){if(e.lookahead<h){if(_(e),e.lookahead<h&&0===t)return 1;if(0===e.lookahead)break}if(r=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-h&&(e.match_length=w(e,r)),e.match_length>=3)if(n=s._tr_tally(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=s._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(g(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,4===t?(g(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(g(e,!1),0===e.strm.avail_out)?1:2}function k(e,t){for(var r,n,i;;){if(e.lookahead<h){if(_(e),e.lookahead<h&&0===t)return 1;if(0===e.lookahead)break}if(r=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-h&&(e.match_length=w(e,r),e.match_length<=5&&(1===e.strategy||3===e.match_length&&4096<e.strstart-e.match_start)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-3,n=s._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=2,e.strstart++,n&&(g(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((n=s._tr_tally(e,0,e.window[e.strstart-1]))&&g(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=s._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,4===t?(g(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(g(e,!1),0===e.strm.avail_out)?1:2}function S(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}function M(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(1146),this.dyn_dtree=new i.Buf16(122),this.bl_tree=new i.Buf16(78),m(this.dyn_ltree),m(this.dyn_dtree),m(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(16),this.heap=new i.Buf16(573),m(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(573),m(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function C(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=2,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?42:f,e.adler=2===t.wrap?0:1,t.last_flush=0,s._tr_init(t),0):d(e,c)}function T(e){var t=C(e);return 0===t&&function(e){e.window_size=2*e.w_size,m(e.head),e.max_lazy_match=n[e.level].max_lazy,e.good_match=n[e.level].good_length,e.nice_match=n[e.level].nice_length,e.max_chain_length=n[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=2,e.match_available=0,e.ins_h=0}(e.state),t}function E(e,t,r,n,s,o){if(!e)return c;var a=1;if(-1===t&&(t=6),n<0?(a=0,n=-n):15<n&&(a=2,n-=16),s<1||9<s||8!==r||n<8||15<n||t<0||9<t||o<0||4<o)return d(e,c);8===n&&(n=9);var l=new M;return(e.state=l).strm=e,l.wrap=a,l.gzhead=null,l.w_bits=n,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=s+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+3-1)/3),l.window=new i.Buf8(2*l.w_size),l.head=new i.Buf16(l.hash_size),l.prev=new i.Buf16(l.w_size),l.lit_bufsize=1<<s+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new i.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=t,l.strategy=o,l.method=r,T(e)}n=[new S(0,0,0,0,(function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(_(e),0===e.lookahead&&0===t)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,g(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-h&&(g(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(g(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(g(e,!1),e.strm.avail_out),1)})),new S(4,4,8,4,x),new S(4,5,16,8,x),new S(4,6,32,32,x),new S(4,4,16,16,k),new S(8,16,32,32,k),new S(8,16,128,128,k),new S(8,32,128,256,k),new S(32,128,258,1024,k),new S(32,258,258,4096,k)],r.deflateInit=function(e,t){return E(e,t,8,15,8,0)},r.deflateInit2=E,r.deflateReset=T,r.deflateResetKeep=C,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?c:(e.state.gzhead=t,0):c},r.deflate=function(e,t){var r,i,o,l;if(!e||!e.state||5<t||t<0)return e?d(e,c):c;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||666===i.status&&4!==t)return d(e,0===e.avail_out?-5:c);if(i.strm=e,r=i.last_flush,i.last_flush=t,42===i.status)if(2===i.wrap)e.adler=0,y(i,31),y(i,139),y(i,8),i.gzhead?(y(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),y(i,255&i.gzhead.time),y(i,i.gzhead.time>>8&255),y(i,i.gzhead.time>>16&255),y(i,i.gzhead.time>>24&255),y(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),y(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(y(i,255&i.gzhead.extra.length),y(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=a(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(y(i,0),y(i,0),y(i,0),y(i,0),y(i,0),y(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),y(i,3),i.status=f);else{var h=8+(i.w_bits-8<<4)<<8;h|=(2<=i.strategy||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(h|=32),h+=31-h%31,i.status=f,v(i,h),0!==i.strstart&&(v(i,e.adler>>>16),v(i,65535&e.adler)),e.adler=1}if(69===i.status)if(i.gzhead.extra){for(o=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),b(e),o=i.pending,i.pending!==i.pending_buf_size));)y(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),b(e),o=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,y(i,l)}while(0!==l);i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),0===l&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),b(e),o=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,y(i,l)}while(0!==l);i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),0===l&&(i.status=103)}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&b(e),i.pending+2<=i.pending_buf_size&&(y(i,255&e.adler),y(i,e.adler>>8&255),e.adler=0,i.status=f)):i.status=f),0!==i.pending){if(b(e),0===e.avail_out)return i.last_flush=-1,0}else if(0===e.avail_in&&p(t)<=p(r)&&4!==t)return d(e,-5);if(666===i.status&&0!==e.avail_in)return d(e,-5);if(0!==e.avail_in||0!==i.lookahead||0!==t&&666!==i.status){var w=2===i.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(_(e),0===e.lookahead)){if(0===t)return 1;break}if(e.match_length=0,r=s._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(g(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(g(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(g(e,!1),0===e.strm.avail_out)?1:2}(i,t):3===i.strategy?function(e,t){for(var r,n,i,o,a=e.window;;){if(e.lookahead<=u){if(_(e),e.lookahead<=u&&0===t)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&0<e.strstart&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){o=e.strstart+u;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<o);e.match_length=u-(o-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(r=s._tr_tally(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=s._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(g(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(g(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(g(e,!1),0===e.strm.avail_out)?1:2}(i,t):n[i.level].func(i,t);if(3!==w&&4!==w||(i.status=666),1===w||3===w)return 0===e.avail_out&&(i.last_flush=-1),0;if(2===w&&(1===t?s._tr_align(i):5!==t&&(s._tr_stored_block(i,0,0,!1),3===t&&(m(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),b(e),0===e.avail_out))return i.last_flush=-1,0}return 4!==t?0:i.wrap<=0?1:(2===i.wrap?(y(i,255&e.adler),y(i,e.adler>>8&255),y(i,e.adler>>16&255),y(i,e.adler>>24&255),y(i,255&e.total_in),y(i,e.total_in>>8&255),y(i,e.total_in>>16&255),y(i,e.total_in>>24&255)):(v(i,e.adler>>>16),v(i,65535&e.adler)),b(e),0<i.wrap&&(i.wrap=-i.wrap),0!==i.pending?0:1)},r.deflateEnd=function(e){var t;return e&&e.state?42!==(t=e.state.status)&&69!==t&&73!==t&&91!==t&&103!==t&&t!==f&&666!==t?d(e,c):(e.state=null,t===f?d(e,-3):0):c},r.deflateSetDictionary=function(e,t){var r,n,s,a,l,u,h,f,d=t.length;if(!e||!e.state)return c;if(2===(a=(r=e.state).wrap)||1===a&&42!==r.status||r.lookahead)return c;for(1===a&&(e.adler=o(e.adler,t,d,0)),r.wrap=0,d>=r.w_size&&(0===a&&(m(r.head),r.strstart=0,r.block_start=0,r.insert=0),f=new i.Buf8(r.w_size),i.arraySet(f,t,d-r.w_size,r.w_size,0),t=f,d=r.w_size),l=e.avail_in,u=e.next_in,h=e.input,e.avail_in=d,e.next_in=0,e.input=t,_(r);r.lookahead>=3;){for(n=r.strstart,s=r.lookahead-2;r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+3-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--s;);r.strstart=n,r.lookahead=2,_(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,e.next_in=u,e.input=h,e.avail_in=l,r.wrap=a,0},r.deflateInfo=\"pako deflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./messages\":51,\"./trees\":52}],47:[function(e,t,r){t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=\"\",this.comment=\"\",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,r){t.exports=function(e,t){var r,n,i,s,o,a,l,c,u,h,f,d,p,m,b,g,y,v,w,_,x,k,S,M,C;r=e.state,n=e.next_in,M=e.input,i=n+(e.avail_in-5),s=e.next_out,C=e.output,o=s-(t-e.avail_out),a=s+(e.avail_out-257),l=r.dmax,c=r.wsize,u=r.whave,h=r.wnext,f=r.window,d=r.hold,p=r.bits,m=r.lencode,b=r.distcode,g=(1<<r.lenbits)-1,y=(1<<r.distbits)-1;e:do{p<15&&(d+=M[n++]<<p,p+=8,d+=M[n++]<<p,p+=8),v=m[d&g];t:for(;;){if(d>>>=w=v>>>24,p-=w,0==(w=v>>>16&255))C[s++]=65535&v;else{if(!(16&w)){if(0==(64&w)){v=m[(65535&v)+(d&(1<<w)-1)];continue t}if(32&w){r.mode=12;break e}e.msg=\"invalid literal/length code\",r.mode=30;break e}_=65535&v,(w&=15)&&(p<w&&(d+=M[n++]<<p,p+=8),_+=d&(1<<w)-1,d>>>=w,p-=w),p<15&&(d+=M[n++]<<p,p+=8,d+=M[n++]<<p,p+=8),v=b[d&y];r:for(;;){if(d>>>=w=v>>>24,p-=w,!(16&(w=v>>>16&255))){if(0==(64&w)){v=b[(65535&v)+(d&(1<<w)-1)];continue r}e.msg=\"invalid distance code\",r.mode=30;break e}if(x=65535&v,p<(w&=15)&&(d+=M[n++]<<p,(p+=8)<w&&(d+=M[n++]<<p,p+=8)),l<(x+=d&(1<<w)-1)){e.msg=\"invalid distance too far back\",r.mode=30;break e}if(d>>>=w,p-=w,(w=s-o)<x){if(u<(w=x-w)&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break e}if(S=f,(k=0)===h){if(k+=c-w,w<_){for(_-=w;C[s++]=f[k++],--w;);k=s-x,S=C}}else if(h<w){if(k+=c+h-w,(w-=h)<_){for(_-=w;C[s++]=f[k++],--w;);if(k=0,h<_){for(_-=w=h;C[s++]=f[k++],--w;);k=s-x,S=C}}}else if(k+=h-w,w<_){for(_-=w;C[s++]=f[k++],--w;);k=s-x,S=C}for(;2<_;)C[s++]=S[k++],C[s++]=S[k++],C[s++]=S[k++],_-=3;_&&(C[s++]=S[k++],1<_&&(C[s++]=S[k++]))}else{for(k=s-x;C[s++]=C[k++],C[s++]=C[k++],C[s++]=C[k++],2<(_-=3););_&&(C[s++]=C[k++],1<_&&(C[s++]=C[k++]))}break}}break}}while(n<i&&s<a);n-=_=p>>3,d&=(1<<(p-=_<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<a?a-s+257:257-(s-a),r.hold=d,r.bits=p}},{}],49:[function(e,t,r){var n=e(\"../utils/common\"),i=e(\"./adler32\"),s=e(\"./crc32\"),o=e(\"./inffast\"),a=e(\"./inftrees\"),l=-2;function c(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function u(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function h(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=\"\",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new n.Buf32(852),t.distcode=t.distdyn=new n.Buf32(592),t.sane=1,t.back=-1,0):l}function f(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,h(e)):l}function d(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?l:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,f(e))):l}function p(e,t){var r,n;return e?(n=new u,(e.state=n).window=null,0!==(r=d(e,t))&&(e.state=null),r):l}var m,b,g=!0;function y(e){if(g){var t;for(m=new n.Buf32(512),b=new n.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(a(1,e.lens,0,288,m,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;a(2,e.lens,0,32,b,0,e.work,{bits:5}),g=!1}e.lencode=m,e.lenbits=9,e.distcode=b,e.distbits=5}function v(e,t,r,i){var s,o=e.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new n.Buf8(o.wsize)),i>=o.wsize?(n.arraySet(o.window,t,r-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(i<(s=o.wsize-o.wnext)&&(s=i),n.arraySet(o.window,t,r-i,s,o.wnext),(i-=s)?(n.arraySet(o.window,t,r-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=s,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=s))),0}r.inflateReset=f,r.inflateReset2=d,r.inflateResetKeep=h,r.inflateInit=function(e){return p(e,15)},r.inflateInit2=p,r.inflate=function(e,t){var r,u,h,f,d,p,m,b,g,w,_,x,k,S,M,C,T,E,A,R,O,j,I,N,P=0,B=new n.Buf8(4),D=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return l;12===(r=e.state).mode&&(r.mode=13),d=e.next_out,h=e.output,m=e.avail_out,f=e.next_in,u=e.input,p=e.avail_in,b=r.hold,g=r.bits,w=p,_=m,j=0;e:for(;;)switch(r.mode){case 1:if(0===r.wrap){r.mode=13;break}for(;g<16;){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}if(2&r.wrap&&35615===b){B[r.check=0]=255&b,B[1]=b>>>8&255,r.check=s(r.check,B,2,0),g=b=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&b)<<8)+(b>>8))%31){e.msg=\"incorrect header check\",r.mode=30;break}if(8!=(15&b)){e.msg=\"unknown compression method\",r.mode=30;break}if(g-=4,O=8+(15&(b>>>=4)),0===r.wbits)r.wbits=O;else if(O>r.wbits){e.msg=\"invalid window size\",r.mode=30;break}r.dmax=1<<O,e.adler=r.check=1,r.mode=512&b?10:12,g=b=0;break;case 2:for(;g<16;){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}if(r.flags=b,8!=(255&r.flags)){e.msg=\"unknown compression method\",r.mode=30;break}if(57344&r.flags){e.msg=\"unknown header flags set\",r.mode=30;break}r.head&&(r.head.text=b>>8&1),512&r.flags&&(B[0]=255&b,B[1]=b>>>8&255,r.check=s(r.check,B,2,0)),g=b=0,r.mode=3;case 3:for(;g<32;){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}r.head&&(r.head.time=b),512&r.flags&&(B[0]=255&b,B[1]=b>>>8&255,B[2]=b>>>16&255,B[3]=b>>>24&255,r.check=s(r.check,B,4,0)),g=b=0,r.mode=4;case 4:for(;g<16;){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}r.head&&(r.head.xflags=255&b,r.head.os=b>>8),512&r.flags&&(B[0]=255&b,B[1]=b>>>8&255,r.check=s(r.check,B,2,0)),g=b=0,r.mode=5;case 5:if(1024&r.flags){for(;g<16;){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}r.length=b,r.head&&(r.head.extra_len=b),512&r.flags&&(B[0]=255&b,B[1]=b>>>8&255,r.check=s(r.check,B,2,0)),g=b=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(p<(x=r.length)&&(x=p),x&&(r.head&&(O=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),n.arraySet(r.head.extra,u,f,x,O)),512&r.flags&&(r.check=s(r.check,u,x,f)),p-=x,f+=x,r.length-=x),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===p)break e;for(x=0;O=u[f+x++],r.head&&O&&r.length<65536&&(r.head.name+=String.fromCharCode(O)),O&&x<p;);if(512&r.flags&&(r.check=s(r.check,u,x,f)),p-=x,f+=x,O)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===p)break e;for(x=0;O=u[f+x++],r.head&&O&&r.length<65536&&(r.head.comment+=String.fromCharCode(O)),O&&x<p;);if(512&r.flags&&(r.check=s(r.check,u,x,f)),p-=x,f+=x,O)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;g<16;){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}if(b!==(65535&r.check)){e.msg=\"header crc mismatch\",r.mode=30;break}g=b=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;g<32;){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}e.adler=r.check=c(b),g=b=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=d,e.avail_out=m,e.next_in=f,e.avail_in=p,r.hold=b,r.bits=g,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){b>>>=7&g,g-=7&g,r.mode=27;break}for(;g<3;){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}switch(r.last=1&b,g-=1,3&(b>>>=1)){case 0:r.mode=14;break;case 1:if(y(r),r.mode=20,6!==t)break;b>>>=2,g-=2;break e;case 2:r.mode=17;break;case 3:e.msg=\"invalid block type\",r.mode=30}b>>>=2,g-=2;break;case 14:for(b>>>=7&g,g-=7&g;g<32;){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}if((65535&b)!=(b>>>16^65535)){e.msg=\"invalid stored block lengths\",r.mode=30;break}if(r.length=65535&b,g=b=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(x=r.length){if(p<x&&(x=p),m<x&&(x=m),0===x)break e;n.arraySet(h,u,f,x,d),p-=x,f+=x,m-=x,d+=x,r.length-=x;break}r.mode=12;break;case 17:for(;g<14;){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}if(r.nlen=257+(31&b),b>>>=5,g-=5,r.ndist=1+(31&b),b>>>=5,g-=5,r.ncode=4+(15&b),b>>>=4,g-=4,286<r.nlen||30<r.ndist){e.msg=\"too many length or distance symbols\",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;g<3;){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}r.lens[D[r.have++]]=7&b,b>>>=3,g-=3}for(;r.have<19;)r.lens[D[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,I={bits:r.lenbits},j=a(0,r.lens,0,19,r.lencode,0,r.work,I),r.lenbits=I.bits,j){e.msg=\"invalid code lengths set\",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;C=(P=r.lencode[b&(1<<r.lenbits)-1])>>>16&255,T=65535&P,!((M=P>>>24)<=g);){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}if(T<16)b>>>=M,g-=M,r.lens[r.have++]=T;else{if(16===T){for(N=M+2;g<N;){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}if(b>>>=M,g-=M,0===r.have){e.msg=\"invalid bit length repeat\",r.mode=30;break}O=r.lens[r.have-1],x=3+(3&b),b>>>=2,g-=2}else if(17===T){for(N=M+3;g<N;){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}g-=M,O=0,x=3+(7&(b>>>=M)),b>>>=3,g-=3}else{for(N=M+7;g<N;){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}g-=M,O=0,x=11+(127&(b>>>=M)),b>>>=7,g-=7}if(r.have+x>r.nlen+r.ndist){e.msg=\"invalid bit length repeat\",r.mode=30;break}for(;x--;)r.lens[r.have++]=O}}if(30===r.mode)break;if(0===r.lens[256]){e.msg=\"invalid code -- missing end-of-block\",r.mode=30;break}if(r.lenbits=9,I={bits:r.lenbits},j=a(1,r.lens,0,r.nlen,r.lencode,0,r.work,I),r.lenbits=I.bits,j){e.msg=\"invalid literal/lengths set\",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,I={bits:r.distbits},j=a(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,I),r.distbits=I.bits,j){e.msg=\"invalid distances set\",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=p&&258<=m){e.next_out=d,e.avail_out=m,e.next_in=f,e.avail_in=p,r.hold=b,r.bits=g,o(e,_),d=e.next_out,h=e.output,m=e.avail_out,f=e.next_in,u=e.input,p=e.avail_in,b=r.hold,g=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;C=(P=r.lencode[b&(1<<r.lenbits)-1])>>>16&255,T=65535&P,!((M=P>>>24)<=g);){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}if(C&&0==(240&C)){for(E=M,A=C,R=T;C=(P=r.lencode[R+((b&(1<<E+A)-1)>>E)])>>>16&255,T=65535&P,!(E+(M=P>>>24)<=g);){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}b>>>=E,g-=E,r.back+=E}if(b>>>=M,g-=M,r.back+=M,r.length=T,0===C){r.mode=26;break}if(32&C){r.back=-1,r.mode=12;break}if(64&C){e.msg=\"invalid literal/length code\",r.mode=30;break}r.extra=15&C,r.mode=22;case 22:if(r.extra){for(N=r.extra;g<N;){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}r.length+=b&(1<<r.extra)-1,b>>>=r.extra,g-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;C=(P=r.distcode[b&(1<<r.distbits)-1])>>>16&255,T=65535&P,!((M=P>>>24)<=g);){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}if(0==(240&C)){for(E=M,A=C,R=T;C=(P=r.distcode[R+((b&(1<<E+A)-1)>>E)])>>>16&255,T=65535&P,!(E+(M=P>>>24)<=g);){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}b>>>=E,g-=E,r.back+=E}if(b>>>=M,g-=M,r.back+=M,64&C){e.msg=\"invalid distance code\",r.mode=30;break}r.offset=T,r.extra=15&C,r.mode=24;case 24:if(r.extra){for(N=r.extra;g<N;){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}r.offset+=b&(1<<r.extra)-1,b>>>=r.extra,g-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg=\"invalid distance too far back\",r.mode=30;break}r.mode=25;case 25:if(0===m)break e;if(x=_-m,r.offset>x){if((x=r.offset-x)>r.whave&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break}k=x>r.wnext?(x-=r.wnext,r.wsize-x):r.wnext-x,x>r.length&&(x=r.length),S=r.window}else S=h,k=d-r.offset,x=r.length;for(m<x&&(x=m),m-=x,r.length-=x;h[d++]=S[k++],--x;);0===r.length&&(r.mode=21);break;case 26:if(0===m)break e;h[d++]=r.length,m--,r.mode=21;break;case 27:if(r.wrap){for(;g<32;){if(0===p)break e;p--,b|=u[f++]<<g,g+=8}if(_-=m,e.total_out+=_,r.total+=_,_&&(e.adler=r.check=r.flags?s(r.check,h,_,d-_):i(r.check,h,_,d-_)),_=m,(r.flags?b:c(b))!==r.check){e.msg=\"incorrect data check\",r.mode=30;break}g=b=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;g<32;){if(0===p)break e;p--,b+=u[f++]<<g,g+=8}if(b!==(4294967295&r.total)){e.msg=\"incorrect length check\",r.mode=30;break}g=b=0}r.mode=29;case 29:j=1;break e;case 30:j=-3;break e;case 31:return-4;case 32:default:return l}return e.next_out=d,e.avail_out=m,e.next_in=f,e.avail_in=p,r.hold=b,r.bits=g,(r.wsize||_!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&v(e,e.output,e.next_out,_-e.avail_out)?(r.mode=31,-4):(w-=e.avail_in,_-=e.avail_out,e.total_in+=w,e.total_out+=_,r.total+=_,r.wrap&&_&&(e.adler=r.check=r.flags?s(r.check,h,_,e.next_out-_):i(r.check,h,_,e.next_out-_)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==w&&0===_||4===t)&&0===j&&(j=-5),j)},r.inflateEnd=function(e){if(!e||!e.state)return l;var t=e.state;return t.window&&(t.window=null),e.state=null,0},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?l:((r.head=t).done=!1,0):l},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?l:11===r.mode&&i(1,t,n,0)!==r.check?-3:v(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,0):l},r.inflateInfo=\"pako inflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./inffast\":48,\"./inftrees\":50}],50:[function(e,t,r){var n=e(\"../utils/common\"),i=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],s=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],o=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,l,c,u,h,f){var d,p,m,b,g,y,v,w,_,x=f.bits,k=0,S=0,M=0,C=0,T=0,E=0,A=0,R=0,O=0,j=0,I=null,N=0,P=new n.Buf16(16),B=new n.Buf16(16),D=null,F=0;for(k=0;k<=15;k++)P[k]=0;for(S=0;S<l;S++)P[t[r+S]]++;for(T=x,C=15;1<=C&&0===P[C];C--);if(C<T&&(T=C),0===C)return c[u++]=20971520,c[u++]=20971520,f.bits=1,0;for(M=1;M<C&&0===P[M];M++);for(T<M&&(T=M),k=R=1;k<=15;k++)if(R<<=1,(R-=P[k])<0)return-1;if(0<R&&(0===e||1!==C))return-1;for(B[1]=0,k=1;k<15;k++)B[k+1]=B[k]+P[k];for(S=0;S<l;S++)0!==t[r+S]&&(h[B[t[r+S]]++]=S);if(y=0===e?(I=D=h,19):1===e?(I=i,N-=257,D=s,F-=257,256):(I=o,D=a,-1),k=M,g=u,A=S=j=0,m=-1,b=(O=1<<(E=T))-1,1===e&&852<O||2===e&&592<O)return 1;for(;;){for(v=k-A,_=h[S]<y?(w=0,h[S]):h[S]>y?(w=D[F+h[S]],I[N+h[S]]):(w=96,0),d=1<<k-A,M=p=1<<E;c[g+(j>>A)+(p-=d)]=v<<24|w<<16|_|0,0!==p;);for(d=1<<k-1;j&d;)d>>=1;if(0!==d?(j&=d-1,j+=d):j=0,S++,0==--P[k]){if(k===C)break;k=t[r+h[S]]}if(T<k&&(j&b)!==m){for(0===A&&(A=T),g+=M,R=1<<(E=k-A);E+A<C&&!((R-=P[E+A])<=0);)E++,R<<=1;if(O+=1<<E,1===e&&852<O||2===e&&592<O)return 1;c[m=j&b]=T<<24|E<<16|g-u|0}}return 0!==j&&(c[g+j]=k-A<<24|64<<16|0),f.bits=T,0}},{\"../utils/common\":41}],51:[function(e,t,r){t.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}},{}],52:[function(e,t,r){var n=e(\"../utils/common\");function i(e){for(var t=e.length;0<=--t;)e[t]=0}var s=256,o=286,a=30,l=15,c=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],u=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],f=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],d=new Array(576);i(d);var p=new Array(60);i(p);var m=new Array(512);i(m);var b=new Array(256);i(b);var g=new Array(29);i(g);var y,v,w,_=new Array(a);function x(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function k(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function S(e){return e<256?m[e]:m[256+(e>>>7)]}function M(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function C(e,t,r){e.bi_valid>16-r?(e.bi_buf|=t<<e.bi_valid&65535,M(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=r-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function T(e,t,r){C(e,r[2*t],r[2*t+1])}function E(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function A(e,t,r){var n,i,s=new Array(16),o=0;for(n=1;n<=l;n++)s[n]=o=o+r[n-1]<<1;for(i=0;i<=t;i++){var a=e[2*i+1];0!==a&&(e[2*i]=E(s[a]++,a))}}function R(e){var t;for(t=0;t<o;t++)e.dyn_ltree[2*t]=0;for(t=0;t<a;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function O(e){8<e.bi_valid?M(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function j(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function I(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&j(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!j(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function N(e,t,r){var n,i,o,a,l=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*l]<<8|e.pending_buf[e.d_buf+2*l+1],i=e.pending_buf[e.l_buf+l],l++,0===n?T(e,i,t):(T(e,(o=b[i])+s+1,t),0!==(a=c[o])&&C(e,i-=g[o],a),T(e,o=S(--n),r),0!==(a=u[o])&&C(e,n-=_[o],a)),l<e.last_lit;);T(e,256,t)}function P(e,t){var r,n,i,s=t.dyn_tree,o=t.stat_desc.static_tree,a=t.stat_desc.has_stree,c=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=573,r=0;r<c;r++)0!==s[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,a&&(e.static_len-=o[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)I(e,s,r);for(i=c;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],I(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,I(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,o,a,c=t.dyn_tree,u=t.max_code,h=t.stat_desc.static_tree,f=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,p=t.stat_desc.extra_base,m=t.stat_desc.max_length,b=0;for(s=0;s<=l;s++)e.bl_count[s]=0;for(c[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<573;r++)m<(s=c[2*c[2*(n=e.heap[r])+1]+1]+1)&&(s=m,b++),c[2*n+1]=s,u<n||(e.bl_count[s]++,o=0,p<=n&&(o=d[n-p]),a=c[2*n],e.opt_len+=a*(s+o),f&&(e.static_len+=a*(h[2*n+1]+o)));if(0!==b){do{for(s=m-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[m]--,b-=2}while(0<b);for(s=m;0!==s;s--)for(n=e.bl_count[s];0!==n;)u<(i=e.heap[--r])||(c[2*i+1]!==s&&(e.opt_len+=(s-c[2*i+1])*c[2*i],c[2*i+1]=s),n--)}}(e,t),A(s,u,e.bl_count)}function B(e,t,r){var n,i,s=-1,o=t[1],a=0,l=7,c=4;for(0===o&&(l=138,c=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=o,o=t[2*(n+1)+1],++a<l&&i===o||(a<c?e.bl_tree[2*i]+=a:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[32]++):a<=10?e.bl_tree[34]++:e.bl_tree[36]++,s=i,c=(a=0)===o?(l=138,3):i===o?(l=6,3):(l=7,4))}function D(e,t,r){var n,i,s=-1,o=t[1],a=0,l=7,c=4;for(0===o&&(l=138,c=3),n=0;n<=r;n++)if(i=o,o=t[2*(n+1)+1],!(++a<l&&i===o)){if(a<c)for(;T(e,i,e.bl_tree),0!=--a;);else 0!==i?(i!==s&&(T(e,i,e.bl_tree),a--),T(e,16,e.bl_tree),C(e,a-3,2)):a<=10?(T(e,17,e.bl_tree),C(e,a-3,3)):(T(e,18,e.bl_tree),C(e,a-11,7));s=i,c=(a=0)===o?(l=138,3):i===o?(l=6,3):(l=7,4)}}i(_);var F=!1;function L(e,t,r,i){C(e,0+(i?1:0),3),function(e,t,r,i){O(e),M(e,r),M(e,~r),n.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r)}r._tr_init=function(e){F||(function(){var e,t,r,n,i,s=new Array(16);for(n=r=0;n<28;n++)for(g[n]=r,e=0;e<1<<c[n];e++)b[r++]=n;for(b[r-1]=n,n=i=0;n<16;n++)for(_[n]=i,e=0;e<1<<u[n];e++)m[i++]=n;for(i>>=7;n<a;n++)for(_[n]=i<<7,e=0;e<1<<u[n]-7;e++)m[256+i++]=n;for(t=0;t<=l;t++)s[t]=0;for(e=0;e<=143;)d[2*e+1]=8,e++,s[8]++;for(;e<=255;)d[2*e+1]=9,e++,s[9]++;for(;e<=279;)d[2*e+1]=7,e++,s[7]++;for(;e<=287;)d[2*e+1]=8,e++,s[8]++;for(A(d,287,s),e=0;e<a;e++)p[2*e+1]=5,p[2*e]=E(e,5);y=new x(d,c,257,o,l),v=new x(p,u,0,a,l),w=new x(new Array(0),h,0,19,7)}(),F=!0),e.l_desc=new k(e.dyn_ltree,y),e.d_desc=new k(e.dyn_dtree,v),e.bl_desc=new k(e.bl_tree,w),e.bi_buf=0,e.bi_valid=0,R(e)},r._tr_stored_block=L,r._tr_flush_block=function(e,t,r,n){var i,o,a=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<s;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),P(e,e.l_desc),P(e,e.d_desc),a=function(e){var t;for(B(e,e.dyn_ltree,e.l_desc.max_code),B(e,e.dyn_dtree,e.d_desc.max_code),P(e,e.bl_desc),t=18;3<=t&&0===e.bl_tree[2*f[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(o=e.static_len+3+7>>>3)<=i&&(i=o)):i=o=r+5,r+4<=i&&-1!==t?L(e,t,r,n):4===e.strategy||o===i?(C(e,2+(n?1:0),3),N(e,d,p)):(C(e,4+(n?1:0),3),function(e,t,r,n){var i;for(C(e,t-257,5),C(e,r-1,5),C(e,n-4,4),i=0;i<n;i++)C(e,e.bl_tree[2*f[i]+1],3);D(e,e.dyn_ltree,t-1),D(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),N(e,e.dyn_ltree,e.dyn_dtree)),R(e),n&&O(e)},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(b[r]+s+1)]++,e.dyn_dtree[2*S(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){C(e,2,3),T(e,256,d),function(e){16===e.bi_valid?(M(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{\"../utils/common\":41}],53:[function(e,t,r){t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(e,t){if(!e.setImmediate){var r,i,s,o,a=1,l={},c=!1,u=e.document,h=Object.getPrototypeOf&&Object.getPrototypeOf(e);h=h&&h.setTimeout?h:e,r=\"[object process]\"==={}.toString.call(e.process)?function(e){n.nextTick((function(){d(e)}))}:function(){if(e.postMessage&&!e.importScripts){var t=!0,r=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage(\"\",\"*\"),e.onmessage=r,t}}()?(o=\"setImmediate$\"+Math.random()+\"$\",e.addEventListener?e.addEventListener(\"message\",p,!1):e.attachEvent(\"onmessage\",p),function(t){e.postMessage(o+t,\"*\")}):e.MessageChannel?((s=new MessageChannel).port1.onmessage=function(e){d(e.data)},function(e){s.port2.postMessage(e)}):u&&\"onreadystatechange\"in u.createElement(\"script\")?(i=u.documentElement,function(e){var t=u.createElement(\"script\");t.onreadystatechange=function(){d(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):function(e){setTimeout(d,0,e)},h.setImmediate=function(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var i={callback:e,args:t};return l[a]=i,r(a),a++},h.clearImmediate=f}function f(e){delete l[e]}function d(e){if(c)setTimeout(d,0,e);else{var t=l[e];if(t){c=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(void 0,r)}}(t)}finally{f(e),c=!1}}}}function p(t){t.source===e&&\"string\"==typeof t.data&&0===t.data.indexOf(o)&&d(+t.data.slice(o.length))}}(\"undefined\"==typeof self?void 0===e?this:e:self)}).call(this,void 0!==i?i:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}]},{},[10])(10)}))}).call(this)}).call(this,e(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},e(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],e(\"timers\").setImmediate)},{_process:467,buffer:220,timers:523}],442:[function(e,t,r){(function(e){(function(){\"use strict\";var r=/[\\\\^$.*+?()[\\]{}|]/g,n=RegExp(r.source),i=\"object\"==typeof e&&e&&e.Object===Object&&e,s=\"object\"==typeof self&&self&&self.Object===Object&&self,o=i||s||Function(\"return this\")(),a=Object.prototype.toString,l=o.Symbol,c=l?l.prototype:void 0,u=c?c.toString:void 0;function h(e){if(\"string\"==typeof e)return e;if(function(e){return\"symbol\"==typeof e||function(e){return!!e&&\"object\"==typeof e}(e)&&\"[object Symbol]\"==a.call(e)}(e))return u?u.call(e):\"\";var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}t.exports=function(e){var t;return(e=null==(t=e)?\"\":h(t))&&n.test(e)?e.replace(r,\"\\\\$&\"):e}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],443:[function(e,t,r){(function(e){(function(){\"use strict\";var n=\"[object Arguments]\",i=\"[object Map]\",s=\"[object Object]\",o=\"[object Set]\",a=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,l=/^\\w*$/,c=/^\\./,u=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,h=/\\\\(\\\\)?/g,f=/^\\[object .+?Constructor\\]$/,d=/^(?:0|[1-9]\\d*)$/,p={};p[\"[object Float32Array]\"]=p[\"[object Float64Array]\"]=p[\"[object Int8Array]\"]=p[\"[object Int16Array]\"]=p[\"[object Int32Array]\"]=p[\"[object Uint8Array]\"]=p[\"[object Uint8ClampedArray]\"]=p[\"[object Uint16Array]\"]=p[\"[object Uint32Array]\"]=!0,p[n]=p[\"[object Array]\"]=p[\"[object ArrayBuffer]\"]=p[\"[object Boolean]\"]=p[\"[object DataView]\"]=p[\"[object Date]\"]=p[\"[object Error]\"]=p[\"[object Function]\"]=p[i]=p[\"[object Number]\"]=p[s]=p[\"[object RegExp]\"]=p[o]=p[\"[object String]\"]=p[\"[object WeakMap]\"]=!1;var m=\"object\"==typeof e&&e&&e.Object===Object&&e,b=\"object\"==typeof self&&self&&self.Object===Object&&self,g=m||b||Function(\"return this\")(),y=\"object\"==typeof r&&r&&!r.nodeType&&r,v=y&&\"object\"==typeof t&&t&&!t.nodeType&&t,w=v&&v.exports===y&&m.process,_=function(){try{return w&&w.binding(\"util\")}catch(e){}}(),x=_&&_.isTypedArray;function k(e,t,r,n){for(var i=-1,s=e?e.length:0;++i<s;){var o=e[i];t(n,o,r(o),e)}return n}function S(e,t){for(var r=-1,n=e?e.length:0;++r<n;)if(t(e[r],r,e))return!0;return!1}function M(e){var t=!1;if(null!=e&&\"function\"!=typeof e.toString)try{t=!!(e+\"\")}catch(e){}return t}function C(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}function T(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}var E,A,R,O=Array.prototype,j=Function.prototype,I=Object.prototype,N=g[\"__core-js_shared__\"],P=(E=/[^.]+$/.exec(N&&N.keys&&N.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+E:\"\",B=j.toString,D=I.hasOwnProperty,F=I.toString,L=RegExp(\"^\"+B.call(D).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),z=g.Symbol,U=g.Uint8Array,$=I.propertyIsEnumerable,H=O.splice,V=(A=Object.keys,R=Object,function(e){return A(R(e))}),q=Ce(g,\"DataView\"),W=Ce(g,\"Map\"),X=Ce(g,\"Promise\"),K=Ce(g,\"Set\"),Y=Ce(g,\"WeakMap\"),Z=Ce(Object,\"create\"),G=Ne(q),J=Ne(W),Q=Ne(X),ee=Ne(K),te=Ne(Y),re=z?z.prototype:void 0,ne=re?re.valueOf:void 0,ie=re?re.toString:void 0;function se(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function oe(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function ae(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function le(e){var t=-1,r=e?e.length:0;for(this.__data__=new ae;++t<r;)this.add(e[t])}function ce(e){this.__data__=new oe(e)}function ue(e,t){var r=Ue(e)||ze(e)?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],n=r.length,i=!!n;for(var s in e)!t&&!D.call(e,s)||i&&(\"length\"==s||Ee(s,n))||r.push(s);return r}function he(e,t){for(var r=e.length;r--;)if(Le(e[r][0],t))return r;return-1}function fe(e,t,r,n){return me(e,(function(e,i,s){t(n,e,r(e),s)})),n}se.prototype.clear=function(){this.__data__=Z?Z(null):{}},se.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},se.prototype.get=function(e){var t=this.__data__;if(Z){var r=t[e];return\"__lodash_hash_undefined__\"===r?void 0:r}return D.call(t,e)?t[e]:void 0},se.prototype.has=function(e){var t=this.__data__;return Z?void 0!==t[e]:D.call(t,e)},se.prototype.set=function(e,t){return this.__data__[e]=Z&&void 0===t?\"__lodash_hash_undefined__\":t,this},oe.prototype.clear=function(){this.__data__=[]},oe.prototype.delete=function(e){var t=this.__data__,r=he(t,e);return!(r<0)&&(r==t.length-1?t.pop():H.call(t,r,1),!0)},oe.prototype.get=function(e){var t=this.__data__,r=he(t,e);return r<0?void 0:t[r][1]},oe.prototype.has=function(e){return he(this.__data__,e)>-1},oe.prototype.set=function(e,t){var r=this.__data__,n=he(r,e);return n<0?r.push([e,t]):r[n][1]=t,this},ae.prototype.clear=function(){this.__data__={hash:new se,map:new(W||oe),string:new se}},ae.prototype.delete=function(e){return Me(this,e).delete(e)},ae.prototype.get=function(e){return Me(this,e).get(e)},ae.prototype.has=function(e){return Me(this,e).has(e)},ae.prototype.set=function(e,t){return Me(this,e).set(e,t),this},le.prototype.add=le.prototype.push=function(e){return this.__data__.set(e,\"__lodash_hash_undefined__\"),this},le.prototype.has=function(e){return this.__data__.has(e)},ce.prototype.clear=function(){this.__data__=new oe},ce.prototype.delete=function(e){return this.__data__.delete(e)},ce.prototype.get=function(e){return this.__data__.get(e)},ce.prototype.has=function(e){return this.__data__.has(e)},ce.prototype.set=function(e,t){var r=this.__data__;if(r instanceof oe){var n=r.__data__;if(!W||n.length<199)return n.push([e,t]),this;r=this.__data__=new ae(n)}return r.set(e,t),this};var de,pe,me=(de=function(e,t){return e&&be(e,t,Ye)},function(e,t){if(null==e)return e;if(!$e(e))return de(e,t);for(var r=e.length,n=pe?r:-1,i=Object(e);(pe?n--:++n<r)&&!1!==t(i[n],n,i););return e}),be=function(e){return function(t,r,n){for(var i=-1,s=Object(t),o=n(t),a=o.length;a--;){var l=o[e?a:++i];if(!1===r(s[l],l,s))break}return t}}();function ge(e,t){for(var r=0,n=(t=Ae(t,e)?[t]:ke(t)).length;null!=e&&r<n;)e=e[Ie(t[r++])];return r&&r==n?e:void 0}function ye(e,t){return null!=e&&t in Object(e)}function ve(e,t,r,a,l){return e===t||(null==e||null==t||!qe(e)&&!We(t)?e!=e&&t!=t:function(e,t,r,a,l,c){var u=Ue(e),h=Ue(t),f=\"[object Array]\",d=\"[object Array]\";u||(f=(f=Te(e))==n?s:f);h||(d=(d=Te(t))==n?s:d);var p=f==s&&!M(e),m=d==s&&!M(t),b=f==d;if(b&&!p)return c||(c=new ce),u||Ke(e)?Se(e,t,r,a,l,c):function(e,t,r,n,s,a,l){switch(r){case\"[object DataView]\":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case\"[object ArrayBuffer]\":return!(e.byteLength!=t.byteLength||!n(new U(e),new U(t)));case\"[object Boolean]\":case\"[object Date]\":case\"[object Number]\":return Le(+e,+t);case\"[object Error]\":return e.name==t.name&&e.message==t.message;case\"[object RegExp]\":case\"[object String]\":return e==t+\"\";case i:var c=C;case o:var u=2&a;if(c||(c=T),e.size!=t.size&&!u)return!1;var h=l.get(e);if(h)return h==t;a|=1,l.set(e,t);var f=Se(c(e),c(t),n,s,a,l);return l.delete(e),f;case\"[object Symbol]\":if(ne)return ne.call(e)==ne.call(t)}return!1}(e,t,f,r,a,l,c);if(!(2&l)){var g=p&&D.call(e,\"__wrapped__\"),y=m&&D.call(t,\"__wrapped__\");if(g||y){var v=g?e.value():e,w=y?t.value():t;return c||(c=new ce),r(v,w,a,l,c)}}if(!b)return!1;return c||(c=new ce),function(e,t,r,n,i,s){var o=2&i,a=Ye(e),l=a.length,c=Ye(t).length;if(l!=c&&!o)return!1;var u=l;for(;u--;){var h=a[u];if(!(o?h in t:D.call(t,h)))return!1}var f=s.get(e);if(f&&s.get(t))return f==t;var d=!0;s.set(e,t),s.set(t,e);var p=o;for(;++u<l;){h=a[u];var m=e[h],b=t[h];if(n)var g=o?n(b,m,h,t,e,s):n(m,b,h,e,t,s);if(!(void 0===g?m===b||r(m,b,n,i,s):g)){d=!1;break}p||(p=\"constructor\"==h)}if(d&&!p){var y=e.constructor,v=t.constructor;y==v||!(\"constructor\"in e)||!(\"constructor\"in t)||\"function\"==typeof y&&y instanceof y&&\"function\"==typeof v&&v instanceof v||(d=!1)}return s.delete(e),s.delete(t),d}(e,t,r,a,l,c)}(e,t,ve,r,a,l))}function we(e){return!(!qe(e)||function(e){return!!P&&P in e}(e))&&(He(e)||M(e)?L:f).test(Ne(e))}function _e(e){return\"function\"==typeof e?e:null==e?Ze:\"object\"==typeof e?Ue(e)?function(e,t){if(Ae(e)&&Re(t))return Oe(Ie(e),t);return function(r){var n=function(e,t,r){var n=null==e?void 0:ge(e,t);return void 0===n?r:n}(r,e);return void 0===n&&n===t?function(e,t){return null!=e&&function(e,t,r){t=Ae(t,e)?[t]:ke(t);var n,i=-1,s=t.length;for(;++i<s;){var o=Ie(t[i]);if(!(n=null!=e&&r(e,o)))break;e=e[o]}if(n)return n;return!!(s=e?e.length:0)&&Ve(s)&&Ee(o,s)&&(Ue(e)||ze(e))}(e,t,ye)}(r,e):ve(t,n,void 0,3)}}(e[0],e[1]):function(e){var t=function(e){var t=Ye(e),r=t.length;for(;r--;){var n=t[r],i=e[n];t[r]=[n,i,Re(i)]}return t}(e);if(1==t.length&&t[0][2])return Oe(t[0][0],t[0][1]);return function(r){return r===e||function(e,t,r,n){var i=r.length,s=i,o=!n;if(null==e)return!s;for(e=Object(e);i--;){var a=r[i];if(o&&a[2]?a[1]!==e[a[0]]:!(a[0]in e))return!1}for(;++i<s;){var l=(a=r[i])[0],c=e[l],u=a[1];if(o&&a[2]){if(void 0===c&&!(l in e))return!1}else{var h=new ce;if(n)var f=n(c,u,l,e,t,h);if(!(void 0===f?ve(u,c,n,3,h):f))return!1}}return!0}(r,e,t)}}(e):Ae(t=e)?(r=Ie(t),function(e){return null==e?void 0:e[r]}):function(e){return function(t){return ge(t,e)}}(t);var t,r}function xe(e){if(r=(t=e)&&t.constructor,n=\"function\"==typeof r&&r.prototype||I,t!==n)return V(e);var t,r,n,i=[];for(var s in Object(e))D.call(e,s)&&\"constructor\"!=s&&i.push(s);return i}function ke(e){return Ue(e)?e:je(e)}function Se(e,t,r,n,i,s){var o=2&i,a=e.length,l=t.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(e);if(c&&s.get(t))return c==t;var u=-1,h=!0,f=1&i?new le:void 0;for(s.set(e,t),s.set(t,e);++u<a;){var d=e[u],p=t[u];if(n)var m=o?n(p,d,u,t,e,s):n(d,p,u,e,t,s);if(void 0!==m){if(m)continue;h=!1;break}if(f){if(!S(t,(function(e,t){if(!f.has(t)&&(d===e||r(d,e,n,i,s)))return f.add(t)}))){h=!1;break}}else if(d!==p&&!r(d,p,n,i,s)){h=!1;break}}return s.delete(e),s.delete(t),h}function Me(e,t){var r,n,i=e.__data__;return(\"string\"==(n=typeof(r=t))||\"number\"==n||\"symbol\"==n||\"boolean\"==n?\"__proto__\"!==r:null===r)?i[\"string\"==typeof t?\"string\":\"hash\"]:i.map}function Ce(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return we(r)?r:void 0}var Te=function(e){return F.call(e)};function Ee(e,t){return!!(t=null==t?9007199254740991:t)&&(\"number\"==typeof e||d.test(e))&&e>-1&&e%1==0&&e<t}function Ae(e,t){if(Ue(e))return!1;var r=typeof e;return!(\"number\"!=r&&\"symbol\"!=r&&\"boolean\"!=r&&null!=e&&!Xe(e))||(l.test(e)||!a.test(e)||null!=t&&e in Object(t))}function Re(e){return e==e&&!qe(e)}function Oe(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}}(q&&\"[object DataView]\"!=Te(new q(new ArrayBuffer(1)))||W&&Te(new W)!=i||X&&\"[object Promise]\"!=Te(X.resolve())||K&&Te(new K)!=o||Y&&\"[object WeakMap]\"!=Te(new Y))&&(Te=function(e){var t=F.call(e),r=t==s?e.constructor:void 0,n=r?Ne(r):void 0;if(n)switch(n){case G:return\"[object DataView]\";case J:return i;case Q:return\"[object Promise]\";case ee:return o;case te:return\"[object WeakMap]\"}return t});var je=Fe((function(e){var t;e=null==(t=e)?\"\":function(e){if(\"string\"==typeof e)return e;if(Xe(e))return ie?ie.call(e):\"\";var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}(t);var r=[];return c.test(e)&&r.push(\"\"),e.replace(u,(function(e,t,n,i){r.push(n?i.replace(h,\"$1\"):t||e)})),r}));function Ie(e){if(\"string\"==typeof e||Xe(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}function Ne(e){if(null!=e){try{return B.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}var Pe,Be,De=(Pe=function(e,t,r){D.call(e,r)?e[r].push(t):e[r]=[t]},function(e,t){var r=Ue(e)?k:fe,n=Be?Be():{};return r(e,Pe,_e(t),n)});function Fe(e,t){if(\"function\"!=typeof e||t&&\"function\"!=typeof t)throw new TypeError(\"Expected a function\");var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],s=r.cache;if(s.has(i))return s.get(i);var o=e.apply(this,n);return r.cache=s.set(i,o),o};return r.cache=new(Fe.Cache||ae),r}function Le(e,t){return e===t||e!=e&&t!=t}function ze(e){return function(e){return We(e)&&$e(e)}(e)&&D.call(e,\"callee\")&&(!$.call(e,\"callee\")||F.call(e)==n)}Fe.Cache=ae;var Ue=Array.isArray;function $e(e){return null!=e&&Ve(e.length)&&!He(e)}function He(e){var t=qe(e)?F.call(e):\"\";return\"[object Function]\"==t||\"[object GeneratorFunction]\"==t}function Ve(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function qe(e){var t=typeof e;return!!e&&(\"object\"==t||\"function\"==t)}function We(e){return!!e&&\"object\"==typeof e}function Xe(e){return\"symbol\"==typeof e||We(e)&&\"[object Symbol]\"==F.call(e)}var Ke=x?function(e){return function(t){return e(t)}}(x):function(e){return We(e)&&Ve(e.length)&&!!p[F.call(e)]};function Ye(e){return $e(e)?ue(e):xe(e)}function Ze(e){return e}t.exports=De}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],444:[function(e,t,r){\"use strict\";var n=Object.prototype.toString;t.exports=function(e){return!0===e||!1===e||function(e){return!!e&&\"object\"==typeof e}(e)&&\"[object Boolean]\"==n.call(e)}},{}],445:[function(e,t,r){(function(e){(function(){\"use strict\";var n=\"[object Arguments]\",i=\"[object Map]\",s=\"[object Object]\",o=\"[object Set]\",a=/^\\[object .+?Constructor\\]$/,l=/^(?:0|[1-9]\\d*)$/,c={};c[\"[object Float32Array]\"]=c[\"[object Float64Array]\"]=c[\"[object Int8Array]\"]=c[\"[object Int16Array]\"]=c[\"[object Int32Array]\"]=c[\"[object Uint8Array]\"]=c[\"[object Uint8ClampedArray]\"]=c[\"[object Uint16Array]\"]=c[\"[object Uint32Array]\"]=!0,c[n]=c[\"[object Array]\"]=c[\"[object ArrayBuffer]\"]=c[\"[object Boolean]\"]=c[\"[object DataView]\"]=c[\"[object Date]\"]=c[\"[object Error]\"]=c[\"[object Function]\"]=c[i]=c[\"[object Number]\"]=c[s]=c[\"[object RegExp]\"]=c[o]=c[\"[object String]\"]=c[\"[object WeakMap]\"]=!1;var u=\"object\"==typeof e&&e&&e.Object===Object&&e,h=\"object\"==typeof self&&self&&self.Object===Object&&self,f=u||h||Function(\"return this\")(),d=\"object\"==typeof r&&r&&!r.nodeType&&r,p=d&&\"object\"==typeof t&&t&&!t.nodeType&&t,m=p&&p.exports===d,b=m&&u.process,g=function(){try{return b&&b.binding&&b.binding(\"util\")}catch(e){}}(),y=g&&g.isTypedArray;function v(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function w(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}function _(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}var x,k,S,M=Array.prototype,C=Function.prototype,T=Object.prototype,E=f[\"__core-js_shared__\"],A=C.toString,R=T.hasOwnProperty,O=(x=/[^.]+$/.exec(E&&E.keys&&E.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+x:\"\",j=T.toString,I=RegExp(\"^\"+A.call(R).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),N=m?f.Buffer:void 0,P=f.Symbol,B=f.Uint8Array,D=T.propertyIsEnumerable,F=M.splice,L=P?P.toStringTag:void 0,z=Object.getOwnPropertySymbols,U=N?N.isBuffer:void 0,$=(k=Object.keys,S=Object,function(e){return k(S(e))}),H=ge(f,\"DataView\"),V=ge(f,\"Map\"),q=ge(f,\"Promise\"),W=ge(f,\"Set\"),X=ge(f,\"WeakMap\"),K=ge(Object,\"create\"),Y=_e(H),Z=_e(V),G=_e(q),J=_e(W),Q=_e(X),ee=P?P.prototype:void 0,te=ee?ee.valueOf:void 0;function re(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function ne(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function ie(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function se(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new ie;++t<r;)this.add(e[t])}function oe(e){var t=this.__data__=new ne(e);this.size=t.size}function ae(e,t){var r=Se(e),n=!r&&ke(e),i=!r&&!n&&Me(e),s=!r&&!n&&!i&&Re(e),o=r||n||i||s,a=o?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],l=a.length;for(var c in e)!t&&!R.call(e,c)||o&&(\"length\"==c||i&&(\"offset\"==c||\"parent\"==c)||s&&(\"buffer\"==c||\"byteLength\"==c||\"byteOffset\"==c)||we(c,l))||a.push(c);return a}function le(e,t){for(var r=e.length;r--;)if(xe(e[r][0],t))return r;return-1}function ce(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":L&&L in Object(e)?function(e){var t=R.call(e,L),r=e[L];try{e[L]=void 0;var n=!0}catch(e){}var i=j.call(e);n&&(t?e[L]=r:delete e[L]);return i}(e):function(e){return j.call(e)}(e)}function ue(e){return Ae(e)&&ce(e)==n}function he(e,t,r,a,l){return e===t||(null==e||null==t||!Ae(e)&&!Ae(t)?e!=e&&t!=t:function(e,t,r,a,l,c){var u=Se(e),h=Se(t),f=u?\"[object Array]\":ve(e),d=h?\"[object Array]\":ve(t),p=(f=f==n?s:f)==s,m=(d=d==n?s:d)==s,b=f==d;if(b&&Me(e)){if(!Me(t))return!1;u=!0,p=!1}if(b&&!p)return c||(c=new oe),u||Re(e)?pe(e,t,r,a,l,c):function(e,t,r,n,s,a,l){switch(r){case\"[object DataView]\":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case\"[object ArrayBuffer]\":return!(e.byteLength!=t.byteLength||!a(new B(e),new B(t)));case\"[object Boolean]\":case\"[object Date]\":case\"[object Number]\":return xe(+e,+t);case\"[object Error]\":return e.name==t.name&&e.message==t.message;case\"[object RegExp]\":case\"[object String]\":return e==t+\"\";case i:var c=w;case o:var u=1&n;if(c||(c=_),e.size!=t.size&&!u)return!1;var h=l.get(e);if(h)return h==t;n|=2,l.set(e,t);var f=pe(c(e),c(t),n,s,a,l);return l.delete(e),f;case\"[object Symbol]\":if(te)return te.call(e)==te.call(t)}return!1}(e,t,f,r,a,l,c);if(!(1&r)){var g=p&&R.call(e,\"__wrapped__\"),y=m&&R.call(t,\"__wrapped__\");if(g||y){var v=g?e.value():e,x=y?t.value():t;return c||(c=new oe),l(v,x,r,a,c)}}if(!b)return!1;return c||(c=new oe),function(e,t,r,n,i,s){var o=1&r,a=me(e),l=a.length,c=me(t).length;if(l!=c&&!o)return!1;var u=l;for(;u--;){var h=a[u];if(!(o?h in t:R.call(t,h)))return!1}var f=s.get(e);if(f&&s.get(t))return f==t;var d=!0;s.set(e,t),s.set(t,e);var p=o;for(;++u<l;){h=a[u];var m=e[h],b=t[h];if(n)var g=o?n(b,m,h,t,e,s):n(m,b,h,e,t,s);if(!(void 0===g?m===b||i(m,b,r,n,s):g)){d=!1;break}p||(p=\"constructor\"==h)}if(d&&!p){var y=e.constructor,v=t.constructor;y==v||!(\"constructor\"in e)||!(\"constructor\"in t)||\"function\"==typeof y&&y instanceof y&&\"function\"==typeof v&&v instanceof v||(d=!1)}return s.delete(e),s.delete(t),d}(e,t,r,a,l,c)}(e,t,r,a,he,l))}function fe(e){return!(!Ee(e)||function(e){return!!O&&O in e}(e))&&(Ce(e)?I:a).test(_e(e))}function de(e){if(r=(t=e)&&t.constructor,n=\"function\"==typeof r&&r.prototype||T,t!==n)return $(e);var t,r,n,i=[];for(var s in Object(e))R.call(e,s)&&\"constructor\"!=s&&i.push(s);return i}function pe(e,t,r,n,i,s){var o=1&r,a=e.length,l=t.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(e);if(c&&s.get(t))return c==t;var u=-1,h=!0,f=2&r?new se:void 0;for(s.set(e,t),s.set(t,e);++u<a;){var d=e[u],p=t[u];if(n)var m=o?n(p,d,u,t,e,s):n(d,p,u,e,t,s);if(void 0!==m){if(m)continue;h=!1;break}if(f){if(!v(t,(function(e,t){if(o=t,!f.has(o)&&(d===e||i(d,e,r,n,s)))return f.push(t);var o}))){h=!1;break}}else if(d!==p&&!i(d,p,r,n,s)){h=!1;break}}return s.delete(e),s.delete(t),h}function me(e){return function(e,t,r){var n=t(e);return Se(e)?n:function(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}(n,r(e))}(e,Oe,ye)}function be(e,t){var r,n,i=e.__data__;return(\"string\"==(n=typeof(r=t))||\"number\"==n||\"symbol\"==n||\"boolean\"==n?\"__proto__\"!==r:null===r)?i[\"string\"==typeof t?\"string\":\"hash\"]:i.map}function ge(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return fe(r)?r:void 0}re.prototype.clear=function(){this.__data__=K?K(null):{},this.size=0},re.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},re.prototype.get=function(e){var t=this.__data__;if(K){var r=t[e];return\"__lodash_hash_undefined__\"===r?void 0:r}return R.call(t,e)?t[e]:void 0},re.prototype.has=function(e){var t=this.__data__;return K?void 0!==t[e]:R.call(t,e)},re.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=K&&void 0===t?\"__lodash_hash_undefined__\":t,this},ne.prototype.clear=function(){this.__data__=[],this.size=0},ne.prototype.delete=function(e){var t=this.__data__,r=le(t,e);return!(r<0)&&(r==t.length-1?t.pop():F.call(t,r,1),--this.size,!0)},ne.prototype.get=function(e){var t=this.__data__,r=le(t,e);return r<0?void 0:t[r][1]},ne.prototype.has=function(e){return le(this.__data__,e)>-1},ne.prototype.set=function(e,t){var r=this.__data__,n=le(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},ie.prototype.clear=function(){this.size=0,this.__data__={hash:new re,map:new(V||ne),string:new re}},ie.prototype.delete=function(e){var t=be(this,e).delete(e);return this.size-=t?1:0,t},ie.prototype.get=function(e){return be(this,e).get(e)},ie.prototype.has=function(e){return be(this,e).has(e)},ie.prototype.set=function(e,t){var r=be(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},se.prototype.add=se.prototype.push=function(e){return this.__data__.set(e,\"__lodash_hash_undefined__\"),this},se.prototype.has=function(e){return this.__data__.has(e)},oe.prototype.clear=function(){this.__data__=new ne,this.size=0},oe.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},oe.prototype.get=function(e){return this.__data__.get(e)},oe.prototype.has=function(e){return this.__data__.has(e)},oe.prototype.set=function(e,t){var r=this.__data__;if(r instanceof ne){var n=r.__data__;if(!V||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new ie(n)}return r.set(e,t),this.size=r.size,this};var ye=z?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var r=-1,n=null==e?0:e.length,i=0,s=[];++r<n;){var o=e[r];t(o,r,e)&&(s[i++]=o)}return s}(z(e),(function(t){return D.call(e,t)})))}:function(){return[]},ve=ce;function we(e,t){return!!(t=null==t?9007199254740991:t)&&(\"number\"==typeof e||l.test(e))&&e>-1&&e%1==0&&e<t}function _e(e){if(null!=e){try{return A.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}function xe(e,t){return e===t||e!=e&&t!=t}(H&&\"[object DataView]\"!=ve(new H(new ArrayBuffer(1)))||V&&ve(new V)!=i||q&&\"[object Promise]\"!=ve(q.resolve())||W&&ve(new W)!=o||X&&\"[object WeakMap]\"!=ve(new X))&&(ve=function(e){var t=ce(e),r=t==s?e.constructor:void 0,n=r?_e(r):\"\";if(n)switch(n){case Y:return\"[object DataView]\";case Z:return i;case G:return\"[object Promise]\";case J:return o;case Q:return\"[object WeakMap]\"}return t});var ke=ue(function(){return arguments}())?ue:function(e){return Ae(e)&&R.call(e,\"callee\")&&!D.call(e,\"callee\")},Se=Array.isArray;var Me=U||function(){return!1};function Ce(e){if(!Ee(e))return!1;var t=ce(e);return\"[object Function]\"==t||\"[object GeneratorFunction]\"==t||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}function Te(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Ee(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function Ae(e){return null!=e&&\"object\"==typeof e}var Re=y?function(e){return function(t){return e(t)}}(y):function(e){return Ae(e)&&Te(e.length)&&!!c[ce(e)]};function Oe(e){return null!=(t=e)&&Te(t.length)&&!Ce(t)?ae(e):de(e);var t}t.exports=function(e,t){return he(e,t)}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],446:[function(e,t,r){(function(e){(function(){\"use strict\";var r=\"object\"==typeof e&&e&&e.Object===Object&&e,n=\"object\"==typeof self&&self&&self.Object===Object&&self,i=r||n||Function(\"return this\")(),s=Object.prototype,o=s.hasOwnProperty,a=s.toString,l=i.Symbol,c=l?l.toStringTag:void 0;function u(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":c&&c in Object(e)?function(e){var t=o.call(e,c),r=e[c];try{e[c]=void 0;var n=!0}catch(e){}var i=a.call(e);n&&(t?e[c]=r:delete e[c]);return i}(e):function(e){return a.call(e)}(e)}t.exports=function(e){if(!function(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}(e))return!1;var t=u(e);return\"[object Function]\"==t||\"[object GeneratorFunction]\"==t||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],447:[function(e,t,r){\"use strict\";t.exports=function(e){return null==e}},{}],448:[function(e,t,r){\"use strict\";t.exports=function(e){return void 0===e}},{}],449:[function(e,t,r){(function(e){(function(){\"use strict\";var r=/^\\[object .+?Constructor\\]$/,n=\"object\"==typeof e&&e&&e.Object===Object&&e,i=\"object\"==typeof self&&self&&self.Object===Object&&self,s=n||i||Function(\"return this\")();function o(e,t){return!!(e?e.length:0)&&function(e,t,r){if(t!=t)return function(e,t,r,n){var i=e.length,s=r+(n?1:-1);for(;n?s--:++s<i;)if(t(e[s],s,e))return s;return-1}(e,l,r);var n=r-1,i=e.length;for(;++n<i;)if(e[n]===t)return n;return-1}(e,t,0)>-1}function a(e,t,r){for(var n=-1,i=e?e.length:0;++n<i;)if(r(t,e[n]))return!0;return!1}function l(e){return e!=e}function c(e,t){return e.has(t)}function u(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}var h,f=Array.prototype,d=Function.prototype,p=Object.prototype,m=s[\"__core-js_shared__\"],b=(h=/[^.]+$/.exec(m&&m.keys&&m.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+h:\"\",g=d.toString,y=p.hasOwnProperty,v=p.toString,w=RegExp(\"^\"+g.call(y).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),_=f.splice,x=I(s,\"Map\"),k=I(s,\"Set\"),S=I(Object,\"create\");function M(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function C(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function T(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function E(e){var t=-1,r=e?e.length:0;for(this.__data__=new T;++t<r;)this.add(e[t])}function A(e,t){for(var r,n,i=e.length;i--;)if((r=e[i][0])===(n=t)||r!=r&&n!=n)return i;return-1}function R(e){return!(!N(e)||(t=e,b&&b in t))&&(function(e){var t=N(e)?v.call(e):\"\";return\"[object Function]\"==t||\"[object GeneratorFunction]\"==t}(e)||function(e){var t=!1;if(null!=e&&\"function\"!=typeof e.toString)try{t=!!(e+\"\")}catch(e){}return t}(e)?w:r).test(function(e){if(null!=e){try{return g.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}(e));var t}M.prototype.clear=function(){this.__data__=S?S(null):{}},M.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},M.prototype.get=function(e){var t=this.__data__;if(S){var r=t[e];return\"__lodash_hash_undefined__\"===r?void 0:r}return y.call(t,e)?t[e]:void 0},M.prototype.has=function(e){var t=this.__data__;return S?void 0!==t[e]:y.call(t,e)},M.prototype.set=function(e,t){return this.__data__[e]=S&&void 0===t?\"__lodash_hash_undefined__\":t,this},C.prototype.clear=function(){this.__data__=[]},C.prototype.delete=function(e){var t=this.__data__,r=A(t,e);return!(r<0)&&(r==t.length-1?t.pop():_.call(t,r,1),!0)},C.prototype.get=function(e){var t=this.__data__,r=A(t,e);return r<0?void 0:t[r][1]},C.prototype.has=function(e){return A(this.__data__,e)>-1},C.prototype.set=function(e,t){var r=this.__data__,n=A(r,e);return n<0?r.push([e,t]):r[n][1]=t,this},T.prototype.clear=function(){this.__data__={hash:new M,map:new(x||C),string:new M}},T.prototype.delete=function(e){return j(this,e).delete(e)},T.prototype.get=function(e){return j(this,e).get(e)},T.prototype.has=function(e){return j(this,e).has(e)},T.prototype.set=function(e,t){return j(this,e).set(e,t),this},E.prototype.add=E.prototype.push=function(e){return this.__data__.set(e,\"__lodash_hash_undefined__\"),this},E.prototype.has=function(e){return this.__data__.has(e)};var O=k&&1/u(new k([,-0]))[1]==1/0?function(e){return new k(e)}:function(){};function j(e,t){var r,n,i=e.__data__;return(\"string\"==(n=typeof(r=t))||\"number\"==n||\"symbol\"==n||\"boolean\"==n?\"__proto__\"!==r:null===r)?i[\"string\"==typeof t?\"string\":\"hash\"]:i.map}function I(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return R(r)?r:void 0}function N(e){var t=typeof e;return!!e&&(\"object\"==t||\"function\"==t)}t.exports=function(e){return e&&e.length?function(e,t,r){var n=-1,i=o,s=e.length,l=!0,h=[],f=h;if(r)l=!1,i=a;else if(s>=200){var d=t?null:O(e);if(d)return u(d);l=!1,i=c,f=new E}else f=t?[]:h;e:for(;++n<s;){var p=e[n],m=t?t(p):p;if(p=r||0!==p?p:0,l&&m==m){for(var b=f.length;b--;)if(f[b]===m)continue e;t&&f.push(m),h.push(p)}else i(f,m,r)||(f!==h&&f.push(m),h.push(p))}return h}(e):[]}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],450:[function(e,t,r){\"use strict\";var n=e(\"inherits\"),i=e(\"hash-base\"),s=e(\"safe-buffer\").Buffer,o=new Array(16);function a(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function l(e,t){return e<<t|e>>>32-t}function c(e,t,r,n,i,s,o){return l(e+(t&r|~t&n)+i+s|0,o)+t|0}function u(e,t,r,n,i,s,o){return l(e+(t&n|r&~n)+i+s|0,o)+t|0}function h(e,t,r,n,i,s,o){return l(e+(t^r^n)+i+s|0,o)+t|0}function f(e,t,r,n,i,s,o){return l(e+(r^(t|~n))+i+s|0,o)+t|0}n(a,i),a.prototype._update=function(){for(var e=o,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var r=this._a,n=this._b,i=this._c,s=this._d;r=c(r,n,i,s,e[0],3614090360,7),s=c(s,r,n,i,e[1],3905402710,12),i=c(i,s,r,n,e[2],606105819,17),n=c(n,i,s,r,e[3],3250441966,22),r=c(r,n,i,s,e[4],4118548399,7),s=c(s,r,n,i,e[5],1200080426,12),i=c(i,s,r,n,e[6],2821735955,17),n=c(n,i,s,r,e[7],4249261313,22),r=c(r,n,i,s,e[8],1770035416,7),s=c(s,r,n,i,e[9],2336552879,12),i=c(i,s,r,n,e[10],4294925233,17),n=c(n,i,s,r,e[11],2304563134,22),r=c(r,n,i,s,e[12],1804603682,7),s=c(s,r,n,i,e[13],4254626195,12),i=c(i,s,r,n,e[14],2792965006,17),r=u(r,n=c(n,i,s,r,e[15],1236535329,22),i,s,e[1],4129170786,5),s=u(s,r,n,i,e[6],3225465664,9),i=u(i,s,r,n,e[11],643717713,14),n=u(n,i,s,r,e[0],3921069994,20),r=u(r,n,i,s,e[5],3593408605,5),s=u(s,r,n,i,e[10],38016083,9),i=u(i,s,r,n,e[15],3634488961,14),n=u(n,i,s,r,e[4],3889429448,20),r=u(r,n,i,s,e[9],568446438,5),s=u(s,r,n,i,e[14],3275163606,9),i=u(i,s,r,n,e[3],4107603335,14),n=u(n,i,s,r,e[8],1163531501,20),r=u(r,n,i,s,e[13],2850285829,5),s=u(s,r,n,i,e[2],4243563512,9),i=u(i,s,r,n,e[7],1735328473,14),r=h(r,n=u(n,i,s,r,e[12],2368359562,20),i,s,e[5],4294588738,4),s=h(s,r,n,i,e[8],2272392833,11),i=h(i,s,r,n,e[11],1839030562,16),n=h(n,i,s,r,e[14],4259657740,23),r=h(r,n,i,s,e[1],2763975236,4),s=h(s,r,n,i,e[4],1272893353,11),i=h(i,s,r,n,e[7],4139469664,16),n=h(n,i,s,r,e[10],3200236656,23),r=h(r,n,i,s,e[13],681279174,4),s=h(s,r,n,i,e[0],3936430074,11),i=h(i,s,r,n,e[3],3572445317,16),n=h(n,i,s,r,e[6],76029189,23),r=h(r,n,i,s,e[9],3654602809,4),s=h(s,r,n,i,e[12],3873151461,11),i=h(i,s,r,n,e[15],530742520,16),r=f(r,n=h(n,i,s,r,e[2],3299628645,23),i,s,e[0],4096336452,6),s=f(s,r,n,i,e[7],1126891415,10),i=f(i,s,r,n,e[14],2878612391,15),n=f(n,i,s,r,e[5],4237533241,21),r=f(r,n,i,s,e[12],1700485571,6),s=f(s,r,n,i,e[3],2399980690,10),i=f(i,s,r,n,e[10],4293915773,15),n=f(n,i,s,r,e[1],2240044497,21),r=f(r,n,i,s,e[8],1873313359,6),s=f(s,r,n,i,e[15],4264355552,10),i=f(i,s,r,n,e[6],2734768916,15),n=f(n,i,s,r,e[13],1309151649,21),r=f(r,n,i,s,e[4],4149444226,6),s=f(s,r,n,i,e[11],3174756917,10),i=f(i,s,r,n,e[2],718787259,15),n=f(n,i,s,r,e[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+s|0},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=s.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},t.exports=a},{\"hash-base\":425,inherits:440,\"safe-buffer\":494}],451:[function(e,t,r){\"use strict\";var n=e(\"bn.js\"),i=e(\"brorand\");function s(e){this.rand=e||new i.Rand}t.exports=s,s.create=function(e){return new s(e)},s.prototype._randbelow=function(e){var t=e.bitLength(),r=Math.ceil(t/8);do{var i=new n(this.rand.generate(r))}while(i.cmp(e)>=0);return i},s.prototype._randrange=function(e,t){var r=t.sub(e);return e.add(this._randbelow(r))},s.prototype.test=function(e,t,r){var i=e.bitLength(),s=n.mont(e),o=new n(1).toRed(s);t||(t=Math.max(1,i/48|0));for(var a=e.subn(1),l=0;!a.testn(l);l++);for(var c=e.shrn(l),u=a.toRed(s);t>0;t--){var h=this._randrange(new n(2),a);r&&r(h);var f=h.toRed(s).redPow(c);if(0!==f.cmp(o)&&0!==f.cmp(u)){for(var d=1;d<l;d++){if(0===(f=f.redSqr()).cmp(o))return!1;if(0===f.cmp(u))break}if(d===l)return!1}}return!0},s.prototype.getDivisor=function(e,t){var r=e.bitLength(),i=n.mont(e),s=new n(1).toRed(i);t||(t=Math.max(1,r/48|0));for(var o=e.subn(1),a=0;!o.testn(a);a++);for(var l=e.shrn(a),c=o.toRed(i);t>0;t--){var u=this._randrange(new n(2),o),h=e.gcd(u);if(0!==h.cmpn(1))return h;var f=u.toRed(i).redPow(l);if(0!==f.cmp(s)&&0!==f.cmp(c)){for(var d=1;d<a;d++){if(0===(f=f.redSqr()).cmp(s))return f.fromRed().subn(1).gcd(e);if(0===f.cmp(c))break}if(d===a)return(f=f.redSqr()).fromRed().subn(1).gcd(e)}}return!1}},{\"bn.js\":452,brorand:187}],452:[function(e,t,r){arguments[4][184][0].apply(r,arguments)},{buffer:188,dup:184}],453:[function(e,t,r){\"use strict\";function n(e,t){if(!e)throw new Error(t||\"Assertion failed\")}t.exports=n,n.equal=function(e,t,r){if(e!=t)throw new Error(r||\"Assertion failed: \"+e+\" != \"+t)}},{}],454:[function(e,t,r){\"use strict\";var n=r;function i(e){return 1===e.length?\"0\"+e:e}function s(e){for(var t=\"\",r=0;r<e.length;r++)t+=i(e[r].toString(16));return t}n.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if(\"string\"!=typeof e){for(var n=0;n<e.length;n++)r[n]=0|e[n];return r}if(\"hex\"===t){(e=e.replace(/[^a-z0-9]+/gi,\"\")).length%2!=0&&(e=\"0\"+e);for(n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16))}else for(n=0;n<e.length;n++){var i=e.charCodeAt(n),s=i>>8,o=255&i;s?r.push(s,o):r.push(o)}return r},n.zero2=i,n.toHex=s,n.encode=function(e,t){return\"hex\"===t?s(e):e}},{}],455:[function(e,t,r){t.exports={\"2.16.840.1.101.3.4.1.1\":\"aes-128-ecb\",\"2.16.840.1.101.3.4.1.2\":\"aes-128-cbc\",\"2.16.840.1.101.3.4.1.3\":\"aes-128-ofb\",\"2.16.840.1.101.3.4.1.4\":\"aes-128-cfb\",\"2.16.840.1.101.3.4.1.21\":\"aes-192-ecb\",\"2.16.840.1.101.3.4.1.22\":\"aes-192-cbc\",\"2.16.840.1.101.3.4.1.23\":\"aes-192-ofb\",\"2.16.840.1.101.3.4.1.24\":\"aes-192-cfb\",\"2.16.840.1.101.3.4.1.41\":\"aes-256-ecb\",\"2.16.840.1.101.3.4.1.42\":\"aes-256-cbc\",\"2.16.840.1.101.3.4.1.43\":\"aes-256-ofb\",\"2.16.840.1.101.3.4.1.44\":\"aes-256-cfb\"}},{}],456:[function(e,t,r){\"use strict\";var n=e(\"asn1.js\");r.certificate=e(\"./certificate\");var i=n.define(\"RSAPrivateKey\",(function(){this.seq().obj(this.key(\"version\").int(),this.key(\"modulus\").int(),this.key(\"publicExponent\").int(),this.key(\"privateExponent\").int(),this.key(\"prime1\").int(),this.key(\"prime2\").int(),this.key(\"exponent1\").int(),this.key(\"exponent2\").int(),this.key(\"coefficient\").int())}));r.RSAPrivateKey=i;var s=n.define(\"RSAPublicKey\",(function(){this.seq().obj(this.key(\"modulus\").int(),this.key(\"publicExponent\").int())}));r.RSAPublicKey=s;var o=n.define(\"SubjectPublicKeyInfo\",(function(){this.seq().obj(this.key(\"algorithm\").use(a),this.key(\"subjectPublicKey\").bitstr())}));r.PublicKey=o;var a=n.define(\"AlgorithmIdentifier\",(function(){this.seq().obj(this.key(\"algorithm\").objid(),this.key(\"none\").null_().optional(),this.key(\"curve\").objid().optional(),this.key(\"params\").seq().obj(this.key(\"p\").int(),this.key(\"q\").int(),this.key(\"g\").int()).optional())})),l=n.define(\"PrivateKeyInfo\",(function(){this.seq().obj(this.key(\"version\").int(),this.key(\"algorithm\").use(a),this.key(\"subjectPrivateKey\").octstr())}));r.PrivateKey=l;var c=n.define(\"EncryptedPrivateKeyInfo\",(function(){this.seq().obj(this.key(\"algorithm\").seq().obj(this.key(\"id\").objid(),this.key(\"decrypt\").seq().obj(this.key(\"kde\").seq().obj(this.key(\"id\").objid(),this.key(\"kdeparams\").seq().obj(this.key(\"salt\").octstr(),this.key(\"iters\").int())),this.key(\"cipher\").seq().obj(this.key(\"algo\").objid(),this.key(\"iv\").octstr()))),this.key(\"subjectPrivateKey\").octstr())}));r.EncryptedPrivateKey=c;var u=n.define(\"DSAPrivateKey\",(function(){this.seq().obj(this.key(\"version\").int(),this.key(\"p\").int(),this.key(\"q\").int(),this.key(\"g\").int(),this.key(\"pub_key\").int(),this.key(\"priv_key\").int())}));r.DSAPrivateKey=u,r.DSAparam=n.define(\"DSAparam\",(function(){this.int()}));var h=n.define(\"ECPrivateKey\",(function(){this.seq().obj(this.key(\"version\").int(),this.key(\"privateKey\").octstr(),this.key(\"parameters\").optional().explicit(0).use(f),this.key(\"publicKey\").optional().explicit(1).bitstr())}));r.ECPrivateKey=h;var f=n.define(\"ECParameters\",(function(){this.choice({namedCurve:this.objid()})}));r.signature=n.define(\"signature\",(function(){this.seq().obj(this.key(\"r\").int(),this.key(\"s\").int())}))},{\"./certificate\":457,\"asn1.js\":170}],457:[function(e,t,r){\"use strict\";var n=e(\"asn1.js\"),i=n.define(\"Time\",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),s=n.define(\"AttributeTypeValue\",(function(){this.seq().obj(this.key(\"type\").objid(),this.key(\"value\").any())})),o=n.define(\"AlgorithmIdentifier\",(function(){this.seq().obj(this.key(\"algorithm\").objid(),this.key(\"parameters\").optional(),this.key(\"curve\").objid().optional())})),a=n.define(\"SubjectPublicKeyInfo\",(function(){this.seq().obj(this.key(\"algorithm\").use(o),this.key(\"subjectPublicKey\").bitstr())})),l=n.define(\"RelativeDistinguishedName\",(function(){this.setof(s)})),c=n.define(\"RDNSequence\",(function(){this.seqof(l)})),u=n.define(\"Name\",(function(){this.choice({rdnSequence:this.use(c)})})),h=n.define(\"Validity\",(function(){this.seq().obj(this.key(\"notBefore\").use(i),this.key(\"notAfter\").use(i))})),f=n.define(\"Extension\",(function(){this.seq().obj(this.key(\"extnID\").objid(),this.key(\"critical\").bool().def(!1),this.key(\"extnValue\").octstr())})),d=n.define(\"TBSCertificate\",(function(){this.seq().obj(this.key(\"version\").explicit(0).int().optional(),this.key(\"serialNumber\").int(),this.key(\"signature\").use(o),this.key(\"issuer\").use(u),this.key(\"validity\").use(h),this.key(\"subject\").use(u),this.key(\"subjectPublicKeyInfo\").use(a),this.key(\"issuerUniqueID\").implicit(1).bitstr().optional(),this.key(\"subjectUniqueID\").implicit(2).bitstr().optional(),this.key(\"extensions\").explicit(3).seqof(f).optional())})),p=n.define(\"X509Certificate\",(function(){this.seq().obj(this.key(\"tbsCertificate\").use(d),this.key(\"signatureAlgorithm\").use(o),this.key(\"signatureValue\").bitstr())}));t.exports=p},{\"asn1.js\":170}],458:[function(e,t,r){\"use strict\";var n=/Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m,i=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,s=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m,o=e(\"evp_bytestokey\"),a=e(\"browserify-aes\"),l=e(\"safe-buffer\").Buffer;t.exports=function(e,t){var r,c=e.toString(),u=c.match(n);if(u){var h=\"aes\"+u[1],f=l.from(u[2],\"hex\"),d=l.from(u[3].replace(/[\\r\\n]/g,\"\"),\"base64\"),p=o(t,f.slice(0,8),parseInt(u[1],10)).key,m=[],b=a.createDecipheriv(h,p,f);m.push(b.update(d)),m.push(b.final()),r=l.concat(m)}else{var g=c.match(s);r=l.from(g[2].replace(/[\\r\\n]/g,\"\"),\"base64\")}return{tag:c.match(i)[1],data:r}}},{\"browserify-aes\":191,evp_bytestokey:423,\"safe-buffer\":494}],459:[function(e,t,r){\"use strict\";var n=e(\"./asn1\"),i=e(\"./aesid.json\"),s=e(\"./fixProc\"),o=e(\"browserify-aes\"),a=e(\"pbkdf2\"),l=e(\"safe-buffer\").Buffer;function c(e){var t;\"object\"!=typeof e||l.isBuffer(e)||(t=e.passphrase,e=e.key),\"string\"==typeof e&&(e=l.from(e));var r,c,u=s(e,t),h=u.tag,f=u.data;switch(h){case\"CERTIFICATE\":c=n.certificate.decode(f,\"der\").tbsCertificate.subjectPublicKeyInfo;case\"PUBLIC KEY\":switch(c||(c=n.PublicKey.decode(f,\"der\")),r=c.algorithm.algorithm.join(\".\")){case\"1.2.840.113549.1.1.1\":return n.RSAPublicKey.decode(c.subjectPublicKey.data,\"der\");case\"1.2.840.10045.2.1\":return c.subjectPrivateKey=c.subjectPublicKey,{type:\"ec\",data:c};case\"1.2.840.10040.4.1\":return c.algorithm.params.pub_key=n.DSAparam.decode(c.subjectPublicKey.data,\"der\"),{type:\"dsa\",data:c.algorithm.params};default:throw new Error(\"unknown key id \"+r)}case\"ENCRYPTED PRIVATE KEY\":f=function(e,t){var r=e.algorithm.decrypt.kde.kdeparams.salt,n=parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(),10),s=i[e.algorithm.decrypt.cipher.algo.join(\".\")],c=e.algorithm.decrypt.cipher.iv,u=e.subjectPrivateKey,h=parseInt(s.split(\"-\")[1],10)/8,f=a.pbkdf2Sync(t,r,n,h,\"sha1\"),d=o.createDecipheriv(s,f,c),p=[];return p.push(d.update(u)),p.push(d.final()),l.concat(p)}(f=n.EncryptedPrivateKey.decode(f,\"der\"),t);case\"PRIVATE KEY\":switch(r=(c=n.PrivateKey.decode(f,\"der\")).algorithm.algorithm.join(\".\")){case\"1.2.840.113549.1.1.1\":return n.RSAPrivateKey.decode(c.subjectPrivateKey,\"der\");case\"1.2.840.10045.2.1\":return{curve:c.algorithm.curve,privateKey:n.ECPrivateKey.decode(c.subjectPrivateKey,\"der\").privateKey};case\"1.2.840.10040.4.1\":return c.algorithm.params.priv_key=n.DSAparam.decode(c.subjectPrivateKey,\"der\"),{type:\"dsa\",params:c.algorithm.params};default:throw new Error(\"unknown key id \"+r)}case\"RSA PUBLIC KEY\":return n.RSAPublicKey.decode(f,\"der\");case\"RSA PRIVATE KEY\":return n.RSAPrivateKey.decode(f,\"der\");case\"DSA PRIVATE KEY\":return{type:\"dsa\",params:n.DSAPrivateKey.decode(f,\"der\")};case\"EC PRIVATE KEY\":return{curve:(f=n.ECPrivateKey.decode(f,\"der\")).parameters.value,privateKey:f.privateKey};default:throw new Error(\"unknown key type \"+h)}}t.exports=c,c.signature=n.signature},{\"./aesid.json\":455,\"./asn1\":456,\"./fixProc\":458,\"browserify-aes\":191,pbkdf2:460,\"safe-buffer\":494}],460:[function(e,t,r){\"use strict\";r.pbkdf2=e(\"./lib/async\"),r.pbkdf2Sync=e(\"./lib/sync\")},{\"./lib/async\":461,\"./lib/sync\":464}],461:[function(e,t,r){(function(r){(function(){\"use strict\";var n,i,s=e(\"safe-buffer\").Buffer,o=e(\"./precondition\"),a=e(\"./default-encoding\"),l=e(\"./sync\"),c=e(\"./to-buffer\"),u=r.crypto&&r.crypto.subtle,h={sha:\"SHA-1\",\"sha-1\":\"SHA-1\",sha1:\"SHA-1\",sha256:\"SHA-256\",\"sha-256\":\"SHA-256\",sha384:\"SHA-384\",\"sha-384\":\"SHA-384\",\"sha-512\":\"SHA-512\",sha512:\"SHA-512\"},f=[];function d(){return i||(i=r.process&&r.process.nextTick?r.process.nextTick:r.queueMicrotask?r.queueMicrotask:r.setImmediate?r.setImmediate:r.setTimeout)}function p(e,t,r,n,i){return u.importKey(\"raw\",e,{name:\"PBKDF2\"},!1,[\"deriveBits\"]).then((function(e){return u.deriveBits({name:\"PBKDF2\",salt:t,iterations:r,hash:{name:i}},e,n<<3)})).then((function(e){return s.from(e)}))}t.exports=function(e,t,i,m,b,g){\"function\"==typeof b&&(g=b,b=void 0);var y=h[(b=b||\"sha1\").toLowerCase()];if(y&&\"function\"==typeof r.Promise){if(o(i,m),e=c(e,a,\"Password\"),t=c(t,a,\"Salt\"),\"function\"!=typeof g)throw new Error(\"No callback provided to pbkdf2\");!function(e,t){e.then((function(e){d()((function(){t(null,e)}))}),(function(e){d()((function(){t(e)}))}))}(function(e){if(r.process&&!r.process.browser)return Promise.resolve(!1);if(!u||!u.importKey||!u.deriveBits)return Promise.resolve(!1);if(void 0!==f[e])return f[e];var t=p(n=n||s.alloc(8),n,10,128,e).then((function(){return!0})).catch((function(){return!1}));return f[e]=t,t}(y).then((function(r){return r?p(e,t,i,m,y):l(e,t,i,m,b)})),g)}else d()((function(){var r;try{r=l(e,t,i,m,b)}catch(e){return g(e)}g(null,r)}))}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./default-encoding\":462,\"./precondition\":463,\"./sync\":464,\"./to-buffer\":465,\"safe-buffer\":494}],462:[function(e,t,r){(function(e,r){(function(){\"use strict\";var n;if(r.process&&r.process.browser)n=\"utf-8\";else if(r.process&&r.process.version){n=parseInt(e.version.split(\".\")[0].slice(1),10)>=6?\"utf-8\":\"binary\"}else n=\"utf-8\";t.exports=n}).call(this)}).call(this,e(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{_process:467}],463:[function(e,t,r){\"use strict\";var n=Math.pow(2,30)-1;t.exports=function(e,t){if(\"number\"!=typeof e)throw new TypeError(\"Iterations not a number\");if(e<0)throw new TypeError(\"Bad iterations\");if(\"number\"!=typeof t)throw new TypeError(\"Key length not a number\");if(t<0||t>n||t!=t)throw new TypeError(\"Bad key length\")}},{}],464:[function(e,t,r){\"use strict\";var n=e(\"create-hash/md5\"),i=e(\"ripemd160\"),s=e(\"sha.js\"),o=e(\"safe-buffer\").Buffer,a=e(\"./precondition\"),l=e(\"./default-encoding\"),c=e(\"./to-buffer\"),u=o.alloc(128),h={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function f(e,t,r){var a=function(e){function t(t){return s(e).update(t).digest()}return\"rmd160\"===e||\"ripemd160\"===e?function(e){return(new i).update(e).digest()}:\"md5\"===e?n:t}(e),l=\"sha512\"===e||\"sha384\"===e?128:64;t.length>l?t=a(t):t.length<l&&(t=o.concat([t,u],l));for(var c=o.allocUnsafe(l+h[e]),f=o.allocUnsafe(l+h[e]),d=0;d<l;d++)c[d]=54^t[d],f[d]=92^t[d];var p=o.allocUnsafe(l+r+4);c.copy(p,0,0,l),this.ipad1=p,this.ipad2=c,this.opad=f,this.alg=e,this.blocksize=l,this.hash=a,this.size=h[e]}f.prototype.run=function(e,t){return e.copy(t,this.blocksize),this.hash(t).copy(this.opad,this.blocksize),this.hash(this.opad)},t.exports=function(e,t,r,n,i){a(r,n);var s=new f(i=i||\"sha1\",e=c(e,l,\"Password\"),(t=c(t,l,\"Salt\")).length),u=o.allocUnsafe(n),d=o.allocUnsafe(t.length+4);t.copy(d,0,0,t.length);for(var p=0,m=h[i],b=Math.ceil(n/m),g=1;g<=b;g++){d.writeUInt32BE(g,t.length);for(var y=s.run(d,s.ipad1),v=y,w=1;w<r;w++){v=s.run(v,s.ipad2);for(var _=0;_<m;_++)y[_]^=v[_]}y.copy(u,p),p+=m}return u}},{\"./default-encoding\":462,\"./precondition\":463,\"./to-buffer\":465,\"create-hash/md5\":387,ripemd160:493,\"safe-buffer\":494,\"sha.js\":498}],465:[function(e,t,r){\"use strict\";var n=e(\"safe-buffer\").Buffer;t.exports=function(e,t,r){if(n.isBuffer(e))return e;if(\"string\"==typeof e)return n.from(e,t);if(ArrayBuffer.isView(e))return n.from(e.buffer);throw new TypeError(r+\" must be a string, a Buffer, a typed array or a DataView\")}},{\"safe-buffer\":494}],466:[function(e,t,r){(function(e){(function(){\"use strict\";void 0===e||!e.version||0===e.version.indexOf(\"v0.\")||0===e.version.indexOf(\"v1.\")&&0!==e.version.indexOf(\"v1.8.\")?t.exports={nextTick:function(t,r,n,i){if(\"function\"!=typeof t)throw new TypeError('\"callback\" argument must be a function');var s,o,a=arguments.length;switch(a){case 0:case 1:return e.nextTick(t);case 2:return e.nextTick((function(){t.call(null,r)}));case 3:return e.nextTick((function(){t.call(null,r,n)}));case 4:return e.nextTick((function(){t.call(null,r,n,i)}));default:for(s=new Array(a-1),o=0;o<s.length;)s[o++]=arguments[o];return e.nextTick((function(){t.apply(null,s)}))}}}:t.exports=e}).call(this)}).call(this,e(\"_process\"))},{_process:467}],467:[function(e,t,r){\"use strict\";var n,i,s=t.exports={};function o(){throw new Error(\"setTimeout has not been defined\")}function a(){throw new Error(\"clearTimeout has not been defined\")}function l(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n=\"function\"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{i=\"function\"==typeof clearTimeout?clearTimeout:a}catch(e){i=a}}();var c,u=[],h=!1,f=-1;function d(){h&&c&&(h=!1,c.length?u=c.concat(u):f=-1,u.length&&p())}function p(){if(!h){var e=l(d);h=!0;for(var t=u.length;t;){for(c=u,u=[];++f<t;)c&&c[f].run();f=-1,t=u.length}c=null,h=!1,function(e){if(i===clearTimeout)return clearTimeout(e);if((i===a||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(e);try{i(e)}catch(t){try{return i.call(null,e)}catch(t){return i.call(this,e)}}}(e)}}function m(e,t){this.fun=e,this.array=t}function b(){}s.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];u.push(new m(e,t)),1!==u.length||h||l(p)},m.prototype.run=function(){this.fun.apply(null,this.array)},s.title=\"browser\",s.browser=!0,s.env={},s.argv=[],s.version=\"\",s.versions={},s.on=b,s.addListener=b,s.once=b,s.off=b,s.removeListener=b,s.removeAllListeners=b,s.emit=b,s.prependListener=b,s.prependOnceListener=b,s.listeners=function(e){return[]},s.binding=function(e){throw new Error(\"process.binding is not supported\")},s.cwd=function(){return\"/\"},s.chdir=function(e){throw new Error(\"process.chdir is not supported\")},s.umask=function(){return 0}},{}],468:[function(e,t,r){\"use strict\";r.publicEncrypt=e(\"./publicEncrypt\"),r.privateDecrypt=e(\"./privateDecrypt\"),r.privateEncrypt=function(e,t){return r.publicEncrypt(e,t,!0)},r.publicDecrypt=function(e,t){return r.privateDecrypt(e,t,!0)}},{\"./privateDecrypt\":471,\"./publicEncrypt\":472}],469:[function(e,t,r){\"use strict\";var n=e(\"create-hash\"),i=e(\"safe-buffer\").Buffer;function s(e){var t=i.allocUnsafe(4);return t.writeUInt32BE(e,0),t}t.exports=function(e,t){for(var r,o=i.alloc(0),a=0;o.length<t;)r=s(a++),o=i.concat([o,n(\"sha1\").update(e).update(r).digest()]);return o.slice(0,t)}},{\"create-hash\":386,\"safe-buffer\":494}],470:[function(e,t,r){arguments[4][184][0].apply(r,arguments)},{buffer:188,dup:184}],471:[function(e,t,r){\"use strict\";var n=e(\"parse-asn1\"),i=e(\"./mgf\"),s=e(\"./xor\"),o=e(\"bn.js\"),a=e(\"browserify-rsa\"),l=e(\"create-hash\"),c=e(\"./withPublic\"),u=e(\"safe-buffer\").Buffer;t.exports=function(e,t,r){var h;h=e.padding?e.padding:r?1:4;var f,d=n(e),p=d.modulus.byteLength();if(t.length>p||new o(t).cmp(d.modulus)>=0)throw new Error(\"decryption error\");f=r?c(new o(t),d):a(t,d);var m=u.alloc(p-f.length);if(f=u.concat([m,f],p),4===h)return function(e,t){var r=e.modulus.byteLength(),n=l(\"sha1\").update(u.alloc(0)).digest(),o=n.length;if(0!==t[0])throw new Error(\"decryption error\");var a=t.slice(1,o+1),c=t.slice(o+1),h=s(a,i(c,o)),f=s(c,i(h,r-o-1));if(function(e,t){e=u.from(e),t=u.from(t);var r=0,n=e.length;e.length!==t.length&&(r++,n=Math.min(e.length,t.length));var i=-1;for(;++i<n;)r+=e[i]^t[i];return r}(n,f.slice(0,o)))throw new Error(\"decryption error\");var d=o;for(;0===f[d];)d++;if(1!==f[d++])throw new Error(\"decryption error\");return f.slice(d)}(d,f);if(1===h)return function(e,t,r){var n=t.slice(0,2),i=2,s=0;for(;0!==t[i++];)if(i>=t.length){s++;break}var o=t.slice(2,i-1);(\"0002\"!==n.toString(\"hex\")&&!r||\"0001\"!==n.toString(\"hex\")&&r)&&s++;o.length<8&&s++;if(s)throw new Error(\"decryption error\");return t.slice(i)}(0,f,r);if(3===h)return f;throw new Error(\"unknown padding\")}},{\"./mgf\":469,\"./withPublic\":473,\"./xor\":474,\"bn.js\":470,\"browserify-rsa\":209,\"create-hash\":386,\"parse-asn1\":459,\"safe-buffer\":494}],472:[function(e,t,r){\"use strict\";var n=e(\"parse-asn1\"),i=e(\"randombytes\"),s=e(\"create-hash\"),o=e(\"./mgf\"),a=e(\"./xor\"),l=e(\"bn.js\"),c=e(\"./withPublic\"),u=e(\"browserify-rsa\"),h=e(\"safe-buffer\").Buffer;t.exports=function(e,t,r){var f;f=e.padding?e.padding:r?1:4;var d,p=n(e);if(4===f)d=function(e,t){var r=e.modulus.byteLength(),n=t.length,c=s(\"sha1\").update(h.alloc(0)).digest(),u=c.length,f=2*u;if(n>r-f-2)throw new Error(\"message too long\");var d=h.alloc(r-n-f-2),p=r-u-1,m=i(u),b=a(h.concat([c,d,h.alloc(1,1),t],p),o(m,p)),g=a(m,o(b,u));return new l(h.concat([h.alloc(1),g,b],r))}(p,t);else if(1===f)d=function(e,t,r){var n,s=t.length,o=e.modulus.byteLength();if(s>o-11)throw new Error(\"message too long\");n=r?h.alloc(o-s-3,255):function(e){var t,r=h.allocUnsafe(e),n=0,s=i(2*e),o=0;for(;n<e;)o===s.length&&(s=i(2*e),o=0),(t=s[o++])&&(r[n++]=t);return r}(o-s-3);return new l(h.concat([h.from([0,r?1:2]),n,h.alloc(1),t],o))}(p,t,r);else{if(3!==f)throw new Error(\"unknown padding\");if((d=new l(t)).cmp(p.modulus)>=0)throw new Error(\"data too long for modulus\")}return r?u(d,p):c(d,p)}},{\"./mgf\":469,\"./withPublic\":473,\"./xor\":474,\"bn.js\":470,\"browserify-rsa\":209,\"create-hash\":386,\"parse-asn1\":459,randombytes:475,\"safe-buffer\":494}],473:[function(e,t,r){\"use strict\";var n=e(\"bn.js\"),i=e(\"safe-buffer\").Buffer;t.exports=function(e,t){return i.from(e.toRed(n.mont(t.modulus)).redPow(new n(t.publicExponent)).fromRed().toArray())}},{\"bn.js\":470,\"safe-buffer\":494}],474:[function(e,t,r){\"use strict\";t.exports=function(e,t){for(var r=e.length,n=-1;++n<r;)e[n]^=t[n];return e}},{}],475:[function(e,t,r){(function(r,n){(function(){\"use strict\";var i=e(\"safe-buffer\").Buffer,s=n.crypto||n.msCrypto;s&&s.getRandomValues?t.exports=function(e,t){if(e>4294967295)throw new RangeError(\"requested too many random bytes\");var n=i.allocUnsafe(e);if(e>0)if(e>65536)for(var o=0;o<e;o+=65536)s.getRandomValues(n.slice(o,o+65536));else s.getRandomValues(n);if(\"function\"==typeof t)return r.nextTick((function(){t(null,n)}));return n}:t.exports=function(){throw new Error(\"Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11\")}}).call(this)}).call(this,e(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{_process:467,\"safe-buffer\":494}],476:[function(e,t,r){(function(t,n){(function(){\"use strict\";function i(){throw new Error(\"secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11\")}var s=e(\"safe-buffer\"),o=e(\"randombytes\"),a=s.Buffer,l=s.kMaxLength,c=n.crypto||n.msCrypto,u=Math.pow(2,32)-1;function h(e,t){if(\"number\"!=typeof e||e!=e)throw new TypeError(\"offset must be a number\");if(e>u||e<0)throw new TypeError(\"offset must be a uint32\");if(e>l||e>t)throw new RangeError(\"offset out of range\")}function f(e,t,r){if(\"number\"!=typeof e||e!=e)throw new TypeError(\"size must be a number\");if(e>u||e<0)throw new TypeError(\"size must be a uint32\");if(e+t>r||e>l)throw new RangeError(\"buffer too small\")}function d(e,r,n,i){if(t.browser){var s=e.buffer,a=new Uint8Array(s,r,n);return c.getRandomValues(a),i?void t.nextTick((function(){i(null,e)})):e}if(!i)return o(n).copy(e,r),e;o(n,(function(t,n){if(t)return i(t);n.copy(e,r),i(null,e)}))}c&&c.getRandomValues||!t.browser?(r.randomFill=function(e,t,r,i){if(!(a.isBuffer(e)||e instanceof n.Uint8Array))throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array');if(\"function\"==typeof t)i=t,t=0,r=e.length;else if(\"function\"==typeof r)i=r,r=e.length-t;else if(\"function\"!=typeof i)throw new TypeError('\"cb\" argument must be a function');return h(t,e.length),f(r,t,e.length),d(e,t,r,i)},r.randomFillSync=function(e,t,r){void 0===t&&(t=0);if(!(a.isBuffer(e)||e instanceof n.Uint8Array))throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array');h(t,e.length),void 0===r&&(r=e.length-t);return f(r,t,e.length),d(e,t,r)}):(r.randomFill=i,r.randomFillSync=i)}).call(this)}).call(this,e(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{_process:467,randombytes:475,\"safe-buffer\":494}],477:[function(e,t,r){\"use strict\";var n={};function i(e,t,r){r||(r=Error);var i=function(e){var r,n;function i(r,n,i){return e.call(this,function(e,r,n){return\"string\"==typeof t?t:t(e,r,n)}(r,n,i))||this}return n=e,(r=i).prototype=Object.create(n.prototype),r.prototype.constructor=r,r.__proto__=n,i}(r);i.prototype.name=r.name,i.prototype.code=e,n[e]=i}function s(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map((function(e){return String(e)})),r>2?\"one of \".concat(t,\" \").concat(e.slice(0,r-1).join(\", \"),\", or \")+e[r-1]:2===r?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}return\"of \".concat(t,\" \").concat(String(e))}i(\"ERR_INVALID_OPT_VALUE\",(function(e,t){return'The value \"'+t+'\" is invalid for option \"'+e+'\"'}),TypeError),i(\"ERR_INVALID_ARG_TYPE\",(function(e,t,r){var n,i,o,a;if(\"string\"==typeof t&&(i=\"not \",t.substr(!o||o<0?0:+o,i.length)===i)?(n=\"must not be\",t=t.replace(/^not /,\"\")):n=\"must be\",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}(e,\" argument\"))a=\"The \".concat(e,\" \").concat(n,\" \").concat(s(t,\"type\"));else{var l=function(e,t,r){return\"number\"!=typeof r&&(r=0),!(r+t.length>e.length)&&-1!==e.indexOf(t,r)}(e,\".\")?\"property\":\"argument\";a='The \"'.concat(e,'\" ').concat(l,\" \").concat(n,\" \").concat(s(t,\"type\"))}return a+=\". Received type \".concat(typeof r)}),TypeError),i(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\"),i(\"ERR_METHOD_NOT_IMPLEMENTED\",(function(e){return\"The \"+e+\" method is not implemented\"})),i(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\"),i(\"ERR_STREAM_DESTROYED\",(function(e){return\"Cannot call \"+e+\" after a stream was destroyed\"})),i(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\"),i(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\"),i(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\"),i(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError),i(\"ERR_UNKNOWN_ENCODING\",(function(e){return\"Unknown encoding: \"+e}),TypeError),i(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\"),t.exports.codes=n},{}],478:[function(e,t,r){(function(r){(function(){\"use strict\";var n=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};t.exports=c;var i=e(\"./_stream_readable\"),s=e(\"./_stream_writable\");e(\"inherits\")(c,i);for(var o=n(s.prototype),a=0;a<o.length;a++){var l=o[a];c.prototype[l]||(c.prototype[l]=s.prototype[l])}function c(e){if(!(this instanceof c))return new c(e);i.call(this,e),s.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once(\"end\",u)))}function u(){this._writableState.ended||r.nextTick(h,this)}function h(e){e.end()}Object.defineProperty(c.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(c.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(c.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(c.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}})}).call(this)}).call(this,e(\"_process\"))},{\"./_stream_readable\":480,\"./_stream_writable\":482,_process:467,inherits:440}],479:[function(e,t,r){\"use strict\";t.exports=i;var n=e(\"./_stream_transform\");function i(e){if(!(this instanceof i))return new i(e);n.call(this,e)}e(\"inherits\")(i,n),i.prototype._transform=function(e,t,r){r(null,e)}},{\"./_stream_transform\":481,inherits:440}],480:[function(e,t,r){(function(r,n){(function(){\"use strict\";var i;t.exports=M,M.ReadableState=S;e(\"events\").EventEmitter;var s=function(e,t){return e.listeners(t).length},o=e(\"./internal/streams/stream\"),a=e(\"buffer\").Buffer,l=(void 0!==n?n:\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:{}).Uint8Array||function(){};var c,u=e(\"util\");c=u&&u.debuglog?u.debuglog(\"stream\"):function(){};var h,f,d,p=e(\"./internal/streams/buffer_list\"),m=e(\"./internal/streams/destroy\"),b=e(\"./internal/streams/state\").getHighWaterMark,g=e(\"../errors\").codes,y=g.ERR_INVALID_ARG_TYPE,v=g.ERR_STREAM_PUSH_AFTER_EOF,w=g.ERR_METHOD_NOT_IMPLEMENTED,_=g.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;e(\"inherits\")(M,o);var x=m.errorOrDestroy,k=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function S(t,r,n){i=i||e(\"./_stream_duplex\"),t=t||{},\"boolean\"!=typeof n&&(n=r instanceof i),this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=b(this,t,\"readableHighWaterMark\",n),this.buffer=new p,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(h||(h=e(\"string_decoder/\").StringDecoder),this.decoder=new h(t.encoding),this.encoding=t.encoding)}function M(t){if(i=i||e(\"./_stream_duplex\"),!(this instanceof M))return new M(t);var r=this instanceof i;this._readableState=new S(t,this,r),this.readable=!0,t&&(\"function\"==typeof t.read&&(this._read=t.read),\"function\"==typeof t.destroy&&(this._destroy=t.destroy)),o.call(this)}function C(e,t,r,n,i){c(\"readableAddChunk\",t);var s,o=e._readableState;if(null===t)o.reading=!1,function(e,t){if(c(\"onEofChunk\"),t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?A(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,R(e)))}(e,o);else if(i||(s=function(e,t){var r;n=t,a.isBuffer(n)||n instanceof l||\"string\"==typeof t||void 0===t||e.objectMode||(r=new y(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],t));var n;return r}(o,t)),s)x(e,s);else if(o.objectMode||t&&t.length>0)if(\"string\"==typeof t||o.objectMode||Object.getPrototypeOf(t)===a.prototype||(t=function(e){return a.from(e)}(t)),n)o.endEmitted?x(e,new _):T(e,o,t,!0);else if(o.ended)x(e,new v);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!r?(t=o.decoder.write(t),o.objectMode||0!==t.length?T(e,o,t,!1):O(e,o)):T(e,o,t,!1)}else n||(o.reading=!1,O(e,o));return!o.ended&&(o.length<o.highWaterMark||0===o.length)}function T(e,t,r,n){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit(\"data\",r)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&A(e)),O(e,t)}Object.defineProperty(M.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),M.prototype.destroy=m.destroy,M.prototype._undestroy=m.undestroy,M.prototype._destroy=function(e,t){t(e)},M.prototype.push=function(e,t){var r,n=this._readableState;return n.objectMode?r=!0:\"string\"==typeof e&&((t=t||n.defaultEncoding)!==n.encoding&&(e=a.from(e,t),t=\"\"),r=!0),C(this,e,t,!1,r)},M.prototype.unshift=function(e){return C(this,e,null,!0,!1)},M.prototype.isPaused=function(){return!1===this._readableState.flowing},M.prototype.setEncoding=function(t){h||(h=e(\"string_decoder/\").StringDecoder);var r=new h(t);this._readableState.decoder=r,this._readableState.encoding=this._readableState.decoder.encoding;for(var n=this._readableState.buffer.head,i=\"\";null!==n;)i+=r.write(n.data),n=n.next;return this._readableState.buffer.clear(),\"\"!==i&&this._readableState.buffer.push(i),this._readableState.length=i.length,this};function E(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=1073741824?e=1073741824:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function A(e){var t=e._readableState;c(\"emitReadable\",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(c(\"emitReadable\",t.flowing),t.emittedReadable=!0,r.nextTick(R,e))}function R(e){var t=e._readableState;c(\"emitReadable_\",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit(\"readable\"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,B(e)}function O(e,t){t.readingMore||(t.readingMore=!0,r.nextTick(j,e,t))}function j(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var r=t.length;if(c(\"maybeReadMore read 0\"),e.read(0),r===t.length)break}t.readingMore=!1}function I(e){var t=e._readableState;t.readableListening=e.listenerCount(\"readable\")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount(\"data\")>0&&e.resume()}function N(e){c(\"readable nexttick read 0\"),e.read(0)}function P(e,t){c(\"resume\",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit(\"resume\"),B(e),t.flowing&&!t.reading&&e.read(0)}function B(e){var t=e._readableState;for(c(\"flow\",t.flowing);t.flowing&&null!==e.read(););}function D(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(\"\"):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function F(e){var t=e._readableState;c(\"endReadable\",t.endEmitted),t.endEmitted||(t.ended=!0,r.nextTick(L,t,e))}function L(e,t){if(c(\"endReadableNT\",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function z(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}M.prototype.read=function(e){c(\"read\",e),e=parseInt(e,10);var t=this._readableState,r=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return c(\"read: emitReadable\",t.length,t.ended),0===t.length&&t.ended?F(this):A(this),null;if(0===(e=E(e,t))&&t.ended)return 0===t.length&&F(this),null;var n,i=t.needReadable;return c(\"need readable\",i),(0===t.length||t.length-e<t.highWaterMark)&&c(\"length less than watermark\",i=!0),t.ended||t.reading?c(\"reading or ended\",i=!1):i&&(c(\"do read\"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=E(r,t))),null===(n=e>0?D(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&F(this)),null!==n&&this.emit(\"data\",n),n},M.prototype._read=function(e){x(this,new w(\"_read()\"))},M.prototype.pipe=function(e,t){var n=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,c(\"pipe count=%d opts=%j\",i.pipesCount,t);var o=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?l:b;function a(t,r){c(\"onunpipe\"),t===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,c(\"cleanup\"),e.removeListener(\"close\",p),e.removeListener(\"finish\",m),e.removeListener(\"drain\",u),e.removeListener(\"error\",d),e.removeListener(\"unpipe\",a),n.removeListener(\"end\",l),n.removeListener(\"end\",b),n.removeListener(\"data\",f),h=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||u())}function l(){c(\"onend\"),e.end()}i.endEmitted?r.nextTick(o):n.once(\"end\",o),e.on(\"unpipe\",a);var u=function(e){return function(){var t=e._readableState;c(\"pipeOnDrain\",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&s(e,\"data\")&&(t.flowing=!0,B(e))}}(n);e.on(\"drain\",u);var h=!1;function f(t){c(\"ondata\");var r=e.write(t);c(\"dest.write\",r),!1===r&&((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==z(i.pipes,e))&&!h&&(c(\"false write response, pause\",i.awaitDrain),i.awaitDrain++),n.pause())}function d(t){c(\"onerror\",t),b(),e.removeListener(\"error\",d),0===s(e,\"error\")&&x(e,t)}function p(){e.removeListener(\"finish\",m),b()}function m(){c(\"onfinish\"),e.removeListener(\"close\",p),b()}function b(){c(\"unpipe\"),n.unpipe(e)}return n.on(\"data\",f),function(e,t,r){if(\"function\"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,\"error\",d),e.once(\"close\",p),e.once(\"finish\",m),e.emit(\"pipe\",n),i.flowing||(c(\"pipe resume\"),n.resume()),e},M.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this,r)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var s=0;s<i;s++)n[s].emit(\"unpipe\",this,{hasUnpiped:!1});return this}var o=z(t.pipes,e);return-1===o||(t.pipes.splice(o,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit(\"unpipe\",this,r)),this},M.prototype.on=function(e,t){var n=o.prototype.on.call(this,e,t),i=this._readableState;return\"data\"===e?(i.readableListening=this.listenerCount(\"readable\")>0,!1!==i.flowing&&this.resume()):\"readable\"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,c(\"on readable\",i.length,i.reading),i.length?A(this):i.reading||r.nextTick(N,this))),n},M.prototype.addListener=M.prototype.on,M.prototype.removeListener=function(e,t){var n=o.prototype.removeListener.call(this,e,t);return\"readable\"===e&&r.nextTick(I,this),n},M.prototype.removeAllListeners=function(e){var t=o.prototype.removeAllListeners.apply(this,arguments);return\"readable\"!==e&&void 0!==e||r.nextTick(I,this),t},M.prototype.resume=function(){var e=this._readableState;return e.flowing||(c(\"resume\"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,r.nextTick(P,e,t))}(this,e)),e.paused=!1,this},M.prototype.pause=function(){return c(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(c(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this},M.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;for(var i in e.on(\"end\",(function(){if(c(\"wrapped end\"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on(\"data\",(function(i){(c(\"wrapped data\"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i)||(r.objectMode||i&&i.length)&&(t.push(i)||(n=!0,e.pause()))})),e)void 0===this[i]&&\"function\"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var s=0;s<k.length;s++)e.on(k[s],this.emit.bind(this,k[s]));return this._read=function(t){c(\"wrapped _read\",t),n&&(n=!1,e.resume())},this},\"function\"==typeof Symbol&&(M.prototype[Symbol.asyncIterator]=function(){return void 0===f&&(f=e(\"./internal/streams/async_iterator\")),f(this)}),Object.defineProperty(M.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(M.prototype,\"readableBuffer\",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(M.prototype,\"readableFlowing\",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),M._fromList=D,Object.defineProperty(M.prototype,\"readableLength\",{enumerable:!1,get:function(){return this._readableState.length}}),\"function\"==typeof Symbol&&(M.from=function(t,r){return void 0===d&&(d=e(\"./internal/streams/from\")),d(M,t,r)})}).call(this)}).call(this,e(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"../errors\":477,\"./_stream_duplex\":478,\"./internal/streams/async_iterator\":483,\"./internal/streams/buffer_list\":484,\"./internal/streams/destroy\":485,\"./internal/streams/from\":487,\"./internal/streams/state\":489,\"./internal/streams/stream\":490,_process:467,buffer:220,events:422,inherits:440,\"string_decoder/\":522,util:188}],481:[function(e,t,r){\"use strict\";t.exports=u;var n=e(\"../errors\").codes,i=n.ERR_METHOD_NOT_IMPLEMENTED,s=n.ERR_MULTIPLE_CALLBACK,o=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,a=n.ERR_TRANSFORM_WITH_LENGTH_0,l=e(\"./_stream_duplex\");function c(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(null===n)return this.emit(\"error\",new s);r.writechunk=null,r.writecb=null,null!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function u(e){if(!(this instanceof u))return new u(e);l.call(this,e),this._transformState={afterTransform:c.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(\"function\"==typeof e.transform&&(this._transform=e.transform),\"function\"==typeof e.flush&&(this._flush=e.flush)),this.on(\"prefinish\",h)}function h(){var e=this;\"function\"!=typeof this._flush||this._readableState.destroyed?f(this,null,null):this._flush((function(t,r){f(e,t,r)}))}function f(e,t,r){if(t)return e.emit(\"error\",t);if(null!=r&&e.push(r),e._writableState.length)throw new a;if(e._transformState.transforming)throw new o;return e.push(null)}e(\"inherits\")(u,l),u.prototype.push=function(e,t){return this._transformState.needTransform=!1,l.prototype.push.call(this,e,t)},u.prototype._transform=function(e,t,r){r(new i(\"_transform()\"))},u.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},u.prototype._read=function(e){var t=this._transformState;null===t.writechunk||t.transforming?t.needTransform=!0:(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform))},u.prototype._destroy=function(e,t){l.prototype._destroy.call(this,e,(function(e){t(e)}))}},{\"../errors\":477,\"./_stream_duplex\":478,inherits:440}],482:[function(e,t,r){(function(r,n){(function(){\"use strict\";function i(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,r){var n=e.entry;e.entry=null;for(;n;){var i=n.callback;t.pendingcb--,i(r),n=n.next}t.corkedRequestsFree.next=e}(t,e)}}var s;t.exports=M,M.WritableState=S;var o={deprecate:e(\"util-deprecate\")},a=e(\"./internal/streams/stream\"),l=e(\"buffer\").Buffer,c=(void 0!==n?n:\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:{}).Uint8Array||function(){};var u,h=e(\"./internal/streams/destroy\"),f=e(\"./internal/streams/state\").getHighWaterMark,d=e(\"../errors\").codes,p=d.ERR_INVALID_ARG_TYPE,m=d.ERR_METHOD_NOT_IMPLEMENTED,b=d.ERR_MULTIPLE_CALLBACK,g=d.ERR_STREAM_CANNOT_PIPE,y=d.ERR_STREAM_DESTROYED,v=d.ERR_STREAM_NULL_VALUES,w=d.ERR_STREAM_WRITE_AFTER_END,_=d.ERR_UNKNOWN_ENCODING,x=h.errorOrDestroy;function k(){}function S(t,n,o){s=s||e(\"./_stream_duplex\"),t=t||{},\"boolean\"!=typeof o&&(o=n instanceof s),this.objectMode=!!t.objectMode,o&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=f(this,t,\"writableHighWaterMark\",o),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===t.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=t.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,i=n.sync,s=n.writecb;if(\"function\"!=typeof s)throw new b;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,i,s){--t.pendingcb,n?(r.nextTick(s,i),r.nextTick(O,e,t),e._writableState.errorEmitted=!0,x(e,i)):(s(i),e._writableState.errorEmitted=!0,x(e,i),O(e,t))}(e,n,i,t,s);else{var o=A(n)||e.destroyed;o||n.corked||n.bufferProcessing||!n.bufferedRequest||E(e,n),i?r.nextTick(T,e,n,o,s):T(e,n,o,s)}}(n,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new i(this)}function M(t){var r=this instanceof(s=s||e(\"./_stream_duplex\"));if(!r&&!u.call(M,this))return new M(t);this._writableState=new S(t,this,r),this.writable=!0,t&&(\"function\"==typeof t.write&&(this._write=t.write),\"function\"==typeof t.writev&&(this._writev=t.writev),\"function\"==typeof t.destroy&&(this._destroy=t.destroy),\"function\"==typeof t.final&&(this._final=t.final)),a.call(this)}function C(e,t,r,n,i,s,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new y(\"write\")):r?e._writev(i,t.onwrite):e._write(i,s,t.onwrite),t.sync=!1}function T(e,t,r,n){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit(\"drain\"))}(e,t),t.pendingcb--,n(),O(e,t)}function E(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,s=new Array(n),o=t.corkedRequestsFree;o.entry=r;for(var a=0,l=!0;r;)s[a]=r,r.isBuf||(l=!1),r=r.next,a+=1;s.allBuffers=l,C(e,t,!0,t.length,s,\"\",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new i(t),t.bufferedRequestCount=0}else{for(;r;){var c=r.chunk,u=r.encoding,h=r.callback;if(C(e,t,!1,t.objectMode?1:c.length,c,u,h),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function A(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function R(e,t){e._final((function(r){t.pendingcb--,r&&x(e,r),t.prefinished=!0,e.emit(\"prefinish\"),O(e,t)}))}function O(e,t){var n=A(t);if(n&&(function(e,t){t.prefinished||t.finalCalled||(\"function\"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit(\"prefinish\")):(t.pendingcb++,t.finalCalled=!0,r.nextTick(R,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit(\"finish\"),t.autoDestroy))){var i=e._readableState;(!i||i.autoDestroy&&i.endEmitted)&&e.destroy()}return n}e(\"inherits\")(M,a),S.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(S.prototype,\"buffer\",{get:o.deprecate((function(){return this.getBuffer()}),\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(e){}}(),\"function\"==typeof Symbol&&Symbol.hasInstance&&\"function\"==typeof Function.prototype[Symbol.hasInstance]?(u=Function.prototype[Symbol.hasInstance],Object.defineProperty(M,Symbol.hasInstance,{value:function(e){return!!u.call(this,e)||this===M&&(e&&e._writableState instanceof S)}})):u=function(e){return e instanceof this},M.prototype.pipe=function(){x(this,new g)},M.prototype.write=function(e,t,n){var i,s=this._writableState,o=!1,a=!s.objectMode&&(i=e,l.isBuffer(i)||i instanceof c);return a&&!l.isBuffer(e)&&(e=function(e){return l.from(e)}(e)),\"function\"==typeof t&&(n=t,t=null),a?t=\"buffer\":t||(t=s.defaultEncoding),\"function\"!=typeof n&&(n=k),s.ending?function(e,t){var n=new w;x(e,n),r.nextTick(t,n)}(this,n):(a||function(e,t,n,i){var s;return null===n?s=new v:\"string\"==typeof n||t.objectMode||(s=new p(\"chunk\",[\"string\",\"Buffer\"],n)),!s||(x(e,s),r.nextTick(i,s),!1)}(this,s,e,n))&&(s.pendingcb++,o=function(e,t,r,n,i,s){if(!r){var o=function(e,t,r){e.objectMode||!1===e.decodeStrings||\"string\"!=typeof t||(t=l.from(t,r));return t}(t,n,i);n!==o&&(r=!0,i=\"buffer\",n=o)}var a=t.objectMode?1:n.length;t.length+=a;var c=t.length<t.highWaterMark;c||(t.needDrain=!0);if(t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:s,next:null},u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else C(e,t,!1,a,n,i,s);return c}(this,s,a,e,t,n)),o},M.prototype.cork=function(){this._writableState.corked++},M.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||E(this,e))},M.prototype.setDefaultEncoding=function(e){if(\"string\"==typeof e&&(e=e.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((e+\"\").toLowerCase())>-1))throw new _(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(M.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(M.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),M.prototype._write=function(e,t,r){r(new m(\"_write()\"))},M.prototype._writev=null,M.prototype.end=function(e,t,n){var i=this._writableState;return\"function\"==typeof e?(n=e,e=null,t=null):\"function\"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||function(e,t,n){t.ending=!0,O(e,t),n&&(t.finished?r.nextTick(n):e.once(\"finish\",n));t.ended=!0,e.writable=!1}(this,i,n),this},Object.defineProperty(M.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(M.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),M.prototype.destroy=h.destroy,M.prototype._undestroy=h.undestroy,M.prototype._destroy=function(e,t){t(e)}}).call(this)}).call(this,e(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"../errors\":477,\"./_stream_duplex\":478,\"./internal/streams/destroy\":485,\"./internal/streams/state\":489,\"./internal/streams/stream\":490,_process:467,buffer:220,inherits:440,\"util-deprecate\":524}],483:[function(e,t,r){(function(r){(function(){\"use strict\";var n;function i(e,t,r){return(t=function(e){var t=function(e,t){if(\"object\"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||\"default\");if(\"object\"!=typeof n)return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var s=e(\"./end-of-stream\"),o=Symbol(\"lastResolve\"),a=Symbol(\"lastReject\"),l=Symbol(\"error\"),c=Symbol(\"ended\"),u=Symbol(\"lastPromise\"),h=Symbol(\"handlePromise\"),f=Symbol(\"stream\");function d(e,t){return{value:e,done:t}}function p(e){var t=e[o];if(null!==t){var r=e[f].read();null!==r&&(e[u]=null,e[o]=null,e[a]=null,t(d(r,!1)))}}function m(e){r.nextTick(p,e)}var b=Object.getPrototypeOf((function(){})),g=Object.setPrototypeOf((i(n={get stream(){return this[f]},next:function(){var e=this,t=this[l];if(null!==t)return Promise.reject(t);if(this[c])return Promise.resolve(d(void 0,!0));if(this[f].destroyed)return new Promise((function(t,n){r.nextTick((function(){e[l]?n(e[l]):t(d(void 0,!0))}))}));var n,i=this[u];if(i)n=new Promise(function(e,t){return function(r,n){e.then((function(){t[c]?r(d(void 0,!0)):t[h](r,n)}),n)}}(i,this));else{var s=this[f].read();if(null!==s)return Promise.resolve(d(s,!1));n=new Promise(this[h])}return this[u]=n,n}},Symbol.asyncIterator,(function(){return this})),i(n,\"return\",(function(){var e=this;return new Promise((function(t,r){e[f].destroy(null,(function(e){e?r(e):t(d(void 0,!0))}))}))})),n),b);t.exports=function(e){var t,r=Object.create(g,(i(t={},f,{value:e,writable:!0}),i(t,o,{value:null,writable:!0}),i(t,a,{value:null,writable:!0}),i(t,l,{value:null,writable:!0}),i(t,c,{value:e._readableState.endEmitted,writable:!0}),i(t,h,{value:function(e,t){var n=r[f].read();n?(r[u]=null,r[o]=null,r[a]=null,e(d(n,!1))):(r[o]=e,r[a]=t)},writable:!0}),t));return r[u]=null,s(e,(function(e){if(e&&\"ERR_STREAM_PREMATURE_CLOSE\"!==e.code){var t=r[a];return null!==t&&(r[u]=null,r[o]=null,r[a]=null,t(e)),void(r[l]=e)}var n=r[o];null!==n&&(r[u]=null,r[o]=null,r[a]=null,n(d(void 0,!0))),r[c]=!0})),e.on(\"readable\",m.bind(null,r)),r}}).call(this)}).call(this,e(\"_process\"))},{\"./end-of-stream\":486,_process:467}],484:[function(e,t,r){\"use strict\";function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){s(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t,r){return(t=a(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,a(n.key),n)}}function a(e){var t=function(e,t){if(\"object\"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||\"default\");if(\"object\"!=typeof n)return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==typeof t?t:String(t)}var l=e(\"buffer\").Buffer,c=e(\"util\").inspect,u=c&&c.custom||\"inspect\";t.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.head=null,this.tail=null,this.length=0}var t,r,n;return t=e,(r=[{key:\"push\",value:function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:\"unshift\",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:\"shift\",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(e){if(0===this.length)return\"\";for(var t=this.head,r=\"\"+t.data;t=t.next;)r+=e+t.data;return r}},{key:\"concat\",value:function(e){if(0===this.length)return l.alloc(0);for(var t,r,n,i=l.allocUnsafe(e>>>0),s=this.head,o=0;s;)t=s.data,r=i,n=o,l.prototype.copy.call(t,r,n),o+=s.data.length,s=s.next;return i}},{key:\"consume\",value:function(e,t){var r;return e<this.head.data.length?(r=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):r=e===this.head.data.length?this.shift():t?this._getString(e):this._getBuffer(e),r}},{key:\"first\",value:function(){return this.head.data}},{key:\"_getString\",value:function(e){var t=this.head,r=1,n=t.data;for(e-=n.length;t=t.next;){var i=t.data,s=e>i.length?i.length:e;if(s===i.length?n+=i:n+=i.slice(0,e),0==(e-=s)){s===i.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(s));break}++r}return this.length-=r,n}},{key:\"_getBuffer\",value:function(e){var t=l.allocUnsafe(e),r=this.head,n=1;for(r.data.copy(t),e-=r.data.length;r=r.next;){var i=r.data,s=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,s),0==(e-=s)){s===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(s));break}++n}return this.length-=n,t}},{key:u,value:function(e,t){return c(this,i(i({},t),{},{depth:0,customInspect:!1}))}}])&&o(t.prototype,r),n&&o(t,n),Object.defineProperty(t,\"prototype\",{writable:!1}),e}()},{buffer:220,util:188}],485:[function(e,t,r){(function(e){(function(){\"use strict\";function r(e,t){i(e,t),n(e)}function n(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit(\"close\")}function i(e,t){e.emit(\"error\",t)}t.exports={destroy:function(t,s){var o=this,a=this._readableState&&this._readableState.destroyed,l=this._writableState&&this._writableState.destroyed;return a||l?(s?s(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,e.nextTick(i,this,t)):e.nextTick(i,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!s&&t?o._writableState?o._writableState.errorEmitted?e.nextTick(n,o):(o._writableState.errorEmitted=!0,e.nextTick(r,o,t)):e.nextTick(r,o,t):s?(e.nextTick(n,o),s(t)):e.nextTick(n,o)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit(\"error\",t)}}}).call(this)}).call(this,e(\"_process\"))},{_process:467}],486:[function(e,t,r){\"use strict\";var n=e(\"../../../errors\").codes.ERR_STREAM_PREMATURE_CLOSE;function i(){}t.exports=function e(t,r,s){if(\"function\"==typeof r)return e(t,null,r);r||(r={}),s=function(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];e.apply(this,n)}}}(s||i);var o=r.readable||!1!==r.readable&&t.readable,a=r.writable||!1!==r.writable&&t.writable,l=function(){t.writable||u()},c=t._writableState&&t._writableState.finished,u=function(){a=!1,c=!0,o||s.call(t)},h=t._readableState&&t._readableState.endEmitted,f=function(){o=!1,h=!0,a||s.call(t)},d=function(e){s.call(t,e)},p=function(){var e;return o&&!h?(t._readableState&&t._readableState.ended||(e=new n),s.call(t,e)):a&&!c?(t._writableState&&t._writableState.ended||(e=new n),s.call(t,e)):void 0},m=function(){t.req.on(\"finish\",u)};return!function(e){return e.setHeader&&\"function\"==typeof e.abort}(t)?a&&!t._writableState&&(t.on(\"end\",l),t.on(\"close\",l)):(t.on(\"complete\",u),t.on(\"abort\",p),t.req?m():t.on(\"request\",m)),t.on(\"end\",f),t.on(\"finish\",u),!1!==r.error&&t.on(\"error\",d),t.on(\"close\",p),function(){t.removeListener(\"complete\",u),t.removeListener(\"abort\",p),t.removeListener(\"request\",m),t.req&&t.req.removeListener(\"finish\",u),t.removeListener(\"end\",l),t.removeListener(\"close\",l),t.removeListener(\"finish\",u),t.removeListener(\"end\",f),t.removeListener(\"error\",d),t.removeListener(\"close\",p)}}},{\"../../../errors\":477}],487:[function(e,t,r){\"use strict\";t.exports=function(){throw new Error(\"Readable.from is not available in the browser\")}},{}],488:[function(e,t,r){\"use strict\";var n;var i=e(\"../../../errors\").codes,s=i.ERR_MISSING_ARGS,o=i.ERR_STREAM_DESTROYED;function a(e){if(e)throw e}function l(t,r,i,s){s=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(s);var a=!1;t.on(\"close\",(function(){a=!0})),void 0===n&&(n=e(\"./end-of-stream\")),n(t,{readable:r,writable:i},(function(e){if(e)return s(e);a=!0,s()}));var l=!1;return function(e){if(!a&&!l)return l=!0,function(e){return e.setHeader&&\"function\"==typeof e.abort}(t)?t.abort():\"function\"==typeof t.destroy?t.destroy():void s(e||new o(\"pipe\"))}}function c(e){e()}function u(e,t){return e.pipe(t)}function h(e){return e.length?\"function\"!=typeof e[e.length-1]?a:e.pop():a}t.exports=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n,i=h(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new s(\"streams\");var o=t.map((function(e,r){var s=r<t.length-1;return l(e,s,r>0,(function(e){n||(n=e),e&&o.forEach(c),s||(o.forEach(c),i(n))}))}));return t.reduce(u)}},{\"../../../errors\":477,\"./end-of-stream\":486}],489:[function(e,t,r){\"use strict\";var n=e(\"../../../errors\").codes.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(e,t,r,i){var s=function(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}(t,i,r);if(null!=s){if(!isFinite(s)||Math.floor(s)!==s||s<0)throw new n(i?r:\"highWaterMark\",s);return Math.floor(s)}return e.objectMode?16:16384}}},{\"../../../errors\":477}],490:[function(e,t,r){\"use strict\";t.exports=e(\"events\").EventEmitter},{events:422}],491:[function(e,t,r){\"use strict\";(r=t.exports=e(\"./lib/_stream_readable.js\")).Stream=r,r.Readable=r,r.Writable=e(\"./lib/_stream_writable.js\"),r.Duplex=e(\"./lib/_stream_duplex.js\"),r.Transform=e(\"./lib/_stream_transform.js\"),r.PassThrough=e(\"./lib/_stream_passthrough.js\"),r.finished=e(\"./lib/internal/streams/end-of-stream.js\"),r.pipeline=e(\"./lib/internal/streams/pipeline.js\")},{\"./lib/_stream_duplex.js\":478,\"./lib/_stream_passthrough.js\":479,\"./lib/_stream_readable.js\":480,\"./lib/_stream_transform.js\":481,\"./lib/_stream_writable.js\":482,\"./lib/internal/streams/end-of-stream.js\":486,\"./lib/internal/streams/pipeline.js\":488}],492:[function(e,t,r){\"use strict\";var n=function(e){var t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},i=\"function\"==typeof Symbol?Symbol:{},s=i.iterator||\"@@iterator\",o=i.asyncIterator||\"@@asyncIterator\",a=i.toStringTag||\"@@toStringTag\";function l(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},\"\")}catch(e){l=function(e,t,r){return e[t]=r}}function c(e,t,r,i){var s=t&&t.prototype instanceof f?t:f,o=Object.create(s.prototype),a=new M(i||[]);return n(o,\"_invoke\",{value:_(e,r,a)}),o}function u(e,t,r){try{return{type:\"normal\",arg:e.call(t,r)}}catch(e){return{type:\"throw\",arg:e}}}e.wrap=c;var h={};function f(){}function d(){}function p(){}var m={};l(m,s,(function(){return this}));var b=Object.getPrototypeOf,g=b&&b(b(C([])));g&&g!==t&&r.call(g,s)&&(m=g);var y=p.prototype=f.prototype=Object.create(m);function v(e){[\"next\",\"throw\",\"return\"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function w(e,t){var i;n(this,\"_invoke\",{value:function(n,s){function o(){return new t((function(i,o){!function n(i,s,o,a){var l=u(e[i],e,s);if(\"throw\"!==l.type){var c=l.arg,h=c.value;return h&&\"object\"==typeof h&&r.call(h,\"__await\")?t.resolve(h.__await).then((function(e){n(\"next\",e,o,a)}),(function(e){n(\"throw\",e,o,a)})):t.resolve(h).then((function(e){c.value=e,o(c)}),(function(e){return n(\"throw\",e,o,a)}))}a(l.arg)}(n,s,i,o)}))}return i=i?i.then(o,o):o()}})}function _(e,t,r){var n=\"suspendedStart\";return function(i,s){if(\"executing\"===n)throw new Error(\"Generator is already running\");if(\"completed\"===n){if(\"throw\"===i)throw s;return T()}for(r.method=i,r.arg=s;;){var o=r.delegate;if(o){var a=x(o,r);if(a){if(a===h)continue;return a}}if(\"next\"===r.method)r.sent=r._sent=r.arg;else if(\"throw\"===r.method){if(\"suspendedStart\"===n)throw n=\"completed\",r.arg;r.dispatchException(r.arg)}else\"return\"===r.method&&r.abrupt(\"return\",r.arg);n=\"executing\";var l=u(e,t,r);if(\"normal\"===l.type){if(n=r.done?\"completed\":\"suspendedYield\",l.arg===h)continue;return{value:l.arg,done:r.done}}\"throw\"===l.type&&(n=\"completed\",r.method=\"throw\",r.arg=l.arg)}}}function x(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,\"throw\"===r&&e.iterator.return&&(t.method=\"return\",t.arg=void 0,x(e,t),\"throw\"===t.method)||\"return\"!==r&&(t.method=\"throw\",t.arg=new TypeError(\"The iterator does not provide a '\"+r+\"' method\")),h;var i=u(n,e.iterator,t.arg);if(\"throw\"===i.type)return t.method=\"throw\",t.arg=i.arg,t.delegate=null,h;var s=i.arg;return s?s.done?(t[e.resultName]=s.value,t.next=e.nextLoc,\"return\"!==t.method&&(t.method=\"next\",t.arg=void 0),t.delegate=null,h):s:(t.method=\"throw\",t.arg=new TypeError(\"iterator result is not an object\"),t.delegate=null,h)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type=\"normal\",delete t.arg,e.completion=t}function M(e){this.tryEntries=[{tryLoc:\"root\"}],e.forEach(k,this),this.reset(!0)}function C(e){if(e){var t=e[s];if(t)return t.call(e);if(\"function\"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:T}}function T(){return{value:void 0,done:!0}}return d.prototype=p,n(y,\"constructor\",{value:p,configurable:!0}),n(p,\"constructor\",{value:d,configurable:!0}),d.displayName=l(p,a,\"GeneratorFunction\"),e.isGeneratorFunction=function(e){var t=\"function\"==typeof e&&e.constructor;return!!t&&(t===d||\"GeneratorFunction\"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,l(e,a,\"GeneratorFunction\")),e.prototype=Object.create(y),e},e.awrap=function(e){return{__await:e}},v(w.prototype),l(w.prototype,o,(function(){return this})),e.AsyncIterator=w,e.async=function(t,r,n,i,s){void 0===s&&(s=Promise);var o=new w(c(t,r,n,i),s);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},v(y),l(y,a,\"Generator\"),l(y,s,(function(){return this})),l(y,\"toString\",(function(){return\"[object Generator]\"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=C,M.prototype={constructor:M,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(S),!e)for(var t in this)\"t\"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if(\"throw\"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type=\"throw\",o.arg=e,t.next=r,n&&(t.method=\"next\",t.arg=void 0),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var s=this.tryEntries[i],o=s.completion;if(\"root\"===s.tryLoc)return n(\"end\");if(s.tryLoc<=this.prev){var a=r.call(s,\"catchLoc\"),l=r.call(s,\"finallyLoc\");if(a&&l){if(this.prev<s.catchLoc)return n(s.catchLoc,!0);if(this.prev<s.finallyLoc)return n(s.finallyLoc)}else if(a){if(this.prev<s.catchLoc)return n(s.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<s.finallyLoc)return n(s.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,\"finallyLoc\")&&this.prev<i.finallyLoc){var s=i;break}}s&&(\"break\"===e||\"continue\"===e)&&s.tryLoc<=t&&t<=s.finallyLoc&&(s=null);var o=s?s.completion:{};return o.type=e,o.arg=t,s?(this.method=\"next\",this.next=s.finallyLoc,h):this.complete(o)},complete:function(e,t){if(\"throw\"===e.type)throw e.arg;return\"break\"===e.type||\"continue\"===e.type?this.next=e.arg:\"return\"===e.type?(this.rval=this.arg=e.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if(\"throw\"===n.type){var i=n.arg;S(r)}return i}}throw new Error(\"illegal catch attempt\")},delegateYield:function(e,t,r){return this.delegate={iterator:C(e),resultName:t,nextLoc:r},\"next\"===this.method&&(this.arg=void 0),h}},e}(\"object\"==typeof t?t.exports:{});try{regeneratorRuntime=n}catch(e){\"object\"==typeof globalThis?globalThis.regeneratorRuntime=n:Function(\"r\",\"regeneratorRuntime = r\")(n)}},{}],493:[function(e,t,r){\"use strict\";var n=e(\"buffer\").Buffer,i=e(\"inherits\"),s=e(\"hash-base\"),o=new Array(16),a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],l=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],c=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],u=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],h=[0,1518500249,1859775393,2400959708,2840853838],f=[1352829926,1548603684,1836072691,2053994217,0];function d(){s.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function p(e,t){return e<<t|e>>>32-t}function m(e,t,r,n,i,s,o,a){return p(e+(t^r^n)+s+o|0,a)+i|0}function b(e,t,r,n,i,s,o,a){return p(e+(t&r|~t&n)+s+o|0,a)+i|0}function g(e,t,r,n,i,s,o,a){return p(e+((t|~r)^n)+s+o|0,a)+i|0}function y(e,t,r,n,i,s,o,a){return p(e+(t&n|r&~n)+s+o|0,a)+i|0}function v(e,t,r,n,i,s,o,a){return p(e+(t^(r|~n))+s+o|0,a)+i|0}i(d,s),d.prototype._update=function(){for(var e=o,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);for(var r=0|this._a,n=0|this._b,i=0|this._c,s=0|this._d,d=0|this._e,w=0|this._a,_=0|this._b,x=0|this._c,k=0|this._d,S=0|this._e,M=0;M<80;M+=1){var C,T;M<16?(C=m(r,n,i,s,d,e[a[M]],h[0],c[M]),T=v(w,_,x,k,S,e[l[M]],f[0],u[M])):M<32?(C=b(r,n,i,s,d,e[a[M]],h[1],c[M]),T=y(w,_,x,k,S,e[l[M]],f[1],u[M])):M<48?(C=g(r,n,i,s,d,e[a[M]],h[2],c[M]),T=g(w,_,x,k,S,e[l[M]],f[2],u[M])):M<64?(C=y(r,n,i,s,d,e[a[M]],h[3],c[M]),T=b(w,_,x,k,S,e[l[M]],f[3],u[M])):(C=v(r,n,i,s,d,e[a[M]],h[4],c[M]),T=m(w,_,x,k,S,e[l[M]],f[4],u[M])),r=d,d=s,s=p(i,10),i=n,n=C,w=S,S=k,k=p(x,10),x=_,_=T}var E=this._b+i+k|0;this._b=this._c+s+S|0,this._c=this._d+d+w|0,this._d=this._e+r+_|0,this._e=this._a+n+x|0,this._a=E},d.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=n.alloc?n.alloc(20):new n(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},t.exports=d},{buffer:220,\"hash-base\":425,inherits:440}],494:[function(e,t,r){\"use strict\";\n/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var n=e(\"buffer\"),i=n.Buffer;function s(e,t){for(var r in e)t[r]=e[r]}function o(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(s(n,r),r.Buffer=o),o.prototype=Object.create(i.prototype),s(i,o),o.from=function(e,t,r){if(\"number\"==typeof e)throw new TypeError(\"Argument must not be a number\");return i(e,t,r)},o.alloc=function(e,t,r){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");var n=i(e);return void 0!==t?\"string\"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},o.allocUnsafe=function(e){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");return i(e)},o.allocUnsafeSlow=function(e){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");return n.SlowBuffer(e)}},{buffer:220}],495:[function(e,t,r){(function(r){(function(){\"use strict\";var n,i=e(\"buffer\"),s=i.Buffer,o={};for(n in i)i.hasOwnProperty(n)&&\"SlowBuffer\"!==n&&\"Buffer\"!==n&&(o[n]=i[n]);var a=o.Buffer={};for(n in s)s.hasOwnProperty(n)&&\"allocUnsafe\"!==n&&\"allocUnsafeSlow\"!==n&&(a[n]=s[n]);if(o.Buffer.prototype=s.prototype,a.from&&a.from!==Uint8Array.from||(a.from=function(e,t,r){if(\"number\"==typeof e)throw new TypeError('The \"value\" argument must not be of type number. Received type '+typeof e);if(e&&void 0===e.length)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e);return s(e,t,r)}),a.alloc||(a.alloc=function(e,t,r){if(\"number\"!=typeof e)throw new TypeError('The \"size\" argument must be of type number. Received type '+typeof e);if(e<0||e>=2*(1<<30))throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"');var n=s(e);return t&&0!==t.length?\"string\"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n}),!o.kStringMaxLength)try{o.kStringMaxLength=r.binding(\"buffer\").kStringMaxLength}catch(e){}o.constants||(o.constants={MAX_LENGTH:o.kMaxLength},o.kStringMaxLength&&(o.constants.MAX_STRING_LENGTH=o.kStringMaxLength)),t.exports=o}).call(this)}).call(this,e(\"_process\"))},{_process:467,buffer:220}],496:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});const n=e(\"xmlchars/xml/1.0/ed5\"),i=e(\"xmlchars/xml/1.1/ed2\"),s=e(\"xmlchars/xmlns/1.0/ed3\");var o=n.isS,a=n.isChar,l=n.isNameStartChar,c=n.isNameChar,u=n.S_LIST,h=n.NAME_RE,f=i.isChar,d=s.isNCNameStartChar,p=s.isNCNameChar,m=s.NC_NAME_RE;const b=\"http://www.w3.org/XML/1998/namespace\",g=\"http://www.w3.org/2000/xmlns/\",y={__proto__:null,xml:b,xmlns:g},v={__proto__:null,amp:\"&\",gt:\">\",lt:\"<\",quot:'\"',apos:\"'\"},w=e=>34===e||39===e,_=[34,39],x=[..._,91,62],k=[..._,60,93],S=[61,63,...u],M=[...u,62,38,60];function C(e,t,r){switch(t){case\"xml\":r!==b&&e.fail(`xml prefix must be bound to ${b}.`);break;case\"xmlns\":r!==g&&e.fail(`xmlns prefix must be bound to ${g}.`)}switch(r){case g:e.fail(\"\"===t?`the default namespace may not be set to ${r}.`:`may not assign a prefix (even \"xmlns\") to the URI ${g}.`);break;case b:switch(t){case\"xml\":break;case\"\":e.fail(`the default namespace may not be set to ${r}.`);break;default:e.fail(\"may not assign the xml namespace to another prefix.\")}}}const T=e=>m.test(e),E=e=>h.test(e);r.EVENTS=[\"xmldecl\",\"text\",\"processinginstruction\",\"doctype\",\"comment\",\"opentagstart\",\"attribute\",\"opentag\",\"closetag\",\"cdata\",\"error\",\"end\",\"ready\"];const A={xmldecl:\"xmldeclHandler\",text:\"textHandler\",processinginstruction:\"piHandler\",doctype:\"doctypeHandler\",comment:\"commentHandler\",opentagstart:\"openTagStartHandler\",attribute:\"attributeHandler\",opentag:\"openTagHandler\",closetag:\"closeTagHandler\",cdata:\"cdataHandler\",error:\"errorHandler\",end:\"endHandler\",ready:\"readyHandler\"};r.SaxesParser=class{constructor(e){this.opt=null!=e?e:{},this.fragmentOpt=!!this.opt.fragment;const t=this.xmlnsOpt=!!this.opt.xmlns;if(this.trackPosition=!1!==this.opt.position,this.fileName=this.opt.fileName,t){this.nameStartCheck=d,this.nameCheck=p,this.isName=T,this.processAttribs=this.processAttribsNS,this.pushAttrib=this.pushAttribNS,this.ns=Object.assign({__proto__:null},y);const e=this.opt.additionalNamespaces;null!=e&&(!function(e,t){for(const r of Object.keys(t))C(e,r,t[r])}(this,e),Object.assign(this.ns,e))}else this.nameStartCheck=l,this.nameCheck=c,this.isName=E,this.processAttribs=this.processAttribsPlain,this.pushAttrib=this.pushAttribPlain;this.stateTable=[this.sBegin,this.sBeginWhitespace,this.sDoctype,this.sDoctypeQuote,this.sDTD,this.sDTDQuoted,this.sDTDOpenWaka,this.sDTDOpenWakaBang,this.sDTDComment,this.sDTDCommentEnding,this.sDTDCommentEnded,this.sDTDPI,this.sDTDPIEnding,this.sText,this.sEntity,this.sOpenWaka,this.sOpenWakaBang,this.sComment,this.sCommentEnding,this.sCommentEnded,this.sCData,this.sCDataEnding,this.sCDataEnding2,this.sPIFirstChar,this.sPIRest,this.sPIBody,this.sPIEnding,this.sXMLDeclNameStart,this.sXMLDeclName,this.sXMLDeclEq,this.sXMLDeclValueStart,this.sXMLDeclValue,this.sXMLDeclSeparator,this.sXMLDeclEnding,this.sOpenTag,this.sOpenTagSlash,this.sAttrib,this.sAttribName,this.sAttribNameSawWhite,this.sAttribValue,this.sAttribValueQuoted,this.sAttribValueClosed,this.sAttribValueUnquoted,this.sCloseTag,this.sCloseTagSawWhite],this._init()}get closed(){return this._closed}_init(){var e;this.openWakaBang=\"\",this.text=\"\",this.name=\"\",this.piTarget=\"\",this.entity=\"\",this.q=null,this.tags=[],this.tag=null,this.topNS=null,this.chunk=\"\",this.chunkPosition=0,this.i=0,this.prevI=0,this.carriedFromPrevious=void 0,this.forbiddenState=0,this.attribList=[];const{fragmentOpt:t}=this;this.state=t?13:0,this.reportedTextBeforeRoot=this.reportedTextAfterRoot=this.closedRoot=this.sawRoot=t,this.xmlDeclPossible=!t,this.xmlDeclExpects=[\"version\"],this.entityReturnState=void 0;let{defaultXMLVersion:r}=this.opt;if(void 0===r){if(!0===this.opt.forceXMLVersion)throw new Error(\"forceXMLVersion set but defaultXMLVersion is not set\");r=\"1.0\"}this.setXMLVersion(r),this.positionAtNewLine=0,this.doctype=!1,this._closed=!1,this.xmlDecl={version:void 0,encoding:void 0,standalone:void 0},this.line=1,this.column=0,this.ENTITIES=Object.create(v),null===(e=this.readyHandler)||void 0===e||e.call(this)}get position(){return this.chunkPosition+this.i}get columnIndex(){return this.position-this.positionAtNewLine}on(e,t){this[A[e]]=t}off(e){this[A[e]]=void 0}makeError(e){var t;let r=null!==(t=this.fileName)&&void 0!==t?t:\"\";return this.trackPosition&&(r.length>0&&(r+=\":\"),r+=`${this.line}:${this.column}`),r.length>0&&(r+=\": \"),new Error(r+e)}fail(e){const t=this.makeError(e),r=this.errorHandler;if(void 0===r)throw t;return r(t),this}write(e){if(this.closed)return this.fail(\"cannot write after close; assign an onready handler.\");let t=!1;null===e?(t=!0,e=\"\"):\"object\"==typeof e&&(e=e.toString()),void 0!==this.carriedFromPrevious&&(e=`${this.carriedFromPrevious}${e}`,this.carriedFromPrevious=void 0);let r=e.length;const n=e.charCodeAt(r-1);!t&&(13===n||n>=55296&&n<=56319)&&(this.carriedFromPrevious=e[r-1],r--,e=e.slice(0,r));const{stateTable:i}=this;for(this.chunk=e,this.i=0;this.i<r;)i[this.state].call(this);return this.chunkPosition+=r,t?this.end():this}close(){return this.write(null)}getCode10(){const{chunk:e,i:t}=this;if(this.prevI=t,this.i=t+1,t>=e.length)return-1;const r=e.charCodeAt(t);if(this.column++,r<55296){if(r>=32||9===r)return r;switch(r){case 10:return this.line++,this.column=0,this.positionAtNewLine=this.position,10;case 13:return 10===e.charCodeAt(t+1)&&(this.i=t+2),this.line++,this.column=0,this.positionAtNewLine=this.position,-2;default:return this.fail(\"disallowed character.\"),r}}if(r>56319)return r>=57344&&r<=65533||this.fail(\"disallowed character.\"),r;const n=65536+1024*(r-55296)+(e.charCodeAt(t+1)-56320);return this.i=t+2,n>1114111&&this.fail(\"disallowed character.\"),n}getCode11(){const{chunk:e,i:t}=this;if(this.prevI=t,this.i=t+1,t>=e.length)return-1;const r=e.charCodeAt(t);if(this.column++,r<55296){if(r>31&&r<127||r>159&&8232!==r||9===r)return r;switch(r){case 10:return this.line++,this.column=0,this.positionAtNewLine=this.position,10;case 13:{const r=e.charCodeAt(t+1);10!==r&&133!==r||(this.i=t+2)}case 133:case 8232:return this.line++,this.column=0,this.positionAtNewLine=this.position,-2;default:return this.fail(\"disallowed character.\"),r}}if(r>56319)return r>=57344&&r<=65533||this.fail(\"disallowed character.\"),r;const n=65536+1024*(r-55296)+(e.charCodeAt(t+1)-56320);return this.i=t+2,n>1114111&&this.fail(\"disallowed character.\"),n}getCodeNorm(){const e=this.getCode();return-2===e?10:e}unget(){this.i=this.prevI,this.column--}captureTo(e){let{i:t}=this;const{chunk:r}=this;for(;;){const n=this.getCode(),i=-2===n,s=i?10:n;if(-1===s||e.includes(s))return this.text+=r.slice(t,this.prevI),s;i&&(this.text+=r.slice(t,this.prevI)+\"\\n\",t=this.i)}}captureToChar(e){let{i:t}=this;const{chunk:r}=this;for(;;){let n=this.getCode();switch(n){case-2:this.text+=r.slice(t,this.prevI)+\"\\n\",t=this.i,n=10;break;case-1:return this.text+=r.slice(t),!1}if(n===e)return this.text+=r.slice(t,this.prevI),!0}}captureNameChars(){const{chunk:e,i:t}=this;for(;;){const r=this.getCode();if(-1===r)return this.name+=e.slice(t),-1;if(!c(r))return this.name+=e.slice(t,this.prevI),-2===r?10:r}}skipSpaces(){for(;;){const e=this.getCodeNorm();if(-1===e||!o(e))return e}}setXMLVersion(e){this.currentXMLVersion=e,\"1.0\"===e?(this.isChar=a,this.getCode=this.getCode10):(this.isChar=f,this.getCode=this.getCode11)}sBegin(){65279===this.chunk.charCodeAt(0)&&(this.i++,this.column++),this.state=1}sBeginWhitespace(){const e=this.i,t=this.skipSpaces();switch(this.prevI!==e&&(this.xmlDeclPossible=!1),t){case 60:if(this.state=15,0!==this.text.length)throw new Error(\"no-empty text at start\");break;case-1:break;default:this.unget(),this.state=13,this.xmlDeclPossible=!1}}sDoctype(){var e;const t=this.captureTo(x);switch(t){case 62:null===(e=this.doctypeHandler)||void 0===e||e.call(this,this.text),this.text=\"\",this.state=13,this.doctype=!0;break;case-1:break;default:this.text+=String.fromCodePoint(t),91===t?this.state=4:w(t)&&(this.state=3,this.q=t)}}sDoctypeQuote(){const e=this.q;this.captureToChar(e)&&(this.text+=String.fromCodePoint(e),this.q=null,this.state=2)}sDTD(){const e=this.captureTo(k);-1!==e&&(this.text+=String.fromCodePoint(e),93===e?this.state=2:60===e?this.state=6:w(e)&&(this.state=5,this.q=e))}sDTDQuoted(){const e=this.q;this.captureToChar(e)&&(this.text+=String.fromCodePoint(e),this.state=4,this.q=null)}sDTDOpenWaka(){const e=this.getCodeNorm();switch(this.text+=String.fromCodePoint(e),e){case 33:this.state=7,this.openWakaBang=\"\";break;case 63:this.state=11;break;default:this.state=4}}sDTDOpenWakaBang(){const e=String.fromCodePoint(this.getCodeNorm()),t=this.openWakaBang+=e;this.text+=e,\"-\"!==t&&(this.state=\"--\"===t?8:4,this.openWakaBang=\"\")}sDTDComment(){this.captureToChar(45)&&(this.text+=\"-\",this.state=9)}sDTDCommentEnding(){const e=this.getCodeNorm();this.text+=String.fromCodePoint(e),this.state=45===e?10:8}sDTDCommentEnded(){const e=this.getCodeNorm();this.text+=String.fromCodePoint(e),62===e?this.state=4:(this.fail(\"malformed comment.\"),this.state=8)}sDTDPI(){this.captureToChar(63)&&(this.text+=\"?\",this.state=12)}sDTDPIEnding(){const e=this.getCodeNorm();this.text+=String.fromCodePoint(e),62===e&&(this.state=4)}sText(){0!==this.tags.length?this.handleTextInRoot():this.handleTextOutsideRoot()}sEntity(){let{i:e}=this;const{chunk:t}=this;e:for(;;)switch(this.getCode()){case-2:this.entity+=t.slice(e,this.prevI)+\"\\n\",e=this.i;break;case 59:{const{entityReturnState:r}=this,n=this.entity+t.slice(e,this.prevI);let i;this.state=r,\"\"===n?(this.fail(\"empty entity name.\"),i=\"&;\"):(i=this.parseEntity(n),this.entity=\"\"),13===r&&void 0===this.textHandler||(this.text+=i);break e}case-1:this.entity+=t.slice(e);break e}}sOpenWaka(){const e=this.getCode();if(l(e))this.state=34,this.unget(),this.xmlDeclPossible=!1;else switch(e){case 47:this.state=43,this.xmlDeclPossible=!1;break;case 33:this.state=16,this.openWakaBang=\"\",this.xmlDeclPossible=!1;break;case 63:this.state=23;break;default:this.fail(\"disallowed character in tag name\"),this.state=13,this.xmlDeclPossible=!1}}sOpenWakaBang(){switch(this.openWakaBang+=String.fromCodePoint(this.getCodeNorm()),this.openWakaBang){case\"[CDATA[\":this.sawRoot||this.reportedTextBeforeRoot||(this.fail(\"text data outside of root node.\"),this.reportedTextBeforeRoot=!0),this.closedRoot&&!this.reportedTextAfterRoot&&(this.fail(\"text data outside of root node.\"),this.reportedTextAfterRoot=!0),this.state=20,this.openWakaBang=\"\";break;case\"--\":this.state=17,this.openWakaBang=\"\";break;case\"DOCTYPE\":this.state=2,(this.doctype||this.sawRoot)&&this.fail(\"inappropriately located doctype declaration.\"),this.openWakaBang=\"\";break;default:this.openWakaBang.length>=7&&this.fail(\"incorrect syntax.\")}}sComment(){this.captureToChar(45)&&(this.state=18)}sCommentEnding(){var e;const t=this.getCodeNorm();45===t?(this.state=19,null===(e=this.commentHandler)||void 0===e||e.call(this,this.text),this.text=\"\"):(this.text+=\"-\"+String.fromCodePoint(t),this.state=17)}sCommentEnded(){const e=this.getCodeNorm();62!==e?(this.fail(\"malformed comment.\"),this.text+=\"--\"+String.fromCodePoint(e),this.state=17):this.state=13}sCData(){this.captureToChar(93)&&(this.state=21)}sCDataEnding(){const e=this.getCodeNorm();93===e?this.state=22:(this.text+=\"]\"+String.fromCodePoint(e),this.state=20)}sCDataEnding2(){var e;const t=this.getCodeNorm();switch(t){case 62:null===(e=this.cdataHandler)||void 0===e||e.call(this,this.text),this.text=\"\",this.state=13;break;case 93:this.text+=\"]\";break;default:this.text+=\"]]\"+String.fromCodePoint(t),this.state=20}}sPIFirstChar(){const e=this.getCodeNorm();this.nameStartCheck(e)?(this.piTarget+=String.fromCodePoint(e),this.state=24):63===e||o(e)?(this.fail(\"processing instruction without a target.\"),this.state=63===e?26:25):(this.fail(\"disallowed character in processing instruction name.\"),this.piTarget+=String.fromCodePoint(e),this.state=24)}sPIRest(){const{chunk:e,i:t}=this;for(;;){const r=this.getCodeNorm();if(-1===r)return void(this.piTarget+=e.slice(t));if(!this.nameCheck(r)){this.piTarget+=e.slice(t,this.prevI);const n=63===r;n||o(r)?\"xml\"===this.piTarget?(this.xmlDeclPossible||this.fail(\"an XML declaration must be at the start of the document.\"),this.state=n?33:27):this.state=n?26:25:(this.fail(\"disallowed character in processing instruction name.\"),this.piTarget+=String.fromCodePoint(r));break}}}sPIBody(){if(0===this.text.length){const e=this.getCodeNorm();63===e?this.state=26:o(e)||(this.text=String.fromCodePoint(e))}else this.captureToChar(63)&&(this.state=26)}sPIEnding(){var e;const t=this.getCodeNorm();if(62===t){const{piTarget:t}=this;\"xml\"===t.toLowerCase()&&this.fail(\"the XML declaration must appear at the start of the document.\"),null===(e=this.piHandler)||void 0===e||e.call(this,{target:t,body:this.text}),this.piTarget=this.text=\"\",this.state=13}else 63===t?this.text+=\"?\":(this.text+=\"?\"+String.fromCodePoint(t),this.state=25);this.xmlDeclPossible=!1}sXMLDeclNameStart(){const e=this.skipSpaces();63!==e?-1!==e&&(this.state=28,this.name=String.fromCodePoint(e)):this.state=33}sXMLDeclName(){const e=this.captureTo(S);if(63===e)return this.state=33,this.name+=this.text,this.text=\"\",void this.fail(\"XML declaration is incomplete.\");if(o(e)||61===e){if(this.name+=this.text,this.text=\"\",!this.xmlDeclExpects.includes(this.name))switch(this.name.length){case 0:this.fail(\"did not expect any more name/value pairs.\");break;case 1:this.fail(`expected the name ${this.xmlDeclExpects[0]}.`);break;default:this.fail(\"expected one of \"+this.xmlDeclExpects.join(\", \"))}this.state=61===e?30:29}}sXMLDeclEq(){const e=this.getCodeNorm();if(63===e)return this.state=33,void this.fail(\"XML declaration is incomplete.\");o(e)||(61!==e&&this.fail(\"value required.\"),this.state=30)}sXMLDeclValueStart(){const e=this.getCodeNorm();if(63===e)return this.state=33,void this.fail(\"XML declaration is incomplete.\");o(e)||(w(e)?this.q=e:(this.fail(\"value must be quoted.\"),this.q=32),this.state=31)}sXMLDeclValue(){const e=this.captureTo([this.q,63]);if(63===e)return this.state=33,this.text=\"\",void this.fail(\"XML declaration is incomplete.\");if(-1===e)return;const t=this.text;switch(this.text=\"\",this.name){case\"version\":{this.xmlDeclExpects=[\"encoding\",\"standalone\"];const e=t;this.xmlDecl.version=e,/^1\\.[0-9]+$/.test(e)?this.opt.forceXMLVersion||this.setXMLVersion(e):this.fail(\"version number must match /^1\\\\.[0-9]+$/.\");break}case\"encoding\":/^[A-Za-z][A-Za-z0-9._-]*$/.test(t)||this.fail(\"encoding value must match /^[A-Za-z0-9][A-Za-z0-9._-]*$/.\"),this.xmlDeclExpects=[\"standalone\"],this.xmlDecl.encoding=t;break;case\"standalone\":\"yes\"!==t&&\"no\"!==t&&this.fail('standalone value must match \"yes\" or \"no\".'),this.xmlDeclExpects=[],this.xmlDecl.standalone=t}this.name=\"\",this.state=32}sXMLDeclSeparator(){const e=this.getCodeNorm();63!==e?(o(e)||(this.fail(\"whitespace required.\"),this.unget()),this.state=27):this.state=33}sXMLDeclEnding(){var e;62===this.getCodeNorm()?(\"xml\"!==this.piTarget?this.fail(\"processing instructions are not allowed before root.\"):\"version\"!==this.name&&this.xmlDeclExpects.includes(\"version\")&&this.fail(\"XML declaration must contain a version.\"),null===(e=this.xmldeclHandler)||void 0===e||e.call(this,this.xmlDecl),this.name=\"\",this.piTarget=this.text=\"\",this.state=13):this.fail(\"The character ? is disallowed anywhere in XML declarations.\"),this.xmlDeclPossible=!1}sOpenTag(){var e;const t=this.captureNameChars();if(-1===t)return;const r=this.tag={name:this.name,attributes:Object.create(null)};switch(this.name=\"\",this.xmlnsOpt&&(this.topNS=r.ns=Object.create(null)),null===(e=this.openTagStartHandler)||void 0===e||e.call(this,r),this.sawRoot=!0,!this.fragmentOpt&&this.closedRoot&&this.fail(\"documents may contain only one root.\"),t){case 62:this.openTag();break;case 47:this.state=35;break;default:o(t)||this.fail(\"disallowed character in tag name.\"),this.state=36}}sOpenTagSlash(){62===this.getCode()?this.openSelfClosingTag():(this.fail(\"forward-slash in opening tag not followed by >.\"),this.state=36)}sAttrib(){const e=this.skipSpaces();-1!==e&&(l(e)?(this.unget(),this.state=37):62===e?this.openTag():47===e?this.state=35:this.fail(\"disallowed character in attribute name.\"))}sAttribName(){const e=this.captureNameChars();61===e?this.state=39:o(e)?this.state=38:62===e?(this.fail(\"attribute without value.\"),this.pushAttrib(this.name,this.name),this.name=this.text=\"\",this.openTag()):-1!==e&&this.fail(\"disallowed character in attribute name.\")}sAttribNameSawWhite(){const e=this.skipSpaces();switch(e){case-1:return;case 61:this.state=39;break;default:this.fail(\"attribute without value.\"),this.text=\"\",this.name=\"\",62===e?this.openTag():l(e)?(this.unget(),this.state=37):(this.fail(\"disallowed character in attribute name.\"),this.state=36)}}sAttribValue(){const e=this.getCodeNorm();w(e)?(this.q=e,this.state=40):o(e)||(this.fail(\"unquoted attribute value.\"),this.state=42,this.unget())}sAttribValueQuoted(){const{q:e,chunk:t}=this;let{i:r}=this;for(;;)switch(this.getCode()){case e:return this.pushAttrib(this.name,this.text+t.slice(r,this.prevI)),this.name=this.text=\"\",this.q=null,void(this.state=41);case 38:return this.text+=t.slice(r,this.prevI),this.state=14,void(this.entityReturnState=40);case 10:case-2:case 9:this.text+=t.slice(r,this.prevI)+\" \",r=this.i;break;case 60:return this.text+=t.slice(r,this.prevI),void this.fail(\"disallowed character.\");case-1:return void(this.text+=t.slice(r))}}sAttribValueClosed(){const e=this.getCodeNorm();o(e)?this.state=36:62===e?this.openTag():47===e?this.state=35:l(e)?(this.fail(\"no whitespace between attributes.\"),this.unget(),this.state=37):this.fail(\"disallowed character in attribute name.\")}sAttribValueUnquoted(){const e=this.captureTo(M);switch(e){case 38:this.state=14,this.entityReturnState=42;break;case 60:this.fail(\"disallowed character.\");break;case-1:break;default:this.text.includes(\"]]>\")&&this.fail('the string \"]]>\" is disallowed in char data.'),this.pushAttrib(this.name,this.text),this.name=this.text=\"\",62===e?this.openTag():this.state=36}}sCloseTag(){const e=this.captureNameChars();62===e?this.closeTag():o(e)?this.state=44:-1!==e&&this.fail(\"disallowed character in closing tag.\")}sCloseTagSawWhite(){switch(this.skipSpaces()){case 62:this.closeTag();break;case-1:break;default:this.fail(\"disallowed character in closing tag.\")}}handleTextInRoot(){let{i:e,forbiddenState:t}=this;const{chunk:r,textHandler:n}=this;e:for(;;)switch(this.getCode()){case 60:if(this.state=15,void 0!==n){const{text:t}=this,i=r.slice(e,this.prevI);0!==t.length?(n(t+i),this.text=\"\"):0!==i.length&&n(i)}t=0;break e;case 38:this.state=14,this.entityReturnState=13,void 0!==n&&(this.text+=r.slice(e,this.prevI)),t=0;break e;case 93:switch(t){case 0:t=1;break;case 1:t=2;break;case 2:break;default:throw new Error(\"impossible state\")}break;case 62:2===t&&this.fail('the string \"]]>\" is disallowed in char data.'),t=0;break;case-2:void 0!==n&&(this.text+=r.slice(e,this.prevI)+\"\\n\"),e=this.i,t=0;break;case-1:void 0!==n&&(this.text+=r.slice(e));break e;default:t=0}this.forbiddenState=t}handleTextOutsideRoot(){let{i:e}=this;const{chunk:t,textHandler:r}=this;let n=!1;e:for(;;){const i=this.getCode();switch(i){case 60:if(this.state=15,void 0!==r){const{text:n}=this,i=t.slice(e,this.prevI);0!==n.length?(r(n+i),this.text=\"\"):0!==i.length&&r(i)}break e;case 38:this.state=14,this.entityReturnState=13,void 0!==r&&(this.text+=t.slice(e,this.prevI)),n=!0;break e;case-2:void 0!==r&&(this.text+=t.slice(e,this.prevI)+\"\\n\"),e=this.i;break;case-1:void 0!==r&&(this.text+=t.slice(e));break e;default:o(i)||(n=!0)}}n&&(this.sawRoot||this.reportedTextBeforeRoot||(this.fail(\"text data outside of root node.\"),this.reportedTextBeforeRoot=!0),this.closedRoot&&!this.reportedTextAfterRoot&&(this.fail(\"text data outside of root node.\"),this.reportedTextAfterRoot=!0))}pushAttribNS(e,t){var r;const{prefix:n,local:i}=this.qname(e),s={name:e,prefix:n,local:i,value:t};if(this.attribList.push(s),null===(r=this.attributeHandler)||void 0===r||r.call(this,s),\"xmlns\"===n){const e=t.trim();\"1.0\"===this.currentXMLVersion&&\"\"===e&&this.fail(\"invalid attempt to undefine prefix in XML 1.0\"),this.topNS[i]=e,C(this,i,e)}else if(\"xmlns\"===e){const e=t.trim();this.topNS[\"\"]=e,C(this,\"\",e)}}pushAttribPlain(e,t){var r;const n={name:e,value:t};this.attribList.push(n),null===(r=this.attributeHandler)||void 0===r||r.call(this,n)}end(){var e,t;this.sawRoot||this.fail(\"document must contain a root element.\");const{tags:r}=this;for(;r.length>0;){const e=r.pop();this.fail(\"unclosed tag: \"+e.name)}0!==this.state&&13!==this.state&&this.fail(\"unexpected end.\");const{text:n}=this;return 0!==n.length&&(null===(e=this.textHandler)||void 0===e||e.call(this,n),this.text=\"\"),this._closed=!0,null===(t=this.endHandler)||void 0===t||t.call(this),this._init(),this}resolve(e){var t,r;let n=this.topNS[e];if(void 0!==n)return n;const{tags:i}=this;for(let t=i.length-1;t>=0;t--)if(n=i[t].ns[e],void 0!==n)return n;return n=this.ns[e],void 0!==n?n:null===(r=(t=this.opt).resolvePrefix)||void 0===r?void 0:r.call(t,e)}qname(e){const t=e.indexOf(\":\");if(-1===t)return{prefix:\"\",local:e};const r=e.slice(t+1),n=e.slice(0,t);return(\"\"===n||\"\"===r||r.includes(\":\"))&&this.fail(`malformed name: ${e}.`),{prefix:n,local:r}}processAttribsNS(){var e;const{attribList:t}=this,r=this.tag;{const{prefix:t,local:n}=this.qname(r.name);r.prefix=t,r.local=n;const i=r.uri=null!==(e=this.resolve(t))&&void 0!==e?e:\"\";\"\"!==t&&(\"xmlns\"===t&&this.fail('tags may not have \"xmlns\" as prefix.'),\"\"===i&&(this.fail(`unbound namespace prefix: ${JSON.stringify(t)}.`),r.uri=t))}if(0===t.length)return;const{attributes:n}=r,i=new Set;for(const e of t){const{name:t,prefix:r,local:s}=e;let o,a;\"\"===r?(o=\"xmlns\"===t?g:\"\",a=t):(o=this.resolve(r),void 0===o&&(this.fail(`unbound namespace prefix: ${JSON.stringify(r)}.`),o=r),a=`{${o}}${s}`),i.has(a)&&this.fail(`duplicate attribute: ${a}.`),i.add(a),e.uri=o,n[t]=e}this.attribList=[]}processAttribsPlain(){const{attribList:e}=this,t=this.tag.attributes;for(const{name:r,value:n}of e)void 0!==t[r]&&this.fail(`duplicate attribute: ${r}.`),t[r]=n;this.attribList=[]}openTag(){var e;this.processAttribs();const{tags:t}=this,r=this.tag;r.isSelfClosing=!1,null===(e=this.openTagHandler)||void 0===e||e.call(this,r),t.push(r),this.state=13,this.name=\"\"}openSelfClosingTag(){var e,t,r;this.processAttribs();const{tags:n}=this,i=this.tag;i.isSelfClosing=!0,null===(e=this.openTagHandler)||void 0===e||e.call(this,i),null===(t=this.closeTagHandler)||void 0===t||t.call(this,i);null===(this.tag=null!==(r=n[n.length-1])&&void 0!==r?r:null)&&(this.closedRoot=!0),this.state=13,this.name=\"\"}closeTag(){const{tags:e,name:t}=this;if(this.state=13,this.name=\"\",\"\"===t)return this.fail(\"weird empty close tag.\"),void(this.text+=\"</>\");const r=this.closeTagHandler;let n=e.length;for(;n-- >0;){const n=this.tag=e.pop();if(this.topNS=n.ns,null==r||r(n),n.name===t)break;this.fail(\"unexpected close tag.\")}0===n?this.closedRoot=!0:n<0&&(this.fail(`unmatched closing tag: ${t}.`),this.text+=`</${t}>`)}parseEntity(e){if(\"#\"!==e[0]){const t=this.ENTITIES[e];return void 0!==t?t:(this.fail(this.isName(e)?\"undefined entity.\":\"disallowed character in entity name.\"),`&${e};`)}let t=NaN;return\"x\"===e[1]&&/^#x[0-9a-f]+$/i.test(e)?t=parseInt(e.slice(2),16):/^#[0-9]+$/.test(e)&&(t=parseInt(e.slice(1),10)),this.isChar(t)?String.fromCodePoint(t):(this.fail(\"malformed character entity.\"),`&${e};`)}}},{\"xmlchars/xml/1.0/ed5\":543,\"xmlchars/xml/1.1/ed2\":544,\"xmlchars/xmlns/1.0/ed3\":545}],497:[function(e,t,r){\"use strict\";var n=e(\"safe-buffer\").Buffer;function i(e,t){this._block=n.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}i.prototype.update=function(e,t){\"string\"==typeof e&&(t=t||\"utf8\",e=n.from(e,t));for(var r=this._block,i=this._blockSize,s=e.length,o=this._len,a=0;a<s;){for(var l=o%i,c=Math.min(s-a,i-l),u=0;u<c;u++)r[l+u]=e[a+u];a+=c,(o+=c)%i==0&&this._update(r)}return this._len+=s,this},i.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(4294967295&r)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var s=this._hash();return e?s.toString(e):s},i.prototype._update=function(){throw new Error(\"_update must be implemented by subclass\")},t.exports=i},{\"safe-buffer\":494}],498:[function(e,t,r){\"use strict\";var n=t.exports=function(e){e=e.toLowerCase();var t=n[e];if(!t)throw new Error(e+\" is not supported (we accept pull requests)\");return new t};n.sha=e(\"./sha\"),n.sha1=e(\"./sha1\"),n.sha224=e(\"./sha224\"),n.sha256=e(\"./sha256\"),n.sha384=e(\"./sha384\"),n.sha512=e(\"./sha512\")},{\"./sha\":499,\"./sha1\":500,\"./sha224\":501,\"./sha256\":502,\"./sha384\":503,\"./sha512\":504}],499:[function(e,t,r){\"use strict\";var n=e(\"inherits\"),i=e(\"./hash\"),s=e(\"safe-buffer\").Buffer,o=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function l(){this.init(),this._w=a,i.call(this,64,56)}function c(e){return e<<30|e>>>2}function u(e,t,r,n){return 0===e?t&r|~t&n:2===e?t&r|t&n|r&n:t^r^n}n(l,i),l.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},l.prototype._update=function(e){for(var t,r=this._w,n=0|this._a,i=0|this._b,s=0|this._c,a=0|this._d,l=0|this._e,h=0;h<16;++h)r[h]=e.readInt32BE(4*h);for(;h<80;++h)r[h]=r[h-3]^r[h-8]^r[h-14]^r[h-16];for(var f=0;f<80;++f){var d=~~(f/20),p=0|((t=n)<<5|t>>>27)+u(d,i,s,a)+l+r[f]+o[d];l=a,a=s,s=c(i),i=n,n=p}this._a=n+this._a|0,this._b=i+this._b|0,this._c=s+this._c|0,this._d=a+this._d|0,this._e=l+this._e|0},l.prototype._hash=function(){var e=s.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},t.exports=l},{\"./hash\":497,inherits:440,\"safe-buffer\":494}],500:[function(e,t,r){\"use strict\";var n=e(\"inherits\"),i=e(\"./hash\"),s=e(\"safe-buffer\").Buffer,o=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function l(){this.init(),this._w=a,i.call(this,64,56)}function c(e){return e<<5|e>>>27}function u(e){return e<<30|e>>>2}function h(e,t,r,n){return 0===e?t&r|~t&n:2===e?t&r|t&n|r&n:t^r^n}n(l,i),l.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},l.prototype._update=function(e){for(var t,r=this._w,n=0|this._a,i=0|this._b,s=0|this._c,a=0|this._d,l=0|this._e,f=0;f<16;++f)r[f]=e.readInt32BE(4*f);for(;f<80;++f)r[f]=(t=r[f-3]^r[f-8]^r[f-14]^r[f-16])<<1|t>>>31;for(var d=0;d<80;++d){var p=~~(d/20),m=c(n)+h(p,i,s,a)+l+r[d]+o[p]|0;l=a,a=s,s=u(i),i=n,n=m}this._a=n+this._a|0,this._b=i+this._b|0,this._c=s+this._c|0,this._d=a+this._d|0,this._e=l+this._e|0},l.prototype._hash=function(){var e=s.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},t.exports=l},{\"./hash\":497,inherits:440,\"safe-buffer\":494}],501:[function(e,t,r){\"use strict\";var n=e(\"inherits\"),i=e(\"./sha256\"),s=e(\"./hash\"),o=e(\"safe-buffer\").Buffer,a=new Array(64);function l(){this.init(),this._w=a,s.call(this,64,56)}n(l,i),l.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},l.prototype._hash=function(){var e=o.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},t.exports=l},{\"./hash\":497,\"./sha256\":502,inherits:440,\"safe-buffer\":494}],502:[function(e,t,r){\"use strict\";var n=e(\"inherits\"),i=e(\"./hash\"),s=e(\"safe-buffer\").Buffer,o=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],a=new Array(64);function l(){this.init(),this._w=a,i.call(this,64,56)}function c(e,t,r){return r^e&(t^r)}function u(e,t,r){return e&t|r&(e|t)}function h(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function f(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function d(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}n(l,i),l.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},l.prototype._update=function(e){for(var t,r=this._w,n=0|this._a,i=0|this._b,s=0|this._c,a=0|this._d,l=0|this._e,p=0|this._f,m=0|this._g,b=0|this._h,g=0;g<16;++g)r[g]=e.readInt32BE(4*g);for(;g<64;++g)r[g]=0|(((t=r[g-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+r[g-7]+d(r[g-15])+r[g-16];for(var y=0;y<64;++y){var v=b+f(l)+c(l,p,m)+o[y]+r[y]|0,w=h(n)+u(n,i,s)|0;b=m,m=p,p=l,l=a+v|0,a=s,s=i,i=n,n=v+w|0}this._a=n+this._a|0,this._b=i+this._b|0,this._c=s+this._c|0,this._d=a+this._d|0,this._e=l+this._e|0,this._f=p+this._f|0,this._g=m+this._g|0,this._h=b+this._h|0},l.prototype._hash=function(){var e=s.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},t.exports=l},{\"./hash\":497,inherits:440,\"safe-buffer\":494}],503:[function(e,t,r){\"use strict\";var n=e(\"inherits\"),i=e(\"./sha512\"),s=e(\"./hash\"),o=e(\"safe-buffer\").Buffer,a=new Array(160);function l(){this.init(),this._w=a,s.call(this,128,112)}n(l,i),l.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},l.prototype._hash=function(){var e=o.allocUnsafe(48);function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},t.exports=l},{\"./hash\":497,\"./sha512\":504,inherits:440,\"safe-buffer\":494}],504:[function(e,t,r){\"use strict\";var n=e(\"inherits\"),i=e(\"./hash\"),s=e(\"safe-buffer\").Buffer,o=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],a=new Array(160);function l(){this.init(),this._w=a,i.call(this,128,112)}function c(e,t,r){return r^e&(t^r)}function u(e,t,r){return e&t|r&(e|t)}function h(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function f(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function d(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function p(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function m(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function b(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function g(e,t){return e>>>0<t>>>0?1:0}n(l,i),l.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},l.prototype._update=function(e){for(var t=this._w,r=0|this._ah,n=0|this._bh,i=0|this._ch,s=0|this._dh,a=0|this._eh,l=0|this._fh,y=0|this._gh,v=0|this._hh,w=0|this._al,_=0|this._bl,x=0|this._cl,k=0|this._dl,S=0|this._el,M=0|this._fl,C=0|this._gl,T=0|this._hl,E=0;E<32;E+=2)t[E]=e.readInt32BE(4*E),t[E+1]=e.readInt32BE(4*E+4);for(;E<160;E+=2){var A=t[E-30],R=t[E-30+1],O=d(A,R),j=p(R,A),I=m(A=t[E-4],R=t[E-4+1]),N=b(R,A),P=t[E-14],B=t[E-14+1],D=t[E-32],F=t[E-32+1],L=j+B|0,z=O+P+g(L,j)|0;z=(z=z+I+g(L=L+N|0,N)|0)+D+g(L=L+F|0,F)|0,t[E]=z,t[E+1]=L}for(var U=0;U<160;U+=2){z=t[U],L=t[U+1];var $=u(r,n,i),H=u(w,_,x),V=h(r,w),q=h(w,r),W=f(a,S),X=f(S,a),K=o[U],Y=o[U+1],Z=c(a,l,y),G=c(S,M,C),J=T+X|0,Q=v+W+g(J,T)|0;Q=(Q=(Q=Q+Z+g(J=J+G|0,G)|0)+K+g(J=J+Y|0,Y)|0)+z+g(J=J+L|0,L)|0;var ee=q+H|0,te=V+$+g(ee,q)|0;v=y,T=C,y=l,C=M,l=a,M=S,a=s+Q+g(S=k+J|0,k)|0,s=i,k=x,i=n,x=_,n=r,_=w,r=Q+te+g(w=J+ee|0,J)|0}this._al=this._al+w|0,this._bl=this._bl+_|0,this._cl=this._cl+x|0,this._dl=this._dl+k|0,this._el=this._el+S|0,this._fl=this._fl+M|0,this._gl=this._gl+C|0,this._hl=this._hl+T|0,this._ah=this._ah+r+g(this._al,w)|0,this._bh=this._bh+n+g(this._bl,_)|0,this._ch=this._ch+i+g(this._cl,x)|0,this._dh=this._dh+s+g(this._dl,k)|0,this._eh=this._eh+a+g(this._el,S)|0,this._fh=this._fh+l+g(this._fl,M)|0,this._gh=this._gh+y+g(this._gl,C)|0,this._hh=this._hh+v+g(this._hl,T)|0},l.prototype._hash=function(){var e=s.allocUnsafe(64);function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},t.exports=l},{\"./hash\":497,inherits:440,\"safe-buffer\":494}],505:[function(e,t,r){\"use strict\";t.exports=i;var n=e(\"events\").EventEmitter;function i(){n.call(this)}e(\"inherits\")(i,n),i.Readable=e(\"readable-stream/readable.js\"),i.Writable=e(\"readable-stream/writable.js\"),i.Duplex=e(\"readable-stream/duplex.js\"),i.Transform=e(\"readable-stream/transform.js\"),i.PassThrough=e(\"readable-stream/passthrough.js\"),i.Stream=i,i.prototype.pipe=function(e,t){var r=this;function i(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function s(){r.readable&&r.resume&&r.resume()}r.on(\"data\",i),e.on(\"drain\",s),e._isStdio||t&&!1===t.end||(r.on(\"end\",a),r.on(\"close\",l));var o=!1;function a(){o||(o=!0,e.end())}function l(){o||(o=!0,\"function\"==typeof e.destroy&&e.destroy())}function c(e){if(u(),0===n.listenerCount(this,\"error\"))throw e}function u(){r.removeListener(\"data\",i),e.removeListener(\"drain\",s),r.removeListener(\"end\",a),r.removeListener(\"close\",l),r.removeListener(\"error\",c),e.removeListener(\"error\",c),r.removeListener(\"end\",u),r.removeListener(\"close\",u),e.removeListener(\"close\",u)}return r.on(\"error\",c),e.on(\"error\",c),r.on(\"end\",u),r.on(\"close\",u),e.on(\"close\",u),e.emit(\"pipe\",r),e}},{events:422,inherits:440,\"readable-stream/duplex.js\":507,\"readable-stream/passthrough.js\":516,\"readable-stream/readable.js\":517,\"readable-stream/transform.js\":518,\"readable-stream/writable.js\":519}],506:[function(e,t,r){\"use strict\";var n={}.toString;t.exports=Array.isArray||function(e){return\"[object Array]\"==n.call(e)}},{}],507:[function(e,t,r){\"use strict\";t.exports=e(\"./lib/_stream_duplex.js\")},{\"./lib/_stream_duplex.js\":508}],508:[function(e,t,r){\"use strict\";var n=e(\"process-nextick-args\"),i=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};t.exports=h;var s=Object.create(e(\"core-util-is\"));s.inherits=e(\"inherits\");var o=e(\"./_stream_readable\"),a=e(\"./_stream_writable\");s.inherits(h,o);for(var l=i(a.prototype),c=0;c<l.length;c++){var u=l[c];h.prototype[u]||(h.prototype[u]=a.prototype[u])}function h(e){if(!(this instanceof h))return new h(e);o.call(this,e),a.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once(\"end\",f)}function f(){this.allowHalfOpen||this._writableState.ended||n.nextTick(d,this)}function d(e){e.end()}Object.defineProperty(h.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(h.prototype,\"destroyed\",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),h.prototype._destroy=function(e,t){this.push(null),this.end(),n.nextTick(t,e)}},{\"./_stream_readable\":510,\"./_stream_writable\":512,\"core-util-is\":383,inherits:440,\"process-nextick-args\":466}],509:[function(e,t,r){\"use strict\";t.exports=s;var n=e(\"./_stream_transform\"),i=Object.create(e(\"core-util-is\"));function s(e){if(!(this instanceof s))return new s(e);n.call(this,e)}i.inherits=e(\"inherits\"),i.inherits(s,n),s.prototype._transform=function(e,t,r){r(null,e)}},{\"./_stream_transform\":511,\"core-util-is\":383,inherits:440}],510:[function(e,t,r){(function(r,n){(function(){\"use strict\";var i=e(\"process-nextick-args\");t.exports=v;var s,o=e(\"isarray\");v.ReadableState=y;e(\"events\").EventEmitter;var a=function(e,t){return e.listeners(t).length},l=e(\"./internal/streams/stream\"),c=e(\"safe-buffer\").Buffer,u=(void 0!==n?n:\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:{}).Uint8Array||function(){};var h=Object.create(e(\"core-util-is\"));h.inherits=e(\"inherits\");var f=e(\"util\"),d=void 0;d=f&&f.debuglog?f.debuglog(\"stream\"):function(){};var p,m=e(\"./internal/streams/BufferList\"),b=e(\"./internal/streams/destroy\");h.inherits(v,l);var g=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function y(t,r){t=t||{};var n=r instanceof(s=s||e(\"./_stream_duplex\"));this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.readableObjectMode);var i=t.highWaterMark,o=t.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(o||0===o)?o:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(p||(p=e(\"string_decoder/\").StringDecoder),this.decoder=new p(t.encoding),this.encoding=t.encoding)}function v(t){if(s=s||e(\"./_stream_duplex\"),!(this instanceof v))return new v(t);this._readableState=new y(t,this),this.readable=!0,t&&(\"function\"==typeof t.read&&(this._read=t.read),\"function\"==typeof t.destroy&&(this._destroy=t.destroy)),l.call(this)}function w(e,t,r,n,i){var s,o=e._readableState;null===t?(o.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,k(e)}(e,o)):(i||(s=function(e,t){var r;n=t,c.isBuffer(n)||n instanceof u||\"string\"==typeof t||void 0===t||e.objectMode||(r=new TypeError(\"Invalid non-string/buffer chunk\"));var n;return r}(o,t)),s?e.emit(\"error\",s):o.objectMode||t&&t.length>0?(\"string\"==typeof t||o.objectMode||Object.getPrototypeOf(t)===c.prototype||(t=function(e){return c.from(e)}(t)),n?o.endEmitted?e.emit(\"error\",new Error(\"stream.unshift() after end event\")):_(e,o,t,!0):o.ended?e.emit(\"error\",new Error(\"stream.push() after EOF\")):(o.reading=!1,o.decoder&&!r?(t=o.decoder.write(t),o.objectMode||0!==t.length?_(e,o,t,!1):M(e,o)):_(e,o,t,!1))):n||(o.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(o)}function _(e,t,r,n){t.flowing&&0===t.length&&!t.sync?(e.emit(\"data\",r),e.read(0)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&k(e)),M(e,t)}Object.defineProperty(v.prototype,\"destroyed\",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),v.prototype.destroy=b.destroy,v.prototype._undestroy=b.undestroy,v.prototype._destroy=function(e,t){this.push(null),t(e)},v.prototype.push=function(e,t){var r,n=this._readableState;return n.objectMode?r=!0:\"string\"==typeof e&&((t=t||n.defaultEncoding)!==n.encoding&&(e=c.from(e,t),t=\"\"),r=!0),w(this,e,t,!1,r)},v.prototype.unshift=function(e){return w(this,e,null,!0,!1)},v.prototype.isPaused=function(){return!1===this._readableState.flowing},v.prototype.setEncoding=function(t){return p||(p=e(\"string_decoder/\").StringDecoder),this._readableState.decoder=new p(t),this._readableState.encoding=t,this};function x(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function k(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(d(\"emitReadable\",t.flowing),t.emittedReadable=!0,t.sync?i.nextTick(S,e):S(e))}function S(e){d(\"emit readable\"),e.emit(\"readable\"),A(e)}function M(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(C,e,t))}function C(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(d(\"maybeReadMore read 0\"),e.read(0),r!==t.length);)r=t.length;t.readingMore=!1}function T(e){d(\"readable nexttick read 0\"),e.read(0)}function E(e,t){t.reading||(d(\"resume read 0\"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit(\"resume\"),A(e),t.flowing&&!t.reading&&e.read(0)}function A(e){var t=e._readableState;for(d(\"flow\",t.flowing);t.flowing&&null!==e.read(););}function R(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(\"\"):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):r=function(e,t,r){var n;e<t.head.data.length?(n=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):n=e===t.head.data.length?t.shift():r?function(e,t){var r=t.head,n=1,i=r.data;e-=i.length;for(;r=r.next;){var s=r.data,o=e>s.length?s.length:e;if(o===s.length?i+=s:i+=s.slice(0,e),0===(e-=o)){o===s.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=s.slice(o));break}++n}return t.length-=n,i}(e,t):function(e,t){var r=c.allocUnsafe(e),n=t.head,i=1;n.data.copy(r),e-=n.data.length;for(;n=n.next;){var s=n.data,o=e>s.length?s.length:e;if(s.copy(r,r.length-e,0,o),0===(e-=o)){o===s.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=s.slice(o));break}++i}return t.length-=i,r}(e,t);return n}(e,t.buffer,t.decoder),r);var r}function O(e){var t=e._readableState;if(t.length>0)throw new Error('\"endReadable()\" called on non-empty stream');t.endEmitted||(t.ended=!0,i.nextTick(j,t,e))}function j(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"))}function I(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}v.prototype.read=function(e){d(\"read\",e),e=parseInt(e,10);var t=this._readableState,r=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return d(\"read: emitReadable\",t.length,t.ended),0===t.length&&t.ended?O(this):k(this),null;if(0===(e=x(e,t))&&t.ended)return 0===t.length&&O(this),null;var n,i=t.needReadable;return d(\"need readable\",i),(0===t.length||t.length-e<t.highWaterMark)&&d(\"length less than watermark\",i=!0),t.ended||t.reading?d(\"reading or ended\",i=!1):i&&(d(\"do read\"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=x(r,t))),null===(n=e>0?R(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&O(this)),null!==n&&this.emit(\"data\",n),n},v.prototype._read=function(e){this.emit(\"error\",new Error(\"_read() is not implemented\"))},v.prototype.pipe=function(e,t){var n=this,s=this._readableState;switch(s.pipesCount){case 0:s.pipes=e;break;case 1:s.pipes=[s.pipes,e];break;default:s.pipes.push(e)}s.pipesCount+=1,d(\"pipe count=%d opts=%j\",s.pipesCount,t);var l=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?u:v;function c(t,r){d(\"onunpipe\"),t===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,d(\"cleanup\"),e.removeListener(\"close\",g),e.removeListener(\"finish\",y),e.removeListener(\"drain\",h),e.removeListener(\"error\",b),e.removeListener(\"unpipe\",c),n.removeListener(\"end\",u),n.removeListener(\"end\",v),n.removeListener(\"data\",m),f=!0,!s.awaitDrain||e._writableState&&!e._writableState.needDrain||h())}function u(){d(\"onend\"),e.end()}s.endEmitted?i.nextTick(l):n.once(\"end\",l),e.on(\"unpipe\",c);var h=function(e){return function(){var t=e._readableState;d(\"pipeOnDrain\",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,\"data\")&&(t.flowing=!0,A(e))}}(n);e.on(\"drain\",h);var f=!1;var p=!1;function m(t){d(\"ondata\"),p=!1,!1!==e.write(t)||p||((1===s.pipesCount&&s.pipes===e||s.pipesCount>1&&-1!==I(s.pipes,e))&&!f&&(d(\"false write response, pause\",s.awaitDrain),s.awaitDrain++,p=!0),n.pause())}function b(t){d(\"onerror\",t),v(),e.removeListener(\"error\",b),0===a(e,\"error\")&&e.emit(\"error\",t)}function g(){e.removeListener(\"finish\",y),v()}function y(){d(\"onfinish\"),e.removeListener(\"close\",g),v()}function v(){d(\"unpipe\"),n.unpipe(e)}return n.on(\"data\",m),function(e,t,r){if(\"function\"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?o(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,\"error\",b),e.once(\"close\",g),e.once(\"finish\",y),e.emit(\"pipe\",n),s.flowing||(d(\"pipe resume\"),n.resume()),e},v.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this,r)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var s=0;s<i;s++)n[s].emit(\"unpipe\",this,{hasUnpiped:!1});return this}var o=I(t.pipes,e);return-1===o||(t.pipes.splice(o,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit(\"unpipe\",this,r)),this},v.prototype.on=function(e,t){var r=l.prototype.on.call(this,e,t);if(\"data\"===e)!1!==this._readableState.flowing&&this.resume();else if(\"readable\"===e){var n=this._readableState;n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.emittedReadable=!1,n.reading?n.length&&k(this):i.nextTick(T,this))}return r},v.prototype.addListener=v.prototype.on,v.prototype.resume=function(){var e=this._readableState;return e.flowing||(d(\"resume\"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,i.nextTick(E,e,t))}(this,e)),this},v.prototype.pause=function(){return d(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(d(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this},v.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;for(var i in e.on(\"end\",(function(){if(d(\"wrapped end\"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on(\"data\",(function(i){(d(\"wrapped data\"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i)||(r.objectMode||i&&i.length)&&(t.push(i)||(n=!0,e.pause()))})),e)void 0===this[i]&&\"function\"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var s=0;s<g.length;s++)e.on(g[s],this.emit.bind(this,g[s]));return this._read=function(t){d(\"wrapped _read\",t),n&&(n=!1,e.resume())},this},Object.defineProperty(v.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),v._fromList=R}).call(this)}).call(this,e(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./_stream_duplex\":508,\"./internal/streams/BufferList\":513,\"./internal/streams/destroy\":514,\"./internal/streams/stream\":515,_process:467,\"core-util-is\":383,events:422,inherits:440,isarray:506,\"process-nextick-args\":466,\"safe-buffer\":520,\"string_decoder/\":521,util:188}],511:[function(e,t,r){\"use strict\";t.exports=o;var n=e(\"./_stream_duplex\"),i=Object.create(e(\"core-util-is\"));function s(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(!n)return this.emit(\"error\",new Error(\"write callback called multiple times\"));r.writechunk=null,r.writecb=null,null!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function o(e){if(!(this instanceof o))return new o(e);n.call(this,e),this._transformState={afterTransform:s.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(\"function\"==typeof e.transform&&(this._transform=e.transform),\"function\"==typeof e.flush&&(this._flush=e.flush)),this.on(\"prefinish\",a)}function a(){var e=this;\"function\"==typeof this._flush?this._flush((function(t,r){l(e,t,r)})):l(this,null,null)}function l(e,t,r){if(t)return e.emit(\"error\",t);if(null!=r&&e.push(r),e._writableState.length)throw new Error(\"Calling transform done when ws.length != 0\");if(e._transformState.transforming)throw new Error(\"Calling transform done when still transforming\");return e.push(null)}i.inherits=e(\"inherits\"),i.inherits(o,n),o.prototype.push=function(e,t){return this._transformState.needTransform=!1,n.prototype.push.call(this,e,t)},o.prototype._transform=function(e,t,r){throw new Error(\"_transform() is not implemented\")},o.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},o.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},o.prototype._destroy=function(e,t){var r=this;n.prototype._destroy.call(this,e,(function(e){t(e),r.emit(\"close\")}))}},{\"./_stream_duplex\":508,\"core-util-is\":383,inherits:440}],512:[function(e,t,r){(function(r,n,i){(function(){\"use strict\";var s=e(\"process-nextick-args\");function o(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,r){var n=e.entry;e.entry=null;for(;n;){var i=n.callback;t.pendingcb--,i(r),n=n.next}t.corkedRequestsFree.next=e}(t,e)}}t.exports=y;var a,l=!r.browser&&[\"v0.10\",\"v0.9.\"].indexOf(r.version.slice(0,5))>-1?i:s.nextTick;y.WritableState=g;var c=Object.create(e(\"core-util-is\"));c.inherits=e(\"inherits\");var u={deprecate:e(\"util-deprecate\")},h=e(\"./internal/streams/stream\"),f=e(\"safe-buffer\").Buffer,d=(void 0!==n?n:\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:{}).Uint8Array||function(){};var p,m=e(\"./internal/streams/destroy\");function b(){}function g(t,r){a=a||e(\"./_stream_duplex\"),t=t||{};var n=r instanceof a;this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var i=t.highWaterMark,c=t.writableHighWaterMark,u=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(c||0===c)?c:u,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===t.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=t.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,n,i){--t.pendingcb,r?(s.nextTick(i,n),s.nextTick(S,e,t),e._writableState.errorEmitted=!0,e.emit(\"error\",n)):(i(n),e._writableState.errorEmitted=!0,e.emit(\"error\",n),S(e,t))}(e,r,n,t,i);else{var o=x(r);o||r.corked||r.bufferProcessing||!r.bufferedRequest||_(e,r),n?l(w,e,r,o,i):w(e,r,o,i)}}(r,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function y(t){if(a=a||e(\"./_stream_duplex\"),!(p.call(y,this)||this instanceof a))return new y(t);this._writableState=new g(t,this),this.writable=!0,t&&(\"function\"==typeof t.write&&(this._write=t.write),\"function\"==typeof t.writev&&(this._writev=t.writev),\"function\"==typeof t.destroy&&(this._destroy=t.destroy),\"function\"==typeof t.final&&(this._final=t.final)),h.call(this)}function v(e,t,r,n,i,s,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,r?e._writev(i,t.onwrite):e._write(i,s,t.onwrite),t.sync=!1}function w(e,t,r,n){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit(\"drain\"))}(e,t),t.pendingcb--,n(),S(e,t)}function _(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,i=new Array(n),s=t.corkedRequestsFree;s.entry=r;for(var a=0,l=!0;r;)i[a]=r,r.isBuf||(l=!1),r=r.next,a+=1;i.allBuffers=l,v(e,t,!0,t.length,i,\"\",s.finish),t.pendingcb++,t.lastBufferedRequest=null,s.next?(t.corkedRequestsFree=s.next,s.next=null):t.corkedRequestsFree=new o(t),t.bufferedRequestCount=0}else{for(;r;){var c=r.chunk,u=r.encoding,h=r.callback;if(v(e,t,!1,t.objectMode?1:c.length,c,u,h),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function x(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function k(e,t){e._final((function(r){t.pendingcb--,r&&e.emit(\"error\",r),t.prefinished=!0,e.emit(\"prefinish\"),S(e,t)}))}function S(e,t){var r=x(t);return r&&(!function(e,t){t.prefinished||t.finalCalled||(\"function\"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,s.nextTick(k,e,t)):(t.prefinished=!0,e.emit(\"prefinish\")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit(\"finish\"))),r}c.inherits(y,h),g.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(g.prototype,\"buffer\",{get:u.deprecate((function(){return this.getBuffer()}),\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(e){}}(),\"function\"==typeof Symbol&&Symbol.hasInstance&&\"function\"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(e){return!!p.call(this,e)||this===y&&(e&&e._writableState instanceof g)}})):p=function(e){return e instanceof this},y.prototype.pipe=function(){this.emit(\"error\",new Error(\"Cannot pipe, not readable\"))},y.prototype.write=function(e,t,r){var n,i=this._writableState,o=!1,a=!i.objectMode&&(n=e,f.isBuffer(n)||n instanceof d);return a&&!f.isBuffer(e)&&(e=function(e){return f.from(e)}(e)),\"function\"==typeof t&&(r=t,t=null),a?t=\"buffer\":t||(t=i.defaultEncoding),\"function\"!=typeof r&&(r=b),i.ended?function(e,t){var r=new Error(\"write after end\");e.emit(\"error\",r),s.nextTick(t,r)}(this,r):(a||function(e,t,r,n){var i=!0,o=!1;return null===r?o=new TypeError(\"May not write null values to stream\"):\"string\"==typeof r||void 0===r||t.objectMode||(o=new TypeError(\"Invalid non-string/buffer chunk\")),o&&(e.emit(\"error\",o),s.nextTick(n,o),i=!1),i}(this,i,e,r))&&(i.pendingcb++,o=function(e,t,r,n,i,s){if(!r){var o=function(e,t,r){e.objectMode||!1===e.decodeStrings||\"string\"!=typeof t||(t=f.from(t,r));return t}(t,n,i);n!==o&&(r=!0,i=\"buffer\",n=o)}var a=t.objectMode?1:n.length;t.length+=a;var l=t.length<t.highWaterMark;l||(t.needDrain=!0);if(t.writing||t.corked){var c=t.lastBufferedRequest;t.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:s,next:null},c?c.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else v(e,t,!1,a,n,i,s);return l}(this,i,a,e,t,r)),o},y.prototype.cork=function(){this._writableState.corked++},y.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||_(this,e))},y.prototype.setDefaultEncoding=function(e){if(\"string\"==typeof e&&(e=e.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((e+\"\").toLowerCase())>-1))throw new TypeError(\"Unknown encoding: \"+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(y.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),y.prototype._write=function(e,t,r){r(new Error(\"_write() is not implemented\"))},y.prototype._writev=null,y.prototype.end=function(e,t,r){var n=this._writableState;\"function\"==typeof e?(r=e,e=null,t=null):\"function\"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||function(e,t,r){t.ending=!0,S(e,t),r&&(t.finished?s.nextTick(r):e.once(\"finish\",r));t.ended=!0,e.writable=!1}(this,n,r)},Object.defineProperty(y.prototype,\"destroyed\",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),y.prototype.destroy=m.destroy,y.prototype._undestroy=m.undestroy,y.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this)}).call(this,e(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},e(\"timers\").setImmediate)},{\"./_stream_duplex\":508,\"./internal/streams/destroy\":514,\"./internal/streams/stream\":515,_process:467,\"core-util-is\":383,inherits:440,\"process-nextick-args\":466,\"safe-buffer\":520,timers:523,\"util-deprecate\":524}],513:[function(e,t,r){\"use strict\";var n=e(\"safe-buffer\").Buffer,i=e(\"util\");t.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return\"\";for(var t=this.head,r=\"\"+t.data;t=t.next;)r+=e+t.data;return r},e.prototype.concat=function(e){if(0===this.length)return n.alloc(0);for(var t,r,i,s=n.allocUnsafe(e>>>0),o=this.head,a=0;o;)t=o.data,r=s,i=a,t.copy(r,i),a+=o.data.length,o=o.next;return s},e}(),i&&i.inspect&&i.inspect.custom&&(t.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+\" \"+e})},{\"safe-buffer\":520,util:188}],514:[function(e,t,r){\"use strict\";var n=e(\"process-nextick-args\");function i(e,t){e.emit(\"error\",t)}t.exports={destroy:function(e,t){var r=this,s=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;return s||o?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,n.nextTick(i,this,e)):n.nextTick(i,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?r._writableState?r._writableState.errorEmitted||(r._writableState.errorEmitted=!0,n.nextTick(i,r,e)):n.nextTick(i,r,e):t&&t(e)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},{\"process-nextick-args\":466}],515:[function(e,t,r){arguments[4][490][0].apply(r,arguments)},{dup:490,events:422}],516:[function(e,t,r){\"use strict\";t.exports=e(\"./readable\").PassThrough},{\"./readable\":517}],517:[function(e,t,r){\"use strict\";(r=t.exports=e(\"./lib/_stream_readable.js\")).Stream=r,r.Readable=r,r.Writable=e(\"./lib/_stream_writable.js\"),r.Duplex=e(\"./lib/_stream_duplex.js\"),r.Transform=e(\"./lib/_stream_transform.js\"),r.PassThrough=e(\"./lib/_stream_passthrough.js\")},{\"./lib/_stream_duplex.js\":508,\"./lib/_stream_passthrough.js\":509,\"./lib/_stream_readable.js\":510,\"./lib/_stream_transform.js\":511,\"./lib/_stream_writable.js\":512}],518:[function(e,t,r){\"use strict\";t.exports=e(\"./readable\").Transform},{\"./readable\":517}],519:[function(e,t,r){\"use strict\";t.exports=e(\"./lib/_stream_writable.js\")},{\"./lib/_stream_writable.js\":512}],520:[function(e,t,r){arguments[4][217][0].apply(r,arguments)},{buffer:220,dup:217}],521:[function(e,t,r){arguments[4][218][0].apply(r,arguments)},{dup:218,\"safe-buffer\":520}],522:[function(e,t,r){arguments[4][218][0].apply(r,arguments)},{dup:218,\"safe-buffer\":494}],523:[function(e,t,r){(function(t,n){(function(){\"use strict\";var i=e(\"process/browser.js\").nextTick,s=Function.prototype.apply,o=Array.prototype.slice,a={},l=0;function c(e,t){this._id=e,this._clearFn=t}r.setTimeout=function(){return new c(s.call(setTimeout,window,arguments),clearTimeout)},r.setInterval=function(){return new c(s.call(setInterval,window,arguments),clearInterval)},r.clearTimeout=r.clearInterval=function(e){e.close()},c.prototype.unref=c.prototype.ref=function(){},c.prototype.close=function(){this._clearFn.call(window,this._id)},r.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},r.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},r._unrefActive=r.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},r.setImmediate=\"function\"==typeof t?t:function(e){var t=l++,n=!(arguments.length<2)&&o.call(arguments,1);return a[t]=!0,i((function(){a[t]&&(n?e.apply(null,n):e.call(null),r.clearImmediate(t))})),t},r.clearImmediate=\"function\"==typeof n?n:function(e){delete a[e]}}).call(this)}).call(this,e(\"timers\").setImmediate,e(\"timers\").clearImmediate)},{\"process/browser.js\":467,timers:523}],524:[function(e,t,r){(function(e){(function(){\"use strict\";function r(t){try{if(!e.localStorage)return!1}catch(e){return!1}var r=e.localStorage[t];return null!=r&&\"true\"===String(r).toLowerCase()}t.exports=function(e,t){if(r(\"noDeprecation\"))return e;var n=!1;return function(){if(!n){if(r(\"throwDeprecation\"))throw new Error(t);r(\"traceDeprecation\")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],525:[function(e,t,r){\"use strict\";\"function\"==typeof Object.create?t.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},{}],526:[function(e,t,r){\"use strict\";t.exports=function(e){return e&&\"object\"==typeof e&&\"function\"==typeof e.copy&&\"function\"==typeof e.fill&&\"function\"==typeof e.readUInt8}},{}],527:[function(e,t,r){(function(t,n){(function(){\"use strict\";var i=/%[sdj%]/g;r.format=function(e){if(!g(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(a(arguments[r]));return t.join(\" \")}r=1;for(var n=arguments,s=n.length,o=String(e).replace(i,(function(e){if(\"%%\"===e)return\"%\";if(r>=s)return e;switch(e){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(e){return\"[Circular]\"}default:return e}})),l=n[r];r<s;l=n[++r])m(l)||!w(l)?o+=\" \"+l:o+=\" \"+a(l);return o},r.deprecate=function(e,i){if(y(n.process))return function(){return r.deprecate(e,i).apply(this,arguments)};if(!0===t.noDeprecation)return e;var s=!1;return function(){if(!s){if(t.throwDeprecation)throw new Error(i);t.traceDeprecation?console.trace(i):console.error(i),s=!0}return e.apply(this,arguments)}};var s,o={};function a(e,t){var n={seen:[],stylize:c};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),p(t)?n.showHidden=t:t&&r._extend(n,t),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,e,n.depth)}function l(e,t){var r=a.styles[t];return r?\"\\x1b[\"+a.colors[r][0]+\"m\"+e+\"\\x1b[\"+a.colors[r][1]+\"m\":e}function c(e,t){return e}function u(e,t,n){if(e.customInspect&&t&&k(t.inspect)&&t.inspect!==r.inspect&&(!t.constructor||t.constructor.prototype!==t)){var i=t.inspect(n,e);return g(i)||(i=u(e,i,n)),i}var s=function(e,t){if(y(t))return e.stylize(\"undefined\",\"undefined\");if(g(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(b(t))return e.stylize(\"\"+t,\"number\");if(p(t))return e.stylize(\"\"+t,\"boolean\");if(m(t))return e.stylize(\"null\",\"null\")}(e,t);if(s)return s;var o=Object.keys(t),a=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(t)),x(t)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return h(t);if(0===o.length){if(k(t)){var l=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+l+\"]\",\"special\")}if(v(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(_(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(x(t))return h(t)}var c,w=\"\",S=!1,M=[\"{\",\"}\"];(d(t)&&(S=!0,M=[\"[\",\"]\"]),k(t))&&(w=\" [Function\"+(t.name?\": \"+t.name:\"\")+\"]\");return v(t)&&(w=\" \"+RegExp.prototype.toString.call(t)),_(t)&&(w=\" \"+Date.prototype.toUTCString.call(t)),x(t)&&(w=\" \"+h(t)),0!==o.length||S&&0!=t.length?n<0?v(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\"):(e.seen.push(t),c=S?function(e,t,r,n,i){for(var s=[],o=0,a=t.length;o<a;++o)E(t,String(o))?s.push(f(e,t,r,n,String(o),!0)):s.push(\"\");return i.forEach((function(i){i.match(/^\\d+$/)||s.push(f(e,t,r,n,i,!0))})),s}(e,t,n,a,o):o.map((function(r){return f(e,t,n,a,r,S)})),e.seen.pop(),function(e,t,r){if(e.reduce((function(e,t){return t.indexOf(\"\\n\")>=0&&0,e+t.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1}),0)>60)return r[0]+(\"\"===t?\"\":t+\"\\n \")+\" \"+e.join(\",\\n \")+\" \"+r[1];return r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}(c,w,M)):M[0]+w+M[1]}function h(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function f(e,t,r,n,i,s){var o,a,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?a=l.set?e.stylize(\"[Getter/Setter]\",\"special\"):e.stylize(\"[Getter]\",\"special\"):l.set&&(a=e.stylize(\"[Setter]\",\"special\")),E(n,i)||(o=\"[\"+i+\"]\"),a||(e.seen.indexOf(l.value)<0?(a=m(r)?u(e,l.value,null):u(e,l.value,r-1)).indexOf(\"\\n\")>-1&&(a=s?a.split(\"\\n\").map((function(e){return\" \"+e})).join(\"\\n\").substr(2):\"\\n\"+a.split(\"\\n\").map((function(e){return\" \"+e})).join(\"\\n\")):a=e.stylize(\"[Circular]\",\"special\")),y(o)){if(s&&i.match(/^\\d+$/))return a;(o=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=e.stylize(o,\"string\"))}return o+\": \"+a}function d(e){return Array.isArray(e)}function p(e){return\"boolean\"==typeof e}function m(e){return null===e}function b(e){return\"number\"==typeof e}function g(e){return\"string\"==typeof e}function y(e){return void 0===e}function v(e){return w(e)&&\"[object RegExp]\"===S(e)}function w(e){return\"object\"==typeof e&&null!==e}function _(e){return w(e)&&\"[object Date]\"===S(e)}function x(e){return w(e)&&(\"[object Error]\"===S(e)||e instanceof Error)}function k(e){return\"function\"==typeof e}function S(e){return Object.prototype.toString.call(e)}function M(e){return e<10?\"0\"+e.toString(10):e.toString(10)}r.debuglog=function(e){if(y(s)&&(s=t.env.NODE_DEBUG||\"\"),e=e.toUpperCase(),!o[e])if(new RegExp(\"\\\\b\"+e+\"\\\\b\",\"i\").test(s)){var n=t.pid;o[e]=function(){var t=r.format.apply(r,arguments);console.error(\"%s %d: %s\",e,n,t)}}else o[e]=function(){};return o[e]},r.inspect=a,a.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},r.isArray=d,r.isBoolean=p,r.isNull=m,r.isNullOrUndefined=function(e){return null==e},r.isNumber=b,r.isString=g,r.isSymbol=function(e){return\"symbol\"==typeof e},r.isUndefined=y,r.isRegExp=v,r.isObject=w,r.isDate=_,r.isError=x,r.isFunction=k,r.isPrimitive=function(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||void 0===e},r.isBuffer=e(\"./support/isBuffer\");var C=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function T(){var e=new Date,t=[M(e.getHours()),M(e.getMinutes()),M(e.getSeconds())].join(\":\");return[e.getDate(),C[e.getMonth()],t].join(\" \")}function E(e,t){return Object.prototype.hasOwnProperty.call(e,t)}r.log=function(){console.log(\"%s - %s\",T(),r.format.apply(r,arguments))},r.inherits=e(\"inherits\"),r._extend=function(e,t){if(!t||!w(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}}).call(this)}).call(this,e(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./support/isBuffer\":526,_process:467,inherits:525}],528:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),Object.defineProperty(r,\"v1\",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(r,\"v3\",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(r,\"v4\",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(r,\"v5\",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(r,\"NIL\",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(r,\"version\",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(r,\"validate\",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(r,\"stringify\",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(r,\"parse\",{enumerable:!0,get:function(){return h.default}});var n=f(e(\"./v1.js\")),i=f(e(\"./v3.js\")),s=f(e(\"./v4.js\")),o=f(e(\"./v5.js\")),a=f(e(\"./nil.js\")),l=f(e(\"./version.js\")),c=f(e(\"./validate.js\")),u=f(e(\"./stringify.js\")),h=f(e(\"./parse.js\"));function f(e){return e&&e.__esModule?e:{default:e}}},{\"./nil.js\":530,\"./parse.js\":531,\"./stringify.js\":535,\"./v1.js\":536,\"./v3.js\":537,\"./v4.js\":539,\"./v5.js\":540,\"./validate.js\":541,\"./version.js\":542}],529:[function(e,t,r){\"use strict\";function n(e){return 14+(e+64>>>9<<4)+1}function i(e,t){const r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function s(e,t,r,n,s,o){return i((a=i(i(t,e),i(n,o)))<<(l=s)|a>>>32-l,r);var a,l}function o(e,t,r,n,i,o,a){return s(t&r|~t&n,e,t,i,o,a)}function a(e,t,r,n,i,o,a){return s(t&n|r&~n,e,t,i,o,a)}function l(e,t,r,n,i,o,a){return s(t^r^n,e,t,i,o,a)}function c(e,t,r,n,i,o,a){return s(r^(t|~n),e,t,i,o,a)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var u=function(e){if(\"string\"==typeof e){const t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(let r=0;r<t.length;++r)e[r]=t.charCodeAt(r)}return function(e){const t=[],r=32*e.length;for(let n=0;n<r;n+=8){const r=e[n>>5]>>>n%32&255,i=parseInt(\"0123456789abcdef\".charAt(r>>>4&15)+\"0123456789abcdef\".charAt(15&r),16);t.push(i)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[n(t)-1]=t;let r=1732584193,s=-271733879,u=-1732584194,h=271733878;for(let t=0;t<e.length;t+=16){const n=r,f=s,d=u,p=h;r=o(r,s,u,h,e[t],7,-680876936),h=o(h,r,s,u,e[t+1],12,-389564586),u=o(u,h,r,s,e[t+2],17,606105819),s=o(s,u,h,r,e[t+3],22,-1044525330),r=o(r,s,u,h,e[t+4],7,-176418897),h=o(h,r,s,u,e[t+5],12,1200080426),u=o(u,h,r,s,e[t+6],17,-1473231341),s=o(s,u,h,r,e[t+7],22,-45705983),r=o(r,s,u,h,e[t+8],7,1770035416),h=o(h,r,s,u,e[t+9],12,-1958414417),u=o(u,h,r,s,e[t+10],17,-42063),s=o(s,u,h,r,e[t+11],22,-1990404162),r=o(r,s,u,h,e[t+12],7,1804603682),h=o(h,r,s,u,e[t+13],12,-40341101),u=o(u,h,r,s,e[t+14],17,-1502002290),s=o(s,u,h,r,e[t+15],22,1236535329),r=a(r,s,u,h,e[t+1],5,-165796510),h=a(h,r,s,u,e[t+6],9,-1069501632),u=a(u,h,r,s,e[t+11],14,643717713),s=a(s,u,h,r,e[t],20,-373897302),r=a(r,s,u,h,e[t+5],5,-701558691),h=a(h,r,s,u,e[t+10],9,38016083),u=a(u,h,r,s,e[t+15],14,-660478335),s=a(s,u,h,r,e[t+4],20,-405537848),r=a(r,s,u,h,e[t+9],5,568446438),h=a(h,r,s,u,e[t+14],9,-1019803690),u=a(u,h,r,s,e[t+3],14,-187363961),s=a(s,u,h,r,e[t+8],20,1163531501),r=a(r,s,u,h,e[t+13],5,-1444681467),h=a(h,r,s,u,e[t+2],9,-51403784),u=a(u,h,r,s,e[t+7],14,1735328473),s=a(s,u,h,r,e[t+12],20,-1926607734),r=l(r,s,u,h,e[t+5],4,-378558),h=l(h,r,s,u,e[t+8],11,-2022574463),u=l(u,h,r,s,e[t+11],16,1839030562),s=l(s,u,h,r,e[t+14],23,-35309556),r=l(r,s,u,h,e[t+1],4,-1530992060),h=l(h,r,s,u,e[t+4],11,1272893353),u=l(u,h,r,s,e[t+7],16,-155497632),s=l(s,u,h,r,e[t+10],23,-1094730640),r=l(r,s,u,h,e[t+13],4,681279174),h=l(h,r,s,u,e[t],11,-358537222),u=l(u,h,r,s,e[t+3],16,-722521979),s=l(s,u,h,r,e[t+6],23,76029189),r=l(r,s,u,h,e[t+9],4,-640364487),h=l(h,r,s,u,e[t+12],11,-421815835),u=l(u,h,r,s,e[t+15],16,530742520),s=l(s,u,h,r,e[t+2],23,-995338651),r=c(r,s,u,h,e[t],6,-198630844),h=c(h,r,s,u,e[t+7],10,1126891415),u=c(u,h,r,s,e[t+14],15,-1416354905),s=c(s,u,h,r,e[t+5],21,-57434055),r=c(r,s,u,h,e[t+12],6,1700485571),h=c(h,r,s,u,e[t+3],10,-1894986606),u=c(u,h,r,s,e[t+10],15,-1051523),s=c(s,u,h,r,e[t+1],21,-2054922799),r=c(r,s,u,h,e[t+8],6,1873313359),h=c(h,r,s,u,e[t+15],10,-30611744),u=c(u,h,r,s,e[t+6],15,-1560198380),s=c(s,u,h,r,e[t+13],21,1309151649),r=c(r,s,u,h,e[t+4],6,-145523070),h=c(h,r,s,u,e[t+11],10,-1120210379),u=c(u,h,r,s,e[t+2],15,718787259),s=c(s,u,h,r,e[t+9],21,-343485551),r=i(r,n),s=i(s,f),u=i(u,d),h=i(h,p)}return[r,s,u,h]}(function(e){if(0===e.length)return[];const t=8*e.length,r=new Uint32Array(n(t));for(let n=0;n<t;n+=8)r[n>>5]|=(255&e[n/8])<<n%32;return r}(e),8*e.length))};r.default=u},{}],530:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;r.default=\"00000000-0000-0000-0000-000000000000\"},{}],531:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var n,i=(n=e(\"./validate.js\"))&&n.__esModule?n:{default:n};var s=function(e){if(!(0,i.default)(e))throw TypeError(\"Invalid UUID\");let t;const r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=255&t,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=255&t,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=255&t,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=255&t,r};r.default=s},{\"./validate.js\":541}],532:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;r.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i},{}],533:[function(e,t,r){\"use strict\";let n;Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=function(){if(!n&&(n=\"undefined\"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||\"undefined\"!=typeof msCrypto&&\"function\"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),!n))throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");return n(i)};const i=new Uint8Array(16)},{}],534:[function(e,t,r){\"use strict\";function n(e,t,r,n){switch(e){case 0:return t&r^~t&n;case 1:return t^r^n;case 2:return t&r^t&n^r&n;case 3:return t^r^n}}function i(e,t){return e<<t|e>>>32-t}Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var s=function(e){const t=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(\"string\"==typeof e){const t=unescape(encodeURIComponent(e));e=[];for(let r=0;r<t.length;++r)e.push(t.charCodeAt(r))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);const s=e.length/4+2,o=Math.ceil(s/16),a=new Array(o);for(let t=0;t<o;++t){const r=new Uint32Array(16);for(let n=0;n<16;++n)r[n]=e[64*t+4*n]<<24|e[64*t+4*n+1]<<16|e[64*t+4*n+2]<<8|e[64*t+4*n+3];a[t]=r}a[o-1][14]=8*(e.length-1)/Math.pow(2,32),a[o-1][14]=Math.floor(a[o-1][14]),a[o-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<o;++e){const s=new Uint32Array(80);for(let t=0;t<16;++t)s[t]=a[e][t];for(let e=16;e<80;++e)s[e]=i(s[e-3]^s[e-8]^s[e-14]^s[e-16],1);let o=r[0],l=r[1],c=r[2],u=r[3],h=r[4];for(let e=0;e<80;++e){const r=Math.floor(e/20),a=i(o,5)+n(r,l,c,u)+h+t[r]+s[e]>>>0;h=u,u=c,c=i(l,30)>>>0,l=o,o=a}r[0]=r[0]+o>>>0,r[1]=r[1]+l>>>0,r[2]=r[2]+c>>>0,r[3]=r[3]+u>>>0,r[4]=r[4]+h>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,255&r[0],r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,255&r[1],r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,255&r[2],r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,255&r[3],r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,255&r[4]]};r.default=s},{}],535:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var n,i=(n=e(\"./validate.js\"))&&n.__esModule?n:{default:n};const s=[];for(let e=0;e<256;++e)s.push((e+256).toString(16).substr(1));var o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const r=(s[e[t+0]]+s[e[t+1]]+s[e[t+2]]+s[e[t+3]]+\"-\"+s[e[t+4]]+s[e[t+5]]+\"-\"+s[e[t+6]]+s[e[t+7]]+\"-\"+s[e[t+8]]+s[e[t+9]]+\"-\"+s[e[t+10]]+s[e[t+11]]+s[e[t+12]]+s[e[t+13]]+s[e[t+14]]+s[e[t+15]]).toLowerCase();if(!(0,i.default)(r))throw TypeError(\"Stringified UUID is invalid\");return r};r.default=o},{\"./validate.js\":541}],536:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var n=s(e(\"./rng.js\")),i=s(e(\"./stringify.js\"));function s(e){return e&&e.__esModule?e:{default:e}}let o,a,l=0,c=0;var u=function(e,t,r){let s=t&&r||0;const u=t||new Array(16);let h=(e=e||{}).node||o,f=void 0!==e.clockseq?e.clockseq:a;if(null==h||null==f){const t=e.random||(e.rng||n.default)();null==h&&(h=o=[1|t[0],t[1],t[2],t[3],t[4],t[5]]),null==f&&(f=a=16383&(t[6]<<8|t[7]))}let d=void 0!==e.msecs?e.msecs:Date.now(),p=void 0!==e.nsecs?e.nsecs:c+1;const m=d-l+(p-c)/1e4;if(m<0&&void 0===e.clockseq&&(f=f+1&16383),(m<0||d>l)&&void 0===e.nsecs&&(p=0),p>=1e4)throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");l=d,c=p,a=f,d+=122192928e5;const b=(1e4*(268435455&d)+p)%4294967296;u[s++]=b>>>24&255,u[s++]=b>>>16&255,u[s++]=b>>>8&255,u[s++]=255&b;const g=d/4294967296*1e4&268435455;u[s++]=g>>>8&255,u[s++]=255&g,u[s++]=g>>>24&15|16,u[s++]=g>>>16&255,u[s++]=f>>>8|128,u[s++]=255&f;for(let e=0;e<6;++e)u[s+e]=h[e];return t||(0,i.default)(u)};r.default=u},{\"./rng.js\":533,\"./stringify.js\":535}],537:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var n=s(e(\"./v35.js\")),i=s(e(\"./md5.js\"));function s(e){return e&&e.__esModule?e:{default:e}}var o=(0,n.default)(\"v3\",48,i.default);r.default=o},{\"./md5.js\":529,\"./v35.js\":538}],538:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=function(e,t,r){function s(e,s,o,a){if(\"string\"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t}(e)),\"string\"==typeof s&&(s=(0,i.default)(s)),16!==s.length)throw TypeError(\"Namespace must be array-like (16 iterable integer values, 0-255)\");let l=new Uint8Array(16+e.length);if(l.set(s),l.set(e,s.length),l=r(l),l[6]=15&l[6]|t,l[8]=63&l[8]|128,o){a=a||0;for(let e=0;e<16;++e)o[a+e]=l[e];return o}return(0,n.default)(l)}try{s.name=e}catch(e){}return s.DNS=o,s.URL=a,s},r.URL=r.DNS=void 0;var n=s(e(\"./stringify.js\")),i=s(e(\"./parse.js\"));function s(e){return e&&e.__esModule?e:{default:e}}const o=\"6ba7b810-9dad-11d1-80b4-00c04fd430c8\";r.DNS=o;const a=\"6ba7b811-9dad-11d1-80b4-00c04fd430c8\";r.URL=a},{\"./parse.js\":531,\"./stringify.js\":535}],539:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var n=s(e(\"./rng.js\")),i=s(e(\"./stringify.js\"));function s(e){return e&&e.__esModule?e:{default:e}}var o=function(e,t,r){const s=(e=e||{}).random||(e.rng||n.default)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=s[e];return t}return(0,i.default)(s)};r.default=o},{\"./rng.js\":533,\"./stringify.js\":535}],540:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var n=s(e(\"./v35.js\")),i=s(e(\"./sha1.js\"));function s(e){return e&&e.__esModule?e:{default:e}}var o=(0,n.default)(\"v5\",80,i.default);r.default=o},{\"./sha1.js\":534,\"./v35.js\":538}],541:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var n,i=(n=e(\"./regex.js\"))&&n.__esModule?n:{default:n};var s=function(e){return\"string\"==typeof e&&i.default.test(e)};r.default=s},{\"./regex.js\":532}],542:[function(e,t,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=void 0;var n,i=(n=e(\"./validate.js\"))&&n.__esModule?n:{default:n};var s=function(e){if(!(0,i.default)(e))throw TypeError(\"Invalid UUID\");return parseInt(e.substr(14,1),16)};r.default=s},{\"./validate.js\":541}],543:[function(e,t,r){\"use strict\";\n/**\n * Character classes and associated utilities for the 5th edition of XML 1.0.\n *\n * @author Louis-Dominique Dubeau\n * @license MIT\n * @copyright Louis-Dominique Dubeau\n */Object.defineProperty(r,\"__esModule\",{value:!0}),r.CHAR=\"\\t\\n\\r -\\ud7ff\\ue000-\\ufffd\\ud800\\udc00-\\udbff\\udfff\",r.S=\" \\t\\r\\n\",r.NAME_START_CHAR=\":A-Z_a-z\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02ff\\u0370-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd\\ud800\\udc00-\\udb7f\\udfff\",r.NAME_CHAR=\"-\"+r.NAME_START_CHAR+\".0-9\\xb7\\u0300-\\u036f\\u203f-\\u2040\",r.CHAR_RE=new RegExp(\"^[\"+r.CHAR+\"]$\",\"u\"),r.S_RE=new RegExp(\"^[\"+r.S+\"]+$\",\"u\"),r.NAME_START_CHAR_RE=new RegExp(\"^[\"+r.NAME_START_CHAR+\"]$\",\"u\"),r.NAME_CHAR_RE=new RegExp(\"^[\"+r.NAME_CHAR+\"]$\",\"u\"),r.NAME_RE=new RegExp(\"^[\"+r.NAME_START_CHAR+\"][\"+r.NAME_CHAR+\"]*$\",\"u\"),r.NMTOKEN_RE=new RegExp(\"^[\"+r.NAME_CHAR+\"]+$\",\"u\");function n(e){return e>=65&&e<=90||e>=97&&e<=122||58===e||95===e||8204===e||8205===e||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=767||e>=880&&e<=893||e>=895&&e<=8191||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}r.S_LIST=[32,10,13,9],r.isChar=function(e){return e>=32&&e<=55295||10===e||13===e||9===e||e>=57344&&e<=65533||e>=65536&&e<=1114111},r.isS=function(e){return 32===e||10===e||13===e||9===e},r.isNameStartChar=n,r.isNameChar=function(e){return n(e)||e>=48&&e<=57||45===e||46===e||183===e||e>=768&&e<=879||e>=8255&&e<=8256}},{}],544:[function(e,t,r){\"use strict\";\n/**\n * Character classes and associated utilities for the 2nd edition of XML 1.1.\n *\n * @author Louis-Dominique Dubeau\n * @license MIT\n * @copyright Louis-Dominique Dubeau\n */Object.defineProperty(r,\"__esModule\",{value:!0}),r.CHAR=\"\\x01-\\ud7ff\\ue000-\\ufffd\\ud800\\udc00-\\udbff\\udfff\",r.RESTRICTED_CHAR=\"\\x01-\\b\\v\\f\\x0e-\\x1f\\x7f-\\x84\\x86-\\x9f\",r.S=\" \\t\\r\\n\",r.NAME_START_CHAR=\":A-Z_a-z\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02ff\\u0370-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd\\ud800\\udc00-\\udb7f\\udfff\",r.NAME_CHAR=\"-\"+r.NAME_START_CHAR+\".0-9\\xb7\\u0300-\\u036f\\u203f-\\u2040\",r.CHAR_RE=new RegExp(\"^[\"+r.CHAR+\"]$\",\"u\"),r.RESTRICTED_CHAR_RE=new RegExp(\"^[\"+r.RESTRICTED_CHAR+\"]$\",\"u\"),r.S_RE=new RegExp(\"^[\"+r.S+\"]+$\",\"u\"),r.NAME_START_CHAR_RE=new RegExp(\"^[\"+r.NAME_START_CHAR+\"]$\",\"u\"),r.NAME_CHAR_RE=new RegExp(\"^[\"+r.NAME_CHAR+\"]$\",\"u\"),r.NAME_RE=new RegExp(\"^[\"+r.NAME_START_CHAR+\"][\"+r.NAME_CHAR+\"]*$\",\"u\"),r.NMTOKEN_RE=new RegExp(\"^[\"+r.NAME_CHAR+\"]+$\",\"u\");function n(e){return e>=65&&e<=90||e>=97&&e<=122||58===e||95===e||8204===e||8205===e||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=767||e>=880&&e<=893||e>=895&&e<=8191||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}r.S_LIST=[32,10,13,9],r.isChar=function(e){return e>=1&&e<=55295||e>=57344&&e<=65533||e>=65536&&e<=1114111},r.isRestrictedChar=function(e){return e>=1&&e<=8||11===e||12===e||e>=14&&e<=31||e>=127&&e<=132||e>=134&&e<=159},r.isCharAndNotRestricted=function(e){return 9===e||10===e||13===e||e>31&&e<127||133===e||e>159&&e<=55295||e>=57344&&e<=65533||e>=65536&&e<=1114111},r.isS=function(e){return 32===e||10===e||13===e||9===e},r.isNameStartChar=n,r.isNameChar=function(e){return n(e)||e>=48&&e<=57||45===e||46===e||183===e||e>=768&&e<=879||e>=8255&&e<=8256}},{}],545:[function(e,t,r){\"use strict\";\n/**\n * Character class utilities for XML NS 1.0 edition 3.\n *\n * @author Louis-Dominique Dubeau\n * @license MIT\n * @copyright Louis-Dominique Dubeau\n */function n(e){return e>=65&&e<=90||95===e||e>=97&&e<=122||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=767||e>=880&&e<=893||e>=895&&e<=8191||e>=8204&&e<=8205||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}Object.defineProperty(r,\"__esModule\",{value:!0}),r.NC_NAME_START_CHAR=\"A-Z_a-z\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02ff\\u0370-\\u037d\\u037f-\\u1fff\\u200c-\\u200d\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd\\ud800\\udc00-\\udb7f\\udfff\",r.NC_NAME_CHAR=\"-\"+r.NC_NAME_START_CHAR+\".0-9\\xb7\\u0300-\\u036f\\u203f-\\u2040\",r.NC_NAME_START_CHAR_RE=new RegExp(\"^[\"+r.NC_NAME_START_CHAR+\"]$\",\"u\"),r.NC_NAME_CHAR_RE=new RegExp(\"^[\"+r.NC_NAME_CHAR+\"]$\",\"u\"),r.NC_NAME_RE=new RegExp(\"^[\"+r.NC_NAME_START_CHAR+\"][\"+r.NC_NAME_CHAR+\"]*$\",\"u\"),r.isNCNameStartChar=n,r.isNCNameChar=function(e){return n(e)||45===e||46===e||e>=48&&e<=57||183===e||e>=768&&e<=879||e>=8255&&e<=8256}},{}]},{},[15])(15)}));\n//# sourceMappingURL=exceljs.min.js.map","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","/**\r\n * DevExtreme (esm/events/utils/event_nodes_disposing.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../remove\";\r\n\r\nfunction nodesByEvent(event) {\r\n return event && [event.target, event.delegateTarget, event.relatedTarget, event.currentTarget].filter(node => !!node)\r\n}\r\nexport var subscribeNodesDisposing = (event, callback) => {\r\n eventsEngine.one(nodesByEvent(event), removeEvent, callback)\r\n};\r\nexport var unsubscribeNodesDisposing = (event, callback) => {\r\n eventsEngine.off(nodesByEvent(event), removeEvent, callback)\r\n};\r\n","/**\r\n * DevExtreme (esm/events/click.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport devices from \"../core/devices\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n resetActiveElement\r\n} from \"../core/utils/dom\";\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../animation/frame\";\r\nimport {\r\n addNamespace,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport {\r\n subscribeNodesDisposing,\r\n unsubscribeNodesDisposing\r\n} from \"./utils/event_nodes_disposing\";\r\nimport pointerEvents from \"./pointer\";\r\nimport Emitter from \"./core/emitter\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar CLICK_EVENT_NAME = \"dxclick\";\r\nvar misc = {\r\n requestAnimationFrame: requestAnimationFrame,\r\n cancelAnimationFrame: cancelAnimationFrame\r\n};\r\nvar prevented = null;\r\nvar lastFiredEvent = null;\r\nvar onNodeRemove = () => {\r\n lastFiredEvent = null\r\n};\r\nvar clickHandler = function(e) {\r\n var originalEvent = e.originalEvent;\r\n var eventAlreadyFired = lastFiredEvent === originalEvent || originalEvent && originalEvent.DXCLICK_FIRED;\r\n var leftButton = !e.which || 1 === e.which;\r\n if (leftButton && !prevented && !eventAlreadyFired) {\r\n if (originalEvent) {\r\n originalEvent.DXCLICK_FIRED = true\r\n }\r\n unsubscribeNodesDisposing(lastFiredEvent, onNodeRemove);\r\n lastFiredEvent = originalEvent;\r\n subscribeNodesDisposing(lastFiredEvent, onNodeRemove);\r\n fireEvent({\r\n type: CLICK_EVENT_NAME,\r\n originalEvent: e\r\n })\r\n }\r\n};\r\nvar ClickEmitter = Emitter.inherit({\r\n ctor: function(element) {\r\n this.callBase(element);\r\n eventsEngine.on(this.getElement(), \"click\", clickHandler)\r\n },\r\n start: function(e) {\r\n prevented = null\r\n },\r\n cancel: function() {\r\n prevented = true\r\n },\r\n dispose: function() {\r\n eventsEngine.off(this.getElement(), \"click\", clickHandler)\r\n }\r\n});\r\n! function() {\r\n var desktopDevice = devices.real().generic;\r\n if (!desktopDevice) {\r\n var startTarget = null;\r\n var blurPrevented = false;\r\n var document = domAdapter.getDocument();\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.down, \"NATIVE_CLICK_FIXER\"), (function(e) {\r\n startTarget = e.target;\r\n blurPrevented = e.isDefaultPrevented()\r\n }));\r\n eventsEngine.subscribeGlobal(document, addNamespace(\"click\", \"NATIVE_CLICK_FIXER\"), (function(e) {\r\n var $target = function(e) {\r\n var _originalEvent$target;\r\n var originalEvent = e.originalEvent;\r\n if (null !== originalEvent && void 0 !== originalEvent && null !== (_originalEvent$target = originalEvent.target) && void 0 !== _originalEvent$target && _originalEvent$target.shadowRoot) {\r\n var _originalEvent$path, _originalEvent$compos;\r\n var path = null !== (_originalEvent$path = originalEvent.path) && void 0 !== _originalEvent$path ? _originalEvent$path : null === (_originalEvent$compos = originalEvent.composedPath) || void 0 === _originalEvent$compos ? void 0 : _originalEvent$compos.call(originalEvent);\r\n return $(path[0])\r\n }\r\n return $(e.target)\r\n }(e);\r\n if (!blurPrevented && startTarget && !$target.is(startTarget) && !$(startTarget).is(\"label\") && (element = $target, $(element).is(\"input, textarea, select, button ,:focus, :focus *\"))) {\r\n resetActiveElement()\r\n }\r\n var element;\r\n startTarget = null;\r\n blurPrevented = false\r\n }))\r\n }\r\n}();\r\nregisterEmitter({\r\n emitter: ClickEmitter,\r\n bubble: true,\r\n events: [CLICK_EVENT_NAME]\r\n});\r\nexport {\r\n CLICK_EVENT_NAME as name\r\n};\r\n","/**\r\n * DevExtreme (esm/data/store_helper.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n grep\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport arrayQuery from \"./array_query\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"./utils\";\r\n\r\nfunction multiLevelGroup(query, groupInfo) {\r\n query = query.groupBy(groupInfo[0].selector);\r\n if (groupInfo.length > 1) {\r\n query = query.select((function(g) {\r\n return extend({}, g, {\r\n items: multiLevelGroup(arrayQuery(g.items), groupInfo.slice(1)).toArray()\r\n })\r\n }))\r\n }\r\n return query\r\n}\r\n\r\nfunction arrangeSortingInfo(groupInfo, sortInfo) {\r\n var filteredGroup = [];\r\n each(groupInfo, (function(_, group) {\r\n var collision = grep(sortInfo, (function(sort) {\r\n return group.selector === sort.selector\r\n }));\r\n if (collision.length < 1) {\r\n filteredGroup.push(group)\r\n }\r\n }));\r\n return filteredGroup.concat(sortInfo)\r\n}\r\n\r\nfunction queryByOptions(query, options, isCountQuery) {\r\n var _options;\r\n options = options || {};\r\n var filter = options.filter;\r\n if (null !== (_options = options) && void 0 !== _options && _options.langParams) {\r\n var _query$setLangParams, _query;\r\n null === (_query$setLangParams = (_query = query).setLangParams) || void 0 === _query$setLangParams ? void 0 : _query$setLangParams.call(_query, options.langParams)\r\n }\r\n if (filter) {\r\n query = query.filter(filter)\r\n }\r\n if (isCountQuery) {\r\n return query\r\n }\r\n var sort = options.sort;\r\n var select = options.select;\r\n var group = options.group;\r\n var skip = options.skip;\r\n var take = options.take;\r\n if (group) {\r\n group = normalizeSortingInfo(group);\r\n group.keepInitialKeyOrder = !!options.group.keepInitialKeyOrder\r\n }\r\n if (sort || group) {\r\n sort = normalizeSortingInfo(sort || []);\r\n if (group && !group.keepInitialKeyOrder) {\r\n sort = arrangeSortingInfo(group, sort)\r\n }\r\n each(sort, (function(index) {\r\n query = query[index ? \"thenBy\" : \"sortBy\"](this.selector, this.desc, this.compare)\r\n }))\r\n }\r\n if (select) {\r\n query = query.select(select)\r\n }\r\n if (group) {\r\n query = multiLevelGroup(query, group)\r\n }\r\n if (take || skip) {\r\n query = query.slice(skip || 0, take)\r\n }\r\n return query\r\n}\r\nexport default {\r\n multiLevelGroup: multiLevelGroup,\r\n arrangeSortingInfo: arrangeSortingInfo,\r\n queryByOptions: queryByOptions\r\n};\r\n","/**\r\n * DevExtreme (esm/core/resize_observer.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"./utils/window\";\r\nvar window = getWindow();\r\nvar ResizeObserverMock = {\r\n observe: noop,\r\n unobserve: noop,\r\n disconnect: noop\r\n};\r\nclass ResizeObserverSingleton {\r\n constructor() {\r\n if (!hasWindow() || !window.ResizeObserver) {\r\n return ResizeObserverMock\r\n }\r\n this._callbacksMap = new Map;\r\n this._observer = new window.ResizeObserver(entries => {\r\n entries.forEach(entry => {\r\n var _this$_callbacksMap$g;\r\n null === (_this$_callbacksMap$g = this._callbacksMap.get(entry.target)) || void 0 === _this$_callbacksMap$g ? void 0 : _this$_callbacksMap$g(entry)\r\n })\r\n })\r\n }\r\n observe(element, callback) {\r\n this._callbacksMap.set(element, callback);\r\n this._observer.observe(element)\r\n }\r\n unobserve(element) {\r\n this._callbacksMap.delete(element);\r\n this._observer.unobserve(element)\r\n }\r\n disconnect() {\r\n this._callbacksMap.clear();\r\n this._observer.disconnect()\r\n }\r\n}\r\nvar resizeObserverSingleton = new ResizeObserverSingleton;\r\nexport default resizeObserverSingleton;\r\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\n\nvar charAt = uncurryThis(''.charAt);\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-array-string-prototype-at -- safe\n return '𠮷'.at(-2) !== '\\uD842';\n});\n\n// `String.prototype.at` method\n// https://tc39.es/ecma262/#sec-string.prototype.at\n$({ target: 'String', proto: true, forced: FORCED }, {\n at: function at(index) {\n var S = toString(requireObjectCoercible(this));\n var len = S.length;\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : charAt(S, k);\n }\n});\n","/*!\n * devextreme-vue\n * Version: 23.1.12\n * Build date: Fri Aug 09 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInnerChanges = exports.getConfig = exports.initOptionChangedFunc = exports.initDxConfiguration = void 0;\nvar vue_1 = require(\"vue\");\nvar vue_helper_1 = require(\"./vue-helper\");\nvar configuration_1 = require(\"./configuration\");\nfunction getConfig(vueInstance) {\n var componentOptions = (0, vue_helper_1.getNodeOptions)(vueInstance);\n if (!componentOptions) {\n return;\n }\n return componentOptions.$_config || vueInstance.$_config;\n}\nexports.getConfig = getConfig;\nfunction getInnerChanges(vueInstance) {\n var componentOptions = (0, vue_helper_1.getNodeOptions)(vueInstance);\n if (!componentOptions) {\n return;\n }\n return componentOptions.$_innerChanges || vueInstance.$_innerChanges;\n}\nexports.getInnerChanges = getInnerChanges;\nfunction initOptionChangedFunc(config, props, vueInstance, innerChanges) {\n if (!config) {\n return;\n }\n config.init(Object.keys(props));\n if (vueInstance) {\n (0, configuration_1.setEmitOptionChangedFunc)(config, vueInstance, innerChanges);\n }\n}\nexports.initOptionChangedFunc = initOptionChangedFunc;\nfunction getComponentInfo(_a, removed) {\n var name = _a.name, isCollectionItem = _a.isCollectionItem, ownerConfig = _a.ownerConfig;\n var parentPath = ownerConfig && ownerConfig.fullPath;\n var optionPath = name && parentPath ? \"\".concat(parentPath, \".\").concat(name) : name || \"\";\n return {\n optionPath: optionPath,\n isCollection: isCollectionItem,\n removed: removed\n };\n}\nfunction initDxConfiguration() {\n return (0, vue_1.defineComponent)({\n beforeMount: function () {\n var thisComponent = this;\n var config = getConfig(thisComponent);\n var innerChanges = getInnerChanges(thisComponent);\n initOptionChangedFunc(config, (0, vue_helper_1.getNodeTypeOfComponent)(thisComponent).props, thisComponent, innerChanges);\n (0, configuration_1.bindOptionWatchers)(config, this, innerChanges);\n },\n mounted: function () {\n if (this.$parent.$_instance) {\n this.$parent.$_config.componentsCountChanged\n .push(getComponentInfo(getConfig(this)));\n }\n },\n beforeUnmount: function () {\n var config = getConfig(this);\n if (config) {\n this.$parent.$_config.componentsCountChanged\n .push(getComponentInfo(config, true));\n }\n },\n render: function () {\n return null;\n }\n });\n}\nexports.initDxConfiguration = initDxConfiguration;\n","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ms = moment.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ms;\n\n})));\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\n\n/** Used to determine if values are of the language type Object */\nvar objectTypes = {\n 'boolean': false,\n 'function': true,\n 'object': true,\n 'number': false,\n 'string': false,\n 'undefined': false\n};\n\nmodule.exports = objectTypes;\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [number + 'sekundi', number + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [number + ' minuti', number + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [number + ' tunni', number + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [number + ' kuu', number + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [number + ' aasta', number + ' aastat'],\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n '_'\n ),\n monthsShort:\n 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays:\n 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n '_'\n ),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: '%d päeva',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return et;\n\n})));\n","/**\r\n * DevExtreme (esm/core/utils/date_serialization.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport config from \"../config\";\r\nimport {\r\n getFormatter as getLDMLFormatter\r\n} from \"../../localization/ldml/date.formatter\";\r\nimport defaultDateNames from \"../../localization/default_date_names\";\r\nimport {\r\n isString,\r\n isDate,\r\n isNumeric as isNumber\r\n} from \"./type\";\r\nvar NUMBER_SERIALIZATION_FORMAT = \"number\";\r\nvar DATE_SERIALIZATION_FORMAT = \"yyyy/MM/dd\";\r\nvar DATETIME_SERIALIZATION_FORMAT = \"yyyy/MM/dd HH:mm:ss\";\r\nvar ISO8601_PATTERN = /^(\\d{4,})(-)?(\\d{2})(-)?(\\d{2})(?:T(\\d{2})(:)?(\\d{2})?(:)?(\\d{2}(?:\\.(\\d{1,3})\\d*)?)?)?(Z|([+-])(\\d{2})(:)?(\\d{2})?)?$/;\r\nvar ISO8601_TIME_PATTERN = /^(\\d{2}):(\\d{2})(:(\\d{2}))?$/;\r\nvar ISO8601_PATTERN_PARTS = [\"\", \"yyyy\", \"\", \"MM\", \"\", \"dd\", \"THH\", \"\", \"mm\", \"\", \"ss\", \".SSS\"];\r\nvar DATE_SERIALIZATION_PATTERN = /^(\\d{4})\\/(\\d{2})\\/(\\d{2})$/;\r\nvar MILLISECOND_LENGHT = 3;\r\nvar dateParser = function(text, skipISO8601Parsing) {\r\n var result;\r\n if (isString(text) && !skipISO8601Parsing) {\r\n result = parseISO8601String(text)\r\n }\r\n return result || parseDate(text)\r\n};\r\n\r\nfunction getTimePart(part) {\r\n return +part || 0\r\n}\r\n\r\nfunction parseDate(text) {\r\n var isDefaultSerializationFormat = getDateSerializationFormat(text) === DATE_SERIALIZATION_FORMAT;\r\n var parsedValue = !isDate(text) && Date.parse(text);\r\n if (!parsedValue && isDefaultSerializationFormat) {\r\n var parts = text.match(DATE_SERIALIZATION_PATTERN);\r\n if (parts) {\r\n var newDate = new Date(getTimePart(parts[1]), getTimePart(parts[2]), getTimePart(parts[3]));\r\n newDate.setFullYear(getTimePart(parts[1]));\r\n newDate.setMonth(getTimePart(parts[2]) - 1);\r\n newDate.setDate(getTimePart(parts[3]));\r\n return newDate\r\n }\r\n }\r\n return isNumber(parsedValue) ? new Date(parsedValue) : text\r\n}\r\n\r\nfunction parseISO8601String(text) {\r\n var parts = text.match(ISO8601_PATTERN);\r\n if (!parts) {\r\n parts = text.match(ISO8601_TIME_PATTERN);\r\n if (parts) {\r\n return new Date(0, 0, 0, getTimePart(parts[1]), getTimePart(parts[2]), getTimePart(parts[4]))\r\n }\r\n return\r\n }\r\n var year = getTimePart(parts[1]);\r\n var month = --parts[3];\r\n var day = parts[5];\r\n var timeZoneHour = 0;\r\n var timeZoneMinute = 0;\r\n var correctYear = d => {\r\n year < 100 && d.setFullYear(year);\r\n return d\r\n };\r\n timeZoneHour = getTimePart(parts[14]);\r\n timeZoneMinute = getTimePart(parts[16]);\r\n if (\"-\" === parts[13]) {\r\n timeZoneHour = -timeZoneHour;\r\n timeZoneMinute = -timeZoneMinute\r\n }\r\n var hour = getTimePart(parts[6]) - timeZoneHour;\r\n var minute = getTimePart(parts[8]) - timeZoneMinute;\r\n var second = getTimePart(parts[10]);\r\n var millisecond = function(part) {\r\n part = part || \"\";\r\n return getTimePart(part) * Math.pow(10, MILLISECOND_LENGHT - part.length)\r\n }(parts[11]);\r\n if (parts[12]) {\r\n return correctYear(new Date(Date.UTC(year, month, day, hour, minute, second, millisecond)))\r\n }\r\n return correctYear(new Date(year, month, day, hour, minute, second, millisecond))\r\n}\r\nvar getIso8601Format = function(text, useUtc) {\r\n var parts = text.match(ISO8601_PATTERN);\r\n var result = \"\";\r\n if (!parts) {\r\n parts = text.match(ISO8601_TIME_PATTERN);\r\n if (parts) {\r\n return parts[3] ? \"HH:mm:ss\" : \"HH:mm\"\r\n }\r\n return\r\n }\r\n for (var i = 1; i < ISO8601_PATTERN_PARTS.length; i++) {\r\n if (parts[i]) {\r\n result += ISO8601_PATTERN_PARTS[i] || parts[i]\r\n }\r\n }\r\n if (\"Z\" === parts[12]) {\r\n result += \"'Z'\"\r\n }\r\n if (parts[14]) {\r\n if (parts[15]) {\r\n result += \"xxx\"\r\n } else if (parts[16]) {\r\n result += \"xx\"\r\n } else {\r\n result += \"x\"\r\n }\r\n }\r\n return result\r\n};\r\nvar deserializeDate = function(value) {\r\n if (\"number\" === typeof value) {\r\n return new Date(value)\r\n }\r\n return dateParser(value, !config().forceIsoDateParsing)\r\n};\r\nvar serializeDate = function(value, serializationFormat) {\r\n if (!serializationFormat) {\r\n return value\r\n }\r\n if (!isDate(value)) {\r\n return null\r\n }\r\n if (serializationFormat === NUMBER_SERIALIZATION_FORMAT) {\r\n return value && value.valueOf ? value.valueOf() : null\r\n }\r\n return getLDMLFormatter(serializationFormat, defaultDateNames)(value)\r\n};\r\nvar getDateSerializationFormat = function(value) {\r\n if (\"number\" === typeof value) {\r\n return NUMBER_SERIALIZATION_FORMAT\r\n } else if (isString(value)) {\r\n var format;\r\n if (config().forceIsoDateParsing) {\r\n format = getIso8601Format(value)\r\n }\r\n if (format) {\r\n return format\r\n } else if (value.indexOf(\":\") >= 0) {\r\n return DATETIME_SERIALIZATION_FORMAT\r\n } else {\r\n return DATE_SERIALIZATION_FORMAT\r\n }\r\n } else if (value) {\r\n return null\r\n }\r\n};\r\nexport default {\r\n dateParser: dateParser,\r\n deserializeDate: deserializeDate,\r\n serializeDate: serializeDate,\r\n getDateSerializationFormat: getDateSerializationFormat\r\n};\r\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIn = moment.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return enIn;\n\n})));\n","/**\r\n * DevExtreme (esm/renovation/ui/common/utils/date/toMilliseconds.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar timeIntervals = {\r\n millisecond: 1,\r\n second: 1e3,\r\n minute: 6e4,\r\n hour: 36e5,\r\n day: 864e5,\r\n week: 6048e5,\r\n month: 2592e6,\r\n quarter: 7776e6,\r\n year: 31536e6\r\n};\r\nexport function toMilliseconds(value) {\r\n return timeIntervals[value]\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/date.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isObject,\r\n isString,\r\n isDate,\r\n isDefined,\r\n isNumeric\r\n} from \"./type\";\r\nimport {\r\n adjust\r\n} from \"./math\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport {\r\n camelize\r\n} from \"./inflector\";\r\nimport {\r\n toMilliseconds\r\n} from \"../../renovation/ui/common/utils/date/index\";\r\nvar DAYS_IN_WEEK = 7;\r\nvar THURSDAY_WEEK_NUMBER = 4;\r\nvar SUNDAY_WEEK_NUMBER = 7;\r\nvar USUAL_WEEK_COUNT_IN_YEAR = 52;\r\nvar dateUnitIntervals = [\"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"week\", \"month\", \"quarter\", \"year\"];\r\nvar getDatesInterval = function(startDate, endDate, intervalUnit) {\r\n var delta = endDate.getTime() - startDate.getTime();\r\n var millisecondCount = toMilliseconds(intervalUnit) || 1;\r\n return Math.floor(delta / millisecondCount)\r\n};\r\nvar getNextDateUnit = function(unit, withWeeks) {\r\n var interval = getDateUnitInterval(unit);\r\n switch (interval) {\r\n case \"millisecond\":\r\n return \"second\";\r\n case \"second\":\r\n return \"minute\";\r\n case \"minute\":\r\n return \"hour\";\r\n case \"hour\":\r\n return \"day\";\r\n case \"day\":\r\n return withWeeks ? \"week\" : \"month\";\r\n case \"week\":\r\n return \"month\";\r\n case \"month\":\r\n return \"quarter\";\r\n case \"quarter\":\r\n case \"year\":\r\n return \"year\";\r\n default:\r\n return 0\r\n }\r\n};\r\nvar convertMillisecondsToDateUnits = function(value) {\r\n var i;\r\n var dateUnitCount;\r\n var dateUnitInterval;\r\n var dateUnitIntervals = [\"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"month\", \"year\"];\r\n var result = {};\r\n for (i = dateUnitIntervals.length - 1; i >= 0; i--) {\r\n dateUnitInterval = dateUnitIntervals[i];\r\n dateUnitCount = Math.floor(value / toMilliseconds(dateUnitInterval));\r\n if (dateUnitCount > 0) {\r\n result[dateUnitInterval + \"s\"] = dateUnitCount;\r\n value -= convertDateUnitToMilliseconds(dateUnitInterval, dateUnitCount)\r\n }\r\n }\r\n return result\r\n};\r\nvar dateToMilliseconds = function(tickInterval) {\r\n var milliseconds = 0;\r\n if (isObject(tickInterval)) {\r\n each(tickInterval, (function(key, value) {\r\n milliseconds += convertDateUnitToMilliseconds(key.substr(0, key.length - 1), value)\r\n }))\r\n }\r\n if (isString(tickInterval)) {\r\n milliseconds = convertDateUnitToMilliseconds(tickInterval, 1)\r\n }\r\n return milliseconds\r\n};\r\n\r\nfunction convertDateUnitToMilliseconds(dateUnit, count) {\r\n return toMilliseconds(dateUnit) * count\r\n}\r\n\r\nfunction getDateUnitInterval(tickInterval) {\r\n var maxInterval = -1;\r\n var i;\r\n if (isString(tickInterval)) {\r\n return tickInterval\r\n }\r\n if (isObject(tickInterval)) {\r\n each(tickInterval, (function(key, value) {\r\n for (i = 0; i < dateUnitIntervals.length; i++) {\r\n if (value && (key === dateUnitIntervals[i] + \"s\" || key === dateUnitIntervals[i]) && maxInterval < i) {\r\n maxInterval = i\r\n }\r\n }\r\n }));\r\n return dateUnitIntervals[maxInterval]\r\n }\r\n return \"\"\r\n}\r\nvar tickIntervalToFormatMap = {\r\n millisecond: \"millisecond\",\r\n second: \"longtime\",\r\n minute: \"shorttime\",\r\n hour: \"shorttime\",\r\n day: \"day\",\r\n week: \"day\",\r\n month: \"month\",\r\n quarter: \"quarter\",\r\n year: \"year\"\r\n};\r\n\r\nfunction getDateFormatByTickInterval(tickInterval) {\r\n return tickIntervalToFormatMap[getDateUnitInterval(tickInterval)] || \"\"\r\n}\r\nvar getQuarter = function(month) {\r\n return Math.floor(month / 3)\r\n};\r\nvar getFirstQuarterMonth = function(month) {\r\n return 3 * getQuarter(month)\r\n};\r\n\r\nfunction correctDateWithUnitBeginning(date, dateInterval, withCorrection, firstDayOfWeek) {\r\n date = new Date(date.getTime());\r\n var oldDate = new Date(date.getTime());\r\n var firstQuarterMonth;\r\n var month;\r\n var dateUnitInterval = getDateUnitInterval(dateInterval);\r\n switch (dateUnitInterval) {\r\n case \"second\":\r\n date = new Date(1e3 * Math.floor(oldDate.getTime() / 1e3));\r\n break;\r\n case \"minute\":\r\n date = new Date(6e4 * Math.floor(oldDate.getTime() / 6e4));\r\n break;\r\n case \"hour\":\r\n date = new Date(36e5 * Math.floor(oldDate.getTime() / 36e5));\r\n break;\r\n case \"year\":\r\n date.setMonth(0);\r\n case \"month\":\r\n date.setDate(1);\r\n case \"day\":\r\n date.setHours(0, 0, 0, 0);\r\n break;\r\n case \"week\":\r\n date = getFirstWeekDate(date, firstDayOfWeek || 0);\r\n date.setHours(0, 0, 0, 0);\r\n break;\r\n case \"quarter\":\r\n firstQuarterMonth = getFirstQuarterMonth(date.getMonth());\r\n month = date.getMonth();\r\n date.setDate(1);\r\n date.setHours(0, 0, 0, 0);\r\n if (month !== firstQuarterMonth) {\r\n date.setMonth(firstQuarterMonth)\r\n }\r\n }\r\n if (withCorrection && \"hour\" !== dateUnitInterval && \"minute\" !== dateUnitInterval && \"second\" !== dateUnitInterval) {\r\n fixTimezoneGap(oldDate, date)\r\n }\r\n return date\r\n}\r\n\r\nfunction trimTime(date) {\r\n return correctDateWithUnitBeginning(date, \"day\")\r\n}\r\nvar setToDayEnd = function(date) {\r\n var result = trimTime(date);\r\n result.setDate(result.getDate() + 1);\r\n return new Date(result.getTime() - 1)\r\n};\r\nvar getDatesDifferences = function(date1, date2) {\r\n var counter = 0;\r\n var differences = {\r\n year: date1.getFullYear() !== date2.getFullYear(),\r\n month: date1.getMonth() !== date2.getMonth(),\r\n day: date1.getDate() !== date2.getDate(),\r\n hour: date1.getHours() !== date2.getHours(),\r\n minute: date1.getMinutes() !== date2.getMinutes(),\r\n second: date1.getSeconds() !== date2.getSeconds(),\r\n millisecond: date1.getMilliseconds() !== date2.getMilliseconds()\r\n };\r\n each(differences, (function(key, value) {\r\n if (value) {\r\n counter++\r\n }\r\n }));\r\n if (0 === counter && 0 !== getTimezonesDifference(date1, date2)) {\r\n differences.hour = true;\r\n counter++\r\n }\r\n differences.count = counter;\r\n return differences\r\n};\r\n\r\nfunction addDateInterval(value, interval, dir) {\r\n var result = new Date(value.getTime());\r\n var intervalObject = isString(interval) ? getDateIntervalByString(interval.toLowerCase()) : isNumeric(interval) ? convertMillisecondsToDateUnits(interval) : interval;\r\n if (intervalObject.years) {\r\n result.setFullYear(result.getFullYear() + intervalObject.years * dir)\r\n }\r\n if (intervalObject.quarters) {\r\n result.setMonth(result.getMonth() + 3 * intervalObject.quarters * dir)\r\n }\r\n if (intervalObject.months) {\r\n result.setMonth(result.getMonth() + intervalObject.months * dir)\r\n }\r\n if (intervalObject.weeks) {\r\n result.setDate(result.getDate() + 7 * intervalObject.weeks * dir)\r\n }\r\n if (intervalObject.days) {\r\n result.setDate(result.getDate() + intervalObject.days * dir)\r\n }\r\n if (intervalObject.hours) {\r\n result.setTime(result.getTime() + 36e5 * intervalObject.hours * dir)\r\n }\r\n if (intervalObject.minutes) {\r\n result.setTime(result.getTime() + 6e4 * intervalObject.minutes * dir)\r\n }\r\n if (intervalObject.seconds) {\r\n result.setTime(result.getTime() + 1e3 * intervalObject.seconds * dir)\r\n }\r\n if (intervalObject.milliseconds) {\r\n result.setTime(result.getTime() + intervalObject.milliseconds * dir)\r\n }\r\n return result\r\n}\r\nvar addInterval = function(value, interval, isNegative) {\r\n var dir = isNegative ? -1 : 1;\r\n return isDate(value) ? addDateInterval(value, interval, dir) : adjust(value + interval * dir, interval)\r\n};\r\nvar getSequenceByInterval = function(min, max, interval) {\r\n var intervals = [];\r\n var cur;\r\n intervals.push(isDate(min) ? new Date(min.getTime()) : min);\r\n cur = min;\r\n while (cur < max) {\r\n cur = addInterval(cur, interval);\r\n intervals.push(cur)\r\n }\r\n return intervals\r\n};\r\nvar getViewFirstCellDate = function(viewType, date) {\r\n if (\"month\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth(), 1)\r\n }\r\n if (\"year\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), 0, date.getDate())\r\n }\r\n if (\"decade\" === viewType) {\r\n return createDateWithFullYear(getFirstYearInDecade(date), date.getMonth(), date.getDate())\r\n }\r\n if (\"century\" === viewType) {\r\n return createDateWithFullYear(getFirstDecadeInCentury(date), date.getMonth(), date.getDate())\r\n }\r\n};\r\nvar getViewLastCellDate = function(viewType, date) {\r\n if (\"month\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth(), getLastMonthDay(date))\r\n }\r\n if (\"year\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), 11, date.getDate())\r\n }\r\n if (\"decade\" === viewType) {\r\n return createDateWithFullYear(getFirstYearInDecade(date) + 9, date.getMonth(), date.getDate())\r\n }\r\n if (\"century\" === viewType) {\r\n return createDateWithFullYear(getFirstDecadeInCentury(date) + 90, date.getMonth(), date.getDate())\r\n }\r\n};\r\nvar getViewMinBoundaryDate = function(viewType, date) {\r\n var resultDate = createDateWithFullYear(date.getFullYear(), date.getMonth(), 1);\r\n if (\"month\" === viewType) {\r\n return resultDate\r\n }\r\n resultDate.setMonth(0);\r\n if (\"year\" === viewType) {\r\n return resultDate\r\n }\r\n if (\"decade\" === viewType) {\r\n resultDate.setFullYear(getFirstYearInDecade(date))\r\n }\r\n if (\"century\" === viewType) {\r\n resultDate.setFullYear(getFirstDecadeInCentury(date))\r\n }\r\n return resultDate\r\n};\r\nvar getViewMaxBoundaryDate = function(viewType, date) {\r\n var resultDate = new Date(date);\r\n resultDate.setDate(getLastMonthDay(date));\r\n if (\"month\" === viewType) {\r\n return resultDate\r\n }\r\n resultDate.setMonth(11);\r\n resultDate.setDate(getLastMonthDay(resultDate));\r\n if (\"year\" === viewType) {\r\n return resultDate\r\n }\r\n if (\"decade\" === viewType) {\r\n resultDate.setFullYear(getFirstYearInDecade(date) + 9)\r\n }\r\n if (\"century\" === viewType) {\r\n resultDate.setFullYear(getFirstDecadeInCentury(date) + 99)\r\n }\r\n return resultDate\r\n};\r\n\r\nfunction getLastMonthDay(date) {\r\n var resultDate = createDateWithFullYear(date.getFullYear(), date.getMonth() + 1, 0);\r\n return resultDate.getDate()\r\n}\r\nvar getViewUp = function(typeView) {\r\n switch (typeView) {\r\n case \"month\":\r\n return \"year\";\r\n case \"year\":\r\n return \"decade\";\r\n case \"decade\":\r\n return \"century\"\r\n }\r\n};\r\nvar getViewDown = function(typeView) {\r\n switch (typeView) {\r\n case \"century\":\r\n return \"decade\";\r\n case \"decade\":\r\n return \"year\";\r\n case \"year\":\r\n return \"month\"\r\n }\r\n};\r\nvar getDifferenceInMonth = function(typeView) {\r\n var difference = 1;\r\n if (\"year\" === typeView) {\r\n difference = 12\r\n }\r\n if (\"decade\" === typeView) {\r\n difference = 120\r\n }\r\n if (\"century\" === typeView) {\r\n difference = 1200\r\n }\r\n return difference\r\n};\r\nvar getDifferenceInMonthForCells = function(typeView) {\r\n var difference = 1;\r\n if (\"decade\" === typeView) {\r\n difference = 12\r\n }\r\n if (\"century\" === typeView) {\r\n difference = 120\r\n }\r\n return difference\r\n};\r\n\r\nfunction getDateIntervalByString(intervalString) {\r\n var result = {};\r\n switch (intervalString) {\r\n case \"year\":\r\n result.years = 1;\r\n break;\r\n case \"month\":\r\n result.months = 1;\r\n break;\r\n case \"quarter\":\r\n result.months = 3;\r\n break;\r\n case \"week\":\r\n result.weeks = 1;\r\n break;\r\n case \"day\":\r\n result.days = 1;\r\n break;\r\n case \"hour\":\r\n result.hours = 1;\r\n break;\r\n case \"minute\":\r\n result.minutes = 1;\r\n break;\r\n case \"second\":\r\n result.seconds = 1;\r\n break;\r\n case \"millisecond\":\r\n result.milliseconds = 1\r\n }\r\n return result\r\n}\r\n\r\nfunction sameDate(date1, date2) {\r\n return sameMonthAndYear(date1, date2) && date1.getDate() === date2.getDate()\r\n}\r\n\r\nfunction sameMonthAndYear(date1, date2) {\r\n return sameYear(date1, date2) && date1.getMonth() === date2.getMonth()\r\n}\r\n\r\nfunction sameYear(date1, date2) {\r\n return date1 && date2 && date1.getFullYear() === date2.getFullYear()\r\n}\r\n\r\nfunction sameHoursAndMinutes(date1, date2) {\r\n return date1 && date2 && date1.getHours() === date2.getHours() && date1.getMinutes() === date2.getMinutes()\r\n}\r\nvar sameDecade = function(date1, date2) {\r\n if (!isDefined(date1) || !isDefined(date2)) {\r\n return\r\n }\r\n var startDecadeDate1 = date1.getFullYear() - date1.getFullYear() % 10;\r\n var startDecadeDate2 = date2.getFullYear() - date2.getFullYear() % 10;\r\n return date1 && date2 && startDecadeDate1 === startDecadeDate2\r\n};\r\nvar sameCentury = function(date1, date2) {\r\n if (!isDefined(date1) || !isDefined(date2)) {\r\n return\r\n }\r\n var startCenturyDate1 = date1.getFullYear() - date1.getFullYear() % 100;\r\n var startCenturyDate2 = date2.getFullYear() - date2.getFullYear() % 100;\r\n return date1 && date2 && startCenturyDate1 === startCenturyDate2\r\n};\r\n\r\nfunction getFirstDecadeInCentury(date) {\r\n return date && date.getFullYear() - date.getFullYear() % 100\r\n}\r\n\r\nfunction getFirstYearInDecade(date) {\r\n return date && date.getFullYear() - date.getFullYear() % 10\r\n}\r\nvar getShortDateFormat = function() {\r\n return \"yyyy/MM/dd\"\r\n};\r\nvar getFirstMonthDate = function(date) {\r\n if (!isDefined(date)) {\r\n return\r\n }\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth(), 1)\r\n};\r\nvar getLastMonthDate = function(date) {\r\n if (!isDefined(date)) {\r\n return\r\n }\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth() + 1, 0)\r\n};\r\n\r\nfunction getFirstWeekDate(date, firstDayOfWeek) {\r\n var delta = (date.getDay() - firstDayOfWeek + DAYS_IN_WEEK) % DAYS_IN_WEEK;\r\n var result = new Date(date);\r\n result.setDate(date.getDate() - delta);\r\n return result\r\n}\r\n\r\nfunction getUTCTime(date) {\r\n return Date.UTC(date.getFullYear(), date.getMonth(), date.getDate())\r\n}\r\n\r\nfunction getDayNumber(date) {\r\n var ms = getUTCTime(date) - getUTCTime(getFirstDateInYear(date.getFullYear()));\r\n return 1 + Math.floor(ms / toMilliseconds(\"day\"))\r\n}\r\n\r\nfunction getFirstDateInYear(year) {\r\n return new Date(year, 0, 1)\r\n}\r\n\r\nfunction getLastDateInYear(year) {\r\n return new Date(year, 11, 31)\r\n}\r\n\r\nfunction getDayWeekNumber(date, firstDayOfWeek) {\r\n var day = date.getDay() - firstDayOfWeek + 1;\r\n if (day <= 0) {\r\n day += DAYS_IN_WEEK\r\n }\r\n return day\r\n}\r\n\r\nfunction getWeekNumber(date, firstDayOfWeek, rule) {\r\n var firstWeekDayInYear = getDayWeekNumber(getFirstDateInYear(date.getFullYear()), firstDayOfWeek);\r\n var lastWeekDayInYear = getDayWeekNumber(getLastDateInYear(date.getFullYear()), firstDayOfWeek);\r\n var daysInFirstWeek = DAYS_IN_WEEK - firstWeekDayInYear + 1;\r\n var weekNumber = Math.ceil((getDayNumber(date) - daysInFirstWeek) / 7);\r\n switch (rule) {\r\n case \"fullWeek\":\r\n if (daysInFirstWeek === DAYS_IN_WEEK) {\r\n weekNumber++\r\n }\r\n if (0 === weekNumber) {\r\n var lastDateInPreviousYear = getLastDateInYear(date.getFullYear() - 1);\r\n return getWeekNumber(lastDateInPreviousYear, firstDayOfWeek, rule)\r\n }\r\n return weekNumber;\r\n case \"firstDay\":\r\n if (daysInFirstWeek > 0) {\r\n weekNumber++\r\n }\r\n var isSunday = firstWeekDayInYear === SUNDAY_WEEK_NUMBER || lastWeekDayInYear === SUNDAY_WEEK_NUMBER;\r\n if (weekNumber > USUAL_WEEK_COUNT_IN_YEAR && !isSunday || 54 === weekNumber) {\r\n weekNumber = 1\r\n }\r\n return weekNumber;\r\n case \"firstFourDays\":\r\n if (daysInFirstWeek > 3) {\r\n weekNumber++\r\n }\r\n var isThursday = firstWeekDayInYear === THURSDAY_WEEK_NUMBER || lastWeekDayInYear === THURSDAY_WEEK_NUMBER;\r\n if (weekNumber > USUAL_WEEK_COUNT_IN_YEAR && !isThursday) {\r\n weekNumber = 1\r\n }\r\n if (0 === weekNumber) {\r\n var _lastDateInPreviousYear = getLastDateInYear(date.getFullYear() - 1);\r\n return getWeekNumber(_lastDateInPreviousYear, firstDayOfWeek, rule)\r\n }\r\n return weekNumber\r\n }\r\n}\r\nvar normalizeDateByWeek = function(date, currentDate) {\r\n var differenceInDays = dateUtils.getDatesInterval(date, currentDate, \"day\");\r\n var resultDate = new Date(date);\r\n if (differenceInDays >= 6) {\r\n resultDate = new Date(resultDate.setDate(resultDate.getDate() + 7))\r\n }\r\n return resultDate\r\n};\r\nvar dateInRange = function(date, min, max, format) {\r\n if (\"date\" === format) {\r\n min = min && dateUtils.correctDateWithUnitBeginning(min, \"day\");\r\n max = max && dateUtils.correctDateWithUnitBeginning(max, \"day\");\r\n date = date && dateUtils.correctDateWithUnitBeginning(date, \"day\")\r\n }\r\n return normalizeDate(date, min, max) === date\r\n};\r\nvar intervalsOverlap = function(options) {\r\n var {\r\n firstMin: firstMin,\r\n firstMax: firstMax,\r\n secondMin: secondMin,\r\n secondMax: secondMax\r\n } = options;\r\n return firstMin <= secondMin && secondMin <= firstMax || firstMin > secondMin && firstMin < secondMax || firstMin < secondMax && firstMax > secondMax\r\n};\r\nvar dateTimeFromDecimal = function(number) {\r\n var hours = Math.floor(number);\r\n var minutes = number % 1 * 60;\r\n return {\r\n hours: hours,\r\n minutes: minutes\r\n }\r\n};\r\nvar roundDateByStartDayHour = function(date, startDayHour) {\r\n var startTime = this.dateTimeFromDecimal(startDayHour);\r\n var result = new Date(date);\r\n if (date.getHours() === startTime.hours && date.getMinutes() < startTime.minutes || date.getHours() < startTime.hours) {\r\n result.setHours(startTime.hours, startTime.minutes, 0, 0)\r\n }\r\n return result\r\n};\r\n\r\nfunction normalizeDate(date, min, max) {\r\n var normalizedDate = date;\r\n if (!isDefined(date)) {\r\n return date\r\n }\r\n if (isDefined(min) && date < min) {\r\n normalizedDate = min\r\n }\r\n if (isDefined(max) && date > max) {\r\n normalizedDate = max\r\n }\r\n return normalizedDate\r\n}\r\n\r\nfunction fixTimezoneGap(oldDate, newDate) {\r\n if (!isDefined(oldDate)) {\r\n return\r\n }\r\n var diff = newDate.getHours() - oldDate.getHours();\r\n if (0 === diff) {\r\n return\r\n }\r\n var sign = 1 === diff || -23 === diff ? -1 : 1;\r\n var trial = new Date(newDate.getTime() + 36e5 * sign);\r\n if (sign > 0 || trial.getDate() === newDate.getDate()) {\r\n newDate.setTime(trial.getTime())\r\n }\r\n}\r\nvar roundToHour = function(date) {\r\n var result = new Date(date.getTime());\r\n result.setHours(result.getHours() + 1);\r\n result.setMinutes(0);\r\n return result\r\n};\r\n\r\nfunction getTimezonesDifference(min, max) {\r\n return 60 * (max.getTimezoneOffset() - min.getTimezoneOffset()) * 1e3\r\n}\r\nvar makeDate = function(date) {\r\n return new Date(date)\r\n};\r\nvar getDatesOfInterval = function(startDate, endDate, step) {\r\n var result = [];\r\n var currentDate = new Date(startDate.getTime());\r\n while (currentDate < endDate) {\r\n result.push(new Date(currentDate.getTime()));\r\n currentDate = this.addInterval(currentDate, step)\r\n }\r\n return result\r\n};\r\nvar createDateWithFullYear = function(year) {\r\n var result = new Date(...arguments);\r\n result.setFullYear(year);\r\n return result\r\n};\r\nvar getMachineTimezoneName = () => {\r\n var hasIntl = \"undefined\" !== typeof Intl;\r\n return hasIntl ? Intl.DateTimeFormat().resolvedOptions().timeZone : null\r\n};\r\nvar dateUtils = {\r\n dateUnitIntervals: dateUnitIntervals,\r\n convertMillisecondsToDateUnits: convertMillisecondsToDateUnits,\r\n dateToMilliseconds: dateToMilliseconds,\r\n getNextDateUnit: getNextDateUnit,\r\n convertDateUnitToMilliseconds: convertDateUnitToMilliseconds,\r\n getDateUnitInterval: getDateUnitInterval,\r\n getDateFormatByTickInterval: getDateFormatByTickInterval,\r\n getDatesDifferences: getDatesDifferences,\r\n correctDateWithUnitBeginning: correctDateWithUnitBeginning,\r\n trimTime: trimTime,\r\n setToDayEnd: setToDayEnd,\r\n roundDateByStartDayHour: roundDateByStartDayHour,\r\n dateTimeFromDecimal: dateTimeFromDecimal,\r\n addDateInterval: addDateInterval,\r\n addInterval: addInterval,\r\n getSequenceByInterval: getSequenceByInterval,\r\n getDateIntervalByString: getDateIntervalByString,\r\n sameHoursAndMinutes: sameHoursAndMinutes,\r\n sameDate: sameDate,\r\n sameMonthAndYear: sameMonthAndYear,\r\n sameMonth: sameMonthAndYear,\r\n sameYear: sameYear,\r\n sameDecade: sameDecade,\r\n sameCentury: sameCentury,\r\n getDifferenceInMonth: getDifferenceInMonth,\r\n getDifferenceInMonthForCells: getDifferenceInMonthForCells,\r\n getFirstYearInDecade: getFirstYearInDecade,\r\n getFirstDecadeInCentury: getFirstDecadeInCentury,\r\n getShortDateFormat: getShortDateFormat,\r\n getViewFirstCellDate: getViewFirstCellDate,\r\n getViewLastCellDate: getViewLastCellDate,\r\n getViewDown: getViewDown,\r\n getViewUp: getViewUp,\r\n getLastMonthDay: getLastMonthDay,\r\n getLastMonthDate: getLastMonthDate,\r\n getFirstMonthDate: getFirstMonthDate,\r\n getFirstWeekDate: getFirstWeekDate,\r\n getWeekNumber: getWeekNumber,\r\n normalizeDateByWeek: normalizeDateByWeek,\r\n getQuarter: getQuarter,\r\n getFirstQuarterMonth: getFirstQuarterMonth,\r\n dateInRange: dateInRange,\r\n intervalsOverlap: intervalsOverlap,\r\n roundToHour: roundToHour,\r\n normalizeDate: normalizeDate,\r\n getViewMinBoundaryDate: getViewMinBoundaryDate,\r\n getViewMaxBoundaryDate: getViewMaxBoundaryDate,\r\n fixTimezoneGap: fixTimezoneGap,\r\n getTimezonesDifference: getTimezonesDifference,\r\n makeDate: makeDate,\r\n getDatesInterval: getDatesInterval,\r\n getDatesOfInterval: getDatesOfInterval,\r\n createDateWithFullYear: createDateWithFullYear,\r\n getMachineTimezoneName: getMachineTimezoneName\r\n};\r\ndateUtils.sameView = function(view, date1, date2) {\r\n return dateUtils[camelize(\"same \" + view)](date1, date2)\r\n};\r\nexport default dateUtils;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/m_utils.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n toComparable\r\n} from \"../../../core/utils/data\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../core/utils/position\";\r\nimport {\r\n getHeight\r\n} from \"../../../core/utils/size\";\r\nimport {\r\n format\r\n} from \"../../../core/utils/string\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isString\r\n} from \"../../../core/utils/type\";\r\nimport variableWrapper from \"../../../core/utils/variable_wrapper\";\r\nimport {\r\n getWindow\r\n} from \"../../../core/utils/window\";\r\nimport {\r\n DataSource\r\n} from \"../../../data/data_source/data_source\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"../../../data/data_source/utils\";\r\nimport {\r\n normalizeSortingInfo as normalizeSortingInfoUtility\r\n} from \"../../../data/utils\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport formatHelper from \"../../../format_helper\";\r\nimport LoadPanel from \"../../../ui/load_panel\";\r\nimport sharedFiltering from \"../../../ui/shared/filtering\";\r\nvar DATAGRID_SELECTION_DISABLED_CLASS = \"dx-selection-disabled\";\r\nvar DATAGRID_GROUP_OPENED_CLASS = \"dx-datagrid-group-opened\";\r\nvar DATAGRID_GROUP_CLOSED_CLASS = \"dx-datagrid-group-closed\";\r\nvar DATAGRID_EXPAND_CLASS = \"dx-datagrid-expand\";\r\nvar NO_DATA_CLASS = \"nodata\";\r\nvar SCROLLING_MODE_INFINITE = \"infinite\";\r\nvar SCROLLING_MODE_VIRTUAL = \"virtual\";\r\nvar LEGACY_SCROLLING_MODE = \"scrolling.legacyMode\";\r\nvar SCROLLING_MODE_OPTION = \"scrolling.mode\";\r\nvar ROW_RENDERING_MODE_OPTION = \"scrolling.rowRenderingMode\";\r\nvar DATE_INTERVAL_SELECTORS = {\r\n year: value => value && value.getFullYear(),\r\n month: value => value && value.getMonth() + 1,\r\n day: value => value && value.getDate(),\r\n quarter: value => value && Math.floor(value.getMonth() / 3) + 1,\r\n hour: value => value && value.getHours(),\r\n minute: value => value && value.getMinutes(),\r\n second: value => value && value.getSeconds()\r\n};\r\nvar getIntervalSelector = function() {\r\n var data = arguments[1];\r\n var value = this.calculateCellValue(data);\r\n if (!isDefined(value)) {\r\n return null\r\n }\r\n if (isDateType(this.dataType)) {\r\n var nameIntervalSelector = arguments[0];\r\n return DATE_INTERVAL_SELECTORS[nameIntervalSelector](value)\r\n }\r\n if (\"number\" === this.dataType) {\r\n var groupInterval = arguments[0];\r\n return Math.floor(Number(value) / groupInterval) * groupInterval\r\n }\r\n};\r\nvar equalSelectors = function(selector1, selector2) {\r\n if (isFunction(selector1) && isFunction(selector2)) {\r\n if (selector1.originalCallback && selector2.originalCallback) {\r\n return selector1.originalCallback === selector2.originalCallback && selector1.columnIndex === selector2.columnIndex\r\n }\r\n }\r\n return selector1 === selector2\r\n};\r\n\r\nfunction isDateType(dataType) {\r\n return \"date\" === dataType || \"datetime\" === dataType\r\n}\r\nvar setEmptyText = function($container) {\r\n $container.get(0).textContent = \"\\xa0\"\r\n};\r\nvar normalizeSortingInfo = function(sort) {\r\n sort = sort || [];\r\n var result = normalizeSortingInfoUtility(sort);\r\n for (var i = 0; i < sort.length; i++) {\r\n if (sort && sort[i] && void 0 !== sort[i].isExpanded) {\r\n result[i].isExpanded = sort[i].isExpanded\r\n }\r\n if (sort && sort[i] && void 0 !== sort[i].groupInterval) {\r\n result[i].groupInterval = sort[i].groupInterval\r\n }\r\n }\r\n return result\r\n};\r\nvar formatValue = function(value, options) {\r\n var valueText = formatHelper.format(value, options.format) || value && value.toString() || \"\";\r\n var formatObject = {\r\n value: value,\r\n valueText: options.getDisplayFormat ? options.getDisplayFormat(valueText) : valueText,\r\n target: options.target || \"row\",\r\n groupInterval: options.groupInterval\r\n };\r\n return options.customizeText ? options.customizeText.call(options, formatObject) : formatObject.valueText\r\n};\r\nvar getSummaryText = function(summaryItem, summaryTexts) {\r\n var displayFormat = summaryItem.displayFormat || summaryItem.columnCaption && summaryTexts[\"\".concat(summaryItem.summaryType, \"OtherColumn\")] || summaryTexts[summaryItem.summaryType];\r\n return formatValue(summaryItem.value, {\r\n format: summaryItem.valueFormat,\r\n getDisplayFormat: valueText => displayFormat ? format(displayFormat, valueText, summaryItem.columnCaption) : valueText,\r\n customizeText: summaryItem.customizeText\r\n })\r\n};\r\nvar getWidgetInstance = function($element) {\r\n var editorData = $element.data && $element.data();\r\n var dxComponents = editorData && editorData.dxComponents;\r\n var widgetName = dxComponents && dxComponents[0];\r\n return widgetName && editorData[widgetName]\r\n};\r\nvar equalFilterParameters = function equalFilterParameters(filter1, filter2) {\r\n if (Array.isArray(filter1) && Array.isArray(filter2)) {\r\n if (filter1.length !== filter2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < filter1.length; i++) {\r\n if (!equalFilterParameters(filter1[i], filter2[i])) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n if (isFunction(filter1) && filter1.columnIndex >= 0 && isFunction(filter2) && filter2.columnIndex >= 0) {\r\n return filter1.columnIndex === filter2.columnIndex && toComparable(filter1.filterValue) === toComparable(filter2.filterValue) && toComparable(filter1.selectedFilterOperation) === toComparable(filter2.selectedFilterOperation)\r\n }\r\n return toComparable(filter1) == toComparable(filter2)\r\n};\r\n\r\nfunction normalizeGroupingLoadOptions(group) {\r\n if (!Array.isArray(group)) {\r\n group = [group]\r\n }\r\n return group.map((item, i) => {\r\n if (isString(item)) {\r\n return {\r\n selector: item,\r\n isExpanded: i < group.length - 1\r\n }\r\n }\r\n return item\r\n })\r\n}\r\nexport default {\r\n renderNoDataText($element) {\r\n $element = $element || this.element();\r\n if (!$element) {\r\n return\r\n }\r\n var noDataClass = this.addWidgetPrefix(NO_DATA_CLASS);\r\n var noDataElement = $element.find(\".\".concat(noDataClass)).last();\r\n var isVisible = this._dataController.isEmpty();\r\n var isLoading = this._dataController.isLoading();\r\n if (!noDataElement.length) {\r\n noDataElement = $(\"<span>\").addClass(noDataClass)\r\n }\r\n if (!noDataElement.parent().is($element)) {\r\n noDataElement.appendTo($element)\r\n }\r\n if (isVisible && !isLoading) {\r\n noDataElement.removeClass(\"dx-hidden\").text(this._getNoDataText())\r\n } else {\r\n noDataElement.addClass(\"dx-hidden\")\r\n }\r\n },\r\n renderLoadPanel($element, $container, isLocalStore) {\r\n var loadPanelOptions;\r\n this._loadPanel && this._loadPanel.$element().remove();\r\n loadPanelOptions = this.option(\"loadPanel\");\r\n if (loadPanelOptions && (\"auto\" === loadPanelOptions.enabled ? !isLocalStore : loadPanelOptions.enabled)) {\r\n loadPanelOptions = extend({\r\n shading: false,\r\n message: loadPanelOptions.text,\r\n container: $container\r\n }, loadPanelOptions);\r\n this._loadPanel = this._createComponent($(\"<div>\").appendTo($container), LoadPanel, loadPanelOptions)\r\n } else {\r\n this._loadPanel = null\r\n }\r\n },\r\n calculateLoadPanelPosition($element) {\r\n var $window = $(getWindow());\r\n if (getHeight($element) > getHeight($window)) {\r\n return {\r\n of: $window,\r\n boundary: $element,\r\n collision: \"fit\"\r\n }\r\n }\r\n return {\r\n of: $element\r\n }\r\n },\r\n getIndexByKey(key, items, keyName) {\r\n var index = -1;\r\n if (void 0 !== key && Array.isArray(items)) {\r\n keyName = arguments.length <= 2 ? \"key\" : keyName;\r\n for (var i = 0; i < items.length; i++) {\r\n var item = isDefined(keyName) ? items[i][keyName] : items[i];\r\n if (equalByValue(key, item)) {\r\n index = i;\r\n break\r\n }\r\n }\r\n }\r\n return index\r\n },\r\n combineFilters(filters, operation) {\r\n var _a;\r\n var resultFilter = [];\r\n operation = operation || \"and\";\r\n for (var i = 0; i < filters.length; i++) {\r\n if (!filters[i]) {\r\n continue\r\n }\r\n if (1 === (null === (_a = filters[i]) || void 0 === _a ? void 0 : _a.length) && \"!\" === filters[i][0]) {\r\n if (\"and\" === operation) {\r\n return [\"!\"]\r\n }\r\n if (\"or\" === operation) {\r\n continue\r\n }\r\n }\r\n if (resultFilter.length) {\r\n resultFilter.push(operation)\r\n }\r\n resultFilter.push(filters[i])\r\n }\r\n if (1 === resultFilter.length) {\r\n resultFilter = resultFilter[0]\r\n }\r\n if (resultFilter.length) {\r\n return resultFilter\r\n }\r\n return\r\n },\r\n checkChanges(changes, changeNames) {\r\n var changesWithChangeNamesCount = 0;\r\n for (var i = 0; i < changeNames.length; i++) {\r\n if (changes[changeNames[i]]) {\r\n changesWithChangeNamesCount++\r\n }\r\n }\r\n return changes.length && changes.length === changesWithChangeNamesCount\r\n },\r\n equalFilterParameters: equalFilterParameters,\r\n proxyMethod(instance, methodName, defaultResult) {\r\n if (!instance[methodName]) {\r\n instance[methodName] = function() {\r\n var dataSource = this._dataSource;\r\n return dataSource ? dataSource[methodName].apply(dataSource, arguments) : defaultResult\r\n }\r\n }\r\n },\r\n formatValue: formatValue,\r\n getFormatOptionsByColumn: (column, target) => ({\r\n format: column.format,\r\n getDisplayFormat: column.getDisplayFormat,\r\n customizeText: column.customizeText,\r\n target: target,\r\n trueText: column.trueText,\r\n falseText: column.falseText\r\n }),\r\n getDisplayValue(column, value, data, rowType) {\r\n if (column.displayValueMap && void 0 !== column.displayValueMap[value]) {\r\n return column.displayValueMap[value]\r\n }\r\n if (column.calculateDisplayValue && data && \"group\" !== rowType) {\r\n return column.calculateDisplayValue(data)\r\n }\r\n if (column.lookup && !(\"group\" === rowType && (column.calculateGroupValue || column.calculateDisplayValue))) {\r\n return column.lookup.calculateCellValue(value)\r\n }\r\n return value\r\n },\r\n getGroupRowSummaryText(summaryItems, summaryTexts) {\r\n var result = \"(\";\r\n for (var i = 0; i < summaryItems.length; i++) {\r\n var summaryItem = summaryItems[i];\r\n result += (i > 0 ? \", \" : \"\") + getSummaryText(summaryItem, summaryTexts)\r\n }\r\n return result + \")\"\r\n },\r\n getSummaryText: getSummaryText,\r\n normalizeSortingInfo: normalizeSortingInfo,\r\n getFormatByDataType(dataType) {\r\n switch (dataType) {\r\n case \"date\":\r\n return \"shortDate\";\r\n case \"datetime\":\r\n return \"shortDateShortTime\";\r\n default:\r\n return\r\n }\r\n },\r\n getHeaderFilterGroupParameters(column, remoteGrouping) {\r\n var result = [];\r\n var dataField = column.dataField || column.name;\r\n var groupInterval = sharedFiltering.getGroupInterval(column);\r\n if (groupInterval) {\r\n each(groupInterval, (index, interval) => {\r\n result.push(remoteGrouping ? {\r\n selector: dataField,\r\n groupInterval: interval,\r\n isExpanded: index < groupInterval.length - 1\r\n } : getIntervalSelector.bind(column, interval))\r\n });\r\n return result\r\n }\r\n if (remoteGrouping) {\r\n result = [{\r\n selector: dataField,\r\n isExpanded: false\r\n }]\r\n } else {\r\n result = function(data) {\r\n var result = column.calculateCellValue(data);\r\n if (void 0 === result || \"\" === result) {\r\n result = null\r\n }\r\n return result\r\n };\r\n if (column.sortingMethod) {\r\n result = [{\r\n selector: result,\r\n compare: column.sortingMethod.bind(column)\r\n }]\r\n }\r\n }\r\n return result\r\n },\r\n equalSortParameters(sortParameters1, sortParameters2, ignoreIsExpanded) {\r\n sortParameters1 = normalizeSortingInfo(sortParameters1);\r\n sortParameters2 = normalizeSortingInfo(sortParameters2);\r\n if (Array.isArray(sortParameters1) && Array.isArray(sortParameters2)) {\r\n if (sortParameters1.length !== sortParameters2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < sortParameters1.length; i++) {\r\n if (!equalSelectors(sortParameters1[i].selector, sortParameters2[i].selector) || sortParameters1[i].desc !== sortParameters2[i].desc || sortParameters1[i].groupInterval !== sortParameters2[i].groupInterval || !ignoreIsExpanded && Boolean(sortParameters1[i].isExpanded) !== Boolean(sortParameters2[i].isExpanded)) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return (!sortParameters1 || !sortParameters1.length) === (!sortParameters2 || !sortParameters2.length)\r\n },\r\n getPointsByColumns(items, pointCreated, isVertical, startColumnIndex) {\r\n var cellsLength = items.length;\r\n var notCreatePoint = false;\r\n var item;\r\n var offset;\r\n var columnIndex = startColumnIndex || 0;\r\n var result = [];\r\n var rtlEnabled;\r\n for (var i = 0; i <= cellsLength; i++) {\r\n if (i < cellsLength) {\r\n item = items.eq(i);\r\n offset = item.offset();\r\n rtlEnabled = \"rtl\" === item.css(\"direction\")\r\n }\r\n var point = {\r\n index: columnIndex,\r\n x: offset ? offset.left + (!isVertical && rtlEnabled ^ i === cellsLength ? getBoundingRect(item[0]).width : 0) : 0,\r\n y: offset ? offset.top + (isVertical && i === cellsLength ? getBoundingRect(item[0]).height : 0) : 0,\r\n columnIndex: columnIndex\r\n };\r\n if (!isVertical && i > 0) {\r\n var prevItemOffset = items.eq(i - 1).offset();\r\n if (prevItemOffset.top < point.y) {\r\n point.y = prevItemOffset.top\r\n }\r\n }\r\n if (pointCreated) {\r\n notCreatePoint = pointCreated(point)\r\n }\r\n if (!notCreatePoint) {\r\n result.push(point)\r\n }\r\n columnIndex++\r\n }\r\n return result\r\n },\r\n getExpandCellTemplate: () => ({\r\n allowRenderToDetachedContainer: true,\r\n render(container, options) {\r\n var $container = $(container);\r\n if (isDefined(options.value) && !(options.data && options.data.isContinuation) && !options.row.isNewRow) {\r\n var rowsView = options.component.getView(\"rowsView\");\r\n $container.addClass(DATAGRID_EXPAND_CLASS).addClass(DATAGRID_SELECTION_DISABLED_CLASS);\r\n $(\"<div>\").addClass(options.value ? DATAGRID_GROUP_OPENED_CLASS : DATAGRID_GROUP_CLOSED_CLASS).appendTo($container);\r\n rowsView.setAria(\"label\", options.value ? rowsView.localize(\"dxDataGrid-ariaCollapse\") : rowsView.localize(\"dxDataGrid-ariaExpand\"), $container)\r\n } else {\r\n setEmptyText($container)\r\n }\r\n }\r\n }),\r\n setEmptyText: setEmptyText,\r\n isDateType: isDateType,\r\n getSelectionRange(focusedElement) {\r\n try {\r\n if (focusedElement) {\r\n return {\r\n selectionStart: focusedElement.selectionStart,\r\n selectionEnd: focusedElement.selectionEnd\r\n }\r\n }\r\n } catch (e) {}\r\n return {}\r\n },\r\n setSelectionRange(focusedElement, selectionRange) {\r\n try {\r\n if (focusedElement && focusedElement.setSelectionRange) {\r\n focusedElement.setSelectionRange(selectionRange.selectionStart, selectionRange.selectionEnd)\r\n }\r\n } catch (e) {}\r\n },\r\n focusAndSelectElement(component, $element) {\r\n var isFocused = $element.is(\":focus\");\r\n eventsEngine.trigger($element, \"focus\");\r\n var isSelectTextOnEditingStart = component.option(\"editing.selectTextOnEditStart\");\r\n var element = $element.get(0);\r\n if (!isFocused && isSelectTextOnEditingStart && $element.is(\".dx-texteditor-input\") && !$element.is(\"[readonly]\")) {\r\n var editor = getWidgetInstance($element.closest(\".dx-texteditor\"));\r\n when(editor && editor._loadItemDeferred).done(() => {\r\n element.select()\r\n })\r\n }\r\n },\r\n getWidgetInstance: getWidgetInstance,\r\n getLastResizableColumnIndex(columns, resultWidths) {\r\n var hasResizableColumns = columns.some(column => column && !column.command && !column.fixed && false !== column.allowResizing);\r\n var lastColumnIndex;\r\n for (lastColumnIndex = columns.length - 1; columns[lastColumnIndex]; lastColumnIndex--) {\r\n var column = columns[lastColumnIndex];\r\n var width = resultWidths && resultWidths[lastColumnIndex];\r\n var allowResizing = !hasResizableColumns || false !== column.allowResizing;\r\n if (!column.command && !column.fixed && \"adaptiveHidden\" !== width && allowResizing) {\r\n break\r\n }\r\n }\r\n return lastColumnIndex\r\n },\r\n isElementInCurrentGrid(controller, $element) {\r\n if ($element && $element.length) {\r\n var $grid = $element.closest(\".\".concat(controller.getWidgetContainerClass())).parent();\r\n return $grid.is(controller.component.$element())\r\n }\r\n return false\r\n },\r\n isVirtualRowRendering(that) {\r\n var rowRenderingMode = that.option(ROW_RENDERING_MODE_OPTION);\r\n var isVirtualMode = that.option(SCROLLING_MODE_OPTION) === SCROLLING_MODE_VIRTUAL;\r\n var isAppendMode = that.option(SCROLLING_MODE_OPTION) === SCROLLING_MODE_INFINITE;\r\n if (false === that.option(LEGACY_SCROLLING_MODE) && (isVirtualMode || isAppendMode)) {\r\n return true\r\n }\r\n return rowRenderingMode === SCROLLING_MODE_VIRTUAL\r\n },\r\n getPixelRatio: window => window.devicePixelRatio || 1,\r\n getContentHeightLimit(browser) {\r\n if (browser.mozilla) {\r\n return 8e6\r\n }\r\n return 15e6 / this.getPixelRatio(getWindow())\r\n },\r\n normalizeLookupDataSource(lookup) {\r\n var lookupDataSourceOptions;\r\n if (lookup.items) {\r\n lookupDataSourceOptions = lookup.items\r\n } else {\r\n lookupDataSourceOptions = lookup.dataSource;\r\n if (isFunction(lookupDataSourceOptions) && !variableWrapper.isWrapped(lookupDataSourceOptions)) {\r\n lookupDataSourceOptions = lookupDataSourceOptions({})\r\n }\r\n }\r\n return normalizeDataSourceOptions(lookupDataSourceOptions)\r\n },\r\n getWrappedLookupDataSource(column, dataSource, filter) {\r\n if (!dataSource) {\r\n return []\r\n }\r\n var lookupDataSourceOptions = this.normalizeLookupDataSource(column.lookup);\r\n if (column.calculateCellValue !== column.defaultCalculateCellValue) {\r\n return lookupDataSourceOptions\r\n }\r\n var hasGroupPaging = dataSource.remoteOperations().groupPaging;\r\n var hasLookupOptimization = column.displayField && isString(column.displayField);\r\n var cachedUniqueRelevantItems;\r\n var previousTake;\r\n var previousSkip;\r\n var sliceItems = (items, loadOptions) => {\r\n var _a;\r\n var start = null !== (_a = loadOptions.skip) && void 0 !== _a ? _a : 0;\r\n var end = loadOptions.take ? start + loadOptions.take : items.length;\r\n return items.slice(start, end)\r\n };\r\n var lookupDataSource = _extends(_extends({}, lookupDataSourceOptions), {\r\n __dataGridSourceFilter: filter,\r\n load: loadOptions => {\r\n var d = new Deferred;\r\n (loadOptions => {\r\n var group = normalizeGroupingLoadOptions(hasLookupOptimization ? [column.dataField, column.displayField] : column.dataField);\r\n var d = new Deferred;\r\n var canUseCache = cachedUniqueRelevantItems && (!hasGroupPaging || loadOptions.skip === previousSkip && loadOptions.take === previousTake);\r\n if (canUseCache) {\r\n d.resolve(sliceItems(cachedUniqueRelevantItems, loadOptions))\r\n } else {\r\n previousSkip = loadOptions.skip;\r\n previousTake = loadOptions.take;\r\n dataSource.load({\r\n filter: filter,\r\n group: group,\r\n take: hasGroupPaging ? loadOptions.take : void 0,\r\n skip: hasGroupPaging ? loadOptions.skip : void 0\r\n }).done(items => {\r\n cachedUniqueRelevantItems = items;\r\n d.resolve(hasGroupPaging ? items : sliceItems(items, loadOptions))\r\n }).fail(d.fail)\r\n }\r\n return d\r\n })(loadOptions).done(items => {\r\n if (0 === items.length) {\r\n d.resolve([]);\r\n return\r\n }\r\n var filter = this.combineFilters(items.flatMap(data => data.key).map(key => [column.lookup.valueExpr, key]), \"or\");\r\n var newDataSource = new DataSource(_extends(_extends(_extends({}, lookupDataSourceOptions), loadOptions), {\r\n filter: this.combineFilters([filter, loadOptions.filter], \"and\"),\r\n paginate: false\r\n }));\r\n newDataSource.load().done(d.resolve).fail(d.fail)\r\n }).fail(d.fail);\r\n return d\r\n },\r\n key: column.lookup.valueExpr,\r\n byKey(key) {\r\n var d = Deferred();\r\n this.load({\r\n filter: [column.lookup.valueExpr, \"=\", key]\r\n }).done(arr => {\r\n d.resolve(arr[0])\r\n });\r\n return d.promise()\r\n }\r\n });\r\n return lookupDataSource\r\n },\r\n logHeaderFilterDeprecatedWarningIfNeed(component) {\r\n var logWarning = component._logDeprecatedOptionWarning.bind(component);\r\n if (isDefined(component.option(\"headerFilter.allowSearch\"))) {\r\n logWarning(\"headerFilter.allowSearch\", {\r\n since: \"23.1\",\r\n alias: \"headerFilter.search.enabled\"\r\n })\r\n }\r\n if (isDefined(component.option(\"headerFilter.searchTimeout\"))) {\r\n logWarning(\"headerFilter.searchTimeout\", {\r\n since: \"23.1\",\r\n alias: \"headerFilter.search.timeout\"\r\n })\r\n }\r\n var specificName = \"dxPivotGrid\" === component.NAME ? \"dataSource.fields\" : \"columns\";\r\n var columns = component.option(specificName);\r\n if (!Array.isArray(columns)) {\r\n return\r\n }\r\n var logSpecificDeprecatedWarningIfNeed = columns => {\r\n columns.forEach(column => {\r\n var _a;\r\n var headerFilter = column.headerFilter || {};\r\n if (isDefined(headerFilter.allowSearch)) {\r\n logWarning(\"\".concat(specificName, \"[].headerFilter.allowSearch\"), {\r\n since: \"23.1\",\r\n alias: \"\".concat(specificName, \"[].headerFilter.search.enabled\")\r\n })\r\n }\r\n if (isDefined(headerFilter.searchMode)) {\r\n logWarning(\"\".concat(specificName, \"[].headerFilter.searchMode\"), {\r\n since: \"23.1\",\r\n alias: \"\".concat(specificName, \"[].headerFilter.search.mode\")\r\n })\r\n }\r\n if (null === (_a = column.columns) || void 0 === _a ? void 0 : _a.length) {\r\n logSpecificDeprecatedWarningIfNeed(column.columns)\r\n }\r\n })\r\n };\r\n logSpecificDeprecatedWarningIfNeed(columns)\r\n }\r\n};\r\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n '_'\n ),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n '_'\n ),\n weekdays:\n 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n '_'\n ),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n },\n calendar: {\n sameDay: '[අද] LT[ට]',\n nextDay: '[හෙට] LT[ට]',\n nextWeek: 'dddd LT[ට]',\n lastDay: '[ඊයේ] LT[ට]',\n lastWeek: '[පසුගිය] dddd LT[ට]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sකින්',\n past: '%sකට පෙර',\n s: 'තත්පර කිහිපය',\n ss: 'තත්පර %d',\n m: 'මිනිත්තුව',\n mm: 'මිනිත්තු %d',\n h: 'පැය',\n hh: 'පැය %d',\n d: 'දිනය',\n dd: 'දින %d',\n M: 'මාසය',\n MM: 'මාස %d',\n y: 'වසර',\n yy: 'වසර %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal: function (number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n },\n });\n\n return si;\n\n})));\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","/**\r\n * DevExtreme (esm/core/utils/svg.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getWindow\r\n} from \"./window\";\r\nimport $ from \"../../core/renderer\";\r\nvar window = getWindow();\r\n\r\nfunction getMarkup(element, backgroundColor) {\r\n var temp = domAdapter.createElement(\"div\");\r\n var clone = element.cloneNode(true);\r\n if (backgroundColor) {\r\n $(clone).css(\"backgroundColor\", backgroundColor)\r\n }\r\n temp.appendChild(clone);\r\n return temp.innerHTML\r\n}\r\n\r\nfunction fixNamespaces(markup) {\r\n var first = true;\r\n if (-1 === markup.indexOf(\"xmlns:xlink\")) {\r\n markup = markup.replace(\"<svg\", '<svg xmlns:xlink=\"http://www.w3.org/1999/xlink\"')\r\n }\r\n markup = markup.replace(/xmlns=\"[\\s\\S]*?\"/gi, (function(match) {\r\n if (!first) {\r\n return \"\"\r\n }\r\n first = false;\r\n return match\r\n }));\r\n return markup.replace(/xmlns:NS1=\"[\\s\\S]*?\"/gi, \"\").replace(/NS1:xmlns:xlink=\"([\\s\\S]*?)\"/gi, 'xmlns:xlink=\"$1\"')\r\n}\r\n\r\nfunction decodeHtmlEntities(markup) {\r\n return markup.replace(/"/gi, \""\").replace(/&/gi, \"&\").replace(/'/gi, \"'\").replace(/</gi, \"<\").replace(/>/gi, \">\").replace(/ /gi, \" \").replace(/­/gi, \"­\")\r\n}\r\nexport var HIDDEN_FOR_EXPORT = \"hidden-for-export\";\r\nexport function getSvgMarkup(element, backgroundColor) {\r\n return fixNamespaces(decodeHtmlEntities(getMarkup(element, backgroundColor)))\r\n}\r\nexport function getSvgElement(markup) {\r\n return domAdapter.isNode(markup) ? markup : (new window.DOMParser).parseFromString(markup, \"image/svg+xml\").childNodes[0]\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/array_compare.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isObject\r\n} from \"./type\";\r\nvar getKeyWrapper = function(item, getKey) {\r\n var key = getKey(item);\r\n if (isObject(key)) {\r\n try {\r\n return JSON.stringify(key)\r\n } catch (e) {\r\n return key\r\n }\r\n }\r\n return key\r\n};\r\nvar getSameNewByOld = function(oldItem, newItems, newIndexByKey, getKey) {\r\n var key = getKeyWrapper(oldItem, getKey);\r\n return newItems[newIndexByKey[key]]\r\n};\r\nexport var isKeysEqual = function(oldKeys, newKeys) {\r\n if (oldKeys.length !== newKeys.length) {\r\n return false\r\n }\r\n for (var i = 0; i < newKeys.length; i++) {\r\n if (oldKeys[i] !== newKeys[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nexport var findChanges = function(oldItems, newItems, getKey, isItemEquals) {\r\n var oldIndexByKey = {};\r\n var newIndexByKey = {};\r\n var addedCount = 0;\r\n var removeCount = 0;\r\n var result = [];\r\n oldItems.forEach((function(item, index) {\r\n var key = getKeyWrapper(item, getKey);\r\n oldIndexByKey[key] = index\r\n }));\r\n newItems.forEach((function(item, index) {\r\n var key = getKeyWrapper(item, getKey);\r\n newIndexByKey[key] = index\r\n }));\r\n var itemCount = Math.max(oldItems.length, newItems.length);\r\n for (var index = 0; index < itemCount + addedCount; index++) {\r\n var newItem = newItems[index];\r\n var oldNextIndex = index - addedCount + removeCount;\r\n var nextOldItem = oldItems[oldNextIndex];\r\n var isRemoved = !newItem || nextOldItem && !getSameNewByOld(nextOldItem, newItems, newIndexByKey, getKey);\r\n if (isRemoved) {\r\n if (nextOldItem) {\r\n result.push({\r\n type: \"remove\",\r\n key: getKey(nextOldItem),\r\n index: index,\r\n oldItem: nextOldItem\r\n });\r\n removeCount++;\r\n index--\r\n }\r\n } else {\r\n var key = getKeyWrapper(newItem, getKey);\r\n var oldIndex = oldIndexByKey[key];\r\n var oldItem = oldItems[oldIndex];\r\n if (!oldItem) {\r\n addedCount++;\r\n result.push({\r\n type: \"insert\",\r\n data: newItem,\r\n index: index\r\n })\r\n } else if (oldIndex === oldNextIndex) {\r\n if (!isItemEquals(oldItem, newItem)) {\r\n result.push({\r\n type: \"update\",\r\n data: newItem,\r\n key: getKey(newItem),\r\n index: index,\r\n oldItem: oldItem\r\n })\r\n }\r\n } else {\r\n return\r\n }\r\n }\r\n }\r\n return result\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/m_draggable.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport positionUtils from \"../animation/position\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../animation/translator\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport DOMComponent from \"../core/dom_component\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../core/templates/empty_template\";\r\nimport {\r\n noop,\r\n splitPair\r\n} from \"../core/utils/common\";\r\nimport {\r\n Deferred,\r\n fromPromise,\r\n when\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n dasherize\r\n} from \"../core/utils/inflector\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport {\r\n quadToObject\r\n} from \"../core/utils/string\";\r\nimport {\r\n isFunction,\r\n isNumeric,\r\n isObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n value as viewPort\r\n} from \"../core/utils/view_port\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n end as dragEventEnd,\r\n enter as dragEventEnter,\r\n leave as dragEventLeave,\r\n move as dragEventMove,\r\n start as dragEventStart\r\n} from \"../events/drag\";\r\nimport pointerEvents from \"../events/pointer\";\r\nimport {\r\n addNamespace,\r\n needSkipEvent\r\n} from \"../events/utils/index\";\r\nimport Animator from \"../ui/scroll_view/animator\";\r\nvar window = getWindow();\r\nvar KEYDOWN_EVENT = \"keydown\";\r\nvar DRAGGABLE = \"dxDraggable\";\r\nvar DRAGSTART_EVENT_NAME = addNamespace(dragEventStart, DRAGGABLE);\r\nvar DRAG_EVENT_NAME = addNamespace(dragEventMove, DRAGGABLE);\r\nvar DRAGEND_EVENT_NAME = addNamespace(dragEventEnd, DRAGGABLE);\r\nvar DRAG_ENTER_EVENT_NAME = addNamespace(dragEventEnter, DRAGGABLE);\r\nvar DRAGEND_LEAVE_EVENT_NAME = addNamespace(dragEventLeave, DRAGGABLE);\r\nvar POINTERDOWN_EVENT_NAME = addNamespace(pointerEvents.down, DRAGGABLE);\r\nvar KEYDOWN_EVENT_NAME = addNamespace(KEYDOWN_EVENT, DRAGGABLE);\r\nvar CLONE_CLASS = \"clone\";\r\nvar targetDraggable;\r\nvar sourceDraggable;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar getMousePosition = event => ({\r\n x: event.pageX - $(window).scrollLeft(),\r\n y: event.pageY - $(window).scrollTop()\r\n});\r\nvar GESTURE_COVER_CLASS = \"dx-gesture-cover\";\r\nvar OVERLAY_WRAPPER_CLASS = \"dx-overlay-wrapper\";\r\nvar OVERLAY_CONTENT_CLASS = \"dx-overlay-content\";\r\nclass ScrollHelper {\r\n constructor(orientation, component) {\r\n this._$scrollableAtPointer = null;\r\n this._preventScroll = true;\r\n this._component = component;\r\n if (\"vertical\" === orientation) {\r\n this._scrollValue = \"scrollTop\";\r\n this._overFlowAttr = \"overflowY\";\r\n this._sizeAttr = \"height\";\r\n this._scrollSizeProp = \"scrollHeight\";\r\n this._clientSizeProp = \"clientHeight\";\r\n this._limitProps = {\r\n start: \"top\",\r\n end: \"bottom\"\r\n }\r\n } else {\r\n this._scrollValue = \"scrollLeft\";\r\n this._overFlowAttr = \"overflowX\";\r\n this._sizeAttr = \"width\";\r\n this._scrollSizeProp = \"scrollWidth\";\r\n this._clientSizeProp = \"clientWidth\";\r\n this._limitProps = {\r\n start: \"left\",\r\n end: \"right\"\r\n }\r\n }\r\n }\r\n updateScrollable(elements, mousePosition) {\r\n var isScrollableFound = false;\r\n elements.some(element => {\r\n var $element = $(element);\r\n var isTargetOverOverlayWrapper = $element.hasClass(OVERLAY_WRAPPER_CLASS);\r\n var isTargetOverOverlayContent = $element.hasClass(OVERLAY_CONTENT_CLASS);\r\n if (isTargetOverOverlayWrapper || isTargetOverOverlayContent) {\r\n return true\r\n }\r\n isScrollableFound = this._trySetScrollable(element, mousePosition);\r\n return isScrollableFound\r\n });\r\n if (!isScrollableFound) {\r\n this._$scrollableAtPointer = null;\r\n this._scrollSpeed = 0\r\n }\r\n }\r\n isScrolling() {\r\n return !!this._scrollSpeed\r\n }\r\n isScrollable($element) {\r\n return (\"auto\" === $element.css(this._overFlowAttr) || $element.hasClass(\"dx-scrollable-container\")) && $element.prop(this._scrollSizeProp) > Math.ceil(\"width\" === this._sizeAttr ? getWidth($element) : getHeight($element))\r\n }\r\n _trySetScrollable(element, mousePosition) {\r\n var $element = $(element);\r\n var distanceToBorders;\r\n var sensitivity = this._component.option(\"scrollSensitivity\");\r\n var isScrollable = this.isScrollable($element);\r\n if (isScrollable) {\r\n distanceToBorders = this._calculateDistanceToBorders($element, mousePosition);\r\n if (sensitivity > distanceToBorders[this._limitProps.start]) {\r\n if (!this._preventScroll) {\r\n this._scrollSpeed = -this._calculateScrollSpeed(distanceToBorders[this._limitProps.start]);\r\n this._$scrollableAtPointer = $element\r\n }\r\n } else if (sensitivity > distanceToBorders[this._limitProps.end]) {\r\n if (!this._preventScroll) {\r\n this._scrollSpeed = this._calculateScrollSpeed(distanceToBorders[this._limitProps.end]);\r\n this._$scrollableAtPointer = $element\r\n }\r\n } else {\r\n isScrollable = false;\r\n this._preventScroll = false\r\n }\r\n }\r\n return isScrollable\r\n }\r\n _calculateDistanceToBorders($area, mousePosition) {\r\n var area = $area.get(0);\r\n var areaBoundingRect;\r\n if (area) {\r\n areaBoundingRect = getBoundingRect(area);\r\n return {\r\n left: mousePosition.x - areaBoundingRect.left,\r\n top: mousePosition.y - areaBoundingRect.top,\r\n right: areaBoundingRect.right - mousePosition.x,\r\n bottom: areaBoundingRect.bottom - mousePosition.y\r\n }\r\n }\r\n return {}\r\n }\r\n _calculateScrollSpeed(distance) {\r\n var component = this._component;\r\n var sensitivity = component.option(\"scrollSensitivity\");\r\n var maxSpeed = component.option(\"scrollSpeed\");\r\n return Math.ceil(Math.pow((sensitivity - distance) / sensitivity, 2) * maxSpeed)\r\n }\r\n scrollByStep() {\r\n if (this._$scrollableAtPointer && this._scrollSpeed) {\r\n if (this._$scrollableAtPointer.hasClass(\"dx-scrollable-container\")) {\r\n var $scrollable = this._$scrollableAtPointer.closest(\".dx-scrollable\");\r\n var scrollableInstance = $scrollable.data(\"dxScrollable\") || $scrollable.data(\"dxScrollView\");\r\n if (scrollableInstance) {\r\n var nextScrollPosition = scrollableInstance.scrollOffset()[this._limitProps.start] + this._scrollSpeed;\r\n scrollableInstance.scrollTo({\r\n [this._limitProps.start]: nextScrollPosition\r\n })\r\n }\r\n } else {\r\n var _nextScrollPosition = this._$scrollableAtPointer[this._scrollValue]() + this._scrollSpeed;\r\n this._$scrollableAtPointer[this._scrollValue](_nextScrollPosition)\r\n }\r\n var dragMoveArgs = this._component._dragMoveArgs;\r\n if (dragMoveArgs) {\r\n this._component._dragMoveHandler(dragMoveArgs)\r\n }\r\n }\r\n }\r\n reset() {\r\n this._$scrollableAtPointer = null;\r\n this._scrollSpeed = 0;\r\n this._preventScroll = true\r\n }\r\n isOutsideScrollable($scrollable, event) {\r\n if (!$scrollable) {\r\n return false\r\n }\r\n var scrollableSize = getBoundingRect($scrollable.get(0));\r\n var start = scrollableSize[this._limitProps.start];\r\n var size = scrollableSize[this._sizeAttr];\r\n var mousePosition = getMousePosition(event);\r\n var location = \"width\" === this._sizeAttr ? mousePosition.x : mousePosition.y;\r\n return location < start || location > start + size\r\n }\r\n}\r\nvar ScrollAnimator = Animator.inherit({\r\n ctor(strategy) {\r\n this.callBase();\r\n this._strategy = strategy\r\n },\r\n _step() {\r\n var horizontalScrollHelper = this._strategy._horizontalScrollHelper;\r\n var verticalScrollHelper = this._strategy._verticalScrollHelper;\r\n horizontalScrollHelper && horizontalScrollHelper.scrollByStep();\r\n verticalScrollHelper && verticalScrollHelper.scrollByStep()\r\n }\r\n});\r\nvar Draggable = DOMComponent.inherit({\r\n reset: noop,\r\n dragMove: noop,\r\n dragEnter: noop,\r\n dragLeave: noop,\r\n dragEnd(sourceEvent) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable._fireRemoveEvent(sourceEvent);\r\n return Deferred().resolve()\r\n },\r\n _fireRemoveEvent: noop,\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n onDragStart: null,\r\n onDragMove: null,\r\n onDragEnd: null,\r\n onDragEnter: null,\r\n onDragLeave: null,\r\n onDragCancel: null,\r\n onCancelByEsc: false,\r\n onDrop: null,\r\n immediate: true,\r\n dragDirection: \"both\",\r\n boundary: void 0,\r\n boundOffset: 0,\r\n allowMoveByClick: false,\r\n itemData: null,\r\n container: void 0,\r\n dragTemplate: void 0,\r\n contentTemplate: \"content\",\r\n handle: \"\",\r\n filter: \"\",\r\n clone: false,\r\n autoScroll: true,\r\n scrollSpeed: 30,\r\n scrollSensitivity: 60,\r\n group: void 0,\r\n data: void 0\r\n })\r\n },\r\n _setOptionsByReference() {\r\n this.callBase.apply(this, arguments);\r\n extend(this._optionsByReference, {\r\n component: true,\r\n group: true,\r\n itemData: true,\r\n data: true\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._attachEventHandlers();\r\n this._scrollAnimator = new ScrollAnimator(this);\r\n this._horizontalScrollHelper = new ScrollHelper(\"horizontal\", this);\r\n this._verticalScrollHelper = new ScrollHelper(\"vertical\", this);\r\n this._initScrollTop = 0;\r\n this._initScrollLeft = 0\r\n },\r\n _normalizeCursorOffset(offset) {\r\n if (isObject(offset)) {\r\n offset = {\r\n h: offset.x,\r\n v: offset.y\r\n }\r\n }\r\n offset = splitPair(offset).map(value => parseFloat(value));\r\n return {\r\n left: offset[0],\r\n top: 1 === offset.length ? offset[0] : offset[1]\r\n }\r\n },\r\n _getNormalizedCursorOffset(offset, options) {\r\n if (isFunction(offset)) {\r\n offset = offset.call(this, options)\r\n }\r\n return this._normalizeCursorOffset(offset)\r\n },\r\n _calculateElementOffset(options) {\r\n var elementOffset;\r\n var dragElementOffset;\r\n var {\r\n event: event\r\n } = options;\r\n var $element = $(options.itemElement);\r\n var $dragElement = $(options.dragElement);\r\n var isCloned = this._dragElementIsCloned();\r\n var cursorOffset = this.option(\"cursorOffset\");\r\n var normalizedCursorOffset = {\r\n left: 0,\r\n top: 0\r\n };\r\n var currentLocate = this._initialLocate = locate($dragElement);\r\n if (isCloned || options.initialOffset || cursorOffset) {\r\n elementOffset = options.initialOffset || $element.offset();\r\n if (cursorOffset) {\r\n normalizedCursorOffset = this._getNormalizedCursorOffset(cursorOffset, options);\r\n if (isFinite(normalizedCursorOffset.left)) {\r\n elementOffset.left = event.pageX\r\n }\r\n if (isFinite(normalizedCursorOffset.top)) {\r\n elementOffset.top = event.pageY\r\n }\r\n }\r\n dragElementOffset = $dragElement.offset();\r\n elementOffset.top -= dragElementOffset.top + (normalizedCursorOffset.top || 0) - currentLocate.top;\r\n elementOffset.left -= dragElementOffset.left + (normalizedCursorOffset.left || 0) - currentLocate.left\r\n }\r\n return elementOffset\r\n },\r\n _initPosition(options) {\r\n var $dragElement = $(options.dragElement);\r\n var elementOffset = this._calculateElementOffset(options);\r\n if (elementOffset) {\r\n this._move(elementOffset, $dragElement)\r\n }\r\n this._startPosition = locate($dragElement)\r\n },\r\n _startAnimator() {\r\n if (!this._scrollAnimator.inProgress()) {\r\n this._scrollAnimator.start()\r\n }\r\n },\r\n _stopAnimator() {\r\n this._scrollAnimator.stop()\r\n },\r\n _addWidgetPrefix(className) {\r\n var componentName = this.NAME;\r\n return dasherize(componentName) + (className ? \"-\".concat(className) : \"\")\r\n },\r\n _getItemsSelector() {\r\n return this.option(\"filter\") || \"\"\r\n },\r\n _$content() {\r\n var $element = this.$element();\r\n var $wrapper = $element.children(\".dx-template-wrapper\");\r\n return $wrapper.length ? $wrapper : $element\r\n },\r\n _attachEventHandlers() {\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n var $element = this._$content();\r\n var itemsSelector = this._getItemsSelector();\r\n var allowMoveByClick = this.option(\"allowMoveByClick\");\r\n var data = {\r\n direction: this.option(\"dragDirection\"),\r\n immediate: this.option(\"immediate\"),\r\n checkDropTarget: ($target, event) => {\r\n var targetGroup = this.option(\"group\");\r\n var sourceGroup = this._getSourceDraggable().option(\"group\");\r\n var $scrollable = this._getScrollable($target);\r\n if (this._verticalScrollHelper.isOutsideScrollable($scrollable, event) || this._horizontalScrollHelper.isOutsideScrollable($scrollable, event)) {\r\n return false\r\n }\r\n return sourceGroup && sourceGroup === targetGroup\r\n }\r\n };\r\n if (allowMoveByClick) {\r\n $element = this._getArea();\r\n eventsEngine.on($element, POINTERDOWN_EVENT_NAME, data, this._pointerDownHandler.bind(this))\r\n }\r\n if (\">\" === itemsSelector[0]) {\r\n itemsSelector = itemsSelector.slice(1)\r\n }\r\n eventsEngine.on($element, DRAGSTART_EVENT_NAME, itemsSelector, data, this._dragStartHandler.bind(this));\r\n eventsEngine.on($element, DRAG_EVENT_NAME, data, this._dragMoveHandler.bind(this));\r\n eventsEngine.on($element, DRAGEND_EVENT_NAME, data, this._dragEndHandler.bind(this));\r\n eventsEngine.on($element, DRAG_ENTER_EVENT_NAME, data, this._dragEnterHandler.bind(this));\r\n eventsEngine.on($element, DRAGEND_LEAVE_EVENT_NAME, data, this._dragLeaveHandler.bind(this));\r\n if (this.option(\"onCancelByEsc\")) {\r\n eventsEngine.on($element, KEYDOWN_EVENT_NAME, this._keydownHandler.bind(this))\r\n }\r\n },\r\n _dragElementIsCloned() {\r\n return this._$dragElement && this._$dragElement.hasClass(this._addWidgetPrefix(CLONE_CLASS))\r\n },\r\n _getDragTemplateArgs($element, $container) {\r\n return {\r\n container: getPublicElement($container),\r\n model: {\r\n itemData: this.option(\"itemData\"),\r\n itemElement: getPublicElement($element)\r\n }\r\n }\r\n },\r\n _createDragElement($element) {\r\n var result = $element;\r\n var clone = this.option(\"clone\");\r\n var $container = this._getContainer();\r\n var template = this.option(\"dragTemplate\");\r\n if (template) {\r\n template = this._getTemplate(template);\r\n result = $(\"<div>\").appendTo($container);\r\n template.render(this._getDragTemplateArgs($element, result))\r\n } else if (clone) {\r\n result = $(\"<div>\").appendTo($container);\r\n $element.clone().css({\r\n width: $element.css(\"width\"),\r\n height: $element.css(\"height\")\r\n }).appendTo(result)\r\n }\r\n return result.toggleClass(this._addWidgetPrefix(CLONE_CLASS), result.get(0) !== $element.get(0)).toggleClass(\"dx-rtl\", this.option(\"rtlEnabled\"))\r\n },\r\n _resetDragElement() {\r\n if (this._dragElementIsCloned()) {\r\n this._$dragElement.remove()\r\n } else {\r\n this._toggleDraggingClass(false)\r\n }\r\n this._$dragElement = null\r\n },\r\n _resetSourceElement() {\r\n this._toggleDragSourceClass(false);\r\n this._$sourceElement = null\r\n },\r\n _detachEventHandlers() {\r\n eventsEngine.off(this._$content(), \".\".concat(DRAGGABLE));\r\n eventsEngine.off(this._getArea(), \".\".concat(DRAGGABLE))\r\n },\r\n _move(position, $element) {\r\n move($element || this._$dragElement, position)\r\n },\r\n _getDraggableElement(e) {\r\n var $sourceElement = this._getSourceElement();\r\n if ($sourceElement) {\r\n return $sourceElement\r\n }\r\n var allowMoveByClick = this.option(\"allowMoveByClick\");\r\n if (allowMoveByClick) {\r\n return this.$element()\r\n }\r\n var $target = $(e && e.target);\r\n var itemsSelector = this._getItemsSelector();\r\n if (\">\" === itemsSelector[0]) {\r\n var $items = this._$content().find(itemsSelector);\r\n if (!$items.is($target)) {\r\n $target = $target.closest($items)\r\n }\r\n }\r\n return $target\r\n },\r\n _getSourceElement() {\r\n var draggable = this._getSourceDraggable();\r\n return draggable._$sourceElement\r\n },\r\n _pointerDownHandler(e) {\r\n if (needSkipEvent(e)) {\r\n return\r\n }\r\n var position = {};\r\n var $element = this.$element();\r\n var dragDirection = this.option(\"dragDirection\");\r\n if (\"horizontal\" === dragDirection || \"both\" === dragDirection) {\r\n position.left = e.pageX - $element.offset().left + locate($element).left - getWidth($element) / 2\r\n }\r\n if (\"vertical\" === dragDirection || \"both\" === dragDirection) {\r\n position.top = e.pageY - $element.offset().top + locate($element).top - getHeight($element) / 2\r\n }\r\n this._move(position, $element);\r\n this._getAction(\"onDragMove\")(this._getEventArgs(e))\r\n },\r\n _isValidElement(event, $element) {\r\n var handle = this.option(\"handle\");\r\n var $target = $(event.originalEvent && event.originalEvent.target);\r\n if (handle && !$target.closest(handle).length) {\r\n return false\r\n }\r\n if (!$element.length) {\r\n return false\r\n }\r\n return !$element.is(\".dx-state-disabled, .dx-state-disabled *\")\r\n },\r\n _dragStartHandler(e) {\r\n var $element = this._getDraggableElement(e);\r\n this.dragInProgress = true;\r\n if (!this._isValidElement(e, $element)) {\r\n e.cancel = true;\r\n return\r\n }\r\n if (this._$sourceElement) {\r\n return\r\n }\r\n var dragStartArgs = this._getDragStartArgs(e, $element);\r\n this._getAction(\"onDragStart\")(dragStartArgs);\r\n if (dragStartArgs.cancel) {\r\n e.cancel = true;\r\n return\r\n }\r\n this.option(\"itemData\", dragStartArgs.itemData);\r\n this._setSourceDraggable();\r\n this._$sourceElement = $element;\r\n var initialOffset = $element.offset();\r\n if (!this._hasClonedDraggable() && this.option(\"autoScroll\")) {\r\n this._initScrollTop = this._getScrollableScrollTop();\r\n this._initScrollLeft = this._getScrollableScrollLeft();\r\n initialOffset = this._getDraggableElementOffset(initialOffset.left, initialOffset.top)\r\n }\r\n var $dragElement = this._$dragElement = this._createDragElement($element);\r\n this._toggleDraggingClass(true);\r\n this._toggleDragSourceClass(true);\r\n this._setGestureCoverCursor($dragElement.children());\r\n var isFixedPosition = \"fixed\" === $dragElement.css(\"position\");\r\n this._initPosition(extend({}, dragStartArgs, {\r\n dragElement: $dragElement.get(0),\r\n initialOffset: isFixedPosition && initialOffset\r\n }));\r\n this._getAction(\"onDraggableElementShown\")(_extends(_extends({}, dragStartArgs), {\r\n dragElement: $dragElement\r\n }));\r\n var $area = this._getArea();\r\n var areaOffset = this._getAreaOffset($area);\r\n var boundOffset = this._getBoundOffset();\r\n var areaWidth = getOuterWidth($area);\r\n var areaHeight = getOuterHeight($area);\r\n var elementWidth = getWidth($dragElement);\r\n var elementHeight = getHeight($dragElement);\r\n var startOffset_left = $dragElement.offset().left - areaOffset.left,\r\n startOffset_top = $dragElement.offset().top - areaOffset.top;\r\n if ($area.length) {\r\n e.maxLeftOffset = startOffset_left - boundOffset.left;\r\n e.maxRightOffset = areaWidth - startOffset_left - elementWidth - boundOffset.right;\r\n e.maxTopOffset = startOffset_top - boundOffset.top;\r\n e.maxBottomOffset = areaHeight - startOffset_top - elementHeight - boundOffset.bottom\r\n }\r\n if (this.option(\"autoScroll\")) {\r\n this._startAnimator()\r\n }\r\n },\r\n _getAreaOffset($area) {\r\n var offset = $area && positionUtils.offset($area);\r\n return offset || {\r\n left: 0,\r\n top: 0\r\n }\r\n },\r\n _toggleDraggingClass(value) {\r\n this._$dragElement && this._$dragElement.toggleClass(this._addWidgetPrefix(\"dragging\"), value)\r\n },\r\n _toggleDragSourceClass(value, $element) {\r\n var $sourceElement = $element || this._$sourceElement;\r\n $sourceElement && $sourceElement.toggleClass(this._addWidgetPrefix(\"source\"), value)\r\n },\r\n _setGestureCoverCursor($element) {\r\n $(\".\".concat(GESTURE_COVER_CLASS)).css(\"cursor\", $element.css(\"cursor\"))\r\n },\r\n _getBoundOffset() {\r\n var boundOffset = this.option(\"boundOffset\");\r\n if (isFunction(boundOffset)) {\r\n boundOffset = boundOffset.call(this)\r\n }\r\n return quadToObject(boundOffset)\r\n },\r\n _getArea() {\r\n var area = this.option(\"boundary\");\r\n if (isFunction(area)) {\r\n area = area.call(this)\r\n }\r\n return $(area)\r\n },\r\n _getContainer() {\r\n var container = this.option(\"container\");\r\n if (void 0 === container) {\r\n container = viewPort()\r\n }\r\n return $(container)\r\n },\r\n _getDraggableElementOffset(initialOffsetX, initialOffsetY) {\r\n var _a, _b, _c, _d;\r\n var initScrollTop = this._initScrollTop;\r\n var initScrollLeft = this._initScrollLeft;\r\n var scrollTop = this._getScrollableScrollTop();\r\n var scrollLeft = this._getScrollableScrollLeft();\r\n var elementPosition = $(this.element()).css(\"position\");\r\n var isFixedPosition = \"fixed\" === elementPosition;\r\n var result = {\r\n left: (null !== (_b = null === (_a = this._startPosition) || void 0 === _a ? void 0 : _a.left) && void 0 !== _b ? _b : 0) + initialOffsetX,\r\n top: (null !== (_d = null === (_c = this._startPosition) || void 0 === _c ? void 0 : _c.top) && void 0 !== _d ? _d : 0) + initialOffsetY\r\n };\r\n if (isFixedPosition || this._hasClonedDraggable()) {\r\n return result\r\n }\r\n return {\r\n left: isNumeric(scrollLeft) ? result.left + scrollLeft - initScrollLeft : result.left,\r\n top: isNumeric(scrollTop) ? result.top + scrollTop - initScrollTop : result.top\r\n }\r\n },\r\n _hasClonedDraggable() {\r\n return this.option(\"clone\") || this.option(\"dragTemplate\")\r\n },\r\n _dragMoveHandler(e) {\r\n this._dragMoveArgs = e;\r\n if (!this._$dragElement) {\r\n e.cancel = true;\r\n return\r\n }\r\n var offset = this._getDraggableElementOffset(e.offset.x, e.offset.y);\r\n this._move(offset);\r\n this._updateScrollable(e);\r\n var eventArgs = this._getEventArgs(e);\r\n this._getAction(\"onDragMove\")(eventArgs);\r\n if (true === eventArgs.cancel) {\r\n return\r\n }\r\n var targetDraggable = this._getTargetDraggable();\r\n targetDraggable.dragMove(e, scrollBy)\r\n },\r\n _updateScrollable(e) {\r\n if (this.option(\"autoScroll\")) {\r\n var mousePosition = getMousePosition(e);\r\n var allObjects = domAdapter.elementsFromPoint(mousePosition.x, mousePosition.y, this.$element().get(0));\r\n this._verticalScrollHelper.updateScrollable(allObjects, mousePosition);\r\n this._horizontalScrollHelper.updateScrollable(allObjects, mousePosition)\r\n }\r\n },\r\n _getScrollable($element) {\r\n var $scrollable;\r\n $element.parents().toArray().some(parent => {\r\n var $parent = $(parent);\r\n if (this._horizontalScrollHelper.isScrollable($parent) || this._verticalScrollHelper.isScrollable($parent)) {\r\n $scrollable = $parent;\r\n return true\r\n }\r\n return false\r\n });\r\n return $scrollable\r\n },\r\n _getScrollableScrollTop() {\r\n var _a, _b;\r\n return null !== (_b = null === (_a = this._getScrollable($(this.element()))) || void 0 === _a ? void 0 : _a.scrollTop()) && void 0 !== _b ? _b : 0\r\n },\r\n _getScrollableScrollLeft() {\r\n var _a, _b;\r\n return null !== (_b = null === (_a = this._getScrollable($(this.element()))) || void 0 === _a ? void 0 : _a.scrollLeft()) && void 0 !== _b ? _b : 0\r\n },\r\n _defaultActionArgs() {\r\n var args = this.callBase.apply(this, arguments);\r\n var component = this.option(\"component\");\r\n if (component) {\r\n args.component = component;\r\n args.element = component.element()\r\n }\r\n return args\r\n },\r\n _getEventArgs(e) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var targetDraggable = this._getTargetDraggable();\r\n return {\r\n event: e,\r\n itemData: sourceDraggable.option(\"itemData\"),\r\n itemElement: getPublicElement(sourceDraggable._$sourceElement),\r\n fromComponent: sourceDraggable.option(\"component\") || sourceDraggable,\r\n toComponent: targetDraggable.option(\"component\") || targetDraggable,\r\n fromData: sourceDraggable.option(\"data\"),\r\n toData: targetDraggable.option(\"data\")\r\n }\r\n },\r\n _getDragStartArgs(e, $itemElement) {\r\n var args = this._getEventArgs(e);\r\n return {\r\n event: args.event,\r\n itemData: args.itemData,\r\n itemElement: $itemElement,\r\n fromData: args.fromData\r\n }\r\n },\r\n _revertItemToInitialPosition() {\r\n !this._dragElementIsCloned() && this._move(this._initialLocate, this._$sourceElement)\r\n },\r\n _dragEndHandler(e) {\r\n var d = Deferred();\r\n var dragEndEventArgs = this._getEventArgs(e);\r\n var dropEventArgs = this._getEventArgs(e);\r\n var targetDraggable = this._getTargetDraggable();\r\n var needRevertPosition = true;\r\n this.dragInProgress = false;\r\n try {\r\n this._getAction(\"onDragEnd\")(dragEndEventArgs)\r\n } finally {\r\n when(fromPromise(dragEndEventArgs.cancel)).done(cancel => {\r\n if (!cancel) {\r\n if (targetDraggable !== this) {\r\n targetDraggable._getAction(\"onDrop\")(dropEventArgs)\r\n }\r\n if (!dropEventArgs.cancel) {\r\n needRevertPosition = false;\r\n when(fromPromise(targetDraggable.dragEnd(dragEndEventArgs))).always(d.resolve);\r\n return\r\n }\r\n }\r\n d.resolve()\r\n }).fail(d.resolve);\r\n d.done(() => {\r\n if (needRevertPosition) {\r\n this._revertItemToInitialPosition()\r\n }\r\n this._resetDragOptions(targetDraggable)\r\n })\r\n }\r\n },\r\n _isTargetOverAnotherDraggable(e) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n if (this === sourceDraggable) {\r\n return false\r\n }\r\n var $dragElement = sourceDraggable._$dragElement;\r\n var $sourceDraggableElement = sourceDraggable.$element();\r\n var $targetDraggableElement = this.$element();\r\n var mousePosition = getMousePosition(e);\r\n var elements = domAdapter.elementsFromPoint(mousePosition.x, mousePosition.y, this.element());\r\n var firstWidgetElement = elements.filter(element => {\r\n var $element = $(element);\r\n if ($element.hasClass(this._addWidgetPrefix())) {\r\n return !$element.closest($dragElement).length\r\n }\r\n return false\r\n })[0];\r\n var $sourceElement = this._getSourceElement();\r\n var isTargetOverItself = firstWidgetElement === $sourceDraggableElement.get(0);\r\n var isTargetOverNestedDraggable = $(firstWidgetElement).closest($sourceElement).length;\r\n return !firstWidgetElement || firstWidgetElement === $targetDraggableElement.get(0) && !isTargetOverItself && !isTargetOverNestedDraggable\r\n },\r\n _dragEnterHandler(e) {\r\n this._fireDragEnterEvent(e);\r\n if (this._isTargetOverAnotherDraggable(e)) {\r\n this._setTargetDraggable()\r\n }\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable.dragEnter(e)\r\n },\r\n _dragLeaveHandler(e) {\r\n this._fireDragLeaveEvent(e);\r\n this._resetTargetDraggable();\r\n if (this !== this._getSourceDraggable()) {\r\n this.reset()\r\n }\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable.dragLeave(e)\r\n },\r\n _keydownHandler(e) {\r\n if (this.dragInProgress && \"Escape\" === e.key) {\r\n this._keydownEscapeHandler(e)\r\n }\r\n },\r\n _keydownEscapeHandler(e) {\r\n var $sourceElement = this._getSourceElement();\r\n if (!$sourceElement) {\r\n return\r\n }\r\n var dragCancelEventArgs = this._getEventArgs(e);\r\n this._getAction(\"onDragCancel\")(dragCancelEventArgs);\r\n if (dragCancelEventArgs.cancel) {\r\n return\r\n }\r\n this.dragInProgress = false;\r\n null === sourceDraggable || void 0 === sourceDraggable ? void 0 : sourceDraggable._toggleDraggingClass(false);\r\n this._detachEventHandlers();\r\n this._revertItemToInitialPosition();\r\n var targetDraggable = this._getTargetDraggable();\r\n this._resetDragOptions(targetDraggable);\r\n this._attachEventHandlers()\r\n },\r\n _getAction(name) {\r\n return this[\"_\".concat(name, \"Action\")] || this._createActionByOption(name)\r\n },\r\n _getAnonymousTemplateName: () => ANONYMOUS_TEMPLATE_NAME,\r\n _initTemplates() {\r\n if (!this.option(\"contentTemplate\")) {\r\n return\r\n }\r\n this._templateManager.addDefaultTemplates({\r\n content: new EmptyTemplate\r\n });\r\n this.callBase.apply(this, arguments)\r\n },\r\n _render() {\r\n this.callBase();\r\n this.$element().addClass(this._addWidgetPrefix());\r\n var transclude = this._templateManager.anonymousTemplateName === this.option(\"contentTemplate\");\r\n var template = this._getTemplateByOption(\"contentTemplate\");\r\n if (template) {\r\n $(template.render({\r\n container: this.element(),\r\n transclude: transclude\r\n }))\r\n }\r\n },\r\n _optionChanged(args) {\r\n var {\r\n name: name\r\n } = args;\r\n switch (name) {\r\n case \"onDragStart\":\r\n case \"onDragMove\":\r\n case \"onDragEnd\":\r\n case \"onDrop\":\r\n case \"onDragEnter\":\r\n case \"onDragLeave\":\r\n case \"onDragCancel\":\r\n case \"onDraggableElementShown\":\r\n this[\"_\".concat(name, \"Action\")] = this._createActionByOption(name);\r\n break;\r\n case \"dragTemplate\":\r\n case \"contentTemplate\":\r\n case \"container\":\r\n case \"clone\":\r\n break;\r\n case \"allowMoveByClick\":\r\n case \"dragDirection\":\r\n case \"disabled\":\r\n case \"boundary\":\r\n case \"filter\":\r\n case \"immediate\":\r\n this._resetDragElement();\r\n this._detachEventHandlers();\r\n this._attachEventHandlers();\r\n break;\r\n case \"onCancelByEsc\":\r\n this._keydownHandler();\r\n break;\r\n case \"autoScroll\":\r\n this._verticalScrollHelper.reset();\r\n this._horizontalScrollHelper.reset();\r\n break;\r\n case \"scrollSensitivity\":\r\n case \"scrollSpeed\":\r\n case \"boundOffset\":\r\n case \"handle\":\r\n case \"group\":\r\n case \"data\":\r\n case \"itemData\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _getTargetDraggable() {\r\n return targetDraggable || this\r\n },\r\n _getSourceDraggable() {\r\n return sourceDraggable || this\r\n },\r\n _setTargetDraggable() {\r\n var currentGroup = this.option(\"group\");\r\n var sourceDraggable = this._getSourceDraggable();\r\n if (currentGroup && currentGroup === sourceDraggable.option(\"group\")) {\r\n targetDraggable = this\r\n }\r\n },\r\n _setSourceDraggable() {\r\n sourceDraggable = this\r\n },\r\n _resetSourceDraggable() {\r\n sourceDraggable = null\r\n },\r\n _resetTargetDraggable() {\r\n targetDraggable = null\r\n },\r\n _resetDragOptions(targetDraggable) {\r\n this.reset();\r\n targetDraggable.reset();\r\n this._stopAnimator();\r\n this._horizontalScrollHelper.reset();\r\n this._verticalScrollHelper.reset();\r\n this._resetDragElement();\r\n this._resetSourceElement();\r\n this._resetTargetDraggable();\r\n this._resetSourceDraggable()\r\n },\r\n _dispose() {\r\n this.callBase();\r\n this._detachEventHandlers();\r\n this._resetDragElement();\r\n this._resetTargetDraggable();\r\n this._resetSourceDraggable();\r\n this._$sourceElement = null;\r\n this._stopAnimator()\r\n },\r\n _fireDragEnterEvent(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onDragEnter\")(args)\r\n },\r\n _fireDragLeaveEvent(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onDragLeave\")(args)\r\n }\r\n});\r\nregisterComponent(DRAGGABLE, Draggable);\r\nexport default Draggable;\r\n","/**\r\n * DevExtreme (esm/__internal/m_sortable.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport fx from \"../animation/fx\";\r\nimport {\r\n resetPosition\r\n} from \"../animation/translator\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport Draggable from \"./m_draggable\";\r\nimport {\r\n isDefined\r\n} from \"../core/utils/type\";\r\nvar window = getWindow();\r\nvar SORTABLE = \"dxSortable\";\r\nvar PLACEHOLDER_CLASS = \"placeholder\";\r\nvar CLONE_CLASS = \"clone\";\r\nvar isElementVisible = itemElement => $(itemElement).is(\":visible\");\r\nvar animate = (element, config) => {\r\n var _a, _b;\r\n if (!element) {\r\n return\r\n }\r\n var left = (null === (_a = config.to) || void 0 === _a ? void 0 : _a.left) || 0;\r\n var top = (null === (_b = config.to) || void 0 === _b ? void 0 : _b.top) || 0;\r\n element.style.transform = \"translate(\".concat(left, \"px,\").concat(top, \"px)\");\r\n element.style.transition = fx.off ? \"\" : \"transform \".concat(config.duration, \"ms \").concat(config.easing)\r\n};\r\nvar stopAnimation = element => {\r\n if (!element) {\r\n return\r\n }\r\n element.style.transform = \"\";\r\n element.style.transition = \"\"\r\n};\r\n\r\nfunction getScrollableBoundary($scrollable) {\r\n var offset = $scrollable.offset();\r\n var {\r\n style: style\r\n } = $scrollable[0];\r\n var paddingLeft = parseFloat(style.paddingLeft) || 0;\r\n var paddingRight = parseFloat(style.paddingRight) || 0;\r\n var paddingTop = parseFloat(style.paddingTop) || 0;\r\n var width = $scrollable[0].clientWidth - (paddingLeft + paddingRight);\r\n var height = getHeight($scrollable);\r\n var left = offset.left + paddingLeft;\r\n var top = offset.top + paddingTop;\r\n return {\r\n left: left,\r\n right: left + width,\r\n top: top,\r\n bottom: top + height\r\n }\r\n}\r\nvar Sortable = Draggable.inherit({\r\n _init() {\r\n this.callBase();\r\n this._sourceScrollHandler = this._handleSourceScroll.bind(this);\r\n this._sourceScrollableInfo = null\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n clone: true,\r\n filter: \"> *\",\r\n itemOrientation: \"vertical\",\r\n dropFeedbackMode: \"push\",\r\n allowDropInsideItem: false,\r\n allowReordering: true,\r\n moveItemOnDrop: false,\r\n onDragChange: null,\r\n onAdd: null,\r\n onRemove: null,\r\n onReorder: null,\r\n onPlaceholderPrepared: null,\r\n animation: {\r\n type: \"slide\",\r\n duration: 300,\r\n easing: \"ease\"\r\n },\r\n fromIndex: null,\r\n toIndex: null,\r\n dropInsideItem: false,\r\n itemPoints: null,\r\n fromIndexOffset: 0,\r\n offset: 0,\r\n autoUpdate: false,\r\n draggableElementSize: 0\r\n })\r\n },\r\n reset() {\r\n this.option({\r\n dropInsideItem: false,\r\n toIndex: null,\r\n fromIndex: null,\r\n itemPoints: null,\r\n fromIndexOffset: 0,\r\n draggableElementSize: 0\r\n });\r\n if (this._$placeholderElement) {\r\n this._$placeholderElement.remove()\r\n }\r\n this._$placeholderElement = null;\r\n if (!this._isIndicateMode() && this._$modifiedItem) {\r\n this._$modifiedItem.css(\"marginBottom\", this._modifiedItemMargin);\r\n this._$modifiedItem = null\r\n }\r\n },\r\n _getPrevVisibleItem: (items, index) => items.slice(0, index).reverse().filter(isElementVisible)[0],\r\n _dragStartHandler(e) {\r\n this.callBase.apply(this, arguments);\r\n if (true === e.cancel) {\r\n return\r\n }\r\n var $sourceElement = this._getSourceElement();\r\n this._updateItemPoints();\r\n this._subscribeToSourceScroll(e);\r\n this.option(\"fromIndex\", this._getElementIndex($sourceElement));\r\n this.option(\"fromIndexOffset\", this.option(\"offset\"))\r\n },\r\n _subscribeToSourceScroll(e) {\r\n var $scrollable = this._getScrollable($(e.target));\r\n if ($scrollable) {\r\n this._sourceScrollableInfo = {\r\n element: $scrollable,\r\n scrollLeft: $scrollable.scrollLeft(),\r\n scrollTop: $scrollable.scrollTop()\r\n };\r\n eventsEngine.off($scrollable, \"scroll\", this._sourceScrollHandler);\r\n eventsEngine.on($scrollable, \"scroll\", this._sourceScrollHandler)\r\n }\r\n },\r\n _unsubscribeFromSourceScroll() {\r\n if (this._sourceScrollableInfo) {\r\n eventsEngine.off(this._sourceScrollableInfo.element, \"scroll\", this._sourceScrollHandler);\r\n this._sourceScrollableInfo = null\r\n }\r\n },\r\n _handleSourceScroll(e) {\r\n var sourceScrollableInfo = this._sourceScrollableInfo;\r\n if (sourceScrollableInfo) {\r\n [\"scrollLeft\", \"scrollTop\"].forEach(scrollProp => {\r\n if (e.target[scrollProp] !== sourceScrollableInfo[scrollProp]) {\r\n var scrollBy = e.target[scrollProp] - sourceScrollableInfo[scrollProp];\r\n this._correctItemPoints(scrollBy);\r\n this._movePlaceholder();\r\n sourceScrollableInfo[scrollProp] = e.target[scrollProp]\r\n }\r\n })\r\n }\r\n },\r\n _dragEnterHandler(e) {\r\n this.callBase.apply(this, arguments);\r\n if (this === this._getSourceDraggable()) {\r\n return\r\n }\r\n this._subscribeToSourceScroll(e);\r\n this._updateItemPoints();\r\n this.option(\"fromIndex\", -1);\r\n if (!this._isIndicateMode()) {\r\n var itemPoints = this.option(\"itemPoints\");\r\n var lastItemPoint = itemPoints[itemPoints.length - 1];\r\n if (lastItemPoint) {\r\n var $element = this.$element();\r\n var $sourceElement = this._getSourceElement();\r\n var isVertical = this._isVerticalOrientation();\r\n var sourceElementSize = isVertical ? getOuterHeight($sourceElement, true) : getOuterWidth($sourceElement, true);\r\n var scrollSize = $element.get(0)[isVertical ? \"scrollHeight\" : \"scrollWidth\"];\r\n var scrollPosition = $element.get(0)[isVertical ? \"scrollTop\" : \"scrollLeft\"];\r\n var positionProp = isVertical ? \"top\" : \"left\";\r\n var lastPointPosition = lastItemPoint[positionProp];\r\n var elementPosition = $element.offset()[positionProp];\r\n var freeSize = elementPosition + scrollSize - scrollPosition - lastPointPosition;\r\n if (freeSize < sourceElementSize) {\r\n if (isVertical) {\r\n var items = this._getItems();\r\n var $lastItem = $(this._getPrevVisibleItem(items));\r\n this._$modifiedItem = $lastItem;\r\n this._modifiedItemMargin = $lastItem.get(0).style.marginBottom;\r\n $lastItem.css(\"marginBottom\", sourceElementSize - freeSize);\r\n var $sortable = $lastItem.closest(\".dx-sortable\");\r\n var sortable = $sortable.data(\"dxScrollable\") || $sortable.data(\"dxScrollView\");\r\n sortable && sortable.update()\r\n }\r\n }\r\n }\r\n }\r\n },\r\n _dragLeaveHandler() {\r\n this.callBase.apply(this, arguments);\r\n if (this !== this._getSourceDraggable()) {\r\n this._unsubscribeFromSourceScroll()\r\n }\r\n },\r\n dragEnter() {\r\n if (this !== this._getTargetDraggable()) {\r\n this.option(\"toIndex\", -1)\r\n }\r\n },\r\n dragLeave() {\r\n if (this !== this._getTargetDraggable()) {\r\n this.option(\"toIndex\", this.option(\"fromIndex\"))\r\n }\r\n },\r\n _allowDrop(event) {\r\n var targetDraggable = this._getTargetDraggable();\r\n var $targetDraggable = targetDraggable.$element();\r\n var $scrollable = this._getScrollable($targetDraggable);\r\n if ($scrollable) {\r\n var {\r\n left: left,\r\n right: right,\r\n top: top,\r\n bottom: bottom\r\n } = getScrollableBoundary($scrollable);\r\n var toIndex = this.option(\"toIndex\");\r\n var itemPoints = this.option(\"itemPoints\");\r\n var itemPoint = null === itemPoints || void 0 === itemPoints ? void 0 : itemPoints.filter(item => item.index === toIndex)[0];\r\n if (itemPoint && void 0 !== itemPoint.top) {\r\n var isVertical = this._isVerticalOrientation();\r\n if (isVertical) {\r\n return top <= Math.ceil(itemPoint.top) && Math.floor(itemPoint.top) <= bottom\r\n }\r\n return left <= Math.ceil(itemPoint.left) && Math.floor(itemPoint.left) <= right\r\n }\r\n }\r\n return true\r\n },\r\n dragEnd(sourceEvent) {\r\n this._unsubscribeFromSourceScroll();\r\n var $sourceElement = this._getSourceElement();\r\n var sourceDraggable = this._getSourceDraggable();\r\n var isSourceDraggable = sourceDraggable.NAME !== this.NAME;\r\n var toIndex = this.option(\"toIndex\");\r\n var {\r\n event: event\r\n } = sourceEvent;\r\n var allowDrop = this._allowDrop(event);\r\n if (null !== toIndex && toIndex >= 0 && allowDrop) {\r\n var cancelAdd;\r\n var cancelRemove;\r\n if (sourceDraggable !== this) {\r\n cancelAdd = this._fireAddEvent(event);\r\n if (!cancelAdd) {\r\n cancelRemove = this._fireRemoveEvent(event)\r\n }\r\n }\r\n if (isSourceDraggable) {\r\n resetPosition($sourceElement)\r\n }\r\n if (this.option(\"moveItemOnDrop\")) {\r\n !cancelAdd && this._moveItem($sourceElement, toIndex, cancelRemove)\r\n }\r\n if (sourceDraggable === this) {\r\n return this._fireReorderEvent(event)\r\n }\r\n }\r\n return Deferred().resolve()\r\n },\r\n dragMove(e) {\r\n var itemPoints = this.option(\"itemPoints\");\r\n if (!itemPoints) {\r\n return\r\n }\r\n var isVertical = this._isVerticalOrientation();\r\n var axisName = isVertical ? \"top\" : \"left\";\r\n var cursorPosition = isVertical ? e.pageY : e.pageX;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var itemPoint;\r\n for (var i = itemPoints.length - 1; i >= 0; i--) {\r\n var centerPosition = itemPoints[i + 1] && (itemPoints[i][axisName] + itemPoints[i + 1][axisName]) / 2;\r\n if ((!isVertical && rtlEnabled ? cursorPosition > centerPosition : centerPosition > cursorPosition) || void 0 === centerPosition) {\r\n itemPoint = itemPoints[i]\r\n } else {\r\n break\r\n }\r\n }\r\n if (itemPoint) {\r\n this._updatePlaceholderPosition(e, itemPoint);\r\n if (this._verticalScrollHelper.isScrolling() && this._isIndicateMode()) {\r\n this._movePlaceholder()\r\n }\r\n }\r\n },\r\n _isIndicateMode() {\r\n return \"indicate\" === this.option(\"dropFeedbackMode\") || this.option(\"allowDropInsideItem\")\r\n },\r\n _createPlaceholder() {\r\n var $placeholderContainer;\r\n if (this._isIndicateMode()) {\r\n $placeholderContainer = $(\"<div>\").addClass(this._addWidgetPrefix(PLACEHOLDER_CLASS)).insertBefore(this._getSourceDraggable()._$dragElement)\r\n }\r\n this._$placeholderElement = $placeholderContainer;\r\n return $placeholderContainer\r\n },\r\n _getItems() {\r\n var itemsSelector = this._getItemsSelector();\r\n return this._$content().find(itemsSelector).not(\".\".concat(this._addWidgetPrefix(PLACEHOLDER_CLASS))).not(\".\".concat(this._addWidgetPrefix(CLONE_CLASS))).toArray()\r\n },\r\n _allowReordering() {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var targetDraggable = this._getTargetDraggable();\r\n return sourceDraggable !== targetDraggable || this.option(\"allowReordering\")\r\n },\r\n _isValidPoint(visibleIndex, draggableVisibleIndex, dropInsideItem) {\r\n var allowDropInsideItem = this.option(\"allowDropInsideItem\");\r\n var allowReordering = dropInsideItem || this._allowReordering();\r\n if (!allowReordering && (0 !== visibleIndex || !allowDropInsideItem)) {\r\n return false\r\n }\r\n if (!this._isIndicateMode()) {\r\n return true\r\n }\r\n return -1 === draggableVisibleIndex || visibleIndex !== draggableVisibleIndex && (dropInsideItem || visibleIndex !== draggableVisibleIndex + 1)\r\n },\r\n _getItemPoints() {\r\n var result = [];\r\n var $item;\r\n var offset;\r\n var itemWidth;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isVertical = this._isVerticalOrientation();\r\n var itemElements = this._getItems();\r\n var visibleItemElements = itemElements.filter(isElementVisible);\r\n var visibleItemCount = visibleItemElements.length;\r\n var $draggableItem = this._getDraggableElement();\r\n var draggableVisibleIndex = visibleItemElements.indexOf($draggableItem.get(0));\r\n if (visibleItemCount) {\r\n for (var i = 0; i <= visibleItemCount; i++) {\r\n var needCorrectLeftPosition = !isVertical && rtlEnabled ^ i === visibleItemCount;\r\n var needCorrectTopPosition = isVertical && i === visibleItemCount;\r\n if (i < visibleItemCount) {\r\n $item = $(visibleItemElements[i]);\r\n offset = $item.offset();\r\n itemWidth = getOuterWidth($item)\r\n }\r\n result.push({\r\n dropInsideItem: false,\r\n left: offset.left + (needCorrectLeftPosition ? itemWidth : 0),\r\n top: offset.top + (needCorrectTopPosition ? result[i - 1].height : 0),\r\n index: i === visibleItemCount ? itemElements.length : itemElements.indexOf($item.get(0)),\r\n $item: $item,\r\n width: getOuterWidth($item),\r\n height: getOuterHeight($item),\r\n isValid: this._isValidPoint(i, draggableVisibleIndex)\r\n })\r\n }\r\n if (this.option(\"allowDropInsideItem\")) {\r\n var points = result;\r\n result = [];\r\n for (var _i = 0; _i < points.length; _i++) {\r\n result.push(points[_i]);\r\n if (points[_i + 1]) {\r\n result.push(extend({}, points[_i], {\r\n dropInsideItem: true,\r\n top: Math.floor((points[_i].top + points[_i + 1].top) / 2),\r\n left: Math.floor((points[_i].left + points[_i + 1].left) / 2),\r\n isValid: this._isValidPoint(_i, draggableVisibleIndex, true)\r\n }))\r\n }\r\n }\r\n }\r\n } else {\r\n result.push({\r\n dropInsideItem: false,\r\n index: 0,\r\n isValid: true\r\n })\r\n }\r\n return result\r\n },\r\n _updateItemPoints(forceUpdate) {\r\n if (forceUpdate || this.option(\"autoUpdate\") || !this.option(\"itemPoints\")) {\r\n this.option(\"itemPoints\", this._getItemPoints())\r\n }\r\n },\r\n _correctItemPoints(scrollBy) {\r\n var itemPoints = this.option(\"itemPoints\");\r\n if (scrollBy && itemPoints && !this.option(\"autoUpdate\")) {\r\n var isVertical = this._isVerticalOrientation();\r\n var positionPropName = isVertical ? \"top\" : \"left\";\r\n itemPoints.forEach(itemPoint => {\r\n itemPoint[positionPropName] -= scrollBy\r\n })\r\n }\r\n },\r\n _getElementIndex($itemElement) {\r\n return this._getItems().indexOf($itemElement.get(0))\r\n },\r\n _getDragTemplateArgs($element) {\r\n var args = this.callBase.apply(this, arguments);\r\n args.model.fromIndex = this._getElementIndex($element);\r\n return args\r\n },\r\n _togglePlaceholder(value) {\r\n this._$placeholderElement && this._$placeholderElement.toggle(value)\r\n },\r\n _isVerticalOrientation() {\r\n return \"vertical\" === this.option(\"itemOrientation\")\r\n },\r\n _normalizeToIndex(toIndex, skipOffsetting) {\r\n var isAnotherDraggable = this._getSourceDraggable() !== this._getTargetDraggable();\r\n var fromIndex = this._getActualFromIndex();\r\n if (null === toIndex) {\r\n return fromIndex\r\n }\r\n return Math.max(isAnotherDraggable || fromIndex >= toIndex || skipOffsetting ? toIndex : toIndex - 1, 0)\r\n },\r\n _updatePlaceholderPosition(e, itemPoint) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var toIndex = this._normalizeToIndex(itemPoint.index, itemPoint.dropInsideItem);\r\n var eventArgs = extend(this._getEventArgs(e), {\r\n toIndex: toIndex,\r\n dropInsideItem: itemPoint.dropInsideItem\r\n });\r\n itemPoint.isValid && this._getAction(\"onDragChange\")(eventArgs);\r\n if (eventArgs.cancel || !itemPoint.isValid) {\r\n if (!itemPoint.isValid) {\r\n this.option({\r\n dropInsideItem: false,\r\n toIndex: null\r\n })\r\n }\r\n return\r\n }\r\n this.option({\r\n dropInsideItem: itemPoint.dropInsideItem,\r\n toIndex: itemPoint.index\r\n });\r\n this._getAction(\"onPlaceholderPrepared\")(extend(this._getEventArgs(e), {\r\n placeholderElement: getPublicElement(this._$placeholderElement),\r\n dragElement: getPublicElement(sourceDraggable._$dragElement)\r\n }));\r\n this._updateItemPoints()\r\n },\r\n _makeWidthCorrection($item, width) {\r\n this._$scrollable = this._getScrollable($item);\r\n if (this._$scrollable) {\r\n var scrollableWidth = getWidth(this._$scrollable);\r\n var overflowLeft = this._$scrollable.offset().left - $item.offset().left;\r\n var overflowRight = getOuterWidth($item) - overflowLeft - scrollableWidth;\r\n if (overflowLeft > 0) {\r\n width -= overflowLeft\r\n }\r\n if (overflowRight > 0) {\r\n width -= overflowRight\r\n }\r\n }\r\n return width\r\n },\r\n _updatePlaceholderSizes($placeholderElement, itemElement) {\r\n var dropInsideItem = this.option(\"dropInsideItem\");\r\n var $item = $(itemElement);\r\n var isVertical = this._isVerticalOrientation();\r\n var width = \"\";\r\n var height = \"\";\r\n $placeholderElement.toggleClass(this._addWidgetPrefix(\"placeholder-inside\"), dropInsideItem);\r\n if (isVertical || dropInsideItem) {\r\n width = getOuterWidth($item)\r\n }\r\n if (!isVertical || dropInsideItem) {\r\n height = getOuterHeight($item)\r\n }\r\n width = this._makeWidthCorrection($item, width);\r\n $placeholderElement.css({\r\n width: width,\r\n height: height\r\n })\r\n },\r\n _moveItem($itemElement, index, cancelRemove) {\r\n var $prevTargetItemElement;\r\n var $itemElements = this._getItems();\r\n var $targetItemElement = $itemElements[index];\r\n var sourceDraggable = this._getSourceDraggable();\r\n if (cancelRemove) {\r\n $itemElement = $itemElement.clone();\r\n sourceDraggable._toggleDragSourceClass(false, $itemElement)\r\n }\r\n if (!$targetItemElement) {\r\n $prevTargetItemElement = $itemElements[index - 1]\r\n }\r\n this._moveItemCore($itemElement, $targetItemElement, $prevTargetItemElement)\r\n },\r\n _moveItemCore($targetItem, item, prevItem) {\r\n if (!item && !prevItem) {\r\n $targetItem.appendTo(this.$element())\r\n } else if (prevItem) {\r\n $targetItem.insertAfter($(prevItem))\r\n } else {\r\n $targetItem.insertBefore($(item))\r\n }\r\n },\r\n _getDragStartArgs(e, $itemElement) {\r\n return extend(this.callBase.apply(this, arguments), {\r\n fromIndex: this._getElementIndex($itemElement)\r\n })\r\n },\r\n _getEventArgs(e) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var targetDraggable = this._getTargetDraggable();\r\n var dropInsideItem = targetDraggable.option(\"dropInsideItem\");\r\n return extend(this.callBase.apply(this, arguments), {\r\n fromIndex: sourceDraggable.option(\"fromIndex\"),\r\n toIndex: this._normalizeToIndex(targetDraggable.option(\"toIndex\"), dropInsideItem),\r\n dropInsideItem: dropInsideItem\r\n })\r\n },\r\n _optionChanged(args) {\r\n var {\r\n name: name\r\n } = args;\r\n switch (name) {\r\n case \"onDragChange\":\r\n case \"onPlaceholderPrepared\":\r\n case \"onAdd\":\r\n case \"onRemove\":\r\n case \"onReorder\":\r\n this[\"_\".concat(name, \"Action\")] = this._createActionByOption(name);\r\n break;\r\n case \"itemOrientation\":\r\n case \"allowDropInsideItem\":\r\n case \"moveItemOnDrop\":\r\n case \"dropFeedbackMode\":\r\n case \"itemPoints\":\r\n case \"animation\":\r\n case \"allowReordering\":\r\n case \"fromIndexOffset\":\r\n case \"offset\":\r\n case \"draggableElementSize\":\r\n case \"autoUpdate\":\r\n break;\r\n case \"fromIndex\":\r\n [false, true].forEach(isDragSource => {\r\n var fromIndex = isDragSource ? args.value : args.previousValue;\r\n if (null !== fromIndex) {\r\n var $fromElement = $(this._getItems()[fromIndex]);\r\n this._toggleDragSourceClass(isDragSource, $fromElement)\r\n }\r\n });\r\n break;\r\n case \"dropInsideItem\":\r\n this._optionChangedDropInsideItem(args);\r\n break;\r\n case \"toIndex\":\r\n this._optionChangedToIndex(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _optionChangedDropInsideItem() {\r\n if (this._isIndicateMode() && this._$placeholderElement) {\r\n this._movePlaceholder()\r\n }\r\n },\r\n _isPositionVisible(position) {\r\n var $element = this.$element();\r\n var scrollContainer;\r\n if (\"hidden\" !== $element.css(\"overflow\")) {\r\n scrollContainer = $element.get(0)\r\n } else {\r\n $element.parents().each((function() {\r\n if (\"visible\" !== $(this).css(\"overflow\")) {\r\n scrollContainer = this;\r\n return false\r\n }\r\n return\r\n }))\r\n }\r\n if (scrollContainer) {\r\n var clientRect = getBoundingRect(scrollContainer);\r\n var isVerticalOrientation = this._isVerticalOrientation();\r\n var start = isVerticalOrientation ? \"top\" : \"left\";\r\n var end = isVerticalOrientation ? \"bottom\" : \"right\";\r\n var pageOffset = isVerticalOrientation ? window.pageYOffset : window.pageXOffset;\r\n if (position[start] < clientRect[start] + pageOffset || position[start] > clientRect[end] + pageOffset) {\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n _optionChangedToIndex(args) {\r\n var toIndex = args.value;\r\n if (this._isIndicateMode()) {\r\n var showPlaceholder = null !== toIndex && toIndex >= 0;\r\n this._togglePlaceholder(showPlaceholder);\r\n if (showPlaceholder) {\r\n this._movePlaceholder()\r\n }\r\n } else {\r\n this._moveItems(args.previousValue, args.value, args.fullUpdate)\r\n }\r\n },\r\n update() {\r\n if (null === this.option(\"fromIndex\") && null === this.option(\"toIndex\")) {\r\n return\r\n }\r\n this._updateItemPoints(true);\r\n this._updateDragSourceClass();\r\n var toIndex = this.option(\"toIndex\");\r\n this._optionChangedToIndex({\r\n value: toIndex,\r\n fullUpdate: true\r\n })\r\n },\r\n _updateDragSourceClass() {\r\n var fromIndex = this._getActualFromIndex();\r\n var $fromElement = $(this._getItems()[fromIndex]);\r\n if ($fromElement.length) {\r\n this._$sourceElement = $fromElement;\r\n this._toggleDragSourceClass(true, $fromElement)\r\n }\r\n },\r\n _makeLeftCorrection(left) {\r\n var $scrollable = this._$scrollable;\r\n if ($scrollable && this._isVerticalOrientation()) {\r\n var overflowLeft = $scrollable.offset().left - left;\r\n if (overflowLeft > 0) {\r\n left += overflowLeft\r\n }\r\n }\r\n return left\r\n },\r\n _movePlaceholder() {\r\n var $placeholderElement = this._$placeholderElement || this._createPlaceholder();\r\n if (!$placeholderElement) {\r\n return\r\n }\r\n var items = this._getItems();\r\n var toIndex = this.option(\"toIndex\");\r\n var isVerticalOrientation = this._isVerticalOrientation();\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var dropInsideItem = this.option(\"dropInsideItem\");\r\n var position = null;\r\n var itemElement = items[toIndex];\r\n if (itemElement) {\r\n var $itemElement = $(itemElement);\r\n position = $itemElement.offset();\r\n if (!isVerticalOrientation && rtlEnabled && !dropInsideItem) {\r\n position.left += getOuterWidth($itemElement, true)\r\n }\r\n } else {\r\n var prevVisibleItemElement = itemElement = this._getPrevVisibleItem(items, toIndex);\r\n if (prevVisibleItemElement) {\r\n position = $(prevVisibleItemElement).offset();\r\n if (isVerticalOrientation) {\r\n position.top += getOuterHeight(prevVisibleItemElement, true)\r\n } else if (!rtlEnabled) {\r\n position.left += getOuterWidth(prevVisibleItemElement, true)\r\n }\r\n }\r\n }\r\n this._updatePlaceholderSizes($placeholderElement, itemElement);\r\n if (position && !this._isPositionVisible(position)) {\r\n position = null\r\n }\r\n if (position) {\r\n var isLastVerticalPosition = isVerticalOrientation && toIndex === items.length;\r\n var outerPlaceholderHeight = getOuterHeight($placeholderElement);\r\n position.left = this._makeLeftCorrection(position.left);\r\n position.top = isLastVerticalPosition && position.top >= outerPlaceholderHeight ? position.top - outerPlaceholderHeight : position.top;\r\n this._move(position, $placeholderElement)\r\n }\r\n $placeholderElement.toggle(!!position)\r\n },\r\n _getPositions(items, elementSize, fromIndex, toIndex) {\r\n var positions = [];\r\n for (var i = 0; i < items.length; i++) {\r\n var position = 0;\r\n if (null === toIndex || null === fromIndex) {\r\n positions.push(position);\r\n continue\r\n }\r\n if (-1 === fromIndex) {\r\n if (i >= toIndex) {\r\n position = elementSize\r\n }\r\n } else if (-1 === toIndex) {\r\n if (i > fromIndex) {\r\n position = -elementSize\r\n }\r\n } else if (fromIndex < toIndex) {\r\n if (i > fromIndex && i < toIndex) {\r\n position = -elementSize\r\n }\r\n } else if (fromIndex > toIndex) {\r\n if (i >= toIndex && i < fromIndex) {\r\n position = elementSize\r\n }\r\n }\r\n positions.push(position)\r\n }\r\n return positions\r\n },\r\n _getDraggableElementSize(isVerticalOrientation) {\r\n var $draggableItem = this._getDraggableElement();\r\n var size = this.option(\"draggableElementSize\");\r\n if (!size) {\r\n size = isVerticalOrientation ? (getOuterHeight($draggableItem) + getOuterHeight($draggableItem, true)) / 2 : (getOuterWidth($draggableItem) + getOuterWidth($draggableItem, true)) / 2;\r\n if (!this.option(\"autoUpdate\")) {\r\n this.option(\"draggableElementSize\", size)\r\n }\r\n }\r\n return size\r\n },\r\n _getActualFromIndex() {\r\n var {\r\n fromIndex: fromIndex,\r\n fromIndexOffset: fromIndexOffset,\r\n offset: offset\r\n } = this.option();\r\n return null == fromIndex ? null : fromIndex + fromIndexOffset - offset\r\n },\r\n _moveItems(prevToIndex, toIndex, fullUpdate) {\r\n var fromIndex = this._getActualFromIndex();\r\n var isVerticalOrientation = this._isVerticalOrientation();\r\n var positionPropName = isVerticalOrientation ? \"top\" : \"left\";\r\n var elementSize = this._getDraggableElementSize(isVerticalOrientation);\r\n var items = this._getItems();\r\n var prevPositions = this._getPositions(items, elementSize, fromIndex, prevToIndex);\r\n var positions = this._getPositions(items, elementSize, fromIndex, toIndex);\r\n var animationConfig = this.option(\"animation\");\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n for (var i = 0; i < items.length; i++) {\r\n var itemElement = items[i];\r\n var prevPosition = prevPositions[i];\r\n var position = positions[i];\r\n if (null === toIndex || null === fromIndex) {\r\n stopAnimation(itemElement)\r\n } else if (prevPosition !== position || fullUpdate && isDefined(position)) {\r\n animate(itemElement, extend({}, animationConfig, {\r\n to: {\r\n [positionPropName]: !isVerticalOrientation && rtlEnabled ? -position : position\r\n }\r\n }))\r\n }\r\n }\r\n },\r\n _toggleDragSourceClass(value, $element) {\r\n var $sourceElement = $element || this._$sourceElement;\r\n this.callBase.apply(this, arguments);\r\n if (!this._isIndicateMode()) {\r\n $sourceElement && $sourceElement.toggleClass(this._addWidgetPrefix(\"source-hidden\"), value)\r\n }\r\n },\r\n _dispose() {\r\n this.reset();\r\n this.callBase()\r\n },\r\n _fireAddEvent(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onAdd\")(args);\r\n return args.cancel\r\n },\r\n _fireRemoveEvent(sourceEvent) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var args = this._getEventArgs(sourceEvent);\r\n sourceDraggable._getAction(\"onRemove\")(args);\r\n return args.cancel\r\n },\r\n _fireReorderEvent(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onReorder\")(args);\r\n return args.promise || Deferred().resolve()\r\n }\r\n});\r\nregisterComponent(SORTABLE, Sortable);\r\nexport default Sortable;\r\n","/**\r\n * DevExtreme (esm/ui/sortable.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Sortable from \"../__internal/m_sortable\";\r\nexport default Sortable;\r\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pt = moment.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n '_'\n ),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n w: 'uma semana',\n ww: '%d semanas',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pt;\n\n})));\n","import Vue, { VueConstructor } from 'vue'\n\nexport type Toggleable<T extends string = 'value'> = VueConstructor<Vue & { isActive: boolean } & Record<T, any>>\n\nexport function factory<T extends string = 'value'> (prop?: T, event?: string): Toggleable<T>\nexport function factory (prop = 'value', event = 'input') {\n return Vue.extend({\n name: 'toggleable',\n\n model: { prop, event },\n\n props: {\n [prop]: { required: false },\n },\n\n data () {\n return {\n isActive: !!this[prop],\n }\n },\n\n watch: {\n [prop] (val) {\n this.isActive = !!val\n },\n isActive (val) {\n !!val !== this[prop] && this.$emit(event, val)\n },\n },\n })\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\nconst Toggleable = factory()\n\nexport default Toggleable\n","import OurVue, { VueConstructor } from 'vue'\nimport { VuetifyUseOptions } from 'vuetify/types'\nimport { consoleError } from './util/console'\n\nexport function install (Vue: VueConstructor, args: VuetifyUseOptions = {}) {\n if ((install as any).installed) return\n (install as any).installed = true\n\n if (OurVue !== Vue) {\n consoleError(`Multiple instances of Vue detected\nSee https://github.com/vuetifyjs/vuetify/issues/4068\n\nIf you're seeing \"$attrs is readonly\", it's caused by this`)\n }\n\n const components = args.components || {}\n const directives = args.directives || {}\n\n for (const name in directives) {\n const directive = directives[name]\n\n Vue.directive(name, directive)\n }\n\n (function registerComponents (components: any) {\n if (components) {\n for (const key in components) {\n const component = components[key]\n if (component && !registerComponents(component.$_vuetify_subcomponents)) {\n Vue.component(key, component as typeof Vue)\n }\n }\n return true\n }\n return false\n })(components)\n\n // Used to avoid multiple mixins being setup\n // when in dev mode and hot module reload\n // https://github.com/vuejs/vue/issues/5089#issuecomment-284260111\n if (Vue.$_vuetify_installed) return\n Vue.$_vuetify_installed = true\n\n Vue.mixin({\n beforeCreate () {\n const options = this.$options as any\n\n if (options.vuetify) {\n options.vuetify.init(this, this.$ssrContext)\n this.$vuetify = Vue.observable(options.vuetify.framework)\n } else {\n this.$vuetify = (options.parent && options.parent.$vuetify) || this\n }\n },\n beforeMount () {\n // @ts-ignore\n if (this.$options.vuetify && this.$el && this.$el.hasAttribute('data-server-rendered')) {\n // @ts-ignore\n this.$vuetify.isHydrating = true\n // @ts-ignore\n this.$vuetify.breakpoint.update(true)\n }\n },\n mounted () {\n // @ts-ignore\n if (this.$options.vuetify && this.$vuetify.isHydrating) {\n // @ts-ignore\n this.$vuetify.isHydrating = false\n // @ts-ignore\n this.$vuetify.breakpoint.update()\n }\n },\n })\n}\n","export default {\n badge: 'Badge',\n close: 'Close',\n dataIterator: {\n noResultsText: 'No matching records found',\n loadingText: 'Loading items...',\n },\n dataTable: {\n itemsPerPageText: 'Rows per page:',\n ariaLabel: {\n sortDescending: 'Sorted descending.',\n sortAscending: 'Sorted ascending.',\n sortNone: 'Not sorted.',\n activateNone: 'Activate to remove sorting.',\n activateDescending: 'Activate to sort descending.',\n activateAscending: 'Activate to sort ascending.',\n },\n sortBy: 'Sort by',\n },\n dataFooter: {\n itemsPerPageText: 'Items per page:',\n itemsPerPageAll: 'All',\n nextPage: 'Next page',\n prevPage: 'Previous page',\n firstPage: 'First page',\n lastPage: 'Last page',\n pageText: '{0}-{1} of {2}',\n },\n datePicker: {\n itemsSelected: '{0} selected',\n nextMonthAriaLabel: 'Next month',\n nextYearAriaLabel: 'Next year',\n prevMonthAriaLabel: 'Previous month',\n prevYearAriaLabel: 'Previous year',\n },\n noDataText: 'No data available',\n carousel: {\n prev: 'Previous visual',\n next: 'Next visual',\n ariaLabel: {\n delimiter: 'Carousel slide {0} of {1}',\n },\n },\n calendar: {\n moreEvents: '{0} more',\n },\n input: {\n clear: 'Clear {0}',\n prependAction: '{0} prepended action',\n appendAction: '{0} appended action',\n },\n fileInput: {\n counter: '{0} files',\n counterSize: '{0} files ({1} in total)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n wrapper: 'Pagination Navigation',\n next: 'Next page',\n previous: 'Previous page',\n page: 'Goto Page {0}',\n currentPage: 'Current Page, Page {0}',\n },\n },\n rating: {\n ariaLabel: {\n icon: 'Rating {0} of {1}',\n },\n },\n loading: 'Loading...',\n}\n","// Styles\nimport '../../styles/main.sass'\n\n// Locale\nimport { en } from '../../locale'\n\n// Icons\n// TODO: Enable for v3\n// import mdi from '../../services/icons/presets/mdi'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\n\nexport const preset: VuetifyPreset = {\n breakpoint: {\n // TODO: update to MD2 spec in v3 - 1280\n mobileBreakpoint: 1264,\n scrollBarWidth: 16,\n thresholds: {\n xs: 600,\n sm: 960,\n md: 1280,\n lg: 1920,\n },\n },\n icons: {\n // TODO: remove v3\n iconfont: 'mdi',\n values: {},\n },\n lang: {\n current: 'en',\n locales: { en },\n // Default translator exists in lang service\n t: undefined as any,\n },\n rtl: false,\n theme: {\n dark: false,\n default: 'light',\n disable: false,\n options: {\n cspNonce: undefined,\n customProperties: undefined,\n minifyTheme: undefined,\n themeCache: undefined,\n variations: true,\n },\n themes: {\n light: {\n primary: '#1976D2',\n secondary: '#424242',\n accent: '#82B1FF',\n error: '#FF5252',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n dark: {\n primary: '#2196F3',\n secondary: '#424242',\n accent: '#FF4081',\n error: '#FF5252',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n },\n },\n}\n","// Preset\nimport { preset as Preset } from '../../presets/default'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\nimport { mergeDeep } from '../../util/helpers'\n\n// Types\nimport Vuetify from 'vuetify/types'\nimport { Service } from '../service'\nimport {\n UserVuetifyPreset,\n VuetifyPreset,\n} from 'vuetify/types/services/presets'\n\nexport class Presets extends Service {\n static property: 'presets' = 'presets'\n\n constructor (\n parentPreset: Partial<UserVuetifyPreset>,\n parent: Vuetify,\n ) {\n super()\n\n // The default preset\n const defaultPreset = mergeDeep({}, Preset)\n // The user provided preset\n const { userPreset } = parent\n // The user provided global preset\n const {\n preset: globalPreset = {},\n ...preset\n } = userPreset\n\n if (globalPreset.preset != null) {\n consoleWarn('Global presets do not support the **preset** option, it can be safely omitted')\n }\n\n parent.preset = mergeDeep(\n mergeDeep(defaultPreset, globalPreset),\n preset\n ) as VuetifyPreset\n }\n}\n","// Extensions\nimport { Service } from '../service'\n\n// Types\nimport { TargetPropValues, TargetProp, Application as IApplication } from 'vuetify/types/services/application'\n\nexport class Application extends Service implements IApplication {\n static property: 'application' = 'application'\n\n bar = 0\n\n top = 0\n\n left = 0\n\n insetFooter = 0\n\n right = 0\n\n bottom = 0\n\n footer = 0\n\n application: Dictionary<TargetPropValues> = {\n bar: {},\n top: {},\n left: {},\n insetFooter: {},\n right: {},\n bottom: {},\n footer: {},\n }\n\n register (\n uid: number,\n location: TargetProp,\n size: number\n ) {\n this.application[location][uid] = size\n\n this.update(location)\n }\n\n unregister (uid: number, location: TargetProp) {\n if (this.application[location][uid] == null) return\n\n delete this.application[location][uid]\n this.update(location)\n }\n\n update (location: TargetProp) {\n this[location] = Object.values(this.application[location])\n .reduce((acc: number, cur: number): number => (acc + cur), 0)\n }\n}\n","// Extensions\nimport { Service } from '../service'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport { Breakpoint as IBreakpoint } from 'vuetify/types/services/breakpoint'\n\nexport class Breakpoint extends Service implements IBreakpoint {\n public static property: 'breakpoint' = 'breakpoint'\n\n // Public\n public xs = false\n\n public sm = false\n\n public md = false\n\n public lg = false\n\n public xl = false\n\n public xsOnly = false\n\n public smOnly = false\n\n public smAndDown = false\n\n public smAndUp = false\n\n public mdOnly = false\n\n public mdAndDown = false\n\n public mdAndUp = false\n\n public lgOnly = false\n\n public lgAndDown = false\n\n public lgAndUp = false\n\n public xlOnly = false\n\n // Value is xs to match v2.x functionality\n public name: IBreakpoint['name'] = 'xs'\n\n public height = 0\n\n public width = 0\n\n // TODO: Add functionality to detect this dynamically in v3\n // Value is true to match v2.x functionality\n public mobile = true\n\n public mobileBreakpoint: IBreakpoint['mobileBreakpoint']\n\n public thresholds: IBreakpoint['thresholds']\n\n public scrollBarWidth: IBreakpoint['scrollBarWidth']\n\n private resizeTimeout = 0\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n mobileBreakpoint,\n scrollBarWidth,\n thresholds,\n } = preset[Breakpoint.property]\n\n this.mobileBreakpoint = mobileBreakpoint\n this.scrollBarWidth = scrollBarWidth\n this.thresholds = thresholds\n }\n\n public init () {\n this.update()\n\n /* istanbul ignore if */\n if (typeof window === 'undefined') return\n\n window.addEventListener(\n 'resize',\n this.onResize.bind(this),\n { passive: true }\n )\n }\n\n /* eslint-disable-next-line max-statements */\n public update (ssr = false) {\n const height = ssr ? 0 : this.getClientHeight()\n const width = ssr ? 0 : this.getClientWidth()\n\n const xs = width < this.thresholds.xs\n const sm = width < this.thresholds.sm && !xs\n const md = width < (this.thresholds.md - this.scrollBarWidth) && !(sm || xs)\n const lg = width < (this.thresholds.lg - this.scrollBarWidth) && !(md || sm || xs)\n const xl = width >= (this.thresholds.lg - this.scrollBarWidth)\n\n this.height = height\n this.width = width\n\n this.xs = xs\n this.sm = sm\n this.md = md\n this.lg = lg\n this.xl = xl\n\n this.xsOnly = xs\n this.smOnly = sm\n this.smAndDown = (xs || sm) && !(md || lg || xl)\n this.smAndUp = !xs && (sm || md || lg || xl)\n this.mdOnly = md\n this.mdAndDown = (xs || sm || md) && !(lg || xl)\n this.mdAndUp = !(xs || sm) && (md || lg || xl)\n this.lgOnly = lg\n this.lgAndDown = (xs || sm || md || lg) && !xl\n this.lgAndUp = !(xs || sm || md) && (lg || xl)\n this.xlOnly = xl\n\n switch (true) {\n case (xs):\n this.name = 'xs'\n break\n case (sm):\n this.name = 'sm'\n break\n case (md):\n this.name = 'md'\n break\n case (lg):\n this.name = 'lg'\n break\n default:\n this.name = 'xl'\n break\n }\n\n if (typeof this.mobileBreakpoint === 'number') {\n this.mobile = width < parseInt(this.mobileBreakpoint, 10)\n\n return\n }\n\n const breakpoints = {\n xs: 0,\n sm: 1,\n md: 2,\n lg: 3,\n xl: 4,\n } as const\n\n const current = breakpoints[this.name]\n const max = breakpoints[this.mobileBreakpoint]\n\n this.mobile = current <= max\n }\n\n private onResize () {\n clearTimeout(this.resizeTimeout)\n\n // Added debounce to match what\n // v-resize used to do but was\n // removed due to a memory leak\n // https://github.com/vuetifyjs/vuetify/pull/2997\n this.resizeTimeout = window.setTimeout(this.update.bind(this), 200)\n }\n\n // Cross-browser support as described in:\n // https://stackoverflow.com/questions/1248081\n private getClientWidth () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientWidth,\n window.innerWidth || 0\n )\n }\n\n private getClientHeight () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientHeight,\n window.innerHeight || 0\n )\n }\n}\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z',\n cancel: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n close: 'M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z',\n delete: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z', // delete (e.g. v-chip close)\n clear: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n success: 'M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41 10.59L10 14.17L17.59 6.58L19 8L10 17Z',\n info: 'M13,9H11V7H13M13,17H11V11H13M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2ZM13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z',\n warning: 'M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z',\n error: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n prev: 'M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z',\n next: 'M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z',\n checkboxOn: 'M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z',\n checkboxOff: 'M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z',\n checkboxIndeterminate: 'M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z',\n delimiter: 'M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z', // for carousel\n sort: 'M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z',\n expand: 'M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z',\n menu: 'M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z',\n subgroup: 'M7,10L12,15L17,10H7Z',\n dropdown: 'M7,10L12,15L17,10H7Z',\n radioOn: 'M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2M12,7C9.24,7 7,9.24 7,12C7,14.76 9.24,17 12,17C14.76,17 17,14.76 17,12C17,9.24 14.76,7 12,7Z',\n radioOff: 'M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z',\n edit: 'M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z',\n ratingEmpty: 'M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n ratingFull: 'M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z',\n ratingHalf: 'M12,15.4V6.1L13.71,10.13L18.09,10.5L14.77,13.39L15.76,17.67M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n loading: 'M19,8L15,12H18C18,15.31 15.31,18 12,18C11,18 10.03,17.75 9.2,17.3L7.74,18.76C8.97,19.54 10.43,20 12,20C16.42,20 20,16.42 20,12H23M6,12C6,8.69 8.69,6 12,6C13,6 13.97,6.25 14.8,6.7L16.26,5.24C15.03,4.46 13.57,4 12,4C7.58,4 4,7.58 4,12H1L5,16L9,12',\n first: 'M18.41,16.59L13.82,12L18.41,7.41L17,6L11,12L17,18L18.41,16.59M6,6H8V18H6V6Z',\n last: 'M5.59,7.41L10.18,12L5.59,16.59L7,18L13,12L7,6L5.59,7.41M16,6H18V18H16V6Z',\n unfold: 'M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z',\n file: 'M16.5,6V17.5C16.5,19.71 14.71,21.5 12.5,21.5C10.29,21.5 8.5,19.71 8.5,17.5V5C8.5,3.62 9.62,2.5 11,2.5C12.38,2.5 13.5,3.62 13.5,5V15.5C13.5,16.05 13.05,16.5 12.5,16.5C11.95,16.5 11.5,16.05 11.5,15.5V6H10V15.5C10,16.88 11.12,18 12.5,18C13.88,18 15,16.88 15,15.5V5C15,2.79 13.21,1 11,1C8.79,1 7,2.79 7,5V17.5C7,20.54 9.46,23 12.5,23C15.54,23 18,20.54 18,17.5V6H16.5Z',\n plus: 'M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z',\n minus: 'M19,13H5V11H19V13Z',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'check',\n cancel: 'cancel',\n close: 'close',\n delete: 'cancel', // delete (e.g. v-chip close)\n clear: 'clear',\n success: 'check_circle',\n info: 'info',\n warning: 'priority_high',\n error: 'warning',\n prev: 'chevron_left',\n next: 'chevron_right',\n checkboxOn: 'check_box',\n checkboxOff: 'check_box_outline_blank',\n checkboxIndeterminate: 'indeterminate_check_box',\n delimiter: 'fiber_manual_record', // for carousel\n sort: 'arrow_upward',\n expand: 'keyboard_arrow_down',\n menu: 'menu',\n subgroup: 'arrow_drop_down',\n dropdown: 'arrow_drop_down',\n radioOn: 'radio_button_checked',\n radioOff: 'radio_button_unchecked',\n edit: 'edit',\n ratingEmpty: 'star_border',\n ratingFull: 'star',\n ratingHalf: 'star_half',\n loading: 'cached',\n first: 'first_page',\n last: 'last_page',\n unfold: 'unfold_more',\n file: 'attach_file',\n plus: 'add',\n minus: 'remove',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'mdi-check',\n cancel: 'mdi-close-circle',\n close: 'mdi-close',\n delete: 'mdi-close-circle', // delete (e.g. v-chip close)\n clear: 'mdi-close',\n success: 'mdi-check-circle',\n info: 'mdi-information',\n warning: 'mdi-exclamation',\n error: 'mdi-alert',\n prev: 'mdi-chevron-left',\n next: 'mdi-chevron-right',\n checkboxOn: 'mdi-checkbox-marked',\n checkboxOff: 'mdi-checkbox-blank-outline',\n checkboxIndeterminate: 'mdi-minus-box',\n delimiter: 'mdi-circle', // for carousel\n sort: 'mdi-arrow-up',\n expand: 'mdi-chevron-down',\n menu: 'mdi-menu',\n subgroup: 'mdi-menu-down',\n dropdown: 'mdi-menu-down',\n radioOn: 'mdi-radiobox-marked',\n radioOff: 'mdi-radiobox-blank',\n edit: 'mdi-pencil',\n ratingEmpty: 'mdi-star-outline',\n ratingFull: 'mdi-star',\n ratingHalf: 'mdi-star-half-full',\n loading: 'mdi-cached',\n first: 'mdi-page-first',\n last: 'mdi-page-last',\n unfold: 'mdi-unfold-more-horizontal',\n file: 'mdi-paperclip',\n plus: 'mdi-plus',\n minus: 'mdi-minus',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'fas fa-check',\n cancel: 'fas fa-times-circle',\n close: 'fas fa-times',\n delete: 'fas fa-times-circle', // delete (e.g. v-chip close)\n clear: 'fas fa-times-circle', // delete (e.g. v-chip close)\n success: 'fas fa-check-circle',\n info: 'fas fa-info-circle',\n warning: 'fas fa-exclamation-circle',\n error: 'fas fa-exclamation-triangle',\n prev: 'fas fa-chevron-left',\n next: 'fas fa-chevron-right',\n checkboxOn: 'fas fa-check-square',\n checkboxOff: 'far fa-square', // note 'far'\n checkboxIndeterminate: 'fas fa-minus-square',\n delimiter: 'fas fa-circle', // for carousel\n sort: 'fas fa-sort-up',\n expand: 'fas fa-chevron-down',\n menu: 'fas fa-bars',\n subgroup: 'fas fa-caret-down',\n dropdown: 'fas fa-caret-down',\n radioOn: 'far fa-dot-circle',\n radioOff: 'far fa-circle',\n edit: 'fas fa-edit',\n ratingEmpty: 'far fa-star',\n ratingFull: 'fas fa-star',\n ratingHalf: 'fas fa-star-half',\n loading: 'fas fa-sync',\n first: 'fas fa-step-backward',\n last: 'fas fa-step-forward',\n unfold: 'fas fa-arrows-alt-v',\n file: 'fas fa-paperclip',\n plus: 'fas fa-plus',\n minus: 'fas fa-minus',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'fa fa-check',\n cancel: 'fa fa-times-circle',\n close: 'fa fa-times',\n delete: 'fa fa-times-circle', // delete (e.g. v-chip close)\n clear: 'fa fa-times-circle', // delete (e.g. v-chip close)\n success: 'fa fa-check-circle',\n info: 'fa fa-info-circle',\n warning: 'fa fa-exclamation',\n error: 'fa fa-exclamation-triangle',\n prev: 'fa fa-chevron-left',\n next: 'fa fa-chevron-right',\n checkboxOn: 'fa fa-check-square',\n checkboxOff: 'fa fa-square-o',\n checkboxIndeterminate: 'fa fa-minus-square',\n delimiter: 'fa fa-circle', // for carousel\n sort: 'fa fa-sort-up',\n expand: 'fa fa-chevron-down',\n menu: 'fa fa-bars',\n subgroup: 'fa fa-caret-down',\n dropdown: 'fa fa-caret-down',\n radioOn: 'fa fa-dot-circle-o',\n radioOff: 'fa fa-circle-o',\n edit: 'fa fa-pencil',\n ratingEmpty: 'fa fa-star-o',\n ratingFull: 'fa fa-star',\n ratingHalf: 'fa fa-star-half-o',\n loading: 'fa fa-refresh',\n first: 'fa fa-step-backward',\n last: 'fa fa-step-forward',\n unfold: 'fa fa-angle-double-down',\n file: 'fa fa-paperclip',\n plus: 'fa fa-plus',\n minus: 'fa fa-minus',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\nimport { Component } from 'vue'\nimport icons from './fa'\n\nexport function convertToComponentDeclarations (\n component: Component | string,\n iconSet: VuetifyIcons,\n) {\n const result: Partial<VuetifyIcons> = {}\n\n for (const key in iconSet) {\n result[key] = {\n component,\n props: {\n icon: (iconSet[key] as string).split(' fa-'),\n },\n }\n }\n\n return result as VuetifyIcons\n}\n\nexport default convertToComponentDeclarations('font-awesome-icon', icons)\n","import mdiSvg from './mdi-svg'\nimport md from './md'\nimport mdi from './mdi'\nimport fa from './fa'\nimport fa4 from './fa4'\nimport faSvg from './fa-svg'\n\nexport default Object.freeze({\n mdiSvg,\n md,\n mdi,\n fa,\n fa4,\n faSvg,\n})\n","// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport { mergeDeep } from '../../util/helpers'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport { Icons as IIcons } from 'vuetify/types/services/icons'\n\n// Presets\nimport presets from './presets'\n\nexport class Icons extends Service implements IIcons {\n static property: 'icons' = 'icons'\n\n public iconfont: IIcons['iconfont']\n\n public values: IIcons['values']\n\n public component: IIcons['component']\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n iconfont,\n values,\n component,\n } = preset[Icons.property]\n\n this.component = component\n this.iconfont = iconfont\n this.values = mergeDeep(\n presets[iconfont],\n values\n ) as IIcons['values']\n }\n}\n","// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\nimport { consoleError, consoleWarn } from '../../util/console'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport {\n VuetifyLocale,\n Lang as ILang,\n} from 'vuetify/types/services/lang'\n\nconst LANG_PREFIX = '$vuetify.'\nconst fallback = Symbol('Lang fallback')\n\nfunction getTranslation (\n locale: VuetifyLocale,\n key: string,\n usingDefault = false,\n defaultLocale: VuetifyLocale\n): string {\n const shortKey = key.replace(LANG_PREFIX, '')\n let translation = getObjectValueByPath(locale, shortKey, fallback) as string | typeof fallback\n\n if (translation === fallback) {\n if (usingDefault) {\n consoleError(`Translation key \"${shortKey}\" not found in fallback`)\n translation = key\n } else {\n consoleWarn(`Translation key \"${shortKey}\" not found, falling back to default`)\n translation = getTranslation(defaultLocale, key, true, defaultLocale)\n }\n }\n\n return translation\n}\n\nexport class Lang extends Service implements ILang {\n static property: 'lang' = 'lang'\n\n public current: ILang['current']\n\n public defaultLocale = 'en'\n\n public locales: ILang['locales']\n\n private translator: ILang['t']\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n current,\n locales,\n t,\n } = preset[Lang.property]\n\n this.current = current\n this.locales = locales\n this.translator = t || this.defaultTranslator\n }\n\n public currentLocale (key: string) {\n const translation = this.locales[this.current]\n const defaultLocale = this.locales[this.defaultLocale]\n\n return getTranslation(translation, key, false, defaultLocale)\n }\n\n public t (key: string, ...params: any[]) {\n if (!key.startsWith(LANG_PREFIX)) return this.replace(key, params)\n\n return this.translator(key, ...params)\n }\n\n private defaultTranslator (key: string, ...params: any[]) {\n return this.replace(this.currentLocale(key), params)\n }\n\n private replace (str: string, params: any[]) {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n /* istanbul ignore next */\n return String(params[+index])\n })\n }\n}\n","import { XYZ, LAB } from '../colorUtils'\n\nconst delta = 0.20689655172413793 // 6÷29\n\nconst cielabForwardTransform = (t: number): number => (\n t > delta ** 3\n ? Math.cbrt(t)\n : (t / (3 * delta ** 2)) + 4 / 29\n)\n\nconst cielabReverseTransform = (t: number): number => (\n t > delta\n ? t ** 3\n : (3 * delta ** 2) * (t - 4 / 29)\n)\n\nexport function fromXYZ (xyz: XYZ): LAB {\n const transform = cielabForwardTransform\n const transformedY = transform(xyz[1])\n\n return [\n 116 * transformedY - 16,\n 500 * (transform(xyz[0] / 0.95047) - transformedY),\n 200 * (transformedY - transform(xyz[2] / 1.08883)),\n ]\n}\n\nexport function toXYZ (lab: LAB): XYZ {\n const transform = cielabReverseTransform\n const Ln = (lab[0] + 16) / 116\n return [\n transform(Ln + lab[1] / 500) * 0.95047,\n transform(Ln),\n transform(Ln - lab[2] / 200) * 1.08883,\n ]\n}\n","import { keys } from '../../util/helpers'\nimport { colorToInt, intToHex, colorToHex, ColorInt } from '../../util/colorUtils'\nimport * as sRGB from '../../util/color/transformSRGB'\nimport * as LAB from '../../util/color/transformCIELAB'\nimport {\n VuetifyParsedTheme,\n VuetifyThemeItem,\n} from 'vuetify/types/services/theme'\n\nexport function parse (\n theme: Record<string, VuetifyThemeItem>,\n isItem = false,\n variations = true,\n): VuetifyParsedTheme {\n const { anchor, ...variant } = theme\n const colors = Object.keys(variant)\n const parsedTheme: any = {}\n\n for (let i = 0; i < colors.length; ++i) {\n const name = colors[i]\n const value = theme[name]\n\n if (value == null) continue\n\n if (!variations) {\n parsedTheme[name] = { base: intToHex(colorToInt(value)) }\n } else if (isItem) {\n /* istanbul ignore else */\n if (name === 'base' || name.startsWith('lighten') || name.startsWith('darken')) {\n parsedTheme[name] = colorToHex(value)\n }\n } else if (typeof value === 'object') {\n parsedTheme[name] = parse(value, true, variations)\n } else {\n parsedTheme[name] = genVariations(name, colorToInt(value))\n }\n }\n\n if (!isItem) {\n parsedTheme.anchor = anchor || parsedTheme.base || parsedTheme.primary.base\n }\n\n return parsedTheme\n}\n\n/**\n * Generate the CSS for a base color (.primary)\n */\nconst genBaseColor = (name: string, value: string): string => {\n return `\n.v-application .${name} {\n background-color: ${value} !important;\n border-color: ${value} !important;\n}\n.v-application .${name}--text {\n color: ${value} !important;\n caret-color: ${value} !important;\n}`\n}\n\n/**\n * Generate the CSS for a variant color (.primary.darken-2)\n */\nconst genVariantColor = (name: string, variant: string, value: string): string => {\n const [type, n] = variant.split(/(\\d)/, 2)\n return `\n.v-application .${name}.${type}-${n} {\n background-color: ${value} !important;\n border-color: ${value} !important;\n}\n.v-application .${name}--text.text--${type}-${n} {\n color: ${value} !important;\n caret-color: ${value} !important;\n}`\n}\n\nconst genColorVariableName = (name: string, variant = 'base'): string => `--v-${name}-${variant}`\n\nconst genColorVariable = (name: string, variant = 'base'): string => `var(${genColorVariableName(name, variant)})`\n\nexport function genStyles (theme: VuetifyParsedTheme, cssVar = false): string {\n const { anchor, ...variant } = theme\n const colors = Object.keys(variant)\n\n if (!colors.length) return ''\n\n let variablesCss = ''\n let css = ''\n\n const aColor = cssVar ? genColorVariable('anchor') : anchor\n css += `.v-application a { color: ${aColor}; }`\n cssVar && (variablesCss += ` ${genColorVariableName('anchor')}: ${anchor};\\n`)\n\n for (let i = 0; i < colors.length; ++i) {\n const name = colors[i]\n const value = theme[name]\n\n css += genBaseColor(name, cssVar ? genColorVariable(name) : value.base)\n cssVar && (variablesCss += ` ${genColorVariableName(name)}: ${value.base};\\n`)\n\n const variants = keys(value)\n for (let i = 0; i < variants.length; ++i) {\n const variant = variants[i]\n const variantValue = value[variant]\n if (variant === 'base') continue\n\n css += genVariantColor(name, variant, cssVar ? genColorVariable(name, variant) : variantValue)\n cssVar && (variablesCss += ` ${genColorVariableName(name, variant)}: ${variantValue};\\n`)\n }\n }\n\n if (cssVar) {\n variablesCss = `:root {\\n${variablesCss}}\\n\\n`\n }\n\n return variablesCss + css\n}\n\nexport function genVariations (name: string, value: ColorInt): Record<string, string> {\n const values: Record<string, string> = {\n base: intToHex(value),\n }\n\n for (let i = 5; i > 0; --i) {\n values[`lighten${i}`] = intToHex(lighten(value, i))\n }\n\n for (let i = 1; i <= 4; ++i) {\n values[`darken${i}`] = intToHex(darken(value, i))\n }\n\n return values\n}\n\nexport function lighten (value: ColorInt, amount: number): ColorInt {\n const lab = LAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] + amount * 10\n return sRGB.fromXYZ(LAB.toXYZ(lab))\n}\n\nexport function darken (value: ColorInt, amount: number): ColorInt {\n const lab = LAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n return sRGB.fromXYZ(LAB.toXYZ(lab))\n}\n","/* eslint-disable no-multi-spaces */\n// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport * as ThemeUtils from './utils'\nimport { getNestedValue } from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport {\n VuetifyParsedTheme,\n VuetifyThemes,\n VuetifyThemeVariant,\n Theme as ITheme,\n} from 'vuetify/types/services/theme'\n\nexport class Theme extends Service {\n static property: 'theme' = 'theme'\n\n public disabled = false\n\n public options: ITheme['options']\n\n public styleEl?: HTMLStyleElement\n\n public themes: VuetifyThemes\n\n public defaults: VuetifyThemes\n\n private isDark = null as boolean | null\n\n private unwatch = null as (() => void) | null\n\n private vueMeta = null as any | null\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n dark,\n disable,\n options,\n themes,\n } = preset[Theme.property]\n\n this.dark = Boolean(dark)\n this.defaults = this.themes = themes\n this.options = options\n\n if (disable) {\n this.disabled = true\n\n return\n }\n\n this.themes = {\n dark: this.fillVariant(themes.dark, true),\n light: this.fillVariant(themes.light, false),\n }\n }\n\n // When setting css, check for element and apply new values\n /* eslint-disable-next-line accessor-pairs */\n set css (val: string) {\n if (this.vueMeta) {\n if (this.isVueMeta23) {\n this.applyVueMeta23()\n }\n return\n }\n this.checkOrCreateStyleElement() && (this.styleEl!.innerHTML = val)\n }\n\n set dark (val: boolean) {\n const oldDark = this.isDark\n\n this.isDark = val\n // Only apply theme after dark\n // has already been set before\n oldDark != null && this.applyTheme()\n }\n\n get dark () {\n return Boolean(this.isDark)\n }\n\n // Apply current theme default\n // only called on client side\n public applyTheme (): void {\n if (this.disabled) return this.clearCss()\n\n this.css = this.generatedStyles\n }\n\n public clearCss (): void {\n this.css = ''\n }\n\n // Initialize theme for SSR and SPA\n // Attach to ssrContext head or\n // apply new theme to document\n public init (root: Vue, ssrContext?: any): void {\n if (this.disabled) return\n\n /* istanbul ignore else */\n if ((root as any).$meta) {\n this.initVueMeta(root)\n } else if (ssrContext) {\n this.initSSR(ssrContext)\n }\n\n this.initTheme(root)\n }\n\n // Allows for you to set target theme\n public setTheme (theme: 'light' | 'dark', value: object) {\n this.themes[theme] = Object.assign(this.themes[theme], value)\n this.applyTheme()\n }\n\n // Reset theme defaults\n public resetThemes () {\n this.themes.light = Object.assign({}, this.defaults.light)\n this.themes.dark = Object.assign({}, this.defaults.dark)\n this.applyTheme()\n }\n\n // Check for existence of style element\n private checkOrCreateStyleElement (): boolean {\n this.styleEl = document.getElementById('vuetify-theme-stylesheet') as HTMLStyleElement\n\n /* istanbul ignore next */\n if (this.styleEl) return true\n\n this.genStyleElement() // If doesn't have it, create it\n\n return Boolean(this.styleEl)\n }\n\n private fillVariant (\n theme: Partial<VuetifyThemeVariant> = {},\n dark: boolean\n ): VuetifyThemeVariant {\n const defaultTheme = this.themes[dark ? 'dark' : 'light']\n\n return Object.assign({},\n defaultTheme,\n theme\n )\n }\n\n // Generate the style element\n // if applicable\n private genStyleElement (): void {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return\n\n /* istanbul ignore next */\n this.styleEl = document.createElement('style')\n this.styleEl.type = 'text/css'\n this.styleEl.id = 'vuetify-theme-stylesheet'\n\n if (this.options.cspNonce) {\n this.styleEl.setAttribute('nonce', this.options.cspNonce)\n }\n\n document.head.appendChild(this.styleEl)\n }\n\n private initVueMeta (root: any) {\n this.vueMeta = root.$meta()\n if (this.isVueMeta23) {\n // vue-meta needs to apply after mounted()\n root.$nextTick(() => {\n this.applyVueMeta23()\n })\n return\n }\n\n const metaKeyName = typeof this.vueMeta.getOptions === 'function' ? this.vueMeta.getOptions().keyName : 'metaInfo'\n const metaInfo = root.$options[metaKeyName] || {}\n\n root.$options[metaKeyName] = () => {\n metaInfo.style = metaInfo.style || []\n\n const vuetifyStylesheet = metaInfo.style.find((s: any) => s.id === 'vuetify-theme-stylesheet')\n\n if (!vuetifyStylesheet) {\n metaInfo.style.push({\n cssText: this.generatedStyles,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n nonce: (this.options || {}).cspNonce,\n })\n } else {\n vuetifyStylesheet.cssText = this.generatedStyles\n }\n\n return metaInfo\n }\n }\n\n private applyVueMeta23 () {\n const { set } = this.vueMeta.addApp('vuetify')\n\n set({\n style: [{\n cssText: this.generatedStyles,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n nonce: this.options.cspNonce,\n }],\n })\n }\n\n private initSSR (ssrContext?: any) {\n // SSR\n const nonce = this.options.cspNonce ? ` nonce=\"${this.options.cspNonce}\"` : ''\n ssrContext.head = ssrContext.head || ''\n ssrContext.head += `<style type=\"text/css\" id=\"vuetify-theme-stylesheet\"${nonce}>${this.generatedStyles}</style>`\n }\n\n private initTheme (root: Vue) {\n // Only watch for reactivity on client side\n if (typeof document === 'undefined') return\n\n // If we get here somehow, ensure\n // existing instance is removed\n if (this.unwatch) {\n this.unwatch()\n this.unwatch = null\n }\n\n // TODO: Update to use RFC if merged\n // https://github.com/vuejs/rfcs/blob/advanced-reactivity-api/active-rfcs/0000-advanced-reactivity-api.md\n root.$once('hook:created', () => {\n const obs = Vue.observable({ themes: this.themes })\n this.unwatch = root.$watch(() => obs.themes, () => this.applyTheme(), { deep: true })\n })\n this.applyTheme()\n }\n\n get currentTheme () {\n const target = this.dark ? 'dark' : 'light'\n\n return this.themes[target]\n }\n\n get generatedStyles (): string {\n const theme = this.parsedTheme\n /* istanbul ignore next */\n const options = this.options || {}\n let css\n\n if (options.themeCache != null) {\n css = options.themeCache.get(theme)\n /* istanbul ignore if */\n if (css != null) return css\n }\n\n css = ThemeUtils.genStyles(theme, options.customProperties)\n\n if (options.minifyTheme != null) {\n css = options.minifyTheme(css)\n }\n\n if (options.themeCache != null) {\n options.themeCache.set(theme, css)\n }\n\n return css\n }\n\n get parsedTheme (): VuetifyParsedTheme {\n return ThemeUtils.parse(\n this.currentTheme || {},\n undefined,\n getNestedValue(this.options, ['variations'], true)\n )\n }\n\n // Is using v2.3 of vue-meta\n // https://github.com/nuxt/vue-meta/releases/tag/v2.3.0\n private get isVueMeta23 (): boolean {\n return typeof this.vueMeta.addApp === 'function'\n }\n}\n","import { install } from './install'\n\n// Types\nimport Vue from 'vue'\nimport {\n UserVuetifyPreset,\n VuetifyPreset,\n} from 'vuetify/types/services/presets'\nimport {\n VuetifyService,\n VuetifyServiceContract,\n} from 'vuetify/types/services'\n\n// Services\nimport * as services from './services'\n\nexport default class Vuetify {\n static install = install\n\n static installed = false\n\n static version = __VUETIFY_VERSION__\n\n static config = {\n silent: false,\n }\n\n public framework: Dictionary<VuetifyServiceContract> = {\n isHydrating: false,\n } as any\n\n public installed: string[] = []\n\n public preset = {} as VuetifyPreset\n\n public userPreset: UserVuetifyPreset = {}\n\n constructor (userPreset: UserVuetifyPreset = {}) {\n this.userPreset = userPreset\n\n this.use(services.Presets)\n this.use(services.Application)\n this.use(services.Breakpoint)\n this.use(services.Goto)\n this.use(services.Icons)\n this.use(services.Lang)\n this.use(services.Theme)\n }\n\n // Called on the new vuetify instance\n // bootstrap in install beforeCreate\n // Exposes ssrContext if available\n init (root: Vue, ssrContext?: object) {\n this.installed.forEach(property => {\n const service = this.framework[property]\n\n service.framework = this.framework\n\n service.init(root, ssrContext)\n })\n\n // rtl is not installed and\n // will never be called by\n // the init process\n this.framework.rtl = Boolean(this.preset.rtl) as any\n }\n\n // Instantiate a VuetifyService\n use (Service: VuetifyService) {\n const property = Service.property\n\n if (this.installed.includes(property)) return\n\n // TODO maybe a specific type for arg 2?\n this.framework[property] = new Service(this.preset, this as any)\n this.installed.push(property)\n }\n}\n","// eslint-disable-next-line @typescript-eslint/unbound-method\nconst toString = Object.prototype.toString;\n/**\n * Checks if an object is an instance of an Array (array or typed array, except those that contain bigint values).\n *\n * @param value - Object to check.\n * @returns True if the object is an array or a typed array.\n */\nexport function isAnyArray(value) {\n const tag = toString.call(value);\n return tag.endsWith('Array]') && !tag.includes('Big');\n}\n//# sourceMappingURL=index.js.map","import { isAnyArray } from 'is-any-array';\n\nexport { default as maybeToPrecision } from './maybeToPrecision';\nexport { default as checkArrayLength } from './checkArrayLength';\n\nexport default class BaseRegression {\n constructor() {\n if (new.target === BaseRegression) {\n throw new Error('BaseRegression must be subclassed');\n }\n }\n\n predict(x) {\n if (typeof x === 'number') {\n return this._predict(x);\n } else if (isAnyArray(x)) {\n const y = [];\n for (let i = 0; i < x.length; i++) {\n y.push(this._predict(x[i]));\n }\n return y;\n } else {\n throw new TypeError('x must be a number or array');\n }\n }\n\n _predict() {\n throw new Error('_predict must be implemented');\n }\n\n train() {\n // Do nothing for this package\n }\n\n toString() {\n return '';\n }\n\n toLaTeX() {\n return '';\n }\n\n /**\n * Return the correlation coefficient of determination (r) and chi-square.\n * @param {Array<number>} x\n * @param {Array<number>} y\n * @return {object}\n */\n score(x, y) {\n if (!isAnyArray(x) || !isAnyArray(y) || x.length !== y.length) {\n throw new Error('x and y must be arrays of the same length');\n }\n\n const n = x.length;\n const y2 = new Array(n);\n for (let i = 0; i < n; i++) {\n y2[i] = this._predict(x[i]);\n }\n\n let xSum = 0;\n let ySum = 0;\n let chi2 = 0;\n let rmsd = 0;\n let xSquared = 0;\n let ySquared = 0;\n let xY = 0;\n for (let i = 0; i < n; i++) {\n xSum += y2[i];\n ySum += y[i];\n xSquared += y2[i] * y2[i];\n ySquared += y[i] * y[i];\n xY += y2[i] * y[i];\n if (y[i] !== 0) {\n chi2 += ((y[i] - y2[i]) * (y[i] - y2[i])) / y[i];\n }\n rmsd += (y[i] - y2[i]) * (y[i] - y2[i]);\n }\n\n const r =\n (n * xY - xSum * ySum) /\n Math.sqrt((n * xSquared - xSum * xSum) * (n * ySquared - ySum * ySum));\n\n return {\n r: r,\n r2: r * r,\n chi2: chi2,\n rmsd: Math.sqrt(rmsd / n),\n };\n }\n}\n","import { isAnyArray } from 'is-any-array';\n\nexport default function checkArraySize(x, y) {\n if (!isAnyArray(x) || !isAnyArray(y)) {\n throw new TypeError('x and y must be arrays');\n }\n if (x.length !== y.length) {\n throw new RangeError('x and y arrays must have the same length');\n }\n}\n","export default function maybeToPrecision(value, digits) {\n if (value < 0) {\n value = 0 - value;\n if (typeof digits === 'number') {\n return `- ${value.toPrecision(digits)}`;\n } else {\n return `- ${value.toString()}`;\n }\n } else {\n if (typeof digits === 'number') {\n return value.toPrecision(digits);\n } else {\n return value.toString();\n }\n }\n}\n","import BaseRegression, {\n checkArrayLength,\n maybeToPrecision,\n} from 'ml-regression-base';\n\nexport default class SimpleLinearRegression extends BaseRegression {\n constructor(x, y) {\n super();\n if (x === true) {\n this.slope = y.slope;\n this.intercept = y.intercept;\n this.coefficients = [y.intercept, y.slope];\n } else {\n checkArrayLength(x, y);\n regress(this, x, y);\n }\n }\n\n toJSON() {\n return {\n name: 'simpleLinearRegression',\n slope: this.slope,\n intercept: this.intercept,\n };\n }\n\n _predict(x) {\n return this.slope * x + this.intercept;\n }\n\n computeX(y) {\n return (y - this.intercept) / this.slope;\n }\n\n toString(precision) {\n let result = 'f(x) = ';\n if (this.slope !== 0) {\n const xFactor = maybeToPrecision(this.slope, precision);\n result += `${xFactor === '1' ? '' : `${xFactor} * `}x`;\n if (this.intercept !== 0) {\n const absIntercept = Math.abs(this.intercept);\n const operator = absIntercept === this.intercept ? '+' : '-';\n result += ` ${operator} ${maybeToPrecision(absIntercept, precision)}`;\n }\n } else {\n result += maybeToPrecision(this.intercept, precision);\n }\n return result;\n }\n\n toLaTeX(precision) {\n return this.toString(precision);\n }\n\n static load(json) {\n if (json.name !== 'simpleLinearRegression') {\n throw new TypeError('not a SLR model');\n }\n return new SimpleLinearRegression(true, json);\n }\n}\n\nfunction regress(slr, x, y) {\n const n = x.length;\n let xSum = 0;\n let ySum = 0;\n\n let xSquared = 0;\n let xY = 0;\n\n for (let i = 0; i < n; i++) {\n xSum += x[i];\n ySum += y[i];\n xSquared += x[i] * x[i];\n xY += x[i] * y[i];\n }\n\n const numerator = n * xY - xSum * ySum;\n slr.slope = numerator / (n * xSquared - xSum * xSum);\n slr.intercept = (1 / n) * ySum - slr.slope * (1 / n) * xSum;\n slr.coefficients = [slr.intercept, slr.slope];\n}\n","import BaseRegression, {\r\n checkArrayLength,\r\n maybeToPrecision,\r\n} from 'ml-regression-base';\r\nimport SimpleLinearRegression from 'ml-regression-simple-linear';\r\n\r\nexport default class ExponentialRegression extends BaseRegression {\r\n constructor(x, y) {\r\n super();\r\n if (x === true) {\r\n this.A = y.A;\r\n this.B = y.B;\r\n } else {\r\n checkArrayLength(x, y);\r\n regress(this, x, y);\r\n }\r\n }\r\n\r\n _predict(input) {\r\n return this.B * Math.exp(input * this.A);\r\n }\r\n\r\n toJSON() {\r\n return {\r\n name: 'exponentialRegression',\r\n A: this.A,\r\n B: this.B,\r\n };\r\n }\r\n\r\n toString(precision) {\r\n return `f(x) = ${maybeToPrecision(\r\n this.B,\r\n precision,\r\n )} * e^(${maybeToPrecision(this.A, precision)} * x)`;\r\n }\r\n\r\n toLaTeX(precision) {\r\n if (this.A >= 0) {\r\n return `f(x) = ${maybeToPrecision(\r\n this.B,\r\n precision,\r\n )}e^{${maybeToPrecision(this.A, precision)}x}`;\r\n } else {\r\n return `f(x) = \\\\frac{${maybeToPrecision(\r\n this.B,\r\n precision,\r\n )}}{e^{${maybeToPrecision(-this.A, precision)}x}}`;\r\n }\r\n }\r\n\r\n static load(json) {\r\n if (json.name !== 'exponentialRegression') {\r\n throw new TypeError('not a exponential regression model');\r\n }\r\n return new ExponentialRegression(true, json);\r\n }\r\n}\r\n\r\nfunction regress(er, x, y) {\r\n const n = x.length;\r\n const yl = new Array(n);\r\n for (let i = 0; i < n; i++) {\r\n yl[i] = Math.log(y[i]);\r\n }\r\n\r\n const linear = new SimpleLinearRegression(x, yl);\r\n er.A = linear.slope;\r\n er.B = Math.exp(linear.intercept);\r\n}\r\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦',\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0',\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n monthsShort:\n 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n '_'\n ),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ',\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return paIn;\n\n})));\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'transitionable',\n\n props: {\n mode: String,\n origin: String,\n transition: String,\n },\n})\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\nvar baseCreate = require('lodash._basecreate'),\n isObject = require('lodash.isobject'),\n setBindData = require('lodash._setbinddata'),\n slice = require('lodash._slice');\n\n/**\n * Used for `Array` method references.\n *\n * Normally `Array.prototype` would suffice, however, using an array literal\n * avoids issues in Narwhal.\n */\nvar arrayRef = [];\n\n/** Native method shortcuts */\nvar push = arrayRef.push;\n\n/**\n * The base implementation of `createWrapper` that creates the wrapper and\n * sets its meta data.\n *\n * @private\n * @param {Array} bindData The bind data array.\n * @returns {Function} Returns the new function.\n */\nfunction baseCreateWrapper(bindData) {\n var func = bindData[0],\n bitmask = bindData[1],\n partialArgs = bindData[2],\n partialRightArgs = bindData[3],\n thisArg = bindData[4],\n arity = bindData[5];\n\n var isBind = bitmask & 1,\n isBindKey = bitmask & 2,\n isCurry = bitmask & 4,\n isCurryBound = bitmask & 8,\n key = func;\n\n function bound() {\n var thisBinding = isBind ? thisArg : this;\n if (partialArgs) {\n var args = partialArgs.slice();\n push.apply(args, arguments);\n }\n if (partialRightArgs || isCurry) {\n args || (args = slice(arguments));\n if (partialRightArgs) {\n push.apply(args, partialRightArgs);\n }\n if (isCurry && args.length < arity) {\n bitmask |= 16 & ~32;\n return baseCreateWrapper([func, (isCurryBound ? bitmask : bitmask & ~3), args, null, thisArg, arity]);\n }\n }\n args || (args = arguments);\n if (isBindKey) {\n func = thisBinding[key];\n }\n if (this instanceof bound) {\n thisBinding = baseCreate(func.prototype);\n var result = func.apply(thisBinding, args);\n return isObject(result) ? result : thisBinding;\n }\n return func.apply(thisBinding, args);\n }\n setBindData(bound, bindData);\n return bound;\n}\n\nmodule.exports = baseCreateWrapper;\n","// Mixins\nimport Stackable from '../stackable'\nimport { factory as positionableFactory } from '../positionable'\nimport Activatable from '../activatable'\nimport Detachable from '../detachable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Stackable,\n positionableFactory(['top', 'right', 'bottom', 'left', 'absolute']),\n Activatable,\n Detachable,\n)\n\ninterface dimensions {\n top: number\n left: number\n bottom: number\n right: number\n width: number\n height: number\n offsetTop: number\n scrollHeight: number\n offsetLeft: number\n}\n\ninterface options extends ExtractVue<typeof baseMixins> {\n attach: boolean | string | Element\n offsetY: boolean\n offsetX: boolean\n dimensions: {\n activator: dimensions\n content: dimensions\n }\n $refs: {\n content: HTMLElement\n activator: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'menuable',\n\n props: {\n allowOverflow: Boolean,\n light: Boolean,\n dark: Boolean,\n maxWidth: {\n type: [Number, String],\n default: 'auto',\n },\n minWidth: [Number, String],\n nudgeBottom: {\n type: [Number, String],\n default: 0,\n },\n nudgeLeft: {\n type: [Number, String],\n default: 0,\n },\n nudgeRight: {\n type: [Number, String],\n default: 0,\n },\n nudgeTop: {\n type: [Number, String],\n default: 0,\n },\n nudgeWidth: {\n type: [Number, String],\n default: 0,\n },\n offsetOverflow: Boolean,\n positionX: {\n type: Number,\n default: null,\n },\n positionY: {\n type: Number,\n default: null,\n },\n zIndex: {\n type: [Number, String],\n default: null,\n },\n },\n\n data: () => ({\n activatorNode: [] as VNode[],\n absoluteX: 0,\n absoluteY: 0,\n activatedBy: null as EventTarget | null,\n activatorFixed: false,\n dimensions: {\n activator: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n offsetLeft: 0,\n },\n content: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n },\n },\n relativeYOffset: 0,\n hasJustFocused: false,\n hasWindow: false,\n inputActivator: false,\n isContentActive: false,\n pageWidth: 0,\n pageYOffset: 0,\n stackClass: 'v-menu__content--active',\n stackMinZIndex: 6,\n }),\n\n computed: {\n computedLeft () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0\n const minWidth = Math.max(a.width, c.width)\n let left = 0\n left += activatorLeft\n if (this.left || (this.$vuetify.rtl && !this.right)) left -= (minWidth - a.width)\n if (this.offsetX) {\n const maxWidth = isNaN(Number(this.maxWidth))\n ? a.width\n : Math.min(a.width, Number(this.maxWidth))\n\n left += this.left ? -maxWidth : a.width\n }\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return left\n },\n computedTop () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n let top = 0\n\n if (this.top) top += a.height - c.height\n if (this.attach !== false) top += a.offsetTop\n else top += a.top + this.pageYOffset\n if (this.offsetY) top += this.top ? -a.height : a.height\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n\n return top\n },\n hasActivator (): boolean {\n return !!this.$slots.activator || !!this.$scopedSlots.activator || !!this.activator || !!this.inputActivator\n },\n absoluteYOffset (): number {\n return this.pageYOffset - this.relativeYOffset\n },\n },\n\n watch: {\n disabled (val) {\n val && this.callDeactivate()\n },\n isActive (val) {\n if (this.disabled) return\n\n val ? this.callActivate() : this.callDeactivate()\n },\n positionX: 'updateDimensions',\n positionY: 'updateDimensions',\n },\n\n beforeMount () {\n this.hasWindow = typeof window !== 'undefined'\n\n if (this.hasWindow) {\n window.addEventListener('resize', this.updateDimensions, false)\n }\n },\n\n beforeDestroy () {\n if (this.hasWindow) {\n window.removeEventListener('resize', this.updateDimensions, false)\n }\n },\n\n methods: {\n absolutePosition () {\n return {\n offsetTop: this.positionY || this.absoluteY,\n offsetLeft: this.positionX || this.absoluteX,\n scrollHeight: 0,\n top: this.positionY || this.absoluteY,\n bottom: this.positionY || this.absoluteY,\n left: this.positionX || this.absoluteX,\n right: this.positionX || this.absoluteX,\n height: 0,\n width: 0,\n }\n },\n activate () {},\n calcLeft (menuWidth: number) {\n return convertToUnit(this.attach !== false\n ? this.computedLeft\n : this.calcXOverflow(this.computedLeft, menuWidth))\n },\n calcTop () {\n return convertToUnit(this.attach !== false\n ? this.computedTop\n : this.calcYOverflow(this.computedTop))\n },\n calcXOverflow (left: number, menuWidth: number) {\n const xOverflow = left + menuWidth - this.pageWidth + 12\n\n if ((!this.left || this.right) && xOverflow > 0) {\n left = Math.max(left - xOverflow, 0)\n } else {\n left = Math.max(left, 12)\n }\n\n return left + this.getOffsetLeft()\n },\n calcYOverflow (top: number) {\n const documentHeight = this.getInnerHeight()\n const toTop = this.absoluteYOffset + documentHeight\n const activator = this.dimensions.activator\n const contentHeight = this.dimensions.content.height\n const totalHeight = top + contentHeight\n const isOverflowing = toTop < totalHeight\n\n // If overflowing bottom and offset\n // TODO: set 'bottom' position instead of 'top'\n if (isOverflowing &&\n this.offsetOverflow &&\n // If we don't have enough room to offset\n // the overflow, don't offset\n activator.top > contentHeight\n ) {\n top = this.pageYOffset + (activator.top - contentHeight)\n // If overflowing bottom\n } else if (isOverflowing && !this.allowOverflow) {\n top = toTop - contentHeight - 12\n // If overflowing top\n } else if (top < this.absoluteYOffset && !this.allowOverflow) {\n top = this.absoluteYOffset + 12\n }\n\n return top < 12 ? 12 : top\n },\n callActivate () {\n if (!this.hasWindow) return\n\n this.activate()\n },\n callDeactivate () {\n this.isContentActive = false\n\n this.deactivate()\n },\n checkForPageYOffset () {\n if (this.hasWindow) {\n this.pageYOffset = this.activatorFixed ? 0 : this.getOffsetTop()\n }\n },\n checkActivatorFixed () {\n if (this.attach !== false) {\n this.activatorFixed = false\n return\n }\n let el = this.getActivator()\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n this.activatorFixed = true\n return\n }\n el = el.offsetParent as HTMLElement\n }\n this.activatorFixed = false\n },\n deactivate () {},\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n const onClick = listeners.click\n\n if (onClick) {\n listeners.click = (e: MouseEvent & KeyboardEvent & FocusEvent) => {\n if (this.openOnClick) {\n onClick && onClick(e)\n }\n\n this.absoluteX = e.clientX\n this.absoluteY = e.clientY\n }\n }\n\n return listeners\n },\n getInnerHeight () {\n if (!this.hasWindow) return 0\n\n return window.innerHeight ||\n document.documentElement.clientHeight\n },\n getOffsetLeft () {\n if (!this.hasWindow) return 0\n\n return window.pageXOffset ||\n document.documentElement.scrollLeft\n },\n getOffsetTop () {\n if (!this.hasWindow) return 0\n\n return window.pageYOffset ||\n document.documentElement.scrollTop\n },\n getRoundedBoundedClientRect (el: Element) {\n const rect = el.getBoundingClientRect()\n return {\n top: Math.round(rect.top),\n left: Math.round(rect.left),\n bottom: Math.round(rect.bottom),\n right: Math.round(rect.right),\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n }\n },\n measure (el: HTMLElement) {\n if (!el || !this.hasWindow) return null\n\n const rect = this.getRoundedBoundedClientRect(el)\n\n // Account for activator margin\n if (this.attach !== false) {\n const style = window.getComputedStyle(el)\n\n rect.left = parseInt(style.marginLeft!)\n rect.top = parseInt(style.marginTop!)\n }\n\n return rect\n },\n sneakPeek (cb: () => void) {\n requestAnimationFrame(() => {\n const el = this.$refs.content\n\n if (!el || el.style.display !== 'none') {\n cb()\n return\n }\n\n el.style.display = 'inline-block'\n cb()\n el.style.display = 'none'\n })\n },\n startTransition () {\n return new Promise<void>(resolve => requestAnimationFrame(() => {\n this.isContentActive = this.hasJustFocused = this.isActive\n resolve()\n }))\n },\n updateDimensions () {\n this.hasWindow = typeof window !== 'undefined'\n this.checkActivatorFixed()\n this.checkForPageYOffset()\n this.pageWidth = document.documentElement.clientWidth\n\n const dimensions: any = {\n activator: { ...this.dimensions.activator },\n content: { ...this.dimensions.content },\n }\n\n // Activator should already be shown\n if (!this.hasActivator || this.absolute) {\n dimensions.activator = this.absolutePosition()\n } else {\n const activator = this.getActivator()\n if (!activator) return\n\n dimensions.activator = this.measure(activator)\n dimensions.activator.offsetLeft = activator.offsetLeft\n if (this.attach !== false) {\n // account for css padding causing things to not line up\n // this is mostly for v-autocomplete, hopefully it won't break anything\n dimensions.activator.offsetTop = activator.offsetTop\n } else {\n dimensions.activator.offsetTop = 0\n }\n }\n\n // Display and hide to get dimensions\n this.sneakPeek(() => {\n if (this.$refs.content) {\n if (this.$refs.content.offsetParent) {\n const offsetRect = this.getRoundedBoundedClientRect(this.$refs.content.offsetParent)\n\n this.relativeYOffset = window.pageYOffset + offsetRect.top\n dimensions.activator.top -= this.relativeYOffset\n dimensions.activator.left -= window.pageXOffset + offsetRect.left\n }\n\n dimensions.content = this.measure(this.$refs.content)\n }\n\n this.dimensions = dimensions\n })\n },\n },\n})\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","/**\r\n * DevExtreme (esm/ui/widget/ui.widget.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Action from \"../../core/action\";\r\nimport DOMComponent from \"../../core/dom_component\";\r\nimport {\r\n active,\r\n focus,\r\n hover,\r\n keyboard\r\n} from \"../../events/short\";\r\nimport {\r\n deferRender,\r\n deferRenderer,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n focusable as focusableSelector\r\n} from \"./selectors\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n compare as compareVersions\r\n} from \"../../core/utils/version\";\r\nimport \"../../events/click\";\r\nimport \"../../events/core/emitter.feedback\";\r\nimport \"../../events/hover\";\r\n\r\nfunction setAttribute(name, value, target) {\r\n name = \"role\" === name || \"id\" === name ? name : \"aria-\".concat(name);\r\n value = isDefined(value) ? value.toString() : null;\r\n target.attr(name, value)\r\n}\r\nvar Widget = DOMComponent.inherit({\r\n _feedbackHideTimeout: 400,\r\n _feedbackShowTimeout: 30,\r\n _supportedKeys: () => ({}),\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n hoveredElement: null,\r\n isActive: false,\r\n disabled: false,\r\n visible: true,\r\n hint: void 0,\r\n activeStateEnabled: false,\r\n onContentReady: null,\r\n hoverStateEnabled: false,\r\n focusStateEnabled: false,\r\n tabIndex: 0,\r\n accessKey: void 0,\r\n onFocusIn: null,\r\n onFocusOut: null,\r\n onKeyboardHandled: null,\r\n ignoreParentReadOnly: false,\r\n useResizeObserver: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n var device = devices.real();\r\n var platform = device.platform;\r\n var version = device.version;\r\n return \"ios\" === platform && compareVersions(version, \"13.3\") <= 0\r\n },\r\n options: {\r\n useResizeObserver: false\r\n }\r\n }])\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initContentReadyAction()\r\n },\r\n _innerWidgetOptionChanged: function(innerWidget, args) {\r\n var options = Widget.getOptionsFromContainer(args);\r\n innerWidget && innerWidget.option(options);\r\n this._options.cache(args.name, options)\r\n },\r\n _bindInnerWidgetOptions(innerWidget, optionsContainer) {\r\n var syncOptions = () => this._options.silent(optionsContainer, extend({}, innerWidget.option()));\r\n syncOptions();\r\n innerWidget.on(\"optionChanged\", syncOptions)\r\n },\r\n _getAriaTarget() {\r\n return this._focusTarget()\r\n },\r\n _initContentReadyAction() {\r\n this._contentReadyAction = this._createActionByOption(\"onContentReady\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initMarkup() {\r\n var {\r\n disabled: disabled,\r\n visible: visible\r\n } = this.option();\r\n this.$element().addClass(\"dx-widget\");\r\n this._toggleDisabledState(disabled);\r\n this._toggleVisibility(visible);\r\n this._renderHint();\r\n this._isFocusable() && this._renderFocusTarget();\r\n this.callBase()\r\n },\r\n _render() {\r\n this.callBase();\r\n this._renderContent();\r\n this._renderFocusState();\r\n this._attachFeedbackEvents();\r\n this._attachHoverEvents();\r\n this._toggleIndependentState()\r\n },\r\n _renderHint() {\r\n var {\r\n hint: hint\r\n } = this.option();\r\n this.$element().attr(\"title\", hint || null)\r\n },\r\n _renderContent() {\r\n deferRender(() => !this._disposed ? this._renderContentImpl() : void 0).done(() => !this._disposed ? this._fireContentReadyAction() : void 0)\r\n },\r\n _renderContentImpl: noop,\r\n _fireContentReadyAction: deferRenderer((function() {\r\n return this._contentReadyAction()\r\n })),\r\n _dispose() {\r\n this._contentReadyAction = null;\r\n this._detachKeyboardEvents();\r\n this.callBase()\r\n },\r\n _resetActiveState() {\r\n this._toggleActiveState(this._eventBindingTarget(), false)\r\n },\r\n _clean() {\r\n this._cleanFocusState();\r\n this._resetActiveState();\r\n this.callBase();\r\n this.$element().empty()\r\n },\r\n _toggleVisibility(visible) {\r\n this.$element().toggleClass(\"dx-state-invisible\", !visible)\r\n },\r\n _renderFocusState() {\r\n this._attachKeyboardEvents();\r\n if (this._isFocusable()) {\r\n this._renderFocusTarget();\r\n this._attachFocusEvents();\r\n this._renderAccessKey()\r\n }\r\n },\r\n _renderAccessKey() {\r\n var $el = this._focusTarget();\r\n var {\r\n accessKey: accessKey\r\n } = this.option();\r\n $el.attr(\"accesskey\", accessKey)\r\n },\r\n _isFocusable() {\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n disabled: disabled\r\n } = this.option();\r\n return focusStateEnabled && !disabled\r\n },\r\n _eventBindingTarget() {\r\n return this.$element()\r\n },\r\n _focusTarget() {\r\n return this._getActiveElement()\r\n },\r\n _isFocusTarget: function(element) {\r\n var focusTargets = $(this._focusTarget()).toArray();\r\n return focusTargets.includes(element)\r\n },\r\n _findActiveTarget($element) {\r\n return $element.find(this._activeStateUnit).not(\".dx-state-disabled\")\r\n },\r\n _getActiveElement() {\r\n var activeElement = this._eventBindingTarget();\r\n if (this._activeStateUnit) {\r\n return this._findActiveTarget(activeElement)\r\n }\r\n return activeElement\r\n },\r\n _renderFocusTarget() {\r\n var {\r\n tabIndex: tabIndex\r\n } = this.option();\r\n this._focusTarget().attr(\"tabIndex\", tabIndex)\r\n },\r\n _keyboardEventBindingTarget() {\r\n return this._eventBindingTarget()\r\n },\r\n _refreshFocusEvent() {\r\n this._detachFocusEvents();\r\n this._attachFocusEvents()\r\n },\r\n _focusEventTarget() {\r\n return this._focusTarget()\r\n },\r\n _focusInHandler(event) {\r\n if (!event.isDefaultPrevented()) {\r\n this._createActionByOption(\"onFocusIn\", {\r\n beforeExecute: () => this._updateFocusState(event, true),\r\n excludeValidators: [\"readOnly\"]\r\n })({\r\n event: event\r\n })\r\n }\r\n },\r\n _focusOutHandler(event) {\r\n if (!event.isDefaultPrevented()) {\r\n this._createActionByOption(\"onFocusOut\", {\r\n beforeExecute: () => this._updateFocusState(event, false),\r\n excludeValidators: [\"readOnly\", \"disabled\"]\r\n })({\r\n event: event\r\n })\r\n }\r\n },\r\n _updateFocusState(_ref, isFocused) {\r\n var {\r\n target: target\r\n } = _ref;\r\n if (this._isFocusTarget(target)) {\r\n this._toggleFocusClass(isFocused, $(target))\r\n }\r\n },\r\n _toggleFocusClass(isFocused, $element) {\r\n var $focusTarget = $element && $element.length ? $element : this._focusTarget();\r\n $focusTarget.toggleClass(\"dx-state-focused\", isFocused)\r\n },\r\n _hasFocusClass(element) {\r\n var $focusTarget = $(element || this._focusTarget());\r\n return $focusTarget.hasClass(\"dx-state-focused\")\r\n },\r\n _isFocused() {\r\n return this._hasFocusClass()\r\n },\r\n _getKeyboardListeners: () => [],\r\n _attachKeyboardEvents() {\r\n this._detachKeyboardEvents();\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n onKeyboardHandled: onKeyboardHandled\r\n } = this.option();\r\n var hasChildListeners = this._getKeyboardListeners().length;\r\n var hasKeyboardEventHandler = !!onKeyboardHandled;\r\n var shouldAttach = focusStateEnabled || hasChildListeners || hasKeyboardEventHandler;\r\n if (shouldAttach) {\r\n this._keyboardListenerId = keyboard.on(this._keyboardEventBindingTarget(), this._focusTarget(), opts => this._keyboardHandler(opts))\r\n }\r\n },\r\n _keyboardHandler(options, onlyChildProcessing) {\r\n if (!onlyChildProcessing) {\r\n var {\r\n originalEvent: originalEvent,\r\n keyName: keyName,\r\n which: which\r\n } = options;\r\n var keys = this._supportedKeys(originalEvent);\r\n var func = keys[keyName] || keys[which];\r\n if (void 0 !== func) {\r\n var handler = func.bind(this);\r\n var result = handler(originalEvent, options);\r\n if (!result) {\r\n return false\r\n }\r\n }\r\n }\r\n var keyboardListeners = this._getKeyboardListeners();\r\n var {\r\n onKeyboardHandled: onKeyboardHandled\r\n } = this.option();\r\n keyboardListeners.forEach(listener => listener && listener._keyboardHandler(options));\r\n onKeyboardHandled && onKeyboardHandled(options);\r\n return true\r\n },\r\n _refreshFocusState() {\r\n this._cleanFocusState();\r\n this._renderFocusState()\r\n },\r\n _cleanFocusState() {\r\n var $element = this._focusTarget();\r\n $element.removeAttr(\"tabIndex\");\r\n this._toggleFocusClass(false);\r\n this._detachFocusEvents();\r\n this._detachKeyboardEvents()\r\n },\r\n _detachKeyboardEvents() {\r\n keyboard.off(this._keyboardListenerId);\r\n this._keyboardListenerId = null\r\n },\r\n _attachHoverEvents() {\r\n var {\r\n hoverStateEnabled: hoverStateEnabled\r\n } = this.option();\r\n var selector = this._activeStateUnit;\r\n var $el = this._eventBindingTarget();\r\n hover.off($el, {\r\n selector: selector,\r\n namespace: \"UIFeedback\"\r\n });\r\n if (hoverStateEnabled) {\r\n hover.on($el, new Action(_ref2 => {\r\n var {\r\n event: event,\r\n element: element\r\n } = _ref2;\r\n this._hoverStartHandler(event);\r\n this.option(\"hoveredElement\", $(element))\r\n }, {\r\n excludeValidators: [\"readOnly\"]\r\n }), event => {\r\n this.option(\"hoveredElement\", null);\r\n this._hoverEndHandler(event)\r\n }, {\r\n selector: selector,\r\n namespace: \"UIFeedback\"\r\n })\r\n }\r\n },\r\n _attachFeedbackEvents() {\r\n var {\r\n activeStateEnabled: activeStateEnabled\r\n } = this.option();\r\n var selector = this._activeStateUnit;\r\n var $el = this._eventBindingTarget();\r\n active.off($el, {\r\n namespace: \"UIFeedback\",\r\n selector: selector\r\n });\r\n if (activeStateEnabled) {\r\n active.on($el, new Action(_ref3 => {\r\n var {\r\n event: event,\r\n element: element\r\n } = _ref3;\r\n return this._toggleActiveState($(element), true, event)\r\n }), new Action(_ref4 => {\r\n var {\r\n event: event,\r\n element: element\r\n } = _ref4;\r\n return this._toggleActiveState($(element), false, event)\r\n }, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }), {\r\n showTimeout: this._feedbackShowTimeout,\r\n hideTimeout: this._feedbackHideTimeout,\r\n selector: selector,\r\n namespace: \"UIFeedback\"\r\n })\r\n }\r\n },\r\n _detachFocusEvents() {\r\n var $el = this._focusEventTarget();\r\n focus.off($el, {\r\n namespace: \"\".concat(this.NAME, \"Focus\")\r\n })\r\n },\r\n _attachFocusEvents() {\r\n var $el = this._focusEventTarget();\r\n focus.on($el, e => this._focusInHandler(e), e => this._focusOutHandler(e), {\r\n namespace: \"\".concat(this.NAME, \"Focus\"),\r\n isFocusable: (index, el) => $(el).is(focusableSelector)\r\n })\r\n },\r\n _hoverStartHandler: noop,\r\n _hoverEndHandler: noop,\r\n _toggleActiveState($element, value) {\r\n this.option(\"isActive\", value);\r\n $element.toggleClass(\"dx-state-active\", value)\r\n },\r\n _updatedHover() {\r\n var hoveredElement = this._options.silent(\"hoveredElement\");\r\n this._hover(hoveredElement, hoveredElement)\r\n },\r\n _findHoverTarget($el) {\r\n return $el && $el.closest(this._activeStateUnit || this._eventBindingTarget())\r\n },\r\n _hover($el, $previous) {\r\n var {\r\n hoverStateEnabled: hoverStateEnabled,\r\n disabled: disabled,\r\n isActive: isActive\r\n } = this.option();\r\n $previous = this._findHoverTarget($previous);\r\n $previous && $previous.toggleClass(\"dx-state-hover\", false);\r\n if ($el && hoverStateEnabled && !disabled && !isActive) {\r\n var newHoveredElement = this._findHoverTarget($el);\r\n newHoveredElement && newHoveredElement.toggleClass(\"dx-state-hover\", true)\r\n }\r\n },\r\n _toggleDisabledState(value) {\r\n this.$element().toggleClass(\"dx-state-disabled\", Boolean(value));\r\n this.setAria(\"disabled\", value || void 0)\r\n },\r\n _toggleIndependentState() {\r\n this.$element().toggleClass(\"dx-state-independent\", this.option(\"ignoreParentReadOnly\"))\r\n },\r\n _setWidgetOption(widgetName, args) {\r\n if (!this[widgetName]) {\r\n return\r\n }\r\n if (isPlainObject(args[0])) {\r\n each(args[0], (option, value) => this._setWidgetOption(widgetName, [option, value]));\r\n return\r\n }\r\n var optionName = args[0];\r\n var value = args[1];\r\n if (1 === args.length) {\r\n value = this.option(optionName)\r\n }\r\n var widgetOptionMap = this[\"\".concat(widgetName, \"OptionMap\")];\r\n this[widgetName].option(widgetOptionMap ? widgetOptionMap(optionName) : optionName, value)\r\n },\r\n _optionChanged(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"disabled\":\r\n this._toggleDisabledState(value);\r\n this._updatedHover();\r\n this._refreshFocusState();\r\n break;\r\n case \"hint\":\r\n this._renderHint();\r\n break;\r\n case \"ignoreParentReadOnly\":\r\n this._toggleIndependentState();\r\n break;\r\n case \"activeStateEnabled\":\r\n this._attachFeedbackEvents();\r\n break;\r\n case \"hoverStateEnabled\":\r\n this._attachHoverEvents();\r\n this._updatedHover();\r\n break;\r\n case \"tabIndex\":\r\n case \"focusStateEnabled\":\r\n this._refreshFocusState();\r\n break;\r\n case \"onFocusIn\":\r\n case \"onFocusOut\":\r\n case \"useResizeObserver\":\r\n break;\r\n case \"accessKey\":\r\n this._renderAccessKey();\r\n break;\r\n case \"hoveredElement\":\r\n this._hover(value, previousValue);\r\n break;\r\n case \"isActive\":\r\n this._updatedHover();\r\n break;\r\n case \"visible\":\r\n this._toggleVisibility(value);\r\n if (this._isVisibilityChangeSupported()) {\r\n this._checkVisibilityChanged(value ? \"shown\" : \"hiding\")\r\n }\r\n break;\r\n case \"onKeyboardHandled\":\r\n this._attachKeyboardEvents();\r\n break;\r\n case \"onContentReady\":\r\n this._initContentReadyAction();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _isVisible() {\r\n var {\r\n visible: visible\r\n } = this.option();\r\n return this.callBase() && visible\r\n },\r\n beginUpdate() {\r\n this._ready(false);\r\n this.callBase()\r\n },\r\n endUpdate() {\r\n this.callBase();\r\n if (this._initialized) {\r\n this._ready(true)\r\n }\r\n },\r\n _ready(value) {\r\n if (0 === arguments.length) {\r\n return this._isReady\r\n }\r\n this._isReady = value\r\n },\r\n setAria() {\r\n if (!isPlainObject(arguments.length <= 0 ? void 0 : arguments[0])) {\r\n setAttribute(arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 1 ? void 0 : arguments[1], (arguments.length <= 2 ? void 0 : arguments[2]) || this._getAriaTarget())\r\n } else {\r\n var target = (arguments.length <= 1 ? void 0 : arguments[1]) || this._getAriaTarget();\r\n each(arguments.length <= 0 ? void 0 : arguments[0], (name, value) => setAttribute(name, value, target))\r\n }\r\n },\r\n isReady() {\r\n return this._ready()\r\n },\r\n repaint() {\r\n this._refresh()\r\n },\r\n focus() {\r\n focus.trigger(this._focusTarget())\r\n },\r\n registerKeyHandler(key, handler) {\r\n var currentKeys = this._supportedKeys();\r\n this._supportedKeys = () => extend(currentKeys, {\r\n [key]: handler\r\n })\r\n }\r\n});\r\nWidget.getOptionsFromContainer = _ref5 => {\r\n var {\r\n name: name,\r\n fullName: fullName,\r\n value: value\r\n } = _ref5;\r\n var options = {};\r\n if (name === fullName) {\r\n options = value\r\n } else {\r\n var option = fullName.split(\".\").pop();\r\n options[option] = value\r\n }\r\n return options\r\n};\r\nexport default Widget;\r\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Am Faoilleach',\n 'An Gearran',\n 'Am Màrt',\n 'An Giblean',\n 'An Cèitean',\n 'An t-Ògmhios',\n 'An t-Iuchar',\n 'An Lùnastal',\n 'An t-Sultain',\n 'An Dàmhair',\n 'An t-Samhain',\n 'An Dùbhlachd',\n ],\n monthsShort = [\n 'Faoi',\n 'Gear',\n 'Màrt',\n 'Gibl',\n 'Cèit',\n 'Ògmh',\n 'Iuch',\n 'Lùn',\n 'Sult',\n 'Dàmh',\n 'Samh',\n 'Dùbh',\n ],\n weekdays = [\n 'Didòmhnaich',\n 'Diluain',\n 'Dimàirt',\n 'Diciadain',\n 'Diardaoin',\n 'Dihaoine',\n 'Disathairne',\n ],\n weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gd;\n\n})));\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n directives: {\n ClickOutside,\n Resize,\n Touch,\n },\n\n provide (): object {\n return {\n isInNav: this.tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default (): string {\n return this.app ? '100vh' : '100%'\n },\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n default (): string {\n return this.app ? 'nav' : 'aside'\n },\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n value: null as unknown as PropType<any>,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.options.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('input', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n value (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this._isDestroyed && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img(props)\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [{\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n }]\n\n if (!this.touchless && !this.stateless) {\n directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n },\n } as any)\n }\n\n return directives\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n mouseenter: () => (this.isMouseover = true),\n mouseleave: () => (this.isMouseover = false),\n transitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.click = () => this.$emit('update:mini-variant', false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return this.$createElement('div', {\n staticClass: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__content',\n }, getSlot(this))\n },\n genBorder () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.value != null\n ) {\n this.isActive = this.value\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.miniVariant ? this.miniVariantWidth : this.width)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n return h(this.tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: this.genListeners(),\n }), children)\n },\n})\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","/**\r\n * DevExtreme (esm/core/element_data.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"./dom_adapter\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport MemorizedCallbacks from \"./memorized_callbacks\";\r\nvar dataMap = new WeakMap;\r\nvar strategy;\r\nexport var strategyChanging = new MemorizedCallbacks;\r\nvar beforeCleanDataFunc = function() {};\r\nvar afterCleanDataFunc = function() {};\r\nexport var setDataStrategy = function(value) {\r\n strategyChanging.fire(value);\r\n strategy = value;\r\n var cleanData = strategy.cleanData;\r\n strategy.cleanData = function(nodes) {\r\n beforeCleanDataFunc(nodes);\r\n var result = cleanData.call(this, nodes);\r\n afterCleanDataFunc(nodes);\r\n return result\r\n }\r\n};\r\nsetDataStrategy({\r\n data: function() {\r\n var element = arguments[0];\r\n var key = arguments[1];\r\n var value = arguments[2];\r\n if (!element) {\r\n return\r\n }\r\n var elementData = dataMap.get(element);\r\n if (!elementData) {\r\n elementData = {};\r\n dataMap.set(element, elementData)\r\n }\r\n if (void 0 === key) {\r\n return elementData\r\n }\r\n if (2 === arguments.length) {\r\n return elementData[key]\r\n }\r\n elementData[key] = value;\r\n return value\r\n },\r\n removeData: function(element, key) {\r\n if (!element) {\r\n return\r\n }\r\n if (void 0 === key) {\r\n dataMap.delete(element)\r\n } else {\r\n var elementData = dataMap.get(element);\r\n if (elementData) {\r\n delete elementData[key]\r\n }\r\n }\r\n },\r\n cleanData: function(elements) {\r\n for (var i = 0; i < elements.length; i++) {\r\n eventsEngine.off(elements[i]);\r\n dataMap.delete(elements[i])\r\n }\r\n }\r\n});\r\nexport function getDataStrategy() {\r\n return strategy\r\n}\r\nexport function data() {\r\n return strategy.data.apply(this, arguments)\r\n}\r\nexport function beforeCleanData(callback) {\r\n beforeCleanDataFunc = callback\r\n}\r\nexport function afterCleanData(callback) {\r\n afterCleanDataFunc = callback\r\n}\r\nexport function cleanData(nodes) {\r\n return strategy.cleanData.call(this, nodes)\r\n}\r\nexport function removeData(element, key) {\r\n return strategy.removeData.call(this, element, key)\r\n}\r\nexport function cleanDataRecursive(element, cleanSelf) {\r\n if (!domAdapter.isElementNode(element)) {\r\n return\r\n }\r\n var childElements = element.getElementsByTagName(\"*\");\r\n strategy.cleanData(childElements);\r\n if (cleanSelf) {\r\n strategy.cleanData([element])\r\n }\r\n}\r\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions, VNode } from 'vue'\n\ninterface ScrollVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value: EventListener | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n } | EventListenerObject & { options?: boolean | AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![vnode.context!._uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n if (!el._onScroll?.[vnode.context!._uid]) return\n\n const { handler, options, target = el } = el._onScroll[vnode.context!._uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[vnode.context!._uid]\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n","/**\r\n * DevExtreme (esm/core/utils/size.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isWindow,\r\n isString,\r\n isNumeric,\r\n isRenderer\r\n} from \"../utils/type\";\r\nvar window = getWindow();\r\nvar SPECIAL_HEIGHT_VALUES = [\"auto\", \"none\", \"inherit\", \"initial\"];\r\nvar getSizeByStyles = function(elementStyles, styles) {\r\n var result = 0;\r\n styles.forEach((function(style) {\r\n result += parseFloat(elementStyles[style]) || 0\r\n }));\r\n return result\r\n};\r\nexport var getElementBoxParams = function(name, elementStyles) {\r\n var beforeName = \"width\" === name ? \"Left\" : \"Top\";\r\n var afterName = \"width\" === name ? \"Right\" : \"Bottom\";\r\n return {\r\n padding: getSizeByStyles(elementStyles, [\"padding\" + beforeName, \"padding\" + afterName]),\r\n border: getSizeByStyles(elementStyles, [\"border\" + beforeName + \"Width\", \"border\" + afterName + \"Width\"]),\r\n margin: getSizeByStyles(elementStyles, [\"margin\" + beforeName, \"margin\" + afterName])\r\n }\r\n};\r\nvar getElementComputedStyle = function(element) {\r\n var _element$ownerDocumen;\r\n var view = (null === element || void 0 === element ? void 0 : null === (_element$ownerDocumen = element.ownerDocument) || void 0 === _element$ownerDocumen ? void 0 : _element$ownerDocumen.defaultView) || window;\r\n return view.getComputedStyle && view.getComputedStyle(element)\r\n};\r\nvar getCSSProperty = function(element, styles, name, defaultValue) {\r\n var _element$style;\r\n return (null === styles || void 0 === styles ? void 0 : styles[name]) || (null === (_element$style = element.style) || void 0 === _element$style ? void 0 : _element$style[name]) || defaultValue\r\n};\r\nvar boxIndices = {\r\n content: 0,\r\n padding: 1,\r\n border: 2,\r\n margin: 3,\r\n \"content-box\": 0,\r\n \"border-box\": 2\r\n};\r\nvar dimensionComponents = {\r\n width: [\"left\", \"right\"],\r\n height: [\"top\", \"bottom\"]\r\n};\r\n\r\nfunction getComponentThickness(elem, dimension, component, styles) {\r\n var get = (elem, styles, field) => parseFloat(getCSSProperty(elem, styles, field, \"0\")) || 0;\r\n var suffix = \"border\" === component ? \"-width\" : \"\";\r\n return get(elem, styles, \"\".concat(component, \"-\").concat(dimensionComponents[dimension][0]).concat(suffix)) + get(elem, styles, \"\".concat(component, \"-\").concat(dimensionComponents[dimension][1]).concat(suffix))\r\n}\r\nexport var getSize = function(element, dimension, box) {\r\n var offsetFieldName = \"width\" === dimension ? \"offsetWidth\" : \"offsetHeight\";\r\n var styles = getElementComputedStyle(element);\r\n var result = getCSSProperty(element, styles, dimension);\r\n if (\"\" === result || \"auto\" === result) {\r\n result = element[offsetFieldName]\r\n }\r\n result = parseFloat(result) || 0;\r\n var currentBox = getCSSProperty(element, styles, \"boxSizing\", \"content-box\");\r\n var targetBox = box || currentBox;\r\n var targetBoxIndex = boxIndices[targetBox];\r\n var currentBoxIndex = boxIndices[currentBox];\r\n if (void 0 === targetBoxIndex || void 0 === currentBoxIndex) {\r\n throw new Error\r\n }\r\n if (currentBoxIndex === targetBoxIndex) {\r\n return result\r\n }\r\n var coeff = Math.sign(targetBoxIndex - currentBoxIndex);\r\n var padding = false;\r\n var border = false;\r\n var margin = false;\r\n var scrollThickness = false;\r\n if (1 === coeff) {\r\n targetBoxIndex += 1;\r\n currentBoxIndex += 1\r\n }\r\n for (var boxPart = currentBoxIndex; boxPart !== targetBoxIndex; boxPart += coeff) {\r\n switch (boxPart) {\r\n case boxIndices.content:\r\n break;\r\n case boxIndices.padding:\r\n padding = coeff * getComponentThickness(element, dimension, \"padding\", styles);\r\n break;\r\n case boxIndices.border:\r\n border = coeff * getComponentThickness(element, dimension, \"border\", styles);\r\n break;\r\n case boxIndices.margin:\r\n margin = coeff * getComponentThickness(element, dimension, \"margin\", styles)\r\n }\r\n }\r\n if (padding || border) {\r\n var paddingAndBorder = (false === padding ? coeff * getComponentThickness(element, dimension, \"padding\", styles) : padding) + (false === border ? coeff * getComponentThickness(element, dimension, \"border\", styles) : border);\r\n scrollThickness = coeff * Math.max(0, Math.floor(element[offsetFieldName] - result - coeff * paddingAndBorder)) || 0\r\n }\r\n return result + margin + padding + border + scrollThickness\r\n};\r\nvar getContainerHeight = function(container) {\r\n return isWindow(container) ? container.innerHeight : container.offsetHeight\r\n};\r\nexport var parseHeight = function(value, container, element) {\r\n if (value.indexOf(\"px\") > 0) {\r\n value = parseInt(value.replace(\"px\", \"\"))\r\n } else if (value.indexOf(\"%\") > 0) {\r\n value = parseInt(value.replace(\"%\", \"\")) * getContainerHeight(container) / 100\r\n } else if (!isNaN(value)) {\r\n value = parseInt(value)\r\n } else if (value.indexOf(\"vh\") > 0) {\r\n value = window.innerHeight / 100 * parseInt(value.replace(\"vh\", \"\"))\r\n } else if (element && value.indexOf(\"em\") > 0) {\r\n value = parseFloat(value.replace(\"em\", \"\")) * parseFloat(window.getComputedStyle(element).fontSize)\r\n }\r\n return value\r\n};\r\nvar getHeightWithOffset = function(value, offset, container) {\r\n if (!value) {\r\n return null\r\n }\r\n if (SPECIAL_HEIGHT_VALUES.indexOf(value) > -1) {\r\n return offset ? null : value\r\n }\r\n if (isString(value)) {\r\n value = parseHeight(value, container)\r\n }\r\n if (isNumeric(value)) {\r\n return Math.max(0, value + offset)\r\n }\r\n var operationString = offset < 0 ? \" - \" : \" \";\r\n return \"calc(\" + value + operationString + Math.abs(offset) + \"px)\"\r\n};\r\nexport var addOffsetToMaxHeight = function(value, offset, container) {\r\n var maxHeight = getHeightWithOffset(value, offset, container);\r\n return null !== maxHeight ? maxHeight : \"none\"\r\n};\r\nexport var addOffsetToMinHeight = function(value, offset, container) {\r\n var minHeight = getHeightWithOffset(value, offset, container);\r\n return null !== minHeight ? minHeight : 0\r\n};\r\nexport var getVerticalOffsets = function(element, withMargins) {\r\n if (!element) {\r\n return 0\r\n }\r\n var boxParams = getElementBoxParams(\"height\", window.getComputedStyle(element));\r\n return boxParams.padding + boxParams.border + (withMargins ? boxParams.margin : 0)\r\n};\r\nexport var getVisibleHeight = function(element) {\r\n if (element) {\r\n var boundingClientRect = element.getBoundingClientRect();\r\n if (boundingClientRect.height) {\r\n return boundingClientRect.height\r\n }\r\n }\r\n return 0\r\n};\r\nexport var implementationsMap = {\r\n getWidth: function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return elementSizeHelper(\"width\", ...args)\r\n },\r\n setWidth: function() {\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n return elementSizeHelper(\"width\", ...args)\r\n },\r\n getHeight: function() {\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n return elementSizeHelper(\"height\", ...args)\r\n },\r\n setHeight: function() {\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n return elementSizeHelper(\"height\", ...args)\r\n },\r\n getOuterWidth: function() {\r\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\r\n args[_key5] = arguments[_key5]\r\n }\r\n return elementSizeHelper(\"outerWidth\", ...args)\r\n },\r\n setOuterWidth: function() {\r\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\r\n args[_key6] = arguments[_key6]\r\n }\r\n return elementSizeHelper(\"outerWidth\", ...args)\r\n },\r\n getOuterHeight: function() {\r\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\r\n args[_key7] = arguments[_key7]\r\n }\r\n return elementSizeHelper(\"outerHeight\", ...args)\r\n },\r\n setOuterHeight: function() {\r\n for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\r\n args[_key8] = arguments[_key8]\r\n }\r\n return elementSizeHelper(\"outerHeight\", ...args)\r\n },\r\n getInnerWidth: function() {\r\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\r\n args[_key9] = arguments[_key9]\r\n }\r\n return elementSizeHelper(\"innerWidth\", ...args)\r\n },\r\n setInnerWidth: function() {\r\n for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\r\n args[_key10] = arguments[_key10]\r\n }\r\n return elementSizeHelper(\"innerWidth\", ...args)\r\n },\r\n getInnerHeight: function() {\r\n for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {\r\n args[_key11] = arguments[_key11]\r\n }\r\n return elementSizeHelper(\"innerHeight\", ...args)\r\n },\r\n setInnerHeight: function() {\r\n for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {\r\n args[_key12] = arguments[_key12]\r\n }\r\n return elementSizeHelper(\"innerHeight\", ...args)\r\n }\r\n};\r\n\r\nfunction elementSizeHelper(sizeProperty, el, value) {\r\n return 2 === arguments.length ? elementSize(el, sizeProperty) : elementSize(el, sizeProperty, value)\r\n}\r\nexport var getWidth = el => implementationsMap.getWidth(el);\r\nexport var setWidth = (el, value) => implementationsMap.setWidth(el, value);\r\nexport var getHeight = el => implementationsMap.getHeight(el);\r\nexport var setHeight = (el, value) => implementationsMap.setHeight(el, value);\r\nexport var getOuterWidth = (el, includeMargin) => implementationsMap.getOuterWidth(el, includeMargin || false);\r\nexport var setOuterWidth = (el, value) => implementationsMap.setOuterWidth(el, value);\r\nexport var getOuterHeight = (el, includeMargin) => implementationsMap.getOuterHeight(el, includeMargin || false);\r\nexport var setOuterHeight = (el, value) => implementationsMap.setOuterHeight(el, value);\r\nexport var getInnerWidth = el => implementationsMap.getInnerWidth(el);\r\nexport var setInnerWidth = (el, value) => implementationsMap.setInnerWidth(el, value);\r\nexport var getInnerHeight = el => implementationsMap.getInnerHeight(el);\r\nexport var setInnerHeight = (el, value) => implementationsMap.setInnerHeight(el, value);\r\nvar elementSize = function elementSize(el, sizeProperty, value) {\r\n var partialName = sizeProperty.toLowerCase().indexOf(\"width\") >= 0 ? \"Width\" : \"Height\";\r\n var propName = partialName.toLowerCase();\r\n var isOuter = 0 === sizeProperty.indexOf(\"outer\");\r\n var isInner = 0 === sizeProperty.indexOf(\"inner\");\r\n var isGetter = 2 === arguments.length || \"boolean\" === typeof value;\r\n if (isRenderer(el)) {\r\n if (el.length > 1 && !isGetter) {\r\n for (var i = 0; i < el.length; i++) {\r\n elementSize(el[i], sizeProperty, value)\r\n }\r\n return\r\n }\r\n el = el[0]\r\n }\r\n if (!el) {\r\n return\r\n }\r\n if (isWindow(el)) {\r\n return isOuter ? el[\"inner\" + partialName] : domAdapter.getDocumentElement()[\"client\" + partialName]\r\n }\r\n if (domAdapter.isDocument(el)) {\r\n var documentElement = domAdapter.getDocumentElement();\r\n var body = domAdapter.getBody();\r\n return Math.max(body[\"scroll\" + partialName], body[\"offset\" + partialName], documentElement[\"scroll\" + partialName], documentElement[\"offset\" + partialName], documentElement[\"client\" + partialName])\r\n }\r\n if (isGetter) {\r\n var box = \"content\";\r\n if (isOuter) {\r\n box = value ? \"margin\" : \"border\"\r\n }\r\n if (isInner) {\r\n box = \"padding\"\r\n }\r\n return getSize(el, propName, box)\r\n }\r\n if (isNumeric(value)) {\r\n var elementStyles = getElementComputedStyle(el);\r\n var sizeAdjustment = getElementBoxParams(propName, elementStyles);\r\n var isBorderBox = \"border-box\" === elementStyles.boxSizing;\r\n value = Number(value);\r\n if (isOuter) {\r\n value -= isBorderBox ? 0 : sizeAdjustment.border + sizeAdjustment.padding\r\n } else if (isInner) {\r\n value += isBorderBox ? sizeAdjustment.border : -sizeAdjustment.padding\r\n } else if (isBorderBox) {\r\n value += sizeAdjustment.border + sizeAdjustment.padding\r\n }\r\n }\r\n value += isNumeric(value) ? \"px\" : \"\";\r\n domAdapter.setStyle(el, propName, value);\r\n return null\r\n};\r\nexport var getWindowByElement = el => isWindow(el) ? el : el.defaultView;\r\nexport var getOffset = el => {\r\n if (!el.getClientRects().length) {\r\n return {\r\n top: 0,\r\n left: 0\r\n }\r\n }\r\n var rect = el.getBoundingClientRect();\r\n var win = getWindowByElement(el.ownerDocument);\r\n var docElem = el.ownerDocument.documentElement;\r\n return {\r\n top: rect.top + win.pageYOffset - docElem.clientTop,\r\n left: rect.left + win.pageXOffset - docElem.clientLeft\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/class.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"./errors\";\r\nimport {\r\n isWindow\r\n} from \"./utils/type\";\r\nvar wrapOverridden = function(baseProto, methodName, method) {\r\n return function() {\r\n var prevCallBase = this.callBase;\r\n this.callBase = baseProto[methodName];\r\n try {\r\n return method.apply(this, arguments)\r\n } finally {\r\n this.callBase = prevCallBase\r\n }\r\n }\r\n};\r\nvar clonePrototype = function(obj) {\r\n var func = function() {};\r\n func.prototype = obj.prototype;\r\n return new func\r\n};\r\nvar redefine = function(members) {\r\n var overridden;\r\n var memberName;\r\n var member;\r\n if (!members) {\r\n return this\r\n }\r\n for (memberName in members) {\r\n member = members[memberName];\r\n overridden = \"function\" === typeof this.prototype[memberName] && \"function\" === typeof member;\r\n this.prototype[memberName] = overridden ? wrapOverridden(this.parent.prototype, memberName, member) : member\r\n }\r\n return this\r\n};\r\nvar include = function() {\r\n var classObj = this;\r\n var argument;\r\n var name;\r\n var i;\r\n var hasClassObjOwnProperty = Object.prototype.hasOwnProperty.bind(classObj);\r\n var isES6Class = !hasClassObjOwnProperty(\"_includedCtors\") && !hasClassObjOwnProperty(\"_includedPostCtors\");\r\n if (isES6Class) {\r\n classObj._includedCtors = classObj._includedCtors.slice(0);\r\n classObj._includedPostCtors = classObj._includedPostCtors.slice(0)\r\n }\r\n for (i = 0; i < arguments.length; i++) {\r\n argument = arguments[i];\r\n if (argument.ctor) {\r\n classObj._includedCtors.push(argument.ctor)\r\n }\r\n if (argument.postCtor) {\r\n classObj._includedPostCtors.push(argument.postCtor)\r\n }\r\n for (name in argument) {\r\n if (\"ctor\" === name || \"postCtor\" === name || \"default\" === name) {\r\n continue\r\n }\r\n classObj.prototype[name] = argument[name]\r\n }\r\n }\r\n return classObj\r\n};\r\nvar subclassOf = function(parentClass) {\r\n var hasParentProperty = Object.prototype.hasOwnProperty.bind(this)(\"parent\");\r\n var isES6Class = !hasParentProperty && this.parent;\r\n if (isES6Class) {\r\n var baseClass = Object.getPrototypeOf(this);\r\n return baseClass === parentClass || baseClass.subclassOf(parentClass)\r\n } else {\r\n if (this.parent === parentClass) {\r\n return true\r\n }\r\n if (!this.parent || !this.parent.subclassOf) {\r\n return false\r\n }\r\n return this.parent.subclassOf(parentClass)\r\n }\r\n};\r\nvar abstract = function() {\r\n throw errors.Error(\"E0001\")\r\n};\r\nvar copyStatic = function() {\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n return function(source, destination) {\r\n for (var key in source) {\r\n if (!hasOwn.call(source, key)) {\r\n return\r\n }\r\n destination[key] = source[key]\r\n }\r\n }\r\n}();\r\nvar classImpl = function() {};\r\nclassImpl.inherit = function(members) {\r\n var inheritor = function() {\r\n if (!this || isWindow(this) || \"function\" !== typeof this.constructor) {\r\n throw errors.Error(\"E0003\")\r\n }\r\n var instance = this;\r\n var ctor = instance.ctor;\r\n var includedCtors = instance.constructor._includedCtors;\r\n var includedPostCtors = instance.constructor._includedPostCtors;\r\n var i;\r\n for (i = 0; i < includedCtors.length; i++) {\r\n includedCtors[i].call(instance)\r\n }\r\n if (ctor) {\r\n ctor.apply(instance, arguments)\r\n }\r\n for (i = 0; i < includedPostCtors.length; i++) {\r\n includedPostCtors[i].call(instance)\r\n }\r\n };\r\n inheritor.prototype = clonePrototype(this);\r\n copyStatic(this, inheritor);\r\n inheritor.inherit = this.inherit;\r\n inheritor.abstract = abstract;\r\n inheritor.redefine = redefine;\r\n inheritor.include = include;\r\n inheritor.subclassOf = subclassOf;\r\n inheritor.parent = this;\r\n inheritor._includedCtors = this._includedCtors ? this._includedCtors.slice(0) : [];\r\n inheritor._includedPostCtors = this._includedPostCtors ? this._includedPostCtors.slice(0) : [];\r\n inheritor.prototype.constructor = inheritor;\r\n inheritor.redefine(members);\r\n return inheritor\r\n};\r\nclassImpl.abstract = abstract;\r\nexport default classImpl;\r\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^(maart|mrt\\.?)$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nl;\n\n})));\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","/**\r\n * DevExtreme (esm/events/hover.js)\r\n * Version: 23.1.12\r\n * Build date: Fri Aug 09 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n removeData,\r\n data as elementData\r\n} from \"../core/element_data\";\r\nimport Class from \"../core/class\";\r\nimport devices from \"../core/devices\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n addNamespace,\r\n isTouchEvent,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport pointerEvents from \"./pointer\";\r\nvar HOVERSTART_NAMESPACE = \"dxHoverStart\";\r\nvar HOVERSTART = \"dxhoverstart\";\r\nvar POINTERENTER_NAMESPACED_EVENT_NAME = addNamespace(pointerEvents.enter, HOVERSTART_NAMESPACE);\r\nvar HOVEREND_NAMESPACE = \"dxHoverEnd\";\r\nvar HOVEREND = \"dxhoverend\";\r\nvar POINTERLEAVE_NAMESPACED_EVENT_NAME = addNamespace(pointerEvents.leave, HOVEREND_NAMESPACE);\r\nvar Hover = Class.inherit({\r\n noBubble: true,\r\n ctor: function() {\r\n this._handlerArrayKeyPath = this._eventNamespace + \"_HandlerStore\"\r\n },\r\n setup: function(element) {\r\n elementData(element, this._handlerArrayKeyPath, {})\r\n },\r\n add: function(element, handleObj) {\r\n var that = this;\r\n var handler = function(e) {\r\n that._handler(e)\r\n };\r\n eventsEngine.on(element, this._originalEventName, handleObj.selector, handler);\r\n elementData(element, this._handlerArrayKeyPath)[handleObj.guid] = handler\r\n },\r\n _handler: function(e) {\r\n if (isTouchEvent(e) || devices.isSimulator()) {\r\n return\r\n }\r\n fireEvent({\r\n type: this._eventName,\r\n originalEvent: e,\r\n delegateTarget: e.delegateTarget\r\n })\r\n },\r\n remove: function(element, handleObj) {\r\n var handler = elementData(element, this._handlerArrayKeyPath)[handleObj.guid];\r\n eventsEngine.off(element, this._originalEventName, handleObj.selector, handler)\r\n },\r\n teardown: function(element) {\r\n removeData(element, this._handlerArrayKeyPath)\r\n }\r\n});\r\nvar HoverStart = Hover.inherit({\r\n ctor: function() {\r\n this._eventNamespace = HOVERSTART_NAMESPACE;\r\n this._eventName = HOVERSTART;\r\n this._originalEventName = POINTERENTER_NAMESPACED_EVENT_NAME;\r\n this.callBase()\r\n },\r\n _handler: function(e) {\r\n var pointers = e.pointers || [];\r\n if (!pointers.length) {\r\n this.callBase(e)\r\n }\r\n }\r\n});\r\nvar HoverEnd = Hover.inherit({\r\n ctor: function() {\r\n this._eventNamespace = HOVEREND_NAMESPACE;\r\n this._eventName = HOVEREND;\r\n this._originalEventName = POINTERLEAVE_NAMESPACED_EVENT_NAME;\r\n this.callBase()\r\n }\r\n});\r\nregisterEvent(HOVERSTART, new HoverStart);\r\nregisterEvent(HOVEREND, new HoverEnd);\r\nexport {\r\n HOVERSTART as start, HOVEREND as end\r\n};\r\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n '_'\n ),\n monthsShort:\n 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n '_'\n ),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return xPseudo;\n\n})));\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport function prevent (e: Event) {\n e.preventDefault()\n}\n\n/* @vue/component */\nexport default mixins(\n VInput,\n Rippleable,\n Comparable\n).extend({\n name: 'selectable',\n\n model: {\n prop: 'inputValue',\n event: 'change',\n },\n\n props: {\n id: String,\n inputValue: null as any,\n falseValue: null as any,\n trueValue: null as any,\n multiple: {\n type: Boolean,\n default: null,\n },\n label: String,\n },\n\n data () {\n return {\n hasColor: this.inputValue,\n lazyValue: this.inputValue,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (!this.isActive) return undefined\n if (this.color) return this.color\n if (this.isDark && !this.appIsDark) return 'white'\n return 'primary'\n },\n isMultiple (): boolean {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive (): boolean {\n const value = this.value\n const input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false\n\n return input.some(item => this.valueComparator(item, value))\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value\n ? this.valueComparator(value, input)\n : Boolean(input)\n }\n\n return this.valueComparator(input, this.trueValue)\n },\n isDirty (): boolean {\n return this.isActive\n },\n rippleState (): string | undefined {\n return !this.isDisabled && !this.validationState\n ? undefined\n : this.validationState\n },\n },\n\n watch: {\n inputValue (val) {\n this.lazyValue = val\n this.hasColor = val\n },\n },\n\n methods: {\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n label!.data!.on = {\n // Label shouldn't cause the input to focus\n click: prevent,\n }\n\n return label\n },\n genInput (type: string, attrs: object) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type,\n }, attrs),\n domProps: {\n value: this.value,\n checked: this.isActive,\n },\n on: {\n blur: this.onBlur,\n change: this.onChange,\n focus: this.onFocus,\n keydown: this.onKeydown,\n click: prevent,\n },\n ref: 'input',\n })\n },\n onClick (e: Event) {\n this.onChange()\n this.$emit('click', e)\n },\n onChange () {\n if (!this.isInteractive) return\n\n const value = this.value\n let input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = []\n }\n\n const length = input.length\n\n input = input.filter((item: any) => !this.valueComparator(item, value))\n\n if (input.length === length) {\n input.push(value)\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value\n } else {\n input = !input\n }\n\n this.validate(true, input)\n this.internalValue = input\n this.hasColor = input\n },\n onFocus (e: FocusEvent) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: FocusEvent) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n /** @abstract */\n onKeydown (e: Event) {},\n },\n})\n","// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { composedPath, getSlot } from '../../util/helpers'\n\ninterface TouchEvent {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options extends Vue {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nfunction bias (val: number) {\n const c = 0.501\n const x = Math.abs(val)\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1))\n}\n\nexport function calculateUpdatedOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean,\n currentScrollOffset: number\n): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft <= currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n}\n\nexport function calculateCenteredOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean\n): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n}\n\nexport const BaseSlideGroup = mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof BaseItemGroup,\n typeof Mobile,\n ]>\n/* eslint-enable indent */\n>(\n BaseItemGroup,\n Mobile,\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n directives: {\n Resize,\n Touch,\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'never',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n },\n\n data: () => ({\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n isSwipingHorizontal: false,\n isSwiping: false,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n canTouch (): boolean {\n return typeof window !== 'undefined'\n },\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n switch (this.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !this.isMobile\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return this.isOverflowing || Math.abs(this.scrollOffset) > 0\n\n // Always show on mobile\n case 'mobile': return (\n this.isMobile ||\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n\n // Always hide arrows\n case 'never': return false\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !this.isMobile &&\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n }\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n if (this.$vuetify.rtl) val = -val\n\n let scroll =\n val <= 0\n ? bias(-val)\n : val > this.widths.content - this.widths.wrapper\n ? -(this.widths.content - this.widths.wrapper) + bias(this.widths.content - this.widths.wrapper - val)\n : -val\n\n if (this.$vuetify.rtl) scroll = -scroll\n\n this.$refs.content.style.transform = `translateX(${scroll}px)`\n },\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n obs.observe(this.$refs.content)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n } else {\n let itemsLength = 0\n this.$on('hook:beforeUpdate', () => {\n itemsLength = (this.$refs.content?.children || []).length\n })\n this.$on('hook:updated', () => {\n if (itemsLength === (this.$refs.content?.children || []).length) return\n this.setWidths()\n })\n }\n },\n\n methods: {\n onScroll () {\n this.$refs.wrapper.scrollLeft = 0\n },\n onFocusin (e: FocusEvent) {\n if (!this.isOverflowing) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of composedPath(e)) {\n for (const vm of this.items) {\n if (vm.$el === el) {\n this.scrollOffset = calculateUpdatedOffset(\n vm.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n return\n }\n }\n }\n },\n // Always generate next for scrollable hint\n genNext (): VNode | null {\n const slot = this.$scopedSlots.next\n ? this.$scopedSlots.next({})\n : getSlot(this, 'next') || this.__cachedNext\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__next',\n class: {\n 'v-slide-group__next--disabled': !this.hasNext,\n },\n on: {\n click: () => this.onAffixClick('next'),\n },\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__content',\n ref: 'content',\n on: {\n focusin: this.onFocusin,\n },\n }, getSlot(this))\n },\n genData (): object {\n return {\n class: this.classes,\n directives: [{\n name: 'resize',\n value: this.onResize,\n }],\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return this.$createElement(VIcon, {\n props: {\n disabled: !hasAffix,\n },\n }, (this as any)[`${icon}Icon`])\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$scopedSlots.prev\n ? this.$scopedSlots.prev({})\n : getSlot(this, 'prev') || this.__cachedPrev\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__prev',\n class: {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n },\n on: {\n click: () => this.onAffixClick('prev'),\n },\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return this.$createElement(VFadeTransition, [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__wrapper',\n directives: [{\n name: 'touch',\n value: {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n },\n }],\n ref: 'wrapper',\n on: {\n scroll: this.onScroll,\n },\n }, [this.genContent()])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this._isDestroyed) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const { content } = this.$refs\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n if (!this.canTouch) return\n\n if (!this.isSwiping) {\n // only calculate disableSwipeHorizontal during the first onTouchMove invoke\n // in order to ensure disableSwipeHorizontal value is consistent between onTouchStart and onTouchEnd\n const diffX = e.touchmoveX - e.touchstartX\n const diffY = e.touchmoveY - e.touchstartY\n this.isSwipingHorizontal = Math.abs(diffX) > Math.abs(diffY)\n this.isSwiping = true\n }\n\n if (this.isSwipingHorizontal) {\n // sliding horizontally\n this.scrollOffset = this.startX - e.touchmoveX\n // temporarily disable window vertical scrolling\n document.documentElement.style.overflowY = 'hidden'\n }\n },\n onTouchEnd () {\n if (!this.canTouch) return\n\n const { content, wrapper } = this.$refs\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n\n this.isSwiping = false\n // rollback whole page scrolling to default\n document.documentElement.style.removeProperty('overflow-y')\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem && this.items.length) {\n const lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect()\n const wrapperPosition = this.$refs.wrapper.getBoundingClientRect()\n\n if (\n (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right) ||\n (!this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left)\n ) {\n this.scrollTo('prev')\n }\n }\n\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths () {\n window.requestAnimationFrame(() => {\n if (this._isDestroyed) return\n\n const { content, wrapper } = this.$refs\n\n this.widths = {\n content: content ? content.clientWidth : 0,\n wrapper: wrapper ? wrapper.clientWidth : 0,\n }\n\n // https://github.com/vuetifyjs/vuetify/issues/13212\n // We add +1 to the wrappers width to prevent an issue where the `clientWidth`\n // gets calculated wrongly by the browser if using a different zoom-level.\n this.isOverflowing = this.widths.wrapper + 1 < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (h): VNode {\n return h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ])\n },\n})\n\nexport default BaseSlideGroup.extend({\n name: 'v-slide-group',\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n","// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'\n\n// Components\nimport VTab from './VTab'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { Route } from 'vue-router'\nimport { VNode } from 'vue'\n\ntype VTabInstance = InstanceType<typeof VTab>\n\nexport default mixins(\n BaseSlideGroup,\n SSRBootable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-tabs-bar',\n\n provide () {\n return {\n tabsBar: this,\n }\n },\n\n computed: {\n classes () {\n return {\n ...BaseSlideGroup.options.computed.classes.call(this),\n 'v-tabs-bar': true,\n 'v-tabs-bar--is-mobile': this.isMobile,\n // TODO: Remove this and move to v-slide-group\n 'v-tabs-bar--show-arrows': this.showArrows,\n ...this.themeClasses,\n }\n },\n },\n\n watch: {\n items: 'callSlider',\n internalValue: 'callSlider',\n $route: 'onRouteChange',\n },\n\n methods: {\n callSlider () {\n if (!this.isBooted) return\n\n this.$emit('call:slider')\n },\n genContent () {\n const render = BaseSlideGroup.options.methods.genContent.call(this)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-tabs-bar__content'\n\n return render\n },\n onRouteChange (val: Route, oldVal: Route) {\n /* istanbul ignore next */\n if (this.mandatory) return\n\n const items = this.items as unknown as VTabInstance[]\n const newPath = val.path\n const oldPath = oldVal.path\n\n let hasNew = false\n let hasOld = false\n\n for (const item of items) {\n if (item.to === oldPath) hasOld = true\n else if (item.to === newPath) hasNew = true\n\n if (hasNew && hasOld) break\n }\n\n // If we have an old item and not a new one\n // it's assumed that the user navigated to\n // a path that is not present in the items\n if (!hasNew && hasOld) this.internalValue = undefined\n },\n },\n\n render (h): VNode {\n const render = BaseSlideGroup.options.render.call(this, h)\n\n render.data!.attrs = {\n role: 'tablist',\n }\n\n return render\n },\n})\n","// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(Colorable).extend({\n name: 'v-tabs-slider',\n\n render (h): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-tabs-slider',\n }))\n },\n})\n","// Styles\nimport './VTabs.sass'\n\n// Components\nimport VTabsBar from './VTabsBar'\nimport VTabsItems from './VTabsItems'\nimport VTabsSlider from './VTabsSlider'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Colorable,\n Proxyable,\n Themeable\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $refs: {\n items: InstanceType<typeof VTabsBar>\n }\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-tabs',\n\n directives: {\n Resize,\n },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n alignWithTitle: Boolean,\n backgroundColor: String,\n centerActive: Boolean,\n centered: Boolean,\n fixedTabs: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n iconsAndText: Boolean,\n mobileBreakpoint: [String, Number],\n nextIcon: {\n type: String,\n default: '$next',\n },\n optional: Boolean,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n right: Boolean,\n showArrows: [Boolean, String],\n sliderColor: String,\n sliderSize: {\n type: [Number, String],\n default: 2,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n resizeTimeout: 0,\n slider: {\n height: null as null | number,\n left: null as null | number,\n right: null as null | number,\n top: null as null | number,\n width: null as null | number,\n },\n transitionTime: 300,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-tabs--align-with-title': this.alignWithTitle,\n 'v-tabs--centered': this.centered,\n 'v-tabs--fixed-tabs': this.fixedTabs,\n 'v-tabs--grow': this.grow,\n 'v-tabs--icons-and-text': this.iconsAndText,\n 'v-tabs--right': this.right,\n 'v-tabs--vertical': this.vertical,\n ...this.themeClasses,\n }\n },\n isReversed (): boolean {\n return this.$vuetify.rtl && this.vertical\n },\n sliderStyles (): object {\n return {\n height: convertToUnit(this.slider.height),\n left: this.isReversed ? undefined : convertToUnit(this.slider.left),\n right: this.isReversed ? convertToUnit(this.slider.right) : undefined,\n top: this.vertical ? convertToUnit(this.slider.top) : undefined,\n transition: this.slider.left != null ? null : 'none',\n width: convertToUnit(this.slider.width),\n }\n },\n computedColor (): string {\n if (this.color) return this.color\n else if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n },\n\n watch: {\n alignWithTitle: 'callSlider',\n centered: 'callSlider',\n centerActive: 'callSlider',\n fixedTabs: 'callSlider',\n grow: 'callSlider',\n iconsAndText: 'callSlider',\n right: 'callSlider',\n showArrows: 'callSlider',\n vertical: 'callSlider',\n '$vuetify.application.left': 'onResize',\n '$vuetify.application.right': 'onResize',\n '$vuetify.rtl': 'onResize',\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n }\n\n this.$nextTick(() => {\n window.setTimeout(this.callSlider, 30)\n })\n },\n\n methods: {\n callSlider () {\n if (\n this.hideSlider ||\n !this.$refs.items ||\n !this.$refs.items.selectedItems.length\n ) {\n this.slider.width = 0\n return false\n }\n\n this.$nextTick(() => {\n // Give screen time to paint\n const activeTab = this.$refs.items.selectedItems[0]\n /* istanbul ignore if */\n if (!activeTab || !activeTab.$el) {\n this.slider.width = 0\n this.slider.left = 0\n return\n }\n const el = activeTab.$el as HTMLElement\n\n this.slider = {\n height: !this.vertical ? Number(this.sliderSize) : el.scrollHeight,\n left: this.vertical ? 0 : el.offsetLeft,\n right: this.vertical ? 0 : el.offsetLeft + el.offsetWidth,\n top: el.offsetTop,\n width: this.vertical ? Number(this.sliderSize) : el.scrollWidth,\n }\n })\n\n return true\n },\n genBar (items: VNode[], slider: VNode | null) {\n const data = {\n style: {\n height: convertToUnit(this.height),\n },\n props: {\n activeClass: this.activeClass,\n centerActive: this.centerActive,\n dark: this.dark,\n light: this.light,\n mandatory: !this.optional,\n mobileBreakpoint: this.mobileBreakpoint,\n nextIcon: this.nextIcon,\n prevIcon: this.prevIcon,\n showArrows: this.showArrows,\n value: this.internalValue,\n },\n on: {\n 'call:slider': this.callSlider,\n change: (val: any) => {\n this.internalValue = val\n },\n },\n ref: 'items',\n }\n\n this.setTextColor(this.computedColor, data)\n this.setBackgroundColor(this.backgroundColor, data)\n\n return this.$createElement(VTabsBar, data, [\n this.genSlider(slider),\n items,\n ])\n },\n genItems (items: VNode | null, item: VNode[]) {\n // If user provides items\n // opt to use theirs\n if (items) return items\n\n // If no tabs are provided\n // render nothing\n if (!item.length) return null\n\n return this.$createElement(VTabsItems, {\n props: {\n value: this.internalValue,\n },\n on: {\n change: (val: any) => {\n this.internalValue = val\n },\n },\n }, item)\n },\n genSlider (slider: VNode | null) {\n if (this.hideSlider) return null\n\n if (!slider) {\n slider = this.$createElement(VTabsSlider, {\n props: { color: this.sliderColor },\n })\n }\n\n return this.$createElement('div', {\n staticClass: 'v-tabs-slider-wrapper',\n style: this.sliderStyles,\n }, [slider])\n },\n onResize () {\n if (this._isDestroyed) return\n\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.callSlider, 0)\n },\n parseNodes () {\n let items = null\n let slider = null\n const item = []\n const tab = []\n const slot = getSlot(this) || []\n const length = slot.length\n\n for (let i = 0; i < length; i++) {\n const vnode = slot[i]\n\n if (vnode.componentOptions) {\n switch (vnode.componentOptions.Ctor.options.name) {\n case 'v-tabs-slider': slider = vnode\n break\n case 'v-tabs-items': items = vnode\n break\n case 'v-tab-item': item.push(vnode)\n break\n // case 'v-tab' - intentionally omitted\n default: tab.push(vnode)\n }\n } else {\n tab.push(vnode)\n }\n }\n\n /**\n * tab: array of `v-tab`\n * slider: single `v-tabs-slider`\n * items: single `v-tabs-items`\n * item: array of `v-tab-item`\n */\n return { tab, slider, items, item }\n },\n },\n\n render (h): VNode {\n const { tab, slider, items, item } = this.parseNodes()\n\n return h('div', {\n staticClass: 'v-tabs',\n class: this.classes,\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize,\n }],\n }, [\n this.genBar(tab, slider),\n this.genItems(items, item),\n ])\n },\n})\n","/**\n * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>\n * Build: `lodash modularize modern exports=\"npm\" -o ./npm/`\n * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <http://lodash.com/license>\n */\nvar createWrapper = require('lodash._createwrapper'),\n reNative = require('lodash._renative'),\n slice = require('lodash._slice');\n\n/**\n * Creates a function that, when called, invokes `func` with the `this`\n * binding of `thisArg` and prepends any additional `bind` arguments to those\n * provided to the bound function.\n *\n * @static\n * @memberOf _\n * @category Functions\n * @param {Function} func The function to bind.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {...*} [arg] Arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var func = function(greeting) {\n * return greeting + ' ' + this.name;\n * };\n *\n * func = _.bind(func, { 'name': 'fred' }, 'hi');\n * func();\n * // => 'hi fred'\n */\nfunction bind(func, thisArg) {\n return arguments.length > 2\n ? createWrapper(func, 17, slice(arguments, 2), null, thisArg)\n : createWrapper(func, 1, null, null, thisArg);\n}\n\nmodule.exports = bind;\n","import Vue from 'vue'\nimport { filterObjectOnKeys } from '../../util/helpers'\nimport { OptionsVue, VueConstructor } from 'vue/types/vue'\n\nconst availableProps = {\n absolute: Boolean,\n bottom: Boolean,\n fixed: Boolean,\n left: Boolean,\n right: Boolean,\n top: Boolean,\n}\ntype props = Record<keyof typeof availableProps, boolean>\n\nexport type Positionable<S extends keyof props> = VueConstructor<Vue & { [P in S]: boolean }, { [P in S]: BooleanConstructor }>\n\nexport function factory <S extends keyof props> (selected?: S[]): Positionable<S>\nexport function factory (selected: undefined): OptionsVue<Vue, {}, {}, {}, props, typeof availableProps>\nexport function factory (selected: any[] = []): any {\n return Vue.extend({\n name: 'positionable',\n props: selected.length ? filterObjectOnKeys(availableProps, selected) : availableProps,\n })\n}\n\nexport default factory()\n\n// Add a `*` before the second `/`\n/* Tests /\nlet single = factory(['top']).extend({\n created () {\n this.top\n this.bottom\n this.absolute\n }\n})\n\nlet some = factory(['top', 'bottom']).extend({\n created () {\n this.top\n this.bottom\n this.absolute\n }\n})\n\nlet all = factory().extend({\n created () {\n this.top\n this.bottom\n this.absolute\n this.foobar\n }\n})\n/**/\n","// Contracts\nimport { VuetifyServiceContract } from 'vuetify/types/services/index'\n\n// Types\nimport Vue from 'vue'\n\nexport class Service implements VuetifyServiceContract {\n framework = {}\n\n init (root: Vue, ssrContext?: object) {}\n}\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var se = moment.defineLocale('se', {\n months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n '_'\n ),\n monthsShort:\n 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays:\n 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n '_'\n ),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return se;\n\n})));\n"],"sourceRoot":""}